diff --git a/.DS_Store b/.DS_Store new file mode 100644 index 0000000..09e2252 Binary files /dev/null and b/.DS_Store differ diff --git a/cc_mcp_config.json b/cc_mcp_config.json new file mode 100644 index 0000000..2ffb747 --- /dev/null +++ b/cc_mcp_config.json @@ -0,0 +1,87 @@ +{ + "mcpServers": { + "exa-mcp-server": { + "command": "node", + "args": [ + "/Users/b.c.nims/glassBead-MASTER/Exa/market-insights/exa-mcp-server/.smithery/index.cjs" + ], + "env": { + "EXA_API_KEY": "04d84ad6-726b-450d-9274-4050b08ab052" + }, + "autoApprove": [ + "web_search_exa", + "deep_researcher_start", + "deep_researcher_check", + "linkedin_search_exa", + "crawling_exa", + "company_research_exa" + ] + }, + "firecrawl-mcp-server": { + "command": "node", + "args": [ + "/Users/b.c.nims/glassBead-MASTER/Exa/market-insights/firecrawl-mcp-server/dist/index.js" + ], + "env": { + "FIRECRAWL_API_KEY": "fc-dc828ca1c1af4897adcb3f3c42ff01d9" + }, + "autoApprove": [ + "firecrawl_search", + "firecrawl_scrape", + "firecrawl_map", + "firecrawl_crawl", + "firecrawl_check_crawl_status", + "firecrawl_deep_research", + "firecrawl_generate_llmstxt" + ] + }, + "context7-mcp": { + "command": "npx", + "args": [ + "-y", + "@smithery/cli@latest", + "run", + "@upstash/context7-mcp", + "--key", + "fe556de3-a658-4330-a3e7-563cf6a91972" + ], + "autoApprove": [ + "resolve-library-id", + "get-library-docs" + ] + }, + "smart-e2b": { + "command": "npx", + "args": [ + "-y", + "@smithery/cli@latest", + "run", + "@Leghis/smart-e2b", + "--key", + "fe556de3-a658-4330-a3e7-563cf6a91972", + "--profile", + "operational-bedbug-smw1eB" + ], + "autoApprove": [ + "executeJavaScript", + "executePython", + "uploadFile", + "listFiles", + "readFile" + ] + }, + "mem0-mcp": { + "command": "npx", + "args": [ + "-y", + "@smithery/cli@latest", + "run", + "@big-omega/mem0-mcp", + "--key", + "fe556de3-a658-4330-a3e7-563cf6a91972", + "--profile", + "operational-bedbug-smw1eB" + ] + } + } +} \ No newline at end of file diff --git a/metagames-script.md b/metagames-script.md new file mode 100644 index 0000000..da868a2 --- /dev/null +++ b/metagames-script.md @@ -0,0 +1,124 @@ +## Metagames + +### Intro + +Are you tired of Cursor turning your codebase into a can of hot dog water? Does the phrase "you're absolutely right" give you Vietnam flashbacks even though you were born after 9/11? After working with Claude Code, does p(doom) feel like an expression of hope? + +Well, put down that emotional support copy of "That Alien Message," I've got a good one for you today. Today we're going to learn about using metagames to turn open-ended problems into closed-loop processes, so Claude can tell you it sees the issue now a little less often. I'm glassBead, and this is Design Patterns in MCP. Let's get it. + + +### What are metagames? + +What are metagames? In short, metagames are processes that help AI agents execute complex, open-ended tasks like debugging and feature implementations. They help agents reduce the complexity of these problem spaces. + +I wrote the first metagame about three months ago after trying and failing many, many times to prevent Claude Code from rabbit-holing during the debugging process. Whenever Claude Code would make a change to the code that resulted in TypeScript errors, it would almost always get lost trying to fix the type errors it created instead of stepping back and trying something else. Until finally, I came up with a workflow I called Ulysses Protocol that solved the issue. Let's walk through it together to illustrate what I'm talking about. + + +### Ulysses Protocol walkthrough + +Consider a scenario where we're about to begin a debugging process for some error. Let's call the first position, the one before we've done any work, State Step 0. + + +State Step 0 + + - Make a plan for State Step 1 and State Step 2 + - Set an expectation for each State Step's outcomes + - if State Step 1 goes how we expect, the codebase state we would expect is...[] + - if State Step 1 does not go how we expect, and we move to Step 2, the codebase state we would expect is...[] + + +State Step 1 + + - Put SS1 plan into action --> + - Evaluate our outcome + - if State Step 1 outcome == expectation --> SS1 = SS0 + - if State Step 1 outcome != expectation --> SS2 + + +State Step 2 + + - Put SS2 plan into action --> + - Evaluate our outcome + - if SS2 outcome == expectation --> SS2 = SS0 + - if SS2 outcome != expectation --> PAUSE -> ORIGINAL SS0 + + +PAUSE + + - CONSIDERATION (reasoning about why our outcomes did not match expectation) + - theorize about why previous turn of 2 steps was not successful + - add an entry to state documenting the 2 steps that did not work + - make a new plan for State Step 1 and State Step 2 + - Set an expectation for each State Step's outcomes + - if State Step 1 goes how we expect, the codebase state we would expect is...[] + - if State Step 1 does not go how we expect, and we move to Step 2, the codebase state we would expect is...[] + + +CHECKPOINTS + + - are spots in the stepwise Ulysses workflow that human user/agent infer are good places to come back to if failure happens later in the workflow. + - example: after a full subtask is completed, after a stubborn bug is overcome, etc. + - these are stored in JSON state object + - agent/user can come back to these points at any time if a PAUSE is reached + +If Claude Code or Roo Code hold to this pattern, they will almost always eventually arrive at a non-failure outcome. This is because there is a finite number of possible causes for a given error in a codebase. The number of things that could be going wrong is limited. Unless the agent experiences an unrelated error at runtime, the agent *will* avoid the usual failure modes and end up at an outcome that is not failure. It will either succeed, or it will figure out that the information it needs isn't in the codebase. + + +### Anatomy of a Metagame + +Now that we've walked through a metagame, let's briefly look at the template that describes how to put a new one together. I won't spend too much time here since you can access this yourself on GitHub through the link in the description, but every metagame proceeds this way: + + - Phase 0: Initialize + - Phase 1: Discovery/Analysis + - Phase 2: Strategy/Planning + - Phase 3: Execution Loop + - Phase 4: Validation + Reporting + +There are one or more "gates" between each of the phases. You can think of these gates as the "definitions of done" for each metagame phase. + +### Metagames in Action + +Alright, we're done reviewing metagames: let's see them in action. We'll need a task to apply them to, and this project will do as well as any. In this project, I have a few MCP servers: this is the first set of sequentialthinking forks i made this past winter, and they later formed the basis for my Clear Thought server. + +[link in description: plug bit] + +(Proton) +I have an email here from Smithery that says these servers need to migrate to SHTTP by September 7th. Streamable HTTP was not a supported protocol when I made these servers in Feburary, but here in September it's become the standard, so I need to update the servers to use sHTTP transport. This is a great use for a metagame called refactoring-game. We'll be able to see everything we've talked about today in action. I also already have a spec here in the specs/ folder describing what we're going to implement. + +I think that many MCP servers would benefit from serving metagames, but metagames don't require the agent using them to support MCP at all. Because they are usually best expressed as simple descriptive markdown versus deterministic code, we can provide metagames to Claude Code as slash commands, or as workflows in Cursor, Warp, etc. + +----------------------------- +#### Arguments + +- `codebase_path` (required): Path to the codebase to refactor +- `ship_deadline` (optional): ISO 8601 deadline (default: 4 hours from now) +- `budget` (optional): Energy units for refactoring (default: 100) +- `max_iterations` (optional): Maximum refactoring rounds (default: 5) +- `confidence_threshold` (optional): Quality threshold 0-1 (default: 0.8) +- `comments` (optional): developer comments on the task +``` +------------------- + + +I'm going to use Claude Code. At .claude/commands/games/refactoring-game.md, we have our metagame. We're going to pass arguments for codebase_path, confidence_threshold which we will set to 0.97, and some developer comments that contain our spec so the agent knows what to do. Then we're going to sit back, relax, and watch the agent play the game. + +we'll run... + +```bash +claude --mcp-config cc_mcp_config.json +``` + +then, because I'm on Claude Code, I'm going to use a slash to pull up all of my slash commands. If I type in "games:ref", I'll get my refactoring game. Ignore the other two, sorry. So I'll have some quotes and include a reference to the server we're refactoring first, then setting confidence threshold to 0.97, and finally I will tell Claude: + +```bash +/games:refactoring-game " @src/analogical-reasoning/ " confidence_threshold=0.97 "the spec for what you'll be implementing is located at @specs/mcp-http-migration.md. I want to make a clarification about, and addition to, your toolkit. Starting with clarity, you are equipped with three retrieval MCP servers right now: Exa, Firecrawl, and context7. Their purposes are as follows. Use context7 when you need technical documentation (the Smithery docs, for instance). Use Firecrawl when you know a specific URL that you want to visit. Use Exa in all other cases where you would be performing retrieval. As for the addition, you have E2B configured via MCP, so you can use sandbox environments to test Python and JS/TS code before writing it into our project code." +``` + + +### Metagames MCP server + +This has been a brief overview of metagames, why they're useful, and when to use them. Before we wrap up, I've released a Metagames MCP server on Smithery that serves these games to any MCP client application. At the time of filming this video, I haven't included any notebooks yet, which are key for making the games that steal directly from operations research work for us. That'll be where we pick up in the next Design Patterns in MCP video. + +Thanks for watching: the Metagames MCP server code is linked in the description. If you liked the video, or you think you can get some use from metagames later down the line, hit the like and subscribe buttons, and follow me on X at @glassBeadDeux. + +Thanks everyone! See you next time. \ No newline at end of file diff --git a/package.json b/package.json index c1059e5..77d86ab 100644 --- a/package.json +++ b/package.json @@ -9,35 +9,14 @@ "type": "git", "url": "https://github.com/waldzellai/model-enhancement-servers.git" }, - "workspaces": [ - "src/*" - ], "files": [], - "scripts": { - "build": "npm run build --workspaces", - "watch": "npm run watch --workspaces", - "publish-all": "npm publish --workspaces --access public", - "link-all": "npm link --workspaces" - }, + "scripts": {}, "dependencies": { "@modelcontextprotocol/sdk": "^1.10.2", - "chalk": "^5.3.0", - "ioredis": "^5.4.1", - "uuid": "^9.0.1", - "yargs": "^17.7.2", - "@waldzellai/analogical-reasoning": "*", - "@waldzellai/collaborative-reasoning": "*", - "@waldzellai/decision-framework": "*", - "@waldzellai/metacognitive-monitoring": "*", - "@waldzellai/scientific-method": "*", - "@waldzellai/structured-argumentation": "*", - "@waldzellai/visual-reasoning": "*" + "chalk": "^5.3.0" }, "devDependencies": { "@types/node": "^22", - "@types/uuid": "^9.0.8", - "@types/yargs": "^17.0.32", - "shx": "^0.3.4", "typescript": "^5.3.3" } } \ No newline at end of file diff --git a/specs/mcp-http-migration.md b/specs/mcp-http-migration.md new file mode 100644 index 0000000..766bb55 --- /dev/null +++ b/specs/mcp-http-migration.md @@ -0,0 +1,164 @@ +# MCP Server HTTP Transport Migration Plan + +## Executive Summary + +This migration plan follows the Smithery Migration Guide for converting MCP servers from STDIO transport to HTTP transport using the TypeScript with Smithery CLI approach (recommended path). + +## Current State + +7 MCP servers currently using STDIO transport: +- analogical-reasoning +- collaborative-reasoning +- decision-framework +- metacognitive-monitoring +- scientific-method +- structured-argumentation +- visual-reasoning + +## Migration Approach: TypeScript with Smithery CLI + +### Why This Approach +- **RECOMMENDED** by Smithery Migration Guide +- Simplest migration path with built-in development tools +- Automatic containerization and deployment +- Minimal configuration required +- GitHub auto-deploy integration + +### Prerequisites +- Node.js 18+ installed +- GitHub repository for deployment +- Existing TypeScript MCP servers with STDIO transport + +## Required Changes Per Server + +### 1. Transform Main Entry Point + +**Current Structure** (e.g., `src/analogical-reasoning/index.ts`): +```typescript +const server = new Server(...); +const transport = new StdioServerTransport(); +await server.connect(transport); +``` + +**New Structure** - Export createServer function: +```typescript +import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js"; + +export default function createServer({ config }) { + const server = new McpServer({ + name: "server-name", + version: "0.1.0", + }); + + // Register tools here + server.registerTool(...); + + return server.server; +} +``` + +### 2. Update package.json + +Add Smithery CLI scripts and module field: +```json +{ + "module": "./src/index.ts", + "scripts": { + "build": "npx @smithery/cli build", + "dev": "npx @smithery/cli dev" + } +} +``` + +### 3. Update smithery.yaml + +Replace entire file with TypeScript runtime: +```yaml +runtime: "typescript" +``` + +## Project Structure After Migration + +``` +my-mcp-server/ +├── src/ +│ └── index.ts # Exports createServer function +├── package.json # Updated with Smithery CLI config +├── smithery.yaml # runtime: typescript +├── tsconfig.json +└── README.md +``` + +## Migration Steps + +### Phase 1: Infrastructure Setup +- [ ] Install Smithery CLI dependencies +- [ ] Create migration template based on Smithery tools +- [ ] Set up test environment + +### Phase 2: Server Migrations + +For each server: +1. Use `mcp__smithery-ai-migration-guide-mcp__create_migration_template` to generate template +2. Refactor existing tool handlers to fit new structure +3. Update package.json with required scripts +4. Generate new smithery.yaml with `mcp__smithery-ai-migration-guide-mcp__generate_smithery_yaml` +5. Validate with `mcp__smithery-ai-migration-guide-mcp__validate_package_json` +6. Test locally with `npm run dev` (interactive playground) + +### Phase 3: Deployment +1. Push changes to GitHub repository +2. Wait for auto-deploy or manually trigger from Smithery dashboard +3. Verify deployment status +4. Test deployed endpoints + +## Key Differences from STDIO + +1. **No Dockerfile needed** - Smithery CLI handles containerization +2. **Session-based configuration** - Config passed to createServer +3. **HTTP transport** - Automatic handling by Smithery +4. **Interactive dev server** - Built-in testing playground + +## Testing Strategy + +### Local Testing +- Use `npm run dev` for interactive testing +- Smithery CLI provides automatic playground + +### Integration Testing +- Test with actual MCP clients +- Verify tool registration and execution +- Validate configuration schema + +## Important Notes + +From Smithery Migration Guide: +- The 'module' field in package.json MUST point to the file that exports createServer +- Include lock files (yarn.lock/pnpm-lock.yaml) if using yarn/pnpm +- No backward compatibility needed unless supporting legacy STDIO clients +- Configuration is session-based, not environment-based + +## Validation Tools Available + +The Smithery Migration Guide MCP server provides: +- `get_migration_overview` - Overview and requirements +- `create_migration_template` - Generate server code template +- `generate_smithery_yaml` - Create configuration file +- `validate_package_json` - Ensure correct setup +- `validate_smithery_yaml` - Validate configuration + +## Success Criteria + +1. All servers successfully export createServer function +2. Local testing passes with `npm run dev` +3. Successful deployment to Smithery +4. Clients can connect via HTTP transport +5. All tools function correctly + +## Next Steps + +1. Start with pilot server (e.g., analogical-reasoning) +2. Use Smithery Migration Guide tools to generate templates +3. Test locally with Smithery CLI dev server +4. Deploy to GitHub and verify auto-deployment +5. Iterate based on learnings from pilot \ No newline at end of file diff --git a/src/analogical-reasoning/.smithery/index.cjs b/src/analogical-reasoning/.smithery/index.cjs new file mode 100644 index 0000000..5207f91 --- /dev/null +++ b/src/analogical-reasoning/.smithery/index.cjs @@ -0,0 +1,84223 @@ +"use strict"; +var __create = Object.create; +var __defProp = Object.defineProperty; +var __getOwnPropDesc = Object.getOwnPropertyDescriptor; +var __getOwnPropNames = Object.getOwnPropertyNames; +var __getProtoOf = Object.getPrototypeOf; +var __hasOwnProp = Object.prototype.hasOwnProperty; +var __esm = (fn, res) => function __init() { + return fn && (res = (0, fn[__getOwnPropNames(fn)[0]])(fn = 0)), res; +}; +var __commonJS = (cb, mod) => function __require() { + return mod || (0, cb[__getOwnPropNames(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports; +}; +var __export = (target, all) => { + for (var name in all) + __defProp(target, name, { get: all[name], enumerable: true }); +}; +var __copyProps = (to, from, except, desc) => { + if (from && typeof from === "object" || typeof from === "function") { + for (let key of __getOwnPropNames(from)) + if (!__hasOwnProp.call(to, key) && key !== except) + __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable }); + } + return to; +}; +var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps( + // If the importer is in node compatibility mode or this is not an ESM + // file that has been converted to a CommonJS file using a Babel- + // compatible transform (i.e. "__esModule" has not been set), then set + // "default" to the CommonJS "module.exports" for node compatibility. + isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target, + mod +)); +var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod); + +// node_modules/zod/v3/helpers/util.js +var util, objectUtil, ZodParsedType, getParsedType; +var init_util = __esm({ + "node_modules/zod/v3/helpers/util.js"() { + (function(util3) { + util3.assertEqual = (_) => { + }; + function assertIs(_arg) { + } + util3.assertIs = assertIs; + function assertNever(_x) { + throw new Error(); + } + util3.assertNever = assertNever; + util3.arrayToEnum = (items) => { + const obj = {}; + for (const item of items) { + obj[item] = item; + } + return obj; + }; + util3.getValidEnumValues = (obj) => { + const validKeys = util3.objectKeys(obj).filter((k) => typeof obj[obj[k]] !== "number"); + const filtered = {}; + for (const k of validKeys) { + filtered[k] = obj[k]; + } + return util3.objectValues(filtered); + }; + util3.objectValues = (obj) => { + return util3.objectKeys(obj).map(function(e) { + return obj[e]; + }); + }; + util3.objectKeys = typeof Object.keys === "function" ? (obj) => Object.keys(obj) : (object) => { + const keys = []; + for (const key in object) { + if (Object.prototype.hasOwnProperty.call(object, key)) { + keys.push(key); + } + } + return keys; + }; + util3.find = (arr, checker) => { + for (const item of arr) { + if (checker(item)) + return item; + } + return void 0; + }; + util3.isInteger = typeof Number.isInteger === "function" ? (val) => Number.isInteger(val) : (val) => typeof val === "number" && Number.isFinite(val) && Math.floor(val) === val; + function joinValues(array, separator = " | ") { + return array.map((val) => typeof val === "string" ? `'${val}'` : val).join(separator); + } + util3.joinValues = joinValues; + util3.jsonStringifyReplacer = (_, value) => { + if (typeof value === "bigint") { + return value.toString(); + } + return value; + }; + })(util || (util = {})); + (function(objectUtil3) { + objectUtil3.mergeShapes = (first, second) => { + return { + ...first, + ...second + // second overwrites first + }; + }; + })(objectUtil || (objectUtil = {})); + ZodParsedType = util.arrayToEnum([ + "string", + "nan", + "number", + "integer", + "float", + "boolean", + "date", + "bigint", + "symbol", + "function", + "undefined", + "null", + "array", + "object", + "unknown", + "promise", + "void", + "never", + "map", + "set" + ]); + getParsedType = (data) => { + const t = typeof data; + switch (t) { + case "undefined": + return ZodParsedType.undefined; + case "string": + return ZodParsedType.string; + case "number": + return Number.isNaN(data) ? ZodParsedType.nan : ZodParsedType.number; + case "boolean": + return ZodParsedType.boolean; + case "function": + return ZodParsedType.function; + case "bigint": + return ZodParsedType.bigint; + case "symbol": + return ZodParsedType.symbol; + case "object": + if (Array.isArray(data)) { + return ZodParsedType.array; + } + if (data === null) { + return ZodParsedType.null; + } + if (data.then && typeof data.then === "function" && data.catch && typeof data.catch === "function") { + return ZodParsedType.promise; + } + if (typeof Map !== "undefined" && data instanceof Map) { + return ZodParsedType.map; + } + if (typeof Set !== "undefined" && data instanceof Set) { + return ZodParsedType.set; + } + if (typeof Date !== "undefined" && data instanceof Date) { + return ZodParsedType.date; + } + return ZodParsedType.object; + default: + return ZodParsedType.unknown; + } + }; + } +}); + +// node_modules/zod/v3/ZodError.js +var ZodIssueCode, quotelessJson, ZodError; +var init_ZodError = __esm({ + "node_modules/zod/v3/ZodError.js"() { + init_util(); + ZodIssueCode = util.arrayToEnum([ + "invalid_type", + "invalid_literal", + "custom", + "invalid_union", + "invalid_union_discriminator", + "invalid_enum_value", + "unrecognized_keys", + "invalid_arguments", + "invalid_return_type", + "invalid_date", + "invalid_string", + "too_small", + "too_big", + "invalid_intersection_types", + "not_multiple_of", + "not_finite" + ]); + quotelessJson = (obj) => { + const json = JSON.stringify(obj, null, 2); + return json.replace(/"([^"]+)":/g, "$1:"); + }; + ZodError = class _ZodError2 extends Error { + get errors() { + return this.issues; + } + constructor(issues) { + super(); + this.issues = []; + this.addIssue = (sub) => { + this.issues = [...this.issues, sub]; + }; + this.addIssues = (subs = []) => { + this.issues = [...this.issues, ...subs]; + }; + const actualProto = new.target.prototype; + if (Object.setPrototypeOf) { + Object.setPrototypeOf(this, actualProto); + } else { + this.__proto__ = actualProto; + } + this.name = "ZodError"; + this.issues = issues; + } + format(_mapper) { + const mapper = _mapper || function(issue) { + return issue.message; + }; + const fieldErrors = { _errors: [] }; + const processError = (error) => { + for (const issue of error.issues) { + if (issue.code === "invalid_union") { + issue.unionErrors.map(processError); + } else if (issue.code === "invalid_return_type") { + processError(issue.returnTypeError); + } else if (issue.code === "invalid_arguments") { + processError(issue.argumentsError); + } else if (issue.path.length === 0) { + fieldErrors._errors.push(mapper(issue)); + } else { + let curr = fieldErrors; + let i = 0; + while (i < issue.path.length) { + const el = issue.path[i]; + const terminal = i === issue.path.length - 1; + if (!terminal) { + curr[el] = curr[el] || { _errors: [] }; + } else { + curr[el] = curr[el] || { _errors: [] }; + curr[el]._errors.push(mapper(issue)); + } + curr = curr[el]; + i++; + } + } + } + }; + processError(this); + return fieldErrors; + } + static assert(value) { + if (!(value instanceof _ZodError2)) { + throw new Error(`Not a ZodError: ${value}`); + } + } + toString() { + return this.message; + } + get message() { + return JSON.stringify(this.issues, util.jsonStringifyReplacer, 2); + } + get isEmpty() { + return this.issues.length === 0; + } + flatten(mapper = (issue) => issue.message) { + const fieldErrors = {}; + const formErrors = []; + for (const sub of this.issues) { + if (sub.path.length > 0) { + const firstEl = sub.path[0]; + fieldErrors[firstEl] = fieldErrors[firstEl] || []; + fieldErrors[firstEl].push(mapper(sub)); + } else { + formErrors.push(mapper(sub)); + } + } + return { formErrors, fieldErrors }; + } + get formErrors() { + return this.flatten(); + } + }; + ZodError.create = (issues) => { + const error = new ZodError(issues); + return error; + }; + } +}); + +// node_modules/zod/v3/locales/en.js +var errorMap, en_default; +var init_en = __esm({ + "node_modules/zod/v3/locales/en.js"() { + init_ZodError(); + init_util(); + errorMap = (issue, _ctx) => { + let message; + switch (issue.code) { + case ZodIssueCode.invalid_type: + if (issue.received === ZodParsedType.undefined) { + message = "Required"; + } else { + message = `Expected ${issue.expected}, received ${issue.received}`; + } + break; + case ZodIssueCode.invalid_literal: + message = `Invalid literal value, expected ${JSON.stringify(issue.expected, util.jsonStringifyReplacer)}`; + break; + case ZodIssueCode.unrecognized_keys: + message = `Unrecognized key(s) in object: ${util.joinValues(issue.keys, ", ")}`; + break; + case ZodIssueCode.invalid_union: + message = `Invalid input`; + break; + case ZodIssueCode.invalid_union_discriminator: + message = `Invalid discriminator value. Expected ${util.joinValues(issue.options)}`; + break; + case ZodIssueCode.invalid_enum_value: + message = `Invalid enum value. Expected ${util.joinValues(issue.options)}, received '${issue.received}'`; + break; + case ZodIssueCode.invalid_arguments: + message = `Invalid function arguments`; + break; + case ZodIssueCode.invalid_return_type: + message = `Invalid function return type`; + break; + case ZodIssueCode.invalid_date: + message = `Invalid date`; + break; + case ZodIssueCode.invalid_string: + if (typeof issue.validation === "object") { + if ("includes" in issue.validation) { + message = `Invalid input: must include "${issue.validation.includes}"`; + if (typeof issue.validation.position === "number") { + message = `${message} at one or more positions greater than or equal to ${issue.validation.position}`; + } + } else if ("startsWith" in issue.validation) { + message = `Invalid input: must start with "${issue.validation.startsWith}"`; + } else if ("endsWith" in issue.validation) { + message = `Invalid input: must end with "${issue.validation.endsWith}"`; + } else { + util.assertNever(issue.validation); + } + } else if (issue.validation !== "regex") { + message = `Invalid ${issue.validation}`; + } else { + message = "Invalid"; + } + break; + case ZodIssueCode.too_small: + if (issue.type === "array") + message = `Array must contain ${issue.exact ? "exactly" : issue.inclusive ? `at least` : `more than`} ${issue.minimum} element(s)`; + else if (issue.type === "string") + message = `String must contain ${issue.exact ? "exactly" : issue.inclusive ? `at least` : `over`} ${issue.minimum} character(s)`; + else if (issue.type === "number") + message = `Number must be ${issue.exact ? `exactly equal to ` : issue.inclusive ? `greater than or equal to ` : `greater than `}${issue.minimum}`; + else if (issue.type === "bigint") + message = `Number must be ${issue.exact ? `exactly equal to ` : issue.inclusive ? `greater than or equal to ` : `greater than `}${issue.minimum}`; + else if (issue.type === "date") + message = `Date must be ${issue.exact ? `exactly equal to ` : issue.inclusive ? `greater than or equal to ` : `greater than `}${new Date(Number(issue.minimum))}`; + else + message = "Invalid input"; + break; + case ZodIssueCode.too_big: + if (issue.type === "array") + message = `Array must contain ${issue.exact ? `exactly` : issue.inclusive ? `at most` : `less than`} ${issue.maximum} element(s)`; + else if (issue.type === "string") + message = `String must contain ${issue.exact ? `exactly` : issue.inclusive ? `at most` : `under`} ${issue.maximum} character(s)`; + else if (issue.type === "number") + message = `Number must be ${issue.exact ? `exactly` : issue.inclusive ? `less than or equal to` : `less than`} ${issue.maximum}`; + else if (issue.type === "bigint") + message = `BigInt must be ${issue.exact ? `exactly` : issue.inclusive ? `less than or equal to` : `less than`} ${issue.maximum}`; + else if (issue.type === "date") + message = `Date must be ${issue.exact ? `exactly` : issue.inclusive ? `smaller than or equal to` : `smaller than`} ${new Date(Number(issue.maximum))}`; + else + message = "Invalid input"; + break; + case ZodIssueCode.custom: + message = `Invalid input`; + break; + case ZodIssueCode.invalid_intersection_types: + message = `Intersection results could not be merged`; + break; + case ZodIssueCode.not_multiple_of: + message = `Number must be a multiple of ${issue.multipleOf}`; + break; + case ZodIssueCode.not_finite: + message = "Number must be finite"; + break; + default: + message = _ctx.defaultError; + util.assertNever(issue); + } + return { message }; + }; + en_default = errorMap; + } +}); + +// node_modules/zod/v3/errors.js +function setErrorMap(map) { + overrideErrorMap = map; +} +function getErrorMap() { + return overrideErrorMap; +} +var overrideErrorMap; +var init_errors = __esm({ + "node_modules/zod/v3/errors.js"() { + init_en(); + overrideErrorMap = en_default; + } +}); + +// node_modules/zod/v3/helpers/parseUtil.js +function addIssueToContext(ctx, issueData) { + const overrideMap = getErrorMap(); + const issue = makeIssue({ + issueData, + data: ctx.data, + path: ctx.path, + errorMaps: [ + ctx.common.contextualErrorMap, + // contextual error map is first priority + ctx.schemaErrorMap, + // then schema-bound map if available + overrideMap, + // then global override map + overrideMap === en_default ? void 0 : en_default + // then global default map + ].filter((x) => !!x) + }); + ctx.common.issues.push(issue); +} +var makeIssue, EMPTY_PATH, ParseStatus, INVALID, DIRTY, OK, isAborted, isDirty, isValid, isAsync; +var init_parseUtil = __esm({ + "node_modules/zod/v3/helpers/parseUtil.js"() { + init_errors(); + init_en(); + makeIssue = (params) => { + const { data, path, errorMaps, issueData } = params; + const fullPath = [...path, ...issueData.path || []]; + const fullIssue = { + ...issueData, + path: fullPath + }; + if (issueData.message !== void 0) { + return { + ...issueData, + path: fullPath, + message: issueData.message + }; + } + let errorMessage = ""; + const maps = errorMaps.filter((m) => !!m).slice().reverse(); + for (const map of maps) { + errorMessage = map(fullIssue, { data, defaultError: errorMessage }).message; + } + return { + ...issueData, + path: fullPath, + message: errorMessage + }; + }; + EMPTY_PATH = []; + ParseStatus = class _ParseStatus2 { + constructor() { + this.value = "valid"; + } + dirty() { + if (this.value === "valid") + this.value = "dirty"; + } + abort() { + if (this.value !== "aborted") + this.value = "aborted"; + } + static mergeArray(status, results) { + const arrayValue = []; + for (const s of results) { + if (s.status === "aborted") + return INVALID; + if (s.status === "dirty") + status.dirty(); + arrayValue.push(s.value); + } + return { status: status.value, value: arrayValue }; + } + static async mergeObjectAsync(status, pairs) { + const syncPairs = []; + for (const pair of pairs) { + const key = await pair.key; + const value = await pair.value; + syncPairs.push({ + key, + value + }); + } + return _ParseStatus2.mergeObjectSync(status, syncPairs); + } + static mergeObjectSync(status, pairs) { + const finalObject = {}; + for (const pair of pairs) { + const { key, value } = pair; + if (key.status === "aborted") + return INVALID; + if (value.status === "aborted") + return INVALID; + if (key.status === "dirty") + status.dirty(); + if (value.status === "dirty") + status.dirty(); + if (key.value !== "__proto__" && (typeof value.value !== "undefined" || pair.alwaysSet)) { + finalObject[key.value] = value.value; + } + } + return { status: status.value, value: finalObject }; + } + }; + INVALID = Object.freeze({ + status: "aborted" + }); + DIRTY = (value) => ({ status: "dirty", value }); + OK = (value) => ({ status: "valid", value }); + isAborted = (x) => x.status === "aborted"; + isDirty = (x) => x.status === "dirty"; + isValid = (x) => x.status === "valid"; + isAsync = (x) => typeof Promise !== "undefined" && x instanceof Promise; + } +}); + +// node_modules/zod/v3/helpers/typeAliases.js +var init_typeAliases = __esm({ + "node_modules/zod/v3/helpers/typeAliases.js"() { + } +}); + +// node_modules/zod/v3/helpers/errorUtil.js +var errorUtil; +var init_errorUtil = __esm({ + "node_modules/zod/v3/helpers/errorUtil.js"() { + (function(errorUtil3) { + errorUtil3.errToObj = (message) => typeof message === "string" ? { message } : message || {}; + errorUtil3.toString = (message) => typeof message === "string" ? message : message?.message; + })(errorUtil || (errorUtil = {})); + } +}); + +// node_modules/zod/v3/types.js +function processCreateParams(params) { + if (!params) + return {}; + const { errorMap: errorMap3, invalid_type_error, required_error, description } = params; + if (errorMap3 && (invalid_type_error || required_error)) { + throw new Error(`Can't use "invalid_type_error" or "required_error" in conjunction with custom error map.`); + } + if (errorMap3) + return { errorMap: errorMap3, description }; + const customMap = (iss, ctx) => { + const { message } = params; + if (iss.code === "invalid_enum_value") { + return { message: message ?? ctx.defaultError }; + } + if (typeof ctx.data === "undefined") { + return { message: message ?? required_error ?? ctx.defaultError }; + } + if (iss.code !== "invalid_type") + return { message: ctx.defaultError }; + return { message: message ?? invalid_type_error ?? ctx.defaultError }; + }; + return { errorMap: customMap, description }; +} +function timeRegexSource(args) { + let secondsRegexSource = `[0-5]\\d`; + if (args.precision) { + secondsRegexSource = `${secondsRegexSource}\\.\\d{${args.precision}}`; + } else if (args.precision == null) { + secondsRegexSource = `${secondsRegexSource}(\\.\\d+)?`; + } + const secondsQuantifier = args.precision ? "+" : "?"; + return `([01]\\d|2[0-3]):[0-5]\\d(:${secondsRegexSource})${secondsQuantifier}`; +} +function timeRegex(args) { + return new RegExp(`^${timeRegexSource(args)}$`); +} +function datetimeRegex(args) { + let regex = `${dateRegexSource}T${timeRegexSource(args)}`; + const opts = []; + opts.push(args.local ? `Z?` : `Z`); + if (args.offset) + opts.push(`([+-]\\d{2}:?\\d{2})`); + regex = `${regex}(${opts.join("|")})`; + return new RegExp(`^${regex}$`); +} +function isValidIP(ip, version) { + if ((version === "v4" || !version) && ipv4Regex.test(ip)) { + return true; + } + if ((version === "v6" || !version) && ipv6Regex.test(ip)) { + return true; + } + return false; +} +function isValidJWT(jwt, alg) { + if (!jwtRegex.test(jwt)) + return false; + try { + const [header] = jwt.split("."); + if (!header) + return false; + const base64 = header.replace(/-/g, "+").replace(/_/g, "/").padEnd(header.length + (4 - header.length % 4) % 4, "="); + const decoded = JSON.parse(atob(base64)); + if (typeof decoded !== "object" || decoded === null) + return false; + if ("typ" in decoded && decoded?.typ !== "JWT") + return false; + if (!decoded.alg) + return false; + if (alg && decoded.alg !== alg) + return false; + return true; + } catch { + return false; + } +} +function isValidCidr(ip, version) { + if ((version === "v4" || !version) && ipv4CidrRegex.test(ip)) { + return true; + } + if ((version === "v6" || !version) && ipv6CidrRegex.test(ip)) { + return true; + } + return false; +} +function floatSafeRemainder(val, step) { + const valDecCount = (val.toString().split(".")[1] || "").length; + const stepDecCount = (step.toString().split(".")[1] || "").length; + const decCount = valDecCount > stepDecCount ? valDecCount : stepDecCount; + const valInt = Number.parseInt(val.toFixed(decCount).replace(".", "")); + const stepInt = Number.parseInt(step.toFixed(decCount).replace(".", "")); + return valInt % stepInt / 10 ** decCount; +} +function deepPartialify(schema) { + if (schema instanceof ZodObject) { + const newShape = {}; + for (const key in schema.shape) { + const fieldSchema = schema.shape[key]; + newShape[key] = ZodOptional.create(deepPartialify(fieldSchema)); + } + return new ZodObject({ + ...schema._def, + shape: () => newShape + }); + } else if (schema instanceof ZodArray) { + return new ZodArray({ + ...schema._def, + type: deepPartialify(schema.element) + }); + } else if (schema instanceof ZodOptional) { + return ZodOptional.create(deepPartialify(schema.unwrap())); + } else if (schema instanceof ZodNullable) { + return ZodNullable.create(deepPartialify(schema.unwrap())); + } else if (schema instanceof ZodTuple) { + return ZodTuple.create(schema.items.map((item) => deepPartialify(item))); + } else { + return schema; + } +} +function mergeValues(a, b) { + const aType = getParsedType(a); + const bType = getParsedType(b); + if (a === b) { + return { valid: true, data: a }; + } else if (aType === ZodParsedType.object && bType === ZodParsedType.object) { + const bKeys = util.objectKeys(b); + const sharedKeys = util.objectKeys(a).filter((key) => bKeys.indexOf(key) !== -1); + const newObj = { ...a, ...b }; + for (const key of sharedKeys) { + const sharedValue = mergeValues(a[key], b[key]); + if (!sharedValue.valid) { + return { valid: false }; + } + newObj[key] = sharedValue.data; + } + return { valid: true, data: newObj }; + } else if (aType === ZodParsedType.array && bType === ZodParsedType.array) { + if (a.length !== b.length) { + return { valid: false }; + } + const newArray = []; + for (let index = 0; index < a.length; index++) { + const itemA = a[index]; + const itemB = b[index]; + const sharedValue = mergeValues(itemA, itemB); + if (!sharedValue.valid) { + return { valid: false }; + } + newArray.push(sharedValue.data); + } + return { valid: true, data: newArray }; + } else if (aType === ZodParsedType.date && bType === ZodParsedType.date && +a === +b) { + return { valid: true, data: a }; + } else { + return { valid: false }; + } +} +function createZodEnum(values, params) { + return new ZodEnum({ + values, + typeName: ZodFirstPartyTypeKind.ZodEnum, + ...processCreateParams(params) + }); +} +function cleanParams(params, data) { + const p = typeof params === "function" ? params(data) : typeof params === "string" ? { message: params } : params; + const p2 = typeof p === "string" ? { message: p } : p; + return p2; +} +function custom(check, _params = {}, fatal) { + if (check) + return ZodAny.create().superRefine((data, ctx) => { + const r = check(data); + if (r instanceof Promise) { + return r.then((r2) => { + if (!r2) { + const params = cleanParams(_params, data); + const _fatal = params.fatal ?? fatal ?? true; + ctx.addIssue({ code: "custom", ...params, fatal: _fatal }); + } + }); + } + if (!r) { + const params = cleanParams(_params, data); + const _fatal = params.fatal ?? fatal ?? true; + ctx.addIssue({ code: "custom", ...params, fatal: _fatal }); + } + return; + }); + return ZodAny.create(); +} +var ParseInputLazyPath, handleResult, ZodType, cuidRegex, cuid2Regex, ulidRegex, uuidRegex, nanoidRegex, jwtRegex, durationRegex, emailRegex, _emojiRegex, emojiRegex, ipv4Regex, ipv4CidrRegex, ipv6Regex, ipv6CidrRegex, base64Regex, base64urlRegex, dateRegexSource, dateRegex, ZodString, ZodNumber, ZodBigInt, ZodBoolean, ZodDate, ZodSymbol, ZodUndefined, ZodNull, ZodAny, ZodUnknown, ZodNever, ZodVoid, ZodArray, ZodObject, ZodUnion, getDiscriminator, ZodDiscriminatedUnion, ZodIntersection, ZodTuple, ZodRecord, ZodMap, ZodSet, ZodFunction, ZodLazy, ZodLiteral, ZodEnum, ZodNativeEnum, ZodPromise, ZodEffects, ZodOptional, ZodNullable, ZodDefault, ZodCatch, ZodNaN, BRAND, ZodBranded, ZodPipeline, ZodReadonly, late, ZodFirstPartyTypeKind, instanceOfType, stringType, numberType, nanType, bigIntType, booleanType, dateType, symbolType, undefinedType, nullType, anyType, unknownType, neverType, voidType, arrayType, objectType, strictObjectType, unionType, discriminatedUnionType, intersectionType, tupleType, recordType, mapType, setType, functionType, lazyType, literalType, enumType, nativeEnumType, promiseType, effectsType, optionalType, nullableType, preprocessType, pipelineType, ostring, onumber, oboolean, coerce, NEVER; +var init_types = __esm({ + "node_modules/zod/v3/types.js"() { + init_ZodError(); + init_errors(); + init_errorUtil(); + init_parseUtil(); + init_util(); + ParseInputLazyPath = class { + constructor(parent, value, path, key) { + this._cachedPath = []; + this.parent = parent; + this.data = value; + this._path = path; + this._key = key; + } + get path() { + if (!this._cachedPath.length) { + if (Array.isArray(this._key)) { + this._cachedPath.push(...this._path, ...this._key); + } else { + this._cachedPath.push(...this._path, this._key); + } + } + return this._cachedPath; + } + }; + handleResult = (ctx, result) => { + if (isValid(result)) { + return { success: true, data: result.value }; + } else { + if (!ctx.common.issues.length) { + throw new Error("Validation failed but no issues detected."); + } + return { + success: false, + get error() { + if (this._error) + return this._error; + const error = new ZodError(ctx.common.issues); + this._error = error; + return this._error; + } + }; + } + }; + ZodType = class { + get description() { + return this._def.description; + } + _getType(input) { + return getParsedType(input.data); + } + _getOrReturnCtx(input, ctx) { + return ctx || { + common: input.parent.common, + data: input.data, + parsedType: getParsedType(input.data), + schemaErrorMap: this._def.errorMap, + path: input.path, + parent: input.parent + }; + } + _processInputParams(input) { + return { + status: new ParseStatus(), + ctx: { + common: input.parent.common, + data: input.data, + parsedType: getParsedType(input.data), + schemaErrorMap: this._def.errorMap, + path: input.path, + parent: input.parent + } + }; + } + _parseSync(input) { + const result = this._parse(input); + if (isAsync(result)) { + throw new Error("Synchronous parse encountered promise."); + } + return result; + } + _parseAsync(input) { + const result = this._parse(input); + return Promise.resolve(result); + } + parse(data, params) { + const result = this.safeParse(data, params); + if (result.success) + return result.data; + throw result.error; + } + safeParse(data, params) { + const ctx = { + common: { + issues: [], + async: params?.async ?? false, + contextualErrorMap: params?.errorMap + }, + path: params?.path || [], + schemaErrorMap: this._def.errorMap, + parent: null, + data, + parsedType: getParsedType(data) + }; + const result = this._parseSync({ data, path: ctx.path, parent: ctx }); + return handleResult(ctx, result); + } + "~validate"(data) { + const ctx = { + common: { + issues: [], + async: !!this["~standard"].async + }, + path: [], + schemaErrorMap: this._def.errorMap, + parent: null, + data, + parsedType: getParsedType(data) + }; + if (!this["~standard"].async) { + try { + const result = this._parseSync({ data, path: [], parent: ctx }); + return isValid(result) ? { + value: result.value + } : { + issues: ctx.common.issues + }; + } catch (err2) { + if (err2?.message?.toLowerCase()?.includes("encountered")) { + this["~standard"].async = true; + } + ctx.common = { + issues: [], + async: true + }; + } + } + return this._parseAsync({ data, path: [], parent: ctx }).then((result) => isValid(result) ? { + value: result.value + } : { + issues: ctx.common.issues + }); + } + async parseAsync(data, params) { + const result = await this.safeParseAsync(data, params); + if (result.success) + return result.data; + throw result.error; + } + async safeParseAsync(data, params) { + const ctx = { + common: { + issues: [], + contextualErrorMap: params?.errorMap, + async: true + }, + path: params?.path || [], + schemaErrorMap: this._def.errorMap, + parent: null, + data, + parsedType: getParsedType(data) + }; + const maybeAsyncResult = this._parse({ data, path: ctx.path, parent: ctx }); + const result = await (isAsync(maybeAsyncResult) ? maybeAsyncResult : Promise.resolve(maybeAsyncResult)); + return handleResult(ctx, result); + } + refine(check, message) { + const getIssueProperties = (val) => { + if (typeof message === "string" || typeof message === "undefined") { + return { message }; + } else if (typeof message === "function") { + return message(val); + } else { + return message; + } + }; + return this._refinement((val, ctx) => { + const result = check(val); + const setError = () => ctx.addIssue({ + code: ZodIssueCode.custom, + ...getIssueProperties(val) + }); + if (typeof Promise !== "undefined" && result instanceof Promise) { + return result.then((data) => { + if (!data) { + setError(); + return false; + } else { + return true; + } + }); + } + if (!result) { + setError(); + return false; + } else { + return true; + } + }); + } + refinement(check, refinementData) { + return this._refinement((val, ctx) => { + if (!check(val)) { + ctx.addIssue(typeof refinementData === "function" ? refinementData(val, ctx) : refinementData); + return false; + } else { + return true; + } + }); + } + _refinement(refinement) { + return new ZodEffects({ + schema: this, + typeName: ZodFirstPartyTypeKind.ZodEffects, + effect: { type: "refinement", refinement } + }); + } + superRefine(refinement) { + return this._refinement(refinement); + } + constructor(def) { + this.spa = this.safeParseAsync; + this._def = def; + this.parse = this.parse.bind(this); + this.safeParse = this.safeParse.bind(this); + this.parseAsync = this.parseAsync.bind(this); + this.safeParseAsync = this.safeParseAsync.bind(this); + this.spa = this.spa.bind(this); + this.refine = this.refine.bind(this); + this.refinement = this.refinement.bind(this); + this.superRefine = this.superRefine.bind(this); + this.optional = this.optional.bind(this); + this.nullable = this.nullable.bind(this); + this.nullish = this.nullish.bind(this); + this.array = this.array.bind(this); + this.promise = this.promise.bind(this); + this.or = this.or.bind(this); + this.and = this.and.bind(this); + this.transform = this.transform.bind(this); + this.brand = this.brand.bind(this); + this.default = this.default.bind(this); + this.catch = this.catch.bind(this); + this.describe = this.describe.bind(this); + this.pipe = this.pipe.bind(this); + this.readonly = this.readonly.bind(this); + this.isNullable = this.isNullable.bind(this); + this.isOptional = this.isOptional.bind(this); + this["~standard"] = { + version: 1, + vendor: "zod", + validate: (data) => this["~validate"](data) + }; + } + optional() { + return ZodOptional.create(this, this._def); + } + nullable() { + return ZodNullable.create(this, this._def); + } + nullish() { + return this.nullable().optional(); + } + array() { + return ZodArray.create(this); + } + promise() { + return ZodPromise.create(this, this._def); + } + or(option) { + return ZodUnion.create([this, option], this._def); + } + and(incoming) { + return ZodIntersection.create(this, incoming, this._def); + } + transform(transform) { + return new ZodEffects({ + ...processCreateParams(this._def), + schema: this, + typeName: ZodFirstPartyTypeKind.ZodEffects, + effect: { type: "transform", transform } + }); + } + default(def) { + const defaultValueFunc = typeof def === "function" ? def : () => def; + return new ZodDefault({ + ...processCreateParams(this._def), + innerType: this, + defaultValue: defaultValueFunc, + typeName: ZodFirstPartyTypeKind.ZodDefault + }); + } + brand() { + return new ZodBranded({ + typeName: ZodFirstPartyTypeKind.ZodBranded, + type: this, + ...processCreateParams(this._def) + }); + } + catch(def) { + const catchValueFunc = typeof def === "function" ? def : () => def; + return new ZodCatch({ + ...processCreateParams(this._def), + innerType: this, + catchValue: catchValueFunc, + typeName: ZodFirstPartyTypeKind.ZodCatch + }); + } + describe(description) { + const This = this.constructor; + return new This({ + ...this._def, + description + }); + } + pipe(target) { + return ZodPipeline.create(this, target); + } + readonly() { + return ZodReadonly.create(this); + } + isOptional() { + return this.safeParse(void 0).success; + } + isNullable() { + return this.safeParse(null).success; + } + }; + cuidRegex = /^c[^\s-]{8,}$/i; + cuid2Regex = /^[0-9a-z]+$/; + ulidRegex = /^[0-9A-HJKMNP-TV-Z]{26}$/i; + uuidRegex = /^[0-9a-fA-F]{8}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{12}$/i; + nanoidRegex = /^[a-z0-9_-]{21}$/i; + jwtRegex = /^[A-Za-z0-9-_]+\.[A-Za-z0-9-_]+\.[A-Za-z0-9-_]*$/; + durationRegex = /^[-+]?P(?!$)(?:(?:[-+]?\d+Y)|(?:[-+]?\d+[.,]\d+Y$))?(?:(?:[-+]?\d+M)|(?:[-+]?\d+[.,]\d+M$))?(?:(?:[-+]?\d+W)|(?:[-+]?\d+[.,]\d+W$))?(?:(?:[-+]?\d+D)|(?:[-+]?\d+[.,]\d+D$))?(?:T(?=[\d+-])(?:(?:[-+]?\d+H)|(?:[-+]?\d+[.,]\d+H$))?(?:(?:[-+]?\d+M)|(?:[-+]?\d+[.,]\d+M$))?(?:[-+]?\d+(?:[.,]\d+)?S)?)??$/; + emailRegex = /^(?!\.)(?!.*\.\.)([A-Z0-9_'+\-\.]*)[A-Z0-9_+-]@([A-Z0-9][A-Z0-9\-]*\.)+[A-Z]{2,}$/i; + _emojiRegex = `^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$`; + ipv4Regex = /^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])$/; + ipv4CidrRegex = /^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\/(3[0-2]|[12]?[0-9])$/; + ipv6Regex = /^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))$/; + ipv6CidrRegex = /^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))\/(12[0-8]|1[01][0-9]|[1-9]?[0-9])$/; + base64Regex = /^([0-9a-zA-Z+/]{4})*(([0-9a-zA-Z+/]{2}==)|([0-9a-zA-Z+/]{3}=))?$/; + base64urlRegex = /^([0-9a-zA-Z-_]{4})*(([0-9a-zA-Z-_]{2}(==)?)|([0-9a-zA-Z-_]{3}(=)?))?$/; + dateRegexSource = `((\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-((0[13578]|1[02])-(0[1-9]|[12]\\d|3[01])|(0[469]|11)-(0[1-9]|[12]\\d|30)|(02)-(0[1-9]|1\\d|2[0-8])))`; + dateRegex = new RegExp(`^${dateRegexSource}$`); + ZodString = class _ZodString2 extends ZodType { + _parse(input) { + if (this._def.coerce) { + input.data = String(input.data); + } + const parsedType = this._getType(input); + if (parsedType !== ZodParsedType.string) { + const ctx2 = this._getOrReturnCtx(input); + addIssueToContext(ctx2, { + code: ZodIssueCode.invalid_type, + expected: ZodParsedType.string, + received: ctx2.parsedType + }); + return INVALID; + } + const status = new ParseStatus(); + let ctx = void 0; + for (const check of this._def.checks) { + if (check.kind === "min") { + if (input.data.length < check.value) { + ctx = this._getOrReturnCtx(input, ctx); + addIssueToContext(ctx, { + code: ZodIssueCode.too_small, + minimum: check.value, + type: "string", + inclusive: true, + exact: false, + message: check.message + }); + status.dirty(); + } + } else if (check.kind === "max") { + if (input.data.length > check.value) { + ctx = this._getOrReturnCtx(input, ctx); + addIssueToContext(ctx, { + code: ZodIssueCode.too_big, + maximum: check.value, + type: "string", + inclusive: true, + exact: false, + message: check.message + }); + status.dirty(); + } + } else if (check.kind === "length") { + const tooBig = input.data.length > check.value; + const tooSmall = input.data.length < check.value; + if (tooBig || tooSmall) { + ctx = this._getOrReturnCtx(input, ctx); + if (tooBig) { + addIssueToContext(ctx, { + code: ZodIssueCode.too_big, + maximum: check.value, + type: "string", + inclusive: true, + exact: true, + message: check.message + }); + } else if (tooSmall) { + addIssueToContext(ctx, { + code: ZodIssueCode.too_small, + minimum: check.value, + type: "string", + inclusive: true, + exact: true, + message: check.message + }); + } + status.dirty(); + } + } else if (check.kind === "email") { + if (!emailRegex.test(input.data)) { + ctx = this._getOrReturnCtx(input, ctx); + addIssueToContext(ctx, { + validation: "email", + code: ZodIssueCode.invalid_string, + message: check.message + }); + status.dirty(); + } + } else if (check.kind === "emoji") { + if (!emojiRegex) { + emojiRegex = new RegExp(_emojiRegex, "u"); + } + if (!emojiRegex.test(input.data)) { + ctx = this._getOrReturnCtx(input, ctx); + addIssueToContext(ctx, { + validation: "emoji", + code: ZodIssueCode.invalid_string, + message: check.message + }); + status.dirty(); + } + } else if (check.kind === "uuid") { + if (!uuidRegex.test(input.data)) { + ctx = this._getOrReturnCtx(input, ctx); + addIssueToContext(ctx, { + validation: "uuid", + code: ZodIssueCode.invalid_string, + message: check.message + }); + status.dirty(); + } + } else if (check.kind === "nanoid") { + if (!nanoidRegex.test(input.data)) { + ctx = this._getOrReturnCtx(input, ctx); + addIssueToContext(ctx, { + validation: "nanoid", + code: ZodIssueCode.invalid_string, + message: check.message + }); + status.dirty(); + } + } else if (check.kind === "cuid") { + if (!cuidRegex.test(input.data)) { + ctx = this._getOrReturnCtx(input, ctx); + addIssueToContext(ctx, { + validation: "cuid", + code: ZodIssueCode.invalid_string, + message: check.message + }); + status.dirty(); + } + } else if (check.kind === "cuid2") { + if (!cuid2Regex.test(input.data)) { + ctx = this._getOrReturnCtx(input, ctx); + addIssueToContext(ctx, { + validation: "cuid2", + code: ZodIssueCode.invalid_string, + message: check.message + }); + status.dirty(); + } + } else if (check.kind === "ulid") { + if (!ulidRegex.test(input.data)) { + ctx = this._getOrReturnCtx(input, ctx); + addIssueToContext(ctx, { + validation: "ulid", + code: ZodIssueCode.invalid_string, + message: check.message + }); + status.dirty(); + } + } else if (check.kind === "url") { + try { + new URL(input.data); + } catch { + ctx = this._getOrReturnCtx(input, ctx); + addIssueToContext(ctx, { + validation: "url", + code: ZodIssueCode.invalid_string, + message: check.message + }); + status.dirty(); + } + } else if (check.kind === "regex") { + check.regex.lastIndex = 0; + const testResult = check.regex.test(input.data); + if (!testResult) { + ctx = this._getOrReturnCtx(input, ctx); + addIssueToContext(ctx, { + validation: "regex", + code: ZodIssueCode.invalid_string, + message: check.message + }); + status.dirty(); + } + } else if (check.kind === "trim") { + input.data = input.data.trim(); + } else if (check.kind === "includes") { + if (!input.data.includes(check.value, check.position)) { + ctx = this._getOrReturnCtx(input, ctx); + addIssueToContext(ctx, { + code: ZodIssueCode.invalid_string, + validation: { includes: check.value, position: check.position }, + message: check.message + }); + status.dirty(); + } + } else if (check.kind === "toLowerCase") { + input.data = input.data.toLowerCase(); + } else if (check.kind === "toUpperCase") { + input.data = input.data.toUpperCase(); + } else if (check.kind === "startsWith") { + if (!input.data.startsWith(check.value)) { + ctx = this._getOrReturnCtx(input, ctx); + addIssueToContext(ctx, { + code: ZodIssueCode.invalid_string, + validation: { startsWith: check.value }, + message: check.message + }); + status.dirty(); + } + } else if (check.kind === "endsWith") { + if (!input.data.endsWith(check.value)) { + ctx = this._getOrReturnCtx(input, ctx); + addIssueToContext(ctx, { + code: ZodIssueCode.invalid_string, + validation: { endsWith: check.value }, + message: check.message + }); + status.dirty(); + } + } else if (check.kind === "datetime") { + const regex = datetimeRegex(check); + if (!regex.test(input.data)) { + ctx = this._getOrReturnCtx(input, ctx); + addIssueToContext(ctx, { + code: ZodIssueCode.invalid_string, + validation: "datetime", + message: check.message + }); + status.dirty(); + } + } else if (check.kind === "date") { + const regex = dateRegex; + if (!regex.test(input.data)) { + ctx = this._getOrReturnCtx(input, ctx); + addIssueToContext(ctx, { + code: ZodIssueCode.invalid_string, + validation: "date", + message: check.message + }); + status.dirty(); + } + } else if (check.kind === "time") { + const regex = timeRegex(check); + if (!regex.test(input.data)) { + ctx = this._getOrReturnCtx(input, ctx); + addIssueToContext(ctx, { + code: ZodIssueCode.invalid_string, + validation: "time", + message: check.message + }); + status.dirty(); + } + } else if (check.kind === "duration") { + if (!durationRegex.test(input.data)) { + ctx = this._getOrReturnCtx(input, ctx); + addIssueToContext(ctx, { + validation: "duration", + code: ZodIssueCode.invalid_string, + message: check.message + }); + status.dirty(); + } + } else if (check.kind === "ip") { + if (!isValidIP(input.data, check.version)) { + ctx = this._getOrReturnCtx(input, ctx); + addIssueToContext(ctx, { + validation: "ip", + code: ZodIssueCode.invalid_string, + message: check.message + }); + status.dirty(); + } + } else if (check.kind === "jwt") { + if (!isValidJWT(input.data, check.alg)) { + ctx = this._getOrReturnCtx(input, ctx); + addIssueToContext(ctx, { + validation: "jwt", + code: ZodIssueCode.invalid_string, + message: check.message + }); + status.dirty(); + } + } else if (check.kind === "cidr") { + if (!isValidCidr(input.data, check.version)) { + ctx = this._getOrReturnCtx(input, ctx); + addIssueToContext(ctx, { + validation: "cidr", + code: ZodIssueCode.invalid_string, + message: check.message + }); + status.dirty(); + } + } else if (check.kind === "base64") { + if (!base64Regex.test(input.data)) { + ctx = this._getOrReturnCtx(input, ctx); + addIssueToContext(ctx, { + validation: "base64", + code: ZodIssueCode.invalid_string, + message: check.message + }); + status.dirty(); + } + } else if (check.kind === "base64url") { + if (!base64urlRegex.test(input.data)) { + ctx = this._getOrReturnCtx(input, ctx); + addIssueToContext(ctx, { + validation: "base64url", + code: ZodIssueCode.invalid_string, + message: check.message + }); + status.dirty(); + } + } else { + util.assertNever(check); + } + } + return { status: status.value, value: input.data }; + } + _regex(regex, validation, message) { + return this.refinement((data) => regex.test(data), { + validation, + code: ZodIssueCode.invalid_string, + ...errorUtil.errToObj(message) + }); + } + _addCheck(check) { + return new _ZodString2({ + ...this._def, + checks: [...this._def.checks, check] + }); + } + email(message) { + return this._addCheck({ kind: "email", ...errorUtil.errToObj(message) }); + } + url(message) { + return this._addCheck({ kind: "url", ...errorUtil.errToObj(message) }); + } + emoji(message) { + return this._addCheck({ kind: "emoji", ...errorUtil.errToObj(message) }); + } + uuid(message) { + return this._addCheck({ kind: "uuid", ...errorUtil.errToObj(message) }); + } + nanoid(message) { + return this._addCheck({ kind: "nanoid", ...errorUtil.errToObj(message) }); + } + cuid(message) { + return this._addCheck({ kind: "cuid", ...errorUtil.errToObj(message) }); + } + cuid2(message) { + return this._addCheck({ kind: "cuid2", ...errorUtil.errToObj(message) }); + } + ulid(message) { + return this._addCheck({ kind: "ulid", ...errorUtil.errToObj(message) }); + } + base64(message) { + return this._addCheck({ kind: "base64", ...errorUtil.errToObj(message) }); + } + base64url(message) { + return this._addCheck({ + kind: "base64url", + ...errorUtil.errToObj(message) + }); + } + jwt(options) { + return this._addCheck({ kind: "jwt", ...errorUtil.errToObj(options) }); + } + ip(options) { + return this._addCheck({ kind: "ip", ...errorUtil.errToObj(options) }); + } + cidr(options) { + return this._addCheck({ kind: "cidr", ...errorUtil.errToObj(options) }); + } + datetime(options) { + if (typeof options === "string") { + return this._addCheck({ + kind: "datetime", + precision: null, + offset: false, + local: false, + message: options + }); + } + return this._addCheck({ + kind: "datetime", + precision: typeof options?.precision === "undefined" ? null : options?.precision, + offset: options?.offset ?? false, + local: options?.local ?? false, + ...errorUtil.errToObj(options?.message) + }); + } + date(message) { + return this._addCheck({ kind: "date", message }); + } + time(options) { + if (typeof options === "string") { + return this._addCheck({ + kind: "time", + precision: null, + message: options + }); + } + return this._addCheck({ + kind: "time", + precision: typeof options?.precision === "undefined" ? null : options?.precision, + ...errorUtil.errToObj(options?.message) + }); + } + duration(message) { + return this._addCheck({ kind: "duration", ...errorUtil.errToObj(message) }); + } + regex(regex, message) { + return this._addCheck({ + kind: "regex", + regex, + ...errorUtil.errToObj(message) + }); + } + includes(value, options) { + return this._addCheck({ + kind: "includes", + value, + position: options?.position, + ...errorUtil.errToObj(options?.message) + }); + } + startsWith(value, message) { + return this._addCheck({ + kind: "startsWith", + value, + ...errorUtil.errToObj(message) + }); + } + endsWith(value, message) { + return this._addCheck({ + kind: "endsWith", + value, + ...errorUtil.errToObj(message) + }); + } + min(minLength, message) { + return this._addCheck({ + kind: "min", + value: minLength, + ...errorUtil.errToObj(message) + }); + } + max(maxLength, message) { + return this._addCheck({ + kind: "max", + value: maxLength, + ...errorUtil.errToObj(message) + }); + } + length(len, message) { + return this._addCheck({ + kind: "length", + value: len, + ...errorUtil.errToObj(message) + }); + } + /** + * Equivalent to `.min(1)` + */ + nonempty(message) { + return this.min(1, errorUtil.errToObj(message)); + } + trim() { + return new _ZodString2({ + ...this._def, + checks: [...this._def.checks, { kind: "trim" }] + }); + } + toLowerCase() { + return new _ZodString2({ + ...this._def, + checks: [...this._def.checks, { kind: "toLowerCase" }] + }); + } + toUpperCase() { + return new _ZodString2({ + ...this._def, + checks: [...this._def.checks, { kind: "toUpperCase" }] + }); + } + get isDatetime() { + return !!this._def.checks.find((ch) => ch.kind === "datetime"); + } + get isDate() { + return !!this._def.checks.find((ch) => ch.kind === "date"); + } + get isTime() { + return !!this._def.checks.find((ch) => ch.kind === "time"); + } + get isDuration() { + return !!this._def.checks.find((ch) => ch.kind === "duration"); + } + get isEmail() { + return !!this._def.checks.find((ch) => ch.kind === "email"); + } + get isURL() { + return !!this._def.checks.find((ch) => ch.kind === "url"); + } + get isEmoji() { + return !!this._def.checks.find((ch) => ch.kind === "emoji"); + } + get isUUID() { + return !!this._def.checks.find((ch) => ch.kind === "uuid"); + } + get isNANOID() { + return !!this._def.checks.find((ch) => ch.kind === "nanoid"); + } + get isCUID() { + return !!this._def.checks.find((ch) => ch.kind === "cuid"); + } + get isCUID2() { + return !!this._def.checks.find((ch) => ch.kind === "cuid2"); + } + get isULID() { + return !!this._def.checks.find((ch) => ch.kind === "ulid"); + } + get isIP() { + return !!this._def.checks.find((ch) => ch.kind === "ip"); + } + get isCIDR() { + return !!this._def.checks.find((ch) => ch.kind === "cidr"); + } + get isBase64() { + return !!this._def.checks.find((ch) => ch.kind === "base64"); + } + get isBase64url() { + return !!this._def.checks.find((ch) => ch.kind === "base64url"); + } + get minLength() { + let min = null; + for (const ch of this._def.checks) { + if (ch.kind === "min") { + if (min === null || ch.value > min) + min = ch.value; + } + } + return min; + } + get maxLength() { + let max = null; + for (const ch of this._def.checks) { + if (ch.kind === "max") { + if (max === null || ch.value < max) + max = ch.value; + } + } + return max; + } + }; + ZodString.create = (params) => { + return new ZodString({ + checks: [], + typeName: ZodFirstPartyTypeKind.ZodString, + coerce: params?.coerce ?? false, + ...processCreateParams(params) + }); + }; + ZodNumber = class _ZodNumber2 extends ZodType { + constructor() { + super(...arguments); + this.min = this.gte; + this.max = this.lte; + this.step = this.multipleOf; + } + _parse(input) { + if (this._def.coerce) { + input.data = Number(input.data); + } + const parsedType = this._getType(input); + if (parsedType !== ZodParsedType.number) { + const ctx2 = this._getOrReturnCtx(input); + addIssueToContext(ctx2, { + code: ZodIssueCode.invalid_type, + expected: ZodParsedType.number, + received: ctx2.parsedType + }); + return INVALID; + } + let ctx = void 0; + const status = new ParseStatus(); + for (const check of this._def.checks) { + if (check.kind === "int") { + if (!util.isInteger(input.data)) { + ctx = this._getOrReturnCtx(input, ctx); + addIssueToContext(ctx, { + code: ZodIssueCode.invalid_type, + expected: "integer", + received: "float", + message: check.message + }); + status.dirty(); + } + } else if (check.kind === "min") { + const tooSmall = check.inclusive ? input.data < check.value : input.data <= check.value; + if (tooSmall) { + ctx = this._getOrReturnCtx(input, ctx); + addIssueToContext(ctx, { + code: ZodIssueCode.too_small, + minimum: check.value, + type: "number", + inclusive: check.inclusive, + exact: false, + message: check.message + }); + status.dirty(); + } + } else if (check.kind === "max") { + const tooBig = check.inclusive ? input.data > check.value : input.data >= check.value; + if (tooBig) { + ctx = this._getOrReturnCtx(input, ctx); + addIssueToContext(ctx, { + code: ZodIssueCode.too_big, + maximum: check.value, + type: "number", + inclusive: check.inclusive, + exact: false, + message: check.message + }); + status.dirty(); + } + } else if (check.kind === "multipleOf") { + if (floatSafeRemainder(input.data, check.value) !== 0) { + ctx = this._getOrReturnCtx(input, ctx); + addIssueToContext(ctx, { + code: ZodIssueCode.not_multiple_of, + multipleOf: check.value, + message: check.message + }); + status.dirty(); + } + } else if (check.kind === "finite") { + if (!Number.isFinite(input.data)) { + ctx = this._getOrReturnCtx(input, ctx); + addIssueToContext(ctx, { + code: ZodIssueCode.not_finite, + message: check.message + }); + status.dirty(); + } + } else { + util.assertNever(check); + } + } + return { status: status.value, value: input.data }; + } + gte(value, message) { + return this.setLimit("min", value, true, errorUtil.toString(message)); + } + gt(value, message) { + return this.setLimit("min", value, false, errorUtil.toString(message)); + } + lte(value, message) { + return this.setLimit("max", value, true, errorUtil.toString(message)); + } + lt(value, message) { + return this.setLimit("max", value, false, errorUtil.toString(message)); + } + setLimit(kind, value, inclusive, message) { + return new _ZodNumber2({ + ...this._def, + checks: [ + ...this._def.checks, + { + kind, + value, + inclusive, + message: errorUtil.toString(message) + } + ] + }); + } + _addCheck(check) { + return new _ZodNumber2({ + ...this._def, + checks: [...this._def.checks, check] + }); + } + int(message) { + return this._addCheck({ + kind: "int", + message: errorUtil.toString(message) + }); + } + positive(message) { + return this._addCheck({ + kind: "min", + value: 0, + inclusive: false, + message: errorUtil.toString(message) + }); + } + negative(message) { + return this._addCheck({ + kind: "max", + value: 0, + inclusive: false, + message: errorUtil.toString(message) + }); + } + nonpositive(message) { + return this._addCheck({ + kind: "max", + value: 0, + inclusive: true, + message: errorUtil.toString(message) + }); + } + nonnegative(message) { + return this._addCheck({ + kind: "min", + value: 0, + inclusive: true, + message: errorUtil.toString(message) + }); + } + multipleOf(value, message) { + return this._addCheck({ + kind: "multipleOf", + value, + message: errorUtil.toString(message) + }); + } + finite(message) { + return this._addCheck({ + kind: "finite", + message: errorUtil.toString(message) + }); + } + safe(message) { + return this._addCheck({ + kind: "min", + inclusive: true, + value: Number.MIN_SAFE_INTEGER, + message: errorUtil.toString(message) + })._addCheck({ + kind: "max", + inclusive: true, + value: Number.MAX_SAFE_INTEGER, + message: errorUtil.toString(message) + }); + } + get minValue() { + let min = null; + for (const ch of this._def.checks) { + if (ch.kind === "min") { + if (min === null || ch.value > min) + min = ch.value; + } + } + return min; + } + get maxValue() { + let max = null; + for (const ch of this._def.checks) { + if (ch.kind === "max") { + if (max === null || ch.value < max) + max = ch.value; + } + } + return max; + } + get isInt() { + return !!this._def.checks.find((ch) => ch.kind === "int" || ch.kind === "multipleOf" && util.isInteger(ch.value)); + } + get isFinite() { + let max = null; + let min = null; + for (const ch of this._def.checks) { + if (ch.kind === "finite" || ch.kind === "int" || ch.kind === "multipleOf") { + return true; + } else if (ch.kind === "min") { + if (min === null || ch.value > min) + min = ch.value; + } else if (ch.kind === "max") { + if (max === null || ch.value < max) + max = ch.value; + } + } + return Number.isFinite(min) && Number.isFinite(max); + } + }; + ZodNumber.create = (params) => { + return new ZodNumber({ + checks: [], + typeName: ZodFirstPartyTypeKind.ZodNumber, + coerce: params?.coerce || false, + ...processCreateParams(params) + }); + }; + ZodBigInt = class _ZodBigInt2 extends ZodType { + constructor() { + super(...arguments); + this.min = this.gte; + this.max = this.lte; + } + _parse(input) { + if (this._def.coerce) { + try { + input.data = BigInt(input.data); + } catch { + return this._getInvalidInput(input); + } + } + const parsedType = this._getType(input); + if (parsedType !== ZodParsedType.bigint) { + return this._getInvalidInput(input); + } + let ctx = void 0; + const status = new ParseStatus(); + for (const check of this._def.checks) { + if (check.kind === "min") { + const tooSmall = check.inclusive ? input.data < check.value : input.data <= check.value; + if (tooSmall) { + ctx = this._getOrReturnCtx(input, ctx); + addIssueToContext(ctx, { + code: ZodIssueCode.too_small, + type: "bigint", + minimum: check.value, + inclusive: check.inclusive, + message: check.message + }); + status.dirty(); + } + } else if (check.kind === "max") { + const tooBig = check.inclusive ? input.data > check.value : input.data >= check.value; + if (tooBig) { + ctx = this._getOrReturnCtx(input, ctx); + addIssueToContext(ctx, { + code: ZodIssueCode.too_big, + type: "bigint", + maximum: check.value, + inclusive: check.inclusive, + message: check.message + }); + status.dirty(); + } + } else if (check.kind === "multipleOf") { + if (input.data % check.value !== BigInt(0)) { + ctx = this._getOrReturnCtx(input, ctx); + addIssueToContext(ctx, { + code: ZodIssueCode.not_multiple_of, + multipleOf: check.value, + message: check.message + }); + status.dirty(); + } + } else { + util.assertNever(check); + } + } + return { status: status.value, value: input.data }; + } + _getInvalidInput(input) { + const ctx = this._getOrReturnCtx(input); + addIssueToContext(ctx, { + code: ZodIssueCode.invalid_type, + expected: ZodParsedType.bigint, + received: ctx.parsedType + }); + return INVALID; + } + gte(value, message) { + return this.setLimit("min", value, true, errorUtil.toString(message)); + } + gt(value, message) { + return this.setLimit("min", value, false, errorUtil.toString(message)); + } + lte(value, message) { + return this.setLimit("max", value, true, errorUtil.toString(message)); + } + lt(value, message) { + return this.setLimit("max", value, false, errorUtil.toString(message)); + } + setLimit(kind, value, inclusive, message) { + return new _ZodBigInt2({ + ...this._def, + checks: [ + ...this._def.checks, + { + kind, + value, + inclusive, + message: errorUtil.toString(message) + } + ] + }); + } + _addCheck(check) { + return new _ZodBigInt2({ + ...this._def, + checks: [...this._def.checks, check] + }); + } + positive(message) { + return this._addCheck({ + kind: "min", + value: BigInt(0), + inclusive: false, + message: errorUtil.toString(message) + }); + } + negative(message) { + return this._addCheck({ + kind: "max", + value: BigInt(0), + inclusive: false, + message: errorUtil.toString(message) + }); + } + nonpositive(message) { + return this._addCheck({ + kind: "max", + value: BigInt(0), + inclusive: true, + message: errorUtil.toString(message) + }); + } + nonnegative(message) { + return this._addCheck({ + kind: "min", + value: BigInt(0), + inclusive: true, + message: errorUtil.toString(message) + }); + } + multipleOf(value, message) { + return this._addCheck({ + kind: "multipleOf", + value, + message: errorUtil.toString(message) + }); + } + get minValue() { + let min = null; + for (const ch of this._def.checks) { + if (ch.kind === "min") { + if (min === null || ch.value > min) + min = ch.value; + } + } + return min; + } + get maxValue() { + let max = null; + for (const ch of this._def.checks) { + if (ch.kind === "max") { + if (max === null || ch.value < max) + max = ch.value; + } + } + return max; + } + }; + ZodBigInt.create = (params) => { + return new ZodBigInt({ + checks: [], + typeName: ZodFirstPartyTypeKind.ZodBigInt, + coerce: params?.coerce ?? false, + ...processCreateParams(params) + }); + }; + ZodBoolean = class extends ZodType { + _parse(input) { + if (this._def.coerce) { + input.data = Boolean(input.data); + } + const parsedType = this._getType(input); + if (parsedType !== ZodParsedType.boolean) { + const ctx = this._getOrReturnCtx(input); + addIssueToContext(ctx, { + code: ZodIssueCode.invalid_type, + expected: ZodParsedType.boolean, + received: ctx.parsedType + }); + return INVALID; + } + return OK(input.data); + } + }; + ZodBoolean.create = (params) => { + return new ZodBoolean({ + typeName: ZodFirstPartyTypeKind.ZodBoolean, + coerce: params?.coerce || false, + ...processCreateParams(params) + }); + }; + ZodDate = class _ZodDate2 extends ZodType { + _parse(input) { + if (this._def.coerce) { + input.data = new Date(input.data); + } + const parsedType = this._getType(input); + if (parsedType !== ZodParsedType.date) { + const ctx2 = this._getOrReturnCtx(input); + addIssueToContext(ctx2, { + code: ZodIssueCode.invalid_type, + expected: ZodParsedType.date, + received: ctx2.parsedType + }); + return INVALID; + } + if (Number.isNaN(input.data.getTime())) { + const ctx2 = this._getOrReturnCtx(input); + addIssueToContext(ctx2, { + code: ZodIssueCode.invalid_date + }); + return INVALID; + } + const status = new ParseStatus(); + let ctx = void 0; + for (const check of this._def.checks) { + if (check.kind === "min") { + if (input.data.getTime() < check.value) { + ctx = this._getOrReturnCtx(input, ctx); + addIssueToContext(ctx, { + code: ZodIssueCode.too_small, + message: check.message, + inclusive: true, + exact: false, + minimum: check.value, + type: "date" + }); + status.dirty(); + } + } else if (check.kind === "max") { + if (input.data.getTime() > check.value) { + ctx = this._getOrReturnCtx(input, ctx); + addIssueToContext(ctx, { + code: ZodIssueCode.too_big, + message: check.message, + inclusive: true, + exact: false, + maximum: check.value, + type: "date" + }); + status.dirty(); + } + } else { + util.assertNever(check); + } + } + return { + status: status.value, + value: new Date(input.data.getTime()) + }; + } + _addCheck(check) { + return new _ZodDate2({ + ...this._def, + checks: [...this._def.checks, check] + }); + } + min(minDate, message) { + return this._addCheck({ + kind: "min", + value: minDate.getTime(), + message: errorUtil.toString(message) + }); + } + max(maxDate, message) { + return this._addCheck({ + kind: "max", + value: maxDate.getTime(), + message: errorUtil.toString(message) + }); + } + get minDate() { + let min = null; + for (const ch of this._def.checks) { + if (ch.kind === "min") { + if (min === null || ch.value > min) + min = ch.value; + } + } + return min != null ? new Date(min) : null; + } + get maxDate() { + let max = null; + for (const ch of this._def.checks) { + if (ch.kind === "max") { + if (max === null || ch.value < max) + max = ch.value; + } + } + return max != null ? new Date(max) : null; + } + }; + ZodDate.create = (params) => { + return new ZodDate({ + checks: [], + coerce: params?.coerce || false, + typeName: ZodFirstPartyTypeKind.ZodDate, + ...processCreateParams(params) + }); + }; + ZodSymbol = class extends ZodType { + _parse(input) { + const parsedType = this._getType(input); + if (parsedType !== ZodParsedType.symbol) { + const ctx = this._getOrReturnCtx(input); + addIssueToContext(ctx, { + code: ZodIssueCode.invalid_type, + expected: ZodParsedType.symbol, + received: ctx.parsedType + }); + return INVALID; + } + return OK(input.data); + } + }; + ZodSymbol.create = (params) => { + return new ZodSymbol({ + typeName: ZodFirstPartyTypeKind.ZodSymbol, + ...processCreateParams(params) + }); + }; + ZodUndefined = class extends ZodType { + _parse(input) { + const parsedType = this._getType(input); + if (parsedType !== ZodParsedType.undefined) { + const ctx = this._getOrReturnCtx(input); + addIssueToContext(ctx, { + code: ZodIssueCode.invalid_type, + expected: ZodParsedType.undefined, + received: ctx.parsedType + }); + return INVALID; + } + return OK(input.data); + } + }; + ZodUndefined.create = (params) => { + return new ZodUndefined({ + typeName: ZodFirstPartyTypeKind.ZodUndefined, + ...processCreateParams(params) + }); + }; + ZodNull = class extends ZodType { + _parse(input) { + const parsedType = this._getType(input); + if (parsedType !== ZodParsedType.null) { + const ctx = this._getOrReturnCtx(input); + addIssueToContext(ctx, { + code: ZodIssueCode.invalid_type, + expected: ZodParsedType.null, + received: ctx.parsedType + }); + return INVALID; + } + return OK(input.data); + } + }; + ZodNull.create = (params) => { + return new ZodNull({ + typeName: ZodFirstPartyTypeKind.ZodNull, + ...processCreateParams(params) + }); + }; + ZodAny = class extends ZodType { + constructor() { + super(...arguments); + this._any = true; + } + _parse(input) { + return OK(input.data); + } + }; + ZodAny.create = (params) => { + return new ZodAny({ + typeName: ZodFirstPartyTypeKind.ZodAny, + ...processCreateParams(params) + }); + }; + ZodUnknown = class extends ZodType { + constructor() { + super(...arguments); + this._unknown = true; + } + _parse(input) { + return OK(input.data); + } + }; + ZodUnknown.create = (params) => { + return new ZodUnknown({ + typeName: ZodFirstPartyTypeKind.ZodUnknown, + ...processCreateParams(params) + }); + }; + ZodNever = class extends ZodType { + _parse(input) { + const ctx = this._getOrReturnCtx(input); + addIssueToContext(ctx, { + code: ZodIssueCode.invalid_type, + expected: ZodParsedType.never, + received: ctx.parsedType + }); + return INVALID; + } + }; + ZodNever.create = (params) => { + return new ZodNever({ + typeName: ZodFirstPartyTypeKind.ZodNever, + ...processCreateParams(params) + }); + }; + ZodVoid = class extends ZodType { + _parse(input) { + const parsedType = this._getType(input); + if (parsedType !== ZodParsedType.undefined) { + const ctx = this._getOrReturnCtx(input); + addIssueToContext(ctx, { + code: ZodIssueCode.invalid_type, + expected: ZodParsedType.void, + received: ctx.parsedType + }); + return INVALID; + } + return OK(input.data); + } + }; + ZodVoid.create = (params) => { + return new ZodVoid({ + typeName: ZodFirstPartyTypeKind.ZodVoid, + ...processCreateParams(params) + }); + }; + ZodArray = class _ZodArray2 extends ZodType { + _parse(input) { + const { ctx, status } = this._processInputParams(input); + const def = this._def; + if (ctx.parsedType !== ZodParsedType.array) { + addIssueToContext(ctx, { + code: ZodIssueCode.invalid_type, + expected: ZodParsedType.array, + received: ctx.parsedType + }); + return INVALID; + } + if (def.exactLength !== null) { + const tooBig = ctx.data.length > def.exactLength.value; + const tooSmall = ctx.data.length < def.exactLength.value; + if (tooBig || tooSmall) { + addIssueToContext(ctx, { + code: tooBig ? ZodIssueCode.too_big : ZodIssueCode.too_small, + minimum: tooSmall ? def.exactLength.value : void 0, + maximum: tooBig ? def.exactLength.value : void 0, + type: "array", + inclusive: true, + exact: true, + message: def.exactLength.message + }); + status.dirty(); + } + } + if (def.minLength !== null) { + if (ctx.data.length < def.minLength.value) { + addIssueToContext(ctx, { + code: ZodIssueCode.too_small, + minimum: def.minLength.value, + type: "array", + inclusive: true, + exact: false, + message: def.minLength.message + }); + status.dirty(); + } + } + if (def.maxLength !== null) { + if (ctx.data.length > def.maxLength.value) { + addIssueToContext(ctx, { + code: ZodIssueCode.too_big, + maximum: def.maxLength.value, + type: "array", + inclusive: true, + exact: false, + message: def.maxLength.message + }); + status.dirty(); + } + } + if (ctx.common.async) { + return Promise.all([...ctx.data].map((item, i) => { + return def.type._parseAsync(new ParseInputLazyPath(ctx, item, ctx.path, i)); + })).then((result2) => { + return ParseStatus.mergeArray(status, result2); + }); + } + const result = [...ctx.data].map((item, i) => { + return def.type._parseSync(new ParseInputLazyPath(ctx, item, ctx.path, i)); + }); + return ParseStatus.mergeArray(status, result); + } + get element() { + return this._def.type; + } + min(minLength, message) { + return new _ZodArray2({ + ...this._def, + minLength: { value: minLength, message: errorUtil.toString(message) } + }); + } + max(maxLength, message) { + return new _ZodArray2({ + ...this._def, + maxLength: { value: maxLength, message: errorUtil.toString(message) } + }); + } + length(len, message) { + return new _ZodArray2({ + ...this._def, + exactLength: { value: len, message: errorUtil.toString(message) } + }); + } + nonempty(message) { + return this.min(1, message); + } + }; + ZodArray.create = (schema, params) => { + return new ZodArray({ + type: schema, + minLength: null, + maxLength: null, + exactLength: null, + typeName: ZodFirstPartyTypeKind.ZodArray, + ...processCreateParams(params) + }); + }; + ZodObject = class _ZodObject2 extends ZodType { + constructor() { + super(...arguments); + this._cached = null; + this.nonstrict = this.passthrough; + this.augment = this.extend; + } + _getCached() { + if (this._cached !== null) + return this._cached; + const shape = this._def.shape(); + const keys = util.objectKeys(shape); + this._cached = { shape, keys }; + return this._cached; + } + _parse(input) { + const parsedType = this._getType(input); + if (parsedType !== ZodParsedType.object) { + const ctx2 = this._getOrReturnCtx(input); + addIssueToContext(ctx2, { + code: ZodIssueCode.invalid_type, + expected: ZodParsedType.object, + received: ctx2.parsedType + }); + return INVALID; + } + const { status, ctx } = this._processInputParams(input); + const { shape, keys: shapeKeys } = this._getCached(); + const extraKeys = []; + if (!(this._def.catchall instanceof ZodNever && this._def.unknownKeys === "strip")) { + for (const key in ctx.data) { + if (!shapeKeys.includes(key)) { + extraKeys.push(key); + } + } + } + const pairs = []; + for (const key of shapeKeys) { + const keyValidator = shape[key]; + const value = ctx.data[key]; + pairs.push({ + key: { status: "valid", value: key }, + value: keyValidator._parse(new ParseInputLazyPath(ctx, value, ctx.path, key)), + alwaysSet: key in ctx.data + }); + } + if (this._def.catchall instanceof ZodNever) { + const unknownKeys = this._def.unknownKeys; + if (unknownKeys === "passthrough") { + for (const key of extraKeys) { + pairs.push({ + key: { status: "valid", value: key }, + value: { status: "valid", value: ctx.data[key] } + }); + } + } else if (unknownKeys === "strict") { + if (extraKeys.length > 0) { + addIssueToContext(ctx, { + code: ZodIssueCode.unrecognized_keys, + keys: extraKeys + }); + status.dirty(); + } + } else if (unknownKeys === "strip") { + } else { + throw new Error(`Internal ZodObject error: invalid unknownKeys value.`); + } + } else { + const catchall = this._def.catchall; + for (const key of extraKeys) { + const value = ctx.data[key]; + pairs.push({ + key: { status: "valid", value: key }, + value: catchall._parse( + new ParseInputLazyPath(ctx, value, ctx.path, key) + //, ctx.child(key), value, getParsedType(value) + ), + alwaysSet: key in ctx.data + }); + } + } + if (ctx.common.async) { + return Promise.resolve().then(async () => { + const syncPairs = []; + for (const pair of pairs) { + const key = await pair.key; + const value = await pair.value; + syncPairs.push({ + key, + value, + alwaysSet: pair.alwaysSet + }); + } + return syncPairs; + }).then((syncPairs) => { + return ParseStatus.mergeObjectSync(status, syncPairs); + }); + } else { + return ParseStatus.mergeObjectSync(status, pairs); + } + } + get shape() { + return this._def.shape(); + } + strict(message) { + errorUtil.errToObj; + return new _ZodObject2({ + ...this._def, + unknownKeys: "strict", + ...message !== void 0 ? { + errorMap: (issue, ctx) => { + const defaultError = this._def.errorMap?.(issue, ctx).message ?? ctx.defaultError; + if (issue.code === "unrecognized_keys") + return { + message: errorUtil.errToObj(message).message ?? defaultError + }; + return { + message: defaultError + }; + } + } : {} + }); + } + strip() { + return new _ZodObject2({ + ...this._def, + unknownKeys: "strip" + }); + } + passthrough() { + return new _ZodObject2({ + ...this._def, + unknownKeys: "passthrough" + }); + } + // const AugmentFactory = + // (def: Def) => + // ( + // augmentation: Augmentation + // ): ZodObject< + // extendShape, Augmentation>, + // Def["unknownKeys"], + // Def["catchall"] + // > => { + // return new ZodObject({ + // ...def, + // shape: () => ({ + // ...def.shape(), + // ...augmentation, + // }), + // }) as any; + // }; + extend(augmentation) { + return new _ZodObject2({ + ...this._def, + shape: () => ({ + ...this._def.shape(), + ...augmentation + }) + }); + } + /** + * Prior to zod@1.0.12 there was a bug in the + * inferred type of merged objects. Please + * upgrade if you are experiencing issues. + */ + merge(merging) { + const merged = new _ZodObject2({ + unknownKeys: merging._def.unknownKeys, + catchall: merging._def.catchall, + shape: () => ({ + ...this._def.shape(), + ...merging._def.shape() + }), + typeName: ZodFirstPartyTypeKind.ZodObject + }); + return merged; + } + // merge< + // Incoming extends AnyZodObject, + // Augmentation extends Incoming["shape"], + // NewOutput extends { + // [k in keyof Augmentation | keyof Output]: k extends keyof Augmentation + // ? Augmentation[k]["_output"] + // : k extends keyof Output + // ? Output[k] + // : never; + // }, + // NewInput extends { + // [k in keyof Augmentation | keyof Input]: k extends keyof Augmentation + // ? Augmentation[k]["_input"] + // : k extends keyof Input + // ? Input[k] + // : never; + // } + // >( + // merging: Incoming + // ): ZodObject< + // extendShape>, + // Incoming["_def"]["unknownKeys"], + // Incoming["_def"]["catchall"], + // NewOutput, + // NewInput + // > { + // const merged: any = new ZodObject({ + // unknownKeys: merging._def.unknownKeys, + // catchall: merging._def.catchall, + // shape: () => + // objectUtil.mergeShapes(this._def.shape(), merging._def.shape()), + // typeName: ZodFirstPartyTypeKind.ZodObject, + // }) as any; + // return merged; + // } + setKey(key, schema) { + return this.augment({ [key]: schema }); + } + // merge( + // merging: Incoming + // ): //ZodObject = (merging) => { + // ZodObject< + // extendShape>, + // Incoming["_def"]["unknownKeys"], + // Incoming["_def"]["catchall"] + // > { + // // const mergedShape = objectUtil.mergeShapes( + // // this._def.shape(), + // // merging._def.shape() + // // ); + // const merged: any = new ZodObject({ + // unknownKeys: merging._def.unknownKeys, + // catchall: merging._def.catchall, + // shape: () => + // objectUtil.mergeShapes(this._def.shape(), merging._def.shape()), + // typeName: ZodFirstPartyTypeKind.ZodObject, + // }) as any; + // return merged; + // } + catchall(index) { + return new _ZodObject2({ + ...this._def, + catchall: index + }); + } + pick(mask) { + const shape = {}; + for (const key of util.objectKeys(mask)) { + if (mask[key] && this.shape[key]) { + shape[key] = this.shape[key]; + } + } + return new _ZodObject2({ + ...this._def, + shape: () => shape + }); + } + omit(mask) { + const shape = {}; + for (const key of util.objectKeys(this.shape)) { + if (!mask[key]) { + shape[key] = this.shape[key]; + } + } + return new _ZodObject2({ + ...this._def, + shape: () => shape + }); + } + /** + * @deprecated + */ + deepPartial() { + return deepPartialify(this); + } + partial(mask) { + const newShape = {}; + for (const key of util.objectKeys(this.shape)) { + const fieldSchema = this.shape[key]; + if (mask && !mask[key]) { + newShape[key] = fieldSchema; + } else { + newShape[key] = fieldSchema.optional(); + } + } + return new _ZodObject2({ + ...this._def, + shape: () => newShape + }); + } + required(mask) { + const newShape = {}; + for (const key of util.objectKeys(this.shape)) { + if (mask && !mask[key]) { + newShape[key] = this.shape[key]; + } else { + const fieldSchema = this.shape[key]; + let newField = fieldSchema; + while (newField instanceof ZodOptional) { + newField = newField._def.innerType; + } + newShape[key] = newField; + } + } + return new _ZodObject2({ + ...this._def, + shape: () => newShape + }); + } + keyof() { + return createZodEnum(util.objectKeys(this.shape)); + } + }; + ZodObject.create = (shape, params) => { + return new ZodObject({ + shape: () => shape, + unknownKeys: "strip", + catchall: ZodNever.create(), + typeName: ZodFirstPartyTypeKind.ZodObject, + ...processCreateParams(params) + }); + }; + ZodObject.strictCreate = (shape, params) => { + return new ZodObject({ + shape: () => shape, + unknownKeys: "strict", + catchall: ZodNever.create(), + typeName: ZodFirstPartyTypeKind.ZodObject, + ...processCreateParams(params) + }); + }; + ZodObject.lazycreate = (shape, params) => { + return new ZodObject({ + shape, + unknownKeys: "strip", + catchall: ZodNever.create(), + typeName: ZodFirstPartyTypeKind.ZodObject, + ...processCreateParams(params) + }); + }; + ZodUnion = class extends ZodType { + _parse(input) { + const { ctx } = this._processInputParams(input); + const options = this._def.options; + function handleResults(results) { + for (const result of results) { + if (result.result.status === "valid") { + return result.result; + } + } + for (const result of results) { + if (result.result.status === "dirty") { + ctx.common.issues.push(...result.ctx.common.issues); + return result.result; + } + } + const unionErrors = results.map((result) => new ZodError(result.ctx.common.issues)); + addIssueToContext(ctx, { + code: ZodIssueCode.invalid_union, + unionErrors + }); + return INVALID; + } + if (ctx.common.async) { + return Promise.all(options.map(async (option) => { + const childCtx = { + ...ctx, + common: { + ...ctx.common, + issues: [] + }, + parent: null + }; + return { + result: await option._parseAsync({ + data: ctx.data, + path: ctx.path, + parent: childCtx + }), + ctx: childCtx + }; + })).then(handleResults); + } else { + let dirty = void 0; + const issues = []; + for (const option of options) { + const childCtx = { + ...ctx, + common: { + ...ctx.common, + issues: [] + }, + parent: null + }; + const result = option._parseSync({ + data: ctx.data, + path: ctx.path, + parent: childCtx + }); + if (result.status === "valid") { + return result; + } else if (result.status === "dirty" && !dirty) { + dirty = { result, ctx: childCtx }; + } + if (childCtx.common.issues.length) { + issues.push(childCtx.common.issues); + } + } + if (dirty) { + ctx.common.issues.push(...dirty.ctx.common.issues); + return dirty.result; + } + const unionErrors = issues.map((issues2) => new ZodError(issues2)); + addIssueToContext(ctx, { + code: ZodIssueCode.invalid_union, + unionErrors + }); + return INVALID; + } + } + get options() { + return this._def.options; + } + }; + ZodUnion.create = (types, params) => { + return new ZodUnion({ + options: types, + typeName: ZodFirstPartyTypeKind.ZodUnion, + ...processCreateParams(params) + }); + }; + getDiscriminator = (type) => { + if (type instanceof ZodLazy) { + return getDiscriminator(type.schema); + } else if (type instanceof ZodEffects) { + return getDiscriminator(type.innerType()); + } else if (type instanceof ZodLiteral) { + return [type.value]; + } else if (type instanceof ZodEnum) { + return type.options; + } else if (type instanceof ZodNativeEnum) { + return util.objectValues(type.enum); + } else if (type instanceof ZodDefault) { + return getDiscriminator(type._def.innerType); + } else if (type instanceof ZodUndefined) { + return [void 0]; + } else if (type instanceof ZodNull) { + return [null]; + } else if (type instanceof ZodOptional) { + return [void 0, ...getDiscriminator(type.unwrap())]; + } else if (type instanceof ZodNullable) { + return [null, ...getDiscriminator(type.unwrap())]; + } else if (type instanceof ZodBranded) { + return getDiscriminator(type.unwrap()); + } else if (type instanceof ZodReadonly) { + return getDiscriminator(type.unwrap()); + } else if (type instanceof ZodCatch) { + return getDiscriminator(type._def.innerType); + } else { + return []; + } + }; + ZodDiscriminatedUnion = class _ZodDiscriminatedUnion2 extends ZodType { + _parse(input) { + const { ctx } = this._processInputParams(input); + if (ctx.parsedType !== ZodParsedType.object) { + addIssueToContext(ctx, { + code: ZodIssueCode.invalid_type, + expected: ZodParsedType.object, + received: ctx.parsedType + }); + return INVALID; + } + const discriminator = this.discriminator; + const discriminatorValue = ctx.data[discriminator]; + const option = this.optionsMap.get(discriminatorValue); + if (!option) { + addIssueToContext(ctx, { + code: ZodIssueCode.invalid_union_discriminator, + options: Array.from(this.optionsMap.keys()), + path: [discriminator] + }); + return INVALID; + } + if (ctx.common.async) { + return option._parseAsync({ + data: ctx.data, + path: ctx.path, + parent: ctx + }); + } else { + return option._parseSync({ + data: ctx.data, + path: ctx.path, + parent: ctx + }); + } + } + get discriminator() { + return this._def.discriminator; + } + get options() { + return this._def.options; + } + get optionsMap() { + return this._def.optionsMap; + } + /** + * The constructor of the discriminated union schema. Its behaviour is very similar to that of the normal z.union() constructor. + * However, it only allows a union of objects, all of which need to share a discriminator property. This property must + * have a different value for each object in the union. + * @param discriminator the name of the discriminator property + * @param types an array of object schemas + * @param params + */ + static create(discriminator, options, params) { + const optionsMap = /* @__PURE__ */ new Map(); + for (const type of options) { + const discriminatorValues = getDiscriminator(type.shape[discriminator]); + if (!discriminatorValues.length) { + throw new Error(`A discriminator value for key \`${discriminator}\` could not be extracted from all schema options`); + } + for (const value of discriminatorValues) { + if (optionsMap.has(value)) { + throw new Error(`Discriminator property ${String(discriminator)} has duplicate value ${String(value)}`); + } + optionsMap.set(value, type); + } + } + return new _ZodDiscriminatedUnion2({ + typeName: ZodFirstPartyTypeKind.ZodDiscriminatedUnion, + discriminator, + options, + optionsMap, + ...processCreateParams(params) + }); + } + }; + ZodIntersection = class extends ZodType { + _parse(input) { + const { status, ctx } = this._processInputParams(input); + const handleParsed = (parsedLeft, parsedRight) => { + if (isAborted(parsedLeft) || isAborted(parsedRight)) { + return INVALID; + } + const merged = mergeValues(parsedLeft.value, parsedRight.value); + if (!merged.valid) { + addIssueToContext(ctx, { + code: ZodIssueCode.invalid_intersection_types + }); + return INVALID; + } + if (isDirty(parsedLeft) || isDirty(parsedRight)) { + status.dirty(); + } + return { status: status.value, value: merged.data }; + }; + if (ctx.common.async) { + return Promise.all([ + this._def.left._parseAsync({ + data: ctx.data, + path: ctx.path, + parent: ctx + }), + this._def.right._parseAsync({ + data: ctx.data, + path: ctx.path, + parent: ctx + }) + ]).then(([left, right]) => handleParsed(left, right)); + } else { + return handleParsed(this._def.left._parseSync({ + data: ctx.data, + path: ctx.path, + parent: ctx + }), this._def.right._parseSync({ + data: ctx.data, + path: ctx.path, + parent: ctx + })); + } + } + }; + ZodIntersection.create = (left, right, params) => { + return new ZodIntersection({ + left, + right, + typeName: ZodFirstPartyTypeKind.ZodIntersection, + ...processCreateParams(params) + }); + }; + ZodTuple = class _ZodTuple2 extends ZodType { + _parse(input) { + const { status, ctx } = this._processInputParams(input); + if (ctx.parsedType !== ZodParsedType.array) { + addIssueToContext(ctx, { + code: ZodIssueCode.invalid_type, + expected: ZodParsedType.array, + received: ctx.parsedType + }); + return INVALID; + } + if (ctx.data.length < this._def.items.length) { + addIssueToContext(ctx, { + code: ZodIssueCode.too_small, + minimum: this._def.items.length, + inclusive: true, + exact: false, + type: "array" + }); + return INVALID; + } + const rest = this._def.rest; + if (!rest && ctx.data.length > this._def.items.length) { + addIssueToContext(ctx, { + code: ZodIssueCode.too_big, + maximum: this._def.items.length, + inclusive: true, + exact: false, + type: "array" + }); + status.dirty(); + } + const items = [...ctx.data].map((item, itemIndex) => { + const schema = this._def.items[itemIndex] || this._def.rest; + if (!schema) + return null; + return schema._parse(new ParseInputLazyPath(ctx, item, ctx.path, itemIndex)); + }).filter((x) => !!x); + if (ctx.common.async) { + return Promise.all(items).then((results) => { + return ParseStatus.mergeArray(status, results); + }); + } else { + return ParseStatus.mergeArray(status, items); + } + } + get items() { + return this._def.items; + } + rest(rest) { + return new _ZodTuple2({ + ...this._def, + rest + }); + } + }; + ZodTuple.create = (schemas, params) => { + if (!Array.isArray(schemas)) { + throw new Error("You must pass an array of schemas to z.tuple([ ... ])"); + } + return new ZodTuple({ + items: schemas, + typeName: ZodFirstPartyTypeKind.ZodTuple, + rest: null, + ...processCreateParams(params) + }); + }; + ZodRecord = class _ZodRecord2 extends ZodType { + get keySchema() { + return this._def.keyType; + } + get valueSchema() { + return this._def.valueType; + } + _parse(input) { + const { status, ctx } = this._processInputParams(input); + if (ctx.parsedType !== ZodParsedType.object) { + addIssueToContext(ctx, { + code: ZodIssueCode.invalid_type, + expected: ZodParsedType.object, + received: ctx.parsedType + }); + return INVALID; + } + const pairs = []; + const keyType = this._def.keyType; + const valueType = this._def.valueType; + for (const key in ctx.data) { + pairs.push({ + key: keyType._parse(new ParseInputLazyPath(ctx, key, ctx.path, key)), + value: valueType._parse(new ParseInputLazyPath(ctx, ctx.data[key], ctx.path, key)), + alwaysSet: key in ctx.data + }); + } + if (ctx.common.async) { + return ParseStatus.mergeObjectAsync(status, pairs); + } else { + return ParseStatus.mergeObjectSync(status, pairs); + } + } + get element() { + return this._def.valueType; + } + static create(first, second, third) { + if (second instanceof ZodType) { + return new _ZodRecord2({ + keyType: first, + valueType: second, + typeName: ZodFirstPartyTypeKind.ZodRecord, + ...processCreateParams(third) + }); + } + return new _ZodRecord2({ + keyType: ZodString.create(), + valueType: first, + typeName: ZodFirstPartyTypeKind.ZodRecord, + ...processCreateParams(second) + }); + } + }; + ZodMap = class extends ZodType { + get keySchema() { + return this._def.keyType; + } + get valueSchema() { + return this._def.valueType; + } + _parse(input) { + const { status, ctx } = this._processInputParams(input); + if (ctx.parsedType !== ZodParsedType.map) { + addIssueToContext(ctx, { + code: ZodIssueCode.invalid_type, + expected: ZodParsedType.map, + received: ctx.parsedType + }); + return INVALID; + } + const keyType = this._def.keyType; + const valueType = this._def.valueType; + const pairs = [...ctx.data.entries()].map(([key, value], index) => { + return { + key: keyType._parse(new ParseInputLazyPath(ctx, key, ctx.path, [index, "key"])), + value: valueType._parse(new ParseInputLazyPath(ctx, value, ctx.path, [index, "value"])) + }; + }); + if (ctx.common.async) { + const finalMap = /* @__PURE__ */ new Map(); + return Promise.resolve().then(async () => { + for (const pair of pairs) { + const key = await pair.key; + const value = await pair.value; + if (key.status === "aborted" || value.status === "aborted") { + return INVALID; + } + if (key.status === "dirty" || value.status === "dirty") { + status.dirty(); + } + finalMap.set(key.value, value.value); + } + return { status: status.value, value: finalMap }; + }); + } else { + const finalMap = /* @__PURE__ */ new Map(); + for (const pair of pairs) { + const key = pair.key; + const value = pair.value; + if (key.status === "aborted" || value.status === "aborted") { + return INVALID; + } + if (key.status === "dirty" || value.status === "dirty") { + status.dirty(); + } + finalMap.set(key.value, value.value); + } + return { status: status.value, value: finalMap }; + } + } + }; + ZodMap.create = (keyType, valueType, params) => { + return new ZodMap({ + valueType, + keyType, + typeName: ZodFirstPartyTypeKind.ZodMap, + ...processCreateParams(params) + }); + }; + ZodSet = class _ZodSet2 extends ZodType { + _parse(input) { + const { status, ctx } = this._processInputParams(input); + if (ctx.parsedType !== ZodParsedType.set) { + addIssueToContext(ctx, { + code: ZodIssueCode.invalid_type, + expected: ZodParsedType.set, + received: ctx.parsedType + }); + return INVALID; + } + const def = this._def; + if (def.minSize !== null) { + if (ctx.data.size < def.minSize.value) { + addIssueToContext(ctx, { + code: ZodIssueCode.too_small, + minimum: def.minSize.value, + type: "set", + inclusive: true, + exact: false, + message: def.minSize.message + }); + status.dirty(); + } + } + if (def.maxSize !== null) { + if (ctx.data.size > def.maxSize.value) { + addIssueToContext(ctx, { + code: ZodIssueCode.too_big, + maximum: def.maxSize.value, + type: "set", + inclusive: true, + exact: false, + message: def.maxSize.message + }); + status.dirty(); + } + } + const valueType = this._def.valueType; + function finalizeSet(elements2) { + const parsedSet = /* @__PURE__ */ new Set(); + for (const element of elements2) { + if (element.status === "aborted") + return INVALID; + if (element.status === "dirty") + status.dirty(); + parsedSet.add(element.value); + } + return { status: status.value, value: parsedSet }; + } + const elements = [...ctx.data.values()].map((item, i) => valueType._parse(new ParseInputLazyPath(ctx, item, ctx.path, i))); + if (ctx.common.async) { + return Promise.all(elements).then((elements2) => finalizeSet(elements2)); + } else { + return finalizeSet(elements); + } + } + min(minSize, message) { + return new _ZodSet2({ + ...this._def, + minSize: { value: minSize, message: errorUtil.toString(message) } + }); + } + max(maxSize, message) { + return new _ZodSet2({ + ...this._def, + maxSize: { value: maxSize, message: errorUtil.toString(message) } + }); + } + size(size, message) { + return this.min(size, message).max(size, message); + } + nonempty(message) { + return this.min(1, message); + } + }; + ZodSet.create = (valueType, params) => { + return new ZodSet({ + valueType, + minSize: null, + maxSize: null, + typeName: ZodFirstPartyTypeKind.ZodSet, + ...processCreateParams(params) + }); + }; + ZodFunction = class _ZodFunction2 extends ZodType { + constructor() { + super(...arguments); + this.validate = this.implement; + } + _parse(input) { + const { ctx } = this._processInputParams(input); + if (ctx.parsedType !== ZodParsedType.function) { + addIssueToContext(ctx, { + code: ZodIssueCode.invalid_type, + expected: ZodParsedType.function, + received: ctx.parsedType + }); + return INVALID; + } + function makeArgsIssue(args, error) { + return makeIssue({ + data: args, + path: ctx.path, + errorMaps: [ctx.common.contextualErrorMap, ctx.schemaErrorMap, getErrorMap(), en_default].filter((x) => !!x), + issueData: { + code: ZodIssueCode.invalid_arguments, + argumentsError: error + } + }); + } + function makeReturnsIssue(returns, error) { + return makeIssue({ + data: returns, + path: ctx.path, + errorMaps: [ctx.common.contextualErrorMap, ctx.schemaErrorMap, getErrorMap(), en_default].filter((x) => !!x), + issueData: { + code: ZodIssueCode.invalid_return_type, + returnTypeError: error + } + }); + } + const params = { errorMap: ctx.common.contextualErrorMap }; + const fn = ctx.data; + if (this._def.returns instanceof ZodPromise) { + const me = this; + return OK(async function(...args) { + const error = new ZodError([]); + const parsedArgs = await me._def.args.parseAsync(args, params).catch((e) => { + error.addIssue(makeArgsIssue(args, e)); + throw error; + }); + const result = await Reflect.apply(fn, this, parsedArgs); + const parsedReturns = await me._def.returns._def.type.parseAsync(result, params).catch((e) => { + error.addIssue(makeReturnsIssue(result, e)); + throw error; + }); + return parsedReturns; + }); + } else { + const me = this; + return OK(function(...args) { + const parsedArgs = me._def.args.safeParse(args, params); + if (!parsedArgs.success) { + throw new ZodError([makeArgsIssue(args, parsedArgs.error)]); + } + const result = Reflect.apply(fn, this, parsedArgs.data); + const parsedReturns = me._def.returns.safeParse(result, params); + if (!parsedReturns.success) { + throw new ZodError([makeReturnsIssue(result, parsedReturns.error)]); + } + return parsedReturns.data; + }); + } + } + parameters() { + return this._def.args; + } + returnType() { + return this._def.returns; + } + args(...items) { + return new _ZodFunction2({ + ...this._def, + args: ZodTuple.create(items).rest(ZodUnknown.create()) + }); + } + returns(returnType) { + return new _ZodFunction2({ + ...this._def, + returns: returnType + }); + } + implement(func) { + const validatedFunc = this.parse(func); + return validatedFunc; + } + strictImplement(func) { + const validatedFunc = this.parse(func); + return validatedFunc; + } + static create(args, returns, params) { + return new _ZodFunction2({ + args: args ? args : ZodTuple.create([]).rest(ZodUnknown.create()), + returns: returns || ZodUnknown.create(), + typeName: ZodFirstPartyTypeKind.ZodFunction, + ...processCreateParams(params) + }); + } + }; + ZodLazy = class extends ZodType { + get schema() { + return this._def.getter(); + } + _parse(input) { + const { ctx } = this._processInputParams(input); + const lazySchema = this._def.getter(); + return lazySchema._parse({ data: ctx.data, path: ctx.path, parent: ctx }); + } + }; + ZodLazy.create = (getter, params) => { + return new ZodLazy({ + getter, + typeName: ZodFirstPartyTypeKind.ZodLazy, + ...processCreateParams(params) + }); + }; + ZodLiteral = class extends ZodType { + _parse(input) { + if (input.data !== this._def.value) { + const ctx = this._getOrReturnCtx(input); + addIssueToContext(ctx, { + received: ctx.data, + code: ZodIssueCode.invalid_literal, + expected: this._def.value + }); + return INVALID; + } + return { status: "valid", value: input.data }; + } + get value() { + return this._def.value; + } + }; + ZodLiteral.create = (value, params) => { + return new ZodLiteral({ + value, + typeName: ZodFirstPartyTypeKind.ZodLiteral, + ...processCreateParams(params) + }); + }; + ZodEnum = class _ZodEnum2 extends ZodType { + _parse(input) { + if (typeof input.data !== "string") { + const ctx = this._getOrReturnCtx(input); + const expectedValues = this._def.values; + addIssueToContext(ctx, { + expected: util.joinValues(expectedValues), + received: ctx.parsedType, + code: ZodIssueCode.invalid_type + }); + return INVALID; + } + if (!this._cache) { + this._cache = new Set(this._def.values); + } + if (!this._cache.has(input.data)) { + const ctx = this._getOrReturnCtx(input); + const expectedValues = this._def.values; + addIssueToContext(ctx, { + received: ctx.data, + code: ZodIssueCode.invalid_enum_value, + options: expectedValues + }); + return INVALID; + } + return OK(input.data); + } + get options() { + return this._def.values; + } + get enum() { + const enumValues = {}; + for (const val of this._def.values) { + enumValues[val] = val; + } + return enumValues; + } + get Values() { + const enumValues = {}; + for (const val of this._def.values) { + enumValues[val] = val; + } + return enumValues; + } + get Enum() { + const enumValues = {}; + for (const val of this._def.values) { + enumValues[val] = val; + } + return enumValues; + } + extract(values, newDef = this._def) { + return _ZodEnum2.create(values, { + ...this._def, + ...newDef + }); + } + exclude(values, newDef = this._def) { + return _ZodEnum2.create(this.options.filter((opt) => !values.includes(opt)), { + ...this._def, + ...newDef + }); + } + }; + ZodEnum.create = createZodEnum; + ZodNativeEnum = class extends ZodType { + _parse(input) { + const nativeEnumValues = util.getValidEnumValues(this._def.values); + const ctx = this._getOrReturnCtx(input); + if (ctx.parsedType !== ZodParsedType.string && ctx.parsedType !== ZodParsedType.number) { + const expectedValues = util.objectValues(nativeEnumValues); + addIssueToContext(ctx, { + expected: util.joinValues(expectedValues), + received: ctx.parsedType, + code: ZodIssueCode.invalid_type + }); + return INVALID; + } + if (!this._cache) { + this._cache = new Set(util.getValidEnumValues(this._def.values)); + } + if (!this._cache.has(input.data)) { + const expectedValues = util.objectValues(nativeEnumValues); + addIssueToContext(ctx, { + received: ctx.data, + code: ZodIssueCode.invalid_enum_value, + options: expectedValues + }); + return INVALID; + } + return OK(input.data); + } + get enum() { + return this._def.values; + } + }; + ZodNativeEnum.create = (values, params) => { + return new ZodNativeEnum({ + values, + typeName: ZodFirstPartyTypeKind.ZodNativeEnum, + ...processCreateParams(params) + }); + }; + ZodPromise = class extends ZodType { + unwrap() { + return this._def.type; + } + _parse(input) { + const { ctx } = this._processInputParams(input); + if (ctx.parsedType !== ZodParsedType.promise && ctx.common.async === false) { + addIssueToContext(ctx, { + code: ZodIssueCode.invalid_type, + expected: ZodParsedType.promise, + received: ctx.parsedType + }); + return INVALID; + } + const promisified = ctx.parsedType === ZodParsedType.promise ? ctx.data : Promise.resolve(ctx.data); + return OK(promisified.then((data) => { + return this._def.type.parseAsync(data, { + path: ctx.path, + errorMap: ctx.common.contextualErrorMap + }); + })); + } + }; + ZodPromise.create = (schema, params) => { + return new ZodPromise({ + type: schema, + typeName: ZodFirstPartyTypeKind.ZodPromise, + ...processCreateParams(params) + }); + }; + ZodEffects = class extends ZodType { + innerType() { + return this._def.schema; + } + sourceType() { + return this._def.schema._def.typeName === ZodFirstPartyTypeKind.ZodEffects ? this._def.schema.sourceType() : this._def.schema; + } + _parse(input) { + const { status, ctx } = this._processInputParams(input); + const effect = this._def.effect || null; + const checkCtx = { + addIssue: (arg) => { + addIssueToContext(ctx, arg); + if (arg.fatal) { + status.abort(); + } else { + status.dirty(); + } + }, + get path() { + return ctx.path; + } + }; + checkCtx.addIssue = checkCtx.addIssue.bind(checkCtx); + if (effect.type === "preprocess") { + const processed = effect.transform(ctx.data, checkCtx); + if (ctx.common.async) { + return Promise.resolve(processed).then(async (processed2) => { + if (status.value === "aborted") + return INVALID; + const result = await this._def.schema._parseAsync({ + data: processed2, + path: ctx.path, + parent: ctx + }); + if (result.status === "aborted") + return INVALID; + if (result.status === "dirty") + return DIRTY(result.value); + if (status.value === "dirty") + return DIRTY(result.value); + return result; + }); + } else { + if (status.value === "aborted") + return INVALID; + const result = this._def.schema._parseSync({ + data: processed, + path: ctx.path, + parent: ctx + }); + if (result.status === "aborted") + return INVALID; + if (result.status === "dirty") + return DIRTY(result.value); + if (status.value === "dirty") + return DIRTY(result.value); + return result; + } + } + if (effect.type === "refinement") { + const executeRefinement = (acc) => { + const result = effect.refinement(acc, checkCtx); + if (ctx.common.async) { + return Promise.resolve(result); + } + if (result instanceof Promise) { + throw new Error("Async refinement encountered during synchronous parse operation. Use .parseAsync instead."); + } + return acc; + }; + if (ctx.common.async === false) { + const inner = this._def.schema._parseSync({ + data: ctx.data, + path: ctx.path, + parent: ctx + }); + if (inner.status === "aborted") + return INVALID; + if (inner.status === "dirty") + status.dirty(); + executeRefinement(inner.value); + return { status: status.value, value: inner.value }; + } else { + return this._def.schema._parseAsync({ data: ctx.data, path: ctx.path, parent: ctx }).then((inner) => { + if (inner.status === "aborted") + return INVALID; + if (inner.status === "dirty") + status.dirty(); + return executeRefinement(inner.value).then(() => { + return { status: status.value, value: inner.value }; + }); + }); + } + } + if (effect.type === "transform") { + if (ctx.common.async === false) { + const base = this._def.schema._parseSync({ + data: ctx.data, + path: ctx.path, + parent: ctx + }); + if (!isValid(base)) + return INVALID; + const result = effect.transform(base.value, checkCtx); + if (result instanceof Promise) { + throw new Error(`Asynchronous transform encountered during synchronous parse operation. Use .parseAsync instead.`); + } + return { status: status.value, value: result }; + } else { + return this._def.schema._parseAsync({ data: ctx.data, path: ctx.path, parent: ctx }).then((base) => { + if (!isValid(base)) + return INVALID; + return Promise.resolve(effect.transform(base.value, checkCtx)).then((result) => ({ + status: status.value, + value: result + })); + }); + } + } + util.assertNever(effect); + } + }; + ZodEffects.create = (schema, effect, params) => { + return new ZodEffects({ + schema, + typeName: ZodFirstPartyTypeKind.ZodEffects, + effect, + ...processCreateParams(params) + }); + }; + ZodEffects.createWithPreprocess = (preprocess, schema, params) => { + return new ZodEffects({ + schema, + effect: { type: "preprocess", transform: preprocess }, + typeName: ZodFirstPartyTypeKind.ZodEffects, + ...processCreateParams(params) + }); + }; + ZodOptional = class extends ZodType { + _parse(input) { + const parsedType = this._getType(input); + if (parsedType === ZodParsedType.undefined) { + return OK(void 0); + } + return this._def.innerType._parse(input); + } + unwrap() { + return this._def.innerType; + } + }; + ZodOptional.create = (type, params) => { + return new ZodOptional({ + innerType: type, + typeName: ZodFirstPartyTypeKind.ZodOptional, + ...processCreateParams(params) + }); + }; + ZodNullable = class extends ZodType { + _parse(input) { + const parsedType = this._getType(input); + if (parsedType === ZodParsedType.null) { + return OK(null); + } + return this._def.innerType._parse(input); + } + unwrap() { + return this._def.innerType; + } + }; + ZodNullable.create = (type, params) => { + return new ZodNullable({ + innerType: type, + typeName: ZodFirstPartyTypeKind.ZodNullable, + ...processCreateParams(params) + }); + }; + ZodDefault = class extends ZodType { + _parse(input) { + const { ctx } = this._processInputParams(input); + let data = ctx.data; + if (ctx.parsedType === ZodParsedType.undefined) { + data = this._def.defaultValue(); + } + return this._def.innerType._parse({ + data, + path: ctx.path, + parent: ctx + }); + } + removeDefault() { + return this._def.innerType; + } + }; + ZodDefault.create = (type, params) => { + return new ZodDefault({ + innerType: type, + typeName: ZodFirstPartyTypeKind.ZodDefault, + defaultValue: typeof params.default === "function" ? params.default : () => params.default, + ...processCreateParams(params) + }); + }; + ZodCatch = class extends ZodType { + _parse(input) { + const { ctx } = this._processInputParams(input); + const newCtx = { + ...ctx, + common: { + ...ctx.common, + issues: [] + } + }; + const result = this._def.innerType._parse({ + data: newCtx.data, + path: newCtx.path, + parent: { + ...newCtx + } + }); + if (isAsync(result)) { + return result.then((result2) => { + return { + status: "valid", + value: result2.status === "valid" ? result2.value : this._def.catchValue({ + get error() { + return new ZodError(newCtx.common.issues); + }, + input: newCtx.data + }) + }; + }); + } else { + return { + status: "valid", + value: result.status === "valid" ? result.value : this._def.catchValue({ + get error() { + return new ZodError(newCtx.common.issues); + }, + input: newCtx.data + }) + }; + } + } + removeCatch() { + return this._def.innerType; + } + }; + ZodCatch.create = (type, params) => { + return new ZodCatch({ + innerType: type, + typeName: ZodFirstPartyTypeKind.ZodCatch, + catchValue: typeof params.catch === "function" ? params.catch : () => params.catch, + ...processCreateParams(params) + }); + }; + ZodNaN = class extends ZodType { + _parse(input) { + const parsedType = this._getType(input); + if (parsedType !== ZodParsedType.nan) { + const ctx = this._getOrReturnCtx(input); + addIssueToContext(ctx, { + code: ZodIssueCode.invalid_type, + expected: ZodParsedType.nan, + received: ctx.parsedType + }); + return INVALID; + } + return { status: "valid", value: input.data }; + } + }; + ZodNaN.create = (params) => { + return new ZodNaN({ + typeName: ZodFirstPartyTypeKind.ZodNaN, + ...processCreateParams(params) + }); + }; + BRAND = Symbol("zod_brand"); + ZodBranded = class extends ZodType { + _parse(input) { + const { ctx } = this._processInputParams(input); + const data = ctx.data; + return this._def.type._parse({ + data, + path: ctx.path, + parent: ctx + }); + } + unwrap() { + return this._def.type; + } + }; + ZodPipeline = class _ZodPipeline2 extends ZodType { + _parse(input) { + const { status, ctx } = this._processInputParams(input); + if (ctx.common.async) { + const handleAsync = async () => { + const inResult = await this._def.in._parseAsync({ + data: ctx.data, + path: ctx.path, + parent: ctx + }); + if (inResult.status === "aborted") + return INVALID; + if (inResult.status === "dirty") { + status.dirty(); + return DIRTY(inResult.value); + } else { + return this._def.out._parseAsync({ + data: inResult.value, + path: ctx.path, + parent: ctx + }); + } + }; + return handleAsync(); + } else { + const inResult = this._def.in._parseSync({ + data: ctx.data, + path: ctx.path, + parent: ctx + }); + if (inResult.status === "aborted") + return INVALID; + if (inResult.status === "dirty") { + status.dirty(); + return { + status: "dirty", + value: inResult.value + }; + } else { + return this._def.out._parseSync({ + data: inResult.value, + path: ctx.path, + parent: ctx + }); + } + } + } + static create(a, b) { + return new _ZodPipeline2({ + in: a, + out: b, + typeName: ZodFirstPartyTypeKind.ZodPipeline + }); + } + }; + ZodReadonly = class extends ZodType { + _parse(input) { + const result = this._def.innerType._parse(input); + const freeze = (data) => { + if (isValid(data)) { + data.value = Object.freeze(data.value); + } + return data; + }; + return isAsync(result) ? result.then((data) => freeze(data)) : freeze(result); + } + unwrap() { + return this._def.innerType; + } + }; + ZodReadonly.create = (type, params) => { + return new ZodReadonly({ + innerType: type, + typeName: ZodFirstPartyTypeKind.ZodReadonly, + ...processCreateParams(params) + }); + }; + late = { + object: ZodObject.lazycreate + }; + (function(ZodFirstPartyTypeKind3) { + ZodFirstPartyTypeKind3["ZodString"] = "ZodString"; + ZodFirstPartyTypeKind3["ZodNumber"] = "ZodNumber"; + ZodFirstPartyTypeKind3["ZodNaN"] = "ZodNaN"; + ZodFirstPartyTypeKind3["ZodBigInt"] = "ZodBigInt"; + ZodFirstPartyTypeKind3["ZodBoolean"] = "ZodBoolean"; + ZodFirstPartyTypeKind3["ZodDate"] = "ZodDate"; + ZodFirstPartyTypeKind3["ZodSymbol"] = "ZodSymbol"; + ZodFirstPartyTypeKind3["ZodUndefined"] = "ZodUndefined"; + ZodFirstPartyTypeKind3["ZodNull"] = "ZodNull"; + ZodFirstPartyTypeKind3["ZodAny"] = "ZodAny"; + ZodFirstPartyTypeKind3["ZodUnknown"] = "ZodUnknown"; + ZodFirstPartyTypeKind3["ZodNever"] = "ZodNever"; + ZodFirstPartyTypeKind3["ZodVoid"] = "ZodVoid"; + ZodFirstPartyTypeKind3["ZodArray"] = "ZodArray"; + ZodFirstPartyTypeKind3["ZodObject"] = "ZodObject"; + ZodFirstPartyTypeKind3["ZodUnion"] = "ZodUnion"; + ZodFirstPartyTypeKind3["ZodDiscriminatedUnion"] = "ZodDiscriminatedUnion"; + ZodFirstPartyTypeKind3["ZodIntersection"] = "ZodIntersection"; + ZodFirstPartyTypeKind3["ZodTuple"] = "ZodTuple"; + ZodFirstPartyTypeKind3["ZodRecord"] = "ZodRecord"; + ZodFirstPartyTypeKind3["ZodMap"] = "ZodMap"; + ZodFirstPartyTypeKind3["ZodSet"] = "ZodSet"; + ZodFirstPartyTypeKind3["ZodFunction"] = "ZodFunction"; + ZodFirstPartyTypeKind3["ZodLazy"] = "ZodLazy"; + ZodFirstPartyTypeKind3["ZodLiteral"] = "ZodLiteral"; + ZodFirstPartyTypeKind3["ZodEnum"] = "ZodEnum"; + ZodFirstPartyTypeKind3["ZodEffects"] = "ZodEffects"; + ZodFirstPartyTypeKind3["ZodNativeEnum"] = "ZodNativeEnum"; + ZodFirstPartyTypeKind3["ZodOptional"] = "ZodOptional"; + ZodFirstPartyTypeKind3["ZodNullable"] = "ZodNullable"; + ZodFirstPartyTypeKind3["ZodDefault"] = "ZodDefault"; + ZodFirstPartyTypeKind3["ZodCatch"] = "ZodCatch"; + ZodFirstPartyTypeKind3["ZodPromise"] = "ZodPromise"; + ZodFirstPartyTypeKind3["ZodBranded"] = "ZodBranded"; + ZodFirstPartyTypeKind3["ZodPipeline"] = "ZodPipeline"; + ZodFirstPartyTypeKind3["ZodReadonly"] = "ZodReadonly"; + })(ZodFirstPartyTypeKind || (ZodFirstPartyTypeKind = {})); + instanceOfType = (cls, params = { + message: `Input not instance of ${cls.name}` + }) => custom((data) => data instanceof cls, params); + stringType = ZodString.create; + numberType = ZodNumber.create; + nanType = ZodNaN.create; + bigIntType = ZodBigInt.create; + booleanType = ZodBoolean.create; + dateType = ZodDate.create; + symbolType = ZodSymbol.create; + undefinedType = ZodUndefined.create; + nullType = ZodNull.create; + anyType = ZodAny.create; + unknownType = ZodUnknown.create; + neverType = ZodNever.create; + voidType = ZodVoid.create; + arrayType = ZodArray.create; + objectType = ZodObject.create; + strictObjectType = ZodObject.strictCreate; + unionType = ZodUnion.create; + discriminatedUnionType = ZodDiscriminatedUnion.create; + intersectionType = ZodIntersection.create; + tupleType = ZodTuple.create; + recordType = ZodRecord.create; + mapType = ZodMap.create; + setType = ZodSet.create; + functionType = ZodFunction.create; + lazyType = ZodLazy.create; + literalType = ZodLiteral.create; + enumType = ZodEnum.create; + nativeEnumType = ZodNativeEnum.create; + promiseType = ZodPromise.create; + effectsType = ZodEffects.create; + optionalType = ZodOptional.create; + nullableType = ZodNullable.create; + preprocessType = ZodEffects.createWithPreprocess; + pipelineType = ZodPipeline.create; + ostring = () => stringType().optional(); + onumber = () => numberType().optional(); + oboolean = () => booleanType().optional(); + coerce = { + string: ((arg) => ZodString.create({ ...arg, coerce: true })), + number: ((arg) => ZodNumber.create({ ...arg, coerce: true })), + boolean: ((arg) => ZodBoolean.create({ + ...arg, + coerce: true + })), + bigint: ((arg) => ZodBigInt.create({ ...arg, coerce: true })), + date: ((arg) => ZodDate.create({ ...arg, coerce: true })) + }; + NEVER = INVALID; + } +}); + +// node_modules/zod/v3/external.js +var external_exports = {}; +__export(external_exports, { + BRAND: () => BRAND, + DIRTY: () => DIRTY, + EMPTY_PATH: () => EMPTY_PATH, + INVALID: () => INVALID, + NEVER: () => NEVER, + OK: () => OK, + ParseStatus: () => ParseStatus, + Schema: () => ZodType, + ZodAny: () => ZodAny, + ZodArray: () => ZodArray, + ZodBigInt: () => ZodBigInt, + ZodBoolean: () => ZodBoolean, + ZodBranded: () => ZodBranded, + ZodCatch: () => ZodCatch, + ZodDate: () => ZodDate, + ZodDefault: () => ZodDefault, + ZodDiscriminatedUnion: () => ZodDiscriminatedUnion, + ZodEffects: () => ZodEffects, + ZodEnum: () => ZodEnum, + ZodError: () => ZodError, + ZodFirstPartyTypeKind: () => ZodFirstPartyTypeKind, + ZodFunction: () => ZodFunction, + ZodIntersection: () => ZodIntersection, + ZodIssueCode: () => ZodIssueCode, + ZodLazy: () => ZodLazy, + ZodLiteral: () => ZodLiteral, + ZodMap: () => ZodMap, + ZodNaN: () => ZodNaN, + ZodNativeEnum: () => ZodNativeEnum, + ZodNever: () => ZodNever, + ZodNull: () => ZodNull, + ZodNullable: () => ZodNullable, + ZodNumber: () => ZodNumber, + ZodObject: () => ZodObject, + ZodOptional: () => ZodOptional, + ZodParsedType: () => ZodParsedType, + ZodPipeline: () => ZodPipeline, + ZodPromise: () => ZodPromise, + ZodReadonly: () => ZodReadonly, + ZodRecord: () => ZodRecord, + ZodSchema: () => ZodType, + ZodSet: () => ZodSet, + ZodString: () => ZodString, + ZodSymbol: () => ZodSymbol, + ZodTransformer: () => ZodEffects, + ZodTuple: () => ZodTuple, + ZodType: () => ZodType, + ZodUndefined: () => ZodUndefined, + ZodUnion: () => ZodUnion, + ZodUnknown: () => ZodUnknown, + ZodVoid: () => ZodVoid, + addIssueToContext: () => addIssueToContext, + any: () => anyType, + array: () => arrayType, + bigint: () => bigIntType, + boolean: () => booleanType, + coerce: () => coerce, + custom: () => custom, + date: () => dateType, + datetimeRegex: () => datetimeRegex, + defaultErrorMap: () => en_default, + discriminatedUnion: () => discriminatedUnionType, + effect: () => effectsType, + enum: () => enumType, + function: () => functionType, + getErrorMap: () => getErrorMap, + getParsedType: () => getParsedType, + instanceof: () => instanceOfType, + intersection: () => intersectionType, + isAborted: () => isAborted, + isAsync: () => isAsync, + isDirty: () => isDirty, + isValid: () => isValid, + late: () => late, + lazy: () => lazyType, + literal: () => literalType, + makeIssue: () => makeIssue, + map: () => mapType, + nan: () => nanType, + nativeEnum: () => nativeEnumType, + never: () => neverType, + null: () => nullType, + nullable: () => nullableType, + number: () => numberType, + object: () => objectType, + objectUtil: () => objectUtil, + oboolean: () => oboolean, + onumber: () => onumber, + optional: () => optionalType, + ostring: () => ostring, + pipeline: () => pipelineType, + preprocess: () => preprocessType, + promise: () => promiseType, + quotelessJson: () => quotelessJson, + record: () => recordType, + set: () => setType, + setErrorMap: () => setErrorMap, + strictObject: () => strictObjectType, + string: () => stringType, + symbol: () => symbolType, + transformer: () => effectsType, + tuple: () => tupleType, + undefined: () => undefinedType, + union: () => unionType, + unknown: () => unknownType, + util: () => util, + void: () => voidType +}); +var init_external = __esm({ + "node_modules/zod/v3/external.js"() { + init_errors(); + init_parseUtil(); + init_typeAliases(); + init_util(); + init_types(); + init_ZodError(); + } +}); + +// node_modules/zod/index.js +var init_zod = __esm({ + "node_modules/zod/index.js"() { + init_external(); + init_external(); + } +}); + +// node_modules/@modelcontextprotocol/sdk/dist/esm/types.js +var LATEST_PROTOCOL_VERSION, SUPPORTED_PROTOCOL_VERSIONS, JSONRPC_VERSION, ProgressTokenSchema, CursorSchema, RequestMetaSchema, BaseRequestParamsSchema, RequestSchema, BaseNotificationParamsSchema, NotificationSchema, ResultSchema, RequestIdSchema, JSONRPCRequestSchema, isJSONRPCRequest, JSONRPCNotificationSchema, isJSONRPCNotification, JSONRPCResponseSchema, isJSONRPCResponse, ErrorCode, JSONRPCErrorSchema, isJSONRPCError, JSONRPCMessageSchema, EmptyResultSchema, CancelledNotificationSchema, BaseMetadataSchema, ImplementationSchema, ClientCapabilitiesSchema, InitializeRequestSchema, ServerCapabilitiesSchema, InitializeResultSchema, InitializedNotificationSchema, PingRequestSchema, ProgressSchema, ProgressNotificationSchema, PaginatedRequestSchema, PaginatedResultSchema, ResourceContentsSchema, TextResourceContentsSchema, Base64Schema, BlobResourceContentsSchema, ResourceSchema, ResourceTemplateSchema, ListResourcesRequestSchema, ListResourcesResultSchema, ListResourceTemplatesRequestSchema, ListResourceTemplatesResultSchema, ReadResourceRequestSchema, ReadResourceResultSchema, ResourceListChangedNotificationSchema, SubscribeRequestSchema, UnsubscribeRequestSchema, ResourceUpdatedNotificationSchema, PromptArgumentSchema, PromptSchema, ListPromptsRequestSchema, ListPromptsResultSchema, GetPromptRequestSchema, TextContentSchema, ImageContentSchema, AudioContentSchema, EmbeddedResourceSchema, ResourceLinkSchema, ContentBlockSchema, PromptMessageSchema, GetPromptResultSchema, PromptListChangedNotificationSchema, ToolAnnotationsSchema, ToolSchema, ListToolsRequestSchema, ListToolsResultSchema, CallToolResultSchema, CompatibilityCallToolResultSchema, CallToolRequestSchema, ToolListChangedNotificationSchema, LoggingLevelSchema, SetLevelRequestSchema, LoggingMessageNotificationSchema, ModelHintSchema, ModelPreferencesSchema, SamplingMessageSchema, CreateMessageRequestSchema, CreateMessageResultSchema, BooleanSchemaSchema, StringSchemaSchema, NumberSchemaSchema, EnumSchemaSchema, PrimitiveSchemaDefinitionSchema, ElicitRequestSchema, ElicitResultSchema, ResourceTemplateReferenceSchema, PromptReferenceSchema, CompleteRequestSchema, CompleteResultSchema, RootSchema, ListRootsRequestSchema, ListRootsResultSchema, RootsListChangedNotificationSchema, ClientRequestSchema, ClientNotificationSchema, ClientResultSchema, ServerRequestSchema, ServerNotificationSchema, ServerResultSchema, McpError; +var init_types2 = __esm({ + "node_modules/@modelcontextprotocol/sdk/dist/esm/types.js"() { + init_zod(); + LATEST_PROTOCOL_VERSION = "2025-06-18"; + SUPPORTED_PROTOCOL_VERSIONS = [ + LATEST_PROTOCOL_VERSION, + "2025-03-26", + "2024-11-05", + "2024-10-07" + ]; + JSONRPC_VERSION = "2.0"; + ProgressTokenSchema = external_exports.union([external_exports.string(), external_exports.number().int()]); + CursorSchema = external_exports.string(); + RequestMetaSchema = external_exports.object({ + /** + * If specified, the caller is requesting out-of-band progress notifications for this request (as represented by notifications/progress). The value of this parameter is an opaque token that will be attached to any subsequent notifications. The receiver is not obligated to provide these notifications. + */ + progressToken: external_exports.optional(ProgressTokenSchema) + }).passthrough(); + BaseRequestParamsSchema = external_exports.object({ + _meta: external_exports.optional(RequestMetaSchema) + }).passthrough(); + RequestSchema = external_exports.object({ + method: external_exports.string(), + params: external_exports.optional(BaseRequestParamsSchema) + }); + BaseNotificationParamsSchema = external_exports.object({ + /** + * See [MCP specification](https://github.com/modelcontextprotocol/modelcontextprotocol/blob/47339c03c143bb4ec01a26e721a1b8fe66634ebe/docs/specification/draft/basic/index.mdx#general-fields) + * for notes on _meta usage. + */ + _meta: external_exports.optional(external_exports.object({}).passthrough()) + }).passthrough(); + NotificationSchema = external_exports.object({ + method: external_exports.string(), + params: external_exports.optional(BaseNotificationParamsSchema) + }); + ResultSchema = external_exports.object({ + /** + * See [MCP specification](https://github.com/modelcontextprotocol/modelcontextprotocol/blob/47339c03c143bb4ec01a26e721a1b8fe66634ebe/docs/specification/draft/basic/index.mdx#general-fields) + * for notes on _meta usage. + */ + _meta: external_exports.optional(external_exports.object({}).passthrough()) + }).passthrough(); + RequestIdSchema = external_exports.union([external_exports.string(), external_exports.number().int()]); + JSONRPCRequestSchema = external_exports.object({ + jsonrpc: external_exports.literal(JSONRPC_VERSION), + id: RequestIdSchema + }).merge(RequestSchema).strict(); + isJSONRPCRequest = (value) => JSONRPCRequestSchema.safeParse(value).success; + JSONRPCNotificationSchema = external_exports.object({ + jsonrpc: external_exports.literal(JSONRPC_VERSION) + }).merge(NotificationSchema).strict(); + isJSONRPCNotification = (value) => JSONRPCNotificationSchema.safeParse(value).success; + JSONRPCResponseSchema = external_exports.object({ + jsonrpc: external_exports.literal(JSONRPC_VERSION), + id: RequestIdSchema, + result: ResultSchema + }).strict(); + isJSONRPCResponse = (value) => JSONRPCResponseSchema.safeParse(value).success; + (function(ErrorCode3) { + ErrorCode3[ErrorCode3["ConnectionClosed"] = -32e3] = "ConnectionClosed"; + ErrorCode3[ErrorCode3["RequestTimeout"] = -32001] = "RequestTimeout"; + ErrorCode3[ErrorCode3["ParseError"] = -32700] = "ParseError"; + ErrorCode3[ErrorCode3["InvalidRequest"] = -32600] = "InvalidRequest"; + ErrorCode3[ErrorCode3["MethodNotFound"] = -32601] = "MethodNotFound"; + ErrorCode3[ErrorCode3["InvalidParams"] = -32602] = "InvalidParams"; + ErrorCode3[ErrorCode3["InternalError"] = -32603] = "InternalError"; + })(ErrorCode || (ErrorCode = {})); + JSONRPCErrorSchema = external_exports.object({ + jsonrpc: external_exports.literal(JSONRPC_VERSION), + id: RequestIdSchema, + error: external_exports.object({ + /** + * The error type that occurred. + */ + code: external_exports.number().int(), + /** + * A short description of the error. The message SHOULD be limited to a concise single sentence. + */ + message: external_exports.string(), + /** + * Additional information about the error. The value of this member is defined by the sender (e.g. detailed error information, nested errors etc.). + */ + data: external_exports.optional(external_exports.unknown()) + }) + }).strict(); + isJSONRPCError = (value) => JSONRPCErrorSchema.safeParse(value).success; + JSONRPCMessageSchema = external_exports.union([ + JSONRPCRequestSchema, + JSONRPCNotificationSchema, + JSONRPCResponseSchema, + JSONRPCErrorSchema + ]); + EmptyResultSchema = ResultSchema.strict(); + CancelledNotificationSchema = NotificationSchema.extend({ + method: external_exports.literal("notifications/cancelled"), + params: BaseNotificationParamsSchema.extend({ + /** + * The ID of the request to cancel. + * + * This MUST correspond to the ID of a request previously issued in the same direction. + */ + requestId: RequestIdSchema, + /** + * An optional string describing the reason for the cancellation. This MAY be logged or presented to the user. + */ + reason: external_exports.string().optional() + }) + }); + BaseMetadataSchema = external_exports.object({ + /** Intended for programmatic or logical use, but used as a display name in past specs or fallback */ + name: external_exports.string(), + /** + * Intended for UI and end-user contexts — optimized to be human-readable and easily understood, + * even by those unfamiliar with domain-specific terminology. + * + * If not provided, the name should be used for display (except for Tool, + * where `annotations.title` should be given precedence over using `name`, + * if present). + */ + title: external_exports.optional(external_exports.string()) + }).passthrough(); + ImplementationSchema = BaseMetadataSchema.extend({ + version: external_exports.string() + }); + ClientCapabilitiesSchema = external_exports.object({ + /** + * Experimental, non-standard capabilities that the client supports. + */ + experimental: external_exports.optional(external_exports.object({}).passthrough()), + /** + * Present if the client supports sampling from an LLM. + */ + sampling: external_exports.optional(external_exports.object({}).passthrough()), + /** + * Present if the client supports eliciting user input. + */ + elicitation: external_exports.optional(external_exports.object({}).passthrough()), + /** + * Present if the client supports listing roots. + */ + roots: external_exports.optional(external_exports.object({ + /** + * Whether the client supports issuing notifications for changes to the roots list. + */ + listChanged: external_exports.optional(external_exports.boolean()) + }).passthrough()) + }).passthrough(); + InitializeRequestSchema = RequestSchema.extend({ + method: external_exports.literal("initialize"), + params: BaseRequestParamsSchema.extend({ + /** + * The latest version of the Model Context Protocol that the client supports. The client MAY decide to support older versions as well. + */ + protocolVersion: external_exports.string(), + capabilities: ClientCapabilitiesSchema, + clientInfo: ImplementationSchema + }) + }); + ServerCapabilitiesSchema = external_exports.object({ + /** + * Experimental, non-standard capabilities that the server supports. + */ + experimental: external_exports.optional(external_exports.object({}).passthrough()), + /** + * Present if the server supports sending log messages to the client. + */ + logging: external_exports.optional(external_exports.object({}).passthrough()), + /** + * Present if the server supports sending completions to the client. + */ + completions: external_exports.optional(external_exports.object({}).passthrough()), + /** + * Present if the server offers any prompt templates. + */ + prompts: external_exports.optional(external_exports.object({ + /** + * Whether this server supports issuing notifications for changes to the prompt list. + */ + listChanged: external_exports.optional(external_exports.boolean()) + }).passthrough()), + /** + * Present if the server offers any resources to read. + */ + resources: external_exports.optional(external_exports.object({ + /** + * Whether this server supports clients subscribing to resource updates. + */ + subscribe: external_exports.optional(external_exports.boolean()), + /** + * Whether this server supports issuing notifications for changes to the resource list. + */ + listChanged: external_exports.optional(external_exports.boolean()) + }).passthrough()), + /** + * Present if the server offers any tools to call. + */ + tools: external_exports.optional(external_exports.object({ + /** + * Whether this server supports issuing notifications for changes to the tool list. + */ + listChanged: external_exports.optional(external_exports.boolean()) + }).passthrough()) + }).passthrough(); + InitializeResultSchema = ResultSchema.extend({ + /** + * The version of the Model Context Protocol that the server wants to use. This may not match the version that the client requested. If the client cannot support this version, it MUST disconnect. + */ + protocolVersion: external_exports.string(), + capabilities: ServerCapabilitiesSchema, + serverInfo: ImplementationSchema, + /** + * Instructions describing how to use the server and its features. + * + * This can be used by clients to improve the LLM's understanding of available tools, resources, etc. It can be thought of like a "hint" to the model. For example, this information MAY be added to the system prompt. + */ + instructions: external_exports.optional(external_exports.string()) + }); + InitializedNotificationSchema = NotificationSchema.extend({ + method: external_exports.literal("notifications/initialized") + }); + PingRequestSchema = RequestSchema.extend({ + method: external_exports.literal("ping") + }); + ProgressSchema = external_exports.object({ + /** + * The progress thus far. This should increase every time progress is made, even if the total is unknown. + */ + progress: external_exports.number(), + /** + * Total number of items to process (or total progress required), if known. + */ + total: external_exports.optional(external_exports.number()), + /** + * An optional message describing the current progress. + */ + message: external_exports.optional(external_exports.string()) + }).passthrough(); + ProgressNotificationSchema = NotificationSchema.extend({ + method: external_exports.literal("notifications/progress"), + params: BaseNotificationParamsSchema.merge(ProgressSchema).extend({ + /** + * The progress token which was given in the initial request, used to associate this notification with the request that is proceeding. + */ + progressToken: ProgressTokenSchema + }) + }); + PaginatedRequestSchema = RequestSchema.extend({ + params: BaseRequestParamsSchema.extend({ + /** + * An opaque token representing the current pagination position. + * If provided, the server should return results starting after this cursor. + */ + cursor: external_exports.optional(CursorSchema) + }).optional() + }); + PaginatedResultSchema = ResultSchema.extend({ + /** + * An opaque token representing the pagination position after the last returned result. + * If present, there may be more results available. + */ + nextCursor: external_exports.optional(CursorSchema) + }); + ResourceContentsSchema = external_exports.object({ + /** + * The URI of this resource. + */ + uri: external_exports.string(), + /** + * The MIME type of this resource, if known. + */ + mimeType: external_exports.optional(external_exports.string()), + /** + * See [MCP specification](https://github.com/modelcontextprotocol/modelcontextprotocol/blob/47339c03c143bb4ec01a26e721a1b8fe66634ebe/docs/specification/draft/basic/index.mdx#general-fields) + * for notes on _meta usage. + */ + _meta: external_exports.optional(external_exports.object({}).passthrough()) + }).passthrough(); + TextResourceContentsSchema = ResourceContentsSchema.extend({ + /** + * The text of the item. This must only be set if the item can actually be represented as text (not binary data). + */ + text: external_exports.string() + }); + Base64Schema = external_exports.string().refine((val) => { + try { + atob(val); + return true; + } catch (_a) { + return false; + } + }, { message: "Invalid Base64 string" }); + BlobResourceContentsSchema = ResourceContentsSchema.extend({ + /** + * A base64-encoded string representing the binary data of the item. + */ + blob: Base64Schema + }); + ResourceSchema = BaseMetadataSchema.extend({ + /** + * The URI of this resource. + */ + uri: external_exports.string(), + /** + * A description of what this resource represents. + * + * This can be used by clients to improve the LLM's understanding of available resources. It can be thought of like a "hint" to the model. + */ + description: external_exports.optional(external_exports.string()), + /** + * The MIME type of this resource, if known. + */ + mimeType: external_exports.optional(external_exports.string()), + /** + * See [MCP specification](https://github.com/modelcontextprotocol/modelcontextprotocol/blob/47339c03c143bb4ec01a26e721a1b8fe66634ebe/docs/specification/draft/basic/index.mdx#general-fields) + * for notes on _meta usage. + */ + _meta: external_exports.optional(external_exports.object({}).passthrough()) + }); + ResourceTemplateSchema = BaseMetadataSchema.extend({ + /** + * A URI template (according to RFC 6570) that can be used to construct resource URIs. + */ + uriTemplate: external_exports.string(), + /** + * A description of what this template is for. + * + * This can be used by clients to improve the LLM's understanding of available resources. It can be thought of like a "hint" to the model. + */ + description: external_exports.optional(external_exports.string()), + /** + * The MIME type for all resources that match this template. This should only be included if all resources matching this template have the same type. + */ + mimeType: external_exports.optional(external_exports.string()), + /** + * See [MCP specification](https://github.com/modelcontextprotocol/modelcontextprotocol/blob/47339c03c143bb4ec01a26e721a1b8fe66634ebe/docs/specification/draft/basic/index.mdx#general-fields) + * for notes on _meta usage. + */ + _meta: external_exports.optional(external_exports.object({}).passthrough()) + }); + ListResourcesRequestSchema = PaginatedRequestSchema.extend({ + method: external_exports.literal("resources/list") + }); + ListResourcesResultSchema = PaginatedResultSchema.extend({ + resources: external_exports.array(ResourceSchema) + }); + ListResourceTemplatesRequestSchema = PaginatedRequestSchema.extend({ + method: external_exports.literal("resources/templates/list") + }); + ListResourceTemplatesResultSchema = PaginatedResultSchema.extend({ + resourceTemplates: external_exports.array(ResourceTemplateSchema) + }); + ReadResourceRequestSchema = RequestSchema.extend({ + method: external_exports.literal("resources/read"), + params: BaseRequestParamsSchema.extend({ + /** + * The URI of the resource to read. The URI can use any protocol; it is up to the server how to interpret it. + */ + uri: external_exports.string() + }) + }); + ReadResourceResultSchema = ResultSchema.extend({ + contents: external_exports.array(external_exports.union([TextResourceContentsSchema, BlobResourceContentsSchema])) + }); + ResourceListChangedNotificationSchema = NotificationSchema.extend({ + method: external_exports.literal("notifications/resources/list_changed") + }); + SubscribeRequestSchema = RequestSchema.extend({ + method: external_exports.literal("resources/subscribe"), + params: BaseRequestParamsSchema.extend({ + /** + * The URI of the resource to subscribe to. The URI can use any protocol; it is up to the server how to interpret it. + */ + uri: external_exports.string() + }) + }); + UnsubscribeRequestSchema = RequestSchema.extend({ + method: external_exports.literal("resources/unsubscribe"), + params: BaseRequestParamsSchema.extend({ + /** + * The URI of the resource to unsubscribe from. + */ + uri: external_exports.string() + }) + }); + ResourceUpdatedNotificationSchema = NotificationSchema.extend({ + method: external_exports.literal("notifications/resources/updated"), + params: BaseNotificationParamsSchema.extend({ + /** + * The URI of the resource that has been updated. This might be a sub-resource of the one that the client actually subscribed to. + */ + uri: external_exports.string() + }) + }); + PromptArgumentSchema = external_exports.object({ + /** + * The name of the argument. + */ + name: external_exports.string(), + /** + * A human-readable description of the argument. + */ + description: external_exports.optional(external_exports.string()), + /** + * Whether this argument must be provided. + */ + required: external_exports.optional(external_exports.boolean()) + }).passthrough(); + PromptSchema = BaseMetadataSchema.extend({ + /** + * An optional description of what this prompt provides + */ + description: external_exports.optional(external_exports.string()), + /** + * A list of arguments to use for templating the prompt. + */ + arguments: external_exports.optional(external_exports.array(PromptArgumentSchema)), + /** + * See [MCP specification](https://github.com/modelcontextprotocol/modelcontextprotocol/blob/47339c03c143bb4ec01a26e721a1b8fe66634ebe/docs/specification/draft/basic/index.mdx#general-fields) + * for notes on _meta usage. + */ + _meta: external_exports.optional(external_exports.object({}).passthrough()) + }); + ListPromptsRequestSchema = PaginatedRequestSchema.extend({ + method: external_exports.literal("prompts/list") + }); + ListPromptsResultSchema = PaginatedResultSchema.extend({ + prompts: external_exports.array(PromptSchema) + }); + GetPromptRequestSchema = RequestSchema.extend({ + method: external_exports.literal("prompts/get"), + params: BaseRequestParamsSchema.extend({ + /** + * The name of the prompt or prompt template. + */ + name: external_exports.string(), + /** + * Arguments to use for templating the prompt. + */ + arguments: external_exports.optional(external_exports.record(external_exports.string())) + }) + }); + TextContentSchema = external_exports.object({ + type: external_exports.literal("text"), + /** + * The text content of the message. + */ + text: external_exports.string(), + /** + * See [MCP specification](https://github.com/modelcontextprotocol/modelcontextprotocol/blob/47339c03c143bb4ec01a26e721a1b8fe66634ebe/docs/specification/draft/basic/index.mdx#general-fields) + * for notes on _meta usage. + */ + _meta: external_exports.optional(external_exports.object({}).passthrough()) + }).passthrough(); + ImageContentSchema = external_exports.object({ + type: external_exports.literal("image"), + /** + * The base64-encoded image data. + */ + data: Base64Schema, + /** + * The MIME type of the image. Different providers may support different image types. + */ + mimeType: external_exports.string(), + /** + * See [MCP specification](https://github.com/modelcontextprotocol/modelcontextprotocol/blob/47339c03c143bb4ec01a26e721a1b8fe66634ebe/docs/specification/draft/basic/index.mdx#general-fields) + * for notes on _meta usage. + */ + _meta: external_exports.optional(external_exports.object({}).passthrough()) + }).passthrough(); + AudioContentSchema = external_exports.object({ + type: external_exports.literal("audio"), + /** + * The base64-encoded audio data. + */ + data: Base64Schema, + /** + * The MIME type of the audio. Different providers may support different audio types. + */ + mimeType: external_exports.string(), + /** + * See [MCP specification](https://github.com/modelcontextprotocol/modelcontextprotocol/blob/47339c03c143bb4ec01a26e721a1b8fe66634ebe/docs/specification/draft/basic/index.mdx#general-fields) + * for notes on _meta usage. + */ + _meta: external_exports.optional(external_exports.object({}).passthrough()) + }).passthrough(); + EmbeddedResourceSchema = external_exports.object({ + type: external_exports.literal("resource"), + resource: external_exports.union([TextResourceContentsSchema, BlobResourceContentsSchema]), + /** + * See [MCP specification](https://github.com/modelcontextprotocol/modelcontextprotocol/blob/47339c03c143bb4ec01a26e721a1b8fe66634ebe/docs/specification/draft/basic/index.mdx#general-fields) + * for notes on _meta usage. + */ + _meta: external_exports.optional(external_exports.object({}).passthrough()) + }).passthrough(); + ResourceLinkSchema = ResourceSchema.extend({ + type: external_exports.literal("resource_link") + }); + ContentBlockSchema = external_exports.union([ + TextContentSchema, + ImageContentSchema, + AudioContentSchema, + ResourceLinkSchema, + EmbeddedResourceSchema + ]); + PromptMessageSchema = external_exports.object({ + role: external_exports.enum(["user", "assistant"]), + content: ContentBlockSchema + }).passthrough(); + GetPromptResultSchema = ResultSchema.extend({ + /** + * An optional description for the prompt. + */ + description: external_exports.optional(external_exports.string()), + messages: external_exports.array(PromptMessageSchema) + }); + PromptListChangedNotificationSchema = NotificationSchema.extend({ + method: external_exports.literal("notifications/prompts/list_changed") + }); + ToolAnnotationsSchema = external_exports.object({ + /** + * A human-readable title for the tool. + */ + title: external_exports.optional(external_exports.string()), + /** + * If true, the tool does not modify its environment. + * + * Default: false + */ + readOnlyHint: external_exports.optional(external_exports.boolean()), + /** + * If true, the tool may perform destructive updates to its environment. + * If false, the tool performs only additive updates. + * + * (This property is meaningful only when `readOnlyHint == false`) + * + * Default: true + */ + destructiveHint: external_exports.optional(external_exports.boolean()), + /** + * If true, calling the tool repeatedly with the same arguments + * will have no additional effect on the its environment. + * + * (This property is meaningful only when `readOnlyHint == false`) + * + * Default: false + */ + idempotentHint: external_exports.optional(external_exports.boolean()), + /** + * If true, this tool may interact with an "open world" of external + * entities. If false, the tool's domain of interaction is closed. + * For example, the world of a web search tool is open, whereas that + * of a memory tool is not. + * + * Default: true + */ + openWorldHint: external_exports.optional(external_exports.boolean()) + }).passthrough(); + ToolSchema = BaseMetadataSchema.extend({ + /** + * A human-readable description of the tool. + */ + description: external_exports.optional(external_exports.string()), + /** + * A JSON Schema object defining the expected parameters for the tool. + */ + inputSchema: external_exports.object({ + type: external_exports.literal("object"), + properties: external_exports.optional(external_exports.object({}).passthrough()), + required: external_exports.optional(external_exports.array(external_exports.string())) + }).passthrough(), + /** + * An optional JSON Schema object defining the structure of the tool's output returned in + * the structuredContent field of a CallToolResult. + */ + outputSchema: external_exports.optional(external_exports.object({ + type: external_exports.literal("object"), + properties: external_exports.optional(external_exports.object({}).passthrough()), + required: external_exports.optional(external_exports.array(external_exports.string())) + }).passthrough()), + /** + * Optional additional tool information. + */ + annotations: external_exports.optional(ToolAnnotationsSchema), + /** + * See [MCP specification](https://github.com/modelcontextprotocol/modelcontextprotocol/blob/47339c03c143bb4ec01a26e721a1b8fe66634ebe/docs/specification/draft/basic/index.mdx#general-fields) + * for notes on _meta usage. + */ + _meta: external_exports.optional(external_exports.object({}).passthrough()) + }); + ListToolsRequestSchema = PaginatedRequestSchema.extend({ + method: external_exports.literal("tools/list") + }); + ListToolsResultSchema = PaginatedResultSchema.extend({ + tools: external_exports.array(ToolSchema) + }); + CallToolResultSchema = ResultSchema.extend({ + /** + * A list of content objects that represent the result of the tool call. + * + * If the Tool does not define an outputSchema, this field MUST be present in the result. + * For backwards compatibility, this field is always present, but it may be empty. + */ + content: external_exports.array(ContentBlockSchema).default([]), + /** + * An object containing structured tool output. + * + * If the Tool defines an outputSchema, this field MUST be present in the result, and contain a JSON object that matches the schema. + */ + structuredContent: external_exports.object({}).passthrough().optional(), + /** + * Whether the tool call ended in an error. + * + * If not set, this is assumed to be false (the call was successful). + * + * Any errors that originate from the tool SHOULD be reported inside the result + * object, with `isError` set to true, _not_ as an MCP protocol-level error + * response. Otherwise, the LLM would not be able to see that an error occurred + * and self-correct. + * + * However, any errors in _finding_ the tool, an error indicating that the + * server does not support tool calls, or any other exceptional conditions, + * should be reported as an MCP error response. + */ + isError: external_exports.optional(external_exports.boolean()) + }); + CompatibilityCallToolResultSchema = CallToolResultSchema.or(ResultSchema.extend({ + toolResult: external_exports.unknown() + })); + CallToolRequestSchema = RequestSchema.extend({ + method: external_exports.literal("tools/call"), + params: BaseRequestParamsSchema.extend({ + name: external_exports.string(), + arguments: external_exports.optional(external_exports.record(external_exports.unknown())) + }) + }); + ToolListChangedNotificationSchema = NotificationSchema.extend({ + method: external_exports.literal("notifications/tools/list_changed") + }); + LoggingLevelSchema = external_exports.enum([ + "debug", + "info", + "notice", + "warning", + "error", + "critical", + "alert", + "emergency" + ]); + SetLevelRequestSchema = RequestSchema.extend({ + method: external_exports.literal("logging/setLevel"), + params: BaseRequestParamsSchema.extend({ + /** + * The level of logging that the client wants to receive from the server. The server should send all logs at this level and higher (i.e., more severe) to the client as notifications/logging/message. + */ + level: LoggingLevelSchema + }) + }); + LoggingMessageNotificationSchema = NotificationSchema.extend({ + method: external_exports.literal("notifications/message"), + params: BaseNotificationParamsSchema.extend({ + /** + * The severity of this log message. + */ + level: LoggingLevelSchema, + /** + * An optional name of the logger issuing this message. + */ + logger: external_exports.optional(external_exports.string()), + /** + * The data to be logged, such as a string message or an object. Any JSON serializable type is allowed here. + */ + data: external_exports.unknown() + }) + }); + ModelHintSchema = external_exports.object({ + /** + * A hint for a model name. + */ + name: external_exports.string().optional() + }).passthrough(); + ModelPreferencesSchema = external_exports.object({ + /** + * Optional hints to use for model selection. + */ + hints: external_exports.optional(external_exports.array(ModelHintSchema)), + /** + * How much to prioritize cost when selecting a model. + */ + costPriority: external_exports.optional(external_exports.number().min(0).max(1)), + /** + * How much to prioritize sampling speed (latency) when selecting a model. + */ + speedPriority: external_exports.optional(external_exports.number().min(0).max(1)), + /** + * How much to prioritize intelligence and capabilities when selecting a model. + */ + intelligencePriority: external_exports.optional(external_exports.number().min(0).max(1)) + }).passthrough(); + SamplingMessageSchema = external_exports.object({ + role: external_exports.enum(["user", "assistant"]), + content: external_exports.union([TextContentSchema, ImageContentSchema, AudioContentSchema]) + }).passthrough(); + CreateMessageRequestSchema = RequestSchema.extend({ + method: external_exports.literal("sampling/createMessage"), + params: BaseRequestParamsSchema.extend({ + messages: external_exports.array(SamplingMessageSchema), + /** + * An optional system prompt the server wants to use for sampling. The client MAY modify or omit this prompt. + */ + systemPrompt: external_exports.optional(external_exports.string()), + /** + * A request to include context from one or more MCP servers (including the caller), to be attached to the prompt. The client MAY ignore this request. + */ + includeContext: external_exports.optional(external_exports.enum(["none", "thisServer", "allServers"])), + temperature: external_exports.optional(external_exports.number()), + /** + * The maximum number of tokens to sample, as requested by the server. The client MAY choose to sample fewer tokens than requested. + */ + maxTokens: external_exports.number().int(), + stopSequences: external_exports.optional(external_exports.array(external_exports.string())), + /** + * Optional metadata to pass through to the LLM provider. The format of this metadata is provider-specific. + */ + metadata: external_exports.optional(external_exports.object({}).passthrough()), + /** + * The server's preferences for which model to select. + */ + modelPreferences: external_exports.optional(ModelPreferencesSchema) + }) + }); + CreateMessageResultSchema = ResultSchema.extend({ + /** + * The name of the model that generated the message. + */ + model: external_exports.string(), + /** + * The reason why sampling stopped. + */ + stopReason: external_exports.optional(external_exports.enum(["endTurn", "stopSequence", "maxTokens"]).or(external_exports.string())), + role: external_exports.enum(["user", "assistant"]), + content: external_exports.discriminatedUnion("type", [ + TextContentSchema, + ImageContentSchema, + AudioContentSchema + ]) + }); + BooleanSchemaSchema = external_exports.object({ + type: external_exports.literal("boolean"), + title: external_exports.optional(external_exports.string()), + description: external_exports.optional(external_exports.string()), + default: external_exports.optional(external_exports.boolean()) + }).passthrough(); + StringSchemaSchema = external_exports.object({ + type: external_exports.literal("string"), + title: external_exports.optional(external_exports.string()), + description: external_exports.optional(external_exports.string()), + minLength: external_exports.optional(external_exports.number()), + maxLength: external_exports.optional(external_exports.number()), + format: external_exports.optional(external_exports.enum(["email", "uri", "date", "date-time"])) + }).passthrough(); + NumberSchemaSchema = external_exports.object({ + type: external_exports.enum(["number", "integer"]), + title: external_exports.optional(external_exports.string()), + description: external_exports.optional(external_exports.string()), + minimum: external_exports.optional(external_exports.number()), + maximum: external_exports.optional(external_exports.number()) + }).passthrough(); + EnumSchemaSchema = external_exports.object({ + type: external_exports.literal("string"), + title: external_exports.optional(external_exports.string()), + description: external_exports.optional(external_exports.string()), + enum: external_exports.array(external_exports.string()), + enumNames: external_exports.optional(external_exports.array(external_exports.string())) + }).passthrough(); + PrimitiveSchemaDefinitionSchema = external_exports.union([ + BooleanSchemaSchema, + StringSchemaSchema, + NumberSchemaSchema, + EnumSchemaSchema + ]); + ElicitRequestSchema = RequestSchema.extend({ + method: external_exports.literal("elicitation/create"), + params: BaseRequestParamsSchema.extend({ + /** + * The message to present to the user. + */ + message: external_exports.string(), + /** + * The schema for the requested user input. + */ + requestedSchema: external_exports.object({ + type: external_exports.literal("object"), + properties: external_exports.record(external_exports.string(), PrimitiveSchemaDefinitionSchema), + required: external_exports.optional(external_exports.array(external_exports.string())) + }).passthrough() + }) + }); + ElicitResultSchema = ResultSchema.extend({ + /** + * The user's response action. + */ + action: external_exports.enum(["accept", "decline", "cancel"]), + /** + * The collected user input content (only present if action is "accept"). + */ + content: external_exports.optional(external_exports.record(external_exports.string(), external_exports.unknown())) + }); + ResourceTemplateReferenceSchema = external_exports.object({ + type: external_exports.literal("ref/resource"), + /** + * The URI or URI template of the resource. + */ + uri: external_exports.string() + }).passthrough(); + PromptReferenceSchema = external_exports.object({ + type: external_exports.literal("ref/prompt"), + /** + * The name of the prompt or prompt template + */ + name: external_exports.string() + }).passthrough(); + CompleteRequestSchema = RequestSchema.extend({ + method: external_exports.literal("completion/complete"), + params: BaseRequestParamsSchema.extend({ + ref: external_exports.union([PromptReferenceSchema, ResourceTemplateReferenceSchema]), + /** + * The argument's information + */ + argument: external_exports.object({ + /** + * The name of the argument + */ + name: external_exports.string(), + /** + * The value of the argument to use for completion matching. + */ + value: external_exports.string() + }).passthrough(), + context: external_exports.optional(external_exports.object({ + /** + * Previously-resolved variables in a URI template or prompt. + */ + arguments: external_exports.optional(external_exports.record(external_exports.string(), external_exports.string())) + })) + }) + }); + CompleteResultSchema = ResultSchema.extend({ + completion: external_exports.object({ + /** + * An array of completion values. Must not exceed 100 items. + */ + values: external_exports.array(external_exports.string()).max(100), + /** + * The total number of completion options available. This can exceed the number of values actually sent in the response. + */ + total: external_exports.optional(external_exports.number().int()), + /** + * Indicates whether there are additional completion options beyond those provided in the current response, even if the exact total is unknown. + */ + hasMore: external_exports.optional(external_exports.boolean()) + }).passthrough() + }); + RootSchema = external_exports.object({ + /** + * The URI identifying the root. This *must* start with file:// for now. + */ + uri: external_exports.string().startsWith("file://"), + /** + * An optional name for the root. + */ + name: external_exports.optional(external_exports.string()), + /** + * See [MCP specification](https://github.com/modelcontextprotocol/modelcontextprotocol/blob/47339c03c143bb4ec01a26e721a1b8fe66634ebe/docs/specification/draft/basic/index.mdx#general-fields) + * for notes on _meta usage. + */ + _meta: external_exports.optional(external_exports.object({}).passthrough()) + }).passthrough(); + ListRootsRequestSchema = RequestSchema.extend({ + method: external_exports.literal("roots/list") + }); + ListRootsResultSchema = ResultSchema.extend({ + roots: external_exports.array(RootSchema) + }); + RootsListChangedNotificationSchema = NotificationSchema.extend({ + method: external_exports.literal("notifications/roots/list_changed") + }); + ClientRequestSchema = external_exports.union([ + PingRequestSchema, + InitializeRequestSchema, + CompleteRequestSchema, + SetLevelRequestSchema, + GetPromptRequestSchema, + ListPromptsRequestSchema, + ListResourcesRequestSchema, + ListResourceTemplatesRequestSchema, + ReadResourceRequestSchema, + SubscribeRequestSchema, + UnsubscribeRequestSchema, + CallToolRequestSchema, + ListToolsRequestSchema + ]); + ClientNotificationSchema = external_exports.union([ + CancelledNotificationSchema, + ProgressNotificationSchema, + InitializedNotificationSchema, + RootsListChangedNotificationSchema + ]); + ClientResultSchema = external_exports.union([ + EmptyResultSchema, + CreateMessageResultSchema, + ElicitResultSchema, + ListRootsResultSchema + ]); + ServerRequestSchema = external_exports.union([ + PingRequestSchema, + CreateMessageRequestSchema, + ElicitRequestSchema, + ListRootsRequestSchema + ]); + ServerNotificationSchema = external_exports.union([ + CancelledNotificationSchema, + ProgressNotificationSchema, + LoggingMessageNotificationSchema, + ResourceUpdatedNotificationSchema, + ResourceListChangedNotificationSchema, + ToolListChangedNotificationSchema, + PromptListChangedNotificationSchema + ]); + ServerResultSchema = external_exports.union([ + EmptyResultSchema, + InitializeResultSchema, + CompleteResultSchema, + GetPromptResultSchema, + ListPromptsResultSchema, + ListResourcesResultSchema, + ListResourceTemplatesResultSchema, + ReadResourceResultSchema, + CallToolResultSchema, + ListToolsResultSchema + ]); + McpError = class extends Error { + constructor(code, message, data) { + super(`MCP error ${code}: ${message}`); + this.code = code; + this.data = data; + this.name = "McpError"; + } + }; + } +}); + +// node_modules/@modelcontextprotocol/sdk/dist/esm/shared/protocol.js +function mergeCapabilities(base, additional) { + return Object.entries(additional).reduce((acc, [key, value]) => { + if (value && typeof value === "object") { + acc[key] = acc[key] ? { ...acc[key], ...value } : value; + } else { + acc[key] = value; + } + return acc; + }, { ...base }); +} +var DEFAULT_REQUEST_TIMEOUT_MSEC, Protocol; +var init_protocol = __esm({ + "node_modules/@modelcontextprotocol/sdk/dist/esm/shared/protocol.js"() { + init_types2(); + DEFAULT_REQUEST_TIMEOUT_MSEC = 6e4; + Protocol = class { + constructor(_options) { + this._options = _options; + this._requestMessageId = 0; + this._requestHandlers = /* @__PURE__ */ new Map(); + this._requestHandlerAbortControllers = /* @__PURE__ */ new Map(); + this._notificationHandlers = /* @__PURE__ */ new Map(); + this._responseHandlers = /* @__PURE__ */ new Map(); + this._progressHandlers = /* @__PURE__ */ new Map(); + this._timeoutInfo = /* @__PURE__ */ new Map(); + this._pendingDebouncedNotifications = /* @__PURE__ */ new Set(); + this.setNotificationHandler(CancelledNotificationSchema, (notification) => { + const controller = this._requestHandlerAbortControllers.get(notification.params.requestId); + controller === null || controller === void 0 ? void 0 : controller.abort(notification.params.reason); + }); + this.setNotificationHandler(ProgressNotificationSchema, (notification) => { + this._onprogress(notification); + }); + this.setRequestHandler( + PingRequestSchema, + // Automatic pong by default. + (_request) => ({}) + ); + } + _setupTimeout(messageId, timeout, maxTotalTimeout, onTimeout, resetTimeoutOnProgress = false) { + this._timeoutInfo.set(messageId, { + timeoutId: setTimeout(onTimeout, timeout), + startTime: Date.now(), + timeout, + maxTotalTimeout, + resetTimeoutOnProgress, + onTimeout + }); + } + _resetTimeout(messageId) { + const info = this._timeoutInfo.get(messageId); + if (!info) + return false; + const totalElapsed = Date.now() - info.startTime; + if (info.maxTotalTimeout && totalElapsed >= info.maxTotalTimeout) { + this._timeoutInfo.delete(messageId); + throw new McpError(ErrorCode.RequestTimeout, "Maximum total timeout exceeded", { maxTotalTimeout: info.maxTotalTimeout, totalElapsed }); + } + clearTimeout(info.timeoutId); + info.timeoutId = setTimeout(info.onTimeout, info.timeout); + return true; + } + _cleanupTimeout(messageId) { + const info = this._timeoutInfo.get(messageId); + if (info) { + clearTimeout(info.timeoutId); + this._timeoutInfo.delete(messageId); + } + } + /** + * Attaches to the given transport, starts it, and starts listening for messages. + * + * The Protocol object assumes ownership of the Transport, replacing any callbacks that have already been set, and expects that it is the only user of the Transport instance going forward. + */ + async connect(transport) { + var _a, _b, _c; + this._transport = transport; + const _onclose = (_a = this.transport) === null || _a === void 0 ? void 0 : _a.onclose; + this._transport.onclose = () => { + _onclose === null || _onclose === void 0 ? void 0 : _onclose(); + this._onclose(); + }; + const _onerror = (_b = this.transport) === null || _b === void 0 ? void 0 : _b.onerror; + this._transport.onerror = (error) => { + _onerror === null || _onerror === void 0 ? void 0 : _onerror(error); + this._onerror(error); + }; + const _onmessage = (_c = this._transport) === null || _c === void 0 ? void 0 : _c.onmessage; + this._transport.onmessage = (message, extra) => { + _onmessage === null || _onmessage === void 0 ? void 0 : _onmessage(message, extra); + if (isJSONRPCResponse(message) || isJSONRPCError(message)) { + this._onresponse(message); + } else if (isJSONRPCRequest(message)) { + this._onrequest(message, extra); + } else if (isJSONRPCNotification(message)) { + this._onnotification(message); + } else { + this._onerror(new Error(`Unknown message type: ${JSON.stringify(message)}`)); + } + }; + await this._transport.start(); + } + _onclose() { + var _a; + const responseHandlers = this._responseHandlers; + this._responseHandlers = /* @__PURE__ */ new Map(); + this._progressHandlers.clear(); + this._pendingDebouncedNotifications.clear(); + this._transport = void 0; + (_a = this.onclose) === null || _a === void 0 ? void 0 : _a.call(this); + const error = new McpError(ErrorCode.ConnectionClosed, "Connection closed"); + for (const handler of responseHandlers.values()) { + handler(error); + } + } + _onerror(error) { + var _a; + (_a = this.onerror) === null || _a === void 0 ? void 0 : _a.call(this, error); + } + _onnotification(notification) { + var _a; + const handler = (_a = this._notificationHandlers.get(notification.method)) !== null && _a !== void 0 ? _a : this.fallbackNotificationHandler; + if (handler === void 0) { + return; + } + Promise.resolve().then(() => handler(notification)).catch((error) => this._onerror(new Error(`Uncaught error in notification handler: ${error}`))); + } + _onrequest(request, extra) { + var _a, _b; + const handler = (_a = this._requestHandlers.get(request.method)) !== null && _a !== void 0 ? _a : this.fallbackRequestHandler; + const capturedTransport = this._transport; + if (handler === void 0) { + capturedTransport === null || capturedTransport === void 0 ? void 0 : capturedTransport.send({ + jsonrpc: "2.0", + id: request.id, + error: { + code: ErrorCode.MethodNotFound, + message: "Method not found" + } + }).catch((error) => this._onerror(new Error(`Failed to send an error response: ${error}`))); + return; + } + const abortController = new AbortController(); + this._requestHandlerAbortControllers.set(request.id, abortController); + const fullExtra = { + signal: abortController.signal, + sessionId: capturedTransport === null || capturedTransport === void 0 ? void 0 : capturedTransport.sessionId, + _meta: (_b = request.params) === null || _b === void 0 ? void 0 : _b._meta, + sendNotification: (notification) => this.notification(notification, { relatedRequestId: request.id }), + sendRequest: (r, resultSchema, options) => this.request(r, resultSchema, { ...options, relatedRequestId: request.id }), + authInfo: extra === null || extra === void 0 ? void 0 : extra.authInfo, + requestId: request.id, + requestInfo: extra === null || extra === void 0 ? void 0 : extra.requestInfo + }; + Promise.resolve().then(() => handler(request, fullExtra)).then((result) => { + if (abortController.signal.aborted) { + return; + } + return capturedTransport === null || capturedTransport === void 0 ? void 0 : capturedTransport.send({ + result, + jsonrpc: "2.0", + id: request.id + }); + }, (error) => { + var _a2; + if (abortController.signal.aborted) { + return; + } + return capturedTransport === null || capturedTransport === void 0 ? void 0 : capturedTransport.send({ + jsonrpc: "2.0", + id: request.id, + error: { + code: Number.isSafeInteger(error["code"]) ? error["code"] : ErrorCode.InternalError, + message: (_a2 = error.message) !== null && _a2 !== void 0 ? _a2 : "Internal error" + } + }); + }).catch((error) => this._onerror(new Error(`Failed to send response: ${error}`))).finally(() => { + this._requestHandlerAbortControllers.delete(request.id); + }); + } + _onprogress(notification) { + const { progressToken, ...params } = notification.params; + const messageId = Number(progressToken); + const handler = this._progressHandlers.get(messageId); + if (!handler) { + this._onerror(new Error(`Received a progress notification for an unknown token: ${JSON.stringify(notification)}`)); + return; + } + const responseHandler = this._responseHandlers.get(messageId); + const timeoutInfo = this._timeoutInfo.get(messageId); + if (timeoutInfo && responseHandler && timeoutInfo.resetTimeoutOnProgress) { + try { + this._resetTimeout(messageId); + } catch (error) { + responseHandler(error); + return; + } + } + handler(params); + } + _onresponse(response) { + const messageId = Number(response.id); + const handler = this._responseHandlers.get(messageId); + if (handler === void 0) { + this._onerror(new Error(`Received a response for an unknown message ID: ${JSON.stringify(response)}`)); + return; + } + this._responseHandlers.delete(messageId); + this._progressHandlers.delete(messageId); + this._cleanupTimeout(messageId); + if (isJSONRPCResponse(response)) { + handler(response); + } else { + const error = new McpError(response.error.code, response.error.message, response.error.data); + handler(error); + } + } + get transport() { + return this._transport; + } + /** + * Closes the connection. + */ + async close() { + var _a; + await ((_a = this._transport) === null || _a === void 0 ? void 0 : _a.close()); + } + /** + * Sends a request and wait for a response. + * + * Do not use this method to emit notifications! Use notification() instead. + */ + request(request, resultSchema, options) { + const { relatedRequestId, resumptionToken, onresumptiontoken } = options !== null && options !== void 0 ? options : {}; + return new Promise((resolve, reject) => { + var _a, _b, _c, _d, _e, _f; + if (!this._transport) { + reject(new Error("Not connected")); + return; + } + if (((_a = this._options) === null || _a === void 0 ? void 0 : _a.enforceStrictCapabilities) === true) { + this.assertCapabilityForMethod(request.method); + } + (_b = options === null || options === void 0 ? void 0 : options.signal) === null || _b === void 0 ? void 0 : _b.throwIfAborted(); + const messageId = this._requestMessageId++; + const jsonrpcRequest = { + ...request, + jsonrpc: "2.0", + id: messageId + }; + if (options === null || options === void 0 ? void 0 : options.onprogress) { + this._progressHandlers.set(messageId, options.onprogress); + jsonrpcRequest.params = { + ...request.params, + _meta: { + ...((_c = request.params) === null || _c === void 0 ? void 0 : _c._meta) || {}, + progressToken: messageId + } + }; + } + const cancel = (reason) => { + var _a2; + this._responseHandlers.delete(messageId); + this._progressHandlers.delete(messageId); + this._cleanupTimeout(messageId); + (_a2 = this._transport) === null || _a2 === void 0 ? void 0 : _a2.send({ + jsonrpc: "2.0", + method: "notifications/cancelled", + params: { + requestId: messageId, + reason: String(reason) + } + }, { relatedRequestId, resumptionToken, onresumptiontoken }).catch((error) => this._onerror(new Error(`Failed to send cancellation: ${error}`))); + reject(reason); + }; + this._responseHandlers.set(messageId, (response) => { + var _a2; + if ((_a2 = options === null || options === void 0 ? void 0 : options.signal) === null || _a2 === void 0 ? void 0 : _a2.aborted) { + return; + } + if (response instanceof Error) { + return reject(response); + } + try { + const result = resultSchema.parse(response.result); + resolve(result); + } catch (error) { + reject(error); + } + }); + (_d = options === null || options === void 0 ? void 0 : options.signal) === null || _d === void 0 ? void 0 : _d.addEventListener("abort", () => { + var _a2; + cancel((_a2 = options === null || options === void 0 ? void 0 : options.signal) === null || _a2 === void 0 ? void 0 : _a2.reason); + }); + const timeout = (_e = options === null || options === void 0 ? void 0 : options.timeout) !== null && _e !== void 0 ? _e : DEFAULT_REQUEST_TIMEOUT_MSEC; + const timeoutHandler = () => cancel(new McpError(ErrorCode.RequestTimeout, "Request timed out", { timeout })); + this._setupTimeout(messageId, timeout, options === null || options === void 0 ? void 0 : options.maxTotalTimeout, timeoutHandler, (_f = options === null || options === void 0 ? void 0 : options.resetTimeoutOnProgress) !== null && _f !== void 0 ? _f : false); + this._transport.send(jsonrpcRequest, { relatedRequestId, resumptionToken, onresumptiontoken }).catch((error) => { + this._cleanupTimeout(messageId); + reject(error); + }); + }); + } + /** + * Emits a notification, which is a one-way message that does not expect a response. + */ + async notification(notification, options) { + var _a, _b; + if (!this._transport) { + throw new Error("Not connected"); + } + this.assertNotificationCapability(notification.method); + const debouncedMethods = (_b = (_a = this._options) === null || _a === void 0 ? void 0 : _a.debouncedNotificationMethods) !== null && _b !== void 0 ? _b : []; + const canDebounce = debouncedMethods.includes(notification.method) && !notification.params && !(options === null || options === void 0 ? void 0 : options.relatedRequestId); + if (canDebounce) { + if (this._pendingDebouncedNotifications.has(notification.method)) { + return; + } + this._pendingDebouncedNotifications.add(notification.method); + Promise.resolve().then(() => { + var _a2; + this._pendingDebouncedNotifications.delete(notification.method); + if (!this._transport) { + return; + } + const jsonrpcNotification2 = { + ...notification, + jsonrpc: "2.0" + }; + (_a2 = this._transport) === null || _a2 === void 0 ? void 0 : _a2.send(jsonrpcNotification2, options).catch((error) => this._onerror(error)); + }); + return; + } + const jsonrpcNotification = { + ...notification, + jsonrpc: "2.0" + }; + await this._transport.send(jsonrpcNotification, options); + } + /** + * Registers a handler to invoke when this protocol object receives a request with the given method. + * + * Note that this will replace any previous request handler for the same method. + */ + setRequestHandler(requestSchema, handler) { + const method = requestSchema.shape.method.value; + this.assertRequestHandlerCapability(method); + this._requestHandlers.set(method, (request, extra) => { + return Promise.resolve(handler(requestSchema.parse(request), extra)); + }); + } + /** + * Removes the request handler for the given method. + */ + removeRequestHandler(method) { + this._requestHandlers.delete(method); + } + /** + * Asserts that a request handler has not already been set for the given method, in preparation for a new one being automatically installed. + */ + assertCanSetRequestHandler(method) { + if (this._requestHandlers.has(method)) { + throw new Error(`A request handler for ${method} already exists, which would be overridden`); + } + } + /** + * Registers a handler to invoke when this protocol object receives a notification with the given method. + * + * Note that this will replace any previous notification handler for the same method. + */ + setNotificationHandler(notificationSchema, handler) { + this._notificationHandlers.set(notificationSchema.shape.method.value, (notification) => Promise.resolve(handler(notificationSchema.parse(notification)))); + } + /** + * Removes the notification handler for the given method. + */ + removeNotificationHandler(method) { + this._notificationHandlers.delete(method); + } + }; + } +}); + +// node_modules/uri-js/dist/es5/uri.all.js +var require_uri_all = __commonJS({ + "node_modules/uri-js/dist/es5/uri.all.js"(exports2, module2) { + (function(global2, factory) { + typeof exports2 === "object" && typeof module2 !== "undefined" ? factory(exports2) : typeof define === "function" && define.amd ? define(["exports"], factory) : factory(global2.URI = global2.URI || {}); + })(exports2, (function(exports3) { + "use strict"; + function merge() { + for (var _len = arguments.length, sets = Array(_len), _key = 0; _key < _len; _key++) { + sets[_key] = arguments[_key]; + } + if (sets.length > 1) { + sets[0] = sets[0].slice(0, -1); + var xl = sets.length - 1; + for (var x = 1; x < xl; ++x) { + sets[x] = sets[x].slice(1, -1); + } + sets[xl] = sets[xl].slice(1); + return sets.join(""); + } else { + return sets[0]; + } + } + function subexp(str) { + return "(?:" + str + ")"; + } + function typeOf(o) { + return o === void 0 ? "undefined" : o === null ? "null" : Object.prototype.toString.call(o).split(" ").pop().split("]").shift().toLowerCase(); + } + function toUpperCase(str) { + return str.toUpperCase(); + } + function toArray(obj) { + return obj !== void 0 && obj !== null ? obj instanceof Array ? obj : typeof obj.length !== "number" || obj.split || obj.setInterval || obj.call ? [obj] : Array.prototype.slice.call(obj) : []; + } + function assign(target, source) { + var obj = target; + if (source) { + for (var key in source) { + obj[key] = source[key]; + } + } + return obj; + } + function buildExps(isIRI2) { + var ALPHA$$ = "[A-Za-z]", CR$ = "[\\x0D]", DIGIT$$ = "[0-9]", DQUOTE$$ = "[\\x22]", HEXDIG$$2 = merge(DIGIT$$, "[A-Fa-f]"), LF$$ = "[\\x0A]", SP$$ = "[\\x20]", PCT_ENCODED$2 = subexp(subexp("%[EFef]" + HEXDIG$$2 + "%" + HEXDIG$$2 + HEXDIG$$2 + "%" + HEXDIG$$2 + HEXDIG$$2) + "|" + subexp("%[89A-Fa-f]" + HEXDIG$$2 + "%" + HEXDIG$$2 + HEXDIG$$2) + "|" + subexp("%" + HEXDIG$$2 + HEXDIG$$2)), GEN_DELIMS$$ = "[\\:\\/\\?\\#\\[\\]\\@]", SUB_DELIMS$$ = "[\\!\\$\\&\\'\\(\\)\\*\\+\\,\\;\\=]", RESERVED$$ = merge(GEN_DELIMS$$, SUB_DELIMS$$), UCSCHAR$$ = isIRI2 ? "[\\xA0-\\u200D\\u2010-\\u2029\\u202F-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF]" : "[]", IPRIVATE$$ = isIRI2 ? "[\\uE000-\\uF8FF]" : "[]", UNRESERVED$$2 = merge(ALPHA$$, DIGIT$$, "[\\-\\.\\_\\~]", UCSCHAR$$), SCHEME$ = subexp(ALPHA$$ + merge(ALPHA$$, DIGIT$$, "[\\+\\-\\.]") + "*"), USERINFO$ = subexp(subexp(PCT_ENCODED$2 + "|" + merge(UNRESERVED$$2, SUB_DELIMS$$, "[\\:]")) + "*"), DEC_OCTET$ = subexp(subexp("25[0-5]") + "|" + subexp("2[0-4]" + DIGIT$$) + "|" + subexp("1" + DIGIT$$ + DIGIT$$) + "|" + subexp("[1-9]" + DIGIT$$) + "|" + DIGIT$$), DEC_OCTET_RELAXED$ = subexp(subexp("25[0-5]") + "|" + subexp("2[0-4]" + DIGIT$$) + "|" + subexp("1" + DIGIT$$ + DIGIT$$) + "|" + subexp("0?[1-9]" + DIGIT$$) + "|0?0?" + DIGIT$$), IPV4ADDRESS$ = subexp(DEC_OCTET_RELAXED$ + "\\." + DEC_OCTET_RELAXED$ + "\\." + DEC_OCTET_RELAXED$ + "\\." + DEC_OCTET_RELAXED$), H16$ = subexp(HEXDIG$$2 + "{1,4}"), LS32$ = subexp(subexp(H16$ + "\\:" + H16$) + "|" + IPV4ADDRESS$), IPV6ADDRESS1$ = subexp(subexp(H16$ + "\\:") + "{6}" + LS32$), IPV6ADDRESS2$ = subexp("\\:\\:" + subexp(H16$ + "\\:") + "{5}" + LS32$), IPV6ADDRESS3$ = subexp(subexp(H16$) + "?\\:\\:" + subexp(H16$ + "\\:") + "{4}" + LS32$), IPV6ADDRESS4$ = subexp(subexp(subexp(H16$ + "\\:") + "{0,1}" + H16$) + "?\\:\\:" + subexp(H16$ + "\\:") + "{3}" + LS32$), IPV6ADDRESS5$ = subexp(subexp(subexp(H16$ + "\\:") + "{0,2}" + H16$) + "?\\:\\:" + subexp(H16$ + "\\:") + "{2}" + LS32$), IPV6ADDRESS6$ = subexp(subexp(subexp(H16$ + "\\:") + "{0,3}" + H16$) + "?\\:\\:" + H16$ + "\\:" + LS32$), IPV6ADDRESS7$ = subexp(subexp(subexp(H16$ + "\\:") + "{0,4}" + H16$) + "?\\:\\:" + LS32$), IPV6ADDRESS8$ = subexp(subexp(subexp(H16$ + "\\:") + "{0,5}" + H16$) + "?\\:\\:" + H16$), IPV6ADDRESS9$ = subexp(subexp(subexp(H16$ + "\\:") + "{0,6}" + H16$) + "?\\:\\:"), IPV6ADDRESS$ = subexp([IPV6ADDRESS1$, IPV6ADDRESS2$, IPV6ADDRESS3$, IPV6ADDRESS4$, IPV6ADDRESS5$, IPV6ADDRESS6$, IPV6ADDRESS7$, IPV6ADDRESS8$, IPV6ADDRESS9$].join("|")), ZONEID$ = subexp(subexp(UNRESERVED$$2 + "|" + PCT_ENCODED$2) + "+"), IPV6ADDRZ$ = subexp(IPV6ADDRESS$ + "\\%25" + ZONEID$), IPV6ADDRZ_RELAXED$ = subexp(IPV6ADDRESS$ + subexp("\\%25|\\%(?!" + HEXDIG$$2 + "{2})") + ZONEID$), IPVFUTURE$ = subexp("[vV]" + HEXDIG$$2 + "+\\." + merge(UNRESERVED$$2, SUB_DELIMS$$, "[\\:]") + "+"), IP_LITERAL$ = subexp("\\[" + subexp(IPV6ADDRZ_RELAXED$ + "|" + IPV6ADDRESS$ + "|" + IPVFUTURE$) + "\\]"), REG_NAME$ = subexp(subexp(PCT_ENCODED$2 + "|" + merge(UNRESERVED$$2, SUB_DELIMS$$)) + "*"), HOST$ = subexp(IP_LITERAL$ + "|" + IPV4ADDRESS$ + "(?!" + REG_NAME$ + ")|" + REG_NAME$), PORT$ = subexp(DIGIT$$ + "*"), AUTHORITY$ = subexp(subexp(USERINFO$ + "@") + "?" + HOST$ + subexp("\\:" + PORT$) + "?"), PCHAR$ = subexp(PCT_ENCODED$2 + "|" + merge(UNRESERVED$$2, SUB_DELIMS$$, "[\\:\\@]")), SEGMENT$ = subexp(PCHAR$ + "*"), SEGMENT_NZ$ = subexp(PCHAR$ + "+"), SEGMENT_NZ_NC$ = subexp(subexp(PCT_ENCODED$2 + "|" + merge(UNRESERVED$$2, SUB_DELIMS$$, "[\\@]")) + "+"), PATH_ABEMPTY$ = subexp(subexp("\\/" + SEGMENT$) + "*"), PATH_ABSOLUTE$ = subexp("\\/" + subexp(SEGMENT_NZ$ + PATH_ABEMPTY$) + "?"), PATH_NOSCHEME$ = subexp(SEGMENT_NZ_NC$ + PATH_ABEMPTY$), PATH_ROOTLESS$ = subexp(SEGMENT_NZ$ + PATH_ABEMPTY$), PATH_EMPTY$ = "(?!" + PCHAR$ + ")", PATH$ = subexp(PATH_ABEMPTY$ + "|" + PATH_ABSOLUTE$ + "|" + PATH_NOSCHEME$ + "|" + PATH_ROOTLESS$ + "|" + PATH_EMPTY$), QUERY$ = subexp(subexp(PCHAR$ + "|" + merge("[\\/\\?]", IPRIVATE$$)) + "*"), FRAGMENT$ = subexp(subexp(PCHAR$ + "|[\\/\\?]") + "*"), HIER_PART$ = subexp(subexp("\\/\\/" + AUTHORITY$ + PATH_ABEMPTY$) + "|" + PATH_ABSOLUTE$ + "|" + PATH_ROOTLESS$ + "|" + PATH_EMPTY$), URI$ = subexp(SCHEME$ + "\\:" + HIER_PART$ + subexp("\\?" + QUERY$) + "?" + subexp("\\#" + FRAGMENT$) + "?"), RELATIVE_PART$ = subexp(subexp("\\/\\/" + AUTHORITY$ + PATH_ABEMPTY$) + "|" + PATH_ABSOLUTE$ + "|" + PATH_NOSCHEME$ + "|" + PATH_EMPTY$), RELATIVE$ = subexp(RELATIVE_PART$ + subexp("\\?" + QUERY$) + "?" + subexp("\\#" + FRAGMENT$) + "?"), URI_REFERENCE$ = subexp(URI$ + "|" + RELATIVE$), ABSOLUTE_URI$ = subexp(SCHEME$ + "\\:" + HIER_PART$ + subexp("\\?" + QUERY$) + "?"), GENERIC_REF$ = "^(" + SCHEME$ + ")\\:" + subexp(subexp("\\/\\/(" + subexp("(" + USERINFO$ + ")@") + "?(" + HOST$ + ")" + subexp("\\:(" + PORT$ + ")") + "?)") + "?(" + PATH_ABEMPTY$ + "|" + PATH_ABSOLUTE$ + "|" + PATH_ROOTLESS$ + "|" + PATH_EMPTY$ + ")") + subexp("\\?(" + QUERY$ + ")") + "?" + subexp("\\#(" + FRAGMENT$ + ")") + "?$", RELATIVE_REF$ = "^(){0}" + subexp(subexp("\\/\\/(" + subexp("(" + USERINFO$ + ")@") + "?(" + HOST$ + ")" + subexp("\\:(" + PORT$ + ")") + "?)") + "?(" + PATH_ABEMPTY$ + "|" + PATH_ABSOLUTE$ + "|" + PATH_NOSCHEME$ + "|" + PATH_EMPTY$ + ")") + subexp("\\?(" + QUERY$ + ")") + "?" + subexp("\\#(" + FRAGMENT$ + ")") + "?$", ABSOLUTE_REF$ = "^(" + SCHEME$ + ")\\:" + subexp(subexp("\\/\\/(" + subexp("(" + USERINFO$ + ")@") + "?(" + HOST$ + ")" + subexp("\\:(" + PORT$ + ")") + "?)") + "?(" + PATH_ABEMPTY$ + "|" + PATH_ABSOLUTE$ + "|" + PATH_ROOTLESS$ + "|" + PATH_EMPTY$ + ")") + subexp("\\?(" + QUERY$ + ")") + "?$", SAMEDOC_REF$ = "^" + subexp("\\#(" + FRAGMENT$ + ")") + "?$", AUTHORITY_REF$ = "^" + subexp("(" + USERINFO$ + ")@") + "?(" + HOST$ + ")" + subexp("\\:(" + PORT$ + ")") + "?$"; + return { + NOT_SCHEME: new RegExp(merge("[^]", ALPHA$$, DIGIT$$, "[\\+\\-\\.]"), "g"), + NOT_USERINFO: new RegExp(merge("[^\\%\\:]", UNRESERVED$$2, SUB_DELIMS$$), "g"), + NOT_HOST: new RegExp(merge("[^\\%\\[\\]\\:]", UNRESERVED$$2, SUB_DELIMS$$), "g"), + NOT_PATH: new RegExp(merge("[^\\%\\/\\:\\@]", UNRESERVED$$2, SUB_DELIMS$$), "g"), + NOT_PATH_NOSCHEME: new RegExp(merge("[^\\%\\/\\@]", UNRESERVED$$2, SUB_DELIMS$$), "g"), + NOT_QUERY: new RegExp(merge("[^\\%]", UNRESERVED$$2, SUB_DELIMS$$, "[\\:\\@\\/\\?]", IPRIVATE$$), "g"), + NOT_FRAGMENT: new RegExp(merge("[^\\%]", UNRESERVED$$2, SUB_DELIMS$$, "[\\:\\@\\/\\?]"), "g"), + ESCAPE: new RegExp(merge("[^]", UNRESERVED$$2, SUB_DELIMS$$), "g"), + UNRESERVED: new RegExp(UNRESERVED$$2, "g"), + OTHER_CHARS: new RegExp(merge("[^\\%]", UNRESERVED$$2, RESERVED$$), "g"), + PCT_ENCODED: new RegExp(PCT_ENCODED$2, "g"), + IPV4ADDRESS: new RegExp("^(" + IPV4ADDRESS$ + ")$"), + IPV6ADDRESS: new RegExp("^\\[?(" + IPV6ADDRESS$ + ")" + subexp(subexp("\\%25|\\%(?!" + HEXDIG$$2 + "{2})") + "(" + ZONEID$ + ")") + "?\\]?$") + //RFC 6874, with relaxed parsing rules + }; + } + var URI_PROTOCOL = buildExps(false); + var IRI_PROTOCOL = buildExps(true); + var slicedToArray = /* @__PURE__ */ (function() { + function sliceIterator(arr, i) { + var _arr = []; + var _n = true; + var _d = false; + var _e = void 0; + try { + for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { + _arr.push(_s.value); + if (i && _arr.length === i) break; + } + } catch (err2) { + _d = true; + _e = err2; + } finally { + try { + if (!_n && _i["return"]) _i["return"](); + } finally { + if (_d) throw _e; + } + } + return _arr; + } + return function(arr, i) { + if (Array.isArray(arr)) { + return arr; + } else if (Symbol.iterator in Object(arr)) { + return sliceIterator(arr, i); + } else { + throw new TypeError("Invalid attempt to destructure non-iterable instance"); + } + }; + })(); + var toConsumableArray = function(arr) { + if (Array.isArray(arr)) { + for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) arr2[i] = arr[i]; + return arr2; + } else { + return Array.from(arr); + } + }; + var maxInt = 2147483647; + var base = 36; + var tMin = 1; + var tMax = 26; + var skew = 38; + var damp = 700; + var initialBias = 72; + var initialN = 128; + var delimiter = "-"; + var regexPunycode = /^xn--/; + var regexNonASCII = /[^\0-\x7E]/; + var regexSeparators = /[\x2E\u3002\uFF0E\uFF61]/g; + var errors = { + "overflow": "Overflow: input needs wider integers to process", + "not-basic": "Illegal input >= 0x80 (not a basic code point)", + "invalid-input": "Invalid input" + }; + var baseMinusTMin = base - tMin; + var floor = Math.floor; + var stringFromCharCode = String.fromCharCode; + function error$1(type) { + throw new RangeError(errors[type]); + } + function map(array, fn) { + var result = []; + var length = array.length; + while (length--) { + result[length] = fn(array[length]); + } + return result; + } + function mapDomain(string, fn) { + var parts = string.split("@"); + var result = ""; + if (parts.length > 1) { + result = parts[0] + "@"; + string = parts[1]; + } + string = string.replace(regexSeparators, "."); + var labels = string.split("."); + var encoded = map(labels, fn).join("."); + return result + encoded; + } + function ucs2decode(string) { + var output = []; + var counter = 0; + var length = string.length; + while (counter < length) { + var value = string.charCodeAt(counter++); + if (value >= 55296 && value <= 56319 && counter < length) { + var extra = string.charCodeAt(counter++); + if ((extra & 64512) == 56320) { + output.push(((value & 1023) << 10) + (extra & 1023) + 65536); + } else { + output.push(value); + counter--; + } + } else { + output.push(value); + } + } + return output; + } + var ucs2encode = function ucs2encode2(array) { + return String.fromCodePoint.apply(String, toConsumableArray(array)); + }; + var basicToDigit = function basicToDigit2(codePoint) { + if (codePoint - 48 < 10) { + return codePoint - 22; + } + if (codePoint - 65 < 26) { + return codePoint - 65; + } + if (codePoint - 97 < 26) { + return codePoint - 97; + } + return base; + }; + var digitToBasic = function digitToBasic2(digit, flag) { + return digit + 22 + 75 * (digit < 26) - ((flag != 0) << 5); + }; + var adapt = function adapt2(delta, numPoints, firstTime) { + var k = 0; + delta = firstTime ? floor(delta / damp) : delta >> 1; + delta += floor(delta / numPoints); + for ( + ; + /* no initialization */ + delta > baseMinusTMin * tMax >> 1; + k += base + ) { + delta = floor(delta / baseMinusTMin); + } + return floor(k + (baseMinusTMin + 1) * delta / (delta + skew)); + }; + var decode = function decode2(input) { + var output = []; + var inputLength = input.length; + var i = 0; + var n = initialN; + var bias = initialBias; + var basic = input.lastIndexOf(delimiter); + if (basic < 0) { + basic = 0; + } + for (var j = 0; j < basic; ++j) { + if (input.charCodeAt(j) >= 128) { + error$1("not-basic"); + } + output.push(input.charCodeAt(j)); + } + for (var index = basic > 0 ? basic + 1 : 0; index < inputLength; ) { + var oldi = i; + for ( + var w = 1, k = base; + ; + /* no condition */ + k += base + ) { + if (index >= inputLength) { + error$1("invalid-input"); + } + var digit = basicToDigit(input.charCodeAt(index++)); + if (digit >= base || digit > floor((maxInt - i) / w)) { + error$1("overflow"); + } + i += digit * w; + var t = k <= bias ? tMin : k >= bias + tMax ? tMax : k - bias; + if (digit < t) { + break; + } + var baseMinusT = base - t; + if (w > floor(maxInt / baseMinusT)) { + error$1("overflow"); + } + w *= baseMinusT; + } + var out = output.length + 1; + bias = adapt(i - oldi, out, oldi == 0); + if (floor(i / out) > maxInt - n) { + error$1("overflow"); + } + n += floor(i / out); + i %= out; + output.splice(i++, 0, n); + } + return String.fromCodePoint.apply(String, output); + }; + var encode = function encode2(input) { + var output = []; + input = ucs2decode(input); + var inputLength = input.length; + var n = initialN; + var delta = 0; + var bias = initialBias; + var _iteratorNormalCompletion = true; + var _didIteratorError = false; + var _iteratorError = void 0; + try { + for (var _iterator = input[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) { + var _currentValue2 = _step.value; + if (_currentValue2 < 128) { + output.push(stringFromCharCode(_currentValue2)); + } + } + } catch (err2) { + _didIteratorError = true; + _iteratorError = err2; + } finally { + try { + if (!_iteratorNormalCompletion && _iterator.return) { + _iterator.return(); + } + } finally { + if (_didIteratorError) { + throw _iteratorError; + } + } + } + var basicLength = output.length; + var handledCPCount = basicLength; + if (basicLength) { + output.push(delimiter); + } + while (handledCPCount < inputLength) { + var m = maxInt; + var _iteratorNormalCompletion2 = true; + var _didIteratorError2 = false; + var _iteratorError2 = void 0; + try { + for (var _iterator2 = input[Symbol.iterator](), _step2; !(_iteratorNormalCompletion2 = (_step2 = _iterator2.next()).done); _iteratorNormalCompletion2 = true) { + var currentValue = _step2.value; + if (currentValue >= n && currentValue < m) { + m = currentValue; + } + } + } catch (err2) { + _didIteratorError2 = true; + _iteratorError2 = err2; + } finally { + try { + if (!_iteratorNormalCompletion2 && _iterator2.return) { + _iterator2.return(); + } + } finally { + if (_didIteratorError2) { + throw _iteratorError2; + } + } + } + var handledCPCountPlusOne = handledCPCount + 1; + if (m - n > floor((maxInt - delta) / handledCPCountPlusOne)) { + error$1("overflow"); + } + delta += (m - n) * handledCPCountPlusOne; + n = m; + var _iteratorNormalCompletion3 = true; + var _didIteratorError3 = false; + var _iteratorError3 = void 0; + try { + for (var _iterator3 = input[Symbol.iterator](), _step3; !(_iteratorNormalCompletion3 = (_step3 = _iterator3.next()).done); _iteratorNormalCompletion3 = true) { + var _currentValue = _step3.value; + if (_currentValue < n && ++delta > maxInt) { + error$1("overflow"); + } + if (_currentValue == n) { + var q = delta; + for ( + var k = base; + ; + /* no condition */ + k += base + ) { + var t = k <= bias ? tMin : k >= bias + tMax ? tMax : k - bias; + if (q < t) { + break; + } + var qMinusT = q - t; + var baseMinusT = base - t; + output.push(stringFromCharCode(digitToBasic(t + qMinusT % baseMinusT, 0))); + q = floor(qMinusT / baseMinusT); + } + output.push(stringFromCharCode(digitToBasic(q, 0))); + bias = adapt(delta, handledCPCountPlusOne, handledCPCount == basicLength); + delta = 0; + ++handledCPCount; + } + } + } catch (err2) { + _didIteratorError3 = true; + _iteratorError3 = err2; + } finally { + try { + if (!_iteratorNormalCompletion3 && _iterator3.return) { + _iterator3.return(); + } + } finally { + if (_didIteratorError3) { + throw _iteratorError3; + } + } + } + ++delta; + ++n; + } + return output.join(""); + }; + var toUnicode = function toUnicode2(input) { + return mapDomain(input, function(string) { + return regexPunycode.test(string) ? decode(string.slice(4).toLowerCase()) : string; + }); + }; + var toASCII = function toASCII2(input) { + return mapDomain(input, function(string) { + return regexNonASCII.test(string) ? "xn--" + encode(string) : string; + }); + }; + var punycode = { + /** + * A string representing the current Punycode.js version number. + * @memberOf punycode + * @type String + */ + "version": "2.1.0", + /** + * An object of methods to convert from JavaScript's internal character + * representation (UCS-2) to Unicode code points, and back. + * @see + * @memberOf punycode + * @type Object + */ + "ucs2": { + "decode": ucs2decode, + "encode": ucs2encode + }, + "decode": decode, + "encode": encode, + "toASCII": toASCII, + "toUnicode": toUnicode + }; + var SCHEMES = {}; + function pctEncChar(chr) { + var c = chr.charCodeAt(0); + var e = void 0; + if (c < 16) e = "%0" + c.toString(16).toUpperCase(); + else if (c < 128) e = "%" + c.toString(16).toUpperCase(); + else if (c < 2048) e = "%" + (c >> 6 | 192).toString(16).toUpperCase() + "%" + (c & 63 | 128).toString(16).toUpperCase(); + else e = "%" + (c >> 12 | 224).toString(16).toUpperCase() + "%" + (c >> 6 & 63 | 128).toString(16).toUpperCase() + "%" + (c & 63 | 128).toString(16).toUpperCase(); + return e; + } + function pctDecChars(str) { + var newStr = ""; + var i = 0; + var il = str.length; + while (i < il) { + var c = parseInt(str.substr(i + 1, 2), 16); + if (c < 128) { + newStr += String.fromCharCode(c); + i += 3; + } else if (c >= 194 && c < 224) { + if (il - i >= 6) { + var c2 = parseInt(str.substr(i + 4, 2), 16); + newStr += String.fromCharCode((c & 31) << 6 | c2 & 63); + } else { + newStr += str.substr(i, 6); + } + i += 6; + } else if (c >= 224) { + if (il - i >= 9) { + var _c = parseInt(str.substr(i + 4, 2), 16); + var c3 = parseInt(str.substr(i + 7, 2), 16); + newStr += String.fromCharCode((c & 15) << 12 | (_c & 63) << 6 | c3 & 63); + } else { + newStr += str.substr(i, 9); + } + i += 9; + } else { + newStr += str.substr(i, 3); + i += 3; + } + } + return newStr; + } + function _normalizeComponentEncoding(components, protocol) { + function decodeUnreserved2(str) { + var decStr = pctDecChars(str); + return !decStr.match(protocol.UNRESERVED) ? str : decStr; + } + if (components.scheme) components.scheme = String(components.scheme).replace(protocol.PCT_ENCODED, decodeUnreserved2).toLowerCase().replace(protocol.NOT_SCHEME, ""); + if (components.userinfo !== void 0) components.userinfo = String(components.userinfo).replace(protocol.PCT_ENCODED, decodeUnreserved2).replace(protocol.NOT_USERINFO, pctEncChar).replace(protocol.PCT_ENCODED, toUpperCase); + if (components.host !== void 0) components.host = String(components.host).replace(protocol.PCT_ENCODED, decodeUnreserved2).toLowerCase().replace(protocol.NOT_HOST, pctEncChar).replace(protocol.PCT_ENCODED, toUpperCase); + if (components.path !== void 0) components.path = String(components.path).replace(protocol.PCT_ENCODED, decodeUnreserved2).replace(components.scheme ? protocol.NOT_PATH : protocol.NOT_PATH_NOSCHEME, pctEncChar).replace(protocol.PCT_ENCODED, toUpperCase); + if (components.query !== void 0) components.query = String(components.query).replace(protocol.PCT_ENCODED, decodeUnreserved2).replace(protocol.NOT_QUERY, pctEncChar).replace(protocol.PCT_ENCODED, toUpperCase); + if (components.fragment !== void 0) components.fragment = String(components.fragment).replace(protocol.PCT_ENCODED, decodeUnreserved2).replace(protocol.NOT_FRAGMENT, pctEncChar).replace(protocol.PCT_ENCODED, toUpperCase); + return components; + } + function _stripLeadingZeros(str) { + return str.replace(/^0*(.*)/, "$1") || "0"; + } + function _normalizeIPv4(host, protocol) { + var matches = host.match(protocol.IPV4ADDRESS) || []; + var _matches = slicedToArray(matches, 2), address = _matches[1]; + if (address) { + return address.split(".").map(_stripLeadingZeros).join("."); + } else { + return host; + } + } + function _normalizeIPv6(host, protocol) { + var matches = host.match(protocol.IPV6ADDRESS) || []; + var _matches2 = slicedToArray(matches, 3), address = _matches2[1], zone = _matches2[2]; + if (address) { + var _address$toLowerCase$ = address.toLowerCase().split("::").reverse(), _address$toLowerCase$2 = slicedToArray(_address$toLowerCase$, 2), last = _address$toLowerCase$2[0], first = _address$toLowerCase$2[1]; + var firstFields = first ? first.split(":").map(_stripLeadingZeros) : []; + var lastFields = last.split(":").map(_stripLeadingZeros); + var isLastFieldIPv4Address = protocol.IPV4ADDRESS.test(lastFields[lastFields.length - 1]); + var fieldCount = isLastFieldIPv4Address ? 7 : 8; + var lastFieldsStart = lastFields.length - fieldCount; + var fields = Array(fieldCount); + for (var x = 0; x < fieldCount; ++x) { + fields[x] = firstFields[x] || lastFields[lastFieldsStart + x] || ""; + } + if (isLastFieldIPv4Address) { + fields[fieldCount - 1] = _normalizeIPv4(fields[fieldCount - 1], protocol); + } + var allZeroFields = fields.reduce(function(acc, field, index) { + if (!field || field === "0") { + var lastLongest = acc[acc.length - 1]; + if (lastLongest && lastLongest.index + lastLongest.length === index) { + lastLongest.length++; + } else { + acc.push({ index, length: 1 }); + } + } + return acc; + }, []); + var longestZeroFields = allZeroFields.sort(function(a, b) { + return b.length - a.length; + })[0]; + var newHost = void 0; + if (longestZeroFields && longestZeroFields.length > 1) { + var newFirst = fields.slice(0, longestZeroFields.index); + var newLast = fields.slice(longestZeroFields.index + longestZeroFields.length); + newHost = newFirst.join(":") + "::" + newLast.join(":"); + } else { + newHost = fields.join(":"); + } + if (zone) { + newHost += "%" + zone; + } + return newHost; + } else { + return host; + } + } + var URI_PARSE = /^(?:([^:\/?#]+):)?(?:\/\/((?:([^\/?#@]*)@)?(\[[^\/?#\]]+\]|[^\/?#:]*)(?:\:(\d*))?))?([^?#]*)(?:\?([^#]*))?(?:#((?:.|\n|\r)*))?/i; + var NO_MATCH_IS_UNDEFINED = "".match(/(){0}/)[1] === void 0; + function parse(uriString) { + var options = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {}; + var components = {}; + var protocol = options.iri !== false ? IRI_PROTOCOL : URI_PROTOCOL; + if (options.reference === "suffix") uriString = (options.scheme ? options.scheme + ":" : "") + "//" + uriString; + var matches = uriString.match(URI_PARSE); + if (matches) { + if (NO_MATCH_IS_UNDEFINED) { + components.scheme = matches[1]; + components.userinfo = matches[3]; + components.host = matches[4]; + components.port = parseInt(matches[5], 10); + components.path = matches[6] || ""; + components.query = matches[7]; + components.fragment = matches[8]; + if (isNaN(components.port)) { + components.port = matches[5]; + } + } else { + components.scheme = matches[1] || void 0; + components.userinfo = uriString.indexOf("@") !== -1 ? matches[3] : void 0; + components.host = uriString.indexOf("//") !== -1 ? matches[4] : void 0; + components.port = parseInt(matches[5], 10); + components.path = matches[6] || ""; + components.query = uriString.indexOf("?") !== -1 ? matches[7] : void 0; + components.fragment = uriString.indexOf("#") !== -1 ? matches[8] : void 0; + if (isNaN(components.port)) { + components.port = uriString.match(/\/\/(?:.|\n)*\:(?:\/|\?|\#|$)/) ? matches[4] : void 0; + } + } + if (components.host) { + components.host = _normalizeIPv6(_normalizeIPv4(components.host, protocol), protocol); + } + if (components.scheme === void 0 && components.userinfo === void 0 && components.host === void 0 && components.port === void 0 && !components.path && components.query === void 0) { + components.reference = "same-document"; + } else if (components.scheme === void 0) { + components.reference = "relative"; + } else if (components.fragment === void 0) { + components.reference = "absolute"; + } else { + components.reference = "uri"; + } + if (options.reference && options.reference !== "suffix" && options.reference !== components.reference) { + components.error = components.error || "URI is not a " + options.reference + " reference."; + } + var schemeHandler = SCHEMES[(options.scheme || components.scheme || "").toLowerCase()]; + if (!options.unicodeSupport && (!schemeHandler || !schemeHandler.unicodeSupport)) { + if (components.host && (options.domainHost || schemeHandler && schemeHandler.domainHost)) { + try { + components.host = punycode.toASCII(components.host.replace(protocol.PCT_ENCODED, pctDecChars).toLowerCase()); + } catch (e) { + components.error = components.error || "Host's domain name can not be converted to ASCII via punycode: " + e; + } + } + _normalizeComponentEncoding(components, URI_PROTOCOL); + } else { + _normalizeComponentEncoding(components, protocol); + } + if (schemeHandler && schemeHandler.parse) { + schemeHandler.parse(components, options); + } + } else { + components.error = components.error || "URI can not be parsed."; + } + return components; + } + function _recomposeAuthority(components, options) { + var protocol = options.iri !== false ? IRI_PROTOCOL : URI_PROTOCOL; + var uriTokens = []; + if (components.userinfo !== void 0) { + uriTokens.push(components.userinfo); + uriTokens.push("@"); + } + if (components.host !== void 0) { + uriTokens.push(_normalizeIPv6(_normalizeIPv4(String(components.host), protocol), protocol).replace(protocol.IPV6ADDRESS, function(_, $1, $2) { + return "[" + $1 + ($2 ? "%25" + $2 : "") + "]"; + })); + } + if (typeof components.port === "number" || typeof components.port === "string") { + uriTokens.push(":"); + uriTokens.push(String(components.port)); + } + return uriTokens.length ? uriTokens.join("") : void 0; + } + var RDS1 = /^\.\.?\//; + var RDS2 = /^\/\.(\/|$)/; + var RDS3 = /^\/\.\.(\/|$)/; + var RDS5 = /^\/?(?:.|\n)*?(?=\/|$)/; + function removeDotSegments(input) { + var output = []; + while (input.length) { + if (input.match(RDS1)) { + input = input.replace(RDS1, ""); + } else if (input.match(RDS2)) { + input = input.replace(RDS2, "/"); + } else if (input.match(RDS3)) { + input = input.replace(RDS3, "/"); + output.pop(); + } else if (input === "." || input === "..") { + input = ""; + } else { + var im = input.match(RDS5); + if (im) { + var s = im[0]; + input = input.slice(s.length); + output.push(s); + } else { + throw new Error("Unexpected dot segment condition"); + } + } + } + return output.join(""); + } + function serialize(components) { + var options = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {}; + var protocol = options.iri ? IRI_PROTOCOL : URI_PROTOCOL; + var uriTokens = []; + var schemeHandler = SCHEMES[(options.scheme || components.scheme || "").toLowerCase()]; + if (schemeHandler && schemeHandler.serialize) schemeHandler.serialize(components, options); + if (components.host) { + if (protocol.IPV6ADDRESS.test(components.host)) { + } else if (options.domainHost || schemeHandler && schemeHandler.domainHost) { + try { + components.host = !options.iri ? punycode.toASCII(components.host.replace(protocol.PCT_ENCODED, pctDecChars).toLowerCase()) : punycode.toUnicode(components.host); + } catch (e) { + components.error = components.error || "Host's domain name can not be converted to " + (!options.iri ? "ASCII" : "Unicode") + " via punycode: " + e; + } + } + } + _normalizeComponentEncoding(components, protocol); + if (options.reference !== "suffix" && components.scheme) { + uriTokens.push(components.scheme); + uriTokens.push(":"); + } + var authority = _recomposeAuthority(components, options); + if (authority !== void 0) { + if (options.reference !== "suffix") { + uriTokens.push("//"); + } + uriTokens.push(authority); + if (components.path && components.path.charAt(0) !== "/") { + uriTokens.push("/"); + } + } + if (components.path !== void 0) { + var s = components.path; + if (!options.absolutePath && (!schemeHandler || !schemeHandler.absolutePath)) { + s = removeDotSegments(s); + } + if (authority === void 0) { + s = s.replace(/^\/\//, "/%2F"); + } + uriTokens.push(s); + } + if (components.query !== void 0) { + uriTokens.push("?"); + uriTokens.push(components.query); + } + if (components.fragment !== void 0) { + uriTokens.push("#"); + uriTokens.push(components.fragment); + } + return uriTokens.join(""); + } + function resolveComponents(base2, relative) { + var options = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : {}; + var skipNormalization = arguments[3]; + var target = {}; + if (!skipNormalization) { + base2 = parse(serialize(base2, options), options); + relative = parse(serialize(relative, options), options); + } + options = options || {}; + if (!options.tolerant && relative.scheme) { + target.scheme = relative.scheme; + target.userinfo = relative.userinfo; + target.host = relative.host; + target.port = relative.port; + target.path = removeDotSegments(relative.path || ""); + target.query = relative.query; + } else { + if (relative.userinfo !== void 0 || relative.host !== void 0 || relative.port !== void 0) { + target.userinfo = relative.userinfo; + target.host = relative.host; + target.port = relative.port; + target.path = removeDotSegments(relative.path || ""); + target.query = relative.query; + } else { + if (!relative.path) { + target.path = base2.path; + if (relative.query !== void 0) { + target.query = relative.query; + } else { + target.query = base2.query; + } + } else { + if (relative.path.charAt(0) === "/") { + target.path = removeDotSegments(relative.path); + } else { + if ((base2.userinfo !== void 0 || base2.host !== void 0 || base2.port !== void 0) && !base2.path) { + target.path = "/" + relative.path; + } else if (!base2.path) { + target.path = relative.path; + } else { + target.path = base2.path.slice(0, base2.path.lastIndexOf("/") + 1) + relative.path; + } + target.path = removeDotSegments(target.path); + } + target.query = relative.query; + } + target.userinfo = base2.userinfo; + target.host = base2.host; + target.port = base2.port; + } + target.scheme = base2.scheme; + } + target.fragment = relative.fragment; + return target; + } + function resolve(baseURI, relativeURI, options) { + var schemelessOptions = assign({ scheme: "null" }, options); + return serialize(resolveComponents(parse(baseURI, schemelessOptions), parse(relativeURI, schemelessOptions), schemelessOptions, true), schemelessOptions); + } + function normalize(uri, options) { + if (typeof uri === "string") { + uri = serialize(parse(uri, options), options); + } else if (typeOf(uri) === "object") { + uri = parse(serialize(uri, options), options); + } + return uri; + } + function equal(uriA, uriB, options) { + if (typeof uriA === "string") { + uriA = serialize(parse(uriA, options), options); + } else if (typeOf(uriA) === "object") { + uriA = serialize(uriA, options); + } + if (typeof uriB === "string") { + uriB = serialize(parse(uriB, options), options); + } else if (typeOf(uriB) === "object") { + uriB = serialize(uriB, options); + } + return uriA === uriB; + } + function escapeComponent(str, options) { + return str && str.toString().replace(!options || !options.iri ? URI_PROTOCOL.ESCAPE : IRI_PROTOCOL.ESCAPE, pctEncChar); + } + function unescapeComponent(str, options) { + return str && str.toString().replace(!options || !options.iri ? URI_PROTOCOL.PCT_ENCODED : IRI_PROTOCOL.PCT_ENCODED, pctDecChars); + } + var handler = { + scheme: "http", + domainHost: true, + parse: function parse2(components, options) { + if (!components.host) { + components.error = components.error || "HTTP URIs must have a host."; + } + return components; + }, + serialize: function serialize2(components, options) { + var secure = String(components.scheme).toLowerCase() === "https"; + if (components.port === (secure ? 443 : 80) || components.port === "") { + components.port = void 0; + } + if (!components.path) { + components.path = "/"; + } + return components; + } + }; + var handler$1 = { + scheme: "https", + domainHost: handler.domainHost, + parse: handler.parse, + serialize: handler.serialize + }; + function isSecure(wsComponents) { + return typeof wsComponents.secure === "boolean" ? wsComponents.secure : String(wsComponents.scheme).toLowerCase() === "wss"; + } + var handler$2 = { + scheme: "ws", + domainHost: true, + parse: function parse2(components, options) { + var wsComponents = components; + wsComponents.secure = isSecure(wsComponents); + wsComponents.resourceName = (wsComponents.path || "/") + (wsComponents.query ? "?" + wsComponents.query : ""); + wsComponents.path = void 0; + wsComponents.query = void 0; + return wsComponents; + }, + serialize: function serialize2(wsComponents, options) { + if (wsComponents.port === (isSecure(wsComponents) ? 443 : 80) || wsComponents.port === "") { + wsComponents.port = void 0; + } + if (typeof wsComponents.secure === "boolean") { + wsComponents.scheme = wsComponents.secure ? "wss" : "ws"; + wsComponents.secure = void 0; + } + if (wsComponents.resourceName) { + var _wsComponents$resourc = wsComponents.resourceName.split("?"), _wsComponents$resourc2 = slicedToArray(_wsComponents$resourc, 2), path = _wsComponents$resourc2[0], query = _wsComponents$resourc2[1]; + wsComponents.path = path && path !== "/" ? path : void 0; + wsComponents.query = query; + wsComponents.resourceName = void 0; + } + wsComponents.fragment = void 0; + return wsComponents; + } + }; + var handler$3 = { + scheme: "wss", + domainHost: handler$2.domainHost, + parse: handler$2.parse, + serialize: handler$2.serialize + }; + var O = {}; + var isIRI = true; + var UNRESERVED$$ = "[A-Za-z0-9\\-\\.\\_\\~" + (isIRI ? "\\xA0-\\u200D\\u2010-\\u2029\\u202F-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF" : "") + "]"; + var HEXDIG$$ = "[0-9A-Fa-f]"; + var PCT_ENCODED$ = subexp(subexp("%[EFef]" + HEXDIG$$ + "%" + HEXDIG$$ + HEXDIG$$ + "%" + HEXDIG$$ + HEXDIG$$) + "|" + subexp("%[89A-Fa-f]" + HEXDIG$$ + "%" + HEXDIG$$ + HEXDIG$$) + "|" + subexp("%" + HEXDIG$$ + HEXDIG$$)); + var ATEXT$$ = "[A-Za-z0-9\\!\\$\\%\\'\\*\\+\\-\\^\\_\\`\\{\\|\\}\\~]"; + var QTEXT$$ = "[\\!\\$\\%\\'\\(\\)\\*\\+\\,\\-\\.0-9\\<\\>A-Z\\x5E-\\x7E]"; + var VCHAR$$ = merge(QTEXT$$, '[\\"\\\\]'); + var SOME_DELIMS$$ = "[\\!\\$\\'\\(\\)\\*\\+\\,\\;\\:\\@]"; + var UNRESERVED = new RegExp(UNRESERVED$$, "g"); + var PCT_ENCODED = new RegExp(PCT_ENCODED$, "g"); + var NOT_LOCAL_PART = new RegExp(merge("[^]", ATEXT$$, "[\\.]", '[\\"]', VCHAR$$), "g"); + var NOT_HFNAME = new RegExp(merge("[^]", UNRESERVED$$, SOME_DELIMS$$), "g"); + var NOT_HFVALUE = NOT_HFNAME; + function decodeUnreserved(str) { + var decStr = pctDecChars(str); + return !decStr.match(UNRESERVED) ? str : decStr; + } + var handler$4 = { + scheme: "mailto", + parse: function parse$$1(components, options) { + var mailtoComponents = components; + var to = mailtoComponents.to = mailtoComponents.path ? mailtoComponents.path.split(",") : []; + mailtoComponents.path = void 0; + if (mailtoComponents.query) { + var unknownHeaders = false; + var headers = {}; + var hfields = mailtoComponents.query.split("&"); + for (var x = 0, xl = hfields.length; x < xl; ++x) { + var hfield = hfields[x].split("="); + switch (hfield[0]) { + case "to": + var toAddrs = hfield[1].split(","); + for (var _x = 0, _xl = toAddrs.length; _x < _xl; ++_x) { + to.push(toAddrs[_x]); + } + break; + case "subject": + mailtoComponents.subject = unescapeComponent(hfield[1], options); + break; + case "body": + mailtoComponents.body = unescapeComponent(hfield[1], options); + break; + default: + unknownHeaders = true; + headers[unescapeComponent(hfield[0], options)] = unescapeComponent(hfield[1], options); + break; + } + } + if (unknownHeaders) mailtoComponents.headers = headers; + } + mailtoComponents.query = void 0; + for (var _x2 = 0, _xl2 = to.length; _x2 < _xl2; ++_x2) { + var addr = to[_x2].split("@"); + addr[0] = unescapeComponent(addr[0]); + if (!options.unicodeSupport) { + try { + addr[1] = punycode.toASCII(unescapeComponent(addr[1], options).toLowerCase()); + } catch (e) { + mailtoComponents.error = mailtoComponents.error || "Email address's domain name can not be converted to ASCII via punycode: " + e; + } + } else { + addr[1] = unescapeComponent(addr[1], options).toLowerCase(); + } + to[_x2] = addr.join("@"); + } + return mailtoComponents; + }, + serialize: function serialize$$1(mailtoComponents, options) { + var components = mailtoComponents; + var to = toArray(mailtoComponents.to); + if (to) { + for (var x = 0, xl = to.length; x < xl; ++x) { + var toAddr = String(to[x]); + var atIdx = toAddr.lastIndexOf("@"); + var localPart = toAddr.slice(0, atIdx).replace(PCT_ENCODED, decodeUnreserved).replace(PCT_ENCODED, toUpperCase).replace(NOT_LOCAL_PART, pctEncChar); + var domain = toAddr.slice(atIdx + 1); + try { + domain = !options.iri ? punycode.toASCII(unescapeComponent(domain, options).toLowerCase()) : punycode.toUnicode(domain); + } catch (e) { + components.error = components.error || "Email address's domain name can not be converted to " + (!options.iri ? "ASCII" : "Unicode") + " via punycode: " + e; + } + to[x] = localPart + "@" + domain; + } + components.path = to.join(","); + } + var headers = mailtoComponents.headers = mailtoComponents.headers || {}; + if (mailtoComponents.subject) headers["subject"] = mailtoComponents.subject; + if (mailtoComponents.body) headers["body"] = mailtoComponents.body; + var fields = []; + for (var name in headers) { + if (headers[name] !== O[name]) { + fields.push(name.replace(PCT_ENCODED, decodeUnreserved).replace(PCT_ENCODED, toUpperCase).replace(NOT_HFNAME, pctEncChar) + "=" + headers[name].replace(PCT_ENCODED, decodeUnreserved).replace(PCT_ENCODED, toUpperCase).replace(NOT_HFVALUE, pctEncChar)); + } + } + if (fields.length) { + components.query = fields.join("&"); + } + return components; + } + }; + var URN_PARSE = /^([^\:]+)\:(.*)/; + var handler$5 = { + scheme: "urn", + parse: function parse$$1(components, options) { + var matches = components.path && components.path.match(URN_PARSE); + var urnComponents = components; + if (matches) { + var scheme = options.scheme || urnComponents.scheme || "urn"; + var nid = matches[1].toLowerCase(); + var nss = matches[2]; + var urnScheme = scheme + ":" + (options.nid || nid); + var schemeHandler = SCHEMES[urnScheme]; + urnComponents.nid = nid; + urnComponents.nss = nss; + urnComponents.path = void 0; + if (schemeHandler) { + urnComponents = schemeHandler.parse(urnComponents, options); + } + } else { + urnComponents.error = urnComponents.error || "URN can not be parsed."; + } + return urnComponents; + }, + serialize: function serialize$$1(urnComponents, options) { + var scheme = options.scheme || urnComponents.scheme || "urn"; + var nid = urnComponents.nid; + var urnScheme = scheme + ":" + (options.nid || nid); + var schemeHandler = SCHEMES[urnScheme]; + if (schemeHandler) { + urnComponents = schemeHandler.serialize(urnComponents, options); + } + var uriComponents = urnComponents; + var nss = urnComponents.nss; + uriComponents.path = (nid || options.nid) + ":" + nss; + return uriComponents; + } + }; + var UUID = /^[0-9A-Fa-f]{8}(?:\-[0-9A-Fa-f]{4}){3}\-[0-9A-Fa-f]{12}$/; + var handler$6 = { + scheme: "urn:uuid", + parse: function parse2(urnComponents, options) { + var uuidComponents = urnComponents; + uuidComponents.uuid = uuidComponents.nss; + uuidComponents.nss = void 0; + if (!options.tolerant && (!uuidComponents.uuid || !uuidComponents.uuid.match(UUID))) { + uuidComponents.error = uuidComponents.error || "UUID is not valid."; + } + return uuidComponents; + }, + serialize: function serialize2(uuidComponents, options) { + var urnComponents = uuidComponents; + urnComponents.nss = (uuidComponents.uuid || "").toLowerCase(); + return urnComponents; + } + }; + SCHEMES[handler.scheme] = handler; + SCHEMES[handler$1.scheme] = handler$1; + SCHEMES[handler$2.scheme] = handler$2; + SCHEMES[handler$3.scheme] = handler$3; + SCHEMES[handler$4.scheme] = handler$4; + SCHEMES[handler$5.scheme] = handler$5; + SCHEMES[handler$6.scheme] = handler$6; + exports3.SCHEMES = SCHEMES; + exports3.pctEncChar = pctEncChar; + exports3.pctDecChars = pctDecChars; + exports3.parse = parse; + exports3.removeDotSegments = removeDotSegments; + exports3.serialize = serialize; + exports3.resolveComponents = resolveComponents; + exports3.resolve = resolve; + exports3.normalize = normalize; + exports3.equal = equal; + exports3.escapeComponent = escapeComponent; + exports3.unescapeComponent = unescapeComponent; + Object.defineProperty(exports3, "__esModule", { value: true }); + })); + } +}); + +// node_modules/fast-deep-equal/index.js +var require_fast_deep_equal = __commonJS({ + "node_modules/fast-deep-equal/index.js"(exports2, module2) { + "use strict"; + module2.exports = function equal(a, b) { + if (a === b) return true; + if (a && b && typeof a == "object" && typeof b == "object") { + if (a.constructor !== b.constructor) return false; + var length, i, keys; + if (Array.isArray(a)) { + length = a.length; + if (length != b.length) return false; + for (i = length; i-- !== 0; ) + if (!equal(a[i], b[i])) return false; + return true; + } + if (a.constructor === RegExp) return a.source === b.source && a.flags === b.flags; + if (a.valueOf !== Object.prototype.valueOf) return a.valueOf() === b.valueOf(); + if (a.toString !== Object.prototype.toString) return a.toString() === b.toString(); + keys = Object.keys(a); + length = keys.length; + if (length !== Object.keys(b).length) return false; + for (i = length; i-- !== 0; ) + if (!Object.prototype.hasOwnProperty.call(b, keys[i])) return false; + for (i = length; i-- !== 0; ) { + var key = keys[i]; + if (!equal(a[key], b[key])) return false; + } + return true; + } + return a !== a && b !== b; + }; + } +}); + +// node_modules/ajv/lib/compile/ucs2length.js +var require_ucs2length = __commonJS({ + "node_modules/ajv/lib/compile/ucs2length.js"(exports2, module2) { + "use strict"; + module2.exports = function ucs2length(str) { + var length = 0, len = str.length, pos = 0, value; + while (pos < len) { + length++; + value = str.charCodeAt(pos++); + if (value >= 55296 && value <= 56319 && pos < len) { + value = str.charCodeAt(pos); + if ((value & 64512) == 56320) pos++; + } + } + return length; + }; + } +}); + +// node_modules/ajv/lib/compile/util.js +var require_util = __commonJS({ + "node_modules/ajv/lib/compile/util.js"(exports2, module2) { + "use strict"; + module2.exports = { + copy, + checkDataType, + checkDataTypes, + coerceToTypes, + toHash, + getProperty, + escapeQuotes, + equal: require_fast_deep_equal(), + ucs2length: require_ucs2length(), + varOccurences, + varReplace, + schemaHasRules, + schemaHasRulesExcept, + schemaUnknownRules, + toQuotedString, + getPathExpr, + getPath, + getData, + unescapeFragment, + unescapeJsonPointer, + escapeFragment, + escapeJsonPointer + }; + function copy(o, to) { + to = to || {}; + for (var key in o) to[key] = o[key]; + return to; + } + function checkDataType(dataType, data, strictNumbers, negate) { + var EQUAL = negate ? " !== " : " === ", AND = negate ? " || " : " && ", OK3 = negate ? "!" : "", NOT = negate ? "" : "!"; + switch (dataType) { + case "null": + return data + EQUAL + "null"; + case "array": + return OK3 + "Array.isArray(" + data + ")"; + case "object": + return "(" + OK3 + data + AND + "typeof " + data + EQUAL + '"object"' + AND + NOT + "Array.isArray(" + data + "))"; + case "integer": + return "(typeof " + data + EQUAL + '"number"' + AND + NOT + "(" + data + " % 1)" + AND + data + EQUAL + data + (strictNumbers ? AND + OK3 + "isFinite(" + data + ")" : "") + ")"; + case "number": + return "(typeof " + data + EQUAL + '"' + dataType + '"' + (strictNumbers ? AND + OK3 + "isFinite(" + data + ")" : "") + ")"; + default: + return "typeof " + data + EQUAL + '"' + dataType + '"'; + } + } + function checkDataTypes(dataTypes, data, strictNumbers) { + switch (dataTypes.length) { + case 1: + return checkDataType(dataTypes[0], data, strictNumbers, true); + default: + var code = ""; + var types = toHash(dataTypes); + if (types.array && types.object) { + code = types.null ? "(" : "(!" + data + " || "; + code += "typeof " + data + ' !== "object")'; + delete types.null; + delete types.array; + delete types.object; + } + if (types.number) delete types.integer; + for (var t in types) + code += (code ? " && " : "") + checkDataType(t, data, strictNumbers, true); + return code; + } + } + var COERCE_TO_TYPES = toHash(["string", "number", "integer", "boolean", "null"]); + function coerceToTypes(optionCoerceTypes, dataTypes) { + if (Array.isArray(dataTypes)) { + var types = []; + for (var i = 0; i < dataTypes.length; i++) { + var t = dataTypes[i]; + if (COERCE_TO_TYPES[t]) types[types.length] = t; + else if (optionCoerceTypes === "array" && t === "array") types[types.length] = t; + } + if (types.length) return types; + } else if (COERCE_TO_TYPES[dataTypes]) { + return [dataTypes]; + } else if (optionCoerceTypes === "array" && dataTypes === "array") { + return ["array"]; + } + } + function toHash(arr) { + var hash = {}; + for (var i = 0; i < arr.length; i++) hash[arr[i]] = true; + return hash; + } + var IDENTIFIER = /^[a-z$_][a-z$_0-9]*$/i; + var SINGLE_QUOTE = /'|\\/g; + function getProperty(key) { + return typeof key == "number" ? "[" + key + "]" : IDENTIFIER.test(key) ? "." + key : "['" + escapeQuotes(key) + "']"; + } + function escapeQuotes(str) { + return str.replace(SINGLE_QUOTE, "\\$&").replace(/\n/g, "\\n").replace(/\r/g, "\\r").replace(/\f/g, "\\f").replace(/\t/g, "\\t"); + } + function varOccurences(str, dataVar) { + dataVar += "[^0-9]"; + var matches = str.match(new RegExp(dataVar, "g")); + return matches ? matches.length : 0; + } + function varReplace(str, dataVar, expr) { + dataVar += "([^0-9])"; + expr = expr.replace(/\$/g, "$$$$"); + return str.replace(new RegExp(dataVar, "g"), expr + "$1"); + } + function schemaHasRules(schema, rules) { + if (typeof schema == "boolean") return !schema; + for (var key in schema) if (rules[key]) return true; + } + function schemaHasRulesExcept(schema, rules, exceptKeyword) { + if (typeof schema == "boolean") return !schema && exceptKeyword != "not"; + for (var key in schema) if (key != exceptKeyword && rules[key]) return true; + } + function schemaUnknownRules(schema, rules) { + if (typeof schema == "boolean") return; + for (var key in schema) if (!rules[key]) return key; + } + function toQuotedString(str) { + return "'" + escapeQuotes(str) + "'"; + } + function getPathExpr(currentPath, expr, jsonPointers, isNumber) { + var path = jsonPointers ? "'/' + " + expr + (isNumber ? "" : ".replace(/~/g, '~0').replace(/\\//g, '~1')") : isNumber ? "'[' + " + expr + " + ']'" : "'[\\'' + " + expr + " + '\\']'"; + return joinPaths(currentPath, path); + } + function getPath(currentPath, prop, jsonPointers) { + var path = jsonPointers ? toQuotedString("/" + escapeJsonPointer(prop)) : toQuotedString(getProperty(prop)); + return joinPaths(currentPath, path); + } + var JSON_POINTER = /^\/(?:[^~]|~0|~1)*$/; + var RELATIVE_JSON_POINTER = /^([0-9]+)(#|\/(?:[^~]|~0|~1)*)?$/; + function getData($data, lvl, paths) { + var up, jsonPointer, data, matches; + if ($data === "") return "rootData"; + if ($data[0] == "/") { + if (!JSON_POINTER.test($data)) throw new Error("Invalid JSON-pointer: " + $data); + jsonPointer = $data; + data = "rootData"; + } else { + matches = $data.match(RELATIVE_JSON_POINTER); + if (!matches) throw new Error("Invalid JSON-pointer: " + $data); + up = +matches[1]; + jsonPointer = matches[2]; + if (jsonPointer == "#") { + if (up >= lvl) throw new Error("Cannot access property/index " + up + " levels up, current level is " + lvl); + return paths[lvl - up]; + } + if (up > lvl) throw new Error("Cannot access data " + up + " levels up, current level is " + lvl); + data = "data" + (lvl - up || ""); + if (!jsonPointer) return data; + } + var expr = data; + var segments = jsonPointer.split("/"); + for (var i = 0; i < segments.length; i++) { + var segment = segments[i]; + if (segment) { + data += getProperty(unescapeJsonPointer(segment)); + expr += " && " + data; + } + } + return expr; + } + function joinPaths(a, b) { + if (a == '""') return b; + return (a + " + " + b).replace(/([^\\])' \+ '/g, "$1"); + } + function unescapeFragment(str) { + return unescapeJsonPointer(decodeURIComponent(str)); + } + function escapeFragment(str) { + return encodeURIComponent(escapeJsonPointer(str)); + } + function escapeJsonPointer(str) { + return str.replace(/~/g, "~0").replace(/\//g, "~1"); + } + function unescapeJsonPointer(str) { + return str.replace(/~1/g, "/").replace(/~0/g, "~"); + } + } +}); + +// node_modules/ajv/lib/compile/schema_obj.js +var require_schema_obj = __commonJS({ + "node_modules/ajv/lib/compile/schema_obj.js"(exports2, module2) { + "use strict"; + var util3 = require_util(); + module2.exports = SchemaObject; + function SchemaObject(obj) { + util3.copy(obj, this); + } + } +}); + +// node_modules/json-schema-traverse/index.js +var require_json_schema_traverse = __commonJS({ + "node_modules/json-schema-traverse/index.js"(exports2, module2) { + "use strict"; + var traverse = module2.exports = function(schema, opts, cb) { + if (typeof opts == "function") { + cb = opts; + opts = {}; + } + cb = opts.cb || cb; + var pre = typeof cb == "function" ? cb : cb.pre || function() { + }; + var post = cb.post || function() { + }; + _traverse(opts, pre, post, schema, "", schema); + }; + traverse.keywords = { + additionalItems: true, + items: true, + contains: true, + additionalProperties: true, + propertyNames: true, + not: true + }; + traverse.arrayKeywords = { + items: true, + allOf: true, + anyOf: true, + oneOf: true + }; + traverse.propsKeywords = { + definitions: true, + properties: true, + patternProperties: true, + dependencies: true + }; + traverse.skipKeywords = { + default: true, + enum: true, + const: true, + required: true, + maximum: true, + minimum: true, + exclusiveMaximum: true, + exclusiveMinimum: true, + multipleOf: true, + maxLength: true, + minLength: true, + pattern: true, + format: true, + maxItems: true, + minItems: true, + uniqueItems: true, + maxProperties: true, + minProperties: true + }; + function _traverse(opts, pre, post, schema, jsonPtr, rootSchema, parentJsonPtr, parentKeyword, parentSchema, keyIndex) { + if (schema && typeof schema == "object" && !Array.isArray(schema)) { + pre(schema, jsonPtr, rootSchema, parentJsonPtr, parentKeyword, parentSchema, keyIndex); + for (var key in schema) { + var sch = schema[key]; + if (Array.isArray(sch)) { + if (key in traverse.arrayKeywords) { + for (var i = 0; i < sch.length; i++) + _traverse(opts, pre, post, sch[i], jsonPtr + "/" + key + "/" + i, rootSchema, jsonPtr, key, schema, i); + } + } else if (key in traverse.propsKeywords) { + if (sch && typeof sch == "object") { + for (var prop in sch) + _traverse(opts, pre, post, sch[prop], jsonPtr + "/" + key + "/" + escapeJsonPtr(prop), rootSchema, jsonPtr, key, schema, prop); + } + } else if (key in traverse.keywords || opts.allKeys && !(key in traverse.skipKeywords)) { + _traverse(opts, pre, post, sch, jsonPtr + "/" + key, rootSchema, jsonPtr, key, schema); + } + } + post(schema, jsonPtr, rootSchema, parentJsonPtr, parentKeyword, parentSchema, keyIndex); + } + } + function escapeJsonPtr(str) { + return str.replace(/~/g, "~0").replace(/\//g, "~1"); + } + } +}); + +// node_modules/ajv/lib/compile/resolve.js +var require_resolve = __commonJS({ + "node_modules/ajv/lib/compile/resolve.js"(exports2, module2) { + "use strict"; + var URI = require_uri_all(); + var equal = require_fast_deep_equal(); + var util3 = require_util(); + var SchemaObject = require_schema_obj(); + var traverse = require_json_schema_traverse(); + module2.exports = resolve; + resolve.normalizeId = normalizeId; + resolve.fullPath = getFullPath; + resolve.url = resolveUrl; + resolve.ids = resolveIds; + resolve.inlineRef = inlineRef; + resolve.schema = resolveSchema; + function resolve(compile, root, ref) { + var refVal = this._refs[ref]; + if (typeof refVal == "string") { + if (this._refs[refVal]) refVal = this._refs[refVal]; + else return resolve.call(this, compile, root, refVal); + } + refVal = refVal || this._schemas[ref]; + if (refVal instanceof SchemaObject) { + return inlineRef(refVal.schema, this._opts.inlineRefs) ? refVal.schema : refVal.validate || this._compile(refVal); + } + var res = resolveSchema.call(this, root, ref); + var schema, v, baseId; + if (res) { + schema = res.schema; + root = res.root; + baseId = res.baseId; + } + if (schema instanceof SchemaObject) { + v = schema.validate || compile.call(this, schema.schema, root, void 0, baseId); + } else if (schema !== void 0) { + v = inlineRef(schema, this._opts.inlineRefs) ? schema : compile.call(this, schema, root, void 0, baseId); + } + return v; + } + function resolveSchema(root, ref) { + var p = URI.parse(ref), refPath = _getFullPath(p), baseId = getFullPath(this._getId(root.schema)); + if (Object.keys(root.schema).length === 0 || refPath !== baseId) { + var id = normalizeId(refPath); + var refVal = this._refs[id]; + if (typeof refVal == "string") { + return resolveRecursive.call(this, root, refVal, p); + } else if (refVal instanceof SchemaObject) { + if (!refVal.validate) this._compile(refVal); + root = refVal; + } else { + refVal = this._schemas[id]; + if (refVal instanceof SchemaObject) { + if (!refVal.validate) this._compile(refVal); + if (id == normalizeId(ref)) + return { schema: refVal, root, baseId }; + root = refVal; + } else { + return; + } + } + if (!root.schema) return; + baseId = getFullPath(this._getId(root.schema)); + } + return getJsonPointer.call(this, p, baseId, root.schema, root); + } + function resolveRecursive(root, ref, parsedRef) { + var res = resolveSchema.call(this, root, ref); + if (res) { + var schema = res.schema; + var baseId = res.baseId; + root = res.root; + var id = this._getId(schema); + if (id) baseId = resolveUrl(baseId, id); + return getJsonPointer.call(this, parsedRef, baseId, schema, root); + } + } + var PREVENT_SCOPE_CHANGE = util3.toHash(["properties", "patternProperties", "enum", "dependencies", "definitions"]); + function getJsonPointer(parsedRef, baseId, schema, root) { + parsedRef.fragment = parsedRef.fragment || ""; + if (parsedRef.fragment.slice(0, 1) != "/") return; + var parts = parsedRef.fragment.split("/"); + for (var i = 1; i < parts.length; i++) { + var part = parts[i]; + if (part) { + part = util3.unescapeFragment(part); + schema = schema[part]; + if (schema === void 0) break; + var id; + if (!PREVENT_SCOPE_CHANGE[part]) { + id = this._getId(schema); + if (id) baseId = resolveUrl(baseId, id); + if (schema.$ref) { + var $ref = resolveUrl(baseId, schema.$ref); + var res = resolveSchema.call(this, root, $ref); + if (res) { + schema = res.schema; + root = res.root; + baseId = res.baseId; + } + } + } + } + } + if (schema !== void 0 && schema !== root.schema) + return { schema, root, baseId }; + } + var SIMPLE_INLINED = util3.toHash([ + "type", + "format", + "pattern", + "maxLength", + "minLength", + "maxProperties", + "minProperties", + "maxItems", + "minItems", + "maximum", + "minimum", + "uniqueItems", + "multipleOf", + "required", + "enum" + ]); + function inlineRef(schema, limit) { + if (limit === false) return false; + if (limit === void 0 || limit === true) return checkNoRef(schema); + else if (limit) return countKeys(schema) <= limit; + } + function checkNoRef(schema) { + var item; + if (Array.isArray(schema)) { + for (var i = 0; i < schema.length; i++) { + item = schema[i]; + if (typeof item == "object" && !checkNoRef(item)) return false; + } + } else { + for (var key in schema) { + if (key == "$ref") return false; + item = schema[key]; + if (typeof item == "object" && !checkNoRef(item)) return false; + } + } + return true; + } + function countKeys(schema) { + var count = 0, item; + if (Array.isArray(schema)) { + for (var i = 0; i < schema.length; i++) { + item = schema[i]; + if (typeof item == "object") count += countKeys(item); + if (count == Infinity) return Infinity; + } + } else { + for (var key in schema) { + if (key == "$ref") return Infinity; + if (SIMPLE_INLINED[key]) { + count++; + } else { + item = schema[key]; + if (typeof item == "object") count += countKeys(item) + 1; + if (count == Infinity) return Infinity; + } + } + } + return count; + } + function getFullPath(id, normalize) { + if (normalize !== false) id = normalizeId(id); + var p = URI.parse(id); + return _getFullPath(p); + } + function _getFullPath(p) { + return URI.serialize(p).split("#")[0] + "#"; + } + var TRAILING_SLASH_HASH = /#\/?$/; + function normalizeId(id) { + return id ? id.replace(TRAILING_SLASH_HASH, "") : ""; + } + function resolveUrl(baseId, id) { + id = normalizeId(id); + return URI.resolve(baseId, id); + } + function resolveIds(schema) { + var schemaId = normalizeId(this._getId(schema)); + var baseIds = { "": schemaId }; + var fullPaths = { "": getFullPath(schemaId, false) }; + var localRefs = {}; + var self2 = this; + traverse(schema, { allKeys: true }, function(sch, jsonPtr, rootSchema, parentJsonPtr, parentKeyword, parentSchema, keyIndex) { + if (jsonPtr === "") return; + var id = self2._getId(sch); + var baseId = baseIds[parentJsonPtr]; + var fullPath = fullPaths[parentJsonPtr] + "/" + parentKeyword; + if (keyIndex !== void 0) + fullPath += "/" + (typeof keyIndex == "number" ? keyIndex : util3.escapeFragment(keyIndex)); + if (typeof id == "string") { + id = baseId = normalizeId(baseId ? URI.resolve(baseId, id) : id); + var refVal = self2._refs[id]; + if (typeof refVal == "string") refVal = self2._refs[refVal]; + if (refVal && refVal.schema) { + if (!equal(sch, refVal.schema)) + throw new Error('id "' + id + '" resolves to more than one schema'); + } else if (id != normalizeId(fullPath)) { + if (id[0] == "#") { + if (localRefs[id] && !equal(sch, localRefs[id])) + throw new Error('id "' + id + '" resolves to more than one schema'); + localRefs[id] = sch; + } else { + self2._refs[id] = fullPath; + } + } + } + baseIds[jsonPtr] = baseId; + fullPaths[jsonPtr] = fullPath; + }); + return localRefs; + } + } +}); + +// node_modules/ajv/lib/compile/error_classes.js +var require_error_classes = __commonJS({ + "node_modules/ajv/lib/compile/error_classes.js"(exports2, module2) { + "use strict"; + var resolve = require_resolve(); + module2.exports = { + Validation: errorSubclass(ValidationError), + MissingRef: errorSubclass(MissingRefError) + }; + function ValidationError(errors) { + this.message = "validation failed"; + this.errors = errors; + this.ajv = this.validation = true; + } + MissingRefError.message = function(baseId, ref) { + return "can't resolve reference " + ref + " from id " + baseId; + }; + function MissingRefError(baseId, ref, message) { + this.message = message || MissingRefError.message(baseId, ref); + this.missingRef = resolve.url(baseId, ref); + this.missingSchema = resolve.normalizeId(resolve.fullPath(this.missingRef)); + } + function errorSubclass(Subclass) { + Subclass.prototype = Object.create(Error.prototype); + Subclass.prototype.constructor = Subclass; + return Subclass; + } + } +}); + +// node_modules/fast-json-stable-stringify/index.js +var require_fast_json_stable_stringify = __commonJS({ + "node_modules/fast-json-stable-stringify/index.js"(exports2, module2) { + "use strict"; + module2.exports = function(data, opts) { + if (!opts) opts = {}; + if (typeof opts === "function") opts = { cmp: opts }; + var cycles = typeof opts.cycles === "boolean" ? opts.cycles : false; + var cmp = opts.cmp && /* @__PURE__ */ (function(f) { + return function(node) { + return function(a, b) { + var aobj = { key: a, value: node[a] }; + var bobj = { key: b, value: node[b] }; + return f(aobj, bobj); + }; + }; + })(opts.cmp); + var seen = []; + return (function stringify(node) { + if (node && node.toJSON && typeof node.toJSON === "function") { + node = node.toJSON(); + } + if (node === void 0) return; + if (typeof node == "number") return isFinite(node) ? "" + node : "null"; + if (typeof node !== "object") return JSON.stringify(node); + var i, out; + if (Array.isArray(node)) { + out = "["; + for (i = 0; i < node.length; i++) { + if (i) out += ","; + out += stringify(node[i]) || "null"; + } + return out + "]"; + } + if (node === null) return "null"; + if (seen.indexOf(node) !== -1) { + if (cycles) return JSON.stringify("__cycle__"); + throw new TypeError("Converting circular structure to JSON"); + } + var seenIndex = seen.push(node) - 1; + var keys = Object.keys(node).sort(cmp && cmp(node)); + out = ""; + for (i = 0; i < keys.length; i++) { + var key = keys[i]; + var value = stringify(node[key]); + if (!value) continue; + if (out) out += ","; + out += JSON.stringify(key) + ":" + value; + } + seen.splice(seenIndex, 1); + return "{" + out + "}"; + })(data); + }; + } +}); + +// node_modules/ajv/lib/dotjs/validate.js +var require_validate = __commonJS({ + "node_modules/ajv/lib/dotjs/validate.js"(exports2, module2) { + "use strict"; + module2.exports = function generate_validate(it, $keyword, $ruleType) { + var out = ""; + var $async = it.schema.$async === true, $refKeywords = it.util.schemaHasRulesExcept(it.schema, it.RULES.all, "$ref"), $id = it.self._getId(it.schema); + if (it.opts.strictKeywords) { + var $unknownKwd = it.util.schemaUnknownRules(it.schema, it.RULES.keywords); + if ($unknownKwd) { + var $keywordsMsg = "unknown keyword: " + $unknownKwd; + if (it.opts.strictKeywords === "log") it.logger.warn($keywordsMsg); + else throw new Error($keywordsMsg); + } + } + if (it.isTop) { + out += " var validate = "; + if ($async) { + it.async = true; + out += "async "; + } + out += "function(data, dataPath, parentData, parentDataProperty, rootData) { 'use strict'; "; + if ($id && (it.opts.sourceCode || it.opts.processCode)) { + out += " " + ("/*# sourceURL=" + $id + " */") + " "; + } + } + if (typeof it.schema == "boolean" || !($refKeywords || it.schema.$ref)) { + var $keyword = "false schema"; + var $lvl = it.level; + var $dataLvl = it.dataLevel; + var $schema = it.schema[$keyword]; + var $schemaPath = it.schemaPath + it.util.getProperty($keyword); + var $errSchemaPath = it.errSchemaPath + "/" + $keyword; + var $breakOnError = !it.opts.allErrors; + var $errorKeyword; + var $data = "data" + ($dataLvl || ""); + var $valid = "valid" + $lvl; + if (it.schema === false) { + if (it.isTop) { + $breakOnError = true; + } else { + out += " var " + $valid + " = false; "; + } + var $$outStack = $$outStack || []; + $$outStack.push(out); + out = ""; + if (it.createErrors !== false) { + out += " { keyword: '" + ($errorKeyword || "false schema") + "' , dataPath: (dataPath || '') + " + it.errorPath + " , schemaPath: " + it.util.toQuotedString($errSchemaPath) + " , params: {} "; + if (it.opts.messages !== false) { + out += " , message: 'boolean schema is false' "; + } + if (it.opts.verbose) { + out += " , schema: false , parentSchema: validate.schema" + it.schemaPath + " , data: " + $data + " "; + } + out += " } "; + } else { + out += " {} "; + } + var __err = out; + out = $$outStack.pop(); + if (!it.compositeRule && $breakOnError) { + if (it.async) { + out += " throw new ValidationError([" + __err + "]); "; + } else { + out += " validate.errors = [" + __err + "]; return false; "; + } + } else { + out += " var err = " + __err + "; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; "; + } + } else { + if (it.isTop) { + if ($async) { + out += " return data; "; + } else { + out += " validate.errors = null; return true; "; + } + } else { + out += " var " + $valid + " = true; "; + } + } + if (it.isTop) { + out += " }; return validate; "; + } + return out; + } + if (it.isTop) { + var $top = it.isTop, $lvl = it.level = 0, $dataLvl = it.dataLevel = 0, $data = "data"; + it.rootId = it.resolve.fullPath(it.self._getId(it.root.schema)); + it.baseId = it.baseId || it.rootId; + delete it.isTop; + it.dataPathArr = [""]; + if (it.schema.default !== void 0 && it.opts.useDefaults && it.opts.strictDefaults) { + var $defaultMsg = "default is ignored in the schema root"; + if (it.opts.strictDefaults === "log") it.logger.warn($defaultMsg); + else throw new Error($defaultMsg); + } + out += " var vErrors = null; "; + out += " var errors = 0; "; + out += " if (rootData === undefined) rootData = data; "; + } else { + var $lvl = it.level, $dataLvl = it.dataLevel, $data = "data" + ($dataLvl || ""); + if ($id) it.baseId = it.resolve.url(it.baseId, $id); + if ($async && !it.async) throw new Error("async schema in sync schema"); + out += " var errs_" + $lvl + " = errors;"; + } + var $valid = "valid" + $lvl, $breakOnError = !it.opts.allErrors, $closingBraces1 = "", $closingBraces2 = ""; + var $errorKeyword; + var $typeSchema = it.schema.type, $typeIsArray = Array.isArray($typeSchema); + if ($typeSchema && it.opts.nullable && it.schema.nullable === true) { + if ($typeIsArray) { + if ($typeSchema.indexOf("null") == -1) $typeSchema = $typeSchema.concat("null"); + } else if ($typeSchema != "null") { + $typeSchema = [$typeSchema, "null"]; + $typeIsArray = true; + } + } + if ($typeIsArray && $typeSchema.length == 1) { + $typeSchema = $typeSchema[0]; + $typeIsArray = false; + } + if (it.schema.$ref && $refKeywords) { + if (it.opts.extendRefs == "fail") { + throw new Error('$ref: validation keywords used in schema at path "' + it.errSchemaPath + '" (see option extendRefs)'); + } else if (it.opts.extendRefs !== true) { + $refKeywords = false; + it.logger.warn('$ref: keywords ignored in schema at path "' + it.errSchemaPath + '"'); + } + } + if (it.schema.$comment && it.opts.$comment) { + out += " " + it.RULES.all.$comment.code(it, "$comment"); + } + if ($typeSchema) { + if (it.opts.coerceTypes) { + var $coerceToTypes = it.util.coerceToTypes(it.opts.coerceTypes, $typeSchema); + } + var $rulesGroup = it.RULES.types[$typeSchema]; + if ($coerceToTypes || $typeIsArray || $rulesGroup === true || $rulesGroup && !$shouldUseGroup($rulesGroup)) { + var $schemaPath = it.schemaPath + ".type", $errSchemaPath = it.errSchemaPath + "/type"; + var $schemaPath = it.schemaPath + ".type", $errSchemaPath = it.errSchemaPath + "/type", $method = $typeIsArray ? "checkDataTypes" : "checkDataType"; + out += " if (" + it.util[$method]($typeSchema, $data, it.opts.strictNumbers, true) + ") { "; + if ($coerceToTypes) { + var $dataType = "dataType" + $lvl, $coerced = "coerced" + $lvl; + out += " var " + $dataType + " = typeof " + $data + "; var " + $coerced + " = undefined; "; + if (it.opts.coerceTypes == "array") { + out += " if (" + $dataType + " == 'object' && Array.isArray(" + $data + ") && " + $data + ".length == 1) { " + $data + " = " + $data + "[0]; " + $dataType + " = typeof " + $data + "; if (" + it.util.checkDataType(it.schema.type, $data, it.opts.strictNumbers) + ") " + $coerced + " = " + $data + "; } "; + } + out += " if (" + $coerced + " !== undefined) ; "; + var arr1 = $coerceToTypes; + if (arr1) { + var $type, $i = -1, l1 = arr1.length - 1; + while ($i < l1) { + $type = arr1[$i += 1]; + if ($type == "string") { + out += " else if (" + $dataType + " == 'number' || " + $dataType + " == 'boolean') " + $coerced + " = '' + " + $data + "; else if (" + $data + " === null) " + $coerced + " = ''; "; + } else if ($type == "number" || $type == "integer") { + out += " else if (" + $dataType + " == 'boolean' || " + $data + " === null || (" + $dataType + " == 'string' && " + $data + " && " + $data + " == +" + $data + " "; + if ($type == "integer") { + out += " && !(" + $data + " % 1)"; + } + out += ")) " + $coerced + " = +" + $data + "; "; + } else if ($type == "boolean") { + out += " else if (" + $data + " === 'false' || " + $data + " === 0 || " + $data + " === null) " + $coerced + " = false; else if (" + $data + " === 'true' || " + $data + " === 1) " + $coerced + " = true; "; + } else if ($type == "null") { + out += " else if (" + $data + " === '' || " + $data + " === 0 || " + $data + " === false) " + $coerced + " = null; "; + } else if (it.opts.coerceTypes == "array" && $type == "array") { + out += " else if (" + $dataType + " == 'string' || " + $dataType + " == 'number' || " + $dataType + " == 'boolean' || " + $data + " == null) " + $coerced + " = [" + $data + "]; "; + } + } + } + out += " else { "; + var $$outStack = $$outStack || []; + $$outStack.push(out); + out = ""; + if (it.createErrors !== false) { + out += " { keyword: '" + ($errorKeyword || "type") + "' , dataPath: (dataPath || '') + " + it.errorPath + " , schemaPath: " + it.util.toQuotedString($errSchemaPath) + " , params: { type: '"; + if ($typeIsArray) { + out += "" + $typeSchema.join(","); + } else { + out += "" + $typeSchema; + } + out += "' } "; + if (it.opts.messages !== false) { + out += " , message: 'should be "; + if ($typeIsArray) { + out += "" + $typeSchema.join(","); + } else { + out += "" + $typeSchema; + } + out += "' "; + } + if (it.opts.verbose) { + out += " , schema: validate.schema" + $schemaPath + " , parentSchema: validate.schema" + it.schemaPath + " , data: " + $data + " "; + } + out += " } "; + } else { + out += " {} "; + } + var __err = out; + out = $$outStack.pop(); + if (!it.compositeRule && $breakOnError) { + if (it.async) { + out += " throw new ValidationError([" + __err + "]); "; + } else { + out += " validate.errors = [" + __err + "]; return false; "; + } + } else { + out += " var err = " + __err + "; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; "; + } + out += " } if (" + $coerced + " !== undefined) { "; + var $parentData = $dataLvl ? "data" + ($dataLvl - 1 || "") : "parentData", $parentDataProperty = $dataLvl ? it.dataPathArr[$dataLvl] : "parentDataProperty"; + out += " " + $data + " = " + $coerced + "; "; + if (!$dataLvl) { + out += "if (" + $parentData + " !== undefined)"; + } + out += " " + $parentData + "[" + $parentDataProperty + "] = " + $coerced + "; } "; + } else { + var $$outStack = $$outStack || []; + $$outStack.push(out); + out = ""; + if (it.createErrors !== false) { + out += " { keyword: '" + ($errorKeyword || "type") + "' , dataPath: (dataPath || '') + " + it.errorPath + " , schemaPath: " + it.util.toQuotedString($errSchemaPath) + " , params: { type: '"; + if ($typeIsArray) { + out += "" + $typeSchema.join(","); + } else { + out += "" + $typeSchema; + } + out += "' } "; + if (it.opts.messages !== false) { + out += " , message: 'should be "; + if ($typeIsArray) { + out += "" + $typeSchema.join(","); + } else { + out += "" + $typeSchema; + } + out += "' "; + } + if (it.opts.verbose) { + out += " , schema: validate.schema" + $schemaPath + " , parentSchema: validate.schema" + it.schemaPath + " , data: " + $data + " "; + } + out += " } "; + } else { + out += " {} "; + } + var __err = out; + out = $$outStack.pop(); + if (!it.compositeRule && $breakOnError) { + if (it.async) { + out += " throw new ValidationError([" + __err + "]); "; + } else { + out += " validate.errors = [" + __err + "]; return false; "; + } + } else { + out += " var err = " + __err + "; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; "; + } + } + out += " } "; + } + } + if (it.schema.$ref && !$refKeywords) { + out += " " + it.RULES.all.$ref.code(it, "$ref") + " "; + if ($breakOnError) { + out += " } if (errors === "; + if ($top) { + out += "0"; + } else { + out += "errs_" + $lvl; + } + out += ") { "; + $closingBraces2 += "}"; + } + } else { + var arr2 = it.RULES; + if (arr2) { + var $rulesGroup, i2 = -1, l2 = arr2.length - 1; + while (i2 < l2) { + $rulesGroup = arr2[i2 += 1]; + if ($shouldUseGroup($rulesGroup)) { + if ($rulesGroup.type) { + out += " if (" + it.util.checkDataType($rulesGroup.type, $data, it.opts.strictNumbers) + ") { "; + } + if (it.opts.useDefaults) { + if ($rulesGroup.type == "object" && it.schema.properties) { + var $schema = it.schema.properties, $schemaKeys = Object.keys($schema); + var arr3 = $schemaKeys; + if (arr3) { + var $propertyKey, i3 = -1, l3 = arr3.length - 1; + while (i3 < l3) { + $propertyKey = arr3[i3 += 1]; + var $sch = $schema[$propertyKey]; + if ($sch.default !== void 0) { + var $passData = $data + it.util.getProperty($propertyKey); + if (it.compositeRule) { + if (it.opts.strictDefaults) { + var $defaultMsg = "default is ignored for: " + $passData; + if (it.opts.strictDefaults === "log") it.logger.warn($defaultMsg); + else throw new Error($defaultMsg); + } + } else { + out += " if (" + $passData + " === undefined "; + if (it.opts.useDefaults == "empty") { + out += " || " + $passData + " === null || " + $passData + " === '' "; + } + out += " ) " + $passData + " = "; + if (it.opts.useDefaults == "shared") { + out += " " + it.useDefault($sch.default) + " "; + } else { + out += " " + JSON.stringify($sch.default) + " "; + } + out += "; "; + } + } + } + } + } else if ($rulesGroup.type == "array" && Array.isArray(it.schema.items)) { + var arr4 = it.schema.items; + if (arr4) { + var $sch, $i = -1, l4 = arr4.length - 1; + while ($i < l4) { + $sch = arr4[$i += 1]; + if ($sch.default !== void 0) { + var $passData = $data + "[" + $i + "]"; + if (it.compositeRule) { + if (it.opts.strictDefaults) { + var $defaultMsg = "default is ignored for: " + $passData; + if (it.opts.strictDefaults === "log") it.logger.warn($defaultMsg); + else throw new Error($defaultMsg); + } + } else { + out += " if (" + $passData + " === undefined "; + if (it.opts.useDefaults == "empty") { + out += " || " + $passData + " === null || " + $passData + " === '' "; + } + out += " ) " + $passData + " = "; + if (it.opts.useDefaults == "shared") { + out += " " + it.useDefault($sch.default) + " "; + } else { + out += " " + JSON.stringify($sch.default) + " "; + } + out += "; "; + } + } + } + } + } + } + var arr5 = $rulesGroup.rules; + if (arr5) { + var $rule, i5 = -1, l5 = arr5.length - 1; + while (i5 < l5) { + $rule = arr5[i5 += 1]; + if ($shouldUseRule($rule)) { + var $code = $rule.code(it, $rule.keyword, $rulesGroup.type); + if ($code) { + out += " " + $code + " "; + if ($breakOnError) { + $closingBraces1 += "}"; + } + } + } + } + } + if ($breakOnError) { + out += " " + $closingBraces1 + " "; + $closingBraces1 = ""; + } + if ($rulesGroup.type) { + out += " } "; + if ($typeSchema && $typeSchema === $rulesGroup.type && !$coerceToTypes) { + out += " else { "; + var $schemaPath = it.schemaPath + ".type", $errSchemaPath = it.errSchemaPath + "/type"; + var $$outStack = $$outStack || []; + $$outStack.push(out); + out = ""; + if (it.createErrors !== false) { + out += " { keyword: '" + ($errorKeyword || "type") + "' , dataPath: (dataPath || '') + " + it.errorPath + " , schemaPath: " + it.util.toQuotedString($errSchemaPath) + " , params: { type: '"; + if ($typeIsArray) { + out += "" + $typeSchema.join(","); + } else { + out += "" + $typeSchema; + } + out += "' } "; + if (it.opts.messages !== false) { + out += " , message: 'should be "; + if ($typeIsArray) { + out += "" + $typeSchema.join(","); + } else { + out += "" + $typeSchema; + } + out += "' "; + } + if (it.opts.verbose) { + out += " , schema: validate.schema" + $schemaPath + " , parentSchema: validate.schema" + it.schemaPath + " , data: " + $data + " "; + } + out += " } "; + } else { + out += " {} "; + } + var __err = out; + out = $$outStack.pop(); + if (!it.compositeRule && $breakOnError) { + if (it.async) { + out += " throw new ValidationError([" + __err + "]); "; + } else { + out += " validate.errors = [" + __err + "]; return false; "; + } + } else { + out += " var err = " + __err + "; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; "; + } + out += " } "; + } + } + if ($breakOnError) { + out += " if (errors === "; + if ($top) { + out += "0"; + } else { + out += "errs_" + $lvl; + } + out += ") { "; + $closingBraces2 += "}"; + } + } + } + } + } + if ($breakOnError) { + out += " " + $closingBraces2 + " "; + } + if ($top) { + if ($async) { + out += " if (errors === 0) return data; "; + out += " else throw new ValidationError(vErrors); "; + } else { + out += " validate.errors = vErrors; "; + out += " return errors === 0; "; + } + out += " }; return validate;"; + } else { + out += " var " + $valid + " = errors === errs_" + $lvl + ";"; + } + function $shouldUseGroup($rulesGroup2) { + var rules = $rulesGroup2.rules; + for (var i = 0; i < rules.length; i++) + if ($shouldUseRule(rules[i])) return true; + } + function $shouldUseRule($rule2) { + return it.schema[$rule2.keyword] !== void 0 || $rule2.implements && $ruleImplementsSomeKeyword($rule2); + } + function $ruleImplementsSomeKeyword($rule2) { + var impl = $rule2.implements; + for (var i = 0; i < impl.length; i++) + if (it.schema[impl[i]] !== void 0) return true; + } + return out; + }; + } +}); + +// node_modules/ajv/lib/compile/index.js +var require_compile = __commonJS({ + "node_modules/ajv/lib/compile/index.js"(exports2, module2) { + "use strict"; + var resolve = require_resolve(); + var util3 = require_util(); + var errorClasses = require_error_classes(); + var stableStringify = require_fast_json_stable_stringify(); + var validateGenerator = require_validate(); + var ucs2length = util3.ucs2length; + var equal = require_fast_deep_equal(); + var ValidationError = errorClasses.Validation; + module2.exports = compile; + function compile(schema, root, localRefs, baseId) { + var self2 = this, opts = this._opts, refVal = [void 0], refs = {}, patterns = [], patternsHash = {}, defaults = [], defaultsHash = {}, customRules = []; + root = root || { schema, refVal, refs }; + var c = checkCompiling.call(this, schema, root, baseId); + var compilation = this._compilations[c.index]; + if (c.compiling) return compilation.callValidate = callValidate; + var formats = this._formats; + var RULES = this.RULES; + try { + var v = localCompile(schema, root, localRefs, baseId); + compilation.validate = v; + var cv = compilation.callValidate; + if (cv) { + cv.schema = v.schema; + cv.errors = null; + cv.refs = v.refs; + cv.refVal = v.refVal; + cv.root = v.root; + cv.$async = v.$async; + if (opts.sourceCode) cv.source = v.source; + } + return v; + } finally { + endCompiling.call(this, schema, root, baseId); + } + function callValidate() { + var validate = compilation.validate; + var result = validate.apply(this, arguments); + callValidate.errors = validate.errors; + return result; + } + function localCompile(_schema, _root, localRefs2, baseId2) { + var isRoot = !_root || _root && _root.schema == _schema; + if (_root.schema != root.schema) + return compile.call(self2, _schema, _root, localRefs2, baseId2); + var $async = _schema.$async === true; + var sourceCode = validateGenerator({ + isTop: true, + schema: _schema, + isRoot, + baseId: baseId2, + root: _root, + schemaPath: "", + errSchemaPath: "#", + errorPath: '""', + MissingRefError: errorClasses.MissingRef, + RULES, + validate: validateGenerator, + util: util3, + resolve, + resolveRef, + usePattern, + useDefault, + useCustomRule, + opts, + formats, + logger: self2.logger, + self: self2 + }); + sourceCode = vars(refVal, refValCode) + vars(patterns, patternCode) + vars(defaults, defaultCode) + vars(customRules, customRuleCode) + sourceCode; + if (opts.processCode) sourceCode = opts.processCode(sourceCode, _schema); + var validate; + try { + var makeValidate = new Function( + "self", + "RULES", + "formats", + "root", + "refVal", + "defaults", + "customRules", + "equal", + "ucs2length", + "ValidationError", + sourceCode + ); + validate = makeValidate( + self2, + RULES, + formats, + root, + refVal, + defaults, + customRules, + equal, + ucs2length, + ValidationError + ); + refVal[0] = validate; + } catch (e) { + self2.logger.error("Error compiling schema, function code:", sourceCode); + throw e; + } + validate.schema = _schema; + validate.errors = null; + validate.refs = refs; + validate.refVal = refVal; + validate.root = isRoot ? validate : _root; + if ($async) validate.$async = true; + if (opts.sourceCode === true) { + validate.source = { + code: sourceCode, + patterns, + defaults + }; + } + return validate; + } + function resolveRef(baseId2, ref, isRoot) { + ref = resolve.url(baseId2, ref); + var refIndex = refs[ref]; + var _refVal, refCode; + if (refIndex !== void 0) { + _refVal = refVal[refIndex]; + refCode = "refVal[" + refIndex + "]"; + return resolvedRef(_refVal, refCode); + } + if (!isRoot && root.refs) { + var rootRefId = root.refs[ref]; + if (rootRefId !== void 0) { + _refVal = root.refVal[rootRefId]; + refCode = addLocalRef(ref, _refVal); + return resolvedRef(_refVal, refCode); + } + } + refCode = addLocalRef(ref); + var v2 = resolve.call(self2, localCompile, root, ref); + if (v2 === void 0) { + var localSchema = localRefs && localRefs[ref]; + if (localSchema) { + v2 = resolve.inlineRef(localSchema, opts.inlineRefs) ? localSchema : compile.call(self2, localSchema, root, localRefs, baseId2); + } + } + if (v2 === void 0) { + removeLocalRef(ref); + } else { + replaceLocalRef(ref, v2); + return resolvedRef(v2, refCode); + } + } + function addLocalRef(ref, v2) { + var refId = refVal.length; + refVal[refId] = v2; + refs[ref] = refId; + return "refVal" + refId; + } + function removeLocalRef(ref) { + delete refs[ref]; + } + function replaceLocalRef(ref, v2) { + var refId = refs[ref]; + refVal[refId] = v2; + } + function resolvedRef(refVal2, code) { + return typeof refVal2 == "object" || typeof refVal2 == "boolean" ? { code, schema: refVal2, inline: true } : { code, $async: refVal2 && !!refVal2.$async }; + } + function usePattern(regexStr) { + var index = patternsHash[regexStr]; + if (index === void 0) { + index = patternsHash[regexStr] = patterns.length; + patterns[index] = regexStr; + } + return "pattern" + index; + } + function useDefault(value) { + switch (typeof value) { + case "boolean": + case "number": + return "" + value; + case "string": + return util3.toQuotedString(value); + case "object": + if (value === null) return "null"; + var valueStr = stableStringify(value); + var index = defaultsHash[valueStr]; + if (index === void 0) { + index = defaultsHash[valueStr] = defaults.length; + defaults[index] = value; + } + return "default" + index; + } + } + function useCustomRule(rule, schema2, parentSchema, it) { + if (self2._opts.validateSchema !== false) { + var deps = rule.definition.dependencies; + if (deps && !deps.every(function(keyword) { + return Object.prototype.hasOwnProperty.call(parentSchema, keyword); + })) + throw new Error("parent schema must have all required keywords: " + deps.join(",")); + var validateSchema = rule.definition.validateSchema; + if (validateSchema) { + var valid = validateSchema(schema2); + if (!valid) { + var message = "keyword schema is invalid: " + self2.errorsText(validateSchema.errors); + if (self2._opts.validateSchema == "log") self2.logger.error(message); + else throw new Error(message); + } + } + } + var compile2 = rule.definition.compile, inline = rule.definition.inline, macro = rule.definition.macro; + var validate; + if (compile2) { + validate = compile2.call(self2, schema2, parentSchema, it); + } else if (macro) { + validate = macro.call(self2, schema2, parentSchema, it); + if (opts.validateSchema !== false) self2.validateSchema(validate, true); + } else if (inline) { + validate = inline.call(self2, it, rule.keyword, schema2, parentSchema); + } else { + validate = rule.definition.validate; + if (!validate) return; + } + if (validate === void 0) + throw new Error('custom keyword "' + rule.keyword + '"failed to compile'); + var index = customRules.length; + customRules[index] = validate; + return { + code: "customRule" + index, + validate + }; + } + } + function checkCompiling(schema, root, baseId) { + var index = compIndex.call(this, schema, root, baseId); + if (index >= 0) return { index, compiling: true }; + index = this._compilations.length; + this._compilations[index] = { + schema, + root, + baseId + }; + return { index, compiling: false }; + } + function endCompiling(schema, root, baseId) { + var i = compIndex.call(this, schema, root, baseId); + if (i >= 0) this._compilations.splice(i, 1); + } + function compIndex(schema, root, baseId) { + for (var i = 0; i < this._compilations.length; i++) { + var c = this._compilations[i]; + if (c.schema == schema && c.root == root && c.baseId == baseId) return i; + } + return -1; + } + function patternCode(i, patterns) { + return "var pattern" + i + " = new RegExp(" + util3.toQuotedString(patterns[i]) + ");"; + } + function defaultCode(i) { + return "var default" + i + " = defaults[" + i + "];"; + } + function refValCode(i, refVal) { + return refVal[i] === void 0 ? "" : "var refVal" + i + " = refVal[" + i + "];"; + } + function customRuleCode(i) { + return "var customRule" + i + " = customRules[" + i + "];"; + } + function vars(arr, statement) { + if (!arr.length) return ""; + var code = ""; + for (var i = 0; i < arr.length; i++) + code += statement(i, arr); + return code; + } + } +}); + +// node_modules/ajv/lib/cache.js +var require_cache = __commonJS({ + "node_modules/ajv/lib/cache.js"(exports2, module2) { + "use strict"; + var Cache = module2.exports = function Cache2() { + this._cache = {}; + }; + Cache.prototype.put = function Cache_put(key, value) { + this._cache[key] = value; + }; + Cache.prototype.get = function Cache_get(key) { + return this._cache[key]; + }; + Cache.prototype.del = function Cache_del(key) { + delete this._cache[key]; + }; + Cache.prototype.clear = function Cache_clear() { + this._cache = {}; + }; + } +}); + +// node_modules/ajv/lib/compile/formats.js +var require_formats = __commonJS({ + "node_modules/ajv/lib/compile/formats.js"(exports2, module2) { + "use strict"; + var util3 = require_util(); + var DATE = /^(\d\d\d\d)-(\d\d)-(\d\d)$/; + var DAYS = [0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31]; + var TIME = /^(\d\d):(\d\d):(\d\d)(\.\d+)?(z|[+-]\d\d(?::?\d\d)?)?$/i; + var HOSTNAME = /^(?=.{1,253}\.?$)[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?(?:\.[a-z0-9](?:[-0-9a-z]{0,61}[0-9a-z])?)*\.?$/i; + var URI = /^(?:[a-z][a-z0-9+\-.]*:)(?:\/?\/(?:(?:[a-z0-9\-._~!$&'()*+,;=:]|%[0-9a-f]{2})*@)?(?:\[(?:(?:(?:(?:[0-9a-f]{1,4}:){6}|::(?:[0-9a-f]{1,4}:){5}|(?:[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){4}|(?:(?:[0-9a-f]{1,4}:){0,1}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){3}|(?:(?:[0-9a-f]{1,4}:){0,2}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){2}|(?:(?:[0-9a-f]{1,4}:){0,3}[0-9a-f]{1,4})?::[0-9a-f]{1,4}:|(?:(?:[0-9a-f]{1,4}:){0,4}[0-9a-f]{1,4})?::)(?:[0-9a-f]{1,4}:[0-9a-f]{1,4}|(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?))|(?:(?:[0-9a-f]{1,4}:){0,5}[0-9a-f]{1,4})?::[0-9a-f]{1,4}|(?:(?:[0-9a-f]{1,4}:){0,6}[0-9a-f]{1,4})?::)|[Vv][0-9a-f]+\.[a-z0-9\-._~!$&'()*+,;=:]+)\]|(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?)|(?:[a-z0-9\-._~!$&'()*+,;=]|%[0-9a-f]{2})*)(?::\d*)?(?:\/(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})*)*|\/(?:(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})+(?:\/(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})*)*)?|(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})+(?:\/(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})*)*)(?:\?(?:[a-z0-9\-._~!$&'()*+,;=:@/?]|%[0-9a-f]{2})*)?(?:#(?:[a-z0-9\-._~!$&'()*+,;=:@/?]|%[0-9a-f]{2})*)?$/i; + var URIREF = /^(?:[a-z][a-z0-9+\-.]*:)?(?:\/?\/(?:(?:[a-z0-9\-._~!$&'()*+,;=:]|%[0-9a-f]{2})*@)?(?:\[(?:(?:(?:(?:[0-9a-f]{1,4}:){6}|::(?:[0-9a-f]{1,4}:){5}|(?:[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){4}|(?:(?:[0-9a-f]{1,4}:){0,1}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){3}|(?:(?:[0-9a-f]{1,4}:){0,2}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){2}|(?:(?:[0-9a-f]{1,4}:){0,3}[0-9a-f]{1,4})?::[0-9a-f]{1,4}:|(?:(?:[0-9a-f]{1,4}:){0,4}[0-9a-f]{1,4})?::)(?:[0-9a-f]{1,4}:[0-9a-f]{1,4}|(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?))|(?:(?:[0-9a-f]{1,4}:){0,5}[0-9a-f]{1,4})?::[0-9a-f]{1,4}|(?:(?:[0-9a-f]{1,4}:){0,6}[0-9a-f]{1,4})?::)|[Vv][0-9a-f]+\.[a-z0-9\-._~!$&'()*+,;=:]+)\]|(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?)|(?:[a-z0-9\-._~!$&'"()*+,;=]|%[0-9a-f]{2})*)(?::\d*)?(?:\/(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})*)*|\/(?:(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})+(?:\/(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})*)*)?|(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})+(?:\/(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})*)*)?(?:\?(?:[a-z0-9\-._~!$&'"()*+,;=:@/?]|%[0-9a-f]{2})*)?(?:#(?:[a-z0-9\-._~!$&'"()*+,;=:@/?]|%[0-9a-f]{2})*)?$/i; + var URITEMPLATE = /^(?:(?:[^\x00-\x20"'<>%\\^`{|}]|%[0-9a-f]{2})|\{[+#./;?&=,!@|]?(?:[a-z0-9_]|%[0-9a-f]{2})+(?::[1-9][0-9]{0,3}|\*)?(?:,(?:[a-z0-9_]|%[0-9a-f]{2})+(?::[1-9][0-9]{0,3}|\*)?)*\})*$/i; + var URL2 = /^(?:(?:http[s\u017F]?|ftp):\/\/)(?:(?:[\0-\x08\x0E-\x1F!-\x9F\xA1-\u167F\u1681-\u1FFF\u200B-\u2027\u202A-\u202E\u2030-\u205E\u2060-\u2FFF\u3001-\uD7FF\uE000-\uFEFE\uFF00-\uFFFF]|[\uD800-\uDBFF][\uDC00-\uDFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF])+(?::(?:[\0-\x08\x0E-\x1F!-\x9F\xA1-\u167F\u1681-\u1FFF\u200B-\u2027\u202A-\u202E\u2030-\u205E\u2060-\u2FFF\u3001-\uD7FF\uE000-\uFEFE\uFF00-\uFFFF]|[\uD800-\uDBFF][\uDC00-\uDFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF])*)?@)?(?:(?!10(?:\.[0-9]{1,3}){3})(?!127(?:\.[0-9]{1,3}){3})(?!169\.254(?:\.[0-9]{1,3}){2})(?!192\.168(?:\.[0-9]{1,3}){2})(?!172\.(?:1[6-9]|2[0-9]|3[01])(?:\.[0-9]{1,3}){2})(?:[1-9][0-9]?|1[0-9][0-9]|2[01][0-9]|22[0-3])(?:\.(?:1?[0-9]{1,2}|2[0-4][0-9]|25[0-5])){2}(?:\.(?:[1-9][0-9]?|1[0-9][0-9]|2[0-4][0-9]|25[0-4]))|(?:(?:(?:[0-9a-z\xA1-\uD7FF\uE000-\uFFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF])+-)*(?:[0-9a-z\xA1-\uD7FF\uE000-\uFFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF])+)(?:\.(?:(?:[0-9a-z\xA1-\uD7FF\uE000-\uFFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF])+-)*(?:[0-9a-z\xA1-\uD7FF\uE000-\uFFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF])+)*(?:\.(?:(?:[a-z\xA1-\uD7FF\uE000-\uFFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF]){2,})))(?::[0-9]{2,5})?(?:\/(?:[\0-\x08\x0E-\x1F!-\x9F\xA1-\u167F\u1681-\u1FFF\u200B-\u2027\u202A-\u202E\u2030-\u205E\u2060-\u2FFF\u3001-\uD7FF\uE000-\uFEFE\uFF00-\uFFFF]|[\uD800-\uDBFF][\uDC00-\uDFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF])*)?$/i; + var UUID = /^(?:urn:uuid:)?[0-9a-f]{8}-(?:[0-9a-f]{4}-){3}[0-9a-f]{12}$/i; + var JSON_POINTER = /^(?:\/(?:[^~/]|~0|~1)*)*$/; + var JSON_POINTER_URI_FRAGMENT = /^#(?:\/(?:[a-z0-9_\-.!$&'()*+,;:=@]|%[0-9a-f]{2}|~0|~1)*)*$/i; + var RELATIVE_JSON_POINTER = /^(?:0|[1-9][0-9]*)(?:#|(?:\/(?:[^~/]|~0|~1)*)*)$/; + module2.exports = formats; + function formats(mode) { + mode = mode == "full" ? "full" : "fast"; + return util3.copy(formats[mode]); + } + formats.fast = { + // date: http://tools.ietf.org/html/rfc3339#section-5.6 + date: /^\d\d\d\d-[0-1]\d-[0-3]\d$/, + // date-time: http://tools.ietf.org/html/rfc3339#section-5.6 + time: /^(?:[0-2]\d:[0-5]\d:[0-5]\d|23:59:60)(?:\.\d+)?(?:z|[+-]\d\d(?::?\d\d)?)?$/i, + "date-time": /^\d\d\d\d-[0-1]\d-[0-3]\d[t\s](?:[0-2]\d:[0-5]\d:[0-5]\d|23:59:60)(?:\.\d+)?(?:z|[+-]\d\d(?::?\d\d)?)$/i, + // uri: https://github.com/mafintosh/is-my-json-valid/blob/master/formats.js + uri: /^(?:[a-z][a-z0-9+\-.]*:)(?:\/?\/)?[^\s]*$/i, + "uri-reference": /^(?:(?:[a-z][a-z0-9+\-.]*:)?\/?\/)?(?:[^\\\s#][^\s#]*)?(?:#[^\\\s]*)?$/i, + "uri-template": URITEMPLATE, + url: URL2, + // email (sources from jsen validator): + // http://stackoverflow.com/questions/201323/using-a-regular-expression-to-validate-an-email-address#answer-8829363 + // http://www.w3.org/TR/html5/forms.html#valid-e-mail-address (search for 'willful violation') + email: /^[a-z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?(?:\.[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?)*$/i, + hostname: HOSTNAME, + // optimized https://www.safaribooksonline.com/library/view/regular-expressions-cookbook/9780596802837/ch07s16.html + ipv4: /^(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?)$/, + // optimized http://stackoverflow.com/questions/53497/regular-expression-that-matches-valid-ipv6-addresses + ipv6: /^\s*(?:(?:(?:[0-9a-f]{1,4}:){7}(?:[0-9a-f]{1,4}|:))|(?:(?:[0-9a-f]{1,4}:){6}(?::[0-9a-f]{1,4}|(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(?:(?:[0-9a-f]{1,4}:){5}(?:(?:(?::[0-9a-f]{1,4}){1,2})|:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(?:(?:[0-9a-f]{1,4}:){4}(?:(?:(?::[0-9a-f]{1,4}){1,3})|(?:(?::[0-9a-f]{1,4})?:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(?:(?:[0-9a-f]{1,4}:){3}(?:(?:(?::[0-9a-f]{1,4}){1,4})|(?:(?::[0-9a-f]{1,4}){0,2}:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(?:(?:[0-9a-f]{1,4}:){2}(?:(?:(?::[0-9a-f]{1,4}){1,5})|(?:(?::[0-9a-f]{1,4}){0,3}:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(?:(?:[0-9a-f]{1,4}:){1}(?:(?:(?::[0-9a-f]{1,4}){1,6})|(?:(?::[0-9a-f]{1,4}){0,4}:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(?::(?:(?:(?::[0-9a-f]{1,4}){1,7})|(?:(?::[0-9a-f]{1,4}){0,5}:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:)))(?:%.+)?\s*$/i, + regex, + // uuid: http://tools.ietf.org/html/rfc4122 + uuid: UUID, + // JSON-pointer: https://tools.ietf.org/html/rfc6901 + // uri fragment: https://tools.ietf.org/html/rfc3986#appendix-A + "json-pointer": JSON_POINTER, + "json-pointer-uri-fragment": JSON_POINTER_URI_FRAGMENT, + // relative JSON-pointer: http://tools.ietf.org/html/draft-luff-relative-json-pointer-00 + "relative-json-pointer": RELATIVE_JSON_POINTER + }; + formats.full = { + date, + time, + "date-time": date_time, + uri, + "uri-reference": URIREF, + "uri-template": URITEMPLATE, + url: URL2, + email: /^[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?$/i, + hostname: HOSTNAME, + ipv4: /^(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?)$/, + ipv6: /^\s*(?:(?:(?:[0-9a-f]{1,4}:){7}(?:[0-9a-f]{1,4}|:))|(?:(?:[0-9a-f]{1,4}:){6}(?::[0-9a-f]{1,4}|(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(?:(?:[0-9a-f]{1,4}:){5}(?:(?:(?::[0-9a-f]{1,4}){1,2})|:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(?:(?:[0-9a-f]{1,4}:){4}(?:(?:(?::[0-9a-f]{1,4}){1,3})|(?:(?::[0-9a-f]{1,4})?:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(?:(?:[0-9a-f]{1,4}:){3}(?:(?:(?::[0-9a-f]{1,4}){1,4})|(?:(?::[0-9a-f]{1,4}){0,2}:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(?:(?:[0-9a-f]{1,4}:){2}(?:(?:(?::[0-9a-f]{1,4}){1,5})|(?:(?::[0-9a-f]{1,4}){0,3}:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(?:(?:[0-9a-f]{1,4}:){1}(?:(?:(?::[0-9a-f]{1,4}){1,6})|(?:(?::[0-9a-f]{1,4}){0,4}:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(?::(?:(?:(?::[0-9a-f]{1,4}){1,7})|(?:(?::[0-9a-f]{1,4}){0,5}:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:)))(?:%.+)?\s*$/i, + regex, + uuid: UUID, + "json-pointer": JSON_POINTER, + "json-pointer-uri-fragment": JSON_POINTER_URI_FRAGMENT, + "relative-json-pointer": RELATIVE_JSON_POINTER + }; + function isLeapYear(year) { + return year % 4 === 0 && (year % 100 !== 0 || year % 400 === 0); + } + function date(str) { + var matches = str.match(DATE); + if (!matches) return false; + var year = +matches[1]; + var month = +matches[2]; + var day = +matches[3]; + return month >= 1 && month <= 12 && day >= 1 && day <= (month == 2 && isLeapYear(year) ? 29 : DAYS[month]); + } + function time(str, full) { + var matches = str.match(TIME); + if (!matches) return false; + var hour = matches[1]; + var minute = matches[2]; + var second = matches[3]; + var timeZone = matches[5]; + return (hour <= 23 && minute <= 59 && second <= 59 || hour == 23 && minute == 59 && second == 60) && (!full || timeZone); + } + var DATE_TIME_SEPARATOR = /t|\s/i; + function date_time(str) { + var dateTime = str.split(DATE_TIME_SEPARATOR); + return dateTime.length == 2 && date(dateTime[0]) && time(dateTime[1], true); + } + var NOT_URI_FRAGMENT = /\/|:/; + function uri(str) { + return NOT_URI_FRAGMENT.test(str) && URI.test(str); + } + var Z_ANCHOR = /[^\\]\\Z/; + function regex(str) { + if (Z_ANCHOR.test(str)) return false; + try { + new RegExp(str); + return true; + } catch (e) { + return false; + } + } + } +}); + +// node_modules/ajv/lib/dotjs/ref.js +var require_ref = __commonJS({ + "node_modules/ajv/lib/dotjs/ref.js"(exports2, module2) { + "use strict"; + module2.exports = function generate_ref(it, $keyword, $ruleType) { + var out = " "; + var $lvl = it.level; + var $dataLvl = it.dataLevel; + var $schema = it.schema[$keyword]; + var $errSchemaPath = it.errSchemaPath + "/" + $keyword; + var $breakOnError = !it.opts.allErrors; + var $data = "data" + ($dataLvl || ""); + var $valid = "valid" + $lvl; + var $async, $refCode; + if ($schema == "#" || $schema == "#/") { + if (it.isRoot) { + $async = it.async; + $refCode = "validate"; + } else { + $async = it.root.schema.$async === true; + $refCode = "root.refVal[0]"; + } + } else { + var $refVal = it.resolveRef(it.baseId, $schema, it.isRoot); + if ($refVal === void 0) { + var $message = it.MissingRefError.message(it.baseId, $schema); + if (it.opts.missingRefs == "fail") { + it.logger.error($message); + var $$outStack = $$outStack || []; + $$outStack.push(out); + out = ""; + if (it.createErrors !== false) { + out += " { keyword: '$ref' , dataPath: (dataPath || '') + " + it.errorPath + " , schemaPath: " + it.util.toQuotedString($errSchemaPath) + " , params: { ref: '" + it.util.escapeQuotes($schema) + "' } "; + if (it.opts.messages !== false) { + out += " , message: 'can\\'t resolve reference " + it.util.escapeQuotes($schema) + "' "; + } + if (it.opts.verbose) { + out += " , schema: " + it.util.toQuotedString($schema) + " , parentSchema: validate.schema" + it.schemaPath + " , data: " + $data + " "; + } + out += " } "; + } else { + out += " {} "; + } + var __err = out; + out = $$outStack.pop(); + if (!it.compositeRule && $breakOnError) { + if (it.async) { + out += " throw new ValidationError([" + __err + "]); "; + } else { + out += " validate.errors = [" + __err + "]; return false; "; + } + } else { + out += " var err = " + __err + "; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; "; + } + if ($breakOnError) { + out += " if (false) { "; + } + } else if (it.opts.missingRefs == "ignore") { + it.logger.warn($message); + if ($breakOnError) { + out += " if (true) { "; + } + } else { + throw new it.MissingRefError(it.baseId, $schema, $message); + } + } else if ($refVal.inline) { + var $it = it.util.copy(it); + $it.level++; + var $nextValid = "valid" + $it.level; + $it.schema = $refVal.schema; + $it.schemaPath = ""; + $it.errSchemaPath = $schema; + var $code = it.validate($it).replace(/validate\.schema/g, $refVal.code); + out += " " + $code + " "; + if ($breakOnError) { + out += " if (" + $nextValid + ") { "; + } + } else { + $async = $refVal.$async === true || it.async && $refVal.$async !== false; + $refCode = $refVal.code; + } + } + if ($refCode) { + var $$outStack = $$outStack || []; + $$outStack.push(out); + out = ""; + if (it.opts.passContext) { + out += " " + $refCode + ".call(this, "; + } else { + out += " " + $refCode + "( "; + } + out += " " + $data + ", (dataPath || '')"; + if (it.errorPath != '""') { + out += " + " + it.errorPath; + } + var $parentData = $dataLvl ? "data" + ($dataLvl - 1 || "") : "parentData", $parentDataProperty = $dataLvl ? it.dataPathArr[$dataLvl] : "parentDataProperty"; + out += " , " + $parentData + " , " + $parentDataProperty + ", rootData) "; + var __callValidate = out; + out = $$outStack.pop(); + if ($async) { + if (!it.async) throw new Error("async schema referenced by sync schema"); + if ($breakOnError) { + out += " var " + $valid + "; "; + } + out += " try { await " + __callValidate + "; "; + if ($breakOnError) { + out += " " + $valid + " = true; "; + } + out += " } catch (e) { if (!(e instanceof ValidationError)) throw e; if (vErrors === null) vErrors = e.errors; else vErrors = vErrors.concat(e.errors); errors = vErrors.length; "; + if ($breakOnError) { + out += " " + $valid + " = false; "; + } + out += " } "; + if ($breakOnError) { + out += " if (" + $valid + ") { "; + } + } else { + out += " if (!" + __callValidate + ") { if (vErrors === null) vErrors = " + $refCode + ".errors; else vErrors = vErrors.concat(" + $refCode + ".errors); errors = vErrors.length; } "; + if ($breakOnError) { + out += " else { "; + } + } + } + return out; + }; + } +}); + +// node_modules/ajv/lib/dotjs/allOf.js +var require_allOf = __commonJS({ + "node_modules/ajv/lib/dotjs/allOf.js"(exports2, module2) { + "use strict"; + module2.exports = function generate_allOf(it, $keyword, $ruleType) { + var out = " "; + var $schema = it.schema[$keyword]; + var $schemaPath = it.schemaPath + it.util.getProperty($keyword); + var $errSchemaPath = it.errSchemaPath + "/" + $keyword; + var $breakOnError = !it.opts.allErrors; + var $it = it.util.copy(it); + var $closingBraces = ""; + $it.level++; + var $nextValid = "valid" + $it.level; + var $currentBaseId = $it.baseId, $allSchemasEmpty = true; + var arr1 = $schema; + if (arr1) { + var $sch, $i = -1, l1 = arr1.length - 1; + while ($i < l1) { + $sch = arr1[$i += 1]; + if (it.opts.strictKeywords ? typeof $sch == "object" && Object.keys($sch).length > 0 || $sch === false : it.util.schemaHasRules($sch, it.RULES.all)) { + $allSchemasEmpty = false; + $it.schema = $sch; + $it.schemaPath = $schemaPath + "[" + $i + "]"; + $it.errSchemaPath = $errSchemaPath + "/" + $i; + out += " " + it.validate($it) + " "; + $it.baseId = $currentBaseId; + if ($breakOnError) { + out += " if (" + $nextValid + ") { "; + $closingBraces += "}"; + } + } + } + } + if ($breakOnError) { + if ($allSchemasEmpty) { + out += " if (true) { "; + } else { + out += " " + $closingBraces.slice(0, -1) + " "; + } + } + return out; + }; + } +}); + +// node_modules/ajv/lib/dotjs/anyOf.js +var require_anyOf = __commonJS({ + "node_modules/ajv/lib/dotjs/anyOf.js"(exports2, module2) { + "use strict"; + module2.exports = function generate_anyOf(it, $keyword, $ruleType) { + var out = " "; + var $lvl = it.level; + var $dataLvl = it.dataLevel; + var $schema = it.schema[$keyword]; + var $schemaPath = it.schemaPath + it.util.getProperty($keyword); + var $errSchemaPath = it.errSchemaPath + "/" + $keyword; + var $breakOnError = !it.opts.allErrors; + var $data = "data" + ($dataLvl || ""); + var $valid = "valid" + $lvl; + var $errs = "errs__" + $lvl; + var $it = it.util.copy(it); + var $closingBraces = ""; + $it.level++; + var $nextValid = "valid" + $it.level; + var $noEmptySchema = $schema.every(function($sch2) { + return it.opts.strictKeywords ? typeof $sch2 == "object" && Object.keys($sch2).length > 0 || $sch2 === false : it.util.schemaHasRules($sch2, it.RULES.all); + }); + if ($noEmptySchema) { + var $currentBaseId = $it.baseId; + out += " var " + $errs + " = errors; var " + $valid + " = false; "; + var $wasComposite = it.compositeRule; + it.compositeRule = $it.compositeRule = true; + var arr1 = $schema; + if (arr1) { + var $sch, $i = -1, l1 = arr1.length - 1; + while ($i < l1) { + $sch = arr1[$i += 1]; + $it.schema = $sch; + $it.schemaPath = $schemaPath + "[" + $i + "]"; + $it.errSchemaPath = $errSchemaPath + "/" + $i; + out += " " + it.validate($it) + " "; + $it.baseId = $currentBaseId; + out += " " + $valid + " = " + $valid + " || " + $nextValid + "; if (!" + $valid + ") { "; + $closingBraces += "}"; + } + } + it.compositeRule = $it.compositeRule = $wasComposite; + out += " " + $closingBraces + " if (!" + $valid + ") { var err = "; + if (it.createErrors !== false) { + out += " { keyword: 'anyOf' , dataPath: (dataPath || '') + " + it.errorPath + " , schemaPath: " + it.util.toQuotedString($errSchemaPath) + " , params: {} "; + if (it.opts.messages !== false) { + out += " , message: 'should match some schema in anyOf' "; + } + if (it.opts.verbose) { + out += " , schema: validate.schema" + $schemaPath + " , parentSchema: validate.schema" + it.schemaPath + " , data: " + $data + " "; + } + out += " } "; + } else { + out += " {} "; + } + out += "; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; "; + if (!it.compositeRule && $breakOnError) { + if (it.async) { + out += " throw new ValidationError(vErrors); "; + } else { + out += " validate.errors = vErrors; return false; "; + } + } + out += " } else { errors = " + $errs + "; if (vErrors !== null) { if (" + $errs + ") vErrors.length = " + $errs + "; else vErrors = null; } "; + if (it.opts.allErrors) { + out += " } "; + } + } else { + if ($breakOnError) { + out += " if (true) { "; + } + } + return out; + }; + } +}); + +// node_modules/ajv/lib/dotjs/comment.js +var require_comment = __commonJS({ + "node_modules/ajv/lib/dotjs/comment.js"(exports2, module2) { + "use strict"; + module2.exports = function generate_comment(it, $keyword, $ruleType) { + var out = " "; + var $schema = it.schema[$keyword]; + var $errSchemaPath = it.errSchemaPath + "/" + $keyword; + var $breakOnError = !it.opts.allErrors; + var $comment = it.util.toQuotedString($schema); + if (it.opts.$comment === true) { + out += " console.log(" + $comment + ");"; + } else if (typeof it.opts.$comment == "function") { + out += " self._opts.$comment(" + $comment + ", " + it.util.toQuotedString($errSchemaPath) + ", validate.root.schema);"; + } + return out; + }; + } +}); + +// node_modules/ajv/lib/dotjs/const.js +var require_const = __commonJS({ + "node_modules/ajv/lib/dotjs/const.js"(exports2, module2) { + "use strict"; + module2.exports = function generate_const(it, $keyword, $ruleType) { + var out = " "; + var $lvl = it.level; + var $dataLvl = it.dataLevel; + var $schema = it.schema[$keyword]; + var $schemaPath = it.schemaPath + it.util.getProperty($keyword); + var $errSchemaPath = it.errSchemaPath + "/" + $keyword; + var $breakOnError = !it.opts.allErrors; + var $data = "data" + ($dataLvl || ""); + var $valid = "valid" + $lvl; + var $isData = it.opts.$data && $schema && $schema.$data, $schemaValue; + if ($isData) { + out += " var schema" + $lvl + " = " + it.util.getData($schema.$data, $dataLvl, it.dataPathArr) + "; "; + $schemaValue = "schema" + $lvl; + } else { + $schemaValue = $schema; + } + if (!$isData) { + out += " var schema" + $lvl + " = validate.schema" + $schemaPath + ";"; + } + out += "var " + $valid + " = equal(" + $data + ", schema" + $lvl + "); if (!" + $valid + ") { "; + var $$outStack = $$outStack || []; + $$outStack.push(out); + out = ""; + if (it.createErrors !== false) { + out += " { keyword: 'const' , dataPath: (dataPath || '') + " + it.errorPath + " , schemaPath: " + it.util.toQuotedString($errSchemaPath) + " , params: { allowedValue: schema" + $lvl + " } "; + if (it.opts.messages !== false) { + out += " , message: 'should be equal to constant' "; + } + if (it.opts.verbose) { + out += " , schema: validate.schema" + $schemaPath + " , parentSchema: validate.schema" + it.schemaPath + " , data: " + $data + " "; + } + out += " } "; + } else { + out += " {} "; + } + var __err = out; + out = $$outStack.pop(); + if (!it.compositeRule && $breakOnError) { + if (it.async) { + out += " throw new ValidationError([" + __err + "]); "; + } else { + out += " validate.errors = [" + __err + "]; return false; "; + } + } else { + out += " var err = " + __err + "; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; "; + } + out += " }"; + if ($breakOnError) { + out += " else { "; + } + return out; + }; + } +}); + +// node_modules/ajv/lib/dotjs/contains.js +var require_contains = __commonJS({ + "node_modules/ajv/lib/dotjs/contains.js"(exports2, module2) { + "use strict"; + module2.exports = function generate_contains(it, $keyword, $ruleType) { + var out = " "; + var $lvl = it.level; + var $dataLvl = it.dataLevel; + var $schema = it.schema[$keyword]; + var $schemaPath = it.schemaPath + it.util.getProperty($keyword); + var $errSchemaPath = it.errSchemaPath + "/" + $keyword; + var $breakOnError = !it.opts.allErrors; + var $data = "data" + ($dataLvl || ""); + var $valid = "valid" + $lvl; + var $errs = "errs__" + $lvl; + var $it = it.util.copy(it); + var $closingBraces = ""; + $it.level++; + var $nextValid = "valid" + $it.level; + var $idx = "i" + $lvl, $dataNxt = $it.dataLevel = it.dataLevel + 1, $nextData = "data" + $dataNxt, $currentBaseId = it.baseId, $nonEmptySchema = it.opts.strictKeywords ? typeof $schema == "object" && Object.keys($schema).length > 0 || $schema === false : it.util.schemaHasRules($schema, it.RULES.all); + out += "var " + $errs + " = errors;var " + $valid + ";"; + if ($nonEmptySchema) { + var $wasComposite = it.compositeRule; + it.compositeRule = $it.compositeRule = true; + $it.schema = $schema; + $it.schemaPath = $schemaPath; + $it.errSchemaPath = $errSchemaPath; + out += " var " + $nextValid + " = false; for (var " + $idx + " = 0; " + $idx + " < " + $data + ".length; " + $idx + "++) { "; + $it.errorPath = it.util.getPathExpr(it.errorPath, $idx, it.opts.jsonPointers, true); + var $passData = $data + "[" + $idx + "]"; + $it.dataPathArr[$dataNxt] = $idx; + var $code = it.validate($it); + $it.baseId = $currentBaseId; + if (it.util.varOccurences($code, $nextData) < 2) { + out += " " + it.util.varReplace($code, $nextData, $passData) + " "; + } else { + out += " var " + $nextData + " = " + $passData + "; " + $code + " "; + } + out += " if (" + $nextValid + ") break; } "; + it.compositeRule = $it.compositeRule = $wasComposite; + out += " " + $closingBraces + " if (!" + $nextValid + ") {"; + } else { + out += " if (" + $data + ".length == 0) {"; + } + var $$outStack = $$outStack || []; + $$outStack.push(out); + out = ""; + if (it.createErrors !== false) { + out += " { keyword: 'contains' , dataPath: (dataPath || '') + " + it.errorPath + " , schemaPath: " + it.util.toQuotedString($errSchemaPath) + " , params: {} "; + if (it.opts.messages !== false) { + out += " , message: 'should contain a valid item' "; + } + if (it.opts.verbose) { + out += " , schema: validate.schema" + $schemaPath + " , parentSchema: validate.schema" + it.schemaPath + " , data: " + $data + " "; + } + out += " } "; + } else { + out += " {} "; + } + var __err = out; + out = $$outStack.pop(); + if (!it.compositeRule && $breakOnError) { + if (it.async) { + out += " throw new ValidationError([" + __err + "]); "; + } else { + out += " validate.errors = [" + __err + "]; return false; "; + } + } else { + out += " var err = " + __err + "; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; "; + } + out += " } else { "; + if ($nonEmptySchema) { + out += " errors = " + $errs + "; if (vErrors !== null) { if (" + $errs + ") vErrors.length = " + $errs + "; else vErrors = null; } "; + } + if (it.opts.allErrors) { + out += " } "; + } + return out; + }; + } +}); + +// node_modules/ajv/lib/dotjs/dependencies.js +var require_dependencies = __commonJS({ + "node_modules/ajv/lib/dotjs/dependencies.js"(exports2, module2) { + "use strict"; + module2.exports = function generate_dependencies(it, $keyword, $ruleType) { + var out = " "; + var $lvl = it.level; + var $dataLvl = it.dataLevel; + var $schema = it.schema[$keyword]; + var $schemaPath = it.schemaPath + it.util.getProperty($keyword); + var $errSchemaPath = it.errSchemaPath + "/" + $keyword; + var $breakOnError = !it.opts.allErrors; + var $data = "data" + ($dataLvl || ""); + var $errs = "errs__" + $lvl; + var $it = it.util.copy(it); + var $closingBraces = ""; + $it.level++; + var $nextValid = "valid" + $it.level; + var $schemaDeps = {}, $propertyDeps = {}, $ownProperties = it.opts.ownProperties; + for ($property in $schema) { + if ($property == "__proto__") continue; + var $sch = $schema[$property]; + var $deps = Array.isArray($sch) ? $propertyDeps : $schemaDeps; + $deps[$property] = $sch; + } + out += "var " + $errs + " = errors;"; + var $currentErrorPath = it.errorPath; + out += "var missing" + $lvl + ";"; + for (var $property in $propertyDeps) { + $deps = $propertyDeps[$property]; + if ($deps.length) { + out += " if ( " + $data + it.util.getProperty($property) + " !== undefined "; + if ($ownProperties) { + out += " && Object.prototype.hasOwnProperty.call(" + $data + ", '" + it.util.escapeQuotes($property) + "') "; + } + if ($breakOnError) { + out += " && ( "; + var arr1 = $deps; + if (arr1) { + var $propertyKey, $i = -1, l1 = arr1.length - 1; + while ($i < l1) { + $propertyKey = arr1[$i += 1]; + if ($i) { + out += " || "; + } + var $prop = it.util.getProperty($propertyKey), $useData = $data + $prop; + out += " ( ( " + $useData + " === undefined "; + if ($ownProperties) { + out += " || ! Object.prototype.hasOwnProperty.call(" + $data + ", '" + it.util.escapeQuotes($propertyKey) + "') "; + } + out += ") && (missing" + $lvl + " = " + it.util.toQuotedString(it.opts.jsonPointers ? $propertyKey : $prop) + ") ) "; + } + } + out += ")) { "; + var $propertyPath = "missing" + $lvl, $missingProperty = "' + " + $propertyPath + " + '"; + if (it.opts._errorDataPathProperty) { + it.errorPath = it.opts.jsonPointers ? it.util.getPathExpr($currentErrorPath, $propertyPath, true) : $currentErrorPath + " + " + $propertyPath; + } + var $$outStack = $$outStack || []; + $$outStack.push(out); + out = ""; + if (it.createErrors !== false) { + out += " { keyword: 'dependencies' , dataPath: (dataPath || '') + " + it.errorPath + " , schemaPath: " + it.util.toQuotedString($errSchemaPath) + " , params: { property: '" + it.util.escapeQuotes($property) + "', missingProperty: '" + $missingProperty + "', depsCount: " + $deps.length + ", deps: '" + it.util.escapeQuotes($deps.length == 1 ? $deps[0] : $deps.join(", ")) + "' } "; + if (it.opts.messages !== false) { + out += " , message: 'should have "; + if ($deps.length == 1) { + out += "property " + it.util.escapeQuotes($deps[0]); + } else { + out += "properties " + it.util.escapeQuotes($deps.join(", ")); + } + out += " when property " + it.util.escapeQuotes($property) + " is present' "; + } + if (it.opts.verbose) { + out += " , schema: validate.schema" + $schemaPath + " , parentSchema: validate.schema" + it.schemaPath + " , data: " + $data + " "; + } + out += " } "; + } else { + out += " {} "; + } + var __err = out; + out = $$outStack.pop(); + if (!it.compositeRule && $breakOnError) { + if (it.async) { + out += " throw new ValidationError([" + __err + "]); "; + } else { + out += " validate.errors = [" + __err + "]; return false; "; + } + } else { + out += " var err = " + __err + "; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; "; + } + } else { + out += " ) { "; + var arr2 = $deps; + if (arr2) { + var $propertyKey, i2 = -1, l2 = arr2.length - 1; + while (i2 < l2) { + $propertyKey = arr2[i2 += 1]; + var $prop = it.util.getProperty($propertyKey), $missingProperty = it.util.escapeQuotes($propertyKey), $useData = $data + $prop; + if (it.opts._errorDataPathProperty) { + it.errorPath = it.util.getPath($currentErrorPath, $propertyKey, it.opts.jsonPointers); + } + out += " if ( " + $useData + " === undefined "; + if ($ownProperties) { + out += " || ! Object.prototype.hasOwnProperty.call(" + $data + ", '" + it.util.escapeQuotes($propertyKey) + "') "; + } + out += ") { var err = "; + if (it.createErrors !== false) { + out += " { keyword: 'dependencies' , dataPath: (dataPath || '') + " + it.errorPath + " , schemaPath: " + it.util.toQuotedString($errSchemaPath) + " , params: { property: '" + it.util.escapeQuotes($property) + "', missingProperty: '" + $missingProperty + "', depsCount: " + $deps.length + ", deps: '" + it.util.escapeQuotes($deps.length == 1 ? $deps[0] : $deps.join(", ")) + "' } "; + if (it.opts.messages !== false) { + out += " , message: 'should have "; + if ($deps.length == 1) { + out += "property " + it.util.escapeQuotes($deps[0]); + } else { + out += "properties " + it.util.escapeQuotes($deps.join(", ")); + } + out += " when property " + it.util.escapeQuotes($property) + " is present' "; + } + if (it.opts.verbose) { + out += " , schema: validate.schema" + $schemaPath + " , parentSchema: validate.schema" + it.schemaPath + " , data: " + $data + " "; + } + out += " } "; + } else { + out += " {} "; + } + out += "; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; } "; + } + } + } + out += " } "; + if ($breakOnError) { + $closingBraces += "}"; + out += " else { "; + } + } + } + it.errorPath = $currentErrorPath; + var $currentBaseId = $it.baseId; + for (var $property in $schemaDeps) { + var $sch = $schemaDeps[$property]; + if (it.opts.strictKeywords ? typeof $sch == "object" && Object.keys($sch).length > 0 || $sch === false : it.util.schemaHasRules($sch, it.RULES.all)) { + out += " " + $nextValid + " = true; if ( " + $data + it.util.getProperty($property) + " !== undefined "; + if ($ownProperties) { + out += " && Object.prototype.hasOwnProperty.call(" + $data + ", '" + it.util.escapeQuotes($property) + "') "; + } + out += ") { "; + $it.schema = $sch; + $it.schemaPath = $schemaPath + it.util.getProperty($property); + $it.errSchemaPath = $errSchemaPath + "/" + it.util.escapeFragment($property); + out += " " + it.validate($it) + " "; + $it.baseId = $currentBaseId; + out += " } "; + if ($breakOnError) { + out += " if (" + $nextValid + ") { "; + $closingBraces += "}"; + } + } + } + if ($breakOnError) { + out += " " + $closingBraces + " if (" + $errs + " == errors) {"; + } + return out; + }; + } +}); + +// node_modules/ajv/lib/dotjs/enum.js +var require_enum = __commonJS({ + "node_modules/ajv/lib/dotjs/enum.js"(exports2, module2) { + "use strict"; + module2.exports = function generate_enum(it, $keyword, $ruleType) { + var out = " "; + var $lvl = it.level; + var $dataLvl = it.dataLevel; + var $schema = it.schema[$keyword]; + var $schemaPath = it.schemaPath + it.util.getProperty($keyword); + var $errSchemaPath = it.errSchemaPath + "/" + $keyword; + var $breakOnError = !it.opts.allErrors; + var $data = "data" + ($dataLvl || ""); + var $valid = "valid" + $lvl; + var $isData = it.opts.$data && $schema && $schema.$data, $schemaValue; + if ($isData) { + out += " var schema" + $lvl + " = " + it.util.getData($schema.$data, $dataLvl, it.dataPathArr) + "; "; + $schemaValue = "schema" + $lvl; + } else { + $schemaValue = $schema; + } + var $i = "i" + $lvl, $vSchema = "schema" + $lvl; + if (!$isData) { + out += " var " + $vSchema + " = validate.schema" + $schemaPath + ";"; + } + out += "var " + $valid + ";"; + if ($isData) { + out += " if (schema" + $lvl + " === undefined) " + $valid + " = true; else if (!Array.isArray(schema" + $lvl + ")) " + $valid + " = false; else {"; + } + out += "" + $valid + " = false;for (var " + $i + "=0; " + $i + "<" + $vSchema + ".length; " + $i + "++) if (equal(" + $data + ", " + $vSchema + "[" + $i + "])) { " + $valid + " = true; break; }"; + if ($isData) { + out += " } "; + } + out += " if (!" + $valid + ") { "; + var $$outStack = $$outStack || []; + $$outStack.push(out); + out = ""; + if (it.createErrors !== false) { + out += " { keyword: 'enum' , dataPath: (dataPath || '') + " + it.errorPath + " , schemaPath: " + it.util.toQuotedString($errSchemaPath) + " , params: { allowedValues: schema" + $lvl + " } "; + if (it.opts.messages !== false) { + out += " , message: 'should be equal to one of the allowed values' "; + } + if (it.opts.verbose) { + out += " , schema: validate.schema" + $schemaPath + " , parentSchema: validate.schema" + it.schemaPath + " , data: " + $data + " "; + } + out += " } "; + } else { + out += " {} "; + } + var __err = out; + out = $$outStack.pop(); + if (!it.compositeRule && $breakOnError) { + if (it.async) { + out += " throw new ValidationError([" + __err + "]); "; + } else { + out += " validate.errors = [" + __err + "]; return false; "; + } + } else { + out += " var err = " + __err + "; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; "; + } + out += " }"; + if ($breakOnError) { + out += " else { "; + } + return out; + }; + } +}); + +// node_modules/ajv/lib/dotjs/format.js +var require_format = __commonJS({ + "node_modules/ajv/lib/dotjs/format.js"(exports2, module2) { + "use strict"; + module2.exports = function generate_format(it, $keyword, $ruleType) { + var out = " "; + var $lvl = it.level; + var $dataLvl = it.dataLevel; + var $schema = it.schema[$keyword]; + var $schemaPath = it.schemaPath + it.util.getProperty($keyword); + var $errSchemaPath = it.errSchemaPath + "/" + $keyword; + var $breakOnError = !it.opts.allErrors; + var $data = "data" + ($dataLvl || ""); + if (it.opts.format === false) { + if ($breakOnError) { + out += " if (true) { "; + } + return out; + } + var $isData = it.opts.$data && $schema && $schema.$data, $schemaValue; + if ($isData) { + out += " var schema" + $lvl + " = " + it.util.getData($schema.$data, $dataLvl, it.dataPathArr) + "; "; + $schemaValue = "schema" + $lvl; + } else { + $schemaValue = $schema; + } + var $unknownFormats = it.opts.unknownFormats, $allowUnknown = Array.isArray($unknownFormats); + if ($isData) { + var $format = "format" + $lvl, $isObject = "isObject" + $lvl, $formatType = "formatType" + $lvl; + out += " var " + $format + " = formats[" + $schemaValue + "]; var " + $isObject + " = typeof " + $format + " == 'object' && !(" + $format + " instanceof RegExp) && " + $format + ".validate; var " + $formatType + " = " + $isObject + " && " + $format + ".type || 'string'; if (" + $isObject + ") { "; + if (it.async) { + out += " var async" + $lvl + " = " + $format + ".async; "; + } + out += " " + $format + " = " + $format + ".validate; } if ( "; + if ($isData) { + out += " (" + $schemaValue + " !== undefined && typeof " + $schemaValue + " != 'string') || "; + } + out += " ("; + if ($unknownFormats != "ignore") { + out += " (" + $schemaValue + " && !" + $format + " "; + if ($allowUnknown) { + out += " && self._opts.unknownFormats.indexOf(" + $schemaValue + ") == -1 "; + } + out += ") || "; + } + out += " (" + $format + " && " + $formatType + " == '" + $ruleType + "' && !(typeof " + $format + " == 'function' ? "; + if (it.async) { + out += " (async" + $lvl + " ? await " + $format + "(" + $data + ") : " + $format + "(" + $data + ")) "; + } else { + out += " " + $format + "(" + $data + ") "; + } + out += " : " + $format + ".test(" + $data + "))))) {"; + } else { + var $format = it.formats[$schema]; + if (!$format) { + if ($unknownFormats == "ignore") { + it.logger.warn('unknown format "' + $schema + '" ignored in schema at path "' + it.errSchemaPath + '"'); + if ($breakOnError) { + out += " if (true) { "; + } + return out; + } else if ($allowUnknown && $unknownFormats.indexOf($schema) >= 0) { + if ($breakOnError) { + out += " if (true) { "; + } + return out; + } else { + throw new Error('unknown format "' + $schema + '" is used in schema at path "' + it.errSchemaPath + '"'); + } + } + var $isObject = typeof $format == "object" && !($format instanceof RegExp) && $format.validate; + var $formatType = $isObject && $format.type || "string"; + if ($isObject) { + var $async = $format.async === true; + $format = $format.validate; + } + if ($formatType != $ruleType) { + if ($breakOnError) { + out += " if (true) { "; + } + return out; + } + if ($async) { + if (!it.async) throw new Error("async format in sync schema"); + var $formatRef = "formats" + it.util.getProperty($schema) + ".validate"; + out += " if (!(await " + $formatRef + "(" + $data + "))) { "; + } else { + out += " if (! "; + var $formatRef = "formats" + it.util.getProperty($schema); + if ($isObject) $formatRef += ".validate"; + if (typeof $format == "function") { + out += " " + $formatRef + "(" + $data + ") "; + } else { + out += " " + $formatRef + ".test(" + $data + ") "; + } + out += ") { "; + } + } + var $$outStack = $$outStack || []; + $$outStack.push(out); + out = ""; + if (it.createErrors !== false) { + out += " { keyword: 'format' , dataPath: (dataPath || '') + " + it.errorPath + " , schemaPath: " + it.util.toQuotedString($errSchemaPath) + " , params: { format: "; + if ($isData) { + out += "" + $schemaValue; + } else { + out += "" + it.util.toQuotedString($schema); + } + out += " } "; + if (it.opts.messages !== false) { + out += ` , message: 'should match format "`; + if ($isData) { + out += "' + " + $schemaValue + " + '"; + } else { + out += "" + it.util.escapeQuotes($schema); + } + out += `"' `; + } + if (it.opts.verbose) { + out += " , schema: "; + if ($isData) { + out += "validate.schema" + $schemaPath; + } else { + out += "" + it.util.toQuotedString($schema); + } + out += " , parentSchema: validate.schema" + it.schemaPath + " , data: " + $data + " "; + } + out += " } "; + } else { + out += " {} "; + } + var __err = out; + out = $$outStack.pop(); + if (!it.compositeRule && $breakOnError) { + if (it.async) { + out += " throw new ValidationError([" + __err + "]); "; + } else { + out += " validate.errors = [" + __err + "]; return false; "; + } + } else { + out += " var err = " + __err + "; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; "; + } + out += " } "; + if ($breakOnError) { + out += " else { "; + } + return out; + }; + } +}); + +// node_modules/ajv/lib/dotjs/if.js +var require_if = __commonJS({ + "node_modules/ajv/lib/dotjs/if.js"(exports2, module2) { + "use strict"; + module2.exports = function generate_if(it, $keyword, $ruleType) { + var out = " "; + var $lvl = it.level; + var $dataLvl = it.dataLevel; + var $schema = it.schema[$keyword]; + var $schemaPath = it.schemaPath + it.util.getProperty($keyword); + var $errSchemaPath = it.errSchemaPath + "/" + $keyword; + var $breakOnError = !it.opts.allErrors; + var $data = "data" + ($dataLvl || ""); + var $valid = "valid" + $lvl; + var $errs = "errs__" + $lvl; + var $it = it.util.copy(it); + $it.level++; + var $nextValid = "valid" + $it.level; + var $thenSch = it.schema["then"], $elseSch = it.schema["else"], $thenPresent = $thenSch !== void 0 && (it.opts.strictKeywords ? typeof $thenSch == "object" && Object.keys($thenSch).length > 0 || $thenSch === false : it.util.schemaHasRules($thenSch, it.RULES.all)), $elsePresent = $elseSch !== void 0 && (it.opts.strictKeywords ? typeof $elseSch == "object" && Object.keys($elseSch).length > 0 || $elseSch === false : it.util.schemaHasRules($elseSch, it.RULES.all)), $currentBaseId = $it.baseId; + if ($thenPresent || $elsePresent) { + var $ifClause; + $it.createErrors = false; + $it.schema = $schema; + $it.schemaPath = $schemaPath; + $it.errSchemaPath = $errSchemaPath; + out += " var " + $errs + " = errors; var " + $valid + " = true; "; + var $wasComposite = it.compositeRule; + it.compositeRule = $it.compositeRule = true; + out += " " + it.validate($it) + " "; + $it.baseId = $currentBaseId; + $it.createErrors = true; + out += " errors = " + $errs + "; if (vErrors !== null) { if (" + $errs + ") vErrors.length = " + $errs + "; else vErrors = null; } "; + it.compositeRule = $it.compositeRule = $wasComposite; + if ($thenPresent) { + out += " if (" + $nextValid + ") { "; + $it.schema = it.schema["then"]; + $it.schemaPath = it.schemaPath + ".then"; + $it.errSchemaPath = it.errSchemaPath + "/then"; + out += " " + it.validate($it) + " "; + $it.baseId = $currentBaseId; + out += " " + $valid + " = " + $nextValid + "; "; + if ($thenPresent && $elsePresent) { + $ifClause = "ifClause" + $lvl; + out += " var " + $ifClause + " = 'then'; "; + } else { + $ifClause = "'then'"; + } + out += " } "; + if ($elsePresent) { + out += " else { "; + } + } else { + out += " if (!" + $nextValid + ") { "; + } + if ($elsePresent) { + $it.schema = it.schema["else"]; + $it.schemaPath = it.schemaPath + ".else"; + $it.errSchemaPath = it.errSchemaPath + "/else"; + out += " " + it.validate($it) + " "; + $it.baseId = $currentBaseId; + out += " " + $valid + " = " + $nextValid + "; "; + if ($thenPresent && $elsePresent) { + $ifClause = "ifClause" + $lvl; + out += " var " + $ifClause + " = 'else'; "; + } else { + $ifClause = "'else'"; + } + out += " } "; + } + out += " if (!" + $valid + ") { var err = "; + if (it.createErrors !== false) { + out += " { keyword: 'if' , dataPath: (dataPath || '') + " + it.errorPath + " , schemaPath: " + it.util.toQuotedString($errSchemaPath) + " , params: { failingKeyword: " + $ifClause + " } "; + if (it.opts.messages !== false) { + out += ` , message: 'should match "' + ` + $ifClause + ` + '" schema' `; + } + if (it.opts.verbose) { + out += " , schema: validate.schema" + $schemaPath + " , parentSchema: validate.schema" + it.schemaPath + " , data: " + $data + " "; + } + out += " } "; + } else { + out += " {} "; + } + out += "; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; "; + if (!it.compositeRule && $breakOnError) { + if (it.async) { + out += " throw new ValidationError(vErrors); "; + } else { + out += " validate.errors = vErrors; return false; "; + } + } + out += " } "; + if ($breakOnError) { + out += " else { "; + } + } else { + if ($breakOnError) { + out += " if (true) { "; + } + } + return out; + }; + } +}); + +// node_modules/ajv/lib/dotjs/items.js +var require_items = __commonJS({ + "node_modules/ajv/lib/dotjs/items.js"(exports2, module2) { + "use strict"; + module2.exports = function generate_items(it, $keyword, $ruleType) { + var out = " "; + var $lvl = it.level; + var $dataLvl = it.dataLevel; + var $schema = it.schema[$keyword]; + var $schemaPath = it.schemaPath + it.util.getProperty($keyword); + var $errSchemaPath = it.errSchemaPath + "/" + $keyword; + var $breakOnError = !it.opts.allErrors; + var $data = "data" + ($dataLvl || ""); + var $valid = "valid" + $lvl; + var $errs = "errs__" + $lvl; + var $it = it.util.copy(it); + var $closingBraces = ""; + $it.level++; + var $nextValid = "valid" + $it.level; + var $idx = "i" + $lvl, $dataNxt = $it.dataLevel = it.dataLevel + 1, $nextData = "data" + $dataNxt, $currentBaseId = it.baseId; + out += "var " + $errs + " = errors;var " + $valid + ";"; + if (Array.isArray($schema)) { + var $additionalItems = it.schema.additionalItems; + if ($additionalItems === false) { + out += " " + $valid + " = " + $data + ".length <= " + $schema.length + "; "; + var $currErrSchemaPath = $errSchemaPath; + $errSchemaPath = it.errSchemaPath + "/additionalItems"; + out += " if (!" + $valid + ") { "; + var $$outStack = $$outStack || []; + $$outStack.push(out); + out = ""; + if (it.createErrors !== false) { + out += " { keyword: 'additionalItems' , dataPath: (dataPath || '') + " + it.errorPath + " , schemaPath: " + it.util.toQuotedString($errSchemaPath) + " , params: { limit: " + $schema.length + " } "; + if (it.opts.messages !== false) { + out += " , message: 'should NOT have more than " + $schema.length + " items' "; + } + if (it.opts.verbose) { + out += " , schema: false , parentSchema: validate.schema" + it.schemaPath + " , data: " + $data + " "; + } + out += " } "; + } else { + out += " {} "; + } + var __err = out; + out = $$outStack.pop(); + if (!it.compositeRule && $breakOnError) { + if (it.async) { + out += " throw new ValidationError([" + __err + "]); "; + } else { + out += " validate.errors = [" + __err + "]; return false; "; + } + } else { + out += " var err = " + __err + "; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; "; + } + out += " } "; + $errSchemaPath = $currErrSchemaPath; + if ($breakOnError) { + $closingBraces += "}"; + out += " else { "; + } + } + var arr1 = $schema; + if (arr1) { + var $sch, $i = -1, l1 = arr1.length - 1; + while ($i < l1) { + $sch = arr1[$i += 1]; + if (it.opts.strictKeywords ? typeof $sch == "object" && Object.keys($sch).length > 0 || $sch === false : it.util.schemaHasRules($sch, it.RULES.all)) { + out += " " + $nextValid + " = true; if (" + $data + ".length > " + $i + ") { "; + var $passData = $data + "[" + $i + "]"; + $it.schema = $sch; + $it.schemaPath = $schemaPath + "[" + $i + "]"; + $it.errSchemaPath = $errSchemaPath + "/" + $i; + $it.errorPath = it.util.getPathExpr(it.errorPath, $i, it.opts.jsonPointers, true); + $it.dataPathArr[$dataNxt] = $i; + var $code = it.validate($it); + $it.baseId = $currentBaseId; + if (it.util.varOccurences($code, $nextData) < 2) { + out += " " + it.util.varReplace($code, $nextData, $passData) + " "; + } else { + out += " var " + $nextData + " = " + $passData + "; " + $code + " "; + } + out += " } "; + if ($breakOnError) { + out += " if (" + $nextValid + ") { "; + $closingBraces += "}"; + } + } + } + } + if (typeof $additionalItems == "object" && (it.opts.strictKeywords ? typeof $additionalItems == "object" && Object.keys($additionalItems).length > 0 || $additionalItems === false : it.util.schemaHasRules($additionalItems, it.RULES.all))) { + $it.schema = $additionalItems; + $it.schemaPath = it.schemaPath + ".additionalItems"; + $it.errSchemaPath = it.errSchemaPath + "/additionalItems"; + out += " " + $nextValid + " = true; if (" + $data + ".length > " + $schema.length + ") { for (var " + $idx + " = " + $schema.length + "; " + $idx + " < " + $data + ".length; " + $idx + "++) { "; + $it.errorPath = it.util.getPathExpr(it.errorPath, $idx, it.opts.jsonPointers, true); + var $passData = $data + "[" + $idx + "]"; + $it.dataPathArr[$dataNxt] = $idx; + var $code = it.validate($it); + $it.baseId = $currentBaseId; + if (it.util.varOccurences($code, $nextData) < 2) { + out += " " + it.util.varReplace($code, $nextData, $passData) + " "; + } else { + out += " var " + $nextData + " = " + $passData + "; " + $code + " "; + } + if ($breakOnError) { + out += " if (!" + $nextValid + ") break; "; + } + out += " } } "; + if ($breakOnError) { + out += " if (" + $nextValid + ") { "; + $closingBraces += "}"; + } + } + } else if (it.opts.strictKeywords ? typeof $schema == "object" && Object.keys($schema).length > 0 || $schema === false : it.util.schemaHasRules($schema, it.RULES.all)) { + $it.schema = $schema; + $it.schemaPath = $schemaPath; + $it.errSchemaPath = $errSchemaPath; + out += " for (var " + $idx + " = 0; " + $idx + " < " + $data + ".length; " + $idx + "++) { "; + $it.errorPath = it.util.getPathExpr(it.errorPath, $idx, it.opts.jsonPointers, true); + var $passData = $data + "[" + $idx + "]"; + $it.dataPathArr[$dataNxt] = $idx; + var $code = it.validate($it); + $it.baseId = $currentBaseId; + if (it.util.varOccurences($code, $nextData) < 2) { + out += " " + it.util.varReplace($code, $nextData, $passData) + " "; + } else { + out += " var " + $nextData + " = " + $passData + "; " + $code + " "; + } + if ($breakOnError) { + out += " if (!" + $nextValid + ") break; "; + } + out += " }"; + } + if ($breakOnError) { + out += " " + $closingBraces + " if (" + $errs + " == errors) {"; + } + return out; + }; + } +}); + +// node_modules/ajv/lib/dotjs/_limit.js +var require_limit = __commonJS({ + "node_modules/ajv/lib/dotjs/_limit.js"(exports2, module2) { + "use strict"; + module2.exports = function generate__limit(it, $keyword, $ruleType) { + var out = " "; + var $lvl = it.level; + var $dataLvl = it.dataLevel; + var $schema = it.schema[$keyword]; + var $schemaPath = it.schemaPath + it.util.getProperty($keyword); + var $errSchemaPath = it.errSchemaPath + "/" + $keyword; + var $breakOnError = !it.opts.allErrors; + var $errorKeyword; + var $data = "data" + ($dataLvl || ""); + var $isData = it.opts.$data && $schema && $schema.$data, $schemaValue; + if ($isData) { + out += " var schema" + $lvl + " = " + it.util.getData($schema.$data, $dataLvl, it.dataPathArr) + "; "; + $schemaValue = "schema" + $lvl; + } else { + $schemaValue = $schema; + } + var $isMax = $keyword == "maximum", $exclusiveKeyword = $isMax ? "exclusiveMaximum" : "exclusiveMinimum", $schemaExcl = it.schema[$exclusiveKeyword], $isDataExcl = it.opts.$data && $schemaExcl && $schemaExcl.$data, $op = $isMax ? "<" : ">", $notOp = $isMax ? ">" : "<", $errorKeyword = void 0; + if (!($isData || typeof $schema == "number" || $schema === void 0)) { + throw new Error($keyword + " must be number"); + } + if (!($isDataExcl || $schemaExcl === void 0 || typeof $schemaExcl == "number" || typeof $schemaExcl == "boolean")) { + throw new Error($exclusiveKeyword + " must be number or boolean"); + } + if ($isDataExcl) { + var $schemaValueExcl = it.util.getData($schemaExcl.$data, $dataLvl, it.dataPathArr), $exclusive = "exclusive" + $lvl, $exclType = "exclType" + $lvl, $exclIsNumber = "exclIsNumber" + $lvl, $opExpr = "op" + $lvl, $opStr = "' + " + $opExpr + " + '"; + out += " var schemaExcl" + $lvl + " = " + $schemaValueExcl + "; "; + $schemaValueExcl = "schemaExcl" + $lvl; + out += " var " + $exclusive + "; var " + $exclType + " = typeof " + $schemaValueExcl + "; if (" + $exclType + " != 'boolean' && " + $exclType + " != 'undefined' && " + $exclType + " != 'number') { "; + var $errorKeyword = $exclusiveKeyword; + var $$outStack = $$outStack || []; + $$outStack.push(out); + out = ""; + if (it.createErrors !== false) { + out += " { keyword: '" + ($errorKeyword || "_exclusiveLimit") + "' , dataPath: (dataPath || '') + " + it.errorPath + " , schemaPath: " + it.util.toQuotedString($errSchemaPath) + " , params: {} "; + if (it.opts.messages !== false) { + out += " , message: '" + $exclusiveKeyword + " should be boolean' "; + } + if (it.opts.verbose) { + out += " , schema: validate.schema" + $schemaPath + " , parentSchema: validate.schema" + it.schemaPath + " , data: " + $data + " "; + } + out += " } "; + } else { + out += " {} "; + } + var __err = out; + out = $$outStack.pop(); + if (!it.compositeRule && $breakOnError) { + if (it.async) { + out += " throw new ValidationError([" + __err + "]); "; + } else { + out += " validate.errors = [" + __err + "]; return false; "; + } + } else { + out += " var err = " + __err + "; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; "; + } + out += " } else if ( "; + if ($isData) { + out += " (" + $schemaValue + " !== undefined && typeof " + $schemaValue + " != 'number') || "; + } + out += " " + $exclType + " == 'number' ? ( (" + $exclusive + " = " + $schemaValue + " === undefined || " + $schemaValueExcl + " " + $op + "= " + $schemaValue + ") ? " + $data + " " + $notOp + "= " + $schemaValueExcl + " : " + $data + " " + $notOp + " " + $schemaValue + " ) : ( (" + $exclusive + " = " + $schemaValueExcl + " === true) ? " + $data + " " + $notOp + "= " + $schemaValue + " : " + $data + " " + $notOp + " " + $schemaValue + " ) || " + $data + " !== " + $data + ") { var op" + $lvl + " = " + $exclusive + " ? '" + $op + "' : '" + $op + "='; "; + if ($schema === void 0) { + $errorKeyword = $exclusiveKeyword; + $errSchemaPath = it.errSchemaPath + "/" + $exclusiveKeyword; + $schemaValue = $schemaValueExcl; + $isData = $isDataExcl; + } + } else { + var $exclIsNumber = typeof $schemaExcl == "number", $opStr = $op; + if ($exclIsNumber && $isData) { + var $opExpr = "'" + $opStr + "'"; + out += " if ( "; + if ($isData) { + out += " (" + $schemaValue + " !== undefined && typeof " + $schemaValue + " != 'number') || "; + } + out += " ( " + $schemaValue + " === undefined || " + $schemaExcl + " " + $op + "= " + $schemaValue + " ? " + $data + " " + $notOp + "= " + $schemaExcl + " : " + $data + " " + $notOp + " " + $schemaValue + " ) || " + $data + " !== " + $data + ") { "; + } else { + if ($exclIsNumber && $schema === void 0) { + $exclusive = true; + $errorKeyword = $exclusiveKeyword; + $errSchemaPath = it.errSchemaPath + "/" + $exclusiveKeyword; + $schemaValue = $schemaExcl; + $notOp += "="; + } else { + if ($exclIsNumber) $schemaValue = Math[$isMax ? "min" : "max"]($schemaExcl, $schema); + if ($schemaExcl === ($exclIsNumber ? $schemaValue : true)) { + $exclusive = true; + $errorKeyword = $exclusiveKeyword; + $errSchemaPath = it.errSchemaPath + "/" + $exclusiveKeyword; + $notOp += "="; + } else { + $exclusive = false; + $opStr += "="; + } + } + var $opExpr = "'" + $opStr + "'"; + out += " if ( "; + if ($isData) { + out += " (" + $schemaValue + " !== undefined && typeof " + $schemaValue + " != 'number') || "; + } + out += " " + $data + " " + $notOp + " " + $schemaValue + " || " + $data + " !== " + $data + ") { "; + } + } + $errorKeyword = $errorKeyword || $keyword; + var $$outStack = $$outStack || []; + $$outStack.push(out); + out = ""; + if (it.createErrors !== false) { + out += " { keyword: '" + ($errorKeyword || "_limit") + "' , dataPath: (dataPath || '') + " + it.errorPath + " , schemaPath: " + it.util.toQuotedString($errSchemaPath) + " , params: { comparison: " + $opExpr + ", limit: " + $schemaValue + ", exclusive: " + $exclusive + " } "; + if (it.opts.messages !== false) { + out += " , message: 'should be " + $opStr + " "; + if ($isData) { + out += "' + " + $schemaValue; + } else { + out += "" + $schemaValue + "'"; + } + } + if (it.opts.verbose) { + out += " , schema: "; + if ($isData) { + out += "validate.schema" + $schemaPath; + } else { + out += "" + $schema; + } + out += " , parentSchema: validate.schema" + it.schemaPath + " , data: " + $data + " "; + } + out += " } "; + } else { + out += " {} "; + } + var __err = out; + out = $$outStack.pop(); + if (!it.compositeRule && $breakOnError) { + if (it.async) { + out += " throw new ValidationError([" + __err + "]); "; + } else { + out += " validate.errors = [" + __err + "]; return false; "; + } + } else { + out += " var err = " + __err + "; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; "; + } + out += " } "; + if ($breakOnError) { + out += " else { "; + } + return out; + }; + } +}); + +// node_modules/ajv/lib/dotjs/_limitItems.js +var require_limitItems = __commonJS({ + "node_modules/ajv/lib/dotjs/_limitItems.js"(exports2, module2) { + "use strict"; + module2.exports = function generate__limitItems(it, $keyword, $ruleType) { + var out = " "; + var $lvl = it.level; + var $dataLvl = it.dataLevel; + var $schema = it.schema[$keyword]; + var $schemaPath = it.schemaPath + it.util.getProperty($keyword); + var $errSchemaPath = it.errSchemaPath + "/" + $keyword; + var $breakOnError = !it.opts.allErrors; + var $errorKeyword; + var $data = "data" + ($dataLvl || ""); + var $isData = it.opts.$data && $schema && $schema.$data, $schemaValue; + if ($isData) { + out += " var schema" + $lvl + " = " + it.util.getData($schema.$data, $dataLvl, it.dataPathArr) + "; "; + $schemaValue = "schema" + $lvl; + } else { + $schemaValue = $schema; + } + if (!($isData || typeof $schema == "number")) { + throw new Error($keyword + " must be number"); + } + var $op = $keyword == "maxItems" ? ">" : "<"; + out += "if ( "; + if ($isData) { + out += " (" + $schemaValue + " !== undefined && typeof " + $schemaValue + " != 'number') || "; + } + out += " " + $data + ".length " + $op + " " + $schemaValue + ") { "; + var $errorKeyword = $keyword; + var $$outStack = $$outStack || []; + $$outStack.push(out); + out = ""; + if (it.createErrors !== false) { + out += " { keyword: '" + ($errorKeyword || "_limitItems") + "' , dataPath: (dataPath || '') + " + it.errorPath + " , schemaPath: " + it.util.toQuotedString($errSchemaPath) + " , params: { limit: " + $schemaValue + " } "; + if (it.opts.messages !== false) { + out += " , message: 'should NOT have "; + if ($keyword == "maxItems") { + out += "more"; + } else { + out += "fewer"; + } + out += " than "; + if ($isData) { + out += "' + " + $schemaValue + " + '"; + } else { + out += "" + $schema; + } + out += " items' "; + } + if (it.opts.verbose) { + out += " , schema: "; + if ($isData) { + out += "validate.schema" + $schemaPath; + } else { + out += "" + $schema; + } + out += " , parentSchema: validate.schema" + it.schemaPath + " , data: " + $data + " "; + } + out += " } "; + } else { + out += " {} "; + } + var __err = out; + out = $$outStack.pop(); + if (!it.compositeRule && $breakOnError) { + if (it.async) { + out += " throw new ValidationError([" + __err + "]); "; + } else { + out += " validate.errors = [" + __err + "]; return false; "; + } + } else { + out += " var err = " + __err + "; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; "; + } + out += "} "; + if ($breakOnError) { + out += " else { "; + } + return out; + }; + } +}); + +// node_modules/ajv/lib/dotjs/_limitLength.js +var require_limitLength = __commonJS({ + "node_modules/ajv/lib/dotjs/_limitLength.js"(exports2, module2) { + "use strict"; + module2.exports = function generate__limitLength(it, $keyword, $ruleType) { + var out = " "; + var $lvl = it.level; + var $dataLvl = it.dataLevel; + var $schema = it.schema[$keyword]; + var $schemaPath = it.schemaPath + it.util.getProperty($keyword); + var $errSchemaPath = it.errSchemaPath + "/" + $keyword; + var $breakOnError = !it.opts.allErrors; + var $errorKeyword; + var $data = "data" + ($dataLvl || ""); + var $isData = it.opts.$data && $schema && $schema.$data, $schemaValue; + if ($isData) { + out += " var schema" + $lvl + " = " + it.util.getData($schema.$data, $dataLvl, it.dataPathArr) + "; "; + $schemaValue = "schema" + $lvl; + } else { + $schemaValue = $schema; + } + if (!($isData || typeof $schema == "number")) { + throw new Error($keyword + " must be number"); + } + var $op = $keyword == "maxLength" ? ">" : "<"; + out += "if ( "; + if ($isData) { + out += " (" + $schemaValue + " !== undefined && typeof " + $schemaValue + " != 'number') || "; + } + if (it.opts.unicode === false) { + out += " " + $data + ".length "; + } else { + out += " ucs2length(" + $data + ") "; + } + out += " " + $op + " " + $schemaValue + ") { "; + var $errorKeyword = $keyword; + var $$outStack = $$outStack || []; + $$outStack.push(out); + out = ""; + if (it.createErrors !== false) { + out += " { keyword: '" + ($errorKeyword || "_limitLength") + "' , dataPath: (dataPath || '') + " + it.errorPath + " , schemaPath: " + it.util.toQuotedString($errSchemaPath) + " , params: { limit: " + $schemaValue + " } "; + if (it.opts.messages !== false) { + out += " , message: 'should NOT be "; + if ($keyword == "maxLength") { + out += "longer"; + } else { + out += "shorter"; + } + out += " than "; + if ($isData) { + out += "' + " + $schemaValue + " + '"; + } else { + out += "" + $schema; + } + out += " characters' "; + } + if (it.opts.verbose) { + out += " , schema: "; + if ($isData) { + out += "validate.schema" + $schemaPath; + } else { + out += "" + $schema; + } + out += " , parentSchema: validate.schema" + it.schemaPath + " , data: " + $data + " "; + } + out += " } "; + } else { + out += " {} "; + } + var __err = out; + out = $$outStack.pop(); + if (!it.compositeRule && $breakOnError) { + if (it.async) { + out += " throw new ValidationError([" + __err + "]); "; + } else { + out += " validate.errors = [" + __err + "]; return false; "; + } + } else { + out += " var err = " + __err + "; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; "; + } + out += "} "; + if ($breakOnError) { + out += " else { "; + } + return out; + }; + } +}); + +// node_modules/ajv/lib/dotjs/_limitProperties.js +var require_limitProperties = __commonJS({ + "node_modules/ajv/lib/dotjs/_limitProperties.js"(exports2, module2) { + "use strict"; + module2.exports = function generate__limitProperties(it, $keyword, $ruleType) { + var out = " "; + var $lvl = it.level; + var $dataLvl = it.dataLevel; + var $schema = it.schema[$keyword]; + var $schemaPath = it.schemaPath + it.util.getProperty($keyword); + var $errSchemaPath = it.errSchemaPath + "/" + $keyword; + var $breakOnError = !it.opts.allErrors; + var $errorKeyword; + var $data = "data" + ($dataLvl || ""); + var $isData = it.opts.$data && $schema && $schema.$data, $schemaValue; + if ($isData) { + out += " var schema" + $lvl + " = " + it.util.getData($schema.$data, $dataLvl, it.dataPathArr) + "; "; + $schemaValue = "schema" + $lvl; + } else { + $schemaValue = $schema; + } + if (!($isData || typeof $schema == "number")) { + throw new Error($keyword + " must be number"); + } + var $op = $keyword == "maxProperties" ? ">" : "<"; + out += "if ( "; + if ($isData) { + out += " (" + $schemaValue + " !== undefined && typeof " + $schemaValue + " != 'number') || "; + } + out += " Object.keys(" + $data + ").length " + $op + " " + $schemaValue + ") { "; + var $errorKeyword = $keyword; + var $$outStack = $$outStack || []; + $$outStack.push(out); + out = ""; + if (it.createErrors !== false) { + out += " { keyword: '" + ($errorKeyword || "_limitProperties") + "' , dataPath: (dataPath || '') + " + it.errorPath + " , schemaPath: " + it.util.toQuotedString($errSchemaPath) + " , params: { limit: " + $schemaValue + " } "; + if (it.opts.messages !== false) { + out += " , message: 'should NOT have "; + if ($keyword == "maxProperties") { + out += "more"; + } else { + out += "fewer"; + } + out += " than "; + if ($isData) { + out += "' + " + $schemaValue + " + '"; + } else { + out += "" + $schema; + } + out += " properties' "; + } + if (it.opts.verbose) { + out += " , schema: "; + if ($isData) { + out += "validate.schema" + $schemaPath; + } else { + out += "" + $schema; + } + out += " , parentSchema: validate.schema" + it.schemaPath + " , data: " + $data + " "; + } + out += " } "; + } else { + out += " {} "; + } + var __err = out; + out = $$outStack.pop(); + if (!it.compositeRule && $breakOnError) { + if (it.async) { + out += " throw new ValidationError([" + __err + "]); "; + } else { + out += " validate.errors = [" + __err + "]; return false; "; + } + } else { + out += " var err = " + __err + "; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; "; + } + out += "} "; + if ($breakOnError) { + out += " else { "; + } + return out; + }; + } +}); + +// node_modules/ajv/lib/dotjs/multipleOf.js +var require_multipleOf = __commonJS({ + "node_modules/ajv/lib/dotjs/multipleOf.js"(exports2, module2) { + "use strict"; + module2.exports = function generate_multipleOf(it, $keyword, $ruleType) { + var out = " "; + var $lvl = it.level; + var $dataLvl = it.dataLevel; + var $schema = it.schema[$keyword]; + var $schemaPath = it.schemaPath + it.util.getProperty($keyword); + var $errSchemaPath = it.errSchemaPath + "/" + $keyword; + var $breakOnError = !it.opts.allErrors; + var $data = "data" + ($dataLvl || ""); + var $isData = it.opts.$data && $schema && $schema.$data, $schemaValue; + if ($isData) { + out += " var schema" + $lvl + " = " + it.util.getData($schema.$data, $dataLvl, it.dataPathArr) + "; "; + $schemaValue = "schema" + $lvl; + } else { + $schemaValue = $schema; + } + if (!($isData || typeof $schema == "number")) { + throw new Error($keyword + " must be number"); + } + out += "var division" + $lvl + ";if ("; + if ($isData) { + out += " " + $schemaValue + " !== undefined && ( typeof " + $schemaValue + " != 'number' || "; + } + out += " (division" + $lvl + " = " + $data + " / " + $schemaValue + ", "; + if (it.opts.multipleOfPrecision) { + out += " Math.abs(Math.round(division" + $lvl + ") - division" + $lvl + ") > 1e-" + it.opts.multipleOfPrecision + " "; + } else { + out += " division" + $lvl + " !== parseInt(division" + $lvl + ") "; + } + out += " ) "; + if ($isData) { + out += " ) "; + } + out += " ) { "; + var $$outStack = $$outStack || []; + $$outStack.push(out); + out = ""; + if (it.createErrors !== false) { + out += " { keyword: 'multipleOf' , dataPath: (dataPath || '') + " + it.errorPath + " , schemaPath: " + it.util.toQuotedString($errSchemaPath) + " , params: { multipleOf: " + $schemaValue + " } "; + if (it.opts.messages !== false) { + out += " , message: 'should be multiple of "; + if ($isData) { + out += "' + " + $schemaValue; + } else { + out += "" + $schemaValue + "'"; + } + } + if (it.opts.verbose) { + out += " , schema: "; + if ($isData) { + out += "validate.schema" + $schemaPath; + } else { + out += "" + $schema; + } + out += " , parentSchema: validate.schema" + it.schemaPath + " , data: " + $data + " "; + } + out += " } "; + } else { + out += " {} "; + } + var __err = out; + out = $$outStack.pop(); + if (!it.compositeRule && $breakOnError) { + if (it.async) { + out += " throw new ValidationError([" + __err + "]); "; + } else { + out += " validate.errors = [" + __err + "]; return false; "; + } + } else { + out += " var err = " + __err + "; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; "; + } + out += "} "; + if ($breakOnError) { + out += " else { "; + } + return out; + }; + } +}); + +// node_modules/ajv/lib/dotjs/not.js +var require_not = __commonJS({ + "node_modules/ajv/lib/dotjs/not.js"(exports2, module2) { + "use strict"; + module2.exports = function generate_not(it, $keyword, $ruleType) { + var out = " "; + var $lvl = it.level; + var $dataLvl = it.dataLevel; + var $schema = it.schema[$keyword]; + var $schemaPath = it.schemaPath + it.util.getProperty($keyword); + var $errSchemaPath = it.errSchemaPath + "/" + $keyword; + var $breakOnError = !it.opts.allErrors; + var $data = "data" + ($dataLvl || ""); + var $errs = "errs__" + $lvl; + var $it = it.util.copy(it); + $it.level++; + var $nextValid = "valid" + $it.level; + if (it.opts.strictKeywords ? typeof $schema == "object" && Object.keys($schema).length > 0 || $schema === false : it.util.schemaHasRules($schema, it.RULES.all)) { + $it.schema = $schema; + $it.schemaPath = $schemaPath; + $it.errSchemaPath = $errSchemaPath; + out += " var " + $errs + " = errors; "; + var $wasComposite = it.compositeRule; + it.compositeRule = $it.compositeRule = true; + $it.createErrors = false; + var $allErrorsOption; + if ($it.opts.allErrors) { + $allErrorsOption = $it.opts.allErrors; + $it.opts.allErrors = false; + } + out += " " + it.validate($it) + " "; + $it.createErrors = true; + if ($allErrorsOption) $it.opts.allErrors = $allErrorsOption; + it.compositeRule = $it.compositeRule = $wasComposite; + out += " if (" + $nextValid + ") { "; + var $$outStack = $$outStack || []; + $$outStack.push(out); + out = ""; + if (it.createErrors !== false) { + out += " { keyword: 'not' , dataPath: (dataPath || '') + " + it.errorPath + " , schemaPath: " + it.util.toQuotedString($errSchemaPath) + " , params: {} "; + if (it.opts.messages !== false) { + out += " , message: 'should NOT be valid' "; + } + if (it.opts.verbose) { + out += " , schema: validate.schema" + $schemaPath + " , parentSchema: validate.schema" + it.schemaPath + " , data: " + $data + " "; + } + out += " } "; + } else { + out += " {} "; + } + var __err = out; + out = $$outStack.pop(); + if (!it.compositeRule && $breakOnError) { + if (it.async) { + out += " throw new ValidationError([" + __err + "]); "; + } else { + out += " validate.errors = [" + __err + "]; return false; "; + } + } else { + out += " var err = " + __err + "; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; "; + } + out += " } else { errors = " + $errs + "; if (vErrors !== null) { if (" + $errs + ") vErrors.length = " + $errs + "; else vErrors = null; } "; + if (it.opts.allErrors) { + out += " } "; + } + } else { + out += " var err = "; + if (it.createErrors !== false) { + out += " { keyword: 'not' , dataPath: (dataPath || '') + " + it.errorPath + " , schemaPath: " + it.util.toQuotedString($errSchemaPath) + " , params: {} "; + if (it.opts.messages !== false) { + out += " , message: 'should NOT be valid' "; + } + if (it.opts.verbose) { + out += " , schema: validate.schema" + $schemaPath + " , parentSchema: validate.schema" + it.schemaPath + " , data: " + $data + " "; + } + out += " } "; + } else { + out += " {} "; + } + out += "; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; "; + if ($breakOnError) { + out += " if (false) { "; + } + } + return out; + }; + } +}); + +// node_modules/ajv/lib/dotjs/oneOf.js +var require_oneOf = __commonJS({ + "node_modules/ajv/lib/dotjs/oneOf.js"(exports2, module2) { + "use strict"; + module2.exports = function generate_oneOf(it, $keyword, $ruleType) { + var out = " "; + var $lvl = it.level; + var $dataLvl = it.dataLevel; + var $schema = it.schema[$keyword]; + var $schemaPath = it.schemaPath + it.util.getProperty($keyword); + var $errSchemaPath = it.errSchemaPath + "/" + $keyword; + var $breakOnError = !it.opts.allErrors; + var $data = "data" + ($dataLvl || ""); + var $valid = "valid" + $lvl; + var $errs = "errs__" + $lvl; + var $it = it.util.copy(it); + var $closingBraces = ""; + $it.level++; + var $nextValid = "valid" + $it.level; + var $currentBaseId = $it.baseId, $prevValid = "prevValid" + $lvl, $passingSchemas = "passingSchemas" + $lvl; + out += "var " + $errs + " = errors , " + $prevValid + " = false , " + $valid + " = false , " + $passingSchemas + " = null; "; + var $wasComposite = it.compositeRule; + it.compositeRule = $it.compositeRule = true; + var arr1 = $schema; + if (arr1) { + var $sch, $i = -1, l1 = arr1.length - 1; + while ($i < l1) { + $sch = arr1[$i += 1]; + if (it.opts.strictKeywords ? typeof $sch == "object" && Object.keys($sch).length > 0 || $sch === false : it.util.schemaHasRules($sch, it.RULES.all)) { + $it.schema = $sch; + $it.schemaPath = $schemaPath + "[" + $i + "]"; + $it.errSchemaPath = $errSchemaPath + "/" + $i; + out += " " + it.validate($it) + " "; + $it.baseId = $currentBaseId; + } else { + out += " var " + $nextValid + " = true; "; + } + if ($i) { + out += " if (" + $nextValid + " && " + $prevValid + ") { " + $valid + " = false; " + $passingSchemas + " = [" + $passingSchemas + ", " + $i + "]; } else { "; + $closingBraces += "}"; + } + out += " if (" + $nextValid + ") { " + $valid + " = " + $prevValid + " = true; " + $passingSchemas + " = " + $i + "; }"; + } + } + it.compositeRule = $it.compositeRule = $wasComposite; + out += "" + $closingBraces + "if (!" + $valid + ") { var err = "; + if (it.createErrors !== false) { + out += " { keyword: 'oneOf' , dataPath: (dataPath || '') + " + it.errorPath + " , schemaPath: " + it.util.toQuotedString($errSchemaPath) + " , params: { passingSchemas: " + $passingSchemas + " } "; + if (it.opts.messages !== false) { + out += " , message: 'should match exactly one schema in oneOf' "; + } + if (it.opts.verbose) { + out += " , schema: validate.schema" + $schemaPath + " , parentSchema: validate.schema" + it.schemaPath + " , data: " + $data + " "; + } + out += " } "; + } else { + out += " {} "; + } + out += "; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; "; + if (!it.compositeRule && $breakOnError) { + if (it.async) { + out += " throw new ValidationError(vErrors); "; + } else { + out += " validate.errors = vErrors; return false; "; + } + } + out += "} else { errors = " + $errs + "; if (vErrors !== null) { if (" + $errs + ") vErrors.length = " + $errs + "; else vErrors = null; }"; + if (it.opts.allErrors) { + out += " } "; + } + return out; + }; + } +}); + +// node_modules/ajv/lib/dotjs/pattern.js +var require_pattern = __commonJS({ + "node_modules/ajv/lib/dotjs/pattern.js"(exports2, module2) { + "use strict"; + module2.exports = function generate_pattern(it, $keyword, $ruleType) { + var out = " "; + var $lvl = it.level; + var $dataLvl = it.dataLevel; + var $schema = it.schema[$keyword]; + var $schemaPath = it.schemaPath + it.util.getProperty($keyword); + var $errSchemaPath = it.errSchemaPath + "/" + $keyword; + var $breakOnError = !it.opts.allErrors; + var $data = "data" + ($dataLvl || ""); + var $isData = it.opts.$data && $schema && $schema.$data, $schemaValue; + if ($isData) { + out += " var schema" + $lvl + " = " + it.util.getData($schema.$data, $dataLvl, it.dataPathArr) + "; "; + $schemaValue = "schema" + $lvl; + } else { + $schemaValue = $schema; + } + var $regexp = $isData ? "(new RegExp(" + $schemaValue + "))" : it.usePattern($schema); + out += "if ( "; + if ($isData) { + out += " (" + $schemaValue + " !== undefined && typeof " + $schemaValue + " != 'string') || "; + } + out += " !" + $regexp + ".test(" + $data + ") ) { "; + var $$outStack = $$outStack || []; + $$outStack.push(out); + out = ""; + if (it.createErrors !== false) { + out += " { keyword: 'pattern' , dataPath: (dataPath || '') + " + it.errorPath + " , schemaPath: " + it.util.toQuotedString($errSchemaPath) + " , params: { pattern: "; + if ($isData) { + out += "" + $schemaValue; + } else { + out += "" + it.util.toQuotedString($schema); + } + out += " } "; + if (it.opts.messages !== false) { + out += ` , message: 'should match pattern "`; + if ($isData) { + out += "' + " + $schemaValue + " + '"; + } else { + out += "" + it.util.escapeQuotes($schema); + } + out += `"' `; + } + if (it.opts.verbose) { + out += " , schema: "; + if ($isData) { + out += "validate.schema" + $schemaPath; + } else { + out += "" + it.util.toQuotedString($schema); + } + out += " , parentSchema: validate.schema" + it.schemaPath + " , data: " + $data + " "; + } + out += " } "; + } else { + out += " {} "; + } + var __err = out; + out = $$outStack.pop(); + if (!it.compositeRule && $breakOnError) { + if (it.async) { + out += " throw new ValidationError([" + __err + "]); "; + } else { + out += " validate.errors = [" + __err + "]; return false; "; + } + } else { + out += " var err = " + __err + "; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; "; + } + out += "} "; + if ($breakOnError) { + out += " else { "; + } + return out; + }; + } +}); + +// node_modules/ajv/lib/dotjs/properties.js +var require_properties = __commonJS({ + "node_modules/ajv/lib/dotjs/properties.js"(exports2, module2) { + "use strict"; + module2.exports = function generate_properties(it, $keyword, $ruleType) { + var out = " "; + var $lvl = it.level; + var $dataLvl = it.dataLevel; + var $schema = it.schema[$keyword]; + var $schemaPath = it.schemaPath + it.util.getProperty($keyword); + var $errSchemaPath = it.errSchemaPath + "/" + $keyword; + var $breakOnError = !it.opts.allErrors; + var $data = "data" + ($dataLvl || ""); + var $errs = "errs__" + $lvl; + var $it = it.util.copy(it); + var $closingBraces = ""; + $it.level++; + var $nextValid = "valid" + $it.level; + var $key = "key" + $lvl, $idx = "idx" + $lvl, $dataNxt = $it.dataLevel = it.dataLevel + 1, $nextData = "data" + $dataNxt, $dataProperties = "dataProperties" + $lvl; + var $schemaKeys = Object.keys($schema || {}).filter(notProto), $pProperties = it.schema.patternProperties || {}, $pPropertyKeys = Object.keys($pProperties).filter(notProto), $aProperties = it.schema.additionalProperties, $someProperties = $schemaKeys.length || $pPropertyKeys.length, $noAdditional = $aProperties === false, $additionalIsSchema = typeof $aProperties == "object" && Object.keys($aProperties).length, $removeAdditional = it.opts.removeAdditional, $checkAdditional = $noAdditional || $additionalIsSchema || $removeAdditional, $ownProperties = it.opts.ownProperties, $currentBaseId = it.baseId; + var $required = it.schema.required; + if ($required && !(it.opts.$data && $required.$data) && $required.length < it.opts.loopRequired) { + var $requiredHash = it.util.toHash($required); + } + function notProto(p) { + return p !== "__proto__"; + } + out += "var " + $errs + " = errors;var " + $nextValid + " = true;"; + if ($ownProperties) { + out += " var " + $dataProperties + " = undefined;"; + } + if ($checkAdditional) { + if ($ownProperties) { + out += " " + $dataProperties + " = " + $dataProperties + " || Object.keys(" + $data + "); for (var " + $idx + "=0; " + $idx + "<" + $dataProperties + ".length; " + $idx + "++) { var " + $key + " = " + $dataProperties + "[" + $idx + "]; "; + } else { + out += " for (var " + $key + " in " + $data + ") { "; + } + if ($someProperties) { + out += " var isAdditional" + $lvl + " = !(false "; + if ($schemaKeys.length) { + if ($schemaKeys.length > 8) { + out += " || validate.schema" + $schemaPath + ".hasOwnProperty(" + $key + ") "; + } else { + var arr1 = $schemaKeys; + if (arr1) { + var $propertyKey, i1 = -1, l1 = arr1.length - 1; + while (i1 < l1) { + $propertyKey = arr1[i1 += 1]; + out += " || " + $key + " == " + it.util.toQuotedString($propertyKey) + " "; + } + } + } + } + if ($pPropertyKeys.length) { + var arr2 = $pPropertyKeys; + if (arr2) { + var $pProperty, $i = -1, l2 = arr2.length - 1; + while ($i < l2) { + $pProperty = arr2[$i += 1]; + out += " || " + it.usePattern($pProperty) + ".test(" + $key + ") "; + } + } + } + out += " ); if (isAdditional" + $lvl + ") { "; + } + if ($removeAdditional == "all") { + out += " delete " + $data + "[" + $key + "]; "; + } else { + var $currentErrorPath = it.errorPath; + var $additionalProperty = "' + " + $key + " + '"; + if (it.opts._errorDataPathProperty) { + it.errorPath = it.util.getPathExpr(it.errorPath, $key, it.opts.jsonPointers); + } + if ($noAdditional) { + if ($removeAdditional) { + out += " delete " + $data + "[" + $key + "]; "; + } else { + out += " " + $nextValid + " = false; "; + var $currErrSchemaPath = $errSchemaPath; + $errSchemaPath = it.errSchemaPath + "/additionalProperties"; + var $$outStack = $$outStack || []; + $$outStack.push(out); + out = ""; + if (it.createErrors !== false) { + out += " { keyword: 'additionalProperties' , dataPath: (dataPath || '') + " + it.errorPath + " , schemaPath: " + it.util.toQuotedString($errSchemaPath) + " , params: { additionalProperty: '" + $additionalProperty + "' } "; + if (it.opts.messages !== false) { + out += " , message: '"; + if (it.opts._errorDataPathProperty) { + out += "is an invalid additional property"; + } else { + out += "should NOT have additional properties"; + } + out += "' "; + } + if (it.opts.verbose) { + out += " , schema: false , parentSchema: validate.schema" + it.schemaPath + " , data: " + $data + " "; + } + out += " } "; + } else { + out += " {} "; + } + var __err = out; + out = $$outStack.pop(); + if (!it.compositeRule && $breakOnError) { + if (it.async) { + out += " throw new ValidationError([" + __err + "]); "; + } else { + out += " validate.errors = [" + __err + "]; return false; "; + } + } else { + out += " var err = " + __err + "; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; "; + } + $errSchemaPath = $currErrSchemaPath; + if ($breakOnError) { + out += " break; "; + } + } + } else if ($additionalIsSchema) { + if ($removeAdditional == "failing") { + out += " var " + $errs + " = errors; "; + var $wasComposite = it.compositeRule; + it.compositeRule = $it.compositeRule = true; + $it.schema = $aProperties; + $it.schemaPath = it.schemaPath + ".additionalProperties"; + $it.errSchemaPath = it.errSchemaPath + "/additionalProperties"; + $it.errorPath = it.opts._errorDataPathProperty ? it.errorPath : it.util.getPathExpr(it.errorPath, $key, it.opts.jsonPointers); + var $passData = $data + "[" + $key + "]"; + $it.dataPathArr[$dataNxt] = $key; + var $code = it.validate($it); + $it.baseId = $currentBaseId; + if (it.util.varOccurences($code, $nextData) < 2) { + out += " " + it.util.varReplace($code, $nextData, $passData) + " "; + } else { + out += " var " + $nextData + " = " + $passData + "; " + $code + " "; + } + out += " if (!" + $nextValid + ") { errors = " + $errs + "; if (validate.errors !== null) { if (errors) validate.errors.length = errors; else validate.errors = null; } delete " + $data + "[" + $key + "]; } "; + it.compositeRule = $it.compositeRule = $wasComposite; + } else { + $it.schema = $aProperties; + $it.schemaPath = it.schemaPath + ".additionalProperties"; + $it.errSchemaPath = it.errSchemaPath + "/additionalProperties"; + $it.errorPath = it.opts._errorDataPathProperty ? it.errorPath : it.util.getPathExpr(it.errorPath, $key, it.opts.jsonPointers); + var $passData = $data + "[" + $key + "]"; + $it.dataPathArr[$dataNxt] = $key; + var $code = it.validate($it); + $it.baseId = $currentBaseId; + if (it.util.varOccurences($code, $nextData) < 2) { + out += " " + it.util.varReplace($code, $nextData, $passData) + " "; + } else { + out += " var " + $nextData + " = " + $passData + "; " + $code + " "; + } + if ($breakOnError) { + out += " if (!" + $nextValid + ") break; "; + } + } + } + it.errorPath = $currentErrorPath; + } + if ($someProperties) { + out += " } "; + } + out += " } "; + if ($breakOnError) { + out += " if (" + $nextValid + ") { "; + $closingBraces += "}"; + } + } + var $useDefaults = it.opts.useDefaults && !it.compositeRule; + if ($schemaKeys.length) { + var arr3 = $schemaKeys; + if (arr3) { + var $propertyKey, i3 = -1, l3 = arr3.length - 1; + while (i3 < l3) { + $propertyKey = arr3[i3 += 1]; + var $sch = $schema[$propertyKey]; + if (it.opts.strictKeywords ? typeof $sch == "object" && Object.keys($sch).length > 0 || $sch === false : it.util.schemaHasRules($sch, it.RULES.all)) { + var $prop = it.util.getProperty($propertyKey), $passData = $data + $prop, $hasDefault = $useDefaults && $sch.default !== void 0; + $it.schema = $sch; + $it.schemaPath = $schemaPath + $prop; + $it.errSchemaPath = $errSchemaPath + "/" + it.util.escapeFragment($propertyKey); + $it.errorPath = it.util.getPath(it.errorPath, $propertyKey, it.opts.jsonPointers); + $it.dataPathArr[$dataNxt] = it.util.toQuotedString($propertyKey); + var $code = it.validate($it); + $it.baseId = $currentBaseId; + if (it.util.varOccurences($code, $nextData) < 2) { + $code = it.util.varReplace($code, $nextData, $passData); + var $useData = $passData; + } else { + var $useData = $nextData; + out += " var " + $nextData + " = " + $passData + "; "; + } + if ($hasDefault) { + out += " " + $code + " "; + } else { + if ($requiredHash && $requiredHash[$propertyKey]) { + out += " if ( " + $useData + " === undefined "; + if ($ownProperties) { + out += " || ! Object.prototype.hasOwnProperty.call(" + $data + ", '" + it.util.escapeQuotes($propertyKey) + "') "; + } + out += ") { " + $nextValid + " = false; "; + var $currentErrorPath = it.errorPath, $currErrSchemaPath = $errSchemaPath, $missingProperty = it.util.escapeQuotes($propertyKey); + if (it.opts._errorDataPathProperty) { + it.errorPath = it.util.getPath($currentErrorPath, $propertyKey, it.opts.jsonPointers); + } + $errSchemaPath = it.errSchemaPath + "/required"; + var $$outStack = $$outStack || []; + $$outStack.push(out); + out = ""; + if (it.createErrors !== false) { + out += " { keyword: 'required' , dataPath: (dataPath || '') + " + it.errorPath + " , schemaPath: " + it.util.toQuotedString($errSchemaPath) + " , params: { missingProperty: '" + $missingProperty + "' } "; + if (it.opts.messages !== false) { + out += " , message: '"; + if (it.opts._errorDataPathProperty) { + out += "is a required property"; + } else { + out += "should have required property \\'" + $missingProperty + "\\'"; + } + out += "' "; + } + if (it.opts.verbose) { + out += " , schema: validate.schema" + $schemaPath + " , parentSchema: validate.schema" + it.schemaPath + " , data: " + $data + " "; + } + out += " } "; + } else { + out += " {} "; + } + var __err = out; + out = $$outStack.pop(); + if (!it.compositeRule && $breakOnError) { + if (it.async) { + out += " throw new ValidationError([" + __err + "]); "; + } else { + out += " validate.errors = [" + __err + "]; return false; "; + } + } else { + out += " var err = " + __err + "; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; "; + } + $errSchemaPath = $currErrSchemaPath; + it.errorPath = $currentErrorPath; + out += " } else { "; + } else { + if ($breakOnError) { + out += " if ( " + $useData + " === undefined "; + if ($ownProperties) { + out += " || ! Object.prototype.hasOwnProperty.call(" + $data + ", '" + it.util.escapeQuotes($propertyKey) + "') "; + } + out += ") { " + $nextValid + " = true; } else { "; + } else { + out += " if (" + $useData + " !== undefined "; + if ($ownProperties) { + out += " && Object.prototype.hasOwnProperty.call(" + $data + ", '" + it.util.escapeQuotes($propertyKey) + "') "; + } + out += " ) { "; + } + } + out += " " + $code + " } "; + } + } + if ($breakOnError) { + out += " if (" + $nextValid + ") { "; + $closingBraces += "}"; + } + } + } + } + if ($pPropertyKeys.length) { + var arr4 = $pPropertyKeys; + if (arr4) { + var $pProperty, i4 = -1, l4 = arr4.length - 1; + while (i4 < l4) { + $pProperty = arr4[i4 += 1]; + var $sch = $pProperties[$pProperty]; + if (it.opts.strictKeywords ? typeof $sch == "object" && Object.keys($sch).length > 0 || $sch === false : it.util.schemaHasRules($sch, it.RULES.all)) { + $it.schema = $sch; + $it.schemaPath = it.schemaPath + ".patternProperties" + it.util.getProperty($pProperty); + $it.errSchemaPath = it.errSchemaPath + "/patternProperties/" + it.util.escapeFragment($pProperty); + if ($ownProperties) { + out += " " + $dataProperties + " = " + $dataProperties + " || Object.keys(" + $data + "); for (var " + $idx + "=0; " + $idx + "<" + $dataProperties + ".length; " + $idx + "++) { var " + $key + " = " + $dataProperties + "[" + $idx + "]; "; + } else { + out += " for (var " + $key + " in " + $data + ") { "; + } + out += " if (" + it.usePattern($pProperty) + ".test(" + $key + ")) { "; + $it.errorPath = it.util.getPathExpr(it.errorPath, $key, it.opts.jsonPointers); + var $passData = $data + "[" + $key + "]"; + $it.dataPathArr[$dataNxt] = $key; + var $code = it.validate($it); + $it.baseId = $currentBaseId; + if (it.util.varOccurences($code, $nextData) < 2) { + out += " " + it.util.varReplace($code, $nextData, $passData) + " "; + } else { + out += " var " + $nextData + " = " + $passData + "; " + $code + " "; + } + if ($breakOnError) { + out += " if (!" + $nextValid + ") break; "; + } + out += " } "; + if ($breakOnError) { + out += " else " + $nextValid + " = true; "; + } + out += " } "; + if ($breakOnError) { + out += " if (" + $nextValid + ") { "; + $closingBraces += "}"; + } + } + } + } + } + if ($breakOnError) { + out += " " + $closingBraces + " if (" + $errs + " == errors) {"; + } + return out; + }; + } +}); + +// node_modules/ajv/lib/dotjs/propertyNames.js +var require_propertyNames = __commonJS({ + "node_modules/ajv/lib/dotjs/propertyNames.js"(exports2, module2) { + "use strict"; + module2.exports = function generate_propertyNames(it, $keyword, $ruleType) { + var out = " "; + var $lvl = it.level; + var $dataLvl = it.dataLevel; + var $schema = it.schema[$keyword]; + var $schemaPath = it.schemaPath + it.util.getProperty($keyword); + var $errSchemaPath = it.errSchemaPath + "/" + $keyword; + var $breakOnError = !it.opts.allErrors; + var $data = "data" + ($dataLvl || ""); + var $errs = "errs__" + $lvl; + var $it = it.util.copy(it); + var $closingBraces = ""; + $it.level++; + var $nextValid = "valid" + $it.level; + out += "var " + $errs + " = errors;"; + if (it.opts.strictKeywords ? typeof $schema == "object" && Object.keys($schema).length > 0 || $schema === false : it.util.schemaHasRules($schema, it.RULES.all)) { + $it.schema = $schema; + $it.schemaPath = $schemaPath; + $it.errSchemaPath = $errSchemaPath; + var $key = "key" + $lvl, $idx = "idx" + $lvl, $i = "i" + $lvl, $invalidName = "' + " + $key + " + '", $dataNxt = $it.dataLevel = it.dataLevel + 1, $nextData = "data" + $dataNxt, $dataProperties = "dataProperties" + $lvl, $ownProperties = it.opts.ownProperties, $currentBaseId = it.baseId; + if ($ownProperties) { + out += " var " + $dataProperties + " = undefined; "; + } + if ($ownProperties) { + out += " " + $dataProperties + " = " + $dataProperties + " || Object.keys(" + $data + "); for (var " + $idx + "=0; " + $idx + "<" + $dataProperties + ".length; " + $idx + "++) { var " + $key + " = " + $dataProperties + "[" + $idx + "]; "; + } else { + out += " for (var " + $key + " in " + $data + ") { "; + } + out += " var startErrs" + $lvl + " = errors; "; + var $passData = $key; + var $wasComposite = it.compositeRule; + it.compositeRule = $it.compositeRule = true; + var $code = it.validate($it); + $it.baseId = $currentBaseId; + if (it.util.varOccurences($code, $nextData) < 2) { + out += " " + it.util.varReplace($code, $nextData, $passData) + " "; + } else { + out += " var " + $nextData + " = " + $passData + "; " + $code + " "; + } + it.compositeRule = $it.compositeRule = $wasComposite; + out += " if (!" + $nextValid + ") { for (var " + $i + "=startErrs" + $lvl + "; " + $i + " 0 || $propertySch === false : it.util.schemaHasRules($propertySch, it.RULES.all)))) { + $required[$required.length] = $property; + } + } + } + } else { + var $required = $schema; + } + } + if ($isData || $required.length) { + var $currentErrorPath = it.errorPath, $loopRequired = $isData || $required.length >= it.opts.loopRequired, $ownProperties = it.opts.ownProperties; + if ($breakOnError) { + out += " var missing" + $lvl + "; "; + if ($loopRequired) { + if (!$isData) { + out += " var " + $vSchema + " = validate.schema" + $schemaPath + "; "; + } + var $i = "i" + $lvl, $propertyPath = "schema" + $lvl + "[" + $i + "]", $missingProperty = "' + " + $propertyPath + " + '"; + if (it.opts._errorDataPathProperty) { + it.errorPath = it.util.getPathExpr($currentErrorPath, $propertyPath, it.opts.jsonPointers); + } + out += " var " + $valid + " = true; "; + if ($isData) { + out += " if (schema" + $lvl + " === undefined) " + $valid + " = true; else if (!Array.isArray(schema" + $lvl + ")) " + $valid + " = false; else {"; + } + out += " for (var " + $i + " = 0; " + $i + " < " + $vSchema + ".length; " + $i + "++) { " + $valid + " = " + $data + "[" + $vSchema + "[" + $i + "]] !== undefined "; + if ($ownProperties) { + out += " && Object.prototype.hasOwnProperty.call(" + $data + ", " + $vSchema + "[" + $i + "]) "; + } + out += "; if (!" + $valid + ") break; } "; + if ($isData) { + out += " } "; + } + out += " if (!" + $valid + ") { "; + var $$outStack = $$outStack || []; + $$outStack.push(out); + out = ""; + if (it.createErrors !== false) { + out += " { keyword: 'required' , dataPath: (dataPath || '') + " + it.errorPath + " , schemaPath: " + it.util.toQuotedString($errSchemaPath) + " , params: { missingProperty: '" + $missingProperty + "' } "; + if (it.opts.messages !== false) { + out += " , message: '"; + if (it.opts._errorDataPathProperty) { + out += "is a required property"; + } else { + out += "should have required property \\'" + $missingProperty + "\\'"; + } + out += "' "; + } + if (it.opts.verbose) { + out += " , schema: validate.schema" + $schemaPath + " , parentSchema: validate.schema" + it.schemaPath + " , data: " + $data + " "; + } + out += " } "; + } else { + out += " {} "; + } + var __err = out; + out = $$outStack.pop(); + if (!it.compositeRule && $breakOnError) { + if (it.async) { + out += " throw new ValidationError([" + __err + "]); "; + } else { + out += " validate.errors = [" + __err + "]; return false; "; + } + } else { + out += " var err = " + __err + "; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; "; + } + out += " } else { "; + } else { + out += " if ( "; + var arr2 = $required; + if (arr2) { + var $propertyKey, $i = -1, l2 = arr2.length - 1; + while ($i < l2) { + $propertyKey = arr2[$i += 1]; + if ($i) { + out += " || "; + } + var $prop = it.util.getProperty($propertyKey), $useData = $data + $prop; + out += " ( ( " + $useData + " === undefined "; + if ($ownProperties) { + out += " || ! Object.prototype.hasOwnProperty.call(" + $data + ", '" + it.util.escapeQuotes($propertyKey) + "') "; + } + out += ") && (missing" + $lvl + " = " + it.util.toQuotedString(it.opts.jsonPointers ? $propertyKey : $prop) + ") ) "; + } + } + out += ") { "; + var $propertyPath = "missing" + $lvl, $missingProperty = "' + " + $propertyPath + " + '"; + if (it.opts._errorDataPathProperty) { + it.errorPath = it.opts.jsonPointers ? it.util.getPathExpr($currentErrorPath, $propertyPath, true) : $currentErrorPath + " + " + $propertyPath; + } + var $$outStack = $$outStack || []; + $$outStack.push(out); + out = ""; + if (it.createErrors !== false) { + out += " { keyword: 'required' , dataPath: (dataPath || '') + " + it.errorPath + " , schemaPath: " + it.util.toQuotedString($errSchemaPath) + " , params: { missingProperty: '" + $missingProperty + "' } "; + if (it.opts.messages !== false) { + out += " , message: '"; + if (it.opts._errorDataPathProperty) { + out += "is a required property"; + } else { + out += "should have required property \\'" + $missingProperty + "\\'"; + } + out += "' "; + } + if (it.opts.verbose) { + out += " , schema: validate.schema" + $schemaPath + " , parentSchema: validate.schema" + it.schemaPath + " , data: " + $data + " "; + } + out += " } "; + } else { + out += " {} "; + } + var __err = out; + out = $$outStack.pop(); + if (!it.compositeRule && $breakOnError) { + if (it.async) { + out += " throw new ValidationError([" + __err + "]); "; + } else { + out += " validate.errors = [" + __err + "]; return false; "; + } + } else { + out += " var err = " + __err + "; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; "; + } + out += " } else { "; + } + } else { + if ($loopRequired) { + if (!$isData) { + out += " var " + $vSchema + " = validate.schema" + $schemaPath + "; "; + } + var $i = "i" + $lvl, $propertyPath = "schema" + $lvl + "[" + $i + "]", $missingProperty = "' + " + $propertyPath + " + '"; + if (it.opts._errorDataPathProperty) { + it.errorPath = it.util.getPathExpr($currentErrorPath, $propertyPath, it.opts.jsonPointers); + } + if ($isData) { + out += " if (" + $vSchema + " && !Array.isArray(" + $vSchema + ")) { var err = "; + if (it.createErrors !== false) { + out += " { keyword: 'required' , dataPath: (dataPath || '') + " + it.errorPath + " , schemaPath: " + it.util.toQuotedString($errSchemaPath) + " , params: { missingProperty: '" + $missingProperty + "' } "; + if (it.opts.messages !== false) { + out += " , message: '"; + if (it.opts._errorDataPathProperty) { + out += "is a required property"; + } else { + out += "should have required property \\'" + $missingProperty + "\\'"; + } + out += "' "; + } + if (it.opts.verbose) { + out += " , schema: validate.schema" + $schemaPath + " , parentSchema: validate.schema" + it.schemaPath + " , data: " + $data + " "; + } + out += " } "; + } else { + out += " {} "; + } + out += "; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; } else if (" + $vSchema + " !== undefined) { "; + } + out += " for (var " + $i + " = 0; " + $i + " < " + $vSchema + ".length; " + $i + "++) { if (" + $data + "[" + $vSchema + "[" + $i + "]] === undefined "; + if ($ownProperties) { + out += " || ! Object.prototype.hasOwnProperty.call(" + $data + ", " + $vSchema + "[" + $i + "]) "; + } + out += ") { var err = "; + if (it.createErrors !== false) { + out += " { keyword: 'required' , dataPath: (dataPath || '') + " + it.errorPath + " , schemaPath: " + it.util.toQuotedString($errSchemaPath) + " , params: { missingProperty: '" + $missingProperty + "' } "; + if (it.opts.messages !== false) { + out += " , message: '"; + if (it.opts._errorDataPathProperty) { + out += "is a required property"; + } else { + out += "should have required property \\'" + $missingProperty + "\\'"; + } + out += "' "; + } + if (it.opts.verbose) { + out += " , schema: validate.schema" + $schemaPath + " , parentSchema: validate.schema" + it.schemaPath + " , data: " + $data + " "; + } + out += " } "; + } else { + out += " {} "; + } + out += "; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; } } "; + if ($isData) { + out += " } "; + } + } else { + var arr3 = $required; + if (arr3) { + var $propertyKey, i3 = -1, l3 = arr3.length - 1; + while (i3 < l3) { + $propertyKey = arr3[i3 += 1]; + var $prop = it.util.getProperty($propertyKey), $missingProperty = it.util.escapeQuotes($propertyKey), $useData = $data + $prop; + if (it.opts._errorDataPathProperty) { + it.errorPath = it.util.getPath($currentErrorPath, $propertyKey, it.opts.jsonPointers); + } + out += " if ( " + $useData + " === undefined "; + if ($ownProperties) { + out += " || ! Object.prototype.hasOwnProperty.call(" + $data + ", '" + it.util.escapeQuotes($propertyKey) + "') "; + } + out += ") { var err = "; + if (it.createErrors !== false) { + out += " { keyword: 'required' , dataPath: (dataPath || '') + " + it.errorPath + " , schemaPath: " + it.util.toQuotedString($errSchemaPath) + " , params: { missingProperty: '" + $missingProperty + "' } "; + if (it.opts.messages !== false) { + out += " , message: '"; + if (it.opts._errorDataPathProperty) { + out += "is a required property"; + } else { + out += "should have required property \\'" + $missingProperty + "\\'"; + } + out += "' "; + } + if (it.opts.verbose) { + out += " , schema: validate.schema" + $schemaPath + " , parentSchema: validate.schema" + it.schemaPath + " , data: " + $data + " "; + } + out += " } "; + } else { + out += " {} "; + } + out += "; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; } "; + } + } + } + } + it.errorPath = $currentErrorPath; + } else if ($breakOnError) { + out += " if (true) {"; + } + return out; + }; + } +}); + +// node_modules/ajv/lib/dotjs/uniqueItems.js +var require_uniqueItems = __commonJS({ + "node_modules/ajv/lib/dotjs/uniqueItems.js"(exports2, module2) { + "use strict"; + module2.exports = function generate_uniqueItems(it, $keyword, $ruleType) { + var out = " "; + var $lvl = it.level; + var $dataLvl = it.dataLevel; + var $schema = it.schema[$keyword]; + var $schemaPath = it.schemaPath + it.util.getProperty($keyword); + var $errSchemaPath = it.errSchemaPath + "/" + $keyword; + var $breakOnError = !it.opts.allErrors; + var $data = "data" + ($dataLvl || ""); + var $valid = "valid" + $lvl; + var $isData = it.opts.$data && $schema && $schema.$data, $schemaValue; + if ($isData) { + out += " var schema" + $lvl + " = " + it.util.getData($schema.$data, $dataLvl, it.dataPathArr) + "; "; + $schemaValue = "schema" + $lvl; + } else { + $schemaValue = $schema; + } + if (($schema || $isData) && it.opts.uniqueItems !== false) { + if ($isData) { + out += " var " + $valid + "; if (" + $schemaValue + " === false || " + $schemaValue + " === undefined) " + $valid + " = true; else if (typeof " + $schemaValue + " != 'boolean') " + $valid + " = false; else { "; + } + out += " var i = " + $data + ".length , " + $valid + " = true , j; if (i > 1) { "; + var $itemType = it.schema.items && it.schema.items.type, $typeIsArray = Array.isArray($itemType); + if (!$itemType || $itemType == "object" || $itemType == "array" || $typeIsArray && ($itemType.indexOf("object") >= 0 || $itemType.indexOf("array") >= 0)) { + out += " outer: for (;i--;) { for (j = i; j--;) { if (equal(" + $data + "[i], " + $data + "[j])) { " + $valid + " = false; break outer; } } } "; + } else { + out += " var itemIndices = {}, item; for (;i--;) { var item = " + $data + "[i]; "; + var $method = "checkDataType" + ($typeIsArray ? "s" : ""); + out += " if (" + it.util[$method]($itemType, "item", it.opts.strictNumbers, true) + ") continue; "; + if ($typeIsArray) { + out += ` if (typeof item == 'string') item = '"' + item; `; + } + out += " if (typeof itemIndices[item] == 'number') { " + $valid + " = false; j = itemIndices[item]; break; } itemIndices[item] = i; } "; + } + out += " } "; + if ($isData) { + out += " } "; + } + out += " if (!" + $valid + ") { "; + var $$outStack = $$outStack || []; + $$outStack.push(out); + out = ""; + if (it.createErrors !== false) { + out += " { keyword: 'uniqueItems' , dataPath: (dataPath || '') + " + it.errorPath + " , schemaPath: " + it.util.toQuotedString($errSchemaPath) + " , params: { i: i, j: j } "; + if (it.opts.messages !== false) { + out += " , message: 'should NOT have duplicate items (items ## ' + j + ' and ' + i + ' are identical)' "; + } + if (it.opts.verbose) { + out += " , schema: "; + if ($isData) { + out += "validate.schema" + $schemaPath; + } else { + out += "" + $schema; + } + out += " , parentSchema: validate.schema" + it.schemaPath + " , data: " + $data + " "; + } + out += " } "; + } else { + out += " {} "; + } + var __err = out; + out = $$outStack.pop(); + if (!it.compositeRule && $breakOnError) { + if (it.async) { + out += " throw new ValidationError([" + __err + "]); "; + } else { + out += " validate.errors = [" + __err + "]; return false; "; + } + } else { + out += " var err = " + __err + "; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; "; + } + out += " } "; + if ($breakOnError) { + out += " else { "; + } + } else { + if ($breakOnError) { + out += " if (true) { "; + } + } + return out; + }; + } +}); + +// node_modules/ajv/lib/dotjs/index.js +var require_dotjs = __commonJS({ + "node_modules/ajv/lib/dotjs/index.js"(exports2, module2) { + "use strict"; + module2.exports = { + "$ref": require_ref(), + allOf: require_allOf(), + anyOf: require_anyOf(), + "$comment": require_comment(), + const: require_const(), + contains: require_contains(), + dependencies: require_dependencies(), + "enum": require_enum(), + format: require_format(), + "if": require_if(), + items: require_items(), + maximum: require_limit(), + minimum: require_limit(), + maxItems: require_limitItems(), + minItems: require_limitItems(), + maxLength: require_limitLength(), + minLength: require_limitLength(), + maxProperties: require_limitProperties(), + minProperties: require_limitProperties(), + multipleOf: require_multipleOf(), + not: require_not(), + oneOf: require_oneOf(), + pattern: require_pattern(), + properties: require_properties(), + propertyNames: require_propertyNames(), + required: require_required(), + uniqueItems: require_uniqueItems(), + validate: require_validate() + }; + } +}); + +// node_modules/ajv/lib/compile/rules.js +var require_rules = __commonJS({ + "node_modules/ajv/lib/compile/rules.js"(exports2, module2) { + "use strict"; + var ruleModules = require_dotjs(); + var toHash = require_util().toHash; + module2.exports = function rules() { + var RULES = [ + { + type: "number", + rules: [ + { "maximum": ["exclusiveMaximum"] }, + { "minimum": ["exclusiveMinimum"] }, + "multipleOf", + "format" + ] + }, + { + type: "string", + rules: ["maxLength", "minLength", "pattern", "format"] + }, + { + type: "array", + rules: ["maxItems", "minItems", "items", "contains", "uniqueItems"] + }, + { + type: "object", + rules: [ + "maxProperties", + "minProperties", + "required", + "dependencies", + "propertyNames", + { "properties": ["additionalProperties", "patternProperties"] } + ] + }, + { rules: ["$ref", "const", "enum", "not", "anyOf", "oneOf", "allOf", "if"] } + ]; + var ALL = ["type", "$comment"]; + var KEYWORDS = [ + "$schema", + "$id", + "id", + "$data", + "$async", + "title", + "description", + "default", + "definitions", + "examples", + "readOnly", + "writeOnly", + "contentMediaType", + "contentEncoding", + "additionalItems", + "then", + "else" + ]; + var TYPES = ["number", "integer", "string", "array", "object", "boolean", "null"]; + RULES.all = toHash(ALL); + RULES.types = toHash(TYPES); + RULES.forEach(function(group) { + group.rules = group.rules.map(function(keyword) { + var implKeywords; + if (typeof keyword == "object") { + var key = Object.keys(keyword)[0]; + implKeywords = keyword[key]; + keyword = key; + implKeywords.forEach(function(k) { + ALL.push(k); + RULES.all[k] = true; + }); + } + ALL.push(keyword); + var rule = RULES.all[keyword] = { + keyword, + code: ruleModules[keyword], + implements: implKeywords + }; + return rule; + }); + RULES.all.$comment = { + keyword: "$comment", + code: ruleModules.$comment + }; + if (group.type) RULES.types[group.type] = group; + }); + RULES.keywords = toHash(ALL.concat(KEYWORDS)); + RULES.custom = {}; + return RULES; + }; + } +}); + +// node_modules/ajv/lib/data.js +var require_data = __commonJS({ + "node_modules/ajv/lib/data.js"(exports2, module2) { + "use strict"; + var KEYWORDS = [ + "multipleOf", + "maximum", + "exclusiveMaximum", + "minimum", + "exclusiveMinimum", + "maxLength", + "minLength", + "pattern", + "additionalItems", + "maxItems", + "minItems", + "uniqueItems", + "maxProperties", + "minProperties", + "required", + "additionalProperties", + "enum", + "format", + "const" + ]; + module2.exports = function(metaSchema, keywordsJsonPointers) { + for (var i = 0; i < keywordsJsonPointers.length; i++) { + metaSchema = JSON.parse(JSON.stringify(metaSchema)); + var segments = keywordsJsonPointers[i].split("/"); + var keywords = metaSchema; + var j; + for (j = 1; j < segments.length; j++) + keywords = keywords[segments[j]]; + for (j = 0; j < KEYWORDS.length; j++) { + var key = KEYWORDS[j]; + var schema = keywords[key]; + if (schema) { + keywords[key] = { + anyOf: [ + schema, + { $ref: "https://raw.githubusercontent.com/ajv-validator/ajv/master/lib/refs/data.json#" } + ] + }; + } + } + } + return metaSchema; + }; + } +}); + +// node_modules/ajv/lib/compile/async.js +var require_async = __commonJS({ + "node_modules/ajv/lib/compile/async.js"(exports2, module2) { + "use strict"; + var MissingRefError = require_error_classes().MissingRef; + module2.exports = compileAsync; + function compileAsync(schema, meta, callback) { + var self2 = this; + if (typeof this._opts.loadSchema != "function") + throw new Error("options.loadSchema should be a function"); + if (typeof meta == "function") { + callback = meta; + meta = void 0; + } + var p = loadMetaSchemaOf(schema).then(function() { + var schemaObj = self2._addSchema(schema, void 0, meta); + return schemaObj.validate || _compileAsync(schemaObj); + }); + if (callback) { + p.then( + function(v) { + callback(null, v); + }, + callback + ); + } + return p; + function loadMetaSchemaOf(sch) { + var $schema = sch.$schema; + return $schema && !self2.getSchema($schema) ? compileAsync.call(self2, { $ref: $schema }, true) : Promise.resolve(); + } + function _compileAsync(schemaObj) { + try { + return self2._compile(schemaObj); + } catch (e) { + if (e instanceof MissingRefError) return loadMissingSchema(e); + throw e; + } + function loadMissingSchema(e) { + var ref = e.missingSchema; + if (added(ref)) throw new Error("Schema " + ref + " is loaded but " + e.missingRef + " cannot be resolved"); + var schemaPromise = self2._loadingSchemas[ref]; + if (!schemaPromise) { + schemaPromise = self2._loadingSchemas[ref] = self2._opts.loadSchema(ref); + schemaPromise.then(removePromise, removePromise); + } + return schemaPromise.then(function(sch) { + if (!added(ref)) { + return loadMetaSchemaOf(sch).then(function() { + if (!added(ref)) self2.addSchema(sch, ref, void 0, meta); + }); + } + }).then(function() { + return _compileAsync(schemaObj); + }); + function removePromise() { + delete self2._loadingSchemas[ref]; + } + function added(ref2) { + return self2._refs[ref2] || self2._schemas[ref2]; + } + } + } + } + } +}); + +// node_modules/ajv/lib/dotjs/custom.js +var require_custom = __commonJS({ + "node_modules/ajv/lib/dotjs/custom.js"(exports2, module2) { + "use strict"; + module2.exports = function generate_custom(it, $keyword, $ruleType) { + var out = " "; + var $lvl = it.level; + var $dataLvl = it.dataLevel; + var $schema = it.schema[$keyword]; + var $schemaPath = it.schemaPath + it.util.getProperty($keyword); + var $errSchemaPath = it.errSchemaPath + "/" + $keyword; + var $breakOnError = !it.opts.allErrors; + var $errorKeyword; + var $data = "data" + ($dataLvl || ""); + var $valid = "valid" + $lvl; + var $errs = "errs__" + $lvl; + var $isData = it.opts.$data && $schema && $schema.$data, $schemaValue; + if ($isData) { + out += " var schema" + $lvl + " = " + it.util.getData($schema.$data, $dataLvl, it.dataPathArr) + "; "; + $schemaValue = "schema" + $lvl; + } else { + $schemaValue = $schema; + } + var $rule = this, $definition = "definition" + $lvl, $rDef = $rule.definition, $closingBraces = ""; + var $compile, $inline, $macro, $ruleValidate, $validateCode; + if ($isData && $rDef.$data) { + $validateCode = "keywordValidate" + $lvl; + var $validateSchema = $rDef.validateSchema; + out += " var " + $definition + " = RULES.custom['" + $keyword + "'].definition; var " + $validateCode + " = " + $definition + ".validate;"; + } else { + $ruleValidate = it.useCustomRule($rule, $schema, it.schema, it); + if (!$ruleValidate) return; + $schemaValue = "validate.schema" + $schemaPath; + $validateCode = $ruleValidate.code; + $compile = $rDef.compile; + $inline = $rDef.inline; + $macro = $rDef.macro; + } + var $ruleErrs = $validateCode + ".errors", $i = "i" + $lvl, $ruleErr = "ruleErr" + $lvl, $asyncKeyword = $rDef.async; + if ($asyncKeyword && !it.async) throw new Error("async keyword in sync schema"); + if (!($inline || $macro)) { + out += "" + $ruleErrs + " = null;"; + } + out += "var " + $errs + " = errors;var " + $valid + ";"; + if ($isData && $rDef.$data) { + $closingBraces += "}"; + out += " if (" + $schemaValue + " === undefined) { " + $valid + " = true; } else { "; + if ($validateSchema) { + $closingBraces += "}"; + out += " " + $valid + " = " + $definition + ".validateSchema(" + $schemaValue + "); if (" + $valid + ") { "; + } + } + if ($inline) { + if ($rDef.statements) { + out += " " + $ruleValidate.validate + " "; + } else { + out += " " + $valid + " = " + $ruleValidate.validate + "; "; + } + } else if ($macro) { + var $it = it.util.copy(it); + var $closingBraces = ""; + $it.level++; + var $nextValid = "valid" + $it.level; + $it.schema = $ruleValidate.validate; + $it.schemaPath = ""; + var $wasComposite = it.compositeRule; + it.compositeRule = $it.compositeRule = true; + var $code = it.validate($it).replace(/validate\.schema/g, $validateCode); + it.compositeRule = $it.compositeRule = $wasComposite; + out += " " + $code; + } else { + var $$outStack = $$outStack || []; + $$outStack.push(out); + out = ""; + out += " " + $validateCode + ".call( "; + if (it.opts.passContext) { + out += "this"; + } else { + out += "self"; + } + if ($compile || $rDef.schema === false) { + out += " , " + $data + " "; + } else { + out += " , " + $schemaValue + " , " + $data + " , validate.schema" + it.schemaPath + " "; + } + out += " , (dataPath || '')"; + if (it.errorPath != '""') { + out += " + " + it.errorPath; + } + var $parentData = $dataLvl ? "data" + ($dataLvl - 1 || "") : "parentData", $parentDataProperty = $dataLvl ? it.dataPathArr[$dataLvl] : "parentDataProperty"; + out += " , " + $parentData + " , " + $parentDataProperty + " , rootData ) "; + var def_callRuleValidate = out; + out = $$outStack.pop(); + if ($rDef.errors === false) { + out += " " + $valid + " = "; + if ($asyncKeyword) { + out += "await "; + } + out += "" + def_callRuleValidate + "; "; + } else { + if ($asyncKeyword) { + $ruleErrs = "customErrors" + $lvl; + out += " var " + $ruleErrs + " = null; try { " + $valid + " = await " + def_callRuleValidate + "; } catch (e) { " + $valid + " = false; if (e instanceof ValidationError) " + $ruleErrs + " = e.errors; else throw e; } "; + } else { + out += " " + $ruleErrs + " = null; " + $valid + " = " + def_callRuleValidate + "; "; + } + } + } + if ($rDef.modifying) { + out += " if (" + $parentData + ") " + $data + " = " + $parentData + "[" + $parentDataProperty + "];"; + } + out += "" + $closingBraces; + if ($rDef.valid) { + if ($breakOnError) { + out += " if (true) { "; + } + } else { + out += " if ( "; + if ($rDef.valid === void 0) { + out += " !"; + if ($macro) { + out += "" + $nextValid; + } else { + out += "" + $valid; + } + } else { + out += " " + !$rDef.valid + " "; + } + out += ") { "; + $errorKeyword = $rule.keyword; + var $$outStack = $$outStack || []; + $$outStack.push(out); + out = ""; + var $$outStack = $$outStack || []; + $$outStack.push(out); + out = ""; + if (it.createErrors !== false) { + out += " { keyword: '" + ($errorKeyword || "custom") + "' , dataPath: (dataPath || '') + " + it.errorPath + " , schemaPath: " + it.util.toQuotedString($errSchemaPath) + " , params: { keyword: '" + $rule.keyword + "' } "; + if (it.opts.messages !== false) { + out += ` , message: 'should pass "` + $rule.keyword + `" keyword validation' `; + } + if (it.opts.verbose) { + out += " , schema: validate.schema" + $schemaPath + " , parentSchema: validate.schema" + it.schemaPath + " , data: " + $data + " "; + } + out += " } "; + } else { + out += " {} "; + } + var __err = out; + out = $$outStack.pop(); + if (!it.compositeRule && $breakOnError) { + if (it.async) { + out += " throw new ValidationError([" + __err + "]); "; + } else { + out += " validate.errors = [" + __err + "]; return false; "; + } + } else { + out += " var err = " + __err + "; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; "; + } + var def_customError = out; + out = $$outStack.pop(); + if ($inline) { + if ($rDef.errors) { + if ($rDef.errors != "full") { + out += " for (var " + $i + "=" + $errs + "; " + $i + " [level, index])); + this.isMessageIgnored = (level, sessionId) => { + const currentLevel = this._loggingLevels.get(sessionId); + return currentLevel ? this.LOG_LEVEL_SEVERITY.get(level) < this.LOG_LEVEL_SEVERITY.get(currentLevel) : false; + }; + this._capabilities = (_a = options === null || options === void 0 ? void 0 : options.capabilities) !== null && _a !== void 0 ? _a : {}; + this._instructions = options === null || options === void 0 ? void 0 : options.instructions; + this.setRequestHandler(InitializeRequestSchema, (request) => this._oninitialize(request)); + this.setNotificationHandler(InitializedNotificationSchema, () => { + var _a2; + return (_a2 = this.oninitialized) === null || _a2 === void 0 ? void 0 : _a2.call(this); + }); + if (this._capabilities.logging) { + this.setRequestHandler(SetLevelRequestSchema, async (request, extra) => { + var _a2; + const transportSessionId = extra.sessionId || ((_a2 = extra.requestInfo) === null || _a2 === void 0 ? void 0 : _a2.headers["mcp-session-id"]) || void 0; + const { level } = request.params; + const parseResult = LoggingLevelSchema.safeParse(level); + if (transportSessionId && parseResult.success) { + this._loggingLevels.set(transportSessionId, parseResult.data); + } + return {}; + }); + } + } + /** + * Registers new capabilities. This can only be called before connecting to a transport. + * + * The new capabilities will be merged with any existing capabilities previously given (e.g., at initialization). + */ + registerCapabilities(capabilities) { + if (this.transport) { + throw new Error("Cannot register capabilities after connecting to transport"); + } + this._capabilities = mergeCapabilities(this._capabilities, capabilities); + } + assertCapabilityForMethod(method) { + var _a, _b, _c; + switch (method) { + case "sampling/createMessage": + if (!((_a = this._clientCapabilities) === null || _a === void 0 ? void 0 : _a.sampling)) { + throw new Error(`Client does not support sampling (required for ${method})`); + } + break; + case "elicitation/create": + if (!((_b = this._clientCapabilities) === null || _b === void 0 ? void 0 : _b.elicitation)) { + throw new Error(`Client does not support elicitation (required for ${method})`); + } + break; + case "roots/list": + if (!((_c = this._clientCapabilities) === null || _c === void 0 ? void 0 : _c.roots)) { + throw new Error(`Client does not support listing roots (required for ${method})`); + } + break; + case "ping": + break; + } + } + assertNotificationCapability(method) { + switch (method) { + case "notifications/message": + if (!this._capabilities.logging) { + throw new Error(`Server does not support logging (required for ${method})`); + } + break; + case "notifications/resources/updated": + case "notifications/resources/list_changed": + if (!this._capabilities.resources) { + throw new Error(`Server does not support notifying about resources (required for ${method})`); + } + break; + case "notifications/tools/list_changed": + if (!this._capabilities.tools) { + throw new Error(`Server does not support notifying of tool list changes (required for ${method})`); + } + break; + case "notifications/prompts/list_changed": + if (!this._capabilities.prompts) { + throw new Error(`Server does not support notifying of prompt list changes (required for ${method})`); + } + break; + case "notifications/cancelled": + break; + case "notifications/progress": + break; + } + } + assertRequestHandlerCapability(method) { + switch (method) { + case "sampling/createMessage": + if (!this._capabilities.sampling) { + throw new Error(`Server does not support sampling (required for ${method})`); + } + break; + case "logging/setLevel": + if (!this._capabilities.logging) { + throw new Error(`Server does not support logging (required for ${method})`); + } + break; + case "prompts/get": + case "prompts/list": + if (!this._capabilities.prompts) { + throw new Error(`Server does not support prompts (required for ${method})`); + } + break; + case "resources/list": + case "resources/templates/list": + case "resources/read": + if (!this._capabilities.resources) { + throw new Error(`Server does not support resources (required for ${method})`); + } + break; + case "tools/call": + case "tools/list": + if (!this._capabilities.tools) { + throw new Error(`Server does not support tools (required for ${method})`); + } + break; + case "ping": + case "initialize": + break; + } + } + async _oninitialize(request) { + const requestedVersion = request.params.protocolVersion; + this._clientCapabilities = request.params.capabilities; + this._clientVersion = request.params.clientInfo; + const protocolVersion = SUPPORTED_PROTOCOL_VERSIONS.includes(requestedVersion) ? requestedVersion : LATEST_PROTOCOL_VERSION; + return { + protocolVersion, + capabilities: this.getCapabilities(), + serverInfo: this._serverInfo, + ...this._instructions && { instructions: this._instructions } + }; + } + /** + * After initialization has completed, this will be populated with the client's reported capabilities. + */ + getClientCapabilities() { + return this._clientCapabilities; + } + /** + * After initialization has completed, this will be populated with information about the client's name and version. + */ + getClientVersion() { + return this._clientVersion; + } + getCapabilities() { + return this._capabilities; + } + async ping() { + return this.request({ method: "ping" }, EmptyResultSchema); + } + async createMessage(params, options) { + return this.request({ method: "sampling/createMessage", params }, CreateMessageResultSchema, options); + } + async elicitInput(params, options) { + const result = await this.request({ method: "elicitation/create", params }, ElicitResultSchema, options); + if (result.action === "accept" && result.content) { + try { + const ajv = new import_ajv.default(); + const validate = ajv.compile(params.requestedSchema); + const isValid3 = validate(result.content); + if (!isValid3) { + throw new McpError(ErrorCode.InvalidParams, `Elicitation response content does not match requested schema: ${ajv.errorsText(validate.errors)}`); + } + } catch (error) { + if (error instanceof McpError) { + throw error; + } + throw new McpError(ErrorCode.InternalError, `Error validating elicitation response: ${error}`); + } + } + return result; + } + async listRoots(params, options) { + return this.request({ method: "roots/list", params }, ListRootsResultSchema, options); + } + /** + * Sends a logging message to the client, if connected. + * Note: You only need to send the parameters object, not the entire JSON RPC message + * @see LoggingMessageNotification + * @param params + * @param sessionId optional for stateless and backward compatibility + */ + async sendLoggingMessage(params, sessionId) { + if (this._capabilities.logging) { + if (!sessionId || !this.isMessageIgnored(params.level, sessionId)) { + return this.notification({ method: "notifications/message", params }); + } + } + } + async sendResourceUpdated(params) { + return this.notification({ + method: "notifications/resources/updated", + params + }); + } + async sendResourceListChanged() { + return this.notification({ + method: "notifications/resources/list_changed" + }); + } + async sendToolListChanged() { + return this.notification({ method: "notifications/tools/list_changed" }); + } + async sendPromptListChanged() { + return this.notification({ method: "notifications/prompts/list_changed" }); + } + }; + } +}); + +// node_modules/zod-to-json-schema/dist/esm/Options.js +var ignoreOverride, defaultOptions, getDefaultOptions; +var init_Options = __esm({ + "node_modules/zod-to-json-schema/dist/esm/Options.js"() { + ignoreOverride = Symbol("Let zodToJsonSchema decide on which parser to use"); + defaultOptions = { + name: void 0, + $refStrategy: "root", + basePath: ["#"], + effectStrategy: "input", + pipeStrategy: "all", + dateStrategy: "format:date-time", + mapStrategy: "entries", + removeAdditionalStrategy: "passthrough", + allowedAdditionalProperties: true, + rejectedAdditionalProperties: false, + definitionPath: "definitions", + target: "jsonSchema7", + strictUnions: false, + definitions: {}, + errorMessages: false, + markdownDescription: false, + patternStrategy: "escape", + applyRegexFlags: false, + emailStrategy: "format:email", + base64Strategy: "contentEncoding:base64", + nameStrategy: "ref", + openAiAnyTypeName: "OpenAiAnyType" + }; + getDefaultOptions = (options) => typeof options === "string" ? { + ...defaultOptions, + name: options + } : { + ...defaultOptions, + ...options + }; + } +}); + +// node_modules/zod-to-json-schema/dist/esm/Refs.js +var getRefs; +var init_Refs = __esm({ + "node_modules/zod-to-json-schema/dist/esm/Refs.js"() { + init_Options(); + getRefs = (options) => { + const _options = getDefaultOptions(options); + const currentPath = _options.name !== void 0 ? [..._options.basePath, _options.definitionPath, _options.name] : _options.basePath; + return { + ..._options, + flags: { hasReferencedOpenAiAnyType: false }, + currentPath, + propertyPath: void 0, + seen: new Map(Object.entries(_options.definitions).map(([name, def]) => [ + def._def, + { + def: def._def, + path: [..._options.basePath, _options.definitionPath, name], + // Resolution of references will be forced even though seen, so it's ok that the schema is undefined here for now. + jsonSchema: void 0 + } + ])) + }; + }; + } +}); + +// node_modules/zod-to-json-schema/dist/esm/errorMessages.js +function addErrorMessage(res, key, errorMessage, refs) { + if (!refs?.errorMessages) + return; + if (errorMessage) { + res.errorMessage = { + ...res.errorMessage, + [key]: errorMessage + }; + } +} +function setResponseValueAndErrors(res, key, value, errorMessage, refs) { + res[key] = value; + addErrorMessage(res, key, errorMessage, refs); +} +var init_errorMessages = __esm({ + "node_modules/zod-to-json-schema/dist/esm/errorMessages.js"() { + } +}); + +// node_modules/zod-to-json-schema/dist/esm/getRelativePath.js +var getRelativePath; +var init_getRelativePath = __esm({ + "node_modules/zod-to-json-schema/dist/esm/getRelativePath.js"() { + getRelativePath = (pathA, pathB) => { + let i = 0; + for (; i < pathA.length && i < pathB.length; i++) { + if (pathA[i] !== pathB[i]) + break; + } + return [(pathA.length - i).toString(), ...pathB.slice(i)].join("/"); + }; + } +}); + +// node_modules/zod-to-json-schema/dist/esm/parsers/any.js +function parseAnyDef(refs) { + if (refs.target !== "openAi") { + return {}; + } + const anyDefinitionPath = [ + ...refs.basePath, + refs.definitionPath, + refs.openAiAnyTypeName + ]; + refs.flags.hasReferencedOpenAiAnyType = true; + return { + $ref: refs.$refStrategy === "relative" ? getRelativePath(anyDefinitionPath, refs.currentPath) : anyDefinitionPath.join("/") + }; +} +var init_any = __esm({ + "node_modules/zod-to-json-schema/dist/esm/parsers/any.js"() { + init_getRelativePath(); + } +}); + +// node_modules/zod-to-json-schema/dist/esm/parsers/array.js +function parseArrayDef(def, refs) { + const res = { + type: "array" + }; + if (def.type?._def && def.type?._def?.typeName !== ZodFirstPartyTypeKind.ZodAny) { + res.items = parseDef(def.type._def, { + ...refs, + currentPath: [...refs.currentPath, "items"] + }); + } + if (def.minLength) { + setResponseValueAndErrors(res, "minItems", def.minLength.value, def.minLength.message, refs); + } + if (def.maxLength) { + setResponseValueAndErrors(res, "maxItems", def.maxLength.value, def.maxLength.message, refs); + } + if (def.exactLength) { + setResponseValueAndErrors(res, "minItems", def.exactLength.value, def.exactLength.message, refs); + setResponseValueAndErrors(res, "maxItems", def.exactLength.value, def.exactLength.message, refs); + } + return res; +} +var init_array = __esm({ + "node_modules/zod-to-json-schema/dist/esm/parsers/array.js"() { + init_zod(); + init_errorMessages(); + init_parseDef(); + } +}); + +// node_modules/zod-to-json-schema/dist/esm/parsers/bigint.js +function parseBigintDef(def, refs) { + const res = { + type: "integer", + format: "int64" + }; + if (!def.checks) + return res; + for (const check of def.checks) { + switch (check.kind) { + case "min": + if (refs.target === "jsonSchema7") { + if (check.inclusive) { + setResponseValueAndErrors(res, "minimum", check.value, check.message, refs); + } else { + setResponseValueAndErrors(res, "exclusiveMinimum", check.value, check.message, refs); + } + } else { + if (!check.inclusive) { + res.exclusiveMinimum = true; + } + setResponseValueAndErrors(res, "minimum", check.value, check.message, refs); + } + break; + case "max": + if (refs.target === "jsonSchema7") { + if (check.inclusive) { + setResponseValueAndErrors(res, "maximum", check.value, check.message, refs); + } else { + setResponseValueAndErrors(res, "exclusiveMaximum", check.value, check.message, refs); + } + } else { + if (!check.inclusive) { + res.exclusiveMaximum = true; + } + setResponseValueAndErrors(res, "maximum", check.value, check.message, refs); + } + break; + case "multipleOf": + setResponseValueAndErrors(res, "multipleOf", check.value, check.message, refs); + break; + } + } + return res; +} +var init_bigint = __esm({ + "node_modules/zod-to-json-schema/dist/esm/parsers/bigint.js"() { + init_errorMessages(); + } +}); + +// node_modules/zod-to-json-schema/dist/esm/parsers/boolean.js +function parseBooleanDef() { + return { + type: "boolean" + }; +} +var init_boolean = __esm({ + "node_modules/zod-to-json-schema/dist/esm/parsers/boolean.js"() { + } +}); + +// node_modules/zod-to-json-schema/dist/esm/parsers/branded.js +function parseBrandedDef(_def, refs) { + return parseDef(_def.type._def, refs); +} +var init_branded = __esm({ + "node_modules/zod-to-json-schema/dist/esm/parsers/branded.js"() { + init_parseDef(); + } +}); + +// node_modules/zod-to-json-schema/dist/esm/parsers/catch.js +var parseCatchDef; +var init_catch = __esm({ + "node_modules/zod-to-json-schema/dist/esm/parsers/catch.js"() { + init_parseDef(); + parseCatchDef = (def, refs) => { + return parseDef(def.innerType._def, refs); + }; + } +}); + +// node_modules/zod-to-json-schema/dist/esm/parsers/date.js +function parseDateDef(def, refs, overrideDateStrategy) { + const strategy = overrideDateStrategy ?? refs.dateStrategy; + if (Array.isArray(strategy)) { + return { + anyOf: strategy.map((item, i) => parseDateDef(def, refs, item)) + }; + } + switch (strategy) { + case "string": + case "format:date-time": + return { + type: "string", + format: "date-time" + }; + case "format:date": + return { + type: "string", + format: "date" + }; + case "integer": + return integerDateParser(def, refs); + } +} +var integerDateParser; +var init_date = __esm({ + "node_modules/zod-to-json-schema/dist/esm/parsers/date.js"() { + init_errorMessages(); + integerDateParser = (def, refs) => { + const res = { + type: "integer", + format: "unix-time" + }; + if (refs.target === "openApi3") { + return res; + } + for (const check of def.checks) { + switch (check.kind) { + case "min": + setResponseValueAndErrors( + res, + "minimum", + check.value, + // This is in milliseconds + check.message, + refs + ); + break; + case "max": + setResponseValueAndErrors( + res, + "maximum", + check.value, + // This is in milliseconds + check.message, + refs + ); + break; + } + } + return res; + }; + } +}); + +// node_modules/zod-to-json-schema/dist/esm/parsers/default.js +function parseDefaultDef(_def, refs) { + return { + ...parseDef(_def.innerType._def, refs), + default: _def.defaultValue() + }; +} +var init_default = __esm({ + "node_modules/zod-to-json-schema/dist/esm/parsers/default.js"() { + init_parseDef(); + } +}); + +// node_modules/zod-to-json-schema/dist/esm/parsers/effects.js +function parseEffectsDef(_def, refs) { + return refs.effectStrategy === "input" ? parseDef(_def.schema._def, refs) : parseAnyDef(refs); +} +var init_effects = __esm({ + "node_modules/zod-to-json-schema/dist/esm/parsers/effects.js"() { + init_parseDef(); + init_any(); + } +}); + +// node_modules/zod-to-json-schema/dist/esm/parsers/enum.js +function parseEnumDef(def) { + return { + type: "string", + enum: Array.from(def.values) + }; +} +var init_enum = __esm({ + "node_modules/zod-to-json-schema/dist/esm/parsers/enum.js"() { + } +}); + +// node_modules/zod-to-json-schema/dist/esm/parsers/intersection.js +function parseIntersectionDef(def, refs) { + const allOf = [ + parseDef(def.left._def, { + ...refs, + currentPath: [...refs.currentPath, "allOf", "0"] + }), + parseDef(def.right._def, { + ...refs, + currentPath: [...refs.currentPath, "allOf", "1"] + }) + ].filter((x) => !!x); + let unevaluatedProperties = refs.target === "jsonSchema2019-09" ? { unevaluatedProperties: false } : void 0; + const mergedAllOf = []; + allOf.forEach((schema) => { + if (isJsonSchema7AllOfType(schema)) { + mergedAllOf.push(...schema.allOf); + if (schema.unevaluatedProperties === void 0) { + unevaluatedProperties = void 0; + } + } else { + let nestedSchema = schema; + if ("additionalProperties" in schema && schema.additionalProperties === false) { + const { additionalProperties, ...rest } = schema; + nestedSchema = rest; + } else { + unevaluatedProperties = void 0; + } + mergedAllOf.push(nestedSchema); + } + }); + return mergedAllOf.length ? { + allOf: mergedAllOf, + ...unevaluatedProperties + } : void 0; +} +var isJsonSchema7AllOfType; +var init_intersection = __esm({ + "node_modules/zod-to-json-schema/dist/esm/parsers/intersection.js"() { + init_parseDef(); + isJsonSchema7AllOfType = (type) => { + if ("type" in type && type.type === "string") + return false; + return "allOf" in type; + }; + } +}); + +// node_modules/zod-to-json-schema/dist/esm/parsers/literal.js +function parseLiteralDef(def, refs) { + const parsedType = typeof def.value; + if (parsedType !== "bigint" && parsedType !== "number" && parsedType !== "boolean" && parsedType !== "string") { + return { + type: Array.isArray(def.value) ? "array" : "object" + }; + } + if (refs.target === "openApi3") { + return { + type: parsedType === "bigint" ? "integer" : parsedType, + enum: [def.value] + }; + } + return { + type: parsedType === "bigint" ? "integer" : parsedType, + const: def.value + }; +} +var init_literal = __esm({ + "node_modules/zod-to-json-schema/dist/esm/parsers/literal.js"() { + } +}); + +// node_modules/zod-to-json-schema/dist/esm/parsers/string.js +function parseStringDef(def, refs) { + const res = { + type: "string" + }; + if (def.checks) { + for (const check of def.checks) { + switch (check.kind) { + case "min": + setResponseValueAndErrors(res, "minLength", typeof res.minLength === "number" ? Math.max(res.minLength, check.value) : check.value, check.message, refs); + break; + case "max": + setResponseValueAndErrors(res, "maxLength", typeof res.maxLength === "number" ? Math.min(res.maxLength, check.value) : check.value, check.message, refs); + break; + case "email": + switch (refs.emailStrategy) { + case "format:email": + addFormat(res, "email", check.message, refs); + break; + case "format:idn-email": + addFormat(res, "idn-email", check.message, refs); + break; + case "pattern:zod": + addPattern(res, zodPatterns.email, check.message, refs); + break; + } + break; + case "url": + addFormat(res, "uri", check.message, refs); + break; + case "uuid": + addFormat(res, "uuid", check.message, refs); + break; + case "regex": + addPattern(res, check.regex, check.message, refs); + break; + case "cuid": + addPattern(res, zodPatterns.cuid, check.message, refs); + break; + case "cuid2": + addPattern(res, zodPatterns.cuid2, check.message, refs); + break; + case "startsWith": + addPattern(res, RegExp(`^${escapeLiteralCheckValue(check.value, refs)}`), check.message, refs); + break; + case "endsWith": + addPattern(res, RegExp(`${escapeLiteralCheckValue(check.value, refs)}$`), check.message, refs); + break; + case "datetime": + addFormat(res, "date-time", check.message, refs); + break; + case "date": + addFormat(res, "date", check.message, refs); + break; + case "time": + addFormat(res, "time", check.message, refs); + break; + case "duration": + addFormat(res, "duration", check.message, refs); + break; + case "length": + setResponseValueAndErrors(res, "minLength", typeof res.minLength === "number" ? Math.max(res.minLength, check.value) : check.value, check.message, refs); + setResponseValueAndErrors(res, "maxLength", typeof res.maxLength === "number" ? Math.min(res.maxLength, check.value) : check.value, check.message, refs); + break; + case "includes": { + addPattern(res, RegExp(escapeLiteralCheckValue(check.value, refs)), check.message, refs); + break; + } + case "ip": { + if (check.version !== "v6") { + addFormat(res, "ipv4", check.message, refs); + } + if (check.version !== "v4") { + addFormat(res, "ipv6", check.message, refs); + } + break; + } + case "base64url": + addPattern(res, zodPatterns.base64url, check.message, refs); + break; + case "jwt": + addPattern(res, zodPatterns.jwt, check.message, refs); + break; + case "cidr": { + if (check.version !== "v6") { + addPattern(res, zodPatterns.ipv4Cidr, check.message, refs); + } + if (check.version !== "v4") { + addPattern(res, zodPatterns.ipv6Cidr, check.message, refs); + } + break; + } + case "emoji": + addPattern(res, zodPatterns.emoji(), check.message, refs); + break; + case "ulid": { + addPattern(res, zodPatterns.ulid, check.message, refs); + break; + } + case "base64": { + switch (refs.base64Strategy) { + case "format:binary": { + addFormat(res, "binary", check.message, refs); + break; + } + case "contentEncoding:base64": { + setResponseValueAndErrors(res, "contentEncoding", "base64", check.message, refs); + break; + } + case "pattern:zod": { + addPattern(res, zodPatterns.base64, check.message, refs); + break; + } + } + break; + } + case "nanoid": { + addPattern(res, zodPatterns.nanoid, check.message, refs); + } + case "toLowerCase": + case "toUpperCase": + case "trim": + break; + default: + /* @__PURE__ */ ((_) => { + })(check); + } + } + } + return res; +} +function escapeLiteralCheckValue(literal, refs) { + return refs.patternStrategy === "escape" ? escapeNonAlphaNumeric(literal) : literal; +} +function escapeNonAlphaNumeric(source) { + let result = ""; + for (let i = 0; i < source.length; i++) { + if (!ALPHA_NUMERIC.has(source[i])) { + result += "\\"; + } + result += source[i]; + } + return result; +} +function addFormat(schema, value, message, refs) { + if (schema.format || schema.anyOf?.some((x) => x.format)) { + if (!schema.anyOf) { + schema.anyOf = []; + } + if (schema.format) { + schema.anyOf.push({ + format: schema.format, + ...schema.errorMessage && refs.errorMessages && { + errorMessage: { format: schema.errorMessage.format } + } + }); + delete schema.format; + if (schema.errorMessage) { + delete schema.errorMessage.format; + if (Object.keys(schema.errorMessage).length === 0) { + delete schema.errorMessage; + } + } + } + schema.anyOf.push({ + format: value, + ...message && refs.errorMessages && { errorMessage: { format: message } } + }); + } else { + setResponseValueAndErrors(schema, "format", value, message, refs); + } +} +function addPattern(schema, regex, message, refs) { + if (schema.pattern || schema.allOf?.some((x) => x.pattern)) { + if (!schema.allOf) { + schema.allOf = []; + } + if (schema.pattern) { + schema.allOf.push({ + pattern: schema.pattern, + ...schema.errorMessage && refs.errorMessages && { + errorMessage: { pattern: schema.errorMessage.pattern } + } + }); + delete schema.pattern; + if (schema.errorMessage) { + delete schema.errorMessage.pattern; + if (Object.keys(schema.errorMessage).length === 0) { + delete schema.errorMessage; + } + } + } + schema.allOf.push({ + pattern: stringifyRegExpWithFlags(regex, refs), + ...message && refs.errorMessages && { errorMessage: { pattern: message } } + }); + } else { + setResponseValueAndErrors(schema, "pattern", stringifyRegExpWithFlags(regex, refs), message, refs); + } +} +function stringifyRegExpWithFlags(regex, refs) { + if (!refs.applyRegexFlags || !regex.flags) { + return regex.source; + } + const flags = { + i: regex.flags.includes("i"), + m: regex.flags.includes("m"), + s: regex.flags.includes("s") + // `.` matches newlines + }; + const source = flags.i ? regex.source.toLowerCase() : regex.source; + let pattern = ""; + let isEscaped = false; + let inCharGroup = false; + let inCharRange = false; + for (let i = 0; i < source.length; i++) { + if (isEscaped) { + pattern += source[i]; + isEscaped = false; + continue; + } + if (flags.i) { + if (inCharGroup) { + if (source[i].match(/[a-z]/)) { + if (inCharRange) { + pattern += source[i]; + pattern += `${source[i - 2]}-${source[i]}`.toUpperCase(); + inCharRange = false; + } else if (source[i + 1] === "-" && source[i + 2]?.match(/[a-z]/)) { + pattern += source[i]; + inCharRange = true; + } else { + pattern += `${source[i]}${source[i].toUpperCase()}`; + } + continue; + } + } else if (source[i].match(/[a-z]/)) { + pattern += `[${source[i]}${source[i].toUpperCase()}]`; + continue; + } + } + if (flags.m) { + if (source[i] === "^") { + pattern += `(^|(?<=[\r +]))`; + continue; + } else if (source[i] === "$") { + pattern += `($|(?=[\r +]))`; + continue; + } + } + if (flags.s && source[i] === ".") { + pattern += inCharGroup ? `${source[i]}\r +` : `[${source[i]}\r +]`; + continue; + } + pattern += source[i]; + if (source[i] === "\\") { + isEscaped = true; + } else if (inCharGroup && source[i] === "]") { + inCharGroup = false; + } else if (!inCharGroup && source[i] === "[") { + inCharGroup = true; + } + } + try { + new RegExp(pattern); + } catch { + console.warn(`Could not convert regex pattern at ${refs.currentPath.join("/")} to a flag-independent form! Falling back to the flag-ignorant source`); + return regex.source; + } + return pattern; +} +var emojiRegex2, zodPatterns, ALPHA_NUMERIC; +var init_string = __esm({ + "node_modules/zod-to-json-schema/dist/esm/parsers/string.js"() { + init_errorMessages(); + emojiRegex2 = void 0; + zodPatterns = { + /** + * `c` was changed to `[cC]` to replicate /i flag + */ + cuid: /^[cC][^\s-]{8,}$/, + cuid2: /^[0-9a-z]+$/, + ulid: /^[0-9A-HJKMNP-TV-Z]{26}$/, + /** + * `a-z` was added to replicate /i flag + */ + email: /^(?!\.)(?!.*\.\.)([a-zA-Z0-9_'+\-\.]*)[a-zA-Z0-9_+-]@([a-zA-Z0-9][a-zA-Z0-9\-]*\.)+[a-zA-Z]{2,}$/, + /** + * Constructed a valid Unicode RegExp + * + * Lazily instantiate since this type of regex isn't supported + * in all envs (e.g. React Native). + * + * See: + * https://github.com/colinhacks/zod/issues/2433 + * Fix in Zod: + * https://github.com/colinhacks/zod/commit/9340fd51e48576a75adc919bff65dbc4a5d4c99b + */ + emoji: () => { + if (emojiRegex2 === void 0) { + emojiRegex2 = RegExp("^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$", "u"); + } + return emojiRegex2; + }, + /** + * Unused + */ + uuid: /^[0-9a-fA-F]{8}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{12}$/, + /** + * Unused + */ + ipv4: /^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])$/, + ipv4Cidr: /^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\/(3[0-2]|[12]?[0-9])$/, + /** + * Unused + */ + ipv6: /^(([a-f0-9]{1,4}:){7}|::([a-f0-9]{1,4}:){0,6}|([a-f0-9]{1,4}:){1}:([a-f0-9]{1,4}:){0,5}|([a-f0-9]{1,4}:){2}:([a-f0-9]{1,4}:){0,4}|([a-f0-9]{1,4}:){3}:([a-f0-9]{1,4}:){0,3}|([a-f0-9]{1,4}:){4}:([a-f0-9]{1,4}:){0,2}|([a-f0-9]{1,4}:){5}:([a-f0-9]{1,4}:){0,1})([a-f0-9]{1,4}|(((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2}))\.){3}((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2})))$/, + ipv6Cidr: /^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))\/(12[0-8]|1[01][0-9]|[1-9]?[0-9])$/, + base64: /^([0-9a-zA-Z+/]{4})*(([0-9a-zA-Z+/]{2}==)|([0-9a-zA-Z+/]{3}=))?$/, + base64url: /^([0-9a-zA-Z-_]{4})*(([0-9a-zA-Z-_]{2}(==)?)|([0-9a-zA-Z-_]{3}(=)?))?$/, + nanoid: /^[a-zA-Z0-9_-]{21}$/, + jwt: /^[A-Za-z0-9-_]+\.[A-Za-z0-9-_]+\.[A-Za-z0-9-_]*$/ + }; + ALPHA_NUMERIC = new Set("ABCDEFGHIJKLMNOPQRSTUVXYZabcdefghijklmnopqrstuvxyz0123456789"); + } +}); + +// node_modules/zod-to-json-schema/dist/esm/parsers/record.js +function parseRecordDef(def, refs) { + if (refs.target === "openAi") { + console.warn("Warning: OpenAI may not support records in schemas! Try an array of key-value pairs instead."); + } + if (refs.target === "openApi3" && def.keyType?._def.typeName === ZodFirstPartyTypeKind.ZodEnum) { + return { + type: "object", + required: def.keyType._def.values, + properties: def.keyType._def.values.reduce((acc, key) => ({ + ...acc, + [key]: parseDef(def.valueType._def, { + ...refs, + currentPath: [...refs.currentPath, "properties", key] + }) ?? parseAnyDef(refs) + }), {}), + additionalProperties: refs.rejectedAdditionalProperties + }; + } + const schema = { + type: "object", + additionalProperties: parseDef(def.valueType._def, { + ...refs, + currentPath: [...refs.currentPath, "additionalProperties"] + }) ?? refs.allowedAdditionalProperties + }; + if (refs.target === "openApi3") { + return schema; + } + if (def.keyType?._def.typeName === ZodFirstPartyTypeKind.ZodString && def.keyType._def.checks?.length) { + const { type, ...keyType } = parseStringDef(def.keyType._def, refs); + return { + ...schema, + propertyNames: keyType + }; + } else if (def.keyType?._def.typeName === ZodFirstPartyTypeKind.ZodEnum) { + return { + ...schema, + propertyNames: { + enum: def.keyType._def.values + } + }; + } else if (def.keyType?._def.typeName === ZodFirstPartyTypeKind.ZodBranded && def.keyType._def.type._def.typeName === ZodFirstPartyTypeKind.ZodString && def.keyType._def.type._def.checks?.length) { + const { type, ...keyType } = parseBrandedDef(def.keyType._def, refs); + return { + ...schema, + propertyNames: keyType + }; + } + return schema; +} +var init_record = __esm({ + "node_modules/zod-to-json-schema/dist/esm/parsers/record.js"() { + init_zod(); + init_parseDef(); + init_string(); + init_branded(); + init_any(); + } +}); + +// node_modules/zod-to-json-schema/dist/esm/parsers/map.js +function parseMapDef(def, refs) { + if (refs.mapStrategy === "record") { + return parseRecordDef(def, refs); + } + const keys = parseDef(def.keyType._def, { + ...refs, + currentPath: [...refs.currentPath, "items", "items", "0"] + }) || parseAnyDef(refs); + const values = parseDef(def.valueType._def, { + ...refs, + currentPath: [...refs.currentPath, "items", "items", "1"] + }) || parseAnyDef(refs); + return { + type: "array", + maxItems: 125, + items: { + type: "array", + items: [keys, values], + minItems: 2, + maxItems: 2 + } + }; +} +var init_map = __esm({ + "node_modules/zod-to-json-schema/dist/esm/parsers/map.js"() { + init_parseDef(); + init_record(); + init_any(); + } +}); + +// node_modules/zod-to-json-schema/dist/esm/parsers/nativeEnum.js +function parseNativeEnumDef(def) { + const object = def.values; + const actualKeys = Object.keys(def.values).filter((key) => { + return typeof object[object[key]] !== "number"; + }); + const actualValues = actualKeys.map((key) => object[key]); + const parsedTypes = Array.from(new Set(actualValues.map((values) => typeof values))); + return { + type: parsedTypes.length === 1 ? parsedTypes[0] === "string" ? "string" : "number" : ["string", "number"], + enum: actualValues + }; +} +var init_nativeEnum = __esm({ + "node_modules/zod-to-json-schema/dist/esm/parsers/nativeEnum.js"() { + } +}); + +// node_modules/zod-to-json-schema/dist/esm/parsers/never.js +function parseNeverDef(refs) { + return refs.target === "openAi" ? void 0 : { + not: parseAnyDef({ + ...refs, + currentPath: [...refs.currentPath, "not"] + }) + }; +} +var init_never = __esm({ + "node_modules/zod-to-json-schema/dist/esm/parsers/never.js"() { + init_any(); + } +}); + +// node_modules/zod-to-json-schema/dist/esm/parsers/null.js +function parseNullDef(refs) { + return refs.target === "openApi3" ? { + enum: ["null"], + nullable: true + } : { + type: "null" + }; +} +var init_null = __esm({ + "node_modules/zod-to-json-schema/dist/esm/parsers/null.js"() { + } +}); + +// node_modules/zod-to-json-schema/dist/esm/parsers/union.js +function parseUnionDef(def, refs) { + if (refs.target === "openApi3") + return asAnyOf(def, refs); + const options = def.options instanceof Map ? Array.from(def.options.values()) : def.options; + if (options.every((x) => x._def.typeName in primitiveMappings && (!x._def.checks || !x._def.checks.length))) { + const types = options.reduce((types2, x) => { + const type = primitiveMappings[x._def.typeName]; + return type && !types2.includes(type) ? [...types2, type] : types2; + }, []); + return { + type: types.length > 1 ? types : types[0] + }; + } else if (options.every((x) => x._def.typeName === "ZodLiteral" && !x.description)) { + const types = options.reduce((acc, x) => { + const type = typeof x._def.value; + switch (type) { + case "string": + case "number": + case "boolean": + return [...acc, type]; + case "bigint": + return [...acc, "integer"]; + case "object": + if (x._def.value === null) + return [...acc, "null"]; + case "symbol": + case "undefined": + case "function": + default: + return acc; + } + }, []); + if (types.length === options.length) { + const uniqueTypes = types.filter((x, i, a) => a.indexOf(x) === i); + return { + type: uniqueTypes.length > 1 ? uniqueTypes : uniqueTypes[0], + enum: options.reduce((acc, x) => { + return acc.includes(x._def.value) ? acc : [...acc, x._def.value]; + }, []) + }; + } + } else if (options.every((x) => x._def.typeName === "ZodEnum")) { + return { + type: "string", + enum: options.reduce((acc, x) => [ + ...acc, + ...x._def.values.filter((x2) => !acc.includes(x2)) + ], []) + }; + } + return asAnyOf(def, refs); +} +var primitiveMappings, asAnyOf; +var init_union = __esm({ + "node_modules/zod-to-json-schema/dist/esm/parsers/union.js"() { + init_parseDef(); + primitiveMappings = { + ZodString: "string", + ZodNumber: "number", + ZodBigInt: "integer", + ZodBoolean: "boolean", + ZodNull: "null" + }; + asAnyOf = (def, refs) => { + const anyOf = (def.options instanceof Map ? Array.from(def.options.values()) : def.options).map((x, i) => parseDef(x._def, { + ...refs, + currentPath: [...refs.currentPath, "anyOf", `${i}`] + })).filter((x) => !!x && (!refs.strictUnions || typeof x === "object" && Object.keys(x).length > 0)); + return anyOf.length ? { anyOf } : void 0; + }; + } +}); + +// node_modules/zod-to-json-schema/dist/esm/parsers/nullable.js +function parseNullableDef(def, refs) { + if (["ZodString", "ZodNumber", "ZodBigInt", "ZodBoolean", "ZodNull"].includes(def.innerType._def.typeName) && (!def.innerType._def.checks || !def.innerType._def.checks.length)) { + if (refs.target === "openApi3") { + return { + type: primitiveMappings[def.innerType._def.typeName], + nullable: true + }; + } + return { + type: [ + primitiveMappings[def.innerType._def.typeName], + "null" + ] + }; + } + if (refs.target === "openApi3") { + const base2 = parseDef(def.innerType._def, { + ...refs, + currentPath: [...refs.currentPath] + }); + if (base2 && "$ref" in base2) + return { allOf: [base2], nullable: true }; + return base2 && { ...base2, nullable: true }; + } + const base = parseDef(def.innerType._def, { + ...refs, + currentPath: [...refs.currentPath, "anyOf", "0"] + }); + return base && { anyOf: [base, { type: "null" }] }; +} +var init_nullable = __esm({ + "node_modules/zod-to-json-schema/dist/esm/parsers/nullable.js"() { + init_parseDef(); + init_union(); + } +}); + +// node_modules/zod-to-json-schema/dist/esm/parsers/number.js +function parseNumberDef(def, refs) { + const res = { + type: "number" + }; + if (!def.checks) + return res; + for (const check of def.checks) { + switch (check.kind) { + case "int": + res.type = "integer"; + addErrorMessage(res, "type", check.message, refs); + break; + case "min": + if (refs.target === "jsonSchema7") { + if (check.inclusive) { + setResponseValueAndErrors(res, "minimum", check.value, check.message, refs); + } else { + setResponseValueAndErrors(res, "exclusiveMinimum", check.value, check.message, refs); + } + } else { + if (!check.inclusive) { + res.exclusiveMinimum = true; + } + setResponseValueAndErrors(res, "minimum", check.value, check.message, refs); + } + break; + case "max": + if (refs.target === "jsonSchema7") { + if (check.inclusive) { + setResponseValueAndErrors(res, "maximum", check.value, check.message, refs); + } else { + setResponseValueAndErrors(res, "exclusiveMaximum", check.value, check.message, refs); + } + } else { + if (!check.inclusive) { + res.exclusiveMaximum = true; + } + setResponseValueAndErrors(res, "maximum", check.value, check.message, refs); + } + break; + case "multipleOf": + setResponseValueAndErrors(res, "multipleOf", check.value, check.message, refs); + break; + } + } + return res; +} +var init_number = __esm({ + "node_modules/zod-to-json-schema/dist/esm/parsers/number.js"() { + init_errorMessages(); + } +}); + +// node_modules/zod-to-json-schema/dist/esm/parsers/object.js +function parseObjectDef(def, refs) { + const forceOptionalIntoNullable = refs.target === "openAi"; + const result = { + type: "object", + properties: {} + }; + const required = []; + const shape = def.shape(); + for (const propName in shape) { + let propDef = shape[propName]; + if (propDef === void 0 || propDef._def === void 0) { + continue; + } + let propOptional = safeIsOptional(propDef); + if (propOptional && forceOptionalIntoNullable) { + if (propDef._def.typeName === "ZodOptional") { + propDef = propDef._def.innerType; + } + if (!propDef.isNullable()) { + propDef = propDef.nullable(); + } + propOptional = false; + } + const parsedDef = parseDef(propDef._def, { + ...refs, + currentPath: [...refs.currentPath, "properties", propName], + propertyPath: [...refs.currentPath, "properties", propName] + }); + if (parsedDef === void 0) { + continue; + } + result.properties[propName] = parsedDef; + if (!propOptional) { + required.push(propName); + } + } + if (required.length) { + result.required = required; + } + const additionalProperties = decideAdditionalProperties(def, refs); + if (additionalProperties !== void 0) { + result.additionalProperties = additionalProperties; + } + return result; +} +function decideAdditionalProperties(def, refs) { + if (def.catchall._def.typeName !== "ZodNever") { + return parseDef(def.catchall._def, { + ...refs, + currentPath: [...refs.currentPath, "additionalProperties"] + }); + } + switch (def.unknownKeys) { + case "passthrough": + return refs.allowedAdditionalProperties; + case "strict": + return refs.rejectedAdditionalProperties; + case "strip": + return refs.removeAdditionalStrategy === "strict" ? refs.allowedAdditionalProperties : refs.rejectedAdditionalProperties; + } +} +function safeIsOptional(schema) { + try { + return schema.isOptional(); + } catch { + return true; + } +} +var init_object = __esm({ + "node_modules/zod-to-json-schema/dist/esm/parsers/object.js"() { + init_parseDef(); + } +}); + +// node_modules/zod-to-json-schema/dist/esm/parsers/optional.js +var parseOptionalDef; +var init_optional = __esm({ + "node_modules/zod-to-json-schema/dist/esm/parsers/optional.js"() { + init_parseDef(); + init_any(); + parseOptionalDef = (def, refs) => { + if (refs.currentPath.toString() === refs.propertyPath?.toString()) { + return parseDef(def.innerType._def, refs); + } + const innerSchema = parseDef(def.innerType._def, { + ...refs, + currentPath: [...refs.currentPath, "anyOf", "1"] + }); + return innerSchema ? { + anyOf: [ + { + not: parseAnyDef(refs) + }, + innerSchema + ] + } : parseAnyDef(refs); + }; + } +}); + +// node_modules/zod-to-json-schema/dist/esm/parsers/pipeline.js +var parsePipelineDef; +var init_pipeline = __esm({ + "node_modules/zod-to-json-schema/dist/esm/parsers/pipeline.js"() { + init_parseDef(); + parsePipelineDef = (def, refs) => { + if (refs.pipeStrategy === "input") { + return parseDef(def.in._def, refs); + } else if (refs.pipeStrategy === "output") { + return parseDef(def.out._def, refs); + } + const a = parseDef(def.in._def, { + ...refs, + currentPath: [...refs.currentPath, "allOf", "0"] + }); + const b = parseDef(def.out._def, { + ...refs, + currentPath: [...refs.currentPath, "allOf", a ? "1" : "0"] + }); + return { + allOf: [a, b].filter((x) => x !== void 0) + }; + }; + } +}); + +// node_modules/zod-to-json-schema/dist/esm/parsers/promise.js +function parsePromiseDef(def, refs) { + return parseDef(def.type._def, refs); +} +var init_promise = __esm({ + "node_modules/zod-to-json-schema/dist/esm/parsers/promise.js"() { + init_parseDef(); + } +}); + +// node_modules/zod-to-json-schema/dist/esm/parsers/set.js +function parseSetDef(def, refs) { + const items = parseDef(def.valueType._def, { + ...refs, + currentPath: [...refs.currentPath, "items"] + }); + const schema = { + type: "array", + uniqueItems: true, + items + }; + if (def.minSize) { + setResponseValueAndErrors(schema, "minItems", def.minSize.value, def.minSize.message, refs); + } + if (def.maxSize) { + setResponseValueAndErrors(schema, "maxItems", def.maxSize.value, def.maxSize.message, refs); + } + return schema; +} +var init_set = __esm({ + "node_modules/zod-to-json-schema/dist/esm/parsers/set.js"() { + init_errorMessages(); + init_parseDef(); + } +}); + +// node_modules/zod-to-json-schema/dist/esm/parsers/tuple.js +function parseTupleDef(def, refs) { + if (def.rest) { + return { + type: "array", + minItems: def.items.length, + items: def.items.map((x, i) => parseDef(x._def, { + ...refs, + currentPath: [...refs.currentPath, "items", `${i}`] + })).reduce((acc, x) => x === void 0 ? acc : [...acc, x], []), + additionalItems: parseDef(def.rest._def, { + ...refs, + currentPath: [...refs.currentPath, "additionalItems"] + }) + }; + } else { + return { + type: "array", + minItems: def.items.length, + maxItems: def.items.length, + items: def.items.map((x, i) => parseDef(x._def, { + ...refs, + currentPath: [...refs.currentPath, "items", `${i}`] + })).reduce((acc, x) => x === void 0 ? acc : [...acc, x], []) + }; + } +} +var init_tuple = __esm({ + "node_modules/zod-to-json-schema/dist/esm/parsers/tuple.js"() { + init_parseDef(); + } +}); + +// node_modules/zod-to-json-schema/dist/esm/parsers/undefined.js +function parseUndefinedDef(refs) { + return { + not: parseAnyDef(refs) + }; +} +var init_undefined = __esm({ + "node_modules/zod-to-json-schema/dist/esm/parsers/undefined.js"() { + init_any(); + } +}); + +// node_modules/zod-to-json-schema/dist/esm/parsers/unknown.js +function parseUnknownDef(refs) { + return parseAnyDef(refs); +} +var init_unknown = __esm({ + "node_modules/zod-to-json-schema/dist/esm/parsers/unknown.js"() { + init_any(); + } +}); + +// node_modules/zod-to-json-schema/dist/esm/parsers/readonly.js +var parseReadonlyDef; +var init_readonly = __esm({ + "node_modules/zod-to-json-schema/dist/esm/parsers/readonly.js"() { + init_parseDef(); + parseReadonlyDef = (def, refs) => { + return parseDef(def.innerType._def, refs); + }; + } +}); + +// node_modules/zod-to-json-schema/dist/esm/selectParser.js +var selectParser; +var init_selectParser = __esm({ + "node_modules/zod-to-json-schema/dist/esm/selectParser.js"() { + init_zod(); + init_any(); + init_array(); + init_bigint(); + init_boolean(); + init_branded(); + init_catch(); + init_date(); + init_default(); + init_effects(); + init_enum(); + init_intersection(); + init_literal(); + init_map(); + init_nativeEnum(); + init_never(); + init_null(); + init_nullable(); + init_number(); + init_object(); + init_optional(); + init_pipeline(); + init_promise(); + init_record(); + init_set(); + init_string(); + init_tuple(); + init_undefined(); + init_union(); + init_unknown(); + init_readonly(); + selectParser = (def, typeName, refs) => { + switch (typeName) { + case ZodFirstPartyTypeKind.ZodString: + return parseStringDef(def, refs); + case ZodFirstPartyTypeKind.ZodNumber: + return parseNumberDef(def, refs); + case ZodFirstPartyTypeKind.ZodObject: + return parseObjectDef(def, refs); + case ZodFirstPartyTypeKind.ZodBigInt: + return parseBigintDef(def, refs); + case ZodFirstPartyTypeKind.ZodBoolean: + return parseBooleanDef(); + case ZodFirstPartyTypeKind.ZodDate: + return parseDateDef(def, refs); + case ZodFirstPartyTypeKind.ZodUndefined: + return parseUndefinedDef(refs); + case ZodFirstPartyTypeKind.ZodNull: + return parseNullDef(refs); + case ZodFirstPartyTypeKind.ZodArray: + return parseArrayDef(def, refs); + case ZodFirstPartyTypeKind.ZodUnion: + case ZodFirstPartyTypeKind.ZodDiscriminatedUnion: + return parseUnionDef(def, refs); + case ZodFirstPartyTypeKind.ZodIntersection: + return parseIntersectionDef(def, refs); + case ZodFirstPartyTypeKind.ZodTuple: + return parseTupleDef(def, refs); + case ZodFirstPartyTypeKind.ZodRecord: + return parseRecordDef(def, refs); + case ZodFirstPartyTypeKind.ZodLiteral: + return parseLiteralDef(def, refs); + case ZodFirstPartyTypeKind.ZodEnum: + return parseEnumDef(def); + case ZodFirstPartyTypeKind.ZodNativeEnum: + return parseNativeEnumDef(def); + case ZodFirstPartyTypeKind.ZodNullable: + return parseNullableDef(def, refs); + case ZodFirstPartyTypeKind.ZodOptional: + return parseOptionalDef(def, refs); + case ZodFirstPartyTypeKind.ZodMap: + return parseMapDef(def, refs); + case ZodFirstPartyTypeKind.ZodSet: + return parseSetDef(def, refs); + case ZodFirstPartyTypeKind.ZodLazy: + return () => def.getter()._def; + case ZodFirstPartyTypeKind.ZodPromise: + return parsePromiseDef(def, refs); + case ZodFirstPartyTypeKind.ZodNaN: + case ZodFirstPartyTypeKind.ZodNever: + return parseNeverDef(refs); + case ZodFirstPartyTypeKind.ZodEffects: + return parseEffectsDef(def, refs); + case ZodFirstPartyTypeKind.ZodAny: + return parseAnyDef(refs); + case ZodFirstPartyTypeKind.ZodUnknown: + return parseUnknownDef(refs); + case ZodFirstPartyTypeKind.ZodDefault: + return parseDefaultDef(def, refs); + case ZodFirstPartyTypeKind.ZodBranded: + return parseBrandedDef(def, refs); + case ZodFirstPartyTypeKind.ZodReadonly: + return parseReadonlyDef(def, refs); + case ZodFirstPartyTypeKind.ZodCatch: + return parseCatchDef(def, refs); + case ZodFirstPartyTypeKind.ZodPipeline: + return parsePipelineDef(def, refs); + case ZodFirstPartyTypeKind.ZodFunction: + case ZodFirstPartyTypeKind.ZodVoid: + case ZodFirstPartyTypeKind.ZodSymbol: + return void 0; + default: + return /* @__PURE__ */ ((_) => void 0)(typeName); + } + }; + } +}); + +// node_modules/zod-to-json-schema/dist/esm/parseDef.js +function parseDef(def, refs, forceResolution = false) { + const seenItem = refs.seen.get(def); + if (refs.override) { + const overrideResult = refs.override?.(def, refs, seenItem, forceResolution); + if (overrideResult !== ignoreOverride) { + return overrideResult; + } + } + if (seenItem && !forceResolution) { + const seenSchema = get$ref(seenItem, refs); + if (seenSchema !== void 0) { + return seenSchema; + } + } + const newItem = { def, path: refs.currentPath, jsonSchema: void 0 }; + refs.seen.set(def, newItem); + const jsonSchemaOrGetter = selectParser(def, def.typeName, refs); + const jsonSchema = typeof jsonSchemaOrGetter === "function" ? parseDef(jsonSchemaOrGetter(), refs) : jsonSchemaOrGetter; + if (jsonSchema) { + addMeta(def, refs, jsonSchema); + } + if (refs.postProcess) { + const postProcessResult = refs.postProcess(jsonSchema, def, refs); + newItem.jsonSchema = jsonSchema; + return postProcessResult; + } + newItem.jsonSchema = jsonSchema; + return jsonSchema; +} +var get$ref, addMeta; +var init_parseDef = __esm({ + "node_modules/zod-to-json-schema/dist/esm/parseDef.js"() { + init_Options(); + init_selectParser(); + init_getRelativePath(); + init_any(); + get$ref = (item, refs) => { + switch (refs.$refStrategy) { + case "root": + return { $ref: item.path.join("/") }; + case "relative": + return { $ref: getRelativePath(refs.currentPath, item.path) }; + case "none": + case "seen": { + if (item.path.length < refs.currentPath.length && item.path.every((value, index) => refs.currentPath[index] === value)) { + console.warn(`Recursive reference detected at ${refs.currentPath.join("/")}! Defaulting to any`); + return parseAnyDef(refs); + } + return refs.$refStrategy === "seen" ? parseAnyDef(refs) : void 0; + } + } + }; + addMeta = (def, refs, jsonSchema) => { + if (def.description) { + jsonSchema.description = def.description; + if (refs.markdownDescription) { + jsonSchema.markdownDescription = def.description; + } + } + return jsonSchema; + }; + } +}); + +// node_modules/zod-to-json-schema/dist/esm/parseTypes.js +var init_parseTypes = __esm({ + "node_modules/zod-to-json-schema/dist/esm/parseTypes.js"() { + } +}); + +// node_modules/zod-to-json-schema/dist/esm/zodToJsonSchema.js +var zodToJsonSchema; +var init_zodToJsonSchema = __esm({ + "node_modules/zod-to-json-schema/dist/esm/zodToJsonSchema.js"() { + init_parseDef(); + init_Refs(); + init_any(); + zodToJsonSchema = (schema, options) => { + const refs = getRefs(options); + let definitions = typeof options === "object" && options.definitions ? Object.entries(options.definitions).reduce((acc, [name2, schema2]) => ({ + ...acc, + [name2]: parseDef(schema2._def, { + ...refs, + currentPath: [...refs.basePath, refs.definitionPath, name2] + }, true) ?? parseAnyDef(refs) + }), {}) : void 0; + const name = typeof options === "string" ? options : options?.nameStrategy === "title" ? void 0 : options?.name; + const main = parseDef(schema._def, name === void 0 ? refs : { + ...refs, + currentPath: [...refs.basePath, refs.definitionPath, name] + }, false) ?? parseAnyDef(refs); + const title = typeof options === "object" && options.name !== void 0 && options.nameStrategy === "title" ? options.name : void 0; + if (title !== void 0) { + main.title = title; + } + if (refs.flags.hasReferencedOpenAiAnyType) { + if (!definitions) { + definitions = {}; + } + if (!definitions[refs.openAiAnyTypeName]) { + definitions[refs.openAiAnyTypeName] = { + // Skipping "object" as no properties can be defined and additionalProperties must be "false" + type: ["string", "number", "integer", "boolean", "array", "null"], + items: { + $ref: refs.$refStrategy === "relative" ? "1" : [ + ...refs.basePath, + refs.definitionPath, + refs.openAiAnyTypeName + ].join("/") + } + }; + } + } + const combined = name === void 0 ? definitions ? { + ...main, + [refs.definitionPath]: definitions + } : main : { + $ref: [ + ...refs.$refStrategy === "relative" ? [] : refs.basePath, + refs.definitionPath, + name + ].join("/"), + [refs.definitionPath]: { + ...definitions, + [name]: main + } + }; + if (refs.target === "jsonSchema7") { + combined.$schema = "http://json-schema.org/draft-07/schema#"; + } else if (refs.target === "jsonSchema2019-09" || refs.target === "openAi") { + combined.$schema = "https://json-schema.org/draft/2019-09/schema#"; + } + if (refs.target === "openAi" && ("anyOf" in combined || "oneOf" in combined || "allOf" in combined || "type" in combined && Array.isArray(combined.type))) { + console.warn("Warning: OpenAI may not support schemas with unions as roots! Try wrapping it in an object property."); + } + return combined; + }; + } +}); + +// node_modules/zod-to-json-schema/dist/esm/index.js +var init_esm = __esm({ + "node_modules/zod-to-json-schema/dist/esm/index.js"() { + init_Options(); + init_Refs(); + init_errorMessages(); + init_getRelativePath(); + init_parseDef(); + init_parseTypes(); + init_any(); + init_array(); + init_bigint(); + init_boolean(); + init_branded(); + init_catch(); + init_date(); + init_default(); + init_effects(); + init_enum(); + init_intersection(); + init_literal(); + init_map(); + init_nativeEnum(); + init_never(); + init_null(); + init_nullable(); + init_number(); + init_object(); + init_optional(); + init_pipeline(); + init_promise(); + init_readonly(); + init_record(); + init_set(); + init_string(); + init_tuple(); + init_undefined(); + init_union(); + init_unknown(); + init_selectParser(); + init_zodToJsonSchema(); + init_zodToJsonSchema(); + } +}); + +// node_modules/chalk/source/vendor/ansi-styles/index.js +function assembleStyles() { + const codes = /* @__PURE__ */ new Map(); + for (const [groupName, group] of Object.entries(styles)) { + for (const [styleName, style] of Object.entries(group)) { + styles[styleName] = { + open: `\x1B[${style[0]}m`, + close: `\x1B[${style[1]}m` + }; + group[styleName] = styles[styleName]; + codes.set(style[0], style[1]); + } + Object.defineProperty(styles, groupName, { + value: group, + enumerable: false + }); + } + Object.defineProperty(styles, "codes", { + value: codes, + enumerable: false + }); + styles.color.close = "\x1B[39m"; + styles.bgColor.close = "\x1B[49m"; + styles.color.ansi = wrapAnsi16(); + styles.color.ansi256 = wrapAnsi256(); + styles.color.ansi16m = wrapAnsi16m(); + styles.bgColor.ansi = wrapAnsi16(ANSI_BACKGROUND_OFFSET); + styles.bgColor.ansi256 = wrapAnsi256(ANSI_BACKGROUND_OFFSET); + styles.bgColor.ansi16m = wrapAnsi16m(ANSI_BACKGROUND_OFFSET); + Object.defineProperties(styles, { + rgbToAnsi256: { + value(red, green, blue) { + if (red === green && green === blue) { + if (red < 8) { + return 16; + } + if (red > 248) { + return 231; + } + return Math.round((red - 8) / 247 * 24) + 232; + } + return 16 + 36 * Math.round(red / 255 * 5) + 6 * Math.round(green / 255 * 5) + Math.round(blue / 255 * 5); + }, + enumerable: false + }, + hexToRgb: { + value(hex) { + const matches = /[a-f\d]{6}|[a-f\d]{3}/i.exec(hex.toString(16)); + if (!matches) { + return [0, 0, 0]; + } + let [colorString] = matches; + if (colorString.length === 3) { + colorString = [...colorString].map((character) => character + character).join(""); + } + const integer = Number.parseInt(colorString, 16); + return [ + /* eslint-disable no-bitwise */ + integer >> 16 & 255, + integer >> 8 & 255, + integer & 255 + /* eslint-enable no-bitwise */ + ]; + }, + enumerable: false + }, + hexToAnsi256: { + value: (hex) => styles.rgbToAnsi256(...styles.hexToRgb(hex)), + enumerable: false + }, + ansi256ToAnsi: { + value(code) { + if (code < 8) { + return 30 + code; + } + if (code < 16) { + return 90 + (code - 8); + } + let red; + let green; + let blue; + if (code >= 232) { + red = ((code - 232) * 10 + 8) / 255; + green = red; + blue = red; + } else { + code -= 16; + const remainder = code % 36; + red = Math.floor(code / 36) / 5; + green = Math.floor(remainder / 6) / 5; + blue = remainder % 6 / 5; + } + const value = Math.max(red, green, blue) * 2; + if (value === 0) { + return 30; + } + let result = 30 + (Math.round(blue) << 2 | Math.round(green) << 1 | Math.round(red)); + if (value === 2) { + result += 60; + } + return result; + }, + enumerable: false + }, + rgbToAnsi: { + value: (red, green, blue) => styles.ansi256ToAnsi(styles.rgbToAnsi256(red, green, blue)), + enumerable: false + }, + hexToAnsi: { + value: (hex) => styles.ansi256ToAnsi(styles.hexToAnsi256(hex)), + enumerable: false + } + }); + return styles; +} +var ANSI_BACKGROUND_OFFSET, wrapAnsi16, wrapAnsi256, wrapAnsi16m, styles, modifierNames, foregroundColorNames, backgroundColorNames, colorNames, ansiStyles, ansi_styles_default; +var init_ansi_styles = __esm({ + "node_modules/chalk/source/vendor/ansi-styles/index.js"() { + ANSI_BACKGROUND_OFFSET = 10; + wrapAnsi16 = (offset = 0) => (code) => `\x1B[${code + offset}m`; + wrapAnsi256 = (offset = 0) => (code) => `\x1B[${38 + offset};5;${code}m`; + wrapAnsi16m = (offset = 0) => (red, green, blue) => `\x1B[${38 + offset};2;${red};${green};${blue}m`; + styles = { + modifier: { + reset: [0, 0], + // 21 isn't widely supported and 22 does the same thing + bold: [1, 22], + dim: [2, 22], + italic: [3, 23], + underline: [4, 24], + overline: [53, 55], + inverse: [7, 27], + hidden: [8, 28], + strikethrough: [9, 29] + }, + color: { + black: [30, 39], + red: [31, 39], + green: [32, 39], + yellow: [33, 39], + blue: [34, 39], + magenta: [35, 39], + cyan: [36, 39], + white: [37, 39], + // Bright color + blackBright: [90, 39], + gray: [90, 39], + // Alias of `blackBright` + grey: [90, 39], + // Alias of `blackBright` + redBright: [91, 39], + greenBright: [92, 39], + yellowBright: [93, 39], + blueBright: [94, 39], + magentaBright: [95, 39], + cyanBright: [96, 39], + whiteBright: [97, 39] + }, + bgColor: { + bgBlack: [40, 49], + bgRed: [41, 49], + bgGreen: [42, 49], + bgYellow: [43, 49], + bgBlue: [44, 49], + bgMagenta: [45, 49], + bgCyan: [46, 49], + bgWhite: [47, 49], + // Bright color + bgBlackBright: [100, 49], + bgGray: [100, 49], + // Alias of `bgBlackBright` + bgGrey: [100, 49], + // Alias of `bgBlackBright` + bgRedBright: [101, 49], + bgGreenBright: [102, 49], + bgYellowBright: [103, 49], + bgBlueBright: [104, 49], + bgMagentaBright: [105, 49], + bgCyanBright: [106, 49], + bgWhiteBright: [107, 49] + } + }; + modifierNames = Object.keys(styles.modifier); + foregroundColorNames = Object.keys(styles.color); + backgroundColorNames = Object.keys(styles.bgColor); + colorNames = [...foregroundColorNames, ...backgroundColorNames]; + ansiStyles = assembleStyles(); + ansi_styles_default = ansiStyles; + } +}); + +// node_modules/chalk/source/vendor/supports-color/index.js +function hasFlag(flag, argv = globalThis.Deno ? globalThis.Deno.args : import_node_process.default.argv) { + const prefix = flag.startsWith("-") ? "" : flag.length === 1 ? "-" : "--"; + const position = argv.indexOf(prefix + flag); + const terminatorPosition = argv.indexOf("--"); + return position !== -1 && (terminatorPosition === -1 || position < terminatorPosition); +} +function envForceColor() { + if ("FORCE_COLOR" in env) { + if (env.FORCE_COLOR === "true") { + return 1; + } + if (env.FORCE_COLOR === "false") { + return 0; + } + return env.FORCE_COLOR.length === 0 ? 1 : Math.min(Number.parseInt(env.FORCE_COLOR, 10), 3); + } +} +function translateLevel(level) { + if (level === 0) { + return false; + } + return { + level, + hasBasic: true, + has256: level >= 2, + has16m: level >= 3 + }; +} +function _supportsColor(haveStream, { streamIsTTY, sniffFlags = true } = {}) { + const noFlagForceColor = envForceColor(); + if (noFlagForceColor !== void 0) { + flagForceColor = noFlagForceColor; + } + const forceColor = sniffFlags ? flagForceColor : noFlagForceColor; + if (forceColor === 0) { + return 0; + } + if (sniffFlags) { + if (hasFlag("color=16m") || hasFlag("color=full") || hasFlag("color=truecolor")) { + return 3; + } + if (hasFlag("color=256")) { + return 2; + } + } + if ("TF_BUILD" in env && "AGENT_NAME" in env) { + return 1; + } + if (haveStream && !streamIsTTY && forceColor === void 0) { + return 0; + } + const min = forceColor || 0; + if (env.TERM === "dumb") { + return min; + } + if (import_node_process.default.platform === "win32") { + const osRelease = import_node_os.default.release().split("."); + if (Number(osRelease[0]) >= 10 && Number(osRelease[2]) >= 10586) { + return Number(osRelease[2]) >= 14931 ? 3 : 2; + } + return 1; + } + if ("CI" in env) { + if (["GITHUB_ACTIONS", "GITEA_ACTIONS", "CIRCLECI"].some((key) => key in env)) { + return 3; + } + if (["TRAVIS", "APPVEYOR", "GITLAB_CI", "BUILDKITE", "DRONE"].some((sign) => sign in env) || env.CI_NAME === "codeship") { + return 1; + } + return min; + } + if ("TEAMCITY_VERSION" in env) { + return /^(9\.(0*[1-9]\d*)\.|\d{2,}\.)/.test(env.TEAMCITY_VERSION) ? 1 : 0; + } + if (env.COLORTERM === "truecolor") { + return 3; + } + if (env.TERM === "xterm-kitty") { + return 3; + } + if (env.TERM === "xterm-ghostty") { + return 3; + } + if (env.TERM === "wezterm") { + return 3; + } + if ("TERM_PROGRAM" in env) { + const version = Number.parseInt((env.TERM_PROGRAM_VERSION || "").split(".")[0], 10); + switch (env.TERM_PROGRAM) { + case "iTerm.app": { + return version >= 3 ? 3 : 2; + } + case "Apple_Terminal": { + return 2; + } + } + } + if (/-256(color)?$/i.test(env.TERM)) { + return 2; + } + if (/^screen|^xterm|^vt100|^vt220|^rxvt|color|ansi|cygwin|linux/i.test(env.TERM)) { + return 1; + } + if ("COLORTERM" in env) { + return 1; + } + return min; +} +function createSupportsColor(stream, options = {}) { + const level = _supportsColor(stream, { + streamIsTTY: stream && stream.isTTY, + ...options + }); + return translateLevel(level); +} +var import_node_process, import_node_os, import_node_tty, env, flagForceColor, supportsColor, supports_color_default; +var init_supports_color = __esm({ + "node_modules/chalk/source/vendor/supports-color/index.js"() { + import_node_process = __toESM(require("node:process"), 1); + import_node_os = __toESM(require("node:os"), 1); + import_node_tty = __toESM(require("node:tty"), 1); + ({ env } = import_node_process.default); + if (hasFlag("no-color") || hasFlag("no-colors") || hasFlag("color=false") || hasFlag("color=never")) { + flagForceColor = 0; + } else if (hasFlag("color") || hasFlag("colors") || hasFlag("color=true") || hasFlag("color=always")) { + flagForceColor = 1; + } + supportsColor = { + stdout: createSupportsColor({ isTTY: import_node_tty.default.isatty(1) }), + stderr: createSupportsColor({ isTTY: import_node_tty.default.isatty(2) }) + }; + supports_color_default = supportsColor; + } +}); + +// node_modules/chalk/source/utilities.js +function stringReplaceAll(string, substring, replacer) { + let index = string.indexOf(substring); + if (index === -1) { + return string; + } + const substringLength = substring.length; + let endIndex = 0; + let returnValue = ""; + do { + returnValue += string.slice(endIndex, index) + substring + replacer; + endIndex = index + substringLength; + index = string.indexOf(substring, endIndex); + } while (index !== -1); + returnValue += string.slice(endIndex); + return returnValue; +} +function stringEncaseCRLFWithFirstIndex(string, prefix, postfix, index) { + let endIndex = 0; + let returnValue = ""; + do { + const gotCR = string[index - 1] === "\r"; + returnValue += string.slice(endIndex, gotCR ? index - 1 : index) + prefix + (gotCR ? "\r\n" : "\n") + postfix; + endIndex = index + 1; + index = string.indexOf("\n", endIndex); + } while (index !== -1); + returnValue += string.slice(endIndex); + return returnValue; +} +var init_utilities = __esm({ + "node_modules/chalk/source/utilities.js"() { + } +}); + +// node_modules/chalk/source/index.js +function createChalk(options) { + return chalkFactory(options); +} +var stdoutColor, stderrColor, GENERATOR, STYLER, IS_EMPTY, levelMapping, styles2, applyOptions, chalkFactory, getModelAnsi, usedModels, proto, createStyler, createBuilder, applyStyle, chalk, chalkStderr, source_default; +var init_source = __esm({ + "node_modules/chalk/source/index.js"() { + init_ansi_styles(); + init_supports_color(); + init_utilities(); + ({ stdout: stdoutColor, stderr: stderrColor } = supports_color_default); + GENERATOR = Symbol("GENERATOR"); + STYLER = Symbol("STYLER"); + IS_EMPTY = Symbol("IS_EMPTY"); + levelMapping = [ + "ansi", + "ansi", + "ansi256", + "ansi16m" + ]; + styles2 = /* @__PURE__ */ Object.create(null); + applyOptions = (object, options = {}) => { + if (options.level && !(Number.isInteger(options.level) && options.level >= 0 && options.level <= 3)) { + throw new Error("The `level` option should be an integer from 0 to 3"); + } + const colorLevel = stdoutColor ? stdoutColor.level : 0; + object.level = options.level === void 0 ? colorLevel : options.level; + }; + chalkFactory = (options) => { + const chalk2 = (...strings) => strings.join(" "); + applyOptions(chalk2, options); + Object.setPrototypeOf(chalk2, createChalk.prototype); + return chalk2; + }; + Object.setPrototypeOf(createChalk.prototype, Function.prototype); + for (const [styleName, style] of Object.entries(ansi_styles_default)) { + styles2[styleName] = { + get() { + const builder = createBuilder(this, createStyler(style.open, style.close, this[STYLER]), this[IS_EMPTY]); + Object.defineProperty(this, styleName, { value: builder }); + return builder; + } + }; + } + styles2.visible = { + get() { + const builder = createBuilder(this, this[STYLER], true); + Object.defineProperty(this, "visible", { value: builder }); + return builder; + } + }; + getModelAnsi = (model, level, type, ...arguments_) => { + if (model === "rgb") { + if (level === "ansi16m") { + return ansi_styles_default[type].ansi16m(...arguments_); + } + if (level === "ansi256") { + return ansi_styles_default[type].ansi256(ansi_styles_default.rgbToAnsi256(...arguments_)); + } + return ansi_styles_default[type].ansi(ansi_styles_default.rgbToAnsi(...arguments_)); + } + if (model === "hex") { + return getModelAnsi("rgb", level, type, ...ansi_styles_default.hexToRgb(...arguments_)); + } + return ansi_styles_default[type][model](...arguments_); + }; + usedModels = ["rgb", "hex", "ansi256"]; + for (const model of usedModels) { + styles2[model] = { + get() { + const { level } = this; + return function(...arguments_) { + const styler = createStyler(getModelAnsi(model, levelMapping[level], "color", ...arguments_), ansi_styles_default.color.close, this[STYLER]); + return createBuilder(this, styler, this[IS_EMPTY]); + }; + } + }; + const bgModel = "bg" + model[0].toUpperCase() + model.slice(1); + styles2[bgModel] = { + get() { + const { level } = this; + return function(...arguments_) { + const styler = createStyler(getModelAnsi(model, levelMapping[level], "bgColor", ...arguments_), ansi_styles_default.bgColor.close, this[STYLER]); + return createBuilder(this, styler, this[IS_EMPTY]); + }; + } + }; + } + proto = Object.defineProperties(() => { + }, { + ...styles2, + level: { + enumerable: true, + get() { + return this[GENERATOR].level; + }, + set(level) { + this[GENERATOR].level = level; + } + } + }); + createStyler = (open, close, parent) => { + let openAll; + let closeAll; + if (parent === void 0) { + openAll = open; + closeAll = close; + } else { + openAll = parent.openAll + open; + closeAll = close + parent.closeAll; + } + return { + open, + close, + openAll, + closeAll, + parent + }; + }; + createBuilder = (self2, _styler, _isEmpty) => { + const builder = (...arguments_) => applyStyle(builder, arguments_.length === 1 ? "" + arguments_[0] : arguments_.join(" ")); + Object.setPrototypeOf(builder, proto); + builder[GENERATOR] = self2; + builder[STYLER] = _styler; + builder[IS_EMPTY] = _isEmpty; + return builder; + }; + applyStyle = (self2, string) => { + if (self2.level <= 0 || !string) { + return self2[IS_EMPTY] ? "" : string; + } + let styler = self2[STYLER]; + if (styler === void 0) { + return string; + } + const { openAll, closeAll } = styler; + if (string.includes("\x1B")) { + while (styler !== void 0) { + string = stringReplaceAll(string, styler.close, styler.open); + styler = styler.parent; + } + } + const lfIndex = string.indexOf("\n"); + if (lfIndex !== -1) { + string = stringEncaseCRLFWithFirstIndex(string, closeAll, openAll, lfIndex); + } + return openAll + string + closeAll; + }; + Object.defineProperties(createChalk.prototype, styles2); + chalk = createChalk(); + chalkStderr = createChalk({ level: stderrColor ? stderrColor.level : 0 }); + source_default = chalk; + } +}); + +// index.ts +var index_exports = {}; +__export(index_exports, { + configSchema: () => configSchema, + default: () => createServer +}); +function isValidElementType(type) { + return typeof type === "string" && allowedElementTypes.includes(type); +} +function createServer({ + config +}) { + const server = new Server( + { + name: "analogical-reasoning-server", + version: "0.1.3" + }, + { + capabilities: { + tools: {} + } + } + ); + const analogicalReasoningServer = new AnalogicalReasoningServer(); + server.setRequestHandler(ListToolsRequestSchema, async () => ({ + tools: [ + { + name: "analogicalReasoning", + title: "Analogical Reasoning", + description: `A detailed tool for analogical thinking between source and target domains. +This tool helps models structure analogies systematically to improve understanding and reasoning. +It facilitates explicit mapping between domains, inference generation, and analogy evaluation. + +Use this tool to: +- Map concepts between familiar and unfamiliar domains +- Draw insights through structural alignment +- Generate predictions based on analogical transfer +- Solve problems by applying known solutions to new contexts`, + inputSchema: zodToJsonSchema(AnalogicalReasoningSchema) + } + ] + })); + server.setRequestHandler(CallToolRequestSchema, async (request) => { + const { name, arguments: toolArgs } = request.params; + if (name === "analogicalReasoning") { + const parsed = AnalogicalReasoningSchema.safeParse(toolArgs); + if (!parsed.success) { + throw new McpError( + ErrorCode.InvalidParams, + `Invalid arguments: ${parsed.error.message}` + ); + } + const result = await analogicalReasoningServer.processAnalogicalReasoning(parsed.data); + return result; + } + throw new McpError(ErrorCode.InvalidParams, `Unknown tool: ${name}`); + }); + return server; +} +var configSchema, allowedElementTypes, AnalogicalReasoningServer, AnalogicalReasoningSchema; +var init_index = __esm({ + "index.ts"() { + "use strict"; + init_server(); + init_types2(); + init_zod(); + init_esm(); + init_source(); + configSchema = external_exports.object({}); + allowedElementTypes = ["entity", "attribute", "relation", "process"]; + AnalogicalReasoningServer = class { + analogyHistory = {}; + domainRegistry = {}; + nextElementId = 1; + validateAnalogicalReasoningData(input) { + const data = input; + if (!data.analogyId || typeof data.analogyId !== "string") { + throw new Error("Invalid analogyId: must be a string"); + } + if (!data.purpose || typeof data.purpose !== "string") { + throw new Error("Invalid purpose: must be a string"); + } + if (typeof data.confidence !== "number" || data.confidence < 0 || data.confidence > 1) { + throw new Error("Invalid confidence: must be a number between 0 and 1"); + } + if (typeof data.iteration !== "number" || data.iteration < 0) { + throw new Error("Invalid iteration: must be a non-negative number"); + } + if (typeof data.nextOperationNeeded !== "boolean") { + throw new Error("Invalid nextOperationNeeded: must be a boolean"); + } + const sourceDomain = data.sourceDomain; + const targetDomain = data.targetDomain; + if (!sourceDomain || typeof sourceDomain !== "object") { + throw new Error("Invalid sourceDomain: must be an object"); + } + if (!targetDomain || typeof targetDomain !== "object") { + throw new Error("Invalid targetDomain: must be an object"); + } + if (!sourceDomain.name || typeof sourceDomain.name !== "string") { + throw new Error("Invalid sourceDomain.name: must be a string"); + } + if (!targetDomain.name || typeof targetDomain.name !== "string") { + throw new Error("Invalid targetDomain.name: must be a string"); + } + if (!Array.isArray(sourceDomain.elements)) { + throw new Error("Invalid sourceDomain.elements: must be an array"); + } + if (!Array.isArray(targetDomain.elements)) { + throw new Error("Invalid targetDomain.elements: must be an array"); + } + const sourceElements = []; + for (const element of sourceDomain.elements) { + if (!element.id || typeof element.id !== "string") { + element.id = `elem-${this.nextElementId++}`; + } + if (!element.name || typeof element.name !== "string") { + throw new Error(`Invalid element name for element ${element.id}: must be a string`); + } + if (!element.type || typeof element.type !== "string") { + throw new Error(`Invalid element type for element ${element.id}: must be a string`); + } + if (!isValidElementType(element.type)) { + throw new Error(`Invalid element type for element ${element.id}: must be one of ${allowedElementTypes.join(", ")}`); + } + if (!element.description || typeof element.description !== "string") { + throw new Error(`Invalid element description for element ${element.id}: must be a string`); + } + sourceElements.push({ id: element.id, name: element.name, type: element.type, description: element.description }); + } + const targetElements = []; + for (const element of targetDomain.elements) { + if (!element.id || typeof element.id !== "string") { + element.id = `elem-${this.nextElementId++}`; + } + if (!element.name || typeof element.name !== "string") { + throw new Error(`Invalid element name for element ${element.id}: must be a string`); + } + if (!element.type || typeof element.type !== "string") { + throw new Error(`Invalid element type for element ${element.id}: must be a string`); + } + if (!isValidElementType(element.type)) { + throw new Error(`Invalid element type for element ${element.id}: must be one of ${allowedElementTypes.join(", ")}`); + } + if (!element.description || typeof element.description !== "string") { + throw new Error(`Invalid element description for element ${element.id}: must be a string`); + } + targetElements.push({ id: element.id, name: element.name, type: element.type, description: element.description }); + } + const mappings = []; + if (Array.isArray(data.mappings)) { + for (const mapping of data.mappings) { + if (!mapping.sourceElement || typeof mapping.sourceElement !== "string") { + throw new Error("Invalid mapping sourceElement: must be a string"); + } + if (!mapping.targetElement || typeof mapping.targetElement !== "string") { + throw new Error("Invalid mapping targetElement: must be a string"); + } + if (typeof mapping.mappingStrength !== "number" || mapping.mappingStrength < 0 || mapping.mappingStrength > 1) { + throw new Error("Invalid mappingStrength: must be a number between 0 and 1"); + } + if (!mapping.justification || typeof mapping.justification !== "string") { + throw new Error("Invalid mapping justification: must be a string"); + } + const limitations2 = []; + if (mapping.limitations && Array.isArray(mapping.limitations)) { + for (const limitation of mapping.limitations) { + if (typeof limitation === "string") { + limitations2.push(limitation); + } + } + } + const mappingData = { + sourceElement: mapping.sourceElement, + targetElement: mapping.targetElement, + mappingStrength: mapping.mappingStrength, + justification: mapping.justification + // limitations is added conditionally below + }; + if (limitations2.length > 0) { + mappingData.limitations = limitations2; + } + mappings.push(mappingData); + } + } + const strengths = []; + if (Array.isArray(data.strengths)) { + for (const strength of data.strengths) { + if (typeof strength === "string") { + strengths.push(strength); + } + } + } + const limitations = []; + if (Array.isArray(data.limitations)) { + for (const limitation of data.limitations) { + if (typeof limitation === "string") { + limitations.push(limitation); + } + } + } + const inferences = []; + if (Array.isArray(data.inferences)) { + for (const inference of data.inferences) { + if (!inference.statement || typeof inference.statement !== "string") { + throw new Error("Invalid inference statement: must be a string"); + } + if (typeof inference.confidence !== "number" || inference.confidence < 0 || inference.confidence > 1) { + throw new Error("Invalid inference confidence: must be a number between 0 and 1"); + } + if (!Array.isArray(inference.basedOnMappings)) { + throw new Error("Invalid inference basedOnMappings: must be an array of mapping IDs"); + } + const basedOnMappings = []; + for (const mappingId of inference.basedOnMappings) { + if (typeof mappingId === "string") { + basedOnMappings.push(mappingId); + } + } + inferences.push({ + statement: inference.statement, + confidence: inference.confidence, + basedOnMappings + }); + } + } + const suggestedOperations = []; + if (Array.isArray(data.suggestedOperations)) { + for (const operation of data.suggestedOperations) { + if (typeof operation === "string" && [ + "add-mapping", + "revise-mapping", + "draw-inference", + "evaluate-limitation", + "try-new-source" + ].includes(operation)) { + suggestedOperations.push(operation); + } + } + } + const validatedData = { + sourceDomain: { + name: sourceDomain.name, + elements: sourceElements + }, + targetDomain: { + name: targetDomain.name, + elements: targetElements + }, + mappings, + analogyId: data.analogyId, + purpose: data.purpose, + confidence: data.confidence, + iteration: data.iteration, + strengths, + limitations, + inferences, + nextOperationNeeded: data.nextOperationNeeded + // suggestedOperations is added conditionally below + }; + if (suggestedOperations.length > 0) { + validatedData.suggestedOperations = suggestedOperations; + } + return validatedData; + } + updateDomainRegistry(domain) { + this.domainRegistry[domain.name] = { + name: domain.name, + elements: [...domain.elements] + }; + } + updateAnalogicalReasoning(data) { + let historyEntry = this.analogyHistory[data.analogyId]; + if (!historyEntry) { + historyEntry = []; + this.analogyHistory[data.analogyId] = historyEntry; + } + historyEntry.push(data); + this.updateDomainRegistry(data.sourceDomain); + this.updateDomainRegistry(data.targetDomain); + } + visualizeMapping(data) { + const { sourceDomain, targetDomain, mappings } = data; + let output = ` +${source_default.bold(`ANALOGY: ${sourceDomain.name} \x94 ${targetDomain.name}`)} (ID: ${data.analogyId}) + +`; + output += `${source_default.cyan("Purpose:")} ${data.purpose} +`; + output += `${source_default.cyan("Confidence:")} ${(data.confidence * 100).toFixed(0)}% +`; + output += `${source_default.cyan("Iteration:")} ${data.iteration} + +`; + output += `${source_default.bold("STRUCTURAL MAPPINGS:")} + +`; + const mappingsBySourceType = /* @__PURE__ */ new Map(); + for (const mapping of mappings) { + const sourceElement = sourceDomain.elements.find((e) => e.id === mapping.sourceElement); + if (!sourceElement) continue; + if (!mappingsBySourceType.has(sourceElement.type)) { + mappingsBySourceType.set(sourceElement.type, []); + } + mappingsBySourceType.get(sourceElement.type)?.push(mapping); + } + for (const [type, typeMappings] of mappingsBySourceType.entries()) { + output += `${source_default.yellow(type.toUpperCase())} MAPPINGS: +`; + for (const mapping of typeMappings) { + const sourceElement = sourceDomain.elements.find((e) => e.id === mapping.sourceElement); + const targetElement = targetDomain.elements.find((e) => e.id === mapping.targetElement); + if (!sourceElement || !targetElement) continue; + let strengthIndicator; + if (mapping.mappingStrength >= 0.8) { + strengthIndicator = source_default.green("STRONG"); + } else if (mapping.mappingStrength >= 0.5) { + strengthIndicator = source_default.yellow("MODERATE"); + } else { + strengthIndicator = source_default.red("WEAK"); + } + output += ` ${source_default.bold(sourceElement.name)} ====[ ${strengthIndicator} ]===> ${source_default.bold(targetElement.name)} +`; + output += ` ${source_default.dim("Justification:")} ${mapping.justification} +`; + if (mapping.limitations && mapping.limitations.length > 0) { + output += ` ${source_default.dim("Limitations:")} ${mapping.limitations.join(", ")} +`; + } + output += "\n"; + } + } + const mappedSourceIds = new Set(mappings.map((m) => m.sourceElement)); + const mappedTargetIds = new Set(mappings.map((m) => m.targetElement)); + const unmappedSourceElements = sourceDomain.elements.filter((e) => !mappedSourceIds.has(e.id)); + const unmappedTargetElements = targetDomain.elements.filter((e) => !mappedTargetIds.has(e.id)); + if (unmappedSourceElements.length > 0) { + output += `${source_default.red("UNMAPPED SOURCE ELEMENTS:")} +`; + for (const element of unmappedSourceElements) { + output += ` - ${element.name} (${element.type}): ${element.description} +`; + } + output += "\n"; + } + if (unmappedTargetElements.length > 0) { + output += `${source_default.red("UNMAPPED TARGET ELEMENTS:")} +`; + for (const element of unmappedTargetElements) { + output += ` - ${element.name} (${element.type}): ${element.description} +`; + } + output += "\n"; + } + if (data.inferences.length > 0) { + output += `${source_default.bold("INFERENCES:")} +`; + for (const inference of data.inferences) { + const confidenceIndicator = inference.confidence >= 0.7 ? "" : "?"; + output += ` ${confidenceIndicator} ${inference.statement} +`; + output += ` ${source_default.dim(`Confidence: ${(inference.confidence * 100).toFixed(0)}%`)} +`; + output += "\n"; + } + } + if (data.strengths.length > 0) { + output += `${source_default.green("STRENGTHS:")} +`; + for (const strength of data.strengths) { + output += ` + ${strength} +`; + } + output += "\n"; + } + if (data.limitations.length > 0) { + output += `${source_default.red("LIMITATIONS:")} +`; + for (const limitation of data.limitations) { + output += ` - ${limitation} +`; + } + output += "\n"; + } + if (data.nextOperationNeeded) { + output += `${source_default.blue("SUGGESTED NEXT OPERATIONS:")} +`; + const operations = data.suggestedOperations || []; + if (operations.length > 0) { + for (const operation of operations) { + output += ` \x92 ${operation} +`; + } + } else { + output += ` \x92 Continue refining the analogy +`; + } + } + return output; + } + processAnalogicalReasoning(input) { + try { + const validatedInput = this.validateAnalogicalReasoningData(input); + this.updateAnalogicalReasoning(validatedInput); + const visualization = this.visualizeMapping(validatedInput); + console.error(visualization); + return { + content: [{ + type: "text", + text: JSON.stringify({ + analogyId: validatedInput.analogyId, + purpose: validatedInput.purpose, + iteration: validatedInput.iteration, + sourceDomain: validatedInput.sourceDomain.name, + targetDomain: validatedInput.targetDomain.name, + mappingCount: validatedInput.mappings.length, + inferenceCount: validatedInput.inferences.length, + nextOperationNeeded: validatedInput.nextOperationNeeded, + suggestedOperations: validatedInput.suggestedOperations + }, null, 2) + }] + }; + } catch (error) { + return { + content: [{ + type: "text", + text: JSON.stringify({ + error: error instanceof Error ? error.message : String(error), + status: "failed" + }, null, 2) + }], + isError: true + }; + } + } + }; + AnalogicalReasoningSchema = external_exports.object({ + sourceDomain: external_exports.object({ + name: external_exports.string(), + elements: external_exports.array(external_exports.object({ + id: external_exports.string().optional(), + name: external_exports.string(), + type: external_exports.enum(["entity", "attribute", "relation", "process"]), + description: external_exports.string() + })) + }), + targetDomain: external_exports.object({ + name: external_exports.string(), + elements: external_exports.array(external_exports.object({ + id: external_exports.string().optional(), + name: external_exports.string(), + type: external_exports.enum(["entity", "attribute", "relation", "process"]), + description: external_exports.string() + })) + }), + mappings: external_exports.array(external_exports.object({ + sourceElement: external_exports.string(), + targetElement: external_exports.string(), + mappingStrength: external_exports.number().min(0).max(1), + justification: external_exports.string(), + limitations: external_exports.array(external_exports.string()).optional() + })), + analogyId: external_exports.string(), + purpose: external_exports.enum(["explanation", "prediction", "problem-solving", "creative-generation"]), + confidence: external_exports.number().min(0).max(1), + iteration: external_exports.number().int().min(0), + strengths: external_exports.array(external_exports.string()), + limitations: external_exports.array(external_exports.string()), + inferences: external_exports.array(external_exports.object({ + statement: external_exports.string(), + confidence: external_exports.number().min(0).max(1), + basedOnMappings: external_exports.array(external_exports.string()) + })), + nextOperationNeeded: external_exports.boolean(), + suggestedOperations: external_exports.array( + external_exports.enum(["add-mapping", "revise-mapping", "draw-inference", "evaluate-limitation", "try-new-source"]) + ).optional() + }); + } +}); + +// bootstrap:virtual:bootstrap +var __create2 = Object.create; +var __defProp2 = Object.defineProperty; +var __getOwnPropDesc2 = Object.getOwnPropertyDescriptor; +var __getOwnPropNames2 = Object.getOwnPropertyNames; +var __getProtoOf2 = Object.getPrototypeOf; +var __hasOwnProp2 = Object.prototype.hasOwnProperty; +var __commonJS2 = (cb, mod) => function __require() { + return mod || (0, cb[__getOwnPropNames2(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports; +}; +var __copyProps2 = (to, from, except, desc) => { + if (from && typeof from === "object" || typeof from === "function") { + for (let key of __getOwnPropNames2(from)) + if (!__hasOwnProp2.call(to, key) && key !== except) + __defProp2(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc2(from, key)) || desc.enumerable }); + } + return to; +}; +var __toESM2 = (mod, isNodeMode, target) => (target = mod != null ? __create2(__getProtoOf2(mod)) : {}, __copyProps2( + // If the importer is in node compatibility mode or this is not an ESM + // file that has been converted to a CommonJS file using a Babel- + // compatible transform (i.e. "__esModule" has not been set), then set + // "default" to the CommonJS "module.exports" for node compatibility. + isNodeMode || !mod || !mod.__esModule ? __defProp2(target, "default", { value: mod, enumerable: true }) : target, + mod +)); +var require_bytes = __commonJS2({ + "node_modules/bytes/index.js"(exports2, module2) { + "use strict"; + module2.exports = bytes; + module2.exports.format = format; + module2.exports.parse = parse; + var formatThousandsRegExp = /\B(?=(\d{3})+(?!\d))/g; + var formatDecimalsRegExp = /(?:\.0*|(\.[^0]+)0+)$/; + var map = { + b: 1, + kb: 1 << 10, + mb: 1 << 20, + gb: 1 << 30, + tb: Math.pow(1024, 4), + pb: Math.pow(1024, 5) + }; + var parseRegExp = /^((-|\+)?(\d+(?:\.\d+)?)) *(kb|mb|gb|tb|pb)$/i; + function bytes(value, options) { + if (typeof value === "string") { + return parse(value); + } + if (typeof value === "number") { + return format(value, options); + } + return null; + } + function format(value, options) { + if (!Number.isFinite(value)) { + return null; + } + var mag = Math.abs(value); + var thousandsSeparator = options && options.thousandsSeparator || ""; + var unitSeparator = options && options.unitSeparator || ""; + var decimalPlaces = options && options.decimalPlaces !== void 0 ? options.decimalPlaces : 2; + var fixedDecimals = Boolean(options && options.fixedDecimals); + var unit = options && options.unit || ""; + if (!unit || !map[unit.toLowerCase()]) { + if (mag >= map.pb) { + unit = "PB"; + } else if (mag >= map.tb) { + unit = "TB"; + } else if (mag >= map.gb) { + unit = "GB"; + } else if (mag >= map.mb) { + unit = "MB"; + } else if (mag >= map.kb) { + unit = "KB"; + } else { + unit = "B"; + } + } + var val = value / map[unit.toLowerCase()]; + var str = val.toFixed(decimalPlaces); + if (!fixedDecimals) { + str = str.replace(formatDecimalsRegExp, "$1"); + } + if (thousandsSeparator) { + str = str.split(".").map(function(s, i) { + return i === 0 ? s.replace(formatThousandsRegExp, thousandsSeparator) : s; + }).join("."); + } + return str + unitSeparator + unit; + } + function parse(val) { + if (typeof val === "number" && !isNaN(val)) { + return val; + } + if (typeof val !== "string") { + return null; + } + var results = parseRegExp.exec(val); + var floatValue; + var unit = "b"; + if (!results) { + floatValue = parseInt(val, 10); + unit = "b"; + } else { + floatValue = parseFloat(results[1]); + unit = results[4].toLowerCase(); + } + if (isNaN(floatValue)) { + return null; + } + return Math.floor(map[unit] * floatValue); + } + } +}); +var require_depd = __commonJS2({ + "node_modules/depd/index.js"(exports2, module2) { + var relative = require("path").relative; + module2.exports = depd; + var basePath = process.cwd(); + function containsNamespace(str, namespace) { + var vals = str.split(/[ ,]+/); + var ns = String(namespace).toLowerCase(); + for (var i = 0; i < vals.length; i++) { + var val = vals[i]; + if (val && (val === "*" || val.toLowerCase() === ns)) { + return true; + } + } + return false; + } + function convertDataDescriptorToAccessor(obj, prop, message) { + var descriptor = Object.getOwnPropertyDescriptor(obj, prop); + var value = descriptor.value; + descriptor.get = function getter() { + return value; + }; + if (descriptor.writable) { + descriptor.set = function setter(val) { + return value = val; + }; + } + delete descriptor.value; + delete descriptor.writable; + Object.defineProperty(obj, prop, descriptor); + return descriptor; + } + function createArgumentsString(arity) { + var str = ""; + for (var i = 0; i < arity; i++) { + str += ", arg" + i; + } + return str.substr(2); + } + function createStackString(stack) { + var str = this.name + ": " + this.namespace; + if (this.message) { + str += " deprecated " + this.message; + } + for (var i = 0; i < stack.length; i++) { + str += "\n at " + stack[i].toString(); + } + return str; + } + function depd(namespace) { + if (!namespace) { + throw new TypeError("argument namespace is required"); + } + var stack = getStack(); + var site = callSiteLocation(stack[1]); + var file = site[0]; + function deprecate(message) { + log.call(deprecate, message); + } + deprecate._file = file; + deprecate._ignored = isignored(namespace); + deprecate._namespace = namespace; + deprecate._traced = istraced(namespace); + deprecate._warned = /* @__PURE__ */ Object.create(null); + deprecate.function = wrapfunction; + deprecate.property = wrapproperty; + return deprecate; + } + function eehaslisteners(emitter, type) { + var count = typeof emitter.listenerCount !== "function" ? emitter.listeners(type).length : emitter.listenerCount(type); + return count > 0; + } + function isignored(namespace) { + if (process.noDeprecation) { + return true; + } + var str = process.env.NO_DEPRECATION || ""; + return containsNamespace(str, namespace); + } + function istraced(namespace) { + if (process.traceDeprecation) { + return true; + } + var str = process.env.TRACE_DEPRECATION || ""; + return containsNamespace(str, namespace); + } + function log(message, site) { + var haslisteners = eehaslisteners(process, "deprecation"); + if (!haslisteners && this._ignored) { + return; + } + var caller; + var callFile; + var callSite; + var depSite; + var i = 0; + var seen = false; + var stack = getStack(); + var file = this._file; + if (site) { + depSite = site; + callSite = callSiteLocation(stack[1]); + callSite.name = depSite.name; + file = callSite[0]; + } else { + i = 2; + depSite = callSiteLocation(stack[i]); + callSite = depSite; + } + for (; i < stack.length; i++) { + caller = callSiteLocation(stack[i]); + callFile = caller[0]; + if (callFile === file) { + seen = true; + } else if (callFile === this._file) { + file = this._file; + } else if (seen) { + break; + } + } + var key = caller ? depSite.join(":") + "__" + caller.join(":") : void 0; + if (key !== void 0 && key in this._warned) { + return; + } + this._warned[key] = true; + var msg = message; + if (!msg) { + msg = callSite === depSite || !callSite.name ? defaultMessage(depSite) : defaultMessage(callSite); + } + if (haslisteners) { + var err2 = DeprecationError(this._namespace, msg, stack.slice(i)); + process.emit("deprecation", err2); + return; + } + var format = process.stderr.isTTY ? formatColor : formatPlain; + var output = format.call(this, msg, caller, stack.slice(i)); + process.stderr.write(output + "\n", "utf8"); + } + function callSiteLocation(callSite) { + var file = callSite.getFileName() || ""; + var line = callSite.getLineNumber(); + var colm = callSite.getColumnNumber(); + if (callSite.isEval()) { + file = callSite.getEvalOrigin() + ", " + file; + } + var site = [file, line, colm]; + site.callSite = callSite; + site.name = callSite.getFunctionName(); + return site; + } + function defaultMessage(site) { + var callSite = site.callSite; + var funcName = site.name; + if (!funcName) { + funcName = ""; + } + var context = callSite.getThis(); + var typeName = context && callSite.getTypeName(); + if (typeName === "Object") { + typeName = void 0; + } + if (typeName === "Function") { + typeName = context.name || typeName; + } + return typeName && callSite.getMethodName() ? typeName + "." + funcName : funcName; + } + function formatPlain(msg, caller, stack) { + var timestamp = (/* @__PURE__ */ new Date()).toUTCString(); + var formatted = timestamp + " " + this._namespace + " deprecated " + msg; + if (this._traced) { + for (var i = 0; i < stack.length; i++) { + formatted += "\n at " + stack[i].toString(); + } + return formatted; + } + if (caller) { + formatted += " at " + formatLocation(caller); + } + return formatted; + } + function formatColor(msg, caller, stack) { + var formatted = "\x1B[36;1m" + this._namespace + "\x1B[22;39m \x1B[33;1mdeprecated\x1B[22;39m \x1B[0m" + msg + "\x1B[39m"; + if (this._traced) { + for (var i = 0; i < stack.length; i++) { + formatted += "\n \x1B[36mat " + stack[i].toString() + "\x1B[39m"; + } + return formatted; + } + if (caller) { + formatted += " \x1B[36m" + formatLocation(caller) + "\x1B[39m"; + } + return formatted; + } + function formatLocation(callSite) { + return relative(basePath, callSite[0]) + ":" + callSite[1] + ":" + callSite[2]; + } + function getStack() { + var limit = Error.stackTraceLimit; + var obj = {}; + var prep = Error.prepareStackTrace; + Error.prepareStackTrace = prepareObjectStackTrace; + Error.stackTraceLimit = Math.max(10, limit); + Error.captureStackTrace(obj); + var stack = obj.stack.slice(1); + Error.prepareStackTrace = prep; + Error.stackTraceLimit = limit; + return stack; + } + function prepareObjectStackTrace(obj, stack) { + return stack; + } + function wrapfunction(fn, message) { + if (typeof fn !== "function") { + throw new TypeError("argument fn must be a function"); + } + var args = createArgumentsString(fn.length); + var stack = getStack(); + var site = callSiteLocation(stack[1]); + site.name = fn.name; + var deprecatedfn = new Function( + "fn", + "log", + "deprecate", + "message", + "site", + '"use strict"\nreturn function (' + args + ") {log.call(deprecate, message, site)\nreturn fn.apply(this, arguments)\n}" + )(fn, log, this, message, site); + return deprecatedfn; + } + function wrapproperty(obj, prop, message) { + if (!obj || typeof obj !== "object" && typeof obj !== "function") { + throw new TypeError("argument obj must be object"); + } + var descriptor = Object.getOwnPropertyDescriptor(obj, prop); + if (!descriptor) { + throw new TypeError("must call property on owner object"); + } + if (!descriptor.configurable) { + throw new TypeError("property must be configurable"); + } + var deprecate = this; + var stack = getStack(); + var site = callSiteLocation(stack[1]); + site.name = prop; + if ("value" in descriptor) { + descriptor = convertDataDescriptorToAccessor(obj, prop, message); + } + var get = descriptor.get; + var set = descriptor.set; + if (typeof get === "function") { + descriptor.get = function getter() { + log.call(deprecate, message, site); + return get.apply(this, arguments); + }; + } + if (typeof set === "function") { + descriptor.set = function setter() { + log.call(deprecate, message, site); + return set.apply(this, arguments); + }; + } + Object.defineProperty(obj, prop, descriptor); + } + function DeprecationError(namespace, message, stack) { + var error = new Error(); + var stackString; + Object.defineProperty(error, "constructor", { + value: DeprecationError + }); + Object.defineProperty(error, "message", { + configurable: true, + enumerable: false, + value: message, + writable: true + }); + Object.defineProperty(error, "name", { + enumerable: false, + configurable: true, + value: "DeprecationError", + writable: true + }); + Object.defineProperty(error, "namespace", { + configurable: true, + enumerable: false, + value: namespace, + writable: true + }); + Object.defineProperty(error, "stack", { + configurable: true, + enumerable: false, + get: function() { + if (stackString !== void 0) { + return stackString; + } + return stackString = createStackString.call(this, stack); + }, + set: function setter(val) { + stackString = val; + } + }); + return error; + } + } +}); +var require_setprototypeof = __commonJS2({ + "node_modules/setprototypeof/index.js"(exports2, module2) { + "use strict"; + module2.exports = Object.setPrototypeOf || ({ __proto__: [] } instanceof Array ? setProtoOf : mixinProperties); + function setProtoOf(obj, proto2) { + obj.__proto__ = proto2; + return obj; + } + function mixinProperties(obj, proto2) { + for (var prop in proto2) { + if (!Object.prototype.hasOwnProperty.call(obj, prop)) { + obj[prop] = proto2[prop]; + } + } + return obj; + } + } +}); +var require_codes = __commonJS2({ + "node_modules/statuses/codes.json"(exports2, module2) { + module2.exports = { + "100": "Continue", + "101": "Switching Protocols", + "102": "Processing", + "103": "Early Hints", + "200": "OK", + "201": "Created", + "202": "Accepted", + "203": "Non-Authoritative Information", + "204": "No Content", + "205": "Reset Content", + "206": "Partial Content", + "207": "Multi-Status", + "208": "Already Reported", + "226": "IM Used", + "300": "Multiple Choices", + "301": "Moved Permanently", + "302": "Found", + "303": "See Other", + "304": "Not Modified", + "305": "Use Proxy", + "307": "Temporary Redirect", + "308": "Permanent Redirect", + "400": "Bad Request", + "401": "Unauthorized", + "402": "Payment Required", + "403": "Forbidden", + "404": "Not Found", + "405": "Method Not Allowed", + "406": "Not Acceptable", + "407": "Proxy Authentication Required", + "408": "Request Timeout", + "409": "Conflict", + "410": "Gone", + "411": "Length Required", + "412": "Precondition Failed", + "413": "Payload Too Large", + "414": "URI Too Long", + "415": "Unsupported Media Type", + "416": "Range Not Satisfiable", + "417": "Expectation Failed", + "418": "I'm a Teapot", + "421": "Misdirected Request", + "422": "Unprocessable Entity", + "423": "Locked", + "424": "Failed Dependency", + "425": "Too Early", + "426": "Upgrade Required", + "428": "Precondition Required", + "429": "Too Many Requests", + "431": "Request Header Fields Too Large", + "451": "Unavailable For Legal Reasons", + "500": "Internal Server Error", + "501": "Not Implemented", + "502": "Bad Gateway", + "503": "Service Unavailable", + "504": "Gateway Timeout", + "505": "HTTP Version Not Supported", + "506": "Variant Also Negotiates", + "507": "Insufficient Storage", + "508": "Loop Detected", + "509": "Bandwidth Limit Exceeded", + "510": "Not Extended", + "511": "Network Authentication Required" + }; + } +}); +var require_statuses = __commonJS2({ + "node_modules/statuses/index.js"(exports2, module2) { + "use strict"; + var codes = require_codes(); + module2.exports = status; + status.message = codes; + status.code = createMessageToStatusCodeMap(codes); + status.codes = createStatusCodeList(codes); + status.redirect = { + 300: true, + 301: true, + 302: true, + 303: true, + 305: true, + 307: true, + 308: true + }; + status.empty = { + 204: true, + 205: true, + 304: true + }; + status.retry = { + 502: true, + 503: true, + 504: true + }; + function createMessageToStatusCodeMap(codes2) { + var map = {}; + Object.keys(codes2).forEach(function forEachCode(code) { + var message = codes2[code]; + var status2 = Number(code); + map[message.toLowerCase()] = status2; + }); + return map; + } + function createStatusCodeList(codes2) { + return Object.keys(codes2).map(function mapCode(code) { + return Number(code); + }); + } + function getStatusCode(message) { + var msg = message.toLowerCase(); + if (!Object.prototype.hasOwnProperty.call(status.code, msg)) { + throw new Error('invalid status message: "' + message + '"'); + } + return status.code[msg]; + } + function getStatusMessage(code) { + if (!Object.prototype.hasOwnProperty.call(status.message, code)) { + throw new Error("invalid status code: " + code); + } + return status.message[code]; + } + function status(code) { + if (typeof code === "number") { + return getStatusMessage(code); + } + if (typeof code !== "string") { + throw new TypeError("code must be a number or string"); + } + var n = parseInt(code, 10); + if (!isNaN(n)) { + return getStatusMessage(n); + } + return getStatusCode(code); + } + } +}); +var require_inherits_browser = __commonJS2({ + "node_modules/inherits/inherits_browser.js"(exports2, module2) { + if (typeof Object.create === "function") { + module2.exports = function inherits(ctor, superCtor) { + if (superCtor) { + ctor.super_ = superCtor; + ctor.prototype = Object.create(superCtor.prototype, { + constructor: { + value: ctor, + enumerable: false, + writable: true, + configurable: true + } + }); + } + }; + } else { + module2.exports = function inherits(ctor, superCtor) { + if (superCtor) { + ctor.super_ = superCtor; + var TempCtor = function() { + }; + TempCtor.prototype = superCtor.prototype; + ctor.prototype = new TempCtor(); + ctor.prototype.constructor = ctor; + } + }; + } + } +}); +var require_inherits = __commonJS2({ + "node_modules/inherits/inherits.js"(exports2, module2) { + try { + util22 = require("util"); + if (typeof util22.inherits !== "function") throw ""; + module2.exports = util22.inherits; + } catch (e) { + module2.exports = require_inherits_browser(); + } + var util22; + } +}); +var require_toidentifier = __commonJS2({ + "node_modules/toidentifier/index.js"(exports2, module2) { + "use strict"; + module2.exports = toIdentifier; + function toIdentifier(str) { + return str.split(" ").map(function(token) { + return token.slice(0, 1).toUpperCase() + token.slice(1); + }).join("").replace(/[^ _0-9a-z]/gi, ""); + } + } +}); +var require_http_errors = __commonJS2({ + "node_modules/http-errors/index.js"(exports2, module2) { + "use strict"; + var deprecate = require_depd()("http-errors"); + var setPrototypeOf = require_setprototypeof(); + var statuses = require_statuses(); + var inherits = require_inherits(); + var toIdentifier = require_toidentifier(); + module2.exports = createError; + module2.exports.HttpError = createHttpErrorConstructor(); + module2.exports.isHttpError = createIsHttpErrorFunction(module2.exports.HttpError); + populateConstructorExports(module2.exports, statuses.codes, module2.exports.HttpError); + function codeClass(status) { + return Number(String(status).charAt(0) + "00"); + } + function createError() { + var err2; + var msg; + var status = 500; + var props = {}; + for (var i = 0; i < arguments.length; i++) { + var arg = arguments[i]; + var type = typeof arg; + if (type === "object" && arg instanceof Error) { + err2 = arg; + status = err2.status || err2.statusCode || status; + } else if (type === "number" && i === 0) { + status = arg; + } else if (type === "string") { + msg = arg; + } else if (type === "object") { + props = arg; + } else { + throw new TypeError("argument #" + (i + 1) + " unsupported type " + type); + } + } + if (typeof status === "number" && (status < 400 || status >= 600)) { + deprecate("non-error status code; use only 4xx or 5xx status codes"); + } + if (typeof status !== "number" || !statuses.message[status] && (status < 400 || status >= 600)) { + status = 500; + } + var HttpError = createError[status] || createError[codeClass(status)]; + if (!err2) { + err2 = HttpError ? new HttpError(msg) : new Error(msg || statuses.message[status]); + Error.captureStackTrace(err2, createError); + } + if (!HttpError || !(err2 instanceof HttpError) || err2.status !== status) { + err2.expose = status < 500; + err2.status = err2.statusCode = status; + } + for (var key in props) { + if (key !== "status" && key !== "statusCode") { + err2[key] = props[key]; + } + } + return err2; + } + function createHttpErrorConstructor() { + function HttpError() { + throw new TypeError("cannot construct abstract class"); + } + inherits(HttpError, Error); + return HttpError; + } + function createClientErrorConstructor(HttpError, name, code) { + var className = toClassName(name); + function ClientError(message) { + var msg = message != null ? message : statuses.message[code]; + var err2 = new Error(msg); + Error.captureStackTrace(err2, ClientError); + setPrototypeOf(err2, ClientError.prototype); + Object.defineProperty(err2, "message", { + enumerable: true, + configurable: true, + value: msg, + writable: true + }); + Object.defineProperty(err2, "name", { + enumerable: false, + configurable: true, + value: className, + writable: true + }); + return err2; + } + inherits(ClientError, HttpError); + nameFunc(ClientError, className); + ClientError.prototype.status = code; + ClientError.prototype.statusCode = code; + ClientError.prototype.expose = true; + return ClientError; + } + function createIsHttpErrorFunction(HttpError) { + return function isHttpError(val) { + if (!val || typeof val !== "object") { + return false; + } + if (val instanceof HttpError) { + return true; + } + return val instanceof Error && typeof val.expose === "boolean" && typeof val.statusCode === "number" && val.status === val.statusCode; + }; + } + function createServerErrorConstructor(HttpError, name, code) { + var className = toClassName(name); + function ServerError(message) { + var msg = message != null ? message : statuses.message[code]; + var err2 = new Error(msg); + Error.captureStackTrace(err2, ServerError); + setPrototypeOf(err2, ServerError.prototype); + Object.defineProperty(err2, "message", { + enumerable: true, + configurable: true, + value: msg, + writable: true + }); + Object.defineProperty(err2, "name", { + enumerable: false, + configurable: true, + value: className, + writable: true + }); + return err2; + } + inherits(ServerError, HttpError); + nameFunc(ServerError, className); + ServerError.prototype.status = code; + ServerError.prototype.statusCode = code; + ServerError.prototype.expose = false; + return ServerError; + } + function nameFunc(func, name) { + var desc = Object.getOwnPropertyDescriptor(func, "name"); + if (desc && desc.configurable) { + desc.value = name; + Object.defineProperty(func, "name", desc); + } + } + function populateConstructorExports(exports3, codes, HttpError) { + codes.forEach(function forEachCode(code) { + var CodeError; + var name = toIdentifier(statuses.message[code]); + switch (codeClass(code)) { + case 400: + CodeError = createClientErrorConstructor(HttpError, name, code); + break; + case 500: + CodeError = createServerErrorConstructor(HttpError, name, code); + break; + } + if (CodeError) { + exports3[code] = CodeError; + exports3[name] = CodeError; + } + }); + } + function toClassName(name) { + return name.substr(-5) !== "Error" ? name + "Error" : name; + } + } +}); +var require_safer = __commonJS2({ + "node_modules/safer-buffer/safer.js"(exports2, module2) { + "use strict"; + var buffer = require("buffer"); + var Buffer2 = buffer.Buffer; + var safer = {}; + var key; + for (key in buffer) { + if (!buffer.hasOwnProperty(key)) continue; + if (key === "SlowBuffer" || key === "Buffer") continue; + safer[key] = buffer[key]; + } + var Safer = safer.Buffer = {}; + for (key in Buffer2) { + if (!Buffer2.hasOwnProperty(key)) continue; + if (key === "allocUnsafe" || key === "allocUnsafeSlow") continue; + Safer[key] = Buffer2[key]; + } + safer.Buffer.prototype = Buffer2.prototype; + if (!Safer.from || Safer.from === Uint8Array.from) { + Safer.from = function(value, encodingOrOffset, length) { + if (typeof value === "number") { + throw new TypeError('The "value" argument must not be of type number. Received type ' + typeof value); + } + if (value && typeof value.length === "undefined") { + throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type " + typeof value); + } + return Buffer2(value, encodingOrOffset, length); + }; + } + if (!Safer.alloc) { + Safer.alloc = function(size, fill, encoding) { + if (typeof size !== "number") { + throw new TypeError('The "size" argument must be of type number. Received type ' + typeof size); + } + if (size < 0 || size >= 2 * (1 << 30)) { + throw new RangeError('The value "' + size + '" is invalid for option "size"'); + } + var buf = Buffer2(size); + if (!fill || fill.length === 0) { + buf.fill(0); + } else if (typeof encoding === "string") { + buf.fill(fill, encoding); + } else { + buf.fill(fill); + } + return buf; + }; + } + if (!safer.kStringMaxLength) { + try { + safer.kStringMaxLength = process.binding("buffer").kStringMaxLength; + } catch (e) { + } + } + if (!safer.constants) { + safer.constants = { + MAX_LENGTH: safer.kMaxLength + }; + if (safer.kStringMaxLength) { + safer.constants.MAX_STRING_LENGTH = safer.kStringMaxLength; + } + } + module2.exports = safer; + } +}); +var require_bom_handling = __commonJS2({ + "node_modules/raw-body/node_modules/iconv-lite/lib/bom-handling.js"(exports2) { + "use strict"; + var BOMChar = "\uFEFF"; + exports2.PrependBOM = PrependBOMWrapper; + function PrependBOMWrapper(encoder, options) { + this.encoder = encoder; + this.addBOM = true; + } + PrependBOMWrapper.prototype.write = function(str) { + if (this.addBOM) { + str = BOMChar + str; + this.addBOM = false; + } + return this.encoder.write(str); + }; + PrependBOMWrapper.prototype.end = function() { + return this.encoder.end(); + }; + exports2.StripBOM = StripBOMWrapper; + function StripBOMWrapper(decoder, options) { + this.decoder = decoder; + this.pass = false; + this.options = options || {}; + } + StripBOMWrapper.prototype.write = function(buf) { + var res = this.decoder.write(buf); + if (this.pass || !res) + return res; + if (res[0] === BOMChar) { + res = res.slice(1); + if (typeof this.options.stripBOM === "function") + this.options.stripBOM(); + } + this.pass = true; + return res; + }; + StripBOMWrapper.prototype.end = function() { + return this.decoder.end(); + }; + } +}); +var require_internal = __commonJS2({ + "node_modules/raw-body/node_modules/iconv-lite/encodings/internal.js"(exports2, module2) { + "use strict"; + var Buffer2 = require_safer().Buffer; + module2.exports = { + // Encodings + utf8: { type: "_internal", bomAware: true }, + cesu8: { type: "_internal", bomAware: true }, + unicode11utf8: "utf8", + ucs2: { type: "_internal", bomAware: true }, + utf16le: "ucs2", + binary: { type: "_internal" }, + base64: { type: "_internal" }, + hex: { type: "_internal" }, + // Codec. + _internal: InternalCodec + }; + function InternalCodec(codecOptions, iconv) { + this.enc = codecOptions.encodingName; + this.bomAware = codecOptions.bomAware; + if (this.enc === "base64") + this.encoder = InternalEncoderBase64; + else if (this.enc === "cesu8") { + this.enc = "utf8"; + this.encoder = InternalEncoderCesu8; + if (Buffer2.from("eda0bdedb2a9", "hex").toString() !== "\u{1F4A9}") { + this.decoder = InternalDecoderCesu8; + this.defaultCharUnicode = iconv.defaultCharUnicode; + } + } + } + InternalCodec.prototype.encoder = InternalEncoder; + InternalCodec.prototype.decoder = InternalDecoder; + var StringDecoder = require("string_decoder").StringDecoder; + if (!StringDecoder.prototype.end) + StringDecoder.prototype.end = function() { + }; + function InternalDecoder(options, codec) { + this.decoder = new StringDecoder(codec.enc); + } + InternalDecoder.prototype.write = function(buf) { + if (!Buffer2.isBuffer(buf)) { + buf = Buffer2.from(buf); + } + return this.decoder.write(buf); + }; + InternalDecoder.prototype.end = function() { + return this.decoder.end(); + }; + function InternalEncoder(options, codec) { + this.enc = codec.enc; + } + InternalEncoder.prototype.write = function(str) { + return Buffer2.from(str, this.enc); + }; + InternalEncoder.prototype.end = function() { + }; + function InternalEncoderBase64(options, codec) { + this.prevStr = ""; + } + InternalEncoderBase64.prototype.write = function(str) { + str = this.prevStr + str; + var completeQuads = str.length - str.length % 4; + this.prevStr = str.slice(completeQuads); + str = str.slice(0, completeQuads); + return Buffer2.from(str, "base64"); + }; + InternalEncoderBase64.prototype.end = function() { + return Buffer2.from(this.prevStr, "base64"); + }; + function InternalEncoderCesu8(options, codec) { + } + InternalEncoderCesu8.prototype.write = function(str) { + var buf = Buffer2.alloc(str.length * 3), bufIdx = 0; + for (var i = 0; i < str.length; i++) { + var charCode = str.charCodeAt(i); + if (charCode < 128) + buf[bufIdx++] = charCode; + else if (charCode < 2048) { + buf[bufIdx++] = 192 + (charCode >>> 6); + buf[bufIdx++] = 128 + (charCode & 63); + } else { + buf[bufIdx++] = 224 + (charCode >>> 12); + buf[bufIdx++] = 128 + (charCode >>> 6 & 63); + buf[bufIdx++] = 128 + (charCode & 63); + } + } + return buf.slice(0, bufIdx); + }; + InternalEncoderCesu8.prototype.end = function() { + }; + function InternalDecoderCesu8(options, codec) { + this.acc = 0; + this.contBytes = 0; + this.accBytes = 0; + this.defaultCharUnicode = codec.defaultCharUnicode; + } + InternalDecoderCesu8.prototype.write = function(buf) { + var acc = this.acc, contBytes = this.contBytes, accBytes = this.accBytes, res = ""; + for (var i = 0; i < buf.length; i++) { + var curByte = buf[i]; + if ((curByte & 192) !== 128) { + if (contBytes > 0) { + res += this.defaultCharUnicode; + contBytes = 0; + } + if (curByte < 128) { + res += String.fromCharCode(curByte); + } else if (curByte < 224) { + acc = curByte & 31; + contBytes = 1; + accBytes = 1; + } else if (curByte < 240) { + acc = curByte & 15; + contBytes = 2; + accBytes = 1; + } else { + res += this.defaultCharUnicode; + } + } else { + if (contBytes > 0) { + acc = acc << 6 | curByte & 63; + contBytes--; + accBytes++; + if (contBytes === 0) { + if (accBytes === 2 && acc < 128 && acc > 0) + res += this.defaultCharUnicode; + else if (accBytes === 3 && acc < 2048) + res += this.defaultCharUnicode; + else + res += String.fromCharCode(acc); + } + } else { + res += this.defaultCharUnicode; + } + } + } + this.acc = acc; + this.contBytes = contBytes; + this.accBytes = accBytes; + return res; + }; + InternalDecoderCesu8.prototype.end = function() { + var res = 0; + if (this.contBytes > 0) + res += this.defaultCharUnicode; + return res; + }; + } +}); +var require_utf32 = __commonJS2({ + "node_modules/raw-body/node_modules/iconv-lite/encodings/utf32.js"(exports2) { + "use strict"; + var Buffer2 = require_safer().Buffer; + exports2._utf32 = Utf32Codec; + function Utf32Codec(codecOptions, iconv) { + this.iconv = iconv; + this.bomAware = true; + this.isLE = codecOptions.isLE; + } + exports2.utf32le = { type: "_utf32", isLE: true }; + exports2.utf32be = { type: "_utf32", isLE: false }; + exports2.ucs4le = "utf32le"; + exports2.ucs4be = "utf32be"; + Utf32Codec.prototype.encoder = Utf32Encoder; + Utf32Codec.prototype.decoder = Utf32Decoder; + function Utf32Encoder(options, codec) { + this.isLE = codec.isLE; + this.highSurrogate = 0; + } + Utf32Encoder.prototype.write = function(str) { + var src = Buffer2.from(str, "ucs2"); + var dst = Buffer2.alloc(src.length * 2); + var write32 = this.isLE ? dst.writeUInt32LE : dst.writeUInt32BE; + var offset = 0; + for (var i = 0; i < src.length; i += 2) { + var code = src.readUInt16LE(i); + var isHighSurrogate = 55296 <= code && code < 56320; + var isLowSurrogate = 56320 <= code && code < 57344; + if (this.highSurrogate) { + if (isHighSurrogate || !isLowSurrogate) { + write32.call(dst, this.highSurrogate, offset); + offset += 4; + } else { + var codepoint = (this.highSurrogate - 55296 << 10 | code - 56320) + 65536; + write32.call(dst, codepoint, offset); + offset += 4; + this.highSurrogate = 0; + continue; + } + } + if (isHighSurrogate) + this.highSurrogate = code; + else { + write32.call(dst, code, offset); + offset += 4; + this.highSurrogate = 0; + } + } + if (offset < dst.length) + dst = dst.slice(0, offset); + return dst; + }; + Utf32Encoder.prototype.end = function() { + if (!this.highSurrogate) + return; + var buf = Buffer2.alloc(4); + if (this.isLE) + buf.writeUInt32LE(this.highSurrogate, 0); + else + buf.writeUInt32BE(this.highSurrogate, 0); + this.highSurrogate = 0; + return buf; + }; + function Utf32Decoder(options, codec) { + this.isLE = codec.isLE; + this.badChar = codec.iconv.defaultCharUnicode.charCodeAt(0); + this.overflow = []; + } + Utf32Decoder.prototype.write = function(src) { + if (src.length === 0) + return ""; + var i = 0; + var codepoint = 0; + var dst = Buffer2.alloc(src.length + 4); + var offset = 0; + var isLE = this.isLE; + var overflow = this.overflow; + var badChar = this.badChar; + if (overflow.length > 0) { + for (; i < src.length && overflow.length < 4; i++) + overflow.push(src[i]); + if (overflow.length === 4) { + if (isLE) { + codepoint = overflow[i] | overflow[i + 1] << 8 | overflow[i + 2] << 16 | overflow[i + 3] << 24; + } else { + codepoint = overflow[i + 3] | overflow[i + 2] << 8 | overflow[i + 1] << 16 | overflow[i] << 24; + } + overflow.length = 0; + offset = _writeCodepoint(dst, offset, codepoint, badChar); + } + } + for (; i < src.length - 3; i += 4) { + if (isLE) { + codepoint = src[i] | src[i + 1] << 8 | src[i + 2] << 16 | src[i + 3] << 24; + } else { + codepoint = src[i + 3] | src[i + 2] << 8 | src[i + 1] << 16 | src[i] << 24; + } + offset = _writeCodepoint(dst, offset, codepoint, badChar); + } + for (; i < src.length; i++) { + overflow.push(src[i]); + } + return dst.slice(0, offset).toString("ucs2"); + }; + function _writeCodepoint(dst, offset, codepoint, badChar) { + if (codepoint < 0 || codepoint > 1114111) { + codepoint = badChar; + } + if (codepoint >= 65536) { + codepoint -= 65536; + var high = 55296 | codepoint >> 10; + dst[offset++] = high & 255; + dst[offset++] = high >> 8; + var codepoint = 56320 | codepoint & 1023; + } + dst[offset++] = codepoint & 255; + dst[offset++] = codepoint >> 8; + return offset; + } + Utf32Decoder.prototype.end = function() { + this.overflow.length = 0; + }; + exports2.utf32 = Utf32AutoCodec; + exports2.ucs4 = "utf32"; + function Utf32AutoCodec(options, iconv) { + this.iconv = iconv; + } + Utf32AutoCodec.prototype.encoder = Utf32AutoEncoder; + Utf32AutoCodec.prototype.decoder = Utf32AutoDecoder; + function Utf32AutoEncoder(options, codec) { + options = options || {}; + if (options.addBOM === void 0) + options.addBOM = true; + this.encoder = codec.iconv.getEncoder(options.defaultEncoding || "utf-32le", options); + } + Utf32AutoEncoder.prototype.write = function(str) { + return this.encoder.write(str); + }; + Utf32AutoEncoder.prototype.end = function() { + return this.encoder.end(); + }; + function Utf32AutoDecoder(options, codec) { + this.decoder = null; + this.initialBufs = []; + this.initialBufsLen = 0; + this.options = options || {}; + this.iconv = codec.iconv; + } + Utf32AutoDecoder.prototype.write = function(buf) { + if (!this.decoder) { + this.initialBufs.push(buf); + this.initialBufsLen += buf.length; + if (this.initialBufsLen < 32) + return ""; + var encoding = detectEncoding(this.initialBufs, this.options.defaultEncoding); + this.decoder = this.iconv.getDecoder(encoding, this.options); + var resStr = ""; + for (var i = 0; i < this.initialBufs.length; i++) + resStr += this.decoder.write(this.initialBufs[i]); + this.initialBufs.length = this.initialBufsLen = 0; + return resStr; + } + return this.decoder.write(buf); + }; + Utf32AutoDecoder.prototype.end = function() { + if (!this.decoder) { + var encoding = detectEncoding(this.initialBufs, this.options.defaultEncoding); + this.decoder = this.iconv.getDecoder(encoding, this.options); + var resStr = ""; + for (var i = 0; i < this.initialBufs.length; i++) + resStr += this.decoder.write(this.initialBufs[i]); + var trail = this.decoder.end(); + if (trail) + resStr += trail; + this.initialBufs.length = this.initialBufsLen = 0; + return resStr; + } + return this.decoder.end(); + }; + function detectEncoding(bufs, defaultEncoding) { + var b = []; + var charsProcessed = 0; + var invalidLE = 0, invalidBE = 0; + var bmpCharsLE = 0, bmpCharsBE = 0; + outer_loop: + for (var i = 0; i < bufs.length; i++) { + var buf = bufs[i]; + for (var j = 0; j < buf.length; j++) { + b.push(buf[j]); + if (b.length === 4) { + if (charsProcessed === 0) { + if (b[0] === 255 && b[1] === 254 && b[2] === 0 && b[3] === 0) { + return "utf-32le"; + } + if (b[0] === 0 && b[1] === 0 && b[2] === 254 && b[3] === 255) { + return "utf-32be"; + } + } + if (b[0] !== 0 || b[1] > 16) invalidBE++; + if (b[3] !== 0 || b[2] > 16) invalidLE++; + if (b[0] === 0 && b[1] === 0 && (b[2] !== 0 || b[3] !== 0)) bmpCharsBE++; + if ((b[0] !== 0 || b[1] !== 0) && b[2] === 0 && b[3] === 0) bmpCharsLE++; + b.length = 0; + charsProcessed++; + if (charsProcessed >= 100) { + break outer_loop; + } + } + } + } + if (bmpCharsBE - invalidBE > bmpCharsLE - invalidLE) return "utf-32be"; + if (bmpCharsBE - invalidBE < bmpCharsLE - invalidLE) return "utf-32le"; + return defaultEncoding || "utf-32le"; + } + } +}); +var require_utf16 = __commonJS2({ + "node_modules/raw-body/node_modules/iconv-lite/encodings/utf16.js"(exports2) { + "use strict"; + var Buffer2 = require_safer().Buffer; + exports2.utf16be = Utf16BECodec; + function Utf16BECodec() { + } + Utf16BECodec.prototype.encoder = Utf16BEEncoder; + Utf16BECodec.prototype.decoder = Utf16BEDecoder; + Utf16BECodec.prototype.bomAware = true; + function Utf16BEEncoder() { + } + Utf16BEEncoder.prototype.write = function(str) { + var buf = Buffer2.from(str, "ucs2"); + for (var i = 0; i < buf.length; i += 2) { + var tmp = buf[i]; + buf[i] = buf[i + 1]; + buf[i + 1] = tmp; + } + return buf; + }; + Utf16BEEncoder.prototype.end = function() { + }; + function Utf16BEDecoder() { + this.overflowByte = -1; + } + Utf16BEDecoder.prototype.write = function(buf) { + if (buf.length == 0) + return ""; + var buf2 = Buffer2.alloc(buf.length + 1), i = 0, j = 0; + if (this.overflowByte !== -1) { + buf2[0] = buf[0]; + buf2[1] = this.overflowByte; + i = 1; + j = 2; + } + for (; i < buf.length - 1; i += 2, j += 2) { + buf2[j] = buf[i + 1]; + buf2[j + 1] = buf[i]; + } + this.overflowByte = i == buf.length - 1 ? buf[buf.length - 1] : -1; + return buf2.slice(0, j).toString("ucs2"); + }; + Utf16BEDecoder.prototype.end = function() { + this.overflowByte = -1; + }; + exports2.utf16 = Utf16Codec; + function Utf16Codec(codecOptions, iconv) { + this.iconv = iconv; + } + Utf16Codec.prototype.encoder = Utf16Encoder; + Utf16Codec.prototype.decoder = Utf16Decoder; + function Utf16Encoder(options, codec) { + options = options || {}; + if (options.addBOM === void 0) + options.addBOM = true; + this.encoder = codec.iconv.getEncoder("utf-16le", options); + } + Utf16Encoder.prototype.write = function(str) { + return this.encoder.write(str); + }; + Utf16Encoder.prototype.end = function() { + return this.encoder.end(); + }; + function Utf16Decoder(options, codec) { + this.decoder = null; + this.initialBufs = []; + this.initialBufsLen = 0; + this.options = options || {}; + this.iconv = codec.iconv; + } + Utf16Decoder.prototype.write = function(buf) { + if (!this.decoder) { + this.initialBufs.push(buf); + this.initialBufsLen += buf.length; + if (this.initialBufsLen < 16) + return ""; + var encoding = detectEncoding(this.initialBufs, this.options.defaultEncoding); + this.decoder = this.iconv.getDecoder(encoding, this.options); + var resStr = ""; + for (var i = 0; i < this.initialBufs.length; i++) + resStr += this.decoder.write(this.initialBufs[i]); + this.initialBufs.length = this.initialBufsLen = 0; + return resStr; + } + return this.decoder.write(buf); + }; + Utf16Decoder.prototype.end = function() { + if (!this.decoder) { + var encoding = detectEncoding(this.initialBufs, this.options.defaultEncoding); + this.decoder = this.iconv.getDecoder(encoding, this.options); + var resStr = ""; + for (var i = 0; i < this.initialBufs.length; i++) + resStr += this.decoder.write(this.initialBufs[i]); + var trail = this.decoder.end(); + if (trail) + resStr += trail; + this.initialBufs.length = this.initialBufsLen = 0; + return resStr; + } + return this.decoder.end(); + }; + function detectEncoding(bufs, defaultEncoding) { + var b = []; + var charsProcessed = 0; + var asciiCharsLE = 0, asciiCharsBE = 0; + outer_loop: + for (var i = 0; i < bufs.length; i++) { + var buf = bufs[i]; + for (var j = 0; j < buf.length; j++) { + b.push(buf[j]); + if (b.length === 2) { + if (charsProcessed === 0) { + if (b[0] === 255 && b[1] === 254) return "utf-16le"; + if (b[0] === 254 && b[1] === 255) return "utf-16be"; + } + if (b[0] === 0 && b[1] !== 0) asciiCharsBE++; + if (b[0] !== 0 && b[1] === 0) asciiCharsLE++; + b.length = 0; + charsProcessed++; + if (charsProcessed >= 100) { + break outer_loop; + } + } + } + } + if (asciiCharsBE > asciiCharsLE) return "utf-16be"; + if (asciiCharsBE < asciiCharsLE) return "utf-16le"; + return defaultEncoding || "utf-16le"; + } + } +}); +var require_utf7 = __commonJS2({ + "node_modules/raw-body/node_modules/iconv-lite/encodings/utf7.js"(exports2) { + "use strict"; + var Buffer2 = require_safer().Buffer; + exports2.utf7 = Utf7Codec; + exports2.unicode11utf7 = "utf7"; + function Utf7Codec(codecOptions, iconv) { + this.iconv = iconv; + } + Utf7Codec.prototype.encoder = Utf7Encoder; + Utf7Codec.prototype.decoder = Utf7Decoder; + Utf7Codec.prototype.bomAware = true; + var nonDirectChars = /[^A-Za-z0-9'\(\),-\.\/:\? \n\r\t]+/g; + function Utf7Encoder(options, codec) { + this.iconv = codec.iconv; + } + Utf7Encoder.prototype.write = function(str) { + return Buffer2.from(str.replace(nonDirectChars, function(chunk) { + return "+" + (chunk === "+" ? "" : this.iconv.encode(chunk, "utf16-be").toString("base64").replace(/=+$/, "")) + "-"; + }.bind(this))); + }; + Utf7Encoder.prototype.end = function() { + }; + function Utf7Decoder(options, codec) { + this.iconv = codec.iconv; + this.inBase64 = false; + this.base64Accum = ""; + } + var base64Regex22 = /[A-Za-z0-9\/+]/; + var base64Chars = []; + for (i = 0; i < 256; i++) + base64Chars[i] = base64Regex22.test(String.fromCharCode(i)); + var i; + var plusChar = "+".charCodeAt(0); + var minusChar = "-".charCodeAt(0); + var andChar = "&".charCodeAt(0); + Utf7Decoder.prototype.write = function(buf) { + var res = "", lastI = 0, inBase64 = this.inBase64, base64Accum = this.base64Accum; + for (var i2 = 0; i2 < buf.length; i2++) { + if (!inBase64) { + if (buf[i2] == plusChar) { + res += this.iconv.decode(buf.slice(lastI, i2), "ascii"); + lastI = i2 + 1; + inBase64 = true; + } + } else { + if (!base64Chars[buf[i2]]) { + if (i2 == lastI && buf[i2] == minusChar) { + res += "+"; + } else { + var b64str = base64Accum + this.iconv.decode(buf.slice(lastI, i2), "ascii"); + res += this.iconv.decode(Buffer2.from(b64str, "base64"), "utf16-be"); + } + if (buf[i2] != minusChar) + i2--; + lastI = i2 + 1; + inBase64 = false; + base64Accum = ""; + } + } + } + if (!inBase64) { + res += this.iconv.decode(buf.slice(lastI), "ascii"); + } else { + var b64str = base64Accum + this.iconv.decode(buf.slice(lastI), "ascii"); + var canBeDecoded = b64str.length - b64str.length % 8; + base64Accum = b64str.slice(canBeDecoded); + b64str = b64str.slice(0, canBeDecoded); + res += this.iconv.decode(Buffer2.from(b64str, "base64"), "utf16-be"); + } + this.inBase64 = inBase64; + this.base64Accum = base64Accum; + return res; + }; + Utf7Decoder.prototype.end = function() { + var res = ""; + if (this.inBase64 && this.base64Accum.length > 0) + res = this.iconv.decode(Buffer2.from(this.base64Accum, "base64"), "utf16-be"); + this.inBase64 = false; + this.base64Accum = ""; + return res; + }; + exports2.utf7imap = Utf7IMAPCodec; + function Utf7IMAPCodec(codecOptions, iconv) { + this.iconv = iconv; + } + Utf7IMAPCodec.prototype.encoder = Utf7IMAPEncoder; + Utf7IMAPCodec.prototype.decoder = Utf7IMAPDecoder; + Utf7IMAPCodec.prototype.bomAware = true; + function Utf7IMAPEncoder(options, codec) { + this.iconv = codec.iconv; + this.inBase64 = false; + this.base64Accum = Buffer2.alloc(6); + this.base64AccumIdx = 0; + } + Utf7IMAPEncoder.prototype.write = function(str) { + var inBase64 = this.inBase64, base64Accum = this.base64Accum, base64AccumIdx = this.base64AccumIdx, buf = Buffer2.alloc(str.length * 5 + 10), bufIdx = 0; + for (var i2 = 0; i2 < str.length; i2++) { + var uChar = str.charCodeAt(i2); + if (32 <= uChar && uChar <= 126) { + if (inBase64) { + if (base64AccumIdx > 0) { + bufIdx += buf.write(base64Accum.slice(0, base64AccumIdx).toString("base64").replace(/\//g, ",").replace(/=+$/, ""), bufIdx); + base64AccumIdx = 0; + } + buf[bufIdx++] = minusChar; + inBase64 = false; + } + if (!inBase64) { + buf[bufIdx++] = uChar; + if (uChar === andChar) + buf[bufIdx++] = minusChar; + } + } else { + if (!inBase64) { + buf[bufIdx++] = andChar; + inBase64 = true; + } + if (inBase64) { + base64Accum[base64AccumIdx++] = uChar >> 8; + base64Accum[base64AccumIdx++] = uChar & 255; + if (base64AccumIdx == base64Accum.length) { + bufIdx += buf.write(base64Accum.toString("base64").replace(/\//g, ","), bufIdx); + base64AccumIdx = 0; + } + } + } + } + this.inBase64 = inBase64; + this.base64AccumIdx = base64AccumIdx; + return buf.slice(0, bufIdx); + }; + Utf7IMAPEncoder.prototype.end = function() { + var buf = Buffer2.alloc(10), bufIdx = 0; + if (this.inBase64) { + if (this.base64AccumIdx > 0) { + bufIdx += buf.write(this.base64Accum.slice(0, this.base64AccumIdx).toString("base64").replace(/\//g, ",").replace(/=+$/, ""), bufIdx); + this.base64AccumIdx = 0; + } + buf[bufIdx++] = minusChar; + this.inBase64 = false; + } + return buf.slice(0, bufIdx); + }; + function Utf7IMAPDecoder(options, codec) { + this.iconv = codec.iconv; + this.inBase64 = false; + this.base64Accum = ""; + } + var base64IMAPChars = base64Chars.slice(); + base64IMAPChars[",".charCodeAt(0)] = true; + Utf7IMAPDecoder.prototype.write = function(buf) { + var res = "", lastI = 0, inBase64 = this.inBase64, base64Accum = this.base64Accum; + for (var i2 = 0; i2 < buf.length; i2++) { + if (!inBase64) { + if (buf[i2] == andChar) { + res += this.iconv.decode(buf.slice(lastI, i2), "ascii"); + lastI = i2 + 1; + inBase64 = true; + } + } else { + if (!base64IMAPChars[buf[i2]]) { + if (i2 == lastI && buf[i2] == minusChar) { + res += "&"; + } else { + var b64str = base64Accum + this.iconv.decode(buf.slice(lastI, i2), "ascii").replace(/,/g, "/"); + res += this.iconv.decode(Buffer2.from(b64str, "base64"), "utf16-be"); + } + if (buf[i2] != minusChar) + i2--; + lastI = i2 + 1; + inBase64 = false; + base64Accum = ""; + } + } + } + if (!inBase64) { + res += this.iconv.decode(buf.slice(lastI), "ascii"); + } else { + var b64str = base64Accum + this.iconv.decode(buf.slice(lastI), "ascii").replace(/,/g, "/"); + var canBeDecoded = b64str.length - b64str.length % 8; + base64Accum = b64str.slice(canBeDecoded); + b64str = b64str.slice(0, canBeDecoded); + res += this.iconv.decode(Buffer2.from(b64str, "base64"), "utf16-be"); + } + this.inBase64 = inBase64; + this.base64Accum = base64Accum; + return res; + }; + Utf7IMAPDecoder.prototype.end = function() { + var res = ""; + if (this.inBase64 && this.base64Accum.length > 0) + res = this.iconv.decode(Buffer2.from(this.base64Accum, "base64"), "utf16-be"); + this.inBase64 = false; + this.base64Accum = ""; + return res; + }; + } +}); +var require_sbcs_codec = __commonJS2({ + "node_modules/raw-body/node_modules/iconv-lite/encodings/sbcs-codec.js"(exports2) { + "use strict"; + var Buffer2 = require_safer().Buffer; + exports2._sbcs = SBCSCodec; + function SBCSCodec(codecOptions, iconv) { + if (!codecOptions) + throw new Error("SBCS codec is called without the data."); + if (!codecOptions.chars || codecOptions.chars.length !== 128 && codecOptions.chars.length !== 256) + throw new Error("Encoding '" + codecOptions.type + "' has incorrect 'chars' (must be of len 128 or 256)"); + if (codecOptions.chars.length === 128) { + var asciiString = ""; + for (var i = 0; i < 128; i++) + asciiString += String.fromCharCode(i); + codecOptions.chars = asciiString + codecOptions.chars; + } + this.decodeBuf = Buffer2.from(codecOptions.chars, "ucs2"); + var encodeBuf = Buffer2.alloc(65536, iconv.defaultCharSingleByte.charCodeAt(0)); + for (var i = 0; i < codecOptions.chars.length; i++) + encodeBuf[codecOptions.chars.charCodeAt(i)] = i; + this.encodeBuf = encodeBuf; + } + SBCSCodec.prototype.encoder = SBCSEncoder; + SBCSCodec.prototype.decoder = SBCSDecoder; + function SBCSEncoder(options, codec) { + this.encodeBuf = codec.encodeBuf; + } + SBCSEncoder.prototype.write = function(str) { + var buf = Buffer2.alloc(str.length); + for (var i = 0; i < str.length; i++) + buf[i] = this.encodeBuf[str.charCodeAt(i)]; + return buf; + }; + SBCSEncoder.prototype.end = function() { + }; + function SBCSDecoder(options, codec) { + this.decodeBuf = codec.decodeBuf; + } + SBCSDecoder.prototype.write = function(buf) { + var decodeBuf = this.decodeBuf; + var newBuf = Buffer2.alloc(buf.length * 2); + var idx1 = 0, idx2 = 0; + for (var i = 0; i < buf.length; i++) { + idx1 = buf[i] * 2; + idx2 = i * 2; + newBuf[idx2] = decodeBuf[idx1]; + newBuf[idx2 + 1] = decodeBuf[idx1 + 1]; + } + return newBuf.toString("ucs2"); + }; + SBCSDecoder.prototype.end = function() { + }; + } +}); +var require_sbcs_data = __commonJS2({ + "node_modules/raw-body/node_modules/iconv-lite/encodings/sbcs-data.js"(exports2, module2) { + "use strict"; + module2.exports = { + // Not supported by iconv, not sure why. + "10029": "maccenteuro", + "maccenteuro": { + "type": "_sbcs", + "chars": "\xC4\u0100\u0101\xC9\u0104\xD6\xDC\xE1\u0105\u010C\xE4\u010D\u0106\u0107\xE9\u0179\u017A\u010E\xED\u010F\u0112\u0113\u0116\xF3\u0117\xF4\xF6\xF5\xFA\u011A\u011B\xFC\u2020\xB0\u0118\xA3\xA7\u2022\xB6\xDF\xAE\xA9\u2122\u0119\xA8\u2260\u0123\u012E\u012F\u012A\u2264\u2265\u012B\u0136\u2202\u2211\u0142\u013B\u013C\u013D\u013E\u0139\u013A\u0145\u0146\u0143\xAC\u221A\u0144\u0147\u2206\xAB\xBB\u2026\xA0\u0148\u0150\xD5\u0151\u014C\u2013\u2014\u201C\u201D\u2018\u2019\xF7\u25CA\u014D\u0154\u0155\u0158\u2039\u203A\u0159\u0156\u0157\u0160\u201A\u201E\u0161\u015A\u015B\xC1\u0164\u0165\xCD\u017D\u017E\u016A\xD3\xD4\u016B\u016E\xDA\u016F\u0170\u0171\u0172\u0173\xDD\xFD\u0137\u017B\u0141\u017C\u0122\u02C7" + }, + "808": "cp808", + "ibm808": "cp808", + "cp808": { + "type": "_sbcs", + "chars": "\u0410\u0411\u0412\u0413\u0414\u0415\u0416\u0417\u0418\u0419\u041A\u041B\u041C\u041D\u041E\u041F\u0420\u0421\u0422\u0423\u0424\u0425\u0426\u0427\u0428\u0429\u042A\u042B\u042C\u042D\u042E\u042F\u0430\u0431\u0432\u0433\u0434\u0435\u0436\u0437\u0438\u0439\u043A\u043B\u043C\u043D\u043E\u043F\u2591\u2592\u2593\u2502\u2524\u2561\u2562\u2556\u2555\u2563\u2551\u2557\u255D\u255C\u255B\u2510\u2514\u2534\u252C\u251C\u2500\u253C\u255E\u255F\u255A\u2554\u2569\u2566\u2560\u2550\u256C\u2567\u2568\u2564\u2565\u2559\u2558\u2552\u2553\u256B\u256A\u2518\u250C\u2588\u2584\u258C\u2590\u2580\u0440\u0441\u0442\u0443\u0444\u0445\u0446\u0447\u0448\u0449\u044A\u044B\u044C\u044D\u044E\u044F\u0401\u0451\u0404\u0454\u0407\u0457\u040E\u045E\xB0\u2219\xB7\u221A\u2116\u20AC\u25A0\xA0" + }, + "mik": { + "type": "_sbcs", + "chars": "\u0410\u0411\u0412\u0413\u0414\u0415\u0416\u0417\u0418\u0419\u041A\u041B\u041C\u041D\u041E\u041F\u0420\u0421\u0422\u0423\u0424\u0425\u0426\u0427\u0428\u0429\u042A\u042B\u042C\u042D\u042E\u042F\u0430\u0431\u0432\u0433\u0434\u0435\u0436\u0437\u0438\u0439\u043A\u043B\u043C\u043D\u043E\u043F\u0440\u0441\u0442\u0443\u0444\u0445\u0446\u0447\u0448\u0449\u044A\u044B\u044C\u044D\u044E\u044F\u2514\u2534\u252C\u251C\u2500\u253C\u2563\u2551\u255A\u2554\u2569\u2566\u2560\u2550\u256C\u2510\u2591\u2592\u2593\u2502\u2524\u2116\xA7\u2557\u255D\u2518\u250C\u2588\u2584\u258C\u2590\u2580\u03B1\xDF\u0393\u03C0\u03A3\u03C3\xB5\u03C4\u03A6\u0398\u03A9\u03B4\u221E\u03C6\u03B5\u2229\u2261\xB1\u2265\u2264\u2320\u2321\xF7\u2248\xB0\u2219\xB7\u221A\u207F\xB2\u25A0\xA0" + }, + "cp720": { + "type": "_sbcs", + "chars": "\x80\x81\xE9\xE2\x84\xE0\x86\xE7\xEA\xEB\xE8\xEF\xEE\x8D\x8E\x8F\x90\u0651\u0652\xF4\xA4\u0640\xFB\xF9\u0621\u0622\u0623\u0624\xA3\u0625\u0626\u0627\u0628\u0629\u062A\u062B\u062C\u062D\u062E\u062F\u0630\u0631\u0632\u0633\u0634\u0635\xAB\xBB\u2591\u2592\u2593\u2502\u2524\u2561\u2562\u2556\u2555\u2563\u2551\u2557\u255D\u255C\u255B\u2510\u2514\u2534\u252C\u251C\u2500\u253C\u255E\u255F\u255A\u2554\u2569\u2566\u2560\u2550\u256C\u2567\u2568\u2564\u2565\u2559\u2558\u2552\u2553\u256B\u256A\u2518\u250C\u2588\u2584\u258C\u2590\u2580\u0636\u0637\u0638\u0639\u063A\u0641\xB5\u0642\u0643\u0644\u0645\u0646\u0647\u0648\u0649\u064A\u2261\u064B\u064C\u064D\u064E\u064F\u0650\u2248\xB0\u2219\xB7\u221A\u207F\xB2\u25A0\xA0" + }, + // Aliases of generated encodings. + "ascii8bit": "ascii", + "usascii": "ascii", + "ansix34": "ascii", + "ansix341968": "ascii", + "ansix341986": "ascii", + "csascii": "ascii", + "cp367": "ascii", + "ibm367": "ascii", + "isoir6": "ascii", + "iso646us": "ascii", + "iso646irv": "ascii", + "us": "ascii", + "latin1": "iso88591", + "latin2": "iso88592", + "latin3": "iso88593", + "latin4": "iso88594", + "latin5": "iso88599", + "latin6": "iso885910", + "latin7": "iso885913", + "latin8": "iso885914", + "latin9": "iso885915", + "latin10": "iso885916", + "csisolatin1": "iso88591", + "csisolatin2": "iso88592", + "csisolatin3": "iso88593", + "csisolatin4": "iso88594", + "csisolatincyrillic": "iso88595", + "csisolatinarabic": "iso88596", + "csisolatingreek": "iso88597", + "csisolatinhebrew": "iso88598", + "csisolatin5": "iso88599", + "csisolatin6": "iso885910", + "l1": "iso88591", + "l2": "iso88592", + "l3": "iso88593", + "l4": "iso88594", + "l5": "iso88599", + "l6": "iso885910", + "l7": "iso885913", + "l8": "iso885914", + "l9": "iso885915", + "l10": "iso885916", + "isoir14": "iso646jp", + "isoir57": "iso646cn", + "isoir100": "iso88591", + "isoir101": "iso88592", + "isoir109": "iso88593", + "isoir110": "iso88594", + "isoir144": "iso88595", + "isoir127": "iso88596", + "isoir126": "iso88597", + "isoir138": "iso88598", + "isoir148": "iso88599", + "isoir157": "iso885910", + "isoir166": "tis620", + "isoir179": "iso885913", + "isoir199": "iso885914", + "isoir203": "iso885915", + "isoir226": "iso885916", + "cp819": "iso88591", + "ibm819": "iso88591", + "cyrillic": "iso88595", + "arabic": "iso88596", + "arabic8": "iso88596", + "ecma114": "iso88596", + "asmo708": "iso88596", + "greek": "iso88597", + "greek8": "iso88597", + "ecma118": "iso88597", + "elot928": "iso88597", + "hebrew": "iso88598", + "hebrew8": "iso88598", + "turkish": "iso88599", + "turkish8": "iso88599", + "thai": "iso885911", + "thai8": "iso885911", + "celtic": "iso885914", + "celtic8": "iso885914", + "isoceltic": "iso885914", + "tis6200": "tis620", + "tis62025291": "tis620", + "tis62025330": "tis620", + "10000": "macroman", + "10006": "macgreek", + "10007": "maccyrillic", + "10079": "maciceland", + "10081": "macturkish", + "cspc8codepage437": "cp437", + "cspc775baltic": "cp775", + "cspc850multilingual": "cp850", + "cspcp852": "cp852", + "cspc862latinhebrew": "cp862", + "cpgr": "cp869", + "msee": "cp1250", + "mscyrl": "cp1251", + "msansi": "cp1252", + "msgreek": "cp1253", + "msturk": "cp1254", + "mshebr": "cp1255", + "msarab": "cp1256", + "winbaltrim": "cp1257", + "cp20866": "koi8r", + "20866": "koi8r", + "ibm878": "koi8r", + "cskoi8r": "koi8r", + "cp21866": "koi8u", + "21866": "koi8u", + "ibm1168": "koi8u", + "strk10482002": "rk1048", + "tcvn5712": "tcvn", + "tcvn57121": "tcvn", + "gb198880": "iso646cn", + "cn": "iso646cn", + "csiso14jisc6220ro": "iso646jp", + "jisc62201969ro": "iso646jp", + "jp": "iso646jp", + "cshproman8": "hproman8", + "r8": "hproman8", + "roman8": "hproman8", + "xroman8": "hproman8", + "ibm1051": "hproman8", + "mac": "macintosh", + "csmacintosh": "macintosh" + }; + } +}); +var require_sbcs_data_generated = __commonJS2({ + "node_modules/raw-body/node_modules/iconv-lite/encodings/sbcs-data-generated.js"(exports2, module2) { + "use strict"; + module2.exports = { + "437": "cp437", + "737": "cp737", + "775": "cp775", + "850": "cp850", + "852": "cp852", + "855": "cp855", + "856": "cp856", + "857": "cp857", + "858": "cp858", + "860": "cp860", + "861": "cp861", + "862": "cp862", + "863": "cp863", + "864": "cp864", + "865": "cp865", + "866": "cp866", + "869": "cp869", + "874": "windows874", + "922": "cp922", + "1046": "cp1046", + "1124": "cp1124", + "1125": "cp1125", + "1129": "cp1129", + "1133": "cp1133", + "1161": "cp1161", + "1162": "cp1162", + "1163": "cp1163", + "1250": "windows1250", + "1251": "windows1251", + "1252": "windows1252", + "1253": "windows1253", + "1254": "windows1254", + "1255": "windows1255", + "1256": "windows1256", + "1257": "windows1257", + "1258": "windows1258", + "28591": "iso88591", + "28592": "iso88592", + "28593": "iso88593", + "28594": "iso88594", + "28595": "iso88595", + "28596": "iso88596", + "28597": "iso88597", + "28598": "iso88598", + "28599": "iso88599", + "28600": "iso885910", + "28601": "iso885911", + "28603": "iso885913", + "28604": "iso885914", + "28605": "iso885915", + "28606": "iso885916", + "windows874": { + "type": "_sbcs", + "chars": "\u20AC\uFFFD\uFFFD\uFFFD\uFFFD\u2026\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\u2018\u2019\u201C\u201D\u2022\u2013\u2014\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\xA0\u0E01\u0E02\u0E03\u0E04\u0E05\u0E06\u0E07\u0E08\u0E09\u0E0A\u0E0B\u0E0C\u0E0D\u0E0E\u0E0F\u0E10\u0E11\u0E12\u0E13\u0E14\u0E15\u0E16\u0E17\u0E18\u0E19\u0E1A\u0E1B\u0E1C\u0E1D\u0E1E\u0E1F\u0E20\u0E21\u0E22\u0E23\u0E24\u0E25\u0E26\u0E27\u0E28\u0E29\u0E2A\u0E2B\u0E2C\u0E2D\u0E2E\u0E2F\u0E30\u0E31\u0E32\u0E33\u0E34\u0E35\u0E36\u0E37\u0E38\u0E39\u0E3A\uFFFD\uFFFD\uFFFD\uFFFD\u0E3F\u0E40\u0E41\u0E42\u0E43\u0E44\u0E45\u0E46\u0E47\u0E48\u0E49\u0E4A\u0E4B\u0E4C\u0E4D\u0E4E\u0E4F\u0E50\u0E51\u0E52\u0E53\u0E54\u0E55\u0E56\u0E57\u0E58\u0E59\u0E5A\u0E5B\uFFFD\uFFFD\uFFFD\uFFFD" + }, + "win874": "windows874", + "cp874": "windows874", + "windows1250": { + "type": "_sbcs", + "chars": "\u20AC\uFFFD\u201A\uFFFD\u201E\u2026\u2020\u2021\uFFFD\u2030\u0160\u2039\u015A\u0164\u017D\u0179\uFFFD\u2018\u2019\u201C\u201D\u2022\u2013\u2014\uFFFD\u2122\u0161\u203A\u015B\u0165\u017E\u017A\xA0\u02C7\u02D8\u0141\xA4\u0104\xA6\xA7\xA8\xA9\u015E\xAB\xAC\xAD\xAE\u017B\xB0\xB1\u02DB\u0142\xB4\xB5\xB6\xB7\xB8\u0105\u015F\xBB\u013D\u02DD\u013E\u017C\u0154\xC1\xC2\u0102\xC4\u0139\u0106\xC7\u010C\xC9\u0118\xCB\u011A\xCD\xCE\u010E\u0110\u0143\u0147\xD3\xD4\u0150\xD6\xD7\u0158\u016E\xDA\u0170\xDC\xDD\u0162\xDF\u0155\xE1\xE2\u0103\xE4\u013A\u0107\xE7\u010D\xE9\u0119\xEB\u011B\xED\xEE\u010F\u0111\u0144\u0148\xF3\xF4\u0151\xF6\xF7\u0159\u016F\xFA\u0171\xFC\xFD\u0163\u02D9" + }, + "win1250": "windows1250", + "cp1250": "windows1250", + "windows1251": { + "type": "_sbcs", + "chars": "\u0402\u0403\u201A\u0453\u201E\u2026\u2020\u2021\u20AC\u2030\u0409\u2039\u040A\u040C\u040B\u040F\u0452\u2018\u2019\u201C\u201D\u2022\u2013\u2014\uFFFD\u2122\u0459\u203A\u045A\u045C\u045B\u045F\xA0\u040E\u045E\u0408\xA4\u0490\xA6\xA7\u0401\xA9\u0404\xAB\xAC\xAD\xAE\u0407\xB0\xB1\u0406\u0456\u0491\xB5\xB6\xB7\u0451\u2116\u0454\xBB\u0458\u0405\u0455\u0457\u0410\u0411\u0412\u0413\u0414\u0415\u0416\u0417\u0418\u0419\u041A\u041B\u041C\u041D\u041E\u041F\u0420\u0421\u0422\u0423\u0424\u0425\u0426\u0427\u0428\u0429\u042A\u042B\u042C\u042D\u042E\u042F\u0430\u0431\u0432\u0433\u0434\u0435\u0436\u0437\u0438\u0439\u043A\u043B\u043C\u043D\u043E\u043F\u0440\u0441\u0442\u0443\u0444\u0445\u0446\u0447\u0448\u0449\u044A\u044B\u044C\u044D\u044E\u044F" + }, + "win1251": "windows1251", + "cp1251": "windows1251", + "windows1252": { + "type": "_sbcs", + "chars": "\u20AC\uFFFD\u201A\u0192\u201E\u2026\u2020\u2021\u02C6\u2030\u0160\u2039\u0152\uFFFD\u017D\uFFFD\uFFFD\u2018\u2019\u201C\u201D\u2022\u2013\u2014\u02DC\u2122\u0161\u203A\u0153\uFFFD\u017E\u0178\xA0\xA1\xA2\xA3\xA4\xA5\xA6\xA7\xA8\xA9\xAA\xAB\xAC\xAD\xAE\xAF\xB0\xB1\xB2\xB3\xB4\xB5\xB6\xB7\xB8\xB9\xBA\xBB\xBC\xBD\xBE\xBF\xC0\xC1\xC2\xC3\xC4\xC5\xC6\xC7\xC8\xC9\xCA\xCB\xCC\xCD\xCE\xCF\xD0\xD1\xD2\xD3\xD4\xD5\xD6\xD7\xD8\xD9\xDA\xDB\xDC\xDD\xDE\xDF\xE0\xE1\xE2\xE3\xE4\xE5\xE6\xE7\xE8\xE9\xEA\xEB\xEC\xED\xEE\xEF\xF0\xF1\xF2\xF3\xF4\xF5\xF6\xF7\xF8\xF9\xFA\xFB\xFC\xFD\xFE\xFF" + }, + "win1252": "windows1252", + "cp1252": "windows1252", + "windows1253": { + "type": "_sbcs", + "chars": "\u20AC\uFFFD\u201A\u0192\u201E\u2026\u2020\u2021\uFFFD\u2030\uFFFD\u2039\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\u2018\u2019\u201C\u201D\u2022\u2013\u2014\uFFFD\u2122\uFFFD\u203A\uFFFD\uFFFD\uFFFD\uFFFD\xA0\u0385\u0386\xA3\xA4\xA5\xA6\xA7\xA8\xA9\uFFFD\xAB\xAC\xAD\xAE\u2015\xB0\xB1\xB2\xB3\u0384\xB5\xB6\xB7\u0388\u0389\u038A\xBB\u038C\xBD\u038E\u038F\u0390\u0391\u0392\u0393\u0394\u0395\u0396\u0397\u0398\u0399\u039A\u039B\u039C\u039D\u039E\u039F\u03A0\u03A1\uFFFD\u03A3\u03A4\u03A5\u03A6\u03A7\u03A8\u03A9\u03AA\u03AB\u03AC\u03AD\u03AE\u03AF\u03B0\u03B1\u03B2\u03B3\u03B4\u03B5\u03B6\u03B7\u03B8\u03B9\u03BA\u03BB\u03BC\u03BD\u03BE\u03BF\u03C0\u03C1\u03C2\u03C3\u03C4\u03C5\u03C6\u03C7\u03C8\u03C9\u03CA\u03CB\u03CC\u03CD\u03CE\uFFFD" + }, + "win1253": "windows1253", + "cp1253": "windows1253", + "windows1254": { + "type": "_sbcs", + "chars": "\u20AC\uFFFD\u201A\u0192\u201E\u2026\u2020\u2021\u02C6\u2030\u0160\u2039\u0152\uFFFD\uFFFD\uFFFD\uFFFD\u2018\u2019\u201C\u201D\u2022\u2013\u2014\u02DC\u2122\u0161\u203A\u0153\uFFFD\uFFFD\u0178\xA0\xA1\xA2\xA3\xA4\xA5\xA6\xA7\xA8\xA9\xAA\xAB\xAC\xAD\xAE\xAF\xB0\xB1\xB2\xB3\xB4\xB5\xB6\xB7\xB8\xB9\xBA\xBB\xBC\xBD\xBE\xBF\xC0\xC1\xC2\xC3\xC4\xC5\xC6\xC7\xC8\xC9\xCA\xCB\xCC\xCD\xCE\xCF\u011E\xD1\xD2\xD3\xD4\xD5\xD6\xD7\xD8\xD9\xDA\xDB\xDC\u0130\u015E\xDF\xE0\xE1\xE2\xE3\xE4\xE5\xE6\xE7\xE8\xE9\xEA\xEB\xEC\xED\xEE\xEF\u011F\xF1\xF2\xF3\xF4\xF5\xF6\xF7\xF8\xF9\xFA\xFB\xFC\u0131\u015F\xFF" + }, + "win1254": "windows1254", + "cp1254": "windows1254", + "windows1255": { + "type": "_sbcs", + "chars": "\u20AC\uFFFD\u201A\u0192\u201E\u2026\u2020\u2021\u02C6\u2030\uFFFD\u2039\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\u2018\u2019\u201C\u201D\u2022\u2013\u2014\u02DC\u2122\uFFFD\u203A\uFFFD\uFFFD\uFFFD\uFFFD\xA0\xA1\xA2\xA3\u20AA\xA5\xA6\xA7\xA8\xA9\xD7\xAB\xAC\xAD\xAE\xAF\xB0\xB1\xB2\xB3\xB4\xB5\xB6\xB7\xB8\xB9\xF7\xBB\xBC\xBD\xBE\xBF\u05B0\u05B1\u05B2\u05B3\u05B4\u05B5\u05B6\u05B7\u05B8\u05B9\u05BA\u05BB\u05BC\u05BD\u05BE\u05BF\u05C0\u05C1\u05C2\u05C3\u05F0\u05F1\u05F2\u05F3\u05F4\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\u05D0\u05D1\u05D2\u05D3\u05D4\u05D5\u05D6\u05D7\u05D8\u05D9\u05DA\u05DB\u05DC\u05DD\u05DE\u05DF\u05E0\u05E1\u05E2\u05E3\u05E4\u05E5\u05E6\u05E7\u05E8\u05E9\u05EA\uFFFD\uFFFD\u200E\u200F\uFFFD" + }, + "win1255": "windows1255", + "cp1255": "windows1255", + "windows1256": { + "type": "_sbcs", + "chars": "\u20AC\u067E\u201A\u0192\u201E\u2026\u2020\u2021\u02C6\u2030\u0679\u2039\u0152\u0686\u0698\u0688\u06AF\u2018\u2019\u201C\u201D\u2022\u2013\u2014\u06A9\u2122\u0691\u203A\u0153\u200C\u200D\u06BA\xA0\u060C\xA2\xA3\xA4\xA5\xA6\xA7\xA8\xA9\u06BE\xAB\xAC\xAD\xAE\xAF\xB0\xB1\xB2\xB3\xB4\xB5\xB6\xB7\xB8\xB9\u061B\xBB\xBC\xBD\xBE\u061F\u06C1\u0621\u0622\u0623\u0624\u0625\u0626\u0627\u0628\u0629\u062A\u062B\u062C\u062D\u062E\u062F\u0630\u0631\u0632\u0633\u0634\u0635\u0636\xD7\u0637\u0638\u0639\u063A\u0640\u0641\u0642\u0643\xE0\u0644\xE2\u0645\u0646\u0647\u0648\xE7\xE8\xE9\xEA\xEB\u0649\u064A\xEE\xEF\u064B\u064C\u064D\u064E\xF4\u064F\u0650\xF7\u0651\xF9\u0652\xFB\xFC\u200E\u200F\u06D2" + }, + "win1256": "windows1256", + "cp1256": "windows1256", + "windows1257": { + "type": "_sbcs", + "chars": "\u20AC\uFFFD\u201A\uFFFD\u201E\u2026\u2020\u2021\uFFFD\u2030\uFFFD\u2039\uFFFD\xA8\u02C7\xB8\uFFFD\u2018\u2019\u201C\u201D\u2022\u2013\u2014\uFFFD\u2122\uFFFD\u203A\uFFFD\xAF\u02DB\uFFFD\xA0\uFFFD\xA2\xA3\xA4\uFFFD\xA6\xA7\xD8\xA9\u0156\xAB\xAC\xAD\xAE\xC6\xB0\xB1\xB2\xB3\xB4\xB5\xB6\xB7\xF8\xB9\u0157\xBB\xBC\xBD\xBE\xE6\u0104\u012E\u0100\u0106\xC4\xC5\u0118\u0112\u010C\xC9\u0179\u0116\u0122\u0136\u012A\u013B\u0160\u0143\u0145\xD3\u014C\xD5\xD6\xD7\u0172\u0141\u015A\u016A\xDC\u017B\u017D\xDF\u0105\u012F\u0101\u0107\xE4\xE5\u0119\u0113\u010D\xE9\u017A\u0117\u0123\u0137\u012B\u013C\u0161\u0144\u0146\xF3\u014D\xF5\xF6\xF7\u0173\u0142\u015B\u016B\xFC\u017C\u017E\u02D9" + }, + "win1257": "windows1257", + "cp1257": "windows1257", + "windows1258": { + "type": "_sbcs", + "chars": "\u20AC\uFFFD\u201A\u0192\u201E\u2026\u2020\u2021\u02C6\u2030\uFFFD\u2039\u0152\uFFFD\uFFFD\uFFFD\uFFFD\u2018\u2019\u201C\u201D\u2022\u2013\u2014\u02DC\u2122\uFFFD\u203A\u0153\uFFFD\uFFFD\u0178\xA0\xA1\xA2\xA3\xA4\xA5\xA6\xA7\xA8\xA9\xAA\xAB\xAC\xAD\xAE\xAF\xB0\xB1\xB2\xB3\xB4\xB5\xB6\xB7\xB8\xB9\xBA\xBB\xBC\xBD\xBE\xBF\xC0\xC1\xC2\u0102\xC4\xC5\xC6\xC7\xC8\xC9\xCA\xCB\u0300\xCD\xCE\xCF\u0110\xD1\u0309\xD3\xD4\u01A0\xD6\xD7\xD8\xD9\xDA\xDB\xDC\u01AF\u0303\xDF\xE0\xE1\xE2\u0103\xE4\xE5\xE6\xE7\xE8\xE9\xEA\xEB\u0301\xED\xEE\xEF\u0111\xF1\u0323\xF3\xF4\u01A1\xF6\xF7\xF8\xF9\xFA\xFB\xFC\u01B0\u20AB\xFF" + }, + "win1258": "windows1258", + "cp1258": "windows1258", + "iso88591": { + "type": "_sbcs", + "chars": "\x80\x81\x82\x83\x84\x85\x86\x87\x88\x89\x8A\x8B\x8C\x8D\x8E\x8F\x90\x91\x92\x93\x94\x95\x96\x97\x98\x99\x9A\x9B\x9C\x9D\x9E\x9F\xA0\xA1\xA2\xA3\xA4\xA5\xA6\xA7\xA8\xA9\xAA\xAB\xAC\xAD\xAE\xAF\xB0\xB1\xB2\xB3\xB4\xB5\xB6\xB7\xB8\xB9\xBA\xBB\xBC\xBD\xBE\xBF\xC0\xC1\xC2\xC3\xC4\xC5\xC6\xC7\xC8\xC9\xCA\xCB\xCC\xCD\xCE\xCF\xD0\xD1\xD2\xD3\xD4\xD5\xD6\xD7\xD8\xD9\xDA\xDB\xDC\xDD\xDE\xDF\xE0\xE1\xE2\xE3\xE4\xE5\xE6\xE7\xE8\xE9\xEA\xEB\xEC\xED\xEE\xEF\xF0\xF1\xF2\xF3\xF4\xF5\xF6\xF7\xF8\xF9\xFA\xFB\xFC\xFD\xFE\xFF" + }, + "cp28591": "iso88591", + "iso88592": { + "type": "_sbcs", + "chars": "\x80\x81\x82\x83\x84\x85\x86\x87\x88\x89\x8A\x8B\x8C\x8D\x8E\x8F\x90\x91\x92\x93\x94\x95\x96\x97\x98\x99\x9A\x9B\x9C\x9D\x9E\x9F\xA0\u0104\u02D8\u0141\xA4\u013D\u015A\xA7\xA8\u0160\u015E\u0164\u0179\xAD\u017D\u017B\xB0\u0105\u02DB\u0142\xB4\u013E\u015B\u02C7\xB8\u0161\u015F\u0165\u017A\u02DD\u017E\u017C\u0154\xC1\xC2\u0102\xC4\u0139\u0106\xC7\u010C\xC9\u0118\xCB\u011A\xCD\xCE\u010E\u0110\u0143\u0147\xD3\xD4\u0150\xD6\xD7\u0158\u016E\xDA\u0170\xDC\xDD\u0162\xDF\u0155\xE1\xE2\u0103\xE4\u013A\u0107\xE7\u010D\xE9\u0119\xEB\u011B\xED\xEE\u010F\u0111\u0144\u0148\xF3\xF4\u0151\xF6\xF7\u0159\u016F\xFA\u0171\xFC\xFD\u0163\u02D9" + }, + "cp28592": "iso88592", + "iso88593": { + "type": "_sbcs", + "chars": "\x80\x81\x82\x83\x84\x85\x86\x87\x88\x89\x8A\x8B\x8C\x8D\x8E\x8F\x90\x91\x92\x93\x94\x95\x96\x97\x98\x99\x9A\x9B\x9C\x9D\x9E\x9F\xA0\u0126\u02D8\xA3\xA4\uFFFD\u0124\xA7\xA8\u0130\u015E\u011E\u0134\xAD\uFFFD\u017B\xB0\u0127\xB2\xB3\xB4\xB5\u0125\xB7\xB8\u0131\u015F\u011F\u0135\xBD\uFFFD\u017C\xC0\xC1\xC2\uFFFD\xC4\u010A\u0108\xC7\xC8\xC9\xCA\xCB\xCC\xCD\xCE\xCF\uFFFD\xD1\xD2\xD3\xD4\u0120\xD6\xD7\u011C\xD9\xDA\xDB\xDC\u016C\u015C\xDF\xE0\xE1\xE2\uFFFD\xE4\u010B\u0109\xE7\xE8\xE9\xEA\xEB\xEC\xED\xEE\xEF\uFFFD\xF1\xF2\xF3\xF4\u0121\xF6\xF7\u011D\xF9\xFA\xFB\xFC\u016D\u015D\u02D9" + }, + "cp28593": "iso88593", + "iso88594": { + "type": "_sbcs", + "chars": "\x80\x81\x82\x83\x84\x85\x86\x87\x88\x89\x8A\x8B\x8C\x8D\x8E\x8F\x90\x91\x92\x93\x94\x95\x96\x97\x98\x99\x9A\x9B\x9C\x9D\x9E\x9F\xA0\u0104\u0138\u0156\xA4\u0128\u013B\xA7\xA8\u0160\u0112\u0122\u0166\xAD\u017D\xAF\xB0\u0105\u02DB\u0157\xB4\u0129\u013C\u02C7\xB8\u0161\u0113\u0123\u0167\u014A\u017E\u014B\u0100\xC1\xC2\xC3\xC4\xC5\xC6\u012E\u010C\xC9\u0118\xCB\u0116\xCD\xCE\u012A\u0110\u0145\u014C\u0136\xD4\xD5\xD6\xD7\xD8\u0172\xDA\xDB\xDC\u0168\u016A\xDF\u0101\xE1\xE2\xE3\xE4\xE5\xE6\u012F\u010D\xE9\u0119\xEB\u0117\xED\xEE\u012B\u0111\u0146\u014D\u0137\xF4\xF5\xF6\xF7\xF8\u0173\xFA\xFB\xFC\u0169\u016B\u02D9" + }, + "cp28594": "iso88594", + "iso88595": { + "type": "_sbcs", + "chars": "\x80\x81\x82\x83\x84\x85\x86\x87\x88\x89\x8A\x8B\x8C\x8D\x8E\x8F\x90\x91\x92\x93\x94\x95\x96\x97\x98\x99\x9A\x9B\x9C\x9D\x9E\x9F\xA0\u0401\u0402\u0403\u0404\u0405\u0406\u0407\u0408\u0409\u040A\u040B\u040C\xAD\u040E\u040F\u0410\u0411\u0412\u0413\u0414\u0415\u0416\u0417\u0418\u0419\u041A\u041B\u041C\u041D\u041E\u041F\u0420\u0421\u0422\u0423\u0424\u0425\u0426\u0427\u0428\u0429\u042A\u042B\u042C\u042D\u042E\u042F\u0430\u0431\u0432\u0433\u0434\u0435\u0436\u0437\u0438\u0439\u043A\u043B\u043C\u043D\u043E\u043F\u0440\u0441\u0442\u0443\u0444\u0445\u0446\u0447\u0448\u0449\u044A\u044B\u044C\u044D\u044E\u044F\u2116\u0451\u0452\u0453\u0454\u0455\u0456\u0457\u0458\u0459\u045A\u045B\u045C\xA7\u045E\u045F" + }, + "cp28595": "iso88595", + "iso88596": { + "type": "_sbcs", + "chars": "\x80\x81\x82\x83\x84\x85\x86\x87\x88\x89\x8A\x8B\x8C\x8D\x8E\x8F\x90\x91\x92\x93\x94\x95\x96\x97\x98\x99\x9A\x9B\x9C\x9D\x9E\x9F\xA0\uFFFD\uFFFD\uFFFD\xA4\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\u060C\xAD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\u061B\uFFFD\uFFFD\uFFFD\u061F\uFFFD\u0621\u0622\u0623\u0624\u0625\u0626\u0627\u0628\u0629\u062A\u062B\u062C\u062D\u062E\u062F\u0630\u0631\u0632\u0633\u0634\u0635\u0636\u0637\u0638\u0639\u063A\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\u0640\u0641\u0642\u0643\u0644\u0645\u0646\u0647\u0648\u0649\u064A\u064B\u064C\u064D\u064E\u064F\u0650\u0651\u0652\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD" + }, + "cp28596": "iso88596", + "iso88597": { + "type": "_sbcs", + "chars": "\x80\x81\x82\x83\x84\x85\x86\x87\x88\x89\x8A\x8B\x8C\x8D\x8E\x8F\x90\x91\x92\x93\x94\x95\x96\x97\x98\x99\x9A\x9B\x9C\x9D\x9E\x9F\xA0\u2018\u2019\xA3\u20AC\u20AF\xA6\xA7\xA8\xA9\u037A\xAB\xAC\xAD\uFFFD\u2015\xB0\xB1\xB2\xB3\u0384\u0385\u0386\xB7\u0388\u0389\u038A\xBB\u038C\xBD\u038E\u038F\u0390\u0391\u0392\u0393\u0394\u0395\u0396\u0397\u0398\u0399\u039A\u039B\u039C\u039D\u039E\u039F\u03A0\u03A1\uFFFD\u03A3\u03A4\u03A5\u03A6\u03A7\u03A8\u03A9\u03AA\u03AB\u03AC\u03AD\u03AE\u03AF\u03B0\u03B1\u03B2\u03B3\u03B4\u03B5\u03B6\u03B7\u03B8\u03B9\u03BA\u03BB\u03BC\u03BD\u03BE\u03BF\u03C0\u03C1\u03C2\u03C3\u03C4\u03C5\u03C6\u03C7\u03C8\u03C9\u03CA\u03CB\u03CC\u03CD\u03CE\uFFFD" + }, + "cp28597": "iso88597", + "iso88598": { + "type": "_sbcs", + "chars": "\x80\x81\x82\x83\x84\x85\x86\x87\x88\x89\x8A\x8B\x8C\x8D\x8E\x8F\x90\x91\x92\x93\x94\x95\x96\x97\x98\x99\x9A\x9B\x9C\x9D\x9E\x9F\xA0\uFFFD\xA2\xA3\xA4\xA5\xA6\xA7\xA8\xA9\xD7\xAB\xAC\xAD\xAE\xAF\xB0\xB1\xB2\xB3\xB4\xB5\xB6\xB7\xB8\xB9\xF7\xBB\xBC\xBD\xBE\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\u2017\u05D0\u05D1\u05D2\u05D3\u05D4\u05D5\u05D6\u05D7\u05D8\u05D9\u05DA\u05DB\u05DC\u05DD\u05DE\u05DF\u05E0\u05E1\u05E2\u05E3\u05E4\u05E5\u05E6\u05E7\u05E8\u05E9\u05EA\uFFFD\uFFFD\u200E\u200F\uFFFD" + }, + "cp28598": "iso88598", + "iso88599": { + "type": "_sbcs", + "chars": "\x80\x81\x82\x83\x84\x85\x86\x87\x88\x89\x8A\x8B\x8C\x8D\x8E\x8F\x90\x91\x92\x93\x94\x95\x96\x97\x98\x99\x9A\x9B\x9C\x9D\x9E\x9F\xA0\xA1\xA2\xA3\xA4\xA5\xA6\xA7\xA8\xA9\xAA\xAB\xAC\xAD\xAE\xAF\xB0\xB1\xB2\xB3\xB4\xB5\xB6\xB7\xB8\xB9\xBA\xBB\xBC\xBD\xBE\xBF\xC0\xC1\xC2\xC3\xC4\xC5\xC6\xC7\xC8\xC9\xCA\xCB\xCC\xCD\xCE\xCF\u011E\xD1\xD2\xD3\xD4\xD5\xD6\xD7\xD8\xD9\xDA\xDB\xDC\u0130\u015E\xDF\xE0\xE1\xE2\xE3\xE4\xE5\xE6\xE7\xE8\xE9\xEA\xEB\xEC\xED\xEE\xEF\u011F\xF1\xF2\xF3\xF4\xF5\xF6\xF7\xF8\xF9\xFA\xFB\xFC\u0131\u015F\xFF" + }, + "cp28599": "iso88599", + "iso885910": { + "type": "_sbcs", + "chars": "\x80\x81\x82\x83\x84\x85\x86\x87\x88\x89\x8A\x8B\x8C\x8D\x8E\x8F\x90\x91\x92\x93\x94\x95\x96\x97\x98\x99\x9A\x9B\x9C\x9D\x9E\x9F\xA0\u0104\u0112\u0122\u012A\u0128\u0136\xA7\u013B\u0110\u0160\u0166\u017D\xAD\u016A\u014A\xB0\u0105\u0113\u0123\u012B\u0129\u0137\xB7\u013C\u0111\u0161\u0167\u017E\u2015\u016B\u014B\u0100\xC1\xC2\xC3\xC4\xC5\xC6\u012E\u010C\xC9\u0118\xCB\u0116\xCD\xCE\xCF\xD0\u0145\u014C\xD3\xD4\xD5\xD6\u0168\xD8\u0172\xDA\xDB\xDC\xDD\xDE\xDF\u0101\xE1\xE2\xE3\xE4\xE5\xE6\u012F\u010D\xE9\u0119\xEB\u0117\xED\xEE\xEF\xF0\u0146\u014D\xF3\xF4\xF5\xF6\u0169\xF8\u0173\xFA\xFB\xFC\xFD\xFE\u0138" + }, + "cp28600": "iso885910", + "iso885911": { + "type": "_sbcs", + "chars": "\x80\x81\x82\x83\x84\x85\x86\x87\x88\x89\x8A\x8B\x8C\x8D\x8E\x8F\x90\x91\x92\x93\x94\x95\x96\x97\x98\x99\x9A\x9B\x9C\x9D\x9E\x9F\xA0\u0E01\u0E02\u0E03\u0E04\u0E05\u0E06\u0E07\u0E08\u0E09\u0E0A\u0E0B\u0E0C\u0E0D\u0E0E\u0E0F\u0E10\u0E11\u0E12\u0E13\u0E14\u0E15\u0E16\u0E17\u0E18\u0E19\u0E1A\u0E1B\u0E1C\u0E1D\u0E1E\u0E1F\u0E20\u0E21\u0E22\u0E23\u0E24\u0E25\u0E26\u0E27\u0E28\u0E29\u0E2A\u0E2B\u0E2C\u0E2D\u0E2E\u0E2F\u0E30\u0E31\u0E32\u0E33\u0E34\u0E35\u0E36\u0E37\u0E38\u0E39\u0E3A\uFFFD\uFFFD\uFFFD\uFFFD\u0E3F\u0E40\u0E41\u0E42\u0E43\u0E44\u0E45\u0E46\u0E47\u0E48\u0E49\u0E4A\u0E4B\u0E4C\u0E4D\u0E4E\u0E4F\u0E50\u0E51\u0E52\u0E53\u0E54\u0E55\u0E56\u0E57\u0E58\u0E59\u0E5A\u0E5B\uFFFD\uFFFD\uFFFD\uFFFD" + }, + "cp28601": "iso885911", + "iso885913": { + "type": "_sbcs", + "chars": "\x80\x81\x82\x83\x84\x85\x86\x87\x88\x89\x8A\x8B\x8C\x8D\x8E\x8F\x90\x91\x92\x93\x94\x95\x96\x97\x98\x99\x9A\x9B\x9C\x9D\x9E\x9F\xA0\u201D\xA2\xA3\xA4\u201E\xA6\xA7\xD8\xA9\u0156\xAB\xAC\xAD\xAE\xC6\xB0\xB1\xB2\xB3\u201C\xB5\xB6\xB7\xF8\xB9\u0157\xBB\xBC\xBD\xBE\xE6\u0104\u012E\u0100\u0106\xC4\xC5\u0118\u0112\u010C\xC9\u0179\u0116\u0122\u0136\u012A\u013B\u0160\u0143\u0145\xD3\u014C\xD5\xD6\xD7\u0172\u0141\u015A\u016A\xDC\u017B\u017D\xDF\u0105\u012F\u0101\u0107\xE4\xE5\u0119\u0113\u010D\xE9\u017A\u0117\u0123\u0137\u012B\u013C\u0161\u0144\u0146\xF3\u014D\xF5\xF6\xF7\u0173\u0142\u015B\u016B\xFC\u017C\u017E\u2019" + }, + "cp28603": "iso885913", + "iso885914": { + "type": "_sbcs", + "chars": "\x80\x81\x82\x83\x84\x85\x86\x87\x88\x89\x8A\x8B\x8C\x8D\x8E\x8F\x90\x91\x92\x93\x94\x95\x96\x97\x98\x99\x9A\x9B\x9C\x9D\x9E\x9F\xA0\u1E02\u1E03\xA3\u010A\u010B\u1E0A\xA7\u1E80\xA9\u1E82\u1E0B\u1EF2\xAD\xAE\u0178\u1E1E\u1E1F\u0120\u0121\u1E40\u1E41\xB6\u1E56\u1E81\u1E57\u1E83\u1E60\u1EF3\u1E84\u1E85\u1E61\xC0\xC1\xC2\xC3\xC4\xC5\xC6\xC7\xC8\xC9\xCA\xCB\xCC\xCD\xCE\xCF\u0174\xD1\xD2\xD3\xD4\xD5\xD6\u1E6A\xD8\xD9\xDA\xDB\xDC\xDD\u0176\xDF\xE0\xE1\xE2\xE3\xE4\xE5\xE6\xE7\xE8\xE9\xEA\xEB\xEC\xED\xEE\xEF\u0175\xF1\xF2\xF3\xF4\xF5\xF6\u1E6B\xF8\xF9\xFA\xFB\xFC\xFD\u0177\xFF" + }, + "cp28604": "iso885914", + "iso885915": { + "type": "_sbcs", + "chars": "\x80\x81\x82\x83\x84\x85\x86\x87\x88\x89\x8A\x8B\x8C\x8D\x8E\x8F\x90\x91\x92\x93\x94\x95\x96\x97\x98\x99\x9A\x9B\x9C\x9D\x9E\x9F\xA0\xA1\xA2\xA3\u20AC\xA5\u0160\xA7\u0161\xA9\xAA\xAB\xAC\xAD\xAE\xAF\xB0\xB1\xB2\xB3\u017D\xB5\xB6\xB7\u017E\xB9\xBA\xBB\u0152\u0153\u0178\xBF\xC0\xC1\xC2\xC3\xC4\xC5\xC6\xC7\xC8\xC9\xCA\xCB\xCC\xCD\xCE\xCF\xD0\xD1\xD2\xD3\xD4\xD5\xD6\xD7\xD8\xD9\xDA\xDB\xDC\xDD\xDE\xDF\xE0\xE1\xE2\xE3\xE4\xE5\xE6\xE7\xE8\xE9\xEA\xEB\xEC\xED\xEE\xEF\xF0\xF1\xF2\xF3\xF4\xF5\xF6\xF7\xF8\xF9\xFA\xFB\xFC\xFD\xFE\xFF" + }, + "cp28605": "iso885915", + "iso885916": { + "type": "_sbcs", + "chars": "\x80\x81\x82\x83\x84\x85\x86\x87\x88\x89\x8A\x8B\x8C\x8D\x8E\x8F\x90\x91\x92\x93\x94\x95\x96\x97\x98\x99\x9A\x9B\x9C\x9D\x9E\x9F\xA0\u0104\u0105\u0141\u20AC\u201E\u0160\xA7\u0161\xA9\u0218\xAB\u0179\xAD\u017A\u017B\xB0\xB1\u010C\u0142\u017D\u201D\xB6\xB7\u017E\u010D\u0219\xBB\u0152\u0153\u0178\u017C\xC0\xC1\xC2\u0102\xC4\u0106\xC6\xC7\xC8\xC9\xCA\xCB\xCC\xCD\xCE\xCF\u0110\u0143\xD2\xD3\xD4\u0150\xD6\u015A\u0170\xD9\xDA\xDB\xDC\u0118\u021A\xDF\xE0\xE1\xE2\u0103\xE4\u0107\xE6\xE7\xE8\xE9\xEA\xEB\xEC\xED\xEE\xEF\u0111\u0144\xF2\xF3\xF4\u0151\xF6\u015B\u0171\xF9\xFA\xFB\xFC\u0119\u021B\xFF" + }, + "cp28606": "iso885916", + "cp437": { + "type": "_sbcs", + "chars": "\xC7\xFC\xE9\xE2\xE4\xE0\xE5\xE7\xEA\xEB\xE8\xEF\xEE\xEC\xC4\xC5\xC9\xE6\xC6\xF4\xF6\xF2\xFB\xF9\xFF\xD6\xDC\xA2\xA3\xA5\u20A7\u0192\xE1\xED\xF3\xFA\xF1\xD1\xAA\xBA\xBF\u2310\xAC\xBD\xBC\xA1\xAB\xBB\u2591\u2592\u2593\u2502\u2524\u2561\u2562\u2556\u2555\u2563\u2551\u2557\u255D\u255C\u255B\u2510\u2514\u2534\u252C\u251C\u2500\u253C\u255E\u255F\u255A\u2554\u2569\u2566\u2560\u2550\u256C\u2567\u2568\u2564\u2565\u2559\u2558\u2552\u2553\u256B\u256A\u2518\u250C\u2588\u2584\u258C\u2590\u2580\u03B1\xDF\u0393\u03C0\u03A3\u03C3\xB5\u03C4\u03A6\u0398\u03A9\u03B4\u221E\u03C6\u03B5\u2229\u2261\xB1\u2265\u2264\u2320\u2321\xF7\u2248\xB0\u2219\xB7\u221A\u207F\xB2\u25A0\xA0" + }, + "ibm437": "cp437", + "csibm437": "cp437", + "cp737": { + "type": "_sbcs", + "chars": "\u0391\u0392\u0393\u0394\u0395\u0396\u0397\u0398\u0399\u039A\u039B\u039C\u039D\u039E\u039F\u03A0\u03A1\u03A3\u03A4\u03A5\u03A6\u03A7\u03A8\u03A9\u03B1\u03B2\u03B3\u03B4\u03B5\u03B6\u03B7\u03B8\u03B9\u03BA\u03BB\u03BC\u03BD\u03BE\u03BF\u03C0\u03C1\u03C3\u03C2\u03C4\u03C5\u03C6\u03C7\u03C8\u2591\u2592\u2593\u2502\u2524\u2561\u2562\u2556\u2555\u2563\u2551\u2557\u255D\u255C\u255B\u2510\u2514\u2534\u252C\u251C\u2500\u253C\u255E\u255F\u255A\u2554\u2569\u2566\u2560\u2550\u256C\u2567\u2568\u2564\u2565\u2559\u2558\u2552\u2553\u256B\u256A\u2518\u250C\u2588\u2584\u258C\u2590\u2580\u03C9\u03AC\u03AD\u03AE\u03CA\u03AF\u03CC\u03CD\u03CB\u03CE\u0386\u0388\u0389\u038A\u038C\u038E\u038F\xB1\u2265\u2264\u03AA\u03AB\xF7\u2248\xB0\u2219\xB7\u221A\u207F\xB2\u25A0\xA0" + }, + "ibm737": "cp737", + "csibm737": "cp737", + "cp775": { + "type": "_sbcs", + "chars": "\u0106\xFC\xE9\u0101\xE4\u0123\xE5\u0107\u0142\u0113\u0156\u0157\u012B\u0179\xC4\xC5\xC9\xE6\xC6\u014D\xF6\u0122\xA2\u015A\u015B\xD6\xDC\xF8\xA3\xD8\xD7\xA4\u0100\u012A\xF3\u017B\u017C\u017A\u201D\xA6\xA9\xAE\xAC\xBD\xBC\u0141\xAB\xBB\u2591\u2592\u2593\u2502\u2524\u0104\u010C\u0118\u0116\u2563\u2551\u2557\u255D\u012E\u0160\u2510\u2514\u2534\u252C\u251C\u2500\u253C\u0172\u016A\u255A\u2554\u2569\u2566\u2560\u2550\u256C\u017D\u0105\u010D\u0119\u0117\u012F\u0161\u0173\u016B\u017E\u2518\u250C\u2588\u2584\u258C\u2590\u2580\xD3\xDF\u014C\u0143\xF5\xD5\xB5\u0144\u0136\u0137\u013B\u013C\u0146\u0112\u0145\u2019\xAD\xB1\u201C\xBE\xB6\xA7\xF7\u201E\xB0\u2219\xB7\xB9\xB3\xB2\u25A0\xA0" + }, + "ibm775": "cp775", + "csibm775": "cp775", + "cp850": { + "type": "_sbcs", + "chars": "\xC7\xFC\xE9\xE2\xE4\xE0\xE5\xE7\xEA\xEB\xE8\xEF\xEE\xEC\xC4\xC5\xC9\xE6\xC6\xF4\xF6\xF2\xFB\xF9\xFF\xD6\xDC\xF8\xA3\xD8\xD7\u0192\xE1\xED\xF3\xFA\xF1\xD1\xAA\xBA\xBF\xAE\xAC\xBD\xBC\xA1\xAB\xBB\u2591\u2592\u2593\u2502\u2524\xC1\xC2\xC0\xA9\u2563\u2551\u2557\u255D\xA2\xA5\u2510\u2514\u2534\u252C\u251C\u2500\u253C\xE3\xC3\u255A\u2554\u2569\u2566\u2560\u2550\u256C\xA4\xF0\xD0\xCA\xCB\xC8\u0131\xCD\xCE\xCF\u2518\u250C\u2588\u2584\xA6\xCC\u2580\xD3\xDF\xD4\xD2\xF5\xD5\xB5\xFE\xDE\xDA\xDB\xD9\xFD\xDD\xAF\xB4\xAD\xB1\u2017\xBE\xB6\xA7\xF7\xB8\xB0\xA8\xB7\xB9\xB3\xB2\u25A0\xA0" + }, + "ibm850": "cp850", + "csibm850": "cp850", + "cp852": { + "type": "_sbcs", + "chars": "\xC7\xFC\xE9\xE2\xE4\u016F\u0107\xE7\u0142\xEB\u0150\u0151\xEE\u0179\xC4\u0106\xC9\u0139\u013A\xF4\xF6\u013D\u013E\u015A\u015B\xD6\xDC\u0164\u0165\u0141\xD7\u010D\xE1\xED\xF3\xFA\u0104\u0105\u017D\u017E\u0118\u0119\xAC\u017A\u010C\u015F\xAB\xBB\u2591\u2592\u2593\u2502\u2524\xC1\xC2\u011A\u015E\u2563\u2551\u2557\u255D\u017B\u017C\u2510\u2514\u2534\u252C\u251C\u2500\u253C\u0102\u0103\u255A\u2554\u2569\u2566\u2560\u2550\u256C\xA4\u0111\u0110\u010E\xCB\u010F\u0147\xCD\xCE\u011B\u2518\u250C\u2588\u2584\u0162\u016E\u2580\xD3\xDF\xD4\u0143\u0144\u0148\u0160\u0161\u0154\xDA\u0155\u0170\xFD\xDD\u0163\xB4\xAD\u02DD\u02DB\u02C7\u02D8\xA7\xF7\xB8\xB0\xA8\u02D9\u0171\u0158\u0159\u25A0\xA0" + }, + "ibm852": "cp852", + "csibm852": "cp852", + "cp855": { + "type": "_sbcs", + "chars": "\u0452\u0402\u0453\u0403\u0451\u0401\u0454\u0404\u0455\u0405\u0456\u0406\u0457\u0407\u0458\u0408\u0459\u0409\u045A\u040A\u045B\u040B\u045C\u040C\u045E\u040E\u045F\u040F\u044E\u042E\u044A\u042A\u0430\u0410\u0431\u0411\u0446\u0426\u0434\u0414\u0435\u0415\u0444\u0424\u0433\u0413\xAB\xBB\u2591\u2592\u2593\u2502\u2524\u0445\u0425\u0438\u0418\u2563\u2551\u2557\u255D\u0439\u0419\u2510\u2514\u2534\u252C\u251C\u2500\u253C\u043A\u041A\u255A\u2554\u2569\u2566\u2560\u2550\u256C\xA4\u043B\u041B\u043C\u041C\u043D\u041D\u043E\u041E\u043F\u2518\u250C\u2588\u2584\u041F\u044F\u2580\u042F\u0440\u0420\u0441\u0421\u0442\u0422\u0443\u0423\u0436\u0416\u0432\u0412\u044C\u042C\u2116\xAD\u044B\u042B\u0437\u0417\u0448\u0428\u044D\u042D\u0449\u0429\u0447\u0427\xA7\u25A0\xA0" + }, + "ibm855": "cp855", + "csibm855": "cp855", + "cp856": { + "type": "_sbcs", + "chars": "\u05D0\u05D1\u05D2\u05D3\u05D4\u05D5\u05D6\u05D7\u05D8\u05D9\u05DA\u05DB\u05DC\u05DD\u05DE\u05DF\u05E0\u05E1\u05E2\u05E3\u05E4\u05E5\u05E6\u05E7\u05E8\u05E9\u05EA\uFFFD\xA3\uFFFD\xD7\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\xAE\xAC\xBD\xBC\uFFFD\xAB\xBB\u2591\u2592\u2593\u2502\u2524\uFFFD\uFFFD\uFFFD\xA9\u2563\u2551\u2557\u255D\xA2\xA5\u2510\u2514\u2534\u252C\u251C\u2500\u253C\uFFFD\uFFFD\u255A\u2554\u2569\u2566\u2560\u2550\u256C\xA4\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\u2518\u250C\u2588\u2584\xA6\uFFFD\u2580\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\xB5\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\xAF\xB4\xAD\xB1\u2017\xBE\xB6\xA7\xF7\xB8\xB0\xA8\xB7\xB9\xB3\xB2\u25A0\xA0" + }, + "ibm856": "cp856", + "csibm856": "cp856", + "cp857": { + "type": "_sbcs", + "chars": "\xC7\xFC\xE9\xE2\xE4\xE0\xE5\xE7\xEA\xEB\xE8\xEF\xEE\u0131\xC4\xC5\xC9\xE6\xC6\xF4\xF6\xF2\xFB\xF9\u0130\xD6\xDC\xF8\xA3\xD8\u015E\u015F\xE1\xED\xF3\xFA\xF1\xD1\u011E\u011F\xBF\xAE\xAC\xBD\xBC\xA1\xAB\xBB\u2591\u2592\u2593\u2502\u2524\xC1\xC2\xC0\xA9\u2563\u2551\u2557\u255D\xA2\xA5\u2510\u2514\u2534\u252C\u251C\u2500\u253C\xE3\xC3\u255A\u2554\u2569\u2566\u2560\u2550\u256C\xA4\xBA\xAA\xCA\xCB\xC8\uFFFD\xCD\xCE\xCF\u2518\u250C\u2588\u2584\xA6\xCC\u2580\xD3\xDF\xD4\xD2\xF5\xD5\xB5\uFFFD\xD7\xDA\xDB\xD9\xEC\xFF\xAF\xB4\xAD\xB1\uFFFD\xBE\xB6\xA7\xF7\xB8\xB0\xA8\xB7\xB9\xB3\xB2\u25A0\xA0" + }, + "ibm857": "cp857", + "csibm857": "cp857", + "cp858": { + "type": "_sbcs", + "chars": "\xC7\xFC\xE9\xE2\xE4\xE0\xE5\xE7\xEA\xEB\xE8\xEF\xEE\xEC\xC4\xC5\xC9\xE6\xC6\xF4\xF6\xF2\xFB\xF9\xFF\xD6\xDC\xF8\xA3\xD8\xD7\u0192\xE1\xED\xF3\xFA\xF1\xD1\xAA\xBA\xBF\xAE\xAC\xBD\xBC\xA1\xAB\xBB\u2591\u2592\u2593\u2502\u2524\xC1\xC2\xC0\xA9\u2563\u2551\u2557\u255D\xA2\xA5\u2510\u2514\u2534\u252C\u251C\u2500\u253C\xE3\xC3\u255A\u2554\u2569\u2566\u2560\u2550\u256C\xA4\xF0\xD0\xCA\xCB\xC8\u20AC\xCD\xCE\xCF\u2518\u250C\u2588\u2584\xA6\xCC\u2580\xD3\xDF\xD4\xD2\xF5\xD5\xB5\xFE\xDE\xDA\xDB\xD9\xFD\xDD\xAF\xB4\xAD\xB1\u2017\xBE\xB6\xA7\xF7\xB8\xB0\xA8\xB7\xB9\xB3\xB2\u25A0\xA0" + }, + "ibm858": "cp858", + "csibm858": "cp858", + "cp860": { + "type": "_sbcs", + "chars": "\xC7\xFC\xE9\xE2\xE3\xE0\xC1\xE7\xEA\xCA\xE8\xCD\xD4\xEC\xC3\xC2\xC9\xC0\xC8\xF4\xF5\xF2\xDA\xF9\xCC\xD5\xDC\xA2\xA3\xD9\u20A7\xD3\xE1\xED\xF3\xFA\xF1\xD1\xAA\xBA\xBF\xD2\xAC\xBD\xBC\xA1\xAB\xBB\u2591\u2592\u2593\u2502\u2524\u2561\u2562\u2556\u2555\u2563\u2551\u2557\u255D\u255C\u255B\u2510\u2514\u2534\u252C\u251C\u2500\u253C\u255E\u255F\u255A\u2554\u2569\u2566\u2560\u2550\u256C\u2567\u2568\u2564\u2565\u2559\u2558\u2552\u2553\u256B\u256A\u2518\u250C\u2588\u2584\u258C\u2590\u2580\u03B1\xDF\u0393\u03C0\u03A3\u03C3\xB5\u03C4\u03A6\u0398\u03A9\u03B4\u221E\u03C6\u03B5\u2229\u2261\xB1\u2265\u2264\u2320\u2321\xF7\u2248\xB0\u2219\xB7\u221A\u207F\xB2\u25A0\xA0" + }, + "ibm860": "cp860", + "csibm860": "cp860", + "cp861": { + "type": "_sbcs", + "chars": "\xC7\xFC\xE9\xE2\xE4\xE0\xE5\xE7\xEA\xEB\xE8\xD0\xF0\xDE\xC4\xC5\xC9\xE6\xC6\xF4\xF6\xFE\xFB\xDD\xFD\xD6\xDC\xF8\xA3\xD8\u20A7\u0192\xE1\xED\xF3\xFA\xC1\xCD\xD3\xDA\xBF\u2310\xAC\xBD\xBC\xA1\xAB\xBB\u2591\u2592\u2593\u2502\u2524\u2561\u2562\u2556\u2555\u2563\u2551\u2557\u255D\u255C\u255B\u2510\u2514\u2534\u252C\u251C\u2500\u253C\u255E\u255F\u255A\u2554\u2569\u2566\u2560\u2550\u256C\u2567\u2568\u2564\u2565\u2559\u2558\u2552\u2553\u256B\u256A\u2518\u250C\u2588\u2584\u258C\u2590\u2580\u03B1\xDF\u0393\u03C0\u03A3\u03C3\xB5\u03C4\u03A6\u0398\u03A9\u03B4\u221E\u03C6\u03B5\u2229\u2261\xB1\u2265\u2264\u2320\u2321\xF7\u2248\xB0\u2219\xB7\u221A\u207F\xB2\u25A0\xA0" + }, + "ibm861": "cp861", + "csibm861": "cp861", + "cp862": { + "type": "_sbcs", + "chars": "\u05D0\u05D1\u05D2\u05D3\u05D4\u05D5\u05D6\u05D7\u05D8\u05D9\u05DA\u05DB\u05DC\u05DD\u05DE\u05DF\u05E0\u05E1\u05E2\u05E3\u05E4\u05E5\u05E6\u05E7\u05E8\u05E9\u05EA\xA2\xA3\xA5\u20A7\u0192\xE1\xED\xF3\xFA\xF1\xD1\xAA\xBA\xBF\u2310\xAC\xBD\xBC\xA1\xAB\xBB\u2591\u2592\u2593\u2502\u2524\u2561\u2562\u2556\u2555\u2563\u2551\u2557\u255D\u255C\u255B\u2510\u2514\u2534\u252C\u251C\u2500\u253C\u255E\u255F\u255A\u2554\u2569\u2566\u2560\u2550\u256C\u2567\u2568\u2564\u2565\u2559\u2558\u2552\u2553\u256B\u256A\u2518\u250C\u2588\u2584\u258C\u2590\u2580\u03B1\xDF\u0393\u03C0\u03A3\u03C3\xB5\u03C4\u03A6\u0398\u03A9\u03B4\u221E\u03C6\u03B5\u2229\u2261\xB1\u2265\u2264\u2320\u2321\xF7\u2248\xB0\u2219\xB7\u221A\u207F\xB2\u25A0\xA0" + }, + "ibm862": "cp862", + "csibm862": "cp862", + "cp863": { + "type": "_sbcs", + "chars": "\xC7\xFC\xE9\xE2\xC2\xE0\xB6\xE7\xEA\xEB\xE8\xEF\xEE\u2017\xC0\xA7\xC9\xC8\xCA\xF4\xCB\xCF\xFB\xF9\xA4\xD4\xDC\xA2\xA3\xD9\xDB\u0192\xA6\xB4\xF3\xFA\xA8\xB8\xB3\xAF\xCE\u2310\xAC\xBD\xBC\xBE\xAB\xBB\u2591\u2592\u2593\u2502\u2524\u2561\u2562\u2556\u2555\u2563\u2551\u2557\u255D\u255C\u255B\u2510\u2514\u2534\u252C\u251C\u2500\u253C\u255E\u255F\u255A\u2554\u2569\u2566\u2560\u2550\u256C\u2567\u2568\u2564\u2565\u2559\u2558\u2552\u2553\u256B\u256A\u2518\u250C\u2588\u2584\u258C\u2590\u2580\u03B1\xDF\u0393\u03C0\u03A3\u03C3\xB5\u03C4\u03A6\u0398\u03A9\u03B4\u221E\u03C6\u03B5\u2229\u2261\xB1\u2265\u2264\u2320\u2321\xF7\u2248\xB0\u2219\xB7\u221A\u207F\xB2\u25A0\xA0" + }, + "ibm863": "cp863", + "csibm863": "cp863", + "cp864": { + "type": "_sbcs", + "chars": "\0\x07\b \n\v\f\r\x1B !\"#$\u066A&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~\x7F\xB0\xB7\u2219\u221A\u2592\u2500\u2502\u253C\u2524\u252C\u251C\u2534\u2510\u250C\u2514\u2518\u03B2\u221E\u03C6\xB1\xBD\xBC\u2248\xAB\xBB\uFEF7\uFEF8\uFFFD\uFFFD\uFEFB\uFEFC\uFFFD\xA0\xAD\uFE82\xA3\xA4\uFE84\uFFFD\uFFFD\uFE8E\uFE8F\uFE95\uFE99\u060C\uFE9D\uFEA1\uFEA5\u0660\u0661\u0662\u0663\u0664\u0665\u0666\u0667\u0668\u0669\uFED1\u061B\uFEB1\uFEB5\uFEB9\u061F\xA2\uFE80\uFE81\uFE83\uFE85\uFECA\uFE8B\uFE8D\uFE91\uFE93\uFE97\uFE9B\uFE9F\uFEA3\uFEA7\uFEA9\uFEAB\uFEAD\uFEAF\uFEB3\uFEB7\uFEBB\uFEBF\uFEC1\uFEC5\uFECB\uFECF\xA6\xAC\xF7\xD7\uFEC9\u0640\uFED3\uFED7\uFEDB\uFEDF\uFEE3\uFEE7\uFEEB\uFEED\uFEEF\uFEF3\uFEBD\uFECC\uFECE\uFECD\uFEE1\uFE7D\u0651\uFEE5\uFEE9\uFEEC\uFEF0\uFEF2\uFED0\uFED5\uFEF5\uFEF6\uFEDD\uFED9\uFEF1\u25A0\uFFFD" + }, + "ibm864": "cp864", + "csibm864": "cp864", + "cp865": { + "type": "_sbcs", + "chars": "\xC7\xFC\xE9\xE2\xE4\xE0\xE5\xE7\xEA\xEB\xE8\xEF\xEE\xEC\xC4\xC5\xC9\xE6\xC6\xF4\xF6\xF2\xFB\xF9\xFF\xD6\xDC\xF8\xA3\xD8\u20A7\u0192\xE1\xED\xF3\xFA\xF1\xD1\xAA\xBA\xBF\u2310\xAC\xBD\xBC\xA1\xAB\xA4\u2591\u2592\u2593\u2502\u2524\u2561\u2562\u2556\u2555\u2563\u2551\u2557\u255D\u255C\u255B\u2510\u2514\u2534\u252C\u251C\u2500\u253C\u255E\u255F\u255A\u2554\u2569\u2566\u2560\u2550\u256C\u2567\u2568\u2564\u2565\u2559\u2558\u2552\u2553\u256B\u256A\u2518\u250C\u2588\u2584\u258C\u2590\u2580\u03B1\xDF\u0393\u03C0\u03A3\u03C3\xB5\u03C4\u03A6\u0398\u03A9\u03B4\u221E\u03C6\u03B5\u2229\u2261\xB1\u2265\u2264\u2320\u2321\xF7\u2248\xB0\u2219\xB7\u221A\u207F\xB2\u25A0\xA0" + }, + "ibm865": "cp865", + "csibm865": "cp865", + "cp866": { + "type": "_sbcs", + "chars": "\u0410\u0411\u0412\u0413\u0414\u0415\u0416\u0417\u0418\u0419\u041A\u041B\u041C\u041D\u041E\u041F\u0420\u0421\u0422\u0423\u0424\u0425\u0426\u0427\u0428\u0429\u042A\u042B\u042C\u042D\u042E\u042F\u0430\u0431\u0432\u0433\u0434\u0435\u0436\u0437\u0438\u0439\u043A\u043B\u043C\u043D\u043E\u043F\u2591\u2592\u2593\u2502\u2524\u2561\u2562\u2556\u2555\u2563\u2551\u2557\u255D\u255C\u255B\u2510\u2514\u2534\u252C\u251C\u2500\u253C\u255E\u255F\u255A\u2554\u2569\u2566\u2560\u2550\u256C\u2567\u2568\u2564\u2565\u2559\u2558\u2552\u2553\u256B\u256A\u2518\u250C\u2588\u2584\u258C\u2590\u2580\u0440\u0441\u0442\u0443\u0444\u0445\u0446\u0447\u0448\u0449\u044A\u044B\u044C\u044D\u044E\u044F\u0401\u0451\u0404\u0454\u0407\u0457\u040E\u045E\xB0\u2219\xB7\u221A\u2116\xA4\u25A0\xA0" + }, + "ibm866": "cp866", + "csibm866": "cp866", + "cp869": { + "type": "_sbcs", + "chars": "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\u0386\uFFFD\xB7\xAC\xA6\u2018\u2019\u0388\u2015\u0389\u038A\u03AA\u038C\uFFFD\uFFFD\u038E\u03AB\xA9\u038F\xB2\xB3\u03AC\xA3\u03AD\u03AE\u03AF\u03CA\u0390\u03CC\u03CD\u0391\u0392\u0393\u0394\u0395\u0396\u0397\xBD\u0398\u0399\xAB\xBB\u2591\u2592\u2593\u2502\u2524\u039A\u039B\u039C\u039D\u2563\u2551\u2557\u255D\u039E\u039F\u2510\u2514\u2534\u252C\u251C\u2500\u253C\u03A0\u03A1\u255A\u2554\u2569\u2566\u2560\u2550\u256C\u03A3\u03A4\u03A5\u03A6\u03A7\u03A8\u03A9\u03B1\u03B2\u03B3\u2518\u250C\u2588\u2584\u03B4\u03B5\u2580\u03B6\u03B7\u03B8\u03B9\u03BA\u03BB\u03BC\u03BD\u03BE\u03BF\u03C0\u03C1\u03C3\u03C2\u03C4\u0384\xAD\xB1\u03C5\u03C6\u03C7\xA7\u03C8\u0385\xB0\xA8\u03C9\u03CB\u03B0\u03CE\u25A0\xA0" + }, + "ibm869": "cp869", + "csibm869": "cp869", + "cp922": { + "type": "_sbcs", + "chars": "\x80\x81\x82\x83\x84\x85\x86\x87\x88\x89\x8A\x8B\x8C\x8D\x8E\x8F\x90\x91\x92\x93\x94\x95\x96\x97\x98\x99\x9A\x9B\x9C\x9D\x9E\x9F\xA0\xA1\xA2\xA3\xA4\xA5\xA6\xA7\xA8\xA9\xAA\xAB\xAC\xAD\xAE\u203E\xB0\xB1\xB2\xB3\xB4\xB5\xB6\xB7\xB8\xB9\xBA\xBB\xBC\xBD\xBE\xBF\xC0\xC1\xC2\xC3\xC4\xC5\xC6\xC7\xC8\xC9\xCA\xCB\xCC\xCD\xCE\xCF\u0160\xD1\xD2\xD3\xD4\xD5\xD6\xD7\xD8\xD9\xDA\xDB\xDC\xDD\u017D\xDF\xE0\xE1\xE2\xE3\xE4\xE5\xE6\xE7\xE8\xE9\xEA\xEB\xEC\xED\xEE\xEF\u0161\xF1\xF2\xF3\xF4\xF5\xF6\xF7\xF8\xF9\xFA\xFB\xFC\xFD\u017E\xFF" + }, + "ibm922": "cp922", + "csibm922": "cp922", + "cp1046": { + "type": "_sbcs", + "chars": "\uFE88\xD7\xF7\uF8F6\uF8F5\uF8F4\uF8F7\uFE71\x88\u25A0\u2502\u2500\u2510\u250C\u2514\u2518\uFE79\uFE7B\uFE7D\uFE7F\uFE77\uFE8A\uFEF0\uFEF3\uFEF2\uFECE\uFECF\uFED0\uFEF6\uFEF8\uFEFA\uFEFC\xA0\uF8FA\uF8F9\uF8F8\xA4\uF8FB\uFE8B\uFE91\uFE97\uFE9B\uFE9F\uFEA3\u060C\xAD\uFEA7\uFEB3\u0660\u0661\u0662\u0663\u0664\u0665\u0666\u0667\u0668\u0669\uFEB7\u061B\uFEBB\uFEBF\uFECA\u061F\uFECB\u0621\u0622\u0623\u0624\u0625\u0626\u0627\u0628\u0629\u062A\u062B\u062C\u062D\u062E\u062F\u0630\u0631\u0632\u0633\u0634\u0635\u0636\u0637\uFEC7\u0639\u063A\uFECC\uFE82\uFE84\uFE8E\uFED3\u0640\u0641\u0642\u0643\u0644\u0645\u0646\u0647\u0648\u0649\u064A\u064B\u064C\u064D\u064E\u064F\u0650\u0651\u0652\uFED7\uFEDB\uFEDF\uF8FC\uFEF5\uFEF7\uFEF9\uFEFB\uFEE3\uFEE7\uFEEC\uFEE9\uFFFD" + }, + "ibm1046": "cp1046", + "csibm1046": "cp1046", + "cp1124": { + "type": "_sbcs", + "chars": "\x80\x81\x82\x83\x84\x85\x86\x87\x88\x89\x8A\x8B\x8C\x8D\x8E\x8F\x90\x91\x92\x93\x94\x95\x96\x97\x98\x99\x9A\x9B\x9C\x9D\x9E\x9F\xA0\u0401\u0402\u0490\u0404\u0405\u0406\u0407\u0408\u0409\u040A\u040B\u040C\xAD\u040E\u040F\u0410\u0411\u0412\u0413\u0414\u0415\u0416\u0417\u0418\u0419\u041A\u041B\u041C\u041D\u041E\u041F\u0420\u0421\u0422\u0423\u0424\u0425\u0426\u0427\u0428\u0429\u042A\u042B\u042C\u042D\u042E\u042F\u0430\u0431\u0432\u0433\u0434\u0435\u0436\u0437\u0438\u0439\u043A\u043B\u043C\u043D\u043E\u043F\u0440\u0441\u0442\u0443\u0444\u0445\u0446\u0447\u0448\u0449\u044A\u044B\u044C\u044D\u044E\u044F\u2116\u0451\u0452\u0491\u0454\u0455\u0456\u0457\u0458\u0459\u045A\u045B\u045C\xA7\u045E\u045F" + }, + "ibm1124": "cp1124", + "csibm1124": "cp1124", + "cp1125": { + "type": "_sbcs", + "chars": "\u0410\u0411\u0412\u0413\u0414\u0415\u0416\u0417\u0418\u0419\u041A\u041B\u041C\u041D\u041E\u041F\u0420\u0421\u0422\u0423\u0424\u0425\u0426\u0427\u0428\u0429\u042A\u042B\u042C\u042D\u042E\u042F\u0430\u0431\u0432\u0433\u0434\u0435\u0436\u0437\u0438\u0439\u043A\u043B\u043C\u043D\u043E\u043F\u2591\u2592\u2593\u2502\u2524\u2561\u2562\u2556\u2555\u2563\u2551\u2557\u255D\u255C\u255B\u2510\u2514\u2534\u252C\u251C\u2500\u253C\u255E\u255F\u255A\u2554\u2569\u2566\u2560\u2550\u256C\u2567\u2568\u2564\u2565\u2559\u2558\u2552\u2553\u256B\u256A\u2518\u250C\u2588\u2584\u258C\u2590\u2580\u0440\u0441\u0442\u0443\u0444\u0445\u0446\u0447\u0448\u0449\u044A\u044B\u044C\u044D\u044E\u044F\u0401\u0451\u0490\u0491\u0404\u0454\u0406\u0456\u0407\u0457\xB7\u221A\u2116\xA4\u25A0\xA0" + }, + "ibm1125": "cp1125", + "csibm1125": "cp1125", + "cp1129": { + "type": "_sbcs", + "chars": "\x80\x81\x82\x83\x84\x85\x86\x87\x88\x89\x8A\x8B\x8C\x8D\x8E\x8F\x90\x91\x92\x93\x94\x95\x96\x97\x98\x99\x9A\x9B\x9C\x9D\x9E\x9F\xA0\xA1\xA2\xA3\xA4\xA5\xA6\xA7\u0153\xA9\xAA\xAB\xAC\xAD\xAE\xAF\xB0\xB1\xB2\xB3\u0178\xB5\xB6\xB7\u0152\xB9\xBA\xBB\xBC\xBD\xBE\xBF\xC0\xC1\xC2\u0102\xC4\xC5\xC6\xC7\xC8\xC9\xCA\xCB\u0300\xCD\xCE\xCF\u0110\xD1\u0309\xD3\xD4\u01A0\xD6\xD7\xD8\xD9\xDA\xDB\xDC\u01AF\u0303\xDF\xE0\xE1\xE2\u0103\xE4\xE5\xE6\xE7\xE8\xE9\xEA\xEB\u0301\xED\xEE\xEF\u0111\xF1\u0323\xF3\xF4\u01A1\xF6\xF7\xF8\xF9\xFA\xFB\xFC\u01B0\u20AB\xFF" + }, + "ibm1129": "cp1129", + "csibm1129": "cp1129", + "cp1133": { + "type": "_sbcs", + "chars": "\x80\x81\x82\x83\x84\x85\x86\x87\x88\x89\x8A\x8B\x8C\x8D\x8E\x8F\x90\x91\x92\x93\x94\x95\x96\x97\x98\x99\x9A\x9B\x9C\x9D\x9E\x9F\xA0\u0E81\u0E82\u0E84\u0E87\u0E88\u0EAA\u0E8A\u0E8D\u0E94\u0E95\u0E96\u0E97\u0E99\u0E9A\u0E9B\u0E9C\u0E9D\u0E9E\u0E9F\u0EA1\u0EA2\u0EA3\u0EA5\u0EA7\u0EAB\u0EAD\u0EAE\uFFFD\uFFFD\uFFFD\u0EAF\u0EB0\u0EB2\u0EB3\u0EB4\u0EB5\u0EB6\u0EB7\u0EB8\u0EB9\u0EBC\u0EB1\u0EBB\u0EBD\uFFFD\uFFFD\uFFFD\u0EC0\u0EC1\u0EC2\u0EC3\u0EC4\u0EC8\u0EC9\u0ECA\u0ECB\u0ECC\u0ECD\u0EC6\uFFFD\u0EDC\u0EDD\u20AD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\u0ED0\u0ED1\u0ED2\u0ED3\u0ED4\u0ED5\u0ED6\u0ED7\u0ED8\u0ED9\uFFFD\uFFFD\xA2\xAC\xA6\uFFFD" + }, + "ibm1133": "cp1133", + "csibm1133": "cp1133", + "cp1161": { + "type": "_sbcs", + "chars": "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\u0E48\u0E01\u0E02\u0E03\u0E04\u0E05\u0E06\u0E07\u0E08\u0E09\u0E0A\u0E0B\u0E0C\u0E0D\u0E0E\u0E0F\u0E10\u0E11\u0E12\u0E13\u0E14\u0E15\u0E16\u0E17\u0E18\u0E19\u0E1A\u0E1B\u0E1C\u0E1D\u0E1E\u0E1F\u0E20\u0E21\u0E22\u0E23\u0E24\u0E25\u0E26\u0E27\u0E28\u0E29\u0E2A\u0E2B\u0E2C\u0E2D\u0E2E\u0E2F\u0E30\u0E31\u0E32\u0E33\u0E34\u0E35\u0E36\u0E37\u0E38\u0E39\u0E3A\u0E49\u0E4A\u0E4B\u20AC\u0E3F\u0E40\u0E41\u0E42\u0E43\u0E44\u0E45\u0E46\u0E47\u0E48\u0E49\u0E4A\u0E4B\u0E4C\u0E4D\u0E4E\u0E4F\u0E50\u0E51\u0E52\u0E53\u0E54\u0E55\u0E56\u0E57\u0E58\u0E59\u0E5A\u0E5B\xA2\xAC\xA6\xA0" + }, + "ibm1161": "cp1161", + "csibm1161": "cp1161", + "cp1162": { + "type": "_sbcs", + "chars": "\u20AC\x81\x82\x83\x84\u2026\x86\x87\x88\x89\x8A\x8B\x8C\x8D\x8E\x8F\x90\u2018\u2019\u201C\u201D\u2022\u2013\u2014\x98\x99\x9A\x9B\x9C\x9D\x9E\x9F\xA0\u0E01\u0E02\u0E03\u0E04\u0E05\u0E06\u0E07\u0E08\u0E09\u0E0A\u0E0B\u0E0C\u0E0D\u0E0E\u0E0F\u0E10\u0E11\u0E12\u0E13\u0E14\u0E15\u0E16\u0E17\u0E18\u0E19\u0E1A\u0E1B\u0E1C\u0E1D\u0E1E\u0E1F\u0E20\u0E21\u0E22\u0E23\u0E24\u0E25\u0E26\u0E27\u0E28\u0E29\u0E2A\u0E2B\u0E2C\u0E2D\u0E2E\u0E2F\u0E30\u0E31\u0E32\u0E33\u0E34\u0E35\u0E36\u0E37\u0E38\u0E39\u0E3A\uFFFD\uFFFD\uFFFD\uFFFD\u0E3F\u0E40\u0E41\u0E42\u0E43\u0E44\u0E45\u0E46\u0E47\u0E48\u0E49\u0E4A\u0E4B\u0E4C\u0E4D\u0E4E\u0E4F\u0E50\u0E51\u0E52\u0E53\u0E54\u0E55\u0E56\u0E57\u0E58\u0E59\u0E5A\u0E5B\uFFFD\uFFFD\uFFFD\uFFFD" + }, + "ibm1162": "cp1162", + "csibm1162": "cp1162", + "cp1163": { + "type": "_sbcs", + "chars": "\x80\x81\x82\x83\x84\x85\x86\x87\x88\x89\x8A\x8B\x8C\x8D\x8E\x8F\x90\x91\x92\x93\x94\x95\x96\x97\x98\x99\x9A\x9B\x9C\x9D\x9E\x9F\xA0\xA1\xA2\xA3\u20AC\xA5\xA6\xA7\u0153\xA9\xAA\xAB\xAC\xAD\xAE\xAF\xB0\xB1\xB2\xB3\u0178\xB5\xB6\xB7\u0152\xB9\xBA\xBB\xBC\xBD\xBE\xBF\xC0\xC1\xC2\u0102\xC4\xC5\xC6\xC7\xC8\xC9\xCA\xCB\u0300\xCD\xCE\xCF\u0110\xD1\u0309\xD3\xD4\u01A0\xD6\xD7\xD8\xD9\xDA\xDB\xDC\u01AF\u0303\xDF\xE0\xE1\xE2\u0103\xE4\xE5\xE6\xE7\xE8\xE9\xEA\xEB\u0301\xED\xEE\xEF\u0111\xF1\u0323\xF3\xF4\u01A1\xF6\xF7\xF8\xF9\xFA\xFB\xFC\u01B0\u20AB\xFF" + }, + "ibm1163": "cp1163", + "csibm1163": "cp1163", + "maccroatian": { + "type": "_sbcs", + "chars": "\xC4\xC5\xC7\xC9\xD1\xD6\xDC\xE1\xE0\xE2\xE4\xE3\xE5\xE7\xE9\xE8\xEA\xEB\xED\xEC\xEE\xEF\xF1\xF3\xF2\xF4\xF6\xF5\xFA\xF9\xFB\xFC\u2020\xB0\xA2\xA3\xA7\u2022\xB6\xDF\xAE\u0160\u2122\xB4\xA8\u2260\u017D\xD8\u221E\xB1\u2264\u2265\u2206\xB5\u2202\u2211\u220F\u0161\u222B\xAA\xBA\u2126\u017E\xF8\xBF\xA1\xAC\u221A\u0192\u2248\u0106\xAB\u010C\u2026\xA0\xC0\xC3\xD5\u0152\u0153\u0110\u2014\u201C\u201D\u2018\u2019\xF7\u25CA\uFFFD\xA9\u2044\xA4\u2039\u203A\xC6\xBB\u2013\xB7\u201A\u201E\u2030\xC2\u0107\xC1\u010D\xC8\xCD\xCE\xCF\xCC\xD3\xD4\u0111\xD2\xDA\xDB\xD9\u0131\u02C6\u02DC\xAF\u03C0\xCB\u02DA\xB8\xCA\xE6\u02C7" + }, + "maccyrillic": { + "type": "_sbcs", + "chars": "\u0410\u0411\u0412\u0413\u0414\u0415\u0416\u0417\u0418\u0419\u041A\u041B\u041C\u041D\u041E\u041F\u0420\u0421\u0422\u0423\u0424\u0425\u0426\u0427\u0428\u0429\u042A\u042B\u042C\u042D\u042E\u042F\u2020\xB0\xA2\xA3\xA7\u2022\xB6\u0406\xAE\xA9\u2122\u0402\u0452\u2260\u0403\u0453\u221E\xB1\u2264\u2265\u0456\xB5\u2202\u0408\u0404\u0454\u0407\u0457\u0409\u0459\u040A\u045A\u0458\u0405\xAC\u221A\u0192\u2248\u2206\xAB\xBB\u2026\xA0\u040B\u045B\u040C\u045C\u0455\u2013\u2014\u201C\u201D\u2018\u2019\xF7\u201E\u040E\u045E\u040F\u045F\u2116\u0401\u0451\u044F\u0430\u0431\u0432\u0433\u0434\u0435\u0436\u0437\u0438\u0439\u043A\u043B\u043C\u043D\u043E\u043F\u0440\u0441\u0442\u0443\u0444\u0445\u0446\u0447\u0448\u0449\u044A\u044B\u044C\u044D\u044E\xA4" + }, + "macgreek": { + "type": "_sbcs", + "chars": "\xC4\xB9\xB2\xC9\xB3\xD6\xDC\u0385\xE0\xE2\xE4\u0384\xA8\xE7\xE9\xE8\xEA\xEB\xA3\u2122\xEE\xEF\u2022\xBD\u2030\xF4\xF6\xA6\xAD\xF9\xFB\xFC\u2020\u0393\u0394\u0398\u039B\u039E\u03A0\xDF\xAE\xA9\u03A3\u03AA\xA7\u2260\xB0\u0387\u0391\xB1\u2264\u2265\xA5\u0392\u0395\u0396\u0397\u0399\u039A\u039C\u03A6\u03AB\u03A8\u03A9\u03AC\u039D\xAC\u039F\u03A1\u2248\u03A4\xAB\xBB\u2026\xA0\u03A5\u03A7\u0386\u0388\u0153\u2013\u2015\u201C\u201D\u2018\u2019\xF7\u0389\u038A\u038C\u038E\u03AD\u03AE\u03AF\u03CC\u038F\u03CD\u03B1\u03B2\u03C8\u03B4\u03B5\u03C6\u03B3\u03B7\u03B9\u03BE\u03BA\u03BB\u03BC\u03BD\u03BF\u03C0\u03CE\u03C1\u03C3\u03C4\u03B8\u03C9\u03C2\u03C7\u03C5\u03B6\u03CA\u03CB\u0390\u03B0\uFFFD" + }, + "maciceland": { + "type": "_sbcs", + "chars": "\xC4\xC5\xC7\xC9\xD1\xD6\xDC\xE1\xE0\xE2\xE4\xE3\xE5\xE7\xE9\xE8\xEA\xEB\xED\xEC\xEE\xEF\xF1\xF3\xF2\xF4\xF6\xF5\xFA\xF9\xFB\xFC\xDD\xB0\xA2\xA3\xA7\u2022\xB6\xDF\xAE\xA9\u2122\xB4\xA8\u2260\xC6\xD8\u221E\xB1\u2264\u2265\xA5\xB5\u2202\u2211\u220F\u03C0\u222B\xAA\xBA\u2126\xE6\xF8\xBF\xA1\xAC\u221A\u0192\u2248\u2206\xAB\xBB\u2026\xA0\xC0\xC3\xD5\u0152\u0153\u2013\u2014\u201C\u201D\u2018\u2019\xF7\u25CA\xFF\u0178\u2044\xA4\xD0\xF0\xDE\xFE\xFD\xB7\u201A\u201E\u2030\xC2\xCA\xC1\xCB\xC8\xCD\xCE\xCF\xCC\xD3\xD4\uFFFD\xD2\xDA\xDB\xD9\u0131\u02C6\u02DC\xAF\u02D8\u02D9\u02DA\xB8\u02DD\u02DB\u02C7" + }, + "macroman": { + "type": "_sbcs", + "chars": "\xC4\xC5\xC7\xC9\xD1\xD6\xDC\xE1\xE0\xE2\xE4\xE3\xE5\xE7\xE9\xE8\xEA\xEB\xED\xEC\xEE\xEF\xF1\xF3\xF2\xF4\xF6\xF5\xFA\xF9\xFB\xFC\u2020\xB0\xA2\xA3\xA7\u2022\xB6\xDF\xAE\xA9\u2122\xB4\xA8\u2260\xC6\xD8\u221E\xB1\u2264\u2265\xA5\xB5\u2202\u2211\u220F\u03C0\u222B\xAA\xBA\u2126\xE6\xF8\xBF\xA1\xAC\u221A\u0192\u2248\u2206\xAB\xBB\u2026\xA0\xC0\xC3\xD5\u0152\u0153\u2013\u2014\u201C\u201D\u2018\u2019\xF7\u25CA\xFF\u0178\u2044\xA4\u2039\u203A\uFB01\uFB02\u2021\xB7\u201A\u201E\u2030\xC2\xCA\xC1\xCB\xC8\xCD\xCE\xCF\xCC\xD3\xD4\uFFFD\xD2\xDA\xDB\xD9\u0131\u02C6\u02DC\xAF\u02D8\u02D9\u02DA\xB8\u02DD\u02DB\u02C7" + }, + "macromania": { + "type": "_sbcs", + "chars": "\xC4\xC5\xC7\xC9\xD1\xD6\xDC\xE1\xE0\xE2\xE4\xE3\xE5\xE7\xE9\xE8\xEA\xEB\xED\xEC\xEE\xEF\xF1\xF3\xF2\xF4\xF6\xF5\xFA\xF9\xFB\xFC\u2020\xB0\xA2\xA3\xA7\u2022\xB6\xDF\xAE\xA9\u2122\xB4\xA8\u2260\u0102\u015E\u221E\xB1\u2264\u2265\xA5\xB5\u2202\u2211\u220F\u03C0\u222B\xAA\xBA\u2126\u0103\u015F\xBF\xA1\xAC\u221A\u0192\u2248\u2206\xAB\xBB\u2026\xA0\xC0\xC3\xD5\u0152\u0153\u2013\u2014\u201C\u201D\u2018\u2019\xF7\u25CA\xFF\u0178\u2044\xA4\u2039\u203A\u0162\u0163\u2021\xB7\u201A\u201E\u2030\xC2\xCA\xC1\xCB\xC8\xCD\xCE\xCF\xCC\xD3\xD4\uFFFD\xD2\xDA\xDB\xD9\u0131\u02C6\u02DC\xAF\u02D8\u02D9\u02DA\xB8\u02DD\u02DB\u02C7" + }, + "macthai": { + "type": "_sbcs", + "chars": "\xAB\xBB\u2026\uF88C\uF88F\uF892\uF895\uF898\uF88B\uF88E\uF891\uF894\uF897\u201C\u201D\uF899\uFFFD\u2022\uF884\uF889\uF885\uF886\uF887\uF888\uF88A\uF88D\uF890\uF893\uF896\u2018\u2019\uFFFD\xA0\u0E01\u0E02\u0E03\u0E04\u0E05\u0E06\u0E07\u0E08\u0E09\u0E0A\u0E0B\u0E0C\u0E0D\u0E0E\u0E0F\u0E10\u0E11\u0E12\u0E13\u0E14\u0E15\u0E16\u0E17\u0E18\u0E19\u0E1A\u0E1B\u0E1C\u0E1D\u0E1E\u0E1F\u0E20\u0E21\u0E22\u0E23\u0E24\u0E25\u0E26\u0E27\u0E28\u0E29\u0E2A\u0E2B\u0E2C\u0E2D\u0E2E\u0E2F\u0E30\u0E31\u0E32\u0E33\u0E34\u0E35\u0E36\u0E37\u0E38\u0E39\u0E3A\uFEFF\u200B\u2013\u2014\u0E3F\u0E40\u0E41\u0E42\u0E43\u0E44\u0E45\u0E46\u0E47\u0E48\u0E49\u0E4A\u0E4B\u0E4C\u0E4D\u2122\u0E4F\u0E50\u0E51\u0E52\u0E53\u0E54\u0E55\u0E56\u0E57\u0E58\u0E59\xAE\xA9\uFFFD\uFFFD\uFFFD\uFFFD" + }, + "macturkish": { + "type": "_sbcs", + "chars": "\xC4\xC5\xC7\xC9\xD1\xD6\xDC\xE1\xE0\xE2\xE4\xE3\xE5\xE7\xE9\xE8\xEA\xEB\xED\xEC\xEE\xEF\xF1\xF3\xF2\xF4\xF6\xF5\xFA\xF9\xFB\xFC\u2020\xB0\xA2\xA3\xA7\u2022\xB6\xDF\xAE\xA9\u2122\xB4\xA8\u2260\xC6\xD8\u221E\xB1\u2264\u2265\xA5\xB5\u2202\u2211\u220F\u03C0\u222B\xAA\xBA\u2126\xE6\xF8\xBF\xA1\xAC\u221A\u0192\u2248\u2206\xAB\xBB\u2026\xA0\xC0\xC3\xD5\u0152\u0153\u2013\u2014\u201C\u201D\u2018\u2019\xF7\u25CA\xFF\u0178\u011E\u011F\u0130\u0131\u015E\u015F\u2021\xB7\u201A\u201E\u2030\xC2\xCA\xC1\xCB\xC8\xCD\xCE\xCF\xCC\xD3\xD4\uFFFD\xD2\xDA\xDB\xD9\uFFFD\u02C6\u02DC\xAF\u02D8\u02D9\u02DA\xB8\u02DD\u02DB\u02C7" + }, + "macukraine": { + "type": "_sbcs", + "chars": "\u0410\u0411\u0412\u0413\u0414\u0415\u0416\u0417\u0418\u0419\u041A\u041B\u041C\u041D\u041E\u041F\u0420\u0421\u0422\u0423\u0424\u0425\u0426\u0427\u0428\u0429\u042A\u042B\u042C\u042D\u042E\u042F\u2020\xB0\u0490\xA3\xA7\u2022\xB6\u0406\xAE\xA9\u2122\u0402\u0452\u2260\u0403\u0453\u221E\xB1\u2264\u2265\u0456\xB5\u0491\u0408\u0404\u0454\u0407\u0457\u0409\u0459\u040A\u045A\u0458\u0405\xAC\u221A\u0192\u2248\u2206\xAB\xBB\u2026\xA0\u040B\u045B\u040C\u045C\u0455\u2013\u2014\u201C\u201D\u2018\u2019\xF7\u201E\u040E\u045E\u040F\u045F\u2116\u0401\u0451\u044F\u0430\u0431\u0432\u0433\u0434\u0435\u0436\u0437\u0438\u0439\u043A\u043B\u043C\u043D\u043E\u043F\u0440\u0441\u0442\u0443\u0444\u0445\u0446\u0447\u0448\u0449\u044A\u044B\u044C\u044D\u044E\xA4" + }, + "koi8r": { + "type": "_sbcs", + "chars": "\u2500\u2502\u250C\u2510\u2514\u2518\u251C\u2524\u252C\u2534\u253C\u2580\u2584\u2588\u258C\u2590\u2591\u2592\u2593\u2320\u25A0\u2219\u221A\u2248\u2264\u2265\xA0\u2321\xB0\xB2\xB7\xF7\u2550\u2551\u2552\u0451\u2553\u2554\u2555\u2556\u2557\u2558\u2559\u255A\u255B\u255C\u255D\u255E\u255F\u2560\u2561\u0401\u2562\u2563\u2564\u2565\u2566\u2567\u2568\u2569\u256A\u256B\u256C\xA9\u044E\u0430\u0431\u0446\u0434\u0435\u0444\u0433\u0445\u0438\u0439\u043A\u043B\u043C\u043D\u043E\u043F\u044F\u0440\u0441\u0442\u0443\u0436\u0432\u044C\u044B\u0437\u0448\u044D\u0449\u0447\u044A\u042E\u0410\u0411\u0426\u0414\u0415\u0424\u0413\u0425\u0418\u0419\u041A\u041B\u041C\u041D\u041E\u041F\u042F\u0420\u0421\u0422\u0423\u0416\u0412\u042C\u042B\u0417\u0428\u042D\u0429\u0427\u042A" + }, + "koi8u": { + "type": "_sbcs", + "chars": "\u2500\u2502\u250C\u2510\u2514\u2518\u251C\u2524\u252C\u2534\u253C\u2580\u2584\u2588\u258C\u2590\u2591\u2592\u2593\u2320\u25A0\u2219\u221A\u2248\u2264\u2265\xA0\u2321\xB0\xB2\xB7\xF7\u2550\u2551\u2552\u0451\u0454\u2554\u0456\u0457\u2557\u2558\u2559\u255A\u255B\u0491\u255D\u255E\u255F\u2560\u2561\u0401\u0404\u2563\u0406\u0407\u2566\u2567\u2568\u2569\u256A\u0490\u256C\xA9\u044E\u0430\u0431\u0446\u0434\u0435\u0444\u0433\u0445\u0438\u0439\u043A\u043B\u043C\u043D\u043E\u043F\u044F\u0440\u0441\u0442\u0443\u0436\u0432\u044C\u044B\u0437\u0448\u044D\u0449\u0447\u044A\u042E\u0410\u0411\u0426\u0414\u0415\u0424\u0413\u0425\u0418\u0419\u041A\u041B\u041C\u041D\u041E\u041F\u042F\u0420\u0421\u0422\u0423\u0416\u0412\u042C\u042B\u0417\u0428\u042D\u0429\u0427\u042A" + }, + "koi8ru": { + "type": "_sbcs", + "chars": "\u2500\u2502\u250C\u2510\u2514\u2518\u251C\u2524\u252C\u2534\u253C\u2580\u2584\u2588\u258C\u2590\u2591\u2592\u2593\u2320\u25A0\u2219\u221A\u2248\u2264\u2265\xA0\u2321\xB0\xB2\xB7\xF7\u2550\u2551\u2552\u0451\u0454\u2554\u0456\u0457\u2557\u2558\u2559\u255A\u255B\u0491\u045E\u255E\u255F\u2560\u2561\u0401\u0404\u2563\u0406\u0407\u2566\u2567\u2568\u2569\u256A\u0490\u040E\xA9\u044E\u0430\u0431\u0446\u0434\u0435\u0444\u0433\u0445\u0438\u0439\u043A\u043B\u043C\u043D\u043E\u043F\u044F\u0440\u0441\u0442\u0443\u0436\u0432\u044C\u044B\u0437\u0448\u044D\u0449\u0447\u044A\u042E\u0410\u0411\u0426\u0414\u0415\u0424\u0413\u0425\u0418\u0419\u041A\u041B\u041C\u041D\u041E\u041F\u042F\u0420\u0421\u0422\u0423\u0416\u0412\u042C\u042B\u0417\u0428\u042D\u0429\u0427\u042A" + }, + "koi8t": { + "type": "_sbcs", + "chars": "\u049B\u0493\u201A\u0492\u201E\u2026\u2020\u2021\uFFFD\u2030\u04B3\u2039\u04B2\u04B7\u04B6\uFFFD\u049A\u2018\u2019\u201C\u201D\u2022\u2013\u2014\uFFFD\u2122\uFFFD\u203A\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\u04EF\u04EE\u0451\xA4\u04E3\xA6\xA7\uFFFD\uFFFD\uFFFD\xAB\xAC\xAD\xAE\uFFFD\xB0\xB1\xB2\u0401\uFFFD\u04E2\xB6\xB7\uFFFD\u2116\uFFFD\xBB\uFFFD\uFFFD\uFFFD\xA9\u044E\u0430\u0431\u0446\u0434\u0435\u0444\u0433\u0445\u0438\u0439\u043A\u043B\u043C\u043D\u043E\u043F\u044F\u0440\u0441\u0442\u0443\u0436\u0432\u044C\u044B\u0437\u0448\u044D\u0449\u0447\u044A\u042E\u0410\u0411\u0426\u0414\u0415\u0424\u0413\u0425\u0418\u0419\u041A\u041B\u041C\u041D\u041E\u041F\u042F\u0420\u0421\u0422\u0423\u0416\u0412\u042C\u042B\u0417\u0428\u042D\u0429\u0427\u042A" + }, + "armscii8": { + "type": "_sbcs", + "chars": "\x80\x81\x82\x83\x84\x85\x86\x87\x88\x89\x8A\x8B\x8C\x8D\x8E\x8F\x90\x91\x92\x93\x94\x95\x96\x97\x98\x99\x9A\x9B\x9C\x9D\x9E\x9F\xA0\uFFFD\u0587\u0589)(\xBB\xAB\u2014.\u055D,-\u058A\u2026\u055C\u055B\u055E\u0531\u0561\u0532\u0562\u0533\u0563\u0534\u0564\u0535\u0565\u0536\u0566\u0537\u0567\u0538\u0568\u0539\u0569\u053A\u056A\u053B\u056B\u053C\u056C\u053D\u056D\u053E\u056E\u053F\u056F\u0540\u0570\u0541\u0571\u0542\u0572\u0543\u0573\u0544\u0574\u0545\u0575\u0546\u0576\u0547\u0577\u0548\u0578\u0549\u0579\u054A\u057A\u054B\u057B\u054C\u057C\u054D\u057D\u054E\u057E\u054F\u057F\u0550\u0580\u0551\u0581\u0552\u0582\u0553\u0583\u0554\u0584\u0555\u0585\u0556\u0586\u055A\uFFFD" + }, + "rk1048": { + "type": "_sbcs", + "chars": "\u0402\u0403\u201A\u0453\u201E\u2026\u2020\u2021\u20AC\u2030\u0409\u2039\u040A\u049A\u04BA\u040F\u0452\u2018\u2019\u201C\u201D\u2022\u2013\u2014\uFFFD\u2122\u0459\u203A\u045A\u049B\u04BB\u045F\xA0\u04B0\u04B1\u04D8\xA4\u04E8\xA6\xA7\u0401\xA9\u0492\xAB\xAC\xAD\xAE\u04AE\xB0\xB1\u0406\u0456\u04E9\xB5\xB6\xB7\u0451\u2116\u0493\xBB\u04D9\u04A2\u04A3\u04AF\u0410\u0411\u0412\u0413\u0414\u0415\u0416\u0417\u0418\u0419\u041A\u041B\u041C\u041D\u041E\u041F\u0420\u0421\u0422\u0423\u0424\u0425\u0426\u0427\u0428\u0429\u042A\u042B\u042C\u042D\u042E\u042F\u0430\u0431\u0432\u0433\u0434\u0435\u0436\u0437\u0438\u0439\u043A\u043B\u043C\u043D\u043E\u043F\u0440\u0441\u0442\u0443\u0444\u0445\u0446\u0447\u0448\u0449\u044A\u044B\u044C\u044D\u044E\u044F" + }, + "tcvn": { + "type": "_sbcs", + "chars": "\0\xDA\u1EE4\u1EEA\u1EEC\u1EEE\x07\b \n\v\f\r\u1EE8\u1EF0\u1EF2\u1EF6\u1EF8\xDD\u1EF4\x1B !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~\x7F\xC0\u1EA2\xC3\xC1\u1EA0\u1EB6\u1EAC\xC8\u1EBA\u1EBC\xC9\u1EB8\u1EC6\xCC\u1EC8\u0128\xCD\u1ECA\xD2\u1ECE\xD5\xD3\u1ECC\u1ED8\u1EDC\u1EDE\u1EE0\u1EDA\u1EE2\xD9\u1EE6\u0168\xA0\u0102\xC2\xCA\xD4\u01A0\u01AF\u0110\u0103\xE2\xEA\xF4\u01A1\u01B0\u0111\u1EB0\u0300\u0309\u0303\u0301\u0323\xE0\u1EA3\xE3\xE1\u1EA1\u1EB2\u1EB1\u1EB3\u1EB5\u1EAF\u1EB4\u1EAE\u1EA6\u1EA8\u1EAA\u1EA4\u1EC0\u1EB7\u1EA7\u1EA9\u1EAB\u1EA5\u1EAD\xE8\u1EC2\u1EBB\u1EBD\xE9\u1EB9\u1EC1\u1EC3\u1EC5\u1EBF\u1EC7\xEC\u1EC9\u1EC4\u1EBE\u1ED2\u0129\xED\u1ECB\xF2\u1ED4\u1ECF\xF5\xF3\u1ECD\u1ED3\u1ED5\u1ED7\u1ED1\u1ED9\u1EDD\u1EDF\u1EE1\u1EDB\u1EE3\xF9\u1ED6\u1EE7\u0169\xFA\u1EE5\u1EEB\u1EED\u1EEF\u1EE9\u1EF1\u1EF3\u1EF7\u1EF9\xFD\u1EF5\u1ED0" + }, + "georgianacademy": { + "type": "_sbcs", + "chars": "\x80\x81\u201A\u0192\u201E\u2026\u2020\u2021\u02C6\u2030\u0160\u2039\u0152\x8D\x8E\x8F\x90\u2018\u2019\u201C\u201D\u2022\u2013\u2014\u02DC\u2122\u0161\u203A\u0153\x9D\x9E\u0178\xA0\xA1\xA2\xA3\xA4\xA5\xA6\xA7\xA8\xA9\xAA\xAB\xAC\xAD\xAE\xAF\xB0\xB1\xB2\xB3\xB4\xB5\xB6\xB7\xB8\xB9\xBA\xBB\xBC\xBD\xBE\xBF\u10D0\u10D1\u10D2\u10D3\u10D4\u10D5\u10D6\u10D7\u10D8\u10D9\u10DA\u10DB\u10DC\u10DD\u10DE\u10DF\u10E0\u10E1\u10E2\u10E3\u10E4\u10E5\u10E6\u10E7\u10E8\u10E9\u10EA\u10EB\u10EC\u10ED\u10EE\u10EF\u10F0\u10F1\u10F2\u10F3\u10F4\u10F5\u10F6\xE7\xE8\xE9\xEA\xEB\xEC\xED\xEE\xEF\xF0\xF1\xF2\xF3\xF4\xF5\xF6\xF7\xF8\xF9\xFA\xFB\xFC\xFD\xFE\xFF" + }, + "georgianps": { + "type": "_sbcs", + "chars": "\x80\x81\u201A\u0192\u201E\u2026\u2020\u2021\u02C6\u2030\u0160\u2039\u0152\x8D\x8E\x8F\x90\u2018\u2019\u201C\u201D\u2022\u2013\u2014\u02DC\u2122\u0161\u203A\u0153\x9D\x9E\u0178\xA0\xA1\xA2\xA3\xA4\xA5\xA6\xA7\xA8\xA9\xAA\xAB\xAC\xAD\xAE\xAF\xB0\xB1\xB2\xB3\xB4\xB5\xB6\xB7\xB8\xB9\xBA\xBB\xBC\xBD\xBE\xBF\u10D0\u10D1\u10D2\u10D3\u10D4\u10D5\u10D6\u10F1\u10D7\u10D8\u10D9\u10DA\u10DB\u10DC\u10F2\u10DD\u10DE\u10DF\u10E0\u10E1\u10E2\u10F3\u10E3\u10E4\u10E5\u10E6\u10E7\u10E8\u10E9\u10EA\u10EB\u10EC\u10ED\u10EE\u10F4\u10EF\u10F0\u10F5\xE6\xE7\xE8\xE9\xEA\xEB\xEC\xED\xEE\xEF\xF0\xF1\xF2\xF3\xF4\xF5\xF6\xF7\xF8\xF9\xFA\xFB\xFC\xFD\xFE\xFF" + }, + "pt154": { + "type": "_sbcs", + "chars": "\u0496\u0492\u04EE\u0493\u201E\u2026\u04B6\u04AE\u04B2\u04AF\u04A0\u04E2\u04A2\u049A\u04BA\u04B8\u0497\u2018\u2019\u201C\u201D\u2022\u2013\u2014\u04B3\u04B7\u04A1\u04E3\u04A3\u049B\u04BB\u04B9\xA0\u040E\u045E\u0408\u04E8\u0498\u04B0\xA7\u0401\xA9\u04D8\xAB\xAC\u04EF\xAE\u049C\xB0\u04B1\u0406\u0456\u0499\u04E9\xB6\xB7\u0451\u2116\u04D9\xBB\u0458\u04AA\u04AB\u049D\u0410\u0411\u0412\u0413\u0414\u0415\u0416\u0417\u0418\u0419\u041A\u041B\u041C\u041D\u041E\u041F\u0420\u0421\u0422\u0423\u0424\u0425\u0426\u0427\u0428\u0429\u042A\u042B\u042C\u042D\u042E\u042F\u0430\u0431\u0432\u0433\u0434\u0435\u0436\u0437\u0438\u0439\u043A\u043B\u043C\u043D\u043E\u043F\u0440\u0441\u0442\u0443\u0444\u0445\u0446\u0447\u0448\u0449\u044A\u044B\u044C\u044D\u044E\u044F" + }, + "viscii": { + "type": "_sbcs", + "chars": "\0\u1EB2\u1EB4\u1EAA\x07\b \n\v\f\r\u1EF6\u1EF8\x1B\u1EF4 !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~\x7F\u1EA0\u1EAE\u1EB0\u1EB6\u1EA4\u1EA6\u1EA8\u1EAC\u1EBC\u1EB8\u1EBE\u1EC0\u1EC2\u1EC4\u1EC6\u1ED0\u1ED2\u1ED4\u1ED6\u1ED8\u1EE2\u1EDA\u1EDC\u1EDE\u1ECA\u1ECE\u1ECC\u1EC8\u1EE6\u0168\u1EE4\u1EF2\xD5\u1EAF\u1EB1\u1EB7\u1EA5\u1EA7\u1EA9\u1EAD\u1EBD\u1EB9\u1EBF\u1EC1\u1EC3\u1EC5\u1EC7\u1ED1\u1ED3\u1ED5\u1ED7\u1EE0\u01A0\u1ED9\u1EDD\u1EDF\u1ECB\u1EF0\u1EE8\u1EEA\u1EEC\u01A1\u1EDB\u01AF\xC0\xC1\xC2\xC3\u1EA2\u0102\u1EB3\u1EB5\xC8\xC9\xCA\u1EBA\xCC\xCD\u0128\u1EF3\u0110\u1EE9\xD2\xD3\xD4\u1EA1\u1EF7\u1EEB\u1EED\xD9\xDA\u1EF9\u1EF5\xDD\u1EE1\u01B0\xE0\xE1\xE2\xE3\u1EA3\u0103\u1EEF\u1EAB\xE8\xE9\xEA\u1EBB\xEC\xED\u0129\u1EC9\u0111\u1EF1\xF2\xF3\xF4\xF5\u1ECF\u1ECD\u1EE5\xF9\xFA\u0169\u1EE7\xFD\u1EE3\u1EEE" + }, + "iso646cn": { + "type": "_sbcs", + "chars": "\0\x07\b \n\v\f\r\x1B !\"#\xA5%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}\u203E\x7F\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD" + }, + "iso646jp": { + "type": "_sbcs", + "chars": "\0\x07\b \n\v\f\r\x1B !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\xA5]^_`abcdefghijklmnopqrstuvwxyz{|}\u203E\x7F\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD" + }, + "hproman8": { + "type": "_sbcs", + "chars": "\x80\x81\x82\x83\x84\x85\x86\x87\x88\x89\x8A\x8B\x8C\x8D\x8E\x8F\x90\x91\x92\x93\x94\x95\x96\x97\x98\x99\x9A\x9B\x9C\x9D\x9E\x9F\xA0\xC0\xC2\xC8\xCA\xCB\xCE\xCF\xB4\u02CB\u02C6\xA8\u02DC\xD9\xDB\u20A4\xAF\xDD\xFD\xB0\xC7\xE7\xD1\xF1\xA1\xBF\xA4\xA3\xA5\xA7\u0192\xA2\xE2\xEA\xF4\xFB\xE1\xE9\xF3\xFA\xE0\xE8\xF2\xF9\xE4\xEB\xF6\xFC\xC5\xEE\xD8\xC6\xE5\xED\xF8\xE6\xC4\xEC\xD6\xDC\xC9\xEF\xDF\xD4\xC1\xC3\xE3\xD0\xF0\xCD\xCC\xD3\xD2\xD5\xF5\u0160\u0161\xDA\u0178\xFF\xDE\xFE\xB7\xB5\xB6\xBE\u2014\xBC\xBD\xAA\xBA\xAB\u25A0\xBB\xB1\uFFFD" + }, + "macintosh": { + "type": "_sbcs", + "chars": "\xC4\xC5\xC7\xC9\xD1\xD6\xDC\xE1\xE0\xE2\xE4\xE3\xE5\xE7\xE9\xE8\xEA\xEB\xED\xEC\xEE\xEF\xF1\xF3\xF2\xF4\xF6\xF5\xFA\xF9\xFB\xFC\u2020\xB0\xA2\xA3\xA7\u2022\xB6\xDF\xAE\xA9\u2122\xB4\xA8\u2260\xC6\xD8\u221E\xB1\u2264\u2265\xA5\xB5\u2202\u2211\u220F\u03C0\u222B\xAA\xBA\u2126\xE6\xF8\xBF\xA1\xAC\u221A\u0192\u2248\u2206\xAB\xBB\u2026\xA0\xC0\xC3\xD5\u0152\u0153\u2013\u2014\u201C\u201D\u2018\u2019\xF7\u25CA\xFF\u0178\u2044\xA4\u2039\u203A\uFB01\uFB02\u2021\xB7\u201A\u201E\u2030\xC2\xCA\xC1\xCB\xC8\xCD\xCE\xCF\xCC\xD3\xD4\uFFFD\xD2\xDA\xDB\xD9\u0131\u02C6\u02DC\xAF\u02D8\u02D9\u02DA\xB8\u02DD\u02DB\u02C7" + }, + "ascii": { + "type": "_sbcs", + "chars": "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD" + }, + "tis620": { + "type": "_sbcs", + "chars": "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\u0E01\u0E02\u0E03\u0E04\u0E05\u0E06\u0E07\u0E08\u0E09\u0E0A\u0E0B\u0E0C\u0E0D\u0E0E\u0E0F\u0E10\u0E11\u0E12\u0E13\u0E14\u0E15\u0E16\u0E17\u0E18\u0E19\u0E1A\u0E1B\u0E1C\u0E1D\u0E1E\u0E1F\u0E20\u0E21\u0E22\u0E23\u0E24\u0E25\u0E26\u0E27\u0E28\u0E29\u0E2A\u0E2B\u0E2C\u0E2D\u0E2E\u0E2F\u0E30\u0E31\u0E32\u0E33\u0E34\u0E35\u0E36\u0E37\u0E38\u0E39\u0E3A\uFFFD\uFFFD\uFFFD\uFFFD\u0E3F\u0E40\u0E41\u0E42\u0E43\u0E44\u0E45\u0E46\u0E47\u0E48\u0E49\u0E4A\u0E4B\u0E4C\u0E4D\u0E4E\u0E4F\u0E50\u0E51\u0E52\u0E53\u0E54\u0E55\u0E56\u0E57\u0E58\u0E59\u0E5A\u0E5B\uFFFD\uFFFD\uFFFD\uFFFD" + } + }; + } +}); +var require_dbcs_codec = __commonJS2({ + "node_modules/raw-body/node_modules/iconv-lite/encodings/dbcs-codec.js"(exports2) { + "use strict"; + var Buffer2 = require_safer().Buffer; + exports2._dbcs = DBCSCodec; + var UNASSIGNED = -1; + var GB18030_CODE = -2; + var SEQ_START = -10; + var NODE_START = -1e3; + var UNASSIGNED_NODE = new Array(256); + var DEF_CHAR = -1; + for (i = 0; i < 256; i++) + UNASSIGNED_NODE[i] = UNASSIGNED; + var i; + function DBCSCodec(codecOptions, iconv) { + this.encodingName = codecOptions.encodingName; + if (!codecOptions) + throw new Error("DBCS codec is called without the data."); + if (!codecOptions.table) + throw new Error("Encoding '" + this.encodingName + "' has no data."); + var mappingTable = codecOptions.table(); + this.decodeTables = []; + this.decodeTables[0] = UNASSIGNED_NODE.slice(0); + this.decodeTableSeq = []; + for (var i2 = 0; i2 < mappingTable.length; i2++) + this._addDecodeChunk(mappingTable[i2]); + if (typeof codecOptions.gb18030 === "function") { + this.gb18030 = codecOptions.gb18030(); + var commonThirdByteNodeIdx = this.decodeTables.length; + this.decodeTables.push(UNASSIGNED_NODE.slice(0)); + var commonFourthByteNodeIdx = this.decodeTables.length; + this.decodeTables.push(UNASSIGNED_NODE.slice(0)); + var firstByteNode = this.decodeTables[0]; + for (var i2 = 129; i2 <= 254; i2++) { + var secondByteNode = this.decodeTables[NODE_START - firstByteNode[i2]]; + for (var j = 48; j <= 57; j++) { + if (secondByteNode[j] === UNASSIGNED) { + secondByteNode[j] = NODE_START - commonThirdByteNodeIdx; + } else if (secondByteNode[j] > NODE_START) { + throw new Error("gb18030 decode tables conflict at byte 2"); + } + var thirdByteNode = this.decodeTables[NODE_START - secondByteNode[j]]; + for (var k = 129; k <= 254; k++) { + if (thirdByteNode[k] === UNASSIGNED) { + thirdByteNode[k] = NODE_START - commonFourthByteNodeIdx; + } else if (thirdByteNode[k] === NODE_START - commonFourthByteNodeIdx) { + continue; + } else if (thirdByteNode[k] > NODE_START) { + throw new Error("gb18030 decode tables conflict at byte 3"); + } + var fourthByteNode = this.decodeTables[NODE_START - thirdByteNode[k]]; + for (var l = 48; l <= 57; l++) { + if (fourthByteNode[l] === UNASSIGNED) + fourthByteNode[l] = GB18030_CODE; + } + } + } + } + } + this.defaultCharUnicode = iconv.defaultCharUnicode; + this.encodeTable = []; + this.encodeTableSeq = []; + var skipEncodeChars = {}; + if (codecOptions.encodeSkipVals) + for (var i2 = 0; i2 < codecOptions.encodeSkipVals.length; i2++) { + var val = codecOptions.encodeSkipVals[i2]; + if (typeof val === "number") + skipEncodeChars[val] = true; + else + for (var j = val.from; j <= val.to; j++) + skipEncodeChars[j] = true; + } + this._fillEncodeTable(0, 0, skipEncodeChars); + if (codecOptions.encodeAdd) { + for (var uChar in codecOptions.encodeAdd) + if (Object.prototype.hasOwnProperty.call(codecOptions.encodeAdd, uChar)) + this._setEncodeChar(uChar.charCodeAt(0), codecOptions.encodeAdd[uChar]); + } + this.defCharSB = this.encodeTable[0][iconv.defaultCharSingleByte.charCodeAt(0)]; + if (this.defCharSB === UNASSIGNED) this.defCharSB = this.encodeTable[0]["?"]; + if (this.defCharSB === UNASSIGNED) this.defCharSB = "?".charCodeAt(0); + } + DBCSCodec.prototype.encoder = DBCSEncoder; + DBCSCodec.prototype.decoder = DBCSDecoder; + DBCSCodec.prototype._getDecodeTrieNode = function(addr) { + var bytes = []; + for (; addr > 0; addr >>>= 8) + bytes.push(addr & 255); + if (bytes.length == 0) + bytes.push(0); + var node = this.decodeTables[0]; + for (var i2 = bytes.length - 1; i2 > 0; i2--) { + var val = node[bytes[i2]]; + if (val == UNASSIGNED) { + node[bytes[i2]] = NODE_START - this.decodeTables.length; + this.decodeTables.push(node = UNASSIGNED_NODE.slice(0)); + } else if (val <= NODE_START) { + node = this.decodeTables[NODE_START - val]; + } else + throw new Error("Overwrite byte in " + this.encodingName + ", addr: " + addr.toString(16)); + } + return node; + }; + DBCSCodec.prototype._addDecodeChunk = function(chunk) { + var curAddr = parseInt(chunk[0], 16); + var writeTable = this._getDecodeTrieNode(curAddr); + curAddr = curAddr & 255; + for (var k = 1; k < chunk.length; k++) { + var part = chunk[k]; + if (typeof part === "string") { + for (var l = 0; l < part.length; ) { + var code = part.charCodeAt(l++); + if (55296 <= code && code < 56320) { + var codeTrail = part.charCodeAt(l++); + if (56320 <= codeTrail && codeTrail < 57344) + writeTable[curAddr++] = 65536 + (code - 55296) * 1024 + (codeTrail - 56320); + else + throw new Error("Incorrect surrogate pair in " + this.encodingName + " at chunk " + chunk[0]); + } else if (4080 < code && code <= 4095) { + var len = 4095 - code + 2; + var seq = []; + for (var m = 0; m < len; m++) + seq.push(part.charCodeAt(l++)); + writeTable[curAddr++] = SEQ_START - this.decodeTableSeq.length; + this.decodeTableSeq.push(seq); + } else + writeTable[curAddr++] = code; + } + } else if (typeof part === "number") { + var charCode = writeTable[curAddr - 1] + 1; + for (var l = 0; l < part; l++) + writeTable[curAddr++] = charCode++; + } else + throw new Error("Incorrect type '" + typeof part + "' given in " + this.encodingName + " at chunk " + chunk[0]); + } + if (curAddr > 255) + throw new Error("Incorrect chunk in " + this.encodingName + " at addr " + chunk[0] + ": too long" + curAddr); + }; + DBCSCodec.prototype._getEncodeBucket = function(uCode) { + var high = uCode >> 8; + if (this.encodeTable[high] === void 0) + this.encodeTable[high] = UNASSIGNED_NODE.slice(0); + return this.encodeTable[high]; + }; + DBCSCodec.prototype._setEncodeChar = function(uCode, dbcsCode) { + var bucket = this._getEncodeBucket(uCode); + var low = uCode & 255; + if (bucket[low] <= SEQ_START) + this.encodeTableSeq[SEQ_START - bucket[low]][DEF_CHAR] = dbcsCode; + else if (bucket[low] == UNASSIGNED) + bucket[low] = dbcsCode; + }; + DBCSCodec.prototype._setEncodeSequence = function(seq, dbcsCode) { + var uCode = seq[0]; + var bucket = this._getEncodeBucket(uCode); + var low = uCode & 255; + var node; + if (bucket[low] <= SEQ_START) { + node = this.encodeTableSeq[SEQ_START - bucket[low]]; + } else { + node = {}; + if (bucket[low] !== UNASSIGNED) node[DEF_CHAR] = bucket[low]; + bucket[low] = SEQ_START - this.encodeTableSeq.length; + this.encodeTableSeq.push(node); + } + for (var j = 1; j < seq.length - 1; j++) { + var oldVal = node[uCode]; + if (typeof oldVal === "object") + node = oldVal; + else { + node = node[uCode] = {}; + if (oldVal !== void 0) + node[DEF_CHAR] = oldVal; + } + } + uCode = seq[seq.length - 1]; + node[uCode] = dbcsCode; + }; + DBCSCodec.prototype._fillEncodeTable = function(nodeIdx, prefix, skipEncodeChars) { + var node = this.decodeTables[nodeIdx]; + var hasValues = false; + var subNodeEmpty = {}; + for (var i2 = 0; i2 < 256; i2++) { + var uCode = node[i2]; + var mbCode = prefix + i2; + if (skipEncodeChars[mbCode]) + continue; + if (uCode >= 0) { + this._setEncodeChar(uCode, mbCode); + hasValues = true; + } else if (uCode <= NODE_START) { + var subNodeIdx = NODE_START - uCode; + if (!subNodeEmpty[subNodeIdx]) { + var newPrefix = mbCode << 8 >>> 0; + if (this._fillEncodeTable(subNodeIdx, newPrefix, skipEncodeChars)) + hasValues = true; + else + subNodeEmpty[subNodeIdx] = true; + } + } else if (uCode <= SEQ_START) { + this._setEncodeSequence(this.decodeTableSeq[SEQ_START - uCode], mbCode); + hasValues = true; + } + } + return hasValues; + }; + function DBCSEncoder(options, codec) { + this.leadSurrogate = -1; + this.seqObj = void 0; + this.encodeTable = codec.encodeTable; + this.encodeTableSeq = codec.encodeTableSeq; + this.defaultCharSingleByte = codec.defCharSB; + this.gb18030 = codec.gb18030; + } + DBCSEncoder.prototype.write = function(str) { + var newBuf = Buffer2.alloc(str.length * (this.gb18030 ? 4 : 3)), leadSurrogate = this.leadSurrogate, seqObj = this.seqObj, nextChar = -1, i2 = 0, j = 0; + while (true) { + if (nextChar === -1) { + if (i2 == str.length) break; + var uCode = str.charCodeAt(i2++); + } else { + var uCode = nextChar; + nextChar = -1; + } + if (55296 <= uCode && uCode < 57344) { + if (uCode < 56320) { + if (leadSurrogate === -1) { + leadSurrogate = uCode; + continue; + } else { + leadSurrogate = uCode; + uCode = UNASSIGNED; + } + } else { + if (leadSurrogate !== -1) { + uCode = 65536 + (leadSurrogate - 55296) * 1024 + (uCode - 56320); + leadSurrogate = -1; + } else { + uCode = UNASSIGNED; + } + } + } else if (leadSurrogate !== -1) { + nextChar = uCode; + uCode = UNASSIGNED; + leadSurrogate = -1; + } + var dbcsCode = UNASSIGNED; + if (seqObj !== void 0 && uCode != UNASSIGNED) { + var resCode = seqObj[uCode]; + if (typeof resCode === "object") { + seqObj = resCode; + continue; + } else if (typeof resCode == "number") { + dbcsCode = resCode; + } else if (resCode == void 0) { + resCode = seqObj[DEF_CHAR]; + if (resCode !== void 0) { + dbcsCode = resCode; + nextChar = uCode; + } else { + } + } + seqObj = void 0; + } else if (uCode >= 0) { + var subtable = this.encodeTable[uCode >> 8]; + if (subtable !== void 0) + dbcsCode = subtable[uCode & 255]; + if (dbcsCode <= SEQ_START) { + seqObj = this.encodeTableSeq[SEQ_START - dbcsCode]; + continue; + } + if (dbcsCode == UNASSIGNED && this.gb18030) { + var idx = findIdx(this.gb18030.uChars, uCode); + if (idx != -1) { + var dbcsCode = this.gb18030.gbChars[idx] + (uCode - this.gb18030.uChars[idx]); + newBuf[j++] = 129 + Math.floor(dbcsCode / 12600); + dbcsCode = dbcsCode % 12600; + newBuf[j++] = 48 + Math.floor(dbcsCode / 1260); + dbcsCode = dbcsCode % 1260; + newBuf[j++] = 129 + Math.floor(dbcsCode / 10); + dbcsCode = dbcsCode % 10; + newBuf[j++] = 48 + dbcsCode; + continue; + } + } + } + if (dbcsCode === UNASSIGNED) + dbcsCode = this.defaultCharSingleByte; + if (dbcsCode < 256) { + newBuf[j++] = dbcsCode; + } else if (dbcsCode < 65536) { + newBuf[j++] = dbcsCode >> 8; + newBuf[j++] = dbcsCode & 255; + } else if (dbcsCode < 16777216) { + newBuf[j++] = dbcsCode >> 16; + newBuf[j++] = dbcsCode >> 8 & 255; + newBuf[j++] = dbcsCode & 255; + } else { + newBuf[j++] = dbcsCode >>> 24; + newBuf[j++] = dbcsCode >>> 16 & 255; + newBuf[j++] = dbcsCode >>> 8 & 255; + newBuf[j++] = dbcsCode & 255; + } + } + this.seqObj = seqObj; + this.leadSurrogate = leadSurrogate; + return newBuf.slice(0, j); + }; + DBCSEncoder.prototype.end = function() { + if (this.leadSurrogate === -1 && this.seqObj === void 0) + return; + var newBuf = Buffer2.alloc(10), j = 0; + if (this.seqObj) { + var dbcsCode = this.seqObj[DEF_CHAR]; + if (dbcsCode !== void 0) { + if (dbcsCode < 256) { + newBuf[j++] = dbcsCode; + } else { + newBuf[j++] = dbcsCode >> 8; + newBuf[j++] = dbcsCode & 255; + } + } else { + } + this.seqObj = void 0; + } + if (this.leadSurrogate !== -1) { + newBuf[j++] = this.defaultCharSingleByte; + this.leadSurrogate = -1; + } + return newBuf.slice(0, j); + }; + DBCSEncoder.prototype.findIdx = findIdx; + function DBCSDecoder(options, codec) { + this.nodeIdx = 0; + this.prevBytes = []; + this.decodeTables = codec.decodeTables; + this.decodeTableSeq = codec.decodeTableSeq; + this.defaultCharUnicode = codec.defaultCharUnicode; + this.gb18030 = codec.gb18030; + } + DBCSDecoder.prototype.write = function(buf) { + var newBuf = Buffer2.alloc(buf.length * 2), nodeIdx = this.nodeIdx, prevBytes = this.prevBytes, prevOffset = this.prevBytes.length, seqStart = -this.prevBytes.length, uCode; + for (var i2 = 0, j = 0; i2 < buf.length; i2++) { + var curByte = i2 >= 0 ? buf[i2] : prevBytes[i2 + prevOffset]; + var uCode = this.decodeTables[nodeIdx][curByte]; + if (uCode >= 0) { + } else if (uCode === UNASSIGNED) { + uCode = this.defaultCharUnicode.charCodeAt(0); + i2 = seqStart; + } else if (uCode === GB18030_CODE) { + if (i2 >= 3) { + var ptr = (buf[i2 - 3] - 129) * 12600 + (buf[i2 - 2] - 48) * 1260 + (buf[i2 - 1] - 129) * 10 + (curByte - 48); + } else { + var ptr = (prevBytes[i2 - 3 + prevOffset] - 129) * 12600 + ((i2 - 2 >= 0 ? buf[i2 - 2] : prevBytes[i2 - 2 + prevOffset]) - 48) * 1260 + ((i2 - 1 >= 0 ? buf[i2 - 1] : prevBytes[i2 - 1 + prevOffset]) - 129) * 10 + (curByte - 48); + } + var idx = findIdx(this.gb18030.gbChars, ptr); + uCode = this.gb18030.uChars[idx] + ptr - this.gb18030.gbChars[idx]; + } else if (uCode <= NODE_START) { + nodeIdx = NODE_START - uCode; + continue; + } else if (uCode <= SEQ_START) { + var seq = this.decodeTableSeq[SEQ_START - uCode]; + for (var k = 0; k < seq.length - 1; k++) { + uCode = seq[k]; + newBuf[j++] = uCode & 255; + newBuf[j++] = uCode >> 8; + } + uCode = seq[seq.length - 1]; + } else + throw new Error("iconv-lite internal error: invalid decoding table value " + uCode + " at " + nodeIdx + "/" + curByte); + if (uCode >= 65536) { + uCode -= 65536; + var uCodeLead = 55296 | uCode >> 10; + newBuf[j++] = uCodeLead & 255; + newBuf[j++] = uCodeLead >> 8; + uCode = 56320 | uCode & 1023; + } + newBuf[j++] = uCode & 255; + newBuf[j++] = uCode >> 8; + nodeIdx = 0; + seqStart = i2 + 1; + } + this.nodeIdx = nodeIdx; + this.prevBytes = seqStart >= 0 ? Array.prototype.slice.call(buf, seqStart) : prevBytes.slice(seqStart + prevOffset).concat(Array.prototype.slice.call(buf)); + return newBuf.slice(0, j).toString("ucs2"); + }; + DBCSDecoder.prototype.end = function() { + var ret = ""; + while (this.prevBytes.length > 0) { + ret += this.defaultCharUnicode; + var bytesArr = this.prevBytes.slice(1); + this.prevBytes = []; + this.nodeIdx = 0; + if (bytesArr.length > 0) + ret += this.write(bytesArr); + } + this.prevBytes = []; + this.nodeIdx = 0; + return ret; + }; + function findIdx(table, val) { + if (table[0] > val) + return -1; + var l = 0, r = table.length; + while (l < r - 1) { + var mid = l + (r - l + 1 >> 1); + if (table[mid] <= val) + l = mid; + else + r = mid; + } + return l; + } + } +}); +var require_shiftjis = __commonJS2({ + "node_modules/raw-body/node_modules/iconv-lite/encodings/tables/shiftjis.json"(exports2, module2) { + module2.exports = [ + ["0", "\0", 128], + ["a1", "\uFF61", 62], + ["8140", "\u3000\u3001\u3002\uFF0C\uFF0E\u30FB\uFF1A\uFF1B\uFF1F\uFF01\u309B\u309C\xB4\uFF40\xA8\uFF3E\uFFE3\uFF3F\u30FD\u30FE\u309D\u309E\u3003\u4EDD\u3005\u3006\u3007\u30FC\u2015\u2010\uFF0F\uFF3C\uFF5E\u2225\uFF5C\u2026\u2025\u2018\u2019\u201C\u201D\uFF08\uFF09\u3014\u3015\uFF3B\uFF3D\uFF5B\uFF5D\u3008", 9, "\uFF0B\uFF0D\xB1\xD7"], + ["8180", "\xF7\uFF1D\u2260\uFF1C\uFF1E\u2266\u2267\u221E\u2234\u2642\u2640\xB0\u2032\u2033\u2103\uFFE5\uFF04\uFFE0\uFFE1\uFF05\uFF03\uFF06\uFF0A\uFF20\xA7\u2606\u2605\u25CB\u25CF\u25CE\u25C7\u25C6\u25A1\u25A0\u25B3\u25B2\u25BD\u25BC\u203B\u3012\u2192\u2190\u2191\u2193\u3013"], + ["81b8", "\u2208\u220B\u2286\u2287\u2282\u2283\u222A\u2229"], + ["81c8", "\u2227\u2228\uFFE2\u21D2\u21D4\u2200\u2203"], + ["81da", "\u2220\u22A5\u2312\u2202\u2207\u2261\u2252\u226A\u226B\u221A\u223D\u221D\u2235\u222B\u222C"], + ["81f0", "\u212B\u2030\u266F\u266D\u266A\u2020\u2021\xB6"], + ["81fc", "\u25EF"], + ["824f", "\uFF10", 9], + ["8260", "\uFF21", 25], + ["8281", "\uFF41", 25], + ["829f", "\u3041", 82], + ["8340", "\u30A1", 62], + ["8380", "\u30E0", 22], + ["839f", "\u0391", 16, "\u03A3", 6], + ["83bf", "\u03B1", 16, "\u03C3", 6], + ["8440", "\u0410", 5, "\u0401\u0416", 25], + ["8470", "\u0430", 5, "\u0451\u0436", 7], + ["8480", "\u043E", 17], + ["849f", "\u2500\u2502\u250C\u2510\u2518\u2514\u251C\u252C\u2524\u2534\u253C\u2501\u2503\u250F\u2513\u251B\u2517\u2523\u2533\u252B\u253B\u254B\u2520\u252F\u2528\u2537\u253F\u251D\u2530\u2525\u2538\u2542"], + ["8740", "\u2460", 19, "\u2160", 9], + ["875f", "\u3349\u3314\u3322\u334D\u3318\u3327\u3303\u3336\u3351\u3357\u330D\u3326\u3323\u332B\u334A\u333B\u339C\u339D\u339E\u338E\u338F\u33C4\u33A1"], + ["877e", "\u337B"], + ["8780", "\u301D\u301F\u2116\u33CD\u2121\u32A4", 4, "\u3231\u3232\u3239\u337E\u337D\u337C\u2252\u2261\u222B\u222E\u2211\u221A\u22A5\u2220\u221F\u22BF\u2235\u2229\u222A"], + ["889f", "\u4E9C\u5516\u5A03\u963F\u54C0\u611B\u6328\u59F6\u9022\u8475\u831C\u7A50\u60AA\u63E1\u6E25\u65ED\u8466\u82A6\u9BF5\u6893\u5727\u65A1\u6271\u5B9B\u59D0\u867B\u98F4\u7D62\u7DBE\u9B8E\u6216\u7C9F\u88B7\u5B89\u5EB5\u6309\u6697\u6848\u95C7\u978D\u674F\u4EE5\u4F0A\u4F4D\u4F9D\u5049\u56F2\u5937\u59D4\u5A01\u5C09\u60DF\u610F\u6170\u6613\u6905\u70BA\u754F\u7570\u79FB\u7DAD\u7DEF\u80C3\u840E\u8863\u8B02\u9055\u907A\u533B\u4E95\u4EA5\u57DF\u80B2\u90C1\u78EF\u4E00\u58F1\u6EA2\u9038\u7A32\u8328\u828B\u9C2F\u5141\u5370\u54BD\u54E1\u56E0\u59FB\u5F15\u98F2\u6DEB\u80E4\u852D"], + ["8940", "\u9662\u9670\u96A0\u97FB\u540B\u53F3\u5B87\u70CF\u7FBD\u8FC2\u96E8\u536F\u9D5C\u7ABA\u4E11\u7893\u81FC\u6E26\u5618\u5504\u6B1D\u851A\u9C3B\u59E5\u53A9\u6D66\u74DC\u958F\u5642\u4E91\u904B\u96F2\u834F\u990C\u53E1\u55B6\u5B30\u5F71\u6620\u66F3\u6804\u6C38\u6CF3\u6D29\u745B\u76C8\u7A4E\u9834\u82F1\u885B\u8A60\u92ED\u6DB2\u75AB\u76CA\u99C5\u60A6\u8B01\u8D8A\u95B2\u698E\u53AD\u5186"], + ["8980", "\u5712\u5830\u5944\u5BB4\u5EF6\u6028\u63A9\u63F4\u6CBF\u6F14\u708E\u7114\u7159\u71D5\u733F\u7E01\u8276\u82D1\u8597\u9060\u925B\u9D1B\u5869\u65BC\u6C5A\u7525\u51F9\u592E\u5965\u5F80\u5FDC\u62BC\u65FA\u6A2A\u6B27\u6BB4\u738B\u7FC1\u8956\u9D2C\u9D0E\u9EC4\u5CA1\u6C96\u837B\u5104\u5C4B\u61B6\u81C6\u6876\u7261\u4E59\u4FFA\u5378\u6069\u6E29\u7A4F\u97F3\u4E0B\u5316\u4EEE\u4F55\u4F3D\u4FA1\u4F73\u52A0\u53EF\u5609\u590F\u5AC1\u5BB6\u5BE1\u79D1\u6687\u679C\u67B6\u6B4C\u6CB3\u706B\u73C2\u798D\u79BE\u7A3C\u7B87\u82B1\u82DB\u8304\u8377\u83EF\u83D3\u8766\u8AB2\u5629\u8CA8\u8FE6\u904E\u971E\u868A\u4FC4\u5CE8\u6211\u7259\u753B\u81E5\u82BD\u86FE\u8CC0\u96C5\u9913\u99D5\u4ECB\u4F1A\u89E3\u56DE\u584A\u58CA\u5EFB\u5FEB\u602A\u6094\u6062\u61D0\u6212\u62D0\u6539"], + ["8a40", "\u9B41\u6666\u68B0\u6D77\u7070\u754C\u7686\u7D75\u82A5\u87F9\u958B\u968E\u8C9D\u51F1\u52BE\u5916\u54B3\u5BB3\u5D16\u6168\u6982\u6DAF\u788D\u84CB\u8857\u8A72\u93A7\u9AB8\u6D6C\u99A8\u86D9\u57A3\u67FF\u86CE\u920E\u5283\u5687\u5404\u5ED3\u62E1\u64B9\u683C\u6838\u6BBB\u7372\u78BA\u7A6B\u899A\u89D2\u8D6B\u8F03\u90ED\u95A3\u9694\u9769\u5B66\u5CB3\u697D\u984D\u984E\u639B\u7B20\u6A2B"], + ["8a80", "\u6A7F\u68B6\u9C0D\u6F5F\u5272\u559D\u6070\u62EC\u6D3B\u6E07\u6ED1\u845B\u8910\u8F44\u4E14\u9C39\u53F6\u691B\u6A3A\u9784\u682A\u515C\u7AC3\u84B2\u91DC\u938C\u565B\u9D28\u6822\u8305\u8431\u7CA5\u5208\u82C5\u74E6\u4E7E\u4F83\u51A0\u5BD2\u520A\u52D8\u52E7\u5DFB\u559A\u582A\u59E6\u5B8C\u5B98\u5BDB\u5E72\u5E79\u60A3\u611F\u6163\u61BE\u63DB\u6562\u67D1\u6853\u68FA\u6B3E\u6B53\u6C57\u6F22\u6F97\u6F45\u74B0\u7518\u76E3\u770B\u7AFF\u7BA1\u7C21\u7DE9\u7F36\u7FF0\u809D\u8266\u839E\u89B3\u8ACC\u8CAB\u9084\u9451\u9593\u9591\u95A2\u9665\u97D3\u9928\u8218\u4E38\u542B\u5CB8\u5DCC\u73A9\u764C\u773C\u5CA9\u7FEB\u8D0B\u96C1\u9811\u9854\u9858\u4F01\u4F0E\u5371\u559C\u5668\u57FA\u5947\u5B09\u5BC4\u5C90\u5E0C\u5E7E\u5FCC\u63EE\u673A\u65D7\u65E2\u671F\u68CB\u68C4"], + ["8b40", "\u6A5F\u5E30\u6BC5\u6C17\u6C7D\u757F\u7948\u5B63\u7A00\u7D00\u5FBD\u898F\u8A18\u8CB4\u8D77\u8ECC\u8F1D\u98E2\u9A0E\u9B3C\u4E80\u507D\u5100\u5993\u5B9C\u622F\u6280\u64EC\u6B3A\u72A0\u7591\u7947\u7FA9\u87FB\u8ABC\u8B70\u63AC\u83CA\u97A0\u5409\u5403\u55AB\u6854\u6A58\u8A70\u7827\u6775\u9ECD\u5374\u5BA2\u811A\u8650\u9006\u4E18\u4E45\u4EC7\u4F11\u53CA\u5438\u5BAE\u5F13\u6025\u6551"], + ["8b80", "\u673D\u6C42\u6C72\u6CE3\u7078\u7403\u7A76\u7AAE\u7B08\u7D1A\u7CFE\u7D66\u65E7\u725B\u53BB\u5C45\u5DE8\u62D2\u62E0\u6319\u6E20\u865A\u8A31\u8DDD\u92F8\u6F01\u79A6\u9B5A\u4EA8\u4EAB\u4EAC\u4F9B\u4FA0\u50D1\u5147\u7AF6\u5171\u51F6\u5354\u5321\u537F\u53EB\u55AC\u5883\u5CE1\u5F37\u5F4A\u602F\u6050\u606D\u631F\u6559\u6A4B\u6CC1\u72C2\u72ED\u77EF\u80F8\u8105\u8208\u854E\u90F7\u93E1\u97FF\u9957\u9A5A\u4EF0\u51DD\u5C2D\u6681\u696D\u5C40\u66F2\u6975\u7389\u6850\u7C81\u50C5\u52E4\u5747\u5DFE\u9326\u65A4\u6B23\u6B3D\u7434\u7981\u79BD\u7B4B\u7DCA\u82B9\u83CC\u887F\u895F\u8B39\u8FD1\u91D1\u541F\u9280\u4E5D\u5036\u53E5\u533A\u72D7\u7396\u77E9\u82E6\u8EAF\u99C6\u99C8\u99D2\u5177\u611A\u865E\u55B0\u7A7A\u5076\u5BD3\u9047\u9685\u4E32\u6ADB\u91E7\u5C51\u5C48"], + ["8c40", "\u6398\u7A9F\u6C93\u9774\u8F61\u7AAA\u718A\u9688\u7C82\u6817\u7E70\u6851\u936C\u52F2\u541B\u85AB\u8A13\u7FA4\u8ECD\u90E1\u5366\u8888\u7941\u4FC2\u50BE\u5211\u5144\u5553\u572D\u73EA\u578B\u5951\u5F62\u5F84\u6075\u6176\u6167\u61A9\u63B2\u643A\u656C\u666F\u6842\u6E13\u7566\u7A3D\u7CFB\u7D4C\u7D99\u7E4B\u7F6B\u830E\u834A\u86CD\u8A08\u8A63\u8B66\u8EFD\u981A\u9D8F\u82B8\u8FCE\u9BE8"], + ["8c80", "\u5287\u621F\u6483\u6FC0\u9699\u6841\u5091\u6B20\u6C7A\u6F54\u7A74\u7D50\u8840\u8A23\u6708\u4EF6\u5039\u5026\u5065\u517C\u5238\u5263\u55A7\u570F\u5805\u5ACC\u5EFA\u61B2\u61F8\u62F3\u6372\u691C\u6A29\u727D\u72AC\u732E\u7814\u786F\u7D79\u770C\u80A9\u898B\u8B19\u8CE2\u8ED2\u9063\u9375\u967A\u9855\u9A13\u9E78\u5143\u539F\u53B3\u5E7B\u5F26\u6E1B\u6E90\u7384\u73FE\u7D43\u8237\u8A00\u8AFA\u9650\u4E4E\u500B\u53E4\u547C\u56FA\u59D1\u5B64\u5DF1\u5EAB\u5F27\u6238\u6545\u67AF\u6E56\u72D0\u7CCA\u88B4\u80A1\u80E1\u83F0\u864E\u8A87\u8DE8\u9237\u96C7\u9867\u9F13\u4E94\u4E92\u4F0D\u5348\u5449\u543E\u5A2F\u5F8C\u5FA1\u609F\u68A7\u6A8E\u745A\u7881\u8A9E\u8AA4\u8B77\u9190\u4E5E\u9BC9\u4EA4\u4F7C\u4FAF\u5019\u5016\u5149\u516C\u529F\u52B9\u52FE\u539A\u53E3\u5411"], + ["8d40", "\u540E\u5589\u5751\u57A2\u597D\u5B54\u5B5D\u5B8F\u5DE5\u5DE7\u5DF7\u5E78\u5E83\u5E9A\u5EB7\u5F18\u6052\u614C\u6297\u62D8\u63A7\u653B\u6602\u6643\u66F4\u676D\u6821\u6897\u69CB\u6C5F\u6D2A\u6D69\u6E2F\u6E9D\u7532\u7687\u786C\u7A3F\u7CE0\u7D05\u7D18\u7D5E\u7DB1\u8015\u8003\u80AF\u80B1\u8154\u818F\u822A\u8352\u884C\u8861\u8B1B\u8CA2\u8CFC\u90CA\u9175\u9271\u783F\u92FC\u95A4\u964D"], + ["8d80", "\u9805\u9999\u9AD8\u9D3B\u525B\u52AB\u53F7\u5408\u58D5\u62F7\u6FE0\u8C6A\u8F5F\u9EB9\u514B\u523B\u544A\u56FD\u7A40\u9177\u9D60\u9ED2\u7344\u6F09\u8170\u7511\u5FFD\u60DA\u9AA8\u72DB\u8FBC\u6B64\u9803\u4ECA\u56F0\u5764\u58BE\u5A5A\u6068\u61C7\u660F\u6606\u6839\u68B1\u6DF7\u75D5\u7D3A\u826E\u9B42\u4E9B\u4F50\u53C9\u5506\u5D6F\u5DE6\u5DEE\u67FB\u6C99\u7473\u7802\u8A50\u9396\u88DF\u5750\u5EA7\u632B\u50B5\u50AC\u518D\u6700\u54C9\u585E\u59BB\u5BB0\u5F69\u624D\u63A1\u683D\u6B73\u6E08\u707D\u91C7\u7280\u7815\u7826\u796D\u658E\u7D30\u83DC\u88C1\u8F09\u969B\u5264\u5728\u6750\u7F6A\u8CA1\u51B4\u5742\u962A\u583A\u698A\u80B4\u54B2\u5D0E\u57FC\u7895\u9DFA\u4F5C\u524A\u548B\u643E\u6628\u6714\u67F5\u7A84\u7B56\u7D22\u932F\u685C\u9BAD\u7B39\u5319\u518A\u5237"], + ["8e40", "\u5BDF\u62F6\u64AE\u64E6\u672D\u6BBA\u85A9\u96D1\u7690\u9BD6\u634C\u9306\u9BAB\u76BF\u6652\u4E09\u5098\u53C2\u5C71\u60E8\u6492\u6563\u685F\u71E6\u73CA\u7523\u7B97\u7E82\u8695\u8B83\u8CDB\u9178\u9910\u65AC\u66AB\u6B8B\u4ED5\u4ED4\u4F3A\u4F7F\u523A\u53F8\u53F2\u55E3\u56DB\u58EB\u59CB\u59C9\u59FF\u5B50\u5C4D\u5E02\u5E2B\u5FD7\u601D\u6307\u652F\u5B5C\u65AF\u65BD\u65E8\u679D\u6B62"], + ["8e80", "\u6B7B\u6C0F\u7345\u7949\u79C1\u7CF8\u7D19\u7D2B\u80A2\u8102\u81F3\u8996\u8A5E\u8A69\u8A66\u8A8C\u8AEE\u8CC7\u8CDC\u96CC\u98FC\u6B6F\u4E8B\u4F3C\u4F8D\u5150\u5B57\u5BFA\u6148\u6301\u6642\u6B21\u6ECB\u6CBB\u723E\u74BD\u75D4\u78C1\u793A\u800C\u8033\u81EA\u8494\u8F9E\u6C50\u9E7F\u5F0F\u8B58\u9D2B\u7AFA\u8EF8\u5B8D\u96EB\u4E03\u53F1\u57F7\u5931\u5AC9\u5BA4\u6089\u6E7F\u6F06\u75BE\u8CEA\u5B9F\u8500\u7BE0\u5072\u67F4\u829D\u5C61\u854A\u7E1E\u820E\u5199\u5C04\u6368\u8D66\u659C\u716E\u793E\u7D17\u8005\u8B1D\u8ECA\u906E\u86C7\u90AA\u501F\u52FA\u5C3A\u6753\u707C\u7235\u914C\u91C8\u932B\u82E5\u5BC2\u5F31\u60F9\u4E3B\u53D6\u5B88\u624B\u6731\u6B8A\u72E9\u73E0\u7A2E\u816B\u8DA3\u9152\u9996\u5112\u53D7\u546A\u5BFF\u6388\u6A39\u7DAC\u9700\u56DA\u53CE\u5468"], + ["8f40", "\u5B97\u5C31\u5DDE\u4FEE\u6101\u62FE\u6D32\u79C0\u79CB\u7D42\u7E4D\u7FD2\u81ED\u821F\u8490\u8846\u8972\u8B90\u8E74\u8F2F\u9031\u914B\u916C\u96C6\u919C\u4EC0\u4F4F\u5145\u5341\u5F93\u620E\u67D4\u6C41\u6E0B\u7363\u7E26\u91CD\u9283\u53D4\u5919\u5BBF\u6DD1\u795D\u7E2E\u7C9B\u587E\u719F\u51FA\u8853\u8FF0\u4FCA\u5CFB\u6625\u77AC\u7AE3\u821C\u99FF\u51C6\u5FAA\u65EC\u696F\u6B89\u6DF3"], + ["8f80", "\u6E96\u6F64\u76FE\u7D14\u5DE1\u9075\u9187\u9806\u51E6\u521D\u6240\u6691\u66D9\u6E1A\u5EB6\u7DD2\u7F72\u66F8\u85AF\u85F7\u8AF8\u52A9\u53D9\u5973\u5E8F\u5F90\u6055\u92E4\u9664\u50B7\u511F\u52DD\u5320\u5347\u53EC\u54E8\u5546\u5531\u5617\u5968\u59BE\u5A3C\u5BB5\u5C06\u5C0F\u5C11\u5C1A\u5E84\u5E8A\u5EE0\u5F70\u627F\u6284\u62DB\u638C\u6377\u6607\u660C\u662D\u6676\u677E\u68A2\u6A1F\u6A35\u6CBC\u6D88\u6E09\u6E58\u713C\u7126\u7167\u75C7\u7701\u785D\u7901\u7965\u79F0\u7AE0\u7B11\u7CA7\u7D39\u8096\u83D6\u848B\u8549\u885D\u88F3\u8A1F\u8A3C\u8A54\u8A73\u8C61\u8CDE\u91A4\u9266\u937E\u9418\u969C\u9798\u4E0A\u4E08\u4E1E\u4E57\u5197\u5270\u57CE\u5834\u58CC\u5B22\u5E38\u60C5\u64FE\u6761\u6756\u6D44\u72B6\u7573\u7A63\u84B8\u8B72\u91B8\u9320\u5631\u57F4\u98FE"], + ["9040", "\u62ED\u690D\u6B96\u71ED\u7E54\u8077\u8272\u89E6\u98DF\u8755\u8FB1\u5C3B\u4F38\u4FE1\u4FB5\u5507\u5A20\u5BDD\u5BE9\u5FC3\u614E\u632F\u65B0\u664B\u68EE\u699B\u6D78\u6DF1\u7533\u75B9\u771F\u795E\u79E6\u7D33\u81E3\u82AF\u85AA\u89AA\u8A3A\u8EAB\u8F9B\u9032\u91DD\u9707\u4EBA\u4EC1\u5203\u5875\u58EC\u5C0B\u751A\u5C3D\u814E\u8A0A\u8FC5\u9663\u976D\u7B25\u8ACF\u9808\u9162\u56F3\u53A8"], + ["9080", "\u9017\u5439\u5782\u5E25\u63A8\u6C34\u708A\u7761\u7C8B\u7FE0\u8870\u9042\u9154\u9310\u9318\u968F\u745E\u9AC4\u5D07\u5D69\u6570\u67A2\u8DA8\u96DB\u636E\u6749\u6919\u83C5\u9817\u96C0\u88FE\u6F84\u647A\u5BF8\u4E16\u702C\u755D\u662F\u51C4\u5236\u52E2\u59D3\u5F81\u6027\u6210\u653F\u6574\u661F\u6674\u68F2\u6816\u6B63\u6E05\u7272\u751F\u76DB\u7CBE\u8056\u58F0\u88FD\u897F\u8AA0\u8A93\u8ACB\u901D\u9192\u9752\u9759\u6589\u7A0E\u8106\u96BB\u5E2D\u60DC\u621A\u65A5\u6614\u6790\u77F3\u7A4D\u7C4D\u7E3E\u810A\u8CAC\u8D64\u8DE1\u8E5F\u78A9\u5207\u62D9\u63A5\u6442\u6298\u8A2D\u7A83\u7BC0\u8AAC\u96EA\u7D76\u820C\u8749\u4ED9\u5148\u5343\u5360\u5BA3\u5C02\u5C16\u5DDD\u6226\u6247\u64B0\u6813\u6834\u6CC9\u6D45\u6D17\u67D3\u6F5C\u714E\u717D\u65CB\u7A7F\u7BAD\u7DDA"], + ["9140", "\u7E4A\u7FA8\u817A\u821B\u8239\u85A6\u8A6E\u8CCE\u8DF5\u9078\u9077\u92AD\u9291\u9583\u9BAE\u524D\u5584\u6F38\u7136\u5168\u7985\u7E55\u81B3\u7CCE\u564C\u5851\u5CA8\u63AA\u66FE\u66FD\u695A\u72D9\u758F\u758E\u790E\u7956\u79DF\u7C97\u7D20\u7D44\u8607\u8A34\u963B\u9061\u9F20\u50E7\u5275\u53CC\u53E2\u5009\u55AA\u58EE\u594F\u723D\u5B8B\u5C64\u531D\u60E3\u60F3\u635C\u6383\u633F\u63BB"], + ["9180", "\u64CD\u65E9\u66F9\u5DE3\u69CD\u69FD\u6F15\u71E5\u4E89\u75E9\u76F8\u7A93\u7CDF\u7DCF\u7D9C\u8061\u8349\u8358\u846C\u84BC\u85FB\u88C5\u8D70\u9001\u906D\u9397\u971C\u9A12\u50CF\u5897\u618E\u81D3\u8535\u8D08\u9020\u4FC3\u5074\u5247\u5373\u606F\u6349\u675F\u6E2C\u8DB3\u901F\u4FD7\u5C5E\u8CCA\u65CF\u7D9A\u5352\u8896\u5176\u63C3\u5B58\u5B6B\u5C0A\u640D\u6751\u905C\u4ED6\u591A\u592A\u6C70\u8A51\u553E\u5815\u59A5\u60F0\u6253\u67C1\u8235\u6955\u9640\u99C4\u9A28\u4F53\u5806\u5BFE\u8010\u5CB1\u5E2F\u5F85\u6020\u614B\u6234\u66FF\u6CF0\u6EDE\u80CE\u817F\u82D4\u888B\u8CB8\u9000\u902E\u968A\u9EDB\u9BDB\u4EE3\u53F0\u5927\u7B2C\u918D\u984C\u9DF9\u6EDD\u7027\u5353\u5544\u5B85\u6258\u629E\u62D3\u6CA2\u6FEF\u7422\u8A17\u9438\u6FC1\u8AFE\u8338\u51E7\u86F8\u53EA"], + ["9240", "\u53E9\u4F46\u9054\u8FB0\u596A\u8131\u5DFD\u7AEA\u8FBF\u68DA\u8C37\u72F8\u9C48\u6A3D\u8AB0\u4E39\u5358\u5606\u5766\u62C5\u63A2\u65E6\u6B4E\u6DE1\u6E5B\u70AD\u77ED\u7AEF\u7BAA\u7DBB\u803D\u80C6\u86CB\u8A95\u935B\u56E3\u58C7\u5F3E\u65AD\u6696\u6A80\u6BB5\u7537\u8AC7\u5024\u77E5\u5730\u5F1B\u6065\u667A\u6C60\u75F4\u7A1A\u7F6E\u81F4\u8718\u9045\u99B3\u7BC9\u755C\u7AF9\u7B51\u84C4"], + ["9280", "\u9010\u79E9\u7A92\u8336\u5AE1\u7740\u4E2D\u4EF2\u5B99\u5FE0\u62BD\u663C\u67F1\u6CE8\u866B\u8877\u8A3B\u914E\u92F3\u99D0\u6A17\u7026\u732A\u82E7\u8457\u8CAF\u4E01\u5146\u51CB\u558B\u5BF5\u5E16\u5E33\u5E81\u5F14\u5F35\u5F6B\u5FB4\u61F2\u6311\u66A2\u671D\u6F6E\u7252\u753A\u773A\u8074\u8139\u8178\u8776\u8ABF\u8ADC\u8D85\u8DF3\u929A\u9577\u9802\u9CE5\u52C5\u6357\u76F4\u6715\u6C88\u73CD\u8CC3\u93AE\u9673\u6D25\u589C\u690E\u69CC\u8FFD\u939A\u75DB\u901A\u585A\u6802\u63B4\u69FB\u4F43\u6F2C\u67D8\u8FBB\u8526\u7DB4\u9354\u693F\u6F70\u576A\u58F7\u5B2C\u7D2C\u722A\u540A\u91E3\u9DB4\u4EAD\u4F4E\u505C\u5075\u5243\u8C9E\u5448\u5824\u5B9A\u5E1D\u5E95\u5EAD\u5EF7\u5F1F\u608C\u62B5\u633A\u63D0\u68AF\u6C40\u7887\u798E\u7A0B\u7DE0\u8247\u8A02\u8AE6\u8E44\u9013"], + ["9340", "\u90B8\u912D\u91D8\u9F0E\u6CE5\u6458\u64E2\u6575\u6EF4\u7684\u7B1B\u9069\u93D1\u6EBA\u54F2\u5FB9\u64A4\u8F4D\u8FED\u9244\u5178\u586B\u5929\u5C55\u5E97\u6DFB\u7E8F\u751C\u8CBC\u8EE2\u985B\u70B9\u4F1D\u6BBF\u6FB1\u7530\u96FB\u514E\u5410\u5835\u5857\u59AC\u5C60\u5F92\u6597\u675C\u6E21\u767B\u83DF\u8CED\u9014\u90FD\u934D\u7825\u783A\u52AA\u5EA6\u571F\u5974\u6012\u5012\u515A\u51AC"], + ["9380", "\u51CD\u5200\u5510\u5854\u5858\u5957\u5B95\u5CF6\u5D8B\u60BC\u6295\u642D\u6771\u6843\u68BC\u68DF\u76D7\u6DD8\u6E6F\u6D9B\u706F\u71C8\u5F53\u75D8\u7977\u7B49\u7B54\u7B52\u7CD6\u7D71\u5230\u8463\u8569\u85E4\u8A0E\u8B04\u8C46\u8E0F\u9003\u900F\u9419\u9676\u982D\u9A30\u95D8\u50CD\u52D5\u540C\u5802\u5C0E\u61A7\u649E\u6D1E\u77B3\u7AE5\u80F4\u8404\u9053\u9285\u5CE0\u9D07\u533F\u5F97\u5FB3\u6D9C\u7279\u7763\u79BF\u7BE4\u6BD2\u72EC\u8AAD\u6803\u6A61\u51F8\u7A81\u6934\u5C4A\u9CF6\u82EB\u5BC5\u9149\u701E\u5678\u5C6F\u60C7\u6566\u6C8C\u8C5A\u9041\u9813\u5451\u66C7\u920D\u5948\u90A3\u5185\u4E4D\u51EA\u8599\u8B0E\u7058\u637A\u934B\u6962\u99B4\u7E04\u7577\u5357\u6960\u8EDF\u96E3\u6C5D\u4E8C\u5C3C\u5F10\u8FE9\u5302\u8CD1\u8089\u8679\u5EFF\u65E5\u4E73\u5165"], + ["9440", "\u5982\u5C3F\u97EE\u4EFB\u598A\u5FCD\u8A8D\u6FE1\u79B0\u7962\u5BE7\u8471\u732B\u71B1\u5E74\u5FF5\u637B\u649A\u71C3\u7C98\u4E43\u5EFC\u4E4B\u57DC\u56A2\u60A9\u6FC3\u7D0D\u80FD\u8133\u81BF\u8FB2\u8997\u86A4\u5DF4\u628A\u64AD\u8987\u6777\u6CE2\u6D3E\u7436\u7834\u5A46\u7F75\u82AD\u99AC\u4FF3\u5EC3\u62DD\u6392\u6557\u676F\u76C3\u724C\u80CC\u80BA\u8F29\u914D\u500D\u57F9\u5A92\u6885"], + ["9480", "\u6973\u7164\u72FD\u8CB7\u58F2\u8CE0\u966A\u9019\u877F\u79E4\u77E7\u8429\u4F2F\u5265\u535A\u62CD\u67CF\u6CCA\u767D\u7B94\u7C95\u8236\u8584\u8FEB\u66DD\u6F20\u7206\u7E1B\u83AB\u99C1\u9EA6\u51FD\u7BB1\u7872\u7BB8\u8087\u7B48\u6AE8\u5E61\u808C\u7551\u7560\u516B\u9262\u6E8C\u767A\u9197\u9AEA\u4F10\u7F70\u629C\u7B4F\u95A5\u9CE9\u567A\u5859\u86E4\u96BC\u4F34\u5224\u534A\u53CD\u53DB\u5E06\u642C\u6591\u677F\u6C3E\u6C4E\u7248\u72AF\u73ED\u7554\u7E41\u822C\u85E9\u8CA9\u7BC4\u91C6\u7169\u9812\u98EF\u633D\u6669\u756A\u76E4\u78D0\u8543\u86EE\u532A\u5351\u5426\u5983\u5E87\u5F7C\u60B2\u6249\u6279\u62AB\u6590\u6BD4\u6CCC\u75B2\u76AE\u7891\u79D8\u7DCB\u7F77\u80A5\u88AB\u8AB9\u8CBB\u907F\u975E\u98DB\u6A0B\u7C38\u5099\u5C3E\u5FAE\u6787\u6BD8\u7435\u7709\u7F8E"], + ["9540", "\u9F3B\u67CA\u7A17\u5339\u758B\u9AED\u5F66\u819D\u83F1\u8098\u5F3C\u5FC5\u7562\u7B46\u903C\u6867\u59EB\u5A9B\u7D10\u767E\u8B2C\u4FF5\u5F6A\u6A19\u6C37\u6F02\u74E2\u7968\u8868\u8A55\u8C79\u5EDF\u63CF\u75C5\u79D2\u82D7\u9328\u92F2\u849C\u86ED\u9C2D\u54C1\u5F6C\u658C\u6D5C\u7015\u8CA7\u8CD3\u983B\u654F\u74F6\u4E0D\u4ED8\u57E0\u592B\u5A66\u5BCC\u51A8\u5E03\u5E9C\u6016\u6276\u6577"], + ["9580", "\u65A7\u666E\u6D6E\u7236\u7B26\u8150\u819A\u8299\u8B5C\u8CA0\u8CE6\u8D74\u961C\u9644\u4FAE\u64AB\u6B66\u821E\u8461\u856A\u90E8\u5C01\u6953\u98A8\u847A\u8557\u4F0F\u526F\u5FA9\u5E45\u670D\u798F\u8179\u8907\u8986\u6DF5\u5F17\u6255\u6CB8\u4ECF\u7269\u9B92\u5206\u543B\u5674\u58B3\u61A4\u626E\u711A\u596E\u7C89\u7CDE\u7D1B\u96F0\u6587\u805E\u4E19\u4F75\u5175\u5840\u5E63\u5E73\u5F0A\u67C4\u4E26\u853D\u9589\u965B\u7C73\u9801\u50FB\u58C1\u7656\u78A7\u5225\u77A5\u8511\u7B86\u504F\u5909\u7247\u7BC7\u7DE8\u8FBA\u8FD4\u904D\u4FBF\u52C9\u5A29\u5F01\u97AD\u4FDD\u8217\u92EA\u5703\u6355\u6B69\u752B\u88DC\u8F14\u7A42\u52DF\u5893\u6155\u620A\u66AE\u6BCD\u7C3F\u83E9\u5023\u4FF8\u5305\u5446\u5831\u5949\u5B9D\u5CF0\u5CEF\u5D29\u5E96\u62B1\u6367\u653E\u65B9\u670B"], + ["9640", "\u6CD5\u6CE1\u70F9\u7832\u7E2B\u80DE\u82B3\u840C\u84EC\u8702\u8912\u8A2A\u8C4A\u90A6\u92D2\u98FD\u9CF3\u9D6C\u4E4F\u4EA1\u508D\u5256\u574A\u59A8\u5E3D\u5FD8\u5FD9\u623F\u66B4\u671B\u67D0\u68D2\u5192\u7D21\u80AA\u81A8\u8B00\u8C8C\u8CBF\u927E\u9632\u5420\u982C\u5317\u50D5\u535C\u58A8\u64B2\u6734\u7267\u7766\u7A46\u91E6\u52C3\u6CA1\u6B86\u5800\u5E4C\u5954\u672C\u7FFB\u51E1\u76C6"], + ["9680", "\u6469\u78E8\u9B54\u9EBB\u57CB\u59B9\u6627\u679A\u6BCE\u54E9\u69D9\u5E55\u819C\u6795\u9BAA\u67FE\u9C52\u685D\u4EA6\u4FE3\u53C8\u62B9\u672B\u6CAB\u8FC4\u4FAD\u7E6D\u9EBF\u4E07\u6162\u6E80\u6F2B\u8513\u5473\u672A\u9B45\u5DF3\u7B95\u5CAC\u5BC6\u871C\u6E4A\u84D1\u7A14\u8108\u5999\u7C8D\u6C11\u7720\u52D9\u5922\u7121\u725F\u77DB\u9727\u9D61\u690B\u5A7F\u5A18\u51A5\u540D\u547D\u660E\u76DF\u8FF7\u9298\u9CF4\u59EA\u725D\u6EC5\u514D\u68C9\u7DBF\u7DEC\u9762\u9EBA\u6478\u6A21\u8302\u5984\u5B5F\u6BDB\u731B\u76F2\u7DB2\u8017\u8499\u5132\u6728\u9ED9\u76EE\u6762\u52FF\u9905\u5C24\u623B\u7C7E\u8CB0\u554F\u60B6\u7D0B\u9580\u5301\u4E5F\u51B6\u591C\u723A\u8036\u91CE\u5F25\u77E2\u5384\u5F79\u7D04\u85AC\u8A33\u8E8D\u9756\u67F3\u85AE\u9453\u6109\u6108\u6CB9\u7652"], + ["9740", "\u8AED\u8F38\u552F\u4F51\u512A\u52C7\u53CB\u5BA5\u5E7D\u60A0\u6182\u63D6\u6709\u67DA\u6E67\u6D8C\u7336\u7337\u7531\u7950\u88D5\u8A98\u904A\u9091\u90F5\u96C4\u878D\u5915\u4E88\u4F59\u4E0E\u8A89\u8F3F\u9810\u50AD\u5E7C\u5996\u5BB9\u5EB8\u63DA\u63FA\u64C1\u66DC\u694A\u69D8\u6D0B\u6EB6\u7194\u7528\u7AAF\u7F8A\u8000\u8449\u84C9\u8981\u8B21\u8E0A\u9065\u967D\u990A\u617E\u6291\u6B32"], + ["9780", "\u6C83\u6D74\u7FCC\u7FFC\u6DC0\u7F85\u87BA\u88F8\u6765\u83B1\u983C\u96F7\u6D1B\u7D61\u843D\u916A\u4E71\u5375\u5D50\u6B04\u6FEB\u85CD\u862D\u89A7\u5229\u540F\u5C65\u674E\u68A8\u7406\u7483\u75E2\u88CF\u88E1\u91CC\u96E2\u9678\u5F8B\u7387\u7ACB\u844E\u63A0\u7565\u5289\u6D41\u6E9C\u7409\u7559\u786B\u7C92\u9686\u7ADC\u9F8D\u4FB6\u616E\u65C5\u865C\u4E86\u4EAE\u50DA\u4E21\u51CC\u5BEE\u6599\u6881\u6DBC\u731F\u7642\u77AD\u7A1C\u7CE7\u826F\u8AD2\u907C\u91CF\u9675\u9818\u529B\u7DD1\u502B\u5398\u6797\u6DCB\u71D0\u7433\u81E8\u8F2A\u96A3\u9C57\u9E9F\u7460\u5841\u6D99\u7D2F\u985E\u4EE4\u4F36\u4F8B\u51B7\u52B1\u5DBA\u601C\u73B2\u793C\u82D3\u9234\u96B7\u96F6\u970A\u9E97\u9F62\u66A6\u6B74\u5217\u52A3\u70C8\u88C2\u5EC9\u604B\u6190\u6F23\u7149\u7C3E\u7DF4\u806F"], + ["9840", "\u84EE\u9023\u932C\u5442\u9B6F\u6AD3\u7089\u8CC2\u8DEF\u9732\u52B4\u5A41\u5ECA\u5F04\u6717\u697C\u6994\u6D6A\u6F0F\u7262\u72FC\u7BED\u8001\u807E\u874B\u90CE\u516D\u9E93\u7984\u808B\u9332\u8AD6\u502D\u548C\u8A71\u6B6A\u8CC4\u8107\u60D1\u67A0\u9DF2\u4E99\u4E98\u9C10\u8A6B\u85C1\u8568\u6900\u6E7E\u7897\u8155"], + ["989f", "\u5F0C\u4E10\u4E15\u4E2A\u4E31\u4E36\u4E3C\u4E3F\u4E42\u4E56\u4E58\u4E82\u4E85\u8C6B\u4E8A\u8212\u5F0D\u4E8E\u4E9E\u4E9F\u4EA0\u4EA2\u4EB0\u4EB3\u4EB6\u4ECE\u4ECD\u4EC4\u4EC6\u4EC2\u4ED7\u4EDE\u4EED\u4EDF\u4EF7\u4F09\u4F5A\u4F30\u4F5B\u4F5D\u4F57\u4F47\u4F76\u4F88\u4F8F\u4F98\u4F7B\u4F69\u4F70\u4F91\u4F6F\u4F86\u4F96\u5118\u4FD4\u4FDF\u4FCE\u4FD8\u4FDB\u4FD1\u4FDA\u4FD0\u4FE4\u4FE5\u501A\u5028\u5014\u502A\u5025\u5005\u4F1C\u4FF6\u5021\u5029\u502C\u4FFE\u4FEF\u5011\u5006\u5043\u5047\u6703\u5055\u5050\u5048\u505A\u5056\u506C\u5078\u5080\u509A\u5085\u50B4\u50B2"], + ["9940", "\u50C9\u50CA\u50B3\u50C2\u50D6\u50DE\u50E5\u50ED\u50E3\u50EE\u50F9\u50F5\u5109\u5101\u5102\u5116\u5115\u5114\u511A\u5121\u513A\u5137\u513C\u513B\u513F\u5140\u5152\u514C\u5154\u5162\u7AF8\u5169\u516A\u516E\u5180\u5182\u56D8\u518C\u5189\u518F\u5191\u5193\u5195\u5196\u51A4\u51A6\u51A2\u51A9\u51AA\u51AB\u51B3\u51B1\u51B2\u51B0\u51B5\u51BD\u51C5\u51C9\u51DB\u51E0\u8655\u51E9\u51ED"], + ["9980", "\u51F0\u51F5\u51FE\u5204\u520B\u5214\u520E\u5227\u522A\u522E\u5233\u5239\u524F\u5244\u524B\u524C\u525E\u5254\u526A\u5274\u5269\u5273\u527F\u527D\u528D\u5294\u5292\u5271\u5288\u5291\u8FA8\u8FA7\u52AC\u52AD\u52BC\u52B5\u52C1\u52CD\u52D7\u52DE\u52E3\u52E6\u98ED\u52E0\u52F3\u52F5\u52F8\u52F9\u5306\u5308\u7538\u530D\u5310\u530F\u5315\u531A\u5323\u532F\u5331\u5333\u5338\u5340\u5346\u5345\u4E17\u5349\u534D\u51D6\u535E\u5369\u536E\u5918\u537B\u5377\u5382\u5396\u53A0\u53A6\u53A5\u53AE\u53B0\u53B6\u53C3\u7C12\u96D9\u53DF\u66FC\u71EE\u53EE\u53E8\u53ED\u53FA\u5401\u543D\u5440\u542C\u542D\u543C\u542E\u5436\u5429\u541D\u544E\u548F\u5475\u548E\u545F\u5471\u5477\u5470\u5492\u547B\u5480\u5476\u5484\u5490\u5486\u54C7\u54A2\u54B8\u54A5\u54AC\u54C4\u54C8\u54A8"], + ["9a40", "\u54AB\u54C2\u54A4\u54BE\u54BC\u54D8\u54E5\u54E6\u550F\u5514\u54FD\u54EE\u54ED\u54FA\u54E2\u5539\u5540\u5563\u554C\u552E\u555C\u5545\u5556\u5557\u5538\u5533\u555D\u5599\u5580\u54AF\u558A\u559F\u557B\u557E\u5598\u559E\u55AE\u557C\u5583\u55A9\u5587\u55A8\u55DA\u55C5\u55DF\u55C4\u55DC\u55E4\u55D4\u5614\u55F7\u5616\u55FE\u55FD\u561B\u55F9\u564E\u5650\u71DF\u5634\u5636\u5632\u5638"], + ["9a80", "\u566B\u5664\u562F\u566C\u566A\u5686\u5680\u568A\u56A0\u5694\u568F\u56A5\u56AE\u56B6\u56B4\u56C2\u56BC\u56C1\u56C3\u56C0\u56C8\u56CE\u56D1\u56D3\u56D7\u56EE\u56F9\u5700\u56FF\u5704\u5709\u5708\u570B\u570D\u5713\u5718\u5716\u55C7\u571C\u5726\u5737\u5738\u574E\u573B\u5740\u574F\u5769\u57C0\u5788\u5761\u577F\u5789\u5793\u57A0\u57B3\u57A4\u57AA\u57B0\u57C3\u57C6\u57D4\u57D2\u57D3\u580A\u57D6\u57E3\u580B\u5819\u581D\u5872\u5821\u5862\u584B\u5870\u6BC0\u5852\u583D\u5879\u5885\u58B9\u589F\u58AB\u58BA\u58DE\u58BB\u58B8\u58AE\u58C5\u58D3\u58D1\u58D7\u58D9\u58D8\u58E5\u58DC\u58E4\u58DF\u58EF\u58FA\u58F9\u58FB\u58FC\u58FD\u5902\u590A\u5910\u591B\u68A6\u5925\u592C\u592D\u5932\u5938\u593E\u7AD2\u5955\u5950\u594E\u595A\u5958\u5962\u5960\u5967\u596C\u5969"], + ["9b40", "\u5978\u5981\u599D\u4F5E\u4FAB\u59A3\u59B2\u59C6\u59E8\u59DC\u598D\u59D9\u59DA\u5A25\u5A1F\u5A11\u5A1C\u5A09\u5A1A\u5A40\u5A6C\u5A49\u5A35\u5A36\u5A62\u5A6A\u5A9A\u5ABC\u5ABE\u5ACB\u5AC2\u5ABD\u5AE3\u5AD7\u5AE6\u5AE9\u5AD6\u5AFA\u5AFB\u5B0C\u5B0B\u5B16\u5B32\u5AD0\u5B2A\u5B36\u5B3E\u5B43\u5B45\u5B40\u5B51\u5B55\u5B5A\u5B5B\u5B65\u5B69\u5B70\u5B73\u5B75\u5B78\u6588\u5B7A\u5B80"], + ["9b80", "\u5B83\u5BA6\u5BB8\u5BC3\u5BC7\u5BC9\u5BD4\u5BD0\u5BE4\u5BE6\u5BE2\u5BDE\u5BE5\u5BEB\u5BF0\u5BF6\u5BF3\u5C05\u5C07\u5C08\u5C0D\u5C13\u5C20\u5C22\u5C28\u5C38\u5C39\u5C41\u5C46\u5C4E\u5C53\u5C50\u5C4F\u5B71\u5C6C\u5C6E\u4E62\u5C76\u5C79\u5C8C\u5C91\u5C94\u599B\u5CAB\u5CBB\u5CB6\u5CBC\u5CB7\u5CC5\u5CBE\u5CC7\u5CD9\u5CE9\u5CFD\u5CFA\u5CED\u5D8C\u5CEA\u5D0B\u5D15\u5D17\u5D5C\u5D1F\u5D1B\u5D11\u5D14\u5D22\u5D1A\u5D19\u5D18\u5D4C\u5D52\u5D4E\u5D4B\u5D6C\u5D73\u5D76\u5D87\u5D84\u5D82\u5DA2\u5D9D\u5DAC\u5DAE\u5DBD\u5D90\u5DB7\u5DBC\u5DC9\u5DCD\u5DD3\u5DD2\u5DD6\u5DDB\u5DEB\u5DF2\u5DF5\u5E0B\u5E1A\u5E19\u5E11\u5E1B\u5E36\u5E37\u5E44\u5E43\u5E40\u5E4E\u5E57\u5E54\u5E5F\u5E62\u5E64\u5E47\u5E75\u5E76\u5E7A\u9EBC\u5E7F\u5EA0\u5EC1\u5EC2\u5EC8\u5ED0\u5ECF"], + ["9c40", "\u5ED6\u5EE3\u5EDD\u5EDA\u5EDB\u5EE2\u5EE1\u5EE8\u5EE9\u5EEC\u5EF1\u5EF3\u5EF0\u5EF4\u5EF8\u5EFE\u5F03\u5F09\u5F5D\u5F5C\u5F0B\u5F11\u5F16\u5F29\u5F2D\u5F38\u5F41\u5F48\u5F4C\u5F4E\u5F2F\u5F51\u5F56\u5F57\u5F59\u5F61\u5F6D\u5F73\u5F77\u5F83\u5F82\u5F7F\u5F8A\u5F88\u5F91\u5F87\u5F9E\u5F99\u5F98\u5FA0\u5FA8\u5FAD\u5FBC\u5FD6\u5FFB\u5FE4\u5FF8\u5FF1\u5FDD\u60B3\u5FFF\u6021\u6060"], + ["9c80", "\u6019\u6010\u6029\u600E\u6031\u601B\u6015\u602B\u6026\u600F\u603A\u605A\u6041\u606A\u6077\u605F\u604A\u6046\u604D\u6063\u6043\u6064\u6042\u606C\u606B\u6059\u6081\u608D\u60E7\u6083\u609A\u6084\u609B\u6096\u6097\u6092\u60A7\u608B\u60E1\u60B8\u60E0\u60D3\u60B4\u5FF0\u60BD\u60C6\u60B5\u60D8\u614D\u6115\u6106\u60F6\u60F7\u6100\u60F4\u60FA\u6103\u6121\u60FB\u60F1\u610D\u610E\u6147\u613E\u6128\u6127\u614A\u613F\u613C\u612C\u6134\u613D\u6142\u6144\u6173\u6177\u6158\u6159\u615A\u616B\u6174\u616F\u6165\u6171\u615F\u615D\u6153\u6175\u6199\u6196\u6187\u61AC\u6194\u619A\u618A\u6191\u61AB\u61AE\u61CC\u61CA\u61C9\u61F7\u61C8\u61C3\u61C6\u61BA\u61CB\u7F79\u61CD\u61E6\u61E3\u61F6\u61FA\u61F4\u61FF\u61FD\u61FC\u61FE\u6200\u6208\u6209\u620D\u620C\u6214\u621B"], + ["9d40", "\u621E\u6221\u622A\u622E\u6230\u6232\u6233\u6241\u624E\u625E\u6263\u625B\u6260\u6268\u627C\u6282\u6289\u627E\u6292\u6293\u6296\u62D4\u6283\u6294\u62D7\u62D1\u62BB\u62CF\u62FF\u62C6\u64D4\u62C8\u62DC\u62CC\u62CA\u62C2\u62C7\u629B\u62C9\u630C\u62EE\u62F1\u6327\u6302\u6308\u62EF\u62F5\u6350\u633E\u634D\u641C\u634F\u6396\u638E\u6380\u63AB\u6376\u63A3\u638F\u6389\u639F\u63B5\u636B"], + ["9d80", "\u6369\u63BE\u63E9\u63C0\u63C6\u63E3\u63C9\u63D2\u63F6\u63C4\u6416\u6434\u6406\u6413\u6426\u6436\u651D\u6417\u6428\u640F\u6467\u646F\u6476\u644E\u652A\u6495\u6493\u64A5\u64A9\u6488\u64BC\u64DA\u64D2\u64C5\u64C7\u64BB\u64D8\u64C2\u64F1\u64E7\u8209\u64E0\u64E1\u62AC\u64E3\u64EF\u652C\u64F6\u64F4\u64F2\u64FA\u6500\u64FD\u6518\u651C\u6505\u6524\u6523\u652B\u6534\u6535\u6537\u6536\u6538\u754B\u6548\u6556\u6555\u654D\u6558\u655E\u655D\u6572\u6578\u6582\u6583\u8B8A\u659B\u659F\u65AB\u65B7\u65C3\u65C6\u65C1\u65C4\u65CC\u65D2\u65DB\u65D9\u65E0\u65E1\u65F1\u6772\u660A\u6603\u65FB\u6773\u6635\u6636\u6634\u661C\u664F\u6644\u6649\u6641\u665E\u665D\u6664\u6667\u6668\u665F\u6662\u6670\u6683\u6688\u668E\u6689\u6684\u6698\u669D\u66C1\u66B9\u66C9\u66BE\u66BC"], + ["9e40", "\u66C4\u66B8\u66D6\u66DA\u66E0\u663F\u66E6\u66E9\u66F0\u66F5\u66F7\u670F\u6716\u671E\u6726\u6727\u9738\u672E\u673F\u6736\u6741\u6738\u6737\u6746\u675E\u6760\u6759\u6763\u6764\u6789\u6770\u67A9\u677C\u676A\u678C\u678B\u67A6\u67A1\u6785\u67B7\u67EF\u67B4\u67EC\u67B3\u67E9\u67B8\u67E4\u67DE\u67DD\u67E2\u67EE\u67B9\u67CE\u67C6\u67E7\u6A9C\u681E\u6846\u6829\u6840\u684D\u6832\u684E"], + ["9e80", "\u68B3\u682B\u6859\u6863\u6877\u687F\u689F\u688F\u68AD\u6894\u689D\u689B\u6883\u6AAE\u68B9\u6874\u68B5\u68A0\u68BA\u690F\u688D\u687E\u6901\u68CA\u6908\u68D8\u6922\u6926\u68E1\u690C\u68CD\u68D4\u68E7\u68D5\u6936\u6912\u6904\u68D7\u68E3\u6925\u68F9\u68E0\u68EF\u6928\u692A\u691A\u6923\u6921\u68C6\u6979\u6977\u695C\u6978\u696B\u6954\u697E\u696E\u6939\u6974\u693D\u6959\u6930\u6961\u695E\u695D\u6981\u696A\u69B2\u69AE\u69D0\u69BF\u69C1\u69D3\u69BE\u69CE\u5BE8\u69CA\u69DD\u69BB\u69C3\u69A7\u6A2E\u6991\u69A0\u699C\u6995\u69B4\u69DE\u69E8\u6A02\u6A1B\u69FF\u6B0A\u69F9\u69F2\u69E7\u6A05\u69B1\u6A1E\u69ED\u6A14\u69EB\u6A0A\u6A12\u6AC1\u6A23\u6A13\u6A44\u6A0C\u6A72\u6A36\u6A78\u6A47\u6A62\u6A59\u6A66\u6A48\u6A38\u6A22\u6A90\u6A8D\u6AA0\u6A84\u6AA2\u6AA3"], + ["9f40", "\u6A97\u8617\u6ABB\u6AC3\u6AC2\u6AB8\u6AB3\u6AAC\u6ADE\u6AD1\u6ADF\u6AAA\u6ADA\u6AEA\u6AFB\u6B05\u8616\u6AFA\u6B12\u6B16\u9B31\u6B1F\u6B38\u6B37\u76DC\u6B39\u98EE\u6B47\u6B43\u6B49\u6B50\u6B59\u6B54\u6B5B\u6B5F\u6B61\u6B78\u6B79\u6B7F\u6B80\u6B84\u6B83\u6B8D\u6B98\u6B95\u6B9E\u6BA4\u6BAA\u6BAB\u6BAF\u6BB2\u6BB1\u6BB3\u6BB7\u6BBC\u6BC6\u6BCB\u6BD3\u6BDF\u6BEC\u6BEB\u6BF3\u6BEF"], + ["9f80", "\u9EBE\u6C08\u6C13\u6C14\u6C1B\u6C24\u6C23\u6C5E\u6C55\u6C62\u6C6A\u6C82\u6C8D\u6C9A\u6C81\u6C9B\u6C7E\u6C68\u6C73\u6C92\u6C90\u6CC4\u6CF1\u6CD3\u6CBD\u6CD7\u6CC5\u6CDD\u6CAE\u6CB1\u6CBE\u6CBA\u6CDB\u6CEF\u6CD9\u6CEA\u6D1F\u884D\u6D36\u6D2B\u6D3D\u6D38\u6D19\u6D35\u6D33\u6D12\u6D0C\u6D63\u6D93\u6D64\u6D5A\u6D79\u6D59\u6D8E\u6D95\u6FE4\u6D85\u6DF9\u6E15\u6E0A\u6DB5\u6DC7\u6DE6\u6DB8\u6DC6\u6DEC\u6DDE\u6DCC\u6DE8\u6DD2\u6DC5\u6DFA\u6DD9\u6DE4\u6DD5\u6DEA\u6DEE\u6E2D\u6E6E\u6E2E\u6E19\u6E72\u6E5F\u6E3E\u6E23\u6E6B\u6E2B\u6E76\u6E4D\u6E1F\u6E43\u6E3A\u6E4E\u6E24\u6EFF\u6E1D\u6E38\u6E82\u6EAA\u6E98\u6EC9\u6EB7\u6ED3\u6EBD\u6EAF\u6EC4\u6EB2\u6ED4\u6ED5\u6E8F\u6EA5\u6EC2\u6E9F\u6F41\u6F11\u704C\u6EEC\u6EF8\u6EFE\u6F3F\u6EF2\u6F31\u6EEF\u6F32\u6ECC"], + ["e040", "\u6F3E\u6F13\u6EF7\u6F86\u6F7A\u6F78\u6F81\u6F80\u6F6F\u6F5B\u6FF3\u6F6D\u6F82\u6F7C\u6F58\u6F8E\u6F91\u6FC2\u6F66\u6FB3\u6FA3\u6FA1\u6FA4\u6FB9\u6FC6\u6FAA\u6FDF\u6FD5\u6FEC\u6FD4\u6FD8\u6FF1\u6FEE\u6FDB\u7009\u700B\u6FFA\u7011\u7001\u700F\u6FFE\u701B\u701A\u6F74\u701D\u7018\u701F\u7030\u703E\u7032\u7051\u7063\u7099\u7092\u70AF\u70F1\u70AC\u70B8\u70B3\u70AE\u70DF\u70CB\u70DD"], + ["e080", "\u70D9\u7109\u70FD\u711C\u7119\u7165\u7155\u7188\u7166\u7162\u714C\u7156\u716C\u718F\u71FB\u7184\u7195\u71A8\u71AC\u71D7\u71B9\u71BE\u71D2\u71C9\u71D4\u71CE\u71E0\u71EC\u71E7\u71F5\u71FC\u71F9\u71FF\u720D\u7210\u721B\u7228\u722D\u722C\u7230\u7232\u723B\u723C\u723F\u7240\u7246\u724B\u7258\u7274\u727E\u7282\u7281\u7287\u7292\u7296\u72A2\u72A7\u72B9\u72B2\u72C3\u72C6\u72C4\u72CE\u72D2\u72E2\u72E0\u72E1\u72F9\u72F7\u500F\u7317\u730A\u731C\u7316\u731D\u7334\u732F\u7329\u7325\u733E\u734E\u734F\u9ED8\u7357\u736A\u7368\u7370\u7378\u7375\u737B\u737A\u73C8\u73B3\u73CE\u73BB\u73C0\u73E5\u73EE\u73DE\u74A2\u7405\u746F\u7425\u73F8\u7432\u743A\u7455\u743F\u745F\u7459\u7441\u745C\u7469\u7470\u7463\u746A\u7476\u747E\u748B\u749E\u74A7\u74CA\u74CF\u74D4\u73F1"], + ["e140", "\u74E0\u74E3\u74E7\u74E9\u74EE\u74F2\u74F0\u74F1\u74F8\u74F7\u7504\u7503\u7505\u750C\u750E\u750D\u7515\u7513\u751E\u7526\u752C\u753C\u7544\u754D\u754A\u7549\u755B\u7546\u755A\u7569\u7564\u7567\u756B\u756D\u7578\u7576\u7586\u7587\u7574\u758A\u7589\u7582\u7594\u759A\u759D\u75A5\u75A3\u75C2\u75B3\u75C3\u75B5\u75BD\u75B8\u75BC\u75B1\u75CD\u75CA\u75D2\u75D9\u75E3\u75DE\u75FE\u75FF"], + ["e180", "\u75FC\u7601\u75F0\u75FA\u75F2\u75F3\u760B\u760D\u7609\u761F\u7627\u7620\u7621\u7622\u7624\u7634\u7630\u763B\u7647\u7648\u7646\u765C\u7658\u7661\u7662\u7668\u7669\u766A\u7667\u766C\u7670\u7672\u7676\u7678\u767C\u7680\u7683\u7688\u768B\u768E\u7696\u7693\u7699\u769A\u76B0\u76B4\u76B8\u76B9\u76BA\u76C2\u76CD\u76D6\u76D2\u76DE\u76E1\u76E5\u76E7\u76EA\u862F\u76FB\u7708\u7707\u7704\u7729\u7724\u771E\u7725\u7726\u771B\u7737\u7738\u7747\u775A\u7768\u776B\u775B\u7765\u777F\u777E\u7779\u778E\u778B\u7791\u77A0\u779E\u77B0\u77B6\u77B9\u77BF\u77BC\u77BD\u77BB\u77C7\u77CD\u77D7\u77DA\u77DC\u77E3\u77EE\u77FC\u780C\u7812\u7926\u7820\u792A\u7845\u788E\u7874\u7886\u787C\u789A\u788C\u78A3\u78B5\u78AA\u78AF\u78D1\u78C6\u78CB\u78D4\u78BE\u78BC\u78C5\u78CA\u78EC"], + ["e240", "\u78E7\u78DA\u78FD\u78F4\u7907\u7912\u7911\u7919\u792C\u792B\u7940\u7960\u7957\u795F\u795A\u7955\u7953\u797A\u797F\u798A\u799D\u79A7\u9F4B\u79AA\u79AE\u79B3\u79B9\u79BA\u79C9\u79D5\u79E7\u79EC\u79E1\u79E3\u7A08\u7A0D\u7A18\u7A19\u7A20\u7A1F\u7980\u7A31\u7A3B\u7A3E\u7A37\u7A43\u7A57\u7A49\u7A61\u7A62\u7A69\u9F9D\u7A70\u7A79\u7A7D\u7A88\u7A97\u7A95\u7A98\u7A96\u7AA9\u7AC8\u7AB0"], + ["e280", "\u7AB6\u7AC5\u7AC4\u7ABF\u9083\u7AC7\u7ACA\u7ACD\u7ACF\u7AD5\u7AD3\u7AD9\u7ADA\u7ADD\u7AE1\u7AE2\u7AE6\u7AED\u7AF0\u7B02\u7B0F\u7B0A\u7B06\u7B33\u7B18\u7B19\u7B1E\u7B35\u7B28\u7B36\u7B50\u7B7A\u7B04\u7B4D\u7B0B\u7B4C\u7B45\u7B75\u7B65\u7B74\u7B67\u7B70\u7B71\u7B6C\u7B6E\u7B9D\u7B98\u7B9F\u7B8D\u7B9C\u7B9A\u7B8B\u7B92\u7B8F\u7B5D\u7B99\u7BCB\u7BC1\u7BCC\u7BCF\u7BB4\u7BC6\u7BDD\u7BE9\u7C11\u7C14\u7BE6\u7BE5\u7C60\u7C00\u7C07\u7C13\u7BF3\u7BF7\u7C17\u7C0D\u7BF6\u7C23\u7C27\u7C2A\u7C1F\u7C37\u7C2B\u7C3D\u7C4C\u7C43\u7C54\u7C4F\u7C40\u7C50\u7C58\u7C5F\u7C64\u7C56\u7C65\u7C6C\u7C75\u7C83\u7C90\u7CA4\u7CAD\u7CA2\u7CAB\u7CA1\u7CA8\u7CB3\u7CB2\u7CB1\u7CAE\u7CB9\u7CBD\u7CC0\u7CC5\u7CC2\u7CD8\u7CD2\u7CDC\u7CE2\u9B3B\u7CEF\u7CF2\u7CF4\u7CF6\u7CFA\u7D06"], + ["e340", "\u7D02\u7D1C\u7D15\u7D0A\u7D45\u7D4B\u7D2E\u7D32\u7D3F\u7D35\u7D46\u7D73\u7D56\u7D4E\u7D72\u7D68\u7D6E\u7D4F\u7D63\u7D93\u7D89\u7D5B\u7D8F\u7D7D\u7D9B\u7DBA\u7DAE\u7DA3\u7DB5\u7DC7\u7DBD\u7DAB\u7E3D\u7DA2\u7DAF\u7DDC\u7DB8\u7D9F\u7DB0\u7DD8\u7DDD\u7DE4\u7DDE\u7DFB\u7DF2\u7DE1\u7E05\u7E0A\u7E23\u7E21\u7E12\u7E31\u7E1F\u7E09\u7E0B\u7E22\u7E46\u7E66\u7E3B\u7E35\u7E39\u7E43\u7E37"], + ["e380", "\u7E32\u7E3A\u7E67\u7E5D\u7E56\u7E5E\u7E59\u7E5A\u7E79\u7E6A\u7E69\u7E7C\u7E7B\u7E83\u7DD5\u7E7D\u8FAE\u7E7F\u7E88\u7E89\u7E8C\u7E92\u7E90\u7E93\u7E94\u7E96\u7E8E\u7E9B\u7E9C\u7F38\u7F3A\u7F45\u7F4C\u7F4D\u7F4E\u7F50\u7F51\u7F55\u7F54\u7F58\u7F5F\u7F60\u7F68\u7F69\u7F67\u7F78\u7F82\u7F86\u7F83\u7F88\u7F87\u7F8C\u7F94\u7F9E\u7F9D\u7F9A\u7FA3\u7FAF\u7FB2\u7FB9\u7FAE\u7FB6\u7FB8\u8B71\u7FC5\u7FC6\u7FCA\u7FD5\u7FD4\u7FE1\u7FE6\u7FE9\u7FF3\u7FF9\u98DC\u8006\u8004\u800B\u8012\u8018\u8019\u801C\u8021\u8028\u803F\u803B\u804A\u8046\u8052\u8058\u805A\u805F\u8062\u8068\u8073\u8072\u8070\u8076\u8079\u807D\u807F\u8084\u8086\u8085\u809B\u8093\u809A\u80AD\u5190\u80AC\u80DB\u80E5\u80D9\u80DD\u80C4\u80DA\u80D6\u8109\u80EF\u80F1\u811B\u8129\u8123\u812F\u814B"], + ["e440", "\u968B\u8146\u813E\u8153\u8151\u80FC\u8171\u816E\u8165\u8166\u8174\u8183\u8188\u818A\u8180\u8182\u81A0\u8195\u81A4\u81A3\u815F\u8193\u81A9\u81B0\u81B5\u81BE\u81B8\u81BD\u81C0\u81C2\u81BA\u81C9\u81CD\u81D1\u81D9\u81D8\u81C8\u81DA\u81DF\u81E0\u81E7\u81FA\u81FB\u81FE\u8201\u8202\u8205\u8207\u820A\u820D\u8210\u8216\u8229\u822B\u8238\u8233\u8240\u8259\u8258\u825D\u825A\u825F\u8264"], + ["e480", "\u8262\u8268\u826A\u826B\u822E\u8271\u8277\u8278\u827E\u828D\u8292\u82AB\u829F\u82BB\u82AC\u82E1\u82E3\u82DF\u82D2\u82F4\u82F3\u82FA\u8393\u8303\u82FB\u82F9\u82DE\u8306\u82DC\u8309\u82D9\u8335\u8334\u8316\u8332\u8331\u8340\u8339\u8350\u8345\u832F\u832B\u8317\u8318\u8385\u839A\u83AA\u839F\u83A2\u8396\u8323\u838E\u8387\u838A\u837C\u83B5\u8373\u8375\u83A0\u8389\u83A8\u83F4\u8413\u83EB\u83CE\u83FD\u8403\u83D8\u840B\u83C1\u83F7\u8407\u83E0\u83F2\u840D\u8422\u8420\u83BD\u8438\u8506\u83FB\u846D\u842A\u843C\u855A\u8484\u8477\u846B\u84AD\u846E\u8482\u8469\u8446\u842C\u846F\u8479\u8435\u84CA\u8462\u84B9\u84BF\u849F\u84D9\u84CD\u84BB\u84DA\u84D0\u84C1\u84C6\u84D6\u84A1\u8521\u84FF\u84F4\u8517\u8518\u852C\u851F\u8515\u8514\u84FC\u8540\u8563\u8558\u8548"], + ["e540", "\u8541\u8602\u854B\u8555\u8580\u85A4\u8588\u8591\u858A\u85A8\u856D\u8594\u859B\u85EA\u8587\u859C\u8577\u857E\u8590\u85C9\u85BA\u85CF\u85B9\u85D0\u85D5\u85DD\u85E5\u85DC\u85F9\u860A\u8613\u860B\u85FE\u85FA\u8606\u8622\u861A\u8630\u863F\u864D\u4E55\u8654\u865F\u8667\u8671\u8693\u86A3\u86A9\u86AA\u868B\u868C\u86B6\u86AF\u86C4\u86C6\u86B0\u86C9\u8823\u86AB\u86D4\u86DE\u86E9\u86EC"], + ["e580", "\u86DF\u86DB\u86EF\u8712\u8706\u8708\u8700\u8703\u86FB\u8711\u8709\u870D\u86F9\u870A\u8734\u873F\u8737\u873B\u8725\u8729\u871A\u8760\u875F\u8778\u874C\u874E\u8774\u8757\u8768\u876E\u8759\u8753\u8763\u876A\u8805\u87A2\u879F\u8782\u87AF\u87CB\u87BD\u87C0\u87D0\u96D6\u87AB\u87C4\u87B3\u87C7\u87C6\u87BB\u87EF\u87F2\u87E0\u880F\u880D\u87FE\u87F6\u87F7\u880E\u87D2\u8811\u8816\u8815\u8822\u8821\u8831\u8836\u8839\u8827\u883B\u8844\u8842\u8852\u8859\u885E\u8862\u886B\u8881\u887E\u889E\u8875\u887D\u88B5\u8872\u8882\u8897\u8892\u88AE\u8899\u88A2\u888D\u88A4\u88B0\u88BF\u88B1\u88C3\u88C4\u88D4\u88D8\u88D9\u88DD\u88F9\u8902\u88FC\u88F4\u88E8\u88F2\u8904\u890C\u890A\u8913\u8943\u891E\u8925\u892A\u892B\u8941\u8944\u893B\u8936\u8938\u894C\u891D\u8960\u895E"], + ["e640", "\u8966\u8964\u896D\u896A\u896F\u8974\u8977\u897E\u8983\u8988\u898A\u8993\u8998\u89A1\u89A9\u89A6\u89AC\u89AF\u89B2\u89BA\u89BD\u89BF\u89C0\u89DA\u89DC\u89DD\u89E7\u89F4\u89F8\u8A03\u8A16\u8A10\u8A0C\u8A1B\u8A1D\u8A25\u8A36\u8A41\u8A5B\u8A52\u8A46\u8A48\u8A7C\u8A6D\u8A6C\u8A62\u8A85\u8A82\u8A84\u8AA8\u8AA1\u8A91\u8AA5\u8AA6\u8A9A\u8AA3\u8AC4\u8ACD\u8AC2\u8ADA\u8AEB\u8AF3\u8AE7"], + ["e680", "\u8AE4\u8AF1\u8B14\u8AE0\u8AE2\u8AF7\u8ADE\u8ADB\u8B0C\u8B07\u8B1A\u8AE1\u8B16\u8B10\u8B17\u8B20\u8B33\u97AB\u8B26\u8B2B\u8B3E\u8B28\u8B41\u8B4C\u8B4F\u8B4E\u8B49\u8B56\u8B5B\u8B5A\u8B6B\u8B5F\u8B6C\u8B6F\u8B74\u8B7D\u8B80\u8B8C\u8B8E\u8B92\u8B93\u8B96\u8B99\u8B9A\u8C3A\u8C41\u8C3F\u8C48\u8C4C\u8C4E\u8C50\u8C55\u8C62\u8C6C\u8C78\u8C7A\u8C82\u8C89\u8C85\u8C8A\u8C8D\u8C8E\u8C94\u8C7C\u8C98\u621D\u8CAD\u8CAA\u8CBD\u8CB2\u8CB3\u8CAE\u8CB6\u8CC8\u8CC1\u8CE4\u8CE3\u8CDA\u8CFD\u8CFA\u8CFB\u8D04\u8D05\u8D0A\u8D07\u8D0F\u8D0D\u8D10\u9F4E\u8D13\u8CCD\u8D14\u8D16\u8D67\u8D6D\u8D71\u8D73\u8D81\u8D99\u8DC2\u8DBE\u8DBA\u8DCF\u8DDA\u8DD6\u8DCC\u8DDB\u8DCB\u8DEA\u8DEB\u8DDF\u8DE3\u8DFC\u8E08\u8E09\u8DFF\u8E1D\u8E1E\u8E10\u8E1F\u8E42\u8E35\u8E30\u8E34\u8E4A"], + ["e740", "\u8E47\u8E49\u8E4C\u8E50\u8E48\u8E59\u8E64\u8E60\u8E2A\u8E63\u8E55\u8E76\u8E72\u8E7C\u8E81\u8E87\u8E85\u8E84\u8E8B\u8E8A\u8E93\u8E91\u8E94\u8E99\u8EAA\u8EA1\u8EAC\u8EB0\u8EC6\u8EB1\u8EBE\u8EC5\u8EC8\u8ECB\u8EDB\u8EE3\u8EFC\u8EFB\u8EEB\u8EFE\u8F0A\u8F05\u8F15\u8F12\u8F19\u8F13\u8F1C\u8F1F\u8F1B\u8F0C\u8F26\u8F33\u8F3B\u8F39\u8F45\u8F42\u8F3E\u8F4C\u8F49\u8F46\u8F4E\u8F57\u8F5C"], + ["e780", "\u8F62\u8F63\u8F64\u8F9C\u8F9F\u8FA3\u8FAD\u8FAF\u8FB7\u8FDA\u8FE5\u8FE2\u8FEA\u8FEF\u9087\u8FF4\u9005\u8FF9\u8FFA\u9011\u9015\u9021\u900D\u901E\u9016\u900B\u9027\u9036\u9035\u9039\u8FF8\u904F\u9050\u9051\u9052\u900E\u9049\u903E\u9056\u9058\u905E\u9068\u906F\u9076\u96A8\u9072\u9082\u907D\u9081\u9080\u908A\u9089\u908F\u90A8\u90AF\u90B1\u90B5\u90E2\u90E4\u6248\u90DB\u9102\u9112\u9119\u9132\u9130\u914A\u9156\u9158\u9163\u9165\u9169\u9173\u9172\u918B\u9189\u9182\u91A2\u91AB\u91AF\u91AA\u91B5\u91B4\u91BA\u91C0\u91C1\u91C9\u91CB\u91D0\u91D6\u91DF\u91E1\u91DB\u91FC\u91F5\u91F6\u921E\u91FF\u9214\u922C\u9215\u9211\u925E\u9257\u9245\u9249\u9264\u9248\u9295\u923F\u924B\u9250\u929C\u9296\u9293\u929B\u925A\u92CF\u92B9\u92B7\u92E9\u930F\u92FA\u9344\u932E"], + ["e840", "\u9319\u9322\u931A\u9323\u933A\u9335\u933B\u935C\u9360\u937C\u936E\u9356\u93B0\u93AC\u93AD\u9394\u93B9\u93D6\u93D7\u93E8\u93E5\u93D8\u93C3\u93DD\u93D0\u93C8\u93E4\u941A\u9414\u9413\u9403\u9407\u9410\u9436\u942B\u9435\u9421\u943A\u9441\u9452\u9444\u945B\u9460\u9462\u945E\u946A\u9229\u9470\u9475\u9477\u947D\u945A\u947C\u947E\u9481\u947F\u9582\u9587\u958A\u9594\u9596\u9598\u9599"], + ["e880", "\u95A0\u95A8\u95A7\u95AD\u95BC\u95BB\u95B9\u95BE\u95CA\u6FF6\u95C3\u95CD\u95CC\u95D5\u95D4\u95D6\u95DC\u95E1\u95E5\u95E2\u9621\u9628\u962E\u962F\u9642\u964C\u964F\u964B\u9677\u965C\u965E\u965D\u965F\u9666\u9672\u966C\u968D\u9698\u9695\u9697\u96AA\u96A7\u96B1\u96B2\u96B0\u96B4\u96B6\u96B8\u96B9\u96CE\u96CB\u96C9\u96CD\u894D\u96DC\u970D\u96D5\u96F9\u9704\u9706\u9708\u9713\u970E\u9711\u970F\u9716\u9719\u9724\u972A\u9730\u9739\u973D\u973E\u9744\u9746\u9748\u9742\u9749\u975C\u9760\u9764\u9766\u9768\u52D2\u976B\u9771\u9779\u9785\u977C\u9781\u977A\u9786\u978B\u978F\u9790\u979C\u97A8\u97A6\u97A3\u97B3\u97B4\u97C3\u97C6\u97C8\u97CB\u97DC\u97ED\u9F4F\u97F2\u7ADF\u97F6\u97F5\u980F\u980C\u9838\u9824\u9821\u9837\u983D\u9846\u984F\u984B\u986B\u986F\u9870"], + ["e940", "\u9871\u9874\u9873\u98AA\u98AF\u98B1\u98B6\u98C4\u98C3\u98C6\u98E9\u98EB\u9903\u9909\u9912\u9914\u9918\u9921\u991D\u991E\u9924\u9920\u992C\u992E\u993D\u993E\u9942\u9949\u9945\u9950\u994B\u9951\u9952\u994C\u9955\u9997\u9998\u99A5\u99AD\u99AE\u99BC\u99DF\u99DB\u99DD\u99D8\u99D1\u99ED\u99EE\u99F1\u99F2\u99FB\u99F8\u9A01\u9A0F\u9A05\u99E2\u9A19\u9A2B\u9A37\u9A45\u9A42\u9A40\u9A43"], + ["e980", "\u9A3E\u9A55\u9A4D\u9A5B\u9A57\u9A5F\u9A62\u9A65\u9A64\u9A69\u9A6B\u9A6A\u9AAD\u9AB0\u9ABC\u9AC0\u9ACF\u9AD1\u9AD3\u9AD4\u9ADE\u9ADF\u9AE2\u9AE3\u9AE6\u9AEF\u9AEB\u9AEE\u9AF4\u9AF1\u9AF7\u9AFB\u9B06\u9B18\u9B1A\u9B1F\u9B22\u9B23\u9B25\u9B27\u9B28\u9B29\u9B2A\u9B2E\u9B2F\u9B32\u9B44\u9B43\u9B4F\u9B4D\u9B4E\u9B51\u9B58\u9B74\u9B93\u9B83\u9B91\u9B96\u9B97\u9B9F\u9BA0\u9BA8\u9BB4\u9BC0\u9BCA\u9BB9\u9BC6\u9BCF\u9BD1\u9BD2\u9BE3\u9BE2\u9BE4\u9BD4\u9BE1\u9C3A\u9BF2\u9BF1\u9BF0\u9C15\u9C14\u9C09\u9C13\u9C0C\u9C06\u9C08\u9C12\u9C0A\u9C04\u9C2E\u9C1B\u9C25\u9C24\u9C21\u9C30\u9C47\u9C32\u9C46\u9C3E\u9C5A\u9C60\u9C67\u9C76\u9C78\u9CE7\u9CEC\u9CF0\u9D09\u9D08\u9CEB\u9D03\u9D06\u9D2A\u9D26\u9DAF\u9D23\u9D1F\u9D44\u9D15\u9D12\u9D41\u9D3F\u9D3E\u9D46\u9D48"], + ["ea40", "\u9D5D\u9D5E\u9D64\u9D51\u9D50\u9D59\u9D72\u9D89\u9D87\u9DAB\u9D6F\u9D7A\u9D9A\u9DA4\u9DA9\u9DB2\u9DC4\u9DC1\u9DBB\u9DB8\u9DBA\u9DC6\u9DCF\u9DC2\u9DD9\u9DD3\u9DF8\u9DE6\u9DED\u9DEF\u9DFD\u9E1A\u9E1B\u9E1E\u9E75\u9E79\u9E7D\u9E81\u9E88\u9E8B\u9E8C\u9E92\u9E95\u9E91\u9E9D\u9EA5\u9EA9\u9EB8\u9EAA\u9EAD\u9761\u9ECC\u9ECE\u9ECF\u9ED0\u9ED4\u9EDC\u9EDE\u9EDD\u9EE0\u9EE5\u9EE8\u9EEF"], + ["ea80", "\u9EF4\u9EF6\u9EF7\u9EF9\u9EFB\u9EFC\u9EFD\u9F07\u9F08\u76B7\u9F15\u9F21\u9F2C\u9F3E\u9F4A\u9F52\u9F54\u9F63\u9F5F\u9F60\u9F61\u9F66\u9F67\u9F6C\u9F6A\u9F77\u9F72\u9F76\u9F95\u9F9C\u9FA0\u582F\u69C7\u9059\u7464\u51DC\u7199"], + ["ed40", "\u7E8A\u891C\u9348\u9288\u84DC\u4FC9\u70BB\u6631\u68C8\u92F9\u66FB\u5F45\u4E28\u4EE1\u4EFC\u4F00\u4F03\u4F39\u4F56\u4F92\u4F8A\u4F9A\u4F94\u4FCD\u5040\u5022\u4FFF\u501E\u5046\u5070\u5042\u5094\u50F4\u50D8\u514A\u5164\u519D\u51BE\u51EC\u5215\u529C\u52A6\u52C0\u52DB\u5300\u5307\u5324\u5372\u5393\u53B2\u53DD\uFA0E\u549C\u548A\u54A9\u54FF\u5586\u5759\u5765\u57AC\u57C8\u57C7\uFA0F"], + ["ed80", "\uFA10\u589E\u58B2\u590B\u5953\u595B\u595D\u5963\u59A4\u59BA\u5B56\u5BC0\u752F\u5BD8\u5BEC\u5C1E\u5CA6\u5CBA\u5CF5\u5D27\u5D53\uFA11\u5D42\u5D6D\u5DB8\u5DB9\u5DD0\u5F21\u5F34\u5F67\u5FB7\u5FDE\u605D\u6085\u608A\u60DE\u60D5\u6120\u60F2\u6111\u6137\u6130\u6198\u6213\u62A6\u63F5\u6460\u649D\u64CE\u654E\u6600\u6615\u663B\u6609\u662E\u661E\u6624\u6665\u6657\u6659\uFA12\u6673\u6699\u66A0\u66B2\u66BF\u66FA\u670E\uF929\u6766\u67BB\u6852\u67C0\u6801\u6844\u68CF\uFA13\u6968\uFA14\u6998\u69E2\u6A30\u6A6B\u6A46\u6A73\u6A7E\u6AE2\u6AE4\u6BD6\u6C3F\u6C5C\u6C86\u6C6F\u6CDA\u6D04\u6D87\u6D6F\u6D96\u6DAC\u6DCF\u6DF8\u6DF2\u6DFC\u6E39\u6E5C\u6E27\u6E3C\u6EBF\u6F88\u6FB5\u6FF5\u7005\u7007\u7028\u7085\u70AB\u710F\u7104\u715C\u7146\u7147\uFA15\u71C1\u71FE\u72B1"], + ["ee40", "\u72BE\u7324\uFA16\u7377\u73BD\u73C9\u73D6\u73E3\u73D2\u7407\u73F5\u7426\u742A\u7429\u742E\u7462\u7489\u749F\u7501\u756F\u7682\u769C\u769E\u769B\u76A6\uFA17\u7746\u52AF\u7821\u784E\u7864\u787A\u7930\uFA18\uFA19\uFA1A\u7994\uFA1B\u799B\u7AD1\u7AE7\uFA1C\u7AEB\u7B9E\uFA1D\u7D48\u7D5C\u7DB7\u7DA0\u7DD6\u7E52\u7F47\u7FA1\uFA1E\u8301\u8362\u837F\u83C7\u83F6\u8448\u84B4\u8553\u8559"], + ["ee80", "\u856B\uFA1F\u85B0\uFA20\uFA21\u8807\u88F5\u8A12\u8A37\u8A79\u8AA7\u8ABE\u8ADF\uFA22\u8AF6\u8B53\u8B7F\u8CF0\u8CF4\u8D12\u8D76\uFA23\u8ECF\uFA24\uFA25\u9067\u90DE\uFA26\u9115\u9127\u91DA\u91D7\u91DE\u91ED\u91EE\u91E4\u91E5\u9206\u9210\u920A\u923A\u9240\u923C\u924E\u9259\u9251\u9239\u9267\u92A7\u9277\u9278\u92E7\u92D7\u92D9\u92D0\uFA27\u92D5\u92E0\u92D3\u9325\u9321\u92FB\uFA28\u931E\u92FF\u931D\u9302\u9370\u9357\u93A4\u93C6\u93DE\u93F8\u9431\u9445\u9448\u9592\uF9DC\uFA29\u969D\u96AF\u9733\u973B\u9743\u974D\u974F\u9751\u9755\u9857\u9865\uFA2A\uFA2B\u9927\uFA2C\u999E\u9A4E\u9AD9\u9ADC\u9B75\u9B72\u9B8F\u9BB1\u9BBB\u9C00\u9D70\u9D6B\uFA2D\u9E19\u9ED1"], + ["eeef", "\u2170", 9, "\uFFE2\uFFE4\uFF07\uFF02"], + ["f040", "\uE000", 62], + ["f080", "\uE03F", 124], + ["f140", "\uE0BC", 62], + ["f180", "\uE0FB", 124], + ["f240", "\uE178", 62], + ["f280", "\uE1B7", 124], + ["f340", "\uE234", 62], + ["f380", "\uE273", 124], + ["f440", "\uE2F0", 62], + ["f480", "\uE32F", 124], + ["f540", "\uE3AC", 62], + ["f580", "\uE3EB", 124], + ["f640", "\uE468", 62], + ["f680", "\uE4A7", 124], + ["f740", "\uE524", 62], + ["f780", "\uE563", 124], + ["f840", "\uE5E0", 62], + ["f880", "\uE61F", 124], + ["f940", "\uE69C"], + ["fa40", "\u2170", 9, "\u2160", 9, "\uFFE2\uFFE4\uFF07\uFF02\u3231\u2116\u2121\u2235\u7E8A\u891C\u9348\u9288\u84DC\u4FC9\u70BB\u6631\u68C8\u92F9\u66FB\u5F45\u4E28\u4EE1\u4EFC\u4F00\u4F03\u4F39\u4F56\u4F92\u4F8A\u4F9A\u4F94\u4FCD\u5040\u5022\u4FFF\u501E\u5046\u5070\u5042\u5094\u50F4\u50D8\u514A"], + ["fa80", "\u5164\u519D\u51BE\u51EC\u5215\u529C\u52A6\u52C0\u52DB\u5300\u5307\u5324\u5372\u5393\u53B2\u53DD\uFA0E\u549C\u548A\u54A9\u54FF\u5586\u5759\u5765\u57AC\u57C8\u57C7\uFA0F\uFA10\u589E\u58B2\u590B\u5953\u595B\u595D\u5963\u59A4\u59BA\u5B56\u5BC0\u752F\u5BD8\u5BEC\u5C1E\u5CA6\u5CBA\u5CF5\u5D27\u5D53\uFA11\u5D42\u5D6D\u5DB8\u5DB9\u5DD0\u5F21\u5F34\u5F67\u5FB7\u5FDE\u605D\u6085\u608A\u60DE\u60D5\u6120\u60F2\u6111\u6137\u6130\u6198\u6213\u62A6\u63F5\u6460\u649D\u64CE\u654E\u6600\u6615\u663B\u6609\u662E\u661E\u6624\u6665\u6657\u6659\uFA12\u6673\u6699\u66A0\u66B2\u66BF\u66FA\u670E\uF929\u6766\u67BB\u6852\u67C0\u6801\u6844\u68CF\uFA13\u6968\uFA14\u6998\u69E2\u6A30\u6A6B\u6A46\u6A73\u6A7E\u6AE2\u6AE4\u6BD6\u6C3F\u6C5C\u6C86\u6C6F\u6CDA\u6D04\u6D87\u6D6F"], + ["fb40", "\u6D96\u6DAC\u6DCF\u6DF8\u6DF2\u6DFC\u6E39\u6E5C\u6E27\u6E3C\u6EBF\u6F88\u6FB5\u6FF5\u7005\u7007\u7028\u7085\u70AB\u710F\u7104\u715C\u7146\u7147\uFA15\u71C1\u71FE\u72B1\u72BE\u7324\uFA16\u7377\u73BD\u73C9\u73D6\u73E3\u73D2\u7407\u73F5\u7426\u742A\u7429\u742E\u7462\u7489\u749F\u7501\u756F\u7682\u769C\u769E\u769B\u76A6\uFA17\u7746\u52AF\u7821\u784E\u7864\u787A\u7930\uFA18\uFA19"], + ["fb80", "\uFA1A\u7994\uFA1B\u799B\u7AD1\u7AE7\uFA1C\u7AEB\u7B9E\uFA1D\u7D48\u7D5C\u7DB7\u7DA0\u7DD6\u7E52\u7F47\u7FA1\uFA1E\u8301\u8362\u837F\u83C7\u83F6\u8448\u84B4\u8553\u8559\u856B\uFA1F\u85B0\uFA20\uFA21\u8807\u88F5\u8A12\u8A37\u8A79\u8AA7\u8ABE\u8ADF\uFA22\u8AF6\u8B53\u8B7F\u8CF0\u8CF4\u8D12\u8D76\uFA23\u8ECF\uFA24\uFA25\u9067\u90DE\uFA26\u9115\u9127\u91DA\u91D7\u91DE\u91ED\u91EE\u91E4\u91E5\u9206\u9210\u920A\u923A\u9240\u923C\u924E\u9259\u9251\u9239\u9267\u92A7\u9277\u9278\u92E7\u92D7\u92D9\u92D0\uFA27\u92D5\u92E0\u92D3\u9325\u9321\u92FB\uFA28\u931E\u92FF\u931D\u9302\u9370\u9357\u93A4\u93C6\u93DE\u93F8\u9431\u9445\u9448\u9592\uF9DC\uFA29\u969D\u96AF\u9733\u973B\u9743\u974D\u974F\u9751\u9755\u9857\u9865\uFA2A\uFA2B\u9927\uFA2C\u999E\u9A4E\u9AD9"], + ["fc40", "\u9ADC\u9B75\u9B72\u9B8F\u9BB1\u9BBB\u9C00\u9D70\u9D6B\uFA2D\u9E19\u9ED1"] + ]; + } +}); +var require_eucjp = __commonJS2({ + "node_modules/raw-body/node_modules/iconv-lite/encodings/tables/eucjp.json"(exports2, module2) { + module2.exports = [ + ["0", "\0", 127], + ["8ea1", "\uFF61", 62], + ["a1a1", "\u3000\u3001\u3002\uFF0C\uFF0E\u30FB\uFF1A\uFF1B\uFF1F\uFF01\u309B\u309C\xB4\uFF40\xA8\uFF3E\uFFE3\uFF3F\u30FD\u30FE\u309D\u309E\u3003\u4EDD\u3005\u3006\u3007\u30FC\u2015\u2010\uFF0F\uFF3C\uFF5E\u2225\uFF5C\u2026\u2025\u2018\u2019\u201C\u201D\uFF08\uFF09\u3014\u3015\uFF3B\uFF3D\uFF5B\uFF5D\u3008", 9, "\uFF0B\uFF0D\xB1\xD7\xF7\uFF1D\u2260\uFF1C\uFF1E\u2266\u2267\u221E\u2234\u2642\u2640\xB0\u2032\u2033\u2103\uFFE5\uFF04\uFFE0\uFFE1\uFF05\uFF03\uFF06\uFF0A\uFF20\xA7\u2606\u2605\u25CB\u25CF\u25CE\u25C7"], + ["a2a1", "\u25C6\u25A1\u25A0\u25B3\u25B2\u25BD\u25BC\u203B\u3012\u2192\u2190\u2191\u2193\u3013"], + ["a2ba", "\u2208\u220B\u2286\u2287\u2282\u2283\u222A\u2229"], + ["a2ca", "\u2227\u2228\uFFE2\u21D2\u21D4\u2200\u2203"], + ["a2dc", "\u2220\u22A5\u2312\u2202\u2207\u2261\u2252\u226A\u226B\u221A\u223D\u221D\u2235\u222B\u222C"], + ["a2f2", "\u212B\u2030\u266F\u266D\u266A\u2020\u2021\xB6"], + ["a2fe", "\u25EF"], + ["a3b0", "\uFF10", 9], + ["a3c1", "\uFF21", 25], + ["a3e1", "\uFF41", 25], + ["a4a1", "\u3041", 82], + ["a5a1", "\u30A1", 85], + ["a6a1", "\u0391", 16, "\u03A3", 6], + ["a6c1", "\u03B1", 16, "\u03C3", 6], + ["a7a1", "\u0410", 5, "\u0401\u0416", 25], + ["a7d1", "\u0430", 5, "\u0451\u0436", 25], + ["a8a1", "\u2500\u2502\u250C\u2510\u2518\u2514\u251C\u252C\u2524\u2534\u253C\u2501\u2503\u250F\u2513\u251B\u2517\u2523\u2533\u252B\u253B\u254B\u2520\u252F\u2528\u2537\u253F\u251D\u2530\u2525\u2538\u2542"], + ["ada1", "\u2460", 19, "\u2160", 9], + ["adc0", "\u3349\u3314\u3322\u334D\u3318\u3327\u3303\u3336\u3351\u3357\u330D\u3326\u3323\u332B\u334A\u333B\u339C\u339D\u339E\u338E\u338F\u33C4\u33A1"], + ["addf", "\u337B\u301D\u301F\u2116\u33CD\u2121\u32A4", 4, "\u3231\u3232\u3239\u337E\u337D\u337C\u2252\u2261\u222B\u222E\u2211\u221A\u22A5\u2220\u221F\u22BF\u2235\u2229\u222A"], + ["b0a1", "\u4E9C\u5516\u5A03\u963F\u54C0\u611B\u6328\u59F6\u9022\u8475\u831C\u7A50\u60AA\u63E1\u6E25\u65ED\u8466\u82A6\u9BF5\u6893\u5727\u65A1\u6271\u5B9B\u59D0\u867B\u98F4\u7D62\u7DBE\u9B8E\u6216\u7C9F\u88B7\u5B89\u5EB5\u6309\u6697\u6848\u95C7\u978D\u674F\u4EE5\u4F0A\u4F4D\u4F9D\u5049\u56F2\u5937\u59D4\u5A01\u5C09\u60DF\u610F\u6170\u6613\u6905\u70BA\u754F\u7570\u79FB\u7DAD\u7DEF\u80C3\u840E\u8863\u8B02\u9055\u907A\u533B\u4E95\u4EA5\u57DF\u80B2\u90C1\u78EF\u4E00\u58F1\u6EA2\u9038\u7A32\u8328\u828B\u9C2F\u5141\u5370\u54BD\u54E1\u56E0\u59FB\u5F15\u98F2\u6DEB\u80E4\u852D"], + ["b1a1", "\u9662\u9670\u96A0\u97FB\u540B\u53F3\u5B87\u70CF\u7FBD\u8FC2\u96E8\u536F\u9D5C\u7ABA\u4E11\u7893\u81FC\u6E26\u5618\u5504\u6B1D\u851A\u9C3B\u59E5\u53A9\u6D66\u74DC\u958F\u5642\u4E91\u904B\u96F2\u834F\u990C\u53E1\u55B6\u5B30\u5F71\u6620\u66F3\u6804\u6C38\u6CF3\u6D29\u745B\u76C8\u7A4E\u9834\u82F1\u885B\u8A60\u92ED\u6DB2\u75AB\u76CA\u99C5\u60A6\u8B01\u8D8A\u95B2\u698E\u53AD\u5186\u5712\u5830\u5944\u5BB4\u5EF6\u6028\u63A9\u63F4\u6CBF\u6F14\u708E\u7114\u7159\u71D5\u733F\u7E01\u8276\u82D1\u8597\u9060\u925B\u9D1B\u5869\u65BC\u6C5A\u7525\u51F9\u592E\u5965\u5F80\u5FDC"], + ["b2a1", "\u62BC\u65FA\u6A2A\u6B27\u6BB4\u738B\u7FC1\u8956\u9D2C\u9D0E\u9EC4\u5CA1\u6C96\u837B\u5104\u5C4B\u61B6\u81C6\u6876\u7261\u4E59\u4FFA\u5378\u6069\u6E29\u7A4F\u97F3\u4E0B\u5316\u4EEE\u4F55\u4F3D\u4FA1\u4F73\u52A0\u53EF\u5609\u590F\u5AC1\u5BB6\u5BE1\u79D1\u6687\u679C\u67B6\u6B4C\u6CB3\u706B\u73C2\u798D\u79BE\u7A3C\u7B87\u82B1\u82DB\u8304\u8377\u83EF\u83D3\u8766\u8AB2\u5629\u8CA8\u8FE6\u904E\u971E\u868A\u4FC4\u5CE8\u6211\u7259\u753B\u81E5\u82BD\u86FE\u8CC0\u96C5\u9913\u99D5\u4ECB\u4F1A\u89E3\u56DE\u584A\u58CA\u5EFB\u5FEB\u602A\u6094\u6062\u61D0\u6212\u62D0\u6539"], + ["b3a1", "\u9B41\u6666\u68B0\u6D77\u7070\u754C\u7686\u7D75\u82A5\u87F9\u958B\u968E\u8C9D\u51F1\u52BE\u5916\u54B3\u5BB3\u5D16\u6168\u6982\u6DAF\u788D\u84CB\u8857\u8A72\u93A7\u9AB8\u6D6C\u99A8\u86D9\u57A3\u67FF\u86CE\u920E\u5283\u5687\u5404\u5ED3\u62E1\u64B9\u683C\u6838\u6BBB\u7372\u78BA\u7A6B\u899A\u89D2\u8D6B\u8F03\u90ED\u95A3\u9694\u9769\u5B66\u5CB3\u697D\u984D\u984E\u639B\u7B20\u6A2B\u6A7F\u68B6\u9C0D\u6F5F\u5272\u559D\u6070\u62EC\u6D3B\u6E07\u6ED1\u845B\u8910\u8F44\u4E14\u9C39\u53F6\u691B\u6A3A\u9784\u682A\u515C\u7AC3\u84B2\u91DC\u938C\u565B\u9D28\u6822\u8305\u8431"], + ["b4a1", "\u7CA5\u5208\u82C5\u74E6\u4E7E\u4F83\u51A0\u5BD2\u520A\u52D8\u52E7\u5DFB\u559A\u582A\u59E6\u5B8C\u5B98\u5BDB\u5E72\u5E79\u60A3\u611F\u6163\u61BE\u63DB\u6562\u67D1\u6853\u68FA\u6B3E\u6B53\u6C57\u6F22\u6F97\u6F45\u74B0\u7518\u76E3\u770B\u7AFF\u7BA1\u7C21\u7DE9\u7F36\u7FF0\u809D\u8266\u839E\u89B3\u8ACC\u8CAB\u9084\u9451\u9593\u9591\u95A2\u9665\u97D3\u9928\u8218\u4E38\u542B\u5CB8\u5DCC\u73A9\u764C\u773C\u5CA9\u7FEB\u8D0B\u96C1\u9811\u9854\u9858\u4F01\u4F0E\u5371\u559C\u5668\u57FA\u5947\u5B09\u5BC4\u5C90\u5E0C\u5E7E\u5FCC\u63EE\u673A\u65D7\u65E2\u671F\u68CB\u68C4"], + ["b5a1", "\u6A5F\u5E30\u6BC5\u6C17\u6C7D\u757F\u7948\u5B63\u7A00\u7D00\u5FBD\u898F\u8A18\u8CB4\u8D77\u8ECC\u8F1D\u98E2\u9A0E\u9B3C\u4E80\u507D\u5100\u5993\u5B9C\u622F\u6280\u64EC\u6B3A\u72A0\u7591\u7947\u7FA9\u87FB\u8ABC\u8B70\u63AC\u83CA\u97A0\u5409\u5403\u55AB\u6854\u6A58\u8A70\u7827\u6775\u9ECD\u5374\u5BA2\u811A\u8650\u9006\u4E18\u4E45\u4EC7\u4F11\u53CA\u5438\u5BAE\u5F13\u6025\u6551\u673D\u6C42\u6C72\u6CE3\u7078\u7403\u7A76\u7AAE\u7B08\u7D1A\u7CFE\u7D66\u65E7\u725B\u53BB\u5C45\u5DE8\u62D2\u62E0\u6319\u6E20\u865A\u8A31\u8DDD\u92F8\u6F01\u79A6\u9B5A\u4EA8\u4EAB\u4EAC"], + ["b6a1", "\u4F9B\u4FA0\u50D1\u5147\u7AF6\u5171\u51F6\u5354\u5321\u537F\u53EB\u55AC\u5883\u5CE1\u5F37\u5F4A\u602F\u6050\u606D\u631F\u6559\u6A4B\u6CC1\u72C2\u72ED\u77EF\u80F8\u8105\u8208\u854E\u90F7\u93E1\u97FF\u9957\u9A5A\u4EF0\u51DD\u5C2D\u6681\u696D\u5C40\u66F2\u6975\u7389\u6850\u7C81\u50C5\u52E4\u5747\u5DFE\u9326\u65A4\u6B23\u6B3D\u7434\u7981\u79BD\u7B4B\u7DCA\u82B9\u83CC\u887F\u895F\u8B39\u8FD1\u91D1\u541F\u9280\u4E5D\u5036\u53E5\u533A\u72D7\u7396\u77E9\u82E6\u8EAF\u99C6\u99C8\u99D2\u5177\u611A\u865E\u55B0\u7A7A\u5076\u5BD3\u9047\u9685\u4E32\u6ADB\u91E7\u5C51\u5C48"], + ["b7a1", "\u6398\u7A9F\u6C93\u9774\u8F61\u7AAA\u718A\u9688\u7C82\u6817\u7E70\u6851\u936C\u52F2\u541B\u85AB\u8A13\u7FA4\u8ECD\u90E1\u5366\u8888\u7941\u4FC2\u50BE\u5211\u5144\u5553\u572D\u73EA\u578B\u5951\u5F62\u5F84\u6075\u6176\u6167\u61A9\u63B2\u643A\u656C\u666F\u6842\u6E13\u7566\u7A3D\u7CFB\u7D4C\u7D99\u7E4B\u7F6B\u830E\u834A\u86CD\u8A08\u8A63\u8B66\u8EFD\u981A\u9D8F\u82B8\u8FCE\u9BE8\u5287\u621F\u6483\u6FC0\u9699\u6841\u5091\u6B20\u6C7A\u6F54\u7A74\u7D50\u8840\u8A23\u6708\u4EF6\u5039\u5026\u5065\u517C\u5238\u5263\u55A7\u570F\u5805\u5ACC\u5EFA\u61B2\u61F8\u62F3\u6372"], + ["b8a1", "\u691C\u6A29\u727D\u72AC\u732E\u7814\u786F\u7D79\u770C\u80A9\u898B\u8B19\u8CE2\u8ED2\u9063\u9375\u967A\u9855\u9A13\u9E78\u5143\u539F\u53B3\u5E7B\u5F26\u6E1B\u6E90\u7384\u73FE\u7D43\u8237\u8A00\u8AFA\u9650\u4E4E\u500B\u53E4\u547C\u56FA\u59D1\u5B64\u5DF1\u5EAB\u5F27\u6238\u6545\u67AF\u6E56\u72D0\u7CCA\u88B4\u80A1\u80E1\u83F0\u864E\u8A87\u8DE8\u9237\u96C7\u9867\u9F13\u4E94\u4E92\u4F0D\u5348\u5449\u543E\u5A2F\u5F8C\u5FA1\u609F\u68A7\u6A8E\u745A\u7881\u8A9E\u8AA4\u8B77\u9190\u4E5E\u9BC9\u4EA4\u4F7C\u4FAF\u5019\u5016\u5149\u516C\u529F\u52B9\u52FE\u539A\u53E3\u5411"], + ["b9a1", "\u540E\u5589\u5751\u57A2\u597D\u5B54\u5B5D\u5B8F\u5DE5\u5DE7\u5DF7\u5E78\u5E83\u5E9A\u5EB7\u5F18\u6052\u614C\u6297\u62D8\u63A7\u653B\u6602\u6643\u66F4\u676D\u6821\u6897\u69CB\u6C5F\u6D2A\u6D69\u6E2F\u6E9D\u7532\u7687\u786C\u7A3F\u7CE0\u7D05\u7D18\u7D5E\u7DB1\u8015\u8003\u80AF\u80B1\u8154\u818F\u822A\u8352\u884C\u8861\u8B1B\u8CA2\u8CFC\u90CA\u9175\u9271\u783F\u92FC\u95A4\u964D\u9805\u9999\u9AD8\u9D3B\u525B\u52AB\u53F7\u5408\u58D5\u62F7\u6FE0\u8C6A\u8F5F\u9EB9\u514B\u523B\u544A\u56FD\u7A40\u9177\u9D60\u9ED2\u7344\u6F09\u8170\u7511\u5FFD\u60DA\u9AA8\u72DB\u8FBC"], + ["baa1", "\u6B64\u9803\u4ECA\u56F0\u5764\u58BE\u5A5A\u6068\u61C7\u660F\u6606\u6839\u68B1\u6DF7\u75D5\u7D3A\u826E\u9B42\u4E9B\u4F50\u53C9\u5506\u5D6F\u5DE6\u5DEE\u67FB\u6C99\u7473\u7802\u8A50\u9396\u88DF\u5750\u5EA7\u632B\u50B5\u50AC\u518D\u6700\u54C9\u585E\u59BB\u5BB0\u5F69\u624D\u63A1\u683D\u6B73\u6E08\u707D\u91C7\u7280\u7815\u7826\u796D\u658E\u7D30\u83DC\u88C1\u8F09\u969B\u5264\u5728\u6750\u7F6A\u8CA1\u51B4\u5742\u962A\u583A\u698A\u80B4\u54B2\u5D0E\u57FC\u7895\u9DFA\u4F5C\u524A\u548B\u643E\u6628\u6714\u67F5\u7A84\u7B56\u7D22\u932F\u685C\u9BAD\u7B39\u5319\u518A\u5237"], + ["bba1", "\u5BDF\u62F6\u64AE\u64E6\u672D\u6BBA\u85A9\u96D1\u7690\u9BD6\u634C\u9306\u9BAB\u76BF\u6652\u4E09\u5098\u53C2\u5C71\u60E8\u6492\u6563\u685F\u71E6\u73CA\u7523\u7B97\u7E82\u8695\u8B83\u8CDB\u9178\u9910\u65AC\u66AB\u6B8B\u4ED5\u4ED4\u4F3A\u4F7F\u523A\u53F8\u53F2\u55E3\u56DB\u58EB\u59CB\u59C9\u59FF\u5B50\u5C4D\u5E02\u5E2B\u5FD7\u601D\u6307\u652F\u5B5C\u65AF\u65BD\u65E8\u679D\u6B62\u6B7B\u6C0F\u7345\u7949\u79C1\u7CF8\u7D19\u7D2B\u80A2\u8102\u81F3\u8996\u8A5E\u8A69\u8A66\u8A8C\u8AEE\u8CC7\u8CDC\u96CC\u98FC\u6B6F\u4E8B\u4F3C\u4F8D\u5150\u5B57\u5BFA\u6148\u6301\u6642"], + ["bca1", "\u6B21\u6ECB\u6CBB\u723E\u74BD\u75D4\u78C1\u793A\u800C\u8033\u81EA\u8494\u8F9E\u6C50\u9E7F\u5F0F\u8B58\u9D2B\u7AFA\u8EF8\u5B8D\u96EB\u4E03\u53F1\u57F7\u5931\u5AC9\u5BA4\u6089\u6E7F\u6F06\u75BE\u8CEA\u5B9F\u8500\u7BE0\u5072\u67F4\u829D\u5C61\u854A\u7E1E\u820E\u5199\u5C04\u6368\u8D66\u659C\u716E\u793E\u7D17\u8005\u8B1D\u8ECA\u906E\u86C7\u90AA\u501F\u52FA\u5C3A\u6753\u707C\u7235\u914C\u91C8\u932B\u82E5\u5BC2\u5F31\u60F9\u4E3B\u53D6\u5B88\u624B\u6731\u6B8A\u72E9\u73E0\u7A2E\u816B\u8DA3\u9152\u9996\u5112\u53D7\u546A\u5BFF\u6388\u6A39\u7DAC\u9700\u56DA\u53CE\u5468"], + ["bda1", "\u5B97\u5C31\u5DDE\u4FEE\u6101\u62FE\u6D32\u79C0\u79CB\u7D42\u7E4D\u7FD2\u81ED\u821F\u8490\u8846\u8972\u8B90\u8E74\u8F2F\u9031\u914B\u916C\u96C6\u919C\u4EC0\u4F4F\u5145\u5341\u5F93\u620E\u67D4\u6C41\u6E0B\u7363\u7E26\u91CD\u9283\u53D4\u5919\u5BBF\u6DD1\u795D\u7E2E\u7C9B\u587E\u719F\u51FA\u8853\u8FF0\u4FCA\u5CFB\u6625\u77AC\u7AE3\u821C\u99FF\u51C6\u5FAA\u65EC\u696F\u6B89\u6DF3\u6E96\u6F64\u76FE\u7D14\u5DE1\u9075\u9187\u9806\u51E6\u521D\u6240\u6691\u66D9\u6E1A\u5EB6\u7DD2\u7F72\u66F8\u85AF\u85F7\u8AF8\u52A9\u53D9\u5973\u5E8F\u5F90\u6055\u92E4\u9664\u50B7\u511F"], + ["bea1", "\u52DD\u5320\u5347\u53EC\u54E8\u5546\u5531\u5617\u5968\u59BE\u5A3C\u5BB5\u5C06\u5C0F\u5C11\u5C1A\u5E84\u5E8A\u5EE0\u5F70\u627F\u6284\u62DB\u638C\u6377\u6607\u660C\u662D\u6676\u677E\u68A2\u6A1F\u6A35\u6CBC\u6D88\u6E09\u6E58\u713C\u7126\u7167\u75C7\u7701\u785D\u7901\u7965\u79F0\u7AE0\u7B11\u7CA7\u7D39\u8096\u83D6\u848B\u8549\u885D\u88F3\u8A1F\u8A3C\u8A54\u8A73\u8C61\u8CDE\u91A4\u9266\u937E\u9418\u969C\u9798\u4E0A\u4E08\u4E1E\u4E57\u5197\u5270\u57CE\u5834\u58CC\u5B22\u5E38\u60C5\u64FE\u6761\u6756\u6D44\u72B6\u7573\u7A63\u84B8\u8B72\u91B8\u9320\u5631\u57F4\u98FE"], + ["bfa1", "\u62ED\u690D\u6B96\u71ED\u7E54\u8077\u8272\u89E6\u98DF\u8755\u8FB1\u5C3B\u4F38\u4FE1\u4FB5\u5507\u5A20\u5BDD\u5BE9\u5FC3\u614E\u632F\u65B0\u664B\u68EE\u699B\u6D78\u6DF1\u7533\u75B9\u771F\u795E\u79E6\u7D33\u81E3\u82AF\u85AA\u89AA\u8A3A\u8EAB\u8F9B\u9032\u91DD\u9707\u4EBA\u4EC1\u5203\u5875\u58EC\u5C0B\u751A\u5C3D\u814E\u8A0A\u8FC5\u9663\u976D\u7B25\u8ACF\u9808\u9162\u56F3\u53A8\u9017\u5439\u5782\u5E25\u63A8\u6C34\u708A\u7761\u7C8B\u7FE0\u8870\u9042\u9154\u9310\u9318\u968F\u745E\u9AC4\u5D07\u5D69\u6570\u67A2\u8DA8\u96DB\u636E\u6749\u6919\u83C5\u9817\u96C0\u88FE"], + ["c0a1", "\u6F84\u647A\u5BF8\u4E16\u702C\u755D\u662F\u51C4\u5236\u52E2\u59D3\u5F81\u6027\u6210\u653F\u6574\u661F\u6674\u68F2\u6816\u6B63\u6E05\u7272\u751F\u76DB\u7CBE\u8056\u58F0\u88FD\u897F\u8AA0\u8A93\u8ACB\u901D\u9192\u9752\u9759\u6589\u7A0E\u8106\u96BB\u5E2D\u60DC\u621A\u65A5\u6614\u6790\u77F3\u7A4D\u7C4D\u7E3E\u810A\u8CAC\u8D64\u8DE1\u8E5F\u78A9\u5207\u62D9\u63A5\u6442\u6298\u8A2D\u7A83\u7BC0\u8AAC\u96EA\u7D76\u820C\u8749\u4ED9\u5148\u5343\u5360\u5BA3\u5C02\u5C16\u5DDD\u6226\u6247\u64B0\u6813\u6834\u6CC9\u6D45\u6D17\u67D3\u6F5C\u714E\u717D\u65CB\u7A7F\u7BAD\u7DDA"], + ["c1a1", "\u7E4A\u7FA8\u817A\u821B\u8239\u85A6\u8A6E\u8CCE\u8DF5\u9078\u9077\u92AD\u9291\u9583\u9BAE\u524D\u5584\u6F38\u7136\u5168\u7985\u7E55\u81B3\u7CCE\u564C\u5851\u5CA8\u63AA\u66FE\u66FD\u695A\u72D9\u758F\u758E\u790E\u7956\u79DF\u7C97\u7D20\u7D44\u8607\u8A34\u963B\u9061\u9F20\u50E7\u5275\u53CC\u53E2\u5009\u55AA\u58EE\u594F\u723D\u5B8B\u5C64\u531D\u60E3\u60F3\u635C\u6383\u633F\u63BB\u64CD\u65E9\u66F9\u5DE3\u69CD\u69FD\u6F15\u71E5\u4E89\u75E9\u76F8\u7A93\u7CDF\u7DCF\u7D9C\u8061\u8349\u8358\u846C\u84BC\u85FB\u88C5\u8D70\u9001\u906D\u9397\u971C\u9A12\u50CF\u5897\u618E"], + ["c2a1", "\u81D3\u8535\u8D08\u9020\u4FC3\u5074\u5247\u5373\u606F\u6349\u675F\u6E2C\u8DB3\u901F\u4FD7\u5C5E\u8CCA\u65CF\u7D9A\u5352\u8896\u5176\u63C3\u5B58\u5B6B\u5C0A\u640D\u6751\u905C\u4ED6\u591A\u592A\u6C70\u8A51\u553E\u5815\u59A5\u60F0\u6253\u67C1\u8235\u6955\u9640\u99C4\u9A28\u4F53\u5806\u5BFE\u8010\u5CB1\u5E2F\u5F85\u6020\u614B\u6234\u66FF\u6CF0\u6EDE\u80CE\u817F\u82D4\u888B\u8CB8\u9000\u902E\u968A\u9EDB\u9BDB\u4EE3\u53F0\u5927\u7B2C\u918D\u984C\u9DF9\u6EDD\u7027\u5353\u5544\u5B85\u6258\u629E\u62D3\u6CA2\u6FEF\u7422\u8A17\u9438\u6FC1\u8AFE\u8338\u51E7\u86F8\u53EA"], + ["c3a1", "\u53E9\u4F46\u9054\u8FB0\u596A\u8131\u5DFD\u7AEA\u8FBF\u68DA\u8C37\u72F8\u9C48\u6A3D\u8AB0\u4E39\u5358\u5606\u5766\u62C5\u63A2\u65E6\u6B4E\u6DE1\u6E5B\u70AD\u77ED\u7AEF\u7BAA\u7DBB\u803D\u80C6\u86CB\u8A95\u935B\u56E3\u58C7\u5F3E\u65AD\u6696\u6A80\u6BB5\u7537\u8AC7\u5024\u77E5\u5730\u5F1B\u6065\u667A\u6C60\u75F4\u7A1A\u7F6E\u81F4\u8718\u9045\u99B3\u7BC9\u755C\u7AF9\u7B51\u84C4\u9010\u79E9\u7A92\u8336\u5AE1\u7740\u4E2D\u4EF2\u5B99\u5FE0\u62BD\u663C\u67F1\u6CE8\u866B\u8877\u8A3B\u914E\u92F3\u99D0\u6A17\u7026\u732A\u82E7\u8457\u8CAF\u4E01\u5146\u51CB\u558B\u5BF5"], + ["c4a1", "\u5E16\u5E33\u5E81\u5F14\u5F35\u5F6B\u5FB4\u61F2\u6311\u66A2\u671D\u6F6E\u7252\u753A\u773A\u8074\u8139\u8178\u8776\u8ABF\u8ADC\u8D85\u8DF3\u929A\u9577\u9802\u9CE5\u52C5\u6357\u76F4\u6715\u6C88\u73CD\u8CC3\u93AE\u9673\u6D25\u589C\u690E\u69CC\u8FFD\u939A\u75DB\u901A\u585A\u6802\u63B4\u69FB\u4F43\u6F2C\u67D8\u8FBB\u8526\u7DB4\u9354\u693F\u6F70\u576A\u58F7\u5B2C\u7D2C\u722A\u540A\u91E3\u9DB4\u4EAD\u4F4E\u505C\u5075\u5243\u8C9E\u5448\u5824\u5B9A\u5E1D\u5E95\u5EAD\u5EF7\u5F1F\u608C\u62B5\u633A\u63D0\u68AF\u6C40\u7887\u798E\u7A0B\u7DE0\u8247\u8A02\u8AE6\u8E44\u9013"], + ["c5a1", "\u90B8\u912D\u91D8\u9F0E\u6CE5\u6458\u64E2\u6575\u6EF4\u7684\u7B1B\u9069\u93D1\u6EBA\u54F2\u5FB9\u64A4\u8F4D\u8FED\u9244\u5178\u586B\u5929\u5C55\u5E97\u6DFB\u7E8F\u751C\u8CBC\u8EE2\u985B\u70B9\u4F1D\u6BBF\u6FB1\u7530\u96FB\u514E\u5410\u5835\u5857\u59AC\u5C60\u5F92\u6597\u675C\u6E21\u767B\u83DF\u8CED\u9014\u90FD\u934D\u7825\u783A\u52AA\u5EA6\u571F\u5974\u6012\u5012\u515A\u51AC\u51CD\u5200\u5510\u5854\u5858\u5957\u5B95\u5CF6\u5D8B\u60BC\u6295\u642D\u6771\u6843\u68BC\u68DF\u76D7\u6DD8\u6E6F\u6D9B\u706F\u71C8\u5F53\u75D8\u7977\u7B49\u7B54\u7B52\u7CD6\u7D71\u5230"], + ["c6a1", "\u8463\u8569\u85E4\u8A0E\u8B04\u8C46\u8E0F\u9003\u900F\u9419\u9676\u982D\u9A30\u95D8\u50CD\u52D5\u540C\u5802\u5C0E\u61A7\u649E\u6D1E\u77B3\u7AE5\u80F4\u8404\u9053\u9285\u5CE0\u9D07\u533F\u5F97\u5FB3\u6D9C\u7279\u7763\u79BF\u7BE4\u6BD2\u72EC\u8AAD\u6803\u6A61\u51F8\u7A81\u6934\u5C4A\u9CF6\u82EB\u5BC5\u9149\u701E\u5678\u5C6F\u60C7\u6566\u6C8C\u8C5A\u9041\u9813\u5451\u66C7\u920D\u5948\u90A3\u5185\u4E4D\u51EA\u8599\u8B0E\u7058\u637A\u934B\u6962\u99B4\u7E04\u7577\u5357\u6960\u8EDF\u96E3\u6C5D\u4E8C\u5C3C\u5F10\u8FE9\u5302\u8CD1\u8089\u8679\u5EFF\u65E5\u4E73\u5165"], + ["c7a1", "\u5982\u5C3F\u97EE\u4EFB\u598A\u5FCD\u8A8D\u6FE1\u79B0\u7962\u5BE7\u8471\u732B\u71B1\u5E74\u5FF5\u637B\u649A\u71C3\u7C98\u4E43\u5EFC\u4E4B\u57DC\u56A2\u60A9\u6FC3\u7D0D\u80FD\u8133\u81BF\u8FB2\u8997\u86A4\u5DF4\u628A\u64AD\u8987\u6777\u6CE2\u6D3E\u7436\u7834\u5A46\u7F75\u82AD\u99AC\u4FF3\u5EC3\u62DD\u6392\u6557\u676F\u76C3\u724C\u80CC\u80BA\u8F29\u914D\u500D\u57F9\u5A92\u6885\u6973\u7164\u72FD\u8CB7\u58F2\u8CE0\u966A\u9019\u877F\u79E4\u77E7\u8429\u4F2F\u5265\u535A\u62CD\u67CF\u6CCA\u767D\u7B94\u7C95\u8236\u8584\u8FEB\u66DD\u6F20\u7206\u7E1B\u83AB\u99C1\u9EA6"], + ["c8a1", "\u51FD\u7BB1\u7872\u7BB8\u8087\u7B48\u6AE8\u5E61\u808C\u7551\u7560\u516B\u9262\u6E8C\u767A\u9197\u9AEA\u4F10\u7F70\u629C\u7B4F\u95A5\u9CE9\u567A\u5859\u86E4\u96BC\u4F34\u5224\u534A\u53CD\u53DB\u5E06\u642C\u6591\u677F\u6C3E\u6C4E\u7248\u72AF\u73ED\u7554\u7E41\u822C\u85E9\u8CA9\u7BC4\u91C6\u7169\u9812\u98EF\u633D\u6669\u756A\u76E4\u78D0\u8543\u86EE\u532A\u5351\u5426\u5983\u5E87\u5F7C\u60B2\u6249\u6279\u62AB\u6590\u6BD4\u6CCC\u75B2\u76AE\u7891\u79D8\u7DCB\u7F77\u80A5\u88AB\u8AB9\u8CBB\u907F\u975E\u98DB\u6A0B\u7C38\u5099\u5C3E\u5FAE\u6787\u6BD8\u7435\u7709\u7F8E"], + ["c9a1", "\u9F3B\u67CA\u7A17\u5339\u758B\u9AED\u5F66\u819D\u83F1\u8098\u5F3C\u5FC5\u7562\u7B46\u903C\u6867\u59EB\u5A9B\u7D10\u767E\u8B2C\u4FF5\u5F6A\u6A19\u6C37\u6F02\u74E2\u7968\u8868\u8A55\u8C79\u5EDF\u63CF\u75C5\u79D2\u82D7\u9328\u92F2\u849C\u86ED\u9C2D\u54C1\u5F6C\u658C\u6D5C\u7015\u8CA7\u8CD3\u983B\u654F\u74F6\u4E0D\u4ED8\u57E0\u592B\u5A66\u5BCC\u51A8\u5E03\u5E9C\u6016\u6276\u6577\u65A7\u666E\u6D6E\u7236\u7B26\u8150\u819A\u8299\u8B5C\u8CA0\u8CE6\u8D74\u961C\u9644\u4FAE\u64AB\u6B66\u821E\u8461\u856A\u90E8\u5C01\u6953\u98A8\u847A\u8557\u4F0F\u526F\u5FA9\u5E45\u670D"], + ["caa1", "\u798F\u8179\u8907\u8986\u6DF5\u5F17\u6255\u6CB8\u4ECF\u7269\u9B92\u5206\u543B\u5674\u58B3\u61A4\u626E\u711A\u596E\u7C89\u7CDE\u7D1B\u96F0\u6587\u805E\u4E19\u4F75\u5175\u5840\u5E63\u5E73\u5F0A\u67C4\u4E26\u853D\u9589\u965B\u7C73\u9801\u50FB\u58C1\u7656\u78A7\u5225\u77A5\u8511\u7B86\u504F\u5909\u7247\u7BC7\u7DE8\u8FBA\u8FD4\u904D\u4FBF\u52C9\u5A29\u5F01\u97AD\u4FDD\u8217\u92EA\u5703\u6355\u6B69\u752B\u88DC\u8F14\u7A42\u52DF\u5893\u6155\u620A\u66AE\u6BCD\u7C3F\u83E9\u5023\u4FF8\u5305\u5446\u5831\u5949\u5B9D\u5CF0\u5CEF\u5D29\u5E96\u62B1\u6367\u653E\u65B9\u670B"], + ["cba1", "\u6CD5\u6CE1\u70F9\u7832\u7E2B\u80DE\u82B3\u840C\u84EC\u8702\u8912\u8A2A\u8C4A\u90A6\u92D2\u98FD\u9CF3\u9D6C\u4E4F\u4EA1\u508D\u5256\u574A\u59A8\u5E3D\u5FD8\u5FD9\u623F\u66B4\u671B\u67D0\u68D2\u5192\u7D21\u80AA\u81A8\u8B00\u8C8C\u8CBF\u927E\u9632\u5420\u982C\u5317\u50D5\u535C\u58A8\u64B2\u6734\u7267\u7766\u7A46\u91E6\u52C3\u6CA1\u6B86\u5800\u5E4C\u5954\u672C\u7FFB\u51E1\u76C6\u6469\u78E8\u9B54\u9EBB\u57CB\u59B9\u6627\u679A\u6BCE\u54E9\u69D9\u5E55\u819C\u6795\u9BAA\u67FE\u9C52\u685D\u4EA6\u4FE3\u53C8\u62B9\u672B\u6CAB\u8FC4\u4FAD\u7E6D\u9EBF\u4E07\u6162\u6E80"], + ["cca1", "\u6F2B\u8513\u5473\u672A\u9B45\u5DF3\u7B95\u5CAC\u5BC6\u871C\u6E4A\u84D1\u7A14\u8108\u5999\u7C8D\u6C11\u7720\u52D9\u5922\u7121\u725F\u77DB\u9727\u9D61\u690B\u5A7F\u5A18\u51A5\u540D\u547D\u660E\u76DF\u8FF7\u9298\u9CF4\u59EA\u725D\u6EC5\u514D\u68C9\u7DBF\u7DEC\u9762\u9EBA\u6478\u6A21\u8302\u5984\u5B5F\u6BDB\u731B\u76F2\u7DB2\u8017\u8499\u5132\u6728\u9ED9\u76EE\u6762\u52FF\u9905\u5C24\u623B\u7C7E\u8CB0\u554F\u60B6\u7D0B\u9580\u5301\u4E5F\u51B6\u591C\u723A\u8036\u91CE\u5F25\u77E2\u5384\u5F79\u7D04\u85AC\u8A33\u8E8D\u9756\u67F3\u85AE\u9453\u6109\u6108\u6CB9\u7652"], + ["cda1", "\u8AED\u8F38\u552F\u4F51\u512A\u52C7\u53CB\u5BA5\u5E7D\u60A0\u6182\u63D6\u6709\u67DA\u6E67\u6D8C\u7336\u7337\u7531\u7950\u88D5\u8A98\u904A\u9091\u90F5\u96C4\u878D\u5915\u4E88\u4F59\u4E0E\u8A89\u8F3F\u9810\u50AD\u5E7C\u5996\u5BB9\u5EB8\u63DA\u63FA\u64C1\u66DC\u694A\u69D8\u6D0B\u6EB6\u7194\u7528\u7AAF\u7F8A\u8000\u8449\u84C9\u8981\u8B21\u8E0A\u9065\u967D\u990A\u617E\u6291\u6B32\u6C83\u6D74\u7FCC\u7FFC\u6DC0\u7F85\u87BA\u88F8\u6765\u83B1\u983C\u96F7\u6D1B\u7D61\u843D\u916A\u4E71\u5375\u5D50\u6B04\u6FEB\u85CD\u862D\u89A7\u5229\u540F\u5C65\u674E\u68A8\u7406\u7483"], + ["cea1", "\u75E2\u88CF\u88E1\u91CC\u96E2\u9678\u5F8B\u7387\u7ACB\u844E\u63A0\u7565\u5289\u6D41\u6E9C\u7409\u7559\u786B\u7C92\u9686\u7ADC\u9F8D\u4FB6\u616E\u65C5\u865C\u4E86\u4EAE\u50DA\u4E21\u51CC\u5BEE\u6599\u6881\u6DBC\u731F\u7642\u77AD\u7A1C\u7CE7\u826F\u8AD2\u907C\u91CF\u9675\u9818\u529B\u7DD1\u502B\u5398\u6797\u6DCB\u71D0\u7433\u81E8\u8F2A\u96A3\u9C57\u9E9F\u7460\u5841\u6D99\u7D2F\u985E\u4EE4\u4F36\u4F8B\u51B7\u52B1\u5DBA\u601C\u73B2\u793C\u82D3\u9234\u96B7\u96F6\u970A\u9E97\u9F62\u66A6\u6B74\u5217\u52A3\u70C8\u88C2\u5EC9\u604B\u6190\u6F23\u7149\u7C3E\u7DF4\u806F"], + ["cfa1", "\u84EE\u9023\u932C\u5442\u9B6F\u6AD3\u7089\u8CC2\u8DEF\u9732\u52B4\u5A41\u5ECA\u5F04\u6717\u697C\u6994\u6D6A\u6F0F\u7262\u72FC\u7BED\u8001\u807E\u874B\u90CE\u516D\u9E93\u7984\u808B\u9332\u8AD6\u502D\u548C\u8A71\u6B6A\u8CC4\u8107\u60D1\u67A0\u9DF2\u4E99\u4E98\u9C10\u8A6B\u85C1\u8568\u6900\u6E7E\u7897\u8155"], + ["d0a1", "\u5F0C\u4E10\u4E15\u4E2A\u4E31\u4E36\u4E3C\u4E3F\u4E42\u4E56\u4E58\u4E82\u4E85\u8C6B\u4E8A\u8212\u5F0D\u4E8E\u4E9E\u4E9F\u4EA0\u4EA2\u4EB0\u4EB3\u4EB6\u4ECE\u4ECD\u4EC4\u4EC6\u4EC2\u4ED7\u4EDE\u4EED\u4EDF\u4EF7\u4F09\u4F5A\u4F30\u4F5B\u4F5D\u4F57\u4F47\u4F76\u4F88\u4F8F\u4F98\u4F7B\u4F69\u4F70\u4F91\u4F6F\u4F86\u4F96\u5118\u4FD4\u4FDF\u4FCE\u4FD8\u4FDB\u4FD1\u4FDA\u4FD0\u4FE4\u4FE5\u501A\u5028\u5014\u502A\u5025\u5005\u4F1C\u4FF6\u5021\u5029\u502C\u4FFE\u4FEF\u5011\u5006\u5043\u5047\u6703\u5055\u5050\u5048\u505A\u5056\u506C\u5078\u5080\u509A\u5085\u50B4\u50B2"], + ["d1a1", "\u50C9\u50CA\u50B3\u50C2\u50D6\u50DE\u50E5\u50ED\u50E3\u50EE\u50F9\u50F5\u5109\u5101\u5102\u5116\u5115\u5114\u511A\u5121\u513A\u5137\u513C\u513B\u513F\u5140\u5152\u514C\u5154\u5162\u7AF8\u5169\u516A\u516E\u5180\u5182\u56D8\u518C\u5189\u518F\u5191\u5193\u5195\u5196\u51A4\u51A6\u51A2\u51A9\u51AA\u51AB\u51B3\u51B1\u51B2\u51B0\u51B5\u51BD\u51C5\u51C9\u51DB\u51E0\u8655\u51E9\u51ED\u51F0\u51F5\u51FE\u5204\u520B\u5214\u520E\u5227\u522A\u522E\u5233\u5239\u524F\u5244\u524B\u524C\u525E\u5254\u526A\u5274\u5269\u5273\u527F\u527D\u528D\u5294\u5292\u5271\u5288\u5291\u8FA8"], + ["d2a1", "\u8FA7\u52AC\u52AD\u52BC\u52B5\u52C1\u52CD\u52D7\u52DE\u52E3\u52E6\u98ED\u52E0\u52F3\u52F5\u52F8\u52F9\u5306\u5308\u7538\u530D\u5310\u530F\u5315\u531A\u5323\u532F\u5331\u5333\u5338\u5340\u5346\u5345\u4E17\u5349\u534D\u51D6\u535E\u5369\u536E\u5918\u537B\u5377\u5382\u5396\u53A0\u53A6\u53A5\u53AE\u53B0\u53B6\u53C3\u7C12\u96D9\u53DF\u66FC\u71EE\u53EE\u53E8\u53ED\u53FA\u5401\u543D\u5440\u542C\u542D\u543C\u542E\u5436\u5429\u541D\u544E\u548F\u5475\u548E\u545F\u5471\u5477\u5470\u5492\u547B\u5480\u5476\u5484\u5490\u5486\u54C7\u54A2\u54B8\u54A5\u54AC\u54C4\u54C8\u54A8"], + ["d3a1", "\u54AB\u54C2\u54A4\u54BE\u54BC\u54D8\u54E5\u54E6\u550F\u5514\u54FD\u54EE\u54ED\u54FA\u54E2\u5539\u5540\u5563\u554C\u552E\u555C\u5545\u5556\u5557\u5538\u5533\u555D\u5599\u5580\u54AF\u558A\u559F\u557B\u557E\u5598\u559E\u55AE\u557C\u5583\u55A9\u5587\u55A8\u55DA\u55C5\u55DF\u55C4\u55DC\u55E4\u55D4\u5614\u55F7\u5616\u55FE\u55FD\u561B\u55F9\u564E\u5650\u71DF\u5634\u5636\u5632\u5638\u566B\u5664\u562F\u566C\u566A\u5686\u5680\u568A\u56A0\u5694\u568F\u56A5\u56AE\u56B6\u56B4\u56C2\u56BC\u56C1\u56C3\u56C0\u56C8\u56CE\u56D1\u56D3\u56D7\u56EE\u56F9\u5700\u56FF\u5704\u5709"], + ["d4a1", "\u5708\u570B\u570D\u5713\u5718\u5716\u55C7\u571C\u5726\u5737\u5738\u574E\u573B\u5740\u574F\u5769\u57C0\u5788\u5761\u577F\u5789\u5793\u57A0\u57B3\u57A4\u57AA\u57B0\u57C3\u57C6\u57D4\u57D2\u57D3\u580A\u57D6\u57E3\u580B\u5819\u581D\u5872\u5821\u5862\u584B\u5870\u6BC0\u5852\u583D\u5879\u5885\u58B9\u589F\u58AB\u58BA\u58DE\u58BB\u58B8\u58AE\u58C5\u58D3\u58D1\u58D7\u58D9\u58D8\u58E5\u58DC\u58E4\u58DF\u58EF\u58FA\u58F9\u58FB\u58FC\u58FD\u5902\u590A\u5910\u591B\u68A6\u5925\u592C\u592D\u5932\u5938\u593E\u7AD2\u5955\u5950\u594E\u595A\u5958\u5962\u5960\u5967\u596C\u5969"], + ["d5a1", "\u5978\u5981\u599D\u4F5E\u4FAB\u59A3\u59B2\u59C6\u59E8\u59DC\u598D\u59D9\u59DA\u5A25\u5A1F\u5A11\u5A1C\u5A09\u5A1A\u5A40\u5A6C\u5A49\u5A35\u5A36\u5A62\u5A6A\u5A9A\u5ABC\u5ABE\u5ACB\u5AC2\u5ABD\u5AE3\u5AD7\u5AE6\u5AE9\u5AD6\u5AFA\u5AFB\u5B0C\u5B0B\u5B16\u5B32\u5AD0\u5B2A\u5B36\u5B3E\u5B43\u5B45\u5B40\u5B51\u5B55\u5B5A\u5B5B\u5B65\u5B69\u5B70\u5B73\u5B75\u5B78\u6588\u5B7A\u5B80\u5B83\u5BA6\u5BB8\u5BC3\u5BC7\u5BC9\u5BD4\u5BD0\u5BE4\u5BE6\u5BE2\u5BDE\u5BE5\u5BEB\u5BF0\u5BF6\u5BF3\u5C05\u5C07\u5C08\u5C0D\u5C13\u5C20\u5C22\u5C28\u5C38\u5C39\u5C41\u5C46\u5C4E\u5C53"], + ["d6a1", "\u5C50\u5C4F\u5B71\u5C6C\u5C6E\u4E62\u5C76\u5C79\u5C8C\u5C91\u5C94\u599B\u5CAB\u5CBB\u5CB6\u5CBC\u5CB7\u5CC5\u5CBE\u5CC7\u5CD9\u5CE9\u5CFD\u5CFA\u5CED\u5D8C\u5CEA\u5D0B\u5D15\u5D17\u5D5C\u5D1F\u5D1B\u5D11\u5D14\u5D22\u5D1A\u5D19\u5D18\u5D4C\u5D52\u5D4E\u5D4B\u5D6C\u5D73\u5D76\u5D87\u5D84\u5D82\u5DA2\u5D9D\u5DAC\u5DAE\u5DBD\u5D90\u5DB7\u5DBC\u5DC9\u5DCD\u5DD3\u5DD2\u5DD6\u5DDB\u5DEB\u5DF2\u5DF5\u5E0B\u5E1A\u5E19\u5E11\u5E1B\u5E36\u5E37\u5E44\u5E43\u5E40\u5E4E\u5E57\u5E54\u5E5F\u5E62\u5E64\u5E47\u5E75\u5E76\u5E7A\u9EBC\u5E7F\u5EA0\u5EC1\u5EC2\u5EC8\u5ED0\u5ECF"], + ["d7a1", "\u5ED6\u5EE3\u5EDD\u5EDA\u5EDB\u5EE2\u5EE1\u5EE8\u5EE9\u5EEC\u5EF1\u5EF3\u5EF0\u5EF4\u5EF8\u5EFE\u5F03\u5F09\u5F5D\u5F5C\u5F0B\u5F11\u5F16\u5F29\u5F2D\u5F38\u5F41\u5F48\u5F4C\u5F4E\u5F2F\u5F51\u5F56\u5F57\u5F59\u5F61\u5F6D\u5F73\u5F77\u5F83\u5F82\u5F7F\u5F8A\u5F88\u5F91\u5F87\u5F9E\u5F99\u5F98\u5FA0\u5FA8\u5FAD\u5FBC\u5FD6\u5FFB\u5FE4\u5FF8\u5FF1\u5FDD\u60B3\u5FFF\u6021\u6060\u6019\u6010\u6029\u600E\u6031\u601B\u6015\u602B\u6026\u600F\u603A\u605A\u6041\u606A\u6077\u605F\u604A\u6046\u604D\u6063\u6043\u6064\u6042\u606C\u606B\u6059\u6081\u608D\u60E7\u6083\u609A"], + ["d8a1", "\u6084\u609B\u6096\u6097\u6092\u60A7\u608B\u60E1\u60B8\u60E0\u60D3\u60B4\u5FF0\u60BD\u60C6\u60B5\u60D8\u614D\u6115\u6106\u60F6\u60F7\u6100\u60F4\u60FA\u6103\u6121\u60FB\u60F1\u610D\u610E\u6147\u613E\u6128\u6127\u614A\u613F\u613C\u612C\u6134\u613D\u6142\u6144\u6173\u6177\u6158\u6159\u615A\u616B\u6174\u616F\u6165\u6171\u615F\u615D\u6153\u6175\u6199\u6196\u6187\u61AC\u6194\u619A\u618A\u6191\u61AB\u61AE\u61CC\u61CA\u61C9\u61F7\u61C8\u61C3\u61C6\u61BA\u61CB\u7F79\u61CD\u61E6\u61E3\u61F6\u61FA\u61F4\u61FF\u61FD\u61FC\u61FE\u6200\u6208\u6209\u620D\u620C\u6214\u621B"], + ["d9a1", "\u621E\u6221\u622A\u622E\u6230\u6232\u6233\u6241\u624E\u625E\u6263\u625B\u6260\u6268\u627C\u6282\u6289\u627E\u6292\u6293\u6296\u62D4\u6283\u6294\u62D7\u62D1\u62BB\u62CF\u62FF\u62C6\u64D4\u62C8\u62DC\u62CC\u62CA\u62C2\u62C7\u629B\u62C9\u630C\u62EE\u62F1\u6327\u6302\u6308\u62EF\u62F5\u6350\u633E\u634D\u641C\u634F\u6396\u638E\u6380\u63AB\u6376\u63A3\u638F\u6389\u639F\u63B5\u636B\u6369\u63BE\u63E9\u63C0\u63C6\u63E3\u63C9\u63D2\u63F6\u63C4\u6416\u6434\u6406\u6413\u6426\u6436\u651D\u6417\u6428\u640F\u6467\u646F\u6476\u644E\u652A\u6495\u6493\u64A5\u64A9\u6488\u64BC"], + ["daa1", "\u64DA\u64D2\u64C5\u64C7\u64BB\u64D8\u64C2\u64F1\u64E7\u8209\u64E0\u64E1\u62AC\u64E3\u64EF\u652C\u64F6\u64F4\u64F2\u64FA\u6500\u64FD\u6518\u651C\u6505\u6524\u6523\u652B\u6534\u6535\u6537\u6536\u6538\u754B\u6548\u6556\u6555\u654D\u6558\u655E\u655D\u6572\u6578\u6582\u6583\u8B8A\u659B\u659F\u65AB\u65B7\u65C3\u65C6\u65C1\u65C4\u65CC\u65D2\u65DB\u65D9\u65E0\u65E1\u65F1\u6772\u660A\u6603\u65FB\u6773\u6635\u6636\u6634\u661C\u664F\u6644\u6649\u6641\u665E\u665D\u6664\u6667\u6668\u665F\u6662\u6670\u6683\u6688\u668E\u6689\u6684\u6698\u669D\u66C1\u66B9\u66C9\u66BE\u66BC"], + ["dba1", "\u66C4\u66B8\u66D6\u66DA\u66E0\u663F\u66E6\u66E9\u66F0\u66F5\u66F7\u670F\u6716\u671E\u6726\u6727\u9738\u672E\u673F\u6736\u6741\u6738\u6737\u6746\u675E\u6760\u6759\u6763\u6764\u6789\u6770\u67A9\u677C\u676A\u678C\u678B\u67A6\u67A1\u6785\u67B7\u67EF\u67B4\u67EC\u67B3\u67E9\u67B8\u67E4\u67DE\u67DD\u67E2\u67EE\u67B9\u67CE\u67C6\u67E7\u6A9C\u681E\u6846\u6829\u6840\u684D\u6832\u684E\u68B3\u682B\u6859\u6863\u6877\u687F\u689F\u688F\u68AD\u6894\u689D\u689B\u6883\u6AAE\u68B9\u6874\u68B5\u68A0\u68BA\u690F\u688D\u687E\u6901\u68CA\u6908\u68D8\u6922\u6926\u68E1\u690C\u68CD"], + ["dca1", "\u68D4\u68E7\u68D5\u6936\u6912\u6904\u68D7\u68E3\u6925\u68F9\u68E0\u68EF\u6928\u692A\u691A\u6923\u6921\u68C6\u6979\u6977\u695C\u6978\u696B\u6954\u697E\u696E\u6939\u6974\u693D\u6959\u6930\u6961\u695E\u695D\u6981\u696A\u69B2\u69AE\u69D0\u69BF\u69C1\u69D3\u69BE\u69CE\u5BE8\u69CA\u69DD\u69BB\u69C3\u69A7\u6A2E\u6991\u69A0\u699C\u6995\u69B4\u69DE\u69E8\u6A02\u6A1B\u69FF\u6B0A\u69F9\u69F2\u69E7\u6A05\u69B1\u6A1E\u69ED\u6A14\u69EB\u6A0A\u6A12\u6AC1\u6A23\u6A13\u6A44\u6A0C\u6A72\u6A36\u6A78\u6A47\u6A62\u6A59\u6A66\u6A48\u6A38\u6A22\u6A90\u6A8D\u6AA0\u6A84\u6AA2\u6AA3"], + ["dda1", "\u6A97\u8617\u6ABB\u6AC3\u6AC2\u6AB8\u6AB3\u6AAC\u6ADE\u6AD1\u6ADF\u6AAA\u6ADA\u6AEA\u6AFB\u6B05\u8616\u6AFA\u6B12\u6B16\u9B31\u6B1F\u6B38\u6B37\u76DC\u6B39\u98EE\u6B47\u6B43\u6B49\u6B50\u6B59\u6B54\u6B5B\u6B5F\u6B61\u6B78\u6B79\u6B7F\u6B80\u6B84\u6B83\u6B8D\u6B98\u6B95\u6B9E\u6BA4\u6BAA\u6BAB\u6BAF\u6BB2\u6BB1\u6BB3\u6BB7\u6BBC\u6BC6\u6BCB\u6BD3\u6BDF\u6BEC\u6BEB\u6BF3\u6BEF\u9EBE\u6C08\u6C13\u6C14\u6C1B\u6C24\u6C23\u6C5E\u6C55\u6C62\u6C6A\u6C82\u6C8D\u6C9A\u6C81\u6C9B\u6C7E\u6C68\u6C73\u6C92\u6C90\u6CC4\u6CF1\u6CD3\u6CBD\u6CD7\u6CC5\u6CDD\u6CAE\u6CB1\u6CBE"], + ["dea1", "\u6CBA\u6CDB\u6CEF\u6CD9\u6CEA\u6D1F\u884D\u6D36\u6D2B\u6D3D\u6D38\u6D19\u6D35\u6D33\u6D12\u6D0C\u6D63\u6D93\u6D64\u6D5A\u6D79\u6D59\u6D8E\u6D95\u6FE4\u6D85\u6DF9\u6E15\u6E0A\u6DB5\u6DC7\u6DE6\u6DB8\u6DC6\u6DEC\u6DDE\u6DCC\u6DE8\u6DD2\u6DC5\u6DFA\u6DD9\u6DE4\u6DD5\u6DEA\u6DEE\u6E2D\u6E6E\u6E2E\u6E19\u6E72\u6E5F\u6E3E\u6E23\u6E6B\u6E2B\u6E76\u6E4D\u6E1F\u6E43\u6E3A\u6E4E\u6E24\u6EFF\u6E1D\u6E38\u6E82\u6EAA\u6E98\u6EC9\u6EB7\u6ED3\u6EBD\u6EAF\u6EC4\u6EB2\u6ED4\u6ED5\u6E8F\u6EA5\u6EC2\u6E9F\u6F41\u6F11\u704C\u6EEC\u6EF8\u6EFE\u6F3F\u6EF2\u6F31\u6EEF\u6F32\u6ECC"], + ["dfa1", "\u6F3E\u6F13\u6EF7\u6F86\u6F7A\u6F78\u6F81\u6F80\u6F6F\u6F5B\u6FF3\u6F6D\u6F82\u6F7C\u6F58\u6F8E\u6F91\u6FC2\u6F66\u6FB3\u6FA3\u6FA1\u6FA4\u6FB9\u6FC6\u6FAA\u6FDF\u6FD5\u6FEC\u6FD4\u6FD8\u6FF1\u6FEE\u6FDB\u7009\u700B\u6FFA\u7011\u7001\u700F\u6FFE\u701B\u701A\u6F74\u701D\u7018\u701F\u7030\u703E\u7032\u7051\u7063\u7099\u7092\u70AF\u70F1\u70AC\u70B8\u70B3\u70AE\u70DF\u70CB\u70DD\u70D9\u7109\u70FD\u711C\u7119\u7165\u7155\u7188\u7166\u7162\u714C\u7156\u716C\u718F\u71FB\u7184\u7195\u71A8\u71AC\u71D7\u71B9\u71BE\u71D2\u71C9\u71D4\u71CE\u71E0\u71EC\u71E7\u71F5\u71FC"], + ["e0a1", "\u71F9\u71FF\u720D\u7210\u721B\u7228\u722D\u722C\u7230\u7232\u723B\u723C\u723F\u7240\u7246\u724B\u7258\u7274\u727E\u7282\u7281\u7287\u7292\u7296\u72A2\u72A7\u72B9\u72B2\u72C3\u72C6\u72C4\u72CE\u72D2\u72E2\u72E0\u72E1\u72F9\u72F7\u500F\u7317\u730A\u731C\u7316\u731D\u7334\u732F\u7329\u7325\u733E\u734E\u734F\u9ED8\u7357\u736A\u7368\u7370\u7378\u7375\u737B\u737A\u73C8\u73B3\u73CE\u73BB\u73C0\u73E5\u73EE\u73DE\u74A2\u7405\u746F\u7425\u73F8\u7432\u743A\u7455\u743F\u745F\u7459\u7441\u745C\u7469\u7470\u7463\u746A\u7476\u747E\u748B\u749E\u74A7\u74CA\u74CF\u74D4\u73F1"], + ["e1a1", "\u74E0\u74E3\u74E7\u74E9\u74EE\u74F2\u74F0\u74F1\u74F8\u74F7\u7504\u7503\u7505\u750C\u750E\u750D\u7515\u7513\u751E\u7526\u752C\u753C\u7544\u754D\u754A\u7549\u755B\u7546\u755A\u7569\u7564\u7567\u756B\u756D\u7578\u7576\u7586\u7587\u7574\u758A\u7589\u7582\u7594\u759A\u759D\u75A5\u75A3\u75C2\u75B3\u75C3\u75B5\u75BD\u75B8\u75BC\u75B1\u75CD\u75CA\u75D2\u75D9\u75E3\u75DE\u75FE\u75FF\u75FC\u7601\u75F0\u75FA\u75F2\u75F3\u760B\u760D\u7609\u761F\u7627\u7620\u7621\u7622\u7624\u7634\u7630\u763B\u7647\u7648\u7646\u765C\u7658\u7661\u7662\u7668\u7669\u766A\u7667\u766C\u7670"], + ["e2a1", "\u7672\u7676\u7678\u767C\u7680\u7683\u7688\u768B\u768E\u7696\u7693\u7699\u769A\u76B0\u76B4\u76B8\u76B9\u76BA\u76C2\u76CD\u76D6\u76D2\u76DE\u76E1\u76E5\u76E7\u76EA\u862F\u76FB\u7708\u7707\u7704\u7729\u7724\u771E\u7725\u7726\u771B\u7737\u7738\u7747\u775A\u7768\u776B\u775B\u7765\u777F\u777E\u7779\u778E\u778B\u7791\u77A0\u779E\u77B0\u77B6\u77B9\u77BF\u77BC\u77BD\u77BB\u77C7\u77CD\u77D7\u77DA\u77DC\u77E3\u77EE\u77FC\u780C\u7812\u7926\u7820\u792A\u7845\u788E\u7874\u7886\u787C\u789A\u788C\u78A3\u78B5\u78AA\u78AF\u78D1\u78C6\u78CB\u78D4\u78BE\u78BC\u78C5\u78CA\u78EC"], + ["e3a1", "\u78E7\u78DA\u78FD\u78F4\u7907\u7912\u7911\u7919\u792C\u792B\u7940\u7960\u7957\u795F\u795A\u7955\u7953\u797A\u797F\u798A\u799D\u79A7\u9F4B\u79AA\u79AE\u79B3\u79B9\u79BA\u79C9\u79D5\u79E7\u79EC\u79E1\u79E3\u7A08\u7A0D\u7A18\u7A19\u7A20\u7A1F\u7980\u7A31\u7A3B\u7A3E\u7A37\u7A43\u7A57\u7A49\u7A61\u7A62\u7A69\u9F9D\u7A70\u7A79\u7A7D\u7A88\u7A97\u7A95\u7A98\u7A96\u7AA9\u7AC8\u7AB0\u7AB6\u7AC5\u7AC4\u7ABF\u9083\u7AC7\u7ACA\u7ACD\u7ACF\u7AD5\u7AD3\u7AD9\u7ADA\u7ADD\u7AE1\u7AE2\u7AE6\u7AED\u7AF0\u7B02\u7B0F\u7B0A\u7B06\u7B33\u7B18\u7B19\u7B1E\u7B35\u7B28\u7B36\u7B50"], + ["e4a1", "\u7B7A\u7B04\u7B4D\u7B0B\u7B4C\u7B45\u7B75\u7B65\u7B74\u7B67\u7B70\u7B71\u7B6C\u7B6E\u7B9D\u7B98\u7B9F\u7B8D\u7B9C\u7B9A\u7B8B\u7B92\u7B8F\u7B5D\u7B99\u7BCB\u7BC1\u7BCC\u7BCF\u7BB4\u7BC6\u7BDD\u7BE9\u7C11\u7C14\u7BE6\u7BE5\u7C60\u7C00\u7C07\u7C13\u7BF3\u7BF7\u7C17\u7C0D\u7BF6\u7C23\u7C27\u7C2A\u7C1F\u7C37\u7C2B\u7C3D\u7C4C\u7C43\u7C54\u7C4F\u7C40\u7C50\u7C58\u7C5F\u7C64\u7C56\u7C65\u7C6C\u7C75\u7C83\u7C90\u7CA4\u7CAD\u7CA2\u7CAB\u7CA1\u7CA8\u7CB3\u7CB2\u7CB1\u7CAE\u7CB9\u7CBD\u7CC0\u7CC5\u7CC2\u7CD8\u7CD2\u7CDC\u7CE2\u9B3B\u7CEF\u7CF2\u7CF4\u7CF6\u7CFA\u7D06"], + ["e5a1", "\u7D02\u7D1C\u7D15\u7D0A\u7D45\u7D4B\u7D2E\u7D32\u7D3F\u7D35\u7D46\u7D73\u7D56\u7D4E\u7D72\u7D68\u7D6E\u7D4F\u7D63\u7D93\u7D89\u7D5B\u7D8F\u7D7D\u7D9B\u7DBA\u7DAE\u7DA3\u7DB5\u7DC7\u7DBD\u7DAB\u7E3D\u7DA2\u7DAF\u7DDC\u7DB8\u7D9F\u7DB0\u7DD8\u7DDD\u7DE4\u7DDE\u7DFB\u7DF2\u7DE1\u7E05\u7E0A\u7E23\u7E21\u7E12\u7E31\u7E1F\u7E09\u7E0B\u7E22\u7E46\u7E66\u7E3B\u7E35\u7E39\u7E43\u7E37\u7E32\u7E3A\u7E67\u7E5D\u7E56\u7E5E\u7E59\u7E5A\u7E79\u7E6A\u7E69\u7E7C\u7E7B\u7E83\u7DD5\u7E7D\u8FAE\u7E7F\u7E88\u7E89\u7E8C\u7E92\u7E90\u7E93\u7E94\u7E96\u7E8E\u7E9B\u7E9C\u7F38\u7F3A"], + ["e6a1", "\u7F45\u7F4C\u7F4D\u7F4E\u7F50\u7F51\u7F55\u7F54\u7F58\u7F5F\u7F60\u7F68\u7F69\u7F67\u7F78\u7F82\u7F86\u7F83\u7F88\u7F87\u7F8C\u7F94\u7F9E\u7F9D\u7F9A\u7FA3\u7FAF\u7FB2\u7FB9\u7FAE\u7FB6\u7FB8\u8B71\u7FC5\u7FC6\u7FCA\u7FD5\u7FD4\u7FE1\u7FE6\u7FE9\u7FF3\u7FF9\u98DC\u8006\u8004\u800B\u8012\u8018\u8019\u801C\u8021\u8028\u803F\u803B\u804A\u8046\u8052\u8058\u805A\u805F\u8062\u8068\u8073\u8072\u8070\u8076\u8079\u807D\u807F\u8084\u8086\u8085\u809B\u8093\u809A\u80AD\u5190\u80AC\u80DB\u80E5\u80D9\u80DD\u80C4\u80DA\u80D6\u8109\u80EF\u80F1\u811B\u8129\u8123\u812F\u814B"], + ["e7a1", "\u968B\u8146\u813E\u8153\u8151\u80FC\u8171\u816E\u8165\u8166\u8174\u8183\u8188\u818A\u8180\u8182\u81A0\u8195\u81A4\u81A3\u815F\u8193\u81A9\u81B0\u81B5\u81BE\u81B8\u81BD\u81C0\u81C2\u81BA\u81C9\u81CD\u81D1\u81D9\u81D8\u81C8\u81DA\u81DF\u81E0\u81E7\u81FA\u81FB\u81FE\u8201\u8202\u8205\u8207\u820A\u820D\u8210\u8216\u8229\u822B\u8238\u8233\u8240\u8259\u8258\u825D\u825A\u825F\u8264\u8262\u8268\u826A\u826B\u822E\u8271\u8277\u8278\u827E\u828D\u8292\u82AB\u829F\u82BB\u82AC\u82E1\u82E3\u82DF\u82D2\u82F4\u82F3\u82FA\u8393\u8303\u82FB\u82F9\u82DE\u8306\u82DC\u8309\u82D9"], + ["e8a1", "\u8335\u8334\u8316\u8332\u8331\u8340\u8339\u8350\u8345\u832F\u832B\u8317\u8318\u8385\u839A\u83AA\u839F\u83A2\u8396\u8323\u838E\u8387\u838A\u837C\u83B5\u8373\u8375\u83A0\u8389\u83A8\u83F4\u8413\u83EB\u83CE\u83FD\u8403\u83D8\u840B\u83C1\u83F7\u8407\u83E0\u83F2\u840D\u8422\u8420\u83BD\u8438\u8506\u83FB\u846D\u842A\u843C\u855A\u8484\u8477\u846B\u84AD\u846E\u8482\u8469\u8446\u842C\u846F\u8479\u8435\u84CA\u8462\u84B9\u84BF\u849F\u84D9\u84CD\u84BB\u84DA\u84D0\u84C1\u84C6\u84D6\u84A1\u8521\u84FF\u84F4\u8517\u8518\u852C\u851F\u8515\u8514\u84FC\u8540\u8563\u8558\u8548"], + ["e9a1", "\u8541\u8602\u854B\u8555\u8580\u85A4\u8588\u8591\u858A\u85A8\u856D\u8594\u859B\u85EA\u8587\u859C\u8577\u857E\u8590\u85C9\u85BA\u85CF\u85B9\u85D0\u85D5\u85DD\u85E5\u85DC\u85F9\u860A\u8613\u860B\u85FE\u85FA\u8606\u8622\u861A\u8630\u863F\u864D\u4E55\u8654\u865F\u8667\u8671\u8693\u86A3\u86A9\u86AA\u868B\u868C\u86B6\u86AF\u86C4\u86C6\u86B0\u86C9\u8823\u86AB\u86D4\u86DE\u86E9\u86EC\u86DF\u86DB\u86EF\u8712\u8706\u8708\u8700\u8703\u86FB\u8711\u8709\u870D\u86F9\u870A\u8734\u873F\u8737\u873B\u8725\u8729\u871A\u8760\u875F\u8778\u874C\u874E\u8774\u8757\u8768\u876E\u8759"], + ["eaa1", "\u8753\u8763\u876A\u8805\u87A2\u879F\u8782\u87AF\u87CB\u87BD\u87C0\u87D0\u96D6\u87AB\u87C4\u87B3\u87C7\u87C6\u87BB\u87EF\u87F2\u87E0\u880F\u880D\u87FE\u87F6\u87F7\u880E\u87D2\u8811\u8816\u8815\u8822\u8821\u8831\u8836\u8839\u8827\u883B\u8844\u8842\u8852\u8859\u885E\u8862\u886B\u8881\u887E\u889E\u8875\u887D\u88B5\u8872\u8882\u8897\u8892\u88AE\u8899\u88A2\u888D\u88A4\u88B0\u88BF\u88B1\u88C3\u88C4\u88D4\u88D8\u88D9\u88DD\u88F9\u8902\u88FC\u88F4\u88E8\u88F2\u8904\u890C\u890A\u8913\u8943\u891E\u8925\u892A\u892B\u8941\u8944\u893B\u8936\u8938\u894C\u891D\u8960\u895E"], + ["eba1", "\u8966\u8964\u896D\u896A\u896F\u8974\u8977\u897E\u8983\u8988\u898A\u8993\u8998\u89A1\u89A9\u89A6\u89AC\u89AF\u89B2\u89BA\u89BD\u89BF\u89C0\u89DA\u89DC\u89DD\u89E7\u89F4\u89F8\u8A03\u8A16\u8A10\u8A0C\u8A1B\u8A1D\u8A25\u8A36\u8A41\u8A5B\u8A52\u8A46\u8A48\u8A7C\u8A6D\u8A6C\u8A62\u8A85\u8A82\u8A84\u8AA8\u8AA1\u8A91\u8AA5\u8AA6\u8A9A\u8AA3\u8AC4\u8ACD\u8AC2\u8ADA\u8AEB\u8AF3\u8AE7\u8AE4\u8AF1\u8B14\u8AE0\u8AE2\u8AF7\u8ADE\u8ADB\u8B0C\u8B07\u8B1A\u8AE1\u8B16\u8B10\u8B17\u8B20\u8B33\u97AB\u8B26\u8B2B\u8B3E\u8B28\u8B41\u8B4C\u8B4F\u8B4E\u8B49\u8B56\u8B5B\u8B5A\u8B6B"], + ["eca1", "\u8B5F\u8B6C\u8B6F\u8B74\u8B7D\u8B80\u8B8C\u8B8E\u8B92\u8B93\u8B96\u8B99\u8B9A\u8C3A\u8C41\u8C3F\u8C48\u8C4C\u8C4E\u8C50\u8C55\u8C62\u8C6C\u8C78\u8C7A\u8C82\u8C89\u8C85\u8C8A\u8C8D\u8C8E\u8C94\u8C7C\u8C98\u621D\u8CAD\u8CAA\u8CBD\u8CB2\u8CB3\u8CAE\u8CB6\u8CC8\u8CC1\u8CE4\u8CE3\u8CDA\u8CFD\u8CFA\u8CFB\u8D04\u8D05\u8D0A\u8D07\u8D0F\u8D0D\u8D10\u9F4E\u8D13\u8CCD\u8D14\u8D16\u8D67\u8D6D\u8D71\u8D73\u8D81\u8D99\u8DC2\u8DBE\u8DBA\u8DCF\u8DDA\u8DD6\u8DCC\u8DDB\u8DCB\u8DEA\u8DEB\u8DDF\u8DE3\u8DFC\u8E08\u8E09\u8DFF\u8E1D\u8E1E\u8E10\u8E1F\u8E42\u8E35\u8E30\u8E34\u8E4A"], + ["eda1", "\u8E47\u8E49\u8E4C\u8E50\u8E48\u8E59\u8E64\u8E60\u8E2A\u8E63\u8E55\u8E76\u8E72\u8E7C\u8E81\u8E87\u8E85\u8E84\u8E8B\u8E8A\u8E93\u8E91\u8E94\u8E99\u8EAA\u8EA1\u8EAC\u8EB0\u8EC6\u8EB1\u8EBE\u8EC5\u8EC8\u8ECB\u8EDB\u8EE3\u8EFC\u8EFB\u8EEB\u8EFE\u8F0A\u8F05\u8F15\u8F12\u8F19\u8F13\u8F1C\u8F1F\u8F1B\u8F0C\u8F26\u8F33\u8F3B\u8F39\u8F45\u8F42\u8F3E\u8F4C\u8F49\u8F46\u8F4E\u8F57\u8F5C\u8F62\u8F63\u8F64\u8F9C\u8F9F\u8FA3\u8FAD\u8FAF\u8FB7\u8FDA\u8FE5\u8FE2\u8FEA\u8FEF\u9087\u8FF4\u9005\u8FF9\u8FFA\u9011\u9015\u9021\u900D\u901E\u9016\u900B\u9027\u9036\u9035\u9039\u8FF8"], + ["eea1", "\u904F\u9050\u9051\u9052\u900E\u9049\u903E\u9056\u9058\u905E\u9068\u906F\u9076\u96A8\u9072\u9082\u907D\u9081\u9080\u908A\u9089\u908F\u90A8\u90AF\u90B1\u90B5\u90E2\u90E4\u6248\u90DB\u9102\u9112\u9119\u9132\u9130\u914A\u9156\u9158\u9163\u9165\u9169\u9173\u9172\u918B\u9189\u9182\u91A2\u91AB\u91AF\u91AA\u91B5\u91B4\u91BA\u91C0\u91C1\u91C9\u91CB\u91D0\u91D6\u91DF\u91E1\u91DB\u91FC\u91F5\u91F6\u921E\u91FF\u9214\u922C\u9215\u9211\u925E\u9257\u9245\u9249\u9264\u9248\u9295\u923F\u924B\u9250\u929C\u9296\u9293\u929B\u925A\u92CF\u92B9\u92B7\u92E9\u930F\u92FA\u9344\u932E"], + ["efa1", "\u9319\u9322\u931A\u9323\u933A\u9335\u933B\u935C\u9360\u937C\u936E\u9356\u93B0\u93AC\u93AD\u9394\u93B9\u93D6\u93D7\u93E8\u93E5\u93D8\u93C3\u93DD\u93D0\u93C8\u93E4\u941A\u9414\u9413\u9403\u9407\u9410\u9436\u942B\u9435\u9421\u943A\u9441\u9452\u9444\u945B\u9460\u9462\u945E\u946A\u9229\u9470\u9475\u9477\u947D\u945A\u947C\u947E\u9481\u947F\u9582\u9587\u958A\u9594\u9596\u9598\u9599\u95A0\u95A8\u95A7\u95AD\u95BC\u95BB\u95B9\u95BE\u95CA\u6FF6\u95C3\u95CD\u95CC\u95D5\u95D4\u95D6\u95DC\u95E1\u95E5\u95E2\u9621\u9628\u962E\u962F\u9642\u964C\u964F\u964B\u9677\u965C\u965E"], + ["f0a1", "\u965D\u965F\u9666\u9672\u966C\u968D\u9698\u9695\u9697\u96AA\u96A7\u96B1\u96B2\u96B0\u96B4\u96B6\u96B8\u96B9\u96CE\u96CB\u96C9\u96CD\u894D\u96DC\u970D\u96D5\u96F9\u9704\u9706\u9708\u9713\u970E\u9711\u970F\u9716\u9719\u9724\u972A\u9730\u9739\u973D\u973E\u9744\u9746\u9748\u9742\u9749\u975C\u9760\u9764\u9766\u9768\u52D2\u976B\u9771\u9779\u9785\u977C\u9781\u977A\u9786\u978B\u978F\u9790\u979C\u97A8\u97A6\u97A3\u97B3\u97B4\u97C3\u97C6\u97C8\u97CB\u97DC\u97ED\u9F4F\u97F2\u7ADF\u97F6\u97F5\u980F\u980C\u9838\u9824\u9821\u9837\u983D\u9846\u984F\u984B\u986B\u986F\u9870"], + ["f1a1", "\u9871\u9874\u9873\u98AA\u98AF\u98B1\u98B6\u98C4\u98C3\u98C6\u98E9\u98EB\u9903\u9909\u9912\u9914\u9918\u9921\u991D\u991E\u9924\u9920\u992C\u992E\u993D\u993E\u9942\u9949\u9945\u9950\u994B\u9951\u9952\u994C\u9955\u9997\u9998\u99A5\u99AD\u99AE\u99BC\u99DF\u99DB\u99DD\u99D8\u99D1\u99ED\u99EE\u99F1\u99F2\u99FB\u99F8\u9A01\u9A0F\u9A05\u99E2\u9A19\u9A2B\u9A37\u9A45\u9A42\u9A40\u9A43\u9A3E\u9A55\u9A4D\u9A5B\u9A57\u9A5F\u9A62\u9A65\u9A64\u9A69\u9A6B\u9A6A\u9AAD\u9AB0\u9ABC\u9AC0\u9ACF\u9AD1\u9AD3\u9AD4\u9ADE\u9ADF\u9AE2\u9AE3\u9AE6\u9AEF\u9AEB\u9AEE\u9AF4\u9AF1\u9AF7"], + ["f2a1", "\u9AFB\u9B06\u9B18\u9B1A\u9B1F\u9B22\u9B23\u9B25\u9B27\u9B28\u9B29\u9B2A\u9B2E\u9B2F\u9B32\u9B44\u9B43\u9B4F\u9B4D\u9B4E\u9B51\u9B58\u9B74\u9B93\u9B83\u9B91\u9B96\u9B97\u9B9F\u9BA0\u9BA8\u9BB4\u9BC0\u9BCA\u9BB9\u9BC6\u9BCF\u9BD1\u9BD2\u9BE3\u9BE2\u9BE4\u9BD4\u9BE1\u9C3A\u9BF2\u9BF1\u9BF0\u9C15\u9C14\u9C09\u9C13\u9C0C\u9C06\u9C08\u9C12\u9C0A\u9C04\u9C2E\u9C1B\u9C25\u9C24\u9C21\u9C30\u9C47\u9C32\u9C46\u9C3E\u9C5A\u9C60\u9C67\u9C76\u9C78\u9CE7\u9CEC\u9CF0\u9D09\u9D08\u9CEB\u9D03\u9D06\u9D2A\u9D26\u9DAF\u9D23\u9D1F\u9D44\u9D15\u9D12\u9D41\u9D3F\u9D3E\u9D46\u9D48"], + ["f3a1", "\u9D5D\u9D5E\u9D64\u9D51\u9D50\u9D59\u9D72\u9D89\u9D87\u9DAB\u9D6F\u9D7A\u9D9A\u9DA4\u9DA9\u9DB2\u9DC4\u9DC1\u9DBB\u9DB8\u9DBA\u9DC6\u9DCF\u9DC2\u9DD9\u9DD3\u9DF8\u9DE6\u9DED\u9DEF\u9DFD\u9E1A\u9E1B\u9E1E\u9E75\u9E79\u9E7D\u9E81\u9E88\u9E8B\u9E8C\u9E92\u9E95\u9E91\u9E9D\u9EA5\u9EA9\u9EB8\u9EAA\u9EAD\u9761\u9ECC\u9ECE\u9ECF\u9ED0\u9ED4\u9EDC\u9EDE\u9EDD\u9EE0\u9EE5\u9EE8\u9EEF\u9EF4\u9EF6\u9EF7\u9EF9\u9EFB\u9EFC\u9EFD\u9F07\u9F08\u76B7\u9F15\u9F21\u9F2C\u9F3E\u9F4A\u9F52\u9F54\u9F63\u9F5F\u9F60\u9F61\u9F66\u9F67\u9F6C\u9F6A\u9F77\u9F72\u9F76\u9F95\u9F9C\u9FA0"], + ["f4a1", "\u582F\u69C7\u9059\u7464\u51DC\u7199"], + ["f9a1", "\u7E8A\u891C\u9348\u9288\u84DC\u4FC9\u70BB\u6631\u68C8\u92F9\u66FB\u5F45\u4E28\u4EE1\u4EFC\u4F00\u4F03\u4F39\u4F56\u4F92\u4F8A\u4F9A\u4F94\u4FCD\u5040\u5022\u4FFF\u501E\u5046\u5070\u5042\u5094\u50F4\u50D8\u514A\u5164\u519D\u51BE\u51EC\u5215\u529C\u52A6\u52C0\u52DB\u5300\u5307\u5324\u5372\u5393\u53B2\u53DD\uFA0E\u549C\u548A\u54A9\u54FF\u5586\u5759\u5765\u57AC\u57C8\u57C7\uFA0F\uFA10\u589E\u58B2\u590B\u5953\u595B\u595D\u5963\u59A4\u59BA\u5B56\u5BC0\u752F\u5BD8\u5BEC\u5C1E\u5CA6\u5CBA\u5CF5\u5D27\u5D53\uFA11\u5D42\u5D6D\u5DB8\u5DB9\u5DD0\u5F21\u5F34\u5F67\u5FB7"], + ["faa1", "\u5FDE\u605D\u6085\u608A\u60DE\u60D5\u6120\u60F2\u6111\u6137\u6130\u6198\u6213\u62A6\u63F5\u6460\u649D\u64CE\u654E\u6600\u6615\u663B\u6609\u662E\u661E\u6624\u6665\u6657\u6659\uFA12\u6673\u6699\u66A0\u66B2\u66BF\u66FA\u670E\uF929\u6766\u67BB\u6852\u67C0\u6801\u6844\u68CF\uFA13\u6968\uFA14\u6998\u69E2\u6A30\u6A6B\u6A46\u6A73\u6A7E\u6AE2\u6AE4\u6BD6\u6C3F\u6C5C\u6C86\u6C6F\u6CDA\u6D04\u6D87\u6D6F\u6D96\u6DAC\u6DCF\u6DF8\u6DF2\u6DFC\u6E39\u6E5C\u6E27\u6E3C\u6EBF\u6F88\u6FB5\u6FF5\u7005\u7007\u7028\u7085\u70AB\u710F\u7104\u715C\u7146\u7147\uFA15\u71C1\u71FE\u72B1"], + ["fba1", "\u72BE\u7324\uFA16\u7377\u73BD\u73C9\u73D6\u73E3\u73D2\u7407\u73F5\u7426\u742A\u7429\u742E\u7462\u7489\u749F\u7501\u756F\u7682\u769C\u769E\u769B\u76A6\uFA17\u7746\u52AF\u7821\u784E\u7864\u787A\u7930\uFA18\uFA19\uFA1A\u7994\uFA1B\u799B\u7AD1\u7AE7\uFA1C\u7AEB\u7B9E\uFA1D\u7D48\u7D5C\u7DB7\u7DA0\u7DD6\u7E52\u7F47\u7FA1\uFA1E\u8301\u8362\u837F\u83C7\u83F6\u8448\u84B4\u8553\u8559\u856B\uFA1F\u85B0\uFA20\uFA21\u8807\u88F5\u8A12\u8A37\u8A79\u8AA7\u8ABE\u8ADF\uFA22\u8AF6\u8B53\u8B7F\u8CF0\u8CF4\u8D12\u8D76\uFA23\u8ECF\uFA24\uFA25\u9067\u90DE\uFA26\u9115\u9127\u91DA"], + ["fca1", "\u91D7\u91DE\u91ED\u91EE\u91E4\u91E5\u9206\u9210\u920A\u923A\u9240\u923C\u924E\u9259\u9251\u9239\u9267\u92A7\u9277\u9278\u92E7\u92D7\u92D9\u92D0\uFA27\u92D5\u92E0\u92D3\u9325\u9321\u92FB\uFA28\u931E\u92FF\u931D\u9302\u9370\u9357\u93A4\u93C6\u93DE\u93F8\u9431\u9445\u9448\u9592\uF9DC\uFA29\u969D\u96AF\u9733\u973B\u9743\u974D\u974F\u9751\u9755\u9857\u9865\uFA2A\uFA2B\u9927\uFA2C\u999E\u9A4E\u9AD9\u9ADC\u9B75\u9B72\u9B8F\u9BB1\u9BBB\u9C00\u9D70\u9D6B\uFA2D\u9E19\u9ED1"], + ["fcf1", "\u2170", 9, "\uFFE2\uFFE4\uFF07\uFF02"], + ["8fa2af", "\u02D8\u02C7\xB8\u02D9\u02DD\xAF\u02DB\u02DA\uFF5E\u0384\u0385"], + ["8fa2c2", "\xA1\xA6\xBF"], + ["8fa2eb", "\xBA\xAA\xA9\xAE\u2122\xA4\u2116"], + ["8fa6e1", "\u0386\u0388\u0389\u038A\u03AA"], + ["8fa6e7", "\u038C"], + ["8fa6e9", "\u038E\u03AB"], + ["8fa6ec", "\u038F"], + ["8fa6f1", "\u03AC\u03AD\u03AE\u03AF\u03CA\u0390\u03CC\u03C2\u03CD\u03CB\u03B0\u03CE"], + ["8fa7c2", "\u0402", 10, "\u040E\u040F"], + ["8fa7f2", "\u0452", 10, "\u045E\u045F"], + ["8fa9a1", "\xC6\u0110"], + ["8fa9a4", "\u0126"], + ["8fa9a6", "\u0132"], + ["8fa9a8", "\u0141\u013F"], + ["8fa9ab", "\u014A\xD8\u0152"], + ["8fa9af", "\u0166\xDE"], + ["8fa9c1", "\xE6\u0111\xF0\u0127\u0131\u0133\u0138\u0142\u0140\u0149\u014B\xF8\u0153\xDF\u0167\xFE"], + ["8faaa1", "\xC1\xC0\xC4\xC2\u0102\u01CD\u0100\u0104\xC5\xC3\u0106\u0108\u010C\xC7\u010A\u010E\xC9\xC8\xCB\xCA\u011A\u0116\u0112\u0118"], + ["8faaba", "\u011C\u011E\u0122\u0120\u0124\xCD\xCC\xCF\xCE\u01CF\u0130\u012A\u012E\u0128\u0134\u0136\u0139\u013D\u013B\u0143\u0147\u0145\xD1\xD3\xD2\xD6\xD4\u01D1\u0150\u014C\xD5\u0154\u0158\u0156\u015A\u015C\u0160\u015E\u0164\u0162\xDA\xD9\xDC\xDB\u016C\u01D3\u0170\u016A\u0172\u016E\u0168\u01D7\u01DB\u01D9\u01D5\u0174\xDD\u0178\u0176\u0179\u017D\u017B"], + ["8faba1", "\xE1\xE0\xE4\xE2\u0103\u01CE\u0101\u0105\xE5\xE3\u0107\u0109\u010D\xE7\u010B\u010F\xE9\xE8\xEB\xEA\u011B\u0117\u0113\u0119\u01F5\u011D\u011F"], + ["8fabbd", "\u0121\u0125\xED\xEC\xEF\xEE\u01D0"], + ["8fabc5", "\u012B\u012F\u0129\u0135\u0137\u013A\u013E\u013C\u0144\u0148\u0146\xF1\xF3\xF2\xF6\xF4\u01D2\u0151\u014D\xF5\u0155\u0159\u0157\u015B\u015D\u0161\u015F\u0165\u0163\xFA\xF9\xFC\xFB\u016D\u01D4\u0171\u016B\u0173\u016F\u0169\u01D8\u01DC\u01DA\u01D6\u0175\xFD\xFF\u0177\u017A\u017E\u017C"], + ["8fb0a1", "\u4E02\u4E04\u4E05\u4E0C\u4E12\u4E1F\u4E23\u4E24\u4E28\u4E2B\u4E2E\u4E2F\u4E30\u4E35\u4E40\u4E41\u4E44\u4E47\u4E51\u4E5A\u4E5C\u4E63\u4E68\u4E69\u4E74\u4E75\u4E79\u4E7F\u4E8D\u4E96\u4E97\u4E9D\u4EAF\u4EB9\u4EC3\u4ED0\u4EDA\u4EDB\u4EE0\u4EE1\u4EE2\u4EE8\u4EEF\u4EF1\u4EF3\u4EF5\u4EFD\u4EFE\u4EFF\u4F00\u4F02\u4F03\u4F08\u4F0B\u4F0C\u4F12\u4F15\u4F16\u4F17\u4F19\u4F2E\u4F31\u4F60\u4F33\u4F35\u4F37\u4F39\u4F3B\u4F3E\u4F40\u4F42\u4F48\u4F49\u4F4B\u4F4C\u4F52\u4F54\u4F56\u4F58\u4F5F\u4F63\u4F6A\u4F6C\u4F6E\u4F71\u4F77\u4F78\u4F79\u4F7A\u4F7D\u4F7E\u4F81\u4F82\u4F84"], + ["8fb1a1", "\u4F85\u4F89\u4F8A\u4F8C\u4F8E\u4F90\u4F92\u4F93\u4F94\u4F97\u4F99\u4F9A\u4F9E\u4F9F\u4FB2\u4FB7\u4FB9\u4FBB\u4FBC\u4FBD\u4FBE\u4FC0\u4FC1\u4FC5\u4FC6\u4FC8\u4FC9\u4FCB\u4FCC\u4FCD\u4FCF\u4FD2\u4FDC\u4FE0\u4FE2\u4FF0\u4FF2\u4FFC\u4FFD\u4FFF\u5000\u5001\u5004\u5007\u500A\u500C\u500E\u5010\u5013\u5017\u5018\u501B\u501C\u501D\u501E\u5022\u5027\u502E\u5030\u5032\u5033\u5035\u5040\u5041\u5042\u5045\u5046\u504A\u504C\u504E\u5051\u5052\u5053\u5057\u5059\u505F\u5060\u5062\u5063\u5066\u5067\u506A\u506D\u5070\u5071\u503B\u5081\u5083\u5084\u5086\u508A\u508E\u508F\u5090"], + ["8fb2a1", "\u5092\u5093\u5094\u5096\u509B\u509C\u509E", 4, "\u50AA\u50AF\u50B0\u50B9\u50BA\u50BD\u50C0\u50C3\u50C4\u50C7\u50CC\u50CE\u50D0\u50D3\u50D4\u50D8\u50DC\u50DD\u50DF\u50E2\u50E4\u50E6\u50E8\u50E9\u50EF\u50F1\u50F6\u50FA\u50FE\u5103\u5106\u5107\u5108\u510B\u510C\u510D\u510E\u50F2\u5110\u5117\u5119\u511B\u511C\u511D\u511E\u5123\u5127\u5128\u512C\u512D\u512F\u5131\u5133\u5134\u5135\u5138\u5139\u5142\u514A\u514F\u5153\u5155\u5157\u5158\u515F\u5164\u5166\u517E\u5183\u5184\u518B\u518E\u5198\u519D\u51A1\u51A3\u51AD\u51B8\u51BA\u51BC\u51BE\u51BF\u51C2"], + ["8fb3a1", "\u51C8\u51CF\u51D1\u51D2\u51D3\u51D5\u51D8\u51DE\u51E2\u51E5\u51EE\u51F2\u51F3\u51F4\u51F7\u5201\u5202\u5205\u5212\u5213\u5215\u5216\u5218\u5222\u5228\u5231\u5232\u5235\u523C\u5245\u5249\u5255\u5257\u5258\u525A\u525C\u525F\u5260\u5261\u5266\u526E\u5277\u5278\u5279\u5280\u5282\u5285\u528A\u528C\u5293\u5295\u5296\u5297\u5298\u529A\u529C\u52A4\u52A5\u52A6\u52A7\u52AF\u52B0\u52B6\u52B7\u52B8\u52BA\u52BB\u52BD\u52C0\u52C4\u52C6\u52C8\u52CC\u52CF\u52D1\u52D4\u52D6\u52DB\u52DC\u52E1\u52E5\u52E8\u52E9\u52EA\u52EC\u52F0\u52F1\u52F4\u52F6\u52F7\u5300\u5303\u530A\u530B"], + ["8fb4a1", "\u530C\u5311\u5313\u5318\u531B\u531C\u531E\u531F\u5325\u5327\u5328\u5329\u532B\u532C\u532D\u5330\u5332\u5335\u533C\u533D\u533E\u5342\u534C\u534B\u5359\u535B\u5361\u5363\u5365\u536C\u536D\u5372\u5379\u537E\u5383\u5387\u5388\u538E\u5393\u5394\u5399\u539D\u53A1\u53A4\u53AA\u53AB\u53AF\u53B2\u53B4\u53B5\u53B7\u53B8\u53BA\u53BD\u53C0\u53C5\u53CF\u53D2\u53D3\u53D5\u53DA\u53DD\u53DE\u53E0\u53E6\u53E7\u53F5\u5402\u5413\u541A\u5421\u5427\u5428\u542A\u542F\u5431\u5434\u5435\u5443\u5444\u5447\u544D\u544F\u545E\u5462\u5464\u5466\u5467\u5469\u546B\u546D\u546E\u5474\u547F"], + ["8fb5a1", "\u5481\u5483\u5485\u5488\u5489\u548D\u5491\u5495\u5496\u549C\u549F\u54A1\u54A6\u54A7\u54A9\u54AA\u54AD\u54AE\u54B1\u54B7\u54B9\u54BA\u54BB\u54BF\u54C6\u54CA\u54CD\u54CE\u54E0\u54EA\u54EC\u54EF\u54F6\u54FC\u54FE\u54FF\u5500\u5501\u5505\u5508\u5509\u550C\u550D\u550E\u5515\u552A\u552B\u5532\u5535\u5536\u553B\u553C\u553D\u5541\u5547\u5549\u554A\u554D\u5550\u5551\u5558\u555A\u555B\u555E\u5560\u5561\u5564\u5566\u557F\u5581\u5582\u5586\u5588\u558E\u558F\u5591\u5592\u5593\u5594\u5597\u55A3\u55A4\u55AD\u55B2\u55BF\u55C1\u55C3\u55C6\u55C9\u55CB\u55CC\u55CE\u55D1\u55D2"], + ["8fb6a1", "\u55D3\u55D7\u55D8\u55DB\u55DE\u55E2\u55E9\u55F6\u55FF\u5605\u5608\u560A\u560D", 5, "\u5619\u562C\u5630\u5633\u5635\u5637\u5639\u563B\u563C\u563D\u563F\u5640\u5641\u5643\u5644\u5646\u5649\u564B\u564D\u564F\u5654\u565E\u5660\u5661\u5662\u5663\u5666\u5669\u566D\u566F\u5671\u5672\u5675\u5684\u5685\u5688\u568B\u568C\u5695\u5699\u569A\u569D\u569E\u569F\u56A6\u56A7\u56A8\u56A9\u56AB\u56AC\u56AD\u56B1\u56B3\u56B7\u56BE\u56C5\u56C9\u56CA\u56CB\u56CF\u56D0\u56CC\u56CD\u56D9\u56DC\u56DD\u56DF\u56E1\u56E4", 4, "\u56F1\u56EB\u56ED"], + ["8fb7a1", "\u56F6\u56F7\u5701\u5702\u5707\u570A\u570C\u5711\u5715\u571A\u571B\u571D\u5720\u5722\u5723\u5724\u5725\u5729\u572A\u572C\u572E\u572F\u5733\u5734\u573D\u573E\u573F\u5745\u5746\u574C\u574D\u5752\u5762\u5765\u5767\u5768\u576B\u576D", 4, "\u5773\u5774\u5775\u5777\u5779\u577A\u577B\u577C\u577E\u5781\u5783\u578C\u5794\u5797\u5799\u579A\u579C\u579D\u579E\u579F\u57A1\u5795\u57A7\u57A8\u57A9\u57AC\u57B8\u57BD\u57C7\u57C8\u57CC\u57CF\u57D5\u57DD\u57DE\u57E4\u57E6\u57E7\u57E9\u57ED\u57F0\u57F5\u57F6\u57F8\u57FD\u57FE\u57FF\u5803\u5804\u5808\u5809\u57E1"], + ["8fb8a1", "\u580C\u580D\u581B\u581E\u581F\u5820\u5826\u5827\u582D\u5832\u5839\u583F\u5849\u584C\u584D\u584F\u5850\u5855\u585F\u5861\u5864\u5867\u5868\u5878\u587C\u587F\u5880\u5881\u5887\u5888\u5889\u588A\u588C\u588D\u588F\u5890\u5894\u5896\u589D\u58A0\u58A1\u58A2\u58A6\u58A9\u58B1\u58B2\u58C4\u58BC\u58C2\u58C8\u58CD\u58CE\u58D0\u58D2\u58D4\u58D6\u58DA\u58DD\u58E1\u58E2\u58E9\u58F3\u5905\u5906\u590B\u590C\u5912\u5913\u5914\u8641\u591D\u5921\u5923\u5924\u5928\u592F\u5930\u5933\u5935\u5936\u593F\u5943\u5946\u5952\u5953\u5959\u595B\u595D\u595E\u595F\u5961\u5963\u596B\u596D"], + ["8fb9a1", "\u596F\u5972\u5975\u5976\u5979\u597B\u597C\u598B\u598C\u598E\u5992\u5995\u5997\u599F\u59A4\u59A7\u59AD\u59AE\u59AF\u59B0\u59B3\u59B7\u59BA\u59BC\u59C1\u59C3\u59C4\u59C8\u59CA\u59CD\u59D2\u59DD\u59DE\u59DF\u59E3\u59E4\u59E7\u59EE\u59EF\u59F1\u59F2\u59F4\u59F7\u5A00\u5A04\u5A0C\u5A0D\u5A0E\u5A12\u5A13\u5A1E\u5A23\u5A24\u5A27\u5A28\u5A2A\u5A2D\u5A30\u5A44\u5A45\u5A47\u5A48\u5A4C\u5A50\u5A55\u5A5E\u5A63\u5A65\u5A67\u5A6D\u5A77\u5A7A\u5A7B\u5A7E\u5A8B\u5A90\u5A93\u5A96\u5A99\u5A9C\u5A9E\u5A9F\u5AA0\u5AA2\u5AA7\u5AAC\u5AB1\u5AB2\u5AB3\u5AB5\u5AB8\u5ABA\u5ABB\u5ABF"], + ["8fbaa1", "\u5AC4\u5AC6\u5AC8\u5ACF\u5ADA\u5ADC\u5AE0\u5AE5\u5AEA\u5AEE\u5AF5\u5AF6\u5AFD\u5B00\u5B01\u5B08\u5B17\u5B34\u5B19\u5B1B\u5B1D\u5B21\u5B25\u5B2D\u5B38\u5B41\u5B4B\u5B4C\u5B52\u5B56\u5B5E\u5B68\u5B6E\u5B6F\u5B7C\u5B7D\u5B7E\u5B7F\u5B81\u5B84\u5B86\u5B8A\u5B8E\u5B90\u5B91\u5B93\u5B94\u5B96\u5BA8\u5BA9\u5BAC\u5BAD\u5BAF\u5BB1\u5BB2\u5BB7\u5BBA\u5BBC\u5BC0\u5BC1\u5BCD\u5BCF\u5BD6", 4, "\u5BE0\u5BEF\u5BF1\u5BF4\u5BFD\u5C0C\u5C17\u5C1E\u5C1F\u5C23\u5C26\u5C29\u5C2B\u5C2C\u5C2E\u5C30\u5C32\u5C35\u5C36\u5C59\u5C5A\u5C5C\u5C62\u5C63\u5C67\u5C68\u5C69"], + ["8fbba1", "\u5C6D\u5C70\u5C74\u5C75\u5C7A\u5C7B\u5C7C\u5C7D\u5C87\u5C88\u5C8A\u5C8F\u5C92\u5C9D\u5C9F\u5CA0\u5CA2\u5CA3\u5CA6\u5CAA\u5CB2\u5CB4\u5CB5\u5CBA\u5CC9\u5CCB\u5CD2\u5CDD\u5CD7\u5CEE\u5CF1\u5CF2\u5CF4\u5D01\u5D06\u5D0D\u5D12\u5D2B\u5D23\u5D24\u5D26\u5D27\u5D31\u5D34\u5D39\u5D3D\u5D3F\u5D42\u5D43\u5D46\u5D48\u5D55\u5D51\u5D59\u5D4A\u5D5F\u5D60\u5D61\u5D62\u5D64\u5D6A\u5D6D\u5D70\u5D79\u5D7A\u5D7E\u5D7F\u5D81\u5D83\u5D88\u5D8A\u5D92\u5D93\u5D94\u5D95\u5D99\u5D9B\u5D9F\u5DA0\u5DA7\u5DAB\u5DB0\u5DB4\u5DB8\u5DB9\u5DC3\u5DC7\u5DCB\u5DD0\u5DCE\u5DD8\u5DD9\u5DE0\u5DE4"], + ["8fbca1", "\u5DE9\u5DF8\u5DF9\u5E00\u5E07\u5E0D\u5E12\u5E14\u5E15\u5E18\u5E1F\u5E20\u5E2E\u5E28\u5E32\u5E35\u5E3E\u5E4B\u5E50\u5E49\u5E51\u5E56\u5E58\u5E5B\u5E5C\u5E5E\u5E68\u5E6A", 4, "\u5E70\u5E80\u5E8B\u5E8E\u5EA2\u5EA4\u5EA5\u5EA8\u5EAA\u5EAC\u5EB1\u5EB3\u5EBD\u5EBE\u5EBF\u5EC6\u5ECC\u5ECB\u5ECE\u5ED1\u5ED2\u5ED4\u5ED5\u5EDC\u5EDE\u5EE5\u5EEB\u5F02\u5F06\u5F07\u5F08\u5F0E\u5F19\u5F1C\u5F1D\u5F21\u5F22\u5F23\u5F24\u5F28\u5F2B\u5F2C\u5F2E\u5F30\u5F34\u5F36\u5F3B\u5F3D\u5F3F\u5F40\u5F44\u5F45\u5F47\u5F4D\u5F50\u5F54\u5F58\u5F5B\u5F60\u5F63\u5F64\u5F67"], + ["8fbda1", "\u5F6F\u5F72\u5F74\u5F75\u5F78\u5F7A\u5F7D\u5F7E\u5F89\u5F8D\u5F8F\u5F96\u5F9C\u5F9D\u5FA2\u5FA7\u5FAB\u5FA4\u5FAC\u5FAF\u5FB0\u5FB1\u5FB8\u5FC4\u5FC7\u5FC8\u5FC9\u5FCB\u5FD0", 4, "\u5FDE\u5FE1\u5FE2\u5FE8\u5FE9\u5FEA\u5FEC\u5FED\u5FEE\u5FEF\u5FF2\u5FF3\u5FF6\u5FFA\u5FFC\u6007\u600A\u600D\u6013\u6014\u6017\u6018\u601A\u601F\u6024\u602D\u6033\u6035\u6040\u6047\u6048\u6049\u604C\u6051\u6054\u6056\u6057\u605D\u6061\u6067\u6071\u607E\u607F\u6082\u6086\u6088\u608A\u608E\u6091\u6093\u6095\u6098\u609D\u609E\u60A2\u60A4\u60A5\u60A8\u60B0\u60B1\u60B7"], + ["8fbea1", "\u60BB\u60BE\u60C2\u60C4\u60C8\u60C9\u60CA\u60CB\u60CE\u60CF\u60D4\u60D5\u60D9\u60DB\u60DD\u60DE\u60E2\u60E5\u60F2\u60F5\u60F8\u60FC\u60FD\u6102\u6107\u610A\u610C\u6110", 4, "\u6116\u6117\u6119\u611C\u611E\u6122\u612A\u612B\u6130\u6131\u6135\u6136\u6137\u6139\u6141\u6145\u6146\u6149\u615E\u6160\u616C\u6172\u6178\u617B\u617C\u617F\u6180\u6181\u6183\u6184\u618B\u618D\u6192\u6193\u6197\u6198\u619C\u619D\u619F\u61A0\u61A5\u61A8\u61AA\u61AD\u61B8\u61B9\u61BC\u61C0\u61C1\u61C2\u61CE\u61CF\u61D5\u61DC\u61DD\u61DE\u61DF\u61E1\u61E2\u61E7\u61E9\u61E5"], + ["8fbfa1", "\u61EC\u61ED\u61EF\u6201\u6203\u6204\u6207\u6213\u6215\u621C\u6220\u6222\u6223\u6227\u6229\u622B\u6239\u623D\u6242\u6243\u6244\u6246\u624C\u6250\u6251\u6252\u6254\u6256\u625A\u625C\u6264\u626D\u626F\u6273\u627A\u627D\u628D\u628E\u628F\u6290\u62A6\u62A8\u62B3\u62B6\u62B7\u62BA\u62BE\u62BF\u62C4\u62CE\u62D5\u62D6\u62DA\u62EA\u62F2\u62F4\u62FC\u62FD\u6303\u6304\u630A\u630B\u630D\u6310\u6313\u6316\u6318\u6329\u632A\u632D\u6335\u6336\u6339\u633C\u6341\u6342\u6343\u6344\u6346\u634A\u634B\u634E\u6352\u6353\u6354\u6358\u635B\u6365\u6366\u636C\u636D\u6371\u6374\u6375"], + ["8fc0a1", "\u6378\u637C\u637D\u637F\u6382\u6384\u6387\u638A\u6390\u6394\u6395\u6399\u639A\u639E\u63A4\u63A6\u63AD\u63AE\u63AF\u63BD\u63C1\u63C5\u63C8\u63CE\u63D1\u63D3\u63D4\u63D5\u63DC\u63E0\u63E5\u63EA\u63EC\u63F2\u63F3\u63F5\u63F8\u63F9\u6409\u640A\u6410\u6412\u6414\u6418\u641E\u6420\u6422\u6424\u6425\u6429\u642A\u642F\u6430\u6435\u643D\u643F\u644B\u644F\u6451\u6452\u6453\u6454\u645A\u645B\u645C\u645D\u645F\u6460\u6461\u6463\u646D\u6473\u6474\u647B\u647D\u6485\u6487\u648F\u6490\u6491\u6498\u6499\u649B\u649D\u649F\u64A1\u64A3\u64A6\u64A8\u64AC\u64B3\u64BD\u64BE\u64BF"], + ["8fc1a1", "\u64C4\u64C9\u64CA\u64CB\u64CC\u64CE\u64D0\u64D1\u64D5\u64D7\u64E4\u64E5\u64E9\u64EA\u64ED\u64F0\u64F5\u64F7\u64FB\u64FF\u6501\u6504\u6508\u6509\u650A\u650F\u6513\u6514\u6516\u6519\u651B\u651E\u651F\u6522\u6526\u6529\u652E\u6531\u653A\u653C\u653D\u6543\u6547\u6549\u6550\u6552\u6554\u655F\u6560\u6567\u656B\u657A\u657D\u6581\u6585\u658A\u6592\u6595\u6598\u659D\u65A0\u65A3\u65A6\u65AE\u65B2\u65B3\u65B4\u65BF\u65C2\u65C8\u65C9\u65CE\u65D0\u65D4\u65D6\u65D8\u65DF\u65F0\u65F2\u65F4\u65F5\u65F9\u65FE\u65FF\u6600\u6604\u6608\u6609\u660D\u6611\u6612\u6615\u6616\u661D"], + ["8fc2a1", "\u661E\u6621\u6622\u6623\u6624\u6626\u6629\u662A\u662B\u662C\u662E\u6630\u6631\u6633\u6639\u6637\u6640\u6645\u6646\u664A\u664C\u6651\u664E\u6657\u6658\u6659\u665B\u665C\u6660\u6661\u66FB\u666A\u666B\u666C\u667E\u6673\u6675\u667F\u6677\u6678\u6679\u667B\u6680\u667C\u668B\u668C\u668D\u6690\u6692\u6699\u669A\u669B\u669C\u669F\u66A0\u66A4\u66AD\u66B1\u66B2\u66B5\u66BB\u66BF\u66C0\u66C2\u66C3\u66C8\u66CC\u66CE\u66CF\u66D4\u66DB\u66DF\u66E8\u66EB\u66EC\u66EE\u66FA\u6705\u6707\u670E\u6713\u6719\u671C\u6720\u6722\u6733\u673E\u6745\u6747\u6748\u674C\u6754\u6755\u675D"], + ["8fc3a1", "\u6766\u676C\u676E\u6774\u6776\u677B\u6781\u6784\u678E\u678F\u6791\u6793\u6796\u6798\u6799\u679B\u67B0\u67B1\u67B2\u67B5\u67BB\u67BC\u67BD\u67F9\u67C0\u67C2\u67C3\u67C5\u67C8\u67C9\u67D2\u67D7\u67D9\u67DC\u67E1\u67E6\u67F0\u67F2\u67F6\u67F7\u6852\u6814\u6819\u681D\u681F\u6828\u6827\u682C\u682D\u682F\u6830\u6831\u6833\u683B\u683F\u6844\u6845\u684A\u684C\u6855\u6857\u6858\u685B\u686B\u686E", 4, "\u6875\u6879\u687A\u687B\u687C\u6882\u6884\u6886\u6888\u6896\u6898\u689A\u689C\u68A1\u68A3\u68A5\u68A9\u68AA\u68AE\u68B2\u68BB\u68C5\u68C8\u68CC\u68CF"], + ["8fc4a1", "\u68D0\u68D1\u68D3\u68D6\u68D9\u68DC\u68DD\u68E5\u68E8\u68EA\u68EB\u68EC\u68ED\u68F0\u68F1\u68F5\u68F6\u68FB\u68FC\u68FD\u6906\u6909\u690A\u6910\u6911\u6913\u6916\u6917\u6931\u6933\u6935\u6938\u693B\u6942\u6945\u6949\u694E\u6957\u695B\u6963\u6964\u6965\u6966\u6968\u6969\u696C\u6970\u6971\u6972\u697A\u697B\u697F\u6980\u698D\u6992\u6996\u6998\u69A1\u69A5\u69A6\u69A8\u69AB\u69AD\u69AF\u69B7\u69B8\u69BA\u69BC\u69C5\u69C8\u69D1\u69D6\u69D7\u69E2\u69E5\u69EE\u69EF\u69F1\u69F3\u69F5\u69FE\u6A00\u6A01\u6A03\u6A0F\u6A11\u6A15\u6A1A\u6A1D\u6A20\u6A24\u6A28\u6A30\u6A32"], + ["8fc5a1", "\u6A34\u6A37\u6A3B\u6A3E\u6A3F\u6A45\u6A46\u6A49\u6A4A\u6A4E\u6A50\u6A51\u6A52\u6A55\u6A56\u6A5B\u6A64\u6A67\u6A6A\u6A71\u6A73\u6A7E\u6A81\u6A83\u6A86\u6A87\u6A89\u6A8B\u6A91\u6A9B\u6A9D\u6A9E\u6A9F\u6AA5\u6AAB\u6AAF\u6AB0\u6AB1\u6AB4\u6ABD\u6ABE\u6ABF\u6AC6\u6AC9\u6AC8\u6ACC\u6AD0\u6AD4\u6AD5\u6AD6\u6ADC\u6ADD\u6AE4\u6AE7\u6AEC\u6AF0\u6AF1\u6AF2\u6AFC\u6AFD\u6B02\u6B03\u6B06\u6B07\u6B09\u6B0F\u6B10\u6B11\u6B17\u6B1B\u6B1E\u6B24\u6B28\u6B2B\u6B2C\u6B2F\u6B35\u6B36\u6B3B\u6B3F\u6B46\u6B4A\u6B4D\u6B52\u6B56\u6B58\u6B5D\u6B60\u6B67\u6B6B\u6B6E\u6B70\u6B75\u6B7D"], + ["8fc6a1", "\u6B7E\u6B82\u6B85\u6B97\u6B9B\u6B9F\u6BA0\u6BA2\u6BA3\u6BA8\u6BA9\u6BAC\u6BAD\u6BAE\u6BB0\u6BB8\u6BB9\u6BBD\u6BBE\u6BC3\u6BC4\u6BC9\u6BCC\u6BD6\u6BDA\u6BE1\u6BE3\u6BE6\u6BE7\u6BEE\u6BF1\u6BF7\u6BF9\u6BFF\u6C02\u6C04\u6C05\u6C09\u6C0D\u6C0E\u6C10\u6C12\u6C19\u6C1F\u6C26\u6C27\u6C28\u6C2C\u6C2E\u6C33\u6C35\u6C36\u6C3A\u6C3B\u6C3F\u6C4A\u6C4B\u6C4D\u6C4F\u6C52\u6C54\u6C59\u6C5B\u6C5C\u6C6B\u6C6D\u6C6F\u6C74\u6C76\u6C78\u6C79\u6C7B\u6C85\u6C86\u6C87\u6C89\u6C94\u6C95\u6C97\u6C98\u6C9C\u6C9F\u6CB0\u6CB2\u6CB4\u6CC2\u6CC6\u6CCD\u6CCF\u6CD0\u6CD1\u6CD2\u6CD4\u6CD6"], + ["8fc7a1", "\u6CDA\u6CDC\u6CE0\u6CE7\u6CE9\u6CEB\u6CEC\u6CEE\u6CF2\u6CF4\u6D04\u6D07\u6D0A\u6D0E\u6D0F\u6D11\u6D13\u6D1A\u6D26\u6D27\u6D28\u6C67\u6D2E\u6D2F\u6D31\u6D39\u6D3C\u6D3F\u6D57\u6D5E\u6D5F\u6D61\u6D65\u6D67\u6D6F\u6D70\u6D7C\u6D82\u6D87\u6D91\u6D92\u6D94\u6D96\u6D97\u6D98\u6DAA\u6DAC\u6DB4\u6DB7\u6DB9\u6DBD\u6DBF\u6DC4\u6DC8\u6DCA\u6DCE\u6DCF\u6DD6\u6DDB\u6DDD\u6DDF\u6DE0\u6DE2\u6DE5\u6DE9\u6DEF\u6DF0\u6DF4\u6DF6\u6DFC\u6E00\u6E04\u6E1E\u6E22\u6E27\u6E32\u6E36\u6E39\u6E3B\u6E3C\u6E44\u6E45\u6E48\u6E49\u6E4B\u6E4F\u6E51\u6E52\u6E53\u6E54\u6E57\u6E5C\u6E5D\u6E5E"], + ["8fc8a1", "\u6E62\u6E63\u6E68\u6E73\u6E7B\u6E7D\u6E8D\u6E93\u6E99\u6EA0\u6EA7\u6EAD\u6EAE\u6EB1\u6EB3\u6EBB\u6EBF\u6EC0\u6EC1\u6EC3\u6EC7\u6EC8\u6ECA\u6ECD\u6ECE\u6ECF\u6EEB\u6EED\u6EEE\u6EF9\u6EFB\u6EFD\u6F04\u6F08\u6F0A\u6F0C\u6F0D\u6F16\u6F18\u6F1A\u6F1B\u6F26\u6F29\u6F2A\u6F2F\u6F30\u6F33\u6F36\u6F3B\u6F3C\u6F2D\u6F4F\u6F51\u6F52\u6F53\u6F57\u6F59\u6F5A\u6F5D\u6F5E\u6F61\u6F62\u6F68\u6F6C\u6F7D\u6F7E\u6F83\u6F87\u6F88\u6F8B\u6F8C\u6F8D\u6F90\u6F92\u6F93\u6F94\u6F96\u6F9A\u6F9F\u6FA0\u6FA5\u6FA6\u6FA7\u6FA8\u6FAE\u6FAF\u6FB0\u6FB5\u6FB6\u6FBC\u6FC5\u6FC7\u6FC8\u6FCA"], + ["8fc9a1", "\u6FDA\u6FDE\u6FE8\u6FE9\u6FF0\u6FF5\u6FF9\u6FFC\u6FFD\u7000\u7005\u7006\u7007\u700D\u7017\u7020\u7023\u702F\u7034\u7037\u7039\u703C\u7043\u7044\u7048\u7049\u704A\u704B\u7054\u7055\u705D\u705E\u704E\u7064\u7065\u706C\u706E\u7075\u7076\u707E\u7081\u7085\u7086\u7094", 4, "\u709B\u70A4\u70AB\u70B0\u70B1\u70B4\u70B7\u70CA\u70D1\u70D3\u70D4\u70D5\u70D6\u70D8\u70DC\u70E4\u70FA\u7103", 4, "\u710B\u710C\u710F\u711E\u7120\u712B\u712D\u712F\u7130\u7131\u7138\u7141\u7145\u7146\u7147\u714A\u714B\u7150\u7152\u7157\u715A\u715C\u715E\u7160"], + ["8fcaa1", "\u7168\u7179\u7180\u7185\u7187\u718C\u7192\u719A\u719B\u71A0\u71A2\u71AF\u71B0\u71B2\u71B3\u71BA\u71BF\u71C0\u71C1\u71C4\u71CB\u71CC\u71D3\u71D6\u71D9\u71DA\u71DC\u71F8\u71FE\u7200\u7207\u7208\u7209\u7213\u7217\u721A\u721D\u721F\u7224\u722B\u722F\u7234\u7238\u7239\u7241\u7242\u7243\u7245\u724E\u724F\u7250\u7253\u7255\u7256\u725A\u725C\u725E\u7260\u7263\u7268\u726B\u726E\u726F\u7271\u7277\u7278\u727B\u727C\u727F\u7284\u7289\u728D\u728E\u7293\u729B\u72A8\u72AD\u72AE\u72B1\u72B4\u72BE\u72C1\u72C7\u72C9\u72CC\u72D5\u72D6\u72D8\u72DF\u72E5\u72F3\u72F4\u72FA\u72FB"], + ["8fcba1", "\u72FE\u7302\u7304\u7305\u7307\u730B\u730D\u7312\u7313\u7318\u7319\u731E\u7322\u7324\u7327\u7328\u732C\u7331\u7332\u7335\u733A\u733B\u733D\u7343\u734D\u7350\u7352\u7356\u7358\u735D\u735E\u735F\u7360\u7366\u7367\u7369\u736B\u736C\u736E\u736F\u7371\u7377\u7379\u737C\u7380\u7381\u7383\u7385\u7386\u738E\u7390\u7393\u7395\u7397\u7398\u739C\u739E\u739F\u73A0\u73A2\u73A5\u73A6\u73AA\u73AB\u73AD\u73B5\u73B7\u73B9\u73BC\u73BD\u73BF\u73C5\u73C6\u73C9\u73CB\u73CC\u73CF\u73D2\u73D3\u73D6\u73D9\u73DD\u73E1\u73E3\u73E6\u73E7\u73E9\u73F4\u73F5\u73F7\u73F9\u73FA\u73FB\u73FD"], + ["8fcca1", "\u73FF\u7400\u7401\u7404\u7407\u740A\u7411\u741A\u741B\u7424\u7426\u7428", 9, "\u7439\u7440\u7443\u7444\u7446\u7447\u744B\u744D\u7451\u7452\u7457\u745D\u7462\u7466\u7467\u7468\u746B\u746D\u746E\u7471\u7472\u7480\u7481\u7485\u7486\u7487\u7489\u748F\u7490\u7491\u7492\u7498\u7499\u749A\u749C\u749F\u74A0\u74A1\u74A3\u74A6\u74A8\u74A9\u74AA\u74AB\u74AE\u74AF\u74B1\u74B2\u74B5\u74B9\u74BB\u74BF\u74C8\u74C9\u74CC\u74D0\u74D3\u74D8\u74DA\u74DB\u74DE\u74DF\u74E4\u74E8\u74EA\u74EB\u74EF\u74F4\u74FA\u74FB\u74FC\u74FF\u7506"], + ["8fcda1", "\u7512\u7516\u7517\u7520\u7521\u7524\u7527\u7529\u752A\u752F\u7536\u7539\u753D\u753E\u753F\u7540\u7543\u7547\u7548\u754E\u7550\u7552\u7557\u755E\u755F\u7561\u756F\u7571\u7579", 5, "\u7581\u7585\u7590\u7592\u7593\u7595\u7599\u759C\u75A2\u75A4\u75B4\u75BA\u75BF\u75C0\u75C1\u75C4\u75C6\u75CC\u75CE\u75CF\u75D7\u75DC\u75DF\u75E0\u75E1\u75E4\u75E7\u75EC\u75EE\u75EF\u75F1\u75F9\u7600\u7602\u7603\u7604\u7607\u7608\u760A\u760C\u760F\u7612\u7613\u7615\u7616\u7619\u761B\u761C\u761D\u761E\u7623\u7625\u7626\u7629\u762D\u7632\u7633\u7635\u7638\u7639"], + ["8fcea1", "\u763A\u763C\u764A\u7640\u7641\u7643\u7644\u7645\u7649\u764B\u7655\u7659\u765F\u7664\u7665\u766D\u766E\u766F\u7671\u7674\u7681\u7685\u768C\u768D\u7695\u769B\u769C\u769D\u769F\u76A0\u76A2", 6, "\u76AA\u76AD\u76BD\u76C1\u76C5\u76C9\u76CB\u76CC\u76CE\u76D4\u76D9\u76E0\u76E6\u76E8\u76EC\u76F0\u76F1\u76F6\u76F9\u76FC\u7700\u7706\u770A\u770E\u7712\u7714\u7715\u7717\u7719\u771A\u771C\u7722\u7728\u772D\u772E\u772F\u7734\u7735\u7736\u7739\u773D\u773E\u7742\u7745\u7746\u774A\u774D\u774E\u774F\u7752\u7756\u7757\u775C\u775E\u775F\u7760\u7762"], + ["8fcfa1", "\u7764\u7767\u776A\u776C\u7770\u7772\u7773\u7774\u777A\u777D\u7780\u7784\u778C\u778D\u7794\u7795\u7796\u779A\u779F\u77A2\u77A7\u77AA\u77AE\u77AF\u77B1\u77B5\u77BE\u77C3\u77C9\u77D1\u77D2\u77D5\u77D9\u77DE\u77DF\u77E0\u77E4\u77E6\u77EA\u77EC\u77F0\u77F1\u77F4\u77F8\u77FB\u7805\u7806\u7809\u780D\u780E\u7811\u781D\u7821\u7822\u7823\u782D\u782E\u7830\u7835\u7837\u7843\u7844\u7847\u7848\u784C\u784E\u7852\u785C\u785E\u7860\u7861\u7863\u7864\u7868\u786A\u786E\u787A\u787E\u788A\u788F\u7894\u7898\u78A1\u789D\u789E\u789F\u78A4\u78A8\u78AC\u78AD\u78B0\u78B1\u78B2\u78B3"], + ["8fd0a1", "\u78BB\u78BD\u78BF\u78C7\u78C8\u78C9\u78CC\u78CE\u78D2\u78D3\u78D5\u78D6\u78E4\u78DB\u78DF\u78E0\u78E1\u78E6\u78EA\u78F2\u78F3\u7900\u78F6\u78F7\u78FA\u78FB\u78FF\u7906\u790C\u7910\u791A\u791C\u791E\u791F\u7920\u7925\u7927\u7929\u792D\u7931\u7934\u7935\u793B\u793D\u793F\u7944\u7945\u7946\u794A\u794B\u794F\u7951\u7954\u7958\u795B\u795C\u7967\u7969\u796B\u7972\u7979\u797B\u797C\u797E\u798B\u798C\u7991\u7993\u7994\u7995\u7996\u7998\u799B\u799C\u79A1\u79A8\u79A9\u79AB\u79AF\u79B1\u79B4\u79B8\u79BB\u79C2\u79C4\u79C7\u79C8\u79CA\u79CF\u79D4\u79D6\u79DA\u79DD\u79DE"], + ["8fd1a1", "\u79E0\u79E2\u79E5\u79EA\u79EB\u79ED\u79F1\u79F8\u79FC\u7A02\u7A03\u7A07\u7A09\u7A0A\u7A0C\u7A11\u7A15\u7A1B\u7A1E\u7A21\u7A27\u7A2B\u7A2D\u7A2F\u7A30\u7A34\u7A35\u7A38\u7A39\u7A3A\u7A44\u7A45\u7A47\u7A48\u7A4C\u7A55\u7A56\u7A59\u7A5C\u7A5D\u7A5F\u7A60\u7A65\u7A67\u7A6A\u7A6D\u7A75\u7A78\u7A7E\u7A80\u7A82\u7A85\u7A86\u7A8A\u7A8B\u7A90\u7A91\u7A94\u7A9E\u7AA0\u7AA3\u7AAC\u7AB3\u7AB5\u7AB9\u7ABB\u7ABC\u7AC6\u7AC9\u7ACC\u7ACE\u7AD1\u7ADB\u7AE8\u7AE9\u7AEB\u7AEC\u7AF1\u7AF4\u7AFB\u7AFD\u7AFE\u7B07\u7B14\u7B1F\u7B23\u7B27\u7B29\u7B2A\u7B2B\u7B2D\u7B2E\u7B2F\u7B30"], + ["8fd2a1", "\u7B31\u7B34\u7B3D\u7B3F\u7B40\u7B41\u7B47\u7B4E\u7B55\u7B60\u7B64\u7B66\u7B69\u7B6A\u7B6D\u7B6F\u7B72\u7B73\u7B77\u7B84\u7B89\u7B8E\u7B90\u7B91\u7B96\u7B9B\u7B9E\u7BA0\u7BA5\u7BAC\u7BAF\u7BB0\u7BB2\u7BB5\u7BB6\u7BBA\u7BBB\u7BBC\u7BBD\u7BC2\u7BC5\u7BC8\u7BCA\u7BD4\u7BD6\u7BD7\u7BD9\u7BDA\u7BDB\u7BE8\u7BEA\u7BF2\u7BF4\u7BF5\u7BF8\u7BF9\u7BFA\u7BFC\u7BFE\u7C01\u7C02\u7C03\u7C04\u7C06\u7C09\u7C0B\u7C0C\u7C0E\u7C0F\u7C19\u7C1B\u7C20\u7C25\u7C26\u7C28\u7C2C\u7C31\u7C33\u7C34\u7C36\u7C39\u7C3A\u7C46\u7C4A\u7C55\u7C51\u7C52\u7C53\u7C59", 5], + ["8fd3a1", "\u7C61\u7C63\u7C67\u7C69\u7C6D\u7C6E\u7C70\u7C72\u7C79\u7C7C\u7C7D\u7C86\u7C87\u7C8F\u7C94\u7C9E\u7CA0\u7CA6\u7CB0\u7CB6\u7CB7\u7CBA\u7CBB\u7CBC\u7CBF\u7CC4\u7CC7\u7CC8\u7CC9\u7CCD\u7CCF\u7CD3\u7CD4\u7CD5\u7CD7\u7CD9\u7CDA\u7CDD\u7CE6\u7CE9\u7CEB\u7CF5\u7D03\u7D07\u7D08\u7D09\u7D0F\u7D11\u7D12\u7D13\u7D16\u7D1D\u7D1E\u7D23\u7D26\u7D2A\u7D2D\u7D31\u7D3C\u7D3D\u7D3E\u7D40\u7D41\u7D47\u7D48\u7D4D\u7D51\u7D53\u7D57\u7D59\u7D5A\u7D5C\u7D5D\u7D65\u7D67\u7D6A\u7D70\u7D78\u7D7A\u7D7B\u7D7F\u7D81\u7D82\u7D83\u7D85\u7D86\u7D88\u7D8B\u7D8C\u7D8D\u7D91\u7D96\u7D97\u7D9D"], + ["8fd4a1", "\u7D9E\u7DA6\u7DA7\u7DAA\u7DB3\u7DB6\u7DB7\u7DB9\u7DC2", 4, "\u7DCC\u7DCD\u7DCE\u7DD7\u7DD9\u7E00\u7DE2\u7DE5\u7DE6\u7DEA\u7DEB\u7DED\u7DF1\u7DF5\u7DF6\u7DF9\u7DFA\u7E08\u7E10\u7E11\u7E15\u7E17\u7E1C\u7E1D\u7E20\u7E27\u7E28\u7E2C\u7E2D\u7E2F\u7E33\u7E36\u7E3F\u7E44\u7E45\u7E47\u7E4E\u7E50\u7E52\u7E58\u7E5F\u7E61\u7E62\u7E65\u7E6B\u7E6E\u7E6F\u7E73\u7E78\u7E7E\u7E81\u7E86\u7E87\u7E8A\u7E8D\u7E91\u7E95\u7E98\u7E9A\u7E9D\u7E9E\u7F3C\u7F3B\u7F3D\u7F3E\u7F3F\u7F43\u7F44\u7F47\u7F4F\u7F52\u7F53\u7F5B\u7F5C\u7F5D\u7F61\u7F63\u7F64\u7F65\u7F66\u7F6D"], + ["8fd5a1", "\u7F71\u7F7D\u7F7E\u7F7F\u7F80\u7F8B\u7F8D\u7F8F\u7F90\u7F91\u7F96\u7F97\u7F9C\u7FA1\u7FA2\u7FA6\u7FAA\u7FAD\u7FB4\u7FBC\u7FBF\u7FC0\u7FC3\u7FC8\u7FCE\u7FCF\u7FDB\u7FDF\u7FE3\u7FE5\u7FE8\u7FEC\u7FEE\u7FEF\u7FF2\u7FFA\u7FFD\u7FFE\u7FFF\u8007\u8008\u800A\u800D\u800E\u800F\u8011\u8013\u8014\u8016\u801D\u801E\u801F\u8020\u8024\u8026\u802C\u802E\u8030\u8034\u8035\u8037\u8039\u803A\u803C\u803E\u8040\u8044\u8060\u8064\u8066\u806D\u8071\u8075\u8081\u8088\u808E\u809C\u809E\u80A6\u80A7\u80AB\u80B8\u80B9\u80C8\u80CD\u80CF\u80D2\u80D4\u80D5\u80D7\u80D8\u80E0\u80ED\u80EE"], + ["8fd6a1", "\u80F0\u80F2\u80F3\u80F6\u80F9\u80FA\u80FE\u8103\u810B\u8116\u8117\u8118\u811C\u811E\u8120\u8124\u8127\u812C\u8130\u8135\u813A\u813C\u8145\u8147\u814A\u814C\u8152\u8157\u8160\u8161\u8167\u8168\u8169\u816D\u816F\u8177\u8181\u8190\u8184\u8185\u8186\u818B\u818E\u8196\u8198\u819B\u819E\u81A2\u81AE\u81B2\u81B4\u81BB\u81CB\u81C3\u81C5\u81CA\u81CE\u81CF\u81D5\u81D7\u81DB\u81DD\u81DE\u81E1\u81E4\u81EB\u81EC\u81F0\u81F1\u81F2\u81F5\u81F6\u81F8\u81F9\u81FD\u81FF\u8200\u8203\u820F\u8213\u8214\u8219\u821A\u821D\u8221\u8222\u8228\u8232\u8234\u823A\u8243\u8244\u8245\u8246"], + ["8fd7a1", "\u824B\u824E\u824F\u8251\u8256\u825C\u8260\u8263\u8267\u826D\u8274\u827B\u827D\u827F\u8280\u8281\u8283\u8284\u8287\u8289\u828A\u828E\u8291\u8294\u8296\u8298\u829A\u829B\u82A0\u82A1\u82A3\u82A4\u82A7\u82A8\u82A9\u82AA\u82AE\u82B0\u82B2\u82B4\u82B7\u82BA\u82BC\u82BE\u82BF\u82C6\u82D0\u82D5\u82DA\u82E0\u82E2\u82E4\u82E8\u82EA\u82ED\u82EF\u82F6\u82F7\u82FD\u82FE\u8300\u8301\u8307\u8308\u830A\u830B\u8354\u831B\u831D\u831E\u831F\u8321\u8322\u832C\u832D\u832E\u8330\u8333\u8337\u833A\u833C\u833D\u8342\u8343\u8344\u8347\u834D\u834E\u8351\u8355\u8356\u8357\u8370\u8378"], + ["8fd8a1", "\u837D\u837F\u8380\u8382\u8384\u8386\u838D\u8392\u8394\u8395\u8398\u8399\u839B\u839C\u839D\u83A6\u83A7\u83A9\u83AC\u83BE\u83BF\u83C0\u83C7\u83C9\u83CF\u83D0\u83D1\u83D4\u83DD\u8353\u83E8\u83EA\u83F6\u83F8\u83F9\u83FC\u8401\u8406\u840A\u840F\u8411\u8415\u8419\u83AD\u842F\u8439\u8445\u8447\u8448\u844A\u844D\u844F\u8451\u8452\u8456\u8458\u8459\u845A\u845C\u8460\u8464\u8465\u8467\u846A\u8470\u8473\u8474\u8476\u8478\u847C\u847D\u8481\u8485\u8492\u8493\u8495\u849E\u84A6\u84A8\u84A9\u84AA\u84AF\u84B1\u84B4\u84BA\u84BD\u84BE\u84C0\u84C2\u84C7\u84C8\u84CC\u84CF\u84D3"], + ["8fd9a1", "\u84DC\u84E7\u84EA\u84EF\u84F0\u84F1\u84F2\u84F7\u8532\u84FA\u84FB\u84FD\u8502\u8503\u8507\u850C\u850E\u8510\u851C\u851E\u8522\u8523\u8524\u8525\u8527\u852A\u852B\u852F\u8533\u8534\u8536\u853F\u8546\u854F", 4, "\u8556\u8559\u855C", 6, "\u8564\u856B\u856F\u8579\u857A\u857B\u857D\u857F\u8581\u8585\u8586\u8589\u858B\u858C\u858F\u8593\u8598\u859D\u859F\u85A0\u85A2\u85A5\u85A7\u85B4\u85B6\u85B7\u85B8\u85BC\u85BD\u85BE\u85BF\u85C2\u85C7\u85CA\u85CB\u85CE\u85AD\u85D8\u85DA\u85DF\u85E0\u85E6\u85E8\u85ED\u85F3\u85F6\u85FC"], + ["8fdaa1", "\u85FF\u8600\u8604\u8605\u860D\u860E\u8610\u8611\u8612\u8618\u8619\u861B\u861E\u8621\u8627\u8629\u8636\u8638\u863A\u863C\u863D\u8640\u8642\u8646\u8652\u8653\u8656\u8657\u8658\u8659\u865D\u8660", 4, "\u8669\u866C\u866F\u8675\u8676\u8677\u867A\u868D\u8691\u8696\u8698\u869A\u869C\u86A1\u86A6\u86A7\u86A8\u86AD\u86B1\u86B3\u86B4\u86B5\u86B7\u86B8\u86B9\u86BF\u86C0\u86C1\u86C3\u86C5\u86D1\u86D2\u86D5\u86D7\u86DA\u86DC\u86E0\u86E3\u86E5\u86E7\u8688\u86FA\u86FC\u86FD\u8704\u8705\u8707\u870B\u870E\u870F\u8710\u8713\u8714\u8719\u871E\u871F\u8721\u8723"], + ["8fdba1", "\u8728\u872E\u872F\u8731\u8732\u8739\u873A\u873C\u873D\u873E\u8740\u8743\u8745\u874D\u8758\u875D\u8761\u8764\u8765\u876F\u8771\u8772\u877B\u8783", 6, "\u878B\u878C\u8790\u8793\u8795\u8797\u8798\u8799\u879E\u87A0\u87A3\u87A7\u87AC\u87AD\u87AE\u87B1\u87B5\u87BE\u87BF\u87C1\u87C8\u87C9\u87CA\u87CE\u87D5\u87D6\u87D9\u87DA\u87DC\u87DF\u87E2\u87E3\u87E4\u87EA\u87EB\u87ED\u87F1\u87F3\u87F8\u87FA\u87FF\u8801\u8803\u8806\u8809\u880A\u880B\u8810\u8819\u8812\u8813\u8814\u8818\u881A\u881B\u881C\u881E\u881F\u8828\u882D\u882E\u8830\u8832\u8835"], + ["8fdca1", "\u883A\u883C\u8841\u8843\u8845\u8848\u8849\u884A\u884B\u884E\u8851\u8855\u8856\u8858\u885A\u885C\u885F\u8860\u8864\u8869\u8871\u8879\u887B\u8880\u8898\u889A\u889B\u889C\u889F\u88A0\u88A8\u88AA\u88BA\u88BD\u88BE\u88C0\u88CA", 4, "\u88D1\u88D2\u88D3\u88DB\u88DE\u88E7\u88EF\u88F0\u88F1\u88F5\u88F7\u8901\u8906\u890D\u890E\u890F\u8915\u8916\u8918\u8919\u891A\u891C\u8920\u8926\u8927\u8928\u8930\u8931\u8932\u8935\u8939\u893A\u893E\u8940\u8942\u8945\u8946\u8949\u894F\u8952\u8957\u895A\u895B\u895C\u8961\u8962\u8963\u896B\u896E\u8970\u8973\u8975\u897A"], + ["8fdda1", "\u897B\u897C\u897D\u8989\u898D\u8990\u8994\u8995\u899B\u899C\u899F\u89A0\u89A5\u89B0\u89B4\u89B5\u89B6\u89B7\u89BC\u89D4", 4, "\u89E5\u89E9\u89EB\u89ED\u89F1\u89F3\u89F6\u89F9\u89FD\u89FF\u8A04\u8A05\u8A07\u8A0F\u8A11\u8A12\u8A14\u8A15\u8A1E\u8A20\u8A22\u8A24\u8A26\u8A2B\u8A2C\u8A2F\u8A35\u8A37\u8A3D\u8A3E\u8A40\u8A43\u8A45\u8A47\u8A49\u8A4D\u8A4E\u8A53\u8A56\u8A57\u8A58\u8A5C\u8A5D\u8A61\u8A65\u8A67\u8A75\u8A76\u8A77\u8A79\u8A7A\u8A7B\u8A7E\u8A7F\u8A80\u8A83\u8A86\u8A8B\u8A8F\u8A90\u8A92\u8A96\u8A97\u8A99\u8A9F\u8AA7\u8AA9\u8AAE\u8AAF\u8AB3"], + ["8fdea1", "\u8AB6\u8AB7\u8ABB\u8ABE\u8AC3\u8AC6\u8AC8\u8AC9\u8ACA\u8AD1\u8AD3\u8AD4\u8AD5\u8AD7\u8ADD\u8ADF\u8AEC\u8AF0\u8AF4\u8AF5\u8AF6\u8AFC\u8AFF\u8B05\u8B06\u8B0B\u8B11\u8B1C\u8B1E\u8B1F\u8B0A\u8B2D\u8B30\u8B37\u8B3C\u8B42", 4, "\u8B48\u8B52\u8B53\u8B54\u8B59\u8B4D\u8B5E\u8B63\u8B6D\u8B76\u8B78\u8B79\u8B7C\u8B7E\u8B81\u8B84\u8B85\u8B8B\u8B8D\u8B8F\u8B94\u8B95\u8B9C\u8B9E\u8B9F\u8C38\u8C39\u8C3D\u8C3E\u8C45\u8C47\u8C49\u8C4B\u8C4F\u8C51\u8C53\u8C54\u8C57\u8C58\u8C5B\u8C5D\u8C59\u8C63\u8C64\u8C66\u8C68\u8C69\u8C6D\u8C73\u8C75\u8C76\u8C7B\u8C7E\u8C86"], + ["8fdfa1", "\u8C87\u8C8B\u8C90\u8C92\u8C93\u8C99\u8C9B\u8C9C\u8CA4\u8CB9\u8CBA\u8CC5\u8CC6\u8CC9\u8CCB\u8CCF\u8CD6\u8CD5\u8CD9\u8CDD\u8CE1\u8CE8\u8CEC\u8CEF\u8CF0\u8CF2\u8CF5\u8CF7\u8CF8\u8CFE\u8CFF\u8D01\u8D03\u8D09\u8D12\u8D17\u8D1B\u8D65\u8D69\u8D6C\u8D6E\u8D7F\u8D82\u8D84\u8D88\u8D8D\u8D90\u8D91\u8D95\u8D9E\u8D9F\u8DA0\u8DA6\u8DAB\u8DAC\u8DAF\u8DB2\u8DB5\u8DB7\u8DB9\u8DBB\u8DC0\u8DC5\u8DC6\u8DC7\u8DC8\u8DCA\u8DCE\u8DD1\u8DD4\u8DD5\u8DD7\u8DD9\u8DE4\u8DE5\u8DE7\u8DEC\u8DF0\u8DBC\u8DF1\u8DF2\u8DF4\u8DFD\u8E01\u8E04\u8E05\u8E06\u8E0B\u8E11\u8E14\u8E16\u8E20\u8E21\u8E22"], + ["8fe0a1", "\u8E23\u8E26\u8E27\u8E31\u8E33\u8E36\u8E37\u8E38\u8E39\u8E3D\u8E40\u8E41\u8E4B\u8E4D\u8E4E\u8E4F\u8E54\u8E5B\u8E5C\u8E5D\u8E5E\u8E61\u8E62\u8E69\u8E6C\u8E6D\u8E6F\u8E70\u8E71\u8E79\u8E7A\u8E7B\u8E82\u8E83\u8E89\u8E90\u8E92\u8E95\u8E9A\u8E9B\u8E9D\u8E9E\u8EA2\u8EA7\u8EA9\u8EAD\u8EAE\u8EB3\u8EB5\u8EBA\u8EBB\u8EC0\u8EC1\u8EC3\u8EC4\u8EC7\u8ECF\u8ED1\u8ED4\u8EDC\u8EE8\u8EEE\u8EF0\u8EF1\u8EF7\u8EF9\u8EFA\u8EED\u8F00\u8F02\u8F07\u8F08\u8F0F\u8F10\u8F16\u8F17\u8F18\u8F1E\u8F20\u8F21\u8F23\u8F25\u8F27\u8F28\u8F2C\u8F2D\u8F2E\u8F34\u8F35\u8F36\u8F37\u8F3A\u8F40\u8F41"], + ["8fe1a1", "\u8F43\u8F47\u8F4F\u8F51", 4, "\u8F58\u8F5D\u8F5E\u8F65\u8F9D\u8FA0\u8FA1\u8FA4\u8FA5\u8FA6\u8FB5\u8FB6\u8FB8\u8FBE\u8FC0\u8FC1\u8FC6\u8FCA\u8FCB\u8FCD\u8FD0\u8FD2\u8FD3\u8FD5\u8FE0\u8FE3\u8FE4\u8FE8\u8FEE\u8FF1\u8FF5\u8FF6\u8FFB\u8FFE\u9002\u9004\u9008\u900C\u9018\u901B\u9028\u9029\u902F\u902A\u902C\u902D\u9033\u9034\u9037\u903F\u9043\u9044\u904C\u905B\u905D\u9062\u9066\u9067\u906C\u9070\u9074\u9079\u9085\u9088\u908B\u908C\u908E\u9090\u9095\u9097\u9098\u9099\u909B\u90A0\u90A1\u90A2\u90A5\u90B0\u90B2\u90B3\u90B4\u90B6\u90BD\u90CC\u90BE\u90C3"], + ["8fe2a1", "\u90C4\u90C5\u90C7\u90C8\u90D5\u90D7\u90D8\u90D9\u90DC\u90DD\u90DF\u90E5\u90D2\u90F6\u90EB\u90EF\u90F0\u90F4\u90FE\u90FF\u9100\u9104\u9105\u9106\u9108\u910D\u9110\u9114\u9116\u9117\u9118\u911A\u911C\u911E\u9120\u9125\u9122\u9123\u9127\u9129\u912E\u912F\u9131\u9134\u9136\u9137\u9139\u913A\u913C\u913D\u9143\u9147\u9148\u914F\u9153\u9157\u9159\u915A\u915B\u9161\u9164\u9167\u916D\u9174\u9179\u917A\u917B\u9181\u9183\u9185\u9186\u918A\u918E\u9191\u9193\u9194\u9195\u9198\u919E\u91A1\u91A6\u91A8\u91AC\u91AD\u91AE\u91B0\u91B1\u91B2\u91B3\u91B6\u91BB\u91BC\u91BD\u91BF"], + ["8fe3a1", "\u91C2\u91C3\u91C5\u91D3\u91D4\u91D7\u91D9\u91DA\u91DE\u91E4\u91E5\u91E9\u91EA\u91EC", 5, "\u91F7\u91F9\u91FB\u91FD\u9200\u9201\u9204\u9205\u9206\u9207\u9209\u920A\u920C\u9210\u9212\u9213\u9216\u9218\u921C\u921D\u9223\u9224\u9225\u9226\u9228\u922E\u922F\u9230\u9233\u9235\u9236\u9238\u9239\u923A\u923C\u923E\u9240\u9242\u9243\u9246\u9247\u924A\u924D\u924E\u924F\u9251\u9258\u9259\u925C\u925D\u9260\u9261\u9265\u9267\u9268\u9269\u926E\u926F\u9270\u9275", 4, "\u927B\u927C\u927D\u927F\u9288\u9289\u928A\u928D\u928E\u9292\u9297"], + ["8fe4a1", "\u9299\u929F\u92A0\u92A4\u92A5\u92A7\u92A8\u92AB\u92AF\u92B2\u92B6\u92B8\u92BA\u92BB\u92BC\u92BD\u92BF", 4, "\u92C5\u92C6\u92C7\u92C8\u92CB\u92CC\u92CD\u92CE\u92D0\u92D3\u92D5\u92D7\u92D8\u92D9\u92DC\u92DD\u92DF\u92E0\u92E1\u92E3\u92E5\u92E7\u92E8\u92EC\u92EE\u92F0\u92F9\u92FB\u92FF\u9300\u9302\u9308\u930D\u9311\u9314\u9315\u931C\u931D\u931E\u931F\u9321\u9324\u9325\u9327\u9329\u932A\u9333\u9334\u9336\u9337\u9347\u9348\u9349\u9350\u9351\u9352\u9355\u9357\u9358\u935A\u935E\u9364\u9365\u9367\u9369\u936A\u936D\u936F\u9370\u9371\u9373\u9374\u9376"], + ["8fe5a1", "\u937A\u937D\u937F\u9380\u9381\u9382\u9388\u938A\u938B\u938D\u938F\u9392\u9395\u9398\u939B\u939E\u93A1\u93A3\u93A4\u93A6\u93A8\u93AB\u93B4\u93B5\u93B6\u93BA\u93A9\u93C1\u93C4\u93C5\u93C6\u93C7\u93C9", 4, "\u93D3\u93D9\u93DC\u93DE\u93DF\u93E2\u93E6\u93E7\u93F9\u93F7\u93F8\u93FA\u93FB\u93FD\u9401\u9402\u9404\u9408\u9409\u940D\u940E\u940F\u9415\u9416\u9417\u941F\u942E\u942F\u9431\u9432\u9433\u9434\u943B\u943F\u943D\u9443\u9445\u9448\u944A\u944C\u9455\u9459\u945C\u945F\u9461\u9463\u9468\u946B\u946D\u946E\u946F\u9471\u9472\u9484\u9483\u9578\u9579"], + ["8fe6a1", "\u957E\u9584\u9588\u958C\u958D\u958E\u959D\u959E\u959F\u95A1\u95A6\u95A9\u95AB\u95AC\u95B4\u95B6\u95BA\u95BD\u95BF\u95C6\u95C8\u95C9\u95CB\u95D0\u95D1\u95D2\u95D3\u95D9\u95DA\u95DD\u95DE\u95DF\u95E0\u95E4\u95E6\u961D\u961E\u9622\u9624\u9625\u9626\u962C\u9631\u9633\u9637\u9638\u9639\u963A\u963C\u963D\u9641\u9652\u9654\u9656\u9657\u9658\u9661\u966E\u9674\u967B\u967C\u967E\u967F\u9681\u9682\u9683\u9684\u9689\u9691\u9696\u969A\u969D\u969F\u96A4\u96A5\u96A6\u96A9\u96AE\u96AF\u96B3\u96BA\u96CA\u96D2\u5DB2\u96D8\u96DA\u96DD\u96DE\u96DF\u96E9\u96EF\u96F1\u96FA\u9702"], + ["8fe7a1", "\u9703\u9705\u9709\u971A\u971B\u971D\u9721\u9722\u9723\u9728\u9731\u9733\u9741\u9743\u974A\u974E\u974F\u9755\u9757\u9758\u975A\u975B\u9763\u9767\u976A\u976E\u9773\u9776\u9777\u9778\u977B\u977D\u977F\u9780\u9789\u9795\u9796\u9797\u9799\u979A\u979E\u979F\u97A2\u97AC\u97AE\u97B1\u97B2\u97B5\u97B6\u97B8\u97B9\u97BA\u97BC\u97BE\u97BF\u97C1\u97C4\u97C5\u97C7\u97C9\u97CA\u97CC\u97CD\u97CE\u97D0\u97D1\u97D4\u97D7\u97D8\u97D9\u97DD\u97DE\u97E0\u97DB\u97E1\u97E4\u97EF\u97F1\u97F4\u97F7\u97F8\u97FA\u9807\u980A\u9819\u980D\u980E\u9814\u9816\u981C\u981E\u9820\u9823\u9826"], + ["8fe8a1", "\u982B\u982E\u982F\u9830\u9832\u9833\u9835\u9825\u983E\u9844\u9847\u984A\u9851\u9852\u9853\u9856\u9857\u9859\u985A\u9862\u9863\u9865\u9866\u986A\u986C\u98AB\u98AD\u98AE\u98B0\u98B4\u98B7\u98B8\u98BA\u98BB\u98BF\u98C2\u98C5\u98C8\u98CC\u98E1\u98E3\u98E5\u98E6\u98E7\u98EA\u98F3\u98F6\u9902\u9907\u9908\u9911\u9915\u9916\u9917\u991A\u991B\u991C\u991F\u9922\u9926\u9927\u992B\u9931", 4, "\u9939\u993A\u993B\u993C\u9940\u9941\u9946\u9947\u9948\u994D\u994E\u9954\u9958\u9959\u995B\u995C\u995E\u995F\u9960\u999B\u999D\u999F\u99A6\u99B0\u99B1\u99B2\u99B5"], + ["8fe9a1", "\u99B9\u99BA\u99BD\u99BF\u99C3\u99C9\u99D3\u99D4\u99D9\u99DA\u99DC\u99DE\u99E7\u99EA\u99EB\u99EC\u99F0\u99F4\u99F5\u99F9\u99FD\u99FE\u9A02\u9A03\u9A04\u9A0B\u9A0C\u9A10\u9A11\u9A16\u9A1E\u9A20\u9A22\u9A23\u9A24\u9A27\u9A2D\u9A2E\u9A33\u9A35\u9A36\u9A38\u9A47\u9A41\u9A44\u9A4A\u9A4B\u9A4C\u9A4E\u9A51\u9A54\u9A56\u9A5D\u9AAA\u9AAC\u9AAE\u9AAF\u9AB2\u9AB4\u9AB5\u9AB6\u9AB9\u9ABB\u9ABE\u9ABF\u9AC1\u9AC3\u9AC6\u9AC8\u9ACE\u9AD0\u9AD2\u9AD5\u9AD6\u9AD7\u9ADB\u9ADC\u9AE0\u9AE4\u9AE5\u9AE7\u9AE9\u9AEC\u9AF2\u9AF3\u9AF5\u9AF9\u9AFA\u9AFD\u9AFF", 4], + ["8feaa1", "\u9B04\u9B05\u9B08\u9B09\u9B0B\u9B0C\u9B0D\u9B0E\u9B10\u9B12\u9B16\u9B19\u9B1B\u9B1C\u9B20\u9B26\u9B2B\u9B2D\u9B33\u9B34\u9B35\u9B37\u9B39\u9B3A\u9B3D\u9B48\u9B4B\u9B4C\u9B55\u9B56\u9B57\u9B5B\u9B5E\u9B61\u9B63\u9B65\u9B66\u9B68\u9B6A", 4, "\u9B73\u9B75\u9B77\u9B78\u9B79\u9B7F\u9B80\u9B84\u9B85\u9B86\u9B87\u9B89\u9B8A\u9B8B\u9B8D\u9B8F\u9B90\u9B94\u9B9A\u9B9D\u9B9E\u9BA6\u9BA7\u9BA9\u9BAC\u9BB0\u9BB1\u9BB2\u9BB7\u9BB8\u9BBB\u9BBC\u9BBE\u9BBF\u9BC1\u9BC7\u9BC8\u9BCE\u9BD0\u9BD7\u9BD8\u9BDD\u9BDF\u9BE5\u9BE7\u9BEA\u9BEB\u9BEF\u9BF3\u9BF7\u9BF8"], + ["8feba1", "\u9BF9\u9BFA\u9BFD\u9BFF\u9C00\u9C02\u9C0B\u9C0F\u9C11\u9C16\u9C18\u9C19\u9C1A\u9C1C\u9C1E\u9C22\u9C23\u9C26", 4, "\u9C31\u9C35\u9C36\u9C37\u9C3D\u9C41\u9C43\u9C44\u9C45\u9C49\u9C4A\u9C4E\u9C4F\u9C50\u9C53\u9C54\u9C56\u9C58\u9C5B\u9C5D\u9C5E\u9C5F\u9C63\u9C69\u9C6A\u9C5C\u9C6B\u9C68\u9C6E\u9C70\u9C72\u9C75\u9C77\u9C7B\u9CE6\u9CF2\u9CF7\u9CF9\u9D0B\u9D02\u9D11\u9D17\u9D18\u9D1C\u9D1D\u9D1E\u9D2F\u9D30\u9D32\u9D33\u9D34\u9D3A\u9D3C\u9D45\u9D3D\u9D42\u9D43\u9D47\u9D4A\u9D53\u9D54\u9D5F\u9D63\u9D62\u9D65\u9D69\u9D6A\u9D6B\u9D70\u9D76\u9D77\u9D7B"], + ["8feca1", "\u9D7C\u9D7E\u9D83\u9D84\u9D86\u9D8A\u9D8D\u9D8E\u9D92\u9D93\u9D95\u9D96\u9D97\u9D98\u9DA1\u9DAA\u9DAC\u9DAE\u9DB1\u9DB5\u9DB9\u9DBC\u9DBF\u9DC3\u9DC7\u9DC9\u9DCA\u9DD4\u9DD5\u9DD6\u9DD7\u9DDA\u9DDE\u9DDF\u9DE0\u9DE5\u9DE7\u9DE9\u9DEB\u9DEE\u9DF0\u9DF3\u9DF4\u9DFE\u9E0A\u9E02\u9E07\u9E0E\u9E10\u9E11\u9E12\u9E15\u9E16\u9E19\u9E1C\u9E1D\u9E7A\u9E7B\u9E7C\u9E80\u9E82\u9E83\u9E84\u9E85\u9E87\u9E8E\u9E8F\u9E96\u9E98\u9E9B\u9E9E\u9EA4\u9EA8\u9EAC\u9EAE\u9EAF\u9EB0\u9EB3\u9EB4\u9EB5\u9EC6\u9EC8\u9ECB\u9ED5\u9EDF\u9EE4\u9EE7\u9EEC\u9EED\u9EEE\u9EF0\u9EF1\u9EF2\u9EF5"], + ["8feda1", "\u9EF8\u9EFF\u9F02\u9F03\u9F09\u9F0F\u9F10\u9F11\u9F12\u9F14\u9F16\u9F17\u9F19\u9F1A\u9F1B\u9F1F\u9F22\u9F26\u9F2A\u9F2B\u9F2F\u9F31\u9F32\u9F34\u9F37\u9F39\u9F3A\u9F3C\u9F3D\u9F3F\u9F41\u9F43", 4, "\u9F53\u9F55\u9F56\u9F57\u9F58\u9F5A\u9F5D\u9F5E\u9F68\u9F69\u9F6D", 4, "\u9F73\u9F75\u9F7A\u9F7D\u9F8F\u9F90\u9F91\u9F92\u9F94\u9F96\u9F97\u9F9E\u9FA1\u9FA2\u9FA3\u9FA5"] + ]; + } +}); +var require_cp936 = __commonJS2({ + "node_modules/raw-body/node_modules/iconv-lite/encodings/tables/cp936.json"(exports2, module2) { + module2.exports = [ + ["0", "\0", 127, "\u20AC"], + ["8140", "\u4E02\u4E04\u4E05\u4E06\u4E0F\u4E12\u4E17\u4E1F\u4E20\u4E21\u4E23\u4E26\u4E29\u4E2E\u4E2F\u4E31\u4E33\u4E35\u4E37\u4E3C\u4E40\u4E41\u4E42\u4E44\u4E46\u4E4A\u4E51\u4E55\u4E57\u4E5A\u4E5B\u4E62\u4E63\u4E64\u4E65\u4E67\u4E68\u4E6A", 5, "\u4E72\u4E74", 9, "\u4E7F", 6, "\u4E87\u4E8A"], + ["8180", "\u4E90\u4E96\u4E97\u4E99\u4E9C\u4E9D\u4E9E\u4EA3\u4EAA\u4EAF\u4EB0\u4EB1\u4EB4\u4EB6\u4EB7\u4EB8\u4EB9\u4EBC\u4EBD\u4EBE\u4EC8\u4ECC\u4ECF\u4ED0\u4ED2\u4EDA\u4EDB\u4EDC\u4EE0\u4EE2\u4EE6\u4EE7\u4EE9\u4EED\u4EEE\u4EEF\u4EF1\u4EF4\u4EF8\u4EF9\u4EFA\u4EFC\u4EFE\u4F00\u4F02", 6, "\u4F0B\u4F0C\u4F12", 4, "\u4F1C\u4F1D\u4F21\u4F23\u4F28\u4F29\u4F2C\u4F2D\u4F2E\u4F31\u4F33\u4F35\u4F37\u4F39\u4F3B\u4F3E", 4, "\u4F44\u4F45\u4F47", 5, "\u4F52\u4F54\u4F56\u4F61\u4F62\u4F66\u4F68\u4F6A\u4F6B\u4F6D\u4F6E\u4F71\u4F72\u4F75\u4F77\u4F78\u4F79\u4F7A\u4F7D\u4F80\u4F81\u4F82\u4F85\u4F86\u4F87\u4F8A\u4F8C\u4F8E\u4F90\u4F92\u4F93\u4F95\u4F96\u4F98\u4F99\u4F9A\u4F9C\u4F9E\u4F9F\u4FA1\u4FA2"], + ["8240", "\u4FA4\u4FAB\u4FAD\u4FB0", 4, "\u4FB6", 8, "\u4FC0\u4FC1\u4FC2\u4FC6\u4FC7\u4FC8\u4FC9\u4FCB\u4FCC\u4FCD\u4FD2", 4, "\u4FD9\u4FDB\u4FE0\u4FE2\u4FE4\u4FE5\u4FE7\u4FEB\u4FEC\u4FF0\u4FF2\u4FF4\u4FF5\u4FF6\u4FF7\u4FF9\u4FFB\u4FFC\u4FFD\u4FFF", 11], + ["8280", "\u500B\u500E\u5010\u5011\u5013\u5015\u5016\u5017\u501B\u501D\u501E\u5020\u5022\u5023\u5024\u5027\u502B\u502F", 10, "\u503B\u503D\u503F\u5040\u5041\u5042\u5044\u5045\u5046\u5049\u504A\u504B\u504D\u5050", 4, "\u5056\u5057\u5058\u5059\u505B\u505D", 7, "\u5066", 5, "\u506D", 8, "\u5078\u5079\u507A\u507C\u507D\u5081\u5082\u5083\u5084\u5086\u5087\u5089\u508A\u508B\u508C\u508E", 20, "\u50A4\u50A6\u50AA\u50AB\u50AD", 4, "\u50B3", 6, "\u50BC"], + ["8340", "\u50BD", 17, "\u50D0", 5, "\u50D7\u50D8\u50D9\u50DB", 10, "\u50E8\u50E9\u50EA\u50EB\u50EF\u50F0\u50F1\u50F2\u50F4\u50F6", 4, "\u50FC", 9, "\u5108"], + ["8380", "\u5109\u510A\u510C", 5, "\u5113", 13, "\u5122", 28, "\u5142\u5147\u514A\u514C\u514E\u514F\u5150\u5152\u5153\u5157\u5158\u5159\u515B\u515D", 4, "\u5163\u5164\u5166\u5167\u5169\u516A\u516F\u5172\u517A\u517E\u517F\u5183\u5184\u5186\u5187\u518A\u518B\u518E\u518F\u5190\u5191\u5193\u5194\u5198\u519A\u519D\u519E\u519F\u51A1\u51A3\u51A6", 4, "\u51AD\u51AE\u51B4\u51B8\u51B9\u51BA\u51BE\u51BF\u51C1\u51C2\u51C3\u51C5\u51C8\u51CA\u51CD\u51CE\u51D0\u51D2", 5], + ["8440", "\u51D8\u51D9\u51DA\u51DC\u51DE\u51DF\u51E2\u51E3\u51E5", 5, "\u51EC\u51EE\u51F1\u51F2\u51F4\u51F7\u51FE\u5204\u5205\u5209\u520B\u520C\u520F\u5210\u5213\u5214\u5215\u521C\u521E\u521F\u5221\u5222\u5223\u5225\u5226\u5227\u522A\u522C\u522F\u5231\u5232\u5234\u5235\u523C\u523E\u5244", 5, "\u524B\u524E\u524F\u5252\u5253\u5255\u5257\u5258"], + ["8480", "\u5259\u525A\u525B\u525D\u525F\u5260\u5262\u5263\u5264\u5266\u5268\u526B\u526C\u526D\u526E\u5270\u5271\u5273", 9, "\u527E\u5280\u5283", 4, "\u5289", 6, "\u5291\u5292\u5294", 6, "\u529C\u52A4\u52A5\u52A6\u52A7\u52AE\u52AF\u52B0\u52B4", 9, "\u52C0\u52C1\u52C2\u52C4\u52C5\u52C6\u52C8\u52CA\u52CC\u52CD\u52CE\u52CF\u52D1\u52D3\u52D4\u52D5\u52D7\u52D9", 5, "\u52E0\u52E1\u52E2\u52E3\u52E5", 10, "\u52F1", 7, "\u52FB\u52FC\u52FD\u5301\u5302\u5303\u5304\u5307\u5309\u530A\u530B\u530C\u530E"], + ["8540", "\u5311\u5312\u5313\u5314\u5318\u531B\u531C\u531E\u531F\u5322\u5324\u5325\u5327\u5328\u5329\u532B\u532C\u532D\u532F", 9, "\u533C\u533D\u5340\u5342\u5344\u5346\u534B\u534C\u534D\u5350\u5354\u5358\u5359\u535B\u535D\u5365\u5368\u536A\u536C\u536D\u5372\u5376\u5379\u537B\u537C\u537D\u537E\u5380\u5381\u5383\u5387\u5388\u538A\u538E\u538F"], + ["8580", "\u5390", 4, "\u5396\u5397\u5399\u539B\u539C\u539E\u53A0\u53A1\u53A4\u53A7\u53AA\u53AB\u53AC\u53AD\u53AF", 6, "\u53B7\u53B8\u53B9\u53BA\u53BC\u53BD\u53BE\u53C0\u53C3", 4, "\u53CE\u53CF\u53D0\u53D2\u53D3\u53D5\u53DA\u53DC\u53DD\u53DE\u53E1\u53E2\u53E7\u53F4\u53FA\u53FE\u53FF\u5400\u5402\u5405\u5407\u540B\u5414\u5418\u5419\u541A\u541C\u5422\u5424\u5425\u542A\u5430\u5433\u5436\u5437\u543A\u543D\u543F\u5441\u5442\u5444\u5445\u5447\u5449\u544C\u544D\u544E\u544F\u5451\u545A\u545D", 4, "\u5463\u5465\u5467\u5469", 7, "\u5474\u5479\u547A\u547E\u547F\u5481\u5483\u5485\u5487\u5488\u5489\u548A\u548D\u5491\u5493\u5497\u5498\u549C\u549E\u549F\u54A0\u54A1"], + ["8640", "\u54A2\u54A5\u54AE\u54B0\u54B2\u54B5\u54B6\u54B7\u54B9\u54BA\u54BC\u54BE\u54C3\u54C5\u54CA\u54CB\u54D6\u54D8\u54DB\u54E0", 4, "\u54EB\u54EC\u54EF\u54F0\u54F1\u54F4", 5, "\u54FB\u54FE\u5500\u5502\u5503\u5504\u5505\u5508\u550A", 4, "\u5512\u5513\u5515", 5, "\u551C\u551D\u551E\u551F\u5521\u5525\u5526"], + ["8680", "\u5528\u5529\u552B\u552D\u5532\u5534\u5535\u5536\u5538\u5539\u553A\u553B\u553D\u5540\u5542\u5545\u5547\u5548\u554B", 4, "\u5551\u5552\u5553\u5554\u5557", 4, "\u555D\u555E\u555F\u5560\u5562\u5563\u5568\u5569\u556B\u556F", 5, "\u5579\u557A\u557D\u557F\u5585\u5586\u558C\u558D\u558E\u5590\u5592\u5593\u5595\u5596\u5597\u559A\u559B\u559E\u55A0", 6, "\u55A8", 8, "\u55B2\u55B4\u55B6\u55B8\u55BA\u55BC\u55BF", 4, "\u55C6\u55C7\u55C8\u55CA\u55CB\u55CE\u55CF\u55D0\u55D5\u55D7", 4, "\u55DE\u55E0\u55E2\u55E7\u55E9\u55ED\u55EE\u55F0\u55F1\u55F4\u55F6\u55F8", 4, "\u55FF\u5602\u5603\u5604\u5605"], + ["8740", "\u5606\u5607\u560A\u560B\u560D\u5610", 7, "\u5619\u561A\u561C\u561D\u5620\u5621\u5622\u5625\u5626\u5628\u5629\u562A\u562B\u562E\u562F\u5630\u5633\u5635\u5637\u5638\u563A\u563C\u563D\u563E\u5640", 11, "\u564F", 4, "\u5655\u5656\u565A\u565B\u565D", 4], + ["8780", "\u5663\u5665\u5666\u5667\u566D\u566E\u566F\u5670\u5672\u5673\u5674\u5675\u5677\u5678\u5679\u567A\u567D", 7, "\u5687", 6, "\u5690\u5691\u5692\u5694", 14, "\u56A4", 10, "\u56B0", 6, "\u56B8\u56B9\u56BA\u56BB\u56BD", 12, "\u56CB", 8, "\u56D5\u56D6\u56D8\u56D9\u56DC\u56E3\u56E5", 5, "\u56EC\u56EE\u56EF\u56F2\u56F3\u56F6\u56F7\u56F8\u56FB\u56FC\u5700\u5701\u5702\u5705\u5707\u570B", 6], + ["8840", "\u5712", 9, "\u571D\u571E\u5720\u5721\u5722\u5724\u5725\u5726\u5727\u572B\u5731\u5732\u5734", 4, "\u573C\u573D\u573F\u5741\u5743\u5744\u5745\u5746\u5748\u5749\u574B\u5752", 4, "\u5758\u5759\u5762\u5763\u5765\u5767\u576C\u576E\u5770\u5771\u5772\u5774\u5775\u5778\u5779\u577A\u577D\u577E\u577F\u5780"], + ["8880", "\u5781\u5787\u5788\u5789\u578A\u578D", 4, "\u5794", 6, "\u579C\u579D\u579E\u579F\u57A5\u57A8\u57AA\u57AC\u57AF\u57B0\u57B1\u57B3\u57B5\u57B6\u57B7\u57B9", 8, "\u57C4", 6, "\u57CC\u57CD\u57D0\u57D1\u57D3\u57D6\u57D7\u57DB\u57DC\u57DE\u57E1\u57E2\u57E3\u57E5", 7, "\u57EE\u57F0\u57F1\u57F2\u57F3\u57F5\u57F6\u57F7\u57FB\u57FC\u57FE\u57FF\u5801\u5803\u5804\u5805\u5808\u5809\u580A\u580C\u580E\u580F\u5810\u5812\u5813\u5814\u5816\u5817\u5818\u581A\u581B\u581C\u581D\u581F\u5822\u5823\u5825", 4, "\u582B", 4, "\u5831\u5832\u5833\u5834\u5836", 7], + ["8940", "\u583E", 5, "\u5845", 6, "\u584E\u584F\u5850\u5852\u5853\u5855\u5856\u5857\u5859", 4, "\u585F", 5, "\u5866", 4, "\u586D", 16, "\u587F\u5882\u5884\u5886\u5887\u5888\u588A\u588B\u588C"], + ["8980", "\u588D", 4, "\u5894", 4, "\u589B\u589C\u589D\u58A0", 7, "\u58AA", 17, "\u58BD\u58BE\u58BF\u58C0\u58C2\u58C3\u58C4\u58C6", 10, "\u58D2\u58D3\u58D4\u58D6", 13, "\u58E5", 5, "\u58ED\u58EF\u58F1\u58F2\u58F4\u58F5\u58F7\u58F8\u58FA", 7, "\u5903\u5905\u5906\u5908", 4, "\u590E\u5910\u5911\u5912\u5913\u5917\u5918\u591B\u591D\u591E\u5920\u5921\u5922\u5923\u5926\u5928\u592C\u5930\u5932\u5933\u5935\u5936\u593B"], + ["8a40", "\u593D\u593E\u593F\u5940\u5943\u5945\u5946\u594A\u594C\u594D\u5950\u5952\u5953\u5959\u595B", 4, "\u5961\u5963\u5964\u5966", 12, "\u5975\u5977\u597A\u597B\u597C\u597E\u597F\u5980\u5985\u5989\u598B\u598C\u598E\u598F\u5990\u5991\u5994\u5995\u5998\u599A\u599B\u599C\u599D\u599F\u59A0\u59A1\u59A2\u59A6"], + ["8a80", "\u59A7\u59AC\u59AD\u59B0\u59B1\u59B3", 5, "\u59BA\u59BC\u59BD\u59BF", 6, "\u59C7\u59C8\u59C9\u59CC\u59CD\u59CE\u59CF\u59D5\u59D6\u59D9\u59DB\u59DE", 4, "\u59E4\u59E6\u59E7\u59E9\u59EA\u59EB\u59ED", 11, "\u59FA\u59FC\u59FD\u59FE\u5A00\u5A02\u5A0A\u5A0B\u5A0D\u5A0E\u5A0F\u5A10\u5A12\u5A14\u5A15\u5A16\u5A17\u5A19\u5A1A\u5A1B\u5A1D\u5A1E\u5A21\u5A22\u5A24\u5A26\u5A27\u5A28\u5A2A", 6, "\u5A33\u5A35\u5A37", 4, "\u5A3D\u5A3E\u5A3F\u5A41", 4, "\u5A47\u5A48\u5A4B", 9, "\u5A56\u5A57\u5A58\u5A59\u5A5B", 5], + ["8b40", "\u5A61\u5A63\u5A64\u5A65\u5A66\u5A68\u5A69\u5A6B", 8, "\u5A78\u5A79\u5A7B\u5A7C\u5A7D\u5A7E\u5A80", 17, "\u5A93", 6, "\u5A9C", 13, "\u5AAB\u5AAC"], + ["8b80", "\u5AAD", 4, "\u5AB4\u5AB6\u5AB7\u5AB9", 4, "\u5ABF\u5AC0\u5AC3", 5, "\u5ACA\u5ACB\u5ACD", 4, "\u5AD3\u5AD5\u5AD7\u5AD9\u5ADA\u5ADB\u5ADD\u5ADE\u5ADF\u5AE2\u5AE4\u5AE5\u5AE7\u5AE8\u5AEA\u5AEC", 4, "\u5AF2", 22, "\u5B0A", 11, "\u5B18", 25, "\u5B33\u5B35\u5B36\u5B38", 7, "\u5B41", 6], + ["8c40", "\u5B48", 7, "\u5B52\u5B56\u5B5E\u5B60\u5B61\u5B67\u5B68\u5B6B\u5B6D\u5B6E\u5B6F\u5B72\u5B74\u5B76\u5B77\u5B78\u5B79\u5B7B\u5B7C\u5B7E\u5B7F\u5B82\u5B86\u5B8A\u5B8D\u5B8E\u5B90\u5B91\u5B92\u5B94\u5B96\u5B9F\u5BA7\u5BA8\u5BA9\u5BAC\u5BAD\u5BAE\u5BAF\u5BB1\u5BB2\u5BB7\u5BBA\u5BBB\u5BBC\u5BC0\u5BC1\u5BC3\u5BC8\u5BC9\u5BCA\u5BCB\u5BCD\u5BCE\u5BCF"], + ["8c80", "\u5BD1\u5BD4", 8, "\u5BE0\u5BE2\u5BE3\u5BE6\u5BE7\u5BE9", 4, "\u5BEF\u5BF1", 6, "\u5BFD\u5BFE\u5C00\u5C02\u5C03\u5C05\u5C07\u5C08\u5C0B\u5C0C\u5C0D\u5C0E\u5C10\u5C12\u5C13\u5C17\u5C19\u5C1B\u5C1E\u5C1F\u5C20\u5C21\u5C23\u5C26\u5C28\u5C29\u5C2A\u5C2B\u5C2D\u5C2E\u5C2F\u5C30\u5C32\u5C33\u5C35\u5C36\u5C37\u5C43\u5C44\u5C46\u5C47\u5C4C\u5C4D\u5C52\u5C53\u5C54\u5C56\u5C57\u5C58\u5C5A\u5C5B\u5C5C\u5C5D\u5C5F\u5C62\u5C64\u5C67", 6, "\u5C70\u5C72", 6, "\u5C7B\u5C7C\u5C7D\u5C7E\u5C80\u5C83", 4, "\u5C89\u5C8A\u5C8B\u5C8E\u5C8F\u5C92\u5C93\u5C95\u5C9D", 4, "\u5CA4", 4], + ["8d40", "\u5CAA\u5CAE\u5CAF\u5CB0\u5CB2\u5CB4\u5CB6\u5CB9\u5CBA\u5CBB\u5CBC\u5CBE\u5CC0\u5CC2\u5CC3\u5CC5", 5, "\u5CCC", 5, "\u5CD3", 5, "\u5CDA", 6, "\u5CE2\u5CE3\u5CE7\u5CE9\u5CEB\u5CEC\u5CEE\u5CEF\u5CF1", 9, "\u5CFC", 4], + ["8d80", "\u5D01\u5D04\u5D05\u5D08", 5, "\u5D0F", 4, "\u5D15\u5D17\u5D18\u5D19\u5D1A\u5D1C\u5D1D\u5D1F", 4, "\u5D25\u5D28\u5D2A\u5D2B\u5D2C\u5D2F", 4, "\u5D35", 7, "\u5D3F", 7, "\u5D48\u5D49\u5D4D", 10, "\u5D59\u5D5A\u5D5C\u5D5E", 10, "\u5D6A\u5D6D\u5D6E\u5D70\u5D71\u5D72\u5D73\u5D75", 12, "\u5D83", 21, "\u5D9A\u5D9B\u5D9C\u5D9E\u5D9F\u5DA0"], + ["8e40", "\u5DA1", 21, "\u5DB8", 12, "\u5DC6", 6, "\u5DCE", 12, "\u5DDC\u5DDF\u5DE0\u5DE3\u5DE4\u5DEA\u5DEC\u5DED"], + ["8e80", "\u5DF0\u5DF5\u5DF6\u5DF8", 4, "\u5DFF\u5E00\u5E04\u5E07\u5E09\u5E0A\u5E0B\u5E0D\u5E0E\u5E12\u5E13\u5E17\u5E1E", 7, "\u5E28", 4, "\u5E2F\u5E30\u5E32", 4, "\u5E39\u5E3A\u5E3E\u5E3F\u5E40\u5E41\u5E43\u5E46", 5, "\u5E4D", 6, "\u5E56", 4, "\u5E5C\u5E5D\u5E5F\u5E60\u5E63", 14, "\u5E75\u5E77\u5E79\u5E7E\u5E81\u5E82\u5E83\u5E85\u5E88\u5E89\u5E8C\u5E8D\u5E8E\u5E92\u5E98\u5E9B\u5E9D\u5EA1\u5EA2\u5EA3\u5EA4\u5EA8", 4, "\u5EAE", 4, "\u5EB4\u5EBA\u5EBB\u5EBC\u5EBD\u5EBF", 6], + ["8f40", "\u5EC6\u5EC7\u5EC8\u5ECB", 5, "\u5ED4\u5ED5\u5ED7\u5ED8\u5ED9\u5EDA\u5EDC", 11, "\u5EE9\u5EEB", 8, "\u5EF5\u5EF8\u5EF9\u5EFB\u5EFC\u5EFD\u5F05\u5F06\u5F07\u5F09\u5F0C\u5F0D\u5F0E\u5F10\u5F12\u5F14\u5F16\u5F19\u5F1A\u5F1C\u5F1D\u5F1E\u5F21\u5F22\u5F23\u5F24"], + ["8f80", "\u5F28\u5F2B\u5F2C\u5F2E\u5F30\u5F32", 6, "\u5F3B\u5F3D\u5F3E\u5F3F\u5F41", 14, "\u5F51\u5F54\u5F59\u5F5A\u5F5B\u5F5C\u5F5E\u5F5F\u5F60\u5F63\u5F65\u5F67\u5F68\u5F6B\u5F6E\u5F6F\u5F72\u5F74\u5F75\u5F76\u5F78\u5F7A\u5F7D\u5F7E\u5F7F\u5F83\u5F86\u5F8D\u5F8E\u5F8F\u5F91\u5F93\u5F94\u5F96\u5F9A\u5F9B\u5F9D\u5F9E\u5F9F\u5FA0\u5FA2", 5, "\u5FA9\u5FAB\u5FAC\u5FAF", 5, "\u5FB6\u5FB8\u5FB9\u5FBA\u5FBB\u5FBE", 4, "\u5FC7\u5FC8\u5FCA\u5FCB\u5FCE\u5FD3\u5FD4\u5FD5\u5FDA\u5FDB\u5FDC\u5FDE\u5FDF\u5FE2\u5FE3\u5FE5\u5FE6\u5FE8\u5FE9\u5FEC\u5FEF\u5FF0\u5FF2\u5FF3\u5FF4\u5FF6\u5FF7\u5FF9\u5FFA\u5FFC\u6007"], + ["9040", "\u6008\u6009\u600B\u600C\u6010\u6011\u6013\u6017\u6018\u601A\u601E\u601F\u6022\u6023\u6024\u602C\u602D\u602E\u6030", 4, "\u6036", 4, "\u603D\u603E\u6040\u6044", 6, "\u604C\u604E\u604F\u6051\u6053\u6054\u6056\u6057\u6058\u605B\u605C\u605E\u605F\u6060\u6061\u6065\u6066\u606E\u6071\u6072\u6074\u6075\u6077\u607E\u6080"], + ["9080", "\u6081\u6082\u6085\u6086\u6087\u6088\u608A\u608B\u608E\u608F\u6090\u6091\u6093\u6095\u6097\u6098\u6099\u609C\u609E\u60A1\u60A2\u60A4\u60A5\u60A7\u60A9\u60AA\u60AE\u60B0\u60B3\u60B5\u60B6\u60B7\u60B9\u60BA\u60BD", 7, "\u60C7\u60C8\u60C9\u60CC", 4, "\u60D2\u60D3\u60D4\u60D6\u60D7\u60D9\u60DB\u60DE\u60E1", 4, "\u60EA\u60F1\u60F2\u60F5\u60F7\u60F8\u60FB", 4, "\u6102\u6103\u6104\u6105\u6107\u610A\u610B\u610C\u6110", 4, "\u6116\u6117\u6118\u6119\u611B\u611C\u611D\u611E\u6121\u6122\u6125\u6128\u6129\u612A\u612C", 18, "\u6140", 6], + ["9140", "\u6147\u6149\u614B\u614D\u614F\u6150\u6152\u6153\u6154\u6156", 6, "\u615E\u615F\u6160\u6161\u6163\u6164\u6165\u6166\u6169", 6, "\u6171\u6172\u6173\u6174\u6176\u6178", 18, "\u618C\u618D\u618F", 4, "\u6195"], + ["9180", "\u6196", 6, "\u619E", 8, "\u61AA\u61AB\u61AD", 9, "\u61B8", 5, "\u61BF\u61C0\u61C1\u61C3", 4, "\u61C9\u61CC", 4, "\u61D3\u61D5", 16, "\u61E7", 13, "\u61F6", 8, "\u6200", 5, "\u6207\u6209\u6213\u6214\u6219\u621C\u621D\u621E\u6220\u6223\u6226\u6227\u6228\u6229\u622B\u622D\u622F\u6230\u6231\u6232\u6235\u6236\u6238", 4, "\u6242\u6244\u6245\u6246\u624A"], + ["9240", "\u624F\u6250\u6255\u6256\u6257\u6259\u625A\u625C", 6, "\u6264\u6265\u6268\u6271\u6272\u6274\u6275\u6277\u6278\u627A\u627B\u627D\u6281\u6282\u6283\u6285\u6286\u6287\u6288\u628B", 5, "\u6294\u6299\u629C\u629D\u629E\u62A3\u62A6\u62A7\u62A9\u62AA\u62AD\u62AE\u62AF\u62B0\u62B2\u62B3\u62B4\u62B6\u62B7\u62B8\u62BA\u62BE\u62C0\u62C1"], + ["9280", "\u62C3\u62CB\u62CF\u62D1\u62D5\u62DD\u62DE\u62E0\u62E1\u62E4\u62EA\u62EB\u62F0\u62F2\u62F5\u62F8\u62F9\u62FA\u62FB\u6300\u6303\u6304\u6305\u6306\u630A\u630B\u630C\u630D\u630F\u6310\u6312\u6313\u6314\u6315\u6317\u6318\u6319\u631C\u6326\u6327\u6329\u632C\u632D\u632E\u6330\u6331\u6333", 5, "\u633B\u633C\u633E\u633F\u6340\u6341\u6344\u6347\u6348\u634A\u6351\u6352\u6353\u6354\u6356", 7, "\u6360\u6364\u6365\u6366\u6368\u636A\u636B\u636C\u636F\u6370\u6372\u6373\u6374\u6375\u6378\u6379\u637C\u637D\u637E\u637F\u6381\u6383\u6384\u6385\u6386\u638B\u638D\u6391\u6393\u6394\u6395\u6397\u6399", 6, "\u63A1\u63A4\u63A6\u63AB\u63AF\u63B1\u63B2\u63B5\u63B6\u63B9\u63BB\u63BD\u63BF\u63C0"], + ["9340", "\u63C1\u63C2\u63C3\u63C5\u63C7\u63C8\u63CA\u63CB\u63CC\u63D1\u63D3\u63D4\u63D5\u63D7", 6, "\u63DF\u63E2\u63E4", 4, "\u63EB\u63EC\u63EE\u63EF\u63F0\u63F1\u63F3\u63F5\u63F7\u63F9\u63FA\u63FB\u63FC\u63FE\u6403\u6404\u6406", 4, "\u640D\u640E\u6411\u6412\u6415", 5, "\u641D\u641F\u6422\u6423\u6424"], + ["9380", "\u6425\u6427\u6428\u6429\u642B\u642E", 5, "\u6435", 4, "\u643B\u643C\u643E\u6440\u6442\u6443\u6449\u644B", 6, "\u6453\u6455\u6456\u6457\u6459", 4, "\u645F", 7, "\u6468\u646A\u646B\u646C\u646E", 9, "\u647B", 6, "\u6483\u6486\u6488", 8, "\u6493\u6494\u6497\u6498\u649A\u649B\u649C\u649D\u649F", 4, "\u64A5\u64A6\u64A7\u64A8\u64AA\u64AB\u64AF\u64B1\u64B2\u64B3\u64B4\u64B6\u64B9\u64BB\u64BD\u64BE\u64BF\u64C1\u64C3\u64C4\u64C6", 6, "\u64CF\u64D1\u64D3\u64D4\u64D5\u64D6\u64D9\u64DA"], + ["9440", "\u64DB\u64DC\u64DD\u64DF\u64E0\u64E1\u64E3\u64E5\u64E7", 24, "\u6501", 7, "\u650A", 7, "\u6513", 4, "\u6519", 8], + ["9480", "\u6522\u6523\u6524\u6526", 4, "\u652C\u652D\u6530\u6531\u6532\u6533\u6537\u653A\u653C\u653D\u6540", 4, "\u6546\u6547\u654A\u654B\u654D\u654E\u6550\u6552\u6553\u6554\u6557\u6558\u655A\u655C\u655F\u6560\u6561\u6564\u6565\u6567\u6568\u6569\u656A\u656D\u656E\u656F\u6571\u6573\u6575\u6576\u6578", 14, "\u6588\u6589\u658A\u658D\u658E\u658F\u6592\u6594\u6595\u6596\u6598\u659A\u659D\u659E\u65A0\u65A2\u65A3\u65A6\u65A8\u65AA\u65AC\u65AE\u65B1", 7, "\u65BA\u65BB\u65BE\u65BF\u65C0\u65C2\u65C7\u65C8\u65C9\u65CA\u65CD\u65D0\u65D1\u65D3\u65D4\u65D5\u65D8", 7, "\u65E1\u65E3\u65E4\u65EA\u65EB"], + ["9540", "\u65F2\u65F3\u65F4\u65F5\u65F8\u65F9\u65FB", 4, "\u6601\u6604\u6605\u6607\u6608\u6609\u660B\u660D\u6610\u6611\u6612\u6616\u6617\u6618\u661A\u661B\u661C\u661E\u6621\u6622\u6623\u6624\u6626\u6629\u662A\u662B\u662C\u662E\u6630\u6632\u6633\u6637", 4, "\u663D\u663F\u6640\u6642\u6644", 6, "\u664D\u664E\u6650\u6651\u6658"], + ["9580", "\u6659\u665B\u665C\u665D\u665E\u6660\u6662\u6663\u6665\u6667\u6669", 4, "\u6671\u6672\u6673\u6675\u6678\u6679\u667B\u667C\u667D\u667F\u6680\u6681\u6683\u6685\u6686\u6688\u6689\u668A\u668B\u668D\u668E\u668F\u6690\u6692\u6693\u6694\u6695\u6698", 4, "\u669E", 8, "\u66A9", 4, "\u66AF", 4, "\u66B5\u66B6\u66B7\u66B8\u66BA\u66BB\u66BC\u66BD\u66BF", 25, "\u66DA\u66DE", 7, "\u66E7\u66E8\u66EA", 5, "\u66F1\u66F5\u66F6\u66F8\u66FA\u66FB\u66FD\u6701\u6702\u6703"], + ["9640", "\u6704\u6705\u6706\u6707\u670C\u670E\u670F\u6711\u6712\u6713\u6716\u6718\u6719\u671A\u671C\u671E\u6720", 5, "\u6727\u6729\u672E\u6730\u6732\u6733\u6736\u6737\u6738\u6739\u673B\u673C\u673E\u673F\u6741\u6744\u6745\u6747\u674A\u674B\u674D\u6752\u6754\u6755\u6757", 4, "\u675D\u6762\u6763\u6764\u6766\u6767\u676B\u676C\u676E\u6771\u6774\u6776"], + ["9680", "\u6778\u6779\u677A\u677B\u677D\u6780\u6782\u6783\u6785\u6786\u6788\u678A\u678C\u678D\u678E\u678F\u6791\u6792\u6793\u6794\u6796\u6799\u679B\u679F\u67A0\u67A1\u67A4\u67A6\u67A9\u67AC\u67AE\u67B1\u67B2\u67B4\u67B9", 7, "\u67C2\u67C5", 9, "\u67D5\u67D6\u67D7\u67DB\u67DF\u67E1\u67E3\u67E4\u67E6\u67E7\u67E8\u67EA\u67EB\u67ED\u67EE\u67F2\u67F5", 7, "\u67FE\u6801\u6802\u6803\u6804\u6806\u680D\u6810\u6812\u6814\u6815\u6818", 4, "\u681E\u681F\u6820\u6822", 6, "\u682B", 6, "\u6834\u6835\u6836\u683A\u683B\u683F\u6847\u684B\u684D\u684F\u6852\u6856", 5], + ["9740", "\u685C\u685D\u685E\u685F\u686A\u686C", 7, "\u6875\u6878", 8, "\u6882\u6884\u6887", 7, "\u6890\u6891\u6892\u6894\u6895\u6896\u6898", 9, "\u68A3\u68A4\u68A5\u68A9\u68AA\u68AB\u68AC\u68AE\u68B1\u68B2\u68B4\u68B6\u68B7\u68B8"], + ["9780", "\u68B9", 6, "\u68C1\u68C3", 5, "\u68CA\u68CC\u68CE\u68CF\u68D0\u68D1\u68D3\u68D4\u68D6\u68D7\u68D9\u68DB", 4, "\u68E1\u68E2\u68E4", 9, "\u68EF\u68F2\u68F3\u68F4\u68F6\u68F7\u68F8\u68FB\u68FD\u68FE\u68FF\u6900\u6902\u6903\u6904\u6906", 4, "\u690C\u690F\u6911\u6913", 11, "\u6921\u6922\u6923\u6925", 7, "\u692E\u692F\u6931\u6932\u6933\u6935\u6936\u6937\u6938\u693A\u693B\u693C\u693E\u6940\u6941\u6943", 16, "\u6955\u6956\u6958\u6959\u695B\u695C\u695F"], + ["9840", "\u6961\u6962\u6964\u6965\u6967\u6968\u6969\u696A\u696C\u696D\u696F\u6970\u6972", 4, "\u697A\u697B\u697D\u697E\u697F\u6981\u6983\u6985\u698A\u698B\u698C\u698E", 5, "\u6996\u6997\u6999\u699A\u699D", 9, "\u69A9\u69AA\u69AC\u69AE\u69AF\u69B0\u69B2\u69B3\u69B5\u69B6\u69B8\u69B9\u69BA\u69BC\u69BD"], + ["9880", "\u69BE\u69BF\u69C0\u69C2", 7, "\u69CB\u69CD\u69CF\u69D1\u69D2\u69D3\u69D5", 5, "\u69DC\u69DD\u69DE\u69E1", 11, "\u69EE\u69EF\u69F0\u69F1\u69F3", 9, "\u69FE\u6A00", 9, "\u6A0B", 11, "\u6A19", 5, "\u6A20\u6A22", 5, "\u6A29\u6A2B\u6A2C\u6A2D\u6A2E\u6A30\u6A32\u6A33\u6A34\u6A36", 6, "\u6A3F", 4, "\u6A45\u6A46\u6A48", 7, "\u6A51", 6, "\u6A5A"], + ["9940", "\u6A5C", 4, "\u6A62\u6A63\u6A64\u6A66", 10, "\u6A72", 6, "\u6A7A\u6A7B\u6A7D\u6A7E\u6A7F\u6A81\u6A82\u6A83\u6A85", 8, "\u6A8F\u6A92", 4, "\u6A98", 7, "\u6AA1", 5], + ["9980", "\u6AA7\u6AA8\u6AAA\u6AAD", 114, "\u6B25\u6B26\u6B28", 6], + ["9a40", "\u6B2F\u6B30\u6B31\u6B33\u6B34\u6B35\u6B36\u6B38\u6B3B\u6B3C\u6B3D\u6B3F\u6B40\u6B41\u6B42\u6B44\u6B45\u6B48\u6B4A\u6B4B\u6B4D", 11, "\u6B5A", 7, "\u6B68\u6B69\u6B6B", 13, "\u6B7A\u6B7D\u6B7E\u6B7F\u6B80\u6B85\u6B88"], + ["9a80", "\u6B8C\u6B8E\u6B8F\u6B90\u6B91\u6B94\u6B95\u6B97\u6B98\u6B99\u6B9C", 4, "\u6BA2", 7, "\u6BAB", 7, "\u6BB6\u6BB8", 6, "\u6BC0\u6BC3\u6BC4\u6BC6", 4, "\u6BCC\u6BCE\u6BD0\u6BD1\u6BD8\u6BDA\u6BDC", 4, "\u6BE2", 7, "\u6BEC\u6BED\u6BEE\u6BF0\u6BF1\u6BF2\u6BF4\u6BF6\u6BF7\u6BF8\u6BFA\u6BFB\u6BFC\u6BFE", 6, "\u6C08", 4, "\u6C0E\u6C12\u6C17\u6C1C\u6C1D\u6C1E\u6C20\u6C23\u6C25\u6C2B\u6C2C\u6C2D\u6C31\u6C33\u6C36\u6C37\u6C39\u6C3A\u6C3B\u6C3C\u6C3E\u6C3F\u6C43\u6C44\u6C45\u6C48\u6C4B", 4, "\u6C51\u6C52\u6C53\u6C56\u6C58"], + ["9b40", "\u6C59\u6C5A\u6C62\u6C63\u6C65\u6C66\u6C67\u6C6B", 4, "\u6C71\u6C73\u6C75\u6C77\u6C78\u6C7A\u6C7B\u6C7C\u6C7F\u6C80\u6C84\u6C87\u6C8A\u6C8B\u6C8D\u6C8E\u6C91\u6C92\u6C95\u6C96\u6C97\u6C98\u6C9A\u6C9C\u6C9D\u6C9E\u6CA0\u6CA2\u6CA8\u6CAC\u6CAF\u6CB0\u6CB4\u6CB5\u6CB6\u6CB7\u6CBA\u6CC0\u6CC1\u6CC2\u6CC3\u6CC6\u6CC7\u6CC8\u6CCB\u6CCD\u6CCE\u6CCF\u6CD1\u6CD2\u6CD8"], + ["9b80", "\u6CD9\u6CDA\u6CDC\u6CDD\u6CDF\u6CE4\u6CE6\u6CE7\u6CE9\u6CEC\u6CED\u6CF2\u6CF4\u6CF9\u6CFF\u6D00\u6D02\u6D03\u6D05\u6D06\u6D08\u6D09\u6D0A\u6D0D\u6D0F\u6D10\u6D11\u6D13\u6D14\u6D15\u6D16\u6D18\u6D1C\u6D1D\u6D1F", 5, "\u6D26\u6D28\u6D29\u6D2C\u6D2D\u6D2F\u6D30\u6D34\u6D36\u6D37\u6D38\u6D3A\u6D3F\u6D40\u6D42\u6D44\u6D49\u6D4C\u6D50\u6D55\u6D56\u6D57\u6D58\u6D5B\u6D5D\u6D5F\u6D61\u6D62\u6D64\u6D65\u6D67\u6D68\u6D6B\u6D6C\u6D6D\u6D70\u6D71\u6D72\u6D73\u6D75\u6D76\u6D79\u6D7A\u6D7B\u6D7D", 4, "\u6D83\u6D84\u6D86\u6D87\u6D8A\u6D8B\u6D8D\u6D8F\u6D90\u6D92\u6D96", 4, "\u6D9C\u6DA2\u6DA5\u6DAC\u6DAD\u6DB0\u6DB1\u6DB3\u6DB4\u6DB6\u6DB7\u6DB9", 5, "\u6DC1\u6DC2\u6DC3\u6DC8\u6DC9\u6DCA"], + ["9c40", "\u6DCD\u6DCE\u6DCF\u6DD0\u6DD2\u6DD3\u6DD4\u6DD5\u6DD7\u6DDA\u6DDB\u6DDC\u6DDF\u6DE2\u6DE3\u6DE5\u6DE7\u6DE8\u6DE9\u6DEA\u6DED\u6DEF\u6DF0\u6DF2\u6DF4\u6DF5\u6DF6\u6DF8\u6DFA\u6DFD", 7, "\u6E06\u6E07\u6E08\u6E09\u6E0B\u6E0F\u6E12\u6E13\u6E15\u6E18\u6E19\u6E1B\u6E1C\u6E1E\u6E1F\u6E22\u6E26\u6E27\u6E28\u6E2A\u6E2C\u6E2E\u6E30\u6E31\u6E33\u6E35"], + ["9c80", "\u6E36\u6E37\u6E39\u6E3B", 7, "\u6E45", 7, "\u6E4F\u6E50\u6E51\u6E52\u6E55\u6E57\u6E59\u6E5A\u6E5C\u6E5D\u6E5E\u6E60", 10, "\u6E6C\u6E6D\u6E6F", 14, "\u6E80\u6E81\u6E82\u6E84\u6E87\u6E88\u6E8A", 4, "\u6E91", 6, "\u6E99\u6E9A\u6E9B\u6E9D\u6E9E\u6EA0\u6EA1\u6EA3\u6EA4\u6EA6\u6EA8\u6EA9\u6EAB\u6EAC\u6EAD\u6EAE\u6EB0\u6EB3\u6EB5\u6EB8\u6EB9\u6EBC\u6EBE\u6EBF\u6EC0\u6EC3\u6EC4\u6EC5\u6EC6\u6EC8\u6EC9\u6ECA\u6ECC\u6ECD\u6ECE\u6ED0\u6ED2\u6ED6\u6ED8\u6ED9\u6EDB\u6EDC\u6EDD\u6EE3\u6EE7\u6EEA", 5], + ["9d40", "\u6EF0\u6EF1\u6EF2\u6EF3\u6EF5\u6EF6\u6EF7\u6EF8\u6EFA", 7, "\u6F03\u6F04\u6F05\u6F07\u6F08\u6F0A", 4, "\u6F10\u6F11\u6F12\u6F16", 9, "\u6F21\u6F22\u6F23\u6F25\u6F26\u6F27\u6F28\u6F2C\u6F2E\u6F30\u6F32\u6F34\u6F35\u6F37", 6, "\u6F3F\u6F40\u6F41\u6F42"], + ["9d80", "\u6F43\u6F44\u6F45\u6F48\u6F49\u6F4A\u6F4C\u6F4E", 9, "\u6F59\u6F5A\u6F5B\u6F5D\u6F5F\u6F60\u6F61\u6F63\u6F64\u6F65\u6F67", 5, "\u6F6F\u6F70\u6F71\u6F73\u6F75\u6F76\u6F77\u6F79\u6F7B\u6F7D", 6, "\u6F85\u6F86\u6F87\u6F8A\u6F8B\u6F8F", 12, "\u6F9D\u6F9E\u6F9F\u6FA0\u6FA2", 4, "\u6FA8", 10, "\u6FB4\u6FB5\u6FB7\u6FB8\u6FBA", 5, "\u6FC1\u6FC3", 5, "\u6FCA", 6, "\u6FD3", 10, "\u6FDF\u6FE2\u6FE3\u6FE4\u6FE5"], + ["9e40", "\u6FE6", 7, "\u6FF0", 32, "\u7012", 7, "\u701C", 6, "\u7024", 6], + ["9e80", "\u702B", 9, "\u7036\u7037\u7038\u703A", 17, "\u704D\u704E\u7050", 13, "\u705F", 11, "\u706E\u7071\u7072\u7073\u7074\u7077\u7079\u707A\u707B\u707D\u7081\u7082\u7083\u7084\u7086\u7087\u7088\u708B\u708C\u708D\u708F\u7090\u7091\u7093\u7097\u7098\u709A\u709B\u709E", 12, "\u70B0\u70B2\u70B4\u70B5\u70B6\u70BA\u70BE\u70BF\u70C4\u70C5\u70C6\u70C7\u70C9\u70CB", 12, "\u70DA"], + ["9f40", "\u70DC\u70DD\u70DE\u70E0\u70E1\u70E2\u70E3\u70E5\u70EA\u70EE\u70F0", 6, "\u70F8\u70FA\u70FB\u70FC\u70FE", 10, "\u710B", 4, "\u7111\u7112\u7114\u7117\u711B", 10, "\u7127", 7, "\u7132\u7133\u7134"], + ["9f80", "\u7135\u7137", 13, "\u7146\u7147\u7148\u7149\u714B\u714D\u714F", 12, "\u715D\u715F", 4, "\u7165\u7169", 4, "\u716F\u7170\u7171\u7174\u7175\u7176\u7177\u7179\u717B\u717C\u717E", 5, "\u7185", 4, "\u718B\u718C\u718D\u718E\u7190\u7191\u7192\u7193\u7195\u7196\u7197\u719A", 4, "\u71A1", 6, "\u71A9\u71AA\u71AB\u71AD", 5, "\u71B4\u71B6\u71B7\u71B8\u71BA", 8, "\u71C4", 9, "\u71CF", 4], + ["a040", "\u71D6", 9, "\u71E1\u71E2\u71E3\u71E4\u71E6\u71E8", 5, "\u71EF", 9, "\u71FA", 11, "\u7207", 19], + ["a080", "\u721B\u721C\u721E", 9, "\u7229\u722B\u722D\u722E\u722F\u7232\u7233\u7234\u723A\u723C\u723E\u7240", 6, "\u7249\u724A\u724B\u724E\u724F\u7250\u7251\u7253\u7254\u7255\u7257\u7258\u725A\u725C\u725E\u7260\u7263\u7264\u7265\u7268\u726A\u726B\u726C\u726D\u7270\u7271\u7273\u7274\u7276\u7277\u7278\u727B\u727C\u727D\u7282\u7283\u7285", 4, "\u728C\u728E\u7290\u7291\u7293", 11, "\u72A0", 11, "\u72AE\u72B1\u72B2\u72B3\u72B5\u72BA", 6, "\u72C5\u72C6\u72C7\u72C9\u72CA\u72CB\u72CC\u72CF\u72D1\u72D3\u72D4\u72D5\u72D6\u72D8\u72DA\u72DB"], + ["a1a1", "\u3000\u3001\u3002\xB7\u02C9\u02C7\xA8\u3003\u3005\u2014\uFF5E\u2016\u2026\u2018\u2019\u201C\u201D\u3014\u3015\u3008", 7, "\u3016\u3017\u3010\u3011\xB1\xD7\xF7\u2236\u2227\u2228\u2211\u220F\u222A\u2229\u2208\u2237\u221A\u22A5\u2225\u2220\u2312\u2299\u222B\u222E\u2261\u224C\u2248\u223D\u221D\u2260\u226E\u226F\u2264\u2265\u221E\u2235\u2234\u2642\u2640\xB0\u2032\u2033\u2103\uFF04\xA4\uFFE0\uFFE1\u2030\xA7\u2116\u2606\u2605\u25CB\u25CF\u25CE\u25C7\u25C6\u25A1\u25A0\u25B3\u25B2\u203B\u2192\u2190\u2191\u2193\u3013"], + ["a2a1", "\u2170", 9], + ["a2b1", "\u2488", 19, "\u2474", 19, "\u2460", 9], + ["a2e5", "\u3220", 9], + ["a2f1", "\u2160", 11], + ["a3a1", "\uFF01\uFF02\uFF03\uFFE5\uFF05", 88, "\uFFE3"], + ["a4a1", "\u3041", 82], + ["a5a1", "\u30A1", 85], + ["a6a1", "\u0391", 16, "\u03A3", 6], + ["a6c1", "\u03B1", 16, "\u03C3", 6], + ["a6e0", "\uFE35\uFE36\uFE39\uFE3A\uFE3F\uFE40\uFE3D\uFE3E\uFE41\uFE42\uFE43\uFE44"], + ["a6ee", "\uFE3B\uFE3C\uFE37\uFE38\uFE31"], + ["a6f4", "\uFE33\uFE34"], + ["a7a1", "\u0410", 5, "\u0401\u0416", 25], + ["a7d1", "\u0430", 5, "\u0451\u0436", 25], + ["a840", "\u02CA\u02CB\u02D9\u2013\u2015\u2025\u2035\u2105\u2109\u2196\u2197\u2198\u2199\u2215\u221F\u2223\u2252\u2266\u2267\u22BF\u2550", 35, "\u2581", 6], + ["a880", "\u2588", 7, "\u2593\u2594\u2595\u25BC\u25BD\u25E2\u25E3\u25E4\u25E5\u2609\u2295\u3012\u301D\u301E"], + ["a8a1", "\u0101\xE1\u01CE\xE0\u0113\xE9\u011B\xE8\u012B\xED\u01D0\xEC\u014D\xF3\u01D2\xF2\u016B\xFA\u01D4\xF9\u01D6\u01D8\u01DA\u01DC\xFC\xEA\u0251"], + ["a8bd", "\u0144\u0148"], + ["a8c0", "\u0261"], + ["a8c5", "\u3105", 36], + ["a940", "\u3021", 8, "\u32A3\u338E\u338F\u339C\u339D\u339E\u33A1\u33C4\u33CE\u33D1\u33D2\u33D5\uFE30\uFFE2\uFFE4"], + ["a959", "\u2121\u3231"], + ["a95c", "\u2010"], + ["a960", "\u30FC\u309B\u309C\u30FD\u30FE\u3006\u309D\u309E\uFE49", 9, "\uFE54\uFE55\uFE56\uFE57\uFE59", 8], + ["a980", "\uFE62", 4, "\uFE68\uFE69\uFE6A\uFE6B"], + ["a996", "\u3007"], + ["a9a4", "\u2500", 75], + ["aa40", "\u72DC\u72DD\u72DF\u72E2", 5, "\u72EA\u72EB\u72F5\u72F6\u72F9\u72FD\u72FE\u72FF\u7300\u7302\u7304", 5, "\u730B\u730C\u730D\u730F\u7310\u7311\u7312\u7314\u7318\u7319\u731A\u731F\u7320\u7323\u7324\u7326\u7327\u7328\u732D\u732F\u7330\u7332\u7333\u7335\u7336\u733A\u733B\u733C\u733D\u7340", 8], + ["aa80", "\u7349\u734A\u734B\u734C\u734E\u734F\u7351\u7353\u7354\u7355\u7356\u7358", 7, "\u7361", 10, "\u736E\u7370\u7371"], + ["ab40", "\u7372", 11, "\u737F", 4, "\u7385\u7386\u7388\u738A\u738C\u738D\u738F\u7390\u7392\u7393\u7394\u7395\u7397\u7398\u7399\u739A\u739C\u739D\u739E\u73A0\u73A1\u73A3", 5, "\u73AA\u73AC\u73AD\u73B1\u73B4\u73B5\u73B6\u73B8\u73B9\u73BC\u73BD\u73BE\u73BF\u73C1\u73C3", 4], + ["ab80", "\u73CB\u73CC\u73CE\u73D2", 6, "\u73DA\u73DB\u73DC\u73DD\u73DF\u73E1\u73E2\u73E3\u73E4\u73E6\u73E8\u73EA\u73EB\u73EC\u73EE\u73EF\u73F0\u73F1\u73F3", 4], + ["ac40", "\u73F8", 10, "\u7404\u7407\u7408\u740B\u740C\u740D\u740E\u7411", 8, "\u741C", 5, "\u7423\u7424\u7427\u7429\u742B\u742D\u742F\u7431\u7432\u7437", 4, "\u743D\u743E\u743F\u7440\u7442", 11], + ["ac80", "\u744E", 6, "\u7456\u7458\u745D\u7460", 12, "\u746E\u746F\u7471", 4, "\u7478\u7479\u747A"], + ["ad40", "\u747B\u747C\u747D\u747F\u7482\u7484\u7485\u7486\u7488\u7489\u748A\u748C\u748D\u748F\u7491", 10, "\u749D\u749F", 7, "\u74AA", 15, "\u74BB", 12], + ["ad80", "\u74C8", 9, "\u74D3", 8, "\u74DD\u74DF\u74E1\u74E5\u74E7", 6, "\u74F0\u74F1\u74F2"], + ["ae40", "\u74F3\u74F5\u74F8", 6, "\u7500\u7501\u7502\u7503\u7505", 7, "\u750E\u7510\u7512\u7514\u7515\u7516\u7517\u751B\u751D\u751E\u7520", 4, "\u7526\u7527\u752A\u752E\u7534\u7536\u7539\u753C\u753D\u753F\u7541\u7542\u7543\u7544\u7546\u7547\u7549\u754A\u754D\u7550\u7551\u7552\u7553\u7555\u7556\u7557\u7558"], + ["ae80", "\u755D", 7, "\u7567\u7568\u7569\u756B", 6, "\u7573\u7575\u7576\u7577\u757A", 4, "\u7580\u7581\u7582\u7584\u7585\u7587"], + ["af40", "\u7588\u7589\u758A\u758C\u758D\u758E\u7590\u7593\u7595\u7598\u759B\u759C\u759E\u75A2\u75A6", 4, "\u75AD\u75B6\u75B7\u75BA\u75BB\u75BF\u75C0\u75C1\u75C6\u75CB\u75CC\u75CE\u75CF\u75D0\u75D1\u75D3\u75D7\u75D9\u75DA\u75DC\u75DD\u75DF\u75E0\u75E1\u75E5\u75E9\u75EC\u75ED\u75EE\u75EF\u75F2\u75F3\u75F5\u75F6\u75F7\u75F8\u75FA\u75FB\u75FD\u75FE\u7602\u7604\u7606\u7607"], + ["af80", "\u7608\u7609\u760B\u760D\u760E\u760F\u7611\u7612\u7613\u7614\u7616\u761A\u761C\u761D\u761E\u7621\u7623\u7627\u7628\u762C\u762E\u762F\u7631\u7632\u7636\u7637\u7639\u763A\u763B\u763D\u7641\u7642\u7644"], + ["b040", "\u7645", 6, "\u764E", 5, "\u7655\u7657", 4, "\u765D\u765F\u7660\u7661\u7662\u7664", 6, "\u766C\u766D\u766E\u7670", 7, "\u7679\u767A\u767C\u767F\u7680\u7681\u7683\u7685\u7689\u768A\u768C\u768D\u768F\u7690\u7692\u7694\u7695\u7697\u7698\u769A\u769B"], + ["b080", "\u769C", 7, "\u76A5", 8, "\u76AF\u76B0\u76B3\u76B5", 9, "\u76C0\u76C1\u76C3\u554A\u963F\u57C3\u6328\u54CE\u5509\u54C0\u7691\u764C\u853C\u77EE\u827E\u788D\u7231\u9698\u978D\u6C28\u5B89\u4FFA\u6309\u6697\u5CB8\u80FA\u6848\u80AE\u6602\u76CE\u51F9\u6556\u71AC\u7FF1\u8884\u50B2\u5965\u61CA\u6FB3\u82AD\u634C\u6252\u53ED\u5427\u7B06\u516B\u75A4\u5DF4\u62D4\u8DCB\u9776\u628A\u8019\u575D\u9738\u7F62\u7238\u767D\u67CF\u767E\u6446\u4F70\u8D25\u62DC\u7A17\u6591\u73ED\u642C\u6273\u822C\u9881\u677F\u7248\u626E\u62CC\u4F34\u74E3\u534A\u529E\u7ECA\u90A6\u5E2E\u6886\u699C\u8180\u7ED1\u68D2\u78C5\u868C\u9551\u508D\u8C24\u82DE\u80DE\u5305\u8912\u5265"], + ["b140", "\u76C4\u76C7\u76C9\u76CB\u76CC\u76D3\u76D5\u76D9\u76DA\u76DC\u76DD\u76DE\u76E0", 4, "\u76E6", 7, "\u76F0\u76F3\u76F5\u76F6\u76F7\u76FA\u76FB\u76FD\u76FF\u7700\u7702\u7703\u7705\u7706\u770A\u770C\u770E", 10, "\u771B\u771C\u771D\u771E\u7721\u7723\u7724\u7725\u7727\u772A\u772B"], + ["b180", "\u772C\u772E\u7730", 4, "\u7739\u773B\u773D\u773E\u773F\u7742\u7744\u7745\u7746\u7748", 7, "\u7752", 7, "\u775C\u8584\u96F9\u4FDD\u5821\u9971\u5B9D\u62B1\u62A5\u66B4\u8C79\u9C8D\u7206\u676F\u7891\u60B2\u5351\u5317\u8F88\u80CC\u8D1D\u94A1\u500D\u72C8\u5907\u60EB\u7119\u88AB\u5954\u82EF\u672C\u7B28\u5D29\u7EF7\u752D\u6CF5\u8E66\u8FF8\u903C\u9F3B\u6BD4\u9119\u7B14\u5F7C\u78A7\u84D6\u853D\u6BD5\u6BD9\u6BD6\u5E01\u5E87\u75F9\u95ED\u655D\u5F0A\u5FC5\u8F9F\u58C1\u81C2\u907F\u965B\u97AD\u8FB9\u7F16\u8D2C\u6241\u4FBF\u53D8\u535E\u8FA8\u8FA9\u8FAB\u904D\u6807\u5F6A\u8198\u8868\u9CD6\u618B\u522B\u762A\u5F6C\u658C\u6FD2\u6EE8\u5BBE\u6448\u5175\u51B0\u67C4\u4E19\u79C9\u997C\u70B3"], + ["b240", "\u775D\u775E\u775F\u7760\u7764\u7767\u7769\u776A\u776D", 11, "\u777A\u777B\u777C\u7781\u7782\u7783\u7786", 5, "\u778F\u7790\u7793", 11, "\u77A1\u77A3\u77A4\u77A6\u77A8\u77AB\u77AD\u77AE\u77AF\u77B1\u77B2\u77B4\u77B6", 4], + ["b280", "\u77BC\u77BE\u77C0", 12, "\u77CE", 8, "\u77D8\u77D9\u77DA\u77DD", 4, "\u77E4\u75C5\u5E76\u73BB\u83E0\u64AD\u62E8\u94B5\u6CE2\u535A\u52C3\u640F\u94C2\u7B94\u4F2F\u5E1B\u8236\u8116\u818A\u6E24\u6CCA\u9A73\u6355\u535C\u54FA\u8865\u57E0\u4E0D\u5E03\u6B65\u7C3F\u90E8\u6016\u64E6\u731C\u88C1\u6750\u624D\u8D22\u776C\u8E29\u91C7\u5F69\u83DC\u8521\u9910\u53C2\u8695\u6B8B\u60ED\u60E8\u707F\u82CD\u8231\u4ED3\u6CA7\u85CF\u64CD\u7CD9\u69FD\u66F9\u8349\u5395\u7B56\u4FA7\u518C\u6D4B\u5C42\u8E6D\u63D2\u53C9\u832C\u8336\u67E5\u78B4\u643D\u5BDF\u5C94\u5DEE\u8BE7\u62C6\u67F4\u8C7A\u6400\u63BA\u8749\u998B\u8C17\u7F20\u94F2\u4EA7\u9610\u98A4\u660C\u7316"], + ["b340", "\u77E6\u77E8\u77EA\u77EF\u77F0\u77F1\u77F2\u77F4\u77F5\u77F7\u77F9\u77FA\u77FB\u77FC\u7803", 5, "\u780A\u780B\u780E\u780F\u7810\u7813\u7815\u7819\u781B\u781E\u7820\u7821\u7822\u7824\u7828\u782A\u782B\u782E\u782F\u7831\u7832\u7833\u7835\u7836\u783D\u783F\u7841\u7842\u7843\u7844\u7846\u7848\u7849\u784A\u784B\u784D\u784F\u7851\u7853\u7854\u7858\u7859\u785A"], + ["b380", "\u785B\u785C\u785E", 11, "\u786F", 7, "\u7878\u7879\u787A\u787B\u787D", 6, "\u573A\u5C1D\u5E38\u957F\u507F\u80A0\u5382\u655E\u7545\u5531\u5021\u8D85\u6284\u949E\u671D\u5632\u6F6E\u5DE2\u5435\u7092\u8F66\u626F\u64A4\u63A3\u5F7B\u6F88\u90F4\u81E3\u8FB0\u5C18\u6668\u5FF1\u6C89\u9648\u8D81\u886C\u6491\u79F0\u57CE\u6A59\u6210\u5448\u4E58\u7A0B\u60E9\u6F84\u8BDA\u627F\u901E\u9A8B\u79E4\u5403\u75F4\u6301\u5319\u6C60\u8FDF\u5F1B\u9A70\u803B\u9F7F\u4F88\u5C3A\u8D64\u7FC5\u65A5\u70BD\u5145\u51B2\u866B\u5D07\u5BA0\u62BD\u916C\u7574\u8E0C\u7A20\u6101\u7B79\u4EC7\u7EF8\u7785\u4E11\u81ED\u521D\u51FA\u6A71\u53A8\u8E87\u9504\u96CF\u6EC1\u9664\u695A"], + ["b440", "\u7884\u7885\u7886\u7888\u788A\u788B\u788F\u7890\u7892\u7894\u7895\u7896\u7899\u789D\u789E\u78A0\u78A2\u78A4\u78A6\u78A8", 7, "\u78B5\u78B6\u78B7\u78B8\u78BA\u78BB\u78BC\u78BD\u78BF\u78C0\u78C2\u78C3\u78C4\u78C6\u78C7\u78C8\u78CC\u78CD\u78CE\u78CF\u78D1\u78D2\u78D3\u78D6\u78D7\u78D8\u78DA", 9], + ["b480", "\u78E4\u78E5\u78E6\u78E7\u78E9\u78EA\u78EB\u78ED", 4, "\u78F3\u78F5\u78F6\u78F8\u78F9\u78FB", 5, "\u7902\u7903\u7904\u7906", 6, "\u7840\u50A8\u77D7\u6410\u89E6\u5904\u63E3\u5DDD\u7A7F\u693D\u4F20\u8239\u5598\u4E32\u75AE\u7A97\u5E62\u5E8A\u95EF\u521B\u5439\u708A\u6376\u9524\u5782\u6625\u693F\u9187\u5507\u6DF3\u7EAF\u8822\u6233\u7EF0\u75B5\u8328\u78C1\u96CC\u8F9E\u6148\u74F7\u8BCD\u6B64\u523A\u8D50\u6B21\u806A\u8471\u56F1\u5306\u4ECE\u4E1B\u51D1\u7C97\u918B\u7C07\u4FC3\u8E7F\u7BE1\u7A9C\u6467\u5D14\u50AC\u8106\u7601\u7CB9\u6DEC\u7FE0\u6751\u5B58\u5BF8\u78CB\u64AE\u6413\u63AA\u632B\u9519\u642D\u8FBE\u7B54\u7629\u6253\u5927\u5446\u6B79\u50A3\u6234\u5E26\u6B86\u4EE3\u8D37\u888B\u5F85\u902E"], + ["b540", "\u790D", 5, "\u7914", 9, "\u791F", 4, "\u7925", 14, "\u7935", 4, "\u793D\u793F\u7942\u7943\u7944\u7945\u7947\u794A", 8, "\u7954\u7955\u7958\u7959\u7961\u7963"], + ["b580", "\u7964\u7966\u7969\u796A\u796B\u796C\u796E\u7970", 6, "\u7979\u797B", 4, "\u7982\u7983\u7986\u7987\u7988\u7989\u798B\u798C\u798D\u798E\u7990\u7991\u7992\u6020\u803D\u62C5\u4E39\u5355\u90F8\u63B8\u80C6\u65E6\u6C2E\u4F46\u60EE\u6DE1\u8BDE\u5F39\u86CB\u5F53\u6321\u515A\u8361\u6863\u5200\u6363\u8E48\u5012\u5C9B\u7977\u5BFC\u5230\u7A3B\u60BC\u9053\u76D7\u5FB7\u5F97\u7684\u8E6C\u706F\u767B\u7B49\u77AA\u51F3\u9093\u5824\u4F4E\u6EF4\u8FEA\u654C\u7B1B\u72C4\u6DA4\u7FDF\u5AE1\u62B5\u5E95\u5730\u8482\u7B2C\u5E1D\u5F1F\u9012\u7F14\u98A0\u6382\u6EC7\u7898\u70B9\u5178\u975B\u57AB\u7535\u4F43\u7538\u5E97\u60E6\u5960\u6DC0\u6BBF\u7889\u53FC\u96D5\u51CB\u5201\u6389\u540A\u9493\u8C03\u8DCC\u7239\u789F\u8776\u8FED\u8C0D\u53E0"], + ["b640", "\u7993", 6, "\u799B", 11, "\u79A8", 10, "\u79B4", 4, "\u79BC\u79BF\u79C2\u79C4\u79C5\u79C7\u79C8\u79CA\u79CC\u79CE\u79CF\u79D0\u79D3\u79D4\u79D6\u79D7\u79D9", 5, "\u79E0\u79E1\u79E2\u79E5\u79E8\u79EA"], + ["b680", "\u79EC\u79EE\u79F1", 6, "\u79F9\u79FA\u79FC\u79FE\u79FF\u7A01\u7A04\u7A05\u7A07\u7A08\u7A09\u7A0A\u7A0C\u7A0F", 4, "\u7A15\u7A16\u7A18\u7A19\u7A1B\u7A1C\u4E01\u76EF\u53EE\u9489\u9876\u9F0E\u952D\u5B9A\u8BA2\u4E22\u4E1C\u51AC\u8463\u61C2\u52A8\u680B\u4F97\u606B\u51BB\u6D1E\u515C\u6296\u6597\u9661\u8C46\u9017\u75D8\u90FD\u7763\u6BD2\u728A\u72EC\u8BFB\u5835\u7779\u8D4C\u675C\u9540\u809A\u5EA6\u6E21\u5992\u7AEF\u77ED\u953B\u6BB5\u65AD\u7F0E\u5806\u5151\u961F\u5BF9\u58A9\u5428\u8E72\u6566\u987F\u56E4\u949D\u76FE\u9041\u6387\u54C6\u591A\u593A\u579B\u8EB2\u6735\u8DFA\u8235\u5241\u60F0\u5815\u86FE\u5CE8\u9E45\u4FC4\u989D\u8BB9\u5A25\u6076\u5384\u627C\u904F\u9102\u997F\u6069\u800C\u513F\u8033\u5C14\u9975\u6D31\u4E8C"], + ["b740", "\u7A1D\u7A1F\u7A21\u7A22\u7A24", 14, "\u7A34\u7A35\u7A36\u7A38\u7A3A\u7A3E\u7A40", 5, "\u7A47", 9, "\u7A52", 4, "\u7A58", 16], + ["b780", "\u7A69", 6, "\u7A71\u7A72\u7A73\u7A75\u7A7B\u7A7C\u7A7D\u7A7E\u7A82\u7A85\u7A87\u7A89\u7A8A\u7A8B\u7A8C\u7A8E\u7A8F\u7A90\u7A93\u7A94\u7A99\u7A9A\u7A9B\u7A9E\u7AA1\u7AA2\u8D30\u53D1\u7F5A\u7B4F\u4F10\u4E4F\u9600\u6CD5\u73D0\u85E9\u5E06\u756A\u7FFB\u6A0A\u77FE\u9492\u7E41\u51E1\u70E6\u53CD\u8FD4\u8303\u8D29\u72AF\u996D\u6CDB\u574A\u82B3\u65B9\u80AA\u623F\u9632\u59A8\u4EFF\u8BBF\u7EBA\u653E\u83F2\u975E\u5561\u98DE\u80A5\u532A\u8BFD\u5420\u80BA\u5E9F\u6CB8\u8D39\u82AC\u915A\u5429\u6C1B\u5206\u7EB7\u575F\u711A\u6C7E\u7C89\u594B\u4EFD\u5FFF\u6124\u7CAA\u4E30\u5C01\u67AB\u8702\u5CF0\u950B\u98CE\u75AF\u70FD\u9022\u51AF\u7F1D\u8BBD\u5949\u51E4\u4F5B\u5426\u592B\u6577\u80A4\u5B75\u6276\u62C2\u8F90\u5E45\u6C1F\u7B26\u4F0F\u4FD8\u670D"], + ["b840", "\u7AA3\u7AA4\u7AA7\u7AA9\u7AAA\u7AAB\u7AAE", 4, "\u7AB4", 10, "\u7AC0", 10, "\u7ACC", 9, "\u7AD7\u7AD8\u7ADA\u7ADB\u7ADC\u7ADD\u7AE1\u7AE2\u7AE4\u7AE7", 5, "\u7AEE\u7AF0\u7AF1\u7AF2\u7AF3"], + ["b880", "\u7AF4", 4, "\u7AFB\u7AFC\u7AFE\u7B00\u7B01\u7B02\u7B05\u7B07\u7B09\u7B0C\u7B0D\u7B0E\u7B10\u7B12\u7B13\u7B16\u7B17\u7B18\u7B1A\u7B1C\u7B1D\u7B1F\u7B21\u7B22\u7B23\u7B27\u7B29\u7B2D\u6D6E\u6DAA\u798F\u88B1\u5F17\u752B\u629A\u8F85\u4FEF\u91DC\u65A7\u812F\u8151\u5E9C\u8150\u8D74\u526F\u8986\u8D4B\u590D\u5085\u4ED8\u961C\u7236\u8179\u8D1F\u5BCC\u8BA3\u9644\u5987\u7F1A\u5490\u5676\u560E\u8BE5\u6539\u6982\u9499\u76D6\u6E89\u5E72\u7518\u6746\u67D1\u7AFF\u809D\u8D76\u611F\u79C6\u6562\u8D63\u5188\u521A\u94A2\u7F38\u809B\u7EB2\u5C97\u6E2F\u6760\u7BD9\u768B\u9AD8\u818F\u7F94\u7CD5\u641E\u9550\u7A3F\u544A\u54E5\u6B4C\u6401\u6208\u9E3D\u80F3\u7599\u5272\u9769\u845B\u683C\u86E4\u9601\u9694\u94EC\u4E2A\u5404\u7ED9\u6839\u8DDF\u8015\u66F4\u5E9A\u7FB9"], + ["b940", "\u7B2F\u7B30\u7B32\u7B34\u7B35\u7B36\u7B37\u7B39\u7B3B\u7B3D\u7B3F", 5, "\u7B46\u7B48\u7B4A\u7B4D\u7B4E\u7B53\u7B55\u7B57\u7B59\u7B5C\u7B5E\u7B5F\u7B61\u7B63", 10, "\u7B6F\u7B70\u7B73\u7B74\u7B76\u7B78\u7B7A\u7B7C\u7B7D\u7B7F\u7B81\u7B82\u7B83\u7B84\u7B86", 6, "\u7B8E\u7B8F"], + ["b980", "\u7B91\u7B92\u7B93\u7B96\u7B98\u7B99\u7B9A\u7B9B\u7B9E\u7B9F\u7BA0\u7BA3\u7BA4\u7BA5\u7BAE\u7BAF\u7BB0\u7BB2\u7BB3\u7BB5\u7BB6\u7BB7\u7BB9", 7, "\u7BC2\u7BC3\u7BC4\u57C2\u803F\u6897\u5DE5\u653B\u529F\u606D\u9F9A\u4F9B\u8EAC\u516C\u5BAB\u5F13\u5DE9\u6C5E\u62F1\u8D21\u5171\u94A9\u52FE\u6C9F\u82DF\u72D7\u57A2\u6784\u8D2D\u591F\u8F9C\u83C7\u5495\u7B8D\u4F30\u6CBD\u5B64\u59D1\u9F13\u53E4\u86CA\u9AA8\u8C37\u80A1\u6545\u987E\u56FA\u96C7\u522E\u74DC\u5250\u5BE1\u6302\u8902\u4E56\u62D0\u602A\u68FA\u5173\u5B98\u51A0\u89C2\u7BA1\u9986\u7F50\u60EF\u704C\u8D2F\u5149\u5E7F\u901B\u7470\u89C4\u572D\u7845\u5F52\u9F9F\u95FA\u8F68\u9B3C\u8BE1\u7678\u6842\u67DC\u8DEA\u8D35\u523D\u8F8A\u6EDA\u68CD\u9505\u90ED\u56FD\u679C\u88F9\u8FC7\u54C8"], + ["ba40", "\u7BC5\u7BC8\u7BC9\u7BCA\u7BCB\u7BCD\u7BCE\u7BCF\u7BD0\u7BD2\u7BD4", 4, "\u7BDB\u7BDC\u7BDE\u7BDF\u7BE0\u7BE2\u7BE3\u7BE4\u7BE7\u7BE8\u7BE9\u7BEB\u7BEC\u7BED\u7BEF\u7BF0\u7BF2", 4, "\u7BF8\u7BF9\u7BFA\u7BFB\u7BFD\u7BFF", 7, "\u7C08\u7C09\u7C0A\u7C0D\u7C0E\u7C10", 5, "\u7C17\u7C18\u7C19"], + ["ba80", "\u7C1A", 4, "\u7C20", 5, "\u7C28\u7C29\u7C2B", 12, "\u7C39", 5, "\u7C42\u9AB8\u5B69\u6D77\u6C26\u4EA5\u5BB3\u9A87\u9163\u61A8\u90AF\u97E9\u542B\u6DB5\u5BD2\u51FD\u558A\u7F55\u7FF0\u64BC\u634D\u65F1\u61BE\u608D\u710A\u6C57\u6C49\u592F\u676D\u822A\u58D5\u568E\u8C6A\u6BEB\u90DD\u597D\u8017\u53F7\u6D69\u5475\u559D\u8377\u83CF\u6838\u79BE\u548C\u4F55\u5408\u76D2\u8C89\u9602\u6CB3\u6DB8\u8D6B\u8910\u9E64\u8D3A\u563F\u9ED1\u75D5\u5F88\u72E0\u6068\u54FC\u4EA8\u6A2A\u8861\u6052\u8F70\u54C4\u70D8\u8679\u9E3F\u6D2A\u5B8F\u5F18\u7EA2\u5589\u4FAF\u7334\u543C\u539A\u5019\u540E\u547C\u4E4E\u5FFD\u745A\u58F6\u846B\u80E1\u8774\u72D0\u7CCA\u6E56"], + ["bb40", "\u7C43", 9, "\u7C4E", 36, "\u7C75", 5, "\u7C7E", 9], + ["bb80", "\u7C88\u7C8A", 6, "\u7C93\u7C94\u7C96\u7C99\u7C9A\u7C9B\u7CA0\u7CA1\u7CA3\u7CA6\u7CA7\u7CA8\u7CA9\u7CAB\u7CAC\u7CAD\u7CAF\u7CB0\u7CB4", 4, "\u7CBA\u7CBB\u5F27\u864E\u552C\u62A4\u4E92\u6CAA\u6237\u82B1\u54D7\u534E\u733E\u6ED1\u753B\u5212\u5316\u8BDD\u69D0\u5F8A\u6000\u6DEE\u574F\u6B22\u73AF\u6853\u8FD8\u7F13\u6362\u60A3\u5524\u75EA\u8C62\u7115\u6DA3\u5BA6\u5E7B\u8352\u614C\u9EC4\u78FA\u8757\u7C27\u7687\u51F0\u60F6\u714C\u6643\u5E4C\u604D\u8C0E\u7070\u6325\u8F89\u5FBD\u6062\u86D4\u56DE\u6BC1\u6094\u6167\u5349\u60E0\u6666\u8D3F\u79FD\u4F1A\u70E9\u6C47\u8BB3\u8BF2\u7ED8\u8364\u660F\u5A5A\u9B42\u6D51\u6DF7\u8C41\u6D3B\u4F19\u706B\u83B7\u6216\u60D1\u970D\u8D27\u7978\u51FB\u573E\u57FA\u673A\u7578\u7A3D\u79EF\u7B95"], + ["bc40", "\u7CBF\u7CC0\u7CC2\u7CC3\u7CC4\u7CC6\u7CC9\u7CCB\u7CCE", 6, "\u7CD8\u7CDA\u7CDB\u7CDD\u7CDE\u7CE1", 6, "\u7CE9", 5, "\u7CF0", 7, "\u7CF9\u7CFA\u7CFC", 13, "\u7D0B", 5], + ["bc80", "\u7D11", 14, "\u7D21\u7D23\u7D24\u7D25\u7D26\u7D28\u7D29\u7D2A\u7D2C\u7D2D\u7D2E\u7D30", 6, "\u808C\u9965\u8FF9\u6FC0\u8BA5\u9E21\u59EC\u7EE9\u7F09\u5409\u6781\u68D8\u8F91\u7C4D\u96C6\u53CA\u6025\u75BE\u6C72\u5373\u5AC9\u7EA7\u6324\u51E0\u810A\u5DF1\u84DF\u6280\u5180\u5B63\u4F0E\u796D\u5242\u60B8\u6D4E\u5BC4\u5BC2\u8BA1\u8BB0\u65E2\u5FCC\u9645\u5993\u7EE7\u7EAA\u5609\u67B7\u5939\u4F73\u5BB6\u52A0\u835A\u988A\u8D3E\u7532\u94BE\u5047\u7A3C\u4EF7\u67B6\u9A7E\u5AC1\u6B7C\u76D1\u575A\u5C16\u7B3A\u95F4\u714E\u517C\u80A9\u8270\u5978\u7F04\u8327\u68C0\u67EC\u78B1\u7877\u62E3\u6361\u7B80\u4FED\u526A\u51CF\u8350\u69DB\u9274\u8DF5\u8D31\u89C1\u952E\u7BAD\u4EF6"], + ["bd40", "\u7D37", 54, "\u7D6F", 7], + ["bd80", "\u7D78", 32, "\u5065\u8230\u5251\u996F\u6E10\u6E85\u6DA7\u5EFA\u50F5\u59DC\u5C06\u6D46\u6C5F\u7586\u848B\u6868\u5956\u8BB2\u5320\u9171\u964D\u8549\u6912\u7901\u7126\u80F6\u4EA4\u90CA\u6D47\u9A84\u5A07\u56BC\u6405\u94F0\u77EB\u4FA5\u811A\u72E1\u89D2\u997A\u7F34\u7EDE\u527F\u6559\u9175\u8F7F\u8F83\u53EB\u7A96\u63ED\u63A5\u7686\u79F8\u8857\u9636\u622A\u52AB\u8282\u6854\u6770\u6377\u776B\u7AED\u6D01\u7ED3\u89E3\u59D0\u6212\u85C9\u82A5\u754C\u501F\u4ECB\u75A5\u8BEB\u5C4A\u5DFE\u7B4B\u65A4\u91D1\u4ECA\u6D25\u895F\u7D27\u9526\u4EC5\u8C28\u8FDB\u9773\u664B\u7981\u8FD1\u70EC\u6D78"], + ["be40", "\u7D99", 12, "\u7DA7", 6, "\u7DAF", 42], + ["be80", "\u7DDA", 32, "\u5C3D\u52B2\u8346\u5162\u830E\u775B\u6676\u9CB8\u4EAC\u60CA\u7CBE\u7CB3\u7ECF\u4E95\u8B66\u666F\u9888\u9759\u5883\u656C\u955C\u5F84\u75C9\u9756\u7ADF\u7ADE\u51C0\u70AF\u7A98\u63EA\u7A76\u7EA0\u7396\u97ED\u4E45\u7078\u4E5D\u9152\u53A9\u6551\u65E7\u81FC\u8205\u548E\u5C31\u759A\u97A0\u62D8\u72D9\u75BD\u5C45\u9A79\u83CA\u5C40\u5480\u77E9\u4E3E\u6CAE\u805A\u62D2\u636E\u5DE8\u5177\u8DDD\u8E1E\u952F\u4FF1\u53E5\u60E7\u70AC\u5267\u6350\u9E43\u5A1F\u5026\u7737\u5377\u7EE2\u6485\u652B\u6289\u6398\u5014\u7235\u89C9\u51B3\u8BC0\u7EDD\u5747\u83CC\u94A7\u519B\u541B\u5CFB"], + ["bf40", "\u7DFB", 62], + ["bf80", "\u7E3A\u7E3C", 4, "\u7E42", 4, "\u7E48", 21, "\u4FCA\u7AE3\u6D5A\u90E1\u9A8F\u5580\u5496\u5361\u54AF\u5F00\u63E9\u6977\u51EF\u6168\u520A\u582A\u52D8\u574E\u780D\u770B\u5EB7\u6177\u7CE0\u625B\u6297\u4EA2\u7095\u8003\u62F7\u70E4\u9760\u5777\u82DB\u67EF\u68F5\u78D5\u9897\u79D1\u58F3\u54B3\u53EF\u6E34\u514B\u523B\u5BA2\u8BFE\u80AF\u5543\u57A6\u6073\u5751\u542D\u7A7A\u6050\u5B54\u63A7\u62A0\u53E3\u6263\u5BC7\u67AF\u54ED\u7A9F\u82E6\u9177\u5E93\u88E4\u5938\u57AE\u630E\u8DE8\u80EF\u5757\u7B77\u4FA9\u5FEB\u5BBD\u6B3E\u5321\u7B50\u72C2\u6846\u77FF\u7736\u65F7\u51B5\u4E8F\u76D4\u5CBF\u7AA5\u8475\u594E\u9B41\u5080"], + ["c040", "\u7E5E", 35, "\u7E83", 23, "\u7E9C\u7E9D\u7E9E"], + ["c080", "\u7EAE\u7EB4\u7EBB\u7EBC\u7ED6\u7EE4\u7EEC\u7EF9\u7F0A\u7F10\u7F1E\u7F37\u7F39\u7F3B", 6, "\u7F43\u7F46", 9, "\u7F52\u7F53\u9988\u6127\u6E83\u5764\u6606\u6346\u56F0\u62EC\u6269\u5ED3\u9614\u5783\u62C9\u5587\u8721\u814A\u8FA3\u5566\u83B1\u6765\u8D56\u84DD\u5A6A\u680F\u62E6\u7BEE\u9611\u5170\u6F9C\u8C30\u63FD\u89C8\u61D2\u7F06\u70C2\u6EE5\u7405\u6994\u72FC\u5ECA\u90CE\u6717\u6D6A\u635E\u52B3\u7262\u8001\u4F6C\u59E5\u916A\u70D9\u6D9D\u52D2\u4E50\u96F7\u956D\u857E\u78CA\u7D2F\u5121\u5792\u64C2\u808B\u7C7B\u6CEA\u68F1\u695E\u51B7\u5398\u68A8\u7281\u9ECE\u7BF1\u72F8\u79BB\u6F13\u7406\u674E\u91CC\u9CA4\u793C\u8389\u8354\u540F\u6817\u4E3D\u5389\u52B1\u783E\u5386\u5229\u5088\u4F8B\u4FD0"], + ["c140", "\u7F56\u7F59\u7F5B\u7F5C\u7F5D\u7F5E\u7F60\u7F63", 4, "\u7F6B\u7F6C\u7F6D\u7F6F\u7F70\u7F73\u7F75\u7F76\u7F77\u7F78\u7F7A\u7F7B\u7F7C\u7F7D\u7F7F\u7F80\u7F82", 7, "\u7F8B\u7F8D\u7F8F", 4, "\u7F95", 4, "\u7F9B\u7F9C\u7FA0\u7FA2\u7FA3\u7FA5\u7FA6\u7FA8", 6, "\u7FB1"], + ["c180", "\u7FB3", 4, "\u7FBA\u7FBB\u7FBE\u7FC0\u7FC2\u7FC3\u7FC4\u7FC6\u7FC7\u7FC8\u7FC9\u7FCB\u7FCD\u7FCF", 4, "\u7FD6\u7FD7\u7FD9", 5, "\u7FE2\u7FE3\u75E2\u7ACB\u7C92\u6CA5\u96B6\u529B\u7483\u54E9\u4FE9\u8054\u83B2\u8FDE\u9570\u5EC9\u601C\u6D9F\u5E18\u655B\u8138\u94FE\u604B\u70BC\u7EC3\u7CAE\u51C9\u6881\u7CB1\u826F\u4E24\u8F86\u91CF\u667E\u4EAE\u8C05\u64A9\u804A\u50DA\u7597\u71CE\u5BE5\u8FBD\u6F66\u4E86\u6482\u9563\u5ED6\u6599\u5217\u88C2\u70C8\u52A3\u730E\u7433\u6797\u78F7\u9716\u4E34\u90BB\u9CDE\u6DCB\u51DB\u8D41\u541D\u62CE\u73B2\u83F1\u96F6\u9F84\u94C3\u4F36\u7F9A\u51CC\u7075\u9675\u5CAD\u9886\u53E6\u4EE4\u6E9C\u7409\u69B4\u786B\u998F\u7559\u5218\u7624\u6D41\u67F3\u516D\u9F99\u804B\u5499\u7B3C\u7ABF"], + ["c240", "\u7FE4\u7FE7\u7FE8\u7FEA\u7FEB\u7FEC\u7FED\u7FEF\u7FF2\u7FF4", 6, "\u7FFD\u7FFE\u7FFF\u8002\u8007\u8008\u8009\u800A\u800E\u800F\u8011\u8013\u801A\u801B\u801D\u801E\u801F\u8021\u8023\u8024\u802B", 5, "\u8032\u8034\u8039\u803A\u803C\u803E\u8040\u8041\u8044\u8045\u8047\u8048\u8049\u804E\u804F\u8050\u8051\u8053\u8055\u8056\u8057"], + ["c280", "\u8059\u805B", 13, "\u806B", 5, "\u8072", 11, "\u9686\u5784\u62E2\u9647\u697C\u5A04\u6402\u7BD3\u6F0F\u964B\u82A6\u5362\u9885\u5E90\u7089\u63B3\u5364\u864F\u9C81\u9E93\u788C\u9732\u8DEF\u8D42\u9E7F\u6F5E\u7984\u5F55\u9646\u622E\u9A74\u5415\u94DD\u4FA3\u65C5\u5C65\u5C61\u7F15\u8651\u6C2F\u5F8B\u7387\u6EE4\u7EFF\u5CE6\u631B\u5B6A\u6EE6\u5375\u4E71\u63A0\u7565\u62A1\u8F6E\u4F26\u4ED1\u6CA6\u7EB6\u8BBA\u841D\u87BA\u7F57\u903B\u9523\u7BA9\u9AA1\u88F8\u843D\u6D1B\u9A86\u7EDC\u5988\u9EBB\u739B\u7801\u8682\u9A6C\u9A82\u561B\u5417\u57CB\u4E70\u9EA6\u5356\u8FC8\u8109\u7792\u9992\u86EE\u6EE1\u8513\u66FC\u6162\u6F2B"], + ["c340", "\u807E\u8081\u8082\u8085\u8088\u808A\u808D", 5, "\u8094\u8095\u8097\u8099\u809E\u80A3\u80A6\u80A7\u80A8\u80AC\u80B0\u80B3\u80B5\u80B6\u80B8\u80B9\u80BB\u80C5\u80C7", 4, "\u80CF", 6, "\u80D8\u80DF\u80E0\u80E2\u80E3\u80E6\u80EE\u80F5\u80F7\u80F9\u80FB\u80FE\u80FF\u8100\u8101\u8103\u8104\u8105\u8107\u8108\u810B"], + ["c380", "\u810C\u8115\u8117\u8119\u811B\u811C\u811D\u811F", 12, "\u812D\u812E\u8130\u8133\u8134\u8135\u8137\u8139", 4, "\u813F\u8C29\u8292\u832B\u76F2\u6C13\u5FD9\u83BD\u732B\u8305\u951A\u6BDB\u77DB\u94C6\u536F\u8302\u5192\u5E3D\u8C8C\u8D38\u4E48\u73AB\u679A\u6885\u9176\u9709\u7164\u6CA1\u7709\u5A92\u9541\u6BCF\u7F8E\u6627\u5BD0\u59B9\u5A9A\u95E8\u95F7\u4EEC\u840C\u8499\u6AAC\u76DF\u9530\u731B\u68A6\u5B5F\u772F\u919A\u9761\u7CDC\u8FF7\u8C1C\u5F25\u7C73\u79D8\u89C5\u6CCC\u871C\u5BC6\u5E42\u68C9\u7720\u7EF5\u5195\u514D\u52C9\u5A29\u7F05\u9762\u82D7\u63CF\u7784\u85D0\u79D2\u6E3A\u5E99\u5999\u8511\u706D\u6C11\u62BF\u76BF\u654F\u60AF\u95FD\u660E\u879F\u9E23\u94ED\u540D\u547D\u8C2C\u6478"], + ["c440", "\u8140", 5, "\u8147\u8149\u814D\u814E\u814F\u8152\u8156\u8157\u8158\u815B", 4, "\u8161\u8162\u8163\u8164\u8166\u8168\u816A\u816B\u816C\u816F\u8172\u8173\u8175\u8176\u8177\u8178\u8181\u8183", 4, "\u8189\u818B\u818C\u818D\u818E\u8190\u8192", 5, "\u8199\u819A\u819E", 4, "\u81A4\u81A5"], + ["c480", "\u81A7\u81A9\u81AB", 7, "\u81B4", 5, "\u81BC\u81BD\u81BE\u81BF\u81C4\u81C5\u81C7\u81C8\u81C9\u81CB\u81CD", 6, "\u6479\u8611\u6A21\u819C\u78E8\u6469\u9B54\u62B9\u672B\u83AB\u58A8\u9ED8\u6CAB\u6F20\u5BDE\u964C\u8C0B\u725F\u67D0\u62C7\u7261\u4EA9\u59C6\u6BCD\u5893\u66AE\u5E55\u52DF\u6155\u6728\u76EE\u7766\u7267\u7A46\u62FF\u54EA\u5450\u94A0\u90A3\u5A1C\u7EB3\u6C16\u4E43\u5976\u8010\u5948\u5357\u7537\u96BE\u56CA\u6320\u8111\u607C\u95F9\u6DD6\u5462\u9981\u5185\u5AE9\u80FD\u59AE\u9713\u502A\u6CE5\u5C3C\u62DF\u4F60\u533F\u817B\u9006\u6EBA\u852B\u62C8\u5E74\u78BE\u64B5\u637B\u5FF5\u5A18\u917F\u9E1F\u5C3F\u634F\u8042\u5B7D\u556E\u954A\u954D\u6D85\u60A8\u67E0\u72DE\u51DD\u5B81"], + ["c540", "\u81D4", 14, "\u81E4\u81E5\u81E6\u81E8\u81E9\u81EB\u81EE", 4, "\u81F5", 5, "\u81FD\u81FF\u8203\u8207", 4, "\u820E\u820F\u8211\u8213\u8215", 5, "\u821D\u8220\u8224\u8225\u8226\u8227\u8229\u822E\u8232\u823A\u823C\u823D\u823F"], + ["c580", "\u8240\u8241\u8242\u8243\u8245\u8246\u8248\u824A\u824C\u824D\u824E\u8250", 7, "\u8259\u825B\u825C\u825D\u825E\u8260", 7, "\u8269\u62E7\u6CDE\u725B\u626D\u94AE\u7EBD\u8113\u6D53\u519C\u5F04\u5974\u52AA\u6012\u5973\u6696\u8650\u759F\u632A\u61E6\u7CEF\u8BFA\u54E6\u6B27\u9E25\u6BB4\u85D5\u5455\u5076\u6CA4\u556A\u8DB4\u722C\u5E15\u6015\u7436\u62CD\u6392\u724C\u5F98\u6E43\u6D3E\u6500\u6F58\u76D8\u78D0\u76FC\u7554\u5224\u53DB\u4E53\u5E9E\u65C1\u802A\u80D6\u629B\u5486\u5228\u70AE\u888D\u8DD1\u6CE1\u5478\u80DA\u57F9\u88F4\u8D54\u966A\u914D\u4F69\u6C9B\u55B7\u76C6\u7830\u62A8\u70F9\u6F8E\u5F6D\u84EC\u68DA\u787C\u7BF7\u81A8\u670B\u9E4F\u6367\u78B0\u576F\u7812\u9739\u6279\u62AB\u5288\u7435\u6BD7"], + ["c640", "\u826A\u826B\u826C\u826D\u8271\u8275\u8276\u8277\u8278\u827B\u827C\u8280\u8281\u8283\u8285\u8286\u8287\u8289\u828C\u8290\u8293\u8294\u8295\u8296\u829A\u829B\u829E\u82A0\u82A2\u82A3\u82A7\u82B2\u82B5\u82B6\u82BA\u82BB\u82BC\u82BF\u82C0\u82C2\u82C3\u82C5\u82C6\u82C9\u82D0\u82D6\u82D9\u82DA\u82DD\u82E2\u82E7\u82E8\u82E9\u82EA\u82EC\u82ED\u82EE\u82F0\u82F2\u82F3\u82F5\u82F6\u82F8"], + ["c680", "\u82FA\u82FC", 4, "\u830A\u830B\u830D\u8310\u8312\u8313\u8316\u8318\u8319\u831D", 9, "\u8329\u832A\u832E\u8330\u8332\u8337\u833B\u833D\u5564\u813E\u75B2\u76AE\u5339\u75DE\u50FB\u5C41\u8B6C\u7BC7\u504F\u7247\u9A97\u98D8\u6F02\u74E2\u7968\u6487\u77A5\u62FC\u9891\u8D2B\u54C1\u8058\u4E52\u576A\u82F9\u840D\u5E73\u51ED\u74F6\u8BC4\u5C4F\u5761\u6CFC\u9887\u5A46\u7834\u9B44\u8FEB\u7C95\u5256\u6251\u94FA\u4EC6\u8386\u8461\u83E9\u84B2\u57D4\u6734\u5703\u666E\u6D66\u8C31\u66DD\u7011\u671F\u6B3A\u6816\u621A\u59BB\u4E03\u51C4\u6F06\u67D2\u6C8F\u5176\u68CB\u5947\u6B67\u7566\u5D0E\u8110\u9F50\u65D7\u7948\u7941\u9A91\u8D77\u5C82\u4E5E\u4F01\u542F\u5951\u780C\u5668\u6C14\u8FC4\u5F03\u6C7D\u6CE3\u8BAB\u6390"], + ["c740", "\u833E\u833F\u8341\u8342\u8344\u8345\u8348\u834A", 4, "\u8353\u8355", 4, "\u835D\u8362\u8370", 6, "\u8379\u837A\u837E", 6, "\u8387\u8388\u838A\u838B\u838C\u838D\u838F\u8390\u8391\u8394\u8395\u8396\u8397\u8399\u839A\u839D\u839F\u83A1", 6, "\u83AC\u83AD\u83AE"], + ["c780", "\u83AF\u83B5\u83BB\u83BE\u83BF\u83C2\u83C3\u83C4\u83C6\u83C8\u83C9\u83CB\u83CD\u83CE\u83D0\u83D1\u83D2\u83D3\u83D5\u83D7\u83D9\u83DA\u83DB\u83DE\u83E2\u83E3\u83E4\u83E6\u83E7\u83E8\u83EB\u83EC\u83ED\u6070\u6D3D\u7275\u6266\u948E\u94C5\u5343\u8FC1\u7B7E\u4EDF\u8C26\u4E7E\u9ED4\u94B1\u94B3\u524D\u6F5C\u9063\u6D45\u8C34\u5811\u5D4C\u6B20\u6B49\u67AA\u545B\u8154\u7F8C\u5899\u8537\u5F3A\u62A2\u6A47\u9539\u6572\u6084\u6865\u77A7\u4E54\u4FA8\u5DE7\u9798\u64AC\u7FD8\u5CED\u4FCF\u7A8D\u5207\u8304\u4E14\u602F\u7A83\u94A6\u4FB5\u4EB2\u79E6\u7434\u52E4\u82B9\u64D2\u79BD\u5BDD\u6C81\u9752\u8F7B\u6C22\u503E\u537F\u6E05\u64CE\u6674\u6C30\u60C5\u9877\u8BF7\u5E86\u743C\u7A77\u79CB\u4E18\u90B1\u7403\u6C42\u56DA\u914B\u6CC5\u8D8B\u533A\u86C6\u66F2\u8EAF\u5C48\u9A71\u6E20"], + ["c840", "\u83EE\u83EF\u83F3", 4, "\u83FA\u83FB\u83FC\u83FE\u83FF\u8400\u8402\u8405\u8407\u8408\u8409\u840A\u8410\u8412", 5, "\u8419\u841A\u841B\u841E", 5, "\u8429", 7, "\u8432", 5, "\u8439\u843A\u843B\u843E", 7, "\u8447\u8448\u8449"], + ["c880", "\u844A", 6, "\u8452", 4, "\u8458\u845D\u845E\u845F\u8460\u8462\u8464", 4, "\u846A\u846E\u846F\u8470\u8472\u8474\u8477\u8479\u847B\u847C\u53D6\u5A36\u9F8B\u8DA3\u53BB\u5708\u98A7\u6743\u919B\u6CC9\u5168\u75CA\u62F3\u72AC\u5238\u529D\u7F3A\u7094\u7638\u5374\u9E4A\u69B7\u786E\u96C0\u88D9\u7FA4\u7136\u71C3\u5189\u67D3\u74E4\u58E4\u6518\u56B7\u8BA9\u9976\u6270\u7ED5\u60F9\u70ED\u58EC\u4EC1\u4EBA\u5FCD\u97E7\u4EFB\u8BA4\u5203\u598A\u7EAB\u6254\u4ECD\u65E5\u620E\u8338\u84C9\u8363\u878D\u7194\u6EB6\u5BB9\u7ED2\u5197\u63C9\u67D4\u8089\u8339\u8815\u5112\u5B7A\u5982\u8FB1\u4E73\u6C5D\u5165\u8925\u8F6F\u962E\u854A\u745E\u9510\u95F0\u6DA6\u82E5\u5F31\u6492\u6D12\u8428\u816E\u9CC3\u585E\u8D5B\u4E09\u53C1"], + ["c940", "\u847D", 4, "\u8483\u8484\u8485\u8486\u848A\u848D\u848F", 7, "\u8498\u849A\u849B\u849D\u849E\u849F\u84A0\u84A2", 12, "\u84B0\u84B1\u84B3\u84B5\u84B6\u84B7\u84BB\u84BC\u84BE\u84C0\u84C2\u84C3\u84C5\u84C6\u84C7\u84C8\u84CB\u84CC\u84CE\u84CF\u84D2\u84D4\u84D5\u84D7"], + ["c980", "\u84D8", 4, "\u84DE\u84E1\u84E2\u84E4\u84E7", 4, "\u84ED\u84EE\u84EF\u84F1", 10, "\u84FD\u84FE\u8500\u8501\u8502\u4F1E\u6563\u6851\u55D3\u4E27\u6414\u9A9A\u626B\u5AC2\u745F\u8272\u6DA9\u68EE\u50E7\u838E\u7802\u6740\u5239\u6C99\u7EB1\u50BB\u5565\u715E\u7B5B\u6652\u73CA\u82EB\u6749\u5C71\u5220\u717D\u886B\u95EA\u9655\u64C5\u8D61\u81B3\u5584\u6C55\u6247\u7F2E\u5892\u4F24\u5546\u8D4F\u664C\u4E0A\u5C1A\u88F3\u68A2\u634E\u7A0D\u70E7\u828D\u52FA\u97F6\u5C11\u54E8\u90B5\u7ECD\u5962\u8D4A\u86C7\u820C\u820D\u8D66\u6444\u5C04\u6151\u6D89\u793E\u8BBE\u7837\u7533\u547B\u4F38\u8EAB\u6DF1\u5A20\u7EC5\u795E\u6C88\u5BA1\u5A76\u751A\u80BE\u614E\u6E17\u58F0\u751F\u7525\u7272\u5347\u7EF3"], + ["ca40", "\u8503", 8, "\u850D\u850E\u850F\u8510\u8512\u8514\u8515\u8516\u8518\u8519\u851B\u851C\u851D\u851E\u8520\u8522", 8, "\u852D", 9, "\u853E", 4, "\u8544\u8545\u8546\u8547\u854B", 10], + ["ca80", "\u8557\u8558\u855A\u855B\u855C\u855D\u855F", 4, "\u8565\u8566\u8567\u8569", 8, "\u8573\u8575\u8576\u8577\u8578\u857C\u857D\u857F\u8580\u8581\u7701\u76DB\u5269\u80DC\u5723\u5E08\u5931\u72EE\u65BD\u6E7F\u8BD7\u5C38\u8671\u5341\u77F3\u62FE\u65F6\u4EC0\u98DF\u8680\u5B9E\u8BC6\u53F2\u77E2\u4F7F\u5C4E\u9A76\u59CB\u5F0F\u793A\u58EB\u4E16\u67FF\u4E8B\u62ED\u8A93\u901D\u52BF\u662F\u55DC\u566C\u9002\u4ED5\u4F8D\u91CA\u9970\u6C0F\u5E02\u6043\u5BA4\u89C6\u8BD5\u6536\u624B\u9996\u5B88\u5BFF\u6388\u552E\u53D7\u7626\u517D\u852C\u67A2\u68B3\u6B8A\u6292\u8F93\u53D4\u8212\u6DD1\u758F\u4E66\u8D4E\u5B70\u719F\u85AF\u6691\u66D9\u7F72\u8700\u9ECD\u9F20\u5C5E\u672F\u8FF0\u6811\u675F\u620D\u7AD6\u5885\u5EB6\u6570\u6F31"], + ["cb40", "\u8582\u8583\u8586\u8588", 6, "\u8590", 10, "\u859D", 6, "\u85A5\u85A6\u85A7\u85A9\u85AB\u85AC\u85AD\u85B1", 5, "\u85B8\u85BA", 6, "\u85C2", 6, "\u85CA", 4, "\u85D1\u85D2"], + ["cb80", "\u85D4\u85D6", 5, "\u85DD", 6, "\u85E5\u85E6\u85E7\u85E8\u85EA", 14, "\u6055\u5237\u800D\u6454\u8870\u7529\u5E05\u6813\u62F4\u971C\u53CC\u723D\u8C01\u6C34\u7761\u7A0E\u542E\u77AC\u987A\u821C\u8BF4\u7855\u6714\u70C1\u65AF\u6495\u5636\u601D\u79C1\u53F8\u4E1D\u6B7B\u8086\u5BFA\u55E3\u56DB\u4F3A\u4F3C\u9972\u5DF3\u677E\u8038\u6002\u9882\u9001\u5B8B\u8BBC\u8BF5\u641C\u8258\u64DE\u55FD\u82CF\u9165\u4FD7\u7D20\u901F\u7C9F\u50F3\u5851\u6EAF\u5BBF\u8BC9\u8083\u9178\u849C\u7B97\u867D\u968B\u968F\u7EE5\u9AD3\u788E\u5C81\u7A57\u9042\u96A7\u795F\u5B59\u635F\u7B0B\u84D1\u68AD\u5506\u7F29\u7410\u7D22\u9501\u6240\u584C\u4ED6\u5B83\u5979\u5854"], + ["cc40", "\u85F9\u85FA\u85FC\u85FD\u85FE\u8600", 4, "\u8606", 10, "\u8612\u8613\u8614\u8615\u8617", 15, "\u8628\u862A", 13, "\u8639\u863A\u863B\u863D\u863E\u863F\u8640"], + ["cc80", "\u8641", 11, "\u8652\u8653\u8655", 4, "\u865B\u865C\u865D\u865F\u8660\u8661\u8663", 7, "\u736D\u631E\u8E4B\u8E0F\u80CE\u82D4\u62AC\u53F0\u6CF0\u915E\u592A\u6001\u6C70\u574D\u644A\u8D2A\u762B\u6EE9\u575B\u6A80\u75F0\u6F6D\u8C2D\u8C08\u5766\u6BEF\u8892\u78B3\u63A2\u53F9\u70AD\u6C64\u5858\u642A\u5802\u68E0\u819B\u5510\u7CD6\u5018\u8EBA\u6DCC\u8D9F\u70EB\u638F\u6D9B\u6ED4\u7EE6\u8404\u6843\u9003\u6DD8\u9676\u8BA8\u5957\u7279\u85E4\u817E\u75BC\u8A8A\u68AF\u5254\u8E22\u9511\u63D0\u9898\u8E44\u557C\u4F53\u66FF\u568F\u60D5\u6D95\u5243\u5C49\u5929\u6DFB\u586B\u7530\u751C\u606C\u8214\u8146\u6311\u6761\u8FE2\u773A\u8DF3\u8D34\u94C1\u5E16\u5385\u542C\u70C3"], + ["cd40", "\u866D\u866F\u8670\u8672", 6, "\u8683", 6, "\u868E", 4, "\u8694\u8696", 5, "\u869E", 4, "\u86A5\u86A6\u86AB\u86AD\u86AE\u86B2\u86B3\u86B7\u86B8\u86B9\u86BB", 4, "\u86C1\u86C2\u86C3\u86C5\u86C8\u86CC\u86CD\u86D2\u86D3\u86D5\u86D6\u86D7\u86DA\u86DC"], + ["cd80", "\u86DD\u86E0\u86E1\u86E2\u86E3\u86E5\u86E6\u86E7\u86E8\u86EA\u86EB\u86EC\u86EF\u86F5\u86F6\u86F7\u86FA\u86FB\u86FC\u86FD\u86FF\u8701\u8704\u8705\u8706\u870B\u870C\u870E\u870F\u8710\u8711\u8714\u8716\u6C40\u5EF7\u505C\u4EAD\u5EAD\u633A\u8247\u901A\u6850\u916E\u77B3\u540C\u94DC\u5F64\u7AE5\u6876\u6345\u7B52\u7EDF\u75DB\u5077\u6295\u5934\u900F\u51F8\u79C3\u7A81\u56FE\u5F92\u9014\u6D82\u5C60\u571F\u5410\u5154\u6E4D\u56E2\u63A8\u9893\u817F\u8715\u892A\u9000\u541E\u5C6F\u81C0\u62D6\u6258\u8131\u9E35\u9640\u9A6E\u9A7C\u692D\u59A5\u62D3\u553E\u6316\u54C7\u86D9\u6D3C\u5A03\u74E6\u889C\u6B6A\u5916\u8C4C\u5F2F\u6E7E\u73A9\u987D\u4E38\u70F7\u5B8C\u7897\u633D\u665A\u7696\u60CB\u5B9B\u5A49\u4E07\u8155\u6C6A\u738B\u4EA1\u6789\u7F51\u5F80\u65FA\u671B\u5FD8\u5984\u5A01"], + ["ce40", "\u8719\u871B\u871D\u871F\u8720\u8724\u8726\u8727\u8728\u872A\u872B\u872C\u872D\u872F\u8730\u8732\u8733\u8735\u8736\u8738\u8739\u873A\u873C\u873D\u8740", 6, "\u874A\u874B\u874D\u874F\u8750\u8751\u8752\u8754\u8755\u8756\u8758\u875A", 5, "\u8761\u8762\u8766", 7, "\u876F\u8771\u8772\u8773\u8775"], + ["ce80", "\u8777\u8778\u8779\u877A\u877F\u8780\u8781\u8784\u8786\u8787\u8789\u878A\u878C\u878E", 4, "\u8794\u8795\u8796\u8798", 6, "\u87A0", 4, "\u5DCD\u5FAE\u5371\u97E6\u8FDD\u6845\u56F4\u552F\u60DF\u4E3A\u6F4D\u7EF4\u82C7\u840E\u59D4\u4F1F\u4F2A\u5C3E\u7EAC\u672A\u851A\u5473\u754F\u80C3\u5582\u9B4F\u4F4D\u6E2D\u8C13\u5C09\u6170\u536B\u761F\u6E29\u868A\u6587\u95FB\u7EB9\u543B\u7A33\u7D0A\u95EE\u55E1\u7FC1\u74EE\u631D\u8717\u6DA1\u7A9D\u6211\u65A1\u5367\u63E1\u6C83\u5DEB\u545C\u94A8\u4E4C\u6C61\u8BEC\u5C4B\u65E0\u829C\u68A7\u543E\u5434\u6BCB\u6B66\u4E94\u6342\u5348\u821E\u4F0D\u4FAE\u575E\u620A\u96FE\u6664\u7269\u52FF\u52A1\u609F\u8BEF\u6614\u7199\u6790\u897F\u7852\u77FD\u6670\u563B\u5438\u9521\u727A"], + ["cf40", "\u87A5\u87A6\u87A7\u87A9\u87AA\u87AE\u87B0\u87B1\u87B2\u87B4\u87B6\u87B7\u87B8\u87B9\u87BB\u87BC\u87BE\u87BF\u87C1", 4, "\u87C7\u87C8\u87C9\u87CC", 4, "\u87D4", 6, "\u87DC\u87DD\u87DE\u87DF\u87E1\u87E2\u87E3\u87E4\u87E6\u87E7\u87E8\u87E9\u87EB\u87EC\u87ED\u87EF", 9], + ["cf80", "\u87FA\u87FB\u87FC\u87FD\u87FF\u8800\u8801\u8802\u8804", 5, "\u880B", 7, "\u8814\u8817\u8818\u8819\u881A\u881C", 4, "\u8823\u7A00\u606F\u5E0C\u6089\u819D\u5915\u60DC\u7184\u70EF\u6EAA\u6C50\u7280\u6A84\u88AD\u5E2D\u4E60\u5AB3\u559C\u94E3\u6D17\u7CFB\u9699\u620F\u7EC6\u778E\u867E\u5323\u971E\u8F96\u6687\u5CE1\u4FA0\u72ED\u4E0B\u53A6\u590F\u5413\u6380\u9528\u5148\u4ED9\u9C9C\u7EA4\u54B8\u8D24\u8854\u8237\u95F2\u6D8E\u5F26\u5ACC\u663E\u9669\u73B0\u732E\u53BF\u817A\u9985\u7FA1\u5BAA\u9677\u9650\u7EBF\u76F8\u53A2\u9576\u9999\u7BB1\u8944\u6E58\u4E61\u7FD4\u7965\u8BE6\u60F3\u54CD\u4EAB\u9879\u5DF7\u6A61\u50CF\u5411\u8C61\u8427\u785D\u9704\u524A\u54EE\u56A3\u9500\u6D88\u5BB5\u6DC6\u6653"], + ["d040", "\u8824", 13, "\u8833", 5, "\u883A\u883B\u883D\u883E\u883F\u8841\u8842\u8843\u8846", 5, "\u884E", 5, "\u8855\u8856\u8858\u885A", 6, "\u8866\u8867\u886A\u886D\u886F\u8871\u8873\u8874\u8875\u8876\u8878\u8879\u887A"], + ["d080", "\u887B\u887C\u8880\u8883\u8886\u8887\u8889\u888A\u888C\u888E\u888F\u8890\u8891\u8893\u8894\u8895\u8897", 4, "\u889D", 4, "\u88A3\u88A5", 5, "\u5C0F\u5B5D\u6821\u8096\u5578\u7B11\u6548\u6954\u4E9B\u6B47\u874E\u978B\u534F\u631F\u643A\u90AA\u659C\u80C1\u8C10\u5199\u68B0\u5378\u87F9\u61C8\u6CC4\u6CFB\u8C22\u5C51\u85AA\u82AF\u950C\u6B23\u8F9B\u65B0\u5FFB\u5FC3\u4FE1\u8845\u661F\u8165\u7329\u60FA\u5174\u5211\u578B\u5F62\u90A2\u884C\u9192\u5E78\u674F\u6027\u59D3\u5144\u51F6\u80F8\u5308\u6C79\u96C4\u718A\u4F11\u4FEE\u7F9E\u673D\u55C5\u9508\u79C0\u8896\u7EE3\u589F\u620C\u9700\u865A\u5618\u987B\u5F90\u8BB8\u84C4\u9157\u53D9\u65ED\u5E8F\u755C\u6064\u7D6E\u5A7F\u7EEA\u7EED\u8F69\u55A7\u5BA3\u60AC\u65CB\u7384"], + ["d140", "\u88AC\u88AE\u88AF\u88B0\u88B2", 4, "\u88B8\u88B9\u88BA\u88BB\u88BD\u88BE\u88BF\u88C0\u88C3\u88C4\u88C7\u88C8\u88CA\u88CB\u88CC\u88CD\u88CF\u88D0\u88D1\u88D3\u88D6\u88D7\u88DA", 4, "\u88E0\u88E1\u88E6\u88E7\u88E9", 6, "\u88F2\u88F5\u88F6\u88F7\u88FA\u88FB\u88FD\u88FF\u8900\u8901\u8903", 5], + ["d180", "\u8909\u890B", 4, "\u8911\u8914", 4, "\u891C", 4, "\u8922\u8923\u8924\u8926\u8927\u8928\u8929\u892C\u892D\u892E\u892F\u8931\u8932\u8933\u8935\u8937\u9009\u7663\u7729\u7EDA\u9774\u859B\u5B66\u7A74\u96EA\u8840\u52CB\u718F\u5FAA\u65EC\u8BE2\u5BFB\u9A6F\u5DE1\u6B89\u6C5B\u8BAD\u8BAF\u900A\u8FC5\u538B\u62BC\u9E26\u9E2D\u5440\u4E2B\u82BD\u7259\u869C\u5D16\u8859\u6DAF\u96C5\u54D1\u4E9A\u8BB6\u7109\u54BD\u9609\u70DF\u6DF9\u76D0\u4E25\u7814\u8712\u5CA9\u5EF6\u8A00\u989C\u960E\u708E\u6CBF\u5944\u63A9\u773C\u884D\u6F14\u8273\u5830\u71D5\u538C\u781A\u96C1\u5501\u5F66\u7130\u5BB4\u8C1A\u9A8C\u6B83\u592E\u9E2F\u79E7\u6768\u626C\u4F6F\u75A1\u7F8A\u6D0B\u9633\u6C27\u4EF0\u75D2\u517B\u6837\u6F3E\u9080\u8170\u5996\u7476"], + ["d240", "\u8938", 8, "\u8942\u8943\u8945", 24, "\u8960", 5, "\u8967", 19, "\u897C"], + ["d280", "\u897D\u897E\u8980\u8982\u8984\u8985\u8987", 26, "\u6447\u5C27\u9065\u7A91\u8C23\u59DA\u54AC\u8200\u836F\u8981\u8000\u6930\u564E\u8036\u7237\u91CE\u51B6\u4E5F\u9875\u6396\u4E1A\u53F6\u66F3\u814B\u591C\u6DB2\u4E00\u58F9\u533B\u63D6\u94F1\u4F9D\u4F0A\u8863\u9890\u5937\u9057\u79FB\u4EEA\u80F0\u7591\u6C82\u5B9C\u59E8\u5F5D\u6905\u8681\u501A\u5DF2\u4E59\u77E3\u4EE5\u827A\u6291\u6613\u9091\u5C79\u4EBF\u5F79\u81C6\u9038\u8084\u75AB\u4EA6\u88D4\u610F\u6BC5\u5FC6\u4E49\u76CA\u6EA2\u8BE3\u8BAE\u8C0A\u8BD1\u5F02\u7FFC\u7FCC\u7ECE\u8335\u836B\u56E0\u6BB7\u97F3\u9634\u59FB\u541F\u94F6\u6DEB\u5BC5\u996E\u5C39\u5F15\u9690"], + ["d340", "\u89A2", 30, "\u89C3\u89CD\u89D3\u89D4\u89D5\u89D7\u89D8\u89D9\u89DB\u89DD\u89DF\u89E0\u89E1\u89E2\u89E4\u89E7\u89E8\u89E9\u89EA\u89EC\u89ED\u89EE\u89F0\u89F1\u89F2\u89F4", 6], + ["d380", "\u89FB", 4, "\u8A01", 5, "\u8A08", 21, "\u5370\u82F1\u6A31\u5A74\u9E70\u5E94\u7F28\u83B9\u8424\u8425\u8367\u8747\u8FCE\u8D62\u76C8\u5F71\u9896\u786C\u6620\u54DF\u62E5\u4F63\u81C3\u75C8\u5EB8\u96CD\u8E0A\u86F9\u548F\u6CF3\u6D8C\u6C38\u607F\u52C7\u7528\u5E7D\u4F18\u60A0\u5FE7\u5C24\u7531\u90AE\u94C0\u72B9\u6CB9\u6E38\u9149\u6709\u53CB\u53F3\u4F51\u91C9\u8BF1\u53C8\u5E7C\u8FC2\u6DE4\u4E8E\u76C2\u6986\u865E\u611A\u8206\u4F59\u4FDE\u903E\u9C7C\u6109\u6E1D\u6E14\u9685\u4E88\u5A31\u96E8\u4E0E\u5C7F\u79B9\u5B87\u8BED\u7FBD\u7389\u57DF\u828B\u90C1\u5401\u9047\u55BB\u5CEA\u5FA1\u6108\u6B32\u72F1\u80B2\u8A89"], + ["d440", "\u8A1E", 31, "\u8A3F", 8, "\u8A49", 21], + ["d480", "\u8A5F", 25, "\u8A7A", 6, "\u6D74\u5BD3\u88D5\u9884\u8C6B\u9A6D\u9E33\u6E0A\u51A4\u5143\u57A3\u8881\u539F\u63F4\u8F95\u56ED\u5458\u5706\u733F\u6E90\u7F18\u8FDC\u82D1\u613F\u6028\u9662\u66F0\u7EA6\u8D8A\u8DC3\u94A5\u5CB3\u7CA4\u6708\u60A6\u9605\u8018\u4E91\u90E7\u5300\u9668\u5141\u8FD0\u8574\u915D\u6655\u97F5\u5B55\u531D\u7838\u6742\u683D\u54C9\u707E\u5BB0\u8F7D\u518D\u5728\u54B1\u6512\u6682\u8D5E\u8D43\u810F\u846C\u906D\u7CDF\u51FF\u85FB\u67A3\u65E9\u6FA1\u86A4\u8E81\u566A\u9020\u7682\u7076\u71E5\u8D23\u62E9\u5219\u6CFD\u8D3C\u600E\u589E\u618E\u66FE\u8D60\u624E\u55B3\u6E23\u672D\u8F67"], + ["d540", "\u8A81", 7, "\u8A8B", 7, "\u8A94", 46], + ["d580", "\u8AC3", 32, "\u94E1\u95F8\u7728\u6805\u69A8\u548B\u4E4D\u70B8\u8BC8\u6458\u658B\u5B85\u7A84\u503A\u5BE8\u77BB\u6BE1\u8A79\u7C98\u6CBE\u76CF\u65A9\u8F97\u5D2D\u5C55\u8638\u6808\u5360\u6218\u7AD9\u6E5B\u7EFD\u6A1F\u7AE0\u5F70\u6F33\u5F20\u638C\u6DA8\u6756\u4E08\u5E10\u8D26\u4ED7\u80C0\u7634\u969C\u62DB\u662D\u627E\u6CBC\u8D75\u7167\u7F69\u5146\u8087\u53EC\u906E\u6298\u54F2\u86F0\u8F99\u8005\u9517\u8517\u8FD9\u6D59\u73CD\u659F\u771F\u7504\u7827\u81FB\u8D1E\u9488\u4FA6\u6795\u75B9\u8BCA\u9707\u632F\u9547\u9635\u84B8\u6323\u7741\u5F81\u72F0\u4E89\u6014\u6574\u62EF\u6B63\u653F"], + ["d640", "\u8AE4", 34, "\u8B08", 27], + ["d680", "\u8B24\u8B25\u8B27", 30, "\u5E27\u75C7\u90D1\u8BC1\u829D\u679D\u652F\u5431\u8718\u77E5\u80A2\u8102\u6C41\u4E4B\u7EC7\u804C\u76F4\u690D\u6B96\u6267\u503C\u4F84\u5740\u6307\u6B62\u8DBE\u53EA\u65E8\u7EB8\u5FD7\u631A\u63B7\u81F3\u81F4\u7F6E\u5E1C\u5CD9\u5236\u667A\u79E9\u7A1A\u8D28\u7099\u75D4\u6EDE\u6CBB\u7A92\u4E2D\u76C5\u5FE0\u949F\u8877\u7EC8\u79CD\u80BF\u91CD\u4EF2\u4F17\u821F\u5468\u5DDE\u6D32\u8BCC\u7CA5\u8F74\u8098\u5E1A\u5492\u76B1\u5B99\u663C\u9AA4\u73E0\u682A\u86DB\u6731\u732A\u8BF8\u8BDB\u9010\u7AF9\u70DB\u716E\u62C4\u77A9\u5631\u4E3B\u8457\u67F1\u52A9\u86C0\u8D2E\u94F8\u7B51"], + ["d740", "\u8B46", 31, "\u8B67", 4, "\u8B6D", 25], + ["d780", "\u8B87", 24, "\u8BAC\u8BB1\u8BBB\u8BC7\u8BD0\u8BEA\u8C09\u8C1E\u4F4F\u6CE8\u795D\u9A7B\u6293\u722A\u62FD\u4E13\u7816\u8F6C\u64B0\u8D5A\u7BC6\u6869\u5E84\u88C5\u5986\u649E\u58EE\u72B6\u690E\u9525\u8FFD\u8D58\u5760\u7F00\u8C06\u51C6\u6349\u62D9\u5353\u684C\u7422\u8301\u914C\u5544\u7740\u707C\u6D4A\u5179\u54A8\u8D44\u59FF\u6ECB\u6DC4\u5B5C\u7D2B\u4ED4\u7C7D\u6ED3\u5B50\u81EA\u6E0D\u5B57\u9B03\u68D5\u8E2A\u5B97\u7EFC\u603B\u7EB5\u90B9\u8D70\u594F\u63CD\u79DF\u8DB3\u5352\u65CF\u7956\u8BC5\u963B\u7EC4\u94BB\u7E82\u5634\u9189\u6700\u7F6A\u5C0A\u9075\u6628\u5DE6\u4F50\u67DE\u505A\u4F5C\u5750\u5EA7"], + ["d840", "\u8C38", 8, "\u8C42\u8C43\u8C44\u8C45\u8C48\u8C4A\u8C4B\u8C4D", 7, "\u8C56\u8C57\u8C58\u8C59\u8C5B", 5, "\u8C63", 6, "\u8C6C", 6, "\u8C74\u8C75\u8C76\u8C77\u8C7B", 6, "\u8C83\u8C84\u8C86\u8C87"], + ["d880", "\u8C88\u8C8B\u8C8D", 6, "\u8C95\u8C96\u8C97\u8C99", 20, "\u4E8D\u4E0C\u5140\u4E10\u5EFF\u5345\u4E15\u4E98\u4E1E\u9B32\u5B6C\u5669\u4E28\u79BA\u4E3F\u5315\u4E47\u592D\u723B\u536E\u6C10\u56DF\u80E4\u9997\u6BD3\u777E\u9F17\u4E36\u4E9F\u9F10\u4E5C\u4E69\u4E93\u8288\u5B5B\u556C\u560F\u4EC4\u538D\u539D\u53A3\u53A5\u53AE\u9765\u8D5D\u531A\u53F5\u5326\u532E\u533E\u8D5C\u5366\u5363\u5202\u5208\u520E\u522D\u5233\u523F\u5240\u524C\u525E\u5261\u525C\u84AF\u527D\u5282\u5281\u5290\u5293\u5182\u7F54\u4EBB\u4EC3\u4EC9\u4EC2\u4EE8\u4EE1\u4EEB\u4EDE\u4F1B\u4EF3\u4F22\u4F64\u4EF5\u4F25\u4F27\u4F09\u4F2B\u4F5E\u4F67\u6538\u4F5A\u4F5D"], + ["d940", "\u8CAE", 62], + ["d980", "\u8CED", 32, "\u4F5F\u4F57\u4F32\u4F3D\u4F76\u4F74\u4F91\u4F89\u4F83\u4F8F\u4F7E\u4F7B\u4FAA\u4F7C\u4FAC\u4F94\u4FE6\u4FE8\u4FEA\u4FC5\u4FDA\u4FE3\u4FDC\u4FD1\u4FDF\u4FF8\u5029\u504C\u4FF3\u502C\u500F\u502E\u502D\u4FFE\u501C\u500C\u5025\u5028\u507E\u5043\u5055\u5048\u504E\u506C\u507B\u50A5\u50A7\u50A9\u50BA\u50D6\u5106\u50ED\u50EC\u50E6\u50EE\u5107\u510B\u4EDD\u6C3D\u4F58\u4F65\u4FCE\u9FA0\u6C46\u7C74\u516E\u5DFD\u9EC9\u9998\u5181\u5914\u52F9\u530D\u8A07\u5310\u51EB\u5919\u5155\u4EA0\u5156\u4EB3\u886E\u88A4\u4EB5\u8114\u88D2\u7980\u5B34\u8803\u7FB8\u51AB\u51B1\u51BD\u51BC"], + ["da40", "\u8D0E", 14, "\u8D20\u8D51\u8D52\u8D57\u8D5F\u8D65\u8D68\u8D69\u8D6A\u8D6C\u8D6E\u8D6F\u8D71\u8D72\u8D78", 8, "\u8D82\u8D83\u8D86\u8D87\u8D88\u8D89\u8D8C", 4, "\u8D92\u8D93\u8D95", 9, "\u8DA0\u8DA1"], + ["da80", "\u8DA2\u8DA4", 12, "\u8DB2\u8DB6\u8DB7\u8DB9\u8DBB\u8DBD\u8DC0\u8DC1\u8DC2\u8DC5\u8DC7\u8DC8\u8DC9\u8DCA\u8DCD\u8DD0\u8DD2\u8DD3\u8DD4\u51C7\u5196\u51A2\u51A5\u8BA0\u8BA6\u8BA7\u8BAA\u8BB4\u8BB5\u8BB7\u8BC2\u8BC3\u8BCB\u8BCF\u8BCE\u8BD2\u8BD3\u8BD4\u8BD6\u8BD8\u8BD9\u8BDC\u8BDF\u8BE0\u8BE4\u8BE8\u8BE9\u8BEE\u8BF0\u8BF3\u8BF6\u8BF9\u8BFC\u8BFF\u8C00\u8C02\u8C04\u8C07\u8C0C\u8C0F\u8C11\u8C12\u8C14\u8C15\u8C16\u8C19\u8C1B\u8C18\u8C1D\u8C1F\u8C20\u8C21\u8C25\u8C27\u8C2A\u8C2B\u8C2E\u8C2F\u8C32\u8C33\u8C35\u8C36\u5369\u537A\u961D\u9622\u9621\u9631\u962A\u963D\u963C\u9642\u9649\u9654\u965F\u9667\u966C\u9672\u9674\u9688\u968D\u9697\u96B0\u9097\u909B\u909D\u9099\u90AC\u90A1\u90B4\u90B3\u90B6\u90BA"], + ["db40", "\u8DD5\u8DD8\u8DD9\u8DDC\u8DE0\u8DE1\u8DE2\u8DE5\u8DE6\u8DE7\u8DE9\u8DED\u8DEE\u8DF0\u8DF1\u8DF2\u8DF4\u8DF6\u8DFC\u8DFE", 6, "\u8E06\u8E07\u8E08\u8E0B\u8E0D\u8E0E\u8E10\u8E11\u8E12\u8E13\u8E15", 7, "\u8E20\u8E21\u8E24", 4, "\u8E2B\u8E2D\u8E30\u8E32\u8E33\u8E34\u8E36\u8E37\u8E38\u8E3B\u8E3C\u8E3E"], + ["db80", "\u8E3F\u8E43\u8E45\u8E46\u8E4C", 4, "\u8E53", 5, "\u8E5A", 11, "\u8E67\u8E68\u8E6A\u8E6B\u8E6E\u8E71\u90B8\u90B0\u90CF\u90C5\u90BE\u90D0\u90C4\u90C7\u90D3\u90E6\u90E2\u90DC\u90D7\u90DB\u90EB\u90EF\u90FE\u9104\u9122\u911E\u9123\u9131\u912F\u9139\u9143\u9146\u520D\u5942\u52A2\u52AC\u52AD\u52BE\u54FF\u52D0\u52D6\u52F0\u53DF\u71EE\u77CD\u5EF4\u51F5\u51FC\u9B2F\u53B6\u5F01\u755A\u5DEF\u574C\u57A9\u57A1\u587E\u58BC\u58C5\u58D1\u5729\u572C\u572A\u5733\u5739\u572E\u572F\u575C\u573B\u5742\u5769\u5785\u576B\u5786\u577C\u577B\u5768\u576D\u5776\u5773\u57AD\u57A4\u578C\u57B2\u57CF\u57A7\u57B4\u5793\u57A0\u57D5\u57D8\u57DA\u57D9\u57D2\u57B8\u57F4\u57EF\u57F8\u57E4\u57DD"], + ["dc40", "\u8E73\u8E75\u8E77", 4, "\u8E7D\u8E7E\u8E80\u8E82\u8E83\u8E84\u8E86\u8E88", 6, "\u8E91\u8E92\u8E93\u8E95", 6, "\u8E9D\u8E9F", 11, "\u8EAD\u8EAE\u8EB0\u8EB1\u8EB3", 6, "\u8EBB", 7], + ["dc80", "\u8EC3", 10, "\u8ECF", 21, "\u580B\u580D\u57FD\u57ED\u5800\u581E\u5819\u5844\u5820\u5865\u586C\u5881\u5889\u589A\u5880\u99A8\u9F19\u61FF\u8279\u827D\u827F\u828F\u828A\u82A8\u8284\u828E\u8291\u8297\u8299\u82AB\u82B8\u82BE\u82B0\u82C8\u82CA\u82E3\u8298\u82B7\u82AE\u82CB\u82CC\u82C1\u82A9\u82B4\u82A1\u82AA\u829F\u82C4\u82CE\u82A4\u82E1\u8309\u82F7\u82E4\u830F\u8307\u82DC\u82F4\u82D2\u82D8\u830C\u82FB\u82D3\u8311\u831A\u8306\u8314\u8315\u82E0\u82D5\u831C\u8351\u835B\u835C\u8308\u8392\u833C\u8334\u8331\u839B\u835E\u832F\u834F\u8347\u8343\u835F\u8340\u8317\u8360\u832D\u833A\u8333\u8366\u8365"], + ["dd40", "\u8EE5", 62], + ["dd80", "\u8F24", 32, "\u8368\u831B\u8369\u836C\u836A\u836D\u836E\u83B0\u8378\u83B3\u83B4\u83A0\u83AA\u8393\u839C\u8385\u837C\u83B6\u83A9\u837D\u83B8\u837B\u8398\u839E\u83A8\u83BA\u83BC\u83C1\u8401\u83E5\u83D8\u5807\u8418\u840B\u83DD\u83FD\u83D6\u841C\u8438\u8411\u8406\u83D4\u83DF\u840F\u8403\u83F8\u83F9\u83EA\u83C5\u83C0\u8426\u83F0\u83E1\u845C\u8451\u845A\u8459\u8473\u8487\u8488\u847A\u8489\u8478\u843C\u8446\u8469\u8476\u848C\u848E\u8431\u846D\u84C1\u84CD\u84D0\u84E6\u84BD\u84D3\u84CA\u84BF\u84BA\u84E0\u84A1\u84B9\u84B4\u8497\u84E5\u84E3\u850C\u750D\u8538\u84F0\u8539\u851F\u853A"], + ["de40", "\u8F45", 32, "\u8F6A\u8F80\u8F8C\u8F92\u8F9D\u8FA0\u8FA1\u8FA2\u8FA4\u8FA5\u8FA6\u8FA7\u8FAA\u8FAC\u8FAD\u8FAE\u8FAF\u8FB2\u8FB3\u8FB4\u8FB5\u8FB7\u8FB8\u8FBA\u8FBB\u8FBC\u8FBF\u8FC0\u8FC3\u8FC6"], + ["de80", "\u8FC9", 4, "\u8FCF\u8FD2\u8FD6\u8FD7\u8FDA\u8FE0\u8FE1\u8FE3\u8FE7\u8FEC\u8FEF\u8FF1\u8FF2\u8FF4\u8FF5\u8FF6\u8FFA\u8FFB\u8FFC\u8FFE\u8FFF\u9007\u9008\u900C\u900E\u9013\u9015\u9018\u8556\u853B\u84FF\u84FC\u8559\u8548\u8568\u8564\u855E\u857A\u77A2\u8543\u8572\u857B\u85A4\u85A8\u8587\u858F\u8579\u85AE\u859C\u8585\u85B9\u85B7\u85B0\u85D3\u85C1\u85DC\u85FF\u8627\u8605\u8629\u8616\u863C\u5EFE\u5F08\u593C\u5941\u8037\u5955\u595A\u5958\u530F\u5C22\u5C25\u5C2C\u5C34\u624C\u626A\u629F\u62BB\u62CA\u62DA\u62D7\u62EE\u6322\u62F6\u6339\u634B\u6343\u63AD\u63F6\u6371\u637A\u638E\u63B4\u636D\u63AC\u638A\u6369\u63AE\u63BC\u63F2\u63F8\u63E0\u63FF\u63C4\u63DE\u63CE\u6452\u63C6\u63BE\u6445\u6441\u640B\u641B\u6420\u640C\u6426\u6421\u645E\u6484\u646D\u6496"], + ["df40", "\u9019\u901C\u9023\u9024\u9025\u9027", 5, "\u9030", 4, "\u9037\u9039\u903A\u903D\u903F\u9040\u9043\u9045\u9046\u9048", 4, "\u904E\u9054\u9055\u9056\u9059\u905A\u905C", 5, "\u9064\u9066\u9067\u9069\u906A\u906B\u906C\u906F", 4, "\u9076", 6, "\u907E\u9081"], + ["df80", "\u9084\u9085\u9086\u9087\u9089\u908A\u908C", 4, "\u9092\u9094\u9096\u9098\u909A\u909C\u909E\u909F\u90A0\u90A4\u90A5\u90A7\u90A8\u90A9\u90AB\u90AD\u90B2\u90B7\u90BC\u90BD\u90BF\u90C0\u647A\u64B7\u64B8\u6499\u64BA\u64C0\u64D0\u64D7\u64E4\u64E2\u6509\u6525\u652E\u5F0B\u5FD2\u7519\u5F11\u535F\u53F1\u53FD\u53E9\u53E8\u53FB\u5412\u5416\u5406\u544B\u5452\u5453\u5454\u5456\u5443\u5421\u5457\u5459\u5423\u5432\u5482\u5494\u5477\u5471\u5464\u549A\u549B\u5484\u5476\u5466\u549D\u54D0\u54AD\u54C2\u54B4\u54D2\u54A7\u54A6\u54D3\u54D4\u5472\u54A3\u54D5\u54BB\u54BF\u54CC\u54D9\u54DA\u54DC\u54A9\u54AA\u54A4\u54DD\u54CF\u54DE\u551B\u54E7\u5520\u54FD\u5514\u54F3\u5522\u5523\u550F\u5511\u5527\u552A\u5567\u558F\u55B5\u5549\u556D\u5541\u5555\u553F\u5550\u553C"], + ["e040", "\u90C2\u90C3\u90C6\u90C8\u90C9\u90CB\u90CC\u90CD\u90D2\u90D4\u90D5\u90D6\u90D8\u90D9\u90DA\u90DE\u90DF\u90E0\u90E3\u90E4\u90E5\u90E9\u90EA\u90EC\u90EE\u90F0\u90F1\u90F2\u90F3\u90F5\u90F6\u90F7\u90F9\u90FA\u90FB\u90FC\u90FF\u9100\u9101\u9103\u9105", 19, "\u911A\u911B\u911C"], + ["e080", "\u911D\u911F\u9120\u9121\u9124", 10, "\u9130\u9132", 6, "\u913A", 8, "\u9144\u5537\u5556\u5575\u5576\u5577\u5533\u5530\u555C\u558B\u55D2\u5583\u55B1\u55B9\u5588\u5581\u559F\u557E\u55D6\u5591\u557B\u55DF\u55BD\u55BE\u5594\u5599\u55EA\u55F7\u55C9\u561F\u55D1\u55EB\u55EC\u55D4\u55E6\u55DD\u55C4\u55EF\u55E5\u55F2\u55F3\u55CC\u55CD\u55E8\u55F5\u55E4\u8F94\u561E\u5608\u560C\u5601\u5624\u5623\u55FE\u5600\u5627\u562D\u5658\u5639\u5657\u562C\u564D\u5662\u5659\u565C\u564C\u5654\u5686\u5664\u5671\u566B\u567B\u567C\u5685\u5693\u56AF\u56D4\u56D7\u56DD\u56E1\u56F5\u56EB\u56F9\u56FF\u5704\u570A\u5709\u571C\u5E0F\u5E19\u5E14\u5E11\u5E31\u5E3B\u5E3C"], + ["e140", "\u9145\u9147\u9148\u9151\u9153\u9154\u9155\u9156\u9158\u9159\u915B\u915C\u915F\u9160\u9166\u9167\u9168\u916B\u916D\u9173\u917A\u917B\u917C\u9180", 4, "\u9186\u9188\u918A\u918E\u918F\u9193", 6, "\u919C", 5, "\u91A4", 5, "\u91AB\u91AC\u91B0\u91B1\u91B2\u91B3\u91B6\u91B7\u91B8\u91B9\u91BB"], + ["e180", "\u91BC", 10, "\u91C8\u91CB\u91D0\u91D2", 9, "\u91DD", 8, "\u5E37\u5E44\u5E54\u5E5B\u5E5E\u5E61\u5C8C\u5C7A\u5C8D\u5C90\u5C96\u5C88\u5C98\u5C99\u5C91\u5C9A\u5C9C\u5CB5\u5CA2\u5CBD\u5CAC\u5CAB\u5CB1\u5CA3\u5CC1\u5CB7\u5CC4\u5CD2\u5CE4\u5CCB\u5CE5\u5D02\u5D03\u5D27\u5D26\u5D2E\u5D24\u5D1E\u5D06\u5D1B\u5D58\u5D3E\u5D34\u5D3D\u5D6C\u5D5B\u5D6F\u5D5D\u5D6B\u5D4B\u5D4A\u5D69\u5D74\u5D82\u5D99\u5D9D\u8C73\u5DB7\u5DC5\u5F73\u5F77\u5F82\u5F87\u5F89\u5F8C\u5F95\u5F99\u5F9C\u5FA8\u5FAD\u5FB5\u5FBC\u8862\u5F61\u72AD\u72B0\u72B4\u72B7\u72B8\u72C3\u72C1\u72CE\u72CD\u72D2\u72E8\u72EF\u72E9\u72F2\u72F4\u72F7\u7301\u72F3\u7303\u72FA"], + ["e240", "\u91E6", 62], + ["e280", "\u9225", 32, "\u72FB\u7317\u7313\u7321\u730A\u731E\u731D\u7315\u7322\u7339\u7325\u732C\u7338\u7331\u7350\u734D\u7357\u7360\u736C\u736F\u737E\u821B\u5925\u98E7\u5924\u5902\u9963\u9967", 5, "\u9974\u9977\u997D\u9980\u9984\u9987\u998A\u998D\u9990\u9991\u9993\u9994\u9995\u5E80\u5E91\u5E8B\u5E96\u5EA5\u5EA0\u5EB9\u5EB5\u5EBE\u5EB3\u8D53\u5ED2\u5ED1\u5EDB\u5EE8\u5EEA\u81BA\u5FC4\u5FC9\u5FD6\u5FCF\u6003\u5FEE\u6004\u5FE1\u5FE4\u5FFE\u6005\u6006\u5FEA\u5FED\u5FF8\u6019\u6035\u6026\u601B\u600F\u600D\u6029\u602B\u600A\u603F\u6021\u6078\u6079\u607B\u607A\u6042"], + ["e340", "\u9246", 45, "\u9275", 16], + ["e380", "\u9286", 7, "\u928F", 24, "\u606A\u607D\u6096\u609A\u60AD\u609D\u6083\u6092\u608C\u609B\u60EC\u60BB\u60B1\u60DD\u60D8\u60C6\u60DA\u60B4\u6120\u6126\u6115\u6123\u60F4\u6100\u610E\u612B\u614A\u6175\u61AC\u6194\u61A7\u61B7\u61D4\u61F5\u5FDD\u96B3\u95E9\u95EB\u95F1\u95F3\u95F5\u95F6\u95FC\u95FE\u9603\u9604\u9606\u9608\u960A\u960B\u960C\u960D\u960F\u9612\u9615\u9616\u9617\u9619\u961A\u4E2C\u723F\u6215\u6C35\u6C54\u6C5C\u6C4A\u6CA3\u6C85\u6C90\u6C94\u6C8C\u6C68\u6C69\u6C74\u6C76\u6C86\u6CA9\u6CD0\u6CD4\u6CAD\u6CF7\u6CF8\u6CF1\u6CD7\u6CB2\u6CE0\u6CD6\u6CFA\u6CEB\u6CEE\u6CB1\u6CD3\u6CEF\u6CFE"], + ["e440", "\u92A8", 5, "\u92AF", 24, "\u92C9", 31], + ["e480", "\u92E9", 32, "\u6D39\u6D27\u6D0C\u6D43\u6D48\u6D07\u6D04\u6D19\u6D0E\u6D2B\u6D4D\u6D2E\u6D35\u6D1A\u6D4F\u6D52\u6D54\u6D33\u6D91\u6D6F\u6D9E\u6DA0\u6D5E\u6D93\u6D94\u6D5C\u6D60\u6D7C\u6D63\u6E1A\u6DC7\u6DC5\u6DDE\u6E0E\u6DBF\u6DE0\u6E11\u6DE6\u6DDD\u6DD9\u6E16\u6DAB\u6E0C\u6DAE\u6E2B\u6E6E\u6E4E\u6E6B\u6EB2\u6E5F\u6E86\u6E53\u6E54\u6E32\u6E25\u6E44\u6EDF\u6EB1\u6E98\u6EE0\u6F2D\u6EE2\u6EA5\u6EA7\u6EBD\u6EBB\u6EB7\u6ED7\u6EB4\u6ECF\u6E8F\u6EC2\u6E9F\u6F62\u6F46\u6F47\u6F24\u6F15\u6EF9\u6F2F\u6F36\u6F4B\u6F74\u6F2A\u6F09\u6F29\u6F89\u6F8D\u6F8C\u6F78\u6F72\u6F7C\u6F7A\u6FD1"], + ["e540", "\u930A", 51, "\u933F", 10], + ["e580", "\u934A", 31, "\u936B\u6FC9\u6FA7\u6FB9\u6FB6\u6FC2\u6FE1\u6FEE\u6FDE\u6FE0\u6FEF\u701A\u7023\u701B\u7039\u7035\u704F\u705E\u5B80\u5B84\u5B95\u5B93\u5BA5\u5BB8\u752F\u9A9E\u6434\u5BE4\u5BEE\u8930\u5BF0\u8E47\u8B07\u8FB6\u8FD3\u8FD5\u8FE5\u8FEE\u8FE4\u8FE9\u8FE6\u8FF3\u8FE8\u9005\u9004\u900B\u9026\u9011\u900D\u9016\u9021\u9035\u9036\u902D\u902F\u9044\u9051\u9052\u9050\u9068\u9058\u9062\u905B\u66B9\u9074\u907D\u9082\u9088\u9083\u908B\u5F50\u5F57\u5F56\u5F58\u5C3B\u54AB\u5C50\u5C59\u5B71\u5C63\u5C66\u7FBC\u5F2A\u5F29\u5F2D\u8274\u5F3C\u9B3B\u5C6E\u5981\u5983\u598D\u59A9\u59AA\u59A3"], + ["e640", "\u936C", 34, "\u9390", 27], + ["e680", "\u93AC", 29, "\u93CB\u93CC\u93CD\u5997\u59CA\u59AB\u599E\u59A4\u59D2\u59B2\u59AF\u59D7\u59BE\u5A05\u5A06\u59DD\u5A08\u59E3\u59D8\u59F9\u5A0C\u5A09\u5A32\u5A34\u5A11\u5A23\u5A13\u5A40\u5A67\u5A4A\u5A55\u5A3C\u5A62\u5A75\u80EC\u5AAA\u5A9B\u5A77\u5A7A\u5ABE\u5AEB\u5AB2\u5AD2\u5AD4\u5AB8\u5AE0\u5AE3\u5AF1\u5AD6\u5AE6\u5AD8\u5ADC\u5B09\u5B17\u5B16\u5B32\u5B37\u5B40\u5C15\u5C1C\u5B5A\u5B65\u5B73\u5B51\u5B53\u5B62\u9A75\u9A77\u9A78\u9A7A\u9A7F\u9A7D\u9A80\u9A81\u9A85\u9A88\u9A8A\u9A90\u9A92\u9A93\u9A96\u9A98\u9A9B\u9A9C\u9A9D\u9A9F\u9AA0\u9AA2\u9AA3\u9AA5\u9AA7\u7E9F\u7EA1\u7EA3\u7EA5\u7EA8\u7EA9"], + ["e740", "\u93CE", 7, "\u93D7", 54], + ["e780", "\u940E", 32, "\u7EAD\u7EB0\u7EBE\u7EC0\u7EC1\u7EC2\u7EC9\u7ECB\u7ECC\u7ED0\u7ED4\u7ED7\u7EDB\u7EE0\u7EE1\u7EE8\u7EEB\u7EEE\u7EEF\u7EF1\u7EF2\u7F0D\u7EF6\u7EFA\u7EFB\u7EFE\u7F01\u7F02\u7F03\u7F07\u7F08\u7F0B\u7F0C\u7F0F\u7F11\u7F12\u7F17\u7F19\u7F1C\u7F1B\u7F1F\u7F21", 6, "\u7F2A\u7F2B\u7F2C\u7F2D\u7F2F", 4, "\u7F35\u5E7A\u757F\u5DDB\u753E\u9095\u738E\u7391\u73AE\u73A2\u739F\u73CF\u73C2\u73D1\u73B7\u73B3\u73C0\u73C9\u73C8\u73E5\u73D9\u987C\u740A\u73E9\u73E7\u73DE\u73BA\u73F2\u740F\u742A\u745B\u7426\u7425\u7428\u7430\u742E\u742C"], + ["e840", "\u942F", 14, "\u943F", 43, "\u946C\u946D\u946E\u946F"], + ["e880", "\u9470", 20, "\u9491\u9496\u9498\u94C7\u94CF\u94D3\u94D4\u94DA\u94E6\u94FB\u951C\u9520\u741B\u741A\u7441\u745C\u7457\u7455\u7459\u7477\u746D\u747E\u749C\u748E\u7480\u7481\u7487\u748B\u749E\u74A8\u74A9\u7490\u74A7\u74D2\u74BA\u97EA\u97EB\u97EC\u674C\u6753\u675E\u6748\u6769\u67A5\u6787\u676A\u6773\u6798\u67A7\u6775\u67A8\u679E\u67AD\u678B\u6777\u677C\u67F0\u6809\u67D8\u680A\u67E9\u67B0\u680C\u67D9\u67B5\u67DA\u67B3\u67DD\u6800\u67C3\u67B8\u67E2\u680E\u67C1\u67FD\u6832\u6833\u6860\u6861\u684E\u6862\u6844\u6864\u6883\u681D\u6855\u6866\u6841\u6867\u6840\u683E\u684A\u6849\u6829\u68B5\u688F\u6874\u6877\u6893\u686B\u68C2\u696E\u68FC\u691F\u6920\u68F9"], + ["e940", "\u9527\u9533\u953D\u9543\u9548\u954B\u9555\u955A\u9560\u956E\u9574\u9575\u9577", 7, "\u9580", 42], + ["e980", "\u95AB", 32, "\u6924\u68F0\u690B\u6901\u6957\u68E3\u6910\u6971\u6939\u6960\u6942\u695D\u6984\u696B\u6980\u6998\u6978\u6934\u69CC\u6987\u6988\u69CE\u6989\u6966\u6963\u6979\u699B\u69A7\u69BB\u69AB\u69AD\u69D4\u69B1\u69C1\u69CA\u69DF\u6995\u69E0\u698D\u69FF\u6A2F\u69ED\u6A17\u6A18\u6A65\u69F2\u6A44\u6A3E\u6AA0\u6A50\u6A5B\u6A35\u6A8E\u6A79\u6A3D\u6A28\u6A58\u6A7C\u6A91\u6A90\u6AA9\u6A97\u6AAB\u7337\u7352\u6B81\u6B82\u6B87\u6B84\u6B92\u6B93\u6B8D\u6B9A\u6B9B\u6BA1\u6BAA\u8F6B\u8F6D\u8F71\u8F72\u8F73\u8F75\u8F76\u8F78\u8F77\u8F79\u8F7A\u8F7C\u8F7E\u8F81\u8F82\u8F84\u8F87\u8F8B"], + ["ea40", "\u95CC", 27, "\u95EC\u95FF\u9607\u9613\u9618\u961B\u961E\u9620\u9623", 6, "\u962B\u962C\u962D\u962F\u9630\u9637\u9638\u9639\u963A\u963E\u9641\u9643\u964A\u964E\u964F\u9651\u9652\u9653\u9656\u9657"], + ["ea80", "\u9658\u9659\u965A\u965C\u965D\u965E\u9660\u9663\u9665\u9666\u966B\u966D", 4, "\u9673\u9678", 12, "\u9687\u9689\u968A\u8F8D\u8F8E\u8F8F\u8F98\u8F9A\u8ECE\u620B\u6217\u621B\u621F\u6222\u6221\u6225\u6224\u622C\u81E7\u74EF\u74F4\u74FF\u750F\u7511\u7513\u6534\u65EE\u65EF\u65F0\u660A\u6619\u6772\u6603\u6615\u6600\u7085\u66F7\u661D\u6634\u6631\u6636\u6635\u8006\u665F\u6654\u6641\u664F\u6656\u6661\u6657\u6677\u6684\u668C\u66A7\u669D\u66BE\u66DB\u66DC\u66E6\u66E9\u8D32\u8D33\u8D36\u8D3B\u8D3D\u8D40\u8D45\u8D46\u8D48\u8D49\u8D47\u8D4D\u8D55\u8D59\u89C7\u89CA\u89CB\u89CC\u89CE\u89CF\u89D0\u89D1\u726E\u729F\u725D\u7266\u726F\u727E\u727F\u7284\u728B\u728D\u728F\u7292\u6308\u6332\u63B0"], + ["eb40", "\u968C\u968E\u9691\u9692\u9693\u9695\u9696\u969A\u969B\u969D", 9, "\u96A8", 7, "\u96B1\u96B2\u96B4\u96B5\u96B7\u96B8\u96BA\u96BB\u96BF\u96C2\u96C3\u96C8\u96CA\u96CB\u96D0\u96D1\u96D3\u96D4\u96D6", 9, "\u96E1", 6, "\u96EB"], + ["eb80", "\u96EC\u96ED\u96EE\u96F0\u96F1\u96F2\u96F4\u96F5\u96F8\u96FA\u96FB\u96FC\u96FD\u96FF\u9702\u9703\u9705\u970A\u970B\u970C\u9710\u9711\u9712\u9714\u9715\u9717", 4, "\u971D\u971F\u9720\u643F\u64D8\u8004\u6BEA\u6BF3\u6BFD\u6BF5\u6BF9\u6C05\u6C07\u6C06\u6C0D\u6C15\u6C18\u6C19\u6C1A\u6C21\u6C29\u6C24\u6C2A\u6C32\u6535\u6555\u656B\u724D\u7252\u7256\u7230\u8662\u5216\u809F\u809C\u8093\u80BC\u670A\u80BD\u80B1\u80AB\u80AD\u80B4\u80B7\u80E7\u80E8\u80E9\u80EA\u80DB\u80C2\u80C4\u80D9\u80CD\u80D7\u6710\u80DD\u80EB\u80F1\u80F4\u80ED\u810D\u810E\u80F2\u80FC\u6715\u8112\u8C5A\u8136\u811E\u812C\u8118\u8132\u8148\u814C\u8153\u8174\u8159\u815A\u8171\u8160\u8169\u817C\u817D\u816D\u8167\u584D\u5AB5\u8188\u8182\u8191\u6ED5\u81A3\u81AA\u81CC\u6726\u81CA\u81BB"], + ["ec40", "\u9721", 8, "\u972B\u972C\u972E\u972F\u9731\u9733", 4, "\u973A\u973B\u973C\u973D\u973F", 18, "\u9754\u9755\u9757\u9758\u975A\u975C\u975D\u975F\u9763\u9764\u9766\u9767\u9768\u976A", 7], + ["ec80", "\u9772\u9775\u9777", 4, "\u977D", 7, "\u9786", 4, "\u978C\u978E\u978F\u9790\u9793\u9795\u9796\u9797\u9799", 4, "\u81C1\u81A6\u6B24\u6B37\u6B39\u6B43\u6B46\u6B59\u98D1\u98D2\u98D3\u98D5\u98D9\u98DA\u6BB3\u5F40\u6BC2\u89F3\u6590\u9F51\u6593\u65BC\u65C6\u65C4\u65C3\u65CC\u65CE\u65D2\u65D6\u7080\u709C\u7096\u709D\u70BB\u70C0\u70B7\u70AB\u70B1\u70E8\u70CA\u7110\u7113\u7116\u712F\u7131\u7173\u715C\u7168\u7145\u7172\u714A\u7178\u717A\u7198\u71B3\u71B5\u71A8\u71A0\u71E0\u71D4\u71E7\u71F9\u721D\u7228\u706C\u7118\u7166\u71B9\u623E\u623D\u6243\u6248\u6249\u793B\u7940\u7946\u7949\u795B\u795C\u7953\u795A\u7962\u7957\u7960\u796F\u7967\u797A\u7985\u798A\u799A\u79A7\u79B3\u5FD1\u5FD0"], + ["ed40", "\u979E\u979F\u97A1\u97A2\u97A4", 6, "\u97AC\u97AE\u97B0\u97B1\u97B3\u97B5", 46], + ["ed80", "\u97E4\u97E5\u97E8\u97EE", 4, "\u97F4\u97F7", 23, "\u603C\u605D\u605A\u6067\u6041\u6059\u6063\u60AB\u6106\u610D\u615D\u61A9\u619D\u61CB\u61D1\u6206\u8080\u807F\u6C93\u6CF6\u6DFC\u77F6\u77F8\u7800\u7809\u7817\u7818\u7811\u65AB\u782D\u781C\u781D\u7839\u783A\u783B\u781F\u783C\u7825\u782C\u7823\u7829\u784E\u786D\u7856\u7857\u7826\u7850\u7847\u784C\u786A\u789B\u7893\u789A\u7887\u789C\u78A1\u78A3\u78B2\u78B9\u78A5\u78D4\u78D9\u78C9\u78EC\u78F2\u7905\u78F4\u7913\u7924\u791E\u7934\u9F9B\u9EF9\u9EFB\u9EFC\u76F1\u7704\u770D\u76F9\u7707\u7708\u771A\u7722\u7719\u772D\u7726\u7735\u7738\u7750\u7751\u7747\u7743\u775A\u7768"], + ["ee40", "\u980F", 62], + ["ee80", "\u984E", 32, "\u7762\u7765\u777F\u778D\u777D\u7780\u778C\u7791\u779F\u77A0\u77B0\u77B5\u77BD\u753A\u7540\u754E\u754B\u7548\u755B\u7572\u7579\u7583\u7F58\u7F61\u7F5F\u8A48\u7F68\u7F74\u7F71\u7F79\u7F81\u7F7E\u76CD\u76E5\u8832\u9485\u9486\u9487\u948B\u948A\u948C\u948D\u948F\u9490\u9494\u9497\u9495\u949A\u949B\u949C\u94A3\u94A4\u94AB\u94AA\u94AD\u94AC\u94AF\u94B0\u94B2\u94B4\u94B6", 4, "\u94BC\u94BD\u94BF\u94C4\u94C8", 6, "\u94D0\u94D1\u94D2\u94D5\u94D6\u94D7\u94D9\u94D8\u94DB\u94DE\u94DF\u94E0\u94E2\u94E4\u94E5\u94E7\u94E8\u94EA"], + ["ef40", "\u986F", 5, "\u988B\u988E\u9892\u9895\u9899\u98A3\u98A8", 37, "\u98CF\u98D0\u98D4\u98D6\u98D7\u98DB\u98DC\u98DD\u98E0", 4], + ["ef80", "\u98E5\u98E6\u98E9", 30, "\u94E9\u94EB\u94EE\u94EF\u94F3\u94F4\u94F5\u94F7\u94F9\u94FC\u94FD\u94FF\u9503\u9502\u9506\u9507\u9509\u950A\u950D\u950E\u950F\u9512", 4, "\u9518\u951B\u951D\u951E\u951F\u9522\u952A\u952B\u9529\u952C\u9531\u9532\u9534\u9536\u9537\u9538\u953C\u953E\u953F\u9542\u9535\u9544\u9545\u9546\u9549\u954C\u954E\u954F\u9552\u9553\u9554\u9556\u9557\u9558\u9559\u955B\u955E\u955F\u955D\u9561\u9562\u9564", 8, "\u956F\u9571\u9572\u9573\u953A\u77E7\u77EC\u96C9\u79D5\u79ED\u79E3\u79EB\u7A06\u5D47\u7A03\u7A02\u7A1E\u7A14"], + ["f040", "\u9908", 4, "\u990E\u990F\u9911", 28, "\u992F", 26], + ["f080", "\u994A", 9, "\u9956", 12, "\u9964\u9966\u9973\u9978\u9979\u997B\u997E\u9982\u9983\u9989\u7A39\u7A37\u7A51\u9ECF\u99A5\u7A70\u7688\u768E\u7693\u7699\u76A4\u74DE\u74E0\u752C\u9E20\u9E22\u9E28", 4, "\u9E32\u9E31\u9E36\u9E38\u9E37\u9E39\u9E3A\u9E3E\u9E41\u9E42\u9E44\u9E46\u9E47\u9E48\u9E49\u9E4B\u9E4C\u9E4E\u9E51\u9E55\u9E57\u9E5A\u9E5B\u9E5C\u9E5E\u9E63\u9E66", 6, "\u9E71\u9E6D\u9E73\u7592\u7594\u7596\u75A0\u759D\u75AC\u75A3\u75B3\u75B4\u75B8\u75C4\u75B1\u75B0\u75C3\u75C2\u75D6\u75CD\u75E3\u75E8\u75E6\u75E4\u75EB\u75E7\u7603\u75F1\u75FC\u75FF\u7610\u7600\u7605\u760C\u7617\u760A\u7625\u7618\u7615\u7619"], + ["f140", "\u998C\u998E\u999A", 10, "\u99A6\u99A7\u99A9", 47], + ["f180", "\u99D9", 32, "\u761B\u763C\u7622\u7620\u7640\u762D\u7630\u763F\u7635\u7643\u763E\u7633\u764D\u765E\u7654\u765C\u7656\u766B\u766F\u7FCA\u7AE6\u7A78\u7A79\u7A80\u7A86\u7A88\u7A95\u7AA6\u7AA0\u7AAC\u7AA8\u7AAD\u7AB3\u8864\u8869\u8872\u887D\u887F\u8882\u88A2\u88C6\u88B7\u88BC\u88C9\u88E2\u88CE\u88E3\u88E5\u88F1\u891A\u88FC\u88E8\u88FE\u88F0\u8921\u8919\u8913\u891B\u890A\u8934\u892B\u8936\u8941\u8966\u897B\u758B\u80E5\u76B2\u76B4\u77DC\u8012\u8014\u8016\u801C\u8020\u8022\u8025\u8026\u8027\u8029\u8028\u8031\u800B\u8035\u8043\u8046\u804D\u8052\u8069\u8071\u8983\u9878\u9880\u9883"], + ["f240", "\u99FA", 62], + ["f280", "\u9A39", 32, "\u9889\u988C\u988D\u988F\u9894\u989A\u989B\u989E\u989F\u98A1\u98A2\u98A5\u98A6\u864D\u8654\u866C\u866E\u867F\u867A\u867C\u867B\u86A8\u868D\u868B\u86AC\u869D\u86A7\u86A3\u86AA\u8693\u86A9\u86B6\u86C4\u86B5\u86CE\u86B0\u86BA\u86B1\u86AF\u86C9\u86CF\u86B4\u86E9\u86F1\u86F2\u86ED\u86F3\u86D0\u8713\u86DE\u86F4\u86DF\u86D8\u86D1\u8703\u8707\u86F8\u8708\u870A\u870D\u8709\u8723\u873B\u871E\u8725\u872E\u871A\u873E\u8748\u8734\u8731\u8729\u8737\u873F\u8782\u8722\u877D\u877E\u877B\u8760\u8770\u874C\u876E\u878B\u8753\u8763\u877C\u8764\u8759\u8765\u8793\u87AF\u87A8\u87D2"], + ["f340", "\u9A5A", 17, "\u9A72\u9A83\u9A89\u9A8D\u9A8E\u9A94\u9A95\u9A99\u9AA6\u9AA9", 6, "\u9AB2\u9AB3\u9AB4\u9AB5\u9AB9\u9ABB\u9ABD\u9ABE\u9ABF\u9AC3\u9AC4\u9AC6", 4, "\u9ACD\u9ACE\u9ACF\u9AD0\u9AD2\u9AD4\u9AD5\u9AD6\u9AD7\u9AD9\u9ADA\u9ADB\u9ADC"], + ["f380", "\u9ADD\u9ADE\u9AE0\u9AE2\u9AE3\u9AE4\u9AE5\u9AE7\u9AE8\u9AE9\u9AEA\u9AEC\u9AEE\u9AF0", 8, "\u9AFA\u9AFC", 6, "\u9B04\u9B05\u9B06\u87C6\u8788\u8785\u87AD\u8797\u8783\u87AB\u87E5\u87AC\u87B5\u87B3\u87CB\u87D3\u87BD\u87D1\u87C0\u87CA\u87DB\u87EA\u87E0\u87EE\u8816\u8813\u87FE\u880A\u881B\u8821\u8839\u883C\u7F36\u7F42\u7F44\u7F45\u8210\u7AFA\u7AFD\u7B08\u7B03\u7B04\u7B15\u7B0A\u7B2B\u7B0F\u7B47\u7B38\u7B2A\u7B19\u7B2E\u7B31\u7B20\u7B25\u7B24\u7B33\u7B3E\u7B1E\u7B58\u7B5A\u7B45\u7B75\u7B4C\u7B5D\u7B60\u7B6E\u7B7B\u7B62\u7B72\u7B71\u7B90\u7BA6\u7BA7\u7BB8\u7BAC\u7B9D\u7BA8\u7B85\u7BAA\u7B9C\u7BA2\u7BAB\u7BB4\u7BD1\u7BC1\u7BCC\u7BDD\u7BDA\u7BE5\u7BE6\u7BEA\u7C0C\u7BFE\u7BFC\u7C0F\u7C16\u7C0B"], + ["f440", "\u9B07\u9B09", 5, "\u9B10\u9B11\u9B12\u9B14", 10, "\u9B20\u9B21\u9B22\u9B24", 10, "\u9B30\u9B31\u9B33", 7, "\u9B3D\u9B3E\u9B3F\u9B40\u9B46\u9B4A\u9B4B\u9B4C\u9B4E\u9B50\u9B52\u9B53\u9B55", 5], + ["f480", "\u9B5B", 32, "\u7C1F\u7C2A\u7C26\u7C38\u7C41\u7C40\u81FE\u8201\u8202\u8204\u81EC\u8844\u8221\u8222\u8223\u822D\u822F\u8228\u822B\u8238\u823B\u8233\u8234\u823E\u8244\u8249\u824B\u824F\u825A\u825F\u8268\u887E\u8885\u8888\u88D8\u88DF\u895E\u7F9D\u7F9F\u7FA7\u7FAF\u7FB0\u7FB2\u7C7C\u6549\u7C91\u7C9D\u7C9C\u7C9E\u7CA2\u7CB2\u7CBC\u7CBD\u7CC1\u7CC7\u7CCC\u7CCD\u7CC8\u7CC5\u7CD7\u7CE8\u826E\u66A8\u7FBF\u7FCE\u7FD5\u7FE5\u7FE1\u7FE6\u7FE9\u7FEE\u7FF3\u7CF8\u7D77\u7DA6\u7DAE\u7E47\u7E9B\u9EB8\u9EB4\u8D73\u8D84\u8D94\u8D91\u8DB1\u8D67\u8D6D\u8C47\u8C49\u914A\u9150\u914E\u914F\u9164"], + ["f540", "\u9B7C", 62], + ["f580", "\u9BBB", 32, "\u9162\u9161\u9170\u9169\u916F\u917D\u917E\u9172\u9174\u9179\u918C\u9185\u9190\u918D\u9191\u91A2\u91A3\u91AA\u91AD\u91AE\u91AF\u91B5\u91B4\u91BA\u8C55\u9E7E\u8DB8\u8DEB\u8E05\u8E59\u8E69\u8DB5\u8DBF\u8DBC\u8DBA\u8DC4\u8DD6\u8DD7\u8DDA\u8DDE\u8DCE\u8DCF\u8DDB\u8DC6\u8DEC\u8DF7\u8DF8\u8DE3\u8DF9\u8DFB\u8DE4\u8E09\u8DFD\u8E14\u8E1D\u8E1F\u8E2C\u8E2E\u8E23\u8E2F\u8E3A\u8E40\u8E39\u8E35\u8E3D\u8E31\u8E49\u8E41\u8E42\u8E51\u8E52\u8E4A\u8E70\u8E76\u8E7C\u8E6F\u8E74\u8E85\u8E8F\u8E94\u8E90\u8E9C\u8E9E\u8C78\u8C82\u8C8A\u8C85\u8C98\u8C94\u659B\u89D6\u89DE\u89DA\u89DC"], + ["f640", "\u9BDC", 62], + ["f680", "\u9C1B", 32, "\u89E5\u89EB\u89EF\u8A3E\u8B26\u9753\u96E9\u96F3\u96EF\u9706\u9701\u9708\u970F\u970E\u972A\u972D\u9730\u973E\u9F80\u9F83\u9F85", 5, "\u9F8C\u9EFE\u9F0B\u9F0D\u96B9\u96BC\u96BD\u96CE\u96D2\u77BF\u96E0\u928E\u92AE\u92C8\u933E\u936A\u93CA\u938F\u943E\u946B\u9C7F\u9C82\u9C85\u9C86\u9C87\u9C88\u7A23\u9C8B\u9C8E\u9C90\u9C91\u9C92\u9C94\u9C95\u9C9A\u9C9B\u9C9E", 5, "\u9CA5", 4, "\u9CAB\u9CAD\u9CAE\u9CB0", 7, "\u9CBA\u9CBB\u9CBC\u9CBD\u9CC4\u9CC5\u9CC6\u9CC7\u9CCA\u9CCB"], + ["f740", "\u9C3C", 62], + ["f780", "\u9C7B\u9C7D\u9C7E\u9C80\u9C83\u9C84\u9C89\u9C8A\u9C8C\u9C8F\u9C93\u9C96\u9C97\u9C98\u9C99\u9C9D\u9CAA\u9CAC\u9CAF\u9CB9\u9CBE", 4, "\u9CC8\u9CC9\u9CD1\u9CD2\u9CDA\u9CDB\u9CE0\u9CE1\u9CCC", 4, "\u9CD3\u9CD4\u9CD5\u9CD7\u9CD8\u9CD9\u9CDC\u9CDD\u9CDF\u9CE2\u977C\u9785\u9791\u9792\u9794\u97AF\u97AB\u97A3\u97B2\u97B4\u9AB1\u9AB0\u9AB7\u9E58\u9AB6\u9ABA\u9ABC\u9AC1\u9AC0\u9AC5\u9AC2\u9ACB\u9ACC\u9AD1\u9B45\u9B43\u9B47\u9B49\u9B48\u9B4D\u9B51\u98E8\u990D\u992E\u9955\u9954\u9ADF\u9AE1\u9AE6\u9AEF\u9AEB\u9AFB\u9AED\u9AF9\u9B08\u9B0F\u9B13\u9B1F\u9B23\u9EBD\u9EBE\u7E3B\u9E82\u9E87\u9E88\u9E8B\u9E92\u93D6\u9E9D\u9E9F\u9EDB\u9EDC\u9EDD\u9EE0\u9EDF\u9EE2\u9EE9\u9EE7\u9EE5\u9EEA\u9EEF\u9F22\u9F2C\u9F2F\u9F39\u9F37\u9F3D\u9F3E\u9F44"], + ["f840", "\u9CE3", 62], + ["f880", "\u9D22", 32], + ["f940", "\u9D43", 62], + ["f980", "\u9D82", 32], + ["fa40", "\u9DA3", 62], + ["fa80", "\u9DE2", 32], + ["fb40", "\u9E03", 27, "\u9E24\u9E27\u9E2E\u9E30\u9E34\u9E3B\u9E3C\u9E40\u9E4D\u9E50\u9E52\u9E53\u9E54\u9E56\u9E59\u9E5D\u9E5F\u9E60\u9E61\u9E62\u9E65\u9E6E\u9E6F\u9E72\u9E74", 9, "\u9E80"], + ["fb80", "\u9E81\u9E83\u9E84\u9E85\u9E86\u9E89\u9E8A\u9E8C", 5, "\u9E94", 8, "\u9E9E\u9EA0", 5, "\u9EA7\u9EA8\u9EA9\u9EAA"], + ["fc40", "\u9EAB", 8, "\u9EB5\u9EB6\u9EB7\u9EB9\u9EBA\u9EBC\u9EBF", 4, "\u9EC5\u9EC6\u9EC7\u9EC8\u9ECA\u9ECB\u9ECC\u9ED0\u9ED2\u9ED3\u9ED5\u9ED6\u9ED7\u9ED9\u9EDA\u9EDE\u9EE1\u9EE3\u9EE4\u9EE6\u9EE8\u9EEB\u9EEC\u9EED\u9EEE\u9EF0", 8, "\u9EFA\u9EFD\u9EFF", 6], + ["fc80", "\u9F06", 4, "\u9F0C\u9F0F\u9F11\u9F12\u9F14\u9F15\u9F16\u9F18\u9F1A", 5, "\u9F21\u9F23", 8, "\u9F2D\u9F2E\u9F30\u9F31"], + ["fd40", "\u9F32", 4, "\u9F38\u9F3A\u9F3C\u9F3F", 4, "\u9F45", 10, "\u9F52", 38], + ["fd80", "\u9F79", 5, "\u9F81\u9F82\u9F8D", 11, "\u9F9C\u9F9D\u9F9E\u9FA1", 4, "\uF92C\uF979\uF995\uF9E7\uF9F1"], + ["fe40", "\uFA0C\uFA0D\uFA0E\uFA0F\uFA11\uFA13\uFA14\uFA18\uFA1F\uFA20\uFA21\uFA23\uFA24\uFA27\uFA28\uFA29"] + ]; + } +}); +var require_gbk_added = __commonJS2({ + "node_modules/raw-body/node_modules/iconv-lite/encodings/tables/gbk-added.json"(exports2, module2) { + module2.exports = [ + ["a140", "\uE4C6", 62], + ["a180", "\uE505", 32], + ["a240", "\uE526", 62], + ["a280", "\uE565", 32], + ["a2ab", "\uE766", 5], + ["a2e3", "\u20AC\uE76D"], + ["a2ef", "\uE76E\uE76F"], + ["a2fd", "\uE770\uE771"], + ["a340", "\uE586", 62], + ["a380", "\uE5C5", 31, "\u3000"], + ["a440", "\uE5E6", 62], + ["a480", "\uE625", 32], + ["a4f4", "\uE772", 10], + ["a540", "\uE646", 62], + ["a580", "\uE685", 32], + ["a5f7", "\uE77D", 7], + ["a640", "\uE6A6", 62], + ["a680", "\uE6E5", 32], + ["a6b9", "\uE785", 7], + ["a6d9", "\uE78D", 6], + ["a6ec", "\uE794\uE795"], + ["a6f3", "\uE796"], + ["a6f6", "\uE797", 8], + ["a740", "\uE706", 62], + ["a780", "\uE745", 32], + ["a7c2", "\uE7A0", 14], + ["a7f2", "\uE7AF", 12], + ["a896", "\uE7BC", 10], + ["a8bc", "\u1E3F"], + ["a8bf", "\u01F9"], + ["a8c1", "\uE7C9\uE7CA\uE7CB\uE7CC"], + ["a8ea", "\uE7CD", 20], + ["a958", "\uE7E2"], + ["a95b", "\uE7E3"], + ["a95d", "\uE7E4\uE7E5\uE7E6"], + ["a989", "\u303E\u2FF0", 11], + ["a997", "\uE7F4", 12], + ["a9f0", "\uE801", 14], + ["aaa1", "\uE000", 93], + ["aba1", "\uE05E", 93], + ["aca1", "\uE0BC", 93], + ["ada1", "\uE11A", 93], + ["aea1", "\uE178", 93], + ["afa1", "\uE1D6", 93], + ["d7fa", "\uE810", 4], + ["f8a1", "\uE234", 93], + ["f9a1", "\uE292", 93], + ["faa1", "\uE2F0", 93], + ["fba1", "\uE34E", 93], + ["fca1", "\uE3AC", 93], + ["fda1", "\uE40A", 93], + ["fe50", "\u2E81\uE816\uE817\uE818\u2E84\u3473\u3447\u2E88\u2E8B\uE81E\u359E\u361A\u360E\u2E8C\u2E97\u396E\u3918\uE826\u39CF\u39DF\u3A73\u39D0\uE82B\uE82C\u3B4E\u3C6E\u3CE0\u2EA7\uE831\uE832\u2EAA\u4056\u415F\u2EAE\u4337\u2EB3\u2EB6\u2EB7\uE83B\u43B1\u43AC\u2EBB\u43DD\u44D6\u4661\u464C\uE843"], + ["fe80", "\u4723\u4729\u477C\u478D\u2ECA\u4947\u497A\u497D\u4982\u4983\u4985\u4986\u499F\u499B\u49B7\u49B6\uE854\uE855\u4CA3\u4C9F\u4CA0\u4CA1\u4C77\u4CA2\u4D13", 6, "\u4DAE\uE864\uE468", 93], + ["8135f437", "\uE7C7"] + ]; + } +}); +var require_gb18030_ranges = __commonJS2({ + "node_modules/raw-body/node_modules/iconv-lite/encodings/tables/gb18030-ranges.json"(exports2, module2) { + module2.exports = { uChars: [128, 165, 169, 178, 184, 216, 226, 235, 238, 244, 248, 251, 253, 258, 276, 284, 300, 325, 329, 334, 364, 463, 465, 467, 469, 471, 473, 475, 477, 506, 594, 610, 712, 716, 730, 930, 938, 962, 970, 1026, 1104, 1106, 8209, 8215, 8218, 8222, 8231, 8241, 8244, 8246, 8252, 8365, 8452, 8454, 8458, 8471, 8482, 8556, 8570, 8596, 8602, 8713, 8720, 8722, 8726, 8731, 8737, 8740, 8742, 8748, 8751, 8760, 8766, 8777, 8781, 8787, 8802, 8808, 8816, 8854, 8858, 8870, 8896, 8979, 9322, 9372, 9548, 9588, 9616, 9622, 9634, 9652, 9662, 9672, 9676, 9680, 9702, 9735, 9738, 9793, 9795, 11906, 11909, 11913, 11917, 11928, 11944, 11947, 11951, 11956, 11960, 11964, 11979, 12284, 12292, 12312, 12319, 12330, 12351, 12436, 12447, 12535, 12543, 12586, 12842, 12850, 12964, 13200, 13215, 13218, 13253, 13263, 13267, 13270, 13384, 13428, 13727, 13839, 13851, 14617, 14703, 14801, 14816, 14964, 15183, 15471, 15585, 16471, 16736, 17208, 17325, 17330, 17374, 17623, 17997, 18018, 18212, 18218, 18301, 18318, 18760, 18811, 18814, 18820, 18823, 18844, 18848, 18872, 19576, 19620, 19738, 19887, 40870, 59244, 59336, 59367, 59413, 59417, 59423, 59431, 59437, 59443, 59452, 59460, 59478, 59493, 63789, 63866, 63894, 63976, 63986, 64016, 64018, 64021, 64025, 64034, 64037, 64042, 65074, 65093, 65107, 65112, 65127, 65132, 65375, 65510, 65536], gbChars: [0, 36, 38, 45, 50, 81, 89, 95, 96, 100, 103, 104, 105, 109, 126, 133, 148, 172, 175, 179, 208, 306, 307, 308, 309, 310, 311, 312, 313, 341, 428, 443, 544, 545, 558, 741, 742, 749, 750, 805, 819, 820, 7922, 7924, 7925, 7927, 7934, 7943, 7944, 7945, 7950, 8062, 8148, 8149, 8152, 8164, 8174, 8236, 8240, 8262, 8264, 8374, 8380, 8381, 8384, 8388, 8390, 8392, 8393, 8394, 8396, 8401, 8406, 8416, 8419, 8424, 8437, 8439, 8445, 8482, 8485, 8496, 8521, 8603, 8936, 8946, 9046, 9050, 9063, 9066, 9076, 9092, 9100, 9108, 9111, 9113, 9131, 9162, 9164, 9218, 9219, 11329, 11331, 11334, 11336, 11346, 11361, 11363, 11366, 11370, 11372, 11375, 11389, 11682, 11686, 11687, 11692, 11694, 11714, 11716, 11723, 11725, 11730, 11736, 11982, 11989, 12102, 12336, 12348, 12350, 12384, 12393, 12395, 12397, 12510, 12553, 12851, 12962, 12973, 13738, 13823, 13919, 13933, 14080, 14298, 14585, 14698, 15583, 15847, 16318, 16434, 16438, 16481, 16729, 17102, 17122, 17315, 17320, 17402, 17418, 17859, 17909, 17911, 17915, 17916, 17936, 17939, 17961, 18664, 18703, 18814, 18962, 19043, 33469, 33470, 33471, 33484, 33485, 33490, 33497, 33501, 33505, 33513, 33520, 33536, 33550, 37845, 37921, 37948, 38029, 38038, 38064, 38065, 38066, 38069, 38075, 38076, 38078, 39108, 39109, 39113, 39114, 39115, 39116, 39265, 39394, 189e3] }; + } +}); +var require_cp949 = __commonJS2({ + "node_modules/raw-body/node_modules/iconv-lite/encodings/tables/cp949.json"(exports2, module2) { + module2.exports = [ + ["0", "\0", 127], + ["8141", "\uAC02\uAC03\uAC05\uAC06\uAC0B", 4, "\uAC18\uAC1E\uAC1F\uAC21\uAC22\uAC23\uAC25", 6, "\uAC2E\uAC32\uAC33\uAC34"], + ["8161", "\uAC35\uAC36\uAC37\uAC3A\uAC3B\uAC3D\uAC3E\uAC3F\uAC41", 9, "\uAC4C\uAC4E", 5, "\uAC55"], + ["8181", "\uAC56\uAC57\uAC59\uAC5A\uAC5B\uAC5D", 18, "\uAC72\uAC73\uAC75\uAC76\uAC79\uAC7B", 4, "\uAC82\uAC87\uAC88\uAC8D\uAC8E\uAC8F\uAC91\uAC92\uAC93\uAC95", 6, "\uAC9E\uACA2", 5, "\uACAB\uACAD\uACAE\uACB1", 6, "\uACBA\uACBE\uACBF\uACC0\uACC2\uACC3\uACC5\uACC6\uACC7\uACC9\uACCA\uACCB\uACCD", 7, "\uACD6\uACD8", 7, "\uACE2\uACE3\uACE5\uACE6\uACE9\uACEB\uACED\uACEE\uACF2\uACF4\uACF7", 4, "\uACFE\uACFF\uAD01\uAD02\uAD03\uAD05\uAD07", 4, "\uAD0E\uAD10\uAD12\uAD13"], + ["8241", "\uAD14\uAD15\uAD16\uAD17\uAD19\uAD1A\uAD1B\uAD1D\uAD1E\uAD1F\uAD21", 7, "\uAD2A\uAD2B\uAD2E", 5], + ["8261", "\uAD36\uAD37\uAD39\uAD3A\uAD3B\uAD3D", 6, "\uAD46\uAD48\uAD4A", 5, "\uAD51\uAD52\uAD53\uAD55\uAD56\uAD57"], + ["8281", "\uAD59", 7, "\uAD62\uAD64", 7, "\uAD6E\uAD6F\uAD71\uAD72\uAD77\uAD78\uAD79\uAD7A\uAD7E\uAD80\uAD83", 4, "\uAD8A\uAD8B\uAD8D\uAD8E\uAD8F\uAD91", 10, "\uAD9E", 5, "\uADA5", 17, "\uADB8", 7, "\uADC2\uADC3\uADC5\uADC6\uADC7\uADC9", 6, "\uADD2\uADD4", 7, "\uADDD\uADDE\uADDF\uADE1\uADE2\uADE3\uADE5", 18], + ["8341", "\uADFA\uADFB\uADFD\uADFE\uAE02", 5, "\uAE0A\uAE0C\uAE0E", 5, "\uAE15", 7], + ["8361", "\uAE1D", 18, "\uAE32\uAE33\uAE35\uAE36\uAE39\uAE3B\uAE3C"], + ["8381", "\uAE3D\uAE3E\uAE3F\uAE42\uAE44\uAE47\uAE48\uAE49\uAE4B\uAE4F\uAE51\uAE52\uAE53\uAE55\uAE57", 4, "\uAE5E\uAE62\uAE63\uAE64\uAE66\uAE67\uAE6A\uAE6B\uAE6D\uAE6E\uAE6F\uAE71", 6, "\uAE7A\uAE7E", 5, "\uAE86", 5, "\uAE8D", 46, "\uAEBF\uAEC1\uAEC2\uAEC3\uAEC5", 6, "\uAECE\uAED2", 5, "\uAEDA\uAEDB\uAEDD", 8], + ["8441", "\uAEE6\uAEE7\uAEE9\uAEEA\uAEEC\uAEEE", 5, "\uAEF5\uAEF6\uAEF7\uAEF9\uAEFA\uAEFB\uAEFD", 8], + ["8461", "\uAF06\uAF09\uAF0A\uAF0B\uAF0C\uAF0E\uAF0F\uAF11", 18], + ["8481", "\uAF24", 7, "\uAF2E\uAF2F\uAF31\uAF33\uAF35", 6, "\uAF3E\uAF40\uAF44\uAF45\uAF46\uAF47\uAF4A", 5, "\uAF51", 10, "\uAF5E", 5, "\uAF66", 18, "\uAF7A", 5, "\uAF81\uAF82\uAF83\uAF85\uAF86\uAF87\uAF89", 6, "\uAF92\uAF93\uAF94\uAF96", 5, "\uAF9D", 26, "\uAFBA\uAFBB\uAFBD\uAFBE"], + ["8541", "\uAFBF\uAFC1", 5, "\uAFCA\uAFCC\uAFCF", 4, "\uAFD5", 6, "\uAFDD", 4], + ["8561", "\uAFE2", 5, "\uAFEA", 5, "\uAFF2\uAFF3\uAFF5\uAFF6\uAFF7\uAFF9", 6, "\uB002\uB003"], + ["8581", "\uB005", 6, "\uB00D\uB00E\uB00F\uB011\uB012\uB013\uB015", 6, "\uB01E", 9, "\uB029", 26, "\uB046\uB047\uB049\uB04B\uB04D\uB04F\uB050\uB051\uB052\uB056\uB058\uB05A\uB05B\uB05C\uB05E", 29, "\uB07E\uB07F\uB081\uB082\uB083\uB085", 6, "\uB08E\uB090\uB092", 5, "\uB09B\uB09D\uB09E\uB0A3\uB0A4"], + ["8641", "\uB0A5\uB0A6\uB0A7\uB0AA\uB0B0\uB0B2\uB0B6\uB0B7\uB0B9\uB0BA\uB0BB\uB0BD", 6, "\uB0C6\uB0CA", 5, "\uB0D2"], + ["8661", "\uB0D3\uB0D5\uB0D6\uB0D7\uB0D9", 6, "\uB0E1\uB0E2\uB0E3\uB0E4\uB0E6", 10], + ["8681", "\uB0F1", 22, "\uB10A\uB10D\uB10E\uB10F\uB111\uB114\uB115\uB116\uB117\uB11A\uB11E", 4, "\uB126\uB127\uB129\uB12A\uB12B\uB12D", 6, "\uB136\uB13A", 5, "\uB142\uB143\uB145\uB146\uB147\uB149", 6, "\uB152\uB153\uB156\uB157\uB159\uB15A\uB15B\uB15D\uB15E\uB15F\uB161", 22, "\uB17A\uB17B\uB17D\uB17E\uB17F\uB181\uB183", 4, "\uB18A\uB18C\uB18E\uB18F\uB190\uB191\uB195\uB196\uB197\uB199\uB19A\uB19B\uB19D"], + ["8741", "\uB19E", 9, "\uB1A9", 15], + ["8761", "\uB1B9", 18, "\uB1CD\uB1CE\uB1CF\uB1D1\uB1D2\uB1D3\uB1D5"], + ["8781", "\uB1D6", 5, "\uB1DE\uB1E0", 7, "\uB1EA\uB1EB\uB1ED\uB1EE\uB1EF\uB1F1", 7, "\uB1FA\uB1FC\uB1FE", 5, "\uB206\uB207\uB209\uB20A\uB20D", 6, "\uB216\uB218\uB21A", 5, "\uB221", 18, "\uB235", 6, "\uB23D", 26, "\uB259\uB25A\uB25B\uB25D\uB25E\uB25F\uB261", 6, "\uB26A", 4], + ["8841", "\uB26F", 4, "\uB276", 5, "\uB27D", 6, "\uB286\uB287\uB288\uB28A", 4], + ["8861", "\uB28F\uB292\uB293\uB295\uB296\uB297\uB29B", 4, "\uB2A2\uB2A4\uB2A7\uB2A8\uB2A9\uB2AB\uB2AD\uB2AE\uB2AF\uB2B1\uB2B2\uB2B3\uB2B5\uB2B6\uB2B7"], + ["8881", "\uB2B8", 15, "\uB2CA\uB2CB\uB2CD\uB2CE\uB2CF\uB2D1\uB2D3", 4, "\uB2DA\uB2DC\uB2DE\uB2DF\uB2E0\uB2E1\uB2E3\uB2E7\uB2E9\uB2EA\uB2F0\uB2F1\uB2F2\uB2F6\uB2FC\uB2FD\uB2FE\uB302\uB303\uB305\uB306\uB307\uB309", 6, "\uB312\uB316", 5, "\uB31D", 54, "\uB357\uB359\uB35A\uB35D\uB360\uB361\uB362\uB363"], + ["8941", "\uB366\uB368\uB36A\uB36C\uB36D\uB36F\uB372\uB373\uB375\uB376\uB377\uB379", 6, "\uB382\uB386", 5, "\uB38D"], + ["8961", "\uB38E\uB38F\uB391\uB392\uB393\uB395", 10, "\uB3A2", 5, "\uB3A9\uB3AA\uB3AB\uB3AD"], + ["8981", "\uB3AE", 21, "\uB3C6\uB3C7\uB3C9\uB3CA\uB3CD\uB3CF\uB3D1\uB3D2\uB3D3\uB3D6\uB3D8\uB3DA\uB3DC\uB3DE\uB3DF\uB3E1\uB3E2\uB3E3\uB3E5\uB3E6\uB3E7\uB3E9", 18, "\uB3FD", 18, "\uB411", 6, "\uB419\uB41A\uB41B\uB41D\uB41E\uB41F\uB421", 6, "\uB42A\uB42C", 7, "\uB435", 15], + ["8a41", "\uB445", 10, "\uB452\uB453\uB455\uB456\uB457\uB459", 6, "\uB462\uB464\uB466"], + ["8a61", "\uB467", 4, "\uB46D", 18, "\uB481\uB482"], + ["8a81", "\uB483", 4, "\uB489", 19, "\uB49E", 5, "\uB4A5\uB4A6\uB4A7\uB4A9\uB4AA\uB4AB\uB4AD", 7, "\uB4B6\uB4B8\uB4BA", 5, "\uB4C1\uB4C2\uB4C3\uB4C5\uB4C6\uB4C7\uB4C9", 6, "\uB4D1\uB4D2\uB4D3\uB4D4\uB4D6", 5, "\uB4DE\uB4DF\uB4E1\uB4E2\uB4E5\uB4E7", 4, "\uB4EE\uB4F0\uB4F2", 5, "\uB4F9", 26, "\uB516\uB517\uB519\uB51A\uB51D"], + ["8b41", "\uB51E", 5, "\uB526\uB52B", 4, "\uB532\uB533\uB535\uB536\uB537\uB539", 6, "\uB542\uB546"], + ["8b61", "\uB547\uB548\uB549\uB54A\uB54E\uB54F\uB551\uB552\uB553\uB555", 6, "\uB55E\uB562", 8], + ["8b81", "\uB56B", 52, "\uB5A2\uB5A3\uB5A5\uB5A6\uB5A7\uB5A9\uB5AC\uB5AD\uB5AE\uB5AF\uB5B2\uB5B6", 4, "\uB5BE\uB5BF\uB5C1\uB5C2\uB5C3\uB5C5", 6, "\uB5CE\uB5D2", 5, "\uB5D9", 18, "\uB5ED", 18], + ["8c41", "\uB600", 15, "\uB612\uB613\uB615\uB616\uB617\uB619", 4], + ["8c61", "\uB61E", 6, "\uB626", 5, "\uB62D", 6, "\uB635", 5], + ["8c81", "\uB63B", 12, "\uB649", 26, "\uB665\uB666\uB667\uB669", 50, "\uB69E\uB69F\uB6A1\uB6A2\uB6A3\uB6A5", 5, "\uB6AD\uB6AE\uB6AF\uB6B0\uB6B2", 16], + ["8d41", "\uB6C3", 16, "\uB6D5", 8], + ["8d61", "\uB6DE", 17, "\uB6F1\uB6F2\uB6F3\uB6F5\uB6F6\uB6F7\uB6F9\uB6FA"], + ["8d81", "\uB6FB", 4, "\uB702\uB703\uB704\uB706", 33, "\uB72A\uB72B\uB72D\uB72E\uB731", 6, "\uB73A\uB73C", 7, "\uB745\uB746\uB747\uB749\uB74A\uB74B\uB74D", 6, "\uB756", 9, "\uB761\uB762\uB763\uB765\uB766\uB767\uB769", 6, "\uB772\uB774\uB776", 5, "\uB77E\uB77F\uB781\uB782\uB783\uB785", 6, "\uB78E\uB793\uB794\uB795\uB79A\uB79B\uB79D\uB79E"], + ["8e41", "\uB79F\uB7A1", 6, "\uB7AA\uB7AE", 5, "\uB7B6\uB7B7\uB7B9", 8], + ["8e61", "\uB7C2", 4, "\uB7C8\uB7CA", 19], + ["8e81", "\uB7DE", 13, "\uB7EE\uB7EF\uB7F1\uB7F2\uB7F3\uB7F5", 6, "\uB7FE\uB802", 4, "\uB80A\uB80B\uB80D\uB80E\uB80F\uB811", 6, "\uB81A\uB81C\uB81E", 5, "\uB826\uB827\uB829\uB82A\uB82B\uB82D", 6, "\uB836\uB83A", 5, "\uB841\uB842\uB843\uB845", 11, "\uB852\uB854", 7, "\uB85E\uB85F\uB861\uB862\uB863\uB865", 6, "\uB86E\uB870\uB872", 5, "\uB879\uB87A\uB87B\uB87D", 7], + ["8f41", "\uB885", 7, "\uB88E", 17], + ["8f61", "\uB8A0", 7, "\uB8A9", 6, "\uB8B1\uB8B2\uB8B3\uB8B5\uB8B6\uB8B7\uB8B9", 4], + ["8f81", "\uB8BE\uB8BF\uB8C2\uB8C4\uB8C6", 5, "\uB8CD\uB8CE\uB8CF\uB8D1\uB8D2\uB8D3\uB8D5", 7, "\uB8DE\uB8E0\uB8E2", 5, "\uB8EA\uB8EB\uB8ED\uB8EE\uB8EF\uB8F1", 6, "\uB8FA\uB8FC\uB8FE", 5, "\uB905", 18, "\uB919", 6, "\uB921", 26, "\uB93E\uB93F\uB941\uB942\uB943\uB945", 6, "\uB94D\uB94E\uB950\uB952", 5], + ["9041", "\uB95A\uB95B\uB95D\uB95E\uB95F\uB961", 6, "\uB96A\uB96C\uB96E", 5, "\uB976\uB977\uB979\uB97A\uB97B\uB97D"], + ["9061", "\uB97E", 5, "\uB986\uB988\uB98B\uB98C\uB98F", 15], + ["9081", "\uB99F", 12, "\uB9AE\uB9AF\uB9B1\uB9B2\uB9B3\uB9B5", 6, "\uB9BE\uB9C0\uB9C2", 5, "\uB9CA\uB9CB\uB9CD\uB9D3", 4, "\uB9DA\uB9DC\uB9DF\uB9E0\uB9E2\uB9E6\uB9E7\uB9E9\uB9EA\uB9EB\uB9ED", 6, "\uB9F6\uB9FB", 4, "\uBA02", 5, "\uBA09", 11, "\uBA16", 33, "\uBA3A\uBA3B\uBA3D\uBA3E\uBA3F\uBA41\uBA43\uBA44\uBA45\uBA46"], + ["9141", "\uBA47\uBA4A\uBA4C\uBA4F\uBA50\uBA51\uBA52\uBA56\uBA57\uBA59\uBA5A\uBA5B\uBA5D", 6, "\uBA66\uBA6A", 5], + ["9161", "\uBA72\uBA73\uBA75\uBA76\uBA77\uBA79", 9, "\uBA86\uBA88\uBA89\uBA8A\uBA8B\uBA8D", 5], + ["9181", "\uBA93", 20, "\uBAAA\uBAAD\uBAAE\uBAAF\uBAB1\uBAB3", 4, "\uBABA\uBABC\uBABE", 5, "\uBAC5\uBAC6\uBAC7\uBAC9", 14, "\uBADA", 33, "\uBAFD\uBAFE\uBAFF\uBB01\uBB02\uBB03\uBB05", 7, "\uBB0E\uBB10\uBB12", 5, "\uBB19\uBB1A\uBB1B\uBB1D\uBB1E\uBB1F\uBB21", 6], + ["9241", "\uBB28\uBB2A\uBB2C", 7, "\uBB37\uBB39\uBB3A\uBB3F", 4, "\uBB46\uBB48\uBB4A\uBB4B\uBB4C\uBB4E\uBB51\uBB52"], + ["9261", "\uBB53\uBB55\uBB56\uBB57\uBB59", 7, "\uBB62\uBB64", 7, "\uBB6D", 4], + ["9281", "\uBB72", 21, "\uBB89\uBB8A\uBB8B\uBB8D\uBB8E\uBB8F\uBB91", 18, "\uBBA5\uBBA6\uBBA7\uBBA9\uBBAA\uBBAB\uBBAD", 6, "\uBBB5\uBBB6\uBBB8", 7, "\uBBC1\uBBC2\uBBC3\uBBC5\uBBC6\uBBC7\uBBC9", 6, "\uBBD1\uBBD2\uBBD4", 35, "\uBBFA\uBBFB\uBBFD\uBBFE\uBC01"], + ["9341", "\uBC03", 4, "\uBC0A\uBC0E\uBC10\uBC12\uBC13\uBC19\uBC1A\uBC20\uBC21\uBC22\uBC23\uBC26\uBC28\uBC2A\uBC2B\uBC2C\uBC2E\uBC2F\uBC32\uBC33\uBC35"], + ["9361", "\uBC36\uBC37\uBC39", 6, "\uBC42\uBC46\uBC47\uBC48\uBC4A\uBC4B\uBC4E\uBC4F\uBC51", 8], + ["9381", "\uBC5A\uBC5B\uBC5C\uBC5E", 37, "\uBC86\uBC87\uBC89\uBC8A\uBC8D\uBC8F", 4, "\uBC96\uBC98\uBC9B", 4, "\uBCA2\uBCA3\uBCA5\uBCA6\uBCA9", 6, "\uBCB2\uBCB6", 5, "\uBCBE\uBCBF\uBCC1\uBCC2\uBCC3\uBCC5", 7, "\uBCCE\uBCD2\uBCD3\uBCD4\uBCD6\uBCD7\uBCD9\uBCDA\uBCDB\uBCDD", 22, "\uBCF7\uBCF9\uBCFA\uBCFB\uBCFD"], + ["9441", "\uBCFE", 5, "\uBD06\uBD08\uBD0A", 5, "\uBD11\uBD12\uBD13\uBD15", 8], + ["9461", "\uBD1E", 5, "\uBD25", 6, "\uBD2D", 12], + ["9481", "\uBD3A", 5, "\uBD41", 6, "\uBD4A\uBD4B\uBD4D\uBD4E\uBD4F\uBD51", 6, "\uBD5A", 9, "\uBD65\uBD66\uBD67\uBD69", 22, "\uBD82\uBD83\uBD85\uBD86\uBD8B", 4, "\uBD92\uBD94\uBD96\uBD97\uBD98\uBD9B\uBD9D", 6, "\uBDA5", 10, "\uBDB1", 6, "\uBDB9", 24], + ["9541", "\uBDD2\uBDD3\uBDD6\uBDD7\uBDD9\uBDDA\uBDDB\uBDDD", 11, "\uBDEA", 5, "\uBDF1"], + ["9561", "\uBDF2\uBDF3\uBDF5\uBDF6\uBDF7\uBDF9", 6, "\uBE01\uBE02\uBE04\uBE06", 5, "\uBE0E\uBE0F\uBE11\uBE12\uBE13"], + ["9581", "\uBE15", 6, "\uBE1E\uBE20", 35, "\uBE46\uBE47\uBE49\uBE4A\uBE4B\uBE4D\uBE4F", 4, "\uBE56\uBE58\uBE5C\uBE5D\uBE5E\uBE5F\uBE62\uBE63\uBE65\uBE66\uBE67\uBE69\uBE6B", 4, "\uBE72\uBE76", 4, "\uBE7E\uBE7F\uBE81\uBE82\uBE83\uBE85", 6, "\uBE8E\uBE92", 5, "\uBE9A", 13, "\uBEA9", 14], + ["9641", "\uBEB8", 23, "\uBED2\uBED3"], + ["9661", "\uBED5\uBED6\uBED9", 6, "\uBEE1\uBEE2\uBEE6", 5, "\uBEED", 8], + ["9681", "\uBEF6", 10, "\uBF02", 5, "\uBF0A", 13, "\uBF1A\uBF1E", 33, "\uBF42\uBF43\uBF45\uBF46\uBF47\uBF49", 6, "\uBF52\uBF53\uBF54\uBF56", 44], + ["9741", "\uBF83", 16, "\uBF95", 8], + ["9761", "\uBF9E", 17, "\uBFB1", 7], + ["9781", "\uBFB9", 11, "\uBFC6", 5, "\uBFCE\uBFCF\uBFD1\uBFD2\uBFD3\uBFD5", 6, "\uBFDD\uBFDE\uBFE0\uBFE2", 89, "\uC03D\uC03E\uC03F"], + ["9841", "\uC040", 16, "\uC052", 5, "\uC059\uC05A\uC05B"], + ["9861", "\uC05D\uC05E\uC05F\uC061", 6, "\uC06A", 15], + ["9881", "\uC07A", 21, "\uC092\uC093\uC095\uC096\uC097\uC099", 6, "\uC0A2\uC0A4\uC0A6", 5, "\uC0AE\uC0B1\uC0B2\uC0B7", 4, "\uC0BE\uC0C2\uC0C3\uC0C4\uC0C6\uC0C7\uC0CA\uC0CB\uC0CD\uC0CE\uC0CF\uC0D1", 6, "\uC0DA\uC0DE", 5, "\uC0E6\uC0E7\uC0E9\uC0EA\uC0EB\uC0ED", 6, "\uC0F6\uC0F8\uC0FA", 5, "\uC101\uC102\uC103\uC105\uC106\uC107\uC109", 6, "\uC111\uC112\uC113\uC114\uC116", 5, "\uC121\uC122\uC125\uC128\uC129\uC12A\uC12B\uC12E"], + ["9941", "\uC132\uC133\uC134\uC135\uC137\uC13A\uC13B\uC13D\uC13E\uC13F\uC141", 6, "\uC14A\uC14E", 5, "\uC156\uC157"], + ["9961", "\uC159\uC15A\uC15B\uC15D", 6, "\uC166\uC16A", 5, "\uC171\uC172\uC173\uC175\uC176\uC177\uC179\uC17A\uC17B"], + ["9981", "\uC17C", 8, "\uC186", 5, "\uC18F\uC191\uC192\uC193\uC195\uC197", 4, "\uC19E\uC1A0\uC1A2\uC1A3\uC1A4\uC1A6\uC1A7\uC1AA\uC1AB\uC1AD\uC1AE\uC1AF\uC1B1", 11, "\uC1BE", 5, "\uC1C5\uC1C6\uC1C7\uC1C9\uC1CA\uC1CB\uC1CD", 6, "\uC1D5\uC1D6\uC1D9", 6, "\uC1E1\uC1E2\uC1E3\uC1E5\uC1E6\uC1E7\uC1E9", 6, "\uC1F2\uC1F4", 7, "\uC1FE\uC1FF\uC201\uC202\uC203\uC205", 6, "\uC20E\uC210\uC212", 5, "\uC21A\uC21B\uC21D\uC21E\uC221\uC222\uC223"], + ["9a41", "\uC224\uC225\uC226\uC227\uC22A\uC22C\uC22E\uC230\uC233\uC235", 16], + ["9a61", "\uC246\uC247\uC249", 6, "\uC252\uC253\uC255\uC256\uC257\uC259", 6, "\uC261\uC262\uC263\uC264\uC266"], + ["9a81", "\uC267", 4, "\uC26E\uC26F\uC271\uC272\uC273\uC275", 6, "\uC27E\uC280\uC282", 5, "\uC28A", 5, "\uC291", 6, "\uC299\uC29A\uC29C\uC29E", 5, "\uC2A6\uC2A7\uC2A9\uC2AA\uC2AB\uC2AE", 5, "\uC2B6\uC2B8\uC2BA", 33, "\uC2DE\uC2DF\uC2E1\uC2E2\uC2E5", 5, "\uC2EE\uC2F0\uC2F2\uC2F3\uC2F4\uC2F5\uC2F7\uC2FA\uC2FD\uC2FE\uC2FF\uC301", 6, "\uC30A\uC30B\uC30E\uC30F"], + ["9b41", "\uC310\uC311\uC312\uC316\uC317\uC319\uC31A\uC31B\uC31D", 6, "\uC326\uC327\uC32A", 8], + ["9b61", "\uC333", 17, "\uC346", 7], + ["9b81", "\uC34E", 25, "\uC36A\uC36B\uC36D\uC36E\uC36F\uC371\uC373", 4, "\uC37A\uC37B\uC37E", 5, "\uC385\uC386\uC387\uC389\uC38A\uC38B\uC38D", 50, "\uC3C1", 22, "\uC3DA"], + ["9c41", "\uC3DB\uC3DD\uC3DE\uC3E1\uC3E3", 4, "\uC3EA\uC3EB\uC3EC\uC3EE", 5, "\uC3F6\uC3F7\uC3F9", 5], + ["9c61", "\uC3FF", 8, "\uC409", 6, "\uC411", 9], + ["9c81", "\uC41B", 8, "\uC425", 6, "\uC42D\uC42E\uC42F\uC431\uC432\uC433\uC435", 6, "\uC43E", 9, "\uC449", 26, "\uC466\uC467\uC469\uC46A\uC46B\uC46D", 6, "\uC476\uC477\uC478\uC47A", 5, "\uC481", 18, "\uC495", 6, "\uC49D", 12], + ["9d41", "\uC4AA", 13, "\uC4B9\uC4BA\uC4BB\uC4BD", 8], + ["9d61", "\uC4C6", 25], + ["9d81", "\uC4E0", 8, "\uC4EA", 5, "\uC4F2\uC4F3\uC4F5\uC4F6\uC4F7\uC4F9\uC4FB\uC4FC\uC4FD\uC4FE\uC502", 9, "\uC50D\uC50E\uC50F\uC511\uC512\uC513\uC515", 6, "\uC51D", 10, "\uC52A\uC52B\uC52D\uC52E\uC52F\uC531", 6, "\uC53A\uC53C\uC53E", 5, "\uC546\uC547\uC54B\uC54F\uC550\uC551\uC552\uC556\uC55A\uC55B\uC55C\uC55F\uC562\uC563\uC565\uC566\uC567\uC569", 6, "\uC572\uC576", 5, "\uC57E\uC57F\uC581\uC582\uC583\uC585\uC586\uC588\uC589\uC58A\uC58B\uC58E\uC590\uC592\uC593\uC594"], + ["9e41", "\uC596\uC599\uC59A\uC59B\uC59D\uC59E\uC59F\uC5A1", 7, "\uC5AA", 9, "\uC5B6"], + ["9e61", "\uC5B7\uC5BA\uC5BF", 4, "\uC5CB\uC5CD\uC5CF\uC5D2\uC5D3\uC5D5\uC5D6\uC5D7\uC5D9", 6, "\uC5E2\uC5E4\uC5E6\uC5E7"], + ["9e81", "\uC5E8\uC5E9\uC5EA\uC5EB\uC5EF\uC5F1\uC5F2\uC5F3\uC5F5\uC5F8\uC5F9\uC5FA\uC5FB\uC602\uC603\uC604\uC609\uC60A\uC60B\uC60D\uC60E\uC60F\uC611", 6, "\uC61A\uC61D", 6, "\uC626\uC627\uC629\uC62A\uC62B\uC62F\uC631\uC632\uC636\uC638\uC63A\uC63C\uC63D\uC63E\uC63F\uC642\uC643\uC645\uC646\uC647\uC649", 6, "\uC652\uC656", 5, "\uC65E\uC65F\uC661", 10, "\uC66D\uC66E\uC670\uC672", 5, "\uC67A\uC67B\uC67D\uC67E\uC67F\uC681", 6, "\uC68A\uC68C\uC68E", 5, "\uC696\uC697\uC699\uC69A\uC69B\uC69D", 6, "\uC6A6"], + ["9f41", "\uC6A8\uC6AA", 5, "\uC6B2\uC6B3\uC6B5\uC6B6\uC6B7\uC6BB", 4, "\uC6C2\uC6C4\uC6C6", 5, "\uC6CE"], + ["9f61", "\uC6CF\uC6D1\uC6D2\uC6D3\uC6D5", 6, "\uC6DE\uC6DF\uC6E2", 5, "\uC6EA\uC6EB\uC6ED\uC6EE\uC6EF\uC6F1\uC6F2"], + ["9f81", "\uC6F3", 4, "\uC6FA\uC6FB\uC6FC\uC6FE", 5, "\uC706\uC707\uC709\uC70A\uC70B\uC70D", 6, "\uC716\uC718\uC71A", 5, "\uC722\uC723\uC725\uC726\uC727\uC729", 6, "\uC732\uC734\uC736\uC738\uC739\uC73A\uC73B\uC73E\uC73F\uC741\uC742\uC743\uC745", 4, "\uC74B\uC74E\uC750\uC759\uC75A\uC75B\uC75D\uC75E\uC75F\uC761", 6, "\uC769\uC76A\uC76C", 7, "\uC776\uC777\uC779\uC77A\uC77B\uC77F\uC780\uC781\uC782\uC786\uC78B\uC78C\uC78D\uC78F\uC792\uC793\uC795\uC799\uC79B", 4, "\uC7A2\uC7A7", 4, "\uC7AE\uC7AF\uC7B1\uC7B2\uC7B3\uC7B5\uC7B6\uC7B7"], + ["a041", "\uC7B8\uC7B9\uC7BA\uC7BB\uC7BE\uC7C2", 5, "\uC7CA\uC7CB\uC7CD\uC7CF\uC7D1", 6, "\uC7D9\uC7DA\uC7DB\uC7DC"], + ["a061", "\uC7DE", 5, "\uC7E5\uC7E6\uC7E7\uC7E9\uC7EA\uC7EB\uC7ED", 13], + ["a081", "\uC7FB", 4, "\uC802\uC803\uC805\uC806\uC807\uC809\uC80B", 4, "\uC812\uC814\uC817", 4, "\uC81E\uC81F\uC821\uC822\uC823\uC825", 6, "\uC82E\uC830\uC832", 5, "\uC839\uC83A\uC83B\uC83D\uC83E\uC83F\uC841", 6, "\uC84A\uC84B\uC84E", 5, "\uC855", 26, "\uC872\uC873\uC875\uC876\uC877\uC879\uC87B", 4, "\uC882\uC884\uC888\uC889\uC88A\uC88E", 5, "\uC895", 7, "\uC89E\uC8A0\uC8A2\uC8A3\uC8A4"], + ["a141", "\uC8A5\uC8A6\uC8A7\uC8A9", 18, "\uC8BE\uC8BF\uC8C0\uC8C1"], + ["a161", "\uC8C2\uC8C3\uC8C5\uC8C6\uC8C7\uC8C9\uC8CA\uC8CB\uC8CD", 6, "\uC8D6\uC8D8\uC8DA", 5, "\uC8E2\uC8E3\uC8E5"], + ["a181", "\uC8E6", 14, "\uC8F6", 5, "\uC8FE\uC8FF\uC901\uC902\uC903\uC907", 4, "\uC90E\u3000\u3001\u3002\xB7\u2025\u2026\xA8\u3003\xAD\u2015\u2225\uFF3C\u223C\u2018\u2019\u201C\u201D\u3014\u3015\u3008", 9, "\xB1\xD7\xF7\u2260\u2264\u2265\u221E\u2234\xB0\u2032\u2033\u2103\u212B\uFFE0\uFFE1\uFFE5\u2642\u2640\u2220\u22A5\u2312\u2202\u2207\u2261\u2252\xA7\u203B\u2606\u2605\u25CB\u25CF\u25CE\u25C7\u25C6\u25A1\u25A0\u25B3\u25B2\u25BD\u25BC\u2192\u2190\u2191\u2193\u2194\u3013\u226A\u226B\u221A\u223D\u221D\u2235\u222B\u222C\u2208\u220B\u2286\u2287\u2282\u2283\u222A\u2229\u2227\u2228\uFFE2"], + ["a241", "\uC910\uC912", 5, "\uC919", 18], + ["a261", "\uC92D", 6, "\uC935", 18], + ["a281", "\uC948", 7, "\uC952\uC953\uC955\uC956\uC957\uC959", 6, "\uC962\uC964", 7, "\uC96D\uC96E\uC96F\u21D2\u21D4\u2200\u2203\xB4\uFF5E\u02C7\u02D8\u02DD\u02DA\u02D9\xB8\u02DB\xA1\xBF\u02D0\u222E\u2211\u220F\xA4\u2109\u2030\u25C1\u25C0\u25B7\u25B6\u2664\u2660\u2661\u2665\u2667\u2663\u2299\u25C8\u25A3\u25D0\u25D1\u2592\u25A4\u25A5\u25A8\u25A7\u25A6\u25A9\u2668\u260F\u260E\u261C\u261E\xB6\u2020\u2021\u2195\u2197\u2199\u2196\u2198\u266D\u2669\u266A\u266C\u327F\u321C\u2116\u33C7\u2122\u33C2\u33D8\u2121\u20AC\xAE"], + ["a341", "\uC971\uC972\uC973\uC975", 6, "\uC97D", 10, "\uC98A\uC98B\uC98D\uC98E\uC98F"], + ["a361", "\uC991", 6, "\uC99A\uC99C\uC99E", 16], + ["a381", "\uC9AF", 16, "\uC9C2\uC9C3\uC9C5\uC9C6\uC9C9\uC9CB", 4, "\uC9D2\uC9D4\uC9D7\uC9D8\uC9DB\uFF01", 58, "\uFFE6\uFF3D", 32, "\uFFE3"], + ["a441", "\uC9DE\uC9DF\uC9E1\uC9E3\uC9E5\uC9E6\uC9E8\uC9E9\uC9EA\uC9EB\uC9EE\uC9F2", 5, "\uC9FA\uC9FB\uC9FD\uC9FE\uC9FF\uCA01\uCA02\uCA03\uCA04"], + ["a461", "\uCA05\uCA06\uCA07\uCA0A\uCA0E", 5, "\uCA15\uCA16\uCA17\uCA19", 12], + ["a481", "\uCA26\uCA27\uCA28\uCA2A", 28, "\u3131", 93], + ["a541", "\uCA47", 4, "\uCA4E\uCA4F\uCA51\uCA52\uCA53\uCA55", 6, "\uCA5E\uCA62", 5, "\uCA69\uCA6A"], + ["a561", "\uCA6B", 17, "\uCA7E", 5, "\uCA85\uCA86"], + ["a581", "\uCA87", 16, "\uCA99", 14, "\u2170", 9], + ["a5b0", "\u2160", 9], + ["a5c1", "\u0391", 16, "\u03A3", 6], + ["a5e1", "\u03B1", 16, "\u03C3", 6], + ["a641", "\uCAA8", 19, "\uCABE\uCABF\uCAC1\uCAC2\uCAC3\uCAC5"], + ["a661", "\uCAC6", 5, "\uCACE\uCAD0\uCAD2\uCAD4\uCAD5\uCAD6\uCAD7\uCADA", 5, "\uCAE1", 6], + ["a681", "\uCAE8\uCAE9\uCAEA\uCAEB\uCAED", 6, "\uCAF5", 18, "\uCB09\uCB0A\u2500\u2502\u250C\u2510\u2518\u2514\u251C\u252C\u2524\u2534\u253C\u2501\u2503\u250F\u2513\u251B\u2517\u2523\u2533\u252B\u253B\u254B\u2520\u252F\u2528\u2537\u253F\u251D\u2530\u2525\u2538\u2542\u2512\u2511\u251A\u2519\u2516\u2515\u250E\u250D\u251E\u251F\u2521\u2522\u2526\u2527\u2529\u252A\u252D\u252E\u2531\u2532\u2535\u2536\u2539\u253A\u253D\u253E\u2540\u2541\u2543", 7], + ["a741", "\uCB0B", 4, "\uCB11\uCB12\uCB13\uCB15\uCB16\uCB17\uCB19", 6, "\uCB22", 7], + ["a761", "\uCB2A", 22, "\uCB42\uCB43\uCB44"], + ["a781", "\uCB45\uCB46\uCB47\uCB4A\uCB4B\uCB4D\uCB4E\uCB4F\uCB51", 6, "\uCB5A\uCB5B\uCB5C\uCB5E", 5, "\uCB65", 7, "\u3395\u3396\u3397\u2113\u3398\u33C4\u33A3\u33A4\u33A5\u33A6\u3399", 9, "\u33CA\u338D\u338E\u338F\u33CF\u3388\u3389\u33C8\u33A7\u33A8\u33B0", 9, "\u3380", 4, "\u33BA", 5, "\u3390", 4, "\u2126\u33C0\u33C1\u338A\u338B\u338C\u33D6\u33C5\u33AD\u33AE\u33AF\u33DB\u33A9\u33AA\u33AB\u33AC\u33DD\u33D0\u33D3\u33C3\u33C9\u33DC\u33C6"], + ["a841", "\uCB6D", 10, "\uCB7A", 14], + ["a861", "\uCB89", 18, "\uCB9D", 6], + ["a881", "\uCBA4", 19, "\uCBB9", 11, "\xC6\xD0\xAA\u0126"], + ["a8a6", "\u0132"], + ["a8a8", "\u013F\u0141\xD8\u0152\xBA\xDE\u0166\u014A"], + ["a8b1", "\u3260", 27, "\u24D0", 25, "\u2460", 14, "\xBD\u2153\u2154\xBC\xBE\u215B\u215C\u215D\u215E"], + ["a941", "\uCBC5", 14, "\uCBD5", 10], + ["a961", "\uCBE0\uCBE1\uCBE2\uCBE3\uCBE5\uCBE6\uCBE8\uCBEA", 18], + ["a981", "\uCBFD", 14, "\uCC0E\uCC0F\uCC11\uCC12\uCC13\uCC15", 6, "\uCC1E\uCC1F\uCC20\uCC23\uCC24\xE6\u0111\xF0\u0127\u0131\u0133\u0138\u0140\u0142\xF8\u0153\xDF\xFE\u0167\u014B\u0149\u3200", 27, "\u249C", 25, "\u2474", 14, "\xB9\xB2\xB3\u2074\u207F\u2081\u2082\u2083\u2084"], + ["aa41", "\uCC25\uCC26\uCC2A\uCC2B\uCC2D\uCC2F\uCC31", 6, "\uCC3A\uCC3F", 4, "\uCC46\uCC47\uCC49\uCC4A\uCC4B\uCC4D\uCC4E"], + ["aa61", "\uCC4F", 4, "\uCC56\uCC5A", 5, "\uCC61\uCC62\uCC63\uCC65\uCC67\uCC69", 6, "\uCC71\uCC72"], + ["aa81", "\uCC73\uCC74\uCC76", 29, "\u3041", 82], + ["ab41", "\uCC94\uCC95\uCC96\uCC97\uCC9A\uCC9B\uCC9D\uCC9E\uCC9F\uCCA1", 6, "\uCCAA\uCCAE", 5, "\uCCB6\uCCB7\uCCB9"], + ["ab61", "\uCCBA\uCCBB\uCCBD", 6, "\uCCC6\uCCC8\uCCCA", 5, "\uCCD1\uCCD2\uCCD3\uCCD5", 5], + ["ab81", "\uCCDB", 8, "\uCCE5", 6, "\uCCED\uCCEE\uCCEF\uCCF1", 12, "\u30A1", 85], + ["ac41", "\uCCFE\uCCFF\uCD00\uCD02", 5, "\uCD0A\uCD0B\uCD0D\uCD0E\uCD0F\uCD11", 6, "\uCD1A\uCD1C\uCD1E\uCD1F\uCD20"], + ["ac61", "\uCD21\uCD22\uCD23\uCD25\uCD26\uCD27\uCD29\uCD2A\uCD2B\uCD2D", 11, "\uCD3A", 4], + ["ac81", "\uCD3F", 28, "\uCD5D\uCD5E\uCD5F\u0410", 5, "\u0401\u0416", 25], + ["acd1", "\u0430", 5, "\u0451\u0436", 25], + ["ad41", "\uCD61\uCD62\uCD63\uCD65", 6, "\uCD6E\uCD70\uCD72", 5, "\uCD79", 7], + ["ad61", "\uCD81", 6, "\uCD89", 10, "\uCD96\uCD97\uCD99\uCD9A\uCD9B\uCD9D\uCD9E\uCD9F"], + ["ad81", "\uCDA0\uCDA1\uCDA2\uCDA3\uCDA6\uCDA8\uCDAA", 5, "\uCDB1", 18, "\uCDC5"], + ["ae41", "\uCDC6", 5, "\uCDCD\uCDCE\uCDCF\uCDD1", 16], + ["ae61", "\uCDE2", 5, "\uCDE9\uCDEA\uCDEB\uCDED\uCDEE\uCDEF\uCDF1", 6, "\uCDFA\uCDFC\uCDFE", 4], + ["ae81", "\uCE03\uCE05\uCE06\uCE07\uCE09\uCE0A\uCE0B\uCE0D", 6, "\uCE15\uCE16\uCE17\uCE18\uCE1A", 5, "\uCE22\uCE23\uCE25\uCE26\uCE27\uCE29\uCE2A\uCE2B"], + ["af41", "\uCE2C\uCE2D\uCE2E\uCE2F\uCE32\uCE34\uCE36", 19], + ["af61", "\uCE4A", 13, "\uCE5A\uCE5B\uCE5D\uCE5E\uCE62", 5, "\uCE6A\uCE6C"], + ["af81", "\uCE6E", 5, "\uCE76\uCE77\uCE79\uCE7A\uCE7B\uCE7D", 6, "\uCE86\uCE88\uCE8A", 5, "\uCE92\uCE93\uCE95\uCE96\uCE97\uCE99"], + ["b041", "\uCE9A", 5, "\uCEA2\uCEA6", 5, "\uCEAE", 12], + ["b061", "\uCEBB", 5, "\uCEC2", 19], + ["b081", "\uCED6", 13, "\uCEE6\uCEE7\uCEE9\uCEEA\uCEED", 6, "\uCEF6\uCEFA", 5, "\uAC00\uAC01\uAC04\uAC07\uAC08\uAC09\uAC0A\uAC10", 7, "\uAC19", 4, "\uAC20\uAC24\uAC2C\uAC2D\uAC2F\uAC30\uAC31\uAC38\uAC39\uAC3C\uAC40\uAC4B\uAC4D\uAC54\uAC58\uAC5C\uAC70\uAC71\uAC74\uAC77\uAC78\uAC7A\uAC80\uAC81\uAC83\uAC84\uAC85\uAC86\uAC89\uAC8A\uAC8B\uAC8C\uAC90\uAC94\uAC9C\uAC9D\uAC9F\uACA0\uACA1\uACA8\uACA9\uACAA\uACAC\uACAF\uACB0\uACB8\uACB9\uACBB\uACBC\uACBD\uACC1\uACC4\uACC8\uACCC\uACD5\uACD7\uACE0\uACE1\uACE4\uACE7\uACE8\uACEA\uACEC\uACEF\uACF0\uACF1\uACF3\uACF5\uACF6\uACFC\uACFD\uAD00\uAD04\uAD06"], + ["b141", "\uCF02\uCF03\uCF05\uCF06\uCF07\uCF09", 6, "\uCF12\uCF14\uCF16", 5, "\uCF1D\uCF1E\uCF1F\uCF21\uCF22\uCF23"], + ["b161", "\uCF25", 6, "\uCF2E\uCF32", 5, "\uCF39", 11], + ["b181", "\uCF45", 14, "\uCF56\uCF57\uCF59\uCF5A\uCF5B\uCF5D", 6, "\uCF66\uCF68\uCF6A\uCF6B\uCF6C\uAD0C\uAD0D\uAD0F\uAD11\uAD18\uAD1C\uAD20\uAD29\uAD2C\uAD2D\uAD34\uAD35\uAD38\uAD3C\uAD44\uAD45\uAD47\uAD49\uAD50\uAD54\uAD58\uAD61\uAD63\uAD6C\uAD6D\uAD70\uAD73\uAD74\uAD75\uAD76\uAD7B\uAD7C\uAD7D\uAD7F\uAD81\uAD82\uAD88\uAD89\uAD8C\uAD90\uAD9C\uAD9D\uADA4\uADB7\uADC0\uADC1\uADC4\uADC8\uADD0\uADD1\uADD3\uADDC\uADE0\uADE4\uADF8\uADF9\uADFC\uADFF\uAE00\uAE01\uAE08\uAE09\uAE0B\uAE0D\uAE14\uAE30\uAE31\uAE34\uAE37\uAE38\uAE3A\uAE40\uAE41\uAE43\uAE45\uAE46\uAE4A\uAE4C\uAE4D\uAE4E\uAE50\uAE54\uAE56\uAE5C\uAE5D\uAE5F\uAE60\uAE61\uAE65\uAE68\uAE69\uAE6C\uAE70\uAE78"], + ["b241", "\uCF6D\uCF6E\uCF6F\uCF72\uCF73\uCF75\uCF76\uCF77\uCF79", 6, "\uCF81\uCF82\uCF83\uCF84\uCF86", 5, "\uCF8D"], + ["b261", "\uCF8E", 18, "\uCFA2", 5, "\uCFA9"], + ["b281", "\uCFAA", 5, "\uCFB1", 18, "\uCFC5", 6, "\uAE79\uAE7B\uAE7C\uAE7D\uAE84\uAE85\uAE8C\uAEBC\uAEBD\uAEBE\uAEC0\uAEC4\uAECC\uAECD\uAECF\uAED0\uAED1\uAED8\uAED9\uAEDC\uAEE8\uAEEB\uAEED\uAEF4\uAEF8\uAEFC\uAF07\uAF08\uAF0D\uAF10\uAF2C\uAF2D\uAF30\uAF32\uAF34\uAF3C\uAF3D\uAF3F\uAF41\uAF42\uAF43\uAF48\uAF49\uAF50\uAF5C\uAF5D\uAF64\uAF65\uAF79\uAF80\uAF84\uAF88\uAF90\uAF91\uAF95\uAF9C\uAFB8\uAFB9\uAFBC\uAFC0\uAFC7\uAFC8\uAFC9\uAFCB\uAFCD\uAFCE\uAFD4\uAFDC\uAFE8\uAFE9\uAFF0\uAFF1\uAFF4\uAFF8\uB000\uB001\uB004\uB00C\uB010\uB014\uB01C\uB01D\uB028\uB044\uB045\uB048\uB04A\uB04C\uB04E\uB053\uB054\uB055\uB057\uB059"], + ["b341", "\uCFCC", 19, "\uCFE2\uCFE3\uCFE5\uCFE6\uCFE7\uCFE9"], + ["b361", "\uCFEA", 5, "\uCFF2\uCFF4\uCFF6", 5, "\uCFFD\uCFFE\uCFFF\uD001\uD002\uD003\uD005", 5], + ["b381", "\uD00B", 5, "\uD012", 5, "\uD019", 19, "\uB05D\uB07C\uB07D\uB080\uB084\uB08C\uB08D\uB08F\uB091\uB098\uB099\uB09A\uB09C\uB09F\uB0A0\uB0A1\uB0A2\uB0A8\uB0A9\uB0AB", 4, "\uB0B1\uB0B3\uB0B4\uB0B5\uB0B8\uB0BC\uB0C4\uB0C5\uB0C7\uB0C8\uB0C9\uB0D0\uB0D1\uB0D4\uB0D8\uB0E0\uB0E5\uB108\uB109\uB10B\uB10C\uB110\uB112\uB113\uB118\uB119\uB11B\uB11C\uB11D\uB123\uB124\uB125\uB128\uB12C\uB134\uB135\uB137\uB138\uB139\uB140\uB141\uB144\uB148\uB150\uB151\uB154\uB155\uB158\uB15C\uB160\uB178\uB179\uB17C\uB180\uB182\uB188\uB189\uB18B\uB18D\uB192\uB193\uB194\uB198\uB19C\uB1A8\uB1CC\uB1D0\uB1D4\uB1DC\uB1DD"], + ["b441", "\uD02E", 5, "\uD036\uD037\uD039\uD03A\uD03B\uD03D", 6, "\uD046\uD048\uD04A", 5], + ["b461", "\uD051\uD052\uD053\uD055\uD056\uD057\uD059", 6, "\uD061", 10, "\uD06E\uD06F"], + ["b481", "\uD071\uD072\uD073\uD075", 6, "\uD07E\uD07F\uD080\uD082", 18, "\uB1DF\uB1E8\uB1E9\uB1EC\uB1F0\uB1F9\uB1FB\uB1FD\uB204\uB205\uB208\uB20B\uB20C\uB214\uB215\uB217\uB219\uB220\uB234\uB23C\uB258\uB25C\uB260\uB268\uB269\uB274\uB275\uB27C\uB284\uB285\uB289\uB290\uB291\uB294\uB298\uB299\uB29A\uB2A0\uB2A1\uB2A3\uB2A5\uB2A6\uB2AA\uB2AC\uB2B0\uB2B4\uB2C8\uB2C9\uB2CC\uB2D0\uB2D2\uB2D8\uB2D9\uB2DB\uB2DD\uB2E2\uB2E4\uB2E5\uB2E6\uB2E8\uB2EB", 4, "\uB2F3\uB2F4\uB2F5\uB2F7", 4, "\uB2FF\uB300\uB301\uB304\uB308\uB310\uB311\uB313\uB314\uB315\uB31C\uB354\uB355\uB356\uB358\uB35B\uB35C\uB35E\uB35F\uB364\uB365"], + ["b541", "\uD095", 14, "\uD0A6\uD0A7\uD0A9\uD0AA\uD0AB\uD0AD", 5], + ["b561", "\uD0B3\uD0B6\uD0B8\uD0BA", 5, "\uD0C2\uD0C3\uD0C5\uD0C6\uD0C7\uD0CA", 5, "\uD0D2\uD0D6", 4], + ["b581", "\uD0DB\uD0DE\uD0DF\uD0E1\uD0E2\uD0E3\uD0E5", 6, "\uD0EE\uD0F2", 5, "\uD0F9", 11, "\uB367\uB369\uB36B\uB36E\uB370\uB371\uB374\uB378\uB380\uB381\uB383\uB384\uB385\uB38C\uB390\uB394\uB3A0\uB3A1\uB3A8\uB3AC\uB3C4\uB3C5\uB3C8\uB3CB\uB3CC\uB3CE\uB3D0\uB3D4\uB3D5\uB3D7\uB3D9\uB3DB\uB3DD\uB3E0\uB3E4\uB3E8\uB3FC\uB410\uB418\uB41C\uB420\uB428\uB429\uB42B\uB434\uB450\uB451\uB454\uB458\uB460\uB461\uB463\uB465\uB46C\uB480\uB488\uB49D\uB4A4\uB4A8\uB4AC\uB4B5\uB4B7\uB4B9\uB4C0\uB4C4\uB4C8\uB4D0\uB4D5\uB4DC\uB4DD\uB4E0\uB4E3\uB4E4\uB4E6\uB4EC\uB4ED\uB4EF\uB4F1\uB4F8\uB514\uB515\uB518\uB51B\uB51C\uB524\uB525\uB527\uB528\uB529\uB52A\uB530\uB531\uB534\uB538"], + ["b641", "\uD105", 7, "\uD10E", 17], + ["b661", "\uD120", 15, "\uD132\uD133\uD135\uD136\uD137\uD139\uD13B\uD13C\uD13D\uD13E"], + ["b681", "\uD13F\uD142\uD146", 5, "\uD14E\uD14F\uD151\uD152\uD153\uD155", 6, "\uD15E\uD160\uD162", 5, "\uD169\uD16A\uD16B\uD16D\uB540\uB541\uB543\uB544\uB545\uB54B\uB54C\uB54D\uB550\uB554\uB55C\uB55D\uB55F\uB560\uB561\uB5A0\uB5A1\uB5A4\uB5A8\uB5AA\uB5AB\uB5B0\uB5B1\uB5B3\uB5B4\uB5B5\uB5BB\uB5BC\uB5BD\uB5C0\uB5C4\uB5CC\uB5CD\uB5CF\uB5D0\uB5D1\uB5D8\uB5EC\uB610\uB611\uB614\uB618\uB625\uB62C\uB634\uB648\uB664\uB668\uB69C\uB69D\uB6A0\uB6A4\uB6AB\uB6AC\uB6B1\uB6D4\uB6F0\uB6F4\uB6F8\uB700\uB701\uB705\uB728\uB729\uB72C\uB72F\uB730\uB738\uB739\uB73B\uB744\uB748\uB74C\uB754\uB755\uB760\uB764\uB768\uB770\uB771\uB773\uB775\uB77C\uB77D\uB780\uB784\uB78C\uB78D\uB78F\uB790\uB791\uB792\uB796\uB797"], + ["b741", "\uD16E", 13, "\uD17D", 6, "\uD185\uD186\uD187\uD189\uD18A"], + ["b761", "\uD18B", 20, "\uD1A2\uD1A3\uD1A5\uD1A6\uD1A7"], + ["b781", "\uD1A9", 6, "\uD1B2\uD1B4\uD1B6\uD1B7\uD1B8\uD1B9\uD1BB\uD1BD\uD1BE\uD1BF\uD1C1", 14, "\uB798\uB799\uB79C\uB7A0\uB7A8\uB7A9\uB7AB\uB7AC\uB7AD\uB7B4\uB7B5\uB7B8\uB7C7\uB7C9\uB7EC\uB7ED\uB7F0\uB7F4\uB7FC\uB7FD\uB7FF\uB800\uB801\uB807\uB808\uB809\uB80C\uB810\uB818\uB819\uB81B\uB81D\uB824\uB825\uB828\uB82C\uB834\uB835\uB837\uB838\uB839\uB840\uB844\uB851\uB853\uB85C\uB85D\uB860\uB864\uB86C\uB86D\uB86F\uB871\uB878\uB87C\uB88D\uB8A8\uB8B0\uB8B4\uB8B8\uB8C0\uB8C1\uB8C3\uB8C5\uB8CC\uB8D0\uB8D4\uB8DD\uB8DF\uB8E1\uB8E8\uB8E9\uB8EC\uB8F0\uB8F8\uB8F9\uB8FB\uB8FD\uB904\uB918\uB920\uB93C\uB93D\uB940\uB944\uB94C\uB94F\uB951\uB958\uB959\uB95C\uB960\uB968\uB969"], + ["b841", "\uD1D0", 7, "\uD1D9", 17], + ["b861", "\uD1EB", 8, "\uD1F5\uD1F6\uD1F7\uD1F9", 13], + ["b881", "\uD208\uD20A", 5, "\uD211", 24, "\uB96B\uB96D\uB974\uB975\uB978\uB97C\uB984\uB985\uB987\uB989\uB98A\uB98D\uB98E\uB9AC\uB9AD\uB9B0\uB9B4\uB9BC\uB9BD\uB9BF\uB9C1\uB9C8\uB9C9\uB9CC\uB9CE", 4, "\uB9D8\uB9D9\uB9DB\uB9DD\uB9DE\uB9E1\uB9E3\uB9E4\uB9E5\uB9E8\uB9EC\uB9F4\uB9F5\uB9F7\uB9F8\uB9F9\uB9FA\uBA00\uBA01\uBA08\uBA15\uBA38\uBA39\uBA3C\uBA40\uBA42\uBA48\uBA49\uBA4B\uBA4D\uBA4E\uBA53\uBA54\uBA55\uBA58\uBA5C\uBA64\uBA65\uBA67\uBA68\uBA69\uBA70\uBA71\uBA74\uBA78\uBA83\uBA84\uBA85\uBA87\uBA8C\uBAA8\uBAA9\uBAAB\uBAAC\uBAB0\uBAB2\uBAB8\uBAB9\uBABB\uBABD\uBAC4\uBAC8\uBAD8\uBAD9\uBAFC"], + ["b941", "\uD22A\uD22B\uD22E\uD22F\uD231\uD232\uD233\uD235", 6, "\uD23E\uD240\uD242", 5, "\uD249\uD24A\uD24B\uD24C"], + ["b961", "\uD24D", 14, "\uD25D", 6, "\uD265\uD266\uD267\uD268"], + ["b981", "\uD269", 22, "\uD282\uD283\uD285\uD286\uD287\uD289\uD28A\uD28B\uD28C\uBB00\uBB04\uBB0D\uBB0F\uBB11\uBB18\uBB1C\uBB20\uBB29\uBB2B\uBB34\uBB35\uBB36\uBB38\uBB3B\uBB3C\uBB3D\uBB3E\uBB44\uBB45\uBB47\uBB49\uBB4D\uBB4F\uBB50\uBB54\uBB58\uBB61\uBB63\uBB6C\uBB88\uBB8C\uBB90\uBBA4\uBBA8\uBBAC\uBBB4\uBBB7\uBBC0\uBBC4\uBBC8\uBBD0\uBBD3\uBBF8\uBBF9\uBBFC\uBBFF\uBC00\uBC02\uBC08\uBC09\uBC0B\uBC0C\uBC0D\uBC0F\uBC11\uBC14", 4, "\uBC1B", 4, "\uBC24\uBC25\uBC27\uBC29\uBC2D\uBC30\uBC31\uBC34\uBC38\uBC40\uBC41\uBC43\uBC44\uBC45\uBC49\uBC4C\uBC4D\uBC50\uBC5D\uBC84\uBC85\uBC88\uBC8B\uBC8C\uBC8E\uBC94\uBC95\uBC97"], + ["ba41", "\uD28D\uD28E\uD28F\uD292\uD293\uD294\uD296", 5, "\uD29D\uD29E\uD29F\uD2A1\uD2A2\uD2A3\uD2A5", 6, "\uD2AD"], + ["ba61", "\uD2AE\uD2AF\uD2B0\uD2B2", 5, "\uD2BA\uD2BB\uD2BD\uD2BE\uD2C1\uD2C3", 4, "\uD2CA\uD2CC", 5], + ["ba81", "\uD2D2\uD2D3\uD2D5\uD2D6\uD2D7\uD2D9\uD2DA\uD2DB\uD2DD", 6, "\uD2E6", 9, "\uD2F2\uD2F3\uD2F5\uD2F6\uD2F7\uD2F9\uD2FA\uBC99\uBC9A\uBCA0\uBCA1\uBCA4\uBCA7\uBCA8\uBCB0\uBCB1\uBCB3\uBCB4\uBCB5\uBCBC\uBCBD\uBCC0\uBCC4\uBCCD\uBCCF\uBCD0\uBCD1\uBCD5\uBCD8\uBCDC\uBCF4\uBCF5\uBCF6\uBCF8\uBCFC\uBD04\uBD05\uBD07\uBD09\uBD10\uBD14\uBD24\uBD2C\uBD40\uBD48\uBD49\uBD4C\uBD50\uBD58\uBD59\uBD64\uBD68\uBD80\uBD81\uBD84\uBD87\uBD88\uBD89\uBD8A\uBD90\uBD91\uBD93\uBD95\uBD99\uBD9A\uBD9C\uBDA4\uBDB0\uBDB8\uBDD4\uBDD5\uBDD8\uBDDC\uBDE9\uBDF0\uBDF4\uBDF8\uBE00\uBE03\uBE05\uBE0C\uBE0D\uBE10\uBE14\uBE1C\uBE1D\uBE1F\uBE44\uBE45\uBE48\uBE4C\uBE4E\uBE54\uBE55\uBE57\uBE59\uBE5A\uBE5B\uBE60\uBE61\uBE64"], + ["bb41", "\uD2FB", 4, "\uD302\uD304\uD306", 5, "\uD30F\uD311\uD312\uD313\uD315\uD317", 4, "\uD31E\uD322\uD323"], + ["bb61", "\uD324\uD326\uD327\uD32A\uD32B\uD32D\uD32E\uD32F\uD331", 6, "\uD33A\uD33E", 5, "\uD346\uD347\uD348\uD349"], + ["bb81", "\uD34A", 31, "\uBE68\uBE6A\uBE70\uBE71\uBE73\uBE74\uBE75\uBE7B\uBE7C\uBE7D\uBE80\uBE84\uBE8C\uBE8D\uBE8F\uBE90\uBE91\uBE98\uBE99\uBEA8\uBED0\uBED1\uBED4\uBED7\uBED8\uBEE0\uBEE3\uBEE4\uBEE5\uBEEC\uBF01\uBF08\uBF09\uBF18\uBF19\uBF1B\uBF1C\uBF1D\uBF40\uBF41\uBF44\uBF48\uBF50\uBF51\uBF55\uBF94\uBFB0\uBFC5\uBFCC\uBFCD\uBFD0\uBFD4\uBFDC\uBFDF\uBFE1\uC03C\uC051\uC058\uC05C\uC060\uC068\uC069\uC090\uC091\uC094\uC098\uC0A0\uC0A1\uC0A3\uC0A5\uC0AC\uC0AD\uC0AF\uC0B0\uC0B3\uC0B4\uC0B5\uC0B6\uC0BC\uC0BD\uC0BF\uC0C0\uC0C1\uC0C5\uC0C8\uC0C9\uC0CC\uC0D0\uC0D8\uC0D9\uC0DB\uC0DC\uC0DD\uC0E4"], + ["bc41", "\uD36A", 17, "\uD37E\uD37F\uD381\uD382\uD383\uD385\uD386\uD387"], + ["bc61", "\uD388\uD389\uD38A\uD38B\uD38E\uD392", 5, "\uD39A\uD39B\uD39D\uD39E\uD39F\uD3A1", 6, "\uD3AA\uD3AC\uD3AE"], + ["bc81", "\uD3AF", 4, "\uD3B5\uD3B6\uD3B7\uD3B9\uD3BA\uD3BB\uD3BD", 6, "\uD3C6\uD3C7\uD3CA", 5, "\uD3D1", 5, "\uC0E5\uC0E8\uC0EC\uC0F4\uC0F5\uC0F7\uC0F9\uC100\uC104\uC108\uC110\uC115\uC11C", 4, "\uC123\uC124\uC126\uC127\uC12C\uC12D\uC12F\uC130\uC131\uC136\uC138\uC139\uC13C\uC140\uC148\uC149\uC14B\uC14C\uC14D\uC154\uC155\uC158\uC15C\uC164\uC165\uC167\uC168\uC169\uC170\uC174\uC178\uC185\uC18C\uC18D\uC18E\uC190\uC194\uC196\uC19C\uC19D\uC19F\uC1A1\uC1A5\uC1A8\uC1A9\uC1AC\uC1B0\uC1BD\uC1C4\uC1C8\uC1CC\uC1D4\uC1D7\uC1D8\uC1E0\uC1E4\uC1E8\uC1F0\uC1F1\uC1F3\uC1FC\uC1FD\uC200\uC204\uC20C\uC20D\uC20F\uC211\uC218\uC219\uC21C\uC21F\uC220\uC228\uC229\uC22B\uC22D"], + ["bd41", "\uD3D7\uD3D9", 7, "\uD3E2\uD3E4", 7, "\uD3EE\uD3EF\uD3F1\uD3F2\uD3F3\uD3F5\uD3F6\uD3F7"], + ["bd61", "\uD3F8\uD3F9\uD3FA\uD3FB\uD3FE\uD400\uD402", 5, "\uD409", 13], + ["bd81", "\uD417", 5, "\uD41E", 25, "\uC22F\uC231\uC232\uC234\uC248\uC250\uC251\uC254\uC258\uC260\uC265\uC26C\uC26D\uC270\uC274\uC27C\uC27D\uC27F\uC281\uC288\uC289\uC290\uC298\uC29B\uC29D\uC2A4\uC2A5\uC2A8\uC2AC\uC2AD\uC2B4\uC2B5\uC2B7\uC2B9\uC2DC\uC2DD\uC2E0\uC2E3\uC2E4\uC2EB\uC2EC\uC2ED\uC2EF\uC2F1\uC2F6\uC2F8\uC2F9\uC2FB\uC2FC\uC300\uC308\uC309\uC30C\uC30D\uC313\uC314\uC315\uC318\uC31C\uC324\uC325\uC328\uC329\uC345\uC368\uC369\uC36C\uC370\uC372\uC378\uC379\uC37C\uC37D\uC384\uC388\uC38C\uC3C0\uC3D8\uC3D9\uC3DC\uC3DF\uC3E0\uC3E2\uC3E8\uC3E9\uC3ED\uC3F4\uC3F5\uC3F8\uC408\uC410\uC424\uC42C\uC430"], + ["be41", "\uD438", 7, "\uD441\uD442\uD443\uD445", 14], + ["be61", "\uD454", 7, "\uD45D\uD45E\uD45F\uD461\uD462\uD463\uD465", 7, "\uD46E\uD470\uD471\uD472"], + ["be81", "\uD473", 4, "\uD47A\uD47B\uD47D\uD47E\uD481\uD483", 4, "\uD48A\uD48C\uD48E", 5, "\uD495", 8, "\uC434\uC43C\uC43D\uC448\uC464\uC465\uC468\uC46C\uC474\uC475\uC479\uC480\uC494\uC49C\uC4B8\uC4BC\uC4E9\uC4F0\uC4F1\uC4F4\uC4F8\uC4FA\uC4FF\uC500\uC501\uC50C\uC510\uC514\uC51C\uC528\uC529\uC52C\uC530\uC538\uC539\uC53B\uC53D\uC544\uC545\uC548\uC549\uC54A\uC54C\uC54D\uC54E\uC553\uC554\uC555\uC557\uC558\uC559\uC55D\uC55E\uC560\uC561\uC564\uC568\uC570\uC571\uC573\uC574\uC575\uC57C\uC57D\uC580\uC584\uC587\uC58C\uC58D\uC58F\uC591\uC595\uC597\uC598\uC59C\uC5A0\uC5A9\uC5B4\uC5B5\uC5B8\uC5B9\uC5BB\uC5BC\uC5BD\uC5BE\uC5C4", 6, "\uC5CC\uC5CE"], + ["bf41", "\uD49E", 10, "\uD4AA", 14], + ["bf61", "\uD4B9", 18, "\uD4CD\uD4CE\uD4CF\uD4D1\uD4D2\uD4D3\uD4D5"], + ["bf81", "\uD4D6", 5, "\uD4DD\uD4DE\uD4E0", 7, "\uD4E9\uD4EA\uD4EB\uD4ED\uD4EE\uD4EF\uD4F1", 6, "\uD4F9\uD4FA\uD4FC\uC5D0\uC5D1\uC5D4\uC5D8\uC5E0\uC5E1\uC5E3\uC5E5\uC5EC\uC5ED\uC5EE\uC5F0\uC5F4\uC5F6\uC5F7\uC5FC", 5, "\uC605\uC606\uC607\uC608\uC60C\uC610\uC618\uC619\uC61B\uC61C\uC624\uC625\uC628\uC62C\uC62D\uC62E\uC630\uC633\uC634\uC635\uC637\uC639\uC63B\uC640\uC641\uC644\uC648\uC650\uC651\uC653\uC654\uC655\uC65C\uC65D\uC660\uC66C\uC66F\uC671\uC678\uC679\uC67C\uC680\uC688\uC689\uC68B\uC68D\uC694\uC695\uC698\uC69C\uC6A4\uC6A5\uC6A7\uC6A9\uC6B0\uC6B1\uC6B4\uC6B8\uC6B9\uC6BA\uC6C0\uC6C1\uC6C3\uC6C5\uC6CC\uC6CD\uC6D0\uC6D4\uC6DC\uC6DD\uC6E0\uC6E1\uC6E8"], + ["c041", "\uD4FE", 5, "\uD505\uD506\uD507\uD509\uD50A\uD50B\uD50D", 6, "\uD516\uD518", 5], + ["c061", "\uD51E", 25], + ["c081", "\uD538\uD539\uD53A\uD53B\uD53E\uD53F\uD541\uD542\uD543\uD545", 6, "\uD54E\uD550\uD552", 5, "\uD55A\uD55B\uD55D\uD55E\uD55F\uD561\uD562\uD563\uC6E9\uC6EC\uC6F0\uC6F8\uC6F9\uC6FD\uC704\uC705\uC708\uC70C\uC714\uC715\uC717\uC719\uC720\uC721\uC724\uC728\uC730\uC731\uC733\uC735\uC737\uC73C\uC73D\uC740\uC744\uC74A\uC74C\uC74D\uC74F\uC751", 7, "\uC75C\uC760\uC768\uC76B\uC774\uC775\uC778\uC77C\uC77D\uC77E\uC783\uC784\uC785\uC787\uC788\uC789\uC78A\uC78E\uC790\uC791\uC794\uC796\uC797\uC798\uC79A\uC7A0\uC7A1\uC7A3\uC7A4\uC7A5\uC7A6\uC7AC\uC7AD\uC7B0\uC7B4\uC7BC\uC7BD\uC7BF\uC7C0\uC7C1\uC7C8\uC7C9\uC7CC\uC7CE\uC7D0\uC7D8\uC7DD\uC7E4\uC7E8\uC7EC\uC800\uC801\uC804\uC808\uC80A"], + ["c141", "\uD564\uD566\uD567\uD56A\uD56C\uD56E", 5, "\uD576\uD577\uD579\uD57A\uD57B\uD57D", 6, "\uD586\uD58A\uD58B"], + ["c161", "\uD58C\uD58D\uD58E\uD58F\uD591", 19, "\uD5A6\uD5A7"], + ["c181", "\uD5A8", 31, "\uC810\uC811\uC813\uC815\uC816\uC81C\uC81D\uC820\uC824\uC82C\uC82D\uC82F\uC831\uC838\uC83C\uC840\uC848\uC849\uC84C\uC84D\uC854\uC870\uC871\uC874\uC878\uC87A\uC880\uC881\uC883\uC885\uC886\uC887\uC88B\uC88C\uC88D\uC894\uC89D\uC89F\uC8A1\uC8A8\uC8BC\uC8BD\uC8C4\uC8C8\uC8CC\uC8D4\uC8D5\uC8D7\uC8D9\uC8E0\uC8E1\uC8E4\uC8F5\uC8FC\uC8FD\uC900\uC904\uC905\uC906\uC90C\uC90D\uC90F\uC911\uC918\uC92C\uC934\uC950\uC951\uC954\uC958\uC960\uC961\uC963\uC96C\uC970\uC974\uC97C\uC988\uC989\uC98C\uC990\uC998\uC999\uC99B\uC99D\uC9C0\uC9C1\uC9C4\uC9C7\uC9C8\uC9CA\uC9D0\uC9D1\uC9D3"], + ["c241", "\uD5CA\uD5CB\uD5CD\uD5CE\uD5CF\uD5D1\uD5D3", 4, "\uD5DA\uD5DC\uD5DE", 5, "\uD5E6\uD5E7\uD5E9\uD5EA\uD5EB\uD5ED\uD5EE"], + ["c261", "\uD5EF", 4, "\uD5F6\uD5F8\uD5FA", 5, "\uD602\uD603\uD605\uD606\uD607\uD609", 6, "\uD612"], + ["c281", "\uD616", 5, "\uD61D\uD61E\uD61F\uD621\uD622\uD623\uD625", 7, "\uD62E", 9, "\uD63A\uD63B\uC9D5\uC9D6\uC9D9\uC9DA\uC9DC\uC9DD\uC9E0\uC9E2\uC9E4\uC9E7\uC9EC\uC9ED\uC9EF\uC9F0\uC9F1\uC9F8\uC9F9\uC9FC\uCA00\uCA08\uCA09\uCA0B\uCA0C\uCA0D\uCA14\uCA18\uCA29\uCA4C\uCA4D\uCA50\uCA54\uCA5C\uCA5D\uCA5F\uCA60\uCA61\uCA68\uCA7D\uCA84\uCA98\uCABC\uCABD\uCAC0\uCAC4\uCACC\uCACD\uCACF\uCAD1\uCAD3\uCAD8\uCAD9\uCAE0\uCAEC\uCAF4\uCB08\uCB10\uCB14\uCB18\uCB20\uCB21\uCB41\uCB48\uCB49\uCB4C\uCB50\uCB58\uCB59\uCB5D\uCB64\uCB78\uCB79\uCB9C\uCBB8\uCBD4\uCBE4\uCBE7\uCBE9\uCC0C\uCC0D\uCC10\uCC14\uCC1C\uCC1D\uCC21\uCC22\uCC27\uCC28\uCC29\uCC2C\uCC2E\uCC30\uCC38\uCC39\uCC3B"], + ["c341", "\uD63D\uD63E\uD63F\uD641\uD642\uD643\uD644\uD646\uD647\uD64A\uD64C\uD64E\uD64F\uD650\uD652\uD653\uD656\uD657\uD659\uD65A\uD65B\uD65D", 4], + ["c361", "\uD662", 4, "\uD668\uD66A", 5, "\uD672\uD673\uD675", 11], + ["c381", "\uD681\uD682\uD684\uD686", 5, "\uD68E\uD68F\uD691\uD692\uD693\uD695", 7, "\uD69E\uD6A0\uD6A2", 5, "\uD6A9\uD6AA\uCC3C\uCC3D\uCC3E\uCC44\uCC45\uCC48\uCC4C\uCC54\uCC55\uCC57\uCC58\uCC59\uCC60\uCC64\uCC66\uCC68\uCC70\uCC75\uCC98\uCC99\uCC9C\uCCA0\uCCA8\uCCA9\uCCAB\uCCAC\uCCAD\uCCB4\uCCB5\uCCB8\uCCBC\uCCC4\uCCC5\uCCC7\uCCC9\uCCD0\uCCD4\uCCE4\uCCEC\uCCF0\uCD01\uCD08\uCD09\uCD0C\uCD10\uCD18\uCD19\uCD1B\uCD1D\uCD24\uCD28\uCD2C\uCD39\uCD5C\uCD60\uCD64\uCD6C\uCD6D\uCD6F\uCD71\uCD78\uCD88\uCD94\uCD95\uCD98\uCD9C\uCDA4\uCDA5\uCDA7\uCDA9\uCDB0\uCDC4\uCDCC\uCDD0\uCDE8\uCDEC\uCDF0\uCDF8\uCDF9\uCDFB\uCDFD\uCE04\uCE08\uCE0C\uCE14\uCE19\uCE20\uCE21\uCE24\uCE28\uCE30\uCE31\uCE33\uCE35"], + ["c441", "\uD6AB\uD6AD\uD6AE\uD6AF\uD6B1", 7, "\uD6BA\uD6BC", 7, "\uD6C6\uD6C7\uD6C9\uD6CA\uD6CB"], + ["c461", "\uD6CD\uD6CE\uD6CF\uD6D0\uD6D2\uD6D3\uD6D5\uD6D6\uD6D8\uD6DA", 5, "\uD6E1\uD6E2\uD6E3\uD6E5\uD6E6\uD6E7\uD6E9", 4], + ["c481", "\uD6EE\uD6EF\uD6F1\uD6F2\uD6F3\uD6F4\uD6F6", 5, "\uD6FE\uD6FF\uD701\uD702\uD703\uD705", 11, "\uD712\uD713\uD714\uCE58\uCE59\uCE5C\uCE5F\uCE60\uCE61\uCE68\uCE69\uCE6B\uCE6D\uCE74\uCE75\uCE78\uCE7C\uCE84\uCE85\uCE87\uCE89\uCE90\uCE91\uCE94\uCE98\uCEA0\uCEA1\uCEA3\uCEA4\uCEA5\uCEAC\uCEAD\uCEC1\uCEE4\uCEE5\uCEE8\uCEEB\uCEEC\uCEF4\uCEF5\uCEF7\uCEF8\uCEF9\uCF00\uCF01\uCF04\uCF08\uCF10\uCF11\uCF13\uCF15\uCF1C\uCF20\uCF24\uCF2C\uCF2D\uCF2F\uCF30\uCF31\uCF38\uCF54\uCF55\uCF58\uCF5C\uCF64\uCF65\uCF67\uCF69\uCF70\uCF71\uCF74\uCF78\uCF80\uCF85\uCF8C\uCFA1\uCFA8\uCFB0\uCFC4\uCFE0\uCFE1\uCFE4\uCFE8\uCFF0\uCFF1\uCFF3\uCFF5\uCFFC\uD000\uD004\uD011\uD018\uD02D\uD034\uD035\uD038\uD03C"], + ["c541", "\uD715\uD716\uD717\uD71A\uD71B\uD71D\uD71E\uD71F\uD721", 6, "\uD72A\uD72C\uD72E", 5, "\uD736\uD737\uD739"], + ["c561", "\uD73A\uD73B\uD73D", 6, "\uD745\uD746\uD748\uD74A", 5, "\uD752\uD753\uD755\uD75A", 4], + ["c581", "\uD75F\uD762\uD764\uD766\uD767\uD768\uD76A\uD76B\uD76D\uD76E\uD76F\uD771\uD772\uD773\uD775", 6, "\uD77E\uD77F\uD780\uD782", 5, "\uD78A\uD78B\uD044\uD045\uD047\uD049\uD050\uD054\uD058\uD060\uD06C\uD06D\uD070\uD074\uD07C\uD07D\uD081\uD0A4\uD0A5\uD0A8\uD0AC\uD0B4\uD0B5\uD0B7\uD0B9\uD0C0\uD0C1\uD0C4\uD0C8\uD0C9\uD0D0\uD0D1\uD0D3\uD0D4\uD0D5\uD0DC\uD0DD\uD0E0\uD0E4\uD0EC\uD0ED\uD0EF\uD0F0\uD0F1\uD0F8\uD10D\uD130\uD131\uD134\uD138\uD13A\uD140\uD141\uD143\uD144\uD145\uD14C\uD14D\uD150\uD154\uD15C\uD15D\uD15F\uD161\uD168\uD16C\uD17C\uD184\uD188\uD1A0\uD1A1\uD1A4\uD1A8\uD1B0\uD1B1\uD1B3\uD1B5\uD1BA\uD1BC\uD1C0\uD1D8\uD1F4\uD1F8\uD207\uD209\uD210\uD22C\uD22D\uD230\uD234\uD23C\uD23D\uD23F\uD241\uD248\uD25C"], + ["c641", "\uD78D\uD78E\uD78F\uD791", 6, "\uD79A\uD79C\uD79E", 5], + ["c6a1", "\uD264\uD280\uD281\uD284\uD288\uD290\uD291\uD295\uD29C\uD2A0\uD2A4\uD2AC\uD2B1\uD2B8\uD2B9\uD2BC\uD2BF\uD2C0\uD2C2\uD2C8\uD2C9\uD2CB\uD2D4\uD2D8\uD2DC\uD2E4\uD2E5\uD2F0\uD2F1\uD2F4\uD2F8\uD300\uD301\uD303\uD305\uD30C\uD30D\uD30E\uD310\uD314\uD316\uD31C\uD31D\uD31F\uD320\uD321\uD325\uD328\uD329\uD32C\uD330\uD338\uD339\uD33B\uD33C\uD33D\uD344\uD345\uD37C\uD37D\uD380\uD384\uD38C\uD38D\uD38F\uD390\uD391\uD398\uD399\uD39C\uD3A0\uD3A8\uD3A9\uD3AB\uD3AD\uD3B4\uD3B8\uD3BC\uD3C4\uD3C5\uD3C8\uD3C9\uD3D0\uD3D8\uD3E1\uD3E3\uD3EC\uD3ED\uD3F0\uD3F4\uD3FC\uD3FD\uD3FF\uD401"], + ["c7a1", "\uD408\uD41D\uD440\uD444\uD45C\uD460\uD464\uD46D\uD46F\uD478\uD479\uD47C\uD47F\uD480\uD482\uD488\uD489\uD48B\uD48D\uD494\uD4A9\uD4CC\uD4D0\uD4D4\uD4DC\uD4DF\uD4E8\uD4EC\uD4F0\uD4F8\uD4FB\uD4FD\uD504\uD508\uD50C\uD514\uD515\uD517\uD53C\uD53D\uD540\uD544\uD54C\uD54D\uD54F\uD551\uD558\uD559\uD55C\uD560\uD565\uD568\uD569\uD56B\uD56D\uD574\uD575\uD578\uD57C\uD584\uD585\uD587\uD588\uD589\uD590\uD5A5\uD5C8\uD5C9\uD5CC\uD5D0\uD5D2\uD5D8\uD5D9\uD5DB\uD5DD\uD5E4\uD5E5\uD5E8\uD5EC\uD5F4\uD5F5\uD5F7\uD5F9\uD600\uD601\uD604\uD608\uD610\uD611\uD613\uD614\uD615\uD61C\uD620"], + ["c8a1", "\uD624\uD62D\uD638\uD639\uD63C\uD640\uD645\uD648\uD649\uD64B\uD64D\uD651\uD654\uD655\uD658\uD65C\uD667\uD669\uD670\uD671\uD674\uD683\uD685\uD68C\uD68D\uD690\uD694\uD69D\uD69F\uD6A1\uD6A8\uD6AC\uD6B0\uD6B9\uD6BB\uD6C4\uD6C5\uD6C8\uD6CC\uD6D1\uD6D4\uD6D7\uD6D9\uD6E0\uD6E4\uD6E8\uD6F0\uD6F5\uD6FC\uD6FD\uD700\uD704\uD711\uD718\uD719\uD71C\uD720\uD728\uD729\uD72B\uD72D\uD734\uD735\uD738\uD73C\uD744\uD747\uD749\uD750\uD751\uD754\uD756\uD757\uD758\uD759\uD760\uD761\uD763\uD765\uD769\uD76C\uD770\uD774\uD77C\uD77D\uD781\uD788\uD789\uD78C\uD790\uD798\uD799\uD79B\uD79D"], + ["caa1", "\u4F3D\u4F73\u5047\u50F9\u52A0\u53EF\u5475\u54E5\u5609\u5AC1\u5BB6\u6687\u67B6\u67B7\u67EF\u6B4C\u73C2\u75C2\u7A3C\u82DB\u8304\u8857\u8888\u8A36\u8CC8\u8DCF\u8EFB\u8FE6\u99D5\u523B\u5374\u5404\u606A\u6164\u6BBC\u73CF\u811A\u89BA\u89D2\u95A3\u4F83\u520A\u58BE\u5978\u59E6\u5E72\u5E79\u61C7\u63C0\u6746\u67EC\u687F\u6F97\u764E\u770B\u78F5\u7A08\u7AFF\u7C21\u809D\u826E\u8271\u8AEB\u9593\u4E6B\u559D\u66F7\u6E34\u78A3\u7AED\u845B\u8910\u874E\u97A8\u52D8\u574E\u582A\u5D4C\u611F\u61BE\u6221\u6562\u67D1\u6A44\u6E1B\u7518\u75B3\u76E3\u77B0\u7D3A\u90AF\u9451\u9452\u9F95"], + ["cba1", "\u5323\u5CAC\u7532\u80DB\u9240\u9598\u525B\u5808\u59DC\u5CA1\u5D17\u5EB7\u5F3A\u5F4A\u6177\u6C5F\u757A\u7586\u7CE0\u7D73\u7DB1\u7F8C\u8154\u8221\u8591\u8941\u8B1B\u92FC\u964D\u9C47\u4ECB\u4EF7\u500B\u51F1\u584F\u6137\u613E\u6168\u6539\u69EA\u6F11\u75A5\u7686\u76D6\u7B87\u82A5\u84CB\uF900\u93A7\u958B\u5580\u5BA2\u5751\uF901\u7CB3\u7FB9\u91B5\u5028\u53BB\u5C45\u5DE8\u62D2\u636E\u64DA\u64E7\u6E20\u70AC\u795B\u8DDD\u8E1E\uF902\u907D\u9245\u92F8\u4E7E\u4EF6\u5065\u5DFE\u5EFA\u6106\u6957\u8171\u8654\u8E47\u9375\u9A2B\u4E5E\u5091\u6770\u6840\u5109\u528D\u5292\u6AA2"], + ["cca1", "\u77BC\u9210\u9ED4\u52AB\u602F\u8FF2\u5048\u61A9\u63ED\u64CA\u683C\u6A84\u6FC0\u8188\u89A1\u9694\u5805\u727D\u72AC\u7504\u7D79\u7E6D\u80A9\u898B\u8B74\u9063\u9D51\u6289\u6C7A\u6F54\u7D50\u7F3A\u8A23\u517C\u614A\u7B9D\u8B19\u9257\u938C\u4EAC\u4FD3\u501E\u50BE\u5106\u52C1\u52CD\u537F\u5770\u5883\u5E9A\u5F91\u6176\u61AC\u64CE\u656C\u666F\u66BB\u66F4\u6897\u6D87\u7085\u70F1\u749F\u74A5\u74CA\u75D9\u786C\u78EC\u7ADF\u7AF6\u7D45\u7D93\u8015\u803F\u811B\u8396\u8B66\u8F15\u9015\u93E1\u9803\u9838\u9A5A\u9BE8\u4FC2\u5553\u583A\u5951\u5B63\u5C46\u60B8\u6212\u6842\u68B0"], + ["cda1", "\u68E8\u6EAA\u754C\u7678\u78CE\u7A3D\u7CFB\u7E6B\u7E7C\u8A08\u8AA1\u8C3F\u968E\u9DC4\u53E4\u53E9\u544A\u5471\u56FA\u59D1\u5B64\u5C3B\u5EAB\u62F7\u6537\u6545\u6572\u66A0\u67AF\u69C1\u6CBD\u75FC\u7690\u777E\u7A3F\u7F94\u8003\u80A1\u818F\u82E6\u82FD\u83F0\u85C1\u8831\u88B4\u8AA5\uF903\u8F9C\u932E\u96C7\u9867\u9AD8\u9F13\u54ED\u659B\u66F2\u688F\u7A40\u8C37\u9D60\u56F0\u5764\u5D11\u6606\u68B1\u68CD\u6EFE\u7428\u889E\u9BE4\u6C68\uF904\u9AA8\u4F9B\u516C\u5171\u529F\u5B54\u5DE5\u6050\u606D\u62F1\u63A7\u653B\u73D9\u7A7A\u86A3\u8CA2\u978F\u4E32\u5BE1\u6208\u679C\u74DC"], + ["cea1", "\u79D1\u83D3\u8A87\u8AB2\u8DE8\u904E\u934B\u9846\u5ED3\u69E8\u85FF\u90ED\uF905\u51A0\u5B98\u5BEC\u6163\u68FA\u6B3E\u704C\u742F\u74D8\u7BA1\u7F50\u83C5\u89C0\u8CAB\u95DC\u9928\u522E\u605D\u62EC\u9002\u4F8A\u5149\u5321\u58D9\u5EE3\u66E0\u6D38\u709A\u72C2\u73D6\u7B50\u80F1\u945B\u5366\u639B\u7F6B\u4E56\u5080\u584A\u58DE\u602A\u6127\u62D0\u69D0\u9B41\u5B8F\u7D18\u80B1\u8F5F\u4EA4\u50D1\u54AC\u55AC\u5B0C\u5DA0\u5DE7\u652A\u654E\u6821\u6A4B\u72E1\u768E\u77EF\u7D5E\u7FF9\u81A0\u854E\u86DF\u8F03\u8F4E\u90CA\u9903\u9A55\u9BAB\u4E18\u4E45\u4E5D\u4EC7\u4FF1\u5177\u52FE"], + ["cfa1", "\u5340\u53E3\u53E5\u548E\u5614\u5775\u57A2\u5BC7\u5D87\u5ED0\u61FC\u62D8\u6551\u67B8\u67E9\u69CB\u6B50\u6BC6\u6BEC\u6C42\u6E9D\u7078\u72D7\u7396\u7403\u77BF\u77E9\u7A76\u7D7F\u8009\u81FC\u8205\u820A\u82DF\u8862\u8B33\u8CFC\u8EC0\u9011\u90B1\u9264\u92B6\u99D2\u9A45\u9CE9\u9DD7\u9F9C\u570B\u5C40\u83CA\u97A0\u97AB\u9EB4\u541B\u7A98\u7FA4\u88D9\u8ECD\u90E1\u5800\u5C48\u6398\u7A9F\u5BAE\u5F13\u7A79\u7AAE\u828E\u8EAC\u5026\u5238\u52F8\u5377\u5708\u62F3\u6372\u6B0A\u6DC3\u7737\u53A5\u7357\u8568\u8E76\u95D5\u673A\u6AC3\u6F70\u8A6D\u8ECC\u994B\uF906\u6677\u6B78\u8CB4"], + ["d0a1", "\u9B3C\uF907\u53EB\u572D\u594E\u63C6\u69FB\u73EA\u7845\u7ABA\u7AC5\u7CFE\u8475\u898F\u8D73\u9035\u95A8\u52FB\u5747\u7547\u7B60\u83CC\u921E\uF908\u6A58\u514B\u524B\u5287\u621F\u68D8\u6975\u9699\u50C5\u52A4\u52E4\u61C3\u65A4\u6839\u69FF\u747E\u7B4B\u82B9\u83EB\u89B2\u8B39\u8FD1\u9949\uF909\u4ECA\u5997\u64D2\u6611\u6A8E\u7434\u7981\u79BD\u82A9\u887E\u887F\u895F\uF90A\u9326\u4F0B\u53CA\u6025\u6271\u6C72\u7D1A\u7D66\u4E98\u5162\u77DC\u80AF\u4F01\u4F0E\u5176\u5180\u55DC\u5668\u573B\u57FA\u57FC\u5914\u5947\u5993\u5BC4\u5C90\u5D0E\u5DF1\u5E7E\u5FCC\u6280\u65D7\u65E3"], + ["d1a1", "\u671E\u671F\u675E\u68CB\u68C4\u6A5F\u6B3A\u6C23\u6C7D\u6C82\u6DC7\u7398\u7426\u742A\u7482\u74A3\u7578\u757F\u7881\u78EF\u7941\u7947\u7948\u797A\u7B95\u7D00\u7DBA\u7F88\u8006\u802D\u808C\u8A18\u8B4F\u8C48\u8D77\u9321\u9324\u98E2\u9951\u9A0E\u9A0F\u9A65\u9E92\u7DCA\u4F76\u5409\u62EE\u6854\u91D1\u55AB\u513A\uF90B\uF90C\u5A1C\u61E6\uF90D\u62CF\u62FF\uF90E", 5, "\u90A3\uF914", 4, "\u8AFE\uF919\uF91A\uF91B\uF91C\u6696\uF91D\u7156\uF91E\uF91F\u96E3\uF920\u634F\u637A\u5357\uF921\u678F\u6960\u6E73\uF922\u7537\uF923\uF924\uF925"], + ["d2a1", "\u7D0D\uF926\uF927\u8872\u56CA\u5A18\uF928", 4, "\u4E43\uF92D\u5167\u5948\u67F0\u8010\uF92E\u5973\u5E74\u649A\u79CA\u5FF5\u606C\u62C8\u637B\u5BE7\u5BD7\u52AA\uF92F\u5974\u5F29\u6012\uF930\uF931\uF932\u7459\uF933", 5, "\u99D1\uF939", 10, "\u6FC3\uF944\uF945\u81BF\u8FB2\u60F1\uF946\uF947\u8166\uF948\uF949\u5C3F\uF94A", 7, "\u5AE9\u8A25\u677B\u7D10\uF952", 5, "\u80FD\uF958\uF959\u5C3C\u6CE5\u533F\u6EBA\u591A\u8336"], + ["d3a1", "\u4E39\u4EB6\u4F46\u55AE\u5718\u58C7\u5F56\u65B7\u65E6\u6A80\u6BB5\u6E4D\u77ED\u7AEF\u7C1E\u7DDE\u86CB\u8892\u9132\u935B\u64BB\u6FBE\u737A\u75B8\u9054\u5556\u574D\u61BA\u64D4\u66C7\u6DE1\u6E5B\u6F6D\u6FB9\u75F0\u8043\u81BD\u8541\u8983\u8AC7\u8B5A\u931F\u6C93\u7553\u7B54\u8E0F\u905D\u5510\u5802\u5858\u5E62\u6207\u649E\u68E0\u7576\u7CD6\u87B3\u9EE8\u4EE3\u5788\u576E\u5927\u5C0D\u5CB1\u5E36\u5F85\u6234\u64E1\u73B3\u81FA\u888B\u8CB8\u968A\u9EDB\u5B85\u5FB7\u60B3\u5012\u5200\u5230\u5716\u5835\u5857\u5C0E\u5C60\u5CF6\u5D8B\u5EA6\u5F92\u60BC\u6311\u6389\u6417\u6843"], + ["d4a1", "\u68F9\u6AC2\u6DD8\u6E21\u6ED4\u6FE4\u71FE\u76DC\u7779\u79B1\u7A3B\u8404\u89A9\u8CED\u8DF3\u8E48\u9003\u9014\u9053\u90FD\u934D\u9676\u97DC\u6BD2\u7006\u7258\u72A2\u7368\u7763\u79BF\u7BE4\u7E9B\u8B80\u58A9\u60C7\u6566\u65FD\u66BE\u6C8C\u711E\u71C9\u8C5A\u9813\u4E6D\u7A81\u4EDD\u51AC\u51CD\u52D5\u540C\u61A7\u6771\u6850\u68DF\u6D1E\u6F7C\u75BC\u77B3\u7AE5\u80F4\u8463\u9285\u515C\u6597\u675C\u6793\u75D8\u7AC7\u8373\uF95A\u8C46\u9017\u982D\u5C6F\u81C0\u829A\u9041\u906F\u920D\u5F97\u5D9D\u6A59\u71C8\u767B\u7B49\u85E4\u8B04\u9127\u9A30\u5587\u61F6\uF95B\u7669\u7F85"], + ["d5a1", "\u863F\u87BA\u88F8\u908F\uF95C\u6D1B\u70D9\u73DE\u7D61\u843D\uF95D\u916A\u99F1\uF95E\u4E82\u5375\u6B04\u6B12\u703E\u721B\u862D\u9E1E\u524C\u8FA3\u5D50\u64E5\u652C\u6B16\u6FEB\u7C43\u7E9C\u85CD\u8964\u89BD\u62C9\u81D8\u881F\u5ECA\u6717\u6D6A\u72FC\u7405\u746F\u8782\u90DE\u4F86\u5D0D\u5FA0\u840A\u51B7\u63A0\u7565\u4EAE\u5006\u5169\u51C9\u6881\u6A11\u7CAE\u7CB1\u7CE7\u826F\u8AD2\u8F1B\u91CF\u4FB6\u5137\u52F5\u5442\u5EEC\u616E\u623E\u65C5\u6ADA\u6FFE\u792A\u85DC\u8823\u95AD\u9A62\u9A6A\u9E97\u9ECE\u529B\u66C6\u6B77\u701D\u792B\u8F62\u9742\u6190\u6200\u6523\u6F23"], + ["d6a1", "\u7149\u7489\u7DF4\u806F\u84EE\u8F26\u9023\u934A\u51BD\u5217\u52A3\u6D0C\u70C8\u88C2\u5EC9\u6582\u6BAE\u6FC2\u7C3E\u7375\u4EE4\u4F36\u56F9\uF95F\u5CBA\u5DBA\u601C\u73B2\u7B2D\u7F9A\u7FCE\u8046\u901E\u9234\u96F6\u9748\u9818\u9F61\u4F8B\u6FA7\u79AE\u91B4\u96B7\u52DE\uF960\u6488\u64C4\u6AD3\u6F5E\u7018\u7210\u76E7\u8001\u8606\u865C\u8DEF\u8F05\u9732\u9B6F\u9DFA\u9E75\u788C\u797F\u7DA0\u83C9\u9304\u9E7F\u9E93\u8AD6\u58DF\u5F04\u6727\u7027\u74CF\u7C60\u807E\u5121\u7028\u7262\u78CA\u8CC2\u8CDA\u8CF4\u96F7\u4E86\u50DA\u5BEE\u5ED6\u6599\u71CE\u7642\u77AD\u804A\u84FC"], + ["d7a1", "\u907C\u9B27\u9F8D\u58D8\u5A41\u5C62\u6A13\u6DDA\u6F0F\u763B\u7D2F\u7E37\u851E\u8938\u93E4\u964B\u5289\u65D2\u67F3\u69B4\u6D41\u6E9C\u700F\u7409\u7460\u7559\u7624\u786B\u8B2C\u985E\u516D\u622E\u9678\u4F96\u502B\u5D19\u6DEA\u7DB8\u8F2A\u5F8B\u6144\u6817\uF961\u9686\u52D2\u808B\u51DC\u51CC\u695E\u7A1C\u7DBE\u83F1\u9675\u4FDA\u5229\u5398\u540F\u550E\u5C65\u60A7\u674E\u68A8\u6D6C\u7281\u72F8\u7406\u7483\uF962\u75E2\u7C6C\u7F79\u7FB8\u8389\u88CF\u88E1\u91CC\u91D0\u96E2\u9BC9\u541D\u6F7E\u71D0\u7498\u85FA\u8EAA\u96A3\u9C57\u9E9F\u6797\u6DCB\u7433\u81E8\u9716\u782C"], + ["d8a1", "\u7ACB\u7B20\u7C92\u6469\u746A\u75F2\u78BC\u78E8\u99AC\u9B54\u9EBB\u5BDE\u5E55\u6F20\u819C\u83AB\u9088\u4E07\u534D\u5A29\u5DD2\u5F4E\u6162\u633D\u6669\u66FC\u6EFF\u6F2B\u7063\u779E\u842C\u8513\u883B\u8F13\u9945\u9C3B\u551C\u62B9\u672B\u6CAB\u8309\u896A\u977A\u4EA1\u5984\u5FD8\u5FD9\u671B\u7DB2\u7F54\u8292\u832B\u83BD\u8F1E\u9099\u57CB\u59B9\u5A92\u5BD0\u6627\u679A\u6885\u6BCF\u7164\u7F75\u8CB7\u8CE3\u9081\u9B45\u8108\u8C8A\u964C\u9A40\u9EA5\u5B5F\u6C13\u731B\u76F2\u76DF\u840C\u51AA\u8993\u514D\u5195\u52C9\u68C9\u6C94\u7704\u7720\u7DBF\u7DEC\u9762\u9EB5\u6EC5"], + ["d9a1", "\u8511\u51A5\u540D\u547D\u660E\u669D\u6927\u6E9F\u76BF\u7791\u8317\u84C2\u879F\u9169\u9298\u9CF4\u8882\u4FAE\u5192\u52DF\u59C6\u5E3D\u6155\u6478\u6479\u66AE\u67D0\u6A21\u6BCD\u6BDB\u725F\u7261\u7441\u7738\u77DB\u8017\u82BC\u8305\u8B00\u8B28\u8C8C\u6728\u6C90\u7267\u76EE\u7766\u7A46\u9DA9\u6B7F\u6C92\u5922\u6726\u8499\u536F\u5893\u5999\u5EDF\u63CF\u6634\u6773\u6E3A\u732B\u7AD7\u82D7\u9328\u52D9\u5DEB\u61AE\u61CB\u620A\u62C7\u64AB\u65E0\u6959\u6B66\u6BCB\u7121\u73F7\u755D\u7E46\u821E\u8302\u856A\u8AA3\u8CBF\u9727\u9D61\u58A8\u9ED8\u5011\u520E\u543B\u554F\u6587"], + ["daa1", "\u6C76\u7D0A\u7D0B\u805E\u868A\u9580\u96EF\u52FF\u6C95\u7269\u5473\u5A9A\u5C3E\u5D4B\u5F4C\u5FAE\u672A\u68B6\u6963\u6E3C\u6E44\u7709\u7C73\u7F8E\u8587\u8B0E\u8FF7\u9761\u9EF4\u5CB7\u60B6\u610D\u61AB\u654F\u65FB\u65FC\u6C11\u6CEF\u739F\u73C9\u7DE1\u9594\u5BC6\u871C\u8B10\u525D\u535A\u62CD\u640F\u64B2\u6734\u6A38\u6CCA\u73C0\u749E\u7B94\u7C95\u7E1B\u818A\u8236\u8584\u8FEB\u96F9\u99C1\u4F34\u534A\u53CD\u53DB\u62CC\u642C\u6500\u6591\u69C3\u6CEE\u6F58\u73ED\u7554\u7622\u76E4\u76FC\u78D0\u78FB\u792C\u7D46\u822C\u87E0\u8FD4\u9812\u98EF\u52C3\u62D4\u64A5\u6E24\u6F51"], + ["dba1", "\u767C\u8DCB\u91B1\u9262\u9AEE\u9B43\u5023\u508D\u574A\u59A8\u5C28\u5E47\u5F77\u623F\u653E\u65B9\u65C1\u6609\u678B\u699C\u6EC2\u78C5\u7D21\u80AA\u8180\u822B\u82B3\u84A1\u868C\u8A2A\u8B17\u90A6\u9632\u9F90\u500D\u4FF3\uF963\u57F9\u5F98\u62DC\u6392\u676F\u6E43\u7119\u76C3\u80CC\u80DA\u88F4\u88F5\u8919\u8CE0\u8F29\u914D\u966A\u4F2F\u4F70\u5E1B\u67CF\u6822\u767D\u767E\u9B44\u5E61\u6A0A\u7169\u71D4\u756A\uF964\u7E41\u8543\u85E9\u98DC\u4F10\u7B4F\u7F70\u95A5\u51E1\u5E06\u68B5\u6C3E\u6C4E\u6CDB\u72AF\u7BC4\u8303\u6CD5\u743A\u50FB\u5288\u58C1\u64D8\u6A97\u74A7\u7656"], + ["dca1", "\u78A7\u8617\u95E2\u9739\uF965\u535E\u5F01\u8B8A\u8FA8\u8FAF\u908A\u5225\u77A5\u9C49\u9F08\u4E19\u5002\u5175\u5C5B\u5E77\u661E\u663A\u67C4\u68C5\u70B3\u7501\u75C5\u79C9\u7ADD\u8F27\u9920\u9A08\u4FDD\u5821\u5831\u5BF6\u666E\u6B65\u6D11\u6E7A\u6F7D\u73E4\u752B\u83E9\u88DC\u8913\u8B5C\u8F14\u4F0F\u50D5\u5310\u535C\u5B93\u5FA9\u670D\u798F\u8179\u832F\u8514\u8907\u8986\u8F39\u8F3B\u99A5\u9C12\u672C\u4E76\u4FF8\u5949\u5C01\u5CEF\u5CF0\u6367\u68D2\u70FD\u71A2\u742B\u7E2B\u84EC\u8702\u9022\u92D2\u9CF3\u4E0D\u4ED8\u4FEF\u5085\u5256\u526F\u5426\u5490\u57E0\u592B\u5A66"], + ["dda1", "\u5B5A\u5B75\u5BCC\u5E9C\uF966\u6276\u6577\u65A7\u6D6E\u6EA5\u7236\u7B26\u7C3F\u7F36\u8150\u8151\u819A\u8240\u8299\u83A9\u8A03\u8CA0\u8CE6\u8CFB\u8D74\u8DBA\u90E8\u91DC\u961C\u9644\u99D9\u9CE7\u5317\u5206\u5429\u5674\u58B3\u5954\u596E\u5FFF\u61A4\u626E\u6610\u6C7E\u711A\u76C6\u7C89\u7CDE\u7D1B\u82AC\u8CC1\u96F0\uF967\u4F5B\u5F17\u5F7F\u62C2\u5D29\u670B\u68DA\u787C\u7E43\u9D6C\u4E15\u5099\u5315\u532A\u5351\u5983\u5A62\u5E87\u60B2\u618A\u6249\u6279\u6590\u6787\u69A7\u6BD4\u6BD6\u6BD7\u6BD8\u6CB8\uF968\u7435\u75FA\u7812\u7891\u79D5\u79D8\u7C83\u7DCB\u7FE1\u80A5"], + ["dea1", "\u813E\u81C2\u83F2\u871A\u88E8\u8AB9\u8B6C\u8CBB\u9119\u975E\u98DB\u9F3B\u56AC\u5B2A\u5F6C\u658C\u6AB3\u6BAF\u6D5C\u6FF1\u7015\u725D\u73AD\u8CA7\u8CD3\u983B\u6191\u6C37\u8058\u9A01\u4E4D\u4E8B\u4E9B\u4ED5\u4F3A\u4F3C\u4F7F\u4FDF\u50FF\u53F2\u53F8\u5506\u55E3\u56DB\u58EB\u5962\u5A11\u5BEB\u5BFA\u5C04\u5DF3\u5E2B\u5F99\u601D\u6368\u659C\u65AF\u67F6\u67FB\u68AD\u6B7B\u6C99\u6CD7\u6E23\u7009\u7345\u7802\u793E\u7940\u7960\u79C1\u7BE9\u7D17\u7D72\u8086\u820D\u838E\u84D1\u86C7\u88DF\u8A50\u8A5E\u8B1D\u8CDC\u8D66\u8FAD\u90AA\u98FC\u99DF\u9E9D\u524A\uF969\u6714\uF96A"], + ["dfa1", "\u5098\u522A\u5C71\u6563\u6C55\u73CA\u7523\u759D\u7B97\u849C\u9178\u9730\u4E77\u6492\u6BBA\u715E\u85A9\u4E09\uF96B\u6749\u68EE\u6E17\u829F\u8518\u886B\u63F7\u6F81\u9212\u98AF\u4E0A\u50B7\u50CF\u511F\u5546\u55AA\u5617\u5B40\u5C19\u5CE0\u5E38\u5E8A\u5EA0\u5EC2\u60F3\u6851\u6A61\u6E58\u723D\u7240\u72C0\u76F8\u7965\u7BB1\u7FD4\u88F3\u89F4\u8A73\u8C61\u8CDE\u971C\u585E\u74BD\u8CFD\u55C7\uF96C\u7A61\u7D22\u8272\u7272\u751F\u7525\uF96D\u7B19\u5885\u58FB\u5DBC\u5E8F\u5EB6\u5F90\u6055\u6292\u637F\u654D\u6691\u66D9\u66F8\u6816\u68F2\u7280\u745E\u7B6E\u7D6E\u7DD6\u7F72"], + ["e0a1", "\u80E5\u8212\u85AF\u897F\u8A93\u901D\u92E4\u9ECD\u9F20\u5915\u596D\u5E2D\u60DC\u6614\u6673\u6790\u6C50\u6DC5\u6F5F\u77F3\u78A9\u84C6\u91CB\u932B\u4ED9\u50CA\u5148\u5584\u5B0B\u5BA3\u6247\u657E\u65CB\u6E32\u717D\u7401\u7444\u7487\u74BF\u766C\u79AA\u7DDA\u7E55\u7FA8\u817A\u81B3\u8239\u861A\u87EC\u8A75\u8DE3\u9078\u9291\u9425\u994D\u9BAE\u5368\u5C51\u6954\u6CC4\u6D29\u6E2B\u820C\u859B\u893B\u8A2D\u8AAA\u96EA\u9F67\u5261\u66B9\u6BB2\u7E96\u87FE\u8D0D\u9583\u965D\u651D\u6D89\u71EE\uF96E\u57CE\u59D3\u5BAC\u6027\u60FA\u6210\u661F\u665F\u7329\u73F9\u76DB\u7701\u7B6C"], + ["e1a1", "\u8056\u8072\u8165\u8AA0\u9192\u4E16\u52E2\u6B72\u6D17\u7A05\u7B39\u7D30\uF96F\u8CB0\u53EC\u562F\u5851\u5BB5\u5C0F\u5C11\u5DE2\u6240\u6383\u6414\u662D\u68B3\u6CBC\u6D88\u6EAF\u701F\u70A4\u71D2\u7526\u758F\u758E\u7619\u7B11\u7BE0\u7C2B\u7D20\u7D39\u852C\u856D\u8607\u8A34\u900D\u9061\u90B5\u92B7\u97F6\u9A37\u4FD7\u5C6C\u675F\u6D91\u7C9F\u7E8C\u8B16\u8D16\u901F\u5B6B\u5DFD\u640D\u84C0\u905C\u98E1\u7387\u5B8B\u609A\u677E\u6DDE\u8A1F\u8AA6\u9001\u980C\u5237\uF970\u7051\u788E\u9396\u8870\u91D7\u4FEE\u53D7\u55FD\u56DA\u5782\u58FD\u5AC2\u5B88\u5CAB\u5CC0\u5E25\u6101"], + ["e2a1", "\u620D\u624B\u6388\u641C\u6536\u6578\u6A39\u6B8A\u6C34\u6D19\u6F31\u71E7\u72E9\u7378\u7407\u74B2\u7626\u7761\u79C0\u7A57\u7AEA\u7CB9\u7D8F\u7DAC\u7E61\u7F9E\u8129\u8331\u8490\u84DA\u85EA\u8896\u8AB0\u8B90\u8F38\u9042\u9083\u916C\u9296\u92B9\u968B\u96A7\u96A8\u96D6\u9700\u9808\u9996\u9AD3\u9B1A\u53D4\u587E\u5919\u5B70\u5BBF\u6DD1\u6F5A\u719F\u7421\u74B9\u8085\u83FD\u5DE1\u5F87\u5FAA\u6042\u65EC\u6812\u696F\u6A53\u6B89\u6D35\u6DF3\u73E3\u76FE\u77AC\u7B4D\u7D14\u8123\u821C\u8340\u84F4\u8563\u8A62\u8AC4\u9187\u931E\u9806\u99B4\u620C\u8853\u8FF0\u9265\u5D07\u5D27"], + ["e3a1", "\u5D69\u745F\u819D\u8768\u6FD5\u62FE\u7FD2\u8936\u8972\u4E1E\u4E58\u50E7\u52DD\u5347\u627F\u6607\u7E69\u8805\u965E\u4F8D\u5319\u5636\u59CB\u5AA4\u5C38\u5C4E\u5C4D\u5E02\u5F11\u6043\u65BD\u662F\u6642\u67BE\u67F4\u731C\u77E2\u793A\u7FC5\u8494\u84CD\u8996\u8A66\u8A69\u8AE1\u8C55\u8C7A\u57F4\u5BD4\u5F0F\u606F\u62ED\u690D\u6B96\u6E5C\u7184\u7BD2\u8755\u8B58\u8EFE\u98DF\u98FE\u4F38\u4F81\u4FE1\u547B\u5A20\u5BB8\u613C\u65B0\u6668\u71FC\u7533\u795E\u7D33\u814E\u81E3\u8398\u85AA\u85CE\u8703\u8A0A\u8EAB\u8F9B\uF971\u8FC5\u5931\u5BA4\u5BE6\u6089\u5BE9\u5C0B\u5FC3\u6C81"], + ["e4a1", "\uF972\u6DF1\u700B\u751A\u82AF\u8AF6\u4EC0\u5341\uF973\u96D9\u6C0F\u4E9E\u4FC4\u5152\u555E\u5A25\u5CE8\u6211\u7259\u82BD\u83AA\u86FE\u8859\u8A1D\u963F\u96C5\u9913\u9D09\u9D5D\u580A\u5CB3\u5DBD\u5E44\u60E1\u6115\u63E1\u6A02\u6E25\u9102\u9354\u984E\u9C10\u9F77\u5B89\u5CB8\u6309\u664F\u6848\u773C\u96C1\u978D\u9854\u9B9F\u65A1\u8B01\u8ECB\u95BC\u5535\u5CA9\u5DD6\u5EB5\u6697\u764C\u83F4\u95C7\u58D3\u62BC\u72CE\u9D28\u4EF0\u592E\u600F\u663B\u6B83\u79E7\u9D26\u5393\u54C0\u57C3\u5D16\u611B\u66D6\u6DAF\u788D\u827E\u9698\u9744\u5384\u627C\u6396\u6DB2\u7E0A\u814B\u984D"], + ["e5a1", "\u6AFB\u7F4C\u9DAF\u9E1A\u4E5F\u503B\u51B6\u591C\u60F9\u63F6\u6930\u723A\u8036\uF974\u91CE\u5F31\uF975\uF976\u7D04\u82E5\u846F\u84BB\u85E5\u8E8D\uF977\u4F6F\uF978\uF979\u58E4\u5B43\u6059\u63DA\u6518\u656D\u6698\uF97A\u694A\u6A23\u6D0B\u7001\u716C\u75D2\u760D\u79B3\u7A70\uF97B\u7F8A\uF97C\u8944\uF97D\u8B93\u91C0\u967D\uF97E\u990A\u5704\u5FA1\u65BC\u6F01\u7600\u79A6\u8A9E\u99AD\u9B5A\u9F6C\u5104\u61B6\u6291\u6A8D\u81C6\u5043\u5830\u5F66\u7109\u8A00\u8AFA\u5B7C\u8616\u4FFA\u513C\u56B4\u5944\u63A9\u6DF9\u5DAA\u696D\u5186\u4E88\u4F59\uF97F\uF980\uF981\u5982\uF982"], + ["e6a1", "\uF983\u6B5F\u6C5D\uF984\u74B5\u7916\uF985\u8207\u8245\u8339\u8F3F\u8F5D\uF986\u9918\uF987\uF988\uF989\u4EA6\uF98A\u57DF\u5F79\u6613\uF98B\uF98C\u75AB\u7E79\u8B6F\uF98D\u9006\u9A5B\u56A5\u5827\u59F8\u5A1F\u5BB4\uF98E\u5EF6\uF98F\uF990\u6350\u633B\uF991\u693D\u6C87\u6CBF\u6D8E\u6D93\u6DF5\u6F14\uF992\u70DF\u7136\u7159\uF993\u71C3\u71D5\uF994\u784F\u786F\uF995\u7B75\u7DE3\uF996\u7E2F\uF997\u884D\u8EDF\uF998\uF999\uF99A\u925B\uF99B\u9CF6\uF99C\uF99D\uF99E\u6085\u6D85\uF99F\u71B1\uF9A0\uF9A1\u95B1\u53AD\uF9A2\uF9A3\uF9A4\u67D3\uF9A5\u708E\u7130\u7430\u8276\u82D2"], + ["e7a1", "\uF9A6\u95BB\u9AE5\u9E7D\u66C4\uF9A7\u71C1\u8449\uF9A8\uF9A9\u584B\uF9AA\uF9AB\u5DB8\u5F71\uF9AC\u6620\u668E\u6979\u69AE\u6C38\u6CF3\u6E36\u6F41\u6FDA\u701B\u702F\u7150\u71DF\u7370\uF9AD\u745B\uF9AE\u74D4\u76C8\u7A4E\u7E93\uF9AF\uF9B0\u82F1\u8A60\u8FCE\uF9B1\u9348\uF9B2\u9719\uF9B3\uF9B4\u4E42\u502A\uF9B5\u5208\u53E1\u66F3\u6C6D\u6FCA\u730A\u777F\u7A62\u82AE\u85DD\u8602\uF9B6\u88D4\u8A63\u8B7D\u8C6B\uF9B7\u92B3\uF9B8\u9713\u9810\u4E94\u4F0D\u4FC9\u50B2\u5348\u543E\u5433\u55DA\u5862\u58BA\u5967\u5A1B\u5BE4\u609F\uF9B9\u61CA\u6556\u65FF\u6664\u68A7\u6C5A\u6FB3"], + ["e8a1", "\u70CF\u71AC\u7352\u7B7D\u8708\u8AA4\u9C32\u9F07\u5C4B\u6C83\u7344\u7389\u923A\u6EAB\u7465\u761F\u7A69\u7E15\u860A\u5140\u58C5\u64C1\u74EE\u7515\u7670\u7FC1\u9095\u96CD\u9954\u6E26\u74E6\u7AA9\u7AAA\u81E5\u86D9\u8778\u8A1B\u5A49\u5B8C\u5B9B\u68A1\u6900\u6D63\u73A9\u7413\u742C\u7897\u7DE9\u7FEB\u8118\u8155\u839E\u8C4C\u962E\u9811\u66F0\u5F80\u65FA\u6789\u6C6A\u738B\u502D\u5A03\u6B6A\u77EE\u5916\u5D6C\u5DCD\u7325\u754F\uF9BA\uF9BB\u50E5\u51F9\u582F\u592D\u5996\u59DA\u5BE5\uF9BC\uF9BD\u5DA2\u62D7\u6416\u6493\u64FE\uF9BE\u66DC\uF9BF\u6A48\uF9C0\u71FF\u7464\uF9C1"], + ["e9a1", "\u7A88\u7AAF\u7E47\u7E5E\u8000\u8170\uF9C2\u87EF\u8981\u8B20\u9059\uF9C3\u9080\u9952\u617E\u6B32\u6D74\u7E1F\u8925\u8FB1\u4FD1\u50AD\u5197\u52C7\u57C7\u5889\u5BB9\u5EB8\u6142\u6995\u6D8C\u6E67\u6EB6\u7194\u7462\u7528\u752C\u8073\u8338\u84C9\u8E0A\u9394\u93DE\uF9C4\u4E8E\u4F51\u5076\u512A\u53C8\u53CB\u53F3\u5B87\u5BD3\u5C24\u611A\u6182\u65F4\u725B\u7397\u7440\u76C2\u7950\u7991\u79B9\u7D06\u7FBD\u828B\u85D5\u865E\u8FC2\u9047\u90F5\u91EA\u9685\u96E8\u96E9\u52D6\u5F67\u65ED\u6631\u682F\u715C\u7A36\u90C1\u980A\u4E91\uF9C5\u6A52\u6B9E\u6F90\u7189\u8018\u82B8\u8553"], + ["eaa1", "\u904B\u9695\u96F2\u97FB\u851A\u9B31\u4E90\u718A\u96C4\u5143\u539F\u54E1\u5713\u5712\u57A3\u5A9B\u5AC4\u5BC3\u6028\u613F\u63F4\u6C85\u6D39\u6E72\u6E90\u7230\u733F\u7457\u82D1\u8881\u8F45\u9060\uF9C6\u9662\u9858\u9D1B\u6708\u8D8A\u925E\u4F4D\u5049\u50DE\u5371\u570D\u59D4\u5A01\u5C09\u6170\u6690\u6E2D\u7232\u744B\u7DEF\u80C3\u840E\u8466\u853F\u875F\u885B\u8918\u8B02\u9055\u97CB\u9B4F\u4E73\u4F91\u5112\u516A\uF9C7\u552F\u55A9\u5B7A\u5BA5\u5E7C\u5E7D\u5EBE\u60A0\u60DF\u6108\u6109\u63C4\u6538\u6709\uF9C8\u67D4\u67DA\uF9C9\u6961\u6962\u6CB9\u6D27\uF9CA\u6E38\uF9CB"], + ["eba1", "\u6FE1\u7336\u7337\uF9CC\u745C\u7531\uF9CD\u7652\uF9CE\uF9CF\u7DAD\u81FE\u8438\u88D5\u8A98\u8ADB\u8AED\u8E30\u8E42\u904A\u903E\u907A\u9149\u91C9\u936E\uF9D0\uF9D1\u5809\uF9D2\u6BD3\u8089\u80B2\uF9D3\uF9D4\u5141\u596B\u5C39\uF9D5\uF9D6\u6F64\u73A7\u80E4\u8D07\uF9D7\u9217\u958F\uF9D8\uF9D9\uF9DA\uF9DB\u807F\u620E\u701C\u7D68\u878D\uF9DC\u57A0\u6069\u6147\u6BB7\u8ABE\u9280\u96B1\u4E59\u541F\u6DEB\u852D\u9670\u97F3\u98EE\u63D6\u6CE3\u9091\u51DD\u61C9\u81BA\u9DF9\u4F9D\u501A\u5100\u5B9C\u610F\u61FF\u64EC\u6905\u6BC5\u7591\u77E3\u7FA9\u8264\u858F\u87FB\u8863\u8ABC"], + ["eca1", "\u8B70\u91AB\u4E8C\u4EE5\u4F0A\uF9DD\uF9DE\u5937\u59E8\uF9DF\u5DF2\u5F1B\u5F5B\u6021\uF9E0\uF9E1\uF9E2\uF9E3\u723E\u73E5\uF9E4\u7570\u75CD\uF9E5\u79FB\uF9E6\u800C\u8033\u8084\u82E1\u8351\uF9E7\uF9E8\u8CBD\u8CB3\u9087\uF9E9\uF9EA\u98F4\u990C\uF9EB\uF9EC\u7037\u76CA\u7FCA\u7FCC\u7FFC\u8B1A\u4EBA\u4EC1\u5203\u5370\uF9ED\u54BD\u56E0\u59FB\u5BC5\u5F15\u5FCD\u6E6E\uF9EE\uF9EF\u7D6A\u8335\uF9F0\u8693\u8A8D\uF9F1\u976D\u9777\uF9F2\uF9F3\u4E00\u4F5A\u4F7E\u58F9\u65E5\u6EA2\u9038\u93B0\u99B9\u4EFB\u58EC\u598A\u59D9\u6041\uF9F4\uF9F5\u7A14\uF9F6\u834F\u8CC3\u5165\u5344"], + ["eda1", "\uF9F7\uF9F8\uF9F9\u4ECD\u5269\u5B55\u82BF\u4ED4\u523A\u54A8\u59C9\u59FF\u5B50\u5B57\u5B5C\u6063\u6148\u6ECB\u7099\u716E\u7386\u74F7\u75B5\u78C1\u7D2B\u8005\u81EA\u8328\u8517\u85C9\u8AEE\u8CC7\u96CC\u4F5C\u52FA\u56BC\u65AB\u6628\u707C\u70B8\u7235\u7DBD\u828D\u914C\u96C0\u9D72\u5B71\u68E7\u6B98\u6F7A\u76DE\u5C91\u66AB\u6F5B\u7BB4\u7C2A\u8836\u96DC\u4E08\u4ED7\u5320\u5834\u58BB\u58EF\u596C\u5C07\u5E33\u5E84\u5F35\u638C\u66B2\u6756\u6A1F\u6AA3\u6B0C\u6F3F\u7246\uF9FA\u7350\u748B\u7AE0\u7CA7\u8178\u81DF\u81E7\u838A\u846C\u8523\u8594\u85CF\u88DD\u8D13\u91AC\u9577"], + ["eea1", "\u969C\u518D\u54C9\u5728\u5BB0\u624D\u6750\u683D\u6893\u6E3D\u6ED3\u707D\u7E21\u88C1\u8CA1\u8F09\u9F4B\u9F4E\u722D\u7B8F\u8ACD\u931A\u4F47\u4F4E\u5132\u5480\u59D0\u5E95\u62B5\u6775\u696E\u6A17\u6CAE\u6E1A\u72D9\u732A\u75BD\u7BB8\u7D35\u82E7\u83F9\u8457\u85F7\u8A5B\u8CAF\u8E87\u9019\u90B8\u96CE\u9F5F\u52E3\u540A\u5AE1\u5BC2\u6458\u6575\u6EF4\u72C4\uF9FB\u7684\u7A4D\u7B1B\u7C4D\u7E3E\u7FDF\u837B\u8B2B\u8CCA\u8D64\u8DE1\u8E5F\u8FEA\u8FF9\u9069\u93D1\u4F43\u4F7A\u50B3\u5168\u5178\u524D\u526A\u5861\u587C\u5960\u5C08\u5C55\u5EDB\u609B\u6230\u6813\u6BBF\u6C08\u6FB1"], + ["efa1", "\u714E\u7420\u7530\u7538\u7551\u7672\u7B4C\u7B8B\u7BAD\u7BC6\u7E8F\u8A6E\u8F3E\u8F49\u923F\u9293\u9322\u942B\u96FB\u985A\u986B\u991E\u5207\u622A\u6298\u6D59\u7664\u7ACA\u7BC0\u7D76\u5360\u5CBE\u5E97\u6F38\u70B9\u7C98\u9711\u9B8E\u9EDE\u63A5\u647A\u8776\u4E01\u4E95\u4EAD\u505C\u5075\u5448\u59C3\u5B9A\u5E40\u5EAD\u5EF7\u5F81\u60C5\u633A\u653F\u6574\u65CC\u6676\u6678\u67FE\u6968\u6A89\u6B63\u6C40\u6DC0\u6DE8\u6E1F\u6E5E\u701E\u70A1\u738E\u73FD\u753A\u775B\u7887\u798E\u7A0B\u7A7D\u7CBE\u7D8E\u8247\u8A02\u8AEA\u8C9E\u912D\u914A\u91D8\u9266\u92CC\u9320\u9706\u9756"], + ["f0a1", "\u975C\u9802\u9F0E\u5236\u5291\u557C\u5824\u5E1D\u5F1F\u608C\u63D0\u68AF\u6FDF\u796D\u7B2C\u81CD\u85BA\u88FD\u8AF8\u8E44\u918D\u9664\u969B\u973D\u984C\u9F4A\u4FCE\u5146\u51CB\u52A9\u5632\u5F14\u5F6B\u63AA\u64CD\u65E9\u6641\u66FA\u66F9\u671D\u689D\u68D7\u69FD\u6F15\u6F6E\u7167\u71E5\u722A\u74AA\u773A\u7956\u795A\u79DF\u7A20\u7A95\u7C97\u7CDF\u7D44\u7E70\u8087\u85FB\u86A4\u8A54\u8ABF\u8D99\u8E81\u9020\u906D\u91E3\u963B\u96D5\u9CE5\u65CF\u7C07\u8DB3\u93C3\u5B58\u5C0A\u5352\u62D9\u731D\u5027\u5B97\u5F9E\u60B0\u616B\u68D5\u6DD9\u742E\u7A2E\u7D42\u7D9C\u7E31\u816B"], + ["f1a1", "\u8E2A\u8E35\u937E\u9418\u4F50\u5750\u5DE6\u5EA7\u632B\u7F6A\u4E3B\u4F4F\u4F8F\u505A\u59DD\u80C4\u546A\u5468\u55FE\u594F\u5B99\u5DDE\u5EDA\u665D\u6731\u67F1\u682A\u6CE8\u6D32\u6E4A\u6F8D\u70B7\u73E0\u7587\u7C4C\u7D02\u7D2C\u7DA2\u821F\u86DB\u8A3B\u8A85\u8D70\u8E8A\u8F33\u9031\u914E\u9152\u9444\u99D0\u7AF9\u7CA5\u4FCA\u5101\u51C6\u57C8\u5BEF\u5CFB\u6659\u6A3D\u6D5A\u6E96\u6FEC\u710C\u756F\u7AE3\u8822\u9021\u9075\u96CB\u99FF\u8301\u4E2D\u4EF2\u8846\u91CD\u537D\u6ADB\u696B\u6C41\u847A\u589E\u618E\u66FE\u62EF\u70DD\u7511\u75C7\u7E52\u84B8\u8B49\u8D08\u4E4B\u53EA"], + ["f2a1", "\u54AB\u5730\u5740\u5FD7\u6301\u6307\u646F\u652F\u65E8\u667A\u679D\u67B3\u6B62\u6C60\u6C9A\u6F2C\u77E5\u7825\u7949\u7957\u7D19\u80A2\u8102\u81F3\u829D\u82B7\u8718\u8A8C\uF9FC\u8D04\u8DBE\u9072\u76F4\u7A19\u7A37\u7E54\u8077\u5507\u55D4\u5875\u632F\u6422\u6649\u664B\u686D\u699B\u6B84\u6D25\u6EB1\u73CD\u7468\u74A1\u755B\u75B9\u76E1\u771E\u778B\u79E6\u7E09\u7E1D\u81FB\u852F\u8897\u8A3A\u8CD1\u8EEB\u8FB0\u9032\u93AD\u9663\u9673\u9707\u4F84\u53F1\u59EA\u5AC9\u5E19\u684E\u74C6\u75BE\u79E9\u7A92\u81A3\u86ED\u8CEA\u8DCC\u8FED\u659F\u6715\uF9FD\u57F7\u6F57\u7DDD\u8F2F"], + ["f3a1", "\u93F6\u96C6\u5FB5\u61F2\u6F84\u4E14\u4F98\u501F\u53C9\u55DF\u5D6F\u5DEE\u6B21\u6B64\u78CB\u7B9A\uF9FE\u8E49\u8ECA\u906E\u6349\u643E\u7740\u7A84\u932F\u947F\u9F6A\u64B0\u6FAF\u71E6\u74A8\u74DA\u7AC4\u7C12\u7E82\u7CB2\u7E98\u8B9A\u8D0A\u947D\u9910\u994C\u5239\u5BDF\u64E6\u672D\u7D2E\u50ED\u53C3\u5879\u6158\u6159\u61FA\u65AC\u7AD9\u8B92\u8B96\u5009\u5021\u5275\u5531\u5A3C\u5EE0\u5F70\u6134\u655E\u660C\u6636\u66A2\u69CD\u6EC4\u6F32\u7316\u7621\u7A93\u8139\u8259\u83D6\u84BC\u50B5\u57F0\u5BC0\u5BE8\u5F69\u63A1\u7826\u7DB5\u83DC\u8521\u91C7\u91F5\u518A\u67F5\u7B56"], + ["f4a1", "\u8CAC\u51C4\u59BB\u60BD\u8655\u501C\uF9FF\u5254\u5C3A\u617D\u621A\u62D3\u64F2\u65A5\u6ECC\u7620\u810A\u8E60\u965F\u96BB\u4EDF\u5343\u5598\u5929\u5DDD\u64C5\u6CC9\u6DFA\u7394\u7A7F\u821B\u85A6\u8CE4\u8E10\u9077\u91E7\u95E1\u9621\u97C6\u51F8\u54F2\u5586\u5FB9\u64A4\u6F88\u7DB4\u8F1F\u8F4D\u9435\u50C9\u5C16\u6CBE\u6DFB\u751B\u77BB\u7C3D\u7C64\u8A79\u8AC2\u581E\u59BE\u5E16\u6377\u7252\u758A\u776B\u8ADC\u8CBC\u8F12\u5EF3\u6674\u6DF8\u807D\u83C1\u8ACB\u9751\u9BD6\uFA00\u5243\u66FF\u6D95\u6EEF\u7DE0\u8AE6\u902E\u905E\u9AD4\u521D\u527F\u54E8\u6194\u6284\u62DB\u68A2"], + ["f5a1", "\u6912\u695A\u6A35\u7092\u7126\u785D\u7901\u790E\u79D2\u7A0D\u8096\u8278\u82D5\u8349\u8549\u8C82\u8D85\u9162\u918B\u91AE\u4FC3\u56D1\u71ED\u77D7\u8700\u89F8\u5BF8\u5FD6\u6751\u90A8\u53E2\u585A\u5BF5\u60A4\u6181\u6460\u7E3D\u8070\u8525\u9283\u64AE\u50AC\u5D14\u6700\u589C\u62BD\u63A8\u690E\u6978\u6A1E\u6E6B\u76BA\u79CB\u82BB\u8429\u8ACF\u8DA8\u8FFD\u9112\u914B\u919C\u9310\u9318\u939A\u96DB\u9A36\u9C0D\u4E11\u755C\u795D\u7AFA\u7B51\u7BC9\u7E2E\u84C4\u8E59\u8E74\u8EF8\u9010\u6625\u693F\u7443\u51FA\u672E\u9EDC\u5145\u5FE0\u6C96\u87F2\u885D\u8877\u60B4\u81B5\u8403"], + ["f6a1", "\u8D05\u53D6\u5439\u5634\u5A36\u5C31\u708A\u7FE0\u805A\u8106\u81ED\u8DA3\u9189\u9A5F\u9DF2\u5074\u4EC4\u53A0\u60FB\u6E2C\u5C64\u4F88\u5024\u55E4\u5CD9\u5E5F\u6065\u6894\u6CBB\u6DC4\u71BE\u75D4\u75F4\u7661\u7A1A\u7A49\u7DC7\u7DFB\u7F6E\u81F4\u86A9\u8F1C\u96C9\u99B3\u9F52\u5247\u52C5\u98ED\u89AA\u4E03\u67D2\u6F06\u4FB5\u5BE2\u6795\u6C88\u6D78\u741B\u7827\u91DD\u937C\u87C4\u79E4\u7A31\u5FEB\u4ED6\u54A4\u553E\u58AE\u59A5\u60F0\u6253\u62D6\u6736\u6955\u8235\u9640\u99B1\u99DD\u502C\u5353\u5544\u577C\uFA01\u6258\uFA02\u64E2\u666B\u67DD\u6FC1\u6FEF\u7422\u7438\u8A17"], + ["f7a1", "\u9438\u5451\u5606\u5766\u5F48\u619A\u6B4E\u7058\u70AD\u7DBB\u8A95\u596A\u812B\u63A2\u7708\u803D\u8CAA\u5854\u642D\u69BB\u5B95\u5E11\u6E6F\uFA03\u8569\u514C\u53F0\u592A\u6020\u614B\u6B86\u6C70\u6CF0\u7B1E\u80CE\u82D4\u8DC6\u90B0\u98B1\uFA04\u64C7\u6FA4\u6491\u6504\u514E\u5410\u571F\u8A0E\u615F\u6876\uFA05\u75DB\u7B52\u7D71\u901A\u5806\u69CC\u817F\u892A\u9000\u9839\u5078\u5957\u59AC\u6295\u900F\u9B2A\u615D\u7279\u95D6\u5761\u5A46\u5DF4\u628A\u64AD\u64FA\u6777\u6CE2\u6D3E\u722C\u7436\u7834\u7F77\u82AD\u8DDB\u9817\u5224\u5742\u677F\u7248\u74E3\u8CA9\u8FA6\u9211"], + ["f8a1", "\u962A\u516B\u53ED\u634C\u4F69\u5504\u6096\u6557\u6C9B\u6D7F\u724C\u72FD\u7A17\u8987\u8C9D\u5F6D\u6F8E\u70F9\u81A8\u610E\u4FBF\u504F\u6241\u7247\u7BC7\u7DE8\u7FE9\u904D\u97AD\u9A19\u8CB6\u576A\u5E73\u67B0\u840D\u8A55\u5420\u5B16\u5E63\u5EE2\u5F0A\u6583\u80BA\u853D\u9589\u965B\u4F48\u5305\u530D\u530F\u5486\u54FA\u5703\u5E03\u6016\u629B\u62B1\u6355\uFA06\u6CE1\u6D66\u75B1\u7832\u80DE\u812F\u82DE\u8461\u84B2\u888D\u8912\u900B\u92EA\u98FD\u9B91\u5E45\u66B4\u66DD\u7011\u7206\uFA07\u4FF5\u527D\u5F6A\u6153\u6753\u6A19\u6F02\u74E2\u7968\u8868\u8C79\u98C7\u98C4\u9A43"], + ["f9a1", "\u54C1\u7A1F\u6953\u8AF7\u8C4A\u98A8\u99AE\u5F7C\u62AB\u75B2\u76AE\u88AB\u907F\u9642\u5339\u5F3C\u5FC5\u6CCC\u73CC\u7562\u758B\u7B46\u82FE\u999D\u4E4F\u903C\u4E0B\u4F55\u53A6\u590F\u5EC8\u6630\u6CB3\u7455\u8377\u8766\u8CC0\u9050\u971E\u9C15\u58D1\u5B78\u8650\u8B14\u9DB4\u5BD2\u6068\u608D\u65F1\u6C57\u6F22\u6FA3\u701A\u7F55\u7FF0\u9591\u9592\u9650\u97D3\u5272\u8F44\u51FD\u542B\u54B8\u5563\u558A\u6ABB\u6DB5\u7DD8\u8266\u929C\u9677\u9E79\u5408\u54C8\u76D2\u86E4\u95A4\u95D4\u965C\u4EA2\u4F09\u59EE\u5AE6\u5DF7\u6052\u6297\u676D\u6841\u6C86\u6E2F\u7F38\u809B\u822A"], + ["faa1", "\uFA08\uFA09\u9805\u4EA5\u5055\u54B3\u5793\u595A\u5B69\u5BB3\u61C8\u6977\u6D77\u7023\u87F9\u89E3\u8A72\u8AE7\u9082\u99ED\u9AB8\u52BE\u6838\u5016\u5E78\u674F\u8347\u884C\u4EAB\u5411\u56AE\u73E6\u9115\u97FF\u9909\u9957\u9999\u5653\u589F\u865B\u8A31\u61B2\u6AF6\u737B\u8ED2\u6B47\u96AA\u9A57\u5955\u7200\u8D6B\u9769\u4FD4\u5CF4\u5F26\u61F8\u665B\u6CEB\u70AB\u7384\u73B9\u73FE\u7729\u774D\u7D43\u7D62\u7E23\u8237\u8852\uFA0A\u8CE2\u9249\u986F\u5B51\u7A74\u8840\u9801\u5ACC\u4FE0\u5354\u593E\u5CFD\u633E\u6D79\u72F9\u8105\u8107\u83A2\u92CF\u9830\u4EA8\u5144\u5211\u578B"], + ["fba1", "\u5F62\u6CC2\u6ECE\u7005\u7050\u70AF\u7192\u73E9\u7469\u834A\u87A2\u8861\u9008\u90A2\u93A3\u99A8\u516E\u5F57\u60E0\u6167\u66B3\u8559\u8E4A\u91AF\u978B\u4E4E\u4E92\u547C\u58D5\u58FA\u597D\u5CB5\u5F27\u6236\u6248\u660A\u6667\u6BEB\u6D69\u6DCF\u6E56\u6EF8\u6F94\u6FE0\u6FE9\u705D\u72D0\u7425\u745A\u74E0\u7693\u795C\u7CCA\u7E1E\u80E1\u82A6\u846B\u84BF\u864E\u865F\u8774\u8B77\u8C6A\u93AC\u9800\u9865\u60D1\u6216\u9177\u5A5A\u660F\u6DF7\u6E3E\u743F\u9B42\u5FFD\u60DA\u7B0F\u54C4\u5F18\u6C5E\u6CD3\u6D2A\u70D8\u7D05\u8679\u8A0C\u9D3B\u5316\u548C\u5B05\u6A3A\u706B\u7575"], + ["fca1", "\u798D\u79BE\u82B1\u83EF\u8A71\u8B41\u8CA8\u9774\uFA0B\u64F4\u652B\u78BA\u78BB\u7A6B\u4E38\u559A\u5950\u5BA6\u5E7B\u60A3\u63DB\u6B61\u6665\u6853\u6E19\u7165\u74B0\u7D08\u9084\u9A69\u9C25\u6D3B\u6ED1\u733E\u8C41\u95CA\u51F0\u5E4C\u5FA8\u604D\u60F6\u6130\u614C\u6643\u6644\u69A5\u6CC1\u6E5F\u6EC9\u6F62\u714C\u749C\u7687\u7BC1\u7C27\u8352\u8757\u9051\u968D\u9EC3\u532F\u56DE\u5EFB\u5F8A\u6062\u6094\u61F7\u6666\u6703\u6A9C\u6DEE\u6FAE\u7070\u736A\u7E6A\u81BE\u8334\u86D4\u8AA8\u8CC4\u5283\u7372\u5B96\u6A6B\u9404\u54EE\u5686\u5B5D\u6548\u6585\u66C9\u689F\u6D8D\u6DC6"], + ["fda1", "\u723B\u80B4\u9175\u9A4D\u4FAF\u5019\u539A\u540E\u543C\u5589\u55C5\u5E3F\u5F8C\u673D\u7166\u73DD\u9005\u52DB\u52F3\u5864\u58CE\u7104\u718F\u71FB\u85B0\u8A13\u6688\u85A8\u55A7\u6684\u714A\u8431\u5349\u5599\u6BC1\u5F59\u5FBD\u63EE\u6689\u7147\u8AF1\u8F1D\u9EBE\u4F11\u643A\u70CB\u7566\u8667\u6064\u8B4E\u9DF8\u5147\u51F6\u5308\u6D36\u80F8\u9ED1\u6615\u6B23\u7098\u75D5\u5403\u5C79\u7D07\u8A16\u6B20\u6B3D\u6B46\u5438\u6070\u6D3D\u7FD5\u8208\u50D6\u51DE\u559C\u566B\u56CD\u59EC\u5B09\u5E0C\u6199\u6198\u6231\u665E\u66E6\u7199\u71B9\u71BA\u72A7\u79A7\u7A00\u7FB2\u8A70"] + ]; + } +}); +var require_cp950 = __commonJS2({ + "node_modules/raw-body/node_modules/iconv-lite/encodings/tables/cp950.json"(exports2, module2) { + module2.exports = [ + ["0", "\0", 127], + ["a140", "\u3000\uFF0C\u3001\u3002\uFF0E\u2027\uFF1B\uFF1A\uFF1F\uFF01\uFE30\u2026\u2025\uFE50\uFE51\uFE52\xB7\uFE54\uFE55\uFE56\uFE57\uFF5C\u2013\uFE31\u2014\uFE33\u2574\uFE34\uFE4F\uFF08\uFF09\uFE35\uFE36\uFF5B\uFF5D\uFE37\uFE38\u3014\u3015\uFE39\uFE3A\u3010\u3011\uFE3B\uFE3C\u300A\u300B\uFE3D\uFE3E\u3008\u3009\uFE3F\uFE40\u300C\u300D\uFE41\uFE42\u300E\u300F\uFE43\uFE44\uFE59\uFE5A"], + ["a1a1", "\uFE5B\uFE5C\uFE5D\uFE5E\u2018\u2019\u201C\u201D\u301D\u301E\u2035\u2032\uFF03\uFF06\uFF0A\u203B\xA7\u3003\u25CB\u25CF\u25B3\u25B2\u25CE\u2606\u2605\u25C7\u25C6\u25A1\u25A0\u25BD\u25BC\u32A3\u2105\xAF\uFFE3\uFF3F\u02CD\uFE49\uFE4A\uFE4D\uFE4E\uFE4B\uFE4C\uFE5F\uFE60\uFE61\uFF0B\uFF0D\xD7\xF7\xB1\u221A\uFF1C\uFF1E\uFF1D\u2266\u2267\u2260\u221E\u2252\u2261\uFE62", 4, "\uFF5E\u2229\u222A\u22A5\u2220\u221F\u22BF\u33D2\u33D1\u222B\u222E\u2235\u2234\u2640\u2642\u2295\u2299\u2191\u2193\u2190\u2192\u2196\u2197\u2199\u2198\u2225\u2223\uFF0F"], + ["a240", "\uFF3C\u2215\uFE68\uFF04\uFFE5\u3012\uFFE0\uFFE1\uFF05\uFF20\u2103\u2109\uFE69\uFE6A\uFE6B\u33D5\u339C\u339D\u339E\u33CE\u33A1\u338E\u338F\u33C4\xB0\u5159\u515B\u515E\u515D\u5161\u5163\u55E7\u74E9\u7CCE\u2581", 7, "\u258F\u258E\u258D\u258C\u258B\u258A\u2589\u253C\u2534\u252C\u2524\u251C\u2594\u2500\u2502\u2595\u250C\u2510\u2514\u2518\u256D"], + ["a2a1", "\u256E\u2570\u256F\u2550\u255E\u256A\u2561\u25E2\u25E3\u25E5\u25E4\u2571\u2572\u2573\uFF10", 9, "\u2160", 9, "\u3021", 8, "\u5341\u5344\u5345\uFF21", 25, "\uFF41", 21], + ["a340", "\uFF57\uFF58\uFF59\uFF5A\u0391", 16, "\u03A3", 6, "\u03B1", 16, "\u03C3", 6, "\u3105", 10], + ["a3a1", "\u3110", 25, "\u02D9\u02C9\u02CA\u02C7\u02CB"], + ["a3e1", "\u20AC"], + ["a440", "\u4E00\u4E59\u4E01\u4E03\u4E43\u4E5D\u4E86\u4E8C\u4EBA\u513F\u5165\u516B\u51E0\u5200\u5201\u529B\u5315\u5341\u535C\u53C8\u4E09\u4E0B\u4E08\u4E0A\u4E2B\u4E38\u51E1\u4E45\u4E48\u4E5F\u4E5E\u4E8E\u4EA1\u5140\u5203\u52FA\u5343\u53C9\u53E3\u571F\u58EB\u5915\u5927\u5973\u5B50\u5B51\u5B53\u5BF8\u5C0F\u5C22\u5C38\u5C71\u5DDD\u5DE5\u5DF1\u5DF2\u5DF3\u5DFE\u5E72\u5EFE\u5F0B\u5F13\u624D"], + ["a4a1", "\u4E11\u4E10\u4E0D\u4E2D\u4E30\u4E39\u4E4B\u5C39\u4E88\u4E91\u4E95\u4E92\u4E94\u4EA2\u4EC1\u4EC0\u4EC3\u4EC6\u4EC7\u4ECD\u4ECA\u4ECB\u4EC4\u5143\u5141\u5167\u516D\u516E\u516C\u5197\u51F6\u5206\u5207\u5208\u52FB\u52FE\u52FF\u5316\u5339\u5348\u5347\u5345\u535E\u5384\u53CB\u53CA\u53CD\u58EC\u5929\u592B\u592A\u592D\u5B54\u5C11\u5C24\u5C3A\u5C6F\u5DF4\u5E7B\u5EFF\u5F14\u5F15\u5FC3\u6208\u6236\u624B\u624E\u652F\u6587\u6597\u65A4\u65B9\u65E5\u66F0\u6708\u6728\u6B20\u6B62\u6B79\u6BCB\u6BD4\u6BDB\u6C0F\u6C34\u706B\u722A\u7236\u723B\u7247\u7259\u725B\u72AC\u738B\u4E19"], + ["a540", "\u4E16\u4E15\u4E14\u4E18\u4E3B\u4E4D\u4E4F\u4E4E\u4EE5\u4ED8\u4ED4\u4ED5\u4ED6\u4ED7\u4EE3\u4EE4\u4ED9\u4EDE\u5145\u5144\u5189\u518A\u51AC\u51F9\u51FA\u51F8\u520A\u52A0\u529F\u5305\u5306\u5317\u531D\u4EDF\u534A\u5349\u5361\u5360\u536F\u536E\u53BB\u53EF\u53E4\u53F3\u53EC\u53EE\u53E9\u53E8\u53FC\u53F8\u53F5\u53EB\u53E6\u53EA\u53F2\u53F1\u53F0\u53E5\u53ED\u53FB\u56DB\u56DA\u5916"], + ["a5a1", "\u592E\u5931\u5974\u5976\u5B55\u5B83\u5C3C\u5DE8\u5DE7\u5DE6\u5E02\u5E03\u5E73\u5E7C\u5F01\u5F18\u5F17\u5FC5\u620A\u6253\u6254\u6252\u6251\u65A5\u65E6\u672E\u672C\u672A\u672B\u672D\u6B63\u6BCD\u6C11\u6C10\u6C38\u6C41\u6C40\u6C3E\u72AF\u7384\u7389\u74DC\u74E6\u7518\u751F\u7528\u7529\u7530\u7531\u7532\u7533\u758B\u767D\u76AE\u76BF\u76EE\u77DB\u77E2\u77F3\u793A\u79BE\u7A74\u7ACB\u4E1E\u4E1F\u4E52\u4E53\u4E69\u4E99\u4EA4\u4EA6\u4EA5\u4EFF\u4F09\u4F19\u4F0A\u4F15\u4F0D\u4F10\u4F11\u4F0F\u4EF2\u4EF6\u4EFB\u4EF0\u4EF3\u4EFD\u4F01\u4F0B\u5149\u5147\u5146\u5148\u5168"], + ["a640", "\u5171\u518D\u51B0\u5217\u5211\u5212\u520E\u5216\u52A3\u5308\u5321\u5320\u5370\u5371\u5409\u540F\u540C\u540A\u5410\u5401\u540B\u5404\u5411\u540D\u5408\u5403\u540E\u5406\u5412\u56E0\u56DE\u56DD\u5733\u5730\u5728\u572D\u572C\u572F\u5729\u5919\u591A\u5937\u5938\u5984\u5978\u5983\u597D\u5979\u5982\u5981\u5B57\u5B58\u5B87\u5B88\u5B85\u5B89\u5BFA\u5C16\u5C79\u5DDE\u5E06\u5E76\u5E74"], + ["a6a1", "\u5F0F\u5F1B\u5FD9\u5FD6\u620E\u620C\u620D\u6210\u6263\u625B\u6258\u6536\u65E9\u65E8\u65EC\u65ED\u66F2\u66F3\u6709\u673D\u6734\u6731\u6735\u6B21\u6B64\u6B7B\u6C16\u6C5D\u6C57\u6C59\u6C5F\u6C60\u6C50\u6C55\u6C61\u6C5B\u6C4D\u6C4E\u7070\u725F\u725D\u767E\u7AF9\u7C73\u7CF8\u7F36\u7F8A\u7FBD\u8001\u8003\u800C\u8012\u8033\u807F\u8089\u808B\u808C\u81E3\u81EA\u81F3\u81FC\u820C\u821B\u821F\u826E\u8272\u827E\u866B\u8840\u884C\u8863\u897F\u9621\u4E32\u4EA8\u4F4D\u4F4F\u4F47\u4F57\u4F5E\u4F34\u4F5B\u4F55\u4F30\u4F50\u4F51\u4F3D\u4F3A\u4F38\u4F43\u4F54\u4F3C\u4F46\u4F63"], + ["a740", "\u4F5C\u4F60\u4F2F\u4F4E\u4F36\u4F59\u4F5D\u4F48\u4F5A\u514C\u514B\u514D\u5175\u51B6\u51B7\u5225\u5224\u5229\u522A\u5228\u52AB\u52A9\u52AA\u52AC\u5323\u5373\u5375\u541D\u542D\u541E\u543E\u5426\u544E\u5427\u5446\u5443\u5433\u5448\u5442\u541B\u5429\u544A\u5439\u543B\u5438\u542E\u5435\u5436\u5420\u543C\u5440\u5431\u542B\u541F\u542C\u56EA\u56F0\u56E4\u56EB\u574A\u5751\u5740\u574D"], + ["a7a1", "\u5747\u574E\u573E\u5750\u574F\u573B\u58EF\u593E\u599D\u5992\u59A8\u599E\u59A3\u5999\u5996\u598D\u59A4\u5993\u598A\u59A5\u5B5D\u5B5C\u5B5A\u5B5B\u5B8C\u5B8B\u5B8F\u5C2C\u5C40\u5C41\u5C3F\u5C3E\u5C90\u5C91\u5C94\u5C8C\u5DEB\u5E0C\u5E8F\u5E87\u5E8A\u5EF7\u5F04\u5F1F\u5F64\u5F62\u5F77\u5F79\u5FD8\u5FCC\u5FD7\u5FCD\u5FF1\u5FEB\u5FF8\u5FEA\u6212\u6211\u6284\u6297\u6296\u6280\u6276\u6289\u626D\u628A\u627C\u627E\u6279\u6273\u6292\u626F\u6298\u626E\u6295\u6293\u6291\u6286\u6539\u653B\u6538\u65F1\u66F4\u675F\u674E\u674F\u6750\u6751\u675C\u6756\u675E\u6749\u6746\u6760"], + ["a840", "\u6753\u6757\u6B65\u6BCF\u6C42\u6C5E\u6C99\u6C81\u6C88\u6C89\u6C85\u6C9B\u6C6A\u6C7A\u6C90\u6C70\u6C8C\u6C68\u6C96\u6C92\u6C7D\u6C83\u6C72\u6C7E\u6C74\u6C86\u6C76\u6C8D\u6C94\u6C98\u6C82\u7076\u707C\u707D\u7078\u7262\u7261\u7260\u72C4\u72C2\u7396\u752C\u752B\u7537\u7538\u7682\u76EF\u77E3\u79C1\u79C0\u79BF\u7A76\u7CFB\u7F55\u8096\u8093\u809D\u8098\u809B\u809A\u80B2\u826F\u8292"], + ["a8a1", "\u828B\u828D\u898B\u89D2\u8A00\u8C37\u8C46\u8C55\u8C9D\u8D64\u8D70\u8DB3\u8EAB\u8ECA\u8F9B\u8FB0\u8FC2\u8FC6\u8FC5\u8FC4\u5DE1\u9091\u90A2\u90AA\u90A6\u90A3\u9149\u91C6\u91CC\u9632\u962E\u9631\u962A\u962C\u4E26\u4E56\u4E73\u4E8B\u4E9B\u4E9E\u4EAB\u4EAC\u4F6F\u4F9D\u4F8D\u4F73\u4F7F\u4F6C\u4F9B\u4F8B\u4F86\u4F83\u4F70\u4F75\u4F88\u4F69\u4F7B\u4F96\u4F7E\u4F8F\u4F91\u4F7A\u5154\u5152\u5155\u5169\u5177\u5176\u5178\u51BD\u51FD\u523B\u5238\u5237\u523A\u5230\u522E\u5236\u5241\u52BE\u52BB\u5352\u5354\u5353\u5351\u5366\u5377\u5378\u5379\u53D6\u53D4\u53D7\u5473\u5475"], + ["a940", "\u5496\u5478\u5495\u5480\u547B\u5477\u5484\u5492\u5486\u547C\u5490\u5471\u5476\u548C\u549A\u5462\u5468\u548B\u547D\u548E\u56FA\u5783\u5777\u576A\u5769\u5761\u5766\u5764\u577C\u591C\u5949\u5947\u5948\u5944\u5954\u59BE\u59BB\u59D4\u59B9\u59AE\u59D1\u59C6\u59D0\u59CD\u59CB\u59D3\u59CA\u59AF\u59B3\u59D2\u59C5\u5B5F\u5B64\u5B63\u5B97\u5B9A\u5B98\u5B9C\u5B99\u5B9B\u5C1A\u5C48\u5C45"], + ["a9a1", "\u5C46\u5CB7\u5CA1\u5CB8\u5CA9\u5CAB\u5CB1\u5CB3\u5E18\u5E1A\u5E16\u5E15\u5E1B\u5E11\u5E78\u5E9A\u5E97\u5E9C\u5E95\u5E96\u5EF6\u5F26\u5F27\u5F29\u5F80\u5F81\u5F7F\u5F7C\u5FDD\u5FE0\u5FFD\u5FF5\u5FFF\u600F\u6014\u602F\u6035\u6016\u602A\u6015\u6021\u6027\u6029\u602B\u601B\u6216\u6215\u623F\u623E\u6240\u627F\u62C9\u62CC\u62C4\u62BF\u62C2\u62B9\u62D2\u62DB\u62AB\u62D3\u62D4\u62CB\u62C8\u62A8\u62BD\u62BC\u62D0\u62D9\u62C7\u62CD\u62B5\u62DA\u62B1\u62D8\u62D6\u62D7\u62C6\u62AC\u62CE\u653E\u65A7\u65BC\u65FA\u6614\u6613\u660C\u6606\u6602\u660E\u6600\u660F\u6615\u660A"], + ["aa40", "\u6607\u670D\u670B\u676D\u678B\u6795\u6771\u679C\u6773\u6777\u6787\u679D\u6797\u676F\u6770\u677F\u6789\u677E\u6790\u6775\u679A\u6793\u677C\u676A\u6772\u6B23\u6B66\u6B67\u6B7F\u6C13\u6C1B\u6CE3\u6CE8\u6CF3\u6CB1\u6CCC\u6CE5\u6CB3\u6CBD\u6CBE\u6CBC\u6CE2\u6CAB\u6CD5\u6CD3\u6CB8\u6CC4\u6CB9\u6CC1\u6CAE\u6CD7\u6CC5\u6CF1\u6CBF\u6CBB\u6CE1\u6CDB\u6CCA\u6CAC\u6CEF\u6CDC\u6CD6\u6CE0"], + ["aaa1", "\u7095\u708E\u7092\u708A\u7099\u722C\u722D\u7238\u7248\u7267\u7269\u72C0\u72CE\u72D9\u72D7\u72D0\u73A9\u73A8\u739F\u73AB\u73A5\u753D\u759D\u7599\u759A\u7684\u76C2\u76F2\u76F4\u77E5\u77FD\u793E\u7940\u7941\u79C9\u79C8\u7A7A\u7A79\u7AFA\u7CFE\u7F54\u7F8C\u7F8B\u8005\u80BA\u80A5\u80A2\u80B1\u80A1\u80AB\u80A9\u80B4\u80AA\u80AF\u81E5\u81FE\u820D\u82B3\u829D\u8299\u82AD\u82BD\u829F\u82B9\u82B1\u82AC\u82A5\u82AF\u82B8\u82A3\u82B0\u82BE\u82B7\u864E\u8671\u521D\u8868\u8ECB\u8FCE\u8FD4\u8FD1\u90B5\u90B8\u90B1\u90B6\u91C7\u91D1\u9577\u9580\u961C\u9640\u963F\u963B\u9644"], + ["ab40", "\u9642\u96B9\u96E8\u9752\u975E\u4E9F\u4EAD\u4EAE\u4FE1\u4FB5\u4FAF\u4FBF\u4FE0\u4FD1\u4FCF\u4FDD\u4FC3\u4FB6\u4FD8\u4FDF\u4FCA\u4FD7\u4FAE\u4FD0\u4FC4\u4FC2\u4FDA\u4FCE\u4FDE\u4FB7\u5157\u5192\u5191\u51A0\u524E\u5243\u524A\u524D\u524C\u524B\u5247\u52C7\u52C9\u52C3\u52C1\u530D\u5357\u537B\u539A\u53DB\u54AC\u54C0\u54A8\u54CE\u54C9\u54B8\u54A6\u54B3\u54C7\u54C2\u54BD\u54AA\u54C1"], + ["aba1", "\u54C4\u54C8\u54AF\u54AB\u54B1\u54BB\u54A9\u54A7\u54BF\u56FF\u5782\u578B\u57A0\u57A3\u57A2\u57CE\u57AE\u5793\u5955\u5951\u594F\u594E\u5950\u59DC\u59D8\u59FF\u59E3\u59E8\u5A03\u59E5\u59EA\u59DA\u59E6\u5A01\u59FB\u5B69\u5BA3\u5BA6\u5BA4\u5BA2\u5BA5\u5C01\u5C4E\u5C4F\u5C4D\u5C4B\u5CD9\u5CD2\u5DF7\u5E1D\u5E25\u5E1F\u5E7D\u5EA0\u5EA6\u5EFA\u5F08\u5F2D\u5F65\u5F88\u5F85\u5F8A\u5F8B\u5F87\u5F8C\u5F89\u6012\u601D\u6020\u6025\u600E\u6028\u604D\u6070\u6068\u6062\u6046\u6043\u606C\u606B\u606A\u6064\u6241\u62DC\u6316\u6309\u62FC\u62ED\u6301\u62EE\u62FD\u6307\u62F1\u62F7"], + ["ac40", "\u62EF\u62EC\u62FE\u62F4\u6311\u6302\u653F\u6545\u65AB\u65BD\u65E2\u6625\u662D\u6620\u6627\u662F\u661F\u6628\u6631\u6624\u66F7\u67FF\u67D3\u67F1\u67D4\u67D0\u67EC\u67B6\u67AF\u67F5\u67E9\u67EF\u67C4\u67D1\u67B4\u67DA\u67E5\u67B8\u67CF\u67DE\u67F3\u67B0\u67D9\u67E2\u67DD\u67D2\u6B6A\u6B83\u6B86\u6BB5\u6BD2\u6BD7\u6C1F\u6CC9\u6D0B\u6D32\u6D2A\u6D41\u6D25\u6D0C\u6D31\u6D1E\u6D17"], + ["aca1", "\u6D3B\u6D3D\u6D3E\u6D36\u6D1B\u6CF5\u6D39\u6D27\u6D38\u6D29\u6D2E\u6D35\u6D0E\u6D2B\u70AB\u70BA\u70B3\u70AC\u70AF\u70AD\u70B8\u70AE\u70A4\u7230\u7272\u726F\u7274\u72E9\u72E0\u72E1\u73B7\u73CA\u73BB\u73B2\u73CD\u73C0\u73B3\u751A\u752D\u754F\u754C\u754E\u754B\u75AB\u75A4\u75A5\u75A2\u75A3\u7678\u7686\u7687\u7688\u76C8\u76C6\u76C3\u76C5\u7701\u76F9\u76F8\u7709\u770B\u76FE\u76FC\u7707\u77DC\u7802\u7814\u780C\u780D\u7946\u7949\u7948\u7947\u79B9\u79BA\u79D1\u79D2\u79CB\u7A7F\u7A81\u7AFF\u7AFD\u7C7D\u7D02\u7D05\u7D00\u7D09\u7D07\u7D04\u7D06\u7F38\u7F8E\u7FBF\u8004"], + ["ad40", "\u8010\u800D\u8011\u8036\u80D6\u80E5\u80DA\u80C3\u80C4\u80CC\u80E1\u80DB\u80CE\u80DE\u80E4\u80DD\u81F4\u8222\u82E7\u8303\u8305\u82E3\u82DB\u82E6\u8304\u82E5\u8302\u8309\u82D2\u82D7\u82F1\u8301\u82DC\u82D4\u82D1\u82DE\u82D3\u82DF\u82EF\u8306\u8650\u8679\u867B\u867A\u884D\u886B\u8981\u89D4\u8A08\u8A02\u8A03\u8C9E\u8CA0\u8D74\u8D73\u8DB4\u8ECD\u8ECC\u8FF0\u8FE6\u8FE2\u8FEA\u8FE5"], + ["ada1", "\u8FED\u8FEB\u8FE4\u8FE8\u90CA\u90CE\u90C1\u90C3\u914B\u914A\u91CD\u9582\u9650\u964B\u964C\u964D\u9762\u9769\u97CB\u97ED\u97F3\u9801\u98A8\u98DB\u98DF\u9996\u9999\u4E58\u4EB3\u500C\u500D\u5023\u4FEF\u5026\u5025\u4FF8\u5029\u5016\u5006\u503C\u501F\u501A\u5012\u5011\u4FFA\u5000\u5014\u5028\u4FF1\u5021\u500B\u5019\u5018\u4FF3\u4FEE\u502D\u502A\u4FFE\u502B\u5009\u517C\u51A4\u51A5\u51A2\u51CD\u51CC\u51C6\u51CB\u5256\u525C\u5254\u525B\u525D\u532A\u537F\u539F\u539D\u53DF\u54E8\u5510\u5501\u5537\u54FC\u54E5\u54F2\u5506\u54FA\u5514\u54E9\u54ED\u54E1\u5509\u54EE\u54EA"], + ["ae40", "\u54E6\u5527\u5507\u54FD\u550F\u5703\u5704\u57C2\u57D4\u57CB\u57C3\u5809\u590F\u5957\u5958\u595A\u5A11\u5A18\u5A1C\u5A1F\u5A1B\u5A13\u59EC\u5A20\u5A23\u5A29\u5A25\u5A0C\u5A09\u5B6B\u5C58\u5BB0\u5BB3\u5BB6\u5BB4\u5BAE\u5BB5\u5BB9\u5BB8\u5C04\u5C51\u5C55\u5C50\u5CED\u5CFD\u5CFB\u5CEA\u5CE8\u5CF0\u5CF6\u5D01\u5CF4\u5DEE\u5E2D\u5E2B\u5EAB\u5EAD\u5EA7\u5F31\u5F92\u5F91\u5F90\u6059"], + ["aea1", "\u6063\u6065\u6050\u6055\u606D\u6069\u606F\u6084\u609F\u609A\u608D\u6094\u608C\u6085\u6096\u6247\u62F3\u6308\u62FF\u634E\u633E\u632F\u6355\u6342\u6346\u634F\u6349\u633A\u6350\u633D\u632A\u632B\u6328\u634D\u634C\u6548\u6549\u6599\u65C1\u65C5\u6642\u6649\u664F\u6643\u6652\u664C\u6645\u6641\u66F8\u6714\u6715\u6717\u6821\u6838\u6848\u6846\u6853\u6839\u6842\u6854\u6829\u68B3\u6817\u684C\u6851\u683D\u67F4\u6850\u6840\u683C\u6843\u682A\u6845\u6813\u6818\u6841\u6B8A\u6B89\u6BB7\u6C23\u6C27\u6C28\u6C26\u6C24\u6CF0\u6D6A\u6D95\u6D88\u6D87\u6D66\u6D78\u6D77\u6D59\u6D93"], + ["af40", "\u6D6C\u6D89\u6D6E\u6D5A\u6D74\u6D69\u6D8C\u6D8A\u6D79\u6D85\u6D65\u6D94\u70CA\u70D8\u70E4\u70D9\u70C8\u70CF\u7239\u7279\u72FC\u72F9\u72FD\u72F8\u72F7\u7386\u73ED\u7409\u73EE\u73E0\u73EA\u73DE\u7554\u755D\u755C\u755A\u7559\u75BE\u75C5\u75C7\u75B2\u75B3\u75BD\u75BC\u75B9\u75C2\u75B8\u768B\u76B0\u76CA\u76CD\u76CE\u7729\u771F\u7720\u7728\u77E9\u7830\u7827\u7838\u781D\u7834\u7837"], + ["afa1", "\u7825\u782D\u7820\u781F\u7832\u7955\u7950\u7960\u795F\u7956\u795E\u795D\u7957\u795A\u79E4\u79E3\u79E7\u79DF\u79E6\u79E9\u79D8\u7A84\u7A88\u7AD9\u7B06\u7B11\u7C89\u7D21\u7D17\u7D0B\u7D0A\u7D20\u7D22\u7D14\u7D10\u7D15\u7D1A\u7D1C\u7D0D\u7D19\u7D1B\u7F3A\u7F5F\u7F94\u7FC5\u7FC1\u8006\u8018\u8015\u8019\u8017\u803D\u803F\u80F1\u8102\u80F0\u8105\u80ED\u80F4\u8106\u80F8\u80F3\u8108\u80FD\u810A\u80FC\u80EF\u81ED\u81EC\u8200\u8210\u822A\u822B\u8228\u822C\u82BB\u832B\u8352\u8354\u834A\u8338\u8350\u8349\u8335\u8334\u834F\u8332\u8339\u8336\u8317\u8340\u8331\u8328\u8343"], + ["b040", "\u8654\u868A\u86AA\u8693\u86A4\u86A9\u868C\u86A3\u869C\u8870\u8877\u8881\u8882\u887D\u8879\u8A18\u8A10\u8A0E\u8A0C\u8A15\u8A0A\u8A17\u8A13\u8A16\u8A0F\u8A11\u8C48\u8C7A\u8C79\u8CA1\u8CA2\u8D77\u8EAC\u8ED2\u8ED4\u8ECF\u8FB1\u9001\u9006\u8FF7\u9000\u8FFA\u8FF4\u9003\u8FFD\u9005\u8FF8\u9095\u90E1\u90DD\u90E2\u9152\u914D\u914C\u91D8\u91DD\u91D7\u91DC\u91D9\u9583\u9662\u9663\u9661"], + ["b0a1", "\u965B\u965D\u9664\u9658\u965E\u96BB\u98E2\u99AC\u9AA8\u9AD8\u9B25\u9B32\u9B3C\u4E7E\u507A\u507D\u505C\u5047\u5043\u504C\u505A\u5049\u5065\u5076\u504E\u5055\u5075\u5074\u5077\u504F\u500F\u506F\u506D\u515C\u5195\u51F0\u526A\u526F\u52D2\u52D9\u52D8\u52D5\u5310\u530F\u5319\u533F\u5340\u533E\u53C3\u66FC\u5546\u556A\u5566\u5544\u555E\u5561\u5543\u554A\u5531\u5556\u554F\u5555\u552F\u5564\u5538\u552E\u555C\u552C\u5563\u5533\u5541\u5557\u5708\u570B\u5709\u57DF\u5805\u580A\u5806\u57E0\u57E4\u57FA\u5802\u5835\u57F7\u57F9\u5920\u5962\u5A36\u5A41\u5A49\u5A66\u5A6A\u5A40"], + ["b140", "\u5A3C\u5A62\u5A5A\u5A46\u5A4A\u5B70\u5BC7\u5BC5\u5BC4\u5BC2\u5BBF\u5BC6\u5C09\u5C08\u5C07\u5C60\u5C5C\u5C5D\u5D07\u5D06\u5D0E\u5D1B\u5D16\u5D22\u5D11\u5D29\u5D14\u5D19\u5D24\u5D27\u5D17\u5DE2\u5E38\u5E36\u5E33\u5E37\u5EB7\u5EB8\u5EB6\u5EB5\u5EBE\u5F35\u5F37\u5F57\u5F6C\u5F69\u5F6B\u5F97\u5F99\u5F9E\u5F98\u5FA1\u5FA0\u5F9C\u607F\u60A3\u6089\u60A0\u60A8\u60CB\u60B4\u60E6\u60BD"], + ["b1a1", "\u60C5\u60BB\u60B5\u60DC\u60BC\u60D8\u60D5\u60C6\u60DF\u60B8\u60DA\u60C7\u621A\u621B\u6248\u63A0\u63A7\u6372\u6396\u63A2\u63A5\u6377\u6367\u6398\u63AA\u6371\u63A9\u6389\u6383\u639B\u636B\u63A8\u6384\u6388\u6399\u63A1\u63AC\u6392\u638F\u6380\u637B\u6369\u6368\u637A\u655D\u6556\u6551\u6559\u6557\u555F\u654F\u6558\u6555\u6554\u659C\u659B\u65AC\u65CF\u65CB\u65CC\u65CE\u665D\u665A\u6664\u6668\u6666\u665E\u66F9\u52D7\u671B\u6881\u68AF\u68A2\u6893\u68B5\u687F\u6876\u68B1\u68A7\u6897\u68B0\u6883\u68C4\u68AD\u6886\u6885\u6894\u689D\u68A8\u689F\u68A1\u6882\u6B32\u6BBA"], + ["b240", "\u6BEB\u6BEC\u6C2B\u6D8E\u6DBC\u6DF3\u6DD9\u6DB2\u6DE1\u6DCC\u6DE4\u6DFB\u6DFA\u6E05\u6DC7\u6DCB\u6DAF\u6DD1\u6DAE\u6DDE\u6DF9\u6DB8\u6DF7\u6DF5\u6DC5\u6DD2\u6E1A\u6DB5\u6DDA\u6DEB\u6DD8\u6DEA\u6DF1\u6DEE\u6DE8\u6DC6\u6DC4\u6DAA\u6DEC\u6DBF\u6DE6\u70F9\u7109\u710A\u70FD\u70EF\u723D\u727D\u7281\u731C\u731B\u7316\u7313\u7319\u7387\u7405\u740A\u7403\u7406\u73FE\u740D\u74E0\u74F6"], + ["b2a1", "\u74F7\u751C\u7522\u7565\u7566\u7562\u7570\u758F\u75D4\u75D5\u75B5\u75CA\u75CD\u768E\u76D4\u76D2\u76DB\u7737\u773E\u773C\u7736\u7738\u773A\u786B\u7843\u784E\u7965\u7968\u796D\u79FB\u7A92\u7A95\u7B20\u7B28\u7B1B\u7B2C\u7B26\u7B19\u7B1E\u7B2E\u7C92\u7C97\u7C95\u7D46\u7D43\u7D71\u7D2E\u7D39\u7D3C\u7D40\u7D30\u7D33\u7D44\u7D2F\u7D42\u7D32\u7D31\u7F3D\u7F9E\u7F9A\u7FCC\u7FCE\u7FD2\u801C\u804A\u8046\u812F\u8116\u8123\u812B\u8129\u8130\u8124\u8202\u8235\u8237\u8236\u8239\u838E\u839E\u8398\u8378\u83A2\u8396\u83BD\u83AB\u8392\u838A\u8393\u8389\u83A0\u8377\u837B\u837C"], + ["b340", "\u8386\u83A7\u8655\u5F6A\u86C7\u86C0\u86B6\u86C4\u86B5\u86C6\u86CB\u86B1\u86AF\u86C9\u8853\u889E\u8888\u88AB\u8892\u8896\u888D\u888B\u8993\u898F\u8A2A\u8A1D\u8A23\u8A25\u8A31\u8A2D\u8A1F\u8A1B\u8A22\u8C49\u8C5A\u8CA9\u8CAC\u8CAB\u8CA8\u8CAA\u8CA7\u8D67\u8D66\u8DBE\u8DBA\u8EDB\u8EDF\u9019\u900D\u901A\u9017\u9023\u901F\u901D\u9010\u9015\u901E\u9020\u900F\u9022\u9016\u901B\u9014"], + ["b3a1", "\u90E8\u90ED\u90FD\u9157\u91CE\u91F5\u91E6\u91E3\u91E7\u91ED\u91E9\u9589\u966A\u9675\u9673\u9678\u9670\u9674\u9676\u9677\u966C\u96C0\u96EA\u96E9\u7AE0\u7ADF\u9802\u9803\u9B5A\u9CE5\u9E75\u9E7F\u9EA5\u9EBB\u50A2\u508D\u5085\u5099\u5091\u5080\u5096\u5098\u509A\u6700\u51F1\u5272\u5274\u5275\u5269\u52DE\u52DD\u52DB\u535A\u53A5\u557B\u5580\u55A7\u557C\u558A\u559D\u5598\u5582\u559C\u55AA\u5594\u5587\u558B\u5583\u55B3\u55AE\u559F\u553E\u55B2\u559A\u55BB\u55AC\u55B1\u557E\u5589\u55AB\u5599\u570D\u582F\u582A\u5834\u5824\u5830\u5831\u5821\u581D\u5820\u58F9\u58FA\u5960"], + ["b440", "\u5A77\u5A9A\u5A7F\u5A92\u5A9B\u5AA7\u5B73\u5B71\u5BD2\u5BCC\u5BD3\u5BD0\u5C0A\u5C0B\u5C31\u5D4C\u5D50\u5D34\u5D47\u5DFD\u5E45\u5E3D\u5E40\u5E43\u5E7E\u5ECA\u5EC1\u5EC2\u5EC4\u5F3C\u5F6D\u5FA9\u5FAA\u5FA8\u60D1\u60E1\u60B2\u60B6\u60E0\u611C\u6123\u60FA\u6115\u60F0\u60FB\u60F4\u6168\u60F1\u610E\u60F6\u6109\u6100\u6112\u621F\u6249\u63A3\u638C\u63CF\u63C0\u63E9\u63C9\u63C6\u63CD"], + ["b4a1", "\u63D2\u63E3\u63D0\u63E1\u63D6\u63ED\u63EE\u6376\u63F4\u63EA\u63DB\u6452\u63DA\u63F9\u655E\u6566\u6562\u6563\u6591\u6590\u65AF\u666E\u6670\u6674\u6676\u666F\u6691\u667A\u667E\u6677\u66FE\u66FF\u671F\u671D\u68FA\u68D5\u68E0\u68D8\u68D7\u6905\u68DF\u68F5\u68EE\u68E7\u68F9\u68D2\u68F2\u68E3\u68CB\u68CD\u690D\u6912\u690E\u68C9\u68DA\u696E\u68FB\u6B3E\u6B3A\u6B3D\u6B98\u6B96\u6BBC\u6BEF\u6C2E\u6C2F\u6C2C\u6E2F\u6E38\u6E54\u6E21\u6E32\u6E67\u6E4A\u6E20\u6E25\u6E23\u6E1B\u6E5B\u6E58\u6E24\u6E56\u6E6E\u6E2D\u6E26\u6E6F\u6E34\u6E4D\u6E3A\u6E2C\u6E43\u6E1D\u6E3E\u6ECB"], + ["b540", "\u6E89\u6E19\u6E4E\u6E63\u6E44\u6E72\u6E69\u6E5F\u7119\u711A\u7126\u7130\u7121\u7136\u716E\u711C\u724C\u7284\u7280\u7336\u7325\u7334\u7329\u743A\u742A\u7433\u7422\u7425\u7435\u7436\u7434\u742F\u741B\u7426\u7428\u7525\u7526\u756B\u756A\u75E2\u75DB\u75E3\u75D9\u75D8\u75DE\u75E0\u767B\u767C\u7696\u7693\u76B4\u76DC\u774F\u77ED\u785D\u786C\u786F\u7A0D\u7A08\u7A0B\u7A05\u7A00\u7A98"], + ["b5a1", "\u7A97\u7A96\u7AE5\u7AE3\u7B49\u7B56\u7B46\u7B50\u7B52\u7B54\u7B4D\u7B4B\u7B4F\u7B51\u7C9F\u7CA5\u7D5E\u7D50\u7D68\u7D55\u7D2B\u7D6E\u7D72\u7D61\u7D66\u7D62\u7D70\u7D73\u5584\u7FD4\u7FD5\u800B\u8052\u8085\u8155\u8154\u814B\u8151\u814E\u8139\u8146\u813E\u814C\u8153\u8174\u8212\u821C\u83E9\u8403\u83F8\u840D\u83E0\u83C5\u840B\u83C1\u83EF\u83F1\u83F4\u8457\u840A\u83F0\u840C\u83CC\u83FD\u83F2\u83CA\u8438\u840E\u8404\u83DC\u8407\u83D4\u83DF\u865B\u86DF\u86D9\u86ED\u86D4\u86DB\u86E4\u86D0\u86DE\u8857\u88C1\u88C2\u88B1\u8983\u8996\u8A3B\u8A60\u8A55\u8A5E\u8A3C\u8A41"], + ["b640", "\u8A54\u8A5B\u8A50\u8A46\u8A34\u8A3A\u8A36\u8A56\u8C61\u8C82\u8CAF\u8CBC\u8CB3\u8CBD\u8CC1\u8CBB\u8CC0\u8CB4\u8CB7\u8CB6\u8CBF\u8CB8\u8D8A\u8D85\u8D81\u8DCE\u8DDD\u8DCB\u8DDA\u8DD1\u8DCC\u8DDB\u8DC6\u8EFB\u8EF8\u8EFC\u8F9C\u902E\u9035\u9031\u9038\u9032\u9036\u9102\u90F5\u9109\u90FE\u9163\u9165\u91CF\u9214\u9215\u9223\u9209\u921E\u920D\u9210\u9207\u9211\u9594\u958F\u958B\u9591"], + ["b6a1", "\u9593\u9592\u958E\u968A\u968E\u968B\u967D\u9685\u9686\u968D\u9672\u9684\u96C1\u96C5\u96C4\u96C6\u96C7\u96EF\u96F2\u97CC\u9805\u9806\u9808\u98E7\u98EA\u98EF\u98E9\u98F2\u98ED\u99AE\u99AD\u9EC3\u9ECD\u9ED1\u4E82\u50AD\u50B5\u50B2\u50B3\u50C5\u50BE\u50AC\u50B7\u50BB\u50AF\u50C7\u527F\u5277\u527D\u52DF\u52E6\u52E4\u52E2\u52E3\u532F\u55DF\u55E8\u55D3\u55E6\u55CE\u55DC\u55C7\u55D1\u55E3\u55E4\u55EF\u55DA\u55E1\u55C5\u55C6\u55E5\u55C9\u5712\u5713\u585E\u5851\u5858\u5857\u585A\u5854\u586B\u584C\u586D\u584A\u5862\u5852\u584B\u5967\u5AC1\u5AC9\u5ACC\u5ABE\u5ABD\u5ABC"], + ["b740", "\u5AB3\u5AC2\u5AB2\u5D69\u5D6F\u5E4C\u5E79\u5EC9\u5EC8\u5F12\u5F59\u5FAC\u5FAE\u611A\u610F\u6148\u611F\u60F3\u611B\u60F9\u6101\u6108\u614E\u614C\u6144\u614D\u613E\u6134\u6127\u610D\u6106\u6137\u6221\u6222\u6413\u643E\u641E\u642A\u642D\u643D\u642C\u640F\u641C\u6414\u640D\u6436\u6416\u6417\u6406\u656C\u659F\u65B0\u6697\u6689\u6687\u6688\u6696\u6684\u6698\u668D\u6703\u6994\u696D"], + ["b7a1", "\u695A\u6977\u6960\u6954\u6975\u6930\u6982\u694A\u6968\u696B\u695E\u6953\u6979\u6986\u695D\u6963\u695B\u6B47\u6B72\u6BC0\u6BBF\u6BD3\u6BFD\u6EA2\u6EAF\u6ED3\u6EB6\u6EC2\u6E90\u6E9D\u6EC7\u6EC5\u6EA5\u6E98\u6EBC\u6EBA\u6EAB\u6ED1\u6E96\u6E9C\u6EC4\u6ED4\u6EAA\u6EA7\u6EB4\u714E\u7159\u7169\u7164\u7149\u7167\u715C\u716C\u7166\u714C\u7165\u715E\u7146\u7168\u7156\u723A\u7252\u7337\u7345\u733F\u733E\u746F\u745A\u7455\u745F\u745E\u7441\u743F\u7459\u745B\u745C\u7576\u7578\u7600\u75F0\u7601\u75F2\u75F1\u75FA\u75FF\u75F4\u75F3\u76DE\u76DF\u775B\u776B\u7766\u775E\u7763"], + ["b840", "\u7779\u776A\u776C\u775C\u7765\u7768\u7762\u77EE\u788E\u78B0\u7897\u7898\u788C\u7889\u787C\u7891\u7893\u787F\u797A\u797F\u7981\u842C\u79BD\u7A1C\u7A1A\u7A20\u7A14\u7A1F\u7A1E\u7A9F\u7AA0\u7B77\u7BC0\u7B60\u7B6E\u7B67\u7CB1\u7CB3\u7CB5\u7D93\u7D79\u7D91\u7D81\u7D8F\u7D5B\u7F6E\u7F69\u7F6A\u7F72\u7FA9\u7FA8\u7FA4\u8056\u8058\u8086\u8084\u8171\u8170\u8178\u8165\u816E\u8173\u816B"], + ["b8a1", "\u8179\u817A\u8166\u8205\u8247\u8482\u8477\u843D\u8431\u8475\u8466\u846B\u8449\u846C\u845B\u843C\u8435\u8461\u8463\u8469\u846D\u8446\u865E\u865C\u865F\u86F9\u8713\u8708\u8707\u8700\u86FE\u86FB\u8702\u8703\u8706\u870A\u8859\u88DF\u88D4\u88D9\u88DC\u88D8\u88DD\u88E1\u88CA\u88D5\u88D2\u899C\u89E3\u8A6B\u8A72\u8A73\u8A66\u8A69\u8A70\u8A87\u8A7C\u8A63\u8AA0\u8A71\u8A85\u8A6D\u8A62\u8A6E\u8A6C\u8A79\u8A7B\u8A3E\u8A68\u8C62\u8C8A\u8C89\u8CCA\u8CC7\u8CC8\u8CC4\u8CB2\u8CC3\u8CC2\u8CC5\u8DE1\u8DDF\u8DE8\u8DEF\u8DF3\u8DFA\u8DEA\u8DE4\u8DE6\u8EB2\u8F03\u8F09\u8EFE\u8F0A"], + ["b940", "\u8F9F\u8FB2\u904B\u904A\u9053\u9042\u9054\u903C\u9055\u9050\u9047\u904F\u904E\u904D\u9051\u903E\u9041\u9112\u9117\u916C\u916A\u9169\u91C9\u9237\u9257\u9238\u923D\u9240\u923E\u925B\u924B\u9264\u9251\u9234\u9249\u924D\u9245\u9239\u923F\u925A\u9598\u9698\u9694\u9695\u96CD\u96CB\u96C9\u96CA\u96F7\u96FB\u96F9\u96F6\u9756\u9774\u9776\u9810\u9811\u9813\u980A\u9812\u980C\u98FC\u98F4"], + ["b9a1", "\u98FD\u98FE\u99B3\u99B1\u99B4\u9AE1\u9CE9\u9E82\u9F0E\u9F13\u9F20\u50E7\u50EE\u50E5\u50D6\u50ED\u50DA\u50D5\u50CF\u50D1\u50F1\u50CE\u50E9\u5162\u51F3\u5283\u5282\u5331\u53AD\u55FE\u5600\u561B\u5617\u55FD\u5614\u5606\u5609\u560D\u560E\u55F7\u5616\u561F\u5608\u5610\u55F6\u5718\u5716\u5875\u587E\u5883\u5893\u588A\u5879\u5885\u587D\u58FD\u5925\u5922\u5924\u596A\u5969\u5AE1\u5AE6\u5AE9\u5AD7\u5AD6\u5AD8\u5AE3\u5B75\u5BDE\u5BE7\u5BE1\u5BE5\u5BE6\u5BE8\u5BE2\u5BE4\u5BDF\u5C0D\u5C62\u5D84\u5D87\u5E5B\u5E63\u5E55\u5E57\u5E54\u5ED3\u5ED6\u5F0A\u5F46\u5F70\u5FB9\u6147"], + ["ba40", "\u613F\u614B\u6177\u6162\u6163\u615F\u615A\u6158\u6175\u622A\u6487\u6458\u6454\u64A4\u6478\u645F\u647A\u6451\u6467\u6434\u646D\u647B\u6572\u65A1\u65D7\u65D6\u66A2\u66A8\u669D\u699C\u69A8\u6995\u69C1\u69AE\u69D3\u69CB\u699B\u69B7\u69BB\u69AB\u69B4\u69D0\u69CD\u69AD\u69CC\u69A6\u69C3\u69A3\u6B49\u6B4C\u6C33\u6F33\u6F14\u6EFE\u6F13\u6EF4\u6F29\u6F3E\u6F20\u6F2C\u6F0F\u6F02\u6F22"], + ["baa1", "\u6EFF\u6EEF\u6F06\u6F31\u6F38\u6F32\u6F23\u6F15\u6F2B\u6F2F\u6F88\u6F2A\u6EEC\u6F01\u6EF2\u6ECC\u6EF7\u7194\u7199\u717D\u718A\u7184\u7192\u723E\u7292\u7296\u7344\u7350\u7464\u7463\u746A\u7470\u746D\u7504\u7591\u7627\u760D\u760B\u7609\u7613\u76E1\u76E3\u7784\u777D\u777F\u7761\u78C1\u789F\u78A7\u78B3\u78A9\u78A3\u798E\u798F\u798D\u7A2E\u7A31\u7AAA\u7AA9\u7AED\u7AEF\u7BA1\u7B95\u7B8B\u7B75\u7B97\u7B9D\u7B94\u7B8F\u7BB8\u7B87\u7B84\u7CB9\u7CBD\u7CBE\u7DBB\u7DB0\u7D9C\u7DBD\u7DBE\u7DA0\u7DCA\u7DB4\u7DB2\u7DB1\u7DBA\u7DA2\u7DBF\u7DB5\u7DB8\u7DAD\u7DD2\u7DC7\u7DAC"], + ["bb40", "\u7F70\u7FE0\u7FE1\u7FDF\u805E\u805A\u8087\u8150\u8180\u818F\u8188\u818A\u817F\u8182\u81E7\u81FA\u8207\u8214\u821E\u824B\u84C9\u84BF\u84C6\u84C4\u8499\u849E\u84B2\u849C\u84CB\u84B8\u84C0\u84D3\u8490\u84BC\u84D1\u84CA\u873F\u871C\u873B\u8722\u8725\u8734\u8718\u8755\u8737\u8729\u88F3\u8902\u88F4\u88F9\u88F8\u88FD\u88E8\u891A\u88EF\u8AA6\u8A8C\u8A9E\u8AA3\u8A8D\u8AA1\u8A93\u8AA4"], + ["bba1", "\u8AAA\u8AA5\u8AA8\u8A98\u8A91\u8A9A\u8AA7\u8C6A\u8C8D\u8C8C\u8CD3\u8CD1\u8CD2\u8D6B\u8D99\u8D95\u8DFC\u8F14\u8F12\u8F15\u8F13\u8FA3\u9060\u9058\u905C\u9063\u9059\u905E\u9062\u905D\u905B\u9119\u9118\u911E\u9175\u9178\u9177\u9174\u9278\u9280\u9285\u9298\u9296\u927B\u9293\u929C\u92A8\u927C\u9291\u95A1\u95A8\u95A9\u95A3\u95A5\u95A4\u9699\u969C\u969B\u96CC\u96D2\u9700\u977C\u9785\u97F6\u9817\u9818\u98AF\u98B1\u9903\u9905\u990C\u9909\u99C1\u9AAF\u9AB0\u9AE6\u9B41\u9B42\u9CF4\u9CF6\u9CF3\u9EBC\u9F3B\u9F4A\u5104\u5100\u50FB\u50F5\u50F9\u5102\u5108\u5109\u5105\u51DC"], + ["bc40", "\u5287\u5288\u5289\u528D\u528A\u52F0\u53B2\u562E\u563B\u5639\u5632\u563F\u5634\u5629\u5653\u564E\u5657\u5674\u5636\u562F\u5630\u5880\u589F\u589E\u58B3\u589C\u58AE\u58A9\u58A6\u596D\u5B09\u5AFB\u5B0B\u5AF5\u5B0C\u5B08\u5BEE\u5BEC\u5BE9\u5BEB\u5C64\u5C65\u5D9D\u5D94\u5E62\u5E5F\u5E61\u5EE2\u5EDA\u5EDF\u5EDD\u5EE3\u5EE0\u5F48\u5F71\u5FB7\u5FB5\u6176\u6167\u616E\u615D\u6155\u6182"], + ["bca1", "\u617C\u6170\u616B\u617E\u61A7\u6190\u61AB\u618E\u61AC\u619A\u61A4\u6194\u61AE\u622E\u6469\u646F\u6479\u649E\u64B2\u6488\u6490\u64B0\u64A5\u6493\u6495\u64A9\u6492\u64AE\u64AD\u64AB\u649A\u64AC\u6499\u64A2\u64B3\u6575\u6577\u6578\u66AE\u66AB\u66B4\u66B1\u6A23\u6A1F\u69E8\u6A01\u6A1E\u6A19\u69FD\u6A21\u6A13\u6A0A\u69F3\u6A02\u6A05\u69ED\u6A11\u6B50\u6B4E\u6BA4\u6BC5\u6BC6\u6F3F\u6F7C\u6F84\u6F51\u6F66\u6F54\u6F86\u6F6D\u6F5B\u6F78\u6F6E\u6F8E\u6F7A\u6F70\u6F64\u6F97\u6F58\u6ED5\u6F6F\u6F60\u6F5F\u719F\u71AC\u71B1\u71A8\u7256\u729B\u734E\u7357\u7469\u748B\u7483"], + ["bd40", "\u747E\u7480\u757F\u7620\u7629\u761F\u7624\u7626\u7621\u7622\u769A\u76BA\u76E4\u778E\u7787\u778C\u7791\u778B\u78CB\u78C5\u78BA\u78CA\u78BE\u78D5\u78BC\u78D0\u7A3F\u7A3C\u7A40\u7A3D\u7A37\u7A3B\u7AAF\u7AAE\u7BAD\u7BB1\u7BC4\u7BB4\u7BC6\u7BC7\u7BC1\u7BA0\u7BCC\u7CCA\u7DE0\u7DF4\u7DEF\u7DFB\u7DD8\u7DEC\u7DDD\u7DE8\u7DE3\u7DDA\u7DDE\u7DE9\u7D9E\u7DD9\u7DF2\u7DF9\u7F75\u7F77\u7FAF"], + ["bda1", "\u7FE9\u8026\u819B\u819C\u819D\u81A0\u819A\u8198\u8517\u853D\u851A\u84EE\u852C\u852D\u8513\u8511\u8523\u8521\u8514\u84EC\u8525\u84FF\u8506\u8782\u8774\u8776\u8760\u8766\u8778\u8768\u8759\u8757\u874C\u8753\u885B\u885D\u8910\u8907\u8912\u8913\u8915\u890A\u8ABC\u8AD2\u8AC7\u8AC4\u8A95\u8ACB\u8AF8\u8AB2\u8AC9\u8AC2\u8ABF\u8AB0\u8AD6\u8ACD\u8AB6\u8AB9\u8ADB\u8C4C\u8C4E\u8C6C\u8CE0\u8CDE\u8CE6\u8CE4\u8CEC\u8CED\u8CE2\u8CE3\u8CDC\u8CEA\u8CE1\u8D6D\u8D9F\u8DA3\u8E2B\u8E10\u8E1D\u8E22\u8E0F\u8E29\u8E1F\u8E21\u8E1E\u8EBA\u8F1D\u8F1B\u8F1F\u8F29\u8F26\u8F2A\u8F1C\u8F1E"], + ["be40", "\u8F25\u9069\u906E\u9068\u906D\u9077\u9130\u912D\u9127\u9131\u9187\u9189\u918B\u9183\u92C5\u92BB\u92B7\u92EA\u92AC\u92E4\u92C1\u92B3\u92BC\u92D2\u92C7\u92F0\u92B2\u95AD\u95B1\u9704\u9706\u9707\u9709\u9760\u978D\u978B\u978F\u9821\u982B\u981C\u98B3\u990A\u9913\u9912\u9918\u99DD\u99D0\u99DF\u99DB\u99D1\u99D5\u99D2\u99D9\u9AB7\u9AEE\u9AEF\u9B27\u9B45\u9B44\u9B77\u9B6F\u9D06\u9D09"], + ["bea1", "\u9D03\u9EA9\u9EBE\u9ECE\u58A8\u9F52\u5112\u5118\u5114\u5110\u5115\u5180\u51AA\u51DD\u5291\u5293\u52F3\u5659\u566B\u5679\u5669\u5664\u5678\u566A\u5668\u5665\u5671\u566F\u566C\u5662\u5676\u58C1\u58BE\u58C7\u58C5\u596E\u5B1D\u5B34\u5B78\u5BF0\u5C0E\u5F4A\u61B2\u6191\u61A9\u618A\u61CD\u61B6\u61BE\u61CA\u61C8\u6230\u64C5\u64C1\u64CB\u64BB\u64BC\u64DA\u64C4\u64C7\u64C2\u64CD\u64BF\u64D2\u64D4\u64BE\u6574\u66C6\u66C9\u66B9\u66C4\u66C7\u66B8\u6A3D\u6A38\u6A3A\u6A59\u6A6B\u6A58\u6A39\u6A44\u6A62\u6A61\u6A4B\u6A47\u6A35\u6A5F\u6A48\u6B59\u6B77\u6C05\u6FC2\u6FB1\u6FA1"], + ["bf40", "\u6FC3\u6FA4\u6FC1\u6FA7\u6FB3\u6FC0\u6FB9\u6FB6\u6FA6\u6FA0\u6FB4\u71BE\u71C9\u71D0\u71D2\u71C8\u71D5\u71B9\u71CE\u71D9\u71DC\u71C3\u71C4\u7368\u749C\u74A3\u7498\u749F\u749E\u74E2\u750C\u750D\u7634\u7638\u763A\u76E7\u76E5\u77A0\u779E\u779F\u77A5\u78E8\u78DA\u78EC\u78E7\u79A6\u7A4D\u7A4E\u7A46\u7A4C\u7A4B\u7ABA\u7BD9\u7C11\u7BC9\u7BE4\u7BDB\u7BE1\u7BE9\u7BE6\u7CD5\u7CD6\u7E0A"], + ["bfa1", "\u7E11\u7E08\u7E1B\u7E23\u7E1E\u7E1D\u7E09\u7E10\u7F79\u7FB2\u7FF0\u7FF1\u7FEE\u8028\u81B3\u81A9\u81A8\u81FB\u8208\u8258\u8259\u854A\u8559\u8548\u8568\u8569\u8543\u8549\u856D\u856A\u855E\u8783\u879F\u879E\u87A2\u878D\u8861\u892A\u8932\u8925\u892B\u8921\u89AA\u89A6\u8AE6\u8AFA\u8AEB\u8AF1\u8B00\u8ADC\u8AE7\u8AEE\u8AFE\u8B01\u8B02\u8AF7\u8AED\u8AF3\u8AF6\u8AFC\u8C6B\u8C6D\u8C93\u8CF4\u8E44\u8E31\u8E34\u8E42\u8E39\u8E35\u8F3B\u8F2F\u8F38\u8F33\u8FA8\u8FA6\u9075\u9074\u9078\u9072\u907C\u907A\u9134\u9192\u9320\u9336\u92F8\u9333\u932F\u9322\u92FC\u932B\u9304\u931A"], + ["c040", "\u9310\u9326\u9321\u9315\u932E\u9319\u95BB\u96A7\u96A8\u96AA\u96D5\u970E\u9711\u9716\u970D\u9713\u970F\u975B\u975C\u9766\u9798\u9830\u9838\u983B\u9837\u982D\u9839\u9824\u9910\u9928\u991E\u991B\u9921\u991A\u99ED\u99E2\u99F1\u9AB8\u9ABC\u9AFB\u9AED\u9B28\u9B91\u9D15\u9D23\u9D26\u9D28\u9D12\u9D1B\u9ED8\u9ED4\u9F8D\u9F9C\u512A\u511F\u5121\u5132\u52F5\u568E\u5680\u5690\u5685\u5687"], + ["c0a1", "\u568F\u58D5\u58D3\u58D1\u58CE\u5B30\u5B2A\u5B24\u5B7A\u5C37\u5C68\u5DBC\u5DBA\u5DBD\u5DB8\u5E6B\u5F4C\u5FBD\u61C9\u61C2\u61C7\u61E6\u61CB\u6232\u6234\u64CE\u64CA\u64D8\u64E0\u64F0\u64E6\u64EC\u64F1\u64E2\u64ED\u6582\u6583\u66D9\u66D6\u6A80\u6A94\u6A84\u6AA2\u6A9C\u6ADB\u6AA3\u6A7E\u6A97\u6A90\u6AA0\u6B5C\u6BAE\u6BDA\u6C08\u6FD8\u6FF1\u6FDF\u6FE0\u6FDB\u6FE4\u6FEB\u6FEF\u6F80\u6FEC\u6FE1\u6FE9\u6FD5\u6FEE\u6FF0\u71E7\u71DF\u71EE\u71E6\u71E5\u71ED\u71EC\u71F4\u71E0\u7235\u7246\u7370\u7372\u74A9\u74B0\u74A6\u74A8\u7646\u7642\u764C\u76EA\u77B3\u77AA\u77B0\u77AC"], + ["c140", "\u77A7\u77AD\u77EF\u78F7\u78FA\u78F4\u78EF\u7901\u79A7\u79AA\u7A57\u7ABF\u7C07\u7C0D\u7BFE\u7BF7\u7C0C\u7BE0\u7CE0\u7CDC\u7CDE\u7CE2\u7CDF\u7CD9\u7CDD\u7E2E\u7E3E\u7E46\u7E37\u7E32\u7E43\u7E2B\u7E3D\u7E31\u7E45\u7E41\u7E34\u7E39\u7E48\u7E35\u7E3F\u7E2F\u7F44\u7FF3\u7FFC\u8071\u8072\u8070\u806F\u8073\u81C6\u81C3\u81BA\u81C2\u81C0\u81BF\u81BD\u81C9\u81BE\u81E8\u8209\u8271\u85AA"], + ["c1a1", "\u8584\u857E\u859C\u8591\u8594\u85AF\u859B\u8587\u85A8\u858A\u8667\u87C0\u87D1\u87B3\u87D2\u87C6\u87AB\u87BB\u87BA\u87C8\u87CB\u893B\u8936\u8944\u8938\u893D\u89AC\u8B0E\u8B17\u8B19\u8B1B\u8B0A\u8B20\u8B1D\u8B04\u8B10\u8C41\u8C3F\u8C73\u8CFA\u8CFD\u8CFC\u8CF8\u8CFB\u8DA8\u8E49\u8E4B\u8E48\u8E4A\u8F44\u8F3E\u8F42\u8F45\u8F3F\u907F\u907D\u9084\u9081\u9082\u9080\u9139\u91A3\u919E\u919C\u934D\u9382\u9328\u9375\u934A\u9365\u934B\u9318\u937E\u936C\u935B\u9370\u935A\u9354\u95CA\u95CB\u95CC\u95C8\u95C6\u96B1\u96B8\u96D6\u971C\u971E\u97A0\u97D3\u9846\u98B6\u9935\u9A01"], + ["c240", "\u99FF\u9BAE\u9BAB\u9BAA\u9BAD\u9D3B\u9D3F\u9E8B\u9ECF\u9EDE\u9EDC\u9EDD\u9EDB\u9F3E\u9F4B\u53E2\u5695\u56AE\u58D9\u58D8\u5B38\u5F5D\u61E3\u6233\u64F4\u64F2\u64FE\u6506\u64FA\u64FB\u64F7\u65B7\u66DC\u6726\u6AB3\u6AAC\u6AC3\u6ABB\u6AB8\u6AC2\u6AAE\u6AAF\u6B5F\u6B78\u6BAF\u7009\u700B\u6FFE\u7006\u6FFA\u7011\u700F\u71FB\u71FC\u71FE\u71F8\u7377\u7375\u74A7\u74BF\u7515\u7656\u7658"], + ["c2a1", "\u7652\u77BD\u77BF\u77BB\u77BC\u790E\u79AE\u7A61\u7A62\u7A60\u7AC4\u7AC5\u7C2B\u7C27\u7C2A\u7C1E\u7C23\u7C21\u7CE7\u7E54\u7E55\u7E5E\u7E5A\u7E61\u7E52\u7E59\u7F48\u7FF9\u7FFB\u8077\u8076\u81CD\u81CF\u820A\u85CF\u85A9\u85CD\u85D0\u85C9\u85B0\u85BA\u85B9\u85A6\u87EF\u87EC\u87F2\u87E0\u8986\u89B2\u89F4\u8B28\u8B39\u8B2C\u8B2B\u8C50\u8D05\u8E59\u8E63\u8E66\u8E64\u8E5F\u8E55\u8EC0\u8F49\u8F4D\u9087\u9083\u9088\u91AB\u91AC\u91D0\u9394\u938A\u9396\u93A2\u93B3\u93AE\u93AC\u93B0\u9398\u939A\u9397\u95D4\u95D6\u95D0\u95D5\u96E2\u96DC\u96D9\u96DB\u96DE\u9724\u97A3\u97A6"], + ["c340", "\u97AD\u97F9\u984D\u984F\u984C\u984E\u9853\u98BA\u993E\u993F\u993D\u992E\u99A5\u9A0E\u9AC1\u9B03\u9B06\u9B4F\u9B4E\u9B4D\u9BCA\u9BC9\u9BFD\u9BC8\u9BC0\u9D51\u9D5D\u9D60\u9EE0\u9F15\u9F2C\u5133\u56A5\u58DE\u58DF\u58E2\u5BF5\u9F90\u5EEC\u61F2\u61F7\u61F6\u61F5\u6500\u650F\u66E0\u66DD\u6AE5\u6ADD\u6ADA\u6AD3\u701B\u701F\u7028\u701A\u701D\u7015\u7018\u7206\u720D\u7258\u72A2\u7378"], + ["c3a1", "\u737A\u74BD\u74CA\u74E3\u7587\u7586\u765F\u7661\u77C7\u7919\u79B1\u7A6B\u7A69\u7C3E\u7C3F\u7C38\u7C3D\u7C37\u7C40\u7E6B\u7E6D\u7E79\u7E69\u7E6A\u7F85\u7E73\u7FB6\u7FB9\u7FB8\u81D8\u85E9\u85DD\u85EA\u85D5\u85E4\u85E5\u85F7\u87FB\u8805\u880D\u87F9\u87FE\u8960\u895F\u8956\u895E\u8B41\u8B5C\u8B58\u8B49\u8B5A\u8B4E\u8B4F\u8B46\u8B59\u8D08\u8D0A\u8E7C\u8E72\u8E87\u8E76\u8E6C\u8E7A\u8E74\u8F54\u8F4E\u8FAD\u908A\u908B\u91B1\u91AE\u93E1\u93D1\u93DF\u93C3\u93C8\u93DC\u93DD\u93D6\u93E2\u93CD\u93D8\u93E4\u93D7\u93E8\u95DC\u96B4\u96E3\u972A\u9727\u9761\u97DC\u97FB\u985E"], + ["c440", "\u9858\u985B\u98BC\u9945\u9949\u9A16\u9A19\u9B0D\u9BE8\u9BE7\u9BD6\u9BDB\u9D89\u9D61\u9D72\u9D6A\u9D6C\u9E92\u9E97\u9E93\u9EB4\u52F8\u56A8\u56B7\u56B6\u56B4\u56BC\u58E4\u5B40\u5B43\u5B7D\u5BF6\u5DC9\u61F8\u61FA\u6518\u6514\u6519\u66E6\u6727\u6AEC\u703E\u7030\u7032\u7210\u737B\u74CF\u7662\u7665\u7926\u792A\u792C\u792B\u7AC7\u7AF6\u7C4C\u7C43\u7C4D\u7CEF\u7CF0\u8FAE\u7E7D\u7E7C"], + ["c4a1", "\u7E82\u7F4C\u8000\u81DA\u8266\u85FB\u85F9\u8611\u85FA\u8606\u860B\u8607\u860A\u8814\u8815\u8964\u89BA\u89F8\u8B70\u8B6C\u8B66\u8B6F\u8B5F\u8B6B\u8D0F\u8D0D\u8E89\u8E81\u8E85\u8E82\u91B4\u91CB\u9418\u9403\u93FD\u95E1\u9730\u98C4\u9952\u9951\u99A8\u9A2B\u9A30\u9A37\u9A35\u9C13\u9C0D\u9E79\u9EB5\u9EE8\u9F2F\u9F5F\u9F63\u9F61\u5137\u5138\u56C1\u56C0\u56C2\u5914\u5C6C\u5DCD\u61FC\u61FE\u651D\u651C\u6595\u66E9\u6AFB\u6B04\u6AFA\u6BB2\u704C\u721B\u72A7\u74D6\u74D4\u7669\u77D3\u7C50\u7E8F\u7E8C\u7FBC\u8617\u862D\u861A\u8823\u8822\u8821\u881F\u896A\u896C\u89BD\u8B74"], + ["c540", "\u8B77\u8B7D\u8D13\u8E8A\u8E8D\u8E8B\u8F5F\u8FAF\u91BA\u942E\u9433\u9435\u943A\u9438\u9432\u942B\u95E2\u9738\u9739\u9732\u97FF\u9867\u9865\u9957\u9A45\u9A43\u9A40\u9A3E\u9ACF\u9B54\u9B51\u9C2D\u9C25\u9DAF\u9DB4\u9DC2\u9DB8\u9E9D\u9EEF\u9F19\u9F5C\u9F66\u9F67\u513C\u513B\u56C8\u56CA\u56C9\u5B7F\u5DD4\u5DD2\u5F4E\u61FF\u6524\u6B0A\u6B61\u7051\u7058\u7380\u74E4\u758A\u766E\u766C"], + ["c5a1", "\u79B3\u7C60\u7C5F\u807E\u807D\u81DF\u8972\u896F\u89FC\u8B80\u8D16\u8D17\u8E91\u8E93\u8F61\u9148\u9444\u9451\u9452\u973D\u973E\u97C3\u97C1\u986B\u9955\u9A55\u9A4D\u9AD2\u9B1A\u9C49\u9C31\u9C3E\u9C3B\u9DD3\u9DD7\u9F34\u9F6C\u9F6A\u9F94\u56CC\u5DD6\u6200\u6523\u652B\u652A\u66EC\u6B10\u74DA\u7ACA\u7C64\u7C63\u7C65\u7E93\u7E96\u7E94\u81E2\u8638\u863F\u8831\u8B8A\u9090\u908F\u9463\u9460\u9464\u9768\u986F\u995C\u9A5A\u9A5B\u9A57\u9AD3\u9AD4\u9AD1\u9C54\u9C57\u9C56\u9DE5\u9E9F\u9EF4\u56D1\u58E9\u652C\u705E\u7671\u7672\u77D7\u7F50\u7F88\u8836\u8839\u8862\u8B93\u8B92"], + ["c640", "\u8B96\u8277\u8D1B\u91C0\u946A\u9742\u9748\u9744\u97C6\u9870\u9A5F\u9B22\u9B58\u9C5F\u9DF9\u9DFA\u9E7C\u9E7D\u9F07\u9F77\u9F72\u5EF3\u6B16\u7063\u7C6C\u7C6E\u883B\u89C0\u8EA1\u91C1\u9472\u9470\u9871\u995E\u9AD6\u9B23\u9ECC\u7064\u77DA\u8B9A\u9477\u97C9\u9A62\u9A65\u7E9C\u8B9C\u8EAA\u91C5\u947D\u947E\u947C\u9C77\u9C78\u9EF7\u8C54\u947F\u9E1A\u7228\u9A6A\u9B31\u9E1B\u9E1E\u7C72"], + ["c940", "\u4E42\u4E5C\u51F5\u531A\u5382\u4E07\u4E0C\u4E47\u4E8D\u56D7\uFA0C\u5C6E\u5F73\u4E0F\u5187\u4E0E\u4E2E\u4E93\u4EC2\u4EC9\u4EC8\u5198\u52FC\u536C\u53B9\u5720\u5903\u592C\u5C10\u5DFF\u65E1\u6BB3\u6BCC\u6C14\u723F\u4E31\u4E3C\u4EE8\u4EDC\u4EE9\u4EE1\u4EDD\u4EDA\u520C\u531C\u534C\u5722\u5723\u5917\u592F\u5B81\u5B84\u5C12\u5C3B\u5C74\u5C73\u5E04\u5E80\u5E82\u5FC9\u6209\u6250\u6C15"], + ["c9a1", "\u6C36\u6C43\u6C3F\u6C3B\u72AE\u72B0\u738A\u79B8\u808A\u961E\u4F0E\u4F18\u4F2C\u4EF5\u4F14\u4EF1\u4F00\u4EF7\u4F08\u4F1D\u4F02\u4F05\u4F22\u4F13\u4F04\u4EF4\u4F12\u51B1\u5213\u5209\u5210\u52A6\u5322\u531F\u534D\u538A\u5407\u56E1\u56DF\u572E\u572A\u5734\u593C\u5980\u597C\u5985\u597B\u597E\u5977\u597F\u5B56\u5C15\u5C25\u5C7C\u5C7A\u5C7B\u5C7E\u5DDF\u5E75\u5E84\u5F02\u5F1A\u5F74\u5FD5\u5FD4\u5FCF\u625C\u625E\u6264\u6261\u6266\u6262\u6259\u6260\u625A\u6265\u65EF\u65EE\u673E\u6739\u6738\u673B\u673A\u673F\u673C\u6733\u6C18\u6C46\u6C52\u6C5C\u6C4F\u6C4A\u6C54\u6C4B"], + ["ca40", "\u6C4C\u7071\u725E\u72B4\u72B5\u738E\u752A\u767F\u7A75\u7F51\u8278\u827C\u8280\u827D\u827F\u864D\u897E\u9099\u9097\u9098\u909B\u9094\u9622\u9624\u9620\u9623\u4F56\u4F3B\u4F62\u4F49\u4F53\u4F64\u4F3E\u4F67\u4F52\u4F5F\u4F41\u4F58\u4F2D\u4F33\u4F3F\u4F61\u518F\u51B9\u521C\u521E\u5221\u52AD\u52AE\u5309\u5363\u5372\u538E\u538F\u5430\u5437\u542A\u5454\u5445\u5419\u541C\u5425\u5418"], + ["caa1", "\u543D\u544F\u5441\u5428\u5424\u5447\u56EE\u56E7\u56E5\u5741\u5745\u574C\u5749\u574B\u5752\u5906\u5940\u59A6\u5998\u59A0\u5997\u598E\u59A2\u5990\u598F\u59A7\u59A1\u5B8E\u5B92\u5C28\u5C2A\u5C8D\u5C8F\u5C88\u5C8B\u5C89\u5C92\u5C8A\u5C86\u5C93\u5C95\u5DE0\u5E0A\u5E0E\u5E8B\u5E89\u5E8C\u5E88\u5E8D\u5F05\u5F1D\u5F78\u5F76\u5FD2\u5FD1\u5FD0\u5FED\u5FE8\u5FEE\u5FF3\u5FE1\u5FE4\u5FE3\u5FFA\u5FEF\u5FF7\u5FFB\u6000\u5FF4\u623A\u6283\u628C\u628E\u628F\u6294\u6287\u6271\u627B\u627A\u6270\u6281\u6288\u6277\u627D\u6272\u6274\u6537\u65F0\u65F4\u65F3\u65F2\u65F5\u6745\u6747"], + ["cb40", "\u6759\u6755\u674C\u6748\u675D\u674D\u675A\u674B\u6BD0\u6C19\u6C1A\u6C78\u6C67\u6C6B\u6C84\u6C8B\u6C8F\u6C71\u6C6F\u6C69\u6C9A\u6C6D\u6C87\u6C95\u6C9C\u6C66\u6C73\u6C65\u6C7B\u6C8E\u7074\u707A\u7263\u72BF\u72BD\u72C3\u72C6\u72C1\u72BA\u72C5\u7395\u7397\u7393\u7394\u7392\u753A\u7539\u7594\u7595\u7681\u793D\u8034\u8095\u8099\u8090\u8092\u809C\u8290\u828F\u8285\u828E\u8291\u8293"], + ["cba1", "\u828A\u8283\u8284\u8C78\u8FC9\u8FBF\u909F\u90A1\u90A5\u909E\u90A7\u90A0\u9630\u9628\u962F\u962D\u4E33\u4F98\u4F7C\u4F85\u4F7D\u4F80\u4F87\u4F76\u4F74\u4F89\u4F84\u4F77\u4F4C\u4F97\u4F6A\u4F9A\u4F79\u4F81\u4F78\u4F90\u4F9C\u4F94\u4F9E\u4F92\u4F82\u4F95\u4F6B\u4F6E\u519E\u51BC\u51BE\u5235\u5232\u5233\u5246\u5231\u52BC\u530A\u530B\u533C\u5392\u5394\u5487\u547F\u5481\u5491\u5482\u5488\u546B\u547A\u547E\u5465\u546C\u5474\u5466\u548D\u546F\u5461\u5460\u5498\u5463\u5467\u5464\u56F7\u56F9\u576F\u5772\u576D\u576B\u5771\u5770\u5776\u5780\u5775\u577B\u5773\u5774\u5762"], + ["cc40", "\u5768\u577D\u590C\u5945\u59B5\u59BA\u59CF\u59CE\u59B2\u59CC\u59C1\u59B6\u59BC\u59C3\u59D6\u59B1\u59BD\u59C0\u59C8\u59B4\u59C7\u5B62\u5B65\u5B93\u5B95\u5C44\u5C47\u5CAE\u5CA4\u5CA0\u5CB5\u5CAF\u5CA8\u5CAC\u5C9F\u5CA3\u5CAD\u5CA2\u5CAA\u5CA7\u5C9D\u5CA5\u5CB6\u5CB0\u5CA6\u5E17\u5E14\u5E19\u5F28\u5F22\u5F23\u5F24\u5F54\u5F82\u5F7E\u5F7D\u5FDE\u5FE5\u602D\u6026\u6019\u6032\u600B"], + ["cca1", "\u6034\u600A\u6017\u6033\u601A\u601E\u602C\u6022\u600D\u6010\u602E\u6013\u6011\u600C\u6009\u601C\u6214\u623D\u62AD\u62B4\u62D1\u62BE\u62AA\u62B6\u62CA\u62AE\u62B3\u62AF\u62BB\u62A9\u62B0\u62B8\u653D\u65A8\u65BB\u6609\u65FC\u6604\u6612\u6608\u65FB\u6603\u660B\u660D\u6605\u65FD\u6611\u6610\u66F6\u670A\u6785\u676C\u678E\u6792\u6776\u677B\u6798\u6786\u6784\u6774\u678D\u678C\u677A\u679F\u6791\u6799\u6783\u677D\u6781\u6778\u6779\u6794\u6B25\u6B80\u6B7E\u6BDE\u6C1D\u6C93\u6CEC\u6CEB\u6CEE\u6CD9\u6CB6\u6CD4\u6CAD\u6CE7\u6CB7\u6CD0\u6CC2\u6CBA\u6CC3\u6CC6\u6CED\u6CF2"], + ["cd40", "\u6CD2\u6CDD\u6CB4\u6C8A\u6C9D\u6C80\u6CDE\u6CC0\u6D30\u6CCD\u6CC7\u6CB0\u6CF9\u6CCF\u6CE9\u6CD1\u7094\u7098\u7085\u7093\u7086\u7084\u7091\u7096\u7082\u709A\u7083\u726A\u72D6\u72CB\u72D8\u72C9\u72DC\u72D2\u72D4\u72DA\u72CC\u72D1\u73A4\u73A1\u73AD\u73A6\u73A2\u73A0\u73AC\u739D\u74DD\u74E8\u753F\u7540\u753E\u758C\u7598\u76AF\u76F3\u76F1\u76F0\u76F5\u77F8\u77FC\u77F9\u77FB\u77FA"], + ["cda1", "\u77F7\u7942\u793F\u79C5\u7A78\u7A7B\u7AFB\u7C75\u7CFD\u8035\u808F\u80AE\u80A3\u80B8\u80B5\u80AD\u8220\u82A0\u82C0\u82AB\u829A\u8298\u829B\u82B5\u82A7\u82AE\u82BC\u829E\u82BA\u82B4\u82A8\u82A1\u82A9\u82C2\u82A4\u82C3\u82B6\u82A2\u8670\u866F\u866D\u866E\u8C56\u8FD2\u8FCB\u8FD3\u8FCD\u8FD6\u8FD5\u8FD7\u90B2\u90B4\u90AF\u90B3\u90B0\u9639\u963D\u963C\u963A\u9643\u4FCD\u4FC5\u4FD3\u4FB2\u4FC9\u4FCB\u4FC1\u4FD4\u4FDC\u4FD9\u4FBB\u4FB3\u4FDB\u4FC7\u4FD6\u4FBA\u4FC0\u4FB9\u4FEC\u5244\u5249\u52C0\u52C2\u533D\u537C\u5397\u5396\u5399\u5398\u54BA\u54A1\u54AD\u54A5\u54CF"], + ["ce40", "\u54C3\u830D\u54B7\u54AE\u54D6\u54B6\u54C5\u54C6\u54A0\u5470\u54BC\u54A2\u54BE\u5472\u54DE\u54B0\u57B5\u579E\u579F\u57A4\u578C\u5797\u579D\u579B\u5794\u5798\u578F\u5799\u57A5\u579A\u5795\u58F4\u590D\u5953\u59E1\u59DE\u59EE\u5A00\u59F1\u59DD\u59FA\u59FD\u59FC\u59F6\u59E4\u59F2\u59F7\u59DB\u59E9\u59F3\u59F5\u59E0\u59FE\u59F4\u59ED\u5BA8\u5C4C\u5CD0\u5CD8\u5CCC\u5CD7\u5CCB\u5CDB"], + ["cea1", "\u5CDE\u5CDA\u5CC9\u5CC7\u5CCA\u5CD6\u5CD3\u5CD4\u5CCF\u5CC8\u5CC6\u5CCE\u5CDF\u5CF8\u5DF9\u5E21\u5E22\u5E23\u5E20\u5E24\u5EB0\u5EA4\u5EA2\u5E9B\u5EA3\u5EA5\u5F07\u5F2E\u5F56\u5F86\u6037\u6039\u6054\u6072\u605E\u6045\u6053\u6047\u6049\u605B\u604C\u6040\u6042\u605F\u6024\u6044\u6058\u6066\u606E\u6242\u6243\u62CF\u630D\u630B\u62F5\u630E\u6303\u62EB\u62F9\u630F\u630C\u62F8\u62F6\u6300\u6313\u6314\u62FA\u6315\u62FB\u62F0\u6541\u6543\u65AA\u65BF\u6636\u6621\u6632\u6635\u661C\u6626\u6622\u6633\u662B\u663A\u661D\u6634\u6639\u662E\u670F\u6710\u67C1\u67F2\u67C8\u67BA"], + ["cf40", "\u67DC\u67BB\u67F8\u67D8\u67C0\u67B7\u67C5\u67EB\u67E4\u67DF\u67B5\u67CD\u67B3\u67F7\u67F6\u67EE\u67E3\u67C2\u67B9\u67CE\u67E7\u67F0\u67B2\u67FC\u67C6\u67ED\u67CC\u67AE\u67E6\u67DB\u67FA\u67C9\u67CA\u67C3\u67EA\u67CB\u6B28\u6B82\u6B84\u6BB6\u6BD6\u6BD8\u6BE0\u6C20\u6C21\u6D28\u6D34\u6D2D\u6D1F\u6D3C\u6D3F\u6D12\u6D0A\u6CDA\u6D33\u6D04\u6D19\u6D3A\u6D1A\u6D11\u6D00\u6D1D\u6D42"], + ["cfa1", "\u6D01\u6D18\u6D37\u6D03\u6D0F\u6D40\u6D07\u6D20\u6D2C\u6D08\u6D22\u6D09\u6D10\u70B7\u709F\u70BE\u70B1\u70B0\u70A1\u70B4\u70B5\u70A9\u7241\u7249\u724A\u726C\u7270\u7273\u726E\u72CA\u72E4\u72E8\u72EB\u72DF\u72EA\u72E6\u72E3\u7385\u73CC\u73C2\u73C8\u73C5\u73B9\u73B6\u73B5\u73B4\u73EB\u73BF\u73C7\u73BE\u73C3\u73C6\u73B8\u73CB\u74EC\u74EE\u752E\u7547\u7548\u75A7\u75AA\u7679\u76C4\u7708\u7703\u7704\u7705\u770A\u76F7\u76FB\u76FA\u77E7\u77E8\u7806\u7811\u7812\u7805\u7810\u780F\u780E\u7809\u7803\u7813\u794A\u794C\u794B\u7945\u7944\u79D5\u79CD\u79CF\u79D6\u79CE\u7A80"], + ["d040", "\u7A7E\u7AD1\u7B00\u7B01\u7C7A\u7C78\u7C79\u7C7F\u7C80\u7C81\u7D03\u7D08\u7D01\u7F58\u7F91\u7F8D\u7FBE\u8007\u800E\u800F\u8014\u8037\u80D8\u80C7\u80E0\u80D1\u80C8\u80C2\u80D0\u80C5\u80E3\u80D9\u80DC\u80CA\u80D5\u80C9\u80CF\u80D7\u80E6\u80CD\u81FF\u8221\u8294\u82D9\u82FE\u82F9\u8307\u82E8\u8300\u82D5\u833A\u82EB\u82D6\u82F4\u82EC\u82E1\u82F2\u82F5\u830C\u82FB\u82F6\u82F0\u82EA"], + ["d0a1", "\u82E4\u82E0\u82FA\u82F3\u82ED\u8677\u8674\u867C\u8673\u8841\u884E\u8867\u886A\u8869\u89D3\u8A04\u8A07\u8D72\u8FE3\u8FE1\u8FEE\u8FE0\u90F1\u90BD\u90BF\u90D5\u90C5\u90BE\u90C7\u90CB\u90C8\u91D4\u91D3\u9654\u964F\u9651\u9653\u964A\u964E\u501E\u5005\u5007\u5013\u5022\u5030\u501B\u4FF5\u4FF4\u5033\u5037\u502C\u4FF6\u4FF7\u5017\u501C\u5020\u5027\u5035\u502F\u5031\u500E\u515A\u5194\u5193\u51CA\u51C4\u51C5\u51C8\u51CE\u5261\u525A\u5252\u525E\u525F\u5255\u5262\u52CD\u530E\u539E\u5526\u54E2\u5517\u5512\u54E7\u54F3\u54E4\u551A\u54FF\u5504\u5508\u54EB\u5511\u5505\u54F1"], + ["d140", "\u550A\u54FB\u54F7\u54F8\u54E0\u550E\u5503\u550B\u5701\u5702\u57CC\u5832\u57D5\u57D2\u57BA\u57C6\u57BD\u57BC\u57B8\u57B6\u57BF\u57C7\u57D0\u57B9\u57C1\u590E\u594A\u5A19\u5A16\u5A2D\u5A2E\u5A15\u5A0F\u5A17\u5A0A\u5A1E\u5A33\u5B6C\u5BA7\u5BAD\u5BAC\u5C03\u5C56\u5C54\u5CEC\u5CFF\u5CEE\u5CF1\u5CF7\u5D00\u5CF9\u5E29\u5E28\u5EA8\u5EAE\u5EAA\u5EAC\u5F33\u5F30\u5F67\u605D\u605A\u6067"], + ["d1a1", "\u6041\u60A2\u6088\u6080\u6092\u6081\u609D\u6083\u6095\u609B\u6097\u6087\u609C\u608E\u6219\u6246\u62F2\u6310\u6356\u632C\u6344\u6345\u6336\u6343\u63E4\u6339\u634B\u634A\u633C\u6329\u6341\u6334\u6358\u6354\u6359\u632D\u6347\u6333\u635A\u6351\u6338\u6357\u6340\u6348\u654A\u6546\u65C6\u65C3\u65C4\u65C2\u664A\u665F\u6647\u6651\u6712\u6713\u681F\u681A\u6849\u6832\u6833\u683B\u684B\u684F\u6816\u6831\u681C\u6835\u682B\u682D\u682F\u684E\u6844\u6834\u681D\u6812\u6814\u6826\u6828\u682E\u684D\u683A\u6825\u6820\u6B2C\u6B2F\u6B2D\u6B31\u6B34\u6B6D\u8082\u6B88\u6BE6\u6BE4"], + ["d240", "\u6BE8\u6BE3\u6BE2\u6BE7\u6C25\u6D7A\u6D63\u6D64\u6D76\u6D0D\u6D61\u6D92\u6D58\u6D62\u6D6D\u6D6F\u6D91\u6D8D\u6DEF\u6D7F\u6D86\u6D5E\u6D67\u6D60\u6D97\u6D70\u6D7C\u6D5F\u6D82\u6D98\u6D2F\u6D68\u6D8B\u6D7E\u6D80\u6D84\u6D16\u6D83\u6D7B\u6D7D\u6D75\u6D90\u70DC\u70D3\u70D1\u70DD\u70CB\u7F39\u70E2\u70D7\u70D2\u70DE\u70E0\u70D4\u70CD\u70C5\u70C6\u70C7\u70DA\u70CE\u70E1\u7242\u7278"], + ["d2a1", "\u7277\u7276\u7300\u72FA\u72F4\u72FE\u72F6\u72F3\u72FB\u7301\u73D3\u73D9\u73E5\u73D6\u73BC\u73E7\u73E3\u73E9\u73DC\u73D2\u73DB\u73D4\u73DD\u73DA\u73D7\u73D8\u73E8\u74DE\u74DF\u74F4\u74F5\u7521\u755B\u755F\u75B0\u75C1\u75BB\u75C4\u75C0\u75BF\u75B6\u75BA\u768A\u76C9\u771D\u771B\u7710\u7713\u7712\u7723\u7711\u7715\u7719\u771A\u7722\u7727\u7823\u782C\u7822\u7835\u782F\u7828\u782E\u782B\u7821\u7829\u7833\u782A\u7831\u7954\u795B\u794F\u795C\u7953\u7952\u7951\u79EB\u79EC\u79E0\u79EE\u79ED\u79EA\u79DC\u79DE\u79DD\u7A86\u7A89\u7A85\u7A8B\u7A8C\u7A8A\u7A87\u7AD8\u7B10"], + ["d340", "\u7B04\u7B13\u7B05\u7B0F\u7B08\u7B0A\u7B0E\u7B09\u7B12\u7C84\u7C91\u7C8A\u7C8C\u7C88\u7C8D\u7C85\u7D1E\u7D1D\u7D11\u7D0E\u7D18\u7D16\u7D13\u7D1F\u7D12\u7D0F\u7D0C\u7F5C\u7F61\u7F5E\u7F60\u7F5D\u7F5B\u7F96\u7F92\u7FC3\u7FC2\u7FC0\u8016\u803E\u8039\u80FA\u80F2\u80F9\u80F5\u8101\u80FB\u8100\u8201\u822F\u8225\u8333\u832D\u8344\u8319\u8351\u8325\u8356\u833F\u8341\u8326\u831C\u8322"], + ["d3a1", "\u8342\u834E\u831B\u832A\u8308\u833C\u834D\u8316\u8324\u8320\u8337\u832F\u8329\u8347\u8345\u834C\u8353\u831E\u832C\u834B\u8327\u8348\u8653\u8652\u86A2\u86A8\u8696\u868D\u8691\u869E\u8687\u8697\u8686\u868B\u869A\u8685\u86A5\u8699\u86A1\u86A7\u8695\u8698\u868E\u869D\u8690\u8694\u8843\u8844\u886D\u8875\u8876\u8872\u8880\u8871\u887F\u886F\u8883\u887E\u8874\u887C\u8A12\u8C47\u8C57\u8C7B\u8CA4\u8CA3\u8D76\u8D78\u8DB5\u8DB7\u8DB6\u8ED1\u8ED3\u8FFE\u8FF5\u9002\u8FFF\u8FFB\u9004\u8FFC\u8FF6\u90D6\u90E0\u90D9\u90DA\u90E3\u90DF\u90E5\u90D8\u90DB\u90D7\u90DC\u90E4\u9150"], + ["d440", "\u914E\u914F\u91D5\u91E2\u91DA\u965C\u965F\u96BC\u98E3\u9ADF\u9B2F\u4E7F\u5070\u506A\u5061\u505E\u5060\u5053\u504B\u505D\u5072\u5048\u504D\u5041\u505B\u504A\u5062\u5015\u5045\u505F\u5069\u506B\u5063\u5064\u5046\u5040\u506E\u5073\u5057\u5051\u51D0\u526B\u526D\u526C\u526E\u52D6\u52D3\u532D\u539C\u5575\u5576\u553C\u554D\u5550\u5534\u552A\u5551\u5562\u5536\u5535\u5530\u5552\u5545"], + ["d4a1", "\u550C\u5532\u5565\u554E\u5539\u5548\u552D\u553B\u5540\u554B\u570A\u5707\u57FB\u5814\u57E2\u57F6\u57DC\u57F4\u5800\u57ED\u57FD\u5808\u57F8\u580B\u57F3\u57CF\u5807\u57EE\u57E3\u57F2\u57E5\u57EC\u57E1\u580E\u57FC\u5810\u57E7\u5801\u580C\u57F1\u57E9\u57F0\u580D\u5804\u595C\u5A60\u5A58\u5A55\u5A67\u5A5E\u5A38\u5A35\u5A6D\u5A50\u5A5F\u5A65\u5A6C\u5A53\u5A64\u5A57\u5A43\u5A5D\u5A52\u5A44\u5A5B\u5A48\u5A8E\u5A3E\u5A4D\u5A39\u5A4C\u5A70\u5A69\u5A47\u5A51\u5A56\u5A42\u5A5C\u5B72\u5B6E\u5BC1\u5BC0\u5C59\u5D1E\u5D0B\u5D1D\u5D1A\u5D20\u5D0C\u5D28\u5D0D\u5D26\u5D25\u5D0F"], + ["d540", "\u5D30\u5D12\u5D23\u5D1F\u5D2E\u5E3E\u5E34\u5EB1\u5EB4\u5EB9\u5EB2\u5EB3\u5F36\u5F38\u5F9B\u5F96\u5F9F\u608A\u6090\u6086\u60BE\u60B0\u60BA\u60D3\u60D4\u60CF\u60E4\u60D9\u60DD\u60C8\u60B1\u60DB\u60B7\u60CA\u60BF\u60C3\u60CD\u60C0\u6332\u6365\u638A\u6382\u637D\u63BD\u639E\u63AD\u639D\u6397\u63AB\u638E\u636F\u6387\u6390\u636E\u63AF\u6375\u639C\u636D\u63AE\u637C\u63A4\u633B\u639F"], + ["d5a1", "\u6378\u6385\u6381\u6391\u638D\u6370\u6553\u65CD\u6665\u6661\u665B\u6659\u665C\u6662\u6718\u6879\u6887\u6890\u689C\u686D\u686E\u68AE\u68AB\u6956\u686F\u68A3\u68AC\u68A9\u6875\u6874\u68B2\u688F\u6877\u6892\u687C\u686B\u6872\u68AA\u6880\u6871\u687E\u689B\u6896\u688B\u68A0\u6889\u68A4\u6878\u687B\u6891\u688C\u688A\u687D\u6B36\u6B33\u6B37\u6B38\u6B91\u6B8F\u6B8D\u6B8E\u6B8C\u6C2A\u6DC0\u6DAB\u6DB4\u6DB3\u6E74\u6DAC\u6DE9\u6DE2\u6DB7\u6DF6\u6DD4\u6E00\u6DC8\u6DE0\u6DDF\u6DD6\u6DBE\u6DE5\u6DDC\u6DDD\u6DDB\u6DF4\u6DCA\u6DBD\u6DED\u6DF0\u6DBA\u6DD5\u6DC2\u6DCF\u6DC9"], + ["d640", "\u6DD0\u6DF2\u6DD3\u6DFD\u6DD7\u6DCD\u6DE3\u6DBB\u70FA\u710D\u70F7\u7117\u70F4\u710C\u70F0\u7104\u70F3\u7110\u70FC\u70FF\u7106\u7113\u7100\u70F8\u70F6\u710B\u7102\u710E\u727E\u727B\u727C\u727F\u731D\u7317\u7307\u7311\u7318\u730A\u7308\u72FF\u730F\u731E\u7388\u73F6\u73F8\u73F5\u7404\u7401\u73FD\u7407\u7400\u73FA\u73FC\u73FF\u740C\u740B\u73F4\u7408\u7564\u7563\u75CE\u75D2\u75CF"], + ["d6a1", "\u75CB\u75CC\u75D1\u75D0\u768F\u7689\u76D3\u7739\u772F\u772D\u7731\u7732\u7734\u7733\u773D\u7725\u773B\u7735\u7848\u7852\u7849\u784D\u784A\u784C\u7826\u7845\u7850\u7964\u7967\u7969\u796A\u7963\u796B\u7961\u79BB\u79FA\u79F8\u79F6\u79F7\u7A8F\u7A94\u7A90\u7B35\u7B47\u7B34\u7B25\u7B30\u7B22\u7B24\u7B33\u7B18\u7B2A\u7B1D\u7B31\u7B2B\u7B2D\u7B2F\u7B32\u7B38\u7B1A\u7B23\u7C94\u7C98\u7C96\u7CA3\u7D35\u7D3D\u7D38\u7D36\u7D3A\u7D45\u7D2C\u7D29\u7D41\u7D47\u7D3E\u7D3F\u7D4A\u7D3B\u7D28\u7F63\u7F95\u7F9C\u7F9D\u7F9B\u7FCA\u7FCB\u7FCD\u7FD0\u7FD1\u7FC7\u7FCF\u7FC9\u801F"], + ["d740", "\u801E\u801B\u8047\u8043\u8048\u8118\u8125\u8119\u811B\u812D\u811F\u812C\u811E\u8121\u8115\u8127\u811D\u8122\u8211\u8238\u8233\u823A\u8234\u8232\u8274\u8390\u83A3\u83A8\u838D\u837A\u8373\u83A4\u8374\u838F\u8381\u8395\u8399\u8375\u8394\u83A9\u837D\u8383\u838C\u839D\u839B\u83AA\u838B\u837E\u83A5\u83AF\u8388\u8397\u83B0\u837F\u83A6\u8387\u83AE\u8376\u839A\u8659\u8656\u86BF\u86B7"], + ["d7a1", "\u86C2\u86C1\u86C5\u86BA\u86B0\u86C8\u86B9\u86B3\u86B8\u86CC\u86B4\u86BB\u86BC\u86C3\u86BD\u86BE\u8852\u8889\u8895\u88A8\u88A2\u88AA\u889A\u8891\u88A1\u889F\u8898\u88A7\u8899\u889B\u8897\u88A4\u88AC\u888C\u8893\u888E\u8982\u89D6\u89D9\u89D5\u8A30\u8A27\u8A2C\u8A1E\u8C39\u8C3B\u8C5C\u8C5D\u8C7D\u8CA5\u8D7D\u8D7B\u8D79\u8DBC\u8DC2\u8DB9\u8DBF\u8DC1\u8ED8\u8EDE\u8EDD\u8EDC\u8ED7\u8EE0\u8EE1\u9024\u900B\u9011\u901C\u900C\u9021\u90EF\u90EA\u90F0\u90F4\u90F2\u90F3\u90D4\u90EB\u90EC\u90E9\u9156\u9158\u915A\u9153\u9155\u91EC\u91F4\u91F1\u91F3\u91F8\u91E4\u91F9\u91EA"], + ["d840", "\u91EB\u91F7\u91E8\u91EE\u957A\u9586\u9588\u967C\u966D\u966B\u9671\u966F\u96BF\u976A\u9804\u98E5\u9997\u509B\u5095\u5094\u509E\u508B\u50A3\u5083\u508C\u508E\u509D\u5068\u509C\u5092\u5082\u5087\u515F\u51D4\u5312\u5311\u53A4\u53A7\u5591\u55A8\u55A5\u55AD\u5577\u5645\u55A2\u5593\u5588\u558F\u55B5\u5581\u55A3\u5592\u55A4\u557D\u558C\u55A6\u557F\u5595\u55A1\u558E\u570C\u5829\u5837"], + ["d8a1", "\u5819\u581E\u5827\u5823\u5828\u57F5\u5848\u5825\u581C\u581B\u5833\u583F\u5836\u582E\u5839\u5838\u582D\u582C\u583B\u5961\u5AAF\u5A94\u5A9F\u5A7A\u5AA2\u5A9E\u5A78\u5AA6\u5A7C\u5AA5\u5AAC\u5A95\u5AAE\u5A37\u5A84\u5A8A\u5A97\u5A83\u5A8B\u5AA9\u5A7B\u5A7D\u5A8C\u5A9C\u5A8F\u5A93\u5A9D\u5BEA\u5BCD\u5BCB\u5BD4\u5BD1\u5BCA\u5BCE\u5C0C\u5C30\u5D37\u5D43\u5D6B\u5D41\u5D4B\u5D3F\u5D35\u5D51\u5D4E\u5D55\u5D33\u5D3A\u5D52\u5D3D\u5D31\u5D59\u5D42\u5D39\u5D49\u5D38\u5D3C\u5D32\u5D36\u5D40\u5D45\u5E44\u5E41\u5F58\u5FA6\u5FA5\u5FAB\u60C9\u60B9\u60CC\u60E2\u60CE\u60C4\u6114"], + ["d940", "\u60F2\u610A\u6116\u6105\u60F5\u6113\u60F8\u60FC\u60FE\u60C1\u6103\u6118\u611D\u6110\u60FF\u6104\u610B\u624A\u6394\u63B1\u63B0\u63CE\u63E5\u63E8\u63EF\u63C3\u649D\u63F3\u63CA\u63E0\u63F6\u63D5\u63F2\u63F5\u6461\u63DF\u63BE\u63DD\u63DC\u63C4\u63D8\u63D3\u63C2\u63C7\u63CC\u63CB\u63C8\u63F0\u63D7\u63D9\u6532\u6567\u656A\u6564\u655C\u6568\u6565\u658C\u659D\u659E\u65AE\u65D0\u65D2"], + ["d9a1", "\u667C\u666C\u667B\u6680\u6671\u6679\u666A\u6672\u6701\u690C\u68D3\u6904\u68DC\u692A\u68EC\u68EA\u68F1\u690F\u68D6\u68F7\u68EB\u68E4\u68F6\u6913\u6910\u68F3\u68E1\u6907\u68CC\u6908\u6970\u68B4\u6911\u68EF\u68C6\u6914\u68F8\u68D0\u68FD\u68FC\u68E8\u690B\u690A\u6917\u68CE\u68C8\u68DD\u68DE\u68E6\u68F4\u68D1\u6906\u68D4\u68E9\u6915\u6925\u68C7\u6B39\u6B3B\u6B3F\u6B3C\u6B94\u6B97\u6B99\u6B95\u6BBD\u6BF0\u6BF2\u6BF3\u6C30\u6DFC\u6E46\u6E47\u6E1F\u6E49\u6E88\u6E3C\u6E3D\u6E45\u6E62\u6E2B\u6E3F\u6E41\u6E5D\u6E73\u6E1C\u6E33\u6E4B\u6E40\u6E51\u6E3B\u6E03\u6E2E\u6E5E"], + ["da40", "\u6E68\u6E5C\u6E61\u6E31\u6E28\u6E60\u6E71\u6E6B\u6E39\u6E22\u6E30\u6E53\u6E65\u6E27\u6E78\u6E64\u6E77\u6E55\u6E79\u6E52\u6E66\u6E35\u6E36\u6E5A\u7120\u711E\u712F\u70FB\u712E\u7131\u7123\u7125\u7122\u7132\u711F\u7128\u713A\u711B\u724B\u725A\u7288\u7289\u7286\u7285\u728B\u7312\u730B\u7330\u7322\u7331\u7333\u7327\u7332\u732D\u7326\u7323\u7335\u730C\u742E\u742C\u7430\u742B\u7416"], + ["daa1", "\u741A\u7421\u742D\u7431\u7424\u7423\u741D\u7429\u7420\u7432\u74FB\u752F\u756F\u756C\u75E7\u75DA\u75E1\u75E6\u75DD\u75DF\u75E4\u75D7\u7695\u7692\u76DA\u7746\u7747\u7744\u774D\u7745\u774A\u774E\u774B\u774C\u77DE\u77EC\u7860\u7864\u7865\u785C\u786D\u7871\u786A\u786E\u7870\u7869\u7868\u785E\u7862\u7974\u7973\u7972\u7970\u7A02\u7A0A\u7A03\u7A0C\u7A04\u7A99\u7AE6\u7AE4\u7B4A\u7B3B\u7B44\u7B48\u7B4C\u7B4E\u7B40\u7B58\u7B45\u7CA2\u7C9E\u7CA8\u7CA1\u7D58\u7D6F\u7D63\u7D53\u7D56\u7D67\u7D6A\u7D4F\u7D6D\u7D5C\u7D6B\u7D52\u7D54\u7D69\u7D51\u7D5F\u7D4E\u7F3E\u7F3F\u7F65"], + ["db40", "\u7F66\u7FA2\u7FA0\u7FA1\u7FD7\u8051\u804F\u8050\u80FE\u80D4\u8143\u814A\u8152\u814F\u8147\u813D\u814D\u813A\u81E6\u81EE\u81F7\u81F8\u81F9\u8204\u823C\u823D\u823F\u8275\u833B\u83CF\u83F9\u8423\u83C0\u83E8\u8412\u83E7\u83E4\u83FC\u83F6\u8410\u83C6\u83C8\u83EB\u83E3\u83BF\u8401\u83DD\u83E5\u83D8\u83FF\u83E1\u83CB\u83CE\u83D6\u83F5\u83C9\u8409\u840F\u83DE\u8411\u8406\u83C2\u83F3"], + ["dba1", "\u83D5\u83FA\u83C7\u83D1\u83EA\u8413\u83C3\u83EC\u83EE\u83C4\u83FB\u83D7\u83E2\u841B\u83DB\u83FE\u86D8\u86E2\u86E6\u86D3\u86E3\u86DA\u86EA\u86DD\u86EB\u86DC\u86EC\u86E9\u86D7\u86E8\u86D1\u8848\u8856\u8855\u88BA\u88D7\u88B9\u88B8\u88C0\u88BE\u88B6\u88BC\u88B7\u88BD\u88B2\u8901\u88C9\u8995\u8998\u8997\u89DD\u89DA\u89DB\u8A4E\u8A4D\u8A39\u8A59\u8A40\u8A57\u8A58\u8A44\u8A45\u8A52\u8A48\u8A51\u8A4A\u8A4C\u8A4F\u8C5F\u8C81\u8C80\u8CBA\u8CBE\u8CB0\u8CB9\u8CB5\u8D84\u8D80\u8D89\u8DD8\u8DD3\u8DCD\u8DC7\u8DD6\u8DDC\u8DCF\u8DD5\u8DD9\u8DC8\u8DD7\u8DC5\u8EEF\u8EF7\u8EFA"], + ["dc40", "\u8EF9\u8EE6\u8EEE\u8EE5\u8EF5\u8EE7\u8EE8\u8EF6\u8EEB\u8EF1\u8EEC\u8EF4\u8EE9\u902D\u9034\u902F\u9106\u912C\u9104\u90FF\u90FC\u9108\u90F9\u90FB\u9101\u9100\u9107\u9105\u9103\u9161\u9164\u915F\u9162\u9160\u9201\u920A\u9225\u9203\u921A\u9226\u920F\u920C\u9200\u9212\u91FF\u91FD\u9206\u9204\u9227\u9202\u921C\u9224\u9219\u9217\u9205\u9216\u957B\u958D\u958C\u9590\u9687\u967E\u9688"], + ["dca1", "\u9689\u9683\u9680\u96C2\u96C8\u96C3\u96F1\u96F0\u976C\u9770\u976E\u9807\u98A9\u98EB\u9CE6\u9EF9\u4E83\u4E84\u4EB6\u50BD\u50BF\u50C6\u50AE\u50C4\u50CA\u50B4\u50C8\u50C2\u50B0\u50C1\u50BA\u50B1\u50CB\u50C9\u50B6\u50B8\u51D7\u527A\u5278\u527B\u527C\u55C3\u55DB\u55CC\u55D0\u55CB\u55CA\u55DD\u55C0\u55D4\u55C4\u55E9\u55BF\u55D2\u558D\u55CF\u55D5\u55E2\u55D6\u55C8\u55F2\u55CD\u55D9\u55C2\u5714\u5853\u5868\u5864\u584F\u584D\u5849\u586F\u5855\u584E\u585D\u5859\u5865\u585B\u583D\u5863\u5871\u58FC\u5AC7\u5AC4\u5ACB\u5ABA\u5AB8\u5AB1\u5AB5\u5AB0\u5ABF\u5AC8\u5ABB\u5AC6"], + ["dd40", "\u5AB7\u5AC0\u5ACA\u5AB4\u5AB6\u5ACD\u5AB9\u5A90\u5BD6\u5BD8\u5BD9\u5C1F\u5C33\u5D71\u5D63\u5D4A\u5D65\u5D72\u5D6C\u5D5E\u5D68\u5D67\u5D62\u5DF0\u5E4F\u5E4E\u5E4A\u5E4D\u5E4B\u5EC5\u5ECC\u5EC6\u5ECB\u5EC7\u5F40\u5FAF\u5FAD\u60F7\u6149\u614A\u612B\u6145\u6136\u6132\u612E\u6146\u612F\u614F\u6129\u6140\u6220\u9168\u6223\u6225\u6224\u63C5\u63F1\u63EB\u6410\u6412\u6409\u6420\u6424"], + ["dda1", "\u6433\u6443\u641F\u6415\u6418\u6439\u6437\u6422\u6423\u640C\u6426\u6430\u6428\u6441\u6435\u642F\u640A\u641A\u6440\u6425\u6427\u640B\u63E7\u641B\u642E\u6421\u640E\u656F\u6592\u65D3\u6686\u668C\u6695\u6690\u668B\u668A\u6699\u6694\u6678\u6720\u6966\u695F\u6938\u694E\u6962\u6971\u693F\u6945\u696A\u6939\u6942\u6957\u6959\u697A\u6948\u6949\u6935\u696C\u6933\u693D\u6965\u68F0\u6978\u6934\u6969\u6940\u696F\u6944\u6976\u6958\u6941\u6974\u694C\u693B\u694B\u6937\u695C\u694F\u6951\u6932\u6952\u692F\u697B\u693C\u6B46\u6B45\u6B43\u6B42\u6B48\u6B41\u6B9B\uFA0D\u6BFB\u6BFC"], + ["de40", "\u6BF9\u6BF7\u6BF8\u6E9B\u6ED6\u6EC8\u6E8F\u6EC0\u6E9F\u6E93\u6E94\u6EA0\u6EB1\u6EB9\u6EC6\u6ED2\u6EBD\u6EC1\u6E9E\u6EC9\u6EB7\u6EB0\u6ECD\u6EA6\u6ECF\u6EB2\u6EBE\u6EC3\u6EDC\u6ED8\u6E99\u6E92\u6E8E\u6E8D\u6EA4\u6EA1\u6EBF\u6EB3\u6ED0\u6ECA\u6E97\u6EAE\u6EA3\u7147\u7154\u7152\u7163\u7160\u7141\u715D\u7162\u7172\u7178\u716A\u7161\u7142\u7158\u7143\u714B\u7170\u715F\u7150\u7153"], + ["dea1", "\u7144\u714D\u715A\u724F\u728D\u728C\u7291\u7290\u728E\u733C\u7342\u733B\u733A\u7340\u734A\u7349\u7444\u744A\u744B\u7452\u7451\u7457\u7440\u744F\u7450\u744E\u7442\u7446\u744D\u7454\u74E1\u74FF\u74FE\u74FD\u751D\u7579\u7577\u6983\u75EF\u760F\u7603\u75F7\u75FE\u75FC\u75F9\u75F8\u7610\u75FB\u75F6\u75ED\u75F5\u75FD\u7699\u76B5\u76DD\u7755\u775F\u7760\u7752\u7756\u775A\u7769\u7767\u7754\u7759\u776D\u77E0\u7887\u789A\u7894\u788F\u7884\u7895\u7885\u7886\u78A1\u7883\u7879\u7899\u7880\u7896\u787B\u797C\u7982\u797D\u7979\u7A11\u7A18\u7A19\u7A12\u7A17\u7A15\u7A22\u7A13"], + ["df40", "\u7A1B\u7A10\u7AA3\u7AA2\u7A9E\u7AEB\u7B66\u7B64\u7B6D\u7B74\u7B69\u7B72\u7B65\u7B73\u7B71\u7B70\u7B61\u7B78\u7B76\u7B63\u7CB2\u7CB4\u7CAF\u7D88\u7D86\u7D80\u7D8D\u7D7F\u7D85\u7D7A\u7D8E\u7D7B\u7D83\u7D7C\u7D8C\u7D94\u7D84\u7D7D\u7D92\u7F6D\u7F6B\u7F67\u7F68\u7F6C\u7FA6\u7FA5\u7FA7\u7FDB\u7FDC\u8021\u8164\u8160\u8177\u815C\u8169\u815B\u8162\u8172\u6721\u815E\u8176\u8167\u816F"], + ["dfa1", "\u8144\u8161\u821D\u8249\u8244\u8240\u8242\u8245\u84F1\u843F\u8456\u8476\u8479\u848F\u848D\u8465\u8451\u8440\u8486\u8467\u8430\u844D\u847D\u845A\u8459\u8474\u8473\u845D\u8507\u845E\u8437\u843A\u8434\u847A\u8443\u8478\u8432\u8445\u8429\u83D9\u844B\u842F\u8442\u842D\u845F\u8470\u8439\u844E\u844C\u8452\u846F\u84C5\u848E\u843B\u8447\u8436\u8433\u8468\u847E\u8444\u842B\u8460\u8454\u846E\u8450\u870B\u8704\u86F7\u870C\u86FA\u86D6\u86F5\u874D\u86F8\u870E\u8709\u8701\u86F6\u870D\u8705\u88D6\u88CB\u88CD\u88CE\u88DE\u88DB\u88DA\u88CC\u88D0\u8985\u899B\u89DF\u89E5\u89E4"], + ["e040", "\u89E1\u89E0\u89E2\u89DC\u89E6\u8A76\u8A86\u8A7F\u8A61\u8A3F\u8A77\u8A82\u8A84\u8A75\u8A83\u8A81\u8A74\u8A7A\u8C3C\u8C4B\u8C4A\u8C65\u8C64\u8C66\u8C86\u8C84\u8C85\u8CCC\u8D68\u8D69\u8D91\u8D8C\u8D8E\u8D8F\u8D8D\u8D93\u8D94\u8D90\u8D92\u8DF0\u8DE0\u8DEC\u8DF1\u8DEE\u8DD0\u8DE9\u8DE3\u8DE2\u8DE7\u8DF2\u8DEB\u8DF4\u8F06\u8EFF\u8F01\u8F00\u8F05\u8F07\u8F08\u8F02\u8F0B\u9052\u903F"], + ["e0a1", "\u9044\u9049\u903D\u9110\u910D\u910F\u9111\u9116\u9114\u910B\u910E\u916E\u916F\u9248\u9252\u9230\u923A\u9266\u9233\u9265\u925E\u9283\u922E\u924A\u9246\u926D\u926C\u924F\u9260\u9267\u926F\u9236\u9261\u9270\u9231\u9254\u9263\u9250\u9272\u924E\u9253\u924C\u9256\u9232\u959F\u959C\u959E\u959B\u9692\u9693\u9691\u9697\u96CE\u96FA\u96FD\u96F8\u96F5\u9773\u9777\u9778\u9772\u980F\u980D\u980E\u98AC\u98F6\u98F9\u99AF\u99B2\u99B0\u99B5\u9AAD\u9AAB\u9B5B\u9CEA\u9CED\u9CE7\u9E80\u9EFD\u50E6\u50D4\u50D7\u50E8\u50F3\u50DB\u50EA\u50DD\u50E4\u50D3\u50EC\u50F0\u50EF\u50E3\u50E0"], + ["e140", "\u51D8\u5280\u5281\u52E9\u52EB\u5330\u53AC\u5627\u5615\u560C\u5612\u55FC\u560F\u561C\u5601\u5613\u5602\u55FA\u561D\u5604\u55FF\u55F9\u5889\u587C\u5890\u5898\u5886\u5881\u587F\u5874\u588B\u587A\u5887\u5891\u588E\u5876\u5882\u5888\u587B\u5894\u588F\u58FE\u596B\u5ADC\u5AEE\u5AE5\u5AD5\u5AEA\u5ADA\u5AED\u5AEB\u5AF3\u5AE2\u5AE0\u5ADB\u5AEC\u5ADE\u5ADD\u5AD9\u5AE8\u5ADF\u5B77\u5BE0"], + ["e1a1", "\u5BE3\u5C63\u5D82\u5D80\u5D7D\u5D86\u5D7A\u5D81\u5D77\u5D8A\u5D89\u5D88\u5D7E\u5D7C\u5D8D\u5D79\u5D7F\u5E58\u5E59\u5E53\u5ED8\u5ED1\u5ED7\u5ECE\u5EDC\u5ED5\u5ED9\u5ED2\u5ED4\u5F44\u5F43\u5F6F\u5FB6\u612C\u6128\u6141\u615E\u6171\u6173\u6152\u6153\u6172\u616C\u6180\u6174\u6154\u617A\u615B\u6165\u613B\u616A\u6161\u6156\u6229\u6227\u622B\u642B\u644D\u645B\u645D\u6474\u6476\u6472\u6473\u647D\u6475\u6466\u64A6\u644E\u6482\u645E\u645C\u644B\u6453\u6460\u6450\u647F\u643F\u646C\u646B\u6459\u6465\u6477\u6573\u65A0\u66A1\u66A0\u669F\u6705\u6704\u6722\u69B1\u69B6\u69C9"], + ["e240", "\u69A0\u69CE\u6996\u69B0\u69AC\u69BC\u6991\u6999\u698E\u69A7\u698D\u69A9\u69BE\u69AF\u69BF\u69C4\u69BD\u69A4\u69D4\u69B9\u69CA\u699A\u69CF\u69B3\u6993\u69AA\u69A1\u699E\u69D9\u6997\u6990\u69C2\u69B5\u69A5\u69C6\u6B4A\u6B4D\u6B4B\u6B9E\u6B9F\u6BA0\u6BC3\u6BC4\u6BFE\u6ECE\u6EF5\u6EF1\u6F03\u6F25\u6EF8\u6F37\u6EFB\u6F2E\u6F09\u6F4E\u6F19\u6F1A\u6F27\u6F18\u6F3B\u6F12\u6EED\u6F0A"], + ["e2a1", "\u6F36\u6F73\u6EF9\u6EEE\u6F2D\u6F40\u6F30\u6F3C\u6F35\u6EEB\u6F07\u6F0E\u6F43\u6F05\u6EFD\u6EF6\u6F39\u6F1C\u6EFC\u6F3A\u6F1F\u6F0D\u6F1E\u6F08\u6F21\u7187\u7190\u7189\u7180\u7185\u7182\u718F\u717B\u7186\u7181\u7197\u7244\u7253\u7297\u7295\u7293\u7343\u734D\u7351\u734C\u7462\u7473\u7471\u7475\u7472\u7467\u746E\u7500\u7502\u7503\u757D\u7590\u7616\u7608\u760C\u7615\u7611\u760A\u7614\u76B8\u7781\u777C\u7785\u7782\u776E\u7780\u776F\u777E\u7783\u78B2\u78AA\u78B4\u78AD\u78A8\u787E\u78AB\u789E\u78A5\u78A0\u78AC\u78A2\u78A4\u7998\u798A\u798B\u7996\u7995\u7994\u7993"], + ["e340", "\u7997\u7988\u7992\u7990\u7A2B\u7A4A\u7A30\u7A2F\u7A28\u7A26\u7AA8\u7AAB\u7AAC\u7AEE\u7B88\u7B9C\u7B8A\u7B91\u7B90\u7B96\u7B8D\u7B8C\u7B9B\u7B8E\u7B85\u7B98\u5284\u7B99\u7BA4\u7B82\u7CBB\u7CBF\u7CBC\u7CBA\u7DA7\u7DB7\u7DC2\u7DA3\u7DAA\u7DC1\u7DC0\u7DC5\u7D9D\u7DCE\u7DC4\u7DC6\u7DCB\u7DCC\u7DAF\u7DB9\u7D96\u7DBC\u7D9F\u7DA6\u7DAE\u7DA9\u7DA1\u7DC9\u7F73\u7FE2\u7FE3\u7FE5\u7FDE"], + ["e3a1", "\u8024\u805D\u805C\u8189\u8186\u8183\u8187\u818D\u818C\u818B\u8215\u8497\u84A4\u84A1\u849F\u84BA\u84CE\u84C2\u84AC\u84AE\u84AB\u84B9\u84B4\u84C1\u84CD\u84AA\u849A\u84B1\u84D0\u849D\u84A7\u84BB\u84A2\u8494\u84C7\u84CC\u849B\u84A9\u84AF\u84A8\u84D6\u8498\u84B6\u84CF\u84A0\u84D7\u84D4\u84D2\u84DB\u84B0\u8491\u8661\u8733\u8723\u8728\u876B\u8740\u872E\u871E\u8721\u8719\u871B\u8743\u872C\u8741\u873E\u8746\u8720\u8732\u872A\u872D\u873C\u8712\u873A\u8731\u8735\u8742\u8726\u8727\u8738\u8724\u871A\u8730\u8711\u88F7\u88E7\u88F1\u88F2\u88FA\u88FE\u88EE\u88FC\u88F6\u88FB"], + ["e440", "\u88F0\u88EC\u88EB\u899D\u89A1\u899F\u899E\u89E9\u89EB\u89E8\u8AAB\u8A99\u8A8B\u8A92\u8A8F\u8A96\u8C3D\u8C68\u8C69\u8CD5\u8CCF\u8CD7\u8D96\u8E09\u8E02\u8DFF\u8E0D\u8DFD\u8E0A\u8E03\u8E07\u8E06\u8E05\u8DFE\u8E00\u8E04\u8F10\u8F11\u8F0E\u8F0D\u9123\u911C\u9120\u9122\u911F\u911D\u911A\u9124\u9121\u911B\u917A\u9172\u9179\u9173\u92A5\u92A4\u9276\u929B\u927A\u92A0\u9294\u92AA\u928D"], + ["e4a1", "\u92A6\u929A\u92AB\u9279\u9297\u927F\u92A3\u92EE\u928E\u9282\u9295\u92A2\u927D\u9288\u92A1\u928A\u9286\u928C\u9299\u92A7\u927E\u9287\u92A9\u929D\u928B\u922D\u969E\u96A1\u96FF\u9758\u977D\u977A\u977E\u9783\u9780\u9782\u977B\u9784\u9781\u977F\u97CE\u97CD\u9816\u98AD\u98AE\u9902\u9900\u9907\u999D\u999C\u99C3\u99B9\u99BB\u99BA\u99C2\u99BD\u99C7\u9AB1\u9AE3\u9AE7\u9B3E\u9B3F\u9B60\u9B61\u9B5F\u9CF1\u9CF2\u9CF5\u9EA7\u50FF\u5103\u5130\u50F8\u5106\u5107\u50F6\u50FE\u510B\u510C\u50FD\u510A\u528B\u528C\u52F1\u52EF\u5648\u5642\u564C\u5635\u5641\u564A\u5649\u5646\u5658"], + ["e540", "\u565A\u5640\u5633\u563D\u562C\u563E\u5638\u562A\u563A\u571A\u58AB\u589D\u58B1\u58A0\u58A3\u58AF\u58AC\u58A5\u58A1\u58FF\u5AFF\u5AF4\u5AFD\u5AF7\u5AF6\u5B03\u5AF8\u5B02\u5AF9\u5B01\u5B07\u5B05\u5B0F\u5C67\u5D99\u5D97\u5D9F\u5D92\u5DA2\u5D93\u5D95\u5DA0\u5D9C\u5DA1\u5D9A\u5D9E\u5E69\u5E5D\u5E60\u5E5C\u7DF3\u5EDB\u5EDE\u5EE1\u5F49\u5FB2\u618B\u6183\u6179\u61B1\u61B0\u61A2\u6189"], + ["e5a1", "\u619B\u6193\u61AF\u61AD\u619F\u6192\u61AA\u61A1\u618D\u6166\u61B3\u622D\u646E\u6470\u6496\u64A0\u6485\u6497\u649C\u648F\u648B\u648A\u648C\u64A3\u649F\u6468\u64B1\u6498\u6576\u657A\u6579\u657B\u65B2\u65B3\u66B5\u66B0\u66A9\u66B2\u66B7\u66AA\u66AF\u6A00\u6A06\u6A17\u69E5\u69F8\u6A15\u69F1\u69E4\u6A20\u69FF\u69EC\u69E2\u6A1B\u6A1D\u69FE\u6A27\u69F2\u69EE\u6A14\u69F7\u69E7\u6A40\u6A08\u69E6\u69FB\u6A0D\u69FC\u69EB\u6A09\u6A04\u6A18\u6A25\u6A0F\u69F6\u6A26\u6A07\u69F4\u6A16\u6B51\u6BA5\u6BA3\u6BA2\u6BA6\u6C01\u6C00\u6BFF\u6C02\u6F41\u6F26\u6F7E\u6F87\u6FC6\u6F92"], + ["e640", "\u6F8D\u6F89\u6F8C\u6F62\u6F4F\u6F85\u6F5A\u6F96\u6F76\u6F6C\u6F82\u6F55\u6F72\u6F52\u6F50\u6F57\u6F94\u6F93\u6F5D\u6F00\u6F61\u6F6B\u6F7D\u6F67\u6F90\u6F53\u6F8B\u6F69\u6F7F\u6F95\u6F63\u6F77\u6F6A\u6F7B\u71B2\u71AF\u719B\u71B0\u71A0\u719A\u71A9\u71B5\u719D\u71A5\u719E\u71A4\u71A1\u71AA\u719C\u71A7\u71B3\u7298\u729A\u7358\u7352\u735E\u735F\u7360\u735D\u735B\u7361\u735A\u7359"], + ["e6a1", "\u7362\u7487\u7489\u748A\u7486\u7481\u747D\u7485\u7488\u747C\u7479\u7508\u7507\u757E\u7625\u761E\u7619\u761D\u761C\u7623\u761A\u7628\u761B\u769C\u769D\u769E\u769B\u778D\u778F\u7789\u7788\u78CD\u78BB\u78CF\u78CC\u78D1\u78CE\u78D4\u78C8\u78C3\u78C4\u78C9\u799A\u79A1\u79A0\u799C\u79A2\u799B\u6B76\u7A39\u7AB2\u7AB4\u7AB3\u7BB7\u7BCB\u7BBE\u7BAC\u7BCE\u7BAF\u7BB9\u7BCA\u7BB5\u7CC5\u7CC8\u7CCC\u7CCB\u7DF7\u7DDB\u7DEA\u7DE7\u7DD7\u7DE1\u7E03\u7DFA\u7DE6\u7DF6\u7DF1\u7DF0\u7DEE\u7DDF\u7F76\u7FAC\u7FB0\u7FAD\u7FED\u7FEB\u7FEA\u7FEC\u7FE6\u7FE8\u8064\u8067\u81A3\u819F"], + ["e740", "\u819E\u8195\u81A2\u8199\u8197\u8216\u824F\u8253\u8252\u8250\u824E\u8251\u8524\u853B\u850F\u8500\u8529\u850E\u8509\u850D\u851F\u850A\u8527\u851C\u84FB\u852B\u84FA\u8508\u850C\u84F4\u852A\u84F2\u8515\u84F7\u84EB\u84F3\u84FC\u8512\u84EA\u84E9\u8516\u84FE\u8528\u851D\u852E\u8502\u84FD\u851E\u84F6\u8531\u8526\u84E7\u84E8\u84F0\u84EF\u84F9\u8518\u8520\u8530\u850B\u8519\u852F\u8662"], + ["e7a1", "\u8756\u8763\u8764\u8777\u87E1\u8773\u8758\u8754\u875B\u8752\u8761\u875A\u8751\u875E\u876D\u876A\u8750\u874E\u875F\u875D\u876F\u876C\u877A\u876E\u875C\u8765\u874F\u877B\u8775\u8762\u8767\u8769\u885A\u8905\u890C\u8914\u890B\u8917\u8918\u8919\u8906\u8916\u8911\u890E\u8909\u89A2\u89A4\u89A3\u89ED\u89F0\u89EC\u8ACF\u8AC6\u8AB8\u8AD3\u8AD1\u8AD4\u8AD5\u8ABB\u8AD7\u8ABE\u8AC0\u8AC5\u8AD8\u8AC3\u8ABA\u8ABD\u8AD9\u8C3E\u8C4D\u8C8F\u8CE5\u8CDF\u8CD9\u8CE8\u8CDA\u8CDD\u8CE7\u8DA0\u8D9C\u8DA1\u8D9B\u8E20\u8E23\u8E25\u8E24\u8E2E\u8E15\u8E1B\u8E16\u8E11\u8E19\u8E26\u8E27"], + ["e840", "\u8E14\u8E12\u8E18\u8E13\u8E1C\u8E17\u8E1A\u8F2C\u8F24\u8F18\u8F1A\u8F20\u8F23\u8F16\u8F17\u9073\u9070\u906F\u9067\u906B\u912F\u912B\u9129\u912A\u9132\u9126\u912E\u9185\u9186\u918A\u9181\u9182\u9184\u9180\u92D0\u92C3\u92C4\u92C0\u92D9\u92B6\u92CF\u92F1\u92DF\u92D8\u92E9\u92D7\u92DD\u92CC\u92EF\u92C2\u92E8\u92CA\u92C8\u92CE\u92E6\u92CD\u92D5\u92C9\u92E0\u92DE\u92E7\u92D1\u92D3"], + ["e8a1", "\u92B5\u92E1\u92C6\u92B4\u957C\u95AC\u95AB\u95AE\u95B0\u96A4\u96A2\u96D3\u9705\u9708\u9702\u975A\u978A\u978E\u9788\u97D0\u97CF\u981E\u981D\u9826\u9829\u9828\u9820\u981B\u9827\u98B2\u9908\u98FA\u9911\u9914\u9916\u9917\u9915\u99DC\u99CD\u99CF\u99D3\u99D4\u99CE\u99C9\u99D6\u99D8\u99CB\u99D7\u99CC\u9AB3\u9AEC\u9AEB\u9AF3\u9AF2\u9AF1\u9B46\u9B43\u9B67\u9B74\u9B71\u9B66\u9B76\u9B75\u9B70\u9B68\u9B64\u9B6C\u9CFC\u9CFA\u9CFD\u9CFF\u9CF7\u9D07\u9D00\u9CF9\u9CFB\u9D08\u9D05\u9D04\u9E83\u9ED3\u9F0F\u9F10\u511C\u5113\u5117\u511A\u5111\u51DE\u5334\u53E1\u5670\u5660\u566E"], + ["e940", "\u5673\u5666\u5663\u566D\u5672\u565E\u5677\u571C\u571B\u58C8\u58BD\u58C9\u58BF\u58BA\u58C2\u58BC\u58C6\u5B17\u5B19\u5B1B\u5B21\u5B14\u5B13\u5B10\u5B16\u5B28\u5B1A\u5B20\u5B1E\u5BEF\u5DAC\u5DB1\u5DA9\u5DA7\u5DB5\u5DB0\u5DAE\u5DAA\u5DA8\u5DB2\u5DAD\u5DAF\u5DB4\u5E67\u5E68\u5E66\u5E6F\u5EE9\u5EE7\u5EE6\u5EE8\u5EE5\u5F4B\u5FBC\u619D\u61A8\u6196\u61C5\u61B4\u61C6\u61C1\u61CC\u61BA"], + ["e9a1", "\u61BF\u61B8\u618C\u64D7\u64D6\u64D0\u64CF\u64C9\u64BD\u6489\u64C3\u64DB\u64F3\u64D9\u6533\u657F\u657C\u65A2\u66C8\u66BE\u66C0\u66CA\u66CB\u66CF\u66BD\u66BB\u66BA\u66CC\u6723\u6A34\u6A66\u6A49\u6A67\u6A32\u6A68\u6A3E\u6A5D\u6A6D\u6A76\u6A5B\u6A51\u6A28\u6A5A\u6A3B\u6A3F\u6A41\u6A6A\u6A64\u6A50\u6A4F\u6A54\u6A6F\u6A69\u6A60\u6A3C\u6A5E\u6A56\u6A55\u6A4D\u6A4E\u6A46\u6B55\u6B54\u6B56\u6BA7\u6BAA\u6BAB\u6BC8\u6BC7\u6C04\u6C03\u6C06\u6FAD\u6FCB\u6FA3\u6FC7\u6FBC\u6FCE\u6FC8\u6F5E\u6FC4\u6FBD\u6F9E\u6FCA\u6FA8\u7004\u6FA5\u6FAE\u6FBA\u6FAC\u6FAA\u6FCF\u6FBF\u6FB8"], + ["ea40", "\u6FA2\u6FC9\u6FAB\u6FCD\u6FAF\u6FB2\u6FB0\u71C5\u71C2\u71BF\u71B8\u71D6\u71C0\u71C1\u71CB\u71D4\u71CA\u71C7\u71CF\u71BD\u71D8\u71BC\u71C6\u71DA\u71DB\u729D\u729E\u7369\u7366\u7367\u736C\u7365\u736B\u736A\u747F\u749A\u74A0\u7494\u7492\u7495\u74A1\u750B\u7580\u762F\u762D\u7631\u763D\u7633\u763C\u7635\u7632\u7630\u76BB\u76E6\u779A\u779D\u77A1\u779C\u779B\u77A2\u77A3\u7795\u7799"], + ["eaa1", "\u7797\u78DD\u78E9\u78E5\u78EA\u78DE\u78E3\u78DB\u78E1\u78E2\u78ED\u78DF\u78E0\u79A4\u7A44\u7A48\u7A47\u7AB6\u7AB8\u7AB5\u7AB1\u7AB7\u7BDE\u7BE3\u7BE7\u7BDD\u7BD5\u7BE5\u7BDA\u7BE8\u7BF9\u7BD4\u7BEA\u7BE2\u7BDC\u7BEB\u7BD8\u7BDF\u7CD2\u7CD4\u7CD7\u7CD0\u7CD1\u7E12\u7E21\u7E17\u7E0C\u7E1F\u7E20\u7E13\u7E0E\u7E1C\u7E15\u7E1A\u7E22\u7E0B\u7E0F\u7E16\u7E0D\u7E14\u7E25\u7E24\u7F43\u7F7B\u7F7C\u7F7A\u7FB1\u7FEF\u802A\u8029\u806C\u81B1\u81A6\u81AE\u81B9\u81B5\u81AB\u81B0\u81AC\u81B4\u81B2\u81B7\u81A7\u81F2\u8255\u8256\u8257\u8556\u8545\u856B\u854D\u8553\u8561\u8558"], + ["eb40", "\u8540\u8546\u8564\u8541\u8562\u8544\u8551\u8547\u8563\u853E\u855B\u8571\u854E\u856E\u8575\u8555\u8567\u8560\u858C\u8566\u855D\u8554\u8565\u856C\u8663\u8665\u8664\u879B\u878F\u8797\u8793\u8792\u8788\u8781\u8796\u8798\u8779\u8787\u87A3\u8785\u8790\u8791\u879D\u8784\u8794\u879C\u879A\u8789\u891E\u8926\u8930\u892D\u892E\u8927\u8931\u8922\u8929\u8923\u892F\u892C\u891F\u89F1\u8AE0"], + ["eba1", "\u8AE2\u8AF2\u8AF4\u8AF5\u8ADD\u8B14\u8AE4\u8ADF\u8AF0\u8AC8\u8ADE\u8AE1\u8AE8\u8AFF\u8AEF\u8AFB\u8C91\u8C92\u8C90\u8CF5\u8CEE\u8CF1\u8CF0\u8CF3\u8D6C\u8D6E\u8DA5\u8DA7\u8E33\u8E3E\u8E38\u8E40\u8E45\u8E36\u8E3C\u8E3D\u8E41\u8E30\u8E3F\u8EBD\u8F36\u8F2E\u8F35\u8F32\u8F39\u8F37\u8F34\u9076\u9079\u907B\u9086\u90FA\u9133\u9135\u9136\u9193\u9190\u9191\u918D\u918F\u9327\u931E\u9308\u931F\u9306\u930F\u937A\u9338\u933C\u931B\u9323\u9312\u9301\u9346\u932D\u930E\u930D\u92CB\u931D\u92FA\u9325\u9313\u92F9\u92F7\u9334\u9302\u9324\u92FF\u9329\u9339\u9335\u932A\u9314\u930C"], + ["ec40", "\u930B\u92FE\u9309\u9300\u92FB\u9316\u95BC\u95CD\u95BE\u95B9\u95BA\u95B6\u95BF\u95B5\u95BD\u96A9\u96D4\u970B\u9712\u9710\u9799\u9797\u9794\u97F0\u97F8\u9835\u982F\u9832\u9924\u991F\u9927\u9929\u999E\u99EE\u99EC\u99E5\u99E4\u99F0\u99E3\u99EA\u99E9\u99E7\u9AB9\u9ABF\u9AB4\u9ABB\u9AF6\u9AFA\u9AF9\u9AF7\u9B33\u9B80\u9B85\u9B87\u9B7C\u9B7E\u9B7B\u9B82\u9B93\u9B92\u9B90\u9B7A\u9B95"], + ["eca1", "\u9B7D\u9B88\u9D25\u9D17\u9D20\u9D1E\u9D14\u9D29\u9D1D\u9D18\u9D22\u9D10\u9D19\u9D1F\u9E88\u9E86\u9E87\u9EAE\u9EAD\u9ED5\u9ED6\u9EFA\u9F12\u9F3D\u5126\u5125\u5122\u5124\u5120\u5129\u52F4\u5693\u568C\u568D\u5686\u5684\u5683\u567E\u5682\u567F\u5681\u58D6\u58D4\u58CF\u58D2\u5B2D\u5B25\u5B32\u5B23\u5B2C\u5B27\u5B26\u5B2F\u5B2E\u5B7B\u5BF1\u5BF2\u5DB7\u5E6C\u5E6A\u5FBE\u5FBB\u61C3\u61B5\u61BC\u61E7\u61E0\u61E5\u61E4\u61E8\u61DE\u64EF\u64E9\u64E3\u64EB\u64E4\u64E8\u6581\u6580\u65B6\u65DA\u66D2\u6A8D\u6A96\u6A81\u6AA5\u6A89\u6A9F\u6A9B\u6AA1\u6A9E\u6A87\u6A93\u6A8E"], + ["ed40", "\u6A95\u6A83\u6AA8\u6AA4\u6A91\u6A7F\u6AA6\u6A9A\u6A85\u6A8C\u6A92\u6B5B\u6BAD\u6C09\u6FCC\u6FA9\u6FF4\u6FD4\u6FE3\u6FDC\u6FED\u6FE7\u6FE6\u6FDE\u6FF2\u6FDD\u6FE2\u6FE8\u71E1\u71F1\u71E8\u71F2\u71E4\u71F0\u71E2\u7373\u736E\u736F\u7497\u74B2\u74AB\u7490\u74AA\u74AD\u74B1\u74A5\u74AF\u7510\u7511\u7512\u750F\u7584\u7643\u7648\u7649\u7647\u76A4\u76E9\u77B5\u77AB\u77B2\u77B7\u77B6"], + ["eda1", "\u77B4\u77B1\u77A8\u77F0\u78F3\u78FD\u7902\u78FB\u78FC\u78F2\u7905\u78F9\u78FE\u7904\u79AB\u79A8\u7A5C\u7A5B\u7A56\u7A58\u7A54\u7A5A\u7ABE\u7AC0\u7AC1\u7C05\u7C0F\u7BF2\u7C00\u7BFF\u7BFB\u7C0E\u7BF4\u7C0B\u7BF3\u7C02\u7C09\u7C03\u7C01\u7BF8\u7BFD\u7C06\u7BF0\u7BF1\u7C10\u7C0A\u7CE8\u7E2D\u7E3C\u7E42\u7E33\u9848\u7E38\u7E2A\u7E49\u7E40\u7E47\u7E29\u7E4C\u7E30\u7E3B\u7E36\u7E44\u7E3A\u7F45\u7F7F\u7F7E\u7F7D\u7FF4\u7FF2\u802C\u81BB\u81C4\u81CC\u81CA\u81C5\u81C7\u81BC\u81E9\u825B\u825A\u825C\u8583\u8580\u858F\u85A7\u8595\u85A0\u858B\u85A3\u857B\u85A4\u859A\u859E"], + ["ee40", "\u8577\u857C\u8589\u85A1\u857A\u8578\u8557\u858E\u8596\u8586\u858D\u8599\u859D\u8581\u85A2\u8582\u8588\u8585\u8579\u8576\u8598\u8590\u859F\u8668\u87BE\u87AA\u87AD\u87C5\u87B0\u87AC\u87B9\u87B5\u87BC\u87AE\u87C9\u87C3\u87C2\u87CC\u87B7\u87AF\u87C4\u87CA\u87B4\u87B6\u87BF\u87B8\u87BD\u87DE\u87B2\u8935\u8933\u893C\u893E\u8941\u8952\u8937\u8942\u89AD\u89AF\u89AE\u89F2\u89F3\u8B1E"], + ["eea1", "\u8B18\u8B16\u8B11\u8B05\u8B0B\u8B22\u8B0F\u8B12\u8B15\u8B07\u8B0D\u8B08\u8B06\u8B1C\u8B13\u8B1A\u8C4F\u8C70\u8C72\u8C71\u8C6F\u8C95\u8C94\u8CF9\u8D6F\u8E4E\u8E4D\u8E53\u8E50\u8E4C\u8E47\u8F43\u8F40\u9085\u907E\u9138\u919A\u91A2\u919B\u9199\u919F\u91A1\u919D\u91A0\u93A1\u9383\u93AF\u9364\u9356\u9347\u937C\u9358\u935C\u9376\u9349\u9350\u9351\u9360\u936D\u938F\u934C\u936A\u9379\u9357\u9355\u9352\u934F\u9371\u9377\u937B\u9361\u935E\u9363\u9367\u9380\u934E\u9359\u95C7\u95C0\u95C9\u95C3\u95C5\u95B7\u96AE\u96B0\u96AC\u9720\u971F\u9718\u971D\u9719\u979A\u97A1\u979C"], + ["ef40", "\u979E\u979D\u97D5\u97D4\u97F1\u9841\u9844\u984A\u9849\u9845\u9843\u9925\u992B\u992C\u992A\u9933\u9932\u992F\u992D\u9931\u9930\u9998\u99A3\u99A1\u9A02\u99FA\u99F4\u99F7\u99F9\u99F8\u99F6\u99FB\u99FD\u99FE\u99FC\u9A03\u9ABE\u9AFE\u9AFD\u9B01\u9AFC\u9B48\u9B9A\u9BA8\u9B9E\u9B9B\u9BA6\u9BA1\u9BA5\u9BA4\u9B86\u9BA2\u9BA0\u9BAF\u9D33\u9D41\u9D67\u9D36\u9D2E\u9D2F\u9D31\u9D38\u9D30"], + ["efa1", "\u9D45\u9D42\u9D43\u9D3E\u9D37\u9D40\u9D3D\u7FF5\u9D2D\u9E8A\u9E89\u9E8D\u9EB0\u9EC8\u9EDA\u9EFB\u9EFF\u9F24\u9F23\u9F22\u9F54\u9FA0\u5131\u512D\u512E\u5698\u569C\u5697\u569A\u569D\u5699\u5970\u5B3C\u5C69\u5C6A\u5DC0\u5E6D\u5E6E\u61D8\u61DF\u61ED\u61EE\u61F1\u61EA\u61F0\u61EB\u61D6\u61E9\u64FF\u6504\u64FD\u64F8\u6501\u6503\u64FC\u6594\u65DB\u66DA\u66DB\u66D8\u6AC5\u6AB9\u6ABD\u6AE1\u6AC6\u6ABA\u6AB6\u6AB7\u6AC7\u6AB4\u6AAD\u6B5E\u6BC9\u6C0B\u7007\u700C\u700D\u7001\u7005\u7014\u700E\u6FFF\u7000\u6FFB\u7026\u6FFC\u6FF7\u700A\u7201\u71FF\u71F9\u7203\u71FD\u7376"], + ["f040", "\u74B8\u74C0\u74B5\u74C1\u74BE\u74B6\u74BB\u74C2\u7514\u7513\u765C\u7664\u7659\u7650\u7653\u7657\u765A\u76A6\u76BD\u76EC\u77C2\u77BA\u78FF\u790C\u7913\u7914\u7909\u7910\u7912\u7911\u79AD\u79AC\u7A5F\u7C1C\u7C29\u7C19\u7C20\u7C1F\u7C2D\u7C1D\u7C26\u7C28\u7C22\u7C25\u7C30\u7E5C\u7E50\u7E56\u7E63\u7E58\u7E62\u7E5F\u7E51\u7E60\u7E57\u7E53\u7FB5\u7FB3\u7FF7\u7FF8\u8075\u81D1\u81D2"], + ["f0a1", "\u81D0\u825F\u825E\u85B4\u85C6\u85C0\u85C3\u85C2\u85B3\u85B5\u85BD\u85C7\u85C4\u85BF\u85CB\u85CE\u85C8\u85C5\u85B1\u85B6\u85D2\u8624\u85B8\u85B7\u85BE\u8669\u87E7\u87E6\u87E2\u87DB\u87EB\u87EA\u87E5\u87DF\u87F3\u87E4\u87D4\u87DC\u87D3\u87ED\u87D8\u87E3\u87A4\u87D7\u87D9\u8801\u87F4\u87E8\u87DD\u8953\u894B\u894F\u894C\u8946\u8950\u8951\u8949\u8B2A\u8B27\u8B23\u8B33\u8B30\u8B35\u8B47\u8B2F\u8B3C\u8B3E\u8B31\u8B25\u8B37\u8B26\u8B36\u8B2E\u8B24\u8B3B\u8B3D\u8B3A\u8C42\u8C75\u8C99\u8C98\u8C97\u8CFE\u8D04\u8D02\u8D00\u8E5C\u8E62\u8E60\u8E57\u8E56\u8E5E\u8E65\u8E67"], + ["f140", "\u8E5B\u8E5A\u8E61\u8E5D\u8E69\u8E54\u8F46\u8F47\u8F48\u8F4B\u9128\u913A\u913B\u913E\u91A8\u91A5\u91A7\u91AF\u91AA\u93B5\u938C\u9392\u93B7\u939B\u939D\u9389\u93A7\u938E\u93AA\u939E\u93A6\u9395\u9388\u9399\u939F\u938D\u93B1\u9391\u93B2\u93A4\u93A8\u93B4\u93A3\u93A5\u95D2\u95D3\u95D1\u96B3\u96D7\u96DA\u5DC2\u96DF\u96D8\u96DD\u9723\u9722\u9725\u97AC\u97AE\u97A8\u97AB\u97A4\u97AA"], + ["f1a1", "\u97A2\u97A5\u97D7\u97D9\u97D6\u97D8\u97FA\u9850\u9851\u9852\u98B8\u9941\u993C\u993A\u9A0F\u9A0B\u9A09\u9A0D\u9A04\u9A11\u9A0A\u9A05\u9A07\u9A06\u9AC0\u9ADC\u9B08\u9B04\u9B05\u9B29\u9B35\u9B4A\u9B4C\u9B4B\u9BC7\u9BC6\u9BC3\u9BBF\u9BC1\u9BB5\u9BB8\u9BD3\u9BB6\u9BC4\u9BB9\u9BBD\u9D5C\u9D53\u9D4F\u9D4A\u9D5B\u9D4B\u9D59\u9D56\u9D4C\u9D57\u9D52\u9D54\u9D5F\u9D58\u9D5A\u9E8E\u9E8C\u9EDF\u9F01\u9F00\u9F16\u9F25\u9F2B\u9F2A\u9F29\u9F28\u9F4C\u9F55\u5134\u5135\u5296\u52F7\u53B4\u56AB\u56AD\u56A6\u56A7\u56AA\u56AC\u58DA\u58DD\u58DB\u5912\u5B3D\u5B3E\u5B3F\u5DC3\u5E70"], + ["f240", "\u5FBF\u61FB\u6507\u6510\u650D\u6509\u650C\u650E\u6584\u65DE\u65DD\u66DE\u6AE7\u6AE0\u6ACC\u6AD1\u6AD9\u6ACB\u6ADF\u6ADC\u6AD0\u6AEB\u6ACF\u6ACD\u6ADE\u6B60\u6BB0\u6C0C\u7019\u7027\u7020\u7016\u702B\u7021\u7022\u7023\u7029\u7017\u7024\u701C\u702A\u720C\u720A\u7207\u7202\u7205\u72A5\u72A6\u72A4\u72A3\u72A1\u74CB\u74C5\u74B7\u74C3\u7516\u7660\u77C9\u77CA\u77C4\u77F1\u791D\u791B"], + ["f2a1", "\u7921\u791C\u7917\u791E\u79B0\u7A67\u7A68\u7C33\u7C3C\u7C39\u7C2C\u7C3B\u7CEC\u7CEA\u7E76\u7E75\u7E78\u7E70\u7E77\u7E6F\u7E7A\u7E72\u7E74\u7E68\u7F4B\u7F4A\u7F83\u7F86\u7FB7\u7FFD\u7FFE\u8078\u81D7\u81D5\u8264\u8261\u8263\u85EB\u85F1\u85ED\u85D9\u85E1\u85E8\u85DA\u85D7\u85EC\u85F2\u85F8\u85D8\u85DF\u85E3\u85DC\u85D1\u85F0\u85E6\u85EF\u85DE\u85E2\u8800\u87FA\u8803\u87F6\u87F7\u8809\u880C\u880B\u8806\u87FC\u8808\u87FF\u880A\u8802\u8962\u895A\u895B\u8957\u8961\u895C\u8958\u895D\u8959\u8988\u89B7\u89B6\u89F6\u8B50\u8B48\u8B4A\u8B40\u8B53\u8B56\u8B54\u8B4B\u8B55"], + ["f340", "\u8B51\u8B42\u8B52\u8B57\u8C43\u8C77\u8C76\u8C9A\u8D06\u8D07\u8D09\u8DAC\u8DAA\u8DAD\u8DAB\u8E6D\u8E78\u8E73\u8E6A\u8E6F\u8E7B\u8EC2\u8F52\u8F51\u8F4F\u8F50\u8F53\u8FB4\u9140\u913F\u91B0\u91AD\u93DE\u93C7\u93CF\u93C2\u93DA\u93D0\u93F9\u93EC\u93CC\u93D9\u93A9\u93E6\u93CA\u93D4\u93EE\u93E3\u93D5\u93C4\u93CE\u93C0\u93D2\u93E7\u957D\u95DA\u95DB\u96E1\u9729\u972B\u972C\u9728\u9726"], + ["f3a1", "\u97B3\u97B7\u97B6\u97DD\u97DE\u97DF\u985C\u9859\u985D\u9857\u98BF\u98BD\u98BB\u98BE\u9948\u9947\u9943\u99A6\u99A7\u9A1A\u9A15\u9A25\u9A1D\u9A24\u9A1B\u9A22\u9A20\u9A27\u9A23\u9A1E\u9A1C\u9A14\u9AC2\u9B0B\u9B0A\u9B0E\u9B0C\u9B37\u9BEA\u9BEB\u9BE0\u9BDE\u9BE4\u9BE6\u9BE2\u9BF0\u9BD4\u9BD7\u9BEC\u9BDC\u9BD9\u9BE5\u9BD5\u9BE1\u9BDA\u9D77\u9D81\u9D8A\u9D84\u9D88\u9D71\u9D80\u9D78\u9D86\u9D8B\u9D8C\u9D7D\u9D6B\u9D74\u9D75\u9D70\u9D69\u9D85\u9D73\u9D7B\u9D82\u9D6F\u9D79\u9D7F\u9D87\u9D68\u9E94\u9E91\u9EC0\u9EFC\u9F2D\u9F40\u9F41\u9F4D\u9F56\u9F57\u9F58\u5337\u56B2"], + ["f440", "\u56B5\u56B3\u58E3\u5B45\u5DC6\u5DC7\u5EEE\u5EEF\u5FC0\u5FC1\u61F9\u6517\u6516\u6515\u6513\u65DF\u66E8\u66E3\u66E4\u6AF3\u6AF0\u6AEA\u6AE8\u6AF9\u6AF1\u6AEE\u6AEF\u703C\u7035\u702F\u7037\u7034\u7031\u7042\u7038\u703F\u703A\u7039\u7040\u703B\u7033\u7041\u7213\u7214\u72A8\u737D\u737C\u74BA\u76AB\u76AA\u76BE\u76ED\u77CC\u77CE\u77CF\u77CD\u77F2\u7925\u7923\u7927\u7928\u7924\u7929"], + ["f4a1", "\u79B2\u7A6E\u7A6C\u7A6D\u7AF7\u7C49\u7C48\u7C4A\u7C47\u7C45\u7CEE\u7E7B\u7E7E\u7E81\u7E80\u7FBA\u7FFF\u8079\u81DB\u81D9\u820B\u8268\u8269\u8622\u85FF\u8601\u85FE\u861B\u8600\u85F6\u8604\u8609\u8605\u860C\u85FD\u8819\u8810\u8811\u8817\u8813\u8816\u8963\u8966\u89B9\u89F7\u8B60\u8B6A\u8B5D\u8B68\u8B63\u8B65\u8B67\u8B6D\u8DAE\u8E86\u8E88\u8E84\u8F59\u8F56\u8F57\u8F55\u8F58\u8F5A\u908D\u9143\u9141\u91B7\u91B5\u91B2\u91B3\u940B\u9413\u93FB\u9420\u940F\u9414\u93FE\u9415\u9410\u9428\u9419\u940D\u93F5\u9400\u93F7\u9407\u940E\u9416\u9412\u93FA\u9409\u93F8\u940A\u93FF"], + ["f540", "\u93FC\u940C\u93F6\u9411\u9406\u95DE\u95E0\u95DF\u972E\u972F\u97B9\u97BB\u97FD\u97FE\u9860\u9862\u9863\u985F\u98C1\u98C2\u9950\u994E\u9959\u994C\u994B\u9953\u9A32\u9A34\u9A31\u9A2C\u9A2A\u9A36\u9A29\u9A2E\u9A38\u9A2D\u9AC7\u9ACA\u9AC6\u9B10\u9B12\u9B11\u9C0B\u9C08\u9BF7\u9C05\u9C12\u9BF8\u9C40\u9C07\u9C0E\u9C06\u9C17\u9C14\u9C09\u9D9F\u9D99\u9DA4\u9D9D\u9D92\u9D98\u9D90\u9D9B"], + ["f5a1", "\u9DA0\u9D94\u9D9C\u9DAA\u9D97\u9DA1\u9D9A\u9DA2\u9DA8\u9D9E\u9DA3\u9DBF\u9DA9\u9D96\u9DA6\u9DA7\u9E99\u9E9B\u9E9A\u9EE5\u9EE4\u9EE7\u9EE6\u9F30\u9F2E\u9F5B\u9F60\u9F5E\u9F5D\u9F59\u9F91\u513A\u5139\u5298\u5297\u56C3\u56BD\u56BE\u5B48\u5B47\u5DCB\u5DCF\u5EF1\u61FD\u651B\u6B02\u6AFC\u6B03\u6AF8\u6B00\u7043\u7044\u704A\u7048\u7049\u7045\u7046\u721D\u721A\u7219\u737E\u7517\u766A\u77D0\u792D\u7931\u792F\u7C54\u7C53\u7CF2\u7E8A\u7E87\u7E88\u7E8B\u7E86\u7E8D\u7F4D\u7FBB\u8030\u81DD\u8618\u862A\u8626\u861F\u8623\u861C\u8619\u8627\u862E\u8621\u8620\u8629\u861E\u8625"], + ["f640", "\u8829\u881D\u881B\u8820\u8824\u881C\u882B\u884A\u896D\u8969\u896E\u896B\u89FA\u8B79\u8B78\u8B45\u8B7A\u8B7B\u8D10\u8D14\u8DAF\u8E8E\u8E8C\u8F5E\u8F5B\u8F5D\u9146\u9144\u9145\u91B9\u943F\u943B\u9436\u9429\u943D\u943C\u9430\u9439\u942A\u9437\u942C\u9440\u9431\u95E5\u95E4\u95E3\u9735\u973A\u97BF\u97E1\u9864\u98C9\u98C6\u98C0\u9958\u9956\u9A39\u9A3D\u9A46\u9A44\u9A42\u9A41\u9A3A"], + ["f6a1", "\u9A3F\u9ACD\u9B15\u9B17\u9B18\u9B16\u9B3A\u9B52\u9C2B\u9C1D\u9C1C\u9C2C\u9C23\u9C28\u9C29\u9C24\u9C21\u9DB7\u9DB6\u9DBC\u9DC1\u9DC7\u9DCA\u9DCF\u9DBE\u9DC5\u9DC3\u9DBB\u9DB5\u9DCE\u9DB9\u9DBA\u9DAC\u9DC8\u9DB1\u9DAD\u9DCC\u9DB3\u9DCD\u9DB2\u9E7A\u9E9C\u9EEB\u9EEE\u9EED\u9F1B\u9F18\u9F1A\u9F31\u9F4E\u9F65\u9F64\u9F92\u4EB9\u56C6\u56C5\u56CB\u5971\u5B4B\u5B4C\u5DD5\u5DD1\u5EF2\u6521\u6520\u6526\u6522\u6B0B\u6B08\u6B09\u6C0D\u7055\u7056\u7057\u7052\u721E\u721F\u72A9\u737F\u74D8\u74D5\u74D9\u74D7\u766D\u76AD\u7935\u79B4\u7A70\u7A71\u7C57\u7C5C\u7C59\u7C5B\u7C5A"], + ["f740", "\u7CF4\u7CF1\u7E91\u7F4F\u7F87\u81DE\u826B\u8634\u8635\u8633\u862C\u8632\u8636\u882C\u8828\u8826\u882A\u8825\u8971\u89BF\u89BE\u89FB\u8B7E\u8B84\u8B82\u8B86\u8B85\u8B7F\u8D15\u8E95\u8E94\u8E9A\u8E92\u8E90\u8E96\u8E97\u8F60\u8F62\u9147\u944C\u9450\u944A\u944B\u944F\u9447\u9445\u9448\u9449\u9446\u973F\u97E3\u986A\u9869\u98CB\u9954\u995B\u9A4E\u9A53\u9A54\u9A4C\u9A4F\u9A48\u9A4A"], + ["f7a1", "\u9A49\u9A52\u9A50\u9AD0\u9B19\u9B2B\u9B3B\u9B56\u9B55\u9C46\u9C48\u9C3F\u9C44\u9C39\u9C33\u9C41\u9C3C\u9C37\u9C34\u9C32\u9C3D\u9C36\u9DDB\u9DD2\u9DDE\u9DDA\u9DCB\u9DD0\u9DDC\u9DD1\u9DDF\u9DE9\u9DD9\u9DD8\u9DD6\u9DF5\u9DD5\u9DDD\u9EB6\u9EF0\u9F35\u9F33\u9F32\u9F42\u9F6B\u9F95\u9FA2\u513D\u5299\u58E8\u58E7\u5972\u5B4D\u5DD8\u882F\u5F4F\u6201\u6203\u6204\u6529\u6525\u6596\u66EB\u6B11\u6B12\u6B0F\u6BCA\u705B\u705A\u7222\u7382\u7381\u7383\u7670\u77D4\u7C67\u7C66\u7E95\u826C\u863A\u8640\u8639\u863C\u8631\u863B\u863E\u8830\u8832\u882E\u8833\u8976\u8974\u8973\u89FE"], + ["f840", "\u8B8C\u8B8E\u8B8B\u8B88\u8C45\u8D19\u8E98\u8F64\u8F63\u91BC\u9462\u9455\u945D\u9457\u945E\u97C4\u97C5\u9800\u9A56\u9A59\u9B1E\u9B1F\u9B20\u9C52\u9C58\u9C50\u9C4A\u9C4D\u9C4B\u9C55\u9C59\u9C4C\u9C4E\u9DFB\u9DF7\u9DEF\u9DE3\u9DEB\u9DF8\u9DE4\u9DF6\u9DE1\u9DEE\u9DE6\u9DF2\u9DF0\u9DE2\u9DEC\u9DF4\u9DF3\u9DE8\u9DED\u9EC2\u9ED0\u9EF2\u9EF3\u9F06\u9F1C\u9F38\u9F37\u9F36\u9F43\u9F4F"], + ["f8a1", "\u9F71\u9F70\u9F6E\u9F6F\u56D3\u56CD\u5B4E\u5C6D\u652D\u66ED\u66EE\u6B13\u705F\u7061\u705D\u7060\u7223\u74DB\u74E5\u77D5\u7938\u79B7\u79B6\u7C6A\u7E97\u7F89\u826D\u8643\u8838\u8837\u8835\u884B\u8B94\u8B95\u8E9E\u8E9F\u8EA0\u8E9D\u91BE\u91BD\u91C2\u946B\u9468\u9469\u96E5\u9746\u9743\u9747\u97C7\u97E5\u9A5E\u9AD5\u9B59\u9C63\u9C67\u9C66\u9C62\u9C5E\u9C60\u9E02\u9DFE\u9E07\u9E03\u9E06\u9E05\u9E00\u9E01\u9E09\u9DFF\u9DFD\u9E04\u9EA0\u9F1E\u9F46\u9F74\u9F75\u9F76\u56D4\u652E\u65B8\u6B18\u6B19\u6B17\u6B1A\u7062\u7226\u72AA\u77D8\u77D9\u7939\u7C69\u7C6B\u7CF6\u7E9A"], + ["f940", "\u7E98\u7E9B\u7E99\u81E0\u81E1\u8646\u8647\u8648\u8979\u897A\u897C\u897B\u89FF\u8B98\u8B99\u8EA5\u8EA4\u8EA3\u946E\u946D\u946F\u9471\u9473\u9749\u9872\u995F\u9C68\u9C6E\u9C6D\u9E0B\u9E0D\u9E10\u9E0F\u9E12\u9E11\u9EA1\u9EF5\u9F09\u9F47\u9F78\u9F7B\u9F7A\u9F79\u571E\u7066\u7C6F\u883C\u8DB2\u8EA6\u91C3\u9474\u9478\u9476\u9475\u9A60\u9C74\u9C73\u9C71\u9C75\u9E14\u9E13\u9EF6\u9F0A"], + ["f9a1", "\u9FA4\u7068\u7065\u7CF7\u866A\u883E\u883D\u883F\u8B9E\u8C9C\u8EA9\u8EC9\u974B\u9873\u9874\u98CC\u9961\u99AB\u9A64\u9A66\u9A67\u9B24\u9E15\u9E17\u9F48\u6207\u6B1E\u7227\u864C\u8EA8\u9482\u9480\u9481\u9A69\u9A68\u9B2E\u9E19\u7229\u864B\u8B9F\u9483\u9C79\u9EB7\u7675\u9A6B\u9C7A\u9E1D\u7069\u706A\u9EA4\u9F7E\u9F49\u9F98\u7881\u92B9\u88CF\u58BB\u6052\u7CA7\u5AFA\u2554\u2566\u2557\u2560\u256C\u2563\u255A\u2569\u255D\u2552\u2564\u2555\u255E\u256A\u2561\u2558\u2567\u255B\u2553\u2565\u2556\u255F\u256B\u2562\u2559\u2568\u255C\u2551\u2550\u256D\u256E\u2570\u256F\u2593"] + ]; + } +}); +var require_big5_added = __commonJS2({ + "node_modules/raw-body/node_modules/iconv-lite/encodings/tables/big5-added.json"(exports2, module2) { + module2.exports = [ + ["8740", "\u43F0\u4C32\u4603\u45A6\u4578\u{27267}\u4D77\u45B3\u{27CB1}\u4CE2\u{27CC5}\u3B95\u4736\u4744\u4C47\u4C40\u{242BF}\u{23617}\u{27352}\u{26E8B}\u{270D2}\u4C57\u{2A351}\u474F\u45DA\u4C85\u{27C6C}\u4D07\u4AA4\u46A1\u{26B23}\u7225\u{25A54}\u{21A63}\u{23E06}\u{23F61}\u664D\u56FB"], + ["8767", "\u7D95\u591D\u{28BB9}\u3DF4\u9734\u{27BEF}\u5BDB\u{21D5E}\u5AA4\u3625\u{29EB0}\u5AD1\u5BB7\u5CFC\u676E\u8593\u{29945}\u7461\u749D\u3875\u{21D53}\u{2369E}\u{26021}\u3EEC"], + ["87a1", "\u{258DE}\u3AF5\u7AFC\u9F97\u{24161}\u{2890D}\u{231EA}\u{20A8A}\u{2325E}\u430A\u8484\u9F96\u942F\u4930\u8613\u5896\u974A\u9218\u79D0\u7A32\u6660\u6A29\u889D\u744C\u7BC5\u6782\u7A2C\u524F\u9046\u34E6\u73C4\u{25DB9}\u74C6\u9FC7\u57B3\u492F\u544C\u4131\u{2368E}\u5818\u7A72\u{27B65}\u8B8F\u46AE\u{26E88}\u4181\u{25D99}\u7BAE\u{224BC}\u9FC8\u{224C1}\u{224C9}\u{224CC}\u9FC9\u8504\u{235BB}\u40B4\u9FCA\u44E1\u{2ADFF}\u62C1\u706E\u9FCB"], + ["8840", "\u31C0", 4, "\u{2010C}\u31C5\u{200D1}\u{200CD}\u31C6\u31C7\u{200CB}\u{21FE8}\u31C8\u{200CA}\u31C9\u31CA\u31CB\u31CC\u{2010E}\u31CD\u31CE\u0100\xC1\u01CD\xC0\u0112\xC9\u011A\xC8\u014C\xD3\u01D1\xD2\u0FFF\xCA\u0304\u1EBE\u0FFF\xCA\u030C\u1EC0\xCA\u0101\xE1\u01CE\xE0\u0251\u0113\xE9\u011B\xE8\u012B\xED\u01D0\xEC\u014D\xF3\u01D2\xF2\u016B\xFA\u01D4\xF9\u01D6\u01D8\u01DA"], + ["88a1", "\u01DC\xFC\u0FFF\xEA\u0304\u1EBF\u0FFF\xEA\u030C\u1EC1\xEA\u0261\u23DA\u23DB"], + ["8940", "\u{2A3A9}\u{21145}"], + ["8943", "\u650A"], + ["8946", "\u4E3D\u6EDD\u9D4E\u91DF"], + ["894c", "\u{27735}\u6491\u4F1A\u4F28\u4FA8\u5156\u5174\u519C\u51E4\u52A1\u52A8\u533B\u534E\u53D1\u53D8\u56E2\u58F0\u5904\u5907\u5932\u5934\u5B66\u5B9E\u5B9F\u5C9A\u5E86\u603B\u6589\u67FE\u6804\u6865\u6D4E\u70BC\u7535\u7EA4\u7EAC\u7EBA\u7EC7\u7ECF\u7EDF\u7F06\u7F37\u827A\u82CF\u836F\u89C6\u8BBE\u8BE2\u8F66\u8F67\u8F6E"], + ["89a1", "\u7411\u7CFC\u7DCD\u6946\u7AC9\u5227"], + ["89ab", "\u918C\u78B8\u915E\u80BC"], + ["89b0", "\u8D0B\u80F6\u{209E7}"], + ["89b5", "\u809F\u9EC7\u4CCD\u9DC9\u9E0C\u4C3E\u{29DF6}\u{2700E}\u9E0A\u{2A133}\u35C1"], + ["89c1", "\u6E9A\u823E\u7519"], + ["89c5", "\u4911\u9A6C\u9A8F\u9F99\u7987\u{2846C}\u{21DCA}\u{205D0}\u{22AE6}\u4E24\u4E81\u4E80\u4E87\u4EBF\u4EEB\u4F37\u344C\u4FBD\u3E48\u5003\u5088\u347D\u3493\u34A5\u5186\u5905\u51DB\u51FC\u5205\u4E89\u5279\u5290\u5327\u35C7\u53A9\u3551\u53B0\u3553\u53C2\u5423\u356D\u3572\u3681\u5493\u54A3\u54B4\u54B9\u54D0\u54EF\u5518\u5523\u5528\u3598\u553F\u35A5\u35BF\u55D7\u35C5"], + ["8a40", "\u{27D84}\u5525"], + ["8a43", "\u{20C42}\u{20D15}\u{2512B}\u5590\u{22CC6}\u39EC\u{20341}\u8E46\u{24DB8}\u{294E5}\u4053\u{280BE}\u777A\u{22C38}\u3A34\u47D5\u{2815D}\u{269F2}\u{24DEA}\u64DD\u{20D7C}\u{20FB4}\u{20CD5}\u{210F4}\u648D\u8E7E\u{20E96}\u{20C0B}\u{20F64}\u{22CA9}\u{28256}\u{244D3}"], + ["8a64", "\u{20D46}\u{29A4D}\u{280E9}\u47F4\u{24EA7}\u{22CC2}\u9AB2\u3A67\u{295F4}\u3FED\u3506\u{252C7}\u{297D4}\u{278C8}\u{22D44}\u9D6E\u9815"], + ["8a76", "\u43D9\u{260A5}\u64B4\u54E3\u{22D4C}\u{22BCA}\u{21077}\u39FB\u{2106F}"], + ["8aa1", "\u{266DA}\u{26716}\u{279A0}\u64EA\u{25052}\u{20C43}\u8E68\u{221A1}\u{28B4C}\u{20731}"], + ["8aac", "\u480B\u{201A9}\u3FFA\u5873\u{22D8D}"], + ["8ab2", "\u{245C8}\u{204FC}\u{26097}\u{20F4C}\u{20D96}\u5579\u40BB\u43BA"], + ["8abb", "\u4AB4\u{22A66}\u{2109D}\u81AA\u98F5\u{20D9C}\u6379\u39FE\u{22775}\u8DC0\u56A1\u647C\u3E43"], + ["8ac9", "\u{2A601}\u{20E09}\u{22ACF}\u{22CC9}"], + ["8ace", "\u{210C8}\u{239C2}\u3992\u3A06\u{2829B}\u3578\u{25E49}\u{220C7}\u5652\u{20F31}\u{22CB2}\u{29720}\u34BC\u6C3D\u{24E3B}"], + ["8adf", "\u{27574}\u{22E8B}\u{22208}\u{2A65B}\u{28CCD}\u{20E7A}\u{20C34}\u{2681C}\u7F93\u{210CF}\u{22803}\u{22939}\u35FB\u{251E3}\u{20E8C}\u{20F8D}\u{20EAA}\u3F93\u{20F30}\u{20D47}\u{2114F}\u{20E4C}"], + ["8af6", "\u{20EAB}\u{20BA9}\u{20D48}\u{210C0}\u{2113D}\u3FF9\u{22696}\u6432\u{20FAD}"], + ["8b40", "\u{233F4}\u{27639}\u{22BCE}\u{20D7E}\u{20D7F}\u{22C51}\u{22C55}\u3A18\u{20E98}\u{210C7}\u{20F2E}\u{2A632}\u{26B50}\u{28CD2}\u{28D99}\u{28CCA}\u95AA\u54CC\u82C4\u55B9"], + ["8b55", "\u{29EC3}\u9C26\u9AB6\u{2775E}\u{22DEE}\u7140\u816D\u80EC\u5C1C\u{26572}\u8134\u3797\u535F\u{280BD}\u91B6\u{20EFA}\u{20E0F}\u{20E77}\u{20EFB}\u35DD\u{24DEB}\u3609\u{20CD6}\u56AF\u{227B5}\u{210C9}\u{20E10}\u{20E78}\u{21078}\u{21148}\u{28207}\u{21455}\u{20E79}\u{24E50}\u{22DA4}\u5A54\u{2101D}\u{2101E}\u{210F5}\u{210F6}\u579C\u{20E11}"], + ["8ba1", "\u{27694}\u{282CD}\u{20FB5}\u{20E7B}\u{2517E}\u3703\u{20FB6}\u{21180}\u{252D8}\u{2A2BD}\u{249DA}\u{2183A}\u{24177}\u{2827C}\u5899\u5268\u361A\u{2573D}\u7BB2\u5B68\u4800\u4B2C\u9F27\u49E7\u9C1F\u9B8D\u{25B74}\u{2313D}\u55FB\u35F2\u5689\u4E28\u5902\u{21BC1}\u{2F878}\u9751\u{20086}\u4E5B\u4EBB\u353E\u5C23\u5F51\u5FC4\u38FA\u624C\u6535\u6B7A\u6C35\u6C3A\u706C\u722B\u4E2C\u72AD\u{248E9}\u7F52\u793B\u7CF9\u7F53\u{2626A}\u34C1"], + ["8bde", "\u{2634B}\u8002\u8080\u{26612}\u{26951}\u535D\u8864\u89C1\u{278B2}\u8BA0\u8D1D\u9485\u9578\u957F\u95E8\u{28E0F}\u97E6\u9875\u98CE\u98DE\u9963\u{29810}\u9C7C\u9E1F\u9EC4\u6B6F\uF907\u4E37\u{20087}\u961D\u6237\u94A2"], + ["8c40", "\u503B\u6DFE\u{29C73}\u9FA6\u3DC9\u888F\u{2414E}\u7077\u5CF5\u4B20\u{251CD}\u3559\u{25D30}\u6122\u{28A32}\u8FA7\u91F6\u7191\u6719\u73BA\u{23281}\u{2A107}\u3C8B\u{21980}\u4B10\u78E4\u7402\u51AE\u{2870F}\u4009\u6A63\u{2A2BA}\u4223\u860F\u{20A6F}\u7A2A\u{29947}\u{28AEA}\u9755\u704D\u5324\u{2207E}\u93F4\u76D9\u{289E3}\u9FA7\u77DD\u4EA3\u4FF0\u50BC\u4E2F\u4F17\u9FA8\u5434\u7D8B\u5892\u58D0\u{21DB6}\u5E92\u5E99\u5FC2\u{22712}\u658B"], + ["8ca1", "\u{233F9}\u6919\u6A43\u{23C63}\u6CFF"], + ["8ca7", "\u7200\u{24505}\u738C\u3EDB\u{24A13}\u5B15\u74B9\u8B83\u{25CA4}\u{25695}\u7A93\u7BEC\u7CC3\u7E6C\u82F8\u8597\u9FA9\u8890\u9FAA\u8EB9\u9FAB\u8FCF\u855F\u99E0\u9221\u9FAC\u{28DB9}\u{2143F}\u4071\u42A2\u5A1A"], + ["8cc9", "\u9868\u676B\u4276\u573D"], + ["8cce", "\u85D6\u{2497B}\u82BF\u{2710D}\u4C81\u{26D74}\u5D7B\u{26B15}\u{26FBE}\u9FAD\u9FAE\u5B96\u9FAF\u66E7\u7E5B\u6E57\u79CA\u3D88\u44C3\u{23256}\u{22796}\u439A\u4536"], + ["8ce6", "\u5CD5\u{23B1A}\u8AF9\u5C78\u3D12\u{23551}\u5D78\u9FB2\u7157\u4558\u{240EC}\u{21E23}\u4C77\u3978\u344A\u{201A4}\u{26C41}\u8ACC\u4FB4\u{20239}\u59BF\u816C\u9856\u{298FA}\u5F3B"], + ["8d40", "\u{20B9F}"], + ["8d42", "\u{221C1}\u{2896D}\u4102\u46BB\u{29079}\u3F07\u9FB3\u{2A1B5}\u40F8\u37D6\u46F7\u{26C46}\u417C\u{286B2}\u{273FF}\u456D\u38D4\u{2549A}\u4561\u451B\u4D89\u4C7B\u4D76\u45EA\u3FC8\u{24B0F}\u3661\u44DE\u44BD\u41ED\u5D3E\u5D48\u5D56\u3DFC\u380F\u5DA4\u5DB9\u3820\u3838\u5E42\u5EBD\u5F25\u5F83\u3908\u3914\u393F\u394D\u60D7\u613D\u5CE5\u3989\u61B7\u61B9\u61CF\u39B8\u622C\u6290\u62E5\u6318\u39F8\u56B1"], + ["8da1", "\u3A03\u63E2\u63FB\u6407\u645A\u3A4B\u64C0\u5D15\u5621\u9F9F\u3A97\u6586\u3ABD\u65FF\u6653\u3AF2\u6692\u3B22\u6716\u3B42\u67A4\u6800\u3B58\u684A\u6884\u3B72\u3B71\u3B7B\u6909\u6943\u725C\u6964\u699F\u6985\u3BBC\u69D6\u3BDD\u6A65\u6A74\u6A71\u6A82\u3BEC\u6A99\u3BF2\u6AAB\u6AB5\u6AD4\u6AF6\u6B81\u6BC1\u6BEA\u6C75\u6CAA\u3CCB\u6D02\u6D06\u6D26\u6D81\u3CEF\u6DA4\u6DB1\u6E15\u6E18\u6E29\u6E86\u{289C0}\u6EBB\u6EE2\u6EDA\u9F7F\u6EE8\u6EE9\u6F24\u6F34\u3D46\u{23F41}\u6F81\u6FBE\u3D6A\u3D75\u71B7\u5C99\u3D8A\u702C\u3D91\u7050\u7054\u706F\u707F\u7089\u{20325}\u43C1\u35F1\u{20ED8}"], + ["8e40", "\u{23ED7}\u57BE\u{26ED3}\u713E\u{257E0}\u364E\u69A2\u{28BE9}\u5B74\u7A49\u{258E1}\u{294D9}\u7A65\u7A7D\u{259AC}\u7ABB\u7AB0\u7AC2\u7AC3\u71D1\u{2648D}\u41CA\u7ADA\u7ADD\u7AEA\u41EF\u54B2\u{25C01}\u7B0B\u7B55\u7B29\u{2530E}\u{25CFE}\u7BA2\u7B6F\u839C\u{25BB4}\u{26C7F}\u7BD0\u8421\u7B92\u7BB8\u{25D20}\u3DAD\u{25C65}\u8492\u7BFA\u7C06\u7C35\u{25CC1}\u7C44\u7C83\u{24882}\u7CA6\u667D\u{24578}\u7CC9\u7CC7\u7CE6\u7C74\u7CF3\u7CF5\u7CCE"], + ["8ea1", "\u7E67\u451D\u{26E44}\u7D5D\u{26ED6}\u748D\u7D89\u7DAB\u7135\u7DB3\u7DD2\u{24057}\u{26029}\u7DE4\u3D13\u7DF5\u{217F9}\u7DE5\u{2836D}\u7E1D\u{26121}\u{2615A}\u7E6E\u7E92\u432B\u946C\u7E27\u7F40\u7F41\u7F47\u7936\u{262D0}\u99E1\u7F97\u{26351}\u7FA3\u{21661}\u{20068}\u455C\u{23766}\u4503\u{2833A}\u7FFA\u{26489}\u8005\u8008\u801D\u8028\u802F\u{2A087}\u{26CC3}\u803B\u803C\u8061\u{22714}\u4989\u{26626}\u{23DE3}\u{266E8}\u6725\u80A7\u{28A48}\u8107\u811A\u58B0\u{226F6}\u6C7F\u{26498}\u{24FB8}\u64E7\u{2148A}\u8218\u{2185E}\u6A53\u{24A65}\u{24A95}\u447A\u8229\u{20B0D}\u{26A52}\u{23D7E}\u4FF9\u{214FD}\u84E2\u8362\u{26B0A}\u{249A7}\u{23530}\u{21773}\u{23DF8}\u82AA\u691B\u{2F994}\u41DB"], + ["8f40", "\u854B\u82D0\u831A\u{20E16}\u{217B4}\u36C1\u{2317D}\u{2355A}\u827B\u82E2\u8318\u{23E8B}\u{26DA3}\u{26B05}\u{26B97}\u{235CE}\u3DBF\u831D\u55EC\u8385\u450B\u{26DA5}\u83AC\u83C1\u83D3\u347E\u{26ED4}\u6A57\u855A\u3496\u{26E42}\u{22EEF}\u8458\u{25BE4}\u8471\u3DD3\u44E4\u6AA7\u844A\u{23CB5}\u7958\u84A8\u{26B96}\u{26E77}\u{26E43}\u84DE\u840F\u8391\u44A0\u8493\u84E4\u{25C91}\u4240\u{25CC0}\u4543\u8534\u5AF2\u{26E99}\u4527\u8573\u4516\u67BF\u8616"], + ["8fa1", "\u{28625}\u{2863B}\u85C1\u{27088}\u8602\u{21582}\u{270CD}\u{2F9B2}\u456A\u8628\u3648\u{218A2}\u53F7\u{2739A}\u867E\u8771\u{2A0F8}\u87EE\u{22C27}\u87B1\u87DA\u880F\u5661\u866C\u6856\u460F\u8845\u8846\u{275E0}\u{23DB9}\u{275E4}\u885E\u889C\u465B\u88B4\u88B5\u63C1\u88C5\u7777\u{2770F}\u8987\u898A\u89A6\u89A9\u89A7\u89BC\u{28A25}\u89E7\u{27924}\u{27ABD}\u8A9C\u7793\u91FE\u8A90\u{27A59}\u7AE9\u{27B3A}\u{23F8F}\u4713\u{27B38}\u717C\u8B0C\u8B1F\u{25430}\u{25565}\u8B3F\u8B4C\u8B4D\u8AA9\u{24A7A}\u8B90\u8B9B\u8AAF\u{216DF}\u4615\u884F\u8C9B\u{27D54}\u{27D8F}\u{2F9D4}\u3725\u{27D53}\u8CD6\u{27D98}\u{27DBD}\u8D12\u8D03\u{21910}\u8CDB\u705C\u8D11\u{24CC9}\u3ED0\u8D77"], + ["9040", "\u8DA9\u{28002}\u{21014}\u{2498A}\u3B7C\u{281BC}\u{2710C}\u7AE7\u8EAD\u8EB6\u8EC3\u92D4\u8F19\u8F2D\u{28365}\u{28412}\u8FA5\u9303\u{2A29F}\u{20A50}\u8FB3\u492A\u{289DE}\u{2853D}\u{23DBB}\u5EF8\u{23262}\u8FF9\u{2A014}\u{286BC}\u{28501}\u{22325}\u3980\u{26ED7}\u9037\u{2853C}\u{27ABE}\u9061\u{2856C}\u{2860B}\u90A8\u{28713}\u90C4\u{286E6}\u90AE\u90FD\u9167\u3AF0\u91A9\u91C4\u7CAC\u{28933}\u{21E89}\u920E\u6C9F\u9241\u9262\u{255B9}\u92B9\u{28AC6}\u{23C9B}\u{28B0C}\u{255DB}"], + ["90a1", "\u{20D31}\u932C\u936B\u{28AE1}\u{28BEB}\u708F\u5AC3\u{28AE2}\u{28AE5}\u4965\u9244\u{28BEC}\u{28C39}\u{28BFF}\u9373\u945B\u8EBC\u9585\u95A6\u9426\u95A0\u6FF6\u42B9\u{2267A}\u{286D8}\u{2127C}\u{23E2E}\u49DF\u6C1C\u967B\u9696\u416C\u96A3\u{26ED5}\u61DA\u96B6\u78F5\u{28AE0}\u96BD\u53CC\u49A1\u{26CB8}\u{20274}\u{26410}\u{290AF}\u{290E5}\u{24AD1}\u{21915}\u{2330A}\u9731\u8642\u9736\u4A0F\u453D\u4585\u{24AE9}\u7075\u5B41\u971B\u975C\u{291D5}\u9757\u5B4A\u{291EB}\u975F\u9425\u50D0\u{230B7}\u{230BC}\u9789\u979F\u97B1\u97BE\u97C0\u97D2\u97E0\u{2546C}\u97EE\u741C\u{29433}\u97FF\u97F5\u{2941D}\u{2797A}\u4AD1\u9834\u9833\u984B\u9866\u3B0E\u{27175}\u3D51\u{20630}\u{2415C}"], + ["9140", "\u{25706}\u98CA\u98B7\u98C8\u98C7\u4AFF\u{26D27}\u{216D3}\u55B0\u98E1\u98E6\u98EC\u9378\u9939\u{24A29}\u4B72\u{29857}\u{29905}\u99F5\u9A0C\u9A3B\u9A10\u9A58\u{25725}\u36C4\u{290B1}\u{29BD5}\u9AE0\u9AE2\u{29B05}\u9AF4\u4C0E\u9B14\u9B2D\u{28600}\u5034\u9B34\u{269A8}\u38C3\u{2307D}\u9B50\u9B40\u{29D3E}\u5A45\u{21863}\u9B8E\u{2424B}\u9C02\u9BFF\u9C0C\u{29E68}\u9DD4\u{29FB7}\u{2A192}\u{2A1AB}\u{2A0E1}\u{2A123}\u{2A1DF}\u9D7E\u9D83\u{2A134}\u9E0E\u6888"], + ["91a1", "\u9DC4\u{2215B}\u{2A193}\u{2A220}\u{2193B}\u{2A233}\u9D39\u{2A0B9}\u{2A2B4}\u9E90\u9E95\u9E9E\u9EA2\u4D34\u9EAA\u9EAF\u{24364}\u9EC1\u3B60\u39E5\u3D1D\u4F32\u37BE\u{28C2B}\u9F02\u9F08\u4B96\u9424\u{26DA2}\u9F17\u9F16\u9F39\u569F\u568A\u9F45\u99B8\u{2908B}\u97F2\u847F\u9F62\u9F69\u7ADC\u9F8E\u7216\u4BBE\u{24975}\u{249BB}\u7177\u{249F8}\u{24348}\u{24A51}\u739E\u{28BDA}\u{218FA}\u799F\u{2897E}\u{28E36}\u9369\u93F3\u{28A44}\u92EC\u9381\u93CB\u{2896C}\u{244B9}\u7217\u3EEB\u7772\u7A43\u70D0\u{24473}\u{243F8}\u717E\u{217EF}\u70A3\u{218BE}\u{23599}\u3EC7\u{21885}\u{2542F}\u{217F8}\u3722\u{216FB}\u{21839}\u36E1\u{21774}\u{218D1}\u{25F4B}\u3723\u{216C0}\u575B\u{24A25}\u{213FE}\u{212A8}"], + ["9240", "\u{213C6}\u{214B6}\u8503\u{236A6}\u8503\u8455\u{24994}\u{27165}\u{23E31}\u{2555C}\u{23EFB}\u{27052}\u44F4\u{236EE}\u{2999D}\u{26F26}\u67F9\u3733\u3C15\u3DE7\u586C\u{21922}\u6810\u4057\u{2373F}\u{240E1}\u{2408B}\u{2410F}\u{26C21}\u54CB\u569E\u{266B1}\u5692\u{20FDF}\u{20BA8}\u{20E0D}\u93C6\u{28B13}\u939C\u4EF8\u512B\u3819\u{24436}\u4EBC\u{20465}\u{2037F}\u4F4B\u4F8A\u{25651}\u5A68\u{201AB}\u{203CB}\u3999\u{2030A}\u{20414}\u3435\u4F29\u{202C0}\u{28EB3}\u{20275}\u8ADA\u{2020C}\u4E98"], + ["92a1", "\u50CD\u510D\u4FA2\u4F03\u{24A0E}\u{23E8A}\u4F42\u502E\u506C\u5081\u4FCC\u4FE5\u5058\u50FC\u5159\u515B\u515D\u515E\u6E76\u{23595}\u{23E39}\u{23EBF}\u6D72\u{21884}\u{23E89}\u51A8\u51C3\u{205E0}\u44DD\u{204A3}\u{20492}\u{20491}\u8D7A\u{28A9C}\u{2070E}\u5259\u52A4\u{20873}\u52E1\u936E\u467A\u718C\u{2438C}\u{20C20}\u{249AC}\u{210E4}\u69D1\u{20E1D}\u7479\u3EDE\u7499\u7414\u7456\u7398\u4B8E\u{24ABC}\u{2408D}\u53D0\u3584\u720F\u{240C9}\u55B4\u{20345}\u54CD\u{20BC6}\u571D\u925D\u96F4\u9366\u57DD\u578D\u577F\u363E\u58CB\u5A99\u{28A46}\u{216FA}\u{2176F}\u{21710}\u5A2C\u59B8\u928F\u5A7E\u5ACF\u5A12\u{25946}\u{219F3}\u{21861}\u{24295}\u36F5\u6D05\u7443\u5A21\u{25E83}"], + ["9340", "\u5A81\u{28BD7}\u{20413}\u93E0\u748C\u{21303}\u7105\u4972\u9408\u{289FB}\u93BD\u37A0\u5C1E\u5C9E\u5E5E\u5E48\u{21996}\u{2197C}\u{23AEE}\u5ECD\u5B4F\u{21903}\u{21904}\u3701\u{218A0}\u36DD\u{216FE}\u36D3\u812A\u{28A47}\u{21DBA}\u{23472}\u{289A8}\u5F0C\u5F0E\u{21927}\u{217AB}\u5A6B\u{2173B}\u5B44\u8614\u{275FD}\u8860\u607E\u{22860}\u{2262B}\u5FDB\u3EB8\u{225AF}\u{225BE}\u{29088}\u{26F73}\u61C0\u{2003E}\u{20046}\u{2261B}\u6199\u6198\u6075\u{22C9B}\u{22D07}\u{246D4}\u{2914D}"], + ["93a1", "\u6471\u{24665}\u{22B6A}\u3A29\u{22B22}\u{23450}\u{298EA}\u{22E78}\u6337\u{2A45B}\u64B6\u6331\u63D1\u{249E3}\u{22D67}\u62A4\u{22CA1}\u643B\u656B\u6972\u3BF4\u{2308E}\u{232AD}\u{24989}\u{232AB}\u550D\u{232E0}\u{218D9}\u{2943F}\u66CE\u{23289}\u{231B3}\u3AE0\u4190\u{25584}\u{28B22}\u{2558F}\u{216FC}\u{2555B}\u{25425}\u78EE\u{23103}\u{2182A}\u{23234}\u3464\u{2320F}\u{23182}\u{242C9}\u668E\u{26D24}\u666B\u4B93\u6630\u{27870}\u{21DEB}\u6663\u{232D2}\u{232E1}\u661E\u{25872}\u38D1\u{2383A}\u{237BC}\u3B99\u{237A2}\u{233FE}\u74D0\u3B96\u678F\u{2462A}\u68B6\u681E\u3BC4\u6ABE\u3863\u{237D5}\u{24487}\u6A33\u6A52\u6AC9\u6B05\u{21912}\u6511\u6898\u6A4C\u3BD7\u6A7A\u6B57\u{23FC0}\u{23C9A}\u93A0\u92F2\u{28BEA}\u{28ACB}"], + ["9440", "\u9289\u{2801E}\u{289DC}\u9467\u6DA5\u6F0B\u{249EC}\u6D67\u{23F7F}\u3D8F\u6E04\u{2403C}\u5A3D\u6E0A\u5847\u6D24\u7842\u713B\u{2431A}\u{24276}\u70F1\u7250\u7287\u7294\u{2478F}\u{24725}\u5179\u{24AA4}\u{205EB}\u747A\u{23EF8}\u{2365F}\u{24A4A}\u{24917}\u{25FE1}\u3F06\u3EB1\u{24ADF}\u{28C23}\u{23F35}\u60A7\u3EF3\u74CC\u743C\u9387\u7437\u449F\u{26DEA}\u4551\u7583\u3F63\u{24CD9}\u{24D06}\u3F58\u7555\u7673\u{2A5C6}\u3B19\u7468\u{28ACC}\u{249AB}\u{2498E}\u3AFB"], + ["94a1", "\u3DCD\u{24A4E}\u3EFF\u{249C5}\u{248F3}\u91FA\u5732\u9342\u{28AE3}\u{21864}\u50DF\u{25221}\u{251E7}\u7778\u{23232}\u770E\u770F\u777B\u{24697}\u{23781}\u3A5E\u{248F0}\u7438\u749B\u3EBF\u{24ABA}\u{24AC7}\u40C8\u{24A96}\u{261AE}\u9307\u{25581}\u781E\u788D\u7888\u78D2\u73D0\u7959\u{27741}\u{256E3}\u410E\u799B\u8496\u79A5\u6A2D\u{23EFA}\u7A3A\u79F4\u416E\u{216E6}\u4132\u9235\u79F1\u{20D4C}\u{2498C}\u{20299}\u{23DBA}\u{2176E}\u3597\u556B\u3570\u36AA\u{201D4}\u{20C0D}\u7AE2\u5A59\u{226F5}\u{25AAF}\u{25A9C}\u5A0D\u{2025B}\u78F0\u5A2A\u{25BC6}\u7AFE\u41F9\u7C5D\u7C6D\u4211\u{25BB3}\u{25EBC}\u{25EA6}\u7CCD\u{249F9}\u{217B0}\u7C8E\u7C7C\u7CAE\u6AB2\u7DDC\u7E07\u7DD3\u7F4E\u{26261}"], + ["9540", "\u{2615C}\u{27B48}\u7D97\u{25E82}\u426A\u{26B75}\u{20916}\u67D6\u{2004E}\u{235CF}\u57C4\u{26412}\u{263F8}\u{24962}\u7FDD\u7B27\u{2082C}\u{25AE9}\u{25D43}\u7B0C\u{25E0E}\u99E6\u8645\u9A63\u6A1C\u{2343F}\u39E2\u{249F7}\u{265AD}\u9A1F\u{265A0}\u8480\u{27127}\u{26CD1}\u44EA\u8137\u4402\u80C6\u8109\u8142\u{267B4}\u98C3\u{26A42}\u8262\u8265\u{26A51}\u8453\u{26DA7}\u8610\u{2721B}\u5A86\u417F\u{21840}\u5B2B\u{218A1}\u5AE4\u{218D8}\u86A0\u{2F9BC}\u{23D8F}\u882D\u{27422}\u5A02"], + ["95a1", "\u886E\u4F45\u8887\u88BF\u88E6\u8965\u894D\u{25683}\u8954\u{27785}\u{27784}\u{28BF5}\u{28BD9}\u{28B9C}\u{289F9}\u3EAD\u84A3\u46F5\u46CF\u37F2\u8A3D\u8A1C\u{29448}\u5F4D\u922B\u{24284}\u65D4\u7129\u70C4\u{21845}\u9D6D\u8C9F\u8CE9\u{27DDC}\u599A\u77C3\u59F0\u436E\u36D4\u8E2A\u8EA7\u{24C09}\u8F30\u8F4A\u42F4\u6C58\u6FBB\u{22321}\u489B\u6F79\u6E8B\u{217DA}\u9BE9\u36B5\u{2492F}\u90BB\u9097\u5571\u4906\u91BB\u9404\u{28A4B}\u4062\u{28AFC}\u9427\u{28C1D}\u{28C3B}\u84E5\u8A2B\u9599\u95A7\u9597\u9596\u{28D34}\u7445\u3EC2\u{248FF}\u{24A42}\u{243EA}\u3EE7\u{23225}\u968F\u{28EE7}\u{28E66}\u{28E65}\u3ECC\u{249ED}\u{24A78}\u{23FEE}\u7412\u746B\u3EFC\u9741\u{290B0}"], + ["9640", "\u6847\u4A1D\u{29093}\u{257DF}\u975D\u9368\u{28989}\u{28C26}\u{28B2F}\u{263BE}\u92BA\u5B11\u8B69\u493C\u73F9\u{2421B}\u979B\u9771\u9938\u{20F26}\u5DC1\u{28BC5}\u{24AB2}\u981F\u{294DA}\u92F6\u{295D7}\u91E5\u44C0\u{28B50}\u{24A67}\u{28B64}\u98DC\u{28A45}\u3F00\u922A\u4925\u8414\u993B\u994D\u{27B06}\u3DFD\u999B\u4B6F\u99AA\u9A5C\u{28B65}\u{258C8}\u6A8F\u9A21\u5AFE\u9A2F\u{298F1}\u4B90\u{29948}\u99BC\u4BBD\u4B97\u937D\u5872\u{21302}\u5822\u{249B8}"], + ["96a1", "\u{214E8}\u7844\u{2271F}\u{23DB8}\u68C5\u3D7D\u9458\u3927\u6150\u{22781}\u{2296B}\u6107\u9C4F\u9C53\u9C7B\u9C35\u9C10\u9B7F\u9BCF\u{29E2D}\u9B9F\u{2A1F5}\u{2A0FE}\u9D21\u4CAE\u{24104}\u9E18\u4CB0\u9D0C\u{2A1B4}\u{2A0ED}\u{2A0F3}\u{2992F}\u9DA5\u84BD\u{26E12}\u{26FDF}\u{26B82}\u85FC\u4533\u{26DA4}\u{26E84}\u{26DF0}\u8420\u85EE\u{26E00}\u{237D7}\u{26064}\u79E2\u{2359C}\u{23640}\u492D\u{249DE}\u3D62\u93DB\u92BE\u9348\u{202BF}\u78B9\u9277\u944D\u4FE4\u3440\u9064\u{2555D}\u783D\u7854\u78B6\u784B\u{21757}\u{231C9}\u{24941}\u369A\u4F72\u6FDA\u6FD9\u701E\u701E\u5414\u{241B5}\u57BB\u58F3\u578A\u9D16\u57D7\u7134\u34AF\u{241AC}\u71EB\u{26C40}\u{24F97}\u5B28\u{217B5}\u{28A49}"], + ["9740", "\u610C\u5ACE\u5A0B\u42BC\u{24488}\u372C\u4B7B\u{289FC}\u93BB\u93B8\u{218D6}\u{20F1D}\u8472\u{26CC0}\u{21413}\u{242FA}\u{22C26}\u{243C1}\u5994\u{23DB7}\u{26741}\u7DA8\u{2615B}\u{260A4}\u{249B9}\u{2498B}\u{289FA}\u92E5\u73E2\u3EE9\u74B4\u{28B63}\u{2189F}\u3EE1\u{24AB3}\u6AD8\u73F3\u73FB\u3ED6\u{24A3E}\u{24A94}\u{217D9}\u{24A66}\u{203A7}\u{21424}\u{249E5}\u7448\u{24916}\u70A5\u{24976}\u9284\u73E6\u935F\u{204FE}\u9331\u{28ACE}\u{28A16}\u9386\u{28BE7}\u{255D5}\u4935\u{28A82}\u716B"], + ["97a1", "\u{24943}\u{20CFF}\u56A4\u{2061A}\u{20BEB}\u{20CB8}\u5502\u79C4\u{217FA}\u7DFE\u{216C2}\u{24A50}\u{21852}\u452E\u9401\u370A\u{28AC0}\u{249AD}\u59B0\u{218BF}\u{21883}\u{27484}\u5AA1\u36E2\u{23D5B}\u36B0\u925F\u5A79\u{28A81}\u{21862}\u9374\u3CCD\u{20AB4}\u4A96\u398A\u50F4\u3D69\u3D4C\u{2139C}\u7175\u42FB\u{28218}\u6E0F\u{290E4}\u44EB\u6D57\u{27E4F}\u7067\u6CAF\u3CD6\u{23FED}\u{23E2D}\u6E02\u6F0C\u3D6F\u{203F5}\u7551\u36BC\u34C8\u4680\u3EDA\u4871\u59C4\u926E\u493E\u8F41\u{28C1C}\u{26BC0}\u5812\u57C8\u36D6\u{21452}\u70FE\u{24362}\u{24A71}\u{22FE3}\u{212B0}\u{223BD}\u68B9\u6967\u{21398}\u{234E5}\u{27BF4}\u{236DF}\u{28A83}\u{237D6}\u{233FA}\u{24C9F}\u6A1A\u{236AD}\u{26CB7}\u843E\u44DF\u44CE"], + ["9840", "\u{26D26}\u{26D51}\u{26C82}\u{26FDE}\u6F17\u{27109}\u833D\u{2173A}\u83ED\u{26C80}\u{27053}\u{217DB}\u5989\u5A82\u{217B3}\u5A61\u5A71\u{21905}\u{241FC}\u372D\u59EF\u{2173C}\u36C7\u718E\u9390\u669A\u{242A5}\u5A6E\u5A2B\u{24293}\u6A2B\u{23EF9}\u{27736}\u{2445B}\u{242CA}\u711D\u{24259}\u{289E1}\u4FB0\u{26D28}\u5CC2\u{244CE}\u{27E4D}\u{243BD}\u6A0C\u{24256}\u{21304}\u70A6\u7133\u{243E9}\u3DA5\u6CDF\u{2F825}\u{24A4F}\u7E65\u59EB\u5D2F\u3DF3\u5F5C\u{24A5D}\u{217DF}\u7DA4\u8426"], + ["98a1", "\u5485\u{23AFA}\u{23300}\u{20214}\u577E\u{208D5}\u{20619}\u3FE5\u{21F9E}\u{2A2B6}\u7003\u{2915B}\u5D70\u738F\u7CD3\u{28A59}\u{29420}\u4FC8\u7FE7\u72CD\u7310\u{27AF4}\u7338\u7339\u{256F6}\u7341\u7348\u3EA9\u{27B18}\u906C\u71F5\u{248F2}\u73E1\u81F6\u3ECA\u770C\u3ED1\u6CA2\u56FD\u7419\u741E\u741F\u3EE2\u3EF0\u3EF4\u3EFA\u74D3\u3F0E\u3F53\u7542\u756D\u7572\u758D\u3F7C\u75C8\u75DC\u3FC0\u764D\u3FD7\u7674\u3FDC\u767A\u{24F5C}\u7188\u5623\u8980\u5869\u401D\u7743\u4039\u6761\u4045\u35DB\u7798\u406A\u406F\u5C5E\u77BE\u77CB\u58F2\u7818\u70B9\u781C\u40A8\u7839\u7847\u7851\u7866\u8448\u{25535}\u7933\u6803\u7932\u4103"], + ["9940", "\u4109\u7991\u7999\u8FBB\u7A06\u8FBC\u4167\u7A91\u41B2\u7ABC\u8279\u41C4\u7ACF\u7ADB\u41CF\u4E21\u7B62\u7B6C\u7B7B\u7C12\u7C1B\u4260\u427A\u7C7B\u7C9C\u428C\u7CB8\u4294\u7CED\u8F93\u70C0\u{20CCF}\u7DCF\u7DD4\u7DD0\u7DFD\u7FAE\u7FB4\u729F\u4397\u8020\u8025\u7B39\u802E\u8031\u8054\u3DCC\u57B4\u70A0\u80B7\u80E9\u43ED\u810C\u732A\u810E\u8112\u7560\u8114\u4401\u3B39\u8156\u8159\u815A"], + ["99a1", "\u4413\u583A\u817C\u8184\u4425\u8193\u442D\u81A5\u57EF\u81C1\u81E4\u8254\u448F\u82A6\u8276\u82CA\u82D8\u82FF\u44B0\u8357\u9669\u698A\u8405\u70F5\u8464\u60E3\u8488\u4504\u84BE\u84E1\u84F8\u8510\u8538\u8552\u453B\u856F\u8570\u85E0\u4577\u8672\u8692\u86B2\u86EF\u9645\u878B\u4606\u4617\u88AE\u88FF\u8924\u8947\u8991\u{27967}\u8A29\u8A38\u8A94\u8AB4\u8C51\u8CD4\u8CF2\u8D1C\u4798\u585F\u8DC3\u47ED\u4EEE\u8E3A\u55D8\u5754\u8E71\u55F5\u8EB0\u4837\u8ECE\u8EE2\u8EE4\u8EED\u8EF2\u8FB7\u8FC1\u8FCA\u8FCC\u9033\u99C4\u48AD\u98E0\u9213\u491E\u9228\u9258\u926B\u92B1\u92AE\u92BF"], + ["9a40", "\u92E3\u92EB\u92F3\u92F4\u92FD\u9343\u9384\u93AD\u4945\u4951\u9EBF\u9417\u5301\u941D\u942D\u943E\u496A\u9454\u9479\u952D\u95A2\u49A7\u95F4\u9633\u49E5\u67A0\u4A24\u9740\u4A35\u97B2\u97C2\u5654\u4AE4\u60E8\u98B9\u4B19\u98F1\u5844\u990E\u9919\u51B4\u991C\u9937\u9942\u995D\u9962\u4B70\u99C5\u4B9D\u9A3C\u9B0F\u7A83\u9B69\u9B81\u9BDD\u9BF1\u9BF4\u4C6D\u9C20\u376F\u{21BC2}\u9D49\u9C3A"], + ["9aa1", "\u9EFE\u5650\u9D93\u9DBD\u9DC0\u9DFC\u94F6\u8FB6\u9E7B\u9EAC\u9EB1\u9EBD\u9EC6\u94DC\u9EE2\u9EF1\u9EF8\u7AC8\u9F44\u{20094}\u{202B7}\u{203A0}\u691A\u94C3\u59AC\u{204D7}\u5840\u94C1\u37B9\u{205D5}\u{20615}\u{20676}\u{216BA}\u5757\u7173\u{20AC2}\u{20ACD}\u{20BBF}\u546A\u{2F83B}\u{20BCB}\u549E\u{20BFB}\u{20C3B}\u{20C53}\u{20C65}\u{20C7C}\u60E7\u{20C8D}\u567A\u{20CB5}\u{20CDD}\u{20CED}\u{20D6F}\u{20DB2}\u{20DC8}\u6955\u9C2F\u87A5\u{20E04}\u{20E0E}\u{20ED7}\u{20F90}\u{20F2D}\u{20E73}\u5C20\u{20FBC}\u5E0B\u{2105C}\u{2104F}\u{21076}\u671E\u{2107B}\u{21088}\u{21096}\u3647\u{210BF}\u{210D3}\u{2112F}\u{2113B}\u5364\u84AD\u{212E3}\u{21375}\u{21336}\u8B81\u{21577}\u{21619}\u{217C3}\u{217C7}\u4E78\u70BB\u{2182D}\u{2196A}"], + ["9b40", "\u{21A2D}\u{21A45}\u{21C2A}\u{21C70}\u{21CAC}\u{21EC8}\u62C3\u{21ED5}\u{21F15}\u7198\u6855\u{22045}\u69E9\u36C8\u{2227C}\u{223D7}\u{223FA}\u{2272A}\u{22871}\u{2294F}\u82FD\u{22967}\u{22993}\u{22AD5}\u89A5\u{22AE8}\u8FA0\u{22B0E}\u97B8\u{22B3F}\u9847\u9ABD\u{22C4C}"], + ["9b62", "\u{22C88}\u{22CB7}\u{25BE8}\u{22D08}\u{22D12}\u{22DB7}\u{22D95}\u{22E42}\u{22F74}\u{22FCC}\u{23033}\u{23066}\u{2331F}\u{233DE}\u5FB1\u6648\u66BF\u{27A79}\u{23567}\u{235F3}\u7201\u{249BA}\u77D7\u{2361A}\u{23716}\u7E87\u{20346}\u58B5\u670E"], + ["9ba1", "\u6918\u{23AA7}\u{27657}\u{25FE2}\u{23E11}\u{23EB9}\u{275FE}\u{2209A}\u48D0\u4AB8\u{24119}\u{28A9A}\u{242EE}\u{2430D}\u{2403B}\u{24334}\u{24396}\u{24A45}\u{205CA}\u51D2\u{20611}\u599F\u{21EA8}\u3BBE\u{23CFF}\u{24404}\u{244D6}\u5788\u{24674}\u399B\u{2472F}\u{285E8}\u{299C9}\u3762\u{221C3}\u8B5E\u{28B4E}\u99D6\u{24812}\u{248FB}\u{24A15}\u7209\u{24AC0}\u{20C78}\u5965\u{24EA5}\u{24F86}\u{20779}\u8EDA\u{2502C}\u528F\u573F\u7171\u{25299}\u{25419}\u{23F4A}\u{24AA7}\u55BC\u{25446}\u{2546E}\u{26B52}\u91D4\u3473\u{2553F}\u{27632}\u{2555E}\u4718\u{25562}\u{25566}\u{257C7}\u{2493F}\u{2585D}\u5066\u34FB\u{233CC}\u60DE\u{25903}\u477C\u{28948}\u{25AAE}\u{25B89}\u{25C06}\u{21D90}\u57A1\u7151\u6FB6\u{26102}\u{27C12}\u9056\u{261B2}\u{24F9A}\u8B62\u{26402}\u{2644A}"], + ["9c40", "\u5D5B\u{26BF7}\u8F36\u{26484}\u{2191C}\u8AEA\u{249F6}\u{26488}\u{23FEF}\u{26512}\u4BC0\u{265BF}\u{266B5}\u{2271B}\u9465\u{257E1}\u6195\u5A27\u{2F8CD}\u4FBB\u56B9\u{24521}\u{266FC}\u4E6A\u{24934}\u9656\u6D8F\u{26CBD}\u3618\u8977\u{26799}\u{2686E}\u{26411}\u{2685E}\u71DF\u{268C7}\u7B42\u{290C0}\u{20A11}\u{26926}\u9104\u{26939}\u7A45\u9DF0\u{269FA}\u9A26\u{26A2D}\u365F\u{26469}\u{20021}\u7983\u{26A34}\u{26B5B}\u5D2C\u{23519}\u83CF\u{26B9D}\u46D0\u{26CA4}\u753B\u8865\u{26DAE}\u58B6"], + ["9ca1", "\u371C\u{2258D}\u{2704B}\u{271CD}\u3C54\u{27280}\u{27285}\u9281\u{2217A}\u{2728B}\u9330\u{272E6}\u{249D0}\u6C39\u949F\u{27450}\u{20EF8}\u8827\u88F5\u{22926}\u{28473}\u{217B1}\u6EB8\u{24A2A}\u{21820}\u39A4\u36B9\u5C10\u79E3\u453F\u66B6\u{29CAD}\u{298A4}\u8943\u{277CC}\u{27858}\u56D6\u40DF\u{2160A}\u39A1\u{2372F}\u{280E8}\u{213C5}\u71AD\u8366\u{279DD}\u{291A8}\u5A67\u4CB7\u{270AF}\u{289AB}\u{279FD}\u{27A0A}\u{27B0B}\u{27D66}\u{2417A}\u7B43\u797E\u{28009}\u6FB5\u{2A2DF}\u6A03\u{28318}\u53A2\u{26E07}\u93BF\u6836\u975D\u{2816F}\u{28023}\u{269B5}\u{213ED}\u{2322F}\u{28048}\u5D85\u{28C30}\u{28083}\u5715\u9823\u{28949}\u5DAB\u{24988}\u65BE\u69D5\u53D2\u{24AA5}\u{23F81}\u3C11\u6736\u{28090}\u{280F4}\u{2812E}\u{21FA1}\u{2814F}"], + ["9d40", "\u{28189}\u{281AF}\u{2821A}\u{28306}\u{2832F}\u{2838A}\u35CA\u{28468}\u{286AA}\u48FA\u63E6\u{28956}\u7808\u9255\u{289B8}\u43F2\u{289E7}\u43DF\u{289E8}\u{28B46}\u{28BD4}\u59F8\u{28C09}\u8F0B\u{28FC5}\u{290EC}\u7B51\u{29110}\u{2913C}\u3DF7\u{2915E}\u{24ACA}\u8FD0\u728F\u568B\u{294E7}\u{295E9}\u{295B0}\u{295B8}\u{29732}\u{298D1}\u{29949}\u{2996A}\u{299C3}\u{29A28}\u{29B0E}\u{29D5A}\u{29D9B}\u7E9F\u{29EF8}\u{29F23}\u4CA4\u9547\u{2A293}\u71A2\u{2A2FF}\u4D91\u9012\u{2A5CB}\u4D9C\u{20C9C}\u8FBE\u55C1"], + ["9da1", "\u8FBA\u{224B0}\u8FB9\u{24A93}\u4509\u7E7F\u6F56\u6AB1\u4EEA\u34E4\u{28B2C}\u{2789D}\u373A\u8E80\u{217F5}\u{28024}\u{28B6C}\u{28B99}\u{27A3E}\u{266AF}\u3DEB\u{27655}\u{23CB7}\u{25635}\u{25956}\u4E9A\u{25E81}\u{26258}\u56BF\u{20E6D}\u8E0E\u5B6D\u{23E88}\u{24C9E}\u63DE\u62D0\u{217F6}\u{2187B}\u6530\u562D\u{25C4A}\u541A\u{25311}\u3DC6\u{29D98}\u4C7D\u5622\u561E\u7F49\u{25ED8}\u5975\u{23D40}\u8770\u4E1C\u{20FEA}\u{20D49}\u{236BA}\u8117\u9D5E\u8D18\u763B\u9C45\u764E\u77B9\u9345\u5432\u8148\u82F7\u5625\u8132\u8418\u80BD\u55EA\u7962\u5643\u5416\u{20E9D}\u35CE\u5605\u55F1\u66F1\u{282E2}\u362D\u7534\u55F0\u55BA\u5497\u5572\u{20C41}\u{20C96}\u5ED0\u{25148}\u{20E76}\u{22C62}"], + ["9e40", "\u{20EA2}\u9EAB\u7D5A\u55DE\u{21075}\u629D\u976D\u5494\u8CCD\u71F6\u9176\u63FC\u63B9\u63FE\u5569\u{22B43}\u9C72\u{22EB3}\u519A\u34DF\u{20DA7}\u51A7\u544D\u551E\u5513\u7666\u8E2D\u{2688A}\u75B1\u80B6\u8804\u8786\u88C7\u81B6\u841C\u{210C1}\u44EC\u7304\u{24706}\u5B90\u830B\u{26893}\u567B\u{226F4}\u{27D2F}\u{241A3}\u{27D73}\u{26ED0}\u{272B6}\u9170\u{211D9}\u9208\u{23CFC}\u{2A6A9}\u{20EAC}\u{20EF9}\u7266\u{21CA2}\u474E\u{24FC2}\u{27FF9}\u{20FEB}\u40FA"], + ["9ea1", "\u9C5D\u651F\u{22DA0}\u48F3\u{247E0}\u{29D7C}\u{20FEC}\u{20E0A}\u6062\u{275A3}\u{20FED}"], + ["9ead", "\u{26048}\u{21187}\u71A3\u7E8E\u9D50\u4E1A\u4E04\u3577\u5B0D\u6CB2\u5367\u36AC\u39DC\u537D\u36A5\u{24618}\u589A\u{24B6E}\u822D\u544B\u57AA\u{25A95}\u{20979}"], + ["9ec5", "\u3A52\u{22465}\u7374\u{29EAC}\u4D09\u9BED\u{23CFE}\u{29F30}\u4C5B\u{24FA9}\u{2959E}\u{29FDE}\u845C\u{23DB6}\u{272B2}\u{267B3}\u{23720}\u632E\u7D25\u{23EF7}\u{23E2C}\u3A2A\u9008\u52CC\u3E74\u367A\u45E9\u{2048E}\u7640\u5AF0\u{20EB6}\u787A\u{27F2E}\u58A7\u40BF\u567C\u9B8B\u5D74\u7654\u{2A434}\u9E85\u4CE1\u75F9\u37FB\u6119\u{230DA}\u{243F2}"], + ["9ef5", "\u565D\u{212A9}\u57A7\u{24963}\u{29E06}\u5234\u{270AE}\u35AD\u6C4A\u9D7C"], + ["9f40", "\u7C56\u9B39\u57DE\u{2176C}\u5C53\u64D3\u{294D0}\u{26335}\u{27164}\u86AD\u{20D28}\u{26D22}\u{24AE2}\u{20D71}"], + ["9f4f", "\u51FE\u{21F0F}\u5D8E\u9703\u{21DD1}\u9E81\u904C\u7B1F\u9B02\u5CD1\u7BA3\u6268\u6335\u9AFF\u7BCF\u9B2A\u7C7E\u9B2E\u7C42\u7C86\u9C15\u7BFC\u9B09\u9F17\u9C1B\u{2493E}\u9F5A\u5573\u5BC3\u4FFD\u9E98\u4FF2\u5260\u3E06\u52D1\u5767\u5056\u59B7\u5E12\u97C8\u9DAB\u8F5C\u5469\u97B4\u9940\u97BA\u532C\u6130"], + ["9fa1", "\u692C\u53DA\u9C0A\u9D02\u4C3B\u9641\u6980\u50A6\u7546\u{2176D}\u99DA\u5273"], + ["9fae", "\u9159\u9681\u915C"], + ["9fb2", "\u9151\u{28E97}\u637F\u{26D23}\u6ACA\u5611\u918E\u757A\u6285\u{203FC}\u734F\u7C70\u{25C21}\u{23CFD}"], + ["9fc1", "\u{24919}\u76D6\u9B9D\u4E2A\u{20CD4}\u83BE\u8842"], + ["9fc9", "\u5C4A\u69C0\u50ED\u577A\u521F\u5DF5\u4ECE\u6C31\u{201F2}\u4F39\u549C\u54DA\u529A\u8D82\u35FE\u5F0C\u35F3"], + ["9fdb", "\u6B52\u917C\u9FA5\u9B97\u982E\u98B4\u9ABA\u9EA8\u9E84\u717A\u7B14"], + ["9fe7", "\u6BFA\u8818\u7F78"], + ["9feb", "\u5620\u{2A64A}\u8E77\u9F53"], + ["9ff0", "\u8DD4\u8E4F\u9E1C\u8E01\u6282\u{2837D}\u8E28\u8E75\u7AD3\u{24A77}\u7A3E\u78D8\u6CEA\u8A67\u7607"], + ["a040", "\u{28A5A}\u9F26\u6CCE\u87D6\u75C3\u{2A2B2}\u7853\u{2F840}\u8D0C\u72E2\u7371\u8B2D\u7302\u74F1\u8CEB\u{24ABB}\u862F\u5FBA\u88A0\u44B7"], + ["a055", "\u{2183B}\u{26E05}"], + ["a058", "\u8A7E\u{2251B}"], + ["a05b", "\u60FD\u7667\u9AD7\u9D44\u936E\u9B8F\u87F5"], + ["a063", "\u880F\u8CF7\u732C\u9721\u9BB0\u35D6\u72B2\u4C07\u7C51\u994A\u{26159}\u6159\u4C04\u9E96\u617D"], + ["a073", "\u575F\u616F\u62A6\u6239\u62CE\u3A5C\u61E2\u53AA\u{233F5}\u6364\u6802\u35D2"], + ["a0a1", "\u5D57\u{28BC2}\u8FDA\u{28E39}"], + ["a0a6", "\u50D9\u{21D46}\u7906\u5332\u9638\u{20F3B}\u4065"], + ["a0ae", "\u77FE"], + ["a0b0", "\u7CC2\u{25F1A}\u7CDA\u7A2D\u8066\u8063\u7D4D\u7505\u74F2\u8994\u821A\u670C\u8062\u{27486}\u805B\u74F0\u8103\u7724\u8989\u{267CC}\u7553\u{26ED1}\u87A9\u87CE\u81C8\u878C\u8A49\u8CAD\u8B43\u772B\u74F8\u84DA\u3635\u69B2\u8DA6"], + ["a0d4", "\u89A9\u7468\u6DB9\u87C1\u{24011}\u74E7\u3DDB\u7176\u60A4\u619C\u3CD1\u7162\u6077"], + ["a0e2", "\u7F71\u{28B2D}\u7250\u60E9\u4B7E\u5220\u3C18\u{23CC7}\u{25ED7}\u{27656}\u{25531}\u{21944}\u{212FE}\u{29903}\u{26DDC}\u{270AD}\u5CC1\u{261AD}\u{28A0F}\u{23677}\u{200EE}\u{26846}\u{24F0E}\u4562\u5B1F\u{2634C}\u9F50\u9EA6\u{2626B}"], + ["a3c0", "\u2400", 31, "\u2421"], + ["c6a1", "\u2460", 9, "\u2474", 9, "\u2170", 9, "\u4E36\u4E3F\u4E85\u4EA0\u5182\u5196\u51AB\u52F9\u5338\u5369\u53B6\u590A\u5B80\u5DDB\u2F33\u5E7F\u5EF4\u5F50\u5F61\u6534\u65E0\u7592\u7676\u8FB5\u96B6\xA8\u02C6\u30FD\u30FE\u309D\u309E\u3003\u4EDD\u3005\u3006\u3007\u30FC\uFF3B\uFF3D\u273D\u3041", 23], + ["c740", "\u3059", 58, "\u30A1\u30A2\u30A3\u30A4"], + ["c7a1", "\u30A5", 81, "\u0410", 5, "\u0401\u0416", 4], + ["c840", "\u041B", 26, "\u0451\u0436", 25, "\u21E7\u21B8\u21B9\u31CF\u{200CC}\u4E5A\u{2008A}\u5202\u4491"], + ["c8a1", "\u9FB0\u5188\u9FB1\u{27607}"], + ["c8cd", "\uFFE2\uFFE4\uFF07\uFF02\u3231\u2116\u2121\u309B\u309C\u2E80\u2E84\u2E86\u2E87\u2E88\u2E8A\u2E8C\u2E8D\u2E95\u2E9C\u2E9D\u2EA5\u2EA7\u2EAA\u2EAC\u2EAE\u2EB6\u2EBC\u2EBE\u2EC6\u2ECA\u2ECC\u2ECD\u2ECF\u2ED6\u2ED7\u2EDE\u2EE3"], + ["c8f5", "\u0283\u0250\u025B\u0254\u0275\u0153\xF8\u014B\u028A\u026A"], + ["f9fe", "\uFFED"], + ["fa40", "\u{20547}\u92DB\u{205DF}\u{23FC5}\u854C\u42B5\u73EF\u51B5\u3649\u{24942}\u{289E4}\u9344\u{219DB}\u82EE\u{23CC8}\u783C\u6744\u62DF\u{24933}\u{289AA}\u{202A0}\u{26BB3}\u{21305}\u4FAB\u{224ED}\u5008\u{26D29}\u{27A84}\u{23600}\u{24AB1}\u{22513}\u5029\u{2037E}\u5FA4\u{20380}\u{20347}\u6EDB\u{2041F}\u507D\u5101\u347A\u510E\u986C\u3743\u8416\u{249A4}\u{20487}\u5160\u{233B4}\u516A\u{20BFF}\u{220FC}\u{202E5}\u{22530}\u{2058E}\u{23233}\u{21983}\u5B82\u877D\u{205B3}\u{23C99}\u51B2\u51B8"], + ["faa1", "\u9D34\u51C9\u51CF\u51D1\u3CDC\u51D3\u{24AA6}\u51B3\u51E2\u5342\u51ED\u83CD\u693E\u{2372D}\u5F7B\u520B\u5226\u523C\u52B5\u5257\u5294\u52B9\u52C5\u7C15\u8542\u52E0\u860D\u{26B13}\u5305\u{28ADE}\u5549\u6ED9\u{23F80}\u{20954}\u{23FEC}\u5333\u5344\u{20BE2}\u6CCB\u{21726}\u681B\u73D5\u604A\u3EAA\u38CC\u{216E8}\u71DD\u44A2\u536D\u5374\u{286AB}\u537E\u537F\u{21596}\u{21613}\u77E6\u5393\u{28A9B}\u53A0\u53AB\u53AE\u73A7\u{25772}\u3F59\u739C\u53C1\u53C5\u6C49\u4E49\u57FE\u53D9\u3AAB\u{20B8F}\u53E0\u{23FEB}\u{22DA3}\u53F6\u{20C77}\u5413\u7079\u552B\u6657\u6D5B\u546D\u{26B53}\u{20D74}\u555D\u548F\u54A4\u47A6\u{2170D}\u{20EDD}\u3DB4\u{20D4D}"], + ["fb40", "\u{289BC}\u{22698}\u5547\u4CED\u542F\u7417\u5586\u55A9\u5605\u{218D7}\u{2403A}\u4552\u{24435}\u66B3\u{210B4}\u5637\u66CD\u{2328A}\u66A4\u66AD\u564D\u564F\u78F1\u56F1\u9787\u53FE\u5700\u56EF\u56ED\u{28B66}\u3623\u{2124F}\u5746\u{241A5}\u6C6E\u708B\u5742\u36B1\u{26C7E}\u57E6\u{21416}\u5803\u{21454}\u{24363}\u5826\u{24BF5}\u585C\u58AA\u3561\u58E0\u58DC\u{2123C}\u58FB\u5BFF\u5743\u{2A150}\u{24278}\u93D3\u35A1\u591F\u68A6\u36C3\u6E59"], + ["fba1", "\u{2163E}\u5A24\u5553\u{21692}\u8505\u59C9\u{20D4E}\u{26C81}\u{26D2A}\u{217DC}\u59D9\u{217FB}\u{217B2}\u{26DA6}\u6D71\u{21828}\u{216D5}\u59F9\u{26E45}\u5AAB\u5A63\u36E6\u{249A9}\u5A77\u3708\u5A96\u7465\u5AD3\u{26FA1}\u{22554}\u3D85\u{21911}\u3732\u{216B8}\u5E83\u52D0\u5B76\u6588\u5B7C\u{27A0E}\u4004\u485D\u{20204}\u5BD5\u6160\u{21A34}\u{259CC}\u{205A5}\u5BF3\u5B9D\u4D10\u5C05\u{21B44}\u5C13\u73CE\u5C14\u{21CA5}\u{26B28}\u5C49\u48DD\u5C85\u5CE9\u5CEF\u5D8B\u{21DF9}\u{21E37}\u5D10\u5D18\u5D46\u{21EA4}\u5CBA\u5DD7\u82FC\u382D\u{24901}\u{22049}\u{22173}\u8287\u3836\u3BC2\u5E2E\u6A8A\u5E75\u5E7A\u{244BC}\u{20CD3}\u53A6\u4EB7\u5ED0\u53A8\u{21771}\u5E09\u5EF4\u{28482}"], + ["fc40", "\u5EF9\u5EFB\u38A0\u5EFC\u683E\u941B\u5F0D\u{201C1}\u{2F894}\u3ADE\u48AE\u{2133A}\u5F3A\u{26888}\u{223D0}\u5F58\u{22471}\u5F63\u97BD\u{26E6E}\u5F72\u9340\u{28A36}\u5FA7\u5DB6\u3D5F\u{25250}\u{21F6A}\u{270F8}\u{22668}\u91D6\u{2029E}\u{28A29}\u6031\u6685\u{21877}\u3963\u3DC7\u3639\u5790\u{227B4}\u7971\u3E40\u609E\u60A4\u60B3\u{24982}\u{2498F}\u{27A53}\u74A4\u50E1\u5AA0\u6164\u8424\u6142\u{2F8A6}\u{26ED2}\u6181\u51F4\u{20656}\u6187\u5BAA\u{23FB7}"], + ["fca1", "\u{2285F}\u61D3\u{28B9D}\u{2995D}\u61D0\u3932\u{22980}\u{228C1}\u6023\u615C\u651E\u638B\u{20118}\u62C5\u{21770}\u62D5\u{22E0D}\u636C\u{249DF}\u3A17\u6438\u63F8\u{2138E}\u{217FC}\u6490\u6F8A\u{22E36}\u9814\u{2408C}\u{2571D}\u64E1\u64E5\u947B\u3A66\u643A\u3A57\u654D\u6F16\u{24A28}\u{24A23}\u6585\u656D\u655F\u{2307E}\u65B5\u{24940}\u4B37\u65D1\u40D8\u{21829}\u65E0\u65E3\u5FDF\u{23400}\u6618\u{231F7}\u{231F8}\u6644\u{231A4}\u{231A5}\u664B\u{20E75}\u6667\u{251E6}\u6673\u6674\u{21E3D}\u{23231}\u{285F4}\u{231C8}\u{25313}\u77C5\u{228F7}\u99A4\u6702\u{2439C}\u{24A21}\u3B2B\u69FA\u{237C2}\u675E\u6767\u6762\u{241CD}\u{290ED}\u67D7\u44E9\u6822\u6E50\u923C\u6801\u{233E6}\u{26DA0}\u685D"], + ["fd40", "\u{2346F}\u69E1\u6A0B\u{28ADF}\u6973\u68C3\u{235CD}\u6901\u6900\u3D32\u3A01\u{2363C}\u3B80\u67AC\u6961\u{28A4A}\u42FC\u6936\u6998\u3BA1\u{203C9}\u8363\u5090\u69F9\u{23659}\u{2212A}\u6A45\u{23703}\u6A9D\u3BF3\u67B1\u6AC8\u{2919C}\u3C0D\u6B1D\u{20923}\u60DE\u6B35\u6B74\u{227CD}\u6EB5\u{23ADB}\u{203B5}\u{21958}\u3740\u5421\u{23B5A}\u6BE1\u{23EFC}\u6BDC\u6C37\u{2248B}\u{248F1}\u{26B51}\u6C5A\u8226\u6C79\u{23DBC}\u44C5\u{23DBD}\u{241A4}\u{2490C}\u{24900}"], + ["fda1", "\u{23CC9}\u36E5\u3CEB\u{20D32}\u9B83\u{231F9}\u{22491}\u7F8F\u6837\u{26D25}\u{26DA1}\u{26DEB}\u6D96\u6D5C\u6E7C\u6F04\u{2497F}\u{24085}\u{26E72}\u8533\u{26F74}\u51C7\u6C9C\u6E1D\u842E\u{28B21}\u6E2F\u{23E2F}\u7453\u{23F82}\u79CC\u6E4F\u5A91\u{2304B}\u6FF8\u370D\u6F9D\u{23E30}\u6EFA\u{21497}\u{2403D}\u4555\u93F0\u6F44\u6F5C\u3D4E\u6F74\u{29170}\u3D3B\u6F9F\u{24144}\u6FD3\u{24091}\u{24155}\u{24039}\u{23FF0}\u{23FB4}\u{2413F}\u51DF\u{24156}\u{24157}\u{24140}\u{261DD}\u704B\u707E\u70A7\u7081\u70CC\u70D5\u70D6\u70DF\u4104\u3DE8\u71B4\u7196\u{24277}\u712B\u7145\u5A88\u714A\u716E\u5C9C\u{24365}\u714F\u9362\u{242C1}\u712C\u{2445A}\u{24A27}\u{24A22}\u71BA\u{28BE8}\u70BD\u720E"], + ["fe40", "\u9442\u7215\u5911\u9443\u7224\u9341\u{25605}\u722E\u7240\u{24974}\u68BD\u7255\u7257\u3E55\u{23044}\u680D\u6F3D\u7282\u732A\u732B\u{24823}\u{2882B}\u48ED\u{28804}\u7328\u732E\u73CF\u73AA\u{20C3A}\u{26A2E}\u73C9\u7449\u{241E2}\u{216E7}\u{24A24}\u6623\u36C5\u{249B7}\u{2498D}\u{249FB}\u73F7\u7415\u6903\u{24A26}\u7439\u{205C3}\u3ED7\u745C\u{228AD}\u7460\u{28EB2}\u7447\u73E4\u7476\u83B9\u746C\u3730\u7474\u93F1\u6A2C\u7482\u4953\u{24A8C}"], + ["fea1", "\u{2415F}\u{24A79}\u{28B8F}\u5B46\u{28C03}\u{2189E}\u74C8\u{21988}\u750E\u74E9\u751E\u{28ED9}\u{21A4B}\u5BD7\u{28EAC}\u9385\u754D\u754A\u7567\u756E\u{24F82}\u3F04\u{24D13}\u758E\u745D\u759E\u75B4\u7602\u762C\u7651\u764F\u766F\u7676\u{263F5}\u7690\u81EF\u37F8\u{26911}\u{2690E}\u76A1\u76A5\u76B7\u76CC\u{26F9F}\u8462\u{2509D}\u{2517D}\u{21E1C}\u771E\u7726\u7740\u64AF\u{25220}\u7758\u{232AC}\u77AF\u{28964}\u{28968}\u{216C1}\u77F4\u7809\u{21376}\u{24A12}\u68CA\u78AF\u78C7\u78D3\u96A5\u792E\u{255E0}\u78D7\u7934\u78B1\u{2760C}\u8FB8\u8884\u{28B2B}\u{26083}\u{2261C}\u7986\u8900\u6902\u7980\u{25857}\u799D\u{27B39}\u793C\u79A9\u6E2A\u{27126}\u3EA8\u79C6\u{2910D}\u79D4"] + ]; + } +}); +var require_dbcs_data = __commonJS2({ + "node_modules/raw-body/node_modules/iconv-lite/encodings/dbcs-data.js"(exports2, module2) { + "use strict"; + module2.exports = { + // == Japanese/ShiftJIS ==================================================== + // All japanese encodings are based on JIS X set of standards: + // JIS X 0201 - Single-byte encoding of ASCII + ¥ + Kana chars at 0xA1-0xDF. + // JIS X 0208 - Main set of 6879 characters, placed in 94x94 plane, to be encoded by 2 bytes. + // Has several variations in 1978, 1983, 1990 and 1997. + // JIS X 0212 - Supplementary plane of 6067 chars in 94x94 plane. 1990. Effectively dead. + // JIS X 0213 - Extension and modern replacement of 0208 and 0212. Total chars: 11233. + // 2 planes, first is superset of 0208, second - revised 0212. + // Introduced in 2000, revised 2004. Some characters are in Unicode Plane 2 (0x2xxxx) + // Byte encodings are: + // * Shift_JIS: Compatible with 0201, uses not defined chars in top half as lead bytes for double-byte + // encoding of 0208. Lead byte ranges: 0x81-0x9F, 0xE0-0xEF; Trail byte ranges: 0x40-0x7E, 0x80-0x9E, 0x9F-0xFC. + // Windows CP932 is a superset of Shift_JIS. Some companies added more chars, notably KDDI. + // * EUC-JP: Up to 3 bytes per character. Used mostly on *nixes. + // 0x00-0x7F - lower part of 0201 + // 0x8E, 0xA1-0xDF - upper part of 0201 + // (0xA1-0xFE)x2 - 0208 plane (94x94). + // 0x8F, (0xA1-0xFE)x2 - 0212 plane (94x94). + // * JIS X 208: 7-bit, direct encoding of 0208. Byte ranges: 0x21-0x7E (94 values). Uncommon. + // Used as-is in ISO2022 family. + // * ISO2022-JP: Stateful encoding, with escape sequences to switch between ASCII, + // 0201-1976 Roman, 0208-1978, 0208-1983. + // * ISO2022-JP-1: Adds esc seq for 0212-1990. + // * ISO2022-JP-2: Adds esc seq for GB2313-1980, KSX1001-1992, ISO8859-1, ISO8859-7. + // * ISO2022-JP-3: Adds esc seq for 0201-1976 Kana set, 0213-2000 Planes 1, 2. + // * ISO2022-JP-2004: Adds 0213-2004 Plane 1. + // + // After JIS X 0213 appeared, Shift_JIS-2004, EUC-JISX0213 and ISO2022-JP-2004 followed, with just changing the planes. + // + // Overall, it seems that it's a mess :( http://www8.plala.or.jp/tkubota1/unicode-symbols-map2.html + "shiftjis": { + type: "_dbcs", + table: function() { + return require_shiftjis(); + }, + encodeAdd: { "\xA5": 92, "\u203E": 126 }, + encodeSkipVals: [{ from: 60736, to: 63808 }] + }, + "csshiftjis": "shiftjis", + "mskanji": "shiftjis", + "sjis": "shiftjis", + "windows31j": "shiftjis", + "ms31j": "shiftjis", + "xsjis": "shiftjis", + "windows932": "shiftjis", + "ms932": "shiftjis", + "932": "shiftjis", + "cp932": "shiftjis", + "eucjp": { + type: "_dbcs", + table: function() { + return require_eucjp(); + }, + encodeAdd: { "\xA5": 92, "\u203E": 126 } + }, + // TODO: KDDI extension to Shift_JIS + // TODO: IBM CCSID 942 = CP932, but F0-F9 custom chars and other char changes. + // TODO: IBM CCSID 943 = Shift_JIS = CP932 with original Shift_JIS lower 128 chars. + // == Chinese/GBK ========================================================== + // http://en.wikipedia.org/wiki/GBK + // We mostly implement W3C recommendation: https://www.w3.org/TR/encoding/#gbk-encoder + // Oldest GB2312 (1981, ~7600 chars) is a subset of CP936 + "gb2312": "cp936", + "gb231280": "cp936", + "gb23121980": "cp936", + "csgb2312": "cp936", + "csiso58gb231280": "cp936", + "euccn": "cp936", + // Microsoft's CP936 is a subset and approximation of GBK. + "windows936": "cp936", + "ms936": "cp936", + "936": "cp936", + "cp936": { + type: "_dbcs", + table: function() { + return require_cp936(); + } + }, + // GBK (~22000 chars) is an extension of CP936 that added user-mapped chars and some other. + "gbk": { + type: "_dbcs", + table: function() { + return require_cp936().concat(require_gbk_added()); + } + }, + "xgbk": "gbk", + "isoir58": "gbk", + // GB18030 is an algorithmic extension of GBK. + // Main source: https://www.w3.org/TR/encoding/#gbk-encoder + // http://icu-project.org/docs/papers/gb18030.html + // http://source.icu-project.org/repos/icu/data/trunk/charset/data/xml/gb-18030-2000.xml + // http://www.khngai.com/chinese/charmap/tblgbk.php?page=0 + "gb18030": { + type: "_dbcs", + table: function() { + return require_cp936().concat(require_gbk_added()); + }, + gb18030: function() { + return require_gb18030_ranges(); + }, + encodeSkipVals: [128], + encodeAdd: { "\u20AC": 41699 } + }, + "chinese": "gb18030", + // == Korean =============================================================== + // EUC-KR, KS_C_5601 and KS X 1001 are exactly the same. + "windows949": "cp949", + "ms949": "cp949", + "949": "cp949", + "cp949": { + type: "_dbcs", + table: function() { + return require_cp949(); + } + }, + "cseuckr": "cp949", + "csksc56011987": "cp949", + "euckr": "cp949", + "isoir149": "cp949", + "korean": "cp949", + "ksc56011987": "cp949", + "ksc56011989": "cp949", + "ksc5601": "cp949", + // == Big5/Taiwan/Hong Kong ================================================ + // There are lots of tables for Big5 and cp950. Please see the following links for history: + // http://moztw.org/docs/big5/ http://www.haible.de/bruno/charsets/conversion-tables/Big5.html + // Variations, in roughly number of defined chars: + // * Windows CP 950: Microsoft variant of Big5. Canonical: http://www.unicode.org/Public/MAPPINGS/VENDORS/MICSFT/WINDOWS/CP950.TXT + // * Windows CP 951: Microsoft variant of Big5-HKSCS-2001. Seems to be never public. http://me.abelcheung.org/articles/research/what-is-cp951/ + // * Big5-2003 (Taiwan standard) almost superset of cp950. + // * Unicode-at-on (UAO) / Mozilla 1.8. Falling out of use on the Web. Not supported by other browsers. + // * Big5-HKSCS (-2001, -2004, -2008). Hong Kong standard. + // many unicode code points moved from PUA to Supplementary plane (U+2XXXX) over the years. + // Plus, it has 4 combining sequences. + // Seems that Mozilla refused to support it for 10 yrs. https://bugzilla.mozilla.org/show_bug.cgi?id=162431 https://bugzilla.mozilla.org/show_bug.cgi?id=310299 + // because big5-hkscs is the only encoding to include astral characters in non-algorithmic way. + // Implementations are not consistent within browsers; sometimes labeled as just big5. + // MS Internet Explorer switches from big5 to big5-hkscs when a patch applied. + // Great discussion & recap of what's going on https://bugzilla.mozilla.org/show_bug.cgi?id=912470#c31 + // In the encoder, it might make sense to support encoding old PUA mappings to Big5 bytes seq-s. + // Official spec: http://www.ogcio.gov.hk/en/business/tech_promotion/ccli/terms/doc/2003cmp_2008.txt + // http://www.ogcio.gov.hk/tc/business/tech_promotion/ccli/terms/doc/hkscs-2008-big5-iso.txt + // + // Current understanding of how to deal with Big5(-HKSCS) is in the Encoding Standard, http://encoding.spec.whatwg.org/#big5-encoder + // Unicode mapping (http://www.unicode.org/Public/MAPPINGS/OBSOLETE/EASTASIA/OTHER/BIG5.TXT) is said to be wrong. + "windows950": "cp950", + "ms950": "cp950", + "950": "cp950", + "cp950": { + type: "_dbcs", + table: function() { + return require_cp950(); + } + }, + // Big5 has many variations and is an extension of cp950. We use Encoding Standard's as a consensus. + "big5": "big5hkscs", + "big5hkscs": { + type: "_dbcs", + table: function() { + return require_cp950().concat(require_big5_added()); + }, + encodeSkipVals: [ + // Although Encoding Standard says we should avoid encoding to HKSCS area (See Step 1 of + // https://encoding.spec.whatwg.org/#index-big5-pointer), we still do it to increase compatibility with ICU. + // But if a single unicode point can be encoded both as HKSCS and regular Big5, we prefer the latter. + 36457, + 36463, + 36478, + 36523, + 36532, + 36557, + 36560, + 36695, + 36713, + 36718, + 36811, + 36862, + 36973, + 36986, + 37060, + 37084, + 37105, + 37311, + 37551, + 37552, + 37553, + 37554, + 37585, + 37959, + 38090, + 38361, + 38652, + 39285, + 39798, + 39800, + 39803, + 39878, + 39902, + 39916, + 39926, + 40002, + 40019, + 40034, + 40040, + 40043, + 40055, + 40124, + 40125, + 40144, + 40279, + 40282, + 40388, + 40431, + 40443, + 40617, + 40687, + 40701, + 40800, + 40907, + 41079, + 41180, + 41183, + 36812, + 37576, + 38468, + 38637, + // Step 2 of https://encoding.spec.whatwg.org/#index-big5-pointer: Use last pointer for U+2550, U+255E, U+2561, U+256A, U+5341, or U+5345 + 41636, + 41637, + 41639, + 41638, + 41676, + 41678 + ] + }, + "cnbig5": "big5hkscs", + "csbig5": "big5hkscs", + "xxbig5": "big5hkscs" + }; + } +}); +var require_encodings = __commonJS2({ + "node_modules/raw-body/node_modules/iconv-lite/encodings/index.js"(exports2, module2) { + "use strict"; + var modules = [ + require_internal(), + require_utf32(), + require_utf16(), + require_utf7(), + require_sbcs_codec(), + require_sbcs_data(), + require_sbcs_data_generated(), + require_dbcs_codec(), + require_dbcs_data() + ]; + for (i = 0; i < modules.length; i++) { + module2 = modules[i]; + for (enc in module2) + if (Object.prototype.hasOwnProperty.call(module2, enc)) + exports2[enc] = module2[enc]; + } + var module2; + var enc; + var i; + } +}); +var require_streams = __commonJS2({ + "node_modules/raw-body/node_modules/iconv-lite/lib/streams.js"(exports2, module2) { + "use strict"; + var Buffer2 = require_safer().Buffer; + module2.exports = function(stream_module) { + var Transform = stream_module.Transform; + function IconvLiteEncoderStream(conv, options) { + this.conv = conv; + options = options || {}; + options.decodeStrings = false; + Transform.call(this, options); + } + IconvLiteEncoderStream.prototype = Object.create(Transform.prototype, { + constructor: { value: IconvLiteEncoderStream } + }); + IconvLiteEncoderStream.prototype._transform = function(chunk, encoding, done) { + if (typeof chunk != "string") + return done(new Error("Iconv encoding stream needs strings as its input.")); + try { + var res = this.conv.write(chunk); + if (res && res.length) this.push(res); + done(); + } catch (e) { + done(e); + } + }; + IconvLiteEncoderStream.prototype._flush = function(done) { + try { + var res = this.conv.end(); + if (res && res.length) this.push(res); + done(); + } catch (e) { + done(e); + } + }; + IconvLiteEncoderStream.prototype.collect = function(cb) { + var chunks = []; + this.on("error", cb); + this.on("data", function(chunk) { + chunks.push(chunk); + }); + this.on("end", function() { + cb(null, Buffer2.concat(chunks)); + }); + return this; + }; + function IconvLiteDecoderStream(conv, options) { + this.conv = conv; + options = options || {}; + options.encoding = this.encoding = "utf8"; + Transform.call(this, options); + } + IconvLiteDecoderStream.prototype = Object.create(Transform.prototype, { + constructor: { value: IconvLiteDecoderStream } + }); + IconvLiteDecoderStream.prototype._transform = function(chunk, encoding, done) { + if (!Buffer2.isBuffer(chunk) && !(chunk instanceof Uint8Array)) + return done(new Error("Iconv decoding stream needs buffers as its input.")); + try { + var res = this.conv.write(chunk); + if (res && res.length) this.push(res, this.encoding); + done(); + } catch (e) { + done(e); + } + }; + IconvLiteDecoderStream.prototype._flush = function(done) { + try { + var res = this.conv.end(); + if (res && res.length) this.push(res, this.encoding); + done(); + } catch (e) { + done(e); + } + }; + IconvLiteDecoderStream.prototype.collect = function(cb) { + var res = ""; + this.on("error", cb); + this.on("data", function(chunk) { + res += chunk; + }); + this.on("end", function() { + cb(null, res); + }); + return this; + }; + return { + IconvLiteEncoderStream, + IconvLiteDecoderStream + }; + }; + } +}); +var require_lib = __commonJS2({ + "node_modules/raw-body/node_modules/iconv-lite/lib/index.js"(exports2, module2) { + "use strict"; + var Buffer2 = require_safer().Buffer; + var bomHandling = require_bom_handling(); + var iconv = module2.exports; + iconv.encodings = null; + iconv.defaultCharUnicode = "\uFFFD"; + iconv.defaultCharSingleByte = "?"; + iconv.encode = function encode(str, encoding, options) { + str = "" + (str || ""); + var encoder = iconv.getEncoder(encoding, options); + var res = encoder.write(str); + var trail = encoder.end(); + return trail && trail.length > 0 ? Buffer2.concat([res, trail]) : res; + }; + iconv.decode = function decode(buf, encoding, options) { + if (typeof buf === "string") { + if (!iconv.skipDecodeWarning) { + console.error("Iconv-lite warning: decode()-ing strings is deprecated. Refer to https://github.com/ashtuchkin/iconv-lite/wiki/Use-Buffers-when-decoding"); + iconv.skipDecodeWarning = true; + } + buf = Buffer2.from("" + (buf || ""), "binary"); + } + var decoder = iconv.getDecoder(encoding, options); + var res = decoder.write(buf); + var trail = decoder.end(); + return trail ? res + trail : res; + }; + iconv.encodingExists = function encodingExists(enc) { + try { + iconv.getCodec(enc); + return true; + } catch (e) { + return false; + } + }; + iconv.toEncoding = iconv.encode; + iconv.fromEncoding = iconv.decode; + iconv._codecDataCache = {}; + iconv.getCodec = function getCodec(encoding) { + if (!iconv.encodings) + iconv.encodings = require_encodings(); + var enc = iconv._canonicalizeEncoding(encoding); + var codecOptions = {}; + while (true) { + var codec = iconv._codecDataCache[enc]; + if (codec) + return codec; + var codecDef = iconv.encodings[enc]; + switch (typeof codecDef) { + case "string": + enc = codecDef; + break; + case "object": + for (var key in codecDef) + codecOptions[key] = codecDef[key]; + if (!codecOptions.encodingName) + codecOptions.encodingName = enc; + enc = codecDef.type; + break; + case "function": + if (!codecOptions.encodingName) + codecOptions.encodingName = enc; + codec = new codecDef(codecOptions, iconv); + iconv._codecDataCache[codecOptions.encodingName] = codec; + return codec; + default: + throw new Error("Encoding not recognized: '" + encoding + "' (searched as: '" + enc + "')"); + } + } + }; + iconv._canonicalizeEncoding = function(encoding) { + return ("" + encoding).toLowerCase().replace(/:\d{4}$|[^0-9a-z]/g, ""); + }; + iconv.getEncoder = function getEncoder(encoding, options) { + var codec = iconv.getCodec(encoding), encoder = new codec.encoder(options, codec); + if (codec.bomAware && options && options.addBOM) + encoder = new bomHandling.PrependBOM(encoder, options); + return encoder; + }; + iconv.getDecoder = function getDecoder(encoding, options) { + var codec = iconv.getCodec(encoding), decoder = new codec.decoder(options, codec); + if (codec.bomAware && !(options && options.stripBOM === false)) + decoder = new bomHandling.StripBOM(decoder, options); + return decoder; + }; + iconv.enableStreamingAPI = function enableStreamingAPI(stream_module2) { + if (iconv.supportsStreams) + return; + var streams = require_streams()(stream_module2); + iconv.IconvLiteEncoderStream = streams.IconvLiteEncoderStream; + iconv.IconvLiteDecoderStream = streams.IconvLiteDecoderStream; + iconv.encodeStream = function encodeStream(encoding, options) { + return new iconv.IconvLiteEncoderStream(iconv.getEncoder(encoding, options), options); + }; + iconv.decodeStream = function decodeStream(encoding, options) { + return new iconv.IconvLiteDecoderStream(iconv.getDecoder(encoding, options), options); + }; + iconv.supportsStreams = true; + }; + var stream_module; + try { + stream_module = require("stream"); + } catch (e) { + } + if (stream_module && stream_module.Transform) { + iconv.enableStreamingAPI(stream_module); + } else { + iconv.encodeStream = iconv.decodeStream = function() { + throw new Error("iconv-lite Streaming API is not enabled. Use iconv.enableStreamingAPI(require('stream')); to enable it."); + }; + } + if (false) { + console.error("iconv-lite warning: js files use non-utf8 encoding. See https://github.com/ashtuchkin/iconv-lite/wiki/Javascript-source-file-encodings for more info."); + } + } +}); +var require_unpipe = __commonJS2({ + "node_modules/unpipe/index.js"(exports2, module2) { + "use strict"; + module2.exports = unpipe; + function hasPipeDataListeners(stream) { + var listeners = stream.listeners("data"); + for (var i = 0; i < listeners.length; i++) { + if (listeners[i].name === "ondata") { + return true; + } + } + return false; + } + function unpipe(stream) { + if (!stream) { + throw new TypeError("argument stream is required"); + } + if (typeof stream.unpipe === "function") { + stream.unpipe(); + return; + } + if (!hasPipeDataListeners(stream)) { + return; + } + var listener; + var listeners = stream.listeners("close"); + for (var i = 0; i < listeners.length; i++) { + listener = listeners[i]; + if (listener.name !== "cleanup" && listener.name !== "onclose") { + continue; + } + listener.call(stream); + } + } + } +}); +var require_raw_body = __commonJS2({ + "node_modules/raw-body/index.js"(exports2, module2) { + "use strict"; + var asyncHooks = tryRequireAsyncHooks(); + var bytes = require_bytes(); + var createError = require_http_errors(); + var iconv = require_lib(); + var unpipe = require_unpipe(); + module2.exports = getRawBody2; + var ICONV_ENCODING_MESSAGE_REGEXP = /^Encoding not recognized: /; + function getDecoder(encoding) { + if (!encoding) return null; + try { + return iconv.getDecoder(encoding); + } catch (e) { + if (!ICONV_ENCODING_MESSAGE_REGEXP.test(e.message)) throw e; + throw createError(415, "specified encoding unsupported", { + encoding, + type: "encoding.unsupported" + }); + } + } + function getRawBody2(stream, options, callback) { + var done = callback; + var opts = options || {}; + if (stream === void 0) { + throw new TypeError("argument stream is required"); + } else if (typeof stream !== "object" || stream === null || typeof stream.on !== "function") { + throw new TypeError("argument stream must be a stream"); + } + if (options === true || typeof options === "string") { + opts = { + encoding: options + }; + } + if (typeof options === "function") { + done = options; + opts = {}; + } + if (done !== void 0 && typeof done !== "function") { + throw new TypeError("argument callback must be a function"); + } + if (!done && !global.Promise) { + throw new TypeError("argument callback is required"); + } + var encoding = opts.encoding !== true ? opts.encoding : "utf-8"; + var limit = bytes.parse(opts.limit); + var length = opts.length != null && !isNaN(opts.length) ? parseInt(opts.length, 10) : null; + if (done) { + return readStream(stream, encoding, length, limit, wrap(done)); + } + return new Promise(function executor(resolve, reject) { + readStream(stream, encoding, length, limit, function onRead(err2, buf) { + if (err2) return reject(err2); + resolve(buf); + }); + }); + } + function halt(stream) { + unpipe(stream); + if (typeof stream.pause === "function") { + stream.pause(); + } + } + function readStream(stream, encoding, length, limit, callback) { + var complete = false; + var sync = true; + if (limit !== null && length !== null && length > limit) { + return done(createError(413, "request entity too large", { + expected: length, + length, + limit, + type: "entity.too.large" + })); + } + var state = stream._readableState; + if (stream._decoder || state && (state.encoding || state.decoder)) { + return done(createError(500, "stream encoding should not be set", { + type: "stream.encoding.set" + })); + } + if (typeof stream.readable !== "undefined" && !stream.readable) { + return done(createError(500, "stream is not readable", { + type: "stream.not.readable" + })); + } + var received = 0; + var decoder; + try { + decoder = getDecoder(encoding); + } catch (err2) { + return done(err2); + } + var buffer = decoder ? "" : []; + stream.on("aborted", onAborted); + stream.on("close", cleanup); + stream.on("data", onData); + stream.on("end", onEnd); + stream.on("error", onEnd); + sync = false; + function done() { + var args = new Array(arguments.length); + for (var i = 0; i < args.length; i++) { + args[i] = arguments[i]; + } + complete = true; + if (sync) { + process.nextTick(invokeCallback); + } else { + invokeCallback(); + } + function invokeCallback() { + cleanup(); + if (args[0]) { + halt(stream); + } + callback.apply(null, args); + } + } + function onAborted() { + if (complete) return; + done(createError(400, "request aborted", { + code: "ECONNABORTED", + expected: length, + length, + received, + type: "request.aborted" + })); + } + function onData(chunk) { + if (complete) return; + received += chunk.length; + if (limit !== null && received > limit) { + done(createError(413, "request entity too large", { + limit, + received, + type: "entity.too.large" + })); + } else if (decoder) { + buffer += decoder.write(chunk); + } else { + buffer.push(chunk); + } + } + function onEnd(err2) { + if (complete) return; + if (err2) return done(err2); + if (length !== null && received !== length) { + done(createError(400, "request size did not match content length", { + expected: length, + length, + received, + type: "request.size.invalid" + })); + } else { + var string = decoder ? buffer + (decoder.end() || "") : Buffer.concat(buffer); + done(null, string); + } + } + function cleanup() { + buffer = null; + stream.removeListener("aborted", onAborted); + stream.removeListener("data", onData); + stream.removeListener("end", onEnd); + stream.removeListener("error", onEnd); + stream.removeListener("close", cleanup); + } + } + function tryRequireAsyncHooks() { + try { + return require("async_hooks"); + } catch (e) { + return {}; + } + } + function wrap(fn) { + var res; + if (asyncHooks.AsyncResource) { + res = new asyncHooks.AsyncResource(fn.name || "bound-anonymous-fn"); + } + if (!res || !res.runInAsyncScope) { + return fn; + } + return res.runInAsyncScope.bind(res, fn, null); + } + } +}); +var require_content_type = __commonJS2({ + "node_modules/content-type/index.js"(exports2) { + "use strict"; + var PARAM_REGEXP = /; *([!#$%&'*+.^_`|~0-9A-Za-z-]+) *= *("(?:[\u000b\u0020\u0021\u0023-\u005b\u005d-\u007e\u0080-\u00ff]|\\[\u000b\u0020-\u00ff])*"|[!#$%&'*+.^_`|~0-9A-Za-z-]+) */g; + var TEXT_REGEXP = /^[\u000b\u0020-\u007e\u0080-\u00ff]+$/; + var TOKEN_REGEXP = /^[!#$%&'*+.^_`|~0-9A-Za-z-]+$/; + var QESC_REGEXP = /\\([\u000b\u0020-\u00ff])/g; + var QUOTE_REGEXP = /([\\"])/g; + var TYPE_REGEXP = /^[!#$%&'*+.^_`|~0-9A-Za-z-]+\/[!#$%&'*+.^_`|~0-9A-Za-z-]+$/; + exports2.format = format; + exports2.parse = parse; + function format(obj) { + if (!obj || typeof obj !== "object") { + throw new TypeError("argument obj is required"); + } + var parameters = obj.parameters; + var type = obj.type; + if (!type || !TYPE_REGEXP.test(type)) { + throw new TypeError("invalid type"); + } + var string = type; + if (parameters && typeof parameters === "object") { + var param; + var params = Object.keys(parameters).sort(); + for (var i = 0; i < params.length; i++) { + param = params[i]; + if (!TOKEN_REGEXP.test(param)) { + throw new TypeError("invalid parameter name"); + } + string += "; " + param + "=" + qstring(parameters[param]); + } + } + return string; + } + function parse(string) { + if (!string) { + throw new TypeError("argument string is required"); + } + var header = typeof string === "object" ? getcontenttype(string) : string; + if (typeof header !== "string") { + throw new TypeError("argument string is required to be a string"); + } + var index = header.indexOf(";"); + var type = index !== -1 ? header.slice(0, index).trim() : header.trim(); + if (!TYPE_REGEXP.test(type)) { + throw new TypeError("invalid media type"); + } + var obj = new ContentType(type.toLowerCase()); + if (index !== -1) { + var key; + var match; + var value; + PARAM_REGEXP.lastIndex = index; + while (match = PARAM_REGEXP.exec(header)) { + if (match.index !== index) { + throw new TypeError("invalid parameter format"); + } + index += match[0].length; + key = match[1].toLowerCase(); + value = match[2]; + if (value.charCodeAt(0) === 34) { + value = value.slice(1, -1); + if (value.indexOf("\\") !== -1) { + value = value.replace(QESC_REGEXP, "$1"); + } + } + obj.parameters[key] = value; + } + if (index !== header.length) { + throw new TypeError("invalid parameter format"); + } + } + return obj; + } + function getcontenttype(obj) { + var header; + if (typeof obj.getHeader === "function") { + header = obj.getHeader("content-type"); + } else if (typeof obj.headers === "object") { + header = obj.headers && obj.headers["content-type"]; + } + if (typeof header !== "string") { + throw new TypeError("content-type header is missing from object"); + } + return header; + } + function qstring(val) { + var str = String(val); + if (TOKEN_REGEXP.test(str)) { + return str; + } + if (str.length > 0 && !TEXT_REGEXP.test(str)) { + throw new TypeError("invalid parameter value"); + } + return '"' + str.replace(QUOTE_REGEXP, "\\$1") + '"'; + } + function ContentType(type) { + this.parameters = /* @__PURE__ */ Object.create(null); + this.type = type; + } + } +}); +var require_ms = __commonJS2({ + "node_modules/ms/index.js"(exports2, module2) { + var s = 1e3; + var m = s * 60; + var h = m * 60; + var d = h * 24; + var w = d * 7; + var y = d * 365.25; + module2.exports = function(val, options) { + options = options || {}; + var type = typeof val; + if (type === "string" && val.length > 0) { + return parse(val); + } else if (type === "number" && isFinite(val)) { + return options.long ? fmtLong(val) : fmtShort(val); + } + throw new Error( + "val is not a non-empty string or a valid number. val=" + JSON.stringify(val) + ); + }; + function parse(str) { + str = String(str); + if (str.length > 100) { + return; + } + var match = /^(-?(?:\d+)?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)?$/i.exec( + str + ); + if (!match) { + return; + } + var n = parseFloat(match[1]); + var type = (match[2] || "ms").toLowerCase(); + switch (type) { + case "years": + case "year": + case "yrs": + case "yr": + case "y": + return n * y; + case "weeks": + case "week": + case "w": + return n * w; + case "days": + case "day": + case "d": + return n * d; + case "hours": + case "hour": + case "hrs": + case "hr": + case "h": + return n * h; + case "minutes": + case "minute": + case "mins": + case "min": + case "m": + return n * m; + case "seconds": + case "second": + case "secs": + case "sec": + case "s": + return n * s; + case "milliseconds": + case "millisecond": + case "msecs": + case "msec": + case "ms": + return n; + default: + return void 0; + } + } + function fmtShort(ms) { + var msAbs = Math.abs(ms); + if (msAbs >= d) { + return Math.round(ms / d) + "d"; + } + if (msAbs >= h) { + return Math.round(ms / h) + "h"; + } + if (msAbs >= m) { + return Math.round(ms / m) + "m"; + } + if (msAbs >= s) { + return Math.round(ms / s) + "s"; + } + return ms + "ms"; + } + function fmtLong(ms) { + var msAbs = Math.abs(ms); + if (msAbs >= d) { + return plural(ms, msAbs, d, "day"); + } + if (msAbs >= h) { + return plural(ms, msAbs, h, "hour"); + } + if (msAbs >= m) { + return plural(ms, msAbs, m, "minute"); + } + if (msAbs >= s) { + return plural(ms, msAbs, s, "second"); + } + return ms + " ms"; + } + function plural(ms, msAbs, n, name) { + var isPlural = msAbs >= n * 1.5; + return Math.round(ms / n) + " " + name + (isPlural ? "s" : ""); + } + } +}); +var require_common = __commonJS2({ + "node_modules/debug/src/common.js"(exports2, module2) { + function setup(env2) { + createDebug.debug = createDebug; + createDebug.default = createDebug; + createDebug.coerce = coerce22; + createDebug.disable = disable; + createDebug.enable = enable; + createDebug.enabled = enabled; + createDebug.humanize = require_ms(); + createDebug.destroy = destroy; + Object.keys(env2).forEach((key) => { + createDebug[key] = env2[key]; + }); + createDebug.names = []; + createDebug.skips = []; + createDebug.formatters = {}; + function selectColor(namespace) { + let hash = 0; + for (let i = 0; i < namespace.length; i++) { + hash = (hash << 5) - hash + namespace.charCodeAt(i); + hash |= 0; + } + return createDebug.colors[Math.abs(hash) % createDebug.colors.length]; + } + createDebug.selectColor = selectColor; + function createDebug(namespace) { + let prevTime; + let enableOverride = null; + let namespacesCache; + let enabledCache; + function debug(...args) { + if (!debug.enabled) { + return; + } + const self2 = debug; + const curr = Number(/* @__PURE__ */ new Date()); + const ms = curr - (prevTime || curr); + self2.diff = ms; + self2.prev = prevTime; + self2.curr = curr; + prevTime = curr; + args[0] = createDebug.coerce(args[0]); + if (typeof args[0] !== "string") { + args.unshift("%O"); + } + let index = 0; + args[0] = args[0].replace(/%([a-zA-Z%])/g, (match, format) => { + if (match === "%%") { + return "%"; + } + index++; + const formatter = createDebug.formatters[format]; + if (typeof formatter === "function") { + const val = args[index]; + match = formatter.call(self2, val); + args.splice(index, 1); + index--; + } + return match; + }); + createDebug.formatArgs.call(self2, args); + const logFn = self2.log || createDebug.log; + logFn.apply(self2, args); + } + debug.namespace = namespace; + debug.useColors = createDebug.useColors(); + debug.color = createDebug.selectColor(namespace); + debug.extend = extend; + debug.destroy = createDebug.destroy; + Object.defineProperty(debug, "enabled", { + enumerable: true, + configurable: false, + get: () => { + if (enableOverride !== null) { + return enableOverride; + } + if (namespacesCache !== createDebug.namespaces) { + namespacesCache = createDebug.namespaces; + enabledCache = createDebug.enabled(namespace); + } + return enabledCache; + }, + set: (v) => { + enableOverride = v; + } + }); + if (typeof createDebug.init === "function") { + createDebug.init(debug); + } + return debug; + } + function extend(namespace, delimiter) { + const newDebug = createDebug(this.namespace + (typeof delimiter === "undefined" ? ":" : delimiter) + namespace); + newDebug.log = this.log; + return newDebug; + } + function enable(namespaces) { + createDebug.save(namespaces); + createDebug.namespaces = namespaces; + createDebug.names = []; + createDebug.skips = []; + const split = (typeof namespaces === "string" ? namespaces : "").trim().replace(/\s+/g, ",").split(",").filter(Boolean); + for (const ns of split) { + if (ns[0] === "-") { + createDebug.skips.push(ns.slice(1)); + } else { + createDebug.names.push(ns); + } + } + } + function matchesTemplate(search, template) { + let searchIndex = 0; + let templateIndex = 0; + let starIndex = -1; + let matchIndex = 0; + while (searchIndex < search.length) { + if (templateIndex < template.length && (template[templateIndex] === search[searchIndex] || template[templateIndex] === "*")) { + if (template[templateIndex] === "*") { + starIndex = templateIndex; + matchIndex = searchIndex; + templateIndex++; + } else { + searchIndex++; + templateIndex++; + } + } else if (starIndex !== -1) { + templateIndex = starIndex + 1; + matchIndex++; + searchIndex = matchIndex; + } else { + return false; + } + } + while (templateIndex < template.length && template[templateIndex] === "*") { + templateIndex++; + } + return templateIndex === template.length; + } + function disable() { + const namespaces = [ + ...createDebug.names, + ...createDebug.skips.map((namespace) => "-" + namespace) + ].join(","); + createDebug.enable(""); + return namespaces; + } + function enabled(name) { + for (const skip of createDebug.skips) { + if (matchesTemplate(name, skip)) { + return false; + } + } + for (const ns of createDebug.names) { + if (matchesTemplate(name, ns)) { + return true; + } + } + return false; + } + function coerce22(val) { + if (val instanceof Error) { + return val.stack || val.message; + } + return val; + } + function destroy() { + console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`."); + } + createDebug.enable(createDebug.load()); + return createDebug; + } + module2.exports = setup; + } +}); +var require_browser = __commonJS2({ + "node_modules/debug/src/browser.js"(exports2, module2) { + exports2.formatArgs = formatArgs; + exports2.save = save; + exports2.load = load; + exports2.useColors = useColors; + exports2.storage = localstorage(); + exports2.destroy = /* @__PURE__ */ (() => { + let warned = false; + return () => { + if (!warned) { + warned = true; + console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`."); + } + }; + })(); + exports2.colors = [ + "#0000CC", + "#0000FF", + "#0033CC", + "#0033FF", + "#0066CC", + "#0066FF", + "#0099CC", + "#0099FF", + "#00CC00", + "#00CC33", + "#00CC66", + "#00CC99", + "#00CCCC", + "#00CCFF", + "#3300CC", + "#3300FF", + "#3333CC", + "#3333FF", + "#3366CC", + "#3366FF", + "#3399CC", + "#3399FF", + "#33CC00", + "#33CC33", + "#33CC66", + "#33CC99", + "#33CCCC", + "#33CCFF", + "#6600CC", + "#6600FF", + "#6633CC", + "#6633FF", + "#66CC00", + "#66CC33", + "#9900CC", + "#9900FF", + "#9933CC", + "#9933FF", + "#99CC00", + "#99CC33", + "#CC0000", + "#CC0033", + "#CC0066", + "#CC0099", + "#CC00CC", + "#CC00FF", + "#CC3300", + "#CC3333", + "#CC3366", + "#CC3399", + "#CC33CC", + "#CC33FF", + "#CC6600", + "#CC6633", + "#CC9900", + "#CC9933", + "#CCCC00", + "#CCCC33", + "#FF0000", + "#FF0033", + "#FF0066", + "#FF0099", + "#FF00CC", + "#FF00FF", + "#FF3300", + "#FF3333", + "#FF3366", + "#FF3399", + "#FF33CC", + "#FF33FF", + "#FF6600", + "#FF6633", + "#FF9900", + "#FF9933", + "#FFCC00", + "#FFCC33" + ]; + function useColors() { + if (typeof window !== "undefined" && window.process && (window.process.type === "renderer" || window.process.__nwjs)) { + return true; + } + if (typeof navigator !== "undefined" && navigator.userAgent && navigator.userAgent.toLowerCase().match(/(edge|trident)\/(\d+)/)) { + return false; + } + let m; + return typeof document !== "undefined" && document.documentElement && document.documentElement.style && document.documentElement.style.WebkitAppearance || // Is firebug? http://stackoverflow.com/a/398120/376773 + typeof window !== "undefined" && window.console && (window.console.firebug || window.console.exception && window.console.table) || // Is firefox >= v31? + // https://developer.mozilla.org/en-US/docs/Tools/Web_Console#Styling_messages + typeof navigator !== "undefined" && navigator.userAgent && (m = navigator.userAgent.toLowerCase().match(/firefox\/(\d+)/)) && parseInt(m[1], 10) >= 31 || // Double check webkit in userAgent just in case we are in a worker + typeof navigator !== "undefined" && navigator.userAgent && navigator.userAgent.toLowerCase().match(/applewebkit\/(\d+)/); + } + function formatArgs(args) { + args[0] = (this.useColors ? "%c" : "") + this.namespace + (this.useColors ? " %c" : " ") + args[0] + (this.useColors ? "%c " : " ") + "+" + module2.exports.humanize(this.diff); + if (!this.useColors) { + return; + } + const c = "color: " + this.color; + args.splice(1, 0, c, "color: inherit"); + let index = 0; + let lastC = 0; + args[0].replace(/%[a-zA-Z%]/g, (match) => { + if (match === "%%") { + return; + } + index++; + if (match === "%c") { + lastC = index; + } + }); + args.splice(lastC, 0, c); + } + exports2.log = console.debug || console.log || (() => { + }); + function save(namespaces) { + try { + if (namespaces) { + exports2.storage.setItem("debug", namespaces); + } else { + exports2.storage.removeItem("debug"); + } + } catch (error) { + } + } + function load() { + let r; + try { + r = exports2.storage.getItem("debug") || exports2.storage.getItem("DEBUG"); + } catch (error) { + } + if (!r && typeof process !== "undefined" && "env" in process) { + r = process.env.DEBUG; + } + return r; + } + function localstorage() { + try { + return localStorage; + } catch (error) { + } + } + module2.exports = require_common()(exports2); + var { formatters } = module2.exports; + formatters.j = function(v) { + try { + return JSON.stringify(v); + } catch (error) { + return "[UnexpectedJSONParseError]: " + error.message; + } + }; + } +}); +var require_has_flag = __commonJS2({ + "node_modules/has-flag/index.js"(exports2, module2) { + "use strict"; + module2.exports = (flag, argv = process.argv) => { + const prefix = flag.startsWith("-") ? "" : flag.length === 1 ? "-" : "--"; + const position = argv.indexOf(prefix + flag); + const terminatorPosition = argv.indexOf("--"); + return position !== -1 && (terminatorPosition === -1 || position < terminatorPosition); + }; + } +}); +var require_supports_color = __commonJS2({ + "node_modules/supports-color/index.js"(exports2, module2) { + "use strict"; + var os2 = require("os"); + var tty2 = require("tty"); + var hasFlag2 = require_has_flag(); + var { env: env2 } = process; + var forceColor; + if (hasFlag2("no-color") || hasFlag2("no-colors") || hasFlag2("color=false") || hasFlag2("color=never")) { + forceColor = 0; + } else if (hasFlag2("color") || hasFlag2("colors") || hasFlag2("color=true") || hasFlag2("color=always")) { + forceColor = 1; + } + if ("FORCE_COLOR" in env2) { + if (env2.FORCE_COLOR === "true") { + forceColor = 1; + } else if (env2.FORCE_COLOR === "false") { + forceColor = 0; + } else { + forceColor = env2.FORCE_COLOR.length === 0 ? 1 : Math.min(parseInt(env2.FORCE_COLOR, 10), 3); + } + } + function translateLevel2(level) { + if (level === 0) { + return false; + } + return { + level, + hasBasic: true, + has256: level >= 2, + has16m: level >= 3 + }; + } + function supportsColor2(haveStream, streamIsTTY) { + if (forceColor === 0) { + return 0; + } + if (hasFlag2("color=16m") || hasFlag2("color=full") || hasFlag2("color=truecolor")) { + return 3; + } + if (hasFlag2("color=256")) { + return 2; + } + if (haveStream && !streamIsTTY && forceColor === void 0) { + return 0; + } + const min = forceColor || 0; + if (env2.TERM === "dumb") { + return min; + } + if (process.platform === "win32") { + const osRelease = os2.release().split("."); + if (Number(osRelease[0]) >= 10 && Number(osRelease[2]) >= 10586) { + return Number(osRelease[2]) >= 14931 ? 3 : 2; + } + return 1; + } + if ("CI" in env2) { + if (["TRAVIS", "CIRCLECI", "APPVEYOR", "GITLAB_CI", "GITHUB_ACTIONS", "BUILDKITE"].some((sign) => sign in env2) || env2.CI_NAME === "codeship") { + return 1; + } + return min; + } + if ("TEAMCITY_VERSION" in env2) { + return /^(9\.(0*[1-9]\d*)\.|\d{2,}\.)/.test(env2.TEAMCITY_VERSION) ? 1 : 0; + } + if (env2.COLORTERM === "truecolor") { + return 3; + } + if ("TERM_PROGRAM" in env2) { + const version = parseInt((env2.TERM_PROGRAM_VERSION || "").split(".")[0], 10); + switch (env2.TERM_PROGRAM) { + case "iTerm.app": + return version >= 3 ? 3 : 2; + case "Apple_Terminal": + return 2; + } + } + if (/-256(color)?$/i.test(env2.TERM)) { + return 2; + } + if (/^screen|^xterm|^vt100|^vt220|^rxvt|color|ansi|cygwin|linux/i.test(env2.TERM)) { + return 1; + } + if ("COLORTERM" in env2) { + return 1; + } + return min; + } + function getSupportLevel(stream) { + const level = supportsColor2(stream, stream && stream.isTTY); + return translateLevel2(level); + } + module2.exports = { + supportsColor: getSupportLevel, + stdout: translateLevel2(supportsColor2(true, tty2.isatty(1))), + stderr: translateLevel2(supportsColor2(true, tty2.isatty(2))) + }; + } +}); +var require_node = __commonJS2({ + "node_modules/debug/src/node.js"(exports2, module2) { + var tty2 = require("tty"); + var util22 = require("util"); + exports2.init = init; + exports2.log = log; + exports2.formatArgs = formatArgs; + exports2.save = save; + exports2.load = load; + exports2.useColors = useColors; + exports2.destroy = util22.deprecate( + () => { + }, + "Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`." + ); + exports2.colors = [6, 2, 3, 4, 5, 1]; + try { + const supportsColor2 = require_supports_color(); + if (supportsColor2 && (supportsColor2.stderr || supportsColor2).level >= 2) { + exports2.colors = [ + 20, + 21, + 26, + 27, + 32, + 33, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 56, + 57, + 62, + 63, + 68, + 69, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 92, + 93, + 98, + 99, + 112, + 113, + 128, + 129, + 134, + 135, + 148, + 149, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 178, + 179, + 184, + 185, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 214, + 215, + 220, + 221 + ]; + } + } catch (error) { + } + exports2.inspectOpts = Object.keys(process.env).filter((key) => { + return /^debug_/i.test(key); + }).reduce((obj, key) => { + const prop = key.substring(6).toLowerCase().replace(/_([a-z])/g, (_2, k) => { + return k.toUpperCase(); + }); + let val = process.env[key]; + if (/^(yes|on|true|enabled)$/i.test(val)) { + val = true; + } else if (/^(no|off|false|disabled)$/i.test(val)) { + val = false; + } else if (val === "null") { + val = null; + } else { + val = Number(val); + } + obj[prop] = val; + return obj; + }, {}); + function useColors() { + return "colors" in exports2.inspectOpts ? Boolean(exports2.inspectOpts.colors) : tty2.isatty(process.stderr.fd); + } + function formatArgs(args) { + const { namespace: name, useColors: useColors2 } = this; + if (useColors2) { + const c = this.color; + const colorCode = "\x1B[3" + (c < 8 ? c : "8;5;" + c); + const prefix = ` ${colorCode};1m${name} \x1B[0m`; + args[0] = prefix + args[0].split("\n").join("\n" + prefix); + args.push(colorCode + "m+" + module2.exports.humanize(this.diff) + "\x1B[0m"); + } else { + args[0] = getDate() + name + " " + args[0]; + } + } + function getDate() { + if (exports2.inspectOpts.hideDate) { + return ""; + } + return (/* @__PURE__ */ new Date()).toISOString() + " "; + } + function log(...args) { + return process.stderr.write(util22.formatWithOptions(exports2.inspectOpts, ...args) + "\n"); + } + function save(namespaces) { + if (namespaces) { + process.env.DEBUG = namespaces; + } else { + delete process.env.DEBUG; + } + } + function load() { + return process.env.DEBUG; + } + function init(debug) { + debug.inspectOpts = {}; + const keys = Object.keys(exports2.inspectOpts); + for (let i = 0; i < keys.length; i++) { + debug.inspectOpts[keys[i]] = exports2.inspectOpts[keys[i]]; + } + } + module2.exports = require_common()(exports2); + var { formatters } = module2.exports; + formatters.o = function(v) { + this.inspectOpts.colors = this.useColors; + return util22.inspect(v, this.inspectOpts).split("\n").map((str) => str.trim()).join(" "); + }; + formatters.O = function(v) { + this.inspectOpts.colors = this.useColors; + return util22.inspect(v, this.inspectOpts); + }; + } +}); +var require_src = __commonJS2({ + "node_modules/debug/src/index.js"(exports2, module2) { + if (typeof process === "undefined" || process.type === "renderer" || process.browser === true || process.__nwjs) { + module2.exports = require_browser(); + } else { + module2.exports = require_node(); + } + } +}); +var require_ee_first = __commonJS2({ + "node_modules/ee-first/index.js"(exports2, module2) { + "use strict"; + module2.exports = first; + function first(stuff, done) { + if (!Array.isArray(stuff)) + throw new TypeError("arg must be an array of [ee, events...] arrays"); + var cleanups = []; + for (var i = 0; i < stuff.length; i++) { + var arr = stuff[i]; + if (!Array.isArray(arr) || arr.length < 2) + throw new TypeError("each array member must be [ee, events...]"); + var ee = arr[0]; + for (var j = 1; j < arr.length; j++) { + var event = arr[j]; + var fn = listener(event, callback); + ee.on(event, fn); + cleanups.push({ + ee, + event, + fn + }); + } + } + function callback() { + cleanup(); + done.apply(null, arguments); + } + function cleanup() { + var x; + for (var i2 = 0; i2 < cleanups.length; i2++) { + x = cleanups[i2]; + x.ee.removeListener(x.event, x.fn); + } + } + function thunk(fn2) { + done = fn2; + } + thunk.cancel = cleanup; + return thunk; + } + function listener(event, done) { + return function onevent(arg1) { + var args = new Array(arguments.length); + var ee = this; + var err2 = event === "error" ? arg1 : null; + for (var i = 0; i < args.length; i++) { + args[i] = arguments[i]; + } + done(err2, ee, event, args); + }; + } + } +}); +var require_on_finished = __commonJS2({ + "node_modules/on-finished/index.js"(exports2, module2) { + "use strict"; + module2.exports = onFinished; + module2.exports.isFinished = isFinished; + var asyncHooks = tryRequireAsyncHooks(); + var first = require_ee_first(); + var defer = typeof setImmediate === "function" ? setImmediate : function(fn) { + process.nextTick(fn.bind.apply(fn, arguments)); + }; + function onFinished(msg, listener) { + if (isFinished(msg) !== false) { + defer(listener, null, msg); + return msg; + } + attachListener(msg, wrap(listener)); + return msg; + } + function isFinished(msg) { + var socket = msg.socket; + if (typeof msg.finished === "boolean") { + return Boolean(msg.finished || socket && !socket.writable); + } + if (typeof msg.complete === "boolean") { + return Boolean(msg.upgrade || !socket || !socket.readable || msg.complete && !msg.readable); + } + return void 0; + } + function attachFinishedListener(msg, callback) { + var eeMsg; + var eeSocket; + var finished = false; + function onFinish(error) { + eeMsg.cancel(); + eeSocket.cancel(); + finished = true; + callback(error); + } + eeMsg = eeSocket = first([[msg, "end", "finish"]], onFinish); + function onSocket(socket) { + msg.removeListener("socket", onSocket); + if (finished) return; + if (eeMsg !== eeSocket) return; + eeSocket = first([[socket, "error", "close"]], onFinish); + } + if (msg.socket) { + onSocket(msg.socket); + return; + } + msg.on("socket", onSocket); + if (msg.socket === void 0) { + patchAssignSocket(msg, onSocket); + } + } + function attachListener(msg, listener) { + var attached = msg.__onFinished; + if (!attached || !attached.queue) { + attached = msg.__onFinished = createListener(msg); + attachFinishedListener(msg, attached); + } + attached.queue.push(listener); + } + function createListener(msg) { + function listener(err2) { + if (msg.__onFinished === listener) msg.__onFinished = null; + if (!listener.queue) return; + var queue = listener.queue; + listener.queue = null; + for (var i = 0; i < queue.length; i++) { + queue[i](err2, msg); + } + } + listener.queue = []; + return listener; + } + function patchAssignSocket(res, callback) { + var assignSocket = res.assignSocket; + if (typeof assignSocket !== "function") return; + res.assignSocket = function _assignSocket(socket) { + assignSocket.call(this, socket); + callback(socket); + }; + } + function tryRequireAsyncHooks() { + try { + return require("async_hooks"); + } catch (e) { + return {}; + } + } + function wrap(fn) { + var res; + if (asyncHooks.AsyncResource) { + res = new asyncHooks.AsyncResource(fn.name || "bound-anonymous-fn"); + } + if (!res || !res.runInAsyncScope) { + return fn; + } + return res.runInAsyncScope.bind(res, fn, null); + } + } +}); +var require_bom_handling2 = __commonJS2({ + "node_modules/body-parser/node_modules/iconv-lite/lib/bom-handling.js"(exports2) { + "use strict"; + var BOMChar = "\uFEFF"; + exports2.PrependBOM = PrependBOMWrapper; + function PrependBOMWrapper(encoder, options) { + this.encoder = encoder; + this.addBOM = true; + } + PrependBOMWrapper.prototype.write = function(str) { + if (this.addBOM) { + str = BOMChar + str; + this.addBOM = false; + } + return this.encoder.write(str); + }; + PrependBOMWrapper.prototype.end = function() { + return this.encoder.end(); + }; + exports2.StripBOM = StripBOMWrapper; + function StripBOMWrapper(decoder, options) { + this.decoder = decoder; + this.pass = false; + this.options = options || {}; + } + StripBOMWrapper.prototype.write = function(buf) { + var res = this.decoder.write(buf); + if (this.pass || !res) + return res; + if (res[0] === BOMChar) { + res = res.slice(1); + if (typeof this.options.stripBOM === "function") + this.options.stripBOM(); + } + this.pass = true; + return res; + }; + StripBOMWrapper.prototype.end = function() { + return this.decoder.end(); + }; + } +}); +var require_internal2 = __commonJS2({ + "node_modules/body-parser/node_modules/iconv-lite/encodings/internal.js"(exports2, module2) { + "use strict"; + var Buffer2 = require_safer().Buffer; + module2.exports = { + // Encodings + utf8: { type: "_internal", bomAware: true }, + cesu8: { type: "_internal", bomAware: true }, + unicode11utf8: "utf8", + ucs2: { type: "_internal", bomAware: true }, + utf16le: "ucs2", + binary: { type: "_internal" }, + base64: { type: "_internal" }, + hex: { type: "_internal" }, + // Codec. + _internal: InternalCodec + }; + function InternalCodec(codecOptions, iconv) { + this.enc = codecOptions.encodingName; + this.bomAware = codecOptions.bomAware; + if (this.enc === "base64") + this.encoder = InternalEncoderBase64; + else if (this.enc === "cesu8") { + this.enc = "utf8"; + this.encoder = InternalEncoderCesu8; + if (Buffer2.from("eda0bdedb2a9", "hex").toString() !== "\u{1F4A9}") { + this.decoder = InternalDecoderCesu8; + this.defaultCharUnicode = iconv.defaultCharUnicode; + } + } + } + InternalCodec.prototype.encoder = InternalEncoder; + InternalCodec.prototype.decoder = InternalDecoder; + var StringDecoder = require("string_decoder").StringDecoder; + if (!StringDecoder.prototype.end) + StringDecoder.prototype.end = function() { + }; + function InternalDecoder(options, codec) { + this.decoder = new StringDecoder(codec.enc); + } + InternalDecoder.prototype.write = function(buf) { + if (!Buffer2.isBuffer(buf)) { + buf = Buffer2.from(buf); + } + return this.decoder.write(buf); + }; + InternalDecoder.prototype.end = function() { + return this.decoder.end(); + }; + function InternalEncoder(options, codec) { + this.enc = codec.enc; + } + InternalEncoder.prototype.write = function(str) { + return Buffer2.from(str, this.enc); + }; + InternalEncoder.prototype.end = function() { + }; + function InternalEncoderBase64(options, codec) { + this.prevStr = ""; + } + InternalEncoderBase64.prototype.write = function(str) { + str = this.prevStr + str; + var completeQuads = str.length - str.length % 4; + this.prevStr = str.slice(completeQuads); + str = str.slice(0, completeQuads); + return Buffer2.from(str, "base64"); + }; + InternalEncoderBase64.prototype.end = function() { + return Buffer2.from(this.prevStr, "base64"); + }; + function InternalEncoderCesu8(options, codec) { + } + InternalEncoderCesu8.prototype.write = function(str) { + var buf = Buffer2.alloc(str.length * 3), bufIdx = 0; + for (var i = 0; i < str.length; i++) { + var charCode = str.charCodeAt(i); + if (charCode < 128) + buf[bufIdx++] = charCode; + else if (charCode < 2048) { + buf[bufIdx++] = 192 + (charCode >>> 6); + buf[bufIdx++] = 128 + (charCode & 63); + } else { + buf[bufIdx++] = 224 + (charCode >>> 12); + buf[bufIdx++] = 128 + (charCode >>> 6 & 63); + buf[bufIdx++] = 128 + (charCode & 63); + } + } + return buf.slice(0, bufIdx); + }; + InternalEncoderCesu8.prototype.end = function() { + }; + function InternalDecoderCesu8(options, codec) { + this.acc = 0; + this.contBytes = 0; + this.accBytes = 0; + this.defaultCharUnicode = codec.defaultCharUnicode; + } + InternalDecoderCesu8.prototype.write = function(buf) { + var acc = this.acc, contBytes = this.contBytes, accBytes = this.accBytes, res = ""; + for (var i = 0; i < buf.length; i++) { + var curByte = buf[i]; + if ((curByte & 192) !== 128) { + if (contBytes > 0) { + res += this.defaultCharUnicode; + contBytes = 0; + } + if (curByte < 128) { + res += String.fromCharCode(curByte); + } else if (curByte < 224) { + acc = curByte & 31; + contBytes = 1; + accBytes = 1; + } else if (curByte < 240) { + acc = curByte & 15; + contBytes = 2; + accBytes = 1; + } else { + res += this.defaultCharUnicode; + } + } else { + if (contBytes > 0) { + acc = acc << 6 | curByte & 63; + contBytes--; + accBytes++; + if (contBytes === 0) { + if (accBytes === 2 && acc < 128 && acc > 0) + res += this.defaultCharUnicode; + else if (accBytes === 3 && acc < 2048) + res += this.defaultCharUnicode; + else + res += String.fromCharCode(acc); + } + } else { + res += this.defaultCharUnicode; + } + } + } + this.acc = acc; + this.contBytes = contBytes; + this.accBytes = accBytes; + return res; + }; + InternalDecoderCesu8.prototype.end = function() { + var res = 0; + if (this.contBytes > 0) + res += this.defaultCharUnicode; + return res; + }; + } +}); +var require_utf322 = __commonJS2({ + "node_modules/body-parser/node_modules/iconv-lite/encodings/utf32.js"(exports2) { + "use strict"; + var Buffer2 = require_safer().Buffer; + exports2._utf32 = Utf32Codec; + function Utf32Codec(codecOptions, iconv) { + this.iconv = iconv; + this.bomAware = true; + this.isLE = codecOptions.isLE; + } + exports2.utf32le = { type: "_utf32", isLE: true }; + exports2.utf32be = { type: "_utf32", isLE: false }; + exports2.ucs4le = "utf32le"; + exports2.ucs4be = "utf32be"; + Utf32Codec.prototype.encoder = Utf32Encoder; + Utf32Codec.prototype.decoder = Utf32Decoder; + function Utf32Encoder(options, codec) { + this.isLE = codec.isLE; + this.highSurrogate = 0; + } + Utf32Encoder.prototype.write = function(str) { + var src = Buffer2.from(str, "ucs2"); + var dst = Buffer2.alloc(src.length * 2); + var write32 = this.isLE ? dst.writeUInt32LE : dst.writeUInt32BE; + var offset = 0; + for (var i = 0; i < src.length; i += 2) { + var code = src.readUInt16LE(i); + var isHighSurrogate = 55296 <= code && code < 56320; + var isLowSurrogate = 56320 <= code && code < 57344; + if (this.highSurrogate) { + if (isHighSurrogate || !isLowSurrogate) { + write32.call(dst, this.highSurrogate, offset); + offset += 4; + } else { + var codepoint = (this.highSurrogate - 55296 << 10 | code - 56320) + 65536; + write32.call(dst, codepoint, offset); + offset += 4; + this.highSurrogate = 0; + continue; + } + } + if (isHighSurrogate) + this.highSurrogate = code; + else { + write32.call(dst, code, offset); + offset += 4; + this.highSurrogate = 0; + } + } + if (offset < dst.length) + dst = dst.slice(0, offset); + return dst; + }; + Utf32Encoder.prototype.end = function() { + if (!this.highSurrogate) + return; + var buf = Buffer2.alloc(4); + if (this.isLE) + buf.writeUInt32LE(this.highSurrogate, 0); + else + buf.writeUInt32BE(this.highSurrogate, 0); + this.highSurrogate = 0; + return buf; + }; + function Utf32Decoder(options, codec) { + this.isLE = codec.isLE; + this.badChar = codec.iconv.defaultCharUnicode.charCodeAt(0); + this.overflow = []; + } + Utf32Decoder.prototype.write = function(src) { + if (src.length === 0) + return ""; + var i = 0; + var codepoint = 0; + var dst = Buffer2.alloc(src.length + 4); + var offset = 0; + var isLE = this.isLE; + var overflow = this.overflow; + var badChar = this.badChar; + if (overflow.length > 0) { + for (; i < src.length && overflow.length < 4; i++) + overflow.push(src[i]); + if (overflow.length === 4) { + if (isLE) { + codepoint = overflow[i] | overflow[i + 1] << 8 | overflow[i + 2] << 16 | overflow[i + 3] << 24; + } else { + codepoint = overflow[i + 3] | overflow[i + 2] << 8 | overflow[i + 1] << 16 | overflow[i] << 24; + } + overflow.length = 0; + offset = _writeCodepoint(dst, offset, codepoint, badChar); + } + } + for (; i < src.length - 3; i += 4) { + if (isLE) { + codepoint = src[i] | src[i + 1] << 8 | src[i + 2] << 16 | src[i + 3] << 24; + } else { + codepoint = src[i + 3] | src[i + 2] << 8 | src[i + 1] << 16 | src[i] << 24; + } + offset = _writeCodepoint(dst, offset, codepoint, badChar); + } + for (; i < src.length; i++) { + overflow.push(src[i]); + } + return dst.slice(0, offset).toString("ucs2"); + }; + function _writeCodepoint(dst, offset, codepoint, badChar) { + if (codepoint < 0 || codepoint > 1114111) { + codepoint = badChar; + } + if (codepoint >= 65536) { + codepoint -= 65536; + var high = 55296 | codepoint >> 10; + dst[offset++] = high & 255; + dst[offset++] = high >> 8; + var codepoint = 56320 | codepoint & 1023; + } + dst[offset++] = codepoint & 255; + dst[offset++] = codepoint >> 8; + return offset; + } + Utf32Decoder.prototype.end = function() { + this.overflow.length = 0; + }; + exports2.utf32 = Utf32AutoCodec; + exports2.ucs4 = "utf32"; + function Utf32AutoCodec(options, iconv) { + this.iconv = iconv; + } + Utf32AutoCodec.prototype.encoder = Utf32AutoEncoder; + Utf32AutoCodec.prototype.decoder = Utf32AutoDecoder; + function Utf32AutoEncoder(options, codec) { + options = options || {}; + if (options.addBOM === void 0) + options.addBOM = true; + this.encoder = codec.iconv.getEncoder(options.defaultEncoding || "utf-32le", options); + } + Utf32AutoEncoder.prototype.write = function(str) { + return this.encoder.write(str); + }; + Utf32AutoEncoder.prototype.end = function() { + return this.encoder.end(); + }; + function Utf32AutoDecoder(options, codec) { + this.decoder = null; + this.initialBufs = []; + this.initialBufsLen = 0; + this.options = options || {}; + this.iconv = codec.iconv; + } + Utf32AutoDecoder.prototype.write = function(buf) { + if (!this.decoder) { + this.initialBufs.push(buf); + this.initialBufsLen += buf.length; + if (this.initialBufsLen < 32) + return ""; + var encoding = detectEncoding(this.initialBufs, this.options.defaultEncoding); + this.decoder = this.iconv.getDecoder(encoding, this.options); + var resStr = ""; + for (var i = 0; i < this.initialBufs.length; i++) + resStr += this.decoder.write(this.initialBufs[i]); + this.initialBufs.length = this.initialBufsLen = 0; + return resStr; + } + return this.decoder.write(buf); + }; + Utf32AutoDecoder.prototype.end = function() { + if (!this.decoder) { + var encoding = detectEncoding(this.initialBufs, this.options.defaultEncoding); + this.decoder = this.iconv.getDecoder(encoding, this.options); + var resStr = ""; + for (var i = 0; i < this.initialBufs.length; i++) + resStr += this.decoder.write(this.initialBufs[i]); + var trail = this.decoder.end(); + if (trail) + resStr += trail; + this.initialBufs.length = this.initialBufsLen = 0; + return resStr; + } + return this.decoder.end(); + }; + function detectEncoding(bufs, defaultEncoding) { + var b = []; + var charsProcessed = 0; + var invalidLE = 0, invalidBE = 0; + var bmpCharsLE = 0, bmpCharsBE = 0; + outer_loop: + for (var i = 0; i < bufs.length; i++) { + var buf = bufs[i]; + for (var j = 0; j < buf.length; j++) { + b.push(buf[j]); + if (b.length === 4) { + if (charsProcessed === 0) { + if (b[0] === 255 && b[1] === 254 && b[2] === 0 && b[3] === 0) { + return "utf-32le"; + } + if (b[0] === 0 && b[1] === 0 && b[2] === 254 && b[3] === 255) { + return "utf-32be"; + } + } + if (b[0] !== 0 || b[1] > 16) invalidBE++; + if (b[3] !== 0 || b[2] > 16) invalidLE++; + if (b[0] === 0 && b[1] === 0 && (b[2] !== 0 || b[3] !== 0)) bmpCharsBE++; + if ((b[0] !== 0 || b[1] !== 0) && b[2] === 0 && b[3] === 0) bmpCharsLE++; + b.length = 0; + charsProcessed++; + if (charsProcessed >= 100) { + break outer_loop; + } + } + } + } + if (bmpCharsBE - invalidBE > bmpCharsLE - invalidLE) return "utf-32be"; + if (bmpCharsBE - invalidBE < bmpCharsLE - invalidLE) return "utf-32le"; + return defaultEncoding || "utf-32le"; + } + } +}); +var require_utf162 = __commonJS2({ + "node_modules/body-parser/node_modules/iconv-lite/encodings/utf16.js"(exports2) { + "use strict"; + var Buffer2 = require_safer().Buffer; + exports2.utf16be = Utf16BECodec; + function Utf16BECodec() { + } + Utf16BECodec.prototype.encoder = Utf16BEEncoder; + Utf16BECodec.prototype.decoder = Utf16BEDecoder; + Utf16BECodec.prototype.bomAware = true; + function Utf16BEEncoder() { + } + Utf16BEEncoder.prototype.write = function(str) { + var buf = Buffer2.from(str, "ucs2"); + for (var i = 0; i < buf.length; i += 2) { + var tmp = buf[i]; + buf[i] = buf[i + 1]; + buf[i + 1] = tmp; + } + return buf; + }; + Utf16BEEncoder.prototype.end = function() { + }; + function Utf16BEDecoder() { + this.overflowByte = -1; + } + Utf16BEDecoder.prototype.write = function(buf) { + if (buf.length == 0) + return ""; + var buf2 = Buffer2.alloc(buf.length + 1), i = 0, j = 0; + if (this.overflowByte !== -1) { + buf2[0] = buf[0]; + buf2[1] = this.overflowByte; + i = 1; + j = 2; + } + for (; i < buf.length - 1; i += 2, j += 2) { + buf2[j] = buf[i + 1]; + buf2[j + 1] = buf[i]; + } + this.overflowByte = i == buf.length - 1 ? buf[buf.length - 1] : -1; + return buf2.slice(0, j).toString("ucs2"); + }; + Utf16BEDecoder.prototype.end = function() { + this.overflowByte = -1; + }; + exports2.utf16 = Utf16Codec; + function Utf16Codec(codecOptions, iconv) { + this.iconv = iconv; + } + Utf16Codec.prototype.encoder = Utf16Encoder; + Utf16Codec.prototype.decoder = Utf16Decoder; + function Utf16Encoder(options, codec) { + options = options || {}; + if (options.addBOM === void 0) + options.addBOM = true; + this.encoder = codec.iconv.getEncoder("utf-16le", options); + } + Utf16Encoder.prototype.write = function(str) { + return this.encoder.write(str); + }; + Utf16Encoder.prototype.end = function() { + return this.encoder.end(); + }; + function Utf16Decoder(options, codec) { + this.decoder = null; + this.initialBufs = []; + this.initialBufsLen = 0; + this.options = options || {}; + this.iconv = codec.iconv; + } + Utf16Decoder.prototype.write = function(buf) { + if (!this.decoder) { + this.initialBufs.push(buf); + this.initialBufsLen += buf.length; + if (this.initialBufsLen < 16) + return ""; + var encoding = detectEncoding(this.initialBufs, this.options.defaultEncoding); + this.decoder = this.iconv.getDecoder(encoding, this.options); + var resStr = ""; + for (var i = 0; i < this.initialBufs.length; i++) + resStr += this.decoder.write(this.initialBufs[i]); + this.initialBufs.length = this.initialBufsLen = 0; + return resStr; + } + return this.decoder.write(buf); + }; + Utf16Decoder.prototype.end = function() { + if (!this.decoder) { + var encoding = detectEncoding(this.initialBufs, this.options.defaultEncoding); + this.decoder = this.iconv.getDecoder(encoding, this.options); + var resStr = ""; + for (var i = 0; i < this.initialBufs.length; i++) + resStr += this.decoder.write(this.initialBufs[i]); + var trail = this.decoder.end(); + if (trail) + resStr += trail; + this.initialBufs.length = this.initialBufsLen = 0; + return resStr; + } + return this.decoder.end(); + }; + function detectEncoding(bufs, defaultEncoding) { + var b = []; + var charsProcessed = 0; + var asciiCharsLE = 0, asciiCharsBE = 0; + outer_loop: + for (var i = 0; i < bufs.length; i++) { + var buf = bufs[i]; + for (var j = 0; j < buf.length; j++) { + b.push(buf[j]); + if (b.length === 2) { + if (charsProcessed === 0) { + if (b[0] === 255 && b[1] === 254) return "utf-16le"; + if (b[0] === 254 && b[1] === 255) return "utf-16be"; + } + if (b[0] === 0 && b[1] !== 0) asciiCharsBE++; + if (b[0] !== 0 && b[1] === 0) asciiCharsLE++; + b.length = 0; + charsProcessed++; + if (charsProcessed >= 100) { + break outer_loop; + } + } + } + } + if (asciiCharsBE > asciiCharsLE) return "utf-16be"; + if (asciiCharsBE < asciiCharsLE) return "utf-16le"; + return defaultEncoding || "utf-16le"; + } + } +}); +var require_utf72 = __commonJS2({ + "node_modules/body-parser/node_modules/iconv-lite/encodings/utf7.js"(exports2) { + "use strict"; + var Buffer2 = require_safer().Buffer; + exports2.utf7 = Utf7Codec; + exports2.unicode11utf7 = "utf7"; + function Utf7Codec(codecOptions, iconv) { + this.iconv = iconv; + } + Utf7Codec.prototype.encoder = Utf7Encoder; + Utf7Codec.prototype.decoder = Utf7Decoder; + Utf7Codec.prototype.bomAware = true; + var nonDirectChars = /[^A-Za-z0-9'\(\),-\.\/:\? \n\r\t]+/g; + function Utf7Encoder(options, codec) { + this.iconv = codec.iconv; + } + Utf7Encoder.prototype.write = function(str) { + return Buffer2.from(str.replace(nonDirectChars, function(chunk) { + return "+" + (chunk === "+" ? "" : this.iconv.encode(chunk, "utf16-be").toString("base64").replace(/=+$/, "")) + "-"; + }.bind(this))); + }; + Utf7Encoder.prototype.end = function() { + }; + function Utf7Decoder(options, codec) { + this.iconv = codec.iconv; + this.inBase64 = false; + this.base64Accum = ""; + } + var base64Regex22 = /[A-Za-z0-9\/+]/; + var base64Chars = []; + for (i = 0; i < 256; i++) + base64Chars[i] = base64Regex22.test(String.fromCharCode(i)); + var i; + var plusChar = "+".charCodeAt(0); + var minusChar = "-".charCodeAt(0); + var andChar = "&".charCodeAt(0); + Utf7Decoder.prototype.write = function(buf) { + var res = "", lastI = 0, inBase64 = this.inBase64, base64Accum = this.base64Accum; + for (var i2 = 0; i2 < buf.length; i2++) { + if (!inBase64) { + if (buf[i2] == plusChar) { + res += this.iconv.decode(buf.slice(lastI, i2), "ascii"); + lastI = i2 + 1; + inBase64 = true; + } + } else { + if (!base64Chars[buf[i2]]) { + if (i2 == lastI && buf[i2] == minusChar) { + res += "+"; + } else { + var b64str = base64Accum + this.iconv.decode(buf.slice(lastI, i2), "ascii"); + res += this.iconv.decode(Buffer2.from(b64str, "base64"), "utf16-be"); + } + if (buf[i2] != minusChar) + i2--; + lastI = i2 + 1; + inBase64 = false; + base64Accum = ""; + } + } + } + if (!inBase64) { + res += this.iconv.decode(buf.slice(lastI), "ascii"); + } else { + var b64str = base64Accum + this.iconv.decode(buf.slice(lastI), "ascii"); + var canBeDecoded = b64str.length - b64str.length % 8; + base64Accum = b64str.slice(canBeDecoded); + b64str = b64str.slice(0, canBeDecoded); + res += this.iconv.decode(Buffer2.from(b64str, "base64"), "utf16-be"); + } + this.inBase64 = inBase64; + this.base64Accum = base64Accum; + return res; + }; + Utf7Decoder.prototype.end = function() { + var res = ""; + if (this.inBase64 && this.base64Accum.length > 0) + res = this.iconv.decode(Buffer2.from(this.base64Accum, "base64"), "utf16-be"); + this.inBase64 = false; + this.base64Accum = ""; + return res; + }; + exports2.utf7imap = Utf7IMAPCodec; + function Utf7IMAPCodec(codecOptions, iconv) { + this.iconv = iconv; + } + Utf7IMAPCodec.prototype.encoder = Utf7IMAPEncoder; + Utf7IMAPCodec.prototype.decoder = Utf7IMAPDecoder; + Utf7IMAPCodec.prototype.bomAware = true; + function Utf7IMAPEncoder(options, codec) { + this.iconv = codec.iconv; + this.inBase64 = false; + this.base64Accum = Buffer2.alloc(6); + this.base64AccumIdx = 0; + } + Utf7IMAPEncoder.prototype.write = function(str) { + var inBase64 = this.inBase64, base64Accum = this.base64Accum, base64AccumIdx = this.base64AccumIdx, buf = Buffer2.alloc(str.length * 5 + 10), bufIdx = 0; + for (var i2 = 0; i2 < str.length; i2++) { + var uChar = str.charCodeAt(i2); + if (32 <= uChar && uChar <= 126) { + if (inBase64) { + if (base64AccumIdx > 0) { + bufIdx += buf.write(base64Accum.slice(0, base64AccumIdx).toString("base64").replace(/\//g, ",").replace(/=+$/, ""), bufIdx); + base64AccumIdx = 0; + } + buf[bufIdx++] = minusChar; + inBase64 = false; + } + if (!inBase64) { + buf[bufIdx++] = uChar; + if (uChar === andChar) + buf[bufIdx++] = minusChar; + } + } else { + if (!inBase64) { + buf[bufIdx++] = andChar; + inBase64 = true; + } + if (inBase64) { + base64Accum[base64AccumIdx++] = uChar >> 8; + base64Accum[base64AccumIdx++] = uChar & 255; + if (base64AccumIdx == base64Accum.length) { + bufIdx += buf.write(base64Accum.toString("base64").replace(/\//g, ","), bufIdx); + base64AccumIdx = 0; + } + } + } + } + this.inBase64 = inBase64; + this.base64AccumIdx = base64AccumIdx; + return buf.slice(0, bufIdx); + }; + Utf7IMAPEncoder.prototype.end = function() { + var buf = Buffer2.alloc(10), bufIdx = 0; + if (this.inBase64) { + if (this.base64AccumIdx > 0) { + bufIdx += buf.write(this.base64Accum.slice(0, this.base64AccumIdx).toString("base64").replace(/\//g, ",").replace(/=+$/, ""), bufIdx); + this.base64AccumIdx = 0; + } + buf[bufIdx++] = minusChar; + this.inBase64 = false; + } + return buf.slice(0, bufIdx); + }; + function Utf7IMAPDecoder(options, codec) { + this.iconv = codec.iconv; + this.inBase64 = false; + this.base64Accum = ""; + } + var base64IMAPChars = base64Chars.slice(); + base64IMAPChars[",".charCodeAt(0)] = true; + Utf7IMAPDecoder.prototype.write = function(buf) { + var res = "", lastI = 0, inBase64 = this.inBase64, base64Accum = this.base64Accum; + for (var i2 = 0; i2 < buf.length; i2++) { + if (!inBase64) { + if (buf[i2] == andChar) { + res += this.iconv.decode(buf.slice(lastI, i2), "ascii"); + lastI = i2 + 1; + inBase64 = true; + } + } else { + if (!base64IMAPChars[buf[i2]]) { + if (i2 == lastI && buf[i2] == minusChar) { + res += "&"; + } else { + var b64str = base64Accum + this.iconv.decode(buf.slice(lastI, i2), "ascii").replace(/,/g, "/"); + res += this.iconv.decode(Buffer2.from(b64str, "base64"), "utf16-be"); + } + if (buf[i2] != minusChar) + i2--; + lastI = i2 + 1; + inBase64 = false; + base64Accum = ""; + } + } + } + if (!inBase64) { + res += this.iconv.decode(buf.slice(lastI), "ascii"); + } else { + var b64str = base64Accum + this.iconv.decode(buf.slice(lastI), "ascii").replace(/,/g, "/"); + var canBeDecoded = b64str.length - b64str.length % 8; + base64Accum = b64str.slice(canBeDecoded); + b64str = b64str.slice(0, canBeDecoded); + res += this.iconv.decode(Buffer2.from(b64str, "base64"), "utf16-be"); + } + this.inBase64 = inBase64; + this.base64Accum = base64Accum; + return res; + }; + Utf7IMAPDecoder.prototype.end = function() { + var res = ""; + if (this.inBase64 && this.base64Accum.length > 0) + res = this.iconv.decode(Buffer2.from(this.base64Accum, "base64"), "utf16-be"); + this.inBase64 = false; + this.base64Accum = ""; + return res; + }; + } +}); +var require_sbcs_codec2 = __commonJS2({ + "node_modules/body-parser/node_modules/iconv-lite/encodings/sbcs-codec.js"(exports2) { + "use strict"; + var Buffer2 = require_safer().Buffer; + exports2._sbcs = SBCSCodec; + function SBCSCodec(codecOptions, iconv) { + if (!codecOptions) + throw new Error("SBCS codec is called without the data."); + if (!codecOptions.chars || codecOptions.chars.length !== 128 && codecOptions.chars.length !== 256) + throw new Error("Encoding '" + codecOptions.type + "' has incorrect 'chars' (must be of len 128 or 256)"); + if (codecOptions.chars.length === 128) { + var asciiString = ""; + for (var i = 0; i < 128; i++) + asciiString += String.fromCharCode(i); + codecOptions.chars = asciiString + codecOptions.chars; + } + this.decodeBuf = Buffer2.from(codecOptions.chars, "ucs2"); + var encodeBuf = Buffer2.alloc(65536, iconv.defaultCharSingleByte.charCodeAt(0)); + for (var i = 0; i < codecOptions.chars.length; i++) + encodeBuf[codecOptions.chars.charCodeAt(i)] = i; + this.encodeBuf = encodeBuf; + } + SBCSCodec.prototype.encoder = SBCSEncoder; + SBCSCodec.prototype.decoder = SBCSDecoder; + function SBCSEncoder(options, codec) { + this.encodeBuf = codec.encodeBuf; + } + SBCSEncoder.prototype.write = function(str) { + var buf = Buffer2.alloc(str.length); + for (var i = 0; i < str.length; i++) + buf[i] = this.encodeBuf[str.charCodeAt(i)]; + return buf; + }; + SBCSEncoder.prototype.end = function() { + }; + function SBCSDecoder(options, codec) { + this.decodeBuf = codec.decodeBuf; + } + SBCSDecoder.prototype.write = function(buf) { + var decodeBuf = this.decodeBuf; + var newBuf = Buffer2.alloc(buf.length * 2); + var idx1 = 0, idx2 = 0; + for (var i = 0; i < buf.length; i++) { + idx1 = buf[i] * 2; + idx2 = i * 2; + newBuf[idx2] = decodeBuf[idx1]; + newBuf[idx2 + 1] = decodeBuf[idx1 + 1]; + } + return newBuf.toString("ucs2"); + }; + SBCSDecoder.prototype.end = function() { + }; + } +}); +var require_sbcs_data2 = __commonJS2({ + "node_modules/body-parser/node_modules/iconv-lite/encodings/sbcs-data.js"(exports2, module2) { + "use strict"; + module2.exports = { + // Not supported by iconv, not sure why. + "10029": "maccenteuro", + "maccenteuro": { + "type": "_sbcs", + "chars": "\xC4\u0100\u0101\xC9\u0104\xD6\xDC\xE1\u0105\u010C\xE4\u010D\u0106\u0107\xE9\u0179\u017A\u010E\xED\u010F\u0112\u0113\u0116\xF3\u0117\xF4\xF6\xF5\xFA\u011A\u011B\xFC\u2020\xB0\u0118\xA3\xA7\u2022\xB6\xDF\xAE\xA9\u2122\u0119\xA8\u2260\u0123\u012E\u012F\u012A\u2264\u2265\u012B\u0136\u2202\u2211\u0142\u013B\u013C\u013D\u013E\u0139\u013A\u0145\u0146\u0143\xAC\u221A\u0144\u0147\u2206\xAB\xBB\u2026\xA0\u0148\u0150\xD5\u0151\u014C\u2013\u2014\u201C\u201D\u2018\u2019\xF7\u25CA\u014D\u0154\u0155\u0158\u2039\u203A\u0159\u0156\u0157\u0160\u201A\u201E\u0161\u015A\u015B\xC1\u0164\u0165\xCD\u017D\u017E\u016A\xD3\xD4\u016B\u016E\xDA\u016F\u0170\u0171\u0172\u0173\xDD\xFD\u0137\u017B\u0141\u017C\u0122\u02C7" + }, + "808": "cp808", + "ibm808": "cp808", + "cp808": { + "type": "_sbcs", + "chars": "\u0410\u0411\u0412\u0413\u0414\u0415\u0416\u0417\u0418\u0419\u041A\u041B\u041C\u041D\u041E\u041F\u0420\u0421\u0422\u0423\u0424\u0425\u0426\u0427\u0428\u0429\u042A\u042B\u042C\u042D\u042E\u042F\u0430\u0431\u0432\u0433\u0434\u0435\u0436\u0437\u0438\u0439\u043A\u043B\u043C\u043D\u043E\u043F\u2591\u2592\u2593\u2502\u2524\u2561\u2562\u2556\u2555\u2563\u2551\u2557\u255D\u255C\u255B\u2510\u2514\u2534\u252C\u251C\u2500\u253C\u255E\u255F\u255A\u2554\u2569\u2566\u2560\u2550\u256C\u2567\u2568\u2564\u2565\u2559\u2558\u2552\u2553\u256B\u256A\u2518\u250C\u2588\u2584\u258C\u2590\u2580\u0440\u0441\u0442\u0443\u0444\u0445\u0446\u0447\u0448\u0449\u044A\u044B\u044C\u044D\u044E\u044F\u0401\u0451\u0404\u0454\u0407\u0457\u040E\u045E\xB0\u2219\xB7\u221A\u2116\u20AC\u25A0\xA0" + }, + "mik": { + "type": "_sbcs", + "chars": "\u0410\u0411\u0412\u0413\u0414\u0415\u0416\u0417\u0418\u0419\u041A\u041B\u041C\u041D\u041E\u041F\u0420\u0421\u0422\u0423\u0424\u0425\u0426\u0427\u0428\u0429\u042A\u042B\u042C\u042D\u042E\u042F\u0430\u0431\u0432\u0433\u0434\u0435\u0436\u0437\u0438\u0439\u043A\u043B\u043C\u043D\u043E\u043F\u0440\u0441\u0442\u0443\u0444\u0445\u0446\u0447\u0448\u0449\u044A\u044B\u044C\u044D\u044E\u044F\u2514\u2534\u252C\u251C\u2500\u253C\u2563\u2551\u255A\u2554\u2569\u2566\u2560\u2550\u256C\u2510\u2591\u2592\u2593\u2502\u2524\u2116\xA7\u2557\u255D\u2518\u250C\u2588\u2584\u258C\u2590\u2580\u03B1\xDF\u0393\u03C0\u03A3\u03C3\xB5\u03C4\u03A6\u0398\u03A9\u03B4\u221E\u03C6\u03B5\u2229\u2261\xB1\u2265\u2264\u2320\u2321\xF7\u2248\xB0\u2219\xB7\u221A\u207F\xB2\u25A0\xA0" + }, + "cp720": { + "type": "_sbcs", + "chars": "\x80\x81\xE9\xE2\x84\xE0\x86\xE7\xEA\xEB\xE8\xEF\xEE\x8D\x8E\x8F\x90\u0651\u0652\xF4\xA4\u0640\xFB\xF9\u0621\u0622\u0623\u0624\xA3\u0625\u0626\u0627\u0628\u0629\u062A\u062B\u062C\u062D\u062E\u062F\u0630\u0631\u0632\u0633\u0634\u0635\xAB\xBB\u2591\u2592\u2593\u2502\u2524\u2561\u2562\u2556\u2555\u2563\u2551\u2557\u255D\u255C\u255B\u2510\u2514\u2534\u252C\u251C\u2500\u253C\u255E\u255F\u255A\u2554\u2569\u2566\u2560\u2550\u256C\u2567\u2568\u2564\u2565\u2559\u2558\u2552\u2553\u256B\u256A\u2518\u250C\u2588\u2584\u258C\u2590\u2580\u0636\u0637\u0638\u0639\u063A\u0641\xB5\u0642\u0643\u0644\u0645\u0646\u0647\u0648\u0649\u064A\u2261\u064B\u064C\u064D\u064E\u064F\u0650\u2248\xB0\u2219\xB7\u221A\u207F\xB2\u25A0\xA0" + }, + // Aliases of generated encodings. + "ascii8bit": "ascii", + "usascii": "ascii", + "ansix34": "ascii", + "ansix341968": "ascii", + "ansix341986": "ascii", + "csascii": "ascii", + "cp367": "ascii", + "ibm367": "ascii", + "isoir6": "ascii", + "iso646us": "ascii", + "iso646irv": "ascii", + "us": "ascii", + "latin1": "iso88591", + "latin2": "iso88592", + "latin3": "iso88593", + "latin4": "iso88594", + "latin5": "iso88599", + "latin6": "iso885910", + "latin7": "iso885913", + "latin8": "iso885914", + "latin9": "iso885915", + "latin10": "iso885916", + "csisolatin1": "iso88591", + "csisolatin2": "iso88592", + "csisolatin3": "iso88593", + "csisolatin4": "iso88594", + "csisolatincyrillic": "iso88595", + "csisolatinarabic": "iso88596", + "csisolatingreek": "iso88597", + "csisolatinhebrew": "iso88598", + "csisolatin5": "iso88599", + "csisolatin6": "iso885910", + "l1": "iso88591", + "l2": "iso88592", + "l3": "iso88593", + "l4": "iso88594", + "l5": "iso88599", + "l6": "iso885910", + "l7": "iso885913", + "l8": "iso885914", + "l9": "iso885915", + "l10": "iso885916", + "isoir14": "iso646jp", + "isoir57": "iso646cn", + "isoir100": "iso88591", + "isoir101": "iso88592", + "isoir109": "iso88593", + "isoir110": "iso88594", + "isoir144": "iso88595", + "isoir127": "iso88596", + "isoir126": "iso88597", + "isoir138": "iso88598", + "isoir148": "iso88599", + "isoir157": "iso885910", + "isoir166": "tis620", + "isoir179": "iso885913", + "isoir199": "iso885914", + "isoir203": "iso885915", + "isoir226": "iso885916", + "cp819": "iso88591", + "ibm819": "iso88591", + "cyrillic": "iso88595", + "arabic": "iso88596", + "arabic8": "iso88596", + "ecma114": "iso88596", + "asmo708": "iso88596", + "greek": "iso88597", + "greek8": "iso88597", + "ecma118": "iso88597", + "elot928": "iso88597", + "hebrew": "iso88598", + "hebrew8": "iso88598", + "turkish": "iso88599", + "turkish8": "iso88599", + "thai": "iso885911", + "thai8": "iso885911", + "celtic": "iso885914", + "celtic8": "iso885914", + "isoceltic": "iso885914", + "tis6200": "tis620", + "tis62025291": "tis620", + "tis62025330": "tis620", + "10000": "macroman", + "10006": "macgreek", + "10007": "maccyrillic", + "10079": "maciceland", + "10081": "macturkish", + "cspc8codepage437": "cp437", + "cspc775baltic": "cp775", + "cspc850multilingual": "cp850", + "cspcp852": "cp852", + "cspc862latinhebrew": "cp862", + "cpgr": "cp869", + "msee": "cp1250", + "mscyrl": "cp1251", + "msansi": "cp1252", + "msgreek": "cp1253", + "msturk": "cp1254", + "mshebr": "cp1255", + "msarab": "cp1256", + "winbaltrim": "cp1257", + "cp20866": "koi8r", + "20866": "koi8r", + "ibm878": "koi8r", + "cskoi8r": "koi8r", + "cp21866": "koi8u", + "21866": "koi8u", + "ibm1168": "koi8u", + "strk10482002": "rk1048", + "tcvn5712": "tcvn", + "tcvn57121": "tcvn", + "gb198880": "iso646cn", + "cn": "iso646cn", + "csiso14jisc6220ro": "iso646jp", + "jisc62201969ro": "iso646jp", + "jp": "iso646jp", + "cshproman8": "hproman8", + "r8": "hproman8", + "roman8": "hproman8", + "xroman8": "hproman8", + "ibm1051": "hproman8", + "mac": "macintosh", + "csmacintosh": "macintosh" + }; + } +}); +var require_sbcs_data_generated2 = __commonJS2({ + "node_modules/body-parser/node_modules/iconv-lite/encodings/sbcs-data-generated.js"(exports2, module2) { + "use strict"; + module2.exports = { + "437": "cp437", + "737": "cp737", + "775": "cp775", + "850": "cp850", + "852": "cp852", + "855": "cp855", + "856": "cp856", + "857": "cp857", + "858": "cp858", + "860": "cp860", + "861": "cp861", + "862": "cp862", + "863": "cp863", + "864": "cp864", + "865": "cp865", + "866": "cp866", + "869": "cp869", + "874": "windows874", + "922": "cp922", + "1046": "cp1046", + "1124": "cp1124", + "1125": "cp1125", + "1129": "cp1129", + "1133": "cp1133", + "1161": "cp1161", + "1162": "cp1162", + "1163": "cp1163", + "1250": "windows1250", + "1251": "windows1251", + "1252": "windows1252", + "1253": "windows1253", + "1254": "windows1254", + "1255": "windows1255", + "1256": "windows1256", + "1257": "windows1257", + "1258": "windows1258", + "28591": "iso88591", + "28592": "iso88592", + "28593": "iso88593", + "28594": "iso88594", + "28595": "iso88595", + "28596": "iso88596", + "28597": "iso88597", + "28598": "iso88598", + "28599": "iso88599", + "28600": "iso885910", + "28601": "iso885911", + "28603": "iso885913", + "28604": "iso885914", + "28605": "iso885915", + "28606": "iso885916", + "windows874": { + "type": "_sbcs", + "chars": "\u20AC\uFFFD\uFFFD\uFFFD\uFFFD\u2026\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\u2018\u2019\u201C\u201D\u2022\u2013\u2014\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\xA0\u0E01\u0E02\u0E03\u0E04\u0E05\u0E06\u0E07\u0E08\u0E09\u0E0A\u0E0B\u0E0C\u0E0D\u0E0E\u0E0F\u0E10\u0E11\u0E12\u0E13\u0E14\u0E15\u0E16\u0E17\u0E18\u0E19\u0E1A\u0E1B\u0E1C\u0E1D\u0E1E\u0E1F\u0E20\u0E21\u0E22\u0E23\u0E24\u0E25\u0E26\u0E27\u0E28\u0E29\u0E2A\u0E2B\u0E2C\u0E2D\u0E2E\u0E2F\u0E30\u0E31\u0E32\u0E33\u0E34\u0E35\u0E36\u0E37\u0E38\u0E39\u0E3A\uFFFD\uFFFD\uFFFD\uFFFD\u0E3F\u0E40\u0E41\u0E42\u0E43\u0E44\u0E45\u0E46\u0E47\u0E48\u0E49\u0E4A\u0E4B\u0E4C\u0E4D\u0E4E\u0E4F\u0E50\u0E51\u0E52\u0E53\u0E54\u0E55\u0E56\u0E57\u0E58\u0E59\u0E5A\u0E5B\uFFFD\uFFFD\uFFFD\uFFFD" + }, + "win874": "windows874", + "cp874": "windows874", + "windows1250": { + "type": "_sbcs", + "chars": "\u20AC\uFFFD\u201A\uFFFD\u201E\u2026\u2020\u2021\uFFFD\u2030\u0160\u2039\u015A\u0164\u017D\u0179\uFFFD\u2018\u2019\u201C\u201D\u2022\u2013\u2014\uFFFD\u2122\u0161\u203A\u015B\u0165\u017E\u017A\xA0\u02C7\u02D8\u0141\xA4\u0104\xA6\xA7\xA8\xA9\u015E\xAB\xAC\xAD\xAE\u017B\xB0\xB1\u02DB\u0142\xB4\xB5\xB6\xB7\xB8\u0105\u015F\xBB\u013D\u02DD\u013E\u017C\u0154\xC1\xC2\u0102\xC4\u0139\u0106\xC7\u010C\xC9\u0118\xCB\u011A\xCD\xCE\u010E\u0110\u0143\u0147\xD3\xD4\u0150\xD6\xD7\u0158\u016E\xDA\u0170\xDC\xDD\u0162\xDF\u0155\xE1\xE2\u0103\xE4\u013A\u0107\xE7\u010D\xE9\u0119\xEB\u011B\xED\xEE\u010F\u0111\u0144\u0148\xF3\xF4\u0151\xF6\xF7\u0159\u016F\xFA\u0171\xFC\xFD\u0163\u02D9" + }, + "win1250": "windows1250", + "cp1250": "windows1250", + "windows1251": { + "type": "_sbcs", + "chars": "\u0402\u0403\u201A\u0453\u201E\u2026\u2020\u2021\u20AC\u2030\u0409\u2039\u040A\u040C\u040B\u040F\u0452\u2018\u2019\u201C\u201D\u2022\u2013\u2014\uFFFD\u2122\u0459\u203A\u045A\u045C\u045B\u045F\xA0\u040E\u045E\u0408\xA4\u0490\xA6\xA7\u0401\xA9\u0404\xAB\xAC\xAD\xAE\u0407\xB0\xB1\u0406\u0456\u0491\xB5\xB6\xB7\u0451\u2116\u0454\xBB\u0458\u0405\u0455\u0457\u0410\u0411\u0412\u0413\u0414\u0415\u0416\u0417\u0418\u0419\u041A\u041B\u041C\u041D\u041E\u041F\u0420\u0421\u0422\u0423\u0424\u0425\u0426\u0427\u0428\u0429\u042A\u042B\u042C\u042D\u042E\u042F\u0430\u0431\u0432\u0433\u0434\u0435\u0436\u0437\u0438\u0439\u043A\u043B\u043C\u043D\u043E\u043F\u0440\u0441\u0442\u0443\u0444\u0445\u0446\u0447\u0448\u0449\u044A\u044B\u044C\u044D\u044E\u044F" + }, + "win1251": "windows1251", + "cp1251": "windows1251", + "windows1252": { + "type": "_sbcs", + "chars": "\u20AC\uFFFD\u201A\u0192\u201E\u2026\u2020\u2021\u02C6\u2030\u0160\u2039\u0152\uFFFD\u017D\uFFFD\uFFFD\u2018\u2019\u201C\u201D\u2022\u2013\u2014\u02DC\u2122\u0161\u203A\u0153\uFFFD\u017E\u0178\xA0\xA1\xA2\xA3\xA4\xA5\xA6\xA7\xA8\xA9\xAA\xAB\xAC\xAD\xAE\xAF\xB0\xB1\xB2\xB3\xB4\xB5\xB6\xB7\xB8\xB9\xBA\xBB\xBC\xBD\xBE\xBF\xC0\xC1\xC2\xC3\xC4\xC5\xC6\xC7\xC8\xC9\xCA\xCB\xCC\xCD\xCE\xCF\xD0\xD1\xD2\xD3\xD4\xD5\xD6\xD7\xD8\xD9\xDA\xDB\xDC\xDD\xDE\xDF\xE0\xE1\xE2\xE3\xE4\xE5\xE6\xE7\xE8\xE9\xEA\xEB\xEC\xED\xEE\xEF\xF0\xF1\xF2\xF3\xF4\xF5\xF6\xF7\xF8\xF9\xFA\xFB\xFC\xFD\xFE\xFF" + }, + "win1252": "windows1252", + "cp1252": "windows1252", + "windows1253": { + "type": "_sbcs", + "chars": "\u20AC\uFFFD\u201A\u0192\u201E\u2026\u2020\u2021\uFFFD\u2030\uFFFD\u2039\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\u2018\u2019\u201C\u201D\u2022\u2013\u2014\uFFFD\u2122\uFFFD\u203A\uFFFD\uFFFD\uFFFD\uFFFD\xA0\u0385\u0386\xA3\xA4\xA5\xA6\xA7\xA8\xA9\uFFFD\xAB\xAC\xAD\xAE\u2015\xB0\xB1\xB2\xB3\u0384\xB5\xB6\xB7\u0388\u0389\u038A\xBB\u038C\xBD\u038E\u038F\u0390\u0391\u0392\u0393\u0394\u0395\u0396\u0397\u0398\u0399\u039A\u039B\u039C\u039D\u039E\u039F\u03A0\u03A1\uFFFD\u03A3\u03A4\u03A5\u03A6\u03A7\u03A8\u03A9\u03AA\u03AB\u03AC\u03AD\u03AE\u03AF\u03B0\u03B1\u03B2\u03B3\u03B4\u03B5\u03B6\u03B7\u03B8\u03B9\u03BA\u03BB\u03BC\u03BD\u03BE\u03BF\u03C0\u03C1\u03C2\u03C3\u03C4\u03C5\u03C6\u03C7\u03C8\u03C9\u03CA\u03CB\u03CC\u03CD\u03CE\uFFFD" + }, + "win1253": "windows1253", + "cp1253": "windows1253", + "windows1254": { + "type": "_sbcs", + "chars": "\u20AC\uFFFD\u201A\u0192\u201E\u2026\u2020\u2021\u02C6\u2030\u0160\u2039\u0152\uFFFD\uFFFD\uFFFD\uFFFD\u2018\u2019\u201C\u201D\u2022\u2013\u2014\u02DC\u2122\u0161\u203A\u0153\uFFFD\uFFFD\u0178\xA0\xA1\xA2\xA3\xA4\xA5\xA6\xA7\xA8\xA9\xAA\xAB\xAC\xAD\xAE\xAF\xB0\xB1\xB2\xB3\xB4\xB5\xB6\xB7\xB8\xB9\xBA\xBB\xBC\xBD\xBE\xBF\xC0\xC1\xC2\xC3\xC4\xC5\xC6\xC7\xC8\xC9\xCA\xCB\xCC\xCD\xCE\xCF\u011E\xD1\xD2\xD3\xD4\xD5\xD6\xD7\xD8\xD9\xDA\xDB\xDC\u0130\u015E\xDF\xE0\xE1\xE2\xE3\xE4\xE5\xE6\xE7\xE8\xE9\xEA\xEB\xEC\xED\xEE\xEF\u011F\xF1\xF2\xF3\xF4\xF5\xF6\xF7\xF8\xF9\xFA\xFB\xFC\u0131\u015F\xFF" + }, + "win1254": "windows1254", + "cp1254": "windows1254", + "windows1255": { + "type": "_sbcs", + "chars": "\u20AC\uFFFD\u201A\u0192\u201E\u2026\u2020\u2021\u02C6\u2030\uFFFD\u2039\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\u2018\u2019\u201C\u201D\u2022\u2013\u2014\u02DC\u2122\uFFFD\u203A\uFFFD\uFFFD\uFFFD\uFFFD\xA0\xA1\xA2\xA3\u20AA\xA5\xA6\xA7\xA8\xA9\xD7\xAB\xAC\xAD\xAE\xAF\xB0\xB1\xB2\xB3\xB4\xB5\xB6\xB7\xB8\xB9\xF7\xBB\xBC\xBD\xBE\xBF\u05B0\u05B1\u05B2\u05B3\u05B4\u05B5\u05B6\u05B7\u05B8\u05B9\u05BA\u05BB\u05BC\u05BD\u05BE\u05BF\u05C0\u05C1\u05C2\u05C3\u05F0\u05F1\u05F2\u05F3\u05F4\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\u05D0\u05D1\u05D2\u05D3\u05D4\u05D5\u05D6\u05D7\u05D8\u05D9\u05DA\u05DB\u05DC\u05DD\u05DE\u05DF\u05E0\u05E1\u05E2\u05E3\u05E4\u05E5\u05E6\u05E7\u05E8\u05E9\u05EA\uFFFD\uFFFD\u200E\u200F\uFFFD" + }, + "win1255": "windows1255", + "cp1255": "windows1255", + "windows1256": { + "type": "_sbcs", + "chars": "\u20AC\u067E\u201A\u0192\u201E\u2026\u2020\u2021\u02C6\u2030\u0679\u2039\u0152\u0686\u0698\u0688\u06AF\u2018\u2019\u201C\u201D\u2022\u2013\u2014\u06A9\u2122\u0691\u203A\u0153\u200C\u200D\u06BA\xA0\u060C\xA2\xA3\xA4\xA5\xA6\xA7\xA8\xA9\u06BE\xAB\xAC\xAD\xAE\xAF\xB0\xB1\xB2\xB3\xB4\xB5\xB6\xB7\xB8\xB9\u061B\xBB\xBC\xBD\xBE\u061F\u06C1\u0621\u0622\u0623\u0624\u0625\u0626\u0627\u0628\u0629\u062A\u062B\u062C\u062D\u062E\u062F\u0630\u0631\u0632\u0633\u0634\u0635\u0636\xD7\u0637\u0638\u0639\u063A\u0640\u0641\u0642\u0643\xE0\u0644\xE2\u0645\u0646\u0647\u0648\xE7\xE8\xE9\xEA\xEB\u0649\u064A\xEE\xEF\u064B\u064C\u064D\u064E\xF4\u064F\u0650\xF7\u0651\xF9\u0652\xFB\xFC\u200E\u200F\u06D2" + }, + "win1256": "windows1256", + "cp1256": "windows1256", + "windows1257": { + "type": "_sbcs", + "chars": "\u20AC\uFFFD\u201A\uFFFD\u201E\u2026\u2020\u2021\uFFFD\u2030\uFFFD\u2039\uFFFD\xA8\u02C7\xB8\uFFFD\u2018\u2019\u201C\u201D\u2022\u2013\u2014\uFFFD\u2122\uFFFD\u203A\uFFFD\xAF\u02DB\uFFFD\xA0\uFFFD\xA2\xA3\xA4\uFFFD\xA6\xA7\xD8\xA9\u0156\xAB\xAC\xAD\xAE\xC6\xB0\xB1\xB2\xB3\xB4\xB5\xB6\xB7\xF8\xB9\u0157\xBB\xBC\xBD\xBE\xE6\u0104\u012E\u0100\u0106\xC4\xC5\u0118\u0112\u010C\xC9\u0179\u0116\u0122\u0136\u012A\u013B\u0160\u0143\u0145\xD3\u014C\xD5\xD6\xD7\u0172\u0141\u015A\u016A\xDC\u017B\u017D\xDF\u0105\u012F\u0101\u0107\xE4\xE5\u0119\u0113\u010D\xE9\u017A\u0117\u0123\u0137\u012B\u013C\u0161\u0144\u0146\xF3\u014D\xF5\xF6\xF7\u0173\u0142\u015B\u016B\xFC\u017C\u017E\u02D9" + }, + "win1257": "windows1257", + "cp1257": "windows1257", + "windows1258": { + "type": "_sbcs", + "chars": "\u20AC\uFFFD\u201A\u0192\u201E\u2026\u2020\u2021\u02C6\u2030\uFFFD\u2039\u0152\uFFFD\uFFFD\uFFFD\uFFFD\u2018\u2019\u201C\u201D\u2022\u2013\u2014\u02DC\u2122\uFFFD\u203A\u0153\uFFFD\uFFFD\u0178\xA0\xA1\xA2\xA3\xA4\xA5\xA6\xA7\xA8\xA9\xAA\xAB\xAC\xAD\xAE\xAF\xB0\xB1\xB2\xB3\xB4\xB5\xB6\xB7\xB8\xB9\xBA\xBB\xBC\xBD\xBE\xBF\xC0\xC1\xC2\u0102\xC4\xC5\xC6\xC7\xC8\xC9\xCA\xCB\u0300\xCD\xCE\xCF\u0110\xD1\u0309\xD3\xD4\u01A0\xD6\xD7\xD8\xD9\xDA\xDB\xDC\u01AF\u0303\xDF\xE0\xE1\xE2\u0103\xE4\xE5\xE6\xE7\xE8\xE9\xEA\xEB\u0301\xED\xEE\xEF\u0111\xF1\u0323\xF3\xF4\u01A1\xF6\xF7\xF8\xF9\xFA\xFB\xFC\u01B0\u20AB\xFF" + }, + "win1258": "windows1258", + "cp1258": "windows1258", + "iso88591": { + "type": "_sbcs", + "chars": "\x80\x81\x82\x83\x84\x85\x86\x87\x88\x89\x8A\x8B\x8C\x8D\x8E\x8F\x90\x91\x92\x93\x94\x95\x96\x97\x98\x99\x9A\x9B\x9C\x9D\x9E\x9F\xA0\xA1\xA2\xA3\xA4\xA5\xA6\xA7\xA8\xA9\xAA\xAB\xAC\xAD\xAE\xAF\xB0\xB1\xB2\xB3\xB4\xB5\xB6\xB7\xB8\xB9\xBA\xBB\xBC\xBD\xBE\xBF\xC0\xC1\xC2\xC3\xC4\xC5\xC6\xC7\xC8\xC9\xCA\xCB\xCC\xCD\xCE\xCF\xD0\xD1\xD2\xD3\xD4\xD5\xD6\xD7\xD8\xD9\xDA\xDB\xDC\xDD\xDE\xDF\xE0\xE1\xE2\xE3\xE4\xE5\xE6\xE7\xE8\xE9\xEA\xEB\xEC\xED\xEE\xEF\xF0\xF1\xF2\xF3\xF4\xF5\xF6\xF7\xF8\xF9\xFA\xFB\xFC\xFD\xFE\xFF" + }, + "cp28591": "iso88591", + "iso88592": { + "type": "_sbcs", + "chars": "\x80\x81\x82\x83\x84\x85\x86\x87\x88\x89\x8A\x8B\x8C\x8D\x8E\x8F\x90\x91\x92\x93\x94\x95\x96\x97\x98\x99\x9A\x9B\x9C\x9D\x9E\x9F\xA0\u0104\u02D8\u0141\xA4\u013D\u015A\xA7\xA8\u0160\u015E\u0164\u0179\xAD\u017D\u017B\xB0\u0105\u02DB\u0142\xB4\u013E\u015B\u02C7\xB8\u0161\u015F\u0165\u017A\u02DD\u017E\u017C\u0154\xC1\xC2\u0102\xC4\u0139\u0106\xC7\u010C\xC9\u0118\xCB\u011A\xCD\xCE\u010E\u0110\u0143\u0147\xD3\xD4\u0150\xD6\xD7\u0158\u016E\xDA\u0170\xDC\xDD\u0162\xDF\u0155\xE1\xE2\u0103\xE4\u013A\u0107\xE7\u010D\xE9\u0119\xEB\u011B\xED\xEE\u010F\u0111\u0144\u0148\xF3\xF4\u0151\xF6\xF7\u0159\u016F\xFA\u0171\xFC\xFD\u0163\u02D9" + }, + "cp28592": "iso88592", + "iso88593": { + "type": "_sbcs", + "chars": "\x80\x81\x82\x83\x84\x85\x86\x87\x88\x89\x8A\x8B\x8C\x8D\x8E\x8F\x90\x91\x92\x93\x94\x95\x96\x97\x98\x99\x9A\x9B\x9C\x9D\x9E\x9F\xA0\u0126\u02D8\xA3\xA4\uFFFD\u0124\xA7\xA8\u0130\u015E\u011E\u0134\xAD\uFFFD\u017B\xB0\u0127\xB2\xB3\xB4\xB5\u0125\xB7\xB8\u0131\u015F\u011F\u0135\xBD\uFFFD\u017C\xC0\xC1\xC2\uFFFD\xC4\u010A\u0108\xC7\xC8\xC9\xCA\xCB\xCC\xCD\xCE\xCF\uFFFD\xD1\xD2\xD3\xD4\u0120\xD6\xD7\u011C\xD9\xDA\xDB\xDC\u016C\u015C\xDF\xE0\xE1\xE2\uFFFD\xE4\u010B\u0109\xE7\xE8\xE9\xEA\xEB\xEC\xED\xEE\xEF\uFFFD\xF1\xF2\xF3\xF4\u0121\xF6\xF7\u011D\xF9\xFA\xFB\xFC\u016D\u015D\u02D9" + }, + "cp28593": "iso88593", + "iso88594": { + "type": "_sbcs", + "chars": "\x80\x81\x82\x83\x84\x85\x86\x87\x88\x89\x8A\x8B\x8C\x8D\x8E\x8F\x90\x91\x92\x93\x94\x95\x96\x97\x98\x99\x9A\x9B\x9C\x9D\x9E\x9F\xA0\u0104\u0138\u0156\xA4\u0128\u013B\xA7\xA8\u0160\u0112\u0122\u0166\xAD\u017D\xAF\xB0\u0105\u02DB\u0157\xB4\u0129\u013C\u02C7\xB8\u0161\u0113\u0123\u0167\u014A\u017E\u014B\u0100\xC1\xC2\xC3\xC4\xC5\xC6\u012E\u010C\xC9\u0118\xCB\u0116\xCD\xCE\u012A\u0110\u0145\u014C\u0136\xD4\xD5\xD6\xD7\xD8\u0172\xDA\xDB\xDC\u0168\u016A\xDF\u0101\xE1\xE2\xE3\xE4\xE5\xE6\u012F\u010D\xE9\u0119\xEB\u0117\xED\xEE\u012B\u0111\u0146\u014D\u0137\xF4\xF5\xF6\xF7\xF8\u0173\xFA\xFB\xFC\u0169\u016B\u02D9" + }, + "cp28594": "iso88594", + "iso88595": { + "type": "_sbcs", + "chars": "\x80\x81\x82\x83\x84\x85\x86\x87\x88\x89\x8A\x8B\x8C\x8D\x8E\x8F\x90\x91\x92\x93\x94\x95\x96\x97\x98\x99\x9A\x9B\x9C\x9D\x9E\x9F\xA0\u0401\u0402\u0403\u0404\u0405\u0406\u0407\u0408\u0409\u040A\u040B\u040C\xAD\u040E\u040F\u0410\u0411\u0412\u0413\u0414\u0415\u0416\u0417\u0418\u0419\u041A\u041B\u041C\u041D\u041E\u041F\u0420\u0421\u0422\u0423\u0424\u0425\u0426\u0427\u0428\u0429\u042A\u042B\u042C\u042D\u042E\u042F\u0430\u0431\u0432\u0433\u0434\u0435\u0436\u0437\u0438\u0439\u043A\u043B\u043C\u043D\u043E\u043F\u0440\u0441\u0442\u0443\u0444\u0445\u0446\u0447\u0448\u0449\u044A\u044B\u044C\u044D\u044E\u044F\u2116\u0451\u0452\u0453\u0454\u0455\u0456\u0457\u0458\u0459\u045A\u045B\u045C\xA7\u045E\u045F" + }, + "cp28595": "iso88595", + "iso88596": { + "type": "_sbcs", + "chars": "\x80\x81\x82\x83\x84\x85\x86\x87\x88\x89\x8A\x8B\x8C\x8D\x8E\x8F\x90\x91\x92\x93\x94\x95\x96\x97\x98\x99\x9A\x9B\x9C\x9D\x9E\x9F\xA0\uFFFD\uFFFD\uFFFD\xA4\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\u060C\xAD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\u061B\uFFFD\uFFFD\uFFFD\u061F\uFFFD\u0621\u0622\u0623\u0624\u0625\u0626\u0627\u0628\u0629\u062A\u062B\u062C\u062D\u062E\u062F\u0630\u0631\u0632\u0633\u0634\u0635\u0636\u0637\u0638\u0639\u063A\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\u0640\u0641\u0642\u0643\u0644\u0645\u0646\u0647\u0648\u0649\u064A\u064B\u064C\u064D\u064E\u064F\u0650\u0651\u0652\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD" + }, + "cp28596": "iso88596", + "iso88597": { + "type": "_sbcs", + "chars": "\x80\x81\x82\x83\x84\x85\x86\x87\x88\x89\x8A\x8B\x8C\x8D\x8E\x8F\x90\x91\x92\x93\x94\x95\x96\x97\x98\x99\x9A\x9B\x9C\x9D\x9E\x9F\xA0\u2018\u2019\xA3\u20AC\u20AF\xA6\xA7\xA8\xA9\u037A\xAB\xAC\xAD\uFFFD\u2015\xB0\xB1\xB2\xB3\u0384\u0385\u0386\xB7\u0388\u0389\u038A\xBB\u038C\xBD\u038E\u038F\u0390\u0391\u0392\u0393\u0394\u0395\u0396\u0397\u0398\u0399\u039A\u039B\u039C\u039D\u039E\u039F\u03A0\u03A1\uFFFD\u03A3\u03A4\u03A5\u03A6\u03A7\u03A8\u03A9\u03AA\u03AB\u03AC\u03AD\u03AE\u03AF\u03B0\u03B1\u03B2\u03B3\u03B4\u03B5\u03B6\u03B7\u03B8\u03B9\u03BA\u03BB\u03BC\u03BD\u03BE\u03BF\u03C0\u03C1\u03C2\u03C3\u03C4\u03C5\u03C6\u03C7\u03C8\u03C9\u03CA\u03CB\u03CC\u03CD\u03CE\uFFFD" + }, + "cp28597": "iso88597", + "iso88598": { + "type": "_sbcs", + "chars": "\x80\x81\x82\x83\x84\x85\x86\x87\x88\x89\x8A\x8B\x8C\x8D\x8E\x8F\x90\x91\x92\x93\x94\x95\x96\x97\x98\x99\x9A\x9B\x9C\x9D\x9E\x9F\xA0\uFFFD\xA2\xA3\xA4\xA5\xA6\xA7\xA8\xA9\xD7\xAB\xAC\xAD\xAE\xAF\xB0\xB1\xB2\xB3\xB4\xB5\xB6\xB7\xB8\xB9\xF7\xBB\xBC\xBD\xBE\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\u2017\u05D0\u05D1\u05D2\u05D3\u05D4\u05D5\u05D6\u05D7\u05D8\u05D9\u05DA\u05DB\u05DC\u05DD\u05DE\u05DF\u05E0\u05E1\u05E2\u05E3\u05E4\u05E5\u05E6\u05E7\u05E8\u05E9\u05EA\uFFFD\uFFFD\u200E\u200F\uFFFD" + }, + "cp28598": "iso88598", + "iso88599": { + "type": "_sbcs", + "chars": "\x80\x81\x82\x83\x84\x85\x86\x87\x88\x89\x8A\x8B\x8C\x8D\x8E\x8F\x90\x91\x92\x93\x94\x95\x96\x97\x98\x99\x9A\x9B\x9C\x9D\x9E\x9F\xA0\xA1\xA2\xA3\xA4\xA5\xA6\xA7\xA8\xA9\xAA\xAB\xAC\xAD\xAE\xAF\xB0\xB1\xB2\xB3\xB4\xB5\xB6\xB7\xB8\xB9\xBA\xBB\xBC\xBD\xBE\xBF\xC0\xC1\xC2\xC3\xC4\xC5\xC6\xC7\xC8\xC9\xCA\xCB\xCC\xCD\xCE\xCF\u011E\xD1\xD2\xD3\xD4\xD5\xD6\xD7\xD8\xD9\xDA\xDB\xDC\u0130\u015E\xDF\xE0\xE1\xE2\xE3\xE4\xE5\xE6\xE7\xE8\xE9\xEA\xEB\xEC\xED\xEE\xEF\u011F\xF1\xF2\xF3\xF4\xF5\xF6\xF7\xF8\xF9\xFA\xFB\xFC\u0131\u015F\xFF" + }, + "cp28599": "iso88599", + "iso885910": { + "type": "_sbcs", + "chars": "\x80\x81\x82\x83\x84\x85\x86\x87\x88\x89\x8A\x8B\x8C\x8D\x8E\x8F\x90\x91\x92\x93\x94\x95\x96\x97\x98\x99\x9A\x9B\x9C\x9D\x9E\x9F\xA0\u0104\u0112\u0122\u012A\u0128\u0136\xA7\u013B\u0110\u0160\u0166\u017D\xAD\u016A\u014A\xB0\u0105\u0113\u0123\u012B\u0129\u0137\xB7\u013C\u0111\u0161\u0167\u017E\u2015\u016B\u014B\u0100\xC1\xC2\xC3\xC4\xC5\xC6\u012E\u010C\xC9\u0118\xCB\u0116\xCD\xCE\xCF\xD0\u0145\u014C\xD3\xD4\xD5\xD6\u0168\xD8\u0172\xDA\xDB\xDC\xDD\xDE\xDF\u0101\xE1\xE2\xE3\xE4\xE5\xE6\u012F\u010D\xE9\u0119\xEB\u0117\xED\xEE\xEF\xF0\u0146\u014D\xF3\xF4\xF5\xF6\u0169\xF8\u0173\xFA\xFB\xFC\xFD\xFE\u0138" + }, + "cp28600": "iso885910", + "iso885911": { + "type": "_sbcs", + "chars": "\x80\x81\x82\x83\x84\x85\x86\x87\x88\x89\x8A\x8B\x8C\x8D\x8E\x8F\x90\x91\x92\x93\x94\x95\x96\x97\x98\x99\x9A\x9B\x9C\x9D\x9E\x9F\xA0\u0E01\u0E02\u0E03\u0E04\u0E05\u0E06\u0E07\u0E08\u0E09\u0E0A\u0E0B\u0E0C\u0E0D\u0E0E\u0E0F\u0E10\u0E11\u0E12\u0E13\u0E14\u0E15\u0E16\u0E17\u0E18\u0E19\u0E1A\u0E1B\u0E1C\u0E1D\u0E1E\u0E1F\u0E20\u0E21\u0E22\u0E23\u0E24\u0E25\u0E26\u0E27\u0E28\u0E29\u0E2A\u0E2B\u0E2C\u0E2D\u0E2E\u0E2F\u0E30\u0E31\u0E32\u0E33\u0E34\u0E35\u0E36\u0E37\u0E38\u0E39\u0E3A\uFFFD\uFFFD\uFFFD\uFFFD\u0E3F\u0E40\u0E41\u0E42\u0E43\u0E44\u0E45\u0E46\u0E47\u0E48\u0E49\u0E4A\u0E4B\u0E4C\u0E4D\u0E4E\u0E4F\u0E50\u0E51\u0E52\u0E53\u0E54\u0E55\u0E56\u0E57\u0E58\u0E59\u0E5A\u0E5B\uFFFD\uFFFD\uFFFD\uFFFD" + }, + "cp28601": "iso885911", + "iso885913": { + "type": "_sbcs", + "chars": "\x80\x81\x82\x83\x84\x85\x86\x87\x88\x89\x8A\x8B\x8C\x8D\x8E\x8F\x90\x91\x92\x93\x94\x95\x96\x97\x98\x99\x9A\x9B\x9C\x9D\x9E\x9F\xA0\u201D\xA2\xA3\xA4\u201E\xA6\xA7\xD8\xA9\u0156\xAB\xAC\xAD\xAE\xC6\xB0\xB1\xB2\xB3\u201C\xB5\xB6\xB7\xF8\xB9\u0157\xBB\xBC\xBD\xBE\xE6\u0104\u012E\u0100\u0106\xC4\xC5\u0118\u0112\u010C\xC9\u0179\u0116\u0122\u0136\u012A\u013B\u0160\u0143\u0145\xD3\u014C\xD5\xD6\xD7\u0172\u0141\u015A\u016A\xDC\u017B\u017D\xDF\u0105\u012F\u0101\u0107\xE4\xE5\u0119\u0113\u010D\xE9\u017A\u0117\u0123\u0137\u012B\u013C\u0161\u0144\u0146\xF3\u014D\xF5\xF6\xF7\u0173\u0142\u015B\u016B\xFC\u017C\u017E\u2019" + }, + "cp28603": "iso885913", + "iso885914": { + "type": "_sbcs", + "chars": "\x80\x81\x82\x83\x84\x85\x86\x87\x88\x89\x8A\x8B\x8C\x8D\x8E\x8F\x90\x91\x92\x93\x94\x95\x96\x97\x98\x99\x9A\x9B\x9C\x9D\x9E\x9F\xA0\u1E02\u1E03\xA3\u010A\u010B\u1E0A\xA7\u1E80\xA9\u1E82\u1E0B\u1EF2\xAD\xAE\u0178\u1E1E\u1E1F\u0120\u0121\u1E40\u1E41\xB6\u1E56\u1E81\u1E57\u1E83\u1E60\u1EF3\u1E84\u1E85\u1E61\xC0\xC1\xC2\xC3\xC4\xC5\xC6\xC7\xC8\xC9\xCA\xCB\xCC\xCD\xCE\xCF\u0174\xD1\xD2\xD3\xD4\xD5\xD6\u1E6A\xD8\xD9\xDA\xDB\xDC\xDD\u0176\xDF\xE0\xE1\xE2\xE3\xE4\xE5\xE6\xE7\xE8\xE9\xEA\xEB\xEC\xED\xEE\xEF\u0175\xF1\xF2\xF3\xF4\xF5\xF6\u1E6B\xF8\xF9\xFA\xFB\xFC\xFD\u0177\xFF" + }, + "cp28604": "iso885914", + "iso885915": { + "type": "_sbcs", + "chars": "\x80\x81\x82\x83\x84\x85\x86\x87\x88\x89\x8A\x8B\x8C\x8D\x8E\x8F\x90\x91\x92\x93\x94\x95\x96\x97\x98\x99\x9A\x9B\x9C\x9D\x9E\x9F\xA0\xA1\xA2\xA3\u20AC\xA5\u0160\xA7\u0161\xA9\xAA\xAB\xAC\xAD\xAE\xAF\xB0\xB1\xB2\xB3\u017D\xB5\xB6\xB7\u017E\xB9\xBA\xBB\u0152\u0153\u0178\xBF\xC0\xC1\xC2\xC3\xC4\xC5\xC6\xC7\xC8\xC9\xCA\xCB\xCC\xCD\xCE\xCF\xD0\xD1\xD2\xD3\xD4\xD5\xD6\xD7\xD8\xD9\xDA\xDB\xDC\xDD\xDE\xDF\xE0\xE1\xE2\xE3\xE4\xE5\xE6\xE7\xE8\xE9\xEA\xEB\xEC\xED\xEE\xEF\xF0\xF1\xF2\xF3\xF4\xF5\xF6\xF7\xF8\xF9\xFA\xFB\xFC\xFD\xFE\xFF" + }, + "cp28605": "iso885915", + "iso885916": { + "type": "_sbcs", + "chars": "\x80\x81\x82\x83\x84\x85\x86\x87\x88\x89\x8A\x8B\x8C\x8D\x8E\x8F\x90\x91\x92\x93\x94\x95\x96\x97\x98\x99\x9A\x9B\x9C\x9D\x9E\x9F\xA0\u0104\u0105\u0141\u20AC\u201E\u0160\xA7\u0161\xA9\u0218\xAB\u0179\xAD\u017A\u017B\xB0\xB1\u010C\u0142\u017D\u201D\xB6\xB7\u017E\u010D\u0219\xBB\u0152\u0153\u0178\u017C\xC0\xC1\xC2\u0102\xC4\u0106\xC6\xC7\xC8\xC9\xCA\xCB\xCC\xCD\xCE\xCF\u0110\u0143\xD2\xD3\xD4\u0150\xD6\u015A\u0170\xD9\xDA\xDB\xDC\u0118\u021A\xDF\xE0\xE1\xE2\u0103\xE4\u0107\xE6\xE7\xE8\xE9\xEA\xEB\xEC\xED\xEE\xEF\u0111\u0144\xF2\xF3\xF4\u0151\xF6\u015B\u0171\xF9\xFA\xFB\xFC\u0119\u021B\xFF" + }, + "cp28606": "iso885916", + "cp437": { + "type": "_sbcs", + "chars": "\xC7\xFC\xE9\xE2\xE4\xE0\xE5\xE7\xEA\xEB\xE8\xEF\xEE\xEC\xC4\xC5\xC9\xE6\xC6\xF4\xF6\xF2\xFB\xF9\xFF\xD6\xDC\xA2\xA3\xA5\u20A7\u0192\xE1\xED\xF3\xFA\xF1\xD1\xAA\xBA\xBF\u2310\xAC\xBD\xBC\xA1\xAB\xBB\u2591\u2592\u2593\u2502\u2524\u2561\u2562\u2556\u2555\u2563\u2551\u2557\u255D\u255C\u255B\u2510\u2514\u2534\u252C\u251C\u2500\u253C\u255E\u255F\u255A\u2554\u2569\u2566\u2560\u2550\u256C\u2567\u2568\u2564\u2565\u2559\u2558\u2552\u2553\u256B\u256A\u2518\u250C\u2588\u2584\u258C\u2590\u2580\u03B1\xDF\u0393\u03C0\u03A3\u03C3\xB5\u03C4\u03A6\u0398\u03A9\u03B4\u221E\u03C6\u03B5\u2229\u2261\xB1\u2265\u2264\u2320\u2321\xF7\u2248\xB0\u2219\xB7\u221A\u207F\xB2\u25A0\xA0" + }, + "ibm437": "cp437", + "csibm437": "cp437", + "cp737": { + "type": "_sbcs", + "chars": "\u0391\u0392\u0393\u0394\u0395\u0396\u0397\u0398\u0399\u039A\u039B\u039C\u039D\u039E\u039F\u03A0\u03A1\u03A3\u03A4\u03A5\u03A6\u03A7\u03A8\u03A9\u03B1\u03B2\u03B3\u03B4\u03B5\u03B6\u03B7\u03B8\u03B9\u03BA\u03BB\u03BC\u03BD\u03BE\u03BF\u03C0\u03C1\u03C3\u03C2\u03C4\u03C5\u03C6\u03C7\u03C8\u2591\u2592\u2593\u2502\u2524\u2561\u2562\u2556\u2555\u2563\u2551\u2557\u255D\u255C\u255B\u2510\u2514\u2534\u252C\u251C\u2500\u253C\u255E\u255F\u255A\u2554\u2569\u2566\u2560\u2550\u256C\u2567\u2568\u2564\u2565\u2559\u2558\u2552\u2553\u256B\u256A\u2518\u250C\u2588\u2584\u258C\u2590\u2580\u03C9\u03AC\u03AD\u03AE\u03CA\u03AF\u03CC\u03CD\u03CB\u03CE\u0386\u0388\u0389\u038A\u038C\u038E\u038F\xB1\u2265\u2264\u03AA\u03AB\xF7\u2248\xB0\u2219\xB7\u221A\u207F\xB2\u25A0\xA0" + }, + "ibm737": "cp737", + "csibm737": "cp737", + "cp775": { + "type": "_sbcs", + "chars": "\u0106\xFC\xE9\u0101\xE4\u0123\xE5\u0107\u0142\u0113\u0156\u0157\u012B\u0179\xC4\xC5\xC9\xE6\xC6\u014D\xF6\u0122\xA2\u015A\u015B\xD6\xDC\xF8\xA3\xD8\xD7\xA4\u0100\u012A\xF3\u017B\u017C\u017A\u201D\xA6\xA9\xAE\xAC\xBD\xBC\u0141\xAB\xBB\u2591\u2592\u2593\u2502\u2524\u0104\u010C\u0118\u0116\u2563\u2551\u2557\u255D\u012E\u0160\u2510\u2514\u2534\u252C\u251C\u2500\u253C\u0172\u016A\u255A\u2554\u2569\u2566\u2560\u2550\u256C\u017D\u0105\u010D\u0119\u0117\u012F\u0161\u0173\u016B\u017E\u2518\u250C\u2588\u2584\u258C\u2590\u2580\xD3\xDF\u014C\u0143\xF5\xD5\xB5\u0144\u0136\u0137\u013B\u013C\u0146\u0112\u0145\u2019\xAD\xB1\u201C\xBE\xB6\xA7\xF7\u201E\xB0\u2219\xB7\xB9\xB3\xB2\u25A0\xA0" + }, + "ibm775": "cp775", + "csibm775": "cp775", + "cp850": { + "type": "_sbcs", + "chars": "\xC7\xFC\xE9\xE2\xE4\xE0\xE5\xE7\xEA\xEB\xE8\xEF\xEE\xEC\xC4\xC5\xC9\xE6\xC6\xF4\xF6\xF2\xFB\xF9\xFF\xD6\xDC\xF8\xA3\xD8\xD7\u0192\xE1\xED\xF3\xFA\xF1\xD1\xAA\xBA\xBF\xAE\xAC\xBD\xBC\xA1\xAB\xBB\u2591\u2592\u2593\u2502\u2524\xC1\xC2\xC0\xA9\u2563\u2551\u2557\u255D\xA2\xA5\u2510\u2514\u2534\u252C\u251C\u2500\u253C\xE3\xC3\u255A\u2554\u2569\u2566\u2560\u2550\u256C\xA4\xF0\xD0\xCA\xCB\xC8\u0131\xCD\xCE\xCF\u2518\u250C\u2588\u2584\xA6\xCC\u2580\xD3\xDF\xD4\xD2\xF5\xD5\xB5\xFE\xDE\xDA\xDB\xD9\xFD\xDD\xAF\xB4\xAD\xB1\u2017\xBE\xB6\xA7\xF7\xB8\xB0\xA8\xB7\xB9\xB3\xB2\u25A0\xA0" + }, + "ibm850": "cp850", + "csibm850": "cp850", + "cp852": { + "type": "_sbcs", + "chars": "\xC7\xFC\xE9\xE2\xE4\u016F\u0107\xE7\u0142\xEB\u0150\u0151\xEE\u0179\xC4\u0106\xC9\u0139\u013A\xF4\xF6\u013D\u013E\u015A\u015B\xD6\xDC\u0164\u0165\u0141\xD7\u010D\xE1\xED\xF3\xFA\u0104\u0105\u017D\u017E\u0118\u0119\xAC\u017A\u010C\u015F\xAB\xBB\u2591\u2592\u2593\u2502\u2524\xC1\xC2\u011A\u015E\u2563\u2551\u2557\u255D\u017B\u017C\u2510\u2514\u2534\u252C\u251C\u2500\u253C\u0102\u0103\u255A\u2554\u2569\u2566\u2560\u2550\u256C\xA4\u0111\u0110\u010E\xCB\u010F\u0147\xCD\xCE\u011B\u2518\u250C\u2588\u2584\u0162\u016E\u2580\xD3\xDF\xD4\u0143\u0144\u0148\u0160\u0161\u0154\xDA\u0155\u0170\xFD\xDD\u0163\xB4\xAD\u02DD\u02DB\u02C7\u02D8\xA7\xF7\xB8\xB0\xA8\u02D9\u0171\u0158\u0159\u25A0\xA0" + }, + "ibm852": "cp852", + "csibm852": "cp852", + "cp855": { + "type": "_sbcs", + "chars": "\u0452\u0402\u0453\u0403\u0451\u0401\u0454\u0404\u0455\u0405\u0456\u0406\u0457\u0407\u0458\u0408\u0459\u0409\u045A\u040A\u045B\u040B\u045C\u040C\u045E\u040E\u045F\u040F\u044E\u042E\u044A\u042A\u0430\u0410\u0431\u0411\u0446\u0426\u0434\u0414\u0435\u0415\u0444\u0424\u0433\u0413\xAB\xBB\u2591\u2592\u2593\u2502\u2524\u0445\u0425\u0438\u0418\u2563\u2551\u2557\u255D\u0439\u0419\u2510\u2514\u2534\u252C\u251C\u2500\u253C\u043A\u041A\u255A\u2554\u2569\u2566\u2560\u2550\u256C\xA4\u043B\u041B\u043C\u041C\u043D\u041D\u043E\u041E\u043F\u2518\u250C\u2588\u2584\u041F\u044F\u2580\u042F\u0440\u0420\u0441\u0421\u0442\u0422\u0443\u0423\u0436\u0416\u0432\u0412\u044C\u042C\u2116\xAD\u044B\u042B\u0437\u0417\u0448\u0428\u044D\u042D\u0449\u0429\u0447\u0427\xA7\u25A0\xA0" + }, + "ibm855": "cp855", + "csibm855": "cp855", + "cp856": { + "type": "_sbcs", + "chars": "\u05D0\u05D1\u05D2\u05D3\u05D4\u05D5\u05D6\u05D7\u05D8\u05D9\u05DA\u05DB\u05DC\u05DD\u05DE\u05DF\u05E0\u05E1\u05E2\u05E3\u05E4\u05E5\u05E6\u05E7\u05E8\u05E9\u05EA\uFFFD\xA3\uFFFD\xD7\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\xAE\xAC\xBD\xBC\uFFFD\xAB\xBB\u2591\u2592\u2593\u2502\u2524\uFFFD\uFFFD\uFFFD\xA9\u2563\u2551\u2557\u255D\xA2\xA5\u2510\u2514\u2534\u252C\u251C\u2500\u253C\uFFFD\uFFFD\u255A\u2554\u2569\u2566\u2560\u2550\u256C\xA4\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\u2518\u250C\u2588\u2584\xA6\uFFFD\u2580\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\xB5\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\xAF\xB4\xAD\xB1\u2017\xBE\xB6\xA7\xF7\xB8\xB0\xA8\xB7\xB9\xB3\xB2\u25A0\xA0" + }, + "ibm856": "cp856", + "csibm856": "cp856", + "cp857": { + "type": "_sbcs", + "chars": "\xC7\xFC\xE9\xE2\xE4\xE0\xE5\xE7\xEA\xEB\xE8\xEF\xEE\u0131\xC4\xC5\xC9\xE6\xC6\xF4\xF6\xF2\xFB\xF9\u0130\xD6\xDC\xF8\xA3\xD8\u015E\u015F\xE1\xED\xF3\xFA\xF1\xD1\u011E\u011F\xBF\xAE\xAC\xBD\xBC\xA1\xAB\xBB\u2591\u2592\u2593\u2502\u2524\xC1\xC2\xC0\xA9\u2563\u2551\u2557\u255D\xA2\xA5\u2510\u2514\u2534\u252C\u251C\u2500\u253C\xE3\xC3\u255A\u2554\u2569\u2566\u2560\u2550\u256C\xA4\xBA\xAA\xCA\xCB\xC8\uFFFD\xCD\xCE\xCF\u2518\u250C\u2588\u2584\xA6\xCC\u2580\xD3\xDF\xD4\xD2\xF5\xD5\xB5\uFFFD\xD7\xDA\xDB\xD9\xEC\xFF\xAF\xB4\xAD\xB1\uFFFD\xBE\xB6\xA7\xF7\xB8\xB0\xA8\xB7\xB9\xB3\xB2\u25A0\xA0" + }, + "ibm857": "cp857", + "csibm857": "cp857", + "cp858": { + "type": "_sbcs", + "chars": "\xC7\xFC\xE9\xE2\xE4\xE0\xE5\xE7\xEA\xEB\xE8\xEF\xEE\xEC\xC4\xC5\xC9\xE6\xC6\xF4\xF6\xF2\xFB\xF9\xFF\xD6\xDC\xF8\xA3\xD8\xD7\u0192\xE1\xED\xF3\xFA\xF1\xD1\xAA\xBA\xBF\xAE\xAC\xBD\xBC\xA1\xAB\xBB\u2591\u2592\u2593\u2502\u2524\xC1\xC2\xC0\xA9\u2563\u2551\u2557\u255D\xA2\xA5\u2510\u2514\u2534\u252C\u251C\u2500\u253C\xE3\xC3\u255A\u2554\u2569\u2566\u2560\u2550\u256C\xA4\xF0\xD0\xCA\xCB\xC8\u20AC\xCD\xCE\xCF\u2518\u250C\u2588\u2584\xA6\xCC\u2580\xD3\xDF\xD4\xD2\xF5\xD5\xB5\xFE\xDE\xDA\xDB\xD9\xFD\xDD\xAF\xB4\xAD\xB1\u2017\xBE\xB6\xA7\xF7\xB8\xB0\xA8\xB7\xB9\xB3\xB2\u25A0\xA0" + }, + "ibm858": "cp858", + "csibm858": "cp858", + "cp860": { + "type": "_sbcs", + "chars": "\xC7\xFC\xE9\xE2\xE3\xE0\xC1\xE7\xEA\xCA\xE8\xCD\xD4\xEC\xC3\xC2\xC9\xC0\xC8\xF4\xF5\xF2\xDA\xF9\xCC\xD5\xDC\xA2\xA3\xD9\u20A7\xD3\xE1\xED\xF3\xFA\xF1\xD1\xAA\xBA\xBF\xD2\xAC\xBD\xBC\xA1\xAB\xBB\u2591\u2592\u2593\u2502\u2524\u2561\u2562\u2556\u2555\u2563\u2551\u2557\u255D\u255C\u255B\u2510\u2514\u2534\u252C\u251C\u2500\u253C\u255E\u255F\u255A\u2554\u2569\u2566\u2560\u2550\u256C\u2567\u2568\u2564\u2565\u2559\u2558\u2552\u2553\u256B\u256A\u2518\u250C\u2588\u2584\u258C\u2590\u2580\u03B1\xDF\u0393\u03C0\u03A3\u03C3\xB5\u03C4\u03A6\u0398\u03A9\u03B4\u221E\u03C6\u03B5\u2229\u2261\xB1\u2265\u2264\u2320\u2321\xF7\u2248\xB0\u2219\xB7\u221A\u207F\xB2\u25A0\xA0" + }, + "ibm860": "cp860", + "csibm860": "cp860", + "cp861": { + "type": "_sbcs", + "chars": "\xC7\xFC\xE9\xE2\xE4\xE0\xE5\xE7\xEA\xEB\xE8\xD0\xF0\xDE\xC4\xC5\xC9\xE6\xC6\xF4\xF6\xFE\xFB\xDD\xFD\xD6\xDC\xF8\xA3\xD8\u20A7\u0192\xE1\xED\xF3\xFA\xC1\xCD\xD3\xDA\xBF\u2310\xAC\xBD\xBC\xA1\xAB\xBB\u2591\u2592\u2593\u2502\u2524\u2561\u2562\u2556\u2555\u2563\u2551\u2557\u255D\u255C\u255B\u2510\u2514\u2534\u252C\u251C\u2500\u253C\u255E\u255F\u255A\u2554\u2569\u2566\u2560\u2550\u256C\u2567\u2568\u2564\u2565\u2559\u2558\u2552\u2553\u256B\u256A\u2518\u250C\u2588\u2584\u258C\u2590\u2580\u03B1\xDF\u0393\u03C0\u03A3\u03C3\xB5\u03C4\u03A6\u0398\u03A9\u03B4\u221E\u03C6\u03B5\u2229\u2261\xB1\u2265\u2264\u2320\u2321\xF7\u2248\xB0\u2219\xB7\u221A\u207F\xB2\u25A0\xA0" + }, + "ibm861": "cp861", + "csibm861": "cp861", + "cp862": { + "type": "_sbcs", + "chars": "\u05D0\u05D1\u05D2\u05D3\u05D4\u05D5\u05D6\u05D7\u05D8\u05D9\u05DA\u05DB\u05DC\u05DD\u05DE\u05DF\u05E0\u05E1\u05E2\u05E3\u05E4\u05E5\u05E6\u05E7\u05E8\u05E9\u05EA\xA2\xA3\xA5\u20A7\u0192\xE1\xED\xF3\xFA\xF1\xD1\xAA\xBA\xBF\u2310\xAC\xBD\xBC\xA1\xAB\xBB\u2591\u2592\u2593\u2502\u2524\u2561\u2562\u2556\u2555\u2563\u2551\u2557\u255D\u255C\u255B\u2510\u2514\u2534\u252C\u251C\u2500\u253C\u255E\u255F\u255A\u2554\u2569\u2566\u2560\u2550\u256C\u2567\u2568\u2564\u2565\u2559\u2558\u2552\u2553\u256B\u256A\u2518\u250C\u2588\u2584\u258C\u2590\u2580\u03B1\xDF\u0393\u03C0\u03A3\u03C3\xB5\u03C4\u03A6\u0398\u03A9\u03B4\u221E\u03C6\u03B5\u2229\u2261\xB1\u2265\u2264\u2320\u2321\xF7\u2248\xB0\u2219\xB7\u221A\u207F\xB2\u25A0\xA0" + }, + "ibm862": "cp862", + "csibm862": "cp862", + "cp863": { + "type": "_sbcs", + "chars": "\xC7\xFC\xE9\xE2\xC2\xE0\xB6\xE7\xEA\xEB\xE8\xEF\xEE\u2017\xC0\xA7\xC9\xC8\xCA\xF4\xCB\xCF\xFB\xF9\xA4\xD4\xDC\xA2\xA3\xD9\xDB\u0192\xA6\xB4\xF3\xFA\xA8\xB8\xB3\xAF\xCE\u2310\xAC\xBD\xBC\xBE\xAB\xBB\u2591\u2592\u2593\u2502\u2524\u2561\u2562\u2556\u2555\u2563\u2551\u2557\u255D\u255C\u255B\u2510\u2514\u2534\u252C\u251C\u2500\u253C\u255E\u255F\u255A\u2554\u2569\u2566\u2560\u2550\u256C\u2567\u2568\u2564\u2565\u2559\u2558\u2552\u2553\u256B\u256A\u2518\u250C\u2588\u2584\u258C\u2590\u2580\u03B1\xDF\u0393\u03C0\u03A3\u03C3\xB5\u03C4\u03A6\u0398\u03A9\u03B4\u221E\u03C6\u03B5\u2229\u2261\xB1\u2265\u2264\u2320\u2321\xF7\u2248\xB0\u2219\xB7\u221A\u207F\xB2\u25A0\xA0" + }, + "ibm863": "cp863", + "csibm863": "cp863", + "cp864": { + "type": "_sbcs", + "chars": "\0\x07\b \n\v\f\r\x1B !\"#$\u066A&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~\x7F\xB0\xB7\u2219\u221A\u2592\u2500\u2502\u253C\u2524\u252C\u251C\u2534\u2510\u250C\u2514\u2518\u03B2\u221E\u03C6\xB1\xBD\xBC\u2248\xAB\xBB\uFEF7\uFEF8\uFFFD\uFFFD\uFEFB\uFEFC\uFFFD\xA0\xAD\uFE82\xA3\xA4\uFE84\uFFFD\uFFFD\uFE8E\uFE8F\uFE95\uFE99\u060C\uFE9D\uFEA1\uFEA5\u0660\u0661\u0662\u0663\u0664\u0665\u0666\u0667\u0668\u0669\uFED1\u061B\uFEB1\uFEB5\uFEB9\u061F\xA2\uFE80\uFE81\uFE83\uFE85\uFECA\uFE8B\uFE8D\uFE91\uFE93\uFE97\uFE9B\uFE9F\uFEA3\uFEA7\uFEA9\uFEAB\uFEAD\uFEAF\uFEB3\uFEB7\uFEBB\uFEBF\uFEC1\uFEC5\uFECB\uFECF\xA6\xAC\xF7\xD7\uFEC9\u0640\uFED3\uFED7\uFEDB\uFEDF\uFEE3\uFEE7\uFEEB\uFEED\uFEEF\uFEF3\uFEBD\uFECC\uFECE\uFECD\uFEE1\uFE7D\u0651\uFEE5\uFEE9\uFEEC\uFEF0\uFEF2\uFED0\uFED5\uFEF5\uFEF6\uFEDD\uFED9\uFEF1\u25A0\uFFFD" + }, + "ibm864": "cp864", + "csibm864": "cp864", + "cp865": { + "type": "_sbcs", + "chars": "\xC7\xFC\xE9\xE2\xE4\xE0\xE5\xE7\xEA\xEB\xE8\xEF\xEE\xEC\xC4\xC5\xC9\xE6\xC6\xF4\xF6\xF2\xFB\xF9\xFF\xD6\xDC\xF8\xA3\xD8\u20A7\u0192\xE1\xED\xF3\xFA\xF1\xD1\xAA\xBA\xBF\u2310\xAC\xBD\xBC\xA1\xAB\xA4\u2591\u2592\u2593\u2502\u2524\u2561\u2562\u2556\u2555\u2563\u2551\u2557\u255D\u255C\u255B\u2510\u2514\u2534\u252C\u251C\u2500\u253C\u255E\u255F\u255A\u2554\u2569\u2566\u2560\u2550\u256C\u2567\u2568\u2564\u2565\u2559\u2558\u2552\u2553\u256B\u256A\u2518\u250C\u2588\u2584\u258C\u2590\u2580\u03B1\xDF\u0393\u03C0\u03A3\u03C3\xB5\u03C4\u03A6\u0398\u03A9\u03B4\u221E\u03C6\u03B5\u2229\u2261\xB1\u2265\u2264\u2320\u2321\xF7\u2248\xB0\u2219\xB7\u221A\u207F\xB2\u25A0\xA0" + }, + "ibm865": "cp865", + "csibm865": "cp865", + "cp866": { + "type": "_sbcs", + "chars": "\u0410\u0411\u0412\u0413\u0414\u0415\u0416\u0417\u0418\u0419\u041A\u041B\u041C\u041D\u041E\u041F\u0420\u0421\u0422\u0423\u0424\u0425\u0426\u0427\u0428\u0429\u042A\u042B\u042C\u042D\u042E\u042F\u0430\u0431\u0432\u0433\u0434\u0435\u0436\u0437\u0438\u0439\u043A\u043B\u043C\u043D\u043E\u043F\u2591\u2592\u2593\u2502\u2524\u2561\u2562\u2556\u2555\u2563\u2551\u2557\u255D\u255C\u255B\u2510\u2514\u2534\u252C\u251C\u2500\u253C\u255E\u255F\u255A\u2554\u2569\u2566\u2560\u2550\u256C\u2567\u2568\u2564\u2565\u2559\u2558\u2552\u2553\u256B\u256A\u2518\u250C\u2588\u2584\u258C\u2590\u2580\u0440\u0441\u0442\u0443\u0444\u0445\u0446\u0447\u0448\u0449\u044A\u044B\u044C\u044D\u044E\u044F\u0401\u0451\u0404\u0454\u0407\u0457\u040E\u045E\xB0\u2219\xB7\u221A\u2116\xA4\u25A0\xA0" + }, + "ibm866": "cp866", + "csibm866": "cp866", + "cp869": { + "type": "_sbcs", + "chars": "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\u0386\uFFFD\xB7\xAC\xA6\u2018\u2019\u0388\u2015\u0389\u038A\u03AA\u038C\uFFFD\uFFFD\u038E\u03AB\xA9\u038F\xB2\xB3\u03AC\xA3\u03AD\u03AE\u03AF\u03CA\u0390\u03CC\u03CD\u0391\u0392\u0393\u0394\u0395\u0396\u0397\xBD\u0398\u0399\xAB\xBB\u2591\u2592\u2593\u2502\u2524\u039A\u039B\u039C\u039D\u2563\u2551\u2557\u255D\u039E\u039F\u2510\u2514\u2534\u252C\u251C\u2500\u253C\u03A0\u03A1\u255A\u2554\u2569\u2566\u2560\u2550\u256C\u03A3\u03A4\u03A5\u03A6\u03A7\u03A8\u03A9\u03B1\u03B2\u03B3\u2518\u250C\u2588\u2584\u03B4\u03B5\u2580\u03B6\u03B7\u03B8\u03B9\u03BA\u03BB\u03BC\u03BD\u03BE\u03BF\u03C0\u03C1\u03C3\u03C2\u03C4\u0384\xAD\xB1\u03C5\u03C6\u03C7\xA7\u03C8\u0385\xB0\xA8\u03C9\u03CB\u03B0\u03CE\u25A0\xA0" + }, + "ibm869": "cp869", + "csibm869": "cp869", + "cp922": { + "type": "_sbcs", + "chars": "\x80\x81\x82\x83\x84\x85\x86\x87\x88\x89\x8A\x8B\x8C\x8D\x8E\x8F\x90\x91\x92\x93\x94\x95\x96\x97\x98\x99\x9A\x9B\x9C\x9D\x9E\x9F\xA0\xA1\xA2\xA3\xA4\xA5\xA6\xA7\xA8\xA9\xAA\xAB\xAC\xAD\xAE\u203E\xB0\xB1\xB2\xB3\xB4\xB5\xB6\xB7\xB8\xB9\xBA\xBB\xBC\xBD\xBE\xBF\xC0\xC1\xC2\xC3\xC4\xC5\xC6\xC7\xC8\xC9\xCA\xCB\xCC\xCD\xCE\xCF\u0160\xD1\xD2\xD3\xD4\xD5\xD6\xD7\xD8\xD9\xDA\xDB\xDC\xDD\u017D\xDF\xE0\xE1\xE2\xE3\xE4\xE5\xE6\xE7\xE8\xE9\xEA\xEB\xEC\xED\xEE\xEF\u0161\xF1\xF2\xF3\xF4\xF5\xF6\xF7\xF8\xF9\xFA\xFB\xFC\xFD\u017E\xFF" + }, + "ibm922": "cp922", + "csibm922": "cp922", + "cp1046": { + "type": "_sbcs", + "chars": "\uFE88\xD7\xF7\uF8F6\uF8F5\uF8F4\uF8F7\uFE71\x88\u25A0\u2502\u2500\u2510\u250C\u2514\u2518\uFE79\uFE7B\uFE7D\uFE7F\uFE77\uFE8A\uFEF0\uFEF3\uFEF2\uFECE\uFECF\uFED0\uFEF6\uFEF8\uFEFA\uFEFC\xA0\uF8FA\uF8F9\uF8F8\xA4\uF8FB\uFE8B\uFE91\uFE97\uFE9B\uFE9F\uFEA3\u060C\xAD\uFEA7\uFEB3\u0660\u0661\u0662\u0663\u0664\u0665\u0666\u0667\u0668\u0669\uFEB7\u061B\uFEBB\uFEBF\uFECA\u061F\uFECB\u0621\u0622\u0623\u0624\u0625\u0626\u0627\u0628\u0629\u062A\u062B\u062C\u062D\u062E\u062F\u0630\u0631\u0632\u0633\u0634\u0635\u0636\u0637\uFEC7\u0639\u063A\uFECC\uFE82\uFE84\uFE8E\uFED3\u0640\u0641\u0642\u0643\u0644\u0645\u0646\u0647\u0648\u0649\u064A\u064B\u064C\u064D\u064E\u064F\u0650\u0651\u0652\uFED7\uFEDB\uFEDF\uF8FC\uFEF5\uFEF7\uFEF9\uFEFB\uFEE3\uFEE7\uFEEC\uFEE9\uFFFD" + }, + "ibm1046": "cp1046", + "csibm1046": "cp1046", + "cp1124": { + "type": "_sbcs", + "chars": "\x80\x81\x82\x83\x84\x85\x86\x87\x88\x89\x8A\x8B\x8C\x8D\x8E\x8F\x90\x91\x92\x93\x94\x95\x96\x97\x98\x99\x9A\x9B\x9C\x9D\x9E\x9F\xA0\u0401\u0402\u0490\u0404\u0405\u0406\u0407\u0408\u0409\u040A\u040B\u040C\xAD\u040E\u040F\u0410\u0411\u0412\u0413\u0414\u0415\u0416\u0417\u0418\u0419\u041A\u041B\u041C\u041D\u041E\u041F\u0420\u0421\u0422\u0423\u0424\u0425\u0426\u0427\u0428\u0429\u042A\u042B\u042C\u042D\u042E\u042F\u0430\u0431\u0432\u0433\u0434\u0435\u0436\u0437\u0438\u0439\u043A\u043B\u043C\u043D\u043E\u043F\u0440\u0441\u0442\u0443\u0444\u0445\u0446\u0447\u0448\u0449\u044A\u044B\u044C\u044D\u044E\u044F\u2116\u0451\u0452\u0491\u0454\u0455\u0456\u0457\u0458\u0459\u045A\u045B\u045C\xA7\u045E\u045F" + }, + "ibm1124": "cp1124", + "csibm1124": "cp1124", + "cp1125": { + "type": "_sbcs", + "chars": "\u0410\u0411\u0412\u0413\u0414\u0415\u0416\u0417\u0418\u0419\u041A\u041B\u041C\u041D\u041E\u041F\u0420\u0421\u0422\u0423\u0424\u0425\u0426\u0427\u0428\u0429\u042A\u042B\u042C\u042D\u042E\u042F\u0430\u0431\u0432\u0433\u0434\u0435\u0436\u0437\u0438\u0439\u043A\u043B\u043C\u043D\u043E\u043F\u2591\u2592\u2593\u2502\u2524\u2561\u2562\u2556\u2555\u2563\u2551\u2557\u255D\u255C\u255B\u2510\u2514\u2534\u252C\u251C\u2500\u253C\u255E\u255F\u255A\u2554\u2569\u2566\u2560\u2550\u256C\u2567\u2568\u2564\u2565\u2559\u2558\u2552\u2553\u256B\u256A\u2518\u250C\u2588\u2584\u258C\u2590\u2580\u0440\u0441\u0442\u0443\u0444\u0445\u0446\u0447\u0448\u0449\u044A\u044B\u044C\u044D\u044E\u044F\u0401\u0451\u0490\u0491\u0404\u0454\u0406\u0456\u0407\u0457\xB7\u221A\u2116\xA4\u25A0\xA0" + }, + "ibm1125": "cp1125", + "csibm1125": "cp1125", + "cp1129": { + "type": "_sbcs", + "chars": "\x80\x81\x82\x83\x84\x85\x86\x87\x88\x89\x8A\x8B\x8C\x8D\x8E\x8F\x90\x91\x92\x93\x94\x95\x96\x97\x98\x99\x9A\x9B\x9C\x9D\x9E\x9F\xA0\xA1\xA2\xA3\xA4\xA5\xA6\xA7\u0153\xA9\xAA\xAB\xAC\xAD\xAE\xAF\xB0\xB1\xB2\xB3\u0178\xB5\xB6\xB7\u0152\xB9\xBA\xBB\xBC\xBD\xBE\xBF\xC0\xC1\xC2\u0102\xC4\xC5\xC6\xC7\xC8\xC9\xCA\xCB\u0300\xCD\xCE\xCF\u0110\xD1\u0309\xD3\xD4\u01A0\xD6\xD7\xD8\xD9\xDA\xDB\xDC\u01AF\u0303\xDF\xE0\xE1\xE2\u0103\xE4\xE5\xE6\xE7\xE8\xE9\xEA\xEB\u0301\xED\xEE\xEF\u0111\xF1\u0323\xF3\xF4\u01A1\xF6\xF7\xF8\xF9\xFA\xFB\xFC\u01B0\u20AB\xFF" + }, + "ibm1129": "cp1129", + "csibm1129": "cp1129", + "cp1133": { + "type": "_sbcs", + "chars": "\x80\x81\x82\x83\x84\x85\x86\x87\x88\x89\x8A\x8B\x8C\x8D\x8E\x8F\x90\x91\x92\x93\x94\x95\x96\x97\x98\x99\x9A\x9B\x9C\x9D\x9E\x9F\xA0\u0E81\u0E82\u0E84\u0E87\u0E88\u0EAA\u0E8A\u0E8D\u0E94\u0E95\u0E96\u0E97\u0E99\u0E9A\u0E9B\u0E9C\u0E9D\u0E9E\u0E9F\u0EA1\u0EA2\u0EA3\u0EA5\u0EA7\u0EAB\u0EAD\u0EAE\uFFFD\uFFFD\uFFFD\u0EAF\u0EB0\u0EB2\u0EB3\u0EB4\u0EB5\u0EB6\u0EB7\u0EB8\u0EB9\u0EBC\u0EB1\u0EBB\u0EBD\uFFFD\uFFFD\uFFFD\u0EC0\u0EC1\u0EC2\u0EC3\u0EC4\u0EC8\u0EC9\u0ECA\u0ECB\u0ECC\u0ECD\u0EC6\uFFFD\u0EDC\u0EDD\u20AD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\u0ED0\u0ED1\u0ED2\u0ED3\u0ED4\u0ED5\u0ED6\u0ED7\u0ED8\u0ED9\uFFFD\uFFFD\xA2\xAC\xA6\uFFFD" + }, + "ibm1133": "cp1133", + "csibm1133": "cp1133", + "cp1161": { + "type": "_sbcs", + "chars": "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\u0E48\u0E01\u0E02\u0E03\u0E04\u0E05\u0E06\u0E07\u0E08\u0E09\u0E0A\u0E0B\u0E0C\u0E0D\u0E0E\u0E0F\u0E10\u0E11\u0E12\u0E13\u0E14\u0E15\u0E16\u0E17\u0E18\u0E19\u0E1A\u0E1B\u0E1C\u0E1D\u0E1E\u0E1F\u0E20\u0E21\u0E22\u0E23\u0E24\u0E25\u0E26\u0E27\u0E28\u0E29\u0E2A\u0E2B\u0E2C\u0E2D\u0E2E\u0E2F\u0E30\u0E31\u0E32\u0E33\u0E34\u0E35\u0E36\u0E37\u0E38\u0E39\u0E3A\u0E49\u0E4A\u0E4B\u20AC\u0E3F\u0E40\u0E41\u0E42\u0E43\u0E44\u0E45\u0E46\u0E47\u0E48\u0E49\u0E4A\u0E4B\u0E4C\u0E4D\u0E4E\u0E4F\u0E50\u0E51\u0E52\u0E53\u0E54\u0E55\u0E56\u0E57\u0E58\u0E59\u0E5A\u0E5B\xA2\xAC\xA6\xA0" + }, + "ibm1161": "cp1161", + "csibm1161": "cp1161", + "cp1162": { + "type": "_sbcs", + "chars": "\u20AC\x81\x82\x83\x84\u2026\x86\x87\x88\x89\x8A\x8B\x8C\x8D\x8E\x8F\x90\u2018\u2019\u201C\u201D\u2022\u2013\u2014\x98\x99\x9A\x9B\x9C\x9D\x9E\x9F\xA0\u0E01\u0E02\u0E03\u0E04\u0E05\u0E06\u0E07\u0E08\u0E09\u0E0A\u0E0B\u0E0C\u0E0D\u0E0E\u0E0F\u0E10\u0E11\u0E12\u0E13\u0E14\u0E15\u0E16\u0E17\u0E18\u0E19\u0E1A\u0E1B\u0E1C\u0E1D\u0E1E\u0E1F\u0E20\u0E21\u0E22\u0E23\u0E24\u0E25\u0E26\u0E27\u0E28\u0E29\u0E2A\u0E2B\u0E2C\u0E2D\u0E2E\u0E2F\u0E30\u0E31\u0E32\u0E33\u0E34\u0E35\u0E36\u0E37\u0E38\u0E39\u0E3A\uFFFD\uFFFD\uFFFD\uFFFD\u0E3F\u0E40\u0E41\u0E42\u0E43\u0E44\u0E45\u0E46\u0E47\u0E48\u0E49\u0E4A\u0E4B\u0E4C\u0E4D\u0E4E\u0E4F\u0E50\u0E51\u0E52\u0E53\u0E54\u0E55\u0E56\u0E57\u0E58\u0E59\u0E5A\u0E5B\uFFFD\uFFFD\uFFFD\uFFFD" + }, + "ibm1162": "cp1162", + "csibm1162": "cp1162", + "cp1163": { + "type": "_sbcs", + "chars": "\x80\x81\x82\x83\x84\x85\x86\x87\x88\x89\x8A\x8B\x8C\x8D\x8E\x8F\x90\x91\x92\x93\x94\x95\x96\x97\x98\x99\x9A\x9B\x9C\x9D\x9E\x9F\xA0\xA1\xA2\xA3\u20AC\xA5\xA6\xA7\u0153\xA9\xAA\xAB\xAC\xAD\xAE\xAF\xB0\xB1\xB2\xB3\u0178\xB5\xB6\xB7\u0152\xB9\xBA\xBB\xBC\xBD\xBE\xBF\xC0\xC1\xC2\u0102\xC4\xC5\xC6\xC7\xC8\xC9\xCA\xCB\u0300\xCD\xCE\xCF\u0110\xD1\u0309\xD3\xD4\u01A0\xD6\xD7\xD8\xD9\xDA\xDB\xDC\u01AF\u0303\xDF\xE0\xE1\xE2\u0103\xE4\xE5\xE6\xE7\xE8\xE9\xEA\xEB\u0301\xED\xEE\xEF\u0111\xF1\u0323\xF3\xF4\u01A1\xF6\xF7\xF8\xF9\xFA\xFB\xFC\u01B0\u20AB\xFF" + }, + "ibm1163": "cp1163", + "csibm1163": "cp1163", + "maccroatian": { + "type": "_sbcs", + "chars": "\xC4\xC5\xC7\xC9\xD1\xD6\xDC\xE1\xE0\xE2\xE4\xE3\xE5\xE7\xE9\xE8\xEA\xEB\xED\xEC\xEE\xEF\xF1\xF3\xF2\xF4\xF6\xF5\xFA\xF9\xFB\xFC\u2020\xB0\xA2\xA3\xA7\u2022\xB6\xDF\xAE\u0160\u2122\xB4\xA8\u2260\u017D\xD8\u221E\xB1\u2264\u2265\u2206\xB5\u2202\u2211\u220F\u0161\u222B\xAA\xBA\u2126\u017E\xF8\xBF\xA1\xAC\u221A\u0192\u2248\u0106\xAB\u010C\u2026\xA0\xC0\xC3\xD5\u0152\u0153\u0110\u2014\u201C\u201D\u2018\u2019\xF7\u25CA\uFFFD\xA9\u2044\xA4\u2039\u203A\xC6\xBB\u2013\xB7\u201A\u201E\u2030\xC2\u0107\xC1\u010D\xC8\xCD\xCE\xCF\xCC\xD3\xD4\u0111\xD2\xDA\xDB\xD9\u0131\u02C6\u02DC\xAF\u03C0\xCB\u02DA\xB8\xCA\xE6\u02C7" + }, + "maccyrillic": { + "type": "_sbcs", + "chars": "\u0410\u0411\u0412\u0413\u0414\u0415\u0416\u0417\u0418\u0419\u041A\u041B\u041C\u041D\u041E\u041F\u0420\u0421\u0422\u0423\u0424\u0425\u0426\u0427\u0428\u0429\u042A\u042B\u042C\u042D\u042E\u042F\u2020\xB0\xA2\xA3\xA7\u2022\xB6\u0406\xAE\xA9\u2122\u0402\u0452\u2260\u0403\u0453\u221E\xB1\u2264\u2265\u0456\xB5\u2202\u0408\u0404\u0454\u0407\u0457\u0409\u0459\u040A\u045A\u0458\u0405\xAC\u221A\u0192\u2248\u2206\xAB\xBB\u2026\xA0\u040B\u045B\u040C\u045C\u0455\u2013\u2014\u201C\u201D\u2018\u2019\xF7\u201E\u040E\u045E\u040F\u045F\u2116\u0401\u0451\u044F\u0430\u0431\u0432\u0433\u0434\u0435\u0436\u0437\u0438\u0439\u043A\u043B\u043C\u043D\u043E\u043F\u0440\u0441\u0442\u0443\u0444\u0445\u0446\u0447\u0448\u0449\u044A\u044B\u044C\u044D\u044E\xA4" + }, + "macgreek": { + "type": "_sbcs", + "chars": "\xC4\xB9\xB2\xC9\xB3\xD6\xDC\u0385\xE0\xE2\xE4\u0384\xA8\xE7\xE9\xE8\xEA\xEB\xA3\u2122\xEE\xEF\u2022\xBD\u2030\xF4\xF6\xA6\xAD\xF9\xFB\xFC\u2020\u0393\u0394\u0398\u039B\u039E\u03A0\xDF\xAE\xA9\u03A3\u03AA\xA7\u2260\xB0\u0387\u0391\xB1\u2264\u2265\xA5\u0392\u0395\u0396\u0397\u0399\u039A\u039C\u03A6\u03AB\u03A8\u03A9\u03AC\u039D\xAC\u039F\u03A1\u2248\u03A4\xAB\xBB\u2026\xA0\u03A5\u03A7\u0386\u0388\u0153\u2013\u2015\u201C\u201D\u2018\u2019\xF7\u0389\u038A\u038C\u038E\u03AD\u03AE\u03AF\u03CC\u038F\u03CD\u03B1\u03B2\u03C8\u03B4\u03B5\u03C6\u03B3\u03B7\u03B9\u03BE\u03BA\u03BB\u03BC\u03BD\u03BF\u03C0\u03CE\u03C1\u03C3\u03C4\u03B8\u03C9\u03C2\u03C7\u03C5\u03B6\u03CA\u03CB\u0390\u03B0\uFFFD" + }, + "maciceland": { + "type": "_sbcs", + "chars": "\xC4\xC5\xC7\xC9\xD1\xD6\xDC\xE1\xE0\xE2\xE4\xE3\xE5\xE7\xE9\xE8\xEA\xEB\xED\xEC\xEE\xEF\xF1\xF3\xF2\xF4\xF6\xF5\xFA\xF9\xFB\xFC\xDD\xB0\xA2\xA3\xA7\u2022\xB6\xDF\xAE\xA9\u2122\xB4\xA8\u2260\xC6\xD8\u221E\xB1\u2264\u2265\xA5\xB5\u2202\u2211\u220F\u03C0\u222B\xAA\xBA\u2126\xE6\xF8\xBF\xA1\xAC\u221A\u0192\u2248\u2206\xAB\xBB\u2026\xA0\xC0\xC3\xD5\u0152\u0153\u2013\u2014\u201C\u201D\u2018\u2019\xF7\u25CA\xFF\u0178\u2044\xA4\xD0\xF0\xDE\xFE\xFD\xB7\u201A\u201E\u2030\xC2\xCA\xC1\xCB\xC8\xCD\xCE\xCF\xCC\xD3\xD4\uFFFD\xD2\xDA\xDB\xD9\u0131\u02C6\u02DC\xAF\u02D8\u02D9\u02DA\xB8\u02DD\u02DB\u02C7" + }, + "macroman": { + "type": "_sbcs", + "chars": "\xC4\xC5\xC7\xC9\xD1\xD6\xDC\xE1\xE0\xE2\xE4\xE3\xE5\xE7\xE9\xE8\xEA\xEB\xED\xEC\xEE\xEF\xF1\xF3\xF2\xF4\xF6\xF5\xFA\xF9\xFB\xFC\u2020\xB0\xA2\xA3\xA7\u2022\xB6\xDF\xAE\xA9\u2122\xB4\xA8\u2260\xC6\xD8\u221E\xB1\u2264\u2265\xA5\xB5\u2202\u2211\u220F\u03C0\u222B\xAA\xBA\u2126\xE6\xF8\xBF\xA1\xAC\u221A\u0192\u2248\u2206\xAB\xBB\u2026\xA0\xC0\xC3\xD5\u0152\u0153\u2013\u2014\u201C\u201D\u2018\u2019\xF7\u25CA\xFF\u0178\u2044\xA4\u2039\u203A\uFB01\uFB02\u2021\xB7\u201A\u201E\u2030\xC2\xCA\xC1\xCB\xC8\xCD\xCE\xCF\xCC\xD3\xD4\uFFFD\xD2\xDA\xDB\xD9\u0131\u02C6\u02DC\xAF\u02D8\u02D9\u02DA\xB8\u02DD\u02DB\u02C7" + }, + "macromania": { + "type": "_sbcs", + "chars": "\xC4\xC5\xC7\xC9\xD1\xD6\xDC\xE1\xE0\xE2\xE4\xE3\xE5\xE7\xE9\xE8\xEA\xEB\xED\xEC\xEE\xEF\xF1\xF3\xF2\xF4\xF6\xF5\xFA\xF9\xFB\xFC\u2020\xB0\xA2\xA3\xA7\u2022\xB6\xDF\xAE\xA9\u2122\xB4\xA8\u2260\u0102\u015E\u221E\xB1\u2264\u2265\xA5\xB5\u2202\u2211\u220F\u03C0\u222B\xAA\xBA\u2126\u0103\u015F\xBF\xA1\xAC\u221A\u0192\u2248\u2206\xAB\xBB\u2026\xA0\xC0\xC3\xD5\u0152\u0153\u2013\u2014\u201C\u201D\u2018\u2019\xF7\u25CA\xFF\u0178\u2044\xA4\u2039\u203A\u0162\u0163\u2021\xB7\u201A\u201E\u2030\xC2\xCA\xC1\xCB\xC8\xCD\xCE\xCF\xCC\xD3\xD4\uFFFD\xD2\xDA\xDB\xD9\u0131\u02C6\u02DC\xAF\u02D8\u02D9\u02DA\xB8\u02DD\u02DB\u02C7" + }, + "macthai": { + "type": "_sbcs", + "chars": "\xAB\xBB\u2026\uF88C\uF88F\uF892\uF895\uF898\uF88B\uF88E\uF891\uF894\uF897\u201C\u201D\uF899\uFFFD\u2022\uF884\uF889\uF885\uF886\uF887\uF888\uF88A\uF88D\uF890\uF893\uF896\u2018\u2019\uFFFD\xA0\u0E01\u0E02\u0E03\u0E04\u0E05\u0E06\u0E07\u0E08\u0E09\u0E0A\u0E0B\u0E0C\u0E0D\u0E0E\u0E0F\u0E10\u0E11\u0E12\u0E13\u0E14\u0E15\u0E16\u0E17\u0E18\u0E19\u0E1A\u0E1B\u0E1C\u0E1D\u0E1E\u0E1F\u0E20\u0E21\u0E22\u0E23\u0E24\u0E25\u0E26\u0E27\u0E28\u0E29\u0E2A\u0E2B\u0E2C\u0E2D\u0E2E\u0E2F\u0E30\u0E31\u0E32\u0E33\u0E34\u0E35\u0E36\u0E37\u0E38\u0E39\u0E3A\uFEFF\u200B\u2013\u2014\u0E3F\u0E40\u0E41\u0E42\u0E43\u0E44\u0E45\u0E46\u0E47\u0E48\u0E49\u0E4A\u0E4B\u0E4C\u0E4D\u2122\u0E4F\u0E50\u0E51\u0E52\u0E53\u0E54\u0E55\u0E56\u0E57\u0E58\u0E59\xAE\xA9\uFFFD\uFFFD\uFFFD\uFFFD" + }, + "macturkish": { + "type": "_sbcs", + "chars": "\xC4\xC5\xC7\xC9\xD1\xD6\xDC\xE1\xE0\xE2\xE4\xE3\xE5\xE7\xE9\xE8\xEA\xEB\xED\xEC\xEE\xEF\xF1\xF3\xF2\xF4\xF6\xF5\xFA\xF9\xFB\xFC\u2020\xB0\xA2\xA3\xA7\u2022\xB6\xDF\xAE\xA9\u2122\xB4\xA8\u2260\xC6\xD8\u221E\xB1\u2264\u2265\xA5\xB5\u2202\u2211\u220F\u03C0\u222B\xAA\xBA\u2126\xE6\xF8\xBF\xA1\xAC\u221A\u0192\u2248\u2206\xAB\xBB\u2026\xA0\xC0\xC3\xD5\u0152\u0153\u2013\u2014\u201C\u201D\u2018\u2019\xF7\u25CA\xFF\u0178\u011E\u011F\u0130\u0131\u015E\u015F\u2021\xB7\u201A\u201E\u2030\xC2\xCA\xC1\xCB\xC8\xCD\xCE\xCF\xCC\xD3\xD4\uFFFD\xD2\xDA\xDB\xD9\uFFFD\u02C6\u02DC\xAF\u02D8\u02D9\u02DA\xB8\u02DD\u02DB\u02C7" + }, + "macukraine": { + "type": "_sbcs", + "chars": "\u0410\u0411\u0412\u0413\u0414\u0415\u0416\u0417\u0418\u0419\u041A\u041B\u041C\u041D\u041E\u041F\u0420\u0421\u0422\u0423\u0424\u0425\u0426\u0427\u0428\u0429\u042A\u042B\u042C\u042D\u042E\u042F\u2020\xB0\u0490\xA3\xA7\u2022\xB6\u0406\xAE\xA9\u2122\u0402\u0452\u2260\u0403\u0453\u221E\xB1\u2264\u2265\u0456\xB5\u0491\u0408\u0404\u0454\u0407\u0457\u0409\u0459\u040A\u045A\u0458\u0405\xAC\u221A\u0192\u2248\u2206\xAB\xBB\u2026\xA0\u040B\u045B\u040C\u045C\u0455\u2013\u2014\u201C\u201D\u2018\u2019\xF7\u201E\u040E\u045E\u040F\u045F\u2116\u0401\u0451\u044F\u0430\u0431\u0432\u0433\u0434\u0435\u0436\u0437\u0438\u0439\u043A\u043B\u043C\u043D\u043E\u043F\u0440\u0441\u0442\u0443\u0444\u0445\u0446\u0447\u0448\u0449\u044A\u044B\u044C\u044D\u044E\xA4" + }, + "koi8r": { + "type": "_sbcs", + "chars": "\u2500\u2502\u250C\u2510\u2514\u2518\u251C\u2524\u252C\u2534\u253C\u2580\u2584\u2588\u258C\u2590\u2591\u2592\u2593\u2320\u25A0\u2219\u221A\u2248\u2264\u2265\xA0\u2321\xB0\xB2\xB7\xF7\u2550\u2551\u2552\u0451\u2553\u2554\u2555\u2556\u2557\u2558\u2559\u255A\u255B\u255C\u255D\u255E\u255F\u2560\u2561\u0401\u2562\u2563\u2564\u2565\u2566\u2567\u2568\u2569\u256A\u256B\u256C\xA9\u044E\u0430\u0431\u0446\u0434\u0435\u0444\u0433\u0445\u0438\u0439\u043A\u043B\u043C\u043D\u043E\u043F\u044F\u0440\u0441\u0442\u0443\u0436\u0432\u044C\u044B\u0437\u0448\u044D\u0449\u0447\u044A\u042E\u0410\u0411\u0426\u0414\u0415\u0424\u0413\u0425\u0418\u0419\u041A\u041B\u041C\u041D\u041E\u041F\u042F\u0420\u0421\u0422\u0423\u0416\u0412\u042C\u042B\u0417\u0428\u042D\u0429\u0427\u042A" + }, + "koi8u": { + "type": "_sbcs", + "chars": "\u2500\u2502\u250C\u2510\u2514\u2518\u251C\u2524\u252C\u2534\u253C\u2580\u2584\u2588\u258C\u2590\u2591\u2592\u2593\u2320\u25A0\u2219\u221A\u2248\u2264\u2265\xA0\u2321\xB0\xB2\xB7\xF7\u2550\u2551\u2552\u0451\u0454\u2554\u0456\u0457\u2557\u2558\u2559\u255A\u255B\u0491\u255D\u255E\u255F\u2560\u2561\u0401\u0404\u2563\u0406\u0407\u2566\u2567\u2568\u2569\u256A\u0490\u256C\xA9\u044E\u0430\u0431\u0446\u0434\u0435\u0444\u0433\u0445\u0438\u0439\u043A\u043B\u043C\u043D\u043E\u043F\u044F\u0440\u0441\u0442\u0443\u0436\u0432\u044C\u044B\u0437\u0448\u044D\u0449\u0447\u044A\u042E\u0410\u0411\u0426\u0414\u0415\u0424\u0413\u0425\u0418\u0419\u041A\u041B\u041C\u041D\u041E\u041F\u042F\u0420\u0421\u0422\u0423\u0416\u0412\u042C\u042B\u0417\u0428\u042D\u0429\u0427\u042A" + }, + "koi8ru": { + "type": "_sbcs", + "chars": "\u2500\u2502\u250C\u2510\u2514\u2518\u251C\u2524\u252C\u2534\u253C\u2580\u2584\u2588\u258C\u2590\u2591\u2592\u2593\u2320\u25A0\u2219\u221A\u2248\u2264\u2265\xA0\u2321\xB0\xB2\xB7\xF7\u2550\u2551\u2552\u0451\u0454\u2554\u0456\u0457\u2557\u2558\u2559\u255A\u255B\u0491\u045E\u255E\u255F\u2560\u2561\u0401\u0404\u2563\u0406\u0407\u2566\u2567\u2568\u2569\u256A\u0490\u040E\xA9\u044E\u0430\u0431\u0446\u0434\u0435\u0444\u0433\u0445\u0438\u0439\u043A\u043B\u043C\u043D\u043E\u043F\u044F\u0440\u0441\u0442\u0443\u0436\u0432\u044C\u044B\u0437\u0448\u044D\u0449\u0447\u044A\u042E\u0410\u0411\u0426\u0414\u0415\u0424\u0413\u0425\u0418\u0419\u041A\u041B\u041C\u041D\u041E\u041F\u042F\u0420\u0421\u0422\u0423\u0416\u0412\u042C\u042B\u0417\u0428\u042D\u0429\u0427\u042A" + }, + "koi8t": { + "type": "_sbcs", + "chars": "\u049B\u0493\u201A\u0492\u201E\u2026\u2020\u2021\uFFFD\u2030\u04B3\u2039\u04B2\u04B7\u04B6\uFFFD\u049A\u2018\u2019\u201C\u201D\u2022\u2013\u2014\uFFFD\u2122\uFFFD\u203A\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\u04EF\u04EE\u0451\xA4\u04E3\xA6\xA7\uFFFD\uFFFD\uFFFD\xAB\xAC\xAD\xAE\uFFFD\xB0\xB1\xB2\u0401\uFFFD\u04E2\xB6\xB7\uFFFD\u2116\uFFFD\xBB\uFFFD\uFFFD\uFFFD\xA9\u044E\u0430\u0431\u0446\u0434\u0435\u0444\u0433\u0445\u0438\u0439\u043A\u043B\u043C\u043D\u043E\u043F\u044F\u0440\u0441\u0442\u0443\u0436\u0432\u044C\u044B\u0437\u0448\u044D\u0449\u0447\u044A\u042E\u0410\u0411\u0426\u0414\u0415\u0424\u0413\u0425\u0418\u0419\u041A\u041B\u041C\u041D\u041E\u041F\u042F\u0420\u0421\u0422\u0423\u0416\u0412\u042C\u042B\u0417\u0428\u042D\u0429\u0427\u042A" + }, + "armscii8": { + "type": "_sbcs", + "chars": "\x80\x81\x82\x83\x84\x85\x86\x87\x88\x89\x8A\x8B\x8C\x8D\x8E\x8F\x90\x91\x92\x93\x94\x95\x96\x97\x98\x99\x9A\x9B\x9C\x9D\x9E\x9F\xA0\uFFFD\u0587\u0589)(\xBB\xAB\u2014.\u055D,-\u058A\u2026\u055C\u055B\u055E\u0531\u0561\u0532\u0562\u0533\u0563\u0534\u0564\u0535\u0565\u0536\u0566\u0537\u0567\u0538\u0568\u0539\u0569\u053A\u056A\u053B\u056B\u053C\u056C\u053D\u056D\u053E\u056E\u053F\u056F\u0540\u0570\u0541\u0571\u0542\u0572\u0543\u0573\u0544\u0574\u0545\u0575\u0546\u0576\u0547\u0577\u0548\u0578\u0549\u0579\u054A\u057A\u054B\u057B\u054C\u057C\u054D\u057D\u054E\u057E\u054F\u057F\u0550\u0580\u0551\u0581\u0552\u0582\u0553\u0583\u0554\u0584\u0555\u0585\u0556\u0586\u055A\uFFFD" + }, + "rk1048": { + "type": "_sbcs", + "chars": "\u0402\u0403\u201A\u0453\u201E\u2026\u2020\u2021\u20AC\u2030\u0409\u2039\u040A\u049A\u04BA\u040F\u0452\u2018\u2019\u201C\u201D\u2022\u2013\u2014\uFFFD\u2122\u0459\u203A\u045A\u049B\u04BB\u045F\xA0\u04B0\u04B1\u04D8\xA4\u04E8\xA6\xA7\u0401\xA9\u0492\xAB\xAC\xAD\xAE\u04AE\xB0\xB1\u0406\u0456\u04E9\xB5\xB6\xB7\u0451\u2116\u0493\xBB\u04D9\u04A2\u04A3\u04AF\u0410\u0411\u0412\u0413\u0414\u0415\u0416\u0417\u0418\u0419\u041A\u041B\u041C\u041D\u041E\u041F\u0420\u0421\u0422\u0423\u0424\u0425\u0426\u0427\u0428\u0429\u042A\u042B\u042C\u042D\u042E\u042F\u0430\u0431\u0432\u0433\u0434\u0435\u0436\u0437\u0438\u0439\u043A\u043B\u043C\u043D\u043E\u043F\u0440\u0441\u0442\u0443\u0444\u0445\u0446\u0447\u0448\u0449\u044A\u044B\u044C\u044D\u044E\u044F" + }, + "tcvn": { + "type": "_sbcs", + "chars": "\0\xDA\u1EE4\u1EEA\u1EEC\u1EEE\x07\b \n\v\f\r\u1EE8\u1EF0\u1EF2\u1EF6\u1EF8\xDD\u1EF4\x1B !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~\x7F\xC0\u1EA2\xC3\xC1\u1EA0\u1EB6\u1EAC\xC8\u1EBA\u1EBC\xC9\u1EB8\u1EC6\xCC\u1EC8\u0128\xCD\u1ECA\xD2\u1ECE\xD5\xD3\u1ECC\u1ED8\u1EDC\u1EDE\u1EE0\u1EDA\u1EE2\xD9\u1EE6\u0168\xA0\u0102\xC2\xCA\xD4\u01A0\u01AF\u0110\u0103\xE2\xEA\xF4\u01A1\u01B0\u0111\u1EB0\u0300\u0309\u0303\u0301\u0323\xE0\u1EA3\xE3\xE1\u1EA1\u1EB2\u1EB1\u1EB3\u1EB5\u1EAF\u1EB4\u1EAE\u1EA6\u1EA8\u1EAA\u1EA4\u1EC0\u1EB7\u1EA7\u1EA9\u1EAB\u1EA5\u1EAD\xE8\u1EC2\u1EBB\u1EBD\xE9\u1EB9\u1EC1\u1EC3\u1EC5\u1EBF\u1EC7\xEC\u1EC9\u1EC4\u1EBE\u1ED2\u0129\xED\u1ECB\xF2\u1ED4\u1ECF\xF5\xF3\u1ECD\u1ED3\u1ED5\u1ED7\u1ED1\u1ED9\u1EDD\u1EDF\u1EE1\u1EDB\u1EE3\xF9\u1ED6\u1EE7\u0169\xFA\u1EE5\u1EEB\u1EED\u1EEF\u1EE9\u1EF1\u1EF3\u1EF7\u1EF9\xFD\u1EF5\u1ED0" + }, + "georgianacademy": { + "type": "_sbcs", + "chars": "\x80\x81\u201A\u0192\u201E\u2026\u2020\u2021\u02C6\u2030\u0160\u2039\u0152\x8D\x8E\x8F\x90\u2018\u2019\u201C\u201D\u2022\u2013\u2014\u02DC\u2122\u0161\u203A\u0153\x9D\x9E\u0178\xA0\xA1\xA2\xA3\xA4\xA5\xA6\xA7\xA8\xA9\xAA\xAB\xAC\xAD\xAE\xAF\xB0\xB1\xB2\xB3\xB4\xB5\xB6\xB7\xB8\xB9\xBA\xBB\xBC\xBD\xBE\xBF\u10D0\u10D1\u10D2\u10D3\u10D4\u10D5\u10D6\u10D7\u10D8\u10D9\u10DA\u10DB\u10DC\u10DD\u10DE\u10DF\u10E0\u10E1\u10E2\u10E3\u10E4\u10E5\u10E6\u10E7\u10E8\u10E9\u10EA\u10EB\u10EC\u10ED\u10EE\u10EF\u10F0\u10F1\u10F2\u10F3\u10F4\u10F5\u10F6\xE7\xE8\xE9\xEA\xEB\xEC\xED\xEE\xEF\xF0\xF1\xF2\xF3\xF4\xF5\xF6\xF7\xF8\xF9\xFA\xFB\xFC\xFD\xFE\xFF" + }, + "georgianps": { + "type": "_sbcs", + "chars": "\x80\x81\u201A\u0192\u201E\u2026\u2020\u2021\u02C6\u2030\u0160\u2039\u0152\x8D\x8E\x8F\x90\u2018\u2019\u201C\u201D\u2022\u2013\u2014\u02DC\u2122\u0161\u203A\u0153\x9D\x9E\u0178\xA0\xA1\xA2\xA3\xA4\xA5\xA6\xA7\xA8\xA9\xAA\xAB\xAC\xAD\xAE\xAF\xB0\xB1\xB2\xB3\xB4\xB5\xB6\xB7\xB8\xB9\xBA\xBB\xBC\xBD\xBE\xBF\u10D0\u10D1\u10D2\u10D3\u10D4\u10D5\u10D6\u10F1\u10D7\u10D8\u10D9\u10DA\u10DB\u10DC\u10F2\u10DD\u10DE\u10DF\u10E0\u10E1\u10E2\u10F3\u10E3\u10E4\u10E5\u10E6\u10E7\u10E8\u10E9\u10EA\u10EB\u10EC\u10ED\u10EE\u10F4\u10EF\u10F0\u10F5\xE6\xE7\xE8\xE9\xEA\xEB\xEC\xED\xEE\xEF\xF0\xF1\xF2\xF3\xF4\xF5\xF6\xF7\xF8\xF9\xFA\xFB\xFC\xFD\xFE\xFF" + }, + "pt154": { + "type": "_sbcs", + "chars": "\u0496\u0492\u04EE\u0493\u201E\u2026\u04B6\u04AE\u04B2\u04AF\u04A0\u04E2\u04A2\u049A\u04BA\u04B8\u0497\u2018\u2019\u201C\u201D\u2022\u2013\u2014\u04B3\u04B7\u04A1\u04E3\u04A3\u049B\u04BB\u04B9\xA0\u040E\u045E\u0408\u04E8\u0498\u04B0\xA7\u0401\xA9\u04D8\xAB\xAC\u04EF\xAE\u049C\xB0\u04B1\u0406\u0456\u0499\u04E9\xB6\xB7\u0451\u2116\u04D9\xBB\u0458\u04AA\u04AB\u049D\u0410\u0411\u0412\u0413\u0414\u0415\u0416\u0417\u0418\u0419\u041A\u041B\u041C\u041D\u041E\u041F\u0420\u0421\u0422\u0423\u0424\u0425\u0426\u0427\u0428\u0429\u042A\u042B\u042C\u042D\u042E\u042F\u0430\u0431\u0432\u0433\u0434\u0435\u0436\u0437\u0438\u0439\u043A\u043B\u043C\u043D\u043E\u043F\u0440\u0441\u0442\u0443\u0444\u0445\u0446\u0447\u0448\u0449\u044A\u044B\u044C\u044D\u044E\u044F" + }, + "viscii": { + "type": "_sbcs", + "chars": "\0\u1EB2\u1EB4\u1EAA\x07\b \n\v\f\r\u1EF6\u1EF8\x1B\u1EF4 !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~\x7F\u1EA0\u1EAE\u1EB0\u1EB6\u1EA4\u1EA6\u1EA8\u1EAC\u1EBC\u1EB8\u1EBE\u1EC0\u1EC2\u1EC4\u1EC6\u1ED0\u1ED2\u1ED4\u1ED6\u1ED8\u1EE2\u1EDA\u1EDC\u1EDE\u1ECA\u1ECE\u1ECC\u1EC8\u1EE6\u0168\u1EE4\u1EF2\xD5\u1EAF\u1EB1\u1EB7\u1EA5\u1EA7\u1EA9\u1EAD\u1EBD\u1EB9\u1EBF\u1EC1\u1EC3\u1EC5\u1EC7\u1ED1\u1ED3\u1ED5\u1ED7\u1EE0\u01A0\u1ED9\u1EDD\u1EDF\u1ECB\u1EF0\u1EE8\u1EEA\u1EEC\u01A1\u1EDB\u01AF\xC0\xC1\xC2\xC3\u1EA2\u0102\u1EB3\u1EB5\xC8\xC9\xCA\u1EBA\xCC\xCD\u0128\u1EF3\u0110\u1EE9\xD2\xD3\xD4\u1EA1\u1EF7\u1EEB\u1EED\xD9\xDA\u1EF9\u1EF5\xDD\u1EE1\u01B0\xE0\xE1\xE2\xE3\u1EA3\u0103\u1EEF\u1EAB\xE8\xE9\xEA\u1EBB\xEC\xED\u0129\u1EC9\u0111\u1EF1\xF2\xF3\xF4\xF5\u1ECF\u1ECD\u1EE5\xF9\xFA\u0169\u1EE7\xFD\u1EE3\u1EEE" + }, + "iso646cn": { + "type": "_sbcs", + "chars": "\0\x07\b \n\v\f\r\x1B !\"#\xA5%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}\u203E\x7F\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD" + }, + "iso646jp": { + "type": "_sbcs", + "chars": "\0\x07\b \n\v\f\r\x1B !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\xA5]^_`abcdefghijklmnopqrstuvwxyz{|}\u203E\x7F\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD" + }, + "hproman8": { + "type": "_sbcs", + "chars": "\x80\x81\x82\x83\x84\x85\x86\x87\x88\x89\x8A\x8B\x8C\x8D\x8E\x8F\x90\x91\x92\x93\x94\x95\x96\x97\x98\x99\x9A\x9B\x9C\x9D\x9E\x9F\xA0\xC0\xC2\xC8\xCA\xCB\xCE\xCF\xB4\u02CB\u02C6\xA8\u02DC\xD9\xDB\u20A4\xAF\xDD\xFD\xB0\xC7\xE7\xD1\xF1\xA1\xBF\xA4\xA3\xA5\xA7\u0192\xA2\xE2\xEA\xF4\xFB\xE1\xE9\xF3\xFA\xE0\xE8\xF2\xF9\xE4\xEB\xF6\xFC\xC5\xEE\xD8\xC6\xE5\xED\xF8\xE6\xC4\xEC\xD6\xDC\xC9\xEF\xDF\xD4\xC1\xC3\xE3\xD0\xF0\xCD\xCC\xD3\xD2\xD5\xF5\u0160\u0161\xDA\u0178\xFF\xDE\xFE\xB7\xB5\xB6\xBE\u2014\xBC\xBD\xAA\xBA\xAB\u25A0\xBB\xB1\uFFFD" + }, + "macintosh": { + "type": "_sbcs", + "chars": "\xC4\xC5\xC7\xC9\xD1\xD6\xDC\xE1\xE0\xE2\xE4\xE3\xE5\xE7\xE9\xE8\xEA\xEB\xED\xEC\xEE\xEF\xF1\xF3\xF2\xF4\xF6\xF5\xFA\xF9\xFB\xFC\u2020\xB0\xA2\xA3\xA7\u2022\xB6\xDF\xAE\xA9\u2122\xB4\xA8\u2260\xC6\xD8\u221E\xB1\u2264\u2265\xA5\xB5\u2202\u2211\u220F\u03C0\u222B\xAA\xBA\u2126\xE6\xF8\xBF\xA1\xAC\u221A\u0192\u2248\u2206\xAB\xBB\u2026\xA0\xC0\xC3\xD5\u0152\u0153\u2013\u2014\u201C\u201D\u2018\u2019\xF7\u25CA\xFF\u0178\u2044\xA4\u2039\u203A\uFB01\uFB02\u2021\xB7\u201A\u201E\u2030\xC2\xCA\xC1\xCB\xC8\xCD\xCE\xCF\xCC\xD3\xD4\uFFFD\xD2\xDA\xDB\xD9\u0131\u02C6\u02DC\xAF\u02D8\u02D9\u02DA\xB8\u02DD\u02DB\u02C7" + }, + "ascii": { + "type": "_sbcs", + "chars": "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD" + }, + "tis620": { + "type": "_sbcs", + "chars": "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\u0E01\u0E02\u0E03\u0E04\u0E05\u0E06\u0E07\u0E08\u0E09\u0E0A\u0E0B\u0E0C\u0E0D\u0E0E\u0E0F\u0E10\u0E11\u0E12\u0E13\u0E14\u0E15\u0E16\u0E17\u0E18\u0E19\u0E1A\u0E1B\u0E1C\u0E1D\u0E1E\u0E1F\u0E20\u0E21\u0E22\u0E23\u0E24\u0E25\u0E26\u0E27\u0E28\u0E29\u0E2A\u0E2B\u0E2C\u0E2D\u0E2E\u0E2F\u0E30\u0E31\u0E32\u0E33\u0E34\u0E35\u0E36\u0E37\u0E38\u0E39\u0E3A\uFFFD\uFFFD\uFFFD\uFFFD\u0E3F\u0E40\u0E41\u0E42\u0E43\u0E44\u0E45\u0E46\u0E47\u0E48\u0E49\u0E4A\u0E4B\u0E4C\u0E4D\u0E4E\u0E4F\u0E50\u0E51\u0E52\u0E53\u0E54\u0E55\u0E56\u0E57\u0E58\u0E59\u0E5A\u0E5B\uFFFD\uFFFD\uFFFD\uFFFD" + } + }; + } +}); +var require_dbcs_codec2 = __commonJS2({ + "node_modules/body-parser/node_modules/iconv-lite/encodings/dbcs-codec.js"(exports2) { + "use strict"; + var Buffer2 = require_safer().Buffer; + exports2._dbcs = DBCSCodec; + var UNASSIGNED = -1; + var GB18030_CODE = -2; + var SEQ_START = -10; + var NODE_START = -1e3; + var UNASSIGNED_NODE = new Array(256); + var DEF_CHAR = -1; + for (i = 0; i < 256; i++) + UNASSIGNED_NODE[i] = UNASSIGNED; + var i; + function DBCSCodec(codecOptions, iconv) { + this.encodingName = codecOptions.encodingName; + if (!codecOptions) + throw new Error("DBCS codec is called without the data."); + if (!codecOptions.table) + throw new Error("Encoding '" + this.encodingName + "' has no data."); + var mappingTable = codecOptions.table(); + this.decodeTables = []; + this.decodeTables[0] = UNASSIGNED_NODE.slice(0); + this.decodeTableSeq = []; + for (var i2 = 0; i2 < mappingTable.length; i2++) + this._addDecodeChunk(mappingTable[i2]); + if (typeof codecOptions.gb18030 === "function") { + this.gb18030 = codecOptions.gb18030(); + var commonThirdByteNodeIdx = this.decodeTables.length; + this.decodeTables.push(UNASSIGNED_NODE.slice(0)); + var commonFourthByteNodeIdx = this.decodeTables.length; + this.decodeTables.push(UNASSIGNED_NODE.slice(0)); + var firstByteNode = this.decodeTables[0]; + for (var i2 = 129; i2 <= 254; i2++) { + var secondByteNode = this.decodeTables[NODE_START - firstByteNode[i2]]; + for (var j = 48; j <= 57; j++) { + if (secondByteNode[j] === UNASSIGNED) { + secondByteNode[j] = NODE_START - commonThirdByteNodeIdx; + } else if (secondByteNode[j] > NODE_START) { + throw new Error("gb18030 decode tables conflict at byte 2"); + } + var thirdByteNode = this.decodeTables[NODE_START - secondByteNode[j]]; + for (var k = 129; k <= 254; k++) { + if (thirdByteNode[k] === UNASSIGNED) { + thirdByteNode[k] = NODE_START - commonFourthByteNodeIdx; + } else if (thirdByteNode[k] === NODE_START - commonFourthByteNodeIdx) { + continue; + } else if (thirdByteNode[k] > NODE_START) { + throw new Error("gb18030 decode tables conflict at byte 3"); + } + var fourthByteNode = this.decodeTables[NODE_START - thirdByteNode[k]]; + for (var l = 48; l <= 57; l++) { + if (fourthByteNode[l] === UNASSIGNED) + fourthByteNode[l] = GB18030_CODE; + } + } + } + } + } + this.defaultCharUnicode = iconv.defaultCharUnicode; + this.encodeTable = []; + this.encodeTableSeq = []; + var skipEncodeChars = {}; + if (codecOptions.encodeSkipVals) + for (var i2 = 0; i2 < codecOptions.encodeSkipVals.length; i2++) { + var val = codecOptions.encodeSkipVals[i2]; + if (typeof val === "number") + skipEncodeChars[val] = true; + else + for (var j = val.from; j <= val.to; j++) + skipEncodeChars[j] = true; + } + this._fillEncodeTable(0, 0, skipEncodeChars); + if (codecOptions.encodeAdd) { + for (var uChar in codecOptions.encodeAdd) + if (Object.prototype.hasOwnProperty.call(codecOptions.encodeAdd, uChar)) + this._setEncodeChar(uChar.charCodeAt(0), codecOptions.encodeAdd[uChar]); + } + this.defCharSB = this.encodeTable[0][iconv.defaultCharSingleByte.charCodeAt(0)]; + if (this.defCharSB === UNASSIGNED) this.defCharSB = this.encodeTable[0]["?"]; + if (this.defCharSB === UNASSIGNED) this.defCharSB = "?".charCodeAt(0); + } + DBCSCodec.prototype.encoder = DBCSEncoder; + DBCSCodec.prototype.decoder = DBCSDecoder; + DBCSCodec.prototype._getDecodeTrieNode = function(addr) { + var bytes = []; + for (; addr > 0; addr >>>= 8) + bytes.push(addr & 255); + if (bytes.length == 0) + bytes.push(0); + var node = this.decodeTables[0]; + for (var i2 = bytes.length - 1; i2 > 0; i2--) { + var val = node[bytes[i2]]; + if (val == UNASSIGNED) { + node[bytes[i2]] = NODE_START - this.decodeTables.length; + this.decodeTables.push(node = UNASSIGNED_NODE.slice(0)); + } else if (val <= NODE_START) { + node = this.decodeTables[NODE_START - val]; + } else + throw new Error("Overwrite byte in " + this.encodingName + ", addr: " + addr.toString(16)); + } + return node; + }; + DBCSCodec.prototype._addDecodeChunk = function(chunk) { + var curAddr = parseInt(chunk[0], 16); + var writeTable = this._getDecodeTrieNode(curAddr); + curAddr = curAddr & 255; + for (var k = 1; k < chunk.length; k++) { + var part = chunk[k]; + if (typeof part === "string") { + for (var l = 0; l < part.length; ) { + var code = part.charCodeAt(l++); + if (55296 <= code && code < 56320) { + var codeTrail = part.charCodeAt(l++); + if (56320 <= codeTrail && codeTrail < 57344) + writeTable[curAddr++] = 65536 + (code - 55296) * 1024 + (codeTrail - 56320); + else + throw new Error("Incorrect surrogate pair in " + this.encodingName + " at chunk " + chunk[0]); + } else if (4080 < code && code <= 4095) { + var len = 4095 - code + 2; + var seq = []; + for (var m = 0; m < len; m++) + seq.push(part.charCodeAt(l++)); + writeTable[curAddr++] = SEQ_START - this.decodeTableSeq.length; + this.decodeTableSeq.push(seq); + } else + writeTable[curAddr++] = code; + } + } else if (typeof part === "number") { + var charCode = writeTable[curAddr - 1] + 1; + for (var l = 0; l < part; l++) + writeTable[curAddr++] = charCode++; + } else + throw new Error("Incorrect type '" + typeof part + "' given in " + this.encodingName + " at chunk " + chunk[0]); + } + if (curAddr > 255) + throw new Error("Incorrect chunk in " + this.encodingName + " at addr " + chunk[0] + ": too long" + curAddr); + }; + DBCSCodec.prototype._getEncodeBucket = function(uCode) { + var high = uCode >> 8; + if (this.encodeTable[high] === void 0) + this.encodeTable[high] = UNASSIGNED_NODE.slice(0); + return this.encodeTable[high]; + }; + DBCSCodec.prototype._setEncodeChar = function(uCode, dbcsCode) { + var bucket = this._getEncodeBucket(uCode); + var low = uCode & 255; + if (bucket[low] <= SEQ_START) + this.encodeTableSeq[SEQ_START - bucket[low]][DEF_CHAR] = dbcsCode; + else if (bucket[low] == UNASSIGNED) + bucket[low] = dbcsCode; + }; + DBCSCodec.prototype._setEncodeSequence = function(seq, dbcsCode) { + var uCode = seq[0]; + var bucket = this._getEncodeBucket(uCode); + var low = uCode & 255; + var node; + if (bucket[low] <= SEQ_START) { + node = this.encodeTableSeq[SEQ_START - bucket[low]]; + } else { + node = {}; + if (bucket[low] !== UNASSIGNED) node[DEF_CHAR] = bucket[low]; + bucket[low] = SEQ_START - this.encodeTableSeq.length; + this.encodeTableSeq.push(node); + } + for (var j = 1; j < seq.length - 1; j++) { + var oldVal = node[uCode]; + if (typeof oldVal === "object") + node = oldVal; + else { + node = node[uCode] = {}; + if (oldVal !== void 0) + node[DEF_CHAR] = oldVal; + } + } + uCode = seq[seq.length - 1]; + node[uCode] = dbcsCode; + }; + DBCSCodec.prototype._fillEncodeTable = function(nodeIdx, prefix, skipEncodeChars) { + var node = this.decodeTables[nodeIdx]; + var hasValues = false; + var subNodeEmpty = {}; + for (var i2 = 0; i2 < 256; i2++) { + var uCode = node[i2]; + var mbCode = prefix + i2; + if (skipEncodeChars[mbCode]) + continue; + if (uCode >= 0) { + this._setEncodeChar(uCode, mbCode); + hasValues = true; + } else if (uCode <= NODE_START) { + var subNodeIdx = NODE_START - uCode; + if (!subNodeEmpty[subNodeIdx]) { + var newPrefix = mbCode << 8 >>> 0; + if (this._fillEncodeTable(subNodeIdx, newPrefix, skipEncodeChars)) + hasValues = true; + else + subNodeEmpty[subNodeIdx] = true; + } + } else if (uCode <= SEQ_START) { + this._setEncodeSequence(this.decodeTableSeq[SEQ_START - uCode], mbCode); + hasValues = true; + } + } + return hasValues; + }; + function DBCSEncoder(options, codec) { + this.leadSurrogate = -1; + this.seqObj = void 0; + this.encodeTable = codec.encodeTable; + this.encodeTableSeq = codec.encodeTableSeq; + this.defaultCharSingleByte = codec.defCharSB; + this.gb18030 = codec.gb18030; + } + DBCSEncoder.prototype.write = function(str) { + var newBuf = Buffer2.alloc(str.length * (this.gb18030 ? 4 : 3)), leadSurrogate = this.leadSurrogate, seqObj = this.seqObj, nextChar = -1, i2 = 0, j = 0; + while (true) { + if (nextChar === -1) { + if (i2 == str.length) break; + var uCode = str.charCodeAt(i2++); + } else { + var uCode = nextChar; + nextChar = -1; + } + if (55296 <= uCode && uCode < 57344) { + if (uCode < 56320) { + if (leadSurrogate === -1) { + leadSurrogate = uCode; + continue; + } else { + leadSurrogate = uCode; + uCode = UNASSIGNED; + } + } else { + if (leadSurrogate !== -1) { + uCode = 65536 + (leadSurrogate - 55296) * 1024 + (uCode - 56320); + leadSurrogate = -1; + } else { + uCode = UNASSIGNED; + } + } + } else if (leadSurrogate !== -1) { + nextChar = uCode; + uCode = UNASSIGNED; + leadSurrogate = -1; + } + var dbcsCode = UNASSIGNED; + if (seqObj !== void 0 && uCode != UNASSIGNED) { + var resCode = seqObj[uCode]; + if (typeof resCode === "object") { + seqObj = resCode; + continue; + } else if (typeof resCode == "number") { + dbcsCode = resCode; + } else if (resCode == void 0) { + resCode = seqObj[DEF_CHAR]; + if (resCode !== void 0) { + dbcsCode = resCode; + nextChar = uCode; + } else { + } + } + seqObj = void 0; + } else if (uCode >= 0) { + var subtable = this.encodeTable[uCode >> 8]; + if (subtable !== void 0) + dbcsCode = subtable[uCode & 255]; + if (dbcsCode <= SEQ_START) { + seqObj = this.encodeTableSeq[SEQ_START - dbcsCode]; + continue; + } + if (dbcsCode == UNASSIGNED && this.gb18030) { + var idx = findIdx(this.gb18030.uChars, uCode); + if (idx != -1) { + var dbcsCode = this.gb18030.gbChars[idx] + (uCode - this.gb18030.uChars[idx]); + newBuf[j++] = 129 + Math.floor(dbcsCode / 12600); + dbcsCode = dbcsCode % 12600; + newBuf[j++] = 48 + Math.floor(dbcsCode / 1260); + dbcsCode = dbcsCode % 1260; + newBuf[j++] = 129 + Math.floor(dbcsCode / 10); + dbcsCode = dbcsCode % 10; + newBuf[j++] = 48 + dbcsCode; + continue; + } + } + } + if (dbcsCode === UNASSIGNED) + dbcsCode = this.defaultCharSingleByte; + if (dbcsCode < 256) { + newBuf[j++] = dbcsCode; + } else if (dbcsCode < 65536) { + newBuf[j++] = dbcsCode >> 8; + newBuf[j++] = dbcsCode & 255; + } else if (dbcsCode < 16777216) { + newBuf[j++] = dbcsCode >> 16; + newBuf[j++] = dbcsCode >> 8 & 255; + newBuf[j++] = dbcsCode & 255; + } else { + newBuf[j++] = dbcsCode >>> 24; + newBuf[j++] = dbcsCode >>> 16 & 255; + newBuf[j++] = dbcsCode >>> 8 & 255; + newBuf[j++] = dbcsCode & 255; + } + } + this.seqObj = seqObj; + this.leadSurrogate = leadSurrogate; + return newBuf.slice(0, j); + }; + DBCSEncoder.prototype.end = function() { + if (this.leadSurrogate === -1 && this.seqObj === void 0) + return; + var newBuf = Buffer2.alloc(10), j = 0; + if (this.seqObj) { + var dbcsCode = this.seqObj[DEF_CHAR]; + if (dbcsCode !== void 0) { + if (dbcsCode < 256) { + newBuf[j++] = dbcsCode; + } else { + newBuf[j++] = dbcsCode >> 8; + newBuf[j++] = dbcsCode & 255; + } + } else { + } + this.seqObj = void 0; + } + if (this.leadSurrogate !== -1) { + newBuf[j++] = this.defaultCharSingleByte; + this.leadSurrogate = -1; + } + return newBuf.slice(0, j); + }; + DBCSEncoder.prototype.findIdx = findIdx; + function DBCSDecoder(options, codec) { + this.nodeIdx = 0; + this.prevBytes = []; + this.decodeTables = codec.decodeTables; + this.decodeTableSeq = codec.decodeTableSeq; + this.defaultCharUnicode = codec.defaultCharUnicode; + this.gb18030 = codec.gb18030; + } + DBCSDecoder.prototype.write = function(buf) { + var newBuf = Buffer2.alloc(buf.length * 2), nodeIdx = this.nodeIdx, prevBytes = this.prevBytes, prevOffset = this.prevBytes.length, seqStart = -this.prevBytes.length, uCode; + for (var i2 = 0, j = 0; i2 < buf.length; i2++) { + var curByte = i2 >= 0 ? buf[i2] : prevBytes[i2 + prevOffset]; + var uCode = this.decodeTables[nodeIdx][curByte]; + if (uCode >= 0) { + } else if (uCode === UNASSIGNED) { + uCode = this.defaultCharUnicode.charCodeAt(0); + i2 = seqStart; + } else if (uCode === GB18030_CODE) { + if (i2 >= 3) { + var ptr = (buf[i2 - 3] - 129) * 12600 + (buf[i2 - 2] - 48) * 1260 + (buf[i2 - 1] - 129) * 10 + (curByte - 48); + } else { + var ptr = (prevBytes[i2 - 3 + prevOffset] - 129) * 12600 + ((i2 - 2 >= 0 ? buf[i2 - 2] : prevBytes[i2 - 2 + prevOffset]) - 48) * 1260 + ((i2 - 1 >= 0 ? buf[i2 - 1] : prevBytes[i2 - 1 + prevOffset]) - 129) * 10 + (curByte - 48); + } + var idx = findIdx(this.gb18030.gbChars, ptr); + uCode = this.gb18030.uChars[idx] + ptr - this.gb18030.gbChars[idx]; + } else if (uCode <= NODE_START) { + nodeIdx = NODE_START - uCode; + continue; + } else if (uCode <= SEQ_START) { + var seq = this.decodeTableSeq[SEQ_START - uCode]; + for (var k = 0; k < seq.length - 1; k++) { + uCode = seq[k]; + newBuf[j++] = uCode & 255; + newBuf[j++] = uCode >> 8; + } + uCode = seq[seq.length - 1]; + } else + throw new Error("iconv-lite internal error: invalid decoding table value " + uCode + " at " + nodeIdx + "/" + curByte); + if (uCode >= 65536) { + uCode -= 65536; + var uCodeLead = 55296 | uCode >> 10; + newBuf[j++] = uCodeLead & 255; + newBuf[j++] = uCodeLead >> 8; + uCode = 56320 | uCode & 1023; + } + newBuf[j++] = uCode & 255; + newBuf[j++] = uCode >> 8; + nodeIdx = 0; + seqStart = i2 + 1; + } + this.nodeIdx = nodeIdx; + this.prevBytes = seqStart >= 0 ? Array.prototype.slice.call(buf, seqStart) : prevBytes.slice(seqStart + prevOffset).concat(Array.prototype.slice.call(buf)); + return newBuf.slice(0, j).toString("ucs2"); + }; + DBCSDecoder.prototype.end = function() { + var ret = ""; + while (this.prevBytes.length > 0) { + ret += this.defaultCharUnicode; + var bytesArr = this.prevBytes.slice(1); + this.prevBytes = []; + this.nodeIdx = 0; + if (bytesArr.length > 0) + ret += this.write(bytesArr); + } + this.prevBytes = []; + this.nodeIdx = 0; + return ret; + }; + function findIdx(table, val) { + if (table[0] > val) + return -1; + var l = 0, r = table.length; + while (l < r - 1) { + var mid = l + (r - l + 1 >> 1); + if (table[mid] <= val) + l = mid; + else + r = mid; + } + return l; + } + } +}); +var require_shiftjis2 = __commonJS2({ + "node_modules/body-parser/node_modules/iconv-lite/encodings/tables/shiftjis.json"(exports2, module2) { + module2.exports = [ + ["0", "\0", 128], + ["a1", "\uFF61", 62], + ["8140", "\u3000\u3001\u3002\uFF0C\uFF0E\u30FB\uFF1A\uFF1B\uFF1F\uFF01\u309B\u309C\xB4\uFF40\xA8\uFF3E\uFFE3\uFF3F\u30FD\u30FE\u309D\u309E\u3003\u4EDD\u3005\u3006\u3007\u30FC\u2015\u2010\uFF0F\uFF3C\uFF5E\u2225\uFF5C\u2026\u2025\u2018\u2019\u201C\u201D\uFF08\uFF09\u3014\u3015\uFF3B\uFF3D\uFF5B\uFF5D\u3008", 9, "\uFF0B\uFF0D\xB1\xD7"], + ["8180", "\xF7\uFF1D\u2260\uFF1C\uFF1E\u2266\u2267\u221E\u2234\u2642\u2640\xB0\u2032\u2033\u2103\uFFE5\uFF04\uFFE0\uFFE1\uFF05\uFF03\uFF06\uFF0A\uFF20\xA7\u2606\u2605\u25CB\u25CF\u25CE\u25C7\u25C6\u25A1\u25A0\u25B3\u25B2\u25BD\u25BC\u203B\u3012\u2192\u2190\u2191\u2193\u3013"], + ["81b8", "\u2208\u220B\u2286\u2287\u2282\u2283\u222A\u2229"], + ["81c8", "\u2227\u2228\uFFE2\u21D2\u21D4\u2200\u2203"], + ["81da", "\u2220\u22A5\u2312\u2202\u2207\u2261\u2252\u226A\u226B\u221A\u223D\u221D\u2235\u222B\u222C"], + ["81f0", "\u212B\u2030\u266F\u266D\u266A\u2020\u2021\xB6"], + ["81fc", "\u25EF"], + ["824f", "\uFF10", 9], + ["8260", "\uFF21", 25], + ["8281", "\uFF41", 25], + ["829f", "\u3041", 82], + ["8340", "\u30A1", 62], + ["8380", "\u30E0", 22], + ["839f", "\u0391", 16, "\u03A3", 6], + ["83bf", "\u03B1", 16, "\u03C3", 6], + ["8440", "\u0410", 5, "\u0401\u0416", 25], + ["8470", "\u0430", 5, "\u0451\u0436", 7], + ["8480", "\u043E", 17], + ["849f", "\u2500\u2502\u250C\u2510\u2518\u2514\u251C\u252C\u2524\u2534\u253C\u2501\u2503\u250F\u2513\u251B\u2517\u2523\u2533\u252B\u253B\u254B\u2520\u252F\u2528\u2537\u253F\u251D\u2530\u2525\u2538\u2542"], + ["8740", "\u2460", 19, "\u2160", 9], + ["875f", "\u3349\u3314\u3322\u334D\u3318\u3327\u3303\u3336\u3351\u3357\u330D\u3326\u3323\u332B\u334A\u333B\u339C\u339D\u339E\u338E\u338F\u33C4\u33A1"], + ["877e", "\u337B"], + ["8780", "\u301D\u301F\u2116\u33CD\u2121\u32A4", 4, "\u3231\u3232\u3239\u337E\u337D\u337C\u2252\u2261\u222B\u222E\u2211\u221A\u22A5\u2220\u221F\u22BF\u2235\u2229\u222A"], + ["889f", "\u4E9C\u5516\u5A03\u963F\u54C0\u611B\u6328\u59F6\u9022\u8475\u831C\u7A50\u60AA\u63E1\u6E25\u65ED\u8466\u82A6\u9BF5\u6893\u5727\u65A1\u6271\u5B9B\u59D0\u867B\u98F4\u7D62\u7DBE\u9B8E\u6216\u7C9F\u88B7\u5B89\u5EB5\u6309\u6697\u6848\u95C7\u978D\u674F\u4EE5\u4F0A\u4F4D\u4F9D\u5049\u56F2\u5937\u59D4\u5A01\u5C09\u60DF\u610F\u6170\u6613\u6905\u70BA\u754F\u7570\u79FB\u7DAD\u7DEF\u80C3\u840E\u8863\u8B02\u9055\u907A\u533B\u4E95\u4EA5\u57DF\u80B2\u90C1\u78EF\u4E00\u58F1\u6EA2\u9038\u7A32\u8328\u828B\u9C2F\u5141\u5370\u54BD\u54E1\u56E0\u59FB\u5F15\u98F2\u6DEB\u80E4\u852D"], + ["8940", "\u9662\u9670\u96A0\u97FB\u540B\u53F3\u5B87\u70CF\u7FBD\u8FC2\u96E8\u536F\u9D5C\u7ABA\u4E11\u7893\u81FC\u6E26\u5618\u5504\u6B1D\u851A\u9C3B\u59E5\u53A9\u6D66\u74DC\u958F\u5642\u4E91\u904B\u96F2\u834F\u990C\u53E1\u55B6\u5B30\u5F71\u6620\u66F3\u6804\u6C38\u6CF3\u6D29\u745B\u76C8\u7A4E\u9834\u82F1\u885B\u8A60\u92ED\u6DB2\u75AB\u76CA\u99C5\u60A6\u8B01\u8D8A\u95B2\u698E\u53AD\u5186"], + ["8980", "\u5712\u5830\u5944\u5BB4\u5EF6\u6028\u63A9\u63F4\u6CBF\u6F14\u708E\u7114\u7159\u71D5\u733F\u7E01\u8276\u82D1\u8597\u9060\u925B\u9D1B\u5869\u65BC\u6C5A\u7525\u51F9\u592E\u5965\u5F80\u5FDC\u62BC\u65FA\u6A2A\u6B27\u6BB4\u738B\u7FC1\u8956\u9D2C\u9D0E\u9EC4\u5CA1\u6C96\u837B\u5104\u5C4B\u61B6\u81C6\u6876\u7261\u4E59\u4FFA\u5378\u6069\u6E29\u7A4F\u97F3\u4E0B\u5316\u4EEE\u4F55\u4F3D\u4FA1\u4F73\u52A0\u53EF\u5609\u590F\u5AC1\u5BB6\u5BE1\u79D1\u6687\u679C\u67B6\u6B4C\u6CB3\u706B\u73C2\u798D\u79BE\u7A3C\u7B87\u82B1\u82DB\u8304\u8377\u83EF\u83D3\u8766\u8AB2\u5629\u8CA8\u8FE6\u904E\u971E\u868A\u4FC4\u5CE8\u6211\u7259\u753B\u81E5\u82BD\u86FE\u8CC0\u96C5\u9913\u99D5\u4ECB\u4F1A\u89E3\u56DE\u584A\u58CA\u5EFB\u5FEB\u602A\u6094\u6062\u61D0\u6212\u62D0\u6539"], + ["8a40", "\u9B41\u6666\u68B0\u6D77\u7070\u754C\u7686\u7D75\u82A5\u87F9\u958B\u968E\u8C9D\u51F1\u52BE\u5916\u54B3\u5BB3\u5D16\u6168\u6982\u6DAF\u788D\u84CB\u8857\u8A72\u93A7\u9AB8\u6D6C\u99A8\u86D9\u57A3\u67FF\u86CE\u920E\u5283\u5687\u5404\u5ED3\u62E1\u64B9\u683C\u6838\u6BBB\u7372\u78BA\u7A6B\u899A\u89D2\u8D6B\u8F03\u90ED\u95A3\u9694\u9769\u5B66\u5CB3\u697D\u984D\u984E\u639B\u7B20\u6A2B"], + ["8a80", "\u6A7F\u68B6\u9C0D\u6F5F\u5272\u559D\u6070\u62EC\u6D3B\u6E07\u6ED1\u845B\u8910\u8F44\u4E14\u9C39\u53F6\u691B\u6A3A\u9784\u682A\u515C\u7AC3\u84B2\u91DC\u938C\u565B\u9D28\u6822\u8305\u8431\u7CA5\u5208\u82C5\u74E6\u4E7E\u4F83\u51A0\u5BD2\u520A\u52D8\u52E7\u5DFB\u559A\u582A\u59E6\u5B8C\u5B98\u5BDB\u5E72\u5E79\u60A3\u611F\u6163\u61BE\u63DB\u6562\u67D1\u6853\u68FA\u6B3E\u6B53\u6C57\u6F22\u6F97\u6F45\u74B0\u7518\u76E3\u770B\u7AFF\u7BA1\u7C21\u7DE9\u7F36\u7FF0\u809D\u8266\u839E\u89B3\u8ACC\u8CAB\u9084\u9451\u9593\u9591\u95A2\u9665\u97D3\u9928\u8218\u4E38\u542B\u5CB8\u5DCC\u73A9\u764C\u773C\u5CA9\u7FEB\u8D0B\u96C1\u9811\u9854\u9858\u4F01\u4F0E\u5371\u559C\u5668\u57FA\u5947\u5B09\u5BC4\u5C90\u5E0C\u5E7E\u5FCC\u63EE\u673A\u65D7\u65E2\u671F\u68CB\u68C4"], + ["8b40", "\u6A5F\u5E30\u6BC5\u6C17\u6C7D\u757F\u7948\u5B63\u7A00\u7D00\u5FBD\u898F\u8A18\u8CB4\u8D77\u8ECC\u8F1D\u98E2\u9A0E\u9B3C\u4E80\u507D\u5100\u5993\u5B9C\u622F\u6280\u64EC\u6B3A\u72A0\u7591\u7947\u7FA9\u87FB\u8ABC\u8B70\u63AC\u83CA\u97A0\u5409\u5403\u55AB\u6854\u6A58\u8A70\u7827\u6775\u9ECD\u5374\u5BA2\u811A\u8650\u9006\u4E18\u4E45\u4EC7\u4F11\u53CA\u5438\u5BAE\u5F13\u6025\u6551"], + ["8b80", "\u673D\u6C42\u6C72\u6CE3\u7078\u7403\u7A76\u7AAE\u7B08\u7D1A\u7CFE\u7D66\u65E7\u725B\u53BB\u5C45\u5DE8\u62D2\u62E0\u6319\u6E20\u865A\u8A31\u8DDD\u92F8\u6F01\u79A6\u9B5A\u4EA8\u4EAB\u4EAC\u4F9B\u4FA0\u50D1\u5147\u7AF6\u5171\u51F6\u5354\u5321\u537F\u53EB\u55AC\u5883\u5CE1\u5F37\u5F4A\u602F\u6050\u606D\u631F\u6559\u6A4B\u6CC1\u72C2\u72ED\u77EF\u80F8\u8105\u8208\u854E\u90F7\u93E1\u97FF\u9957\u9A5A\u4EF0\u51DD\u5C2D\u6681\u696D\u5C40\u66F2\u6975\u7389\u6850\u7C81\u50C5\u52E4\u5747\u5DFE\u9326\u65A4\u6B23\u6B3D\u7434\u7981\u79BD\u7B4B\u7DCA\u82B9\u83CC\u887F\u895F\u8B39\u8FD1\u91D1\u541F\u9280\u4E5D\u5036\u53E5\u533A\u72D7\u7396\u77E9\u82E6\u8EAF\u99C6\u99C8\u99D2\u5177\u611A\u865E\u55B0\u7A7A\u5076\u5BD3\u9047\u9685\u4E32\u6ADB\u91E7\u5C51\u5C48"], + ["8c40", "\u6398\u7A9F\u6C93\u9774\u8F61\u7AAA\u718A\u9688\u7C82\u6817\u7E70\u6851\u936C\u52F2\u541B\u85AB\u8A13\u7FA4\u8ECD\u90E1\u5366\u8888\u7941\u4FC2\u50BE\u5211\u5144\u5553\u572D\u73EA\u578B\u5951\u5F62\u5F84\u6075\u6176\u6167\u61A9\u63B2\u643A\u656C\u666F\u6842\u6E13\u7566\u7A3D\u7CFB\u7D4C\u7D99\u7E4B\u7F6B\u830E\u834A\u86CD\u8A08\u8A63\u8B66\u8EFD\u981A\u9D8F\u82B8\u8FCE\u9BE8"], + ["8c80", "\u5287\u621F\u6483\u6FC0\u9699\u6841\u5091\u6B20\u6C7A\u6F54\u7A74\u7D50\u8840\u8A23\u6708\u4EF6\u5039\u5026\u5065\u517C\u5238\u5263\u55A7\u570F\u5805\u5ACC\u5EFA\u61B2\u61F8\u62F3\u6372\u691C\u6A29\u727D\u72AC\u732E\u7814\u786F\u7D79\u770C\u80A9\u898B\u8B19\u8CE2\u8ED2\u9063\u9375\u967A\u9855\u9A13\u9E78\u5143\u539F\u53B3\u5E7B\u5F26\u6E1B\u6E90\u7384\u73FE\u7D43\u8237\u8A00\u8AFA\u9650\u4E4E\u500B\u53E4\u547C\u56FA\u59D1\u5B64\u5DF1\u5EAB\u5F27\u6238\u6545\u67AF\u6E56\u72D0\u7CCA\u88B4\u80A1\u80E1\u83F0\u864E\u8A87\u8DE8\u9237\u96C7\u9867\u9F13\u4E94\u4E92\u4F0D\u5348\u5449\u543E\u5A2F\u5F8C\u5FA1\u609F\u68A7\u6A8E\u745A\u7881\u8A9E\u8AA4\u8B77\u9190\u4E5E\u9BC9\u4EA4\u4F7C\u4FAF\u5019\u5016\u5149\u516C\u529F\u52B9\u52FE\u539A\u53E3\u5411"], + ["8d40", "\u540E\u5589\u5751\u57A2\u597D\u5B54\u5B5D\u5B8F\u5DE5\u5DE7\u5DF7\u5E78\u5E83\u5E9A\u5EB7\u5F18\u6052\u614C\u6297\u62D8\u63A7\u653B\u6602\u6643\u66F4\u676D\u6821\u6897\u69CB\u6C5F\u6D2A\u6D69\u6E2F\u6E9D\u7532\u7687\u786C\u7A3F\u7CE0\u7D05\u7D18\u7D5E\u7DB1\u8015\u8003\u80AF\u80B1\u8154\u818F\u822A\u8352\u884C\u8861\u8B1B\u8CA2\u8CFC\u90CA\u9175\u9271\u783F\u92FC\u95A4\u964D"], + ["8d80", "\u9805\u9999\u9AD8\u9D3B\u525B\u52AB\u53F7\u5408\u58D5\u62F7\u6FE0\u8C6A\u8F5F\u9EB9\u514B\u523B\u544A\u56FD\u7A40\u9177\u9D60\u9ED2\u7344\u6F09\u8170\u7511\u5FFD\u60DA\u9AA8\u72DB\u8FBC\u6B64\u9803\u4ECA\u56F0\u5764\u58BE\u5A5A\u6068\u61C7\u660F\u6606\u6839\u68B1\u6DF7\u75D5\u7D3A\u826E\u9B42\u4E9B\u4F50\u53C9\u5506\u5D6F\u5DE6\u5DEE\u67FB\u6C99\u7473\u7802\u8A50\u9396\u88DF\u5750\u5EA7\u632B\u50B5\u50AC\u518D\u6700\u54C9\u585E\u59BB\u5BB0\u5F69\u624D\u63A1\u683D\u6B73\u6E08\u707D\u91C7\u7280\u7815\u7826\u796D\u658E\u7D30\u83DC\u88C1\u8F09\u969B\u5264\u5728\u6750\u7F6A\u8CA1\u51B4\u5742\u962A\u583A\u698A\u80B4\u54B2\u5D0E\u57FC\u7895\u9DFA\u4F5C\u524A\u548B\u643E\u6628\u6714\u67F5\u7A84\u7B56\u7D22\u932F\u685C\u9BAD\u7B39\u5319\u518A\u5237"], + ["8e40", "\u5BDF\u62F6\u64AE\u64E6\u672D\u6BBA\u85A9\u96D1\u7690\u9BD6\u634C\u9306\u9BAB\u76BF\u6652\u4E09\u5098\u53C2\u5C71\u60E8\u6492\u6563\u685F\u71E6\u73CA\u7523\u7B97\u7E82\u8695\u8B83\u8CDB\u9178\u9910\u65AC\u66AB\u6B8B\u4ED5\u4ED4\u4F3A\u4F7F\u523A\u53F8\u53F2\u55E3\u56DB\u58EB\u59CB\u59C9\u59FF\u5B50\u5C4D\u5E02\u5E2B\u5FD7\u601D\u6307\u652F\u5B5C\u65AF\u65BD\u65E8\u679D\u6B62"], + ["8e80", "\u6B7B\u6C0F\u7345\u7949\u79C1\u7CF8\u7D19\u7D2B\u80A2\u8102\u81F3\u8996\u8A5E\u8A69\u8A66\u8A8C\u8AEE\u8CC7\u8CDC\u96CC\u98FC\u6B6F\u4E8B\u4F3C\u4F8D\u5150\u5B57\u5BFA\u6148\u6301\u6642\u6B21\u6ECB\u6CBB\u723E\u74BD\u75D4\u78C1\u793A\u800C\u8033\u81EA\u8494\u8F9E\u6C50\u9E7F\u5F0F\u8B58\u9D2B\u7AFA\u8EF8\u5B8D\u96EB\u4E03\u53F1\u57F7\u5931\u5AC9\u5BA4\u6089\u6E7F\u6F06\u75BE\u8CEA\u5B9F\u8500\u7BE0\u5072\u67F4\u829D\u5C61\u854A\u7E1E\u820E\u5199\u5C04\u6368\u8D66\u659C\u716E\u793E\u7D17\u8005\u8B1D\u8ECA\u906E\u86C7\u90AA\u501F\u52FA\u5C3A\u6753\u707C\u7235\u914C\u91C8\u932B\u82E5\u5BC2\u5F31\u60F9\u4E3B\u53D6\u5B88\u624B\u6731\u6B8A\u72E9\u73E0\u7A2E\u816B\u8DA3\u9152\u9996\u5112\u53D7\u546A\u5BFF\u6388\u6A39\u7DAC\u9700\u56DA\u53CE\u5468"], + ["8f40", "\u5B97\u5C31\u5DDE\u4FEE\u6101\u62FE\u6D32\u79C0\u79CB\u7D42\u7E4D\u7FD2\u81ED\u821F\u8490\u8846\u8972\u8B90\u8E74\u8F2F\u9031\u914B\u916C\u96C6\u919C\u4EC0\u4F4F\u5145\u5341\u5F93\u620E\u67D4\u6C41\u6E0B\u7363\u7E26\u91CD\u9283\u53D4\u5919\u5BBF\u6DD1\u795D\u7E2E\u7C9B\u587E\u719F\u51FA\u8853\u8FF0\u4FCA\u5CFB\u6625\u77AC\u7AE3\u821C\u99FF\u51C6\u5FAA\u65EC\u696F\u6B89\u6DF3"], + ["8f80", "\u6E96\u6F64\u76FE\u7D14\u5DE1\u9075\u9187\u9806\u51E6\u521D\u6240\u6691\u66D9\u6E1A\u5EB6\u7DD2\u7F72\u66F8\u85AF\u85F7\u8AF8\u52A9\u53D9\u5973\u5E8F\u5F90\u6055\u92E4\u9664\u50B7\u511F\u52DD\u5320\u5347\u53EC\u54E8\u5546\u5531\u5617\u5968\u59BE\u5A3C\u5BB5\u5C06\u5C0F\u5C11\u5C1A\u5E84\u5E8A\u5EE0\u5F70\u627F\u6284\u62DB\u638C\u6377\u6607\u660C\u662D\u6676\u677E\u68A2\u6A1F\u6A35\u6CBC\u6D88\u6E09\u6E58\u713C\u7126\u7167\u75C7\u7701\u785D\u7901\u7965\u79F0\u7AE0\u7B11\u7CA7\u7D39\u8096\u83D6\u848B\u8549\u885D\u88F3\u8A1F\u8A3C\u8A54\u8A73\u8C61\u8CDE\u91A4\u9266\u937E\u9418\u969C\u9798\u4E0A\u4E08\u4E1E\u4E57\u5197\u5270\u57CE\u5834\u58CC\u5B22\u5E38\u60C5\u64FE\u6761\u6756\u6D44\u72B6\u7573\u7A63\u84B8\u8B72\u91B8\u9320\u5631\u57F4\u98FE"], + ["9040", "\u62ED\u690D\u6B96\u71ED\u7E54\u8077\u8272\u89E6\u98DF\u8755\u8FB1\u5C3B\u4F38\u4FE1\u4FB5\u5507\u5A20\u5BDD\u5BE9\u5FC3\u614E\u632F\u65B0\u664B\u68EE\u699B\u6D78\u6DF1\u7533\u75B9\u771F\u795E\u79E6\u7D33\u81E3\u82AF\u85AA\u89AA\u8A3A\u8EAB\u8F9B\u9032\u91DD\u9707\u4EBA\u4EC1\u5203\u5875\u58EC\u5C0B\u751A\u5C3D\u814E\u8A0A\u8FC5\u9663\u976D\u7B25\u8ACF\u9808\u9162\u56F3\u53A8"], + ["9080", "\u9017\u5439\u5782\u5E25\u63A8\u6C34\u708A\u7761\u7C8B\u7FE0\u8870\u9042\u9154\u9310\u9318\u968F\u745E\u9AC4\u5D07\u5D69\u6570\u67A2\u8DA8\u96DB\u636E\u6749\u6919\u83C5\u9817\u96C0\u88FE\u6F84\u647A\u5BF8\u4E16\u702C\u755D\u662F\u51C4\u5236\u52E2\u59D3\u5F81\u6027\u6210\u653F\u6574\u661F\u6674\u68F2\u6816\u6B63\u6E05\u7272\u751F\u76DB\u7CBE\u8056\u58F0\u88FD\u897F\u8AA0\u8A93\u8ACB\u901D\u9192\u9752\u9759\u6589\u7A0E\u8106\u96BB\u5E2D\u60DC\u621A\u65A5\u6614\u6790\u77F3\u7A4D\u7C4D\u7E3E\u810A\u8CAC\u8D64\u8DE1\u8E5F\u78A9\u5207\u62D9\u63A5\u6442\u6298\u8A2D\u7A83\u7BC0\u8AAC\u96EA\u7D76\u820C\u8749\u4ED9\u5148\u5343\u5360\u5BA3\u5C02\u5C16\u5DDD\u6226\u6247\u64B0\u6813\u6834\u6CC9\u6D45\u6D17\u67D3\u6F5C\u714E\u717D\u65CB\u7A7F\u7BAD\u7DDA"], + ["9140", "\u7E4A\u7FA8\u817A\u821B\u8239\u85A6\u8A6E\u8CCE\u8DF5\u9078\u9077\u92AD\u9291\u9583\u9BAE\u524D\u5584\u6F38\u7136\u5168\u7985\u7E55\u81B3\u7CCE\u564C\u5851\u5CA8\u63AA\u66FE\u66FD\u695A\u72D9\u758F\u758E\u790E\u7956\u79DF\u7C97\u7D20\u7D44\u8607\u8A34\u963B\u9061\u9F20\u50E7\u5275\u53CC\u53E2\u5009\u55AA\u58EE\u594F\u723D\u5B8B\u5C64\u531D\u60E3\u60F3\u635C\u6383\u633F\u63BB"], + ["9180", "\u64CD\u65E9\u66F9\u5DE3\u69CD\u69FD\u6F15\u71E5\u4E89\u75E9\u76F8\u7A93\u7CDF\u7DCF\u7D9C\u8061\u8349\u8358\u846C\u84BC\u85FB\u88C5\u8D70\u9001\u906D\u9397\u971C\u9A12\u50CF\u5897\u618E\u81D3\u8535\u8D08\u9020\u4FC3\u5074\u5247\u5373\u606F\u6349\u675F\u6E2C\u8DB3\u901F\u4FD7\u5C5E\u8CCA\u65CF\u7D9A\u5352\u8896\u5176\u63C3\u5B58\u5B6B\u5C0A\u640D\u6751\u905C\u4ED6\u591A\u592A\u6C70\u8A51\u553E\u5815\u59A5\u60F0\u6253\u67C1\u8235\u6955\u9640\u99C4\u9A28\u4F53\u5806\u5BFE\u8010\u5CB1\u5E2F\u5F85\u6020\u614B\u6234\u66FF\u6CF0\u6EDE\u80CE\u817F\u82D4\u888B\u8CB8\u9000\u902E\u968A\u9EDB\u9BDB\u4EE3\u53F0\u5927\u7B2C\u918D\u984C\u9DF9\u6EDD\u7027\u5353\u5544\u5B85\u6258\u629E\u62D3\u6CA2\u6FEF\u7422\u8A17\u9438\u6FC1\u8AFE\u8338\u51E7\u86F8\u53EA"], + ["9240", "\u53E9\u4F46\u9054\u8FB0\u596A\u8131\u5DFD\u7AEA\u8FBF\u68DA\u8C37\u72F8\u9C48\u6A3D\u8AB0\u4E39\u5358\u5606\u5766\u62C5\u63A2\u65E6\u6B4E\u6DE1\u6E5B\u70AD\u77ED\u7AEF\u7BAA\u7DBB\u803D\u80C6\u86CB\u8A95\u935B\u56E3\u58C7\u5F3E\u65AD\u6696\u6A80\u6BB5\u7537\u8AC7\u5024\u77E5\u5730\u5F1B\u6065\u667A\u6C60\u75F4\u7A1A\u7F6E\u81F4\u8718\u9045\u99B3\u7BC9\u755C\u7AF9\u7B51\u84C4"], + ["9280", "\u9010\u79E9\u7A92\u8336\u5AE1\u7740\u4E2D\u4EF2\u5B99\u5FE0\u62BD\u663C\u67F1\u6CE8\u866B\u8877\u8A3B\u914E\u92F3\u99D0\u6A17\u7026\u732A\u82E7\u8457\u8CAF\u4E01\u5146\u51CB\u558B\u5BF5\u5E16\u5E33\u5E81\u5F14\u5F35\u5F6B\u5FB4\u61F2\u6311\u66A2\u671D\u6F6E\u7252\u753A\u773A\u8074\u8139\u8178\u8776\u8ABF\u8ADC\u8D85\u8DF3\u929A\u9577\u9802\u9CE5\u52C5\u6357\u76F4\u6715\u6C88\u73CD\u8CC3\u93AE\u9673\u6D25\u589C\u690E\u69CC\u8FFD\u939A\u75DB\u901A\u585A\u6802\u63B4\u69FB\u4F43\u6F2C\u67D8\u8FBB\u8526\u7DB4\u9354\u693F\u6F70\u576A\u58F7\u5B2C\u7D2C\u722A\u540A\u91E3\u9DB4\u4EAD\u4F4E\u505C\u5075\u5243\u8C9E\u5448\u5824\u5B9A\u5E1D\u5E95\u5EAD\u5EF7\u5F1F\u608C\u62B5\u633A\u63D0\u68AF\u6C40\u7887\u798E\u7A0B\u7DE0\u8247\u8A02\u8AE6\u8E44\u9013"], + ["9340", "\u90B8\u912D\u91D8\u9F0E\u6CE5\u6458\u64E2\u6575\u6EF4\u7684\u7B1B\u9069\u93D1\u6EBA\u54F2\u5FB9\u64A4\u8F4D\u8FED\u9244\u5178\u586B\u5929\u5C55\u5E97\u6DFB\u7E8F\u751C\u8CBC\u8EE2\u985B\u70B9\u4F1D\u6BBF\u6FB1\u7530\u96FB\u514E\u5410\u5835\u5857\u59AC\u5C60\u5F92\u6597\u675C\u6E21\u767B\u83DF\u8CED\u9014\u90FD\u934D\u7825\u783A\u52AA\u5EA6\u571F\u5974\u6012\u5012\u515A\u51AC"], + ["9380", "\u51CD\u5200\u5510\u5854\u5858\u5957\u5B95\u5CF6\u5D8B\u60BC\u6295\u642D\u6771\u6843\u68BC\u68DF\u76D7\u6DD8\u6E6F\u6D9B\u706F\u71C8\u5F53\u75D8\u7977\u7B49\u7B54\u7B52\u7CD6\u7D71\u5230\u8463\u8569\u85E4\u8A0E\u8B04\u8C46\u8E0F\u9003\u900F\u9419\u9676\u982D\u9A30\u95D8\u50CD\u52D5\u540C\u5802\u5C0E\u61A7\u649E\u6D1E\u77B3\u7AE5\u80F4\u8404\u9053\u9285\u5CE0\u9D07\u533F\u5F97\u5FB3\u6D9C\u7279\u7763\u79BF\u7BE4\u6BD2\u72EC\u8AAD\u6803\u6A61\u51F8\u7A81\u6934\u5C4A\u9CF6\u82EB\u5BC5\u9149\u701E\u5678\u5C6F\u60C7\u6566\u6C8C\u8C5A\u9041\u9813\u5451\u66C7\u920D\u5948\u90A3\u5185\u4E4D\u51EA\u8599\u8B0E\u7058\u637A\u934B\u6962\u99B4\u7E04\u7577\u5357\u6960\u8EDF\u96E3\u6C5D\u4E8C\u5C3C\u5F10\u8FE9\u5302\u8CD1\u8089\u8679\u5EFF\u65E5\u4E73\u5165"], + ["9440", "\u5982\u5C3F\u97EE\u4EFB\u598A\u5FCD\u8A8D\u6FE1\u79B0\u7962\u5BE7\u8471\u732B\u71B1\u5E74\u5FF5\u637B\u649A\u71C3\u7C98\u4E43\u5EFC\u4E4B\u57DC\u56A2\u60A9\u6FC3\u7D0D\u80FD\u8133\u81BF\u8FB2\u8997\u86A4\u5DF4\u628A\u64AD\u8987\u6777\u6CE2\u6D3E\u7436\u7834\u5A46\u7F75\u82AD\u99AC\u4FF3\u5EC3\u62DD\u6392\u6557\u676F\u76C3\u724C\u80CC\u80BA\u8F29\u914D\u500D\u57F9\u5A92\u6885"], + ["9480", "\u6973\u7164\u72FD\u8CB7\u58F2\u8CE0\u966A\u9019\u877F\u79E4\u77E7\u8429\u4F2F\u5265\u535A\u62CD\u67CF\u6CCA\u767D\u7B94\u7C95\u8236\u8584\u8FEB\u66DD\u6F20\u7206\u7E1B\u83AB\u99C1\u9EA6\u51FD\u7BB1\u7872\u7BB8\u8087\u7B48\u6AE8\u5E61\u808C\u7551\u7560\u516B\u9262\u6E8C\u767A\u9197\u9AEA\u4F10\u7F70\u629C\u7B4F\u95A5\u9CE9\u567A\u5859\u86E4\u96BC\u4F34\u5224\u534A\u53CD\u53DB\u5E06\u642C\u6591\u677F\u6C3E\u6C4E\u7248\u72AF\u73ED\u7554\u7E41\u822C\u85E9\u8CA9\u7BC4\u91C6\u7169\u9812\u98EF\u633D\u6669\u756A\u76E4\u78D0\u8543\u86EE\u532A\u5351\u5426\u5983\u5E87\u5F7C\u60B2\u6249\u6279\u62AB\u6590\u6BD4\u6CCC\u75B2\u76AE\u7891\u79D8\u7DCB\u7F77\u80A5\u88AB\u8AB9\u8CBB\u907F\u975E\u98DB\u6A0B\u7C38\u5099\u5C3E\u5FAE\u6787\u6BD8\u7435\u7709\u7F8E"], + ["9540", "\u9F3B\u67CA\u7A17\u5339\u758B\u9AED\u5F66\u819D\u83F1\u8098\u5F3C\u5FC5\u7562\u7B46\u903C\u6867\u59EB\u5A9B\u7D10\u767E\u8B2C\u4FF5\u5F6A\u6A19\u6C37\u6F02\u74E2\u7968\u8868\u8A55\u8C79\u5EDF\u63CF\u75C5\u79D2\u82D7\u9328\u92F2\u849C\u86ED\u9C2D\u54C1\u5F6C\u658C\u6D5C\u7015\u8CA7\u8CD3\u983B\u654F\u74F6\u4E0D\u4ED8\u57E0\u592B\u5A66\u5BCC\u51A8\u5E03\u5E9C\u6016\u6276\u6577"], + ["9580", "\u65A7\u666E\u6D6E\u7236\u7B26\u8150\u819A\u8299\u8B5C\u8CA0\u8CE6\u8D74\u961C\u9644\u4FAE\u64AB\u6B66\u821E\u8461\u856A\u90E8\u5C01\u6953\u98A8\u847A\u8557\u4F0F\u526F\u5FA9\u5E45\u670D\u798F\u8179\u8907\u8986\u6DF5\u5F17\u6255\u6CB8\u4ECF\u7269\u9B92\u5206\u543B\u5674\u58B3\u61A4\u626E\u711A\u596E\u7C89\u7CDE\u7D1B\u96F0\u6587\u805E\u4E19\u4F75\u5175\u5840\u5E63\u5E73\u5F0A\u67C4\u4E26\u853D\u9589\u965B\u7C73\u9801\u50FB\u58C1\u7656\u78A7\u5225\u77A5\u8511\u7B86\u504F\u5909\u7247\u7BC7\u7DE8\u8FBA\u8FD4\u904D\u4FBF\u52C9\u5A29\u5F01\u97AD\u4FDD\u8217\u92EA\u5703\u6355\u6B69\u752B\u88DC\u8F14\u7A42\u52DF\u5893\u6155\u620A\u66AE\u6BCD\u7C3F\u83E9\u5023\u4FF8\u5305\u5446\u5831\u5949\u5B9D\u5CF0\u5CEF\u5D29\u5E96\u62B1\u6367\u653E\u65B9\u670B"], + ["9640", "\u6CD5\u6CE1\u70F9\u7832\u7E2B\u80DE\u82B3\u840C\u84EC\u8702\u8912\u8A2A\u8C4A\u90A6\u92D2\u98FD\u9CF3\u9D6C\u4E4F\u4EA1\u508D\u5256\u574A\u59A8\u5E3D\u5FD8\u5FD9\u623F\u66B4\u671B\u67D0\u68D2\u5192\u7D21\u80AA\u81A8\u8B00\u8C8C\u8CBF\u927E\u9632\u5420\u982C\u5317\u50D5\u535C\u58A8\u64B2\u6734\u7267\u7766\u7A46\u91E6\u52C3\u6CA1\u6B86\u5800\u5E4C\u5954\u672C\u7FFB\u51E1\u76C6"], + ["9680", "\u6469\u78E8\u9B54\u9EBB\u57CB\u59B9\u6627\u679A\u6BCE\u54E9\u69D9\u5E55\u819C\u6795\u9BAA\u67FE\u9C52\u685D\u4EA6\u4FE3\u53C8\u62B9\u672B\u6CAB\u8FC4\u4FAD\u7E6D\u9EBF\u4E07\u6162\u6E80\u6F2B\u8513\u5473\u672A\u9B45\u5DF3\u7B95\u5CAC\u5BC6\u871C\u6E4A\u84D1\u7A14\u8108\u5999\u7C8D\u6C11\u7720\u52D9\u5922\u7121\u725F\u77DB\u9727\u9D61\u690B\u5A7F\u5A18\u51A5\u540D\u547D\u660E\u76DF\u8FF7\u9298\u9CF4\u59EA\u725D\u6EC5\u514D\u68C9\u7DBF\u7DEC\u9762\u9EBA\u6478\u6A21\u8302\u5984\u5B5F\u6BDB\u731B\u76F2\u7DB2\u8017\u8499\u5132\u6728\u9ED9\u76EE\u6762\u52FF\u9905\u5C24\u623B\u7C7E\u8CB0\u554F\u60B6\u7D0B\u9580\u5301\u4E5F\u51B6\u591C\u723A\u8036\u91CE\u5F25\u77E2\u5384\u5F79\u7D04\u85AC\u8A33\u8E8D\u9756\u67F3\u85AE\u9453\u6109\u6108\u6CB9\u7652"], + ["9740", "\u8AED\u8F38\u552F\u4F51\u512A\u52C7\u53CB\u5BA5\u5E7D\u60A0\u6182\u63D6\u6709\u67DA\u6E67\u6D8C\u7336\u7337\u7531\u7950\u88D5\u8A98\u904A\u9091\u90F5\u96C4\u878D\u5915\u4E88\u4F59\u4E0E\u8A89\u8F3F\u9810\u50AD\u5E7C\u5996\u5BB9\u5EB8\u63DA\u63FA\u64C1\u66DC\u694A\u69D8\u6D0B\u6EB6\u7194\u7528\u7AAF\u7F8A\u8000\u8449\u84C9\u8981\u8B21\u8E0A\u9065\u967D\u990A\u617E\u6291\u6B32"], + ["9780", "\u6C83\u6D74\u7FCC\u7FFC\u6DC0\u7F85\u87BA\u88F8\u6765\u83B1\u983C\u96F7\u6D1B\u7D61\u843D\u916A\u4E71\u5375\u5D50\u6B04\u6FEB\u85CD\u862D\u89A7\u5229\u540F\u5C65\u674E\u68A8\u7406\u7483\u75E2\u88CF\u88E1\u91CC\u96E2\u9678\u5F8B\u7387\u7ACB\u844E\u63A0\u7565\u5289\u6D41\u6E9C\u7409\u7559\u786B\u7C92\u9686\u7ADC\u9F8D\u4FB6\u616E\u65C5\u865C\u4E86\u4EAE\u50DA\u4E21\u51CC\u5BEE\u6599\u6881\u6DBC\u731F\u7642\u77AD\u7A1C\u7CE7\u826F\u8AD2\u907C\u91CF\u9675\u9818\u529B\u7DD1\u502B\u5398\u6797\u6DCB\u71D0\u7433\u81E8\u8F2A\u96A3\u9C57\u9E9F\u7460\u5841\u6D99\u7D2F\u985E\u4EE4\u4F36\u4F8B\u51B7\u52B1\u5DBA\u601C\u73B2\u793C\u82D3\u9234\u96B7\u96F6\u970A\u9E97\u9F62\u66A6\u6B74\u5217\u52A3\u70C8\u88C2\u5EC9\u604B\u6190\u6F23\u7149\u7C3E\u7DF4\u806F"], + ["9840", "\u84EE\u9023\u932C\u5442\u9B6F\u6AD3\u7089\u8CC2\u8DEF\u9732\u52B4\u5A41\u5ECA\u5F04\u6717\u697C\u6994\u6D6A\u6F0F\u7262\u72FC\u7BED\u8001\u807E\u874B\u90CE\u516D\u9E93\u7984\u808B\u9332\u8AD6\u502D\u548C\u8A71\u6B6A\u8CC4\u8107\u60D1\u67A0\u9DF2\u4E99\u4E98\u9C10\u8A6B\u85C1\u8568\u6900\u6E7E\u7897\u8155"], + ["989f", "\u5F0C\u4E10\u4E15\u4E2A\u4E31\u4E36\u4E3C\u4E3F\u4E42\u4E56\u4E58\u4E82\u4E85\u8C6B\u4E8A\u8212\u5F0D\u4E8E\u4E9E\u4E9F\u4EA0\u4EA2\u4EB0\u4EB3\u4EB6\u4ECE\u4ECD\u4EC4\u4EC6\u4EC2\u4ED7\u4EDE\u4EED\u4EDF\u4EF7\u4F09\u4F5A\u4F30\u4F5B\u4F5D\u4F57\u4F47\u4F76\u4F88\u4F8F\u4F98\u4F7B\u4F69\u4F70\u4F91\u4F6F\u4F86\u4F96\u5118\u4FD4\u4FDF\u4FCE\u4FD8\u4FDB\u4FD1\u4FDA\u4FD0\u4FE4\u4FE5\u501A\u5028\u5014\u502A\u5025\u5005\u4F1C\u4FF6\u5021\u5029\u502C\u4FFE\u4FEF\u5011\u5006\u5043\u5047\u6703\u5055\u5050\u5048\u505A\u5056\u506C\u5078\u5080\u509A\u5085\u50B4\u50B2"], + ["9940", "\u50C9\u50CA\u50B3\u50C2\u50D6\u50DE\u50E5\u50ED\u50E3\u50EE\u50F9\u50F5\u5109\u5101\u5102\u5116\u5115\u5114\u511A\u5121\u513A\u5137\u513C\u513B\u513F\u5140\u5152\u514C\u5154\u5162\u7AF8\u5169\u516A\u516E\u5180\u5182\u56D8\u518C\u5189\u518F\u5191\u5193\u5195\u5196\u51A4\u51A6\u51A2\u51A9\u51AA\u51AB\u51B3\u51B1\u51B2\u51B0\u51B5\u51BD\u51C5\u51C9\u51DB\u51E0\u8655\u51E9\u51ED"], + ["9980", "\u51F0\u51F5\u51FE\u5204\u520B\u5214\u520E\u5227\u522A\u522E\u5233\u5239\u524F\u5244\u524B\u524C\u525E\u5254\u526A\u5274\u5269\u5273\u527F\u527D\u528D\u5294\u5292\u5271\u5288\u5291\u8FA8\u8FA7\u52AC\u52AD\u52BC\u52B5\u52C1\u52CD\u52D7\u52DE\u52E3\u52E6\u98ED\u52E0\u52F3\u52F5\u52F8\u52F9\u5306\u5308\u7538\u530D\u5310\u530F\u5315\u531A\u5323\u532F\u5331\u5333\u5338\u5340\u5346\u5345\u4E17\u5349\u534D\u51D6\u535E\u5369\u536E\u5918\u537B\u5377\u5382\u5396\u53A0\u53A6\u53A5\u53AE\u53B0\u53B6\u53C3\u7C12\u96D9\u53DF\u66FC\u71EE\u53EE\u53E8\u53ED\u53FA\u5401\u543D\u5440\u542C\u542D\u543C\u542E\u5436\u5429\u541D\u544E\u548F\u5475\u548E\u545F\u5471\u5477\u5470\u5492\u547B\u5480\u5476\u5484\u5490\u5486\u54C7\u54A2\u54B8\u54A5\u54AC\u54C4\u54C8\u54A8"], + ["9a40", "\u54AB\u54C2\u54A4\u54BE\u54BC\u54D8\u54E5\u54E6\u550F\u5514\u54FD\u54EE\u54ED\u54FA\u54E2\u5539\u5540\u5563\u554C\u552E\u555C\u5545\u5556\u5557\u5538\u5533\u555D\u5599\u5580\u54AF\u558A\u559F\u557B\u557E\u5598\u559E\u55AE\u557C\u5583\u55A9\u5587\u55A8\u55DA\u55C5\u55DF\u55C4\u55DC\u55E4\u55D4\u5614\u55F7\u5616\u55FE\u55FD\u561B\u55F9\u564E\u5650\u71DF\u5634\u5636\u5632\u5638"], + ["9a80", "\u566B\u5664\u562F\u566C\u566A\u5686\u5680\u568A\u56A0\u5694\u568F\u56A5\u56AE\u56B6\u56B4\u56C2\u56BC\u56C1\u56C3\u56C0\u56C8\u56CE\u56D1\u56D3\u56D7\u56EE\u56F9\u5700\u56FF\u5704\u5709\u5708\u570B\u570D\u5713\u5718\u5716\u55C7\u571C\u5726\u5737\u5738\u574E\u573B\u5740\u574F\u5769\u57C0\u5788\u5761\u577F\u5789\u5793\u57A0\u57B3\u57A4\u57AA\u57B0\u57C3\u57C6\u57D4\u57D2\u57D3\u580A\u57D6\u57E3\u580B\u5819\u581D\u5872\u5821\u5862\u584B\u5870\u6BC0\u5852\u583D\u5879\u5885\u58B9\u589F\u58AB\u58BA\u58DE\u58BB\u58B8\u58AE\u58C5\u58D3\u58D1\u58D7\u58D9\u58D8\u58E5\u58DC\u58E4\u58DF\u58EF\u58FA\u58F9\u58FB\u58FC\u58FD\u5902\u590A\u5910\u591B\u68A6\u5925\u592C\u592D\u5932\u5938\u593E\u7AD2\u5955\u5950\u594E\u595A\u5958\u5962\u5960\u5967\u596C\u5969"], + ["9b40", "\u5978\u5981\u599D\u4F5E\u4FAB\u59A3\u59B2\u59C6\u59E8\u59DC\u598D\u59D9\u59DA\u5A25\u5A1F\u5A11\u5A1C\u5A09\u5A1A\u5A40\u5A6C\u5A49\u5A35\u5A36\u5A62\u5A6A\u5A9A\u5ABC\u5ABE\u5ACB\u5AC2\u5ABD\u5AE3\u5AD7\u5AE6\u5AE9\u5AD6\u5AFA\u5AFB\u5B0C\u5B0B\u5B16\u5B32\u5AD0\u5B2A\u5B36\u5B3E\u5B43\u5B45\u5B40\u5B51\u5B55\u5B5A\u5B5B\u5B65\u5B69\u5B70\u5B73\u5B75\u5B78\u6588\u5B7A\u5B80"], + ["9b80", "\u5B83\u5BA6\u5BB8\u5BC3\u5BC7\u5BC9\u5BD4\u5BD0\u5BE4\u5BE6\u5BE2\u5BDE\u5BE5\u5BEB\u5BF0\u5BF6\u5BF3\u5C05\u5C07\u5C08\u5C0D\u5C13\u5C20\u5C22\u5C28\u5C38\u5C39\u5C41\u5C46\u5C4E\u5C53\u5C50\u5C4F\u5B71\u5C6C\u5C6E\u4E62\u5C76\u5C79\u5C8C\u5C91\u5C94\u599B\u5CAB\u5CBB\u5CB6\u5CBC\u5CB7\u5CC5\u5CBE\u5CC7\u5CD9\u5CE9\u5CFD\u5CFA\u5CED\u5D8C\u5CEA\u5D0B\u5D15\u5D17\u5D5C\u5D1F\u5D1B\u5D11\u5D14\u5D22\u5D1A\u5D19\u5D18\u5D4C\u5D52\u5D4E\u5D4B\u5D6C\u5D73\u5D76\u5D87\u5D84\u5D82\u5DA2\u5D9D\u5DAC\u5DAE\u5DBD\u5D90\u5DB7\u5DBC\u5DC9\u5DCD\u5DD3\u5DD2\u5DD6\u5DDB\u5DEB\u5DF2\u5DF5\u5E0B\u5E1A\u5E19\u5E11\u5E1B\u5E36\u5E37\u5E44\u5E43\u5E40\u5E4E\u5E57\u5E54\u5E5F\u5E62\u5E64\u5E47\u5E75\u5E76\u5E7A\u9EBC\u5E7F\u5EA0\u5EC1\u5EC2\u5EC8\u5ED0\u5ECF"], + ["9c40", "\u5ED6\u5EE3\u5EDD\u5EDA\u5EDB\u5EE2\u5EE1\u5EE8\u5EE9\u5EEC\u5EF1\u5EF3\u5EF0\u5EF4\u5EF8\u5EFE\u5F03\u5F09\u5F5D\u5F5C\u5F0B\u5F11\u5F16\u5F29\u5F2D\u5F38\u5F41\u5F48\u5F4C\u5F4E\u5F2F\u5F51\u5F56\u5F57\u5F59\u5F61\u5F6D\u5F73\u5F77\u5F83\u5F82\u5F7F\u5F8A\u5F88\u5F91\u5F87\u5F9E\u5F99\u5F98\u5FA0\u5FA8\u5FAD\u5FBC\u5FD6\u5FFB\u5FE4\u5FF8\u5FF1\u5FDD\u60B3\u5FFF\u6021\u6060"], + ["9c80", "\u6019\u6010\u6029\u600E\u6031\u601B\u6015\u602B\u6026\u600F\u603A\u605A\u6041\u606A\u6077\u605F\u604A\u6046\u604D\u6063\u6043\u6064\u6042\u606C\u606B\u6059\u6081\u608D\u60E7\u6083\u609A\u6084\u609B\u6096\u6097\u6092\u60A7\u608B\u60E1\u60B8\u60E0\u60D3\u60B4\u5FF0\u60BD\u60C6\u60B5\u60D8\u614D\u6115\u6106\u60F6\u60F7\u6100\u60F4\u60FA\u6103\u6121\u60FB\u60F1\u610D\u610E\u6147\u613E\u6128\u6127\u614A\u613F\u613C\u612C\u6134\u613D\u6142\u6144\u6173\u6177\u6158\u6159\u615A\u616B\u6174\u616F\u6165\u6171\u615F\u615D\u6153\u6175\u6199\u6196\u6187\u61AC\u6194\u619A\u618A\u6191\u61AB\u61AE\u61CC\u61CA\u61C9\u61F7\u61C8\u61C3\u61C6\u61BA\u61CB\u7F79\u61CD\u61E6\u61E3\u61F6\u61FA\u61F4\u61FF\u61FD\u61FC\u61FE\u6200\u6208\u6209\u620D\u620C\u6214\u621B"], + ["9d40", "\u621E\u6221\u622A\u622E\u6230\u6232\u6233\u6241\u624E\u625E\u6263\u625B\u6260\u6268\u627C\u6282\u6289\u627E\u6292\u6293\u6296\u62D4\u6283\u6294\u62D7\u62D1\u62BB\u62CF\u62FF\u62C6\u64D4\u62C8\u62DC\u62CC\u62CA\u62C2\u62C7\u629B\u62C9\u630C\u62EE\u62F1\u6327\u6302\u6308\u62EF\u62F5\u6350\u633E\u634D\u641C\u634F\u6396\u638E\u6380\u63AB\u6376\u63A3\u638F\u6389\u639F\u63B5\u636B"], + ["9d80", "\u6369\u63BE\u63E9\u63C0\u63C6\u63E3\u63C9\u63D2\u63F6\u63C4\u6416\u6434\u6406\u6413\u6426\u6436\u651D\u6417\u6428\u640F\u6467\u646F\u6476\u644E\u652A\u6495\u6493\u64A5\u64A9\u6488\u64BC\u64DA\u64D2\u64C5\u64C7\u64BB\u64D8\u64C2\u64F1\u64E7\u8209\u64E0\u64E1\u62AC\u64E3\u64EF\u652C\u64F6\u64F4\u64F2\u64FA\u6500\u64FD\u6518\u651C\u6505\u6524\u6523\u652B\u6534\u6535\u6537\u6536\u6538\u754B\u6548\u6556\u6555\u654D\u6558\u655E\u655D\u6572\u6578\u6582\u6583\u8B8A\u659B\u659F\u65AB\u65B7\u65C3\u65C6\u65C1\u65C4\u65CC\u65D2\u65DB\u65D9\u65E0\u65E1\u65F1\u6772\u660A\u6603\u65FB\u6773\u6635\u6636\u6634\u661C\u664F\u6644\u6649\u6641\u665E\u665D\u6664\u6667\u6668\u665F\u6662\u6670\u6683\u6688\u668E\u6689\u6684\u6698\u669D\u66C1\u66B9\u66C9\u66BE\u66BC"], + ["9e40", "\u66C4\u66B8\u66D6\u66DA\u66E0\u663F\u66E6\u66E9\u66F0\u66F5\u66F7\u670F\u6716\u671E\u6726\u6727\u9738\u672E\u673F\u6736\u6741\u6738\u6737\u6746\u675E\u6760\u6759\u6763\u6764\u6789\u6770\u67A9\u677C\u676A\u678C\u678B\u67A6\u67A1\u6785\u67B7\u67EF\u67B4\u67EC\u67B3\u67E9\u67B8\u67E4\u67DE\u67DD\u67E2\u67EE\u67B9\u67CE\u67C6\u67E7\u6A9C\u681E\u6846\u6829\u6840\u684D\u6832\u684E"], + ["9e80", "\u68B3\u682B\u6859\u6863\u6877\u687F\u689F\u688F\u68AD\u6894\u689D\u689B\u6883\u6AAE\u68B9\u6874\u68B5\u68A0\u68BA\u690F\u688D\u687E\u6901\u68CA\u6908\u68D8\u6922\u6926\u68E1\u690C\u68CD\u68D4\u68E7\u68D5\u6936\u6912\u6904\u68D7\u68E3\u6925\u68F9\u68E0\u68EF\u6928\u692A\u691A\u6923\u6921\u68C6\u6979\u6977\u695C\u6978\u696B\u6954\u697E\u696E\u6939\u6974\u693D\u6959\u6930\u6961\u695E\u695D\u6981\u696A\u69B2\u69AE\u69D0\u69BF\u69C1\u69D3\u69BE\u69CE\u5BE8\u69CA\u69DD\u69BB\u69C3\u69A7\u6A2E\u6991\u69A0\u699C\u6995\u69B4\u69DE\u69E8\u6A02\u6A1B\u69FF\u6B0A\u69F9\u69F2\u69E7\u6A05\u69B1\u6A1E\u69ED\u6A14\u69EB\u6A0A\u6A12\u6AC1\u6A23\u6A13\u6A44\u6A0C\u6A72\u6A36\u6A78\u6A47\u6A62\u6A59\u6A66\u6A48\u6A38\u6A22\u6A90\u6A8D\u6AA0\u6A84\u6AA2\u6AA3"], + ["9f40", "\u6A97\u8617\u6ABB\u6AC3\u6AC2\u6AB8\u6AB3\u6AAC\u6ADE\u6AD1\u6ADF\u6AAA\u6ADA\u6AEA\u6AFB\u6B05\u8616\u6AFA\u6B12\u6B16\u9B31\u6B1F\u6B38\u6B37\u76DC\u6B39\u98EE\u6B47\u6B43\u6B49\u6B50\u6B59\u6B54\u6B5B\u6B5F\u6B61\u6B78\u6B79\u6B7F\u6B80\u6B84\u6B83\u6B8D\u6B98\u6B95\u6B9E\u6BA4\u6BAA\u6BAB\u6BAF\u6BB2\u6BB1\u6BB3\u6BB7\u6BBC\u6BC6\u6BCB\u6BD3\u6BDF\u6BEC\u6BEB\u6BF3\u6BEF"], + ["9f80", "\u9EBE\u6C08\u6C13\u6C14\u6C1B\u6C24\u6C23\u6C5E\u6C55\u6C62\u6C6A\u6C82\u6C8D\u6C9A\u6C81\u6C9B\u6C7E\u6C68\u6C73\u6C92\u6C90\u6CC4\u6CF1\u6CD3\u6CBD\u6CD7\u6CC5\u6CDD\u6CAE\u6CB1\u6CBE\u6CBA\u6CDB\u6CEF\u6CD9\u6CEA\u6D1F\u884D\u6D36\u6D2B\u6D3D\u6D38\u6D19\u6D35\u6D33\u6D12\u6D0C\u6D63\u6D93\u6D64\u6D5A\u6D79\u6D59\u6D8E\u6D95\u6FE4\u6D85\u6DF9\u6E15\u6E0A\u6DB5\u6DC7\u6DE6\u6DB8\u6DC6\u6DEC\u6DDE\u6DCC\u6DE8\u6DD2\u6DC5\u6DFA\u6DD9\u6DE4\u6DD5\u6DEA\u6DEE\u6E2D\u6E6E\u6E2E\u6E19\u6E72\u6E5F\u6E3E\u6E23\u6E6B\u6E2B\u6E76\u6E4D\u6E1F\u6E43\u6E3A\u6E4E\u6E24\u6EFF\u6E1D\u6E38\u6E82\u6EAA\u6E98\u6EC9\u6EB7\u6ED3\u6EBD\u6EAF\u6EC4\u6EB2\u6ED4\u6ED5\u6E8F\u6EA5\u6EC2\u6E9F\u6F41\u6F11\u704C\u6EEC\u6EF8\u6EFE\u6F3F\u6EF2\u6F31\u6EEF\u6F32\u6ECC"], + ["e040", "\u6F3E\u6F13\u6EF7\u6F86\u6F7A\u6F78\u6F81\u6F80\u6F6F\u6F5B\u6FF3\u6F6D\u6F82\u6F7C\u6F58\u6F8E\u6F91\u6FC2\u6F66\u6FB3\u6FA3\u6FA1\u6FA4\u6FB9\u6FC6\u6FAA\u6FDF\u6FD5\u6FEC\u6FD4\u6FD8\u6FF1\u6FEE\u6FDB\u7009\u700B\u6FFA\u7011\u7001\u700F\u6FFE\u701B\u701A\u6F74\u701D\u7018\u701F\u7030\u703E\u7032\u7051\u7063\u7099\u7092\u70AF\u70F1\u70AC\u70B8\u70B3\u70AE\u70DF\u70CB\u70DD"], + ["e080", "\u70D9\u7109\u70FD\u711C\u7119\u7165\u7155\u7188\u7166\u7162\u714C\u7156\u716C\u718F\u71FB\u7184\u7195\u71A8\u71AC\u71D7\u71B9\u71BE\u71D2\u71C9\u71D4\u71CE\u71E0\u71EC\u71E7\u71F5\u71FC\u71F9\u71FF\u720D\u7210\u721B\u7228\u722D\u722C\u7230\u7232\u723B\u723C\u723F\u7240\u7246\u724B\u7258\u7274\u727E\u7282\u7281\u7287\u7292\u7296\u72A2\u72A7\u72B9\u72B2\u72C3\u72C6\u72C4\u72CE\u72D2\u72E2\u72E0\u72E1\u72F9\u72F7\u500F\u7317\u730A\u731C\u7316\u731D\u7334\u732F\u7329\u7325\u733E\u734E\u734F\u9ED8\u7357\u736A\u7368\u7370\u7378\u7375\u737B\u737A\u73C8\u73B3\u73CE\u73BB\u73C0\u73E5\u73EE\u73DE\u74A2\u7405\u746F\u7425\u73F8\u7432\u743A\u7455\u743F\u745F\u7459\u7441\u745C\u7469\u7470\u7463\u746A\u7476\u747E\u748B\u749E\u74A7\u74CA\u74CF\u74D4\u73F1"], + ["e140", "\u74E0\u74E3\u74E7\u74E9\u74EE\u74F2\u74F0\u74F1\u74F8\u74F7\u7504\u7503\u7505\u750C\u750E\u750D\u7515\u7513\u751E\u7526\u752C\u753C\u7544\u754D\u754A\u7549\u755B\u7546\u755A\u7569\u7564\u7567\u756B\u756D\u7578\u7576\u7586\u7587\u7574\u758A\u7589\u7582\u7594\u759A\u759D\u75A5\u75A3\u75C2\u75B3\u75C3\u75B5\u75BD\u75B8\u75BC\u75B1\u75CD\u75CA\u75D2\u75D9\u75E3\u75DE\u75FE\u75FF"], + ["e180", "\u75FC\u7601\u75F0\u75FA\u75F2\u75F3\u760B\u760D\u7609\u761F\u7627\u7620\u7621\u7622\u7624\u7634\u7630\u763B\u7647\u7648\u7646\u765C\u7658\u7661\u7662\u7668\u7669\u766A\u7667\u766C\u7670\u7672\u7676\u7678\u767C\u7680\u7683\u7688\u768B\u768E\u7696\u7693\u7699\u769A\u76B0\u76B4\u76B8\u76B9\u76BA\u76C2\u76CD\u76D6\u76D2\u76DE\u76E1\u76E5\u76E7\u76EA\u862F\u76FB\u7708\u7707\u7704\u7729\u7724\u771E\u7725\u7726\u771B\u7737\u7738\u7747\u775A\u7768\u776B\u775B\u7765\u777F\u777E\u7779\u778E\u778B\u7791\u77A0\u779E\u77B0\u77B6\u77B9\u77BF\u77BC\u77BD\u77BB\u77C7\u77CD\u77D7\u77DA\u77DC\u77E3\u77EE\u77FC\u780C\u7812\u7926\u7820\u792A\u7845\u788E\u7874\u7886\u787C\u789A\u788C\u78A3\u78B5\u78AA\u78AF\u78D1\u78C6\u78CB\u78D4\u78BE\u78BC\u78C5\u78CA\u78EC"], + ["e240", "\u78E7\u78DA\u78FD\u78F4\u7907\u7912\u7911\u7919\u792C\u792B\u7940\u7960\u7957\u795F\u795A\u7955\u7953\u797A\u797F\u798A\u799D\u79A7\u9F4B\u79AA\u79AE\u79B3\u79B9\u79BA\u79C9\u79D5\u79E7\u79EC\u79E1\u79E3\u7A08\u7A0D\u7A18\u7A19\u7A20\u7A1F\u7980\u7A31\u7A3B\u7A3E\u7A37\u7A43\u7A57\u7A49\u7A61\u7A62\u7A69\u9F9D\u7A70\u7A79\u7A7D\u7A88\u7A97\u7A95\u7A98\u7A96\u7AA9\u7AC8\u7AB0"], + ["e280", "\u7AB6\u7AC5\u7AC4\u7ABF\u9083\u7AC7\u7ACA\u7ACD\u7ACF\u7AD5\u7AD3\u7AD9\u7ADA\u7ADD\u7AE1\u7AE2\u7AE6\u7AED\u7AF0\u7B02\u7B0F\u7B0A\u7B06\u7B33\u7B18\u7B19\u7B1E\u7B35\u7B28\u7B36\u7B50\u7B7A\u7B04\u7B4D\u7B0B\u7B4C\u7B45\u7B75\u7B65\u7B74\u7B67\u7B70\u7B71\u7B6C\u7B6E\u7B9D\u7B98\u7B9F\u7B8D\u7B9C\u7B9A\u7B8B\u7B92\u7B8F\u7B5D\u7B99\u7BCB\u7BC1\u7BCC\u7BCF\u7BB4\u7BC6\u7BDD\u7BE9\u7C11\u7C14\u7BE6\u7BE5\u7C60\u7C00\u7C07\u7C13\u7BF3\u7BF7\u7C17\u7C0D\u7BF6\u7C23\u7C27\u7C2A\u7C1F\u7C37\u7C2B\u7C3D\u7C4C\u7C43\u7C54\u7C4F\u7C40\u7C50\u7C58\u7C5F\u7C64\u7C56\u7C65\u7C6C\u7C75\u7C83\u7C90\u7CA4\u7CAD\u7CA2\u7CAB\u7CA1\u7CA8\u7CB3\u7CB2\u7CB1\u7CAE\u7CB9\u7CBD\u7CC0\u7CC5\u7CC2\u7CD8\u7CD2\u7CDC\u7CE2\u9B3B\u7CEF\u7CF2\u7CF4\u7CF6\u7CFA\u7D06"], + ["e340", "\u7D02\u7D1C\u7D15\u7D0A\u7D45\u7D4B\u7D2E\u7D32\u7D3F\u7D35\u7D46\u7D73\u7D56\u7D4E\u7D72\u7D68\u7D6E\u7D4F\u7D63\u7D93\u7D89\u7D5B\u7D8F\u7D7D\u7D9B\u7DBA\u7DAE\u7DA3\u7DB5\u7DC7\u7DBD\u7DAB\u7E3D\u7DA2\u7DAF\u7DDC\u7DB8\u7D9F\u7DB0\u7DD8\u7DDD\u7DE4\u7DDE\u7DFB\u7DF2\u7DE1\u7E05\u7E0A\u7E23\u7E21\u7E12\u7E31\u7E1F\u7E09\u7E0B\u7E22\u7E46\u7E66\u7E3B\u7E35\u7E39\u7E43\u7E37"], + ["e380", "\u7E32\u7E3A\u7E67\u7E5D\u7E56\u7E5E\u7E59\u7E5A\u7E79\u7E6A\u7E69\u7E7C\u7E7B\u7E83\u7DD5\u7E7D\u8FAE\u7E7F\u7E88\u7E89\u7E8C\u7E92\u7E90\u7E93\u7E94\u7E96\u7E8E\u7E9B\u7E9C\u7F38\u7F3A\u7F45\u7F4C\u7F4D\u7F4E\u7F50\u7F51\u7F55\u7F54\u7F58\u7F5F\u7F60\u7F68\u7F69\u7F67\u7F78\u7F82\u7F86\u7F83\u7F88\u7F87\u7F8C\u7F94\u7F9E\u7F9D\u7F9A\u7FA3\u7FAF\u7FB2\u7FB9\u7FAE\u7FB6\u7FB8\u8B71\u7FC5\u7FC6\u7FCA\u7FD5\u7FD4\u7FE1\u7FE6\u7FE9\u7FF3\u7FF9\u98DC\u8006\u8004\u800B\u8012\u8018\u8019\u801C\u8021\u8028\u803F\u803B\u804A\u8046\u8052\u8058\u805A\u805F\u8062\u8068\u8073\u8072\u8070\u8076\u8079\u807D\u807F\u8084\u8086\u8085\u809B\u8093\u809A\u80AD\u5190\u80AC\u80DB\u80E5\u80D9\u80DD\u80C4\u80DA\u80D6\u8109\u80EF\u80F1\u811B\u8129\u8123\u812F\u814B"], + ["e440", "\u968B\u8146\u813E\u8153\u8151\u80FC\u8171\u816E\u8165\u8166\u8174\u8183\u8188\u818A\u8180\u8182\u81A0\u8195\u81A4\u81A3\u815F\u8193\u81A9\u81B0\u81B5\u81BE\u81B8\u81BD\u81C0\u81C2\u81BA\u81C9\u81CD\u81D1\u81D9\u81D8\u81C8\u81DA\u81DF\u81E0\u81E7\u81FA\u81FB\u81FE\u8201\u8202\u8205\u8207\u820A\u820D\u8210\u8216\u8229\u822B\u8238\u8233\u8240\u8259\u8258\u825D\u825A\u825F\u8264"], + ["e480", "\u8262\u8268\u826A\u826B\u822E\u8271\u8277\u8278\u827E\u828D\u8292\u82AB\u829F\u82BB\u82AC\u82E1\u82E3\u82DF\u82D2\u82F4\u82F3\u82FA\u8393\u8303\u82FB\u82F9\u82DE\u8306\u82DC\u8309\u82D9\u8335\u8334\u8316\u8332\u8331\u8340\u8339\u8350\u8345\u832F\u832B\u8317\u8318\u8385\u839A\u83AA\u839F\u83A2\u8396\u8323\u838E\u8387\u838A\u837C\u83B5\u8373\u8375\u83A0\u8389\u83A8\u83F4\u8413\u83EB\u83CE\u83FD\u8403\u83D8\u840B\u83C1\u83F7\u8407\u83E0\u83F2\u840D\u8422\u8420\u83BD\u8438\u8506\u83FB\u846D\u842A\u843C\u855A\u8484\u8477\u846B\u84AD\u846E\u8482\u8469\u8446\u842C\u846F\u8479\u8435\u84CA\u8462\u84B9\u84BF\u849F\u84D9\u84CD\u84BB\u84DA\u84D0\u84C1\u84C6\u84D6\u84A1\u8521\u84FF\u84F4\u8517\u8518\u852C\u851F\u8515\u8514\u84FC\u8540\u8563\u8558\u8548"], + ["e540", "\u8541\u8602\u854B\u8555\u8580\u85A4\u8588\u8591\u858A\u85A8\u856D\u8594\u859B\u85EA\u8587\u859C\u8577\u857E\u8590\u85C9\u85BA\u85CF\u85B9\u85D0\u85D5\u85DD\u85E5\u85DC\u85F9\u860A\u8613\u860B\u85FE\u85FA\u8606\u8622\u861A\u8630\u863F\u864D\u4E55\u8654\u865F\u8667\u8671\u8693\u86A3\u86A9\u86AA\u868B\u868C\u86B6\u86AF\u86C4\u86C6\u86B0\u86C9\u8823\u86AB\u86D4\u86DE\u86E9\u86EC"], + ["e580", "\u86DF\u86DB\u86EF\u8712\u8706\u8708\u8700\u8703\u86FB\u8711\u8709\u870D\u86F9\u870A\u8734\u873F\u8737\u873B\u8725\u8729\u871A\u8760\u875F\u8778\u874C\u874E\u8774\u8757\u8768\u876E\u8759\u8753\u8763\u876A\u8805\u87A2\u879F\u8782\u87AF\u87CB\u87BD\u87C0\u87D0\u96D6\u87AB\u87C4\u87B3\u87C7\u87C6\u87BB\u87EF\u87F2\u87E0\u880F\u880D\u87FE\u87F6\u87F7\u880E\u87D2\u8811\u8816\u8815\u8822\u8821\u8831\u8836\u8839\u8827\u883B\u8844\u8842\u8852\u8859\u885E\u8862\u886B\u8881\u887E\u889E\u8875\u887D\u88B5\u8872\u8882\u8897\u8892\u88AE\u8899\u88A2\u888D\u88A4\u88B0\u88BF\u88B1\u88C3\u88C4\u88D4\u88D8\u88D9\u88DD\u88F9\u8902\u88FC\u88F4\u88E8\u88F2\u8904\u890C\u890A\u8913\u8943\u891E\u8925\u892A\u892B\u8941\u8944\u893B\u8936\u8938\u894C\u891D\u8960\u895E"], + ["e640", "\u8966\u8964\u896D\u896A\u896F\u8974\u8977\u897E\u8983\u8988\u898A\u8993\u8998\u89A1\u89A9\u89A6\u89AC\u89AF\u89B2\u89BA\u89BD\u89BF\u89C0\u89DA\u89DC\u89DD\u89E7\u89F4\u89F8\u8A03\u8A16\u8A10\u8A0C\u8A1B\u8A1D\u8A25\u8A36\u8A41\u8A5B\u8A52\u8A46\u8A48\u8A7C\u8A6D\u8A6C\u8A62\u8A85\u8A82\u8A84\u8AA8\u8AA1\u8A91\u8AA5\u8AA6\u8A9A\u8AA3\u8AC4\u8ACD\u8AC2\u8ADA\u8AEB\u8AF3\u8AE7"], + ["e680", "\u8AE4\u8AF1\u8B14\u8AE0\u8AE2\u8AF7\u8ADE\u8ADB\u8B0C\u8B07\u8B1A\u8AE1\u8B16\u8B10\u8B17\u8B20\u8B33\u97AB\u8B26\u8B2B\u8B3E\u8B28\u8B41\u8B4C\u8B4F\u8B4E\u8B49\u8B56\u8B5B\u8B5A\u8B6B\u8B5F\u8B6C\u8B6F\u8B74\u8B7D\u8B80\u8B8C\u8B8E\u8B92\u8B93\u8B96\u8B99\u8B9A\u8C3A\u8C41\u8C3F\u8C48\u8C4C\u8C4E\u8C50\u8C55\u8C62\u8C6C\u8C78\u8C7A\u8C82\u8C89\u8C85\u8C8A\u8C8D\u8C8E\u8C94\u8C7C\u8C98\u621D\u8CAD\u8CAA\u8CBD\u8CB2\u8CB3\u8CAE\u8CB6\u8CC8\u8CC1\u8CE4\u8CE3\u8CDA\u8CFD\u8CFA\u8CFB\u8D04\u8D05\u8D0A\u8D07\u8D0F\u8D0D\u8D10\u9F4E\u8D13\u8CCD\u8D14\u8D16\u8D67\u8D6D\u8D71\u8D73\u8D81\u8D99\u8DC2\u8DBE\u8DBA\u8DCF\u8DDA\u8DD6\u8DCC\u8DDB\u8DCB\u8DEA\u8DEB\u8DDF\u8DE3\u8DFC\u8E08\u8E09\u8DFF\u8E1D\u8E1E\u8E10\u8E1F\u8E42\u8E35\u8E30\u8E34\u8E4A"], + ["e740", "\u8E47\u8E49\u8E4C\u8E50\u8E48\u8E59\u8E64\u8E60\u8E2A\u8E63\u8E55\u8E76\u8E72\u8E7C\u8E81\u8E87\u8E85\u8E84\u8E8B\u8E8A\u8E93\u8E91\u8E94\u8E99\u8EAA\u8EA1\u8EAC\u8EB0\u8EC6\u8EB1\u8EBE\u8EC5\u8EC8\u8ECB\u8EDB\u8EE3\u8EFC\u8EFB\u8EEB\u8EFE\u8F0A\u8F05\u8F15\u8F12\u8F19\u8F13\u8F1C\u8F1F\u8F1B\u8F0C\u8F26\u8F33\u8F3B\u8F39\u8F45\u8F42\u8F3E\u8F4C\u8F49\u8F46\u8F4E\u8F57\u8F5C"], + ["e780", "\u8F62\u8F63\u8F64\u8F9C\u8F9F\u8FA3\u8FAD\u8FAF\u8FB7\u8FDA\u8FE5\u8FE2\u8FEA\u8FEF\u9087\u8FF4\u9005\u8FF9\u8FFA\u9011\u9015\u9021\u900D\u901E\u9016\u900B\u9027\u9036\u9035\u9039\u8FF8\u904F\u9050\u9051\u9052\u900E\u9049\u903E\u9056\u9058\u905E\u9068\u906F\u9076\u96A8\u9072\u9082\u907D\u9081\u9080\u908A\u9089\u908F\u90A8\u90AF\u90B1\u90B5\u90E2\u90E4\u6248\u90DB\u9102\u9112\u9119\u9132\u9130\u914A\u9156\u9158\u9163\u9165\u9169\u9173\u9172\u918B\u9189\u9182\u91A2\u91AB\u91AF\u91AA\u91B5\u91B4\u91BA\u91C0\u91C1\u91C9\u91CB\u91D0\u91D6\u91DF\u91E1\u91DB\u91FC\u91F5\u91F6\u921E\u91FF\u9214\u922C\u9215\u9211\u925E\u9257\u9245\u9249\u9264\u9248\u9295\u923F\u924B\u9250\u929C\u9296\u9293\u929B\u925A\u92CF\u92B9\u92B7\u92E9\u930F\u92FA\u9344\u932E"], + ["e840", "\u9319\u9322\u931A\u9323\u933A\u9335\u933B\u935C\u9360\u937C\u936E\u9356\u93B0\u93AC\u93AD\u9394\u93B9\u93D6\u93D7\u93E8\u93E5\u93D8\u93C3\u93DD\u93D0\u93C8\u93E4\u941A\u9414\u9413\u9403\u9407\u9410\u9436\u942B\u9435\u9421\u943A\u9441\u9452\u9444\u945B\u9460\u9462\u945E\u946A\u9229\u9470\u9475\u9477\u947D\u945A\u947C\u947E\u9481\u947F\u9582\u9587\u958A\u9594\u9596\u9598\u9599"], + ["e880", "\u95A0\u95A8\u95A7\u95AD\u95BC\u95BB\u95B9\u95BE\u95CA\u6FF6\u95C3\u95CD\u95CC\u95D5\u95D4\u95D6\u95DC\u95E1\u95E5\u95E2\u9621\u9628\u962E\u962F\u9642\u964C\u964F\u964B\u9677\u965C\u965E\u965D\u965F\u9666\u9672\u966C\u968D\u9698\u9695\u9697\u96AA\u96A7\u96B1\u96B2\u96B0\u96B4\u96B6\u96B8\u96B9\u96CE\u96CB\u96C9\u96CD\u894D\u96DC\u970D\u96D5\u96F9\u9704\u9706\u9708\u9713\u970E\u9711\u970F\u9716\u9719\u9724\u972A\u9730\u9739\u973D\u973E\u9744\u9746\u9748\u9742\u9749\u975C\u9760\u9764\u9766\u9768\u52D2\u976B\u9771\u9779\u9785\u977C\u9781\u977A\u9786\u978B\u978F\u9790\u979C\u97A8\u97A6\u97A3\u97B3\u97B4\u97C3\u97C6\u97C8\u97CB\u97DC\u97ED\u9F4F\u97F2\u7ADF\u97F6\u97F5\u980F\u980C\u9838\u9824\u9821\u9837\u983D\u9846\u984F\u984B\u986B\u986F\u9870"], + ["e940", "\u9871\u9874\u9873\u98AA\u98AF\u98B1\u98B6\u98C4\u98C3\u98C6\u98E9\u98EB\u9903\u9909\u9912\u9914\u9918\u9921\u991D\u991E\u9924\u9920\u992C\u992E\u993D\u993E\u9942\u9949\u9945\u9950\u994B\u9951\u9952\u994C\u9955\u9997\u9998\u99A5\u99AD\u99AE\u99BC\u99DF\u99DB\u99DD\u99D8\u99D1\u99ED\u99EE\u99F1\u99F2\u99FB\u99F8\u9A01\u9A0F\u9A05\u99E2\u9A19\u9A2B\u9A37\u9A45\u9A42\u9A40\u9A43"], + ["e980", "\u9A3E\u9A55\u9A4D\u9A5B\u9A57\u9A5F\u9A62\u9A65\u9A64\u9A69\u9A6B\u9A6A\u9AAD\u9AB0\u9ABC\u9AC0\u9ACF\u9AD1\u9AD3\u9AD4\u9ADE\u9ADF\u9AE2\u9AE3\u9AE6\u9AEF\u9AEB\u9AEE\u9AF4\u9AF1\u9AF7\u9AFB\u9B06\u9B18\u9B1A\u9B1F\u9B22\u9B23\u9B25\u9B27\u9B28\u9B29\u9B2A\u9B2E\u9B2F\u9B32\u9B44\u9B43\u9B4F\u9B4D\u9B4E\u9B51\u9B58\u9B74\u9B93\u9B83\u9B91\u9B96\u9B97\u9B9F\u9BA0\u9BA8\u9BB4\u9BC0\u9BCA\u9BB9\u9BC6\u9BCF\u9BD1\u9BD2\u9BE3\u9BE2\u9BE4\u9BD4\u9BE1\u9C3A\u9BF2\u9BF1\u9BF0\u9C15\u9C14\u9C09\u9C13\u9C0C\u9C06\u9C08\u9C12\u9C0A\u9C04\u9C2E\u9C1B\u9C25\u9C24\u9C21\u9C30\u9C47\u9C32\u9C46\u9C3E\u9C5A\u9C60\u9C67\u9C76\u9C78\u9CE7\u9CEC\u9CF0\u9D09\u9D08\u9CEB\u9D03\u9D06\u9D2A\u9D26\u9DAF\u9D23\u9D1F\u9D44\u9D15\u9D12\u9D41\u9D3F\u9D3E\u9D46\u9D48"], + ["ea40", "\u9D5D\u9D5E\u9D64\u9D51\u9D50\u9D59\u9D72\u9D89\u9D87\u9DAB\u9D6F\u9D7A\u9D9A\u9DA4\u9DA9\u9DB2\u9DC4\u9DC1\u9DBB\u9DB8\u9DBA\u9DC6\u9DCF\u9DC2\u9DD9\u9DD3\u9DF8\u9DE6\u9DED\u9DEF\u9DFD\u9E1A\u9E1B\u9E1E\u9E75\u9E79\u9E7D\u9E81\u9E88\u9E8B\u9E8C\u9E92\u9E95\u9E91\u9E9D\u9EA5\u9EA9\u9EB8\u9EAA\u9EAD\u9761\u9ECC\u9ECE\u9ECF\u9ED0\u9ED4\u9EDC\u9EDE\u9EDD\u9EE0\u9EE5\u9EE8\u9EEF"], + ["ea80", "\u9EF4\u9EF6\u9EF7\u9EF9\u9EFB\u9EFC\u9EFD\u9F07\u9F08\u76B7\u9F15\u9F21\u9F2C\u9F3E\u9F4A\u9F52\u9F54\u9F63\u9F5F\u9F60\u9F61\u9F66\u9F67\u9F6C\u9F6A\u9F77\u9F72\u9F76\u9F95\u9F9C\u9FA0\u582F\u69C7\u9059\u7464\u51DC\u7199"], + ["ed40", "\u7E8A\u891C\u9348\u9288\u84DC\u4FC9\u70BB\u6631\u68C8\u92F9\u66FB\u5F45\u4E28\u4EE1\u4EFC\u4F00\u4F03\u4F39\u4F56\u4F92\u4F8A\u4F9A\u4F94\u4FCD\u5040\u5022\u4FFF\u501E\u5046\u5070\u5042\u5094\u50F4\u50D8\u514A\u5164\u519D\u51BE\u51EC\u5215\u529C\u52A6\u52C0\u52DB\u5300\u5307\u5324\u5372\u5393\u53B2\u53DD\uFA0E\u549C\u548A\u54A9\u54FF\u5586\u5759\u5765\u57AC\u57C8\u57C7\uFA0F"], + ["ed80", "\uFA10\u589E\u58B2\u590B\u5953\u595B\u595D\u5963\u59A4\u59BA\u5B56\u5BC0\u752F\u5BD8\u5BEC\u5C1E\u5CA6\u5CBA\u5CF5\u5D27\u5D53\uFA11\u5D42\u5D6D\u5DB8\u5DB9\u5DD0\u5F21\u5F34\u5F67\u5FB7\u5FDE\u605D\u6085\u608A\u60DE\u60D5\u6120\u60F2\u6111\u6137\u6130\u6198\u6213\u62A6\u63F5\u6460\u649D\u64CE\u654E\u6600\u6615\u663B\u6609\u662E\u661E\u6624\u6665\u6657\u6659\uFA12\u6673\u6699\u66A0\u66B2\u66BF\u66FA\u670E\uF929\u6766\u67BB\u6852\u67C0\u6801\u6844\u68CF\uFA13\u6968\uFA14\u6998\u69E2\u6A30\u6A6B\u6A46\u6A73\u6A7E\u6AE2\u6AE4\u6BD6\u6C3F\u6C5C\u6C86\u6C6F\u6CDA\u6D04\u6D87\u6D6F\u6D96\u6DAC\u6DCF\u6DF8\u6DF2\u6DFC\u6E39\u6E5C\u6E27\u6E3C\u6EBF\u6F88\u6FB5\u6FF5\u7005\u7007\u7028\u7085\u70AB\u710F\u7104\u715C\u7146\u7147\uFA15\u71C1\u71FE\u72B1"], + ["ee40", "\u72BE\u7324\uFA16\u7377\u73BD\u73C9\u73D6\u73E3\u73D2\u7407\u73F5\u7426\u742A\u7429\u742E\u7462\u7489\u749F\u7501\u756F\u7682\u769C\u769E\u769B\u76A6\uFA17\u7746\u52AF\u7821\u784E\u7864\u787A\u7930\uFA18\uFA19\uFA1A\u7994\uFA1B\u799B\u7AD1\u7AE7\uFA1C\u7AEB\u7B9E\uFA1D\u7D48\u7D5C\u7DB7\u7DA0\u7DD6\u7E52\u7F47\u7FA1\uFA1E\u8301\u8362\u837F\u83C7\u83F6\u8448\u84B4\u8553\u8559"], + ["ee80", "\u856B\uFA1F\u85B0\uFA20\uFA21\u8807\u88F5\u8A12\u8A37\u8A79\u8AA7\u8ABE\u8ADF\uFA22\u8AF6\u8B53\u8B7F\u8CF0\u8CF4\u8D12\u8D76\uFA23\u8ECF\uFA24\uFA25\u9067\u90DE\uFA26\u9115\u9127\u91DA\u91D7\u91DE\u91ED\u91EE\u91E4\u91E5\u9206\u9210\u920A\u923A\u9240\u923C\u924E\u9259\u9251\u9239\u9267\u92A7\u9277\u9278\u92E7\u92D7\u92D9\u92D0\uFA27\u92D5\u92E0\u92D3\u9325\u9321\u92FB\uFA28\u931E\u92FF\u931D\u9302\u9370\u9357\u93A4\u93C6\u93DE\u93F8\u9431\u9445\u9448\u9592\uF9DC\uFA29\u969D\u96AF\u9733\u973B\u9743\u974D\u974F\u9751\u9755\u9857\u9865\uFA2A\uFA2B\u9927\uFA2C\u999E\u9A4E\u9AD9\u9ADC\u9B75\u9B72\u9B8F\u9BB1\u9BBB\u9C00\u9D70\u9D6B\uFA2D\u9E19\u9ED1"], + ["eeef", "\u2170", 9, "\uFFE2\uFFE4\uFF07\uFF02"], + ["f040", "\uE000", 62], + ["f080", "\uE03F", 124], + ["f140", "\uE0BC", 62], + ["f180", "\uE0FB", 124], + ["f240", "\uE178", 62], + ["f280", "\uE1B7", 124], + ["f340", "\uE234", 62], + ["f380", "\uE273", 124], + ["f440", "\uE2F0", 62], + ["f480", "\uE32F", 124], + ["f540", "\uE3AC", 62], + ["f580", "\uE3EB", 124], + ["f640", "\uE468", 62], + ["f680", "\uE4A7", 124], + ["f740", "\uE524", 62], + ["f780", "\uE563", 124], + ["f840", "\uE5E0", 62], + ["f880", "\uE61F", 124], + ["f940", "\uE69C"], + ["fa40", "\u2170", 9, "\u2160", 9, "\uFFE2\uFFE4\uFF07\uFF02\u3231\u2116\u2121\u2235\u7E8A\u891C\u9348\u9288\u84DC\u4FC9\u70BB\u6631\u68C8\u92F9\u66FB\u5F45\u4E28\u4EE1\u4EFC\u4F00\u4F03\u4F39\u4F56\u4F92\u4F8A\u4F9A\u4F94\u4FCD\u5040\u5022\u4FFF\u501E\u5046\u5070\u5042\u5094\u50F4\u50D8\u514A"], + ["fa80", "\u5164\u519D\u51BE\u51EC\u5215\u529C\u52A6\u52C0\u52DB\u5300\u5307\u5324\u5372\u5393\u53B2\u53DD\uFA0E\u549C\u548A\u54A9\u54FF\u5586\u5759\u5765\u57AC\u57C8\u57C7\uFA0F\uFA10\u589E\u58B2\u590B\u5953\u595B\u595D\u5963\u59A4\u59BA\u5B56\u5BC0\u752F\u5BD8\u5BEC\u5C1E\u5CA6\u5CBA\u5CF5\u5D27\u5D53\uFA11\u5D42\u5D6D\u5DB8\u5DB9\u5DD0\u5F21\u5F34\u5F67\u5FB7\u5FDE\u605D\u6085\u608A\u60DE\u60D5\u6120\u60F2\u6111\u6137\u6130\u6198\u6213\u62A6\u63F5\u6460\u649D\u64CE\u654E\u6600\u6615\u663B\u6609\u662E\u661E\u6624\u6665\u6657\u6659\uFA12\u6673\u6699\u66A0\u66B2\u66BF\u66FA\u670E\uF929\u6766\u67BB\u6852\u67C0\u6801\u6844\u68CF\uFA13\u6968\uFA14\u6998\u69E2\u6A30\u6A6B\u6A46\u6A73\u6A7E\u6AE2\u6AE4\u6BD6\u6C3F\u6C5C\u6C86\u6C6F\u6CDA\u6D04\u6D87\u6D6F"], + ["fb40", "\u6D96\u6DAC\u6DCF\u6DF8\u6DF2\u6DFC\u6E39\u6E5C\u6E27\u6E3C\u6EBF\u6F88\u6FB5\u6FF5\u7005\u7007\u7028\u7085\u70AB\u710F\u7104\u715C\u7146\u7147\uFA15\u71C1\u71FE\u72B1\u72BE\u7324\uFA16\u7377\u73BD\u73C9\u73D6\u73E3\u73D2\u7407\u73F5\u7426\u742A\u7429\u742E\u7462\u7489\u749F\u7501\u756F\u7682\u769C\u769E\u769B\u76A6\uFA17\u7746\u52AF\u7821\u784E\u7864\u787A\u7930\uFA18\uFA19"], + ["fb80", "\uFA1A\u7994\uFA1B\u799B\u7AD1\u7AE7\uFA1C\u7AEB\u7B9E\uFA1D\u7D48\u7D5C\u7DB7\u7DA0\u7DD6\u7E52\u7F47\u7FA1\uFA1E\u8301\u8362\u837F\u83C7\u83F6\u8448\u84B4\u8553\u8559\u856B\uFA1F\u85B0\uFA20\uFA21\u8807\u88F5\u8A12\u8A37\u8A79\u8AA7\u8ABE\u8ADF\uFA22\u8AF6\u8B53\u8B7F\u8CF0\u8CF4\u8D12\u8D76\uFA23\u8ECF\uFA24\uFA25\u9067\u90DE\uFA26\u9115\u9127\u91DA\u91D7\u91DE\u91ED\u91EE\u91E4\u91E5\u9206\u9210\u920A\u923A\u9240\u923C\u924E\u9259\u9251\u9239\u9267\u92A7\u9277\u9278\u92E7\u92D7\u92D9\u92D0\uFA27\u92D5\u92E0\u92D3\u9325\u9321\u92FB\uFA28\u931E\u92FF\u931D\u9302\u9370\u9357\u93A4\u93C6\u93DE\u93F8\u9431\u9445\u9448\u9592\uF9DC\uFA29\u969D\u96AF\u9733\u973B\u9743\u974D\u974F\u9751\u9755\u9857\u9865\uFA2A\uFA2B\u9927\uFA2C\u999E\u9A4E\u9AD9"], + ["fc40", "\u9ADC\u9B75\u9B72\u9B8F\u9BB1\u9BBB\u9C00\u9D70\u9D6B\uFA2D\u9E19\u9ED1"] + ]; + } +}); +var require_eucjp2 = __commonJS2({ + "node_modules/body-parser/node_modules/iconv-lite/encodings/tables/eucjp.json"(exports2, module2) { + module2.exports = [ + ["0", "\0", 127], + ["8ea1", "\uFF61", 62], + ["a1a1", "\u3000\u3001\u3002\uFF0C\uFF0E\u30FB\uFF1A\uFF1B\uFF1F\uFF01\u309B\u309C\xB4\uFF40\xA8\uFF3E\uFFE3\uFF3F\u30FD\u30FE\u309D\u309E\u3003\u4EDD\u3005\u3006\u3007\u30FC\u2015\u2010\uFF0F\uFF3C\uFF5E\u2225\uFF5C\u2026\u2025\u2018\u2019\u201C\u201D\uFF08\uFF09\u3014\u3015\uFF3B\uFF3D\uFF5B\uFF5D\u3008", 9, "\uFF0B\uFF0D\xB1\xD7\xF7\uFF1D\u2260\uFF1C\uFF1E\u2266\u2267\u221E\u2234\u2642\u2640\xB0\u2032\u2033\u2103\uFFE5\uFF04\uFFE0\uFFE1\uFF05\uFF03\uFF06\uFF0A\uFF20\xA7\u2606\u2605\u25CB\u25CF\u25CE\u25C7"], + ["a2a1", "\u25C6\u25A1\u25A0\u25B3\u25B2\u25BD\u25BC\u203B\u3012\u2192\u2190\u2191\u2193\u3013"], + ["a2ba", "\u2208\u220B\u2286\u2287\u2282\u2283\u222A\u2229"], + ["a2ca", "\u2227\u2228\uFFE2\u21D2\u21D4\u2200\u2203"], + ["a2dc", "\u2220\u22A5\u2312\u2202\u2207\u2261\u2252\u226A\u226B\u221A\u223D\u221D\u2235\u222B\u222C"], + ["a2f2", "\u212B\u2030\u266F\u266D\u266A\u2020\u2021\xB6"], + ["a2fe", "\u25EF"], + ["a3b0", "\uFF10", 9], + ["a3c1", "\uFF21", 25], + ["a3e1", "\uFF41", 25], + ["a4a1", "\u3041", 82], + ["a5a1", "\u30A1", 85], + ["a6a1", "\u0391", 16, "\u03A3", 6], + ["a6c1", "\u03B1", 16, "\u03C3", 6], + ["a7a1", "\u0410", 5, "\u0401\u0416", 25], + ["a7d1", "\u0430", 5, "\u0451\u0436", 25], + ["a8a1", "\u2500\u2502\u250C\u2510\u2518\u2514\u251C\u252C\u2524\u2534\u253C\u2501\u2503\u250F\u2513\u251B\u2517\u2523\u2533\u252B\u253B\u254B\u2520\u252F\u2528\u2537\u253F\u251D\u2530\u2525\u2538\u2542"], + ["ada1", "\u2460", 19, "\u2160", 9], + ["adc0", "\u3349\u3314\u3322\u334D\u3318\u3327\u3303\u3336\u3351\u3357\u330D\u3326\u3323\u332B\u334A\u333B\u339C\u339D\u339E\u338E\u338F\u33C4\u33A1"], + ["addf", "\u337B\u301D\u301F\u2116\u33CD\u2121\u32A4", 4, "\u3231\u3232\u3239\u337E\u337D\u337C\u2252\u2261\u222B\u222E\u2211\u221A\u22A5\u2220\u221F\u22BF\u2235\u2229\u222A"], + ["b0a1", "\u4E9C\u5516\u5A03\u963F\u54C0\u611B\u6328\u59F6\u9022\u8475\u831C\u7A50\u60AA\u63E1\u6E25\u65ED\u8466\u82A6\u9BF5\u6893\u5727\u65A1\u6271\u5B9B\u59D0\u867B\u98F4\u7D62\u7DBE\u9B8E\u6216\u7C9F\u88B7\u5B89\u5EB5\u6309\u6697\u6848\u95C7\u978D\u674F\u4EE5\u4F0A\u4F4D\u4F9D\u5049\u56F2\u5937\u59D4\u5A01\u5C09\u60DF\u610F\u6170\u6613\u6905\u70BA\u754F\u7570\u79FB\u7DAD\u7DEF\u80C3\u840E\u8863\u8B02\u9055\u907A\u533B\u4E95\u4EA5\u57DF\u80B2\u90C1\u78EF\u4E00\u58F1\u6EA2\u9038\u7A32\u8328\u828B\u9C2F\u5141\u5370\u54BD\u54E1\u56E0\u59FB\u5F15\u98F2\u6DEB\u80E4\u852D"], + ["b1a1", "\u9662\u9670\u96A0\u97FB\u540B\u53F3\u5B87\u70CF\u7FBD\u8FC2\u96E8\u536F\u9D5C\u7ABA\u4E11\u7893\u81FC\u6E26\u5618\u5504\u6B1D\u851A\u9C3B\u59E5\u53A9\u6D66\u74DC\u958F\u5642\u4E91\u904B\u96F2\u834F\u990C\u53E1\u55B6\u5B30\u5F71\u6620\u66F3\u6804\u6C38\u6CF3\u6D29\u745B\u76C8\u7A4E\u9834\u82F1\u885B\u8A60\u92ED\u6DB2\u75AB\u76CA\u99C5\u60A6\u8B01\u8D8A\u95B2\u698E\u53AD\u5186\u5712\u5830\u5944\u5BB4\u5EF6\u6028\u63A9\u63F4\u6CBF\u6F14\u708E\u7114\u7159\u71D5\u733F\u7E01\u8276\u82D1\u8597\u9060\u925B\u9D1B\u5869\u65BC\u6C5A\u7525\u51F9\u592E\u5965\u5F80\u5FDC"], + ["b2a1", "\u62BC\u65FA\u6A2A\u6B27\u6BB4\u738B\u7FC1\u8956\u9D2C\u9D0E\u9EC4\u5CA1\u6C96\u837B\u5104\u5C4B\u61B6\u81C6\u6876\u7261\u4E59\u4FFA\u5378\u6069\u6E29\u7A4F\u97F3\u4E0B\u5316\u4EEE\u4F55\u4F3D\u4FA1\u4F73\u52A0\u53EF\u5609\u590F\u5AC1\u5BB6\u5BE1\u79D1\u6687\u679C\u67B6\u6B4C\u6CB3\u706B\u73C2\u798D\u79BE\u7A3C\u7B87\u82B1\u82DB\u8304\u8377\u83EF\u83D3\u8766\u8AB2\u5629\u8CA8\u8FE6\u904E\u971E\u868A\u4FC4\u5CE8\u6211\u7259\u753B\u81E5\u82BD\u86FE\u8CC0\u96C5\u9913\u99D5\u4ECB\u4F1A\u89E3\u56DE\u584A\u58CA\u5EFB\u5FEB\u602A\u6094\u6062\u61D0\u6212\u62D0\u6539"], + ["b3a1", "\u9B41\u6666\u68B0\u6D77\u7070\u754C\u7686\u7D75\u82A5\u87F9\u958B\u968E\u8C9D\u51F1\u52BE\u5916\u54B3\u5BB3\u5D16\u6168\u6982\u6DAF\u788D\u84CB\u8857\u8A72\u93A7\u9AB8\u6D6C\u99A8\u86D9\u57A3\u67FF\u86CE\u920E\u5283\u5687\u5404\u5ED3\u62E1\u64B9\u683C\u6838\u6BBB\u7372\u78BA\u7A6B\u899A\u89D2\u8D6B\u8F03\u90ED\u95A3\u9694\u9769\u5B66\u5CB3\u697D\u984D\u984E\u639B\u7B20\u6A2B\u6A7F\u68B6\u9C0D\u6F5F\u5272\u559D\u6070\u62EC\u6D3B\u6E07\u6ED1\u845B\u8910\u8F44\u4E14\u9C39\u53F6\u691B\u6A3A\u9784\u682A\u515C\u7AC3\u84B2\u91DC\u938C\u565B\u9D28\u6822\u8305\u8431"], + ["b4a1", "\u7CA5\u5208\u82C5\u74E6\u4E7E\u4F83\u51A0\u5BD2\u520A\u52D8\u52E7\u5DFB\u559A\u582A\u59E6\u5B8C\u5B98\u5BDB\u5E72\u5E79\u60A3\u611F\u6163\u61BE\u63DB\u6562\u67D1\u6853\u68FA\u6B3E\u6B53\u6C57\u6F22\u6F97\u6F45\u74B0\u7518\u76E3\u770B\u7AFF\u7BA1\u7C21\u7DE9\u7F36\u7FF0\u809D\u8266\u839E\u89B3\u8ACC\u8CAB\u9084\u9451\u9593\u9591\u95A2\u9665\u97D3\u9928\u8218\u4E38\u542B\u5CB8\u5DCC\u73A9\u764C\u773C\u5CA9\u7FEB\u8D0B\u96C1\u9811\u9854\u9858\u4F01\u4F0E\u5371\u559C\u5668\u57FA\u5947\u5B09\u5BC4\u5C90\u5E0C\u5E7E\u5FCC\u63EE\u673A\u65D7\u65E2\u671F\u68CB\u68C4"], + ["b5a1", "\u6A5F\u5E30\u6BC5\u6C17\u6C7D\u757F\u7948\u5B63\u7A00\u7D00\u5FBD\u898F\u8A18\u8CB4\u8D77\u8ECC\u8F1D\u98E2\u9A0E\u9B3C\u4E80\u507D\u5100\u5993\u5B9C\u622F\u6280\u64EC\u6B3A\u72A0\u7591\u7947\u7FA9\u87FB\u8ABC\u8B70\u63AC\u83CA\u97A0\u5409\u5403\u55AB\u6854\u6A58\u8A70\u7827\u6775\u9ECD\u5374\u5BA2\u811A\u8650\u9006\u4E18\u4E45\u4EC7\u4F11\u53CA\u5438\u5BAE\u5F13\u6025\u6551\u673D\u6C42\u6C72\u6CE3\u7078\u7403\u7A76\u7AAE\u7B08\u7D1A\u7CFE\u7D66\u65E7\u725B\u53BB\u5C45\u5DE8\u62D2\u62E0\u6319\u6E20\u865A\u8A31\u8DDD\u92F8\u6F01\u79A6\u9B5A\u4EA8\u4EAB\u4EAC"], + ["b6a1", "\u4F9B\u4FA0\u50D1\u5147\u7AF6\u5171\u51F6\u5354\u5321\u537F\u53EB\u55AC\u5883\u5CE1\u5F37\u5F4A\u602F\u6050\u606D\u631F\u6559\u6A4B\u6CC1\u72C2\u72ED\u77EF\u80F8\u8105\u8208\u854E\u90F7\u93E1\u97FF\u9957\u9A5A\u4EF0\u51DD\u5C2D\u6681\u696D\u5C40\u66F2\u6975\u7389\u6850\u7C81\u50C5\u52E4\u5747\u5DFE\u9326\u65A4\u6B23\u6B3D\u7434\u7981\u79BD\u7B4B\u7DCA\u82B9\u83CC\u887F\u895F\u8B39\u8FD1\u91D1\u541F\u9280\u4E5D\u5036\u53E5\u533A\u72D7\u7396\u77E9\u82E6\u8EAF\u99C6\u99C8\u99D2\u5177\u611A\u865E\u55B0\u7A7A\u5076\u5BD3\u9047\u9685\u4E32\u6ADB\u91E7\u5C51\u5C48"], + ["b7a1", "\u6398\u7A9F\u6C93\u9774\u8F61\u7AAA\u718A\u9688\u7C82\u6817\u7E70\u6851\u936C\u52F2\u541B\u85AB\u8A13\u7FA4\u8ECD\u90E1\u5366\u8888\u7941\u4FC2\u50BE\u5211\u5144\u5553\u572D\u73EA\u578B\u5951\u5F62\u5F84\u6075\u6176\u6167\u61A9\u63B2\u643A\u656C\u666F\u6842\u6E13\u7566\u7A3D\u7CFB\u7D4C\u7D99\u7E4B\u7F6B\u830E\u834A\u86CD\u8A08\u8A63\u8B66\u8EFD\u981A\u9D8F\u82B8\u8FCE\u9BE8\u5287\u621F\u6483\u6FC0\u9699\u6841\u5091\u6B20\u6C7A\u6F54\u7A74\u7D50\u8840\u8A23\u6708\u4EF6\u5039\u5026\u5065\u517C\u5238\u5263\u55A7\u570F\u5805\u5ACC\u5EFA\u61B2\u61F8\u62F3\u6372"], + ["b8a1", "\u691C\u6A29\u727D\u72AC\u732E\u7814\u786F\u7D79\u770C\u80A9\u898B\u8B19\u8CE2\u8ED2\u9063\u9375\u967A\u9855\u9A13\u9E78\u5143\u539F\u53B3\u5E7B\u5F26\u6E1B\u6E90\u7384\u73FE\u7D43\u8237\u8A00\u8AFA\u9650\u4E4E\u500B\u53E4\u547C\u56FA\u59D1\u5B64\u5DF1\u5EAB\u5F27\u6238\u6545\u67AF\u6E56\u72D0\u7CCA\u88B4\u80A1\u80E1\u83F0\u864E\u8A87\u8DE8\u9237\u96C7\u9867\u9F13\u4E94\u4E92\u4F0D\u5348\u5449\u543E\u5A2F\u5F8C\u5FA1\u609F\u68A7\u6A8E\u745A\u7881\u8A9E\u8AA4\u8B77\u9190\u4E5E\u9BC9\u4EA4\u4F7C\u4FAF\u5019\u5016\u5149\u516C\u529F\u52B9\u52FE\u539A\u53E3\u5411"], + ["b9a1", "\u540E\u5589\u5751\u57A2\u597D\u5B54\u5B5D\u5B8F\u5DE5\u5DE7\u5DF7\u5E78\u5E83\u5E9A\u5EB7\u5F18\u6052\u614C\u6297\u62D8\u63A7\u653B\u6602\u6643\u66F4\u676D\u6821\u6897\u69CB\u6C5F\u6D2A\u6D69\u6E2F\u6E9D\u7532\u7687\u786C\u7A3F\u7CE0\u7D05\u7D18\u7D5E\u7DB1\u8015\u8003\u80AF\u80B1\u8154\u818F\u822A\u8352\u884C\u8861\u8B1B\u8CA2\u8CFC\u90CA\u9175\u9271\u783F\u92FC\u95A4\u964D\u9805\u9999\u9AD8\u9D3B\u525B\u52AB\u53F7\u5408\u58D5\u62F7\u6FE0\u8C6A\u8F5F\u9EB9\u514B\u523B\u544A\u56FD\u7A40\u9177\u9D60\u9ED2\u7344\u6F09\u8170\u7511\u5FFD\u60DA\u9AA8\u72DB\u8FBC"], + ["baa1", "\u6B64\u9803\u4ECA\u56F0\u5764\u58BE\u5A5A\u6068\u61C7\u660F\u6606\u6839\u68B1\u6DF7\u75D5\u7D3A\u826E\u9B42\u4E9B\u4F50\u53C9\u5506\u5D6F\u5DE6\u5DEE\u67FB\u6C99\u7473\u7802\u8A50\u9396\u88DF\u5750\u5EA7\u632B\u50B5\u50AC\u518D\u6700\u54C9\u585E\u59BB\u5BB0\u5F69\u624D\u63A1\u683D\u6B73\u6E08\u707D\u91C7\u7280\u7815\u7826\u796D\u658E\u7D30\u83DC\u88C1\u8F09\u969B\u5264\u5728\u6750\u7F6A\u8CA1\u51B4\u5742\u962A\u583A\u698A\u80B4\u54B2\u5D0E\u57FC\u7895\u9DFA\u4F5C\u524A\u548B\u643E\u6628\u6714\u67F5\u7A84\u7B56\u7D22\u932F\u685C\u9BAD\u7B39\u5319\u518A\u5237"], + ["bba1", "\u5BDF\u62F6\u64AE\u64E6\u672D\u6BBA\u85A9\u96D1\u7690\u9BD6\u634C\u9306\u9BAB\u76BF\u6652\u4E09\u5098\u53C2\u5C71\u60E8\u6492\u6563\u685F\u71E6\u73CA\u7523\u7B97\u7E82\u8695\u8B83\u8CDB\u9178\u9910\u65AC\u66AB\u6B8B\u4ED5\u4ED4\u4F3A\u4F7F\u523A\u53F8\u53F2\u55E3\u56DB\u58EB\u59CB\u59C9\u59FF\u5B50\u5C4D\u5E02\u5E2B\u5FD7\u601D\u6307\u652F\u5B5C\u65AF\u65BD\u65E8\u679D\u6B62\u6B7B\u6C0F\u7345\u7949\u79C1\u7CF8\u7D19\u7D2B\u80A2\u8102\u81F3\u8996\u8A5E\u8A69\u8A66\u8A8C\u8AEE\u8CC7\u8CDC\u96CC\u98FC\u6B6F\u4E8B\u4F3C\u4F8D\u5150\u5B57\u5BFA\u6148\u6301\u6642"], + ["bca1", "\u6B21\u6ECB\u6CBB\u723E\u74BD\u75D4\u78C1\u793A\u800C\u8033\u81EA\u8494\u8F9E\u6C50\u9E7F\u5F0F\u8B58\u9D2B\u7AFA\u8EF8\u5B8D\u96EB\u4E03\u53F1\u57F7\u5931\u5AC9\u5BA4\u6089\u6E7F\u6F06\u75BE\u8CEA\u5B9F\u8500\u7BE0\u5072\u67F4\u829D\u5C61\u854A\u7E1E\u820E\u5199\u5C04\u6368\u8D66\u659C\u716E\u793E\u7D17\u8005\u8B1D\u8ECA\u906E\u86C7\u90AA\u501F\u52FA\u5C3A\u6753\u707C\u7235\u914C\u91C8\u932B\u82E5\u5BC2\u5F31\u60F9\u4E3B\u53D6\u5B88\u624B\u6731\u6B8A\u72E9\u73E0\u7A2E\u816B\u8DA3\u9152\u9996\u5112\u53D7\u546A\u5BFF\u6388\u6A39\u7DAC\u9700\u56DA\u53CE\u5468"], + ["bda1", "\u5B97\u5C31\u5DDE\u4FEE\u6101\u62FE\u6D32\u79C0\u79CB\u7D42\u7E4D\u7FD2\u81ED\u821F\u8490\u8846\u8972\u8B90\u8E74\u8F2F\u9031\u914B\u916C\u96C6\u919C\u4EC0\u4F4F\u5145\u5341\u5F93\u620E\u67D4\u6C41\u6E0B\u7363\u7E26\u91CD\u9283\u53D4\u5919\u5BBF\u6DD1\u795D\u7E2E\u7C9B\u587E\u719F\u51FA\u8853\u8FF0\u4FCA\u5CFB\u6625\u77AC\u7AE3\u821C\u99FF\u51C6\u5FAA\u65EC\u696F\u6B89\u6DF3\u6E96\u6F64\u76FE\u7D14\u5DE1\u9075\u9187\u9806\u51E6\u521D\u6240\u6691\u66D9\u6E1A\u5EB6\u7DD2\u7F72\u66F8\u85AF\u85F7\u8AF8\u52A9\u53D9\u5973\u5E8F\u5F90\u6055\u92E4\u9664\u50B7\u511F"], + ["bea1", "\u52DD\u5320\u5347\u53EC\u54E8\u5546\u5531\u5617\u5968\u59BE\u5A3C\u5BB5\u5C06\u5C0F\u5C11\u5C1A\u5E84\u5E8A\u5EE0\u5F70\u627F\u6284\u62DB\u638C\u6377\u6607\u660C\u662D\u6676\u677E\u68A2\u6A1F\u6A35\u6CBC\u6D88\u6E09\u6E58\u713C\u7126\u7167\u75C7\u7701\u785D\u7901\u7965\u79F0\u7AE0\u7B11\u7CA7\u7D39\u8096\u83D6\u848B\u8549\u885D\u88F3\u8A1F\u8A3C\u8A54\u8A73\u8C61\u8CDE\u91A4\u9266\u937E\u9418\u969C\u9798\u4E0A\u4E08\u4E1E\u4E57\u5197\u5270\u57CE\u5834\u58CC\u5B22\u5E38\u60C5\u64FE\u6761\u6756\u6D44\u72B6\u7573\u7A63\u84B8\u8B72\u91B8\u9320\u5631\u57F4\u98FE"], + ["bfa1", "\u62ED\u690D\u6B96\u71ED\u7E54\u8077\u8272\u89E6\u98DF\u8755\u8FB1\u5C3B\u4F38\u4FE1\u4FB5\u5507\u5A20\u5BDD\u5BE9\u5FC3\u614E\u632F\u65B0\u664B\u68EE\u699B\u6D78\u6DF1\u7533\u75B9\u771F\u795E\u79E6\u7D33\u81E3\u82AF\u85AA\u89AA\u8A3A\u8EAB\u8F9B\u9032\u91DD\u9707\u4EBA\u4EC1\u5203\u5875\u58EC\u5C0B\u751A\u5C3D\u814E\u8A0A\u8FC5\u9663\u976D\u7B25\u8ACF\u9808\u9162\u56F3\u53A8\u9017\u5439\u5782\u5E25\u63A8\u6C34\u708A\u7761\u7C8B\u7FE0\u8870\u9042\u9154\u9310\u9318\u968F\u745E\u9AC4\u5D07\u5D69\u6570\u67A2\u8DA8\u96DB\u636E\u6749\u6919\u83C5\u9817\u96C0\u88FE"], + ["c0a1", "\u6F84\u647A\u5BF8\u4E16\u702C\u755D\u662F\u51C4\u5236\u52E2\u59D3\u5F81\u6027\u6210\u653F\u6574\u661F\u6674\u68F2\u6816\u6B63\u6E05\u7272\u751F\u76DB\u7CBE\u8056\u58F0\u88FD\u897F\u8AA0\u8A93\u8ACB\u901D\u9192\u9752\u9759\u6589\u7A0E\u8106\u96BB\u5E2D\u60DC\u621A\u65A5\u6614\u6790\u77F3\u7A4D\u7C4D\u7E3E\u810A\u8CAC\u8D64\u8DE1\u8E5F\u78A9\u5207\u62D9\u63A5\u6442\u6298\u8A2D\u7A83\u7BC0\u8AAC\u96EA\u7D76\u820C\u8749\u4ED9\u5148\u5343\u5360\u5BA3\u5C02\u5C16\u5DDD\u6226\u6247\u64B0\u6813\u6834\u6CC9\u6D45\u6D17\u67D3\u6F5C\u714E\u717D\u65CB\u7A7F\u7BAD\u7DDA"], + ["c1a1", "\u7E4A\u7FA8\u817A\u821B\u8239\u85A6\u8A6E\u8CCE\u8DF5\u9078\u9077\u92AD\u9291\u9583\u9BAE\u524D\u5584\u6F38\u7136\u5168\u7985\u7E55\u81B3\u7CCE\u564C\u5851\u5CA8\u63AA\u66FE\u66FD\u695A\u72D9\u758F\u758E\u790E\u7956\u79DF\u7C97\u7D20\u7D44\u8607\u8A34\u963B\u9061\u9F20\u50E7\u5275\u53CC\u53E2\u5009\u55AA\u58EE\u594F\u723D\u5B8B\u5C64\u531D\u60E3\u60F3\u635C\u6383\u633F\u63BB\u64CD\u65E9\u66F9\u5DE3\u69CD\u69FD\u6F15\u71E5\u4E89\u75E9\u76F8\u7A93\u7CDF\u7DCF\u7D9C\u8061\u8349\u8358\u846C\u84BC\u85FB\u88C5\u8D70\u9001\u906D\u9397\u971C\u9A12\u50CF\u5897\u618E"], + ["c2a1", "\u81D3\u8535\u8D08\u9020\u4FC3\u5074\u5247\u5373\u606F\u6349\u675F\u6E2C\u8DB3\u901F\u4FD7\u5C5E\u8CCA\u65CF\u7D9A\u5352\u8896\u5176\u63C3\u5B58\u5B6B\u5C0A\u640D\u6751\u905C\u4ED6\u591A\u592A\u6C70\u8A51\u553E\u5815\u59A5\u60F0\u6253\u67C1\u8235\u6955\u9640\u99C4\u9A28\u4F53\u5806\u5BFE\u8010\u5CB1\u5E2F\u5F85\u6020\u614B\u6234\u66FF\u6CF0\u6EDE\u80CE\u817F\u82D4\u888B\u8CB8\u9000\u902E\u968A\u9EDB\u9BDB\u4EE3\u53F0\u5927\u7B2C\u918D\u984C\u9DF9\u6EDD\u7027\u5353\u5544\u5B85\u6258\u629E\u62D3\u6CA2\u6FEF\u7422\u8A17\u9438\u6FC1\u8AFE\u8338\u51E7\u86F8\u53EA"], + ["c3a1", "\u53E9\u4F46\u9054\u8FB0\u596A\u8131\u5DFD\u7AEA\u8FBF\u68DA\u8C37\u72F8\u9C48\u6A3D\u8AB0\u4E39\u5358\u5606\u5766\u62C5\u63A2\u65E6\u6B4E\u6DE1\u6E5B\u70AD\u77ED\u7AEF\u7BAA\u7DBB\u803D\u80C6\u86CB\u8A95\u935B\u56E3\u58C7\u5F3E\u65AD\u6696\u6A80\u6BB5\u7537\u8AC7\u5024\u77E5\u5730\u5F1B\u6065\u667A\u6C60\u75F4\u7A1A\u7F6E\u81F4\u8718\u9045\u99B3\u7BC9\u755C\u7AF9\u7B51\u84C4\u9010\u79E9\u7A92\u8336\u5AE1\u7740\u4E2D\u4EF2\u5B99\u5FE0\u62BD\u663C\u67F1\u6CE8\u866B\u8877\u8A3B\u914E\u92F3\u99D0\u6A17\u7026\u732A\u82E7\u8457\u8CAF\u4E01\u5146\u51CB\u558B\u5BF5"], + ["c4a1", "\u5E16\u5E33\u5E81\u5F14\u5F35\u5F6B\u5FB4\u61F2\u6311\u66A2\u671D\u6F6E\u7252\u753A\u773A\u8074\u8139\u8178\u8776\u8ABF\u8ADC\u8D85\u8DF3\u929A\u9577\u9802\u9CE5\u52C5\u6357\u76F4\u6715\u6C88\u73CD\u8CC3\u93AE\u9673\u6D25\u589C\u690E\u69CC\u8FFD\u939A\u75DB\u901A\u585A\u6802\u63B4\u69FB\u4F43\u6F2C\u67D8\u8FBB\u8526\u7DB4\u9354\u693F\u6F70\u576A\u58F7\u5B2C\u7D2C\u722A\u540A\u91E3\u9DB4\u4EAD\u4F4E\u505C\u5075\u5243\u8C9E\u5448\u5824\u5B9A\u5E1D\u5E95\u5EAD\u5EF7\u5F1F\u608C\u62B5\u633A\u63D0\u68AF\u6C40\u7887\u798E\u7A0B\u7DE0\u8247\u8A02\u8AE6\u8E44\u9013"], + ["c5a1", "\u90B8\u912D\u91D8\u9F0E\u6CE5\u6458\u64E2\u6575\u6EF4\u7684\u7B1B\u9069\u93D1\u6EBA\u54F2\u5FB9\u64A4\u8F4D\u8FED\u9244\u5178\u586B\u5929\u5C55\u5E97\u6DFB\u7E8F\u751C\u8CBC\u8EE2\u985B\u70B9\u4F1D\u6BBF\u6FB1\u7530\u96FB\u514E\u5410\u5835\u5857\u59AC\u5C60\u5F92\u6597\u675C\u6E21\u767B\u83DF\u8CED\u9014\u90FD\u934D\u7825\u783A\u52AA\u5EA6\u571F\u5974\u6012\u5012\u515A\u51AC\u51CD\u5200\u5510\u5854\u5858\u5957\u5B95\u5CF6\u5D8B\u60BC\u6295\u642D\u6771\u6843\u68BC\u68DF\u76D7\u6DD8\u6E6F\u6D9B\u706F\u71C8\u5F53\u75D8\u7977\u7B49\u7B54\u7B52\u7CD6\u7D71\u5230"], + ["c6a1", "\u8463\u8569\u85E4\u8A0E\u8B04\u8C46\u8E0F\u9003\u900F\u9419\u9676\u982D\u9A30\u95D8\u50CD\u52D5\u540C\u5802\u5C0E\u61A7\u649E\u6D1E\u77B3\u7AE5\u80F4\u8404\u9053\u9285\u5CE0\u9D07\u533F\u5F97\u5FB3\u6D9C\u7279\u7763\u79BF\u7BE4\u6BD2\u72EC\u8AAD\u6803\u6A61\u51F8\u7A81\u6934\u5C4A\u9CF6\u82EB\u5BC5\u9149\u701E\u5678\u5C6F\u60C7\u6566\u6C8C\u8C5A\u9041\u9813\u5451\u66C7\u920D\u5948\u90A3\u5185\u4E4D\u51EA\u8599\u8B0E\u7058\u637A\u934B\u6962\u99B4\u7E04\u7577\u5357\u6960\u8EDF\u96E3\u6C5D\u4E8C\u5C3C\u5F10\u8FE9\u5302\u8CD1\u8089\u8679\u5EFF\u65E5\u4E73\u5165"], + ["c7a1", "\u5982\u5C3F\u97EE\u4EFB\u598A\u5FCD\u8A8D\u6FE1\u79B0\u7962\u5BE7\u8471\u732B\u71B1\u5E74\u5FF5\u637B\u649A\u71C3\u7C98\u4E43\u5EFC\u4E4B\u57DC\u56A2\u60A9\u6FC3\u7D0D\u80FD\u8133\u81BF\u8FB2\u8997\u86A4\u5DF4\u628A\u64AD\u8987\u6777\u6CE2\u6D3E\u7436\u7834\u5A46\u7F75\u82AD\u99AC\u4FF3\u5EC3\u62DD\u6392\u6557\u676F\u76C3\u724C\u80CC\u80BA\u8F29\u914D\u500D\u57F9\u5A92\u6885\u6973\u7164\u72FD\u8CB7\u58F2\u8CE0\u966A\u9019\u877F\u79E4\u77E7\u8429\u4F2F\u5265\u535A\u62CD\u67CF\u6CCA\u767D\u7B94\u7C95\u8236\u8584\u8FEB\u66DD\u6F20\u7206\u7E1B\u83AB\u99C1\u9EA6"], + ["c8a1", "\u51FD\u7BB1\u7872\u7BB8\u8087\u7B48\u6AE8\u5E61\u808C\u7551\u7560\u516B\u9262\u6E8C\u767A\u9197\u9AEA\u4F10\u7F70\u629C\u7B4F\u95A5\u9CE9\u567A\u5859\u86E4\u96BC\u4F34\u5224\u534A\u53CD\u53DB\u5E06\u642C\u6591\u677F\u6C3E\u6C4E\u7248\u72AF\u73ED\u7554\u7E41\u822C\u85E9\u8CA9\u7BC4\u91C6\u7169\u9812\u98EF\u633D\u6669\u756A\u76E4\u78D0\u8543\u86EE\u532A\u5351\u5426\u5983\u5E87\u5F7C\u60B2\u6249\u6279\u62AB\u6590\u6BD4\u6CCC\u75B2\u76AE\u7891\u79D8\u7DCB\u7F77\u80A5\u88AB\u8AB9\u8CBB\u907F\u975E\u98DB\u6A0B\u7C38\u5099\u5C3E\u5FAE\u6787\u6BD8\u7435\u7709\u7F8E"], + ["c9a1", "\u9F3B\u67CA\u7A17\u5339\u758B\u9AED\u5F66\u819D\u83F1\u8098\u5F3C\u5FC5\u7562\u7B46\u903C\u6867\u59EB\u5A9B\u7D10\u767E\u8B2C\u4FF5\u5F6A\u6A19\u6C37\u6F02\u74E2\u7968\u8868\u8A55\u8C79\u5EDF\u63CF\u75C5\u79D2\u82D7\u9328\u92F2\u849C\u86ED\u9C2D\u54C1\u5F6C\u658C\u6D5C\u7015\u8CA7\u8CD3\u983B\u654F\u74F6\u4E0D\u4ED8\u57E0\u592B\u5A66\u5BCC\u51A8\u5E03\u5E9C\u6016\u6276\u6577\u65A7\u666E\u6D6E\u7236\u7B26\u8150\u819A\u8299\u8B5C\u8CA0\u8CE6\u8D74\u961C\u9644\u4FAE\u64AB\u6B66\u821E\u8461\u856A\u90E8\u5C01\u6953\u98A8\u847A\u8557\u4F0F\u526F\u5FA9\u5E45\u670D"], + ["caa1", "\u798F\u8179\u8907\u8986\u6DF5\u5F17\u6255\u6CB8\u4ECF\u7269\u9B92\u5206\u543B\u5674\u58B3\u61A4\u626E\u711A\u596E\u7C89\u7CDE\u7D1B\u96F0\u6587\u805E\u4E19\u4F75\u5175\u5840\u5E63\u5E73\u5F0A\u67C4\u4E26\u853D\u9589\u965B\u7C73\u9801\u50FB\u58C1\u7656\u78A7\u5225\u77A5\u8511\u7B86\u504F\u5909\u7247\u7BC7\u7DE8\u8FBA\u8FD4\u904D\u4FBF\u52C9\u5A29\u5F01\u97AD\u4FDD\u8217\u92EA\u5703\u6355\u6B69\u752B\u88DC\u8F14\u7A42\u52DF\u5893\u6155\u620A\u66AE\u6BCD\u7C3F\u83E9\u5023\u4FF8\u5305\u5446\u5831\u5949\u5B9D\u5CF0\u5CEF\u5D29\u5E96\u62B1\u6367\u653E\u65B9\u670B"], + ["cba1", "\u6CD5\u6CE1\u70F9\u7832\u7E2B\u80DE\u82B3\u840C\u84EC\u8702\u8912\u8A2A\u8C4A\u90A6\u92D2\u98FD\u9CF3\u9D6C\u4E4F\u4EA1\u508D\u5256\u574A\u59A8\u5E3D\u5FD8\u5FD9\u623F\u66B4\u671B\u67D0\u68D2\u5192\u7D21\u80AA\u81A8\u8B00\u8C8C\u8CBF\u927E\u9632\u5420\u982C\u5317\u50D5\u535C\u58A8\u64B2\u6734\u7267\u7766\u7A46\u91E6\u52C3\u6CA1\u6B86\u5800\u5E4C\u5954\u672C\u7FFB\u51E1\u76C6\u6469\u78E8\u9B54\u9EBB\u57CB\u59B9\u6627\u679A\u6BCE\u54E9\u69D9\u5E55\u819C\u6795\u9BAA\u67FE\u9C52\u685D\u4EA6\u4FE3\u53C8\u62B9\u672B\u6CAB\u8FC4\u4FAD\u7E6D\u9EBF\u4E07\u6162\u6E80"], + ["cca1", "\u6F2B\u8513\u5473\u672A\u9B45\u5DF3\u7B95\u5CAC\u5BC6\u871C\u6E4A\u84D1\u7A14\u8108\u5999\u7C8D\u6C11\u7720\u52D9\u5922\u7121\u725F\u77DB\u9727\u9D61\u690B\u5A7F\u5A18\u51A5\u540D\u547D\u660E\u76DF\u8FF7\u9298\u9CF4\u59EA\u725D\u6EC5\u514D\u68C9\u7DBF\u7DEC\u9762\u9EBA\u6478\u6A21\u8302\u5984\u5B5F\u6BDB\u731B\u76F2\u7DB2\u8017\u8499\u5132\u6728\u9ED9\u76EE\u6762\u52FF\u9905\u5C24\u623B\u7C7E\u8CB0\u554F\u60B6\u7D0B\u9580\u5301\u4E5F\u51B6\u591C\u723A\u8036\u91CE\u5F25\u77E2\u5384\u5F79\u7D04\u85AC\u8A33\u8E8D\u9756\u67F3\u85AE\u9453\u6109\u6108\u6CB9\u7652"], + ["cda1", "\u8AED\u8F38\u552F\u4F51\u512A\u52C7\u53CB\u5BA5\u5E7D\u60A0\u6182\u63D6\u6709\u67DA\u6E67\u6D8C\u7336\u7337\u7531\u7950\u88D5\u8A98\u904A\u9091\u90F5\u96C4\u878D\u5915\u4E88\u4F59\u4E0E\u8A89\u8F3F\u9810\u50AD\u5E7C\u5996\u5BB9\u5EB8\u63DA\u63FA\u64C1\u66DC\u694A\u69D8\u6D0B\u6EB6\u7194\u7528\u7AAF\u7F8A\u8000\u8449\u84C9\u8981\u8B21\u8E0A\u9065\u967D\u990A\u617E\u6291\u6B32\u6C83\u6D74\u7FCC\u7FFC\u6DC0\u7F85\u87BA\u88F8\u6765\u83B1\u983C\u96F7\u6D1B\u7D61\u843D\u916A\u4E71\u5375\u5D50\u6B04\u6FEB\u85CD\u862D\u89A7\u5229\u540F\u5C65\u674E\u68A8\u7406\u7483"], + ["cea1", "\u75E2\u88CF\u88E1\u91CC\u96E2\u9678\u5F8B\u7387\u7ACB\u844E\u63A0\u7565\u5289\u6D41\u6E9C\u7409\u7559\u786B\u7C92\u9686\u7ADC\u9F8D\u4FB6\u616E\u65C5\u865C\u4E86\u4EAE\u50DA\u4E21\u51CC\u5BEE\u6599\u6881\u6DBC\u731F\u7642\u77AD\u7A1C\u7CE7\u826F\u8AD2\u907C\u91CF\u9675\u9818\u529B\u7DD1\u502B\u5398\u6797\u6DCB\u71D0\u7433\u81E8\u8F2A\u96A3\u9C57\u9E9F\u7460\u5841\u6D99\u7D2F\u985E\u4EE4\u4F36\u4F8B\u51B7\u52B1\u5DBA\u601C\u73B2\u793C\u82D3\u9234\u96B7\u96F6\u970A\u9E97\u9F62\u66A6\u6B74\u5217\u52A3\u70C8\u88C2\u5EC9\u604B\u6190\u6F23\u7149\u7C3E\u7DF4\u806F"], + ["cfa1", "\u84EE\u9023\u932C\u5442\u9B6F\u6AD3\u7089\u8CC2\u8DEF\u9732\u52B4\u5A41\u5ECA\u5F04\u6717\u697C\u6994\u6D6A\u6F0F\u7262\u72FC\u7BED\u8001\u807E\u874B\u90CE\u516D\u9E93\u7984\u808B\u9332\u8AD6\u502D\u548C\u8A71\u6B6A\u8CC4\u8107\u60D1\u67A0\u9DF2\u4E99\u4E98\u9C10\u8A6B\u85C1\u8568\u6900\u6E7E\u7897\u8155"], + ["d0a1", "\u5F0C\u4E10\u4E15\u4E2A\u4E31\u4E36\u4E3C\u4E3F\u4E42\u4E56\u4E58\u4E82\u4E85\u8C6B\u4E8A\u8212\u5F0D\u4E8E\u4E9E\u4E9F\u4EA0\u4EA2\u4EB0\u4EB3\u4EB6\u4ECE\u4ECD\u4EC4\u4EC6\u4EC2\u4ED7\u4EDE\u4EED\u4EDF\u4EF7\u4F09\u4F5A\u4F30\u4F5B\u4F5D\u4F57\u4F47\u4F76\u4F88\u4F8F\u4F98\u4F7B\u4F69\u4F70\u4F91\u4F6F\u4F86\u4F96\u5118\u4FD4\u4FDF\u4FCE\u4FD8\u4FDB\u4FD1\u4FDA\u4FD0\u4FE4\u4FE5\u501A\u5028\u5014\u502A\u5025\u5005\u4F1C\u4FF6\u5021\u5029\u502C\u4FFE\u4FEF\u5011\u5006\u5043\u5047\u6703\u5055\u5050\u5048\u505A\u5056\u506C\u5078\u5080\u509A\u5085\u50B4\u50B2"], + ["d1a1", "\u50C9\u50CA\u50B3\u50C2\u50D6\u50DE\u50E5\u50ED\u50E3\u50EE\u50F9\u50F5\u5109\u5101\u5102\u5116\u5115\u5114\u511A\u5121\u513A\u5137\u513C\u513B\u513F\u5140\u5152\u514C\u5154\u5162\u7AF8\u5169\u516A\u516E\u5180\u5182\u56D8\u518C\u5189\u518F\u5191\u5193\u5195\u5196\u51A4\u51A6\u51A2\u51A9\u51AA\u51AB\u51B3\u51B1\u51B2\u51B0\u51B5\u51BD\u51C5\u51C9\u51DB\u51E0\u8655\u51E9\u51ED\u51F0\u51F5\u51FE\u5204\u520B\u5214\u520E\u5227\u522A\u522E\u5233\u5239\u524F\u5244\u524B\u524C\u525E\u5254\u526A\u5274\u5269\u5273\u527F\u527D\u528D\u5294\u5292\u5271\u5288\u5291\u8FA8"], + ["d2a1", "\u8FA7\u52AC\u52AD\u52BC\u52B5\u52C1\u52CD\u52D7\u52DE\u52E3\u52E6\u98ED\u52E0\u52F3\u52F5\u52F8\u52F9\u5306\u5308\u7538\u530D\u5310\u530F\u5315\u531A\u5323\u532F\u5331\u5333\u5338\u5340\u5346\u5345\u4E17\u5349\u534D\u51D6\u535E\u5369\u536E\u5918\u537B\u5377\u5382\u5396\u53A0\u53A6\u53A5\u53AE\u53B0\u53B6\u53C3\u7C12\u96D9\u53DF\u66FC\u71EE\u53EE\u53E8\u53ED\u53FA\u5401\u543D\u5440\u542C\u542D\u543C\u542E\u5436\u5429\u541D\u544E\u548F\u5475\u548E\u545F\u5471\u5477\u5470\u5492\u547B\u5480\u5476\u5484\u5490\u5486\u54C7\u54A2\u54B8\u54A5\u54AC\u54C4\u54C8\u54A8"], + ["d3a1", "\u54AB\u54C2\u54A4\u54BE\u54BC\u54D8\u54E5\u54E6\u550F\u5514\u54FD\u54EE\u54ED\u54FA\u54E2\u5539\u5540\u5563\u554C\u552E\u555C\u5545\u5556\u5557\u5538\u5533\u555D\u5599\u5580\u54AF\u558A\u559F\u557B\u557E\u5598\u559E\u55AE\u557C\u5583\u55A9\u5587\u55A8\u55DA\u55C5\u55DF\u55C4\u55DC\u55E4\u55D4\u5614\u55F7\u5616\u55FE\u55FD\u561B\u55F9\u564E\u5650\u71DF\u5634\u5636\u5632\u5638\u566B\u5664\u562F\u566C\u566A\u5686\u5680\u568A\u56A0\u5694\u568F\u56A5\u56AE\u56B6\u56B4\u56C2\u56BC\u56C1\u56C3\u56C0\u56C8\u56CE\u56D1\u56D3\u56D7\u56EE\u56F9\u5700\u56FF\u5704\u5709"], + ["d4a1", "\u5708\u570B\u570D\u5713\u5718\u5716\u55C7\u571C\u5726\u5737\u5738\u574E\u573B\u5740\u574F\u5769\u57C0\u5788\u5761\u577F\u5789\u5793\u57A0\u57B3\u57A4\u57AA\u57B0\u57C3\u57C6\u57D4\u57D2\u57D3\u580A\u57D6\u57E3\u580B\u5819\u581D\u5872\u5821\u5862\u584B\u5870\u6BC0\u5852\u583D\u5879\u5885\u58B9\u589F\u58AB\u58BA\u58DE\u58BB\u58B8\u58AE\u58C5\u58D3\u58D1\u58D7\u58D9\u58D8\u58E5\u58DC\u58E4\u58DF\u58EF\u58FA\u58F9\u58FB\u58FC\u58FD\u5902\u590A\u5910\u591B\u68A6\u5925\u592C\u592D\u5932\u5938\u593E\u7AD2\u5955\u5950\u594E\u595A\u5958\u5962\u5960\u5967\u596C\u5969"], + ["d5a1", "\u5978\u5981\u599D\u4F5E\u4FAB\u59A3\u59B2\u59C6\u59E8\u59DC\u598D\u59D9\u59DA\u5A25\u5A1F\u5A11\u5A1C\u5A09\u5A1A\u5A40\u5A6C\u5A49\u5A35\u5A36\u5A62\u5A6A\u5A9A\u5ABC\u5ABE\u5ACB\u5AC2\u5ABD\u5AE3\u5AD7\u5AE6\u5AE9\u5AD6\u5AFA\u5AFB\u5B0C\u5B0B\u5B16\u5B32\u5AD0\u5B2A\u5B36\u5B3E\u5B43\u5B45\u5B40\u5B51\u5B55\u5B5A\u5B5B\u5B65\u5B69\u5B70\u5B73\u5B75\u5B78\u6588\u5B7A\u5B80\u5B83\u5BA6\u5BB8\u5BC3\u5BC7\u5BC9\u5BD4\u5BD0\u5BE4\u5BE6\u5BE2\u5BDE\u5BE5\u5BEB\u5BF0\u5BF6\u5BF3\u5C05\u5C07\u5C08\u5C0D\u5C13\u5C20\u5C22\u5C28\u5C38\u5C39\u5C41\u5C46\u5C4E\u5C53"], + ["d6a1", "\u5C50\u5C4F\u5B71\u5C6C\u5C6E\u4E62\u5C76\u5C79\u5C8C\u5C91\u5C94\u599B\u5CAB\u5CBB\u5CB6\u5CBC\u5CB7\u5CC5\u5CBE\u5CC7\u5CD9\u5CE9\u5CFD\u5CFA\u5CED\u5D8C\u5CEA\u5D0B\u5D15\u5D17\u5D5C\u5D1F\u5D1B\u5D11\u5D14\u5D22\u5D1A\u5D19\u5D18\u5D4C\u5D52\u5D4E\u5D4B\u5D6C\u5D73\u5D76\u5D87\u5D84\u5D82\u5DA2\u5D9D\u5DAC\u5DAE\u5DBD\u5D90\u5DB7\u5DBC\u5DC9\u5DCD\u5DD3\u5DD2\u5DD6\u5DDB\u5DEB\u5DF2\u5DF5\u5E0B\u5E1A\u5E19\u5E11\u5E1B\u5E36\u5E37\u5E44\u5E43\u5E40\u5E4E\u5E57\u5E54\u5E5F\u5E62\u5E64\u5E47\u5E75\u5E76\u5E7A\u9EBC\u5E7F\u5EA0\u5EC1\u5EC2\u5EC8\u5ED0\u5ECF"], + ["d7a1", "\u5ED6\u5EE3\u5EDD\u5EDA\u5EDB\u5EE2\u5EE1\u5EE8\u5EE9\u5EEC\u5EF1\u5EF3\u5EF0\u5EF4\u5EF8\u5EFE\u5F03\u5F09\u5F5D\u5F5C\u5F0B\u5F11\u5F16\u5F29\u5F2D\u5F38\u5F41\u5F48\u5F4C\u5F4E\u5F2F\u5F51\u5F56\u5F57\u5F59\u5F61\u5F6D\u5F73\u5F77\u5F83\u5F82\u5F7F\u5F8A\u5F88\u5F91\u5F87\u5F9E\u5F99\u5F98\u5FA0\u5FA8\u5FAD\u5FBC\u5FD6\u5FFB\u5FE4\u5FF8\u5FF1\u5FDD\u60B3\u5FFF\u6021\u6060\u6019\u6010\u6029\u600E\u6031\u601B\u6015\u602B\u6026\u600F\u603A\u605A\u6041\u606A\u6077\u605F\u604A\u6046\u604D\u6063\u6043\u6064\u6042\u606C\u606B\u6059\u6081\u608D\u60E7\u6083\u609A"], + ["d8a1", "\u6084\u609B\u6096\u6097\u6092\u60A7\u608B\u60E1\u60B8\u60E0\u60D3\u60B4\u5FF0\u60BD\u60C6\u60B5\u60D8\u614D\u6115\u6106\u60F6\u60F7\u6100\u60F4\u60FA\u6103\u6121\u60FB\u60F1\u610D\u610E\u6147\u613E\u6128\u6127\u614A\u613F\u613C\u612C\u6134\u613D\u6142\u6144\u6173\u6177\u6158\u6159\u615A\u616B\u6174\u616F\u6165\u6171\u615F\u615D\u6153\u6175\u6199\u6196\u6187\u61AC\u6194\u619A\u618A\u6191\u61AB\u61AE\u61CC\u61CA\u61C9\u61F7\u61C8\u61C3\u61C6\u61BA\u61CB\u7F79\u61CD\u61E6\u61E3\u61F6\u61FA\u61F4\u61FF\u61FD\u61FC\u61FE\u6200\u6208\u6209\u620D\u620C\u6214\u621B"], + ["d9a1", "\u621E\u6221\u622A\u622E\u6230\u6232\u6233\u6241\u624E\u625E\u6263\u625B\u6260\u6268\u627C\u6282\u6289\u627E\u6292\u6293\u6296\u62D4\u6283\u6294\u62D7\u62D1\u62BB\u62CF\u62FF\u62C6\u64D4\u62C8\u62DC\u62CC\u62CA\u62C2\u62C7\u629B\u62C9\u630C\u62EE\u62F1\u6327\u6302\u6308\u62EF\u62F5\u6350\u633E\u634D\u641C\u634F\u6396\u638E\u6380\u63AB\u6376\u63A3\u638F\u6389\u639F\u63B5\u636B\u6369\u63BE\u63E9\u63C0\u63C6\u63E3\u63C9\u63D2\u63F6\u63C4\u6416\u6434\u6406\u6413\u6426\u6436\u651D\u6417\u6428\u640F\u6467\u646F\u6476\u644E\u652A\u6495\u6493\u64A5\u64A9\u6488\u64BC"], + ["daa1", "\u64DA\u64D2\u64C5\u64C7\u64BB\u64D8\u64C2\u64F1\u64E7\u8209\u64E0\u64E1\u62AC\u64E3\u64EF\u652C\u64F6\u64F4\u64F2\u64FA\u6500\u64FD\u6518\u651C\u6505\u6524\u6523\u652B\u6534\u6535\u6537\u6536\u6538\u754B\u6548\u6556\u6555\u654D\u6558\u655E\u655D\u6572\u6578\u6582\u6583\u8B8A\u659B\u659F\u65AB\u65B7\u65C3\u65C6\u65C1\u65C4\u65CC\u65D2\u65DB\u65D9\u65E0\u65E1\u65F1\u6772\u660A\u6603\u65FB\u6773\u6635\u6636\u6634\u661C\u664F\u6644\u6649\u6641\u665E\u665D\u6664\u6667\u6668\u665F\u6662\u6670\u6683\u6688\u668E\u6689\u6684\u6698\u669D\u66C1\u66B9\u66C9\u66BE\u66BC"], + ["dba1", "\u66C4\u66B8\u66D6\u66DA\u66E0\u663F\u66E6\u66E9\u66F0\u66F5\u66F7\u670F\u6716\u671E\u6726\u6727\u9738\u672E\u673F\u6736\u6741\u6738\u6737\u6746\u675E\u6760\u6759\u6763\u6764\u6789\u6770\u67A9\u677C\u676A\u678C\u678B\u67A6\u67A1\u6785\u67B7\u67EF\u67B4\u67EC\u67B3\u67E9\u67B8\u67E4\u67DE\u67DD\u67E2\u67EE\u67B9\u67CE\u67C6\u67E7\u6A9C\u681E\u6846\u6829\u6840\u684D\u6832\u684E\u68B3\u682B\u6859\u6863\u6877\u687F\u689F\u688F\u68AD\u6894\u689D\u689B\u6883\u6AAE\u68B9\u6874\u68B5\u68A0\u68BA\u690F\u688D\u687E\u6901\u68CA\u6908\u68D8\u6922\u6926\u68E1\u690C\u68CD"], + ["dca1", "\u68D4\u68E7\u68D5\u6936\u6912\u6904\u68D7\u68E3\u6925\u68F9\u68E0\u68EF\u6928\u692A\u691A\u6923\u6921\u68C6\u6979\u6977\u695C\u6978\u696B\u6954\u697E\u696E\u6939\u6974\u693D\u6959\u6930\u6961\u695E\u695D\u6981\u696A\u69B2\u69AE\u69D0\u69BF\u69C1\u69D3\u69BE\u69CE\u5BE8\u69CA\u69DD\u69BB\u69C3\u69A7\u6A2E\u6991\u69A0\u699C\u6995\u69B4\u69DE\u69E8\u6A02\u6A1B\u69FF\u6B0A\u69F9\u69F2\u69E7\u6A05\u69B1\u6A1E\u69ED\u6A14\u69EB\u6A0A\u6A12\u6AC1\u6A23\u6A13\u6A44\u6A0C\u6A72\u6A36\u6A78\u6A47\u6A62\u6A59\u6A66\u6A48\u6A38\u6A22\u6A90\u6A8D\u6AA0\u6A84\u6AA2\u6AA3"], + ["dda1", "\u6A97\u8617\u6ABB\u6AC3\u6AC2\u6AB8\u6AB3\u6AAC\u6ADE\u6AD1\u6ADF\u6AAA\u6ADA\u6AEA\u6AFB\u6B05\u8616\u6AFA\u6B12\u6B16\u9B31\u6B1F\u6B38\u6B37\u76DC\u6B39\u98EE\u6B47\u6B43\u6B49\u6B50\u6B59\u6B54\u6B5B\u6B5F\u6B61\u6B78\u6B79\u6B7F\u6B80\u6B84\u6B83\u6B8D\u6B98\u6B95\u6B9E\u6BA4\u6BAA\u6BAB\u6BAF\u6BB2\u6BB1\u6BB3\u6BB7\u6BBC\u6BC6\u6BCB\u6BD3\u6BDF\u6BEC\u6BEB\u6BF3\u6BEF\u9EBE\u6C08\u6C13\u6C14\u6C1B\u6C24\u6C23\u6C5E\u6C55\u6C62\u6C6A\u6C82\u6C8D\u6C9A\u6C81\u6C9B\u6C7E\u6C68\u6C73\u6C92\u6C90\u6CC4\u6CF1\u6CD3\u6CBD\u6CD7\u6CC5\u6CDD\u6CAE\u6CB1\u6CBE"], + ["dea1", "\u6CBA\u6CDB\u6CEF\u6CD9\u6CEA\u6D1F\u884D\u6D36\u6D2B\u6D3D\u6D38\u6D19\u6D35\u6D33\u6D12\u6D0C\u6D63\u6D93\u6D64\u6D5A\u6D79\u6D59\u6D8E\u6D95\u6FE4\u6D85\u6DF9\u6E15\u6E0A\u6DB5\u6DC7\u6DE6\u6DB8\u6DC6\u6DEC\u6DDE\u6DCC\u6DE8\u6DD2\u6DC5\u6DFA\u6DD9\u6DE4\u6DD5\u6DEA\u6DEE\u6E2D\u6E6E\u6E2E\u6E19\u6E72\u6E5F\u6E3E\u6E23\u6E6B\u6E2B\u6E76\u6E4D\u6E1F\u6E43\u6E3A\u6E4E\u6E24\u6EFF\u6E1D\u6E38\u6E82\u6EAA\u6E98\u6EC9\u6EB7\u6ED3\u6EBD\u6EAF\u6EC4\u6EB2\u6ED4\u6ED5\u6E8F\u6EA5\u6EC2\u6E9F\u6F41\u6F11\u704C\u6EEC\u6EF8\u6EFE\u6F3F\u6EF2\u6F31\u6EEF\u6F32\u6ECC"], + ["dfa1", "\u6F3E\u6F13\u6EF7\u6F86\u6F7A\u6F78\u6F81\u6F80\u6F6F\u6F5B\u6FF3\u6F6D\u6F82\u6F7C\u6F58\u6F8E\u6F91\u6FC2\u6F66\u6FB3\u6FA3\u6FA1\u6FA4\u6FB9\u6FC6\u6FAA\u6FDF\u6FD5\u6FEC\u6FD4\u6FD8\u6FF1\u6FEE\u6FDB\u7009\u700B\u6FFA\u7011\u7001\u700F\u6FFE\u701B\u701A\u6F74\u701D\u7018\u701F\u7030\u703E\u7032\u7051\u7063\u7099\u7092\u70AF\u70F1\u70AC\u70B8\u70B3\u70AE\u70DF\u70CB\u70DD\u70D9\u7109\u70FD\u711C\u7119\u7165\u7155\u7188\u7166\u7162\u714C\u7156\u716C\u718F\u71FB\u7184\u7195\u71A8\u71AC\u71D7\u71B9\u71BE\u71D2\u71C9\u71D4\u71CE\u71E0\u71EC\u71E7\u71F5\u71FC"], + ["e0a1", "\u71F9\u71FF\u720D\u7210\u721B\u7228\u722D\u722C\u7230\u7232\u723B\u723C\u723F\u7240\u7246\u724B\u7258\u7274\u727E\u7282\u7281\u7287\u7292\u7296\u72A2\u72A7\u72B9\u72B2\u72C3\u72C6\u72C4\u72CE\u72D2\u72E2\u72E0\u72E1\u72F9\u72F7\u500F\u7317\u730A\u731C\u7316\u731D\u7334\u732F\u7329\u7325\u733E\u734E\u734F\u9ED8\u7357\u736A\u7368\u7370\u7378\u7375\u737B\u737A\u73C8\u73B3\u73CE\u73BB\u73C0\u73E5\u73EE\u73DE\u74A2\u7405\u746F\u7425\u73F8\u7432\u743A\u7455\u743F\u745F\u7459\u7441\u745C\u7469\u7470\u7463\u746A\u7476\u747E\u748B\u749E\u74A7\u74CA\u74CF\u74D4\u73F1"], + ["e1a1", "\u74E0\u74E3\u74E7\u74E9\u74EE\u74F2\u74F0\u74F1\u74F8\u74F7\u7504\u7503\u7505\u750C\u750E\u750D\u7515\u7513\u751E\u7526\u752C\u753C\u7544\u754D\u754A\u7549\u755B\u7546\u755A\u7569\u7564\u7567\u756B\u756D\u7578\u7576\u7586\u7587\u7574\u758A\u7589\u7582\u7594\u759A\u759D\u75A5\u75A3\u75C2\u75B3\u75C3\u75B5\u75BD\u75B8\u75BC\u75B1\u75CD\u75CA\u75D2\u75D9\u75E3\u75DE\u75FE\u75FF\u75FC\u7601\u75F0\u75FA\u75F2\u75F3\u760B\u760D\u7609\u761F\u7627\u7620\u7621\u7622\u7624\u7634\u7630\u763B\u7647\u7648\u7646\u765C\u7658\u7661\u7662\u7668\u7669\u766A\u7667\u766C\u7670"], + ["e2a1", "\u7672\u7676\u7678\u767C\u7680\u7683\u7688\u768B\u768E\u7696\u7693\u7699\u769A\u76B0\u76B4\u76B8\u76B9\u76BA\u76C2\u76CD\u76D6\u76D2\u76DE\u76E1\u76E5\u76E7\u76EA\u862F\u76FB\u7708\u7707\u7704\u7729\u7724\u771E\u7725\u7726\u771B\u7737\u7738\u7747\u775A\u7768\u776B\u775B\u7765\u777F\u777E\u7779\u778E\u778B\u7791\u77A0\u779E\u77B0\u77B6\u77B9\u77BF\u77BC\u77BD\u77BB\u77C7\u77CD\u77D7\u77DA\u77DC\u77E3\u77EE\u77FC\u780C\u7812\u7926\u7820\u792A\u7845\u788E\u7874\u7886\u787C\u789A\u788C\u78A3\u78B5\u78AA\u78AF\u78D1\u78C6\u78CB\u78D4\u78BE\u78BC\u78C5\u78CA\u78EC"], + ["e3a1", "\u78E7\u78DA\u78FD\u78F4\u7907\u7912\u7911\u7919\u792C\u792B\u7940\u7960\u7957\u795F\u795A\u7955\u7953\u797A\u797F\u798A\u799D\u79A7\u9F4B\u79AA\u79AE\u79B3\u79B9\u79BA\u79C9\u79D5\u79E7\u79EC\u79E1\u79E3\u7A08\u7A0D\u7A18\u7A19\u7A20\u7A1F\u7980\u7A31\u7A3B\u7A3E\u7A37\u7A43\u7A57\u7A49\u7A61\u7A62\u7A69\u9F9D\u7A70\u7A79\u7A7D\u7A88\u7A97\u7A95\u7A98\u7A96\u7AA9\u7AC8\u7AB0\u7AB6\u7AC5\u7AC4\u7ABF\u9083\u7AC7\u7ACA\u7ACD\u7ACF\u7AD5\u7AD3\u7AD9\u7ADA\u7ADD\u7AE1\u7AE2\u7AE6\u7AED\u7AF0\u7B02\u7B0F\u7B0A\u7B06\u7B33\u7B18\u7B19\u7B1E\u7B35\u7B28\u7B36\u7B50"], + ["e4a1", "\u7B7A\u7B04\u7B4D\u7B0B\u7B4C\u7B45\u7B75\u7B65\u7B74\u7B67\u7B70\u7B71\u7B6C\u7B6E\u7B9D\u7B98\u7B9F\u7B8D\u7B9C\u7B9A\u7B8B\u7B92\u7B8F\u7B5D\u7B99\u7BCB\u7BC1\u7BCC\u7BCF\u7BB4\u7BC6\u7BDD\u7BE9\u7C11\u7C14\u7BE6\u7BE5\u7C60\u7C00\u7C07\u7C13\u7BF3\u7BF7\u7C17\u7C0D\u7BF6\u7C23\u7C27\u7C2A\u7C1F\u7C37\u7C2B\u7C3D\u7C4C\u7C43\u7C54\u7C4F\u7C40\u7C50\u7C58\u7C5F\u7C64\u7C56\u7C65\u7C6C\u7C75\u7C83\u7C90\u7CA4\u7CAD\u7CA2\u7CAB\u7CA1\u7CA8\u7CB3\u7CB2\u7CB1\u7CAE\u7CB9\u7CBD\u7CC0\u7CC5\u7CC2\u7CD8\u7CD2\u7CDC\u7CE2\u9B3B\u7CEF\u7CF2\u7CF4\u7CF6\u7CFA\u7D06"], + ["e5a1", "\u7D02\u7D1C\u7D15\u7D0A\u7D45\u7D4B\u7D2E\u7D32\u7D3F\u7D35\u7D46\u7D73\u7D56\u7D4E\u7D72\u7D68\u7D6E\u7D4F\u7D63\u7D93\u7D89\u7D5B\u7D8F\u7D7D\u7D9B\u7DBA\u7DAE\u7DA3\u7DB5\u7DC7\u7DBD\u7DAB\u7E3D\u7DA2\u7DAF\u7DDC\u7DB8\u7D9F\u7DB0\u7DD8\u7DDD\u7DE4\u7DDE\u7DFB\u7DF2\u7DE1\u7E05\u7E0A\u7E23\u7E21\u7E12\u7E31\u7E1F\u7E09\u7E0B\u7E22\u7E46\u7E66\u7E3B\u7E35\u7E39\u7E43\u7E37\u7E32\u7E3A\u7E67\u7E5D\u7E56\u7E5E\u7E59\u7E5A\u7E79\u7E6A\u7E69\u7E7C\u7E7B\u7E83\u7DD5\u7E7D\u8FAE\u7E7F\u7E88\u7E89\u7E8C\u7E92\u7E90\u7E93\u7E94\u7E96\u7E8E\u7E9B\u7E9C\u7F38\u7F3A"], + ["e6a1", "\u7F45\u7F4C\u7F4D\u7F4E\u7F50\u7F51\u7F55\u7F54\u7F58\u7F5F\u7F60\u7F68\u7F69\u7F67\u7F78\u7F82\u7F86\u7F83\u7F88\u7F87\u7F8C\u7F94\u7F9E\u7F9D\u7F9A\u7FA3\u7FAF\u7FB2\u7FB9\u7FAE\u7FB6\u7FB8\u8B71\u7FC5\u7FC6\u7FCA\u7FD5\u7FD4\u7FE1\u7FE6\u7FE9\u7FF3\u7FF9\u98DC\u8006\u8004\u800B\u8012\u8018\u8019\u801C\u8021\u8028\u803F\u803B\u804A\u8046\u8052\u8058\u805A\u805F\u8062\u8068\u8073\u8072\u8070\u8076\u8079\u807D\u807F\u8084\u8086\u8085\u809B\u8093\u809A\u80AD\u5190\u80AC\u80DB\u80E5\u80D9\u80DD\u80C4\u80DA\u80D6\u8109\u80EF\u80F1\u811B\u8129\u8123\u812F\u814B"], + ["e7a1", "\u968B\u8146\u813E\u8153\u8151\u80FC\u8171\u816E\u8165\u8166\u8174\u8183\u8188\u818A\u8180\u8182\u81A0\u8195\u81A4\u81A3\u815F\u8193\u81A9\u81B0\u81B5\u81BE\u81B8\u81BD\u81C0\u81C2\u81BA\u81C9\u81CD\u81D1\u81D9\u81D8\u81C8\u81DA\u81DF\u81E0\u81E7\u81FA\u81FB\u81FE\u8201\u8202\u8205\u8207\u820A\u820D\u8210\u8216\u8229\u822B\u8238\u8233\u8240\u8259\u8258\u825D\u825A\u825F\u8264\u8262\u8268\u826A\u826B\u822E\u8271\u8277\u8278\u827E\u828D\u8292\u82AB\u829F\u82BB\u82AC\u82E1\u82E3\u82DF\u82D2\u82F4\u82F3\u82FA\u8393\u8303\u82FB\u82F9\u82DE\u8306\u82DC\u8309\u82D9"], + ["e8a1", "\u8335\u8334\u8316\u8332\u8331\u8340\u8339\u8350\u8345\u832F\u832B\u8317\u8318\u8385\u839A\u83AA\u839F\u83A2\u8396\u8323\u838E\u8387\u838A\u837C\u83B5\u8373\u8375\u83A0\u8389\u83A8\u83F4\u8413\u83EB\u83CE\u83FD\u8403\u83D8\u840B\u83C1\u83F7\u8407\u83E0\u83F2\u840D\u8422\u8420\u83BD\u8438\u8506\u83FB\u846D\u842A\u843C\u855A\u8484\u8477\u846B\u84AD\u846E\u8482\u8469\u8446\u842C\u846F\u8479\u8435\u84CA\u8462\u84B9\u84BF\u849F\u84D9\u84CD\u84BB\u84DA\u84D0\u84C1\u84C6\u84D6\u84A1\u8521\u84FF\u84F4\u8517\u8518\u852C\u851F\u8515\u8514\u84FC\u8540\u8563\u8558\u8548"], + ["e9a1", "\u8541\u8602\u854B\u8555\u8580\u85A4\u8588\u8591\u858A\u85A8\u856D\u8594\u859B\u85EA\u8587\u859C\u8577\u857E\u8590\u85C9\u85BA\u85CF\u85B9\u85D0\u85D5\u85DD\u85E5\u85DC\u85F9\u860A\u8613\u860B\u85FE\u85FA\u8606\u8622\u861A\u8630\u863F\u864D\u4E55\u8654\u865F\u8667\u8671\u8693\u86A3\u86A9\u86AA\u868B\u868C\u86B6\u86AF\u86C4\u86C6\u86B0\u86C9\u8823\u86AB\u86D4\u86DE\u86E9\u86EC\u86DF\u86DB\u86EF\u8712\u8706\u8708\u8700\u8703\u86FB\u8711\u8709\u870D\u86F9\u870A\u8734\u873F\u8737\u873B\u8725\u8729\u871A\u8760\u875F\u8778\u874C\u874E\u8774\u8757\u8768\u876E\u8759"], + ["eaa1", "\u8753\u8763\u876A\u8805\u87A2\u879F\u8782\u87AF\u87CB\u87BD\u87C0\u87D0\u96D6\u87AB\u87C4\u87B3\u87C7\u87C6\u87BB\u87EF\u87F2\u87E0\u880F\u880D\u87FE\u87F6\u87F7\u880E\u87D2\u8811\u8816\u8815\u8822\u8821\u8831\u8836\u8839\u8827\u883B\u8844\u8842\u8852\u8859\u885E\u8862\u886B\u8881\u887E\u889E\u8875\u887D\u88B5\u8872\u8882\u8897\u8892\u88AE\u8899\u88A2\u888D\u88A4\u88B0\u88BF\u88B1\u88C3\u88C4\u88D4\u88D8\u88D9\u88DD\u88F9\u8902\u88FC\u88F4\u88E8\u88F2\u8904\u890C\u890A\u8913\u8943\u891E\u8925\u892A\u892B\u8941\u8944\u893B\u8936\u8938\u894C\u891D\u8960\u895E"], + ["eba1", "\u8966\u8964\u896D\u896A\u896F\u8974\u8977\u897E\u8983\u8988\u898A\u8993\u8998\u89A1\u89A9\u89A6\u89AC\u89AF\u89B2\u89BA\u89BD\u89BF\u89C0\u89DA\u89DC\u89DD\u89E7\u89F4\u89F8\u8A03\u8A16\u8A10\u8A0C\u8A1B\u8A1D\u8A25\u8A36\u8A41\u8A5B\u8A52\u8A46\u8A48\u8A7C\u8A6D\u8A6C\u8A62\u8A85\u8A82\u8A84\u8AA8\u8AA1\u8A91\u8AA5\u8AA6\u8A9A\u8AA3\u8AC4\u8ACD\u8AC2\u8ADA\u8AEB\u8AF3\u8AE7\u8AE4\u8AF1\u8B14\u8AE0\u8AE2\u8AF7\u8ADE\u8ADB\u8B0C\u8B07\u8B1A\u8AE1\u8B16\u8B10\u8B17\u8B20\u8B33\u97AB\u8B26\u8B2B\u8B3E\u8B28\u8B41\u8B4C\u8B4F\u8B4E\u8B49\u8B56\u8B5B\u8B5A\u8B6B"], + ["eca1", "\u8B5F\u8B6C\u8B6F\u8B74\u8B7D\u8B80\u8B8C\u8B8E\u8B92\u8B93\u8B96\u8B99\u8B9A\u8C3A\u8C41\u8C3F\u8C48\u8C4C\u8C4E\u8C50\u8C55\u8C62\u8C6C\u8C78\u8C7A\u8C82\u8C89\u8C85\u8C8A\u8C8D\u8C8E\u8C94\u8C7C\u8C98\u621D\u8CAD\u8CAA\u8CBD\u8CB2\u8CB3\u8CAE\u8CB6\u8CC8\u8CC1\u8CE4\u8CE3\u8CDA\u8CFD\u8CFA\u8CFB\u8D04\u8D05\u8D0A\u8D07\u8D0F\u8D0D\u8D10\u9F4E\u8D13\u8CCD\u8D14\u8D16\u8D67\u8D6D\u8D71\u8D73\u8D81\u8D99\u8DC2\u8DBE\u8DBA\u8DCF\u8DDA\u8DD6\u8DCC\u8DDB\u8DCB\u8DEA\u8DEB\u8DDF\u8DE3\u8DFC\u8E08\u8E09\u8DFF\u8E1D\u8E1E\u8E10\u8E1F\u8E42\u8E35\u8E30\u8E34\u8E4A"], + ["eda1", "\u8E47\u8E49\u8E4C\u8E50\u8E48\u8E59\u8E64\u8E60\u8E2A\u8E63\u8E55\u8E76\u8E72\u8E7C\u8E81\u8E87\u8E85\u8E84\u8E8B\u8E8A\u8E93\u8E91\u8E94\u8E99\u8EAA\u8EA1\u8EAC\u8EB0\u8EC6\u8EB1\u8EBE\u8EC5\u8EC8\u8ECB\u8EDB\u8EE3\u8EFC\u8EFB\u8EEB\u8EFE\u8F0A\u8F05\u8F15\u8F12\u8F19\u8F13\u8F1C\u8F1F\u8F1B\u8F0C\u8F26\u8F33\u8F3B\u8F39\u8F45\u8F42\u8F3E\u8F4C\u8F49\u8F46\u8F4E\u8F57\u8F5C\u8F62\u8F63\u8F64\u8F9C\u8F9F\u8FA3\u8FAD\u8FAF\u8FB7\u8FDA\u8FE5\u8FE2\u8FEA\u8FEF\u9087\u8FF4\u9005\u8FF9\u8FFA\u9011\u9015\u9021\u900D\u901E\u9016\u900B\u9027\u9036\u9035\u9039\u8FF8"], + ["eea1", "\u904F\u9050\u9051\u9052\u900E\u9049\u903E\u9056\u9058\u905E\u9068\u906F\u9076\u96A8\u9072\u9082\u907D\u9081\u9080\u908A\u9089\u908F\u90A8\u90AF\u90B1\u90B5\u90E2\u90E4\u6248\u90DB\u9102\u9112\u9119\u9132\u9130\u914A\u9156\u9158\u9163\u9165\u9169\u9173\u9172\u918B\u9189\u9182\u91A2\u91AB\u91AF\u91AA\u91B5\u91B4\u91BA\u91C0\u91C1\u91C9\u91CB\u91D0\u91D6\u91DF\u91E1\u91DB\u91FC\u91F5\u91F6\u921E\u91FF\u9214\u922C\u9215\u9211\u925E\u9257\u9245\u9249\u9264\u9248\u9295\u923F\u924B\u9250\u929C\u9296\u9293\u929B\u925A\u92CF\u92B9\u92B7\u92E9\u930F\u92FA\u9344\u932E"], + ["efa1", "\u9319\u9322\u931A\u9323\u933A\u9335\u933B\u935C\u9360\u937C\u936E\u9356\u93B0\u93AC\u93AD\u9394\u93B9\u93D6\u93D7\u93E8\u93E5\u93D8\u93C3\u93DD\u93D0\u93C8\u93E4\u941A\u9414\u9413\u9403\u9407\u9410\u9436\u942B\u9435\u9421\u943A\u9441\u9452\u9444\u945B\u9460\u9462\u945E\u946A\u9229\u9470\u9475\u9477\u947D\u945A\u947C\u947E\u9481\u947F\u9582\u9587\u958A\u9594\u9596\u9598\u9599\u95A0\u95A8\u95A7\u95AD\u95BC\u95BB\u95B9\u95BE\u95CA\u6FF6\u95C3\u95CD\u95CC\u95D5\u95D4\u95D6\u95DC\u95E1\u95E5\u95E2\u9621\u9628\u962E\u962F\u9642\u964C\u964F\u964B\u9677\u965C\u965E"], + ["f0a1", "\u965D\u965F\u9666\u9672\u966C\u968D\u9698\u9695\u9697\u96AA\u96A7\u96B1\u96B2\u96B0\u96B4\u96B6\u96B8\u96B9\u96CE\u96CB\u96C9\u96CD\u894D\u96DC\u970D\u96D5\u96F9\u9704\u9706\u9708\u9713\u970E\u9711\u970F\u9716\u9719\u9724\u972A\u9730\u9739\u973D\u973E\u9744\u9746\u9748\u9742\u9749\u975C\u9760\u9764\u9766\u9768\u52D2\u976B\u9771\u9779\u9785\u977C\u9781\u977A\u9786\u978B\u978F\u9790\u979C\u97A8\u97A6\u97A3\u97B3\u97B4\u97C3\u97C6\u97C8\u97CB\u97DC\u97ED\u9F4F\u97F2\u7ADF\u97F6\u97F5\u980F\u980C\u9838\u9824\u9821\u9837\u983D\u9846\u984F\u984B\u986B\u986F\u9870"], + ["f1a1", "\u9871\u9874\u9873\u98AA\u98AF\u98B1\u98B6\u98C4\u98C3\u98C6\u98E9\u98EB\u9903\u9909\u9912\u9914\u9918\u9921\u991D\u991E\u9924\u9920\u992C\u992E\u993D\u993E\u9942\u9949\u9945\u9950\u994B\u9951\u9952\u994C\u9955\u9997\u9998\u99A5\u99AD\u99AE\u99BC\u99DF\u99DB\u99DD\u99D8\u99D1\u99ED\u99EE\u99F1\u99F2\u99FB\u99F8\u9A01\u9A0F\u9A05\u99E2\u9A19\u9A2B\u9A37\u9A45\u9A42\u9A40\u9A43\u9A3E\u9A55\u9A4D\u9A5B\u9A57\u9A5F\u9A62\u9A65\u9A64\u9A69\u9A6B\u9A6A\u9AAD\u9AB0\u9ABC\u9AC0\u9ACF\u9AD1\u9AD3\u9AD4\u9ADE\u9ADF\u9AE2\u9AE3\u9AE6\u9AEF\u9AEB\u9AEE\u9AF4\u9AF1\u9AF7"], + ["f2a1", "\u9AFB\u9B06\u9B18\u9B1A\u9B1F\u9B22\u9B23\u9B25\u9B27\u9B28\u9B29\u9B2A\u9B2E\u9B2F\u9B32\u9B44\u9B43\u9B4F\u9B4D\u9B4E\u9B51\u9B58\u9B74\u9B93\u9B83\u9B91\u9B96\u9B97\u9B9F\u9BA0\u9BA8\u9BB4\u9BC0\u9BCA\u9BB9\u9BC6\u9BCF\u9BD1\u9BD2\u9BE3\u9BE2\u9BE4\u9BD4\u9BE1\u9C3A\u9BF2\u9BF1\u9BF0\u9C15\u9C14\u9C09\u9C13\u9C0C\u9C06\u9C08\u9C12\u9C0A\u9C04\u9C2E\u9C1B\u9C25\u9C24\u9C21\u9C30\u9C47\u9C32\u9C46\u9C3E\u9C5A\u9C60\u9C67\u9C76\u9C78\u9CE7\u9CEC\u9CF0\u9D09\u9D08\u9CEB\u9D03\u9D06\u9D2A\u9D26\u9DAF\u9D23\u9D1F\u9D44\u9D15\u9D12\u9D41\u9D3F\u9D3E\u9D46\u9D48"], + ["f3a1", "\u9D5D\u9D5E\u9D64\u9D51\u9D50\u9D59\u9D72\u9D89\u9D87\u9DAB\u9D6F\u9D7A\u9D9A\u9DA4\u9DA9\u9DB2\u9DC4\u9DC1\u9DBB\u9DB8\u9DBA\u9DC6\u9DCF\u9DC2\u9DD9\u9DD3\u9DF8\u9DE6\u9DED\u9DEF\u9DFD\u9E1A\u9E1B\u9E1E\u9E75\u9E79\u9E7D\u9E81\u9E88\u9E8B\u9E8C\u9E92\u9E95\u9E91\u9E9D\u9EA5\u9EA9\u9EB8\u9EAA\u9EAD\u9761\u9ECC\u9ECE\u9ECF\u9ED0\u9ED4\u9EDC\u9EDE\u9EDD\u9EE0\u9EE5\u9EE8\u9EEF\u9EF4\u9EF6\u9EF7\u9EF9\u9EFB\u9EFC\u9EFD\u9F07\u9F08\u76B7\u9F15\u9F21\u9F2C\u9F3E\u9F4A\u9F52\u9F54\u9F63\u9F5F\u9F60\u9F61\u9F66\u9F67\u9F6C\u9F6A\u9F77\u9F72\u9F76\u9F95\u9F9C\u9FA0"], + ["f4a1", "\u582F\u69C7\u9059\u7464\u51DC\u7199"], + ["f9a1", "\u7E8A\u891C\u9348\u9288\u84DC\u4FC9\u70BB\u6631\u68C8\u92F9\u66FB\u5F45\u4E28\u4EE1\u4EFC\u4F00\u4F03\u4F39\u4F56\u4F92\u4F8A\u4F9A\u4F94\u4FCD\u5040\u5022\u4FFF\u501E\u5046\u5070\u5042\u5094\u50F4\u50D8\u514A\u5164\u519D\u51BE\u51EC\u5215\u529C\u52A6\u52C0\u52DB\u5300\u5307\u5324\u5372\u5393\u53B2\u53DD\uFA0E\u549C\u548A\u54A9\u54FF\u5586\u5759\u5765\u57AC\u57C8\u57C7\uFA0F\uFA10\u589E\u58B2\u590B\u5953\u595B\u595D\u5963\u59A4\u59BA\u5B56\u5BC0\u752F\u5BD8\u5BEC\u5C1E\u5CA6\u5CBA\u5CF5\u5D27\u5D53\uFA11\u5D42\u5D6D\u5DB8\u5DB9\u5DD0\u5F21\u5F34\u5F67\u5FB7"], + ["faa1", "\u5FDE\u605D\u6085\u608A\u60DE\u60D5\u6120\u60F2\u6111\u6137\u6130\u6198\u6213\u62A6\u63F5\u6460\u649D\u64CE\u654E\u6600\u6615\u663B\u6609\u662E\u661E\u6624\u6665\u6657\u6659\uFA12\u6673\u6699\u66A0\u66B2\u66BF\u66FA\u670E\uF929\u6766\u67BB\u6852\u67C0\u6801\u6844\u68CF\uFA13\u6968\uFA14\u6998\u69E2\u6A30\u6A6B\u6A46\u6A73\u6A7E\u6AE2\u6AE4\u6BD6\u6C3F\u6C5C\u6C86\u6C6F\u6CDA\u6D04\u6D87\u6D6F\u6D96\u6DAC\u6DCF\u6DF8\u6DF2\u6DFC\u6E39\u6E5C\u6E27\u6E3C\u6EBF\u6F88\u6FB5\u6FF5\u7005\u7007\u7028\u7085\u70AB\u710F\u7104\u715C\u7146\u7147\uFA15\u71C1\u71FE\u72B1"], + ["fba1", "\u72BE\u7324\uFA16\u7377\u73BD\u73C9\u73D6\u73E3\u73D2\u7407\u73F5\u7426\u742A\u7429\u742E\u7462\u7489\u749F\u7501\u756F\u7682\u769C\u769E\u769B\u76A6\uFA17\u7746\u52AF\u7821\u784E\u7864\u787A\u7930\uFA18\uFA19\uFA1A\u7994\uFA1B\u799B\u7AD1\u7AE7\uFA1C\u7AEB\u7B9E\uFA1D\u7D48\u7D5C\u7DB7\u7DA0\u7DD6\u7E52\u7F47\u7FA1\uFA1E\u8301\u8362\u837F\u83C7\u83F6\u8448\u84B4\u8553\u8559\u856B\uFA1F\u85B0\uFA20\uFA21\u8807\u88F5\u8A12\u8A37\u8A79\u8AA7\u8ABE\u8ADF\uFA22\u8AF6\u8B53\u8B7F\u8CF0\u8CF4\u8D12\u8D76\uFA23\u8ECF\uFA24\uFA25\u9067\u90DE\uFA26\u9115\u9127\u91DA"], + ["fca1", "\u91D7\u91DE\u91ED\u91EE\u91E4\u91E5\u9206\u9210\u920A\u923A\u9240\u923C\u924E\u9259\u9251\u9239\u9267\u92A7\u9277\u9278\u92E7\u92D7\u92D9\u92D0\uFA27\u92D5\u92E0\u92D3\u9325\u9321\u92FB\uFA28\u931E\u92FF\u931D\u9302\u9370\u9357\u93A4\u93C6\u93DE\u93F8\u9431\u9445\u9448\u9592\uF9DC\uFA29\u969D\u96AF\u9733\u973B\u9743\u974D\u974F\u9751\u9755\u9857\u9865\uFA2A\uFA2B\u9927\uFA2C\u999E\u9A4E\u9AD9\u9ADC\u9B75\u9B72\u9B8F\u9BB1\u9BBB\u9C00\u9D70\u9D6B\uFA2D\u9E19\u9ED1"], + ["fcf1", "\u2170", 9, "\uFFE2\uFFE4\uFF07\uFF02"], + ["8fa2af", "\u02D8\u02C7\xB8\u02D9\u02DD\xAF\u02DB\u02DA\uFF5E\u0384\u0385"], + ["8fa2c2", "\xA1\xA6\xBF"], + ["8fa2eb", "\xBA\xAA\xA9\xAE\u2122\xA4\u2116"], + ["8fa6e1", "\u0386\u0388\u0389\u038A\u03AA"], + ["8fa6e7", "\u038C"], + ["8fa6e9", "\u038E\u03AB"], + ["8fa6ec", "\u038F"], + ["8fa6f1", "\u03AC\u03AD\u03AE\u03AF\u03CA\u0390\u03CC\u03C2\u03CD\u03CB\u03B0\u03CE"], + ["8fa7c2", "\u0402", 10, "\u040E\u040F"], + ["8fa7f2", "\u0452", 10, "\u045E\u045F"], + ["8fa9a1", "\xC6\u0110"], + ["8fa9a4", "\u0126"], + ["8fa9a6", "\u0132"], + ["8fa9a8", "\u0141\u013F"], + ["8fa9ab", "\u014A\xD8\u0152"], + ["8fa9af", "\u0166\xDE"], + ["8fa9c1", "\xE6\u0111\xF0\u0127\u0131\u0133\u0138\u0142\u0140\u0149\u014B\xF8\u0153\xDF\u0167\xFE"], + ["8faaa1", "\xC1\xC0\xC4\xC2\u0102\u01CD\u0100\u0104\xC5\xC3\u0106\u0108\u010C\xC7\u010A\u010E\xC9\xC8\xCB\xCA\u011A\u0116\u0112\u0118"], + ["8faaba", "\u011C\u011E\u0122\u0120\u0124\xCD\xCC\xCF\xCE\u01CF\u0130\u012A\u012E\u0128\u0134\u0136\u0139\u013D\u013B\u0143\u0147\u0145\xD1\xD3\xD2\xD6\xD4\u01D1\u0150\u014C\xD5\u0154\u0158\u0156\u015A\u015C\u0160\u015E\u0164\u0162\xDA\xD9\xDC\xDB\u016C\u01D3\u0170\u016A\u0172\u016E\u0168\u01D7\u01DB\u01D9\u01D5\u0174\xDD\u0178\u0176\u0179\u017D\u017B"], + ["8faba1", "\xE1\xE0\xE4\xE2\u0103\u01CE\u0101\u0105\xE5\xE3\u0107\u0109\u010D\xE7\u010B\u010F\xE9\xE8\xEB\xEA\u011B\u0117\u0113\u0119\u01F5\u011D\u011F"], + ["8fabbd", "\u0121\u0125\xED\xEC\xEF\xEE\u01D0"], + ["8fabc5", "\u012B\u012F\u0129\u0135\u0137\u013A\u013E\u013C\u0144\u0148\u0146\xF1\xF3\xF2\xF6\xF4\u01D2\u0151\u014D\xF5\u0155\u0159\u0157\u015B\u015D\u0161\u015F\u0165\u0163\xFA\xF9\xFC\xFB\u016D\u01D4\u0171\u016B\u0173\u016F\u0169\u01D8\u01DC\u01DA\u01D6\u0175\xFD\xFF\u0177\u017A\u017E\u017C"], + ["8fb0a1", "\u4E02\u4E04\u4E05\u4E0C\u4E12\u4E1F\u4E23\u4E24\u4E28\u4E2B\u4E2E\u4E2F\u4E30\u4E35\u4E40\u4E41\u4E44\u4E47\u4E51\u4E5A\u4E5C\u4E63\u4E68\u4E69\u4E74\u4E75\u4E79\u4E7F\u4E8D\u4E96\u4E97\u4E9D\u4EAF\u4EB9\u4EC3\u4ED0\u4EDA\u4EDB\u4EE0\u4EE1\u4EE2\u4EE8\u4EEF\u4EF1\u4EF3\u4EF5\u4EFD\u4EFE\u4EFF\u4F00\u4F02\u4F03\u4F08\u4F0B\u4F0C\u4F12\u4F15\u4F16\u4F17\u4F19\u4F2E\u4F31\u4F60\u4F33\u4F35\u4F37\u4F39\u4F3B\u4F3E\u4F40\u4F42\u4F48\u4F49\u4F4B\u4F4C\u4F52\u4F54\u4F56\u4F58\u4F5F\u4F63\u4F6A\u4F6C\u4F6E\u4F71\u4F77\u4F78\u4F79\u4F7A\u4F7D\u4F7E\u4F81\u4F82\u4F84"], + ["8fb1a1", "\u4F85\u4F89\u4F8A\u4F8C\u4F8E\u4F90\u4F92\u4F93\u4F94\u4F97\u4F99\u4F9A\u4F9E\u4F9F\u4FB2\u4FB7\u4FB9\u4FBB\u4FBC\u4FBD\u4FBE\u4FC0\u4FC1\u4FC5\u4FC6\u4FC8\u4FC9\u4FCB\u4FCC\u4FCD\u4FCF\u4FD2\u4FDC\u4FE0\u4FE2\u4FF0\u4FF2\u4FFC\u4FFD\u4FFF\u5000\u5001\u5004\u5007\u500A\u500C\u500E\u5010\u5013\u5017\u5018\u501B\u501C\u501D\u501E\u5022\u5027\u502E\u5030\u5032\u5033\u5035\u5040\u5041\u5042\u5045\u5046\u504A\u504C\u504E\u5051\u5052\u5053\u5057\u5059\u505F\u5060\u5062\u5063\u5066\u5067\u506A\u506D\u5070\u5071\u503B\u5081\u5083\u5084\u5086\u508A\u508E\u508F\u5090"], + ["8fb2a1", "\u5092\u5093\u5094\u5096\u509B\u509C\u509E", 4, "\u50AA\u50AF\u50B0\u50B9\u50BA\u50BD\u50C0\u50C3\u50C4\u50C7\u50CC\u50CE\u50D0\u50D3\u50D4\u50D8\u50DC\u50DD\u50DF\u50E2\u50E4\u50E6\u50E8\u50E9\u50EF\u50F1\u50F6\u50FA\u50FE\u5103\u5106\u5107\u5108\u510B\u510C\u510D\u510E\u50F2\u5110\u5117\u5119\u511B\u511C\u511D\u511E\u5123\u5127\u5128\u512C\u512D\u512F\u5131\u5133\u5134\u5135\u5138\u5139\u5142\u514A\u514F\u5153\u5155\u5157\u5158\u515F\u5164\u5166\u517E\u5183\u5184\u518B\u518E\u5198\u519D\u51A1\u51A3\u51AD\u51B8\u51BA\u51BC\u51BE\u51BF\u51C2"], + ["8fb3a1", "\u51C8\u51CF\u51D1\u51D2\u51D3\u51D5\u51D8\u51DE\u51E2\u51E5\u51EE\u51F2\u51F3\u51F4\u51F7\u5201\u5202\u5205\u5212\u5213\u5215\u5216\u5218\u5222\u5228\u5231\u5232\u5235\u523C\u5245\u5249\u5255\u5257\u5258\u525A\u525C\u525F\u5260\u5261\u5266\u526E\u5277\u5278\u5279\u5280\u5282\u5285\u528A\u528C\u5293\u5295\u5296\u5297\u5298\u529A\u529C\u52A4\u52A5\u52A6\u52A7\u52AF\u52B0\u52B6\u52B7\u52B8\u52BA\u52BB\u52BD\u52C0\u52C4\u52C6\u52C8\u52CC\u52CF\u52D1\u52D4\u52D6\u52DB\u52DC\u52E1\u52E5\u52E8\u52E9\u52EA\u52EC\u52F0\u52F1\u52F4\u52F6\u52F7\u5300\u5303\u530A\u530B"], + ["8fb4a1", "\u530C\u5311\u5313\u5318\u531B\u531C\u531E\u531F\u5325\u5327\u5328\u5329\u532B\u532C\u532D\u5330\u5332\u5335\u533C\u533D\u533E\u5342\u534C\u534B\u5359\u535B\u5361\u5363\u5365\u536C\u536D\u5372\u5379\u537E\u5383\u5387\u5388\u538E\u5393\u5394\u5399\u539D\u53A1\u53A4\u53AA\u53AB\u53AF\u53B2\u53B4\u53B5\u53B7\u53B8\u53BA\u53BD\u53C0\u53C5\u53CF\u53D2\u53D3\u53D5\u53DA\u53DD\u53DE\u53E0\u53E6\u53E7\u53F5\u5402\u5413\u541A\u5421\u5427\u5428\u542A\u542F\u5431\u5434\u5435\u5443\u5444\u5447\u544D\u544F\u545E\u5462\u5464\u5466\u5467\u5469\u546B\u546D\u546E\u5474\u547F"], + ["8fb5a1", "\u5481\u5483\u5485\u5488\u5489\u548D\u5491\u5495\u5496\u549C\u549F\u54A1\u54A6\u54A7\u54A9\u54AA\u54AD\u54AE\u54B1\u54B7\u54B9\u54BA\u54BB\u54BF\u54C6\u54CA\u54CD\u54CE\u54E0\u54EA\u54EC\u54EF\u54F6\u54FC\u54FE\u54FF\u5500\u5501\u5505\u5508\u5509\u550C\u550D\u550E\u5515\u552A\u552B\u5532\u5535\u5536\u553B\u553C\u553D\u5541\u5547\u5549\u554A\u554D\u5550\u5551\u5558\u555A\u555B\u555E\u5560\u5561\u5564\u5566\u557F\u5581\u5582\u5586\u5588\u558E\u558F\u5591\u5592\u5593\u5594\u5597\u55A3\u55A4\u55AD\u55B2\u55BF\u55C1\u55C3\u55C6\u55C9\u55CB\u55CC\u55CE\u55D1\u55D2"], + ["8fb6a1", "\u55D3\u55D7\u55D8\u55DB\u55DE\u55E2\u55E9\u55F6\u55FF\u5605\u5608\u560A\u560D", 5, "\u5619\u562C\u5630\u5633\u5635\u5637\u5639\u563B\u563C\u563D\u563F\u5640\u5641\u5643\u5644\u5646\u5649\u564B\u564D\u564F\u5654\u565E\u5660\u5661\u5662\u5663\u5666\u5669\u566D\u566F\u5671\u5672\u5675\u5684\u5685\u5688\u568B\u568C\u5695\u5699\u569A\u569D\u569E\u569F\u56A6\u56A7\u56A8\u56A9\u56AB\u56AC\u56AD\u56B1\u56B3\u56B7\u56BE\u56C5\u56C9\u56CA\u56CB\u56CF\u56D0\u56CC\u56CD\u56D9\u56DC\u56DD\u56DF\u56E1\u56E4", 4, "\u56F1\u56EB\u56ED"], + ["8fb7a1", "\u56F6\u56F7\u5701\u5702\u5707\u570A\u570C\u5711\u5715\u571A\u571B\u571D\u5720\u5722\u5723\u5724\u5725\u5729\u572A\u572C\u572E\u572F\u5733\u5734\u573D\u573E\u573F\u5745\u5746\u574C\u574D\u5752\u5762\u5765\u5767\u5768\u576B\u576D", 4, "\u5773\u5774\u5775\u5777\u5779\u577A\u577B\u577C\u577E\u5781\u5783\u578C\u5794\u5797\u5799\u579A\u579C\u579D\u579E\u579F\u57A1\u5795\u57A7\u57A8\u57A9\u57AC\u57B8\u57BD\u57C7\u57C8\u57CC\u57CF\u57D5\u57DD\u57DE\u57E4\u57E6\u57E7\u57E9\u57ED\u57F0\u57F5\u57F6\u57F8\u57FD\u57FE\u57FF\u5803\u5804\u5808\u5809\u57E1"], + ["8fb8a1", "\u580C\u580D\u581B\u581E\u581F\u5820\u5826\u5827\u582D\u5832\u5839\u583F\u5849\u584C\u584D\u584F\u5850\u5855\u585F\u5861\u5864\u5867\u5868\u5878\u587C\u587F\u5880\u5881\u5887\u5888\u5889\u588A\u588C\u588D\u588F\u5890\u5894\u5896\u589D\u58A0\u58A1\u58A2\u58A6\u58A9\u58B1\u58B2\u58C4\u58BC\u58C2\u58C8\u58CD\u58CE\u58D0\u58D2\u58D4\u58D6\u58DA\u58DD\u58E1\u58E2\u58E9\u58F3\u5905\u5906\u590B\u590C\u5912\u5913\u5914\u8641\u591D\u5921\u5923\u5924\u5928\u592F\u5930\u5933\u5935\u5936\u593F\u5943\u5946\u5952\u5953\u5959\u595B\u595D\u595E\u595F\u5961\u5963\u596B\u596D"], + ["8fb9a1", "\u596F\u5972\u5975\u5976\u5979\u597B\u597C\u598B\u598C\u598E\u5992\u5995\u5997\u599F\u59A4\u59A7\u59AD\u59AE\u59AF\u59B0\u59B3\u59B7\u59BA\u59BC\u59C1\u59C3\u59C4\u59C8\u59CA\u59CD\u59D2\u59DD\u59DE\u59DF\u59E3\u59E4\u59E7\u59EE\u59EF\u59F1\u59F2\u59F4\u59F7\u5A00\u5A04\u5A0C\u5A0D\u5A0E\u5A12\u5A13\u5A1E\u5A23\u5A24\u5A27\u5A28\u5A2A\u5A2D\u5A30\u5A44\u5A45\u5A47\u5A48\u5A4C\u5A50\u5A55\u5A5E\u5A63\u5A65\u5A67\u5A6D\u5A77\u5A7A\u5A7B\u5A7E\u5A8B\u5A90\u5A93\u5A96\u5A99\u5A9C\u5A9E\u5A9F\u5AA0\u5AA2\u5AA7\u5AAC\u5AB1\u5AB2\u5AB3\u5AB5\u5AB8\u5ABA\u5ABB\u5ABF"], + ["8fbaa1", "\u5AC4\u5AC6\u5AC8\u5ACF\u5ADA\u5ADC\u5AE0\u5AE5\u5AEA\u5AEE\u5AF5\u5AF6\u5AFD\u5B00\u5B01\u5B08\u5B17\u5B34\u5B19\u5B1B\u5B1D\u5B21\u5B25\u5B2D\u5B38\u5B41\u5B4B\u5B4C\u5B52\u5B56\u5B5E\u5B68\u5B6E\u5B6F\u5B7C\u5B7D\u5B7E\u5B7F\u5B81\u5B84\u5B86\u5B8A\u5B8E\u5B90\u5B91\u5B93\u5B94\u5B96\u5BA8\u5BA9\u5BAC\u5BAD\u5BAF\u5BB1\u5BB2\u5BB7\u5BBA\u5BBC\u5BC0\u5BC1\u5BCD\u5BCF\u5BD6", 4, "\u5BE0\u5BEF\u5BF1\u5BF4\u5BFD\u5C0C\u5C17\u5C1E\u5C1F\u5C23\u5C26\u5C29\u5C2B\u5C2C\u5C2E\u5C30\u5C32\u5C35\u5C36\u5C59\u5C5A\u5C5C\u5C62\u5C63\u5C67\u5C68\u5C69"], + ["8fbba1", "\u5C6D\u5C70\u5C74\u5C75\u5C7A\u5C7B\u5C7C\u5C7D\u5C87\u5C88\u5C8A\u5C8F\u5C92\u5C9D\u5C9F\u5CA0\u5CA2\u5CA3\u5CA6\u5CAA\u5CB2\u5CB4\u5CB5\u5CBA\u5CC9\u5CCB\u5CD2\u5CDD\u5CD7\u5CEE\u5CF1\u5CF2\u5CF4\u5D01\u5D06\u5D0D\u5D12\u5D2B\u5D23\u5D24\u5D26\u5D27\u5D31\u5D34\u5D39\u5D3D\u5D3F\u5D42\u5D43\u5D46\u5D48\u5D55\u5D51\u5D59\u5D4A\u5D5F\u5D60\u5D61\u5D62\u5D64\u5D6A\u5D6D\u5D70\u5D79\u5D7A\u5D7E\u5D7F\u5D81\u5D83\u5D88\u5D8A\u5D92\u5D93\u5D94\u5D95\u5D99\u5D9B\u5D9F\u5DA0\u5DA7\u5DAB\u5DB0\u5DB4\u5DB8\u5DB9\u5DC3\u5DC7\u5DCB\u5DD0\u5DCE\u5DD8\u5DD9\u5DE0\u5DE4"], + ["8fbca1", "\u5DE9\u5DF8\u5DF9\u5E00\u5E07\u5E0D\u5E12\u5E14\u5E15\u5E18\u5E1F\u5E20\u5E2E\u5E28\u5E32\u5E35\u5E3E\u5E4B\u5E50\u5E49\u5E51\u5E56\u5E58\u5E5B\u5E5C\u5E5E\u5E68\u5E6A", 4, "\u5E70\u5E80\u5E8B\u5E8E\u5EA2\u5EA4\u5EA5\u5EA8\u5EAA\u5EAC\u5EB1\u5EB3\u5EBD\u5EBE\u5EBF\u5EC6\u5ECC\u5ECB\u5ECE\u5ED1\u5ED2\u5ED4\u5ED5\u5EDC\u5EDE\u5EE5\u5EEB\u5F02\u5F06\u5F07\u5F08\u5F0E\u5F19\u5F1C\u5F1D\u5F21\u5F22\u5F23\u5F24\u5F28\u5F2B\u5F2C\u5F2E\u5F30\u5F34\u5F36\u5F3B\u5F3D\u5F3F\u5F40\u5F44\u5F45\u5F47\u5F4D\u5F50\u5F54\u5F58\u5F5B\u5F60\u5F63\u5F64\u5F67"], + ["8fbda1", "\u5F6F\u5F72\u5F74\u5F75\u5F78\u5F7A\u5F7D\u5F7E\u5F89\u5F8D\u5F8F\u5F96\u5F9C\u5F9D\u5FA2\u5FA7\u5FAB\u5FA4\u5FAC\u5FAF\u5FB0\u5FB1\u5FB8\u5FC4\u5FC7\u5FC8\u5FC9\u5FCB\u5FD0", 4, "\u5FDE\u5FE1\u5FE2\u5FE8\u5FE9\u5FEA\u5FEC\u5FED\u5FEE\u5FEF\u5FF2\u5FF3\u5FF6\u5FFA\u5FFC\u6007\u600A\u600D\u6013\u6014\u6017\u6018\u601A\u601F\u6024\u602D\u6033\u6035\u6040\u6047\u6048\u6049\u604C\u6051\u6054\u6056\u6057\u605D\u6061\u6067\u6071\u607E\u607F\u6082\u6086\u6088\u608A\u608E\u6091\u6093\u6095\u6098\u609D\u609E\u60A2\u60A4\u60A5\u60A8\u60B0\u60B1\u60B7"], + ["8fbea1", "\u60BB\u60BE\u60C2\u60C4\u60C8\u60C9\u60CA\u60CB\u60CE\u60CF\u60D4\u60D5\u60D9\u60DB\u60DD\u60DE\u60E2\u60E5\u60F2\u60F5\u60F8\u60FC\u60FD\u6102\u6107\u610A\u610C\u6110", 4, "\u6116\u6117\u6119\u611C\u611E\u6122\u612A\u612B\u6130\u6131\u6135\u6136\u6137\u6139\u6141\u6145\u6146\u6149\u615E\u6160\u616C\u6172\u6178\u617B\u617C\u617F\u6180\u6181\u6183\u6184\u618B\u618D\u6192\u6193\u6197\u6198\u619C\u619D\u619F\u61A0\u61A5\u61A8\u61AA\u61AD\u61B8\u61B9\u61BC\u61C0\u61C1\u61C2\u61CE\u61CF\u61D5\u61DC\u61DD\u61DE\u61DF\u61E1\u61E2\u61E7\u61E9\u61E5"], + ["8fbfa1", "\u61EC\u61ED\u61EF\u6201\u6203\u6204\u6207\u6213\u6215\u621C\u6220\u6222\u6223\u6227\u6229\u622B\u6239\u623D\u6242\u6243\u6244\u6246\u624C\u6250\u6251\u6252\u6254\u6256\u625A\u625C\u6264\u626D\u626F\u6273\u627A\u627D\u628D\u628E\u628F\u6290\u62A6\u62A8\u62B3\u62B6\u62B7\u62BA\u62BE\u62BF\u62C4\u62CE\u62D5\u62D6\u62DA\u62EA\u62F2\u62F4\u62FC\u62FD\u6303\u6304\u630A\u630B\u630D\u6310\u6313\u6316\u6318\u6329\u632A\u632D\u6335\u6336\u6339\u633C\u6341\u6342\u6343\u6344\u6346\u634A\u634B\u634E\u6352\u6353\u6354\u6358\u635B\u6365\u6366\u636C\u636D\u6371\u6374\u6375"], + ["8fc0a1", "\u6378\u637C\u637D\u637F\u6382\u6384\u6387\u638A\u6390\u6394\u6395\u6399\u639A\u639E\u63A4\u63A6\u63AD\u63AE\u63AF\u63BD\u63C1\u63C5\u63C8\u63CE\u63D1\u63D3\u63D4\u63D5\u63DC\u63E0\u63E5\u63EA\u63EC\u63F2\u63F3\u63F5\u63F8\u63F9\u6409\u640A\u6410\u6412\u6414\u6418\u641E\u6420\u6422\u6424\u6425\u6429\u642A\u642F\u6430\u6435\u643D\u643F\u644B\u644F\u6451\u6452\u6453\u6454\u645A\u645B\u645C\u645D\u645F\u6460\u6461\u6463\u646D\u6473\u6474\u647B\u647D\u6485\u6487\u648F\u6490\u6491\u6498\u6499\u649B\u649D\u649F\u64A1\u64A3\u64A6\u64A8\u64AC\u64B3\u64BD\u64BE\u64BF"], + ["8fc1a1", "\u64C4\u64C9\u64CA\u64CB\u64CC\u64CE\u64D0\u64D1\u64D5\u64D7\u64E4\u64E5\u64E9\u64EA\u64ED\u64F0\u64F5\u64F7\u64FB\u64FF\u6501\u6504\u6508\u6509\u650A\u650F\u6513\u6514\u6516\u6519\u651B\u651E\u651F\u6522\u6526\u6529\u652E\u6531\u653A\u653C\u653D\u6543\u6547\u6549\u6550\u6552\u6554\u655F\u6560\u6567\u656B\u657A\u657D\u6581\u6585\u658A\u6592\u6595\u6598\u659D\u65A0\u65A3\u65A6\u65AE\u65B2\u65B3\u65B4\u65BF\u65C2\u65C8\u65C9\u65CE\u65D0\u65D4\u65D6\u65D8\u65DF\u65F0\u65F2\u65F4\u65F5\u65F9\u65FE\u65FF\u6600\u6604\u6608\u6609\u660D\u6611\u6612\u6615\u6616\u661D"], + ["8fc2a1", "\u661E\u6621\u6622\u6623\u6624\u6626\u6629\u662A\u662B\u662C\u662E\u6630\u6631\u6633\u6639\u6637\u6640\u6645\u6646\u664A\u664C\u6651\u664E\u6657\u6658\u6659\u665B\u665C\u6660\u6661\u66FB\u666A\u666B\u666C\u667E\u6673\u6675\u667F\u6677\u6678\u6679\u667B\u6680\u667C\u668B\u668C\u668D\u6690\u6692\u6699\u669A\u669B\u669C\u669F\u66A0\u66A4\u66AD\u66B1\u66B2\u66B5\u66BB\u66BF\u66C0\u66C2\u66C3\u66C8\u66CC\u66CE\u66CF\u66D4\u66DB\u66DF\u66E8\u66EB\u66EC\u66EE\u66FA\u6705\u6707\u670E\u6713\u6719\u671C\u6720\u6722\u6733\u673E\u6745\u6747\u6748\u674C\u6754\u6755\u675D"], + ["8fc3a1", "\u6766\u676C\u676E\u6774\u6776\u677B\u6781\u6784\u678E\u678F\u6791\u6793\u6796\u6798\u6799\u679B\u67B0\u67B1\u67B2\u67B5\u67BB\u67BC\u67BD\u67F9\u67C0\u67C2\u67C3\u67C5\u67C8\u67C9\u67D2\u67D7\u67D9\u67DC\u67E1\u67E6\u67F0\u67F2\u67F6\u67F7\u6852\u6814\u6819\u681D\u681F\u6828\u6827\u682C\u682D\u682F\u6830\u6831\u6833\u683B\u683F\u6844\u6845\u684A\u684C\u6855\u6857\u6858\u685B\u686B\u686E", 4, "\u6875\u6879\u687A\u687B\u687C\u6882\u6884\u6886\u6888\u6896\u6898\u689A\u689C\u68A1\u68A3\u68A5\u68A9\u68AA\u68AE\u68B2\u68BB\u68C5\u68C8\u68CC\u68CF"], + ["8fc4a1", "\u68D0\u68D1\u68D3\u68D6\u68D9\u68DC\u68DD\u68E5\u68E8\u68EA\u68EB\u68EC\u68ED\u68F0\u68F1\u68F5\u68F6\u68FB\u68FC\u68FD\u6906\u6909\u690A\u6910\u6911\u6913\u6916\u6917\u6931\u6933\u6935\u6938\u693B\u6942\u6945\u6949\u694E\u6957\u695B\u6963\u6964\u6965\u6966\u6968\u6969\u696C\u6970\u6971\u6972\u697A\u697B\u697F\u6980\u698D\u6992\u6996\u6998\u69A1\u69A5\u69A6\u69A8\u69AB\u69AD\u69AF\u69B7\u69B8\u69BA\u69BC\u69C5\u69C8\u69D1\u69D6\u69D7\u69E2\u69E5\u69EE\u69EF\u69F1\u69F3\u69F5\u69FE\u6A00\u6A01\u6A03\u6A0F\u6A11\u6A15\u6A1A\u6A1D\u6A20\u6A24\u6A28\u6A30\u6A32"], + ["8fc5a1", "\u6A34\u6A37\u6A3B\u6A3E\u6A3F\u6A45\u6A46\u6A49\u6A4A\u6A4E\u6A50\u6A51\u6A52\u6A55\u6A56\u6A5B\u6A64\u6A67\u6A6A\u6A71\u6A73\u6A7E\u6A81\u6A83\u6A86\u6A87\u6A89\u6A8B\u6A91\u6A9B\u6A9D\u6A9E\u6A9F\u6AA5\u6AAB\u6AAF\u6AB0\u6AB1\u6AB4\u6ABD\u6ABE\u6ABF\u6AC6\u6AC9\u6AC8\u6ACC\u6AD0\u6AD4\u6AD5\u6AD6\u6ADC\u6ADD\u6AE4\u6AE7\u6AEC\u6AF0\u6AF1\u6AF2\u6AFC\u6AFD\u6B02\u6B03\u6B06\u6B07\u6B09\u6B0F\u6B10\u6B11\u6B17\u6B1B\u6B1E\u6B24\u6B28\u6B2B\u6B2C\u6B2F\u6B35\u6B36\u6B3B\u6B3F\u6B46\u6B4A\u6B4D\u6B52\u6B56\u6B58\u6B5D\u6B60\u6B67\u6B6B\u6B6E\u6B70\u6B75\u6B7D"], + ["8fc6a1", "\u6B7E\u6B82\u6B85\u6B97\u6B9B\u6B9F\u6BA0\u6BA2\u6BA3\u6BA8\u6BA9\u6BAC\u6BAD\u6BAE\u6BB0\u6BB8\u6BB9\u6BBD\u6BBE\u6BC3\u6BC4\u6BC9\u6BCC\u6BD6\u6BDA\u6BE1\u6BE3\u6BE6\u6BE7\u6BEE\u6BF1\u6BF7\u6BF9\u6BFF\u6C02\u6C04\u6C05\u6C09\u6C0D\u6C0E\u6C10\u6C12\u6C19\u6C1F\u6C26\u6C27\u6C28\u6C2C\u6C2E\u6C33\u6C35\u6C36\u6C3A\u6C3B\u6C3F\u6C4A\u6C4B\u6C4D\u6C4F\u6C52\u6C54\u6C59\u6C5B\u6C5C\u6C6B\u6C6D\u6C6F\u6C74\u6C76\u6C78\u6C79\u6C7B\u6C85\u6C86\u6C87\u6C89\u6C94\u6C95\u6C97\u6C98\u6C9C\u6C9F\u6CB0\u6CB2\u6CB4\u6CC2\u6CC6\u6CCD\u6CCF\u6CD0\u6CD1\u6CD2\u6CD4\u6CD6"], + ["8fc7a1", "\u6CDA\u6CDC\u6CE0\u6CE7\u6CE9\u6CEB\u6CEC\u6CEE\u6CF2\u6CF4\u6D04\u6D07\u6D0A\u6D0E\u6D0F\u6D11\u6D13\u6D1A\u6D26\u6D27\u6D28\u6C67\u6D2E\u6D2F\u6D31\u6D39\u6D3C\u6D3F\u6D57\u6D5E\u6D5F\u6D61\u6D65\u6D67\u6D6F\u6D70\u6D7C\u6D82\u6D87\u6D91\u6D92\u6D94\u6D96\u6D97\u6D98\u6DAA\u6DAC\u6DB4\u6DB7\u6DB9\u6DBD\u6DBF\u6DC4\u6DC8\u6DCA\u6DCE\u6DCF\u6DD6\u6DDB\u6DDD\u6DDF\u6DE0\u6DE2\u6DE5\u6DE9\u6DEF\u6DF0\u6DF4\u6DF6\u6DFC\u6E00\u6E04\u6E1E\u6E22\u6E27\u6E32\u6E36\u6E39\u6E3B\u6E3C\u6E44\u6E45\u6E48\u6E49\u6E4B\u6E4F\u6E51\u6E52\u6E53\u6E54\u6E57\u6E5C\u6E5D\u6E5E"], + ["8fc8a1", "\u6E62\u6E63\u6E68\u6E73\u6E7B\u6E7D\u6E8D\u6E93\u6E99\u6EA0\u6EA7\u6EAD\u6EAE\u6EB1\u6EB3\u6EBB\u6EBF\u6EC0\u6EC1\u6EC3\u6EC7\u6EC8\u6ECA\u6ECD\u6ECE\u6ECF\u6EEB\u6EED\u6EEE\u6EF9\u6EFB\u6EFD\u6F04\u6F08\u6F0A\u6F0C\u6F0D\u6F16\u6F18\u6F1A\u6F1B\u6F26\u6F29\u6F2A\u6F2F\u6F30\u6F33\u6F36\u6F3B\u6F3C\u6F2D\u6F4F\u6F51\u6F52\u6F53\u6F57\u6F59\u6F5A\u6F5D\u6F5E\u6F61\u6F62\u6F68\u6F6C\u6F7D\u6F7E\u6F83\u6F87\u6F88\u6F8B\u6F8C\u6F8D\u6F90\u6F92\u6F93\u6F94\u6F96\u6F9A\u6F9F\u6FA0\u6FA5\u6FA6\u6FA7\u6FA8\u6FAE\u6FAF\u6FB0\u6FB5\u6FB6\u6FBC\u6FC5\u6FC7\u6FC8\u6FCA"], + ["8fc9a1", "\u6FDA\u6FDE\u6FE8\u6FE9\u6FF0\u6FF5\u6FF9\u6FFC\u6FFD\u7000\u7005\u7006\u7007\u700D\u7017\u7020\u7023\u702F\u7034\u7037\u7039\u703C\u7043\u7044\u7048\u7049\u704A\u704B\u7054\u7055\u705D\u705E\u704E\u7064\u7065\u706C\u706E\u7075\u7076\u707E\u7081\u7085\u7086\u7094", 4, "\u709B\u70A4\u70AB\u70B0\u70B1\u70B4\u70B7\u70CA\u70D1\u70D3\u70D4\u70D5\u70D6\u70D8\u70DC\u70E4\u70FA\u7103", 4, "\u710B\u710C\u710F\u711E\u7120\u712B\u712D\u712F\u7130\u7131\u7138\u7141\u7145\u7146\u7147\u714A\u714B\u7150\u7152\u7157\u715A\u715C\u715E\u7160"], + ["8fcaa1", "\u7168\u7179\u7180\u7185\u7187\u718C\u7192\u719A\u719B\u71A0\u71A2\u71AF\u71B0\u71B2\u71B3\u71BA\u71BF\u71C0\u71C1\u71C4\u71CB\u71CC\u71D3\u71D6\u71D9\u71DA\u71DC\u71F8\u71FE\u7200\u7207\u7208\u7209\u7213\u7217\u721A\u721D\u721F\u7224\u722B\u722F\u7234\u7238\u7239\u7241\u7242\u7243\u7245\u724E\u724F\u7250\u7253\u7255\u7256\u725A\u725C\u725E\u7260\u7263\u7268\u726B\u726E\u726F\u7271\u7277\u7278\u727B\u727C\u727F\u7284\u7289\u728D\u728E\u7293\u729B\u72A8\u72AD\u72AE\u72B1\u72B4\u72BE\u72C1\u72C7\u72C9\u72CC\u72D5\u72D6\u72D8\u72DF\u72E5\u72F3\u72F4\u72FA\u72FB"], + ["8fcba1", "\u72FE\u7302\u7304\u7305\u7307\u730B\u730D\u7312\u7313\u7318\u7319\u731E\u7322\u7324\u7327\u7328\u732C\u7331\u7332\u7335\u733A\u733B\u733D\u7343\u734D\u7350\u7352\u7356\u7358\u735D\u735E\u735F\u7360\u7366\u7367\u7369\u736B\u736C\u736E\u736F\u7371\u7377\u7379\u737C\u7380\u7381\u7383\u7385\u7386\u738E\u7390\u7393\u7395\u7397\u7398\u739C\u739E\u739F\u73A0\u73A2\u73A5\u73A6\u73AA\u73AB\u73AD\u73B5\u73B7\u73B9\u73BC\u73BD\u73BF\u73C5\u73C6\u73C9\u73CB\u73CC\u73CF\u73D2\u73D3\u73D6\u73D9\u73DD\u73E1\u73E3\u73E6\u73E7\u73E9\u73F4\u73F5\u73F7\u73F9\u73FA\u73FB\u73FD"], + ["8fcca1", "\u73FF\u7400\u7401\u7404\u7407\u740A\u7411\u741A\u741B\u7424\u7426\u7428", 9, "\u7439\u7440\u7443\u7444\u7446\u7447\u744B\u744D\u7451\u7452\u7457\u745D\u7462\u7466\u7467\u7468\u746B\u746D\u746E\u7471\u7472\u7480\u7481\u7485\u7486\u7487\u7489\u748F\u7490\u7491\u7492\u7498\u7499\u749A\u749C\u749F\u74A0\u74A1\u74A3\u74A6\u74A8\u74A9\u74AA\u74AB\u74AE\u74AF\u74B1\u74B2\u74B5\u74B9\u74BB\u74BF\u74C8\u74C9\u74CC\u74D0\u74D3\u74D8\u74DA\u74DB\u74DE\u74DF\u74E4\u74E8\u74EA\u74EB\u74EF\u74F4\u74FA\u74FB\u74FC\u74FF\u7506"], + ["8fcda1", "\u7512\u7516\u7517\u7520\u7521\u7524\u7527\u7529\u752A\u752F\u7536\u7539\u753D\u753E\u753F\u7540\u7543\u7547\u7548\u754E\u7550\u7552\u7557\u755E\u755F\u7561\u756F\u7571\u7579", 5, "\u7581\u7585\u7590\u7592\u7593\u7595\u7599\u759C\u75A2\u75A4\u75B4\u75BA\u75BF\u75C0\u75C1\u75C4\u75C6\u75CC\u75CE\u75CF\u75D7\u75DC\u75DF\u75E0\u75E1\u75E4\u75E7\u75EC\u75EE\u75EF\u75F1\u75F9\u7600\u7602\u7603\u7604\u7607\u7608\u760A\u760C\u760F\u7612\u7613\u7615\u7616\u7619\u761B\u761C\u761D\u761E\u7623\u7625\u7626\u7629\u762D\u7632\u7633\u7635\u7638\u7639"], + ["8fcea1", "\u763A\u763C\u764A\u7640\u7641\u7643\u7644\u7645\u7649\u764B\u7655\u7659\u765F\u7664\u7665\u766D\u766E\u766F\u7671\u7674\u7681\u7685\u768C\u768D\u7695\u769B\u769C\u769D\u769F\u76A0\u76A2", 6, "\u76AA\u76AD\u76BD\u76C1\u76C5\u76C9\u76CB\u76CC\u76CE\u76D4\u76D9\u76E0\u76E6\u76E8\u76EC\u76F0\u76F1\u76F6\u76F9\u76FC\u7700\u7706\u770A\u770E\u7712\u7714\u7715\u7717\u7719\u771A\u771C\u7722\u7728\u772D\u772E\u772F\u7734\u7735\u7736\u7739\u773D\u773E\u7742\u7745\u7746\u774A\u774D\u774E\u774F\u7752\u7756\u7757\u775C\u775E\u775F\u7760\u7762"], + ["8fcfa1", "\u7764\u7767\u776A\u776C\u7770\u7772\u7773\u7774\u777A\u777D\u7780\u7784\u778C\u778D\u7794\u7795\u7796\u779A\u779F\u77A2\u77A7\u77AA\u77AE\u77AF\u77B1\u77B5\u77BE\u77C3\u77C9\u77D1\u77D2\u77D5\u77D9\u77DE\u77DF\u77E0\u77E4\u77E6\u77EA\u77EC\u77F0\u77F1\u77F4\u77F8\u77FB\u7805\u7806\u7809\u780D\u780E\u7811\u781D\u7821\u7822\u7823\u782D\u782E\u7830\u7835\u7837\u7843\u7844\u7847\u7848\u784C\u784E\u7852\u785C\u785E\u7860\u7861\u7863\u7864\u7868\u786A\u786E\u787A\u787E\u788A\u788F\u7894\u7898\u78A1\u789D\u789E\u789F\u78A4\u78A8\u78AC\u78AD\u78B0\u78B1\u78B2\u78B3"], + ["8fd0a1", "\u78BB\u78BD\u78BF\u78C7\u78C8\u78C9\u78CC\u78CE\u78D2\u78D3\u78D5\u78D6\u78E4\u78DB\u78DF\u78E0\u78E1\u78E6\u78EA\u78F2\u78F3\u7900\u78F6\u78F7\u78FA\u78FB\u78FF\u7906\u790C\u7910\u791A\u791C\u791E\u791F\u7920\u7925\u7927\u7929\u792D\u7931\u7934\u7935\u793B\u793D\u793F\u7944\u7945\u7946\u794A\u794B\u794F\u7951\u7954\u7958\u795B\u795C\u7967\u7969\u796B\u7972\u7979\u797B\u797C\u797E\u798B\u798C\u7991\u7993\u7994\u7995\u7996\u7998\u799B\u799C\u79A1\u79A8\u79A9\u79AB\u79AF\u79B1\u79B4\u79B8\u79BB\u79C2\u79C4\u79C7\u79C8\u79CA\u79CF\u79D4\u79D6\u79DA\u79DD\u79DE"], + ["8fd1a1", "\u79E0\u79E2\u79E5\u79EA\u79EB\u79ED\u79F1\u79F8\u79FC\u7A02\u7A03\u7A07\u7A09\u7A0A\u7A0C\u7A11\u7A15\u7A1B\u7A1E\u7A21\u7A27\u7A2B\u7A2D\u7A2F\u7A30\u7A34\u7A35\u7A38\u7A39\u7A3A\u7A44\u7A45\u7A47\u7A48\u7A4C\u7A55\u7A56\u7A59\u7A5C\u7A5D\u7A5F\u7A60\u7A65\u7A67\u7A6A\u7A6D\u7A75\u7A78\u7A7E\u7A80\u7A82\u7A85\u7A86\u7A8A\u7A8B\u7A90\u7A91\u7A94\u7A9E\u7AA0\u7AA3\u7AAC\u7AB3\u7AB5\u7AB9\u7ABB\u7ABC\u7AC6\u7AC9\u7ACC\u7ACE\u7AD1\u7ADB\u7AE8\u7AE9\u7AEB\u7AEC\u7AF1\u7AF4\u7AFB\u7AFD\u7AFE\u7B07\u7B14\u7B1F\u7B23\u7B27\u7B29\u7B2A\u7B2B\u7B2D\u7B2E\u7B2F\u7B30"], + ["8fd2a1", "\u7B31\u7B34\u7B3D\u7B3F\u7B40\u7B41\u7B47\u7B4E\u7B55\u7B60\u7B64\u7B66\u7B69\u7B6A\u7B6D\u7B6F\u7B72\u7B73\u7B77\u7B84\u7B89\u7B8E\u7B90\u7B91\u7B96\u7B9B\u7B9E\u7BA0\u7BA5\u7BAC\u7BAF\u7BB0\u7BB2\u7BB5\u7BB6\u7BBA\u7BBB\u7BBC\u7BBD\u7BC2\u7BC5\u7BC8\u7BCA\u7BD4\u7BD6\u7BD7\u7BD9\u7BDA\u7BDB\u7BE8\u7BEA\u7BF2\u7BF4\u7BF5\u7BF8\u7BF9\u7BFA\u7BFC\u7BFE\u7C01\u7C02\u7C03\u7C04\u7C06\u7C09\u7C0B\u7C0C\u7C0E\u7C0F\u7C19\u7C1B\u7C20\u7C25\u7C26\u7C28\u7C2C\u7C31\u7C33\u7C34\u7C36\u7C39\u7C3A\u7C46\u7C4A\u7C55\u7C51\u7C52\u7C53\u7C59", 5], + ["8fd3a1", "\u7C61\u7C63\u7C67\u7C69\u7C6D\u7C6E\u7C70\u7C72\u7C79\u7C7C\u7C7D\u7C86\u7C87\u7C8F\u7C94\u7C9E\u7CA0\u7CA6\u7CB0\u7CB6\u7CB7\u7CBA\u7CBB\u7CBC\u7CBF\u7CC4\u7CC7\u7CC8\u7CC9\u7CCD\u7CCF\u7CD3\u7CD4\u7CD5\u7CD7\u7CD9\u7CDA\u7CDD\u7CE6\u7CE9\u7CEB\u7CF5\u7D03\u7D07\u7D08\u7D09\u7D0F\u7D11\u7D12\u7D13\u7D16\u7D1D\u7D1E\u7D23\u7D26\u7D2A\u7D2D\u7D31\u7D3C\u7D3D\u7D3E\u7D40\u7D41\u7D47\u7D48\u7D4D\u7D51\u7D53\u7D57\u7D59\u7D5A\u7D5C\u7D5D\u7D65\u7D67\u7D6A\u7D70\u7D78\u7D7A\u7D7B\u7D7F\u7D81\u7D82\u7D83\u7D85\u7D86\u7D88\u7D8B\u7D8C\u7D8D\u7D91\u7D96\u7D97\u7D9D"], + ["8fd4a1", "\u7D9E\u7DA6\u7DA7\u7DAA\u7DB3\u7DB6\u7DB7\u7DB9\u7DC2", 4, "\u7DCC\u7DCD\u7DCE\u7DD7\u7DD9\u7E00\u7DE2\u7DE5\u7DE6\u7DEA\u7DEB\u7DED\u7DF1\u7DF5\u7DF6\u7DF9\u7DFA\u7E08\u7E10\u7E11\u7E15\u7E17\u7E1C\u7E1D\u7E20\u7E27\u7E28\u7E2C\u7E2D\u7E2F\u7E33\u7E36\u7E3F\u7E44\u7E45\u7E47\u7E4E\u7E50\u7E52\u7E58\u7E5F\u7E61\u7E62\u7E65\u7E6B\u7E6E\u7E6F\u7E73\u7E78\u7E7E\u7E81\u7E86\u7E87\u7E8A\u7E8D\u7E91\u7E95\u7E98\u7E9A\u7E9D\u7E9E\u7F3C\u7F3B\u7F3D\u7F3E\u7F3F\u7F43\u7F44\u7F47\u7F4F\u7F52\u7F53\u7F5B\u7F5C\u7F5D\u7F61\u7F63\u7F64\u7F65\u7F66\u7F6D"], + ["8fd5a1", "\u7F71\u7F7D\u7F7E\u7F7F\u7F80\u7F8B\u7F8D\u7F8F\u7F90\u7F91\u7F96\u7F97\u7F9C\u7FA1\u7FA2\u7FA6\u7FAA\u7FAD\u7FB4\u7FBC\u7FBF\u7FC0\u7FC3\u7FC8\u7FCE\u7FCF\u7FDB\u7FDF\u7FE3\u7FE5\u7FE8\u7FEC\u7FEE\u7FEF\u7FF2\u7FFA\u7FFD\u7FFE\u7FFF\u8007\u8008\u800A\u800D\u800E\u800F\u8011\u8013\u8014\u8016\u801D\u801E\u801F\u8020\u8024\u8026\u802C\u802E\u8030\u8034\u8035\u8037\u8039\u803A\u803C\u803E\u8040\u8044\u8060\u8064\u8066\u806D\u8071\u8075\u8081\u8088\u808E\u809C\u809E\u80A6\u80A7\u80AB\u80B8\u80B9\u80C8\u80CD\u80CF\u80D2\u80D4\u80D5\u80D7\u80D8\u80E0\u80ED\u80EE"], + ["8fd6a1", "\u80F0\u80F2\u80F3\u80F6\u80F9\u80FA\u80FE\u8103\u810B\u8116\u8117\u8118\u811C\u811E\u8120\u8124\u8127\u812C\u8130\u8135\u813A\u813C\u8145\u8147\u814A\u814C\u8152\u8157\u8160\u8161\u8167\u8168\u8169\u816D\u816F\u8177\u8181\u8190\u8184\u8185\u8186\u818B\u818E\u8196\u8198\u819B\u819E\u81A2\u81AE\u81B2\u81B4\u81BB\u81CB\u81C3\u81C5\u81CA\u81CE\u81CF\u81D5\u81D7\u81DB\u81DD\u81DE\u81E1\u81E4\u81EB\u81EC\u81F0\u81F1\u81F2\u81F5\u81F6\u81F8\u81F9\u81FD\u81FF\u8200\u8203\u820F\u8213\u8214\u8219\u821A\u821D\u8221\u8222\u8228\u8232\u8234\u823A\u8243\u8244\u8245\u8246"], + ["8fd7a1", "\u824B\u824E\u824F\u8251\u8256\u825C\u8260\u8263\u8267\u826D\u8274\u827B\u827D\u827F\u8280\u8281\u8283\u8284\u8287\u8289\u828A\u828E\u8291\u8294\u8296\u8298\u829A\u829B\u82A0\u82A1\u82A3\u82A4\u82A7\u82A8\u82A9\u82AA\u82AE\u82B0\u82B2\u82B4\u82B7\u82BA\u82BC\u82BE\u82BF\u82C6\u82D0\u82D5\u82DA\u82E0\u82E2\u82E4\u82E8\u82EA\u82ED\u82EF\u82F6\u82F7\u82FD\u82FE\u8300\u8301\u8307\u8308\u830A\u830B\u8354\u831B\u831D\u831E\u831F\u8321\u8322\u832C\u832D\u832E\u8330\u8333\u8337\u833A\u833C\u833D\u8342\u8343\u8344\u8347\u834D\u834E\u8351\u8355\u8356\u8357\u8370\u8378"], + ["8fd8a1", "\u837D\u837F\u8380\u8382\u8384\u8386\u838D\u8392\u8394\u8395\u8398\u8399\u839B\u839C\u839D\u83A6\u83A7\u83A9\u83AC\u83BE\u83BF\u83C0\u83C7\u83C9\u83CF\u83D0\u83D1\u83D4\u83DD\u8353\u83E8\u83EA\u83F6\u83F8\u83F9\u83FC\u8401\u8406\u840A\u840F\u8411\u8415\u8419\u83AD\u842F\u8439\u8445\u8447\u8448\u844A\u844D\u844F\u8451\u8452\u8456\u8458\u8459\u845A\u845C\u8460\u8464\u8465\u8467\u846A\u8470\u8473\u8474\u8476\u8478\u847C\u847D\u8481\u8485\u8492\u8493\u8495\u849E\u84A6\u84A8\u84A9\u84AA\u84AF\u84B1\u84B4\u84BA\u84BD\u84BE\u84C0\u84C2\u84C7\u84C8\u84CC\u84CF\u84D3"], + ["8fd9a1", "\u84DC\u84E7\u84EA\u84EF\u84F0\u84F1\u84F2\u84F7\u8532\u84FA\u84FB\u84FD\u8502\u8503\u8507\u850C\u850E\u8510\u851C\u851E\u8522\u8523\u8524\u8525\u8527\u852A\u852B\u852F\u8533\u8534\u8536\u853F\u8546\u854F", 4, "\u8556\u8559\u855C", 6, "\u8564\u856B\u856F\u8579\u857A\u857B\u857D\u857F\u8581\u8585\u8586\u8589\u858B\u858C\u858F\u8593\u8598\u859D\u859F\u85A0\u85A2\u85A5\u85A7\u85B4\u85B6\u85B7\u85B8\u85BC\u85BD\u85BE\u85BF\u85C2\u85C7\u85CA\u85CB\u85CE\u85AD\u85D8\u85DA\u85DF\u85E0\u85E6\u85E8\u85ED\u85F3\u85F6\u85FC"], + ["8fdaa1", "\u85FF\u8600\u8604\u8605\u860D\u860E\u8610\u8611\u8612\u8618\u8619\u861B\u861E\u8621\u8627\u8629\u8636\u8638\u863A\u863C\u863D\u8640\u8642\u8646\u8652\u8653\u8656\u8657\u8658\u8659\u865D\u8660", 4, "\u8669\u866C\u866F\u8675\u8676\u8677\u867A\u868D\u8691\u8696\u8698\u869A\u869C\u86A1\u86A6\u86A7\u86A8\u86AD\u86B1\u86B3\u86B4\u86B5\u86B7\u86B8\u86B9\u86BF\u86C0\u86C1\u86C3\u86C5\u86D1\u86D2\u86D5\u86D7\u86DA\u86DC\u86E0\u86E3\u86E5\u86E7\u8688\u86FA\u86FC\u86FD\u8704\u8705\u8707\u870B\u870E\u870F\u8710\u8713\u8714\u8719\u871E\u871F\u8721\u8723"], + ["8fdba1", "\u8728\u872E\u872F\u8731\u8732\u8739\u873A\u873C\u873D\u873E\u8740\u8743\u8745\u874D\u8758\u875D\u8761\u8764\u8765\u876F\u8771\u8772\u877B\u8783", 6, "\u878B\u878C\u8790\u8793\u8795\u8797\u8798\u8799\u879E\u87A0\u87A3\u87A7\u87AC\u87AD\u87AE\u87B1\u87B5\u87BE\u87BF\u87C1\u87C8\u87C9\u87CA\u87CE\u87D5\u87D6\u87D9\u87DA\u87DC\u87DF\u87E2\u87E3\u87E4\u87EA\u87EB\u87ED\u87F1\u87F3\u87F8\u87FA\u87FF\u8801\u8803\u8806\u8809\u880A\u880B\u8810\u8819\u8812\u8813\u8814\u8818\u881A\u881B\u881C\u881E\u881F\u8828\u882D\u882E\u8830\u8832\u8835"], + ["8fdca1", "\u883A\u883C\u8841\u8843\u8845\u8848\u8849\u884A\u884B\u884E\u8851\u8855\u8856\u8858\u885A\u885C\u885F\u8860\u8864\u8869\u8871\u8879\u887B\u8880\u8898\u889A\u889B\u889C\u889F\u88A0\u88A8\u88AA\u88BA\u88BD\u88BE\u88C0\u88CA", 4, "\u88D1\u88D2\u88D3\u88DB\u88DE\u88E7\u88EF\u88F0\u88F1\u88F5\u88F7\u8901\u8906\u890D\u890E\u890F\u8915\u8916\u8918\u8919\u891A\u891C\u8920\u8926\u8927\u8928\u8930\u8931\u8932\u8935\u8939\u893A\u893E\u8940\u8942\u8945\u8946\u8949\u894F\u8952\u8957\u895A\u895B\u895C\u8961\u8962\u8963\u896B\u896E\u8970\u8973\u8975\u897A"], + ["8fdda1", "\u897B\u897C\u897D\u8989\u898D\u8990\u8994\u8995\u899B\u899C\u899F\u89A0\u89A5\u89B0\u89B4\u89B5\u89B6\u89B7\u89BC\u89D4", 4, "\u89E5\u89E9\u89EB\u89ED\u89F1\u89F3\u89F6\u89F9\u89FD\u89FF\u8A04\u8A05\u8A07\u8A0F\u8A11\u8A12\u8A14\u8A15\u8A1E\u8A20\u8A22\u8A24\u8A26\u8A2B\u8A2C\u8A2F\u8A35\u8A37\u8A3D\u8A3E\u8A40\u8A43\u8A45\u8A47\u8A49\u8A4D\u8A4E\u8A53\u8A56\u8A57\u8A58\u8A5C\u8A5D\u8A61\u8A65\u8A67\u8A75\u8A76\u8A77\u8A79\u8A7A\u8A7B\u8A7E\u8A7F\u8A80\u8A83\u8A86\u8A8B\u8A8F\u8A90\u8A92\u8A96\u8A97\u8A99\u8A9F\u8AA7\u8AA9\u8AAE\u8AAF\u8AB3"], + ["8fdea1", "\u8AB6\u8AB7\u8ABB\u8ABE\u8AC3\u8AC6\u8AC8\u8AC9\u8ACA\u8AD1\u8AD3\u8AD4\u8AD5\u8AD7\u8ADD\u8ADF\u8AEC\u8AF0\u8AF4\u8AF5\u8AF6\u8AFC\u8AFF\u8B05\u8B06\u8B0B\u8B11\u8B1C\u8B1E\u8B1F\u8B0A\u8B2D\u8B30\u8B37\u8B3C\u8B42", 4, "\u8B48\u8B52\u8B53\u8B54\u8B59\u8B4D\u8B5E\u8B63\u8B6D\u8B76\u8B78\u8B79\u8B7C\u8B7E\u8B81\u8B84\u8B85\u8B8B\u8B8D\u8B8F\u8B94\u8B95\u8B9C\u8B9E\u8B9F\u8C38\u8C39\u8C3D\u8C3E\u8C45\u8C47\u8C49\u8C4B\u8C4F\u8C51\u8C53\u8C54\u8C57\u8C58\u8C5B\u8C5D\u8C59\u8C63\u8C64\u8C66\u8C68\u8C69\u8C6D\u8C73\u8C75\u8C76\u8C7B\u8C7E\u8C86"], + ["8fdfa1", "\u8C87\u8C8B\u8C90\u8C92\u8C93\u8C99\u8C9B\u8C9C\u8CA4\u8CB9\u8CBA\u8CC5\u8CC6\u8CC9\u8CCB\u8CCF\u8CD6\u8CD5\u8CD9\u8CDD\u8CE1\u8CE8\u8CEC\u8CEF\u8CF0\u8CF2\u8CF5\u8CF7\u8CF8\u8CFE\u8CFF\u8D01\u8D03\u8D09\u8D12\u8D17\u8D1B\u8D65\u8D69\u8D6C\u8D6E\u8D7F\u8D82\u8D84\u8D88\u8D8D\u8D90\u8D91\u8D95\u8D9E\u8D9F\u8DA0\u8DA6\u8DAB\u8DAC\u8DAF\u8DB2\u8DB5\u8DB7\u8DB9\u8DBB\u8DC0\u8DC5\u8DC6\u8DC7\u8DC8\u8DCA\u8DCE\u8DD1\u8DD4\u8DD5\u8DD7\u8DD9\u8DE4\u8DE5\u8DE7\u8DEC\u8DF0\u8DBC\u8DF1\u8DF2\u8DF4\u8DFD\u8E01\u8E04\u8E05\u8E06\u8E0B\u8E11\u8E14\u8E16\u8E20\u8E21\u8E22"], + ["8fe0a1", "\u8E23\u8E26\u8E27\u8E31\u8E33\u8E36\u8E37\u8E38\u8E39\u8E3D\u8E40\u8E41\u8E4B\u8E4D\u8E4E\u8E4F\u8E54\u8E5B\u8E5C\u8E5D\u8E5E\u8E61\u8E62\u8E69\u8E6C\u8E6D\u8E6F\u8E70\u8E71\u8E79\u8E7A\u8E7B\u8E82\u8E83\u8E89\u8E90\u8E92\u8E95\u8E9A\u8E9B\u8E9D\u8E9E\u8EA2\u8EA7\u8EA9\u8EAD\u8EAE\u8EB3\u8EB5\u8EBA\u8EBB\u8EC0\u8EC1\u8EC3\u8EC4\u8EC7\u8ECF\u8ED1\u8ED4\u8EDC\u8EE8\u8EEE\u8EF0\u8EF1\u8EF7\u8EF9\u8EFA\u8EED\u8F00\u8F02\u8F07\u8F08\u8F0F\u8F10\u8F16\u8F17\u8F18\u8F1E\u8F20\u8F21\u8F23\u8F25\u8F27\u8F28\u8F2C\u8F2D\u8F2E\u8F34\u8F35\u8F36\u8F37\u8F3A\u8F40\u8F41"], + ["8fe1a1", "\u8F43\u8F47\u8F4F\u8F51", 4, "\u8F58\u8F5D\u8F5E\u8F65\u8F9D\u8FA0\u8FA1\u8FA4\u8FA5\u8FA6\u8FB5\u8FB6\u8FB8\u8FBE\u8FC0\u8FC1\u8FC6\u8FCA\u8FCB\u8FCD\u8FD0\u8FD2\u8FD3\u8FD5\u8FE0\u8FE3\u8FE4\u8FE8\u8FEE\u8FF1\u8FF5\u8FF6\u8FFB\u8FFE\u9002\u9004\u9008\u900C\u9018\u901B\u9028\u9029\u902F\u902A\u902C\u902D\u9033\u9034\u9037\u903F\u9043\u9044\u904C\u905B\u905D\u9062\u9066\u9067\u906C\u9070\u9074\u9079\u9085\u9088\u908B\u908C\u908E\u9090\u9095\u9097\u9098\u9099\u909B\u90A0\u90A1\u90A2\u90A5\u90B0\u90B2\u90B3\u90B4\u90B6\u90BD\u90CC\u90BE\u90C3"], + ["8fe2a1", "\u90C4\u90C5\u90C7\u90C8\u90D5\u90D7\u90D8\u90D9\u90DC\u90DD\u90DF\u90E5\u90D2\u90F6\u90EB\u90EF\u90F0\u90F4\u90FE\u90FF\u9100\u9104\u9105\u9106\u9108\u910D\u9110\u9114\u9116\u9117\u9118\u911A\u911C\u911E\u9120\u9125\u9122\u9123\u9127\u9129\u912E\u912F\u9131\u9134\u9136\u9137\u9139\u913A\u913C\u913D\u9143\u9147\u9148\u914F\u9153\u9157\u9159\u915A\u915B\u9161\u9164\u9167\u916D\u9174\u9179\u917A\u917B\u9181\u9183\u9185\u9186\u918A\u918E\u9191\u9193\u9194\u9195\u9198\u919E\u91A1\u91A6\u91A8\u91AC\u91AD\u91AE\u91B0\u91B1\u91B2\u91B3\u91B6\u91BB\u91BC\u91BD\u91BF"], + ["8fe3a1", "\u91C2\u91C3\u91C5\u91D3\u91D4\u91D7\u91D9\u91DA\u91DE\u91E4\u91E5\u91E9\u91EA\u91EC", 5, "\u91F7\u91F9\u91FB\u91FD\u9200\u9201\u9204\u9205\u9206\u9207\u9209\u920A\u920C\u9210\u9212\u9213\u9216\u9218\u921C\u921D\u9223\u9224\u9225\u9226\u9228\u922E\u922F\u9230\u9233\u9235\u9236\u9238\u9239\u923A\u923C\u923E\u9240\u9242\u9243\u9246\u9247\u924A\u924D\u924E\u924F\u9251\u9258\u9259\u925C\u925D\u9260\u9261\u9265\u9267\u9268\u9269\u926E\u926F\u9270\u9275", 4, "\u927B\u927C\u927D\u927F\u9288\u9289\u928A\u928D\u928E\u9292\u9297"], + ["8fe4a1", "\u9299\u929F\u92A0\u92A4\u92A5\u92A7\u92A8\u92AB\u92AF\u92B2\u92B6\u92B8\u92BA\u92BB\u92BC\u92BD\u92BF", 4, "\u92C5\u92C6\u92C7\u92C8\u92CB\u92CC\u92CD\u92CE\u92D0\u92D3\u92D5\u92D7\u92D8\u92D9\u92DC\u92DD\u92DF\u92E0\u92E1\u92E3\u92E5\u92E7\u92E8\u92EC\u92EE\u92F0\u92F9\u92FB\u92FF\u9300\u9302\u9308\u930D\u9311\u9314\u9315\u931C\u931D\u931E\u931F\u9321\u9324\u9325\u9327\u9329\u932A\u9333\u9334\u9336\u9337\u9347\u9348\u9349\u9350\u9351\u9352\u9355\u9357\u9358\u935A\u935E\u9364\u9365\u9367\u9369\u936A\u936D\u936F\u9370\u9371\u9373\u9374\u9376"], + ["8fe5a1", "\u937A\u937D\u937F\u9380\u9381\u9382\u9388\u938A\u938B\u938D\u938F\u9392\u9395\u9398\u939B\u939E\u93A1\u93A3\u93A4\u93A6\u93A8\u93AB\u93B4\u93B5\u93B6\u93BA\u93A9\u93C1\u93C4\u93C5\u93C6\u93C7\u93C9", 4, "\u93D3\u93D9\u93DC\u93DE\u93DF\u93E2\u93E6\u93E7\u93F9\u93F7\u93F8\u93FA\u93FB\u93FD\u9401\u9402\u9404\u9408\u9409\u940D\u940E\u940F\u9415\u9416\u9417\u941F\u942E\u942F\u9431\u9432\u9433\u9434\u943B\u943F\u943D\u9443\u9445\u9448\u944A\u944C\u9455\u9459\u945C\u945F\u9461\u9463\u9468\u946B\u946D\u946E\u946F\u9471\u9472\u9484\u9483\u9578\u9579"], + ["8fe6a1", "\u957E\u9584\u9588\u958C\u958D\u958E\u959D\u959E\u959F\u95A1\u95A6\u95A9\u95AB\u95AC\u95B4\u95B6\u95BA\u95BD\u95BF\u95C6\u95C8\u95C9\u95CB\u95D0\u95D1\u95D2\u95D3\u95D9\u95DA\u95DD\u95DE\u95DF\u95E0\u95E4\u95E6\u961D\u961E\u9622\u9624\u9625\u9626\u962C\u9631\u9633\u9637\u9638\u9639\u963A\u963C\u963D\u9641\u9652\u9654\u9656\u9657\u9658\u9661\u966E\u9674\u967B\u967C\u967E\u967F\u9681\u9682\u9683\u9684\u9689\u9691\u9696\u969A\u969D\u969F\u96A4\u96A5\u96A6\u96A9\u96AE\u96AF\u96B3\u96BA\u96CA\u96D2\u5DB2\u96D8\u96DA\u96DD\u96DE\u96DF\u96E9\u96EF\u96F1\u96FA\u9702"], + ["8fe7a1", "\u9703\u9705\u9709\u971A\u971B\u971D\u9721\u9722\u9723\u9728\u9731\u9733\u9741\u9743\u974A\u974E\u974F\u9755\u9757\u9758\u975A\u975B\u9763\u9767\u976A\u976E\u9773\u9776\u9777\u9778\u977B\u977D\u977F\u9780\u9789\u9795\u9796\u9797\u9799\u979A\u979E\u979F\u97A2\u97AC\u97AE\u97B1\u97B2\u97B5\u97B6\u97B8\u97B9\u97BA\u97BC\u97BE\u97BF\u97C1\u97C4\u97C5\u97C7\u97C9\u97CA\u97CC\u97CD\u97CE\u97D0\u97D1\u97D4\u97D7\u97D8\u97D9\u97DD\u97DE\u97E0\u97DB\u97E1\u97E4\u97EF\u97F1\u97F4\u97F7\u97F8\u97FA\u9807\u980A\u9819\u980D\u980E\u9814\u9816\u981C\u981E\u9820\u9823\u9826"], + ["8fe8a1", "\u982B\u982E\u982F\u9830\u9832\u9833\u9835\u9825\u983E\u9844\u9847\u984A\u9851\u9852\u9853\u9856\u9857\u9859\u985A\u9862\u9863\u9865\u9866\u986A\u986C\u98AB\u98AD\u98AE\u98B0\u98B4\u98B7\u98B8\u98BA\u98BB\u98BF\u98C2\u98C5\u98C8\u98CC\u98E1\u98E3\u98E5\u98E6\u98E7\u98EA\u98F3\u98F6\u9902\u9907\u9908\u9911\u9915\u9916\u9917\u991A\u991B\u991C\u991F\u9922\u9926\u9927\u992B\u9931", 4, "\u9939\u993A\u993B\u993C\u9940\u9941\u9946\u9947\u9948\u994D\u994E\u9954\u9958\u9959\u995B\u995C\u995E\u995F\u9960\u999B\u999D\u999F\u99A6\u99B0\u99B1\u99B2\u99B5"], + ["8fe9a1", "\u99B9\u99BA\u99BD\u99BF\u99C3\u99C9\u99D3\u99D4\u99D9\u99DA\u99DC\u99DE\u99E7\u99EA\u99EB\u99EC\u99F0\u99F4\u99F5\u99F9\u99FD\u99FE\u9A02\u9A03\u9A04\u9A0B\u9A0C\u9A10\u9A11\u9A16\u9A1E\u9A20\u9A22\u9A23\u9A24\u9A27\u9A2D\u9A2E\u9A33\u9A35\u9A36\u9A38\u9A47\u9A41\u9A44\u9A4A\u9A4B\u9A4C\u9A4E\u9A51\u9A54\u9A56\u9A5D\u9AAA\u9AAC\u9AAE\u9AAF\u9AB2\u9AB4\u9AB5\u9AB6\u9AB9\u9ABB\u9ABE\u9ABF\u9AC1\u9AC3\u9AC6\u9AC8\u9ACE\u9AD0\u9AD2\u9AD5\u9AD6\u9AD7\u9ADB\u9ADC\u9AE0\u9AE4\u9AE5\u9AE7\u9AE9\u9AEC\u9AF2\u9AF3\u9AF5\u9AF9\u9AFA\u9AFD\u9AFF", 4], + ["8feaa1", "\u9B04\u9B05\u9B08\u9B09\u9B0B\u9B0C\u9B0D\u9B0E\u9B10\u9B12\u9B16\u9B19\u9B1B\u9B1C\u9B20\u9B26\u9B2B\u9B2D\u9B33\u9B34\u9B35\u9B37\u9B39\u9B3A\u9B3D\u9B48\u9B4B\u9B4C\u9B55\u9B56\u9B57\u9B5B\u9B5E\u9B61\u9B63\u9B65\u9B66\u9B68\u9B6A", 4, "\u9B73\u9B75\u9B77\u9B78\u9B79\u9B7F\u9B80\u9B84\u9B85\u9B86\u9B87\u9B89\u9B8A\u9B8B\u9B8D\u9B8F\u9B90\u9B94\u9B9A\u9B9D\u9B9E\u9BA6\u9BA7\u9BA9\u9BAC\u9BB0\u9BB1\u9BB2\u9BB7\u9BB8\u9BBB\u9BBC\u9BBE\u9BBF\u9BC1\u9BC7\u9BC8\u9BCE\u9BD0\u9BD7\u9BD8\u9BDD\u9BDF\u9BE5\u9BE7\u9BEA\u9BEB\u9BEF\u9BF3\u9BF7\u9BF8"], + ["8feba1", "\u9BF9\u9BFA\u9BFD\u9BFF\u9C00\u9C02\u9C0B\u9C0F\u9C11\u9C16\u9C18\u9C19\u9C1A\u9C1C\u9C1E\u9C22\u9C23\u9C26", 4, "\u9C31\u9C35\u9C36\u9C37\u9C3D\u9C41\u9C43\u9C44\u9C45\u9C49\u9C4A\u9C4E\u9C4F\u9C50\u9C53\u9C54\u9C56\u9C58\u9C5B\u9C5D\u9C5E\u9C5F\u9C63\u9C69\u9C6A\u9C5C\u9C6B\u9C68\u9C6E\u9C70\u9C72\u9C75\u9C77\u9C7B\u9CE6\u9CF2\u9CF7\u9CF9\u9D0B\u9D02\u9D11\u9D17\u9D18\u9D1C\u9D1D\u9D1E\u9D2F\u9D30\u9D32\u9D33\u9D34\u9D3A\u9D3C\u9D45\u9D3D\u9D42\u9D43\u9D47\u9D4A\u9D53\u9D54\u9D5F\u9D63\u9D62\u9D65\u9D69\u9D6A\u9D6B\u9D70\u9D76\u9D77\u9D7B"], + ["8feca1", "\u9D7C\u9D7E\u9D83\u9D84\u9D86\u9D8A\u9D8D\u9D8E\u9D92\u9D93\u9D95\u9D96\u9D97\u9D98\u9DA1\u9DAA\u9DAC\u9DAE\u9DB1\u9DB5\u9DB9\u9DBC\u9DBF\u9DC3\u9DC7\u9DC9\u9DCA\u9DD4\u9DD5\u9DD6\u9DD7\u9DDA\u9DDE\u9DDF\u9DE0\u9DE5\u9DE7\u9DE9\u9DEB\u9DEE\u9DF0\u9DF3\u9DF4\u9DFE\u9E0A\u9E02\u9E07\u9E0E\u9E10\u9E11\u9E12\u9E15\u9E16\u9E19\u9E1C\u9E1D\u9E7A\u9E7B\u9E7C\u9E80\u9E82\u9E83\u9E84\u9E85\u9E87\u9E8E\u9E8F\u9E96\u9E98\u9E9B\u9E9E\u9EA4\u9EA8\u9EAC\u9EAE\u9EAF\u9EB0\u9EB3\u9EB4\u9EB5\u9EC6\u9EC8\u9ECB\u9ED5\u9EDF\u9EE4\u9EE7\u9EEC\u9EED\u9EEE\u9EF0\u9EF1\u9EF2\u9EF5"], + ["8feda1", "\u9EF8\u9EFF\u9F02\u9F03\u9F09\u9F0F\u9F10\u9F11\u9F12\u9F14\u9F16\u9F17\u9F19\u9F1A\u9F1B\u9F1F\u9F22\u9F26\u9F2A\u9F2B\u9F2F\u9F31\u9F32\u9F34\u9F37\u9F39\u9F3A\u9F3C\u9F3D\u9F3F\u9F41\u9F43", 4, "\u9F53\u9F55\u9F56\u9F57\u9F58\u9F5A\u9F5D\u9F5E\u9F68\u9F69\u9F6D", 4, "\u9F73\u9F75\u9F7A\u9F7D\u9F8F\u9F90\u9F91\u9F92\u9F94\u9F96\u9F97\u9F9E\u9FA1\u9FA2\u9FA3\u9FA5"] + ]; + } +}); +var require_cp9362 = __commonJS2({ + "node_modules/body-parser/node_modules/iconv-lite/encodings/tables/cp936.json"(exports2, module2) { + module2.exports = [ + ["0", "\0", 127, "\u20AC"], + ["8140", "\u4E02\u4E04\u4E05\u4E06\u4E0F\u4E12\u4E17\u4E1F\u4E20\u4E21\u4E23\u4E26\u4E29\u4E2E\u4E2F\u4E31\u4E33\u4E35\u4E37\u4E3C\u4E40\u4E41\u4E42\u4E44\u4E46\u4E4A\u4E51\u4E55\u4E57\u4E5A\u4E5B\u4E62\u4E63\u4E64\u4E65\u4E67\u4E68\u4E6A", 5, "\u4E72\u4E74", 9, "\u4E7F", 6, "\u4E87\u4E8A"], + ["8180", "\u4E90\u4E96\u4E97\u4E99\u4E9C\u4E9D\u4E9E\u4EA3\u4EAA\u4EAF\u4EB0\u4EB1\u4EB4\u4EB6\u4EB7\u4EB8\u4EB9\u4EBC\u4EBD\u4EBE\u4EC8\u4ECC\u4ECF\u4ED0\u4ED2\u4EDA\u4EDB\u4EDC\u4EE0\u4EE2\u4EE6\u4EE7\u4EE9\u4EED\u4EEE\u4EEF\u4EF1\u4EF4\u4EF8\u4EF9\u4EFA\u4EFC\u4EFE\u4F00\u4F02", 6, "\u4F0B\u4F0C\u4F12", 4, "\u4F1C\u4F1D\u4F21\u4F23\u4F28\u4F29\u4F2C\u4F2D\u4F2E\u4F31\u4F33\u4F35\u4F37\u4F39\u4F3B\u4F3E", 4, "\u4F44\u4F45\u4F47", 5, "\u4F52\u4F54\u4F56\u4F61\u4F62\u4F66\u4F68\u4F6A\u4F6B\u4F6D\u4F6E\u4F71\u4F72\u4F75\u4F77\u4F78\u4F79\u4F7A\u4F7D\u4F80\u4F81\u4F82\u4F85\u4F86\u4F87\u4F8A\u4F8C\u4F8E\u4F90\u4F92\u4F93\u4F95\u4F96\u4F98\u4F99\u4F9A\u4F9C\u4F9E\u4F9F\u4FA1\u4FA2"], + ["8240", "\u4FA4\u4FAB\u4FAD\u4FB0", 4, "\u4FB6", 8, "\u4FC0\u4FC1\u4FC2\u4FC6\u4FC7\u4FC8\u4FC9\u4FCB\u4FCC\u4FCD\u4FD2", 4, "\u4FD9\u4FDB\u4FE0\u4FE2\u4FE4\u4FE5\u4FE7\u4FEB\u4FEC\u4FF0\u4FF2\u4FF4\u4FF5\u4FF6\u4FF7\u4FF9\u4FFB\u4FFC\u4FFD\u4FFF", 11], + ["8280", "\u500B\u500E\u5010\u5011\u5013\u5015\u5016\u5017\u501B\u501D\u501E\u5020\u5022\u5023\u5024\u5027\u502B\u502F", 10, "\u503B\u503D\u503F\u5040\u5041\u5042\u5044\u5045\u5046\u5049\u504A\u504B\u504D\u5050", 4, "\u5056\u5057\u5058\u5059\u505B\u505D", 7, "\u5066", 5, "\u506D", 8, "\u5078\u5079\u507A\u507C\u507D\u5081\u5082\u5083\u5084\u5086\u5087\u5089\u508A\u508B\u508C\u508E", 20, "\u50A4\u50A6\u50AA\u50AB\u50AD", 4, "\u50B3", 6, "\u50BC"], + ["8340", "\u50BD", 17, "\u50D0", 5, "\u50D7\u50D8\u50D9\u50DB", 10, "\u50E8\u50E9\u50EA\u50EB\u50EF\u50F0\u50F1\u50F2\u50F4\u50F6", 4, "\u50FC", 9, "\u5108"], + ["8380", "\u5109\u510A\u510C", 5, "\u5113", 13, "\u5122", 28, "\u5142\u5147\u514A\u514C\u514E\u514F\u5150\u5152\u5153\u5157\u5158\u5159\u515B\u515D", 4, "\u5163\u5164\u5166\u5167\u5169\u516A\u516F\u5172\u517A\u517E\u517F\u5183\u5184\u5186\u5187\u518A\u518B\u518E\u518F\u5190\u5191\u5193\u5194\u5198\u519A\u519D\u519E\u519F\u51A1\u51A3\u51A6", 4, "\u51AD\u51AE\u51B4\u51B8\u51B9\u51BA\u51BE\u51BF\u51C1\u51C2\u51C3\u51C5\u51C8\u51CA\u51CD\u51CE\u51D0\u51D2", 5], + ["8440", "\u51D8\u51D9\u51DA\u51DC\u51DE\u51DF\u51E2\u51E3\u51E5", 5, "\u51EC\u51EE\u51F1\u51F2\u51F4\u51F7\u51FE\u5204\u5205\u5209\u520B\u520C\u520F\u5210\u5213\u5214\u5215\u521C\u521E\u521F\u5221\u5222\u5223\u5225\u5226\u5227\u522A\u522C\u522F\u5231\u5232\u5234\u5235\u523C\u523E\u5244", 5, "\u524B\u524E\u524F\u5252\u5253\u5255\u5257\u5258"], + ["8480", "\u5259\u525A\u525B\u525D\u525F\u5260\u5262\u5263\u5264\u5266\u5268\u526B\u526C\u526D\u526E\u5270\u5271\u5273", 9, "\u527E\u5280\u5283", 4, "\u5289", 6, "\u5291\u5292\u5294", 6, "\u529C\u52A4\u52A5\u52A6\u52A7\u52AE\u52AF\u52B0\u52B4", 9, "\u52C0\u52C1\u52C2\u52C4\u52C5\u52C6\u52C8\u52CA\u52CC\u52CD\u52CE\u52CF\u52D1\u52D3\u52D4\u52D5\u52D7\u52D9", 5, "\u52E0\u52E1\u52E2\u52E3\u52E5", 10, "\u52F1", 7, "\u52FB\u52FC\u52FD\u5301\u5302\u5303\u5304\u5307\u5309\u530A\u530B\u530C\u530E"], + ["8540", "\u5311\u5312\u5313\u5314\u5318\u531B\u531C\u531E\u531F\u5322\u5324\u5325\u5327\u5328\u5329\u532B\u532C\u532D\u532F", 9, "\u533C\u533D\u5340\u5342\u5344\u5346\u534B\u534C\u534D\u5350\u5354\u5358\u5359\u535B\u535D\u5365\u5368\u536A\u536C\u536D\u5372\u5376\u5379\u537B\u537C\u537D\u537E\u5380\u5381\u5383\u5387\u5388\u538A\u538E\u538F"], + ["8580", "\u5390", 4, "\u5396\u5397\u5399\u539B\u539C\u539E\u53A0\u53A1\u53A4\u53A7\u53AA\u53AB\u53AC\u53AD\u53AF", 6, "\u53B7\u53B8\u53B9\u53BA\u53BC\u53BD\u53BE\u53C0\u53C3", 4, "\u53CE\u53CF\u53D0\u53D2\u53D3\u53D5\u53DA\u53DC\u53DD\u53DE\u53E1\u53E2\u53E7\u53F4\u53FA\u53FE\u53FF\u5400\u5402\u5405\u5407\u540B\u5414\u5418\u5419\u541A\u541C\u5422\u5424\u5425\u542A\u5430\u5433\u5436\u5437\u543A\u543D\u543F\u5441\u5442\u5444\u5445\u5447\u5449\u544C\u544D\u544E\u544F\u5451\u545A\u545D", 4, "\u5463\u5465\u5467\u5469", 7, "\u5474\u5479\u547A\u547E\u547F\u5481\u5483\u5485\u5487\u5488\u5489\u548A\u548D\u5491\u5493\u5497\u5498\u549C\u549E\u549F\u54A0\u54A1"], + ["8640", "\u54A2\u54A5\u54AE\u54B0\u54B2\u54B5\u54B6\u54B7\u54B9\u54BA\u54BC\u54BE\u54C3\u54C5\u54CA\u54CB\u54D6\u54D8\u54DB\u54E0", 4, "\u54EB\u54EC\u54EF\u54F0\u54F1\u54F4", 5, "\u54FB\u54FE\u5500\u5502\u5503\u5504\u5505\u5508\u550A", 4, "\u5512\u5513\u5515", 5, "\u551C\u551D\u551E\u551F\u5521\u5525\u5526"], + ["8680", "\u5528\u5529\u552B\u552D\u5532\u5534\u5535\u5536\u5538\u5539\u553A\u553B\u553D\u5540\u5542\u5545\u5547\u5548\u554B", 4, "\u5551\u5552\u5553\u5554\u5557", 4, "\u555D\u555E\u555F\u5560\u5562\u5563\u5568\u5569\u556B\u556F", 5, "\u5579\u557A\u557D\u557F\u5585\u5586\u558C\u558D\u558E\u5590\u5592\u5593\u5595\u5596\u5597\u559A\u559B\u559E\u55A0", 6, "\u55A8", 8, "\u55B2\u55B4\u55B6\u55B8\u55BA\u55BC\u55BF", 4, "\u55C6\u55C7\u55C8\u55CA\u55CB\u55CE\u55CF\u55D0\u55D5\u55D7", 4, "\u55DE\u55E0\u55E2\u55E7\u55E9\u55ED\u55EE\u55F0\u55F1\u55F4\u55F6\u55F8", 4, "\u55FF\u5602\u5603\u5604\u5605"], + ["8740", "\u5606\u5607\u560A\u560B\u560D\u5610", 7, "\u5619\u561A\u561C\u561D\u5620\u5621\u5622\u5625\u5626\u5628\u5629\u562A\u562B\u562E\u562F\u5630\u5633\u5635\u5637\u5638\u563A\u563C\u563D\u563E\u5640", 11, "\u564F", 4, "\u5655\u5656\u565A\u565B\u565D", 4], + ["8780", "\u5663\u5665\u5666\u5667\u566D\u566E\u566F\u5670\u5672\u5673\u5674\u5675\u5677\u5678\u5679\u567A\u567D", 7, "\u5687", 6, "\u5690\u5691\u5692\u5694", 14, "\u56A4", 10, "\u56B0", 6, "\u56B8\u56B9\u56BA\u56BB\u56BD", 12, "\u56CB", 8, "\u56D5\u56D6\u56D8\u56D9\u56DC\u56E3\u56E5", 5, "\u56EC\u56EE\u56EF\u56F2\u56F3\u56F6\u56F7\u56F8\u56FB\u56FC\u5700\u5701\u5702\u5705\u5707\u570B", 6], + ["8840", "\u5712", 9, "\u571D\u571E\u5720\u5721\u5722\u5724\u5725\u5726\u5727\u572B\u5731\u5732\u5734", 4, "\u573C\u573D\u573F\u5741\u5743\u5744\u5745\u5746\u5748\u5749\u574B\u5752", 4, "\u5758\u5759\u5762\u5763\u5765\u5767\u576C\u576E\u5770\u5771\u5772\u5774\u5775\u5778\u5779\u577A\u577D\u577E\u577F\u5780"], + ["8880", "\u5781\u5787\u5788\u5789\u578A\u578D", 4, "\u5794", 6, "\u579C\u579D\u579E\u579F\u57A5\u57A8\u57AA\u57AC\u57AF\u57B0\u57B1\u57B3\u57B5\u57B6\u57B7\u57B9", 8, "\u57C4", 6, "\u57CC\u57CD\u57D0\u57D1\u57D3\u57D6\u57D7\u57DB\u57DC\u57DE\u57E1\u57E2\u57E3\u57E5", 7, "\u57EE\u57F0\u57F1\u57F2\u57F3\u57F5\u57F6\u57F7\u57FB\u57FC\u57FE\u57FF\u5801\u5803\u5804\u5805\u5808\u5809\u580A\u580C\u580E\u580F\u5810\u5812\u5813\u5814\u5816\u5817\u5818\u581A\u581B\u581C\u581D\u581F\u5822\u5823\u5825", 4, "\u582B", 4, "\u5831\u5832\u5833\u5834\u5836", 7], + ["8940", "\u583E", 5, "\u5845", 6, "\u584E\u584F\u5850\u5852\u5853\u5855\u5856\u5857\u5859", 4, "\u585F", 5, "\u5866", 4, "\u586D", 16, "\u587F\u5882\u5884\u5886\u5887\u5888\u588A\u588B\u588C"], + ["8980", "\u588D", 4, "\u5894", 4, "\u589B\u589C\u589D\u58A0", 7, "\u58AA", 17, "\u58BD\u58BE\u58BF\u58C0\u58C2\u58C3\u58C4\u58C6", 10, "\u58D2\u58D3\u58D4\u58D6", 13, "\u58E5", 5, "\u58ED\u58EF\u58F1\u58F2\u58F4\u58F5\u58F7\u58F8\u58FA", 7, "\u5903\u5905\u5906\u5908", 4, "\u590E\u5910\u5911\u5912\u5913\u5917\u5918\u591B\u591D\u591E\u5920\u5921\u5922\u5923\u5926\u5928\u592C\u5930\u5932\u5933\u5935\u5936\u593B"], + ["8a40", "\u593D\u593E\u593F\u5940\u5943\u5945\u5946\u594A\u594C\u594D\u5950\u5952\u5953\u5959\u595B", 4, "\u5961\u5963\u5964\u5966", 12, "\u5975\u5977\u597A\u597B\u597C\u597E\u597F\u5980\u5985\u5989\u598B\u598C\u598E\u598F\u5990\u5991\u5994\u5995\u5998\u599A\u599B\u599C\u599D\u599F\u59A0\u59A1\u59A2\u59A6"], + ["8a80", "\u59A7\u59AC\u59AD\u59B0\u59B1\u59B3", 5, "\u59BA\u59BC\u59BD\u59BF", 6, "\u59C7\u59C8\u59C9\u59CC\u59CD\u59CE\u59CF\u59D5\u59D6\u59D9\u59DB\u59DE", 4, "\u59E4\u59E6\u59E7\u59E9\u59EA\u59EB\u59ED", 11, "\u59FA\u59FC\u59FD\u59FE\u5A00\u5A02\u5A0A\u5A0B\u5A0D\u5A0E\u5A0F\u5A10\u5A12\u5A14\u5A15\u5A16\u5A17\u5A19\u5A1A\u5A1B\u5A1D\u5A1E\u5A21\u5A22\u5A24\u5A26\u5A27\u5A28\u5A2A", 6, "\u5A33\u5A35\u5A37", 4, "\u5A3D\u5A3E\u5A3F\u5A41", 4, "\u5A47\u5A48\u5A4B", 9, "\u5A56\u5A57\u5A58\u5A59\u5A5B", 5], + ["8b40", "\u5A61\u5A63\u5A64\u5A65\u5A66\u5A68\u5A69\u5A6B", 8, "\u5A78\u5A79\u5A7B\u5A7C\u5A7D\u5A7E\u5A80", 17, "\u5A93", 6, "\u5A9C", 13, "\u5AAB\u5AAC"], + ["8b80", "\u5AAD", 4, "\u5AB4\u5AB6\u5AB7\u5AB9", 4, "\u5ABF\u5AC0\u5AC3", 5, "\u5ACA\u5ACB\u5ACD", 4, "\u5AD3\u5AD5\u5AD7\u5AD9\u5ADA\u5ADB\u5ADD\u5ADE\u5ADF\u5AE2\u5AE4\u5AE5\u5AE7\u5AE8\u5AEA\u5AEC", 4, "\u5AF2", 22, "\u5B0A", 11, "\u5B18", 25, "\u5B33\u5B35\u5B36\u5B38", 7, "\u5B41", 6], + ["8c40", "\u5B48", 7, "\u5B52\u5B56\u5B5E\u5B60\u5B61\u5B67\u5B68\u5B6B\u5B6D\u5B6E\u5B6F\u5B72\u5B74\u5B76\u5B77\u5B78\u5B79\u5B7B\u5B7C\u5B7E\u5B7F\u5B82\u5B86\u5B8A\u5B8D\u5B8E\u5B90\u5B91\u5B92\u5B94\u5B96\u5B9F\u5BA7\u5BA8\u5BA9\u5BAC\u5BAD\u5BAE\u5BAF\u5BB1\u5BB2\u5BB7\u5BBA\u5BBB\u5BBC\u5BC0\u5BC1\u5BC3\u5BC8\u5BC9\u5BCA\u5BCB\u5BCD\u5BCE\u5BCF"], + ["8c80", "\u5BD1\u5BD4", 8, "\u5BE0\u5BE2\u5BE3\u5BE6\u5BE7\u5BE9", 4, "\u5BEF\u5BF1", 6, "\u5BFD\u5BFE\u5C00\u5C02\u5C03\u5C05\u5C07\u5C08\u5C0B\u5C0C\u5C0D\u5C0E\u5C10\u5C12\u5C13\u5C17\u5C19\u5C1B\u5C1E\u5C1F\u5C20\u5C21\u5C23\u5C26\u5C28\u5C29\u5C2A\u5C2B\u5C2D\u5C2E\u5C2F\u5C30\u5C32\u5C33\u5C35\u5C36\u5C37\u5C43\u5C44\u5C46\u5C47\u5C4C\u5C4D\u5C52\u5C53\u5C54\u5C56\u5C57\u5C58\u5C5A\u5C5B\u5C5C\u5C5D\u5C5F\u5C62\u5C64\u5C67", 6, "\u5C70\u5C72", 6, "\u5C7B\u5C7C\u5C7D\u5C7E\u5C80\u5C83", 4, "\u5C89\u5C8A\u5C8B\u5C8E\u5C8F\u5C92\u5C93\u5C95\u5C9D", 4, "\u5CA4", 4], + ["8d40", "\u5CAA\u5CAE\u5CAF\u5CB0\u5CB2\u5CB4\u5CB6\u5CB9\u5CBA\u5CBB\u5CBC\u5CBE\u5CC0\u5CC2\u5CC3\u5CC5", 5, "\u5CCC", 5, "\u5CD3", 5, "\u5CDA", 6, "\u5CE2\u5CE3\u5CE7\u5CE9\u5CEB\u5CEC\u5CEE\u5CEF\u5CF1", 9, "\u5CFC", 4], + ["8d80", "\u5D01\u5D04\u5D05\u5D08", 5, "\u5D0F", 4, "\u5D15\u5D17\u5D18\u5D19\u5D1A\u5D1C\u5D1D\u5D1F", 4, "\u5D25\u5D28\u5D2A\u5D2B\u5D2C\u5D2F", 4, "\u5D35", 7, "\u5D3F", 7, "\u5D48\u5D49\u5D4D", 10, "\u5D59\u5D5A\u5D5C\u5D5E", 10, "\u5D6A\u5D6D\u5D6E\u5D70\u5D71\u5D72\u5D73\u5D75", 12, "\u5D83", 21, "\u5D9A\u5D9B\u5D9C\u5D9E\u5D9F\u5DA0"], + ["8e40", "\u5DA1", 21, "\u5DB8", 12, "\u5DC6", 6, "\u5DCE", 12, "\u5DDC\u5DDF\u5DE0\u5DE3\u5DE4\u5DEA\u5DEC\u5DED"], + ["8e80", "\u5DF0\u5DF5\u5DF6\u5DF8", 4, "\u5DFF\u5E00\u5E04\u5E07\u5E09\u5E0A\u5E0B\u5E0D\u5E0E\u5E12\u5E13\u5E17\u5E1E", 7, "\u5E28", 4, "\u5E2F\u5E30\u5E32", 4, "\u5E39\u5E3A\u5E3E\u5E3F\u5E40\u5E41\u5E43\u5E46", 5, "\u5E4D", 6, "\u5E56", 4, "\u5E5C\u5E5D\u5E5F\u5E60\u5E63", 14, "\u5E75\u5E77\u5E79\u5E7E\u5E81\u5E82\u5E83\u5E85\u5E88\u5E89\u5E8C\u5E8D\u5E8E\u5E92\u5E98\u5E9B\u5E9D\u5EA1\u5EA2\u5EA3\u5EA4\u5EA8", 4, "\u5EAE", 4, "\u5EB4\u5EBA\u5EBB\u5EBC\u5EBD\u5EBF", 6], + ["8f40", "\u5EC6\u5EC7\u5EC8\u5ECB", 5, "\u5ED4\u5ED5\u5ED7\u5ED8\u5ED9\u5EDA\u5EDC", 11, "\u5EE9\u5EEB", 8, "\u5EF5\u5EF8\u5EF9\u5EFB\u5EFC\u5EFD\u5F05\u5F06\u5F07\u5F09\u5F0C\u5F0D\u5F0E\u5F10\u5F12\u5F14\u5F16\u5F19\u5F1A\u5F1C\u5F1D\u5F1E\u5F21\u5F22\u5F23\u5F24"], + ["8f80", "\u5F28\u5F2B\u5F2C\u5F2E\u5F30\u5F32", 6, "\u5F3B\u5F3D\u5F3E\u5F3F\u5F41", 14, "\u5F51\u5F54\u5F59\u5F5A\u5F5B\u5F5C\u5F5E\u5F5F\u5F60\u5F63\u5F65\u5F67\u5F68\u5F6B\u5F6E\u5F6F\u5F72\u5F74\u5F75\u5F76\u5F78\u5F7A\u5F7D\u5F7E\u5F7F\u5F83\u5F86\u5F8D\u5F8E\u5F8F\u5F91\u5F93\u5F94\u5F96\u5F9A\u5F9B\u5F9D\u5F9E\u5F9F\u5FA0\u5FA2", 5, "\u5FA9\u5FAB\u5FAC\u5FAF", 5, "\u5FB6\u5FB8\u5FB9\u5FBA\u5FBB\u5FBE", 4, "\u5FC7\u5FC8\u5FCA\u5FCB\u5FCE\u5FD3\u5FD4\u5FD5\u5FDA\u5FDB\u5FDC\u5FDE\u5FDF\u5FE2\u5FE3\u5FE5\u5FE6\u5FE8\u5FE9\u5FEC\u5FEF\u5FF0\u5FF2\u5FF3\u5FF4\u5FF6\u5FF7\u5FF9\u5FFA\u5FFC\u6007"], + ["9040", "\u6008\u6009\u600B\u600C\u6010\u6011\u6013\u6017\u6018\u601A\u601E\u601F\u6022\u6023\u6024\u602C\u602D\u602E\u6030", 4, "\u6036", 4, "\u603D\u603E\u6040\u6044", 6, "\u604C\u604E\u604F\u6051\u6053\u6054\u6056\u6057\u6058\u605B\u605C\u605E\u605F\u6060\u6061\u6065\u6066\u606E\u6071\u6072\u6074\u6075\u6077\u607E\u6080"], + ["9080", "\u6081\u6082\u6085\u6086\u6087\u6088\u608A\u608B\u608E\u608F\u6090\u6091\u6093\u6095\u6097\u6098\u6099\u609C\u609E\u60A1\u60A2\u60A4\u60A5\u60A7\u60A9\u60AA\u60AE\u60B0\u60B3\u60B5\u60B6\u60B7\u60B9\u60BA\u60BD", 7, "\u60C7\u60C8\u60C9\u60CC", 4, "\u60D2\u60D3\u60D4\u60D6\u60D7\u60D9\u60DB\u60DE\u60E1", 4, "\u60EA\u60F1\u60F2\u60F5\u60F7\u60F8\u60FB", 4, "\u6102\u6103\u6104\u6105\u6107\u610A\u610B\u610C\u6110", 4, "\u6116\u6117\u6118\u6119\u611B\u611C\u611D\u611E\u6121\u6122\u6125\u6128\u6129\u612A\u612C", 18, "\u6140", 6], + ["9140", "\u6147\u6149\u614B\u614D\u614F\u6150\u6152\u6153\u6154\u6156", 6, "\u615E\u615F\u6160\u6161\u6163\u6164\u6165\u6166\u6169", 6, "\u6171\u6172\u6173\u6174\u6176\u6178", 18, "\u618C\u618D\u618F", 4, "\u6195"], + ["9180", "\u6196", 6, "\u619E", 8, "\u61AA\u61AB\u61AD", 9, "\u61B8", 5, "\u61BF\u61C0\u61C1\u61C3", 4, "\u61C9\u61CC", 4, "\u61D3\u61D5", 16, "\u61E7", 13, "\u61F6", 8, "\u6200", 5, "\u6207\u6209\u6213\u6214\u6219\u621C\u621D\u621E\u6220\u6223\u6226\u6227\u6228\u6229\u622B\u622D\u622F\u6230\u6231\u6232\u6235\u6236\u6238", 4, "\u6242\u6244\u6245\u6246\u624A"], + ["9240", "\u624F\u6250\u6255\u6256\u6257\u6259\u625A\u625C", 6, "\u6264\u6265\u6268\u6271\u6272\u6274\u6275\u6277\u6278\u627A\u627B\u627D\u6281\u6282\u6283\u6285\u6286\u6287\u6288\u628B", 5, "\u6294\u6299\u629C\u629D\u629E\u62A3\u62A6\u62A7\u62A9\u62AA\u62AD\u62AE\u62AF\u62B0\u62B2\u62B3\u62B4\u62B6\u62B7\u62B8\u62BA\u62BE\u62C0\u62C1"], + ["9280", "\u62C3\u62CB\u62CF\u62D1\u62D5\u62DD\u62DE\u62E0\u62E1\u62E4\u62EA\u62EB\u62F0\u62F2\u62F5\u62F8\u62F9\u62FA\u62FB\u6300\u6303\u6304\u6305\u6306\u630A\u630B\u630C\u630D\u630F\u6310\u6312\u6313\u6314\u6315\u6317\u6318\u6319\u631C\u6326\u6327\u6329\u632C\u632D\u632E\u6330\u6331\u6333", 5, "\u633B\u633C\u633E\u633F\u6340\u6341\u6344\u6347\u6348\u634A\u6351\u6352\u6353\u6354\u6356", 7, "\u6360\u6364\u6365\u6366\u6368\u636A\u636B\u636C\u636F\u6370\u6372\u6373\u6374\u6375\u6378\u6379\u637C\u637D\u637E\u637F\u6381\u6383\u6384\u6385\u6386\u638B\u638D\u6391\u6393\u6394\u6395\u6397\u6399", 6, "\u63A1\u63A4\u63A6\u63AB\u63AF\u63B1\u63B2\u63B5\u63B6\u63B9\u63BB\u63BD\u63BF\u63C0"], + ["9340", "\u63C1\u63C2\u63C3\u63C5\u63C7\u63C8\u63CA\u63CB\u63CC\u63D1\u63D3\u63D4\u63D5\u63D7", 6, "\u63DF\u63E2\u63E4", 4, "\u63EB\u63EC\u63EE\u63EF\u63F0\u63F1\u63F3\u63F5\u63F7\u63F9\u63FA\u63FB\u63FC\u63FE\u6403\u6404\u6406", 4, "\u640D\u640E\u6411\u6412\u6415", 5, "\u641D\u641F\u6422\u6423\u6424"], + ["9380", "\u6425\u6427\u6428\u6429\u642B\u642E", 5, "\u6435", 4, "\u643B\u643C\u643E\u6440\u6442\u6443\u6449\u644B", 6, "\u6453\u6455\u6456\u6457\u6459", 4, "\u645F", 7, "\u6468\u646A\u646B\u646C\u646E", 9, "\u647B", 6, "\u6483\u6486\u6488", 8, "\u6493\u6494\u6497\u6498\u649A\u649B\u649C\u649D\u649F", 4, "\u64A5\u64A6\u64A7\u64A8\u64AA\u64AB\u64AF\u64B1\u64B2\u64B3\u64B4\u64B6\u64B9\u64BB\u64BD\u64BE\u64BF\u64C1\u64C3\u64C4\u64C6", 6, "\u64CF\u64D1\u64D3\u64D4\u64D5\u64D6\u64D9\u64DA"], + ["9440", "\u64DB\u64DC\u64DD\u64DF\u64E0\u64E1\u64E3\u64E5\u64E7", 24, "\u6501", 7, "\u650A", 7, "\u6513", 4, "\u6519", 8], + ["9480", "\u6522\u6523\u6524\u6526", 4, "\u652C\u652D\u6530\u6531\u6532\u6533\u6537\u653A\u653C\u653D\u6540", 4, "\u6546\u6547\u654A\u654B\u654D\u654E\u6550\u6552\u6553\u6554\u6557\u6558\u655A\u655C\u655F\u6560\u6561\u6564\u6565\u6567\u6568\u6569\u656A\u656D\u656E\u656F\u6571\u6573\u6575\u6576\u6578", 14, "\u6588\u6589\u658A\u658D\u658E\u658F\u6592\u6594\u6595\u6596\u6598\u659A\u659D\u659E\u65A0\u65A2\u65A3\u65A6\u65A8\u65AA\u65AC\u65AE\u65B1", 7, "\u65BA\u65BB\u65BE\u65BF\u65C0\u65C2\u65C7\u65C8\u65C9\u65CA\u65CD\u65D0\u65D1\u65D3\u65D4\u65D5\u65D8", 7, "\u65E1\u65E3\u65E4\u65EA\u65EB"], + ["9540", "\u65F2\u65F3\u65F4\u65F5\u65F8\u65F9\u65FB", 4, "\u6601\u6604\u6605\u6607\u6608\u6609\u660B\u660D\u6610\u6611\u6612\u6616\u6617\u6618\u661A\u661B\u661C\u661E\u6621\u6622\u6623\u6624\u6626\u6629\u662A\u662B\u662C\u662E\u6630\u6632\u6633\u6637", 4, "\u663D\u663F\u6640\u6642\u6644", 6, "\u664D\u664E\u6650\u6651\u6658"], + ["9580", "\u6659\u665B\u665C\u665D\u665E\u6660\u6662\u6663\u6665\u6667\u6669", 4, "\u6671\u6672\u6673\u6675\u6678\u6679\u667B\u667C\u667D\u667F\u6680\u6681\u6683\u6685\u6686\u6688\u6689\u668A\u668B\u668D\u668E\u668F\u6690\u6692\u6693\u6694\u6695\u6698", 4, "\u669E", 8, "\u66A9", 4, "\u66AF", 4, "\u66B5\u66B6\u66B7\u66B8\u66BA\u66BB\u66BC\u66BD\u66BF", 25, "\u66DA\u66DE", 7, "\u66E7\u66E8\u66EA", 5, "\u66F1\u66F5\u66F6\u66F8\u66FA\u66FB\u66FD\u6701\u6702\u6703"], + ["9640", "\u6704\u6705\u6706\u6707\u670C\u670E\u670F\u6711\u6712\u6713\u6716\u6718\u6719\u671A\u671C\u671E\u6720", 5, "\u6727\u6729\u672E\u6730\u6732\u6733\u6736\u6737\u6738\u6739\u673B\u673C\u673E\u673F\u6741\u6744\u6745\u6747\u674A\u674B\u674D\u6752\u6754\u6755\u6757", 4, "\u675D\u6762\u6763\u6764\u6766\u6767\u676B\u676C\u676E\u6771\u6774\u6776"], + ["9680", "\u6778\u6779\u677A\u677B\u677D\u6780\u6782\u6783\u6785\u6786\u6788\u678A\u678C\u678D\u678E\u678F\u6791\u6792\u6793\u6794\u6796\u6799\u679B\u679F\u67A0\u67A1\u67A4\u67A6\u67A9\u67AC\u67AE\u67B1\u67B2\u67B4\u67B9", 7, "\u67C2\u67C5", 9, "\u67D5\u67D6\u67D7\u67DB\u67DF\u67E1\u67E3\u67E4\u67E6\u67E7\u67E8\u67EA\u67EB\u67ED\u67EE\u67F2\u67F5", 7, "\u67FE\u6801\u6802\u6803\u6804\u6806\u680D\u6810\u6812\u6814\u6815\u6818", 4, "\u681E\u681F\u6820\u6822", 6, "\u682B", 6, "\u6834\u6835\u6836\u683A\u683B\u683F\u6847\u684B\u684D\u684F\u6852\u6856", 5], + ["9740", "\u685C\u685D\u685E\u685F\u686A\u686C", 7, "\u6875\u6878", 8, "\u6882\u6884\u6887", 7, "\u6890\u6891\u6892\u6894\u6895\u6896\u6898", 9, "\u68A3\u68A4\u68A5\u68A9\u68AA\u68AB\u68AC\u68AE\u68B1\u68B2\u68B4\u68B6\u68B7\u68B8"], + ["9780", "\u68B9", 6, "\u68C1\u68C3", 5, "\u68CA\u68CC\u68CE\u68CF\u68D0\u68D1\u68D3\u68D4\u68D6\u68D7\u68D9\u68DB", 4, "\u68E1\u68E2\u68E4", 9, "\u68EF\u68F2\u68F3\u68F4\u68F6\u68F7\u68F8\u68FB\u68FD\u68FE\u68FF\u6900\u6902\u6903\u6904\u6906", 4, "\u690C\u690F\u6911\u6913", 11, "\u6921\u6922\u6923\u6925", 7, "\u692E\u692F\u6931\u6932\u6933\u6935\u6936\u6937\u6938\u693A\u693B\u693C\u693E\u6940\u6941\u6943", 16, "\u6955\u6956\u6958\u6959\u695B\u695C\u695F"], + ["9840", "\u6961\u6962\u6964\u6965\u6967\u6968\u6969\u696A\u696C\u696D\u696F\u6970\u6972", 4, "\u697A\u697B\u697D\u697E\u697F\u6981\u6983\u6985\u698A\u698B\u698C\u698E", 5, "\u6996\u6997\u6999\u699A\u699D", 9, "\u69A9\u69AA\u69AC\u69AE\u69AF\u69B0\u69B2\u69B3\u69B5\u69B6\u69B8\u69B9\u69BA\u69BC\u69BD"], + ["9880", "\u69BE\u69BF\u69C0\u69C2", 7, "\u69CB\u69CD\u69CF\u69D1\u69D2\u69D3\u69D5", 5, "\u69DC\u69DD\u69DE\u69E1", 11, "\u69EE\u69EF\u69F0\u69F1\u69F3", 9, "\u69FE\u6A00", 9, "\u6A0B", 11, "\u6A19", 5, "\u6A20\u6A22", 5, "\u6A29\u6A2B\u6A2C\u6A2D\u6A2E\u6A30\u6A32\u6A33\u6A34\u6A36", 6, "\u6A3F", 4, "\u6A45\u6A46\u6A48", 7, "\u6A51", 6, "\u6A5A"], + ["9940", "\u6A5C", 4, "\u6A62\u6A63\u6A64\u6A66", 10, "\u6A72", 6, "\u6A7A\u6A7B\u6A7D\u6A7E\u6A7F\u6A81\u6A82\u6A83\u6A85", 8, "\u6A8F\u6A92", 4, "\u6A98", 7, "\u6AA1", 5], + ["9980", "\u6AA7\u6AA8\u6AAA\u6AAD", 114, "\u6B25\u6B26\u6B28", 6], + ["9a40", "\u6B2F\u6B30\u6B31\u6B33\u6B34\u6B35\u6B36\u6B38\u6B3B\u6B3C\u6B3D\u6B3F\u6B40\u6B41\u6B42\u6B44\u6B45\u6B48\u6B4A\u6B4B\u6B4D", 11, "\u6B5A", 7, "\u6B68\u6B69\u6B6B", 13, "\u6B7A\u6B7D\u6B7E\u6B7F\u6B80\u6B85\u6B88"], + ["9a80", "\u6B8C\u6B8E\u6B8F\u6B90\u6B91\u6B94\u6B95\u6B97\u6B98\u6B99\u6B9C", 4, "\u6BA2", 7, "\u6BAB", 7, "\u6BB6\u6BB8", 6, "\u6BC0\u6BC3\u6BC4\u6BC6", 4, "\u6BCC\u6BCE\u6BD0\u6BD1\u6BD8\u6BDA\u6BDC", 4, "\u6BE2", 7, "\u6BEC\u6BED\u6BEE\u6BF0\u6BF1\u6BF2\u6BF4\u6BF6\u6BF7\u6BF8\u6BFA\u6BFB\u6BFC\u6BFE", 6, "\u6C08", 4, "\u6C0E\u6C12\u6C17\u6C1C\u6C1D\u6C1E\u6C20\u6C23\u6C25\u6C2B\u6C2C\u6C2D\u6C31\u6C33\u6C36\u6C37\u6C39\u6C3A\u6C3B\u6C3C\u6C3E\u6C3F\u6C43\u6C44\u6C45\u6C48\u6C4B", 4, "\u6C51\u6C52\u6C53\u6C56\u6C58"], + ["9b40", "\u6C59\u6C5A\u6C62\u6C63\u6C65\u6C66\u6C67\u6C6B", 4, "\u6C71\u6C73\u6C75\u6C77\u6C78\u6C7A\u6C7B\u6C7C\u6C7F\u6C80\u6C84\u6C87\u6C8A\u6C8B\u6C8D\u6C8E\u6C91\u6C92\u6C95\u6C96\u6C97\u6C98\u6C9A\u6C9C\u6C9D\u6C9E\u6CA0\u6CA2\u6CA8\u6CAC\u6CAF\u6CB0\u6CB4\u6CB5\u6CB6\u6CB7\u6CBA\u6CC0\u6CC1\u6CC2\u6CC3\u6CC6\u6CC7\u6CC8\u6CCB\u6CCD\u6CCE\u6CCF\u6CD1\u6CD2\u6CD8"], + ["9b80", "\u6CD9\u6CDA\u6CDC\u6CDD\u6CDF\u6CE4\u6CE6\u6CE7\u6CE9\u6CEC\u6CED\u6CF2\u6CF4\u6CF9\u6CFF\u6D00\u6D02\u6D03\u6D05\u6D06\u6D08\u6D09\u6D0A\u6D0D\u6D0F\u6D10\u6D11\u6D13\u6D14\u6D15\u6D16\u6D18\u6D1C\u6D1D\u6D1F", 5, "\u6D26\u6D28\u6D29\u6D2C\u6D2D\u6D2F\u6D30\u6D34\u6D36\u6D37\u6D38\u6D3A\u6D3F\u6D40\u6D42\u6D44\u6D49\u6D4C\u6D50\u6D55\u6D56\u6D57\u6D58\u6D5B\u6D5D\u6D5F\u6D61\u6D62\u6D64\u6D65\u6D67\u6D68\u6D6B\u6D6C\u6D6D\u6D70\u6D71\u6D72\u6D73\u6D75\u6D76\u6D79\u6D7A\u6D7B\u6D7D", 4, "\u6D83\u6D84\u6D86\u6D87\u6D8A\u6D8B\u6D8D\u6D8F\u6D90\u6D92\u6D96", 4, "\u6D9C\u6DA2\u6DA5\u6DAC\u6DAD\u6DB0\u6DB1\u6DB3\u6DB4\u6DB6\u6DB7\u6DB9", 5, "\u6DC1\u6DC2\u6DC3\u6DC8\u6DC9\u6DCA"], + ["9c40", "\u6DCD\u6DCE\u6DCF\u6DD0\u6DD2\u6DD3\u6DD4\u6DD5\u6DD7\u6DDA\u6DDB\u6DDC\u6DDF\u6DE2\u6DE3\u6DE5\u6DE7\u6DE8\u6DE9\u6DEA\u6DED\u6DEF\u6DF0\u6DF2\u6DF4\u6DF5\u6DF6\u6DF8\u6DFA\u6DFD", 7, "\u6E06\u6E07\u6E08\u6E09\u6E0B\u6E0F\u6E12\u6E13\u6E15\u6E18\u6E19\u6E1B\u6E1C\u6E1E\u6E1F\u6E22\u6E26\u6E27\u6E28\u6E2A\u6E2C\u6E2E\u6E30\u6E31\u6E33\u6E35"], + ["9c80", "\u6E36\u6E37\u6E39\u6E3B", 7, "\u6E45", 7, "\u6E4F\u6E50\u6E51\u6E52\u6E55\u6E57\u6E59\u6E5A\u6E5C\u6E5D\u6E5E\u6E60", 10, "\u6E6C\u6E6D\u6E6F", 14, "\u6E80\u6E81\u6E82\u6E84\u6E87\u6E88\u6E8A", 4, "\u6E91", 6, "\u6E99\u6E9A\u6E9B\u6E9D\u6E9E\u6EA0\u6EA1\u6EA3\u6EA4\u6EA6\u6EA8\u6EA9\u6EAB\u6EAC\u6EAD\u6EAE\u6EB0\u6EB3\u6EB5\u6EB8\u6EB9\u6EBC\u6EBE\u6EBF\u6EC0\u6EC3\u6EC4\u6EC5\u6EC6\u6EC8\u6EC9\u6ECA\u6ECC\u6ECD\u6ECE\u6ED0\u6ED2\u6ED6\u6ED8\u6ED9\u6EDB\u6EDC\u6EDD\u6EE3\u6EE7\u6EEA", 5], + ["9d40", "\u6EF0\u6EF1\u6EF2\u6EF3\u6EF5\u6EF6\u6EF7\u6EF8\u6EFA", 7, "\u6F03\u6F04\u6F05\u6F07\u6F08\u6F0A", 4, "\u6F10\u6F11\u6F12\u6F16", 9, "\u6F21\u6F22\u6F23\u6F25\u6F26\u6F27\u6F28\u6F2C\u6F2E\u6F30\u6F32\u6F34\u6F35\u6F37", 6, "\u6F3F\u6F40\u6F41\u6F42"], + ["9d80", "\u6F43\u6F44\u6F45\u6F48\u6F49\u6F4A\u6F4C\u6F4E", 9, "\u6F59\u6F5A\u6F5B\u6F5D\u6F5F\u6F60\u6F61\u6F63\u6F64\u6F65\u6F67", 5, "\u6F6F\u6F70\u6F71\u6F73\u6F75\u6F76\u6F77\u6F79\u6F7B\u6F7D", 6, "\u6F85\u6F86\u6F87\u6F8A\u6F8B\u6F8F", 12, "\u6F9D\u6F9E\u6F9F\u6FA0\u6FA2", 4, "\u6FA8", 10, "\u6FB4\u6FB5\u6FB7\u6FB8\u6FBA", 5, "\u6FC1\u6FC3", 5, "\u6FCA", 6, "\u6FD3", 10, "\u6FDF\u6FE2\u6FE3\u6FE4\u6FE5"], + ["9e40", "\u6FE6", 7, "\u6FF0", 32, "\u7012", 7, "\u701C", 6, "\u7024", 6], + ["9e80", "\u702B", 9, "\u7036\u7037\u7038\u703A", 17, "\u704D\u704E\u7050", 13, "\u705F", 11, "\u706E\u7071\u7072\u7073\u7074\u7077\u7079\u707A\u707B\u707D\u7081\u7082\u7083\u7084\u7086\u7087\u7088\u708B\u708C\u708D\u708F\u7090\u7091\u7093\u7097\u7098\u709A\u709B\u709E", 12, "\u70B0\u70B2\u70B4\u70B5\u70B6\u70BA\u70BE\u70BF\u70C4\u70C5\u70C6\u70C7\u70C9\u70CB", 12, "\u70DA"], + ["9f40", "\u70DC\u70DD\u70DE\u70E0\u70E1\u70E2\u70E3\u70E5\u70EA\u70EE\u70F0", 6, "\u70F8\u70FA\u70FB\u70FC\u70FE", 10, "\u710B", 4, "\u7111\u7112\u7114\u7117\u711B", 10, "\u7127", 7, "\u7132\u7133\u7134"], + ["9f80", "\u7135\u7137", 13, "\u7146\u7147\u7148\u7149\u714B\u714D\u714F", 12, "\u715D\u715F", 4, "\u7165\u7169", 4, "\u716F\u7170\u7171\u7174\u7175\u7176\u7177\u7179\u717B\u717C\u717E", 5, "\u7185", 4, "\u718B\u718C\u718D\u718E\u7190\u7191\u7192\u7193\u7195\u7196\u7197\u719A", 4, "\u71A1", 6, "\u71A9\u71AA\u71AB\u71AD", 5, "\u71B4\u71B6\u71B7\u71B8\u71BA", 8, "\u71C4", 9, "\u71CF", 4], + ["a040", "\u71D6", 9, "\u71E1\u71E2\u71E3\u71E4\u71E6\u71E8", 5, "\u71EF", 9, "\u71FA", 11, "\u7207", 19], + ["a080", "\u721B\u721C\u721E", 9, "\u7229\u722B\u722D\u722E\u722F\u7232\u7233\u7234\u723A\u723C\u723E\u7240", 6, "\u7249\u724A\u724B\u724E\u724F\u7250\u7251\u7253\u7254\u7255\u7257\u7258\u725A\u725C\u725E\u7260\u7263\u7264\u7265\u7268\u726A\u726B\u726C\u726D\u7270\u7271\u7273\u7274\u7276\u7277\u7278\u727B\u727C\u727D\u7282\u7283\u7285", 4, "\u728C\u728E\u7290\u7291\u7293", 11, "\u72A0", 11, "\u72AE\u72B1\u72B2\u72B3\u72B5\u72BA", 6, "\u72C5\u72C6\u72C7\u72C9\u72CA\u72CB\u72CC\u72CF\u72D1\u72D3\u72D4\u72D5\u72D6\u72D8\u72DA\u72DB"], + ["a1a1", "\u3000\u3001\u3002\xB7\u02C9\u02C7\xA8\u3003\u3005\u2014\uFF5E\u2016\u2026\u2018\u2019\u201C\u201D\u3014\u3015\u3008", 7, "\u3016\u3017\u3010\u3011\xB1\xD7\xF7\u2236\u2227\u2228\u2211\u220F\u222A\u2229\u2208\u2237\u221A\u22A5\u2225\u2220\u2312\u2299\u222B\u222E\u2261\u224C\u2248\u223D\u221D\u2260\u226E\u226F\u2264\u2265\u221E\u2235\u2234\u2642\u2640\xB0\u2032\u2033\u2103\uFF04\xA4\uFFE0\uFFE1\u2030\xA7\u2116\u2606\u2605\u25CB\u25CF\u25CE\u25C7\u25C6\u25A1\u25A0\u25B3\u25B2\u203B\u2192\u2190\u2191\u2193\u3013"], + ["a2a1", "\u2170", 9], + ["a2b1", "\u2488", 19, "\u2474", 19, "\u2460", 9], + ["a2e5", "\u3220", 9], + ["a2f1", "\u2160", 11], + ["a3a1", "\uFF01\uFF02\uFF03\uFFE5\uFF05", 88, "\uFFE3"], + ["a4a1", "\u3041", 82], + ["a5a1", "\u30A1", 85], + ["a6a1", "\u0391", 16, "\u03A3", 6], + ["a6c1", "\u03B1", 16, "\u03C3", 6], + ["a6e0", "\uFE35\uFE36\uFE39\uFE3A\uFE3F\uFE40\uFE3D\uFE3E\uFE41\uFE42\uFE43\uFE44"], + ["a6ee", "\uFE3B\uFE3C\uFE37\uFE38\uFE31"], + ["a6f4", "\uFE33\uFE34"], + ["a7a1", "\u0410", 5, "\u0401\u0416", 25], + ["a7d1", "\u0430", 5, "\u0451\u0436", 25], + ["a840", "\u02CA\u02CB\u02D9\u2013\u2015\u2025\u2035\u2105\u2109\u2196\u2197\u2198\u2199\u2215\u221F\u2223\u2252\u2266\u2267\u22BF\u2550", 35, "\u2581", 6], + ["a880", "\u2588", 7, "\u2593\u2594\u2595\u25BC\u25BD\u25E2\u25E3\u25E4\u25E5\u2609\u2295\u3012\u301D\u301E"], + ["a8a1", "\u0101\xE1\u01CE\xE0\u0113\xE9\u011B\xE8\u012B\xED\u01D0\xEC\u014D\xF3\u01D2\xF2\u016B\xFA\u01D4\xF9\u01D6\u01D8\u01DA\u01DC\xFC\xEA\u0251"], + ["a8bd", "\u0144\u0148"], + ["a8c0", "\u0261"], + ["a8c5", "\u3105", 36], + ["a940", "\u3021", 8, "\u32A3\u338E\u338F\u339C\u339D\u339E\u33A1\u33C4\u33CE\u33D1\u33D2\u33D5\uFE30\uFFE2\uFFE4"], + ["a959", "\u2121\u3231"], + ["a95c", "\u2010"], + ["a960", "\u30FC\u309B\u309C\u30FD\u30FE\u3006\u309D\u309E\uFE49", 9, "\uFE54\uFE55\uFE56\uFE57\uFE59", 8], + ["a980", "\uFE62", 4, "\uFE68\uFE69\uFE6A\uFE6B"], + ["a996", "\u3007"], + ["a9a4", "\u2500", 75], + ["aa40", "\u72DC\u72DD\u72DF\u72E2", 5, "\u72EA\u72EB\u72F5\u72F6\u72F9\u72FD\u72FE\u72FF\u7300\u7302\u7304", 5, "\u730B\u730C\u730D\u730F\u7310\u7311\u7312\u7314\u7318\u7319\u731A\u731F\u7320\u7323\u7324\u7326\u7327\u7328\u732D\u732F\u7330\u7332\u7333\u7335\u7336\u733A\u733B\u733C\u733D\u7340", 8], + ["aa80", "\u7349\u734A\u734B\u734C\u734E\u734F\u7351\u7353\u7354\u7355\u7356\u7358", 7, "\u7361", 10, "\u736E\u7370\u7371"], + ["ab40", "\u7372", 11, "\u737F", 4, "\u7385\u7386\u7388\u738A\u738C\u738D\u738F\u7390\u7392\u7393\u7394\u7395\u7397\u7398\u7399\u739A\u739C\u739D\u739E\u73A0\u73A1\u73A3", 5, "\u73AA\u73AC\u73AD\u73B1\u73B4\u73B5\u73B6\u73B8\u73B9\u73BC\u73BD\u73BE\u73BF\u73C1\u73C3", 4], + ["ab80", "\u73CB\u73CC\u73CE\u73D2", 6, "\u73DA\u73DB\u73DC\u73DD\u73DF\u73E1\u73E2\u73E3\u73E4\u73E6\u73E8\u73EA\u73EB\u73EC\u73EE\u73EF\u73F0\u73F1\u73F3", 4], + ["ac40", "\u73F8", 10, "\u7404\u7407\u7408\u740B\u740C\u740D\u740E\u7411", 8, "\u741C", 5, "\u7423\u7424\u7427\u7429\u742B\u742D\u742F\u7431\u7432\u7437", 4, "\u743D\u743E\u743F\u7440\u7442", 11], + ["ac80", "\u744E", 6, "\u7456\u7458\u745D\u7460", 12, "\u746E\u746F\u7471", 4, "\u7478\u7479\u747A"], + ["ad40", "\u747B\u747C\u747D\u747F\u7482\u7484\u7485\u7486\u7488\u7489\u748A\u748C\u748D\u748F\u7491", 10, "\u749D\u749F", 7, "\u74AA", 15, "\u74BB", 12], + ["ad80", "\u74C8", 9, "\u74D3", 8, "\u74DD\u74DF\u74E1\u74E5\u74E7", 6, "\u74F0\u74F1\u74F2"], + ["ae40", "\u74F3\u74F5\u74F8", 6, "\u7500\u7501\u7502\u7503\u7505", 7, "\u750E\u7510\u7512\u7514\u7515\u7516\u7517\u751B\u751D\u751E\u7520", 4, "\u7526\u7527\u752A\u752E\u7534\u7536\u7539\u753C\u753D\u753F\u7541\u7542\u7543\u7544\u7546\u7547\u7549\u754A\u754D\u7550\u7551\u7552\u7553\u7555\u7556\u7557\u7558"], + ["ae80", "\u755D", 7, "\u7567\u7568\u7569\u756B", 6, "\u7573\u7575\u7576\u7577\u757A", 4, "\u7580\u7581\u7582\u7584\u7585\u7587"], + ["af40", "\u7588\u7589\u758A\u758C\u758D\u758E\u7590\u7593\u7595\u7598\u759B\u759C\u759E\u75A2\u75A6", 4, "\u75AD\u75B6\u75B7\u75BA\u75BB\u75BF\u75C0\u75C1\u75C6\u75CB\u75CC\u75CE\u75CF\u75D0\u75D1\u75D3\u75D7\u75D9\u75DA\u75DC\u75DD\u75DF\u75E0\u75E1\u75E5\u75E9\u75EC\u75ED\u75EE\u75EF\u75F2\u75F3\u75F5\u75F6\u75F7\u75F8\u75FA\u75FB\u75FD\u75FE\u7602\u7604\u7606\u7607"], + ["af80", "\u7608\u7609\u760B\u760D\u760E\u760F\u7611\u7612\u7613\u7614\u7616\u761A\u761C\u761D\u761E\u7621\u7623\u7627\u7628\u762C\u762E\u762F\u7631\u7632\u7636\u7637\u7639\u763A\u763B\u763D\u7641\u7642\u7644"], + ["b040", "\u7645", 6, "\u764E", 5, "\u7655\u7657", 4, "\u765D\u765F\u7660\u7661\u7662\u7664", 6, "\u766C\u766D\u766E\u7670", 7, "\u7679\u767A\u767C\u767F\u7680\u7681\u7683\u7685\u7689\u768A\u768C\u768D\u768F\u7690\u7692\u7694\u7695\u7697\u7698\u769A\u769B"], + ["b080", "\u769C", 7, "\u76A5", 8, "\u76AF\u76B0\u76B3\u76B5", 9, "\u76C0\u76C1\u76C3\u554A\u963F\u57C3\u6328\u54CE\u5509\u54C0\u7691\u764C\u853C\u77EE\u827E\u788D\u7231\u9698\u978D\u6C28\u5B89\u4FFA\u6309\u6697\u5CB8\u80FA\u6848\u80AE\u6602\u76CE\u51F9\u6556\u71AC\u7FF1\u8884\u50B2\u5965\u61CA\u6FB3\u82AD\u634C\u6252\u53ED\u5427\u7B06\u516B\u75A4\u5DF4\u62D4\u8DCB\u9776\u628A\u8019\u575D\u9738\u7F62\u7238\u767D\u67CF\u767E\u6446\u4F70\u8D25\u62DC\u7A17\u6591\u73ED\u642C\u6273\u822C\u9881\u677F\u7248\u626E\u62CC\u4F34\u74E3\u534A\u529E\u7ECA\u90A6\u5E2E\u6886\u699C\u8180\u7ED1\u68D2\u78C5\u868C\u9551\u508D\u8C24\u82DE\u80DE\u5305\u8912\u5265"], + ["b140", "\u76C4\u76C7\u76C9\u76CB\u76CC\u76D3\u76D5\u76D9\u76DA\u76DC\u76DD\u76DE\u76E0", 4, "\u76E6", 7, "\u76F0\u76F3\u76F5\u76F6\u76F7\u76FA\u76FB\u76FD\u76FF\u7700\u7702\u7703\u7705\u7706\u770A\u770C\u770E", 10, "\u771B\u771C\u771D\u771E\u7721\u7723\u7724\u7725\u7727\u772A\u772B"], + ["b180", "\u772C\u772E\u7730", 4, "\u7739\u773B\u773D\u773E\u773F\u7742\u7744\u7745\u7746\u7748", 7, "\u7752", 7, "\u775C\u8584\u96F9\u4FDD\u5821\u9971\u5B9D\u62B1\u62A5\u66B4\u8C79\u9C8D\u7206\u676F\u7891\u60B2\u5351\u5317\u8F88\u80CC\u8D1D\u94A1\u500D\u72C8\u5907\u60EB\u7119\u88AB\u5954\u82EF\u672C\u7B28\u5D29\u7EF7\u752D\u6CF5\u8E66\u8FF8\u903C\u9F3B\u6BD4\u9119\u7B14\u5F7C\u78A7\u84D6\u853D\u6BD5\u6BD9\u6BD6\u5E01\u5E87\u75F9\u95ED\u655D\u5F0A\u5FC5\u8F9F\u58C1\u81C2\u907F\u965B\u97AD\u8FB9\u7F16\u8D2C\u6241\u4FBF\u53D8\u535E\u8FA8\u8FA9\u8FAB\u904D\u6807\u5F6A\u8198\u8868\u9CD6\u618B\u522B\u762A\u5F6C\u658C\u6FD2\u6EE8\u5BBE\u6448\u5175\u51B0\u67C4\u4E19\u79C9\u997C\u70B3"], + ["b240", "\u775D\u775E\u775F\u7760\u7764\u7767\u7769\u776A\u776D", 11, "\u777A\u777B\u777C\u7781\u7782\u7783\u7786", 5, "\u778F\u7790\u7793", 11, "\u77A1\u77A3\u77A4\u77A6\u77A8\u77AB\u77AD\u77AE\u77AF\u77B1\u77B2\u77B4\u77B6", 4], + ["b280", "\u77BC\u77BE\u77C0", 12, "\u77CE", 8, "\u77D8\u77D9\u77DA\u77DD", 4, "\u77E4\u75C5\u5E76\u73BB\u83E0\u64AD\u62E8\u94B5\u6CE2\u535A\u52C3\u640F\u94C2\u7B94\u4F2F\u5E1B\u8236\u8116\u818A\u6E24\u6CCA\u9A73\u6355\u535C\u54FA\u8865\u57E0\u4E0D\u5E03\u6B65\u7C3F\u90E8\u6016\u64E6\u731C\u88C1\u6750\u624D\u8D22\u776C\u8E29\u91C7\u5F69\u83DC\u8521\u9910\u53C2\u8695\u6B8B\u60ED\u60E8\u707F\u82CD\u8231\u4ED3\u6CA7\u85CF\u64CD\u7CD9\u69FD\u66F9\u8349\u5395\u7B56\u4FA7\u518C\u6D4B\u5C42\u8E6D\u63D2\u53C9\u832C\u8336\u67E5\u78B4\u643D\u5BDF\u5C94\u5DEE\u8BE7\u62C6\u67F4\u8C7A\u6400\u63BA\u8749\u998B\u8C17\u7F20\u94F2\u4EA7\u9610\u98A4\u660C\u7316"], + ["b340", "\u77E6\u77E8\u77EA\u77EF\u77F0\u77F1\u77F2\u77F4\u77F5\u77F7\u77F9\u77FA\u77FB\u77FC\u7803", 5, "\u780A\u780B\u780E\u780F\u7810\u7813\u7815\u7819\u781B\u781E\u7820\u7821\u7822\u7824\u7828\u782A\u782B\u782E\u782F\u7831\u7832\u7833\u7835\u7836\u783D\u783F\u7841\u7842\u7843\u7844\u7846\u7848\u7849\u784A\u784B\u784D\u784F\u7851\u7853\u7854\u7858\u7859\u785A"], + ["b380", "\u785B\u785C\u785E", 11, "\u786F", 7, "\u7878\u7879\u787A\u787B\u787D", 6, "\u573A\u5C1D\u5E38\u957F\u507F\u80A0\u5382\u655E\u7545\u5531\u5021\u8D85\u6284\u949E\u671D\u5632\u6F6E\u5DE2\u5435\u7092\u8F66\u626F\u64A4\u63A3\u5F7B\u6F88\u90F4\u81E3\u8FB0\u5C18\u6668\u5FF1\u6C89\u9648\u8D81\u886C\u6491\u79F0\u57CE\u6A59\u6210\u5448\u4E58\u7A0B\u60E9\u6F84\u8BDA\u627F\u901E\u9A8B\u79E4\u5403\u75F4\u6301\u5319\u6C60\u8FDF\u5F1B\u9A70\u803B\u9F7F\u4F88\u5C3A\u8D64\u7FC5\u65A5\u70BD\u5145\u51B2\u866B\u5D07\u5BA0\u62BD\u916C\u7574\u8E0C\u7A20\u6101\u7B79\u4EC7\u7EF8\u7785\u4E11\u81ED\u521D\u51FA\u6A71\u53A8\u8E87\u9504\u96CF\u6EC1\u9664\u695A"], + ["b440", "\u7884\u7885\u7886\u7888\u788A\u788B\u788F\u7890\u7892\u7894\u7895\u7896\u7899\u789D\u789E\u78A0\u78A2\u78A4\u78A6\u78A8", 7, "\u78B5\u78B6\u78B7\u78B8\u78BA\u78BB\u78BC\u78BD\u78BF\u78C0\u78C2\u78C3\u78C4\u78C6\u78C7\u78C8\u78CC\u78CD\u78CE\u78CF\u78D1\u78D2\u78D3\u78D6\u78D7\u78D8\u78DA", 9], + ["b480", "\u78E4\u78E5\u78E6\u78E7\u78E9\u78EA\u78EB\u78ED", 4, "\u78F3\u78F5\u78F6\u78F8\u78F9\u78FB", 5, "\u7902\u7903\u7904\u7906", 6, "\u7840\u50A8\u77D7\u6410\u89E6\u5904\u63E3\u5DDD\u7A7F\u693D\u4F20\u8239\u5598\u4E32\u75AE\u7A97\u5E62\u5E8A\u95EF\u521B\u5439\u708A\u6376\u9524\u5782\u6625\u693F\u9187\u5507\u6DF3\u7EAF\u8822\u6233\u7EF0\u75B5\u8328\u78C1\u96CC\u8F9E\u6148\u74F7\u8BCD\u6B64\u523A\u8D50\u6B21\u806A\u8471\u56F1\u5306\u4ECE\u4E1B\u51D1\u7C97\u918B\u7C07\u4FC3\u8E7F\u7BE1\u7A9C\u6467\u5D14\u50AC\u8106\u7601\u7CB9\u6DEC\u7FE0\u6751\u5B58\u5BF8\u78CB\u64AE\u6413\u63AA\u632B\u9519\u642D\u8FBE\u7B54\u7629\u6253\u5927\u5446\u6B79\u50A3\u6234\u5E26\u6B86\u4EE3\u8D37\u888B\u5F85\u902E"], + ["b540", "\u790D", 5, "\u7914", 9, "\u791F", 4, "\u7925", 14, "\u7935", 4, "\u793D\u793F\u7942\u7943\u7944\u7945\u7947\u794A", 8, "\u7954\u7955\u7958\u7959\u7961\u7963"], + ["b580", "\u7964\u7966\u7969\u796A\u796B\u796C\u796E\u7970", 6, "\u7979\u797B", 4, "\u7982\u7983\u7986\u7987\u7988\u7989\u798B\u798C\u798D\u798E\u7990\u7991\u7992\u6020\u803D\u62C5\u4E39\u5355\u90F8\u63B8\u80C6\u65E6\u6C2E\u4F46\u60EE\u6DE1\u8BDE\u5F39\u86CB\u5F53\u6321\u515A\u8361\u6863\u5200\u6363\u8E48\u5012\u5C9B\u7977\u5BFC\u5230\u7A3B\u60BC\u9053\u76D7\u5FB7\u5F97\u7684\u8E6C\u706F\u767B\u7B49\u77AA\u51F3\u9093\u5824\u4F4E\u6EF4\u8FEA\u654C\u7B1B\u72C4\u6DA4\u7FDF\u5AE1\u62B5\u5E95\u5730\u8482\u7B2C\u5E1D\u5F1F\u9012\u7F14\u98A0\u6382\u6EC7\u7898\u70B9\u5178\u975B\u57AB\u7535\u4F43\u7538\u5E97\u60E6\u5960\u6DC0\u6BBF\u7889\u53FC\u96D5\u51CB\u5201\u6389\u540A\u9493\u8C03\u8DCC\u7239\u789F\u8776\u8FED\u8C0D\u53E0"], + ["b640", "\u7993", 6, "\u799B", 11, "\u79A8", 10, "\u79B4", 4, "\u79BC\u79BF\u79C2\u79C4\u79C5\u79C7\u79C8\u79CA\u79CC\u79CE\u79CF\u79D0\u79D3\u79D4\u79D6\u79D7\u79D9", 5, "\u79E0\u79E1\u79E2\u79E5\u79E8\u79EA"], + ["b680", "\u79EC\u79EE\u79F1", 6, "\u79F9\u79FA\u79FC\u79FE\u79FF\u7A01\u7A04\u7A05\u7A07\u7A08\u7A09\u7A0A\u7A0C\u7A0F", 4, "\u7A15\u7A16\u7A18\u7A19\u7A1B\u7A1C\u4E01\u76EF\u53EE\u9489\u9876\u9F0E\u952D\u5B9A\u8BA2\u4E22\u4E1C\u51AC\u8463\u61C2\u52A8\u680B\u4F97\u606B\u51BB\u6D1E\u515C\u6296\u6597\u9661\u8C46\u9017\u75D8\u90FD\u7763\u6BD2\u728A\u72EC\u8BFB\u5835\u7779\u8D4C\u675C\u9540\u809A\u5EA6\u6E21\u5992\u7AEF\u77ED\u953B\u6BB5\u65AD\u7F0E\u5806\u5151\u961F\u5BF9\u58A9\u5428\u8E72\u6566\u987F\u56E4\u949D\u76FE\u9041\u6387\u54C6\u591A\u593A\u579B\u8EB2\u6735\u8DFA\u8235\u5241\u60F0\u5815\u86FE\u5CE8\u9E45\u4FC4\u989D\u8BB9\u5A25\u6076\u5384\u627C\u904F\u9102\u997F\u6069\u800C\u513F\u8033\u5C14\u9975\u6D31\u4E8C"], + ["b740", "\u7A1D\u7A1F\u7A21\u7A22\u7A24", 14, "\u7A34\u7A35\u7A36\u7A38\u7A3A\u7A3E\u7A40", 5, "\u7A47", 9, "\u7A52", 4, "\u7A58", 16], + ["b780", "\u7A69", 6, "\u7A71\u7A72\u7A73\u7A75\u7A7B\u7A7C\u7A7D\u7A7E\u7A82\u7A85\u7A87\u7A89\u7A8A\u7A8B\u7A8C\u7A8E\u7A8F\u7A90\u7A93\u7A94\u7A99\u7A9A\u7A9B\u7A9E\u7AA1\u7AA2\u8D30\u53D1\u7F5A\u7B4F\u4F10\u4E4F\u9600\u6CD5\u73D0\u85E9\u5E06\u756A\u7FFB\u6A0A\u77FE\u9492\u7E41\u51E1\u70E6\u53CD\u8FD4\u8303\u8D29\u72AF\u996D\u6CDB\u574A\u82B3\u65B9\u80AA\u623F\u9632\u59A8\u4EFF\u8BBF\u7EBA\u653E\u83F2\u975E\u5561\u98DE\u80A5\u532A\u8BFD\u5420\u80BA\u5E9F\u6CB8\u8D39\u82AC\u915A\u5429\u6C1B\u5206\u7EB7\u575F\u711A\u6C7E\u7C89\u594B\u4EFD\u5FFF\u6124\u7CAA\u4E30\u5C01\u67AB\u8702\u5CF0\u950B\u98CE\u75AF\u70FD\u9022\u51AF\u7F1D\u8BBD\u5949\u51E4\u4F5B\u5426\u592B\u6577\u80A4\u5B75\u6276\u62C2\u8F90\u5E45\u6C1F\u7B26\u4F0F\u4FD8\u670D"], + ["b840", "\u7AA3\u7AA4\u7AA7\u7AA9\u7AAA\u7AAB\u7AAE", 4, "\u7AB4", 10, "\u7AC0", 10, "\u7ACC", 9, "\u7AD7\u7AD8\u7ADA\u7ADB\u7ADC\u7ADD\u7AE1\u7AE2\u7AE4\u7AE7", 5, "\u7AEE\u7AF0\u7AF1\u7AF2\u7AF3"], + ["b880", "\u7AF4", 4, "\u7AFB\u7AFC\u7AFE\u7B00\u7B01\u7B02\u7B05\u7B07\u7B09\u7B0C\u7B0D\u7B0E\u7B10\u7B12\u7B13\u7B16\u7B17\u7B18\u7B1A\u7B1C\u7B1D\u7B1F\u7B21\u7B22\u7B23\u7B27\u7B29\u7B2D\u6D6E\u6DAA\u798F\u88B1\u5F17\u752B\u629A\u8F85\u4FEF\u91DC\u65A7\u812F\u8151\u5E9C\u8150\u8D74\u526F\u8986\u8D4B\u590D\u5085\u4ED8\u961C\u7236\u8179\u8D1F\u5BCC\u8BA3\u9644\u5987\u7F1A\u5490\u5676\u560E\u8BE5\u6539\u6982\u9499\u76D6\u6E89\u5E72\u7518\u6746\u67D1\u7AFF\u809D\u8D76\u611F\u79C6\u6562\u8D63\u5188\u521A\u94A2\u7F38\u809B\u7EB2\u5C97\u6E2F\u6760\u7BD9\u768B\u9AD8\u818F\u7F94\u7CD5\u641E\u9550\u7A3F\u544A\u54E5\u6B4C\u6401\u6208\u9E3D\u80F3\u7599\u5272\u9769\u845B\u683C\u86E4\u9601\u9694\u94EC\u4E2A\u5404\u7ED9\u6839\u8DDF\u8015\u66F4\u5E9A\u7FB9"], + ["b940", "\u7B2F\u7B30\u7B32\u7B34\u7B35\u7B36\u7B37\u7B39\u7B3B\u7B3D\u7B3F", 5, "\u7B46\u7B48\u7B4A\u7B4D\u7B4E\u7B53\u7B55\u7B57\u7B59\u7B5C\u7B5E\u7B5F\u7B61\u7B63", 10, "\u7B6F\u7B70\u7B73\u7B74\u7B76\u7B78\u7B7A\u7B7C\u7B7D\u7B7F\u7B81\u7B82\u7B83\u7B84\u7B86", 6, "\u7B8E\u7B8F"], + ["b980", "\u7B91\u7B92\u7B93\u7B96\u7B98\u7B99\u7B9A\u7B9B\u7B9E\u7B9F\u7BA0\u7BA3\u7BA4\u7BA5\u7BAE\u7BAF\u7BB0\u7BB2\u7BB3\u7BB5\u7BB6\u7BB7\u7BB9", 7, "\u7BC2\u7BC3\u7BC4\u57C2\u803F\u6897\u5DE5\u653B\u529F\u606D\u9F9A\u4F9B\u8EAC\u516C\u5BAB\u5F13\u5DE9\u6C5E\u62F1\u8D21\u5171\u94A9\u52FE\u6C9F\u82DF\u72D7\u57A2\u6784\u8D2D\u591F\u8F9C\u83C7\u5495\u7B8D\u4F30\u6CBD\u5B64\u59D1\u9F13\u53E4\u86CA\u9AA8\u8C37\u80A1\u6545\u987E\u56FA\u96C7\u522E\u74DC\u5250\u5BE1\u6302\u8902\u4E56\u62D0\u602A\u68FA\u5173\u5B98\u51A0\u89C2\u7BA1\u9986\u7F50\u60EF\u704C\u8D2F\u5149\u5E7F\u901B\u7470\u89C4\u572D\u7845\u5F52\u9F9F\u95FA\u8F68\u9B3C\u8BE1\u7678\u6842\u67DC\u8DEA\u8D35\u523D\u8F8A\u6EDA\u68CD\u9505\u90ED\u56FD\u679C\u88F9\u8FC7\u54C8"], + ["ba40", "\u7BC5\u7BC8\u7BC9\u7BCA\u7BCB\u7BCD\u7BCE\u7BCF\u7BD0\u7BD2\u7BD4", 4, "\u7BDB\u7BDC\u7BDE\u7BDF\u7BE0\u7BE2\u7BE3\u7BE4\u7BE7\u7BE8\u7BE9\u7BEB\u7BEC\u7BED\u7BEF\u7BF0\u7BF2", 4, "\u7BF8\u7BF9\u7BFA\u7BFB\u7BFD\u7BFF", 7, "\u7C08\u7C09\u7C0A\u7C0D\u7C0E\u7C10", 5, "\u7C17\u7C18\u7C19"], + ["ba80", "\u7C1A", 4, "\u7C20", 5, "\u7C28\u7C29\u7C2B", 12, "\u7C39", 5, "\u7C42\u9AB8\u5B69\u6D77\u6C26\u4EA5\u5BB3\u9A87\u9163\u61A8\u90AF\u97E9\u542B\u6DB5\u5BD2\u51FD\u558A\u7F55\u7FF0\u64BC\u634D\u65F1\u61BE\u608D\u710A\u6C57\u6C49\u592F\u676D\u822A\u58D5\u568E\u8C6A\u6BEB\u90DD\u597D\u8017\u53F7\u6D69\u5475\u559D\u8377\u83CF\u6838\u79BE\u548C\u4F55\u5408\u76D2\u8C89\u9602\u6CB3\u6DB8\u8D6B\u8910\u9E64\u8D3A\u563F\u9ED1\u75D5\u5F88\u72E0\u6068\u54FC\u4EA8\u6A2A\u8861\u6052\u8F70\u54C4\u70D8\u8679\u9E3F\u6D2A\u5B8F\u5F18\u7EA2\u5589\u4FAF\u7334\u543C\u539A\u5019\u540E\u547C\u4E4E\u5FFD\u745A\u58F6\u846B\u80E1\u8774\u72D0\u7CCA\u6E56"], + ["bb40", "\u7C43", 9, "\u7C4E", 36, "\u7C75", 5, "\u7C7E", 9], + ["bb80", "\u7C88\u7C8A", 6, "\u7C93\u7C94\u7C96\u7C99\u7C9A\u7C9B\u7CA0\u7CA1\u7CA3\u7CA6\u7CA7\u7CA8\u7CA9\u7CAB\u7CAC\u7CAD\u7CAF\u7CB0\u7CB4", 4, "\u7CBA\u7CBB\u5F27\u864E\u552C\u62A4\u4E92\u6CAA\u6237\u82B1\u54D7\u534E\u733E\u6ED1\u753B\u5212\u5316\u8BDD\u69D0\u5F8A\u6000\u6DEE\u574F\u6B22\u73AF\u6853\u8FD8\u7F13\u6362\u60A3\u5524\u75EA\u8C62\u7115\u6DA3\u5BA6\u5E7B\u8352\u614C\u9EC4\u78FA\u8757\u7C27\u7687\u51F0\u60F6\u714C\u6643\u5E4C\u604D\u8C0E\u7070\u6325\u8F89\u5FBD\u6062\u86D4\u56DE\u6BC1\u6094\u6167\u5349\u60E0\u6666\u8D3F\u79FD\u4F1A\u70E9\u6C47\u8BB3\u8BF2\u7ED8\u8364\u660F\u5A5A\u9B42\u6D51\u6DF7\u8C41\u6D3B\u4F19\u706B\u83B7\u6216\u60D1\u970D\u8D27\u7978\u51FB\u573E\u57FA\u673A\u7578\u7A3D\u79EF\u7B95"], + ["bc40", "\u7CBF\u7CC0\u7CC2\u7CC3\u7CC4\u7CC6\u7CC9\u7CCB\u7CCE", 6, "\u7CD8\u7CDA\u7CDB\u7CDD\u7CDE\u7CE1", 6, "\u7CE9", 5, "\u7CF0", 7, "\u7CF9\u7CFA\u7CFC", 13, "\u7D0B", 5], + ["bc80", "\u7D11", 14, "\u7D21\u7D23\u7D24\u7D25\u7D26\u7D28\u7D29\u7D2A\u7D2C\u7D2D\u7D2E\u7D30", 6, "\u808C\u9965\u8FF9\u6FC0\u8BA5\u9E21\u59EC\u7EE9\u7F09\u5409\u6781\u68D8\u8F91\u7C4D\u96C6\u53CA\u6025\u75BE\u6C72\u5373\u5AC9\u7EA7\u6324\u51E0\u810A\u5DF1\u84DF\u6280\u5180\u5B63\u4F0E\u796D\u5242\u60B8\u6D4E\u5BC4\u5BC2\u8BA1\u8BB0\u65E2\u5FCC\u9645\u5993\u7EE7\u7EAA\u5609\u67B7\u5939\u4F73\u5BB6\u52A0\u835A\u988A\u8D3E\u7532\u94BE\u5047\u7A3C\u4EF7\u67B6\u9A7E\u5AC1\u6B7C\u76D1\u575A\u5C16\u7B3A\u95F4\u714E\u517C\u80A9\u8270\u5978\u7F04\u8327\u68C0\u67EC\u78B1\u7877\u62E3\u6361\u7B80\u4FED\u526A\u51CF\u8350\u69DB\u9274\u8DF5\u8D31\u89C1\u952E\u7BAD\u4EF6"], + ["bd40", "\u7D37", 54, "\u7D6F", 7], + ["bd80", "\u7D78", 32, "\u5065\u8230\u5251\u996F\u6E10\u6E85\u6DA7\u5EFA\u50F5\u59DC\u5C06\u6D46\u6C5F\u7586\u848B\u6868\u5956\u8BB2\u5320\u9171\u964D\u8549\u6912\u7901\u7126\u80F6\u4EA4\u90CA\u6D47\u9A84\u5A07\u56BC\u6405\u94F0\u77EB\u4FA5\u811A\u72E1\u89D2\u997A\u7F34\u7EDE\u527F\u6559\u9175\u8F7F\u8F83\u53EB\u7A96\u63ED\u63A5\u7686\u79F8\u8857\u9636\u622A\u52AB\u8282\u6854\u6770\u6377\u776B\u7AED\u6D01\u7ED3\u89E3\u59D0\u6212\u85C9\u82A5\u754C\u501F\u4ECB\u75A5\u8BEB\u5C4A\u5DFE\u7B4B\u65A4\u91D1\u4ECA\u6D25\u895F\u7D27\u9526\u4EC5\u8C28\u8FDB\u9773\u664B\u7981\u8FD1\u70EC\u6D78"], + ["be40", "\u7D99", 12, "\u7DA7", 6, "\u7DAF", 42], + ["be80", "\u7DDA", 32, "\u5C3D\u52B2\u8346\u5162\u830E\u775B\u6676\u9CB8\u4EAC\u60CA\u7CBE\u7CB3\u7ECF\u4E95\u8B66\u666F\u9888\u9759\u5883\u656C\u955C\u5F84\u75C9\u9756\u7ADF\u7ADE\u51C0\u70AF\u7A98\u63EA\u7A76\u7EA0\u7396\u97ED\u4E45\u7078\u4E5D\u9152\u53A9\u6551\u65E7\u81FC\u8205\u548E\u5C31\u759A\u97A0\u62D8\u72D9\u75BD\u5C45\u9A79\u83CA\u5C40\u5480\u77E9\u4E3E\u6CAE\u805A\u62D2\u636E\u5DE8\u5177\u8DDD\u8E1E\u952F\u4FF1\u53E5\u60E7\u70AC\u5267\u6350\u9E43\u5A1F\u5026\u7737\u5377\u7EE2\u6485\u652B\u6289\u6398\u5014\u7235\u89C9\u51B3\u8BC0\u7EDD\u5747\u83CC\u94A7\u519B\u541B\u5CFB"], + ["bf40", "\u7DFB", 62], + ["bf80", "\u7E3A\u7E3C", 4, "\u7E42", 4, "\u7E48", 21, "\u4FCA\u7AE3\u6D5A\u90E1\u9A8F\u5580\u5496\u5361\u54AF\u5F00\u63E9\u6977\u51EF\u6168\u520A\u582A\u52D8\u574E\u780D\u770B\u5EB7\u6177\u7CE0\u625B\u6297\u4EA2\u7095\u8003\u62F7\u70E4\u9760\u5777\u82DB\u67EF\u68F5\u78D5\u9897\u79D1\u58F3\u54B3\u53EF\u6E34\u514B\u523B\u5BA2\u8BFE\u80AF\u5543\u57A6\u6073\u5751\u542D\u7A7A\u6050\u5B54\u63A7\u62A0\u53E3\u6263\u5BC7\u67AF\u54ED\u7A9F\u82E6\u9177\u5E93\u88E4\u5938\u57AE\u630E\u8DE8\u80EF\u5757\u7B77\u4FA9\u5FEB\u5BBD\u6B3E\u5321\u7B50\u72C2\u6846\u77FF\u7736\u65F7\u51B5\u4E8F\u76D4\u5CBF\u7AA5\u8475\u594E\u9B41\u5080"], + ["c040", "\u7E5E", 35, "\u7E83", 23, "\u7E9C\u7E9D\u7E9E"], + ["c080", "\u7EAE\u7EB4\u7EBB\u7EBC\u7ED6\u7EE4\u7EEC\u7EF9\u7F0A\u7F10\u7F1E\u7F37\u7F39\u7F3B", 6, "\u7F43\u7F46", 9, "\u7F52\u7F53\u9988\u6127\u6E83\u5764\u6606\u6346\u56F0\u62EC\u6269\u5ED3\u9614\u5783\u62C9\u5587\u8721\u814A\u8FA3\u5566\u83B1\u6765\u8D56\u84DD\u5A6A\u680F\u62E6\u7BEE\u9611\u5170\u6F9C\u8C30\u63FD\u89C8\u61D2\u7F06\u70C2\u6EE5\u7405\u6994\u72FC\u5ECA\u90CE\u6717\u6D6A\u635E\u52B3\u7262\u8001\u4F6C\u59E5\u916A\u70D9\u6D9D\u52D2\u4E50\u96F7\u956D\u857E\u78CA\u7D2F\u5121\u5792\u64C2\u808B\u7C7B\u6CEA\u68F1\u695E\u51B7\u5398\u68A8\u7281\u9ECE\u7BF1\u72F8\u79BB\u6F13\u7406\u674E\u91CC\u9CA4\u793C\u8389\u8354\u540F\u6817\u4E3D\u5389\u52B1\u783E\u5386\u5229\u5088\u4F8B\u4FD0"], + ["c140", "\u7F56\u7F59\u7F5B\u7F5C\u7F5D\u7F5E\u7F60\u7F63", 4, "\u7F6B\u7F6C\u7F6D\u7F6F\u7F70\u7F73\u7F75\u7F76\u7F77\u7F78\u7F7A\u7F7B\u7F7C\u7F7D\u7F7F\u7F80\u7F82", 7, "\u7F8B\u7F8D\u7F8F", 4, "\u7F95", 4, "\u7F9B\u7F9C\u7FA0\u7FA2\u7FA3\u7FA5\u7FA6\u7FA8", 6, "\u7FB1"], + ["c180", "\u7FB3", 4, "\u7FBA\u7FBB\u7FBE\u7FC0\u7FC2\u7FC3\u7FC4\u7FC6\u7FC7\u7FC8\u7FC9\u7FCB\u7FCD\u7FCF", 4, "\u7FD6\u7FD7\u7FD9", 5, "\u7FE2\u7FE3\u75E2\u7ACB\u7C92\u6CA5\u96B6\u529B\u7483\u54E9\u4FE9\u8054\u83B2\u8FDE\u9570\u5EC9\u601C\u6D9F\u5E18\u655B\u8138\u94FE\u604B\u70BC\u7EC3\u7CAE\u51C9\u6881\u7CB1\u826F\u4E24\u8F86\u91CF\u667E\u4EAE\u8C05\u64A9\u804A\u50DA\u7597\u71CE\u5BE5\u8FBD\u6F66\u4E86\u6482\u9563\u5ED6\u6599\u5217\u88C2\u70C8\u52A3\u730E\u7433\u6797\u78F7\u9716\u4E34\u90BB\u9CDE\u6DCB\u51DB\u8D41\u541D\u62CE\u73B2\u83F1\u96F6\u9F84\u94C3\u4F36\u7F9A\u51CC\u7075\u9675\u5CAD\u9886\u53E6\u4EE4\u6E9C\u7409\u69B4\u786B\u998F\u7559\u5218\u7624\u6D41\u67F3\u516D\u9F99\u804B\u5499\u7B3C\u7ABF"], + ["c240", "\u7FE4\u7FE7\u7FE8\u7FEA\u7FEB\u7FEC\u7FED\u7FEF\u7FF2\u7FF4", 6, "\u7FFD\u7FFE\u7FFF\u8002\u8007\u8008\u8009\u800A\u800E\u800F\u8011\u8013\u801A\u801B\u801D\u801E\u801F\u8021\u8023\u8024\u802B", 5, "\u8032\u8034\u8039\u803A\u803C\u803E\u8040\u8041\u8044\u8045\u8047\u8048\u8049\u804E\u804F\u8050\u8051\u8053\u8055\u8056\u8057"], + ["c280", "\u8059\u805B", 13, "\u806B", 5, "\u8072", 11, "\u9686\u5784\u62E2\u9647\u697C\u5A04\u6402\u7BD3\u6F0F\u964B\u82A6\u5362\u9885\u5E90\u7089\u63B3\u5364\u864F\u9C81\u9E93\u788C\u9732\u8DEF\u8D42\u9E7F\u6F5E\u7984\u5F55\u9646\u622E\u9A74\u5415\u94DD\u4FA3\u65C5\u5C65\u5C61\u7F15\u8651\u6C2F\u5F8B\u7387\u6EE4\u7EFF\u5CE6\u631B\u5B6A\u6EE6\u5375\u4E71\u63A0\u7565\u62A1\u8F6E\u4F26\u4ED1\u6CA6\u7EB6\u8BBA\u841D\u87BA\u7F57\u903B\u9523\u7BA9\u9AA1\u88F8\u843D\u6D1B\u9A86\u7EDC\u5988\u9EBB\u739B\u7801\u8682\u9A6C\u9A82\u561B\u5417\u57CB\u4E70\u9EA6\u5356\u8FC8\u8109\u7792\u9992\u86EE\u6EE1\u8513\u66FC\u6162\u6F2B"], + ["c340", "\u807E\u8081\u8082\u8085\u8088\u808A\u808D", 5, "\u8094\u8095\u8097\u8099\u809E\u80A3\u80A6\u80A7\u80A8\u80AC\u80B0\u80B3\u80B5\u80B6\u80B8\u80B9\u80BB\u80C5\u80C7", 4, "\u80CF", 6, "\u80D8\u80DF\u80E0\u80E2\u80E3\u80E6\u80EE\u80F5\u80F7\u80F9\u80FB\u80FE\u80FF\u8100\u8101\u8103\u8104\u8105\u8107\u8108\u810B"], + ["c380", "\u810C\u8115\u8117\u8119\u811B\u811C\u811D\u811F", 12, "\u812D\u812E\u8130\u8133\u8134\u8135\u8137\u8139", 4, "\u813F\u8C29\u8292\u832B\u76F2\u6C13\u5FD9\u83BD\u732B\u8305\u951A\u6BDB\u77DB\u94C6\u536F\u8302\u5192\u5E3D\u8C8C\u8D38\u4E48\u73AB\u679A\u6885\u9176\u9709\u7164\u6CA1\u7709\u5A92\u9541\u6BCF\u7F8E\u6627\u5BD0\u59B9\u5A9A\u95E8\u95F7\u4EEC\u840C\u8499\u6AAC\u76DF\u9530\u731B\u68A6\u5B5F\u772F\u919A\u9761\u7CDC\u8FF7\u8C1C\u5F25\u7C73\u79D8\u89C5\u6CCC\u871C\u5BC6\u5E42\u68C9\u7720\u7EF5\u5195\u514D\u52C9\u5A29\u7F05\u9762\u82D7\u63CF\u7784\u85D0\u79D2\u6E3A\u5E99\u5999\u8511\u706D\u6C11\u62BF\u76BF\u654F\u60AF\u95FD\u660E\u879F\u9E23\u94ED\u540D\u547D\u8C2C\u6478"], + ["c440", "\u8140", 5, "\u8147\u8149\u814D\u814E\u814F\u8152\u8156\u8157\u8158\u815B", 4, "\u8161\u8162\u8163\u8164\u8166\u8168\u816A\u816B\u816C\u816F\u8172\u8173\u8175\u8176\u8177\u8178\u8181\u8183", 4, "\u8189\u818B\u818C\u818D\u818E\u8190\u8192", 5, "\u8199\u819A\u819E", 4, "\u81A4\u81A5"], + ["c480", "\u81A7\u81A9\u81AB", 7, "\u81B4", 5, "\u81BC\u81BD\u81BE\u81BF\u81C4\u81C5\u81C7\u81C8\u81C9\u81CB\u81CD", 6, "\u6479\u8611\u6A21\u819C\u78E8\u6469\u9B54\u62B9\u672B\u83AB\u58A8\u9ED8\u6CAB\u6F20\u5BDE\u964C\u8C0B\u725F\u67D0\u62C7\u7261\u4EA9\u59C6\u6BCD\u5893\u66AE\u5E55\u52DF\u6155\u6728\u76EE\u7766\u7267\u7A46\u62FF\u54EA\u5450\u94A0\u90A3\u5A1C\u7EB3\u6C16\u4E43\u5976\u8010\u5948\u5357\u7537\u96BE\u56CA\u6320\u8111\u607C\u95F9\u6DD6\u5462\u9981\u5185\u5AE9\u80FD\u59AE\u9713\u502A\u6CE5\u5C3C\u62DF\u4F60\u533F\u817B\u9006\u6EBA\u852B\u62C8\u5E74\u78BE\u64B5\u637B\u5FF5\u5A18\u917F\u9E1F\u5C3F\u634F\u8042\u5B7D\u556E\u954A\u954D\u6D85\u60A8\u67E0\u72DE\u51DD\u5B81"], + ["c540", "\u81D4", 14, "\u81E4\u81E5\u81E6\u81E8\u81E9\u81EB\u81EE", 4, "\u81F5", 5, "\u81FD\u81FF\u8203\u8207", 4, "\u820E\u820F\u8211\u8213\u8215", 5, "\u821D\u8220\u8224\u8225\u8226\u8227\u8229\u822E\u8232\u823A\u823C\u823D\u823F"], + ["c580", "\u8240\u8241\u8242\u8243\u8245\u8246\u8248\u824A\u824C\u824D\u824E\u8250", 7, "\u8259\u825B\u825C\u825D\u825E\u8260", 7, "\u8269\u62E7\u6CDE\u725B\u626D\u94AE\u7EBD\u8113\u6D53\u519C\u5F04\u5974\u52AA\u6012\u5973\u6696\u8650\u759F\u632A\u61E6\u7CEF\u8BFA\u54E6\u6B27\u9E25\u6BB4\u85D5\u5455\u5076\u6CA4\u556A\u8DB4\u722C\u5E15\u6015\u7436\u62CD\u6392\u724C\u5F98\u6E43\u6D3E\u6500\u6F58\u76D8\u78D0\u76FC\u7554\u5224\u53DB\u4E53\u5E9E\u65C1\u802A\u80D6\u629B\u5486\u5228\u70AE\u888D\u8DD1\u6CE1\u5478\u80DA\u57F9\u88F4\u8D54\u966A\u914D\u4F69\u6C9B\u55B7\u76C6\u7830\u62A8\u70F9\u6F8E\u5F6D\u84EC\u68DA\u787C\u7BF7\u81A8\u670B\u9E4F\u6367\u78B0\u576F\u7812\u9739\u6279\u62AB\u5288\u7435\u6BD7"], + ["c640", "\u826A\u826B\u826C\u826D\u8271\u8275\u8276\u8277\u8278\u827B\u827C\u8280\u8281\u8283\u8285\u8286\u8287\u8289\u828C\u8290\u8293\u8294\u8295\u8296\u829A\u829B\u829E\u82A0\u82A2\u82A3\u82A7\u82B2\u82B5\u82B6\u82BA\u82BB\u82BC\u82BF\u82C0\u82C2\u82C3\u82C5\u82C6\u82C9\u82D0\u82D6\u82D9\u82DA\u82DD\u82E2\u82E7\u82E8\u82E9\u82EA\u82EC\u82ED\u82EE\u82F0\u82F2\u82F3\u82F5\u82F6\u82F8"], + ["c680", "\u82FA\u82FC", 4, "\u830A\u830B\u830D\u8310\u8312\u8313\u8316\u8318\u8319\u831D", 9, "\u8329\u832A\u832E\u8330\u8332\u8337\u833B\u833D\u5564\u813E\u75B2\u76AE\u5339\u75DE\u50FB\u5C41\u8B6C\u7BC7\u504F\u7247\u9A97\u98D8\u6F02\u74E2\u7968\u6487\u77A5\u62FC\u9891\u8D2B\u54C1\u8058\u4E52\u576A\u82F9\u840D\u5E73\u51ED\u74F6\u8BC4\u5C4F\u5761\u6CFC\u9887\u5A46\u7834\u9B44\u8FEB\u7C95\u5256\u6251\u94FA\u4EC6\u8386\u8461\u83E9\u84B2\u57D4\u6734\u5703\u666E\u6D66\u8C31\u66DD\u7011\u671F\u6B3A\u6816\u621A\u59BB\u4E03\u51C4\u6F06\u67D2\u6C8F\u5176\u68CB\u5947\u6B67\u7566\u5D0E\u8110\u9F50\u65D7\u7948\u7941\u9A91\u8D77\u5C82\u4E5E\u4F01\u542F\u5951\u780C\u5668\u6C14\u8FC4\u5F03\u6C7D\u6CE3\u8BAB\u6390"], + ["c740", "\u833E\u833F\u8341\u8342\u8344\u8345\u8348\u834A", 4, "\u8353\u8355", 4, "\u835D\u8362\u8370", 6, "\u8379\u837A\u837E", 6, "\u8387\u8388\u838A\u838B\u838C\u838D\u838F\u8390\u8391\u8394\u8395\u8396\u8397\u8399\u839A\u839D\u839F\u83A1", 6, "\u83AC\u83AD\u83AE"], + ["c780", "\u83AF\u83B5\u83BB\u83BE\u83BF\u83C2\u83C3\u83C4\u83C6\u83C8\u83C9\u83CB\u83CD\u83CE\u83D0\u83D1\u83D2\u83D3\u83D5\u83D7\u83D9\u83DA\u83DB\u83DE\u83E2\u83E3\u83E4\u83E6\u83E7\u83E8\u83EB\u83EC\u83ED\u6070\u6D3D\u7275\u6266\u948E\u94C5\u5343\u8FC1\u7B7E\u4EDF\u8C26\u4E7E\u9ED4\u94B1\u94B3\u524D\u6F5C\u9063\u6D45\u8C34\u5811\u5D4C\u6B20\u6B49\u67AA\u545B\u8154\u7F8C\u5899\u8537\u5F3A\u62A2\u6A47\u9539\u6572\u6084\u6865\u77A7\u4E54\u4FA8\u5DE7\u9798\u64AC\u7FD8\u5CED\u4FCF\u7A8D\u5207\u8304\u4E14\u602F\u7A83\u94A6\u4FB5\u4EB2\u79E6\u7434\u52E4\u82B9\u64D2\u79BD\u5BDD\u6C81\u9752\u8F7B\u6C22\u503E\u537F\u6E05\u64CE\u6674\u6C30\u60C5\u9877\u8BF7\u5E86\u743C\u7A77\u79CB\u4E18\u90B1\u7403\u6C42\u56DA\u914B\u6CC5\u8D8B\u533A\u86C6\u66F2\u8EAF\u5C48\u9A71\u6E20"], + ["c840", "\u83EE\u83EF\u83F3", 4, "\u83FA\u83FB\u83FC\u83FE\u83FF\u8400\u8402\u8405\u8407\u8408\u8409\u840A\u8410\u8412", 5, "\u8419\u841A\u841B\u841E", 5, "\u8429", 7, "\u8432", 5, "\u8439\u843A\u843B\u843E", 7, "\u8447\u8448\u8449"], + ["c880", "\u844A", 6, "\u8452", 4, "\u8458\u845D\u845E\u845F\u8460\u8462\u8464", 4, "\u846A\u846E\u846F\u8470\u8472\u8474\u8477\u8479\u847B\u847C\u53D6\u5A36\u9F8B\u8DA3\u53BB\u5708\u98A7\u6743\u919B\u6CC9\u5168\u75CA\u62F3\u72AC\u5238\u529D\u7F3A\u7094\u7638\u5374\u9E4A\u69B7\u786E\u96C0\u88D9\u7FA4\u7136\u71C3\u5189\u67D3\u74E4\u58E4\u6518\u56B7\u8BA9\u9976\u6270\u7ED5\u60F9\u70ED\u58EC\u4EC1\u4EBA\u5FCD\u97E7\u4EFB\u8BA4\u5203\u598A\u7EAB\u6254\u4ECD\u65E5\u620E\u8338\u84C9\u8363\u878D\u7194\u6EB6\u5BB9\u7ED2\u5197\u63C9\u67D4\u8089\u8339\u8815\u5112\u5B7A\u5982\u8FB1\u4E73\u6C5D\u5165\u8925\u8F6F\u962E\u854A\u745E\u9510\u95F0\u6DA6\u82E5\u5F31\u6492\u6D12\u8428\u816E\u9CC3\u585E\u8D5B\u4E09\u53C1"], + ["c940", "\u847D", 4, "\u8483\u8484\u8485\u8486\u848A\u848D\u848F", 7, "\u8498\u849A\u849B\u849D\u849E\u849F\u84A0\u84A2", 12, "\u84B0\u84B1\u84B3\u84B5\u84B6\u84B7\u84BB\u84BC\u84BE\u84C0\u84C2\u84C3\u84C5\u84C6\u84C7\u84C8\u84CB\u84CC\u84CE\u84CF\u84D2\u84D4\u84D5\u84D7"], + ["c980", "\u84D8", 4, "\u84DE\u84E1\u84E2\u84E4\u84E7", 4, "\u84ED\u84EE\u84EF\u84F1", 10, "\u84FD\u84FE\u8500\u8501\u8502\u4F1E\u6563\u6851\u55D3\u4E27\u6414\u9A9A\u626B\u5AC2\u745F\u8272\u6DA9\u68EE\u50E7\u838E\u7802\u6740\u5239\u6C99\u7EB1\u50BB\u5565\u715E\u7B5B\u6652\u73CA\u82EB\u6749\u5C71\u5220\u717D\u886B\u95EA\u9655\u64C5\u8D61\u81B3\u5584\u6C55\u6247\u7F2E\u5892\u4F24\u5546\u8D4F\u664C\u4E0A\u5C1A\u88F3\u68A2\u634E\u7A0D\u70E7\u828D\u52FA\u97F6\u5C11\u54E8\u90B5\u7ECD\u5962\u8D4A\u86C7\u820C\u820D\u8D66\u6444\u5C04\u6151\u6D89\u793E\u8BBE\u7837\u7533\u547B\u4F38\u8EAB\u6DF1\u5A20\u7EC5\u795E\u6C88\u5BA1\u5A76\u751A\u80BE\u614E\u6E17\u58F0\u751F\u7525\u7272\u5347\u7EF3"], + ["ca40", "\u8503", 8, "\u850D\u850E\u850F\u8510\u8512\u8514\u8515\u8516\u8518\u8519\u851B\u851C\u851D\u851E\u8520\u8522", 8, "\u852D", 9, "\u853E", 4, "\u8544\u8545\u8546\u8547\u854B", 10], + ["ca80", "\u8557\u8558\u855A\u855B\u855C\u855D\u855F", 4, "\u8565\u8566\u8567\u8569", 8, "\u8573\u8575\u8576\u8577\u8578\u857C\u857D\u857F\u8580\u8581\u7701\u76DB\u5269\u80DC\u5723\u5E08\u5931\u72EE\u65BD\u6E7F\u8BD7\u5C38\u8671\u5341\u77F3\u62FE\u65F6\u4EC0\u98DF\u8680\u5B9E\u8BC6\u53F2\u77E2\u4F7F\u5C4E\u9A76\u59CB\u5F0F\u793A\u58EB\u4E16\u67FF\u4E8B\u62ED\u8A93\u901D\u52BF\u662F\u55DC\u566C\u9002\u4ED5\u4F8D\u91CA\u9970\u6C0F\u5E02\u6043\u5BA4\u89C6\u8BD5\u6536\u624B\u9996\u5B88\u5BFF\u6388\u552E\u53D7\u7626\u517D\u852C\u67A2\u68B3\u6B8A\u6292\u8F93\u53D4\u8212\u6DD1\u758F\u4E66\u8D4E\u5B70\u719F\u85AF\u6691\u66D9\u7F72\u8700\u9ECD\u9F20\u5C5E\u672F\u8FF0\u6811\u675F\u620D\u7AD6\u5885\u5EB6\u6570\u6F31"], + ["cb40", "\u8582\u8583\u8586\u8588", 6, "\u8590", 10, "\u859D", 6, "\u85A5\u85A6\u85A7\u85A9\u85AB\u85AC\u85AD\u85B1", 5, "\u85B8\u85BA", 6, "\u85C2", 6, "\u85CA", 4, "\u85D1\u85D2"], + ["cb80", "\u85D4\u85D6", 5, "\u85DD", 6, "\u85E5\u85E6\u85E7\u85E8\u85EA", 14, "\u6055\u5237\u800D\u6454\u8870\u7529\u5E05\u6813\u62F4\u971C\u53CC\u723D\u8C01\u6C34\u7761\u7A0E\u542E\u77AC\u987A\u821C\u8BF4\u7855\u6714\u70C1\u65AF\u6495\u5636\u601D\u79C1\u53F8\u4E1D\u6B7B\u8086\u5BFA\u55E3\u56DB\u4F3A\u4F3C\u9972\u5DF3\u677E\u8038\u6002\u9882\u9001\u5B8B\u8BBC\u8BF5\u641C\u8258\u64DE\u55FD\u82CF\u9165\u4FD7\u7D20\u901F\u7C9F\u50F3\u5851\u6EAF\u5BBF\u8BC9\u8083\u9178\u849C\u7B97\u867D\u968B\u968F\u7EE5\u9AD3\u788E\u5C81\u7A57\u9042\u96A7\u795F\u5B59\u635F\u7B0B\u84D1\u68AD\u5506\u7F29\u7410\u7D22\u9501\u6240\u584C\u4ED6\u5B83\u5979\u5854"], + ["cc40", "\u85F9\u85FA\u85FC\u85FD\u85FE\u8600", 4, "\u8606", 10, "\u8612\u8613\u8614\u8615\u8617", 15, "\u8628\u862A", 13, "\u8639\u863A\u863B\u863D\u863E\u863F\u8640"], + ["cc80", "\u8641", 11, "\u8652\u8653\u8655", 4, "\u865B\u865C\u865D\u865F\u8660\u8661\u8663", 7, "\u736D\u631E\u8E4B\u8E0F\u80CE\u82D4\u62AC\u53F0\u6CF0\u915E\u592A\u6001\u6C70\u574D\u644A\u8D2A\u762B\u6EE9\u575B\u6A80\u75F0\u6F6D\u8C2D\u8C08\u5766\u6BEF\u8892\u78B3\u63A2\u53F9\u70AD\u6C64\u5858\u642A\u5802\u68E0\u819B\u5510\u7CD6\u5018\u8EBA\u6DCC\u8D9F\u70EB\u638F\u6D9B\u6ED4\u7EE6\u8404\u6843\u9003\u6DD8\u9676\u8BA8\u5957\u7279\u85E4\u817E\u75BC\u8A8A\u68AF\u5254\u8E22\u9511\u63D0\u9898\u8E44\u557C\u4F53\u66FF\u568F\u60D5\u6D95\u5243\u5C49\u5929\u6DFB\u586B\u7530\u751C\u606C\u8214\u8146\u6311\u6761\u8FE2\u773A\u8DF3\u8D34\u94C1\u5E16\u5385\u542C\u70C3"], + ["cd40", "\u866D\u866F\u8670\u8672", 6, "\u8683", 6, "\u868E", 4, "\u8694\u8696", 5, "\u869E", 4, "\u86A5\u86A6\u86AB\u86AD\u86AE\u86B2\u86B3\u86B7\u86B8\u86B9\u86BB", 4, "\u86C1\u86C2\u86C3\u86C5\u86C8\u86CC\u86CD\u86D2\u86D3\u86D5\u86D6\u86D7\u86DA\u86DC"], + ["cd80", "\u86DD\u86E0\u86E1\u86E2\u86E3\u86E5\u86E6\u86E7\u86E8\u86EA\u86EB\u86EC\u86EF\u86F5\u86F6\u86F7\u86FA\u86FB\u86FC\u86FD\u86FF\u8701\u8704\u8705\u8706\u870B\u870C\u870E\u870F\u8710\u8711\u8714\u8716\u6C40\u5EF7\u505C\u4EAD\u5EAD\u633A\u8247\u901A\u6850\u916E\u77B3\u540C\u94DC\u5F64\u7AE5\u6876\u6345\u7B52\u7EDF\u75DB\u5077\u6295\u5934\u900F\u51F8\u79C3\u7A81\u56FE\u5F92\u9014\u6D82\u5C60\u571F\u5410\u5154\u6E4D\u56E2\u63A8\u9893\u817F\u8715\u892A\u9000\u541E\u5C6F\u81C0\u62D6\u6258\u8131\u9E35\u9640\u9A6E\u9A7C\u692D\u59A5\u62D3\u553E\u6316\u54C7\u86D9\u6D3C\u5A03\u74E6\u889C\u6B6A\u5916\u8C4C\u5F2F\u6E7E\u73A9\u987D\u4E38\u70F7\u5B8C\u7897\u633D\u665A\u7696\u60CB\u5B9B\u5A49\u4E07\u8155\u6C6A\u738B\u4EA1\u6789\u7F51\u5F80\u65FA\u671B\u5FD8\u5984\u5A01"], + ["ce40", "\u8719\u871B\u871D\u871F\u8720\u8724\u8726\u8727\u8728\u872A\u872B\u872C\u872D\u872F\u8730\u8732\u8733\u8735\u8736\u8738\u8739\u873A\u873C\u873D\u8740", 6, "\u874A\u874B\u874D\u874F\u8750\u8751\u8752\u8754\u8755\u8756\u8758\u875A", 5, "\u8761\u8762\u8766", 7, "\u876F\u8771\u8772\u8773\u8775"], + ["ce80", "\u8777\u8778\u8779\u877A\u877F\u8780\u8781\u8784\u8786\u8787\u8789\u878A\u878C\u878E", 4, "\u8794\u8795\u8796\u8798", 6, "\u87A0", 4, "\u5DCD\u5FAE\u5371\u97E6\u8FDD\u6845\u56F4\u552F\u60DF\u4E3A\u6F4D\u7EF4\u82C7\u840E\u59D4\u4F1F\u4F2A\u5C3E\u7EAC\u672A\u851A\u5473\u754F\u80C3\u5582\u9B4F\u4F4D\u6E2D\u8C13\u5C09\u6170\u536B\u761F\u6E29\u868A\u6587\u95FB\u7EB9\u543B\u7A33\u7D0A\u95EE\u55E1\u7FC1\u74EE\u631D\u8717\u6DA1\u7A9D\u6211\u65A1\u5367\u63E1\u6C83\u5DEB\u545C\u94A8\u4E4C\u6C61\u8BEC\u5C4B\u65E0\u829C\u68A7\u543E\u5434\u6BCB\u6B66\u4E94\u6342\u5348\u821E\u4F0D\u4FAE\u575E\u620A\u96FE\u6664\u7269\u52FF\u52A1\u609F\u8BEF\u6614\u7199\u6790\u897F\u7852\u77FD\u6670\u563B\u5438\u9521\u727A"], + ["cf40", "\u87A5\u87A6\u87A7\u87A9\u87AA\u87AE\u87B0\u87B1\u87B2\u87B4\u87B6\u87B7\u87B8\u87B9\u87BB\u87BC\u87BE\u87BF\u87C1", 4, "\u87C7\u87C8\u87C9\u87CC", 4, "\u87D4", 6, "\u87DC\u87DD\u87DE\u87DF\u87E1\u87E2\u87E3\u87E4\u87E6\u87E7\u87E8\u87E9\u87EB\u87EC\u87ED\u87EF", 9], + ["cf80", "\u87FA\u87FB\u87FC\u87FD\u87FF\u8800\u8801\u8802\u8804", 5, "\u880B", 7, "\u8814\u8817\u8818\u8819\u881A\u881C", 4, "\u8823\u7A00\u606F\u5E0C\u6089\u819D\u5915\u60DC\u7184\u70EF\u6EAA\u6C50\u7280\u6A84\u88AD\u5E2D\u4E60\u5AB3\u559C\u94E3\u6D17\u7CFB\u9699\u620F\u7EC6\u778E\u867E\u5323\u971E\u8F96\u6687\u5CE1\u4FA0\u72ED\u4E0B\u53A6\u590F\u5413\u6380\u9528\u5148\u4ED9\u9C9C\u7EA4\u54B8\u8D24\u8854\u8237\u95F2\u6D8E\u5F26\u5ACC\u663E\u9669\u73B0\u732E\u53BF\u817A\u9985\u7FA1\u5BAA\u9677\u9650\u7EBF\u76F8\u53A2\u9576\u9999\u7BB1\u8944\u6E58\u4E61\u7FD4\u7965\u8BE6\u60F3\u54CD\u4EAB\u9879\u5DF7\u6A61\u50CF\u5411\u8C61\u8427\u785D\u9704\u524A\u54EE\u56A3\u9500\u6D88\u5BB5\u6DC6\u6653"], + ["d040", "\u8824", 13, "\u8833", 5, "\u883A\u883B\u883D\u883E\u883F\u8841\u8842\u8843\u8846", 5, "\u884E", 5, "\u8855\u8856\u8858\u885A", 6, "\u8866\u8867\u886A\u886D\u886F\u8871\u8873\u8874\u8875\u8876\u8878\u8879\u887A"], + ["d080", "\u887B\u887C\u8880\u8883\u8886\u8887\u8889\u888A\u888C\u888E\u888F\u8890\u8891\u8893\u8894\u8895\u8897", 4, "\u889D", 4, "\u88A3\u88A5", 5, "\u5C0F\u5B5D\u6821\u8096\u5578\u7B11\u6548\u6954\u4E9B\u6B47\u874E\u978B\u534F\u631F\u643A\u90AA\u659C\u80C1\u8C10\u5199\u68B0\u5378\u87F9\u61C8\u6CC4\u6CFB\u8C22\u5C51\u85AA\u82AF\u950C\u6B23\u8F9B\u65B0\u5FFB\u5FC3\u4FE1\u8845\u661F\u8165\u7329\u60FA\u5174\u5211\u578B\u5F62\u90A2\u884C\u9192\u5E78\u674F\u6027\u59D3\u5144\u51F6\u80F8\u5308\u6C79\u96C4\u718A\u4F11\u4FEE\u7F9E\u673D\u55C5\u9508\u79C0\u8896\u7EE3\u589F\u620C\u9700\u865A\u5618\u987B\u5F90\u8BB8\u84C4\u9157\u53D9\u65ED\u5E8F\u755C\u6064\u7D6E\u5A7F\u7EEA\u7EED\u8F69\u55A7\u5BA3\u60AC\u65CB\u7384"], + ["d140", "\u88AC\u88AE\u88AF\u88B0\u88B2", 4, "\u88B8\u88B9\u88BA\u88BB\u88BD\u88BE\u88BF\u88C0\u88C3\u88C4\u88C7\u88C8\u88CA\u88CB\u88CC\u88CD\u88CF\u88D0\u88D1\u88D3\u88D6\u88D7\u88DA", 4, "\u88E0\u88E1\u88E6\u88E7\u88E9", 6, "\u88F2\u88F5\u88F6\u88F7\u88FA\u88FB\u88FD\u88FF\u8900\u8901\u8903", 5], + ["d180", "\u8909\u890B", 4, "\u8911\u8914", 4, "\u891C", 4, "\u8922\u8923\u8924\u8926\u8927\u8928\u8929\u892C\u892D\u892E\u892F\u8931\u8932\u8933\u8935\u8937\u9009\u7663\u7729\u7EDA\u9774\u859B\u5B66\u7A74\u96EA\u8840\u52CB\u718F\u5FAA\u65EC\u8BE2\u5BFB\u9A6F\u5DE1\u6B89\u6C5B\u8BAD\u8BAF\u900A\u8FC5\u538B\u62BC\u9E26\u9E2D\u5440\u4E2B\u82BD\u7259\u869C\u5D16\u8859\u6DAF\u96C5\u54D1\u4E9A\u8BB6\u7109\u54BD\u9609\u70DF\u6DF9\u76D0\u4E25\u7814\u8712\u5CA9\u5EF6\u8A00\u989C\u960E\u708E\u6CBF\u5944\u63A9\u773C\u884D\u6F14\u8273\u5830\u71D5\u538C\u781A\u96C1\u5501\u5F66\u7130\u5BB4\u8C1A\u9A8C\u6B83\u592E\u9E2F\u79E7\u6768\u626C\u4F6F\u75A1\u7F8A\u6D0B\u9633\u6C27\u4EF0\u75D2\u517B\u6837\u6F3E\u9080\u8170\u5996\u7476"], + ["d240", "\u8938", 8, "\u8942\u8943\u8945", 24, "\u8960", 5, "\u8967", 19, "\u897C"], + ["d280", "\u897D\u897E\u8980\u8982\u8984\u8985\u8987", 26, "\u6447\u5C27\u9065\u7A91\u8C23\u59DA\u54AC\u8200\u836F\u8981\u8000\u6930\u564E\u8036\u7237\u91CE\u51B6\u4E5F\u9875\u6396\u4E1A\u53F6\u66F3\u814B\u591C\u6DB2\u4E00\u58F9\u533B\u63D6\u94F1\u4F9D\u4F0A\u8863\u9890\u5937\u9057\u79FB\u4EEA\u80F0\u7591\u6C82\u5B9C\u59E8\u5F5D\u6905\u8681\u501A\u5DF2\u4E59\u77E3\u4EE5\u827A\u6291\u6613\u9091\u5C79\u4EBF\u5F79\u81C6\u9038\u8084\u75AB\u4EA6\u88D4\u610F\u6BC5\u5FC6\u4E49\u76CA\u6EA2\u8BE3\u8BAE\u8C0A\u8BD1\u5F02\u7FFC\u7FCC\u7ECE\u8335\u836B\u56E0\u6BB7\u97F3\u9634\u59FB\u541F\u94F6\u6DEB\u5BC5\u996E\u5C39\u5F15\u9690"], + ["d340", "\u89A2", 30, "\u89C3\u89CD\u89D3\u89D4\u89D5\u89D7\u89D8\u89D9\u89DB\u89DD\u89DF\u89E0\u89E1\u89E2\u89E4\u89E7\u89E8\u89E9\u89EA\u89EC\u89ED\u89EE\u89F0\u89F1\u89F2\u89F4", 6], + ["d380", "\u89FB", 4, "\u8A01", 5, "\u8A08", 21, "\u5370\u82F1\u6A31\u5A74\u9E70\u5E94\u7F28\u83B9\u8424\u8425\u8367\u8747\u8FCE\u8D62\u76C8\u5F71\u9896\u786C\u6620\u54DF\u62E5\u4F63\u81C3\u75C8\u5EB8\u96CD\u8E0A\u86F9\u548F\u6CF3\u6D8C\u6C38\u607F\u52C7\u7528\u5E7D\u4F18\u60A0\u5FE7\u5C24\u7531\u90AE\u94C0\u72B9\u6CB9\u6E38\u9149\u6709\u53CB\u53F3\u4F51\u91C9\u8BF1\u53C8\u5E7C\u8FC2\u6DE4\u4E8E\u76C2\u6986\u865E\u611A\u8206\u4F59\u4FDE\u903E\u9C7C\u6109\u6E1D\u6E14\u9685\u4E88\u5A31\u96E8\u4E0E\u5C7F\u79B9\u5B87\u8BED\u7FBD\u7389\u57DF\u828B\u90C1\u5401\u9047\u55BB\u5CEA\u5FA1\u6108\u6B32\u72F1\u80B2\u8A89"], + ["d440", "\u8A1E", 31, "\u8A3F", 8, "\u8A49", 21], + ["d480", "\u8A5F", 25, "\u8A7A", 6, "\u6D74\u5BD3\u88D5\u9884\u8C6B\u9A6D\u9E33\u6E0A\u51A4\u5143\u57A3\u8881\u539F\u63F4\u8F95\u56ED\u5458\u5706\u733F\u6E90\u7F18\u8FDC\u82D1\u613F\u6028\u9662\u66F0\u7EA6\u8D8A\u8DC3\u94A5\u5CB3\u7CA4\u6708\u60A6\u9605\u8018\u4E91\u90E7\u5300\u9668\u5141\u8FD0\u8574\u915D\u6655\u97F5\u5B55\u531D\u7838\u6742\u683D\u54C9\u707E\u5BB0\u8F7D\u518D\u5728\u54B1\u6512\u6682\u8D5E\u8D43\u810F\u846C\u906D\u7CDF\u51FF\u85FB\u67A3\u65E9\u6FA1\u86A4\u8E81\u566A\u9020\u7682\u7076\u71E5\u8D23\u62E9\u5219\u6CFD\u8D3C\u600E\u589E\u618E\u66FE\u8D60\u624E\u55B3\u6E23\u672D\u8F67"], + ["d540", "\u8A81", 7, "\u8A8B", 7, "\u8A94", 46], + ["d580", "\u8AC3", 32, "\u94E1\u95F8\u7728\u6805\u69A8\u548B\u4E4D\u70B8\u8BC8\u6458\u658B\u5B85\u7A84\u503A\u5BE8\u77BB\u6BE1\u8A79\u7C98\u6CBE\u76CF\u65A9\u8F97\u5D2D\u5C55\u8638\u6808\u5360\u6218\u7AD9\u6E5B\u7EFD\u6A1F\u7AE0\u5F70\u6F33\u5F20\u638C\u6DA8\u6756\u4E08\u5E10\u8D26\u4ED7\u80C0\u7634\u969C\u62DB\u662D\u627E\u6CBC\u8D75\u7167\u7F69\u5146\u8087\u53EC\u906E\u6298\u54F2\u86F0\u8F99\u8005\u9517\u8517\u8FD9\u6D59\u73CD\u659F\u771F\u7504\u7827\u81FB\u8D1E\u9488\u4FA6\u6795\u75B9\u8BCA\u9707\u632F\u9547\u9635\u84B8\u6323\u7741\u5F81\u72F0\u4E89\u6014\u6574\u62EF\u6B63\u653F"], + ["d640", "\u8AE4", 34, "\u8B08", 27], + ["d680", "\u8B24\u8B25\u8B27", 30, "\u5E27\u75C7\u90D1\u8BC1\u829D\u679D\u652F\u5431\u8718\u77E5\u80A2\u8102\u6C41\u4E4B\u7EC7\u804C\u76F4\u690D\u6B96\u6267\u503C\u4F84\u5740\u6307\u6B62\u8DBE\u53EA\u65E8\u7EB8\u5FD7\u631A\u63B7\u81F3\u81F4\u7F6E\u5E1C\u5CD9\u5236\u667A\u79E9\u7A1A\u8D28\u7099\u75D4\u6EDE\u6CBB\u7A92\u4E2D\u76C5\u5FE0\u949F\u8877\u7EC8\u79CD\u80BF\u91CD\u4EF2\u4F17\u821F\u5468\u5DDE\u6D32\u8BCC\u7CA5\u8F74\u8098\u5E1A\u5492\u76B1\u5B99\u663C\u9AA4\u73E0\u682A\u86DB\u6731\u732A\u8BF8\u8BDB\u9010\u7AF9\u70DB\u716E\u62C4\u77A9\u5631\u4E3B\u8457\u67F1\u52A9\u86C0\u8D2E\u94F8\u7B51"], + ["d740", "\u8B46", 31, "\u8B67", 4, "\u8B6D", 25], + ["d780", "\u8B87", 24, "\u8BAC\u8BB1\u8BBB\u8BC7\u8BD0\u8BEA\u8C09\u8C1E\u4F4F\u6CE8\u795D\u9A7B\u6293\u722A\u62FD\u4E13\u7816\u8F6C\u64B0\u8D5A\u7BC6\u6869\u5E84\u88C5\u5986\u649E\u58EE\u72B6\u690E\u9525\u8FFD\u8D58\u5760\u7F00\u8C06\u51C6\u6349\u62D9\u5353\u684C\u7422\u8301\u914C\u5544\u7740\u707C\u6D4A\u5179\u54A8\u8D44\u59FF\u6ECB\u6DC4\u5B5C\u7D2B\u4ED4\u7C7D\u6ED3\u5B50\u81EA\u6E0D\u5B57\u9B03\u68D5\u8E2A\u5B97\u7EFC\u603B\u7EB5\u90B9\u8D70\u594F\u63CD\u79DF\u8DB3\u5352\u65CF\u7956\u8BC5\u963B\u7EC4\u94BB\u7E82\u5634\u9189\u6700\u7F6A\u5C0A\u9075\u6628\u5DE6\u4F50\u67DE\u505A\u4F5C\u5750\u5EA7"], + ["d840", "\u8C38", 8, "\u8C42\u8C43\u8C44\u8C45\u8C48\u8C4A\u8C4B\u8C4D", 7, "\u8C56\u8C57\u8C58\u8C59\u8C5B", 5, "\u8C63", 6, "\u8C6C", 6, "\u8C74\u8C75\u8C76\u8C77\u8C7B", 6, "\u8C83\u8C84\u8C86\u8C87"], + ["d880", "\u8C88\u8C8B\u8C8D", 6, "\u8C95\u8C96\u8C97\u8C99", 20, "\u4E8D\u4E0C\u5140\u4E10\u5EFF\u5345\u4E15\u4E98\u4E1E\u9B32\u5B6C\u5669\u4E28\u79BA\u4E3F\u5315\u4E47\u592D\u723B\u536E\u6C10\u56DF\u80E4\u9997\u6BD3\u777E\u9F17\u4E36\u4E9F\u9F10\u4E5C\u4E69\u4E93\u8288\u5B5B\u556C\u560F\u4EC4\u538D\u539D\u53A3\u53A5\u53AE\u9765\u8D5D\u531A\u53F5\u5326\u532E\u533E\u8D5C\u5366\u5363\u5202\u5208\u520E\u522D\u5233\u523F\u5240\u524C\u525E\u5261\u525C\u84AF\u527D\u5282\u5281\u5290\u5293\u5182\u7F54\u4EBB\u4EC3\u4EC9\u4EC2\u4EE8\u4EE1\u4EEB\u4EDE\u4F1B\u4EF3\u4F22\u4F64\u4EF5\u4F25\u4F27\u4F09\u4F2B\u4F5E\u4F67\u6538\u4F5A\u4F5D"], + ["d940", "\u8CAE", 62], + ["d980", "\u8CED", 32, "\u4F5F\u4F57\u4F32\u4F3D\u4F76\u4F74\u4F91\u4F89\u4F83\u4F8F\u4F7E\u4F7B\u4FAA\u4F7C\u4FAC\u4F94\u4FE6\u4FE8\u4FEA\u4FC5\u4FDA\u4FE3\u4FDC\u4FD1\u4FDF\u4FF8\u5029\u504C\u4FF3\u502C\u500F\u502E\u502D\u4FFE\u501C\u500C\u5025\u5028\u507E\u5043\u5055\u5048\u504E\u506C\u507B\u50A5\u50A7\u50A9\u50BA\u50D6\u5106\u50ED\u50EC\u50E6\u50EE\u5107\u510B\u4EDD\u6C3D\u4F58\u4F65\u4FCE\u9FA0\u6C46\u7C74\u516E\u5DFD\u9EC9\u9998\u5181\u5914\u52F9\u530D\u8A07\u5310\u51EB\u5919\u5155\u4EA0\u5156\u4EB3\u886E\u88A4\u4EB5\u8114\u88D2\u7980\u5B34\u8803\u7FB8\u51AB\u51B1\u51BD\u51BC"], + ["da40", "\u8D0E", 14, "\u8D20\u8D51\u8D52\u8D57\u8D5F\u8D65\u8D68\u8D69\u8D6A\u8D6C\u8D6E\u8D6F\u8D71\u8D72\u8D78", 8, "\u8D82\u8D83\u8D86\u8D87\u8D88\u8D89\u8D8C", 4, "\u8D92\u8D93\u8D95", 9, "\u8DA0\u8DA1"], + ["da80", "\u8DA2\u8DA4", 12, "\u8DB2\u8DB6\u8DB7\u8DB9\u8DBB\u8DBD\u8DC0\u8DC1\u8DC2\u8DC5\u8DC7\u8DC8\u8DC9\u8DCA\u8DCD\u8DD0\u8DD2\u8DD3\u8DD4\u51C7\u5196\u51A2\u51A5\u8BA0\u8BA6\u8BA7\u8BAA\u8BB4\u8BB5\u8BB7\u8BC2\u8BC3\u8BCB\u8BCF\u8BCE\u8BD2\u8BD3\u8BD4\u8BD6\u8BD8\u8BD9\u8BDC\u8BDF\u8BE0\u8BE4\u8BE8\u8BE9\u8BEE\u8BF0\u8BF3\u8BF6\u8BF9\u8BFC\u8BFF\u8C00\u8C02\u8C04\u8C07\u8C0C\u8C0F\u8C11\u8C12\u8C14\u8C15\u8C16\u8C19\u8C1B\u8C18\u8C1D\u8C1F\u8C20\u8C21\u8C25\u8C27\u8C2A\u8C2B\u8C2E\u8C2F\u8C32\u8C33\u8C35\u8C36\u5369\u537A\u961D\u9622\u9621\u9631\u962A\u963D\u963C\u9642\u9649\u9654\u965F\u9667\u966C\u9672\u9674\u9688\u968D\u9697\u96B0\u9097\u909B\u909D\u9099\u90AC\u90A1\u90B4\u90B3\u90B6\u90BA"], + ["db40", "\u8DD5\u8DD8\u8DD9\u8DDC\u8DE0\u8DE1\u8DE2\u8DE5\u8DE6\u8DE7\u8DE9\u8DED\u8DEE\u8DF0\u8DF1\u8DF2\u8DF4\u8DF6\u8DFC\u8DFE", 6, "\u8E06\u8E07\u8E08\u8E0B\u8E0D\u8E0E\u8E10\u8E11\u8E12\u8E13\u8E15", 7, "\u8E20\u8E21\u8E24", 4, "\u8E2B\u8E2D\u8E30\u8E32\u8E33\u8E34\u8E36\u8E37\u8E38\u8E3B\u8E3C\u8E3E"], + ["db80", "\u8E3F\u8E43\u8E45\u8E46\u8E4C", 4, "\u8E53", 5, "\u8E5A", 11, "\u8E67\u8E68\u8E6A\u8E6B\u8E6E\u8E71\u90B8\u90B0\u90CF\u90C5\u90BE\u90D0\u90C4\u90C7\u90D3\u90E6\u90E2\u90DC\u90D7\u90DB\u90EB\u90EF\u90FE\u9104\u9122\u911E\u9123\u9131\u912F\u9139\u9143\u9146\u520D\u5942\u52A2\u52AC\u52AD\u52BE\u54FF\u52D0\u52D6\u52F0\u53DF\u71EE\u77CD\u5EF4\u51F5\u51FC\u9B2F\u53B6\u5F01\u755A\u5DEF\u574C\u57A9\u57A1\u587E\u58BC\u58C5\u58D1\u5729\u572C\u572A\u5733\u5739\u572E\u572F\u575C\u573B\u5742\u5769\u5785\u576B\u5786\u577C\u577B\u5768\u576D\u5776\u5773\u57AD\u57A4\u578C\u57B2\u57CF\u57A7\u57B4\u5793\u57A0\u57D5\u57D8\u57DA\u57D9\u57D2\u57B8\u57F4\u57EF\u57F8\u57E4\u57DD"], + ["dc40", "\u8E73\u8E75\u8E77", 4, "\u8E7D\u8E7E\u8E80\u8E82\u8E83\u8E84\u8E86\u8E88", 6, "\u8E91\u8E92\u8E93\u8E95", 6, "\u8E9D\u8E9F", 11, "\u8EAD\u8EAE\u8EB0\u8EB1\u8EB3", 6, "\u8EBB", 7], + ["dc80", "\u8EC3", 10, "\u8ECF", 21, "\u580B\u580D\u57FD\u57ED\u5800\u581E\u5819\u5844\u5820\u5865\u586C\u5881\u5889\u589A\u5880\u99A8\u9F19\u61FF\u8279\u827D\u827F\u828F\u828A\u82A8\u8284\u828E\u8291\u8297\u8299\u82AB\u82B8\u82BE\u82B0\u82C8\u82CA\u82E3\u8298\u82B7\u82AE\u82CB\u82CC\u82C1\u82A9\u82B4\u82A1\u82AA\u829F\u82C4\u82CE\u82A4\u82E1\u8309\u82F7\u82E4\u830F\u8307\u82DC\u82F4\u82D2\u82D8\u830C\u82FB\u82D3\u8311\u831A\u8306\u8314\u8315\u82E0\u82D5\u831C\u8351\u835B\u835C\u8308\u8392\u833C\u8334\u8331\u839B\u835E\u832F\u834F\u8347\u8343\u835F\u8340\u8317\u8360\u832D\u833A\u8333\u8366\u8365"], + ["dd40", "\u8EE5", 62], + ["dd80", "\u8F24", 32, "\u8368\u831B\u8369\u836C\u836A\u836D\u836E\u83B0\u8378\u83B3\u83B4\u83A0\u83AA\u8393\u839C\u8385\u837C\u83B6\u83A9\u837D\u83B8\u837B\u8398\u839E\u83A8\u83BA\u83BC\u83C1\u8401\u83E5\u83D8\u5807\u8418\u840B\u83DD\u83FD\u83D6\u841C\u8438\u8411\u8406\u83D4\u83DF\u840F\u8403\u83F8\u83F9\u83EA\u83C5\u83C0\u8426\u83F0\u83E1\u845C\u8451\u845A\u8459\u8473\u8487\u8488\u847A\u8489\u8478\u843C\u8446\u8469\u8476\u848C\u848E\u8431\u846D\u84C1\u84CD\u84D0\u84E6\u84BD\u84D3\u84CA\u84BF\u84BA\u84E0\u84A1\u84B9\u84B4\u8497\u84E5\u84E3\u850C\u750D\u8538\u84F0\u8539\u851F\u853A"], + ["de40", "\u8F45", 32, "\u8F6A\u8F80\u8F8C\u8F92\u8F9D\u8FA0\u8FA1\u8FA2\u8FA4\u8FA5\u8FA6\u8FA7\u8FAA\u8FAC\u8FAD\u8FAE\u8FAF\u8FB2\u8FB3\u8FB4\u8FB5\u8FB7\u8FB8\u8FBA\u8FBB\u8FBC\u8FBF\u8FC0\u8FC3\u8FC6"], + ["de80", "\u8FC9", 4, "\u8FCF\u8FD2\u8FD6\u8FD7\u8FDA\u8FE0\u8FE1\u8FE3\u8FE7\u8FEC\u8FEF\u8FF1\u8FF2\u8FF4\u8FF5\u8FF6\u8FFA\u8FFB\u8FFC\u8FFE\u8FFF\u9007\u9008\u900C\u900E\u9013\u9015\u9018\u8556\u853B\u84FF\u84FC\u8559\u8548\u8568\u8564\u855E\u857A\u77A2\u8543\u8572\u857B\u85A4\u85A8\u8587\u858F\u8579\u85AE\u859C\u8585\u85B9\u85B7\u85B0\u85D3\u85C1\u85DC\u85FF\u8627\u8605\u8629\u8616\u863C\u5EFE\u5F08\u593C\u5941\u8037\u5955\u595A\u5958\u530F\u5C22\u5C25\u5C2C\u5C34\u624C\u626A\u629F\u62BB\u62CA\u62DA\u62D7\u62EE\u6322\u62F6\u6339\u634B\u6343\u63AD\u63F6\u6371\u637A\u638E\u63B4\u636D\u63AC\u638A\u6369\u63AE\u63BC\u63F2\u63F8\u63E0\u63FF\u63C4\u63DE\u63CE\u6452\u63C6\u63BE\u6445\u6441\u640B\u641B\u6420\u640C\u6426\u6421\u645E\u6484\u646D\u6496"], + ["df40", "\u9019\u901C\u9023\u9024\u9025\u9027", 5, "\u9030", 4, "\u9037\u9039\u903A\u903D\u903F\u9040\u9043\u9045\u9046\u9048", 4, "\u904E\u9054\u9055\u9056\u9059\u905A\u905C", 5, "\u9064\u9066\u9067\u9069\u906A\u906B\u906C\u906F", 4, "\u9076", 6, "\u907E\u9081"], + ["df80", "\u9084\u9085\u9086\u9087\u9089\u908A\u908C", 4, "\u9092\u9094\u9096\u9098\u909A\u909C\u909E\u909F\u90A0\u90A4\u90A5\u90A7\u90A8\u90A9\u90AB\u90AD\u90B2\u90B7\u90BC\u90BD\u90BF\u90C0\u647A\u64B7\u64B8\u6499\u64BA\u64C0\u64D0\u64D7\u64E4\u64E2\u6509\u6525\u652E\u5F0B\u5FD2\u7519\u5F11\u535F\u53F1\u53FD\u53E9\u53E8\u53FB\u5412\u5416\u5406\u544B\u5452\u5453\u5454\u5456\u5443\u5421\u5457\u5459\u5423\u5432\u5482\u5494\u5477\u5471\u5464\u549A\u549B\u5484\u5476\u5466\u549D\u54D0\u54AD\u54C2\u54B4\u54D2\u54A7\u54A6\u54D3\u54D4\u5472\u54A3\u54D5\u54BB\u54BF\u54CC\u54D9\u54DA\u54DC\u54A9\u54AA\u54A4\u54DD\u54CF\u54DE\u551B\u54E7\u5520\u54FD\u5514\u54F3\u5522\u5523\u550F\u5511\u5527\u552A\u5567\u558F\u55B5\u5549\u556D\u5541\u5555\u553F\u5550\u553C"], + ["e040", "\u90C2\u90C3\u90C6\u90C8\u90C9\u90CB\u90CC\u90CD\u90D2\u90D4\u90D5\u90D6\u90D8\u90D9\u90DA\u90DE\u90DF\u90E0\u90E3\u90E4\u90E5\u90E9\u90EA\u90EC\u90EE\u90F0\u90F1\u90F2\u90F3\u90F5\u90F6\u90F7\u90F9\u90FA\u90FB\u90FC\u90FF\u9100\u9101\u9103\u9105", 19, "\u911A\u911B\u911C"], + ["e080", "\u911D\u911F\u9120\u9121\u9124", 10, "\u9130\u9132", 6, "\u913A", 8, "\u9144\u5537\u5556\u5575\u5576\u5577\u5533\u5530\u555C\u558B\u55D2\u5583\u55B1\u55B9\u5588\u5581\u559F\u557E\u55D6\u5591\u557B\u55DF\u55BD\u55BE\u5594\u5599\u55EA\u55F7\u55C9\u561F\u55D1\u55EB\u55EC\u55D4\u55E6\u55DD\u55C4\u55EF\u55E5\u55F2\u55F3\u55CC\u55CD\u55E8\u55F5\u55E4\u8F94\u561E\u5608\u560C\u5601\u5624\u5623\u55FE\u5600\u5627\u562D\u5658\u5639\u5657\u562C\u564D\u5662\u5659\u565C\u564C\u5654\u5686\u5664\u5671\u566B\u567B\u567C\u5685\u5693\u56AF\u56D4\u56D7\u56DD\u56E1\u56F5\u56EB\u56F9\u56FF\u5704\u570A\u5709\u571C\u5E0F\u5E19\u5E14\u5E11\u5E31\u5E3B\u5E3C"], + ["e140", "\u9145\u9147\u9148\u9151\u9153\u9154\u9155\u9156\u9158\u9159\u915B\u915C\u915F\u9160\u9166\u9167\u9168\u916B\u916D\u9173\u917A\u917B\u917C\u9180", 4, "\u9186\u9188\u918A\u918E\u918F\u9193", 6, "\u919C", 5, "\u91A4", 5, "\u91AB\u91AC\u91B0\u91B1\u91B2\u91B3\u91B6\u91B7\u91B8\u91B9\u91BB"], + ["e180", "\u91BC", 10, "\u91C8\u91CB\u91D0\u91D2", 9, "\u91DD", 8, "\u5E37\u5E44\u5E54\u5E5B\u5E5E\u5E61\u5C8C\u5C7A\u5C8D\u5C90\u5C96\u5C88\u5C98\u5C99\u5C91\u5C9A\u5C9C\u5CB5\u5CA2\u5CBD\u5CAC\u5CAB\u5CB1\u5CA3\u5CC1\u5CB7\u5CC4\u5CD2\u5CE4\u5CCB\u5CE5\u5D02\u5D03\u5D27\u5D26\u5D2E\u5D24\u5D1E\u5D06\u5D1B\u5D58\u5D3E\u5D34\u5D3D\u5D6C\u5D5B\u5D6F\u5D5D\u5D6B\u5D4B\u5D4A\u5D69\u5D74\u5D82\u5D99\u5D9D\u8C73\u5DB7\u5DC5\u5F73\u5F77\u5F82\u5F87\u5F89\u5F8C\u5F95\u5F99\u5F9C\u5FA8\u5FAD\u5FB5\u5FBC\u8862\u5F61\u72AD\u72B0\u72B4\u72B7\u72B8\u72C3\u72C1\u72CE\u72CD\u72D2\u72E8\u72EF\u72E9\u72F2\u72F4\u72F7\u7301\u72F3\u7303\u72FA"], + ["e240", "\u91E6", 62], + ["e280", "\u9225", 32, "\u72FB\u7317\u7313\u7321\u730A\u731E\u731D\u7315\u7322\u7339\u7325\u732C\u7338\u7331\u7350\u734D\u7357\u7360\u736C\u736F\u737E\u821B\u5925\u98E7\u5924\u5902\u9963\u9967", 5, "\u9974\u9977\u997D\u9980\u9984\u9987\u998A\u998D\u9990\u9991\u9993\u9994\u9995\u5E80\u5E91\u5E8B\u5E96\u5EA5\u5EA0\u5EB9\u5EB5\u5EBE\u5EB3\u8D53\u5ED2\u5ED1\u5EDB\u5EE8\u5EEA\u81BA\u5FC4\u5FC9\u5FD6\u5FCF\u6003\u5FEE\u6004\u5FE1\u5FE4\u5FFE\u6005\u6006\u5FEA\u5FED\u5FF8\u6019\u6035\u6026\u601B\u600F\u600D\u6029\u602B\u600A\u603F\u6021\u6078\u6079\u607B\u607A\u6042"], + ["e340", "\u9246", 45, "\u9275", 16], + ["e380", "\u9286", 7, "\u928F", 24, "\u606A\u607D\u6096\u609A\u60AD\u609D\u6083\u6092\u608C\u609B\u60EC\u60BB\u60B1\u60DD\u60D8\u60C6\u60DA\u60B4\u6120\u6126\u6115\u6123\u60F4\u6100\u610E\u612B\u614A\u6175\u61AC\u6194\u61A7\u61B7\u61D4\u61F5\u5FDD\u96B3\u95E9\u95EB\u95F1\u95F3\u95F5\u95F6\u95FC\u95FE\u9603\u9604\u9606\u9608\u960A\u960B\u960C\u960D\u960F\u9612\u9615\u9616\u9617\u9619\u961A\u4E2C\u723F\u6215\u6C35\u6C54\u6C5C\u6C4A\u6CA3\u6C85\u6C90\u6C94\u6C8C\u6C68\u6C69\u6C74\u6C76\u6C86\u6CA9\u6CD0\u6CD4\u6CAD\u6CF7\u6CF8\u6CF1\u6CD7\u6CB2\u6CE0\u6CD6\u6CFA\u6CEB\u6CEE\u6CB1\u6CD3\u6CEF\u6CFE"], + ["e440", "\u92A8", 5, "\u92AF", 24, "\u92C9", 31], + ["e480", "\u92E9", 32, "\u6D39\u6D27\u6D0C\u6D43\u6D48\u6D07\u6D04\u6D19\u6D0E\u6D2B\u6D4D\u6D2E\u6D35\u6D1A\u6D4F\u6D52\u6D54\u6D33\u6D91\u6D6F\u6D9E\u6DA0\u6D5E\u6D93\u6D94\u6D5C\u6D60\u6D7C\u6D63\u6E1A\u6DC7\u6DC5\u6DDE\u6E0E\u6DBF\u6DE0\u6E11\u6DE6\u6DDD\u6DD9\u6E16\u6DAB\u6E0C\u6DAE\u6E2B\u6E6E\u6E4E\u6E6B\u6EB2\u6E5F\u6E86\u6E53\u6E54\u6E32\u6E25\u6E44\u6EDF\u6EB1\u6E98\u6EE0\u6F2D\u6EE2\u6EA5\u6EA7\u6EBD\u6EBB\u6EB7\u6ED7\u6EB4\u6ECF\u6E8F\u6EC2\u6E9F\u6F62\u6F46\u6F47\u6F24\u6F15\u6EF9\u6F2F\u6F36\u6F4B\u6F74\u6F2A\u6F09\u6F29\u6F89\u6F8D\u6F8C\u6F78\u6F72\u6F7C\u6F7A\u6FD1"], + ["e540", "\u930A", 51, "\u933F", 10], + ["e580", "\u934A", 31, "\u936B\u6FC9\u6FA7\u6FB9\u6FB6\u6FC2\u6FE1\u6FEE\u6FDE\u6FE0\u6FEF\u701A\u7023\u701B\u7039\u7035\u704F\u705E\u5B80\u5B84\u5B95\u5B93\u5BA5\u5BB8\u752F\u9A9E\u6434\u5BE4\u5BEE\u8930\u5BF0\u8E47\u8B07\u8FB6\u8FD3\u8FD5\u8FE5\u8FEE\u8FE4\u8FE9\u8FE6\u8FF3\u8FE8\u9005\u9004\u900B\u9026\u9011\u900D\u9016\u9021\u9035\u9036\u902D\u902F\u9044\u9051\u9052\u9050\u9068\u9058\u9062\u905B\u66B9\u9074\u907D\u9082\u9088\u9083\u908B\u5F50\u5F57\u5F56\u5F58\u5C3B\u54AB\u5C50\u5C59\u5B71\u5C63\u5C66\u7FBC\u5F2A\u5F29\u5F2D\u8274\u5F3C\u9B3B\u5C6E\u5981\u5983\u598D\u59A9\u59AA\u59A3"], + ["e640", "\u936C", 34, "\u9390", 27], + ["e680", "\u93AC", 29, "\u93CB\u93CC\u93CD\u5997\u59CA\u59AB\u599E\u59A4\u59D2\u59B2\u59AF\u59D7\u59BE\u5A05\u5A06\u59DD\u5A08\u59E3\u59D8\u59F9\u5A0C\u5A09\u5A32\u5A34\u5A11\u5A23\u5A13\u5A40\u5A67\u5A4A\u5A55\u5A3C\u5A62\u5A75\u80EC\u5AAA\u5A9B\u5A77\u5A7A\u5ABE\u5AEB\u5AB2\u5AD2\u5AD4\u5AB8\u5AE0\u5AE3\u5AF1\u5AD6\u5AE6\u5AD8\u5ADC\u5B09\u5B17\u5B16\u5B32\u5B37\u5B40\u5C15\u5C1C\u5B5A\u5B65\u5B73\u5B51\u5B53\u5B62\u9A75\u9A77\u9A78\u9A7A\u9A7F\u9A7D\u9A80\u9A81\u9A85\u9A88\u9A8A\u9A90\u9A92\u9A93\u9A96\u9A98\u9A9B\u9A9C\u9A9D\u9A9F\u9AA0\u9AA2\u9AA3\u9AA5\u9AA7\u7E9F\u7EA1\u7EA3\u7EA5\u7EA8\u7EA9"], + ["e740", "\u93CE", 7, "\u93D7", 54], + ["e780", "\u940E", 32, "\u7EAD\u7EB0\u7EBE\u7EC0\u7EC1\u7EC2\u7EC9\u7ECB\u7ECC\u7ED0\u7ED4\u7ED7\u7EDB\u7EE0\u7EE1\u7EE8\u7EEB\u7EEE\u7EEF\u7EF1\u7EF2\u7F0D\u7EF6\u7EFA\u7EFB\u7EFE\u7F01\u7F02\u7F03\u7F07\u7F08\u7F0B\u7F0C\u7F0F\u7F11\u7F12\u7F17\u7F19\u7F1C\u7F1B\u7F1F\u7F21", 6, "\u7F2A\u7F2B\u7F2C\u7F2D\u7F2F", 4, "\u7F35\u5E7A\u757F\u5DDB\u753E\u9095\u738E\u7391\u73AE\u73A2\u739F\u73CF\u73C2\u73D1\u73B7\u73B3\u73C0\u73C9\u73C8\u73E5\u73D9\u987C\u740A\u73E9\u73E7\u73DE\u73BA\u73F2\u740F\u742A\u745B\u7426\u7425\u7428\u7430\u742E\u742C"], + ["e840", "\u942F", 14, "\u943F", 43, "\u946C\u946D\u946E\u946F"], + ["e880", "\u9470", 20, "\u9491\u9496\u9498\u94C7\u94CF\u94D3\u94D4\u94DA\u94E6\u94FB\u951C\u9520\u741B\u741A\u7441\u745C\u7457\u7455\u7459\u7477\u746D\u747E\u749C\u748E\u7480\u7481\u7487\u748B\u749E\u74A8\u74A9\u7490\u74A7\u74D2\u74BA\u97EA\u97EB\u97EC\u674C\u6753\u675E\u6748\u6769\u67A5\u6787\u676A\u6773\u6798\u67A7\u6775\u67A8\u679E\u67AD\u678B\u6777\u677C\u67F0\u6809\u67D8\u680A\u67E9\u67B0\u680C\u67D9\u67B5\u67DA\u67B3\u67DD\u6800\u67C3\u67B8\u67E2\u680E\u67C1\u67FD\u6832\u6833\u6860\u6861\u684E\u6862\u6844\u6864\u6883\u681D\u6855\u6866\u6841\u6867\u6840\u683E\u684A\u6849\u6829\u68B5\u688F\u6874\u6877\u6893\u686B\u68C2\u696E\u68FC\u691F\u6920\u68F9"], + ["e940", "\u9527\u9533\u953D\u9543\u9548\u954B\u9555\u955A\u9560\u956E\u9574\u9575\u9577", 7, "\u9580", 42], + ["e980", "\u95AB", 32, "\u6924\u68F0\u690B\u6901\u6957\u68E3\u6910\u6971\u6939\u6960\u6942\u695D\u6984\u696B\u6980\u6998\u6978\u6934\u69CC\u6987\u6988\u69CE\u6989\u6966\u6963\u6979\u699B\u69A7\u69BB\u69AB\u69AD\u69D4\u69B1\u69C1\u69CA\u69DF\u6995\u69E0\u698D\u69FF\u6A2F\u69ED\u6A17\u6A18\u6A65\u69F2\u6A44\u6A3E\u6AA0\u6A50\u6A5B\u6A35\u6A8E\u6A79\u6A3D\u6A28\u6A58\u6A7C\u6A91\u6A90\u6AA9\u6A97\u6AAB\u7337\u7352\u6B81\u6B82\u6B87\u6B84\u6B92\u6B93\u6B8D\u6B9A\u6B9B\u6BA1\u6BAA\u8F6B\u8F6D\u8F71\u8F72\u8F73\u8F75\u8F76\u8F78\u8F77\u8F79\u8F7A\u8F7C\u8F7E\u8F81\u8F82\u8F84\u8F87\u8F8B"], + ["ea40", "\u95CC", 27, "\u95EC\u95FF\u9607\u9613\u9618\u961B\u961E\u9620\u9623", 6, "\u962B\u962C\u962D\u962F\u9630\u9637\u9638\u9639\u963A\u963E\u9641\u9643\u964A\u964E\u964F\u9651\u9652\u9653\u9656\u9657"], + ["ea80", "\u9658\u9659\u965A\u965C\u965D\u965E\u9660\u9663\u9665\u9666\u966B\u966D", 4, "\u9673\u9678", 12, "\u9687\u9689\u968A\u8F8D\u8F8E\u8F8F\u8F98\u8F9A\u8ECE\u620B\u6217\u621B\u621F\u6222\u6221\u6225\u6224\u622C\u81E7\u74EF\u74F4\u74FF\u750F\u7511\u7513\u6534\u65EE\u65EF\u65F0\u660A\u6619\u6772\u6603\u6615\u6600\u7085\u66F7\u661D\u6634\u6631\u6636\u6635\u8006\u665F\u6654\u6641\u664F\u6656\u6661\u6657\u6677\u6684\u668C\u66A7\u669D\u66BE\u66DB\u66DC\u66E6\u66E9\u8D32\u8D33\u8D36\u8D3B\u8D3D\u8D40\u8D45\u8D46\u8D48\u8D49\u8D47\u8D4D\u8D55\u8D59\u89C7\u89CA\u89CB\u89CC\u89CE\u89CF\u89D0\u89D1\u726E\u729F\u725D\u7266\u726F\u727E\u727F\u7284\u728B\u728D\u728F\u7292\u6308\u6332\u63B0"], + ["eb40", "\u968C\u968E\u9691\u9692\u9693\u9695\u9696\u969A\u969B\u969D", 9, "\u96A8", 7, "\u96B1\u96B2\u96B4\u96B5\u96B7\u96B8\u96BA\u96BB\u96BF\u96C2\u96C3\u96C8\u96CA\u96CB\u96D0\u96D1\u96D3\u96D4\u96D6", 9, "\u96E1", 6, "\u96EB"], + ["eb80", "\u96EC\u96ED\u96EE\u96F0\u96F1\u96F2\u96F4\u96F5\u96F8\u96FA\u96FB\u96FC\u96FD\u96FF\u9702\u9703\u9705\u970A\u970B\u970C\u9710\u9711\u9712\u9714\u9715\u9717", 4, "\u971D\u971F\u9720\u643F\u64D8\u8004\u6BEA\u6BF3\u6BFD\u6BF5\u6BF9\u6C05\u6C07\u6C06\u6C0D\u6C15\u6C18\u6C19\u6C1A\u6C21\u6C29\u6C24\u6C2A\u6C32\u6535\u6555\u656B\u724D\u7252\u7256\u7230\u8662\u5216\u809F\u809C\u8093\u80BC\u670A\u80BD\u80B1\u80AB\u80AD\u80B4\u80B7\u80E7\u80E8\u80E9\u80EA\u80DB\u80C2\u80C4\u80D9\u80CD\u80D7\u6710\u80DD\u80EB\u80F1\u80F4\u80ED\u810D\u810E\u80F2\u80FC\u6715\u8112\u8C5A\u8136\u811E\u812C\u8118\u8132\u8148\u814C\u8153\u8174\u8159\u815A\u8171\u8160\u8169\u817C\u817D\u816D\u8167\u584D\u5AB5\u8188\u8182\u8191\u6ED5\u81A3\u81AA\u81CC\u6726\u81CA\u81BB"], + ["ec40", "\u9721", 8, "\u972B\u972C\u972E\u972F\u9731\u9733", 4, "\u973A\u973B\u973C\u973D\u973F", 18, "\u9754\u9755\u9757\u9758\u975A\u975C\u975D\u975F\u9763\u9764\u9766\u9767\u9768\u976A", 7], + ["ec80", "\u9772\u9775\u9777", 4, "\u977D", 7, "\u9786", 4, "\u978C\u978E\u978F\u9790\u9793\u9795\u9796\u9797\u9799", 4, "\u81C1\u81A6\u6B24\u6B37\u6B39\u6B43\u6B46\u6B59\u98D1\u98D2\u98D3\u98D5\u98D9\u98DA\u6BB3\u5F40\u6BC2\u89F3\u6590\u9F51\u6593\u65BC\u65C6\u65C4\u65C3\u65CC\u65CE\u65D2\u65D6\u7080\u709C\u7096\u709D\u70BB\u70C0\u70B7\u70AB\u70B1\u70E8\u70CA\u7110\u7113\u7116\u712F\u7131\u7173\u715C\u7168\u7145\u7172\u714A\u7178\u717A\u7198\u71B3\u71B5\u71A8\u71A0\u71E0\u71D4\u71E7\u71F9\u721D\u7228\u706C\u7118\u7166\u71B9\u623E\u623D\u6243\u6248\u6249\u793B\u7940\u7946\u7949\u795B\u795C\u7953\u795A\u7962\u7957\u7960\u796F\u7967\u797A\u7985\u798A\u799A\u79A7\u79B3\u5FD1\u5FD0"], + ["ed40", "\u979E\u979F\u97A1\u97A2\u97A4", 6, "\u97AC\u97AE\u97B0\u97B1\u97B3\u97B5", 46], + ["ed80", "\u97E4\u97E5\u97E8\u97EE", 4, "\u97F4\u97F7", 23, "\u603C\u605D\u605A\u6067\u6041\u6059\u6063\u60AB\u6106\u610D\u615D\u61A9\u619D\u61CB\u61D1\u6206\u8080\u807F\u6C93\u6CF6\u6DFC\u77F6\u77F8\u7800\u7809\u7817\u7818\u7811\u65AB\u782D\u781C\u781D\u7839\u783A\u783B\u781F\u783C\u7825\u782C\u7823\u7829\u784E\u786D\u7856\u7857\u7826\u7850\u7847\u784C\u786A\u789B\u7893\u789A\u7887\u789C\u78A1\u78A3\u78B2\u78B9\u78A5\u78D4\u78D9\u78C9\u78EC\u78F2\u7905\u78F4\u7913\u7924\u791E\u7934\u9F9B\u9EF9\u9EFB\u9EFC\u76F1\u7704\u770D\u76F9\u7707\u7708\u771A\u7722\u7719\u772D\u7726\u7735\u7738\u7750\u7751\u7747\u7743\u775A\u7768"], + ["ee40", "\u980F", 62], + ["ee80", "\u984E", 32, "\u7762\u7765\u777F\u778D\u777D\u7780\u778C\u7791\u779F\u77A0\u77B0\u77B5\u77BD\u753A\u7540\u754E\u754B\u7548\u755B\u7572\u7579\u7583\u7F58\u7F61\u7F5F\u8A48\u7F68\u7F74\u7F71\u7F79\u7F81\u7F7E\u76CD\u76E5\u8832\u9485\u9486\u9487\u948B\u948A\u948C\u948D\u948F\u9490\u9494\u9497\u9495\u949A\u949B\u949C\u94A3\u94A4\u94AB\u94AA\u94AD\u94AC\u94AF\u94B0\u94B2\u94B4\u94B6", 4, "\u94BC\u94BD\u94BF\u94C4\u94C8", 6, "\u94D0\u94D1\u94D2\u94D5\u94D6\u94D7\u94D9\u94D8\u94DB\u94DE\u94DF\u94E0\u94E2\u94E4\u94E5\u94E7\u94E8\u94EA"], + ["ef40", "\u986F", 5, "\u988B\u988E\u9892\u9895\u9899\u98A3\u98A8", 37, "\u98CF\u98D0\u98D4\u98D6\u98D7\u98DB\u98DC\u98DD\u98E0", 4], + ["ef80", "\u98E5\u98E6\u98E9", 30, "\u94E9\u94EB\u94EE\u94EF\u94F3\u94F4\u94F5\u94F7\u94F9\u94FC\u94FD\u94FF\u9503\u9502\u9506\u9507\u9509\u950A\u950D\u950E\u950F\u9512", 4, "\u9518\u951B\u951D\u951E\u951F\u9522\u952A\u952B\u9529\u952C\u9531\u9532\u9534\u9536\u9537\u9538\u953C\u953E\u953F\u9542\u9535\u9544\u9545\u9546\u9549\u954C\u954E\u954F\u9552\u9553\u9554\u9556\u9557\u9558\u9559\u955B\u955E\u955F\u955D\u9561\u9562\u9564", 8, "\u956F\u9571\u9572\u9573\u953A\u77E7\u77EC\u96C9\u79D5\u79ED\u79E3\u79EB\u7A06\u5D47\u7A03\u7A02\u7A1E\u7A14"], + ["f040", "\u9908", 4, "\u990E\u990F\u9911", 28, "\u992F", 26], + ["f080", "\u994A", 9, "\u9956", 12, "\u9964\u9966\u9973\u9978\u9979\u997B\u997E\u9982\u9983\u9989\u7A39\u7A37\u7A51\u9ECF\u99A5\u7A70\u7688\u768E\u7693\u7699\u76A4\u74DE\u74E0\u752C\u9E20\u9E22\u9E28", 4, "\u9E32\u9E31\u9E36\u9E38\u9E37\u9E39\u9E3A\u9E3E\u9E41\u9E42\u9E44\u9E46\u9E47\u9E48\u9E49\u9E4B\u9E4C\u9E4E\u9E51\u9E55\u9E57\u9E5A\u9E5B\u9E5C\u9E5E\u9E63\u9E66", 6, "\u9E71\u9E6D\u9E73\u7592\u7594\u7596\u75A0\u759D\u75AC\u75A3\u75B3\u75B4\u75B8\u75C4\u75B1\u75B0\u75C3\u75C2\u75D6\u75CD\u75E3\u75E8\u75E6\u75E4\u75EB\u75E7\u7603\u75F1\u75FC\u75FF\u7610\u7600\u7605\u760C\u7617\u760A\u7625\u7618\u7615\u7619"], + ["f140", "\u998C\u998E\u999A", 10, "\u99A6\u99A7\u99A9", 47], + ["f180", "\u99D9", 32, "\u761B\u763C\u7622\u7620\u7640\u762D\u7630\u763F\u7635\u7643\u763E\u7633\u764D\u765E\u7654\u765C\u7656\u766B\u766F\u7FCA\u7AE6\u7A78\u7A79\u7A80\u7A86\u7A88\u7A95\u7AA6\u7AA0\u7AAC\u7AA8\u7AAD\u7AB3\u8864\u8869\u8872\u887D\u887F\u8882\u88A2\u88C6\u88B7\u88BC\u88C9\u88E2\u88CE\u88E3\u88E5\u88F1\u891A\u88FC\u88E8\u88FE\u88F0\u8921\u8919\u8913\u891B\u890A\u8934\u892B\u8936\u8941\u8966\u897B\u758B\u80E5\u76B2\u76B4\u77DC\u8012\u8014\u8016\u801C\u8020\u8022\u8025\u8026\u8027\u8029\u8028\u8031\u800B\u8035\u8043\u8046\u804D\u8052\u8069\u8071\u8983\u9878\u9880\u9883"], + ["f240", "\u99FA", 62], + ["f280", "\u9A39", 32, "\u9889\u988C\u988D\u988F\u9894\u989A\u989B\u989E\u989F\u98A1\u98A2\u98A5\u98A6\u864D\u8654\u866C\u866E\u867F\u867A\u867C\u867B\u86A8\u868D\u868B\u86AC\u869D\u86A7\u86A3\u86AA\u8693\u86A9\u86B6\u86C4\u86B5\u86CE\u86B0\u86BA\u86B1\u86AF\u86C9\u86CF\u86B4\u86E9\u86F1\u86F2\u86ED\u86F3\u86D0\u8713\u86DE\u86F4\u86DF\u86D8\u86D1\u8703\u8707\u86F8\u8708\u870A\u870D\u8709\u8723\u873B\u871E\u8725\u872E\u871A\u873E\u8748\u8734\u8731\u8729\u8737\u873F\u8782\u8722\u877D\u877E\u877B\u8760\u8770\u874C\u876E\u878B\u8753\u8763\u877C\u8764\u8759\u8765\u8793\u87AF\u87A8\u87D2"], + ["f340", "\u9A5A", 17, "\u9A72\u9A83\u9A89\u9A8D\u9A8E\u9A94\u9A95\u9A99\u9AA6\u9AA9", 6, "\u9AB2\u9AB3\u9AB4\u9AB5\u9AB9\u9ABB\u9ABD\u9ABE\u9ABF\u9AC3\u9AC4\u9AC6", 4, "\u9ACD\u9ACE\u9ACF\u9AD0\u9AD2\u9AD4\u9AD5\u9AD6\u9AD7\u9AD9\u9ADA\u9ADB\u9ADC"], + ["f380", "\u9ADD\u9ADE\u9AE0\u9AE2\u9AE3\u9AE4\u9AE5\u9AE7\u9AE8\u9AE9\u9AEA\u9AEC\u9AEE\u9AF0", 8, "\u9AFA\u9AFC", 6, "\u9B04\u9B05\u9B06\u87C6\u8788\u8785\u87AD\u8797\u8783\u87AB\u87E5\u87AC\u87B5\u87B3\u87CB\u87D3\u87BD\u87D1\u87C0\u87CA\u87DB\u87EA\u87E0\u87EE\u8816\u8813\u87FE\u880A\u881B\u8821\u8839\u883C\u7F36\u7F42\u7F44\u7F45\u8210\u7AFA\u7AFD\u7B08\u7B03\u7B04\u7B15\u7B0A\u7B2B\u7B0F\u7B47\u7B38\u7B2A\u7B19\u7B2E\u7B31\u7B20\u7B25\u7B24\u7B33\u7B3E\u7B1E\u7B58\u7B5A\u7B45\u7B75\u7B4C\u7B5D\u7B60\u7B6E\u7B7B\u7B62\u7B72\u7B71\u7B90\u7BA6\u7BA7\u7BB8\u7BAC\u7B9D\u7BA8\u7B85\u7BAA\u7B9C\u7BA2\u7BAB\u7BB4\u7BD1\u7BC1\u7BCC\u7BDD\u7BDA\u7BE5\u7BE6\u7BEA\u7C0C\u7BFE\u7BFC\u7C0F\u7C16\u7C0B"], + ["f440", "\u9B07\u9B09", 5, "\u9B10\u9B11\u9B12\u9B14", 10, "\u9B20\u9B21\u9B22\u9B24", 10, "\u9B30\u9B31\u9B33", 7, "\u9B3D\u9B3E\u9B3F\u9B40\u9B46\u9B4A\u9B4B\u9B4C\u9B4E\u9B50\u9B52\u9B53\u9B55", 5], + ["f480", "\u9B5B", 32, "\u7C1F\u7C2A\u7C26\u7C38\u7C41\u7C40\u81FE\u8201\u8202\u8204\u81EC\u8844\u8221\u8222\u8223\u822D\u822F\u8228\u822B\u8238\u823B\u8233\u8234\u823E\u8244\u8249\u824B\u824F\u825A\u825F\u8268\u887E\u8885\u8888\u88D8\u88DF\u895E\u7F9D\u7F9F\u7FA7\u7FAF\u7FB0\u7FB2\u7C7C\u6549\u7C91\u7C9D\u7C9C\u7C9E\u7CA2\u7CB2\u7CBC\u7CBD\u7CC1\u7CC7\u7CCC\u7CCD\u7CC8\u7CC5\u7CD7\u7CE8\u826E\u66A8\u7FBF\u7FCE\u7FD5\u7FE5\u7FE1\u7FE6\u7FE9\u7FEE\u7FF3\u7CF8\u7D77\u7DA6\u7DAE\u7E47\u7E9B\u9EB8\u9EB4\u8D73\u8D84\u8D94\u8D91\u8DB1\u8D67\u8D6D\u8C47\u8C49\u914A\u9150\u914E\u914F\u9164"], + ["f540", "\u9B7C", 62], + ["f580", "\u9BBB", 32, "\u9162\u9161\u9170\u9169\u916F\u917D\u917E\u9172\u9174\u9179\u918C\u9185\u9190\u918D\u9191\u91A2\u91A3\u91AA\u91AD\u91AE\u91AF\u91B5\u91B4\u91BA\u8C55\u9E7E\u8DB8\u8DEB\u8E05\u8E59\u8E69\u8DB5\u8DBF\u8DBC\u8DBA\u8DC4\u8DD6\u8DD7\u8DDA\u8DDE\u8DCE\u8DCF\u8DDB\u8DC6\u8DEC\u8DF7\u8DF8\u8DE3\u8DF9\u8DFB\u8DE4\u8E09\u8DFD\u8E14\u8E1D\u8E1F\u8E2C\u8E2E\u8E23\u8E2F\u8E3A\u8E40\u8E39\u8E35\u8E3D\u8E31\u8E49\u8E41\u8E42\u8E51\u8E52\u8E4A\u8E70\u8E76\u8E7C\u8E6F\u8E74\u8E85\u8E8F\u8E94\u8E90\u8E9C\u8E9E\u8C78\u8C82\u8C8A\u8C85\u8C98\u8C94\u659B\u89D6\u89DE\u89DA\u89DC"], + ["f640", "\u9BDC", 62], + ["f680", "\u9C1B", 32, "\u89E5\u89EB\u89EF\u8A3E\u8B26\u9753\u96E9\u96F3\u96EF\u9706\u9701\u9708\u970F\u970E\u972A\u972D\u9730\u973E\u9F80\u9F83\u9F85", 5, "\u9F8C\u9EFE\u9F0B\u9F0D\u96B9\u96BC\u96BD\u96CE\u96D2\u77BF\u96E0\u928E\u92AE\u92C8\u933E\u936A\u93CA\u938F\u943E\u946B\u9C7F\u9C82\u9C85\u9C86\u9C87\u9C88\u7A23\u9C8B\u9C8E\u9C90\u9C91\u9C92\u9C94\u9C95\u9C9A\u9C9B\u9C9E", 5, "\u9CA5", 4, "\u9CAB\u9CAD\u9CAE\u9CB0", 7, "\u9CBA\u9CBB\u9CBC\u9CBD\u9CC4\u9CC5\u9CC6\u9CC7\u9CCA\u9CCB"], + ["f740", "\u9C3C", 62], + ["f780", "\u9C7B\u9C7D\u9C7E\u9C80\u9C83\u9C84\u9C89\u9C8A\u9C8C\u9C8F\u9C93\u9C96\u9C97\u9C98\u9C99\u9C9D\u9CAA\u9CAC\u9CAF\u9CB9\u9CBE", 4, "\u9CC8\u9CC9\u9CD1\u9CD2\u9CDA\u9CDB\u9CE0\u9CE1\u9CCC", 4, "\u9CD3\u9CD4\u9CD5\u9CD7\u9CD8\u9CD9\u9CDC\u9CDD\u9CDF\u9CE2\u977C\u9785\u9791\u9792\u9794\u97AF\u97AB\u97A3\u97B2\u97B4\u9AB1\u9AB0\u9AB7\u9E58\u9AB6\u9ABA\u9ABC\u9AC1\u9AC0\u9AC5\u9AC2\u9ACB\u9ACC\u9AD1\u9B45\u9B43\u9B47\u9B49\u9B48\u9B4D\u9B51\u98E8\u990D\u992E\u9955\u9954\u9ADF\u9AE1\u9AE6\u9AEF\u9AEB\u9AFB\u9AED\u9AF9\u9B08\u9B0F\u9B13\u9B1F\u9B23\u9EBD\u9EBE\u7E3B\u9E82\u9E87\u9E88\u9E8B\u9E92\u93D6\u9E9D\u9E9F\u9EDB\u9EDC\u9EDD\u9EE0\u9EDF\u9EE2\u9EE9\u9EE7\u9EE5\u9EEA\u9EEF\u9F22\u9F2C\u9F2F\u9F39\u9F37\u9F3D\u9F3E\u9F44"], + ["f840", "\u9CE3", 62], + ["f880", "\u9D22", 32], + ["f940", "\u9D43", 62], + ["f980", "\u9D82", 32], + ["fa40", "\u9DA3", 62], + ["fa80", "\u9DE2", 32], + ["fb40", "\u9E03", 27, "\u9E24\u9E27\u9E2E\u9E30\u9E34\u9E3B\u9E3C\u9E40\u9E4D\u9E50\u9E52\u9E53\u9E54\u9E56\u9E59\u9E5D\u9E5F\u9E60\u9E61\u9E62\u9E65\u9E6E\u9E6F\u9E72\u9E74", 9, "\u9E80"], + ["fb80", "\u9E81\u9E83\u9E84\u9E85\u9E86\u9E89\u9E8A\u9E8C", 5, "\u9E94", 8, "\u9E9E\u9EA0", 5, "\u9EA7\u9EA8\u9EA9\u9EAA"], + ["fc40", "\u9EAB", 8, "\u9EB5\u9EB6\u9EB7\u9EB9\u9EBA\u9EBC\u9EBF", 4, "\u9EC5\u9EC6\u9EC7\u9EC8\u9ECA\u9ECB\u9ECC\u9ED0\u9ED2\u9ED3\u9ED5\u9ED6\u9ED7\u9ED9\u9EDA\u9EDE\u9EE1\u9EE3\u9EE4\u9EE6\u9EE8\u9EEB\u9EEC\u9EED\u9EEE\u9EF0", 8, "\u9EFA\u9EFD\u9EFF", 6], + ["fc80", "\u9F06", 4, "\u9F0C\u9F0F\u9F11\u9F12\u9F14\u9F15\u9F16\u9F18\u9F1A", 5, "\u9F21\u9F23", 8, "\u9F2D\u9F2E\u9F30\u9F31"], + ["fd40", "\u9F32", 4, "\u9F38\u9F3A\u9F3C\u9F3F", 4, "\u9F45", 10, "\u9F52", 38], + ["fd80", "\u9F79", 5, "\u9F81\u9F82\u9F8D", 11, "\u9F9C\u9F9D\u9F9E\u9FA1", 4, "\uF92C\uF979\uF995\uF9E7\uF9F1"], + ["fe40", "\uFA0C\uFA0D\uFA0E\uFA0F\uFA11\uFA13\uFA14\uFA18\uFA1F\uFA20\uFA21\uFA23\uFA24\uFA27\uFA28\uFA29"] + ]; + } +}); +var require_gbk_added2 = __commonJS2({ + "node_modules/body-parser/node_modules/iconv-lite/encodings/tables/gbk-added.json"(exports2, module2) { + module2.exports = [ + ["a140", "\uE4C6", 62], + ["a180", "\uE505", 32], + ["a240", "\uE526", 62], + ["a280", "\uE565", 32], + ["a2ab", "\uE766", 5], + ["a2e3", "\u20AC\uE76D"], + ["a2ef", "\uE76E\uE76F"], + ["a2fd", "\uE770\uE771"], + ["a340", "\uE586", 62], + ["a380", "\uE5C5", 31, "\u3000"], + ["a440", "\uE5E6", 62], + ["a480", "\uE625", 32], + ["a4f4", "\uE772", 10], + ["a540", "\uE646", 62], + ["a580", "\uE685", 32], + ["a5f7", "\uE77D", 7], + ["a640", "\uE6A6", 62], + ["a680", "\uE6E5", 32], + ["a6b9", "\uE785", 7], + ["a6d9", "\uE78D", 6], + ["a6ec", "\uE794\uE795"], + ["a6f3", "\uE796"], + ["a6f6", "\uE797", 8], + ["a740", "\uE706", 62], + ["a780", "\uE745", 32], + ["a7c2", "\uE7A0", 14], + ["a7f2", "\uE7AF", 12], + ["a896", "\uE7BC", 10], + ["a8bc", "\u1E3F"], + ["a8bf", "\u01F9"], + ["a8c1", "\uE7C9\uE7CA\uE7CB\uE7CC"], + ["a8ea", "\uE7CD", 20], + ["a958", "\uE7E2"], + ["a95b", "\uE7E3"], + ["a95d", "\uE7E4\uE7E5\uE7E6"], + ["a989", "\u303E\u2FF0", 11], + ["a997", "\uE7F4", 12], + ["a9f0", "\uE801", 14], + ["aaa1", "\uE000", 93], + ["aba1", "\uE05E", 93], + ["aca1", "\uE0BC", 93], + ["ada1", "\uE11A", 93], + ["aea1", "\uE178", 93], + ["afa1", "\uE1D6", 93], + ["d7fa", "\uE810", 4], + ["f8a1", "\uE234", 93], + ["f9a1", "\uE292", 93], + ["faa1", "\uE2F0", 93], + ["fba1", "\uE34E", 93], + ["fca1", "\uE3AC", 93], + ["fda1", "\uE40A", 93], + ["fe50", "\u2E81\uE816\uE817\uE818\u2E84\u3473\u3447\u2E88\u2E8B\uE81E\u359E\u361A\u360E\u2E8C\u2E97\u396E\u3918\uE826\u39CF\u39DF\u3A73\u39D0\uE82B\uE82C\u3B4E\u3C6E\u3CE0\u2EA7\uE831\uE832\u2EAA\u4056\u415F\u2EAE\u4337\u2EB3\u2EB6\u2EB7\uE83B\u43B1\u43AC\u2EBB\u43DD\u44D6\u4661\u464C\uE843"], + ["fe80", "\u4723\u4729\u477C\u478D\u2ECA\u4947\u497A\u497D\u4982\u4983\u4985\u4986\u499F\u499B\u49B7\u49B6\uE854\uE855\u4CA3\u4C9F\u4CA0\u4CA1\u4C77\u4CA2\u4D13", 6, "\u4DAE\uE864\uE468", 93], + ["8135f437", "\uE7C7"] + ]; + } +}); +var require_gb18030_ranges2 = __commonJS2({ + "node_modules/body-parser/node_modules/iconv-lite/encodings/tables/gb18030-ranges.json"(exports2, module2) { + module2.exports = { uChars: [128, 165, 169, 178, 184, 216, 226, 235, 238, 244, 248, 251, 253, 258, 276, 284, 300, 325, 329, 334, 364, 463, 465, 467, 469, 471, 473, 475, 477, 506, 594, 610, 712, 716, 730, 930, 938, 962, 970, 1026, 1104, 1106, 8209, 8215, 8218, 8222, 8231, 8241, 8244, 8246, 8252, 8365, 8452, 8454, 8458, 8471, 8482, 8556, 8570, 8596, 8602, 8713, 8720, 8722, 8726, 8731, 8737, 8740, 8742, 8748, 8751, 8760, 8766, 8777, 8781, 8787, 8802, 8808, 8816, 8854, 8858, 8870, 8896, 8979, 9322, 9372, 9548, 9588, 9616, 9622, 9634, 9652, 9662, 9672, 9676, 9680, 9702, 9735, 9738, 9793, 9795, 11906, 11909, 11913, 11917, 11928, 11944, 11947, 11951, 11956, 11960, 11964, 11979, 12284, 12292, 12312, 12319, 12330, 12351, 12436, 12447, 12535, 12543, 12586, 12842, 12850, 12964, 13200, 13215, 13218, 13253, 13263, 13267, 13270, 13384, 13428, 13727, 13839, 13851, 14617, 14703, 14801, 14816, 14964, 15183, 15471, 15585, 16471, 16736, 17208, 17325, 17330, 17374, 17623, 17997, 18018, 18212, 18218, 18301, 18318, 18760, 18811, 18814, 18820, 18823, 18844, 18848, 18872, 19576, 19620, 19738, 19887, 40870, 59244, 59336, 59367, 59413, 59417, 59423, 59431, 59437, 59443, 59452, 59460, 59478, 59493, 63789, 63866, 63894, 63976, 63986, 64016, 64018, 64021, 64025, 64034, 64037, 64042, 65074, 65093, 65107, 65112, 65127, 65132, 65375, 65510, 65536], gbChars: [0, 36, 38, 45, 50, 81, 89, 95, 96, 100, 103, 104, 105, 109, 126, 133, 148, 172, 175, 179, 208, 306, 307, 308, 309, 310, 311, 312, 313, 341, 428, 443, 544, 545, 558, 741, 742, 749, 750, 805, 819, 820, 7922, 7924, 7925, 7927, 7934, 7943, 7944, 7945, 7950, 8062, 8148, 8149, 8152, 8164, 8174, 8236, 8240, 8262, 8264, 8374, 8380, 8381, 8384, 8388, 8390, 8392, 8393, 8394, 8396, 8401, 8406, 8416, 8419, 8424, 8437, 8439, 8445, 8482, 8485, 8496, 8521, 8603, 8936, 8946, 9046, 9050, 9063, 9066, 9076, 9092, 9100, 9108, 9111, 9113, 9131, 9162, 9164, 9218, 9219, 11329, 11331, 11334, 11336, 11346, 11361, 11363, 11366, 11370, 11372, 11375, 11389, 11682, 11686, 11687, 11692, 11694, 11714, 11716, 11723, 11725, 11730, 11736, 11982, 11989, 12102, 12336, 12348, 12350, 12384, 12393, 12395, 12397, 12510, 12553, 12851, 12962, 12973, 13738, 13823, 13919, 13933, 14080, 14298, 14585, 14698, 15583, 15847, 16318, 16434, 16438, 16481, 16729, 17102, 17122, 17315, 17320, 17402, 17418, 17859, 17909, 17911, 17915, 17916, 17936, 17939, 17961, 18664, 18703, 18814, 18962, 19043, 33469, 33470, 33471, 33484, 33485, 33490, 33497, 33501, 33505, 33513, 33520, 33536, 33550, 37845, 37921, 37948, 38029, 38038, 38064, 38065, 38066, 38069, 38075, 38076, 38078, 39108, 39109, 39113, 39114, 39115, 39116, 39265, 39394, 189e3] }; + } +}); +var require_cp9492 = __commonJS2({ + "node_modules/body-parser/node_modules/iconv-lite/encodings/tables/cp949.json"(exports2, module2) { + module2.exports = [ + ["0", "\0", 127], + ["8141", "\uAC02\uAC03\uAC05\uAC06\uAC0B", 4, "\uAC18\uAC1E\uAC1F\uAC21\uAC22\uAC23\uAC25", 6, "\uAC2E\uAC32\uAC33\uAC34"], + ["8161", "\uAC35\uAC36\uAC37\uAC3A\uAC3B\uAC3D\uAC3E\uAC3F\uAC41", 9, "\uAC4C\uAC4E", 5, "\uAC55"], + ["8181", "\uAC56\uAC57\uAC59\uAC5A\uAC5B\uAC5D", 18, "\uAC72\uAC73\uAC75\uAC76\uAC79\uAC7B", 4, "\uAC82\uAC87\uAC88\uAC8D\uAC8E\uAC8F\uAC91\uAC92\uAC93\uAC95", 6, "\uAC9E\uACA2", 5, "\uACAB\uACAD\uACAE\uACB1", 6, "\uACBA\uACBE\uACBF\uACC0\uACC2\uACC3\uACC5\uACC6\uACC7\uACC9\uACCA\uACCB\uACCD", 7, "\uACD6\uACD8", 7, "\uACE2\uACE3\uACE5\uACE6\uACE9\uACEB\uACED\uACEE\uACF2\uACF4\uACF7", 4, "\uACFE\uACFF\uAD01\uAD02\uAD03\uAD05\uAD07", 4, "\uAD0E\uAD10\uAD12\uAD13"], + ["8241", "\uAD14\uAD15\uAD16\uAD17\uAD19\uAD1A\uAD1B\uAD1D\uAD1E\uAD1F\uAD21", 7, "\uAD2A\uAD2B\uAD2E", 5], + ["8261", "\uAD36\uAD37\uAD39\uAD3A\uAD3B\uAD3D", 6, "\uAD46\uAD48\uAD4A", 5, "\uAD51\uAD52\uAD53\uAD55\uAD56\uAD57"], + ["8281", "\uAD59", 7, "\uAD62\uAD64", 7, "\uAD6E\uAD6F\uAD71\uAD72\uAD77\uAD78\uAD79\uAD7A\uAD7E\uAD80\uAD83", 4, "\uAD8A\uAD8B\uAD8D\uAD8E\uAD8F\uAD91", 10, "\uAD9E", 5, "\uADA5", 17, "\uADB8", 7, "\uADC2\uADC3\uADC5\uADC6\uADC7\uADC9", 6, "\uADD2\uADD4", 7, "\uADDD\uADDE\uADDF\uADE1\uADE2\uADE3\uADE5", 18], + ["8341", "\uADFA\uADFB\uADFD\uADFE\uAE02", 5, "\uAE0A\uAE0C\uAE0E", 5, "\uAE15", 7], + ["8361", "\uAE1D", 18, "\uAE32\uAE33\uAE35\uAE36\uAE39\uAE3B\uAE3C"], + ["8381", "\uAE3D\uAE3E\uAE3F\uAE42\uAE44\uAE47\uAE48\uAE49\uAE4B\uAE4F\uAE51\uAE52\uAE53\uAE55\uAE57", 4, "\uAE5E\uAE62\uAE63\uAE64\uAE66\uAE67\uAE6A\uAE6B\uAE6D\uAE6E\uAE6F\uAE71", 6, "\uAE7A\uAE7E", 5, "\uAE86", 5, "\uAE8D", 46, "\uAEBF\uAEC1\uAEC2\uAEC3\uAEC5", 6, "\uAECE\uAED2", 5, "\uAEDA\uAEDB\uAEDD", 8], + ["8441", "\uAEE6\uAEE7\uAEE9\uAEEA\uAEEC\uAEEE", 5, "\uAEF5\uAEF6\uAEF7\uAEF9\uAEFA\uAEFB\uAEFD", 8], + ["8461", "\uAF06\uAF09\uAF0A\uAF0B\uAF0C\uAF0E\uAF0F\uAF11", 18], + ["8481", "\uAF24", 7, "\uAF2E\uAF2F\uAF31\uAF33\uAF35", 6, "\uAF3E\uAF40\uAF44\uAF45\uAF46\uAF47\uAF4A", 5, "\uAF51", 10, "\uAF5E", 5, "\uAF66", 18, "\uAF7A", 5, "\uAF81\uAF82\uAF83\uAF85\uAF86\uAF87\uAF89", 6, "\uAF92\uAF93\uAF94\uAF96", 5, "\uAF9D", 26, "\uAFBA\uAFBB\uAFBD\uAFBE"], + ["8541", "\uAFBF\uAFC1", 5, "\uAFCA\uAFCC\uAFCF", 4, "\uAFD5", 6, "\uAFDD", 4], + ["8561", "\uAFE2", 5, "\uAFEA", 5, "\uAFF2\uAFF3\uAFF5\uAFF6\uAFF7\uAFF9", 6, "\uB002\uB003"], + ["8581", "\uB005", 6, "\uB00D\uB00E\uB00F\uB011\uB012\uB013\uB015", 6, "\uB01E", 9, "\uB029", 26, "\uB046\uB047\uB049\uB04B\uB04D\uB04F\uB050\uB051\uB052\uB056\uB058\uB05A\uB05B\uB05C\uB05E", 29, "\uB07E\uB07F\uB081\uB082\uB083\uB085", 6, "\uB08E\uB090\uB092", 5, "\uB09B\uB09D\uB09E\uB0A3\uB0A4"], + ["8641", "\uB0A5\uB0A6\uB0A7\uB0AA\uB0B0\uB0B2\uB0B6\uB0B7\uB0B9\uB0BA\uB0BB\uB0BD", 6, "\uB0C6\uB0CA", 5, "\uB0D2"], + ["8661", "\uB0D3\uB0D5\uB0D6\uB0D7\uB0D9", 6, "\uB0E1\uB0E2\uB0E3\uB0E4\uB0E6", 10], + ["8681", "\uB0F1", 22, "\uB10A\uB10D\uB10E\uB10F\uB111\uB114\uB115\uB116\uB117\uB11A\uB11E", 4, "\uB126\uB127\uB129\uB12A\uB12B\uB12D", 6, "\uB136\uB13A", 5, "\uB142\uB143\uB145\uB146\uB147\uB149", 6, "\uB152\uB153\uB156\uB157\uB159\uB15A\uB15B\uB15D\uB15E\uB15F\uB161", 22, "\uB17A\uB17B\uB17D\uB17E\uB17F\uB181\uB183", 4, "\uB18A\uB18C\uB18E\uB18F\uB190\uB191\uB195\uB196\uB197\uB199\uB19A\uB19B\uB19D"], + ["8741", "\uB19E", 9, "\uB1A9", 15], + ["8761", "\uB1B9", 18, "\uB1CD\uB1CE\uB1CF\uB1D1\uB1D2\uB1D3\uB1D5"], + ["8781", "\uB1D6", 5, "\uB1DE\uB1E0", 7, "\uB1EA\uB1EB\uB1ED\uB1EE\uB1EF\uB1F1", 7, "\uB1FA\uB1FC\uB1FE", 5, "\uB206\uB207\uB209\uB20A\uB20D", 6, "\uB216\uB218\uB21A", 5, "\uB221", 18, "\uB235", 6, "\uB23D", 26, "\uB259\uB25A\uB25B\uB25D\uB25E\uB25F\uB261", 6, "\uB26A", 4], + ["8841", "\uB26F", 4, "\uB276", 5, "\uB27D", 6, "\uB286\uB287\uB288\uB28A", 4], + ["8861", "\uB28F\uB292\uB293\uB295\uB296\uB297\uB29B", 4, "\uB2A2\uB2A4\uB2A7\uB2A8\uB2A9\uB2AB\uB2AD\uB2AE\uB2AF\uB2B1\uB2B2\uB2B3\uB2B5\uB2B6\uB2B7"], + ["8881", "\uB2B8", 15, "\uB2CA\uB2CB\uB2CD\uB2CE\uB2CF\uB2D1\uB2D3", 4, "\uB2DA\uB2DC\uB2DE\uB2DF\uB2E0\uB2E1\uB2E3\uB2E7\uB2E9\uB2EA\uB2F0\uB2F1\uB2F2\uB2F6\uB2FC\uB2FD\uB2FE\uB302\uB303\uB305\uB306\uB307\uB309", 6, "\uB312\uB316", 5, "\uB31D", 54, "\uB357\uB359\uB35A\uB35D\uB360\uB361\uB362\uB363"], + ["8941", "\uB366\uB368\uB36A\uB36C\uB36D\uB36F\uB372\uB373\uB375\uB376\uB377\uB379", 6, "\uB382\uB386", 5, "\uB38D"], + ["8961", "\uB38E\uB38F\uB391\uB392\uB393\uB395", 10, "\uB3A2", 5, "\uB3A9\uB3AA\uB3AB\uB3AD"], + ["8981", "\uB3AE", 21, "\uB3C6\uB3C7\uB3C9\uB3CA\uB3CD\uB3CF\uB3D1\uB3D2\uB3D3\uB3D6\uB3D8\uB3DA\uB3DC\uB3DE\uB3DF\uB3E1\uB3E2\uB3E3\uB3E5\uB3E6\uB3E7\uB3E9", 18, "\uB3FD", 18, "\uB411", 6, "\uB419\uB41A\uB41B\uB41D\uB41E\uB41F\uB421", 6, "\uB42A\uB42C", 7, "\uB435", 15], + ["8a41", "\uB445", 10, "\uB452\uB453\uB455\uB456\uB457\uB459", 6, "\uB462\uB464\uB466"], + ["8a61", "\uB467", 4, "\uB46D", 18, "\uB481\uB482"], + ["8a81", "\uB483", 4, "\uB489", 19, "\uB49E", 5, "\uB4A5\uB4A6\uB4A7\uB4A9\uB4AA\uB4AB\uB4AD", 7, "\uB4B6\uB4B8\uB4BA", 5, "\uB4C1\uB4C2\uB4C3\uB4C5\uB4C6\uB4C7\uB4C9", 6, "\uB4D1\uB4D2\uB4D3\uB4D4\uB4D6", 5, "\uB4DE\uB4DF\uB4E1\uB4E2\uB4E5\uB4E7", 4, "\uB4EE\uB4F0\uB4F2", 5, "\uB4F9", 26, "\uB516\uB517\uB519\uB51A\uB51D"], + ["8b41", "\uB51E", 5, "\uB526\uB52B", 4, "\uB532\uB533\uB535\uB536\uB537\uB539", 6, "\uB542\uB546"], + ["8b61", "\uB547\uB548\uB549\uB54A\uB54E\uB54F\uB551\uB552\uB553\uB555", 6, "\uB55E\uB562", 8], + ["8b81", "\uB56B", 52, "\uB5A2\uB5A3\uB5A5\uB5A6\uB5A7\uB5A9\uB5AC\uB5AD\uB5AE\uB5AF\uB5B2\uB5B6", 4, "\uB5BE\uB5BF\uB5C1\uB5C2\uB5C3\uB5C5", 6, "\uB5CE\uB5D2", 5, "\uB5D9", 18, "\uB5ED", 18], + ["8c41", "\uB600", 15, "\uB612\uB613\uB615\uB616\uB617\uB619", 4], + ["8c61", "\uB61E", 6, "\uB626", 5, "\uB62D", 6, "\uB635", 5], + ["8c81", "\uB63B", 12, "\uB649", 26, "\uB665\uB666\uB667\uB669", 50, "\uB69E\uB69F\uB6A1\uB6A2\uB6A3\uB6A5", 5, "\uB6AD\uB6AE\uB6AF\uB6B0\uB6B2", 16], + ["8d41", "\uB6C3", 16, "\uB6D5", 8], + ["8d61", "\uB6DE", 17, "\uB6F1\uB6F2\uB6F3\uB6F5\uB6F6\uB6F7\uB6F9\uB6FA"], + ["8d81", "\uB6FB", 4, "\uB702\uB703\uB704\uB706", 33, "\uB72A\uB72B\uB72D\uB72E\uB731", 6, "\uB73A\uB73C", 7, "\uB745\uB746\uB747\uB749\uB74A\uB74B\uB74D", 6, "\uB756", 9, "\uB761\uB762\uB763\uB765\uB766\uB767\uB769", 6, "\uB772\uB774\uB776", 5, "\uB77E\uB77F\uB781\uB782\uB783\uB785", 6, "\uB78E\uB793\uB794\uB795\uB79A\uB79B\uB79D\uB79E"], + ["8e41", "\uB79F\uB7A1", 6, "\uB7AA\uB7AE", 5, "\uB7B6\uB7B7\uB7B9", 8], + ["8e61", "\uB7C2", 4, "\uB7C8\uB7CA", 19], + ["8e81", "\uB7DE", 13, "\uB7EE\uB7EF\uB7F1\uB7F2\uB7F3\uB7F5", 6, "\uB7FE\uB802", 4, "\uB80A\uB80B\uB80D\uB80E\uB80F\uB811", 6, "\uB81A\uB81C\uB81E", 5, "\uB826\uB827\uB829\uB82A\uB82B\uB82D", 6, "\uB836\uB83A", 5, "\uB841\uB842\uB843\uB845", 11, "\uB852\uB854", 7, "\uB85E\uB85F\uB861\uB862\uB863\uB865", 6, "\uB86E\uB870\uB872", 5, "\uB879\uB87A\uB87B\uB87D", 7], + ["8f41", "\uB885", 7, "\uB88E", 17], + ["8f61", "\uB8A0", 7, "\uB8A9", 6, "\uB8B1\uB8B2\uB8B3\uB8B5\uB8B6\uB8B7\uB8B9", 4], + ["8f81", "\uB8BE\uB8BF\uB8C2\uB8C4\uB8C6", 5, "\uB8CD\uB8CE\uB8CF\uB8D1\uB8D2\uB8D3\uB8D5", 7, "\uB8DE\uB8E0\uB8E2", 5, "\uB8EA\uB8EB\uB8ED\uB8EE\uB8EF\uB8F1", 6, "\uB8FA\uB8FC\uB8FE", 5, "\uB905", 18, "\uB919", 6, "\uB921", 26, "\uB93E\uB93F\uB941\uB942\uB943\uB945", 6, "\uB94D\uB94E\uB950\uB952", 5], + ["9041", "\uB95A\uB95B\uB95D\uB95E\uB95F\uB961", 6, "\uB96A\uB96C\uB96E", 5, "\uB976\uB977\uB979\uB97A\uB97B\uB97D"], + ["9061", "\uB97E", 5, "\uB986\uB988\uB98B\uB98C\uB98F", 15], + ["9081", "\uB99F", 12, "\uB9AE\uB9AF\uB9B1\uB9B2\uB9B3\uB9B5", 6, "\uB9BE\uB9C0\uB9C2", 5, "\uB9CA\uB9CB\uB9CD\uB9D3", 4, "\uB9DA\uB9DC\uB9DF\uB9E0\uB9E2\uB9E6\uB9E7\uB9E9\uB9EA\uB9EB\uB9ED", 6, "\uB9F6\uB9FB", 4, "\uBA02", 5, "\uBA09", 11, "\uBA16", 33, "\uBA3A\uBA3B\uBA3D\uBA3E\uBA3F\uBA41\uBA43\uBA44\uBA45\uBA46"], + ["9141", "\uBA47\uBA4A\uBA4C\uBA4F\uBA50\uBA51\uBA52\uBA56\uBA57\uBA59\uBA5A\uBA5B\uBA5D", 6, "\uBA66\uBA6A", 5], + ["9161", "\uBA72\uBA73\uBA75\uBA76\uBA77\uBA79", 9, "\uBA86\uBA88\uBA89\uBA8A\uBA8B\uBA8D", 5], + ["9181", "\uBA93", 20, "\uBAAA\uBAAD\uBAAE\uBAAF\uBAB1\uBAB3", 4, "\uBABA\uBABC\uBABE", 5, "\uBAC5\uBAC6\uBAC7\uBAC9", 14, "\uBADA", 33, "\uBAFD\uBAFE\uBAFF\uBB01\uBB02\uBB03\uBB05", 7, "\uBB0E\uBB10\uBB12", 5, "\uBB19\uBB1A\uBB1B\uBB1D\uBB1E\uBB1F\uBB21", 6], + ["9241", "\uBB28\uBB2A\uBB2C", 7, "\uBB37\uBB39\uBB3A\uBB3F", 4, "\uBB46\uBB48\uBB4A\uBB4B\uBB4C\uBB4E\uBB51\uBB52"], + ["9261", "\uBB53\uBB55\uBB56\uBB57\uBB59", 7, "\uBB62\uBB64", 7, "\uBB6D", 4], + ["9281", "\uBB72", 21, "\uBB89\uBB8A\uBB8B\uBB8D\uBB8E\uBB8F\uBB91", 18, "\uBBA5\uBBA6\uBBA7\uBBA9\uBBAA\uBBAB\uBBAD", 6, "\uBBB5\uBBB6\uBBB8", 7, "\uBBC1\uBBC2\uBBC3\uBBC5\uBBC6\uBBC7\uBBC9", 6, "\uBBD1\uBBD2\uBBD4", 35, "\uBBFA\uBBFB\uBBFD\uBBFE\uBC01"], + ["9341", "\uBC03", 4, "\uBC0A\uBC0E\uBC10\uBC12\uBC13\uBC19\uBC1A\uBC20\uBC21\uBC22\uBC23\uBC26\uBC28\uBC2A\uBC2B\uBC2C\uBC2E\uBC2F\uBC32\uBC33\uBC35"], + ["9361", "\uBC36\uBC37\uBC39", 6, "\uBC42\uBC46\uBC47\uBC48\uBC4A\uBC4B\uBC4E\uBC4F\uBC51", 8], + ["9381", "\uBC5A\uBC5B\uBC5C\uBC5E", 37, "\uBC86\uBC87\uBC89\uBC8A\uBC8D\uBC8F", 4, "\uBC96\uBC98\uBC9B", 4, "\uBCA2\uBCA3\uBCA5\uBCA6\uBCA9", 6, "\uBCB2\uBCB6", 5, "\uBCBE\uBCBF\uBCC1\uBCC2\uBCC3\uBCC5", 7, "\uBCCE\uBCD2\uBCD3\uBCD4\uBCD6\uBCD7\uBCD9\uBCDA\uBCDB\uBCDD", 22, "\uBCF7\uBCF9\uBCFA\uBCFB\uBCFD"], + ["9441", "\uBCFE", 5, "\uBD06\uBD08\uBD0A", 5, "\uBD11\uBD12\uBD13\uBD15", 8], + ["9461", "\uBD1E", 5, "\uBD25", 6, "\uBD2D", 12], + ["9481", "\uBD3A", 5, "\uBD41", 6, "\uBD4A\uBD4B\uBD4D\uBD4E\uBD4F\uBD51", 6, "\uBD5A", 9, "\uBD65\uBD66\uBD67\uBD69", 22, "\uBD82\uBD83\uBD85\uBD86\uBD8B", 4, "\uBD92\uBD94\uBD96\uBD97\uBD98\uBD9B\uBD9D", 6, "\uBDA5", 10, "\uBDB1", 6, "\uBDB9", 24], + ["9541", "\uBDD2\uBDD3\uBDD6\uBDD7\uBDD9\uBDDA\uBDDB\uBDDD", 11, "\uBDEA", 5, "\uBDF1"], + ["9561", "\uBDF2\uBDF3\uBDF5\uBDF6\uBDF7\uBDF9", 6, "\uBE01\uBE02\uBE04\uBE06", 5, "\uBE0E\uBE0F\uBE11\uBE12\uBE13"], + ["9581", "\uBE15", 6, "\uBE1E\uBE20", 35, "\uBE46\uBE47\uBE49\uBE4A\uBE4B\uBE4D\uBE4F", 4, "\uBE56\uBE58\uBE5C\uBE5D\uBE5E\uBE5F\uBE62\uBE63\uBE65\uBE66\uBE67\uBE69\uBE6B", 4, "\uBE72\uBE76", 4, "\uBE7E\uBE7F\uBE81\uBE82\uBE83\uBE85", 6, "\uBE8E\uBE92", 5, "\uBE9A", 13, "\uBEA9", 14], + ["9641", "\uBEB8", 23, "\uBED2\uBED3"], + ["9661", "\uBED5\uBED6\uBED9", 6, "\uBEE1\uBEE2\uBEE6", 5, "\uBEED", 8], + ["9681", "\uBEF6", 10, "\uBF02", 5, "\uBF0A", 13, "\uBF1A\uBF1E", 33, "\uBF42\uBF43\uBF45\uBF46\uBF47\uBF49", 6, "\uBF52\uBF53\uBF54\uBF56", 44], + ["9741", "\uBF83", 16, "\uBF95", 8], + ["9761", "\uBF9E", 17, "\uBFB1", 7], + ["9781", "\uBFB9", 11, "\uBFC6", 5, "\uBFCE\uBFCF\uBFD1\uBFD2\uBFD3\uBFD5", 6, "\uBFDD\uBFDE\uBFE0\uBFE2", 89, "\uC03D\uC03E\uC03F"], + ["9841", "\uC040", 16, "\uC052", 5, "\uC059\uC05A\uC05B"], + ["9861", "\uC05D\uC05E\uC05F\uC061", 6, "\uC06A", 15], + ["9881", "\uC07A", 21, "\uC092\uC093\uC095\uC096\uC097\uC099", 6, "\uC0A2\uC0A4\uC0A6", 5, "\uC0AE\uC0B1\uC0B2\uC0B7", 4, "\uC0BE\uC0C2\uC0C3\uC0C4\uC0C6\uC0C7\uC0CA\uC0CB\uC0CD\uC0CE\uC0CF\uC0D1", 6, "\uC0DA\uC0DE", 5, "\uC0E6\uC0E7\uC0E9\uC0EA\uC0EB\uC0ED", 6, "\uC0F6\uC0F8\uC0FA", 5, "\uC101\uC102\uC103\uC105\uC106\uC107\uC109", 6, "\uC111\uC112\uC113\uC114\uC116", 5, "\uC121\uC122\uC125\uC128\uC129\uC12A\uC12B\uC12E"], + ["9941", "\uC132\uC133\uC134\uC135\uC137\uC13A\uC13B\uC13D\uC13E\uC13F\uC141", 6, "\uC14A\uC14E", 5, "\uC156\uC157"], + ["9961", "\uC159\uC15A\uC15B\uC15D", 6, "\uC166\uC16A", 5, "\uC171\uC172\uC173\uC175\uC176\uC177\uC179\uC17A\uC17B"], + ["9981", "\uC17C", 8, "\uC186", 5, "\uC18F\uC191\uC192\uC193\uC195\uC197", 4, "\uC19E\uC1A0\uC1A2\uC1A3\uC1A4\uC1A6\uC1A7\uC1AA\uC1AB\uC1AD\uC1AE\uC1AF\uC1B1", 11, "\uC1BE", 5, "\uC1C5\uC1C6\uC1C7\uC1C9\uC1CA\uC1CB\uC1CD", 6, "\uC1D5\uC1D6\uC1D9", 6, "\uC1E1\uC1E2\uC1E3\uC1E5\uC1E6\uC1E7\uC1E9", 6, "\uC1F2\uC1F4", 7, "\uC1FE\uC1FF\uC201\uC202\uC203\uC205", 6, "\uC20E\uC210\uC212", 5, "\uC21A\uC21B\uC21D\uC21E\uC221\uC222\uC223"], + ["9a41", "\uC224\uC225\uC226\uC227\uC22A\uC22C\uC22E\uC230\uC233\uC235", 16], + ["9a61", "\uC246\uC247\uC249", 6, "\uC252\uC253\uC255\uC256\uC257\uC259", 6, "\uC261\uC262\uC263\uC264\uC266"], + ["9a81", "\uC267", 4, "\uC26E\uC26F\uC271\uC272\uC273\uC275", 6, "\uC27E\uC280\uC282", 5, "\uC28A", 5, "\uC291", 6, "\uC299\uC29A\uC29C\uC29E", 5, "\uC2A6\uC2A7\uC2A9\uC2AA\uC2AB\uC2AE", 5, "\uC2B6\uC2B8\uC2BA", 33, "\uC2DE\uC2DF\uC2E1\uC2E2\uC2E5", 5, "\uC2EE\uC2F0\uC2F2\uC2F3\uC2F4\uC2F5\uC2F7\uC2FA\uC2FD\uC2FE\uC2FF\uC301", 6, "\uC30A\uC30B\uC30E\uC30F"], + ["9b41", "\uC310\uC311\uC312\uC316\uC317\uC319\uC31A\uC31B\uC31D", 6, "\uC326\uC327\uC32A", 8], + ["9b61", "\uC333", 17, "\uC346", 7], + ["9b81", "\uC34E", 25, "\uC36A\uC36B\uC36D\uC36E\uC36F\uC371\uC373", 4, "\uC37A\uC37B\uC37E", 5, "\uC385\uC386\uC387\uC389\uC38A\uC38B\uC38D", 50, "\uC3C1", 22, "\uC3DA"], + ["9c41", "\uC3DB\uC3DD\uC3DE\uC3E1\uC3E3", 4, "\uC3EA\uC3EB\uC3EC\uC3EE", 5, "\uC3F6\uC3F7\uC3F9", 5], + ["9c61", "\uC3FF", 8, "\uC409", 6, "\uC411", 9], + ["9c81", "\uC41B", 8, "\uC425", 6, "\uC42D\uC42E\uC42F\uC431\uC432\uC433\uC435", 6, "\uC43E", 9, "\uC449", 26, "\uC466\uC467\uC469\uC46A\uC46B\uC46D", 6, "\uC476\uC477\uC478\uC47A", 5, "\uC481", 18, "\uC495", 6, "\uC49D", 12], + ["9d41", "\uC4AA", 13, "\uC4B9\uC4BA\uC4BB\uC4BD", 8], + ["9d61", "\uC4C6", 25], + ["9d81", "\uC4E0", 8, "\uC4EA", 5, "\uC4F2\uC4F3\uC4F5\uC4F6\uC4F7\uC4F9\uC4FB\uC4FC\uC4FD\uC4FE\uC502", 9, "\uC50D\uC50E\uC50F\uC511\uC512\uC513\uC515", 6, "\uC51D", 10, "\uC52A\uC52B\uC52D\uC52E\uC52F\uC531", 6, "\uC53A\uC53C\uC53E", 5, "\uC546\uC547\uC54B\uC54F\uC550\uC551\uC552\uC556\uC55A\uC55B\uC55C\uC55F\uC562\uC563\uC565\uC566\uC567\uC569", 6, "\uC572\uC576", 5, "\uC57E\uC57F\uC581\uC582\uC583\uC585\uC586\uC588\uC589\uC58A\uC58B\uC58E\uC590\uC592\uC593\uC594"], + ["9e41", "\uC596\uC599\uC59A\uC59B\uC59D\uC59E\uC59F\uC5A1", 7, "\uC5AA", 9, "\uC5B6"], + ["9e61", "\uC5B7\uC5BA\uC5BF", 4, "\uC5CB\uC5CD\uC5CF\uC5D2\uC5D3\uC5D5\uC5D6\uC5D7\uC5D9", 6, "\uC5E2\uC5E4\uC5E6\uC5E7"], + ["9e81", "\uC5E8\uC5E9\uC5EA\uC5EB\uC5EF\uC5F1\uC5F2\uC5F3\uC5F5\uC5F8\uC5F9\uC5FA\uC5FB\uC602\uC603\uC604\uC609\uC60A\uC60B\uC60D\uC60E\uC60F\uC611", 6, "\uC61A\uC61D", 6, "\uC626\uC627\uC629\uC62A\uC62B\uC62F\uC631\uC632\uC636\uC638\uC63A\uC63C\uC63D\uC63E\uC63F\uC642\uC643\uC645\uC646\uC647\uC649", 6, "\uC652\uC656", 5, "\uC65E\uC65F\uC661", 10, "\uC66D\uC66E\uC670\uC672", 5, "\uC67A\uC67B\uC67D\uC67E\uC67F\uC681", 6, "\uC68A\uC68C\uC68E", 5, "\uC696\uC697\uC699\uC69A\uC69B\uC69D", 6, "\uC6A6"], + ["9f41", "\uC6A8\uC6AA", 5, "\uC6B2\uC6B3\uC6B5\uC6B6\uC6B7\uC6BB", 4, "\uC6C2\uC6C4\uC6C6", 5, "\uC6CE"], + ["9f61", "\uC6CF\uC6D1\uC6D2\uC6D3\uC6D5", 6, "\uC6DE\uC6DF\uC6E2", 5, "\uC6EA\uC6EB\uC6ED\uC6EE\uC6EF\uC6F1\uC6F2"], + ["9f81", "\uC6F3", 4, "\uC6FA\uC6FB\uC6FC\uC6FE", 5, "\uC706\uC707\uC709\uC70A\uC70B\uC70D", 6, "\uC716\uC718\uC71A", 5, "\uC722\uC723\uC725\uC726\uC727\uC729", 6, "\uC732\uC734\uC736\uC738\uC739\uC73A\uC73B\uC73E\uC73F\uC741\uC742\uC743\uC745", 4, "\uC74B\uC74E\uC750\uC759\uC75A\uC75B\uC75D\uC75E\uC75F\uC761", 6, "\uC769\uC76A\uC76C", 7, "\uC776\uC777\uC779\uC77A\uC77B\uC77F\uC780\uC781\uC782\uC786\uC78B\uC78C\uC78D\uC78F\uC792\uC793\uC795\uC799\uC79B", 4, "\uC7A2\uC7A7", 4, "\uC7AE\uC7AF\uC7B1\uC7B2\uC7B3\uC7B5\uC7B6\uC7B7"], + ["a041", "\uC7B8\uC7B9\uC7BA\uC7BB\uC7BE\uC7C2", 5, "\uC7CA\uC7CB\uC7CD\uC7CF\uC7D1", 6, "\uC7D9\uC7DA\uC7DB\uC7DC"], + ["a061", "\uC7DE", 5, "\uC7E5\uC7E6\uC7E7\uC7E9\uC7EA\uC7EB\uC7ED", 13], + ["a081", "\uC7FB", 4, "\uC802\uC803\uC805\uC806\uC807\uC809\uC80B", 4, "\uC812\uC814\uC817", 4, "\uC81E\uC81F\uC821\uC822\uC823\uC825", 6, "\uC82E\uC830\uC832", 5, "\uC839\uC83A\uC83B\uC83D\uC83E\uC83F\uC841", 6, "\uC84A\uC84B\uC84E", 5, "\uC855", 26, "\uC872\uC873\uC875\uC876\uC877\uC879\uC87B", 4, "\uC882\uC884\uC888\uC889\uC88A\uC88E", 5, "\uC895", 7, "\uC89E\uC8A0\uC8A2\uC8A3\uC8A4"], + ["a141", "\uC8A5\uC8A6\uC8A7\uC8A9", 18, "\uC8BE\uC8BF\uC8C0\uC8C1"], + ["a161", "\uC8C2\uC8C3\uC8C5\uC8C6\uC8C7\uC8C9\uC8CA\uC8CB\uC8CD", 6, "\uC8D6\uC8D8\uC8DA", 5, "\uC8E2\uC8E3\uC8E5"], + ["a181", "\uC8E6", 14, "\uC8F6", 5, "\uC8FE\uC8FF\uC901\uC902\uC903\uC907", 4, "\uC90E\u3000\u3001\u3002\xB7\u2025\u2026\xA8\u3003\xAD\u2015\u2225\uFF3C\u223C\u2018\u2019\u201C\u201D\u3014\u3015\u3008", 9, "\xB1\xD7\xF7\u2260\u2264\u2265\u221E\u2234\xB0\u2032\u2033\u2103\u212B\uFFE0\uFFE1\uFFE5\u2642\u2640\u2220\u22A5\u2312\u2202\u2207\u2261\u2252\xA7\u203B\u2606\u2605\u25CB\u25CF\u25CE\u25C7\u25C6\u25A1\u25A0\u25B3\u25B2\u25BD\u25BC\u2192\u2190\u2191\u2193\u2194\u3013\u226A\u226B\u221A\u223D\u221D\u2235\u222B\u222C\u2208\u220B\u2286\u2287\u2282\u2283\u222A\u2229\u2227\u2228\uFFE2"], + ["a241", "\uC910\uC912", 5, "\uC919", 18], + ["a261", "\uC92D", 6, "\uC935", 18], + ["a281", "\uC948", 7, "\uC952\uC953\uC955\uC956\uC957\uC959", 6, "\uC962\uC964", 7, "\uC96D\uC96E\uC96F\u21D2\u21D4\u2200\u2203\xB4\uFF5E\u02C7\u02D8\u02DD\u02DA\u02D9\xB8\u02DB\xA1\xBF\u02D0\u222E\u2211\u220F\xA4\u2109\u2030\u25C1\u25C0\u25B7\u25B6\u2664\u2660\u2661\u2665\u2667\u2663\u2299\u25C8\u25A3\u25D0\u25D1\u2592\u25A4\u25A5\u25A8\u25A7\u25A6\u25A9\u2668\u260F\u260E\u261C\u261E\xB6\u2020\u2021\u2195\u2197\u2199\u2196\u2198\u266D\u2669\u266A\u266C\u327F\u321C\u2116\u33C7\u2122\u33C2\u33D8\u2121\u20AC\xAE"], + ["a341", "\uC971\uC972\uC973\uC975", 6, "\uC97D", 10, "\uC98A\uC98B\uC98D\uC98E\uC98F"], + ["a361", "\uC991", 6, "\uC99A\uC99C\uC99E", 16], + ["a381", "\uC9AF", 16, "\uC9C2\uC9C3\uC9C5\uC9C6\uC9C9\uC9CB", 4, "\uC9D2\uC9D4\uC9D7\uC9D8\uC9DB\uFF01", 58, "\uFFE6\uFF3D", 32, "\uFFE3"], + ["a441", "\uC9DE\uC9DF\uC9E1\uC9E3\uC9E5\uC9E6\uC9E8\uC9E9\uC9EA\uC9EB\uC9EE\uC9F2", 5, "\uC9FA\uC9FB\uC9FD\uC9FE\uC9FF\uCA01\uCA02\uCA03\uCA04"], + ["a461", "\uCA05\uCA06\uCA07\uCA0A\uCA0E", 5, "\uCA15\uCA16\uCA17\uCA19", 12], + ["a481", "\uCA26\uCA27\uCA28\uCA2A", 28, "\u3131", 93], + ["a541", "\uCA47", 4, "\uCA4E\uCA4F\uCA51\uCA52\uCA53\uCA55", 6, "\uCA5E\uCA62", 5, "\uCA69\uCA6A"], + ["a561", "\uCA6B", 17, "\uCA7E", 5, "\uCA85\uCA86"], + ["a581", "\uCA87", 16, "\uCA99", 14, "\u2170", 9], + ["a5b0", "\u2160", 9], + ["a5c1", "\u0391", 16, "\u03A3", 6], + ["a5e1", "\u03B1", 16, "\u03C3", 6], + ["a641", "\uCAA8", 19, "\uCABE\uCABF\uCAC1\uCAC2\uCAC3\uCAC5"], + ["a661", "\uCAC6", 5, "\uCACE\uCAD0\uCAD2\uCAD4\uCAD5\uCAD6\uCAD7\uCADA", 5, "\uCAE1", 6], + ["a681", "\uCAE8\uCAE9\uCAEA\uCAEB\uCAED", 6, "\uCAF5", 18, "\uCB09\uCB0A\u2500\u2502\u250C\u2510\u2518\u2514\u251C\u252C\u2524\u2534\u253C\u2501\u2503\u250F\u2513\u251B\u2517\u2523\u2533\u252B\u253B\u254B\u2520\u252F\u2528\u2537\u253F\u251D\u2530\u2525\u2538\u2542\u2512\u2511\u251A\u2519\u2516\u2515\u250E\u250D\u251E\u251F\u2521\u2522\u2526\u2527\u2529\u252A\u252D\u252E\u2531\u2532\u2535\u2536\u2539\u253A\u253D\u253E\u2540\u2541\u2543", 7], + ["a741", "\uCB0B", 4, "\uCB11\uCB12\uCB13\uCB15\uCB16\uCB17\uCB19", 6, "\uCB22", 7], + ["a761", "\uCB2A", 22, "\uCB42\uCB43\uCB44"], + ["a781", "\uCB45\uCB46\uCB47\uCB4A\uCB4B\uCB4D\uCB4E\uCB4F\uCB51", 6, "\uCB5A\uCB5B\uCB5C\uCB5E", 5, "\uCB65", 7, "\u3395\u3396\u3397\u2113\u3398\u33C4\u33A3\u33A4\u33A5\u33A6\u3399", 9, "\u33CA\u338D\u338E\u338F\u33CF\u3388\u3389\u33C8\u33A7\u33A8\u33B0", 9, "\u3380", 4, "\u33BA", 5, "\u3390", 4, "\u2126\u33C0\u33C1\u338A\u338B\u338C\u33D6\u33C5\u33AD\u33AE\u33AF\u33DB\u33A9\u33AA\u33AB\u33AC\u33DD\u33D0\u33D3\u33C3\u33C9\u33DC\u33C6"], + ["a841", "\uCB6D", 10, "\uCB7A", 14], + ["a861", "\uCB89", 18, "\uCB9D", 6], + ["a881", "\uCBA4", 19, "\uCBB9", 11, "\xC6\xD0\xAA\u0126"], + ["a8a6", "\u0132"], + ["a8a8", "\u013F\u0141\xD8\u0152\xBA\xDE\u0166\u014A"], + ["a8b1", "\u3260", 27, "\u24D0", 25, "\u2460", 14, "\xBD\u2153\u2154\xBC\xBE\u215B\u215C\u215D\u215E"], + ["a941", "\uCBC5", 14, "\uCBD5", 10], + ["a961", "\uCBE0\uCBE1\uCBE2\uCBE3\uCBE5\uCBE6\uCBE8\uCBEA", 18], + ["a981", "\uCBFD", 14, "\uCC0E\uCC0F\uCC11\uCC12\uCC13\uCC15", 6, "\uCC1E\uCC1F\uCC20\uCC23\uCC24\xE6\u0111\xF0\u0127\u0131\u0133\u0138\u0140\u0142\xF8\u0153\xDF\xFE\u0167\u014B\u0149\u3200", 27, "\u249C", 25, "\u2474", 14, "\xB9\xB2\xB3\u2074\u207F\u2081\u2082\u2083\u2084"], + ["aa41", "\uCC25\uCC26\uCC2A\uCC2B\uCC2D\uCC2F\uCC31", 6, "\uCC3A\uCC3F", 4, "\uCC46\uCC47\uCC49\uCC4A\uCC4B\uCC4D\uCC4E"], + ["aa61", "\uCC4F", 4, "\uCC56\uCC5A", 5, "\uCC61\uCC62\uCC63\uCC65\uCC67\uCC69", 6, "\uCC71\uCC72"], + ["aa81", "\uCC73\uCC74\uCC76", 29, "\u3041", 82], + ["ab41", "\uCC94\uCC95\uCC96\uCC97\uCC9A\uCC9B\uCC9D\uCC9E\uCC9F\uCCA1", 6, "\uCCAA\uCCAE", 5, "\uCCB6\uCCB7\uCCB9"], + ["ab61", "\uCCBA\uCCBB\uCCBD", 6, "\uCCC6\uCCC8\uCCCA", 5, "\uCCD1\uCCD2\uCCD3\uCCD5", 5], + ["ab81", "\uCCDB", 8, "\uCCE5", 6, "\uCCED\uCCEE\uCCEF\uCCF1", 12, "\u30A1", 85], + ["ac41", "\uCCFE\uCCFF\uCD00\uCD02", 5, "\uCD0A\uCD0B\uCD0D\uCD0E\uCD0F\uCD11", 6, "\uCD1A\uCD1C\uCD1E\uCD1F\uCD20"], + ["ac61", "\uCD21\uCD22\uCD23\uCD25\uCD26\uCD27\uCD29\uCD2A\uCD2B\uCD2D", 11, "\uCD3A", 4], + ["ac81", "\uCD3F", 28, "\uCD5D\uCD5E\uCD5F\u0410", 5, "\u0401\u0416", 25], + ["acd1", "\u0430", 5, "\u0451\u0436", 25], + ["ad41", "\uCD61\uCD62\uCD63\uCD65", 6, "\uCD6E\uCD70\uCD72", 5, "\uCD79", 7], + ["ad61", "\uCD81", 6, "\uCD89", 10, "\uCD96\uCD97\uCD99\uCD9A\uCD9B\uCD9D\uCD9E\uCD9F"], + ["ad81", "\uCDA0\uCDA1\uCDA2\uCDA3\uCDA6\uCDA8\uCDAA", 5, "\uCDB1", 18, "\uCDC5"], + ["ae41", "\uCDC6", 5, "\uCDCD\uCDCE\uCDCF\uCDD1", 16], + ["ae61", "\uCDE2", 5, "\uCDE9\uCDEA\uCDEB\uCDED\uCDEE\uCDEF\uCDF1", 6, "\uCDFA\uCDFC\uCDFE", 4], + ["ae81", "\uCE03\uCE05\uCE06\uCE07\uCE09\uCE0A\uCE0B\uCE0D", 6, "\uCE15\uCE16\uCE17\uCE18\uCE1A", 5, "\uCE22\uCE23\uCE25\uCE26\uCE27\uCE29\uCE2A\uCE2B"], + ["af41", "\uCE2C\uCE2D\uCE2E\uCE2F\uCE32\uCE34\uCE36", 19], + ["af61", "\uCE4A", 13, "\uCE5A\uCE5B\uCE5D\uCE5E\uCE62", 5, "\uCE6A\uCE6C"], + ["af81", "\uCE6E", 5, "\uCE76\uCE77\uCE79\uCE7A\uCE7B\uCE7D", 6, "\uCE86\uCE88\uCE8A", 5, "\uCE92\uCE93\uCE95\uCE96\uCE97\uCE99"], + ["b041", "\uCE9A", 5, "\uCEA2\uCEA6", 5, "\uCEAE", 12], + ["b061", "\uCEBB", 5, "\uCEC2", 19], + ["b081", "\uCED6", 13, "\uCEE6\uCEE7\uCEE9\uCEEA\uCEED", 6, "\uCEF6\uCEFA", 5, "\uAC00\uAC01\uAC04\uAC07\uAC08\uAC09\uAC0A\uAC10", 7, "\uAC19", 4, "\uAC20\uAC24\uAC2C\uAC2D\uAC2F\uAC30\uAC31\uAC38\uAC39\uAC3C\uAC40\uAC4B\uAC4D\uAC54\uAC58\uAC5C\uAC70\uAC71\uAC74\uAC77\uAC78\uAC7A\uAC80\uAC81\uAC83\uAC84\uAC85\uAC86\uAC89\uAC8A\uAC8B\uAC8C\uAC90\uAC94\uAC9C\uAC9D\uAC9F\uACA0\uACA1\uACA8\uACA9\uACAA\uACAC\uACAF\uACB0\uACB8\uACB9\uACBB\uACBC\uACBD\uACC1\uACC4\uACC8\uACCC\uACD5\uACD7\uACE0\uACE1\uACE4\uACE7\uACE8\uACEA\uACEC\uACEF\uACF0\uACF1\uACF3\uACF5\uACF6\uACFC\uACFD\uAD00\uAD04\uAD06"], + ["b141", "\uCF02\uCF03\uCF05\uCF06\uCF07\uCF09", 6, "\uCF12\uCF14\uCF16", 5, "\uCF1D\uCF1E\uCF1F\uCF21\uCF22\uCF23"], + ["b161", "\uCF25", 6, "\uCF2E\uCF32", 5, "\uCF39", 11], + ["b181", "\uCF45", 14, "\uCF56\uCF57\uCF59\uCF5A\uCF5B\uCF5D", 6, "\uCF66\uCF68\uCF6A\uCF6B\uCF6C\uAD0C\uAD0D\uAD0F\uAD11\uAD18\uAD1C\uAD20\uAD29\uAD2C\uAD2D\uAD34\uAD35\uAD38\uAD3C\uAD44\uAD45\uAD47\uAD49\uAD50\uAD54\uAD58\uAD61\uAD63\uAD6C\uAD6D\uAD70\uAD73\uAD74\uAD75\uAD76\uAD7B\uAD7C\uAD7D\uAD7F\uAD81\uAD82\uAD88\uAD89\uAD8C\uAD90\uAD9C\uAD9D\uADA4\uADB7\uADC0\uADC1\uADC4\uADC8\uADD0\uADD1\uADD3\uADDC\uADE0\uADE4\uADF8\uADF9\uADFC\uADFF\uAE00\uAE01\uAE08\uAE09\uAE0B\uAE0D\uAE14\uAE30\uAE31\uAE34\uAE37\uAE38\uAE3A\uAE40\uAE41\uAE43\uAE45\uAE46\uAE4A\uAE4C\uAE4D\uAE4E\uAE50\uAE54\uAE56\uAE5C\uAE5D\uAE5F\uAE60\uAE61\uAE65\uAE68\uAE69\uAE6C\uAE70\uAE78"], + ["b241", "\uCF6D\uCF6E\uCF6F\uCF72\uCF73\uCF75\uCF76\uCF77\uCF79", 6, "\uCF81\uCF82\uCF83\uCF84\uCF86", 5, "\uCF8D"], + ["b261", "\uCF8E", 18, "\uCFA2", 5, "\uCFA9"], + ["b281", "\uCFAA", 5, "\uCFB1", 18, "\uCFC5", 6, "\uAE79\uAE7B\uAE7C\uAE7D\uAE84\uAE85\uAE8C\uAEBC\uAEBD\uAEBE\uAEC0\uAEC4\uAECC\uAECD\uAECF\uAED0\uAED1\uAED8\uAED9\uAEDC\uAEE8\uAEEB\uAEED\uAEF4\uAEF8\uAEFC\uAF07\uAF08\uAF0D\uAF10\uAF2C\uAF2D\uAF30\uAF32\uAF34\uAF3C\uAF3D\uAF3F\uAF41\uAF42\uAF43\uAF48\uAF49\uAF50\uAF5C\uAF5D\uAF64\uAF65\uAF79\uAF80\uAF84\uAF88\uAF90\uAF91\uAF95\uAF9C\uAFB8\uAFB9\uAFBC\uAFC0\uAFC7\uAFC8\uAFC9\uAFCB\uAFCD\uAFCE\uAFD4\uAFDC\uAFE8\uAFE9\uAFF0\uAFF1\uAFF4\uAFF8\uB000\uB001\uB004\uB00C\uB010\uB014\uB01C\uB01D\uB028\uB044\uB045\uB048\uB04A\uB04C\uB04E\uB053\uB054\uB055\uB057\uB059"], + ["b341", "\uCFCC", 19, "\uCFE2\uCFE3\uCFE5\uCFE6\uCFE7\uCFE9"], + ["b361", "\uCFEA", 5, "\uCFF2\uCFF4\uCFF6", 5, "\uCFFD\uCFFE\uCFFF\uD001\uD002\uD003\uD005", 5], + ["b381", "\uD00B", 5, "\uD012", 5, "\uD019", 19, "\uB05D\uB07C\uB07D\uB080\uB084\uB08C\uB08D\uB08F\uB091\uB098\uB099\uB09A\uB09C\uB09F\uB0A0\uB0A1\uB0A2\uB0A8\uB0A9\uB0AB", 4, "\uB0B1\uB0B3\uB0B4\uB0B5\uB0B8\uB0BC\uB0C4\uB0C5\uB0C7\uB0C8\uB0C9\uB0D0\uB0D1\uB0D4\uB0D8\uB0E0\uB0E5\uB108\uB109\uB10B\uB10C\uB110\uB112\uB113\uB118\uB119\uB11B\uB11C\uB11D\uB123\uB124\uB125\uB128\uB12C\uB134\uB135\uB137\uB138\uB139\uB140\uB141\uB144\uB148\uB150\uB151\uB154\uB155\uB158\uB15C\uB160\uB178\uB179\uB17C\uB180\uB182\uB188\uB189\uB18B\uB18D\uB192\uB193\uB194\uB198\uB19C\uB1A8\uB1CC\uB1D0\uB1D4\uB1DC\uB1DD"], + ["b441", "\uD02E", 5, "\uD036\uD037\uD039\uD03A\uD03B\uD03D", 6, "\uD046\uD048\uD04A", 5], + ["b461", "\uD051\uD052\uD053\uD055\uD056\uD057\uD059", 6, "\uD061", 10, "\uD06E\uD06F"], + ["b481", "\uD071\uD072\uD073\uD075", 6, "\uD07E\uD07F\uD080\uD082", 18, "\uB1DF\uB1E8\uB1E9\uB1EC\uB1F0\uB1F9\uB1FB\uB1FD\uB204\uB205\uB208\uB20B\uB20C\uB214\uB215\uB217\uB219\uB220\uB234\uB23C\uB258\uB25C\uB260\uB268\uB269\uB274\uB275\uB27C\uB284\uB285\uB289\uB290\uB291\uB294\uB298\uB299\uB29A\uB2A0\uB2A1\uB2A3\uB2A5\uB2A6\uB2AA\uB2AC\uB2B0\uB2B4\uB2C8\uB2C9\uB2CC\uB2D0\uB2D2\uB2D8\uB2D9\uB2DB\uB2DD\uB2E2\uB2E4\uB2E5\uB2E6\uB2E8\uB2EB", 4, "\uB2F3\uB2F4\uB2F5\uB2F7", 4, "\uB2FF\uB300\uB301\uB304\uB308\uB310\uB311\uB313\uB314\uB315\uB31C\uB354\uB355\uB356\uB358\uB35B\uB35C\uB35E\uB35F\uB364\uB365"], + ["b541", "\uD095", 14, "\uD0A6\uD0A7\uD0A9\uD0AA\uD0AB\uD0AD", 5], + ["b561", "\uD0B3\uD0B6\uD0B8\uD0BA", 5, "\uD0C2\uD0C3\uD0C5\uD0C6\uD0C7\uD0CA", 5, "\uD0D2\uD0D6", 4], + ["b581", "\uD0DB\uD0DE\uD0DF\uD0E1\uD0E2\uD0E3\uD0E5", 6, "\uD0EE\uD0F2", 5, "\uD0F9", 11, "\uB367\uB369\uB36B\uB36E\uB370\uB371\uB374\uB378\uB380\uB381\uB383\uB384\uB385\uB38C\uB390\uB394\uB3A0\uB3A1\uB3A8\uB3AC\uB3C4\uB3C5\uB3C8\uB3CB\uB3CC\uB3CE\uB3D0\uB3D4\uB3D5\uB3D7\uB3D9\uB3DB\uB3DD\uB3E0\uB3E4\uB3E8\uB3FC\uB410\uB418\uB41C\uB420\uB428\uB429\uB42B\uB434\uB450\uB451\uB454\uB458\uB460\uB461\uB463\uB465\uB46C\uB480\uB488\uB49D\uB4A4\uB4A8\uB4AC\uB4B5\uB4B7\uB4B9\uB4C0\uB4C4\uB4C8\uB4D0\uB4D5\uB4DC\uB4DD\uB4E0\uB4E3\uB4E4\uB4E6\uB4EC\uB4ED\uB4EF\uB4F1\uB4F8\uB514\uB515\uB518\uB51B\uB51C\uB524\uB525\uB527\uB528\uB529\uB52A\uB530\uB531\uB534\uB538"], + ["b641", "\uD105", 7, "\uD10E", 17], + ["b661", "\uD120", 15, "\uD132\uD133\uD135\uD136\uD137\uD139\uD13B\uD13C\uD13D\uD13E"], + ["b681", "\uD13F\uD142\uD146", 5, "\uD14E\uD14F\uD151\uD152\uD153\uD155", 6, "\uD15E\uD160\uD162", 5, "\uD169\uD16A\uD16B\uD16D\uB540\uB541\uB543\uB544\uB545\uB54B\uB54C\uB54D\uB550\uB554\uB55C\uB55D\uB55F\uB560\uB561\uB5A0\uB5A1\uB5A4\uB5A8\uB5AA\uB5AB\uB5B0\uB5B1\uB5B3\uB5B4\uB5B5\uB5BB\uB5BC\uB5BD\uB5C0\uB5C4\uB5CC\uB5CD\uB5CF\uB5D0\uB5D1\uB5D8\uB5EC\uB610\uB611\uB614\uB618\uB625\uB62C\uB634\uB648\uB664\uB668\uB69C\uB69D\uB6A0\uB6A4\uB6AB\uB6AC\uB6B1\uB6D4\uB6F0\uB6F4\uB6F8\uB700\uB701\uB705\uB728\uB729\uB72C\uB72F\uB730\uB738\uB739\uB73B\uB744\uB748\uB74C\uB754\uB755\uB760\uB764\uB768\uB770\uB771\uB773\uB775\uB77C\uB77D\uB780\uB784\uB78C\uB78D\uB78F\uB790\uB791\uB792\uB796\uB797"], + ["b741", "\uD16E", 13, "\uD17D", 6, "\uD185\uD186\uD187\uD189\uD18A"], + ["b761", "\uD18B", 20, "\uD1A2\uD1A3\uD1A5\uD1A6\uD1A7"], + ["b781", "\uD1A9", 6, "\uD1B2\uD1B4\uD1B6\uD1B7\uD1B8\uD1B9\uD1BB\uD1BD\uD1BE\uD1BF\uD1C1", 14, "\uB798\uB799\uB79C\uB7A0\uB7A8\uB7A9\uB7AB\uB7AC\uB7AD\uB7B4\uB7B5\uB7B8\uB7C7\uB7C9\uB7EC\uB7ED\uB7F0\uB7F4\uB7FC\uB7FD\uB7FF\uB800\uB801\uB807\uB808\uB809\uB80C\uB810\uB818\uB819\uB81B\uB81D\uB824\uB825\uB828\uB82C\uB834\uB835\uB837\uB838\uB839\uB840\uB844\uB851\uB853\uB85C\uB85D\uB860\uB864\uB86C\uB86D\uB86F\uB871\uB878\uB87C\uB88D\uB8A8\uB8B0\uB8B4\uB8B8\uB8C0\uB8C1\uB8C3\uB8C5\uB8CC\uB8D0\uB8D4\uB8DD\uB8DF\uB8E1\uB8E8\uB8E9\uB8EC\uB8F0\uB8F8\uB8F9\uB8FB\uB8FD\uB904\uB918\uB920\uB93C\uB93D\uB940\uB944\uB94C\uB94F\uB951\uB958\uB959\uB95C\uB960\uB968\uB969"], + ["b841", "\uD1D0", 7, "\uD1D9", 17], + ["b861", "\uD1EB", 8, "\uD1F5\uD1F6\uD1F7\uD1F9", 13], + ["b881", "\uD208\uD20A", 5, "\uD211", 24, "\uB96B\uB96D\uB974\uB975\uB978\uB97C\uB984\uB985\uB987\uB989\uB98A\uB98D\uB98E\uB9AC\uB9AD\uB9B0\uB9B4\uB9BC\uB9BD\uB9BF\uB9C1\uB9C8\uB9C9\uB9CC\uB9CE", 4, "\uB9D8\uB9D9\uB9DB\uB9DD\uB9DE\uB9E1\uB9E3\uB9E4\uB9E5\uB9E8\uB9EC\uB9F4\uB9F5\uB9F7\uB9F8\uB9F9\uB9FA\uBA00\uBA01\uBA08\uBA15\uBA38\uBA39\uBA3C\uBA40\uBA42\uBA48\uBA49\uBA4B\uBA4D\uBA4E\uBA53\uBA54\uBA55\uBA58\uBA5C\uBA64\uBA65\uBA67\uBA68\uBA69\uBA70\uBA71\uBA74\uBA78\uBA83\uBA84\uBA85\uBA87\uBA8C\uBAA8\uBAA9\uBAAB\uBAAC\uBAB0\uBAB2\uBAB8\uBAB9\uBABB\uBABD\uBAC4\uBAC8\uBAD8\uBAD9\uBAFC"], + ["b941", "\uD22A\uD22B\uD22E\uD22F\uD231\uD232\uD233\uD235", 6, "\uD23E\uD240\uD242", 5, "\uD249\uD24A\uD24B\uD24C"], + ["b961", "\uD24D", 14, "\uD25D", 6, "\uD265\uD266\uD267\uD268"], + ["b981", "\uD269", 22, "\uD282\uD283\uD285\uD286\uD287\uD289\uD28A\uD28B\uD28C\uBB00\uBB04\uBB0D\uBB0F\uBB11\uBB18\uBB1C\uBB20\uBB29\uBB2B\uBB34\uBB35\uBB36\uBB38\uBB3B\uBB3C\uBB3D\uBB3E\uBB44\uBB45\uBB47\uBB49\uBB4D\uBB4F\uBB50\uBB54\uBB58\uBB61\uBB63\uBB6C\uBB88\uBB8C\uBB90\uBBA4\uBBA8\uBBAC\uBBB4\uBBB7\uBBC0\uBBC4\uBBC8\uBBD0\uBBD3\uBBF8\uBBF9\uBBFC\uBBFF\uBC00\uBC02\uBC08\uBC09\uBC0B\uBC0C\uBC0D\uBC0F\uBC11\uBC14", 4, "\uBC1B", 4, "\uBC24\uBC25\uBC27\uBC29\uBC2D\uBC30\uBC31\uBC34\uBC38\uBC40\uBC41\uBC43\uBC44\uBC45\uBC49\uBC4C\uBC4D\uBC50\uBC5D\uBC84\uBC85\uBC88\uBC8B\uBC8C\uBC8E\uBC94\uBC95\uBC97"], + ["ba41", "\uD28D\uD28E\uD28F\uD292\uD293\uD294\uD296", 5, "\uD29D\uD29E\uD29F\uD2A1\uD2A2\uD2A3\uD2A5", 6, "\uD2AD"], + ["ba61", "\uD2AE\uD2AF\uD2B0\uD2B2", 5, "\uD2BA\uD2BB\uD2BD\uD2BE\uD2C1\uD2C3", 4, "\uD2CA\uD2CC", 5], + ["ba81", "\uD2D2\uD2D3\uD2D5\uD2D6\uD2D7\uD2D9\uD2DA\uD2DB\uD2DD", 6, "\uD2E6", 9, "\uD2F2\uD2F3\uD2F5\uD2F6\uD2F7\uD2F9\uD2FA\uBC99\uBC9A\uBCA0\uBCA1\uBCA4\uBCA7\uBCA8\uBCB0\uBCB1\uBCB3\uBCB4\uBCB5\uBCBC\uBCBD\uBCC0\uBCC4\uBCCD\uBCCF\uBCD0\uBCD1\uBCD5\uBCD8\uBCDC\uBCF4\uBCF5\uBCF6\uBCF8\uBCFC\uBD04\uBD05\uBD07\uBD09\uBD10\uBD14\uBD24\uBD2C\uBD40\uBD48\uBD49\uBD4C\uBD50\uBD58\uBD59\uBD64\uBD68\uBD80\uBD81\uBD84\uBD87\uBD88\uBD89\uBD8A\uBD90\uBD91\uBD93\uBD95\uBD99\uBD9A\uBD9C\uBDA4\uBDB0\uBDB8\uBDD4\uBDD5\uBDD8\uBDDC\uBDE9\uBDF0\uBDF4\uBDF8\uBE00\uBE03\uBE05\uBE0C\uBE0D\uBE10\uBE14\uBE1C\uBE1D\uBE1F\uBE44\uBE45\uBE48\uBE4C\uBE4E\uBE54\uBE55\uBE57\uBE59\uBE5A\uBE5B\uBE60\uBE61\uBE64"], + ["bb41", "\uD2FB", 4, "\uD302\uD304\uD306", 5, "\uD30F\uD311\uD312\uD313\uD315\uD317", 4, "\uD31E\uD322\uD323"], + ["bb61", "\uD324\uD326\uD327\uD32A\uD32B\uD32D\uD32E\uD32F\uD331", 6, "\uD33A\uD33E", 5, "\uD346\uD347\uD348\uD349"], + ["bb81", "\uD34A", 31, "\uBE68\uBE6A\uBE70\uBE71\uBE73\uBE74\uBE75\uBE7B\uBE7C\uBE7D\uBE80\uBE84\uBE8C\uBE8D\uBE8F\uBE90\uBE91\uBE98\uBE99\uBEA8\uBED0\uBED1\uBED4\uBED7\uBED8\uBEE0\uBEE3\uBEE4\uBEE5\uBEEC\uBF01\uBF08\uBF09\uBF18\uBF19\uBF1B\uBF1C\uBF1D\uBF40\uBF41\uBF44\uBF48\uBF50\uBF51\uBF55\uBF94\uBFB0\uBFC5\uBFCC\uBFCD\uBFD0\uBFD4\uBFDC\uBFDF\uBFE1\uC03C\uC051\uC058\uC05C\uC060\uC068\uC069\uC090\uC091\uC094\uC098\uC0A0\uC0A1\uC0A3\uC0A5\uC0AC\uC0AD\uC0AF\uC0B0\uC0B3\uC0B4\uC0B5\uC0B6\uC0BC\uC0BD\uC0BF\uC0C0\uC0C1\uC0C5\uC0C8\uC0C9\uC0CC\uC0D0\uC0D8\uC0D9\uC0DB\uC0DC\uC0DD\uC0E4"], + ["bc41", "\uD36A", 17, "\uD37E\uD37F\uD381\uD382\uD383\uD385\uD386\uD387"], + ["bc61", "\uD388\uD389\uD38A\uD38B\uD38E\uD392", 5, "\uD39A\uD39B\uD39D\uD39E\uD39F\uD3A1", 6, "\uD3AA\uD3AC\uD3AE"], + ["bc81", "\uD3AF", 4, "\uD3B5\uD3B6\uD3B7\uD3B9\uD3BA\uD3BB\uD3BD", 6, "\uD3C6\uD3C7\uD3CA", 5, "\uD3D1", 5, "\uC0E5\uC0E8\uC0EC\uC0F4\uC0F5\uC0F7\uC0F9\uC100\uC104\uC108\uC110\uC115\uC11C", 4, "\uC123\uC124\uC126\uC127\uC12C\uC12D\uC12F\uC130\uC131\uC136\uC138\uC139\uC13C\uC140\uC148\uC149\uC14B\uC14C\uC14D\uC154\uC155\uC158\uC15C\uC164\uC165\uC167\uC168\uC169\uC170\uC174\uC178\uC185\uC18C\uC18D\uC18E\uC190\uC194\uC196\uC19C\uC19D\uC19F\uC1A1\uC1A5\uC1A8\uC1A9\uC1AC\uC1B0\uC1BD\uC1C4\uC1C8\uC1CC\uC1D4\uC1D7\uC1D8\uC1E0\uC1E4\uC1E8\uC1F0\uC1F1\uC1F3\uC1FC\uC1FD\uC200\uC204\uC20C\uC20D\uC20F\uC211\uC218\uC219\uC21C\uC21F\uC220\uC228\uC229\uC22B\uC22D"], + ["bd41", "\uD3D7\uD3D9", 7, "\uD3E2\uD3E4", 7, "\uD3EE\uD3EF\uD3F1\uD3F2\uD3F3\uD3F5\uD3F6\uD3F7"], + ["bd61", "\uD3F8\uD3F9\uD3FA\uD3FB\uD3FE\uD400\uD402", 5, "\uD409", 13], + ["bd81", "\uD417", 5, "\uD41E", 25, "\uC22F\uC231\uC232\uC234\uC248\uC250\uC251\uC254\uC258\uC260\uC265\uC26C\uC26D\uC270\uC274\uC27C\uC27D\uC27F\uC281\uC288\uC289\uC290\uC298\uC29B\uC29D\uC2A4\uC2A5\uC2A8\uC2AC\uC2AD\uC2B4\uC2B5\uC2B7\uC2B9\uC2DC\uC2DD\uC2E0\uC2E3\uC2E4\uC2EB\uC2EC\uC2ED\uC2EF\uC2F1\uC2F6\uC2F8\uC2F9\uC2FB\uC2FC\uC300\uC308\uC309\uC30C\uC30D\uC313\uC314\uC315\uC318\uC31C\uC324\uC325\uC328\uC329\uC345\uC368\uC369\uC36C\uC370\uC372\uC378\uC379\uC37C\uC37D\uC384\uC388\uC38C\uC3C0\uC3D8\uC3D9\uC3DC\uC3DF\uC3E0\uC3E2\uC3E8\uC3E9\uC3ED\uC3F4\uC3F5\uC3F8\uC408\uC410\uC424\uC42C\uC430"], + ["be41", "\uD438", 7, "\uD441\uD442\uD443\uD445", 14], + ["be61", "\uD454", 7, "\uD45D\uD45E\uD45F\uD461\uD462\uD463\uD465", 7, "\uD46E\uD470\uD471\uD472"], + ["be81", "\uD473", 4, "\uD47A\uD47B\uD47D\uD47E\uD481\uD483", 4, "\uD48A\uD48C\uD48E", 5, "\uD495", 8, "\uC434\uC43C\uC43D\uC448\uC464\uC465\uC468\uC46C\uC474\uC475\uC479\uC480\uC494\uC49C\uC4B8\uC4BC\uC4E9\uC4F0\uC4F1\uC4F4\uC4F8\uC4FA\uC4FF\uC500\uC501\uC50C\uC510\uC514\uC51C\uC528\uC529\uC52C\uC530\uC538\uC539\uC53B\uC53D\uC544\uC545\uC548\uC549\uC54A\uC54C\uC54D\uC54E\uC553\uC554\uC555\uC557\uC558\uC559\uC55D\uC55E\uC560\uC561\uC564\uC568\uC570\uC571\uC573\uC574\uC575\uC57C\uC57D\uC580\uC584\uC587\uC58C\uC58D\uC58F\uC591\uC595\uC597\uC598\uC59C\uC5A0\uC5A9\uC5B4\uC5B5\uC5B8\uC5B9\uC5BB\uC5BC\uC5BD\uC5BE\uC5C4", 6, "\uC5CC\uC5CE"], + ["bf41", "\uD49E", 10, "\uD4AA", 14], + ["bf61", "\uD4B9", 18, "\uD4CD\uD4CE\uD4CF\uD4D1\uD4D2\uD4D3\uD4D5"], + ["bf81", "\uD4D6", 5, "\uD4DD\uD4DE\uD4E0", 7, "\uD4E9\uD4EA\uD4EB\uD4ED\uD4EE\uD4EF\uD4F1", 6, "\uD4F9\uD4FA\uD4FC\uC5D0\uC5D1\uC5D4\uC5D8\uC5E0\uC5E1\uC5E3\uC5E5\uC5EC\uC5ED\uC5EE\uC5F0\uC5F4\uC5F6\uC5F7\uC5FC", 5, "\uC605\uC606\uC607\uC608\uC60C\uC610\uC618\uC619\uC61B\uC61C\uC624\uC625\uC628\uC62C\uC62D\uC62E\uC630\uC633\uC634\uC635\uC637\uC639\uC63B\uC640\uC641\uC644\uC648\uC650\uC651\uC653\uC654\uC655\uC65C\uC65D\uC660\uC66C\uC66F\uC671\uC678\uC679\uC67C\uC680\uC688\uC689\uC68B\uC68D\uC694\uC695\uC698\uC69C\uC6A4\uC6A5\uC6A7\uC6A9\uC6B0\uC6B1\uC6B4\uC6B8\uC6B9\uC6BA\uC6C0\uC6C1\uC6C3\uC6C5\uC6CC\uC6CD\uC6D0\uC6D4\uC6DC\uC6DD\uC6E0\uC6E1\uC6E8"], + ["c041", "\uD4FE", 5, "\uD505\uD506\uD507\uD509\uD50A\uD50B\uD50D", 6, "\uD516\uD518", 5], + ["c061", "\uD51E", 25], + ["c081", "\uD538\uD539\uD53A\uD53B\uD53E\uD53F\uD541\uD542\uD543\uD545", 6, "\uD54E\uD550\uD552", 5, "\uD55A\uD55B\uD55D\uD55E\uD55F\uD561\uD562\uD563\uC6E9\uC6EC\uC6F0\uC6F8\uC6F9\uC6FD\uC704\uC705\uC708\uC70C\uC714\uC715\uC717\uC719\uC720\uC721\uC724\uC728\uC730\uC731\uC733\uC735\uC737\uC73C\uC73D\uC740\uC744\uC74A\uC74C\uC74D\uC74F\uC751", 7, "\uC75C\uC760\uC768\uC76B\uC774\uC775\uC778\uC77C\uC77D\uC77E\uC783\uC784\uC785\uC787\uC788\uC789\uC78A\uC78E\uC790\uC791\uC794\uC796\uC797\uC798\uC79A\uC7A0\uC7A1\uC7A3\uC7A4\uC7A5\uC7A6\uC7AC\uC7AD\uC7B0\uC7B4\uC7BC\uC7BD\uC7BF\uC7C0\uC7C1\uC7C8\uC7C9\uC7CC\uC7CE\uC7D0\uC7D8\uC7DD\uC7E4\uC7E8\uC7EC\uC800\uC801\uC804\uC808\uC80A"], + ["c141", "\uD564\uD566\uD567\uD56A\uD56C\uD56E", 5, "\uD576\uD577\uD579\uD57A\uD57B\uD57D", 6, "\uD586\uD58A\uD58B"], + ["c161", "\uD58C\uD58D\uD58E\uD58F\uD591", 19, "\uD5A6\uD5A7"], + ["c181", "\uD5A8", 31, "\uC810\uC811\uC813\uC815\uC816\uC81C\uC81D\uC820\uC824\uC82C\uC82D\uC82F\uC831\uC838\uC83C\uC840\uC848\uC849\uC84C\uC84D\uC854\uC870\uC871\uC874\uC878\uC87A\uC880\uC881\uC883\uC885\uC886\uC887\uC88B\uC88C\uC88D\uC894\uC89D\uC89F\uC8A1\uC8A8\uC8BC\uC8BD\uC8C4\uC8C8\uC8CC\uC8D4\uC8D5\uC8D7\uC8D9\uC8E0\uC8E1\uC8E4\uC8F5\uC8FC\uC8FD\uC900\uC904\uC905\uC906\uC90C\uC90D\uC90F\uC911\uC918\uC92C\uC934\uC950\uC951\uC954\uC958\uC960\uC961\uC963\uC96C\uC970\uC974\uC97C\uC988\uC989\uC98C\uC990\uC998\uC999\uC99B\uC99D\uC9C0\uC9C1\uC9C4\uC9C7\uC9C8\uC9CA\uC9D0\uC9D1\uC9D3"], + ["c241", "\uD5CA\uD5CB\uD5CD\uD5CE\uD5CF\uD5D1\uD5D3", 4, "\uD5DA\uD5DC\uD5DE", 5, "\uD5E6\uD5E7\uD5E9\uD5EA\uD5EB\uD5ED\uD5EE"], + ["c261", "\uD5EF", 4, "\uD5F6\uD5F8\uD5FA", 5, "\uD602\uD603\uD605\uD606\uD607\uD609", 6, "\uD612"], + ["c281", "\uD616", 5, "\uD61D\uD61E\uD61F\uD621\uD622\uD623\uD625", 7, "\uD62E", 9, "\uD63A\uD63B\uC9D5\uC9D6\uC9D9\uC9DA\uC9DC\uC9DD\uC9E0\uC9E2\uC9E4\uC9E7\uC9EC\uC9ED\uC9EF\uC9F0\uC9F1\uC9F8\uC9F9\uC9FC\uCA00\uCA08\uCA09\uCA0B\uCA0C\uCA0D\uCA14\uCA18\uCA29\uCA4C\uCA4D\uCA50\uCA54\uCA5C\uCA5D\uCA5F\uCA60\uCA61\uCA68\uCA7D\uCA84\uCA98\uCABC\uCABD\uCAC0\uCAC4\uCACC\uCACD\uCACF\uCAD1\uCAD3\uCAD8\uCAD9\uCAE0\uCAEC\uCAF4\uCB08\uCB10\uCB14\uCB18\uCB20\uCB21\uCB41\uCB48\uCB49\uCB4C\uCB50\uCB58\uCB59\uCB5D\uCB64\uCB78\uCB79\uCB9C\uCBB8\uCBD4\uCBE4\uCBE7\uCBE9\uCC0C\uCC0D\uCC10\uCC14\uCC1C\uCC1D\uCC21\uCC22\uCC27\uCC28\uCC29\uCC2C\uCC2E\uCC30\uCC38\uCC39\uCC3B"], + ["c341", "\uD63D\uD63E\uD63F\uD641\uD642\uD643\uD644\uD646\uD647\uD64A\uD64C\uD64E\uD64F\uD650\uD652\uD653\uD656\uD657\uD659\uD65A\uD65B\uD65D", 4], + ["c361", "\uD662", 4, "\uD668\uD66A", 5, "\uD672\uD673\uD675", 11], + ["c381", "\uD681\uD682\uD684\uD686", 5, "\uD68E\uD68F\uD691\uD692\uD693\uD695", 7, "\uD69E\uD6A0\uD6A2", 5, "\uD6A9\uD6AA\uCC3C\uCC3D\uCC3E\uCC44\uCC45\uCC48\uCC4C\uCC54\uCC55\uCC57\uCC58\uCC59\uCC60\uCC64\uCC66\uCC68\uCC70\uCC75\uCC98\uCC99\uCC9C\uCCA0\uCCA8\uCCA9\uCCAB\uCCAC\uCCAD\uCCB4\uCCB5\uCCB8\uCCBC\uCCC4\uCCC5\uCCC7\uCCC9\uCCD0\uCCD4\uCCE4\uCCEC\uCCF0\uCD01\uCD08\uCD09\uCD0C\uCD10\uCD18\uCD19\uCD1B\uCD1D\uCD24\uCD28\uCD2C\uCD39\uCD5C\uCD60\uCD64\uCD6C\uCD6D\uCD6F\uCD71\uCD78\uCD88\uCD94\uCD95\uCD98\uCD9C\uCDA4\uCDA5\uCDA7\uCDA9\uCDB0\uCDC4\uCDCC\uCDD0\uCDE8\uCDEC\uCDF0\uCDF8\uCDF9\uCDFB\uCDFD\uCE04\uCE08\uCE0C\uCE14\uCE19\uCE20\uCE21\uCE24\uCE28\uCE30\uCE31\uCE33\uCE35"], + ["c441", "\uD6AB\uD6AD\uD6AE\uD6AF\uD6B1", 7, "\uD6BA\uD6BC", 7, "\uD6C6\uD6C7\uD6C9\uD6CA\uD6CB"], + ["c461", "\uD6CD\uD6CE\uD6CF\uD6D0\uD6D2\uD6D3\uD6D5\uD6D6\uD6D8\uD6DA", 5, "\uD6E1\uD6E2\uD6E3\uD6E5\uD6E6\uD6E7\uD6E9", 4], + ["c481", "\uD6EE\uD6EF\uD6F1\uD6F2\uD6F3\uD6F4\uD6F6", 5, "\uD6FE\uD6FF\uD701\uD702\uD703\uD705", 11, "\uD712\uD713\uD714\uCE58\uCE59\uCE5C\uCE5F\uCE60\uCE61\uCE68\uCE69\uCE6B\uCE6D\uCE74\uCE75\uCE78\uCE7C\uCE84\uCE85\uCE87\uCE89\uCE90\uCE91\uCE94\uCE98\uCEA0\uCEA1\uCEA3\uCEA4\uCEA5\uCEAC\uCEAD\uCEC1\uCEE4\uCEE5\uCEE8\uCEEB\uCEEC\uCEF4\uCEF5\uCEF7\uCEF8\uCEF9\uCF00\uCF01\uCF04\uCF08\uCF10\uCF11\uCF13\uCF15\uCF1C\uCF20\uCF24\uCF2C\uCF2D\uCF2F\uCF30\uCF31\uCF38\uCF54\uCF55\uCF58\uCF5C\uCF64\uCF65\uCF67\uCF69\uCF70\uCF71\uCF74\uCF78\uCF80\uCF85\uCF8C\uCFA1\uCFA8\uCFB0\uCFC4\uCFE0\uCFE1\uCFE4\uCFE8\uCFF0\uCFF1\uCFF3\uCFF5\uCFFC\uD000\uD004\uD011\uD018\uD02D\uD034\uD035\uD038\uD03C"], + ["c541", "\uD715\uD716\uD717\uD71A\uD71B\uD71D\uD71E\uD71F\uD721", 6, "\uD72A\uD72C\uD72E", 5, "\uD736\uD737\uD739"], + ["c561", "\uD73A\uD73B\uD73D", 6, "\uD745\uD746\uD748\uD74A", 5, "\uD752\uD753\uD755\uD75A", 4], + ["c581", "\uD75F\uD762\uD764\uD766\uD767\uD768\uD76A\uD76B\uD76D\uD76E\uD76F\uD771\uD772\uD773\uD775", 6, "\uD77E\uD77F\uD780\uD782", 5, "\uD78A\uD78B\uD044\uD045\uD047\uD049\uD050\uD054\uD058\uD060\uD06C\uD06D\uD070\uD074\uD07C\uD07D\uD081\uD0A4\uD0A5\uD0A8\uD0AC\uD0B4\uD0B5\uD0B7\uD0B9\uD0C0\uD0C1\uD0C4\uD0C8\uD0C9\uD0D0\uD0D1\uD0D3\uD0D4\uD0D5\uD0DC\uD0DD\uD0E0\uD0E4\uD0EC\uD0ED\uD0EF\uD0F0\uD0F1\uD0F8\uD10D\uD130\uD131\uD134\uD138\uD13A\uD140\uD141\uD143\uD144\uD145\uD14C\uD14D\uD150\uD154\uD15C\uD15D\uD15F\uD161\uD168\uD16C\uD17C\uD184\uD188\uD1A0\uD1A1\uD1A4\uD1A8\uD1B0\uD1B1\uD1B3\uD1B5\uD1BA\uD1BC\uD1C0\uD1D8\uD1F4\uD1F8\uD207\uD209\uD210\uD22C\uD22D\uD230\uD234\uD23C\uD23D\uD23F\uD241\uD248\uD25C"], + ["c641", "\uD78D\uD78E\uD78F\uD791", 6, "\uD79A\uD79C\uD79E", 5], + ["c6a1", "\uD264\uD280\uD281\uD284\uD288\uD290\uD291\uD295\uD29C\uD2A0\uD2A4\uD2AC\uD2B1\uD2B8\uD2B9\uD2BC\uD2BF\uD2C0\uD2C2\uD2C8\uD2C9\uD2CB\uD2D4\uD2D8\uD2DC\uD2E4\uD2E5\uD2F0\uD2F1\uD2F4\uD2F8\uD300\uD301\uD303\uD305\uD30C\uD30D\uD30E\uD310\uD314\uD316\uD31C\uD31D\uD31F\uD320\uD321\uD325\uD328\uD329\uD32C\uD330\uD338\uD339\uD33B\uD33C\uD33D\uD344\uD345\uD37C\uD37D\uD380\uD384\uD38C\uD38D\uD38F\uD390\uD391\uD398\uD399\uD39C\uD3A0\uD3A8\uD3A9\uD3AB\uD3AD\uD3B4\uD3B8\uD3BC\uD3C4\uD3C5\uD3C8\uD3C9\uD3D0\uD3D8\uD3E1\uD3E3\uD3EC\uD3ED\uD3F0\uD3F4\uD3FC\uD3FD\uD3FF\uD401"], + ["c7a1", "\uD408\uD41D\uD440\uD444\uD45C\uD460\uD464\uD46D\uD46F\uD478\uD479\uD47C\uD47F\uD480\uD482\uD488\uD489\uD48B\uD48D\uD494\uD4A9\uD4CC\uD4D0\uD4D4\uD4DC\uD4DF\uD4E8\uD4EC\uD4F0\uD4F8\uD4FB\uD4FD\uD504\uD508\uD50C\uD514\uD515\uD517\uD53C\uD53D\uD540\uD544\uD54C\uD54D\uD54F\uD551\uD558\uD559\uD55C\uD560\uD565\uD568\uD569\uD56B\uD56D\uD574\uD575\uD578\uD57C\uD584\uD585\uD587\uD588\uD589\uD590\uD5A5\uD5C8\uD5C9\uD5CC\uD5D0\uD5D2\uD5D8\uD5D9\uD5DB\uD5DD\uD5E4\uD5E5\uD5E8\uD5EC\uD5F4\uD5F5\uD5F7\uD5F9\uD600\uD601\uD604\uD608\uD610\uD611\uD613\uD614\uD615\uD61C\uD620"], + ["c8a1", "\uD624\uD62D\uD638\uD639\uD63C\uD640\uD645\uD648\uD649\uD64B\uD64D\uD651\uD654\uD655\uD658\uD65C\uD667\uD669\uD670\uD671\uD674\uD683\uD685\uD68C\uD68D\uD690\uD694\uD69D\uD69F\uD6A1\uD6A8\uD6AC\uD6B0\uD6B9\uD6BB\uD6C4\uD6C5\uD6C8\uD6CC\uD6D1\uD6D4\uD6D7\uD6D9\uD6E0\uD6E4\uD6E8\uD6F0\uD6F5\uD6FC\uD6FD\uD700\uD704\uD711\uD718\uD719\uD71C\uD720\uD728\uD729\uD72B\uD72D\uD734\uD735\uD738\uD73C\uD744\uD747\uD749\uD750\uD751\uD754\uD756\uD757\uD758\uD759\uD760\uD761\uD763\uD765\uD769\uD76C\uD770\uD774\uD77C\uD77D\uD781\uD788\uD789\uD78C\uD790\uD798\uD799\uD79B\uD79D"], + ["caa1", "\u4F3D\u4F73\u5047\u50F9\u52A0\u53EF\u5475\u54E5\u5609\u5AC1\u5BB6\u6687\u67B6\u67B7\u67EF\u6B4C\u73C2\u75C2\u7A3C\u82DB\u8304\u8857\u8888\u8A36\u8CC8\u8DCF\u8EFB\u8FE6\u99D5\u523B\u5374\u5404\u606A\u6164\u6BBC\u73CF\u811A\u89BA\u89D2\u95A3\u4F83\u520A\u58BE\u5978\u59E6\u5E72\u5E79\u61C7\u63C0\u6746\u67EC\u687F\u6F97\u764E\u770B\u78F5\u7A08\u7AFF\u7C21\u809D\u826E\u8271\u8AEB\u9593\u4E6B\u559D\u66F7\u6E34\u78A3\u7AED\u845B\u8910\u874E\u97A8\u52D8\u574E\u582A\u5D4C\u611F\u61BE\u6221\u6562\u67D1\u6A44\u6E1B\u7518\u75B3\u76E3\u77B0\u7D3A\u90AF\u9451\u9452\u9F95"], + ["cba1", "\u5323\u5CAC\u7532\u80DB\u9240\u9598\u525B\u5808\u59DC\u5CA1\u5D17\u5EB7\u5F3A\u5F4A\u6177\u6C5F\u757A\u7586\u7CE0\u7D73\u7DB1\u7F8C\u8154\u8221\u8591\u8941\u8B1B\u92FC\u964D\u9C47\u4ECB\u4EF7\u500B\u51F1\u584F\u6137\u613E\u6168\u6539\u69EA\u6F11\u75A5\u7686\u76D6\u7B87\u82A5\u84CB\uF900\u93A7\u958B\u5580\u5BA2\u5751\uF901\u7CB3\u7FB9\u91B5\u5028\u53BB\u5C45\u5DE8\u62D2\u636E\u64DA\u64E7\u6E20\u70AC\u795B\u8DDD\u8E1E\uF902\u907D\u9245\u92F8\u4E7E\u4EF6\u5065\u5DFE\u5EFA\u6106\u6957\u8171\u8654\u8E47\u9375\u9A2B\u4E5E\u5091\u6770\u6840\u5109\u528D\u5292\u6AA2"], + ["cca1", "\u77BC\u9210\u9ED4\u52AB\u602F\u8FF2\u5048\u61A9\u63ED\u64CA\u683C\u6A84\u6FC0\u8188\u89A1\u9694\u5805\u727D\u72AC\u7504\u7D79\u7E6D\u80A9\u898B\u8B74\u9063\u9D51\u6289\u6C7A\u6F54\u7D50\u7F3A\u8A23\u517C\u614A\u7B9D\u8B19\u9257\u938C\u4EAC\u4FD3\u501E\u50BE\u5106\u52C1\u52CD\u537F\u5770\u5883\u5E9A\u5F91\u6176\u61AC\u64CE\u656C\u666F\u66BB\u66F4\u6897\u6D87\u7085\u70F1\u749F\u74A5\u74CA\u75D9\u786C\u78EC\u7ADF\u7AF6\u7D45\u7D93\u8015\u803F\u811B\u8396\u8B66\u8F15\u9015\u93E1\u9803\u9838\u9A5A\u9BE8\u4FC2\u5553\u583A\u5951\u5B63\u5C46\u60B8\u6212\u6842\u68B0"], + ["cda1", "\u68E8\u6EAA\u754C\u7678\u78CE\u7A3D\u7CFB\u7E6B\u7E7C\u8A08\u8AA1\u8C3F\u968E\u9DC4\u53E4\u53E9\u544A\u5471\u56FA\u59D1\u5B64\u5C3B\u5EAB\u62F7\u6537\u6545\u6572\u66A0\u67AF\u69C1\u6CBD\u75FC\u7690\u777E\u7A3F\u7F94\u8003\u80A1\u818F\u82E6\u82FD\u83F0\u85C1\u8831\u88B4\u8AA5\uF903\u8F9C\u932E\u96C7\u9867\u9AD8\u9F13\u54ED\u659B\u66F2\u688F\u7A40\u8C37\u9D60\u56F0\u5764\u5D11\u6606\u68B1\u68CD\u6EFE\u7428\u889E\u9BE4\u6C68\uF904\u9AA8\u4F9B\u516C\u5171\u529F\u5B54\u5DE5\u6050\u606D\u62F1\u63A7\u653B\u73D9\u7A7A\u86A3\u8CA2\u978F\u4E32\u5BE1\u6208\u679C\u74DC"], + ["cea1", "\u79D1\u83D3\u8A87\u8AB2\u8DE8\u904E\u934B\u9846\u5ED3\u69E8\u85FF\u90ED\uF905\u51A0\u5B98\u5BEC\u6163\u68FA\u6B3E\u704C\u742F\u74D8\u7BA1\u7F50\u83C5\u89C0\u8CAB\u95DC\u9928\u522E\u605D\u62EC\u9002\u4F8A\u5149\u5321\u58D9\u5EE3\u66E0\u6D38\u709A\u72C2\u73D6\u7B50\u80F1\u945B\u5366\u639B\u7F6B\u4E56\u5080\u584A\u58DE\u602A\u6127\u62D0\u69D0\u9B41\u5B8F\u7D18\u80B1\u8F5F\u4EA4\u50D1\u54AC\u55AC\u5B0C\u5DA0\u5DE7\u652A\u654E\u6821\u6A4B\u72E1\u768E\u77EF\u7D5E\u7FF9\u81A0\u854E\u86DF\u8F03\u8F4E\u90CA\u9903\u9A55\u9BAB\u4E18\u4E45\u4E5D\u4EC7\u4FF1\u5177\u52FE"], + ["cfa1", "\u5340\u53E3\u53E5\u548E\u5614\u5775\u57A2\u5BC7\u5D87\u5ED0\u61FC\u62D8\u6551\u67B8\u67E9\u69CB\u6B50\u6BC6\u6BEC\u6C42\u6E9D\u7078\u72D7\u7396\u7403\u77BF\u77E9\u7A76\u7D7F\u8009\u81FC\u8205\u820A\u82DF\u8862\u8B33\u8CFC\u8EC0\u9011\u90B1\u9264\u92B6\u99D2\u9A45\u9CE9\u9DD7\u9F9C\u570B\u5C40\u83CA\u97A0\u97AB\u9EB4\u541B\u7A98\u7FA4\u88D9\u8ECD\u90E1\u5800\u5C48\u6398\u7A9F\u5BAE\u5F13\u7A79\u7AAE\u828E\u8EAC\u5026\u5238\u52F8\u5377\u5708\u62F3\u6372\u6B0A\u6DC3\u7737\u53A5\u7357\u8568\u8E76\u95D5\u673A\u6AC3\u6F70\u8A6D\u8ECC\u994B\uF906\u6677\u6B78\u8CB4"], + ["d0a1", "\u9B3C\uF907\u53EB\u572D\u594E\u63C6\u69FB\u73EA\u7845\u7ABA\u7AC5\u7CFE\u8475\u898F\u8D73\u9035\u95A8\u52FB\u5747\u7547\u7B60\u83CC\u921E\uF908\u6A58\u514B\u524B\u5287\u621F\u68D8\u6975\u9699\u50C5\u52A4\u52E4\u61C3\u65A4\u6839\u69FF\u747E\u7B4B\u82B9\u83EB\u89B2\u8B39\u8FD1\u9949\uF909\u4ECA\u5997\u64D2\u6611\u6A8E\u7434\u7981\u79BD\u82A9\u887E\u887F\u895F\uF90A\u9326\u4F0B\u53CA\u6025\u6271\u6C72\u7D1A\u7D66\u4E98\u5162\u77DC\u80AF\u4F01\u4F0E\u5176\u5180\u55DC\u5668\u573B\u57FA\u57FC\u5914\u5947\u5993\u5BC4\u5C90\u5D0E\u5DF1\u5E7E\u5FCC\u6280\u65D7\u65E3"], + ["d1a1", "\u671E\u671F\u675E\u68CB\u68C4\u6A5F\u6B3A\u6C23\u6C7D\u6C82\u6DC7\u7398\u7426\u742A\u7482\u74A3\u7578\u757F\u7881\u78EF\u7941\u7947\u7948\u797A\u7B95\u7D00\u7DBA\u7F88\u8006\u802D\u808C\u8A18\u8B4F\u8C48\u8D77\u9321\u9324\u98E2\u9951\u9A0E\u9A0F\u9A65\u9E92\u7DCA\u4F76\u5409\u62EE\u6854\u91D1\u55AB\u513A\uF90B\uF90C\u5A1C\u61E6\uF90D\u62CF\u62FF\uF90E", 5, "\u90A3\uF914", 4, "\u8AFE\uF919\uF91A\uF91B\uF91C\u6696\uF91D\u7156\uF91E\uF91F\u96E3\uF920\u634F\u637A\u5357\uF921\u678F\u6960\u6E73\uF922\u7537\uF923\uF924\uF925"], + ["d2a1", "\u7D0D\uF926\uF927\u8872\u56CA\u5A18\uF928", 4, "\u4E43\uF92D\u5167\u5948\u67F0\u8010\uF92E\u5973\u5E74\u649A\u79CA\u5FF5\u606C\u62C8\u637B\u5BE7\u5BD7\u52AA\uF92F\u5974\u5F29\u6012\uF930\uF931\uF932\u7459\uF933", 5, "\u99D1\uF939", 10, "\u6FC3\uF944\uF945\u81BF\u8FB2\u60F1\uF946\uF947\u8166\uF948\uF949\u5C3F\uF94A", 7, "\u5AE9\u8A25\u677B\u7D10\uF952", 5, "\u80FD\uF958\uF959\u5C3C\u6CE5\u533F\u6EBA\u591A\u8336"], + ["d3a1", "\u4E39\u4EB6\u4F46\u55AE\u5718\u58C7\u5F56\u65B7\u65E6\u6A80\u6BB5\u6E4D\u77ED\u7AEF\u7C1E\u7DDE\u86CB\u8892\u9132\u935B\u64BB\u6FBE\u737A\u75B8\u9054\u5556\u574D\u61BA\u64D4\u66C7\u6DE1\u6E5B\u6F6D\u6FB9\u75F0\u8043\u81BD\u8541\u8983\u8AC7\u8B5A\u931F\u6C93\u7553\u7B54\u8E0F\u905D\u5510\u5802\u5858\u5E62\u6207\u649E\u68E0\u7576\u7CD6\u87B3\u9EE8\u4EE3\u5788\u576E\u5927\u5C0D\u5CB1\u5E36\u5F85\u6234\u64E1\u73B3\u81FA\u888B\u8CB8\u968A\u9EDB\u5B85\u5FB7\u60B3\u5012\u5200\u5230\u5716\u5835\u5857\u5C0E\u5C60\u5CF6\u5D8B\u5EA6\u5F92\u60BC\u6311\u6389\u6417\u6843"], + ["d4a1", "\u68F9\u6AC2\u6DD8\u6E21\u6ED4\u6FE4\u71FE\u76DC\u7779\u79B1\u7A3B\u8404\u89A9\u8CED\u8DF3\u8E48\u9003\u9014\u9053\u90FD\u934D\u9676\u97DC\u6BD2\u7006\u7258\u72A2\u7368\u7763\u79BF\u7BE4\u7E9B\u8B80\u58A9\u60C7\u6566\u65FD\u66BE\u6C8C\u711E\u71C9\u8C5A\u9813\u4E6D\u7A81\u4EDD\u51AC\u51CD\u52D5\u540C\u61A7\u6771\u6850\u68DF\u6D1E\u6F7C\u75BC\u77B3\u7AE5\u80F4\u8463\u9285\u515C\u6597\u675C\u6793\u75D8\u7AC7\u8373\uF95A\u8C46\u9017\u982D\u5C6F\u81C0\u829A\u9041\u906F\u920D\u5F97\u5D9D\u6A59\u71C8\u767B\u7B49\u85E4\u8B04\u9127\u9A30\u5587\u61F6\uF95B\u7669\u7F85"], + ["d5a1", "\u863F\u87BA\u88F8\u908F\uF95C\u6D1B\u70D9\u73DE\u7D61\u843D\uF95D\u916A\u99F1\uF95E\u4E82\u5375\u6B04\u6B12\u703E\u721B\u862D\u9E1E\u524C\u8FA3\u5D50\u64E5\u652C\u6B16\u6FEB\u7C43\u7E9C\u85CD\u8964\u89BD\u62C9\u81D8\u881F\u5ECA\u6717\u6D6A\u72FC\u7405\u746F\u8782\u90DE\u4F86\u5D0D\u5FA0\u840A\u51B7\u63A0\u7565\u4EAE\u5006\u5169\u51C9\u6881\u6A11\u7CAE\u7CB1\u7CE7\u826F\u8AD2\u8F1B\u91CF\u4FB6\u5137\u52F5\u5442\u5EEC\u616E\u623E\u65C5\u6ADA\u6FFE\u792A\u85DC\u8823\u95AD\u9A62\u9A6A\u9E97\u9ECE\u529B\u66C6\u6B77\u701D\u792B\u8F62\u9742\u6190\u6200\u6523\u6F23"], + ["d6a1", "\u7149\u7489\u7DF4\u806F\u84EE\u8F26\u9023\u934A\u51BD\u5217\u52A3\u6D0C\u70C8\u88C2\u5EC9\u6582\u6BAE\u6FC2\u7C3E\u7375\u4EE4\u4F36\u56F9\uF95F\u5CBA\u5DBA\u601C\u73B2\u7B2D\u7F9A\u7FCE\u8046\u901E\u9234\u96F6\u9748\u9818\u9F61\u4F8B\u6FA7\u79AE\u91B4\u96B7\u52DE\uF960\u6488\u64C4\u6AD3\u6F5E\u7018\u7210\u76E7\u8001\u8606\u865C\u8DEF\u8F05\u9732\u9B6F\u9DFA\u9E75\u788C\u797F\u7DA0\u83C9\u9304\u9E7F\u9E93\u8AD6\u58DF\u5F04\u6727\u7027\u74CF\u7C60\u807E\u5121\u7028\u7262\u78CA\u8CC2\u8CDA\u8CF4\u96F7\u4E86\u50DA\u5BEE\u5ED6\u6599\u71CE\u7642\u77AD\u804A\u84FC"], + ["d7a1", "\u907C\u9B27\u9F8D\u58D8\u5A41\u5C62\u6A13\u6DDA\u6F0F\u763B\u7D2F\u7E37\u851E\u8938\u93E4\u964B\u5289\u65D2\u67F3\u69B4\u6D41\u6E9C\u700F\u7409\u7460\u7559\u7624\u786B\u8B2C\u985E\u516D\u622E\u9678\u4F96\u502B\u5D19\u6DEA\u7DB8\u8F2A\u5F8B\u6144\u6817\uF961\u9686\u52D2\u808B\u51DC\u51CC\u695E\u7A1C\u7DBE\u83F1\u9675\u4FDA\u5229\u5398\u540F\u550E\u5C65\u60A7\u674E\u68A8\u6D6C\u7281\u72F8\u7406\u7483\uF962\u75E2\u7C6C\u7F79\u7FB8\u8389\u88CF\u88E1\u91CC\u91D0\u96E2\u9BC9\u541D\u6F7E\u71D0\u7498\u85FA\u8EAA\u96A3\u9C57\u9E9F\u6797\u6DCB\u7433\u81E8\u9716\u782C"], + ["d8a1", "\u7ACB\u7B20\u7C92\u6469\u746A\u75F2\u78BC\u78E8\u99AC\u9B54\u9EBB\u5BDE\u5E55\u6F20\u819C\u83AB\u9088\u4E07\u534D\u5A29\u5DD2\u5F4E\u6162\u633D\u6669\u66FC\u6EFF\u6F2B\u7063\u779E\u842C\u8513\u883B\u8F13\u9945\u9C3B\u551C\u62B9\u672B\u6CAB\u8309\u896A\u977A\u4EA1\u5984\u5FD8\u5FD9\u671B\u7DB2\u7F54\u8292\u832B\u83BD\u8F1E\u9099\u57CB\u59B9\u5A92\u5BD0\u6627\u679A\u6885\u6BCF\u7164\u7F75\u8CB7\u8CE3\u9081\u9B45\u8108\u8C8A\u964C\u9A40\u9EA5\u5B5F\u6C13\u731B\u76F2\u76DF\u840C\u51AA\u8993\u514D\u5195\u52C9\u68C9\u6C94\u7704\u7720\u7DBF\u7DEC\u9762\u9EB5\u6EC5"], + ["d9a1", "\u8511\u51A5\u540D\u547D\u660E\u669D\u6927\u6E9F\u76BF\u7791\u8317\u84C2\u879F\u9169\u9298\u9CF4\u8882\u4FAE\u5192\u52DF\u59C6\u5E3D\u6155\u6478\u6479\u66AE\u67D0\u6A21\u6BCD\u6BDB\u725F\u7261\u7441\u7738\u77DB\u8017\u82BC\u8305\u8B00\u8B28\u8C8C\u6728\u6C90\u7267\u76EE\u7766\u7A46\u9DA9\u6B7F\u6C92\u5922\u6726\u8499\u536F\u5893\u5999\u5EDF\u63CF\u6634\u6773\u6E3A\u732B\u7AD7\u82D7\u9328\u52D9\u5DEB\u61AE\u61CB\u620A\u62C7\u64AB\u65E0\u6959\u6B66\u6BCB\u7121\u73F7\u755D\u7E46\u821E\u8302\u856A\u8AA3\u8CBF\u9727\u9D61\u58A8\u9ED8\u5011\u520E\u543B\u554F\u6587"], + ["daa1", "\u6C76\u7D0A\u7D0B\u805E\u868A\u9580\u96EF\u52FF\u6C95\u7269\u5473\u5A9A\u5C3E\u5D4B\u5F4C\u5FAE\u672A\u68B6\u6963\u6E3C\u6E44\u7709\u7C73\u7F8E\u8587\u8B0E\u8FF7\u9761\u9EF4\u5CB7\u60B6\u610D\u61AB\u654F\u65FB\u65FC\u6C11\u6CEF\u739F\u73C9\u7DE1\u9594\u5BC6\u871C\u8B10\u525D\u535A\u62CD\u640F\u64B2\u6734\u6A38\u6CCA\u73C0\u749E\u7B94\u7C95\u7E1B\u818A\u8236\u8584\u8FEB\u96F9\u99C1\u4F34\u534A\u53CD\u53DB\u62CC\u642C\u6500\u6591\u69C3\u6CEE\u6F58\u73ED\u7554\u7622\u76E4\u76FC\u78D0\u78FB\u792C\u7D46\u822C\u87E0\u8FD4\u9812\u98EF\u52C3\u62D4\u64A5\u6E24\u6F51"], + ["dba1", "\u767C\u8DCB\u91B1\u9262\u9AEE\u9B43\u5023\u508D\u574A\u59A8\u5C28\u5E47\u5F77\u623F\u653E\u65B9\u65C1\u6609\u678B\u699C\u6EC2\u78C5\u7D21\u80AA\u8180\u822B\u82B3\u84A1\u868C\u8A2A\u8B17\u90A6\u9632\u9F90\u500D\u4FF3\uF963\u57F9\u5F98\u62DC\u6392\u676F\u6E43\u7119\u76C3\u80CC\u80DA\u88F4\u88F5\u8919\u8CE0\u8F29\u914D\u966A\u4F2F\u4F70\u5E1B\u67CF\u6822\u767D\u767E\u9B44\u5E61\u6A0A\u7169\u71D4\u756A\uF964\u7E41\u8543\u85E9\u98DC\u4F10\u7B4F\u7F70\u95A5\u51E1\u5E06\u68B5\u6C3E\u6C4E\u6CDB\u72AF\u7BC4\u8303\u6CD5\u743A\u50FB\u5288\u58C1\u64D8\u6A97\u74A7\u7656"], + ["dca1", "\u78A7\u8617\u95E2\u9739\uF965\u535E\u5F01\u8B8A\u8FA8\u8FAF\u908A\u5225\u77A5\u9C49\u9F08\u4E19\u5002\u5175\u5C5B\u5E77\u661E\u663A\u67C4\u68C5\u70B3\u7501\u75C5\u79C9\u7ADD\u8F27\u9920\u9A08\u4FDD\u5821\u5831\u5BF6\u666E\u6B65\u6D11\u6E7A\u6F7D\u73E4\u752B\u83E9\u88DC\u8913\u8B5C\u8F14\u4F0F\u50D5\u5310\u535C\u5B93\u5FA9\u670D\u798F\u8179\u832F\u8514\u8907\u8986\u8F39\u8F3B\u99A5\u9C12\u672C\u4E76\u4FF8\u5949\u5C01\u5CEF\u5CF0\u6367\u68D2\u70FD\u71A2\u742B\u7E2B\u84EC\u8702\u9022\u92D2\u9CF3\u4E0D\u4ED8\u4FEF\u5085\u5256\u526F\u5426\u5490\u57E0\u592B\u5A66"], + ["dda1", "\u5B5A\u5B75\u5BCC\u5E9C\uF966\u6276\u6577\u65A7\u6D6E\u6EA5\u7236\u7B26\u7C3F\u7F36\u8150\u8151\u819A\u8240\u8299\u83A9\u8A03\u8CA0\u8CE6\u8CFB\u8D74\u8DBA\u90E8\u91DC\u961C\u9644\u99D9\u9CE7\u5317\u5206\u5429\u5674\u58B3\u5954\u596E\u5FFF\u61A4\u626E\u6610\u6C7E\u711A\u76C6\u7C89\u7CDE\u7D1B\u82AC\u8CC1\u96F0\uF967\u4F5B\u5F17\u5F7F\u62C2\u5D29\u670B\u68DA\u787C\u7E43\u9D6C\u4E15\u5099\u5315\u532A\u5351\u5983\u5A62\u5E87\u60B2\u618A\u6249\u6279\u6590\u6787\u69A7\u6BD4\u6BD6\u6BD7\u6BD8\u6CB8\uF968\u7435\u75FA\u7812\u7891\u79D5\u79D8\u7C83\u7DCB\u7FE1\u80A5"], + ["dea1", "\u813E\u81C2\u83F2\u871A\u88E8\u8AB9\u8B6C\u8CBB\u9119\u975E\u98DB\u9F3B\u56AC\u5B2A\u5F6C\u658C\u6AB3\u6BAF\u6D5C\u6FF1\u7015\u725D\u73AD\u8CA7\u8CD3\u983B\u6191\u6C37\u8058\u9A01\u4E4D\u4E8B\u4E9B\u4ED5\u4F3A\u4F3C\u4F7F\u4FDF\u50FF\u53F2\u53F8\u5506\u55E3\u56DB\u58EB\u5962\u5A11\u5BEB\u5BFA\u5C04\u5DF3\u5E2B\u5F99\u601D\u6368\u659C\u65AF\u67F6\u67FB\u68AD\u6B7B\u6C99\u6CD7\u6E23\u7009\u7345\u7802\u793E\u7940\u7960\u79C1\u7BE9\u7D17\u7D72\u8086\u820D\u838E\u84D1\u86C7\u88DF\u8A50\u8A5E\u8B1D\u8CDC\u8D66\u8FAD\u90AA\u98FC\u99DF\u9E9D\u524A\uF969\u6714\uF96A"], + ["dfa1", "\u5098\u522A\u5C71\u6563\u6C55\u73CA\u7523\u759D\u7B97\u849C\u9178\u9730\u4E77\u6492\u6BBA\u715E\u85A9\u4E09\uF96B\u6749\u68EE\u6E17\u829F\u8518\u886B\u63F7\u6F81\u9212\u98AF\u4E0A\u50B7\u50CF\u511F\u5546\u55AA\u5617\u5B40\u5C19\u5CE0\u5E38\u5E8A\u5EA0\u5EC2\u60F3\u6851\u6A61\u6E58\u723D\u7240\u72C0\u76F8\u7965\u7BB1\u7FD4\u88F3\u89F4\u8A73\u8C61\u8CDE\u971C\u585E\u74BD\u8CFD\u55C7\uF96C\u7A61\u7D22\u8272\u7272\u751F\u7525\uF96D\u7B19\u5885\u58FB\u5DBC\u5E8F\u5EB6\u5F90\u6055\u6292\u637F\u654D\u6691\u66D9\u66F8\u6816\u68F2\u7280\u745E\u7B6E\u7D6E\u7DD6\u7F72"], + ["e0a1", "\u80E5\u8212\u85AF\u897F\u8A93\u901D\u92E4\u9ECD\u9F20\u5915\u596D\u5E2D\u60DC\u6614\u6673\u6790\u6C50\u6DC5\u6F5F\u77F3\u78A9\u84C6\u91CB\u932B\u4ED9\u50CA\u5148\u5584\u5B0B\u5BA3\u6247\u657E\u65CB\u6E32\u717D\u7401\u7444\u7487\u74BF\u766C\u79AA\u7DDA\u7E55\u7FA8\u817A\u81B3\u8239\u861A\u87EC\u8A75\u8DE3\u9078\u9291\u9425\u994D\u9BAE\u5368\u5C51\u6954\u6CC4\u6D29\u6E2B\u820C\u859B\u893B\u8A2D\u8AAA\u96EA\u9F67\u5261\u66B9\u6BB2\u7E96\u87FE\u8D0D\u9583\u965D\u651D\u6D89\u71EE\uF96E\u57CE\u59D3\u5BAC\u6027\u60FA\u6210\u661F\u665F\u7329\u73F9\u76DB\u7701\u7B6C"], + ["e1a1", "\u8056\u8072\u8165\u8AA0\u9192\u4E16\u52E2\u6B72\u6D17\u7A05\u7B39\u7D30\uF96F\u8CB0\u53EC\u562F\u5851\u5BB5\u5C0F\u5C11\u5DE2\u6240\u6383\u6414\u662D\u68B3\u6CBC\u6D88\u6EAF\u701F\u70A4\u71D2\u7526\u758F\u758E\u7619\u7B11\u7BE0\u7C2B\u7D20\u7D39\u852C\u856D\u8607\u8A34\u900D\u9061\u90B5\u92B7\u97F6\u9A37\u4FD7\u5C6C\u675F\u6D91\u7C9F\u7E8C\u8B16\u8D16\u901F\u5B6B\u5DFD\u640D\u84C0\u905C\u98E1\u7387\u5B8B\u609A\u677E\u6DDE\u8A1F\u8AA6\u9001\u980C\u5237\uF970\u7051\u788E\u9396\u8870\u91D7\u4FEE\u53D7\u55FD\u56DA\u5782\u58FD\u5AC2\u5B88\u5CAB\u5CC0\u5E25\u6101"], + ["e2a1", "\u620D\u624B\u6388\u641C\u6536\u6578\u6A39\u6B8A\u6C34\u6D19\u6F31\u71E7\u72E9\u7378\u7407\u74B2\u7626\u7761\u79C0\u7A57\u7AEA\u7CB9\u7D8F\u7DAC\u7E61\u7F9E\u8129\u8331\u8490\u84DA\u85EA\u8896\u8AB0\u8B90\u8F38\u9042\u9083\u916C\u9296\u92B9\u968B\u96A7\u96A8\u96D6\u9700\u9808\u9996\u9AD3\u9B1A\u53D4\u587E\u5919\u5B70\u5BBF\u6DD1\u6F5A\u719F\u7421\u74B9\u8085\u83FD\u5DE1\u5F87\u5FAA\u6042\u65EC\u6812\u696F\u6A53\u6B89\u6D35\u6DF3\u73E3\u76FE\u77AC\u7B4D\u7D14\u8123\u821C\u8340\u84F4\u8563\u8A62\u8AC4\u9187\u931E\u9806\u99B4\u620C\u8853\u8FF0\u9265\u5D07\u5D27"], + ["e3a1", "\u5D69\u745F\u819D\u8768\u6FD5\u62FE\u7FD2\u8936\u8972\u4E1E\u4E58\u50E7\u52DD\u5347\u627F\u6607\u7E69\u8805\u965E\u4F8D\u5319\u5636\u59CB\u5AA4\u5C38\u5C4E\u5C4D\u5E02\u5F11\u6043\u65BD\u662F\u6642\u67BE\u67F4\u731C\u77E2\u793A\u7FC5\u8494\u84CD\u8996\u8A66\u8A69\u8AE1\u8C55\u8C7A\u57F4\u5BD4\u5F0F\u606F\u62ED\u690D\u6B96\u6E5C\u7184\u7BD2\u8755\u8B58\u8EFE\u98DF\u98FE\u4F38\u4F81\u4FE1\u547B\u5A20\u5BB8\u613C\u65B0\u6668\u71FC\u7533\u795E\u7D33\u814E\u81E3\u8398\u85AA\u85CE\u8703\u8A0A\u8EAB\u8F9B\uF971\u8FC5\u5931\u5BA4\u5BE6\u6089\u5BE9\u5C0B\u5FC3\u6C81"], + ["e4a1", "\uF972\u6DF1\u700B\u751A\u82AF\u8AF6\u4EC0\u5341\uF973\u96D9\u6C0F\u4E9E\u4FC4\u5152\u555E\u5A25\u5CE8\u6211\u7259\u82BD\u83AA\u86FE\u8859\u8A1D\u963F\u96C5\u9913\u9D09\u9D5D\u580A\u5CB3\u5DBD\u5E44\u60E1\u6115\u63E1\u6A02\u6E25\u9102\u9354\u984E\u9C10\u9F77\u5B89\u5CB8\u6309\u664F\u6848\u773C\u96C1\u978D\u9854\u9B9F\u65A1\u8B01\u8ECB\u95BC\u5535\u5CA9\u5DD6\u5EB5\u6697\u764C\u83F4\u95C7\u58D3\u62BC\u72CE\u9D28\u4EF0\u592E\u600F\u663B\u6B83\u79E7\u9D26\u5393\u54C0\u57C3\u5D16\u611B\u66D6\u6DAF\u788D\u827E\u9698\u9744\u5384\u627C\u6396\u6DB2\u7E0A\u814B\u984D"], + ["e5a1", "\u6AFB\u7F4C\u9DAF\u9E1A\u4E5F\u503B\u51B6\u591C\u60F9\u63F6\u6930\u723A\u8036\uF974\u91CE\u5F31\uF975\uF976\u7D04\u82E5\u846F\u84BB\u85E5\u8E8D\uF977\u4F6F\uF978\uF979\u58E4\u5B43\u6059\u63DA\u6518\u656D\u6698\uF97A\u694A\u6A23\u6D0B\u7001\u716C\u75D2\u760D\u79B3\u7A70\uF97B\u7F8A\uF97C\u8944\uF97D\u8B93\u91C0\u967D\uF97E\u990A\u5704\u5FA1\u65BC\u6F01\u7600\u79A6\u8A9E\u99AD\u9B5A\u9F6C\u5104\u61B6\u6291\u6A8D\u81C6\u5043\u5830\u5F66\u7109\u8A00\u8AFA\u5B7C\u8616\u4FFA\u513C\u56B4\u5944\u63A9\u6DF9\u5DAA\u696D\u5186\u4E88\u4F59\uF97F\uF980\uF981\u5982\uF982"], + ["e6a1", "\uF983\u6B5F\u6C5D\uF984\u74B5\u7916\uF985\u8207\u8245\u8339\u8F3F\u8F5D\uF986\u9918\uF987\uF988\uF989\u4EA6\uF98A\u57DF\u5F79\u6613\uF98B\uF98C\u75AB\u7E79\u8B6F\uF98D\u9006\u9A5B\u56A5\u5827\u59F8\u5A1F\u5BB4\uF98E\u5EF6\uF98F\uF990\u6350\u633B\uF991\u693D\u6C87\u6CBF\u6D8E\u6D93\u6DF5\u6F14\uF992\u70DF\u7136\u7159\uF993\u71C3\u71D5\uF994\u784F\u786F\uF995\u7B75\u7DE3\uF996\u7E2F\uF997\u884D\u8EDF\uF998\uF999\uF99A\u925B\uF99B\u9CF6\uF99C\uF99D\uF99E\u6085\u6D85\uF99F\u71B1\uF9A0\uF9A1\u95B1\u53AD\uF9A2\uF9A3\uF9A4\u67D3\uF9A5\u708E\u7130\u7430\u8276\u82D2"], + ["e7a1", "\uF9A6\u95BB\u9AE5\u9E7D\u66C4\uF9A7\u71C1\u8449\uF9A8\uF9A9\u584B\uF9AA\uF9AB\u5DB8\u5F71\uF9AC\u6620\u668E\u6979\u69AE\u6C38\u6CF3\u6E36\u6F41\u6FDA\u701B\u702F\u7150\u71DF\u7370\uF9AD\u745B\uF9AE\u74D4\u76C8\u7A4E\u7E93\uF9AF\uF9B0\u82F1\u8A60\u8FCE\uF9B1\u9348\uF9B2\u9719\uF9B3\uF9B4\u4E42\u502A\uF9B5\u5208\u53E1\u66F3\u6C6D\u6FCA\u730A\u777F\u7A62\u82AE\u85DD\u8602\uF9B6\u88D4\u8A63\u8B7D\u8C6B\uF9B7\u92B3\uF9B8\u9713\u9810\u4E94\u4F0D\u4FC9\u50B2\u5348\u543E\u5433\u55DA\u5862\u58BA\u5967\u5A1B\u5BE4\u609F\uF9B9\u61CA\u6556\u65FF\u6664\u68A7\u6C5A\u6FB3"], + ["e8a1", "\u70CF\u71AC\u7352\u7B7D\u8708\u8AA4\u9C32\u9F07\u5C4B\u6C83\u7344\u7389\u923A\u6EAB\u7465\u761F\u7A69\u7E15\u860A\u5140\u58C5\u64C1\u74EE\u7515\u7670\u7FC1\u9095\u96CD\u9954\u6E26\u74E6\u7AA9\u7AAA\u81E5\u86D9\u8778\u8A1B\u5A49\u5B8C\u5B9B\u68A1\u6900\u6D63\u73A9\u7413\u742C\u7897\u7DE9\u7FEB\u8118\u8155\u839E\u8C4C\u962E\u9811\u66F0\u5F80\u65FA\u6789\u6C6A\u738B\u502D\u5A03\u6B6A\u77EE\u5916\u5D6C\u5DCD\u7325\u754F\uF9BA\uF9BB\u50E5\u51F9\u582F\u592D\u5996\u59DA\u5BE5\uF9BC\uF9BD\u5DA2\u62D7\u6416\u6493\u64FE\uF9BE\u66DC\uF9BF\u6A48\uF9C0\u71FF\u7464\uF9C1"], + ["e9a1", "\u7A88\u7AAF\u7E47\u7E5E\u8000\u8170\uF9C2\u87EF\u8981\u8B20\u9059\uF9C3\u9080\u9952\u617E\u6B32\u6D74\u7E1F\u8925\u8FB1\u4FD1\u50AD\u5197\u52C7\u57C7\u5889\u5BB9\u5EB8\u6142\u6995\u6D8C\u6E67\u6EB6\u7194\u7462\u7528\u752C\u8073\u8338\u84C9\u8E0A\u9394\u93DE\uF9C4\u4E8E\u4F51\u5076\u512A\u53C8\u53CB\u53F3\u5B87\u5BD3\u5C24\u611A\u6182\u65F4\u725B\u7397\u7440\u76C2\u7950\u7991\u79B9\u7D06\u7FBD\u828B\u85D5\u865E\u8FC2\u9047\u90F5\u91EA\u9685\u96E8\u96E9\u52D6\u5F67\u65ED\u6631\u682F\u715C\u7A36\u90C1\u980A\u4E91\uF9C5\u6A52\u6B9E\u6F90\u7189\u8018\u82B8\u8553"], + ["eaa1", "\u904B\u9695\u96F2\u97FB\u851A\u9B31\u4E90\u718A\u96C4\u5143\u539F\u54E1\u5713\u5712\u57A3\u5A9B\u5AC4\u5BC3\u6028\u613F\u63F4\u6C85\u6D39\u6E72\u6E90\u7230\u733F\u7457\u82D1\u8881\u8F45\u9060\uF9C6\u9662\u9858\u9D1B\u6708\u8D8A\u925E\u4F4D\u5049\u50DE\u5371\u570D\u59D4\u5A01\u5C09\u6170\u6690\u6E2D\u7232\u744B\u7DEF\u80C3\u840E\u8466\u853F\u875F\u885B\u8918\u8B02\u9055\u97CB\u9B4F\u4E73\u4F91\u5112\u516A\uF9C7\u552F\u55A9\u5B7A\u5BA5\u5E7C\u5E7D\u5EBE\u60A0\u60DF\u6108\u6109\u63C4\u6538\u6709\uF9C8\u67D4\u67DA\uF9C9\u6961\u6962\u6CB9\u6D27\uF9CA\u6E38\uF9CB"], + ["eba1", "\u6FE1\u7336\u7337\uF9CC\u745C\u7531\uF9CD\u7652\uF9CE\uF9CF\u7DAD\u81FE\u8438\u88D5\u8A98\u8ADB\u8AED\u8E30\u8E42\u904A\u903E\u907A\u9149\u91C9\u936E\uF9D0\uF9D1\u5809\uF9D2\u6BD3\u8089\u80B2\uF9D3\uF9D4\u5141\u596B\u5C39\uF9D5\uF9D6\u6F64\u73A7\u80E4\u8D07\uF9D7\u9217\u958F\uF9D8\uF9D9\uF9DA\uF9DB\u807F\u620E\u701C\u7D68\u878D\uF9DC\u57A0\u6069\u6147\u6BB7\u8ABE\u9280\u96B1\u4E59\u541F\u6DEB\u852D\u9670\u97F3\u98EE\u63D6\u6CE3\u9091\u51DD\u61C9\u81BA\u9DF9\u4F9D\u501A\u5100\u5B9C\u610F\u61FF\u64EC\u6905\u6BC5\u7591\u77E3\u7FA9\u8264\u858F\u87FB\u8863\u8ABC"], + ["eca1", "\u8B70\u91AB\u4E8C\u4EE5\u4F0A\uF9DD\uF9DE\u5937\u59E8\uF9DF\u5DF2\u5F1B\u5F5B\u6021\uF9E0\uF9E1\uF9E2\uF9E3\u723E\u73E5\uF9E4\u7570\u75CD\uF9E5\u79FB\uF9E6\u800C\u8033\u8084\u82E1\u8351\uF9E7\uF9E8\u8CBD\u8CB3\u9087\uF9E9\uF9EA\u98F4\u990C\uF9EB\uF9EC\u7037\u76CA\u7FCA\u7FCC\u7FFC\u8B1A\u4EBA\u4EC1\u5203\u5370\uF9ED\u54BD\u56E0\u59FB\u5BC5\u5F15\u5FCD\u6E6E\uF9EE\uF9EF\u7D6A\u8335\uF9F0\u8693\u8A8D\uF9F1\u976D\u9777\uF9F2\uF9F3\u4E00\u4F5A\u4F7E\u58F9\u65E5\u6EA2\u9038\u93B0\u99B9\u4EFB\u58EC\u598A\u59D9\u6041\uF9F4\uF9F5\u7A14\uF9F6\u834F\u8CC3\u5165\u5344"], + ["eda1", "\uF9F7\uF9F8\uF9F9\u4ECD\u5269\u5B55\u82BF\u4ED4\u523A\u54A8\u59C9\u59FF\u5B50\u5B57\u5B5C\u6063\u6148\u6ECB\u7099\u716E\u7386\u74F7\u75B5\u78C1\u7D2B\u8005\u81EA\u8328\u8517\u85C9\u8AEE\u8CC7\u96CC\u4F5C\u52FA\u56BC\u65AB\u6628\u707C\u70B8\u7235\u7DBD\u828D\u914C\u96C0\u9D72\u5B71\u68E7\u6B98\u6F7A\u76DE\u5C91\u66AB\u6F5B\u7BB4\u7C2A\u8836\u96DC\u4E08\u4ED7\u5320\u5834\u58BB\u58EF\u596C\u5C07\u5E33\u5E84\u5F35\u638C\u66B2\u6756\u6A1F\u6AA3\u6B0C\u6F3F\u7246\uF9FA\u7350\u748B\u7AE0\u7CA7\u8178\u81DF\u81E7\u838A\u846C\u8523\u8594\u85CF\u88DD\u8D13\u91AC\u9577"], + ["eea1", "\u969C\u518D\u54C9\u5728\u5BB0\u624D\u6750\u683D\u6893\u6E3D\u6ED3\u707D\u7E21\u88C1\u8CA1\u8F09\u9F4B\u9F4E\u722D\u7B8F\u8ACD\u931A\u4F47\u4F4E\u5132\u5480\u59D0\u5E95\u62B5\u6775\u696E\u6A17\u6CAE\u6E1A\u72D9\u732A\u75BD\u7BB8\u7D35\u82E7\u83F9\u8457\u85F7\u8A5B\u8CAF\u8E87\u9019\u90B8\u96CE\u9F5F\u52E3\u540A\u5AE1\u5BC2\u6458\u6575\u6EF4\u72C4\uF9FB\u7684\u7A4D\u7B1B\u7C4D\u7E3E\u7FDF\u837B\u8B2B\u8CCA\u8D64\u8DE1\u8E5F\u8FEA\u8FF9\u9069\u93D1\u4F43\u4F7A\u50B3\u5168\u5178\u524D\u526A\u5861\u587C\u5960\u5C08\u5C55\u5EDB\u609B\u6230\u6813\u6BBF\u6C08\u6FB1"], + ["efa1", "\u714E\u7420\u7530\u7538\u7551\u7672\u7B4C\u7B8B\u7BAD\u7BC6\u7E8F\u8A6E\u8F3E\u8F49\u923F\u9293\u9322\u942B\u96FB\u985A\u986B\u991E\u5207\u622A\u6298\u6D59\u7664\u7ACA\u7BC0\u7D76\u5360\u5CBE\u5E97\u6F38\u70B9\u7C98\u9711\u9B8E\u9EDE\u63A5\u647A\u8776\u4E01\u4E95\u4EAD\u505C\u5075\u5448\u59C3\u5B9A\u5E40\u5EAD\u5EF7\u5F81\u60C5\u633A\u653F\u6574\u65CC\u6676\u6678\u67FE\u6968\u6A89\u6B63\u6C40\u6DC0\u6DE8\u6E1F\u6E5E\u701E\u70A1\u738E\u73FD\u753A\u775B\u7887\u798E\u7A0B\u7A7D\u7CBE\u7D8E\u8247\u8A02\u8AEA\u8C9E\u912D\u914A\u91D8\u9266\u92CC\u9320\u9706\u9756"], + ["f0a1", "\u975C\u9802\u9F0E\u5236\u5291\u557C\u5824\u5E1D\u5F1F\u608C\u63D0\u68AF\u6FDF\u796D\u7B2C\u81CD\u85BA\u88FD\u8AF8\u8E44\u918D\u9664\u969B\u973D\u984C\u9F4A\u4FCE\u5146\u51CB\u52A9\u5632\u5F14\u5F6B\u63AA\u64CD\u65E9\u6641\u66FA\u66F9\u671D\u689D\u68D7\u69FD\u6F15\u6F6E\u7167\u71E5\u722A\u74AA\u773A\u7956\u795A\u79DF\u7A20\u7A95\u7C97\u7CDF\u7D44\u7E70\u8087\u85FB\u86A4\u8A54\u8ABF\u8D99\u8E81\u9020\u906D\u91E3\u963B\u96D5\u9CE5\u65CF\u7C07\u8DB3\u93C3\u5B58\u5C0A\u5352\u62D9\u731D\u5027\u5B97\u5F9E\u60B0\u616B\u68D5\u6DD9\u742E\u7A2E\u7D42\u7D9C\u7E31\u816B"], + ["f1a1", "\u8E2A\u8E35\u937E\u9418\u4F50\u5750\u5DE6\u5EA7\u632B\u7F6A\u4E3B\u4F4F\u4F8F\u505A\u59DD\u80C4\u546A\u5468\u55FE\u594F\u5B99\u5DDE\u5EDA\u665D\u6731\u67F1\u682A\u6CE8\u6D32\u6E4A\u6F8D\u70B7\u73E0\u7587\u7C4C\u7D02\u7D2C\u7DA2\u821F\u86DB\u8A3B\u8A85\u8D70\u8E8A\u8F33\u9031\u914E\u9152\u9444\u99D0\u7AF9\u7CA5\u4FCA\u5101\u51C6\u57C8\u5BEF\u5CFB\u6659\u6A3D\u6D5A\u6E96\u6FEC\u710C\u756F\u7AE3\u8822\u9021\u9075\u96CB\u99FF\u8301\u4E2D\u4EF2\u8846\u91CD\u537D\u6ADB\u696B\u6C41\u847A\u589E\u618E\u66FE\u62EF\u70DD\u7511\u75C7\u7E52\u84B8\u8B49\u8D08\u4E4B\u53EA"], + ["f2a1", "\u54AB\u5730\u5740\u5FD7\u6301\u6307\u646F\u652F\u65E8\u667A\u679D\u67B3\u6B62\u6C60\u6C9A\u6F2C\u77E5\u7825\u7949\u7957\u7D19\u80A2\u8102\u81F3\u829D\u82B7\u8718\u8A8C\uF9FC\u8D04\u8DBE\u9072\u76F4\u7A19\u7A37\u7E54\u8077\u5507\u55D4\u5875\u632F\u6422\u6649\u664B\u686D\u699B\u6B84\u6D25\u6EB1\u73CD\u7468\u74A1\u755B\u75B9\u76E1\u771E\u778B\u79E6\u7E09\u7E1D\u81FB\u852F\u8897\u8A3A\u8CD1\u8EEB\u8FB0\u9032\u93AD\u9663\u9673\u9707\u4F84\u53F1\u59EA\u5AC9\u5E19\u684E\u74C6\u75BE\u79E9\u7A92\u81A3\u86ED\u8CEA\u8DCC\u8FED\u659F\u6715\uF9FD\u57F7\u6F57\u7DDD\u8F2F"], + ["f3a1", "\u93F6\u96C6\u5FB5\u61F2\u6F84\u4E14\u4F98\u501F\u53C9\u55DF\u5D6F\u5DEE\u6B21\u6B64\u78CB\u7B9A\uF9FE\u8E49\u8ECA\u906E\u6349\u643E\u7740\u7A84\u932F\u947F\u9F6A\u64B0\u6FAF\u71E6\u74A8\u74DA\u7AC4\u7C12\u7E82\u7CB2\u7E98\u8B9A\u8D0A\u947D\u9910\u994C\u5239\u5BDF\u64E6\u672D\u7D2E\u50ED\u53C3\u5879\u6158\u6159\u61FA\u65AC\u7AD9\u8B92\u8B96\u5009\u5021\u5275\u5531\u5A3C\u5EE0\u5F70\u6134\u655E\u660C\u6636\u66A2\u69CD\u6EC4\u6F32\u7316\u7621\u7A93\u8139\u8259\u83D6\u84BC\u50B5\u57F0\u5BC0\u5BE8\u5F69\u63A1\u7826\u7DB5\u83DC\u8521\u91C7\u91F5\u518A\u67F5\u7B56"], + ["f4a1", "\u8CAC\u51C4\u59BB\u60BD\u8655\u501C\uF9FF\u5254\u5C3A\u617D\u621A\u62D3\u64F2\u65A5\u6ECC\u7620\u810A\u8E60\u965F\u96BB\u4EDF\u5343\u5598\u5929\u5DDD\u64C5\u6CC9\u6DFA\u7394\u7A7F\u821B\u85A6\u8CE4\u8E10\u9077\u91E7\u95E1\u9621\u97C6\u51F8\u54F2\u5586\u5FB9\u64A4\u6F88\u7DB4\u8F1F\u8F4D\u9435\u50C9\u5C16\u6CBE\u6DFB\u751B\u77BB\u7C3D\u7C64\u8A79\u8AC2\u581E\u59BE\u5E16\u6377\u7252\u758A\u776B\u8ADC\u8CBC\u8F12\u5EF3\u6674\u6DF8\u807D\u83C1\u8ACB\u9751\u9BD6\uFA00\u5243\u66FF\u6D95\u6EEF\u7DE0\u8AE6\u902E\u905E\u9AD4\u521D\u527F\u54E8\u6194\u6284\u62DB\u68A2"], + ["f5a1", "\u6912\u695A\u6A35\u7092\u7126\u785D\u7901\u790E\u79D2\u7A0D\u8096\u8278\u82D5\u8349\u8549\u8C82\u8D85\u9162\u918B\u91AE\u4FC3\u56D1\u71ED\u77D7\u8700\u89F8\u5BF8\u5FD6\u6751\u90A8\u53E2\u585A\u5BF5\u60A4\u6181\u6460\u7E3D\u8070\u8525\u9283\u64AE\u50AC\u5D14\u6700\u589C\u62BD\u63A8\u690E\u6978\u6A1E\u6E6B\u76BA\u79CB\u82BB\u8429\u8ACF\u8DA8\u8FFD\u9112\u914B\u919C\u9310\u9318\u939A\u96DB\u9A36\u9C0D\u4E11\u755C\u795D\u7AFA\u7B51\u7BC9\u7E2E\u84C4\u8E59\u8E74\u8EF8\u9010\u6625\u693F\u7443\u51FA\u672E\u9EDC\u5145\u5FE0\u6C96\u87F2\u885D\u8877\u60B4\u81B5\u8403"], + ["f6a1", "\u8D05\u53D6\u5439\u5634\u5A36\u5C31\u708A\u7FE0\u805A\u8106\u81ED\u8DA3\u9189\u9A5F\u9DF2\u5074\u4EC4\u53A0\u60FB\u6E2C\u5C64\u4F88\u5024\u55E4\u5CD9\u5E5F\u6065\u6894\u6CBB\u6DC4\u71BE\u75D4\u75F4\u7661\u7A1A\u7A49\u7DC7\u7DFB\u7F6E\u81F4\u86A9\u8F1C\u96C9\u99B3\u9F52\u5247\u52C5\u98ED\u89AA\u4E03\u67D2\u6F06\u4FB5\u5BE2\u6795\u6C88\u6D78\u741B\u7827\u91DD\u937C\u87C4\u79E4\u7A31\u5FEB\u4ED6\u54A4\u553E\u58AE\u59A5\u60F0\u6253\u62D6\u6736\u6955\u8235\u9640\u99B1\u99DD\u502C\u5353\u5544\u577C\uFA01\u6258\uFA02\u64E2\u666B\u67DD\u6FC1\u6FEF\u7422\u7438\u8A17"], + ["f7a1", "\u9438\u5451\u5606\u5766\u5F48\u619A\u6B4E\u7058\u70AD\u7DBB\u8A95\u596A\u812B\u63A2\u7708\u803D\u8CAA\u5854\u642D\u69BB\u5B95\u5E11\u6E6F\uFA03\u8569\u514C\u53F0\u592A\u6020\u614B\u6B86\u6C70\u6CF0\u7B1E\u80CE\u82D4\u8DC6\u90B0\u98B1\uFA04\u64C7\u6FA4\u6491\u6504\u514E\u5410\u571F\u8A0E\u615F\u6876\uFA05\u75DB\u7B52\u7D71\u901A\u5806\u69CC\u817F\u892A\u9000\u9839\u5078\u5957\u59AC\u6295\u900F\u9B2A\u615D\u7279\u95D6\u5761\u5A46\u5DF4\u628A\u64AD\u64FA\u6777\u6CE2\u6D3E\u722C\u7436\u7834\u7F77\u82AD\u8DDB\u9817\u5224\u5742\u677F\u7248\u74E3\u8CA9\u8FA6\u9211"], + ["f8a1", "\u962A\u516B\u53ED\u634C\u4F69\u5504\u6096\u6557\u6C9B\u6D7F\u724C\u72FD\u7A17\u8987\u8C9D\u5F6D\u6F8E\u70F9\u81A8\u610E\u4FBF\u504F\u6241\u7247\u7BC7\u7DE8\u7FE9\u904D\u97AD\u9A19\u8CB6\u576A\u5E73\u67B0\u840D\u8A55\u5420\u5B16\u5E63\u5EE2\u5F0A\u6583\u80BA\u853D\u9589\u965B\u4F48\u5305\u530D\u530F\u5486\u54FA\u5703\u5E03\u6016\u629B\u62B1\u6355\uFA06\u6CE1\u6D66\u75B1\u7832\u80DE\u812F\u82DE\u8461\u84B2\u888D\u8912\u900B\u92EA\u98FD\u9B91\u5E45\u66B4\u66DD\u7011\u7206\uFA07\u4FF5\u527D\u5F6A\u6153\u6753\u6A19\u6F02\u74E2\u7968\u8868\u8C79\u98C7\u98C4\u9A43"], + ["f9a1", "\u54C1\u7A1F\u6953\u8AF7\u8C4A\u98A8\u99AE\u5F7C\u62AB\u75B2\u76AE\u88AB\u907F\u9642\u5339\u5F3C\u5FC5\u6CCC\u73CC\u7562\u758B\u7B46\u82FE\u999D\u4E4F\u903C\u4E0B\u4F55\u53A6\u590F\u5EC8\u6630\u6CB3\u7455\u8377\u8766\u8CC0\u9050\u971E\u9C15\u58D1\u5B78\u8650\u8B14\u9DB4\u5BD2\u6068\u608D\u65F1\u6C57\u6F22\u6FA3\u701A\u7F55\u7FF0\u9591\u9592\u9650\u97D3\u5272\u8F44\u51FD\u542B\u54B8\u5563\u558A\u6ABB\u6DB5\u7DD8\u8266\u929C\u9677\u9E79\u5408\u54C8\u76D2\u86E4\u95A4\u95D4\u965C\u4EA2\u4F09\u59EE\u5AE6\u5DF7\u6052\u6297\u676D\u6841\u6C86\u6E2F\u7F38\u809B\u822A"], + ["faa1", "\uFA08\uFA09\u9805\u4EA5\u5055\u54B3\u5793\u595A\u5B69\u5BB3\u61C8\u6977\u6D77\u7023\u87F9\u89E3\u8A72\u8AE7\u9082\u99ED\u9AB8\u52BE\u6838\u5016\u5E78\u674F\u8347\u884C\u4EAB\u5411\u56AE\u73E6\u9115\u97FF\u9909\u9957\u9999\u5653\u589F\u865B\u8A31\u61B2\u6AF6\u737B\u8ED2\u6B47\u96AA\u9A57\u5955\u7200\u8D6B\u9769\u4FD4\u5CF4\u5F26\u61F8\u665B\u6CEB\u70AB\u7384\u73B9\u73FE\u7729\u774D\u7D43\u7D62\u7E23\u8237\u8852\uFA0A\u8CE2\u9249\u986F\u5B51\u7A74\u8840\u9801\u5ACC\u4FE0\u5354\u593E\u5CFD\u633E\u6D79\u72F9\u8105\u8107\u83A2\u92CF\u9830\u4EA8\u5144\u5211\u578B"], + ["fba1", "\u5F62\u6CC2\u6ECE\u7005\u7050\u70AF\u7192\u73E9\u7469\u834A\u87A2\u8861\u9008\u90A2\u93A3\u99A8\u516E\u5F57\u60E0\u6167\u66B3\u8559\u8E4A\u91AF\u978B\u4E4E\u4E92\u547C\u58D5\u58FA\u597D\u5CB5\u5F27\u6236\u6248\u660A\u6667\u6BEB\u6D69\u6DCF\u6E56\u6EF8\u6F94\u6FE0\u6FE9\u705D\u72D0\u7425\u745A\u74E0\u7693\u795C\u7CCA\u7E1E\u80E1\u82A6\u846B\u84BF\u864E\u865F\u8774\u8B77\u8C6A\u93AC\u9800\u9865\u60D1\u6216\u9177\u5A5A\u660F\u6DF7\u6E3E\u743F\u9B42\u5FFD\u60DA\u7B0F\u54C4\u5F18\u6C5E\u6CD3\u6D2A\u70D8\u7D05\u8679\u8A0C\u9D3B\u5316\u548C\u5B05\u6A3A\u706B\u7575"], + ["fca1", "\u798D\u79BE\u82B1\u83EF\u8A71\u8B41\u8CA8\u9774\uFA0B\u64F4\u652B\u78BA\u78BB\u7A6B\u4E38\u559A\u5950\u5BA6\u5E7B\u60A3\u63DB\u6B61\u6665\u6853\u6E19\u7165\u74B0\u7D08\u9084\u9A69\u9C25\u6D3B\u6ED1\u733E\u8C41\u95CA\u51F0\u5E4C\u5FA8\u604D\u60F6\u6130\u614C\u6643\u6644\u69A5\u6CC1\u6E5F\u6EC9\u6F62\u714C\u749C\u7687\u7BC1\u7C27\u8352\u8757\u9051\u968D\u9EC3\u532F\u56DE\u5EFB\u5F8A\u6062\u6094\u61F7\u6666\u6703\u6A9C\u6DEE\u6FAE\u7070\u736A\u7E6A\u81BE\u8334\u86D4\u8AA8\u8CC4\u5283\u7372\u5B96\u6A6B\u9404\u54EE\u5686\u5B5D\u6548\u6585\u66C9\u689F\u6D8D\u6DC6"], + ["fda1", "\u723B\u80B4\u9175\u9A4D\u4FAF\u5019\u539A\u540E\u543C\u5589\u55C5\u5E3F\u5F8C\u673D\u7166\u73DD\u9005\u52DB\u52F3\u5864\u58CE\u7104\u718F\u71FB\u85B0\u8A13\u6688\u85A8\u55A7\u6684\u714A\u8431\u5349\u5599\u6BC1\u5F59\u5FBD\u63EE\u6689\u7147\u8AF1\u8F1D\u9EBE\u4F11\u643A\u70CB\u7566\u8667\u6064\u8B4E\u9DF8\u5147\u51F6\u5308\u6D36\u80F8\u9ED1\u6615\u6B23\u7098\u75D5\u5403\u5C79\u7D07\u8A16\u6B20\u6B3D\u6B46\u5438\u6070\u6D3D\u7FD5\u8208\u50D6\u51DE\u559C\u566B\u56CD\u59EC\u5B09\u5E0C\u6199\u6198\u6231\u665E\u66E6\u7199\u71B9\u71BA\u72A7\u79A7\u7A00\u7FB2\u8A70"] + ]; + } +}); +var require_cp9502 = __commonJS2({ + "node_modules/body-parser/node_modules/iconv-lite/encodings/tables/cp950.json"(exports2, module2) { + module2.exports = [ + ["0", "\0", 127], + ["a140", "\u3000\uFF0C\u3001\u3002\uFF0E\u2027\uFF1B\uFF1A\uFF1F\uFF01\uFE30\u2026\u2025\uFE50\uFE51\uFE52\xB7\uFE54\uFE55\uFE56\uFE57\uFF5C\u2013\uFE31\u2014\uFE33\u2574\uFE34\uFE4F\uFF08\uFF09\uFE35\uFE36\uFF5B\uFF5D\uFE37\uFE38\u3014\u3015\uFE39\uFE3A\u3010\u3011\uFE3B\uFE3C\u300A\u300B\uFE3D\uFE3E\u3008\u3009\uFE3F\uFE40\u300C\u300D\uFE41\uFE42\u300E\u300F\uFE43\uFE44\uFE59\uFE5A"], + ["a1a1", "\uFE5B\uFE5C\uFE5D\uFE5E\u2018\u2019\u201C\u201D\u301D\u301E\u2035\u2032\uFF03\uFF06\uFF0A\u203B\xA7\u3003\u25CB\u25CF\u25B3\u25B2\u25CE\u2606\u2605\u25C7\u25C6\u25A1\u25A0\u25BD\u25BC\u32A3\u2105\xAF\uFFE3\uFF3F\u02CD\uFE49\uFE4A\uFE4D\uFE4E\uFE4B\uFE4C\uFE5F\uFE60\uFE61\uFF0B\uFF0D\xD7\xF7\xB1\u221A\uFF1C\uFF1E\uFF1D\u2266\u2267\u2260\u221E\u2252\u2261\uFE62", 4, "\uFF5E\u2229\u222A\u22A5\u2220\u221F\u22BF\u33D2\u33D1\u222B\u222E\u2235\u2234\u2640\u2642\u2295\u2299\u2191\u2193\u2190\u2192\u2196\u2197\u2199\u2198\u2225\u2223\uFF0F"], + ["a240", "\uFF3C\u2215\uFE68\uFF04\uFFE5\u3012\uFFE0\uFFE1\uFF05\uFF20\u2103\u2109\uFE69\uFE6A\uFE6B\u33D5\u339C\u339D\u339E\u33CE\u33A1\u338E\u338F\u33C4\xB0\u5159\u515B\u515E\u515D\u5161\u5163\u55E7\u74E9\u7CCE\u2581", 7, "\u258F\u258E\u258D\u258C\u258B\u258A\u2589\u253C\u2534\u252C\u2524\u251C\u2594\u2500\u2502\u2595\u250C\u2510\u2514\u2518\u256D"], + ["a2a1", "\u256E\u2570\u256F\u2550\u255E\u256A\u2561\u25E2\u25E3\u25E5\u25E4\u2571\u2572\u2573\uFF10", 9, "\u2160", 9, "\u3021", 8, "\u5341\u5344\u5345\uFF21", 25, "\uFF41", 21], + ["a340", "\uFF57\uFF58\uFF59\uFF5A\u0391", 16, "\u03A3", 6, "\u03B1", 16, "\u03C3", 6, "\u3105", 10], + ["a3a1", "\u3110", 25, "\u02D9\u02C9\u02CA\u02C7\u02CB"], + ["a3e1", "\u20AC"], + ["a440", "\u4E00\u4E59\u4E01\u4E03\u4E43\u4E5D\u4E86\u4E8C\u4EBA\u513F\u5165\u516B\u51E0\u5200\u5201\u529B\u5315\u5341\u535C\u53C8\u4E09\u4E0B\u4E08\u4E0A\u4E2B\u4E38\u51E1\u4E45\u4E48\u4E5F\u4E5E\u4E8E\u4EA1\u5140\u5203\u52FA\u5343\u53C9\u53E3\u571F\u58EB\u5915\u5927\u5973\u5B50\u5B51\u5B53\u5BF8\u5C0F\u5C22\u5C38\u5C71\u5DDD\u5DE5\u5DF1\u5DF2\u5DF3\u5DFE\u5E72\u5EFE\u5F0B\u5F13\u624D"], + ["a4a1", "\u4E11\u4E10\u4E0D\u4E2D\u4E30\u4E39\u4E4B\u5C39\u4E88\u4E91\u4E95\u4E92\u4E94\u4EA2\u4EC1\u4EC0\u4EC3\u4EC6\u4EC7\u4ECD\u4ECA\u4ECB\u4EC4\u5143\u5141\u5167\u516D\u516E\u516C\u5197\u51F6\u5206\u5207\u5208\u52FB\u52FE\u52FF\u5316\u5339\u5348\u5347\u5345\u535E\u5384\u53CB\u53CA\u53CD\u58EC\u5929\u592B\u592A\u592D\u5B54\u5C11\u5C24\u5C3A\u5C6F\u5DF4\u5E7B\u5EFF\u5F14\u5F15\u5FC3\u6208\u6236\u624B\u624E\u652F\u6587\u6597\u65A4\u65B9\u65E5\u66F0\u6708\u6728\u6B20\u6B62\u6B79\u6BCB\u6BD4\u6BDB\u6C0F\u6C34\u706B\u722A\u7236\u723B\u7247\u7259\u725B\u72AC\u738B\u4E19"], + ["a540", "\u4E16\u4E15\u4E14\u4E18\u4E3B\u4E4D\u4E4F\u4E4E\u4EE5\u4ED8\u4ED4\u4ED5\u4ED6\u4ED7\u4EE3\u4EE4\u4ED9\u4EDE\u5145\u5144\u5189\u518A\u51AC\u51F9\u51FA\u51F8\u520A\u52A0\u529F\u5305\u5306\u5317\u531D\u4EDF\u534A\u5349\u5361\u5360\u536F\u536E\u53BB\u53EF\u53E4\u53F3\u53EC\u53EE\u53E9\u53E8\u53FC\u53F8\u53F5\u53EB\u53E6\u53EA\u53F2\u53F1\u53F0\u53E5\u53ED\u53FB\u56DB\u56DA\u5916"], + ["a5a1", "\u592E\u5931\u5974\u5976\u5B55\u5B83\u5C3C\u5DE8\u5DE7\u5DE6\u5E02\u5E03\u5E73\u5E7C\u5F01\u5F18\u5F17\u5FC5\u620A\u6253\u6254\u6252\u6251\u65A5\u65E6\u672E\u672C\u672A\u672B\u672D\u6B63\u6BCD\u6C11\u6C10\u6C38\u6C41\u6C40\u6C3E\u72AF\u7384\u7389\u74DC\u74E6\u7518\u751F\u7528\u7529\u7530\u7531\u7532\u7533\u758B\u767D\u76AE\u76BF\u76EE\u77DB\u77E2\u77F3\u793A\u79BE\u7A74\u7ACB\u4E1E\u4E1F\u4E52\u4E53\u4E69\u4E99\u4EA4\u4EA6\u4EA5\u4EFF\u4F09\u4F19\u4F0A\u4F15\u4F0D\u4F10\u4F11\u4F0F\u4EF2\u4EF6\u4EFB\u4EF0\u4EF3\u4EFD\u4F01\u4F0B\u5149\u5147\u5146\u5148\u5168"], + ["a640", "\u5171\u518D\u51B0\u5217\u5211\u5212\u520E\u5216\u52A3\u5308\u5321\u5320\u5370\u5371\u5409\u540F\u540C\u540A\u5410\u5401\u540B\u5404\u5411\u540D\u5408\u5403\u540E\u5406\u5412\u56E0\u56DE\u56DD\u5733\u5730\u5728\u572D\u572C\u572F\u5729\u5919\u591A\u5937\u5938\u5984\u5978\u5983\u597D\u5979\u5982\u5981\u5B57\u5B58\u5B87\u5B88\u5B85\u5B89\u5BFA\u5C16\u5C79\u5DDE\u5E06\u5E76\u5E74"], + ["a6a1", "\u5F0F\u5F1B\u5FD9\u5FD6\u620E\u620C\u620D\u6210\u6263\u625B\u6258\u6536\u65E9\u65E8\u65EC\u65ED\u66F2\u66F3\u6709\u673D\u6734\u6731\u6735\u6B21\u6B64\u6B7B\u6C16\u6C5D\u6C57\u6C59\u6C5F\u6C60\u6C50\u6C55\u6C61\u6C5B\u6C4D\u6C4E\u7070\u725F\u725D\u767E\u7AF9\u7C73\u7CF8\u7F36\u7F8A\u7FBD\u8001\u8003\u800C\u8012\u8033\u807F\u8089\u808B\u808C\u81E3\u81EA\u81F3\u81FC\u820C\u821B\u821F\u826E\u8272\u827E\u866B\u8840\u884C\u8863\u897F\u9621\u4E32\u4EA8\u4F4D\u4F4F\u4F47\u4F57\u4F5E\u4F34\u4F5B\u4F55\u4F30\u4F50\u4F51\u4F3D\u4F3A\u4F38\u4F43\u4F54\u4F3C\u4F46\u4F63"], + ["a740", "\u4F5C\u4F60\u4F2F\u4F4E\u4F36\u4F59\u4F5D\u4F48\u4F5A\u514C\u514B\u514D\u5175\u51B6\u51B7\u5225\u5224\u5229\u522A\u5228\u52AB\u52A9\u52AA\u52AC\u5323\u5373\u5375\u541D\u542D\u541E\u543E\u5426\u544E\u5427\u5446\u5443\u5433\u5448\u5442\u541B\u5429\u544A\u5439\u543B\u5438\u542E\u5435\u5436\u5420\u543C\u5440\u5431\u542B\u541F\u542C\u56EA\u56F0\u56E4\u56EB\u574A\u5751\u5740\u574D"], + ["a7a1", "\u5747\u574E\u573E\u5750\u574F\u573B\u58EF\u593E\u599D\u5992\u59A8\u599E\u59A3\u5999\u5996\u598D\u59A4\u5993\u598A\u59A5\u5B5D\u5B5C\u5B5A\u5B5B\u5B8C\u5B8B\u5B8F\u5C2C\u5C40\u5C41\u5C3F\u5C3E\u5C90\u5C91\u5C94\u5C8C\u5DEB\u5E0C\u5E8F\u5E87\u5E8A\u5EF7\u5F04\u5F1F\u5F64\u5F62\u5F77\u5F79\u5FD8\u5FCC\u5FD7\u5FCD\u5FF1\u5FEB\u5FF8\u5FEA\u6212\u6211\u6284\u6297\u6296\u6280\u6276\u6289\u626D\u628A\u627C\u627E\u6279\u6273\u6292\u626F\u6298\u626E\u6295\u6293\u6291\u6286\u6539\u653B\u6538\u65F1\u66F4\u675F\u674E\u674F\u6750\u6751\u675C\u6756\u675E\u6749\u6746\u6760"], + ["a840", "\u6753\u6757\u6B65\u6BCF\u6C42\u6C5E\u6C99\u6C81\u6C88\u6C89\u6C85\u6C9B\u6C6A\u6C7A\u6C90\u6C70\u6C8C\u6C68\u6C96\u6C92\u6C7D\u6C83\u6C72\u6C7E\u6C74\u6C86\u6C76\u6C8D\u6C94\u6C98\u6C82\u7076\u707C\u707D\u7078\u7262\u7261\u7260\u72C4\u72C2\u7396\u752C\u752B\u7537\u7538\u7682\u76EF\u77E3\u79C1\u79C0\u79BF\u7A76\u7CFB\u7F55\u8096\u8093\u809D\u8098\u809B\u809A\u80B2\u826F\u8292"], + ["a8a1", "\u828B\u828D\u898B\u89D2\u8A00\u8C37\u8C46\u8C55\u8C9D\u8D64\u8D70\u8DB3\u8EAB\u8ECA\u8F9B\u8FB0\u8FC2\u8FC6\u8FC5\u8FC4\u5DE1\u9091\u90A2\u90AA\u90A6\u90A3\u9149\u91C6\u91CC\u9632\u962E\u9631\u962A\u962C\u4E26\u4E56\u4E73\u4E8B\u4E9B\u4E9E\u4EAB\u4EAC\u4F6F\u4F9D\u4F8D\u4F73\u4F7F\u4F6C\u4F9B\u4F8B\u4F86\u4F83\u4F70\u4F75\u4F88\u4F69\u4F7B\u4F96\u4F7E\u4F8F\u4F91\u4F7A\u5154\u5152\u5155\u5169\u5177\u5176\u5178\u51BD\u51FD\u523B\u5238\u5237\u523A\u5230\u522E\u5236\u5241\u52BE\u52BB\u5352\u5354\u5353\u5351\u5366\u5377\u5378\u5379\u53D6\u53D4\u53D7\u5473\u5475"], + ["a940", "\u5496\u5478\u5495\u5480\u547B\u5477\u5484\u5492\u5486\u547C\u5490\u5471\u5476\u548C\u549A\u5462\u5468\u548B\u547D\u548E\u56FA\u5783\u5777\u576A\u5769\u5761\u5766\u5764\u577C\u591C\u5949\u5947\u5948\u5944\u5954\u59BE\u59BB\u59D4\u59B9\u59AE\u59D1\u59C6\u59D0\u59CD\u59CB\u59D3\u59CA\u59AF\u59B3\u59D2\u59C5\u5B5F\u5B64\u5B63\u5B97\u5B9A\u5B98\u5B9C\u5B99\u5B9B\u5C1A\u5C48\u5C45"], + ["a9a1", "\u5C46\u5CB7\u5CA1\u5CB8\u5CA9\u5CAB\u5CB1\u5CB3\u5E18\u5E1A\u5E16\u5E15\u5E1B\u5E11\u5E78\u5E9A\u5E97\u5E9C\u5E95\u5E96\u5EF6\u5F26\u5F27\u5F29\u5F80\u5F81\u5F7F\u5F7C\u5FDD\u5FE0\u5FFD\u5FF5\u5FFF\u600F\u6014\u602F\u6035\u6016\u602A\u6015\u6021\u6027\u6029\u602B\u601B\u6216\u6215\u623F\u623E\u6240\u627F\u62C9\u62CC\u62C4\u62BF\u62C2\u62B9\u62D2\u62DB\u62AB\u62D3\u62D4\u62CB\u62C8\u62A8\u62BD\u62BC\u62D0\u62D9\u62C7\u62CD\u62B5\u62DA\u62B1\u62D8\u62D6\u62D7\u62C6\u62AC\u62CE\u653E\u65A7\u65BC\u65FA\u6614\u6613\u660C\u6606\u6602\u660E\u6600\u660F\u6615\u660A"], + ["aa40", "\u6607\u670D\u670B\u676D\u678B\u6795\u6771\u679C\u6773\u6777\u6787\u679D\u6797\u676F\u6770\u677F\u6789\u677E\u6790\u6775\u679A\u6793\u677C\u676A\u6772\u6B23\u6B66\u6B67\u6B7F\u6C13\u6C1B\u6CE3\u6CE8\u6CF3\u6CB1\u6CCC\u6CE5\u6CB3\u6CBD\u6CBE\u6CBC\u6CE2\u6CAB\u6CD5\u6CD3\u6CB8\u6CC4\u6CB9\u6CC1\u6CAE\u6CD7\u6CC5\u6CF1\u6CBF\u6CBB\u6CE1\u6CDB\u6CCA\u6CAC\u6CEF\u6CDC\u6CD6\u6CE0"], + ["aaa1", "\u7095\u708E\u7092\u708A\u7099\u722C\u722D\u7238\u7248\u7267\u7269\u72C0\u72CE\u72D9\u72D7\u72D0\u73A9\u73A8\u739F\u73AB\u73A5\u753D\u759D\u7599\u759A\u7684\u76C2\u76F2\u76F4\u77E5\u77FD\u793E\u7940\u7941\u79C9\u79C8\u7A7A\u7A79\u7AFA\u7CFE\u7F54\u7F8C\u7F8B\u8005\u80BA\u80A5\u80A2\u80B1\u80A1\u80AB\u80A9\u80B4\u80AA\u80AF\u81E5\u81FE\u820D\u82B3\u829D\u8299\u82AD\u82BD\u829F\u82B9\u82B1\u82AC\u82A5\u82AF\u82B8\u82A3\u82B0\u82BE\u82B7\u864E\u8671\u521D\u8868\u8ECB\u8FCE\u8FD4\u8FD1\u90B5\u90B8\u90B1\u90B6\u91C7\u91D1\u9577\u9580\u961C\u9640\u963F\u963B\u9644"], + ["ab40", "\u9642\u96B9\u96E8\u9752\u975E\u4E9F\u4EAD\u4EAE\u4FE1\u4FB5\u4FAF\u4FBF\u4FE0\u4FD1\u4FCF\u4FDD\u4FC3\u4FB6\u4FD8\u4FDF\u4FCA\u4FD7\u4FAE\u4FD0\u4FC4\u4FC2\u4FDA\u4FCE\u4FDE\u4FB7\u5157\u5192\u5191\u51A0\u524E\u5243\u524A\u524D\u524C\u524B\u5247\u52C7\u52C9\u52C3\u52C1\u530D\u5357\u537B\u539A\u53DB\u54AC\u54C0\u54A8\u54CE\u54C9\u54B8\u54A6\u54B3\u54C7\u54C2\u54BD\u54AA\u54C1"], + ["aba1", "\u54C4\u54C8\u54AF\u54AB\u54B1\u54BB\u54A9\u54A7\u54BF\u56FF\u5782\u578B\u57A0\u57A3\u57A2\u57CE\u57AE\u5793\u5955\u5951\u594F\u594E\u5950\u59DC\u59D8\u59FF\u59E3\u59E8\u5A03\u59E5\u59EA\u59DA\u59E6\u5A01\u59FB\u5B69\u5BA3\u5BA6\u5BA4\u5BA2\u5BA5\u5C01\u5C4E\u5C4F\u5C4D\u5C4B\u5CD9\u5CD2\u5DF7\u5E1D\u5E25\u5E1F\u5E7D\u5EA0\u5EA6\u5EFA\u5F08\u5F2D\u5F65\u5F88\u5F85\u5F8A\u5F8B\u5F87\u5F8C\u5F89\u6012\u601D\u6020\u6025\u600E\u6028\u604D\u6070\u6068\u6062\u6046\u6043\u606C\u606B\u606A\u6064\u6241\u62DC\u6316\u6309\u62FC\u62ED\u6301\u62EE\u62FD\u6307\u62F1\u62F7"], + ["ac40", "\u62EF\u62EC\u62FE\u62F4\u6311\u6302\u653F\u6545\u65AB\u65BD\u65E2\u6625\u662D\u6620\u6627\u662F\u661F\u6628\u6631\u6624\u66F7\u67FF\u67D3\u67F1\u67D4\u67D0\u67EC\u67B6\u67AF\u67F5\u67E9\u67EF\u67C4\u67D1\u67B4\u67DA\u67E5\u67B8\u67CF\u67DE\u67F3\u67B0\u67D9\u67E2\u67DD\u67D2\u6B6A\u6B83\u6B86\u6BB5\u6BD2\u6BD7\u6C1F\u6CC9\u6D0B\u6D32\u6D2A\u6D41\u6D25\u6D0C\u6D31\u6D1E\u6D17"], + ["aca1", "\u6D3B\u6D3D\u6D3E\u6D36\u6D1B\u6CF5\u6D39\u6D27\u6D38\u6D29\u6D2E\u6D35\u6D0E\u6D2B\u70AB\u70BA\u70B3\u70AC\u70AF\u70AD\u70B8\u70AE\u70A4\u7230\u7272\u726F\u7274\u72E9\u72E0\u72E1\u73B7\u73CA\u73BB\u73B2\u73CD\u73C0\u73B3\u751A\u752D\u754F\u754C\u754E\u754B\u75AB\u75A4\u75A5\u75A2\u75A3\u7678\u7686\u7687\u7688\u76C8\u76C6\u76C3\u76C5\u7701\u76F9\u76F8\u7709\u770B\u76FE\u76FC\u7707\u77DC\u7802\u7814\u780C\u780D\u7946\u7949\u7948\u7947\u79B9\u79BA\u79D1\u79D2\u79CB\u7A7F\u7A81\u7AFF\u7AFD\u7C7D\u7D02\u7D05\u7D00\u7D09\u7D07\u7D04\u7D06\u7F38\u7F8E\u7FBF\u8004"], + ["ad40", "\u8010\u800D\u8011\u8036\u80D6\u80E5\u80DA\u80C3\u80C4\u80CC\u80E1\u80DB\u80CE\u80DE\u80E4\u80DD\u81F4\u8222\u82E7\u8303\u8305\u82E3\u82DB\u82E6\u8304\u82E5\u8302\u8309\u82D2\u82D7\u82F1\u8301\u82DC\u82D4\u82D1\u82DE\u82D3\u82DF\u82EF\u8306\u8650\u8679\u867B\u867A\u884D\u886B\u8981\u89D4\u8A08\u8A02\u8A03\u8C9E\u8CA0\u8D74\u8D73\u8DB4\u8ECD\u8ECC\u8FF0\u8FE6\u8FE2\u8FEA\u8FE5"], + ["ada1", "\u8FED\u8FEB\u8FE4\u8FE8\u90CA\u90CE\u90C1\u90C3\u914B\u914A\u91CD\u9582\u9650\u964B\u964C\u964D\u9762\u9769\u97CB\u97ED\u97F3\u9801\u98A8\u98DB\u98DF\u9996\u9999\u4E58\u4EB3\u500C\u500D\u5023\u4FEF\u5026\u5025\u4FF8\u5029\u5016\u5006\u503C\u501F\u501A\u5012\u5011\u4FFA\u5000\u5014\u5028\u4FF1\u5021\u500B\u5019\u5018\u4FF3\u4FEE\u502D\u502A\u4FFE\u502B\u5009\u517C\u51A4\u51A5\u51A2\u51CD\u51CC\u51C6\u51CB\u5256\u525C\u5254\u525B\u525D\u532A\u537F\u539F\u539D\u53DF\u54E8\u5510\u5501\u5537\u54FC\u54E5\u54F2\u5506\u54FA\u5514\u54E9\u54ED\u54E1\u5509\u54EE\u54EA"], + ["ae40", "\u54E6\u5527\u5507\u54FD\u550F\u5703\u5704\u57C2\u57D4\u57CB\u57C3\u5809\u590F\u5957\u5958\u595A\u5A11\u5A18\u5A1C\u5A1F\u5A1B\u5A13\u59EC\u5A20\u5A23\u5A29\u5A25\u5A0C\u5A09\u5B6B\u5C58\u5BB0\u5BB3\u5BB6\u5BB4\u5BAE\u5BB5\u5BB9\u5BB8\u5C04\u5C51\u5C55\u5C50\u5CED\u5CFD\u5CFB\u5CEA\u5CE8\u5CF0\u5CF6\u5D01\u5CF4\u5DEE\u5E2D\u5E2B\u5EAB\u5EAD\u5EA7\u5F31\u5F92\u5F91\u5F90\u6059"], + ["aea1", "\u6063\u6065\u6050\u6055\u606D\u6069\u606F\u6084\u609F\u609A\u608D\u6094\u608C\u6085\u6096\u6247\u62F3\u6308\u62FF\u634E\u633E\u632F\u6355\u6342\u6346\u634F\u6349\u633A\u6350\u633D\u632A\u632B\u6328\u634D\u634C\u6548\u6549\u6599\u65C1\u65C5\u6642\u6649\u664F\u6643\u6652\u664C\u6645\u6641\u66F8\u6714\u6715\u6717\u6821\u6838\u6848\u6846\u6853\u6839\u6842\u6854\u6829\u68B3\u6817\u684C\u6851\u683D\u67F4\u6850\u6840\u683C\u6843\u682A\u6845\u6813\u6818\u6841\u6B8A\u6B89\u6BB7\u6C23\u6C27\u6C28\u6C26\u6C24\u6CF0\u6D6A\u6D95\u6D88\u6D87\u6D66\u6D78\u6D77\u6D59\u6D93"], + ["af40", "\u6D6C\u6D89\u6D6E\u6D5A\u6D74\u6D69\u6D8C\u6D8A\u6D79\u6D85\u6D65\u6D94\u70CA\u70D8\u70E4\u70D9\u70C8\u70CF\u7239\u7279\u72FC\u72F9\u72FD\u72F8\u72F7\u7386\u73ED\u7409\u73EE\u73E0\u73EA\u73DE\u7554\u755D\u755C\u755A\u7559\u75BE\u75C5\u75C7\u75B2\u75B3\u75BD\u75BC\u75B9\u75C2\u75B8\u768B\u76B0\u76CA\u76CD\u76CE\u7729\u771F\u7720\u7728\u77E9\u7830\u7827\u7838\u781D\u7834\u7837"], + ["afa1", "\u7825\u782D\u7820\u781F\u7832\u7955\u7950\u7960\u795F\u7956\u795E\u795D\u7957\u795A\u79E4\u79E3\u79E7\u79DF\u79E6\u79E9\u79D8\u7A84\u7A88\u7AD9\u7B06\u7B11\u7C89\u7D21\u7D17\u7D0B\u7D0A\u7D20\u7D22\u7D14\u7D10\u7D15\u7D1A\u7D1C\u7D0D\u7D19\u7D1B\u7F3A\u7F5F\u7F94\u7FC5\u7FC1\u8006\u8018\u8015\u8019\u8017\u803D\u803F\u80F1\u8102\u80F0\u8105\u80ED\u80F4\u8106\u80F8\u80F3\u8108\u80FD\u810A\u80FC\u80EF\u81ED\u81EC\u8200\u8210\u822A\u822B\u8228\u822C\u82BB\u832B\u8352\u8354\u834A\u8338\u8350\u8349\u8335\u8334\u834F\u8332\u8339\u8336\u8317\u8340\u8331\u8328\u8343"], + ["b040", "\u8654\u868A\u86AA\u8693\u86A4\u86A9\u868C\u86A3\u869C\u8870\u8877\u8881\u8882\u887D\u8879\u8A18\u8A10\u8A0E\u8A0C\u8A15\u8A0A\u8A17\u8A13\u8A16\u8A0F\u8A11\u8C48\u8C7A\u8C79\u8CA1\u8CA2\u8D77\u8EAC\u8ED2\u8ED4\u8ECF\u8FB1\u9001\u9006\u8FF7\u9000\u8FFA\u8FF4\u9003\u8FFD\u9005\u8FF8\u9095\u90E1\u90DD\u90E2\u9152\u914D\u914C\u91D8\u91DD\u91D7\u91DC\u91D9\u9583\u9662\u9663\u9661"], + ["b0a1", "\u965B\u965D\u9664\u9658\u965E\u96BB\u98E2\u99AC\u9AA8\u9AD8\u9B25\u9B32\u9B3C\u4E7E\u507A\u507D\u505C\u5047\u5043\u504C\u505A\u5049\u5065\u5076\u504E\u5055\u5075\u5074\u5077\u504F\u500F\u506F\u506D\u515C\u5195\u51F0\u526A\u526F\u52D2\u52D9\u52D8\u52D5\u5310\u530F\u5319\u533F\u5340\u533E\u53C3\u66FC\u5546\u556A\u5566\u5544\u555E\u5561\u5543\u554A\u5531\u5556\u554F\u5555\u552F\u5564\u5538\u552E\u555C\u552C\u5563\u5533\u5541\u5557\u5708\u570B\u5709\u57DF\u5805\u580A\u5806\u57E0\u57E4\u57FA\u5802\u5835\u57F7\u57F9\u5920\u5962\u5A36\u5A41\u5A49\u5A66\u5A6A\u5A40"], + ["b140", "\u5A3C\u5A62\u5A5A\u5A46\u5A4A\u5B70\u5BC7\u5BC5\u5BC4\u5BC2\u5BBF\u5BC6\u5C09\u5C08\u5C07\u5C60\u5C5C\u5C5D\u5D07\u5D06\u5D0E\u5D1B\u5D16\u5D22\u5D11\u5D29\u5D14\u5D19\u5D24\u5D27\u5D17\u5DE2\u5E38\u5E36\u5E33\u5E37\u5EB7\u5EB8\u5EB6\u5EB5\u5EBE\u5F35\u5F37\u5F57\u5F6C\u5F69\u5F6B\u5F97\u5F99\u5F9E\u5F98\u5FA1\u5FA0\u5F9C\u607F\u60A3\u6089\u60A0\u60A8\u60CB\u60B4\u60E6\u60BD"], + ["b1a1", "\u60C5\u60BB\u60B5\u60DC\u60BC\u60D8\u60D5\u60C6\u60DF\u60B8\u60DA\u60C7\u621A\u621B\u6248\u63A0\u63A7\u6372\u6396\u63A2\u63A5\u6377\u6367\u6398\u63AA\u6371\u63A9\u6389\u6383\u639B\u636B\u63A8\u6384\u6388\u6399\u63A1\u63AC\u6392\u638F\u6380\u637B\u6369\u6368\u637A\u655D\u6556\u6551\u6559\u6557\u555F\u654F\u6558\u6555\u6554\u659C\u659B\u65AC\u65CF\u65CB\u65CC\u65CE\u665D\u665A\u6664\u6668\u6666\u665E\u66F9\u52D7\u671B\u6881\u68AF\u68A2\u6893\u68B5\u687F\u6876\u68B1\u68A7\u6897\u68B0\u6883\u68C4\u68AD\u6886\u6885\u6894\u689D\u68A8\u689F\u68A1\u6882\u6B32\u6BBA"], + ["b240", "\u6BEB\u6BEC\u6C2B\u6D8E\u6DBC\u6DF3\u6DD9\u6DB2\u6DE1\u6DCC\u6DE4\u6DFB\u6DFA\u6E05\u6DC7\u6DCB\u6DAF\u6DD1\u6DAE\u6DDE\u6DF9\u6DB8\u6DF7\u6DF5\u6DC5\u6DD2\u6E1A\u6DB5\u6DDA\u6DEB\u6DD8\u6DEA\u6DF1\u6DEE\u6DE8\u6DC6\u6DC4\u6DAA\u6DEC\u6DBF\u6DE6\u70F9\u7109\u710A\u70FD\u70EF\u723D\u727D\u7281\u731C\u731B\u7316\u7313\u7319\u7387\u7405\u740A\u7403\u7406\u73FE\u740D\u74E0\u74F6"], + ["b2a1", "\u74F7\u751C\u7522\u7565\u7566\u7562\u7570\u758F\u75D4\u75D5\u75B5\u75CA\u75CD\u768E\u76D4\u76D2\u76DB\u7737\u773E\u773C\u7736\u7738\u773A\u786B\u7843\u784E\u7965\u7968\u796D\u79FB\u7A92\u7A95\u7B20\u7B28\u7B1B\u7B2C\u7B26\u7B19\u7B1E\u7B2E\u7C92\u7C97\u7C95\u7D46\u7D43\u7D71\u7D2E\u7D39\u7D3C\u7D40\u7D30\u7D33\u7D44\u7D2F\u7D42\u7D32\u7D31\u7F3D\u7F9E\u7F9A\u7FCC\u7FCE\u7FD2\u801C\u804A\u8046\u812F\u8116\u8123\u812B\u8129\u8130\u8124\u8202\u8235\u8237\u8236\u8239\u838E\u839E\u8398\u8378\u83A2\u8396\u83BD\u83AB\u8392\u838A\u8393\u8389\u83A0\u8377\u837B\u837C"], + ["b340", "\u8386\u83A7\u8655\u5F6A\u86C7\u86C0\u86B6\u86C4\u86B5\u86C6\u86CB\u86B1\u86AF\u86C9\u8853\u889E\u8888\u88AB\u8892\u8896\u888D\u888B\u8993\u898F\u8A2A\u8A1D\u8A23\u8A25\u8A31\u8A2D\u8A1F\u8A1B\u8A22\u8C49\u8C5A\u8CA9\u8CAC\u8CAB\u8CA8\u8CAA\u8CA7\u8D67\u8D66\u8DBE\u8DBA\u8EDB\u8EDF\u9019\u900D\u901A\u9017\u9023\u901F\u901D\u9010\u9015\u901E\u9020\u900F\u9022\u9016\u901B\u9014"], + ["b3a1", "\u90E8\u90ED\u90FD\u9157\u91CE\u91F5\u91E6\u91E3\u91E7\u91ED\u91E9\u9589\u966A\u9675\u9673\u9678\u9670\u9674\u9676\u9677\u966C\u96C0\u96EA\u96E9\u7AE0\u7ADF\u9802\u9803\u9B5A\u9CE5\u9E75\u9E7F\u9EA5\u9EBB\u50A2\u508D\u5085\u5099\u5091\u5080\u5096\u5098\u509A\u6700\u51F1\u5272\u5274\u5275\u5269\u52DE\u52DD\u52DB\u535A\u53A5\u557B\u5580\u55A7\u557C\u558A\u559D\u5598\u5582\u559C\u55AA\u5594\u5587\u558B\u5583\u55B3\u55AE\u559F\u553E\u55B2\u559A\u55BB\u55AC\u55B1\u557E\u5589\u55AB\u5599\u570D\u582F\u582A\u5834\u5824\u5830\u5831\u5821\u581D\u5820\u58F9\u58FA\u5960"], + ["b440", "\u5A77\u5A9A\u5A7F\u5A92\u5A9B\u5AA7\u5B73\u5B71\u5BD2\u5BCC\u5BD3\u5BD0\u5C0A\u5C0B\u5C31\u5D4C\u5D50\u5D34\u5D47\u5DFD\u5E45\u5E3D\u5E40\u5E43\u5E7E\u5ECA\u5EC1\u5EC2\u5EC4\u5F3C\u5F6D\u5FA9\u5FAA\u5FA8\u60D1\u60E1\u60B2\u60B6\u60E0\u611C\u6123\u60FA\u6115\u60F0\u60FB\u60F4\u6168\u60F1\u610E\u60F6\u6109\u6100\u6112\u621F\u6249\u63A3\u638C\u63CF\u63C0\u63E9\u63C9\u63C6\u63CD"], + ["b4a1", "\u63D2\u63E3\u63D0\u63E1\u63D6\u63ED\u63EE\u6376\u63F4\u63EA\u63DB\u6452\u63DA\u63F9\u655E\u6566\u6562\u6563\u6591\u6590\u65AF\u666E\u6670\u6674\u6676\u666F\u6691\u667A\u667E\u6677\u66FE\u66FF\u671F\u671D\u68FA\u68D5\u68E0\u68D8\u68D7\u6905\u68DF\u68F5\u68EE\u68E7\u68F9\u68D2\u68F2\u68E3\u68CB\u68CD\u690D\u6912\u690E\u68C9\u68DA\u696E\u68FB\u6B3E\u6B3A\u6B3D\u6B98\u6B96\u6BBC\u6BEF\u6C2E\u6C2F\u6C2C\u6E2F\u6E38\u6E54\u6E21\u6E32\u6E67\u6E4A\u6E20\u6E25\u6E23\u6E1B\u6E5B\u6E58\u6E24\u6E56\u6E6E\u6E2D\u6E26\u6E6F\u6E34\u6E4D\u6E3A\u6E2C\u6E43\u6E1D\u6E3E\u6ECB"], + ["b540", "\u6E89\u6E19\u6E4E\u6E63\u6E44\u6E72\u6E69\u6E5F\u7119\u711A\u7126\u7130\u7121\u7136\u716E\u711C\u724C\u7284\u7280\u7336\u7325\u7334\u7329\u743A\u742A\u7433\u7422\u7425\u7435\u7436\u7434\u742F\u741B\u7426\u7428\u7525\u7526\u756B\u756A\u75E2\u75DB\u75E3\u75D9\u75D8\u75DE\u75E0\u767B\u767C\u7696\u7693\u76B4\u76DC\u774F\u77ED\u785D\u786C\u786F\u7A0D\u7A08\u7A0B\u7A05\u7A00\u7A98"], + ["b5a1", "\u7A97\u7A96\u7AE5\u7AE3\u7B49\u7B56\u7B46\u7B50\u7B52\u7B54\u7B4D\u7B4B\u7B4F\u7B51\u7C9F\u7CA5\u7D5E\u7D50\u7D68\u7D55\u7D2B\u7D6E\u7D72\u7D61\u7D66\u7D62\u7D70\u7D73\u5584\u7FD4\u7FD5\u800B\u8052\u8085\u8155\u8154\u814B\u8151\u814E\u8139\u8146\u813E\u814C\u8153\u8174\u8212\u821C\u83E9\u8403\u83F8\u840D\u83E0\u83C5\u840B\u83C1\u83EF\u83F1\u83F4\u8457\u840A\u83F0\u840C\u83CC\u83FD\u83F2\u83CA\u8438\u840E\u8404\u83DC\u8407\u83D4\u83DF\u865B\u86DF\u86D9\u86ED\u86D4\u86DB\u86E4\u86D0\u86DE\u8857\u88C1\u88C2\u88B1\u8983\u8996\u8A3B\u8A60\u8A55\u8A5E\u8A3C\u8A41"], + ["b640", "\u8A54\u8A5B\u8A50\u8A46\u8A34\u8A3A\u8A36\u8A56\u8C61\u8C82\u8CAF\u8CBC\u8CB3\u8CBD\u8CC1\u8CBB\u8CC0\u8CB4\u8CB7\u8CB6\u8CBF\u8CB8\u8D8A\u8D85\u8D81\u8DCE\u8DDD\u8DCB\u8DDA\u8DD1\u8DCC\u8DDB\u8DC6\u8EFB\u8EF8\u8EFC\u8F9C\u902E\u9035\u9031\u9038\u9032\u9036\u9102\u90F5\u9109\u90FE\u9163\u9165\u91CF\u9214\u9215\u9223\u9209\u921E\u920D\u9210\u9207\u9211\u9594\u958F\u958B\u9591"], + ["b6a1", "\u9593\u9592\u958E\u968A\u968E\u968B\u967D\u9685\u9686\u968D\u9672\u9684\u96C1\u96C5\u96C4\u96C6\u96C7\u96EF\u96F2\u97CC\u9805\u9806\u9808\u98E7\u98EA\u98EF\u98E9\u98F2\u98ED\u99AE\u99AD\u9EC3\u9ECD\u9ED1\u4E82\u50AD\u50B5\u50B2\u50B3\u50C5\u50BE\u50AC\u50B7\u50BB\u50AF\u50C7\u527F\u5277\u527D\u52DF\u52E6\u52E4\u52E2\u52E3\u532F\u55DF\u55E8\u55D3\u55E6\u55CE\u55DC\u55C7\u55D1\u55E3\u55E4\u55EF\u55DA\u55E1\u55C5\u55C6\u55E5\u55C9\u5712\u5713\u585E\u5851\u5858\u5857\u585A\u5854\u586B\u584C\u586D\u584A\u5862\u5852\u584B\u5967\u5AC1\u5AC9\u5ACC\u5ABE\u5ABD\u5ABC"], + ["b740", "\u5AB3\u5AC2\u5AB2\u5D69\u5D6F\u5E4C\u5E79\u5EC9\u5EC8\u5F12\u5F59\u5FAC\u5FAE\u611A\u610F\u6148\u611F\u60F3\u611B\u60F9\u6101\u6108\u614E\u614C\u6144\u614D\u613E\u6134\u6127\u610D\u6106\u6137\u6221\u6222\u6413\u643E\u641E\u642A\u642D\u643D\u642C\u640F\u641C\u6414\u640D\u6436\u6416\u6417\u6406\u656C\u659F\u65B0\u6697\u6689\u6687\u6688\u6696\u6684\u6698\u668D\u6703\u6994\u696D"], + ["b7a1", "\u695A\u6977\u6960\u6954\u6975\u6930\u6982\u694A\u6968\u696B\u695E\u6953\u6979\u6986\u695D\u6963\u695B\u6B47\u6B72\u6BC0\u6BBF\u6BD3\u6BFD\u6EA2\u6EAF\u6ED3\u6EB6\u6EC2\u6E90\u6E9D\u6EC7\u6EC5\u6EA5\u6E98\u6EBC\u6EBA\u6EAB\u6ED1\u6E96\u6E9C\u6EC4\u6ED4\u6EAA\u6EA7\u6EB4\u714E\u7159\u7169\u7164\u7149\u7167\u715C\u716C\u7166\u714C\u7165\u715E\u7146\u7168\u7156\u723A\u7252\u7337\u7345\u733F\u733E\u746F\u745A\u7455\u745F\u745E\u7441\u743F\u7459\u745B\u745C\u7576\u7578\u7600\u75F0\u7601\u75F2\u75F1\u75FA\u75FF\u75F4\u75F3\u76DE\u76DF\u775B\u776B\u7766\u775E\u7763"], + ["b840", "\u7779\u776A\u776C\u775C\u7765\u7768\u7762\u77EE\u788E\u78B0\u7897\u7898\u788C\u7889\u787C\u7891\u7893\u787F\u797A\u797F\u7981\u842C\u79BD\u7A1C\u7A1A\u7A20\u7A14\u7A1F\u7A1E\u7A9F\u7AA0\u7B77\u7BC0\u7B60\u7B6E\u7B67\u7CB1\u7CB3\u7CB5\u7D93\u7D79\u7D91\u7D81\u7D8F\u7D5B\u7F6E\u7F69\u7F6A\u7F72\u7FA9\u7FA8\u7FA4\u8056\u8058\u8086\u8084\u8171\u8170\u8178\u8165\u816E\u8173\u816B"], + ["b8a1", "\u8179\u817A\u8166\u8205\u8247\u8482\u8477\u843D\u8431\u8475\u8466\u846B\u8449\u846C\u845B\u843C\u8435\u8461\u8463\u8469\u846D\u8446\u865E\u865C\u865F\u86F9\u8713\u8708\u8707\u8700\u86FE\u86FB\u8702\u8703\u8706\u870A\u8859\u88DF\u88D4\u88D9\u88DC\u88D8\u88DD\u88E1\u88CA\u88D5\u88D2\u899C\u89E3\u8A6B\u8A72\u8A73\u8A66\u8A69\u8A70\u8A87\u8A7C\u8A63\u8AA0\u8A71\u8A85\u8A6D\u8A62\u8A6E\u8A6C\u8A79\u8A7B\u8A3E\u8A68\u8C62\u8C8A\u8C89\u8CCA\u8CC7\u8CC8\u8CC4\u8CB2\u8CC3\u8CC2\u8CC5\u8DE1\u8DDF\u8DE8\u8DEF\u8DF3\u8DFA\u8DEA\u8DE4\u8DE6\u8EB2\u8F03\u8F09\u8EFE\u8F0A"], + ["b940", "\u8F9F\u8FB2\u904B\u904A\u9053\u9042\u9054\u903C\u9055\u9050\u9047\u904F\u904E\u904D\u9051\u903E\u9041\u9112\u9117\u916C\u916A\u9169\u91C9\u9237\u9257\u9238\u923D\u9240\u923E\u925B\u924B\u9264\u9251\u9234\u9249\u924D\u9245\u9239\u923F\u925A\u9598\u9698\u9694\u9695\u96CD\u96CB\u96C9\u96CA\u96F7\u96FB\u96F9\u96F6\u9756\u9774\u9776\u9810\u9811\u9813\u980A\u9812\u980C\u98FC\u98F4"], + ["b9a1", "\u98FD\u98FE\u99B3\u99B1\u99B4\u9AE1\u9CE9\u9E82\u9F0E\u9F13\u9F20\u50E7\u50EE\u50E5\u50D6\u50ED\u50DA\u50D5\u50CF\u50D1\u50F1\u50CE\u50E9\u5162\u51F3\u5283\u5282\u5331\u53AD\u55FE\u5600\u561B\u5617\u55FD\u5614\u5606\u5609\u560D\u560E\u55F7\u5616\u561F\u5608\u5610\u55F6\u5718\u5716\u5875\u587E\u5883\u5893\u588A\u5879\u5885\u587D\u58FD\u5925\u5922\u5924\u596A\u5969\u5AE1\u5AE6\u5AE9\u5AD7\u5AD6\u5AD8\u5AE3\u5B75\u5BDE\u5BE7\u5BE1\u5BE5\u5BE6\u5BE8\u5BE2\u5BE4\u5BDF\u5C0D\u5C62\u5D84\u5D87\u5E5B\u5E63\u5E55\u5E57\u5E54\u5ED3\u5ED6\u5F0A\u5F46\u5F70\u5FB9\u6147"], + ["ba40", "\u613F\u614B\u6177\u6162\u6163\u615F\u615A\u6158\u6175\u622A\u6487\u6458\u6454\u64A4\u6478\u645F\u647A\u6451\u6467\u6434\u646D\u647B\u6572\u65A1\u65D7\u65D6\u66A2\u66A8\u669D\u699C\u69A8\u6995\u69C1\u69AE\u69D3\u69CB\u699B\u69B7\u69BB\u69AB\u69B4\u69D0\u69CD\u69AD\u69CC\u69A6\u69C3\u69A3\u6B49\u6B4C\u6C33\u6F33\u6F14\u6EFE\u6F13\u6EF4\u6F29\u6F3E\u6F20\u6F2C\u6F0F\u6F02\u6F22"], + ["baa1", "\u6EFF\u6EEF\u6F06\u6F31\u6F38\u6F32\u6F23\u6F15\u6F2B\u6F2F\u6F88\u6F2A\u6EEC\u6F01\u6EF2\u6ECC\u6EF7\u7194\u7199\u717D\u718A\u7184\u7192\u723E\u7292\u7296\u7344\u7350\u7464\u7463\u746A\u7470\u746D\u7504\u7591\u7627\u760D\u760B\u7609\u7613\u76E1\u76E3\u7784\u777D\u777F\u7761\u78C1\u789F\u78A7\u78B3\u78A9\u78A3\u798E\u798F\u798D\u7A2E\u7A31\u7AAA\u7AA9\u7AED\u7AEF\u7BA1\u7B95\u7B8B\u7B75\u7B97\u7B9D\u7B94\u7B8F\u7BB8\u7B87\u7B84\u7CB9\u7CBD\u7CBE\u7DBB\u7DB0\u7D9C\u7DBD\u7DBE\u7DA0\u7DCA\u7DB4\u7DB2\u7DB1\u7DBA\u7DA2\u7DBF\u7DB5\u7DB8\u7DAD\u7DD2\u7DC7\u7DAC"], + ["bb40", "\u7F70\u7FE0\u7FE1\u7FDF\u805E\u805A\u8087\u8150\u8180\u818F\u8188\u818A\u817F\u8182\u81E7\u81FA\u8207\u8214\u821E\u824B\u84C9\u84BF\u84C6\u84C4\u8499\u849E\u84B2\u849C\u84CB\u84B8\u84C0\u84D3\u8490\u84BC\u84D1\u84CA\u873F\u871C\u873B\u8722\u8725\u8734\u8718\u8755\u8737\u8729\u88F3\u8902\u88F4\u88F9\u88F8\u88FD\u88E8\u891A\u88EF\u8AA6\u8A8C\u8A9E\u8AA3\u8A8D\u8AA1\u8A93\u8AA4"], + ["bba1", "\u8AAA\u8AA5\u8AA8\u8A98\u8A91\u8A9A\u8AA7\u8C6A\u8C8D\u8C8C\u8CD3\u8CD1\u8CD2\u8D6B\u8D99\u8D95\u8DFC\u8F14\u8F12\u8F15\u8F13\u8FA3\u9060\u9058\u905C\u9063\u9059\u905E\u9062\u905D\u905B\u9119\u9118\u911E\u9175\u9178\u9177\u9174\u9278\u9280\u9285\u9298\u9296\u927B\u9293\u929C\u92A8\u927C\u9291\u95A1\u95A8\u95A9\u95A3\u95A5\u95A4\u9699\u969C\u969B\u96CC\u96D2\u9700\u977C\u9785\u97F6\u9817\u9818\u98AF\u98B1\u9903\u9905\u990C\u9909\u99C1\u9AAF\u9AB0\u9AE6\u9B41\u9B42\u9CF4\u9CF6\u9CF3\u9EBC\u9F3B\u9F4A\u5104\u5100\u50FB\u50F5\u50F9\u5102\u5108\u5109\u5105\u51DC"], + ["bc40", "\u5287\u5288\u5289\u528D\u528A\u52F0\u53B2\u562E\u563B\u5639\u5632\u563F\u5634\u5629\u5653\u564E\u5657\u5674\u5636\u562F\u5630\u5880\u589F\u589E\u58B3\u589C\u58AE\u58A9\u58A6\u596D\u5B09\u5AFB\u5B0B\u5AF5\u5B0C\u5B08\u5BEE\u5BEC\u5BE9\u5BEB\u5C64\u5C65\u5D9D\u5D94\u5E62\u5E5F\u5E61\u5EE2\u5EDA\u5EDF\u5EDD\u5EE3\u5EE0\u5F48\u5F71\u5FB7\u5FB5\u6176\u6167\u616E\u615D\u6155\u6182"], + ["bca1", "\u617C\u6170\u616B\u617E\u61A7\u6190\u61AB\u618E\u61AC\u619A\u61A4\u6194\u61AE\u622E\u6469\u646F\u6479\u649E\u64B2\u6488\u6490\u64B0\u64A5\u6493\u6495\u64A9\u6492\u64AE\u64AD\u64AB\u649A\u64AC\u6499\u64A2\u64B3\u6575\u6577\u6578\u66AE\u66AB\u66B4\u66B1\u6A23\u6A1F\u69E8\u6A01\u6A1E\u6A19\u69FD\u6A21\u6A13\u6A0A\u69F3\u6A02\u6A05\u69ED\u6A11\u6B50\u6B4E\u6BA4\u6BC5\u6BC6\u6F3F\u6F7C\u6F84\u6F51\u6F66\u6F54\u6F86\u6F6D\u6F5B\u6F78\u6F6E\u6F8E\u6F7A\u6F70\u6F64\u6F97\u6F58\u6ED5\u6F6F\u6F60\u6F5F\u719F\u71AC\u71B1\u71A8\u7256\u729B\u734E\u7357\u7469\u748B\u7483"], + ["bd40", "\u747E\u7480\u757F\u7620\u7629\u761F\u7624\u7626\u7621\u7622\u769A\u76BA\u76E4\u778E\u7787\u778C\u7791\u778B\u78CB\u78C5\u78BA\u78CA\u78BE\u78D5\u78BC\u78D0\u7A3F\u7A3C\u7A40\u7A3D\u7A37\u7A3B\u7AAF\u7AAE\u7BAD\u7BB1\u7BC4\u7BB4\u7BC6\u7BC7\u7BC1\u7BA0\u7BCC\u7CCA\u7DE0\u7DF4\u7DEF\u7DFB\u7DD8\u7DEC\u7DDD\u7DE8\u7DE3\u7DDA\u7DDE\u7DE9\u7D9E\u7DD9\u7DF2\u7DF9\u7F75\u7F77\u7FAF"], + ["bda1", "\u7FE9\u8026\u819B\u819C\u819D\u81A0\u819A\u8198\u8517\u853D\u851A\u84EE\u852C\u852D\u8513\u8511\u8523\u8521\u8514\u84EC\u8525\u84FF\u8506\u8782\u8774\u8776\u8760\u8766\u8778\u8768\u8759\u8757\u874C\u8753\u885B\u885D\u8910\u8907\u8912\u8913\u8915\u890A\u8ABC\u8AD2\u8AC7\u8AC4\u8A95\u8ACB\u8AF8\u8AB2\u8AC9\u8AC2\u8ABF\u8AB0\u8AD6\u8ACD\u8AB6\u8AB9\u8ADB\u8C4C\u8C4E\u8C6C\u8CE0\u8CDE\u8CE6\u8CE4\u8CEC\u8CED\u8CE2\u8CE3\u8CDC\u8CEA\u8CE1\u8D6D\u8D9F\u8DA3\u8E2B\u8E10\u8E1D\u8E22\u8E0F\u8E29\u8E1F\u8E21\u8E1E\u8EBA\u8F1D\u8F1B\u8F1F\u8F29\u8F26\u8F2A\u8F1C\u8F1E"], + ["be40", "\u8F25\u9069\u906E\u9068\u906D\u9077\u9130\u912D\u9127\u9131\u9187\u9189\u918B\u9183\u92C5\u92BB\u92B7\u92EA\u92AC\u92E4\u92C1\u92B3\u92BC\u92D2\u92C7\u92F0\u92B2\u95AD\u95B1\u9704\u9706\u9707\u9709\u9760\u978D\u978B\u978F\u9821\u982B\u981C\u98B3\u990A\u9913\u9912\u9918\u99DD\u99D0\u99DF\u99DB\u99D1\u99D5\u99D2\u99D9\u9AB7\u9AEE\u9AEF\u9B27\u9B45\u9B44\u9B77\u9B6F\u9D06\u9D09"], + ["bea1", "\u9D03\u9EA9\u9EBE\u9ECE\u58A8\u9F52\u5112\u5118\u5114\u5110\u5115\u5180\u51AA\u51DD\u5291\u5293\u52F3\u5659\u566B\u5679\u5669\u5664\u5678\u566A\u5668\u5665\u5671\u566F\u566C\u5662\u5676\u58C1\u58BE\u58C7\u58C5\u596E\u5B1D\u5B34\u5B78\u5BF0\u5C0E\u5F4A\u61B2\u6191\u61A9\u618A\u61CD\u61B6\u61BE\u61CA\u61C8\u6230\u64C5\u64C1\u64CB\u64BB\u64BC\u64DA\u64C4\u64C7\u64C2\u64CD\u64BF\u64D2\u64D4\u64BE\u6574\u66C6\u66C9\u66B9\u66C4\u66C7\u66B8\u6A3D\u6A38\u6A3A\u6A59\u6A6B\u6A58\u6A39\u6A44\u6A62\u6A61\u6A4B\u6A47\u6A35\u6A5F\u6A48\u6B59\u6B77\u6C05\u6FC2\u6FB1\u6FA1"], + ["bf40", "\u6FC3\u6FA4\u6FC1\u6FA7\u6FB3\u6FC0\u6FB9\u6FB6\u6FA6\u6FA0\u6FB4\u71BE\u71C9\u71D0\u71D2\u71C8\u71D5\u71B9\u71CE\u71D9\u71DC\u71C3\u71C4\u7368\u749C\u74A3\u7498\u749F\u749E\u74E2\u750C\u750D\u7634\u7638\u763A\u76E7\u76E5\u77A0\u779E\u779F\u77A5\u78E8\u78DA\u78EC\u78E7\u79A6\u7A4D\u7A4E\u7A46\u7A4C\u7A4B\u7ABA\u7BD9\u7C11\u7BC9\u7BE4\u7BDB\u7BE1\u7BE9\u7BE6\u7CD5\u7CD6\u7E0A"], + ["bfa1", "\u7E11\u7E08\u7E1B\u7E23\u7E1E\u7E1D\u7E09\u7E10\u7F79\u7FB2\u7FF0\u7FF1\u7FEE\u8028\u81B3\u81A9\u81A8\u81FB\u8208\u8258\u8259\u854A\u8559\u8548\u8568\u8569\u8543\u8549\u856D\u856A\u855E\u8783\u879F\u879E\u87A2\u878D\u8861\u892A\u8932\u8925\u892B\u8921\u89AA\u89A6\u8AE6\u8AFA\u8AEB\u8AF1\u8B00\u8ADC\u8AE7\u8AEE\u8AFE\u8B01\u8B02\u8AF7\u8AED\u8AF3\u8AF6\u8AFC\u8C6B\u8C6D\u8C93\u8CF4\u8E44\u8E31\u8E34\u8E42\u8E39\u8E35\u8F3B\u8F2F\u8F38\u8F33\u8FA8\u8FA6\u9075\u9074\u9078\u9072\u907C\u907A\u9134\u9192\u9320\u9336\u92F8\u9333\u932F\u9322\u92FC\u932B\u9304\u931A"], + ["c040", "\u9310\u9326\u9321\u9315\u932E\u9319\u95BB\u96A7\u96A8\u96AA\u96D5\u970E\u9711\u9716\u970D\u9713\u970F\u975B\u975C\u9766\u9798\u9830\u9838\u983B\u9837\u982D\u9839\u9824\u9910\u9928\u991E\u991B\u9921\u991A\u99ED\u99E2\u99F1\u9AB8\u9ABC\u9AFB\u9AED\u9B28\u9B91\u9D15\u9D23\u9D26\u9D28\u9D12\u9D1B\u9ED8\u9ED4\u9F8D\u9F9C\u512A\u511F\u5121\u5132\u52F5\u568E\u5680\u5690\u5685\u5687"], + ["c0a1", "\u568F\u58D5\u58D3\u58D1\u58CE\u5B30\u5B2A\u5B24\u5B7A\u5C37\u5C68\u5DBC\u5DBA\u5DBD\u5DB8\u5E6B\u5F4C\u5FBD\u61C9\u61C2\u61C7\u61E6\u61CB\u6232\u6234\u64CE\u64CA\u64D8\u64E0\u64F0\u64E6\u64EC\u64F1\u64E2\u64ED\u6582\u6583\u66D9\u66D6\u6A80\u6A94\u6A84\u6AA2\u6A9C\u6ADB\u6AA3\u6A7E\u6A97\u6A90\u6AA0\u6B5C\u6BAE\u6BDA\u6C08\u6FD8\u6FF1\u6FDF\u6FE0\u6FDB\u6FE4\u6FEB\u6FEF\u6F80\u6FEC\u6FE1\u6FE9\u6FD5\u6FEE\u6FF0\u71E7\u71DF\u71EE\u71E6\u71E5\u71ED\u71EC\u71F4\u71E0\u7235\u7246\u7370\u7372\u74A9\u74B0\u74A6\u74A8\u7646\u7642\u764C\u76EA\u77B3\u77AA\u77B0\u77AC"], + ["c140", "\u77A7\u77AD\u77EF\u78F7\u78FA\u78F4\u78EF\u7901\u79A7\u79AA\u7A57\u7ABF\u7C07\u7C0D\u7BFE\u7BF7\u7C0C\u7BE0\u7CE0\u7CDC\u7CDE\u7CE2\u7CDF\u7CD9\u7CDD\u7E2E\u7E3E\u7E46\u7E37\u7E32\u7E43\u7E2B\u7E3D\u7E31\u7E45\u7E41\u7E34\u7E39\u7E48\u7E35\u7E3F\u7E2F\u7F44\u7FF3\u7FFC\u8071\u8072\u8070\u806F\u8073\u81C6\u81C3\u81BA\u81C2\u81C0\u81BF\u81BD\u81C9\u81BE\u81E8\u8209\u8271\u85AA"], + ["c1a1", "\u8584\u857E\u859C\u8591\u8594\u85AF\u859B\u8587\u85A8\u858A\u8667\u87C0\u87D1\u87B3\u87D2\u87C6\u87AB\u87BB\u87BA\u87C8\u87CB\u893B\u8936\u8944\u8938\u893D\u89AC\u8B0E\u8B17\u8B19\u8B1B\u8B0A\u8B20\u8B1D\u8B04\u8B10\u8C41\u8C3F\u8C73\u8CFA\u8CFD\u8CFC\u8CF8\u8CFB\u8DA8\u8E49\u8E4B\u8E48\u8E4A\u8F44\u8F3E\u8F42\u8F45\u8F3F\u907F\u907D\u9084\u9081\u9082\u9080\u9139\u91A3\u919E\u919C\u934D\u9382\u9328\u9375\u934A\u9365\u934B\u9318\u937E\u936C\u935B\u9370\u935A\u9354\u95CA\u95CB\u95CC\u95C8\u95C6\u96B1\u96B8\u96D6\u971C\u971E\u97A0\u97D3\u9846\u98B6\u9935\u9A01"], + ["c240", "\u99FF\u9BAE\u9BAB\u9BAA\u9BAD\u9D3B\u9D3F\u9E8B\u9ECF\u9EDE\u9EDC\u9EDD\u9EDB\u9F3E\u9F4B\u53E2\u5695\u56AE\u58D9\u58D8\u5B38\u5F5D\u61E3\u6233\u64F4\u64F2\u64FE\u6506\u64FA\u64FB\u64F7\u65B7\u66DC\u6726\u6AB3\u6AAC\u6AC3\u6ABB\u6AB8\u6AC2\u6AAE\u6AAF\u6B5F\u6B78\u6BAF\u7009\u700B\u6FFE\u7006\u6FFA\u7011\u700F\u71FB\u71FC\u71FE\u71F8\u7377\u7375\u74A7\u74BF\u7515\u7656\u7658"], + ["c2a1", "\u7652\u77BD\u77BF\u77BB\u77BC\u790E\u79AE\u7A61\u7A62\u7A60\u7AC4\u7AC5\u7C2B\u7C27\u7C2A\u7C1E\u7C23\u7C21\u7CE7\u7E54\u7E55\u7E5E\u7E5A\u7E61\u7E52\u7E59\u7F48\u7FF9\u7FFB\u8077\u8076\u81CD\u81CF\u820A\u85CF\u85A9\u85CD\u85D0\u85C9\u85B0\u85BA\u85B9\u85A6\u87EF\u87EC\u87F2\u87E0\u8986\u89B2\u89F4\u8B28\u8B39\u8B2C\u8B2B\u8C50\u8D05\u8E59\u8E63\u8E66\u8E64\u8E5F\u8E55\u8EC0\u8F49\u8F4D\u9087\u9083\u9088\u91AB\u91AC\u91D0\u9394\u938A\u9396\u93A2\u93B3\u93AE\u93AC\u93B0\u9398\u939A\u9397\u95D4\u95D6\u95D0\u95D5\u96E2\u96DC\u96D9\u96DB\u96DE\u9724\u97A3\u97A6"], + ["c340", "\u97AD\u97F9\u984D\u984F\u984C\u984E\u9853\u98BA\u993E\u993F\u993D\u992E\u99A5\u9A0E\u9AC1\u9B03\u9B06\u9B4F\u9B4E\u9B4D\u9BCA\u9BC9\u9BFD\u9BC8\u9BC0\u9D51\u9D5D\u9D60\u9EE0\u9F15\u9F2C\u5133\u56A5\u58DE\u58DF\u58E2\u5BF5\u9F90\u5EEC\u61F2\u61F7\u61F6\u61F5\u6500\u650F\u66E0\u66DD\u6AE5\u6ADD\u6ADA\u6AD3\u701B\u701F\u7028\u701A\u701D\u7015\u7018\u7206\u720D\u7258\u72A2\u7378"], + ["c3a1", "\u737A\u74BD\u74CA\u74E3\u7587\u7586\u765F\u7661\u77C7\u7919\u79B1\u7A6B\u7A69\u7C3E\u7C3F\u7C38\u7C3D\u7C37\u7C40\u7E6B\u7E6D\u7E79\u7E69\u7E6A\u7F85\u7E73\u7FB6\u7FB9\u7FB8\u81D8\u85E9\u85DD\u85EA\u85D5\u85E4\u85E5\u85F7\u87FB\u8805\u880D\u87F9\u87FE\u8960\u895F\u8956\u895E\u8B41\u8B5C\u8B58\u8B49\u8B5A\u8B4E\u8B4F\u8B46\u8B59\u8D08\u8D0A\u8E7C\u8E72\u8E87\u8E76\u8E6C\u8E7A\u8E74\u8F54\u8F4E\u8FAD\u908A\u908B\u91B1\u91AE\u93E1\u93D1\u93DF\u93C3\u93C8\u93DC\u93DD\u93D6\u93E2\u93CD\u93D8\u93E4\u93D7\u93E8\u95DC\u96B4\u96E3\u972A\u9727\u9761\u97DC\u97FB\u985E"], + ["c440", "\u9858\u985B\u98BC\u9945\u9949\u9A16\u9A19\u9B0D\u9BE8\u9BE7\u9BD6\u9BDB\u9D89\u9D61\u9D72\u9D6A\u9D6C\u9E92\u9E97\u9E93\u9EB4\u52F8\u56A8\u56B7\u56B6\u56B4\u56BC\u58E4\u5B40\u5B43\u5B7D\u5BF6\u5DC9\u61F8\u61FA\u6518\u6514\u6519\u66E6\u6727\u6AEC\u703E\u7030\u7032\u7210\u737B\u74CF\u7662\u7665\u7926\u792A\u792C\u792B\u7AC7\u7AF6\u7C4C\u7C43\u7C4D\u7CEF\u7CF0\u8FAE\u7E7D\u7E7C"], + ["c4a1", "\u7E82\u7F4C\u8000\u81DA\u8266\u85FB\u85F9\u8611\u85FA\u8606\u860B\u8607\u860A\u8814\u8815\u8964\u89BA\u89F8\u8B70\u8B6C\u8B66\u8B6F\u8B5F\u8B6B\u8D0F\u8D0D\u8E89\u8E81\u8E85\u8E82\u91B4\u91CB\u9418\u9403\u93FD\u95E1\u9730\u98C4\u9952\u9951\u99A8\u9A2B\u9A30\u9A37\u9A35\u9C13\u9C0D\u9E79\u9EB5\u9EE8\u9F2F\u9F5F\u9F63\u9F61\u5137\u5138\u56C1\u56C0\u56C2\u5914\u5C6C\u5DCD\u61FC\u61FE\u651D\u651C\u6595\u66E9\u6AFB\u6B04\u6AFA\u6BB2\u704C\u721B\u72A7\u74D6\u74D4\u7669\u77D3\u7C50\u7E8F\u7E8C\u7FBC\u8617\u862D\u861A\u8823\u8822\u8821\u881F\u896A\u896C\u89BD\u8B74"], + ["c540", "\u8B77\u8B7D\u8D13\u8E8A\u8E8D\u8E8B\u8F5F\u8FAF\u91BA\u942E\u9433\u9435\u943A\u9438\u9432\u942B\u95E2\u9738\u9739\u9732\u97FF\u9867\u9865\u9957\u9A45\u9A43\u9A40\u9A3E\u9ACF\u9B54\u9B51\u9C2D\u9C25\u9DAF\u9DB4\u9DC2\u9DB8\u9E9D\u9EEF\u9F19\u9F5C\u9F66\u9F67\u513C\u513B\u56C8\u56CA\u56C9\u5B7F\u5DD4\u5DD2\u5F4E\u61FF\u6524\u6B0A\u6B61\u7051\u7058\u7380\u74E4\u758A\u766E\u766C"], + ["c5a1", "\u79B3\u7C60\u7C5F\u807E\u807D\u81DF\u8972\u896F\u89FC\u8B80\u8D16\u8D17\u8E91\u8E93\u8F61\u9148\u9444\u9451\u9452\u973D\u973E\u97C3\u97C1\u986B\u9955\u9A55\u9A4D\u9AD2\u9B1A\u9C49\u9C31\u9C3E\u9C3B\u9DD3\u9DD7\u9F34\u9F6C\u9F6A\u9F94\u56CC\u5DD6\u6200\u6523\u652B\u652A\u66EC\u6B10\u74DA\u7ACA\u7C64\u7C63\u7C65\u7E93\u7E96\u7E94\u81E2\u8638\u863F\u8831\u8B8A\u9090\u908F\u9463\u9460\u9464\u9768\u986F\u995C\u9A5A\u9A5B\u9A57\u9AD3\u9AD4\u9AD1\u9C54\u9C57\u9C56\u9DE5\u9E9F\u9EF4\u56D1\u58E9\u652C\u705E\u7671\u7672\u77D7\u7F50\u7F88\u8836\u8839\u8862\u8B93\u8B92"], + ["c640", "\u8B96\u8277\u8D1B\u91C0\u946A\u9742\u9748\u9744\u97C6\u9870\u9A5F\u9B22\u9B58\u9C5F\u9DF9\u9DFA\u9E7C\u9E7D\u9F07\u9F77\u9F72\u5EF3\u6B16\u7063\u7C6C\u7C6E\u883B\u89C0\u8EA1\u91C1\u9472\u9470\u9871\u995E\u9AD6\u9B23\u9ECC\u7064\u77DA\u8B9A\u9477\u97C9\u9A62\u9A65\u7E9C\u8B9C\u8EAA\u91C5\u947D\u947E\u947C\u9C77\u9C78\u9EF7\u8C54\u947F\u9E1A\u7228\u9A6A\u9B31\u9E1B\u9E1E\u7C72"], + ["c940", "\u4E42\u4E5C\u51F5\u531A\u5382\u4E07\u4E0C\u4E47\u4E8D\u56D7\uFA0C\u5C6E\u5F73\u4E0F\u5187\u4E0E\u4E2E\u4E93\u4EC2\u4EC9\u4EC8\u5198\u52FC\u536C\u53B9\u5720\u5903\u592C\u5C10\u5DFF\u65E1\u6BB3\u6BCC\u6C14\u723F\u4E31\u4E3C\u4EE8\u4EDC\u4EE9\u4EE1\u4EDD\u4EDA\u520C\u531C\u534C\u5722\u5723\u5917\u592F\u5B81\u5B84\u5C12\u5C3B\u5C74\u5C73\u5E04\u5E80\u5E82\u5FC9\u6209\u6250\u6C15"], + ["c9a1", "\u6C36\u6C43\u6C3F\u6C3B\u72AE\u72B0\u738A\u79B8\u808A\u961E\u4F0E\u4F18\u4F2C\u4EF5\u4F14\u4EF1\u4F00\u4EF7\u4F08\u4F1D\u4F02\u4F05\u4F22\u4F13\u4F04\u4EF4\u4F12\u51B1\u5213\u5209\u5210\u52A6\u5322\u531F\u534D\u538A\u5407\u56E1\u56DF\u572E\u572A\u5734\u593C\u5980\u597C\u5985\u597B\u597E\u5977\u597F\u5B56\u5C15\u5C25\u5C7C\u5C7A\u5C7B\u5C7E\u5DDF\u5E75\u5E84\u5F02\u5F1A\u5F74\u5FD5\u5FD4\u5FCF\u625C\u625E\u6264\u6261\u6266\u6262\u6259\u6260\u625A\u6265\u65EF\u65EE\u673E\u6739\u6738\u673B\u673A\u673F\u673C\u6733\u6C18\u6C46\u6C52\u6C5C\u6C4F\u6C4A\u6C54\u6C4B"], + ["ca40", "\u6C4C\u7071\u725E\u72B4\u72B5\u738E\u752A\u767F\u7A75\u7F51\u8278\u827C\u8280\u827D\u827F\u864D\u897E\u9099\u9097\u9098\u909B\u9094\u9622\u9624\u9620\u9623\u4F56\u4F3B\u4F62\u4F49\u4F53\u4F64\u4F3E\u4F67\u4F52\u4F5F\u4F41\u4F58\u4F2D\u4F33\u4F3F\u4F61\u518F\u51B9\u521C\u521E\u5221\u52AD\u52AE\u5309\u5363\u5372\u538E\u538F\u5430\u5437\u542A\u5454\u5445\u5419\u541C\u5425\u5418"], + ["caa1", "\u543D\u544F\u5441\u5428\u5424\u5447\u56EE\u56E7\u56E5\u5741\u5745\u574C\u5749\u574B\u5752\u5906\u5940\u59A6\u5998\u59A0\u5997\u598E\u59A2\u5990\u598F\u59A7\u59A1\u5B8E\u5B92\u5C28\u5C2A\u5C8D\u5C8F\u5C88\u5C8B\u5C89\u5C92\u5C8A\u5C86\u5C93\u5C95\u5DE0\u5E0A\u5E0E\u5E8B\u5E89\u5E8C\u5E88\u5E8D\u5F05\u5F1D\u5F78\u5F76\u5FD2\u5FD1\u5FD0\u5FED\u5FE8\u5FEE\u5FF3\u5FE1\u5FE4\u5FE3\u5FFA\u5FEF\u5FF7\u5FFB\u6000\u5FF4\u623A\u6283\u628C\u628E\u628F\u6294\u6287\u6271\u627B\u627A\u6270\u6281\u6288\u6277\u627D\u6272\u6274\u6537\u65F0\u65F4\u65F3\u65F2\u65F5\u6745\u6747"], + ["cb40", "\u6759\u6755\u674C\u6748\u675D\u674D\u675A\u674B\u6BD0\u6C19\u6C1A\u6C78\u6C67\u6C6B\u6C84\u6C8B\u6C8F\u6C71\u6C6F\u6C69\u6C9A\u6C6D\u6C87\u6C95\u6C9C\u6C66\u6C73\u6C65\u6C7B\u6C8E\u7074\u707A\u7263\u72BF\u72BD\u72C3\u72C6\u72C1\u72BA\u72C5\u7395\u7397\u7393\u7394\u7392\u753A\u7539\u7594\u7595\u7681\u793D\u8034\u8095\u8099\u8090\u8092\u809C\u8290\u828F\u8285\u828E\u8291\u8293"], + ["cba1", "\u828A\u8283\u8284\u8C78\u8FC9\u8FBF\u909F\u90A1\u90A5\u909E\u90A7\u90A0\u9630\u9628\u962F\u962D\u4E33\u4F98\u4F7C\u4F85\u4F7D\u4F80\u4F87\u4F76\u4F74\u4F89\u4F84\u4F77\u4F4C\u4F97\u4F6A\u4F9A\u4F79\u4F81\u4F78\u4F90\u4F9C\u4F94\u4F9E\u4F92\u4F82\u4F95\u4F6B\u4F6E\u519E\u51BC\u51BE\u5235\u5232\u5233\u5246\u5231\u52BC\u530A\u530B\u533C\u5392\u5394\u5487\u547F\u5481\u5491\u5482\u5488\u546B\u547A\u547E\u5465\u546C\u5474\u5466\u548D\u546F\u5461\u5460\u5498\u5463\u5467\u5464\u56F7\u56F9\u576F\u5772\u576D\u576B\u5771\u5770\u5776\u5780\u5775\u577B\u5773\u5774\u5762"], + ["cc40", "\u5768\u577D\u590C\u5945\u59B5\u59BA\u59CF\u59CE\u59B2\u59CC\u59C1\u59B6\u59BC\u59C3\u59D6\u59B1\u59BD\u59C0\u59C8\u59B4\u59C7\u5B62\u5B65\u5B93\u5B95\u5C44\u5C47\u5CAE\u5CA4\u5CA0\u5CB5\u5CAF\u5CA8\u5CAC\u5C9F\u5CA3\u5CAD\u5CA2\u5CAA\u5CA7\u5C9D\u5CA5\u5CB6\u5CB0\u5CA6\u5E17\u5E14\u5E19\u5F28\u5F22\u5F23\u5F24\u5F54\u5F82\u5F7E\u5F7D\u5FDE\u5FE5\u602D\u6026\u6019\u6032\u600B"], + ["cca1", "\u6034\u600A\u6017\u6033\u601A\u601E\u602C\u6022\u600D\u6010\u602E\u6013\u6011\u600C\u6009\u601C\u6214\u623D\u62AD\u62B4\u62D1\u62BE\u62AA\u62B6\u62CA\u62AE\u62B3\u62AF\u62BB\u62A9\u62B0\u62B8\u653D\u65A8\u65BB\u6609\u65FC\u6604\u6612\u6608\u65FB\u6603\u660B\u660D\u6605\u65FD\u6611\u6610\u66F6\u670A\u6785\u676C\u678E\u6792\u6776\u677B\u6798\u6786\u6784\u6774\u678D\u678C\u677A\u679F\u6791\u6799\u6783\u677D\u6781\u6778\u6779\u6794\u6B25\u6B80\u6B7E\u6BDE\u6C1D\u6C93\u6CEC\u6CEB\u6CEE\u6CD9\u6CB6\u6CD4\u6CAD\u6CE7\u6CB7\u6CD0\u6CC2\u6CBA\u6CC3\u6CC6\u6CED\u6CF2"], + ["cd40", "\u6CD2\u6CDD\u6CB4\u6C8A\u6C9D\u6C80\u6CDE\u6CC0\u6D30\u6CCD\u6CC7\u6CB0\u6CF9\u6CCF\u6CE9\u6CD1\u7094\u7098\u7085\u7093\u7086\u7084\u7091\u7096\u7082\u709A\u7083\u726A\u72D6\u72CB\u72D8\u72C9\u72DC\u72D2\u72D4\u72DA\u72CC\u72D1\u73A4\u73A1\u73AD\u73A6\u73A2\u73A0\u73AC\u739D\u74DD\u74E8\u753F\u7540\u753E\u758C\u7598\u76AF\u76F3\u76F1\u76F0\u76F5\u77F8\u77FC\u77F9\u77FB\u77FA"], + ["cda1", "\u77F7\u7942\u793F\u79C5\u7A78\u7A7B\u7AFB\u7C75\u7CFD\u8035\u808F\u80AE\u80A3\u80B8\u80B5\u80AD\u8220\u82A0\u82C0\u82AB\u829A\u8298\u829B\u82B5\u82A7\u82AE\u82BC\u829E\u82BA\u82B4\u82A8\u82A1\u82A9\u82C2\u82A4\u82C3\u82B6\u82A2\u8670\u866F\u866D\u866E\u8C56\u8FD2\u8FCB\u8FD3\u8FCD\u8FD6\u8FD5\u8FD7\u90B2\u90B4\u90AF\u90B3\u90B0\u9639\u963D\u963C\u963A\u9643\u4FCD\u4FC5\u4FD3\u4FB2\u4FC9\u4FCB\u4FC1\u4FD4\u4FDC\u4FD9\u4FBB\u4FB3\u4FDB\u4FC7\u4FD6\u4FBA\u4FC0\u4FB9\u4FEC\u5244\u5249\u52C0\u52C2\u533D\u537C\u5397\u5396\u5399\u5398\u54BA\u54A1\u54AD\u54A5\u54CF"], + ["ce40", "\u54C3\u830D\u54B7\u54AE\u54D6\u54B6\u54C5\u54C6\u54A0\u5470\u54BC\u54A2\u54BE\u5472\u54DE\u54B0\u57B5\u579E\u579F\u57A4\u578C\u5797\u579D\u579B\u5794\u5798\u578F\u5799\u57A5\u579A\u5795\u58F4\u590D\u5953\u59E1\u59DE\u59EE\u5A00\u59F1\u59DD\u59FA\u59FD\u59FC\u59F6\u59E4\u59F2\u59F7\u59DB\u59E9\u59F3\u59F5\u59E0\u59FE\u59F4\u59ED\u5BA8\u5C4C\u5CD0\u5CD8\u5CCC\u5CD7\u5CCB\u5CDB"], + ["cea1", "\u5CDE\u5CDA\u5CC9\u5CC7\u5CCA\u5CD6\u5CD3\u5CD4\u5CCF\u5CC8\u5CC6\u5CCE\u5CDF\u5CF8\u5DF9\u5E21\u5E22\u5E23\u5E20\u5E24\u5EB0\u5EA4\u5EA2\u5E9B\u5EA3\u5EA5\u5F07\u5F2E\u5F56\u5F86\u6037\u6039\u6054\u6072\u605E\u6045\u6053\u6047\u6049\u605B\u604C\u6040\u6042\u605F\u6024\u6044\u6058\u6066\u606E\u6242\u6243\u62CF\u630D\u630B\u62F5\u630E\u6303\u62EB\u62F9\u630F\u630C\u62F8\u62F6\u6300\u6313\u6314\u62FA\u6315\u62FB\u62F0\u6541\u6543\u65AA\u65BF\u6636\u6621\u6632\u6635\u661C\u6626\u6622\u6633\u662B\u663A\u661D\u6634\u6639\u662E\u670F\u6710\u67C1\u67F2\u67C8\u67BA"], + ["cf40", "\u67DC\u67BB\u67F8\u67D8\u67C0\u67B7\u67C5\u67EB\u67E4\u67DF\u67B5\u67CD\u67B3\u67F7\u67F6\u67EE\u67E3\u67C2\u67B9\u67CE\u67E7\u67F0\u67B2\u67FC\u67C6\u67ED\u67CC\u67AE\u67E6\u67DB\u67FA\u67C9\u67CA\u67C3\u67EA\u67CB\u6B28\u6B82\u6B84\u6BB6\u6BD6\u6BD8\u6BE0\u6C20\u6C21\u6D28\u6D34\u6D2D\u6D1F\u6D3C\u6D3F\u6D12\u6D0A\u6CDA\u6D33\u6D04\u6D19\u6D3A\u6D1A\u6D11\u6D00\u6D1D\u6D42"], + ["cfa1", "\u6D01\u6D18\u6D37\u6D03\u6D0F\u6D40\u6D07\u6D20\u6D2C\u6D08\u6D22\u6D09\u6D10\u70B7\u709F\u70BE\u70B1\u70B0\u70A1\u70B4\u70B5\u70A9\u7241\u7249\u724A\u726C\u7270\u7273\u726E\u72CA\u72E4\u72E8\u72EB\u72DF\u72EA\u72E6\u72E3\u7385\u73CC\u73C2\u73C8\u73C5\u73B9\u73B6\u73B5\u73B4\u73EB\u73BF\u73C7\u73BE\u73C3\u73C6\u73B8\u73CB\u74EC\u74EE\u752E\u7547\u7548\u75A7\u75AA\u7679\u76C4\u7708\u7703\u7704\u7705\u770A\u76F7\u76FB\u76FA\u77E7\u77E8\u7806\u7811\u7812\u7805\u7810\u780F\u780E\u7809\u7803\u7813\u794A\u794C\u794B\u7945\u7944\u79D5\u79CD\u79CF\u79D6\u79CE\u7A80"], + ["d040", "\u7A7E\u7AD1\u7B00\u7B01\u7C7A\u7C78\u7C79\u7C7F\u7C80\u7C81\u7D03\u7D08\u7D01\u7F58\u7F91\u7F8D\u7FBE\u8007\u800E\u800F\u8014\u8037\u80D8\u80C7\u80E0\u80D1\u80C8\u80C2\u80D0\u80C5\u80E3\u80D9\u80DC\u80CA\u80D5\u80C9\u80CF\u80D7\u80E6\u80CD\u81FF\u8221\u8294\u82D9\u82FE\u82F9\u8307\u82E8\u8300\u82D5\u833A\u82EB\u82D6\u82F4\u82EC\u82E1\u82F2\u82F5\u830C\u82FB\u82F6\u82F0\u82EA"], + ["d0a1", "\u82E4\u82E0\u82FA\u82F3\u82ED\u8677\u8674\u867C\u8673\u8841\u884E\u8867\u886A\u8869\u89D3\u8A04\u8A07\u8D72\u8FE3\u8FE1\u8FEE\u8FE0\u90F1\u90BD\u90BF\u90D5\u90C5\u90BE\u90C7\u90CB\u90C8\u91D4\u91D3\u9654\u964F\u9651\u9653\u964A\u964E\u501E\u5005\u5007\u5013\u5022\u5030\u501B\u4FF5\u4FF4\u5033\u5037\u502C\u4FF6\u4FF7\u5017\u501C\u5020\u5027\u5035\u502F\u5031\u500E\u515A\u5194\u5193\u51CA\u51C4\u51C5\u51C8\u51CE\u5261\u525A\u5252\u525E\u525F\u5255\u5262\u52CD\u530E\u539E\u5526\u54E2\u5517\u5512\u54E7\u54F3\u54E4\u551A\u54FF\u5504\u5508\u54EB\u5511\u5505\u54F1"], + ["d140", "\u550A\u54FB\u54F7\u54F8\u54E0\u550E\u5503\u550B\u5701\u5702\u57CC\u5832\u57D5\u57D2\u57BA\u57C6\u57BD\u57BC\u57B8\u57B6\u57BF\u57C7\u57D0\u57B9\u57C1\u590E\u594A\u5A19\u5A16\u5A2D\u5A2E\u5A15\u5A0F\u5A17\u5A0A\u5A1E\u5A33\u5B6C\u5BA7\u5BAD\u5BAC\u5C03\u5C56\u5C54\u5CEC\u5CFF\u5CEE\u5CF1\u5CF7\u5D00\u5CF9\u5E29\u5E28\u5EA8\u5EAE\u5EAA\u5EAC\u5F33\u5F30\u5F67\u605D\u605A\u6067"], + ["d1a1", "\u6041\u60A2\u6088\u6080\u6092\u6081\u609D\u6083\u6095\u609B\u6097\u6087\u609C\u608E\u6219\u6246\u62F2\u6310\u6356\u632C\u6344\u6345\u6336\u6343\u63E4\u6339\u634B\u634A\u633C\u6329\u6341\u6334\u6358\u6354\u6359\u632D\u6347\u6333\u635A\u6351\u6338\u6357\u6340\u6348\u654A\u6546\u65C6\u65C3\u65C4\u65C2\u664A\u665F\u6647\u6651\u6712\u6713\u681F\u681A\u6849\u6832\u6833\u683B\u684B\u684F\u6816\u6831\u681C\u6835\u682B\u682D\u682F\u684E\u6844\u6834\u681D\u6812\u6814\u6826\u6828\u682E\u684D\u683A\u6825\u6820\u6B2C\u6B2F\u6B2D\u6B31\u6B34\u6B6D\u8082\u6B88\u6BE6\u6BE4"], + ["d240", "\u6BE8\u6BE3\u6BE2\u6BE7\u6C25\u6D7A\u6D63\u6D64\u6D76\u6D0D\u6D61\u6D92\u6D58\u6D62\u6D6D\u6D6F\u6D91\u6D8D\u6DEF\u6D7F\u6D86\u6D5E\u6D67\u6D60\u6D97\u6D70\u6D7C\u6D5F\u6D82\u6D98\u6D2F\u6D68\u6D8B\u6D7E\u6D80\u6D84\u6D16\u6D83\u6D7B\u6D7D\u6D75\u6D90\u70DC\u70D3\u70D1\u70DD\u70CB\u7F39\u70E2\u70D7\u70D2\u70DE\u70E0\u70D4\u70CD\u70C5\u70C6\u70C7\u70DA\u70CE\u70E1\u7242\u7278"], + ["d2a1", "\u7277\u7276\u7300\u72FA\u72F4\u72FE\u72F6\u72F3\u72FB\u7301\u73D3\u73D9\u73E5\u73D6\u73BC\u73E7\u73E3\u73E9\u73DC\u73D2\u73DB\u73D4\u73DD\u73DA\u73D7\u73D8\u73E8\u74DE\u74DF\u74F4\u74F5\u7521\u755B\u755F\u75B0\u75C1\u75BB\u75C4\u75C0\u75BF\u75B6\u75BA\u768A\u76C9\u771D\u771B\u7710\u7713\u7712\u7723\u7711\u7715\u7719\u771A\u7722\u7727\u7823\u782C\u7822\u7835\u782F\u7828\u782E\u782B\u7821\u7829\u7833\u782A\u7831\u7954\u795B\u794F\u795C\u7953\u7952\u7951\u79EB\u79EC\u79E0\u79EE\u79ED\u79EA\u79DC\u79DE\u79DD\u7A86\u7A89\u7A85\u7A8B\u7A8C\u7A8A\u7A87\u7AD8\u7B10"], + ["d340", "\u7B04\u7B13\u7B05\u7B0F\u7B08\u7B0A\u7B0E\u7B09\u7B12\u7C84\u7C91\u7C8A\u7C8C\u7C88\u7C8D\u7C85\u7D1E\u7D1D\u7D11\u7D0E\u7D18\u7D16\u7D13\u7D1F\u7D12\u7D0F\u7D0C\u7F5C\u7F61\u7F5E\u7F60\u7F5D\u7F5B\u7F96\u7F92\u7FC3\u7FC2\u7FC0\u8016\u803E\u8039\u80FA\u80F2\u80F9\u80F5\u8101\u80FB\u8100\u8201\u822F\u8225\u8333\u832D\u8344\u8319\u8351\u8325\u8356\u833F\u8341\u8326\u831C\u8322"], + ["d3a1", "\u8342\u834E\u831B\u832A\u8308\u833C\u834D\u8316\u8324\u8320\u8337\u832F\u8329\u8347\u8345\u834C\u8353\u831E\u832C\u834B\u8327\u8348\u8653\u8652\u86A2\u86A8\u8696\u868D\u8691\u869E\u8687\u8697\u8686\u868B\u869A\u8685\u86A5\u8699\u86A1\u86A7\u8695\u8698\u868E\u869D\u8690\u8694\u8843\u8844\u886D\u8875\u8876\u8872\u8880\u8871\u887F\u886F\u8883\u887E\u8874\u887C\u8A12\u8C47\u8C57\u8C7B\u8CA4\u8CA3\u8D76\u8D78\u8DB5\u8DB7\u8DB6\u8ED1\u8ED3\u8FFE\u8FF5\u9002\u8FFF\u8FFB\u9004\u8FFC\u8FF6\u90D6\u90E0\u90D9\u90DA\u90E3\u90DF\u90E5\u90D8\u90DB\u90D7\u90DC\u90E4\u9150"], + ["d440", "\u914E\u914F\u91D5\u91E2\u91DA\u965C\u965F\u96BC\u98E3\u9ADF\u9B2F\u4E7F\u5070\u506A\u5061\u505E\u5060\u5053\u504B\u505D\u5072\u5048\u504D\u5041\u505B\u504A\u5062\u5015\u5045\u505F\u5069\u506B\u5063\u5064\u5046\u5040\u506E\u5073\u5057\u5051\u51D0\u526B\u526D\u526C\u526E\u52D6\u52D3\u532D\u539C\u5575\u5576\u553C\u554D\u5550\u5534\u552A\u5551\u5562\u5536\u5535\u5530\u5552\u5545"], + ["d4a1", "\u550C\u5532\u5565\u554E\u5539\u5548\u552D\u553B\u5540\u554B\u570A\u5707\u57FB\u5814\u57E2\u57F6\u57DC\u57F4\u5800\u57ED\u57FD\u5808\u57F8\u580B\u57F3\u57CF\u5807\u57EE\u57E3\u57F2\u57E5\u57EC\u57E1\u580E\u57FC\u5810\u57E7\u5801\u580C\u57F1\u57E9\u57F0\u580D\u5804\u595C\u5A60\u5A58\u5A55\u5A67\u5A5E\u5A38\u5A35\u5A6D\u5A50\u5A5F\u5A65\u5A6C\u5A53\u5A64\u5A57\u5A43\u5A5D\u5A52\u5A44\u5A5B\u5A48\u5A8E\u5A3E\u5A4D\u5A39\u5A4C\u5A70\u5A69\u5A47\u5A51\u5A56\u5A42\u5A5C\u5B72\u5B6E\u5BC1\u5BC0\u5C59\u5D1E\u5D0B\u5D1D\u5D1A\u5D20\u5D0C\u5D28\u5D0D\u5D26\u5D25\u5D0F"], + ["d540", "\u5D30\u5D12\u5D23\u5D1F\u5D2E\u5E3E\u5E34\u5EB1\u5EB4\u5EB9\u5EB2\u5EB3\u5F36\u5F38\u5F9B\u5F96\u5F9F\u608A\u6090\u6086\u60BE\u60B0\u60BA\u60D3\u60D4\u60CF\u60E4\u60D9\u60DD\u60C8\u60B1\u60DB\u60B7\u60CA\u60BF\u60C3\u60CD\u60C0\u6332\u6365\u638A\u6382\u637D\u63BD\u639E\u63AD\u639D\u6397\u63AB\u638E\u636F\u6387\u6390\u636E\u63AF\u6375\u639C\u636D\u63AE\u637C\u63A4\u633B\u639F"], + ["d5a1", "\u6378\u6385\u6381\u6391\u638D\u6370\u6553\u65CD\u6665\u6661\u665B\u6659\u665C\u6662\u6718\u6879\u6887\u6890\u689C\u686D\u686E\u68AE\u68AB\u6956\u686F\u68A3\u68AC\u68A9\u6875\u6874\u68B2\u688F\u6877\u6892\u687C\u686B\u6872\u68AA\u6880\u6871\u687E\u689B\u6896\u688B\u68A0\u6889\u68A4\u6878\u687B\u6891\u688C\u688A\u687D\u6B36\u6B33\u6B37\u6B38\u6B91\u6B8F\u6B8D\u6B8E\u6B8C\u6C2A\u6DC0\u6DAB\u6DB4\u6DB3\u6E74\u6DAC\u6DE9\u6DE2\u6DB7\u6DF6\u6DD4\u6E00\u6DC8\u6DE0\u6DDF\u6DD6\u6DBE\u6DE5\u6DDC\u6DDD\u6DDB\u6DF4\u6DCA\u6DBD\u6DED\u6DF0\u6DBA\u6DD5\u6DC2\u6DCF\u6DC9"], + ["d640", "\u6DD0\u6DF2\u6DD3\u6DFD\u6DD7\u6DCD\u6DE3\u6DBB\u70FA\u710D\u70F7\u7117\u70F4\u710C\u70F0\u7104\u70F3\u7110\u70FC\u70FF\u7106\u7113\u7100\u70F8\u70F6\u710B\u7102\u710E\u727E\u727B\u727C\u727F\u731D\u7317\u7307\u7311\u7318\u730A\u7308\u72FF\u730F\u731E\u7388\u73F6\u73F8\u73F5\u7404\u7401\u73FD\u7407\u7400\u73FA\u73FC\u73FF\u740C\u740B\u73F4\u7408\u7564\u7563\u75CE\u75D2\u75CF"], + ["d6a1", "\u75CB\u75CC\u75D1\u75D0\u768F\u7689\u76D3\u7739\u772F\u772D\u7731\u7732\u7734\u7733\u773D\u7725\u773B\u7735\u7848\u7852\u7849\u784D\u784A\u784C\u7826\u7845\u7850\u7964\u7967\u7969\u796A\u7963\u796B\u7961\u79BB\u79FA\u79F8\u79F6\u79F7\u7A8F\u7A94\u7A90\u7B35\u7B47\u7B34\u7B25\u7B30\u7B22\u7B24\u7B33\u7B18\u7B2A\u7B1D\u7B31\u7B2B\u7B2D\u7B2F\u7B32\u7B38\u7B1A\u7B23\u7C94\u7C98\u7C96\u7CA3\u7D35\u7D3D\u7D38\u7D36\u7D3A\u7D45\u7D2C\u7D29\u7D41\u7D47\u7D3E\u7D3F\u7D4A\u7D3B\u7D28\u7F63\u7F95\u7F9C\u7F9D\u7F9B\u7FCA\u7FCB\u7FCD\u7FD0\u7FD1\u7FC7\u7FCF\u7FC9\u801F"], + ["d740", "\u801E\u801B\u8047\u8043\u8048\u8118\u8125\u8119\u811B\u812D\u811F\u812C\u811E\u8121\u8115\u8127\u811D\u8122\u8211\u8238\u8233\u823A\u8234\u8232\u8274\u8390\u83A3\u83A8\u838D\u837A\u8373\u83A4\u8374\u838F\u8381\u8395\u8399\u8375\u8394\u83A9\u837D\u8383\u838C\u839D\u839B\u83AA\u838B\u837E\u83A5\u83AF\u8388\u8397\u83B0\u837F\u83A6\u8387\u83AE\u8376\u839A\u8659\u8656\u86BF\u86B7"], + ["d7a1", "\u86C2\u86C1\u86C5\u86BA\u86B0\u86C8\u86B9\u86B3\u86B8\u86CC\u86B4\u86BB\u86BC\u86C3\u86BD\u86BE\u8852\u8889\u8895\u88A8\u88A2\u88AA\u889A\u8891\u88A1\u889F\u8898\u88A7\u8899\u889B\u8897\u88A4\u88AC\u888C\u8893\u888E\u8982\u89D6\u89D9\u89D5\u8A30\u8A27\u8A2C\u8A1E\u8C39\u8C3B\u8C5C\u8C5D\u8C7D\u8CA5\u8D7D\u8D7B\u8D79\u8DBC\u8DC2\u8DB9\u8DBF\u8DC1\u8ED8\u8EDE\u8EDD\u8EDC\u8ED7\u8EE0\u8EE1\u9024\u900B\u9011\u901C\u900C\u9021\u90EF\u90EA\u90F0\u90F4\u90F2\u90F3\u90D4\u90EB\u90EC\u90E9\u9156\u9158\u915A\u9153\u9155\u91EC\u91F4\u91F1\u91F3\u91F8\u91E4\u91F9\u91EA"], + ["d840", "\u91EB\u91F7\u91E8\u91EE\u957A\u9586\u9588\u967C\u966D\u966B\u9671\u966F\u96BF\u976A\u9804\u98E5\u9997\u509B\u5095\u5094\u509E\u508B\u50A3\u5083\u508C\u508E\u509D\u5068\u509C\u5092\u5082\u5087\u515F\u51D4\u5312\u5311\u53A4\u53A7\u5591\u55A8\u55A5\u55AD\u5577\u5645\u55A2\u5593\u5588\u558F\u55B5\u5581\u55A3\u5592\u55A4\u557D\u558C\u55A6\u557F\u5595\u55A1\u558E\u570C\u5829\u5837"], + ["d8a1", "\u5819\u581E\u5827\u5823\u5828\u57F5\u5848\u5825\u581C\u581B\u5833\u583F\u5836\u582E\u5839\u5838\u582D\u582C\u583B\u5961\u5AAF\u5A94\u5A9F\u5A7A\u5AA2\u5A9E\u5A78\u5AA6\u5A7C\u5AA5\u5AAC\u5A95\u5AAE\u5A37\u5A84\u5A8A\u5A97\u5A83\u5A8B\u5AA9\u5A7B\u5A7D\u5A8C\u5A9C\u5A8F\u5A93\u5A9D\u5BEA\u5BCD\u5BCB\u5BD4\u5BD1\u5BCA\u5BCE\u5C0C\u5C30\u5D37\u5D43\u5D6B\u5D41\u5D4B\u5D3F\u5D35\u5D51\u5D4E\u5D55\u5D33\u5D3A\u5D52\u5D3D\u5D31\u5D59\u5D42\u5D39\u5D49\u5D38\u5D3C\u5D32\u5D36\u5D40\u5D45\u5E44\u5E41\u5F58\u5FA6\u5FA5\u5FAB\u60C9\u60B9\u60CC\u60E2\u60CE\u60C4\u6114"], + ["d940", "\u60F2\u610A\u6116\u6105\u60F5\u6113\u60F8\u60FC\u60FE\u60C1\u6103\u6118\u611D\u6110\u60FF\u6104\u610B\u624A\u6394\u63B1\u63B0\u63CE\u63E5\u63E8\u63EF\u63C3\u649D\u63F3\u63CA\u63E0\u63F6\u63D5\u63F2\u63F5\u6461\u63DF\u63BE\u63DD\u63DC\u63C4\u63D8\u63D3\u63C2\u63C7\u63CC\u63CB\u63C8\u63F0\u63D7\u63D9\u6532\u6567\u656A\u6564\u655C\u6568\u6565\u658C\u659D\u659E\u65AE\u65D0\u65D2"], + ["d9a1", "\u667C\u666C\u667B\u6680\u6671\u6679\u666A\u6672\u6701\u690C\u68D3\u6904\u68DC\u692A\u68EC\u68EA\u68F1\u690F\u68D6\u68F7\u68EB\u68E4\u68F6\u6913\u6910\u68F3\u68E1\u6907\u68CC\u6908\u6970\u68B4\u6911\u68EF\u68C6\u6914\u68F8\u68D0\u68FD\u68FC\u68E8\u690B\u690A\u6917\u68CE\u68C8\u68DD\u68DE\u68E6\u68F4\u68D1\u6906\u68D4\u68E9\u6915\u6925\u68C7\u6B39\u6B3B\u6B3F\u6B3C\u6B94\u6B97\u6B99\u6B95\u6BBD\u6BF0\u6BF2\u6BF3\u6C30\u6DFC\u6E46\u6E47\u6E1F\u6E49\u6E88\u6E3C\u6E3D\u6E45\u6E62\u6E2B\u6E3F\u6E41\u6E5D\u6E73\u6E1C\u6E33\u6E4B\u6E40\u6E51\u6E3B\u6E03\u6E2E\u6E5E"], + ["da40", "\u6E68\u6E5C\u6E61\u6E31\u6E28\u6E60\u6E71\u6E6B\u6E39\u6E22\u6E30\u6E53\u6E65\u6E27\u6E78\u6E64\u6E77\u6E55\u6E79\u6E52\u6E66\u6E35\u6E36\u6E5A\u7120\u711E\u712F\u70FB\u712E\u7131\u7123\u7125\u7122\u7132\u711F\u7128\u713A\u711B\u724B\u725A\u7288\u7289\u7286\u7285\u728B\u7312\u730B\u7330\u7322\u7331\u7333\u7327\u7332\u732D\u7326\u7323\u7335\u730C\u742E\u742C\u7430\u742B\u7416"], + ["daa1", "\u741A\u7421\u742D\u7431\u7424\u7423\u741D\u7429\u7420\u7432\u74FB\u752F\u756F\u756C\u75E7\u75DA\u75E1\u75E6\u75DD\u75DF\u75E4\u75D7\u7695\u7692\u76DA\u7746\u7747\u7744\u774D\u7745\u774A\u774E\u774B\u774C\u77DE\u77EC\u7860\u7864\u7865\u785C\u786D\u7871\u786A\u786E\u7870\u7869\u7868\u785E\u7862\u7974\u7973\u7972\u7970\u7A02\u7A0A\u7A03\u7A0C\u7A04\u7A99\u7AE6\u7AE4\u7B4A\u7B3B\u7B44\u7B48\u7B4C\u7B4E\u7B40\u7B58\u7B45\u7CA2\u7C9E\u7CA8\u7CA1\u7D58\u7D6F\u7D63\u7D53\u7D56\u7D67\u7D6A\u7D4F\u7D6D\u7D5C\u7D6B\u7D52\u7D54\u7D69\u7D51\u7D5F\u7D4E\u7F3E\u7F3F\u7F65"], + ["db40", "\u7F66\u7FA2\u7FA0\u7FA1\u7FD7\u8051\u804F\u8050\u80FE\u80D4\u8143\u814A\u8152\u814F\u8147\u813D\u814D\u813A\u81E6\u81EE\u81F7\u81F8\u81F9\u8204\u823C\u823D\u823F\u8275\u833B\u83CF\u83F9\u8423\u83C0\u83E8\u8412\u83E7\u83E4\u83FC\u83F6\u8410\u83C6\u83C8\u83EB\u83E3\u83BF\u8401\u83DD\u83E5\u83D8\u83FF\u83E1\u83CB\u83CE\u83D6\u83F5\u83C9\u8409\u840F\u83DE\u8411\u8406\u83C2\u83F3"], + ["dba1", "\u83D5\u83FA\u83C7\u83D1\u83EA\u8413\u83C3\u83EC\u83EE\u83C4\u83FB\u83D7\u83E2\u841B\u83DB\u83FE\u86D8\u86E2\u86E6\u86D3\u86E3\u86DA\u86EA\u86DD\u86EB\u86DC\u86EC\u86E9\u86D7\u86E8\u86D1\u8848\u8856\u8855\u88BA\u88D7\u88B9\u88B8\u88C0\u88BE\u88B6\u88BC\u88B7\u88BD\u88B2\u8901\u88C9\u8995\u8998\u8997\u89DD\u89DA\u89DB\u8A4E\u8A4D\u8A39\u8A59\u8A40\u8A57\u8A58\u8A44\u8A45\u8A52\u8A48\u8A51\u8A4A\u8A4C\u8A4F\u8C5F\u8C81\u8C80\u8CBA\u8CBE\u8CB0\u8CB9\u8CB5\u8D84\u8D80\u8D89\u8DD8\u8DD3\u8DCD\u8DC7\u8DD6\u8DDC\u8DCF\u8DD5\u8DD9\u8DC8\u8DD7\u8DC5\u8EEF\u8EF7\u8EFA"], + ["dc40", "\u8EF9\u8EE6\u8EEE\u8EE5\u8EF5\u8EE7\u8EE8\u8EF6\u8EEB\u8EF1\u8EEC\u8EF4\u8EE9\u902D\u9034\u902F\u9106\u912C\u9104\u90FF\u90FC\u9108\u90F9\u90FB\u9101\u9100\u9107\u9105\u9103\u9161\u9164\u915F\u9162\u9160\u9201\u920A\u9225\u9203\u921A\u9226\u920F\u920C\u9200\u9212\u91FF\u91FD\u9206\u9204\u9227\u9202\u921C\u9224\u9219\u9217\u9205\u9216\u957B\u958D\u958C\u9590\u9687\u967E\u9688"], + ["dca1", "\u9689\u9683\u9680\u96C2\u96C8\u96C3\u96F1\u96F0\u976C\u9770\u976E\u9807\u98A9\u98EB\u9CE6\u9EF9\u4E83\u4E84\u4EB6\u50BD\u50BF\u50C6\u50AE\u50C4\u50CA\u50B4\u50C8\u50C2\u50B0\u50C1\u50BA\u50B1\u50CB\u50C9\u50B6\u50B8\u51D7\u527A\u5278\u527B\u527C\u55C3\u55DB\u55CC\u55D0\u55CB\u55CA\u55DD\u55C0\u55D4\u55C4\u55E9\u55BF\u55D2\u558D\u55CF\u55D5\u55E2\u55D6\u55C8\u55F2\u55CD\u55D9\u55C2\u5714\u5853\u5868\u5864\u584F\u584D\u5849\u586F\u5855\u584E\u585D\u5859\u5865\u585B\u583D\u5863\u5871\u58FC\u5AC7\u5AC4\u5ACB\u5ABA\u5AB8\u5AB1\u5AB5\u5AB0\u5ABF\u5AC8\u5ABB\u5AC6"], + ["dd40", "\u5AB7\u5AC0\u5ACA\u5AB4\u5AB6\u5ACD\u5AB9\u5A90\u5BD6\u5BD8\u5BD9\u5C1F\u5C33\u5D71\u5D63\u5D4A\u5D65\u5D72\u5D6C\u5D5E\u5D68\u5D67\u5D62\u5DF0\u5E4F\u5E4E\u5E4A\u5E4D\u5E4B\u5EC5\u5ECC\u5EC6\u5ECB\u5EC7\u5F40\u5FAF\u5FAD\u60F7\u6149\u614A\u612B\u6145\u6136\u6132\u612E\u6146\u612F\u614F\u6129\u6140\u6220\u9168\u6223\u6225\u6224\u63C5\u63F1\u63EB\u6410\u6412\u6409\u6420\u6424"], + ["dda1", "\u6433\u6443\u641F\u6415\u6418\u6439\u6437\u6422\u6423\u640C\u6426\u6430\u6428\u6441\u6435\u642F\u640A\u641A\u6440\u6425\u6427\u640B\u63E7\u641B\u642E\u6421\u640E\u656F\u6592\u65D3\u6686\u668C\u6695\u6690\u668B\u668A\u6699\u6694\u6678\u6720\u6966\u695F\u6938\u694E\u6962\u6971\u693F\u6945\u696A\u6939\u6942\u6957\u6959\u697A\u6948\u6949\u6935\u696C\u6933\u693D\u6965\u68F0\u6978\u6934\u6969\u6940\u696F\u6944\u6976\u6958\u6941\u6974\u694C\u693B\u694B\u6937\u695C\u694F\u6951\u6932\u6952\u692F\u697B\u693C\u6B46\u6B45\u6B43\u6B42\u6B48\u6B41\u6B9B\uFA0D\u6BFB\u6BFC"], + ["de40", "\u6BF9\u6BF7\u6BF8\u6E9B\u6ED6\u6EC8\u6E8F\u6EC0\u6E9F\u6E93\u6E94\u6EA0\u6EB1\u6EB9\u6EC6\u6ED2\u6EBD\u6EC1\u6E9E\u6EC9\u6EB7\u6EB0\u6ECD\u6EA6\u6ECF\u6EB2\u6EBE\u6EC3\u6EDC\u6ED8\u6E99\u6E92\u6E8E\u6E8D\u6EA4\u6EA1\u6EBF\u6EB3\u6ED0\u6ECA\u6E97\u6EAE\u6EA3\u7147\u7154\u7152\u7163\u7160\u7141\u715D\u7162\u7172\u7178\u716A\u7161\u7142\u7158\u7143\u714B\u7170\u715F\u7150\u7153"], + ["dea1", "\u7144\u714D\u715A\u724F\u728D\u728C\u7291\u7290\u728E\u733C\u7342\u733B\u733A\u7340\u734A\u7349\u7444\u744A\u744B\u7452\u7451\u7457\u7440\u744F\u7450\u744E\u7442\u7446\u744D\u7454\u74E1\u74FF\u74FE\u74FD\u751D\u7579\u7577\u6983\u75EF\u760F\u7603\u75F7\u75FE\u75FC\u75F9\u75F8\u7610\u75FB\u75F6\u75ED\u75F5\u75FD\u7699\u76B5\u76DD\u7755\u775F\u7760\u7752\u7756\u775A\u7769\u7767\u7754\u7759\u776D\u77E0\u7887\u789A\u7894\u788F\u7884\u7895\u7885\u7886\u78A1\u7883\u7879\u7899\u7880\u7896\u787B\u797C\u7982\u797D\u7979\u7A11\u7A18\u7A19\u7A12\u7A17\u7A15\u7A22\u7A13"], + ["df40", "\u7A1B\u7A10\u7AA3\u7AA2\u7A9E\u7AEB\u7B66\u7B64\u7B6D\u7B74\u7B69\u7B72\u7B65\u7B73\u7B71\u7B70\u7B61\u7B78\u7B76\u7B63\u7CB2\u7CB4\u7CAF\u7D88\u7D86\u7D80\u7D8D\u7D7F\u7D85\u7D7A\u7D8E\u7D7B\u7D83\u7D7C\u7D8C\u7D94\u7D84\u7D7D\u7D92\u7F6D\u7F6B\u7F67\u7F68\u7F6C\u7FA6\u7FA5\u7FA7\u7FDB\u7FDC\u8021\u8164\u8160\u8177\u815C\u8169\u815B\u8162\u8172\u6721\u815E\u8176\u8167\u816F"], + ["dfa1", "\u8144\u8161\u821D\u8249\u8244\u8240\u8242\u8245\u84F1\u843F\u8456\u8476\u8479\u848F\u848D\u8465\u8451\u8440\u8486\u8467\u8430\u844D\u847D\u845A\u8459\u8474\u8473\u845D\u8507\u845E\u8437\u843A\u8434\u847A\u8443\u8478\u8432\u8445\u8429\u83D9\u844B\u842F\u8442\u842D\u845F\u8470\u8439\u844E\u844C\u8452\u846F\u84C5\u848E\u843B\u8447\u8436\u8433\u8468\u847E\u8444\u842B\u8460\u8454\u846E\u8450\u870B\u8704\u86F7\u870C\u86FA\u86D6\u86F5\u874D\u86F8\u870E\u8709\u8701\u86F6\u870D\u8705\u88D6\u88CB\u88CD\u88CE\u88DE\u88DB\u88DA\u88CC\u88D0\u8985\u899B\u89DF\u89E5\u89E4"], + ["e040", "\u89E1\u89E0\u89E2\u89DC\u89E6\u8A76\u8A86\u8A7F\u8A61\u8A3F\u8A77\u8A82\u8A84\u8A75\u8A83\u8A81\u8A74\u8A7A\u8C3C\u8C4B\u8C4A\u8C65\u8C64\u8C66\u8C86\u8C84\u8C85\u8CCC\u8D68\u8D69\u8D91\u8D8C\u8D8E\u8D8F\u8D8D\u8D93\u8D94\u8D90\u8D92\u8DF0\u8DE0\u8DEC\u8DF1\u8DEE\u8DD0\u8DE9\u8DE3\u8DE2\u8DE7\u8DF2\u8DEB\u8DF4\u8F06\u8EFF\u8F01\u8F00\u8F05\u8F07\u8F08\u8F02\u8F0B\u9052\u903F"], + ["e0a1", "\u9044\u9049\u903D\u9110\u910D\u910F\u9111\u9116\u9114\u910B\u910E\u916E\u916F\u9248\u9252\u9230\u923A\u9266\u9233\u9265\u925E\u9283\u922E\u924A\u9246\u926D\u926C\u924F\u9260\u9267\u926F\u9236\u9261\u9270\u9231\u9254\u9263\u9250\u9272\u924E\u9253\u924C\u9256\u9232\u959F\u959C\u959E\u959B\u9692\u9693\u9691\u9697\u96CE\u96FA\u96FD\u96F8\u96F5\u9773\u9777\u9778\u9772\u980F\u980D\u980E\u98AC\u98F6\u98F9\u99AF\u99B2\u99B0\u99B5\u9AAD\u9AAB\u9B5B\u9CEA\u9CED\u9CE7\u9E80\u9EFD\u50E6\u50D4\u50D7\u50E8\u50F3\u50DB\u50EA\u50DD\u50E4\u50D3\u50EC\u50F0\u50EF\u50E3\u50E0"], + ["e140", "\u51D8\u5280\u5281\u52E9\u52EB\u5330\u53AC\u5627\u5615\u560C\u5612\u55FC\u560F\u561C\u5601\u5613\u5602\u55FA\u561D\u5604\u55FF\u55F9\u5889\u587C\u5890\u5898\u5886\u5881\u587F\u5874\u588B\u587A\u5887\u5891\u588E\u5876\u5882\u5888\u587B\u5894\u588F\u58FE\u596B\u5ADC\u5AEE\u5AE5\u5AD5\u5AEA\u5ADA\u5AED\u5AEB\u5AF3\u5AE2\u5AE0\u5ADB\u5AEC\u5ADE\u5ADD\u5AD9\u5AE8\u5ADF\u5B77\u5BE0"], + ["e1a1", "\u5BE3\u5C63\u5D82\u5D80\u5D7D\u5D86\u5D7A\u5D81\u5D77\u5D8A\u5D89\u5D88\u5D7E\u5D7C\u5D8D\u5D79\u5D7F\u5E58\u5E59\u5E53\u5ED8\u5ED1\u5ED7\u5ECE\u5EDC\u5ED5\u5ED9\u5ED2\u5ED4\u5F44\u5F43\u5F6F\u5FB6\u612C\u6128\u6141\u615E\u6171\u6173\u6152\u6153\u6172\u616C\u6180\u6174\u6154\u617A\u615B\u6165\u613B\u616A\u6161\u6156\u6229\u6227\u622B\u642B\u644D\u645B\u645D\u6474\u6476\u6472\u6473\u647D\u6475\u6466\u64A6\u644E\u6482\u645E\u645C\u644B\u6453\u6460\u6450\u647F\u643F\u646C\u646B\u6459\u6465\u6477\u6573\u65A0\u66A1\u66A0\u669F\u6705\u6704\u6722\u69B1\u69B6\u69C9"], + ["e240", "\u69A0\u69CE\u6996\u69B0\u69AC\u69BC\u6991\u6999\u698E\u69A7\u698D\u69A9\u69BE\u69AF\u69BF\u69C4\u69BD\u69A4\u69D4\u69B9\u69CA\u699A\u69CF\u69B3\u6993\u69AA\u69A1\u699E\u69D9\u6997\u6990\u69C2\u69B5\u69A5\u69C6\u6B4A\u6B4D\u6B4B\u6B9E\u6B9F\u6BA0\u6BC3\u6BC4\u6BFE\u6ECE\u6EF5\u6EF1\u6F03\u6F25\u6EF8\u6F37\u6EFB\u6F2E\u6F09\u6F4E\u6F19\u6F1A\u6F27\u6F18\u6F3B\u6F12\u6EED\u6F0A"], + ["e2a1", "\u6F36\u6F73\u6EF9\u6EEE\u6F2D\u6F40\u6F30\u6F3C\u6F35\u6EEB\u6F07\u6F0E\u6F43\u6F05\u6EFD\u6EF6\u6F39\u6F1C\u6EFC\u6F3A\u6F1F\u6F0D\u6F1E\u6F08\u6F21\u7187\u7190\u7189\u7180\u7185\u7182\u718F\u717B\u7186\u7181\u7197\u7244\u7253\u7297\u7295\u7293\u7343\u734D\u7351\u734C\u7462\u7473\u7471\u7475\u7472\u7467\u746E\u7500\u7502\u7503\u757D\u7590\u7616\u7608\u760C\u7615\u7611\u760A\u7614\u76B8\u7781\u777C\u7785\u7782\u776E\u7780\u776F\u777E\u7783\u78B2\u78AA\u78B4\u78AD\u78A8\u787E\u78AB\u789E\u78A5\u78A0\u78AC\u78A2\u78A4\u7998\u798A\u798B\u7996\u7995\u7994\u7993"], + ["e340", "\u7997\u7988\u7992\u7990\u7A2B\u7A4A\u7A30\u7A2F\u7A28\u7A26\u7AA8\u7AAB\u7AAC\u7AEE\u7B88\u7B9C\u7B8A\u7B91\u7B90\u7B96\u7B8D\u7B8C\u7B9B\u7B8E\u7B85\u7B98\u5284\u7B99\u7BA4\u7B82\u7CBB\u7CBF\u7CBC\u7CBA\u7DA7\u7DB7\u7DC2\u7DA3\u7DAA\u7DC1\u7DC0\u7DC5\u7D9D\u7DCE\u7DC4\u7DC6\u7DCB\u7DCC\u7DAF\u7DB9\u7D96\u7DBC\u7D9F\u7DA6\u7DAE\u7DA9\u7DA1\u7DC9\u7F73\u7FE2\u7FE3\u7FE5\u7FDE"], + ["e3a1", "\u8024\u805D\u805C\u8189\u8186\u8183\u8187\u818D\u818C\u818B\u8215\u8497\u84A4\u84A1\u849F\u84BA\u84CE\u84C2\u84AC\u84AE\u84AB\u84B9\u84B4\u84C1\u84CD\u84AA\u849A\u84B1\u84D0\u849D\u84A7\u84BB\u84A2\u8494\u84C7\u84CC\u849B\u84A9\u84AF\u84A8\u84D6\u8498\u84B6\u84CF\u84A0\u84D7\u84D4\u84D2\u84DB\u84B0\u8491\u8661\u8733\u8723\u8728\u876B\u8740\u872E\u871E\u8721\u8719\u871B\u8743\u872C\u8741\u873E\u8746\u8720\u8732\u872A\u872D\u873C\u8712\u873A\u8731\u8735\u8742\u8726\u8727\u8738\u8724\u871A\u8730\u8711\u88F7\u88E7\u88F1\u88F2\u88FA\u88FE\u88EE\u88FC\u88F6\u88FB"], + ["e440", "\u88F0\u88EC\u88EB\u899D\u89A1\u899F\u899E\u89E9\u89EB\u89E8\u8AAB\u8A99\u8A8B\u8A92\u8A8F\u8A96\u8C3D\u8C68\u8C69\u8CD5\u8CCF\u8CD7\u8D96\u8E09\u8E02\u8DFF\u8E0D\u8DFD\u8E0A\u8E03\u8E07\u8E06\u8E05\u8DFE\u8E00\u8E04\u8F10\u8F11\u8F0E\u8F0D\u9123\u911C\u9120\u9122\u911F\u911D\u911A\u9124\u9121\u911B\u917A\u9172\u9179\u9173\u92A5\u92A4\u9276\u929B\u927A\u92A0\u9294\u92AA\u928D"], + ["e4a1", "\u92A6\u929A\u92AB\u9279\u9297\u927F\u92A3\u92EE\u928E\u9282\u9295\u92A2\u927D\u9288\u92A1\u928A\u9286\u928C\u9299\u92A7\u927E\u9287\u92A9\u929D\u928B\u922D\u969E\u96A1\u96FF\u9758\u977D\u977A\u977E\u9783\u9780\u9782\u977B\u9784\u9781\u977F\u97CE\u97CD\u9816\u98AD\u98AE\u9902\u9900\u9907\u999D\u999C\u99C3\u99B9\u99BB\u99BA\u99C2\u99BD\u99C7\u9AB1\u9AE3\u9AE7\u9B3E\u9B3F\u9B60\u9B61\u9B5F\u9CF1\u9CF2\u9CF5\u9EA7\u50FF\u5103\u5130\u50F8\u5106\u5107\u50F6\u50FE\u510B\u510C\u50FD\u510A\u528B\u528C\u52F1\u52EF\u5648\u5642\u564C\u5635\u5641\u564A\u5649\u5646\u5658"], + ["e540", "\u565A\u5640\u5633\u563D\u562C\u563E\u5638\u562A\u563A\u571A\u58AB\u589D\u58B1\u58A0\u58A3\u58AF\u58AC\u58A5\u58A1\u58FF\u5AFF\u5AF4\u5AFD\u5AF7\u5AF6\u5B03\u5AF8\u5B02\u5AF9\u5B01\u5B07\u5B05\u5B0F\u5C67\u5D99\u5D97\u5D9F\u5D92\u5DA2\u5D93\u5D95\u5DA0\u5D9C\u5DA1\u5D9A\u5D9E\u5E69\u5E5D\u5E60\u5E5C\u7DF3\u5EDB\u5EDE\u5EE1\u5F49\u5FB2\u618B\u6183\u6179\u61B1\u61B0\u61A2\u6189"], + ["e5a1", "\u619B\u6193\u61AF\u61AD\u619F\u6192\u61AA\u61A1\u618D\u6166\u61B3\u622D\u646E\u6470\u6496\u64A0\u6485\u6497\u649C\u648F\u648B\u648A\u648C\u64A3\u649F\u6468\u64B1\u6498\u6576\u657A\u6579\u657B\u65B2\u65B3\u66B5\u66B0\u66A9\u66B2\u66B7\u66AA\u66AF\u6A00\u6A06\u6A17\u69E5\u69F8\u6A15\u69F1\u69E4\u6A20\u69FF\u69EC\u69E2\u6A1B\u6A1D\u69FE\u6A27\u69F2\u69EE\u6A14\u69F7\u69E7\u6A40\u6A08\u69E6\u69FB\u6A0D\u69FC\u69EB\u6A09\u6A04\u6A18\u6A25\u6A0F\u69F6\u6A26\u6A07\u69F4\u6A16\u6B51\u6BA5\u6BA3\u6BA2\u6BA6\u6C01\u6C00\u6BFF\u6C02\u6F41\u6F26\u6F7E\u6F87\u6FC6\u6F92"], + ["e640", "\u6F8D\u6F89\u6F8C\u6F62\u6F4F\u6F85\u6F5A\u6F96\u6F76\u6F6C\u6F82\u6F55\u6F72\u6F52\u6F50\u6F57\u6F94\u6F93\u6F5D\u6F00\u6F61\u6F6B\u6F7D\u6F67\u6F90\u6F53\u6F8B\u6F69\u6F7F\u6F95\u6F63\u6F77\u6F6A\u6F7B\u71B2\u71AF\u719B\u71B0\u71A0\u719A\u71A9\u71B5\u719D\u71A5\u719E\u71A4\u71A1\u71AA\u719C\u71A7\u71B3\u7298\u729A\u7358\u7352\u735E\u735F\u7360\u735D\u735B\u7361\u735A\u7359"], + ["e6a1", "\u7362\u7487\u7489\u748A\u7486\u7481\u747D\u7485\u7488\u747C\u7479\u7508\u7507\u757E\u7625\u761E\u7619\u761D\u761C\u7623\u761A\u7628\u761B\u769C\u769D\u769E\u769B\u778D\u778F\u7789\u7788\u78CD\u78BB\u78CF\u78CC\u78D1\u78CE\u78D4\u78C8\u78C3\u78C4\u78C9\u799A\u79A1\u79A0\u799C\u79A2\u799B\u6B76\u7A39\u7AB2\u7AB4\u7AB3\u7BB7\u7BCB\u7BBE\u7BAC\u7BCE\u7BAF\u7BB9\u7BCA\u7BB5\u7CC5\u7CC8\u7CCC\u7CCB\u7DF7\u7DDB\u7DEA\u7DE7\u7DD7\u7DE1\u7E03\u7DFA\u7DE6\u7DF6\u7DF1\u7DF0\u7DEE\u7DDF\u7F76\u7FAC\u7FB0\u7FAD\u7FED\u7FEB\u7FEA\u7FEC\u7FE6\u7FE8\u8064\u8067\u81A3\u819F"], + ["e740", "\u819E\u8195\u81A2\u8199\u8197\u8216\u824F\u8253\u8252\u8250\u824E\u8251\u8524\u853B\u850F\u8500\u8529\u850E\u8509\u850D\u851F\u850A\u8527\u851C\u84FB\u852B\u84FA\u8508\u850C\u84F4\u852A\u84F2\u8515\u84F7\u84EB\u84F3\u84FC\u8512\u84EA\u84E9\u8516\u84FE\u8528\u851D\u852E\u8502\u84FD\u851E\u84F6\u8531\u8526\u84E7\u84E8\u84F0\u84EF\u84F9\u8518\u8520\u8530\u850B\u8519\u852F\u8662"], + ["e7a1", "\u8756\u8763\u8764\u8777\u87E1\u8773\u8758\u8754\u875B\u8752\u8761\u875A\u8751\u875E\u876D\u876A\u8750\u874E\u875F\u875D\u876F\u876C\u877A\u876E\u875C\u8765\u874F\u877B\u8775\u8762\u8767\u8769\u885A\u8905\u890C\u8914\u890B\u8917\u8918\u8919\u8906\u8916\u8911\u890E\u8909\u89A2\u89A4\u89A3\u89ED\u89F0\u89EC\u8ACF\u8AC6\u8AB8\u8AD3\u8AD1\u8AD4\u8AD5\u8ABB\u8AD7\u8ABE\u8AC0\u8AC5\u8AD8\u8AC3\u8ABA\u8ABD\u8AD9\u8C3E\u8C4D\u8C8F\u8CE5\u8CDF\u8CD9\u8CE8\u8CDA\u8CDD\u8CE7\u8DA0\u8D9C\u8DA1\u8D9B\u8E20\u8E23\u8E25\u8E24\u8E2E\u8E15\u8E1B\u8E16\u8E11\u8E19\u8E26\u8E27"], + ["e840", "\u8E14\u8E12\u8E18\u8E13\u8E1C\u8E17\u8E1A\u8F2C\u8F24\u8F18\u8F1A\u8F20\u8F23\u8F16\u8F17\u9073\u9070\u906F\u9067\u906B\u912F\u912B\u9129\u912A\u9132\u9126\u912E\u9185\u9186\u918A\u9181\u9182\u9184\u9180\u92D0\u92C3\u92C4\u92C0\u92D9\u92B6\u92CF\u92F1\u92DF\u92D8\u92E9\u92D7\u92DD\u92CC\u92EF\u92C2\u92E8\u92CA\u92C8\u92CE\u92E6\u92CD\u92D5\u92C9\u92E0\u92DE\u92E7\u92D1\u92D3"], + ["e8a1", "\u92B5\u92E1\u92C6\u92B4\u957C\u95AC\u95AB\u95AE\u95B0\u96A4\u96A2\u96D3\u9705\u9708\u9702\u975A\u978A\u978E\u9788\u97D0\u97CF\u981E\u981D\u9826\u9829\u9828\u9820\u981B\u9827\u98B2\u9908\u98FA\u9911\u9914\u9916\u9917\u9915\u99DC\u99CD\u99CF\u99D3\u99D4\u99CE\u99C9\u99D6\u99D8\u99CB\u99D7\u99CC\u9AB3\u9AEC\u9AEB\u9AF3\u9AF2\u9AF1\u9B46\u9B43\u9B67\u9B74\u9B71\u9B66\u9B76\u9B75\u9B70\u9B68\u9B64\u9B6C\u9CFC\u9CFA\u9CFD\u9CFF\u9CF7\u9D07\u9D00\u9CF9\u9CFB\u9D08\u9D05\u9D04\u9E83\u9ED3\u9F0F\u9F10\u511C\u5113\u5117\u511A\u5111\u51DE\u5334\u53E1\u5670\u5660\u566E"], + ["e940", "\u5673\u5666\u5663\u566D\u5672\u565E\u5677\u571C\u571B\u58C8\u58BD\u58C9\u58BF\u58BA\u58C2\u58BC\u58C6\u5B17\u5B19\u5B1B\u5B21\u5B14\u5B13\u5B10\u5B16\u5B28\u5B1A\u5B20\u5B1E\u5BEF\u5DAC\u5DB1\u5DA9\u5DA7\u5DB5\u5DB0\u5DAE\u5DAA\u5DA8\u5DB2\u5DAD\u5DAF\u5DB4\u5E67\u5E68\u5E66\u5E6F\u5EE9\u5EE7\u5EE6\u5EE8\u5EE5\u5F4B\u5FBC\u619D\u61A8\u6196\u61C5\u61B4\u61C6\u61C1\u61CC\u61BA"], + ["e9a1", "\u61BF\u61B8\u618C\u64D7\u64D6\u64D0\u64CF\u64C9\u64BD\u6489\u64C3\u64DB\u64F3\u64D9\u6533\u657F\u657C\u65A2\u66C8\u66BE\u66C0\u66CA\u66CB\u66CF\u66BD\u66BB\u66BA\u66CC\u6723\u6A34\u6A66\u6A49\u6A67\u6A32\u6A68\u6A3E\u6A5D\u6A6D\u6A76\u6A5B\u6A51\u6A28\u6A5A\u6A3B\u6A3F\u6A41\u6A6A\u6A64\u6A50\u6A4F\u6A54\u6A6F\u6A69\u6A60\u6A3C\u6A5E\u6A56\u6A55\u6A4D\u6A4E\u6A46\u6B55\u6B54\u6B56\u6BA7\u6BAA\u6BAB\u6BC8\u6BC7\u6C04\u6C03\u6C06\u6FAD\u6FCB\u6FA3\u6FC7\u6FBC\u6FCE\u6FC8\u6F5E\u6FC4\u6FBD\u6F9E\u6FCA\u6FA8\u7004\u6FA5\u6FAE\u6FBA\u6FAC\u6FAA\u6FCF\u6FBF\u6FB8"], + ["ea40", "\u6FA2\u6FC9\u6FAB\u6FCD\u6FAF\u6FB2\u6FB0\u71C5\u71C2\u71BF\u71B8\u71D6\u71C0\u71C1\u71CB\u71D4\u71CA\u71C7\u71CF\u71BD\u71D8\u71BC\u71C6\u71DA\u71DB\u729D\u729E\u7369\u7366\u7367\u736C\u7365\u736B\u736A\u747F\u749A\u74A0\u7494\u7492\u7495\u74A1\u750B\u7580\u762F\u762D\u7631\u763D\u7633\u763C\u7635\u7632\u7630\u76BB\u76E6\u779A\u779D\u77A1\u779C\u779B\u77A2\u77A3\u7795\u7799"], + ["eaa1", "\u7797\u78DD\u78E9\u78E5\u78EA\u78DE\u78E3\u78DB\u78E1\u78E2\u78ED\u78DF\u78E0\u79A4\u7A44\u7A48\u7A47\u7AB6\u7AB8\u7AB5\u7AB1\u7AB7\u7BDE\u7BE3\u7BE7\u7BDD\u7BD5\u7BE5\u7BDA\u7BE8\u7BF9\u7BD4\u7BEA\u7BE2\u7BDC\u7BEB\u7BD8\u7BDF\u7CD2\u7CD4\u7CD7\u7CD0\u7CD1\u7E12\u7E21\u7E17\u7E0C\u7E1F\u7E20\u7E13\u7E0E\u7E1C\u7E15\u7E1A\u7E22\u7E0B\u7E0F\u7E16\u7E0D\u7E14\u7E25\u7E24\u7F43\u7F7B\u7F7C\u7F7A\u7FB1\u7FEF\u802A\u8029\u806C\u81B1\u81A6\u81AE\u81B9\u81B5\u81AB\u81B0\u81AC\u81B4\u81B2\u81B7\u81A7\u81F2\u8255\u8256\u8257\u8556\u8545\u856B\u854D\u8553\u8561\u8558"], + ["eb40", "\u8540\u8546\u8564\u8541\u8562\u8544\u8551\u8547\u8563\u853E\u855B\u8571\u854E\u856E\u8575\u8555\u8567\u8560\u858C\u8566\u855D\u8554\u8565\u856C\u8663\u8665\u8664\u879B\u878F\u8797\u8793\u8792\u8788\u8781\u8796\u8798\u8779\u8787\u87A3\u8785\u8790\u8791\u879D\u8784\u8794\u879C\u879A\u8789\u891E\u8926\u8930\u892D\u892E\u8927\u8931\u8922\u8929\u8923\u892F\u892C\u891F\u89F1\u8AE0"], + ["eba1", "\u8AE2\u8AF2\u8AF4\u8AF5\u8ADD\u8B14\u8AE4\u8ADF\u8AF0\u8AC8\u8ADE\u8AE1\u8AE8\u8AFF\u8AEF\u8AFB\u8C91\u8C92\u8C90\u8CF5\u8CEE\u8CF1\u8CF0\u8CF3\u8D6C\u8D6E\u8DA5\u8DA7\u8E33\u8E3E\u8E38\u8E40\u8E45\u8E36\u8E3C\u8E3D\u8E41\u8E30\u8E3F\u8EBD\u8F36\u8F2E\u8F35\u8F32\u8F39\u8F37\u8F34\u9076\u9079\u907B\u9086\u90FA\u9133\u9135\u9136\u9193\u9190\u9191\u918D\u918F\u9327\u931E\u9308\u931F\u9306\u930F\u937A\u9338\u933C\u931B\u9323\u9312\u9301\u9346\u932D\u930E\u930D\u92CB\u931D\u92FA\u9325\u9313\u92F9\u92F7\u9334\u9302\u9324\u92FF\u9329\u9339\u9335\u932A\u9314\u930C"], + ["ec40", "\u930B\u92FE\u9309\u9300\u92FB\u9316\u95BC\u95CD\u95BE\u95B9\u95BA\u95B6\u95BF\u95B5\u95BD\u96A9\u96D4\u970B\u9712\u9710\u9799\u9797\u9794\u97F0\u97F8\u9835\u982F\u9832\u9924\u991F\u9927\u9929\u999E\u99EE\u99EC\u99E5\u99E4\u99F0\u99E3\u99EA\u99E9\u99E7\u9AB9\u9ABF\u9AB4\u9ABB\u9AF6\u9AFA\u9AF9\u9AF7\u9B33\u9B80\u9B85\u9B87\u9B7C\u9B7E\u9B7B\u9B82\u9B93\u9B92\u9B90\u9B7A\u9B95"], + ["eca1", "\u9B7D\u9B88\u9D25\u9D17\u9D20\u9D1E\u9D14\u9D29\u9D1D\u9D18\u9D22\u9D10\u9D19\u9D1F\u9E88\u9E86\u9E87\u9EAE\u9EAD\u9ED5\u9ED6\u9EFA\u9F12\u9F3D\u5126\u5125\u5122\u5124\u5120\u5129\u52F4\u5693\u568C\u568D\u5686\u5684\u5683\u567E\u5682\u567F\u5681\u58D6\u58D4\u58CF\u58D2\u5B2D\u5B25\u5B32\u5B23\u5B2C\u5B27\u5B26\u5B2F\u5B2E\u5B7B\u5BF1\u5BF2\u5DB7\u5E6C\u5E6A\u5FBE\u5FBB\u61C3\u61B5\u61BC\u61E7\u61E0\u61E5\u61E4\u61E8\u61DE\u64EF\u64E9\u64E3\u64EB\u64E4\u64E8\u6581\u6580\u65B6\u65DA\u66D2\u6A8D\u6A96\u6A81\u6AA5\u6A89\u6A9F\u6A9B\u6AA1\u6A9E\u6A87\u6A93\u6A8E"], + ["ed40", "\u6A95\u6A83\u6AA8\u6AA4\u6A91\u6A7F\u6AA6\u6A9A\u6A85\u6A8C\u6A92\u6B5B\u6BAD\u6C09\u6FCC\u6FA9\u6FF4\u6FD4\u6FE3\u6FDC\u6FED\u6FE7\u6FE6\u6FDE\u6FF2\u6FDD\u6FE2\u6FE8\u71E1\u71F1\u71E8\u71F2\u71E4\u71F0\u71E2\u7373\u736E\u736F\u7497\u74B2\u74AB\u7490\u74AA\u74AD\u74B1\u74A5\u74AF\u7510\u7511\u7512\u750F\u7584\u7643\u7648\u7649\u7647\u76A4\u76E9\u77B5\u77AB\u77B2\u77B7\u77B6"], + ["eda1", "\u77B4\u77B1\u77A8\u77F0\u78F3\u78FD\u7902\u78FB\u78FC\u78F2\u7905\u78F9\u78FE\u7904\u79AB\u79A8\u7A5C\u7A5B\u7A56\u7A58\u7A54\u7A5A\u7ABE\u7AC0\u7AC1\u7C05\u7C0F\u7BF2\u7C00\u7BFF\u7BFB\u7C0E\u7BF4\u7C0B\u7BF3\u7C02\u7C09\u7C03\u7C01\u7BF8\u7BFD\u7C06\u7BF0\u7BF1\u7C10\u7C0A\u7CE8\u7E2D\u7E3C\u7E42\u7E33\u9848\u7E38\u7E2A\u7E49\u7E40\u7E47\u7E29\u7E4C\u7E30\u7E3B\u7E36\u7E44\u7E3A\u7F45\u7F7F\u7F7E\u7F7D\u7FF4\u7FF2\u802C\u81BB\u81C4\u81CC\u81CA\u81C5\u81C7\u81BC\u81E9\u825B\u825A\u825C\u8583\u8580\u858F\u85A7\u8595\u85A0\u858B\u85A3\u857B\u85A4\u859A\u859E"], + ["ee40", "\u8577\u857C\u8589\u85A1\u857A\u8578\u8557\u858E\u8596\u8586\u858D\u8599\u859D\u8581\u85A2\u8582\u8588\u8585\u8579\u8576\u8598\u8590\u859F\u8668\u87BE\u87AA\u87AD\u87C5\u87B0\u87AC\u87B9\u87B5\u87BC\u87AE\u87C9\u87C3\u87C2\u87CC\u87B7\u87AF\u87C4\u87CA\u87B4\u87B6\u87BF\u87B8\u87BD\u87DE\u87B2\u8935\u8933\u893C\u893E\u8941\u8952\u8937\u8942\u89AD\u89AF\u89AE\u89F2\u89F3\u8B1E"], + ["eea1", "\u8B18\u8B16\u8B11\u8B05\u8B0B\u8B22\u8B0F\u8B12\u8B15\u8B07\u8B0D\u8B08\u8B06\u8B1C\u8B13\u8B1A\u8C4F\u8C70\u8C72\u8C71\u8C6F\u8C95\u8C94\u8CF9\u8D6F\u8E4E\u8E4D\u8E53\u8E50\u8E4C\u8E47\u8F43\u8F40\u9085\u907E\u9138\u919A\u91A2\u919B\u9199\u919F\u91A1\u919D\u91A0\u93A1\u9383\u93AF\u9364\u9356\u9347\u937C\u9358\u935C\u9376\u9349\u9350\u9351\u9360\u936D\u938F\u934C\u936A\u9379\u9357\u9355\u9352\u934F\u9371\u9377\u937B\u9361\u935E\u9363\u9367\u9380\u934E\u9359\u95C7\u95C0\u95C9\u95C3\u95C5\u95B7\u96AE\u96B0\u96AC\u9720\u971F\u9718\u971D\u9719\u979A\u97A1\u979C"], + ["ef40", "\u979E\u979D\u97D5\u97D4\u97F1\u9841\u9844\u984A\u9849\u9845\u9843\u9925\u992B\u992C\u992A\u9933\u9932\u992F\u992D\u9931\u9930\u9998\u99A3\u99A1\u9A02\u99FA\u99F4\u99F7\u99F9\u99F8\u99F6\u99FB\u99FD\u99FE\u99FC\u9A03\u9ABE\u9AFE\u9AFD\u9B01\u9AFC\u9B48\u9B9A\u9BA8\u9B9E\u9B9B\u9BA6\u9BA1\u9BA5\u9BA4\u9B86\u9BA2\u9BA0\u9BAF\u9D33\u9D41\u9D67\u9D36\u9D2E\u9D2F\u9D31\u9D38\u9D30"], + ["efa1", "\u9D45\u9D42\u9D43\u9D3E\u9D37\u9D40\u9D3D\u7FF5\u9D2D\u9E8A\u9E89\u9E8D\u9EB0\u9EC8\u9EDA\u9EFB\u9EFF\u9F24\u9F23\u9F22\u9F54\u9FA0\u5131\u512D\u512E\u5698\u569C\u5697\u569A\u569D\u5699\u5970\u5B3C\u5C69\u5C6A\u5DC0\u5E6D\u5E6E\u61D8\u61DF\u61ED\u61EE\u61F1\u61EA\u61F0\u61EB\u61D6\u61E9\u64FF\u6504\u64FD\u64F8\u6501\u6503\u64FC\u6594\u65DB\u66DA\u66DB\u66D8\u6AC5\u6AB9\u6ABD\u6AE1\u6AC6\u6ABA\u6AB6\u6AB7\u6AC7\u6AB4\u6AAD\u6B5E\u6BC9\u6C0B\u7007\u700C\u700D\u7001\u7005\u7014\u700E\u6FFF\u7000\u6FFB\u7026\u6FFC\u6FF7\u700A\u7201\u71FF\u71F9\u7203\u71FD\u7376"], + ["f040", "\u74B8\u74C0\u74B5\u74C1\u74BE\u74B6\u74BB\u74C2\u7514\u7513\u765C\u7664\u7659\u7650\u7653\u7657\u765A\u76A6\u76BD\u76EC\u77C2\u77BA\u78FF\u790C\u7913\u7914\u7909\u7910\u7912\u7911\u79AD\u79AC\u7A5F\u7C1C\u7C29\u7C19\u7C20\u7C1F\u7C2D\u7C1D\u7C26\u7C28\u7C22\u7C25\u7C30\u7E5C\u7E50\u7E56\u7E63\u7E58\u7E62\u7E5F\u7E51\u7E60\u7E57\u7E53\u7FB5\u7FB3\u7FF7\u7FF8\u8075\u81D1\u81D2"], + ["f0a1", "\u81D0\u825F\u825E\u85B4\u85C6\u85C0\u85C3\u85C2\u85B3\u85B5\u85BD\u85C7\u85C4\u85BF\u85CB\u85CE\u85C8\u85C5\u85B1\u85B6\u85D2\u8624\u85B8\u85B7\u85BE\u8669\u87E7\u87E6\u87E2\u87DB\u87EB\u87EA\u87E5\u87DF\u87F3\u87E4\u87D4\u87DC\u87D3\u87ED\u87D8\u87E3\u87A4\u87D7\u87D9\u8801\u87F4\u87E8\u87DD\u8953\u894B\u894F\u894C\u8946\u8950\u8951\u8949\u8B2A\u8B27\u8B23\u8B33\u8B30\u8B35\u8B47\u8B2F\u8B3C\u8B3E\u8B31\u8B25\u8B37\u8B26\u8B36\u8B2E\u8B24\u8B3B\u8B3D\u8B3A\u8C42\u8C75\u8C99\u8C98\u8C97\u8CFE\u8D04\u8D02\u8D00\u8E5C\u8E62\u8E60\u8E57\u8E56\u8E5E\u8E65\u8E67"], + ["f140", "\u8E5B\u8E5A\u8E61\u8E5D\u8E69\u8E54\u8F46\u8F47\u8F48\u8F4B\u9128\u913A\u913B\u913E\u91A8\u91A5\u91A7\u91AF\u91AA\u93B5\u938C\u9392\u93B7\u939B\u939D\u9389\u93A7\u938E\u93AA\u939E\u93A6\u9395\u9388\u9399\u939F\u938D\u93B1\u9391\u93B2\u93A4\u93A8\u93B4\u93A3\u93A5\u95D2\u95D3\u95D1\u96B3\u96D7\u96DA\u5DC2\u96DF\u96D8\u96DD\u9723\u9722\u9725\u97AC\u97AE\u97A8\u97AB\u97A4\u97AA"], + ["f1a1", "\u97A2\u97A5\u97D7\u97D9\u97D6\u97D8\u97FA\u9850\u9851\u9852\u98B8\u9941\u993C\u993A\u9A0F\u9A0B\u9A09\u9A0D\u9A04\u9A11\u9A0A\u9A05\u9A07\u9A06\u9AC0\u9ADC\u9B08\u9B04\u9B05\u9B29\u9B35\u9B4A\u9B4C\u9B4B\u9BC7\u9BC6\u9BC3\u9BBF\u9BC1\u9BB5\u9BB8\u9BD3\u9BB6\u9BC4\u9BB9\u9BBD\u9D5C\u9D53\u9D4F\u9D4A\u9D5B\u9D4B\u9D59\u9D56\u9D4C\u9D57\u9D52\u9D54\u9D5F\u9D58\u9D5A\u9E8E\u9E8C\u9EDF\u9F01\u9F00\u9F16\u9F25\u9F2B\u9F2A\u9F29\u9F28\u9F4C\u9F55\u5134\u5135\u5296\u52F7\u53B4\u56AB\u56AD\u56A6\u56A7\u56AA\u56AC\u58DA\u58DD\u58DB\u5912\u5B3D\u5B3E\u5B3F\u5DC3\u5E70"], + ["f240", "\u5FBF\u61FB\u6507\u6510\u650D\u6509\u650C\u650E\u6584\u65DE\u65DD\u66DE\u6AE7\u6AE0\u6ACC\u6AD1\u6AD9\u6ACB\u6ADF\u6ADC\u6AD0\u6AEB\u6ACF\u6ACD\u6ADE\u6B60\u6BB0\u6C0C\u7019\u7027\u7020\u7016\u702B\u7021\u7022\u7023\u7029\u7017\u7024\u701C\u702A\u720C\u720A\u7207\u7202\u7205\u72A5\u72A6\u72A4\u72A3\u72A1\u74CB\u74C5\u74B7\u74C3\u7516\u7660\u77C9\u77CA\u77C4\u77F1\u791D\u791B"], + ["f2a1", "\u7921\u791C\u7917\u791E\u79B0\u7A67\u7A68\u7C33\u7C3C\u7C39\u7C2C\u7C3B\u7CEC\u7CEA\u7E76\u7E75\u7E78\u7E70\u7E77\u7E6F\u7E7A\u7E72\u7E74\u7E68\u7F4B\u7F4A\u7F83\u7F86\u7FB7\u7FFD\u7FFE\u8078\u81D7\u81D5\u8264\u8261\u8263\u85EB\u85F1\u85ED\u85D9\u85E1\u85E8\u85DA\u85D7\u85EC\u85F2\u85F8\u85D8\u85DF\u85E3\u85DC\u85D1\u85F0\u85E6\u85EF\u85DE\u85E2\u8800\u87FA\u8803\u87F6\u87F7\u8809\u880C\u880B\u8806\u87FC\u8808\u87FF\u880A\u8802\u8962\u895A\u895B\u8957\u8961\u895C\u8958\u895D\u8959\u8988\u89B7\u89B6\u89F6\u8B50\u8B48\u8B4A\u8B40\u8B53\u8B56\u8B54\u8B4B\u8B55"], + ["f340", "\u8B51\u8B42\u8B52\u8B57\u8C43\u8C77\u8C76\u8C9A\u8D06\u8D07\u8D09\u8DAC\u8DAA\u8DAD\u8DAB\u8E6D\u8E78\u8E73\u8E6A\u8E6F\u8E7B\u8EC2\u8F52\u8F51\u8F4F\u8F50\u8F53\u8FB4\u9140\u913F\u91B0\u91AD\u93DE\u93C7\u93CF\u93C2\u93DA\u93D0\u93F9\u93EC\u93CC\u93D9\u93A9\u93E6\u93CA\u93D4\u93EE\u93E3\u93D5\u93C4\u93CE\u93C0\u93D2\u93E7\u957D\u95DA\u95DB\u96E1\u9729\u972B\u972C\u9728\u9726"], + ["f3a1", "\u97B3\u97B7\u97B6\u97DD\u97DE\u97DF\u985C\u9859\u985D\u9857\u98BF\u98BD\u98BB\u98BE\u9948\u9947\u9943\u99A6\u99A7\u9A1A\u9A15\u9A25\u9A1D\u9A24\u9A1B\u9A22\u9A20\u9A27\u9A23\u9A1E\u9A1C\u9A14\u9AC2\u9B0B\u9B0A\u9B0E\u9B0C\u9B37\u9BEA\u9BEB\u9BE0\u9BDE\u9BE4\u9BE6\u9BE2\u9BF0\u9BD4\u9BD7\u9BEC\u9BDC\u9BD9\u9BE5\u9BD5\u9BE1\u9BDA\u9D77\u9D81\u9D8A\u9D84\u9D88\u9D71\u9D80\u9D78\u9D86\u9D8B\u9D8C\u9D7D\u9D6B\u9D74\u9D75\u9D70\u9D69\u9D85\u9D73\u9D7B\u9D82\u9D6F\u9D79\u9D7F\u9D87\u9D68\u9E94\u9E91\u9EC0\u9EFC\u9F2D\u9F40\u9F41\u9F4D\u9F56\u9F57\u9F58\u5337\u56B2"], + ["f440", "\u56B5\u56B3\u58E3\u5B45\u5DC6\u5DC7\u5EEE\u5EEF\u5FC0\u5FC1\u61F9\u6517\u6516\u6515\u6513\u65DF\u66E8\u66E3\u66E4\u6AF3\u6AF0\u6AEA\u6AE8\u6AF9\u6AF1\u6AEE\u6AEF\u703C\u7035\u702F\u7037\u7034\u7031\u7042\u7038\u703F\u703A\u7039\u7040\u703B\u7033\u7041\u7213\u7214\u72A8\u737D\u737C\u74BA\u76AB\u76AA\u76BE\u76ED\u77CC\u77CE\u77CF\u77CD\u77F2\u7925\u7923\u7927\u7928\u7924\u7929"], + ["f4a1", "\u79B2\u7A6E\u7A6C\u7A6D\u7AF7\u7C49\u7C48\u7C4A\u7C47\u7C45\u7CEE\u7E7B\u7E7E\u7E81\u7E80\u7FBA\u7FFF\u8079\u81DB\u81D9\u820B\u8268\u8269\u8622\u85FF\u8601\u85FE\u861B\u8600\u85F6\u8604\u8609\u8605\u860C\u85FD\u8819\u8810\u8811\u8817\u8813\u8816\u8963\u8966\u89B9\u89F7\u8B60\u8B6A\u8B5D\u8B68\u8B63\u8B65\u8B67\u8B6D\u8DAE\u8E86\u8E88\u8E84\u8F59\u8F56\u8F57\u8F55\u8F58\u8F5A\u908D\u9143\u9141\u91B7\u91B5\u91B2\u91B3\u940B\u9413\u93FB\u9420\u940F\u9414\u93FE\u9415\u9410\u9428\u9419\u940D\u93F5\u9400\u93F7\u9407\u940E\u9416\u9412\u93FA\u9409\u93F8\u940A\u93FF"], + ["f540", "\u93FC\u940C\u93F6\u9411\u9406\u95DE\u95E0\u95DF\u972E\u972F\u97B9\u97BB\u97FD\u97FE\u9860\u9862\u9863\u985F\u98C1\u98C2\u9950\u994E\u9959\u994C\u994B\u9953\u9A32\u9A34\u9A31\u9A2C\u9A2A\u9A36\u9A29\u9A2E\u9A38\u9A2D\u9AC7\u9ACA\u9AC6\u9B10\u9B12\u9B11\u9C0B\u9C08\u9BF7\u9C05\u9C12\u9BF8\u9C40\u9C07\u9C0E\u9C06\u9C17\u9C14\u9C09\u9D9F\u9D99\u9DA4\u9D9D\u9D92\u9D98\u9D90\u9D9B"], + ["f5a1", "\u9DA0\u9D94\u9D9C\u9DAA\u9D97\u9DA1\u9D9A\u9DA2\u9DA8\u9D9E\u9DA3\u9DBF\u9DA9\u9D96\u9DA6\u9DA7\u9E99\u9E9B\u9E9A\u9EE5\u9EE4\u9EE7\u9EE6\u9F30\u9F2E\u9F5B\u9F60\u9F5E\u9F5D\u9F59\u9F91\u513A\u5139\u5298\u5297\u56C3\u56BD\u56BE\u5B48\u5B47\u5DCB\u5DCF\u5EF1\u61FD\u651B\u6B02\u6AFC\u6B03\u6AF8\u6B00\u7043\u7044\u704A\u7048\u7049\u7045\u7046\u721D\u721A\u7219\u737E\u7517\u766A\u77D0\u792D\u7931\u792F\u7C54\u7C53\u7CF2\u7E8A\u7E87\u7E88\u7E8B\u7E86\u7E8D\u7F4D\u7FBB\u8030\u81DD\u8618\u862A\u8626\u861F\u8623\u861C\u8619\u8627\u862E\u8621\u8620\u8629\u861E\u8625"], + ["f640", "\u8829\u881D\u881B\u8820\u8824\u881C\u882B\u884A\u896D\u8969\u896E\u896B\u89FA\u8B79\u8B78\u8B45\u8B7A\u8B7B\u8D10\u8D14\u8DAF\u8E8E\u8E8C\u8F5E\u8F5B\u8F5D\u9146\u9144\u9145\u91B9\u943F\u943B\u9436\u9429\u943D\u943C\u9430\u9439\u942A\u9437\u942C\u9440\u9431\u95E5\u95E4\u95E3\u9735\u973A\u97BF\u97E1\u9864\u98C9\u98C6\u98C0\u9958\u9956\u9A39\u9A3D\u9A46\u9A44\u9A42\u9A41\u9A3A"], + ["f6a1", "\u9A3F\u9ACD\u9B15\u9B17\u9B18\u9B16\u9B3A\u9B52\u9C2B\u9C1D\u9C1C\u9C2C\u9C23\u9C28\u9C29\u9C24\u9C21\u9DB7\u9DB6\u9DBC\u9DC1\u9DC7\u9DCA\u9DCF\u9DBE\u9DC5\u9DC3\u9DBB\u9DB5\u9DCE\u9DB9\u9DBA\u9DAC\u9DC8\u9DB1\u9DAD\u9DCC\u9DB3\u9DCD\u9DB2\u9E7A\u9E9C\u9EEB\u9EEE\u9EED\u9F1B\u9F18\u9F1A\u9F31\u9F4E\u9F65\u9F64\u9F92\u4EB9\u56C6\u56C5\u56CB\u5971\u5B4B\u5B4C\u5DD5\u5DD1\u5EF2\u6521\u6520\u6526\u6522\u6B0B\u6B08\u6B09\u6C0D\u7055\u7056\u7057\u7052\u721E\u721F\u72A9\u737F\u74D8\u74D5\u74D9\u74D7\u766D\u76AD\u7935\u79B4\u7A70\u7A71\u7C57\u7C5C\u7C59\u7C5B\u7C5A"], + ["f740", "\u7CF4\u7CF1\u7E91\u7F4F\u7F87\u81DE\u826B\u8634\u8635\u8633\u862C\u8632\u8636\u882C\u8828\u8826\u882A\u8825\u8971\u89BF\u89BE\u89FB\u8B7E\u8B84\u8B82\u8B86\u8B85\u8B7F\u8D15\u8E95\u8E94\u8E9A\u8E92\u8E90\u8E96\u8E97\u8F60\u8F62\u9147\u944C\u9450\u944A\u944B\u944F\u9447\u9445\u9448\u9449\u9446\u973F\u97E3\u986A\u9869\u98CB\u9954\u995B\u9A4E\u9A53\u9A54\u9A4C\u9A4F\u9A48\u9A4A"], + ["f7a1", "\u9A49\u9A52\u9A50\u9AD0\u9B19\u9B2B\u9B3B\u9B56\u9B55\u9C46\u9C48\u9C3F\u9C44\u9C39\u9C33\u9C41\u9C3C\u9C37\u9C34\u9C32\u9C3D\u9C36\u9DDB\u9DD2\u9DDE\u9DDA\u9DCB\u9DD0\u9DDC\u9DD1\u9DDF\u9DE9\u9DD9\u9DD8\u9DD6\u9DF5\u9DD5\u9DDD\u9EB6\u9EF0\u9F35\u9F33\u9F32\u9F42\u9F6B\u9F95\u9FA2\u513D\u5299\u58E8\u58E7\u5972\u5B4D\u5DD8\u882F\u5F4F\u6201\u6203\u6204\u6529\u6525\u6596\u66EB\u6B11\u6B12\u6B0F\u6BCA\u705B\u705A\u7222\u7382\u7381\u7383\u7670\u77D4\u7C67\u7C66\u7E95\u826C\u863A\u8640\u8639\u863C\u8631\u863B\u863E\u8830\u8832\u882E\u8833\u8976\u8974\u8973\u89FE"], + ["f840", "\u8B8C\u8B8E\u8B8B\u8B88\u8C45\u8D19\u8E98\u8F64\u8F63\u91BC\u9462\u9455\u945D\u9457\u945E\u97C4\u97C5\u9800\u9A56\u9A59\u9B1E\u9B1F\u9B20\u9C52\u9C58\u9C50\u9C4A\u9C4D\u9C4B\u9C55\u9C59\u9C4C\u9C4E\u9DFB\u9DF7\u9DEF\u9DE3\u9DEB\u9DF8\u9DE4\u9DF6\u9DE1\u9DEE\u9DE6\u9DF2\u9DF0\u9DE2\u9DEC\u9DF4\u9DF3\u9DE8\u9DED\u9EC2\u9ED0\u9EF2\u9EF3\u9F06\u9F1C\u9F38\u9F37\u9F36\u9F43\u9F4F"], + ["f8a1", "\u9F71\u9F70\u9F6E\u9F6F\u56D3\u56CD\u5B4E\u5C6D\u652D\u66ED\u66EE\u6B13\u705F\u7061\u705D\u7060\u7223\u74DB\u74E5\u77D5\u7938\u79B7\u79B6\u7C6A\u7E97\u7F89\u826D\u8643\u8838\u8837\u8835\u884B\u8B94\u8B95\u8E9E\u8E9F\u8EA0\u8E9D\u91BE\u91BD\u91C2\u946B\u9468\u9469\u96E5\u9746\u9743\u9747\u97C7\u97E5\u9A5E\u9AD5\u9B59\u9C63\u9C67\u9C66\u9C62\u9C5E\u9C60\u9E02\u9DFE\u9E07\u9E03\u9E06\u9E05\u9E00\u9E01\u9E09\u9DFF\u9DFD\u9E04\u9EA0\u9F1E\u9F46\u9F74\u9F75\u9F76\u56D4\u652E\u65B8\u6B18\u6B19\u6B17\u6B1A\u7062\u7226\u72AA\u77D8\u77D9\u7939\u7C69\u7C6B\u7CF6\u7E9A"], + ["f940", "\u7E98\u7E9B\u7E99\u81E0\u81E1\u8646\u8647\u8648\u8979\u897A\u897C\u897B\u89FF\u8B98\u8B99\u8EA5\u8EA4\u8EA3\u946E\u946D\u946F\u9471\u9473\u9749\u9872\u995F\u9C68\u9C6E\u9C6D\u9E0B\u9E0D\u9E10\u9E0F\u9E12\u9E11\u9EA1\u9EF5\u9F09\u9F47\u9F78\u9F7B\u9F7A\u9F79\u571E\u7066\u7C6F\u883C\u8DB2\u8EA6\u91C3\u9474\u9478\u9476\u9475\u9A60\u9C74\u9C73\u9C71\u9C75\u9E14\u9E13\u9EF6\u9F0A"], + ["f9a1", "\u9FA4\u7068\u7065\u7CF7\u866A\u883E\u883D\u883F\u8B9E\u8C9C\u8EA9\u8EC9\u974B\u9873\u9874\u98CC\u9961\u99AB\u9A64\u9A66\u9A67\u9B24\u9E15\u9E17\u9F48\u6207\u6B1E\u7227\u864C\u8EA8\u9482\u9480\u9481\u9A69\u9A68\u9B2E\u9E19\u7229\u864B\u8B9F\u9483\u9C79\u9EB7\u7675\u9A6B\u9C7A\u9E1D\u7069\u706A\u9EA4\u9F7E\u9F49\u9F98\u7881\u92B9\u88CF\u58BB\u6052\u7CA7\u5AFA\u2554\u2566\u2557\u2560\u256C\u2563\u255A\u2569\u255D\u2552\u2564\u2555\u255E\u256A\u2561\u2558\u2567\u255B\u2553\u2565\u2556\u255F\u256B\u2562\u2559\u2568\u255C\u2551\u2550\u256D\u256E\u2570\u256F\u2593"] + ]; + } +}); +var require_big5_added2 = __commonJS2({ + "node_modules/body-parser/node_modules/iconv-lite/encodings/tables/big5-added.json"(exports2, module2) { + module2.exports = [ + ["8740", "\u43F0\u4C32\u4603\u45A6\u4578\u{27267}\u4D77\u45B3\u{27CB1}\u4CE2\u{27CC5}\u3B95\u4736\u4744\u4C47\u4C40\u{242BF}\u{23617}\u{27352}\u{26E8B}\u{270D2}\u4C57\u{2A351}\u474F\u45DA\u4C85\u{27C6C}\u4D07\u4AA4\u46A1\u{26B23}\u7225\u{25A54}\u{21A63}\u{23E06}\u{23F61}\u664D\u56FB"], + ["8767", "\u7D95\u591D\u{28BB9}\u3DF4\u9734\u{27BEF}\u5BDB\u{21D5E}\u5AA4\u3625\u{29EB0}\u5AD1\u5BB7\u5CFC\u676E\u8593\u{29945}\u7461\u749D\u3875\u{21D53}\u{2369E}\u{26021}\u3EEC"], + ["87a1", "\u{258DE}\u3AF5\u7AFC\u9F97\u{24161}\u{2890D}\u{231EA}\u{20A8A}\u{2325E}\u430A\u8484\u9F96\u942F\u4930\u8613\u5896\u974A\u9218\u79D0\u7A32\u6660\u6A29\u889D\u744C\u7BC5\u6782\u7A2C\u524F\u9046\u34E6\u73C4\u{25DB9}\u74C6\u9FC7\u57B3\u492F\u544C\u4131\u{2368E}\u5818\u7A72\u{27B65}\u8B8F\u46AE\u{26E88}\u4181\u{25D99}\u7BAE\u{224BC}\u9FC8\u{224C1}\u{224C9}\u{224CC}\u9FC9\u8504\u{235BB}\u40B4\u9FCA\u44E1\u{2ADFF}\u62C1\u706E\u9FCB"], + ["8840", "\u31C0", 4, "\u{2010C}\u31C5\u{200D1}\u{200CD}\u31C6\u31C7\u{200CB}\u{21FE8}\u31C8\u{200CA}\u31C9\u31CA\u31CB\u31CC\u{2010E}\u31CD\u31CE\u0100\xC1\u01CD\xC0\u0112\xC9\u011A\xC8\u014C\xD3\u01D1\xD2\u0FFF\xCA\u0304\u1EBE\u0FFF\xCA\u030C\u1EC0\xCA\u0101\xE1\u01CE\xE0\u0251\u0113\xE9\u011B\xE8\u012B\xED\u01D0\xEC\u014D\xF3\u01D2\xF2\u016B\xFA\u01D4\xF9\u01D6\u01D8\u01DA"], + ["88a1", "\u01DC\xFC\u0FFF\xEA\u0304\u1EBF\u0FFF\xEA\u030C\u1EC1\xEA\u0261\u23DA\u23DB"], + ["8940", "\u{2A3A9}\u{21145}"], + ["8943", "\u650A"], + ["8946", "\u4E3D\u6EDD\u9D4E\u91DF"], + ["894c", "\u{27735}\u6491\u4F1A\u4F28\u4FA8\u5156\u5174\u519C\u51E4\u52A1\u52A8\u533B\u534E\u53D1\u53D8\u56E2\u58F0\u5904\u5907\u5932\u5934\u5B66\u5B9E\u5B9F\u5C9A\u5E86\u603B\u6589\u67FE\u6804\u6865\u6D4E\u70BC\u7535\u7EA4\u7EAC\u7EBA\u7EC7\u7ECF\u7EDF\u7F06\u7F37\u827A\u82CF\u836F\u89C6\u8BBE\u8BE2\u8F66\u8F67\u8F6E"], + ["89a1", "\u7411\u7CFC\u7DCD\u6946\u7AC9\u5227"], + ["89ab", "\u918C\u78B8\u915E\u80BC"], + ["89b0", "\u8D0B\u80F6\u{209E7}"], + ["89b5", "\u809F\u9EC7\u4CCD\u9DC9\u9E0C\u4C3E\u{29DF6}\u{2700E}\u9E0A\u{2A133}\u35C1"], + ["89c1", "\u6E9A\u823E\u7519"], + ["89c5", "\u4911\u9A6C\u9A8F\u9F99\u7987\u{2846C}\u{21DCA}\u{205D0}\u{22AE6}\u4E24\u4E81\u4E80\u4E87\u4EBF\u4EEB\u4F37\u344C\u4FBD\u3E48\u5003\u5088\u347D\u3493\u34A5\u5186\u5905\u51DB\u51FC\u5205\u4E89\u5279\u5290\u5327\u35C7\u53A9\u3551\u53B0\u3553\u53C2\u5423\u356D\u3572\u3681\u5493\u54A3\u54B4\u54B9\u54D0\u54EF\u5518\u5523\u5528\u3598\u553F\u35A5\u35BF\u55D7\u35C5"], + ["8a40", "\u{27D84}\u5525"], + ["8a43", "\u{20C42}\u{20D15}\u{2512B}\u5590\u{22CC6}\u39EC\u{20341}\u8E46\u{24DB8}\u{294E5}\u4053\u{280BE}\u777A\u{22C38}\u3A34\u47D5\u{2815D}\u{269F2}\u{24DEA}\u64DD\u{20D7C}\u{20FB4}\u{20CD5}\u{210F4}\u648D\u8E7E\u{20E96}\u{20C0B}\u{20F64}\u{22CA9}\u{28256}\u{244D3}"], + ["8a64", "\u{20D46}\u{29A4D}\u{280E9}\u47F4\u{24EA7}\u{22CC2}\u9AB2\u3A67\u{295F4}\u3FED\u3506\u{252C7}\u{297D4}\u{278C8}\u{22D44}\u9D6E\u9815"], + ["8a76", "\u43D9\u{260A5}\u64B4\u54E3\u{22D4C}\u{22BCA}\u{21077}\u39FB\u{2106F}"], + ["8aa1", "\u{266DA}\u{26716}\u{279A0}\u64EA\u{25052}\u{20C43}\u8E68\u{221A1}\u{28B4C}\u{20731}"], + ["8aac", "\u480B\u{201A9}\u3FFA\u5873\u{22D8D}"], + ["8ab2", "\u{245C8}\u{204FC}\u{26097}\u{20F4C}\u{20D96}\u5579\u40BB\u43BA"], + ["8abb", "\u4AB4\u{22A66}\u{2109D}\u81AA\u98F5\u{20D9C}\u6379\u39FE\u{22775}\u8DC0\u56A1\u647C\u3E43"], + ["8ac9", "\u{2A601}\u{20E09}\u{22ACF}\u{22CC9}"], + ["8ace", "\u{210C8}\u{239C2}\u3992\u3A06\u{2829B}\u3578\u{25E49}\u{220C7}\u5652\u{20F31}\u{22CB2}\u{29720}\u34BC\u6C3D\u{24E3B}"], + ["8adf", "\u{27574}\u{22E8B}\u{22208}\u{2A65B}\u{28CCD}\u{20E7A}\u{20C34}\u{2681C}\u7F93\u{210CF}\u{22803}\u{22939}\u35FB\u{251E3}\u{20E8C}\u{20F8D}\u{20EAA}\u3F93\u{20F30}\u{20D47}\u{2114F}\u{20E4C}"], + ["8af6", "\u{20EAB}\u{20BA9}\u{20D48}\u{210C0}\u{2113D}\u3FF9\u{22696}\u6432\u{20FAD}"], + ["8b40", "\u{233F4}\u{27639}\u{22BCE}\u{20D7E}\u{20D7F}\u{22C51}\u{22C55}\u3A18\u{20E98}\u{210C7}\u{20F2E}\u{2A632}\u{26B50}\u{28CD2}\u{28D99}\u{28CCA}\u95AA\u54CC\u82C4\u55B9"], + ["8b55", "\u{29EC3}\u9C26\u9AB6\u{2775E}\u{22DEE}\u7140\u816D\u80EC\u5C1C\u{26572}\u8134\u3797\u535F\u{280BD}\u91B6\u{20EFA}\u{20E0F}\u{20E77}\u{20EFB}\u35DD\u{24DEB}\u3609\u{20CD6}\u56AF\u{227B5}\u{210C9}\u{20E10}\u{20E78}\u{21078}\u{21148}\u{28207}\u{21455}\u{20E79}\u{24E50}\u{22DA4}\u5A54\u{2101D}\u{2101E}\u{210F5}\u{210F6}\u579C\u{20E11}"], + ["8ba1", "\u{27694}\u{282CD}\u{20FB5}\u{20E7B}\u{2517E}\u3703\u{20FB6}\u{21180}\u{252D8}\u{2A2BD}\u{249DA}\u{2183A}\u{24177}\u{2827C}\u5899\u5268\u361A\u{2573D}\u7BB2\u5B68\u4800\u4B2C\u9F27\u49E7\u9C1F\u9B8D\u{25B74}\u{2313D}\u55FB\u35F2\u5689\u4E28\u5902\u{21BC1}\u{2F878}\u9751\u{20086}\u4E5B\u4EBB\u353E\u5C23\u5F51\u5FC4\u38FA\u624C\u6535\u6B7A\u6C35\u6C3A\u706C\u722B\u4E2C\u72AD\u{248E9}\u7F52\u793B\u7CF9\u7F53\u{2626A}\u34C1"], + ["8bde", "\u{2634B}\u8002\u8080\u{26612}\u{26951}\u535D\u8864\u89C1\u{278B2}\u8BA0\u8D1D\u9485\u9578\u957F\u95E8\u{28E0F}\u97E6\u9875\u98CE\u98DE\u9963\u{29810}\u9C7C\u9E1F\u9EC4\u6B6F\uF907\u4E37\u{20087}\u961D\u6237\u94A2"], + ["8c40", "\u503B\u6DFE\u{29C73}\u9FA6\u3DC9\u888F\u{2414E}\u7077\u5CF5\u4B20\u{251CD}\u3559\u{25D30}\u6122\u{28A32}\u8FA7\u91F6\u7191\u6719\u73BA\u{23281}\u{2A107}\u3C8B\u{21980}\u4B10\u78E4\u7402\u51AE\u{2870F}\u4009\u6A63\u{2A2BA}\u4223\u860F\u{20A6F}\u7A2A\u{29947}\u{28AEA}\u9755\u704D\u5324\u{2207E}\u93F4\u76D9\u{289E3}\u9FA7\u77DD\u4EA3\u4FF0\u50BC\u4E2F\u4F17\u9FA8\u5434\u7D8B\u5892\u58D0\u{21DB6}\u5E92\u5E99\u5FC2\u{22712}\u658B"], + ["8ca1", "\u{233F9}\u6919\u6A43\u{23C63}\u6CFF"], + ["8ca7", "\u7200\u{24505}\u738C\u3EDB\u{24A13}\u5B15\u74B9\u8B83\u{25CA4}\u{25695}\u7A93\u7BEC\u7CC3\u7E6C\u82F8\u8597\u9FA9\u8890\u9FAA\u8EB9\u9FAB\u8FCF\u855F\u99E0\u9221\u9FAC\u{28DB9}\u{2143F}\u4071\u42A2\u5A1A"], + ["8cc9", "\u9868\u676B\u4276\u573D"], + ["8cce", "\u85D6\u{2497B}\u82BF\u{2710D}\u4C81\u{26D74}\u5D7B\u{26B15}\u{26FBE}\u9FAD\u9FAE\u5B96\u9FAF\u66E7\u7E5B\u6E57\u79CA\u3D88\u44C3\u{23256}\u{22796}\u439A\u4536"], + ["8ce6", "\u5CD5\u{23B1A}\u8AF9\u5C78\u3D12\u{23551}\u5D78\u9FB2\u7157\u4558\u{240EC}\u{21E23}\u4C77\u3978\u344A\u{201A4}\u{26C41}\u8ACC\u4FB4\u{20239}\u59BF\u816C\u9856\u{298FA}\u5F3B"], + ["8d40", "\u{20B9F}"], + ["8d42", "\u{221C1}\u{2896D}\u4102\u46BB\u{29079}\u3F07\u9FB3\u{2A1B5}\u40F8\u37D6\u46F7\u{26C46}\u417C\u{286B2}\u{273FF}\u456D\u38D4\u{2549A}\u4561\u451B\u4D89\u4C7B\u4D76\u45EA\u3FC8\u{24B0F}\u3661\u44DE\u44BD\u41ED\u5D3E\u5D48\u5D56\u3DFC\u380F\u5DA4\u5DB9\u3820\u3838\u5E42\u5EBD\u5F25\u5F83\u3908\u3914\u393F\u394D\u60D7\u613D\u5CE5\u3989\u61B7\u61B9\u61CF\u39B8\u622C\u6290\u62E5\u6318\u39F8\u56B1"], + ["8da1", "\u3A03\u63E2\u63FB\u6407\u645A\u3A4B\u64C0\u5D15\u5621\u9F9F\u3A97\u6586\u3ABD\u65FF\u6653\u3AF2\u6692\u3B22\u6716\u3B42\u67A4\u6800\u3B58\u684A\u6884\u3B72\u3B71\u3B7B\u6909\u6943\u725C\u6964\u699F\u6985\u3BBC\u69D6\u3BDD\u6A65\u6A74\u6A71\u6A82\u3BEC\u6A99\u3BF2\u6AAB\u6AB5\u6AD4\u6AF6\u6B81\u6BC1\u6BEA\u6C75\u6CAA\u3CCB\u6D02\u6D06\u6D26\u6D81\u3CEF\u6DA4\u6DB1\u6E15\u6E18\u6E29\u6E86\u{289C0}\u6EBB\u6EE2\u6EDA\u9F7F\u6EE8\u6EE9\u6F24\u6F34\u3D46\u{23F41}\u6F81\u6FBE\u3D6A\u3D75\u71B7\u5C99\u3D8A\u702C\u3D91\u7050\u7054\u706F\u707F\u7089\u{20325}\u43C1\u35F1\u{20ED8}"], + ["8e40", "\u{23ED7}\u57BE\u{26ED3}\u713E\u{257E0}\u364E\u69A2\u{28BE9}\u5B74\u7A49\u{258E1}\u{294D9}\u7A65\u7A7D\u{259AC}\u7ABB\u7AB0\u7AC2\u7AC3\u71D1\u{2648D}\u41CA\u7ADA\u7ADD\u7AEA\u41EF\u54B2\u{25C01}\u7B0B\u7B55\u7B29\u{2530E}\u{25CFE}\u7BA2\u7B6F\u839C\u{25BB4}\u{26C7F}\u7BD0\u8421\u7B92\u7BB8\u{25D20}\u3DAD\u{25C65}\u8492\u7BFA\u7C06\u7C35\u{25CC1}\u7C44\u7C83\u{24882}\u7CA6\u667D\u{24578}\u7CC9\u7CC7\u7CE6\u7C74\u7CF3\u7CF5\u7CCE"], + ["8ea1", "\u7E67\u451D\u{26E44}\u7D5D\u{26ED6}\u748D\u7D89\u7DAB\u7135\u7DB3\u7DD2\u{24057}\u{26029}\u7DE4\u3D13\u7DF5\u{217F9}\u7DE5\u{2836D}\u7E1D\u{26121}\u{2615A}\u7E6E\u7E92\u432B\u946C\u7E27\u7F40\u7F41\u7F47\u7936\u{262D0}\u99E1\u7F97\u{26351}\u7FA3\u{21661}\u{20068}\u455C\u{23766}\u4503\u{2833A}\u7FFA\u{26489}\u8005\u8008\u801D\u8028\u802F\u{2A087}\u{26CC3}\u803B\u803C\u8061\u{22714}\u4989\u{26626}\u{23DE3}\u{266E8}\u6725\u80A7\u{28A48}\u8107\u811A\u58B0\u{226F6}\u6C7F\u{26498}\u{24FB8}\u64E7\u{2148A}\u8218\u{2185E}\u6A53\u{24A65}\u{24A95}\u447A\u8229\u{20B0D}\u{26A52}\u{23D7E}\u4FF9\u{214FD}\u84E2\u8362\u{26B0A}\u{249A7}\u{23530}\u{21773}\u{23DF8}\u82AA\u691B\u{2F994}\u41DB"], + ["8f40", "\u854B\u82D0\u831A\u{20E16}\u{217B4}\u36C1\u{2317D}\u{2355A}\u827B\u82E2\u8318\u{23E8B}\u{26DA3}\u{26B05}\u{26B97}\u{235CE}\u3DBF\u831D\u55EC\u8385\u450B\u{26DA5}\u83AC\u83C1\u83D3\u347E\u{26ED4}\u6A57\u855A\u3496\u{26E42}\u{22EEF}\u8458\u{25BE4}\u8471\u3DD3\u44E4\u6AA7\u844A\u{23CB5}\u7958\u84A8\u{26B96}\u{26E77}\u{26E43}\u84DE\u840F\u8391\u44A0\u8493\u84E4\u{25C91}\u4240\u{25CC0}\u4543\u8534\u5AF2\u{26E99}\u4527\u8573\u4516\u67BF\u8616"], + ["8fa1", "\u{28625}\u{2863B}\u85C1\u{27088}\u8602\u{21582}\u{270CD}\u{2F9B2}\u456A\u8628\u3648\u{218A2}\u53F7\u{2739A}\u867E\u8771\u{2A0F8}\u87EE\u{22C27}\u87B1\u87DA\u880F\u5661\u866C\u6856\u460F\u8845\u8846\u{275E0}\u{23DB9}\u{275E4}\u885E\u889C\u465B\u88B4\u88B5\u63C1\u88C5\u7777\u{2770F}\u8987\u898A\u89A6\u89A9\u89A7\u89BC\u{28A25}\u89E7\u{27924}\u{27ABD}\u8A9C\u7793\u91FE\u8A90\u{27A59}\u7AE9\u{27B3A}\u{23F8F}\u4713\u{27B38}\u717C\u8B0C\u8B1F\u{25430}\u{25565}\u8B3F\u8B4C\u8B4D\u8AA9\u{24A7A}\u8B90\u8B9B\u8AAF\u{216DF}\u4615\u884F\u8C9B\u{27D54}\u{27D8F}\u{2F9D4}\u3725\u{27D53}\u8CD6\u{27D98}\u{27DBD}\u8D12\u8D03\u{21910}\u8CDB\u705C\u8D11\u{24CC9}\u3ED0\u8D77"], + ["9040", "\u8DA9\u{28002}\u{21014}\u{2498A}\u3B7C\u{281BC}\u{2710C}\u7AE7\u8EAD\u8EB6\u8EC3\u92D4\u8F19\u8F2D\u{28365}\u{28412}\u8FA5\u9303\u{2A29F}\u{20A50}\u8FB3\u492A\u{289DE}\u{2853D}\u{23DBB}\u5EF8\u{23262}\u8FF9\u{2A014}\u{286BC}\u{28501}\u{22325}\u3980\u{26ED7}\u9037\u{2853C}\u{27ABE}\u9061\u{2856C}\u{2860B}\u90A8\u{28713}\u90C4\u{286E6}\u90AE\u90FD\u9167\u3AF0\u91A9\u91C4\u7CAC\u{28933}\u{21E89}\u920E\u6C9F\u9241\u9262\u{255B9}\u92B9\u{28AC6}\u{23C9B}\u{28B0C}\u{255DB}"], + ["90a1", "\u{20D31}\u932C\u936B\u{28AE1}\u{28BEB}\u708F\u5AC3\u{28AE2}\u{28AE5}\u4965\u9244\u{28BEC}\u{28C39}\u{28BFF}\u9373\u945B\u8EBC\u9585\u95A6\u9426\u95A0\u6FF6\u42B9\u{2267A}\u{286D8}\u{2127C}\u{23E2E}\u49DF\u6C1C\u967B\u9696\u416C\u96A3\u{26ED5}\u61DA\u96B6\u78F5\u{28AE0}\u96BD\u53CC\u49A1\u{26CB8}\u{20274}\u{26410}\u{290AF}\u{290E5}\u{24AD1}\u{21915}\u{2330A}\u9731\u8642\u9736\u4A0F\u453D\u4585\u{24AE9}\u7075\u5B41\u971B\u975C\u{291D5}\u9757\u5B4A\u{291EB}\u975F\u9425\u50D0\u{230B7}\u{230BC}\u9789\u979F\u97B1\u97BE\u97C0\u97D2\u97E0\u{2546C}\u97EE\u741C\u{29433}\u97FF\u97F5\u{2941D}\u{2797A}\u4AD1\u9834\u9833\u984B\u9866\u3B0E\u{27175}\u3D51\u{20630}\u{2415C}"], + ["9140", "\u{25706}\u98CA\u98B7\u98C8\u98C7\u4AFF\u{26D27}\u{216D3}\u55B0\u98E1\u98E6\u98EC\u9378\u9939\u{24A29}\u4B72\u{29857}\u{29905}\u99F5\u9A0C\u9A3B\u9A10\u9A58\u{25725}\u36C4\u{290B1}\u{29BD5}\u9AE0\u9AE2\u{29B05}\u9AF4\u4C0E\u9B14\u9B2D\u{28600}\u5034\u9B34\u{269A8}\u38C3\u{2307D}\u9B50\u9B40\u{29D3E}\u5A45\u{21863}\u9B8E\u{2424B}\u9C02\u9BFF\u9C0C\u{29E68}\u9DD4\u{29FB7}\u{2A192}\u{2A1AB}\u{2A0E1}\u{2A123}\u{2A1DF}\u9D7E\u9D83\u{2A134}\u9E0E\u6888"], + ["91a1", "\u9DC4\u{2215B}\u{2A193}\u{2A220}\u{2193B}\u{2A233}\u9D39\u{2A0B9}\u{2A2B4}\u9E90\u9E95\u9E9E\u9EA2\u4D34\u9EAA\u9EAF\u{24364}\u9EC1\u3B60\u39E5\u3D1D\u4F32\u37BE\u{28C2B}\u9F02\u9F08\u4B96\u9424\u{26DA2}\u9F17\u9F16\u9F39\u569F\u568A\u9F45\u99B8\u{2908B}\u97F2\u847F\u9F62\u9F69\u7ADC\u9F8E\u7216\u4BBE\u{24975}\u{249BB}\u7177\u{249F8}\u{24348}\u{24A51}\u739E\u{28BDA}\u{218FA}\u799F\u{2897E}\u{28E36}\u9369\u93F3\u{28A44}\u92EC\u9381\u93CB\u{2896C}\u{244B9}\u7217\u3EEB\u7772\u7A43\u70D0\u{24473}\u{243F8}\u717E\u{217EF}\u70A3\u{218BE}\u{23599}\u3EC7\u{21885}\u{2542F}\u{217F8}\u3722\u{216FB}\u{21839}\u36E1\u{21774}\u{218D1}\u{25F4B}\u3723\u{216C0}\u575B\u{24A25}\u{213FE}\u{212A8}"], + ["9240", "\u{213C6}\u{214B6}\u8503\u{236A6}\u8503\u8455\u{24994}\u{27165}\u{23E31}\u{2555C}\u{23EFB}\u{27052}\u44F4\u{236EE}\u{2999D}\u{26F26}\u67F9\u3733\u3C15\u3DE7\u586C\u{21922}\u6810\u4057\u{2373F}\u{240E1}\u{2408B}\u{2410F}\u{26C21}\u54CB\u569E\u{266B1}\u5692\u{20FDF}\u{20BA8}\u{20E0D}\u93C6\u{28B13}\u939C\u4EF8\u512B\u3819\u{24436}\u4EBC\u{20465}\u{2037F}\u4F4B\u4F8A\u{25651}\u5A68\u{201AB}\u{203CB}\u3999\u{2030A}\u{20414}\u3435\u4F29\u{202C0}\u{28EB3}\u{20275}\u8ADA\u{2020C}\u4E98"], + ["92a1", "\u50CD\u510D\u4FA2\u4F03\u{24A0E}\u{23E8A}\u4F42\u502E\u506C\u5081\u4FCC\u4FE5\u5058\u50FC\u5159\u515B\u515D\u515E\u6E76\u{23595}\u{23E39}\u{23EBF}\u6D72\u{21884}\u{23E89}\u51A8\u51C3\u{205E0}\u44DD\u{204A3}\u{20492}\u{20491}\u8D7A\u{28A9C}\u{2070E}\u5259\u52A4\u{20873}\u52E1\u936E\u467A\u718C\u{2438C}\u{20C20}\u{249AC}\u{210E4}\u69D1\u{20E1D}\u7479\u3EDE\u7499\u7414\u7456\u7398\u4B8E\u{24ABC}\u{2408D}\u53D0\u3584\u720F\u{240C9}\u55B4\u{20345}\u54CD\u{20BC6}\u571D\u925D\u96F4\u9366\u57DD\u578D\u577F\u363E\u58CB\u5A99\u{28A46}\u{216FA}\u{2176F}\u{21710}\u5A2C\u59B8\u928F\u5A7E\u5ACF\u5A12\u{25946}\u{219F3}\u{21861}\u{24295}\u36F5\u6D05\u7443\u5A21\u{25E83}"], + ["9340", "\u5A81\u{28BD7}\u{20413}\u93E0\u748C\u{21303}\u7105\u4972\u9408\u{289FB}\u93BD\u37A0\u5C1E\u5C9E\u5E5E\u5E48\u{21996}\u{2197C}\u{23AEE}\u5ECD\u5B4F\u{21903}\u{21904}\u3701\u{218A0}\u36DD\u{216FE}\u36D3\u812A\u{28A47}\u{21DBA}\u{23472}\u{289A8}\u5F0C\u5F0E\u{21927}\u{217AB}\u5A6B\u{2173B}\u5B44\u8614\u{275FD}\u8860\u607E\u{22860}\u{2262B}\u5FDB\u3EB8\u{225AF}\u{225BE}\u{29088}\u{26F73}\u61C0\u{2003E}\u{20046}\u{2261B}\u6199\u6198\u6075\u{22C9B}\u{22D07}\u{246D4}\u{2914D}"], + ["93a1", "\u6471\u{24665}\u{22B6A}\u3A29\u{22B22}\u{23450}\u{298EA}\u{22E78}\u6337\u{2A45B}\u64B6\u6331\u63D1\u{249E3}\u{22D67}\u62A4\u{22CA1}\u643B\u656B\u6972\u3BF4\u{2308E}\u{232AD}\u{24989}\u{232AB}\u550D\u{232E0}\u{218D9}\u{2943F}\u66CE\u{23289}\u{231B3}\u3AE0\u4190\u{25584}\u{28B22}\u{2558F}\u{216FC}\u{2555B}\u{25425}\u78EE\u{23103}\u{2182A}\u{23234}\u3464\u{2320F}\u{23182}\u{242C9}\u668E\u{26D24}\u666B\u4B93\u6630\u{27870}\u{21DEB}\u6663\u{232D2}\u{232E1}\u661E\u{25872}\u38D1\u{2383A}\u{237BC}\u3B99\u{237A2}\u{233FE}\u74D0\u3B96\u678F\u{2462A}\u68B6\u681E\u3BC4\u6ABE\u3863\u{237D5}\u{24487}\u6A33\u6A52\u6AC9\u6B05\u{21912}\u6511\u6898\u6A4C\u3BD7\u6A7A\u6B57\u{23FC0}\u{23C9A}\u93A0\u92F2\u{28BEA}\u{28ACB}"], + ["9440", "\u9289\u{2801E}\u{289DC}\u9467\u6DA5\u6F0B\u{249EC}\u6D67\u{23F7F}\u3D8F\u6E04\u{2403C}\u5A3D\u6E0A\u5847\u6D24\u7842\u713B\u{2431A}\u{24276}\u70F1\u7250\u7287\u7294\u{2478F}\u{24725}\u5179\u{24AA4}\u{205EB}\u747A\u{23EF8}\u{2365F}\u{24A4A}\u{24917}\u{25FE1}\u3F06\u3EB1\u{24ADF}\u{28C23}\u{23F35}\u60A7\u3EF3\u74CC\u743C\u9387\u7437\u449F\u{26DEA}\u4551\u7583\u3F63\u{24CD9}\u{24D06}\u3F58\u7555\u7673\u{2A5C6}\u3B19\u7468\u{28ACC}\u{249AB}\u{2498E}\u3AFB"], + ["94a1", "\u3DCD\u{24A4E}\u3EFF\u{249C5}\u{248F3}\u91FA\u5732\u9342\u{28AE3}\u{21864}\u50DF\u{25221}\u{251E7}\u7778\u{23232}\u770E\u770F\u777B\u{24697}\u{23781}\u3A5E\u{248F0}\u7438\u749B\u3EBF\u{24ABA}\u{24AC7}\u40C8\u{24A96}\u{261AE}\u9307\u{25581}\u781E\u788D\u7888\u78D2\u73D0\u7959\u{27741}\u{256E3}\u410E\u799B\u8496\u79A5\u6A2D\u{23EFA}\u7A3A\u79F4\u416E\u{216E6}\u4132\u9235\u79F1\u{20D4C}\u{2498C}\u{20299}\u{23DBA}\u{2176E}\u3597\u556B\u3570\u36AA\u{201D4}\u{20C0D}\u7AE2\u5A59\u{226F5}\u{25AAF}\u{25A9C}\u5A0D\u{2025B}\u78F0\u5A2A\u{25BC6}\u7AFE\u41F9\u7C5D\u7C6D\u4211\u{25BB3}\u{25EBC}\u{25EA6}\u7CCD\u{249F9}\u{217B0}\u7C8E\u7C7C\u7CAE\u6AB2\u7DDC\u7E07\u7DD3\u7F4E\u{26261}"], + ["9540", "\u{2615C}\u{27B48}\u7D97\u{25E82}\u426A\u{26B75}\u{20916}\u67D6\u{2004E}\u{235CF}\u57C4\u{26412}\u{263F8}\u{24962}\u7FDD\u7B27\u{2082C}\u{25AE9}\u{25D43}\u7B0C\u{25E0E}\u99E6\u8645\u9A63\u6A1C\u{2343F}\u39E2\u{249F7}\u{265AD}\u9A1F\u{265A0}\u8480\u{27127}\u{26CD1}\u44EA\u8137\u4402\u80C6\u8109\u8142\u{267B4}\u98C3\u{26A42}\u8262\u8265\u{26A51}\u8453\u{26DA7}\u8610\u{2721B}\u5A86\u417F\u{21840}\u5B2B\u{218A1}\u5AE4\u{218D8}\u86A0\u{2F9BC}\u{23D8F}\u882D\u{27422}\u5A02"], + ["95a1", "\u886E\u4F45\u8887\u88BF\u88E6\u8965\u894D\u{25683}\u8954\u{27785}\u{27784}\u{28BF5}\u{28BD9}\u{28B9C}\u{289F9}\u3EAD\u84A3\u46F5\u46CF\u37F2\u8A3D\u8A1C\u{29448}\u5F4D\u922B\u{24284}\u65D4\u7129\u70C4\u{21845}\u9D6D\u8C9F\u8CE9\u{27DDC}\u599A\u77C3\u59F0\u436E\u36D4\u8E2A\u8EA7\u{24C09}\u8F30\u8F4A\u42F4\u6C58\u6FBB\u{22321}\u489B\u6F79\u6E8B\u{217DA}\u9BE9\u36B5\u{2492F}\u90BB\u9097\u5571\u4906\u91BB\u9404\u{28A4B}\u4062\u{28AFC}\u9427\u{28C1D}\u{28C3B}\u84E5\u8A2B\u9599\u95A7\u9597\u9596\u{28D34}\u7445\u3EC2\u{248FF}\u{24A42}\u{243EA}\u3EE7\u{23225}\u968F\u{28EE7}\u{28E66}\u{28E65}\u3ECC\u{249ED}\u{24A78}\u{23FEE}\u7412\u746B\u3EFC\u9741\u{290B0}"], + ["9640", "\u6847\u4A1D\u{29093}\u{257DF}\u975D\u9368\u{28989}\u{28C26}\u{28B2F}\u{263BE}\u92BA\u5B11\u8B69\u493C\u73F9\u{2421B}\u979B\u9771\u9938\u{20F26}\u5DC1\u{28BC5}\u{24AB2}\u981F\u{294DA}\u92F6\u{295D7}\u91E5\u44C0\u{28B50}\u{24A67}\u{28B64}\u98DC\u{28A45}\u3F00\u922A\u4925\u8414\u993B\u994D\u{27B06}\u3DFD\u999B\u4B6F\u99AA\u9A5C\u{28B65}\u{258C8}\u6A8F\u9A21\u5AFE\u9A2F\u{298F1}\u4B90\u{29948}\u99BC\u4BBD\u4B97\u937D\u5872\u{21302}\u5822\u{249B8}"], + ["96a1", "\u{214E8}\u7844\u{2271F}\u{23DB8}\u68C5\u3D7D\u9458\u3927\u6150\u{22781}\u{2296B}\u6107\u9C4F\u9C53\u9C7B\u9C35\u9C10\u9B7F\u9BCF\u{29E2D}\u9B9F\u{2A1F5}\u{2A0FE}\u9D21\u4CAE\u{24104}\u9E18\u4CB0\u9D0C\u{2A1B4}\u{2A0ED}\u{2A0F3}\u{2992F}\u9DA5\u84BD\u{26E12}\u{26FDF}\u{26B82}\u85FC\u4533\u{26DA4}\u{26E84}\u{26DF0}\u8420\u85EE\u{26E00}\u{237D7}\u{26064}\u79E2\u{2359C}\u{23640}\u492D\u{249DE}\u3D62\u93DB\u92BE\u9348\u{202BF}\u78B9\u9277\u944D\u4FE4\u3440\u9064\u{2555D}\u783D\u7854\u78B6\u784B\u{21757}\u{231C9}\u{24941}\u369A\u4F72\u6FDA\u6FD9\u701E\u701E\u5414\u{241B5}\u57BB\u58F3\u578A\u9D16\u57D7\u7134\u34AF\u{241AC}\u71EB\u{26C40}\u{24F97}\u5B28\u{217B5}\u{28A49}"], + ["9740", "\u610C\u5ACE\u5A0B\u42BC\u{24488}\u372C\u4B7B\u{289FC}\u93BB\u93B8\u{218D6}\u{20F1D}\u8472\u{26CC0}\u{21413}\u{242FA}\u{22C26}\u{243C1}\u5994\u{23DB7}\u{26741}\u7DA8\u{2615B}\u{260A4}\u{249B9}\u{2498B}\u{289FA}\u92E5\u73E2\u3EE9\u74B4\u{28B63}\u{2189F}\u3EE1\u{24AB3}\u6AD8\u73F3\u73FB\u3ED6\u{24A3E}\u{24A94}\u{217D9}\u{24A66}\u{203A7}\u{21424}\u{249E5}\u7448\u{24916}\u70A5\u{24976}\u9284\u73E6\u935F\u{204FE}\u9331\u{28ACE}\u{28A16}\u9386\u{28BE7}\u{255D5}\u4935\u{28A82}\u716B"], + ["97a1", "\u{24943}\u{20CFF}\u56A4\u{2061A}\u{20BEB}\u{20CB8}\u5502\u79C4\u{217FA}\u7DFE\u{216C2}\u{24A50}\u{21852}\u452E\u9401\u370A\u{28AC0}\u{249AD}\u59B0\u{218BF}\u{21883}\u{27484}\u5AA1\u36E2\u{23D5B}\u36B0\u925F\u5A79\u{28A81}\u{21862}\u9374\u3CCD\u{20AB4}\u4A96\u398A\u50F4\u3D69\u3D4C\u{2139C}\u7175\u42FB\u{28218}\u6E0F\u{290E4}\u44EB\u6D57\u{27E4F}\u7067\u6CAF\u3CD6\u{23FED}\u{23E2D}\u6E02\u6F0C\u3D6F\u{203F5}\u7551\u36BC\u34C8\u4680\u3EDA\u4871\u59C4\u926E\u493E\u8F41\u{28C1C}\u{26BC0}\u5812\u57C8\u36D6\u{21452}\u70FE\u{24362}\u{24A71}\u{22FE3}\u{212B0}\u{223BD}\u68B9\u6967\u{21398}\u{234E5}\u{27BF4}\u{236DF}\u{28A83}\u{237D6}\u{233FA}\u{24C9F}\u6A1A\u{236AD}\u{26CB7}\u843E\u44DF\u44CE"], + ["9840", "\u{26D26}\u{26D51}\u{26C82}\u{26FDE}\u6F17\u{27109}\u833D\u{2173A}\u83ED\u{26C80}\u{27053}\u{217DB}\u5989\u5A82\u{217B3}\u5A61\u5A71\u{21905}\u{241FC}\u372D\u59EF\u{2173C}\u36C7\u718E\u9390\u669A\u{242A5}\u5A6E\u5A2B\u{24293}\u6A2B\u{23EF9}\u{27736}\u{2445B}\u{242CA}\u711D\u{24259}\u{289E1}\u4FB0\u{26D28}\u5CC2\u{244CE}\u{27E4D}\u{243BD}\u6A0C\u{24256}\u{21304}\u70A6\u7133\u{243E9}\u3DA5\u6CDF\u{2F825}\u{24A4F}\u7E65\u59EB\u5D2F\u3DF3\u5F5C\u{24A5D}\u{217DF}\u7DA4\u8426"], + ["98a1", "\u5485\u{23AFA}\u{23300}\u{20214}\u577E\u{208D5}\u{20619}\u3FE5\u{21F9E}\u{2A2B6}\u7003\u{2915B}\u5D70\u738F\u7CD3\u{28A59}\u{29420}\u4FC8\u7FE7\u72CD\u7310\u{27AF4}\u7338\u7339\u{256F6}\u7341\u7348\u3EA9\u{27B18}\u906C\u71F5\u{248F2}\u73E1\u81F6\u3ECA\u770C\u3ED1\u6CA2\u56FD\u7419\u741E\u741F\u3EE2\u3EF0\u3EF4\u3EFA\u74D3\u3F0E\u3F53\u7542\u756D\u7572\u758D\u3F7C\u75C8\u75DC\u3FC0\u764D\u3FD7\u7674\u3FDC\u767A\u{24F5C}\u7188\u5623\u8980\u5869\u401D\u7743\u4039\u6761\u4045\u35DB\u7798\u406A\u406F\u5C5E\u77BE\u77CB\u58F2\u7818\u70B9\u781C\u40A8\u7839\u7847\u7851\u7866\u8448\u{25535}\u7933\u6803\u7932\u4103"], + ["9940", "\u4109\u7991\u7999\u8FBB\u7A06\u8FBC\u4167\u7A91\u41B2\u7ABC\u8279\u41C4\u7ACF\u7ADB\u41CF\u4E21\u7B62\u7B6C\u7B7B\u7C12\u7C1B\u4260\u427A\u7C7B\u7C9C\u428C\u7CB8\u4294\u7CED\u8F93\u70C0\u{20CCF}\u7DCF\u7DD4\u7DD0\u7DFD\u7FAE\u7FB4\u729F\u4397\u8020\u8025\u7B39\u802E\u8031\u8054\u3DCC\u57B4\u70A0\u80B7\u80E9\u43ED\u810C\u732A\u810E\u8112\u7560\u8114\u4401\u3B39\u8156\u8159\u815A"], + ["99a1", "\u4413\u583A\u817C\u8184\u4425\u8193\u442D\u81A5\u57EF\u81C1\u81E4\u8254\u448F\u82A6\u8276\u82CA\u82D8\u82FF\u44B0\u8357\u9669\u698A\u8405\u70F5\u8464\u60E3\u8488\u4504\u84BE\u84E1\u84F8\u8510\u8538\u8552\u453B\u856F\u8570\u85E0\u4577\u8672\u8692\u86B2\u86EF\u9645\u878B\u4606\u4617\u88AE\u88FF\u8924\u8947\u8991\u{27967}\u8A29\u8A38\u8A94\u8AB4\u8C51\u8CD4\u8CF2\u8D1C\u4798\u585F\u8DC3\u47ED\u4EEE\u8E3A\u55D8\u5754\u8E71\u55F5\u8EB0\u4837\u8ECE\u8EE2\u8EE4\u8EED\u8EF2\u8FB7\u8FC1\u8FCA\u8FCC\u9033\u99C4\u48AD\u98E0\u9213\u491E\u9228\u9258\u926B\u92B1\u92AE\u92BF"], + ["9a40", "\u92E3\u92EB\u92F3\u92F4\u92FD\u9343\u9384\u93AD\u4945\u4951\u9EBF\u9417\u5301\u941D\u942D\u943E\u496A\u9454\u9479\u952D\u95A2\u49A7\u95F4\u9633\u49E5\u67A0\u4A24\u9740\u4A35\u97B2\u97C2\u5654\u4AE4\u60E8\u98B9\u4B19\u98F1\u5844\u990E\u9919\u51B4\u991C\u9937\u9942\u995D\u9962\u4B70\u99C5\u4B9D\u9A3C\u9B0F\u7A83\u9B69\u9B81\u9BDD\u9BF1\u9BF4\u4C6D\u9C20\u376F\u{21BC2}\u9D49\u9C3A"], + ["9aa1", "\u9EFE\u5650\u9D93\u9DBD\u9DC0\u9DFC\u94F6\u8FB6\u9E7B\u9EAC\u9EB1\u9EBD\u9EC6\u94DC\u9EE2\u9EF1\u9EF8\u7AC8\u9F44\u{20094}\u{202B7}\u{203A0}\u691A\u94C3\u59AC\u{204D7}\u5840\u94C1\u37B9\u{205D5}\u{20615}\u{20676}\u{216BA}\u5757\u7173\u{20AC2}\u{20ACD}\u{20BBF}\u546A\u{2F83B}\u{20BCB}\u549E\u{20BFB}\u{20C3B}\u{20C53}\u{20C65}\u{20C7C}\u60E7\u{20C8D}\u567A\u{20CB5}\u{20CDD}\u{20CED}\u{20D6F}\u{20DB2}\u{20DC8}\u6955\u9C2F\u87A5\u{20E04}\u{20E0E}\u{20ED7}\u{20F90}\u{20F2D}\u{20E73}\u5C20\u{20FBC}\u5E0B\u{2105C}\u{2104F}\u{21076}\u671E\u{2107B}\u{21088}\u{21096}\u3647\u{210BF}\u{210D3}\u{2112F}\u{2113B}\u5364\u84AD\u{212E3}\u{21375}\u{21336}\u8B81\u{21577}\u{21619}\u{217C3}\u{217C7}\u4E78\u70BB\u{2182D}\u{2196A}"], + ["9b40", "\u{21A2D}\u{21A45}\u{21C2A}\u{21C70}\u{21CAC}\u{21EC8}\u62C3\u{21ED5}\u{21F15}\u7198\u6855\u{22045}\u69E9\u36C8\u{2227C}\u{223D7}\u{223FA}\u{2272A}\u{22871}\u{2294F}\u82FD\u{22967}\u{22993}\u{22AD5}\u89A5\u{22AE8}\u8FA0\u{22B0E}\u97B8\u{22B3F}\u9847\u9ABD\u{22C4C}"], + ["9b62", "\u{22C88}\u{22CB7}\u{25BE8}\u{22D08}\u{22D12}\u{22DB7}\u{22D95}\u{22E42}\u{22F74}\u{22FCC}\u{23033}\u{23066}\u{2331F}\u{233DE}\u5FB1\u6648\u66BF\u{27A79}\u{23567}\u{235F3}\u7201\u{249BA}\u77D7\u{2361A}\u{23716}\u7E87\u{20346}\u58B5\u670E"], + ["9ba1", "\u6918\u{23AA7}\u{27657}\u{25FE2}\u{23E11}\u{23EB9}\u{275FE}\u{2209A}\u48D0\u4AB8\u{24119}\u{28A9A}\u{242EE}\u{2430D}\u{2403B}\u{24334}\u{24396}\u{24A45}\u{205CA}\u51D2\u{20611}\u599F\u{21EA8}\u3BBE\u{23CFF}\u{24404}\u{244D6}\u5788\u{24674}\u399B\u{2472F}\u{285E8}\u{299C9}\u3762\u{221C3}\u8B5E\u{28B4E}\u99D6\u{24812}\u{248FB}\u{24A15}\u7209\u{24AC0}\u{20C78}\u5965\u{24EA5}\u{24F86}\u{20779}\u8EDA\u{2502C}\u528F\u573F\u7171\u{25299}\u{25419}\u{23F4A}\u{24AA7}\u55BC\u{25446}\u{2546E}\u{26B52}\u91D4\u3473\u{2553F}\u{27632}\u{2555E}\u4718\u{25562}\u{25566}\u{257C7}\u{2493F}\u{2585D}\u5066\u34FB\u{233CC}\u60DE\u{25903}\u477C\u{28948}\u{25AAE}\u{25B89}\u{25C06}\u{21D90}\u57A1\u7151\u6FB6\u{26102}\u{27C12}\u9056\u{261B2}\u{24F9A}\u8B62\u{26402}\u{2644A}"], + ["9c40", "\u5D5B\u{26BF7}\u8F36\u{26484}\u{2191C}\u8AEA\u{249F6}\u{26488}\u{23FEF}\u{26512}\u4BC0\u{265BF}\u{266B5}\u{2271B}\u9465\u{257E1}\u6195\u5A27\u{2F8CD}\u4FBB\u56B9\u{24521}\u{266FC}\u4E6A\u{24934}\u9656\u6D8F\u{26CBD}\u3618\u8977\u{26799}\u{2686E}\u{26411}\u{2685E}\u71DF\u{268C7}\u7B42\u{290C0}\u{20A11}\u{26926}\u9104\u{26939}\u7A45\u9DF0\u{269FA}\u9A26\u{26A2D}\u365F\u{26469}\u{20021}\u7983\u{26A34}\u{26B5B}\u5D2C\u{23519}\u83CF\u{26B9D}\u46D0\u{26CA4}\u753B\u8865\u{26DAE}\u58B6"], + ["9ca1", "\u371C\u{2258D}\u{2704B}\u{271CD}\u3C54\u{27280}\u{27285}\u9281\u{2217A}\u{2728B}\u9330\u{272E6}\u{249D0}\u6C39\u949F\u{27450}\u{20EF8}\u8827\u88F5\u{22926}\u{28473}\u{217B1}\u6EB8\u{24A2A}\u{21820}\u39A4\u36B9\u5C10\u79E3\u453F\u66B6\u{29CAD}\u{298A4}\u8943\u{277CC}\u{27858}\u56D6\u40DF\u{2160A}\u39A1\u{2372F}\u{280E8}\u{213C5}\u71AD\u8366\u{279DD}\u{291A8}\u5A67\u4CB7\u{270AF}\u{289AB}\u{279FD}\u{27A0A}\u{27B0B}\u{27D66}\u{2417A}\u7B43\u797E\u{28009}\u6FB5\u{2A2DF}\u6A03\u{28318}\u53A2\u{26E07}\u93BF\u6836\u975D\u{2816F}\u{28023}\u{269B5}\u{213ED}\u{2322F}\u{28048}\u5D85\u{28C30}\u{28083}\u5715\u9823\u{28949}\u5DAB\u{24988}\u65BE\u69D5\u53D2\u{24AA5}\u{23F81}\u3C11\u6736\u{28090}\u{280F4}\u{2812E}\u{21FA1}\u{2814F}"], + ["9d40", "\u{28189}\u{281AF}\u{2821A}\u{28306}\u{2832F}\u{2838A}\u35CA\u{28468}\u{286AA}\u48FA\u63E6\u{28956}\u7808\u9255\u{289B8}\u43F2\u{289E7}\u43DF\u{289E8}\u{28B46}\u{28BD4}\u59F8\u{28C09}\u8F0B\u{28FC5}\u{290EC}\u7B51\u{29110}\u{2913C}\u3DF7\u{2915E}\u{24ACA}\u8FD0\u728F\u568B\u{294E7}\u{295E9}\u{295B0}\u{295B8}\u{29732}\u{298D1}\u{29949}\u{2996A}\u{299C3}\u{29A28}\u{29B0E}\u{29D5A}\u{29D9B}\u7E9F\u{29EF8}\u{29F23}\u4CA4\u9547\u{2A293}\u71A2\u{2A2FF}\u4D91\u9012\u{2A5CB}\u4D9C\u{20C9C}\u8FBE\u55C1"], + ["9da1", "\u8FBA\u{224B0}\u8FB9\u{24A93}\u4509\u7E7F\u6F56\u6AB1\u4EEA\u34E4\u{28B2C}\u{2789D}\u373A\u8E80\u{217F5}\u{28024}\u{28B6C}\u{28B99}\u{27A3E}\u{266AF}\u3DEB\u{27655}\u{23CB7}\u{25635}\u{25956}\u4E9A\u{25E81}\u{26258}\u56BF\u{20E6D}\u8E0E\u5B6D\u{23E88}\u{24C9E}\u63DE\u62D0\u{217F6}\u{2187B}\u6530\u562D\u{25C4A}\u541A\u{25311}\u3DC6\u{29D98}\u4C7D\u5622\u561E\u7F49\u{25ED8}\u5975\u{23D40}\u8770\u4E1C\u{20FEA}\u{20D49}\u{236BA}\u8117\u9D5E\u8D18\u763B\u9C45\u764E\u77B9\u9345\u5432\u8148\u82F7\u5625\u8132\u8418\u80BD\u55EA\u7962\u5643\u5416\u{20E9D}\u35CE\u5605\u55F1\u66F1\u{282E2}\u362D\u7534\u55F0\u55BA\u5497\u5572\u{20C41}\u{20C96}\u5ED0\u{25148}\u{20E76}\u{22C62}"], + ["9e40", "\u{20EA2}\u9EAB\u7D5A\u55DE\u{21075}\u629D\u976D\u5494\u8CCD\u71F6\u9176\u63FC\u63B9\u63FE\u5569\u{22B43}\u9C72\u{22EB3}\u519A\u34DF\u{20DA7}\u51A7\u544D\u551E\u5513\u7666\u8E2D\u{2688A}\u75B1\u80B6\u8804\u8786\u88C7\u81B6\u841C\u{210C1}\u44EC\u7304\u{24706}\u5B90\u830B\u{26893}\u567B\u{226F4}\u{27D2F}\u{241A3}\u{27D73}\u{26ED0}\u{272B6}\u9170\u{211D9}\u9208\u{23CFC}\u{2A6A9}\u{20EAC}\u{20EF9}\u7266\u{21CA2}\u474E\u{24FC2}\u{27FF9}\u{20FEB}\u40FA"], + ["9ea1", "\u9C5D\u651F\u{22DA0}\u48F3\u{247E0}\u{29D7C}\u{20FEC}\u{20E0A}\u6062\u{275A3}\u{20FED}"], + ["9ead", "\u{26048}\u{21187}\u71A3\u7E8E\u9D50\u4E1A\u4E04\u3577\u5B0D\u6CB2\u5367\u36AC\u39DC\u537D\u36A5\u{24618}\u589A\u{24B6E}\u822D\u544B\u57AA\u{25A95}\u{20979}"], + ["9ec5", "\u3A52\u{22465}\u7374\u{29EAC}\u4D09\u9BED\u{23CFE}\u{29F30}\u4C5B\u{24FA9}\u{2959E}\u{29FDE}\u845C\u{23DB6}\u{272B2}\u{267B3}\u{23720}\u632E\u7D25\u{23EF7}\u{23E2C}\u3A2A\u9008\u52CC\u3E74\u367A\u45E9\u{2048E}\u7640\u5AF0\u{20EB6}\u787A\u{27F2E}\u58A7\u40BF\u567C\u9B8B\u5D74\u7654\u{2A434}\u9E85\u4CE1\u75F9\u37FB\u6119\u{230DA}\u{243F2}"], + ["9ef5", "\u565D\u{212A9}\u57A7\u{24963}\u{29E06}\u5234\u{270AE}\u35AD\u6C4A\u9D7C"], + ["9f40", "\u7C56\u9B39\u57DE\u{2176C}\u5C53\u64D3\u{294D0}\u{26335}\u{27164}\u86AD\u{20D28}\u{26D22}\u{24AE2}\u{20D71}"], + ["9f4f", "\u51FE\u{21F0F}\u5D8E\u9703\u{21DD1}\u9E81\u904C\u7B1F\u9B02\u5CD1\u7BA3\u6268\u6335\u9AFF\u7BCF\u9B2A\u7C7E\u9B2E\u7C42\u7C86\u9C15\u7BFC\u9B09\u9F17\u9C1B\u{2493E}\u9F5A\u5573\u5BC3\u4FFD\u9E98\u4FF2\u5260\u3E06\u52D1\u5767\u5056\u59B7\u5E12\u97C8\u9DAB\u8F5C\u5469\u97B4\u9940\u97BA\u532C\u6130"], + ["9fa1", "\u692C\u53DA\u9C0A\u9D02\u4C3B\u9641\u6980\u50A6\u7546\u{2176D}\u99DA\u5273"], + ["9fae", "\u9159\u9681\u915C"], + ["9fb2", "\u9151\u{28E97}\u637F\u{26D23}\u6ACA\u5611\u918E\u757A\u6285\u{203FC}\u734F\u7C70\u{25C21}\u{23CFD}"], + ["9fc1", "\u{24919}\u76D6\u9B9D\u4E2A\u{20CD4}\u83BE\u8842"], + ["9fc9", "\u5C4A\u69C0\u50ED\u577A\u521F\u5DF5\u4ECE\u6C31\u{201F2}\u4F39\u549C\u54DA\u529A\u8D82\u35FE\u5F0C\u35F3"], + ["9fdb", "\u6B52\u917C\u9FA5\u9B97\u982E\u98B4\u9ABA\u9EA8\u9E84\u717A\u7B14"], + ["9fe7", "\u6BFA\u8818\u7F78"], + ["9feb", "\u5620\u{2A64A}\u8E77\u9F53"], + ["9ff0", "\u8DD4\u8E4F\u9E1C\u8E01\u6282\u{2837D}\u8E28\u8E75\u7AD3\u{24A77}\u7A3E\u78D8\u6CEA\u8A67\u7607"], + ["a040", "\u{28A5A}\u9F26\u6CCE\u87D6\u75C3\u{2A2B2}\u7853\u{2F840}\u8D0C\u72E2\u7371\u8B2D\u7302\u74F1\u8CEB\u{24ABB}\u862F\u5FBA\u88A0\u44B7"], + ["a055", "\u{2183B}\u{26E05}"], + ["a058", "\u8A7E\u{2251B}"], + ["a05b", "\u60FD\u7667\u9AD7\u9D44\u936E\u9B8F\u87F5"], + ["a063", "\u880F\u8CF7\u732C\u9721\u9BB0\u35D6\u72B2\u4C07\u7C51\u994A\u{26159}\u6159\u4C04\u9E96\u617D"], + ["a073", "\u575F\u616F\u62A6\u6239\u62CE\u3A5C\u61E2\u53AA\u{233F5}\u6364\u6802\u35D2"], + ["a0a1", "\u5D57\u{28BC2}\u8FDA\u{28E39}"], + ["a0a6", "\u50D9\u{21D46}\u7906\u5332\u9638\u{20F3B}\u4065"], + ["a0ae", "\u77FE"], + ["a0b0", "\u7CC2\u{25F1A}\u7CDA\u7A2D\u8066\u8063\u7D4D\u7505\u74F2\u8994\u821A\u670C\u8062\u{27486}\u805B\u74F0\u8103\u7724\u8989\u{267CC}\u7553\u{26ED1}\u87A9\u87CE\u81C8\u878C\u8A49\u8CAD\u8B43\u772B\u74F8\u84DA\u3635\u69B2\u8DA6"], + ["a0d4", "\u89A9\u7468\u6DB9\u87C1\u{24011}\u74E7\u3DDB\u7176\u60A4\u619C\u3CD1\u7162\u6077"], + ["a0e2", "\u7F71\u{28B2D}\u7250\u60E9\u4B7E\u5220\u3C18\u{23CC7}\u{25ED7}\u{27656}\u{25531}\u{21944}\u{212FE}\u{29903}\u{26DDC}\u{270AD}\u5CC1\u{261AD}\u{28A0F}\u{23677}\u{200EE}\u{26846}\u{24F0E}\u4562\u5B1F\u{2634C}\u9F50\u9EA6\u{2626B}"], + ["a3c0", "\u2400", 31, "\u2421"], + ["c6a1", "\u2460", 9, "\u2474", 9, "\u2170", 9, "\u4E36\u4E3F\u4E85\u4EA0\u5182\u5196\u51AB\u52F9\u5338\u5369\u53B6\u590A\u5B80\u5DDB\u2F33\u5E7F\u5EF4\u5F50\u5F61\u6534\u65E0\u7592\u7676\u8FB5\u96B6\xA8\u02C6\u30FD\u30FE\u309D\u309E\u3003\u4EDD\u3005\u3006\u3007\u30FC\uFF3B\uFF3D\u273D\u3041", 23], + ["c740", "\u3059", 58, "\u30A1\u30A2\u30A3\u30A4"], + ["c7a1", "\u30A5", 81, "\u0410", 5, "\u0401\u0416", 4], + ["c840", "\u041B", 26, "\u0451\u0436", 25, "\u21E7\u21B8\u21B9\u31CF\u{200CC}\u4E5A\u{2008A}\u5202\u4491"], + ["c8a1", "\u9FB0\u5188\u9FB1\u{27607}"], + ["c8cd", "\uFFE2\uFFE4\uFF07\uFF02\u3231\u2116\u2121\u309B\u309C\u2E80\u2E84\u2E86\u2E87\u2E88\u2E8A\u2E8C\u2E8D\u2E95\u2E9C\u2E9D\u2EA5\u2EA7\u2EAA\u2EAC\u2EAE\u2EB6\u2EBC\u2EBE\u2EC6\u2ECA\u2ECC\u2ECD\u2ECF\u2ED6\u2ED7\u2EDE\u2EE3"], + ["c8f5", "\u0283\u0250\u025B\u0254\u0275\u0153\xF8\u014B\u028A\u026A"], + ["f9fe", "\uFFED"], + ["fa40", "\u{20547}\u92DB\u{205DF}\u{23FC5}\u854C\u42B5\u73EF\u51B5\u3649\u{24942}\u{289E4}\u9344\u{219DB}\u82EE\u{23CC8}\u783C\u6744\u62DF\u{24933}\u{289AA}\u{202A0}\u{26BB3}\u{21305}\u4FAB\u{224ED}\u5008\u{26D29}\u{27A84}\u{23600}\u{24AB1}\u{22513}\u5029\u{2037E}\u5FA4\u{20380}\u{20347}\u6EDB\u{2041F}\u507D\u5101\u347A\u510E\u986C\u3743\u8416\u{249A4}\u{20487}\u5160\u{233B4}\u516A\u{20BFF}\u{220FC}\u{202E5}\u{22530}\u{2058E}\u{23233}\u{21983}\u5B82\u877D\u{205B3}\u{23C99}\u51B2\u51B8"], + ["faa1", "\u9D34\u51C9\u51CF\u51D1\u3CDC\u51D3\u{24AA6}\u51B3\u51E2\u5342\u51ED\u83CD\u693E\u{2372D}\u5F7B\u520B\u5226\u523C\u52B5\u5257\u5294\u52B9\u52C5\u7C15\u8542\u52E0\u860D\u{26B13}\u5305\u{28ADE}\u5549\u6ED9\u{23F80}\u{20954}\u{23FEC}\u5333\u5344\u{20BE2}\u6CCB\u{21726}\u681B\u73D5\u604A\u3EAA\u38CC\u{216E8}\u71DD\u44A2\u536D\u5374\u{286AB}\u537E\u537F\u{21596}\u{21613}\u77E6\u5393\u{28A9B}\u53A0\u53AB\u53AE\u73A7\u{25772}\u3F59\u739C\u53C1\u53C5\u6C49\u4E49\u57FE\u53D9\u3AAB\u{20B8F}\u53E0\u{23FEB}\u{22DA3}\u53F6\u{20C77}\u5413\u7079\u552B\u6657\u6D5B\u546D\u{26B53}\u{20D74}\u555D\u548F\u54A4\u47A6\u{2170D}\u{20EDD}\u3DB4\u{20D4D}"], + ["fb40", "\u{289BC}\u{22698}\u5547\u4CED\u542F\u7417\u5586\u55A9\u5605\u{218D7}\u{2403A}\u4552\u{24435}\u66B3\u{210B4}\u5637\u66CD\u{2328A}\u66A4\u66AD\u564D\u564F\u78F1\u56F1\u9787\u53FE\u5700\u56EF\u56ED\u{28B66}\u3623\u{2124F}\u5746\u{241A5}\u6C6E\u708B\u5742\u36B1\u{26C7E}\u57E6\u{21416}\u5803\u{21454}\u{24363}\u5826\u{24BF5}\u585C\u58AA\u3561\u58E0\u58DC\u{2123C}\u58FB\u5BFF\u5743\u{2A150}\u{24278}\u93D3\u35A1\u591F\u68A6\u36C3\u6E59"], + ["fba1", "\u{2163E}\u5A24\u5553\u{21692}\u8505\u59C9\u{20D4E}\u{26C81}\u{26D2A}\u{217DC}\u59D9\u{217FB}\u{217B2}\u{26DA6}\u6D71\u{21828}\u{216D5}\u59F9\u{26E45}\u5AAB\u5A63\u36E6\u{249A9}\u5A77\u3708\u5A96\u7465\u5AD3\u{26FA1}\u{22554}\u3D85\u{21911}\u3732\u{216B8}\u5E83\u52D0\u5B76\u6588\u5B7C\u{27A0E}\u4004\u485D\u{20204}\u5BD5\u6160\u{21A34}\u{259CC}\u{205A5}\u5BF3\u5B9D\u4D10\u5C05\u{21B44}\u5C13\u73CE\u5C14\u{21CA5}\u{26B28}\u5C49\u48DD\u5C85\u5CE9\u5CEF\u5D8B\u{21DF9}\u{21E37}\u5D10\u5D18\u5D46\u{21EA4}\u5CBA\u5DD7\u82FC\u382D\u{24901}\u{22049}\u{22173}\u8287\u3836\u3BC2\u5E2E\u6A8A\u5E75\u5E7A\u{244BC}\u{20CD3}\u53A6\u4EB7\u5ED0\u53A8\u{21771}\u5E09\u5EF4\u{28482}"], + ["fc40", "\u5EF9\u5EFB\u38A0\u5EFC\u683E\u941B\u5F0D\u{201C1}\u{2F894}\u3ADE\u48AE\u{2133A}\u5F3A\u{26888}\u{223D0}\u5F58\u{22471}\u5F63\u97BD\u{26E6E}\u5F72\u9340\u{28A36}\u5FA7\u5DB6\u3D5F\u{25250}\u{21F6A}\u{270F8}\u{22668}\u91D6\u{2029E}\u{28A29}\u6031\u6685\u{21877}\u3963\u3DC7\u3639\u5790\u{227B4}\u7971\u3E40\u609E\u60A4\u60B3\u{24982}\u{2498F}\u{27A53}\u74A4\u50E1\u5AA0\u6164\u8424\u6142\u{2F8A6}\u{26ED2}\u6181\u51F4\u{20656}\u6187\u5BAA\u{23FB7}"], + ["fca1", "\u{2285F}\u61D3\u{28B9D}\u{2995D}\u61D0\u3932\u{22980}\u{228C1}\u6023\u615C\u651E\u638B\u{20118}\u62C5\u{21770}\u62D5\u{22E0D}\u636C\u{249DF}\u3A17\u6438\u63F8\u{2138E}\u{217FC}\u6490\u6F8A\u{22E36}\u9814\u{2408C}\u{2571D}\u64E1\u64E5\u947B\u3A66\u643A\u3A57\u654D\u6F16\u{24A28}\u{24A23}\u6585\u656D\u655F\u{2307E}\u65B5\u{24940}\u4B37\u65D1\u40D8\u{21829}\u65E0\u65E3\u5FDF\u{23400}\u6618\u{231F7}\u{231F8}\u6644\u{231A4}\u{231A5}\u664B\u{20E75}\u6667\u{251E6}\u6673\u6674\u{21E3D}\u{23231}\u{285F4}\u{231C8}\u{25313}\u77C5\u{228F7}\u99A4\u6702\u{2439C}\u{24A21}\u3B2B\u69FA\u{237C2}\u675E\u6767\u6762\u{241CD}\u{290ED}\u67D7\u44E9\u6822\u6E50\u923C\u6801\u{233E6}\u{26DA0}\u685D"], + ["fd40", "\u{2346F}\u69E1\u6A0B\u{28ADF}\u6973\u68C3\u{235CD}\u6901\u6900\u3D32\u3A01\u{2363C}\u3B80\u67AC\u6961\u{28A4A}\u42FC\u6936\u6998\u3BA1\u{203C9}\u8363\u5090\u69F9\u{23659}\u{2212A}\u6A45\u{23703}\u6A9D\u3BF3\u67B1\u6AC8\u{2919C}\u3C0D\u6B1D\u{20923}\u60DE\u6B35\u6B74\u{227CD}\u6EB5\u{23ADB}\u{203B5}\u{21958}\u3740\u5421\u{23B5A}\u6BE1\u{23EFC}\u6BDC\u6C37\u{2248B}\u{248F1}\u{26B51}\u6C5A\u8226\u6C79\u{23DBC}\u44C5\u{23DBD}\u{241A4}\u{2490C}\u{24900}"], + ["fda1", "\u{23CC9}\u36E5\u3CEB\u{20D32}\u9B83\u{231F9}\u{22491}\u7F8F\u6837\u{26D25}\u{26DA1}\u{26DEB}\u6D96\u6D5C\u6E7C\u6F04\u{2497F}\u{24085}\u{26E72}\u8533\u{26F74}\u51C7\u6C9C\u6E1D\u842E\u{28B21}\u6E2F\u{23E2F}\u7453\u{23F82}\u79CC\u6E4F\u5A91\u{2304B}\u6FF8\u370D\u6F9D\u{23E30}\u6EFA\u{21497}\u{2403D}\u4555\u93F0\u6F44\u6F5C\u3D4E\u6F74\u{29170}\u3D3B\u6F9F\u{24144}\u6FD3\u{24091}\u{24155}\u{24039}\u{23FF0}\u{23FB4}\u{2413F}\u51DF\u{24156}\u{24157}\u{24140}\u{261DD}\u704B\u707E\u70A7\u7081\u70CC\u70D5\u70D6\u70DF\u4104\u3DE8\u71B4\u7196\u{24277}\u712B\u7145\u5A88\u714A\u716E\u5C9C\u{24365}\u714F\u9362\u{242C1}\u712C\u{2445A}\u{24A27}\u{24A22}\u71BA\u{28BE8}\u70BD\u720E"], + ["fe40", "\u9442\u7215\u5911\u9443\u7224\u9341\u{25605}\u722E\u7240\u{24974}\u68BD\u7255\u7257\u3E55\u{23044}\u680D\u6F3D\u7282\u732A\u732B\u{24823}\u{2882B}\u48ED\u{28804}\u7328\u732E\u73CF\u73AA\u{20C3A}\u{26A2E}\u73C9\u7449\u{241E2}\u{216E7}\u{24A24}\u6623\u36C5\u{249B7}\u{2498D}\u{249FB}\u73F7\u7415\u6903\u{24A26}\u7439\u{205C3}\u3ED7\u745C\u{228AD}\u7460\u{28EB2}\u7447\u73E4\u7476\u83B9\u746C\u3730\u7474\u93F1\u6A2C\u7482\u4953\u{24A8C}"], + ["fea1", "\u{2415F}\u{24A79}\u{28B8F}\u5B46\u{28C03}\u{2189E}\u74C8\u{21988}\u750E\u74E9\u751E\u{28ED9}\u{21A4B}\u5BD7\u{28EAC}\u9385\u754D\u754A\u7567\u756E\u{24F82}\u3F04\u{24D13}\u758E\u745D\u759E\u75B4\u7602\u762C\u7651\u764F\u766F\u7676\u{263F5}\u7690\u81EF\u37F8\u{26911}\u{2690E}\u76A1\u76A5\u76B7\u76CC\u{26F9F}\u8462\u{2509D}\u{2517D}\u{21E1C}\u771E\u7726\u7740\u64AF\u{25220}\u7758\u{232AC}\u77AF\u{28964}\u{28968}\u{216C1}\u77F4\u7809\u{21376}\u{24A12}\u68CA\u78AF\u78C7\u78D3\u96A5\u792E\u{255E0}\u78D7\u7934\u78B1\u{2760C}\u8FB8\u8884\u{28B2B}\u{26083}\u{2261C}\u7986\u8900\u6902\u7980\u{25857}\u799D\u{27B39}\u793C\u79A9\u6E2A\u{27126}\u3EA8\u79C6\u{2910D}\u79D4"] + ]; + } +}); +var require_dbcs_data2 = __commonJS2({ + "node_modules/body-parser/node_modules/iconv-lite/encodings/dbcs-data.js"(exports2, module2) { + "use strict"; + module2.exports = { + // == Japanese/ShiftJIS ==================================================== + // All japanese encodings are based on JIS X set of standards: + // JIS X 0201 - Single-byte encoding of ASCII + ¥ + Kana chars at 0xA1-0xDF. + // JIS X 0208 - Main set of 6879 characters, placed in 94x94 plane, to be encoded by 2 bytes. + // Has several variations in 1978, 1983, 1990 and 1997. + // JIS X 0212 - Supplementary plane of 6067 chars in 94x94 plane. 1990. Effectively dead. + // JIS X 0213 - Extension and modern replacement of 0208 and 0212. Total chars: 11233. + // 2 planes, first is superset of 0208, second - revised 0212. + // Introduced in 2000, revised 2004. Some characters are in Unicode Plane 2 (0x2xxxx) + // Byte encodings are: + // * Shift_JIS: Compatible with 0201, uses not defined chars in top half as lead bytes for double-byte + // encoding of 0208. Lead byte ranges: 0x81-0x9F, 0xE0-0xEF; Trail byte ranges: 0x40-0x7E, 0x80-0x9E, 0x9F-0xFC. + // Windows CP932 is a superset of Shift_JIS. Some companies added more chars, notably KDDI. + // * EUC-JP: Up to 3 bytes per character. Used mostly on *nixes. + // 0x00-0x7F - lower part of 0201 + // 0x8E, 0xA1-0xDF - upper part of 0201 + // (0xA1-0xFE)x2 - 0208 plane (94x94). + // 0x8F, (0xA1-0xFE)x2 - 0212 plane (94x94). + // * JIS X 208: 7-bit, direct encoding of 0208. Byte ranges: 0x21-0x7E (94 values). Uncommon. + // Used as-is in ISO2022 family. + // * ISO2022-JP: Stateful encoding, with escape sequences to switch between ASCII, + // 0201-1976 Roman, 0208-1978, 0208-1983. + // * ISO2022-JP-1: Adds esc seq for 0212-1990. + // * ISO2022-JP-2: Adds esc seq for GB2313-1980, KSX1001-1992, ISO8859-1, ISO8859-7. + // * ISO2022-JP-3: Adds esc seq for 0201-1976 Kana set, 0213-2000 Planes 1, 2. + // * ISO2022-JP-2004: Adds 0213-2004 Plane 1. + // + // After JIS X 0213 appeared, Shift_JIS-2004, EUC-JISX0213 and ISO2022-JP-2004 followed, with just changing the planes. + // + // Overall, it seems that it's a mess :( http://www8.plala.or.jp/tkubota1/unicode-symbols-map2.html + "shiftjis": { + type: "_dbcs", + table: function() { + return require_shiftjis2(); + }, + encodeAdd: { "\xA5": 92, "\u203E": 126 }, + encodeSkipVals: [{ from: 60736, to: 63808 }] + }, + "csshiftjis": "shiftjis", + "mskanji": "shiftjis", + "sjis": "shiftjis", + "windows31j": "shiftjis", + "ms31j": "shiftjis", + "xsjis": "shiftjis", + "windows932": "shiftjis", + "ms932": "shiftjis", + "932": "shiftjis", + "cp932": "shiftjis", + "eucjp": { + type: "_dbcs", + table: function() { + return require_eucjp2(); + }, + encodeAdd: { "\xA5": 92, "\u203E": 126 } + }, + // TODO: KDDI extension to Shift_JIS + // TODO: IBM CCSID 942 = CP932, but F0-F9 custom chars and other char changes. + // TODO: IBM CCSID 943 = Shift_JIS = CP932 with original Shift_JIS lower 128 chars. + // == Chinese/GBK ========================================================== + // http://en.wikipedia.org/wiki/GBK + // We mostly implement W3C recommendation: https://www.w3.org/TR/encoding/#gbk-encoder + // Oldest GB2312 (1981, ~7600 chars) is a subset of CP936 + "gb2312": "cp936", + "gb231280": "cp936", + "gb23121980": "cp936", + "csgb2312": "cp936", + "csiso58gb231280": "cp936", + "euccn": "cp936", + // Microsoft's CP936 is a subset and approximation of GBK. + "windows936": "cp936", + "ms936": "cp936", + "936": "cp936", + "cp936": { + type: "_dbcs", + table: function() { + return require_cp9362(); + } + }, + // GBK (~22000 chars) is an extension of CP936 that added user-mapped chars and some other. + "gbk": { + type: "_dbcs", + table: function() { + return require_cp9362().concat(require_gbk_added2()); + } + }, + "xgbk": "gbk", + "isoir58": "gbk", + // GB18030 is an algorithmic extension of GBK. + // Main source: https://www.w3.org/TR/encoding/#gbk-encoder + // http://icu-project.org/docs/papers/gb18030.html + // http://source.icu-project.org/repos/icu/data/trunk/charset/data/xml/gb-18030-2000.xml + // http://www.khngai.com/chinese/charmap/tblgbk.php?page=0 + "gb18030": { + type: "_dbcs", + table: function() { + return require_cp9362().concat(require_gbk_added2()); + }, + gb18030: function() { + return require_gb18030_ranges2(); + }, + encodeSkipVals: [128], + encodeAdd: { "\u20AC": 41699 } + }, + "chinese": "gb18030", + // == Korean =============================================================== + // EUC-KR, KS_C_5601 and KS X 1001 are exactly the same. + "windows949": "cp949", + "ms949": "cp949", + "949": "cp949", + "cp949": { + type: "_dbcs", + table: function() { + return require_cp9492(); + } + }, + "cseuckr": "cp949", + "csksc56011987": "cp949", + "euckr": "cp949", + "isoir149": "cp949", + "korean": "cp949", + "ksc56011987": "cp949", + "ksc56011989": "cp949", + "ksc5601": "cp949", + // == Big5/Taiwan/Hong Kong ================================================ + // There are lots of tables for Big5 and cp950. Please see the following links for history: + // http://moztw.org/docs/big5/ http://www.haible.de/bruno/charsets/conversion-tables/Big5.html + // Variations, in roughly number of defined chars: + // * Windows CP 950: Microsoft variant of Big5. Canonical: http://www.unicode.org/Public/MAPPINGS/VENDORS/MICSFT/WINDOWS/CP950.TXT + // * Windows CP 951: Microsoft variant of Big5-HKSCS-2001. Seems to be never public. http://me.abelcheung.org/articles/research/what-is-cp951/ + // * Big5-2003 (Taiwan standard) almost superset of cp950. + // * Unicode-at-on (UAO) / Mozilla 1.8. Falling out of use on the Web. Not supported by other browsers. + // * Big5-HKSCS (-2001, -2004, -2008). Hong Kong standard. + // many unicode code points moved from PUA to Supplementary plane (U+2XXXX) over the years. + // Plus, it has 4 combining sequences. + // Seems that Mozilla refused to support it for 10 yrs. https://bugzilla.mozilla.org/show_bug.cgi?id=162431 https://bugzilla.mozilla.org/show_bug.cgi?id=310299 + // because big5-hkscs is the only encoding to include astral characters in non-algorithmic way. + // Implementations are not consistent within browsers; sometimes labeled as just big5. + // MS Internet Explorer switches from big5 to big5-hkscs when a patch applied. + // Great discussion & recap of what's going on https://bugzilla.mozilla.org/show_bug.cgi?id=912470#c31 + // In the encoder, it might make sense to support encoding old PUA mappings to Big5 bytes seq-s. + // Official spec: http://www.ogcio.gov.hk/en/business/tech_promotion/ccli/terms/doc/2003cmp_2008.txt + // http://www.ogcio.gov.hk/tc/business/tech_promotion/ccli/terms/doc/hkscs-2008-big5-iso.txt + // + // Current understanding of how to deal with Big5(-HKSCS) is in the Encoding Standard, http://encoding.spec.whatwg.org/#big5-encoder + // Unicode mapping (http://www.unicode.org/Public/MAPPINGS/OBSOLETE/EASTASIA/OTHER/BIG5.TXT) is said to be wrong. + "windows950": "cp950", + "ms950": "cp950", + "950": "cp950", + "cp950": { + type: "_dbcs", + table: function() { + return require_cp9502(); + } + }, + // Big5 has many variations and is an extension of cp950. We use Encoding Standard's as a consensus. + "big5": "big5hkscs", + "big5hkscs": { + type: "_dbcs", + table: function() { + return require_cp9502().concat(require_big5_added2()); + }, + encodeSkipVals: [ + // Although Encoding Standard says we should avoid encoding to HKSCS area (See Step 1 of + // https://encoding.spec.whatwg.org/#index-big5-pointer), we still do it to increase compatibility with ICU. + // But if a single unicode point can be encoded both as HKSCS and regular Big5, we prefer the latter. + 36457, + 36463, + 36478, + 36523, + 36532, + 36557, + 36560, + 36695, + 36713, + 36718, + 36811, + 36862, + 36973, + 36986, + 37060, + 37084, + 37105, + 37311, + 37551, + 37552, + 37553, + 37554, + 37585, + 37959, + 38090, + 38361, + 38652, + 39285, + 39798, + 39800, + 39803, + 39878, + 39902, + 39916, + 39926, + 40002, + 40019, + 40034, + 40040, + 40043, + 40055, + 40124, + 40125, + 40144, + 40279, + 40282, + 40388, + 40431, + 40443, + 40617, + 40687, + 40701, + 40800, + 40907, + 41079, + 41180, + 41183, + 36812, + 37576, + 38468, + 38637, + // Step 2 of https://encoding.spec.whatwg.org/#index-big5-pointer: Use last pointer for U+2550, U+255E, U+2561, U+256A, U+5341, or U+5345 + 41636, + 41637, + 41639, + 41638, + 41676, + 41678 + ] + }, + "cnbig5": "big5hkscs", + "csbig5": "big5hkscs", + "xxbig5": "big5hkscs" + }; + } +}); +var require_encodings2 = __commonJS2({ + "node_modules/body-parser/node_modules/iconv-lite/encodings/index.js"(exports2, module2) { + "use strict"; + var modules = [ + require_internal2(), + require_utf322(), + require_utf162(), + require_utf72(), + require_sbcs_codec2(), + require_sbcs_data2(), + require_sbcs_data_generated2(), + require_dbcs_codec2(), + require_dbcs_data2() + ]; + for (i = 0; i < modules.length; i++) { + module2 = modules[i]; + for (enc in module2) + if (Object.prototype.hasOwnProperty.call(module2, enc)) + exports2[enc] = module2[enc]; + } + var module2; + var enc; + var i; + } +}); +var require_streams2 = __commonJS2({ + "node_modules/body-parser/node_modules/iconv-lite/lib/streams.js"(exports2, module2) { + "use strict"; + var Buffer2 = require_safer().Buffer; + module2.exports = function(stream_module) { + var Transform = stream_module.Transform; + function IconvLiteEncoderStream(conv, options) { + this.conv = conv; + options = options || {}; + options.decodeStrings = false; + Transform.call(this, options); + } + IconvLiteEncoderStream.prototype = Object.create(Transform.prototype, { + constructor: { value: IconvLiteEncoderStream } + }); + IconvLiteEncoderStream.prototype._transform = function(chunk, encoding, done) { + if (typeof chunk != "string") + return done(new Error("Iconv encoding stream needs strings as its input.")); + try { + var res = this.conv.write(chunk); + if (res && res.length) this.push(res); + done(); + } catch (e) { + done(e); + } + }; + IconvLiteEncoderStream.prototype._flush = function(done) { + try { + var res = this.conv.end(); + if (res && res.length) this.push(res); + done(); + } catch (e) { + done(e); + } + }; + IconvLiteEncoderStream.prototype.collect = function(cb) { + var chunks = []; + this.on("error", cb); + this.on("data", function(chunk) { + chunks.push(chunk); + }); + this.on("end", function() { + cb(null, Buffer2.concat(chunks)); + }); + return this; + }; + function IconvLiteDecoderStream(conv, options) { + this.conv = conv; + options = options || {}; + options.encoding = this.encoding = "utf8"; + Transform.call(this, options); + } + IconvLiteDecoderStream.prototype = Object.create(Transform.prototype, { + constructor: { value: IconvLiteDecoderStream } + }); + IconvLiteDecoderStream.prototype._transform = function(chunk, encoding, done) { + if (!Buffer2.isBuffer(chunk) && !(chunk instanceof Uint8Array)) + return done(new Error("Iconv decoding stream needs buffers as its input.")); + try { + var res = this.conv.write(chunk); + if (res && res.length) this.push(res, this.encoding); + done(); + } catch (e) { + done(e); + } + }; + IconvLiteDecoderStream.prototype._flush = function(done) { + try { + var res = this.conv.end(); + if (res && res.length) this.push(res, this.encoding); + done(); + } catch (e) { + done(e); + } + }; + IconvLiteDecoderStream.prototype.collect = function(cb) { + var res = ""; + this.on("error", cb); + this.on("data", function(chunk) { + res += chunk; + }); + this.on("end", function() { + cb(null, res); + }); + return this; + }; + return { + IconvLiteEncoderStream, + IconvLiteDecoderStream + }; + }; + } +}); +var require_lib2 = __commonJS2({ + "node_modules/body-parser/node_modules/iconv-lite/lib/index.js"(exports2, module2) { + "use strict"; + var Buffer2 = require_safer().Buffer; + var bomHandling = require_bom_handling2(); + var iconv = module2.exports; + iconv.encodings = null; + iconv.defaultCharUnicode = "\uFFFD"; + iconv.defaultCharSingleByte = "?"; + iconv.encode = function encode(str, encoding, options) { + str = "" + (str || ""); + var encoder = iconv.getEncoder(encoding, options); + var res = encoder.write(str); + var trail = encoder.end(); + return trail && trail.length > 0 ? Buffer2.concat([res, trail]) : res; + }; + iconv.decode = function decode(buf, encoding, options) { + if (typeof buf === "string") { + if (!iconv.skipDecodeWarning) { + console.error("Iconv-lite warning: decode()-ing strings is deprecated. Refer to https://github.com/ashtuchkin/iconv-lite/wiki/Use-Buffers-when-decoding"); + iconv.skipDecodeWarning = true; + } + buf = Buffer2.from("" + (buf || ""), "binary"); + } + var decoder = iconv.getDecoder(encoding, options); + var res = decoder.write(buf); + var trail = decoder.end(); + return trail ? res + trail : res; + }; + iconv.encodingExists = function encodingExists(enc) { + try { + iconv.getCodec(enc); + return true; + } catch (e) { + return false; + } + }; + iconv.toEncoding = iconv.encode; + iconv.fromEncoding = iconv.decode; + iconv._codecDataCache = {}; + iconv.getCodec = function getCodec(encoding) { + if (!iconv.encodings) + iconv.encodings = require_encodings2(); + var enc = iconv._canonicalizeEncoding(encoding); + var codecOptions = {}; + while (true) { + var codec = iconv._codecDataCache[enc]; + if (codec) + return codec; + var codecDef = iconv.encodings[enc]; + switch (typeof codecDef) { + case "string": + enc = codecDef; + break; + case "object": + for (var key in codecDef) + codecOptions[key] = codecDef[key]; + if (!codecOptions.encodingName) + codecOptions.encodingName = enc; + enc = codecDef.type; + break; + case "function": + if (!codecOptions.encodingName) + codecOptions.encodingName = enc; + codec = new codecDef(codecOptions, iconv); + iconv._codecDataCache[codecOptions.encodingName] = codec; + return codec; + default: + throw new Error("Encoding not recognized: '" + encoding + "' (searched as: '" + enc + "')"); + } + } + }; + iconv._canonicalizeEncoding = function(encoding) { + return ("" + encoding).toLowerCase().replace(/:\d{4}$|[^0-9a-z]/g, ""); + }; + iconv.getEncoder = function getEncoder(encoding, options) { + var codec = iconv.getCodec(encoding), encoder = new codec.encoder(options, codec); + if (codec.bomAware && options && options.addBOM) + encoder = new bomHandling.PrependBOM(encoder, options); + return encoder; + }; + iconv.getDecoder = function getDecoder(encoding, options) { + var codec = iconv.getCodec(encoding), decoder = new codec.decoder(options, codec); + if (codec.bomAware && !(options && options.stripBOM === false)) + decoder = new bomHandling.StripBOM(decoder, options); + return decoder; + }; + iconv.enableStreamingAPI = function enableStreamingAPI(stream_module2) { + if (iconv.supportsStreams) + return; + var streams = require_streams2()(stream_module2); + iconv.IconvLiteEncoderStream = streams.IconvLiteEncoderStream; + iconv.IconvLiteDecoderStream = streams.IconvLiteDecoderStream; + iconv.encodeStream = function encodeStream(encoding, options) { + return new iconv.IconvLiteEncoderStream(iconv.getEncoder(encoding, options), options); + }; + iconv.decodeStream = function decodeStream(encoding, options) { + return new iconv.IconvLiteDecoderStream(iconv.getDecoder(encoding, options), options); + }; + iconv.supportsStreams = true; + }; + var stream_module; + try { + stream_module = require("stream"); + } catch (e) { + } + if (stream_module && stream_module.Transform) { + iconv.enableStreamingAPI(stream_module); + } else { + iconv.encodeStream = iconv.decodeStream = function() { + throw new Error("iconv-lite Streaming API is not enabled. Use iconv.enableStreamingAPI(require('stream')); to enable it."); + }; + } + if (false) { + console.error("iconv-lite warning: js files use non-utf8 encoding. See https://github.com/ashtuchkin/iconv-lite/wiki/Javascript-source-file-encodings for more info."); + } + } +}); +var require_read = __commonJS2({ + "node_modules/body-parser/lib/read.js"(exports2, module2) { + "use strict"; + var createError = require_http_errors(); + var getBody = require_raw_body(); + var iconv = require_lib2(); + var onFinished = require_on_finished(); + var zlib = require("node:zlib"); + module2.exports = read; + function read(req, res, next, parse, debug, options) { + var length; + var opts = options; + var stream; + var encoding = opts.encoding !== null ? opts.encoding : null; + var verify = opts.verify; + try { + stream = contentstream(req, debug, opts.inflate); + length = stream.length; + stream.length = void 0; + } catch (err2) { + return next(err2); + } + opts.length = length; + opts.encoding = verify ? null : encoding; + if (opts.encoding === null && encoding !== null && !iconv.encodingExists(encoding)) { + return next(createError(415, 'unsupported charset "' + encoding.toUpperCase() + '"', { + charset: encoding.toLowerCase(), + type: "charset.unsupported" + })); + } + debug("read body"); + getBody(stream, opts, function(error, body) { + if (error) { + var _error; + if (error.type === "encoding.unsupported") { + _error = createError(415, 'unsupported charset "' + encoding.toUpperCase() + '"', { + charset: encoding.toLowerCase(), + type: "charset.unsupported" + }); + } else { + _error = createError(400, error); + } + if (stream !== req) { + req.unpipe(); + stream.destroy(); + } + dump(req, function onfinished() { + next(createError(400, _error)); + }); + return; + } + if (verify) { + try { + debug("verify body"); + verify(req, res, body, encoding); + } catch (err2) { + next(createError(403, err2, { + body, + type: err2.type || "entity.verify.failed" + })); + return; + } + } + var str = body; + try { + debug("parse body"); + str = typeof body !== "string" && encoding !== null ? iconv.decode(body, encoding) : body; + req.body = parse(str, encoding); + } catch (err2) { + next(createError(400, err2, { + body: str, + type: err2.type || "entity.parse.failed" + })); + return; + } + next(); + }); + } + function contentstream(req, debug, inflate) { + var encoding = (req.headers["content-encoding"] || "identity").toLowerCase(); + var length = req.headers["content-length"]; + debug('content-encoding "%s"', encoding); + if (inflate === false && encoding !== "identity") { + throw createError(415, "content encoding unsupported", { + encoding, + type: "encoding.unsupported" + }); + } + if (encoding === "identity") { + req.length = length; + return req; + } + var stream = createDecompressionStream(encoding, debug); + req.pipe(stream); + return stream; + } + function createDecompressionStream(encoding, debug) { + switch (encoding) { + case "deflate": + debug("inflate body"); + return zlib.createInflate(); + case "gzip": + debug("gunzip body"); + return zlib.createGunzip(); + case "br": + debug("brotli decompress body"); + return zlib.createBrotliDecompress(); + default: + throw createError(415, 'unsupported content encoding "' + encoding + '"', { + encoding, + type: "encoding.unsupported" + }); + } + } + function dump(req, callback) { + if (onFinished.isFinished(req)) { + callback(null); + } else { + onFinished(req, callback); + req.resume(); + } + } + } +}); +var require_db = __commonJS2({ + "node_modules/type-is/node_modules/mime-db/db.json"(exports2, module2) { + module2.exports = { + "application/1d-interleaved-parityfec": { + source: "iana" + }, + "application/3gpdash-qoe-report+xml": { + source: "iana", + charset: "UTF-8", + compressible: true + }, + "application/3gpp-ims+xml": { + source: "iana", + compressible: true + }, + "application/3gpphal+json": { + source: "iana", + compressible: true + }, + "application/3gpphalforms+json": { + source: "iana", + compressible: true + }, + "application/a2l": { + source: "iana" + }, + "application/ace+cbor": { + source: "iana" + }, + "application/ace+json": { + source: "iana", + compressible: true + }, + "application/ace-groupcomm+cbor": { + source: "iana" + }, + "application/ace-trl+cbor": { + source: "iana" + }, + "application/activemessage": { + source: "iana" + }, + "application/activity+json": { + source: "iana", + compressible: true + }, + "application/aif+cbor": { + source: "iana" + }, + "application/aif+json": { + source: "iana", + compressible: true + }, + "application/alto-cdni+json": { + source: "iana", + compressible: true + }, + "application/alto-cdnifilter+json": { + source: "iana", + compressible: true + }, + "application/alto-costmap+json": { + source: "iana", + compressible: true + }, + "application/alto-costmapfilter+json": { + source: "iana", + compressible: true + }, + "application/alto-directory+json": { + source: "iana", + compressible: true + }, + "application/alto-endpointcost+json": { + source: "iana", + compressible: true + }, + "application/alto-endpointcostparams+json": { + source: "iana", + compressible: true + }, + "application/alto-endpointprop+json": { + source: "iana", + compressible: true + }, + "application/alto-endpointpropparams+json": { + source: "iana", + compressible: true + }, + "application/alto-error+json": { + source: "iana", + compressible: true + }, + "application/alto-networkmap+json": { + source: "iana", + compressible: true + }, + "application/alto-networkmapfilter+json": { + source: "iana", + compressible: true + }, + "application/alto-propmap+json": { + source: "iana", + compressible: true + }, + "application/alto-propmapparams+json": { + source: "iana", + compressible: true + }, + "application/alto-tips+json": { + source: "iana", + compressible: true + }, + "application/alto-tipsparams+json": { + source: "iana", + compressible: true + }, + "application/alto-updatestreamcontrol+json": { + source: "iana", + compressible: true + }, + "application/alto-updatestreamparams+json": { + source: "iana", + compressible: true + }, + "application/aml": { + source: "iana" + }, + "application/andrew-inset": { + source: "iana", + extensions: ["ez"] + }, + "application/appinstaller": { + compressible: false, + extensions: ["appinstaller"] + }, + "application/applefile": { + source: "iana" + }, + "application/applixware": { + source: "apache", + extensions: ["aw"] + }, + "application/appx": { + compressible: false, + extensions: ["appx"] + }, + "application/appxbundle": { + compressible: false, + extensions: ["appxbundle"] + }, + "application/at+jwt": { + source: "iana" + }, + "application/atf": { + source: "iana" + }, + "application/atfx": { + source: "iana" + }, + "application/atom+xml": { + source: "iana", + compressible: true, + extensions: ["atom"] + }, + "application/atomcat+xml": { + source: "iana", + compressible: true, + extensions: ["atomcat"] + }, + "application/atomdeleted+xml": { + source: "iana", + compressible: true, + extensions: ["atomdeleted"] + }, + "application/atomicmail": { + source: "iana" + }, + "application/atomsvc+xml": { + source: "iana", + compressible: true, + extensions: ["atomsvc"] + }, + "application/atsc-dwd+xml": { + source: "iana", + compressible: true, + extensions: ["dwd"] + }, + "application/atsc-dynamic-event-message": { + source: "iana" + }, + "application/atsc-held+xml": { + source: "iana", + compressible: true, + extensions: ["held"] + }, + "application/atsc-rdt+json": { + source: "iana", + compressible: true + }, + "application/atsc-rsat+xml": { + source: "iana", + compressible: true, + extensions: ["rsat"] + }, + "application/atxml": { + source: "iana" + }, + "application/auth-policy+xml": { + source: "iana", + compressible: true + }, + "application/automationml-aml+xml": { + source: "iana", + compressible: true, + extensions: ["aml"] + }, + "application/automationml-amlx+zip": { + source: "iana", + compressible: false, + extensions: ["amlx"] + }, + "application/bacnet-xdd+zip": { + source: "iana", + compressible: false + }, + "application/batch-smtp": { + source: "iana" + }, + "application/bdoc": { + compressible: false, + extensions: ["bdoc"] + }, + "application/beep+xml": { + source: "iana", + charset: "UTF-8", + compressible: true + }, + "application/bufr": { + source: "iana" + }, + "application/c2pa": { + source: "iana" + }, + "application/calendar+json": { + source: "iana", + compressible: true + }, + "application/calendar+xml": { + source: "iana", + compressible: true, + extensions: ["xcs"] + }, + "application/call-completion": { + source: "iana" + }, + "application/cals-1840": { + source: "iana" + }, + "application/captive+json": { + source: "iana", + compressible: true + }, + "application/cbor": { + source: "iana" + }, + "application/cbor-seq": { + source: "iana" + }, + "application/cccex": { + source: "iana" + }, + "application/ccmp+xml": { + source: "iana", + compressible: true + }, + "application/ccxml+xml": { + source: "iana", + compressible: true, + extensions: ["ccxml"] + }, + "application/cda+xml": { + source: "iana", + charset: "UTF-8", + compressible: true + }, + "application/cdfx+xml": { + source: "iana", + compressible: true, + extensions: ["cdfx"] + }, + "application/cdmi-capability": { + source: "iana", + extensions: ["cdmia"] + }, + "application/cdmi-container": { + source: "iana", + extensions: ["cdmic"] + }, + "application/cdmi-domain": { + source: "iana", + extensions: ["cdmid"] + }, + "application/cdmi-object": { + source: "iana", + extensions: ["cdmio"] + }, + "application/cdmi-queue": { + source: "iana", + extensions: ["cdmiq"] + }, + "application/cdni": { + source: "iana" + }, + "application/ce+cbor": { + source: "iana" + }, + "application/cea": { + source: "iana" + }, + "application/cea-2018+xml": { + source: "iana", + compressible: true + }, + "application/cellml+xml": { + source: "iana", + compressible: true + }, + "application/cfw": { + source: "iana" + }, + "application/cid-edhoc+cbor-seq": { + source: "iana" + }, + "application/city+json": { + source: "iana", + compressible: true + }, + "application/city+json-seq": { + source: "iana" + }, + "application/clr": { + source: "iana" + }, + "application/clue+xml": { + source: "iana", + compressible: true + }, + "application/clue_info+xml": { + source: "iana", + compressible: true + }, + "application/cms": { + source: "iana" + }, + "application/cnrp+xml": { + source: "iana", + compressible: true + }, + "application/coap-eap": { + source: "iana" + }, + "application/coap-group+json": { + source: "iana", + compressible: true + }, + "application/coap-payload": { + source: "iana" + }, + "application/commonground": { + source: "iana" + }, + "application/concise-problem-details+cbor": { + source: "iana" + }, + "application/conference-info+xml": { + source: "iana", + compressible: true + }, + "application/cose": { + source: "iana" + }, + "application/cose-key": { + source: "iana" + }, + "application/cose-key-set": { + source: "iana" + }, + "application/cose-x509": { + source: "iana" + }, + "application/cpl+xml": { + source: "iana", + compressible: true, + extensions: ["cpl"] + }, + "application/csrattrs": { + source: "iana" + }, + "application/csta+xml": { + source: "iana", + compressible: true + }, + "application/cstadata+xml": { + source: "iana", + compressible: true + }, + "application/csvm+json": { + source: "iana", + compressible: true + }, + "application/cu-seeme": { + source: "apache", + extensions: ["cu"] + }, + "application/cwl": { + source: "iana", + extensions: ["cwl"] + }, + "application/cwl+json": { + source: "iana", + compressible: true + }, + "application/cwl+yaml": { + source: "iana" + }, + "application/cwt": { + source: "iana" + }, + "application/cybercash": { + source: "iana" + }, + "application/dart": { + compressible: true + }, + "application/dash+xml": { + source: "iana", + compressible: true, + extensions: ["mpd"] + }, + "application/dash-patch+xml": { + source: "iana", + compressible: true, + extensions: ["mpp"] + }, + "application/dashdelta": { + source: "iana" + }, + "application/davmount+xml": { + source: "iana", + compressible: true, + extensions: ["davmount"] + }, + "application/dca-rft": { + source: "iana" + }, + "application/dcd": { + source: "iana" + }, + "application/dec-dx": { + source: "iana" + }, + "application/dialog-info+xml": { + source: "iana", + compressible: true + }, + "application/dicom": { + source: "iana", + extensions: ["dcm"] + }, + "application/dicom+json": { + source: "iana", + compressible: true + }, + "application/dicom+xml": { + source: "iana", + compressible: true + }, + "application/dii": { + source: "iana" + }, + "application/dit": { + source: "iana" + }, + "application/dns": { + source: "iana" + }, + "application/dns+json": { + source: "iana", + compressible: true + }, + "application/dns-message": { + source: "iana" + }, + "application/docbook+xml": { + source: "apache", + compressible: true, + extensions: ["dbk"] + }, + "application/dots+cbor": { + source: "iana" + }, + "application/dpop+jwt": { + source: "iana" + }, + "application/dskpp+xml": { + source: "iana", + compressible: true + }, + "application/dssc+der": { + source: "iana", + extensions: ["dssc"] + }, + "application/dssc+xml": { + source: "iana", + compressible: true, + extensions: ["xdssc"] + }, + "application/dvcs": { + source: "iana" + }, + "application/eat+cwt": { + source: "iana" + }, + "application/eat+jwt": { + source: "iana" + }, + "application/eat-bun+cbor": { + source: "iana" + }, + "application/eat-bun+json": { + source: "iana", + compressible: true + }, + "application/eat-ucs+cbor": { + source: "iana" + }, + "application/eat-ucs+json": { + source: "iana", + compressible: true + }, + "application/ecmascript": { + source: "apache", + compressible: true, + extensions: ["ecma"] + }, + "application/edhoc+cbor-seq": { + source: "iana" + }, + "application/edi-consent": { + source: "iana" + }, + "application/edi-x12": { + source: "iana", + compressible: false + }, + "application/edifact": { + source: "iana", + compressible: false + }, + "application/efi": { + source: "iana" + }, + "application/elm+json": { + source: "iana", + charset: "UTF-8", + compressible: true + }, + "application/elm+xml": { + source: "iana", + compressible: true + }, + "application/emergencycalldata.cap+xml": { + source: "iana", + charset: "UTF-8", + compressible: true + }, + "application/emergencycalldata.comment+xml": { + source: "iana", + compressible: true + }, + "application/emergencycalldata.control+xml": { + source: "iana", + compressible: true + }, + "application/emergencycalldata.deviceinfo+xml": { + source: "iana", + compressible: true + }, + "application/emergencycalldata.ecall.msd": { + source: "iana" + }, + "application/emergencycalldata.legacyesn+json": { + source: "iana", + compressible: true + }, + "application/emergencycalldata.providerinfo+xml": { + source: "iana", + compressible: true + }, + "application/emergencycalldata.serviceinfo+xml": { + source: "iana", + compressible: true + }, + "application/emergencycalldata.subscriberinfo+xml": { + source: "iana", + compressible: true + }, + "application/emergencycalldata.veds+xml": { + source: "iana", + compressible: true + }, + "application/emma+xml": { + source: "iana", + compressible: true, + extensions: ["emma"] + }, + "application/emotionml+xml": { + source: "iana", + compressible: true, + extensions: ["emotionml"] + }, + "application/encaprtp": { + source: "iana" + }, + "application/entity-statement+jwt": { + source: "iana" + }, + "application/epp+xml": { + source: "iana", + compressible: true + }, + "application/epub+zip": { + source: "iana", + compressible: false, + extensions: ["epub"] + }, + "application/eshop": { + source: "iana" + }, + "application/exi": { + source: "iana", + extensions: ["exi"] + }, + "application/expect-ct-report+json": { + source: "iana", + compressible: true + }, + "application/express": { + source: "iana", + extensions: ["exp"] + }, + "application/fastinfoset": { + source: "iana" + }, + "application/fastsoap": { + source: "iana" + }, + "application/fdf": { + source: "iana", + extensions: ["fdf"] + }, + "application/fdt+xml": { + source: "iana", + compressible: true, + extensions: ["fdt"] + }, + "application/fhir+json": { + source: "iana", + charset: "UTF-8", + compressible: true + }, + "application/fhir+xml": { + source: "iana", + charset: "UTF-8", + compressible: true + }, + "application/fido.trusted-apps+json": { + compressible: true + }, + "application/fits": { + source: "iana" + }, + "application/flexfec": { + source: "iana" + }, + "application/font-sfnt": { + source: "iana" + }, + "application/font-tdpfr": { + source: "iana", + extensions: ["pfr"] + }, + "application/font-woff": { + source: "iana", + compressible: false + }, + "application/framework-attributes+xml": { + source: "iana", + compressible: true + }, + "application/geo+json": { + source: "iana", + compressible: true, + extensions: ["geojson"] + }, + "application/geo+json-seq": { + source: "iana" + }, + "application/geopackage+sqlite3": { + source: "iana" + }, + "application/geopose+json": { + source: "iana", + compressible: true + }, + "application/geoxacml+json": { + source: "iana", + compressible: true + }, + "application/geoxacml+xml": { + source: "iana", + compressible: true + }, + "application/gltf-buffer": { + source: "iana" + }, + "application/gml+xml": { + source: "iana", + compressible: true, + extensions: ["gml"] + }, + "application/gnap-binding-jws": { + source: "iana" + }, + "application/gnap-binding-jwsd": { + source: "iana" + }, + "application/gnap-binding-rotation-jws": { + source: "iana" + }, + "application/gnap-binding-rotation-jwsd": { + source: "iana" + }, + "application/gpx+xml": { + source: "apache", + compressible: true, + extensions: ["gpx"] + }, + "application/grib": { + source: "iana" + }, + "application/gxf": { + source: "apache", + extensions: ["gxf"] + }, + "application/gzip": { + source: "iana", + compressible: false, + extensions: ["gz"] + }, + "application/h224": { + source: "iana" + }, + "application/held+xml": { + source: "iana", + compressible: true + }, + "application/hjson": { + extensions: ["hjson"] + }, + "application/hl7v2+xml": { + source: "iana", + charset: "UTF-8", + compressible: true + }, + "application/http": { + source: "iana" + }, + "application/hyperstudio": { + source: "iana", + extensions: ["stk"] + }, + "application/ibe-key-request+xml": { + source: "iana", + compressible: true + }, + "application/ibe-pkg-reply+xml": { + source: "iana", + compressible: true + }, + "application/ibe-pp-data": { + source: "iana" + }, + "application/iges": { + source: "iana" + }, + "application/im-iscomposing+xml": { + source: "iana", + charset: "UTF-8", + compressible: true + }, + "application/index": { + source: "iana" + }, + "application/index.cmd": { + source: "iana" + }, + "application/index.obj": { + source: "iana" + }, + "application/index.response": { + source: "iana" + }, + "application/index.vnd": { + source: "iana" + }, + "application/inkml+xml": { + source: "iana", + compressible: true, + extensions: ["ink", "inkml"] + }, + "application/iotp": { + source: "iana" + }, + "application/ipfix": { + source: "iana", + extensions: ["ipfix"] + }, + "application/ipp": { + source: "iana" + }, + "application/isup": { + source: "iana" + }, + "application/its+xml": { + source: "iana", + compressible: true, + extensions: ["its"] + }, + "application/java-archive": { + source: "iana", + compressible: false, + extensions: ["jar", "war", "ear"] + }, + "application/java-serialized-object": { + source: "apache", + compressible: false, + extensions: ["ser"] + }, + "application/java-vm": { + source: "apache", + compressible: false, + extensions: ["class"] + }, + "application/javascript": { + source: "apache", + charset: "UTF-8", + compressible: true, + extensions: ["js"] + }, + "application/jf2feed+json": { + source: "iana", + compressible: true + }, + "application/jose": { + source: "iana" + }, + "application/jose+json": { + source: "iana", + compressible: true + }, + "application/jrd+json": { + source: "iana", + compressible: true + }, + "application/jscalendar+json": { + source: "iana", + compressible: true + }, + "application/jscontact+json": { + source: "iana", + compressible: true + }, + "application/json": { + source: "iana", + charset: "UTF-8", + compressible: true, + extensions: ["json", "map"] + }, + "application/json-patch+json": { + source: "iana", + compressible: true + }, + "application/json-seq": { + source: "iana" + }, + "application/json5": { + extensions: ["json5"] + }, + "application/jsonml+json": { + source: "apache", + compressible: true, + extensions: ["jsonml"] + }, + "application/jsonpath": { + source: "iana" + }, + "application/jwk+json": { + source: "iana", + compressible: true + }, + "application/jwk-set+json": { + source: "iana", + compressible: true + }, + "application/jwk-set+jwt": { + source: "iana" + }, + "application/jwt": { + source: "iana" + }, + "application/kpml-request+xml": { + source: "iana", + compressible: true + }, + "application/kpml-response+xml": { + source: "iana", + compressible: true + }, + "application/ld+json": { + source: "iana", + compressible: true, + extensions: ["jsonld"] + }, + "application/lgr+xml": { + source: "iana", + compressible: true, + extensions: ["lgr"] + }, + "application/link-format": { + source: "iana" + }, + "application/linkset": { + source: "iana" + }, + "application/linkset+json": { + source: "iana", + compressible: true + }, + "application/load-control+xml": { + source: "iana", + compressible: true + }, + "application/logout+jwt": { + source: "iana" + }, + "application/lost+xml": { + source: "iana", + compressible: true, + extensions: ["lostxml"] + }, + "application/lostsync+xml": { + source: "iana", + compressible: true + }, + "application/lpf+zip": { + source: "iana", + compressible: false + }, + "application/lxf": { + source: "iana" + }, + "application/mac-binhex40": { + source: "iana", + extensions: ["hqx"] + }, + "application/mac-compactpro": { + source: "apache", + extensions: ["cpt"] + }, + "application/macwriteii": { + source: "iana" + }, + "application/mads+xml": { + source: "iana", + compressible: true, + extensions: ["mads"] + }, + "application/manifest+json": { + source: "iana", + charset: "UTF-8", + compressible: true, + extensions: ["webmanifest"] + }, + "application/marc": { + source: "iana", + extensions: ["mrc"] + }, + "application/marcxml+xml": { + source: "iana", + compressible: true, + extensions: ["mrcx"] + }, + "application/mathematica": { + source: "iana", + extensions: ["ma", "nb", "mb"] + }, + "application/mathml+xml": { + source: "iana", + compressible: true, + extensions: ["mathml"] + }, + "application/mathml-content+xml": { + source: "iana", + compressible: true + }, + "application/mathml-presentation+xml": { + source: "iana", + compressible: true + }, + "application/mbms-associated-procedure-description+xml": { + source: "iana", + compressible: true + }, + "application/mbms-deregister+xml": { + source: "iana", + compressible: true + }, + "application/mbms-envelope+xml": { + source: "iana", + compressible: true + }, + "application/mbms-msk+xml": { + source: "iana", + compressible: true + }, + "application/mbms-msk-response+xml": { + source: "iana", + compressible: true + }, + "application/mbms-protection-description+xml": { + source: "iana", + compressible: true + }, + "application/mbms-reception-report+xml": { + source: "iana", + compressible: true + }, + "application/mbms-register+xml": { + source: "iana", + compressible: true + }, + "application/mbms-register-response+xml": { + source: "iana", + compressible: true + }, + "application/mbms-schedule+xml": { + source: "iana", + compressible: true + }, + "application/mbms-user-service-description+xml": { + source: "iana", + compressible: true + }, + "application/mbox": { + source: "iana", + extensions: ["mbox"] + }, + "application/media-policy-dataset+xml": { + source: "iana", + compressible: true, + extensions: ["mpf"] + }, + "application/media_control+xml": { + source: "iana", + compressible: true + }, + "application/mediaservercontrol+xml": { + source: "iana", + compressible: true, + extensions: ["mscml"] + }, + "application/merge-patch+json": { + source: "iana", + compressible: true + }, + "application/metalink+xml": { + source: "apache", + compressible: true, + extensions: ["metalink"] + }, + "application/metalink4+xml": { + source: "iana", + compressible: true, + extensions: ["meta4"] + }, + "application/mets+xml": { + source: "iana", + compressible: true, + extensions: ["mets"] + }, + "application/mf4": { + source: "iana" + }, + "application/mikey": { + source: "iana" + }, + "application/mipc": { + source: "iana" + }, + "application/missing-blocks+cbor-seq": { + source: "iana" + }, + "application/mmt-aei+xml": { + source: "iana", + compressible: true, + extensions: ["maei"] + }, + "application/mmt-usd+xml": { + source: "iana", + compressible: true, + extensions: ["musd"] + }, + "application/mods+xml": { + source: "iana", + compressible: true, + extensions: ["mods"] + }, + "application/moss-keys": { + source: "iana" + }, + "application/moss-signature": { + source: "iana" + }, + "application/mosskey-data": { + source: "iana" + }, + "application/mosskey-request": { + source: "iana" + }, + "application/mp21": { + source: "iana", + extensions: ["m21", "mp21"] + }, + "application/mp4": { + source: "iana", + extensions: ["mp4", "mpg4", "mp4s", "m4p"] + }, + "application/mpeg4-generic": { + source: "iana" + }, + "application/mpeg4-iod": { + source: "iana" + }, + "application/mpeg4-iod-xmt": { + source: "iana" + }, + "application/mrb-consumer+xml": { + source: "iana", + compressible: true + }, + "application/mrb-publish+xml": { + source: "iana", + compressible: true + }, + "application/msc-ivr+xml": { + source: "iana", + charset: "UTF-8", + compressible: true + }, + "application/msc-mixer+xml": { + source: "iana", + charset: "UTF-8", + compressible: true + }, + "application/msix": { + compressible: false, + extensions: ["msix"] + }, + "application/msixbundle": { + compressible: false, + extensions: ["msixbundle"] + }, + "application/msword": { + source: "iana", + compressible: false, + extensions: ["doc", "dot"] + }, + "application/mud+json": { + source: "iana", + compressible: true + }, + "application/multipart-core": { + source: "iana" + }, + "application/mxf": { + source: "iana", + extensions: ["mxf"] + }, + "application/n-quads": { + source: "iana", + extensions: ["nq"] + }, + "application/n-triples": { + source: "iana", + extensions: ["nt"] + }, + "application/nasdata": { + source: "iana" + }, + "application/news-checkgroups": { + source: "iana", + charset: "US-ASCII" + }, + "application/news-groupinfo": { + source: "iana", + charset: "US-ASCII" + }, + "application/news-transmission": { + source: "iana" + }, + "application/nlsml+xml": { + source: "iana", + compressible: true + }, + "application/node": { + source: "iana", + extensions: ["cjs"] + }, + "application/nss": { + source: "iana" + }, + "application/oauth-authz-req+jwt": { + source: "iana" + }, + "application/oblivious-dns-message": { + source: "iana" + }, + "application/ocsp-request": { + source: "iana" + }, + "application/ocsp-response": { + source: "iana" + }, + "application/octet-stream": { + source: "iana", + compressible: true, + extensions: ["bin", "dms", "lrf", "mar", "so", "dist", "distz", "pkg", "bpk", "dump", "elc", "deploy", "exe", "dll", "deb", "dmg", "iso", "img", "msi", "msp", "msm", "buffer"] + }, + "application/oda": { + source: "iana", + extensions: ["oda"] + }, + "application/odm+xml": { + source: "iana", + compressible: true + }, + "application/odx": { + source: "iana" + }, + "application/oebps-package+xml": { + source: "iana", + compressible: true, + extensions: ["opf"] + }, + "application/ogg": { + source: "iana", + compressible: false, + extensions: ["ogx"] + }, + "application/ohttp-keys": { + source: "iana" + }, + "application/omdoc+xml": { + source: "apache", + compressible: true, + extensions: ["omdoc"] + }, + "application/onenote": { + source: "apache", + extensions: ["onetoc", "onetoc2", "onetmp", "onepkg", "one", "onea"] + }, + "application/opc-nodeset+xml": { + source: "iana", + compressible: true + }, + "application/oscore": { + source: "iana" + }, + "application/oxps": { + source: "iana", + extensions: ["oxps"] + }, + "application/p21": { + source: "iana" + }, + "application/p21+zip": { + source: "iana", + compressible: false + }, + "application/p2p-overlay+xml": { + source: "iana", + compressible: true, + extensions: ["relo"] + }, + "application/parityfec": { + source: "iana" + }, + "application/passport": { + source: "iana" + }, + "application/patch-ops-error+xml": { + source: "iana", + compressible: true, + extensions: ["xer"] + }, + "application/pdf": { + source: "iana", + compressible: false, + extensions: ["pdf"] + }, + "application/pdx": { + source: "iana" + }, + "application/pem-certificate-chain": { + source: "iana" + }, + "application/pgp-encrypted": { + source: "iana", + compressible: false, + extensions: ["pgp"] + }, + "application/pgp-keys": { + source: "iana", + extensions: ["asc"] + }, + "application/pgp-signature": { + source: "iana", + extensions: ["sig", "asc"] + }, + "application/pics-rules": { + source: "apache", + extensions: ["prf"] + }, + "application/pidf+xml": { + source: "iana", + charset: "UTF-8", + compressible: true + }, + "application/pidf-diff+xml": { + source: "iana", + charset: "UTF-8", + compressible: true + }, + "application/pkcs10": { + source: "iana", + extensions: ["p10"] + }, + "application/pkcs12": { + source: "iana" + }, + "application/pkcs7-mime": { + source: "iana", + extensions: ["p7m", "p7c"] + }, + "application/pkcs7-signature": { + source: "iana", + extensions: ["p7s"] + }, + "application/pkcs8": { + source: "iana", + extensions: ["p8"] + }, + "application/pkcs8-encrypted": { + source: "iana" + }, + "application/pkix-attr-cert": { + source: "iana", + extensions: ["ac"] + }, + "application/pkix-cert": { + source: "iana", + extensions: ["cer"] + }, + "application/pkix-crl": { + source: "iana", + extensions: ["crl"] + }, + "application/pkix-pkipath": { + source: "iana", + extensions: ["pkipath"] + }, + "application/pkixcmp": { + source: "iana", + extensions: ["pki"] + }, + "application/pls+xml": { + source: "iana", + compressible: true, + extensions: ["pls"] + }, + "application/poc-settings+xml": { + source: "iana", + charset: "UTF-8", + compressible: true + }, + "application/postscript": { + source: "iana", + compressible: true, + extensions: ["ai", "eps", "ps"] + }, + "application/ppsp-tracker+json": { + source: "iana", + compressible: true + }, + "application/private-token-issuer-directory": { + source: "iana" + }, + "application/private-token-request": { + source: "iana" + }, + "application/private-token-response": { + source: "iana" + }, + "application/problem+json": { + source: "iana", + compressible: true + }, + "application/problem+xml": { + source: "iana", + compressible: true + }, + "application/provenance+xml": { + source: "iana", + compressible: true, + extensions: ["provx"] + }, + "application/provided-claims+jwt": { + source: "iana" + }, + "application/prs.alvestrand.titrax-sheet": { + source: "iana" + }, + "application/prs.cww": { + source: "iana", + extensions: ["cww"] + }, + "application/prs.cyn": { + source: "iana", + charset: "7-BIT" + }, + "application/prs.hpub+zip": { + source: "iana", + compressible: false + }, + "application/prs.implied-document+xml": { + source: "iana", + compressible: true + }, + "application/prs.implied-executable": { + source: "iana" + }, + "application/prs.implied-object+json": { + source: "iana", + compressible: true + }, + "application/prs.implied-object+json-seq": { + source: "iana" + }, + "application/prs.implied-object+yaml": { + source: "iana" + }, + "application/prs.implied-structure": { + source: "iana" + }, + "application/prs.mayfile": { + source: "iana" + }, + "application/prs.nprend": { + source: "iana" + }, + "application/prs.plucker": { + source: "iana" + }, + "application/prs.rdf-xml-crypt": { + source: "iana" + }, + "application/prs.vcfbzip2": { + source: "iana" + }, + "application/prs.xsf+xml": { + source: "iana", + compressible: true, + extensions: ["xsf"] + }, + "application/pskc+xml": { + source: "iana", + compressible: true, + extensions: ["pskcxml"] + }, + "application/pvd+json": { + source: "iana", + compressible: true + }, + "application/qsig": { + source: "iana" + }, + "application/raml+yaml": { + compressible: true, + extensions: ["raml"] + }, + "application/raptorfec": { + source: "iana" + }, + "application/rdap+json": { + source: "iana", + compressible: true + }, + "application/rdf+xml": { + source: "iana", + compressible: true, + extensions: ["rdf", "owl"] + }, + "application/reginfo+xml": { + source: "iana", + compressible: true, + extensions: ["rif"] + }, + "application/relax-ng-compact-syntax": { + source: "iana", + extensions: ["rnc"] + }, + "application/remote-printing": { + source: "apache" + }, + "application/reputon+json": { + source: "iana", + compressible: true + }, + "application/resolve-response+jwt": { + source: "iana" + }, + "application/resource-lists+xml": { + source: "iana", + compressible: true, + extensions: ["rl"] + }, + "application/resource-lists-diff+xml": { + source: "iana", + compressible: true, + extensions: ["rld"] + }, + "application/rfc+xml": { + source: "iana", + compressible: true + }, + "application/riscos": { + source: "iana" + }, + "application/rlmi+xml": { + source: "iana", + compressible: true + }, + "application/rls-services+xml": { + source: "iana", + compressible: true, + extensions: ["rs"] + }, + "application/route-apd+xml": { + source: "iana", + compressible: true, + extensions: ["rapd"] + }, + "application/route-s-tsid+xml": { + source: "iana", + compressible: true, + extensions: ["sls"] + }, + "application/route-usd+xml": { + source: "iana", + compressible: true, + extensions: ["rusd"] + }, + "application/rpki-checklist": { + source: "iana" + }, + "application/rpki-ghostbusters": { + source: "iana", + extensions: ["gbr"] + }, + "application/rpki-manifest": { + source: "iana", + extensions: ["mft"] + }, + "application/rpki-publication": { + source: "iana" + }, + "application/rpki-roa": { + source: "iana", + extensions: ["roa"] + }, + "application/rpki-signed-tal": { + source: "iana" + }, + "application/rpki-updown": { + source: "iana" + }, + "application/rsd+xml": { + source: "apache", + compressible: true, + extensions: ["rsd"] + }, + "application/rss+xml": { + source: "apache", + compressible: true, + extensions: ["rss"] + }, + "application/rtf": { + source: "iana", + compressible: true, + extensions: ["rtf"] + }, + "application/rtploopback": { + source: "iana" + }, + "application/rtx": { + source: "iana" + }, + "application/samlassertion+xml": { + source: "iana", + compressible: true + }, + "application/samlmetadata+xml": { + source: "iana", + compressible: true + }, + "application/sarif+json": { + source: "iana", + compressible: true + }, + "application/sarif-external-properties+json": { + source: "iana", + compressible: true + }, + "application/sbe": { + source: "iana" + }, + "application/sbml+xml": { + source: "iana", + compressible: true, + extensions: ["sbml"] + }, + "application/scaip+xml": { + source: "iana", + compressible: true + }, + "application/scim+json": { + source: "iana", + compressible: true + }, + "application/scvp-cv-request": { + source: "iana", + extensions: ["scq"] + }, + "application/scvp-cv-response": { + source: "iana", + extensions: ["scs"] + }, + "application/scvp-vp-request": { + source: "iana", + extensions: ["spq"] + }, + "application/scvp-vp-response": { + source: "iana", + extensions: ["spp"] + }, + "application/sdp": { + source: "iana", + extensions: ["sdp"] + }, + "application/secevent+jwt": { + source: "iana" + }, + "application/senml+cbor": { + source: "iana" + }, + "application/senml+json": { + source: "iana", + compressible: true + }, + "application/senml+xml": { + source: "iana", + compressible: true, + extensions: ["senmlx"] + }, + "application/senml-etch+cbor": { + source: "iana" + }, + "application/senml-etch+json": { + source: "iana", + compressible: true + }, + "application/senml-exi": { + source: "iana" + }, + "application/sensml+cbor": { + source: "iana" + }, + "application/sensml+json": { + source: "iana", + compressible: true + }, + "application/sensml+xml": { + source: "iana", + compressible: true, + extensions: ["sensmlx"] + }, + "application/sensml-exi": { + source: "iana" + }, + "application/sep+xml": { + source: "iana", + compressible: true + }, + "application/sep-exi": { + source: "iana" + }, + "application/session-info": { + source: "iana" + }, + "application/set-payment": { + source: "iana" + }, + "application/set-payment-initiation": { + source: "iana", + extensions: ["setpay"] + }, + "application/set-registration": { + source: "iana" + }, + "application/set-registration-initiation": { + source: "iana", + extensions: ["setreg"] + }, + "application/sgml": { + source: "iana" + }, + "application/sgml-open-catalog": { + source: "iana" + }, + "application/shf+xml": { + source: "iana", + compressible: true, + extensions: ["shf"] + }, + "application/sieve": { + source: "iana", + extensions: ["siv", "sieve"] + }, + "application/simple-filter+xml": { + source: "iana", + compressible: true + }, + "application/simple-message-summary": { + source: "iana" + }, + "application/simplesymbolcontainer": { + source: "iana" + }, + "application/sipc": { + source: "iana" + }, + "application/slate": { + source: "iana" + }, + "application/smil": { + source: "apache" + }, + "application/smil+xml": { + source: "iana", + compressible: true, + extensions: ["smi", "smil"] + }, + "application/smpte336m": { + source: "iana" + }, + "application/soap+fastinfoset": { + source: "iana" + }, + "application/soap+xml": { + source: "iana", + compressible: true + }, + "application/sparql-query": { + source: "iana", + extensions: ["rq"] + }, + "application/sparql-results+xml": { + source: "iana", + compressible: true, + extensions: ["srx"] + }, + "application/spdx+json": { + source: "iana", + compressible: true + }, + "application/spirits-event+xml": { + source: "iana", + compressible: true + }, + "application/sql": { + source: "iana", + extensions: ["sql"] + }, + "application/srgs": { + source: "iana", + extensions: ["gram"] + }, + "application/srgs+xml": { + source: "iana", + compressible: true, + extensions: ["grxml"] + }, + "application/sru+xml": { + source: "iana", + compressible: true, + extensions: ["sru"] + }, + "application/ssdl+xml": { + source: "apache", + compressible: true, + extensions: ["ssdl"] + }, + "application/sslkeylogfile": { + source: "iana" + }, + "application/ssml+xml": { + source: "iana", + compressible: true, + extensions: ["ssml"] + }, + "application/st2110-41": { + source: "iana" + }, + "application/stix+json": { + source: "iana", + compressible: true + }, + "application/stratum": { + source: "iana" + }, + "application/swid+cbor": { + source: "iana" + }, + "application/swid+xml": { + source: "iana", + compressible: true, + extensions: ["swidtag"] + }, + "application/tamp-apex-update": { + source: "iana" + }, + "application/tamp-apex-update-confirm": { + source: "iana" + }, + "application/tamp-community-update": { + source: "iana" + }, + "application/tamp-community-update-confirm": { + source: "iana" + }, + "application/tamp-error": { + source: "iana" + }, + "application/tamp-sequence-adjust": { + source: "iana" + }, + "application/tamp-sequence-adjust-confirm": { + source: "iana" + }, + "application/tamp-status-query": { + source: "iana" + }, + "application/tamp-status-response": { + source: "iana" + }, + "application/tamp-update": { + source: "iana" + }, + "application/tamp-update-confirm": { + source: "iana" + }, + "application/tar": { + compressible: true + }, + "application/taxii+json": { + source: "iana", + compressible: true + }, + "application/td+json": { + source: "iana", + compressible: true + }, + "application/tei+xml": { + source: "iana", + compressible: true, + extensions: ["tei", "teicorpus"] + }, + "application/tetra_isi": { + source: "iana" + }, + "application/thraud+xml": { + source: "iana", + compressible: true, + extensions: ["tfi"] + }, + "application/timestamp-query": { + source: "iana" + }, + "application/timestamp-reply": { + source: "iana" + }, + "application/timestamped-data": { + source: "iana", + extensions: ["tsd"] + }, + "application/tlsrpt+gzip": { + source: "iana" + }, + "application/tlsrpt+json": { + source: "iana", + compressible: true + }, + "application/tm+json": { + source: "iana", + compressible: true + }, + "application/tnauthlist": { + source: "iana" + }, + "application/toc+cbor": { + source: "iana" + }, + "application/token-introspection+jwt": { + source: "iana" + }, + "application/toml": { + source: "iana", + compressible: true, + extensions: ["toml"] + }, + "application/trickle-ice-sdpfrag": { + source: "iana" + }, + "application/trig": { + source: "iana", + extensions: ["trig"] + }, + "application/trust-chain+json": { + source: "iana", + compressible: true + }, + "application/trust-mark+jwt": { + source: "iana" + }, + "application/trust-mark-delegation+jwt": { + source: "iana" + }, + "application/ttml+xml": { + source: "iana", + compressible: true, + extensions: ["ttml"] + }, + "application/tve-trigger": { + source: "iana" + }, + "application/tzif": { + source: "iana" + }, + "application/tzif-leap": { + source: "iana" + }, + "application/ubjson": { + compressible: false, + extensions: ["ubj"] + }, + "application/uccs+cbor": { + source: "iana" + }, + "application/ujcs+json": { + source: "iana", + compressible: true + }, + "application/ulpfec": { + source: "iana" + }, + "application/urc-grpsheet+xml": { + source: "iana", + compressible: true + }, + "application/urc-ressheet+xml": { + source: "iana", + compressible: true, + extensions: ["rsheet"] + }, + "application/urc-targetdesc+xml": { + source: "iana", + compressible: true, + extensions: ["td"] + }, + "application/urc-uisocketdesc+xml": { + source: "iana", + compressible: true + }, + "application/vc": { + source: "iana" + }, + "application/vc+cose": { + source: "iana" + }, + "application/vc+jwt": { + source: "iana" + }, + "application/vcard+json": { + source: "iana", + compressible: true + }, + "application/vcard+xml": { + source: "iana", + compressible: true + }, + "application/vemmi": { + source: "iana" + }, + "application/vividence.scriptfile": { + source: "apache" + }, + "application/vnd.1000minds.decision-model+xml": { + source: "iana", + compressible: true, + extensions: ["1km"] + }, + "application/vnd.1ob": { + source: "iana" + }, + "application/vnd.3gpp-prose+xml": { + source: "iana", + compressible: true + }, + "application/vnd.3gpp-prose-pc3a+xml": { + source: "iana", + compressible: true + }, + "application/vnd.3gpp-prose-pc3ach+xml": { + source: "iana", + compressible: true + }, + "application/vnd.3gpp-prose-pc3ch+xml": { + source: "iana", + compressible: true + }, + "application/vnd.3gpp-prose-pc8+xml": { + source: "iana", + compressible: true + }, + "application/vnd.3gpp-v2x-local-service-information": { + source: "iana" + }, + "application/vnd.3gpp.5gnas": { + source: "iana" + }, + "application/vnd.3gpp.5gsa2x": { + source: "iana" + }, + "application/vnd.3gpp.5gsa2x-local-service-information": { + source: "iana" + }, + "application/vnd.3gpp.5gsv2x": { + source: "iana" + }, + "application/vnd.3gpp.5gsv2x-local-service-information": { + source: "iana" + }, + "application/vnd.3gpp.access-transfer-events+xml": { + source: "iana", + compressible: true + }, + "application/vnd.3gpp.bsf+xml": { + source: "iana", + compressible: true + }, + "application/vnd.3gpp.crs+xml": { + source: "iana", + compressible: true + }, + "application/vnd.3gpp.current-location-discovery+xml": { + source: "iana", + compressible: true + }, + "application/vnd.3gpp.gmop+xml": { + source: "iana", + compressible: true + }, + "application/vnd.3gpp.gtpc": { + source: "iana" + }, + "application/vnd.3gpp.interworking-data": { + source: "iana" + }, + "application/vnd.3gpp.lpp": { + source: "iana" + }, + "application/vnd.3gpp.mc-signalling-ear": { + source: "iana" + }, + "application/vnd.3gpp.mcdata-affiliation-command+xml": { + source: "iana", + compressible: true + }, + "application/vnd.3gpp.mcdata-info+xml": { + source: "iana", + compressible: true + }, + "application/vnd.3gpp.mcdata-msgstore-ctrl-request+xml": { + source: "iana", + compressible: true + }, + "application/vnd.3gpp.mcdata-payload": { + source: "iana" + }, + "application/vnd.3gpp.mcdata-regroup+xml": { + source: "iana", + compressible: true + }, + "application/vnd.3gpp.mcdata-service-config+xml": { + source: "iana", + compressible: true + }, + "application/vnd.3gpp.mcdata-signalling": { + source: "iana" + }, + "application/vnd.3gpp.mcdata-ue-config+xml": { + source: "iana", + compressible: true + }, + "application/vnd.3gpp.mcdata-user-profile+xml": { + source: "iana", + compressible: true + }, + "application/vnd.3gpp.mcptt-affiliation-command+xml": { + source: "iana", + compressible: true + }, + "application/vnd.3gpp.mcptt-floor-request+xml": { + source: "iana", + compressible: true + }, + "application/vnd.3gpp.mcptt-info+xml": { + source: "iana", + compressible: true + }, + "application/vnd.3gpp.mcptt-location-info+xml": { + source: "iana", + compressible: true + }, + "application/vnd.3gpp.mcptt-mbms-usage-info+xml": { + source: "iana", + compressible: true + }, + "application/vnd.3gpp.mcptt-regroup+xml": { + source: "iana", + compressible: true + }, + "application/vnd.3gpp.mcptt-service-config+xml": { + source: "iana", + compressible: true + }, + "application/vnd.3gpp.mcptt-signed+xml": { + source: "iana", + compressible: true + }, + "application/vnd.3gpp.mcptt-ue-config+xml": { + source: "iana", + compressible: true + }, + "application/vnd.3gpp.mcptt-ue-init-config+xml": { + source: "iana", + compressible: true + }, + "application/vnd.3gpp.mcptt-user-profile+xml": { + source: "iana", + compressible: true + }, + "application/vnd.3gpp.mcvideo-affiliation-command+xml": { + source: "iana", + compressible: true + }, + "application/vnd.3gpp.mcvideo-info+xml": { + source: "iana", + compressible: true + }, + "application/vnd.3gpp.mcvideo-location-info+xml": { + source: "iana", + compressible: true + }, + "application/vnd.3gpp.mcvideo-mbms-usage-info+xml": { + source: "iana", + compressible: true + }, + "application/vnd.3gpp.mcvideo-regroup+xml": { + source: "iana", + compressible: true + }, + "application/vnd.3gpp.mcvideo-service-config+xml": { + source: "iana", + compressible: true + }, + "application/vnd.3gpp.mcvideo-transmission-request+xml": { + source: "iana", + compressible: true + }, + "application/vnd.3gpp.mcvideo-ue-config+xml": { + source: "iana", + compressible: true + }, + "application/vnd.3gpp.mcvideo-user-profile+xml": { + source: "iana", + compressible: true + }, + "application/vnd.3gpp.mid-call+xml": { + source: "iana", + compressible: true + }, + "application/vnd.3gpp.ngap": { + source: "iana" + }, + "application/vnd.3gpp.pfcp": { + source: "iana" + }, + "application/vnd.3gpp.pic-bw-large": { + source: "iana", + extensions: ["plb"] + }, + "application/vnd.3gpp.pic-bw-small": { + source: "iana", + extensions: ["psb"] + }, + "application/vnd.3gpp.pic-bw-var": { + source: "iana", + extensions: ["pvb"] + }, + "application/vnd.3gpp.pinapp-info+xml": { + source: "iana", + compressible: true + }, + "application/vnd.3gpp.s1ap": { + source: "iana" + }, + "application/vnd.3gpp.seal-group-doc+xml": { + source: "iana", + compressible: true + }, + "application/vnd.3gpp.seal-info+xml": { + source: "iana", + compressible: true + }, + "application/vnd.3gpp.seal-location-info+xml": { + source: "iana", + compressible: true + }, + "application/vnd.3gpp.seal-mbms-usage-info+xml": { + source: "iana", + compressible: true + }, + "application/vnd.3gpp.seal-network-qos-management-info+xml": { + source: "iana", + compressible: true + }, + "application/vnd.3gpp.seal-ue-config-info+xml": { + source: "iana", + compressible: true + }, + "application/vnd.3gpp.seal-unicast-info+xml": { + source: "iana", + compressible: true + }, + "application/vnd.3gpp.seal-user-profile-info+xml": { + source: "iana", + compressible: true + }, + "application/vnd.3gpp.sms": { + source: "iana" + }, + "application/vnd.3gpp.sms+xml": { + source: "iana", + compressible: true + }, + "application/vnd.3gpp.srvcc-ext+xml": { + source: "iana", + compressible: true + }, + "application/vnd.3gpp.srvcc-info+xml": { + source: "iana", + compressible: true + }, + "application/vnd.3gpp.state-and-event-info+xml": { + source: "iana", + compressible: true + }, + "application/vnd.3gpp.ussd+xml": { + source: "iana", + compressible: true + }, + "application/vnd.3gpp.v2x": { + source: "iana" + }, + "application/vnd.3gpp.vae-info+xml": { + source: "iana", + compressible: true + }, + "application/vnd.3gpp2.bcmcsinfo+xml": { + source: "iana", + compressible: true + }, + "application/vnd.3gpp2.sms": { + source: "iana" + }, + "application/vnd.3gpp2.tcap": { + source: "iana", + extensions: ["tcap"] + }, + "application/vnd.3lightssoftware.imagescal": { + source: "iana" + }, + "application/vnd.3m.post-it-notes": { + source: "iana", + extensions: ["pwn"] + }, + "application/vnd.accpac.simply.aso": { + source: "iana", + extensions: ["aso"] + }, + "application/vnd.accpac.simply.imp": { + source: "iana", + extensions: ["imp"] + }, + "application/vnd.acm.addressxfer+json": { + source: "iana", + compressible: true + }, + "application/vnd.acm.chatbot+json": { + source: "iana", + compressible: true + }, + "application/vnd.acucobol": { + source: "iana", + extensions: ["acu"] + }, + "application/vnd.acucorp": { + source: "iana", + extensions: ["atc", "acutc"] + }, + "application/vnd.adobe.air-application-installer-package+zip": { + source: "apache", + compressible: false, + extensions: ["air"] + }, + "application/vnd.adobe.flash.movie": { + source: "iana" + }, + "application/vnd.adobe.formscentral.fcdt": { + source: "iana", + extensions: ["fcdt"] + }, + "application/vnd.adobe.fxp": { + source: "iana", + extensions: ["fxp", "fxpl"] + }, + "application/vnd.adobe.partial-upload": { + source: "iana" + }, + "application/vnd.adobe.xdp+xml": { + source: "iana", + compressible: true, + extensions: ["xdp"] + }, + "application/vnd.adobe.xfdf": { + source: "apache", + extensions: ["xfdf"] + }, + "application/vnd.aether.imp": { + source: "iana" + }, + "application/vnd.afpc.afplinedata": { + source: "iana" + }, + "application/vnd.afpc.afplinedata-pagedef": { + source: "iana" + }, + "application/vnd.afpc.cmoca-cmresource": { + source: "iana" + }, + "application/vnd.afpc.foca-charset": { + source: "iana" + }, + "application/vnd.afpc.foca-codedfont": { + source: "iana" + }, + "application/vnd.afpc.foca-codepage": { + source: "iana" + }, + "application/vnd.afpc.modca": { + source: "iana" + }, + "application/vnd.afpc.modca-cmtable": { + source: "iana" + }, + "application/vnd.afpc.modca-formdef": { + source: "iana" + }, + "application/vnd.afpc.modca-mediummap": { + source: "iana" + }, + "application/vnd.afpc.modca-objectcontainer": { + source: "iana" + }, + "application/vnd.afpc.modca-overlay": { + source: "iana" + }, + "application/vnd.afpc.modca-pagesegment": { + source: "iana" + }, + "application/vnd.age": { + source: "iana", + extensions: ["age"] + }, + "application/vnd.ah-barcode": { + source: "apache" + }, + "application/vnd.ahead.space": { + source: "iana", + extensions: ["ahead"] + }, + "application/vnd.airzip.filesecure.azf": { + source: "iana", + extensions: ["azf"] + }, + "application/vnd.airzip.filesecure.azs": { + source: "iana", + extensions: ["azs"] + }, + "application/vnd.amadeus+json": { + source: "iana", + compressible: true + }, + "application/vnd.amazon.ebook": { + source: "apache", + extensions: ["azw"] + }, + "application/vnd.amazon.mobi8-ebook": { + source: "iana" + }, + "application/vnd.americandynamics.acc": { + source: "iana", + extensions: ["acc"] + }, + "application/vnd.amiga.ami": { + source: "iana", + extensions: ["ami"] + }, + "application/vnd.amundsen.maze+xml": { + source: "iana", + compressible: true + }, + "application/vnd.android.ota": { + source: "iana" + }, + "application/vnd.android.package-archive": { + source: "apache", + compressible: false, + extensions: ["apk"] + }, + "application/vnd.anki": { + source: "iana" + }, + "application/vnd.anser-web-certificate-issue-initiation": { + source: "iana", + extensions: ["cii"] + }, + "application/vnd.anser-web-funds-transfer-initiation": { + source: "apache", + extensions: ["fti"] + }, + "application/vnd.antix.game-component": { + source: "iana", + extensions: ["atx"] + }, + "application/vnd.apache.arrow.file": { + source: "iana" + }, + "application/vnd.apache.arrow.stream": { + source: "iana" + }, + "application/vnd.apache.parquet": { + source: "iana" + }, + "application/vnd.apache.thrift.binary": { + source: "iana" + }, + "application/vnd.apache.thrift.compact": { + source: "iana" + }, + "application/vnd.apache.thrift.json": { + source: "iana" + }, + "application/vnd.apexlang": { + source: "iana" + }, + "application/vnd.api+json": { + source: "iana", + compressible: true + }, + "application/vnd.aplextor.warrp+json": { + source: "iana", + compressible: true + }, + "application/vnd.apothekende.reservation+json": { + source: "iana", + compressible: true + }, + "application/vnd.apple.installer+xml": { + source: "iana", + compressible: true, + extensions: ["mpkg"] + }, + "application/vnd.apple.keynote": { + source: "iana", + extensions: ["key"] + }, + "application/vnd.apple.mpegurl": { + source: "iana", + extensions: ["m3u8"] + }, + "application/vnd.apple.numbers": { + source: "iana", + extensions: ["numbers"] + }, + "application/vnd.apple.pages": { + source: "iana", + extensions: ["pages"] + }, + "application/vnd.apple.pkpass": { + compressible: false, + extensions: ["pkpass"] + }, + "application/vnd.arastra.swi": { + source: "apache" + }, + "application/vnd.aristanetworks.swi": { + source: "iana", + extensions: ["swi"] + }, + "application/vnd.artisan+json": { + source: "iana", + compressible: true + }, + "application/vnd.artsquare": { + source: "iana" + }, + "application/vnd.astraea-software.iota": { + source: "iana", + extensions: ["iota"] + }, + "application/vnd.audiograph": { + source: "iana", + extensions: ["aep"] + }, + "application/vnd.autodesk.fbx": { + extensions: ["fbx"] + }, + "application/vnd.autopackage": { + source: "iana" + }, + "application/vnd.avalon+json": { + source: "iana", + compressible: true + }, + "application/vnd.avistar+xml": { + source: "iana", + compressible: true + }, + "application/vnd.balsamiq.bmml+xml": { + source: "iana", + compressible: true, + extensions: ["bmml"] + }, + "application/vnd.balsamiq.bmpr": { + source: "iana" + }, + "application/vnd.banana-accounting": { + source: "iana" + }, + "application/vnd.bbf.usp.error": { + source: "iana" + }, + "application/vnd.bbf.usp.msg": { + source: "iana" + }, + "application/vnd.bbf.usp.msg+json": { + source: "iana", + compressible: true + }, + "application/vnd.bekitzur-stech+json": { + source: "iana", + compressible: true + }, + "application/vnd.belightsoft.lhzd+zip": { + source: "iana", + compressible: false + }, + "application/vnd.belightsoft.lhzl+zip": { + source: "iana", + compressible: false + }, + "application/vnd.bint.med-content": { + source: "iana" + }, + "application/vnd.biopax.rdf+xml": { + source: "iana", + compressible: true + }, + "application/vnd.blink-idb-value-wrapper": { + source: "iana" + }, + "application/vnd.blueice.multipass": { + source: "iana", + extensions: ["mpm"] + }, + "application/vnd.bluetooth.ep.oob": { + source: "iana" + }, + "application/vnd.bluetooth.le.oob": { + source: "iana" + }, + "application/vnd.bmi": { + source: "iana", + extensions: ["bmi"] + }, + "application/vnd.bpf": { + source: "iana" + }, + "application/vnd.bpf3": { + source: "iana" + }, + "application/vnd.businessobjects": { + source: "iana", + extensions: ["rep"] + }, + "application/vnd.byu.uapi+json": { + source: "iana", + compressible: true + }, + "application/vnd.bzip3": { + source: "iana" + }, + "application/vnd.c3voc.schedule+xml": { + source: "iana", + compressible: true + }, + "application/vnd.cab-jscript": { + source: "iana" + }, + "application/vnd.canon-cpdl": { + source: "iana" + }, + "application/vnd.canon-lips": { + source: "iana" + }, + "application/vnd.capasystems-pg+json": { + source: "iana", + compressible: true + }, + "application/vnd.cendio.thinlinc.clientconf": { + source: "iana" + }, + "application/vnd.century-systems.tcp_stream": { + source: "iana" + }, + "application/vnd.chemdraw+xml": { + source: "iana", + compressible: true, + extensions: ["cdxml"] + }, + "application/vnd.chess-pgn": { + source: "iana" + }, + "application/vnd.chipnuts.karaoke-mmd": { + source: "iana", + extensions: ["mmd"] + }, + "application/vnd.ciedi": { + source: "iana" + }, + "application/vnd.cinderella": { + source: "iana", + extensions: ["cdy"] + }, + "application/vnd.cirpack.isdn-ext": { + source: "iana" + }, + "application/vnd.citationstyles.style+xml": { + source: "iana", + compressible: true, + extensions: ["csl"] + }, + "application/vnd.claymore": { + source: "iana", + extensions: ["cla"] + }, + "application/vnd.cloanto.rp9": { + source: "iana", + extensions: ["rp9"] + }, + "application/vnd.clonk.c4group": { + source: "iana", + extensions: ["c4g", "c4d", "c4f", "c4p", "c4u"] + }, + "application/vnd.cluetrust.cartomobile-config": { + source: "iana", + extensions: ["c11amc"] + }, + "application/vnd.cluetrust.cartomobile-config-pkg": { + source: "iana", + extensions: ["c11amz"] + }, + "application/vnd.cncf.helm.chart.content.v1.tar+gzip": { + source: "iana" + }, + "application/vnd.cncf.helm.chart.provenance.v1.prov": { + source: "iana" + }, + "application/vnd.cncf.helm.config.v1+json": { + source: "iana", + compressible: true + }, + "application/vnd.coffeescript": { + source: "iana" + }, + "application/vnd.collabio.xodocuments.document": { + source: "iana" + }, + "application/vnd.collabio.xodocuments.document-template": { + source: "iana" + }, + "application/vnd.collabio.xodocuments.presentation": { + source: "iana" + }, + "application/vnd.collabio.xodocuments.presentation-template": { + source: "iana" + }, + "application/vnd.collabio.xodocuments.spreadsheet": { + source: "iana" + }, + "application/vnd.collabio.xodocuments.spreadsheet-template": { + source: "iana" + }, + "application/vnd.collection+json": { + source: "iana", + compressible: true + }, + "application/vnd.collection.doc+json": { + source: "iana", + compressible: true + }, + "application/vnd.collection.next+json": { + source: "iana", + compressible: true + }, + "application/vnd.comicbook+zip": { + source: "iana", + compressible: false + }, + "application/vnd.comicbook-rar": { + source: "iana" + }, + "application/vnd.commerce-battelle": { + source: "iana" + }, + "application/vnd.commonspace": { + source: "iana", + extensions: ["csp"] + }, + "application/vnd.contact.cmsg": { + source: "iana", + extensions: ["cdbcmsg"] + }, + "application/vnd.coreos.ignition+json": { + source: "iana", + compressible: true + }, + "application/vnd.cosmocaller": { + source: "iana", + extensions: ["cmc"] + }, + "application/vnd.crick.clicker": { + source: "iana", + extensions: ["clkx"] + }, + "application/vnd.crick.clicker.keyboard": { + source: "iana", + extensions: ["clkk"] + }, + "application/vnd.crick.clicker.palette": { + source: "iana", + extensions: ["clkp"] + }, + "application/vnd.crick.clicker.template": { + source: "iana", + extensions: ["clkt"] + }, + "application/vnd.crick.clicker.wordbank": { + source: "iana", + extensions: ["clkw"] + }, + "application/vnd.criticaltools.wbs+xml": { + source: "iana", + compressible: true, + extensions: ["wbs"] + }, + "application/vnd.cryptii.pipe+json": { + source: "iana", + compressible: true + }, + "application/vnd.crypto-shade-file": { + source: "iana" + }, + "application/vnd.cryptomator.encrypted": { + source: "iana" + }, + "application/vnd.cryptomator.vault": { + source: "iana" + }, + "application/vnd.ctc-posml": { + source: "iana", + extensions: ["pml"] + }, + "application/vnd.ctct.ws+xml": { + source: "iana", + compressible: true + }, + "application/vnd.cups-pdf": { + source: "iana" + }, + "application/vnd.cups-postscript": { + source: "iana" + }, + "application/vnd.cups-ppd": { + source: "iana", + extensions: ["ppd"] + }, + "application/vnd.cups-raster": { + source: "iana" + }, + "application/vnd.cups-raw": { + source: "iana" + }, + "application/vnd.curl": { + source: "iana" + }, + "application/vnd.curl.car": { + source: "apache", + extensions: ["car"] + }, + "application/vnd.curl.pcurl": { + source: "apache", + extensions: ["pcurl"] + }, + "application/vnd.cyan.dean.root+xml": { + source: "iana", + compressible: true + }, + "application/vnd.cybank": { + source: "iana" + }, + "application/vnd.cyclonedx+json": { + source: "iana", + compressible: true + }, + "application/vnd.cyclonedx+xml": { + source: "iana", + compressible: true + }, + "application/vnd.d2l.coursepackage1p0+zip": { + source: "iana", + compressible: false + }, + "application/vnd.d3m-dataset": { + source: "iana" + }, + "application/vnd.d3m-problem": { + source: "iana" + }, + "application/vnd.dart": { + source: "iana", + compressible: true, + extensions: ["dart"] + }, + "application/vnd.data-vision.rdz": { + source: "iana", + extensions: ["rdz"] + }, + "application/vnd.datalog": { + source: "iana" + }, + "application/vnd.datapackage+json": { + source: "iana", + compressible: true + }, + "application/vnd.dataresource+json": { + source: "iana", + compressible: true + }, + "application/vnd.dbf": { + source: "iana", + extensions: ["dbf"] + }, + "application/vnd.dcmp+xml": { + source: "iana", + compressible: true, + extensions: ["dcmp"] + }, + "application/vnd.debian.binary-package": { + source: "iana" + }, + "application/vnd.dece.data": { + source: "iana", + extensions: ["uvf", "uvvf", "uvd", "uvvd"] + }, + "application/vnd.dece.ttml+xml": { + source: "iana", + compressible: true, + extensions: ["uvt", "uvvt"] + }, + "application/vnd.dece.unspecified": { + source: "iana", + extensions: ["uvx", "uvvx"] + }, + "application/vnd.dece.zip": { + source: "iana", + extensions: ["uvz", "uvvz"] + }, + "application/vnd.denovo.fcselayout-link": { + source: "iana", + extensions: ["fe_launch"] + }, + "application/vnd.desmume.movie": { + source: "iana" + }, + "application/vnd.dir-bi.plate-dl-nosuffix": { + source: "iana" + }, + "application/vnd.dm.delegation+xml": { + source: "iana", + compressible: true + }, + "application/vnd.dna": { + source: "iana", + extensions: ["dna"] + }, + "application/vnd.document+json": { + source: "iana", + compressible: true + }, + "application/vnd.dolby.mlp": { + source: "apache", + extensions: ["mlp"] + }, + "application/vnd.dolby.mobile.1": { + source: "iana" + }, + "application/vnd.dolby.mobile.2": { + source: "iana" + }, + "application/vnd.doremir.scorecloud-binary-document": { + source: "iana" + }, + "application/vnd.dpgraph": { + source: "iana", + extensions: ["dpg"] + }, + "application/vnd.dreamfactory": { + source: "iana", + extensions: ["dfac"] + }, + "application/vnd.drive+json": { + source: "iana", + compressible: true + }, + "application/vnd.ds-keypoint": { + source: "apache", + extensions: ["kpxx"] + }, + "application/vnd.dtg.local": { + source: "iana" + }, + "application/vnd.dtg.local.flash": { + source: "iana" + }, + "application/vnd.dtg.local.html": { + source: "iana" + }, + "application/vnd.dvb.ait": { + source: "iana", + extensions: ["ait"] + }, + "application/vnd.dvb.dvbisl+xml": { + source: "iana", + compressible: true + }, + "application/vnd.dvb.dvbj": { + source: "iana" + }, + "application/vnd.dvb.esgcontainer": { + source: "iana" + }, + "application/vnd.dvb.ipdcdftnotifaccess": { + source: "iana" + }, + "application/vnd.dvb.ipdcesgaccess": { + source: "iana" + }, + "application/vnd.dvb.ipdcesgaccess2": { + source: "iana" + }, + "application/vnd.dvb.ipdcesgpdd": { + source: "iana" + }, + "application/vnd.dvb.ipdcroaming": { + source: "iana" + }, + "application/vnd.dvb.iptv.alfec-base": { + source: "iana" + }, + "application/vnd.dvb.iptv.alfec-enhancement": { + source: "iana" + }, + "application/vnd.dvb.notif-aggregate-root+xml": { + source: "iana", + compressible: true + }, + "application/vnd.dvb.notif-container+xml": { + source: "iana", + compressible: true + }, + "application/vnd.dvb.notif-generic+xml": { + source: "iana", + compressible: true + }, + "application/vnd.dvb.notif-ia-msglist+xml": { + source: "iana", + compressible: true + }, + "application/vnd.dvb.notif-ia-registration-request+xml": { + source: "iana", + compressible: true + }, + "application/vnd.dvb.notif-ia-registration-response+xml": { + source: "iana", + compressible: true + }, + "application/vnd.dvb.notif-init+xml": { + source: "iana", + compressible: true + }, + "application/vnd.dvb.pfr": { + source: "iana" + }, + "application/vnd.dvb.service": { + source: "iana", + extensions: ["svc"] + }, + "application/vnd.dxr": { + source: "iana" + }, + "application/vnd.dynageo": { + source: "iana", + extensions: ["geo"] + }, + "application/vnd.dzr": { + source: "iana" + }, + "application/vnd.easykaraoke.cdgdownload": { + source: "iana" + }, + "application/vnd.ecdis-update": { + source: "iana" + }, + "application/vnd.ecip.rlp": { + source: "iana" + }, + "application/vnd.eclipse.ditto+json": { + source: "iana", + compressible: true + }, + "application/vnd.ecowin.chart": { + source: "iana", + extensions: ["mag"] + }, + "application/vnd.ecowin.filerequest": { + source: "iana" + }, + "application/vnd.ecowin.fileupdate": { + source: "iana" + }, + "application/vnd.ecowin.series": { + source: "iana" + }, + "application/vnd.ecowin.seriesrequest": { + source: "iana" + }, + "application/vnd.ecowin.seriesupdate": { + source: "iana" + }, + "application/vnd.efi.img": { + source: "iana" + }, + "application/vnd.efi.iso": { + source: "iana" + }, + "application/vnd.eln+zip": { + source: "iana", + compressible: false + }, + "application/vnd.emclient.accessrequest+xml": { + source: "iana", + compressible: true + }, + "application/vnd.enliven": { + source: "iana", + extensions: ["nml"] + }, + "application/vnd.enphase.envoy": { + source: "iana" + }, + "application/vnd.eprints.data+xml": { + source: "iana", + compressible: true + }, + "application/vnd.epson.esf": { + source: "iana", + extensions: ["esf"] + }, + "application/vnd.epson.msf": { + source: "iana", + extensions: ["msf"] + }, + "application/vnd.epson.quickanime": { + source: "iana", + extensions: ["qam"] + }, + "application/vnd.epson.salt": { + source: "iana", + extensions: ["slt"] + }, + "application/vnd.epson.ssf": { + source: "iana", + extensions: ["ssf"] + }, + "application/vnd.ericsson.quickcall": { + source: "iana" + }, + "application/vnd.erofs": { + source: "iana" + }, + "application/vnd.espass-espass+zip": { + source: "iana", + compressible: false + }, + "application/vnd.eszigno3+xml": { + source: "iana", + compressible: true, + extensions: ["es3", "et3"] + }, + "application/vnd.etsi.aoc+xml": { + source: "iana", + compressible: true + }, + "application/vnd.etsi.asic-e+zip": { + source: "iana", + compressible: false + }, + "application/vnd.etsi.asic-s+zip": { + source: "iana", + compressible: false + }, + "application/vnd.etsi.cug+xml": { + source: "iana", + compressible: true + }, + "application/vnd.etsi.iptvcommand+xml": { + source: "iana", + compressible: true + }, + "application/vnd.etsi.iptvdiscovery+xml": { + source: "iana", + compressible: true + }, + "application/vnd.etsi.iptvprofile+xml": { + source: "iana", + compressible: true + }, + "application/vnd.etsi.iptvsad-bc+xml": { + source: "iana", + compressible: true + }, + "application/vnd.etsi.iptvsad-cod+xml": { + source: "iana", + compressible: true + }, + "application/vnd.etsi.iptvsad-npvr+xml": { + source: "iana", + compressible: true + }, + "application/vnd.etsi.iptvservice+xml": { + source: "iana", + compressible: true + }, + "application/vnd.etsi.iptvsync+xml": { + source: "iana", + compressible: true + }, + "application/vnd.etsi.iptvueprofile+xml": { + source: "iana", + compressible: true + }, + "application/vnd.etsi.mcid+xml": { + source: "iana", + compressible: true + }, + "application/vnd.etsi.mheg5": { + source: "iana" + }, + "application/vnd.etsi.overload-control-policy-dataset+xml": { + source: "iana", + compressible: true + }, + "application/vnd.etsi.pstn+xml": { + source: "iana", + compressible: true + }, + "application/vnd.etsi.sci+xml": { + source: "iana", + compressible: true + }, + "application/vnd.etsi.simservs+xml": { + source: "iana", + compressible: true + }, + "application/vnd.etsi.timestamp-token": { + source: "iana" + }, + "application/vnd.etsi.tsl+xml": { + source: "iana", + compressible: true + }, + "application/vnd.etsi.tsl.der": { + source: "iana" + }, + "application/vnd.eu.kasparian.car+json": { + source: "iana", + compressible: true + }, + "application/vnd.eudora.data": { + source: "iana" + }, + "application/vnd.evolv.ecig.profile": { + source: "iana" + }, + "application/vnd.evolv.ecig.settings": { + source: "iana" + }, + "application/vnd.evolv.ecig.theme": { + source: "iana" + }, + "application/vnd.exstream-empower+zip": { + source: "iana", + compressible: false + }, + "application/vnd.exstream-package": { + source: "iana" + }, + "application/vnd.ezpix-album": { + source: "iana", + extensions: ["ez2"] + }, + "application/vnd.ezpix-package": { + source: "iana", + extensions: ["ez3"] + }, + "application/vnd.f-secure.mobile": { + source: "iana" + }, + "application/vnd.familysearch.gedcom+zip": { + source: "iana", + compressible: false + }, + "application/vnd.fastcopy-disk-image": { + source: "iana" + }, + "application/vnd.fdf": { + source: "apache", + extensions: ["fdf"] + }, + "application/vnd.fdsn.mseed": { + source: "iana", + extensions: ["mseed"] + }, + "application/vnd.fdsn.seed": { + source: "iana", + extensions: ["seed", "dataless"] + }, + "application/vnd.fdsn.stationxml+xml": { + source: "iana", + charset: "XML-BASED", + compressible: true + }, + "application/vnd.ffsns": { + source: "iana" + }, + "application/vnd.ficlab.flb+zip": { + source: "iana", + compressible: false + }, + "application/vnd.filmit.zfc": { + source: "iana" + }, + "application/vnd.fints": { + source: "iana" + }, + "application/vnd.firemonkeys.cloudcell": { + source: "iana" + }, + "application/vnd.flographit": { + source: "iana", + extensions: ["gph"] + }, + "application/vnd.fluxtime.clip": { + source: "iana", + extensions: ["ftc"] + }, + "application/vnd.font-fontforge-sfd": { + source: "iana" + }, + "application/vnd.framemaker": { + source: "iana", + extensions: ["fm", "frame", "maker", "book"] + }, + "application/vnd.freelog.comic": { + source: "iana" + }, + "application/vnd.frogans.fnc": { + source: "apache", + extensions: ["fnc"] + }, + "application/vnd.frogans.ltf": { + source: "apache", + extensions: ["ltf"] + }, + "application/vnd.fsc.weblaunch": { + source: "iana", + extensions: ["fsc"] + }, + "application/vnd.fujifilm.fb.docuworks": { + source: "iana" + }, + "application/vnd.fujifilm.fb.docuworks.binder": { + source: "iana" + }, + "application/vnd.fujifilm.fb.docuworks.container": { + source: "iana" + }, + "application/vnd.fujifilm.fb.jfi+xml": { + source: "iana", + compressible: true + }, + "application/vnd.fujitsu.oasys": { + source: "iana", + extensions: ["oas"] + }, + "application/vnd.fujitsu.oasys2": { + source: "iana", + extensions: ["oa2"] + }, + "application/vnd.fujitsu.oasys3": { + source: "iana", + extensions: ["oa3"] + }, + "application/vnd.fujitsu.oasysgp": { + source: "iana", + extensions: ["fg5"] + }, + "application/vnd.fujitsu.oasysprs": { + source: "iana", + extensions: ["bh2"] + }, + "application/vnd.fujixerox.art-ex": { + source: "iana" + }, + "application/vnd.fujixerox.art4": { + source: "iana" + }, + "application/vnd.fujixerox.ddd": { + source: "iana", + extensions: ["ddd"] + }, + "application/vnd.fujixerox.docuworks": { + source: "iana", + extensions: ["xdw"] + }, + "application/vnd.fujixerox.docuworks.binder": { + source: "iana", + extensions: ["xbd"] + }, + "application/vnd.fujixerox.docuworks.container": { + source: "iana" + }, + "application/vnd.fujixerox.hbpl": { + source: "iana" + }, + "application/vnd.fut-misnet": { + source: "iana" + }, + "application/vnd.futoin+cbor": { + source: "iana" + }, + "application/vnd.futoin+json": { + source: "iana", + compressible: true + }, + "application/vnd.fuzzysheet": { + source: "iana", + extensions: ["fzs"] + }, + "application/vnd.ga4gh.passport+jwt": { + source: "iana" + }, + "application/vnd.genomatix.tuxedo": { + source: "iana", + extensions: ["txd"] + }, + "application/vnd.genozip": { + source: "iana" + }, + "application/vnd.gentics.grd+json": { + source: "iana", + compressible: true + }, + "application/vnd.gentoo.catmetadata+xml": { + source: "iana", + compressible: true + }, + "application/vnd.gentoo.ebuild": { + source: "iana" + }, + "application/vnd.gentoo.eclass": { + source: "iana" + }, + "application/vnd.gentoo.gpkg": { + source: "iana" + }, + "application/vnd.gentoo.manifest": { + source: "iana" + }, + "application/vnd.gentoo.pkgmetadata+xml": { + source: "iana", + compressible: true + }, + "application/vnd.gentoo.xpak": { + source: "iana" + }, + "application/vnd.geo+json": { + source: "apache", + compressible: true + }, + "application/vnd.geocube+xml": { + source: "apache", + compressible: true + }, + "application/vnd.geogebra.file": { + source: "iana", + extensions: ["ggb"] + }, + "application/vnd.geogebra.pinboard": { + source: "iana" + }, + "application/vnd.geogebra.slides": { + source: "iana", + extensions: ["ggs"] + }, + "application/vnd.geogebra.tool": { + source: "iana", + extensions: ["ggt"] + }, + "application/vnd.geometry-explorer": { + source: "iana", + extensions: ["gex", "gre"] + }, + "application/vnd.geonext": { + source: "iana", + extensions: ["gxt"] + }, + "application/vnd.geoplan": { + source: "iana", + extensions: ["g2w"] + }, + "application/vnd.geospace": { + source: "iana", + extensions: ["g3w"] + }, + "application/vnd.gerber": { + source: "iana" + }, + "application/vnd.globalplatform.card-content-mgt": { + source: "iana" + }, + "application/vnd.globalplatform.card-content-mgt-response": { + source: "iana" + }, + "application/vnd.gmx": { + source: "iana", + extensions: ["gmx"] + }, + "application/vnd.gnu.taler.exchange+json": { + source: "iana", + compressible: true + }, + "application/vnd.gnu.taler.merchant+json": { + source: "iana", + compressible: true + }, + "application/vnd.google-apps.audio": {}, + "application/vnd.google-apps.document": { + compressible: false, + extensions: ["gdoc"] + }, + "application/vnd.google-apps.drawing": { + compressible: false, + extensions: ["gdraw"] + }, + "application/vnd.google-apps.drive-sdk": { + compressible: false + }, + "application/vnd.google-apps.file": {}, + "application/vnd.google-apps.folder": { + compressible: false + }, + "application/vnd.google-apps.form": { + compressible: false, + extensions: ["gform"] + }, + "application/vnd.google-apps.fusiontable": {}, + "application/vnd.google-apps.jam": { + compressible: false, + extensions: ["gjam"] + }, + "application/vnd.google-apps.mail-layout": {}, + "application/vnd.google-apps.map": { + compressible: false, + extensions: ["gmap"] + }, + "application/vnd.google-apps.photo": {}, + "application/vnd.google-apps.presentation": { + compressible: false, + extensions: ["gslides"] + }, + "application/vnd.google-apps.script": { + compressible: false, + extensions: ["gscript"] + }, + "application/vnd.google-apps.shortcut": {}, + "application/vnd.google-apps.site": { + compressible: false, + extensions: ["gsite"] + }, + "application/vnd.google-apps.spreadsheet": { + compressible: false, + extensions: ["gsheet"] + }, + "application/vnd.google-apps.unknown": {}, + "application/vnd.google-apps.video": {}, + "application/vnd.google-earth.kml+xml": { + source: "iana", + compressible: true, + extensions: ["kml"] + }, + "application/vnd.google-earth.kmz": { + source: "iana", + compressible: false, + extensions: ["kmz"] + }, + "application/vnd.gov.sk.e-form+xml": { + source: "apache", + compressible: true + }, + "application/vnd.gov.sk.e-form+zip": { + source: "iana", + compressible: false + }, + "application/vnd.gov.sk.xmldatacontainer+xml": { + source: "iana", + compressible: true, + extensions: ["xdcf"] + }, + "application/vnd.gpxsee.map+xml": { + source: "iana", + compressible: true + }, + "application/vnd.grafeq": { + source: "iana", + extensions: ["gqf", "gqs"] + }, + "application/vnd.gridmp": { + source: "iana" + }, + "application/vnd.groove-account": { + source: "iana", + extensions: ["gac"] + }, + "application/vnd.groove-help": { + source: "iana", + extensions: ["ghf"] + }, + "application/vnd.groove-identity-message": { + source: "iana", + extensions: ["gim"] + }, + "application/vnd.groove-injector": { + source: "iana", + extensions: ["grv"] + }, + "application/vnd.groove-tool-message": { + source: "iana", + extensions: ["gtm"] + }, + "application/vnd.groove-tool-template": { + source: "iana", + extensions: ["tpl"] + }, + "application/vnd.groove-vcard": { + source: "iana", + extensions: ["vcg"] + }, + "application/vnd.hal+json": { + source: "iana", + compressible: true + }, + "application/vnd.hal+xml": { + source: "iana", + compressible: true, + extensions: ["hal"] + }, + "application/vnd.handheld-entertainment+xml": { + source: "iana", + compressible: true, + extensions: ["zmm"] + }, + "application/vnd.hbci": { + source: "iana", + extensions: ["hbci"] + }, + "application/vnd.hc+json": { + source: "iana", + compressible: true + }, + "application/vnd.hcl-bireports": { + source: "iana" + }, + "application/vnd.hdt": { + source: "iana" + }, + "application/vnd.heroku+json": { + source: "iana", + compressible: true + }, + "application/vnd.hhe.lesson-player": { + source: "iana", + extensions: ["les"] + }, + "application/vnd.hp-hpgl": { + source: "iana", + extensions: ["hpgl"] + }, + "application/vnd.hp-hpid": { + source: "iana", + extensions: ["hpid"] + }, + "application/vnd.hp-hps": { + source: "iana", + extensions: ["hps"] + }, + "application/vnd.hp-jlyt": { + source: "iana", + extensions: ["jlt"] + }, + "application/vnd.hp-pcl": { + source: "iana", + extensions: ["pcl"] + }, + "application/vnd.hp-pclxl": { + source: "iana", + extensions: ["pclxl"] + }, + "application/vnd.hsl": { + source: "iana" + }, + "application/vnd.httphone": { + source: "iana" + }, + "application/vnd.hydrostatix.sof-data": { + source: "iana", + extensions: ["sfd-hdstx"] + }, + "application/vnd.hyper+json": { + source: "iana", + compressible: true + }, + "application/vnd.hyper-item+json": { + source: "iana", + compressible: true + }, + "application/vnd.hyperdrive+json": { + source: "iana", + compressible: true + }, + "application/vnd.hzn-3d-crossword": { + source: "iana" + }, + "application/vnd.ibm.afplinedata": { + source: "apache" + }, + "application/vnd.ibm.electronic-media": { + source: "iana" + }, + "application/vnd.ibm.minipay": { + source: "iana", + extensions: ["mpy"] + }, + "application/vnd.ibm.modcap": { + source: "apache", + extensions: ["afp", "listafp", "list3820"] + }, + "application/vnd.ibm.rights-management": { + source: "iana", + extensions: ["irm"] + }, + "application/vnd.ibm.secure-container": { + source: "iana", + extensions: ["sc"] + }, + "application/vnd.iccprofile": { + source: "iana", + extensions: ["icc", "icm"] + }, + "application/vnd.ieee.1905": { + source: "iana" + }, + "application/vnd.igloader": { + source: "iana", + extensions: ["igl"] + }, + "application/vnd.imagemeter.folder+zip": { + source: "iana", + compressible: false + }, + "application/vnd.imagemeter.image+zip": { + source: "iana", + compressible: false + }, + "application/vnd.immervision-ivp": { + source: "iana", + extensions: ["ivp"] + }, + "application/vnd.immervision-ivu": { + source: "iana", + extensions: ["ivu"] + }, + "application/vnd.ims.imsccv1p1": { + source: "iana" + }, + "application/vnd.ims.imsccv1p2": { + source: "iana" + }, + "application/vnd.ims.imsccv1p3": { + source: "iana" + }, + "application/vnd.ims.lis.v2.result+json": { + source: "iana", + compressible: true + }, + "application/vnd.ims.lti.v2.toolconsumerprofile+json": { + source: "iana", + compressible: true + }, + "application/vnd.ims.lti.v2.toolproxy+json": { + source: "iana", + compressible: true + }, + "application/vnd.ims.lti.v2.toolproxy.id+json": { + source: "iana", + compressible: true + }, + "application/vnd.ims.lti.v2.toolsettings+json": { + source: "iana", + compressible: true + }, + "application/vnd.ims.lti.v2.toolsettings.simple+json": { + source: "iana", + compressible: true + }, + "application/vnd.informedcontrol.rms+xml": { + source: "iana", + compressible: true + }, + "application/vnd.informix-visionary": { + source: "apache" + }, + "application/vnd.infotech.project": { + source: "iana" + }, + "application/vnd.infotech.project+xml": { + source: "iana", + compressible: true + }, + "application/vnd.innopath.wamp.notification": { + source: "iana" + }, + "application/vnd.insors.igm": { + source: "iana", + extensions: ["igm"] + }, + "application/vnd.intercon.formnet": { + source: "iana", + extensions: ["xpw", "xpx"] + }, + "application/vnd.intergeo": { + source: "iana", + extensions: ["i2g"] + }, + "application/vnd.intertrust.digibox": { + source: "iana" + }, + "application/vnd.intertrust.nncp": { + source: "iana" + }, + "application/vnd.intu.qbo": { + source: "iana", + extensions: ["qbo"] + }, + "application/vnd.intu.qfx": { + source: "iana", + extensions: ["qfx"] + }, + "application/vnd.ipfs.ipns-record": { + source: "iana" + }, + "application/vnd.ipld.car": { + source: "iana" + }, + "application/vnd.ipld.dag-cbor": { + source: "iana" + }, + "application/vnd.ipld.dag-json": { + source: "iana" + }, + "application/vnd.ipld.raw": { + source: "iana" + }, + "application/vnd.iptc.g2.catalogitem+xml": { + source: "iana", + compressible: true + }, + "application/vnd.iptc.g2.conceptitem+xml": { + source: "iana", + compressible: true + }, + "application/vnd.iptc.g2.knowledgeitem+xml": { + source: "iana", + compressible: true + }, + "application/vnd.iptc.g2.newsitem+xml": { + source: "iana", + compressible: true + }, + "application/vnd.iptc.g2.newsmessage+xml": { + source: "iana", + compressible: true + }, + "application/vnd.iptc.g2.packageitem+xml": { + source: "iana", + compressible: true + }, + "application/vnd.iptc.g2.planningitem+xml": { + source: "iana", + compressible: true + }, + "application/vnd.ipunplugged.rcprofile": { + source: "iana", + extensions: ["rcprofile"] + }, + "application/vnd.irepository.package+xml": { + source: "iana", + compressible: true, + extensions: ["irp"] + }, + "application/vnd.is-xpr": { + source: "iana", + extensions: ["xpr"] + }, + "application/vnd.isac.fcs": { + source: "iana", + extensions: ["fcs"] + }, + "application/vnd.iso11783-10+zip": { + source: "iana", + compressible: false + }, + "application/vnd.jam": { + source: "iana", + extensions: ["jam"] + }, + "application/vnd.japannet-directory-service": { + source: "iana" + }, + "application/vnd.japannet-jpnstore-wakeup": { + source: "iana" + }, + "application/vnd.japannet-payment-wakeup": { + source: "iana" + }, + "application/vnd.japannet-registration": { + source: "iana" + }, + "application/vnd.japannet-registration-wakeup": { + source: "iana" + }, + "application/vnd.japannet-setstore-wakeup": { + source: "iana" + }, + "application/vnd.japannet-verification": { + source: "iana" + }, + "application/vnd.japannet-verification-wakeup": { + source: "iana" + }, + "application/vnd.jcp.javame.midlet-rms": { + source: "iana", + extensions: ["rms"] + }, + "application/vnd.jisp": { + source: "iana", + extensions: ["jisp"] + }, + "application/vnd.joost.joda-archive": { + source: "iana", + extensions: ["joda"] + }, + "application/vnd.jsk.isdn-ngn": { + source: "iana" + }, + "application/vnd.kahootz": { + source: "iana", + extensions: ["ktz", "ktr"] + }, + "application/vnd.kde.karbon": { + source: "iana", + extensions: ["karbon"] + }, + "application/vnd.kde.kchart": { + source: "iana", + extensions: ["chrt"] + }, + "application/vnd.kde.kformula": { + source: "iana", + extensions: ["kfo"] + }, + "application/vnd.kde.kivio": { + source: "iana", + extensions: ["flw"] + }, + "application/vnd.kde.kontour": { + source: "iana", + extensions: ["kon"] + }, + "application/vnd.kde.kpresenter": { + source: "iana", + extensions: ["kpr", "kpt"] + }, + "application/vnd.kde.kspread": { + source: "iana", + extensions: ["ksp"] + }, + "application/vnd.kde.kword": { + source: "iana", + extensions: ["kwd", "kwt"] + }, + "application/vnd.kdl": { + source: "iana" + }, + "application/vnd.kenameaapp": { + source: "iana", + extensions: ["htke"] + }, + "application/vnd.keyman.kmp+zip": { + source: "iana", + compressible: false + }, + "application/vnd.keyman.kmx": { + source: "iana" + }, + "application/vnd.kidspiration": { + source: "iana", + extensions: ["kia"] + }, + "application/vnd.kinar": { + source: "iana", + extensions: ["kne", "knp"] + }, + "application/vnd.koan": { + source: "iana", + extensions: ["skp", "skd", "skt", "skm"] + }, + "application/vnd.kodak-descriptor": { + source: "iana", + extensions: ["sse"] + }, + "application/vnd.las": { + source: "iana" + }, + "application/vnd.las.las+json": { + source: "iana", + compressible: true + }, + "application/vnd.las.las+xml": { + source: "iana", + compressible: true, + extensions: ["lasxml"] + }, + "application/vnd.laszip": { + source: "iana" + }, + "application/vnd.ldev.productlicensing": { + source: "iana" + }, + "application/vnd.leap+json": { + source: "iana", + compressible: true + }, + "application/vnd.liberty-request+xml": { + source: "iana", + compressible: true + }, + "application/vnd.llamagraphics.life-balance.desktop": { + source: "iana", + extensions: ["lbd"] + }, + "application/vnd.llamagraphics.life-balance.exchange+xml": { + source: "iana", + compressible: true, + extensions: ["lbe"] + }, + "application/vnd.logipipe.circuit+zip": { + source: "iana", + compressible: false + }, + "application/vnd.loom": { + source: "iana" + }, + "application/vnd.lotus-1-2-3": { + source: "iana", + extensions: ["123"] + }, + "application/vnd.lotus-approach": { + source: "iana", + extensions: ["apr"] + }, + "application/vnd.lotus-freelance": { + source: "iana", + extensions: ["pre"] + }, + "application/vnd.lotus-notes": { + source: "iana", + extensions: ["nsf"] + }, + "application/vnd.lotus-organizer": { + source: "iana", + extensions: ["org"] + }, + "application/vnd.lotus-screencam": { + source: "iana", + extensions: ["scm"] + }, + "application/vnd.lotus-wordpro": { + source: "iana", + extensions: ["lwp"] + }, + "application/vnd.macports.portpkg": { + source: "iana", + extensions: ["portpkg"] + }, + "application/vnd.mapbox-vector-tile": { + source: "iana", + extensions: ["mvt"] + }, + "application/vnd.marlin.drm.actiontoken+xml": { + source: "iana", + compressible: true + }, + "application/vnd.marlin.drm.conftoken+xml": { + source: "iana", + compressible: true + }, + "application/vnd.marlin.drm.license+xml": { + source: "iana", + compressible: true + }, + "application/vnd.marlin.drm.mdcf": { + source: "iana" + }, + "application/vnd.mason+json": { + source: "iana", + compressible: true + }, + "application/vnd.maxar.archive.3tz+zip": { + source: "iana", + compressible: false + }, + "application/vnd.maxmind.maxmind-db": { + source: "iana" + }, + "application/vnd.mcd": { + source: "iana", + extensions: ["mcd"] + }, + "application/vnd.mdl": { + source: "iana" + }, + "application/vnd.mdl-mbsdf": { + source: "iana" + }, + "application/vnd.medcalcdata": { + source: "iana", + extensions: ["mc1"] + }, + "application/vnd.mediastation.cdkey": { + source: "iana", + extensions: ["cdkey"] + }, + "application/vnd.medicalholodeck.recordxr": { + source: "iana" + }, + "application/vnd.meridian-slingshot": { + source: "iana" + }, + "application/vnd.mermaid": { + source: "iana" + }, + "application/vnd.mfer": { + source: "iana", + extensions: ["mwf"] + }, + "application/vnd.mfmp": { + source: "iana", + extensions: ["mfm"] + }, + "application/vnd.micro+json": { + source: "iana", + compressible: true + }, + "application/vnd.micrografx.flo": { + source: "iana", + extensions: ["flo"] + }, + "application/vnd.micrografx.igx": { + source: "iana", + extensions: ["igx"] + }, + "application/vnd.microsoft.portable-executable": { + source: "iana" + }, + "application/vnd.microsoft.windows.thumbnail-cache": { + source: "iana" + }, + "application/vnd.miele+json": { + source: "iana", + compressible: true + }, + "application/vnd.mif": { + source: "iana", + extensions: ["mif"] + }, + "application/vnd.minisoft-hp3000-save": { + source: "iana" + }, + "application/vnd.mitsubishi.misty-guard.trustweb": { + source: "iana" + }, + "application/vnd.mobius.daf": { + source: "iana", + extensions: ["daf"] + }, + "application/vnd.mobius.dis": { + source: "iana", + extensions: ["dis"] + }, + "application/vnd.mobius.mbk": { + source: "iana", + extensions: ["mbk"] + }, + "application/vnd.mobius.mqy": { + source: "iana", + extensions: ["mqy"] + }, + "application/vnd.mobius.msl": { + source: "iana", + extensions: ["msl"] + }, + "application/vnd.mobius.plc": { + source: "iana", + extensions: ["plc"] + }, + "application/vnd.mobius.txf": { + source: "iana", + extensions: ["txf"] + }, + "application/vnd.modl": { + source: "iana" + }, + "application/vnd.mophun.application": { + source: "iana", + extensions: ["mpn"] + }, + "application/vnd.mophun.certificate": { + source: "iana", + extensions: ["mpc"] + }, + "application/vnd.motorola.flexsuite": { + source: "iana" + }, + "application/vnd.motorola.flexsuite.adsi": { + source: "iana" + }, + "application/vnd.motorola.flexsuite.fis": { + source: "iana" + }, + "application/vnd.motorola.flexsuite.gotap": { + source: "iana" + }, + "application/vnd.motorola.flexsuite.kmr": { + source: "iana" + }, + "application/vnd.motorola.flexsuite.ttc": { + source: "iana" + }, + "application/vnd.motorola.flexsuite.wem": { + source: "iana" + }, + "application/vnd.motorola.iprm": { + source: "iana" + }, + "application/vnd.mozilla.xul+xml": { + source: "iana", + compressible: true, + extensions: ["xul"] + }, + "application/vnd.ms-3mfdocument": { + source: "iana" + }, + "application/vnd.ms-artgalry": { + source: "iana", + extensions: ["cil"] + }, + "application/vnd.ms-asf": { + source: "iana" + }, + "application/vnd.ms-cab-compressed": { + source: "iana", + extensions: ["cab"] + }, + "application/vnd.ms-color.iccprofile": { + source: "apache" + }, + "application/vnd.ms-excel": { + source: "iana", + compressible: false, + extensions: ["xls", "xlm", "xla", "xlc", "xlt", "xlw"] + }, + "application/vnd.ms-excel.addin.macroenabled.12": { + source: "iana", + extensions: ["xlam"] + }, + "application/vnd.ms-excel.sheet.binary.macroenabled.12": { + source: "iana", + extensions: ["xlsb"] + }, + "application/vnd.ms-excel.sheet.macroenabled.12": { + source: "iana", + extensions: ["xlsm"] + }, + "application/vnd.ms-excel.template.macroenabled.12": { + source: "iana", + extensions: ["xltm"] + }, + "application/vnd.ms-fontobject": { + source: "iana", + compressible: true, + extensions: ["eot"] + }, + "application/vnd.ms-htmlhelp": { + source: "iana", + extensions: ["chm"] + }, + "application/vnd.ms-ims": { + source: "iana", + extensions: ["ims"] + }, + "application/vnd.ms-lrm": { + source: "iana", + extensions: ["lrm"] + }, + "application/vnd.ms-office.activex+xml": { + source: "iana", + compressible: true + }, + "application/vnd.ms-officetheme": { + source: "iana", + extensions: ["thmx"] + }, + "application/vnd.ms-opentype": { + source: "apache", + compressible: true + }, + "application/vnd.ms-outlook": { + compressible: false, + extensions: ["msg"] + }, + "application/vnd.ms-package.obfuscated-opentype": { + source: "apache" + }, + "application/vnd.ms-pki.seccat": { + source: "apache", + extensions: ["cat"] + }, + "application/vnd.ms-pki.stl": { + source: "apache", + extensions: ["stl"] + }, + "application/vnd.ms-playready.initiator+xml": { + source: "iana", + compressible: true + }, + "application/vnd.ms-powerpoint": { + source: "iana", + compressible: false, + extensions: ["ppt", "pps", "pot"] + }, + "application/vnd.ms-powerpoint.addin.macroenabled.12": { + source: "iana", + extensions: ["ppam"] + }, + "application/vnd.ms-powerpoint.presentation.macroenabled.12": { + source: "iana", + extensions: ["pptm"] + }, + "application/vnd.ms-powerpoint.slide.macroenabled.12": { + source: "iana", + extensions: ["sldm"] + }, + "application/vnd.ms-powerpoint.slideshow.macroenabled.12": { + source: "iana", + extensions: ["ppsm"] + }, + "application/vnd.ms-powerpoint.template.macroenabled.12": { + source: "iana", + extensions: ["potm"] + }, + "application/vnd.ms-printdevicecapabilities+xml": { + source: "iana", + compressible: true + }, + "application/vnd.ms-printing.printticket+xml": { + source: "apache", + compressible: true + }, + "application/vnd.ms-printschematicket+xml": { + source: "iana", + compressible: true + }, + "application/vnd.ms-project": { + source: "iana", + extensions: ["mpp", "mpt"] + }, + "application/vnd.ms-tnef": { + source: "iana" + }, + "application/vnd.ms-visio.viewer": { + extensions: ["vdx"] + }, + "application/vnd.ms-windows.devicepairing": { + source: "iana" + }, + "application/vnd.ms-windows.nwprinting.oob": { + source: "iana" + }, + "application/vnd.ms-windows.printerpairing": { + source: "iana" + }, + "application/vnd.ms-windows.wsd.oob": { + source: "iana" + }, + "application/vnd.ms-wmdrm.lic-chlg-req": { + source: "iana" + }, + "application/vnd.ms-wmdrm.lic-resp": { + source: "iana" + }, + "application/vnd.ms-wmdrm.meter-chlg-req": { + source: "iana" + }, + "application/vnd.ms-wmdrm.meter-resp": { + source: "iana" + }, + "application/vnd.ms-word.document.macroenabled.12": { + source: "iana", + extensions: ["docm"] + }, + "application/vnd.ms-word.template.macroenabled.12": { + source: "iana", + extensions: ["dotm"] + }, + "application/vnd.ms-works": { + source: "iana", + extensions: ["wps", "wks", "wcm", "wdb"] + }, + "application/vnd.ms-wpl": { + source: "iana", + extensions: ["wpl"] + }, + "application/vnd.ms-xpsdocument": { + source: "iana", + compressible: false, + extensions: ["xps"] + }, + "application/vnd.msa-disk-image": { + source: "iana" + }, + "application/vnd.mseq": { + source: "iana", + extensions: ["mseq"] + }, + "application/vnd.msgpack": { + source: "iana" + }, + "application/vnd.msign": { + source: "iana" + }, + "application/vnd.multiad.creator": { + source: "iana" + }, + "application/vnd.multiad.creator.cif": { + source: "iana" + }, + "application/vnd.music-niff": { + source: "iana" + }, + "application/vnd.musician": { + source: "iana", + extensions: ["mus"] + }, + "application/vnd.muvee.style": { + source: "iana", + extensions: ["msty"] + }, + "application/vnd.mynfc": { + source: "iana", + extensions: ["taglet"] + }, + "application/vnd.nacamar.ybrid+json": { + source: "iana", + compressible: true + }, + "application/vnd.nato.bindingdataobject+cbor": { + source: "iana" + }, + "application/vnd.nato.bindingdataobject+json": { + source: "iana", + compressible: true + }, + "application/vnd.nato.bindingdataobject+xml": { + source: "iana", + compressible: true, + extensions: ["bdo"] + }, + "application/vnd.nato.openxmlformats-package.iepd+zip": { + source: "iana", + compressible: false + }, + "application/vnd.ncd.control": { + source: "iana" + }, + "application/vnd.ncd.reference": { + source: "iana" + }, + "application/vnd.nearst.inv+json": { + source: "iana", + compressible: true + }, + "application/vnd.nebumind.line": { + source: "iana" + }, + "application/vnd.nervana": { + source: "iana" + }, + "application/vnd.netfpx": { + source: "iana" + }, + "application/vnd.neurolanguage.nlu": { + source: "iana", + extensions: ["nlu"] + }, + "application/vnd.nimn": { + source: "iana" + }, + "application/vnd.nintendo.nitro.rom": { + source: "iana" + }, + "application/vnd.nintendo.snes.rom": { + source: "iana" + }, + "application/vnd.nitf": { + source: "iana", + extensions: ["ntf", "nitf"] + }, + "application/vnd.noblenet-directory": { + source: "iana", + extensions: ["nnd"] + }, + "application/vnd.noblenet-sealer": { + source: "iana", + extensions: ["nns"] + }, + "application/vnd.noblenet-web": { + source: "iana", + extensions: ["nnw"] + }, + "application/vnd.nokia.catalogs": { + source: "iana" + }, + "application/vnd.nokia.conml+wbxml": { + source: "iana" + }, + "application/vnd.nokia.conml+xml": { + source: "iana", + compressible: true + }, + "application/vnd.nokia.iptv.config+xml": { + source: "iana", + compressible: true + }, + "application/vnd.nokia.isds-radio-presets": { + source: "iana" + }, + "application/vnd.nokia.landmark+wbxml": { + source: "iana" + }, + "application/vnd.nokia.landmark+xml": { + source: "iana", + compressible: true + }, + "application/vnd.nokia.landmarkcollection+xml": { + source: "iana", + compressible: true + }, + "application/vnd.nokia.n-gage.ac+xml": { + source: "iana", + compressible: true, + extensions: ["ac"] + }, + "application/vnd.nokia.n-gage.data": { + source: "iana", + extensions: ["ngdat"] + }, + "application/vnd.nokia.n-gage.symbian.install": { + source: "apache", + extensions: ["n-gage"] + }, + "application/vnd.nokia.ncd": { + source: "iana" + }, + "application/vnd.nokia.pcd+wbxml": { + source: "iana" + }, + "application/vnd.nokia.pcd+xml": { + source: "iana", + compressible: true + }, + "application/vnd.nokia.radio-preset": { + source: "iana", + extensions: ["rpst"] + }, + "application/vnd.nokia.radio-presets": { + source: "iana", + extensions: ["rpss"] + }, + "application/vnd.novadigm.edm": { + source: "iana", + extensions: ["edm"] + }, + "application/vnd.novadigm.edx": { + source: "iana", + extensions: ["edx"] + }, + "application/vnd.novadigm.ext": { + source: "iana", + extensions: ["ext"] + }, + "application/vnd.ntt-local.content-share": { + source: "iana" + }, + "application/vnd.ntt-local.file-transfer": { + source: "iana" + }, + "application/vnd.ntt-local.ogw_remote-access": { + source: "iana" + }, + "application/vnd.ntt-local.sip-ta_remote": { + source: "iana" + }, + "application/vnd.ntt-local.sip-ta_tcp_stream": { + source: "iana" + }, + "application/vnd.oai.workflows": { + source: "iana" + }, + "application/vnd.oai.workflows+json": { + source: "iana", + compressible: true + }, + "application/vnd.oai.workflows+yaml": { + source: "iana" + }, + "application/vnd.oasis.opendocument.base": { + source: "iana" + }, + "application/vnd.oasis.opendocument.chart": { + source: "iana", + extensions: ["odc"] + }, + "application/vnd.oasis.opendocument.chart-template": { + source: "iana", + extensions: ["otc"] + }, + "application/vnd.oasis.opendocument.database": { + source: "apache", + extensions: ["odb"] + }, + "application/vnd.oasis.opendocument.formula": { + source: "iana", + extensions: ["odf"] + }, + "application/vnd.oasis.opendocument.formula-template": { + source: "iana", + extensions: ["odft"] + }, + "application/vnd.oasis.opendocument.graphics": { + source: "iana", + compressible: false, + extensions: ["odg"] + }, + "application/vnd.oasis.opendocument.graphics-template": { + source: "iana", + extensions: ["otg"] + }, + "application/vnd.oasis.opendocument.image": { + source: "iana", + extensions: ["odi"] + }, + "application/vnd.oasis.opendocument.image-template": { + source: "iana", + extensions: ["oti"] + }, + "application/vnd.oasis.opendocument.presentation": { + source: "iana", + compressible: false, + extensions: ["odp"] + }, + "application/vnd.oasis.opendocument.presentation-template": { + source: "iana", + extensions: ["otp"] + }, + "application/vnd.oasis.opendocument.spreadsheet": { + source: "iana", + compressible: false, + extensions: ["ods"] + }, + "application/vnd.oasis.opendocument.spreadsheet-template": { + source: "iana", + extensions: ["ots"] + }, + "application/vnd.oasis.opendocument.text": { + source: "iana", + compressible: false, + extensions: ["odt"] + }, + "application/vnd.oasis.opendocument.text-master": { + source: "iana", + extensions: ["odm"] + }, + "application/vnd.oasis.opendocument.text-master-template": { + source: "iana" + }, + "application/vnd.oasis.opendocument.text-template": { + source: "iana", + extensions: ["ott"] + }, + "application/vnd.oasis.opendocument.text-web": { + source: "iana", + extensions: ["oth"] + }, + "application/vnd.obn": { + source: "iana" + }, + "application/vnd.ocf+cbor": { + source: "iana" + }, + "application/vnd.oci.image.manifest.v1+json": { + source: "iana", + compressible: true + }, + "application/vnd.oftn.l10n+json": { + source: "iana", + compressible: true + }, + "application/vnd.oipf.contentaccessdownload+xml": { + source: "iana", + compressible: true + }, + "application/vnd.oipf.contentaccessstreaming+xml": { + source: "iana", + compressible: true + }, + "application/vnd.oipf.cspg-hexbinary": { + source: "iana" + }, + "application/vnd.oipf.dae.svg+xml": { + source: "iana", + compressible: true + }, + "application/vnd.oipf.dae.xhtml+xml": { + source: "iana", + compressible: true + }, + "application/vnd.oipf.mippvcontrolmessage+xml": { + source: "iana", + compressible: true + }, + "application/vnd.oipf.pae.gem": { + source: "iana" + }, + "application/vnd.oipf.spdiscovery+xml": { + source: "iana", + compressible: true + }, + "application/vnd.oipf.spdlist+xml": { + source: "iana", + compressible: true + }, + "application/vnd.oipf.ueprofile+xml": { + source: "iana", + compressible: true + }, + "application/vnd.oipf.userprofile+xml": { + source: "iana", + compressible: true + }, + "application/vnd.olpc-sugar": { + source: "iana", + extensions: ["xo"] + }, + "application/vnd.oma-scws-config": { + source: "iana" + }, + "application/vnd.oma-scws-http-request": { + source: "iana" + }, + "application/vnd.oma-scws-http-response": { + source: "iana" + }, + "application/vnd.oma.bcast.associated-procedure-parameter+xml": { + source: "iana", + compressible: true + }, + "application/vnd.oma.bcast.drm-trigger+xml": { + source: "apache", + compressible: true + }, + "application/vnd.oma.bcast.imd+xml": { + source: "iana", + compressible: true + }, + "application/vnd.oma.bcast.ltkm": { + source: "iana" + }, + "application/vnd.oma.bcast.notification+xml": { + source: "iana", + compressible: true + }, + "application/vnd.oma.bcast.provisioningtrigger": { + source: "iana" + }, + "application/vnd.oma.bcast.sgboot": { + source: "iana" + }, + "application/vnd.oma.bcast.sgdd+xml": { + source: "iana", + compressible: true + }, + "application/vnd.oma.bcast.sgdu": { + source: "iana" + }, + "application/vnd.oma.bcast.simple-symbol-container": { + source: "iana" + }, + "application/vnd.oma.bcast.smartcard-trigger+xml": { + source: "apache", + compressible: true + }, + "application/vnd.oma.bcast.sprov+xml": { + source: "iana", + compressible: true + }, + "application/vnd.oma.bcast.stkm": { + source: "iana" + }, + "application/vnd.oma.cab-address-book+xml": { + source: "iana", + compressible: true + }, + "application/vnd.oma.cab-feature-handler+xml": { + source: "iana", + compressible: true + }, + "application/vnd.oma.cab-pcc+xml": { + source: "iana", + compressible: true + }, + "application/vnd.oma.cab-subs-invite+xml": { + source: "iana", + compressible: true + }, + "application/vnd.oma.cab-user-prefs+xml": { + source: "iana", + compressible: true + }, + "application/vnd.oma.dcd": { + source: "iana" + }, + "application/vnd.oma.dcdc": { + source: "iana" + }, + "application/vnd.oma.dd2+xml": { + source: "iana", + compressible: true, + extensions: ["dd2"] + }, + "application/vnd.oma.drm.risd+xml": { + source: "iana", + compressible: true + }, + "application/vnd.oma.group-usage-list+xml": { + source: "iana", + compressible: true + }, + "application/vnd.oma.lwm2m+cbor": { + source: "iana" + }, + "application/vnd.oma.lwm2m+json": { + source: "iana", + compressible: true + }, + "application/vnd.oma.lwm2m+tlv": { + source: "iana" + }, + "application/vnd.oma.pal+xml": { + source: "iana", + compressible: true + }, + "application/vnd.oma.poc.detailed-progress-report+xml": { + source: "iana", + compressible: true + }, + "application/vnd.oma.poc.final-report+xml": { + source: "iana", + compressible: true + }, + "application/vnd.oma.poc.groups+xml": { + source: "iana", + compressible: true + }, + "application/vnd.oma.poc.invocation-descriptor+xml": { + source: "iana", + compressible: true + }, + "application/vnd.oma.poc.optimized-progress-report+xml": { + source: "iana", + compressible: true + }, + "application/vnd.oma.push": { + source: "iana" + }, + "application/vnd.oma.scidm.messages+xml": { + source: "iana", + compressible: true + }, + "application/vnd.oma.xcap-directory+xml": { + source: "iana", + compressible: true + }, + "application/vnd.omads-email+xml": { + source: "iana", + charset: "UTF-8", + compressible: true + }, + "application/vnd.omads-file+xml": { + source: "iana", + charset: "UTF-8", + compressible: true + }, + "application/vnd.omads-folder+xml": { + source: "iana", + charset: "UTF-8", + compressible: true + }, + "application/vnd.omaloc-supl-init": { + source: "iana" + }, + "application/vnd.onepager": { + source: "iana" + }, + "application/vnd.onepagertamp": { + source: "iana" + }, + "application/vnd.onepagertamx": { + source: "iana" + }, + "application/vnd.onepagertat": { + source: "iana" + }, + "application/vnd.onepagertatp": { + source: "iana" + }, + "application/vnd.onepagertatx": { + source: "iana" + }, + "application/vnd.onvif.metadata": { + source: "iana" + }, + "application/vnd.openblox.game+xml": { + source: "iana", + compressible: true, + extensions: ["obgx"] + }, + "application/vnd.openblox.game-binary": { + source: "iana" + }, + "application/vnd.openeye.oeb": { + source: "iana" + }, + "application/vnd.openofficeorg.extension": { + source: "apache", + extensions: ["oxt"] + }, + "application/vnd.openstreetmap.data+xml": { + source: "iana", + compressible: true, + extensions: ["osm"] + }, + "application/vnd.opentimestamps.ots": { + source: "iana" + }, + "application/vnd.openvpi.dspx+json": { + source: "iana", + compressible: true + }, + "application/vnd.openxmlformats-officedocument.custom-properties+xml": { + source: "iana", + compressible: true + }, + "application/vnd.openxmlformats-officedocument.customxmlproperties+xml": { + source: "iana", + compressible: true + }, + "application/vnd.openxmlformats-officedocument.drawing+xml": { + source: "iana", + compressible: true + }, + "application/vnd.openxmlformats-officedocument.drawingml.chart+xml": { + source: "iana", + compressible: true + }, + "application/vnd.openxmlformats-officedocument.drawingml.chartshapes+xml": { + source: "iana", + compressible: true + }, + "application/vnd.openxmlformats-officedocument.drawingml.diagramcolors+xml": { + source: "iana", + compressible: true + }, + "application/vnd.openxmlformats-officedocument.drawingml.diagramdata+xml": { + source: "iana", + compressible: true + }, + "application/vnd.openxmlformats-officedocument.drawingml.diagramlayout+xml": { + source: "iana", + compressible: true + }, + "application/vnd.openxmlformats-officedocument.drawingml.diagramstyle+xml": { + source: "iana", + compressible: true + }, + "application/vnd.openxmlformats-officedocument.extended-properties+xml": { + source: "iana", + compressible: true + }, + "application/vnd.openxmlformats-officedocument.presentationml.commentauthors+xml": { + source: "iana", + compressible: true + }, + "application/vnd.openxmlformats-officedocument.presentationml.comments+xml": { + source: "iana", + compressible: true + }, + "application/vnd.openxmlformats-officedocument.presentationml.handoutmaster+xml": { + source: "iana", + compressible: true + }, + "application/vnd.openxmlformats-officedocument.presentationml.notesmaster+xml": { + source: "iana", + compressible: true + }, + "application/vnd.openxmlformats-officedocument.presentationml.notesslide+xml": { + source: "iana", + compressible: true + }, + "application/vnd.openxmlformats-officedocument.presentationml.presentation": { + source: "iana", + compressible: false, + extensions: ["pptx"] + }, + "application/vnd.openxmlformats-officedocument.presentationml.presentation.main+xml": { + source: "iana", + compressible: true + }, + "application/vnd.openxmlformats-officedocument.presentationml.presprops+xml": { + source: "iana", + compressible: true + }, + "application/vnd.openxmlformats-officedocument.presentationml.slide": { + source: "iana", + extensions: ["sldx"] + }, + "application/vnd.openxmlformats-officedocument.presentationml.slide+xml": { + source: "iana", + compressible: true + }, + "application/vnd.openxmlformats-officedocument.presentationml.slidelayout+xml": { + source: "iana", + compressible: true + }, + "application/vnd.openxmlformats-officedocument.presentationml.slidemaster+xml": { + source: "iana", + compressible: true + }, + "application/vnd.openxmlformats-officedocument.presentationml.slideshow": { + source: "iana", + extensions: ["ppsx"] + }, + "application/vnd.openxmlformats-officedocument.presentationml.slideshow.main+xml": { + source: "iana", + compressible: true + }, + "application/vnd.openxmlformats-officedocument.presentationml.slideupdateinfo+xml": { + source: "iana", + compressible: true + }, + "application/vnd.openxmlformats-officedocument.presentationml.tablestyles+xml": { + source: "iana", + compressible: true + }, + "application/vnd.openxmlformats-officedocument.presentationml.tags+xml": { + source: "iana", + compressible: true + }, + "application/vnd.openxmlformats-officedocument.presentationml.template": { + source: "iana", + extensions: ["potx"] + }, + "application/vnd.openxmlformats-officedocument.presentationml.template.main+xml": { + source: "iana", + compressible: true + }, + "application/vnd.openxmlformats-officedocument.presentationml.viewprops+xml": { + source: "iana", + compressible: true + }, + "application/vnd.openxmlformats-officedocument.spreadsheetml.calcchain+xml": { + source: "iana", + compressible: true + }, + "application/vnd.openxmlformats-officedocument.spreadsheetml.chartsheet+xml": { + source: "iana", + compressible: true + }, + "application/vnd.openxmlformats-officedocument.spreadsheetml.comments+xml": { + source: "iana", + compressible: true + }, + "application/vnd.openxmlformats-officedocument.spreadsheetml.connections+xml": { + source: "iana", + compressible: true + }, + "application/vnd.openxmlformats-officedocument.spreadsheetml.dialogsheet+xml": { + source: "iana", + compressible: true + }, + "application/vnd.openxmlformats-officedocument.spreadsheetml.externallink+xml": { + source: "iana", + compressible: true + }, + "application/vnd.openxmlformats-officedocument.spreadsheetml.pivotcachedefinition+xml": { + source: "iana", + compressible: true + }, + "application/vnd.openxmlformats-officedocument.spreadsheetml.pivotcacherecords+xml": { + source: "iana", + compressible: true + }, + "application/vnd.openxmlformats-officedocument.spreadsheetml.pivottable+xml": { + source: "iana", + compressible: true + }, + "application/vnd.openxmlformats-officedocument.spreadsheetml.querytable+xml": { + source: "iana", + compressible: true + }, + "application/vnd.openxmlformats-officedocument.spreadsheetml.revisionheaders+xml": { + source: "iana", + compressible: true + }, + "application/vnd.openxmlformats-officedocument.spreadsheetml.revisionlog+xml": { + source: "iana", + compressible: true + }, + "application/vnd.openxmlformats-officedocument.spreadsheetml.sharedstrings+xml": { + source: "iana", + compressible: true + }, + "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet": { + source: "iana", + compressible: false, + extensions: ["xlsx"] + }, + "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet.main+xml": { + source: "iana", + compressible: true + }, + "application/vnd.openxmlformats-officedocument.spreadsheetml.sheetmetadata+xml": { + source: "iana", + compressible: true + }, + "application/vnd.openxmlformats-officedocument.spreadsheetml.styles+xml": { + source: "iana", + compressible: true + }, + "application/vnd.openxmlformats-officedocument.spreadsheetml.table+xml": { + source: "iana", + compressible: true + }, + "application/vnd.openxmlformats-officedocument.spreadsheetml.tablesinglecells+xml": { + source: "iana", + compressible: true + }, + "application/vnd.openxmlformats-officedocument.spreadsheetml.template": { + source: "iana", + extensions: ["xltx"] + }, + "application/vnd.openxmlformats-officedocument.spreadsheetml.template.main+xml": { + source: "iana", + compressible: true + }, + "application/vnd.openxmlformats-officedocument.spreadsheetml.usernames+xml": { + source: "iana", + compressible: true + }, + "application/vnd.openxmlformats-officedocument.spreadsheetml.volatiledependencies+xml": { + source: "iana", + compressible: true + }, + "application/vnd.openxmlformats-officedocument.spreadsheetml.worksheet+xml": { + source: "iana", + compressible: true + }, + "application/vnd.openxmlformats-officedocument.theme+xml": { + source: "iana", + compressible: true + }, + "application/vnd.openxmlformats-officedocument.themeoverride+xml": { + source: "iana", + compressible: true + }, + "application/vnd.openxmlformats-officedocument.vmldrawing": { + source: "iana" + }, + "application/vnd.openxmlformats-officedocument.wordprocessingml.comments+xml": { + source: "iana", + compressible: true + }, + "application/vnd.openxmlformats-officedocument.wordprocessingml.document": { + source: "iana", + compressible: false, + extensions: ["docx"] + }, + "application/vnd.openxmlformats-officedocument.wordprocessingml.document.glossary+xml": { + source: "iana", + compressible: true + }, + "application/vnd.openxmlformats-officedocument.wordprocessingml.document.main+xml": { + source: "iana", + compressible: true + }, + "application/vnd.openxmlformats-officedocument.wordprocessingml.endnotes+xml": { + source: "iana", + compressible: true + }, + "application/vnd.openxmlformats-officedocument.wordprocessingml.fonttable+xml": { + source: "iana", + compressible: true + }, + "application/vnd.openxmlformats-officedocument.wordprocessingml.footer+xml": { + source: "iana", + compressible: true + }, + "application/vnd.openxmlformats-officedocument.wordprocessingml.footnotes+xml": { + source: "iana", + compressible: true + }, + "application/vnd.openxmlformats-officedocument.wordprocessingml.numbering+xml": { + source: "iana", + compressible: true + }, + "application/vnd.openxmlformats-officedocument.wordprocessingml.settings+xml": { + source: "iana", + compressible: true + }, + "application/vnd.openxmlformats-officedocument.wordprocessingml.styles+xml": { + source: "iana", + compressible: true + }, + "application/vnd.openxmlformats-officedocument.wordprocessingml.template": { + source: "iana", + extensions: ["dotx"] + }, + "application/vnd.openxmlformats-officedocument.wordprocessingml.template.main+xml": { + source: "iana", + compressible: true + }, + "application/vnd.openxmlformats-officedocument.wordprocessingml.websettings+xml": { + source: "iana", + compressible: true + }, + "application/vnd.openxmlformats-package.core-properties+xml": { + source: "iana", + compressible: true + }, + "application/vnd.openxmlformats-package.digital-signature-xmlsignature+xml": { + source: "iana", + compressible: true + }, + "application/vnd.openxmlformats-package.relationships+xml": { + source: "iana", + compressible: true + }, + "application/vnd.oracle.resource+json": { + source: "iana", + compressible: true + }, + "application/vnd.orange.indata": { + source: "iana" + }, + "application/vnd.osa.netdeploy": { + source: "iana" + }, + "application/vnd.osgeo.mapguide.package": { + source: "iana", + extensions: ["mgp"] + }, + "application/vnd.osgi.bundle": { + source: "iana" + }, + "application/vnd.osgi.dp": { + source: "iana", + extensions: ["dp"] + }, + "application/vnd.osgi.subsystem": { + source: "iana", + extensions: ["esa"] + }, + "application/vnd.otps.ct-kip+xml": { + source: "iana", + compressible: true + }, + "application/vnd.oxli.countgraph": { + source: "iana" + }, + "application/vnd.pagerduty+json": { + source: "iana", + compressible: true + }, + "application/vnd.palm": { + source: "iana", + extensions: ["pdb", "pqa", "oprc"] + }, + "application/vnd.panoply": { + source: "iana" + }, + "application/vnd.paos.xml": { + source: "iana" + }, + "application/vnd.patentdive": { + source: "iana" + }, + "application/vnd.patientecommsdoc": { + source: "iana" + }, + "application/vnd.pawaafile": { + source: "iana", + extensions: ["paw"] + }, + "application/vnd.pcos": { + source: "iana" + }, + "application/vnd.pg.format": { + source: "iana", + extensions: ["str"] + }, + "application/vnd.pg.osasli": { + source: "iana", + extensions: ["ei6"] + }, + "application/vnd.piaccess.application-licence": { + source: "iana" + }, + "application/vnd.picsel": { + source: "iana", + extensions: ["efif"] + }, + "application/vnd.pmi.widget": { + source: "iana", + extensions: ["wg"] + }, + "application/vnd.poc.group-advertisement+xml": { + source: "iana", + compressible: true + }, + "application/vnd.pocketlearn": { + source: "iana", + extensions: ["plf"] + }, + "application/vnd.powerbuilder6": { + source: "iana", + extensions: ["pbd"] + }, + "application/vnd.powerbuilder6-s": { + source: "iana" + }, + "application/vnd.powerbuilder7": { + source: "iana" + }, + "application/vnd.powerbuilder7-s": { + source: "iana" + }, + "application/vnd.powerbuilder75": { + source: "iana" + }, + "application/vnd.powerbuilder75-s": { + source: "iana" + }, + "application/vnd.preminet": { + source: "iana" + }, + "application/vnd.previewsystems.box": { + source: "iana", + extensions: ["box"] + }, + "application/vnd.procrate.brushset": { + extensions: ["brushset"] + }, + "application/vnd.procreate.brush": { + extensions: ["brush"] + }, + "application/vnd.procreate.dream": { + extensions: ["drm"] + }, + "application/vnd.proteus.magazine": { + source: "iana", + extensions: ["mgz"] + }, + "application/vnd.psfs": { + source: "iana" + }, + "application/vnd.pt.mundusmundi": { + source: "iana" + }, + "application/vnd.publishare-delta-tree": { + source: "iana", + extensions: ["qps"] + }, + "application/vnd.pvi.ptid1": { + source: "iana", + extensions: ["ptid"] + }, + "application/vnd.pwg-multiplexed": { + source: "iana" + }, + "application/vnd.pwg-xhtml-print+xml": { + source: "iana", + compressible: true, + extensions: ["xhtm"] + }, + "application/vnd.qualcomm.brew-app-res": { + source: "iana" + }, + "application/vnd.quarantainenet": { + source: "iana" + }, + "application/vnd.quark.quarkxpress": { + source: "iana", + extensions: ["qxd", "qxt", "qwd", "qwt", "qxl", "qxb"] + }, + "application/vnd.quobject-quoxdocument": { + source: "iana" + }, + "application/vnd.radisys.moml+xml": { + source: "iana", + compressible: true + }, + "application/vnd.radisys.msml+xml": { + source: "iana", + compressible: true + }, + "application/vnd.radisys.msml-audit+xml": { + source: "iana", + compressible: true + }, + "application/vnd.radisys.msml-audit-conf+xml": { + source: "iana", + compressible: true + }, + "application/vnd.radisys.msml-audit-conn+xml": { + source: "iana", + compressible: true + }, + "application/vnd.radisys.msml-audit-dialog+xml": { + source: "iana", + compressible: true + }, + "application/vnd.radisys.msml-audit-stream+xml": { + source: "iana", + compressible: true + }, + "application/vnd.radisys.msml-conf+xml": { + source: "iana", + compressible: true + }, + "application/vnd.radisys.msml-dialog+xml": { + source: "iana", + compressible: true + }, + "application/vnd.radisys.msml-dialog-base+xml": { + source: "iana", + compressible: true + }, + "application/vnd.radisys.msml-dialog-fax-detect+xml": { + source: "iana", + compressible: true + }, + "application/vnd.radisys.msml-dialog-fax-sendrecv+xml": { + source: "iana", + compressible: true + }, + "application/vnd.radisys.msml-dialog-group+xml": { + source: "iana", + compressible: true + }, + "application/vnd.radisys.msml-dialog-speech+xml": { + source: "iana", + compressible: true + }, + "application/vnd.radisys.msml-dialog-transform+xml": { + source: "iana", + compressible: true + }, + "application/vnd.rainstor.data": { + source: "iana" + }, + "application/vnd.rapid": { + source: "iana" + }, + "application/vnd.rar": { + source: "iana", + extensions: ["rar"] + }, + "application/vnd.realvnc.bed": { + source: "iana", + extensions: ["bed"] + }, + "application/vnd.recordare.musicxml": { + source: "iana", + extensions: ["mxl"] + }, + "application/vnd.recordare.musicxml+xml": { + source: "iana", + compressible: true, + extensions: ["musicxml"] + }, + "application/vnd.relpipe": { + source: "iana" + }, + "application/vnd.renlearn.rlprint": { + source: "iana" + }, + "application/vnd.resilient.logic": { + source: "iana" + }, + "application/vnd.restful+json": { + source: "iana", + compressible: true + }, + "application/vnd.rig.cryptonote": { + source: "iana", + extensions: ["cryptonote"] + }, + "application/vnd.rim.cod": { + source: "apache", + extensions: ["cod"] + }, + "application/vnd.rn-realmedia": { + source: "apache", + extensions: ["rm"] + }, + "application/vnd.rn-realmedia-vbr": { + source: "apache", + extensions: ["rmvb"] + }, + "application/vnd.route66.link66+xml": { + source: "iana", + compressible: true, + extensions: ["link66"] + }, + "application/vnd.rs-274x": { + source: "iana" + }, + "application/vnd.ruckus.download": { + source: "iana" + }, + "application/vnd.s3sms": { + source: "iana" + }, + "application/vnd.sailingtracker.track": { + source: "iana", + extensions: ["st"] + }, + "application/vnd.sar": { + source: "iana" + }, + "application/vnd.sbm.cid": { + source: "iana" + }, + "application/vnd.sbm.mid2": { + source: "iana" + }, + "application/vnd.scribus": { + source: "iana" + }, + "application/vnd.sealed.3df": { + source: "iana" + }, + "application/vnd.sealed.csf": { + source: "iana" + }, + "application/vnd.sealed.doc": { + source: "iana" + }, + "application/vnd.sealed.eml": { + source: "iana" + }, + "application/vnd.sealed.mht": { + source: "iana" + }, + "application/vnd.sealed.net": { + source: "iana" + }, + "application/vnd.sealed.ppt": { + source: "iana" + }, + "application/vnd.sealed.tiff": { + source: "iana" + }, + "application/vnd.sealed.xls": { + source: "iana" + }, + "application/vnd.sealedmedia.softseal.html": { + source: "iana" + }, + "application/vnd.sealedmedia.softseal.pdf": { + source: "iana" + }, + "application/vnd.seemail": { + source: "iana", + extensions: ["see"] + }, + "application/vnd.seis+json": { + source: "iana", + compressible: true + }, + "application/vnd.sema": { + source: "iana", + extensions: ["sema"] + }, + "application/vnd.semd": { + source: "iana", + extensions: ["semd"] + }, + "application/vnd.semf": { + source: "iana", + extensions: ["semf"] + }, + "application/vnd.shade-save-file": { + source: "iana" + }, + "application/vnd.shana.informed.formdata": { + source: "iana", + extensions: ["ifm"] + }, + "application/vnd.shana.informed.formtemplate": { + source: "iana", + extensions: ["itp"] + }, + "application/vnd.shana.informed.interchange": { + source: "iana", + extensions: ["iif"] + }, + "application/vnd.shana.informed.package": { + source: "iana", + extensions: ["ipk"] + }, + "application/vnd.shootproof+json": { + source: "iana", + compressible: true + }, + "application/vnd.shopkick+json": { + source: "iana", + compressible: true + }, + "application/vnd.shp": { + source: "iana" + }, + "application/vnd.shx": { + source: "iana" + }, + "application/vnd.sigrok.session": { + source: "iana" + }, + "application/vnd.simtech-mindmapper": { + source: "iana", + extensions: ["twd", "twds"] + }, + "application/vnd.siren+json": { + source: "iana", + compressible: true + }, + "application/vnd.sketchometry": { + source: "iana" + }, + "application/vnd.smaf": { + source: "iana", + extensions: ["mmf"] + }, + "application/vnd.smart.notebook": { + source: "iana" + }, + "application/vnd.smart.teacher": { + source: "iana", + extensions: ["teacher"] + }, + "application/vnd.smintio.portals.archive": { + source: "iana" + }, + "application/vnd.snesdev-page-table": { + source: "iana" + }, + "application/vnd.software602.filler.form+xml": { + source: "iana", + compressible: true, + extensions: ["fo"] + }, + "application/vnd.software602.filler.form-xml-zip": { + source: "iana" + }, + "application/vnd.solent.sdkm+xml": { + source: "iana", + compressible: true, + extensions: ["sdkm", "sdkd"] + }, + "application/vnd.spotfire.dxp": { + source: "iana", + extensions: ["dxp"] + }, + "application/vnd.spotfire.sfs": { + source: "iana", + extensions: ["sfs"] + }, + "application/vnd.sqlite3": { + source: "iana" + }, + "application/vnd.sss-cod": { + source: "iana" + }, + "application/vnd.sss-dtf": { + source: "iana" + }, + "application/vnd.sss-ntf": { + source: "iana" + }, + "application/vnd.stardivision.calc": { + source: "apache", + extensions: ["sdc"] + }, + "application/vnd.stardivision.draw": { + source: "apache", + extensions: ["sda"] + }, + "application/vnd.stardivision.impress": { + source: "apache", + extensions: ["sdd"] + }, + "application/vnd.stardivision.math": { + source: "apache", + extensions: ["smf"] + }, + "application/vnd.stardivision.writer": { + source: "apache", + extensions: ["sdw", "vor"] + }, + "application/vnd.stardivision.writer-global": { + source: "apache", + extensions: ["sgl"] + }, + "application/vnd.stepmania.package": { + source: "iana", + extensions: ["smzip"] + }, + "application/vnd.stepmania.stepchart": { + source: "iana", + extensions: ["sm"] + }, + "application/vnd.street-stream": { + source: "iana" + }, + "application/vnd.sun.wadl+xml": { + source: "iana", + compressible: true, + extensions: ["wadl"] + }, + "application/vnd.sun.xml.calc": { + source: "apache", + extensions: ["sxc"] + }, + "application/vnd.sun.xml.calc.template": { + source: "apache", + extensions: ["stc"] + }, + "application/vnd.sun.xml.draw": { + source: "apache", + extensions: ["sxd"] + }, + "application/vnd.sun.xml.draw.template": { + source: "apache", + extensions: ["std"] + }, + "application/vnd.sun.xml.impress": { + source: "apache", + extensions: ["sxi"] + }, + "application/vnd.sun.xml.impress.template": { + source: "apache", + extensions: ["sti"] + }, + "application/vnd.sun.xml.math": { + source: "apache", + extensions: ["sxm"] + }, + "application/vnd.sun.xml.writer": { + source: "apache", + extensions: ["sxw"] + }, + "application/vnd.sun.xml.writer.global": { + source: "apache", + extensions: ["sxg"] + }, + "application/vnd.sun.xml.writer.template": { + source: "apache", + extensions: ["stw"] + }, + "application/vnd.sus-calendar": { + source: "iana", + extensions: ["sus", "susp"] + }, + "application/vnd.svd": { + source: "iana", + extensions: ["svd"] + }, + "application/vnd.swiftview-ics": { + source: "iana" + }, + "application/vnd.sybyl.mol2": { + source: "iana" + }, + "application/vnd.sycle+xml": { + source: "iana", + compressible: true + }, + "application/vnd.syft+json": { + source: "iana", + compressible: true + }, + "application/vnd.symbian.install": { + source: "apache", + extensions: ["sis", "sisx"] + }, + "application/vnd.syncml+xml": { + source: "iana", + charset: "UTF-8", + compressible: true, + extensions: ["xsm"] + }, + "application/vnd.syncml.dm+wbxml": { + source: "iana", + charset: "UTF-8", + extensions: ["bdm"] + }, + "application/vnd.syncml.dm+xml": { + source: "iana", + charset: "UTF-8", + compressible: true, + extensions: ["xdm"] + }, + "application/vnd.syncml.dm.notification": { + source: "iana" + }, + "application/vnd.syncml.dmddf+wbxml": { + source: "iana" + }, + "application/vnd.syncml.dmddf+xml": { + source: "iana", + charset: "UTF-8", + compressible: true, + extensions: ["ddf"] + }, + "application/vnd.syncml.dmtnds+wbxml": { + source: "iana" + }, + "application/vnd.syncml.dmtnds+xml": { + source: "iana", + charset: "UTF-8", + compressible: true + }, + "application/vnd.syncml.ds.notification": { + source: "iana" + }, + "application/vnd.tableschema+json": { + source: "iana", + compressible: true + }, + "application/vnd.tao.intent-module-archive": { + source: "iana", + extensions: ["tao"] + }, + "application/vnd.tcpdump.pcap": { + source: "iana", + extensions: ["pcap", "cap", "dmp"] + }, + "application/vnd.think-cell.ppttc+json": { + source: "iana", + compressible: true + }, + "application/vnd.tmd.mediaflex.api+xml": { + source: "iana", + compressible: true + }, + "application/vnd.tml": { + source: "iana" + }, + "application/vnd.tmobile-livetv": { + source: "iana", + extensions: ["tmo"] + }, + "application/vnd.tri.onesource": { + source: "iana" + }, + "application/vnd.trid.tpt": { + source: "iana", + extensions: ["tpt"] + }, + "application/vnd.triscape.mxs": { + source: "iana", + extensions: ["mxs"] + }, + "application/vnd.trueapp": { + source: "iana", + extensions: ["tra"] + }, + "application/vnd.truedoc": { + source: "iana" + }, + "application/vnd.ubisoft.webplayer": { + source: "iana" + }, + "application/vnd.ufdl": { + source: "iana", + extensions: ["ufd", "ufdl"] + }, + "application/vnd.uic.osdm+json": { + source: "iana", + compressible: true + }, + "application/vnd.uiq.theme": { + source: "iana", + extensions: ["utz"] + }, + "application/vnd.umajin": { + source: "iana", + extensions: ["umj"] + }, + "application/vnd.unity": { + source: "iana", + extensions: ["unityweb"] + }, + "application/vnd.uoml+xml": { + source: "iana", + compressible: true, + extensions: ["uoml", "uo"] + }, + "application/vnd.uplanet.alert": { + source: "iana" + }, + "application/vnd.uplanet.alert-wbxml": { + source: "iana" + }, + "application/vnd.uplanet.bearer-choice": { + source: "iana" + }, + "application/vnd.uplanet.bearer-choice-wbxml": { + source: "iana" + }, + "application/vnd.uplanet.cacheop": { + source: "iana" + }, + "application/vnd.uplanet.cacheop-wbxml": { + source: "iana" + }, + "application/vnd.uplanet.channel": { + source: "iana" + }, + "application/vnd.uplanet.channel-wbxml": { + source: "iana" + }, + "application/vnd.uplanet.list": { + source: "iana" + }, + "application/vnd.uplanet.list-wbxml": { + source: "iana" + }, + "application/vnd.uplanet.listcmd": { + source: "iana" + }, + "application/vnd.uplanet.listcmd-wbxml": { + source: "iana" + }, + "application/vnd.uplanet.signal": { + source: "iana" + }, + "application/vnd.uri-map": { + source: "iana" + }, + "application/vnd.valve.source.material": { + source: "iana" + }, + "application/vnd.vcx": { + source: "iana", + extensions: ["vcx"] + }, + "application/vnd.vd-study": { + source: "iana" + }, + "application/vnd.vectorworks": { + source: "iana" + }, + "application/vnd.vel+json": { + source: "iana", + compressible: true + }, + "application/vnd.veraison.tsm-report+cbor": { + source: "iana" + }, + "application/vnd.veraison.tsm-report+json": { + source: "iana", + compressible: true + }, + "application/vnd.verimatrix.vcas": { + source: "iana" + }, + "application/vnd.veritone.aion+json": { + source: "iana", + compressible: true + }, + "application/vnd.veryant.thin": { + source: "iana" + }, + "application/vnd.ves.encrypted": { + source: "iana" + }, + "application/vnd.vidsoft.vidconference": { + source: "iana" + }, + "application/vnd.visio": { + source: "iana", + extensions: ["vsd", "vst", "vss", "vsw", "vsdx", "vtx"] + }, + "application/vnd.visionary": { + source: "iana", + extensions: ["vis"] + }, + "application/vnd.vividence.scriptfile": { + source: "iana" + }, + "application/vnd.vocalshaper.vsp4": { + source: "iana" + }, + "application/vnd.vsf": { + source: "iana", + extensions: ["vsf"] + }, + "application/vnd.wap.sic": { + source: "iana" + }, + "application/vnd.wap.slc": { + source: "iana" + }, + "application/vnd.wap.wbxml": { + source: "iana", + charset: "UTF-8", + extensions: ["wbxml"] + }, + "application/vnd.wap.wmlc": { + source: "iana", + extensions: ["wmlc"] + }, + "application/vnd.wap.wmlscriptc": { + source: "iana", + extensions: ["wmlsc"] + }, + "application/vnd.wasmflow.wafl": { + source: "iana" + }, + "application/vnd.webturbo": { + source: "iana", + extensions: ["wtb"] + }, + "application/vnd.wfa.dpp": { + source: "iana" + }, + "application/vnd.wfa.p2p": { + source: "iana" + }, + "application/vnd.wfa.wsc": { + source: "iana" + }, + "application/vnd.windows.devicepairing": { + source: "iana" + }, + "application/vnd.wmc": { + source: "iana" + }, + "application/vnd.wmf.bootstrap": { + source: "iana" + }, + "application/vnd.wolfram.mathematica": { + source: "iana" + }, + "application/vnd.wolfram.mathematica.package": { + source: "iana" + }, + "application/vnd.wolfram.player": { + source: "iana", + extensions: ["nbp"] + }, + "application/vnd.wordlift": { + source: "iana" + }, + "application/vnd.wordperfect": { + source: "iana", + extensions: ["wpd"] + }, + "application/vnd.wqd": { + source: "iana", + extensions: ["wqd"] + }, + "application/vnd.wrq-hp3000-labelled": { + source: "iana" + }, + "application/vnd.wt.stf": { + source: "iana", + extensions: ["stf"] + }, + "application/vnd.wv.csp+wbxml": { + source: "iana" + }, + "application/vnd.wv.csp+xml": { + source: "iana", + compressible: true + }, + "application/vnd.wv.ssp+xml": { + source: "iana", + compressible: true + }, + "application/vnd.xacml+json": { + source: "iana", + compressible: true + }, + "application/vnd.xara": { + source: "iana", + extensions: ["xar"] + }, + "application/vnd.xarin.cpj": { + source: "iana" + }, + "application/vnd.xecrets-encrypted": { + source: "iana" + }, + "application/vnd.xfdl": { + source: "iana", + extensions: ["xfdl"] + }, + "application/vnd.xfdl.webform": { + source: "iana" + }, + "application/vnd.xmi+xml": { + source: "iana", + compressible: true + }, + "application/vnd.xmpie.cpkg": { + source: "iana" + }, + "application/vnd.xmpie.dpkg": { + source: "iana" + }, + "application/vnd.xmpie.plan": { + source: "iana" + }, + "application/vnd.xmpie.ppkg": { + source: "iana" + }, + "application/vnd.xmpie.xlim": { + source: "iana" + }, + "application/vnd.yamaha.hv-dic": { + source: "iana", + extensions: ["hvd"] + }, + "application/vnd.yamaha.hv-script": { + source: "iana", + extensions: ["hvs"] + }, + "application/vnd.yamaha.hv-voice": { + source: "iana", + extensions: ["hvp"] + }, + "application/vnd.yamaha.openscoreformat": { + source: "iana", + extensions: ["osf"] + }, + "application/vnd.yamaha.openscoreformat.osfpvg+xml": { + source: "iana", + compressible: true, + extensions: ["osfpvg"] + }, + "application/vnd.yamaha.remote-setup": { + source: "iana" + }, + "application/vnd.yamaha.smaf-audio": { + source: "iana", + extensions: ["saf"] + }, + "application/vnd.yamaha.smaf-phrase": { + source: "iana", + extensions: ["spf"] + }, + "application/vnd.yamaha.through-ngn": { + source: "iana" + }, + "application/vnd.yamaha.tunnel-udpencap": { + source: "iana" + }, + "application/vnd.yaoweme": { + source: "iana" + }, + "application/vnd.yellowriver-custom-menu": { + source: "iana", + extensions: ["cmp"] + }, + "application/vnd.zul": { + source: "iana", + extensions: ["zir", "zirz"] + }, + "application/vnd.zzazz.deck+xml": { + source: "iana", + compressible: true, + extensions: ["zaz"] + }, + "application/voicexml+xml": { + source: "iana", + compressible: true, + extensions: ["vxml"] + }, + "application/voucher-cms+json": { + source: "iana", + compressible: true + }, + "application/voucher-jws+json": { + source: "iana", + compressible: true + }, + "application/vp": { + source: "iana" + }, + "application/vp+cose": { + source: "iana" + }, + "application/vp+jwt": { + source: "iana" + }, + "application/vq-rtcpxr": { + source: "iana" + }, + "application/wasm": { + source: "iana", + compressible: true, + extensions: ["wasm"] + }, + "application/watcherinfo+xml": { + source: "iana", + compressible: true, + extensions: ["wif"] + }, + "application/webpush-options+json": { + source: "iana", + compressible: true + }, + "application/whoispp-query": { + source: "iana" + }, + "application/whoispp-response": { + source: "iana" + }, + "application/widget": { + source: "iana", + extensions: ["wgt"] + }, + "application/winhlp": { + source: "apache", + extensions: ["hlp"] + }, + "application/wita": { + source: "iana" + }, + "application/wordperfect5.1": { + source: "iana" + }, + "application/wsdl+xml": { + source: "iana", + compressible: true, + extensions: ["wsdl"] + }, + "application/wspolicy+xml": { + source: "iana", + compressible: true, + extensions: ["wspolicy"] + }, + "application/x-7z-compressed": { + source: "apache", + compressible: false, + extensions: ["7z"] + }, + "application/x-abiword": { + source: "apache", + extensions: ["abw"] + }, + "application/x-ace-compressed": { + source: "apache", + extensions: ["ace"] + }, + "application/x-amf": { + source: "apache" + }, + "application/x-apple-diskimage": { + source: "apache", + extensions: ["dmg"] + }, + "application/x-arj": { + compressible: false, + extensions: ["arj"] + }, + "application/x-authorware-bin": { + source: "apache", + extensions: ["aab", "x32", "u32", "vox"] + }, + "application/x-authorware-map": { + source: "apache", + extensions: ["aam"] + }, + "application/x-authorware-seg": { + source: "apache", + extensions: ["aas"] + }, + "application/x-bcpio": { + source: "apache", + extensions: ["bcpio"] + }, + "application/x-bdoc": { + compressible: false, + extensions: ["bdoc"] + }, + "application/x-bittorrent": { + source: "apache", + extensions: ["torrent"] + }, + "application/x-blender": { + extensions: ["blend"] + }, + "application/x-blorb": { + source: "apache", + extensions: ["blb", "blorb"] + }, + "application/x-bzip": { + source: "apache", + compressible: false, + extensions: ["bz"] + }, + "application/x-bzip2": { + source: "apache", + compressible: false, + extensions: ["bz2", "boz"] + }, + "application/x-cbr": { + source: "apache", + extensions: ["cbr", "cba", "cbt", "cbz", "cb7"] + }, + "application/x-cdlink": { + source: "apache", + extensions: ["vcd"] + }, + "application/x-cfs-compressed": { + source: "apache", + extensions: ["cfs"] + }, + "application/x-chat": { + source: "apache", + extensions: ["chat"] + }, + "application/x-chess-pgn": { + source: "apache", + extensions: ["pgn"] + }, + "application/x-chrome-extension": { + extensions: ["crx"] + }, + "application/x-cocoa": { + source: "nginx", + extensions: ["cco"] + }, + "application/x-compress": { + source: "apache" + }, + "application/x-compressed": { + extensions: ["rar"] + }, + "application/x-conference": { + source: "apache", + extensions: ["nsc"] + }, + "application/x-cpio": { + source: "apache", + extensions: ["cpio"] + }, + "application/x-csh": { + source: "apache", + extensions: ["csh"] + }, + "application/x-deb": { + compressible: false + }, + "application/x-debian-package": { + source: "apache", + extensions: ["deb", "udeb"] + }, + "application/x-dgc-compressed": { + source: "apache", + extensions: ["dgc"] + }, + "application/x-director": { + source: "apache", + extensions: ["dir", "dcr", "dxr", "cst", "cct", "cxt", "w3d", "fgd", "swa"] + }, + "application/x-doom": { + source: "apache", + extensions: ["wad"] + }, + "application/x-dtbncx+xml": { + source: "apache", + compressible: true, + extensions: ["ncx"] + }, + "application/x-dtbook+xml": { + source: "apache", + compressible: true, + extensions: ["dtb"] + }, + "application/x-dtbresource+xml": { + source: "apache", + compressible: true, + extensions: ["res"] + }, + "application/x-dvi": { + source: "apache", + compressible: false, + extensions: ["dvi"] + }, + "application/x-envoy": { + source: "apache", + extensions: ["evy"] + }, + "application/x-eva": { + source: "apache", + extensions: ["eva"] + }, + "application/x-font-bdf": { + source: "apache", + extensions: ["bdf"] + }, + "application/x-font-dos": { + source: "apache" + }, + "application/x-font-framemaker": { + source: "apache" + }, + "application/x-font-ghostscript": { + source: "apache", + extensions: ["gsf"] + }, + "application/x-font-libgrx": { + source: "apache" + }, + "application/x-font-linux-psf": { + source: "apache", + extensions: ["psf"] + }, + "application/x-font-pcf": { + source: "apache", + extensions: ["pcf"] + }, + "application/x-font-snf": { + source: "apache", + extensions: ["snf"] + }, + "application/x-font-speedo": { + source: "apache" + }, + "application/x-font-sunos-news": { + source: "apache" + }, + "application/x-font-type1": { + source: "apache", + extensions: ["pfa", "pfb", "pfm", "afm"] + }, + "application/x-font-vfont": { + source: "apache" + }, + "application/x-freearc": { + source: "apache", + extensions: ["arc"] + }, + "application/x-futuresplash": { + source: "apache", + extensions: ["spl"] + }, + "application/x-gca-compressed": { + source: "apache", + extensions: ["gca"] + }, + "application/x-glulx": { + source: "apache", + extensions: ["ulx"] + }, + "application/x-gnumeric": { + source: "apache", + extensions: ["gnumeric"] + }, + "application/x-gramps-xml": { + source: "apache", + extensions: ["gramps"] + }, + "application/x-gtar": { + source: "apache", + extensions: ["gtar"] + }, + "application/x-gzip": { + source: "apache" + }, + "application/x-hdf": { + source: "apache", + extensions: ["hdf"] + }, + "application/x-httpd-php": { + compressible: true, + extensions: ["php"] + }, + "application/x-install-instructions": { + source: "apache", + extensions: ["install"] + }, + "application/x-ipynb+json": { + compressible: true, + extensions: ["ipynb"] + }, + "application/x-iso9660-image": { + source: "apache", + extensions: ["iso"] + }, + "application/x-iwork-keynote-sffkey": { + extensions: ["key"] + }, + "application/x-iwork-numbers-sffnumbers": { + extensions: ["numbers"] + }, + "application/x-iwork-pages-sffpages": { + extensions: ["pages"] + }, + "application/x-java-archive-diff": { + source: "nginx", + extensions: ["jardiff"] + }, + "application/x-java-jnlp-file": { + source: "apache", + compressible: false, + extensions: ["jnlp"] + }, + "application/x-javascript": { + compressible: true + }, + "application/x-keepass2": { + extensions: ["kdbx"] + }, + "application/x-latex": { + source: "apache", + compressible: false, + extensions: ["latex"] + }, + "application/x-lua-bytecode": { + extensions: ["luac"] + }, + "application/x-lzh-compressed": { + source: "apache", + extensions: ["lzh", "lha"] + }, + "application/x-makeself": { + source: "nginx", + extensions: ["run"] + }, + "application/x-mie": { + source: "apache", + extensions: ["mie"] + }, + "application/x-mobipocket-ebook": { + source: "apache", + extensions: ["prc", "mobi"] + }, + "application/x-mpegurl": { + compressible: false + }, + "application/x-ms-application": { + source: "apache", + extensions: ["application"] + }, + "application/x-ms-shortcut": { + source: "apache", + extensions: ["lnk"] + }, + "application/x-ms-wmd": { + source: "apache", + extensions: ["wmd"] + }, + "application/x-ms-wmz": { + source: "apache", + extensions: ["wmz"] + }, + "application/x-ms-xbap": { + source: "apache", + extensions: ["xbap"] + }, + "application/x-msaccess": { + source: "apache", + extensions: ["mdb"] + }, + "application/x-msbinder": { + source: "apache", + extensions: ["obd"] + }, + "application/x-mscardfile": { + source: "apache", + extensions: ["crd"] + }, + "application/x-msclip": { + source: "apache", + extensions: ["clp"] + }, + "application/x-msdos-program": { + extensions: ["exe"] + }, + "application/x-msdownload": { + source: "apache", + extensions: ["exe", "dll", "com", "bat", "msi"] + }, + "application/x-msmediaview": { + source: "apache", + extensions: ["mvb", "m13", "m14"] + }, + "application/x-msmetafile": { + source: "apache", + extensions: ["wmf", "wmz", "emf", "emz"] + }, + "application/x-msmoney": { + source: "apache", + extensions: ["mny"] + }, + "application/x-mspublisher": { + source: "apache", + extensions: ["pub"] + }, + "application/x-msschedule": { + source: "apache", + extensions: ["scd"] + }, + "application/x-msterminal": { + source: "apache", + extensions: ["trm"] + }, + "application/x-mswrite": { + source: "apache", + extensions: ["wri"] + }, + "application/x-netcdf": { + source: "apache", + extensions: ["nc", "cdf"] + }, + "application/x-ns-proxy-autoconfig": { + compressible: true, + extensions: ["pac"] + }, + "application/x-nzb": { + source: "apache", + extensions: ["nzb"] + }, + "application/x-perl": { + source: "nginx", + extensions: ["pl", "pm"] + }, + "application/x-pilot": { + source: "nginx", + extensions: ["prc", "pdb"] + }, + "application/x-pkcs12": { + source: "apache", + compressible: false, + extensions: ["p12", "pfx"] + }, + "application/x-pkcs7-certificates": { + source: "apache", + extensions: ["p7b", "spc"] + }, + "application/x-pkcs7-certreqresp": { + source: "apache", + extensions: ["p7r"] + }, + "application/x-pki-message": { + source: "iana" + }, + "application/x-rar-compressed": { + source: "apache", + compressible: false, + extensions: ["rar"] + }, + "application/x-redhat-package-manager": { + source: "nginx", + extensions: ["rpm"] + }, + "application/x-research-info-systems": { + source: "apache", + extensions: ["ris"] + }, + "application/x-sea": { + source: "nginx", + extensions: ["sea"] + }, + "application/x-sh": { + source: "apache", + compressible: true, + extensions: ["sh"] + }, + "application/x-shar": { + source: "apache", + extensions: ["shar"] + }, + "application/x-shockwave-flash": { + source: "apache", + compressible: false, + extensions: ["swf"] + }, + "application/x-silverlight-app": { + source: "apache", + extensions: ["xap"] + }, + "application/x-sql": { + source: "apache", + extensions: ["sql"] + }, + "application/x-stuffit": { + source: "apache", + compressible: false, + extensions: ["sit"] + }, + "application/x-stuffitx": { + source: "apache", + extensions: ["sitx"] + }, + "application/x-subrip": { + source: "apache", + extensions: ["srt"] + }, + "application/x-sv4cpio": { + source: "apache", + extensions: ["sv4cpio"] + }, + "application/x-sv4crc": { + source: "apache", + extensions: ["sv4crc"] + }, + "application/x-t3vm-image": { + source: "apache", + extensions: ["t3"] + }, + "application/x-tads": { + source: "apache", + extensions: ["gam"] + }, + "application/x-tar": { + source: "apache", + compressible: true, + extensions: ["tar"] + }, + "application/x-tcl": { + source: "apache", + extensions: ["tcl", "tk"] + }, + "application/x-tex": { + source: "apache", + extensions: ["tex"] + }, + "application/x-tex-tfm": { + source: "apache", + extensions: ["tfm"] + }, + "application/x-texinfo": { + source: "apache", + extensions: ["texinfo", "texi"] + }, + "application/x-tgif": { + source: "apache", + extensions: ["obj"] + }, + "application/x-ustar": { + source: "apache", + extensions: ["ustar"] + }, + "application/x-virtualbox-hdd": { + compressible: true, + extensions: ["hdd"] + }, + "application/x-virtualbox-ova": { + compressible: true, + extensions: ["ova"] + }, + "application/x-virtualbox-ovf": { + compressible: true, + extensions: ["ovf"] + }, + "application/x-virtualbox-vbox": { + compressible: true, + extensions: ["vbox"] + }, + "application/x-virtualbox-vbox-extpack": { + compressible: false, + extensions: ["vbox-extpack"] + }, + "application/x-virtualbox-vdi": { + compressible: true, + extensions: ["vdi"] + }, + "application/x-virtualbox-vhd": { + compressible: true, + extensions: ["vhd"] + }, + "application/x-virtualbox-vmdk": { + compressible: true, + extensions: ["vmdk"] + }, + "application/x-wais-source": { + source: "apache", + extensions: ["src"] + }, + "application/x-web-app-manifest+json": { + compressible: true, + extensions: ["webapp"] + }, + "application/x-www-form-urlencoded": { + source: "iana", + compressible: true + }, + "application/x-x509-ca-cert": { + source: "iana", + extensions: ["der", "crt", "pem"] + }, + "application/x-x509-ca-ra-cert": { + source: "iana" + }, + "application/x-x509-next-ca-cert": { + source: "iana" + }, + "application/x-xfig": { + source: "apache", + extensions: ["fig"] + }, + "application/x-xliff+xml": { + source: "apache", + compressible: true, + extensions: ["xlf"] + }, + "application/x-xpinstall": { + source: "apache", + compressible: false, + extensions: ["xpi"] + }, + "application/x-xz": { + source: "apache", + extensions: ["xz"] + }, + "application/x-zip-compressed": { + extensions: ["zip"] + }, + "application/x-zmachine": { + source: "apache", + extensions: ["z1", "z2", "z3", "z4", "z5", "z6", "z7", "z8"] + }, + "application/x400-bp": { + source: "iana" + }, + "application/xacml+xml": { + source: "iana", + compressible: true + }, + "application/xaml+xml": { + source: "apache", + compressible: true, + extensions: ["xaml"] + }, + "application/xcap-att+xml": { + source: "iana", + compressible: true, + extensions: ["xav"] + }, + "application/xcap-caps+xml": { + source: "iana", + compressible: true, + extensions: ["xca"] + }, + "application/xcap-diff+xml": { + source: "iana", + compressible: true, + extensions: ["xdf"] + }, + "application/xcap-el+xml": { + source: "iana", + compressible: true, + extensions: ["xel"] + }, + "application/xcap-error+xml": { + source: "iana", + compressible: true + }, + "application/xcap-ns+xml": { + source: "iana", + compressible: true, + extensions: ["xns"] + }, + "application/xcon-conference-info+xml": { + source: "iana", + compressible: true + }, + "application/xcon-conference-info-diff+xml": { + source: "iana", + compressible: true + }, + "application/xenc+xml": { + source: "iana", + compressible: true, + extensions: ["xenc"] + }, + "application/xfdf": { + source: "iana", + extensions: ["xfdf"] + }, + "application/xhtml+xml": { + source: "iana", + compressible: true, + extensions: ["xhtml", "xht"] + }, + "application/xhtml-voice+xml": { + source: "apache", + compressible: true + }, + "application/xliff+xml": { + source: "iana", + compressible: true, + extensions: ["xlf"] + }, + "application/xml": { + source: "iana", + compressible: true, + extensions: ["xml", "xsl", "xsd", "rng"] + }, + "application/xml-dtd": { + source: "iana", + compressible: true, + extensions: ["dtd"] + }, + "application/xml-external-parsed-entity": { + source: "iana" + }, + "application/xml-patch+xml": { + source: "iana", + compressible: true + }, + "application/xmpp+xml": { + source: "iana", + compressible: true + }, + "application/xop+xml": { + source: "iana", + compressible: true, + extensions: ["xop"] + }, + "application/xproc+xml": { + source: "apache", + compressible: true, + extensions: ["xpl"] + }, + "application/xslt+xml": { + source: "iana", + compressible: true, + extensions: ["xsl", "xslt"] + }, + "application/xspf+xml": { + source: "apache", + compressible: true, + extensions: ["xspf"] + }, + "application/xv+xml": { + source: "iana", + compressible: true, + extensions: ["mxml", "xhvml", "xvml", "xvm"] + }, + "application/yaml": { + source: "iana" + }, + "application/yang": { + source: "iana", + extensions: ["yang"] + }, + "application/yang-data+cbor": { + source: "iana" + }, + "application/yang-data+json": { + source: "iana", + compressible: true + }, + "application/yang-data+xml": { + source: "iana", + compressible: true + }, + "application/yang-patch+json": { + source: "iana", + compressible: true + }, + "application/yang-patch+xml": { + source: "iana", + compressible: true + }, + "application/yang-sid+json": { + source: "iana", + compressible: true + }, + "application/yin+xml": { + source: "iana", + compressible: true, + extensions: ["yin"] + }, + "application/zip": { + source: "iana", + compressible: false, + extensions: ["zip"] + }, + "application/zip+dotlottie": { + extensions: ["lottie"] + }, + "application/zlib": { + source: "iana" + }, + "application/zstd": { + source: "iana" + }, + "audio/1d-interleaved-parityfec": { + source: "iana" + }, + "audio/32kadpcm": { + source: "iana" + }, + "audio/3gpp": { + source: "iana", + compressible: false, + extensions: ["3gpp"] + }, + "audio/3gpp2": { + source: "iana" + }, + "audio/aac": { + source: "iana", + extensions: ["adts", "aac"] + }, + "audio/ac3": { + source: "iana" + }, + "audio/adpcm": { + source: "apache", + extensions: ["adp"] + }, + "audio/amr": { + source: "iana", + extensions: ["amr"] + }, + "audio/amr-wb": { + source: "iana" + }, + "audio/amr-wb+": { + source: "iana" + }, + "audio/aptx": { + source: "iana" + }, + "audio/asc": { + source: "iana" + }, + "audio/atrac-advanced-lossless": { + source: "iana" + }, + "audio/atrac-x": { + source: "iana" + }, + "audio/atrac3": { + source: "iana" + }, + "audio/basic": { + source: "iana", + compressible: false, + extensions: ["au", "snd"] + }, + "audio/bv16": { + source: "iana" + }, + "audio/bv32": { + source: "iana" + }, + "audio/clearmode": { + source: "iana" + }, + "audio/cn": { + source: "iana" + }, + "audio/dat12": { + source: "iana" + }, + "audio/dls": { + source: "iana" + }, + "audio/dsr-es201108": { + source: "iana" + }, + "audio/dsr-es202050": { + source: "iana" + }, + "audio/dsr-es202211": { + source: "iana" + }, + "audio/dsr-es202212": { + source: "iana" + }, + "audio/dv": { + source: "iana" + }, + "audio/dvi4": { + source: "iana" + }, + "audio/eac3": { + source: "iana" + }, + "audio/encaprtp": { + source: "iana" + }, + "audio/evrc": { + source: "iana" + }, + "audio/evrc-qcp": { + source: "iana" + }, + "audio/evrc0": { + source: "iana" + }, + "audio/evrc1": { + source: "iana" + }, + "audio/evrcb": { + source: "iana" + }, + "audio/evrcb0": { + source: "iana" + }, + "audio/evrcb1": { + source: "iana" + }, + "audio/evrcnw": { + source: "iana" + }, + "audio/evrcnw0": { + source: "iana" + }, + "audio/evrcnw1": { + source: "iana" + }, + "audio/evrcwb": { + source: "iana" + }, + "audio/evrcwb0": { + source: "iana" + }, + "audio/evrcwb1": { + source: "iana" + }, + "audio/evs": { + source: "iana" + }, + "audio/flac": { + source: "iana" + }, + "audio/flexfec": { + source: "iana" + }, + "audio/fwdred": { + source: "iana" + }, + "audio/g711-0": { + source: "iana" + }, + "audio/g719": { + source: "iana" + }, + "audio/g722": { + source: "iana" + }, + "audio/g7221": { + source: "iana" + }, + "audio/g723": { + source: "iana" + }, + "audio/g726-16": { + source: "iana" + }, + "audio/g726-24": { + source: "iana" + }, + "audio/g726-32": { + source: "iana" + }, + "audio/g726-40": { + source: "iana" + }, + "audio/g728": { + source: "iana" + }, + "audio/g729": { + source: "iana" + }, + "audio/g7291": { + source: "iana" + }, + "audio/g729d": { + source: "iana" + }, + "audio/g729e": { + source: "iana" + }, + "audio/gsm": { + source: "iana" + }, + "audio/gsm-efr": { + source: "iana" + }, + "audio/gsm-hr-08": { + source: "iana" + }, + "audio/ilbc": { + source: "iana" + }, + "audio/ip-mr_v2.5": { + source: "iana" + }, + "audio/isac": { + source: "apache" + }, + "audio/l16": { + source: "iana" + }, + "audio/l20": { + source: "iana" + }, + "audio/l24": { + source: "iana", + compressible: false + }, + "audio/l8": { + source: "iana" + }, + "audio/lpc": { + source: "iana" + }, + "audio/matroska": { + source: "iana" + }, + "audio/melp": { + source: "iana" + }, + "audio/melp1200": { + source: "iana" + }, + "audio/melp2400": { + source: "iana" + }, + "audio/melp600": { + source: "iana" + }, + "audio/mhas": { + source: "iana" + }, + "audio/midi": { + source: "apache", + extensions: ["mid", "midi", "kar", "rmi"] + }, + "audio/midi-clip": { + source: "iana" + }, + "audio/mobile-xmf": { + source: "iana", + extensions: ["mxmf"] + }, + "audio/mp3": { + compressible: false, + extensions: ["mp3"] + }, + "audio/mp4": { + source: "iana", + compressible: false, + extensions: ["m4a", "mp4a", "m4b"] + }, + "audio/mp4a-latm": { + source: "iana" + }, + "audio/mpa": { + source: "iana" + }, + "audio/mpa-robust": { + source: "iana" + }, + "audio/mpeg": { + source: "iana", + compressible: false, + extensions: ["mpga", "mp2", "mp2a", "mp3", "m2a", "m3a"] + }, + "audio/mpeg4-generic": { + source: "iana" + }, + "audio/musepack": { + source: "apache" + }, + "audio/ogg": { + source: "iana", + compressible: false, + extensions: ["oga", "ogg", "spx", "opus"] + }, + "audio/opus": { + source: "iana" + }, + "audio/parityfec": { + source: "iana" + }, + "audio/pcma": { + source: "iana" + }, + "audio/pcma-wb": { + source: "iana" + }, + "audio/pcmu": { + source: "iana" + }, + "audio/pcmu-wb": { + source: "iana" + }, + "audio/prs.sid": { + source: "iana" + }, + "audio/qcelp": { + source: "iana" + }, + "audio/raptorfec": { + source: "iana" + }, + "audio/red": { + source: "iana" + }, + "audio/rtp-enc-aescm128": { + source: "iana" + }, + "audio/rtp-midi": { + source: "iana" + }, + "audio/rtploopback": { + source: "iana" + }, + "audio/rtx": { + source: "iana" + }, + "audio/s3m": { + source: "apache", + extensions: ["s3m"] + }, + "audio/scip": { + source: "iana" + }, + "audio/silk": { + source: "apache", + extensions: ["sil"] + }, + "audio/smv": { + source: "iana" + }, + "audio/smv-qcp": { + source: "iana" + }, + "audio/smv0": { + source: "iana" + }, + "audio/sofa": { + source: "iana" + }, + "audio/sp-midi": { + source: "iana" + }, + "audio/speex": { + source: "iana" + }, + "audio/t140c": { + source: "iana" + }, + "audio/t38": { + source: "iana" + }, + "audio/telephone-event": { + source: "iana" + }, + "audio/tetra_acelp": { + source: "iana" + }, + "audio/tetra_acelp_bb": { + source: "iana" + }, + "audio/tone": { + source: "iana" + }, + "audio/tsvcis": { + source: "iana" + }, + "audio/uemclip": { + source: "iana" + }, + "audio/ulpfec": { + source: "iana" + }, + "audio/usac": { + source: "iana" + }, + "audio/vdvi": { + source: "iana" + }, + "audio/vmr-wb": { + source: "iana" + }, + "audio/vnd.3gpp.iufp": { + source: "iana" + }, + "audio/vnd.4sb": { + source: "iana" + }, + "audio/vnd.audiokoz": { + source: "iana" + }, + "audio/vnd.celp": { + source: "iana" + }, + "audio/vnd.cisco.nse": { + source: "iana" + }, + "audio/vnd.cmles.radio-events": { + source: "iana" + }, + "audio/vnd.cns.anp1": { + source: "iana" + }, + "audio/vnd.cns.inf1": { + source: "iana" + }, + "audio/vnd.dece.audio": { + source: "iana", + extensions: ["uva", "uvva"] + }, + "audio/vnd.digital-winds": { + source: "iana", + extensions: ["eol"] + }, + "audio/vnd.dlna.adts": { + source: "iana" + }, + "audio/vnd.dolby.heaac.1": { + source: "iana" + }, + "audio/vnd.dolby.heaac.2": { + source: "iana" + }, + "audio/vnd.dolby.mlp": { + source: "iana" + }, + "audio/vnd.dolby.mps": { + source: "iana" + }, + "audio/vnd.dolby.pl2": { + source: "iana" + }, + "audio/vnd.dolby.pl2x": { + source: "iana" + }, + "audio/vnd.dolby.pl2z": { + source: "iana" + }, + "audio/vnd.dolby.pulse.1": { + source: "iana" + }, + "audio/vnd.dra": { + source: "iana", + extensions: ["dra"] + }, + "audio/vnd.dts": { + source: "iana", + extensions: ["dts"] + }, + "audio/vnd.dts.hd": { + source: "iana", + extensions: ["dtshd"] + }, + "audio/vnd.dts.uhd": { + source: "iana" + }, + "audio/vnd.dvb.file": { + source: "iana" + }, + "audio/vnd.everad.plj": { + source: "iana" + }, + "audio/vnd.hns.audio": { + source: "iana" + }, + "audio/vnd.lucent.voice": { + source: "iana", + extensions: ["lvp"] + }, + "audio/vnd.ms-playready.media.pya": { + source: "iana", + extensions: ["pya"] + }, + "audio/vnd.nokia.mobile-xmf": { + source: "iana" + }, + "audio/vnd.nortel.vbk": { + source: "iana" + }, + "audio/vnd.nuera.ecelp4800": { + source: "iana", + extensions: ["ecelp4800"] + }, + "audio/vnd.nuera.ecelp7470": { + source: "iana", + extensions: ["ecelp7470"] + }, + "audio/vnd.nuera.ecelp9600": { + source: "iana", + extensions: ["ecelp9600"] + }, + "audio/vnd.octel.sbc": { + source: "iana" + }, + "audio/vnd.presonus.multitrack": { + source: "iana" + }, + "audio/vnd.qcelp": { + source: "apache" + }, + "audio/vnd.rhetorex.32kadpcm": { + source: "iana" + }, + "audio/vnd.rip": { + source: "iana", + extensions: ["rip"] + }, + "audio/vnd.rn-realaudio": { + compressible: false + }, + "audio/vnd.sealedmedia.softseal.mpeg": { + source: "iana" + }, + "audio/vnd.vmx.cvsd": { + source: "iana" + }, + "audio/vnd.wave": { + compressible: false + }, + "audio/vorbis": { + source: "iana", + compressible: false + }, + "audio/vorbis-config": { + source: "iana" + }, + "audio/wav": { + compressible: false, + extensions: ["wav"] + }, + "audio/wave": { + compressible: false, + extensions: ["wav"] + }, + "audio/webm": { + source: "apache", + compressible: false, + extensions: ["weba"] + }, + "audio/x-aac": { + source: "apache", + compressible: false, + extensions: ["aac"] + }, + "audio/x-aiff": { + source: "apache", + extensions: ["aif", "aiff", "aifc"] + }, + "audio/x-caf": { + source: "apache", + compressible: false, + extensions: ["caf"] + }, + "audio/x-flac": { + source: "apache", + extensions: ["flac"] + }, + "audio/x-m4a": { + source: "nginx", + extensions: ["m4a"] + }, + "audio/x-matroska": { + source: "apache", + extensions: ["mka"] + }, + "audio/x-mpegurl": { + source: "apache", + extensions: ["m3u"] + }, + "audio/x-ms-wax": { + source: "apache", + extensions: ["wax"] + }, + "audio/x-ms-wma": { + source: "apache", + extensions: ["wma"] + }, + "audio/x-pn-realaudio": { + source: "apache", + extensions: ["ram", "ra"] + }, + "audio/x-pn-realaudio-plugin": { + source: "apache", + extensions: ["rmp"] + }, + "audio/x-realaudio": { + source: "nginx", + extensions: ["ra"] + }, + "audio/x-tta": { + source: "apache" + }, + "audio/x-wav": { + source: "apache", + extensions: ["wav"] + }, + "audio/xm": { + source: "apache", + extensions: ["xm"] + }, + "chemical/x-cdx": { + source: "apache", + extensions: ["cdx"] + }, + "chemical/x-cif": { + source: "apache", + extensions: ["cif"] + }, + "chemical/x-cmdf": { + source: "apache", + extensions: ["cmdf"] + }, + "chemical/x-cml": { + source: "apache", + extensions: ["cml"] + }, + "chemical/x-csml": { + source: "apache", + extensions: ["csml"] + }, + "chemical/x-pdb": { + source: "apache" + }, + "chemical/x-xyz": { + source: "apache", + extensions: ["xyz"] + }, + "font/collection": { + source: "iana", + extensions: ["ttc"] + }, + "font/otf": { + source: "iana", + compressible: true, + extensions: ["otf"] + }, + "font/sfnt": { + source: "iana" + }, + "font/ttf": { + source: "iana", + compressible: true, + extensions: ["ttf"] + }, + "font/woff": { + source: "iana", + extensions: ["woff"] + }, + "font/woff2": { + source: "iana", + extensions: ["woff2"] + }, + "image/aces": { + source: "iana", + extensions: ["exr"] + }, + "image/apng": { + source: "iana", + compressible: false, + extensions: ["apng"] + }, + "image/avci": { + source: "iana", + extensions: ["avci"] + }, + "image/avcs": { + source: "iana", + extensions: ["avcs"] + }, + "image/avif": { + source: "iana", + compressible: false, + extensions: ["avif"] + }, + "image/bmp": { + source: "iana", + compressible: true, + extensions: ["bmp", "dib"] + }, + "image/cgm": { + source: "iana", + extensions: ["cgm"] + }, + "image/dicom-rle": { + source: "iana", + extensions: ["drle"] + }, + "image/dpx": { + source: "iana", + extensions: ["dpx"] + }, + "image/emf": { + source: "iana", + extensions: ["emf"] + }, + "image/fits": { + source: "iana", + extensions: ["fits"] + }, + "image/g3fax": { + source: "iana", + extensions: ["g3"] + }, + "image/gif": { + source: "iana", + compressible: false, + extensions: ["gif"] + }, + "image/heic": { + source: "iana", + extensions: ["heic"] + }, + "image/heic-sequence": { + source: "iana", + extensions: ["heics"] + }, + "image/heif": { + source: "iana", + extensions: ["heif"] + }, + "image/heif-sequence": { + source: "iana", + extensions: ["heifs"] + }, + "image/hej2k": { + source: "iana", + extensions: ["hej2"] + }, + "image/ief": { + source: "iana", + extensions: ["ief"] + }, + "image/j2c": { + source: "iana" + }, + "image/jaii": { + source: "iana", + extensions: ["jaii"] + }, + "image/jais": { + source: "iana", + extensions: ["jais"] + }, + "image/jls": { + source: "iana", + extensions: ["jls"] + }, + "image/jp2": { + source: "iana", + compressible: false, + extensions: ["jp2", "jpg2"] + }, + "image/jpeg": { + source: "iana", + compressible: false, + extensions: ["jpg", "jpeg", "jpe"] + }, + "image/jph": { + source: "iana", + extensions: ["jph"] + }, + "image/jphc": { + source: "iana", + extensions: ["jhc"] + }, + "image/jpm": { + source: "iana", + compressible: false, + extensions: ["jpm", "jpgm"] + }, + "image/jpx": { + source: "iana", + compressible: false, + extensions: ["jpx", "jpf"] + }, + "image/jxl": { + source: "iana", + extensions: ["jxl"] + }, + "image/jxr": { + source: "iana", + extensions: ["jxr"] + }, + "image/jxra": { + source: "iana", + extensions: ["jxra"] + }, + "image/jxrs": { + source: "iana", + extensions: ["jxrs"] + }, + "image/jxs": { + source: "iana", + extensions: ["jxs"] + }, + "image/jxsc": { + source: "iana", + extensions: ["jxsc"] + }, + "image/jxsi": { + source: "iana", + extensions: ["jxsi"] + }, + "image/jxss": { + source: "iana", + extensions: ["jxss"] + }, + "image/ktx": { + source: "iana", + extensions: ["ktx"] + }, + "image/ktx2": { + source: "iana", + extensions: ["ktx2"] + }, + "image/naplps": { + source: "iana" + }, + "image/pjpeg": { + compressible: false, + extensions: ["jfif"] + }, + "image/png": { + source: "iana", + compressible: false, + extensions: ["png"] + }, + "image/prs.btif": { + source: "iana", + extensions: ["btif", "btf"] + }, + "image/prs.pti": { + source: "iana", + extensions: ["pti"] + }, + "image/pwg-raster": { + source: "iana" + }, + "image/sgi": { + source: "apache", + extensions: ["sgi"] + }, + "image/svg+xml": { + source: "iana", + compressible: true, + extensions: ["svg", "svgz"] + }, + "image/t38": { + source: "iana", + extensions: ["t38"] + }, + "image/tiff": { + source: "iana", + compressible: false, + extensions: ["tif", "tiff"] + }, + "image/tiff-fx": { + source: "iana", + extensions: ["tfx"] + }, + "image/vnd.adobe.photoshop": { + source: "iana", + compressible: true, + extensions: ["psd"] + }, + "image/vnd.airzip.accelerator.azv": { + source: "iana", + extensions: ["azv"] + }, + "image/vnd.clip": { + source: "iana" + }, + "image/vnd.cns.inf2": { + source: "iana" + }, + "image/vnd.dece.graphic": { + source: "iana", + extensions: ["uvi", "uvvi", "uvg", "uvvg"] + }, + "image/vnd.djvu": { + source: "iana", + extensions: ["djvu", "djv"] + }, + "image/vnd.dvb.subtitle": { + source: "iana", + extensions: ["sub"] + }, + "image/vnd.dwg": { + source: "iana", + extensions: ["dwg"] + }, + "image/vnd.dxf": { + source: "iana", + extensions: ["dxf"] + }, + "image/vnd.fastbidsheet": { + source: "iana", + extensions: ["fbs"] + }, + "image/vnd.fpx": { + source: "iana", + extensions: ["fpx"] + }, + "image/vnd.fst": { + source: "iana", + extensions: ["fst"] + }, + "image/vnd.fujixerox.edmics-mmr": { + source: "iana", + extensions: ["mmr"] + }, + "image/vnd.fujixerox.edmics-rlc": { + source: "iana", + extensions: ["rlc"] + }, + "image/vnd.globalgraphics.pgb": { + source: "iana" + }, + "image/vnd.microsoft.icon": { + source: "iana", + compressible: true, + extensions: ["ico"] + }, + "image/vnd.mix": { + source: "iana" + }, + "image/vnd.mozilla.apng": { + source: "iana" + }, + "image/vnd.ms-dds": { + compressible: true, + extensions: ["dds"] + }, + "image/vnd.ms-modi": { + source: "iana", + extensions: ["mdi"] + }, + "image/vnd.ms-photo": { + source: "apache", + extensions: ["wdp"] + }, + "image/vnd.net-fpx": { + source: "iana", + extensions: ["npx"] + }, + "image/vnd.pco.b16": { + source: "iana", + extensions: ["b16"] + }, + "image/vnd.radiance": { + source: "iana" + }, + "image/vnd.sealed.png": { + source: "iana" + }, + "image/vnd.sealedmedia.softseal.gif": { + source: "iana" + }, + "image/vnd.sealedmedia.softseal.jpg": { + source: "iana" + }, + "image/vnd.svf": { + source: "iana" + }, + "image/vnd.tencent.tap": { + source: "iana", + extensions: ["tap"] + }, + "image/vnd.valve.source.texture": { + source: "iana", + extensions: ["vtf"] + }, + "image/vnd.wap.wbmp": { + source: "iana", + extensions: ["wbmp"] + }, + "image/vnd.xiff": { + source: "iana", + extensions: ["xif"] + }, + "image/vnd.zbrush.pcx": { + source: "iana", + extensions: ["pcx"] + }, + "image/webp": { + source: "iana", + extensions: ["webp"] + }, + "image/wmf": { + source: "iana", + extensions: ["wmf"] + }, + "image/x-3ds": { + source: "apache", + extensions: ["3ds"] + }, + "image/x-adobe-dng": { + extensions: ["dng"] + }, + "image/x-cmu-raster": { + source: "apache", + extensions: ["ras"] + }, + "image/x-cmx": { + source: "apache", + extensions: ["cmx"] + }, + "image/x-emf": { + source: "iana" + }, + "image/x-freehand": { + source: "apache", + extensions: ["fh", "fhc", "fh4", "fh5", "fh7"] + }, + "image/x-icon": { + source: "apache", + compressible: true, + extensions: ["ico"] + }, + "image/x-jng": { + source: "nginx", + extensions: ["jng"] + }, + "image/x-mrsid-image": { + source: "apache", + extensions: ["sid"] + }, + "image/x-ms-bmp": { + source: "nginx", + compressible: true, + extensions: ["bmp"] + }, + "image/x-pcx": { + source: "apache", + extensions: ["pcx"] + }, + "image/x-pict": { + source: "apache", + extensions: ["pic", "pct"] + }, + "image/x-portable-anymap": { + source: "apache", + extensions: ["pnm"] + }, + "image/x-portable-bitmap": { + source: "apache", + extensions: ["pbm"] + }, + "image/x-portable-graymap": { + source: "apache", + extensions: ["pgm"] + }, + "image/x-portable-pixmap": { + source: "apache", + extensions: ["ppm"] + }, + "image/x-rgb": { + source: "apache", + extensions: ["rgb"] + }, + "image/x-tga": { + source: "apache", + extensions: ["tga"] + }, + "image/x-wmf": { + source: "iana" + }, + "image/x-xbitmap": { + source: "apache", + extensions: ["xbm"] + }, + "image/x-xcf": { + compressible: false + }, + "image/x-xpixmap": { + source: "apache", + extensions: ["xpm"] + }, + "image/x-xwindowdump": { + source: "apache", + extensions: ["xwd"] + }, + "message/bhttp": { + source: "iana" + }, + "message/cpim": { + source: "iana" + }, + "message/delivery-status": { + source: "iana" + }, + "message/disposition-notification": { + source: "iana", + extensions: [ + "disposition-notification" + ] + }, + "message/external-body": { + source: "iana" + }, + "message/feedback-report": { + source: "iana" + }, + "message/global": { + source: "iana", + extensions: ["u8msg"] + }, + "message/global-delivery-status": { + source: "iana", + extensions: ["u8dsn"] + }, + "message/global-disposition-notification": { + source: "iana", + extensions: ["u8mdn"] + }, + "message/global-headers": { + source: "iana", + extensions: ["u8hdr"] + }, + "message/http": { + source: "iana", + compressible: false + }, + "message/imdn+xml": { + source: "iana", + compressible: true + }, + "message/mls": { + source: "iana" + }, + "message/news": { + source: "apache" + }, + "message/ohttp-req": { + source: "iana" + }, + "message/ohttp-res": { + source: "iana" + }, + "message/partial": { + source: "iana", + compressible: false + }, + "message/rfc822": { + source: "iana", + compressible: true, + extensions: ["eml", "mime", "mht", "mhtml"] + }, + "message/s-http": { + source: "apache" + }, + "message/sip": { + source: "iana" + }, + "message/sipfrag": { + source: "iana" + }, + "message/tracking-status": { + source: "iana" + }, + "message/vnd.si.simp": { + source: "apache" + }, + "message/vnd.wfa.wsc": { + source: "iana", + extensions: ["wsc"] + }, + "model/3mf": { + source: "iana", + extensions: ["3mf"] + }, + "model/e57": { + source: "iana" + }, + "model/gltf+json": { + source: "iana", + compressible: true, + extensions: ["gltf"] + }, + "model/gltf-binary": { + source: "iana", + compressible: true, + extensions: ["glb"] + }, + "model/iges": { + source: "iana", + compressible: false, + extensions: ["igs", "iges"] + }, + "model/jt": { + source: "iana", + extensions: ["jt"] + }, + "model/mesh": { + source: "iana", + compressible: false, + extensions: ["msh", "mesh", "silo"] + }, + "model/mtl": { + source: "iana", + extensions: ["mtl"] + }, + "model/obj": { + source: "iana", + extensions: ["obj"] + }, + "model/prc": { + source: "iana", + extensions: ["prc"] + }, + "model/step": { + source: "iana", + extensions: ["step", "stp", "stpnc", "p21", "210"] + }, + "model/step+xml": { + source: "iana", + compressible: true, + extensions: ["stpx"] + }, + "model/step+zip": { + source: "iana", + compressible: false, + extensions: ["stpz"] + }, + "model/step-xml+zip": { + source: "iana", + compressible: false, + extensions: ["stpxz"] + }, + "model/stl": { + source: "iana", + extensions: ["stl"] + }, + "model/u3d": { + source: "iana", + extensions: ["u3d"] + }, + "model/vnd.bary": { + source: "iana", + extensions: ["bary"] + }, + "model/vnd.cld": { + source: "iana", + extensions: ["cld"] + }, + "model/vnd.collada+xml": { + source: "iana", + compressible: true, + extensions: ["dae"] + }, + "model/vnd.dwf": { + source: "iana", + extensions: ["dwf"] + }, + "model/vnd.flatland.3dml": { + source: "iana" + }, + "model/vnd.gdl": { + source: "iana", + extensions: ["gdl"] + }, + "model/vnd.gs-gdl": { + source: "apache" + }, + "model/vnd.gs.gdl": { + source: "iana" + }, + "model/vnd.gtw": { + source: "iana", + extensions: ["gtw"] + }, + "model/vnd.moml+xml": { + source: "iana", + compressible: true + }, + "model/vnd.mts": { + source: "iana", + extensions: ["mts"] + }, + "model/vnd.opengex": { + source: "iana", + extensions: ["ogex"] + }, + "model/vnd.parasolid.transmit.binary": { + source: "iana", + extensions: ["x_b"] + }, + "model/vnd.parasolid.transmit.text": { + source: "iana", + extensions: ["x_t"] + }, + "model/vnd.pytha.pyox": { + source: "iana", + extensions: ["pyo", "pyox"] + }, + "model/vnd.rosette.annotated-data-model": { + source: "iana" + }, + "model/vnd.sap.vds": { + source: "iana", + extensions: ["vds"] + }, + "model/vnd.usda": { + source: "iana", + extensions: ["usda"] + }, + "model/vnd.usdz+zip": { + source: "iana", + compressible: false, + extensions: ["usdz"] + }, + "model/vnd.valve.source.compiled-map": { + source: "iana", + extensions: ["bsp"] + }, + "model/vnd.vtu": { + source: "iana", + extensions: ["vtu"] + }, + "model/vrml": { + source: "iana", + compressible: false, + extensions: ["wrl", "vrml"] + }, + "model/x3d+binary": { + source: "apache", + compressible: false, + extensions: ["x3db", "x3dbz"] + }, + "model/x3d+fastinfoset": { + source: "iana", + extensions: ["x3db"] + }, + "model/x3d+vrml": { + source: "apache", + compressible: false, + extensions: ["x3dv", "x3dvz"] + }, + "model/x3d+xml": { + source: "iana", + compressible: true, + extensions: ["x3d", "x3dz"] + }, + "model/x3d-vrml": { + source: "iana", + extensions: ["x3dv"] + }, + "multipart/alternative": { + source: "iana", + compressible: false + }, + "multipart/appledouble": { + source: "iana" + }, + "multipart/byteranges": { + source: "iana" + }, + "multipart/digest": { + source: "iana" + }, + "multipart/encrypted": { + source: "iana", + compressible: false + }, + "multipart/form-data": { + source: "iana", + compressible: false + }, + "multipart/header-set": { + source: "iana" + }, + "multipart/mixed": { + source: "iana" + }, + "multipart/multilingual": { + source: "iana" + }, + "multipart/parallel": { + source: "iana" + }, + "multipart/related": { + source: "iana", + compressible: false + }, + "multipart/report": { + source: "iana" + }, + "multipart/signed": { + source: "iana", + compressible: false + }, + "multipart/vnd.bint.med-plus": { + source: "iana" + }, + "multipart/voice-message": { + source: "iana" + }, + "multipart/x-mixed-replace": { + source: "iana" + }, + "text/1d-interleaved-parityfec": { + source: "iana" + }, + "text/cache-manifest": { + source: "iana", + compressible: true, + extensions: ["appcache", "manifest"] + }, + "text/calendar": { + source: "iana", + extensions: ["ics", "ifb"] + }, + "text/calender": { + compressible: true + }, + "text/cmd": { + compressible: true + }, + "text/coffeescript": { + extensions: ["coffee", "litcoffee"] + }, + "text/cql": { + source: "iana" + }, + "text/cql-expression": { + source: "iana" + }, + "text/cql-identifier": { + source: "iana" + }, + "text/css": { + source: "iana", + charset: "UTF-8", + compressible: true, + extensions: ["css"] + }, + "text/csv": { + source: "iana", + compressible: true, + extensions: ["csv"] + }, + "text/csv-schema": { + source: "iana" + }, + "text/directory": { + source: "iana" + }, + "text/dns": { + source: "iana" + }, + "text/ecmascript": { + source: "apache" + }, + "text/encaprtp": { + source: "iana" + }, + "text/enriched": { + source: "iana" + }, + "text/fhirpath": { + source: "iana" + }, + "text/flexfec": { + source: "iana" + }, + "text/fwdred": { + source: "iana" + }, + "text/gff3": { + source: "iana" + }, + "text/grammar-ref-list": { + source: "iana" + }, + "text/hl7v2": { + source: "iana" + }, + "text/html": { + source: "iana", + compressible: true, + extensions: ["html", "htm", "shtml"] + }, + "text/jade": { + extensions: ["jade"] + }, + "text/javascript": { + source: "iana", + charset: "UTF-8", + compressible: true, + extensions: ["js", "mjs"] + }, + "text/jcr-cnd": { + source: "iana" + }, + "text/jsx": { + compressible: true, + extensions: ["jsx"] + }, + "text/less": { + compressible: true, + extensions: ["less"] + }, + "text/markdown": { + source: "iana", + compressible: true, + extensions: ["md", "markdown"] + }, + "text/mathml": { + source: "nginx", + extensions: ["mml"] + }, + "text/mdx": { + compressible: true, + extensions: ["mdx"] + }, + "text/mizar": { + source: "iana" + }, + "text/n3": { + source: "iana", + charset: "UTF-8", + compressible: true, + extensions: ["n3"] + }, + "text/parameters": { + source: "iana", + charset: "UTF-8" + }, + "text/parityfec": { + source: "iana" + }, + "text/plain": { + source: "iana", + compressible: true, + extensions: ["txt", "text", "conf", "def", "list", "log", "in", "ini"] + }, + "text/provenance-notation": { + source: "iana", + charset: "UTF-8" + }, + "text/prs.fallenstein.rst": { + source: "iana" + }, + "text/prs.lines.tag": { + source: "iana", + extensions: ["dsc"] + }, + "text/prs.prop.logic": { + source: "iana" + }, + "text/prs.texi": { + source: "iana" + }, + "text/raptorfec": { + source: "iana" + }, + "text/red": { + source: "iana" + }, + "text/rfc822-headers": { + source: "iana" + }, + "text/richtext": { + source: "iana", + compressible: true, + extensions: ["rtx"] + }, + "text/rtf": { + source: "iana", + compressible: true, + extensions: ["rtf"] + }, + "text/rtp-enc-aescm128": { + source: "iana" + }, + "text/rtploopback": { + source: "iana" + }, + "text/rtx": { + source: "iana" + }, + "text/sgml": { + source: "iana", + extensions: ["sgml", "sgm"] + }, + "text/shaclc": { + source: "iana" + }, + "text/shex": { + source: "iana", + extensions: ["shex"] + }, + "text/slim": { + extensions: ["slim", "slm"] + }, + "text/spdx": { + source: "iana", + extensions: ["spdx"] + }, + "text/strings": { + source: "iana" + }, + "text/stylus": { + extensions: ["stylus", "styl"] + }, + "text/t140": { + source: "iana" + }, + "text/tab-separated-values": { + source: "iana", + compressible: true, + extensions: ["tsv"] + }, + "text/troff": { + source: "iana", + extensions: ["t", "tr", "roff", "man", "me", "ms"] + }, + "text/turtle": { + source: "iana", + charset: "UTF-8", + extensions: ["ttl"] + }, + "text/ulpfec": { + source: "iana" + }, + "text/uri-list": { + source: "iana", + compressible: true, + extensions: ["uri", "uris", "urls"] + }, + "text/vcard": { + source: "iana", + compressible: true, + extensions: ["vcard"] + }, + "text/vnd.a": { + source: "iana" + }, + "text/vnd.abc": { + source: "iana" + }, + "text/vnd.ascii-art": { + source: "iana" + }, + "text/vnd.curl": { + source: "iana", + extensions: ["curl"] + }, + "text/vnd.curl.dcurl": { + source: "apache", + extensions: ["dcurl"] + }, + "text/vnd.curl.mcurl": { + source: "apache", + extensions: ["mcurl"] + }, + "text/vnd.curl.scurl": { + source: "apache", + extensions: ["scurl"] + }, + "text/vnd.debian.copyright": { + source: "iana", + charset: "UTF-8" + }, + "text/vnd.dmclientscript": { + source: "iana" + }, + "text/vnd.dvb.subtitle": { + source: "iana", + extensions: ["sub"] + }, + "text/vnd.esmertec.theme-descriptor": { + source: "iana", + charset: "UTF-8" + }, + "text/vnd.exchangeable": { + source: "iana" + }, + "text/vnd.familysearch.gedcom": { + source: "iana", + extensions: ["ged"] + }, + "text/vnd.ficlab.flt": { + source: "iana" + }, + "text/vnd.fly": { + source: "iana", + extensions: ["fly"] + }, + "text/vnd.fmi.flexstor": { + source: "iana", + extensions: ["flx"] + }, + "text/vnd.gml": { + source: "iana" + }, + "text/vnd.graphviz": { + source: "iana", + extensions: ["gv"] + }, + "text/vnd.hans": { + source: "iana" + }, + "text/vnd.hgl": { + source: "iana" + }, + "text/vnd.in3d.3dml": { + source: "iana", + extensions: ["3dml"] + }, + "text/vnd.in3d.spot": { + source: "iana", + extensions: ["spot"] + }, + "text/vnd.iptc.newsml": { + source: "iana" + }, + "text/vnd.iptc.nitf": { + source: "iana" + }, + "text/vnd.latex-z": { + source: "iana" + }, + "text/vnd.motorola.reflex": { + source: "iana" + }, + "text/vnd.ms-mediapackage": { + source: "iana" + }, + "text/vnd.net2phone.commcenter.command": { + source: "iana" + }, + "text/vnd.radisys.msml-basic-layout": { + source: "iana" + }, + "text/vnd.senx.warpscript": { + source: "iana" + }, + "text/vnd.si.uricatalogue": { + source: "apache" + }, + "text/vnd.sosi": { + source: "iana" + }, + "text/vnd.sun.j2me.app-descriptor": { + source: "iana", + charset: "UTF-8", + extensions: ["jad"] + }, + "text/vnd.trolltech.linguist": { + source: "iana", + charset: "UTF-8" + }, + "text/vnd.vcf": { + source: "iana" + }, + "text/vnd.wap.si": { + source: "iana" + }, + "text/vnd.wap.sl": { + source: "iana" + }, + "text/vnd.wap.wml": { + source: "iana", + extensions: ["wml"] + }, + "text/vnd.wap.wmlscript": { + source: "iana", + extensions: ["wmls"] + }, + "text/vnd.zoo.kcl": { + source: "iana" + }, + "text/vtt": { + source: "iana", + charset: "UTF-8", + compressible: true, + extensions: ["vtt"] + }, + "text/wgsl": { + source: "iana", + extensions: ["wgsl"] + }, + "text/x-asm": { + source: "apache", + extensions: ["s", "asm"] + }, + "text/x-c": { + source: "apache", + extensions: ["c", "cc", "cxx", "cpp", "h", "hh", "dic"] + }, + "text/x-component": { + source: "nginx", + extensions: ["htc"] + }, + "text/x-fortran": { + source: "apache", + extensions: ["f", "for", "f77", "f90"] + }, + "text/x-gwt-rpc": { + compressible: true + }, + "text/x-handlebars-template": { + extensions: ["hbs"] + }, + "text/x-java-source": { + source: "apache", + extensions: ["java"] + }, + "text/x-jquery-tmpl": { + compressible: true + }, + "text/x-lua": { + extensions: ["lua"] + }, + "text/x-markdown": { + compressible: true, + extensions: ["mkd"] + }, + "text/x-nfo": { + source: "apache", + extensions: ["nfo"] + }, + "text/x-opml": { + source: "apache", + extensions: ["opml"] + }, + "text/x-org": { + compressible: true, + extensions: ["org"] + }, + "text/x-pascal": { + source: "apache", + extensions: ["p", "pas"] + }, + "text/x-processing": { + compressible: true, + extensions: ["pde"] + }, + "text/x-sass": { + extensions: ["sass"] + }, + "text/x-scss": { + extensions: ["scss"] + }, + "text/x-setext": { + source: "apache", + extensions: ["etx"] + }, + "text/x-sfv": { + source: "apache", + extensions: ["sfv"] + }, + "text/x-suse-ymp": { + compressible: true, + extensions: ["ymp"] + }, + "text/x-uuencode": { + source: "apache", + extensions: ["uu"] + }, + "text/x-vcalendar": { + source: "apache", + extensions: ["vcs"] + }, + "text/x-vcard": { + source: "apache", + extensions: ["vcf"] + }, + "text/xml": { + source: "iana", + compressible: true, + extensions: ["xml"] + }, + "text/xml-external-parsed-entity": { + source: "iana" + }, + "text/yaml": { + compressible: true, + extensions: ["yaml", "yml"] + }, + "video/1d-interleaved-parityfec": { + source: "iana" + }, + "video/3gpp": { + source: "iana", + extensions: ["3gp", "3gpp"] + }, + "video/3gpp-tt": { + source: "iana" + }, + "video/3gpp2": { + source: "iana", + extensions: ["3g2"] + }, + "video/av1": { + source: "iana" + }, + "video/bmpeg": { + source: "iana" + }, + "video/bt656": { + source: "iana" + }, + "video/celb": { + source: "iana" + }, + "video/dv": { + source: "iana" + }, + "video/encaprtp": { + source: "iana" + }, + "video/evc": { + source: "iana" + }, + "video/ffv1": { + source: "iana" + }, + "video/flexfec": { + source: "iana" + }, + "video/h261": { + source: "iana", + extensions: ["h261"] + }, + "video/h263": { + source: "iana", + extensions: ["h263"] + }, + "video/h263-1998": { + source: "iana" + }, + "video/h263-2000": { + source: "iana" + }, + "video/h264": { + source: "iana", + extensions: ["h264"] + }, + "video/h264-rcdo": { + source: "iana" + }, + "video/h264-svc": { + source: "iana" + }, + "video/h265": { + source: "iana" + }, + "video/h266": { + source: "iana" + }, + "video/iso.segment": { + source: "iana", + extensions: ["m4s"] + }, + "video/jpeg": { + source: "iana", + extensions: ["jpgv"] + }, + "video/jpeg2000": { + source: "iana" + }, + "video/jpm": { + source: "apache", + extensions: ["jpm", "jpgm"] + }, + "video/jxsv": { + source: "iana" + }, + "video/lottie+json": { + source: "iana", + compressible: true + }, + "video/matroska": { + source: "iana" + }, + "video/matroska-3d": { + source: "iana" + }, + "video/mj2": { + source: "iana", + extensions: ["mj2", "mjp2"] + }, + "video/mp1s": { + source: "iana" + }, + "video/mp2p": { + source: "iana" + }, + "video/mp2t": { + source: "iana", + extensions: ["ts", "m2t", "m2ts", "mts"] + }, + "video/mp4": { + source: "iana", + compressible: false, + extensions: ["mp4", "mp4v", "mpg4"] + }, + "video/mp4v-es": { + source: "iana" + }, + "video/mpeg": { + source: "iana", + compressible: false, + extensions: ["mpeg", "mpg", "mpe", "m1v", "m2v"] + }, + "video/mpeg4-generic": { + source: "iana" + }, + "video/mpv": { + source: "iana" + }, + "video/nv": { + source: "iana" + }, + "video/ogg": { + source: "iana", + compressible: false, + extensions: ["ogv"] + }, + "video/parityfec": { + source: "iana" + }, + "video/pointer": { + source: "iana" + }, + "video/quicktime": { + source: "iana", + compressible: false, + extensions: ["qt", "mov"] + }, + "video/raptorfec": { + source: "iana" + }, + "video/raw": { + source: "iana" + }, + "video/rtp-enc-aescm128": { + source: "iana" + }, + "video/rtploopback": { + source: "iana" + }, + "video/rtx": { + source: "iana" + }, + "video/scip": { + source: "iana" + }, + "video/smpte291": { + source: "iana" + }, + "video/smpte292m": { + source: "iana" + }, + "video/ulpfec": { + source: "iana" + }, + "video/vc1": { + source: "iana" + }, + "video/vc2": { + source: "iana" + }, + "video/vnd.cctv": { + source: "iana" + }, + "video/vnd.dece.hd": { + source: "iana", + extensions: ["uvh", "uvvh"] + }, + "video/vnd.dece.mobile": { + source: "iana", + extensions: ["uvm", "uvvm"] + }, + "video/vnd.dece.mp4": { + source: "iana" + }, + "video/vnd.dece.pd": { + source: "iana", + extensions: ["uvp", "uvvp"] + }, + "video/vnd.dece.sd": { + source: "iana", + extensions: ["uvs", "uvvs"] + }, + "video/vnd.dece.video": { + source: "iana", + extensions: ["uvv", "uvvv"] + }, + "video/vnd.directv.mpeg": { + source: "iana" + }, + "video/vnd.directv.mpeg-tts": { + source: "iana" + }, + "video/vnd.dlna.mpeg-tts": { + source: "iana" + }, + "video/vnd.dvb.file": { + source: "iana", + extensions: ["dvb"] + }, + "video/vnd.fvt": { + source: "iana", + extensions: ["fvt"] + }, + "video/vnd.hns.video": { + source: "iana" + }, + "video/vnd.iptvforum.1dparityfec-1010": { + source: "iana" + }, + "video/vnd.iptvforum.1dparityfec-2005": { + source: "iana" + }, + "video/vnd.iptvforum.2dparityfec-1010": { + source: "iana" + }, + "video/vnd.iptvforum.2dparityfec-2005": { + source: "iana" + }, + "video/vnd.iptvforum.ttsavc": { + source: "iana" + }, + "video/vnd.iptvforum.ttsmpeg2": { + source: "iana" + }, + "video/vnd.motorola.video": { + source: "iana" + }, + "video/vnd.motorola.videop": { + source: "iana" + }, + "video/vnd.mpegurl": { + source: "iana", + extensions: ["mxu", "m4u"] + }, + "video/vnd.ms-playready.media.pyv": { + source: "iana", + extensions: ["pyv"] + }, + "video/vnd.nokia.interleaved-multimedia": { + source: "iana" + }, + "video/vnd.nokia.mp4vr": { + source: "iana" + }, + "video/vnd.nokia.videovoip": { + source: "iana" + }, + "video/vnd.objectvideo": { + source: "iana" + }, + "video/vnd.planar": { + source: "iana" + }, + "video/vnd.radgamettools.bink": { + source: "iana" + }, + "video/vnd.radgamettools.smacker": { + source: "apache" + }, + "video/vnd.sealed.mpeg1": { + source: "iana" + }, + "video/vnd.sealed.mpeg4": { + source: "iana" + }, + "video/vnd.sealed.swf": { + source: "iana" + }, + "video/vnd.sealedmedia.softseal.mov": { + source: "iana" + }, + "video/vnd.uvvu.mp4": { + source: "iana", + extensions: ["uvu", "uvvu"] + }, + "video/vnd.vivo": { + source: "iana", + extensions: ["viv"] + }, + "video/vnd.youtube.yt": { + source: "iana" + }, + "video/vp8": { + source: "iana" + }, + "video/vp9": { + source: "iana" + }, + "video/webm": { + source: "apache", + compressible: false, + extensions: ["webm"] + }, + "video/x-f4v": { + source: "apache", + extensions: ["f4v"] + }, + "video/x-fli": { + source: "apache", + extensions: ["fli"] + }, + "video/x-flv": { + source: "apache", + compressible: false, + extensions: ["flv"] + }, + "video/x-m4v": { + source: "apache", + extensions: ["m4v"] + }, + "video/x-matroska": { + source: "apache", + compressible: false, + extensions: ["mkv", "mk3d", "mks"] + }, + "video/x-mng": { + source: "apache", + extensions: ["mng"] + }, + "video/x-ms-asf": { + source: "apache", + extensions: ["asf", "asx"] + }, + "video/x-ms-vob": { + source: "apache", + extensions: ["vob"] + }, + "video/x-ms-wm": { + source: "apache", + extensions: ["wm"] + }, + "video/x-ms-wmv": { + source: "apache", + compressible: false, + extensions: ["wmv"] + }, + "video/x-ms-wmx": { + source: "apache", + extensions: ["wmx"] + }, + "video/x-ms-wvx": { + source: "apache", + extensions: ["wvx"] + }, + "video/x-msvideo": { + source: "apache", + extensions: ["avi"] + }, + "video/x-sgi-movie": { + source: "apache", + extensions: ["movie"] + }, + "video/x-smv": { + source: "apache", + extensions: ["smv"] + }, + "x-conference/x-cooltalk": { + source: "apache", + extensions: ["ice"] + }, + "x-shader/x-fragment": { + compressible: true + }, + "x-shader/x-vertex": { + compressible: true + } + }; + } +}); +var require_mime_db = __commonJS2({ + "node_modules/type-is/node_modules/mime-db/index.js"(exports2, module2) { + module2.exports = require_db(); + } +}); +var require_mimeScore = __commonJS2({ + "node_modules/type-is/node_modules/mime-types/mimeScore.js"(exports2, module2) { + var FACET_SCORES = { + "prs.": 100, + "x-": 200, + "x.": 300, + "vnd.": 400, + default: 900 + }; + var SOURCE_SCORES = { + nginx: 10, + apache: 20, + iana: 40, + default: 30 + // definitions added by `jshttp/mime-db` project? + }; + var TYPE_SCORES = { + // prefer application/xml over text/xml + // prefer application/rtf over text/rtf + application: 1, + // prefer font/woff over application/font-woff + font: 2, + default: 0 + }; + module2.exports = function mimeScore(mimeType, source = "default") { + if (mimeType === "application/octet-stream") { + return 0; + } + const [type, subtype] = mimeType.split("/"); + const facet = subtype.replace(/(\.|x-).*/, "$1"); + const facetScore = FACET_SCORES[facet] || FACET_SCORES.default; + const sourceScore = SOURCE_SCORES[source] || SOURCE_SCORES.default; + const typeScore = TYPE_SCORES[type] || TYPE_SCORES.default; + const lengthScore = 1 - mimeType.length / 100; + return facetScore + sourceScore + typeScore + lengthScore; + }; + } +}); +var require_mime_types = __commonJS2({ + "node_modules/type-is/node_modules/mime-types/index.js"(exports2) { + "use strict"; + var db = require_mime_db(); + var extname = require("path").extname; + var mimeScore = require_mimeScore(); + var EXTRACT_TYPE_REGEXP = /^\s*([^;\s]*)(?:;|\s|$)/; + var TEXT_TYPE_REGEXP = /^text\//i; + exports2.charset = charset; + exports2.charsets = { lookup: charset }; + exports2.contentType = contentType2; + exports2.extension = extension; + exports2.extensions = /* @__PURE__ */ Object.create(null); + exports2.lookup = lookup; + exports2.types = /* @__PURE__ */ Object.create(null); + exports2._extensionConflicts = []; + populateMaps(exports2.extensions, exports2.types); + function charset(type) { + if (!type || typeof type !== "string") { + return false; + } + var match = EXTRACT_TYPE_REGEXP.exec(type); + var mime = match && db[match[1].toLowerCase()]; + if (mime && mime.charset) { + return mime.charset; + } + if (match && TEXT_TYPE_REGEXP.test(match[1])) { + return "UTF-8"; + } + return false; + } + function contentType2(str) { + if (!str || typeof str !== "string") { + return false; + } + var mime = str.indexOf("/") === -1 ? exports2.lookup(str) : str; + if (!mime) { + return false; + } + if (mime.indexOf("charset") === -1) { + var charset2 = exports2.charset(mime); + if (charset2) mime += "; charset=" + charset2.toLowerCase(); + } + return mime; + } + function extension(type) { + if (!type || typeof type !== "string") { + return false; + } + var match = EXTRACT_TYPE_REGEXP.exec(type); + var exts = match && exports2.extensions[match[1].toLowerCase()]; + if (!exts || !exts.length) { + return false; + } + return exts[0]; + } + function lookup(path) { + if (!path || typeof path !== "string") { + return false; + } + var extension2 = extname("x." + path).toLowerCase().slice(1); + if (!extension2) { + return false; + } + return exports2.types[extension2] || false; + } + function populateMaps(extensions, types) { + Object.keys(db).forEach(function forEachMimeType(type) { + var mime = db[type]; + var exts = mime.extensions; + if (!exts || !exts.length) { + return; + } + extensions[type] = exts; + for (var i = 0; i < exts.length; i++) { + var extension2 = exts[i]; + types[extension2] = _preferredType(extension2, types[extension2], type); + const legacyType = _preferredTypeLegacy( + extension2, + types[extension2], + type + ); + if (legacyType !== types[extension2]) { + exports2._extensionConflicts.push([extension2, legacyType, types[extension2]]); + } + } + }); + } + function _preferredType(ext, type0, type1) { + var score0 = type0 ? mimeScore(type0, db[type0].source) : 0; + var score1 = type1 ? mimeScore(type1, db[type1].source) : 0; + return score0 > score1 ? type0 : type1; + } + function _preferredTypeLegacy(ext, type0, type1) { + var SOURCE_RANK = ["nginx", "apache", void 0, "iana"]; + var score0 = type0 ? SOURCE_RANK.indexOf(db[type0].source) : 0; + var score1 = type1 ? SOURCE_RANK.indexOf(db[type1].source) : 0; + if (exports2.types[extension] !== "application/octet-stream" && (score0 > score1 || score0 === score1 && exports2.types[extension]?.slice(0, 12) === "application/")) { + return type0; + } + return score0 > score1 ? type0 : type1; + } + } +}); +var require_media_typer = __commonJS2({ + "node_modules/media-typer/index.js"(exports2) { + "use strict"; + var SUBTYPE_NAME_REGEXP = /^[A-Za-z0-9][A-Za-z0-9!#$&^_.-]{0,126}$/; + var TYPE_NAME_REGEXP = /^[A-Za-z0-9][A-Za-z0-9!#$&^_-]{0,126}$/; + var TYPE_REGEXP = /^ *([A-Za-z0-9][A-Za-z0-9!#$&^_-]{0,126})\/([A-Za-z0-9][A-Za-z0-9!#$&^_.+-]{0,126}) *$/; + exports2.format = format; + exports2.parse = parse; + exports2.test = test; + function format(obj) { + if (!obj || typeof obj !== "object") { + throw new TypeError("argument obj is required"); + } + var subtype = obj.subtype; + var suffix = obj.suffix; + var type = obj.type; + if (!type || !TYPE_NAME_REGEXP.test(type)) { + throw new TypeError("invalid type"); + } + if (!subtype || !SUBTYPE_NAME_REGEXP.test(subtype)) { + throw new TypeError("invalid subtype"); + } + var string = type + "/" + subtype; + if (suffix) { + if (!TYPE_NAME_REGEXP.test(suffix)) { + throw new TypeError("invalid suffix"); + } + string += "+" + suffix; + } + return string; + } + function test(string) { + if (!string) { + throw new TypeError("argument string is required"); + } + if (typeof string !== "string") { + throw new TypeError("argument string is required to be a string"); + } + return TYPE_REGEXP.test(string.toLowerCase()); + } + function parse(string) { + if (!string) { + throw new TypeError("argument string is required"); + } + if (typeof string !== "string") { + throw new TypeError("argument string is required to be a string"); + } + var match = TYPE_REGEXP.exec(string.toLowerCase()); + if (!match) { + throw new TypeError("invalid media type"); + } + var type = match[1]; + var subtype = match[2]; + var suffix; + var index = subtype.lastIndexOf("+"); + if (index !== -1) { + suffix = subtype.substr(index + 1); + subtype = subtype.substr(0, index); + } + return new MediaType(type, subtype, suffix); + } + function MediaType(type, subtype, suffix) { + this.type = type; + this.subtype = subtype; + this.suffix = suffix; + } + } +}); +var require_type_is = __commonJS2({ + "node_modules/type-is/index.js"(exports2, module2) { + "use strict"; + var contentType2 = require_content_type(); + var mime = require_mime_types(); + var typer = require_media_typer(); + module2.exports = typeofrequest; + module2.exports.is = typeis; + module2.exports.hasBody = hasbody; + module2.exports.normalize = normalize; + module2.exports.match = mimeMatch; + function typeis(value, types_) { + var i; + var types = types_; + var val = tryNormalizeType(value); + if (!val) { + return false; + } + if (types && !Array.isArray(types)) { + types = new Array(arguments.length - 1); + for (i = 0; i < types.length; i++) { + types[i] = arguments[i + 1]; + } + } + if (!types || !types.length) { + return val; + } + var type; + for (i = 0; i < types.length; i++) { + if (mimeMatch(normalize(type = types[i]), val)) { + return type[0] === "+" || type.indexOf("*") !== -1 ? val : type; + } + } + return false; + } + function hasbody(req) { + return req.headers["transfer-encoding"] !== void 0 || !isNaN(req.headers["content-length"]); + } + function typeofrequest(req, types_) { + if (!hasbody(req)) return null; + var types = arguments.length > 2 ? Array.prototype.slice.call(arguments, 1) : types_; + var value = req.headers["content-type"]; + return typeis(value, types); + } + function normalize(type) { + if (typeof type !== "string") { + return false; + } + switch (type) { + case "urlencoded": + return "application/x-www-form-urlencoded"; + case "multipart": + return "multipart/*"; + } + if (type[0] === "+") { + return "*/*" + type; + } + return type.indexOf("/") === -1 ? mime.lookup(type) : type; + } + function mimeMatch(expected, actual) { + if (expected === false) { + return false; + } + var actualParts = actual.split("/"); + var expectedParts = expected.split("/"); + if (actualParts.length !== 2 || expectedParts.length !== 2) { + return false; + } + if (expectedParts[0] !== "*" && expectedParts[0] !== actualParts[0]) { + return false; + } + if (expectedParts[1].slice(0, 2) === "*+") { + return expectedParts[1].length <= actualParts[1].length + 1 && expectedParts[1].slice(1) === actualParts[1].slice(1 - expectedParts[1].length); + } + if (expectedParts[1] !== "*" && expectedParts[1] !== actualParts[1]) { + return false; + } + return true; + } + function normalizeType(value) { + var type = contentType2.parse(value).type; + return typer.test(type) ? type : null; + } + function tryNormalizeType(value) { + try { + return value ? normalizeType(value) : null; + } catch (err2) { + return null; + } + } + } +}); +var require_utils = __commonJS2({ + "node_modules/body-parser/lib/utils.js"(exports2, module2) { + "use strict"; + var bytes = require_bytes(); + var contentType2 = require_content_type(); + var typeis = require_type_is(); + module2.exports = { + getCharset, + normalizeOptions + }; + function getCharset(req) { + try { + return (contentType2.parse(req).parameters.charset || "").toLowerCase(); + } catch { + return void 0; + } + } + function typeChecker(type) { + return function checkType(req) { + return Boolean(typeis(req, type)); + }; + } + function normalizeOptions(options, defaultType) { + if (!defaultType) { + throw new TypeError("defaultType must be provided"); + } + var inflate = options?.inflate !== false; + var limit = typeof options?.limit !== "number" ? bytes.parse(options?.limit || "100kb") : options?.limit; + var type = options?.type || defaultType; + var verify = options?.verify || false; + if (verify !== false && typeof verify !== "function") { + throw new TypeError("option verify must be function"); + } + var shouldParse = typeof type !== "function" ? typeChecker(type) : type; + return { + inflate, + limit, + verify, + shouldParse + }; + } + } +}); +var require_json = __commonJS2({ + "node_modules/body-parser/lib/types/json.js"(exports2, module2) { + "use strict"; + var createError = require_http_errors(); + var debug = require_src()("body-parser:json"); + var isFinished = require_on_finished().isFinished; + var read = require_read(); + var typeis = require_type_is(); + var { getCharset, normalizeOptions } = require_utils(); + module2.exports = json; + var FIRST_CHAR_REGEXP = /^[\x20\x09\x0a\x0d]*([^\x20\x09\x0a\x0d])/; + var JSON_SYNTAX_CHAR = "#"; + var JSON_SYNTAX_REGEXP = /#+/g; + function json(options) { + var { inflate, limit, verify, shouldParse } = normalizeOptions(options, "application/json"); + var reviver = options?.reviver; + var strict = options?.strict !== false; + function parse(body) { + if (body.length === 0) { + return {}; + } + if (strict) { + var first = firstchar(body); + if (first !== "{" && first !== "[") { + debug("strict violation"); + throw createStrictSyntaxError(body, first); + } + } + try { + debug("parse json"); + return JSON.parse(body, reviver); + } catch (e) { + throw normalizeJsonSyntaxError(e, { + message: e.message, + stack: e.stack + }); + } + } + return function jsonParser(req, res, next) { + if (isFinished(req)) { + debug("body already parsed"); + next(); + return; + } + if (!("body" in req)) { + req.body = void 0; + } + if (!typeis.hasBody(req)) { + debug("skip empty body"); + next(); + return; + } + debug("content-type %j", req.headers["content-type"]); + if (!shouldParse(req)) { + debug("skip parsing"); + next(); + return; + } + var charset = getCharset(req) || "utf-8"; + if (charset.slice(0, 4) !== "utf-") { + debug("invalid charset"); + next(createError(415, 'unsupported charset "' + charset.toUpperCase() + '"', { + charset, + type: "charset.unsupported" + })); + return; + } + read(req, res, next, parse, debug, { + encoding: charset, + inflate, + limit, + verify + }); + }; + } + function createStrictSyntaxError(str, char) { + var index = str.indexOf(char); + var partial = ""; + if (index !== -1) { + partial = str.substring(0, index) + JSON_SYNTAX_CHAR; + for (var i = index + 1; i < str.length; i++) { + partial += JSON_SYNTAX_CHAR; + } + } + try { + JSON.parse(partial); + throw new SyntaxError("strict violation"); + } catch (e) { + return normalizeJsonSyntaxError(e, { + message: e.message.replace(JSON_SYNTAX_REGEXP, function(placeholder) { + return str.substring(index, index + placeholder.length); + }), + stack: e.stack + }); + } + } + function firstchar(str) { + var match = FIRST_CHAR_REGEXP.exec(str); + return match ? match[1] : void 0; + } + function normalizeJsonSyntaxError(error, obj) { + var keys = Object.getOwnPropertyNames(error); + for (var i = 0; i < keys.length; i++) { + var key = keys[i]; + if (key !== "stack" && key !== "message") { + delete error[key]; + } + } + error.stack = obj.stack.replace(error.message, obj.message); + error.message = obj.message; + return error; + } + } +}); +var require_raw = __commonJS2({ + "node_modules/body-parser/lib/types/raw.js"(exports2, module2) { + "use strict"; + var debug = require_src()("body-parser:raw"); + var isFinished = require_on_finished().isFinished; + var read = require_read(); + var typeis = require_type_is(); + var { normalizeOptions } = require_utils(); + module2.exports = raw; + function raw(options) { + var { inflate, limit, verify, shouldParse } = normalizeOptions(options, "application/octet-stream"); + function parse(buf) { + return buf; + } + return function rawParser(req, res, next) { + if (isFinished(req)) { + debug("body already parsed"); + next(); + return; + } + if (!("body" in req)) { + req.body = void 0; + } + if (!typeis.hasBody(req)) { + debug("skip empty body"); + next(); + return; + } + debug("content-type %j", req.headers["content-type"]); + if (!shouldParse(req)) { + debug("skip parsing"); + next(); + return; + } + read(req, res, next, parse, debug, { + encoding: null, + inflate, + limit, + verify + }); + }; + } + } +}); +var require_text = __commonJS2({ + "node_modules/body-parser/lib/types/text.js"(exports2, module2) { + "use strict"; + var debug = require_src()("body-parser:text"); + var isFinished = require_on_finished().isFinished; + var read = require_read(); + var typeis = require_type_is(); + var { getCharset, normalizeOptions } = require_utils(); + module2.exports = text; + function text(options) { + var { inflate, limit, verify, shouldParse } = normalizeOptions(options, "text/plain"); + var defaultCharset = options?.defaultCharset || "utf-8"; + function parse(buf) { + return buf; + } + return function textParser(req, res, next) { + if (isFinished(req)) { + debug("body already parsed"); + next(); + return; + } + if (!("body" in req)) { + req.body = void 0; + } + if (!typeis.hasBody(req)) { + debug("skip empty body"); + next(); + return; + } + debug("content-type %j", req.headers["content-type"]); + if (!shouldParse(req)) { + debug("skip parsing"); + next(); + return; + } + var charset = getCharset(req) || defaultCharset; + read(req, res, next, parse, debug, { + encoding: charset, + inflate, + limit, + verify + }); + }; + } + } +}); +var require_type = __commonJS2({ + "node_modules/es-errors/type.js"(exports2, module2) { + "use strict"; + module2.exports = TypeError; + } +}); +var require_util_inspect = __commonJS2({ + "node_modules/object-inspect/util.inspect.js"(exports2, module2) { + module2.exports = require("util").inspect; + } +}); +var require_object_inspect = __commonJS2({ + "node_modules/object-inspect/index.js"(exports2, module2) { + var hasMap = typeof Map === "function" && Map.prototype; + var mapSizeDescriptor = Object.getOwnPropertyDescriptor && hasMap ? Object.getOwnPropertyDescriptor(Map.prototype, "size") : null; + var mapSize = hasMap && mapSizeDescriptor && typeof mapSizeDescriptor.get === "function" ? mapSizeDescriptor.get : null; + var mapForEach = hasMap && Map.prototype.forEach; + var hasSet = typeof Set === "function" && Set.prototype; + var setSizeDescriptor = Object.getOwnPropertyDescriptor && hasSet ? Object.getOwnPropertyDescriptor(Set.prototype, "size") : null; + var setSize = hasSet && setSizeDescriptor && typeof setSizeDescriptor.get === "function" ? setSizeDescriptor.get : null; + var setForEach = hasSet && Set.prototype.forEach; + var hasWeakMap = typeof WeakMap === "function" && WeakMap.prototype; + var weakMapHas = hasWeakMap ? WeakMap.prototype.has : null; + var hasWeakSet = typeof WeakSet === "function" && WeakSet.prototype; + var weakSetHas = hasWeakSet ? WeakSet.prototype.has : null; + var hasWeakRef = typeof WeakRef === "function" && WeakRef.prototype; + var weakRefDeref = hasWeakRef ? WeakRef.prototype.deref : null; + var booleanValueOf = Boolean.prototype.valueOf; + var objectToString = Object.prototype.toString; + var functionToString = Function.prototype.toString; + var $match = String.prototype.match; + var $slice = String.prototype.slice; + var $replace = String.prototype.replace; + var $toUpperCase = String.prototype.toUpperCase; + var $toLowerCase = String.prototype.toLowerCase; + var $test = RegExp.prototype.test; + var $concat = Array.prototype.concat; + var $join = Array.prototype.join; + var $arrSlice = Array.prototype.slice; + var $floor = Math.floor; + var bigIntValueOf = typeof BigInt === "function" ? BigInt.prototype.valueOf : null; + var gOPS = Object.getOwnPropertySymbols; + var symToString = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? Symbol.prototype.toString : null; + var hasShammedSymbols = typeof Symbol === "function" && typeof Symbol.iterator === "object"; + var toStringTag = typeof Symbol === "function" && Symbol.toStringTag && (typeof Symbol.toStringTag === hasShammedSymbols ? "object" : "symbol") ? Symbol.toStringTag : null; + var isEnumerable = Object.prototype.propertyIsEnumerable; + var gPO = (typeof Reflect === "function" ? Reflect.getPrototypeOf : Object.getPrototypeOf) || ([].__proto__ === Array.prototype ? function(O) { + return O.__proto__; + } : null); + function addNumericSeparator(num, str) { + if (num === Infinity || num === -Infinity || num !== num || num && num > -1e3 && num < 1e3 || $test.call(/e/, str)) { + return str; + } + var sepRegex = /[0-9](?=(?:[0-9]{3})+(?![0-9]))/g; + if (typeof num === "number") { + var int = num < 0 ? -$floor(-num) : $floor(num); + if (int !== num) { + var intStr = String(int); + var dec = $slice.call(str, intStr.length + 1); + return $replace.call(intStr, sepRegex, "$&_") + "." + $replace.call($replace.call(dec, /([0-9]{3})/g, "$&_"), /_$/, ""); + } + } + return $replace.call(str, sepRegex, "$&_"); + } + var utilInspect = require_util_inspect(); + var inspectCustom = utilInspect.custom; + var inspectSymbol = isSymbol(inspectCustom) ? inspectCustom : null; + var quotes = { + __proto__: null, + "double": '"', + single: "'" + }; + var quoteREs = { + __proto__: null, + "double": /(["\\])/g, + single: /(['\\])/g + }; + module2.exports = function inspect_(obj, options, depth, seen) { + var opts = options || {}; + if (has(opts, "quoteStyle") && !has(quotes, opts.quoteStyle)) { + throw new TypeError('option "quoteStyle" must be "single" or "double"'); + } + if (has(opts, "maxStringLength") && (typeof opts.maxStringLength === "number" ? opts.maxStringLength < 0 && opts.maxStringLength !== Infinity : opts.maxStringLength !== null)) { + throw new TypeError('option "maxStringLength", if provided, must be a positive integer, Infinity, or `null`'); + } + var customInspect = has(opts, "customInspect") ? opts.customInspect : true; + if (typeof customInspect !== "boolean" && customInspect !== "symbol") { + throw new TypeError("option \"customInspect\", if provided, must be `true`, `false`, or `'symbol'`"); + } + if (has(opts, "indent") && opts.indent !== null && opts.indent !== " " && !(parseInt(opts.indent, 10) === opts.indent && opts.indent > 0)) { + throw new TypeError('option "indent" must be "\\t", an integer > 0, or `null`'); + } + if (has(opts, "numericSeparator") && typeof opts.numericSeparator !== "boolean") { + throw new TypeError('option "numericSeparator", if provided, must be `true` or `false`'); + } + var numericSeparator = opts.numericSeparator; + if (typeof obj === "undefined") { + return "undefined"; + } + if (obj === null) { + return "null"; + } + if (typeof obj === "boolean") { + return obj ? "true" : "false"; + } + if (typeof obj === "string") { + return inspectString(obj, opts); + } + if (typeof obj === "number") { + if (obj === 0) { + return Infinity / obj > 0 ? "0" : "-0"; + } + var str = String(obj); + return numericSeparator ? addNumericSeparator(obj, str) : str; + } + if (typeof obj === "bigint") { + var bigIntStr = String(obj) + "n"; + return numericSeparator ? addNumericSeparator(obj, bigIntStr) : bigIntStr; + } + var maxDepth = typeof opts.depth === "undefined" ? 5 : opts.depth; + if (typeof depth === "undefined") { + depth = 0; + } + if (depth >= maxDepth && maxDepth > 0 && typeof obj === "object") { + return isArray(obj) ? "[Array]" : "[Object]"; + } + var indent = getIndent(opts, depth); + if (typeof seen === "undefined") { + seen = []; + } else if (indexOf(seen, obj) >= 0) { + return "[Circular]"; + } + function inspect(value, from, noIndent) { + if (from) { + seen = $arrSlice.call(seen); + seen.push(from); + } + if (noIndent) { + var newOpts = { + depth: opts.depth + }; + if (has(opts, "quoteStyle")) { + newOpts.quoteStyle = opts.quoteStyle; + } + return inspect_(value, newOpts, depth + 1, seen); + } + return inspect_(value, opts, depth + 1, seen); + } + if (typeof obj === "function" && !isRegExp(obj)) { + var name = nameOf(obj); + var keys = arrObjKeys(obj, inspect); + return "[Function" + (name ? ": " + name : " (anonymous)") + "]" + (keys.length > 0 ? " { " + $join.call(keys, ", ") + " }" : ""); + } + if (isSymbol(obj)) { + var symString = hasShammedSymbols ? $replace.call(String(obj), /^(Symbol\(.*\))_[^)]*$/, "$1") : symToString.call(obj); + return typeof obj === "object" && !hasShammedSymbols ? markBoxed(symString) : symString; + } + if (isElement(obj)) { + var s = "<" + $toLowerCase.call(String(obj.nodeName)); + var attrs = obj.attributes || []; + for (var i = 0; i < attrs.length; i++) { + s += " " + attrs[i].name + "=" + wrapQuotes(quote(attrs[i].value), "double", opts); + } + s += ">"; + if (obj.childNodes && obj.childNodes.length) { + s += "..."; + } + s += ""; + return s; + } + if (isArray(obj)) { + if (obj.length === 0) { + return "[]"; + } + var xs = arrObjKeys(obj, inspect); + if (indent && !singleLineValues(xs)) { + return "[" + indentedJoin(xs, indent) + "]"; + } + return "[ " + $join.call(xs, ", ") + " ]"; + } + if (isError(obj)) { + var parts = arrObjKeys(obj, inspect); + if (!("cause" in Error.prototype) && "cause" in obj && !isEnumerable.call(obj, "cause")) { + return "{ [" + String(obj) + "] " + $join.call($concat.call("[cause]: " + inspect(obj.cause), parts), ", ") + " }"; + } + if (parts.length === 0) { + return "[" + String(obj) + "]"; + } + return "{ [" + String(obj) + "] " + $join.call(parts, ", ") + " }"; + } + if (typeof obj === "object" && customInspect) { + if (inspectSymbol && typeof obj[inspectSymbol] === "function" && utilInspect) { + return utilInspect(obj, { depth: maxDepth - depth }); + } else if (customInspect !== "symbol" && typeof obj.inspect === "function") { + return obj.inspect(); + } + } + if (isMap(obj)) { + var mapParts = []; + if (mapForEach) { + mapForEach.call(obj, function(value, key) { + mapParts.push(inspect(key, obj, true) + " => " + inspect(value, obj)); + }); + } + return collectionOf("Map", mapSize.call(obj), mapParts, indent); + } + if (isSet(obj)) { + var setParts = []; + if (setForEach) { + setForEach.call(obj, function(value) { + setParts.push(inspect(value, obj)); + }); + } + return collectionOf("Set", setSize.call(obj), setParts, indent); + } + if (isWeakMap(obj)) { + return weakCollectionOf("WeakMap"); + } + if (isWeakSet(obj)) { + return weakCollectionOf("WeakSet"); + } + if (isWeakRef(obj)) { + return weakCollectionOf("WeakRef"); + } + if (isNumber(obj)) { + return markBoxed(inspect(Number(obj))); + } + if (isBigInt(obj)) { + return markBoxed(inspect(bigIntValueOf.call(obj))); + } + if (isBoolean(obj)) { + return markBoxed(booleanValueOf.call(obj)); + } + if (isString(obj)) { + return markBoxed(inspect(String(obj))); + } + if (typeof window !== "undefined" && obj === window) { + return "{ [object Window] }"; + } + if (typeof globalThis !== "undefined" && obj === globalThis || typeof global !== "undefined" && obj === global) { + return "{ [object globalThis] }"; + } + if (!isDate(obj) && !isRegExp(obj)) { + var ys = arrObjKeys(obj, inspect); + var isPlainObject = gPO ? gPO(obj) === Object.prototype : obj instanceof Object || obj.constructor === Object; + var protoTag = obj instanceof Object ? "" : "null prototype"; + var stringTag = !isPlainObject && toStringTag && Object(obj) === obj && toStringTag in obj ? $slice.call(toStr(obj), 8, -1) : protoTag ? "Object" : ""; + var constructorTag = isPlainObject || typeof obj.constructor !== "function" ? "" : obj.constructor.name ? obj.constructor.name + " " : ""; + var tag = constructorTag + (stringTag || protoTag ? "[" + $join.call($concat.call([], stringTag || [], protoTag || []), ": ") + "] " : ""); + if (ys.length === 0) { + return tag + "{}"; + } + if (indent) { + return tag + "{" + indentedJoin(ys, indent) + "}"; + } + return tag + "{ " + $join.call(ys, ", ") + " }"; + } + return String(obj); + }; + function wrapQuotes(s, defaultStyle, opts) { + var style = opts.quoteStyle || defaultStyle; + var quoteChar = quotes[style]; + return quoteChar + s + quoteChar; + } + function quote(s) { + return $replace.call(String(s), /"/g, """); + } + function canTrustToString(obj) { + return !toStringTag || !(typeof obj === "object" && (toStringTag in obj || typeof obj[toStringTag] !== "undefined")); + } + function isArray(obj) { + return toStr(obj) === "[object Array]" && canTrustToString(obj); + } + function isDate(obj) { + return toStr(obj) === "[object Date]" && canTrustToString(obj); + } + function isRegExp(obj) { + return toStr(obj) === "[object RegExp]" && canTrustToString(obj); + } + function isError(obj) { + return toStr(obj) === "[object Error]" && canTrustToString(obj); + } + function isString(obj) { + return toStr(obj) === "[object String]" && canTrustToString(obj); + } + function isNumber(obj) { + return toStr(obj) === "[object Number]" && canTrustToString(obj); + } + function isBoolean(obj) { + return toStr(obj) === "[object Boolean]" && canTrustToString(obj); + } + function isSymbol(obj) { + if (hasShammedSymbols) { + return obj && typeof obj === "object" && obj instanceof Symbol; + } + if (typeof obj === "symbol") { + return true; + } + if (!obj || typeof obj !== "object" || !symToString) { + return false; + } + try { + symToString.call(obj); + return true; + } catch (e) { + } + return false; + } + function isBigInt(obj) { + if (!obj || typeof obj !== "object" || !bigIntValueOf) { + return false; + } + try { + bigIntValueOf.call(obj); + return true; + } catch (e) { + } + return false; + } + var hasOwn = Object.prototype.hasOwnProperty || function(key) { + return key in this; + }; + function has(obj, key) { + return hasOwn.call(obj, key); + } + function toStr(obj) { + return objectToString.call(obj); + } + function nameOf(f) { + if (f.name) { + return f.name; + } + var m = $match.call(functionToString.call(f), /^function\s*([\w$]+)/); + if (m) { + return m[1]; + } + return null; + } + function indexOf(xs, x) { + if (xs.indexOf) { + return xs.indexOf(x); + } + for (var i = 0, l = xs.length; i < l; i++) { + if (xs[i] === x) { + return i; + } + } + return -1; + } + function isMap(x) { + if (!mapSize || !x || typeof x !== "object") { + return false; + } + try { + mapSize.call(x); + try { + setSize.call(x); + } catch (s) { + return true; + } + return x instanceof Map; + } catch (e) { + } + return false; + } + function isWeakMap(x) { + if (!weakMapHas || !x || typeof x !== "object") { + return false; + } + try { + weakMapHas.call(x, weakMapHas); + try { + weakSetHas.call(x, weakSetHas); + } catch (s) { + return true; + } + return x instanceof WeakMap; + } catch (e) { + } + return false; + } + function isWeakRef(x) { + if (!weakRefDeref || !x || typeof x !== "object") { + return false; + } + try { + weakRefDeref.call(x); + return true; + } catch (e) { + } + return false; + } + function isSet(x) { + if (!setSize || !x || typeof x !== "object") { + return false; + } + try { + setSize.call(x); + try { + mapSize.call(x); + } catch (m) { + return true; + } + return x instanceof Set; + } catch (e) { + } + return false; + } + function isWeakSet(x) { + if (!weakSetHas || !x || typeof x !== "object") { + return false; + } + try { + weakSetHas.call(x, weakSetHas); + try { + weakMapHas.call(x, weakMapHas); + } catch (s) { + return true; + } + return x instanceof WeakSet; + } catch (e) { + } + return false; + } + function isElement(x) { + if (!x || typeof x !== "object") { + return false; + } + if (typeof HTMLElement !== "undefined" && x instanceof HTMLElement) { + return true; + } + return typeof x.nodeName === "string" && typeof x.getAttribute === "function"; + } + function inspectString(str, opts) { + if (str.length > opts.maxStringLength) { + var remaining = str.length - opts.maxStringLength; + var trailer = "... " + remaining + " more character" + (remaining > 1 ? "s" : ""); + return inspectString($slice.call(str, 0, opts.maxStringLength), opts) + trailer; + } + var quoteRE = quoteREs[opts.quoteStyle || "single"]; + quoteRE.lastIndex = 0; + var s = $replace.call($replace.call(str, quoteRE, "\\$1"), /[\x00-\x1f]/g, lowbyte); + return wrapQuotes(s, "single", opts); + } + function lowbyte(c) { + var n = c.charCodeAt(0); + var x = { + 8: "b", + 9: "t", + 10: "n", + 12: "f", + 13: "r" + }[n]; + if (x) { + return "\\" + x; + } + return "\\x" + (n < 16 ? "0" : "") + $toUpperCase.call(n.toString(16)); + } + function markBoxed(str) { + return "Object(" + str + ")"; + } + function weakCollectionOf(type) { + return type + " { ? }"; + } + function collectionOf(type, size, entries, indent) { + var joinedEntries = indent ? indentedJoin(entries, indent) : $join.call(entries, ", "); + return type + " (" + size + ") {" + joinedEntries + "}"; + } + function singleLineValues(xs) { + for (var i = 0; i < xs.length; i++) { + if (indexOf(xs[i], "\n") >= 0) { + return false; + } + } + return true; + } + function getIndent(opts, depth) { + var baseIndent; + if (opts.indent === " ") { + baseIndent = " "; + } else if (typeof opts.indent === "number" && opts.indent > 0) { + baseIndent = $join.call(Array(opts.indent + 1), " "); + } else { + return null; + } + return { + base: baseIndent, + prev: $join.call(Array(depth + 1), baseIndent) + }; + } + function indentedJoin(xs, indent) { + if (xs.length === 0) { + return ""; + } + var lineJoiner = "\n" + indent.prev + indent.base; + return lineJoiner + $join.call(xs, "," + lineJoiner) + "\n" + indent.prev; + } + function arrObjKeys(obj, inspect) { + var isArr = isArray(obj); + var xs = []; + if (isArr) { + xs.length = obj.length; + for (var i = 0; i < obj.length; i++) { + xs[i] = has(obj, i) ? inspect(obj[i], obj) : ""; + } + } + var syms = typeof gOPS === "function" ? gOPS(obj) : []; + var symMap; + if (hasShammedSymbols) { + symMap = {}; + for (var k = 0; k < syms.length; k++) { + symMap["$" + syms[k]] = syms[k]; + } + } + for (var key in obj) { + if (!has(obj, key)) { + continue; + } + if (isArr && String(Number(key)) === key && key < obj.length) { + continue; + } + if (hasShammedSymbols && symMap["$" + key] instanceof Symbol) { + continue; + } else if ($test.call(/[^\w$]/, key)) { + xs.push(inspect(key, obj) + ": " + inspect(obj[key], obj)); + } else { + xs.push(key + ": " + inspect(obj[key], obj)); + } + } + if (typeof gOPS === "function") { + for (var j = 0; j < syms.length; j++) { + if (isEnumerable.call(obj, syms[j])) { + xs.push("[" + inspect(syms[j]) + "]: " + inspect(obj[syms[j]], obj)); + } + } + } + return xs; + } + } +}); +var require_side_channel_list = __commonJS2({ + "node_modules/side-channel-list/index.js"(exports2, module2) { + "use strict"; + var inspect = require_object_inspect(); + var $TypeError = require_type(); + var listGetNode = function(list, key, isDelete) { + var prev = list; + var curr; + for (; (curr = prev.next) != null; prev = curr) { + if (curr.key === key) { + prev.next = curr.next; + if (!isDelete) { + curr.next = /** @type {NonNullable} */ + list.next; + list.next = curr; + } + return curr; + } + } + }; + var listGet = function(objects, key) { + if (!objects) { + return void 0; + } + var node = listGetNode(objects, key); + return node && node.value; + }; + var listSet = function(objects, key, value) { + var node = listGetNode(objects, key); + if (node) { + node.value = value; + } else { + objects.next = /** @type {import('./list.d.ts').ListNode} */ + { + // eslint-disable-line no-param-reassign, no-extra-parens + key, + next: objects.next, + value + }; + } + }; + var listHas = function(objects, key) { + if (!objects) { + return false; + } + return !!listGetNode(objects, key); + }; + var listDelete = function(objects, key) { + if (objects) { + return listGetNode(objects, key, true); + } + }; + module2.exports = function getSideChannelList() { + var $o; + var channel = { + assert: function(key) { + if (!channel.has(key)) { + throw new $TypeError("Side channel does not contain " + inspect(key)); + } + }, + "delete": function(key) { + var root = $o && $o.next; + var deletedNode = listDelete($o, key); + if (deletedNode && root && root === deletedNode) { + $o = void 0; + } + return !!deletedNode; + }, + get: function(key) { + return listGet($o, key); + }, + has: function(key) { + return listHas($o, key); + }, + set: function(key, value) { + if (!$o) { + $o = { + next: void 0 + }; + } + listSet( + /** @type {NonNullable} */ + $o, + key, + value + ); + } + }; + return channel; + }; + } +}); +var require_es_object_atoms = __commonJS2({ + "node_modules/es-object-atoms/index.js"(exports2, module2) { + "use strict"; + module2.exports = Object; + } +}); +var require_es_errors = __commonJS2({ + "node_modules/es-errors/index.js"(exports2, module2) { + "use strict"; + module2.exports = Error; + } +}); +var require_eval = __commonJS2({ + "node_modules/es-errors/eval.js"(exports2, module2) { + "use strict"; + module2.exports = EvalError; + } +}); +var require_range = __commonJS2({ + "node_modules/es-errors/range.js"(exports2, module2) { + "use strict"; + module2.exports = RangeError; + } +}); +var require_ref2 = __commonJS2({ + "node_modules/es-errors/ref.js"(exports2, module2) { + "use strict"; + module2.exports = ReferenceError; + } +}); +var require_syntax = __commonJS2({ + "node_modules/es-errors/syntax.js"(exports2, module2) { + "use strict"; + module2.exports = SyntaxError; + } +}); +var require_uri = __commonJS2({ + "node_modules/es-errors/uri.js"(exports2, module2) { + "use strict"; + module2.exports = URIError; + } +}); +var require_abs = __commonJS2({ + "node_modules/math-intrinsics/abs.js"(exports2, module2) { + "use strict"; + module2.exports = Math.abs; + } +}); +var require_floor = __commonJS2({ + "node_modules/math-intrinsics/floor.js"(exports2, module2) { + "use strict"; + module2.exports = Math.floor; + } +}); +var require_max = __commonJS2({ + "node_modules/math-intrinsics/max.js"(exports2, module2) { + "use strict"; + module2.exports = Math.max; + } +}); +var require_min = __commonJS2({ + "node_modules/math-intrinsics/min.js"(exports2, module2) { + "use strict"; + module2.exports = Math.min; + } +}); +var require_pow = __commonJS2({ + "node_modules/math-intrinsics/pow.js"(exports2, module2) { + "use strict"; + module2.exports = Math.pow; + } +}); +var require_round = __commonJS2({ + "node_modules/math-intrinsics/round.js"(exports2, module2) { + "use strict"; + module2.exports = Math.round; + } +}); +var require_isNaN = __commonJS2({ + "node_modules/math-intrinsics/isNaN.js"(exports2, module2) { + "use strict"; + module2.exports = Number.isNaN || function isNaN2(a) { + return a !== a; + }; + } +}); +var require_sign = __commonJS2({ + "node_modules/math-intrinsics/sign.js"(exports2, module2) { + "use strict"; + var $isNaN = require_isNaN(); + module2.exports = function sign(number) { + if ($isNaN(number) || number === 0) { + return number; + } + return number < 0 ? -1 : 1; + }; + } +}); +var require_gOPD = __commonJS2({ + "node_modules/gopd/gOPD.js"(exports2, module2) { + "use strict"; + module2.exports = Object.getOwnPropertyDescriptor; + } +}); +var require_gopd = __commonJS2({ + "node_modules/gopd/index.js"(exports2, module2) { + "use strict"; + var $gOPD = require_gOPD(); + if ($gOPD) { + try { + $gOPD([], "length"); + } catch (e) { + $gOPD = null; + } + } + module2.exports = $gOPD; + } +}); +var require_es_define_property = __commonJS2({ + "node_modules/es-define-property/index.js"(exports2, module2) { + "use strict"; + var $defineProperty = Object.defineProperty || false; + if ($defineProperty) { + try { + $defineProperty({}, "a", { value: 1 }); + } catch (e) { + $defineProperty = false; + } + } + module2.exports = $defineProperty; + } +}); +var require_shams = __commonJS2({ + "node_modules/has-symbols/shams.js"(exports2, module2) { + "use strict"; + module2.exports = function hasSymbols() { + if (typeof Symbol !== "function" || typeof Object.getOwnPropertySymbols !== "function") { + return false; + } + if (typeof Symbol.iterator === "symbol") { + return true; + } + var obj = {}; + var sym = Symbol("test"); + var symObj = Object(sym); + if (typeof sym === "string") { + return false; + } + if (Object.prototype.toString.call(sym) !== "[object Symbol]") { + return false; + } + if (Object.prototype.toString.call(symObj) !== "[object Symbol]") { + return false; + } + var symVal = 42; + obj[sym] = symVal; + for (var _2 in obj) { + return false; + } + if (typeof Object.keys === "function" && Object.keys(obj).length !== 0) { + return false; + } + if (typeof Object.getOwnPropertyNames === "function" && Object.getOwnPropertyNames(obj).length !== 0) { + return false; + } + var syms = Object.getOwnPropertySymbols(obj); + if (syms.length !== 1 || syms[0] !== sym) { + return false; + } + if (!Object.prototype.propertyIsEnumerable.call(obj, sym)) { + return false; + } + if (typeof Object.getOwnPropertyDescriptor === "function") { + var descriptor = ( + /** @type {PropertyDescriptor} */ + Object.getOwnPropertyDescriptor(obj, sym) + ); + if (descriptor.value !== symVal || descriptor.enumerable !== true) { + return false; + } + } + return true; + }; + } +}); +var require_has_symbols = __commonJS2({ + "node_modules/has-symbols/index.js"(exports2, module2) { + "use strict"; + var origSymbol = typeof Symbol !== "undefined" && Symbol; + var hasSymbolSham = require_shams(); + module2.exports = function hasNativeSymbols() { + if (typeof origSymbol !== "function") { + return false; + } + if (typeof Symbol !== "function") { + return false; + } + if (typeof origSymbol("foo") !== "symbol") { + return false; + } + if (typeof Symbol("bar") !== "symbol") { + return false; + } + return hasSymbolSham(); + }; + } +}); +var require_Reflect_getPrototypeOf = __commonJS2({ + "node_modules/get-proto/Reflect.getPrototypeOf.js"(exports2, module2) { + "use strict"; + module2.exports = typeof Reflect !== "undefined" && Reflect.getPrototypeOf || null; + } +}); +var require_Object_getPrototypeOf = __commonJS2({ + "node_modules/get-proto/Object.getPrototypeOf.js"(exports2, module2) { + "use strict"; + var $Object = require_es_object_atoms(); + module2.exports = $Object.getPrototypeOf || null; + } +}); +var require_implementation = __commonJS2({ + "node_modules/function-bind/implementation.js"(exports2, module2) { + "use strict"; + var ERROR_MESSAGE = "Function.prototype.bind called on incompatible "; + var toStr = Object.prototype.toString; + var max = Math.max; + var funcType = "[object Function]"; + var concatty = function concatty2(a, b) { + var arr = []; + for (var i = 0; i < a.length; i += 1) { + arr[i] = a[i]; + } + for (var j = 0; j < b.length; j += 1) { + arr[j + a.length] = b[j]; + } + return arr; + }; + var slicy = function slicy2(arrLike, offset) { + var arr = []; + for (var i = offset || 0, j = 0; i < arrLike.length; i += 1, j += 1) { + arr[j] = arrLike[i]; + } + return arr; + }; + var joiny = function(arr, joiner) { + var str = ""; + for (var i = 0; i < arr.length; i += 1) { + str += arr[i]; + if (i + 1 < arr.length) { + str += joiner; + } + } + return str; + }; + module2.exports = function bind(that) { + var target = this; + if (typeof target !== "function" || toStr.apply(target) !== funcType) { + throw new TypeError(ERROR_MESSAGE + target); + } + var args = slicy(arguments, 1); + var bound; + var binder = function() { + if (this instanceof bound) { + var result = target.apply( + this, + concatty(args, arguments) + ); + if (Object(result) === result) { + return result; + } + return this; + } + return target.apply( + that, + concatty(args, arguments) + ); + }; + var boundLength = max(0, target.length - args.length); + var boundArgs = []; + for (var i = 0; i < boundLength; i++) { + boundArgs[i] = "$" + i; + } + bound = Function("binder", "return function (" + joiny(boundArgs, ",") + "){ return binder.apply(this,arguments); }")(binder); + if (target.prototype) { + var Empty = function Empty2() { + }; + Empty.prototype = target.prototype; + bound.prototype = new Empty(); + Empty.prototype = null; + } + return bound; + }; + } +}); +var require_function_bind = __commonJS2({ + "node_modules/function-bind/index.js"(exports2, module2) { + "use strict"; + var implementation = require_implementation(); + module2.exports = Function.prototype.bind || implementation; + } +}); +var require_functionCall = __commonJS2({ + "node_modules/call-bind-apply-helpers/functionCall.js"(exports2, module2) { + "use strict"; + module2.exports = Function.prototype.call; + } +}); +var require_functionApply = __commonJS2({ + "node_modules/call-bind-apply-helpers/functionApply.js"(exports2, module2) { + "use strict"; + module2.exports = Function.prototype.apply; + } +}); +var require_reflectApply = __commonJS2({ + "node_modules/call-bind-apply-helpers/reflectApply.js"(exports2, module2) { + "use strict"; + module2.exports = typeof Reflect !== "undefined" && Reflect && Reflect.apply; + } +}); +var require_actualApply = __commonJS2({ + "node_modules/call-bind-apply-helpers/actualApply.js"(exports2, module2) { + "use strict"; + var bind = require_function_bind(); + var $apply = require_functionApply(); + var $call = require_functionCall(); + var $reflectApply = require_reflectApply(); + module2.exports = $reflectApply || bind.call($call, $apply); + } +}); +var require_call_bind_apply_helpers = __commonJS2({ + "node_modules/call-bind-apply-helpers/index.js"(exports2, module2) { + "use strict"; + var bind = require_function_bind(); + var $TypeError = require_type(); + var $call = require_functionCall(); + var $actualApply = require_actualApply(); + module2.exports = function callBindBasic(args) { + if (args.length < 1 || typeof args[0] !== "function") { + throw new $TypeError("a function is required"); + } + return $actualApply(bind, $call, args); + }; + } +}); +var require_get = __commonJS2({ + "node_modules/dunder-proto/get.js"(exports2, module2) { + "use strict"; + var callBind = require_call_bind_apply_helpers(); + var gOPD = require_gopd(); + var hasProtoAccessor; + try { + hasProtoAccessor = /** @type {{ __proto__?: typeof Array.prototype }} */ + [].__proto__ === Array.prototype; + } catch (e) { + if (!e || typeof e !== "object" || !("code" in e) || e.code !== "ERR_PROTO_ACCESS") { + throw e; + } + } + var desc = !!hasProtoAccessor && gOPD && gOPD( + Object.prototype, + /** @type {keyof typeof Object.prototype} */ + "__proto__" + ); + var $Object = Object; + var $getPrototypeOf = $Object.getPrototypeOf; + module2.exports = desc && typeof desc.get === "function" ? callBind([desc.get]) : typeof $getPrototypeOf === "function" ? ( + /** @type {import('./get')} */ + (function getDunder(value) { + return $getPrototypeOf(value == null ? value : $Object(value)); + }) + ) : false; + } +}); +var require_get_proto = __commonJS2({ + "node_modules/get-proto/index.js"(exports2, module2) { + "use strict"; + var reflectGetProto = require_Reflect_getPrototypeOf(); + var originalGetProto = require_Object_getPrototypeOf(); + var getDunderProto = require_get(); + module2.exports = reflectGetProto ? function getProto(O) { + return reflectGetProto(O); + } : originalGetProto ? function getProto(O) { + if (!O || typeof O !== "object" && typeof O !== "function") { + throw new TypeError("getProto: not an object"); + } + return originalGetProto(O); + } : getDunderProto ? function getProto(O) { + return getDunderProto(O); + } : null; + } +}); +var require_hasown = __commonJS2({ + "node_modules/hasown/index.js"(exports2, module2) { + "use strict"; + var call = Function.prototype.call; + var $hasOwn = Object.prototype.hasOwnProperty; + var bind = require_function_bind(); + module2.exports = bind.call(call, $hasOwn); + } +}); +var require_get_intrinsic = __commonJS2({ + "node_modules/get-intrinsic/index.js"(exports2, module2) { + "use strict"; + var undefined2; + var $Object = require_es_object_atoms(); + var $Error = require_es_errors(); + var $EvalError = require_eval(); + var $RangeError = require_range(); + var $ReferenceError = require_ref2(); + var $SyntaxError = require_syntax(); + var $TypeError = require_type(); + var $URIError = require_uri(); + var abs = require_abs(); + var floor = require_floor(); + var max = require_max(); + var min = require_min(); + var pow = require_pow(); + var round = require_round(); + var sign = require_sign(); + var $Function = Function; + var getEvalledConstructor = function(expressionSyntax) { + try { + return $Function('"use strict"; return (' + expressionSyntax + ").constructor;")(); + } catch (e) { + } + }; + var $gOPD = require_gopd(); + var $defineProperty = require_es_define_property(); + var throwTypeError = function() { + throw new $TypeError(); + }; + var ThrowTypeError = $gOPD ? (function() { + try { + arguments.callee; + return throwTypeError; + } catch (calleeThrows) { + try { + return $gOPD(arguments, "callee").get; + } catch (gOPDthrows) { + return throwTypeError; + } + } + })() : throwTypeError; + var hasSymbols = require_has_symbols()(); + var getProto = require_get_proto(); + var $ObjectGPO = require_Object_getPrototypeOf(); + var $ReflectGPO = require_Reflect_getPrototypeOf(); + var $apply = require_functionApply(); + var $call = require_functionCall(); + var needsEval = {}; + var TypedArray = typeof Uint8Array === "undefined" || !getProto ? undefined2 : getProto(Uint8Array); + var INTRINSICS = { + __proto__: null, + "%AggregateError%": typeof AggregateError === "undefined" ? undefined2 : AggregateError, + "%Array%": Array, + "%ArrayBuffer%": typeof ArrayBuffer === "undefined" ? undefined2 : ArrayBuffer, + "%ArrayIteratorPrototype%": hasSymbols && getProto ? getProto([][Symbol.iterator]()) : undefined2, + "%AsyncFromSyncIteratorPrototype%": undefined2, + "%AsyncFunction%": needsEval, + "%AsyncGenerator%": needsEval, + "%AsyncGeneratorFunction%": needsEval, + "%AsyncIteratorPrototype%": needsEval, + "%Atomics%": typeof Atomics === "undefined" ? undefined2 : Atomics, + "%BigInt%": typeof BigInt === "undefined" ? undefined2 : BigInt, + "%BigInt64Array%": typeof BigInt64Array === "undefined" ? undefined2 : BigInt64Array, + "%BigUint64Array%": typeof BigUint64Array === "undefined" ? undefined2 : BigUint64Array, + "%Boolean%": Boolean, + "%DataView%": typeof DataView === "undefined" ? undefined2 : DataView, + "%Date%": Date, + "%decodeURI%": decodeURI, + "%decodeURIComponent%": decodeURIComponent, + "%encodeURI%": encodeURI, + "%encodeURIComponent%": encodeURIComponent, + "%Error%": $Error, + "%eval%": eval, + // eslint-disable-line no-eval + "%EvalError%": $EvalError, + "%Float16Array%": typeof Float16Array === "undefined" ? undefined2 : Float16Array, + "%Float32Array%": typeof Float32Array === "undefined" ? undefined2 : Float32Array, + "%Float64Array%": typeof Float64Array === "undefined" ? undefined2 : Float64Array, + "%FinalizationRegistry%": typeof FinalizationRegistry === "undefined" ? undefined2 : FinalizationRegistry, + "%Function%": $Function, + "%GeneratorFunction%": needsEval, + "%Int8Array%": typeof Int8Array === "undefined" ? undefined2 : Int8Array, + "%Int16Array%": typeof Int16Array === "undefined" ? undefined2 : Int16Array, + "%Int32Array%": typeof Int32Array === "undefined" ? undefined2 : Int32Array, + "%isFinite%": isFinite, + "%isNaN%": isNaN, + "%IteratorPrototype%": hasSymbols && getProto ? getProto(getProto([][Symbol.iterator]())) : undefined2, + "%JSON%": typeof JSON === "object" ? JSON : undefined2, + "%Map%": typeof Map === "undefined" ? undefined2 : Map, + "%MapIteratorPrototype%": typeof Map === "undefined" || !hasSymbols || !getProto ? undefined2 : getProto((/* @__PURE__ */ new Map())[Symbol.iterator]()), + "%Math%": Math, + "%Number%": Number, + "%Object%": $Object, + "%Object.getOwnPropertyDescriptor%": $gOPD, + "%parseFloat%": parseFloat, + "%parseInt%": parseInt, + "%Promise%": typeof Promise === "undefined" ? undefined2 : Promise, + "%Proxy%": typeof Proxy === "undefined" ? undefined2 : Proxy, + "%RangeError%": $RangeError, + "%ReferenceError%": $ReferenceError, + "%Reflect%": typeof Reflect === "undefined" ? undefined2 : Reflect, + "%RegExp%": RegExp, + "%Set%": typeof Set === "undefined" ? undefined2 : Set, + "%SetIteratorPrototype%": typeof Set === "undefined" || !hasSymbols || !getProto ? undefined2 : getProto((/* @__PURE__ */ new Set())[Symbol.iterator]()), + "%SharedArrayBuffer%": typeof SharedArrayBuffer === "undefined" ? undefined2 : SharedArrayBuffer, + "%String%": String, + "%StringIteratorPrototype%": hasSymbols && getProto ? getProto(""[Symbol.iterator]()) : undefined2, + "%Symbol%": hasSymbols ? Symbol : undefined2, + "%SyntaxError%": $SyntaxError, + "%ThrowTypeError%": ThrowTypeError, + "%TypedArray%": TypedArray, + "%TypeError%": $TypeError, + "%Uint8Array%": typeof Uint8Array === "undefined" ? undefined2 : Uint8Array, + "%Uint8ClampedArray%": typeof Uint8ClampedArray === "undefined" ? undefined2 : Uint8ClampedArray, + "%Uint16Array%": typeof Uint16Array === "undefined" ? undefined2 : Uint16Array, + "%Uint32Array%": typeof Uint32Array === "undefined" ? undefined2 : Uint32Array, + "%URIError%": $URIError, + "%WeakMap%": typeof WeakMap === "undefined" ? undefined2 : WeakMap, + "%WeakRef%": typeof WeakRef === "undefined" ? undefined2 : WeakRef, + "%WeakSet%": typeof WeakSet === "undefined" ? undefined2 : WeakSet, + "%Function.prototype.call%": $call, + "%Function.prototype.apply%": $apply, + "%Object.defineProperty%": $defineProperty, + "%Object.getPrototypeOf%": $ObjectGPO, + "%Math.abs%": abs, + "%Math.floor%": floor, + "%Math.max%": max, + "%Math.min%": min, + "%Math.pow%": pow, + "%Math.round%": round, + "%Math.sign%": sign, + "%Reflect.getPrototypeOf%": $ReflectGPO + }; + if (getProto) { + try { + null.error; + } catch (e) { + errorProto = getProto(getProto(e)); + INTRINSICS["%Error.prototype%"] = errorProto; + } + } + var errorProto; + var doEval = function doEval2(name) { + var value; + if (name === "%AsyncFunction%") { + value = getEvalledConstructor("async function () {}"); + } else if (name === "%GeneratorFunction%") { + value = getEvalledConstructor("function* () {}"); + } else if (name === "%AsyncGeneratorFunction%") { + value = getEvalledConstructor("async function* () {}"); + } else if (name === "%AsyncGenerator%") { + var fn = doEval2("%AsyncGeneratorFunction%"); + if (fn) { + value = fn.prototype; + } + } else if (name === "%AsyncIteratorPrototype%") { + var gen = doEval2("%AsyncGenerator%"); + if (gen && getProto) { + value = getProto(gen.prototype); + } + } + INTRINSICS[name] = value; + return value; + }; + var LEGACY_ALIASES = { + __proto__: null, + "%ArrayBufferPrototype%": ["ArrayBuffer", "prototype"], + "%ArrayPrototype%": ["Array", "prototype"], + "%ArrayProto_entries%": ["Array", "prototype", "entries"], + "%ArrayProto_forEach%": ["Array", "prototype", "forEach"], + "%ArrayProto_keys%": ["Array", "prototype", "keys"], + "%ArrayProto_values%": ["Array", "prototype", "values"], + "%AsyncFunctionPrototype%": ["AsyncFunction", "prototype"], + "%AsyncGenerator%": ["AsyncGeneratorFunction", "prototype"], + "%AsyncGeneratorPrototype%": ["AsyncGeneratorFunction", "prototype", "prototype"], + "%BooleanPrototype%": ["Boolean", "prototype"], + "%DataViewPrototype%": ["DataView", "prototype"], + "%DatePrototype%": ["Date", "prototype"], + "%ErrorPrototype%": ["Error", "prototype"], + "%EvalErrorPrototype%": ["EvalError", "prototype"], + "%Float32ArrayPrototype%": ["Float32Array", "prototype"], + "%Float64ArrayPrototype%": ["Float64Array", "prototype"], + "%FunctionPrototype%": ["Function", "prototype"], + "%Generator%": ["GeneratorFunction", "prototype"], + "%GeneratorPrototype%": ["GeneratorFunction", "prototype", "prototype"], + "%Int8ArrayPrototype%": ["Int8Array", "prototype"], + "%Int16ArrayPrototype%": ["Int16Array", "prototype"], + "%Int32ArrayPrototype%": ["Int32Array", "prototype"], + "%JSONParse%": ["JSON", "parse"], + "%JSONStringify%": ["JSON", "stringify"], + "%MapPrototype%": ["Map", "prototype"], + "%NumberPrototype%": ["Number", "prototype"], + "%ObjectPrototype%": ["Object", "prototype"], + "%ObjProto_toString%": ["Object", "prototype", "toString"], + "%ObjProto_valueOf%": ["Object", "prototype", "valueOf"], + "%PromisePrototype%": ["Promise", "prototype"], + "%PromiseProto_then%": ["Promise", "prototype", "then"], + "%Promise_all%": ["Promise", "all"], + "%Promise_reject%": ["Promise", "reject"], + "%Promise_resolve%": ["Promise", "resolve"], + "%RangeErrorPrototype%": ["RangeError", "prototype"], + "%ReferenceErrorPrototype%": ["ReferenceError", "prototype"], + "%RegExpPrototype%": ["RegExp", "prototype"], + "%SetPrototype%": ["Set", "prototype"], + "%SharedArrayBufferPrototype%": ["SharedArrayBuffer", "prototype"], + "%StringPrototype%": ["String", "prototype"], + "%SymbolPrototype%": ["Symbol", "prototype"], + "%SyntaxErrorPrototype%": ["SyntaxError", "prototype"], + "%TypedArrayPrototype%": ["TypedArray", "prototype"], + "%TypeErrorPrototype%": ["TypeError", "prototype"], + "%Uint8ArrayPrototype%": ["Uint8Array", "prototype"], + "%Uint8ClampedArrayPrototype%": ["Uint8ClampedArray", "prototype"], + "%Uint16ArrayPrototype%": ["Uint16Array", "prototype"], + "%Uint32ArrayPrototype%": ["Uint32Array", "prototype"], + "%URIErrorPrototype%": ["URIError", "prototype"], + "%WeakMapPrototype%": ["WeakMap", "prototype"], + "%WeakSetPrototype%": ["WeakSet", "prototype"] + }; + var bind = require_function_bind(); + var hasOwn = require_hasown(); + var $concat = bind.call($call, Array.prototype.concat); + var $spliceApply = bind.call($apply, Array.prototype.splice); + var $replace = bind.call($call, String.prototype.replace); + var $strSlice = bind.call($call, String.prototype.slice); + var $exec = bind.call($call, RegExp.prototype.exec); + var rePropName = /[^%.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|%$))/g; + var reEscapeChar = /\\(\\)?/g; + var stringToPath = function stringToPath2(string) { + var first = $strSlice(string, 0, 1); + var last = $strSlice(string, -1); + if (first === "%" && last !== "%") { + throw new $SyntaxError("invalid intrinsic syntax, expected closing `%`"); + } else if (last === "%" && first !== "%") { + throw new $SyntaxError("invalid intrinsic syntax, expected opening `%`"); + } + var result = []; + $replace(string, rePropName, function(match, number, quote, subString) { + result[result.length] = quote ? $replace(subString, reEscapeChar, "$1") : number || match; + }); + return result; + }; + var getBaseIntrinsic = function getBaseIntrinsic2(name, allowMissing) { + var intrinsicName = name; + var alias; + if (hasOwn(LEGACY_ALIASES, intrinsicName)) { + alias = LEGACY_ALIASES[intrinsicName]; + intrinsicName = "%" + alias[0] + "%"; + } + if (hasOwn(INTRINSICS, intrinsicName)) { + var value = INTRINSICS[intrinsicName]; + if (value === needsEval) { + value = doEval(intrinsicName); + } + if (typeof value === "undefined" && !allowMissing) { + throw new $TypeError("intrinsic " + name + " exists, but is not available. Please file an issue!"); + } + return { + alias, + name: intrinsicName, + value + }; + } + throw new $SyntaxError("intrinsic " + name + " does not exist!"); + }; + module2.exports = function GetIntrinsic(name, allowMissing) { + if (typeof name !== "string" || name.length === 0) { + throw new $TypeError("intrinsic name must be a non-empty string"); + } + if (arguments.length > 1 && typeof allowMissing !== "boolean") { + throw new $TypeError('"allowMissing" argument must be a boolean'); + } + if ($exec(/^%?[^%]*%?$/, name) === null) { + throw new $SyntaxError("`%` may not be present anywhere but at the beginning and end of the intrinsic name"); + } + var parts = stringToPath(name); + var intrinsicBaseName = parts.length > 0 ? parts[0] : ""; + var intrinsic = getBaseIntrinsic("%" + intrinsicBaseName + "%", allowMissing); + var intrinsicRealName = intrinsic.name; + var value = intrinsic.value; + var skipFurtherCaching = false; + var alias = intrinsic.alias; + if (alias) { + intrinsicBaseName = alias[0]; + $spliceApply(parts, $concat([0, 1], alias)); + } + for (var i = 1, isOwn = true; i < parts.length; i += 1) { + var part = parts[i]; + var first = $strSlice(part, 0, 1); + var last = $strSlice(part, -1); + if ((first === '"' || first === "'" || first === "`" || (last === '"' || last === "'" || last === "`")) && first !== last) { + throw new $SyntaxError("property names with quotes must have matching quotes"); + } + if (part === "constructor" || !isOwn) { + skipFurtherCaching = true; + } + intrinsicBaseName += "." + part; + intrinsicRealName = "%" + intrinsicBaseName + "%"; + if (hasOwn(INTRINSICS, intrinsicRealName)) { + value = INTRINSICS[intrinsicRealName]; + } else if (value != null) { + if (!(part in value)) { + if (!allowMissing) { + throw new $TypeError("base intrinsic for " + name + " exists, but the property is not available."); + } + return void undefined2; + } + if ($gOPD && i + 1 >= parts.length) { + var desc = $gOPD(value, part); + isOwn = !!desc; + if (isOwn && "get" in desc && !("originalValue" in desc.get)) { + value = desc.get; + } else { + value = value[part]; + } + } else { + isOwn = hasOwn(value, part); + value = value[part]; + } + if (isOwn && !skipFurtherCaching) { + INTRINSICS[intrinsicRealName] = value; + } + } + } + return value; + }; + } +}); +var require_call_bound = __commonJS2({ + "node_modules/call-bound/index.js"(exports2, module2) { + "use strict"; + var GetIntrinsic = require_get_intrinsic(); + var callBindBasic = require_call_bind_apply_helpers(); + var $indexOf = callBindBasic([GetIntrinsic("%String.prototype.indexOf%")]); + module2.exports = function callBoundIntrinsic(name, allowMissing) { + var intrinsic = ( + /** @type {(this: unknown, ...args: unknown[]) => unknown} */ + GetIntrinsic(name, !!allowMissing) + ); + if (typeof intrinsic === "function" && $indexOf(name, ".prototype.") > -1) { + return callBindBasic( + /** @type {const} */ + [intrinsic] + ); + } + return intrinsic; + }; + } +}); +var require_side_channel_map = __commonJS2({ + "node_modules/side-channel-map/index.js"(exports2, module2) { + "use strict"; + var GetIntrinsic = require_get_intrinsic(); + var callBound = require_call_bound(); + var inspect = require_object_inspect(); + var $TypeError = require_type(); + var $Map = GetIntrinsic("%Map%", true); + var $mapGet = callBound("Map.prototype.get", true); + var $mapSet = callBound("Map.prototype.set", true); + var $mapHas = callBound("Map.prototype.has", true); + var $mapDelete = callBound("Map.prototype.delete", true); + var $mapSize = callBound("Map.prototype.size", true); + module2.exports = !!$Map && /** @type {Exclude} */ + function getSideChannelMap() { + var $m; + var channel = { + assert: function(key) { + if (!channel.has(key)) { + throw new $TypeError("Side channel does not contain " + inspect(key)); + } + }, + "delete": function(key) { + if ($m) { + var result = $mapDelete($m, key); + if ($mapSize($m) === 0) { + $m = void 0; + } + return result; + } + return false; + }, + get: function(key) { + if ($m) { + return $mapGet($m, key); + } + }, + has: function(key) { + if ($m) { + return $mapHas($m, key); + } + return false; + }, + set: function(key, value) { + if (!$m) { + $m = new $Map(); + } + $mapSet($m, key, value); + } + }; + return channel; + }; + } +}); +var require_side_channel_weakmap = __commonJS2({ + "node_modules/side-channel-weakmap/index.js"(exports2, module2) { + "use strict"; + var GetIntrinsic = require_get_intrinsic(); + var callBound = require_call_bound(); + var inspect = require_object_inspect(); + var getSideChannelMap = require_side_channel_map(); + var $TypeError = require_type(); + var $WeakMap = GetIntrinsic("%WeakMap%", true); + var $weakMapGet = callBound("WeakMap.prototype.get", true); + var $weakMapSet = callBound("WeakMap.prototype.set", true); + var $weakMapHas = callBound("WeakMap.prototype.has", true); + var $weakMapDelete = callBound("WeakMap.prototype.delete", true); + module2.exports = $WeakMap ? ( + /** @type {Exclude} */ + (function getSideChannelWeakMap() { + var $wm; + var $m; + var channel = { + assert: function(key) { + if (!channel.has(key)) { + throw new $TypeError("Side channel does not contain " + inspect(key)); + } + }, + "delete": function(key) { + if ($WeakMap && key && (typeof key === "object" || typeof key === "function")) { + if ($wm) { + return $weakMapDelete($wm, key); + } + } else if (getSideChannelMap) { + if ($m) { + return $m["delete"](key); + } + } + return false; + }, + get: function(key) { + if ($WeakMap && key && (typeof key === "object" || typeof key === "function")) { + if ($wm) { + return $weakMapGet($wm, key); + } + } + return $m && $m.get(key); + }, + has: function(key) { + if ($WeakMap && key && (typeof key === "object" || typeof key === "function")) { + if ($wm) { + return $weakMapHas($wm, key); + } + } + return !!$m && $m.has(key); + }, + set: function(key, value) { + if ($WeakMap && key && (typeof key === "object" || typeof key === "function")) { + if (!$wm) { + $wm = new $WeakMap(); + } + $weakMapSet($wm, key, value); + } else if (getSideChannelMap) { + if (!$m) { + $m = getSideChannelMap(); + } + $m.set(key, value); + } + } + }; + return channel; + }) + ) : getSideChannelMap; + } +}); +var require_side_channel = __commonJS2({ + "node_modules/side-channel/index.js"(exports2, module2) { + "use strict"; + var $TypeError = require_type(); + var inspect = require_object_inspect(); + var getSideChannelList = require_side_channel_list(); + var getSideChannelMap = require_side_channel_map(); + var getSideChannelWeakMap = require_side_channel_weakmap(); + var makeChannel = getSideChannelWeakMap || getSideChannelMap || getSideChannelList; + module2.exports = function getSideChannel() { + var $channelData; + var channel = { + assert: function(key) { + if (!channel.has(key)) { + throw new $TypeError("Side channel does not contain " + inspect(key)); + } + }, + "delete": function(key) { + return !!$channelData && $channelData["delete"](key); + }, + get: function(key) { + return $channelData && $channelData.get(key); + }, + has: function(key) { + return !!$channelData && $channelData.has(key); + }, + set: function(key, value) { + if (!$channelData) { + $channelData = makeChannel(); + } + $channelData.set(key, value); + } + }; + return channel; + }; + } +}); +var require_formats2 = __commonJS2({ + "node_modules/qs/lib/formats.js"(exports2, module2) { + "use strict"; + var replace = String.prototype.replace; + var percentTwenties = /%20/g; + var Format = { + RFC1738: "RFC1738", + RFC3986: "RFC3986" + }; + module2.exports = { + "default": Format.RFC3986, + formatters: { + RFC1738: function(value) { + return replace.call(value, percentTwenties, "+"); + }, + RFC3986: function(value) { + return String(value); + } + }, + RFC1738: Format.RFC1738, + RFC3986: Format.RFC3986 + }; + } +}); +var require_utils2 = __commonJS2({ + "node_modules/qs/lib/utils.js"(exports2, module2) { + "use strict"; + var formats = require_formats2(); + var has = Object.prototype.hasOwnProperty; + var isArray = Array.isArray; + var hexTable = (function() { + var array = []; + for (var i = 0; i < 256; ++i) { + array.push("%" + ((i < 16 ? "0" : "") + i.toString(16)).toUpperCase()); + } + return array; + })(); + var compactQueue = function compactQueue2(queue) { + while (queue.length > 1) { + var item = queue.pop(); + var obj = item.obj[item.prop]; + if (isArray(obj)) { + var compacted = []; + for (var j = 0; j < obj.length; ++j) { + if (typeof obj[j] !== "undefined") { + compacted.push(obj[j]); + } + } + item.obj[item.prop] = compacted; + } + } + }; + var arrayToObject = function arrayToObject2(source, options) { + var obj = options && options.plainObjects ? { __proto__: null } : {}; + for (var i = 0; i < source.length; ++i) { + if (typeof source[i] !== "undefined") { + obj[i] = source[i]; + } + } + return obj; + }; + var merge = function merge2(target, source, options) { + if (!source) { + return target; + } + if (typeof source !== "object" && typeof source !== "function") { + if (isArray(target)) { + target.push(source); + } else if (target && typeof target === "object") { + if (options && (options.plainObjects || options.allowPrototypes) || !has.call(Object.prototype, source)) { + target[source] = true; + } + } else { + return [target, source]; + } + return target; + } + if (!target || typeof target !== "object") { + return [target].concat(source); + } + var mergeTarget = target; + if (isArray(target) && !isArray(source)) { + mergeTarget = arrayToObject(target, options); + } + if (isArray(target) && isArray(source)) { + source.forEach(function(item, i) { + if (has.call(target, i)) { + var targetItem = target[i]; + if (targetItem && typeof targetItem === "object" && item && typeof item === "object") { + target[i] = merge2(targetItem, item, options); + } else { + target.push(item); + } + } else { + target[i] = item; + } + }); + return target; + } + return Object.keys(source).reduce(function(acc, key) { + var value = source[key]; + if (has.call(acc, key)) { + acc[key] = merge2(acc[key], value, options); + } else { + acc[key] = value; + } + return acc; + }, mergeTarget); + }; + var assign = function assignSingleSource(target, source) { + return Object.keys(source).reduce(function(acc, key) { + acc[key] = source[key]; + return acc; + }, target); + }; + var decode = function(str, defaultDecoder, charset) { + var strWithoutPlus = str.replace(/\+/g, " "); + if (charset === "iso-8859-1") { + return strWithoutPlus.replace(/%[0-9a-f]{2}/gi, unescape); + } + try { + return decodeURIComponent(strWithoutPlus); + } catch (e) { + return strWithoutPlus; + } + }; + var limit = 1024; + var encode = function encode2(str, defaultEncoder, charset, kind, format) { + if (str.length === 0) { + return str; + } + var string = str; + if (typeof str === "symbol") { + string = Symbol.prototype.toString.call(str); + } else if (typeof str !== "string") { + string = String(str); + } + if (charset === "iso-8859-1") { + return escape(string).replace(/%u[0-9a-f]{4}/gi, function($0) { + return "%26%23" + parseInt($0.slice(2), 16) + "%3B"; + }); + } + var out = ""; + for (var j = 0; j < string.length; j += limit) { + var segment = string.length >= limit ? string.slice(j, j + limit) : string; + var arr = []; + for (var i = 0; i < segment.length; ++i) { + var c = segment.charCodeAt(i); + if (c === 45 || c === 46 || c === 95 || c === 126 || c >= 48 && c <= 57 || c >= 65 && c <= 90 || c >= 97 && c <= 122 || format === formats.RFC1738 && (c === 40 || c === 41)) { + arr[arr.length] = segment.charAt(i); + continue; + } + if (c < 128) { + arr[arr.length] = hexTable[c]; + continue; + } + if (c < 2048) { + arr[arr.length] = hexTable[192 | c >> 6] + hexTable[128 | c & 63]; + continue; + } + if (c < 55296 || c >= 57344) { + arr[arr.length] = hexTable[224 | c >> 12] + hexTable[128 | c >> 6 & 63] + hexTable[128 | c & 63]; + continue; + } + i += 1; + c = 65536 + ((c & 1023) << 10 | segment.charCodeAt(i) & 1023); + arr[arr.length] = hexTable[240 | c >> 18] + hexTable[128 | c >> 12 & 63] + hexTable[128 | c >> 6 & 63] + hexTable[128 | c & 63]; + } + out += arr.join(""); + } + return out; + }; + var compact = function compact2(value) { + var queue = [{ obj: { o: value }, prop: "o" }]; + var refs = []; + for (var i = 0; i < queue.length; ++i) { + var item = queue[i]; + var obj = item.obj[item.prop]; + var keys = Object.keys(obj); + for (var j = 0; j < keys.length; ++j) { + var key = keys[j]; + var val = obj[key]; + if (typeof val === "object" && val !== null && refs.indexOf(val) === -1) { + queue.push({ obj, prop: key }); + refs.push(val); + } + } + } + compactQueue(queue); + return value; + }; + var isRegExp = function isRegExp2(obj) { + return Object.prototype.toString.call(obj) === "[object RegExp]"; + }; + var isBuffer = function isBuffer2(obj) { + if (!obj || typeof obj !== "object") { + return false; + } + return !!(obj.constructor && obj.constructor.isBuffer && obj.constructor.isBuffer(obj)); + }; + var combine = function combine2(a, b) { + return [].concat(a, b); + }; + var maybeMap = function maybeMap2(val, fn) { + if (isArray(val)) { + var mapped = []; + for (var i = 0; i < val.length; i += 1) { + mapped.push(fn(val[i])); + } + return mapped; + } + return fn(val); + }; + module2.exports = { + arrayToObject, + assign, + combine, + compact, + decode, + encode, + isBuffer, + isRegExp, + maybeMap, + merge + }; + } +}); +var require_stringify = __commonJS2({ + "node_modules/qs/lib/stringify.js"(exports2, module2) { + "use strict"; + var getSideChannel = require_side_channel(); + var utils = require_utils2(); + var formats = require_formats2(); + var has = Object.prototype.hasOwnProperty; + var arrayPrefixGenerators = { + brackets: function brackets(prefix) { + return prefix + "[]"; + }, + comma: "comma", + indices: function indices(prefix, key) { + return prefix + "[" + key + "]"; + }, + repeat: function repeat(prefix) { + return prefix; + } + }; + var isArray = Array.isArray; + var push = Array.prototype.push; + var pushToArray = function(arr, valueOrArray) { + push.apply(arr, isArray(valueOrArray) ? valueOrArray : [valueOrArray]); + }; + var toISO = Date.prototype.toISOString; + var defaultFormat = formats["default"]; + var defaults = { + addQueryPrefix: false, + allowDots: false, + allowEmptyArrays: false, + arrayFormat: "indices", + charset: "utf-8", + charsetSentinel: false, + commaRoundTrip: false, + delimiter: "&", + encode: true, + encodeDotInKeys: false, + encoder: utils.encode, + encodeValuesOnly: false, + filter: void 0, + format: defaultFormat, + formatter: formats.formatters[defaultFormat], + // deprecated + indices: false, + serializeDate: function serializeDate(date) { + return toISO.call(date); + }, + skipNulls: false, + strictNullHandling: false + }; + var isNonNullishPrimitive = function isNonNullishPrimitive2(v) { + return typeof v === "string" || typeof v === "number" || typeof v === "boolean" || typeof v === "symbol" || typeof v === "bigint"; + }; + var sentinel = {}; + var stringify = function stringify2(object, prefix, generateArrayPrefix, commaRoundTrip, allowEmptyArrays, strictNullHandling, skipNulls, encodeDotInKeys, encoder, filter, sort, allowDots, serializeDate, format, formatter, encodeValuesOnly, charset, sideChannel) { + var obj = object; + var tmpSc = sideChannel; + var step = 0; + var findFlag = false; + while ((tmpSc = tmpSc.get(sentinel)) !== void 0 && !findFlag) { + var pos = tmpSc.get(object); + step += 1; + if (typeof pos !== "undefined") { + if (pos === step) { + throw new RangeError("Cyclic object value"); + } else { + findFlag = true; + } + } + if (typeof tmpSc.get(sentinel) === "undefined") { + step = 0; + } + } + if (typeof filter === "function") { + obj = filter(prefix, obj); + } else if (obj instanceof Date) { + obj = serializeDate(obj); + } else if (generateArrayPrefix === "comma" && isArray(obj)) { + obj = utils.maybeMap(obj, function(value2) { + if (value2 instanceof Date) { + return serializeDate(value2); + } + return value2; + }); + } + if (obj === null) { + if (strictNullHandling) { + return encoder && !encodeValuesOnly ? encoder(prefix, defaults.encoder, charset, "key", format) : prefix; + } + obj = ""; + } + if (isNonNullishPrimitive(obj) || utils.isBuffer(obj)) { + if (encoder) { + var keyValue = encodeValuesOnly ? prefix : encoder(prefix, defaults.encoder, charset, "key", format); + return [formatter(keyValue) + "=" + formatter(encoder(obj, defaults.encoder, charset, "value", format))]; + } + return [formatter(prefix) + "=" + formatter(String(obj))]; + } + var values = []; + if (typeof obj === "undefined") { + return values; + } + var objKeys; + if (generateArrayPrefix === "comma" && isArray(obj)) { + if (encodeValuesOnly && encoder) { + obj = utils.maybeMap(obj, encoder); + } + objKeys = [{ value: obj.length > 0 ? obj.join(",") || null : void 0 }]; + } else if (isArray(filter)) { + objKeys = filter; + } else { + var keys = Object.keys(obj); + objKeys = sort ? keys.sort(sort) : keys; + } + var encodedPrefix = encodeDotInKeys ? String(prefix).replace(/\./g, "%2E") : String(prefix); + var adjustedPrefix = commaRoundTrip && isArray(obj) && obj.length === 1 ? encodedPrefix + "[]" : encodedPrefix; + if (allowEmptyArrays && isArray(obj) && obj.length === 0) { + return adjustedPrefix + "[]"; + } + for (var j = 0; j < objKeys.length; ++j) { + var key = objKeys[j]; + var value = typeof key === "object" && key && typeof key.value !== "undefined" ? key.value : obj[key]; + if (skipNulls && value === null) { + continue; + } + var encodedKey = allowDots && encodeDotInKeys ? String(key).replace(/\./g, "%2E") : String(key); + var keyPrefix = isArray(obj) ? typeof generateArrayPrefix === "function" ? generateArrayPrefix(adjustedPrefix, encodedKey) : adjustedPrefix : adjustedPrefix + (allowDots ? "." + encodedKey : "[" + encodedKey + "]"); + sideChannel.set(object, step); + var valueSideChannel = getSideChannel(); + valueSideChannel.set(sentinel, sideChannel); + pushToArray(values, stringify2( + value, + keyPrefix, + generateArrayPrefix, + commaRoundTrip, + allowEmptyArrays, + strictNullHandling, + skipNulls, + encodeDotInKeys, + generateArrayPrefix === "comma" && encodeValuesOnly && isArray(obj) ? null : encoder, + filter, + sort, + allowDots, + serializeDate, + format, + formatter, + encodeValuesOnly, + charset, + valueSideChannel + )); + } + return values; + }; + var normalizeStringifyOptions = function normalizeStringifyOptions2(opts) { + if (!opts) { + return defaults; + } + if (typeof opts.allowEmptyArrays !== "undefined" && typeof opts.allowEmptyArrays !== "boolean") { + throw new TypeError("`allowEmptyArrays` option can only be `true` or `false`, when provided"); + } + if (typeof opts.encodeDotInKeys !== "undefined" && typeof opts.encodeDotInKeys !== "boolean") { + throw new TypeError("`encodeDotInKeys` option can only be `true` or `false`, when provided"); + } + if (opts.encoder !== null && typeof opts.encoder !== "undefined" && typeof opts.encoder !== "function") { + throw new TypeError("Encoder has to be a function."); + } + var charset = opts.charset || defaults.charset; + if (typeof opts.charset !== "undefined" && opts.charset !== "utf-8" && opts.charset !== "iso-8859-1") { + throw new TypeError("The charset option must be either utf-8, iso-8859-1, or undefined"); + } + var format = formats["default"]; + if (typeof opts.format !== "undefined") { + if (!has.call(formats.formatters, opts.format)) { + throw new TypeError("Unknown format option provided."); + } + format = opts.format; + } + var formatter = formats.formatters[format]; + var filter = defaults.filter; + if (typeof opts.filter === "function" || isArray(opts.filter)) { + filter = opts.filter; + } + var arrayFormat; + if (opts.arrayFormat in arrayPrefixGenerators) { + arrayFormat = opts.arrayFormat; + } else if ("indices" in opts) { + arrayFormat = opts.indices ? "indices" : "repeat"; + } else { + arrayFormat = defaults.arrayFormat; + } + if ("commaRoundTrip" in opts && typeof opts.commaRoundTrip !== "boolean") { + throw new TypeError("`commaRoundTrip` must be a boolean, or absent"); + } + var allowDots = typeof opts.allowDots === "undefined" ? opts.encodeDotInKeys === true ? true : defaults.allowDots : !!opts.allowDots; + return { + addQueryPrefix: typeof opts.addQueryPrefix === "boolean" ? opts.addQueryPrefix : defaults.addQueryPrefix, + allowDots, + allowEmptyArrays: typeof opts.allowEmptyArrays === "boolean" ? !!opts.allowEmptyArrays : defaults.allowEmptyArrays, + arrayFormat, + charset, + charsetSentinel: typeof opts.charsetSentinel === "boolean" ? opts.charsetSentinel : defaults.charsetSentinel, + commaRoundTrip: !!opts.commaRoundTrip, + delimiter: typeof opts.delimiter === "undefined" ? defaults.delimiter : opts.delimiter, + encode: typeof opts.encode === "boolean" ? opts.encode : defaults.encode, + encodeDotInKeys: typeof opts.encodeDotInKeys === "boolean" ? opts.encodeDotInKeys : defaults.encodeDotInKeys, + encoder: typeof opts.encoder === "function" ? opts.encoder : defaults.encoder, + encodeValuesOnly: typeof opts.encodeValuesOnly === "boolean" ? opts.encodeValuesOnly : defaults.encodeValuesOnly, + filter, + format, + formatter, + serializeDate: typeof opts.serializeDate === "function" ? opts.serializeDate : defaults.serializeDate, + skipNulls: typeof opts.skipNulls === "boolean" ? opts.skipNulls : defaults.skipNulls, + sort: typeof opts.sort === "function" ? opts.sort : null, + strictNullHandling: typeof opts.strictNullHandling === "boolean" ? opts.strictNullHandling : defaults.strictNullHandling + }; + }; + module2.exports = function(object, opts) { + var obj = object; + var options = normalizeStringifyOptions(opts); + var objKeys; + var filter; + if (typeof options.filter === "function") { + filter = options.filter; + obj = filter("", obj); + } else if (isArray(options.filter)) { + filter = options.filter; + objKeys = filter; + } + var keys = []; + if (typeof obj !== "object" || obj === null) { + return ""; + } + var generateArrayPrefix = arrayPrefixGenerators[options.arrayFormat]; + var commaRoundTrip = generateArrayPrefix === "comma" && options.commaRoundTrip; + if (!objKeys) { + objKeys = Object.keys(obj); + } + if (options.sort) { + objKeys.sort(options.sort); + } + var sideChannel = getSideChannel(); + for (var i = 0; i < objKeys.length; ++i) { + var key = objKeys[i]; + var value = obj[key]; + if (options.skipNulls && value === null) { + continue; + } + pushToArray(keys, stringify( + value, + key, + generateArrayPrefix, + commaRoundTrip, + options.allowEmptyArrays, + options.strictNullHandling, + options.skipNulls, + options.encodeDotInKeys, + options.encode ? options.encoder : null, + options.filter, + options.sort, + options.allowDots, + options.serializeDate, + options.format, + options.formatter, + options.encodeValuesOnly, + options.charset, + sideChannel + )); + } + var joined = keys.join(options.delimiter); + var prefix = options.addQueryPrefix === true ? "?" : ""; + if (options.charsetSentinel) { + if (options.charset === "iso-8859-1") { + prefix += "utf8=%26%2310003%3B&"; + } else { + prefix += "utf8=%E2%9C%93&"; + } + } + return joined.length > 0 ? prefix + joined : ""; + }; + } +}); +var require_parse = __commonJS2({ + "node_modules/qs/lib/parse.js"(exports2, module2) { + "use strict"; + var utils = require_utils2(); + var has = Object.prototype.hasOwnProperty; + var isArray = Array.isArray; + var defaults = { + allowDots: false, + allowEmptyArrays: false, + allowPrototypes: false, + allowSparse: false, + arrayLimit: 20, + charset: "utf-8", + charsetSentinel: false, + comma: false, + decodeDotInKeys: false, + decoder: utils.decode, + delimiter: "&", + depth: 5, + duplicates: "combine", + ignoreQueryPrefix: false, + interpretNumericEntities: false, + parameterLimit: 1e3, + parseArrays: true, + plainObjects: false, + strictDepth: false, + strictNullHandling: false, + throwOnLimitExceeded: false + }; + var interpretNumericEntities = function(str) { + return str.replace(/&#(\d+);/g, function($0, numberStr) { + return String.fromCharCode(parseInt(numberStr, 10)); + }); + }; + var parseArrayValue = function(val, options, currentArrayLength) { + if (val && typeof val === "string" && options.comma && val.indexOf(",") > -1) { + return val.split(","); + } + if (options.throwOnLimitExceeded && currentArrayLength >= options.arrayLimit) { + throw new RangeError("Array limit exceeded. Only " + options.arrayLimit + " element" + (options.arrayLimit === 1 ? "" : "s") + " allowed in an array."); + } + return val; + }; + var isoSentinel = "utf8=%26%2310003%3B"; + var charsetSentinel = "utf8=%E2%9C%93"; + var parseValues = function parseQueryStringValues(str, options) { + var obj = { __proto__: null }; + var cleanStr = options.ignoreQueryPrefix ? str.replace(/^\?/, "") : str; + cleanStr = cleanStr.replace(/%5B/gi, "[").replace(/%5D/gi, "]"); + var limit = options.parameterLimit === Infinity ? void 0 : options.parameterLimit; + var parts = cleanStr.split( + options.delimiter, + options.throwOnLimitExceeded ? limit + 1 : limit + ); + if (options.throwOnLimitExceeded && parts.length > limit) { + throw new RangeError("Parameter limit exceeded. Only " + limit + " parameter" + (limit === 1 ? "" : "s") + " allowed."); + } + var skipIndex = -1; + var i; + var charset = options.charset; + if (options.charsetSentinel) { + for (i = 0; i < parts.length; ++i) { + if (parts[i].indexOf("utf8=") === 0) { + if (parts[i] === charsetSentinel) { + charset = "utf-8"; + } else if (parts[i] === isoSentinel) { + charset = "iso-8859-1"; + } + skipIndex = i; + i = parts.length; + } + } + } + for (i = 0; i < parts.length; ++i) { + if (i === skipIndex) { + continue; + } + var part = parts[i]; + var bracketEqualsPos = part.indexOf("]="); + var pos = bracketEqualsPos === -1 ? part.indexOf("=") : bracketEqualsPos + 1; + var key; + var val; + if (pos === -1) { + key = options.decoder(part, defaults.decoder, charset, "key"); + val = options.strictNullHandling ? null : ""; + } else { + key = options.decoder(part.slice(0, pos), defaults.decoder, charset, "key"); + val = utils.maybeMap( + parseArrayValue( + part.slice(pos + 1), + options, + isArray(obj[key]) ? obj[key].length : 0 + ), + function(encodedVal) { + return options.decoder(encodedVal, defaults.decoder, charset, "value"); + } + ); + } + if (val && options.interpretNumericEntities && charset === "iso-8859-1") { + val = interpretNumericEntities(String(val)); + } + if (part.indexOf("[]=") > -1) { + val = isArray(val) ? [val] : val; + } + var existing = has.call(obj, key); + if (existing && options.duplicates === "combine") { + obj[key] = utils.combine(obj[key], val); + } else if (!existing || options.duplicates === "last") { + obj[key] = val; + } + } + return obj; + }; + var parseObject = function(chain, val, options, valuesParsed) { + var currentArrayLength = 0; + if (chain.length > 0 && chain[chain.length - 1] === "[]") { + var parentKey = chain.slice(0, -1).join(""); + currentArrayLength = Array.isArray(val) && val[parentKey] ? val[parentKey].length : 0; + } + var leaf = valuesParsed ? val : parseArrayValue(val, options, currentArrayLength); + for (var i = chain.length - 1; i >= 0; --i) { + var obj; + var root = chain[i]; + if (root === "[]" && options.parseArrays) { + obj = options.allowEmptyArrays && (leaf === "" || options.strictNullHandling && leaf === null) ? [] : utils.combine([], leaf); + } else { + obj = options.plainObjects ? { __proto__: null } : {}; + var cleanRoot = root.charAt(0) === "[" && root.charAt(root.length - 1) === "]" ? root.slice(1, -1) : root; + var decodedRoot = options.decodeDotInKeys ? cleanRoot.replace(/%2E/g, ".") : cleanRoot; + var index = parseInt(decodedRoot, 10); + if (!options.parseArrays && decodedRoot === "") { + obj = { 0: leaf }; + } else if (!isNaN(index) && root !== decodedRoot && String(index) === decodedRoot && index >= 0 && (options.parseArrays && index <= options.arrayLimit)) { + obj = []; + obj[index] = leaf; + } else if (decodedRoot !== "__proto__") { + obj[decodedRoot] = leaf; + } + } + leaf = obj; + } + return leaf; + }; + var parseKeys = function parseQueryStringKeys(givenKey, val, options, valuesParsed) { + if (!givenKey) { + return; + } + var key = options.allowDots ? givenKey.replace(/\.([^.[]+)/g, "[$1]") : givenKey; + var brackets = /(\[[^[\]]*])/; + var child = /(\[[^[\]]*])/g; + var segment = options.depth > 0 && brackets.exec(key); + var parent = segment ? key.slice(0, segment.index) : key; + var keys = []; + if (parent) { + if (!options.plainObjects && has.call(Object.prototype, parent)) { + if (!options.allowPrototypes) { + return; + } + } + keys.push(parent); + } + var i = 0; + while (options.depth > 0 && (segment = child.exec(key)) !== null && i < options.depth) { + i += 1; + if (!options.plainObjects && has.call(Object.prototype, segment[1].slice(1, -1))) { + if (!options.allowPrototypes) { + return; + } + } + keys.push(segment[1]); + } + if (segment) { + if (options.strictDepth === true) { + throw new RangeError("Input depth exceeded depth option of " + options.depth + " and strictDepth is true"); + } + keys.push("[" + key.slice(segment.index) + "]"); + } + return parseObject(keys, val, options, valuesParsed); + }; + var normalizeParseOptions = function normalizeParseOptions2(opts) { + if (!opts) { + return defaults; + } + if (typeof opts.allowEmptyArrays !== "undefined" && typeof opts.allowEmptyArrays !== "boolean") { + throw new TypeError("`allowEmptyArrays` option can only be `true` or `false`, when provided"); + } + if (typeof opts.decodeDotInKeys !== "undefined" && typeof opts.decodeDotInKeys !== "boolean") { + throw new TypeError("`decodeDotInKeys` option can only be `true` or `false`, when provided"); + } + if (opts.decoder !== null && typeof opts.decoder !== "undefined" && typeof opts.decoder !== "function") { + throw new TypeError("Decoder has to be a function."); + } + if (typeof opts.charset !== "undefined" && opts.charset !== "utf-8" && opts.charset !== "iso-8859-1") { + throw new TypeError("The charset option must be either utf-8, iso-8859-1, or undefined"); + } + if (typeof opts.throwOnLimitExceeded !== "undefined" && typeof opts.throwOnLimitExceeded !== "boolean") { + throw new TypeError("`throwOnLimitExceeded` option must be a boolean"); + } + var charset = typeof opts.charset === "undefined" ? defaults.charset : opts.charset; + var duplicates = typeof opts.duplicates === "undefined" ? defaults.duplicates : opts.duplicates; + if (duplicates !== "combine" && duplicates !== "first" && duplicates !== "last") { + throw new TypeError("The duplicates option must be either combine, first, or last"); + } + var allowDots = typeof opts.allowDots === "undefined" ? opts.decodeDotInKeys === true ? true : defaults.allowDots : !!opts.allowDots; + return { + allowDots, + allowEmptyArrays: typeof opts.allowEmptyArrays === "boolean" ? !!opts.allowEmptyArrays : defaults.allowEmptyArrays, + allowPrototypes: typeof opts.allowPrototypes === "boolean" ? opts.allowPrototypes : defaults.allowPrototypes, + allowSparse: typeof opts.allowSparse === "boolean" ? opts.allowSparse : defaults.allowSparse, + arrayLimit: typeof opts.arrayLimit === "number" ? opts.arrayLimit : defaults.arrayLimit, + charset, + charsetSentinel: typeof opts.charsetSentinel === "boolean" ? opts.charsetSentinel : defaults.charsetSentinel, + comma: typeof opts.comma === "boolean" ? opts.comma : defaults.comma, + decodeDotInKeys: typeof opts.decodeDotInKeys === "boolean" ? opts.decodeDotInKeys : defaults.decodeDotInKeys, + decoder: typeof opts.decoder === "function" ? opts.decoder : defaults.decoder, + delimiter: typeof opts.delimiter === "string" || utils.isRegExp(opts.delimiter) ? opts.delimiter : defaults.delimiter, + // eslint-disable-next-line no-implicit-coercion, no-extra-parens + depth: typeof opts.depth === "number" || opts.depth === false ? +opts.depth : defaults.depth, + duplicates, + ignoreQueryPrefix: opts.ignoreQueryPrefix === true, + interpretNumericEntities: typeof opts.interpretNumericEntities === "boolean" ? opts.interpretNumericEntities : defaults.interpretNumericEntities, + parameterLimit: typeof opts.parameterLimit === "number" ? opts.parameterLimit : defaults.parameterLimit, + parseArrays: opts.parseArrays !== false, + plainObjects: typeof opts.plainObjects === "boolean" ? opts.plainObjects : defaults.plainObjects, + strictDepth: typeof opts.strictDepth === "boolean" ? !!opts.strictDepth : defaults.strictDepth, + strictNullHandling: typeof opts.strictNullHandling === "boolean" ? opts.strictNullHandling : defaults.strictNullHandling, + throwOnLimitExceeded: typeof opts.throwOnLimitExceeded === "boolean" ? opts.throwOnLimitExceeded : false + }; + }; + module2.exports = function(str, opts) { + var options = normalizeParseOptions(opts); + if (str === "" || str === null || typeof str === "undefined") { + return options.plainObjects ? { __proto__: null } : {}; + } + var tempObj = typeof str === "string" ? parseValues(str, options) : str; + var obj = options.plainObjects ? { __proto__: null } : {}; + var keys = Object.keys(tempObj); + for (var i = 0; i < keys.length; ++i) { + var key = keys[i]; + var newObj = parseKeys(key, tempObj[key], options, typeof str === "string"); + obj = utils.merge(obj, newObj, options); + } + if (options.allowSparse === true) { + return obj; + } + return utils.compact(obj); + }; + } +}); +var require_lib3 = __commonJS2({ + "node_modules/qs/lib/index.js"(exports2, module2) { + "use strict"; + var stringify = require_stringify(); + var parse = require_parse(); + var formats = require_formats2(); + module2.exports = { + formats, + parse, + stringify + }; + } +}); +var require_urlencoded = __commonJS2({ + "node_modules/body-parser/lib/types/urlencoded.js"(exports2, module2) { + "use strict"; + var createError = require_http_errors(); + var debug = require_src()("body-parser:urlencoded"); + var isFinished = require_on_finished().isFinished; + var read = require_read(); + var typeis = require_type_is(); + var qs = require_lib3(); + var { getCharset, normalizeOptions } = require_utils(); + module2.exports = urlencoded; + function urlencoded(options) { + var { inflate, limit, verify, shouldParse } = normalizeOptions(options, "application/x-www-form-urlencoded"); + var defaultCharset = options?.defaultCharset || "utf-8"; + if (defaultCharset !== "utf-8" && defaultCharset !== "iso-8859-1") { + throw new TypeError("option defaultCharset must be either utf-8 or iso-8859-1"); + } + var queryparse = createQueryParser(options); + function parse(body, encoding) { + return body.length ? queryparse(body, encoding) : {}; + } + return function urlencodedParser(req, res, next) { + if (isFinished(req)) { + debug("body already parsed"); + next(); + return; + } + if (!("body" in req)) { + req.body = void 0; + } + if (!typeis.hasBody(req)) { + debug("skip empty body"); + next(); + return; + } + debug("content-type %j", req.headers["content-type"]); + if (!shouldParse(req)) { + debug("skip parsing"); + next(); + return; + } + var charset = getCharset(req) || defaultCharset; + if (charset !== "utf-8" && charset !== "iso-8859-1") { + debug("invalid charset"); + next(createError(415, 'unsupported charset "' + charset.toUpperCase() + '"', { + charset, + type: "charset.unsupported" + })); + return; + } + read(req, res, next, parse, debug, { + encoding: charset, + inflate, + limit, + verify + }); + }; + } + function createQueryParser(options) { + var extended = Boolean(options?.extended); + var parameterLimit = options?.parameterLimit !== void 0 ? options?.parameterLimit : 1e3; + var charsetSentinel = options?.charsetSentinel; + var interpretNumericEntities = options?.interpretNumericEntities; + var depth = extended ? options?.depth !== void 0 ? options?.depth : 32 : 0; + if (isNaN(parameterLimit) || parameterLimit < 1) { + throw new TypeError("option parameterLimit must be a positive number"); + } + if (isNaN(depth) || depth < 0) { + throw new TypeError("option depth must be a zero or a positive number"); + } + if (isFinite(parameterLimit)) { + parameterLimit = parameterLimit | 0; + } + return function queryparse(body, encoding) { + var paramCount = parameterCount(body, parameterLimit); + if (paramCount === void 0) { + debug("too many parameters"); + throw createError(413, "too many parameters", { + type: "parameters.too.many" + }); + } + var arrayLimit = extended ? Math.max(100, paramCount) : 0; + debug("parse " + (extended ? "extended " : "") + "urlencoding"); + try { + return qs.parse(body, { + allowPrototypes: true, + arrayLimit, + depth, + charsetSentinel, + interpretNumericEntities, + charset: encoding, + parameterLimit, + strictDepth: true + }); + } catch (err2) { + if (err2 instanceof RangeError) { + throw createError(400, "The input exceeded the depth", { + type: "querystring.parse.rangeError" + }); + } else { + throw err2; + } + } + }; + } + function parameterCount(body, limit) { + var len = body.split("&").length; + return len > limit ? void 0 : len - 1; + } + } +}); +var require_body_parser = __commonJS2({ + "node_modules/body-parser/index.js"(exports2, module2) { + "use strict"; + exports2 = module2.exports = bodyParser; + Object.defineProperty(exports2, "json", { + configurable: true, + enumerable: true, + get: () => require_json() + }); + Object.defineProperty(exports2, "raw", { + configurable: true, + enumerable: true, + get: () => require_raw() + }); + Object.defineProperty(exports2, "text", { + configurable: true, + enumerable: true, + get: () => require_text() + }); + Object.defineProperty(exports2, "urlencoded", { + configurable: true, + enumerable: true, + get: () => require_urlencoded() + }); + function bodyParser() { + throw new Error("The bodyParser() generic has been split into individual middleware to use instead."); + } + } +}); +var require_merge_descriptors = __commonJS2({ + "node_modules/merge-descriptors/index.js"(exports2, module2) { + "use strict"; + function mergeDescriptors(destination, source, overwrite = true) { + if (!destination) { + throw new TypeError("The `destination` argument is required."); + } + if (!source) { + throw new TypeError("The `source` argument is required."); + } + for (const name of Object.getOwnPropertyNames(source)) { + if (!overwrite && Object.hasOwn(destination, name)) { + continue; + } + const descriptor = Object.getOwnPropertyDescriptor(source, name); + Object.defineProperty(destination, name, descriptor); + } + return destination; + } + module2.exports = mergeDescriptors; + } +}); +var require_encodeurl = __commonJS2({ + "node_modules/encodeurl/index.js"(exports2, module2) { + "use strict"; + module2.exports = encodeUrl; + var ENCODE_CHARS_REGEXP = /(?:[^\x21\x23-\x3B\x3D\x3F-\x5F\x61-\x7A\x7C\x7E]|%(?:[^0-9A-Fa-f]|[0-9A-Fa-f][^0-9A-Fa-f]|$))+/g; + var UNMATCHED_SURROGATE_PAIR_REGEXP = /(^|[^\uD800-\uDBFF])[\uDC00-\uDFFF]|[\uD800-\uDBFF]([^\uDC00-\uDFFF]|$)/g; + var UNMATCHED_SURROGATE_PAIR_REPLACE = "$1\uFFFD$2"; + function encodeUrl(url) { + return String(url).replace(UNMATCHED_SURROGATE_PAIR_REGEXP, UNMATCHED_SURROGATE_PAIR_REPLACE).replace(ENCODE_CHARS_REGEXP, encodeURI); + } + } +}); +var require_escape_html = __commonJS2({ + "node_modules/escape-html/index.js"(exports2, module2) { + "use strict"; + var matchHtmlRegExp = /["'&<>]/; + module2.exports = escapeHtml; + function escapeHtml(string) { + var str = "" + string; + var match = matchHtmlRegExp.exec(str); + if (!match) { + return str; + } + var escape2; + var html = ""; + var index = 0; + var lastIndex = 0; + for (index = match.index; index < str.length; index++) { + switch (str.charCodeAt(index)) { + case 34: + escape2 = """; + break; + case 38: + escape2 = "&"; + break; + case 39: + escape2 = "'"; + break; + case 60: + escape2 = "<"; + break; + case 62: + escape2 = ">"; + break; + default: + continue; + } + if (lastIndex !== index) { + html += str.substring(lastIndex, index); + } + lastIndex = index + 1; + html += escape2; + } + return lastIndex !== index ? html + str.substring(lastIndex, index) : html; + } + } +}); +var require_parseurl = __commonJS2({ + "node_modules/parseurl/index.js"(exports2, module2) { + "use strict"; + var url = require("url"); + var parse = url.parse; + var Url = url.Url; + module2.exports = parseurl; + module2.exports.original = originalurl; + function parseurl(req) { + var url2 = req.url; + if (url2 === void 0) { + return void 0; + } + var parsed = req._parsedUrl; + if (fresh(url2, parsed)) { + return parsed; + } + parsed = fastparse(url2); + parsed._raw = url2; + return req._parsedUrl = parsed; + } + function originalurl(req) { + var url2 = req.originalUrl; + if (typeof url2 !== "string") { + return parseurl(req); + } + var parsed = req._parsedOriginalUrl; + if (fresh(url2, parsed)) { + return parsed; + } + parsed = fastparse(url2); + parsed._raw = url2; + return req._parsedOriginalUrl = parsed; + } + function fastparse(str) { + if (typeof str !== "string" || str.charCodeAt(0) !== 47) { + return parse(str); + } + var pathname = str; + var query = null; + var search = null; + for (var i = 1; i < str.length; i++) { + switch (str.charCodeAt(i)) { + case 63: + if (search === null) { + pathname = str.substring(0, i); + query = str.substring(i + 1); + search = str.substring(i); + } + break; + case 9: + /* \t */ + case 10: + /* \n */ + case 12: + /* \f */ + case 13: + /* \r */ + case 32: + /* */ + case 35: + /* # */ + case 160: + case 65279: + return parse(str); + } + } + var url2 = Url !== void 0 ? new Url() : {}; + url2.path = str; + url2.href = str; + url2.pathname = pathname; + if (search !== null) { + url2.query = query; + url2.search = search; + } + return url2; + } + function fresh(url2, parsedUrl) { + return typeof parsedUrl === "object" && parsedUrl !== null && (Url === void 0 || parsedUrl instanceof Url) && parsedUrl._raw === url2; + } + } +}); +var require_finalhandler = __commonJS2({ + "node_modules/finalhandler/index.js"(exports2, module2) { + "use strict"; + var debug = require_src()("finalhandler"); + var encodeUrl = require_encodeurl(); + var escapeHtml = require_escape_html(); + var onFinished = require_on_finished(); + var parseUrl = require_parseurl(); + var statuses = require_statuses(); + var isFinished = onFinished.isFinished; + function createHtmlDocument(message) { + var body = escapeHtml(message).replaceAll("\n", "
").replaceAll(" ", "  "); + return '\n\n\n\nError\n\n\n
' + body + "
\n\n\n"; + } + module2.exports = finalhandler; + function finalhandler(req, res, options) { + var opts = options || {}; + var env2 = opts.env || "development"; + var onerror = opts.onerror; + return function(err2) { + var headers; + var msg; + var status; + if (!err2 && res.headersSent) { + debug("cannot 404 after headers sent"); + return; + } + if (err2) { + status = getErrorStatusCode(err2); + if (status === void 0) { + status = getResponseStatusCode(res); + } else { + headers = getErrorHeaders(err2); + } + msg = getErrorMessage(err2, status, env2); + } else { + status = 404; + msg = "Cannot " + req.method + " " + encodeUrl(getResourceName(req)); + } + debug("default %s", status); + if (err2 && onerror) { + setImmediate(onerror, err2, req, res); + } + if (res.headersSent) { + debug("cannot %d after headers sent", status); + if (req.socket) { + req.socket.destroy(); + } + return; + } + send(req, res, status, headers, msg); + }; + } + function getErrorHeaders(err2) { + if (!err2.headers || typeof err2.headers !== "object") { + return void 0; + } + return { ...err2.headers }; + } + function getErrorMessage(err2, status, env2) { + var msg; + if (env2 !== "production") { + msg = err2.stack; + if (!msg && typeof err2.toString === "function") { + msg = err2.toString(); + } + } + return msg || statuses.message[status]; + } + function getErrorStatusCode(err2) { + if (typeof err2.status === "number" && err2.status >= 400 && err2.status < 600) { + return err2.status; + } + if (typeof err2.statusCode === "number" && err2.statusCode >= 400 && err2.statusCode < 600) { + return err2.statusCode; + } + return void 0; + } + function getResourceName(req) { + try { + return parseUrl.original(req).pathname; + } catch (e) { + return "resource"; + } + } + function getResponseStatusCode(res) { + var status = res.statusCode; + if (typeof status !== "number" || status < 400 || status > 599) { + status = 500; + } + return status; + } + function send(req, res, status, headers, message) { + function write() { + var body = createHtmlDocument(message); + res.statusCode = status; + if (req.httpVersionMajor < 2) { + res.statusMessage = statuses.message[status]; + } + res.removeHeader("Content-Encoding"); + res.removeHeader("Content-Language"); + res.removeHeader("Content-Range"); + for (const [key, value] of Object.entries(headers ?? {})) { + res.setHeader(key, value); + } + res.setHeader("Content-Security-Policy", "default-src 'none'"); + res.setHeader("X-Content-Type-Options", "nosniff"); + res.setHeader("Content-Type", "text/html; charset=utf-8"); + res.setHeader("Content-Length", Buffer.byteLength(body, "utf8")); + if (req.method === "HEAD") { + res.end(); + return; + } + res.end(body, "utf8"); + } + if (isFinished(req)) { + write(); + return; + } + req.unpipe(); + onFinished(req, write); + req.resume(); + } + } +}); +var require_view = __commonJS2({ + "node_modules/express/lib/view.js"(exports2, module2) { + "use strict"; + var debug = require_src()("express:view"); + var path = require("node:path"); + var fs = require("node:fs"); + var dirname = path.dirname; + var basename = path.basename; + var extname = path.extname; + var join = path.join; + var resolve = path.resolve; + module2.exports = View; + function View(name, options) { + var opts = options || {}; + this.defaultEngine = opts.defaultEngine; + this.ext = extname(name); + this.name = name; + this.root = opts.root; + if (!this.ext && !this.defaultEngine) { + throw new Error("No default engine was specified and no extension was provided."); + } + var fileName = name; + if (!this.ext) { + this.ext = this.defaultEngine[0] !== "." ? "." + this.defaultEngine : this.defaultEngine; + fileName += this.ext; + } + if (!opts.engines[this.ext]) { + var mod = this.ext.slice(1); + debug('require "%s"', mod); + var fn = require(mod).__express; + if (typeof fn !== "function") { + throw new Error('Module "' + mod + '" does not provide a view engine.'); + } + opts.engines[this.ext] = fn; + } + this.engine = opts.engines[this.ext]; + this.path = this.lookup(fileName); + } + View.prototype.lookup = function lookup(name) { + var path2; + var roots = [].concat(this.root); + debug('lookup "%s"', name); + for (var i = 0; i < roots.length && !path2; i++) { + var root = roots[i]; + var loc = resolve(root, name); + var dir = dirname(loc); + var file = basename(loc); + path2 = this.resolve(dir, file); + } + return path2; + }; + View.prototype.render = function render(options, callback) { + var sync = true; + debug('render "%s"', this.path); + this.engine(this.path, options, function onRender() { + if (!sync) { + return callback.apply(this, arguments); + } + var args = new Array(arguments.length); + var cntx = this; + for (var i = 0; i < arguments.length; i++) { + args[i] = arguments[i]; + } + return process.nextTick(function renderTick() { + return callback.apply(cntx, args); + }); + }); + sync = false; + }; + View.prototype.resolve = function resolve2(dir, file) { + var ext = this.ext; + var path2 = join(dir, file); + var stat = tryStat(path2); + if (stat && stat.isFile()) { + return path2; + } + path2 = join(dir, basename(file, ext), "index" + ext); + stat = tryStat(path2); + if (stat && stat.isFile()) { + return path2; + } + }; + function tryStat(path2) { + debug('stat "%s"', path2); + try { + return fs.statSync(path2); + } catch (e) { + return void 0; + } + } + } +}); +var require_etag = __commonJS2({ + "node_modules/etag/index.js"(exports2, module2) { + "use strict"; + module2.exports = etag; + var crypto = require("crypto"); + var Stats = require("fs").Stats; + var toString = Object.prototype.toString; + function entitytag(entity) { + if (entity.length === 0) { + return '"0-2jmj7l5rSw0yVb/vlWAYkK/YBwk"'; + } + var hash = crypto.createHash("sha1").update(entity, "utf8").digest("base64").substring(0, 27); + var len = typeof entity === "string" ? Buffer.byteLength(entity, "utf8") : entity.length; + return '"' + len.toString(16) + "-" + hash + '"'; + } + function etag(entity, options) { + if (entity == null) { + throw new TypeError("argument entity is required"); + } + var isStats = isstats(entity); + var weak = options && typeof options.weak === "boolean" ? options.weak : isStats; + if (!isStats && typeof entity !== "string" && !Buffer.isBuffer(entity)) { + throw new TypeError("argument entity must be string, Buffer, or fs.Stats"); + } + var tag = isStats ? stattag(entity) : entitytag(entity); + return weak ? "W/" + tag : tag; + } + function isstats(obj) { + if (typeof Stats === "function" && obj instanceof Stats) { + return true; + } + return obj && typeof obj === "object" && "ctime" in obj && toString.call(obj.ctime) === "[object Date]" && "mtime" in obj && toString.call(obj.mtime) === "[object Date]" && "ino" in obj && typeof obj.ino === "number" && "size" in obj && typeof obj.size === "number"; + } + function stattag(stat) { + var mtime = stat.mtime.getTime().toString(16); + var size = stat.size.toString(16); + return '"' + size + "-" + mtime + '"'; + } + } +}); +var require_db2 = __commonJS2({ + "node_modules/express/node_modules/mime-db/db.json"(exports2, module2) { + module2.exports = { + "application/1d-interleaved-parityfec": { + source: "iana" + }, + "application/3gpdash-qoe-report+xml": { + source: "iana", + charset: "UTF-8", + compressible: true + }, + "application/3gpp-ims+xml": { + source: "iana", + compressible: true + }, + "application/3gpphal+json": { + source: "iana", + compressible: true + }, + "application/3gpphalforms+json": { + source: "iana", + compressible: true + }, + "application/a2l": { + source: "iana" + }, + "application/ace+cbor": { + source: "iana" + }, + "application/ace+json": { + source: "iana", + compressible: true + }, + "application/ace-groupcomm+cbor": { + source: "iana" + }, + "application/ace-trl+cbor": { + source: "iana" + }, + "application/activemessage": { + source: "iana" + }, + "application/activity+json": { + source: "iana", + compressible: true + }, + "application/aif+cbor": { + source: "iana" + }, + "application/aif+json": { + source: "iana", + compressible: true + }, + "application/alto-cdni+json": { + source: "iana", + compressible: true + }, + "application/alto-cdnifilter+json": { + source: "iana", + compressible: true + }, + "application/alto-costmap+json": { + source: "iana", + compressible: true + }, + "application/alto-costmapfilter+json": { + source: "iana", + compressible: true + }, + "application/alto-directory+json": { + source: "iana", + compressible: true + }, + "application/alto-endpointcost+json": { + source: "iana", + compressible: true + }, + "application/alto-endpointcostparams+json": { + source: "iana", + compressible: true + }, + "application/alto-endpointprop+json": { + source: "iana", + compressible: true + }, + "application/alto-endpointpropparams+json": { + source: "iana", + compressible: true + }, + "application/alto-error+json": { + source: "iana", + compressible: true + }, + "application/alto-networkmap+json": { + source: "iana", + compressible: true + }, + "application/alto-networkmapfilter+json": { + source: "iana", + compressible: true + }, + "application/alto-propmap+json": { + source: "iana", + compressible: true + }, + "application/alto-propmapparams+json": { + source: "iana", + compressible: true + }, + "application/alto-tips+json": { + source: "iana", + compressible: true + }, + "application/alto-tipsparams+json": { + source: "iana", + compressible: true + }, + "application/alto-updatestreamcontrol+json": { + source: "iana", + compressible: true + }, + "application/alto-updatestreamparams+json": { + source: "iana", + compressible: true + }, + "application/aml": { + source: "iana" + }, + "application/andrew-inset": { + source: "iana", + extensions: ["ez"] + }, + "application/appinstaller": { + compressible: false, + extensions: ["appinstaller"] + }, + "application/applefile": { + source: "iana" + }, + "application/applixware": { + source: "apache", + extensions: ["aw"] + }, + "application/appx": { + compressible: false, + extensions: ["appx"] + }, + "application/appxbundle": { + compressible: false, + extensions: ["appxbundle"] + }, + "application/at+jwt": { + source: "iana" + }, + "application/atf": { + source: "iana" + }, + "application/atfx": { + source: "iana" + }, + "application/atom+xml": { + source: "iana", + compressible: true, + extensions: ["atom"] + }, + "application/atomcat+xml": { + source: "iana", + compressible: true, + extensions: ["atomcat"] + }, + "application/atomdeleted+xml": { + source: "iana", + compressible: true, + extensions: ["atomdeleted"] + }, + "application/atomicmail": { + source: "iana" + }, + "application/atomsvc+xml": { + source: "iana", + compressible: true, + extensions: ["atomsvc"] + }, + "application/atsc-dwd+xml": { + source: "iana", + compressible: true, + extensions: ["dwd"] + }, + "application/atsc-dynamic-event-message": { + source: "iana" + }, + "application/atsc-held+xml": { + source: "iana", + compressible: true, + extensions: ["held"] + }, + "application/atsc-rdt+json": { + source: "iana", + compressible: true + }, + "application/atsc-rsat+xml": { + source: "iana", + compressible: true, + extensions: ["rsat"] + }, + "application/atxml": { + source: "iana" + }, + "application/auth-policy+xml": { + source: "iana", + compressible: true + }, + "application/automationml-aml+xml": { + source: "iana", + compressible: true, + extensions: ["aml"] + }, + "application/automationml-amlx+zip": { + source: "iana", + compressible: false, + extensions: ["amlx"] + }, + "application/bacnet-xdd+zip": { + source: "iana", + compressible: false + }, + "application/batch-smtp": { + source: "iana" + }, + "application/bdoc": { + compressible: false, + extensions: ["bdoc"] + }, + "application/beep+xml": { + source: "iana", + charset: "UTF-8", + compressible: true + }, + "application/bufr": { + source: "iana" + }, + "application/c2pa": { + source: "iana" + }, + "application/calendar+json": { + source: "iana", + compressible: true + }, + "application/calendar+xml": { + source: "iana", + compressible: true, + extensions: ["xcs"] + }, + "application/call-completion": { + source: "iana" + }, + "application/cals-1840": { + source: "iana" + }, + "application/captive+json": { + source: "iana", + compressible: true + }, + "application/cbor": { + source: "iana" + }, + "application/cbor-seq": { + source: "iana" + }, + "application/cccex": { + source: "iana" + }, + "application/ccmp+xml": { + source: "iana", + compressible: true + }, + "application/ccxml+xml": { + source: "iana", + compressible: true, + extensions: ["ccxml"] + }, + "application/cda+xml": { + source: "iana", + charset: "UTF-8", + compressible: true + }, + "application/cdfx+xml": { + source: "iana", + compressible: true, + extensions: ["cdfx"] + }, + "application/cdmi-capability": { + source: "iana", + extensions: ["cdmia"] + }, + "application/cdmi-container": { + source: "iana", + extensions: ["cdmic"] + }, + "application/cdmi-domain": { + source: "iana", + extensions: ["cdmid"] + }, + "application/cdmi-object": { + source: "iana", + extensions: ["cdmio"] + }, + "application/cdmi-queue": { + source: "iana", + extensions: ["cdmiq"] + }, + "application/cdni": { + source: "iana" + }, + "application/ce+cbor": { + source: "iana" + }, + "application/cea": { + source: "iana" + }, + "application/cea-2018+xml": { + source: "iana", + compressible: true + }, + "application/cellml+xml": { + source: "iana", + compressible: true + }, + "application/cfw": { + source: "iana" + }, + "application/cid-edhoc+cbor-seq": { + source: "iana" + }, + "application/city+json": { + source: "iana", + compressible: true + }, + "application/city+json-seq": { + source: "iana" + }, + "application/clr": { + source: "iana" + }, + "application/clue+xml": { + source: "iana", + compressible: true + }, + "application/clue_info+xml": { + source: "iana", + compressible: true + }, + "application/cms": { + source: "iana" + }, + "application/cnrp+xml": { + source: "iana", + compressible: true + }, + "application/coap-eap": { + source: "iana" + }, + "application/coap-group+json": { + source: "iana", + compressible: true + }, + "application/coap-payload": { + source: "iana" + }, + "application/commonground": { + source: "iana" + }, + "application/concise-problem-details+cbor": { + source: "iana" + }, + "application/conference-info+xml": { + source: "iana", + compressible: true + }, + "application/cose": { + source: "iana" + }, + "application/cose-key": { + source: "iana" + }, + "application/cose-key-set": { + source: "iana" + }, + "application/cose-x509": { + source: "iana" + }, + "application/cpl+xml": { + source: "iana", + compressible: true, + extensions: ["cpl"] + }, + "application/csrattrs": { + source: "iana" + }, + "application/csta+xml": { + source: "iana", + compressible: true + }, + "application/cstadata+xml": { + source: "iana", + compressible: true + }, + "application/csvm+json": { + source: "iana", + compressible: true + }, + "application/cu-seeme": { + source: "apache", + extensions: ["cu"] + }, + "application/cwl": { + source: "iana", + extensions: ["cwl"] + }, + "application/cwl+json": { + source: "iana", + compressible: true + }, + "application/cwl+yaml": { + source: "iana" + }, + "application/cwt": { + source: "iana" + }, + "application/cybercash": { + source: "iana" + }, + "application/dart": { + compressible: true + }, + "application/dash+xml": { + source: "iana", + compressible: true, + extensions: ["mpd"] + }, + "application/dash-patch+xml": { + source: "iana", + compressible: true, + extensions: ["mpp"] + }, + "application/dashdelta": { + source: "iana" + }, + "application/davmount+xml": { + source: "iana", + compressible: true, + extensions: ["davmount"] + }, + "application/dca-rft": { + source: "iana" + }, + "application/dcd": { + source: "iana" + }, + "application/dec-dx": { + source: "iana" + }, + "application/dialog-info+xml": { + source: "iana", + compressible: true + }, + "application/dicom": { + source: "iana", + extensions: ["dcm"] + }, + "application/dicom+json": { + source: "iana", + compressible: true + }, + "application/dicom+xml": { + source: "iana", + compressible: true + }, + "application/dii": { + source: "iana" + }, + "application/dit": { + source: "iana" + }, + "application/dns": { + source: "iana" + }, + "application/dns+json": { + source: "iana", + compressible: true + }, + "application/dns-message": { + source: "iana" + }, + "application/docbook+xml": { + source: "apache", + compressible: true, + extensions: ["dbk"] + }, + "application/dots+cbor": { + source: "iana" + }, + "application/dpop+jwt": { + source: "iana" + }, + "application/dskpp+xml": { + source: "iana", + compressible: true + }, + "application/dssc+der": { + source: "iana", + extensions: ["dssc"] + }, + "application/dssc+xml": { + source: "iana", + compressible: true, + extensions: ["xdssc"] + }, + "application/dvcs": { + source: "iana" + }, + "application/eat+cwt": { + source: "iana" + }, + "application/eat+jwt": { + source: "iana" + }, + "application/eat-bun+cbor": { + source: "iana" + }, + "application/eat-bun+json": { + source: "iana", + compressible: true + }, + "application/eat-ucs+cbor": { + source: "iana" + }, + "application/eat-ucs+json": { + source: "iana", + compressible: true + }, + "application/ecmascript": { + source: "apache", + compressible: true, + extensions: ["ecma"] + }, + "application/edhoc+cbor-seq": { + source: "iana" + }, + "application/edi-consent": { + source: "iana" + }, + "application/edi-x12": { + source: "iana", + compressible: false + }, + "application/edifact": { + source: "iana", + compressible: false + }, + "application/efi": { + source: "iana" + }, + "application/elm+json": { + source: "iana", + charset: "UTF-8", + compressible: true + }, + "application/elm+xml": { + source: "iana", + compressible: true + }, + "application/emergencycalldata.cap+xml": { + source: "iana", + charset: "UTF-8", + compressible: true + }, + "application/emergencycalldata.comment+xml": { + source: "iana", + compressible: true + }, + "application/emergencycalldata.control+xml": { + source: "iana", + compressible: true + }, + "application/emergencycalldata.deviceinfo+xml": { + source: "iana", + compressible: true + }, + "application/emergencycalldata.ecall.msd": { + source: "iana" + }, + "application/emergencycalldata.legacyesn+json": { + source: "iana", + compressible: true + }, + "application/emergencycalldata.providerinfo+xml": { + source: "iana", + compressible: true + }, + "application/emergencycalldata.serviceinfo+xml": { + source: "iana", + compressible: true + }, + "application/emergencycalldata.subscriberinfo+xml": { + source: "iana", + compressible: true + }, + "application/emergencycalldata.veds+xml": { + source: "iana", + compressible: true + }, + "application/emma+xml": { + source: "iana", + compressible: true, + extensions: ["emma"] + }, + "application/emotionml+xml": { + source: "iana", + compressible: true, + extensions: ["emotionml"] + }, + "application/encaprtp": { + source: "iana" + }, + "application/entity-statement+jwt": { + source: "iana" + }, + "application/epp+xml": { + source: "iana", + compressible: true + }, + "application/epub+zip": { + source: "iana", + compressible: false, + extensions: ["epub"] + }, + "application/eshop": { + source: "iana" + }, + "application/exi": { + source: "iana", + extensions: ["exi"] + }, + "application/expect-ct-report+json": { + source: "iana", + compressible: true + }, + "application/express": { + source: "iana", + extensions: ["exp"] + }, + "application/fastinfoset": { + source: "iana" + }, + "application/fastsoap": { + source: "iana" + }, + "application/fdf": { + source: "iana", + extensions: ["fdf"] + }, + "application/fdt+xml": { + source: "iana", + compressible: true, + extensions: ["fdt"] + }, + "application/fhir+json": { + source: "iana", + charset: "UTF-8", + compressible: true + }, + "application/fhir+xml": { + source: "iana", + charset: "UTF-8", + compressible: true + }, + "application/fido.trusted-apps+json": { + compressible: true + }, + "application/fits": { + source: "iana" + }, + "application/flexfec": { + source: "iana" + }, + "application/font-sfnt": { + source: "iana" + }, + "application/font-tdpfr": { + source: "iana", + extensions: ["pfr"] + }, + "application/font-woff": { + source: "iana", + compressible: false + }, + "application/framework-attributes+xml": { + source: "iana", + compressible: true + }, + "application/geo+json": { + source: "iana", + compressible: true, + extensions: ["geojson"] + }, + "application/geo+json-seq": { + source: "iana" + }, + "application/geopackage+sqlite3": { + source: "iana" + }, + "application/geopose+json": { + source: "iana", + compressible: true + }, + "application/geoxacml+json": { + source: "iana", + compressible: true + }, + "application/geoxacml+xml": { + source: "iana", + compressible: true + }, + "application/gltf-buffer": { + source: "iana" + }, + "application/gml+xml": { + source: "iana", + compressible: true, + extensions: ["gml"] + }, + "application/gnap-binding-jws": { + source: "iana" + }, + "application/gnap-binding-jwsd": { + source: "iana" + }, + "application/gnap-binding-rotation-jws": { + source: "iana" + }, + "application/gnap-binding-rotation-jwsd": { + source: "iana" + }, + "application/gpx+xml": { + source: "apache", + compressible: true, + extensions: ["gpx"] + }, + "application/grib": { + source: "iana" + }, + "application/gxf": { + source: "apache", + extensions: ["gxf"] + }, + "application/gzip": { + source: "iana", + compressible: false, + extensions: ["gz"] + }, + "application/h224": { + source: "iana" + }, + "application/held+xml": { + source: "iana", + compressible: true + }, + "application/hjson": { + extensions: ["hjson"] + }, + "application/hl7v2+xml": { + source: "iana", + charset: "UTF-8", + compressible: true + }, + "application/http": { + source: "iana" + }, + "application/hyperstudio": { + source: "iana", + extensions: ["stk"] + }, + "application/ibe-key-request+xml": { + source: "iana", + compressible: true + }, + "application/ibe-pkg-reply+xml": { + source: "iana", + compressible: true + }, + "application/ibe-pp-data": { + source: "iana" + }, + "application/iges": { + source: "iana" + }, + "application/im-iscomposing+xml": { + source: "iana", + charset: "UTF-8", + compressible: true + }, + "application/index": { + source: "iana" + }, + "application/index.cmd": { + source: "iana" + }, + "application/index.obj": { + source: "iana" + }, + "application/index.response": { + source: "iana" + }, + "application/index.vnd": { + source: "iana" + }, + "application/inkml+xml": { + source: "iana", + compressible: true, + extensions: ["ink", "inkml"] + }, + "application/iotp": { + source: "iana" + }, + "application/ipfix": { + source: "iana", + extensions: ["ipfix"] + }, + "application/ipp": { + source: "iana" + }, + "application/isup": { + source: "iana" + }, + "application/its+xml": { + source: "iana", + compressible: true, + extensions: ["its"] + }, + "application/java-archive": { + source: "iana", + compressible: false, + extensions: ["jar", "war", "ear"] + }, + "application/java-serialized-object": { + source: "apache", + compressible: false, + extensions: ["ser"] + }, + "application/java-vm": { + source: "apache", + compressible: false, + extensions: ["class"] + }, + "application/javascript": { + source: "apache", + charset: "UTF-8", + compressible: true, + extensions: ["js"] + }, + "application/jf2feed+json": { + source: "iana", + compressible: true + }, + "application/jose": { + source: "iana" + }, + "application/jose+json": { + source: "iana", + compressible: true + }, + "application/jrd+json": { + source: "iana", + compressible: true + }, + "application/jscalendar+json": { + source: "iana", + compressible: true + }, + "application/jscontact+json": { + source: "iana", + compressible: true + }, + "application/json": { + source: "iana", + charset: "UTF-8", + compressible: true, + extensions: ["json", "map"] + }, + "application/json-patch+json": { + source: "iana", + compressible: true + }, + "application/json-seq": { + source: "iana" + }, + "application/json5": { + extensions: ["json5"] + }, + "application/jsonml+json": { + source: "apache", + compressible: true, + extensions: ["jsonml"] + }, + "application/jsonpath": { + source: "iana" + }, + "application/jwk+json": { + source: "iana", + compressible: true + }, + "application/jwk-set+json": { + source: "iana", + compressible: true + }, + "application/jwk-set+jwt": { + source: "iana" + }, + "application/jwt": { + source: "iana" + }, + "application/kpml-request+xml": { + source: "iana", + compressible: true + }, + "application/kpml-response+xml": { + source: "iana", + compressible: true + }, + "application/ld+json": { + source: "iana", + compressible: true, + extensions: ["jsonld"] + }, + "application/lgr+xml": { + source: "iana", + compressible: true, + extensions: ["lgr"] + }, + "application/link-format": { + source: "iana" + }, + "application/linkset": { + source: "iana" + }, + "application/linkset+json": { + source: "iana", + compressible: true + }, + "application/load-control+xml": { + source: "iana", + compressible: true + }, + "application/logout+jwt": { + source: "iana" + }, + "application/lost+xml": { + source: "iana", + compressible: true, + extensions: ["lostxml"] + }, + "application/lostsync+xml": { + source: "iana", + compressible: true + }, + "application/lpf+zip": { + source: "iana", + compressible: false + }, + "application/lxf": { + source: "iana" + }, + "application/mac-binhex40": { + source: "iana", + extensions: ["hqx"] + }, + "application/mac-compactpro": { + source: "apache", + extensions: ["cpt"] + }, + "application/macwriteii": { + source: "iana" + }, + "application/mads+xml": { + source: "iana", + compressible: true, + extensions: ["mads"] + }, + "application/manifest+json": { + source: "iana", + charset: "UTF-8", + compressible: true, + extensions: ["webmanifest"] + }, + "application/marc": { + source: "iana", + extensions: ["mrc"] + }, + "application/marcxml+xml": { + source: "iana", + compressible: true, + extensions: ["mrcx"] + }, + "application/mathematica": { + source: "iana", + extensions: ["ma", "nb", "mb"] + }, + "application/mathml+xml": { + source: "iana", + compressible: true, + extensions: ["mathml"] + }, + "application/mathml-content+xml": { + source: "iana", + compressible: true + }, + "application/mathml-presentation+xml": { + source: "iana", + compressible: true + }, + "application/mbms-associated-procedure-description+xml": { + source: "iana", + compressible: true + }, + "application/mbms-deregister+xml": { + source: "iana", + compressible: true + }, + "application/mbms-envelope+xml": { + source: "iana", + compressible: true + }, + "application/mbms-msk+xml": { + source: "iana", + compressible: true + }, + "application/mbms-msk-response+xml": { + source: "iana", + compressible: true + }, + "application/mbms-protection-description+xml": { + source: "iana", + compressible: true + }, + "application/mbms-reception-report+xml": { + source: "iana", + compressible: true + }, + "application/mbms-register+xml": { + source: "iana", + compressible: true + }, + "application/mbms-register-response+xml": { + source: "iana", + compressible: true + }, + "application/mbms-schedule+xml": { + source: "iana", + compressible: true + }, + "application/mbms-user-service-description+xml": { + source: "iana", + compressible: true + }, + "application/mbox": { + source: "iana", + extensions: ["mbox"] + }, + "application/media-policy-dataset+xml": { + source: "iana", + compressible: true, + extensions: ["mpf"] + }, + "application/media_control+xml": { + source: "iana", + compressible: true + }, + "application/mediaservercontrol+xml": { + source: "iana", + compressible: true, + extensions: ["mscml"] + }, + "application/merge-patch+json": { + source: "iana", + compressible: true + }, + "application/metalink+xml": { + source: "apache", + compressible: true, + extensions: ["metalink"] + }, + "application/metalink4+xml": { + source: "iana", + compressible: true, + extensions: ["meta4"] + }, + "application/mets+xml": { + source: "iana", + compressible: true, + extensions: ["mets"] + }, + "application/mf4": { + source: "iana" + }, + "application/mikey": { + source: "iana" + }, + "application/mipc": { + source: "iana" + }, + "application/missing-blocks+cbor-seq": { + source: "iana" + }, + "application/mmt-aei+xml": { + source: "iana", + compressible: true, + extensions: ["maei"] + }, + "application/mmt-usd+xml": { + source: "iana", + compressible: true, + extensions: ["musd"] + }, + "application/mods+xml": { + source: "iana", + compressible: true, + extensions: ["mods"] + }, + "application/moss-keys": { + source: "iana" + }, + "application/moss-signature": { + source: "iana" + }, + "application/mosskey-data": { + source: "iana" + }, + "application/mosskey-request": { + source: "iana" + }, + "application/mp21": { + source: "iana", + extensions: ["m21", "mp21"] + }, + "application/mp4": { + source: "iana", + extensions: ["mp4", "mpg4", "mp4s", "m4p"] + }, + "application/mpeg4-generic": { + source: "iana" + }, + "application/mpeg4-iod": { + source: "iana" + }, + "application/mpeg4-iod-xmt": { + source: "iana" + }, + "application/mrb-consumer+xml": { + source: "iana", + compressible: true + }, + "application/mrb-publish+xml": { + source: "iana", + compressible: true + }, + "application/msc-ivr+xml": { + source: "iana", + charset: "UTF-8", + compressible: true + }, + "application/msc-mixer+xml": { + source: "iana", + charset: "UTF-8", + compressible: true + }, + "application/msix": { + compressible: false, + extensions: ["msix"] + }, + "application/msixbundle": { + compressible: false, + extensions: ["msixbundle"] + }, + "application/msword": { + source: "iana", + compressible: false, + extensions: ["doc", "dot"] + }, + "application/mud+json": { + source: "iana", + compressible: true + }, + "application/multipart-core": { + source: "iana" + }, + "application/mxf": { + source: "iana", + extensions: ["mxf"] + }, + "application/n-quads": { + source: "iana", + extensions: ["nq"] + }, + "application/n-triples": { + source: "iana", + extensions: ["nt"] + }, + "application/nasdata": { + source: "iana" + }, + "application/news-checkgroups": { + source: "iana", + charset: "US-ASCII" + }, + "application/news-groupinfo": { + source: "iana", + charset: "US-ASCII" + }, + "application/news-transmission": { + source: "iana" + }, + "application/nlsml+xml": { + source: "iana", + compressible: true + }, + "application/node": { + source: "iana", + extensions: ["cjs"] + }, + "application/nss": { + source: "iana" + }, + "application/oauth-authz-req+jwt": { + source: "iana" + }, + "application/oblivious-dns-message": { + source: "iana" + }, + "application/ocsp-request": { + source: "iana" + }, + "application/ocsp-response": { + source: "iana" + }, + "application/octet-stream": { + source: "iana", + compressible: true, + extensions: ["bin", "dms", "lrf", "mar", "so", "dist", "distz", "pkg", "bpk", "dump", "elc", "deploy", "exe", "dll", "deb", "dmg", "iso", "img", "msi", "msp", "msm", "buffer"] + }, + "application/oda": { + source: "iana", + extensions: ["oda"] + }, + "application/odm+xml": { + source: "iana", + compressible: true + }, + "application/odx": { + source: "iana" + }, + "application/oebps-package+xml": { + source: "iana", + compressible: true, + extensions: ["opf"] + }, + "application/ogg": { + source: "iana", + compressible: false, + extensions: ["ogx"] + }, + "application/ohttp-keys": { + source: "iana" + }, + "application/omdoc+xml": { + source: "apache", + compressible: true, + extensions: ["omdoc"] + }, + "application/onenote": { + source: "apache", + extensions: ["onetoc", "onetoc2", "onetmp", "onepkg", "one", "onea"] + }, + "application/opc-nodeset+xml": { + source: "iana", + compressible: true + }, + "application/oscore": { + source: "iana" + }, + "application/oxps": { + source: "iana", + extensions: ["oxps"] + }, + "application/p21": { + source: "iana" + }, + "application/p21+zip": { + source: "iana", + compressible: false + }, + "application/p2p-overlay+xml": { + source: "iana", + compressible: true, + extensions: ["relo"] + }, + "application/parityfec": { + source: "iana" + }, + "application/passport": { + source: "iana" + }, + "application/patch-ops-error+xml": { + source: "iana", + compressible: true, + extensions: ["xer"] + }, + "application/pdf": { + source: "iana", + compressible: false, + extensions: ["pdf"] + }, + "application/pdx": { + source: "iana" + }, + "application/pem-certificate-chain": { + source: "iana" + }, + "application/pgp-encrypted": { + source: "iana", + compressible: false, + extensions: ["pgp"] + }, + "application/pgp-keys": { + source: "iana", + extensions: ["asc"] + }, + "application/pgp-signature": { + source: "iana", + extensions: ["sig", "asc"] + }, + "application/pics-rules": { + source: "apache", + extensions: ["prf"] + }, + "application/pidf+xml": { + source: "iana", + charset: "UTF-8", + compressible: true + }, + "application/pidf-diff+xml": { + source: "iana", + charset: "UTF-8", + compressible: true + }, + "application/pkcs10": { + source: "iana", + extensions: ["p10"] + }, + "application/pkcs12": { + source: "iana" + }, + "application/pkcs7-mime": { + source: "iana", + extensions: ["p7m", "p7c"] + }, + "application/pkcs7-signature": { + source: "iana", + extensions: ["p7s"] + }, + "application/pkcs8": { + source: "iana", + extensions: ["p8"] + }, + "application/pkcs8-encrypted": { + source: "iana" + }, + "application/pkix-attr-cert": { + source: "iana", + extensions: ["ac"] + }, + "application/pkix-cert": { + source: "iana", + extensions: ["cer"] + }, + "application/pkix-crl": { + source: "iana", + extensions: ["crl"] + }, + "application/pkix-pkipath": { + source: "iana", + extensions: ["pkipath"] + }, + "application/pkixcmp": { + source: "iana", + extensions: ["pki"] + }, + "application/pls+xml": { + source: "iana", + compressible: true, + extensions: ["pls"] + }, + "application/poc-settings+xml": { + source: "iana", + charset: "UTF-8", + compressible: true + }, + "application/postscript": { + source: "iana", + compressible: true, + extensions: ["ai", "eps", "ps"] + }, + "application/ppsp-tracker+json": { + source: "iana", + compressible: true + }, + "application/private-token-issuer-directory": { + source: "iana" + }, + "application/private-token-request": { + source: "iana" + }, + "application/private-token-response": { + source: "iana" + }, + "application/problem+json": { + source: "iana", + compressible: true + }, + "application/problem+xml": { + source: "iana", + compressible: true + }, + "application/provenance+xml": { + source: "iana", + compressible: true, + extensions: ["provx"] + }, + "application/provided-claims+jwt": { + source: "iana" + }, + "application/prs.alvestrand.titrax-sheet": { + source: "iana" + }, + "application/prs.cww": { + source: "iana", + extensions: ["cww"] + }, + "application/prs.cyn": { + source: "iana", + charset: "7-BIT" + }, + "application/prs.hpub+zip": { + source: "iana", + compressible: false + }, + "application/prs.implied-document+xml": { + source: "iana", + compressible: true + }, + "application/prs.implied-executable": { + source: "iana" + }, + "application/prs.implied-object+json": { + source: "iana", + compressible: true + }, + "application/prs.implied-object+json-seq": { + source: "iana" + }, + "application/prs.implied-object+yaml": { + source: "iana" + }, + "application/prs.implied-structure": { + source: "iana" + }, + "application/prs.mayfile": { + source: "iana" + }, + "application/prs.nprend": { + source: "iana" + }, + "application/prs.plucker": { + source: "iana" + }, + "application/prs.rdf-xml-crypt": { + source: "iana" + }, + "application/prs.vcfbzip2": { + source: "iana" + }, + "application/prs.xsf+xml": { + source: "iana", + compressible: true, + extensions: ["xsf"] + }, + "application/pskc+xml": { + source: "iana", + compressible: true, + extensions: ["pskcxml"] + }, + "application/pvd+json": { + source: "iana", + compressible: true + }, + "application/qsig": { + source: "iana" + }, + "application/raml+yaml": { + compressible: true, + extensions: ["raml"] + }, + "application/raptorfec": { + source: "iana" + }, + "application/rdap+json": { + source: "iana", + compressible: true + }, + "application/rdf+xml": { + source: "iana", + compressible: true, + extensions: ["rdf", "owl"] + }, + "application/reginfo+xml": { + source: "iana", + compressible: true, + extensions: ["rif"] + }, + "application/relax-ng-compact-syntax": { + source: "iana", + extensions: ["rnc"] + }, + "application/remote-printing": { + source: "apache" + }, + "application/reputon+json": { + source: "iana", + compressible: true + }, + "application/resolve-response+jwt": { + source: "iana" + }, + "application/resource-lists+xml": { + source: "iana", + compressible: true, + extensions: ["rl"] + }, + "application/resource-lists-diff+xml": { + source: "iana", + compressible: true, + extensions: ["rld"] + }, + "application/rfc+xml": { + source: "iana", + compressible: true + }, + "application/riscos": { + source: "iana" + }, + "application/rlmi+xml": { + source: "iana", + compressible: true + }, + "application/rls-services+xml": { + source: "iana", + compressible: true, + extensions: ["rs"] + }, + "application/route-apd+xml": { + source: "iana", + compressible: true, + extensions: ["rapd"] + }, + "application/route-s-tsid+xml": { + source: "iana", + compressible: true, + extensions: ["sls"] + }, + "application/route-usd+xml": { + source: "iana", + compressible: true, + extensions: ["rusd"] + }, + "application/rpki-checklist": { + source: "iana" + }, + "application/rpki-ghostbusters": { + source: "iana", + extensions: ["gbr"] + }, + "application/rpki-manifest": { + source: "iana", + extensions: ["mft"] + }, + "application/rpki-publication": { + source: "iana" + }, + "application/rpki-roa": { + source: "iana", + extensions: ["roa"] + }, + "application/rpki-signed-tal": { + source: "iana" + }, + "application/rpki-updown": { + source: "iana" + }, + "application/rsd+xml": { + source: "apache", + compressible: true, + extensions: ["rsd"] + }, + "application/rss+xml": { + source: "apache", + compressible: true, + extensions: ["rss"] + }, + "application/rtf": { + source: "iana", + compressible: true, + extensions: ["rtf"] + }, + "application/rtploopback": { + source: "iana" + }, + "application/rtx": { + source: "iana" + }, + "application/samlassertion+xml": { + source: "iana", + compressible: true + }, + "application/samlmetadata+xml": { + source: "iana", + compressible: true + }, + "application/sarif+json": { + source: "iana", + compressible: true + }, + "application/sarif-external-properties+json": { + source: "iana", + compressible: true + }, + "application/sbe": { + source: "iana" + }, + "application/sbml+xml": { + source: "iana", + compressible: true, + extensions: ["sbml"] + }, + "application/scaip+xml": { + source: "iana", + compressible: true + }, + "application/scim+json": { + source: "iana", + compressible: true + }, + "application/scvp-cv-request": { + source: "iana", + extensions: ["scq"] + }, + "application/scvp-cv-response": { + source: "iana", + extensions: ["scs"] + }, + "application/scvp-vp-request": { + source: "iana", + extensions: ["spq"] + }, + "application/scvp-vp-response": { + source: "iana", + extensions: ["spp"] + }, + "application/sdp": { + source: "iana", + extensions: ["sdp"] + }, + "application/secevent+jwt": { + source: "iana" + }, + "application/senml+cbor": { + source: "iana" + }, + "application/senml+json": { + source: "iana", + compressible: true + }, + "application/senml+xml": { + source: "iana", + compressible: true, + extensions: ["senmlx"] + }, + "application/senml-etch+cbor": { + source: "iana" + }, + "application/senml-etch+json": { + source: "iana", + compressible: true + }, + "application/senml-exi": { + source: "iana" + }, + "application/sensml+cbor": { + source: "iana" + }, + "application/sensml+json": { + source: "iana", + compressible: true + }, + "application/sensml+xml": { + source: "iana", + compressible: true, + extensions: ["sensmlx"] + }, + "application/sensml-exi": { + source: "iana" + }, + "application/sep+xml": { + source: "iana", + compressible: true + }, + "application/sep-exi": { + source: "iana" + }, + "application/session-info": { + source: "iana" + }, + "application/set-payment": { + source: "iana" + }, + "application/set-payment-initiation": { + source: "iana", + extensions: ["setpay"] + }, + "application/set-registration": { + source: "iana" + }, + "application/set-registration-initiation": { + source: "iana", + extensions: ["setreg"] + }, + "application/sgml": { + source: "iana" + }, + "application/sgml-open-catalog": { + source: "iana" + }, + "application/shf+xml": { + source: "iana", + compressible: true, + extensions: ["shf"] + }, + "application/sieve": { + source: "iana", + extensions: ["siv", "sieve"] + }, + "application/simple-filter+xml": { + source: "iana", + compressible: true + }, + "application/simple-message-summary": { + source: "iana" + }, + "application/simplesymbolcontainer": { + source: "iana" + }, + "application/sipc": { + source: "iana" + }, + "application/slate": { + source: "iana" + }, + "application/smil": { + source: "apache" + }, + "application/smil+xml": { + source: "iana", + compressible: true, + extensions: ["smi", "smil"] + }, + "application/smpte336m": { + source: "iana" + }, + "application/soap+fastinfoset": { + source: "iana" + }, + "application/soap+xml": { + source: "iana", + compressible: true + }, + "application/sparql-query": { + source: "iana", + extensions: ["rq"] + }, + "application/sparql-results+xml": { + source: "iana", + compressible: true, + extensions: ["srx"] + }, + "application/spdx+json": { + source: "iana", + compressible: true + }, + "application/spirits-event+xml": { + source: "iana", + compressible: true + }, + "application/sql": { + source: "iana", + extensions: ["sql"] + }, + "application/srgs": { + source: "iana", + extensions: ["gram"] + }, + "application/srgs+xml": { + source: "iana", + compressible: true, + extensions: ["grxml"] + }, + "application/sru+xml": { + source: "iana", + compressible: true, + extensions: ["sru"] + }, + "application/ssdl+xml": { + source: "apache", + compressible: true, + extensions: ["ssdl"] + }, + "application/sslkeylogfile": { + source: "iana" + }, + "application/ssml+xml": { + source: "iana", + compressible: true, + extensions: ["ssml"] + }, + "application/st2110-41": { + source: "iana" + }, + "application/stix+json": { + source: "iana", + compressible: true + }, + "application/stratum": { + source: "iana" + }, + "application/swid+cbor": { + source: "iana" + }, + "application/swid+xml": { + source: "iana", + compressible: true, + extensions: ["swidtag"] + }, + "application/tamp-apex-update": { + source: "iana" + }, + "application/tamp-apex-update-confirm": { + source: "iana" + }, + "application/tamp-community-update": { + source: "iana" + }, + "application/tamp-community-update-confirm": { + source: "iana" + }, + "application/tamp-error": { + source: "iana" + }, + "application/tamp-sequence-adjust": { + source: "iana" + }, + "application/tamp-sequence-adjust-confirm": { + source: "iana" + }, + "application/tamp-status-query": { + source: "iana" + }, + "application/tamp-status-response": { + source: "iana" + }, + "application/tamp-update": { + source: "iana" + }, + "application/tamp-update-confirm": { + source: "iana" + }, + "application/tar": { + compressible: true + }, + "application/taxii+json": { + source: "iana", + compressible: true + }, + "application/td+json": { + source: "iana", + compressible: true + }, + "application/tei+xml": { + source: "iana", + compressible: true, + extensions: ["tei", "teicorpus"] + }, + "application/tetra_isi": { + source: "iana" + }, + "application/thraud+xml": { + source: "iana", + compressible: true, + extensions: ["tfi"] + }, + "application/timestamp-query": { + source: "iana" + }, + "application/timestamp-reply": { + source: "iana" + }, + "application/timestamped-data": { + source: "iana", + extensions: ["tsd"] + }, + "application/tlsrpt+gzip": { + source: "iana" + }, + "application/tlsrpt+json": { + source: "iana", + compressible: true + }, + "application/tm+json": { + source: "iana", + compressible: true + }, + "application/tnauthlist": { + source: "iana" + }, + "application/toc+cbor": { + source: "iana" + }, + "application/token-introspection+jwt": { + source: "iana" + }, + "application/toml": { + source: "iana", + compressible: true, + extensions: ["toml"] + }, + "application/trickle-ice-sdpfrag": { + source: "iana" + }, + "application/trig": { + source: "iana", + extensions: ["trig"] + }, + "application/trust-chain+json": { + source: "iana", + compressible: true + }, + "application/trust-mark+jwt": { + source: "iana" + }, + "application/trust-mark-delegation+jwt": { + source: "iana" + }, + "application/ttml+xml": { + source: "iana", + compressible: true, + extensions: ["ttml"] + }, + "application/tve-trigger": { + source: "iana" + }, + "application/tzif": { + source: "iana" + }, + "application/tzif-leap": { + source: "iana" + }, + "application/ubjson": { + compressible: false, + extensions: ["ubj"] + }, + "application/uccs+cbor": { + source: "iana" + }, + "application/ujcs+json": { + source: "iana", + compressible: true + }, + "application/ulpfec": { + source: "iana" + }, + "application/urc-grpsheet+xml": { + source: "iana", + compressible: true + }, + "application/urc-ressheet+xml": { + source: "iana", + compressible: true, + extensions: ["rsheet"] + }, + "application/urc-targetdesc+xml": { + source: "iana", + compressible: true, + extensions: ["td"] + }, + "application/urc-uisocketdesc+xml": { + source: "iana", + compressible: true + }, + "application/vc": { + source: "iana" + }, + "application/vc+cose": { + source: "iana" + }, + "application/vc+jwt": { + source: "iana" + }, + "application/vcard+json": { + source: "iana", + compressible: true + }, + "application/vcard+xml": { + source: "iana", + compressible: true + }, + "application/vemmi": { + source: "iana" + }, + "application/vividence.scriptfile": { + source: "apache" + }, + "application/vnd.1000minds.decision-model+xml": { + source: "iana", + compressible: true, + extensions: ["1km"] + }, + "application/vnd.1ob": { + source: "iana" + }, + "application/vnd.3gpp-prose+xml": { + source: "iana", + compressible: true + }, + "application/vnd.3gpp-prose-pc3a+xml": { + source: "iana", + compressible: true + }, + "application/vnd.3gpp-prose-pc3ach+xml": { + source: "iana", + compressible: true + }, + "application/vnd.3gpp-prose-pc3ch+xml": { + source: "iana", + compressible: true + }, + "application/vnd.3gpp-prose-pc8+xml": { + source: "iana", + compressible: true + }, + "application/vnd.3gpp-v2x-local-service-information": { + source: "iana" + }, + "application/vnd.3gpp.5gnas": { + source: "iana" + }, + "application/vnd.3gpp.5gsa2x": { + source: "iana" + }, + "application/vnd.3gpp.5gsa2x-local-service-information": { + source: "iana" + }, + "application/vnd.3gpp.5gsv2x": { + source: "iana" + }, + "application/vnd.3gpp.5gsv2x-local-service-information": { + source: "iana" + }, + "application/vnd.3gpp.access-transfer-events+xml": { + source: "iana", + compressible: true + }, + "application/vnd.3gpp.bsf+xml": { + source: "iana", + compressible: true + }, + "application/vnd.3gpp.crs+xml": { + source: "iana", + compressible: true + }, + "application/vnd.3gpp.current-location-discovery+xml": { + source: "iana", + compressible: true + }, + "application/vnd.3gpp.gmop+xml": { + source: "iana", + compressible: true + }, + "application/vnd.3gpp.gtpc": { + source: "iana" + }, + "application/vnd.3gpp.interworking-data": { + source: "iana" + }, + "application/vnd.3gpp.lpp": { + source: "iana" + }, + "application/vnd.3gpp.mc-signalling-ear": { + source: "iana" + }, + "application/vnd.3gpp.mcdata-affiliation-command+xml": { + source: "iana", + compressible: true + }, + "application/vnd.3gpp.mcdata-info+xml": { + source: "iana", + compressible: true + }, + "application/vnd.3gpp.mcdata-msgstore-ctrl-request+xml": { + source: "iana", + compressible: true + }, + "application/vnd.3gpp.mcdata-payload": { + source: "iana" + }, + "application/vnd.3gpp.mcdata-regroup+xml": { + source: "iana", + compressible: true + }, + "application/vnd.3gpp.mcdata-service-config+xml": { + source: "iana", + compressible: true + }, + "application/vnd.3gpp.mcdata-signalling": { + source: "iana" + }, + "application/vnd.3gpp.mcdata-ue-config+xml": { + source: "iana", + compressible: true + }, + "application/vnd.3gpp.mcdata-user-profile+xml": { + source: "iana", + compressible: true + }, + "application/vnd.3gpp.mcptt-affiliation-command+xml": { + source: "iana", + compressible: true + }, + "application/vnd.3gpp.mcptt-floor-request+xml": { + source: "iana", + compressible: true + }, + "application/vnd.3gpp.mcptt-info+xml": { + source: "iana", + compressible: true + }, + "application/vnd.3gpp.mcptt-location-info+xml": { + source: "iana", + compressible: true + }, + "application/vnd.3gpp.mcptt-mbms-usage-info+xml": { + source: "iana", + compressible: true + }, + "application/vnd.3gpp.mcptt-regroup+xml": { + source: "iana", + compressible: true + }, + "application/vnd.3gpp.mcptt-service-config+xml": { + source: "iana", + compressible: true + }, + "application/vnd.3gpp.mcptt-signed+xml": { + source: "iana", + compressible: true + }, + "application/vnd.3gpp.mcptt-ue-config+xml": { + source: "iana", + compressible: true + }, + "application/vnd.3gpp.mcptt-ue-init-config+xml": { + source: "iana", + compressible: true + }, + "application/vnd.3gpp.mcptt-user-profile+xml": { + source: "iana", + compressible: true + }, + "application/vnd.3gpp.mcvideo-affiliation-command+xml": { + source: "iana", + compressible: true + }, + "application/vnd.3gpp.mcvideo-info+xml": { + source: "iana", + compressible: true + }, + "application/vnd.3gpp.mcvideo-location-info+xml": { + source: "iana", + compressible: true + }, + "application/vnd.3gpp.mcvideo-mbms-usage-info+xml": { + source: "iana", + compressible: true + }, + "application/vnd.3gpp.mcvideo-regroup+xml": { + source: "iana", + compressible: true + }, + "application/vnd.3gpp.mcvideo-service-config+xml": { + source: "iana", + compressible: true + }, + "application/vnd.3gpp.mcvideo-transmission-request+xml": { + source: "iana", + compressible: true + }, + "application/vnd.3gpp.mcvideo-ue-config+xml": { + source: "iana", + compressible: true + }, + "application/vnd.3gpp.mcvideo-user-profile+xml": { + source: "iana", + compressible: true + }, + "application/vnd.3gpp.mid-call+xml": { + source: "iana", + compressible: true + }, + "application/vnd.3gpp.ngap": { + source: "iana" + }, + "application/vnd.3gpp.pfcp": { + source: "iana" + }, + "application/vnd.3gpp.pic-bw-large": { + source: "iana", + extensions: ["plb"] + }, + "application/vnd.3gpp.pic-bw-small": { + source: "iana", + extensions: ["psb"] + }, + "application/vnd.3gpp.pic-bw-var": { + source: "iana", + extensions: ["pvb"] + }, + "application/vnd.3gpp.pinapp-info+xml": { + source: "iana", + compressible: true + }, + "application/vnd.3gpp.s1ap": { + source: "iana" + }, + "application/vnd.3gpp.seal-group-doc+xml": { + source: "iana", + compressible: true + }, + "application/vnd.3gpp.seal-info+xml": { + source: "iana", + compressible: true + }, + "application/vnd.3gpp.seal-location-info+xml": { + source: "iana", + compressible: true + }, + "application/vnd.3gpp.seal-mbms-usage-info+xml": { + source: "iana", + compressible: true + }, + "application/vnd.3gpp.seal-network-qos-management-info+xml": { + source: "iana", + compressible: true + }, + "application/vnd.3gpp.seal-ue-config-info+xml": { + source: "iana", + compressible: true + }, + "application/vnd.3gpp.seal-unicast-info+xml": { + source: "iana", + compressible: true + }, + "application/vnd.3gpp.seal-user-profile-info+xml": { + source: "iana", + compressible: true + }, + "application/vnd.3gpp.sms": { + source: "iana" + }, + "application/vnd.3gpp.sms+xml": { + source: "iana", + compressible: true + }, + "application/vnd.3gpp.srvcc-ext+xml": { + source: "iana", + compressible: true + }, + "application/vnd.3gpp.srvcc-info+xml": { + source: "iana", + compressible: true + }, + "application/vnd.3gpp.state-and-event-info+xml": { + source: "iana", + compressible: true + }, + "application/vnd.3gpp.ussd+xml": { + source: "iana", + compressible: true + }, + "application/vnd.3gpp.v2x": { + source: "iana" + }, + "application/vnd.3gpp.vae-info+xml": { + source: "iana", + compressible: true + }, + "application/vnd.3gpp2.bcmcsinfo+xml": { + source: "iana", + compressible: true + }, + "application/vnd.3gpp2.sms": { + source: "iana" + }, + "application/vnd.3gpp2.tcap": { + source: "iana", + extensions: ["tcap"] + }, + "application/vnd.3lightssoftware.imagescal": { + source: "iana" + }, + "application/vnd.3m.post-it-notes": { + source: "iana", + extensions: ["pwn"] + }, + "application/vnd.accpac.simply.aso": { + source: "iana", + extensions: ["aso"] + }, + "application/vnd.accpac.simply.imp": { + source: "iana", + extensions: ["imp"] + }, + "application/vnd.acm.addressxfer+json": { + source: "iana", + compressible: true + }, + "application/vnd.acm.chatbot+json": { + source: "iana", + compressible: true + }, + "application/vnd.acucobol": { + source: "iana", + extensions: ["acu"] + }, + "application/vnd.acucorp": { + source: "iana", + extensions: ["atc", "acutc"] + }, + "application/vnd.adobe.air-application-installer-package+zip": { + source: "apache", + compressible: false, + extensions: ["air"] + }, + "application/vnd.adobe.flash.movie": { + source: "iana" + }, + "application/vnd.adobe.formscentral.fcdt": { + source: "iana", + extensions: ["fcdt"] + }, + "application/vnd.adobe.fxp": { + source: "iana", + extensions: ["fxp", "fxpl"] + }, + "application/vnd.adobe.partial-upload": { + source: "iana" + }, + "application/vnd.adobe.xdp+xml": { + source: "iana", + compressible: true, + extensions: ["xdp"] + }, + "application/vnd.adobe.xfdf": { + source: "apache", + extensions: ["xfdf"] + }, + "application/vnd.aether.imp": { + source: "iana" + }, + "application/vnd.afpc.afplinedata": { + source: "iana" + }, + "application/vnd.afpc.afplinedata-pagedef": { + source: "iana" + }, + "application/vnd.afpc.cmoca-cmresource": { + source: "iana" + }, + "application/vnd.afpc.foca-charset": { + source: "iana" + }, + "application/vnd.afpc.foca-codedfont": { + source: "iana" + }, + "application/vnd.afpc.foca-codepage": { + source: "iana" + }, + "application/vnd.afpc.modca": { + source: "iana" + }, + "application/vnd.afpc.modca-cmtable": { + source: "iana" + }, + "application/vnd.afpc.modca-formdef": { + source: "iana" + }, + "application/vnd.afpc.modca-mediummap": { + source: "iana" + }, + "application/vnd.afpc.modca-objectcontainer": { + source: "iana" + }, + "application/vnd.afpc.modca-overlay": { + source: "iana" + }, + "application/vnd.afpc.modca-pagesegment": { + source: "iana" + }, + "application/vnd.age": { + source: "iana", + extensions: ["age"] + }, + "application/vnd.ah-barcode": { + source: "apache" + }, + "application/vnd.ahead.space": { + source: "iana", + extensions: ["ahead"] + }, + "application/vnd.airzip.filesecure.azf": { + source: "iana", + extensions: ["azf"] + }, + "application/vnd.airzip.filesecure.azs": { + source: "iana", + extensions: ["azs"] + }, + "application/vnd.amadeus+json": { + source: "iana", + compressible: true + }, + "application/vnd.amazon.ebook": { + source: "apache", + extensions: ["azw"] + }, + "application/vnd.amazon.mobi8-ebook": { + source: "iana" + }, + "application/vnd.americandynamics.acc": { + source: "iana", + extensions: ["acc"] + }, + "application/vnd.amiga.ami": { + source: "iana", + extensions: ["ami"] + }, + "application/vnd.amundsen.maze+xml": { + source: "iana", + compressible: true + }, + "application/vnd.android.ota": { + source: "iana" + }, + "application/vnd.android.package-archive": { + source: "apache", + compressible: false, + extensions: ["apk"] + }, + "application/vnd.anki": { + source: "iana" + }, + "application/vnd.anser-web-certificate-issue-initiation": { + source: "iana", + extensions: ["cii"] + }, + "application/vnd.anser-web-funds-transfer-initiation": { + source: "apache", + extensions: ["fti"] + }, + "application/vnd.antix.game-component": { + source: "iana", + extensions: ["atx"] + }, + "application/vnd.apache.arrow.file": { + source: "iana" + }, + "application/vnd.apache.arrow.stream": { + source: "iana" + }, + "application/vnd.apache.parquet": { + source: "iana" + }, + "application/vnd.apache.thrift.binary": { + source: "iana" + }, + "application/vnd.apache.thrift.compact": { + source: "iana" + }, + "application/vnd.apache.thrift.json": { + source: "iana" + }, + "application/vnd.apexlang": { + source: "iana" + }, + "application/vnd.api+json": { + source: "iana", + compressible: true + }, + "application/vnd.aplextor.warrp+json": { + source: "iana", + compressible: true + }, + "application/vnd.apothekende.reservation+json": { + source: "iana", + compressible: true + }, + "application/vnd.apple.installer+xml": { + source: "iana", + compressible: true, + extensions: ["mpkg"] + }, + "application/vnd.apple.keynote": { + source: "iana", + extensions: ["key"] + }, + "application/vnd.apple.mpegurl": { + source: "iana", + extensions: ["m3u8"] + }, + "application/vnd.apple.numbers": { + source: "iana", + extensions: ["numbers"] + }, + "application/vnd.apple.pages": { + source: "iana", + extensions: ["pages"] + }, + "application/vnd.apple.pkpass": { + compressible: false, + extensions: ["pkpass"] + }, + "application/vnd.arastra.swi": { + source: "apache" + }, + "application/vnd.aristanetworks.swi": { + source: "iana", + extensions: ["swi"] + }, + "application/vnd.artisan+json": { + source: "iana", + compressible: true + }, + "application/vnd.artsquare": { + source: "iana" + }, + "application/vnd.astraea-software.iota": { + source: "iana", + extensions: ["iota"] + }, + "application/vnd.audiograph": { + source: "iana", + extensions: ["aep"] + }, + "application/vnd.autodesk.fbx": { + extensions: ["fbx"] + }, + "application/vnd.autopackage": { + source: "iana" + }, + "application/vnd.avalon+json": { + source: "iana", + compressible: true + }, + "application/vnd.avistar+xml": { + source: "iana", + compressible: true + }, + "application/vnd.balsamiq.bmml+xml": { + source: "iana", + compressible: true, + extensions: ["bmml"] + }, + "application/vnd.balsamiq.bmpr": { + source: "iana" + }, + "application/vnd.banana-accounting": { + source: "iana" + }, + "application/vnd.bbf.usp.error": { + source: "iana" + }, + "application/vnd.bbf.usp.msg": { + source: "iana" + }, + "application/vnd.bbf.usp.msg+json": { + source: "iana", + compressible: true + }, + "application/vnd.bekitzur-stech+json": { + source: "iana", + compressible: true + }, + "application/vnd.belightsoft.lhzd+zip": { + source: "iana", + compressible: false + }, + "application/vnd.belightsoft.lhzl+zip": { + source: "iana", + compressible: false + }, + "application/vnd.bint.med-content": { + source: "iana" + }, + "application/vnd.biopax.rdf+xml": { + source: "iana", + compressible: true + }, + "application/vnd.blink-idb-value-wrapper": { + source: "iana" + }, + "application/vnd.blueice.multipass": { + source: "iana", + extensions: ["mpm"] + }, + "application/vnd.bluetooth.ep.oob": { + source: "iana" + }, + "application/vnd.bluetooth.le.oob": { + source: "iana" + }, + "application/vnd.bmi": { + source: "iana", + extensions: ["bmi"] + }, + "application/vnd.bpf": { + source: "iana" + }, + "application/vnd.bpf3": { + source: "iana" + }, + "application/vnd.businessobjects": { + source: "iana", + extensions: ["rep"] + }, + "application/vnd.byu.uapi+json": { + source: "iana", + compressible: true + }, + "application/vnd.bzip3": { + source: "iana" + }, + "application/vnd.c3voc.schedule+xml": { + source: "iana", + compressible: true + }, + "application/vnd.cab-jscript": { + source: "iana" + }, + "application/vnd.canon-cpdl": { + source: "iana" + }, + "application/vnd.canon-lips": { + source: "iana" + }, + "application/vnd.capasystems-pg+json": { + source: "iana", + compressible: true + }, + "application/vnd.cendio.thinlinc.clientconf": { + source: "iana" + }, + "application/vnd.century-systems.tcp_stream": { + source: "iana" + }, + "application/vnd.chemdraw+xml": { + source: "iana", + compressible: true, + extensions: ["cdxml"] + }, + "application/vnd.chess-pgn": { + source: "iana" + }, + "application/vnd.chipnuts.karaoke-mmd": { + source: "iana", + extensions: ["mmd"] + }, + "application/vnd.ciedi": { + source: "iana" + }, + "application/vnd.cinderella": { + source: "iana", + extensions: ["cdy"] + }, + "application/vnd.cirpack.isdn-ext": { + source: "iana" + }, + "application/vnd.citationstyles.style+xml": { + source: "iana", + compressible: true, + extensions: ["csl"] + }, + "application/vnd.claymore": { + source: "iana", + extensions: ["cla"] + }, + "application/vnd.cloanto.rp9": { + source: "iana", + extensions: ["rp9"] + }, + "application/vnd.clonk.c4group": { + source: "iana", + extensions: ["c4g", "c4d", "c4f", "c4p", "c4u"] + }, + "application/vnd.cluetrust.cartomobile-config": { + source: "iana", + extensions: ["c11amc"] + }, + "application/vnd.cluetrust.cartomobile-config-pkg": { + source: "iana", + extensions: ["c11amz"] + }, + "application/vnd.cncf.helm.chart.content.v1.tar+gzip": { + source: "iana" + }, + "application/vnd.cncf.helm.chart.provenance.v1.prov": { + source: "iana" + }, + "application/vnd.cncf.helm.config.v1+json": { + source: "iana", + compressible: true + }, + "application/vnd.coffeescript": { + source: "iana" + }, + "application/vnd.collabio.xodocuments.document": { + source: "iana" + }, + "application/vnd.collabio.xodocuments.document-template": { + source: "iana" + }, + "application/vnd.collabio.xodocuments.presentation": { + source: "iana" + }, + "application/vnd.collabio.xodocuments.presentation-template": { + source: "iana" + }, + "application/vnd.collabio.xodocuments.spreadsheet": { + source: "iana" + }, + "application/vnd.collabio.xodocuments.spreadsheet-template": { + source: "iana" + }, + "application/vnd.collection+json": { + source: "iana", + compressible: true + }, + "application/vnd.collection.doc+json": { + source: "iana", + compressible: true + }, + "application/vnd.collection.next+json": { + source: "iana", + compressible: true + }, + "application/vnd.comicbook+zip": { + source: "iana", + compressible: false + }, + "application/vnd.comicbook-rar": { + source: "iana" + }, + "application/vnd.commerce-battelle": { + source: "iana" + }, + "application/vnd.commonspace": { + source: "iana", + extensions: ["csp"] + }, + "application/vnd.contact.cmsg": { + source: "iana", + extensions: ["cdbcmsg"] + }, + "application/vnd.coreos.ignition+json": { + source: "iana", + compressible: true + }, + "application/vnd.cosmocaller": { + source: "iana", + extensions: ["cmc"] + }, + "application/vnd.crick.clicker": { + source: "iana", + extensions: ["clkx"] + }, + "application/vnd.crick.clicker.keyboard": { + source: "iana", + extensions: ["clkk"] + }, + "application/vnd.crick.clicker.palette": { + source: "iana", + extensions: ["clkp"] + }, + "application/vnd.crick.clicker.template": { + source: "iana", + extensions: ["clkt"] + }, + "application/vnd.crick.clicker.wordbank": { + source: "iana", + extensions: ["clkw"] + }, + "application/vnd.criticaltools.wbs+xml": { + source: "iana", + compressible: true, + extensions: ["wbs"] + }, + "application/vnd.cryptii.pipe+json": { + source: "iana", + compressible: true + }, + "application/vnd.crypto-shade-file": { + source: "iana" + }, + "application/vnd.cryptomator.encrypted": { + source: "iana" + }, + "application/vnd.cryptomator.vault": { + source: "iana" + }, + "application/vnd.ctc-posml": { + source: "iana", + extensions: ["pml"] + }, + "application/vnd.ctct.ws+xml": { + source: "iana", + compressible: true + }, + "application/vnd.cups-pdf": { + source: "iana" + }, + "application/vnd.cups-postscript": { + source: "iana" + }, + "application/vnd.cups-ppd": { + source: "iana", + extensions: ["ppd"] + }, + "application/vnd.cups-raster": { + source: "iana" + }, + "application/vnd.cups-raw": { + source: "iana" + }, + "application/vnd.curl": { + source: "iana" + }, + "application/vnd.curl.car": { + source: "apache", + extensions: ["car"] + }, + "application/vnd.curl.pcurl": { + source: "apache", + extensions: ["pcurl"] + }, + "application/vnd.cyan.dean.root+xml": { + source: "iana", + compressible: true + }, + "application/vnd.cybank": { + source: "iana" + }, + "application/vnd.cyclonedx+json": { + source: "iana", + compressible: true + }, + "application/vnd.cyclonedx+xml": { + source: "iana", + compressible: true + }, + "application/vnd.d2l.coursepackage1p0+zip": { + source: "iana", + compressible: false + }, + "application/vnd.d3m-dataset": { + source: "iana" + }, + "application/vnd.d3m-problem": { + source: "iana" + }, + "application/vnd.dart": { + source: "iana", + compressible: true, + extensions: ["dart"] + }, + "application/vnd.data-vision.rdz": { + source: "iana", + extensions: ["rdz"] + }, + "application/vnd.datalog": { + source: "iana" + }, + "application/vnd.datapackage+json": { + source: "iana", + compressible: true + }, + "application/vnd.dataresource+json": { + source: "iana", + compressible: true + }, + "application/vnd.dbf": { + source: "iana", + extensions: ["dbf"] + }, + "application/vnd.dcmp+xml": { + source: "iana", + compressible: true, + extensions: ["dcmp"] + }, + "application/vnd.debian.binary-package": { + source: "iana" + }, + "application/vnd.dece.data": { + source: "iana", + extensions: ["uvf", "uvvf", "uvd", "uvvd"] + }, + "application/vnd.dece.ttml+xml": { + source: "iana", + compressible: true, + extensions: ["uvt", "uvvt"] + }, + "application/vnd.dece.unspecified": { + source: "iana", + extensions: ["uvx", "uvvx"] + }, + "application/vnd.dece.zip": { + source: "iana", + extensions: ["uvz", "uvvz"] + }, + "application/vnd.denovo.fcselayout-link": { + source: "iana", + extensions: ["fe_launch"] + }, + "application/vnd.desmume.movie": { + source: "iana" + }, + "application/vnd.dir-bi.plate-dl-nosuffix": { + source: "iana" + }, + "application/vnd.dm.delegation+xml": { + source: "iana", + compressible: true + }, + "application/vnd.dna": { + source: "iana", + extensions: ["dna"] + }, + "application/vnd.document+json": { + source: "iana", + compressible: true + }, + "application/vnd.dolby.mlp": { + source: "apache", + extensions: ["mlp"] + }, + "application/vnd.dolby.mobile.1": { + source: "iana" + }, + "application/vnd.dolby.mobile.2": { + source: "iana" + }, + "application/vnd.doremir.scorecloud-binary-document": { + source: "iana" + }, + "application/vnd.dpgraph": { + source: "iana", + extensions: ["dpg"] + }, + "application/vnd.dreamfactory": { + source: "iana", + extensions: ["dfac"] + }, + "application/vnd.drive+json": { + source: "iana", + compressible: true + }, + "application/vnd.ds-keypoint": { + source: "apache", + extensions: ["kpxx"] + }, + "application/vnd.dtg.local": { + source: "iana" + }, + "application/vnd.dtg.local.flash": { + source: "iana" + }, + "application/vnd.dtg.local.html": { + source: "iana" + }, + "application/vnd.dvb.ait": { + source: "iana", + extensions: ["ait"] + }, + "application/vnd.dvb.dvbisl+xml": { + source: "iana", + compressible: true + }, + "application/vnd.dvb.dvbj": { + source: "iana" + }, + "application/vnd.dvb.esgcontainer": { + source: "iana" + }, + "application/vnd.dvb.ipdcdftnotifaccess": { + source: "iana" + }, + "application/vnd.dvb.ipdcesgaccess": { + source: "iana" + }, + "application/vnd.dvb.ipdcesgaccess2": { + source: "iana" + }, + "application/vnd.dvb.ipdcesgpdd": { + source: "iana" + }, + "application/vnd.dvb.ipdcroaming": { + source: "iana" + }, + "application/vnd.dvb.iptv.alfec-base": { + source: "iana" + }, + "application/vnd.dvb.iptv.alfec-enhancement": { + source: "iana" + }, + "application/vnd.dvb.notif-aggregate-root+xml": { + source: "iana", + compressible: true + }, + "application/vnd.dvb.notif-container+xml": { + source: "iana", + compressible: true + }, + "application/vnd.dvb.notif-generic+xml": { + source: "iana", + compressible: true + }, + "application/vnd.dvb.notif-ia-msglist+xml": { + source: "iana", + compressible: true + }, + "application/vnd.dvb.notif-ia-registration-request+xml": { + source: "iana", + compressible: true + }, + "application/vnd.dvb.notif-ia-registration-response+xml": { + source: "iana", + compressible: true + }, + "application/vnd.dvb.notif-init+xml": { + source: "iana", + compressible: true + }, + "application/vnd.dvb.pfr": { + source: "iana" + }, + "application/vnd.dvb.service": { + source: "iana", + extensions: ["svc"] + }, + "application/vnd.dxr": { + source: "iana" + }, + "application/vnd.dynageo": { + source: "iana", + extensions: ["geo"] + }, + "application/vnd.dzr": { + source: "iana" + }, + "application/vnd.easykaraoke.cdgdownload": { + source: "iana" + }, + "application/vnd.ecdis-update": { + source: "iana" + }, + "application/vnd.ecip.rlp": { + source: "iana" + }, + "application/vnd.eclipse.ditto+json": { + source: "iana", + compressible: true + }, + "application/vnd.ecowin.chart": { + source: "iana", + extensions: ["mag"] + }, + "application/vnd.ecowin.filerequest": { + source: "iana" + }, + "application/vnd.ecowin.fileupdate": { + source: "iana" + }, + "application/vnd.ecowin.series": { + source: "iana" + }, + "application/vnd.ecowin.seriesrequest": { + source: "iana" + }, + "application/vnd.ecowin.seriesupdate": { + source: "iana" + }, + "application/vnd.efi.img": { + source: "iana" + }, + "application/vnd.efi.iso": { + source: "iana" + }, + "application/vnd.eln+zip": { + source: "iana", + compressible: false + }, + "application/vnd.emclient.accessrequest+xml": { + source: "iana", + compressible: true + }, + "application/vnd.enliven": { + source: "iana", + extensions: ["nml"] + }, + "application/vnd.enphase.envoy": { + source: "iana" + }, + "application/vnd.eprints.data+xml": { + source: "iana", + compressible: true + }, + "application/vnd.epson.esf": { + source: "iana", + extensions: ["esf"] + }, + "application/vnd.epson.msf": { + source: "iana", + extensions: ["msf"] + }, + "application/vnd.epson.quickanime": { + source: "iana", + extensions: ["qam"] + }, + "application/vnd.epson.salt": { + source: "iana", + extensions: ["slt"] + }, + "application/vnd.epson.ssf": { + source: "iana", + extensions: ["ssf"] + }, + "application/vnd.ericsson.quickcall": { + source: "iana" + }, + "application/vnd.erofs": { + source: "iana" + }, + "application/vnd.espass-espass+zip": { + source: "iana", + compressible: false + }, + "application/vnd.eszigno3+xml": { + source: "iana", + compressible: true, + extensions: ["es3", "et3"] + }, + "application/vnd.etsi.aoc+xml": { + source: "iana", + compressible: true + }, + "application/vnd.etsi.asic-e+zip": { + source: "iana", + compressible: false + }, + "application/vnd.etsi.asic-s+zip": { + source: "iana", + compressible: false + }, + "application/vnd.etsi.cug+xml": { + source: "iana", + compressible: true + }, + "application/vnd.etsi.iptvcommand+xml": { + source: "iana", + compressible: true + }, + "application/vnd.etsi.iptvdiscovery+xml": { + source: "iana", + compressible: true + }, + "application/vnd.etsi.iptvprofile+xml": { + source: "iana", + compressible: true + }, + "application/vnd.etsi.iptvsad-bc+xml": { + source: "iana", + compressible: true + }, + "application/vnd.etsi.iptvsad-cod+xml": { + source: "iana", + compressible: true + }, + "application/vnd.etsi.iptvsad-npvr+xml": { + source: "iana", + compressible: true + }, + "application/vnd.etsi.iptvservice+xml": { + source: "iana", + compressible: true + }, + "application/vnd.etsi.iptvsync+xml": { + source: "iana", + compressible: true + }, + "application/vnd.etsi.iptvueprofile+xml": { + source: "iana", + compressible: true + }, + "application/vnd.etsi.mcid+xml": { + source: "iana", + compressible: true + }, + "application/vnd.etsi.mheg5": { + source: "iana" + }, + "application/vnd.etsi.overload-control-policy-dataset+xml": { + source: "iana", + compressible: true + }, + "application/vnd.etsi.pstn+xml": { + source: "iana", + compressible: true + }, + "application/vnd.etsi.sci+xml": { + source: "iana", + compressible: true + }, + "application/vnd.etsi.simservs+xml": { + source: "iana", + compressible: true + }, + "application/vnd.etsi.timestamp-token": { + source: "iana" + }, + "application/vnd.etsi.tsl+xml": { + source: "iana", + compressible: true + }, + "application/vnd.etsi.tsl.der": { + source: "iana" + }, + "application/vnd.eu.kasparian.car+json": { + source: "iana", + compressible: true + }, + "application/vnd.eudora.data": { + source: "iana" + }, + "application/vnd.evolv.ecig.profile": { + source: "iana" + }, + "application/vnd.evolv.ecig.settings": { + source: "iana" + }, + "application/vnd.evolv.ecig.theme": { + source: "iana" + }, + "application/vnd.exstream-empower+zip": { + source: "iana", + compressible: false + }, + "application/vnd.exstream-package": { + source: "iana" + }, + "application/vnd.ezpix-album": { + source: "iana", + extensions: ["ez2"] + }, + "application/vnd.ezpix-package": { + source: "iana", + extensions: ["ez3"] + }, + "application/vnd.f-secure.mobile": { + source: "iana" + }, + "application/vnd.familysearch.gedcom+zip": { + source: "iana", + compressible: false + }, + "application/vnd.fastcopy-disk-image": { + source: "iana" + }, + "application/vnd.fdf": { + source: "apache", + extensions: ["fdf"] + }, + "application/vnd.fdsn.mseed": { + source: "iana", + extensions: ["mseed"] + }, + "application/vnd.fdsn.seed": { + source: "iana", + extensions: ["seed", "dataless"] + }, + "application/vnd.fdsn.stationxml+xml": { + source: "iana", + charset: "XML-BASED", + compressible: true + }, + "application/vnd.ffsns": { + source: "iana" + }, + "application/vnd.ficlab.flb+zip": { + source: "iana", + compressible: false + }, + "application/vnd.filmit.zfc": { + source: "iana" + }, + "application/vnd.fints": { + source: "iana" + }, + "application/vnd.firemonkeys.cloudcell": { + source: "iana" + }, + "application/vnd.flographit": { + source: "iana", + extensions: ["gph"] + }, + "application/vnd.fluxtime.clip": { + source: "iana", + extensions: ["ftc"] + }, + "application/vnd.font-fontforge-sfd": { + source: "iana" + }, + "application/vnd.framemaker": { + source: "iana", + extensions: ["fm", "frame", "maker", "book"] + }, + "application/vnd.freelog.comic": { + source: "iana" + }, + "application/vnd.frogans.fnc": { + source: "apache", + extensions: ["fnc"] + }, + "application/vnd.frogans.ltf": { + source: "apache", + extensions: ["ltf"] + }, + "application/vnd.fsc.weblaunch": { + source: "iana", + extensions: ["fsc"] + }, + "application/vnd.fujifilm.fb.docuworks": { + source: "iana" + }, + "application/vnd.fujifilm.fb.docuworks.binder": { + source: "iana" + }, + "application/vnd.fujifilm.fb.docuworks.container": { + source: "iana" + }, + "application/vnd.fujifilm.fb.jfi+xml": { + source: "iana", + compressible: true + }, + "application/vnd.fujitsu.oasys": { + source: "iana", + extensions: ["oas"] + }, + "application/vnd.fujitsu.oasys2": { + source: "iana", + extensions: ["oa2"] + }, + "application/vnd.fujitsu.oasys3": { + source: "iana", + extensions: ["oa3"] + }, + "application/vnd.fujitsu.oasysgp": { + source: "iana", + extensions: ["fg5"] + }, + "application/vnd.fujitsu.oasysprs": { + source: "iana", + extensions: ["bh2"] + }, + "application/vnd.fujixerox.art-ex": { + source: "iana" + }, + "application/vnd.fujixerox.art4": { + source: "iana" + }, + "application/vnd.fujixerox.ddd": { + source: "iana", + extensions: ["ddd"] + }, + "application/vnd.fujixerox.docuworks": { + source: "iana", + extensions: ["xdw"] + }, + "application/vnd.fujixerox.docuworks.binder": { + source: "iana", + extensions: ["xbd"] + }, + "application/vnd.fujixerox.docuworks.container": { + source: "iana" + }, + "application/vnd.fujixerox.hbpl": { + source: "iana" + }, + "application/vnd.fut-misnet": { + source: "iana" + }, + "application/vnd.futoin+cbor": { + source: "iana" + }, + "application/vnd.futoin+json": { + source: "iana", + compressible: true + }, + "application/vnd.fuzzysheet": { + source: "iana", + extensions: ["fzs"] + }, + "application/vnd.ga4gh.passport+jwt": { + source: "iana" + }, + "application/vnd.genomatix.tuxedo": { + source: "iana", + extensions: ["txd"] + }, + "application/vnd.genozip": { + source: "iana" + }, + "application/vnd.gentics.grd+json": { + source: "iana", + compressible: true + }, + "application/vnd.gentoo.catmetadata+xml": { + source: "iana", + compressible: true + }, + "application/vnd.gentoo.ebuild": { + source: "iana" + }, + "application/vnd.gentoo.eclass": { + source: "iana" + }, + "application/vnd.gentoo.gpkg": { + source: "iana" + }, + "application/vnd.gentoo.manifest": { + source: "iana" + }, + "application/vnd.gentoo.pkgmetadata+xml": { + source: "iana", + compressible: true + }, + "application/vnd.gentoo.xpak": { + source: "iana" + }, + "application/vnd.geo+json": { + source: "apache", + compressible: true + }, + "application/vnd.geocube+xml": { + source: "apache", + compressible: true + }, + "application/vnd.geogebra.file": { + source: "iana", + extensions: ["ggb"] + }, + "application/vnd.geogebra.pinboard": { + source: "iana" + }, + "application/vnd.geogebra.slides": { + source: "iana", + extensions: ["ggs"] + }, + "application/vnd.geogebra.tool": { + source: "iana", + extensions: ["ggt"] + }, + "application/vnd.geometry-explorer": { + source: "iana", + extensions: ["gex", "gre"] + }, + "application/vnd.geonext": { + source: "iana", + extensions: ["gxt"] + }, + "application/vnd.geoplan": { + source: "iana", + extensions: ["g2w"] + }, + "application/vnd.geospace": { + source: "iana", + extensions: ["g3w"] + }, + "application/vnd.gerber": { + source: "iana" + }, + "application/vnd.globalplatform.card-content-mgt": { + source: "iana" + }, + "application/vnd.globalplatform.card-content-mgt-response": { + source: "iana" + }, + "application/vnd.gmx": { + source: "iana", + extensions: ["gmx"] + }, + "application/vnd.gnu.taler.exchange+json": { + source: "iana", + compressible: true + }, + "application/vnd.gnu.taler.merchant+json": { + source: "iana", + compressible: true + }, + "application/vnd.google-apps.audio": {}, + "application/vnd.google-apps.document": { + compressible: false, + extensions: ["gdoc"] + }, + "application/vnd.google-apps.drawing": { + compressible: false, + extensions: ["gdraw"] + }, + "application/vnd.google-apps.drive-sdk": { + compressible: false + }, + "application/vnd.google-apps.file": {}, + "application/vnd.google-apps.folder": { + compressible: false + }, + "application/vnd.google-apps.form": { + compressible: false, + extensions: ["gform"] + }, + "application/vnd.google-apps.fusiontable": {}, + "application/vnd.google-apps.jam": { + compressible: false, + extensions: ["gjam"] + }, + "application/vnd.google-apps.mail-layout": {}, + "application/vnd.google-apps.map": { + compressible: false, + extensions: ["gmap"] + }, + "application/vnd.google-apps.photo": {}, + "application/vnd.google-apps.presentation": { + compressible: false, + extensions: ["gslides"] + }, + "application/vnd.google-apps.script": { + compressible: false, + extensions: ["gscript"] + }, + "application/vnd.google-apps.shortcut": {}, + "application/vnd.google-apps.site": { + compressible: false, + extensions: ["gsite"] + }, + "application/vnd.google-apps.spreadsheet": { + compressible: false, + extensions: ["gsheet"] + }, + "application/vnd.google-apps.unknown": {}, + "application/vnd.google-apps.video": {}, + "application/vnd.google-earth.kml+xml": { + source: "iana", + compressible: true, + extensions: ["kml"] + }, + "application/vnd.google-earth.kmz": { + source: "iana", + compressible: false, + extensions: ["kmz"] + }, + "application/vnd.gov.sk.e-form+xml": { + source: "apache", + compressible: true + }, + "application/vnd.gov.sk.e-form+zip": { + source: "iana", + compressible: false + }, + "application/vnd.gov.sk.xmldatacontainer+xml": { + source: "iana", + compressible: true, + extensions: ["xdcf"] + }, + "application/vnd.gpxsee.map+xml": { + source: "iana", + compressible: true + }, + "application/vnd.grafeq": { + source: "iana", + extensions: ["gqf", "gqs"] + }, + "application/vnd.gridmp": { + source: "iana" + }, + "application/vnd.groove-account": { + source: "iana", + extensions: ["gac"] + }, + "application/vnd.groove-help": { + source: "iana", + extensions: ["ghf"] + }, + "application/vnd.groove-identity-message": { + source: "iana", + extensions: ["gim"] + }, + "application/vnd.groove-injector": { + source: "iana", + extensions: ["grv"] + }, + "application/vnd.groove-tool-message": { + source: "iana", + extensions: ["gtm"] + }, + "application/vnd.groove-tool-template": { + source: "iana", + extensions: ["tpl"] + }, + "application/vnd.groove-vcard": { + source: "iana", + extensions: ["vcg"] + }, + "application/vnd.hal+json": { + source: "iana", + compressible: true + }, + "application/vnd.hal+xml": { + source: "iana", + compressible: true, + extensions: ["hal"] + }, + "application/vnd.handheld-entertainment+xml": { + source: "iana", + compressible: true, + extensions: ["zmm"] + }, + "application/vnd.hbci": { + source: "iana", + extensions: ["hbci"] + }, + "application/vnd.hc+json": { + source: "iana", + compressible: true + }, + "application/vnd.hcl-bireports": { + source: "iana" + }, + "application/vnd.hdt": { + source: "iana" + }, + "application/vnd.heroku+json": { + source: "iana", + compressible: true + }, + "application/vnd.hhe.lesson-player": { + source: "iana", + extensions: ["les"] + }, + "application/vnd.hp-hpgl": { + source: "iana", + extensions: ["hpgl"] + }, + "application/vnd.hp-hpid": { + source: "iana", + extensions: ["hpid"] + }, + "application/vnd.hp-hps": { + source: "iana", + extensions: ["hps"] + }, + "application/vnd.hp-jlyt": { + source: "iana", + extensions: ["jlt"] + }, + "application/vnd.hp-pcl": { + source: "iana", + extensions: ["pcl"] + }, + "application/vnd.hp-pclxl": { + source: "iana", + extensions: ["pclxl"] + }, + "application/vnd.hsl": { + source: "iana" + }, + "application/vnd.httphone": { + source: "iana" + }, + "application/vnd.hydrostatix.sof-data": { + source: "iana", + extensions: ["sfd-hdstx"] + }, + "application/vnd.hyper+json": { + source: "iana", + compressible: true + }, + "application/vnd.hyper-item+json": { + source: "iana", + compressible: true + }, + "application/vnd.hyperdrive+json": { + source: "iana", + compressible: true + }, + "application/vnd.hzn-3d-crossword": { + source: "iana" + }, + "application/vnd.ibm.afplinedata": { + source: "apache" + }, + "application/vnd.ibm.electronic-media": { + source: "iana" + }, + "application/vnd.ibm.minipay": { + source: "iana", + extensions: ["mpy"] + }, + "application/vnd.ibm.modcap": { + source: "apache", + extensions: ["afp", "listafp", "list3820"] + }, + "application/vnd.ibm.rights-management": { + source: "iana", + extensions: ["irm"] + }, + "application/vnd.ibm.secure-container": { + source: "iana", + extensions: ["sc"] + }, + "application/vnd.iccprofile": { + source: "iana", + extensions: ["icc", "icm"] + }, + "application/vnd.ieee.1905": { + source: "iana" + }, + "application/vnd.igloader": { + source: "iana", + extensions: ["igl"] + }, + "application/vnd.imagemeter.folder+zip": { + source: "iana", + compressible: false + }, + "application/vnd.imagemeter.image+zip": { + source: "iana", + compressible: false + }, + "application/vnd.immervision-ivp": { + source: "iana", + extensions: ["ivp"] + }, + "application/vnd.immervision-ivu": { + source: "iana", + extensions: ["ivu"] + }, + "application/vnd.ims.imsccv1p1": { + source: "iana" + }, + "application/vnd.ims.imsccv1p2": { + source: "iana" + }, + "application/vnd.ims.imsccv1p3": { + source: "iana" + }, + "application/vnd.ims.lis.v2.result+json": { + source: "iana", + compressible: true + }, + "application/vnd.ims.lti.v2.toolconsumerprofile+json": { + source: "iana", + compressible: true + }, + "application/vnd.ims.lti.v2.toolproxy+json": { + source: "iana", + compressible: true + }, + "application/vnd.ims.lti.v2.toolproxy.id+json": { + source: "iana", + compressible: true + }, + "application/vnd.ims.lti.v2.toolsettings+json": { + source: "iana", + compressible: true + }, + "application/vnd.ims.lti.v2.toolsettings.simple+json": { + source: "iana", + compressible: true + }, + "application/vnd.informedcontrol.rms+xml": { + source: "iana", + compressible: true + }, + "application/vnd.informix-visionary": { + source: "apache" + }, + "application/vnd.infotech.project": { + source: "iana" + }, + "application/vnd.infotech.project+xml": { + source: "iana", + compressible: true + }, + "application/vnd.innopath.wamp.notification": { + source: "iana" + }, + "application/vnd.insors.igm": { + source: "iana", + extensions: ["igm"] + }, + "application/vnd.intercon.formnet": { + source: "iana", + extensions: ["xpw", "xpx"] + }, + "application/vnd.intergeo": { + source: "iana", + extensions: ["i2g"] + }, + "application/vnd.intertrust.digibox": { + source: "iana" + }, + "application/vnd.intertrust.nncp": { + source: "iana" + }, + "application/vnd.intu.qbo": { + source: "iana", + extensions: ["qbo"] + }, + "application/vnd.intu.qfx": { + source: "iana", + extensions: ["qfx"] + }, + "application/vnd.ipfs.ipns-record": { + source: "iana" + }, + "application/vnd.ipld.car": { + source: "iana" + }, + "application/vnd.ipld.dag-cbor": { + source: "iana" + }, + "application/vnd.ipld.dag-json": { + source: "iana" + }, + "application/vnd.ipld.raw": { + source: "iana" + }, + "application/vnd.iptc.g2.catalogitem+xml": { + source: "iana", + compressible: true + }, + "application/vnd.iptc.g2.conceptitem+xml": { + source: "iana", + compressible: true + }, + "application/vnd.iptc.g2.knowledgeitem+xml": { + source: "iana", + compressible: true + }, + "application/vnd.iptc.g2.newsitem+xml": { + source: "iana", + compressible: true + }, + "application/vnd.iptc.g2.newsmessage+xml": { + source: "iana", + compressible: true + }, + "application/vnd.iptc.g2.packageitem+xml": { + source: "iana", + compressible: true + }, + "application/vnd.iptc.g2.planningitem+xml": { + source: "iana", + compressible: true + }, + "application/vnd.ipunplugged.rcprofile": { + source: "iana", + extensions: ["rcprofile"] + }, + "application/vnd.irepository.package+xml": { + source: "iana", + compressible: true, + extensions: ["irp"] + }, + "application/vnd.is-xpr": { + source: "iana", + extensions: ["xpr"] + }, + "application/vnd.isac.fcs": { + source: "iana", + extensions: ["fcs"] + }, + "application/vnd.iso11783-10+zip": { + source: "iana", + compressible: false + }, + "application/vnd.jam": { + source: "iana", + extensions: ["jam"] + }, + "application/vnd.japannet-directory-service": { + source: "iana" + }, + "application/vnd.japannet-jpnstore-wakeup": { + source: "iana" + }, + "application/vnd.japannet-payment-wakeup": { + source: "iana" + }, + "application/vnd.japannet-registration": { + source: "iana" + }, + "application/vnd.japannet-registration-wakeup": { + source: "iana" + }, + "application/vnd.japannet-setstore-wakeup": { + source: "iana" + }, + "application/vnd.japannet-verification": { + source: "iana" + }, + "application/vnd.japannet-verification-wakeup": { + source: "iana" + }, + "application/vnd.jcp.javame.midlet-rms": { + source: "iana", + extensions: ["rms"] + }, + "application/vnd.jisp": { + source: "iana", + extensions: ["jisp"] + }, + "application/vnd.joost.joda-archive": { + source: "iana", + extensions: ["joda"] + }, + "application/vnd.jsk.isdn-ngn": { + source: "iana" + }, + "application/vnd.kahootz": { + source: "iana", + extensions: ["ktz", "ktr"] + }, + "application/vnd.kde.karbon": { + source: "iana", + extensions: ["karbon"] + }, + "application/vnd.kde.kchart": { + source: "iana", + extensions: ["chrt"] + }, + "application/vnd.kde.kformula": { + source: "iana", + extensions: ["kfo"] + }, + "application/vnd.kde.kivio": { + source: "iana", + extensions: ["flw"] + }, + "application/vnd.kde.kontour": { + source: "iana", + extensions: ["kon"] + }, + "application/vnd.kde.kpresenter": { + source: "iana", + extensions: ["kpr", "kpt"] + }, + "application/vnd.kde.kspread": { + source: "iana", + extensions: ["ksp"] + }, + "application/vnd.kde.kword": { + source: "iana", + extensions: ["kwd", "kwt"] + }, + "application/vnd.kdl": { + source: "iana" + }, + "application/vnd.kenameaapp": { + source: "iana", + extensions: ["htke"] + }, + "application/vnd.keyman.kmp+zip": { + source: "iana", + compressible: false + }, + "application/vnd.keyman.kmx": { + source: "iana" + }, + "application/vnd.kidspiration": { + source: "iana", + extensions: ["kia"] + }, + "application/vnd.kinar": { + source: "iana", + extensions: ["kne", "knp"] + }, + "application/vnd.koan": { + source: "iana", + extensions: ["skp", "skd", "skt", "skm"] + }, + "application/vnd.kodak-descriptor": { + source: "iana", + extensions: ["sse"] + }, + "application/vnd.las": { + source: "iana" + }, + "application/vnd.las.las+json": { + source: "iana", + compressible: true + }, + "application/vnd.las.las+xml": { + source: "iana", + compressible: true, + extensions: ["lasxml"] + }, + "application/vnd.laszip": { + source: "iana" + }, + "application/vnd.ldev.productlicensing": { + source: "iana" + }, + "application/vnd.leap+json": { + source: "iana", + compressible: true + }, + "application/vnd.liberty-request+xml": { + source: "iana", + compressible: true + }, + "application/vnd.llamagraphics.life-balance.desktop": { + source: "iana", + extensions: ["lbd"] + }, + "application/vnd.llamagraphics.life-balance.exchange+xml": { + source: "iana", + compressible: true, + extensions: ["lbe"] + }, + "application/vnd.logipipe.circuit+zip": { + source: "iana", + compressible: false + }, + "application/vnd.loom": { + source: "iana" + }, + "application/vnd.lotus-1-2-3": { + source: "iana", + extensions: ["123"] + }, + "application/vnd.lotus-approach": { + source: "iana", + extensions: ["apr"] + }, + "application/vnd.lotus-freelance": { + source: "iana", + extensions: ["pre"] + }, + "application/vnd.lotus-notes": { + source: "iana", + extensions: ["nsf"] + }, + "application/vnd.lotus-organizer": { + source: "iana", + extensions: ["org"] + }, + "application/vnd.lotus-screencam": { + source: "iana", + extensions: ["scm"] + }, + "application/vnd.lotus-wordpro": { + source: "iana", + extensions: ["lwp"] + }, + "application/vnd.macports.portpkg": { + source: "iana", + extensions: ["portpkg"] + }, + "application/vnd.mapbox-vector-tile": { + source: "iana", + extensions: ["mvt"] + }, + "application/vnd.marlin.drm.actiontoken+xml": { + source: "iana", + compressible: true + }, + "application/vnd.marlin.drm.conftoken+xml": { + source: "iana", + compressible: true + }, + "application/vnd.marlin.drm.license+xml": { + source: "iana", + compressible: true + }, + "application/vnd.marlin.drm.mdcf": { + source: "iana" + }, + "application/vnd.mason+json": { + source: "iana", + compressible: true + }, + "application/vnd.maxar.archive.3tz+zip": { + source: "iana", + compressible: false + }, + "application/vnd.maxmind.maxmind-db": { + source: "iana" + }, + "application/vnd.mcd": { + source: "iana", + extensions: ["mcd"] + }, + "application/vnd.mdl": { + source: "iana" + }, + "application/vnd.mdl-mbsdf": { + source: "iana" + }, + "application/vnd.medcalcdata": { + source: "iana", + extensions: ["mc1"] + }, + "application/vnd.mediastation.cdkey": { + source: "iana", + extensions: ["cdkey"] + }, + "application/vnd.medicalholodeck.recordxr": { + source: "iana" + }, + "application/vnd.meridian-slingshot": { + source: "iana" + }, + "application/vnd.mermaid": { + source: "iana" + }, + "application/vnd.mfer": { + source: "iana", + extensions: ["mwf"] + }, + "application/vnd.mfmp": { + source: "iana", + extensions: ["mfm"] + }, + "application/vnd.micro+json": { + source: "iana", + compressible: true + }, + "application/vnd.micrografx.flo": { + source: "iana", + extensions: ["flo"] + }, + "application/vnd.micrografx.igx": { + source: "iana", + extensions: ["igx"] + }, + "application/vnd.microsoft.portable-executable": { + source: "iana" + }, + "application/vnd.microsoft.windows.thumbnail-cache": { + source: "iana" + }, + "application/vnd.miele+json": { + source: "iana", + compressible: true + }, + "application/vnd.mif": { + source: "iana", + extensions: ["mif"] + }, + "application/vnd.minisoft-hp3000-save": { + source: "iana" + }, + "application/vnd.mitsubishi.misty-guard.trustweb": { + source: "iana" + }, + "application/vnd.mobius.daf": { + source: "iana", + extensions: ["daf"] + }, + "application/vnd.mobius.dis": { + source: "iana", + extensions: ["dis"] + }, + "application/vnd.mobius.mbk": { + source: "iana", + extensions: ["mbk"] + }, + "application/vnd.mobius.mqy": { + source: "iana", + extensions: ["mqy"] + }, + "application/vnd.mobius.msl": { + source: "iana", + extensions: ["msl"] + }, + "application/vnd.mobius.plc": { + source: "iana", + extensions: ["plc"] + }, + "application/vnd.mobius.txf": { + source: "iana", + extensions: ["txf"] + }, + "application/vnd.modl": { + source: "iana" + }, + "application/vnd.mophun.application": { + source: "iana", + extensions: ["mpn"] + }, + "application/vnd.mophun.certificate": { + source: "iana", + extensions: ["mpc"] + }, + "application/vnd.motorola.flexsuite": { + source: "iana" + }, + "application/vnd.motorola.flexsuite.adsi": { + source: "iana" + }, + "application/vnd.motorola.flexsuite.fis": { + source: "iana" + }, + "application/vnd.motorola.flexsuite.gotap": { + source: "iana" + }, + "application/vnd.motorola.flexsuite.kmr": { + source: "iana" + }, + "application/vnd.motorola.flexsuite.ttc": { + source: "iana" + }, + "application/vnd.motorola.flexsuite.wem": { + source: "iana" + }, + "application/vnd.motorola.iprm": { + source: "iana" + }, + "application/vnd.mozilla.xul+xml": { + source: "iana", + compressible: true, + extensions: ["xul"] + }, + "application/vnd.ms-3mfdocument": { + source: "iana" + }, + "application/vnd.ms-artgalry": { + source: "iana", + extensions: ["cil"] + }, + "application/vnd.ms-asf": { + source: "iana" + }, + "application/vnd.ms-cab-compressed": { + source: "iana", + extensions: ["cab"] + }, + "application/vnd.ms-color.iccprofile": { + source: "apache" + }, + "application/vnd.ms-excel": { + source: "iana", + compressible: false, + extensions: ["xls", "xlm", "xla", "xlc", "xlt", "xlw"] + }, + "application/vnd.ms-excel.addin.macroenabled.12": { + source: "iana", + extensions: ["xlam"] + }, + "application/vnd.ms-excel.sheet.binary.macroenabled.12": { + source: "iana", + extensions: ["xlsb"] + }, + "application/vnd.ms-excel.sheet.macroenabled.12": { + source: "iana", + extensions: ["xlsm"] + }, + "application/vnd.ms-excel.template.macroenabled.12": { + source: "iana", + extensions: ["xltm"] + }, + "application/vnd.ms-fontobject": { + source: "iana", + compressible: true, + extensions: ["eot"] + }, + "application/vnd.ms-htmlhelp": { + source: "iana", + extensions: ["chm"] + }, + "application/vnd.ms-ims": { + source: "iana", + extensions: ["ims"] + }, + "application/vnd.ms-lrm": { + source: "iana", + extensions: ["lrm"] + }, + "application/vnd.ms-office.activex+xml": { + source: "iana", + compressible: true + }, + "application/vnd.ms-officetheme": { + source: "iana", + extensions: ["thmx"] + }, + "application/vnd.ms-opentype": { + source: "apache", + compressible: true + }, + "application/vnd.ms-outlook": { + compressible: false, + extensions: ["msg"] + }, + "application/vnd.ms-package.obfuscated-opentype": { + source: "apache" + }, + "application/vnd.ms-pki.seccat": { + source: "apache", + extensions: ["cat"] + }, + "application/vnd.ms-pki.stl": { + source: "apache", + extensions: ["stl"] + }, + "application/vnd.ms-playready.initiator+xml": { + source: "iana", + compressible: true + }, + "application/vnd.ms-powerpoint": { + source: "iana", + compressible: false, + extensions: ["ppt", "pps", "pot"] + }, + "application/vnd.ms-powerpoint.addin.macroenabled.12": { + source: "iana", + extensions: ["ppam"] + }, + "application/vnd.ms-powerpoint.presentation.macroenabled.12": { + source: "iana", + extensions: ["pptm"] + }, + "application/vnd.ms-powerpoint.slide.macroenabled.12": { + source: "iana", + extensions: ["sldm"] + }, + "application/vnd.ms-powerpoint.slideshow.macroenabled.12": { + source: "iana", + extensions: ["ppsm"] + }, + "application/vnd.ms-powerpoint.template.macroenabled.12": { + source: "iana", + extensions: ["potm"] + }, + "application/vnd.ms-printdevicecapabilities+xml": { + source: "iana", + compressible: true + }, + "application/vnd.ms-printing.printticket+xml": { + source: "apache", + compressible: true + }, + "application/vnd.ms-printschematicket+xml": { + source: "iana", + compressible: true + }, + "application/vnd.ms-project": { + source: "iana", + extensions: ["mpp", "mpt"] + }, + "application/vnd.ms-tnef": { + source: "iana" + }, + "application/vnd.ms-visio.viewer": { + extensions: ["vdx"] + }, + "application/vnd.ms-windows.devicepairing": { + source: "iana" + }, + "application/vnd.ms-windows.nwprinting.oob": { + source: "iana" + }, + "application/vnd.ms-windows.printerpairing": { + source: "iana" + }, + "application/vnd.ms-windows.wsd.oob": { + source: "iana" + }, + "application/vnd.ms-wmdrm.lic-chlg-req": { + source: "iana" + }, + "application/vnd.ms-wmdrm.lic-resp": { + source: "iana" + }, + "application/vnd.ms-wmdrm.meter-chlg-req": { + source: "iana" + }, + "application/vnd.ms-wmdrm.meter-resp": { + source: "iana" + }, + "application/vnd.ms-word.document.macroenabled.12": { + source: "iana", + extensions: ["docm"] + }, + "application/vnd.ms-word.template.macroenabled.12": { + source: "iana", + extensions: ["dotm"] + }, + "application/vnd.ms-works": { + source: "iana", + extensions: ["wps", "wks", "wcm", "wdb"] + }, + "application/vnd.ms-wpl": { + source: "iana", + extensions: ["wpl"] + }, + "application/vnd.ms-xpsdocument": { + source: "iana", + compressible: false, + extensions: ["xps"] + }, + "application/vnd.msa-disk-image": { + source: "iana" + }, + "application/vnd.mseq": { + source: "iana", + extensions: ["mseq"] + }, + "application/vnd.msgpack": { + source: "iana" + }, + "application/vnd.msign": { + source: "iana" + }, + "application/vnd.multiad.creator": { + source: "iana" + }, + "application/vnd.multiad.creator.cif": { + source: "iana" + }, + "application/vnd.music-niff": { + source: "iana" + }, + "application/vnd.musician": { + source: "iana", + extensions: ["mus"] + }, + "application/vnd.muvee.style": { + source: "iana", + extensions: ["msty"] + }, + "application/vnd.mynfc": { + source: "iana", + extensions: ["taglet"] + }, + "application/vnd.nacamar.ybrid+json": { + source: "iana", + compressible: true + }, + "application/vnd.nato.bindingdataobject+cbor": { + source: "iana" + }, + "application/vnd.nato.bindingdataobject+json": { + source: "iana", + compressible: true + }, + "application/vnd.nato.bindingdataobject+xml": { + source: "iana", + compressible: true, + extensions: ["bdo"] + }, + "application/vnd.nato.openxmlformats-package.iepd+zip": { + source: "iana", + compressible: false + }, + "application/vnd.ncd.control": { + source: "iana" + }, + "application/vnd.ncd.reference": { + source: "iana" + }, + "application/vnd.nearst.inv+json": { + source: "iana", + compressible: true + }, + "application/vnd.nebumind.line": { + source: "iana" + }, + "application/vnd.nervana": { + source: "iana" + }, + "application/vnd.netfpx": { + source: "iana" + }, + "application/vnd.neurolanguage.nlu": { + source: "iana", + extensions: ["nlu"] + }, + "application/vnd.nimn": { + source: "iana" + }, + "application/vnd.nintendo.nitro.rom": { + source: "iana" + }, + "application/vnd.nintendo.snes.rom": { + source: "iana" + }, + "application/vnd.nitf": { + source: "iana", + extensions: ["ntf", "nitf"] + }, + "application/vnd.noblenet-directory": { + source: "iana", + extensions: ["nnd"] + }, + "application/vnd.noblenet-sealer": { + source: "iana", + extensions: ["nns"] + }, + "application/vnd.noblenet-web": { + source: "iana", + extensions: ["nnw"] + }, + "application/vnd.nokia.catalogs": { + source: "iana" + }, + "application/vnd.nokia.conml+wbxml": { + source: "iana" + }, + "application/vnd.nokia.conml+xml": { + source: "iana", + compressible: true + }, + "application/vnd.nokia.iptv.config+xml": { + source: "iana", + compressible: true + }, + "application/vnd.nokia.isds-radio-presets": { + source: "iana" + }, + "application/vnd.nokia.landmark+wbxml": { + source: "iana" + }, + "application/vnd.nokia.landmark+xml": { + source: "iana", + compressible: true + }, + "application/vnd.nokia.landmarkcollection+xml": { + source: "iana", + compressible: true + }, + "application/vnd.nokia.n-gage.ac+xml": { + source: "iana", + compressible: true, + extensions: ["ac"] + }, + "application/vnd.nokia.n-gage.data": { + source: "iana", + extensions: ["ngdat"] + }, + "application/vnd.nokia.n-gage.symbian.install": { + source: "apache", + extensions: ["n-gage"] + }, + "application/vnd.nokia.ncd": { + source: "iana" + }, + "application/vnd.nokia.pcd+wbxml": { + source: "iana" + }, + "application/vnd.nokia.pcd+xml": { + source: "iana", + compressible: true + }, + "application/vnd.nokia.radio-preset": { + source: "iana", + extensions: ["rpst"] + }, + "application/vnd.nokia.radio-presets": { + source: "iana", + extensions: ["rpss"] + }, + "application/vnd.novadigm.edm": { + source: "iana", + extensions: ["edm"] + }, + "application/vnd.novadigm.edx": { + source: "iana", + extensions: ["edx"] + }, + "application/vnd.novadigm.ext": { + source: "iana", + extensions: ["ext"] + }, + "application/vnd.ntt-local.content-share": { + source: "iana" + }, + "application/vnd.ntt-local.file-transfer": { + source: "iana" + }, + "application/vnd.ntt-local.ogw_remote-access": { + source: "iana" + }, + "application/vnd.ntt-local.sip-ta_remote": { + source: "iana" + }, + "application/vnd.ntt-local.sip-ta_tcp_stream": { + source: "iana" + }, + "application/vnd.oai.workflows": { + source: "iana" + }, + "application/vnd.oai.workflows+json": { + source: "iana", + compressible: true + }, + "application/vnd.oai.workflows+yaml": { + source: "iana" + }, + "application/vnd.oasis.opendocument.base": { + source: "iana" + }, + "application/vnd.oasis.opendocument.chart": { + source: "iana", + extensions: ["odc"] + }, + "application/vnd.oasis.opendocument.chart-template": { + source: "iana", + extensions: ["otc"] + }, + "application/vnd.oasis.opendocument.database": { + source: "apache", + extensions: ["odb"] + }, + "application/vnd.oasis.opendocument.formula": { + source: "iana", + extensions: ["odf"] + }, + "application/vnd.oasis.opendocument.formula-template": { + source: "iana", + extensions: ["odft"] + }, + "application/vnd.oasis.opendocument.graphics": { + source: "iana", + compressible: false, + extensions: ["odg"] + }, + "application/vnd.oasis.opendocument.graphics-template": { + source: "iana", + extensions: ["otg"] + }, + "application/vnd.oasis.opendocument.image": { + source: "iana", + extensions: ["odi"] + }, + "application/vnd.oasis.opendocument.image-template": { + source: "iana", + extensions: ["oti"] + }, + "application/vnd.oasis.opendocument.presentation": { + source: "iana", + compressible: false, + extensions: ["odp"] + }, + "application/vnd.oasis.opendocument.presentation-template": { + source: "iana", + extensions: ["otp"] + }, + "application/vnd.oasis.opendocument.spreadsheet": { + source: "iana", + compressible: false, + extensions: ["ods"] + }, + "application/vnd.oasis.opendocument.spreadsheet-template": { + source: "iana", + extensions: ["ots"] + }, + "application/vnd.oasis.opendocument.text": { + source: "iana", + compressible: false, + extensions: ["odt"] + }, + "application/vnd.oasis.opendocument.text-master": { + source: "iana", + extensions: ["odm"] + }, + "application/vnd.oasis.opendocument.text-master-template": { + source: "iana" + }, + "application/vnd.oasis.opendocument.text-template": { + source: "iana", + extensions: ["ott"] + }, + "application/vnd.oasis.opendocument.text-web": { + source: "iana", + extensions: ["oth"] + }, + "application/vnd.obn": { + source: "iana" + }, + "application/vnd.ocf+cbor": { + source: "iana" + }, + "application/vnd.oci.image.manifest.v1+json": { + source: "iana", + compressible: true + }, + "application/vnd.oftn.l10n+json": { + source: "iana", + compressible: true + }, + "application/vnd.oipf.contentaccessdownload+xml": { + source: "iana", + compressible: true + }, + "application/vnd.oipf.contentaccessstreaming+xml": { + source: "iana", + compressible: true + }, + "application/vnd.oipf.cspg-hexbinary": { + source: "iana" + }, + "application/vnd.oipf.dae.svg+xml": { + source: "iana", + compressible: true + }, + "application/vnd.oipf.dae.xhtml+xml": { + source: "iana", + compressible: true + }, + "application/vnd.oipf.mippvcontrolmessage+xml": { + source: "iana", + compressible: true + }, + "application/vnd.oipf.pae.gem": { + source: "iana" + }, + "application/vnd.oipf.spdiscovery+xml": { + source: "iana", + compressible: true + }, + "application/vnd.oipf.spdlist+xml": { + source: "iana", + compressible: true + }, + "application/vnd.oipf.ueprofile+xml": { + source: "iana", + compressible: true + }, + "application/vnd.oipf.userprofile+xml": { + source: "iana", + compressible: true + }, + "application/vnd.olpc-sugar": { + source: "iana", + extensions: ["xo"] + }, + "application/vnd.oma-scws-config": { + source: "iana" + }, + "application/vnd.oma-scws-http-request": { + source: "iana" + }, + "application/vnd.oma-scws-http-response": { + source: "iana" + }, + "application/vnd.oma.bcast.associated-procedure-parameter+xml": { + source: "iana", + compressible: true + }, + "application/vnd.oma.bcast.drm-trigger+xml": { + source: "apache", + compressible: true + }, + "application/vnd.oma.bcast.imd+xml": { + source: "iana", + compressible: true + }, + "application/vnd.oma.bcast.ltkm": { + source: "iana" + }, + "application/vnd.oma.bcast.notification+xml": { + source: "iana", + compressible: true + }, + "application/vnd.oma.bcast.provisioningtrigger": { + source: "iana" + }, + "application/vnd.oma.bcast.sgboot": { + source: "iana" + }, + "application/vnd.oma.bcast.sgdd+xml": { + source: "iana", + compressible: true + }, + "application/vnd.oma.bcast.sgdu": { + source: "iana" + }, + "application/vnd.oma.bcast.simple-symbol-container": { + source: "iana" + }, + "application/vnd.oma.bcast.smartcard-trigger+xml": { + source: "apache", + compressible: true + }, + "application/vnd.oma.bcast.sprov+xml": { + source: "iana", + compressible: true + }, + "application/vnd.oma.bcast.stkm": { + source: "iana" + }, + "application/vnd.oma.cab-address-book+xml": { + source: "iana", + compressible: true + }, + "application/vnd.oma.cab-feature-handler+xml": { + source: "iana", + compressible: true + }, + "application/vnd.oma.cab-pcc+xml": { + source: "iana", + compressible: true + }, + "application/vnd.oma.cab-subs-invite+xml": { + source: "iana", + compressible: true + }, + "application/vnd.oma.cab-user-prefs+xml": { + source: "iana", + compressible: true + }, + "application/vnd.oma.dcd": { + source: "iana" + }, + "application/vnd.oma.dcdc": { + source: "iana" + }, + "application/vnd.oma.dd2+xml": { + source: "iana", + compressible: true, + extensions: ["dd2"] + }, + "application/vnd.oma.drm.risd+xml": { + source: "iana", + compressible: true + }, + "application/vnd.oma.group-usage-list+xml": { + source: "iana", + compressible: true + }, + "application/vnd.oma.lwm2m+cbor": { + source: "iana" + }, + "application/vnd.oma.lwm2m+json": { + source: "iana", + compressible: true + }, + "application/vnd.oma.lwm2m+tlv": { + source: "iana" + }, + "application/vnd.oma.pal+xml": { + source: "iana", + compressible: true + }, + "application/vnd.oma.poc.detailed-progress-report+xml": { + source: "iana", + compressible: true + }, + "application/vnd.oma.poc.final-report+xml": { + source: "iana", + compressible: true + }, + "application/vnd.oma.poc.groups+xml": { + source: "iana", + compressible: true + }, + "application/vnd.oma.poc.invocation-descriptor+xml": { + source: "iana", + compressible: true + }, + "application/vnd.oma.poc.optimized-progress-report+xml": { + source: "iana", + compressible: true + }, + "application/vnd.oma.push": { + source: "iana" + }, + "application/vnd.oma.scidm.messages+xml": { + source: "iana", + compressible: true + }, + "application/vnd.oma.xcap-directory+xml": { + source: "iana", + compressible: true + }, + "application/vnd.omads-email+xml": { + source: "iana", + charset: "UTF-8", + compressible: true + }, + "application/vnd.omads-file+xml": { + source: "iana", + charset: "UTF-8", + compressible: true + }, + "application/vnd.omads-folder+xml": { + source: "iana", + charset: "UTF-8", + compressible: true + }, + "application/vnd.omaloc-supl-init": { + source: "iana" + }, + "application/vnd.onepager": { + source: "iana" + }, + "application/vnd.onepagertamp": { + source: "iana" + }, + "application/vnd.onepagertamx": { + source: "iana" + }, + "application/vnd.onepagertat": { + source: "iana" + }, + "application/vnd.onepagertatp": { + source: "iana" + }, + "application/vnd.onepagertatx": { + source: "iana" + }, + "application/vnd.onvif.metadata": { + source: "iana" + }, + "application/vnd.openblox.game+xml": { + source: "iana", + compressible: true, + extensions: ["obgx"] + }, + "application/vnd.openblox.game-binary": { + source: "iana" + }, + "application/vnd.openeye.oeb": { + source: "iana" + }, + "application/vnd.openofficeorg.extension": { + source: "apache", + extensions: ["oxt"] + }, + "application/vnd.openstreetmap.data+xml": { + source: "iana", + compressible: true, + extensions: ["osm"] + }, + "application/vnd.opentimestamps.ots": { + source: "iana" + }, + "application/vnd.openvpi.dspx+json": { + source: "iana", + compressible: true + }, + "application/vnd.openxmlformats-officedocument.custom-properties+xml": { + source: "iana", + compressible: true + }, + "application/vnd.openxmlformats-officedocument.customxmlproperties+xml": { + source: "iana", + compressible: true + }, + "application/vnd.openxmlformats-officedocument.drawing+xml": { + source: "iana", + compressible: true + }, + "application/vnd.openxmlformats-officedocument.drawingml.chart+xml": { + source: "iana", + compressible: true + }, + "application/vnd.openxmlformats-officedocument.drawingml.chartshapes+xml": { + source: "iana", + compressible: true + }, + "application/vnd.openxmlformats-officedocument.drawingml.diagramcolors+xml": { + source: "iana", + compressible: true + }, + "application/vnd.openxmlformats-officedocument.drawingml.diagramdata+xml": { + source: "iana", + compressible: true + }, + "application/vnd.openxmlformats-officedocument.drawingml.diagramlayout+xml": { + source: "iana", + compressible: true + }, + "application/vnd.openxmlformats-officedocument.drawingml.diagramstyle+xml": { + source: "iana", + compressible: true + }, + "application/vnd.openxmlformats-officedocument.extended-properties+xml": { + source: "iana", + compressible: true + }, + "application/vnd.openxmlformats-officedocument.presentationml.commentauthors+xml": { + source: "iana", + compressible: true + }, + "application/vnd.openxmlformats-officedocument.presentationml.comments+xml": { + source: "iana", + compressible: true + }, + "application/vnd.openxmlformats-officedocument.presentationml.handoutmaster+xml": { + source: "iana", + compressible: true + }, + "application/vnd.openxmlformats-officedocument.presentationml.notesmaster+xml": { + source: "iana", + compressible: true + }, + "application/vnd.openxmlformats-officedocument.presentationml.notesslide+xml": { + source: "iana", + compressible: true + }, + "application/vnd.openxmlformats-officedocument.presentationml.presentation": { + source: "iana", + compressible: false, + extensions: ["pptx"] + }, + "application/vnd.openxmlformats-officedocument.presentationml.presentation.main+xml": { + source: "iana", + compressible: true + }, + "application/vnd.openxmlformats-officedocument.presentationml.presprops+xml": { + source: "iana", + compressible: true + }, + "application/vnd.openxmlformats-officedocument.presentationml.slide": { + source: "iana", + extensions: ["sldx"] + }, + "application/vnd.openxmlformats-officedocument.presentationml.slide+xml": { + source: "iana", + compressible: true + }, + "application/vnd.openxmlformats-officedocument.presentationml.slidelayout+xml": { + source: "iana", + compressible: true + }, + "application/vnd.openxmlformats-officedocument.presentationml.slidemaster+xml": { + source: "iana", + compressible: true + }, + "application/vnd.openxmlformats-officedocument.presentationml.slideshow": { + source: "iana", + extensions: ["ppsx"] + }, + "application/vnd.openxmlformats-officedocument.presentationml.slideshow.main+xml": { + source: "iana", + compressible: true + }, + "application/vnd.openxmlformats-officedocument.presentationml.slideupdateinfo+xml": { + source: "iana", + compressible: true + }, + "application/vnd.openxmlformats-officedocument.presentationml.tablestyles+xml": { + source: "iana", + compressible: true + }, + "application/vnd.openxmlformats-officedocument.presentationml.tags+xml": { + source: "iana", + compressible: true + }, + "application/vnd.openxmlformats-officedocument.presentationml.template": { + source: "iana", + extensions: ["potx"] + }, + "application/vnd.openxmlformats-officedocument.presentationml.template.main+xml": { + source: "iana", + compressible: true + }, + "application/vnd.openxmlformats-officedocument.presentationml.viewprops+xml": { + source: "iana", + compressible: true + }, + "application/vnd.openxmlformats-officedocument.spreadsheetml.calcchain+xml": { + source: "iana", + compressible: true + }, + "application/vnd.openxmlformats-officedocument.spreadsheetml.chartsheet+xml": { + source: "iana", + compressible: true + }, + "application/vnd.openxmlformats-officedocument.spreadsheetml.comments+xml": { + source: "iana", + compressible: true + }, + "application/vnd.openxmlformats-officedocument.spreadsheetml.connections+xml": { + source: "iana", + compressible: true + }, + "application/vnd.openxmlformats-officedocument.spreadsheetml.dialogsheet+xml": { + source: "iana", + compressible: true + }, + "application/vnd.openxmlformats-officedocument.spreadsheetml.externallink+xml": { + source: "iana", + compressible: true + }, + "application/vnd.openxmlformats-officedocument.spreadsheetml.pivotcachedefinition+xml": { + source: "iana", + compressible: true + }, + "application/vnd.openxmlformats-officedocument.spreadsheetml.pivotcacherecords+xml": { + source: "iana", + compressible: true + }, + "application/vnd.openxmlformats-officedocument.spreadsheetml.pivottable+xml": { + source: "iana", + compressible: true + }, + "application/vnd.openxmlformats-officedocument.spreadsheetml.querytable+xml": { + source: "iana", + compressible: true + }, + "application/vnd.openxmlformats-officedocument.spreadsheetml.revisionheaders+xml": { + source: "iana", + compressible: true + }, + "application/vnd.openxmlformats-officedocument.spreadsheetml.revisionlog+xml": { + source: "iana", + compressible: true + }, + "application/vnd.openxmlformats-officedocument.spreadsheetml.sharedstrings+xml": { + source: "iana", + compressible: true + }, + "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet": { + source: "iana", + compressible: false, + extensions: ["xlsx"] + }, + "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet.main+xml": { + source: "iana", + compressible: true + }, + "application/vnd.openxmlformats-officedocument.spreadsheetml.sheetmetadata+xml": { + source: "iana", + compressible: true + }, + "application/vnd.openxmlformats-officedocument.spreadsheetml.styles+xml": { + source: "iana", + compressible: true + }, + "application/vnd.openxmlformats-officedocument.spreadsheetml.table+xml": { + source: "iana", + compressible: true + }, + "application/vnd.openxmlformats-officedocument.spreadsheetml.tablesinglecells+xml": { + source: "iana", + compressible: true + }, + "application/vnd.openxmlformats-officedocument.spreadsheetml.template": { + source: "iana", + extensions: ["xltx"] + }, + "application/vnd.openxmlformats-officedocument.spreadsheetml.template.main+xml": { + source: "iana", + compressible: true + }, + "application/vnd.openxmlformats-officedocument.spreadsheetml.usernames+xml": { + source: "iana", + compressible: true + }, + "application/vnd.openxmlformats-officedocument.spreadsheetml.volatiledependencies+xml": { + source: "iana", + compressible: true + }, + "application/vnd.openxmlformats-officedocument.spreadsheetml.worksheet+xml": { + source: "iana", + compressible: true + }, + "application/vnd.openxmlformats-officedocument.theme+xml": { + source: "iana", + compressible: true + }, + "application/vnd.openxmlformats-officedocument.themeoverride+xml": { + source: "iana", + compressible: true + }, + "application/vnd.openxmlformats-officedocument.vmldrawing": { + source: "iana" + }, + "application/vnd.openxmlformats-officedocument.wordprocessingml.comments+xml": { + source: "iana", + compressible: true + }, + "application/vnd.openxmlformats-officedocument.wordprocessingml.document": { + source: "iana", + compressible: false, + extensions: ["docx"] + }, + "application/vnd.openxmlformats-officedocument.wordprocessingml.document.glossary+xml": { + source: "iana", + compressible: true + }, + "application/vnd.openxmlformats-officedocument.wordprocessingml.document.main+xml": { + source: "iana", + compressible: true + }, + "application/vnd.openxmlformats-officedocument.wordprocessingml.endnotes+xml": { + source: "iana", + compressible: true + }, + "application/vnd.openxmlformats-officedocument.wordprocessingml.fonttable+xml": { + source: "iana", + compressible: true + }, + "application/vnd.openxmlformats-officedocument.wordprocessingml.footer+xml": { + source: "iana", + compressible: true + }, + "application/vnd.openxmlformats-officedocument.wordprocessingml.footnotes+xml": { + source: "iana", + compressible: true + }, + "application/vnd.openxmlformats-officedocument.wordprocessingml.numbering+xml": { + source: "iana", + compressible: true + }, + "application/vnd.openxmlformats-officedocument.wordprocessingml.settings+xml": { + source: "iana", + compressible: true + }, + "application/vnd.openxmlformats-officedocument.wordprocessingml.styles+xml": { + source: "iana", + compressible: true + }, + "application/vnd.openxmlformats-officedocument.wordprocessingml.template": { + source: "iana", + extensions: ["dotx"] + }, + "application/vnd.openxmlformats-officedocument.wordprocessingml.template.main+xml": { + source: "iana", + compressible: true + }, + "application/vnd.openxmlformats-officedocument.wordprocessingml.websettings+xml": { + source: "iana", + compressible: true + }, + "application/vnd.openxmlformats-package.core-properties+xml": { + source: "iana", + compressible: true + }, + "application/vnd.openxmlformats-package.digital-signature-xmlsignature+xml": { + source: "iana", + compressible: true + }, + "application/vnd.openxmlformats-package.relationships+xml": { + source: "iana", + compressible: true + }, + "application/vnd.oracle.resource+json": { + source: "iana", + compressible: true + }, + "application/vnd.orange.indata": { + source: "iana" + }, + "application/vnd.osa.netdeploy": { + source: "iana" + }, + "application/vnd.osgeo.mapguide.package": { + source: "iana", + extensions: ["mgp"] + }, + "application/vnd.osgi.bundle": { + source: "iana" + }, + "application/vnd.osgi.dp": { + source: "iana", + extensions: ["dp"] + }, + "application/vnd.osgi.subsystem": { + source: "iana", + extensions: ["esa"] + }, + "application/vnd.otps.ct-kip+xml": { + source: "iana", + compressible: true + }, + "application/vnd.oxli.countgraph": { + source: "iana" + }, + "application/vnd.pagerduty+json": { + source: "iana", + compressible: true + }, + "application/vnd.palm": { + source: "iana", + extensions: ["pdb", "pqa", "oprc"] + }, + "application/vnd.panoply": { + source: "iana" + }, + "application/vnd.paos.xml": { + source: "iana" + }, + "application/vnd.patentdive": { + source: "iana" + }, + "application/vnd.patientecommsdoc": { + source: "iana" + }, + "application/vnd.pawaafile": { + source: "iana", + extensions: ["paw"] + }, + "application/vnd.pcos": { + source: "iana" + }, + "application/vnd.pg.format": { + source: "iana", + extensions: ["str"] + }, + "application/vnd.pg.osasli": { + source: "iana", + extensions: ["ei6"] + }, + "application/vnd.piaccess.application-licence": { + source: "iana" + }, + "application/vnd.picsel": { + source: "iana", + extensions: ["efif"] + }, + "application/vnd.pmi.widget": { + source: "iana", + extensions: ["wg"] + }, + "application/vnd.poc.group-advertisement+xml": { + source: "iana", + compressible: true + }, + "application/vnd.pocketlearn": { + source: "iana", + extensions: ["plf"] + }, + "application/vnd.powerbuilder6": { + source: "iana", + extensions: ["pbd"] + }, + "application/vnd.powerbuilder6-s": { + source: "iana" + }, + "application/vnd.powerbuilder7": { + source: "iana" + }, + "application/vnd.powerbuilder7-s": { + source: "iana" + }, + "application/vnd.powerbuilder75": { + source: "iana" + }, + "application/vnd.powerbuilder75-s": { + source: "iana" + }, + "application/vnd.preminet": { + source: "iana" + }, + "application/vnd.previewsystems.box": { + source: "iana", + extensions: ["box"] + }, + "application/vnd.procrate.brushset": { + extensions: ["brushset"] + }, + "application/vnd.procreate.brush": { + extensions: ["brush"] + }, + "application/vnd.procreate.dream": { + extensions: ["drm"] + }, + "application/vnd.proteus.magazine": { + source: "iana", + extensions: ["mgz"] + }, + "application/vnd.psfs": { + source: "iana" + }, + "application/vnd.pt.mundusmundi": { + source: "iana" + }, + "application/vnd.publishare-delta-tree": { + source: "iana", + extensions: ["qps"] + }, + "application/vnd.pvi.ptid1": { + source: "iana", + extensions: ["ptid"] + }, + "application/vnd.pwg-multiplexed": { + source: "iana" + }, + "application/vnd.pwg-xhtml-print+xml": { + source: "iana", + compressible: true, + extensions: ["xhtm"] + }, + "application/vnd.qualcomm.brew-app-res": { + source: "iana" + }, + "application/vnd.quarantainenet": { + source: "iana" + }, + "application/vnd.quark.quarkxpress": { + source: "iana", + extensions: ["qxd", "qxt", "qwd", "qwt", "qxl", "qxb"] + }, + "application/vnd.quobject-quoxdocument": { + source: "iana" + }, + "application/vnd.radisys.moml+xml": { + source: "iana", + compressible: true + }, + "application/vnd.radisys.msml+xml": { + source: "iana", + compressible: true + }, + "application/vnd.radisys.msml-audit+xml": { + source: "iana", + compressible: true + }, + "application/vnd.radisys.msml-audit-conf+xml": { + source: "iana", + compressible: true + }, + "application/vnd.radisys.msml-audit-conn+xml": { + source: "iana", + compressible: true + }, + "application/vnd.radisys.msml-audit-dialog+xml": { + source: "iana", + compressible: true + }, + "application/vnd.radisys.msml-audit-stream+xml": { + source: "iana", + compressible: true + }, + "application/vnd.radisys.msml-conf+xml": { + source: "iana", + compressible: true + }, + "application/vnd.radisys.msml-dialog+xml": { + source: "iana", + compressible: true + }, + "application/vnd.radisys.msml-dialog-base+xml": { + source: "iana", + compressible: true + }, + "application/vnd.radisys.msml-dialog-fax-detect+xml": { + source: "iana", + compressible: true + }, + "application/vnd.radisys.msml-dialog-fax-sendrecv+xml": { + source: "iana", + compressible: true + }, + "application/vnd.radisys.msml-dialog-group+xml": { + source: "iana", + compressible: true + }, + "application/vnd.radisys.msml-dialog-speech+xml": { + source: "iana", + compressible: true + }, + "application/vnd.radisys.msml-dialog-transform+xml": { + source: "iana", + compressible: true + }, + "application/vnd.rainstor.data": { + source: "iana" + }, + "application/vnd.rapid": { + source: "iana" + }, + "application/vnd.rar": { + source: "iana", + extensions: ["rar"] + }, + "application/vnd.realvnc.bed": { + source: "iana", + extensions: ["bed"] + }, + "application/vnd.recordare.musicxml": { + source: "iana", + extensions: ["mxl"] + }, + "application/vnd.recordare.musicxml+xml": { + source: "iana", + compressible: true, + extensions: ["musicxml"] + }, + "application/vnd.relpipe": { + source: "iana" + }, + "application/vnd.renlearn.rlprint": { + source: "iana" + }, + "application/vnd.resilient.logic": { + source: "iana" + }, + "application/vnd.restful+json": { + source: "iana", + compressible: true + }, + "application/vnd.rig.cryptonote": { + source: "iana", + extensions: ["cryptonote"] + }, + "application/vnd.rim.cod": { + source: "apache", + extensions: ["cod"] + }, + "application/vnd.rn-realmedia": { + source: "apache", + extensions: ["rm"] + }, + "application/vnd.rn-realmedia-vbr": { + source: "apache", + extensions: ["rmvb"] + }, + "application/vnd.route66.link66+xml": { + source: "iana", + compressible: true, + extensions: ["link66"] + }, + "application/vnd.rs-274x": { + source: "iana" + }, + "application/vnd.ruckus.download": { + source: "iana" + }, + "application/vnd.s3sms": { + source: "iana" + }, + "application/vnd.sailingtracker.track": { + source: "iana", + extensions: ["st"] + }, + "application/vnd.sar": { + source: "iana" + }, + "application/vnd.sbm.cid": { + source: "iana" + }, + "application/vnd.sbm.mid2": { + source: "iana" + }, + "application/vnd.scribus": { + source: "iana" + }, + "application/vnd.sealed.3df": { + source: "iana" + }, + "application/vnd.sealed.csf": { + source: "iana" + }, + "application/vnd.sealed.doc": { + source: "iana" + }, + "application/vnd.sealed.eml": { + source: "iana" + }, + "application/vnd.sealed.mht": { + source: "iana" + }, + "application/vnd.sealed.net": { + source: "iana" + }, + "application/vnd.sealed.ppt": { + source: "iana" + }, + "application/vnd.sealed.tiff": { + source: "iana" + }, + "application/vnd.sealed.xls": { + source: "iana" + }, + "application/vnd.sealedmedia.softseal.html": { + source: "iana" + }, + "application/vnd.sealedmedia.softseal.pdf": { + source: "iana" + }, + "application/vnd.seemail": { + source: "iana", + extensions: ["see"] + }, + "application/vnd.seis+json": { + source: "iana", + compressible: true + }, + "application/vnd.sema": { + source: "iana", + extensions: ["sema"] + }, + "application/vnd.semd": { + source: "iana", + extensions: ["semd"] + }, + "application/vnd.semf": { + source: "iana", + extensions: ["semf"] + }, + "application/vnd.shade-save-file": { + source: "iana" + }, + "application/vnd.shana.informed.formdata": { + source: "iana", + extensions: ["ifm"] + }, + "application/vnd.shana.informed.formtemplate": { + source: "iana", + extensions: ["itp"] + }, + "application/vnd.shana.informed.interchange": { + source: "iana", + extensions: ["iif"] + }, + "application/vnd.shana.informed.package": { + source: "iana", + extensions: ["ipk"] + }, + "application/vnd.shootproof+json": { + source: "iana", + compressible: true + }, + "application/vnd.shopkick+json": { + source: "iana", + compressible: true + }, + "application/vnd.shp": { + source: "iana" + }, + "application/vnd.shx": { + source: "iana" + }, + "application/vnd.sigrok.session": { + source: "iana" + }, + "application/vnd.simtech-mindmapper": { + source: "iana", + extensions: ["twd", "twds"] + }, + "application/vnd.siren+json": { + source: "iana", + compressible: true + }, + "application/vnd.sketchometry": { + source: "iana" + }, + "application/vnd.smaf": { + source: "iana", + extensions: ["mmf"] + }, + "application/vnd.smart.notebook": { + source: "iana" + }, + "application/vnd.smart.teacher": { + source: "iana", + extensions: ["teacher"] + }, + "application/vnd.smintio.portals.archive": { + source: "iana" + }, + "application/vnd.snesdev-page-table": { + source: "iana" + }, + "application/vnd.software602.filler.form+xml": { + source: "iana", + compressible: true, + extensions: ["fo"] + }, + "application/vnd.software602.filler.form-xml-zip": { + source: "iana" + }, + "application/vnd.solent.sdkm+xml": { + source: "iana", + compressible: true, + extensions: ["sdkm", "sdkd"] + }, + "application/vnd.spotfire.dxp": { + source: "iana", + extensions: ["dxp"] + }, + "application/vnd.spotfire.sfs": { + source: "iana", + extensions: ["sfs"] + }, + "application/vnd.sqlite3": { + source: "iana" + }, + "application/vnd.sss-cod": { + source: "iana" + }, + "application/vnd.sss-dtf": { + source: "iana" + }, + "application/vnd.sss-ntf": { + source: "iana" + }, + "application/vnd.stardivision.calc": { + source: "apache", + extensions: ["sdc"] + }, + "application/vnd.stardivision.draw": { + source: "apache", + extensions: ["sda"] + }, + "application/vnd.stardivision.impress": { + source: "apache", + extensions: ["sdd"] + }, + "application/vnd.stardivision.math": { + source: "apache", + extensions: ["smf"] + }, + "application/vnd.stardivision.writer": { + source: "apache", + extensions: ["sdw", "vor"] + }, + "application/vnd.stardivision.writer-global": { + source: "apache", + extensions: ["sgl"] + }, + "application/vnd.stepmania.package": { + source: "iana", + extensions: ["smzip"] + }, + "application/vnd.stepmania.stepchart": { + source: "iana", + extensions: ["sm"] + }, + "application/vnd.street-stream": { + source: "iana" + }, + "application/vnd.sun.wadl+xml": { + source: "iana", + compressible: true, + extensions: ["wadl"] + }, + "application/vnd.sun.xml.calc": { + source: "apache", + extensions: ["sxc"] + }, + "application/vnd.sun.xml.calc.template": { + source: "apache", + extensions: ["stc"] + }, + "application/vnd.sun.xml.draw": { + source: "apache", + extensions: ["sxd"] + }, + "application/vnd.sun.xml.draw.template": { + source: "apache", + extensions: ["std"] + }, + "application/vnd.sun.xml.impress": { + source: "apache", + extensions: ["sxi"] + }, + "application/vnd.sun.xml.impress.template": { + source: "apache", + extensions: ["sti"] + }, + "application/vnd.sun.xml.math": { + source: "apache", + extensions: ["sxm"] + }, + "application/vnd.sun.xml.writer": { + source: "apache", + extensions: ["sxw"] + }, + "application/vnd.sun.xml.writer.global": { + source: "apache", + extensions: ["sxg"] + }, + "application/vnd.sun.xml.writer.template": { + source: "apache", + extensions: ["stw"] + }, + "application/vnd.sus-calendar": { + source: "iana", + extensions: ["sus", "susp"] + }, + "application/vnd.svd": { + source: "iana", + extensions: ["svd"] + }, + "application/vnd.swiftview-ics": { + source: "iana" + }, + "application/vnd.sybyl.mol2": { + source: "iana" + }, + "application/vnd.sycle+xml": { + source: "iana", + compressible: true + }, + "application/vnd.syft+json": { + source: "iana", + compressible: true + }, + "application/vnd.symbian.install": { + source: "apache", + extensions: ["sis", "sisx"] + }, + "application/vnd.syncml+xml": { + source: "iana", + charset: "UTF-8", + compressible: true, + extensions: ["xsm"] + }, + "application/vnd.syncml.dm+wbxml": { + source: "iana", + charset: "UTF-8", + extensions: ["bdm"] + }, + "application/vnd.syncml.dm+xml": { + source: "iana", + charset: "UTF-8", + compressible: true, + extensions: ["xdm"] + }, + "application/vnd.syncml.dm.notification": { + source: "iana" + }, + "application/vnd.syncml.dmddf+wbxml": { + source: "iana" + }, + "application/vnd.syncml.dmddf+xml": { + source: "iana", + charset: "UTF-8", + compressible: true, + extensions: ["ddf"] + }, + "application/vnd.syncml.dmtnds+wbxml": { + source: "iana" + }, + "application/vnd.syncml.dmtnds+xml": { + source: "iana", + charset: "UTF-8", + compressible: true + }, + "application/vnd.syncml.ds.notification": { + source: "iana" + }, + "application/vnd.tableschema+json": { + source: "iana", + compressible: true + }, + "application/vnd.tao.intent-module-archive": { + source: "iana", + extensions: ["tao"] + }, + "application/vnd.tcpdump.pcap": { + source: "iana", + extensions: ["pcap", "cap", "dmp"] + }, + "application/vnd.think-cell.ppttc+json": { + source: "iana", + compressible: true + }, + "application/vnd.tmd.mediaflex.api+xml": { + source: "iana", + compressible: true + }, + "application/vnd.tml": { + source: "iana" + }, + "application/vnd.tmobile-livetv": { + source: "iana", + extensions: ["tmo"] + }, + "application/vnd.tri.onesource": { + source: "iana" + }, + "application/vnd.trid.tpt": { + source: "iana", + extensions: ["tpt"] + }, + "application/vnd.triscape.mxs": { + source: "iana", + extensions: ["mxs"] + }, + "application/vnd.trueapp": { + source: "iana", + extensions: ["tra"] + }, + "application/vnd.truedoc": { + source: "iana" + }, + "application/vnd.ubisoft.webplayer": { + source: "iana" + }, + "application/vnd.ufdl": { + source: "iana", + extensions: ["ufd", "ufdl"] + }, + "application/vnd.uic.osdm+json": { + source: "iana", + compressible: true + }, + "application/vnd.uiq.theme": { + source: "iana", + extensions: ["utz"] + }, + "application/vnd.umajin": { + source: "iana", + extensions: ["umj"] + }, + "application/vnd.unity": { + source: "iana", + extensions: ["unityweb"] + }, + "application/vnd.uoml+xml": { + source: "iana", + compressible: true, + extensions: ["uoml", "uo"] + }, + "application/vnd.uplanet.alert": { + source: "iana" + }, + "application/vnd.uplanet.alert-wbxml": { + source: "iana" + }, + "application/vnd.uplanet.bearer-choice": { + source: "iana" + }, + "application/vnd.uplanet.bearer-choice-wbxml": { + source: "iana" + }, + "application/vnd.uplanet.cacheop": { + source: "iana" + }, + "application/vnd.uplanet.cacheop-wbxml": { + source: "iana" + }, + "application/vnd.uplanet.channel": { + source: "iana" + }, + "application/vnd.uplanet.channel-wbxml": { + source: "iana" + }, + "application/vnd.uplanet.list": { + source: "iana" + }, + "application/vnd.uplanet.list-wbxml": { + source: "iana" + }, + "application/vnd.uplanet.listcmd": { + source: "iana" + }, + "application/vnd.uplanet.listcmd-wbxml": { + source: "iana" + }, + "application/vnd.uplanet.signal": { + source: "iana" + }, + "application/vnd.uri-map": { + source: "iana" + }, + "application/vnd.valve.source.material": { + source: "iana" + }, + "application/vnd.vcx": { + source: "iana", + extensions: ["vcx"] + }, + "application/vnd.vd-study": { + source: "iana" + }, + "application/vnd.vectorworks": { + source: "iana" + }, + "application/vnd.vel+json": { + source: "iana", + compressible: true + }, + "application/vnd.veraison.tsm-report+cbor": { + source: "iana" + }, + "application/vnd.veraison.tsm-report+json": { + source: "iana", + compressible: true + }, + "application/vnd.verimatrix.vcas": { + source: "iana" + }, + "application/vnd.veritone.aion+json": { + source: "iana", + compressible: true + }, + "application/vnd.veryant.thin": { + source: "iana" + }, + "application/vnd.ves.encrypted": { + source: "iana" + }, + "application/vnd.vidsoft.vidconference": { + source: "iana" + }, + "application/vnd.visio": { + source: "iana", + extensions: ["vsd", "vst", "vss", "vsw", "vsdx", "vtx"] + }, + "application/vnd.visionary": { + source: "iana", + extensions: ["vis"] + }, + "application/vnd.vividence.scriptfile": { + source: "iana" + }, + "application/vnd.vocalshaper.vsp4": { + source: "iana" + }, + "application/vnd.vsf": { + source: "iana", + extensions: ["vsf"] + }, + "application/vnd.wap.sic": { + source: "iana" + }, + "application/vnd.wap.slc": { + source: "iana" + }, + "application/vnd.wap.wbxml": { + source: "iana", + charset: "UTF-8", + extensions: ["wbxml"] + }, + "application/vnd.wap.wmlc": { + source: "iana", + extensions: ["wmlc"] + }, + "application/vnd.wap.wmlscriptc": { + source: "iana", + extensions: ["wmlsc"] + }, + "application/vnd.wasmflow.wafl": { + source: "iana" + }, + "application/vnd.webturbo": { + source: "iana", + extensions: ["wtb"] + }, + "application/vnd.wfa.dpp": { + source: "iana" + }, + "application/vnd.wfa.p2p": { + source: "iana" + }, + "application/vnd.wfa.wsc": { + source: "iana" + }, + "application/vnd.windows.devicepairing": { + source: "iana" + }, + "application/vnd.wmc": { + source: "iana" + }, + "application/vnd.wmf.bootstrap": { + source: "iana" + }, + "application/vnd.wolfram.mathematica": { + source: "iana" + }, + "application/vnd.wolfram.mathematica.package": { + source: "iana" + }, + "application/vnd.wolfram.player": { + source: "iana", + extensions: ["nbp"] + }, + "application/vnd.wordlift": { + source: "iana" + }, + "application/vnd.wordperfect": { + source: "iana", + extensions: ["wpd"] + }, + "application/vnd.wqd": { + source: "iana", + extensions: ["wqd"] + }, + "application/vnd.wrq-hp3000-labelled": { + source: "iana" + }, + "application/vnd.wt.stf": { + source: "iana", + extensions: ["stf"] + }, + "application/vnd.wv.csp+wbxml": { + source: "iana" + }, + "application/vnd.wv.csp+xml": { + source: "iana", + compressible: true + }, + "application/vnd.wv.ssp+xml": { + source: "iana", + compressible: true + }, + "application/vnd.xacml+json": { + source: "iana", + compressible: true + }, + "application/vnd.xara": { + source: "iana", + extensions: ["xar"] + }, + "application/vnd.xarin.cpj": { + source: "iana" + }, + "application/vnd.xecrets-encrypted": { + source: "iana" + }, + "application/vnd.xfdl": { + source: "iana", + extensions: ["xfdl"] + }, + "application/vnd.xfdl.webform": { + source: "iana" + }, + "application/vnd.xmi+xml": { + source: "iana", + compressible: true + }, + "application/vnd.xmpie.cpkg": { + source: "iana" + }, + "application/vnd.xmpie.dpkg": { + source: "iana" + }, + "application/vnd.xmpie.plan": { + source: "iana" + }, + "application/vnd.xmpie.ppkg": { + source: "iana" + }, + "application/vnd.xmpie.xlim": { + source: "iana" + }, + "application/vnd.yamaha.hv-dic": { + source: "iana", + extensions: ["hvd"] + }, + "application/vnd.yamaha.hv-script": { + source: "iana", + extensions: ["hvs"] + }, + "application/vnd.yamaha.hv-voice": { + source: "iana", + extensions: ["hvp"] + }, + "application/vnd.yamaha.openscoreformat": { + source: "iana", + extensions: ["osf"] + }, + "application/vnd.yamaha.openscoreformat.osfpvg+xml": { + source: "iana", + compressible: true, + extensions: ["osfpvg"] + }, + "application/vnd.yamaha.remote-setup": { + source: "iana" + }, + "application/vnd.yamaha.smaf-audio": { + source: "iana", + extensions: ["saf"] + }, + "application/vnd.yamaha.smaf-phrase": { + source: "iana", + extensions: ["spf"] + }, + "application/vnd.yamaha.through-ngn": { + source: "iana" + }, + "application/vnd.yamaha.tunnel-udpencap": { + source: "iana" + }, + "application/vnd.yaoweme": { + source: "iana" + }, + "application/vnd.yellowriver-custom-menu": { + source: "iana", + extensions: ["cmp"] + }, + "application/vnd.zul": { + source: "iana", + extensions: ["zir", "zirz"] + }, + "application/vnd.zzazz.deck+xml": { + source: "iana", + compressible: true, + extensions: ["zaz"] + }, + "application/voicexml+xml": { + source: "iana", + compressible: true, + extensions: ["vxml"] + }, + "application/voucher-cms+json": { + source: "iana", + compressible: true + }, + "application/voucher-jws+json": { + source: "iana", + compressible: true + }, + "application/vp": { + source: "iana" + }, + "application/vp+cose": { + source: "iana" + }, + "application/vp+jwt": { + source: "iana" + }, + "application/vq-rtcpxr": { + source: "iana" + }, + "application/wasm": { + source: "iana", + compressible: true, + extensions: ["wasm"] + }, + "application/watcherinfo+xml": { + source: "iana", + compressible: true, + extensions: ["wif"] + }, + "application/webpush-options+json": { + source: "iana", + compressible: true + }, + "application/whoispp-query": { + source: "iana" + }, + "application/whoispp-response": { + source: "iana" + }, + "application/widget": { + source: "iana", + extensions: ["wgt"] + }, + "application/winhlp": { + source: "apache", + extensions: ["hlp"] + }, + "application/wita": { + source: "iana" + }, + "application/wordperfect5.1": { + source: "iana" + }, + "application/wsdl+xml": { + source: "iana", + compressible: true, + extensions: ["wsdl"] + }, + "application/wspolicy+xml": { + source: "iana", + compressible: true, + extensions: ["wspolicy"] + }, + "application/x-7z-compressed": { + source: "apache", + compressible: false, + extensions: ["7z"] + }, + "application/x-abiword": { + source: "apache", + extensions: ["abw"] + }, + "application/x-ace-compressed": { + source: "apache", + extensions: ["ace"] + }, + "application/x-amf": { + source: "apache" + }, + "application/x-apple-diskimage": { + source: "apache", + extensions: ["dmg"] + }, + "application/x-arj": { + compressible: false, + extensions: ["arj"] + }, + "application/x-authorware-bin": { + source: "apache", + extensions: ["aab", "x32", "u32", "vox"] + }, + "application/x-authorware-map": { + source: "apache", + extensions: ["aam"] + }, + "application/x-authorware-seg": { + source: "apache", + extensions: ["aas"] + }, + "application/x-bcpio": { + source: "apache", + extensions: ["bcpio"] + }, + "application/x-bdoc": { + compressible: false, + extensions: ["bdoc"] + }, + "application/x-bittorrent": { + source: "apache", + extensions: ["torrent"] + }, + "application/x-blender": { + extensions: ["blend"] + }, + "application/x-blorb": { + source: "apache", + extensions: ["blb", "blorb"] + }, + "application/x-bzip": { + source: "apache", + compressible: false, + extensions: ["bz"] + }, + "application/x-bzip2": { + source: "apache", + compressible: false, + extensions: ["bz2", "boz"] + }, + "application/x-cbr": { + source: "apache", + extensions: ["cbr", "cba", "cbt", "cbz", "cb7"] + }, + "application/x-cdlink": { + source: "apache", + extensions: ["vcd"] + }, + "application/x-cfs-compressed": { + source: "apache", + extensions: ["cfs"] + }, + "application/x-chat": { + source: "apache", + extensions: ["chat"] + }, + "application/x-chess-pgn": { + source: "apache", + extensions: ["pgn"] + }, + "application/x-chrome-extension": { + extensions: ["crx"] + }, + "application/x-cocoa": { + source: "nginx", + extensions: ["cco"] + }, + "application/x-compress": { + source: "apache" + }, + "application/x-compressed": { + extensions: ["rar"] + }, + "application/x-conference": { + source: "apache", + extensions: ["nsc"] + }, + "application/x-cpio": { + source: "apache", + extensions: ["cpio"] + }, + "application/x-csh": { + source: "apache", + extensions: ["csh"] + }, + "application/x-deb": { + compressible: false + }, + "application/x-debian-package": { + source: "apache", + extensions: ["deb", "udeb"] + }, + "application/x-dgc-compressed": { + source: "apache", + extensions: ["dgc"] + }, + "application/x-director": { + source: "apache", + extensions: ["dir", "dcr", "dxr", "cst", "cct", "cxt", "w3d", "fgd", "swa"] + }, + "application/x-doom": { + source: "apache", + extensions: ["wad"] + }, + "application/x-dtbncx+xml": { + source: "apache", + compressible: true, + extensions: ["ncx"] + }, + "application/x-dtbook+xml": { + source: "apache", + compressible: true, + extensions: ["dtb"] + }, + "application/x-dtbresource+xml": { + source: "apache", + compressible: true, + extensions: ["res"] + }, + "application/x-dvi": { + source: "apache", + compressible: false, + extensions: ["dvi"] + }, + "application/x-envoy": { + source: "apache", + extensions: ["evy"] + }, + "application/x-eva": { + source: "apache", + extensions: ["eva"] + }, + "application/x-font-bdf": { + source: "apache", + extensions: ["bdf"] + }, + "application/x-font-dos": { + source: "apache" + }, + "application/x-font-framemaker": { + source: "apache" + }, + "application/x-font-ghostscript": { + source: "apache", + extensions: ["gsf"] + }, + "application/x-font-libgrx": { + source: "apache" + }, + "application/x-font-linux-psf": { + source: "apache", + extensions: ["psf"] + }, + "application/x-font-pcf": { + source: "apache", + extensions: ["pcf"] + }, + "application/x-font-snf": { + source: "apache", + extensions: ["snf"] + }, + "application/x-font-speedo": { + source: "apache" + }, + "application/x-font-sunos-news": { + source: "apache" + }, + "application/x-font-type1": { + source: "apache", + extensions: ["pfa", "pfb", "pfm", "afm"] + }, + "application/x-font-vfont": { + source: "apache" + }, + "application/x-freearc": { + source: "apache", + extensions: ["arc"] + }, + "application/x-futuresplash": { + source: "apache", + extensions: ["spl"] + }, + "application/x-gca-compressed": { + source: "apache", + extensions: ["gca"] + }, + "application/x-glulx": { + source: "apache", + extensions: ["ulx"] + }, + "application/x-gnumeric": { + source: "apache", + extensions: ["gnumeric"] + }, + "application/x-gramps-xml": { + source: "apache", + extensions: ["gramps"] + }, + "application/x-gtar": { + source: "apache", + extensions: ["gtar"] + }, + "application/x-gzip": { + source: "apache" + }, + "application/x-hdf": { + source: "apache", + extensions: ["hdf"] + }, + "application/x-httpd-php": { + compressible: true, + extensions: ["php"] + }, + "application/x-install-instructions": { + source: "apache", + extensions: ["install"] + }, + "application/x-ipynb+json": { + compressible: true, + extensions: ["ipynb"] + }, + "application/x-iso9660-image": { + source: "apache", + extensions: ["iso"] + }, + "application/x-iwork-keynote-sffkey": { + extensions: ["key"] + }, + "application/x-iwork-numbers-sffnumbers": { + extensions: ["numbers"] + }, + "application/x-iwork-pages-sffpages": { + extensions: ["pages"] + }, + "application/x-java-archive-diff": { + source: "nginx", + extensions: ["jardiff"] + }, + "application/x-java-jnlp-file": { + source: "apache", + compressible: false, + extensions: ["jnlp"] + }, + "application/x-javascript": { + compressible: true + }, + "application/x-keepass2": { + extensions: ["kdbx"] + }, + "application/x-latex": { + source: "apache", + compressible: false, + extensions: ["latex"] + }, + "application/x-lua-bytecode": { + extensions: ["luac"] + }, + "application/x-lzh-compressed": { + source: "apache", + extensions: ["lzh", "lha"] + }, + "application/x-makeself": { + source: "nginx", + extensions: ["run"] + }, + "application/x-mie": { + source: "apache", + extensions: ["mie"] + }, + "application/x-mobipocket-ebook": { + source: "apache", + extensions: ["prc", "mobi"] + }, + "application/x-mpegurl": { + compressible: false + }, + "application/x-ms-application": { + source: "apache", + extensions: ["application"] + }, + "application/x-ms-shortcut": { + source: "apache", + extensions: ["lnk"] + }, + "application/x-ms-wmd": { + source: "apache", + extensions: ["wmd"] + }, + "application/x-ms-wmz": { + source: "apache", + extensions: ["wmz"] + }, + "application/x-ms-xbap": { + source: "apache", + extensions: ["xbap"] + }, + "application/x-msaccess": { + source: "apache", + extensions: ["mdb"] + }, + "application/x-msbinder": { + source: "apache", + extensions: ["obd"] + }, + "application/x-mscardfile": { + source: "apache", + extensions: ["crd"] + }, + "application/x-msclip": { + source: "apache", + extensions: ["clp"] + }, + "application/x-msdos-program": { + extensions: ["exe"] + }, + "application/x-msdownload": { + source: "apache", + extensions: ["exe", "dll", "com", "bat", "msi"] + }, + "application/x-msmediaview": { + source: "apache", + extensions: ["mvb", "m13", "m14"] + }, + "application/x-msmetafile": { + source: "apache", + extensions: ["wmf", "wmz", "emf", "emz"] + }, + "application/x-msmoney": { + source: "apache", + extensions: ["mny"] + }, + "application/x-mspublisher": { + source: "apache", + extensions: ["pub"] + }, + "application/x-msschedule": { + source: "apache", + extensions: ["scd"] + }, + "application/x-msterminal": { + source: "apache", + extensions: ["trm"] + }, + "application/x-mswrite": { + source: "apache", + extensions: ["wri"] + }, + "application/x-netcdf": { + source: "apache", + extensions: ["nc", "cdf"] + }, + "application/x-ns-proxy-autoconfig": { + compressible: true, + extensions: ["pac"] + }, + "application/x-nzb": { + source: "apache", + extensions: ["nzb"] + }, + "application/x-perl": { + source: "nginx", + extensions: ["pl", "pm"] + }, + "application/x-pilot": { + source: "nginx", + extensions: ["prc", "pdb"] + }, + "application/x-pkcs12": { + source: "apache", + compressible: false, + extensions: ["p12", "pfx"] + }, + "application/x-pkcs7-certificates": { + source: "apache", + extensions: ["p7b", "spc"] + }, + "application/x-pkcs7-certreqresp": { + source: "apache", + extensions: ["p7r"] + }, + "application/x-pki-message": { + source: "iana" + }, + "application/x-rar-compressed": { + source: "apache", + compressible: false, + extensions: ["rar"] + }, + "application/x-redhat-package-manager": { + source: "nginx", + extensions: ["rpm"] + }, + "application/x-research-info-systems": { + source: "apache", + extensions: ["ris"] + }, + "application/x-sea": { + source: "nginx", + extensions: ["sea"] + }, + "application/x-sh": { + source: "apache", + compressible: true, + extensions: ["sh"] + }, + "application/x-shar": { + source: "apache", + extensions: ["shar"] + }, + "application/x-shockwave-flash": { + source: "apache", + compressible: false, + extensions: ["swf"] + }, + "application/x-silverlight-app": { + source: "apache", + extensions: ["xap"] + }, + "application/x-sql": { + source: "apache", + extensions: ["sql"] + }, + "application/x-stuffit": { + source: "apache", + compressible: false, + extensions: ["sit"] + }, + "application/x-stuffitx": { + source: "apache", + extensions: ["sitx"] + }, + "application/x-subrip": { + source: "apache", + extensions: ["srt"] + }, + "application/x-sv4cpio": { + source: "apache", + extensions: ["sv4cpio"] + }, + "application/x-sv4crc": { + source: "apache", + extensions: ["sv4crc"] + }, + "application/x-t3vm-image": { + source: "apache", + extensions: ["t3"] + }, + "application/x-tads": { + source: "apache", + extensions: ["gam"] + }, + "application/x-tar": { + source: "apache", + compressible: true, + extensions: ["tar"] + }, + "application/x-tcl": { + source: "apache", + extensions: ["tcl", "tk"] + }, + "application/x-tex": { + source: "apache", + extensions: ["tex"] + }, + "application/x-tex-tfm": { + source: "apache", + extensions: ["tfm"] + }, + "application/x-texinfo": { + source: "apache", + extensions: ["texinfo", "texi"] + }, + "application/x-tgif": { + source: "apache", + extensions: ["obj"] + }, + "application/x-ustar": { + source: "apache", + extensions: ["ustar"] + }, + "application/x-virtualbox-hdd": { + compressible: true, + extensions: ["hdd"] + }, + "application/x-virtualbox-ova": { + compressible: true, + extensions: ["ova"] + }, + "application/x-virtualbox-ovf": { + compressible: true, + extensions: ["ovf"] + }, + "application/x-virtualbox-vbox": { + compressible: true, + extensions: ["vbox"] + }, + "application/x-virtualbox-vbox-extpack": { + compressible: false, + extensions: ["vbox-extpack"] + }, + "application/x-virtualbox-vdi": { + compressible: true, + extensions: ["vdi"] + }, + "application/x-virtualbox-vhd": { + compressible: true, + extensions: ["vhd"] + }, + "application/x-virtualbox-vmdk": { + compressible: true, + extensions: ["vmdk"] + }, + "application/x-wais-source": { + source: "apache", + extensions: ["src"] + }, + "application/x-web-app-manifest+json": { + compressible: true, + extensions: ["webapp"] + }, + "application/x-www-form-urlencoded": { + source: "iana", + compressible: true + }, + "application/x-x509-ca-cert": { + source: "iana", + extensions: ["der", "crt", "pem"] + }, + "application/x-x509-ca-ra-cert": { + source: "iana" + }, + "application/x-x509-next-ca-cert": { + source: "iana" + }, + "application/x-xfig": { + source: "apache", + extensions: ["fig"] + }, + "application/x-xliff+xml": { + source: "apache", + compressible: true, + extensions: ["xlf"] + }, + "application/x-xpinstall": { + source: "apache", + compressible: false, + extensions: ["xpi"] + }, + "application/x-xz": { + source: "apache", + extensions: ["xz"] + }, + "application/x-zip-compressed": { + extensions: ["zip"] + }, + "application/x-zmachine": { + source: "apache", + extensions: ["z1", "z2", "z3", "z4", "z5", "z6", "z7", "z8"] + }, + "application/x400-bp": { + source: "iana" + }, + "application/xacml+xml": { + source: "iana", + compressible: true + }, + "application/xaml+xml": { + source: "apache", + compressible: true, + extensions: ["xaml"] + }, + "application/xcap-att+xml": { + source: "iana", + compressible: true, + extensions: ["xav"] + }, + "application/xcap-caps+xml": { + source: "iana", + compressible: true, + extensions: ["xca"] + }, + "application/xcap-diff+xml": { + source: "iana", + compressible: true, + extensions: ["xdf"] + }, + "application/xcap-el+xml": { + source: "iana", + compressible: true, + extensions: ["xel"] + }, + "application/xcap-error+xml": { + source: "iana", + compressible: true + }, + "application/xcap-ns+xml": { + source: "iana", + compressible: true, + extensions: ["xns"] + }, + "application/xcon-conference-info+xml": { + source: "iana", + compressible: true + }, + "application/xcon-conference-info-diff+xml": { + source: "iana", + compressible: true + }, + "application/xenc+xml": { + source: "iana", + compressible: true, + extensions: ["xenc"] + }, + "application/xfdf": { + source: "iana", + extensions: ["xfdf"] + }, + "application/xhtml+xml": { + source: "iana", + compressible: true, + extensions: ["xhtml", "xht"] + }, + "application/xhtml-voice+xml": { + source: "apache", + compressible: true + }, + "application/xliff+xml": { + source: "iana", + compressible: true, + extensions: ["xlf"] + }, + "application/xml": { + source: "iana", + compressible: true, + extensions: ["xml", "xsl", "xsd", "rng"] + }, + "application/xml-dtd": { + source: "iana", + compressible: true, + extensions: ["dtd"] + }, + "application/xml-external-parsed-entity": { + source: "iana" + }, + "application/xml-patch+xml": { + source: "iana", + compressible: true + }, + "application/xmpp+xml": { + source: "iana", + compressible: true + }, + "application/xop+xml": { + source: "iana", + compressible: true, + extensions: ["xop"] + }, + "application/xproc+xml": { + source: "apache", + compressible: true, + extensions: ["xpl"] + }, + "application/xslt+xml": { + source: "iana", + compressible: true, + extensions: ["xsl", "xslt"] + }, + "application/xspf+xml": { + source: "apache", + compressible: true, + extensions: ["xspf"] + }, + "application/xv+xml": { + source: "iana", + compressible: true, + extensions: ["mxml", "xhvml", "xvml", "xvm"] + }, + "application/yaml": { + source: "iana" + }, + "application/yang": { + source: "iana", + extensions: ["yang"] + }, + "application/yang-data+cbor": { + source: "iana" + }, + "application/yang-data+json": { + source: "iana", + compressible: true + }, + "application/yang-data+xml": { + source: "iana", + compressible: true + }, + "application/yang-patch+json": { + source: "iana", + compressible: true + }, + "application/yang-patch+xml": { + source: "iana", + compressible: true + }, + "application/yang-sid+json": { + source: "iana", + compressible: true + }, + "application/yin+xml": { + source: "iana", + compressible: true, + extensions: ["yin"] + }, + "application/zip": { + source: "iana", + compressible: false, + extensions: ["zip"] + }, + "application/zip+dotlottie": { + extensions: ["lottie"] + }, + "application/zlib": { + source: "iana" + }, + "application/zstd": { + source: "iana" + }, + "audio/1d-interleaved-parityfec": { + source: "iana" + }, + "audio/32kadpcm": { + source: "iana" + }, + "audio/3gpp": { + source: "iana", + compressible: false, + extensions: ["3gpp"] + }, + "audio/3gpp2": { + source: "iana" + }, + "audio/aac": { + source: "iana", + extensions: ["adts", "aac"] + }, + "audio/ac3": { + source: "iana" + }, + "audio/adpcm": { + source: "apache", + extensions: ["adp"] + }, + "audio/amr": { + source: "iana", + extensions: ["amr"] + }, + "audio/amr-wb": { + source: "iana" + }, + "audio/amr-wb+": { + source: "iana" + }, + "audio/aptx": { + source: "iana" + }, + "audio/asc": { + source: "iana" + }, + "audio/atrac-advanced-lossless": { + source: "iana" + }, + "audio/atrac-x": { + source: "iana" + }, + "audio/atrac3": { + source: "iana" + }, + "audio/basic": { + source: "iana", + compressible: false, + extensions: ["au", "snd"] + }, + "audio/bv16": { + source: "iana" + }, + "audio/bv32": { + source: "iana" + }, + "audio/clearmode": { + source: "iana" + }, + "audio/cn": { + source: "iana" + }, + "audio/dat12": { + source: "iana" + }, + "audio/dls": { + source: "iana" + }, + "audio/dsr-es201108": { + source: "iana" + }, + "audio/dsr-es202050": { + source: "iana" + }, + "audio/dsr-es202211": { + source: "iana" + }, + "audio/dsr-es202212": { + source: "iana" + }, + "audio/dv": { + source: "iana" + }, + "audio/dvi4": { + source: "iana" + }, + "audio/eac3": { + source: "iana" + }, + "audio/encaprtp": { + source: "iana" + }, + "audio/evrc": { + source: "iana" + }, + "audio/evrc-qcp": { + source: "iana" + }, + "audio/evrc0": { + source: "iana" + }, + "audio/evrc1": { + source: "iana" + }, + "audio/evrcb": { + source: "iana" + }, + "audio/evrcb0": { + source: "iana" + }, + "audio/evrcb1": { + source: "iana" + }, + "audio/evrcnw": { + source: "iana" + }, + "audio/evrcnw0": { + source: "iana" + }, + "audio/evrcnw1": { + source: "iana" + }, + "audio/evrcwb": { + source: "iana" + }, + "audio/evrcwb0": { + source: "iana" + }, + "audio/evrcwb1": { + source: "iana" + }, + "audio/evs": { + source: "iana" + }, + "audio/flac": { + source: "iana" + }, + "audio/flexfec": { + source: "iana" + }, + "audio/fwdred": { + source: "iana" + }, + "audio/g711-0": { + source: "iana" + }, + "audio/g719": { + source: "iana" + }, + "audio/g722": { + source: "iana" + }, + "audio/g7221": { + source: "iana" + }, + "audio/g723": { + source: "iana" + }, + "audio/g726-16": { + source: "iana" + }, + "audio/g726-24": { + source: "iana" + }, + "audio/g726-32": { + source: "iana" + }, + "audio/g726-40": { + source: "iana" + }, + "audio/g728": { + source: "iana" + }, + "audio/g729": { + source: "iana" + }, + "audio/g7291": { + source: "iana" + }, + "audio/g729d": { + source: "iana" + }, + "audio/g729e": { + source: "iana" + }, + "audio/gsm": { + source: "iana" + }, + "audio/gsm-efr": { + source: "iana" + }, + "audio/gsm-hr-08": { + source: "iana" + }, + "audio/ilbc": { + source: "iana" + }, + "audio/ip-mr_v2.5": { + source: "iana" + }, + "audio/isac": { + source: "apache" + }, + "audio/l16": { + source: "iana" + }, + "audio/l20": { + source: "iana" + }, + "audio/l24": { + source: "iana", + compressible: false + }, + "audio/l8": { + source: "iana" + }, + "audio/lpc": { + source: "iana" + }, + "audio/matroska": { + source: "iana" + }, + "audio/melp": { + source: "iana" + }, + "audio/melp1200": { + source: "iana" + }, + "audio/melp2400": { + source: "iana" + }, + "audio/melp600": { + source: "iana" + }, + "audio/mhas": { + source: "iana" + }, + "audio/midi": { + source: "apache", + extensions: ["mid", "midi", "kar", "rmi"] + }, + "audio/midi-clip": { + source: "iana" + }, + "audio/mobile-xmf": { + source: "iana", + extensions: ["mxmf"] + }, + "audio/mp3": { + compressible: false, + extensions: ["mp3"] + }, + "audio/mp4": { + source: "iana", + compressible: false, + extensions: ["m4a", "mp4a", "m4b"] + }, + "audio/mp4a-latm": { + source: "iana" + }, + "audio/mpa": { + source: "iana" + }, + "audio/mpa-robust": { + source: "iana" + }, + "audio/mpeg": { + source: "iana", + compressible: false, + extensions: ["mpga", "mp2", "mp2a", "mp3", "m2a", "m3a"] + }, + "audio/mpeg4-generic": { + source: "iana" + }, + "audio/musepack": { + source: "apache" + }, + "audio/ogg": { + source: "iana", + compressible: false, + extensions: ["oga", "ogg", "spx", "opus"] + }, + "audio/opus": { + source: "iana" + }, + "audio/parityfec": { + source: "iana" + }, + "audio/pcma": { + source: "iana" + }, + "audio/pcma-wb": { + source: "iana" + }, + "audio/pcmu": { + source: "iana" + }, + "audio/pcmu-wb": { + source: "iana" + }, + "audio/prs.sid": { + source: "iana" + }, + "audio/qcelp": { + source: "iana" + }, + "audio/raptorfec": { + source: "iana" + }, + "audio/red": { + source: "iana" + }, + "audio/rtp-enc-aescm128": { + source: "iana" + }, + "audio/rtp-midi": { + source: "iana" + }, + "audio/rtploopback": { + source: "iana" + }, + "audio/rtx": { + source: "iana" + }, + "audio/s3m": { + source: "apache", + extensions: ["s3m"] + }, + "audio/scip": { + source: "iana" + }, + "audio/silk": { + source: "apache", + extensions: ["sil"] + }, + "audio/smv": { + source: "iana" + }, + "audio/smv-qcp": { + source: "iana" + }, + "audio/smv0": { + source: "iana" + }, + "audio/sofa": { + source: "iana" + }, + "audio/sp-midi": { + source: "iana" + }, + "audio/speex": { + source: "iana" + }, + "audio/t140c": { + source: "iana" + }, + "audio/t38": { + source: "iana" + }, + "audio/telephone-event": { + source: "iana" + }, + "audio/tetra_acelp": { + source: "iana" + }, + "audio/tetra_acelp_bb": { + source: "iana" + }, + "audio/tone": { + source: "iana" + }, + "audio/tsvcis": { + source: "iana" + }, + "audio/uemclip": { + source: "iana" + }, + "audio/ulpfec": { + source: "iana" + }, + "audio/usac": { + source: "iana" + }, + "audio/vdvi": { + source: "iana" + }, + "audio/vmr-wb": { + source: "iana" + }, + "audio/vnd.3gpp.iufp": { + source: "iana" + }, + "audio/vnd.4sb": { + source: "iana" + }, + "audio/vnd.audiokoz": { + source: "iana" + }, + "audio/vnd.celp": { + source: "iana" + }, + "audio/vnd.cisco.nse": { + source: "iana" + }, + "audio/vnd.cmles.radio-events": { + source: "iana" + }, + "audio/vnd.cns.anp1": { + source: "iana" + }, + "audio/vnd.cns.inf1": { + source: "iana" + }, + "audio/vnd.dece.audio": { + source: "iana", + extensions: ["uva", "uvva"] + }, + "audio/vnd.digital-winds": { + source: "iana", + extensions: ["eol"] + }, + "audio/vnd.dlna.adts": { + source: "iana" + }, + "audio/vnd.dolby.heaac.1": { + source: "iana" + }, + "audio/vnd.dolby.heaac.2": { + source: "iana" + }, + "audio/vnd.dolby.mlp": { + source: "iana" + }, + "audio/vnd.dolby.mps": { + source: "iana" + }, + "audio/vnd.dolby.pl2": { + source: "iana" + }, + "audio/vnd.dolby.pl2x": { + source: "iana" + }, + "audio/vnd.dolby.pl2z": { + source: "iana" + }, + "audio/vnd.dolby.pulse.1": { + source: "iana" + }, + "audio/vnd.dra": { + source: "iana", + extensions: ["dra"] + }, + "audio/vnd.dts": { + source: "iana", + extensions: ["dts"] + }, + "audio/vnd.dts.hd": { + source: "iana", + extensions: ["dtshd"] + }, + "audio/vnd.dts.uhd": { + source: "iana" + }, + "audio/vnd.dvb.file": { + source: "iana" + }, + "audio/vnd.everad.plj": { + source: "iana" + }, + "audio/vnd.hns.audio": { + source: "iana" + }, + "audio/vnd.lucent.voice": { + source: "iana", + extensions: ["lvp"] + }, + "audio/vnd.ms-playready.media.pya": { + source: "iana", + extensions: ["pya"] + }, + "audio/vnd.nokia.mobile-xmf": { + source: "iana" + }, + "audio/vnd.nortel.vbk": { + source: "iana" + }, + "audio/vnd.nuera.ecelp4800": { + source: "iana", + extensions: ["ecelp4800"] + }, + "audio/vnd.nuera.ecelp7470": { + source: "iana", + extensions: ["ecelp7470"] + }, + "audio/vnd.nuera.ecelp9600": { + source: "iana", + extensions: ["ecelp9600"] + }, + "audio/vnd.octel.sbc": { + source: "iana" + }, + "audio/vnd.presonus.multitrack": { + source: "iana" + }, + "audio/vnd.qcelp": { + source: "apache" + }, + "audio/vnd.rhetorex.32kadpcm": { + source: "iana" + }, + "audio/vnd.rip": { + source: "iana", + extensions: ["rip"] + }, + "audio/vnd.rn-realaudio": { + compressible: false + }, + "audio/vnd.sealedmedia.softseal.mpeg": { + source: "iana" + }, + "audio/vnd.vmx.cvsd": { + source: "iana" + }, + "audio/vnd.wave": { + compressible: false + }, + "audio/vorbis": { + source: "iana", + compressible: false + }, + "audio/vorbis-config": { + source: "iana" + }, + "audio/wav": { + compressible: false, + extensions: ["wav"] + }, + "audio/wave": { + compressible: false, + extensions: ["wav"] + }, + "audio/webm": { + source: "apache", + compressible: false, + extensions: ["weba"] + }, + "audio/x-aac": { + source: "apache", + compressible: false, + extensions: ["aac"] + }, + "audio/x-aiff": { + source: "apache", + extensions: ["aif", "aiff", "aifc"] + }, + "audio/x-caf": { + source: "apache", + compressible: false, + extensions: ["caf"] + }, + "audio/x-flac": { + source: "apache", + extensions: ["flac"] + }, + "audio/x-m4a": { + source: "nginx", + extensions: ["m4a"] + }, + "audio/x-matroska": { + source: "apache", + extensions: ["mka"] + }, + "audio/x-mpegurl": { + source: "apache", + extensions: ["m3u"] + }, + "audio/x-ms-wax": { + source: "apache", + extensions: ["wax"] + }, + "audio/x-ms-wma": { + source: "apache", + extensions: ["wma"] + }, + "audio/x-pn-realaudio": { + source: "apache", + extensions: ["ram", "ra"] + }, + "audio/x-pn-realaudio-plugin": { + source: "apache", + extensions: ["rmp"] + }, + "audio/x-realaudio": { + source: "nginx", + extensions: ["ra"] + }, + "audio/x-tta": { + source: "apache" + }, + "audio/x-wav": { + source: "apache", + extensions: ["wav"] + }, + "audio/xm": { + source: "apache", + extensions: ["xm"] + }, + "chemical/x-cdx": { + source: "apache", + extensions: ["cdx"] + }, + "chemical/x-cif": { + source: "apache", + extensions: ["cif"] + }, + "chemical/x-cmdf": { + source: "apache", + extensions: ["cmdf"] + }, + "chemical/x-cml": { + source: "apache", + extensions: ["cml"] + }, + "chemical/x-csml": { + source: "apache", + extensions: ["csml"] + }, + "chemical/x-pdb": { + source: "apache" + }, + "chemical/x-xyz": { + source: "apache", + extensions: ["xyz"] + }, + "font/collection": { + source: "iana", + extensions: ["ttc"] + }, + "font/otf": { + source: "iana", + compressible: true, + extensions: ["otf"] + }, + "font/sfnt": { + source: "iana" + }, + "font/ttf": { + source: "iana", + compressible: true, + extensions: ["ttf"] + }, + "font/woff": { + source: "iana", + extensions: ["woff"] + }, + "font/woff2": { + source: "iana", + extensions: ["woff2"] + }, + "image/aces": { + source: "iana", + extensions: ["exr"] + }, + "image/apng": { + source: "iana", + compressible: false, + extensions: ["apng"] + }, + "image/avci": { + source: "iana", + extensions: ["avci"] + }, + "image/avcs": { + source: "iana", + extensions: ["avcs"] + }, + "image/avif": { + source: "iana", + compressible: false, + extensions: ["avif"] + }, + "image/bmp": { + source: "iana", + compressible: true, + extensions: ["bmp", "dib"] + }, + "image/cgm": { + source: "iana", + extensions: ["cgm"] + }, + "image/dicom-rle": { + source: "iana", + extensions: ["drle"] + }, + "image/dpx": { + source: "iana", + extensions: ["dpx"] + }, + "image/emf": { + source: "iana", + extensions: ["emf"] + }, + "image/fits": { + source: "iana", + extensions: ["fits"] + }, + "image/g3fax": { + source: "iana", + extensions: ["g3"] + }, + "image/gif": { + source: "iana", + compressible: false, + extensions: ["gif"] + }, + "image/heic": { + source: "iana", + extensions: ["heic"] + }, + "image/heic-sequence": { + source: "iana", + extensions: ["heics"] + }, + "image/heif": { + source: "iana", + extensions: ["heif"] + }, + "image/heif-sequence": { + source: "iana", + extensions: ["heifs"] + }, + "image/hej2k": { + source: "iana", + extensions: ["hej2"] + }, + "image/ief": { + source: "iana", + extensions: ["ief"] + }, + "image/j2c": { + source: "iana" + }, + "image/jaii": { + source: "iana", + extensions: ["jaii"] + }, + "image/jais": { + source: "iana", + extensions: ["jais"] + }, + "image/jls": { + source: "iana", + extensions: ["jls"] + }, + "image/jp2": { + source: "iana", + compressible: false, + extensions: ["jp2", "jpg2"] + }, + "image/jpeg": { + source: "iana", + compressible: false, + extensions: ["jpg", "jpeg", "jpe"] + }, + "image/jph": { + source: "iana", + extensions: ["jph"] + }, + "image/jphc": { + source: "iana", + extensions: ["jhc"] + }, + "image/jpm": { + source: "iana", + compressible: false, + extensions: ["jpm", "jpgm"] + }, + "image/jpx": { + source: "iana", + compressible: false, + extensions: ["jpx", "jpf"] + }, + "image/jxl": { + source: "iana", + extensions: ["jxl"] + }, + "image/jxr": { + source: "iana", + extensions: ["jxr"] + }, + "image/jxra": { + source: "iana", + extensions: ["jxra"] + }, + "image/jxrs": { + source: "iana", + extensions: ["jxrs"] + }, + "image/jxs": { + source: "iana", + extensions: ["jxs"] + }, + "image/jxsc": { + source: "iana", + extensions: ["jxsc"] + }, + "image/jxsi": { + source: "iana", + extensions: ["jxsi"] + }, + "image/jxss": { + source: "iana", + extensions: ["jxss"] + }, + "image/ktx": { + source: "iana", + extensions: ["ktx"] + }, + "image/ktx2": { + source: "iana", + extensions: ["ktx2"] + }, + "image/naplps": { + source: "iana" + }, + "image/pjpeg": { + compressible: false, + extensions: ["jfif"] + }, + "image/png": { + source: "iana", + compressible: false, + extensions: ["png"] + }, + "image/prs.btif": { + source: "iana", + extensions: ["btif", "btf"] + }, + "image/prs.pti": { + source: "iana", + extensions: ["pti"] + }, + "image/pwg-raster": { + source: "iana" + }, + "image/sgi": { + source: "apache", + extensions: ["sgi"] + }, + "image/svg+xml": { + source: "iana", + compressible: true, + extensions: ["svg", "svgz"] + }, + "image/t38": { + source: "iana", + extensions: ["t38"] + }, + "image/tiff": { + source: "iana", + compressible: false, + extensions: ["tif", "tiff"] + }, + "image/tiff-fx": { + source: "iana", + extensions: ["tfx"] + }, + "image/vnd.adobe.photoshop": { + source: "iana", + compressible: true, + extensions: ["psd"] + }, + "image/vnd.airzip.accelerator.azv": { + source: "iana", + extensions: ["azv"] + }, + "image/vnd.clip": { + source: "iana" + }, + "image/vnd.cns.inf2": { + source: "iana" + }, + "image/vnd.dece.graphic": { + source: "iana", + extensions: ["uvi", "uvvi", "uvg", "uvvg"] + }, + "image/vnd.djvu": { + source: "iana", + extensions: ["djvu", "djv"] + }, + "image/vnd.dvb.subtitle": { + source: "iana", + extensions: ["sub"] + }, + "image/vnd.dwg": { + source: "iana", + extensions: ["dwg"] + }, + "image/vnd.dxf": { + source: "iana", + extensions: ["dxf"] + }, + "image/vnd.fastbidsheet": { + source: "iana", + extensions: ["fbs"] + }, + "image/vnd.fpx": { + source: "iana", + extensions: ["fpx"] + }, + "image/vnd.fst": { + source: "iana", + extensions: ["fst"] + }, + "image/vnd.fujixerox.edmics-mmr": { + source: "iana", + extensions: ["mmr"] + }, + "image/vnd.fujixerox.edmics-rlc": { + source: "iana", + extensions: ["rlc"] + }, + "image/vnd.globalgraphics.pgb": { + source: "iana" + }, + "image/vnd.microsoft.icon": { + source: "iana", + compressible: true, + extensions: ["ico"] + }, + "image/vnd.mix": { + source: "iana" + }, + "image/vnd.mozilla.apng": { + source: "iana" + }, + "image/vnd.ms-dds": { + compressible: true, + extensions: ["dds"] + }, + "image/vnd.ms-modi": { + source: "iana", + extensions: ["mdi"] + }, + "image/vnd.ms-photo": { + source: "apache", + extensions: ["wdp"] + }, + "image/vnd.net-fpx": { + source: "iana", + extensions: ["npx"] + }, + "image/vnd.pco.b16": { + source: "iana", + extensions: ["b16"] + }, + "image/vnd.radiance": { + source: "iana" + }, + "image/vnd.sealed.png": { + source: "iana" + }, + "image/vnd.sealedmedia.softseal.gif": { + source: "iana" + }, + "image/vnd.sealedmedia.softseal.jpg": { + source: "iana" + }, + "image/vnd.svf": { + source: "iana" + }, + "image/vnd.tencent.tap": { + source: "iana", + extensions: ["tap"] + }, + "image/vnd.valve.source.texture": { + source: "iana", + extensions: ["vtf"] + }, + "image/vnd.wap.wbmp": { + source: "iana", + extensions: ["wbmp"] + }, + "image/vnd.xiff": { + source: "iana", + extensions: ["xif"] + }, + "image/vnd.zbrush.pcx": { + source: "iana", + extensions: ["pcx"] + }, + "image/webp": { + source: "iana", + extensions: ["webp"] + }, + "image/wmf": { + source: "iana", + extensions: ["wmf"] + }, + "image/x-3ds": { + source: "apache", + extensions: ["3ds"] + }, + "image/x-adobe-dng": { + extensions: ["dng"] + }, + "image/x-cmu-raster": { + source: "apache", + extensions: ["ras"] + }, + "image/x-cmx": { + source: "apache", + extensions: ["cmx"] + }, + "image/x-emf": { + source: "iana" + }, + "image/x-freehand": { + source: "apache", + extensions: ["fh", "fhc", "fh4", "fh5", "fh7"] + }, + "image/x-icon": { + source: "apache", + compressible: true, + extensions: ["ico"] + }, + "image/x-jng": { + source: "nginx", + extensions: ["jng"] + }, + "image/x-mrsid-image": { + source: "apache", + extensions: ["sid"] + }, + "image/x-ms-bmp": { + source: "nginx", + compressible: true, + extensions: ["bmp"] + }, + "image/x-pcx": { + source: "apache", + extensions: ["pcx"] + }, + "image/x-pict": { + source: "apache", + extensions: ["pic", "pct"] + }, + "image/x-portable-anymap": { + source: "apache", + extensions: ["pnm"] + }, + "image/x-portable-bitmap": { + source: "apache", + extensions: ["pbm"] + }, + "image/x-portable-graymap": { + source: "apache", + extensions: ["pgm"] + }, + "image/x-portable-pixmap": { + source: "apache", + extensions: ["ppm"] + }, + "image/x-rgb": { + source: "apache", + extensions: ["rgb"] + }, + "image/x-tga": { + source: "apache", + extensions: ["tga"] + }, + "image/x-wmf": { + source: "iana" + }, + "image/x-xbitmap": { + source: "apache", + extensions: ["xbm"] + }, + "image/x-xcf": { + compressible: false + }, + "image/x-xpixmap": { + source: "apache", + extensions: ["xpm"] + }, + "image/x-xwindowdump": { + source: "apache", + extensions: ["xwd"] + }, + "message/bhttp": { + source: "iana" + }, + "message/cpim": { + source: "iana" + }, + "message/delivery-status": { + source: "iana" + }, + "message/disposition-notification": { + source: "iana", + extensions: [ + "disposition-notification" + ] + }, + "message/external-body": { + source: "iana" + }, + "message/feedback-report": { + source: "iana" + }, + "message/global": { + source: "iana", + extensions: ["u8msg"] + }, + "message/global-delivery-status": { + source: "iana", + extensions: ["u8dsn"] + }, + "message/global-disposition-notification": { + source: "iana", + extensions: ["u8mdn"] + }, + "message/global-headers": { + source: "iana", + extensions: ["u8hdr"] + }, + "message/http": { + source: "iana", + compressible: false + }, + "message/imdn+xml": { + source: "iana", + compressible: true + }, + "message/mls": { + source: "iana" + }, + "message/news": { + source: "apache" + }, + "message/ohttp-req": { + source: "iana" + }, + "message/ohttp-res": { + source: "iana" + }, + "message/partial": { + source: "iana", + compressible: false + }, + "message/rfc822": { + source: "iana", + compressible: true, + extensions: ["eml", "mime", "mht", "mhtml"] + }, + "message/s-http": { + source: "apache" + }, + "message/sip": { + source: "iana" + }, + "message/sipfrag": { + source: "iana" + }, + "message/tracking-status": { + source: "iana" + }, + "message/vnd.si.simp": { + source: "apache" + }, + "message/vnd.wfa.wsc": { + source: "iana", + extensions: ["wsc"] + }, + "model/3mf": { + source: "iana", + extensions: ["3mf"] + }, + "model/e57": { + source: "iana" + }, + "model/gltf+json": { + source: "iana", + compressible: true, + extensions: ["gltf"] + }, + "model/gltf-binary": { + source: "iana", + compressible: true, + extensions: ["glb"] + }, + "model/iges": { + source: "iana", + compressible: false, + extensions: ["igs", "iges"] + }, + "model/jt": { + source: "iana", + extensions: ["jt"] + }, + "model/mesh": { + source: "iana", + compressible: false, + extensions: ["msh", "mesh", "silo"] + }, + "model/mtl": { + source: "iana", + extensions: ["mtl"] + }, + "model/obj": { + source: "iana", + extensions: ["obj"] + }, + "model/prc": { + source: "iana", + extensions: ["prc"] + }, + "model/step": { + source: "iana", + extensions: ["step", "stp", "stpnc", "p21", "210"] + }, + "model/step+xml": { + source: "iana", + compressible: true, + extensions: ["stpx"] + }, + "model/step+zip": { + source: "iana", + compressible: false, + extensions: ["stpz"] + }, + "model/step-xml+zip": { + source: "iana", + compressible: false, + extensions: ["stpxz"] + }, + "model/stl": { + source: "iana", + extensions: ["stl"] + }, + "model/u3d": { + source: "iana", + extensions: ["u3d"] + }, + "model/vnd.bary": { + source: "iana", + extensions: ["bary"] + }, + "model/vnd.cld": { + source: "iana", + extensions: ["cld"] + }, + "model/vnd.collada+xml": { + source: "iana", + compressible: true, + extensions: ["dae"] + }, + "model/vnd.dwf": { + source: "iana", + extensions: ["dwf"] + }, + "model/vnd.flatland.3dml": { + source: "iana" + }, + "model/vnd.gdl": { + source: "iana", + extensions: ["gdl"] + }, + "model/vnd.gs-gdl": { + source: "apache" + }, + "model/vnd.gs.gdl": { + source: "iana" + }, + "model/vnd.gtw": { + source: "iana", + extensions: ["gtw"] + }, + "model/vnd.moml+xml": { + source: "iana", + compressible: true + }, + "model/vnd.mts": { + source: "iana", + extensions: ["mts"] + }, + "model/vnd.opengex": { + source: "iana", + extensions: ["ogex"] + }, + "model/vnd.parasolid.transmit.binary": { + source: "iana", + extensions: ["x_b"] + }, + "model/vnd.parasolid.transmit.text": { + source: "iana", + extensions: ["x_t"] + }, + "model/vnd.pytha.pyox": { + source: "iana", + extensions: ["pyo", "pyox"] + }, + "model/vnd.rosette.annotated-data-model": { + source: "iana" + }, + "model/vnd.sap.vds": { + source: "iana", + extensions: ["vds"] + }, + "model/vnd.usda": { + source: "iana", + extensions: ["usda"] + }, + "model/vnd.usdz+zip": { + source: "iana", + compressible: false, + extensions: ["usdz"] + }, + "model/vnd.valve.source.compiled-map": { + source: "iana", + extensions: ["bsp"] + }, + "model/vnd.vtu": { + source: "iana", + extensions: ["vtu"] + }, + "model/vrml": { + source: "iana", + compressible: false, + extensions: ["wrl", "vrml"] + }, + "model/x3d+binary": { + source: "apache", + compressible: false, + extensions: ["x3db", "x3dbz"] + }, + "model/x3d+fastinfoset": { + source: "iana", + extensions: ["x3db"] + }, + "model/x3d+vrml": { + source: "apache", + compressible: false, + extensions: ["x3dv", "x3dvz"] + }, + "model/x3d+xml": { + source: "iana", + compressible: true, + extensions: ["x3d", "x3dz"] + }, + "model/x3d-vrml": { + source: "iana", + extensions: ["x3dv"] + }, + "multipart/alternative": { + source: "iana", + compressible: false + }, + "multipart/appledouble": { + source: "iana" + }, + "multipart/byteranges": { + source: "iana" + }, + "multipart/digest": { + source: "iana" + }, + "multipart/encrypted": { + source: "iana", + compressible: false + }, + "multipart/form-data": { + source: "iana", + compressible: false + }, + "multipart/header-set": { + source: "iana" + }, + "multipart/mixed": { + source: "iana" + }, + "multipart/multilingual": { + source: "iana" + }, + "multipart/parallel": { + source: "iana" + }, + "multipart/related": { + source: "iana", + compressible: false + }, + "multipart/report": { + source: "iana" + }, + "multipart/signed": { + source: "iana", + compressible: false + }, + "multipart/vnd.bint.med-plus": { + source: "iana" + }, + "multipart/voice-message": { + source: "iana" + }, + "multipart/x-mixed-replace": { + source: "iana" + }, + "text/1d-interleaved-parityfec": { + source: "iana" + }, + "text/cache-manifest": { + source: "iana", + compressible: true, + extensions: ["appcache", "manifest"] + }, + "text/calendar": { + source: "iana", + extensions: ["ics", "ifb"] + }, + "text/calender": { + compressible: true + }, + "text/cmd": { + compressible: true + }, + "text/coffeescript": { + extensions: ["coffee", "litcoffee"] + }, + "text/cql": { + source: "iana" + }, + "text/cql-expression": { + source: "iana" + }, + "text/cql-identifier": { + source: "iana" + }, + "text/css": { + source: "iana", + charset: "UTF-8", + compressible: true, + extensions: ["css"] + }, + "text/csv": { + source: "iana", + compressible: true, + extensions: ["csv"] + }, + "text/csv-schema": { + source: "iana" + }, + "text/directory": { + source: "iana" + }, + "text/dns": { + source: "iana" + }, + "text/ecmascript": { + source: "apache" + }, + "text/encaprtp": { + source: "iana" + }, + "text/enriched": { + source: "iana" + }, + "text/fhirpath": { + source: "iana" + }, + "text/flexfec": { + source: "iana" + }, + "text/fwdred": { + source: "iana" + }, + "text/gff3": { + source: "iana" + }, + "text/grammar-ref-list": { + source: "iana" + }, + "text/hl7v2": { + source: "iana" + }, + "text/html": { + source: "iana", + compressible: true, + extensions: ["html", "htm", "shtml"] + }, + "text/jade": { + extensions: ["jade"] + }, + "text/javascript": { + source: "iana", + charset: "UTF-8", + compressible: true, + extensions: ["js", "mjs"] + }, + "text/jcr-cnd": { + source: "iana" + }, + "text/jsx": { + compressible: true, + extensions: ["jsx"] + }, + "text/less": { + compressible: true, + extensions: ["less"] + }, + "text/markdown": { + source: "iana", + compressible: true, + extensions: ["md", "markdown"] + }, + "text/mathml": { + source: "nginx", + extensions: ["mml"] + }, + "text/mdx": { + compressible: true, + extensions: ["mdx"] + }, + "text/mizar": { + source: "iana" + }, + "text/n3": { + source: "iana", + charset: "UTF-8", + compressible: true, + extensions: ["n3"] + }, + "text/parameters": { + source: "iana", + charset: "UTF-8" + }, + "text/parityfec": { + source: "iana" + }, + "text/plain": { + source: "iana", + compressible: true, + extensions: ["txt", "text", "conf", "def", "list", "log", "in", "ini"] + }, + "text/provenance-notation": { + source: "iana", + charset: "UTF-8" + }, + "text/prs.fallenstein.rst": { + source: "iana" + }, + "text/prs.lines.tag": { + source: "iana", + extensions: ["dsc"] + }, + "text/prs.prop.logic": { + source: "iana" + }, + "text/prs.texi": { + source: "iana" + }, + "text/raptorfec": { + source: "iana" + }, + "text/red": { + source: "iana" + }, + "text/rfc822-headers": { + source: "iana" + }, + "text/richtext": { + source: "iana", + compressible: true, + extensions: ["rtx"] + }, + "text/rtf": { + source: "iana", + compressible: true, + extensions: ["rtf"] + }, + "text/rtp-enc-aescm128": { + source: "iana" + }, + "text/rtploopback": { + source: "iana" + }, + "text/rtx": { + source: "iana" + }, + "text/sgml": { + source: "iana", + extensions: ["sgml", "sgm"] + }, + "text/shaclc": { + source: "iana" + }, + "text/shex": { + source: "iana", + extensions: ["shex"] + }, + "text/slim": { + extensions: ["slim", "slm"] + }, + "text/spdx": { + source: "iana", + extensions: ["spdx"] + }, + "text/strings": { + source: "iana" + }, + "text/stylus": { + extensions: ["stylus", "styl"] + }, + "text/t140": { + source: "iana" + }, + "text/tab-separated-values": { + source: "iana", + compressible: true, + extensions: ["tsv"] + }, + "text/troff": { + source: "iana", + extensions: ["t", "tr", "roff", "man", "me", "ms"] + }, + "text/turtle": { + source: "iana", + charset: "UTF-8", + extensions: ["ttl"] + }, + "text/ulpfec": { + source: "iana" + }, + "text/uri-list": { + source: "iana", + compressible: true, + extensions: ["uri", "uris", "urls"] + }, + "text/vcard": { + source: "iana", + compressible: true, + extensions: ["vcard"] + }, + "text/vnd.a": { + source: "iana" + }, + "text/vnd.abc": { + source: "iana" + }, + "text/vnd.ascii-art": { + source: "iana" + }, + "text/vnd.curl": { + source: "iana", + extensions: ["curl"] + }, + "text/vnd.curl.dcurl": { + source: "apache", + extensions: ["dcurl"] + }, + "text/vnd.curl.mcurl": { + source: "apache", + extensions: ["mcurl"] + }, + "text/vnd.curl.scurl": { + source: "apache", + extensions: ["scurl"] + }, + "text/vnd.debian.copyright": { + source: "iana", + charset: "UTF-8" + }, + "text/vnd.dmclientscript": { + source: "iana" + }, + "text/vnd.dvb.subtitle": { + source: "iana", + extensions: ["sub"] + }, + "text/vnd.esmertec.theme-descriptor": { + source: "iana", + charset: "UTF-8" + }, + "text/vnd.exchangeable": { + source: "iana" + }, + "text/vnd.familysearch.gedcom": { + source: "iana", + extensions: ["ged"] + }, + "text/vnd.ficlab.flt": { + source: "iana" + }, + "text/vnd.fly": { + source: "iana", + extensions: ["fly"] + }, + "text/vnd.fmi.flexstor": { + source: "iana", + extensions: ["flx"] + }, + "text/vnd.gml": { + source: "iana" + }, + "text/vnd.graphviz": { + source: "iana", + extensions: ["gv"] + }, + "text/vnd.hans": { + source: "iana" + }, + "text/vnd.hgl": { + source: "iana" + }, + "text/vnd.in3d.3dml": { + source: "iana", + extensions: ["3dml"] + }, + "text/vnd.in3d.spot": { + source: "iana", + extensions: ["spot"] + }, + "text/vnd.iptc.newsml": { + source: "iana" + }, + "text/vnd.iptc.nitf": { + source: "iana" + }, + "text/vnd.latex-z": { + source: "iana" + }, + "text/vnd.motorola.reflex": { + source: "iana" + }, + "text/vnd.ms-mediapackage": { + source: "iana" + }, + "text/vnd.net2phone.commcenter.command": { + source: "iana" + }, + "text/vnd.radisys.msml-basic-layout": { + source: "iana" + }, + "text/vnd.senx.warpscript": { + source: "iana" + }, + "text/vnd.si.uricatalogue": { + source: "apache" + }, + "text/vnd.sosi": { + source: "iana" + }, + "text/vnd.sun.j2me.app-descriptor": { + source: "iana", + charset: "UTF-8", + extensions: ["jad"] + }, + "text/vnd.trolltech.linguist": { + source: "iana", + charset: "UTF-8" + }, + "text/vnd.vcf": { + source: "iana" + }, + "text/vnd.wap.si": { + source: "iana" + }, + "text/vnd.wap.sl": { + source: "iana" + }, + "text/vnd.wap.wml": { + source: "iana", + extensions: ["wml"] + }, + "text/vnd.wap.wmlscript": { + source: "iana", + extensions: ["wmls"] + }, + "text/vnd.zoo.kcl": { + source: "iana" + }, + "text/vtt": { + source: "iana", + charset: "UTF-8", + compressible: true, + extensions: ["vtt"] + }, + "text/wgsl": { + source: "iana", + extensions: ["wgsl"] + }, + "text/x-asm": { + source: "apache", + extensions: ["s", "asm"] + }, + "text/x-c": { + source: "apache", + extensions: ["c", "cc", "cxx", "cpp", "h", "hh", "dic"] + }, + "text/x-component": { + source: "nginx", + extensions: ["htc"] + }, + "text/x-fortran": { + source: "apache", + extensions: ["f", "for", "f77", "f90"] + }, + "text/x-gwt-rpc": { + compressible: true + }, + "text/x-handlebars-template": { + extensions: ["hbs"] + }, + "text/x-java-source": { + source: "apache", + extensions: ["java"] + }, + "text/x-jquery-tmpl": { + compressible: true + }, + "text/x-lua": { + extensions: ["lua"] + }, + "text/x-markdown": { + compressible: true, + extensions: ["mkd"] + }, + "text/x-nfo": { + source: "apache", + extensions: ["nfo"] + }, + "text/x-opml": { + source: "apache", + extensions: ["opml"] + }, + "text/x-org": { + compressible: true, + extensions: ["org"] + }, + "text/x-pascal": { + source: "apache", + extensions: ["p", "pas"] + }, + "text/x-processing": { + compressible: true, + extensions: ["pde"] + }, + "text/x-sass": { + extensions: ["sass"] + }, + "text/x-scss": { + extensions: ["scss"] + }, + "text/x-setext": { + source: "apache", + extensions: ["etx"] + }, + "text/x-sfv": { + source: "apache", + extensions: ["sfv"] + }, + "text/x-suse-ymp": { + compressible: true, + extensions: ["ymp"] + }, + "text/x-uuencode": { + source: "apache", + extensions: ["uu"] + }, + "text/x-vcalendar": { + source: "apache", + extensions: ["vcs"] + }, + "text/x-vcard": { + source: "apache", + extensions: ["vcf"] + }, + "text/xml": { + source: "iana", + compressible: true, + extensions: ["xml"] + }, + "text/xml-external-parsed-entity": { + source: "iana" + }, + "text/yaml": { + compressible: true, + extensions: ["yaml", "yml"] + }, + "video/1d-interleaved-parityfec": { + source: "iana" + }, + "video/3gpp": { + source: "iana", + extensions: ["3gp", "3gpp"] + }, + "video/3gpp-tt": { + source: "iana" + }, + "video/3gpp2": { + source: "iana", + extensions: ["3g2"] + }, + "video/av1": { + source: "iana" + }, + "video/bmpeg": { + source: "iana" + }, + "video/bt656": { + source: "iana" + }, + "video/celb": { + source: "iana" + }, + "video/dv": { + source: "iana" + }, + "video/encaprtp": { + source: "iana" + }, + "video/evc": { + source: "iana" + }, + "video/ffv1": { + source: "iana" + }, + "video/flexfec": { + source: "iana" + }, + "video/h261": { + source: "iana", + extensions: ["h261"] + }, + "video/h263": { + source: "iana", + extensions: ["h263"] + }, + "video/h263-1998": { + source: "iana" + }, + "video/h263-2000": { + source: "iana" + }, + "video/h264": { + source: "iana", + extensions: ["h264"] + }, + "video/h264-rcdo": { + source: "iana" + }, + "video/h264-svc": { + source: "iana" + }, + "video/h265": { + source: "iana" + }, + "video/h266": { + source: "iana" + }, + "video/iso.segment": { + source: "iana", + extensions: ["m4s"] + }, + "video/jpeg": { + source: "iana", + extensions: ["jpgv"] + }, + "video/jpeg2000": { + source: "iana" + }, + "video/jpm": { + source: "apache", + extensions: ["jpm", "jpgm"] + }, + "video/jxsv": { + source: "iana" + }, + "video/lottie+json": { + source: "iana", + compressible: true + }, + "video/matroska": { + source: "iana" + }, + "video/matroska-3d": { + source: "iana" + }, + "video/mj2": { + source: "iana", + extensions: ["mj2", "mjp2"] + }, + "video/mp1s": { + source: "iana" + }, + "video/mp2p": { + source: "iana" + }, + "video/mp2t": { + source: "iana", + extensions: ["ts", "m2t", "m2ts", "mts"] + }, + "video/mp4": { + source: "iana", + compressible: false, + extensions: ["mp4", "mp4v", "mpg4"] + }, + "video/mp4v-es": { + source: "iana" + }, + "video/mpeg": { + source: "iana", + compressible: false, + extensions: ["mpeg", "mpg", "mpe", "m1v", "m2v"] + }, + "video/mpeg4-generic": { + source: "iana" + }, + "video/mpv": { + source: "iana" + }, + "video/nv": { + source: "iana" + }, + "video/ogg": { + source: "iana", + compressible: false, + extensions: ["ogv"] + }, + "video/parityfec": { + source: "iana" + }, + "video/pointer": { + source: "iana" + }, + "video/quicktime": { + source: "iana", + compressible: false, + extensions: ["qt", "mov"] + }, + "video/raptorfec": { + source: "iana" + }, + "video/raw": { + source: "iana" + }, + "video/rtp-enc-aescm128": { + source: "iana" + }, + "video/rtploopback": { + source: "iana" + }, + "video/rtx": { + source: "iana" + }, + "video/scip": { + source: "iana" + }, + "video/smpte291": { + source: "iana" + }, + "video/smpte292m": { + source: "iana" + }, + "video/ulpfec": { + source: "iana" + }, + "video/vc1": { + source: "iana" + }, + "video/vc2": { + source: "iana" + }, + "video/vnd.cctv": { + source: "iana" + }, + "video/vnd.dece.hd": { + source: "iana", + extensions: ["uvh", "uvvh"] + }, + "video/vnd.dece.mobile": { + source: "iana", + extensions: ["uvm", "uvvm"] + }, + "video/vnd.dece.mp4": { + source: "iana" + }, + "video/vnd.dece.pd": { + source: "iana", + extensions: ["uvp", "uvvp"] + }, + "video/vnd.dece.sd": { + source: "iana", + extensions: ["uvs", "uvvs"] + }, + "video/vnd.dece.video": { + source: "iana", + extensions: ["uvv", "uvvv"] + }, + "video/vnd.directv.mpeg": { + source: "iana" + }, + "video/vnd.directv.mpeg-tts": { + source: "iana" + }, + "video/vnd.dlna.mpeg-tts": { + source: "iana" + }, + "video/vnd.dvb.file": { + source: "iana", + extensions: ["dvb"] + }, + "video/vnd.fvt": { + source: "iana", + extensions: ["fvt"] + }, + "video/vnd.hns.video": { + source: "iana" + }, + "video/vnd.iptvforum.1dparityfec-1010": { + source: "iana" + }, + "video/vnd.iptvforum.1dparityfec-2005": { + source: "iana" + }, + "video/vnd.iptvforum.2dparityfec-1010": { + source: "iana" + }, + "video/vnd.iptvforum.2dparityfec-2005": { + source: "iana" + }, + "video/vnd.iptvforum.ttsavc": { + source: "iana" + }, + "video/vnd.iptvforum.ttsmpeg2": { + source: "iana" + }, + "video/vnd.motorola.video": { + source: "iana" + }, + "video/vnd.motorola.videop": { + source: "iana" + }, + "video/vnd.mpegurl": { + source: "iana", + extensions: ["mxu", "m4u"] + }, + "video/vnd.ms-playready.media.pyv": { + source: "iana", + extensions: ["pyv"] + }, + "video/vnd.nokia.interleaved-multimedia": { + source: "iana" + }, + "video/vnd.nokia.mp4vr": { + source: "iana" + }, + "video/vnd.nokia.videovoip": { + source: "iana" + }, + "video/vnd.objectvideo": { + source: "iana" + }, + "video/vnd.planar": { + source: "iana" + }, + "video/vnd.radgamettools.bink": { + source: "iana" + }, + "video/vnd.radgamettools.smacker": { + source: "apache" + }, + "video/vnd.sealed.mpeg1": { + source: "iana" + }, + "video/vnd.sealed.mpeg4": { + source: "iana" + }, + "video/vnd.sealed.swf": { + source: "iana" + }, + "video/vnd.sealedmedia.softseal.mov": { + source: "iana" + }, + "video/vnd.uvvu.mp4": { + source: "iana", + extensions: ["uvu", "uvvu"] + }, + "video/vnd.vivo": { + source: "iana", + extensions: ["viv"] + }, + "video/vnd.youtube.yt": { + source: "iana" + }, + "video/vp8": { + source: "iana" + }, + "video/vp9": { + source: "iana" + }, + "video/webm": { + source: "apache", + compressible: false, + extensions: ["webm"] + }, + "video/x-f4v": { + source: "apache", + extensions: ["f4v"] + }, + "video/x-fli": { + source: "apache", + extensions: ["fli"] + }, + "video/x-flv": { + source: "apache", + compressible: false, + extensions: ["flv"] + }, + "video/x-m4v": { + source: "apache", + extensions: ["m4v"] + }, + "video/x-matroska": { + source: "apache", + compressible: false, + extensions: ["mkv", "mk3d", "mks"] + }, + "video/x-mng": { + source: "apache", + extensions: ["mng"] + }, + "video/x-ms-asf": { + source: "apache", + extensions: ["asf", "asx"] + }, + "video/x-ms-vob": { + source: "apache", + extensions: ["vob"] + }, + "video/x-ms-wm": { + source: "apache", + extensions: ["wm"] + }, + "video/x-ms-wmv": { + source: "apache", + compressible: false, + extensions: ["wmv"] + }, + "video/x-ms-wmx": { + source: "apache", + extensions: ["wmx"] + }, + "video/x-ms-wvx": { + source: "apache", + extensions: ["wvx"] + }, + "video/x-msvideo": { + source: "apache", + extensions: ["avi"] + }, + "video/x-sgi-movie": { + source: "apache", + extensions: ["movie"] + }, + "video/x-smv": { + source: "apache", + extensions: ["smv"] + }, + "x-conference/x-cooltalk": { + source: "apache", + extensions: ["ice"] + }, + "x-shader/x-fragment": { + compressible: true + }, + "x-shader/x-vertex": { + compressible: true + } + }; + } +}); +var require_mime_db2 = __commonJS2({ + "node_modules/express/node_modules/mime-db/index.js"(exports2, module2) { + module2.exports = require_db2(); + } +}); +var require_mimeScore2 = __commonJS2({ + "node_modules/express/node_modules/mime-types/mimeScore.js"(exports2, module2) { + var FACET_SCORES = { + "prs.": 100, + "x-": 200, + "x.": 300, + "vnd.": 400, + default: 900 + }; + var SOURCE_SCORES = { + nginx: 10, + apache: 20, + iana: 40, + default: 30 + // definitions added by `jshttp/mime-db` project? + }; + var TYPE_SCORES = { + // prefer application/xml over text/xml + // prefer application/rtf over text/rtf + application: 1, + // prefer font/woff over application/font-woff + font: 2, + default: 0 + }; + module2.exports = function mimeScore(mimeType, source = "default") { + if (mimeType === "application/octet-stream") { + return 0; + } + const [type, subtype] = mimeType.split("/"); + const facet = subtype.replace(/(\.|x-).*/, "$1"); + const facetScore = FACET_SCORES[facet] || FACET_SCORES.default; + const sourceScore = SOURCE_SCORES[source] || SOURCE_SCORES.default; + const typeScore = TYPE_SCORES[type] || TYPE_SCORES.default; + const lengthScore = 1 - mimeType.length / 100; + return facetScore + sourceScore + typeScore + lengthScore; + }; + } +}); +var require_mime_types2 = __commonJS2({ + "node_modules/express/node_modules/mime-types/index.js"(exports2) { + "use strict"; + var db = require_mime_db2(); + var extname = require("path").extname; + var mimeScore = require_mimeScore2(); + var EXTRACT_TYPE_REGEXP = /^\s*([^;\s]*)(?:;|\s|$)/; + var TEXT_TYPE_REGEXP = /^text\//i; + exports2.charset = charset; + exports2.charsets = { lookup: charset }; + exports2.contentType = contentType2; + exports2.extension = extension; + exports2.extensions = /* @__PURE__ */ Object.create(null); + exports2.lookup = lookup; + exports2.types = /* @__PURE__ */ Object.create(null); + exports2._extensionConflicts = []; + populateMaps(exports2.extensions, exports2.types); + function charset(type) { + if (!type || typeof type !== "string") { + return false; + } + var match = EXTRACT_TYPE_REGEXP.exec(type); + var mime = match && db[match[1].toLowerCase()]; + if (mime && mime.charset) { + return mime.charset; + } + if (match && TEXT_TYPE_REGEXP.test(match[1])) { + return "UTF-8"; + } + return false; + } + function contentType2(str) { + if (!str || typeof str !== "string") { + return false; + } + var mime = str.indexOf("/") === -1 ? exports2.lookup(str) : str; + if (!mime) { + return false; + } + if (mime.indexOf("charset") === -1) { + var charset2 = exports2.charset(mime); + if (charset2) mime += "; charset=" + charset2.toLowerCase(); + } + return mime; + } + function extension(type) { + if (!type || typeof type !== "string") { + return false; + } + var match = EXTRACT_TYPE_REGEXP.exec(type); + var exts = match && exports2.extensions[match[1].toLowerCase()]; + if (!exts || !exts.length) { + return false; + } + return exts[0]; + } + function lookup(path) { + if (!path || typeof path !== "string") { + return false; + } + var extension2 = extname("x." + path).toLowerCase().slice(1); + if (!extension2) { + return false; + } + return exports2.types[extension2] || false; + } + function populateMaps(extensions, types) { + Object.keys(db).forEach(function forEachMimeType(type) { + var mime = db[type]; + var exts = mime.extensions; + if (!exts || !exts.length) { + return; + } + extensions[type] = exts; + for (var i = 0; i < exts.length; i++) { + var extension2 = exts[i]; + types[extension2] = _preferredType(extension2, types[extension2], type); + const legacyType = _preferredTypeLegacy( + extension2, + types[extension2], + type + ); + if (legacyType !== types[extension2]) { + exports2._extensionConflicts.push([extension2, legacyType, types[extension2]]); + } + } + }); + } + function _preferredType(ext, type0, type1) { + var score0 = type0 ? mimeScore(type0, db[type0].source) : 0; + var score1 = type1 ? mimeScore(type1, db[type1].source) : 0; + return score0 > score1 ? type0 : type1; + } + function _preferredTypeLegacy(ext, type0, type1) { + var SOURCE_RANK = ["nginx", "apache", void 0, "iana"]; + var score0 = type0 ? SOURCE_RANK.indexOf(db[type0].source) : 0; + var score1 = type1 ? SOURCE_RANK.indexOf(db[type1].source) : 0; + if (exports2.types[extension] !== "application/octet-stream" && (score0 > score1 || score0 === score1 && exports2.types[extension]?.slice(0, 12) === "application/")) { + return type0; + } + return score0 > score1 ? type0 : type1; + } + } +}); +var require_forwarded = __commonJS2({ + "node_modules/forwarded/index.js"(exports2, module2) { + "use strict"; + module2.exports = forwarded; + function forwarded(req) { + if (!req) { + throw new TypeError("argument req is required"); + } + var proxyAddrs = parse(req.headers["x-forwarded-for"] || ""); + var socketAddr = getSocketAddr(req); + var addrs = [socketAddr].concat(proxyAddrs); + return addrs; + } + function getSocketAddr(req) { + return req.socket ? req.socket.remoteAddress : req.connection.remoteAddress; + } + function parse(header) { + var end = header.length; + var list = []; + var start = header.length; + for (var i = header.length - 1; i >= 0; i--) { + switch (header.charCodeAt(i)) { + case 32: + if (start === end) { + start = end = i; + } + break; + case 44: + if (start !== end) { + list.push(header.substring(start, end)); + } + start = end = i; + break; + default: + start = i; + break; + } + } + if (start !== end) { + list.push(header.substring(start, end)); + } + return list; + } + } +}); +var require_ipaddr = __commonJS2({ + "node_modules/ipaddr.js/lib/ipaddr.js"(exports2, module2) { + (function() { + var expandIPv6, ipaddr, ipv4Part, ipv4Regexes, ipv6Part, ipv6Regexes, matchCIDR, root, zoneIndex; + ipaddr = {}; + root = this; + if (typeof module2 !== "undefined" && module2 !== null && module2.exports) { + module2.exports = ipaddr; + } else { + root["ipaddr"] = ipaddr; + } + matchCIDR = function(first, second, partSize, cidrBits) { + var part, shift; + if (first.length !== second.length) { + throw new Error("ipaddr: cannot match CIDR for objects with different lengths"); + } + part = 0; + while (cidrBits > 0) { + shift = partSize - cidrBits; + if (shift < 0) { + shift = 0; + } + if (first[part] >> shift !== second[part] >> shift) { + return false; + } + cidrBits -= partSize; + part += 1; + } + return true; + }; + ipaddr.subnetMatch = function(address, rangeList, defaultName) { + var k, len, rangeName, rangeSubnets, subnet; + if (defaultName == null) { + defaultName = "unicast"; + } + for (rangeName in rangeList) { + rangeSubnets = rangeList[rangeName]; + if (rangeSubnets[0] && !(rangeSubnets[0] instanceof Array)) { + rangeSubnets = [rangeSubnets]; + } + for (k = 0, len = rangeSubnets.length; k < len; k++) { + subnet = rangeSubnets[k]; + if (address.kind() === subnet[0].kind()) { + if (address.match.apply(address, subnet)) { + return rangeName; + } + } + } + } + return defaultName; + }; + ipaddr.IPv4 = (function() { + function IPv4(octets) { + var k, len, octet; + if (octets.length !== 4) { + throw new Error("ipaddr: ipv4 octet count should be 4"); + } + for (k = 0, len = octets.length; k < len; k++) { + octet = octets[k]; + if (!(0 <= octet && octet <= 255)) { + throw new Error("ipaddr: ipv4 octet should fit in 8 bits"); + } + } + this.octets = octets; + } + IPv4.prototype.kind = function() { + return "ipv4"; + }; + IPv4.prototype.toString = function() { + return this.octets.join("."); + }; + IPv4.prototype.toNormalizedString = function() { + return this.toString(); + }; + IPv4.prototype.toByteArray = function() { + return this.octets.slice(0); + }; + IPv4.prototype.match = function(other, cidrRange) { + var ref; + if (cidrRange === void 0) { + ref = other, other = ref[0], cidrRange = ref[1]; + } + if (other.kind() !== "ipv4") { + throw new Error("ipaddr: cannot match ipv4 address with non-ipv4 one"); + } + return matchCIDR(this.octets, other.octets, 8, cidrRange); + }; + IPv4.prototype.SpecialRanges = { + unspecified: [[new IPv4([0, 0, 0, 0]), 8]], + broadcast: [[new IPv4([255, 255, 255, 255]), 32]], + multicast: [[new IPv4([224, 0, 0, 0]), 4]], + linkLocal: [[new IPv4([169, 254, 0, 0]), 16]], + loopback: [[new IPv4([127, 0, 0, 0]), 8]], + carrierGradeNat: [[new IPv4([100, 64, 0, 0]), 10]], + "private": [[new IPv4([10, 0, 0, 0]), 8], [new IPv4([172, 16, 0, 0]), 12], [new IPv4([192, 168, 0, 0]), 16]], + reserved: [[new IPv4([192, 0, 0, 0]), 24], [new IPv4([192, 0, 2, 0]), 24], [new IPv4([192, 88, 99, 0]), 24], [new IPv4([198, 51, 100, 0]), 24], [new IPv4([203, 0, 113, 0]), 24], [new IPv4([240, 0, 0, 0]), 4]] + }; + IPv4.prototype.range = function() { + return ipaddr.subnetMatch(this, this.SpecialRanges); + }; + IPv4.prototype.toIPv4MappedAddress = function() { + return ipaddr.IPv6.parse("::ffff:" + this.toString()); + }; + IPv4.prototype.prefixLengthFromSubnetMask = function() { + var cidr, i, k, octet, stop, zeros, zerotable; + zerotable = { + 0: 8, + 128: 7, + 192: 6, + 224: 5, + 240: 4, + 248: 3, + 252: 2, + 254: 1, + 255: 0 + }; + cidr = 0; + stop = false; + for (i = k = 3; k >= 0; i = k += -1) { + octet = this.octets[i]; + if (octet in zerotable) { + zeros = zerotable[octet]; + if (stop && zeros !== 0) { + return null; + } + if (zeros !== 8) { + stop = true; + } + cidr += zeros; + } else { + return null; + } + } + return 32 - cidr; + }; + return IPv4; + })(); + ipv4Part = "(0?\\d+|0x[a-f0-9]+)"; + ipv4Regexes = { + fourOctet: new RegExp("^" + ipv4Part + "\\." + ipv4Part + "\\." + ipv4Part + "\\." + ipv4Part + "$", "i"), + longValue: new RegExp("^" + ipv4Part + "$", "i") + }; + ipaddr.IPv4.parser = function(string) { + var match, parseIntAuto, part, shift, value; + parseIntAuto = function(string2) { + if (string2[0] === "0" && string2[1] !== "x") { + return parseInt(string2, 8); + } else { + return parseInt(string2); + } + }; + if (match = string.match(ipv4Regexes.fourOctet)) { + return (function() { + var k, len, ref, results; + ref = match.slice(1, 6); + results = []; + for (k = 0, len = ref.length; k < len; k++) { + part = ref[k]; + results.push(parseIntAuto(part)); + } + return results; + })(); + } else if (match = string.match(ipv4Regexes.longValue)) { + value = parseIntAuto(match[1]); + if (value > 4294967295 || value < 0) { + throw new Error("ipaddr: address outside defined range"); + } + return (function() { + var k, results; + results = []; + for (shift = k = 0; k <= 24; shift = k += 8) { + results.push(value >> shift & 255); + } + return results; + })().reverse(); + } else { + return null; + } + }; + ipaddr.IPv6 = (function() { + function IPv6(parts, zoneId) { + var i, k, l, len, part, ref; + if (parts.length === 16) { + this.parts = []; + for (i = k = 0; k <= 14; i = k += 2) { + this.parts.push(parts[i] << 8 | parts[i + 1]); + } + } else if (parts.length === 8) { + this.parts = parts; + } else { + throw new Error("ipaddr: ipv6 part count should be 8 or 16"); + } + ref = this.parts; + for (l = 0, len = ref.length; l < len; l++) { + part = ref[l]; + if (!(0 <= part && part <= 65535)) { + throw new Error("ipaddr: ipv6 part should fit in 16 bits"); + } + } + if (zoneId) { + this.zoneId = zoneId; + } + } + IPv6.prototype.kind = function() { + return "ipv6"; + }; + IPv6.prototype.toString = function() { + return this.toNormalizedString().replace(/((^|:)(0(:|$))+)/, "::"); + }; + IPv6.prototype.toRFC5952String = function() { + var bestMatchIndex, bestMatchLength, match, regex, string; + regex = /((^|:)(0(:|$)){2,})/g; + string = this.toNormalizedString(); + bestMatchIndex = 0; + bestMatchLength = -1; + while (match = regex.exec(string)) { + if (match[0].length > bestMatchLength) { + bestMatchIndex = match.index; + bestMatchLength = match[0].length; + } + } + if (bestMatchLength < 0) { + return string; + } + return string.substring(0, bestMatchIndex) + "::" + string.substring(bestMatchIndex + bestMatchLength); + }; + IPv6.prototype.toByteArray = function() { + var bytes, k, len, part, ref; + bytes = []; + ref = this.parts; + for (k = 0, len = ref.length; k < len; k++) { + part = ref[k]; + bytes.push(part >> 8); + bytes.push(part & 255); + } + return bytes; + }; + IPv6.prototype.toNormalizedString = function() { + var addr, part, suffix; + addr = function() { + var k, len, ref, results; + ref = this.parts; + results = []; + for (k = 0, len = ref.length; k < len; k++) { + part = ref[k]; + results.push(part.toString(16)); + } + return results; + }.call(this).join(":"); + suffix = ""; + if (this.zoneId) { + suffix = "%" + this.zoneId; + } + return addr + suffix; + }; + IPv6.prototype.toFixedLengthString = function() { + var addr, part, suffix; + addr = function() { + var k, len, ref, results; + ref = this.parts; + results = []; + for (k = 0, len = ref.length; k < len; k++) { + part = ref[k]; + results.push(part.toString(16).padStart(4, "0")); + } + return results; + }.call(this).join(":"); + suffix = ""; + if (this.zoneId) { + suffix = "%" + this.zoneId; + } + return addr + suffix; + }; + IPv6.prototype.match = function(other, cidrRange) { + var ref; + if (cidrRange === void 0) { + ref = other, other = ref[0], cidrRange = ref[1]; + } + if (other.kind() !== "ipv6") { + throw new Error("ipaddr: cannot match ipv6 address with non-ipv6 one"); + } + return matchCIDR(this.parts, other.parts, 16, cidrRange); + }; + IPv6.prototype.SpecialRanges = { + unspecified: [new IPv6([0, 0, 0, 0, 0, 0, 0, 0]), 128], + linkLocal: [new IPv6([65152, 0, 0, 0, 0, 0, 0, 0]), 10], + multicast: [new IPv6([65280, 0, 0, 0, 0, 0, 0, 0]), 8], + loopback: [new IPv6([0, 0, 0, 0, 0, 0, 0, 1]), 128], + uniqueLocal: [new IPv6([64512, 0, 0, 0, 0, 0, 0, 0]), 7], + ipv4Mapped: [new IPv6([0, 0, 0, 0, 0, 65535, 0, 0]), 96], + rfc6145: [new IPv6([0, 0, 0, 0, 65535, 0, 0, 0]), 96], + rfc6052: [new IPv6([100, 65435, 0, 0, 0, 0, 0, 0]), 96], + "6to4": [new IPv6([8194, 0, 0, 0, 0, 0, 0, 0]), 16], + teredo: [new IPv6([8193, 0, 0, 0, 0, 0, 0, 0]), 32], + reserved: [[new IPv6([8193, 3512, 0, 0, 0, 0, 0, 0]), 32]] + }; + IPv6.prototype.range = function() { + return ipaddr.subnetMatch(this, this.SpecialRanges); + }; + IPv6.prototype.isIPv4MappedAddress = function() { + return this.range() === "ipv4Mapped"; + }; + IPv6.prototype.toIPv4Address = function() { + var high, low, ref; + if (!this.isIPv4MappedAddress()) { + throw new Error("ipaddr: trying to convert a generic ipv6 address to ipv4"); + } + ref = this.parts.slice(-2), high = ref[0], low = ref[1]; + return new ipaddr.IPv4([high >> 8, high & 255, low >> 8, low & 255]); + }; + IPv6.prototype.prefixLengthFromSubnetMask = function() { + var cidr, i, k, part, stop, zeros, zerotable; + zerotable = { + 0: 16, + 32768: 15, + 49152: 14, + 57344: 13, + 61440: 12, + 63488: 11, + 64512: 10, + 65024: 9, + 65280: 8, + 65408: 7, + 65472: 6, + 65504: 5, + 65520: 4, + 65528: 3, + 65532: 2, + 65534: 1, + 65535: 0 + }; + cidr = 0; + stop = false; + for (i = k = 7; k >= 0; i = k += -1) { + part = this.parts[i]; + if (part in zerotable) { + zeros = zerotable[part]; + if (stop && zeros !== 0) { + return null; + } + if (zeros !== 16) { + stop = true; + } + cidr += zeros; + } else { + return null; + } + } + return 128 - cidr; + }; + return IPv6; + })(); + ipv6Part = "(?:[0-9a-f]+::?)+"; + zoneIndex = "%[0-9a-z]{1,}"; + ipv6Regexes = { + zoneIndex: new RegExp(zoneIndex, "i"), + "native": new RegExp("^(::)?(" + ipv6Part + ")?([0-9a-f]+)?(::)?(" + zoneIndex + ")?$", "i"), + transitional: new RegExp("^((?:" + ipv6Part + ")|(?:::)(?:" + ipv6Part + ")?)" + (ipv4Part + "\\." + ipv4Part + "\\." + ipv4Part + "\\." + ipv4Part) + ("(" + zoneIndex + ")?$"), "i") + }; + expandIPv6 = function(string, parts) { + var colonCount, lastColon, part, replacement, replacementCount, zoneId; + if (string.indexOf("::") !== string.lastIndexOf("::")) { + return null; + } + zoneId = (string.match(ipv6Regexes["zoneIndex"]) || [])[0]; + if (zoneId) { + zoneId = zoneId.substring(1); + string = string.replace(/%.+$/, ""); + } + colonCount = 0; + lastColon = -1; + while ((lastColon = string.indexOf(":", lastColon + 1)) >= 0) { + colonCount++; + } + if (string.substr(0, 2) === "::") { + colonCount--; + } + if (string.substr(-2, 2) === "::") { + colonCount--; + } + if (colonCount > parts) { + return null; + } + replacementCount = parts - colonCount; + replacement = ":"; + while (replacementCount--) { + replacement += "0:"; + } + string = string.replace("::", replacement); + if (string[0] === ":") { + string = string.slice(1); + } + if (string[string.length - 1] === ":") { + string = string.slice(0, -1); + } + parts = (function() { + var k, len, ref, results; + ref = string.split(":"); + results = []; + for (k = 0, len = ref.length; k < len; k++) { + part = ref[k]; + results.push(parseInt(part, 16)); + } + return results; + })(); + return { + parts, + zoneId + }; + }; + ipaddr.IPv6.parser = function(string) { + var addr, k, len, match, octet, octets, zoneId; + if (ipv6Regexes["native"].test(string)) { + return expandIPv6(string, 8); + } else if (match = string.match(ipv6Regexes["transitional"])) { + zoneId = match[6] || ""; + addr = expandIPv6(match[1].slice(0, -1) + zoneId, 6); + if (addr.parts) { + octets = [parseInt(match[2]), parseInt(match[3]), parseInt(match[4]), parseInt(match[5])]; + for (k = 0, len = octets.length; k < len; k++) { + octet = octets[k]; + if (!(0 <= octet && octet <= 255)) { + return null; + } + } + addr.parts.push(octets[0] << 8 | octets[1]); + addr.parts.push(octets[2] << 8 | octets[3]); + return { + parts: addr.parts, + zoneId: addr.zoneId + }; + } + } + return null; + }; + ipaddr.IPv4.isIPv4 = ipaddr.IPv6.isIPv6 = function(string) { + return this.parser(string) !== null; + }; + ipaddr.IPv4.isValid = function(string) { + var e; + try { + new this(this.parser(string)); + return true; + } catch (error1) { + e = error1; + return false; + } + }; + ipaddr.IPv4.isValidFourPartDecimal = function(string) { + if (ipaddr.IPv4.isValid(string) && string.match(/^(0|[1-9]\d*)(\.(0|[1-9]\d*)){3}$/)) { + return true; + } else { + return false; + } + }; + ipaddr.IPv6.isValid = function(string) { + var addr, e; + if (typeof string === "string" && string.indexOf(":") === -1) { + return false; + } + try { + addr = this.parser(string); + new this(addr.parts, addr.zoneId); + return true; + } catch (error1) { + e = error1; + return false; + } + }; + ipaddr.IPv4.parse = function(string) { + var parts; + parts = this.parser(string); + if (parts === null) { + throw new Error("ipaddr: string is not formatted like ip address"); + } + return new this(parts); + }; + ipaddr.IPv6.parse = function(string) { + var addr; + addr = this.parser(string); + if (addr.parts === null) { + throw new Error("ipaddr: string is not formatted like ip address"); + } + return new this(addr.parts, addr.zoneId); + }; + ipaddr.IPv4.parseCIDR = function(string) { + var maskLength, match, parsed; + if (match = string.match(/^(.+)\/(\d+)$/)) { + maskLength = parseInt(match[2]); + if (maskLength >= 0 && maskLength <= 32) { + parsed = [this.parse(match[1]), maskLength]; + Object.defineProperty(parsed, "toString", { + value: function() { + return this.join("/"); + } + }); + return parsed; + } + } + throw new Error("ipaddr: string is not formatted like an IPv4 CIDR range"); + }; + ipaddr.IPv4.subnetMaskFromPrefixLength = function(prefix) { + var filledOctetCount, j, octets; + prefix = parseInt(prefix); + if (prefix < 0 || prefix > 32) { + throw new Error("ipaddr: invalid IPv4 prefix length"); + } + octets = [0, 0, 0, 0]; + j = 0; + filledOctetCount = Math.floor(prefix / 8); + while (j < filledOctetCount) { + octets[j] = 255; + j++; + } + if (filledOctetCount < 4) { + octets[filledOctetCount] = Math.pow(2, prefix % 8) - 1 << 8 - prefix % 8; + } + return new this(octets); + }; + ipaddr.IPv4.broadcastAddressFromCIDR = function(string) { + var cidr, error, i, ipInterfaceOctets, octets, subnetMaskOctets; + try { + cidr = this.parseCIDR(string); + ipInterfaceOctets = cidr[0].toByteArray(); + subnetMaskOctets = this.subnetMaskFromPrefixLength(cidr[1]).toByteArray(); + octets = []; + i = 0; + while (i < 4) { + octets.push(parseInt(ipInterfaceOctets[i], 10) | parseInt(subnetMaskOctets[i], 10) ^ 255); + i++; + } + return new this(octets); + } catch (error1) { + error = error1; + throw new Error("ipaddr: the address does not have IPv4 CIDR format"); + } + }; + ipaddr.IPv4.networkAddressFromCIDR = function(string) { + var cidr, error, i, ipInterfaceOctets, octets, subnetMaskOctets; + try { + cidr = this.parseCIDR(string); + ipInterfaceOctets = cidr[0].toByteArray(); + subnetMaskOctets = this.subnetMaskFromPrefixLength(cidr[1]).toByteArray(); + octets = []; + i = 0; + while (i < 4) { + octets.push(parseInt(ipInterfaceOctets[i], 10) & parseInt(subnetMaskOctets[i], 10)); + i++; + } + return new this(octets); + } catch (error1) { + error = error1; + throw new Error("ipaddr: the address does not have IPv4 CIDR format"); + } + }; + ipaddr.IPv6.parseCIDR = function(string) { + var maskLength, match, parsed; + if (match = string.match(/^(.+)\/(\d+)$/)) { + maskLength = parseInt(match[2]); + if (maskLength >= 0 && maskLength <= 128) { + parsed = [this.parse(match[1]), maskLength]; + Object.defineProperty(parsed, "toString", { + value: function() { + return this.join("/"); + } + }); + return parsed; + } + } + throw new Error("ipaddr: string is not formatted like an IPv6 CIDR range"); + }; + ipaddr.isValid = function(string) { + return ipaddr.IPv6.isValid(string) || ipaddr.IPv4.isValid(string); + }; + ipaddr.parse = function(string) { + if (ipaddr.IPv6.isValid(string)) { + return ipaddr.IPv6.parse(string); + } else if (ipaddr.IPv4.isValid(string)) { + return ipaddr.IPv4.parse(string); + } else { + throw new Error("ipaddr: the address has neither IPv6 nor IPv4 format"); + } + }; + ipaddr.parseCIDR = function(string) { + var e; + try { + return ipaddr.IPv6.parseCIDR(string); + } catch (error1) { + e = error1; + try { + return ipaddr.IPv4.parseCIDR(string); + } catch (error12) { + e = error12; + throw new Error("ipaddr: the address has neither IPv6 nor IPv4 CIDR format"); + } + } + }; + ipaddr.fromByteArray = function(bytes) { + var length; + length = bytes.length; + if (length === 4) { + return new ipaddr.IPv4(bytes); + } else if (length === 16) { + return new ipaddr.IPv6(bytes); + } else { + throw new Error("ipaddr: the binary input is neither an IPv6 nor IPv4 address"); + } + }; + ipaddr.process = function(string) { + var addr; + addr = this.parse(string); + if (addr.kind() === "ipv6" && addr.isIPv4MappedAddress()) { + return addr.toIPv4Address(); + } else { + return addr; + } + }; + }).call(exports2); + } +}); +var require_proxy_addr = __commonJS2({ + "node_modules/proxy-addr/index.js"(exports2, module2) { + "use strict"; + module2.exports = proxyaddr; + module2.exports.all = alladdrs; + module2.exports.compile = compile; + var forwarded = require_forwarded(); + var ipaddr = require_ipaddr(); + var DIGIT_REGEXP = /^[0-9]+$/; + var isip = ipaddr.isValid; + var parseip = ipaddr.parse; + var IP_RANGES = { + linklocal: ["169.254.0.0/16", "fe80::/10"], + loopback: ["127.0.0.1/8", "::1/128"], + uniquelocal: ["10.0.0.0/8", "172.16.0.0/12", "192.168.0.0/16", "fc00::/7"] + }; + function alladdrs(req, trust) { + var addrs = forwarded(req); + if (!trust) { + return addrs; + } + if (typeof trust !== "function") { + trust = compile(trust); + } + for (var i = 0; i < addrs.length - 1; i++) { + if (trust(addrs[i], i)) continue; + addrs.length = i + 1; + } + return addrs; + } + function compile(val) { + if (!val) { + throw new TypeError("argument is required"); + } + var trust; + if (typeof val === "string") { + trust = [val]; + } else if (Array.isArray(val)) { + trust = val.slice(); + } else { + throw new TypeError("unsupported trust argument"); + } + for (var i = 0; i < trust.length; i++) { + val = trust[i]; + if (!Object.prototype.hasOwnProperty.call(IP_RANGES, val)) { + continue; + } + val = IP_RANGES[val]; + trust.splice.apply(trust, [i, 1].concat(val)); + i += val.length - 1; + } + return compileTrust(compileRangeSubnets(trust)); + } + function compileRangeSubnets(arr) { + var rangeSubnets = new Array(arr.length); + for (var i = 0; i < arr.length; i++) { + rangeSubnets[i] = parseipNotation(arr[i]); + } + return rangeSubnets; + } + function compileTrust(rangeSubnets) { + var len = rangeSubnets.length; + return len === 0 ? trustNone : len === 1 ? trustSingle(rangeSubnets[0]) : trustMulti(rangeSubnets); + } + function parseipNotation(note) { + var pos = note.lastIndexOf("/"); + var str = pos !== -1 ? note.substring(0, pos) : note; + if (!isip(str)) { + throw new TypeError("invalid IP address: " + str); + } + var ip = parseip(str); + if (pos === -1 && ip.kind() === "ipv6" && ip.isIPv4MappedAddress()) { + ip = ip.toIPv4Address(); + } + var max = ip.kind() === "ipv6" ? 128 : 32; + var range = pos !== -1 ? note.substring(pos + 1, note.length) : null; + if (range === null) { + range = max; + } else if (DIGIT_REGEXP.test(range)) { + range = parseInt(range, 10); + } else if (ip.kind() === "ipv4" && isip(range)) { + range = parseNetmask(range); + } else { + range = null; + } + if (range <= 0 || range > max) { + throw new TypeError("invalid range on address: " + note); + } + return [ip, range]; + } + function parseNetmask(netmask) { + var ip = parseip(netmask); + var kind = ip.kind(); + return kind === "ipv4" ? ip.prefixLengthFromSubnetMask() : null; + } + function proxyaddr(req, trust) { + if (!req) { + throw new TypeError("req argument is required"); + } + if (!trust) { + throw new TypeError("trust argument is required"); + } + var addrs = alladdrs(req, trust); + var addr = addrs[addrs.length - 1]; + return addr; + } + function trustNone() { + return false; + } + function trustMulti(subnets) { + return function trust(addr) { + if (!isip(addr)) return false; + var ip = parseip(addr); + var ipconv; + var kind = ip.kind(); + for (var i = 0; i < subnets.length; i++) { + var subnet = subnets[i]; + var subnetip = subnet[0]; + var subnetkind = subnetip.kind(); + var subnetrange = subnet[1]; + var trusted = ip; + if (kind !== subnetkind) { + if (subnetkind === "ipv4" && !ip.isIPv4MappedAddress()) { + continue; + } + if (!ipconv) { + ipconv = subnetkind === "ipv4" ? ip.toIPv4Address() : ip.toIPv4MappedAddress(); + } + trusted = ipconv; + } + if (trusted.match(subnetip, subnetrange)) { + return true; + } + } + return false; + }; + } + function trustSingle(subnet) { + var subnetip = subnet[0]; + var subnetkind = subnetip.kind(); + var subnetisipv4 = subnetkind === "ipv4"; + var subnetrange = subnet[1]; + return function trust(addr) { + if (!isip(addr)) return false; + var ip = parseip(addr); + var kind = ip.kind(); + if (kind !== subnetkind) { + if (subnetisipv4 && !ip.isIPv4MappedAddress()) { + return false; + } + ip = subnetisipv4 ? ip.toIPv4Address() : ip.toIPv4MappedAddress(); + } + return ip.match(subnetip, subnetrange); + }; + } + } +}); +var require_utils3 = __commonJS2({ + "node_modules/express/lib/utils.js"(exports2) { + "use strict"; + var { METHODS } = require("node:http"); + var contentType2 = require_content_type(); + var etag = require_etag(); + var mime = require_mime_types2(); + var proxyaddr = require_proxy_addr(); + var qs = require_lib3(); + var querystring = require("querystring"); + exports2.methods = METHODS.map((method) => method.toLowerCase()); + exports2.etag = createETagGenerator({ weak: false }); + exports2.wetag = createETagGenerator({ weak: true }); + exports2.normalizeType = function(type) { + return ~type.indexOf("/") ? acceptParams(type) : { value: mime.lookup(type) || "application/octet-stream", params: {} }; + }; + exports2.normalizeTypes = function(types) { + return types.map(exports2.normalizeType); + }; + function acceptParams(str) { + var length = str.length; + var colonIndex = str.indexOf(";"); + var index = colonIndex === -1 ? length : colonIndex; + var ret = { value: str.slice(0, index).trim(), quality: 1, params: {} }; + while (index < length) { + var splitIndex = str.indexOf("=", index); + if (splitIndex === -1) break; + var colonIndex = str.indexOf(";", index); + var endIndex = colonIndex === -1 ? length : colonIndex; + if (splitIndex > endIndex) { + index = str.lastIndexOf(";", splitIndex - 1) + 1; + continue; + } + var key = str.slice(index, splitIndex).trim(); + var value = str.slice(splitIndex + 1, endIndex).trim(); + if (key === "q") { + ret.quality = parseFloat(value); + } else { + ret.params[key] = value; + } + index = endIndex + 1; + } + return ret; + } + exports2.compileETag = function(val) { + var fn; + if (typeof val === "function") { + return val; + } + switch (val) { + case true: + case "weak": + fn = exports2.wetag; + break; + case false: + break; + case "strong": + fn = exports2.etag; + break; + default: + throw new TypeError("unknown value for etag function: " + val); + } + return fn; + }; + exports2.compileQueryParser = function compileQueryParser(val) { + var fn; + if (typeof val === "function") { + return val; + } + switch (val) { + case true: + case "simple": + fn = querystring.parse; + break; + case false: + break; + case "extended": + fn = parseExtendedQueryString; + break; + default: + throw new TypeError("unknown value for query parser function: " + val); + } + return fn; + }; + exports2.compileTrust = function(val) { + if (typeof val === "function") return val; + if (val === true) { + return function() { + return true; + }; + } + if (typeof val === "number") { + return function(a, i) { + return i < val; + }; + } + if (typeof val === "string") { + val = val.split(",").map(function(v) { + return v.trim(); + }); + } + return proxyaddr.compile(val || []); + }; + exports2.setCharset = function setCharset(type, charset) { + if (!type || !charset) { + return type; + } + var parsed = contentType2.parse(type); + parsed.parameters.charset = charset; + return contentType2.format(parsed); + }; + function createETagGenerator(options) { + return function generateETag(body, encoding) { + var buf = !Buffer.isBuffer(body) ? Buffer.from(body, encoding) : body; + return etag(buf, options); + }; + } + function parseExtendedQueryString(str) { + return qs.parse(str, { + allowPrototypes: true + }); + } + } +}); +var require_wrappy = __commonJS2({ + "node_modules/wrappy/wrappy.js"(exports2, module2) { + module2.exports = wrappy; + function wrappy(fn, cb) { + if (fn && cb) return wrappy(fn)(cb); + if (typeof fn !== "function") + throw new TypeError("need wrapper function"); + Object.keys(fn).forEach(function(k) { + wrapper[k] = fn[k]; + }); + return wrapper; + function wrapper() { + var args = new Array(arguments.length); + for (var i = 0; i < args.length; i++) { + args[i] = arguments[i]; + } + var ret = fn.apply(this, args); + var cb2 = args[args.length - 1]; + if (typeof ret === "function" && ret !== cb2) { + Object.keys(cb2).forEach(function(k) { + ret[k] = cb2[k]; + }); + } + return ret; + } + } + } +}); +var require_once = __commonJS2({ + "node_modules/once/once.js"(exports2, module2) { + var wrappy = require_wrappy(); + module2.exports = wrappy(once); + module2.exports.strict = wrappy(onceStrict); + once.proto = once(function() { + Object.defineProperty(Function.prototype, "once", { + value: function() { + return once(this); + }, + configurable: true + }); + Object.defineProperty(Function.prototype, "onceStrict", { + value: function() { + return onceStrict(this); + }, + configurable: true + }); + }); + function once(fn) { + var f = function() { + if (f.called) return f.value; + f.called = true; + return f.value = fn.apply(this, arguments); + }; + f.called = false; + return f; + } + function onceStrict(fn) { + var f = function() { + if (f.called) + throw new Error(f.onceError); + f.called = true; + return f.value = fn.apply(this, arguments); + }; + var name = fn.name || "Function wrapped with `once`"; + f.onceError = name + " shouldn't be called more than once"; + f.called = false; + return f; + } + } +}); +var require_is_promise = __commonJS2({ + "node_modules/is-promise/index.js"(exports2, module2) { + module2.exports = isPromise; + module2.exports.default = isPromise; + function isPromise(obj) { + return !!obj && (typeof obj === "object" || typeof obj === "function") && typeof obj.then === "function"; + } + } +}); +var require_dist = __commonJS2({ + "node_modules/path-to-regexp/dist/index.js"(exports2) { + "use strict"; + Object.defineProperty(exports2, "__esModule", { value: true }); + exports2.TokenData = void 0; + exports2.parse = parse; + exports2.compile = compile; + exports2.match = match; + exports2.pathToRegexp = pathToRegexp; + exports2.stringify = stringify; + var DEFAULT_DELIMITER = "/"; + var NOOP_VALUE = (value) => value; + var ID_START = /^[$_\p{ID_Start}]$/u; + var ID_CONTINUE = /^[$\u200c\u200d\p{ID_Continue}]$/u; + var DEBUG_URL = "https://git.new/pathToRegexpError"; + var SIMPLE_TOKENS = { + // Groups. + "{": "{", + "}": "}", + // Reserved. + "(": "(", + ")": ")", + "[": "[", + "]": "]", + "+": "+", + "?": "?", + "!": "!" + }; + function escapeText(str) { + return str.replace(/[{}()\[\]+?!:*]/g, "\\$&"); + } + function escape2(str) { + return str.replace(/[.+*?^${}()[\]|/\\]/g, "\\$&"); + } + function* lexer(str) { + const chars = [...str]; + let i = 0; + function name() { + let value = ""; + if (ID_START.test(chars[++i])) { + value += chars[i]; + while (ID_CONTINUE.test(chars[++i])) { + value += chars[i]; + } + } else if (chars[i] === '"') { + let pos = i; + while (i < chars.length) { + if (chars[++i] === '"') { + i++; + pos = 0; + break; + } + if (chars[i] === "\\") { + value += chars[++i]; + } else { + value += chars[i]; + } + } + if (pos) { + throw new TypeError(`Unterminated quote at ${pos}: ${DEBUG_URL}`); + } + } + if (!value) { + throw new TypeError(`Missing parameter name at ${i}: ${DEBUG_URL}`); + } + return value; + } + while (i < chars.length) { + const value = chars[i]; + const type = SIMPLE_TOKENS[value]; + if (type) { + yield { type, index: i++, value }; + } else if (value === "\\") { + yield { type: "ESCAPED", index: i++, value: chars[i++] }; + } else if (value === ":") { + const value2 = name(); + yield { type: "PARAM", index: i, value: value2 }; + } else if (value === "*") { + const value2 = name(); + yield { type: "WILDCARD", index: i, value: value2 }; + } else { + yield { type: "CHAR", index: i, value: chars[i++] }; + } + } + return { type: "END", index: i, value: "" }; + } + var Iter = class { + constructor(tokens) { + this.tokens = tokens; + } + peek() { + if (!this._peek) { + const next = this.tokens.next(); + this._peek = next.value; + } + return this._peek; + } + tryConsume(type) { + const token = this.peek(); + if (token.type !== type) + return; + this._peek = void 0; + return token.value; + } + consume(type) { + const value = this.tryConsume(type); + if (value !== void 0) + return value; + const { type: nextType, index } = this.peek(); + throw new TypeError(`Unexpected ${nextType} at ${index}, expected ${type}: ${DEBUG_URL}`); + } + text() { + let result = ""; + let value; + while (value = this.tryConsume("CHAR") || this.tryConsume("ESCAPED")) { + result += value; + } + return result; + } + }; + var TokenData = class { + constructor(tokens) { + this.tokens = tokens; + } + }; + exports2.TokenData = TokenData; + function parse(str, options = {}) { + const { encodePath = NOOP_VALUE } = options; + const it = new Iter(lexer(str)); + function consume(endType) { + const tokens2 = []; + while (true) { + const path = it.text(); + if (path) + tokens2.push({ type: "text", value: encodePath(path) }); + const param = it.tryConsume("PARAM"); + if (param) { + tokens2.push({ + type: "param", + name: param + }); + continue; + } + const wildcard = it.tryConsume("WILDCARD"); + if (wildcard) { + tokens2.push({ + type: "wildcard", + name: wildcard + }); + continue; + } + const open = it.tryConsume("{"); + if (open) { + tokens2.push({ + type: "group", + tokens: consume("}") + }); + continue; + } + it.consume(endType); + return tokens2; + } + } + const tokens = consume("END"); + return new TokenData(tokens); + } + function compile(path, options = {}) { + const { encode = encodeURIComponent, delimiter = DEFAULT_DELIMITER } = options; + const data = path instanceof TokenData ? path : parse(path, options); + const fn = tokensToFunction(data.tokens, delimiter, encode); + return function path2(data2 = {}) { + const [path3, ...missing] = fn(data2); + if (missing.length) { + throw new TypeError(`Missing parameters: ${missing.join(", ")}`); + } + return path3; + }; + } + function tokensToFunction(tokens, delimiter, encode) { + const encoders = tokens.map((token) => tokenToFunction(token, delimiter, encode)); + return (data) => { + const result = [""]; + for (const encoder of encoders) { + const [value, ...extras] = encoder(data); + result[0] += value; + result.push(...extras); + } + return result; + }; + } + function tokenToFunction(token, delimiter, encode) { + if (token.type === "text") + return () => [token.value]; + if (token.type === "group") { + const fn = tokensToFunction(token.tokens, delimiter, encode); + return (data) => { + const [value, ...missing] = fn(data); + if (!missing.length) + return [value]; + return [""]; + }; + } + const encodeValue = encode || NOOP_VALUE; + if (token.type === "wildcard" && encode !== false) { + return (data) => { + const value = data[token.name]; + if (value == null) + return ["", token.name]; + if (!Array.isArray(value) || value.length === 0) { + throw new TypeError(`Expected "${token.name}" to be a non-empty array`); + } + return [ + value.map((value2, index) => { + if (typeof value2 !== "string") { + throw new TypeError(`Expected "${token.name}/${index}" to be a string`); + } + return encodeValue(value2); + }).join(delimiter) + ]; + }; + } + return (data) => { + const value = data[token.name]; + if (value == null) + return ["", token.name]; + if (typeof value !== "string") { + throw new TypeError(`Expected "${token.name}" to be a string`); + } + return [encodeValue(value)]; + }; + } + function match(path, options = {}) { + const { decode = decodeURIComponent, delimiter = DEFAULT_DELIMITER } = options; + const { regexp, keys } = pathToRegexp(path, options); + const decoders = keys.map((key) => { + if (decode === false) + return NOOP_VALUE; + if (key.type === "param") + return decode; + return (value) => value.split(delimiter).map(decode); + }); + return function match2(input) { + const m = regexp.exec(input); + if (!m) + return false; + const path2 = m[0]; + const params = /* @__PURE__ */ Object.create(null); + for (let i = 1; i < m.length; i++) { + if (m[i] === void 0) + continue; + const key = keys[i - 1]; + const decoder = decoders[i - 1]; + params[key.name] = decoder(m[i]); + } + return { path: path2, params }; + }; + } + function pathToRegexp(path, options = {}) { + const { delimiter = DEFAULT_DELIMITER, end = true, sensitive = false, trailing = true } = options; + const keys = []; + const sources = []; + const flags = sensitive ? "" : "i"; + const paths = Array.isArray(path) ? path : [path]; + const items = paths.map((path2) => path2 instanceof TokenData ? path2 : parse(path2, options)); + for (const { tokens } of items) { + for (const seq of flatten(tokens, 0, [])) { + const regexp2 = sequenceToRegExp(seq, delimiter, keys); + sources.push(regexp2); + } + } + let pattern = `^(?:${sources.join("|")})`; + if (trailing) + pattern += `(?:${escape2(delimiter)}$)?`; + pattern += end ? "$" : `(?=${escape2(delimiter)}|$)`; + const regexp = new RegExp(pattern, flags); + return { regexp, keys }; + } + function* flatten(tokens, index, init) { + if (index === tokens.length) { + return yield init; + } + const token = tokens[index]; + if (token.type === "group") { + const fork = init.slice(); + for (const seq of flatten(token.tokens, 0, fork)) { + yield* flatten(tokens, index + 1, seq); + } + } else { + init.push(token); + } + yield* flatten(tokens, index + 1, init); + } + function sequenceToRegExp(tokens, delimiter, keys) { + let result = ""; + let backtrack = ""; + let isSafeSegmentParam = true; + for (let i = 0; i < tokens.length; i++) { + const token = tokens[i]; + if (token.type === "text") { + result += escape2(token.value); + backtrack += token.value; + isSafeSegmentParam || (isSafeSegmentParam = token.value.includes(delimiter)); + continue; + } + if (token.type === "param" || token.type === "wildcard") { + if (!isSafeSegmentParam && !backtrack) { + throw new TypeError(`Missing text after "${token.name}": ${DEBUG_URL}`); + } + if (token.type === "param") { + result += `(${negate(delimiter, isSafeSegmentParam ? "" : backtrack)}+)`; + } else { + result += `([\\s\\S]+)`; + } + keys.push(token); + backtrack = ""; + isSafeSegmentParam = false; + continue; + } + } + return result; + } + function negate(delimiter, backtrack) { + if (backtrack.length < 2) { + if (delimiter.length < 2) + return `[^${escape2(delimiter + backtrack)}]`; + return `(?:(?!${escape2(delimiter)})[^${escape2(backtrack)}])`; + } + if (delimiter.length < 2) { + return `(?:(?!${escape2(backtrack)})[^${escape2(delimiter)}])`; + } + return `(?:(?!${escape2(backtrack)}|${escape2(delimiter)})[\\s\\S])`; + } + function stringify(data) { + return data.tokens.map(function stringifyToken(token, index, tokens) { + if (token.type === "text") + return escapeText(token.value); + if (token.type === "group") { + return `{${token.tokens.map(stringifyToken).join("")}}`; + } + const isSafe = isNameSafe(token.name) && isNextNameSafe(tokens[index + 1]); + const key = isSafe ? token.name : JSON.stringify(token.name); + if (token.type === "param") + return `:${key}`; + if (token.type === "wildcard") + return `*${key}`; + throw new TypeError(`Unexpected token: ${token}`); + }).join(""); + } + function isNameSafe(name) { + const [first, ...rest] = name; + if (!ID_START.test(first)) + return false; + return rest.every((char) => ID_CONTINUE.test(char)); + } + function isNextNameSafe(token) { + if ((token === null || token === void 0 ? void 0 : token.type) !== "text") + return true; + return !ID_CONTINUE.test(token.value[0]); + } + } +}); +var require_layer = __commonJS2({ + "node_modules/router/lib/layer.js"(exports2, module2) { + "use strict"; + var isPromise = require_is_promise(); + var pathRegexp = require_dist(); + var debug = require_src()("router:layer"); + var deprecate = require_depd()("router"); + var TRAILING_SLASH_REGEXP = /\/+$/; + var MATCHING_GROUP_REGEXP = /\((?:\?<(.*?)>)?(?!\?)/g; + module2.exports = Layer; + function Layer(path, options, fn) { + if (!(this instanceof Layer)) { + return new Layer(path, options, fn); + } + debug("new %o", path); + const opts = options || {}; + this.handle = fn; + this.keys = []; + this.name = fn.name || ""; + this.params = void 0; + this.path = void 0; + this.slash = path === "/" && opts.end === false; + function matcher(_path) { + if (_path instanceof RegExp) { + const keys = []; + let name = 0; + let m; + while (m = MATCHING_GROUP_REGEXP.exec(_path.source)) { + keys.push({ + name: m[1] || name++, + offset: m.index + }); + } + return function regexpMatcher(p) { + const match = _path.exec(p); + if (!match) { + return false; + } + const params = {}; + for (let i = 1; i < match.length; i++) { + const key = keys[i - 1]; + const prop = key.name; + const val = decodeParam(match[i]); + if (val !== void 0) { + params[prop] = val; + } + } + return { + params, + path: match[0] + }; + }; + } + return pathRegexp.match(opts.strict ? _path : loosen(_path), { + sensitive: opts.sensitive, + end: opts.end, + trailing: !opts.strict, + decode: decodeParam + }); + } + this.matchers = Array.isArray(path) ? path.map(matcher) : [matcher(path)]; + } + Layer.prototype.handleError = function handleError(error, req, res, next) { + const fn = this.handle; + if (fn.length !== 4) { + return next(error); + } + try { + const ret = fn(error, req, res, next); + if (isPromise(ret)) { + if (!(ret instanceof Promise)) { + deprecate("handlers that are Promise-like are deprecated, use a native Promise instead"); + } + ret.then(null, function(error2) { + next(error2 || new Error("Rejected promise")); + }); + } + } catch (err2) { + next(err2); + } + }; + Layer.prototype.handleRequest = function handleRequest(req, res, next) { + const fn = this.handle; + if (fn.length > 3) { + return next(); + } + try { + const ret = fn(req, res, next); + if (isPromise(ret)) { + if (!(ret instanceof Promise)) { + deprecate("handlers that are Promise-like are deprecated, use a native Promise instead"); + } + ret.then(null, function(error) { + next(error || new Error("Rejected promise")); + }); + } + } catch (err2) { + next(err2); + } + }; + Layer.prototype.match = function match(path) { + let match2; + if (path != null) { + if (this.slash) { + this.params = {}; + this.path = ""; + return true; + } + let i = 0; + while (!match2 && i < this.matchers.length) { + match2 = this.matchers[i](path); + i++; + } + } + if (!match2) { + this.params = void 0; + this.path = void 0; + return false; + } + this.params = match2.params; + this.path = match2.path; + this.keys = Object.keys(match2.params); + return true; + }; + function decodeParam(val) { + if (typeof val !== "string" || val.length === 0) { + return val; + } + try { + return decodeURIComponent(val); + } catch (err2) { + if (err2 instanceof URIError) { + err2.message = "Failed to decode param '" + val + "'"; + err2.status = 400; + } + throw err2; + } + } + function loosen(path) { + if (path instanceof RegExp || path === "/") { + return path; + } + return Array.isArray(path) ? path.map(function(p) { + return loosen(p); + }) : String(path).replace(TRAILING_SLASH_REGEXP, ""); + } + } +}); +var require_route = __commonJS2({ + "node_modules/router/lib/route.js"(exports2, module2) { + "use strict"; + var debug = require_src()("router:route"); + var Layer = require_layer(); + var { METHODS } = require("node:http"); + var slice = Array.prototype.slice; + var flatten = Array.prototype.flat; + var methods = METHODS.map((method) => method.toLowerCase()); + module2.exports = Route; + function Route(path) { + debug("new %o", path); + this.path = path; + this.stack = []; + this.methods = /* @__PURE__ */ Object.create(null); + } + Route.prototype._handlesMethod = function _handlesMethod(method) { + if (this.methods._all) { + return true; + } + let name = typeof method === "string" ? method.toLowerCase() : method; + if (name === "head" && !this.methods.head) { + name = "get"; + } + return Boolean(this.methods[name]); + }; + Route.prototype._methods = function _methods() { + const methods2 = Object.keys(this.methods); + if (this.methods.get && !this.methods.head) { + methods2.push("head"); + } + for (let i = 0; i < methods2.length; i++) { + methods2[i] = methods2[i].toUpperCase(); + } + return methods2; + }; + Route.prototype.dispatch = function dispatch(req, res, done) { + let idx = 0; + const stack = this.stack; + let sync = 0; + if (stack.length === 0) { + return done(); + } + let method = typeof req.method === "string" ? req.method.toLowerCase() : req.method; + if (method === "head" && !this.methods.head) { + method = "get"; + } + req.route = this; + next(); + function next(err2) { + if (err2 && err2 === "route") { + return done(); + } + if (err2 && err2 === "router") { + return done(err2); + } + if (idx >= stack.length) { + return done(err2); + } + if (++sync > 100) { + return setImmediate(next, err2); + } + let layer; + let match; + while (match !== true && idx < stack.length) { + layer = stack[idx++]; + match = !layer.method || layer.method === method; + } + if (match !== true) { + return done(err2); + } + if (err2) { + layer.handleError(err2, req, res, next); + } else { + layer.handleRequest(req, res, next); + } + sync = 0; + } + }; + Route.prototype.all = function all(handler) { + const callbacks = flatten.call(slice.call(arguments), Infinity); + if (callbacks.length === 0) { + throw new TypeError("argument handler is required"); + } + for (let i = 0; i < callbacks.length; i++) { + const fn = callbacks[i]; + if (typeof fn !== "function") { + throw new TypeError("argument handler must be a function"); + } + const layer = Layer("/", {}, fn); + layer.method = void 0; + this.methods._all = true; + this.stack.push(layer); + } + return this; + }; + methods.forEach(function(method) { + Route.prototype[method] = function(handler) { + const callbacks = flatten.call(slice.call(arguments), Infinity); + if (callbacks.length === 0) { + throw new TypeError("argument handler is required"); + } + for (let i = 0; i < callbacks.length; i++) { + const fn = callbacks[i]; + if (typeof fn !== "function") { + throw new TypeError("argument handler must be a function"); + } + debug("%s %s", method, this.path); + const layer = Layer("/", {}, fn); + layer.method = method; + this.methods[method] = true; + this.stack.push(layer); + } + return this; + }; + }); + } +}); +var require_router = __commonJS2({ + "node_modules/router/index.js"(exports2, module2) { + "use strict"; + var isPromise = require_is_promise(); + var Layer = require_layer(); + var { METHODS } = require("node:http"); + var parseUrl = require_parseurl(); + var Route = require_route(); + var debug = require_src()("router"); + var deprecate = require_depd()("router"); + var slice = Array.prototype.slice; + var flatten = Array.prototype.flat; + var methods = METHODS.map((method) => method.toLowerCase()); + module2.exports = Router; + module2.exports.Route = Route; + function Router(options) { + if (!(this instanceof Router)) { + return new Router(options); + } + const opts = options || {}; + function router(req, res, next) { + router.handle(req, res, next); + } + Object.setPrototypeOf(router, this); + router.caseSensitive = opts.caseSensitive; + router.mergeParams = opts.mergeParams; + router.params = {}; + router.strict = opts.strict; + router.stack = []; + return router; + } + Router.prototype = function() { + }; + Router.prototype.param = function param(name, fn) { + if (!name) { + throw new TypeError("argument name is required"); + } + if (typeof name !== "string") { + throw new TypeError("argument name must be a string"); + } + if (!fn) { + throw new TypeError("argument fn is required"); + } + if (typeof fn !== "function") { + throw new TypeError("argument fn must be a function"); + } + let params = this.params[name]; + if (!params) { + params = this.params[name] = []; + } + params.push(fn); + return this; + }; + Router.prototype.handle = function handle(req, res, callback) { + if (!callback) { + throw new TypeError("argument callback is required"); + } + debug("dispatching %s %s", req.method, req.url); + let idx = 0; + let methods2; + const protohost = getProtohost(req.url) || ""; + let removed = ""; + const self2 = this; + let slashAdded = false; + let sync = 0; + const paramcalled = {}; + const stack = this.stack; + const parentParams = req.params; + const parentUrl = req.baseUrl || ""; + let done = restore(callback, req, "baseUrl", "next", "params"); + req.next = next; + if (req.method === "OPTIONS") { + methods2 = []; + done = wrap(done, generateOptionsResponder(res, methods2)); + } + req.baseUrl = parentUrl; + req.originalUrl = req.originalUrl || req.url; + next(); + function next(err2) { + let layerError = err2 === "route" ? null : err2; + if (slashAdded) { + req.url = req.url.slice(1); + slashAdded = false; + } + if (removed.length !== 0) { + req.baseUrl = parentUrl; + req.url = protohost + removed + req.url.slice(protohost.length); + removed = ""; + } + if (layerError === "router") { + setImmediate(done, null); + return; + } + if (idx >= stack.length) { + setImmediate(done, layerError); + return; + } + if (++sync > 100) { + return setImmediate(next, err2); + } + const path = getPathname(req); + if (path == null) { + return done(layerError); + } + let layer; + let match; + let route; + while (match !== true && idx < stack.length) { + layer = stack[idx++]; + match = matchLayer(layer, path); + route = layer.route; + if (typeof match !== "boolean") { + layerError = layerError || match; + } + if (match !== true) { + continue; + } + if (!route) { + continue; + } + if (layerError) { + match = false; + continue; + } + const method = req.method; + const hasMethod = route._handlesMethod(method); + if (!hasMethod && method === "OPTIONS" && methods2) { + methods2.push.apply(methods2, route._methods()); + } + if (!hasMethod && method !== "HEAD") { + match = false; + } + } + if (match !== true) { + return done(layerError); + } + if (route) { + req.route = route; + } + req.params = self2.mergeParams ? mergeParams(layer.params, parentParams) : layer.params; + const layerPath = layer.path; + processParams(self2.params, layer, paramcalled, req, res, function(err3) { + if (err3) { + next(layerError || err3); + } else if (route) { + layer.handleRequest(req, res, next); + } else { + trimPrefix(layer, layerError, layerPath, path); + } + sync = 0; + }); + } + function trimPrefix(layer, layerError, layerPath, path) { + if (layerPath.length !== 0) { + if (layerPath !== path.substring(0, layerPath.length)) { + next(layerError); + return; + } + const c = path[layerPath.length]; + if (c && c !== "/") { + next(layerError); + return; + } + debug("trim prefix (%s) from url %s", layerPath, req.url); + removed = layerPath; + req.url = protohost + req.url.slice(protohost.length + removed.length); + if (!protohost && req.url[0] !== "/") { + req.url = "/" + req.url; + slashAdded = true; + } + req.baseUrl = parentUrl + (removed[removed.length - 1] === "/" ? removed.substring(0, removed.length - 1) : removed); + } + debug("%s %s : %s", layer.name, layerPath, req.originalUrl); + if (layerError) { + layer.handleError(layerError, req, res, next); + } else { + layer.handleRequest(req, res, next); + } + } + }; + Router.prototype.use = function use(handler) { + let offset = 0; + let path = "/"; + if (typeof handler !== "function") { + let arg = handler; + while (Array.isArray(arg) && arg.length !== 0) { + arg = arg[0]; + } + if (typeof arg !== "function") { + offset = 1; + path = handler; + } + } + const callbacks = flatten.call(slice.call(arguments, offset), Infinity); + if (callbacks.length === 0) { + throw new TypeError("argument handler is required"); + } + for (let i = 0; i < callbacks.length; i++) { + const fn = callbacks[i]; + if (typeof fn !== "function") { + throw new TypeError("argument handler must be a function"); + } + debug("use %o %s", path, fn.name || ""); + const layer = new Layer(path, { + sensitive: this.caseSensitive, + strict: false, + end: false + }, fn); + layer.route = void 0; + this.stack.push(layer); + } + return this; + }; + Router.prototype.route = function route(path) { + const route2 = new Route(path); + const layer = new Layer(path, { + sensitive: this.caseSensitive, + strict: this.strict, + end: true + }, handle); + function handle(req, res, next) { + route2.dispatch(req, res, next); + } + layer.route = route2; + this.stack.push(layer); + return route2; + }; + methods.concat("all").forEach(function(method) { + Router.prototype[method] = function(path) { + const route = this.route(path); + route[method].apply(route, slice.call(arguments, 1)); + return this; + }; + }); + function generateOptionsResponder(res, methods2) { + return function onDone(fn, err2) { + if (err2 || methods2.length === 0) { + return fn(err2); + } + trySendOptionsResponse(res, methods2, fn); + }; + } + function getPathname(req) { + try { + return parseUrl(req).pathname; + } catch (err2) { + return void 0; + } + } + function getProtohost(url) { + if (typeof url !== "string" || url.length === 0 || url[0] === "/") { + return void 0; + } + const searchIndex = url.indexOf("?"); + const pathLength = searchIndex !== -1 ? searchIndex : url.length; + const fqdnIndex = url.substring(0, pathLength).indexOf("://"); + return fqdnIndex !== -1 ? url.substring(0, url.indexOf("/", 3 + fqdnIndex)) : void 0; + } + function matchLayer(layer, path) { + try { + return layer.match(path); + } catch (err2) { + return err2; + } + } + function mergeParams(params, parent) { + if (typeof parent !== "object" || !parent) { + return params; + } + const obj = Object.assign({}, parent); + if (!(0 in params) || !(0 in parent)) { + return Object.assign(obj, params); + } + let i = 0; + let o = 0; + while (i in params) { + i++; + } + while (o in parent) { + o++; + } + for (i--; i >= 0; i--) { + params[i + o] = params[i]; + if (i < o) { + delete params[i]; + } + } + return Object.assign(obj, params); + } + function processParams(params, layer, called, req, res, done) { + const keys = layer.keys; + if (!keys || keys.length === 0) { + return done(); + } + let i = 0; + let paramIndex = 0; + let key; + let paramVal; + let paramCallbacks; + let paramCalled; + function param(err2) { + if (err2) { + return done(err2); + } + if (i >= keys.length) { + return done(); + } + paramIndex = 0; + key = keys[i++]; + paramVal = req.params[key]; + paramCallbacks = params[key]; + paramCalled = called[key]; + if (paramVal === void 0 || !paramCallbacks) { + return param(); + } + if (paramCalled && (paramCalled.match === paramVal || paramCalled.error && paramCalled.error !== "route")) { + req.params[key] = paramCalled.value; + return param(paramCalled.error); + } + called[key] = paramCalled = { + error: null, + match: paramVal, + value: paramVal + }; + paramCallback(); + } + function paramCallback(err2) { + const fn = paramCallbacks[paramIndex++]; + paramCalled.value = req.params[key]; + if (err2) { + paramCalled.error = err2; + param(err2); + return; + } + if (!fn) return param(); + try { + const ret = fn(req, res, paramCallback, paramVal, key); + if (isPromise(ret)) { + if (!(ret instanceof Promise)) { + deprecate("parameters that are Promise-like are deprecated, use a native Promise instead"); + } + ret.then(null, function(error) { + paramCallback(error || new Error("Rejected promise")); + }); + } + } catch (e) { + paramCallback(e); + } + } + param(); + } + function restore(fn, obj) { + const props = new Array(arguments.length - 2); + const vals = new Array(arguments.length - 2); + for (let i = 0; i < props.length; i++) { + props[i] = arguments[i + 2]; + vals[i] = obj[props[i]]; + } + return function() { + for (let i = 0; i < props.length; i++) { + obj[props[i]] = vals[i]; + } + return fn.apply(this, arguments); + }; + } + function sendOptionsResponse(res, methods2) { + const options = /* @__PURE__ */ Object.create(null); + for (let i = 0; i < methods2.length; i++) { + options[methods2[i]] = true; + } + const allow = Object.keys(options).sort().join(", "); + res.setHeader("Allow", allow); + res.setHeader("Content-Length", Buffer.byteLength(allow)); + res.setHeader("Content-Type", "text/plain"); + res.setHeader("X-Content-Type-Options", "nosniff"); + res.end(allow); + } + function trySendOptionsResponse(res, methods2, next) { + try { + sendOptionsResponse(res, methods2); + } catch (err2) { + next(err2); + } + } + function wrap(old, fn) { + return function proxy() { + const args = new Array(arguments.length + 1); + args[0] = old; + for (let i = 0, len = arguments.length; i < len; i++) { + args[i + 1] = arguments[i]; + } + fn.apply(this, args); + }; + } + } +}); +var require_application = __commonJS2({ + "node_modules/express/lib/application.js"(exports2, module2) { + "use strict"; + var finalhandler = require_finalhandler(); + var debug = require_src()("express:application"); + var View = require_view(); + var http = require("node:http"); + var methods = require_utils3().methods; + var compileETag = require_utils3().compileETag; + var compileQueryParser = require_utils3().compileQueryParser; + var compileTrust = require_utils3().compileTrust; + var resolve = require("node:path").resolve; + var once = require_once(); + var Router = require_router(); + var slice = Array.prototype.slice; + var flatten = Array.prototype.flat; + var app = exports2 = module2.exports = {}; + var trustProxyDefaultSymbol = "@@symbol:trust_proxy_default"; + app.init = function init() { + var router = null; + this.cache = /* @__PURE__ */ Object.create(null); + this.engines = /* @__PURE__ */ Object.create(null); + this.settings = /* @__PURE__ */ Object.create(null); + this.defaultConfiguration(); + Object.defineProperty(this, "router", { + configurable: true, + enumerable: true, + get: function getrouter() { + if (router === null) { + router = new Router({ + caseSensitive: this.enabled("case sensitive routing"), + strict: this.enabled("strict routing") + }); + } + return router; + } + }); + }; + app.defaultConfiguration = function defaultConfiguration() { + var env2 = "development"; + this.enable("x-powered-by"); + this.set("etag", "weak"); + this.set("env", env2); + this.set("query parser", "simple"); + this.set("subdomain offset", 2); + this.set("trust proxy", false); + Object.defineProperty(this.settings, trustProxyDefaultSymbol, { + configurable: true, + value: true + }); + debug("booting in %s mode", env2); + this.on("mount", function onmount(parent) { + if (this.settings[trustProxyDefaultSymbol] === true && typeof parent.settings["trust proxy fn"] === "function") { + delete this.settings["trust proxy"]; + delete this.settings["trust proxy fn"]; + } + Object.setPrototypeOf(this.request, parent.request); + Object.setPrototypeOf(this.response, parent.response); + Object.setPrototypeOf(this.engines, parent.engines); + Object.setPrototypeOf(this.settings, parent.settings); + }); + this.locals = /* @__PURE__ */ Object.create(null); + this.mountpath = "/"; + this.locals.settings = this.settings; + this.set("view", View); + this.set("views", resolve("views")); + this.set("jsonp callback name", "callback"); + if (env2 === "production") { + this.enable("view cache"); + } + }; + app.handle = function handle(req, res, callback) { + var done = callback || finalhandler(req, res, { + env: this.get("env"), + onerror: logerror.bind(this) + }); + if (this.enabled("x-powered-by")) { + res.setHeader("X-Powered-By", "Express"); + } + req.res = res; + res.req = req; + Object.setPrototypeOf(req, this.request); + Object.setPrototypeOf(res, this.response); + if (!res.locals) { + res.locals = /* @__PURE__ */ Object.create(null); + } + this.router.handle(req, res, done); + }; + app.use = function use(fn) { + var offset = 0; + var path = "/"; + if (typeof fn !== "function") { + var arg = fn; + while (Array.isArray(arg) && arg.length !== 0) { + arg = arg[0]; + } + if (typeof arg !== "function") { + offset = 1; + path = fn; + } + } + var fns = flatten.call(slice.call(arguments, offset), Infinity); + if (fns.length === 0) { + throw new TypeError("app.use() requires a middleware function"); + } + var router = this.router; + fns.forEach(function(fn2) { + if (!fn2 || !fn2.handle || !fn2.set) { + return router.use(path, fn2); + } + debug(".use app under %s", path); + fn2.mountpath = path; + fn2.parent = this; + router.use(path, function mounted_app(req, res, next) { + var orig = req.app; + fn2.handle(req, res, function(err2) { + Object.setPrototypeOf(req, orig.request); + Object.setPrototypeOf(res, orig.response); + next(err2); + }); + }); + fn2.emit("mount", this); + }, this); + return this; + }; + app.route = function route(path) { + return this.router.route(path); + }; + app.engine = function engine(ext, fn) { + if (typeof fn !== "function") { + throw new Error("callback function required"); + } + var extension = ext[0] !== "." ? "." + ext : ext; + this.engines[extension] = fn; + return this; + }; + app.param = function param(name, fn) { + if (Array.isArray(name)) { + for (var i = 0; i < name.length; i++) { + this.param(name[i], fn); + } + return this; + } + this.router.param(name, fn); + return this; + }; + app.set = function set(setting, val) { + if (arguments.length === 1) { + return this.settings[setting]; + } + debug('set "%s" to %o', setting, val); + this.settings[setting] = val; + switch (setting) { + case "etag": + this.set("etag fn", compileETag(val)); + break; + case "query parser": + this.set("query parser fn", compileQueryParser(val)); + break; + case "trust proxy": + this.set("trust proxy fn", compileTrust(val)); + Object.defineProperty(this.settings, trustProxyDefaultSymbol, { + configurable: true, + value: false + }); + break; + } + return this; + }; + app.path = function path() { + return this.parent ? this.parent.path() + this.mountpath : ""; + }; + app.enabled = function enabled(setting) { + return Boolean(this.set(setting)); + }; + app.disabled = function disabled(setting) { + return !this.set(setting); + }; + app.enable = function enable(setting) { + return this.set(setting, true); + }; + app.disable = function disable(setting) { + return this.set(setting, false); + }; + methods.forEach(function(method) { + app[method] = function(path) { + if (method === "get" && arguments.length === 1) { + return this.set(path); + } + var route = this.route(path); + route[method].apply(route, slice.call(arguments, 1)); + return this; + }; + }); + app.all = function all(path) { + var route = this.route(path); + var args = slice.call(arguments, 1); + for (var i = 0; i < methods.length; i++) { + route[methods[i]].apply(route, args); + } + return this; + }; + app.render = function render(name, options, callback) { + var cache = this.cache; + var done = callback; + var engines = this.engines; + var opts = options; + var view; + if (typeof options === "function") { + done = options; + opts = {}; + } + var renderOptions = { ...this.locals, ...opts._locals, ...opts }; + if (renderOptions.cache == null) { + renderOptions.cache = this.enabled("view cache"); + } + if (renderOptions.cache) { + view = cache[name]; + } + if (!view) { + var View2 = this.get("view"); + view = new View2(name, { + defaultEngine: this.get("view engine"), + root: this.get("views"), + engines + }); + if (!view.path) { + var dirs = Array.isArray(view.root) && view.root.length > 1 ? 'directories "' + view.root.slice(0, -1).join('", "') + '" or "' + view.root[view.root.length - 1] + '"' : 'directory "' + view.root + '"'; + var err2 = new Error('Failed to lookup view "' + name + '" in views ' + dirs); + err2.view = view; + return done(err2); + } + if (renderOptions.cache) { + cache[name] = view; + } + } + tryRender(view, renderOptions, done); + }; + app.listen = function listen() { + var server = http.createServer(this); + var args = Array.prototype.slice.call(arguments); + if (typeof args[args.length - 1] === "function") { + var done = args[args.length - 1] = once(args[args.length - 1]); + server.once("error", done); + } + return server.listen.apply(server, args); + }; + function logerror(err2) { + if (this.get("env") !== "test") console.error(err2.stack || err2.toString()); + } + function tryRender(view, options, callback) { + try { + view.render(options, callback); + } catch (err2) { + callback(err2); + } + } + } +}); +var require_charset = __commonJS2({ + "node_modules/negotiator/lib/charset.js"(exports2, module2) { + "use strict"; + module2.exports = preferredCharsets; + module2.exports.preferredCharsets = preferredCharsets; + var simpleCharsetRegExp = /^\s*([^\s;]+)\s*(?:;(.*))?$/; + function parseAcceptCharset(accept) { + var accepts = accept.split(","); + for (var i = 0, j = 0; i < accepts.length; i++) { + var charset = parseCharset(accepts[i].trim(), i); + if (charset) { + accepts[j++] = charset; + } + } + accepts.length = j; + return accepts; + } + function parseCharset(str, i) { + var match = simpleCharsetRegExp.exec(str); + if (!match) return null; + var charset = match[1]; + var q = 1; + if (match[2]) { + var params = match[2].split(";"); + for (var j = 0; j < params.length; j++) { + var p = params[j].trim().split("="); + if (p[0] === "q") { + q = parseFloat(p[1]); + break; + } + } + } + return { + charset, + q, + i + }; + } + function getCharsetPriority(charset, accepted, index) { + var priority = { o: -1, q: 0, s: 0 }; + for (var i = 0; i < accepted.length; i++) { + var spec = specify(charset, accepted[i], index); + if (spec && (priority.s - spec.s || priority.q - spec.q || priority.o - spec.o) < 0) { + priority = spec; + } + } + return priority; + } + function specify(charset, spec, index) { + var s = 0; + if (spec.charset.toLowerCase() === charset.toLowerCase()) { + s |= 1; + } else if (spec.charset !== "*") { + return null; + } + return { + i: index, + o: spec.i, + q: spec.q, + s + }; + } + function preferredCharsets(accept, provided) { + var accepts = parseAcceptCharset(accept === void 0 ? "*" : accept || ""); + if (!provided) { + return accepts.filter(isQuality).sort(compareSpecs).map(getFullCharset); + } + var priorities = provided.map(function getPriority(type, index) { + return getCharsetPriority(type, accepts, index); + }); + return priorities.filter(isQuality).sort(compareSpecs).map(function getCharset(priority) { + return provided[priorities.indexOf(priority)]; + }); + } + function compareSpecs(a, b) { + return b.q - a.q || b.s - a.s || a.o - b.o || a.i - b.i || 0; + } + function getFullCharset(spec) { + return spec.charset; + } + function isQuality(spec) { + return spec.q > 0; + } + } +}); +var require_encoding = __commonJS2({ + "node_modules/negotiator/lib/encoding.js"(exports2, module2) { + "use strict"; + module2.exports = preferredEncodings; + module2.exports.preferredEncodings = preferredEncodings; + var simpleEncodingRegExp = /^\s*([^\s;]+)\s*(?:;(.*))?$/; + function parseAcceptEncoding(accept) { + var accepts = accept.split(","); + var hasIdentity = false; + var minQuality = 1; + for (var i = 0, j = 0; i < accepts.length; i++) { + var encoding = parseEncoding(accepts[i].trim(), i); + if (encoding) { + accepts[j++] = encoding; + hasIdentity = hasIdentity || specify("identity", encoding); + minQuality = Math.min(minQuality, encoding.q || 1); + } + } + if (!hasIdentity) { + accepts[j++] = { + encoding: "identity", + q: minQuality, + i + }; + } + accepts.length = j; + return accepts; + } + function parseEncoding(str, i) { + var match = simpleEncodingRegExp.exec(str); + if (!match) return null; + var encoding = match[1]; + var q = 1; + if (match[2]) { + var params = match[2].split(";"); + for (var j = 0; j < params.length; j++) { + var p = params[j].trim().split("="); + if (p[0] === "q") { + q = parseFloat(p[1]); + break; + } + } + } + return { + encoding, + q, + i + }; + } + function getEncodingPriority(encoding, accepted, index) { + var priority = { encoding, o: -1, q: 0, s: 0 }; + for (var i = 0; i < accepted.length; i++) { + var spec = specify(encoding, accepted[i], index); + if (spec && (priority.s - spec.s || priority.q - spec.q || priority.o - spec.o) < 0) { + priority = spec; + } + } + return priority; + } + function specify(encoding, spec, index) { + var s = 0; + if (spec.encoding.toLowerCase() === encoding.toLowerCase()) { + s |= 1; + } else if (spec.encoding !== "*") { + return null; + } + return { + encoding, + i: index, + o: spec.i, + q: spec.q, + s + }; + } + function preferredEncodings(accept, provided, preferred) { + var accepts = parseAcceptEncoding(accept || ""); + var comparator = preferred ? function comparator2(a, b) { + if (a.q !== b.q) { + return b.q - a.q; + } + var aPreferred = preferred.indexOf(a.encoding); + var bPreferred = preferred.indexOf(b.encoding); + if (aPreferred === -1 && bPreferred === -1) { + return b.s - a.s || a.o - b.o || a.i - b.i; + } + if (aPreferred !== -1 && bPreferred !== -1) { + return aPreferred - bPreferred; + } + return aPreferred === -1 ? 1 : -1; + } : compareSpecs; + if (!provided) { + return accepts.filter(isQuality).sort(comparator).map(getFullEncoding); + } + var priorities = provided.map(function getPriority(type, index) { + return getEncodingPriority(type, accepts, index); + }); + return priorities.filter(isQuality).sort(comparator).map(function getEncoding(priority) { + return provided[priorities.indexOf(priority)]; + }); + } + function compareSpecs(a, b) { + return b.q - a.q || b.s - a.s || a.o - b.o || a.i - b.i; + } + function getFullEncoding(spec) { + return spec.encoding; + } + function isQuality(spec) { + return spec.q > 0; + } + } +}); +var require_language = __commonJS2({ + "node_modules/negotiator/lib/language.js"(exports2, module2) { + "use strict"; + module2.exports = preferredLanguages; + module2.exports.preferredLanguages = preferredLanguages; + var simpleLanguageRegExp = /^\s*([^\s\-;]+)(?:-([^\s;]+))?\s*(?:;(.*))?$/; + function parseAcceptLanguage(accept) { + var accepts = accept.split(","); + for (var i = 0, j = 0; i < accepts.length; i++) { + var language = parseLanguage(accepts[i].trim(), i); + if (language) { + accepts[j++] = language; + } + } + accepts.length = j; + return accepts; + } + function parseLanguage(str, i) { + var match = simpleLanguageRegExp.exec(str); + if (!match) return null; + var prefix = match[1]; + var suffix = match[2]; + var full = prefix; + if (suffix) full += "-" + suffix; + var q = 1; + if (match[3]) { + var params = match[3].split(";"); + for (var j = 0; j < params.length; j++) { + var p = params[j].split("="); + if (p[0] === "q") q = parseFloat(p[1]); + } + } + return { + prefix, + suffix, + q, + i, + full + }; + } + function getLanguagePriority(language, accepted, index) { + var priority = { o: -1, q: 0, s: 0 }; + for (var i = 0; i < accepted.length; i++) { + var spec = specify(language, accepted[i], index); + if (spec && (priority.s - spec.s || priority.q - spec.q || priority.o - spec.o) < 0) { + priority = spec; + } + } + return priority; + } + function specify(language, spec, index) { + var p = parseLanguage(language); + if (!p) return null; + var s = 0; + if (spec.full.toLowerCase() === p.full.toLowerCase()) { + s |= 4; + } else if (spec.prefix.toLowerCase() === p.full.toLowerCase()) { + s |= 2; + } else if (spec.full.toLowerCase() === p.prefix.toLowerCase()) { + s |= 1; + } else if (spec.full !== "*") { + return null; + } + return { + i: index, + o: spec.i, + q: spec.q, + s + }; + } + function preferredLanguages(accept, provided) { + var accepts = parseAcceptLanguage(accept === void 0 ? "*" : accept || ""); + if (!provided) { + return accepts.filter(isQuality).sort(compareSpecs).map(getFullLanguage); + } + var priorities = provided.map(function getPriority(type, index) { + return getLanguagePriority(type, accepts, index); + }); + return priorities.filter(isQuality).sort(compareSpecs).map(function getLanguage(priority) { + return provided[priorities.indexOf(priority)]; + }); + } + function compareSpecs(a, b) { + return b.q - a.q || b.s - a.s || a.o - b.o || a.i - b.i || 0; + } + function getFullLanguage(spec) { + return spec.full; + } + function isQuality(spec) { + return spec.q > 0; + } + } +}); +var require_mediaType = __commonJS2({ + "node_modules/negotiator/lib/mediaType.js"(exports2, module2) { + "use strict"; + module2.exports = preferredMediaTypes; + module2.exports.preferredMediaTypes = preferredMediaTypes; + var simpleMediaTypeRegExp = /^\s*([^\s\/;]+)\/([^;\s]+)\s*(?:;(.*))?$/; + function parseAccept(accept) { + var accepts = splitMediaTypes(accept); + for (var i = 0, j = 0; i < accepts.length; i++) { + var mediaType = parseMediaType(accepts[i].trim(), i); + if (mediaType) { + accepts[j++] = mediaType; + } + } + accepts.length = j; + return accepts; + } + function parseMediaType(str, i) { + var match = simpleMediaTypeRegExp.exec(str); + if (!match) return null; + var params = /* @__PURE__ */ Object.create(null); + var q = 1; + var subtype = match[2]; + var type = match[1]; + if (match[3]) { + var kvps = splitParameters(match[3]).map(splitKeyValuePair); + for (var j = 0; j < kvps.length; j++) { + var pair = kvps[j]; + var key = pair[0].toLowerCase(); + var val = pair[1]; + var value = val && val[0] === '"' && val[val.length - 1] === '"' ? val.slice(1, -1) : val; + if (key === "q") { + q = parseFloat(value); + break; + } + params[key] = value; + } + } + return { + type, + subtype, + params, + q, + i + }; + } + function getMediaTypePriority(type, accepted, index) { + var priority = { o: -1, q: 0, s: 0 }; + for (var i = 0; i < accepted.length; i++) { + var spec = specify(type, accepted[i], index); + if (spec && (priority.s - spec.s || priority.q - spec.q || priority.o - spec.o) < 0) { + priority = spec; + } + } + return priority; + } + function specify(type, spec, index) { + var p = parseMediaType(type); + var s = 0; + if (!p) { + return null; + } + if (spec.type.toLowerCase() == p.type.toLowerCase()) { + s |= 4; + } else if (spec.type != "*") { + return null; + } + if (spec.subtype.toLowerCase() == p.subtype.toLowerCase()) { + s |= 2; + } else if (spec.subtype != "*") { + return null; + } + var keys = Object.keys(spec.params); + if (keys.length > 0) { + if (keys.every(function(k) { + return spec.params[k] == "*" || (spec.params[k] || "").toLowerCase() == (p.params[k] || "").toLowerCase(); + })) { + s |= 1; + } else { + return null; + } + } + return { + i: index, + o: spec.i, + q: spec.q, + s + }; + } + function preferredMediaTypes(accept, provided) { + var accepts = parseAccept(accept === void 0 ? "*/*" : accept || ""); + if (!provided) { + return accepts.filter(isQuality).sort(compareSpecs).map(getFullType); + } + var priorities = provided.map(function getPriority(type, index) { + return getMediaTypePriority(type, accepts, index); + }); + return priorities.filter(isQuality).sort(compareSpecs).map(function getType(priority) { + return provided[priorities.indexOf(priority)]; + }); + } + function compareSpecs(a, b) { + return b.q - a.q || b.s - a.s || a.o - b.o || a.i - b.i || 0; + } + function getFullType(spec) { + return spec.type + "/" + spec.subtype; + } + function isQuality(spec) { + return spec.q > 0; + } + function quoteCount(string) { + var count = 0; + var index = 0; + while ((index = string.indexOf('"', index)) !== -1) { + count++; + index++; + } + return count; + } + function splitKeyValuePair(str) { + var index = str.indexOf("="); + var key; + var val; + if (index === -1) { + key = str; + } else { + key = str.slice(0, index); + val = str.slice(index + 1); + } + return [key, val]; + } + function splitMediaTypes(accept) { + var accepts = accept.split(","); + for (var i = 1, j = 0; i < accepts.length; i++) { + if (quoteCount(accepts[j]) % 2 == 0) { + accepts[++j] = accepts[i]; + } else { + accepts[j] += "," + accepts[i]; + } + } + accepts.length = j + 1; + return accepts; + } + function splitParameters(str) { + var parameters = str.split(";"); + for (var i = 1, j = 0; i < parameters.length; i++) { + if (quoteCount(parameters[j]) % 2 == 0) { + parameters[++j] = parameters[i]; + } else { + parameters[j] += ";" + parameters[i]; + } + } + parameters.length = j + 1; + for (var i = 0; i < parameters.length; i++) { + parameters[i] = parameters[i].trim(); + } + return parameters; + } + } +}); +var require_negotiator = __commonJS2({ + "node_modules/negotiator/index.js"(exports2, module2) { + "use strict"; + var preferredCharsets = require_charset(); + var preferredEncodings = require_encoding(); + var preferredLanguages = require_language(); + var preferredMediaTypes = require_mediaType(); + module2.exports = Negotiator; + module2.exports.Negotiator = Negotiator; + function Negotiator(request) { + if (!(this instanceof Negotiator)) { + return new Negotiator(request); + } + this.request = request; + } + Negotiator.prototype.charset = function charset(available) { + var set = this.charsets(available); + return set && set[0]; + }; + Negotiator.prototype.charsets = function charsets(available) { + return preferredCharsets(this.request.headers["accept-charset"], available); + }; + Negotiator.prototype.encoding = function encoding(available, opts) { + var set = this.encodings(available, opts); + return set && set[0]; + }; + Negotiator.prototype.encodings = function encodings(available, options) { + var opts = options || {}; + return preferredEncodings(this.request.headers["accept-encoding"], available, opts.preferred); + }; + Negotiator.prototype.language = function language(available) { + var set = this.languages(available); + return set && set[0]; + }; + Negotiator.prototype.languages = function languages(available) { + return preferredLanguages(this.request.headers["accept-language"], available); + }; + Negotiator.prototype.mediaType = function mediaType(available) { + var set = this.mediaTypes(available); + return set && set[0]; + }; + Negotiator.prototype.mediaTypes = function mediaTypes(available) { + return preferredMediaTypes(this.request.headers.accept, available); + }; + Negotiator.prototype.preferredCharset = Negotiator.prototype.charset; + Negotiator.prototype.preferredCharsets = Negotiator.prototype.charsets; + Negotiator.prototype.preferredEncoding = Negotiator.prototype.encoding; + Negotiator.prototype.preferredEncodings = Negotiator.prototype.encodings; + Negotiator.prototype.preferredLanguage = Negotiator.prototype.language; + Negotiator.prototype.preferredLanguages = Negotiator.prototype.languages; + Negotiator.prototype.preferredMediaType = Negotiator.prototype.mediaType; + Negotiator.prototype.preferredMediaTypes = Negotiator.prototype.mediaTypes; + } +}); +var require_db3 = __commonJS2({ + "node_modules/accepts/node_modules/mime-db/db.json"(exports2, module2) { + module2.exports = { + "application/1d-interleaved-parityfec": { + source: "iana" + }, + "application/3gpdash-qoe-report+xml": { + source: "iana", + charset: "UTF-8", + compressible: true + }, + "application/3gpp-ims+xml": { + source: "iana", + compressible: true + }, + "application/3gpphal+json": { + source: "iana", + compressible: true + }, + "application/3gpphalforms+json": { + source: "iana", + compressible: true + }, + "application/a2l": { + source: "iana" + }, + "application/ace+cbor": { + source: "iana" + }, + "application/ace+json": { + source: "iana", + compressible: true + }, + "application/ace-groupcomm+cbor": { + source: "iana" + }, + "application/ace-trl+cbor": { + source: "iana" + }, + "application/activemessage": { + source: "iana" + }, + "application/activity+json": { + source: "iana", + compressible: true + }, + "application/aif+cbor": { + source: "iana" + }, + "application/aif+json": { + source: "iana", + compressible: true + }, + "application/alto-cdni+json": { + source: "iana", + compressible: true + }, + "application/alto-cdnifilter+json": { + source: "iana", + compressible: true + }, + "application/alto-costmap+json": { + source: "iana", + compressible: true + }, + "application/alto-costmapfilter+json": { + source: "iana", + compressible: true + }, + "application/alto-directory+json": { + source: "iana", + compressible: true + }, + "application/alto-endpointcost+json": { + source: "iana", + compressible: true + }, + "application/alto-endpointcostparams+json": { + source: "iana", + compressible: true + }, + "application/alto-endpointprop+json": { + source: "iana", + compressible: true + }, + "application/alto-endpointpropparams+json": { + source: "iana", + compressible: true + }, + "application/alto-error+json": { + source: "iana", + compressible: true + }, + "application/alto-networkmap+json": { + source: "iana", + compressible: true + }, + "application/alto-networkmapfilter+json": { + source: "iana", + compressible: true + }, + "application/alto-propmap+json": { + source: "iana", + compressible: true + }, + "application/alto-propmapparams+json": { + source: "iana", + compressible: true + }, + "application/alto-tips+json": { + source: "iana", + compressible: true + }, + "application/alto-tipsparams+json": { + source: "iana", + compressible: true + }, + "application/alto-updatestreamcontrol+json": { + source: "iana", + compressible: true + }, + "application/alto-updatestreamparams+json": { + source: "iana", + compressible: true + }, + "application/aml": { + source: "iana" + }, + "application/andrew-inset": { + source: "iana", + extensions: ["ez"] + }, + "application/appinstaller": { + compressible: false, + extensions: ["appinstaller"] + }, + "application/applefile": { + source: "iana" + }, + "application/applixware": { + source: "apache", + extensions: ["aw"] + }, + "application/appx": { + compressible: false, + extensions: ["appx"] + }, + "application/appxbundle": { + compressible: false, + extensions: ["appxbundle"] + }, + "application/at+jwt": { + source: "iana" + }, + "application/atf": { + source: "iana" + }, + "application/atfx": { + source: "iana" + }, + "application/atom+xml": { + source: "iana", + compressible: true, + extensions: ["atom"] + }, + "application/atomcat+xml": { + source: "iana", + compressible: true, + extensions: ["atomcat"] + }, + "application/atomdeleted+xml": { + source: "iana", + compressible: true, + extensions: ["atomdeleted"] + }, + "application/atomicmail": { + source: "iana" + }, + "application/atomsvc+xml": { + source: "iana", + compressible: true, + extensions: ["atomsvc"] + }, + "application/atsc-dwd+xml": { + source: "iana", + compressible: true, + extensions: ["dwd"] + }, + "application/atsc-dynamic-event-message": { + source: "iana" + }, + "application/atsc-held+xml": { + source: "iana", + compressible: true, + extensions: ["held"] + }, + "application/atsc-rdt+json": { + source: "iana", + compressible: true + }, + "application/atsc-rsat+xml": { + source: "iana", + compressible: true, + extensions: ["rsat"] + }, + "application/atxml": { + source: "iana" + }, + "application/auth-policy+xml": { + source: "iana", + compressible: true + }, + "application/automationml-aml+xml": { + source: "iana", + compressible: true, + extensions: ["aml"] + }, + "application/automationml-amlx+zip": { + source: "iana", + compressible: false, + extensions: ["amlx"] + }, + "application/bacnet-xdd+zip": { + source: "iana", + compressible: false + }, + "application/batch-smtp": { + source: "iana" + }, + "application/bdoc": { + compressible: false, + extensions: ["bdoc"] + }, + "application/beep+xml": { + source: "iana", + charset: "UTF-8", + compressible: true + }, + "application/bufr": { + source: "iana" + }, + "application/c2pa": { + source: "iana" + }, + "application/calendar+json": { + source: "iana", + compressible: true + }, + "application/calendar+xml": { + source: "iana", + compressible: true, + extensions: ["xcs"] + }, + "application/call-completion": { + source: "iana" + }, + "application/cals-1840": { + source: "iana" + }, + "application/captive+json": { + source: "iana", + compressible: true + }, + "application/cbor": { + source: "iana" + }, + "application/cbor-seq": { + source: "iana" + }, + "application/cccex": { + source: "iana" + }, + "application/ccmp+xml": { + source: "iana", + compressible: true + }, + "application/ccxml+xml": { + source: "iana", + compressible: true, + extensions: ["ccxml"] + }, + "application/cda+xml": { + source: "iana", + charset: "UTF-8", + compressible: true + }, + "application/cdfx+xml": { + source: "iana", + compressible: true, + extensions: ["cdfx"] + }, + "application/cdmi-capability": { + source: "iana", + extensions: ["cdmia"] + }, + "application/cdmi-container": { + source: "iana", + extensions: ["cdmic"] + }, + "application/cdmi-domain": { + source: "iana", + extensions: ["cdmid"] + }, + "application/cdmi-object": { + source: "iana", + extensions: ["cdmio"] + }, + "application/cdmi-queue": { + source: "iana", + extensions: ["cdmiq"] + }, + "application/cdni": { + source: "iana" + }, + "application/ce+cbor": { + source: "iana" + }, + "application/cea": { + source: "iana" + }, + "application/cea-2018+xml": { + source: "iana", + compressible: true + }, + "application/cellml+xml": { + source: "iana", + compressible: true + }, + "application/cfw": { + source: "iana" + }, + "application/cid-edhoc+cbor-seq": { + source: "iana" + }, + "application/city+json": { + source: "iana", + compressible: true + }, + "application/city+json-seq": { + source: "iana" + }, + "application/clr": { + source: "iana" + }, + "application/clue+xml": { + source: "iana", + compressible: true + }, + "application/clue_info+xml": { + source: "iana", + compressible: true + }, + "application/cms": { + source: "iana" + }, + "application/cnrp+xml": { + source: "iana", + compressible: true + }, + "application/coap-eap": { + source: "iana" + }, + "application/coap-group+json": { + source: "iana", + compressible: true + }, + "application/coap-payload": { + source: "iana" + }, + "application/commonground": { + source: "iana" + }, + "application/concise-problem-details+cbor": { + source: "iana" + }, + "application/conference-info+xml": { + source: "iana", + compressible: true + }, + "application/cose": { + source: "iana" + }, + "application/cose-key": { + source: "iana" + }, + "application/cose-key-set": { + source: "iana" + }, + "application/cose-x509": { + source: "iana" + }, + "application/cpl+xml": { + source: "iana", + compressible: true, + extensions: ["cpl"] + }, + "application/csrattrs": { + source: "iana" + }, + "application/csta+xml": { + source: "iana", + compressible: true + }, + "application/cstadata+xml": { + source: "iana", + compressible: true + }, + "application/csvm+json": { + source: "iana", + compressible: true + }, + "application/cu-seeme": { + source: "apache", + extensions: ["cu"] + }, + "application/cwl": { + source: "iana", + extensions: ["cwl"] + }, + "application/cwl+json": { + source: "iana", + compressible: true + }, + "application/cwl+yaml": { + source: "iana" + }, + "application/cwt": { + source: "iana" + }, + "application/cybercash": { + source: "iana" + }, + "application/dart": { + compressible: true + }, + "application/dash+xml": { + source: "iana", + compressible: true, + extensions: ["mpd"] + }, + "application/dash-patch+xml": { + source: "iana", + compressible: true, + extensions: ["mpp"] + }, + "application/dashdelta": { + source: "iana" + }, + "application/davmount+xml": { + source: "iana", + compressible: true, + extensions: ["davmount"] + }, + "application/dca-rft": { + source: "iana" + }, + "application/dcd": { + source: "iana" + }, + "application/dec-dx": { + source: "iana" + }, + "application/dialog-info+xml": { + source: "iana", + compressible: true + }, + "application/dicom": { + source: "iana", + extensions: ["dcm"] + }, + "application/dicom+json": { + source: "iana", + compressible: true + }, + "application/dicom+xml": { + source: "iana", + compressible: true + }, + "application/dii": { + source: "iana" + }, + "application/dit": { + source: "iana" + }, + "application/dns": { + source: "iana" + }, + "application/dns+json": { + source: "iana", + compressible: true + }, + "application/dns-message": { + source: "iana" + }, + "application/docbook+xml": { + source: "apache", + compressible: true, + extensions: ["dbk"] + }, + "application/dots+cbor": { + source: "iana" + }, + "application/dpop+jwt": { + source: "iana" + }, + "application/dskpp+xml": { + source: "iana", + compressible: true + }, + "application/dssc+der": { + source: "iana", + extensions: ["dssc"] + }, + "application/dssc+xml": { + source: "iana", + compressible: true, + extensions: ["xdssc"] + }, + "application/dvcs": { + source: "iana" + }, + "application/eat+cwt": { + source: "iana" + }, + "application/eat+jwt": { + source: "iana" + }, + "application/eat-bun+cbor": { + source: "iana" + }, + "application/eat-bun+json": { + source: "iana", + compressible: true + }, + "application/eat-ucs+cbor": { + source: "iana" + }, + "application/eat-ucs+json": { + source: "iana", + compressible: true + }, + "application/ecmascript": { + source: "apache", + compressible: true, + extensions: ["ecma"] + }, + "application/edhoc+cbor-seq": { + source: "iana" + }, + "application/edi-consent": { + source: "iana" + }, + "application/edi-x12": { + source: "iana", + compressible: false + }, + "application/edifact": { + source: "iana", + compressible: false + }, + "application/efi": { + source: "iana" + }, + "application/elm+json": { + source: "iana", + charset: "UTF-8", + compressible: true + }, + "application/elm+xml": { + source: "iana", + compressible: true + }, + "application/emergencycalldata.cap+xml": { + source: "iana", + charset: "UTF-8", + compressible: true + }, + "application/emergencycalldata.comment+xml": { + source: "iana", + compressible: true + }, + "application/emergencycalldata.control+xml": { + source: "iana", + compressible: true + }, + "application/emergencycalldata.deviceinfo+xml": { + source: "iana", + compressible: true + }, + "application/emergencycalldata.ecall.msd": { + source: "iana" + }, + "application/emergencycalldata.legacyesn+json": { + source: "iana", + compressible: true + }, + "application/emergencycalldata.providerinfo+xml": { + source: "iana", + compressible: true + }, + "application/emergencycalldata.serviceinfo+xml": { + source: "iana", + compressible: true + }, + "application/emergencycalldata.subscriberinfo+xml": { + source: "iana", + compressible: true + }, + "application/emergencycalldata.veds+xml": { + source: "iana", + compressible: true + }, + "application/emma+xml": { + source: "iana", + compressible: true, + extensions: ["emma"] + }, + "application/emotionml+xml": { + source: "iana", + compressible: true, + extensions: ["emotionml"] + }, + "application/encaprtp": { + source: "iana" + }, + "application/entity-statement+jwt": { + source: "iana" + }, + "application/epp+xml": { + source: "iana", + compressible: true + }, + "application/epub+zip": { + source: "iana", + compressible: false, + extensions: ["epub"] + }, + "application/eshop": { + source: "iana" + }, + "application/exi": { + source: "iana", + extensions: ["exi"] + }, + "application/expect-ct-report+json": { + source: "iana", + compressible: true + }, + "application/express": { + source: "iana", + extensions: ["exp"] + }, + "application/fastinfoset": { + source: "iana" + }, + "application/fastsoap": { + source: "iana" + }, + "application/fdf": { + source: "iana", + extensions: ["fdf"] + }, + "application/fdt+xml": { + source: "iana", + compressible: true, + extensions: ["fdt"] + }, + "application/fhir+json": { + source: "iana", + charset: "UTF-8", + compressible: true + }, + "application/fhir+xml": { + source: "iana", + charset: "UTF-8", + compressible: true + }, + "application/fido.trusted-apps+json": { + compressible: true + }, + "application/fits": { + source: "iana" + }, + "application/flexfec": { + source: "iana" + }, + "application/font-sfnt": { + source: "iana" + }, + "application/font-tdpfr": { + source: "iana", + extensions: ["pfr"] + }, + "application/font-woff": { + source: "iana", + compressible: false + }, + "application/framework-attributes+xml": { + source: "iana", + compressible: true + }, + "application/geo+json": { + source: "iana", + compressible: true, + extensions: ["geojson"] + }, + "application/geo+json-seq": { + source: "iana" + }, + "application/geopackage+sqlite3": { + source: "iana" + }, + "application/geopose+json": { + source: "iana", + compressible: true + }, + "application/geoxacml+json": { + source: "iana", + compressible: true + }, + "application/geoxacml+xml": { + source: "iana", + compressible: true + }, + "application/gltf-buffer": { + source: "iana" + }, + "application/gml+xml": { + source: "iana", + compressible: true, + extensions: ["gml"] + }, + "application/gnap-binding-jws": { + source: "iana" + }, + "application/gnap-binding-jwsd": { + source: "iana" + }, + "application/gnap-binding-rotation-jws": { + source: "iana" + }, + "application/gnap-binding-rotation-jwsd": { + source: "iana" + }, + "application/gpx+xml": { + source: "apache", + compressible: true, + extensions: ["gpx"] + }, + "application/grib": { + source: "iana" + }, + "application/gxf": { + source: "apache", + extensions: ["gxf"] + }, + "application/gzip": { + source: "iana", + compressible: false, + extensions: ["gz"] + }, + "application/h224": { + source: "iana" + }, + "application/held+xml": { + source: "iana", + compressible: true + }, + "application/hjson": { + extensions: ["hjson"] + }, + "application/hl7v2+xml": { + source: "iana", + charset: "UTF-8", + compressible: true + }, + "application/http": { + source: "iana" + }, + "application/hyperstudio": { + source: "iana", + extensions: ["stk"] + }, + "application/ibe-key-request+xml": { + source: "iana", + compressible: true + }, + "application/ibe-pkg-reply+xml": { + source: "iana", + compressible: true + }, + "application/ibe-pp-data": { + source: "iana" + }, + "application/iges": { + source: "iana" + }, + "application/im-iscomposing+xml": { + source: "iana", + charset: "UTF-8", + compressible: true + }, + "application/index": { + source: "iana" + }, + "application/index.cmd": { + source: "iana" + }, + "application/index.obj": { + source: "iana" + }, + "application/index.response": { + source: "iana" + }, + "application/index.vnd": { + source: "iana" + }, + "application/inkml+xml": { + source: "iana", + compressible: true, + extensions: ["ink", "inkml"] + }, + "application/iotp": { + source: "iana" + }, + "application/ipfix": { + source: "iana", + extensions: ["ipfix"] + }, + "application/ipp": { + source: "iana" + }, + "application/isup": { + source: "iana" + }, + "application/its+xml": { + source: "iana", + compressible: true, + extensions: ["its"] + }, + "application/java-archive": { + source: "iana", + compressible: false, + extensions: ["jar", "war", "ear"] + }, + "application/java-serialized-object": { + source: "apache", + compressible: false, + extensions: ["ser"] + }, + "application/java-vm": { + source: "apache", + compressible: false, + extensions: ["class"] + }, + "application/javascript": { + source: "apache", + charset: "UTF-8", + compressible: true, + extensions: ["js"] + }, + "application/jf2feed+json": { + source: "iana", + compressible: true + }, + "application/jose": { + source: "iana" + }, + "application/jose+json": { + source: "iana", + compressible: true + }, + "application/jrd+json": { + source: "iana", + compressible: true + }, + "application/jscalendar+json": { + source: "iana", + compressible: true + }, + "application/jscontact+json": { + source: "iana", + compressible: true + }, + "application/json": { + source: "iana", + charset: "UTF-8", + compressible: true, + extensions: ["json", "map"] + }, + "application/json-patch+json": { + source: "iana", + compressible: true + }, + "application/json-seq": { + source: "iana" + }, + "application/json5": { + extensions: ["json5"] + }, + "application/jsonml+json": { + source: "apache", + compressible: true, + extensions: ["jsonml"] + }, + "application/jsonpath": { + source: "iana" + }, + "application/jwk+json": { + source: "iana", + compressible: true + }, + "application/jwk-set+json": { + source: "iana", + compressible: true + }, + "application/jwk-set+jwt": { + source: "iana" + }, + "application/jwt": { + source: "iana" + }, + "application/kpml-request+xml": { + source: "iana", + compressible: true + }, + "application/kpml-response+xml": { + source: "iana", + compressible: true + }, + "application/ld+json": { + source: "iana", + compressible: true, + extensions: ["jsonld"] + }, + "application/lgr+xml": { + source: "iana", + compressible: true, + extensions: ["lgr"] + }, + "application/link-format": { + source: "iana" + }, + "application/linkset": { + source: "iana" + }, + "application/linkset+json": { + source: "iana", + compressible: true + }, + "application/load-control+xml": { + source: "iana", + compressible: true + }, + "application/logout+jwt": { + source: "iana" + }, + "application/lost+xml": { + source: "iana", + compressible: true, + extensions: ["lostxml"] + }, + "application/lostsync+xml": { + source: "iana", + compressible: true + }, + "application/lpf+zip": { + source: "iana", + compressible: false + }, + "application/lxf": { + source: "iana" + }, + "application/mac-binhex40": { + source: "iana", + extensions: ["hqx"] + }, + "application/mac-compactpro": { + source: "apache", + extensions: ["cpt"] + }, + "application/macwriteii": { + source: "iana" + }, + "application/mads+xml": { + source: "iana", + compressible: true, + extensions: ["mads"] + }, + "application/manifest+json": { + source: "iana", + charset: "UTF-8", + compressible: true, + extensions: ["webmanifest"] + }, + "application/marc": { + source: "iana", + extensions: ["mrc"] + }, + "application/marcxml+xml": { + source: "iana", + compressible: true, + extensions: ["mrcx"] + }, + "application/mathematica": { + source: "iana", + extensions: ["ma", "nb", "mb"] + }, + "application/mathml+xml": { + source: "iana", + compressible: true, + extensions: ["mathml"] + }, + "application/mathml-content+xml": { + source: "iana", + compressible: true + }, + "application/mathml-presentation+xml": { + source: "iana", + compressible: true + }, + "application/mbms-associated-procedure-description+xml": { + source: "iana", + compressible: true + }, + "application/mbms-deregister+xml": { + source: "iana", + compressible: true + }, + "application/mbms-envelope+xml": { + source: "iana", + compressible: true + }, + "application/mbms-msk+xml": { + source: "iana", + compressible: true + }, + "application/mbms-msk-response+xml": { + source: "iana", + compressible: true + }, + "application/mbms-protection-description+xml": { + source: "iana", + compressible: true + }, + "application/mbms-reception-report+xml": { + source: "iana", + compressible: true + }, + "application/mbms-register+xml": { + source: "iana", + compressible: true + }, + "application/mbms-register-response+xml": { + source: "iana", + compressible: true + }, + "application/mbms-schedule+xml": { + source: "iana", + compressible: true + }, + "application/mbms-user-service-description+xml": { + source: "iana", + compressible: true + }, + "application/mbox": { + source: "iana", + extensions: ["mbox"] + }, + "application/media-policy-dataset+xml": { + source: "iana", + compressible: true, + extensions: ["mpf"] + }, + "application/media_control+xml": { + source: "iana", + compressible: true + }, + "application/mediaservercontrol+xml": { + source: "iana", + compressible: true, + extensions: ["mscml"] + }, + "application/merge-patch+json": { + source: "iana", + compressible: true + }, + "application/metalink+xml": { + source: "apache", + compressible: true, + extensions: ["metalink"] + }, + "application/metalink4+xml": { + source: "iana", + compressible: true, + extensions: ["meta4"] + }, + "application/mets+xml": { + source: "iana", + compressible: true, + extensions: ["mets"] + }, + "application/mf4": { + source: "iana" + }, + "application/mikey": { + source: "iana" + }, + "application/mipc": { + source: "iana" + }, + "application/missing-blocks+cbor-seq": { + source: "iana" + }, + "application/mmt-aei+xml": { + source: "iana", + compressible: true, + extensions: ["maei"] + }, + "application/mmt-usd+xml": { + source: "iana", + compressible: true, + extensions: ["musd"] + }, + "application/mods+xml": { + source: "iana", + compressible: true, + extensions: ["mods"] + }, + "application/moss-keys": { + source: "iana" + }, + "application/moss-signature": { + source: "iana" + }, + "application/mosskey-data": { + source: "iana" + }, + "application/mosskey-request": { + source: "iana" + }, + "application/mp21": { + source: "iana", + extensions: ["m21", "mp21"] + }, + "application/mp4": { + source: "iana", + extensions: ["mp4", "mpg4", "mp4s", "m4p"] + }, + "application/mpeg4-generic": { + source: "iana" + }, + "application/mpeg4-iod": { + source: "iana" + }, + "application/mpeg4-iod-xmt": { + source: "iana" + }, + "application/mrb-consumer+xml": { + source: "iana", + compressible: true + }, + "application/mrb-publish+xml": { + source: "iana", + compressible: true + }, + "application/msc-ivr+xml": { + source: "iana", + charset: "UTF-8", + compressible: true + }, + "application/msc-mixer+xml": { + source: "iana", + charset: "UTF-8", + compressible: true + }, + "application/msix": { + compressible: false, + extensions: ["msix"] + }, + "application/msixbundle": { + compressible: false, + extensions: ["msixbundle"] + }, + "application/msword": { + source: "iana", + compressible: false, + extensions: ["doc", "dot"] + }, + "application/mud+json": { + source: "iana", + compressible: true + }, + "application/multipart-core": { + source: "iana" + }, + "application/mxf": { + source: "iana", + extensions: ["mxf"] + }, + "application/n-quads": { + source: "iana", + extensions: ["nq"] + }, + "application/n-triples": { + source: "iana", + extensions: ["nt"] + }, + "application/nasdata": { + source: "iana" + }, + "application/news-checkgroups": { + source: "iana", + charset: "US-ASCII" + }, + "application/news-groupinfo": { + source: "iana", + charset: "US-ASCII" + }, + "application/news-transmission": { + source: "iana" + }, + "application/nlsml+xml": { + source: "iana", + compressible: true + }, + "application/node": { + source: "iana", + extensions: ["cjs"] + }, + "application/nss": { + source: "iana" + }, + "application/oauth-authz-req+jwt": { + source: "iana" + }, + "application/oblivious-dns-message": { + source: "iana" + }, + "application/ocsp-request": { + source: "iana" + }, + "application/ocsp-response": { + source: "iana" + }, + "application/octet-stream": { + source: "iana", + compressible: true, + extensions: ["bin", "dms", "lrf", "mar", "so", "dist", "distz", "pkg", "bpk", "dump", "elc", "deploy", "exe", "dll", "deb", "dmg", "iso", "img", "msi", "msp", "msm", "buffer"] + }, + "application/oda": { + source: "iana", + extensions: ["oda"] + }, + "application/odm+xml": { + source: "iana", + compressible: true + }, + "application/odx": { + source: "iana" + }, + "application/oebps-package+xml": { + source: "iana", + compressible: true, + extensions: ["opf"] + }, + "application/ogg": { + source: "iana", + compressible: false, + extensions: ["ogx"] + }, + "application/ohttp-keys": { + source: "iana" + }, + "application/omdoc+xml": { + source: "apache", + compressible: true, + extensions: ["omdoc"] + }, + "application/onenote": { + source: "apache", + extensions: ["onetoc", "onetoc2", "onetmp", "onepkg", "one", "onea"] + }, + "application/opc-nodeset+xml": { + source: "iana", + compressible: true + }, + "application/oscore": { + source: "iana" + }, + "application/oxps": { + source: "iana", + extensions: ["oxps"] + }, + "application/p21": { + source: "iana" + }, + "application/p21+zip": { + source: "iana", + compressible: false + }, + "application/p2p-overlay+xml": { + source: "iana", + compressible: true, + extensions: ["relo"] + }, + "application/parityfec": { + source: "iana" + }, + "application/passport": { + source: "iana" + }, + "application/patch-ops-error+xml": { + source: "iana", + compressible: true, + extensions: ["xer"] + }, + "application/pdf": { + source: "iana", + compressible: false, + extensions: ["pdf"] + }, + "application/pdx": { + source: "iana" + }, + "application/pem-certificate-chain": { + source: "iana" + }, + "application/pgp-encrypted": { + source: "iana", + compressible: false, + extensions: ["pgp"] + }, + "application/pgp-keys": { + source: "iana", + extensions: ["asc"] + }, + "application/pgp-signature": { + source: "iana", + extensions: ["sig", "asc"] + }, + "application/pics-rules": { + source: "apache", + extensions: ["prf"] + }, + "application/pidf+xml": { + source: "iana", + charset: "UTF-8", + compressible: true + }, + "application/pidf-diff+xml": { + source: "iana", + charset: "UTF-8", + compressible: true + }, + "application/pkcs10": { + source: "iana", + extensions: ["p10"] + }, + "application/pkcs12": { + source: "iana" + }, + "application/pkcs7-mime": { + source: "iana", + extensions: ["p7m", "p7c"] + }, + "application/pkcs7-signature": { + source: "iana", + extensions: ["p7s"] + }, + "application/pkcs8": { + source: "iana", + extensions: ["p8"] + }, + "application/pkcs8-encrypted": { + source: "iana" + }, + "application/pkix-attr-cert": { + source: "iana", + extensions: ["ac"] + }, + "application/pkix-cert": { + source: "iana", + extensions: ["cer"] + }, + "application/pkix-crl": { + source: "iana", + extensions: ["crl"] + }, + "application/pkix-pkipath": { + source: "iana", + extensions: ["pkipath"] + }, + "application/pkixcmp": { + source: "iana", + extensions: ["pki"] + }, + "application/pls+xml": { + source: "iana", + compressible: true, + extensions: ["pls"] + }, + "application/poc-settings+xml": { + source: "iana", + charset: "UTF-8", + compressible: true + }, + "application/postscript": { + source: "iana", + compressible: true, + extensions: ["ai", "eps", "ps"] + }, + "application/ppsp-tracker+json": { + source: "iana", + compressible: true + }, + "application/private-token-issuer-directory": { + source: "iana" + }, + "application/private-token-request": { + source: "iana" + }, + "application/private-token-response": { + source: "iana" + }, + "application/problem+json": { + source: "iana", + compressible: true + }, + "application/problem+xml": { + source: "iana", + compressible: true + }, + "application/provenance+xml": { + source: "iana", + compressible: true, + extensions: ["provx"] + }, + "application/provided-claims+jwt": { + source: "iana" + }, + "application/prs.alvestrand.titrax-sheet": { + source: "iana" + }, + "application/prs.cww": { + source: "iana", + extensions: ["cww"] + }, + "application/prs.cyn": { + source: "iana", + charset: "7-BIT" + }, + "application/prs.hpub+zip": { + source: "iana", + compressible: false + }, + "application/prs.implied-document+xml": { + source: "iana", + compressible: true + }, + "application/prs.implied-executable": { + source: "iana" + }, + "application/prs.implied-object+json": { + source: "iana", + compressible: true + }, + "application/prs.implied-object+json-seq": { + source: "iana" + }, + "application/prs.implied-object+yaml": { + source: "iana" + }, + "application/prs.implied-structure": { + source: "iana" + }, + "application/prs.mayfile": { + source: "iana" + }, + "application/prs.nprend": { + source: "iana" + }, + "application/prs.plucker": { + source: "iana" + }, + "application/prs.rdf-xml-crypt": { + source: "iana" + }, + "application/prs.vcfbzip2": { + source: "iana" + }, + "application/prs.xsf+xml": { + source: "iana", + compressible: true, + extensions: ["xsf"] + }, + "application/pskc+xml": { + source: "iana", + compressible: true, + extensions: ["pskcxml"] + }, + "application/pvd+json": { + source: "iana", + compressible: true + }, + "application/qsig": { + source: "iana" + }, + "application/raml+yaml": { + compressible: true, + extensions: ["raml"] + }, + "application/raptorfec": { + source: "iana" + }, + "application/rdap+json": { + source: "iana", + compressible: true + }, + "application/rdf+xml": { + source: "iana", + compressible: true, + extensions: ["rdf", "owl"] + }, + "application/reginfo+xml": { + source: "iana", + compressible: true, + extensions: ["rif"] + }, + "application/relax-ng-compact-syntax": { + source: "iana", + extensions: ["rnc"] + }, + "application/remote-printing": { + source: "apache" + }, + "application/reputon+json": { + source: "iana", + compressible: true + }, + "application/resolve-response+jwt": { + source: "iana" + }, + "application/resource-lists+xml": { + source: "iana", + compressible: true, + extensions: ["rl"] + }, + "application/resource-lists-diff+xml": { + source: "iana", + compressible: true, + extensions: ["rld"] + }, + "application/rfc+xml": { + source: "iana", + compressible: true + }, + "application/riscos": { + source: "iana" + }, + "application/rlmi+xml": { + source: "iana", + compressible: true + }, + "application/rls-services+xml": { + source: "iana", + compressible: true, + extensions: ["rs"] + }, + "application/route-apd+xml": { + source: "iana", + compressible: true, + extensions: ["rapd"] + }, + "application/route-s-tsid+xml": { + source: "iana", + compressible: true, + extensions: ["sls"] + }, + "application/route-usd+xml": { + source: "iana", + compressible: true, + extensions: ["rusd"] + }, + "application/rpki-checklist": { + source: "iana" + }, + "application/rpki-ghostbusters": { + source: "iana", + extensions: ["gbr"] + }, + "application/rpki-manifest": { + source: "iana", + extensions: ["mft"] + }, + "application/rpki-publication": { + source: "iana" + }, + "application/rpki-roa": { + source: "iana", + extensions: ["roa"] + }, + "application/rpki-signed-tal": { + source: "iana" + }, + "application/rpki-updown": { + source: "iana" + }, + "application/rsd+xml": { + source: "apache", + compressible: true, + extensions: ["rsd"] + }, + "application/rss+xml": { + source: "apache", + compressible: true, + extensions: ["rss"] + }, + "application/rtf": { + source: "iana", + compressible: true, + extensions: ["rtf"] + }, + "application/rtploopback": { + source: "iana" + }, + "application/rtx": { + source: "iana" + }, + "application/samlassertion+xml": { + source: "iana", + compressible: true + }, + "application/samlmetadata+xml": { + source: "iana", + compressible: true + }, + "application/sarif+json": { + source: "iana", + compressible: true + }, + "application/sarif-external-properties+json": { + source: "iana", + compressible: true + }, + "application/sbe": { + source: "iana" + }, + "application/sbml+xml": { + source: "iana", + compressible: true, + extensions: ["sbml"] + }, + "application/scaip+xml": { + source: "iana", + compressible: true + }, + "application/scim+json": { + source: "iana", + compressible: true + }, + "application/scvp-cv-request": { + source: "iana", + extensions: ["scq"] + }, + "application/scvp-cv-response": { + source: "iana", + extensions: ["scs"] + }, + "application/scvp-vp-request": { + source: "iana", + extensions: ["spq"] + }, + "application/scvp-vp-response": { + source: "iana", + extensions: ["spp"] + }, + "application/sdp": { + source: "iana", + extensions: ["sdp"] + }, + "application/secevent+jwt": { + source: "iana" + }, + "application/senml+cbor": { + source: "iana" + }, + "application/senml+json": { + source: "iana", + compressible: true + }, + "application/senml+xml": { + source: "iana", + compressible: true, + extensions: ["senmlx"] + }, + "application/senml-etch+cbor": { + source: "iana" + }, + "application/senml-etch+json": { + source: "iana", + compressible: true + }, + "application/senml-exi": { + source: "iana" + }, + "application/sensml+cbor": { + source: "iana" + }, + "application/sensml+json": { + source: "iana", + compressible: true + }, + "application/sensml+xml": { + source: "iana", + compressible: true, + extensions: ["sensmlx"] + }, + "application/sensml-exi": { + source: "iana" + }, + "application/sep+xml": { + source: "iana", + compressible: true + }, + "application/sep-exi": { + source: "iana" + }, + "application/session-info": { + source: "iana" + }, + "application/set-payment": { + source: "iana" + }, + "application/set-payment-initiation": { + source: "iana", + extensions: ["setpay"] + }, + "application/set-registration": { + source: "iana" + }, + "application/set-registration-initiation": { + source: "iana", + extensions: ["setreg"] + }, + "application/sgml": { + source: "iana" + }, + "application/sgml-open-catalog": { + source: "iana" + }, + "application/shf+xml": { + source: "iana", + compressible: true, + extensions: ["shf"] + }, + "application/sieve": { + source: "iana", + extensions: ["siv", "sieve"] + }, + "application/simple-filter+xml": { + source: "iana", + compressible: true + }, + "application/simple-message-summary": { + source: "iana" + }, + "application/simplesymbolcontainer": { + source: "iana" + }, + "application/sipc": { + source: "iana" + }, + "application/slate": { + source: "iana" + }, + "application/smil": { + source: "apache" + }, + "application/smil+xml": { + source: "iana", + compressible: true, + extensions: ["smi", "smil"] + }, + "application/smpte336m": { + source: "iana" + }, + "application/soap+fastinfoset": { + source: "iana" + }, + "application/soap+xml": { + source: "iana", + compressible: true + }, + "application/sparql-query": { + source: "iana", + extensions: ["rq"] + }, + "application/sparql-results+xml": { + source: "iana", + compressible: true, + extensions: ["srx"] + }, + "application/spdx+json": { + source: "iana", + compressible: true + }, + "application/spirits-event+xml": { + source: "iana", + compressible: true + }, + "application/sql": { + source: "iana", + extensions: ["sql"] + }, + "application/srgs": { + source: "iana", + extensions: ["gram"] + }, + "application/srgs+xml": { + source: "iana", + compressible: true, + extensions: ["grxml"] + }, + "application/sru+xml": { + source: "iana", + compressible: true, + extensions: ["sru"] + }, + "application/ssdl+xml": { + source: "apache", + compressible: true, + extensions: ["ssdl"] + }, + "application/sslkeylogfile": { + source: "iana" + }, + "application/ssml+xml": { + source: "iana", + compressible: true, + extensions: ["ssml"] + }, + "application/st2110-41": { + source: "iana" + }, + "application/stix+json": { + source: "iana", + compressible: true + }, + "application/stratum": { + source: "iana" + }, + "application/swid+cbor": { + source: "iana" + }, + "application/swid+xml": { + source: "iana", + compressible: true, + extensions: ["swidtag"] + }, + "application/tamp-apex-update": { + source: "iana" + }, + "application/tamp-apex-update-confirm": { + source: "iana" + }, + "application/tamp-community-update": { + source: "iana" + }, + "application/tamp-community-update-confirm": { + source: "iana" + }, + "application/tamp-error": { + source: "iana" + }, + "application/tamp-sequence-adjust": { + source: "iana" + }, + "application/tamp-sequence-adjust-confirm": { + source: "iana" + }, + "application/tamp-status-query": { + source: "iana" + }, + "application/tamp-status-response": { + source: "iana" + }, + "application/tamp-update": { + source: "iana" + }, + "application/tamp-update-confirm": { + source: "iana" + }, + "application/tar": { + compressible: true + }, + "application/taxii+json": { + source: "iana", + compressible: true + }, + "application/td+json": { + source: "iana", + compressible: true + }, + "application/tei+xml": { + source: "iana", + compressible: true, + extensions: ["tei", "teicorpus"] + }, + "application/tetra_isi": { + source: "iana" + }, + "application/thraud+xml": { + source: "iana", + compressible: true, + extensions: ["tfi"] + }, + "application/timestamp-query": { + source: "iana" + }, + "application/timestamp-reply": { + source: "iana" + }, + "application/timestamped-data": { + source: "iana", + extensions: ["tsd"] + }, + "application/tlsrpt+gzip": { + source: "iana" + }, + "application/tlsrpt+json": { + source: "iana", + compressible: true + }, + "application/tm+json": { + source: "iana", + compressible: true + }, + "application/tnauthlist": { + source: "iana" + }, + "application/toc+cbor": { + source: "iana" + }, + "application/token-introspection+jwt": { + source: "iana" + }, + "application/toml": { + source: "iana", + compressible: true, + extensions: ["toml"] + }, + "application/trickle-ice-sdpfrag": { + source: "iana" + }, + "application/trig": { + source: "iana", + extensions: ["trig"] + }, + "application/trust-chain+json": { + source: "iana", + compressible: true + }, + "application/trust-mark+jwt": { + source: "iana" + }, + "application/trust-mark-delegation+jwt": { + source: "iana" + }, + "application/ttml+xml": { + source: "iana", + compressible: true, + extensions: ["ttml"] + }, + "application/tve-trigger": { + source: "iana" + }, + "application/tzif": { + source: "iana" + }, + "application/tzif-leap": { + source: "iana" + }, + "application/ubjson": { + compressible: false, + extensions: ["ubj"] + }, + "application/uccs+cbor": { + source: "iana" + }, + "application/ujcs+json": { + source: "iana", + compressible: true + }, + "application/ulpfec": { + source: "iana" + }, + "application/urc-grpsheet+xml": { + source: "iana", + compressible: true + }, + "application/urc-ressheet+xml": { + source: "iana", + compressible: true, + extensions: ["rsheet"] + }, + "application/urc-targetdesc+xml": { + source: "iana", + compressible: true, + extensions: ["td"] + }, + "application/urc-uisocketdesc+xml": { + source: "iana", + compressible: true + }, + "application/vc": { + source: "iana" + }, + "application/vc+cose": { + source: "iana" + }, + "application/vc+jwt": { + source: "iana" + }, + "application/vcard+json": { + source: "iana", + compressible: true + }, + "application/vcard+xml": { + source: "iana", + compressible: true + }, + "application/vemmi": { + source: "iana" + }, + "application/vividence.scriptfile": { + source: "apache" + }, + "application/vnd.1000minds.decision-model+xml": { + source: "iana", + compressible: true, + extensions: ["1km"] + }, + "application/vnd.1ob": { + source: "iana" + }, + "application/vnd.3gpp-prose+xml": { + source: "iana", + compressible: true + }, + "application/vnd.3gpp-prose-pc3a+xml": { + source: "iana", + compressible: true + }, + "application/vnd.3gpp-prose-pc3ach+xml": { + source: "iana", + compressible: true + }, + "application/vnd.3gpp-prose-pc3ch+xml": { + source: "iana", + compressible: true + }, + "application/vnd.3gpp-prose-pc8+xml": { + source: "iana", + compressible: true + }, + "application/vnd.3gpp-v2x-local-service-information": { + source: "iana" + }, + "application/vnd.3gpp.5gnas": { + source: "iana" + }, + "application/vnd.3gpp.5gsa2x": { + source: "iana" + }, + "application/vnd.3gpp.5gsa2x-local-service-information": { + source: "iana" + }, + "application/vnd.3gpp.5gsv2x": { + source: "iana" + }, + "application/vnd.3gpp.5gsv2x-local-service-information": { + source: "iana" + }, + "application/vnd.3gpp.access-transfer-events+xml": { + source: "iana", + compressible: true + }, + "application/vnd.3gpp.bsf+xml": { + source: "iana", + compressible: true + }, + "application/vnd.3gpp.crs+xml": { + source: "iana", + compressible: true + }, + "application/vnd.3gpp.current-location-discovery+xml": { + source: "iana", + compressible: true + }, + "application/vnd.3gpp.gmop+xml": { + source: "iana", + compressible: true + }, + "application/vnd.3gpp.gtpc": { + source: "iana" + }, + "application/vnd.3gpp.interworking-data": { + source: "iana" + }, + "application/vnd.3gpp.lpp": { + source: "iana" + }, + "application/vnd.3gpp.mc-signalling-ear": { + source: "iana" + }, + "application/vnd.3gpp.mcdata-affiliation-command+xml": { + source: "iana", + compressible: true + }, + "application/vnd.3gpp.mcdata-info+xml": { + source: "iana", + compressible: true + }, + "application/vnd.3gpp.mcdata-msgstore-ctrl-request+xml": { + source: "iana", + compressible: true + }, + "application/vnd.3gpp.mcdata-payload": { + source: "iana" + }, + "application/vnd.3gpp.mcdata-regroup+xml": { + source: "iana", + compressible: true + }, + "application/vnd.3gpp.mcdata-service-config+xml": { + source: "iana", + compressible: true + }, + "application/vnd.3gpp.mcdata-signalling": { + source: "iana" + }, + "application/vnd.3gpp.mcdata-ue-config+xml": { + source: "iana", + compressible: true + }, + "application/vnd.3gpp.mcdata-user-profile+xml": { + source: "iana", + compressible: true + }, + "application/vnd.3gpp.mcptt-affiliation-command+xml": { + source: "iana", + compressible: true + }, + "application/vnd.3gpp.mcptt-floor-request+xml": { + source: "iana", + compressible: true + }, + "application/vnd.3gpp.mcptt-info+xml": { + source: "iana", + compressible: true + }, + "application/vnd.3gpp.mcptt-location-info+xml": { + source: "iana", + compressible: true + }, + "application/vnd.3gpp.mcptt-mbms-usage-info+xml": { + source: "iana", + compressible: true + }, + "application/vnd.3gpp.mcptt-regroup+xml": { + source: "iana", + compressible: true + }, + "application/vnd.3gpp.mcptt-service-config+xml": { + source: "iana", + compressible: true + }, + "application/vnd.3gpp.mcptt-signed+xml": { + source: "iana", + compressible: true + }, + "application/vnd.3gpp.mcptt-ue-config+xml": { + source: "iana", + compressible: true + }, + "application/vnd.3gpp.mcptt-ue-init-config+xml": { + source: "iana", + compressible: true + }, + "application/vnd.3gpp.mcptt-user-profile+xml": { + source: "iana", + compressible: true + }, + "application/vnd.3gpp.mcvideo-affiliation-command+xml": { + source: "iana", + compressible: true + }, + "application/vnd.3gpp.mcvideo-info+xml": { + source: "iana", + compressible: true + }, + "application/vnd.3gpp.mcvideo-location-info+xml": { + source: "iana", + compressible: true + }, + "application/vnd.3gpp.mcvideo-mbms-usage-info+xml": { + source: "iana", + compressible: true + }, + "application/vnd.3gpp.mcvideo-regroup+xml": { + source: "iana", + compressible: true + }, + "application/vnd.3gpp.mcvideo-service-config+xml": { + source: "iana", + compressible: true + }, + "application/vnd.3gpp.mcvideo-transmission-request+xml": { + source: "iana", + compressible: true + }, + "application/vnd.3gpp.mcvideo-ue-config+xml": { + source: "iana", + compressible: true + }, + "application/vnd.3gpp.mcvideo-user-profile+xml": { + source: "iana", + compressible: true + }, + "application/vnd.3gpp.mid-call+xml": { + source: "iana", + compressible: true + }, + "application/vnd.3gpp.ngap": { + source: "iana" + }, + "application/vnd.3gpp.pfcp": { + source: "iana" + }, + "application/vnd.3gpp.pic-bw-large": { + source: "iana", + extensions: ["plb"] + }, + "application/vnd.3gpp.pic-bw-small": { + source: "iana", + extensions: ["psb"] + }, + "application/vnd.3gpp.pic-bw-var": { + source: "iana", + extensions: ["pvb"] + }, + "application/vnd.3gpp.pinapp-info+xml": { + source: "iana", + compressible: true + }, + "application/vnd.3gpp.s1ap": { + source: "iana" + }, + "application/vnd.3gpp.seal-group-doc+xml": { + source: "iana", + compressible: true + }, + "application/vnd.3gpp.seal-info+xml": { + source: "iana", + compressible: true + }, + "application/vnd.3gpp.seal-location-info+xml": { + source: "iana", + compressible: true + }, + "application/vnd.3gpp.seal-mbms-usage-info+xml": { + source: "iana", + compressible: true + }, + "application/vnd.3gpp.seal-network-qos-management-info+xml": { + source: "iana", + compressible: true + }, + "application/vnd.3gpp.seal-ue-config-info+xml": { + source: "iana", + compressible: true + }, + "application/vnd.3gpp.seal-unicast-info+xml": { + source: "iana", + compressible: true + }, + "application/vnd.3gpp.seal-user-profile-info+xml": { + source: "iana", + compressible: true + }, + "application/vnd.3gpp.sms": { + source: "iana" + }, + "application/vnd.3gpp.sms+xml": { + source: "iana", + compressible: true + }, + "application/vnd.3gpp.srvcc-ext+xml": { + source: "iana", + compressible: true + }, + "application/vnd.3gpp.srvcc-info+xml": { + source: "iana", + compressible: true + }, + "application/vnd.3gpp.state-and-event-info+xml": { + source: "iana", + compressible: true + }, + "application/vnd.3gpp.ussd+xml": { + source: "iana", + compressible: true + }, + "application/vnd.3gpp.v2x": { + source: "iana" + }, + "application/vnd.3gpp.vae-info+xml": { + source: "iana", + compressible: true + }, + "application/vnd.3gpp2.bcmcsinfo+xml": { + source: "iana", + compressible: true + }, + "application/vnd.3gpp2.sms": { + source: "iana" + }, + "application/vnd.3gpp2.tcap": { + source: "iana", + extensions: ["tcap"] + }, + "application/vnd.3lightssoftware.imagescal": { + source: "iana" + }, + "application/vnd.3m.post-it-notes": { + source: "iana", + extensions: ["pwn"] + }, + "application/vnd.accpac.simply.aso": { + source: "iana", + extensions: ["aso"] + }, + "application/vnd.accpac.simply.imp": { + source: "iana", + extensions: ["imp"] + }, + "application/vnd.acm.addressxfer+json": { + source: "iana", + compressible: true + }, + "application/vnd.acm.chatbot+json": { + source: "iana", + compressible: true + }, + "application/vnd.acucobol": { + source: "iana", + extensions: ["acu"] + }, + "application/vnd.acucorp": { + source: "iana", + extensions: ["atc", "acutc"] + }, + "application/vnd.adobe.air-application-installer-package+zip": { + source: "apache", + compressible: false, + extensions: ["air"] + }, + "application/vnd.adobe.flash.movie": { + source: "iana" + }, + "application/vnd.adobe.formscentral.fcdt": { + source: "iana", + extensions: ["fcdt"] + }, + "application/vnd.adobe.fxp": { + source: "iana", + extensions: ["fxp", "fxpl"] + }, + "application/vnd.adobe.partial-upload": { + source: "iana" + }, + "application/vnd.adobe.xdp+xml": { + source: "iana", + compressible: true, + extensions: ["xdp"] + }, + "application/vnd.adobe.xfdf": { + source: "apache", + extensions: ["xfdf"] + }, + "application/vnd.aether.imp": { + source: "iana" + }, + "application/vnd.afpc.afplinedata": { + source: "iana" + }, + "application/vnd.afpc.afplinedata-pagedef": { + source: "iana" + }, + "application/vnd.afpc.cmoca-cmresource": { + source: "iana" + }, + "application/vnd.afpc.foca-charset": { + source: "iana" + }, + "application/vnd.afpc.foca-codedfont": { + source: "iana" + }, + "application/vnd.afpc.foca-codepage": { + source: "iana" + }, + "application/vnd.afpc.modca": { + source: "iana" + }, + "application/vnd.afpc.modca-cmtable": { + source: "iana" + }, + "application/vnd.afpc.modca-formdef": { + source: "iana" + }, + "application/vnd.afpc.modca-mediummap": { + source: "iana" + }, + "application/vnd.afpc.modca-objectcontainer": { + source: "iana" + }, + "application/vnd.afpc.modca-overlay": { + source: "iana" + }, + "application/vnd.afpc.modca-pagesegment": { + source: "iana" + }, + "application/vnd.age": { + source: "iana", + extensions: ["age"] + }, + "application/vnd.ah-barcode": { + source: "apache" + }, + "application/vnd.ahead.space": { + source: "iana", + extensions: ["ahead"] + }, + "application/vnd.airzip.filesecure.azf": { + source: "iana", + extensions: ["azf"] + }, + "application/vnd.airzip.filesecure.azs": { + source: "iana", + extensions: ["azs"] + }, + "application/vnd.amadeus+json": { + source: "iana", + compressible: true + }, + "application/vnd.amazon.ebook": { + source: "apache", + extensions: ["azw"] + }, + "application/vnd.amazon.mobi8-ebook": { + source: "iana" + }, + "application/vnd.americandynamics.acc": { + source: "iana", + extensions: ["acc"] + }, + "application/vnd.amiga.ami": { + source: "iana", + extensions: ["ami"] + }, + "application/vnd.amundsen.maze+xml": { + source: "iana", + compressible: true + }, + "application/vnd.android.ota": { + source: "iana" + }, + "application/vnd.android.package-archive": { + source: "apache", + compressible: false, + extensions: ["apk"] + }, + "application/vnd.anki": { + source: "iana" + }, + "application/vnd.anser-web-certificate-issue-initiation": { + source: "iana", + extensions: ["cii"] + }, + "application/vnd.anser-web-funds-transfer-initiation": { + source: "apache", + extensions: ["fti"] + }, + "application/vnd.antix.game-component": { + source: "iana", + extensions: ["atx"] + }, + "application/vnd.apache.arrow.file": { + source: "iana" + }, + "application/vnd.apache.arrow.stream": { + source: "iana" + }, + "application/vnd.apache.parquet": { + source: "iana" + }, + "application/vnd.apache.thrift.binary": { + source: "iana" + }, + "application/vnd.apache.thrift.compact": { + source: "iana" + }, + "application/vnd.apache.thrift.json": { + source: "iana" + }, + "application/vnd.apexlang": { + source: "iana" + }, + "application/vnd.api+json": { + source: "iana", + compressible: true + }, + "application/vnd.aplextor.warrp+json": { + source: "iana", + compressible: true + }, + "application/vnd.apothekende.reservation+json": { + source: "iana", + compressible: true + }, + "application/vnd.apple.installer+xml": { + source: "iana", + compressible: true, + extensions: ["mpkg"] + }, + "application/vnd.apple.keynote": { + source: "iana", + extensions: ["key"] + }, + "application/vnd.apple.mpegurl": { + source: "iana", + extensions: ["m3u8"] + }, + "application/vnd.apple.numbers": { + source: "iana", + extensions: ["numbers"] + }, + "application/vnd.apple.pages": { + source: "iana", + extensions: ["pages"] + }, + "application/vnd.apple.pkpass": { + compressible: false, + extensions: ["pkpass"] + }, + "application/vnd.arastra.swi": { + source: "apache" + }, + "application/vnd.aristanetworks.swi": { + source: "iana", + extensions: ["swi"] + }, + "application/vnd.artisan+json": { + source: "iana", + compressible: true + }, + "application/vnd.artsquare": { + source: "iana" + }, + "application/vnd.astraea-software.iota": { + source: "iana", + extensions: ["iota"] + }, + "application/vnd.audiograph": { + source: "iana", + extensions: ["aep"] + }, + "application/vnd.autodesk.fbx": { + extensions: ["fbx"] + }, + "application/vnd.autopackage": { + source: "iana" + }, + "application/vnd.avalon+json": { + source: "iana", + compressible: true + }, + "application/vnd.avistar+xml": { + source: "iana", + compressible: true + }, + "application/vnd.balsamiq.bmml+xml": { + source: "iana", + compressible: true, + extensions: ["bmml"] + }, + "application/vnd.balsamiq.bmpr": { + source: "iana" + }, + "application/vnd.banana-accounting": { + source: "iana" + }, + "application/vnd.bbf.usp.error": { + source: "iana" + }, + "application/vnd.bbf.usp.msg": { + source: "iana" + }, + "application/vnd.bbf.usp.msg+json": { + source: "iana", + compressible: true + }, + "application/vnd.bekitzur-stech+json": { + source: "iana", + compressible: true + }, + "application/vnd.belightsoft.lhzd+zip": { + source: "iana", + compressible: false + }, + "application/vnd.belightsoft.lhzl+zip": { + source: "iana", + compressible: false + }, + "application/vnd.bint.med-content": { + source: "iana" + }, + "application/vnd.biopax.rdf+xml": { + source: "iana", + compressible: true + }, + "application/vnd.blink-idb-value-wrapper": { + source: "iana" + }, + "application/vnd.blueice.multipass": { + source: "iana", + extensions: ["mpm"] + }, + "application/vnd.bluetooth.ep.oob": { + source: "iana" + }, + "application/vnd.bluetooth.le.oob": { + source: "iana" + }, + "application/vnd.bmi": { + source: "iana", + extensions: ["bmi"] + }, + "application/vnd.bpf": { + source: "iana" + }, + "application/vnd.bpf3": { + source: "iana" + }, + "application/vnd.businessobjects": { + source: "iana", + extensions: ["rep"] + }, + "application/vnd.byu.uapi+json": { + source: "iana", + compressible: true + }, + "application/vnd.bzip3": { + source: "iana" + }, + "application/vnd.c3voc.schedule+xml": { + source: "iana", + compressible: true + }, + "application/vnd.cab-jscript": { + source: "iana" + }, + "application/vnd.canon-cpdl": { + source: "iana" + }, + "application/vnd.canon-lips": { + source: "iana" + }, + "application/vnd.capasystems-pg+json": { + source: "iana", + compressible: true + }, + "application/vnd.cendio.thinlinc.clientconf": { + source: "iana" + }, + "application/vnd.century-systems.tcp_stream": { + source: "iana" + }, + "application/vnd.chemdraw+xml": { + source: "iana", + compressible: true, + extensions: ["cdxml"] + }, + "application/vnd.chess-pgn": { + source: "iana" + }, + "application/vnd.chipnuts.karaoke-mmd": { + source: "iana", + extensions: ["mmd"] + }, + "application/vnd.ciedi": { + source: "iana" + }, + "application/vnd.cinderella": { + source: "iana", + extensions: ["cdy"] + }, + "application/vnd.cirpack.isdn-ext": { + source: "iana" + }, + "application/vnd.citationstyles.style+xml": { + source: "iana", + compressible: true, + extensions: ["csl"] + }, + "application/vnd.claymore": { + source: "iana", + extensions: ["cla"] + }, + "application/vnd.cloanto.rp9": { + source: "iana", + extensions: ["rp9"] + }, + "application/vnd.clonk.c4group": { + source: "iana", + extensions: ["c4g", "c4d", "c4f", "c4p", "c4u"] + }, + "application/vnd.cluetrust.cartomobile-config": { + source: "iana", + extensions: ["c11amc"] + }, + "application/vnd.cluetrust.cartomobile-config-pkg": { + source: "iana", + extensions: ["c11amz"] + }, + "application/vnd.cncf.helm.chart.content.v1.tar+gzip": { + source: "iana" + }, + "application/vnd.cncf.helm.chart.provenance.v1.prov": { + source: "iana" + }, + "application/vnd.cncf.helm.config.v1+json": { + source: "iana", + compressible: true + }, + "application/vnd.coffeescript": { + source: "iana" + }, + "application/vnd.collabio.xodocuments.document": { + source: "iana" + }, + "application/vnd.collabio.xodocuments.document-template": { + source: "iana" + }, + "application/vnd.collabio.xodocuments.presentation": { + source: "iana" + }, + "application/vnd.collabio.xodocuments.presentation-template": { + source: "iana" + }, + "application/vnd.collabio.xodocuments.spreadsheet": { + source: "iana" + }, + "application/vnd.collabio.xodocuments.spreadsheet-template": { + source: "iana" + }, + "application/vnd.collection+json": { + source: "iana", + compressible: true + }, + "application/vnd.collection.doc+json": { + source: "iana", + compressible: true + }, + "application/vnd.collection.next+json": { + source: "iana", + compressible: true + }, + "application/vnd.comicbook+zip": { + source: "iana", + compressible: false + }, + "application/vnd.comicbook-rar": { + source: "iana" + }, + "application/vnd.commerce-battelle": { + source: "iana" + }, + "application/vnd.commonspace": { + source: "iana", + extensions: ["csp"] + }, + "application/vnd.contact.cmsg": { + source: "iana", + extensions: ["cdbcmsg"] + }, + "application/vnd.coreos.ignition+json": { + source: "iana", + compressible: true + }, + "application/vnd.cosmocaller": { + source: "iana", + extensions: ["cmc"] + }, + "application/vnd.crick.clicker": { + source: "iana", + extensions: ["clkx"] + }, + "application/vnd.crick.clicker.keyboard": { + source: "iana", + extensions: ["clkk"] + }, + "application/vnd.crick.clicker.palette": { + source: "iana", + extensions: ["clkp"] + }, + "application/vnd.crick.clicker.template": { + source: "iana", + extensions: ["clkt"] + }, + "application/vnd.crick.clicker.wordbank": { + source: "iana", + extensions: ["clkw"] + }, + "application/vnd.criticaltools.wbs+xml": { + source: "iana", + compressible: true, + extensions: ["wbs"] + }, + "application/vnd.cryptii.pipe+json": { + source: "iana", + compressible: true + }, + "application/vnd.crypto-shade-file": { + source: "iana" + }, + "application/vnd.cryptomator.encrypted": { + source: "iana" + }, + "application/vnd.cryptomator.vault": { + source: "iana" + }, + "application/vnd.ctc-posml": { + source: "iana", + extensions: ["pml"] + }, + "application/vnd.ctct.ws+xml": { + source: "iana", + compressible: true + }, + "application/vnd.cups-pdf": { + source: "iana" + }, + "application/vnd.cups-postscript": { + source: "iana" + }, + "application/vnd.cups-ppd": { + source: "iana", + extensions: ["ppd"] + }, + "application/vnd.cups-raster": { + source: "iana" + }, + "application/vnd.cups-raw": { + source: "iana" + }, + "application/vnd.curl": { + source: "iana" + }, + "application/vnd.curl.car": { + source: "apache", + extensions: ["car"] + }, + "application/vnd.curl.pcurl": { + source: "apache", + extensions: ["pcurl"] + }, + "application/vnd.cyan.dean.root+xml": { + source: "iana", + compressible: true + }, + "application/vnd.cybank": { + source: "iana" + }, + "application/vnd.cyclonedx+json": { + source: "iana", + compressible: true + }, + "application/vnd.cyclonedx+xml": { + source: "iana", + compressible: true + }, + "application/vnd.d2l.coursepackage1p0+zip": { + source: "iana", + compressible: false + }, + "application/vnd.d3m-dataset": { + source: "iana" + }, + "application/vnd.d3m-problem": { + source: "iana" + }, + "application/vnd.dart": { + source: "iana", + compressible: true, + extensions: ["dart"] + }, + "application/vnd.data-vision.rdz": { + source: "iana", + extensions: ["rdz"] + }, + "application/vnd.datalog": { + source: "iana" + }, + "application/vnd.datapackage+json": { + source: "iana", + compressible: true + }, + "application/vnd.dataresource+json": { + source: "iana", + compressible: true + }, + "application/vnd.dbf": { + source: "iana", + extensions: ["dbf"] + }, + "application/vnd.dcmp+xml": { + source: "iana", + compressible: true, + extensions: ["dcmp"] + }, + "application/vnd.debian.binary-package": { + source: "iana" + }, + "application/vnd.dece.data": { + source: "iana", + extensions: ["uvf", "uvvf", "uvd", "uvvd"] + }, + "application/vnd.dece.ttml+xml": { + source: "iana", + compressible: true, + extensions: ["uvt", "uvvt"] + }, + "application/vnd.dece.unspecified": { + source: "iana", + extensions: ["uvx", "uvvx"] + }, + "application/vnd.dece.zip": { + source: "iana", + extensions: ["uvz", "uvvz"] + }, + "application/vnd.denovo.fcselayout-link": { + source: "iana", + extensions: ["fe_launch"] + }, + "application/vnd.desmume.movie": { + source: "iana" + }, + "application/vnd.dir-bi.plate-dl-nosuffix": { + source: "iana" + }, + "application/vnd.dm.delegation+xml": { + source: "iana", + compressible: true + }, + "application/vnd.dna": { + source: "iana", + extensions: ["dna"] + }, + "application/vnd.document+json": { + source: "iana", + compressible: true + }, + "application/vnd.dolby.mlp": { + source: "apache", + extensions: ["mlp"] + }, + "application/vnd.dolby.mobile.1": { + source: "iana" + }, + "application/vnd.dolby.mobile.2": { + source: "iana" + }, + "application/vnd.doremir.scorecloud-binary-document": { + source: "iana" + }, + "application/vnd.dpgraph": { + source: "iana", + extensions: ["dpg"] + }, + "application/vnd.dreamfactory": { + source: "iana", + extensions: ["dfac"] + }, + "application/vnd.drive+json": { + source: "iana", + compressible: true + }, + "application/vnd.ds-keypoint": { + source: "apache", + extensions: ["kpxx"] + }, + "application/vnd.dtg.local": { + source: "iana" + }, + "application/vnd.dtg.local.flash": { + source: "iana" + }, + "application/vnd.dtg.local.html": { + source: "iana" + }, + "application/vnd.dvb.ait": { + source: "iana", + extensions: ["ait"] + }, + "application/vnd.dvb.dvbisl+xml": { + source: "iana", + compressible: true + }, + "application/vnd.dvb.dvbj": { + source: "iana" + }, + "application/vnd.dvb.esgcontainer": { + source: "iana" + }, + "application/vnd.dvb.ipdcdftnotifaccess": { + source: "iana" + }, + "application/vnd.dvb.ipdcesgaccess": { + source: "iana" + }, + "application/vnd.dvb.ipdcesgaccess2": { + source: "iana" + }, + "application/vnd.dvb.ipdcesgpdd": { + source: "iana" + }, + "application/vnd.dvb.ipdcroaming": { + source: "iana" + }, + "application/vnd.dvb.iptv.alfec-base": { + source: "iana" + }, + "application/vnd.dvb.iptv.alfec-enhancement": { + source: "iana" + }, + "application/vnd.dvb.notif-aggregate-root+xml": { + source: "iana", + compressible: true + }, + "application/vnd.dvb.notif-container+xml": { + source: "iana", + compressible: true + }, + "application/vnd.dvb.notif-generic+xml": { + source: "iana", + compressible: true + }, + "application/vnd.dvb.notif-ia-msglist+xml": { + source: "iana", + compressible: true + }, + "application/vnd.dvb.notif-ia-registration-request+xml": { + source: "iana", + compressible: true + }, + "application/vnd.dvb.notif-ia-registration-response+xml": { + source: "iana", + compressible: true + }, + "application/vnd.dvb.notif-init+xml": { + source: "iana", + compressible: true + }, + "application/vnd.dvb.pfr": { + source: "iana" + }, + "application/vnd.dvb.service": { + source: "iana", + extensions: ["svc"] + }, + "application/vnd.dxr": { + source: "iana" + }, + "application/vnd.dynageo": { + source: "iana", + extensions: ["geo"] + }, + "application/vnd.dzr": { + source: "iana" + }, + "application/vnd.easykaraoke.cdgdownload": { + source: "iana" + }, + "application/vnd.ecdis-update": { + source: "iana" + }, + "application/vnd.ecip.rlp": { + source: "iana" + }, + "application/vnd.eclipse.ditto+json": { + source: "iana", + compressible: true + }, + "application/vnd.ecowin.chart": { + source: "iana", + extensions: ["mag"] + }, + "application/vnd.ecowin.filerequest": { + source: "iana" + }, + "application/vnd.ecowin.fileupdate": { + source: "iana" + }, + "application/vnd.ecowin.series": { + source: "iana" + }, + "application/vnd.ecowin.seriesrequest": { + source: "iana" + }, + "application/vnd.ecowin.seriesupdate": { + source: "iana" + }, + "application/vnd.efi.img": { + source: "iana" + }, + "application/vnd.efi.iso": { + source: "iana" + }, + "application/vnd.eln+zip": { + source: "iana", + compressible: false + }, + "application/vnd.emclient.accessrequest+xml": { + source: "iana", + compressible: true + }, + "application/vnd.enliven": { + source: "iana", + extensions: ["nml"] + }, + "application/vnd.enphase.envoy": { + source: "iana" + }, + "application/vnd.eprints.data+xml": { + source: "iana", + compressible: true + }, + "application/vnd.epson.esf": { + source: "iana", + extensions: ["esf"] + }, + "application/vnd.epson.msf": { + source: "iana", + extensions: ["msf"] + }, + "application/vnd.epson.quickanime": { + source: "iana", + extensions: ["qam"] + }, + "application/vnd.epson.salt": { + source: "iana", + extensions: ["slt"] + }, + "application/vnd.epson.ssf": { + source: "iana", + extensions: ["ssf"] + }, + "application/vnd.ericsson.quickcall": { + source: "iana" + }, + "application/vnd.erofs": { + source: "iana" + }, + "application/vnd.espass-espass+zip": { + source: "iana", + compressible: false + }, + "application/vnd.eszigno3+xml": { + source: "iana", + compressible: true, + extensions: ["es3", "et3"] + }, + "application/vnd.etsi.aoc+xml": { + source: "iana", + compressible: true + }, + "application/vnd.etsi.asic-e+zip": { + source: "iana", + compressible: false + }, + "application/vnd.etsi.asic-s+zip": { + source: "iana", + compressible: false + }, + "application/vnd.etsi.cug+xml": { + source: "iana", + compressible: true + }, + "application/vnd.etsi.iptvcommand+xml": { + source: "iana", + compressible: true + }, + "application/vnd.etsi.iptvdiscovery+xml": { + source: "iana", + compressible: true + }, + "application/vnd.etsi.iptvprofile+xml": { + source: "iana", + compressible: true + }, + "application/vnd.etsi.iptvsad-bc+xml": { + source: "iana", + compressible: true + }, + "application/vnd.etsi.iptvsad-cod+xml": { + source: "iana", + compressible: true + }, + "application/vnd.etsi.iptvsad-npvr+xml": { + source: "iana", + compressible: true + }, + "application/vnd.etsi.iptvservice+xml": { + source: "iana", + compressible: true + }, + "application/vnd.etsi.iptvsync+xml": { + source: "iana", + compressible: true + }, + "application/vnd.etsi.iptvueprofile+xml": { + source: "iana", + compressible: true + }, + "application/vnd.etsi.mcid+xml": { + source: "iana", + compressible: true + }, + "application/vnd.etsi.mheg5": { + source: "iana" + }, + "application/vnd.etsi.overload-control-policy-dataset+xml": { + source: "iana", + compressible: true + }, + "application/vnd.etsi.pstn+xml": { + source: "iana", + compressible: true + }, + "application/vnd.etsi.sci+xml": { + source: "iana", + compressible: true + }, + "application/vnd.etsi.simservs+xml": { + source: "iana", + compressible: true + }, + "application/vnd.etsi.timestamp-token": { + source: "iana" + }, + "application/vnd.etsi.tsl+xml": { + source: "iana", + compressible: true + }, + "application/vnd.etsi.tsl.der": { + source: "iana" + }, + "application/vnd.eu.kasparian.car+json": { + source: "iana", + compressible: true + }, + "application/vnd.eudora.data": { + source: "iana" + }, + "application/vnd.evolv.ecig.profile": { + source: "iana" + }, + "application/vnd.evolv.ecig.settings": { + source: "iana" + }, + "application/vnd.evolv.ecig.theme": { + source: "iana" + }, + "application/vnd.exstream-empower+zip": { + source: "iana", + compressible: false + }, + "application/vnd.exstream-package": { + source: "iana" + }, + "application/vnd.ezpix-album": { + source: "iana", + extensions: ["ez2"] + }, + "application/vnd.ezpix-package": { + source: "iana", + extensions: ["ez3"] + }, + "application/vnd.f-secure.mobile": { + source: "iana" + }, + "application/vnd.familysearch.gedcom+zip": { + source: "iana", + compressible: false + }, + "application/vnd.fastcopy-disk-image": { + source: "iana" + }, + "application/vnd.fdf": { + source: "apache", + extensions: ["fdf"] + }, + "application/vnd.fdsn.mseed": { + source: "iana", + extensions: ["mseed"] + }, + "application/vnd.fdsn.seed": { + source: "iana", + extensions: ["seed", "dataless"] + }, + "application/vnd.fdsn.stationxml+xml": { + source: "iana", + charset: "XML-BASED", + compressible: true + }, + "application/vnd.ffsns": { + source: "iana" + }, + "application/vnd.ficlab.flb+zip": { + source: "iana", + compressible: false + }, + "application/vnd.filmit.zfc": { + source: "iana" + }, + "application/vnd.fints": { + source: "iana" + }, + "application/vnd.firemonkeys.cloudcell": { + source: "iana" + }, + "application/vnd.flographit": { + source: "iana", + extensions: ["gph"] + }, + "application/vnd.fluxtime.clip": { + source: "iana", + extensions: ["ftc"] + }, + "application/vnd.font-fontforge-sfd": { + source: "iana" + }, + "application/vnd.framemaker": { + source: "iana", + extensions: ["fm", "frame", "maker", "book"] + }, + "application/vnd.freelog.comic": { + source: "iana" + }, + "application/vnd.frogans.fnc": { + source: "apache", + extensions: ["fnc"] + }, + "application/vnd.frogans.ltf": { + source: "apache", + extensions: ["ltf"] + }, + "application/vnd.fsc.weblaunch": { + source: "iana", + extensions: ["fsc"] + }, + "application/vnd.fujifilm.fb.docuworks": { + source: "iana" + }, + "application/vnd.fujifilm.fb.docuworks.binder": { + source: "iana" + }, + "application/vnd.fujifilm.fb.docuworks.container": { + source: "iana" + }, + "application/vnd.fujifilm.fb.jfi+xml": { + source: "iana", + compressible: true + }, + "application/vnd.fujitsu.oasys": { + source: "iana", + extensions: ["oas"] + }, + "application/vnd.fujitsu.oasys2": { + source: "iana", + extensions: ["oa2"] + }, + "application/vnd.fujitsu.oasys3": { + source: "iana", + extensions: ["oa3"] + }, + "application/vnd.fujitsu.oasysgp": { + source: "iana", + extensions: ["fg5"] + }, + "application/vnd.fujitsu.oasysprs": { + source: "iana", + extensions: ["bh2"] + }, + "application/vnd.fujixerox.art-ex": { + source: "iana" + }, + "application/vnd.fujixerox.art4": { + source: "iana" + }, + "application/vnd.fujixerox.ddd": { + source: "iana", + extensions: ["ddd"] + }, + "application/vnd.fujixerox.docuworks": { + source: "iana", + extensions: ["xdw"] + }, + "application/vnd.fujixerox.docuworks.binder": { + source: "iana", + extensions: ["xbd"] + }, + "application/vnd.fujixerox.docuworks.container": { + source: "iana" + }, + "application/vnd.fujixerox.hbpl": { + source: "iana" + }, + "application/vnd.fut-misnet": { + source: "iana" + }, + "application/vnd.futoin+cbor": { + source: "iana" + }, + "application/vnd.futoin+json": { + source: "iana", + compressible: true + }, + "application/vnd.fuzzysheet": { + source: "iana", + extensions: ["fzs"] + }, + "application/vnd.ga4gh.passport+jwt": { + source: "iana" + }, + "application/vnd.genomatix.tuxedo": { + source: "iana", + extensions: ["txd"] + }, + "application/vnd.genozip": { + source: "iana" + }, + "application/vnd.gentics.grd+json": { + source: "iana", + compressible: true + }, + "application/vnd.gentoo.catmetadata+xml": { + source: "iana", + compressible: true + }, + "application/vnd.gentoo.ebuild": { + source: "iana" + }, + "application/vnd.gentoo.eclass": { + source: "iana" + }, + "application/vnd.gentoo.gpkg": { + source: "iana" + }, + "application/vnd.gentoo.manifest": { + source: "iana" + }, + "application/vnd.gentoo.pkgmetadata+xml": { + source: "iana", + compressible: true + }, + "application/vnd.gentoo.xpak": { + source: "iana" + }, + "application/vnd.geo+json": { + source: "apache", + compressible: true + }, + "application/vnd.geocube+xml": { + source: "apache", + compressible: true + }, + "application/vnd.geogebra.file": { + source: "iana", + extensions: ["ggb"] + }, + "application/vnd.geogebra.pinboard": { + source: "iana" + }, + "application/vnd.geogebra.slides": { + source: "iana", + extensions: ["ggs"] + }, + "application/vnd.geogebra.tool": { + source: "iana", + extensions: ["ggt"] + }, + "application/vnd.geometry-explorer": { + source: "iana", + extensions: ["gex", "gre"] + }, + "application/vnd.geonext": { + source: "iana", + extensions: ["gxt"] + }, + "application/vnd.geoplan": { + source: "iana", + extensions: ["g2w"] + }, + "application/vnd.geospace": { + source: "iana", + extensions: ["g3w"] + }, + "application/vnd.gerber": { + source: "iana" + }, + "application/vnd.globalplatform.card-content-mgt": { + source: "iana" + }, + "application/vnd.globalplatform.card-content-mgt-response": { + source: "iana" + }, + "application/vnd.gmx": { + source: "iana", + extensions: ["gmx"] + }, + "application/vnd.gnu.taler.exchange+json": { + source: "iana", + compressible: true + }, + "application/vnd.gnu.taler.merchant+json": { + source: "iana", + compressible: true + }, + "application/vnd.google-apps.audio": {}, + "application/vnd.google-apps.document": { + compressible: false, + extensions: ["gdoc"] + }, + "application/vnd.google-apps.drawing": { + compressible: false, + extensions: ["gdraw"] + }, + "application/vnd.google-apps.drive-sdk": { + compressible: false + }, + "application/vnd.google-apps.file": {}, + "application/vnd.google-apps.folder": { + compressible: false + }, + "application/vnd.google-apps.form": { + compressible: false, + extensions: ["gform"] + }, + "application/vnd.google-apps.fusiontable": {}, + "application/vnd.google-apps.jam": { + compressible: false, + extensions: ["gjam"] + }, + "application/vnd.google-apps.mail-layout": {}, + "application/vnd.google-apps.map": { + compressible: false, + extensions: ["gmap"] + }, + "application/vnd.google-apps.photo": {}, + "application/vnd.google-apps.presentation": { + compressible: false, + extensions: ["gslides"] + }, + "application/vnd.google-apps.script": { + compressible: false, + extensions: ["gscript"] + }, + "application/vnd.google-apps.shortcut": {}, + "application/vnd.google-apps.site": { + compressible: false, + extensions: ["gsite"] + }, + "application/vnd.google-apps.spreadsheet": { + compressible: false, + extensions: ["gsheet"] + }, + "application/vnd.google-apps.unknown": {}, + "application/vnd.google-apps.video": {}, + "application/vnd.google-earth.kml+xml": { + source: "iana", + compressible: true, + extensions: ["kml"] + }, + "application/vnd.google-earth.kmz": { + source: "iana", + compressible: false, + extensions: ["kmz"] + }, + "application/vnd.gov.sk.e-form+xml": { + source: "apache", + compressible: true + }, + "application/vnd.gov.sk.e-form+zip": { + source: "iana", + compressible: false + }, + "application/vnd.gov.sk.xmldatacontainer+xml": { + source: "iana", + compressible: true, + extensions: ["xdcf"] + }, + "application/vnd.gpxsee.map+xml": { + source: "iana", + compressible: true + }, + "application/vnd.grafeq": { + source: "iana", + extensions: ["gqf", "gqs"] + }, + "application/vnd.gridmp": { + source: "iana" + }, + "application/vnd.groove-account": { + source: "iana", + extensions: ["gac"] + }, + "application/vnd.groove-help": { + source: "iana", + extensions: ["ghf"] + }, + "application/vnd.groove-identity-message": { + source: "iana", + extensions: ["gim"] + }, + "application/vnd.groove-injector": { + source: "iana", + extensions: ["grv"] + }, + "application/vnd.groove-tool-message": { + source: "iana", + extensions: ["gtm"] + }, + "application/vnd.groove-tool-template": { + source: "iana", + extensions: ["tpl"] + }, + "application/vnd.groove-vcard": { + source: "iana", + extensions: ["vcg"] + }, + "application/vnd.hal+json": { + source: "iana", + compressible: true + }, + "application/vnd.hal+xml": { + source: "iana", + compressible: true, + extensions: ["hal"] + }, + "application/vnd.handheld-entertainment+xml": { + source: "iana", + compressible: true, + extensions: ["zmm"] + }, + "application/vnd.hbci": { + source: "iana", + extensions: ["hbci"] + }, + "application/vnd.hc+json": { + source: "iana", + compressible: true + }, + "application/vnd.hcl-bireports": { + source: "iana" + }, + "application/vnd.hdt": { + source: "iana" + }, + "application/vnd.heroku+json": { + source: "iana", + compressible: true + }, + "application/vnd.hhe.lesson-player": { + source: "iana", + extensions: ["les"] + }, + "application/vnd.hp-hpgl": { + source: "iana", + extensions: ["hpgl"] + }, + "application/vnd.hp-hpid": { + source: "iana", + extensions: ["hpid"] + }, + "application/vnd.hp-hps": { + source: "iana", + extensions: ["hps"] + }, + "application/vnd.hp-jlyt": { + source: "iana", + extensions: ["jlt"] + }, + "application/vnd.hp-pcl": { + source: "iana", + extensions: ["pcl"] + }, + "application/vnd.hp-pclxl": { + source: "iana", + extensions: ["pclxl"] + }, + "application/vnd.hsl": { + source: "iana" + }, + "application/vnd.httphone": { + source: "iana" + }, + "application/vnd.hydrostatix.sof-data": { + source: "iana", + extensions: ["sfd-hdstx"] + }, + "application/vnd.hyper+json": { + source: "iana", + compressible: true + }, + "application/vnd.hyper-item+json": { + source: "iana", + compressible: true + }, + "application/vnd.hyperdrive+json": { + source: "iana", + compressible: true + }, + "application/vnd.hzn-3d-crossword": { + source: "iana" + }, + "application/vnd.ibm.afplinedata": { + source: "apache" + }, + "application/vnd.ibm.electronic-media": { + source: "iana" + }, + "application/vnd.ibm.minipay": { + source: "iana", + extensions: ["mpy"] + }, + "application/vnd.ibm.modcap": { + source: "apache", + extensions: ["afp", "listafp", "list3820"] + }, + "application/vnd.ibm.rights-management": { + source: "iana", + extensions: ["irm"] + }, + "application/vnd.ibm.secure-container": { + source: "iana", + extensions: ["sc"] + }, + "application/vnd.iccprofile": { + source: "iana", + extensions: ["icc", "icm"] + }, + "application/vnd.ieee.1905": { + source: "iana" + }, + "application/vnd.igloader": { + source: "iana", + extensions: ["igl"] + }, + "application/vnd.imagemeter.folder+zip": { + source: "iana", + compressible: false + }, + "application/vnd.imagemeter.image+zip": { + source: "iana", + compressible: false + }, + "application/vnd.immervision-ivp": { + source: "iana", + extensions: ["ivp"] + }, + "application/vnd.immervision-ivu": { + source: "iana", + extensions: ["ivu"] + }, + "application/vnd.ims.imsccv1p1": { + source: "iana" + }, + "application/vnd.ims.imsccv1p2": { + source: "iana" + }, + "application/vnd.ims.imsccv1p3": { + source: "iana" + }, + "application/vnd.ims.lis.v2.result+json": { + source: "iana", + compressible: true + }, + "application/vnd.ims.lti.v2.toolconsumerprofile+json": { + source: "iana", + compressible: true + }, + "application/vnd.ims.lti.v2.toolproxy+json": { + source: "iana", + compressible: true + }, + "application/vnd.ims.lti.v2.toolproxy.id+json": { + source: "iana", + compressible: true + }, + "application/vnd.ims.lti.v2.toolsettings+json": { + source: "iana", + compressible: true + }, + "application/vnd.ims.lti.v2.toolsettings.simple+json": { + source: "iana", + compressible: true + }, + "application/vnd.informedcontrol.rms+xml": { + source: "iana", + compressible: true + }, + "application/vnd.informix-visionary": { + source: "apache" + }, + "application/vnd.infotech.project": { + source: "iana" + }, + "application/vnd.infotech.project+xml": { + source: "iana", + compressible: true + }, + "application/vnd.innopath.wamp.notification": { + source: "iana" + }, + "application/vnd.insors.igm": { + source: "iana", + extensions: ["igm"] + }, + "application/vnd.intercon.formnet": { + source: "iana", + extensions: ["xpw", "xpx"] + }, + "application/vnd.intergeo": { + source: "iana", + extensions: ["i2g"] + }, + "application/vnd.intertrust.digibox": { + source: "iana" + }, + "application/vnd.intertrust.nncp": { + source: "iana" + }, + "application/vnd.intu.qbo": { + source: "iana", + extensions: ["qbo"] + }, + "application/vnd.intu.qfx": { + source: "iana", + extensions: ["qfx"] + }, + "application/vnd.ipfs.ipns-record": { + source: "iana" + }, + "application/vnd.ipld.car": { + source: "iana" + }, + "application/vnd.ipld.dag-cbor": { + source: "iana" + }, + "application/vnd.ipld.dag-json": { + source: "iana" + }, + "application/vnd.ipld.raw": { + source: "iana" + }, + "application/vnd.iptc.g2.catalogitem+xml": { + source: "iana", + compressible: true + }, + "application/vnd.iptc.g2.conceptitem+xml": { + source: "iana", + compressible: true + }, + "application/vnd.iptc.g2.knowledgeitem+xml": { + source: "iana", + compressible: true + }, + "application/vnd.iptc.g2.newsitem+xml": { + source: "iana", + compressible: true + }, + "application/vnd.iptc.g2.newsmessage+xml": { + source: "iana", + compressible: true + }, + "application/vnd.iptc.g2.packageitem+xml": { + source: "iana", + compressible: true + }, + "application/vnd.iptc.g2.planningitem+xml": { + source: "iana", + compressible: true + }, + "application/vnd.ipunplugged.rcprofile": { + source: "iana", + extensions: ["rcprofile"] + }, + "application/vnd.irepository.package+xml": { + source: "iana", + compressible: true, + extensions: ["irp"] + }, + "application/vnd.is-xpr": { + source: "iana", + extensions: ["xpr"] + }, + "application/vnd.isac.fcs": { + source: "iana", + extensions: ["fcs"] + }, + "application/vnd.iso11783-10+zip": { + source: "iana", + compressible: false + }, + "application/vnd.jam": { + source: "iana", + extensions: ["jam"] + }, + "application/vnd.japannet-directory-service": { + source: "iana" + }, + "application/vnd.japannet-jpnstore-wakeup": { + source: "iana" + }, + "application/vnd.japannet-payment-wakeup": { + source: "iana" + }, + "application/vnd.japannet-registration": { + source: "iana" + }, + "application/vnd.japannet-registration-wakeup": { + source: "iana" + }, + "application/vnd.japannet-setstore-wakeup": { + source: "iana" + }, + "application/vnd.japannet-verification": { + source: "iana" + }, + "application/vnd.japannet-verification-wakeup": { + source: "iana" + }, + "application/vnd.jcp.javame.midlet-rms": { + source: "iana", + extensions: ["rms"] + }, + "application/vnd.jisp": { + source: "iana", + extensions: ["jisp"] + }, + "application/vnd.joost.joda-archive": { + source: "iana", + extensions: ["joda"] + }, + "application/vnd.jsk.isdn-ngn": { + source: "iana" + }, + "application/vnd.kahootz": { + source: "iana", + extensions: ["ktz", "ktr"] + }, + "application/vnd.kde.karbon": { + source: "iana", + extensions: ["karbon"] + }, + "application/vnd.kde.kchart": { + source: "iana", + extensions: ["chrt"] + }, + "application/vnd.kde.kformula": { + source: "iana", + extensions: ["kfo"] + }, + "application/vnd.kde.kivio": { + source: "iana", + extensions: ["flw"] + }, + "application/vnd.kde.kontour": { + source: "iana", + extensions: ["kon"] + }, + "application/vnd.kde.kpresenter": { + source: "iana", + extensions: ["kpr", "kpt"] + }, + "application/vnd.kde.kspread": { + source: "iana", + extensions: ["ksp"] + }, + "application/vnd.kde.kword": { + source: "iana", + extensions: ["kwd", "kwt"] + }, + "application/vnd.kdl": { + source: "iana" + }, + "application/vnd.kenameaapp": { + source: "iana", + extensions: ["htke"] + }, + "application/vnd.keyman.kmp+zip": { + source: "iana", + compressible: false + }, + "application/vnd.keyman.kmx": { + source: "iana" + }, + "application/vnd.kidspiration": { + source: "iana", + extensions: ["kia"] + }, + "application/vnd.kinar": { + source: "iana", + extensions: ["kne", "knp"] + }, + "application/vnd.koan": { + source: "iana", + extensions: ["skp", "skd", "skt", "skm"] + }, + "application/vnd.kodak-descriptor": { + source: "iana", + extensions: ["sse"] + }, + "application/vnd.las": { + source: "iana" + }, + "application/vnd.las.las+json": { + source: "iana", + compressible: true + }, + "application/vnd.las.las+xml": { + source: "iana", + compressible: true, + extensions: ["lasxml"] + }, + "application/vnd.laszip": { + source: "iana" + }, + "application/vnd.ldev.productlicensing": { + source: "iana" + }, + "application/vnd.leap+json": { + source: "iana", + compressible: true + }, + "application/vnd.liberty-request+xml": { + source: "iana", + compressible: true + }, + "application/vnd.llamagraphics.life-balance.desktop": { + source: "iana", + extensions: ["lbd"] + }, + "application/vnd.llamagraphics.life-balance.exchange+xml": { + source: "iana", + compressible: true, + extensions: ["lbe"] + }, + "application/vnd.logipipe.circuit+zip": { + source: "iana", + compressible: false + }, + "application/vnd.loom": { + source: "iana" + }, + "application/vnd.lotus-1-2-3": { + source: "iana", + extensions: ["123"] + }, + "application/vnd.lotus-approach": { + source: "iana", + extensions: ["apr"] + }, + "application/vnd.lotus-freelance": { + source: "iana", + extensions: ["pre"] + }, + "application/vnd.lotus-notes": { + source: "iana", + extensions: ["nsf"] + }, + "application/vnd.lotus-organizer": { + source: "iana", + extensions: ["org"] + }, + "application/vnd.lotus-screencam": { + source: "iana", + extensions: ["scm"] + }, + "application/vnd.lotus-wordpro": { + source: "iana", + extensions: ["lwp"] + }, + "application/vnd.macports.portpkg": { + source: "iana", + extensions: ["portpkg"] + }, + "application/vnd.mapbox-vector-tile": { + source: "iana", + extensions: ["mvt"] + }, + "application/vnd.marlin.drm.actiontoken+xml": { + source: "iana", + compressible: true + }, + "application/vnd.marlin.drm.conftoken+xml": { + source: "iana", + compressible: true + }, + "application/vnd.marlin.drm.license+xml": { + source: "iana", + compressible: true + }, + "application/vnd.marlin.drm.mdcf": { + source: "iana" + }, + "application/vnd.mason+json": { + source: "iana", + compressible: true + }, + "application/vnd.maxar.archive.3tz+zip": { + source: "iana", + compressible: false + }, + "application/vnd.maxmind.maxmind-db": { + source: "iana" + }, + "application/vnd.mcd": { + source: "iana", + extensions: ["mcd"] + }, + "application/vnd.mdl": { + source: "iana" + }, + "application/vnd.mdl-mbsdf": { + source: "iana" + }, + "application/vnd.medcalcdata": { + source: "iana", + extensions: ["mc1"] + }, + "application/vnd.mediastation.cdkey": { + source: "iana", + extensions: ["cdkey"] + }, + "application/vnd.medicalholodeck.recordxr": { + source: "iana" + }, + "application/vnd.meridian-slingshot": { + source: "iana" + }, + "application/vnd.mermaid": { + source: "iana" + }, + "application/vnd.mfer": { + source: "iana", + extensions: ["mwf"] + }, + "application/vnd.mfmp": { + source: "iana", + extensions: ["mfm"] + }, + "application/vnd.micro+json": { + source: "iana", + compressible: true + }, + "application/vnd.micrografx.flo": { + source: "iana", + extensions: ["flo"] + }, + "application/vnd.micrografx.igx": { + source: "iana", + extensions: ["igx"] + }, + "application/vnd.microsoft.portable-executable": { + source: "iana" + }, + "application/vnd.microsoft.windows.thumbnail-cache": { + source: "iana" + }, + "application/vnd.miele+json": { + source: "iana", + compressible: true + }, + "application/vnd.mif": { + source: "iana", + extensions: ["mif"] + }, + "application/vnd.minisoft-hp3000-save": { + source: "iana" + }, + "application/vnd.mitsubishi.misty-guard.trustweb": { + source: "iana" + }, + "application/vnd.mobius.daf": { + source: "iana", + extensions: ["daf"] + }, + "application/vnd.mobius.dis": { + source: "iana", + extensions: ["dis"] + }, + "application/vnd.mobius.mbk": { + source: "iana", + extensions: ["mbk"] + }, + "application/vnd.mobius.mqy": { + source: "iana", + extensions: ["mqy"] + }, + "application/vnd.mobius.msl": { + source: "iana", + extensions: ["msl"] + }, + "application/vnd.mobius.plc": { + source: "iana", + extensions: ["plc"] + }, + "application/vnd.mobius.txf": { + source: "iana", + extensions: ["txf"] + }, + "application/vnd.modl": { + source: "iana" + }, + "application/vnd.mophun.application": { + source: "iana", + extensions: ["mpn"] + }, + "application/vnd.mophun.certificate": { + source: "iana", + extensions: ["mpc"] + }, + "application/vnd.motorola.flexsuite": { + source: "iana" + }, + "application/vnd.motorola.flexsuite.adsi": { + source: "iana" + }, + "application/vnd.motorola.flexsuite.fis": { + source: "iana" + }, + "application/vnd.motorola.flexsuite.gotap": { + source: "iana" + }, + "application/vnd.motorola.flexsuite.kmr": { + source: "iana" + }, + "application/vnd.motorola.flexsuite.ttc": { + source: "iana" + }, + "application/vnd.motorola.flexsuite.wem": { + source: "iana" + }, + "application/vnd.motorola.iprm": { + source: "iana" + }, + "application/vnd.mozilla.xul+xml": { + source: "iana", + compressible: true, + extensions: ["xul"] + }, + "application/vnd.ms-3mfdocument": { + source: "iana" + }, + "application/vnd.ms-artgalry": { + source: "iana", + extensions: ["cil"] + }, + "application/vnd.ms-asf": { + source: "iana" + }, + "application/vnd.ms-cab-compressed": { + source: "iana", + extensions: ["cab"] + }, + "application/vnd.ms-color.iccprofile": { + source: "apache" + }, + "application/vnd.ms-excel": { + source: "iana", + compressible: false, + extensions: ["xls", "xlm", "xla", "xlc", "xlt", "xlw"] + }, + "application/vnd.ms-excel.addin.macroenabled.12": { + source: "iana", + extensions: ["xlam"] + }, + "application/vnd.ms-excel.sheet.binary.macroenabled.12": { + source: "iana", + extensions: ["xlsb"] + }, + "application/vnd.ms-excel.sheet.macroenabled.12": { + source: "iana", + extensions: ["xlsm"] + }, + "application/vnd.ms-excel.template.macroenabled.12": { + source: "iana", + extensions: ["xltm"] + }, + "application/vnd.ms-fontobject": { + source: "iana", + compressible: true, + extensions: ["eot"] + }, + "application/vnd.ms-htmlhelp": { + source: "iana", + extensions: ["chm"] + }, + "application/vnd.ms-ims": { + source: "iana", + extensions: ["ims"] + }, + "application/vnd.ms-lrm": { + source: "iana", + extensions: ["lrm"] + }, + "application/vnd.ms-office.activex+xml": { + source: "iana", + compressible: true + }, + "application/vnd.ms-officetheme": { + source: "iana", + extensions: ["thmx"] + }, + "application/vnd.ms-opentype": { + source: "apache", + compressible: true + }, + "application/vnd.ms-outlook": { + compressible: false, + extensions: ["msg"] + }, + "application/vnd.ms-package.obfuscated-opentype": { + source: "apache" + }, + "application/vnd.ms-pki.seccat": { + source: "apache", + extensions: ["cat"] + }, + "application/vnd.ms-pki.stl": { + source: "apache", + extensions: ["stl"] + }, + "application/vnd.ms-playready.initiator+xml": { + source: "iana", + compressible: true + }, + "application/vnd.ms-powerpoint": { + source: "iana", + compressible: false, + extensions: ["ppt", "pps", "pot"] + }, + "application/vnd.ms-powerpoint.addin.macroenabled.12": { + source: "iana", + extensions: ["ppam"] + }, + "application/vnd.ms-powerpoint.presentation.macroenabled.12": { + source: "iana", + extensions: ["pptm"] + }, + "application/vnd.ms-powerpoint.slide.macroenabled.12": { + source: "iana", + extensions: ["sldm"] + }, + "application/vnd.ms-powerpoint.slideshow.macroenabled.12": { + source: "iana", + extensions: ["ppsm"] + }, + "application/vnd.ms-powerpoint.template.macroenabled.12": { + source: "iana", + extensions: ["potm"] + }, + "application/vnd.ms-printdevicecapabilities+xml": { + source: "iana", + compressible: true + }, + "application/vnd.ms-printing.printticket+xml": { + source: "apache", + compressible: true + }, + "application/vnd.ms-printschematicket+xml": { + source: "iana", + compressible: true + }, + "application/vnd.ms-project": { + source: "iana", + extensions: ["mpp", "mpt"] + }, + "application/vnd.ms-tnef": { + source: "iana" + }, + "application/vnd.ms-visio.viewer": { + extensions: ["vdx"] + }, + "application/vnd.ms-windows.devicepairing": { + source: "iana" + }, + "application/vnd.ms-windows.nwprinting.oob": { + source: "iana" + }, + "application/vnd.ms-windows.printerpairing": { + source: "iana" + }, + "application/vnd.ms-windows.wsd.oob": { + source: "iana" + }, + "application/vnd.ms-wmdrm.lic-chlg-req": { + source: "iana" + }, + "application/vnd.ms-wmdrm.lic-resp": { + source: "iana" + }, + "application/vnd.ms-wmdrm.meter-chlg-req": { + source: "iana" + }, + "application/vnd.ms-wmdrm.meter-resp": { + source: "iana" + }, + "application/vnd.ms-word.document.macroenabled.12": { + source: "iana", + extensions: ["docm"] + }, + "application/vnd.ms-word.template.macroenabled.12": { + source: "iana", + extensions: ["dotm"] + }, + "application/vnd.ms-works": { + source: "iana", + extensions: ["wps", "wks", "wcm", "wdb"] + }, + "application/vnd.ms-wpl": { + source: "iana", + extensions: ["wpl"] + }, + "application/vnd.ms-xpsdocument": { + source: "iana", + compressible: false, + extensions: ["xps"] + }, + "application/vnd.msa-disk-image": { + source: "iana" + }, + "application/vnd.mseq": { + source: "iana", + extensions: ["mseq"] + }, + "application/vnd.msgpack": { + source: "iana" + }, + "application/vnd.msign": { + source: "iana" + }, + "application/vnd.multiad.creator": { + source: "iana" + }, + "application/vnd.multiad.creator.cif": { + source: "iana" + }, + "application/vnd.music-niff": { + source: "iana" + }, + "application/vnd.musician": { + source: "iana", + extensions: ["mus"] + }, + "application/vnd.muvee.style": { + source: "iana", + extensions: ["msty"] + }, + "application/vnd.mynfc": { + source: "iana", + extensions: ["taglet"] + }, + "application/vnd.nacamar.ybrid+json": { + source: "iana", + compressible: true + }, + "application/vnd.nato.bindingdataobject+cbor": { + source: "iana" + }, + "application/vnd.nato.bindingdataobject+json": { + source: "iana", + compressible: true + }, + "application/vnd.nato.bindingdataobject+xml": { + source: "iana", + compressible: true, + extensions: ["bdo"] + }, + "application/vnd.nato.openxmlformats-package.iepd+zip": { + source: "iana", + compressible: false + }, + "application/vnd.ncd.control": { + source: "iana" + }, + "application/vnd.ncd.reference": { + source: "iana" + }, + "application/vnd.nearst.inv+json": { + source: "iana", + compressible: true + }, + "application/vnd.nebumind.line": { + source: "iana" + }, + "application/vnd.nervana": { + source: "iana" + }, + "application/vnd.netfpx": { + source: "iana" + }, + "application/vnd.neurolanguage.nlu": { + source: "iana", + extensions: ["nlu"] + }, + "application/vnd.nimn": { + source: "iana" + }, + "application/vnd.nintendo.nitro.rom": { + source: "iana" + }, + "application/vnd.nintendo.snes.rom": { + source: "iana" + }, + "application/vnd.nitf": { + source: "iana", + extensions: ["ntf", "nitf"] + }, + "application/vnd.noblenet-directory": { + source: "iana", + extensions: ["nnd"] + }, + "application/vnd.noblenet-sealer": { + source: "iana", + extensions: ["nns"] + }, + "application/vnd.noblenet-web": { + source: "iana", + extensions: ["nnw"] + }, + "application/vnd.nokia.catalogs": { + source: "iana" + }, + "application/vnd.nokia.conml+wbxml": { + source: "iana" + }, + "application/vnd.nokia.conml+xml": { + source: "iana", + compressible: true + }, + "application/vnd.nokia.iptv.config+xml": { + source: "iana", + compressible: true + }, + "application/vnd.nokia.isds-radio-presets": { + source: "iana" + }, + "application/vnd.nokia.landmark+wbxml": { + source: "iana" + }, + "application/vnd.nokia.landmark+xml": { + source: "iana", + compressible: true + }, + "application/vnd.nokia.landmarkcollection+xml": { + source: "iana", + compressible: true + }, + "application/vnd.nokia.n-gage.ac+xml": { + source: "iana", + compressible: true, + extensions: ["ac"] + }, + "application/vnd.nokia.n-gage.data": { + source: "iana", + extensions: ["ngdat"] + }, + "application/vnd.nokia.n-gage.symbian.install": { + source: "apache", + extensions: ["n-gage"] + }, + "application/vnd.nokia.ncd": { + source: "iana" + }, + "application/vnd.nokia.pcd+wbxml": { + source: "iana" + }, + "application/vnd.nokia.pcd+xml": { + source: "iana", + compressible: true + }, + "application/vnd.nokia.radio-preset": { + source: "iana", + extensions: ["rpst"] + }, + "application/vnd.nokia.radio-presets": { + source: "iana", + extensions: ["rpss"] + }, + "application/vnd.novadigm.edm": { + source: "iana", + extensions: ["edm"] + }, + "application/vnd.novadigm.edx": { + source: "iana", + extensions: ["edx"] + }, + "application/vnd.novadigm.ext": { + source: "iana", + extensions: ["ext"] + }, + "application/vnd.ntt-local.content-share": { + source: "iana" + }, + "application/vnd.ntt-local.file-transfer": { + source: "iana" + }, + "application/vnd.ntt-local.ogw_remote-access": { + source: "iana" + }, + "application/vnd.ntt-local.sip-ta_remote": { + source: "iana" + }, + "application/vnd.ntt-local.sip-ta_tcp_stream": { + source: "iana" + }, + "application/vnd.oai.workflows": { + source: "iana" + }, + "application/vnd.oai.workflows+json": { + source: "iana", + compressible: true + }, + "application/vnd.oai.workflows+yaml": { + source: "iana" + }, + "application/vnd.oasis.opendocument.base": { + source: "iana" + }, + "application/vnd.oasis.opendocument.chart": { + source: "iana", + extensions: ["odc"] + }, + "application/vnd.oasis.opendocument.chart-template": { + source: "iana", + extensions: ["otc"] + }, + "application/vnd.oasis.opendocument.database": { + source: "apache", + extensions: ["odb"] + }, + "application/vnd.oasis.opendocument.formula": { + source: "iana", + extensions: ["odf"] + }, + "application/vnd.oasis.opendocument.formula-template": { + source: "iana", + extensions: ["odft"] + }, + "application/vnd.oasis.opendocument.graphics": { + source: "iana", + compressible: false, + extensions: ["odg"] + }, + "application/vnd.oasis.opendocument.graphics-template": { + source: "iana", + extensions: ["otg"] + }, + "application/vnd.oasis.opendocument.image": { + source: "iana", + extensions: ["odi"] + }, + "application/vnd.oasis.opendocument.image-template": { + source: "iana", + extensions: ["oti"] + }, + "application/vnd.oasis.opendocument.presentation": { + source: "iana", + compressible: false, + extensions: ["odp"] + }, + "application/vnd.oasis.opendocument.presentation-template": { + source: "iana", + extensions: ["otp"] + }, + "application/vnd.oasis.opendocument.spreadsheet": { + source: "iana", + compressible: false, + extensions: ["ods"] + }, + "application/vnd.oasis.opendocument.spreadsheet-template": { + source: "iana", + extensions: ["ots"] + }, + "application/vnd.oasis.opendocument.text": { + source: "iana", + compressible: false, + extensions: ["odt"] + }, + "application/vnd.oasis.opendocument.text-master": { + source: "iana", + extensions: ["odm"] + }, + "application/vnd.oasis.opendocument.text-master-template": { + source: "iana" + }, + "application/vnd.oasis.opendocument.text-template": { + source: "iana", + extensions: ["ott"] + }, + "application/vnd.oasis.opendocument.text-web": { + source: "iana", + extensions: ["oth"] + }, + "application/vnd.obn": { + source: "iana" + }, + "application/vnd.ocf+cbor": { + source: "iana" + }, + "application/vnd.oci.image.manifest.v1+json": { + source: "iana", + compressible: true + }, + "application/vnd.oftn.l10n+json": { + source: "iana", + compressible: true + }, + "application/vnd.oipf.contentaccessdownload+xml": { + source: "iana", + compressible: true + }, + "application/vnd.oipf.contentaccessstreaming+xml": { + source: "iana", + compressible: true + }, + "application/vnd.oipf.cspg-hexbinary": { + source: "iana" + }, + "application/vnd.oipf.dae.svg+xml": { + source: "iana", + compressible: true + }, + "application/vnd.oipf.dae.xhtml+xml": { + source: "iana", + compressible: true + }, + "application/vnd.oipf.mippvcontrolmessage+xml": { + source: "iana", + compressible: true + }, + "application/vnd.oipf.pae.gem": { + source: "iana" + }, + "application/vnd.oipf.spdiscovery+xml": { + source: "iana", + compressible: true + }, + "application/vnd.oipf.spdlist+xml": { + source: "iana", + compressible: true + }, + "application/vnd.oipf.ueprofile+xml": { + source: "iana", + compressible: true + }, + "application/vnd.oipf.userprofile+xml": { + source: "iana", + compressible: true + }, + "application/vnd.olpc-sugar": { + source: "iana", + extensions: ["xo"] + }, + "application/vnd.oma-scws-config": { + source: "iana" + }, + "application/vnd.oma-scws-http-request": { + source: "iana" + }, + "application/vnd.oma-scws-http-response": { + source: "iana" + }, + "application/vnd.oma.bcast.associated-procedure-parameter+xml": { + source: "iana", + compressible: true + }, + "application/vnd.oma.bcast.drm-trigger+xml": { + source: "apache", + compressible: true + }, + "application/vnd.oma.bcast.imd+xml": { + source: "iana", + compressible: true + }, + "application/vnd.oma.bcast.ltkm": { + source: "iana" + }, + "application/vnd.oma.bcast.notification+xml": { + source: "iana", + compressible: true + }, + "application/vnd.oma.bcast.provisioningtrigger": { + source: "iana" + }, + "application/vnd.oma.bcast.sgboot": { + source: "iana" + }, + "application/vnd.oma.bcast.sgdd+xml": { + source: "iana", + compressible: true + }, + "application/vnd.oma.bcast.sgdu": { + source: "iana" + }, + "application/vnd.oma.bcast.simple-symbol-container": { + source: "iana" + }, + "application/vnd.oma.bcast.smartcard-trigger+xml": { + source: "apache", + compressible: true + }, + "application/vnd.oma.bcast.sprov+xml": { + source: "iana", + compressible: true + }, + "application/vnd.oma.bcast.stkm": { + source: "iana" + }, + "application/vnd.oma.cab-address-book+xml": { + source: "iana", + compressible: true + }, + "application/vnd.oma.cab-feature-handler+xml": { + source: "iana", + compressible: true + }, + "application/vnd.oma.cab-pcc+xml": { + source: "iana", + compressible: true + }, + "application/vnd.oma.cab-subs-invite+xml": { + source: "iana", + compressible: true + }, + "application/vnd.oma.cab-user-prefs+xml": { + source: "iana", + compressible: true + }, + "application/vnd.oma.dcd": { + source: "iana" + }, + "application/vnd.oma.dcdc": { + source: "iana" + }, + "application/vnd.oma.dd2+xml": { + source: "iana", + compressible: true, + extensions: ["dd2"] + }, + "application/vnd.oma.drm.risd+xml": { + source: "iana", + compressible: true + }, + "application/vnd.oma.group-usage-list+xml": { + source: "iana", + compressible: true + }, + "application/vnd.oma.lwm2m+cbor": { + source: "iana" + }, + "application/vnd.oma.lwm2m+json": { + source: "iana", + compressible: true + }, + "application/vnd.oma.lwm2m+tlv": { + source: "iana" + }, + "application/vnd.oma.pal+xml": { + source: "iana", + compressible: true + }, + "application/vnd.oma.poc.detailed-progress-report+xml": { + source: "iana", + compressible: true + }, + "application/vnd.oma.poc.final-report+xml": { + source: "iana", + compressible: true + }, + "application/vnd.oma.poc.groups+xml": { + source: "iana", + compressible: true + }, + "application/vnd.oma.poc.invocation-descriptor+xml": { + source: "iana", + compressible: true + }, + "application/vnd.oma.poc.optimized-progress-report+xml": { + source: "iana", + compressible: true + }, + "application/vnd.oma.push": { + source: "iana" + }, + "application/vnd.oma.scidm.messages+xml": { + source: "iana", + compressible: true + }, + "application/vnd.oma.xcap-directory+xml": { + source: "iana", + compressible: true + }, + "application/vnd.omads-email+xml": { + source: "iana", + charset: "UTF-8", + compressible: true + }, + "application/vnd.omads-file+xml": { + source: "iana", + charset: "UTF-8", + compressible: true + }, + "application/vnd.omads-folder+xml": { + source: "iana", + charset: "UTF-8", + compressible: true + }, + "application/vnd.omaloc-supl-init": { + source: "iana" + }, + "application/vnd.onepager": { + source: "iana" + }, + "application/vnd.onepagertamp": { + source: "iana" + }, + "application/vnd.onepagertamx": { + source: "iana" + }, + "application/vnd.onepagertat": { + source: "iana" + }, + "application/vnd.onepagertatp": { + source: "iana" + }, + "application/vnd.onepagertatx": { + source: "iana" + }, + "application/vnd.onvif.metadata": { + source: "iana" + }, + "application/vnd.openblox.game+xml": { + source: "iana", + compressible: true, + extensions: ["obgx"] + }, + "application/vnd.openblox.game-binary": { + source: "iana" + }, + "application/vnd.openeye.oeb": { + source: "iana" + }, + "application/vnd.openofficeorg.extension": { + source: "apache", + extensions: ["oxt"] + }, + "application/vnd.openstreetmap.data+xml": { + source: "iana", + compressible: true, + extensions: ["osm"] + }, + "application/vnd.opentimestamps.ots": { + source: "iana" + }, + "application/vnd.openvpi.dspx+json": { + source: "iana", + compressible: true + }, + "application/vnd.openxmlformats-officedocument.custom-properties+xml": { + source: "iana", + compressible: true + }, + "application/vnd.openxmlformats-officedocument.customxmlproperties+xml": { + source: "iana", + compressible: true + }, + "application/vnd.openxmlformats-officedocument.drawing+xml": { + source: "iana", + compressible: true + }, + "application/vnd.openxmlformats-officedocument.drawingml.chart+xml": { + source: "iana", + compressible: true + }, + "application/vnd.openxmlformats-officedocument.drawingml.chartshapes+xml": { + source: "iana", + compressible: true + }, + "application/vnd.openxmlformats-officedocument.drawingml.diagramcolors+xml": { + source: "iana", + compressible: true + }, + "application/vnd.openxmlformats-officedocument.drawingml.diagramdata+xml": { + source: "iana", + compressible: true + }, + "application/vnd.openxmlformats-officedocument.drawingml.diagramlayout+xml": { + source: "iana", + compressible: true + }, + "application/vnd.openxmlformats-officedocument.drawingml.diagramstyle+xml": { + source: "iana", + compressible: true + }, + "application/vnd.openxmlformats-officedocument.extended-properties+xml": { + source: "iana", + compressible: true + }, + "application/vnd.openxmlformats-officedocument.presentationml.commentauthors+xml": { + source: "iana", + compressible: true + }, + "application/vnd.openxmlformats-officedocument.presentationml.comments+xml": { + source: "iana", + compressible: true + }, + "application/vnd.openxmlformats-officedocument.presentationml.handoutmaster+xml": { + source: "iana", + compressible: true + }, + "application/vnd.openxmlformats-officedocument.presentationml.notesmaster+xml": { + source: "iana", + compressible: true + }, + "application/vnd.openxmlformats-officedocument.presentationml.notesslide+xml": { + source: "iana", + compressible: true + }, + "application/vnd.openxmlformats-officedocument.presentationml.presentation": { + source: "iana", + compressible: false, + extensions: ["pptx"] + }, + "application/vnd.openxmlformats-officedocument.presentationml.presentation.main+xml": { + source: "iana", + compressible: true + }, + "application/vnd.openxmlformats-officedocument.presentationml.presprops+xml": { + source: "iana", + compressible: true + }, + "application/vnd.openxmlformats-officedocument.presentationml.slide": { + source: "iana", + extensions: ["sldx"] + }, + "application/vnd.openxmlformats-officedocument.presentationml.slide+xml": { + source: "iana", + compressible: true + }, + "application/vnd.openxmlformats-officedocument.presentationml.slidelayout+xml": { + source: "iana", + compressible: true + }, + "application/vnd.openxmlformats-officedocument.presentationml.slidemaster+xml": { + source: "iana", + compressible: true + }, + "application/vnd.openxmlformats-officedocument.presentationml.slideshow": { + source: "iana", + extensions: ["ppsx"] + }, + "application/vnd.openxmlformats-officedocument.presentationml.slideshow.main+xml": { + source: "iana", + compressible: true + }, + "application/vnd.openxmlformats-officedocument.presentationml.slideupdateinfo+xml": { + source: "iana", + compressible: true + }, + "application/vnd.openxmlformats-officedocument.presentationml.tablestyles+xml": { + source: "iana", + compressible: true + }, + "application/vnd.openxmlformats-officedocument.presentationml.tags+xml": { + source: "iana", + compressible: true + }, + "application/vnd.openxmlformats-officedocument.presentationml.template": { + source: "iana", + extensions: ["potx"] + }, + "application/vnd.openxmlformats-officedocument.presentationml.template.main+xml": { + source: "iana", + compressible: true + }, + "application/vnd.openxmlformats-officedocument.presentationml.viewprops+xml": { + source: "iana", + compressible: true + }, + "application/vnd.openxmlformats-officedocument.spreadsheetml.calcchain+xml": { + source: "iana", + compressible: true + }, + "application/vnd.openxmlformats-officedocument.spreadsheetml.chartsheet+xml": { + source: "iana", + compressible: true + }, + "application/vnd.openxmlformats-officedocument.spreadsheetml.comments+xml": { + source: "iana", + compressible: true + }, + "application/vnd.openxmlformats-officedocument.spreadsheetml.connections+xml": { + source: "iana", + compressible: true + }, + "application/vnd.openxmlformats-officedocument.spreadsheetml.dialogsheet+xml": { + source: "iana", + compressible: true + }, + "application/vnd.openxmlformats-officedocument.spreadsheetml.externallink+xml": { + source: "iana", + compressible: true + }, + "application/vnd.openxmlformats-officedocument.spreadsheetml.pivotcachedefinition+xml": { + source: "iana", + compressible: true + }, + "application/vnd.openxmlformats-officedocument.spreadsheetml.pivotcacherecords+xml": { + source: "iana", + compressible: true + }, + "application/vnd.openxmlformats-officedocument.spreadsheetml.pivottable+xml": { + source: "iana", + compressible: true + }, + "application/vnd.openxmlformats-officedocument.spreadsheetml.querytable+xml": { + source: "iana", + compressible: true + }, + "application/vnd.openxmlformats-officedocument.spreadsheetml.revisionheaders+xml": { + source: "iana", + compressible: true + }, + "application/vnd.openxmlformats-officedocument.spreadsheetml.revisionlog+xml": { + source: "iana", + compressible: true + }, + "application/vnd.openxmlformats-officedocument.spreadsheetml.sharedstrings+xml": { + source: "iana", + compressible: true + }, + "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet": { + source: "iana", + compressible: false, + extensions: ["xlsx"] + }, + "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet.main+xml": { + source: "iana", + compressible: true + }, + "application/vnd.openxmlformats-officedocument.spreadsheetml.sheetmetadata+xml": { + source: "iana", + compressible: true + }, + "application/vnd.openxmlformats-officedocument.spreadsheetml.styles+xml": { + source: "iana", + compressible: true + }, + "application/vnd.openxmlformats-officedocument.spreadsheetml.table+xml": { + source: "iana", + compressible: true + }, + "application/vnd.openxmlformats-officedocument.spreadsheetml.tablesinglecells+xml": { + source: "iana", + compressible: true + }, + "application/vnd.openxmlformats-officedocument.spreadsheetml.template": { + source: "iana", + extensions: ["xltx"] + }, + "application/vnd.openxmlformats-officedocument.spreadsheetml.template.main+xml": { + source: "iana", + compressible: true + }, + "application/vnd.openxmlformats-officedocument.spreadsheetml.usernames+xml": { + source: "iana", + compressible: true + }, + "application/vnd.openxmlformats-officedocument.spreadsheetml.volatiledependencies+xml": { + source: "iana", + compressible: true + }, + "application/vnd.openxmlformats-officedocument.spreadsheetml.worksheet+xml": { + source: "iana", + compressible: true + }, + "application/vnd.openxmlformats-officedocument.theme+xml": { + source: "iana", + compressible: true + }, + "application/vnd.openxmlformats-officedocument.themeoverride+xml": { + source: "iana", + compressible: true + }, + "application/vnd.openxmlformats-officedocument.vmldrawing": { + source: "iana" + }, + "application/vnd.openxmlformats-officedocument.wordprocessingml.comments+xml": { + source: "iana", + compressible: true + }, + "application/vnd.openxmlformats-officedocument.wordprocessingml.document": { + source: "iana", + compressible: false, + extensions: ["docx"] + }, + "application/vnd.openxmlformats-officedocument.wordprocessingml.document.glossary+xml": { + source: "iana", + compressible: true + }, + "application/vnd.openxmlformats-officedocument.wordprocessingml.document.main+xml": { + source: "iana", + compressible: true + }, + "application/vnd.openxmlformats-officedocument.wordprocessingml.endnotes+xml": { + source: "iana", + compressible: true + }, + "application/vnd.openxmlformats-officedocument.wordprocessingml.fonttable+xml": { + source: "iana", + compressible: true + }, + "application/vnd.openxmlformats-officedocument.wordprocessingml.footer+xml": { + source: "iana", + compressible: true + }, + "application/vnd.openxmlformats-officedocument.wordprocessingml.footnotes+xml": { + source: "iana", + compressible: true + }, + "application/vnd.openxmlformats-officedocument.wordprocessingml.numbering+xml": { + source: "iana", + compressible: true + }, + "application/vnd.openxmlformats-officedocument.wordprocessingml.settings+xml": { + source: "iana", + compressible: true + }, + "application/vnd.openxmlformats-officedocument.wordprocessingml.styles+xml": { + source: "iana", + compressible: true + }, + "application/vnd.openxmlformats-officedocument.wordprocessingml.template": { + source: "iana", + extensions: ["dotx"] + }, + "application/vnd.openxmlformats-officedocument.wordprocessingml.template.main+xml": { + source: "iana", + compressible: true + }, + "application/vnd.openxmlformats-officedocument.wordprocessingml.websettings+xml": { + source: "iana", + compressible: true + }, + "application/vnd.openxmlformats-package.core-properties+xml": { + source: "iana", + compressible: true + }, + "application/vnd.openxmlformats-package.digital-signature-xmlsignature+xml": { + source: "iana", + compressible: true + }, + "application/vnd.openxmlformats-package.relationships+xml": { + source: "iana", + compressible: true + }, + "application/vnd.oracle.resource+json": { + source: "iana", + compressible: true + }, + "application/vnd.orange.indata": { + source: "iana" + }, + "application/vnd.osa.netdeploy": { + source: "iana" + }, + "application/vnd.osgeo.mapguide.package": { + source: "iana", + extensions: ["mgp"] + }, + "application/vnd.osgi.bundle": { + source: "iana" + }, + "application/vnd.osgi.dp": { + source: "iana", + extensions: ["dp"] + }, + "application/vnd.osgi.subsystem": { + source: "iana", + extensions: ["esa"] + }, + "application/vnd.otps.ct-kip+xml": { + source: "iana", + compressible: true + }, + "application/vnd.oxli.countgraph": { + source: "iana" + }, + "application/vnd.pagerduty+json": { + source: "iana", + compressible: true + }, + "application/vnd.palm": { + source: "iana", + extensions: ["pdb", "pqa", "oprc"] + }, + "application/vnd.panoply": { + source: "iana" + }, + "application/vnd.paos.xml": { + source: "iana" + }, + "application/vnd.patentdive": { + source: "iana" + }, + "application/vnd.patientecommsdoc": { + source: "iana" + }, + "application/vnd.pawaafile": { + source: "iana", + extensions: ["paw"] + }, + "application/vnd.pcos": { + source: "iana" + }, + "application/vnd.pg.format": { + source: "iana", + extensions: ["str"] + }, + "application/vnd.pg.osasli": { + source: "iana", + extensions: ["ei6"] + }, + "application/vnd.piaccess.application-licence": { + source: "iana" + }, + "application/vnd.picsel": { + source: "iana", + extensions: ["efif"] + }, + "application/vnd.pmi.widget": { + source: "iana", + extensions: ["wg"] + }, + "application/vnd.poc.group-advertisement+xml": { + source: "iana", + compressible: true + }, + "application/vnd.pocketlearn": { + source: "iana", + extensions: ["plf"] + }, + "application/vnd.powerbuilder6": { + source: "iana", + extensions: ["pbd"] + }, + "application/vnd.powerbuilder6-s": { + source: "iana" + }, + "application/vnd.powerbuilder7": { + source: "iana" + }, + "application/vnd.powerbuilder7-s": { + source: "iana" + }, + "application/vnd.powerbuilder75": { + source: "iana" + }, + "application/vnd.powerbuilder75-s": { + source: "iana" + }, + "application/vnd.preminet": { + source: "iana" + }, + "application/vnd.previewsystems.box": { + source: "iana", + extensions: ["box"] + }, + "application/vnd.procrate.brushset": { + extensions: ["brushset"] + }, + "application/vnd.procreate.brush": { + extensions: ["brush"] + }, + "application/vnd.procreate.dream": { + extensions: ["drm"] + }, + "application/vnd.proteus.magazine": { + source: "iana", + extensions: ["mgz"] + }, + "application/vnd.psfs": { + source: "iana" + }, + "application/vnd.pt.mundusmundi": { + source: "iana" + }, + "application/vnd.publishare-delta-tree": { + source: "iana", + extensions: ["qps"] + }, + "application/vnd.pvi.ptid1": { + source: "iana", + extensions: ["ptid"] + }, + "application/vnd.pwg-multiplexed": { + source: "iana" + }, + "application/vnd.pwg-xhtml-print+xml": { + source: "iana", + compressible: true, + extensions: ["xhtm"] + }, + "application/vnd.qualcomm.brew-app-res": { + source: "iana" + }, + "application/vnd.quarantainenet": { + source: "iana" + }, + "application/vnd.quark.quarkxpress": { + source: "iana", + extensions: ["qxd", "qxt", "qwd", "qwt", "qxl", "qxb"] + }, + "application/vnd.quobject-quoxdocument": { + source: "iana" + }, + "application/vnd.radisys.moml+xml": { + source: "iana", + compressible: true + }, + "application/vnd.radisys.msml+xml": { + source: "iana", + compressible: true + }, + "application/vnd.radisys.msml-audit+xml": { + source: "iana", + compressible: true + }, + "application/vnd.radisys.msml-audit-conf+xml": { + source: "iana", + compressible: true + }, + "application/vnd.radisys.msml-audit-conn+xml": { + source: "iana", + compressible: true + }, + "application/vnd.radisys.msml-audit-dialog+xml": { + source: "iana", + compressible: true + }, + "application/vnd.radisys.msml-audit-stream+xml": { + source: "iana", + compressible: true + }, + "application/vnd.radisys.msml-conf+xml": { + source: "iana", + compressible: true + }, + "application/vnd.radisys.msml-dialog+xml": { + source: "iana", + compressible: true + }, + "application/vnd.radisys.msml-dialog-base+xml": { + source: "iana", + compressible: true + }, + "application/vnd.radisys.msml-dialog-fax-detect+xml": { + source: "iana", + compressible: true + }, + "application/vnd.radisys.msml-dialog-fax-sendrecv+xml": { + source: "iana", + compressible: true + }, + "application/vnd.radisys.msml-dialog-group+xml": { + source: "iana", + compressible: true + }, + "application/vnd.radisys.msml-dialog-speech+xml": { + source: "iana", + compressible: true + }, + "application/vnd.radisys.msml-dialog-transform+xml": { + source: "iana", + compressible: true + }, + "application/vnd.rainstor.data": { + source: "iana" + }, + "application/vnd.rapid": { + source: "iana" + }, + "application/vnd.rar": { + source: "iana", + extensions: ["rar"] + }, + "application/vnd.realvnc.bed": { + source: "iana", + extensions: ["bed"] + }, + "application/vnd.recordare.musicxml": { + source: "iana", + extensions: ["mxl"] + }, + "application/vnd.recordare.musicxml+xml": { + source: "iana", + compressible: true, + extensions: ["musicxml"] + }, + "application/vnd.relpipe": { + source: "iana" + }, + "application/vnd.renlearn.rlprint": { + source: "iana" + }, + "application/vnd.resilient.logic": { + source: "iana" + }, + "application/vnd.restful+json": { + source: "iana", + compressible: true + }, + "application/vnd.rig.cryptonote": { + source: "iana", + extensions: ["cryptonote"] + }, + "application/vnd.rim.cod": { + source: "apache", + extensions: ["cod"] + }, + "application/vnd.rn-realmedia": { + source: "apache", + extensions: ["rm"] + }, + "application/vnd.rn-realmedia-vbr": { + source: "apache", + extensions: ["rmvb"] + }, + "application/vnd.route66.link66+xml": { + source: "iana", + compressible: true, + extensions: ["link66"] + }, + "application/vnd.rs-274x": { + source: "iana" + }, + "application/vnd.ruckus.download": { + source: "iana" + }, + "application/vnd.s3sms": { + source: "iana" + }, + "application/vnd.sailingtracker.track": { + source: "iana", + extensions: ["st"] + }, + "application/vnd.sar": { + source: "iana" + }, + "application/vnd.sbm.cid": { + source: "iana" + }, + "application/vnd.sbm.mid2": { + source: "iana" + }, + "application/vnd.scribus": { + source: "iana" + }, + "application/vnd.sealed.3df": { + source: "iana" + }, + "application/vnd.sealed.csf": { + source: "iana" + }, + "application/vnd.sealed.doc": { + source: "iana" + }, + "application/vnd.sealed.eml": { + source: "iana" + }, + "application/vnd.sealed.mht": { + source: "iana" + }, + "application/vnd.sealed.net": { + source: "iana" + }, + "application/vnd.sealed.ppt": { + source: "iana" + }, + "application/vnd.sealed.tiff": { + source: "iana" + }, + "application/vnd.sealed.xls": { + source: "iana" + }, + "application/vnd.sealedmedia.softseal.html": { + source: "iana" + }, + "application/vnd.sealedmedia.softseal.pdf": { + source: "iana" + }, + "application/vnd.seemail": { + source: "iana", + extensions: ["see"] + }, + "application/vnd.seis+json": { + source: "iana", + compressible: true + }, + "application/vnd.sema": { + source: "iana", + extensions: ["sema"] + }, + "application/vnd.semd": { + source: "iana", + extensions: ["semd"] + }, + "application/vnd.semf": { + source: "iana", + extensions: ["semf"] + }, + "application/vnd.shade-save-file": { + source: "iana" + }, + "application/vnd.shana.informed.formdata": { + source: "iana", + extensions: ["ifm"] + }, + "application/vnd.shana.informed.formtemplate": { + source: "iana", + extensions: ["itp"] + }, + "application/vnd.shana.informed.interchange": { + source: "iana", + extensions: ["iif"] + }, + "application/vnd.shana.informed.package": { + source: "iana", + extensions: ["ipk"] + }, + "application/vnd.shootproof+json": { + source: "iana", + compressible: true + }, + "application/vnd.shopkick+json": { + source: "iana", + compressible: true + }, + "application/vnd.shp": { + source: "iana" + }, + "application/vnd.shx": { + source: "iana" + }, + "application/vnd.sigrok.session": { + source: "iana" + }, + "application/vnd.simtech-mindmapper": { + source: "iana", + extensions: ["twd", "twds"] + }, + "application/vnd.siren+json": { + source: "iana", + compressible: true + }, + "application/vnd.sketchometry": { + source: "iana" + }, + "application/vnd.smaf": { + source: "iana", + extensions: ["mmf"] + }, + "application/vnd.smart.notebook": { + source: "iana" + }, + "application/vnd.smart.teacher": { + source: "iana", + extensions: ["teacher"] + }, + "application/vnd.smintio.portals.archive": { + source: "iana" + }, + "application/vnd.snesdev-page-table": { + source: "iana" + }, + "application/vnd.software602.filler.form+xml": { + source: "iana", + compressible: true, + extensions: ["fo"] + }, + "application/vnd.software602.filler.form-xml-zip": { + source: "iana" + }, + "application/vnd.solent.sdkm+xml": { + source: "iana", + compressible: true, + extensions: ["sdkm", "sdkd"] + }, + "application/vnd.spotfire.dxp": { + source: "iana", + extensions: ["dxp"] + }, + "application/vnd.spotfire.sfs": { + source: "iana", + extensions: ["sfs"] + }, + "application/vnd.sqlite3": { + source: "iana" + }, + "application/vnd.sss-cod": { + source: "iana" + }, + "application/vnd.sss-dtf": { + source: "iana" + }, + "application/vnd.sss-ntf": { + source: "iana" + }, + "application/vnd.stardivision.calc": { + source: "apache", + extensions: ["sdc"] + }, + "application/vnd.stardivision.draw": { + source: "apache", + extensions: ["sda"] + }, + "application/vnd.stardivision.impress": { + source: "apache", + extensions: ["sdd"] + }, + "application/vnd.stardivision.math": { + source: "apache", + extensions: ["smf"] + }, + "application/vnd.stardivision.writer": { + source: "apache", + extensions: ["sdw", "vor"] + }, + "application/vnd.stardivision.writer-global": { + source: "apache", + extensions: ["sgl"] + }, + "application/vnd.stepmania.package": { + source: "iana", + extensions: ["smzip"] + }, + "application/vnd.stepmania.stepchart": { + source: "iana", + extensions: ["sm"] + }, + "application/vnd.street-stream": { + source: "iana" + }, + "application/vnd.sun.wadl+xml": { + source: "iana", + compressible: true, + extensions: ["wadl"] + }, + "application/vnd.sun.xml.calc": { + source: "apache", + extensions: ["sxc"] + }, + "application/vnd.sun.xml.calc.template": { + source: "apache", + extensions: ["stc"] + }, + "application/vnd.sun.xml.draw": { + source: "apache", + extensions: ["sxd"] + }, + "application/vnd.sun.xml.draw.template": { + source: "apache", + extensions: ["std"] + }, + "application/vnd.sun.xml.impress": { + source: "apache", + extensions: ["sxi"] + }, + "application/vnd.sun.xml.impress.template": { + source: "apache", + extensions: ["sti"] + }, + "application/vnd.sun.xml.math": { + source: "apache", + extensions: ["sxm"] + }, + "application/vnd.sun.xml.writer": { + source: "apache", + extensions: ["sxw"] + }, + "application/vnd.sun.xml.writer.global": { + source: "apache", + extensions: ["sxg"] + }, + "application/vnd.sun.xml.writer.template": { + source: "apache", + extensions: ["stw"] + }, + "application/vnd.sus-calendar": { + source: "iana", + extensions: ["sus", "susp"] + }, + "application/vnd.svd": { + source: "iana", + extensions: ["svd"] + }, + "application/vnd.swiftview-ics": { + source: "iana" + }, + "application/vnd.sybyl.mol2": { + source: "iana" + }, + "application/vnd.sycle+xml": { + source: "iana", + compressible: true + }, + "application/vnd.syft+json": { + source: "iana", + compressible: true + }, + "application/vnd.symbian.install": { + source: "apache", + extensions: ["sis", "sisx"] + }, + "application/vnd.syncml+xml": { + source: "iana", + charset: "UTF-8", + compressible: true, + extensions: ["xsm"] + }, + "application/vnd.syncml.dm+wbxml": { + source: "iana", + charset: "UTF-8", + extensions: ["bdm"] + }, + "application/vnd.syncml.dm+xml": { + source: "iana", + charset: "UTF-8", + compressible: true, + extensions: ["xdm"] + }, + "application/vnd.syncml.dm.notification": { + source: "iana" + }, + "application/vnd.syncml.dmddf+wbxml": { + source: "iana" + }, + "application/vnd.syncml.dmddf+xml": { + source: "iana", + charset: "UTF-8", + compressible: true, + extensions: ["ddf"] + }, + "application/vnd.syncml.dmtnds+wbxml": { + source: "iana" + }, + "application/vnd.syncml.dmtnds+xml": { + source: "iana", + charset: "UTF-8", + compressible: true + }, + "application/vnd.syncml.ds.notification": { + source: "iana" + }, + "application/vnd.tableschema+json": { + source: "iana", + compressible: true + }, + "application/vnd.tao.intent-module-archive": { + source: "iana", + extensions: ["tao"] + }, + "application/vnd.tcpdump.pcap": { + source: "iana", + extensions: ["pcap", "cap", "dmp"] + }, + "application/vnd.think-cell.ppttc+json": { + source: "iana", + compressible: true + }, + "application/vnd.tmd.mediaflex.api+xml": { + source: "iana", + compressible: true + }, + "application/vnd.tml": { + source: "iana" + }, + "application/vnd.tmobile-livetv": { + source: "iana", + extensions: ["tmo"] + }, + "application/vnd.tri.onesource": { + source: "iana" + }, + "application/vnd.trid.tpt": { + source: "iana", + extensions: ["tpt"] + }, + "application/vnd.triscape.mxs": { + source: "iana", + extensions: ["mxs"] + }, + "application/vnd.trueapp": { + source: "iana", + extensions: ["tra"] + }, + "application/vnd.truedoc": { + source: "iana" + }, + "application/vnd.ubisoft.webplayer": { + source: "iana" + }, + "application/vnd.ufdl": { + source: "iana", + extensions: ["ufd", "ufdl"] + }, + "application/vnd.uic.osdm+json": { + source: "iana", + compressible: true + }, + "application/vnd.uiq.theme": { + source: "iana", + extensions: ["utz"] + }, + "application/vnd.umajin": { + source: "iana", + extensions: ["umj"] + }, + "application/vnd.unity": { + source: "iana", + extensions: ["unityweb"] + }, + "application/vnd.uoml+xml": { + source: "iana", + compressible: true, + extensions: ["uoml", "uo"] + }, + "application/vnd.uplanet.alert": { + source: "iana" + }, + "application/vnd.uplanet.alert-wbxml": { + source: "iana" + }, + "application/vnd.uplanet.bearer-choice": { + source: "iana" + }, + "application/vnd.uplanet.bearer-choice-wbxml": { + source: "iana" + }, + "application/vnd.uplanet.cacheop": { + source: "iana" + }, + "application/vnd.uplanet.cacheop-wbxml": { + source: "iana" + }, + "application/vnd.uplanet.channel": { + source: "iana" + }, + "application/vnd.uplanet.channel-wbxml": { + source: "iana" + }, + "application/vnd.uplanet.list": { + source: "iana" + }, + "application/vnd.uplanet.list-wbxml": { + source: "iana" + }, + "application/vnd.uplanet.listcmd": { + source: "iana" + }, + "application/vnd.uplanet.listcmd-wbxml": { + source: "iana" + }, + "application/vnd.uplanet.signal": { + source: "iana" + }, + "application/vnd.uri-map": { + source: "iana" + }, + "application/vnd.valve.source.material": { + source: "iana" + }, + "application/vnd.vcx": { + source: "iana", + extensions: ["vcx"] + }, + "application/vnd.vd-study": { + source: "iana" + }, + "application/vnd.vectorworks": { + source: "iana" + }, + "application/vnd.vel+json": { + source: "iana", + compressible: true + }, + "application/vnd.veraison.tsm-report+cbor": { + source: "iana" + }, + "application/vnd.veraison.tsm-report+json": { + source: "iana", + compressible: true + }, + "application/vnd.verimatrix.vcas": { + source: "iana" + }, + "application/vnd.veritone.aion+json": { + source: "iana", + compressible: true + }, + "application/vnd.veryant.thin": { + source: "iana" + }, + "application/vnd.ves.encrypted": { + source: "iana" + }, + "application/vnd.vidsoft.vidconference": { + source: "iana" + }, + "application/vnd.visio": { + source: "iana", + extensions: ["vsd", "vst", "vss", "vsw", "vsdx", "vtx"] + }, + "application/vnd.visionary": { + source: "iana", + extensions: ["vis"] + }, + "application/vnd.vividence.scriptfile": { + source: "iana" + }, + "application/vnd.vocalshaper.vsp4": { + source: "iana" + }, + "application/vnd.vsf": { + source: "iana", + extensions: ["vsf"] + }, + "application/vnd.wap.sic": { + source: "iana" + }, + "application/vnd.wap.slc": { + source: "iana" + }, + "application/vnd.wap.wbxml": { + source: "iana", + charset: "UTF-8", + extensions: ["wbxml"] + }, + "application/vnd.wap.wmlc": { + source: "iana", + extensions: ["wmlc"] + }, + "application/vnd.wap.wmlscriptc": { + source: "iana", + extensions: ["wmlsc"] + }, + "application/vnd.wasmflow.wafl": { + source: "iana" + }, + "application/vnd.webturbo": { + source: "iana", + extensions: ["wtb"] + }, + "application/vnd.wfa.dpp": { + source: "iana" + }, + "application/vnd.wfa.p2p": { + source: "iana" + }, + "application/vnd.wfa.wsc": { + source: "iana" + }, + "application/vnd.windows.devicepairing": { + source: "iana" + }, + "application/vnd.wmc": { + source: "iana" + }, + "application/vnd.wmf.bootstrap": { + source: "iana" + }, + "application/vnd.wolfram.mathematica": { + source: "iana" + }, + "application/vnd.wolfram.mathematica.package": { + source: "iana" + }, + "application/vnd.wolfram.player": { + source: "iana", + extensions: ["nbp"] + }, + "application/vnd.wordlift": { + source: "iana" + }, + "application/vnd.wordperfect": { + source: "iana", + extensions: ["wpd"] + }, + "application/vnd.wqd": { + source: "iana", + extensions: ["wqd"] + }, + "application/vnd.wrq-hp3000-labelled": { + source: "iana" + }, + "application/vnd.wt.stf": { + source: "iana", + extensions: ["stf"] + }, + "application/vnd.wv.csp+wbxml": { + source: "iana" + }, + "application/vnd.wv.csp+xml": { + source: "iana", + compressible: true + }, + "application/vnd.wv.ssp+xml": { + source: "iana", + compressible: true + }, + "application/vnd.xacml+json": { + source: "iana", + compressible: true + }, + "application/vnd.xara": { + source: "iana", + extensions: ["xar"] + }, + "application/vnd.xarin.cpj": { + source: "iana" + }, + "application/vnd.xecrets-encrypted": { + source: "iana" + }, + "application/vnd.xfdl": { + source: "iana", + extensions: ["xfdl"] + }, + "application/vnd.xfdl.webform": { + source: "iana" + }, + "application/vnd.xmi+xml": { + source: "iana", + compressible: true + }, + "application/vnd.xmpie.cpkg": { + source: "iana" + }, + "application/vnd.xmpie.dpkg": { + source: "iana" + }, + "application/vnd.xmpie.plan": { + source: "iana" + }, + "application/vnd.xmpie.ppkg": { + source: "iana" + }, + "application/vnd.xmpie.xlim": { + source: "iana" + }, + "application/vnd.yamaha.hv-dic": { + source: "iana", + extensions: ["hvd"] + }, + "application/vnd.yamaha.hv-script": { + source: "iana", + extensions: ["hvs"] + }, + "application/vnd.yamaha.hv-voice": { + source: "iana", + extensions: ["hvp"] + }, + "application/vnd.yamaha.openscoreformat": { + source: "iana", + extensions: ["osf"] + }, + "application/vnd.yamaha.openscoreformat.osfpvg+xml": { + source: "iana", + compressible: true, + extensions: ["osfpvg"] + }, + "application/vnd.yamaha.remote-setup": { + source: "iana" + }, + "application/vnd.yamaha.smaf-audio": { + source: "iana", + extensions: ["saf"] + }, + "application/vnd.yamaha.smaf-phrase": { + source: "iana", + extensions: ["spf"] + }, + "application/vnd.yamaha.through-ngn": { + source: "iana" + }, + "application/vnd.yamaha.tunnel-udpencap": { + source: "iana" + }, + "application/vnd.yaoweme": { + source: "iana" + }, + "application/vnd.yellowriver-custom-menu": { + source: "iana", + extensions: ["cmp"] + }, + "application/vnd.zul": { + source: "iana", + extensions: ["zir", "zirz"] + }, + "application/vnd.zzazz.deck+xml": { + source: "iana", + compressible: true, + extensions: ["zaz"] + }, + "application/voicexml+xml": { + source: "iana", + compressible: true, + extensions: ["vxml"] + }, + "application/voucher-cms+json": { + source: "iana", + compressible: true + }, + "application/voucher-jws+json": { + source: "iana", + compressible: true + }, + "application/vp": { + source: "iana" + }, + "application/vp+cose": { + source: "iana" + }, + "application/vp+jwt": { + source: "iana" + }, + "application/vq-rtcpxr": { + source: "iana" + }, + "application/wasm": { + source: "iana", + compressible: true, + extensions: ["wasm"] + }, + "application/watcherinfo+xml": { + source: "iana", + compressible: true, + extensions: ["wif"] + }, + "application/webpush-options+json": { + source: "iana", + compressible: true + }, + "application/whoispp-query": { + source: "iana" + }, + "application/whoispp-response": { + source: "iana" + }, + "application/widget": { + source: "iana", + extensions: ["wgt"] + }, + "application/winhlp": { + source: "apache", + extensions: ["hlp"] + }, + "application/wita": { + source: "iana" + }, + "application/wordperfect5.1": { + source: "iana" + }, + "application/wsdl+xml": { + source: "iana", + compressible: true, + extensions: ["wsdl"] + }, + "application/wspolicy+xml": { + source: "iana", + compressible: true, + extensions: ["wspolicy"] + }, + "application/x-7z-compressed": { + source: "apache", + compressible: false, + extensions: ["7z"] + }, + "application/x-abiword": { + source: "apache", + extensions: ["abw"] + }, + "application/x-ace-compressed": { + source: "apache", + extensions: ["ace"] + }, + "application/x-amf": { + source: "apache" + }, + "application/x-apple-diskimage": { + source: "apache", + extensions: ["dmg"] + }, + "application/x-arj": { + compressible: false, + extensions: ["arj"] + }, + "application/x-authorware-bin": { + source: "apache", + extensions: ["aab", "x32", "u32", "vox"] + }, + "application/x-authorware-map": { + source: "apache", + extensions: ["aam"] + }, + "application/x-authorware-seg": { + source: "apache", + extensions: ["aas"] + }, + "application/x-bcpio": { + source: "apache", + extensions: ["bcpio"] + }, + "application/x-bdoc": { + compressible: false, + extensions: ["bdoc"] + }, + "application/x-bittorrent": { + source: "apache", + extensions: ["torrent"] + }, + "application/x-blender": { + extensions: ["blend"] + }, + "application/x-blorb": { + source: "apache", + extensions: ["blb", "blorb"] + }, + "application/x-bzip": { + source: "apache", + compressible: false, + extensions: ["bz"] + }, + "application/x-bzip2": { + source: "apache", + compressible: false, + extensions: ["bz2", "boz"] + }, + "application/x-cbr": { + source: "apache", + extensions: ["cbr", "cba", "cbt", "cbz", "cb7"] + }, + "application/x-cdlink": { + source: "apache", + extensions: ["vcd"] + }, + "application/x-cfs-compressed": { + source: "apache", + extensions: ["cfs"] + }, + "application/x-chat": { + source: "apache", + extensions: ["chat"] + }, + "application/x-chess-pgn": { + source: "apache", + extensions: ["pgn"] + }, + "application/x-chrome-extension": { + extensions: ["crx"] + }, + "application/x-cocoa": { + source: "nginx", + extensions: ["cco"] + }, + "application/x-compress": { + source: "apache" + }, + "application/x-compressed": { + extensions: ["rar"] + }, + "application/x-conference": { + source: "apache", + extensions: ["nsc"] + }, + "application/x-cpio": { + source: "apache", + extensions: ["cpio"] + }, + "application/x-csh": { + source: "apache", + extensions: ["csh"] + }, + "application/x-deb": { + compressible: false + }, + "application/x-debian-package": { + source: "apache", + extensions: ["deb", "udeb"] + }, + "application/x-dgc-compressed": { + source: "apache", + extensions: ["dgc"] + }, + "application/x-director": { + source: "apache", + extensions: ["dir", "dcr", "dxr", "cst", "cct", "cxt", "w3d", "fgd", "swa"] + }, + "application/x-doom": { + source: "apache", + extensions: ["wad"] + }, + "application/x-dtbncx+xml": { + source: "apache", + compressible: true, + extensions: ["ncx"] + }, + "application/x-dtbook+xml": { + source: "apache", + compressible: true, + extensions: ["dtb"] + }, + "application/x-dtbresource+xml": { + source: "apache", + compressible: true, + extensions: ["res"] + }, + "application/x-dvi": { + source: "apache", + compressible: false, + extensions: ["dvi"] + }, + "application/x-envoy": { + source: "apache", + extensions: ["evy"] + }, + "application/x-eva": { + source: "apache", + extensions: ["eva"] + }, + "application/x-font-bdf": { + source: "apache", + extensions: ["bdf"] + }, + "application/x-font-dos": { + source: "apache" + }, + "application/x-font-framemaker": { + source: "apache" + }, + "application/x-font-ghostscript": { + source: "apache", + extensions: ["gsf"] + }, + "application/x-font-libgrx": { + source: "apache" + }, + "application/x-font-linux-psf": { + source: "apache", + extensions: ["psf"] + }, + "application/x-font-pcf": { + source: "apache", + extensions: ["pcf"] + }, + "application/x-font-snf": { + source: "apache", + extensions: ["snf"] + }, + "application/x-font-speedo": { + source: "apache" + }, + "application/x-font-sunos-news": { + source: "apache" + }, + "application/x-font-type1": { + source: "apache", + extensions: ["pfa", "pfb", "pfm", "afm"] + }, + "application/x-font-vfont": { + source: "apache" + }, + "application/x-freearc": { + source: "apache", + extensions: ["arc"] + }, + "application/x-futuresplash": { + source: "apache", + extensions: ["spl"] + }, + "application/x-gca-compressed": { + source: "apache", + extensions: ["gca"] + }, + "application/x-glulx": { + source: "apache", + extensions: ["ulx"] + }, + "application/x-gnumeric": { + source: "apache", + extensions: ["gnumeric"] + }, + "application/x-gramps-xml": { + source: "apache", + extensions: ["gramps"] + }, + "application/x-gtar": { + source: "apache", + extensions: ["gtar"] + }, + "application/x-gzip": { + source: "apache" + }, + "application/x-hdf": { + source: "apache", + extensions: ["hdf"] + }, + "application/x-httpd-php": { + compressible: true, + extensions: ["php"] + }, + "application/x-install-instructions": { + source: "apache", + extensions: ["install"] + }, + "application/x-ipynb+json": { + compressible: true, + extensions: ["ipynb"] + }, + "application/x-iso9660-image": { + source: "apache", + extensions: ["iso"] + }, + "application/x-iwork-keynote-sffkey": { + extensions: ["key"] + }, + "application/x-iwork-numbers-sffnumbers": { + extensions: ["numbers"] + }, + "application/x-iwork-pages-sffpages": { + extensions: ["pages"] + }, + "application/x-java-archive-diff": { + source: "nginx", + extensions: ["jardiff"] + }, + "application/x-java-jnlp-file": { + source: "apache", + compressible: false, + extensions: ["jnlp"] + }, + "application/x-javascript": { + compressible: true + }, + "application/x-keepass2": { + extensions: ["kdbx"] + }, + "application/x-latex": { + source: "apache", + compressible: false, + extensions: ["latex"] + }, + "application/x-lua-bytecode": { + extensions: ["luac"] + }, + "application/x-lzh-compressed": { + source: "apache", + extensions: ["lzh", "lha"] + }, + "application/x-makeself": { + source: "nginx", + extensions: ["run"] + }, + "application/x-mie": { + source: "apache", + extensions: ["mie"] + }, + "application/x-mobipocket-ebook": { + source: "apache", + extensions: ["prc", "mobi"] + }, + "application/x-mpegurl": { + compressible: false + }, + "application/x-ms-application": { + source: "apache", + extensions: ["application"] + }, + "application/x-ms-shortcut": { + source: "apache", + extensions: ["lnk"] + }, + "application/x-ms-wmd": { + source: "apache", + extensions: ["wmd"] + }, + "application/x-ms-wmz": { + source: "apache", + extensions: ["wmz"] + }, + "application/x-ms-xbap": { + source: "apache", + extensions: ["xbap"] + }, + "application/x-msaccess": { + source: "apache", + extensions: ["mdb"] + }, + "application/x-msbinder": { + source: "apache", + extensions: ["obd"] + }, + "application/x-mscardfile": { + source: "apache", + extensions: ["crd"] + }, + "application/x-msclip": { + source: "apache", + extensions: ["clp"] + }, + "application/x-msdos-program": { + extensions: ["exe"] + }, + "application/x-msdownload": { + source: "apache", + extensions: ["exe", "dll", "com", "bat", "msi"] + }, + "application/x-msmediaview": { + source: "apache", + extensions: ["mvb", "m13", "m14"] + }, + "application/x-msmetafile": { + source: "apache", + extensions: ["wmf", "wmz", "emf", "emz"] + }, + "application/x-msmoney": { + source: "apache", + extensions: ["mny"] + }, + "application/x-mspublisher": { + source: "apache", + extensions: ["pub"] + }, + "application/x-msschedule": { + source: "apache", + extensions: ["scd"] + }, + "application/x-msterminal": { + source: "apache", + extensions: ["trm"] + }, + "application/x-mswrite": { + source: "apache", + extensions: ["wri"] + }, + "application/x-netcdf": { + source: "apache", + extensions: ["nc", "cdf"] + }, + "application/x-ns-proxy-autoconfig": { + compressible: true, + extensions: ["pac"] + }, + "application/x-nzb": { + source: "apache", + extensions: ["nzb"] + }, + "application/x-perl": { + source: "nginx", + extensions: ["pl", "pm"] + }, + "application/x-pilot": { + source: "nginx", + extensions: ["prc", "pdb"] + }, + "application/x-pkcs12": { + source: "apache", + compressible: false, + extensions: ["p12", "pfx"] + }, + "application/x-pkcs7-certificates": { + source: "apache", + extensions: ["p7b", "spc"] + }, + "application/x-pkcs7-certreqresp": { + source: "apache", + extensions: ["p7r"] + }, + "application/x-pki-message": { + source: "iana" + }, + "application/x-rar-compressed": { + source: "apache", + compressible: false, + extensions: ["rar"] + }, + "application/x-redhat-package-manager": { + source: "nginx", + extensions: ["rpm"] + }, + "application/x-research-info-systems": { + source: "apache", + extensions: ["ris"] + }, + "application/x-sea": { + source: "nginx", + extensions: ["sea"] + }, + "application/x-sh": { + source: "apache", + compressible: true, + extensions: ["sh"] + }, + "application/x-shar": { + source: "apache", + extensions: ["shar"] + }, + "application/x-shockwave-flash": { + source: "apache", + compressible: false, + extensions: ["swf"] + }, + "application/x-silverlight-app": { + source: "apache", + extensions: ["xap"] + }, + "application/x-sql": { + source: "apache", + extensions: ["sql"] + }, + "application/x-stuffit": { + source: "apache", + compressible: false, + extensions: ["sit"] + }, + "application/x-stuffitx": { + source: "apache", + extensions: ["sitx"] + }, + "application/x-subrip": { + source: "apache", + extensions: ["srt"] + }, + "application/x-sv4cpio": { + source: "apache", + extensions: ["sv4cpio"] + }, + "application/x-sv4crc": { + source: "apache", + extensions: ["sv4crc"] + }, + "application/x-t3vm-image": { + source: "apache", + extensions: ["t3"] + }, + "application/x-tads": { + source: "apache", + extensions: ["gam"] + }, + "application/x-tar": { + source: "apache", + compressible: true, + extensions: ["tar"] + }, + "application/x-tcl": { + source: "apache", + extensions: ["tcl", "tk"] + }, + "application/x-tex": { + source: "apache", + extensions: ["tex"] + }, + "application/x-tex-tfm": { + source: "apache", + extensions: ["tfm"] + }, + "application/x-texinfo": { + source: "apache", + extensions: ["texinfo", "texi"] + }, + "application/x-tgif": { + source: "apache", + extensions: ["obj"] + }, + "application/x-ustar": { + source: "apache", + extensions: ["ustar"] + }, + "application/x-virtualbox-hdd": { + compressible: true, + extensions: ["hdd"] + }, + "application/x-virtualbox-ova": { + compressible: true, + extensions: ["ova"] + }, + "application/x-virtualbox-ovf": { + compressible: true, + extensions: ["ovf"] + }, + "application/x-virtualbox-vbox": { + compressible: true, + extensions: ["vbox"] + }, + "application/x-virtualbox-vbox-extpack": { + compressible: false, + extensions: ["vbox-extpack"] + }, + "application/x-virtualbox-vdi": { + compressible: true, + extensions: ["vdi"] + }, + "application/x-virtualbox-vhd": { + compressible: true, + extensions: ["vhd"] + }, + "application/x-virtualbox-vmdk": { + compressible: true, + extensions: ["vmdk"] + }, + "application/x-wais-source": { + source: "apache", + extensions: ["src"] + }, + "application/x-web-app-manifest+json": { + compressible: true, + extensions: ["webapp"] + }, + "application/x-www-form-urlencoded": { + source: "iana", + compressible: true + }, + "application/x-x509-ca-cert": { + source: "iana", + extensions: ["der", "crt", "pem"] + }, + "application/x-x509-ca-ra-cert": { + source: "iana" + }, + "application/x-x509-next-ca-cert": { + source: "iana" + }, + "application/x-xfig": { + source: "apache", + extensions: ["fig"] + }, + "application/x-xliff+xml": { + source: "apache", + compressible: true, + extensions: ["xlf"] + }, + "application/x-xpinstall": { + source: "apache", + compressible: false, + extensions: ["xpi"] + }, + "application/x-xz": { + source: "apache", + extensions: ["xz"] + }, + "application/x-zip-compressed": { + extensions: ["zip"] + }, + "application/x-zmachine": { + source: "apache", + extensions: ["z1", "z2", "z3", "z4", "z5", "z6", "z7", "z8"] + }, + "application/x400-bp": { + source: "iana" + }, + "application/xacml+xml": { + source: "iana", + compressible: true + }, + "application/xaml+xml": { + source: "apache", + compressible: true, + extensions: ["xaml"] + }, + "application/xcap-att+xml": { + source: "iana", + compressible: true, + extensions: ["xav"] + }, + "application/xcap-caps+xml": { + source: "iana", + compressible: true, + extensions: ["xca"] + }, + "application/xcap-diff+xml": { + source: "iana", + compressible: true, + extensions: ["xdf"] + }, + "application/xcap-el+xml": { + source: "iana", + compressible: true, + extensions: ["xel"] + }, + "application/xcap-error+xml": { + source: "iana", + compressible: true + }, + "application/xcap-ns+xml": { + source: "iana", + compressible: true, + extensions: ["xns"] + }, + "application/xcon-conference-info+xml": { + source: "iana", + compressible: true + }, + "application/xcon-conference-info-diff+xml": { + source: "iana", + compressible: true + }, + "application/xenc+xml": { + source: "iana", + compressible: true, + extensions: ["xenc"] + }, + "application/xfdf": { + source: "iana", + extensions: ["xfdf"] + }, + "application/xhtml+xml": { + source: "iana", + compressible: true, + extensions: ["xhtml", "xht"] + }, + "application/xhtml-voice+xml": { + source: "apache", + compressible: true + }, + "application/xliff+xml": { + source: "iana", + compressible: true, + extensions: ["xlf"] + }, + "application/xml": { + source: "iana", + compressible: true, + extensions: ["xml", "xsl", "xsd", "rng"] + }, + "application/xml-dtd": { + source: "iana", + compressible: true, + extensions: ["dtd"] + }, + "application/xml-external-parsed-entity": { + source: "iana" + }, + "application/xml-patch+xml": { + source: "iana", + compressible: true + }, + "application/xmpp+xml": { + source: "iana", + compressible: true + }, + "application/xop+xml": { + source: "iana", + compressible: true, + extensions: ["xop"] + }, + "application/xproc+xml": { + source: "apache", + compressible: true, + extensions: ["xpl"] + }, + "application/xslt+xml": { + source: "iana", + compressible: true, + extensions: ["xsl", "xslt"] + }, + "application/xspf+xml": { + source: "apache", + compressible: true, + extensions: ["xspf"] + }, + "application/xv+xml": { + source: "iana", + compressible: true, + extensions: ["mxml", "xhvml", "xvml", "xvm"] + }, + "application/yaml": { + source: "iana" + }, + "application/yang": { + source: "iana", + extensions: ["yang"] + }, + "application/yang-data+cbor": { + source: "iana" + }, + "application/yang-data+json": { + source: "iana", + compressible: true + }, + "application/yang-data+xml": { + source: "iana", + compressible: true + }, + "application/yang-patch+json": { + source: "iana", + compressible: true + }, + "application/yang-patch+xml": { + source: "iana", + compressible: true + }, + "application/yang-sid+json": { + source: "iana", + compressible: true + }, + "application/yin+xml": { + source: "iana", + compressible: true, + extensions: ["yin"] + }, + "application/zip": { + source: "iana", + compressible: false, + extensions: ["zip"] + }, + "application/zip+dotlottie": { + extensions: ["lottie"] + }, + "application/zlib": { + source: "iana" + }, + "application/zstd": { + source: "iana" + }, + "audio/1d-interleaved-parityfec": { + source: "iana" + }, + "audio/32kadpcm": { + source: "iana" + }, + "audio/3gpp": { + source: "iana", + compressible: false, + extensions: ["3gpp"] + }, + "audio/3gpp2": { + source: "iana" + }, + "audio/aac": { + source: "iana", + extensions: ["adts", "aac"] + }, + "audio/ac3": { + source: "iana" + }, + "audio/adpcm": { + source: "apache", + extensions: ["adp"] + }, + "audio/amr": { + source: "iana", + extensions: ["amr"] + }, + "audio/amr-wb": { + source: "iana" + }, + "audio/amr-wb+": { + source: "iana" + }, + "audio/aptx": { + source: "iana" + }, + "audio/asc": { + source: "iana" + }, + "audio/atrac-advanced-lossless": { + source: "iana" + }, + "audio/atrac-x": { + source: "iana" + }, + "audio/atrac3": { + source: "iana" + }, + "audio/basic": { + source: "iana", + compressible: false, + extensions: ["au", "snd"] + }, + "audio/bv16": { + source: "iana" + }, + "audio/bv32": { + source: "iana" + }, + "audio/clearmode": { + source: "iana" + }, + "audio/cn": { + source: "iana" + }, + "audio/dat12": { + source: "iana" + }, + "audio/dls": { + source: "iana" + }, + "audio/dsr-es201108": { + source: "iana" + }, + "audio/dsr-es202050": { + source: "iana" + }, + "audio/dsr-es202211": { + source: "iana" + }, + "audio/dsr-es202212": { + source: "iana" + }, + "audio/dv": { + source: "iana" + }, + "audio/dvi4": { + source: "iana" + }, + "audio/eac3": { + source: "iana" + }, + "audio/encaprtp": { + source: "iana" + }, + "audio/evrc": { + source: "iana" + }, + "audio/evrc-qcp": { + source: "iana" + }, + "audio/evrc0": { + source: "iana" + }, + "audio/evrc1": { + source: "iana" + }, + "audio/evrcb": { + source: "iana" + }, + "audio/evrcb0": { + source: "iana" + }, + "audio/evrcb1": { + source: "iana" + }, + "audio/evrcnw": { + source: "iana" + }, + "audio/evrcnw0": { + source: "iana" + }, + "audio/evrcnw1": { + source: "iana" + }, + "audio/evrcwb": { + source: "iana" + }, + "audio/evrcwb0": { + source: "iana" + }, + "audio/evrcwb1": { + source: "iana" + }, + "audio/evs": { + source: "iana" + }, + "audio/flac": { + source: "iana" + }, + "audio/flexfec": { + source: "iana" + }, + "audio/fwdred": { + source: "iana" + }, + "audio/g711-0": { + source: "iana" + }, + "audio/g719": { + source: "iana" + }, + "audio/g722": { + source: "iana" + }, + "audio/g7221": { + source: "iana" + }, + "audio/g723": { + source: "iana" + }, + "audio/g726-16": { + source: "iana" + }, + "audio/g726-24": { + source: "iana" + }, + "audio/g726-32": { + source: "iana" + }, + "audio/g726-40": { + source: "iana" + }, + "audio/g728": { + source: "iana" + }, + "audio/g729": { + source: "iana" + }, + "audio/g7291": { + source: "iana" + }, + "audio/g729d": { + source: "iana" + }, + "audio/g729e": { + source: "iana" + }, + "audio/gsm": { + source: "iana" + }, + "audio/gsm-efr": { + source: "iana" + }, + "audio/gsm-hr-08": { + source: "iana" + }, + "audio/ilbc": { + source: "iana" + }, + "audio/ip-mr_v2.5": { + source: "iana" + }, + "audio/isac": { + source: "apache" + }, + "audio/l16": { + source: "iana" + }, + "audio/l20": { + source: "iana" + }, + "audio/l24": { + source: "iana", + compressible: false + }, + "audio/l8": { + source: "iana" + }, + "audio/lpc": { + source: "iana" + }, + "audio/matroska": { + source: "iana" + }, + "audio/melp": { + source: "iana" + }, + "audio/melp1200": { + source: "iana" + }, + "audio/melp2400": { + source: "iana" + }, + "audio/melp600": { + source: "iana" + }, + "audio/mhas": { + source: "iana" + }, + "audio/midi": { + source: "apache", + extensions: ["mid", "midi", "kar", "rmi"] + }, + "audio/midi-clip": { + source: "iana" + }, + "audio/mobile-xmf": { + source: "iana", + extensions: ["mxmf"] + }, + "audio/mp3": { + compressible: false, + extensions: ["mp3"] + }, + "audio/mp4": { + source: "iana", + compressible: false, + extensions: ["m4a", "mp4a", "m4b"] + }, + "audio/mp4a-latm": { + source: "iana" + }, + "audio/mpa": { + source: "iana" + }, + "audio/mpa-robust": { + source: "iana" + }, + "audio/mpeg": { + source: "iana", + compressible: false, + extensions: ["mpga", "mp2", "mp2a", "mp3", "m2a", "m3a"] + }, + "audio/mpeg4-generic": { + source: "iana" + }, + "audio/musepack": { + source: "apache" + }, + "audio/ogg": { + source: "iana", + compressible: false, + extensions: ["oga", "ogg", "spx", "opus"] + }, + "audio/opus": { + source: "iana" + }, + "audio/parityfec": { + source: "iana" + }, + "audio/pcma": { + source: "iana" + }, + "audio/pcma-wb": { + source: "iana" + }, + "audio/pcmu": { + source: "iana" + }, + "audio/pcmu-wb": { + source: "iana" + }, + "audio/prs.sid": { + source: "iana" + }, + "audio/qcelp": { + source: "iana" + }, + "audio/raptorfec": { + source: "iana" + }, + "audio/red": { + source: "iana" + }, + "audio/rtp-enc-aescm128": { + source: "iana" + }, + "audio/rtp-midi": { + source: "iana" + }, + "audio/rtploopback": { + source: "iana" + }, + "audio/rtx": { + source: "iana" + }, + "audio/s3m": { + source: "apache", + extensions: ["s3m"] + }, + "audio/scip": { + source: "iana" + }, + "audio/silk": { + source: "apache", + extensions: ["sil"] + }, + "audio/smv": { + source: "iana" + }, + "audio/smv-qcp": { + source: "iana" + }, + "audio/smv0": { + source: "iana" + }, + "audio/sofa": { + source: "iana" + }, + "audio/sp-midi": { + source: "iana" + }, + "audio/speex": { + source: "iana" + }, + "audio/t140c": { + source: "iana" + }, + "audio/t38": { + source: "iana" + }, + "audio/telephone-event": { + source: "iana" + }, + "audio/tetra_acelp": { + source: "iana" + }, + "audio/tetra_acelp_bb": { + source: "iana" + }, + "audio/tone": { + source: "iana" + }, + "audio/tsvcis": { + source: "iana" + }, + "audio/uemclip": { + source: "iana" + }, + "audio/ulpfec": { + source: "iana" + }, + "audio/usac": { + source: "iana" + }, + "audio/vdvi": { + source: "iana" + }, + "audio/vmr-wb": { + source: "iana" + }, + "audio/vnd.3gpp.iufp": { + source: "iana" + }, + "audio/vnd.4sb": { + source: "iana" + }, + "audio/vnd.audiokoz": { + source: "iana" + }, + "audio/vnd.celp": { + source: "iana" + }, + "audio/vnd.cisco.nse": { + source: "iana" + }, + "audio/vnd.cmles.radio-events": { + source: "iana" + }, + "audio/vnd.cns.anp1": { + source: "iana" + }, + "audio/vnd.cns.inf1": { + source: "iana" + }, + "audio/vnd.dece.audio": { + source: "iana", + extensions: ["uva", "uvva"] + }, + "audio/vnd.digital-winds": { + source: "iana", + extensions: ["eol"] + }, + "audio/vnd.dlna.adts": { + source: "iana" + }, + "audio/vnd.dolby.heaac.1": { + source: "iana" + }, + "audio/vnd.dolby.heaac.2": { + source: "iana" + }, + "audio/vnd.dolby.mlp": { + source: "iana" + }, + "audio/vnd.dolby.mps": { + source: "iana" + }, + "audio/vnd.dolby.pl2": { + source: "iana" + }, + "audio/vnd.dolby.pl2x": { + source: "iana" + }, + "audio/vnd.dolby.pl2z": { + source: "iana" + }, + "audio/vnd.dolby.pulse.1": { + source: "iana" + }, + "audio/vnd.dra": { + source: "iana", + extensions: ["dra"] + }, + "audio/vnd.dts": { + source: "iana", + extensions: ["dts"] + }, + "audio/vnd.dts.hd": { + source: "iana", + extensions: ["dtshd"] + }, + "audio/vnd.dts.uhd": { + source: "iana" + }, + "audio/vnd.dvb.file": { + source: "iana" + }, + "audio/vnd.everad.plj": { + source: "iana" + }, + "audio/vnd.hns.audio": { + source: "iana" + }, + "audio/vnd.lucent.voice": { + source: "iana", + extensions: ["lvp"] + }, + "audio/vnd.ms-playready.media.pya": { + source: "iana", + extensions: ["pya"] + }, + "audio/vnd.nokia.mobile-xmf": { + source: "iana" + }, + "audio/vnd.nortel.vbk": { + source: "iana" + }, + "audio/vnd.nuera.ecelp4800": { + source: "iana", + extensions: ["ecelp4800"] + }, + "audio/vnd.nuera.ecelp7470": { + source: "iana", + extensions: ["ecelp7470"] + }, + "audio/vnd.nuera.ecelp9600": { + source: "iana", + extensions: ["ecelp9600"] + }, + "audio/vnd.octel.sbc": { + source: "iana" + }, + "audio/vnd.presonus.multitrack": { + source: "iana" + }, + "audio/vnd.qcelp": { + source: "apache" + }, + "audio/vnd.rhetorex.32kadpcm": { + source: "iana" + }, + "audio/vnd.rip": { + source: "iana", + extensions: ["rip"] + }, + "audio/vnd.rn-realaudio": { + compressible: false + }, + "audio/vnd.sealedmedia.softseal.mpeg": { + source: "iana" + }, + "audio/vnd.vmx.cvsd": { + source: "iana" + }, + "audio/vnd.wave": { + compressible: false + }, + "audio/vorbis": { + source: "iana", + compressible: false + }, + "audio/vorbis-config": { + source: "iana" + }, + "audio/wav": { + compressible: false, + extensions: ["wav"] + }, + "audio/wave": { + compressible: false, + extensions: ["wav"] + }, + "audio/webm": { + source: "apache", + compressible: false, + extensions: ["weba"] + }, + "audio/x-aac": { + source: "apache", + compressible: false, + extensions: ["aac"] + }, + "audio/x-aiff": { + source: "apache", + extensions: ["aif", "aiff", "aifc"] + }, + "audio/x-caf": { + source: "apache", + compressible: false, + extensions: ["caf"] + }, + "audio/x-flac": { + source: "apache", + extensions: ["flac"] + }, + "audio/x-m4a": { + source: "nginx", + extensions: ["m4a"] + }, + "audio/x-matroska": { + source: "apache", + extensions: ["mka"] + }, + "audio/x-mpegurl": { + source: "apache", + extensions: ["m3u"] + }, + "audio/x-ms-wax": { + source: "apache", + extensions: ["wax"] + }, + "audio/x-ms-wma": { + source: "apache", + extensions: ["wma"] + }, + "audio/x-pn-realaudio": { + source: "apache", + extensions: ["ram", "ra"] + }, + "audio/x-pn-realaudio-plugin": { + source: "apache", + extensions: ["rmp"] + }, + "audio/x-realaudio": { + source: "nginx", + extensions: ["ra"] + }, + "audio/x-tta": { + source: "apache" + }, + "audio/x-wav": { + source: "apache", + extensions: ["wav"] + }, + "audio/xm": { + source: "apache", + extensions: ["xm"] + }, + "chemical/x-cdx": { + source: "apache", + extensions: ["cdx"] + }, + "chemical/x-cif": { + source: "apache", + extensions: ["cif"] + }, + "chemical/x-cmdf": { + source: "apache", + extensions: ["cmdf"] + }, + "chemical/x-cml": { + source: "apache", + extensions: ["cml"] + }, + "chemical/x-csml": { + source: "apache", + extensions: ["csml"] + }, + "chemical/x-pdb": { + source: "apache" + }, + "chemical/x-xyz": { + source: "apache", + extensions: ["xyz"] + }, + "font/collection": { + source: "iana", + extensions: ["ttc"] + }, + "font/otf": { + source: "iana", + compressible: true, + extensions: ["otf"] + }, + "font/sfnt": { + source: "iana" + }, + "font/ttf": { + source: "iana", + compressible: true, + extensions: ["ttf"] + }, + "font/woff": { + source: "iana", + extensions: ["woff"] + }, + "font/woff2": { + source: "iana", + extensions: ["woff2"] + }, + "image/aces": { + source: "iana", + extensions: ["exr"] + }, + "image/apng": { + source: "iana", + compressible: false, + extensions: ["apng"] + }, + "image/avci": { + source: "iana", + extensions: ["avci"] + }, + "image/avcs": { + source: "iana", + extensions: ["avcs"] + }, + "image/avif": { + source: "iana", + compressible: false, + extensions: ["avif"] + }, + "image/bmp": { + source: "iana", + compressible: true, + extensions: ["bmp", "dib"] + }, + "image/cgm": { + source: "iana", + extensions: ["cgm"] + }, + "image/dicom-rle": { + source: "iana", + extensions: ["drle"] + }, + "image/dpx": { + source: "iana", + extensions: ["dpx"] + }, + "image/emf": { + source: "iana", + extensions: ["emf"] + }, + "image/fits": { + source: "iana", + extensions: ["fits"] + }, + "image/g3fax": { + source: "iana", + extensions: ["g3"] + }, + "image/gif": { + source: "iana", + compressible: false, + extensions: ["gif"] + }, + "image/heic": { + source: "iana", + extensions: ["heic"] + }, + "image/heic-sequence": { + source: "iana", + extensions: ["heics"] + }, + "image/heif": { + source: "iana", + extensions: ["heif"] + }, + "image/heif-sequence": { + source: "iana", + extensions: ["heifs"] + }, + "image/hej2k": { + source: "iana", + extensions: ["hej2"] + }, + "image/ief": { + source: "iana", + extensions: ["ief"] + }, + "image/j2c": { + source: "iana" + }, + "image/jaii": { + source: "iana", + extensions: ["jaii"] + }, + "image/jais": { + source: "iana", + extensions: ["jais"] + }, + "image/jls": { + source: "iana", + extensions: ["jls"] + }, + "image/jp2": { + source: "iana", + compressible: false, + extensions: ["jp2", "jpg2"] + }, + "image/jpeg": { + source: "iana", + compressible: false, + extensions: ["jpg", "jpeg", "jpe"] + }, + "image/jph": { + source: "iana", + extensions: ["jph"] + }, + "image/jphc": { + source: "iana", + extensions: ["jhc"] + }, + "image/jpm": { + source: "iana", + compressible: false, + extensions: ["jpm", "jpgm"] + }, + "image/jpx": { + source: "iana", + compressible: false, + extensions: ["jpx", "jpf"] + }, + "image/jxl": { + source: "iana", + extensions: ["jxl"] + }, + "image/jxr": { + source: "iana", + extensions: ["jxr"] + }, + "image/jxra": { + source: "iana", + extensions: ["jxra"] + }, + "image/jxrs": { + source: "iana", + extensions: ["jxrs"] + }, + "image/jxs": { + source: "iana", + extensions: ["jxs"] + }, + "image/jxsc": { + source: "iana", + extensions: ["jxsc"] + }, + "image/jxsi": { + source: "iana", + extensions: ["jxsi"] + }, + "image/jxss": { + source: "iana", + extensions: ["jxss"] + }, + "image/ktx": { + source: "iana", + extensions: ["ktx"] + }, + "image/ktx2": { + source: "iana", + extensions: ["ktx2"] + }, + "image/naplps": { + source: "iana" + }, + "image/pjpeg": { + compressible: false, + extensions: ["jfif"] + }, + "image/png": { + source: "iana", + compressible: false, + extensions: ["png"] + }, + "image/prs.btif": { + source: "iana", + extensions: ["btif", "btf"] + }, + "image/prs.pti": { + source: "iana", + extensions: ["pti"] + }, + "image/pwg-raster": { + source: "iana" + }, + "image/sgi": { + source: "apache", + extensions: ["sgi"] + }, + "image/svg+xml": { + source: "iana", + compressible: true, + extensions: ["svg", "svgz"] + }, + "image/t38": { + source: "iana", + extensions: ["t38"] + }, + "image/tiff": { + source: "iana", + compressible: false, + extensions: ["tif", "tiff"] + }, + "image/tiff-fx": { + source: "iana", + extensions: ["tfx"] + }, + "image/vnd.adobe.photoshop": { + source: "iana", + compressible: true, + extensions: ["psd"] + }, + "image/vnd.airzip.accelerator.azv": { + source: "iana", + extensions: ["azv"] + }, + "image/vnd.clip": { + source: "iana" + }, + "image/vnd.cns.inf2": { + source: "iana" + }, + "image/vnd.dece.graphic": { + source: "iana", + extensions: ["uvi", "uvvi", "uvg", "uvvg"] + }, + "image/vnd.djvu": { + source: "iana", + extensions: ["djvu", "djv"] + }, + "image/vnd.dvb.subtitle": { + source: "iana", + extensions: ["sub"] + }, + "image/vnd.dwg": { + source: "iana", + extensions: ["dwg"] + }, + "image/vnd.dxf": { + source: "iana", + extensions: ["dxf"] + }, + "image/vnd.fastbidsheet": { + source: "iana", + extensions: ["fbs"] + }, + "image/vnd.fpx": { + source: "iana", + extensions: ["fpx"] + }, + "image/vnd.fst": { + source: "iana", + extensions: ["fst"] + }, + "image/vnd.fujixerox.edmics-mmr": { + source: "iana", + extensions: ["mmr"] + }, + "image/vnd.fujixerox.edmics-rlc": { + source: "iana", + extensions: ["rlc"] + }, + "image/vnd.globalgraphics.pgb": { + source: "iana" + }, + "image/vnd.microsoft.icon": { + source: "iana", + compressible: true, + extensions: ["ico"] + }, + "image/vnd.mix": { + source: "iana" + }, + "image/vnd.mozilla.apng": { + source: "iana" + }, + "image/vnd.ms-dds": { + compressible: true, + extensions: ["dds"] + }, + "image/vnd.ms-modi": { + source: "iana", + extensions: ["mdi"] + }, + "image/vnd.ms-photo": { + source: "apache", + extensions: ["wdp"] + }, + "image/vnd.net-fpx": { + source: "iana", + extensions: ["npx"] + }, + "image/vnd.pco.b16": { + source: "iana", + extensions: ["b16"] + }, + "image/vnd.radiance": { + source: "iana" + }, + "image/vnd.sealed.png": { + source: "iana" + }, + "image/vnd.sealedmedia.softseal.gif": { + source: "iana" + }, + "image/vnd.sealedmedia.softseal.jpg": { + source: "iana" + }, + "image/vnd.svf": { + source: "iana" + }, + "image/vnd.tencent.tap": { + source: "iana", + extensions: ["tap"] + }, + "image/vnd.valve.source.texture": { + source: "iana", + extensions: ["vtf"] + }, + "image/vnd.wap.wbmp": { + source: "iana", + extensions: ["wbmp"] + }, + "image/vnd.xiff": { + source: "iana", + extensions: ["xif"] + }, + "image/vnd.zbrush.pcx": { + source: "iana", + extensions: ["pcx"] + }, + "image/webp": { + source: "iana", + extensions: ["webp"] + }, + "image/wmf": { + source: "iana", + extensions: ["wmf"] + }, + "image/x-3ds": { + source: "apache", + extensions: ["3ds"] + }, + "image/x-adobe-dng": { + extensions: ["dng"] + }, + "image/x-cmu-raster": { + source: "apache", + extensions: ["ras"] + }, + "image/x-cmx": { + source: "apache", + extensions: ["cmx"] + }, + "image/x-emf": { + source: "iana" + }, + "image/x-freehand": { + source: "apache", + extensions: ["fh", "fhc", "fh4", "fh5", "fh7"] + }, + "image/x-icon": { + source: "apache", + compressible: true, + extensions: ["ico"] + }, + "image/x-jng": { + source: "nginx", + extensions: ["jng"] + }, + "image/x-mrsid-image": { + source: "apache", + extensions: ["sid"] + }, + "image/x-ms-bmp": { + source: "nginx", + compressible: true, + extensions: ["bmp"] + }, + "image/x-pcx": { + source: "apache", + extensions: ["pcx"] + }, + "image/x-pict": { + source: "apache", + extensions: ["pic", "pct"] + }, + "image/x-portable-anymap": { + source: "apache", + extensions: ["pnm"] + }, + "image/x-portable-bitmap": { + source: "apache", + extensions: ["pbm"] + }, + "image/x-portable-graymap": { + source: "apache", + extensions: ["pgm"] + }, + "image/x-portable-pixmap": { + source: "apache", + extensions: ["ppm"] + }, + "image/x-rgb": { + source: "apache", + extensions: ["rgb"] + }, + "image/x-tga": { + source: "apache", + extensions: ["tga"] + }, + "image/x-wmf": { + source: "iana" + }, + "image/x-xbitmap": { + source: "apache", + extensions: ["xbm"] + }, + "image/x-xcf": { + compressible: false + }, + "image/x-xpixmap": { + source: "apache", + extensions: ["xpm"] + }, + "image/x-xwindowdump": { + source: "apache", + extensions: ["xwd"] + }, + "message/bhttp": { + source: "iana" + }, + "message/cpim": { + source: "iana" + }, + "message/delivery-status": { + source: "iana" + }, + "message/disposition-notification": { + source: "iana", + extensions: [ + "disposition-notification" + ] + }, + "message/external-body": { + source: "iana" + }, + "message/feedback-report": { + source: "iana" + }, + "message/global": { + source: "iana", + extensions: ["u8msg"] + }, + "message/global-delivery-status": { + source: "iana", + extensions: ["u8dsn"] + }, + "message/global-disposition-notification": { + source: "iana", + extensions: ["u8mdn"] + }, + "message/global-headers": { + source: "iana", + extensions: ["u8hdr"] + }, + "message/http": { + source: "iana", + compressible: false + }, + "message/imdn+xml": { + source: "iana", + compressible: true + }, + "message/mls": { + source: "iana" + }, + "message/news": { + source: "apache" + }, + "message/ohttp-req": { + source: "iana" + }, + "message/ohttp-res": { + source: "iana" + }, + "message/partial": { + source: "iana", + compressible: false + }, + "message/rfc822": { + source: "iana", + compressible: true, + extensions: ["eml", "mime", "mht", "mhtml"] + }, + "message/s-http": { + source: "apache" + }, + "message/sip": { + source: "iana" + }, + "message/sipfrag": { + source: "iana" + }, + "message/tracking-status": { + source: "iana" + }, + "message/vnd.si.simp": { + source: "apache" + }, + "message/vnd.wfa.wsc": { + source: "iana", + extensions: ["wsc"] + }, + "model/3mf": { + source: "iana", + extensions: ["3mf"] + }, + "model/e57": { + source: "iana" + }, + "model/gltf+json": { + source: "iana", + compressible: true, + extensions: ["gltf"] + }, + "model/gltf-binary": { + source: "iana", + compressible: true, + extensions: ["glb"] + }, + "model/iges": { + source: "iana", + compressible: false, + extensions: ["igs", "iges"] + }, + "model/jt": { + source: "iana", + extensions: ["jt"] + }, + "model/mesh": { + source: "iana", + compressible: false, + extensions: ["msh", "mesh", "silo"] + }, + "model/mtl": { + source: "iana", + extensions: ["mtl"] + }, + "model/obj": { + source: "iana", + extensions: ["obj"] + }, + "model/prc": { + source: "iana", + extensions: ["prc"] + }, + "model/step": { + source: "iana", + extensions: ["step", "stp", "stpnc", "p21", "210"] + }, + "model/step+xml": { + source: "iana", + compressible: true, + extensions: ["stpx"] + }, + "model/step+zip": { + source: "iana", + compressible: false, + extensions: ["stpz"] + }, + "model/step-xml+zip": { + source: "iana", + compressible: false, + extensions: ["stpxz"] + }, + "model/stl": { + source: "iana", + extensions: ["stl"] + }, + "model/u3d": { + source: "iana", + extensions: ["u3d"] + }, + "model/vnd.bary": { + source: "iana", + extensions: ["bary"] + }, + "model/vnd.cld": { + source: "iana", + extensions: ["cld"] + }, + "model/vnd.collada+xml": { + source: "iana", + compressible: true, + extensions: ["dae"] + }, + "model/vnd.dwf": { + source: "iana", + extensions: ["dwf"] + }, + "model/vnd.flatland.3dml": { + source: "iana" + }, + "model/vnd.gdl": { + source: "iana", + extensions: ["gdl"] + }, + "model/vnd.gs-gdl": { + source: "apache" + }, + "model/vnd.gs.gdl": { + source: "iana" + }, + "model/vnd.gtw": { + source: "iana", + extensions: ["gtw"] + }, + "model/vnd.moml+xml": { + source: "iana", + compressible: true + }, + "model/vnd.mts": { + source: "iana", + extensions: ["mts"] + }, + "model/vnd.opengex": { + source: "iana", + extensions: ["ogex"] + }, + "model/vnd.parasolid.transmit.binary": { + source: "iana", + extensions: ["x_b"] + }, + "model/vnd.parasolid.transmit.text": { + source: "iana", + extensions: ["x_t"] + }, + "model/vnd.pytha.pyox": { + source: "iana", + extensions: ["pyo", "pyox"] + }, + "model/vnd.rosette.annotated-data-model": { + source: "iana" + }, + "model/vnd.sap.vds": { + source: "iana", + extensions: ["vds"] + }, + "model/vnd.usda": { + source: "iana", + extensions: ["usda"] + }, + "model/vnd.usdz+zip": { + source: "iana", + compressible: false, + extensions: ["usdz"] + }, + "model/vnd.valve.source.compiled-map": { + source: "iana", + extensions: ["bsp"] + }, + "model/vnd.vtu": { + source: "iana", + extensions: ["vtu"] + }, + "model/vrml": { + source: "iana", + compressible: false, + extensions: ["wrl", "vrml"] + }, + "model/x3d+binary": { + source: "apache", + compressible: false, + extensions: ["x3db", "x3dbz"] + }, + "model/x3d+fastinfoset": { + source: "iana", + extensions: ["x3db"] + }, + "model/x3d+vrml": { + source: "apache", + compressible: false, + extensions: ["x3dv", "x3dvz"] + }, + "model/x3d+xml": { + source: "iana", + compressible: true, + extensions: ["x3d", "x3dz"] + }, + "model/x3d-vrml": { + source: "iana", + extensions: ["x3dv"] + }, + "multipart/alternative": { + source: "iana", + compressible: false + }, + "multipart/appledouble": { + source: "iana" + }, + "multipart/byteranges": { + source: "iana" + }, + "multipart/digest": { + source: "iana" + }, + "multipart/encrypted": { + source: "iana", + compressible: false + }, + "multipart/form-data": { + source: "iana", + compressible: false + }, + "multipart/header-set": { + source: "iana" + }, + "multipart/mixed": { + source: "iana" + }, + "multipart/multilingual": { + source: "iana" + }, + "multipart/parallel": { + source: "iana" + }, + "multipart/related": { + source: "iana", + compressible: false + }, + "multipart/report": { + source: "iana" + }, + "multipart/signed": { + source: "iana", + compressible: false + }, + "multipart/vnd.bint.med-plus": { + source: "iana" + }, + "multipart/voice-message": { + source: "iana" + }, + "multipart/x-mixed-replace": { + source: "iana" + }, + "text/1d-interleaved-parityfec": { + source: "iana" + }, + "text/cache-manifest": { + source: "iana", + compressible: true, + extensions: ["appcache", "manifest"] + }, + "text/calendar": { + source: "iana", + extensions: ["ics", "ifb"] + }, + "text/calender": { + compressible: true + }, + "text/cmd": { + compressible: true + }, + "text/coffeescript": { + extensions: ["coffee", "litcoffee"] + }, + "text/cql": { + source: "iana" + }, + "text/cql-expression": { + source: "iana" + }, + "text/cql-identifier": { + source: "iana" + }, + "text/css": { + source: "iana", + charset: "UTF-8", + compressible: true, + extensions: ["css"] + }, + "text/csv": { + source: "iana", + compressible: true, + extensions: ["csv"] + }, + "text/csv-schema": { + source: "iana" + }, + "text/directory": { + source: "iana" + }, + "text/dns": { + source: "iana" + }, + "text/ecmascript": { + source: "apache" + }, + "text/encaprtp": { + source: "iana" + }, + "text/enriched": { + source: "iana" + }, + "text/fhirpath": { + source: "iana" + }, + "text/flexfec": { + source: "iana" + }, + "text/fwdred": { + source: "iana" + }, + "text/gff3": { + source: "iana" + }, + "text/grammar-ref-list": { + source: "iana" + }, + "text/hl7v2": { + source: "iana" + }, + "text/html": { + source: "iana", + compressible: true, + extensions: ["html", "htm", "shtml"] + }, + "text/jade": { + extensions: ["jade"] + }, + "text/javascript": { + source: "iana", + charset: "UTF-8", + compressible: true, + extensions: ["js", "mjs"] + }, + "text/jcr-cnd": { + source: "iana" + }, + "text/jsx": { + compressible: true, + extensions: ["jsx"] + }, + "text/less": { + compressible: true, + extensions: ["less"] + }, + "text/markdown": { + source: "iana", + compressible: true, + extensions: ["md", "markdown"] + }, + "text/mathml": { + source: "nginx", + extensions: ["mml"] + }, + "text/mdx": { + compressible: true, + extensions: ["mdx"] + }, + "text/mizar": { + source: "iana" + }, + "text/n3": { + source: "iana", + charset: "UTF-8", + compressible: true, + extensions: ["n3"] + }, + "text/parameters": { + source: "iana", + charset: "UTF-8" + }, + "text/parityfec": { + source: "iana" + }, + "text/plain": { + source: "iana", + compressible: true, + extensions: ["txt", "text", "conf", "def", "list", "log", "in", "ini"] + }, + "text/provenance-notation": { + source: "iana", + charset: "UTF-8" + }, + "text/prs.fallenstein.rst": { + source: "iana" + }, + "text/prs.lines.tag": { + source: "iana", + extensions: ["dsc"] + }, + "text/prs.prop.logic": { + source: "iana" + }, + "text/prs.texi": { + source: "iana" + }, + "text/raptorfec": { + source: "iana" + }, + "text/red": { + source: "iana" + }, + "text/rfc822-headers": { + source: "iana" + }, + "text/richtext": { + source: "iana", + compressible: true, + extensions: ["rtx"] + }, + "text/rtf": { + source: "iana", + compressible: true, + extensions: ["rtf"] + }, + "text/rtp-enc-aescm128": { + source: "iana" + }, + "text/rtploopback": { + source: "iana" + }, + "text/rtx": { + source: "iana" + }, + "text/sgml": { + source: "iana", + extensions: ["sgml", "sgm"] + }, + "text/shaclc": { + source: "iana" + }, + "text/shex": { + source: "iana", + extensions: ["shex"] + }, + "text/slim": { + extensions: ["slim", "slm"] + }, + "text/spdx": { + source: "iana", + extensions: ["spdx"] + }, + "text/strings": { + source: "iana" + }, + "text/stylus": { + extensions: ["stylus", "styl"] + }, + "text/t140": { + source: "iana" + }, + "text/tab-separated-values": { + source: "iana", + compressible: true, + extensions: ["tsv"] + }, + "text/troff": { + source: "iana", + extensions: ["t", "tr", "roff", "man", "me", "ms"] + }, + "text/turtle": { + source: "iana", + charset: "UTF-8", + extensions: ["ttl"] + }, + "text/ulpfec": { + source: "iana" + }, + "text/uri-list": { + source: "iana", + compressible: true, + extensions: ["uri", "uris", "urls"] + }, + "text/vcard": { + source: "iana", + compressible: true, + extensions: ["vcard"] + }, + "text/vnd.a": { + source: "iana" + }, + "text/vnd.abc": { + source: "iana" + }, + "text/vnd.ascii-art": { + source: "iana" + }, + "text/vnd.curl": { + source: "iana", + extensions: ["curl"] + }, + "text/vnd.curl.dcurl": { + source: "apache", + extensions: ["dcurl"] + }, + "text/vnd.curl.mcurl": { + source: "apache", + extensions: ["mcurl"] + }, + "text/vnd.curl.scurl": { + source: "apache", + extensions: ["scurl"] + }, + "text/vnd.debian.copyright": { + source: "iana", + charset: "UTF-8" + }, + "text/vnd.dmclientscript": { + source: "iana" + }, + "text/vnd.dvb.subtitle": { + source: "iana", + extensions: ["sub"] + }, + "text/vnd.esmertec.theme-descriptor": { + source: "iana", + charset: "UTF-8" + }, + "text/vnd.exchangeable": { + source: "iana" + }, + "text/vnd.familysearch.gedcom": { + source: "iana", + extensions: ["ged"] + }, + "text/vnd.ficlab.flt": { + source: "iana" + }, + "text/vnd.fly": { + source: "iana", + extensions: ["fly"] + }, + "text/vnd.fmi.flexstor": { + source: "iana", + extensions: ["flx"] + }, + "text/vnd.gml": { + source: "iana" + }, + "text/vnd.graphviz": { + source: "iana", + extensions: ["gv"] + }, + "text/vnd.hans": { + source: "iana" + }, + "text/vnd.hgl": { + source: "iana" + }, + "text/vnd.in3d.3dml": { + source: "iana", + extensions: ["3dml"] + }, + "text/vnd.in3d.spot": { + source: "iana", + extensions: ["spot"] + }, + "text/vnd.iptc.newsml": { + source: "iana" + }, + "text/vnd.iptc.nitf": { + source: "iana" + }, + "text/vnd.latex-z": { + source: "iana" + }, + "text/vnd.motorola.reflex": { + source: "iana" + }, + "text/vnd.ms-mediapackage": { + source: "iana" + }, + "text/vnd.net2phone.commcenter.command": { + source: "iana" + }, + "text/vnd.radisys.msml-basic-layout": { + source: "iana" + }, + "text/vnd.senx.warpscript": { + source: "iana" + }, + "text/vnd.si.uricatalogue": { + source: "apache" + }, + "text/vnd.sosi": { + source: "iana" + }, + "text/vnd.sun.j2me.app-descriptor": { + source: "iana", + charset: "UTF-8", + extensions: ["jad"] + }, + "text/vnd.trolltech.linguist": { + source: "iana", + charset: "UTF-8" + }, + "text/vnd.vcf": { + source: "iana" + }, + "text/vnd.wap.si": { + source: "iana" + }, + "text/vnd.wap.sl": { + source: "iana" + }, + "text/vnd.wap.wml": { + source: "iana", + extensions: ["wml"] + }, + "text/vnd.wap.wmlscript": { + source: "iana", + extensions: ["wmls"] + }, + "text/vnd.zoo.kcl": { + source: "iana" + }, + "text/vtt": { + source: "iana", + charset: "UTF-8", + compressible: true, + extensions: ["vtt"] + }, + "text/wgsl": { + source: "iana", + extensions: ["wgsl"] + }, + "text/x-asm": { + source: "apache", + extensions: ["s", "asm"] + }, + "text/x-c": { + source: "apache", + extensions: ["c", "cc", "cxx", "cpp", "h", "hh", "dic"] + }, + "text/x-component": { + source: "nginx", + extensions: ["htc"] + }, + "text/x-fortran": { + source: "apache", + extensions: ["f", "for", "f77", "f90"] + }, + "text/x-gwt-rpc": { + compressible: true + }, + "text/x-handlebars-template": { + extensions: ["hbs"] + }, + "text/x-java-source": { + source: "apache", + extensions: ["java"] + }, + "text/x-jquery-tmpl": { + compressible: true + }, + "text/x-lua": { + extensions: ["lua"] + }, + "text/x-markdown": { + compressible: true, + extensions: ["mkd"] + }, + "text/x-nfo": { + source: "apache", + extensions: ["nfo"] + }, + "text/x-opml": { + source: "apache", + extensions: ["opml"] + }, + "text/x-org": { + compressible: true, + extensions: ["org"] + }, + "text/x-pascal": { + source: "apache", + extensions: ["p", "pas"] + }, + "text/x-processing": { + compressible: true, + extensions: ["pde"] + }, + "text/x-sass": { + extensions: ["sass"] + }, + "text/x-scss": { + extensions: ["scss"] + }, + "text/x-setext": { + source: "apache", + extensions: ["etx"] + }, + "text/x-sfv": { + source: "apache", + extensions: ["sfv"] + }, + "text/x-suse-ymp": { + compressible: true, + extensions: ["ymp"] + }, + "text/x-uuencode": { + source: "apache", + extensions: ["uu"] + }, + "text/x-vcalendar": { + source: "apache", + extensions: ["vcs"] + }, + "text/x-vcard": { + source: "apache", + extensions: ["vcf"] + }, + "text/xml": { + source: "iana", + compressible: true, + extensions: ["xml"] + }, + "text/xml-external-parsed-entity": { + source: "iana" + }, + "text/yaml": { + compressible: true, + extensions: ["yaml", "yml"] + }, + "video/1d-interleaved-parityfec": { + source: "iana" + }, + "video/3gpp": { + source: "iana", + extensions: ["3gp", "3gpp"] + }, + "video/3gpp-tt": { + source: "iana" + }, + "video/3gpp2": { + source: "iana", + extensions: ["3g2"] + }, + "video/av1": { + source: "iana" + }, + "video/bmpeg": { + source: "iana" + }, + "video/bt656": { + source: "iana" + }, + "video/celb": { + source: "iana" + }, + "video/dv": { + source: "iana" + }, + "video/encaprtp": { + source: "iana" + }, + "video/evc": { + source: "iana" + }, + "video/ffv1": { + source: "iana" + }, + "video/flexfec": { + source: "iana" + }, + "video/h261": { + source: "iana", + extensions: ["h261"] + }, + "video/h263": { + source: "iana", + extensions: ["h263"] + }, + "video/h263-1998": { + source: "iana" + }, + "video/h263-2000": { + source: "iana" + }, + "video/h264": { + source: "iana", + extensions: ["h264"] + }, + "video/h264-rcdo": { + source: "iana" + }, + "video/h264-svc": { + source: "iana" + }, + "video/h265": { + source: "iana" + }, + "video/h266": { + source: "iana" + }, + "video/iso.segment": { + source: "iana", + extensions: ["m4s"] + }, + "video/jpeg": { + source: "iana", + extensions: ["jpgv"] + }, + "video/jpeg2000": { + source: "iana" + }, + "video/jpm": { + source: "apache", + extensions: ["jpm", "jpgm"] + }, + "video/jxsv": { + source: "iana" + }, + "video/lottie+json": { + source: "iana", + compressible: true + }, + "video/matroska": { + source: "iana" + }, + "video/matroska-3d": { + source: "iana" + }, + "video/mj2": { + source: "iana", + extensions: ["mj2", "mjp2"] + }, + "video/mp1s": { + source: "iana" + }, + "video/mp2p": { + source: "iana" + }, + "video/mp2t": { + source: "iana", + extensions: ["ts", "m2t", "m2ts", "mts"] + }, + "video/mp4": { + source: "iana", + compressible: false, + extensions: ["mp4", "mp4v", "mpg4"] + }, + "video/mp4v-es": { + source: "iana" + }, + "video/mpeg": { + source: "iana", + compressible: false, + extensions: ["mpeg", "mpg", "mpe", "m1v", "m2v"] + }, + "video/mpeg4-generic": { + source: "iana" + }, + "video/mpv": { + source: "iana" + }, + "video/nv": { + source: "iana" + }, + "video/ogg": { + source: "iana", + compressible: false, + extensions: ["ogv"] + }, + "video/parityfec": { + source: "iana" + }, + "video/pointer": { + source: "iana" + }, + "video/quicktime": { + source: "iana", + compressible: false, + extensions: ["qt", "mov"] + }, + "video/raptorfec": { + source: "iana" + }, + "video/raw": { + source: "iana" + }, + "video/rtp-enc-aescm128": { + source: "iana" + }, + "video/rtploopback": { + source: "iana" + }, + "video/rtx": { + source: "iana" + }, + "video/scip": { + source: "iana" + }, + "video/smpte291": { + source: "iana" + }, + "video/smpte292m": { + source: "iana" + }, + "video/ulpfec": { + source: "iana" + }, + "video/vc1": { + source: "iana" + }, + "video/vc2": { + source: "iana" + }, + "video/vnd.cctv": { + source: "iana" + }, + "video/vnd.dece.hd": { + source: "iana", + extensions: ["uvh", "uvvh"] + }, + "video/vnd.dece.mobile": { + source: "iana", + extensions: ["uvm", "uvvm"] + }, + "video/vnd.dece.mp4": { + source: "iana" + }, + "video/vnd.dece.pd": { + source: "iana", + extensions: ["uvp", "uvvp"] + }, + "video/vnd.dece.sd": { + source: "iana", + extensions: ["uvs", "uvvs"] + }, + "video/vnd.dece.video": { + source: "iana", + extensions: ["uvv", "uvvv"] + }, + "video/vnd.directv.mpeg": { + source: "iana" + }, + "video/vnd.directv.mpeg-tts": { + source: "iana" + }, + "video/vnd.dlna.mpeg-tts": { + source: "iana" + }, + "video/vnd.dvb.file": { + source: "iana", + extensions: ["dvb"] + }, + "video/vnd.fvt": { + source: "iana", + extensions: ["fvt"] + }, + "video/vnd.hns.video": { + source: "iana" + }, + "video/vnd.iptvforum.1dparityfec-1010": { + source: "iana" + }, + "video/vnd.iptvforum.1dparityfec-2005": { + source: "iana" + }, + "video/vnd.iptvforum.2dparityfec-1010": { + source: "iana" + }, + "video/vnd.iptvforum.2dparityfec-2005": { + source: "iana" + }, + "video/vnd.iptvforum.ttsavc": { + source: "iana" + }, + "video/vnd.iptvforum.ttsmpeg2": { + source: "iana" + }, + "video/vnd.motorola.video": { + source: "iana" + }, + "video/vnd.motorola.videop": { + source: "iana" + }, + "video/vnd.mpegurl": { + source: "iana", + extensions: ["mxu", "m4u"] + }, + "video/vnd.ms-playready.media.pyv": { + source: "iana", + extensions: ["pyv"] + }, + "video/vnd.nokia.interleaved-multimedia": { + source: "iana" + }, + "video/vnd.nokia.mp4vr": { + source: "iana" + }, + "video/vnd.nokia.videovoip": { + source: "iana" + }, + "video/vnd.objectvideo": { + source: "iana" + }, + "video/vnd.planar": { + source: "iana" + }, + "video/vnd.radgamettools.bink": { + source: "iana" + }, + "video/vnd.radgamettools.smacker": { + source: "apache" + }, + "video/vnd.sealed.mpeg1": { + source: "iana" + }, + "video/vnd.sealed.mpeg4": { + source: "iana" + }, + "video/vnd.sealed.swf": { + source: "iana" + }, + "video/vnd.sealedmedia.softseal.mov": { + source: "iana" + }, + "video/vnd.uvvu.mp4": { + source: "iana", + extensions: ["uvu", "uvvu"] + }, + "video/vnd.vivo": { + source: "iana", + extensions: ["viv"] + }, + "video/vnd.youtube.yt": { + source: "iana" + }, + "video/vp8": { + source: "iana" + }, + "video/vp9": { + source: "iana" + }, + "video/webm": { + source: "apache", + compressible: false, + extensions: ["webm"] + }, + "video/x-f4v": { + source: "apache", + extensions: ["f4v"] + }, + "video/x-fli": { + source: "apache", + extensions: ["fli"] + }, + "video/x-flv": { + source: "apache", + compressible: false, + extensions: ["flv"] + }, + "video/x-m4v": { + source: "apache", + extensions: ["m4v"] + }, + "video/x-matroska": { + source: "apache", + compressible: false, + extensions: ["mkv", "mk3d", "mks"] + }, + "video/x-mng": { + source: "apache", + extensions: ["mng"] + }, + "video/x-ms-asf": { + source: "apache", + extensions: ["asf", "asx"] + }, + "video/x-ms-vob": { + source: "apache", + extensions: ["vob"] + }, + "video/x-ms-wm": { + source: "apache", + extensions: ["wm"] + }, + "video/x-ms-wmv": { + source: "apache", + compressible: false, + extensions: ["wmv"] + }, + "video/x-ms-wmx": { + source: "apache", + extensions: ["wmx"] + }, + "video/x-ms-wvx": { + source: "apache", + extensions: ["wvx"] + }, + "video/x-msvideo": { + source: "apache", + extensions: ["avi"] + }, + "video/x-sgi-movie": { + source: "apache", + extensions: ["movie"] + }, + "video/x-smv": { + source: "apache", + extensions: ["smv"] + }, + "x-conference/x-cooltalk": { + source: "apache", + extensions: ["ice"] + }, + "x-shader/x-fragment": { + compressible: true + }, + "x-shader/x-vertex": { + compressible: true + } + }; + } +}); +var require_mime_db3 = __commonJS2({ + "node_modules/accepts/node_modules/mime-db/index.js"(exports2, module2) { + module2.exports = require_db3(); + } +}); +var require_mimeScore3 = __commonJS2({ + "node_modules/accepts/node_modules/mime-types/mimeScore.js"(exports2, module2) { + var FACET_SCORES = { + "prs.": 100, + "x-": 200, + "x.": 300, + "vnd.": 400, + default: 900 + }; + var SOURCE_SCORES = { + nginx: 10, + apache: 20, + iana: 40, + default: 30 + // definitions added by `jshttp/mime-db` project? + }; + var TYPE_SCORES = { + // prefer application/xml over text/xml + // prefer application/rtf over text/rtf + application: 1, + // prefer font/woff over application/font-woff + font: 2, + default: 0 + }; + module2.exports = function mimeScore(mimeType, source = "default") { + if (mimeType === "application/octet-stream") { + return 0; + } + const [type, subtype] = mimeType.split("/"); + const facet = subtype.replace(/(\.|x-).*/, "$1"); + const facetScore = FACET_SCORES[facet] || FACET_SCORES.default; + const sourceScore = SOURCE_SCORES[source] || SOURCE_SCORES.default; + const typeScore = TYPE_SCORES[type] || TYPE_SCORES.default; + const lengthScore = 1 - mimeType.length / 100; + return facetScore + sourceScore + typeScore + lengthScore; + }; + } +}); +var require_mime_types3 = __commonJS2({ + "node_modules/accepts/node_modules/mime-types/index.js"(exports2) { + "use strict"; + var db = require_mime_db3(); + var extname = require("path").extname; + var mimeScore = require_mimeScore3(); + var EXTRACT_TYPE_REGEXP = /^\s*([^;\s]*)(?:;|\s|$)/; + var TEXT_TYPE_REGEXP = /^text\//i; + exports2.charset = charset; + exports2.charsets = { lookup: charset }; + exports2.contentType = contentType2; + exports2.extension = extension; + exports2.extensions = /* @__PURE__ */ Object.create(null); + exports2.lookup = lookup; + exports2.types = /* @__PURE__ */ Object.create(null); + exports2._extensionConflicts = []; + populateMaps(exports2.extensions, exports2.types); + function charset(type) { + if (!type || typeof type !== "string") { + return false; + } + var match = EXTRACT_TYPE_REGEXP.exec(type); + var mime = match && db[match[1].toLowerCase()]; + if (mime && mime.charset) { + return mime.charset; + } + if (match && TEXT_TYPE_REGEXP.test(match[1])) { + return "UTF-8"; + } + return false; + } + function contentType2(str) { + if (!str || typeof str !== "string") { + return false; + } + var mime = str.indexOf("/") === -1 ? exports2.lookup(str) : str; + if (!mime) { + return false; + } + if (mime.indexOf("charset") === -1) { + var charset2 = exports2.charset(mime); + if (charset2) mime += "; charset=" + charset2.toLowerCase(); + } + return mime; + } + function extension(type) { + if (!type || typeof type !== "string") { + return false; + } + var match = EXTRACT_TYPE_REGEXP.exec(type); + var exts = match && exports2.extensions[match[1].toLowerCase()]; + if (!exts || !exts.length) { + return false; + } + return exts[0]; + } + function lookup(path) { + if (!path || typeof path !== "string") { + return false; + } + var extension2 = extname("x." + path).toLowerCase().slice(1); + if (!extension2) { + return false; + } + return exports2.types[extension2] || false; + } + function populateMaps(extensions, types) { + Object.keys(db).forEach(function forEachMimeType(type) { + var mime = db[type]; + var exts = mime.extensions; + if (!exts || !exts.length) { + return; + } + extensions[type] = exts; + for (var i = 0; i < exts.length; i++) { + var extension2 = exts[i]; + types[extension2] = _preferredType(extension2, types[extension2], type); + const legacyType = _preferredTypeLegacy( + extension2, + types[extension2], + type + ); + if (legacyType !== types[extension2]) { + exports2._extensionConflicts.push([extension2, legacyType, types[extension2]]); + } + } + }); + } + function _preferredType(ext, type0, type1) { + var score0 = type0 ? mimeScore(type0, db[type0].source) : 0; + var score1 = type1 ? mimeScore(type1, db[type1].source) : 0; + return score0 > score1 ? type0 : type1; + } + function _preferredTypeLegacy(ext, type0, type1) { + var SOURCE_RANK = ["nginx", "apache", void 0, "iana"]; + var score0 = type0 ? SOURCE_RANK.indexOf(db[type0].source) : 0; + var score1 = type1 ? SOURCE_RANK.indexOf(db[type1].source) : 0; + if (exports2.types[extension] !== "application/octet-stream" && (score0 > score1 || score0 === score1 && exports2.types[extension]?.slice(0, 12) === "application/")) { + return type0; + } + return score0 > score1 ? type0 : type1; + } + } +}); +var require_accepts = __commonJS2({ + "node_modules/accepts/index.js"(exports2, module2) { + "use strict"; + var Negotiator = require_negotiator(); + var mime = require_mime_types3(); + module2.exports = Accepts; + function Accepts(req) { + if (!(this instanceof Accepts)) { + return new Accepts(req); + } + this.headers = req.headers; + this.negotiator = new Negotiator(req); + } + Accepts.prototype.type = Accepts.prototype.types = function(types_) { + var types = types_; + if (types && !Array.isArray(types)) { + types = new Array(arguments.length); + for (var i = 0; i < types.length; i++) { + types[i] = arguments[i]; + } + } + if (!types || types.length === 0) { + return this.negotiator.mediaTypes(); + } + if (!this.headers.accept) { + return types[0]; + } + var mimes = types.map(extToMime); + var accepts = this.negotiator.mediaTypes(mimes.filter(validMime)); + var first = accepts[0]; + return first ? types[mimes.indexOf(first)] : false; + }; + Accepts.prototype.encoding = Accepts.prototype.encodings = function(encodings_) { + var encodings = encodings_; + if (encodings && !Array.isArray(encodings)) { + encodings = new Array(arguments.length); + for (var i = 0; i < encodings.length; i++) { + encodings[i] = arguments[i]; + } + } + if (!encodings || encodings.length === 0) { + return this.negotiator.encodings(); + } + return this.negotiator.encodings(encodings)[0] || false; + }; + Accepts.prototype.charset = Accepts.prototype.charsets = function(charsets_) { + var charsets = charsets_; + if (charsets && !Array.isArray(charsets)) { + charsets = new Array(arguments.length); + for (var i = 0; i < charsets.length; i++) { + charsets[i] = arguments[i]; + } + } + if (!charsets || charsets.length === 0) { + return this.negotiator.charsets(); + } + return this.negotiator.charsets(charsets)[0] || false; + }; + Accepts.prototype.lang = Accepts.prototype.langs = Accepts.prototype.language = Accepts.prototype.languages = function(languages_) { + var languages = languages_; + if (languages && !Array.isArray(languages)) { + languages = new Array(arguments.length); + for (var i = 0; i < languages.length; i++) { + languages[i] = arguments[i]; + } + } + if (!languages || languages.length === 0) { + return this.negotiator.languages(); + } + return this.negotiator.languages(languages)[0] || false; + }; + function extToMime(type) { + return type.indexOf("/") === -1 ? mime.lookup(type) : type; + } + function validMime(type) { + return typeof type === "string"; + } + } +}); +var require_fresh = __commonJS2({ + "node_modules/fresh/index.js"(exports2, module2) { + "use strict"; + var CACHE_CONTROL_NO_CACHE_REGEXP = /(?:^|,)\s*?no-cache\s*?(?:,|$)/; + module2.exports = fresh; + function fresh(reqHeaders, resHeaders) { + var modifiedSince = reqHeaders["if-modified-since"]; + var noneMatch = reqHeaders["if-none-match"]; + if (!modifiedSince && !noneMatch) { + return false; + } + var cacheControl = reqHeaders["cache-control"]; + if (cacheControl && CACHE_CONTROL_NO_CACHE_REGEXP.test(cacheControl)) { + return false; + } + if (noneMatch) { + if (noneMatch === "*") { + return true; + } + var etag = resHeaders.etag; + if (!etag) { + return false; + } + var matches = parseTokenList(noneMatch); + for (var i = 0; i < matches.length; i++) { + var match = matches[i]; + if (match === etag || match === "W/" + etag || "W/" + match === etag) { + return true; + } + } + return false; + } + if (modifiedSince) { + var lastModified = resHeaders["last-modified"]; + var modifiedStale = !lastModified || !(parseHttpDate(lastModified) <= parseHttpDate(modifiedSince)); + if (modifiedStale) { + return false; + } + } + return true; + } + function parseHttpDate(date) { + var timestamp = date && Date.parse(date); + return typeof timestamp === "number" ? timestamp : NaN; + } + function parseTokenList(str) { + var end = 0; + var list = []; + var start = 0; + for (var i = 0, len = str.length; i < len; i++) { + switch (str.charCodeAt(i)) { + case 32: + if (start === end) { + start = end = i + 1; + } + break; + case 44: + list.push(str.substring(start, end)); + start = end = i + 1; + break; + default: + end = i + 1; + break; + } + } + list.push(str.substring(start, end)); + return list; + } + } +}); +var require_range_parser = __commonJS2({ + "node_modules/range-parser/index.js"(exports2, module2) { + "use strict"; + module2.exports = rangeParser; + function rangeParser(size, str, options) { + if (typeof str !== "string") { + throw new TypeError("argument str must be a string"); + } + var index = str.indexOf("="); + if (index === -1) { + return -2; + } + var arr = str.slice(index + 1).split(","); + var ranges = []; + ranges.type = str.slice(0, index); + for (var i = 0; i < arr.length; i++) { + var range = arr[i].split("-"); + var start = parseInt(range[0], 10); + var end = parseInt(range[1], 10); + if (isNaN(start)) { + start = size - end; + end = size - 1; + } else if (isNaN(end)) { + end = size - 1; + } + if (end > size - 1) { + end = size - 1; + } + if (isNaN(start) || isNaN(end) || start > end || start < 0) { + continue; + } + ranges.push({ + start, + end + }); + } + if (ranges.length < 1) { + return -1; + } + return options && options.combine ? combineRanges(ranges) : ranges; + } + function combineRanges(ranges) { + var ordered = ranges.map(mapWithIndex).sort(sortByRangeStart); + for (var j = 0, i = 1; i < ordered.length; i++) { + var range = ordered[i]; + var current = ordered[j]; + if (range.start > current.end + 1) { + ordered[++j] = range; + } else if (range.end > current.end) { + current.end = range.end; + current.index = Math.min(current.index, range.index); + } + } + ordered.length = j + 1; + var combined = ordered.sort(sortByRangeIndex).map(mapWithoutIndex); + combined.type = ranges.type; + return combined; + } + function mapWithIndex(range, index) { + return { + start: range.start, + end: range.end, + index + }; + } + function mapWithoutIndex(range) { + return { + start: range.start, + end: range.end + }; + } + function sortByRangeIndex(a, b) { + return a.index - b.index; + } + function sortByRangeStart(a, b) { + return a.start - b.start; + } + } +}); +var require_request = __commonJS2({ + "node_modules/express/lib/request.js"(exports2, module2) { + "use strict"; + var accepts = require_accepts(); + var isIP = require("node:net").isIP; + var typeis = require_type_is(); + var http = require("node:http"); + var fresh = require_fresh(); + var parseRange = require_range_parser(); + var parse = require_parseurl(); + var proxyaddr = require_proxy_addr(); + var req = Object.create(http.IncomingMessage.prototype); + module2.exports = req; + req.get = req.header = function header(name) { + if (!name) { + throw new TypeError("name argument is required to req.get"); + } + if (typeof name !== "string") { + throw new TypeError("name must be a string to req.get"); + } + var lc = name.toLowerCase(); + switch (lc) { + case "referer": + case "referrer": + return this.headers.referrer || this.headers.referer; + default: + return this.headers[lc]; + } + }; + req.accepts = function() { + var accept = accepts(this); + return accept.types.apply(accept, arguments); + }; + req.acceptsEncodings = function() { + var accept = accepts(this); + return accept.encodings.apply(accept, arguments); + }; + req.acceptsCharsets = function() { + var accept = accepts(this); + return accept.charsets.apply(accept, arguments); + }; + req.acceptsLanguages = function() { + var accept = accepts(this); + return accept.languages.apply(accept, arguments); + }; + req.range = function range(size, options) { + var range2 = this.get("Range"); + if (!range2) return; + return parseRange(size, range2, options); + }; + defineGetter(req, "query", function query() { + var queryparse = this.app.get("query parser fn"); + if (!queryparse) { + return /* @__PURE__ */ Object.create(null); + } + var querystring = parse(this).query; + return queryparse(querystring); + }); + req.is = function is(types) { + var arr = types; + if (!Array.isArray(types)) { + arr = new Array(arguments.length); + for (var i = 0; i < arr.length; i++) { + arr[i] = arguments[i]; + } + } + return typeis(this, arr); + }; + defineGetter(req, "protocol", function protocol() { + var proto2 = this.connection.encrypted ? "https" : "http"; + var trust = this.app.get("trust proxy fn"); + if (!trust(this.connection.remoteAddress, 0)) { + return proto2; + } + var header = this.get("X-Forwarded-Proto") || proto2; + var index = header.indexOf(","); + return index !== -1 ? header.substring(0, index).trim() : header.trim(); + }); + defineGetter(req, "secure", function secure() { + return this.protocol === "https"; + }); + defineGetter(req, "ip", function ip() { + var trust = this.app.get("trust proxy fn"); + return proxyaddr(this, trust); + }); + defineGetter(req, "ips", function ips() { + var trust = this.app.get("trust proxy fn"); + var addrs = proxyaddr.all(this, trust); + addrs.reverse().pop(); + return addrs; + }); + defineGetter(req, "subdomains", function subdomains() { + var hostname = this.hostname; + if (!hostname) return []; + var offset = this.app.get("subdomain offset"); + var subdomains2 = !isIP(hostname) ? hostname.split(".").reverse() : [hostname]; + return subdomains2.slice(offset); + }); + defineGetter(req, "path", function path() { + return parse(this).pathname; + }); + defineGetter(req, "host", function host() { + var trust = this.app.get("trust proxy fn"); + var val = this.get("X-Forwarded-Host"); + if (!val || !trust(this.connection.remoteAddress, 0)) { + val = this.get("Host"); + } else if (val.indexOf(",") !== -1) { + val = val.substring(0, val.indexOf(",")).trimRight(); + } + return val || void 0; + }); + defineGetter(req, "hostname", function hostname() { + var host = this.host; + if (!host) return; + var offset = host[0] === "[" ? host.indexOf("]") + 1 : 0; + var index = host.indexOf(":", offset); + return index !== -1 ? host.substring(0, index) : host; + }); + defineGetter(req, "fresh", function() { + var method = this.method; + var res = this.res; + var status = res.statusCode; + if ("GET" !== method && "HEAD" !== method) return false; + if (status >= 200 && status < 300 || 304 === status) { + return fresh(this.headers, { + "etag": res.get("ETag"), + "last-modified": res.get("Last-Modified") + }); + } + return false; + }); + defineGetter(req, "stale", function stale() { + return !this.fresh; + }); + defineGetter(req, "xhr", function xhr() { + var val = this.get("X-Requested-With") || ""; + return val.toLowerCase() === "xmlhttprequest"; + }); + function defineGetter(obj, name, getter) { + Object.defineProperty(obj, name, { + configurable: true, + enumerable: true, + get: getter + }); + } + } +}); +var require_safe_buffer = __commonJS2({ + "node_modules/safe-buffer/index.js"(exports2, module2) { + var buffer = require("buffer"); + var Buffer2 = buffer.Buffer; + function copyProps(src, dst) { + for (var key in src) { + dst[key] = src[key]; + } + } + if (Buffer2.from && Buffer2.alloc && Buffer2.allocUnsafe && Buffer2.allocUnsafeSlow) { + module2.exports = buffer; + } else { + copyProps(buffer, exports2); + exports2.Buffer = SafeBuffer; + } + function SafeBuffer(arg, encodingOrOffset, length) { + return Buffer2(arg, encodingOrOffset, length); + } + SafeBuffer.prototype = Object.create(Buffer2.prototype); + copyProps(Buffer2, SafeBuffer); + SafeBuffer.from = function(arg, encodingOrOffset, length) { + if (typeof arg === "number") { + throw new TypeError("Argument must not be a number"); + } + return Buffer2(arg, encodingOrOffset, length); + }; + SafeBuffer.alloc = function(size, fill, encoding) { + if (typeof size !== "number") { + throw new TypeError("Argument must be a number"); + } + var buf = Buffer2(size); + if (fill !== void 0) { + if (typeof encoding === "string") { + buf.fill(fill, encoding); + } else { + buf.fill(fill); + } + } else { + buf.fill(0); + } + return buf; + }; + SafeBuffer.allocUnsafe = function(size) { + if (typeof size !== "number") { + throw new TypeError("Argument must be a number"); + } + return Buffer2(size); + }; + SafeBuffer.allocUnsafeSlow = function(size) { + if (typeof size !== "number") { + throw new TypeError("Argument must be a number"); + } + return buffer.SlowBuffer(size); + }; + } +}); +var require_content_disposition = __commonJS2({ + "node_modules/content-disposition/index.js"(exports2, module2) { + "use strict"; + module2.exports = contentDisposition; + module2.exports.parse = parse; + var basename = require("path").basename; + var Buffer2 = require_safe_buffer().Buffer; + var ENCODE_URL_ATTR_CHAR_REGEXP = /[\x00-\x20"'()*,/:;<=>?@[\\\]{}\x7f]/g; + var HEX_ESCAPE_REGEXP = /%[0-9A-Fa-f]{2}/; + var HEX_ESCAPE_REPLACE_REGEXP = /%([0-9A-Fa-f]{2})/g; + var NON_LATIN1_REGEXP = /[^\x20-\x7e\xa0-\xff]/g; + var QESC_REGEXP = /\\([\u0000-\u007f])/g; + var QUOTE_REGEXP = /([\\"])/g; + var PARAM_REGEXP = /;[\x09\x20]*([!#$%&'*+.0-9A-Z^_`a-z|~-]+)[\x09\x20]*=[\x09\x20]*("(?:[\x20!\x23-\x5b\x5d-\x7e\x80-\xff]|\\[\x20-\x7e])*"|[!#$%&'*+.0-9A-Z^_`a-z|~-]+)[\x09\x20]*/g; + var TEXT_REGEXP = /^[\x20-\x7e\x80-\xff]+$/; + var TOKEN_REGEXP = /^[!#$%&'*+.0-9A-Z^_`a-z|~-]+$/; + var EXT_VALUE_REGEXP = /^([A-Za-z0-9!#$%&+\-^_`{}~]+)'(?:[A-Za-z]{2,3}(?:-[A-Za-z]{3}){0,3}|[A-Za-z]{4,8}|)'((?:%[0-9A-Fa-f]{2}|[A-Za-z0-9!#$&+.^_`|~-])+)$/; + var DISPOSITION_TYPE_REGEXP = /^([!#$%&'*+.0-9A-Z^_`a-z|~-]+)[\x09\x20]*(?:$|;)/; + function contentDisposition(filename, options) { + var opts = options || {}; + var type = opts.type || "attachment"; + var params = createparams(filename, opts.fallback); + return format(new ContentDisposition(type, params)); + } + function createparams(filename, fallback) { + if (filename === void 0) { + return; + } + var params = {}; + if (typeof filename !== "string") { + throw new TypeError("filename must be a string"); + } + if (fallback === void 0) { + fallback = true; + } + if (typeof fallback !== "string" && typeof fallback !== "boolean") { + throw new TypeError("fallback must be a string or boolean"); + } + if (typeof fallback === "string" && NON_LATIN1_REGEXP.test(fallback)) { + throw new TypeError("fallback must be ISO-8859-1 string"); + } + var name = basename(filename); + var isQuotedString = TEXT_REGEXP.test(name); + var fallbackName = typeof fallback !== "string" ? fallback && getlatin1(name) : basename(fallback); + var hasFallback = typeof fallbackName === "string" && fallbackName !== name; + if (hasFallback || !isQuotedString || HEX_ESCAPE_REGEXP.test(name)) { + params["filename*"] = name; + } + if (isQuotedString || hasFallback) { + params.filename = hasFallback ? fallbackName : name; + } + return params; + } + function format(obj) { + var parameters = obj.parameters; + var type = obj.type; + if (!type || typeof type !== "string" || !TOKEN_REGEXP.test(type)) { + throw new TypeError("invalid type"); + } + var string = String(type).toLowerCase(); + if (parameters && typeof parameters === "object") { + var param; + var params = Object.keys(parameters).sort(); + for (var i = 0; i < params.length; i++) { + param = params[i]; + var val = param.slice(-1) === "*" ? ustring(parameters[param]) : qstring(parameters[param]); + string += "; " + param + "=" + val; + } + } + return string; + } + function decodefield(str) { + var match = EXT_VALUE_REGEXP.exec(str); + if (!match) { + throw new TypeError("invalid extended field value"); + } + var charset = match[1].toLowerCase(); + var encoded = match[2]; + var value; + var binary = encoded.replace(HEX_ESCAPE_REPLACE_REGEXP, pdecode); + switch (charset) { + case "iso-8859-1": + value = getlatin1(binary); + break; + case "utf-8": + case "utf8": + value = Buffer2.from(binary, "binary").toString("utf8"); + break; + default: + throw new TypeError("unsupported charset in extended field"); + } + return value; + } + function getlatin1(val) { + return String(val).replace(NON_LATIN1_REGEXP, "?"); + } + function parse(string) { + if (!string || typeof string !== "string") { + throw new TypeError("argument string is required"); + } + var match = DISPOSITION_TYPE_REGEXP.exec(string); + if (!match) { + throw new TypeError("invalid type format"); + } + var index = match[0].length; + var type = match[1].toLowerCase(); + var key; + var names = []; + var params = {}; + var value; + index = PARAM_REGEXP.lastIndex = match[0].slice(-1) === ";" ? index - 1 : index; + while (match = PARAM_REGEXP.exec(string)) { + if (match.index !== index) { + throw new TypeError("invalid parameter format"); + } + index += match[0].length; + key = match[1].toLowerCase(); + value = match[2]; + if (names.indexOf(key) !== -1) { + throw new TypeError("invalid duplicate parameter"); + } + names.push(key); + if (key.indexOf("*") + 1 === key.length) { + key = key.slice(0, -1); + value = decodefield(value); + params[key] = value; + continue; + } + if (typeof params[key] === "string") { + continue; + } + if (value[0] === '"') { + value = value.slice(1, -1).replace(QESC_REGEXP, "$1"); + } + params[key] = value; + } + if (index !== -1 && index !== string.length) { + throw new TypeError("invalid parameter format"); + } + return new ContentDisposition(type, params); + } + function pdecode(str, hex) { + return String.fromCharCode(parseInt(hex, 16)); + } + function pencode(char) { + return "%" + String(char).charCodeAt(0).toString(16).toUpperCase(); + } + function qstring(val) { + var str = String(val); + return '"' + str.replace(QUOTE_REGEXP, "\\$1") + '"'; + } + function ustring(val) { + var str = String(val); + var encoded = encodeURIComponent(str).replace(ENCODE_URL_ATTR_CHAR_REGEXP, pencode); + return "UTF-8''" + encoded; + } + function ContentDisposition(type, parameters) { + this.type = type; + this.parameters = parameters; + } + } +}); +var require_cookie_signature = __commonJS2({ + "node_modules/cookie-signature/index.js"(exports2) { + var crypto = require("crypto"); + exports2.sign = function(val, secret) { + if ("string" != typeof val) throw new TypeError("Cookie value must be provided as a string."); + if (null == secret) throw new TypeError("Secret key must be provided."); + return val + "." + crypto.createHmac("sha256", secret).update(val).digest("base64").replace(/\=+$/, ""); + }; + exports2.unsign = function(input, secret) { + if ("string" != typeof input) throw new TypeError("Signed cookie string must be provided."); + if (null == secret) throw new TypeError("Secret key must be provided."); + var tentativeValue = input.slice(0, input.lastIndexOf(".")), expectedInput = exports2.sign(tentativeValue, secret), expectedBuffer = Buffer.from(expectedInput), inputBuffer = Buffer.from(input); + return expectedBuffer.length === inputBuffer.length && crypto.timingSafeEqual(expectedBuffer, inputBuffer) ? tentativeValue : false; + }; + } +}); +var require_cookie = __commonJS2({ + "node_modules/cookie/index.js"(exports2) { + "use strict"; + exports2.parse = parse; + exports2.serialize = serialize; + var __toString = Object.prototype.toString; + var cookieNameRegExp = /^[!#$%&'*+\-.^_`|~0-9A-Za-z]+$/; + var cookieValueRegExp = /^("?)[\u0021\u0023-\u002B\u002D-\u003A\u003C-\u005B\u005D-\u007E]*\1$/; + var domainValueRegExp = /^([.]?[a-z0-9]([a-z0-9-]{0,61}[a-z0-9])?)([.][a-z0-9]([a-z0-9-]{0,61}[a-z0-9])?)*$/i; + var pathValueRegExp = /^[\u0020-\u003A\u003D-\u007E]*$/; + function parse(str, opt) { + if (typeof str !== "string") { + throw new TypeError("argument str must be a string"); + } + var obj = {}; + var len = str.length; + if (len < 2) return obj; + var dec = opt && opt.decode || decode; + var index = 0; + var eqIdx = 0; + var endIdx = 0; + do { + eqIdx = str.indexOf("=", index); + if (eqIdx === -1) break; + endIdx = str.indexOf(";", index); + if (endIdx === -1) { + endIdx = len; + } else if (eqIdx > endIdx) { + index = str.lastIndexOf(";", eqIdx - 1) + 1; + continue; + } + var keyStartIdx = startIndex(str, index, eqIdx); + var keyEndIdx = endIndex(str, eqIdx, keyStartIdx); + var key = str.slice(keyStartIdx, keyEndIdx); + if (!obj.hasOwnProperty(key)) { + var valStartIdx = startIndex(str, eqIdx + 1, endIdx); + var valEndIdx = endIndex(str, endIdx, valStartIdx); + if (str.charCodeAt(valStartIdx) === 34 && str.charCodeAt(valEndIdx - 1) === 34) { + valStartIdx++; + valEndIdx--; + } + var val = str.slice(valStartIdx, valEndIdx); + obj[key] = tryDecode(val, dec); + } + index = endIdx + 1; + } while (index < len); + return obj; + } + function startIndex(str, index, max) { + do { + var code = str.charCodeAt(index); + if (code !== 32 && code !== 9) return index; + } while (++index < max); + return max; + } + function endIndex(str, index, min) { + while (index > min) { + var code = str.charCodeAt(--index); + if (code !== 32 && code !== 9) return index + 1; + } + return min; + } + function serialize(name, val, opt) { + var enc = opt && opt.encode || encodeURIComponent; + if (typeof enc !== "function") { + throw new TypeError("option encode is invalid"); + } + if (!cookieNameRegExp.test(name)) { + throw new TypeError("argument name is invalid"); + } + var value = enc(val); + if (!cookieValueRegExp.test(value)) { + throw new TypeError("argument val is invalid"); + } + var str = name + "=" + value; + if (!opt) return str; + if (null != opt.maxAge) { + var maxAge = Math.floor(opt.maxAge); + if (!isFinite(maxAge)) { + throw new TypeError("option maxAge is invalid"); + } + str += "; Max-Age=" + maxAge; + } + if (opt.domain) { + if (!domainValueRegExp.test(opt.domain)) { + throw new TypeError("option domain is invalid"); + } + str += "; Domain=" + opt.domain; + } + if (opt.path) { + if (!pathValueRegExp.test(opt.path)) { + throw new TypeError("option path is invalid"); + } + str += "; Path=" + opt.path; + } + if (opt.expires) { + var expires = opt.expires; + if (!isDate(expires) || isNaN(expires.valueOf())) { + throw new TypeError("option expires is invalid"); + } + str += "; Expires=" + expires.toUTCString(); + } + if (opt.httpOnly) { + str += "; HttpOnly"; + } + if (opt.secure) { + str += "; Secure"; + } + if (opt.partitioned) { + str += "; Partitioned"; + } + if (opt.priority) { + var priority = typeof opt.priority === "string" ? opt.priority.toLowerCase() : opt.priority; + switch (priority) { + case "low": + str += "; Priority=Low"; + break; + case "medium": + str += "; Priority=Medium"; + break; + case "high": + str += "; Priority=High"; + break; + default: + throw new TypeError("option priority is invalid"); + } + } + if (opt.sameSite) { + var sameSite = typeof opt.sameSite === "string" ? opt.sameSite.toLowerCase() : opt.sameSite; + switch (sameSite) { + case true: + str += "; SameSite=Strict"; + break; + case "lax": + str += "; SameSite=Lax"; + break; + case "strict": + str += "; SameSite=Strict"; + break; + case "none": + str += "; SameSite=None"; + break; + default: + throw new TypeError("option sameSite is invalid"); + } + } + return str; + } + function decode(str) { + return str.indexOf("%") !== -1 ? decodeURIComponent(str) : str; + } + function isDate(val) { + return __toString.call(val) === "[object Date]"; + } + function tryDecode(str, decode2) { + try { + return decode2(str); + } catch (e) { + return str; + } + } + } +}); +var require_db4 = __commonJS2({ + "node_modules/send/node_modules/mime-db/db.json"(exports2, module2) { + module2.exports = { + "application/1d-interleaved-parityfec": { + source: "iana" + }, + "application/3gpdash-qoe-report+xml": { + source: "iana", + charset: "UTF-8", + compressible: true + }, + "application/3gpp-ims+xml": { + source: "iana", + compressible: true + }, + "application/3gpphal+json": { + source: "iana", + compressible: true + }, + "application/3gpphalforms+json": { + source: "iana", + compressible: true + }, + "application/a2l": { + source: "iana" + }, + "application/ace+cbor": { + source: "iana" + }, + "application/ace+json": { + source: "iana", + compressible: true + }, + "application/ace-groupcomm+cbor": { + source: "iana" + }, + "application/ace-trl+cbor": { + source: "iana" + }, + "application/activemessage": { + source: "iana" + }, + "application/activity+json": { + source: "iana", + compressible: true + }, + "application/aif+cbor": { + source: "iana" + }, + "application/aif+json": { + source: "iana", + compressible: true + }, + "application/alto-cdni+json": { + source: "iana", + compressible: true + }, + "application/alto-cdnifilter+json": { + source: "iana", + compressible: true + }, + "application/alto-costmap+json": { + source: "iana", + compressible: true + }, + "application/alto-costmapfilter+json": { + source: "iana", + compressible: true + }, + "application/alto-directory+json": { + source: "iana", + compressible: true + }, + "application/alto-endpointcost+json": { + source: "iana", + compressible: true + }, + "application/alto-endpointcostparams+json": { + source: "iana", + compressible: true + }, + "application/alto-endpointprop+json": { + source: "iana", + compressible: true + }, + "application/alto-endpointpropparams+json": { + source: "iana", + compressible: true + }, + "application/alto-error+json": { + source: "iana", + compressible: true + }, + "application/alto-networkmap+json": { + source: "iana", + compressible: true + }, + "application/alto-networkmapfilter+json": { + source: "iana", + compressible: true + }, + "application/alto-propmap+json": { + source: "iana", + compressible: true + }, + "application/alto-propmapparams+json": { + source: "iana", + compressible: true + }, + "application/alto-tips+json": { + source: "iana", + compressible: true + }, + "application/alto-tipsparams+json": { + source: "iana", + compressible: true + }, + "application/alto-updatestreamcontrol+json": { + source: "iana", + compressible: true + }, + "application/alto-updatestreamparams+json": { + source: "iana", + compressible: true + }, + "application/aml": { + source: "iana" + }, + "application/andrew-inset": { + source: "iana", + extensions: ["ez"] + }, + "application/appinstaller": { + compressible: false, + extensions: ["appinstaller"] + }, + "application/applefile": { + source: "iana" + }, + "application/applixware": { + source: "apache", + extensions: ["aw"] + }, + "application/appx": { + compressible: false, + extensions: ["appx"] + }, + "application/appxbundle": { + compressible: false, + extensions: ["appxbundle"] + }, + "application/at+jwt": { + source: "iana" + }, + "application/atf": { + source: "iana" + }, + "application/atfx": { + source: "iana" + }, + "application/atom+xml": { + source: "iana", + compressible: true, + extensions: ["atom"] + }, + "application/atomcat+xml": { + source: "iana", + compressible: true, + extensions: ["atomcat"] + }, + "application/atomdeleted+xml": { + source: "iana", + compressible: true, + extensions: ["atomdeleted"] + }, + "application/atomicmail": { + source: "iana" + }, + "application/atomsvc+xml": { + source: "iana", + compressible: true, + extensions: ["atomsvc"] + }, + "application/atsc-dwd+xml": { + source: "iana", + compressible: true, + extensions: ["dwd"] + }, + "application/atsc-dynamic-event-message": { + source: "iana" + }, + "application/atsc-held+xml": { + source: "iana", + compressible: true, + extensions: ["held"] + }, + "application/atsc-rdt+json": { + source: "iana", + compressible: true + }, + "application/atsc-rsat+xml": { + source: "iana", + compressible: true, + extensions: ["rsat"] + }, + "application/atxml": { + source: "iana" + }, + "application/auth-policy+xml": { + source: "iana", + compressible: true + }, + "application/automationml-aml+xml": { + source: "iana", + compressible: true, + extensions: ["aml"] + }, + "application/automationml-amlx+zip": { + source: "iana", + compressible: false, + extensions: ["amlx"] + }, + "application/bacnet-xdd+zip": { + source: "iana", + compressible: false + }, + "application/batch-smtp": { + source: "iana" + }, + "application/bdoc": { + compressible: false, + extensions: ["bdoc"] + }, + "application/beep+xml": { + source: "iana", + charset: "UTF-8", + compressible: true + }, + "application/bufr": { + source: "iana" + }, + "application/c2pa": { + source: "iana" + }, + "application/calendar+json": { + source: "iana", + compressible: true + }, + "application/calendar+xml": { + source: "iana", + compressible: true, + extensions: ["xcs"] + }, + "application/call-completion": { + source: "iana" + }, + "application/cals-1840": { + source: "iana" + }, + "application/captive+json": { + source: "iana", + compressible: true + }, + "application/cbor": { + source: "iana" + }, + "application/cbor-seq": { + source: "iana" + }, + "application/cccex": { + source: "iana" + }, + "application/ccmp+xml": { + source: "iana", + compressible: true + }, + "application/ccxml+xml": { + source: "iana", + compressible: true, + extensions: ["ccxml"] + }, + "application/cda+xml": { + source: "iana", + charset: "UTF-8", + compressible: true + }, + "application/cdfx+xml": { + source: "iana", + compressible: true, + extensions: ["cdfx"] + }, + "application/cdmi-capability": { + source: "iana", + extensions: ["cdmia"] + }, + "application/cdmi-container": { + source: "iana", + extensions: ["cdmic"] + }, + "application/cdmi-domain": { + source: "iana", + extensions: ["cdmid"] + }, + "application/cdmi-object": { + source: "iana", + extensions: ["cdmio"] + }, + "application/cdmi-queue": { + source: "iana", + extensions: ["cdmiq"] + }, + "application/cdni": { + source: "iana" + }, + "application/ce+cbor": { + source: "iana" + }, + "application/cea": { + source: "iana" + }, + "application/cea-2018+xml": { + source: "iana", + compressible: true + }, + "application/cellml+xml": { + source: "iana", + compressible: true + }, + "application/cfw": { + source: "iana" + }, + "application/cid-edhoc+cbor-seq": { + source: "iana" + }, + "application/city+json": { + source: "iana", + compressible: true + }, + "application/city+json-seq": { + source: "iana" + }, + "application/clr": { + source: "iana" + }, + "application/clue+xml": { + source: "iana", + compressible: true + }, + "application/clue_info+xml": { + source: "iana", + compressible: true + }, + "application/cms": { + source: "iana" + }, + "application/cnrp+xml": { + source: "iana", + compressible: true + }, + "application/coap-eap": { + source: "iana" + }, + "application/coap-group+json": { + source: "iana", + compressible: true + }, + "application/coap-payload": { + source: "iana" + }, + "application/commonground": { + source: "iana" + }, + "application/concise-problem-details+cbor": { + source: "iana" + }, + "application/conference-info+xml": { + source: "iana", + compressible: true + }, + "application/cose": { + source: "iana" + }, + "application/cose-key": { + source: "iana" + }, + "application/cose-key-set": { + source: "iana" + }, + "application/cose-x509": { + source: "iana" + }, + "application/cpl+xml": { + source: "iana", + compressible: true, + extensions: ["cpl"] + }, + "application/csrattrs": { + source: "iana" + }, + "application/csta+xml": { + source: "iana", + compressible: true + }, + "application/cstadata+xml": { + source: "iana", + compressible: true + }, + "application/csvm+json": { + source: "iana", + compressible: true + }, + "application/cu-seeme": { + source: "apache", + extensions: ["cu"] + }, + "application/cwl": { + source: "iana", + extensions: ["cwl"] + }, + "application/cwl+json": { + source: "iana", + compressible: true + }, + "application/cwl+yaml": { + source: "iana" + }, + "application/cwt": { + source: "iana" + }, + "application/cybercash": { + source: "iana" + }, + "application/dart": { + compressible: true + }, + "application/dash+xml": { + source: "iana", + compressible: true, + extensions: ["mpd"] + }, + "application/dash-patch+xml": { + source: "iana", + compressible: true, + extensions: ["mpp"] + }, + "application/dashdelta": { + source: "iana" + }, + "application/davmount+xml": { + source: "iana", + compressible: true, + extensions: ["davmount"] + }, + "application/dca-rft": { + source: "iana" + }, + "application/dcd": { + source: "iana" + }, + "application/dec-dx": { + source: "iana" + }, + "application/dialog-info+xml": { + source: "iana", + compressible: true + }, + "application/dicom": { + source: "iana", + extensions: ["dcm"] + }, + "application/dicom+json": { + source: "iana", + compressible: true + }, + "application/dicom+xml": { + source: "iana", + compressible: true + }, + "application/dii": { + source: "iana" + }, + "application/dit": { + source: "iana" + }, + "application/dns": { + source: "iana" + }, + "application/dns+json": { + source: "iana", + compressible: true + }, + "application/dns-message": { + source: "iana" + }, + "application/docbook+xml": { + source: "apache", + compressible: true, + extensions: ["dbk"] + }, + "application/dots+cbor": { + source: "iana" + }, + "application/dpop+jwt": { + source: "iana" + }, + "application/dskpp+xml": { + source: "iana", + compressible: true + }, + "application/dssc+der": { + source: "iana", + extensions: ["dssc"] + }, + "application/dssc+xml": { + source: "iana", + compressible: true, + extensions: ["xdssc"] + }, + "application/dvcs": { + source: "iana" + }, + "application/eat+cwt": { + source: "iana" + }, + "application/eat+jwt": { + source: "iana" + }, + "application/eat-bun+cbor": { + source: "iana" + }, + "application/eat-bun+json": { + source: "iana", + compressible: true + }, + "application/eat-ucs+cbor": { + source: "iana" + }, + "application/eat-ucs+json": { + source: "iana", + compressible: true + }, + "application/ecmascript": { + source: "apache", + compressible: true, + extensions: ["ecma"] + }, + "application/edhoc+cbor-seq": { + source: "iana" + }, + "application/edi-consent": { + source: "iana" + }, + "application/edi-x12": { + source: "iana", + compressible: false + }, + "application/edifact": { + source: "iana", + compressible: false + }, + "application/efi": { + source: "iana" + }, + "application/elm+json": { + source: "iana", + charset: "UTF-8", + compressible: true + }, + "application/elm+xml": { + source: "iana", + compressible: true + }, + "application/emergencycalldata.cap+xml": { + source: "iana", + charset: "UTF-8", + compressible: true + }, + "application/emergencycalldata.comment+xml": { + source: "iana", + compressible: true + }, + "application/emergencycalldata.control+xml": { + source: "iana", + compressible: true + }, + "application/emergencycalldata.deviceinfo+xml": { + source: "iana", + compressible: true + }, + "application/emergencycalldata.ecall.msd": { + source: "iana" + }, + "application/emergencycalldata.legacyesn+json": { + source: "iana", + compressible: true + }, + "application/emergencycalldata.providerinfo+xml": { + source: "iana", + compressible: true + }, + "application/emergencycalldata.serviceinfo+xml": { + source: "iana", + compressible: true + }, + "application/emergencycalldata.subscriberinfo+xml": { + source: "iana", + compressible: true + }, + "application/emergencycalldata.veds+xml": { + source: "iana", + compressible: true + }, + "application/emma+xml": { + source: "iana", + compressible: true, + extensions: ["emma"] + }, + "application/emotionml+xml": { + source: "iana", + compressible: true, + extensions: ["emotionml"] + }, + "application/encaprtp": { + source: "iana" + }, + "application/entity-statement+jwt": { + source: "iana" + }, + "application/epp+xml": { + source: "iana", + compressible: true + }, + "application/epub+zip": { + source: "iana", + compressible: false, + extensions: ["epub"] + }, + "application/eshop": { + source: "iana" + }, + "application/exi": { + source: "iana", + extensions: ["exi"] + }, + "application/expect-ct-report+json": { + source: "iana", + compressible: true + }, + "application/express": { + source: "iana", + extensions: ["exp"] + }, + "application/fastinfoset": { + source: "iana" + }, + "application/fastsoap": { + source: "iana" + }, + "application/fdf": { + source: "iana", + extensions: ["fdf"] + }, + "application/fdt+xml": { + source: "iana", + compressible: true, + extensions: ["fdt"] + }, + "application/fhir+json": { + source: "iana", + charset: "UTF-8", + compressible: true + }, + "application/fhir+xml": { + source: "iana", + charset: "UTF-8", + compressible: true + }, + "application/fido.trusted-apps+json": { + compressible: true + }, + "application/fits": { + source: "iana" + }, + "application/flexfec": { + source: "iana" + }, + "application/font-sfnt": { + source: "iana" + }, + "application/font-tdpfr": { + source: "iana", + extensions: ["pfr"] + }, + "application/font-woff": { + source: "iana", + compressible: false + }, + "application/framework-attributes+xml": { + source: "iana", + compressible: true + }, + "application/geo+json": { + source: "iana", + compressible: true, + extensions: ["geojson"] + }, + "application/geo+json-seq": { + source: "iana" + }, + "application/geopackage+sqlite3": { + source: "iana" + }, + "application/geopose+json": { + source: "iana", + compressible: true + }, + "application/geoxacml+json": { + source: "iana", + compressible: true + }, + "application/geoxacml+xml": { + source: "iana", + compressible: true + }, + "application/gltf-buffer": { + source: "iana" + }, + "application/gml+xml": { + source: "iana", + compressible: true, + extensions: ["gml"] + }, + "application/gnap-binding-jws": { + source: "iana" + }, + "application/gnap-binding-jwsd": { + source: "iana" + }, + "application/gnap-binding-rotation-jws": { + source: "iana" + }, + "application/gnap-binding-rotation-jwsd": { + source: "iana" + }, + "application/gpx+xml": { + source: "apache", + compressible: true, + extensions: ["gpx"] + }, + "application/grib": { + source: "iana" + }, + "application/gxf": { + source: "apache", + extensions: ["gxf"] + }, + "application/gzip": { + source: "iana", + compressible: false, + extensions: ["gz"] + }, + "application/h224": { + source: "iana" + }, + "application/held+xml": { + source: "iana", + compressible: true + }, + "application/hjson": { + extensions: ["hjson"] + }, + "application/hl7v2+xml": { + source: "iana", + charset: "UTF-8", + compressible: true + }, + "application/http": { + source: "iana" + }, + "application/hyperstudio": { + source: "iana", + extensions: ["stk"] + }, + "application/ibe-key-request+xml": { + source: "iana", + compressible: true + }, + "application/ibe-pkg-reply+xml": { + source: "iana", + compressible: true + }, + "application/ibe-pp-data": { + source: "iana" + }, + "application/iges": { + source: "iana" + }, + "application/im-iscomposing+xml": { + source: "iana", + charset: "UTF-8", + compressible: true + }, + "application/index": { + source: "iana" + }, + "application/index.cmd": { + source: "iana" + }, + "application/index.obj": { + source: "iana" + }, + "application/index.response": { + source: "iana" + }, + "application/index.vnd": { + source: "iana" + }, + "application/inkml+xml": { + source: "iana", + compressible: true, + extensions: ["ink", "inkml"] + }, + "application/iotp": { + source: "iana" + }, + "application/ipfix": { + source: "iana", + extensions: ["ipfix"] + }, + "application/ipp": { + source: "iana" + }, + "application/isup": { + source: "iana" + }, + "application/its+xml": { + source: "iana", + compressible: true, + extensions: ["its"] + }, + "application/java-archive": { + source: "iana", + compressible: false, + extensions: ["jar", "war", "ear"] + }, + "application/java-serialized-object": { + source: "apache", + compressible: false, + extensions: ["ser"] + }, + "application/java-vm": { + source: "apache", + compressible: false, + extensions: ["class"] + }, + "application/javascript": { + source: "apache", + charset: "UTF-8", + compressible: true, + extensions: ["js"] + }, + "application/jf2feed+json": { + source: "iana", + compressible: true + }, + "application/jose": { + source: "iana" + }, + "application/jose+json": { + source: "iana", + compressible: true + }, + "application/jrd+json": { + source: "iana", + compressible: true + }, + "application/jscalendar+json": { + source: "iana", + compressible: true + }, + "application/jscontact+json": { + source: "iana", + compressible: true + }, + "application/json": { + source: "iana", + charset: "UTF-8", + compressible: true, + extensions: ["json", "map"] + }, + "application/json-patch+json": { + source: "iana", + compressible: true + }, + "application/json-seq": { + source: "iana" + }, + "application/json5": { + extensions: ["json5"] + }, + "application/jsonml+json": { + source: "apache", + compressible: true, + extensions: ["jsonml"] + }, + "application/jsonpath": { + source: "iana" + }, + "application/jwk+json": { + source: "iana", + compressible: true + }, + "application/jwk-set+json": { + source: "iana", + compressible: true + }, + "application/jwk-set+jwt": { + source: "iana" + }, + "application/jwt": { + source: "iana" + }, + "application/kpml-request+xml": { + source: "iana", + compressible: true + }, + "application/kpml-response+xml": { + source: "iana", + compressible: true + }, + "application/ld+json": { + source: "iana", + compressible: true, + extensions: ["jsonld"] + }, + "application/lgr+xml": { + source: "iana", + compressible: true, + extensions: ["lgr"] + }, + "application/link-format": { + source: "iana" + }, + "application/linkset": { + source: "iana" + }, + "application/linkset+json": { + source: "iana", + compressible: true + }, + "application/load-control+xml": { + source: "iana", + compressible: true + }, + "application/logout+jwt": { + source: "iana" + }, + "application/lost+xml": { + source: "iana", + compressible: true, + extensions: ["lostxml"] + }, + "application/lostsync+xml": { + source: "iana", + compressible: true + }, + "application/lpf+zip": { + source: "iana", + compressible: false + }, + "application/lxf": { + source: "iana" + }, + "application/mac-binhex40": { + source: "iana", + extensions: ["hqx"] + }, + "application/mac-compactpro": { + source: "apache", + extensions: ["cpt"] + }, + "application/macwriteii": { + source: "iana" + }, + "application/mads+xml": { + source: "iana", + compressible: true, + extensions: ["mads"] + }, + "application/manifest+json": { + source: "iana", + charset: "UTF-8", + compressible: true, + extensions: ["webmanifest"] + }, + "application/marc": { + source: "iana", + extensions: ["mrc"] + }, + "application/marcxml+xml": { + source: "iana", + compressible: true, + extensions: ["mrcx"] + }, + "application/mathematica": { + source: "iana", + extensions: ["ma", "nb", "mb"] + }, + "application/mathml+xml": { + source: "iana", + compressible: true, + extensions: ["mathml"] + }, + "application/mathml-content+xml": { + source: "iana", + compressible: true + }, + "application/mathml-presentation+xml": { + source: "iana", + compressible: true + }, + "application/mbms-associated-procedure-description+xml": { + source: "iana", + compressible: true + }, + "application/mbms-deregister+xml": { + source: "iana", + compressible: true + }, + "application/mbms-envelope+xml": { + source: "iana", + compressible: true + }, + "application/mbms-msk+xml": { + source: "iana", + compressible: true + }, + "application/mbms-msk-response+xml": { + source: "iana", + compressible: true + }, + "application/mbms-protection-description+xml": { + source: "iana", + compressible: true + }, + "application/mbms-reception-report+xml": { + source: "iana", + compressible: true + }, + "application/mbms-register+xml": { + source: "iana", + compressible: true + }, + "application/mbms-register-response+xml": { + source: "iana", + compressible: true + }, + "application/mbms-schedule+xml": { + source: "iana", + compressible: true + }, + "application/mbms-user-service-description+xml": { + source: "iana", + compressible: true + }, + "application/mbox": { + source: "iana", + extensions: ["mbox"] + }, + "application/media-policy-dataset+xml": { + source: "iana", + compressible: true, + extensions: ["mpf"] + }, + "application/media_control+xml": { + source: "iana", + compressible: true + }, + "application/mediaservercontrol+xml": { + source: "iana", + compressible: true, + extensions: ["mscml"] + }, + "application/merge-patch+json": { + source: "iana", + compressible: true + }, + "application/metalink+xml": { + source: "apache", + compressible: true, + extensions: ["metalink"] + }, + "application/metalink4+xml": { + source: "iana", + compressible: true, + extensions: ["meta4"] + }, + "application/mets+xml": { + source: "iana", + compressible: true, + extensions: ["mets"] + }, + "application/mf4": { + source: "iana" + }, + "application/mikey": { + source: "iana" + }, + "application/mipc": { + source: "iana" + }, + "application/missing-blocks+cbor-seq": { + source: "iana" + }, + "application/mmt-aei+xml": { + source: "iana", + compressible: true, + extensions: ["maei"] + }, + "application/mmt-usd+xml": { + source: "iana", + compressible: true, + extensions: ["musd"] + }, + "application/mods+xml": { + source: "iana", + compressible: true, + extensions: ["mods"] + }, + "application/moss-keys": { + source: "iana" + }, + "application/moss-signature": { + source: "iana" + }, + "application/mosskey-data": { + source: "iana" + }, + "application/mosskey-request": { + source: "iana" + }, + "application/mp21": { + source: "iana", + extensions: ["m21", "mp21"] + }, + "application/mp4": { + source: "iana", + extensions: ["mp4", "mpg4", "mp4s", "m4p"] + }, + "application/mpeg4-generic": { + source: "iana" + }, + "application/mpeg4-iod": { + source: "iana" + }, + "application/mpeg4-iod-xmt": { + source: "iana" + }, + "application/mrb-consumer+xml": { + source: "iana", + compressible: true + }, + "application/mrb-publish+xml": { + source: "iana", + compressible: true + }, + "application/msc-ivr+xml": { + source: "iana", + charset: "UTF-8", + compressible: true + }, + "application/msc-mixer+xml": { + source: "iana", + charset: "UTF-8", + compressible: true + }, + "application/msix": { + compressible: false, + extensions: ["msix"] + }, + "application/msixbundle": { + compressible: false, + extensions: ["msixbundle"] + }, + "application/msword": { + source: "iana", + compressible: false, + extensions: ["doc", "dot"] + }, + "application/mud+json": { + source: "iana", + compressible: true + }, + "application/multipart-core": { + source: "iana" + }, + "application/mxf": { + source: "iana", + extensions: ["mxf"] + }, + "application/n-quads": { + source: "iana", + extensions: ["nq"] + }, + "application/n-triples": { + source: "iana", + extensions: ["nt"] + }, + "application/nasdata": { + source: "iana" + }, + "application/news-checkgroups": { + source: "iana", + charset: "US-ASCII" + }, + "application/news-groupinfo": { + source: "iana", + charset: "US-ASCII" + }, + "application/news-transmission": { + source: "iana" + }, + "application/nlsml+xml": { + source: "iana", + compressible: true + }, + "application/node": { + source: "iana", + extensions: ["cjs"] + }, + "application/nss": { + source: "iana" + }, + "application/oauth-authz-req+jwt": { + source: "iana" + }, + "application/oblivious-dns-message": { + source: "iana" + }, + "application/ocsp-request": { + source: "iana" + }, + "application/ocsp-response": { + source: "iana" + }, + "application/octet-stream": { + source: "iana", + compressible: true, + extensions: ["bin", "dms", "lrf", "mar", "so", "dist", "distz", "pkg", "bpk", "dump", "elc", "deploy", "exe", "dll", "deb", "dmg", "iso", "img", "msi", "msp", "msm", "buffer"] + }, + "application/oda": { + source: "iana", + extensions: ["oda"] + }, + "application/odm+xml": { + source: "iana", + compressible: true + }, + "application/odx": { + source: "iana" + }, + "application/oebps-package+xml": { + source: "iana", + compressible: true, + extensions: ["opf"] + }, + "application/ogg": { + source: "iana", + compressible: false, + extensions: ["ogx"] + }, + "application/ohttp-keys": { + source: "iana" + }, + "application/omdoc+xml": { + source: "apache", + compressible: true, + extensions: ["omdoc"] + }, + "application/onenote": { + source: "apache", + extensions: ["onetoc", "onetoc2", "onetmp", "onepkg", "one", "onea"] + }, + "application/opc-nodeset+xml": { + source: "iana", + compressible: true + }, + "application/oscore": { + source: "iana" + }, + "application/oxps": { + source: "iana", + extensions: ["oxps"] + }, + "application/p21": { + source: "iana" + }, + "application/p21+zip": { + source: "iana", + compressible: false + }, + "application/p2p-overlay+xml": { + source: "iana", + compressible: true, + extensions: ["relo"] + }, + "application/parityfec": { + source: "iana" + }, + "application/passport": { + source: "iana" + }, + "application/patch-ops-error+xml": { + source: "iana", + compressible: true, + extensions: ["xer"] + }, + "application/pdf": { + source: "iana", + compressible: false, + extensions: ["pdf"] + }, + "application/pdx": { + source: "iana" + }, + "application/pem-certificate-chain": { + source: "iana" + }, + "application/pgp-encrypted": { + source: "iana", + compressible: false, + extensions: ["pgp"] + }, + "application/pgp-keys": { + source: "iana", + extensions: ["asc"] + }, + "application/pgp-signature": { + source: "iana", + extensions: ["sig", "asc"] + }, + "application/pics-rules": { + source: "apache", + extensions: ["prf"] + }, + "application/pidf+xml": { + source: "iana", + charset: "UTF-8", + compressible: true + }, + "application/pidf-diff+xml": { + source: "iana", + charset: "UTF-8", + compressible: true + }, + "application/pkcs10": { + source: "iana", + extensions: ["p10"] + }, + "application/pkcs12": { + source: "iana" + }, + "application/pkcs7-mime": { + source: "iana", + extensions: ["p7m", "p7c"] + }, + "application/pkcs7-signature": { + source: "iana", + extensions: ["p7s"] + }, + "application/pkcs8": { + source: "iana", + extensions: ["p8"] + }, + "application/pkcs8-encrypted": { + source: "iana" + }, + "application/pkix-attr-cert": { + source: "iana", + extensions: ["ac"] + }, + "application/pkix-cert": { + source: "iana", + extensions: ["cer"] + }, + "application/pkix-crl": { + source: "iana", + extensions: ["crl"] + }, + "application/pkix-pkipath": { + source: "iana", + extensions: ["pkipath"] + }, + "application/pkixcmp": { + source: "iana", + extensions: ["pki"] + }, + "application/pls+xml": { + source: "iana", + compressible: true, + extensions: ["pls"] + }, + "application/poc-settings+xml": { + source: "iana", + charset: "UTF-8", + compressible: true + }, + "application/postscript": { + source: "iana", + compressible: true, + extensions: ["ai", "eps", "ps"] + }, + "application/ppsp-tracker+json": { + source: "iana", + compressible: true + }, + "application/private-token-issuer-directory": { + source: "iana" + }, + "application/private-token-request": { + source: "iana" + }, + "application/private-token-response": { + source: "iana" + }, + "application/problem+json": { + source: "iana", + compressible: true + }, + "application/problem+xml": { + source: "iana", + compressible: true + }, + "application/provenance+xml": { + source: "iana", + compressible: true, + extensions: ["provx"] + }, + "application/provided-claims+jwt": { + source: "iana" + }, + "application/prs.alvestrand.titrax-sheet": { + source: "iana" + }, + "application/prs.cww": { + source: "iana", + extensions: ["cww"] + }, + "application/prs.cyn": { + source: "iana", + charset: "7-BIT" + }, + "application/prs.hpub+zip": { + source: "iana", + compressible: false + }, + "application/prs.implied-document+xml": { + source: "iana", + compressible: true + }, + "application/prs.implied-executable": { + source: "iana" + }, + "application/prs.implied-object+json": { + source: "iana", + compressible: true + }, + "application/prs.implied-object+json-seq": { + source: "iana" + }, + "application/prs.implied-object+yaml": { + source: "iana" + }, + "application/prs.implied-structure": { + source: "iana" + }, + "application/prs.mayfile": { + source: "iana" + }, + "application/prs.nprend": { + source: "iana" + }, + "application/prs.plucker": { + source: "iana" + }, + "application/prs.rdf-xml-crypt": { + source: "iana" + }, + "application/prs.vcfbzip2": { + source: "iana" + }, + "application/prs.xsf+xml": { + source: "iana", + compressible: true, + extensions: ["xsf"] + }, + "application/pskc+xml": { + source: "iana", + compressible: true, + extensions: ["pskcxml"] + }, + "application/pvd+json": { + source: "iana", + compressible: true + }, + "application/qsig": { + source: "iana" + }, + "application/raml+yaml": { + compressible: true, + extensions: ["raml"] + }, + "application/raptorfec": { + source: "iana" + }, + "application/rdap+json": { + source: "iana", + compressible: true + }, + "application/rdf+xml": { + source: "iana", + compressible: true, + extensions: ["rdf", "owl"] + }, + "application/reginfo+xml": { + source: "iana", + compressible: true, + extensions: ["rif"] + }, + "application/relax-ng-compact-syntax": { + source: "iana", + extensions: ["rnc"] + }, + "application/remote-printing": { + source: "apache" + }, + "application/reputon+json": { + source: "iana", + compressible: true + }, + "application/resolve-response+jwt": { + source: "iana" + }, + "application/resource-lists+xml": { + source: "iana", + compressible: true, + extensions: ["rl"] + }, + "application/resource-lists-diff+xml": { + source: "iana", + compressible: true, + extensions: ["rld"] + }, + "application/rfc+xml": { + source: "iana", + compressible: true + }, + "application/riscos": { + source: "iana" + }, + "application/rlmi+xml": { + source: "iana", + compressible: true + }, + "application/rls-services+xml": { + source: "iana", + compressible: true, + extensions: ["rs"] + }, + "application/route-apd+xml": { + source: "iana", + compressible: true, + extensions: ["rapd"] + }, + "application/route-s-tsid+xml": { + source: "iana", + compressible: true, + extensions: ["sls"] + }, + "application/route-usd+xml": { + source: "iana", + compressible: true, + extensions: ["rusd"] + }, + "application/rpki-checklist": { + source: "iana" + }, + "application/rpki-ghostbusters": { + source: "iana", + extensions: ["gbr"] + }, + "application/rpki-manifest": { + source: "iana", + extensions: ["mft"] + }, + "application/rpki-publication": { + source: "iana" + }, + "application/rpki-roa": { + source: "iana", + extensions: ["roa"] + }, + "application/rpki-signed-tal": { + source: "iana" + }, + "application/rpki-updown": { + source: "iana" + }, + "application/rsd+xml": { + source: "apache", + compressible: true, + extensions: ["rsd"] + }, + "application/rss+xml": { + source: "apache", + compressible: true, + extensions: ["rss"] + }, + "application/rtf": { + source: "iana", + compressible: true, + extensions: ["rtf"] + }, + "application/rtploopback": { + source: "iana" + }, + "application/rtx": { + source: "iana" + }, + "application/samlassertion+xml": { + source: "iana", + compressible: true + }, + "application/samlmetadata+xml": { + source: "iana", + compressible: true + }, + "application/sarif+json": { + source: "iana", + compressible: true + }, + "application/sarif-external-properties+json": { + source: "iana", + compressible: true + }, + "application/sbe": { + source: "iana" + }, + "application/sbml+xml": { + source: "iana", + compressible: true, + extensions: ["sbml"] + }, + "application/scaip+xml": { + source: "iana", + compressible: true + }, + "application/scim+json": { + source: "iana", + compressible: true + }, + "application/scvp-cv-request": { + source: "iana", + extensions: ["scq"] + }, + "application/scvp-cv-response": { + source: "iana", + extensions: ["scs"] + }, + "application/scvp-vp-request": { + source: "iana", + extensions: ["spq"] + }, + "application/scvp-vp-response": { + source: "iana", + extensions: ["spp"] + }, + "application/sdp": { + source: "iana", + extensions: ["sdp"] + }, + "application/secevent+jwt": { + source: "iana" + }, + "application/senml+cbor": { + source: "iana" + }, + "application/senml+json": { + source: "iana", + compressible: true + }, + "application/senml+xml": { + source: "iana", + compressible: true, + extensions: ["senmlx"] + }, + "application/senml-etch+cbor": { + source: "iana" + }, + "application/senml-etch+json": { + source: "iana", + compressible: true + }, + "application/senml-exi": { + source: "iana" + }, + "application/sensml+cbor": { + source: "iana" + }, + "application/sensml+json": { + source: "iana", + compressible: true + }, + "application/sensml+xml": { + source: "iana", + compressible: true, + extensions: ["sensmlx"] + }, + "application/sensml-exi": { + source: "iana" + }, + "application/sep+xml": { + source: "iana", + compressible: true + }, + "application/sep-exi": { + source: "iana" + }, + "application/session-info": { + source: "iana" + }, + "application/set-payment": { + source: "iana" + }, + "application/set-payment-initiation": { + source: "iana", + extensions: ["setpay"] + }, + "application/set-registration": { + source: "iana" + }, + "application/set-registration-initiation": { + source: "iana", + extensions: ["setreg"] + }, + "application/sgml": { + source: "iana" + }, + "application/sgml-open-catalog": { + source: "iana" + }, + "application/shf+xml": { + source: "iana", + compressible: true, + extensions: ["shf"] + }, + "application/sieve": { + source: "iana", + extensions: ["siv", "sieve"] + }, + "application/simple-filter+xml": { + source: "iana", + compressible: true + }, + "application/simple-message-summary": { + source: "iana" + }, + "application/simplesymbolcontainer": { + source: "iana" + }, + "application/sipc": { + source: "iana" + }, + "application/slate": { + source: "iana" + }, + "application/smil": { + source: "apache" + }, + "application/smil+xml": { + source: "iana", + compressible: true, + extensions: ["smi", "smil"] + }, + "application/smpte336m": { + source: "iana" + }, + "application/soap+fastinfoset": { + source: "iana" + }, + "application/soap+xml": { + source: "iana", + compressible: true + }, + "application/sparql-query": { + source: "iana", + extensions: ["rq"] + }, + "application/sparql-results+xml": { + source: "iana", + compressible: true, + extensions: ["srx"] + }, + "application/spdx+json": { + source: "iana", + compressible: true + }, + "application/spirits-event+xml": { + source: "iana", + compressible: true + }, + "application/sql": { + source: "iana", + extensions: ["sql"] + }, + "application/srgs": { + source: "iana", + extensions: ["gram"] + }, + "application/srgs+xml": { + source: "iana", + compressible: true, + extensions: ["grxml"] + }, + "application/sru+xml": { + source: "iana", + compressible: true, + extensions: ["sru"] + }, + "application/ssdl+xml": { + source: "apache", + compressible: true, + extensions: ["ssdl"] + }, + "application/sslkeylogfile": { + source: "iana" + }, + "application/ssml+xml": { + source: "iana", + compressible: true, + extensions: ["ssml"] + }, + "application/st2110-41": { + source: "iana" + }, + "application/stix+json": { + source: "iana", + compressible: true + }, + "application/stratum": { + source: "iana" + }, + "application/swid+cbor": { + source: "iana" + }, + "application/swid+xml": { + source: "iana", + compressible: true, + extensions: ["swidtag"] + }, + "application/tamp-apex-update": { + source: "iana" + }, + "application/tamp-apex-update-confirm": { + source: "iana" + }, + "application/tamp-community-update": { + source: "iana" + }, + "application/tamp-community-update-confirm": { + source: "iana" + }, + "application/tamp-error": { + source: "iana" + }, + "application/tamp-sequence-adjust": { + source: "iana" + }, + "application/tamp-sequence-adjust-confirm": { + source: "iana" + }, + "application/tamp-status-query": { + source: "iana" + }, + "application/tamp-status-response": { + source: "iana" + }, + "application/tamp-update": { + source: "iana" + }, + "application/tamp-update-confirm": { + source: "iana" + }, + "application/tar": { + compressible: true + }, + "application/taxii+json": { + source: "iana", + compressible: true + }, + "application/td+json": { + source: "iana", + compressible: true + }, + "application/tei+xml": { + source: "iana", + compressible: true, + extensions: ["tei", "teicorpus"] + }, + "application/tetra_isi": { + source: "iana" + }, + "application/thraud+xml": { + source: "iana", + compressible: true, + extensions: ["tfi"] + }, + "application/timestamp-query": { + source: "iana" + }, + "application/timestamp-reply": { + source: "iana" + }, + "application/timestamped-data": { + source: "iana", + extensions: ["tsd"] + }, + "application/tlsrpt+gzip": { + source: "iana" + }, + "application/tlsrpt+json": { + source: "iana", + compressible: true + }, + "application/tm+json": { + source: "iana", + compressible: true + }, + "application/tnauthlist": { + source: "iana" + }, + "application/toc+cbor": { + source: "iana" + }, + "application/token-introspection+jwt": { + source: "iana" + }, + "application/toml": { + source: "iana", + compressible: true, + extensions: ["toml"] + }, + "application/trickle-ice-sdpfrag": { + source: "iana" + }, + "application/trig": { + source: "iana", + extensions: ["trig"] + }, + "application/trust-chain+json": { + source: "iana", + compressible: true + }, + "application/trust-mark+jwt": { + source: "iana" + }, + "application/trust-mark-delegation+jwt": { + source: "iana" + }, + "application/ttml+xml": { + source: "iana", + compressible: true, + extensions: ["ttml"] + }, + "application/tve-trigger": { + source: "iana" + }, + "application/tzif": { + source: "iana" + }, + "application/tzif-leap": { + source: "iana" + }, + "application/ubjson": { + compressible: false, + extensions: ["ubj"] + }, + "application/uccs+cbor": { + source: "iana" + }, + "application/ujcs+json": { + source: "iana", + compressible: true + }, + "application/ulpfec": { + source: "iana" + }, + "application/urc-grpsheet+xml": { + source: "iana", + compressible: true + }, + "application/urc-ressheet+xml": { + source: "iana", + compressible: true, + extensions: ["rsheet"] + }, + "application/urc-targetdesc+xml": { + source: "iana", + compressible: true, + extensions: ["td"] + }, + "application/urc-uisocketdesc+xml": { + source: "iana", + compressible: true + }, + "application/vc": { + source: "iana" + }, + "application/vc+cose": { + source: "iana" + }, + "application/vc+jwt": { + source: "iana" + }, + "application/vcard+json": { + source: "iana", + compressible: true + }, + "application/vcard+xml": { + source: "iana", + compressible: true + }, + "application/vemmi": { + source: "iana" + }, + "application/vividence.scriptfile": { + source: "apache" + }, + "application/vnd.1000minds.decision-model+xml": { + source: "iana", + compressible: true, + extensions: ["1km"] + }, + "application/vnd.1ob": { + source: "iana" + }, + "application/vnd.3gpp-prose+xml": { + source: "iana", + compressible: true + }, + "application/vnd.3gpp-prose-pc3a+xml": { + source: "iana", + compressible: true + }, + "application/vnd.3gpp-prose-pc3ach+xml": { + source: "iana", + compressible: true + }, + "application/vnd.3gpp-prose-pc3ch+xml": { + source: "iana", + compressible: true + }, + "application/vnd.3gpp-prose-pc8+xml": { + source: "iana", + compressible: true + }, + "application/vnd.3gpp-v2x-local-service-information": { + source: "iana" + }, + "application/vnd.3gpp.5gnas": { + source: "iana" + }, + "application/vnd.3gpp.5gsa2x": { + source: "iana" + }, + "application/vnd.3gpp.5gsa2x-local-service-information": { + source: "iana" + }, + "application/vnd.3gpp.5gsv2x": { + source: "iana" + }, + "application/vnd.3gpp.5gsv2x-local-service-information": { + source: "iana" + }, + "application/vnd.3gpp.access-transfer-events+xml": { + source: "iana", + compressible: true + }, + "application/vnd.3gpp.bsf+xml": { + source: "iana", + compressible: true + }, + "application/vnd.3gpp.crs+xml": { + source: "iana", + compressible: true + }, + "application/vnd.3gpp.current-location-discovery+xml": { + source: "iana", + compressible: true + }, + "application/vnd.3gpp.gmop+xml": { + source: "iana", + compressible: true + }, + "application/vnd.3gpp.gtpc": { + source: "iana" + }, + "application/vnd.3gpp.interworking-data": { + source: "iana" + }, + "application/vnd.3gpp.lpp": { + source: "iana" + }, + "application/vnd.3gpp.mc-signalling-ear": { + source: "iana" + }, + "application/vnd.3gpp.mcdata-affiliation-command+xml": { + source: "iana", + compressible: true + }, + "application/vnd.3gpp.mcdata-info+xml": { + source: "iana", + compressible: true + }, + "application/vnd.3gpp.mcdata-msgstore-ctrl-request+xml": { + source: "iana", + compressible: true + }, + "application/vnd.3gpp.mcdata-payload": { + source: "iana" + }, + "application/vnd.3gpp.mcdata-regroup+xml": { + source: "iana", + compressible: true + }, + "application/vnd.3gpp.mcdata-service-config+xml": { + source: "iana", + compressible: true + }, + "application/vnd.3gpp.mcdata-signalling": { + source: "iana" + }, + "application/vnd.3gpp.mcdata-ue-config+xml": { + source: "iana", + compressible: true + }, + "application/vnd.3gpp.mcdata-user-profile+xml": { + source: "iana", + compressible: true + }, + "application/vnd.3gpp.mcptt-affiliation-command+xml": { + source: "iana", + compressible: true + }, + "application/vnd.3gpp.mcptt-floor-request+xml": { + source: "iana", + compressible: true + }, + "application/vnd.3gpp.mcptt-info+xml": { + source: "iana", + compressible: true + }, + "application/vnd.3gpp.mcptt-location-info+xml": { + source: "iana", + compressible: true + }, + "application/vnd.3gpp.mcptt-mbms-usage-info+xml": { + source: "iana", + compressible: true + }, + "application/vnd.3gpp.mcptt-regroup+xml": { + source: "iana", + compressible: true + }, + "application/vnd.3gpp.mcptt-service-config+xml": { + source: "iana", + compressible: true + }, + "application/vnd.3gpp.mcptt-signed+xml": { + source: "iana", + compressible: true + }, + "application/vnd.3gpp.mcptt-ue-config+xml": { + source: "iana", + compressible: true + }, + "application/vnd.3gpp.mcptt-ue-init-config+xml": { + source: "iana", + compressible: true + }, + "application/vnd.3gpp.mcptt-user-profile+xml": { + source: "iana", + compressible: true + }, + "application/vnd.3gpp.mcvideo-affiliation-command+xml": { + source: "iana", + compressible: true + }, + "application/vnd.3gpp.mcvideo-info+xml": { + source: "iana", + compressible: true + }, + "application/vnd.3gpp.mcvideo-location-info+xml": { + source: "iana", + compressible: true + }, + "application/vnd.3gpp.mcvideo-mbms-usage-info+xml": { + source: "iana", + compressible: true + }, + "application/vnd.3gpp.mcvideo-regroup+xml": { + source: "iana", + compressible: true + }, + "application/vnd.3gpp.mcvideo-service-config+xml": { + source: "iana", + compressible: true + }, + "application/vnd.3gpp.mcvideo-transmission-request+xml": { + source: "iana", + compressible: true + }, + "application/vnd.3gpp.mcvideo-ue-config+xml": { + source: "iana", + compressible: true + }, + "application/vnd.3gpp.mcvideo-user-profile+xml": { + source: "iana", + compressible: true + }, + "application/vnd.3gpp.mid-call+xml": { + source: "iana", + compressible: true + }, + "application/vnd.3gpp.ngap": { + source: "iana" + }, + "application/vnd.3gpp.pfcp": { + source: "iana" + }, + "application/vnd.3gpp.pic-bw-large": { + source: "iana", + extensions: ["plb"] + }, + "application/vnd.3gpp.pic-bw-small": { + source: "iana", + extensions: ["psb"] + }, + "application/vnd.3gpp.pic-bw-var": { + source: "iana", + extensions: ["pvb"] + }, + "application/vnd.3gpp.pinapp-info+xml": { + source: "iana", + compressible: true + }, + "application/vnd.3gpp.s1ap": { + source: "iana" + }, + "application/vnd.3gpp.seal-group-doc+xml": { + source: "iana", + compressible: true + }, + "application/vnd.3gpp.seal-info+xml": { + source: "iana", + compressible: true + }, + "application/vnd.3gpp.seal-location-info+xml": { + source: "iana", + compressible: true + }, + "application/vnd.3gpp.seal-mbms-usage-info+xml": { + source: "iana", + compressible: true + }, + "application/vnd.3gpp.seal-network-qos-management-info+xml": { + source: "iana", + compressible: true + }, + "application/vnd.3gpp.seal-ue-config-info+xml": { + source: "iana", + compressible: true + }, + "application/vnd.3gpp.seal-unicast-info+xml": { + source: "iana", + compressible: true + }, + "application/vnd.3gpp.seal-user-profile-info+xml": { + source: "iana", + compressible: true + }, + "application/vnd.3gpp.sms": { + source: "iana" + }, + "application/vnd.3gpp.sms+xml": { + source: "iana", + compressible: true + }, + "application/vnd.3gpp.srvcc-ext+xml": { + source: "iana", + compressible: true + }, + "application/vnd.3gpp.srvcc-info+xml": { + source: "iana", + compressible: true + }, + "application/vnd.3gpp.state-and-event-info+xml": { + source: "iana", + compressible: true + }, + "application/vnd.3gpp.ussd+xml": { + source: "iana", + compressible: true + }, + "application/vnd.3gpp.v2x": { + source: "iana" + }, + "application/vnd.3gpp.vae-info+xml": { + source: "iana", + compressible: true + }, + "application/vnd.3gpp2.bcmcsinfo+xml": { + source: "iana", + compressible: true + }, + "application/vnd.3gpp2.sms": { + source: "iana" + }, + "application/vnd.3gpp2.tcap": { + source: "iana", + extensions: ["tcap"] + }, + "application/vnd.3lightssoftware.imagescal": { + source: "iana" + }, + "application/vnd.3m.post-it-notes": { + source: "iana", + extensions: ["pwn"] + }, + "application/vnd.accpac.simply.aso": { + source: "iana", + extensions: ["aso"] + }, + "application/vnd.accpac.simply.imp": { + source: "iana", + extensions: ["imp"] + }, + "application/vnd.acm.addressxfer+json": { + source: "iana", + compressible: true + }, + "application/vnd.acm.chatbot+json": { + source: "iana", + compressible: true + }, + "application/vnd.acucobol": { + source: "iana", + extensions: ["acu"] + }, + "application/vnd.acucorp": { + source: "iana", + extensions: ["atc", "acutc"] + }, + "application/vnd.adobe.air-application-installer-package+zip": { + source: "apache", + compressible: false, + extensions: ["air"] + }, + "application/vnd.adobe.flash.movie": { + source: "iana" + }, + "application/vnd.adobe.formscentral.fcdt": { + source: "iana", + extensions: ["fcdt"] + }, + "application/vnd.adobe.fxp": { + source: "iana", + extensions: ["fxp", "fxpl"] + }, + "application/vnd.adobe.partial-upload": { + source: "iana" + }, + "application/vnd.adobe.xdp+xml": { + source: "iana", + compressible: true, + extensions: ["xdp"] + }, + "application/vnd.adobe.xfdf": { + source: "apache", + extensions: ["xfdf"] + }, + "application/vnd.aether.imp": { + source: "iana" + }, + "application/vnd.afpc.afplinedata": { + source: "iana" + }, + "application/vnd.afpc.afplinedata-pagedef": { + source: "iana" + }, + "application/vnd.afpc.cmoca-cmresource": { + source: "iana" + }, + "application/vnd.afpc.foca-charset": { + source: "iana" + }, + "application/vnd.afpc.foca-codedfont": { + source: "iana" + }, + "application/vnd.afpc.foca-codepage": { + source: "iana" + }, + "application/vnd.afpc.modca": { + source: "iana" + }, + "application/vnd.afpc.modca-cmtable": { + source: "iana" + }, + "application/vnd.afpc.modca-formdef": { + source: "iana" + }, + "application/vnd.afpc.modca-mediummap": { + source: "iana" + }, + "application/vnd.afpc.modca-objectcontainer": { + source: "iana" + }, + "application/vnd.afpc.modca-overlay": { + source: "iana" + }, + "application/vnd.afpc.modca-pagesegment": { + source: "iana" + }, + "application/vnd.age": { + source: "iana", + extensions: ["age"] + }, + "application/vnd.ah-barcode": { + source: "apache" + }, + "application/vnd.ahead.space": { + source: "iana", + extensions: ["ahead"] + }, + "application/vnd.airzip.filesecure.azf": { + source: "iana", + extensions: ["azf"] + }, + "application/vnd.airzip.filesecure.azs": { + source: "iana", + extensions: ["azs"] + }, + "application/vnd.amadeus+json": { + source: "iana", + compressible: true + }, + "application/vnd.amazon.ebook": { + source: "apache", + extensions: ["azw"] + }, + "application/vnd.amazon.mobi8-ebook": { + source: "iana" + }, + "application/vnd.americandynamics.acc": { + source: "iana", + extensions: ["acc"] + }, + "application/vnd.amiga.ami": { + source: "iana", + extensions: ["ami"] + }, + "application/vnd.amundsen.maze+xml": { + source: "iana", + compressible: true + }, + "application/vnd.android.ota": { + source: "iana" + }, + "application/vnd.android.package-archive": { + source: "apache", + compressible: false, + extensions: ["apk"] + }, + "application/vnd.anki": { + source: "iana" + }, + "application/vnd.anser-web-certificate-issue-initiation": { + source: "iana", + extensions: ["cii"] + }, + "application/vnd.anser-web-funds-transfer-initiation": { + source: "apache", + extensions: ["fti"] + }, + "application/vnd.antix.game-component": { + source: "iana", + extensions: ["atx"] + }, + "application/vnd.apache.arrow.file": { + source: "iana" + }, + "application/vnd.apache.arrow.stream": { + source: "iana" + }, + "application/vnd.apache.parquet": { + source: "iana" + }, + "application/vnd.apache.thrift.binary": { + source: "iana" + }, + "application/vnd.apache.thrift.compact": { + source: "iana" + }, + "application/vnd.apache.thrift.json": { + source: "iana" + }, + "application/vnd.apexlang": { + source: "iana" + }, + "application/vnd.api+json": { + source: "iana", + compressible: true + }, + "application/vnd.aplextor.warrp+json": { + source: "iana", + compressible: true + }, + "application/vnd.apothekende.reservation+json": { + source: "iana", + compressible: true + }, + "application/vnd.apple.installer+xml": { + source: "iana", + compressible: true, + extensions: ["mpkg"] + }, + "application/vnd.apple.keynote": { + source: "iana", + extensions: ["key"] + }, + "application/vnd.apple.mpegurl": { + source: "iana", + extensions: ["m3u8"] + }, + "application/vnd.apple.numbers": { + source: "iana", + extensions: ["numbers"] + }, + "application/vnd.apple.pages": { + source: "iana", + extensions: ["pages"] + }, + "application/vnd.apple.pkpass": { + compressible: false, + extensions: ["pkpass"] + }, + "application/vnd.arastra.swi": { + source: "apache" + }, + "application/vnd.aristanetworks.swi": { + source: "iana", + extensions: ["swi"] + }, + "application/vnd.artisan+json": { + source: "iana", + compressible: true + }, + "application/vnd.artsquare": { + source: "iana" + }, + "application/vnd.astraea-software.iota": { + source: "iana", + extensions: ["iota"] + }, + "application/vnd.audiograph": { + source: "iana", + extensions: ["aep"] + }, + "application/vnd.autodesk.fbx": { + extensions: ["fbx"] + }, + "application/vnd.autopackage": { + source: "iana" + }, + "application/vnd.avalon+json": { + source: "iana", + compressible: true + }, + "application/vnd.avistar+xml": { + source: "iana", + compressible: true + }, + "application/vnd.balsamiq.bmml+xml": { + source: "iana", + compressible: true, + extensions: ["bmml"] + }, + "application/vnd.balsamiq.bmpr": { + source: "iana" + }, + "application/vnd.banana-accounting": { + source: "iana" + }, + "application/vnd.bbf.usp.error": { + source: "iana" + }, + "application/vnd.bbf.usp.msg": { + source: "iana" + }, + "application/vnd.bbf.usp.msg+json": { + source: "iana", + compressible: true + }, + "application/vnd.bekitzur-stech+json": { + source: "iana", + compressible: true + }, + "application/vnd.belightsoft.lhzd+zip": { + source: "iana", + compressible: false + }, + "application/vnd.belightsoft.lhzl+zip": { + source: "iana", + compressible: false + }, + "application/vnd.bint.med-content": { + source: "iana" + }, + "application/vnd.biopax.rdf+xml": { + source: "iana", + compressible: true + }, + "application/vnd.blink-idb-value-wrapper": { + source: "iana" + }, + "application/vnd.blueice.multipass": { + source: "iana", + extensions: ["mpm"] + }, + "application/vnd.bluetooth.ep.oob": { + source: "iana" + }, + "application/vnd.bluetooth.le.oob": { + source: "iana" + }, + "application/vnd.bmi": { + source: "iana", + extensions: ["bmi"] + }, + "application/vnd.bpf": { + source: "iana" + }, + "application/vnd.bpf3": { + source: "iana" + }, + "application/vnd.businessobjects": { + source: "iana", + extensions: ["rep"] + }, + "application/vnd.byu.uapi+json": { + source: "iana", + compressible: true + }, + "application/vnd.bzip3": { + source: "iana" + }, + "application/vnd.c3voc.schedule+xml": { + source: "iana", + compressible: true + }, + "application/vnd.cab-jscript": { + source: "iana" + }, + "application/vnd.canon-cpdl": { + source: "iana" + }, + "application/vnd.canon-lips": { + source: "iana" + }, + "application/vnd.capasystems-pg+json": { + source: "iana", + compressible: true + }, + "application/vnd.cendio.thinlinc.clientconf": { + source: "iana" + }, + "application/vnd.century-systems.tcp_stream": { + source: "iana" + }, + "application/vnd.chemdraw+xml": { + source: "iana", + compressible: true, + extensions: ["cdxml"] + }, + "application/vnd.chess-pgn": { + source: "iana" + }, + "application/vnd.chipnuts.karaoke-mmd": { + source: "iana", + extensions: ["mmd"] + }, + "application/vnd.ciedi": { + source: "iana" + }, + "application/vnd.cinderella": { + source: "iana", + extensions: ["cdy"] + }, + "application/vnd.cirpack.isdn-ext": { + source: "iana" + }, + "application/vnd.citationstyles.style+xml": { + source: "iana", + compressible: true, + extensions: ["csl"] + }, + "application/vnd.claymore": { + source: "iana", + extensions: ["cla"] + }, + "application/vnd.cloanto.rp9": { + source: "iana", + extensions: ["rp9"] + }, + "application/vnd.clonk.c4group": { + source: "iana", + extensions: ["c4g", "c4d", "c4f", "c4p", "c4u"] + }, + "application/vnd.cluetrust.cartomobile-config": { + source: "iana", + extensions: ["c11amc"] + }, + "application/vnd.cluetrust.cartomobile-config-pkg": { + source: "iana", + extensions: ["c11amz"] + }, + "application/vnd.cncf.helm.chart.content.v1.tar+gzip": { + source: "iana" + }, + "application/vnd.cncf.helm.chart.provenance.v1.prov": { + source: "iana" + }, + "application/vnd.cncf.helm.config.v1+json": { + source: "iana", + compressible: true + }, + "application/vnd.coffeescript": { + source: "iana" + }, + "application/vnd.collabio.xodocuments.document": { + source: "iana" + }, + "application/vnd.collabio.xodocuments.document-template": { + source: "iana" + }, + "application/vnd.collabio.xodocuments.presentation": { + source: "iana" + }, + "application/vnd.collabio.xodocuments.presentation-template": { + source: "iana" + }, + "application/vnd.collabio.xodocuments.spreadsheet": { + source: "iana" + }, + "application/vnd.collabio.xodocuments.spreadsheet-template": { + source: "iana" + }, + "application/vnd.collection+json": { + source: "iana", + compressible: true + }, + "application/vnd.collection.doc+json": { + source: "iana", + compressible: true + }, + "application/vnd.collection.next+json": { + source: "iana", + compressible: true + }, + "application/vnd.comicbook+zip": { + source: "iana", + compressible: false + }, + "application/vnd.comicbook-rar": { + source: "iana" + }, + "application/vnd.commerce-battelle": { + source: "iana" + }, + "application/vnd.commonspace": { + source: "iana", + extensions: ["csp"] + }, + "application/vnd.contact.cmsg": { + source: "iana", + extensions: ["cdbcmsg"] + }, + "application/vnd.coreos.ignition+json": { + source: "iana", + compressible: true + }, + "application/vnd.cosmocaller": { + source: "iana", + extensions: ["cmc"] + }, + "application/vnd.crick.clicker": { + source: "iana", + extensions: ["clkx"] + }, + "application/vnd.crick.clicker.keyboard": { + source: "iana", + extensions: ["clkk"] + }, + "application/vnd.crick.clicker.palette": { + source: "iana", + extensions: ["clkp"] + }, + "application/vnd.crick.clicker.template": { + source: "iana", + extensions: ["clkt"] + }, + "application/vnd.crick.clicker.wordbank": { + source: "iana", + extensions: ["clkw"] + }, + "application/vnd.criticaltools.wbs+xml": { + source: "iana", + compressible: true, + extensions: ["wbs"] + }, + "application/vnd.cryptii.pipe+json": { + source: "iana", + compressible: true + }, + "application/vnd.crypto-shade-file": { + source: "iana" + }, + "application/vnd.cryptomator.encrypted": { + source: "iana" + }, + "application/vnd.cryptomator.vault": { + source: "iana" + }, + "application/vnd.ctc-posml": { + source: "iana", + extensions: ["pml"] + }, + "application/vnd.ctct.ws+xml": { + source: "iana", + compressible: true + }, + "application/vnd.cups-pdf": { + source: "iana" + }, + "application/vnd.cups-postscript": { + source: "iana" + }, + "application/vnd.cups-ppd": { + source: "iana", + extensions: ["ppd"] + }, + "application/vnd.cups-raster": { + source: "iana" + }, + "application/vnd.cups-raw": { + source: "iana" + }, + "application/vnd.curl": { + source: "iana" + }, + "application/vnd.curl.car": { + source: "apache", + extensions: ["car"] + }, + "application/vnd.curl.pcurl": { + source: "apache", + extensions: ["pcurl"] + }, + "application/vnd.cyan.dean.root+xml": { + source: "iana", + compressible: true + }, + "application/vnd.cybank": { + source: "iana" + }, + "application/vnd.cyclonedx+json": { + source: "iana", + compressible: true + }, + "application/vnd.cyclonedx+xml": { + source: "iana", + compressible: true + }, + "application/vnd.d2l.coursepackage1p0+zip": { + source: "iana", + compressible: false + }, + "application/vnd.d3m-dataset": { + source: "iana" + }, + "application/vnd.d3m-problem": { + source: "iana" + }, + "application/vnd.dart": { + source: "iana", + compressible: true, + extensions: ["dart"] + }, + "application/vnd.data-vision.rdz": { + source: "iana", + extensions: ["rdz"] + }, + "application/vnd.datalog": { + source: "iana" + }, + "application/vnd.datapackage+json": { + source: "iana", + compressible: true + }, + "application/vnd.dataresource+json": { + source: "iana", + compressible: true + }, + "application/vnd.dbf": { + source: "iana", + extensions: ["dbf"] + }, + "application/vnd.dcmp+xml": { + source: "iana", + compressible: true, + extensions: ["dcmp"] + }, + "application/vnd.debian.binary-package": { + source: "iana" + }, + "application/vnd.dece.data": { + source: "iana", + extensions: ["uvf", "uvvf", "uvd", "uvvd"] + }, + "application/vnd.dece.ttml+xml": { + source: "iana", + compressible: true, + extensions: ["uvt", "uvvt"] + }, + "application/vnd.dece.unspecified": { + source: "iana", + extensions: ["uvx", "uvvx"] + }, + "application/vnd.dece.zip": { + source: "iana", + extensions: ["uvz", "uvvz"] + }, + "application/vnd.denovo.fcselayout-link": { + source: "iana", + extensions: ["fe_launch"] + }, + "application/vnd.desmume.movie": { + source: "iana" + }, + "application/vnd.dir-bi.plate-dl-nosuffix": { + source: "iana" + }, + "application/vnd.dm.delegation+xml": { + source: "iana", + compressible: true + }, + "application/vnd.dna": { + source: "iana", + extensions: ["dna"] + }, + "application/vnd.document+json": { + source: "iana", + compressible: true + }, + "application/vnd.dolby.mlp": { + source: "apache", + extensions: ["mlp"] + }, + "application/vnd.dolby.mobile.1": { + source: "iana" + }, + "application/vnd.dolby.mobile.2": { + source: "iana" + }, + "application/vnd.doremir.scorecloud-binary-document": { + source: "iana" + }, + "application/vnd.dpgraph": { + source: "iana", + extensions: ["dpg"] + }, + "application/vnd.dreamfactory": { + source: "iana", + extensions: ["dfac"] + }, + "application/vnd.drive+json": { + source: "iana", + compressible: true + }, + "application/vnd.ds-keypoint": { + source: "apache", + extensions: ["kpxx"] + }, + "application/vnd.dtg.local": { + source: "iana" + }, + "application/vnd.dtg.local.flash": { + source: "iana" + }, + "application/vnd.dtg.local.html": { + source: "iana" + }, + "application/vnd.dvb.ait": { + source: "iana", + extensions: ["ait"] + }, + "application/vnd.dvb.dvbisl+xml": { + source: "iana", + compressible: true + }, + "application/vnd.dvb.dvbj": { + source: "iana" + }, + "application/vnd.dvb.esgcontainer": { + source: "iana" + }, + "application/vnd.dvb.ipdcdftnotifaccess": { + source: "iana" + }, + "application/vnd.dvb.ipdcesgaccess": { + source: "iana" + }, + "application/vnd.dvb.ipdcesgaccess2": { + source: "iana" + }, + "application/vnd.dvb.ipdcesgpdd": { + source: "iana" + }, + "application/vnd.dvb.ipdcroaming": { + source: "iana" + }, + "application/vnd.dvb.iptv.alfec-base": { + source: "iana" + }, + "application/vnd.dvb.iptv.alfec-enhancement": { + source: "iana" + }, + "application/vnd.dvb.notif-aggregate-root+xml": { + source: "iana", + compressible: true + }, + "application/vnd.dvb.notif-container+xml": { + source: "iana", + compressible: true + }, + "application/vnd.dvb.notif-generic+xml": { + source: "iana", + compressible: true + }, + "application/vnd.dvb.notif-ia-msglist+xml": { + source: "iana", + compressible: true + }, + "application/vnd.dvb.notif-ia-registration-request+xml": { + source: "iana", + compressible: true + }, + "application/vnd.dvb.notif-ia-registration-response+xml": { + source: "iana", + compressible: true + }, + "application/vnd.dvb.notif-init+xml": { + source: "iana", + compressible: true + }, + "application/vnd.dvb.pfr": { + source: "iana" + }, + "application/vnd.dvb.service": { + source: "iana", + extensions: ["svc"] + }, + "application/vnd.dxr": { + source: "iana" + }, + "application/vnd.dynageo": { + source: "iana", + extensions: ["geo"] + }, + "application/vnd.dzr": { + source: "iana" + }, + "application/vnd.easykaraoke.cdgdownload": { + source: "iana" + }, + "application/vnd.ecdis-update": { + source: "iana" + }, + "application/vnd.ecip.rlp": { + source: "iana" + }, + "application/vnd.eclipse.ditto+json": { + source: "iana", + compressible: true + }, + "application/vnd.ecowin.chart": { + source: "iana", + extensions: ["mag"] + }, + "application/vnd.ecowin.filerequest": { + source: "iana" + }, + "application/vnd.ecowin.fileupdate": { + source: "iana" + }, + "application/vnd.ecowin.series": { + source: "iana" + }, + "application/vnd.ecowin.seriesrequest": { + source: "iana" + }, + "application/vnd.ecowin.seriesupdate": { + source: "iana" + }, + "application/vnd.efi.img": { + source: "iana" + }, + "application/vnd.efi.iso": { + source: "iana" + }, + "application/vnd.eln+zip": { + source: "iana", + compressible: false + }, + "application/vnd.emclient.accessrequest+xml": { + source: "iana", + compressible: true + }, + "application/vnd.enliven": { + source: "iana", + extensions: ["nml"] + }, + "application/vnd.enphase.envoy": { + source: "iana" + }, + "application/vnd.eprints.data+xml": { + source: "iana", + compressible: true + }, + "application/vnd.epson.esf": { + source: "iana", + extensions: ["esf"] + }, + "application/vnd.epson.msf": { + source: "iana", + extensions: ["msf"] + }, + "application/vnd.epson.quickanime": { + source: "iana", + extensions: ["qam"] + }, + "application/vnd.epson.salt": { + source: "iana", + extensions: ["slt"] + }, + "application/vnd.epson.ssf": { + source: "iana", + extensions: ["ssf"] + }, + "application/vnd.ericsson.quickcall": { + source: "iana" + }, + "application/vnd.erofs": { + source: "iana" + }, + "application/vnd.espass-espass+zip": { + source: "iana", + compressible: false + }, + "application/vnd.eszigno3+xml": { + source: "iana", + compressible: true, + extensions: ["es3", "et3"] + }, + "application/vnd.etsi.aoc+xml": { + source: "iana", + compressible: true + }, + "application/vnd.etsi.asic-e+zip": { + source: "iana", + compressible: false + }, + "application/vnd.etsi.asic-s+zip": { + source: "iana", + compressible: false + }, + "application/vnd.etsi.cug+xml": { + source: "iana", + compressible: true + }, + "application/vnd.etsi.iptvcommand+xml": { + source: "iana", + compressible: true + }, + "application/vnd.etsi.iptvdiscovery+xml": { + source: "iana", + compressible: true + }, + "application/vnd.etsi.iptvprofile+xml": { + source: "iana", + compressible: true + }, + "application/vnd.etsi.iptvsad-bc+xml": { + source: "iana", + compressible: true + }, + "application/vnd.etsi.iptvsad-cod+xml": { + source: "iana", + compressible: true + }, + "application/vnd.etsi.iptvsad-npvr+xml": { + source: "iana", + compressible: true + }, + "application/vnd.etsi.iptvservice+xml": { + source: "iana", + compressible: true + }, + "application/vnd.etsi.iptvsync+xml": { + source: "iana", + compressible: true + }, + "application/vnd.etsi.iptvueprofile+xml": { + source: "iana", + compressible: true + }, + "application/vnd.etsi.mcid+xml": { + source: "iana", + compressible: true + }, + "application/vnd.etsi.mheg5": { + source: "iana" + }, + "application/vnd.etsi.overload-control-policy-dataset+xml": { + source: "iana", + compressible: true + }, + "application/vnd.etsi.pstn+xml": { + source: "iana", + compressible: true + }, + "application/vnd.etsi.sci+xml": { + source: "iana", + compressible: true + }, + "application/vnd.etsi.simservs+xml": { + source: "iana", + compressible: true + }, + "application/vnd.etsi.timestamp-token": { + source: "iana" + }, + "application/vnd.etsi.tsl+xml": { + source: "iana", + compressible: true + }, + "application/vnd.etsi.tsl.der": { + source: "iana" + }, + "application/vnd.eu.kasparian.car+json": { + source: "iana", + compressible: true + }, + "application/vnd.eudora.data": { + source: "iana" + }, + "application/vnd.evolv.ecig.profile": { + source: "iana" + }, + "application/vnd.evolv.ecig.settings": { + source: "iana" + }, + "application/vnd.evolv.ecig.theme": { + source: "iana" + }, + "application/vnd.exstream-empower+zip": { + source: "iana", + compressible: false + }, + "application/vnd.exstream-package": { + source: "iana" + }, + "application/vnd.ezpix-album": { + source: "iana", + extensions: ["ez2"] + }, + "application/vnd.ezpix-package": { + source: "iana", + extensions: ["ez3"] + }, + "application/vnd.f-secure.mobile": { + source: "iana" + }, + "application/vnd.familysearch.gedcom+zip": { + source: "iana", + compressible: false + }, + "application/vnd.fastcopy-disk-image": { + source: "iana" + }, + "application/vnd.fdf": { + source: "apache", + extensions: ["fdf"] + }, + "application/vnd.fdsn.mseed": { + source: "iana", + extensions: ["mseed"] + }, + "application/vnd.fdsn.seed": { + source: "iana", + extensions: ["seed", "dataless"] + }, + "application/vnd.fdsn.stationxml+xml": { + source: "iana", + charset: "XML-BASED", + compressible: true + }, + "application/vnd.ffsns": { + source: "iana" + }, + "application/vnd.ficlab.flb+zip": { + source: "iana", + compressible: false + }, + "application/vnd.filmit.zfc": { + source: "iana" + }, + "application/vnd.fints": { + source: "iana" + }, + "application/vnd.firemonkeys.cloudcell": { + source: "iana" + }, + "application/vnd.flographit": { + source: "iana", + extensions: ["gph"] + }, + "application/vnd.fluxtime.clip": { + source: "iana", + extensions: ["ftc"] + }, + "application/vnd.font-fontforge-sfd": { + source: "iana" + }, + "application/vnd.framemaker": { + source: "iana", + extensions: ["fm", "frame", "maker", "book"] + }, + "application/vnd.freelog.comic": { + source: "iana" + }, + "application/vnd.frogans.fnc": { + source: "apache", + extensions: ["fnc"] + }, + "application/vnd.frogans.ltf": { + source: "apache", + extensions: ["ltf"] + }, + "application/vnd.fsc.weblaunch": { + source: "iana", + extensions: ["fsc"] + }, + "application/vnd.fujifilm.fb.docuworks": { + source: "iana" + }, + "application/vnd.fujifilm.fb.docuworks.binder": { + source: "iana" + }, + "application/vnd.fujifilm.fb.docuworks.container": { + source: "iana" + }, + "application/vnd.fujifilm.fb.jfi+xml": { + source: "iana", + compressible: true + }, + "application/vnd.fujitsu.oasys": { + source: "iana", + extensions: ["oas"] + }, + "application/vnd.fujitsu.oasys2": { + source: "iana", + extensions: ["oa2"] + }, + "application/vnd.fujitsu.oasys3": { + source: "iana", + extensions: ["oa3"] + }, + "application/vnd.fujitsu.oasysgp": { + source: "iana", + extensions: ["fg5"] + }, + "application/vnd.fujitsu.oasysprs": { + source: "iana", + extensions: ["bh2"] + }, + "application/vnd.fujixerox.art-ex": { + source: "iana" + }, + "application/vnd.fujixerox.art4": { + source: "iana" + }, + "application/vnd.fujixerox.ddd": { + source: "iana", + extensions: ["ddd"] + }, + "application/vnd.fujixerox.docuworks": { + source: "iana", + extensions: ["xdw"] + }, + "application/vnd.fujixerox.docuworks.binder": { + source: "iana", + extensions: ["xbd"] + }, + "application/vnd.fujixerox.docuworks.container": { + source: "iana" + }, + "application/vnd.fujixerox.hbpl": { + source: "iana" + }, + "application/vnd.fut-misnet": { + source: "iana" + }, + "application/vnd.futoin+cbor": { + source: "iana" + }, + "application/vnd.futoin+json": { + source: "iana", + compressible: true + }, + "application/vnd.fuzzysheet": { + source: "iana", + extensions: ["fzs"] + }, + "application/vnd.ga4gh.passport+jwt": { + source: "iana" + }, + "application/vnd.genomatix.tuxedo": { + source: "iana", + extensions: ["txd"] + }, + "application/vnd.genozip": { + source: "iana" + }, + "application/vnd.gentics.grd+json": { + source: "iana", + compressible: true + }, + "application/vnd.gentoo.catmetadata+xml": { + source: "iana", + compressible: true + }, + "application/vnd.gentoo.ebuild": { + source: "iana" + }, + "application/vnd.gentoo.eclass": { + source: "iana" + }, + "application/vnd.gentoo.gpkg": { + source: "iana" + }, + "application/vnd.gentoo.manifest": { + source: "iana" + }, + "application/vnd.gentoo.pkgmetadata+xml": { + source: "iana", + compressible: true + }, + "application/vnd.gentoo.xpak": { + source: "iana" + }, + "application/vnd.geo+json": { + source: "apache", + compressible: true + }, + "application/vnd.geocube+xml": { + source: "apache", + compressible: true + }, + "application/vnd.geogebra.file": { + source: "iana", + extensions: ["ggb"] + }, + "application/vnd.geogebra.pinboard": { + source: "iana" + }, + "application/vnd.geogebra.slides": { + source: "iana", + extensions: ["ggs"] + }, + "application/vnd.geogebra.tool": { + source: "iana", + extensions: ["ggt"] + }, + "application/vnd.geometry-explorer": { + source: "iana", + extensions: ["gex", "gre"] + }, + "application/vnd.geonext": { + source: "iana", + extensions: ["gxt"] + }, + "application/vnd.geoplan": { + source: "iana", + extensions: ["g2w"] + }, + "application/vnd.geospace": { + source: "iana", + extensions: ["g3w"] + }, + "application/vnd.gerber": { + source: "iana" + }, + "application/vnd.globalplatform.card-content-mgt": { + source: "iana" + }, + "application/vnd.globalplatform.card-content-mgt-response": { + source: "iana" + }, + "application/vnd.gmx": { + source: "iana", + extensions: ["gmx"] + }, + "application/vnd.gnu.taler.exchange+json": { + source: "iana", + compressible: true + }, + "application/vnd.gnu.taler.merchant+json": { + source: "iana", + compressible: true + }, + "application/vnd.google-apps.audio": {}, + "application/vnd.google-apps.document": { + compressible: false, + extensions: ["gdoc"] + }, + "application/vnd.google-apps.drawing": { + compressible: false, + extensions: ["gdraw"] + }, + "application/vnd.google-apps.drive-sdk": { + compressible: false + }, + "application/vnd.google-apps.file": {}, + "application/vnd.google-apps.folder": { + compressible: false + }, + "application/vnd.google-apps.form": { + compressible: false, + extensions: ["gform"] + }, + "application/vnd.google-apps.fusiontable": {}, + "application/vnd.google-apps.jam": { + compressible: false, + extensions: ["gjam"] + }, + "application/vnd.google-apps.mail-layout": {}, + "application/vnd.google-apps.map": { + compressible: false, + extensions: ["gmap"] + }, + "application/vnd.google-apps.photo": {}, + "application/vnd.google-apps.presentation": { + compressible: false, + extensions: ["gslides"] + }, + "application/vnd.google-apps.script": { + compressible: false, + extensions: ["gscript"] + }, + "application/vnd.google-apps.shortcut": {}, + "application/vnd.google-apps.site": { + compressible: false, + extensions: ["gsite"] + }, + "application/vnd.google-apps.spreadsheet": { + compressible: false, + extensions: ["gsheet"] + }, + "application/vnd.google-apps.unknown": {}, + "application/vnd.google-apps.video": {}, + "application/vnd.google-earth.kml+xml": { + source: "iana", + compressible: true, + extensions: ["kml"] + }, + "application/vnd.google-earth.kmz": { + source: "iana", + compressible: false, + extensions: ["kmz"] + }, + "application/vnd.gov.sk.e-form+xml": { + source: "apache", + compressible: true + }, + "application/vnd.gov.sk.e-form+zip": { + source: "iana", + compressible: false + }, + "application/vnd.gov.sk.xmldatacontainer+xml": { + source: "iana", + compressible: true, + extensions: ["xdcf"] + }, + "application/vnd.gpxsee.map+xml": { + source: "iana", + compressible: true + }, + "application/vnd.grafeq": { + source: "iana", + extensions: ["gqf", "gqs"] + }, + "application/vnd.gridmp": { + source: "iana" + }, + "application/vnd.groove-account": { + source: "iana", + extensions: ["gac"] + }, + "application/vnd.groove-help": { + source: "iana", + extensions: ["ghf"] + }, + "application/vnd.groove-identity-message": { + source: "iana", + extensions: ["gim"] + }, + "application/vnd.groove-injector": { + source: "iana", + extensions: ["grv"] + }, + "application/vnd.groove-tool-message": { + source: "iana", + extensions: ["gtm"] + }, + "application/vnd.groove-tool-template": { + source: "iana", + extensions: ["tpl"] + }, + "application/vnd.groove-vcard": { + source: "iana", + extensions: ["vcg"] + }, + "application/vnd.hal+json": { + source: "iana", + compressible: true + }, + "application/vnd.hal+xml": { + source: "iana", + compressible: true, + extensions: ["hal"] + }, + "application/vnd.handheld-entertainment+xml": { + source: "iana", + compressible: true, + extensions: ["zmm"] + }, + "application/vnd.hbci": { + source: "iana", + extensions: ["hbci"] + }, + "application/vnd.hc+json": { + source: "iana", + compressible: true + }, + "application/vnd.hcl-bireports": { + source: "iana" + }, + "application/vnd.hdt": { + source: "iana" + }, + "application/vnd.heroku+json": { + source: "iana", + compressible: true + }, + "application/vnd.hhe.lesson-player": { + source: "iana", + extensions: ["les"] + }, + "application/vnd.hp-hpgl": { + source: "iana", + extensions: ["hpgl"] + }, + "application/vnd.hp-hpid": { + source: "iana", + extensions: ["hpid"] + }, + "application/vnd.hp-hps": { + source: "iana", + extensions: ["hps"] + }, + "application/vnd.hp-jlyt": { + source: "iana", + extensions: ["jlt"] + }, + "application/vnd.hp-pcl": { + source: "iana", + extensions: ["pcl"] + }, + "application/vnd.hp-pclxl": { + source: "iana", + extensions: ["pclxl"] + }, + "application/vnd.hsl": { + source: "iana" + }, + "application/vnd.httphone": { + source: "iana" + }, + "application/vnd.hydrostatix.sof-data": { + source: "iana", + extensions: ["sfd-hdstx"] + }, + "application/vnd.hyper+json": { + source: "iana", + compressible: true + }, + "application/vnd.hyper-item+json": { + source: "iana", + compressible: true + }, + "application/vnd.hyperdrive+json": { + source: "iana", + compressible: true + }, + "application/vnd.hzn-3d-crossword": { + source: "iana" + }, + "application/vnd.ibm.afplinedata": { + source: "apache" + }, + "application/vnd.ibm.electronic-media": { + source: "iana" + }, + "application/vnd.ibm.minipay": { + source: "iana", + extensions: ["mpy"] + }, + "application/vnd.ibm.modcap": { + source: "apache", + extensions: ["afp", "listafp", "list3820"] + }, + "application/vnd.ibm.rights-management": { + source: "iana", + extensions: ["irm"] + }, + "application/vnd.ibm.secure-container": { + source: "iana", + extensions: ["sc"] + }, + "application/vnd.iccprofile": { + source: "iana", + extensions: ["icc", "icm"] + }, + "application/vnd.ieee.1905": { + source: "iana" + }, + "application/vnd.igloader": { + source: "iana", + extensions: ["igl"] + }, + "application/vnd.imagemeter.folder+zip": { + source: "iana", + compressible: false + }, + "application/vnd.imagemeter.image+zip": { + source: "iana", + compressible: false + }, + "application/vnd.immervision-ivp": { + source: "iana", + extensions: ["ivp"] + }, + "application/vnd.immervision-ivu": { + source: "iana", + extensions: ["ivu"] + }, + "application/vnd.ims.imsccv1p1": { + source: "iana" + }, + "application/vnd.ims.imsccv1p2": { + source: "iana" + }, + "application/vnd.ims.imsccv1p3": { + source: "iana" + }, + "application/vnd.ims.lis.v2.result+json": { + source: "iana", + compressible: true + }, + "application/vnd.ims.lti.v2.toolconsumerprofile+json": { + source: "iana", + compressible: true + }, + "application/vnd.ims.lti.v2.toolproxy+json": { + source: "iana", + compressible: true + }, + "application/vnd.ims.lti.v2.toolproxy.id+json": { + source: "iana", + compressible: true + }, + "application/vnd.ims.lti.v2.toolsettings+json": { + source: "iana", + compressible: true + }, + "application/vnd.ims.lti.v2.toolsettings.simple+json": { + source: "iana", + compressible: true + }, + "application/vnd.informedcontrol.rms+xml": { + source: "iana", + compressible: true + }, + "application/vnd.informix-visionary": { + source: "apache" + }, + "application/vnd.infotech.project": { + source: "iana" + }, + "application/vnd.infotech.project+xml": { + source: "iana", + compressible: true + }, + "application/vnd.innopath.wamp.notification": { + source: "iana" + }, + "application/vnd.insors.igm": { + source: "iana", + extensions: ["igm"] + }, + "application/vnd.intercon.formnet": { + source: "iana", + extensions: ["xpw", "xpx"] + }, + "application/vnd.intergeo": { + source: "iana", + extensions: ["i2g"] + }, + "application/vnd.intertrust.digibox": { + source: "iana" + }, + "application/vnd.intertrust.nncp": { + source: "iana" + }, + "application/vnd.intu.qbo": { + source: "iana", + extensions: ["qbo"] + }, + "application/vnd.intu.qfx": { + source: "iana", + extensions: ["qfx"] + }, + "application/vnd.ipfs.ipns-record": { + source: "iana" + }, + "application/vnd.ipld.car": { + source: "iana" + }, + "application/vnd.ipld.dag-cbor": { + source: "iana" + }, + "application/vnd.ipld.dag-json": { + source: "iana" + }, + "application/vnd.ipld.raw": { + source: "iana" + }, + "application/vnd.iptc.g2.catalogitem+xml": { + source: "iana", + compressible: true + }, + "application/vnd.iptc.g2.conceptitem+xml": { + source: "iana", + compressible: true + }, + "application/vnd.iptc.g2.knowledgeitem+xml": { + source: "iana", + compressible: true + }, + "application/vnd.iptc.g2.newsitem+xml": { + source: "iana", + compressible: true + }, + "application/vnd.iptc.g2.newsmessage+xml": { + source: "iana", + compressible: true + }, + "application/vnd.iptc.g2.packageitem+xml": { + source: "iana", + compressible: true + }, + "application/vnd.iptc.g2.planningitem+xml": { + source: "iana", + compressible: true + }, + "application/vnd.ipunplugged.rcprofile": { + source: "iana", + extensions: ["rcprofile"] + }, + "application/vnd.irepository.package+xml": { + source: "iana", + compressible: true, + extensions: ["irp"] + }, + "application/vnd.is-xpr": { + source: "iana", + extensions: ["xpr"] + }, + "application/vnd.isac.fcs": { + source: "iana", + extensions: ["fcs"] + }, + "application/vnd.iso11783-10+zip": { + source: "iana", + compressible: false + }, + "application/vnd.jam": { + source: "iana", + extensions: ["jam"] + }, + "application/vnd.japannet-directory-service": { + source: "iana" + }, + "application/vnd.japannet-jpnstore-wakeup": { + source: "iana" + }, + "application/vnd.japannet-payment-wakeup": { + source: "iana" + }, + "application/vnd.japannet-registration": { + source: "iana" + }, + "application/vnd.japannet-registration-wakeup": { + source: "iana" + }, + "application/vnd.japannet-setstore-wakeup": { + source: "iana" + }, + "application/vnd.japannet-verification": { + source: "iana" + }, + "application/vnd.japannet-verification-wakeup": { + source: "iana" + }, + "application/vnd.jcp.javame.midlet-rms": { + source: "iana", + extensions: ["rms"] + }, + "application/vnd.jisp": { + source: "iana", + extensions: ["jisp"] + }, + "application/vnd.joost.joda-archive": { + source: "iana", + extensions: ["joda"] + }, + "application/vnd.jsk.isdn-ngn": { + source: "iana" + }, + "application/vnd.kahootz": { + source: "iana", + extensions: ["ktz", "ktr"] + }, + "application/vnd.kde.karbon": { + source: "iana", + extensions: ["karbon"] + }, + "application/vnd.kde.kchart": { + source: "iana", + extensions: ["chrt"] + }, + "application/vnd.kde.kformula": { + source: "iana", + extensions: ["kfo"] + }, + "application/vnd.kde.kivio": { + source: "iana", + extensions: ["flw"] + }, + "application/vnd.kde.kontour": { + source: "iana", + extensions: ["kon"] + }, + "application/vnd.kde.kpresenter": { + source: "iana", + extensions: ["kpr", "kpt"] + }, + "application/vnd.kde.kspread": { + source: "iana", + extensions: ["ksp"] + }, + "application/vnd.kde.kword": { + source: "iana", + extensions: ["kwd", "kwt"] + }, + "application/vnd.kdl": { + source: "iana" + }, + "application/vnd.kenameaapp": { + source: "iana", + extensions: ["htke"] + }, + "application/vnd.keyman.kmp+zip": { + source: "iana", + compressible: false + }, + "application/vnd.keyman.kmx": { + source: "iana" + }, + "application/vnd.kidspiration": { + source: "iana", + extensions: ["kia"] + }, + "application/vnd.kinar": { + source: "iana", + extensions: ["kne", "knp"] + }, + "application/vnd.koan": { + source: "iana", + extensions: ["skp", "skd", "skt", "skm"] + }, + "application/vnd.kodak-descriptor": { + source: "iana", + extensions: ["sse"] + }, + "application/vnd.las": { + source: "iana" + }, + "application/vnd.las.las+json": { + source: "iana", + compressible: true + }, + "application/vnd.las.las+xml": { + source: "iana", + compressible: true, + extensions: ["lasxml"] + }, + "application/vnd.laszip": { + source: "iana" + }, + "application/vnd.ldev.productlicensing": { + source: "iana" + }, + "application/vnd.leap+json": { + source: "iana", + compressible: true + }, + "application/vnd.liberty-request+xml": { + source: "iana", + compressible: true + }, + "application/vnd.llamagraphics.life-balance.desktop": { + source: "iana", + extensions: ["lbd"] + }, + "application/vnd.llamagraphics.life-balance.exchange+xml": { + source: "iana", + compressible: true, + extensions: ["lbe"] + }, + "application/vnd.logipipe.circuit+zip": { + source: "iana", + compressible: false + }, + "application/vnd.loom": { + source: "iana" + }, + "application/vnd.lotus-1-2-3": { + source: "iana", + extensions: ["123"] + }, + "application/vnd.lotus-approach": { + source: "iana", + extensions: ["apr"] + }, + "application/vnd.lotus-freelance": { + source: "iana", + extensions: ["pre"] + }, + "application/vnd.lotus-notes": { + source: "iana", + extensions: ["nsf"] + }, + "application/vnd.lotus-organizer": { + source: "iana", + extensions: ["org"] + }, + "application/vnd.lotus-screencam": { + source: "iana", + extensions: ["scm"] + }, + "application/vnd.lotus-wordpro": { + source: "iana", + extensions: ["lwp"] + }, + "application/vnd.macports.portpkg": { + source: "iana", + extensions: ["portpkg"] + }, + "application/vnd.mapbox-vector-tile": { + source: "iana", + extensions: ["mvt"] + }, + "application/vnd.marlin.drm.actiontoken+xml": { + source: "iana", + compressible: true + }, + "application/vnd.marlin.drm.conftoken+xml": { + source: "iana", + compressible: true + }, + "application/vnd.marlin.drm.license+xml": { + source: "iana", + compressible: true + }, + "application/vnd.marlin.drm.mdcf": { + source: "iana" + }, + "application/vnd.mason+json": { + source: "iana", + compressible: true + }, + "application/vnd.maxar.archive.3tz+zip": { + source: "iana", + compressible: false + }, + "application/vnd.maxmind.maxmind-db": { + source: "iana" + }, + "application/vnd.mcd": { + source: "iana", + extensions: ["mcd"] + }, + "application/vnd.mdl": { + source: "iana" + }, + "application/vnd.mdl-mbsdf": { + source: "iana" + }, + "application/vnd.medcalcdata": { + source: "iana", + extensions: ["mc1"] + }, + "application/vnd.mediastation.cdkey": { + source: "iana", + extensions: ["cdkey"] + }, + "application/vnd.medicalholodeck.recordxr": { + source: "iana" + }, + "application/vnd.meridian-slingshot": { + source: "iana" + }, + "application/vnd.mermaid": { + source: "iana" + }, + "application/vnd.mfer": { + source: "iana", + extensions: ["mwf"] + }, + "application/vnd.mfmp": { + source: "iana", + extensions: ["mfm"] + }, + "application/vnd.micro+json": { + source: "iana", + compressible: true + }, + "application/vnd.micrografx.flo": { + source: "iana", + extensions: ["flo"] + }, + "application/vnd.micrografx.igx": { + source: "iana", + extensions: ["igx"] + }, + "application/vnd.microsoft.portable-executable": { + source: "iana" + }, + "application/vnd.microsoft.windows.thumbnail-cache": { + source: "iana" + }, + "application/vnd.miele+json": { + source: "iana", + compressible: true + }, + "application/vnd.mif": { + source: "iana", + extensions: ["mif"] + }, + "application/vnd.minisoft-hp3000-save": { + source: "iana" + }, + "application/vnd.mitsubishi.misty-guard.trustweb": { + source: "iana" + }, + "application/vnd.mobius.daf": { + source: "iana", + extensions: ["daf"] + }, + "application/vnd.mobius.dis": { + source: "iana", + extensions: ["dis"] + }, + "application/vnd.mobius.mbk": { + source: "iana", + extensions: ["mbk"] + }, + "application/vnd.mobius.mqy": { + source: "iana", + extensions: ["mqy"] + }, + "application/vnd.mobius.msl": { + source: "iana", + extensions: ["msl"] + }, + "application/vnd.mobius.plc": { + source: "iana", + extensions: ["plc"] + }, + "application/vnd.mobius.txf": { + source: "iana", + extensions: ["txf"] + }, + "application/vnd.modl": { + source: "iana" + }, + "application/vnd.mophun.application": { + source: "iana", + extensions: ["mpn"] + }, + "application/vnd.mophun.certificate": { + source: "iana", + extensions: ["mpc"] + }, + "application/vnd.motorola.flexsuite": { + source: "iana" + }, + "application/vnd.motorola.flexsuite.adsi": { + source: "iana" + }, + "application/vnd.motorola.flexsuite.fis": { + source: "iana" + }, + "application/vnd.motorola.flexsuite.gotap": { + source: "iana" + }, + "application/vnd.motorola.flexsuite.kmr": { + source: "iana" + }, + "application/vnd.motorola.flexsuite.ttc": { + source: "iana" + }, + "application/vnd.motorola.flexsuite.wem": { + source: "iana" + }, + "application/vnd.motorola.iprm": { + source: "iana" + }, + "application/vnd.mozilla.xul+xml": { + source: "iana", + compressible: true, + extensions: ["xul"] + }, + "application/vnd.ms-3mfdocument": { + source: "iana" + }, + "application/vnd.ms-artgalry": { + source: "iana", + extensions: ["cil"] + }, + "application/vnd.ms-asf": { + source: "iana" + }, + "application/vnd.ms-cab-compressed": { + source: "iana", + extensions: ["cab"] + }, + "application/vnd.ms-color.iccprofile": { + source: "apache" + }, + "application/vnd.ms-excel": { + source: "iana", + compressible: false, + extensions: ["xls", "xlm", "xla", "xlc", "xlt", "xlw"] + }, + "application/vnd.ms-excel.addin.macroenabled.12": { + source: "iana", + extensions: ["xlam"] + }, + "application/vnd.ms-excel.sheet.binary.macroenabled.12": { + source: "iana", + extensions: ["xlsb"] + }, + "application/vnd.ms-excel.sheet.macroenabled.12": { + source: "iana", + extensions: ["xlsm"] + }, + "application/vnd.ms-excel.template.macroenabled.12": { + source: "iana", + extensions: ["xltm"] + }, + "application/vnd.ms-fontobject": { + source: "iana", + compressible: true, + extensions: ["eot"] + }, + "application/vnd.ms-htmlhelp": { + source: "iana", + extensions: ["chm"] + }, + "application/vnd.ms-ims": { + source: "iana", + extensions: ["ims"] + }, + "application/vnd.ms-lrm": { + source: "iana", + extensions: ["lrm"] + }, + "application/vnd.ms-office.activex+xml": { + source: "iana", + compressible: true + }, + "application/vnd.ms-officetheme": { + source: "iana", + extensions: ["thmx"] + }, + "application/vnd.ms-opentype": { + source: "apache", + compressible: true + }, + "application/vnd.ms-outlook": { + compressible: false, + extensions: ["msg"] + }, + "application/vnd.ms-package.obfuscated-opentype": { + source: "apache" + }, + "application/vnd.ms-pki.seccat": { + source: "apache", + extensions: ["cat"] + }, + "application/vnd.ms-pki.stl": { + source: "apache", + extensions: ["stl"] + }, + "application/vnd.ms-playready.initiator+xml": { + source: "iana", + compressible: true + }, + "application/vnd.ms-powerpoint": { + source: "iana", + compressible: false, + extensions: ["ppt", "pps", "pot"] + }, + "application/vnd.ms-powerpoint.addin.macroenabled.12": { + source: "iana", + extensions: ["ppam"] + }, + "application/vnd.ms-powerpoint.presentation.macroenabled.12": { + source: "iana", + extensions: ["pptm"] + }, + "application/vnd.ms-powerpoint.slide.macroenabled.12": { + source: "iana", + extensions: ["sldm"] + }, + "application/vnd.ms-powerpoint.slideshow.macroenabled.12": { + source: "iana", + extensions: ["ppsm"] + }, + "application/vnd.ms-powerpoint.template.macroenabled.12": { + source: "iana", + extensions: ["potm"] + }, + "application/vnd.ms-printdevicecapabilities+xml": { + source: "iana", + compressible: true + }, + "application/vnd.ms-printing.printticket+xml": { + source: "apache", + compressible: true + }, + "application/vnd.ms-printschematicket+xml": { + source: "iana", + compressible: true + }, + "application/vnd.ms-project": { + source: "iana", + extensions: ["mpp", "mpt"] + }, + "application/vnd.ms-tnef": { + source: "iana" + }, + "application/vnd.ms-visio.viewer": { + extensions: ["vdx"] + }, + "application/vnd.ms-windows.devicepairing": { + source: "iana" + }, + "application/vnd.ms-windows.nwprinting.oob": { + source: "iana" + }, + "application/vnd.ms-windows.printerpairing": { + source: "iana" + }, + "application/vnd.ms-windows.wsd.oob": { + source: "iana" + }, + "application/vnd.ms-wmdrm.lic-chlg-req": { + source: "iana" + }, + "application/vnd.ms-wmdrm.lic-resp": { + source: "iana" + }, + "application/vnd.ms-wmdrm.meter-chlg-req": { + source: "iana" + }, + "application/vnd.ms-wmdrm.meter-resp": { + source: "iana" + }, + "application/vnd.ms-word.document.macroenabled.12": { + source: "iana", + extensions: ["docm"] + }, + "application/vnd.ms-word.template.macroenabled.12": { + source: "iana", + extensions: ["dotm"] + }, + "application/vnd.ms-works": { + source: "iana", + extensions: ["wps", "wks", "wcm", "wdb"] + }, + "application/vnd.ms-wpl": { + source: "iana", + extensions: ["wpl"] + }, + "application/vnd.ms-xpsdocument": { + source: "iana", + compressible: false, + extensions: ["xps"] + }, + "application/vnd.msa-disk-image": { + source: "iana" + }, + "application/vnd.mseq": { + source: "iana", + extensions: ["mseq"] + }, + "application/vnd.msgpack": { + source: "iana" + }, + "application/vnd.msign": { + source: "iana" + }, + "application/vnd.multiad.creator": { + source: "iana" + }, + "application/vnd.multiad.creator.cif": { + source: "iana" + }, + "application/vnd.music-niff": { + source: "iana" + }, + "application/vnd.musician": { + source: "iana", + extensions: ["mus"] + }, + "application/vnd.muvee.style": { + source: "iana", + extensions: ["msty"] + }, + "application/vnd.mynfc": { + source: "iana", + extensions: ["taglet"] + }, + "application/vnd.nacamar.ybrid+json": { + source: "iana", + compressible: true + }, + "application/vnd.nato.bindingdataobject+cbor": { + source: "iana" + }, + "application/vnd.nato.bindingdataobject+json": { + source: "iana", + compressible: true + }, + "application/vnd.nato.bindingdataobject+xml": { + source: "iana", + compressible: true, + extensions: ["bdo"] + }, + "application/vnd.nato.openxmlformats-package.iepd+zip": { + source: "iana", + compressible: false + }, + "application/vnd.ncd.control": { + source: "iana" + }, + "application/vnd.ncd.reference": { + source: "iana" + }, + "application/vnd.nearst.inv+json": { + source: "iana", + compressible: true + }, + "application/vnd.nebumind.line": { + source: "iana" + }, + "application/vnd.nervana": { + source: "iana" + }, + "application/vnd.netfpx": { + source: "iana" + }, + "application/vnd.neurolanguage.nlu": { + source: "iana", + extensions: ["nlu"] + }, + "application/vnd.nimn": { + source: "iana" + }, + "application/vnd.nintendo.nitro.rom": { + source: "iana" + }, + "application/vnd.nintendo.snes.rom": { + source: "iana" + }, + "application/vnd.nitf": { + source: "iana", + extensions: ["ntf", "nitf"] + }, + "application/vnd.noblenet-directory": { + source: "iana", + extensions: ["nnd"] + }, + "application/vnd.noblenet-sealer": { + source: "iana", + extensions: ["nns"] + }, + "application/vnd.noblenet-web": { + source: "iana", + extensions: ["nnw"] + }, + "application/vnd.nokia.catalogs": { + source: "iana" + }, + "application/vnd.nokia.conml+wbxml": { + source: "iana" + }, + "application/vnd.nokia.conml+xml": { + source: "iana", + compressible: true + }, + "application/vnd.nokia.iptv.config+xml": { + source: "iana", + compressible: true + }, + "application/vnd.nokia.isds-radio-presets": { + source: "iana" + }, + "application/vnd.nokia.landmark+wbxml": { + source: "iana" + }, + "application/vnd.nokia.landmark+xml": { + source: "iana", + compressible: true + }, + "application/vnd.nokia.landmarkcollection+xml": { + source: "iana", + compressible: true + }, + "application/vnd.nokia.n-gage.ac+xml": { + source: "iana", + compressible: true, + extensions: ["ac"] + }, + "application/vnd.nokia.n-gage.data": { + source: "iana", + extensions: ["ngdat"] + }, + "application/vnd.nokia.n-gage.symbian.install": { + source: "apache", + extensions: ["n-gage"] + }, + "application/vnd.nokia.ncd": { + source: "iana" + }, + "application/vnd.nokia.pcd+wbxml": { + source: "iana" + }, + "application/vnd.nokia.pcd+xml": { + source: "iana", + compressible: true + }, + "application/vnd.nokia.radio-preset": { + source: "iana", + extensions: ["rpst"] + }, + "application/vnd.nokia.radio-presets": { + source: "iana", + extensions: ["rpss"] + }, + "application/vnd.novadigm.edm": { + source: "iana", + extensions: ["edm"] + }, + "application/vnd.novadigm.edx": { + source: "iana", + extensions: ["edx"] + }, + "application/vnd.novadigm.ext": { + source: "iana", + extensions: ["ext"] + }, + "application/vnd.ntt-local.content-share": { + source: "iana" + }, + "application/vnd.ntt-local.file-transfer": { + source: "iana" + }, + "application/vnd.ntt-local.ogw_remote-access": { + source: "iana" + }, + "application/vnd.ntt-local.sip-ta_remote": { + source: "iana" + }, + "application/vnd.ntt-local.sip-ta_tcp_stream": { + source: "iana" + }, + "application/vnd.oai.workflows": { + source: "iana" + }, + "application/vnd.oai.workflows+json": { + source: "iana", + compressible: true + }, + "application/vnd.oai.workflows+yaml": { + source: "iana" + }, + "application/vnd.oasis.opendocument.base": { + source: "iana" + }, + "application/vnd.oasis.opendocument.chart": { + source: "iana", + extensions: ["odc"] + }, + "application/vnd.oasis.opendocument.chart-template": { + source: "iana", + extensions: ["otc"] + }, + "application/vnd.oasis.opendocument.database": { + source: "apache", + extensions: ["odb"] + }, + "application/vnd.oasis.opendocument.formula": { + source: "iana", + extensions: ["odf"] + }, + "application/vnd.oasis.opendocument.formula-template": { + source: "iana", + extensions: ["odft"] + }, + "application/vnd.oasis.opendocument.graphics": { + source: "iana", + compressible: false, + extensions: ["odg"] + }, + "application/vnd.oasis.opendocument.graphics-template": { + source: "iana", + extensions: ["otg"] + }, + "application/vnd.oasis.opendocument.image": { + source: "iana", + extensions: ["odi"] + }, + "application/vnd.oasis.opendocument.image-template": { + source: "iana", + extensions: ["oti"] + }, + "application/vnd.oasis.opendocument.presentation": { + source: "iana", + compressible: false, + extensions: ["odp"] + }, + "application/vnd.oasis.opendocument.presentation-template": { + source: "iana", + extensions: ["otp"] + }, + "application/vnd.oasis.opendocument.spreadsheet": { + source: "iana", + compressible: false, + extensions: ["ods"] + }, + "application/vnd.oasis.opendocument.spreadsheet-template": { + source: "iana", + extensions: ["ots"] + }, + "application/vnd.oasis.opendocument.text": { + source: "iana", + compressible: false, + extensions: ["odt"] + }, + "application/vnd.oasis.opendocument.text-master": { + source: "iana", + extensions: ["odm"] + }, + "application/vnd.oasis.opendocument.text-master-template": { + source: "iana" + }, + "application/vnd.oasis.opendocument.text-template": { + source: "iana", + extensions: ["ott"] + }, + "application/vnd.oasis.opendocument.text-web": { + source: "iana", + extensions: ["oth"] + }, + "application/vnd.obn": { + source: "iana" + }, + "application/vnd.ocf+cbor": { + source: "iana" + }, + "application/vnd.oci.image.manifest.v1+json": { + source: "iana", + compressible: true + }, + "application/vnd.oftn.l10n+json": { + source: "iana", + compressible: true + }, + "application/vnd.oipf.contentaccessdownload+xml": { + source: "iana", + compressible: true + }, + "application/vnd.oipf.contentaccessstreaming+xml": { + source: "iana", + compressible: true + }, + "application/vnd.oipf.cspg-hexbinary": { + source: "iana" + }, + "application/vnd.oipf.dae.svg+xml": { + source: "iana", + compressible: true + }, + "application/vnd.oipf.dae.xhtml+xml": { + source: "iana", + compressible: true + }, + "application/vnd.oipf.mippvcontrolmessage+xml": { + source: "iana", + compressible: true + }, + "application/vnd.oipf.pae.gem": { + source: "iana" + }, + "application/vnd.oipf.spdiscovery+xml": { + source: "iana", + compressible: true + }, + "application/vnd.oipf.spdlist+xml": { + source: "iana", + compressible: true + }, + "application/vnd.oipf.ueprofile+xml": { + source: "iana", + compressible: true + }, + "application/vnd.oipf.userprofile+xml": { + source: "iana", + compressible: true + }, + "application/vnd.olpc-sugar": { + source: "iana", + extensions: ["xo"] + }, + "application/vnd.oma-scws-config": { + source: "iana" + }, + "application/vnd.oma-scws-http-request": { + source: "iana" + }, + "application/vnd.oma-scws-http-response": { + source: "iana" + }, + "application/vnd.oma.bcast.associated-procedure-parameter+xml": { + source: "iana", + compressible: true + }, + "application/vnd.oma.bcast.drm-trigger+xml": { + source: "apache", + compressible: true + }, + "application/vnd.oma.bcast.imd+xml": { + source: "iana", + compressible: true + }, + "application/vnd.oma.bcast.ltkm": { + source: "iana" + }, + "application/vnd.oma.bcast.notification+xml": { + source: "iana", + compressible: true + }, + "application/vnd.oma.bcast.provisioningtrigger": { + source: "iana" + }, + "application/vnd.oma.bcast.sgboot": { + source: "iana" + }, + "application/vnd.oma.bcast.sgdd+xml": { + source: "iana", + compressible: true + }, + "application/vnd.oma.bcast.sgdu": { + source: "iana" + }, + "application/vnd.oma.bcast.simple-symbol-container": { + source: "iana" + }, + "application/vnd.oma.bcast.smartcard-trigger+xml": { + source: "apache", + compressible: true + }, + "application/vnd.oma.bcast.sprov+xml": { + source: "iana", + compressible: true + }, + "application/vnd.oma.bcast.stkm": { + source: "iana" + }, + "application/vnd.oma.cab-address-book+xml": { + source: "iana", + compressible: true + }, + "application/vnd.oma.cab-feature-handler+xml": { + source: "iana", + compressible: true + }, + "application/vnd.oma.cab-pcc+xml": { + source: "iana", + compressible: true + }, + "application/vnd.oma.cab-subs-invite+xml": { + source: "iana", + compressible: true + }, + "application/vnd.oma.cab-user-prefs+xml": { + source: "iana", + compressible: true + }, + "application/vnd.oma.dcd": { + source: "iana" + }, + "application/vnd.oma.dcdc": { + source: "iana" + }, + "application/vnd.oma.dd2+xml": { + source: "iana", + compressible: true, + extensions: ["dd2"] + }, + "application/vnd.oma.drm.risd+xml": { + source: "iana", + compressible: true + }, + "application/vnd.oma.group-usage-list+xml": { + source: "iana", + compressible: true + }, + "application/vnd.oma.lwm2m+cbor": { + source: "iana" + }, + "application/vnd.oma.lwm2m+json": { + source: "iana", + compressible: true + }, + "application/vnd.oma.lwm2m+tlv": { + source: "iana" + }, + "application/vnd.oma.pal+xml": { + source: "iana", + compressible: true + }, + "application/vnd.oma.poc.detailed-progress-report+xml": { + source: "iana", + compressible: true + }, + "application/vnd.oma.poc.final-report+xml": { + source: "iana", + compressible: true + }, + "application/vnd.oma.poc.groups+xml": { + source: "iana", + compressible: true + }, + "application/vnd.oma.poc.invocation-descriptor+xml": { + source: "iana", + compressible: true + }, + "application/vnd.oma.poc.optimized-progress-report+xml": { + source: "iana", + compressible: true + }, + "application/vnd.oma.push": { + source: "iana" + }, + "application/vnd.oma.scidm.messages+xml": { + source: "iana", + compressible: true + }, + "application/vnd.oma.xcap-directory+xml": { + source: "iana", + compressible: true + }, + "application/vnd.omads-email+xml": { + source: "iana", + charset: "UTF-8", + compressible: true + }, + "application/vnd.omads-file+xml": { + source: "iana", + charset: "UTF-8", + compressible: true + }, + "application/vnd.omads-folder+xml": { + source: "iana", + charset: "UTF-8", + compressible: true + }, + "application/vnd.omaloc-supl-init": { + source: "iana" + }, + "application/vnd.onepager": { + source: "iana" + }, + "application/vnd.onepagertamp": { + source: "iana" + }, + "application/vnd.onepagertamx": { + source: "iana" + }, + "application/vnd.onepagertat": { + source: "iana" + }, + "application/vnd.onepagertatp": { + source: "iana" + }, + "application/vnd.onepagertatx": { + source: "iana" + }, + "application/vnd.onvif.metadata": { + source: "iana" + }, + "application/vnd.openblox.game+xml": { + source: "iana", + compressible: true, + extensions: ["obgx"] + }, + "application/vnd.openblox.game-binary": { + source: "iana" + }, + "application/vnd.openeye.oeb": { + source: "iana" + }, + "application/vnd.openofficeorg.extension": { + source: "apache", + extensions: ["oxt"] + }, + "application/vnd.openstreetmap.data+xml": { + source: "iana", + compressible: true, + extensions: ["osm"] + }, + "application/vnd.opentimestamps.ots": { + source: "iana" + }, + "application/vnd.openvpi.dspx+json": { + source: "iana", + compressible: true + }, + "application/vnd.openxmlformats-officedocument.custom-properties+xml": { + source: "iana", + compressible: true + }, + "application/vnd.openxmlformats-officedocument.customxmlproperties+xml": { + source: "iana", + compressible: true + }, + "application/vnd.openxmlformats-officedocument.drawing+xml": { + source: "iana", + compressible: true + }, + "application/vnd.openxmlformats-officedocument.drawingml.chart+xml": { + source: "iana", + compressible: true + }, + "application/vnd.openxmlformats-officedocument.drawingml.chartshapes+xml": { + source: "iana", + compressible: true + }, + "application/vnd.openxmlformats-officedocument.drawingml.diagramcolors+xml": { + source: "iana", + compressible: true + }, + "application/vnd.openxmlformats-officedocument.drawingml.diagramdata+xml": { + source: "iana", + compressible: true + }, + "application/vnd.openxmlformats-officedocument.drawingml.diagramlayout+xml": { + source: "iana", + compressible: true + }, + "application/vnd.openxmlformats-officedocument.drawingml.diagramstyle+xml": { + source: "iana", + compressible: true + }, + "application/vnd.openxmlformats-officedocument.extended-properties+xml": { + source: "iana", + compressible: true + }, + "application/vnd.openxmlformats-officedocument.presentationml.commentauthors+xml": { + source: "iana", + compressible: true + }, + "application/vnd.openxmlformats-officedocument.presentationml.comments+xml": { + source: "iana", + compressible: true + }, + "application/vnd.openxmlformats-officedocument.presentationml.handoutmaster+xml": { + source: "iana", + compressible: true + }, + "application/vnd.openxmlformats-officedocument.presentationml.notesmaster+xml": { + source: "iana", + compressible: true + }, + "application/vnd.openxmlformats-officedocument.presentationml.notesslide+xml": { + source: "iana", + compressible: true + }, + "application/vnd.openxmlformats-officedocument.presentationml.presentation": { + source: "iana", + compressible: false, + extensions: ["pptx"] + }, + "application/vnd.openxmlformats-officedocument.presentationml.presentation.main+xml": { + source: "iana", + compressible: true + }, + "application/vnd.openxmlformats-officedocument.presentationml.presprops+xml": { + source: "iana", + compressible: true + }, + "application/vnd.openxmlformats-officedocument.presentationml.slide": { + source: "iana", + extensions: ["sldx"] + }, + "application/vnd.openxmlformats-officedocument.presentationml.slide+xml": { + source: "iana", + compressible: true + }, + "application/vnd.openxmlformats-officedocument.presentationml.slidelayout+xml": { + source: "iana", + compressible: true + }, + "application/vnd.openxmlformats-officedocument.presentationml.slidemaster+xml": { + source: "iana", + compressible: true + }, + "application/vnd.openxmlformats-officedocument.presentationml.slideshow": { + source: "iana", + extensions: ["ppsx"] + }, + "application/vnd.openxmlformats-officedocument.presentationml.slideshow.main+xml": { + source: "iana", + compressible: true + }, + "application/vnd.openxmlformats-officedocument.presentationml.slideupdateinfo+xml": { + source: "iana", + compressible: true + }, + "application/vnd.openxmlformats-officedocument.presentationml.tablestyles+xml": { + source: "iana", + compressible: true + }, + "application/vnd.openxmlformats-officedocument.presentationml.tags+xml": { + source: "iana", + compressible: true + }, + "application/vnd.openxmlformats-officedocument.presentationml.template": { + source: "iana", + extensions: ["potx"] + }, + "application/vnd.openxmlformats-officedocument.presentationml.template.main+xml": { + source: "iana", + compressible: true + }, + "application/vnd.openxmlformats-officedocument.presentationml.viewprops+xml": { + source: "iana", + compressible: true + }, + "application/vnd.openxmlformats-officedocument.spreadsheetml.calcchain+xml": { + source: "iana", + compressible: true + }, + "application/vnd.openxmlformats-officedocument.spreadsheetml.chartsheet+xml": { + source: "iana", + compressible: true + }, + "application/vnd.openxmlformats-officedocument.spreadsheetml.comments+xml": { + source: "iana", + compressible: true + }, + "application/vnd.openxmlformats-officedocument.spreadsheetml.connections+xml": { + source: "iana", + compressible: true + }, + "application/vnd.openxmlformats-officedocument.spreadsheetml.dialogsheet+xml": { + source: "iana", + compressible: true + }, + "application/vnd.openxmlformats-officedocument.spreadsheetml.externallink+xml": { + source: "iana", + compressible: true + }, + "application/vnd.openxmlformats-officedocument.spreadsheetml.pivotcachedefinition+xml": { + source: "iana", + compressible: true + }, + "application/vnd.openxmlformats-officedocument.spreadsheetml.pivotcacherecords+xml": { + source: "iana", + compressible: true + }, + "application/vnd.openxmlformats-officedocument.spreadsheetml.pivottable+xml": { + source: "iana", + compressible: true + }, + "application/vnd.openxmlformats-officedocument.spreadsheetml.querytable+xml": { + source: "iana", + compressible: true + }, + "application/vnd.openxmlformats-officedocument.spreadsheetml.revisionheaders+xml": { + source: "iana", + compressible: true + }, + "application/vnd.openxmlformats-officedocument.spreadsheetml.revisionlog+xml": { + source: "iana", + compressible: true + }, + "application/vnd.openxmlformats-officedocument.spreadsheetml.sharedstrings+xml": { + source: "iana", + compressible: true + }, + "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet": { + source: "iana", + compressible: false, + extensions: ["xlsx"] + }, + "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet.main+xml": { + source: "iana", + compressible: true + }, + "application/vnd.openxmlformats-officedocument.spreadsheetml.sheetmetadata+xml": { + source: "iana", + compressible: true + }, + "application/vnd.openxmlformats-officedocument.spreadsheetml.styles+xml": { + source: "iana", + compressible: true + }, + "application/vnd.openxmlformats-officedocument.spreadsheetml.table+xml": { + source: "iana", + compressible: true + }, + "application/vnd.openxmlformats-officedocument.spreadsheetml.tablesinglecells+xml": { + source: "iana", + compressible: true + }, + "application/vnd.openxmlformats-officedocument.spreadsheetml.template": { + source: "iana", + extensions: ["xltx"] + }, + "application/vnd.openxmlformats-officedocument.spreadsheetml.template.main+xml": { + source: "iana", + compressible: true + }, + "application/vnd.openxmlformats-officedocument.spreadsheetml.usernames+xml": { + source: "iana", + compressible: true + }, + "application/vnd.openxmlformats-officedocument.spreadsheetml.volatiledependencies+xml": { + source: "iana", + compressible: true + }, + "application/vnd.openxmlformats-officedocument.spreadsheetml.worksheet+xml": { + source: "iana", + compressible: true + }, + "application/vnd.openxmlformats-officedocument.theme+xml": { + source: "iana", + compressible: true + }, + "application/vnd.openxmlformats-officedocument.themeoverride+xml": { + source: "iana", + compressible: true + }, + "application/vnd.openxmlformats-officedocument.vmldrawing": { + source: "iana" + }, + "application/vnd.openxmlformats-officedocument.wordprocessingml.comments+xml": { + source: "iana", + compressible: true + }, + "application/vnd.openxmlformats-officedocument.wordprocessingml.document": { + source: "iana", + compressible: false, + extensions: ["docx"] + }, + "application/vnd.openxmlformats-officedocument.wordprocessingml.document.glossary+xml": { + source: "iana", + compressible: true + }, + "application/vnd.openxmlformats-officedocument.wordprocessingml.document.main+xml": { + source: "iana", + compressible: true + }, + "application/vnd.openxmlformats-officedocument.wordprocessingml.endnotes+xml": { + source: "iana", + compressible: true + }, + "application/vnd.openxmlformats-officedocument.wordprocessingml.fonttable+xml": { + source: "iana", + compressible: true + }, + "application/vnd.openxmlformats-officedocument.wordprocessingml.footer+xml": { + source: "iana", + compressible: true + }, + "application/vnd.openxmlformats-officedocument.wordprocessingml.footnotes+xml": { + source: "iana", + compressible: true + }, + "application/vnd.openxmlformats-officedocument.wordprocessingml.numbering+xml": { + source: "iana", + compressible: true + }, + "application/vnd.openxmlformats-officedocument.wordprocessingml.settings+xml": { + source: "iana", + compressible: true + }, + "application/vnd.openxmlformats-officedocument.wordprocessingml.styles+xml": { + source: "iana", + compressible: true + }, + "application/vnd.openxmlformats-officedocument.wordprocessingml.template": { + source: "iana", + extensions: ["dotx"] + }, + "application/vnd.openxmlformats-officedocument.wordprocessingml.template.main+xml": { + source: "iana", + compressible: true + }, + "application/vnd.openxmlformats-officedocument.wordprocessingml.websettings+xml": { + source: "iana", + compressible: true + }, + "application/vnd.openxmlformats-package.core-properties+xml": { + source: "iana", + compressible: true + }, + "application/vnd.openxmlformats-package.digital-signature-xmlsignature+xml": { + source: "iana", + compressible: true + }, + "application/vnd.openxmlformats-package.relationships+xml": { + source: "iana", + compressible: true + }, + "application/vnd.oracle.resource+json": { + source: "iana", + compressible: true + }, + "application/vnd.orange.indata": { + source: "iana" + }, + "application/vnd.osa.netdeploy": { + source: "iana" + }, + "application/vnd.osgeo.mapguide.package": { + source: "iana", + extensions: ["mgp"] + }, + "application/vnd.osgi.bundle": { + source: "iana" + }, + "application/vnd.osgi.dp": { + source: "iana", + extensions: ["dp"] + }, + "application/vnd.osgi.subsystem": { + source: "iana", + extensions: ["esa"] + }, + "application/vnd.otps.ct-kip+xml": { + source: "iana", + compressible: true + }, + "application/vnd.oxli.countgraph": { + source: "iana" + }, + "application/vnd.pagerduty+json": { + source: "iana", + compressible: true + }, + "application/vnd.palm": { + source: "iana", + extensions: ["pdb", "pqa", "oprc"] + }, + "application/vnd.panoply": { + source: "iana" + }, + "application/vnd.paos.xml": { + source: "iana" + }, + "application/vnd.patentdive": { + source: "iana" + }, + "application/vnd.patientecommsdoc": { + source: "iana" + }, + "application/vnd.pawaafile": { + source: "iana", + extensions: ["paw"] + }, + "application/vnd.pcos": { + source: "iana" + }, + "application/vnd.pg.format": { + source: "iana", + extensions: ["str"] + }, + "application/vnd.pg.osasli": { + source: "iana", + extensions: ["ei6"] + }, + "application/vnd.piaccess.application-licence": { + source: "iana" + }, + "application/vnd.picsel": { + source: "iana", + extensions: ["efif"] + }, + "application/vnd.pmi.widget": { + source: "iana", + extensions: ["wg"] + }, + "application/vnd.poc.group-advertisement+xml": { + source: "iana", + compressible: true + }, + "application/vnd.pocketlearn": { + source: "iana", + extensions: ["plf"] + }, + "application/vnd.powerbuilder6": { + source: "iana", + extensions: ["pbd"] + }, + "application/vnd.powerbuilder6-s": { + source: "iana" + }, + "application/vnd.powerbuilder7": { + source: "iana" + }, + "application/vnd.powerbuilder7-s": { + source: "iana" + }, + "application/vnd.powerbuilder75": { + source: "iana" + }, + "application/vnd.powerbuilder75-s": { + source: "iana" + }, + "application/vnd.preminet": { + source: "iana" + }, + "application/vnd.previewsystems.box": { + source: "iana", + extensions: ["box"] + }, + "application/vnd.procrate.brushset": { + extensions: ["brushset"] + }, + "application/vnd.procreate.brush": { + extensions: ["brush"] + }, + "application/vnd.procreate.dream": { + extensions: ["drm"] + }, + "application/vnd.proteus.magazine": { + source: "iana", + extensions: ["mgz"] + }, + "application/vnd.psfs": { + source: "iana" + }, + "application/vnd.pt.mundusmundi": { + source: "iana" + }, + "application/vnd.publishare-delta-tree": { + source: "iana", + extensions: ["qps"] + }, + "application/vnd.pvi.ptid1": { + source: "iana", + extensions: ["ptid"] + }, + "application/vnd.pwg-multiplexed": { + source: "iana" + }, + "application/vnd.pwg-xhtml-print+xml": { + source: "iana", + compressible: true, + extensions: ["xhtm"] + }, + "application/vnd.qualcomm.brew-app-res": { + source: "iana" + }, + "application/vnd.quarantainenet": { + source: "iana" + }, + "application/vnd.quark.quarkxpress": { + source: "iana", + extensions: ["qxd", "qxt", "qwd", "qwt", "qxl", "qxb"] + }, + "application/vnd.quobject-quoxdocument": { + source: "iana" + }, + "application/vnd.radisys.moml+xml": { + source: "iana", + compressible: true + }, + "application/vnd.radisys.msml+xml": { + source: "iana", + compressible: true + }, + "application/vnd.radisys.msml-audit+xml": { + source: "iana", + compressible: true + }, + "application/vnd.radisys.msml-audit-conf+xml": { + source: "iana", + compressible: true + }, + "application/vnd.radisys.msml-audit-conn+xml": { + source: "iana", + compressible: true + }, + "application/vnd.radisys.msml-audit-dialog+xml": { + source: "iana", + compressible: true + }, + "application/vnd.radisys.msml-audit-stream+xml": { + source: "iana", + compressible: true + }, + "application/vnd.radisys.msml-conf+xml": { + source: "iana", + compressible: true + }, + "application/vnd.radisys.msml-dialog+xml": { + source: "iana", + compressible: true + }, + "application/vnd.radisys.msml-dialog-base+xml": { + source: "iana", + compressible: true + }, + "application/vnd.radisys.msml-dialog-fax-detect+xml": { + source: "iana", + compressible: true + }, + "application/vnd.radisys.msml-dialog-fax-sendrecv+xml": { + source: "iana", + compressible: true + }, + "application/vnd.radisys.msml-dialog-group+xml": { + source: "iana", + compressible: true + }, + "application/vnd.radisys.msml-dialog-speech+xml": { + source: "iana", + compressible: true + }, + "application/vnd.radisys.msml-dialog-transform+xml": { + source: "iana", + compressible: true + }, + "application/vnd.rainstor.data": { + source: "iana" + }, + "application/vnd.rapid": { + source: "iana" + }, + "application/vnd.rar": { + source: "iana", + extensions: ["rar"] + }, + "application/vnd.realvnc.bed": { + source: "iana", + extensions: ["bed"] + }, + "application/vnd.recordare.musicxml": { + source: "iana", + extensions: ["mxl"] + }, + "application/vnd.recordare.musicxml+xml": { + source: "iana", + compressible: true, + extensions: ["musicxml"] + }, + "application/vnd.relpipe": { + source: "iana" + }, + "application/vnd.renlearn.rlprint": { + source: "iana" + }, + "application/vnd.resilient.logic": { + source: "iana" + }, + "application/vnd.restful+json": { + source: "iana", + compressible: true + }, + "application/vnd.rig.cryptonote": { + source: "iana", + extensions: ["cryptonote"] + }, + "application/vnd.rim.cod": { + source: "apache", + extensions: ["cod"] + }, + "application/vnd.rn-realmedia": { + source: "apache", + extensions: ["rm"] + }, + "application/vnd.rn-realmedia-vbr": { + source: "apache", + extensions: ["rmvb"] + }, + "application/vnd.route66.link66+xml": { + source: "iana", + compressible: true, + extensions: ["link66"] + }, + "application/vnd.rs-274x": { + source: "iana" + }, + "application/vnd.ruckus.download": { + source: "iana" + }, + "application/vnd.s3sms": { + source: "iana" + }, + "application/vnd.sailingtracker.track": { + source: "iana", + extensions: ["st"] + }, + "application/vnd.sar": { + source: "iana" + }, + "application/vnd.sbm.cid": { + source: "iana" + }, + "application/vnd.sbm.mid2": { + source: "iana" + }, + "application/vnd.scribus": { + source: "iana" + }, + "application/vnd.sealed.3df": { + source: "iana" + }, + "application/vnd.sealed.csf": { + source: "iana" + }, + "application/vnd.sealed.doc": { + source: "iana" + }, + "application/vnd.sealed.eml": { + source: "iana" + }, + "application/vnd.sealed.mht": { + source: "iana" + }, + "application/vnd.sealed.net": { + source: "iana" + }, + "application/vnd.sealed.ppt": { + source: "iana" + }, + "application/vnd.sealed.tiff": { + source: "iana" + }, + "application/vnd.sealed.xls": { + source: "iana" + }, + "application/vnd.sealedmedia.softseal.html": { + source: "iana" + }, + "application/vnd.sealedmedia.softseal.pdf": { + source: "iana" + }, + "application/vnd.seemail": { + source: "iana", + extensions: ["see"] + }, + "application/vnd.seis+json": { + source: "iana", + compressible: true + }, + "application/vnd.sema": { + source: "iana", + extensions: ["sema"] + }, + "application/vnd.semd": { + source: "iana", + extensions: ["semd"] + }, + "application/vnd.semf": { + source: "iana", + extensions: ["semf"] + }, + "application/vnd.shade-save-file": { + source: "iana" + }, + "application/vnd.shana.informed.formdata": { + source: "iana", + extensions: ["ifm"] + }, + "application/vnd.shana.informed.formtemplate": { + source: "iana", + extensions: ["itp"] + }, + "application/vnd.shana.informed.interchange": { + source: "iana", + extensions: ["iif"] + }, + "application/vnd.shana.informed.package": { + source: "iana", + extensions: ["ipk"] + }, + "application/vnd.shootproof+json": { + source: "iana", + compressible: true + }, + "application/vnd.shopkick+json": { + source: "iana", + compressible: true + }, + "application/vnd.shp": { + source: "iana" + }, + "application/vnd.shx": { + source: "iana" + }, + "application/vnd.sigrok.session": { + source: "iana" + }, + "application/vnd.simtech-mindmapper": { + source: "iana", + extensions: ["twd", "twds"] + }, + "application/vnd.siren+json": { + source: "iana", + compressible: true + }, + "application/vnd.sketchometry": { + source: "iana" + }, + "application/vnd.smaf": { + source: "iana", + extensions: ["mmf"] + }, + "application/vnd.smart.notebook": { + source: "iana" + }, + "application/vnd.smart.teacher": { + source: "iana", + extensions: ["teacher"] + }, + "application/vnd.smintio.portals.archive": { + source: "iana" + }, + "application/vnd.snesdev-page-table": { + source: "iana" + }, + "application/vnd.software602.filler.form+xml": { + source: "iana", + compressible: true, + extensions: ["fo"] + }, + "application/vnd.software602.filler.form-xml-zip": { + source: "iana" + }, + "application/vnd.solent.sdkm+xml": { + source: "iana", + compressible: true, + extensions: ["sdkm", "sdkd"] + }, + "application/vnd.spotfire.dxp": { + source: "iana", + extensions: ["dxp"] + }, + "application/vnd.spotfire.sfs": { + source: "iana", + extensions: ["sfs"] + }, + "application/vnd.sqlite3": { + source: "iana" + }, + "application/vnd.sss-cod": { + source: "iana" + }, + "application/vnd.sss-dtf": { + source: "iana" + }, + "application/vnd.sss-ntf": { + source: "iana" + }, + "application/vnd.stardivision.calc": { + source: "apache", + extensions: ["sdc"] + }, + "application/vnd.stardivision.draw": { + source: "apache", + extensions: ["sda"] + }, + "application/vnd.stardivision.impress": { + source: "apache", + extensions: ["sdd"] + }, + "application/vnd.stardivision.math": { + source: "apache", + extensions: ["smf"] + }, + "application/vnd.stardivision.writer": { + source: "apache", + extensions: ["sdw", "vor"] + }, + "application/vnd.stardivision.writer-global": { + source: "apache", + extensions: ["sgl"] + }, + "application/vnd.stepmania.package": { + source: "iana", + extensions: ["smzip"] + }, + "application/vnd.stepmania.stepchart": { + source: "iana", + extensions: ["sm"] + }, + "application/vnd.street-stream": { + source: "iana" + }, + "application/vnd.sun.wadl+xml": { + source: "iana", + compressible: true, + extensions: ["wadl"] + }, + "application/vnd.sun.xml.calc": { + source: "apache", + extensions: ["sxc"] + }, + "application/vnd.sun.xml.calc.template": { + source: "apache", + extensions: ["stc"] + }, + "application/vnd.sun.xml.draw": { + source: "apache", + extensions: ["sxd"] + }, + "application/vnd.sun.xml.draw.template": { + source: "apache", + extensions: ["std"] + }, + "application/vnd.sun.xml.impress": { + source: "apache", + extensions: ["sxi"] + }, + "application/vnd.sun.xml.impress.template": { + source: "apache", + extensions: ["sti"] + }, + "application/vnd.sun.xml.math": { + source: "apache", + extensions: ["sxm"] + }, + "application/vnd.sun.xml.writer": { + source: "apache", + extensions: ["sxw"] + }, + "application/vnd.sun.xml.writer.global": { + source: "apache", + extensions: ["sxg"] + }, + "application/vnd.sun.xml.writer.template": { + source: "apache", + extensions: ["stw"] + }, + "application/vnd.sus-calendar": { + source: "iana", + extensions: ["sus", "susp"] + }, + "application/vnd.svd": { + source: "iana", + extensions: ["svd"] + }, + "application/vnd.swiftview-ics": { + source: "iana" + }, + "application/vnd.sybyl.mol2": { + source: "iana" + }, + "application/vnd.sycle+xml": { + source: "iana", + compressible: true + }, + "application/vnd.syft+json": { + source: "iana", + compressible: true + }, + "application/vnd.symbian.install": { + source: "apache", + extensions: ["sis", "sisx"] + }, + "application/vnd.syncml+xml": { + source: "iana", + charset: "UTF-8", + compressible: true, + extensions: ["xsm"] + }, + "application/vnd.syncml.dm+wbxml": { + source: "iana", + charset: "UTF-8", + extensions: ["bdm"] + }, + "application/vnd.syncml.dm+xml": { + source: "iana", + charset: "UTF-8", + compressible: true, + extensions: ["xdm"] + }, + "application/vnd.syncml.dm.notification": { + source: "iana" + }, + "application/vnd.syncml.dmddf+wbxml": { + source: "iana" + }, + "application/vnd.syncml.dmddf+xml": { + source: "iana", + charset: "UTF-8", + compressible: true, + extensions: ["ddf"] + }, + "application/vnd.syncml.dmtnds+wbxml": { + source: "iana" + }, + "application/vnd.syncml.dmtnds+xml": { + source: "iana", + charset: "UTF-8", + compressible: true + }, + "application/vnd.syncml.ds.notification": { + source: "iana" + }, + "application/vnd.tableschema+json": { + source: "iana", + compressible: true + }, + "application/vnd.tao.intent-module-archive": { + source: "iana", + extensions: ["tao"] + }, + "application/vnd.tcpdump.pcap": { + source: "iana", + extensions: ["pcap", "cap", "dmp"] + }, + "application/vnd.think-cell.ppttc+json": { + source: "iana", + compressible: true + }, + "application/vnd.tmd.mediaflex.api+xml": { + source: "iana", + compressible: true + }, + "application/vnd.tml": { + source: "iana" + }, + "application/vnd.tmobile-livetv": { + source: "iana", + extensions: ["tmo"] + }, + "application/vnd.tri.onesource": { + source: "iana" + }, + "application/vnd.trid.tpt": { + source: "iana", + extensions: ["tpt"] + }, + "application/vnd.triscape.mxs": { + source: "iana", + extensions: ["mxs"] + }, + "application/vnd.trueapp": { + source: "iana", + extensions: ["tra"] + }, + "application/vnd.truedoc": { + source: "iana" + }, + "application/vnd.ubisoft.webplayer": { + source: "iana" + }, + "application/vnd.ufdl": { + source: "iana", + extensions: ["ufd", "ufdl"] + }, + "application/vnd.uic.osdm+json": { + source: "iana", + compressible: true + }, + "application/vnd.uiq.theme": { + source: "iana", + extensions: ["utz"] + }, + "application/vnd.umajin": { + source: "iana", + extensions: ["umj"] + }, + "application/vnd.unity": { + source: "iana", + extensions: ["unityweb"] + }, + "application/vnd.uoml+xml": { + source: "iana", + compressible: true, + extensions: ["uoml", "uo"] + }, + "application/vnd.uplanet.alert": { + source: "iana" + }, + "application/vnd.uplanet.alert-wbxml": { + source: "iana" + }, + "application/vnd.uplanet.bearer-choice": { + source: "iana" + }, + "application/vnd.uplanet.bearer-choice-wbxml": { + source: "iana" + }, + "application/vnd.uplanet.cacheop": { + source: "iana" + }, + "application/vnd.uplanet.cacheop-wbxml": { + source: "iana" + }, + "application/vnd.uplanet.channel": { + source: "iana" + }, + "application/vnd.uplanet.channel-wbxml": { + source: "iana" + }, + "application/vnd.uplanet.list": { + source: "iana" + }, + "application/vnd.uplanet.list-wbxml": { + source: "iana" + }, + "application/vnd.uplanet.listcmd": { + source: "iana" + }, + "application/vnd.uplanet.listcmd-wbxml": { + source: "iana" + }, + "application/vnd.uplanet.signal": { + source: "iana" + }, + "application/vnd.uri-map": { + source: "iana" + }, + "application/vnd.valve.source.material": { + source: "iana" + }, + "application/vnd.vcx": { + source: "iana", + extensions: ["vcx"] + }, + "application/vnd.vd-study": { + source: "iana" + }, + "application/vnd.vectorworks": { + source: "iana" + }, + "application/vnd.vel+json": { + source: "iana", + compressible: true + }, + "application/vnd.veraison.tsm-report+cbor": { + source: "iana" + }, + "application/vnd.veraison.tsm-report+json": { + source: "iana", + compressible: true + }, + "application/vnd.verimatrix.vcas": { + source: "iana" + }, + "application/vnd.veritone.aion+json": { + source: "iana", + compressible: true + }, + "application/vnd.veryant.thin": { + source: "iana" + }, + "application/vnd.ves.encrypted": { + source: "iana" + }, + "application/vnd.vidsoft.vidconference": { + source: "iana" + }, + "application/vnd.visio": { + source: "iana", + extensions: ["vsd", "vst", "vss", "vsw", "vsdx", "vtx"] + }, + "application/vnd.visionary": { + source: "iana", + extensions: ["vis"] + }, + "application/vnd.vividence.scriptfile": { + source: "iana" + }, + "application/vnd.vocalshaper.vsp4": { + source: "iana" + }, + "application/vnd.vsf": { + source: "iana", + extensions: ["vsf"] + }, + "application/vnd.wap.sic": { + source: "iana" + }, + "application/vnd.wap.slc": { + source: "iana" + }, + "application/vnd.wap.wbxml": { + source: "iana", + charset: "UTF-8", + extensions: ["wbxml"] + }, + "application/vnd.wap.wmlc": { + source: "iana", + extensions: ["wmlc"] + }, + "application/vnd.wap.wmlscriptc": { + source: "iana", + extensions: ["wmlsc"] + }, + "application/vnd.wasmflow.wafl": { + source: "iana" + }, + "application/vnd.webturbo": { + source: "iana", + extensions: ["wtb"] + }, + "application/vnd.wfa.dpp": { + source: "iana" + }, + "application/vnd.wfa.p2p": { + source: "iana" + }, + "application/vnd.wfa.wsc": { + source: "iana" + }, + "application/vnd.windows.devicepairing": { + source: "iana" + }, + "application/vnd.wmc": { + source: "iana" + }, + "application/vnd.wmf.bootstrap": { + source: "iana" + }, + "application/vnd.wolfram.mathematica": { + source: "iana" + }, + "application/vnd.wolfram.mathematica.package": { + source: "iana" + }, + "application/vnd.wolfram.player": { + source: "iana", + extensions: ["nbp"] + }, + "application/vnd.wordlift": { + source: "iana" + }, + "application/vnd.wordperfect": { + source: "iana", + extensions: ["wpd"] + }, + "application/vnd.wqd": { + source: "iana", + extensions: ["wqd"] + }, + "application/vnd.wrq-hp3000-labelled": { + source: "iana" + }, + "application/vnd.wt.stf": { + source: "iana", + extensions: ["stf"] + }, + "application/vnd.wv.csp+wbxml": { + source: "iana" + }, + "application/vnd.wv.csp+xml": { + source: "iana", + compressible: true + }, + "application/vnd.wv.ssp+xml": { + source: "iana", + compressible: true + }, + "application/vnd.xacml+json": { + source: "iana", + compressible: true + }, + "application/vnd.xara": { + source: "iana", + extensions: ["xar"] + }, + "application/vnd.xarin.cpj": { + source: "iana" + }, + "application/vnd.xecrets-encrypted": { + source: "iana" + }, + "application/vnd.xfdl": { + source: "iana", + extensions: ["xfdl"] + }, + "application/vnd.xfdl.webform": { + source: "iana" + }, + "application/vnd.xmi+xml": { + source: "iana", + compressible: true + }, + "application/vnd.xmpie.cpkg": { + source: "iana" + }, + "application/vnd.xmpie.dpkg": { + source: "iana" + }, + "application/vnd.xmpie.plan": { + source: "iana" + }, + "application/vnd.xmpie.ppkg": { + source: "iana" + }, + "application/vnd.xmpie.xlim": { + source: "iana" + }, + "application/vnd.yamaha.hv-dic": { + source: "iana", + extensions: ["hvd"] + }, + "application/vnd.yamaha.hv-script": { + source: "iana", + extensions: ["hvs"] + }, + "application/vnd.yamaha.hv-voice": { + source: "iana", + extensions: ["hvp"] + }, + "application/vnd.yamaha.openscoreformat": { + source: "iana", + extensions: ["osf"] + }, + "application/vnd.yamaha.openscoreformat.osfpvg+xml": { + source: "iana", + compressible: true, + extensions: ["osfpvg"] + }, + "application/vnd.yamaha.remote-setup": { + source: "iana" + }, + "application/vnd.yamaha.smaf-audio": { + source: "iana", + extensions: ["saf"] + }, + "application/vnd.yamaha.smaf-phrase": { + source: "iana", + extensions: ["spf"] + }, + "application/vnd.yamaha.through-ngn": { + source: "iana" + }, + "application/vnd.yamaha.tunnel-udpencap": { + source: "iana" + }, + "application/vnd.yaoweme": { + source: "iana" + }, + "application/vnd.yellowriver-custom-menu": { + source: "iana", + extensions: ["cmp"] + }, + "application/vnd.zul": { + source: "iana", + extensions: ["zir", "zirz"] + }, + "application/vnd.zzazz.deck+xml": { + source: "iana", + compressible: true, + extensions: ["zaz"] + }, + "application/voicexml+xml": { + source: "iana", + compressible: true, + extensions: ["vxml"] + }, + "application/voucher-cms+json": { + source: "iana", + compressible: true + }, + "application/voucher-jws+json": { + source: "iana", + compressible: true + }, + "application/vp": { + source: "iana" + }, + "application/vp+cose": { + source: "iana" + }, + "application/vp+jwt": { + source: "iana" + }, + "application/vq-rtcpxr": { + source: "iana" + }, + "application/wasm": { + source: "iana", + compressible: true, + extensions: ["wasm"] + }, + "application/watcherinfo+xml": { + source: "iana", + compressible: true, + extensions: ["wif"] + }, + "application/webpush-options+json": { + source: "iana", + compressible: true + }, + "application/whoispp-query": { + source: "iana" + }, + "application/whoispp-response": { + source: "iana" + }, + "application/widget": { + source: "iana", + extensions: ["wgt"] + }, + "application/winhlp": { + source: "apache", + extensions: ["hlp"] + }, + "application/wita": { + source: "iana" + }, + "application/wordperfect5.1": { + source: "iana" + }, + "application/wsdl+xml": { + source: "iana", + compressible: true, + extensions: ["wsdl"] + }, + "application/wspolicy+xml": { + source: "iana", + compressible: true, + extensions: ["wspolicy"] + }, + "application/x-7z-compressed": { + source: "apache", + compressible: false, + extensions: ["7z"] + }, + "application/x-abiword": { + source: "apache", + extensions: ["abw"] + }, + "application/x-ace-compressed": { + source: "apache", + extensions: ["ace"] + }, + "application/x-amf": { + source: "apache" + }, + "application/x-apple-diskimage": { + source: "apache", + extensions: ["dmg"] + }, + "application/x-arj": { + compressible: false, + extensions: ["arj"] + }, + "application/x-authorware-bin": { + source: "apache", + extensions: ["aab", "x32", "u32", "vox"] + }, + "application/x-authorware-map": { + source: "apache", + extensions: ["aam"] + }, + "application/x-authorware-seg": { + source: "apache", + extensions: ["aas"] + }, + "application/x-bcpio": { + source: "apache", + extensions: ["bcpio"] + }, + "application/x-bdoc": { + compressible: false, + extensions: ["bdoc"] + }, + "application/x-bittorrent": { + source: "apache", + extensions: ["torrent"] + }, + "application/x-blender": { + extensions: ["blend"] + }, + "application/x-blorb": { + source: "apache", + extensions: ["blb", "blorb"] + }, + "application/x-bzip": { + source: "apache", + compressible: false, + extensions: ["bz"] + }, + "application/x-bzip2": { + source: "apache", + compressible: false, + extensions: ["bz2", "boz"] + }, + "application/x-cbr": { + source: "apache", + extensions: ["cbr", "cba", "cbt", "cbz", "cb7"] + }, + "application/x-cdlink": { + source: "apache", + extensions: ["vcd"] + }, + "application/x-cfs-compressed": { + source: "apache", + extensions: ["cfs"] + }, + "application/x-chat": { + source: "apache", + extensions: ["chat"] + }, + "application/x-chess-pgn": { + source: "apache", + extensions: ["pgn"] + }, + "application/x-chrome-extension": { + extensions: ["crx"] + }, + "application/x-cocoa": { + source: "nginx", + extensions: ["cco"] + }, + "application/x-compress": { + source: "apache" + }, + "application/x-compressed": { + extensions: ["rar"] + }, + "application/x-conference": { + source: "apache", + extensions: ["nsc"] + }, + "application/x-cpio": { + source: "apache", + extensions: ["cpio"] + }, + "application/x-csh": { + source: "apache", + extensions: ["csh"] + }, + "application/x-deb": { + compressible: false + }, + "application/x-debian-package": { + source: "apache", + extensions: ["deb", "udeb"] + }, + "application/x-dgc-compressed": { + source: "apache", + extensions: ["dgc"] + }, + "application/x-director": { + source: "apache", + extensions: ["dir", "dcr", "dxr", "cst", "cct", "cxt", "w3d", "fgd", "swa"] + }, + "application/x-doom": { + source: "apache", + extensions: ["wad"] + }, + "application/x-dtbncx+xml": { + source: "apache", + compressible: true, + extensions: ["ncx"] + }, + "application/x-dtbook+xml": { + source: "apache", + compressible: true, + extensions: ["dtb"] + }, + "application/x-dtbresource+xml": { + source: "apache", + compressible: true, + extensions: ["res"] + }, + "application/x-dvi": { + source: "apache", + compressible: false, + extensions: ["dvi"] + }, + "application/x-envoy": { + source: "apache", + extensions: ["evy"] + }, + "application/x-eva": { + source: "apache", + extensions: ["eva"] + }, + "application/x-font-bdf": { + source: "apache", + extensions: ["bdf"] + }, + "application/x-font-dos": { + source: "apache" + }, + "application/x-font-framemaker": { + source: "apache" + }, + "application/x-font-ghostscript": { + source: "apache", + extensions: ["gsf"] + }, + "application/x-font-libgrx": { + source: "apache" + }, + "application/x-font-linux-psf": { + source: "apache", + extensions: ["psf"] + }, + "application/x-font-pcf": { + source: "apache", + extensions: ["pcf"] + }, + "application/x-font-snf": { + source: "apache", + extensions: ["snf"] + }, + "application/x-font-speedo": { + source: "apache" + }, + "application/x-font-sunos-news": { + source: "apache" + }, + "application/x-font-type1": { + source: "apache", + extensions: ["pfa", "pfb", "pfm", "afm"] + }, + "application/x-font-vfont": { + source: "apache" + }, + "application/x-freearc": { + source: "apache", + extensions: ["arc"] + }, + "application/x-futuresplash": { + source: "apache", + extensions: ["spl"] + }, + "application/x-gca-compressed": { + source: "apache", + extensions: ["gca"] + }, + "application/x-glulx": { + source: "apache", + extensions: ["ulx"] + }, + "application/x-gnumeric": { + source: "apache", + extensions: ["gnumeric"] + }, + "application/x-gramps-xml": { + source: "apache", + extensions: ["gramps"] + }, + "application/x-gtar": { + source: "apache", + extensions: ["gtar"] + }, + "application/x-gzip": { + source: "apache" + }, + "application/x-hdf": { + source: "apache", + extensions: ["hdf"] + }, + "application/x-httpd-php": { + compressible: true, + extensions: ["php"] + }, + "application/x-install-instructions": { + source: "apache", + extensions: ["install"] + }, + "application/x-ipynb+json": { + compressible: true, + extensions: ["ipynb"] + }, + "application/x-iso9660-image": { + source: "apache", + extensions: ["iso"] + }, + "application/x-iwork-keynote-sffkey": { + extensions: ["key"] + }, + "application/x-iwork-numbers-sffnumbers": { + extensions: ["numbers"] + }, + "application/x-iwork-pages-sffpages": { + extensions: ["pages"] + }, + "application/x-java-archive-diff": { + source: "nginx", + extensions: ["jardiff"] + }, + "application/x-java-jnlp-file": { + source: "apache", + compressible: false, + extensions: ["jnlp"] + }, + "application/x-javascript": { + compressible: true + }, + "application/x-keepass2": { + extensions: ["kdbx"] + }, + "application/x-latex": { + source: "apache", + compressible: false, + extensions: ["latex"] + }, + "application/x-lua-bytecode": { + extensions: ["luac"] + }, + "application/x-lzh-compressed": { + source: "apache", + extensions: ["lzh", "lha"] + }, + "application/x-makeself": { + source: "nginx", + extensions: ["run"] + }, + "application/x-mie": { + source: "apache", + extensions: ["mie"] + }, + "application/x-mobipocket-ebook": { + source: "apache", + extensions: ["prc", "mobi"] + }, + "application/x-mpegurl": { + compressible: false + }, + "application/x-ms-application": { + source: "apache", + extensions: ["application"] + }, + "application/x-ms-shortcut": { + source: "apache", + extensions: ["lnk"] + }, + "application/x-ms-wmd": { + source: "apache", + extensions: ["wmd"] + }, + "application/x-ms-wmz": { + source: "apache", + extensions: ["wmz"] + }, + "application/x-ms-xbap": { + source: "apache", + extensions: ["xbap"] + }, + "application/x-msaccess": { + source: "apache", + extensions: ["mdb"] + }, + "application/x-msbinder": { + source: "apache", + extensions: ["obd"] + }, + "application/x-mscardfile": { + source: "apache", + extensions: ["crd"] + }, + "application/x-msclip": { + source: "apache", + extensions: ["clp"] + }, + "application/x-msdos-program": { + extensions: ["exe"] + }, + "application/x-msdownload": { + source: "apache", + extensions: ["exe", "dll", "com", "bat", "msi"] + }, + "application/x-msmediaview": { + source: "apache", + extensions: ["mvb", "m13", "m14"] + }, + "application/x-msmetafile": { + source: "apache", + extensions: ["wmf", "wmz", "emf", "emz"] + }, + "application/x-msmoney": { + source: "apache", + extensions: ["mny"] + }, + "application/x-mspublisher": { + source: "apache", + extensions: ["pub"] + }, + "application/x-msschedule": { + source: "apache", + extensions: ["scd"] + }, + "application/x-msterminal": { + source: "apache", + extensions: ["trm"] + }, + "application/x-mswrite": { + source: "apache", + extensions: ["wri"] + }, + "application/x-netcdf": { + source: "apache", + extensions: ["nc", "cdf"] + }, + "application/x-ns-proxy-autoconfig": { + compressible: true, + extensions: ["pac"] + }, + "application/x-nzb": { + source: "apache", + extensions: ["nzb"] + }, + "application/x-perl": { + source: "nginx", + extensions: ["pl", "pm"] + }, + "application/x-pilot": { + source: "nginx", + extensions: ["prc", "pdb"] + }, + "application/x-pkcs12": { + source: "apache", + compressible: false, + extensions: ["p12", "pfx"] + }, + "application/x-pkcs7-certificates": { + source: "apache", + extensions: ["p7b", "spc"] + }, + "application/x-pkcs7-certreqresp": { + source: "apache", + extensions: ["p7r"] + }, + "application/x-pki-message": { + source: "iana" + }, + "application/x-rar-compressed": { + source: "apache", + compressible: false, + extensions: ["rar"] + }, + "application/x-redhat-package-manager": { + source: "nginx", + extensions: ["rpm"] + }, + "application/x-research-info-systems": { + source: "apache", + extensions: ["ris"] + }, + "application/x-sea": { + source: "nginx", + extensions: ["sea"] + }, + "application/x-sh": { + source: "apache", + compressible: true, + extensions: ["sh"] + }, + "application/x-shar": { + source: "apache", + extensions: ["shar"] + }, + "application/x-shockwave-flash": { + source: "apache", + compressible: false, + extensions: ["swf"] + }, + "application/x-silverlight-app": { + source: "apache", + extensions: ["xap"] + }, + "application/x-sql": { + source: "apache", + extensions: ["sql"] + }, + "application/x-stuffit": { + source: "apache", + compressible: false, + extensions: ["sit"] + }, + "application/x-stuffitx": { + source: "apache", + extensions: ["sitx"] + }, + "application/x-subrip": { + source: "apache", + extensions: ["srt"] + }, + "application/x-sv4cpio": { + source: "apache", + extensions: ["sv4cpio"] + }, + "application/x-sv4crc": { + source: "apache", + extensions: ["sv4crc"] + }, + "application/x-t3vm-image": { + source: "apache", + extensions: ["t3"] + }, + "application/x-tads": { + source: "apache", + extensions: ["gam"] + }, + "application/x-tar": { + source: "apache", + compressible: true, + extensions: ["tar"] + }, + "application/x-tcl": { + source: "apache", + extensions: ["tcl", "tk"] + }, + "application/x-tex": { + source: "apache", + extensions: ["tex"] + }, + "application/x-tex-tfm": { + source: "apache", + extensions: ["tfm"] + }, + "application/x-texinfo": { + source: "apache", + extensions: ["texinfo", "texi"] + }, + "application/x-tgif": { + source: "apache", + extensions: ["obj"] + }, + "application/x-ustar": { + source: "apache", + extensions: ["ustar"] + }, + "application/x-virtualbox-hdd": { + compressible: true, + extensions: ["hdd"] + }, + "application/x-virtualbox-ova": { + compressible: true, + extensions: ["ova"] + }, + "application/x-virtualbox-ovf": { + compressible: true, + extensions: ["ovf"] + }, + "application/x-virtualbox-vbox": { + compressible: true, + extensions: ["vbox"] + }, + "application/x-virtualbox-vbox-extpack": { + compressible: false, + extensions: ["vbox-extpack"] + }, + "application/x-virtualbox-vdi": { + compressible: true, + extensions: ["vdi"] + }, + "application/x-virtualbox-vhd": { + compressible: true, + extensions: ["vhd"] + }, + "application/x-virtualbox-vmdk": { + compressible: true, + extensions: ["vmdk"] + }, + "application/x-wais-source": { + source: "apache", + extensions: ["src"] + }, + "application/x-web-app-manifest+json": { + compressible: true, + extensions: ["webapp"] + }, + "application/x-www-form-urlencoded": { + source: "iana", + compressible: true + }, + "application/x-x509-ca-cert": { + source: "iana", + extensions: ["der", "crt", "pem"] + }, + "application/x-x509-ca-ra-cert": { + source: "iana" + }, + "application/x-x509-next-ca-cert": { + source: "iana" + }, + "application/x-xfig": { + source: "apache", + extensions: ["fig"] + }, + "application/x-xliff+xml": { + source: "apache", + compressible: true, + extensions: ["xlf"] + }, + "application/x-xpinstall": { + source: "apache", + compressible: false, + extensions: ["xpi"] + }, + "application/x-xz": { + source: "apache", + extensions: ["xz"] + }, + "application/x-zip-compressed": { + extensions: ["zip"] + }, + "application/x-zmachine": { + source: "apache", + extensions: ["z1", "z2", "z3", "z4", "z5", "z6", "z7", "z8"] + }, + "application/x400-bp": { + source: "iana" + }, + "application/xacml+xml": { + source: "iana", + compressible: true + }, + "application/xaml+xml": { + source: "apache", + compressible: true, + extensions: ["xaml"] + }, + "application/xcap-att+xml": { + source: "iana", + compressible: true, + extensions: ["xav"] + }, + "application/xcap-caps+xml": { + source: "iana", + compressible: true, + extensions: ["xca"] + }, + "application/xcap-diff+xml": { + source: "iana", + compressible: true, + extensions: ["xdf"] + }, + "application/xcap-el+xml": { + source: "iana", + compressible: true, + extensions: ["xel"] + }, + "application/xcap-error+xml": { + source: "iana", + compressible: true + }, + "application/xcap-ns+xml": { + source: "iana", + compressible: true, + extensions: ["xns"] + }, + "application/xcon-conference-info+xml": { + source: "iana", + compressible: true + }, + "application/xcon-conference-info-diff+xml": { + source: "iana", + compressible: true + }, + "application/xenc+xml": { + source: "iana", + compressible: true, + extensions: ["xenc"] + }, + "application/xfdf": { + source: "iana", + extensions: ["xfdf"] + }, + "application/xhtml+xml": { + source: "iana", + compressible: true, + extensions: ["xhtml", "xht"] + }, + "application/xhtml-voice+xml": { + source: "apache", + compressible: true + }, + "application/xliff+xml": { + source: "iana", + compressible: true, + extensions: ["xlf"] + }, + "application/xml": { + source: "iana", + compressible: true, + extensions: ["xml", "xsl", "xsd", "rng"] + }, + "application/xml-dtd": { + source: "iana", + compressible: true, + extensions: ["dtd"] + }, + "application/xml-external-parsed-entity": { + source: "iana" + }, + "application/xml-patch+xml": { + source: "iana", + compressible: true + }, + "application/xmpp+xml": { + source: "iana", + compressible: true + }, + "application/xop+xml": { + source: "iana", + compressible: true, + extensions: ["xop"] + }, + "application/xproc+xml": { + source: "apache", + compressible: true, + extensions: ["xpl"] + }, + "application/xslt+xml": { + source: "iana", + compressible: true, + extensions: ["xsl", "xslt"] + }, + "application/xspf+xml": { + source: "apache", + compressible: true, + extensions: ["xspf"] + }, + "application/xv+xml": { + source: "iana", + compressible: true, + extensions: ["mxml", "xhvml", "xvml", "xvm"] + }, + "application/yaml": { + source: "iana" + }, + "application/yang": { + source: "iana", + extensions: ["yang"] + }, + "application/yang-data+cbor": { + source: "iana" + }, + "application/yang-data+json": { + source: "iana", + compressible: true + }, + "application/yang-data+xml": { + source: "iana", + compressible: true + }, + "application/yang-patch+json": { + source: "iana", + compressible: true + }, + "application/yang-patch+xml": { + source: "iana", + compressible: true + }, + "application/yang-sid+json": { + source: "iana", + compressible: true + }, + "application/yin+xml": { + source: "iana", + compressible: true, + extensions: ["yin"] + }, + "application/zip": { + source: "iana", + compressible: false, + extensions: ["zip"] + }, + "application/zip+dotlottie": { + extensions: ["lottie"] + }, + "application/zlib": { + source: "iana" + }, + "application/zstd": { + source: "iana" + }, + "audio/1d-interleaved-parityfec": { + source: "iana" + }, + "audio/32kadpcm": { + source: "iana" + }, + "audio/3gpp": { + source: "iana", + compressible: false, + extensions: ["3gpp"] + }, + "audio/3gpp2": { + source: "iana" + }, + "audio/aac": { + source: "iana", + extensions: ["adts", "aac"] + }, + "audio/ac3": { + source: "iana" + }, + "audio/adpcm": { + source: "apache", + extensions: ["adp"] + }, + "audio/amr": { + source: "iana", + extensions: ["amr"] + }, + "audio/amr-wb": { + source: "iana" + }, + "audio/amr-wb+": { + source: "iana" + }, + "audio/aptx": { + source: "iana" + }, + "audio/asc": { + source: "iana" + }, + "audio/atrac-advanced-lossless": { + source: "iana" + }, + "audio/atrac-x": { + source: "iana" + }, + "audio/atrac3": { + source: "iana" + }, + "audio/basic": { + source: "iana", + compressible: false, + extensions: ["au", "snd"] + }, + "audio/bv16": { + source: "iana" + }, + "audio/bv32": { + source: "iana" + }, + "audio/clearmode": { + source: "iana" + }, + "audio/cn": { + source: "iana" + }, + "audio/dat12": { + source: "iana" + }, + "audio/dls": { + source: "iana" + }, + "audio/dsr-es201108": { + source: "iana" + }, + "audio/dsr-es202050": { + source: "iana" + }, + "audio/dsr-es202211": { + source: "iana" + }, + "audio/dsr-es202212": { + source: "iana" + }, + "audio/dv": { + source: "iana" + }, + "audio/dvi4": { + source: "iana" + }, + "audio/eac3": { + source: "iana" + }, + "audio/encaprtp": { + source: "iana" + }, + "audio/evrc": { + source: "iana" + }, + "audio/evrc-qcp": { + source: "iana" + }, + "audio/evrc0": { + source: "iana" + }, + "audio/evrc1": { + source: "iana" + }, + "audio/evrcb": { + source: "iana" + }, + "audio/evrcb0": { + source: "iana" + }, + "audio/evrcb1": { + source: "iana" + }, + "audio/evrcnw": { + source: "iana" + }, + "audio/evrcnw0": { + source: "iana" + }, + "audio/evrcnw1": { + source: "iana" + }, + "audio/evrcwb": { + source: "iana" + }, + "audio/evrcwb0": { + source: "iana" + }, + "audio/evrcwb1": { + source: "iana" + }, + "audio/evs": { + source: "iana" + }, + "audio/flac": { + source: "iana" + }, + "audio/flexfec": { + source: "iana" + }, + "audio/fwdred": { + source: "iana" + }, + "audio/g711-0": { + source: "iana" + }, + "audio/g719": { + source: "iana" + }, + "audio/g722": { + source: "iana" + }, + "audio/g7221": { + source: "iana" + }, + "audio/g723": { + source: "iana" + }, + "audio/g726-16": { + source: "iana" + }, + "audio/g726-24": { + source: "iana" + }, + "audio/g726-32": { + source: "iana" + }, + "audio/g726-40": { + source: "iana" + }, + "audio/g728": { + source: "iana" + }, + "audio/g729": { + source: "iana" + }, + "audio/g7291": { + source: "iana" + }, + "audio/g729d": { + source: "iana" + }, + "audio/g729e": { + source: "iana" + }, + "audio/gsm": { + source: "iana" + }, + "audio/gsm-efr": { + source: "iana" + }, + "audio/gsm-hr-08": { + source: "iana" + }, + "audio/ilbc": { + source: "iana" + }, + "audio/ip-mr_v2.5": { + source: "iana" + }, + "audio/isac": { + source: "apache" + }, + "audio/l16": { + source: "iana" + }, + "audio/l20": { + source: "iana" + }, + "audio/l24": { + source: "iana", + compressible: false + }, + "audio/l8": { + source: "iana" + }, + "audio/lpc": { + source: "iana" + }, + "audio/matroska": { + source: "iana" + }, + "audio/melp": { + source: "iana" + }, + "audio/melp1200": { + source: "iana" + }, + "audio/melp2400": { + source: "iana" + }, + "audio/melp600": { + source: "iana" + }, + "audio/mhas": { + source: "iana" + }, + "audio/midi": { + source: "apache", + extensions: ["mid", "midi", "kar", "rmi"] + }, + "audio/midi-clip": { + source: "iana" + }, + "audio/mobile-xmf": { + source: "iana", + extensions: ["mxmf"] + }, + "audio/mp3": { + compressible: false, + extensions: ["mp3"] + }, + "audio/mp4": { + source: "iana", + compressible: false, + extensions: ["m4a", "mp4a", "m4b"] + }, + "audio/mp4a-latm": { + source: "iana" + }, + "audio/mpa": { + source: "iana" + }, + "audio/mpa-robust": { + source: "iana" + }, + "audio/mpeg": { + source: "iana", + compressible: false, + extensions: ["mpga", "mp2", "mp2a", "mp3", "m2a", "m3a"] + }, + "audio/mpeg4-generic": { + source: "iana" + }, + "audio/musepack": { + source: "apache" + }, + "audio/ogg": { + source: "iana", + compressible: false, + extensions: ["oga", "ogg", "spx", "opus"] + }, + "audio/opus": { + source: "iana" + }, + "audio/parityfec": { + source: "iana" + }, + "audio/pcma": { + source: "iana" + }, + "audio/pcma-wb": { + source: "iana" + }, + "audio/pcmu": { + source: "iana" + }, + "audio/pcmu-wb": { + source: "iana" + }, + "audio/prs.sid": { + source: "iana" + }, + "audio/qcelp": { + source: "iana" + }, + "audio/raptorfec": { + source: "iana" + }, + "audio/red": { + source: "iana" + }, + "audio/rtp-enc-aescm128": { + source: "iana" + }, + "audio/rtp-midi": { + source: "iana" + }, + "audio/rtploopback": { + source: "iana" + }, + "audio/rtx": { + source: "iana" + }, + "audio/s3m": { + source: "apache", + extensions: ["s3m"] + }, + "audio/scip": { + source: "iana" + }, + "audio/silk": { + source: "apache", + extensions: ["sil"] + }, + "audio/smv": { + source: "iana" + }, + "audio/smv-qcp": { + source: "iana" + }, + "audio/smv0": { + source: "iana" + }, + "audio/sofa": { + source: "iana" + }, + "audio/sp-midi": { + source: "iana" + }, + "audio/speex": { + source: "iana" + }, + "audio/t140c": { + source: "iana" + }, + "audio/t38": { + source: "iana" + }, + "audio/telephone-event": { + source: "iana" + }, + "audio/tetra_acelp": { + source: "iana" + }, + "audio/tetra_acelp_bb": { + source: "iana" + }, + "audio/tone": { + source: "iana" + }, + "audio/tsvcis": { + source: "iana" + }, + "audio/uemclip": { + source: "iana" + }, + "audio/ulpfec": { + source: "iana" + }, + "audio/usac": { + source: "iana" + }, + "audio/vdvi": { + source: "iana" + }, + "audio/vmr-wb": { + source: "iana" + }, + "audio/vnd.3gpp.iufp": { + source: "iana" + }, + "audio/vnd.4sb": { + source: "iana" + }, + "audio/vnd.audiokoz": { + source: "iana" + }, + "audio/vnd.celp": { + source: "iana" + }, + "audio/vnd.cisco.nse": { + source: "iana" + }, + "audio/vnd.cmles.radio-events": { + source: "iana" + }, + "audio/vnd.cns.anp1": { + source: "iana" + }, + "audio/vnd.cns.inf1": { + source: "iana" + }, + "audio/vnd.dece.audio": { + source: "iana", + extensions: ["uva", "uvva"] + }, + "audio/vnd.digital-winds": { + source: "iana", + extensions: ["eol"] + }, + "audio/vnd.dlna.adts": { + source: "iana" + }, + "audio/vnd.dolby.heaac.1": { + source: "iana" + }, + "audio/vnd.dolby.heaac.2": { + source: "iana" + }, + "audio/vnd.dolby.mlp": { + source: "iana" + }, + "audio/vnd.dolby.mps": { + source: "iana" + }, + "audio/vnd.dolby.pl2": { + source: "iana" + }, + "audio/vnd.dolby.pl2x": { + source: "iana" + }, + "audio/vnd.dolby.pl2z": { + source: "iana" + }, + "audio/vnd.dolby.pulse.1": { + source: "iana" + }, + "audio/vnd.dra": { + source: "iana", + extensions: ["dra"] + }, + "audio/vnd.dts": { + source: "iana", + extensions: ["dts"] + }, + "audio/vnd.dts.hd": { + source: "iana", + extensions: ["dtshd"] + }, + "audio/vnd.dts.uhd": { + source: "iana" + }, + "audio/vnd.dvb.file": { + source: "iana" + }, + "audio/vnd.everad.plj": { + source: "iana" + }, + "audio/vnd.hns.audio": { + source: "iana" + }, + "audio/vnd.lucent.voice": { + source: "iana", + extensions: ["lvp"] + }, + "audio/vnd.ms-playready.media.pya": { + source: "iana", + extensions: ["pya"] + }, + "audio/vnd.nokia.mobile-xmf": { + source: "iana" + }, + "audio/vnd.nortel.vbk": { + source: "iana" + }, + "audio/vnd.nuera.ecelp4800": { + source: "iana", + extensions: ["ecelp4800"] + }, + "audio/vnd.nuera.ecelp7470": { + source: "iana", + extensions: ["ecelp7470"] + }, + "audio/vnd.nuera.ecelp9600": { + source: "iana", + extensions: ["ecelp9600"] + }, + "audio/vnd.octel.sbc": { + source: "iana" + }, + "audio/vnd.presonus.multitrack": { + source: "iana" + }, + "audio/vnd.qcelp": { + source: "apache" + }, + "audio/vnd.rhetorex.32kadpcm": { + source: "iana" + }, + "audio/vnd.rip": { + source: "iana", + extensions: ["rip"] + }, + "audio/vnd.rn-realaudio": { + compressible: false + }, + "audio/vnd.sealedmedia.softseal.mpeg": { + source: "iana" + }, + "audio/vnd.vmx.cvsd": { + source: "iana" + }, + "audio/vnd.wave": { + compressible: false + }, + "audio/vorbis": { + source: "iana", + compressible: false + }, + "audio/vorbis-config": { + source: "iana" + }, + "audio/wav": { + compressible: false, + extensions: ["wav"] + }, + "audio/wave": { + compressible: false, + extensions: ["wav"] + }, + "audio/webm": { + source: "apache", + compressible: false, + extensions: ["weba"] + }, + "audio/x-aac": { + source: "apache", + compressible: false, + extensions: ["aac"] + }, + "audio/x-aiff": { + source: "apache", + extensions: ["aif", "aiff", "aifc"] + }, + "audio/x-caf": { + source: "apache", + compressible: false, + extensions: ["caf"] + }, + "audio/x-flac": { + source: "apache", + extensions: ["flac"] + }, + "audio/x-m4a": { + source: "nginx", + extensions: ["m4a"] + }, + "audio/x-matroska": { + source: "apache", + extensions: ["mka"] + }, + "audio/x-mpegurl": { + source: "apache", + extensions: ["m3u"] + }, + "audio/x-ms-wax": { + source: "apache", + extensions: ["wax"] + }, + "audio/x-ms-wma": { + source: "apache", + extensions: ["wma"] + }, + "audio/x-pn-realaudio": { + source: "apache", + extensions: ["ram", "ra"] + }, + "audio/x-pn-realaudio-plugin": { + source: "apache", + extensions: ["rmp"] + }, + "audio/x-realaudio": { + source: "nginx", + extensions: ["ra"] + }, + "audio/x-tta": { + source: "apache" + }, + "audio/x-wav": { + source: "apache", + extensions: ["wav"] + }, + "audio/xm": { + source: "apache", + extensions: ["xm"] + }, + "chemical/x-cdx": { + source: "apache", + extensions: ["cdx"] + }, + "chemical/x-cif": { + source: "apache", + extensions: ["cif"] + }, + "chemical/x-cmdf": { + source: "apache", + extensions: ["cmdf"] + }, + "chemical/x-cml": { + source: "apache", + extensions: ["cml"] + }, + "chemical/x-csml": { + source: "apache", + extensions: ["csml"] + }, + "chemical/x-pdb": { + source: "apache" + }, + "chemical/x-xyz": { + source: "apache", + extensions: ["xyz"] + }, + "font/collection": { + source: "iana", + extensions: ["ttc"] + }, + "font/otf": { + source: "iana", + compressible: true, + extensions: ["otf"] + }, + "font/sfnt": { + source: "iana" + }, + "font/ttf": { + source: "iana", + compressible: true, + extensions: ["ttf"] + }, + "font/woff": { + source: "iana", + extensions: ["woff"] + }, + "font/woff2": { + source: "iana", + extensions: ["woff2"] + }, + "image/aces": { + source: "iana", + extensions: ["exr"] + }, + "image/apng": { + source: "iana", + compressible: false, + extensions: ["apng"] + }, + "image/avci": { + source: "iana", + extensions: ["avci"] + }, + "image/avcs": { + source: "iana", + extensions: ["avcs"] + }, + "image/avif": { + source: "iana", + compressible: false, + extensions: ["avif"] + }, + "image/bmp": { + source: "iana", + compressible: true, + extensions: ["bmp", "dib"] + }, + "image/cgm": { + source: "iana", + extensions: ["cgm"] + }, + "image/dicom-rle": { + source: "iana", + extensions: ["drle"] + }, + "image/dpx": { + source: "iana", + extensions: ["dpx"] + }, + "image/emf": { + source: "iana", + extensions: ["emf"] + }, + "image/fits": { + source: "iana", + extensions: ["fits"] + }, + "image/g3fax": { + source: "iana", + extensions: ["g3"] + }, + "image/gif": { + source: "iana", + compressible: false, + extensions: ["gif"] + }, + "image/heic": { + source: "iana", + extensions: ["heic"] + }, + "image/heic-sequence": { + source: "iana", + extensions: ["heics"] + }, + "image/heif": { + source: "iana", + extensions: ["heif"] + }, + "image/heif-sequence": { + source: "iana", + extensions: ["heifs"] + }, + "image/hej2k": { + source: "iana", + extensions: ["hej2"] + }, + "image/ief": { + source: "iana", + extensions: ["ief"] + }, + "image/j2c": { + source: "iana" + }, + "image/jaii": { + source: "iana", + extensions: ["jaii"] + }, + "image/jais": { + source: "iana", + extensions: ["jais"] + }, + "image/jls": { + source: "iana", + extensions: ["jls"] + }, + "image/jp2": { + source: "iana", + compressible: false, + extensions: ["jp2", "jpg2"] + }, + "image/jpeg": { + source: "iana", + compressible: false, + extensions: ["jpg", "jpeg", "jpe"] + }, + "image/jph": { + source: "iana", + extensions: ["jph"] + }, + "image/jphc": { + source: "iana", + extensions: ["jhc"] + }, + "image/jpm": { + source: "iana", + compressible: false, + extensions: ["jpm", "jpgm"] + }, + "image/jpx": { + source: "iana", + compressible: false, + extensions: ["jpx", "jpf"] + }, + "image/jxl": { + source: "iana", + extensions: ["jxl"] + }, + "image/jxr": { + source: "iana", + extensions: ["jxr"] + }, + "image/jxra": { + source: "iana", + extensions: ["jxra"] + }, + "image/jxrs": { + source: "iana", + extensions: ["jxrs"] + }, + "image/jxs": { + source: "iana", + extensions: ["jxs"] + }, + "image/jxsc": { + source: "iana", + extensions: ["jxsc"] + }, + "image/jxsi": { + source: "iana", + extensions: ["jxsi"] + }, + "image/jxss": { + source: "iana", + extensions: ["jxss"] + }, + "image/ktx": { + source: "iana", + extensions: ["ktx"] + }, + "image/ktx2": { + source: "iana", + extensions: ["ktx2"] + }, + "image/naplps": { + source: "iana" + }, + "image/pjpeg": { + compressible: false, + extensions: ["jfif"] + }, + "image/png": { + source: "iana", + compressible: false, + extensions: ["png"] + }, + "image/prs.btif": { + source: "iana", + extensions: ["btif", "btf"] + }, + "image/prs.pti": { + source: "iana", + extensions: ["pti"] + }, + "image/pwg-raster": { + source: "iana" + }, + "image/sgi": { + source: "apache", + extensions: ["sgi"] + }, + "image/svg+xml": { + source: "iana", + compressible: true, + extensions: ["svg", "svgz"] + }, + "image/t38": { + source: "iana", + extensions: ["t38"] + }, + "image/tiff": { + source: "iana", + compressible: false, + extensions: ["tif", "tiff"] + }, + "image/tiff-fx": { + source: "iana", + extensions: ["tfx"] + }, + "image/vnd.adobe.photoshop": { + source: "iana", + compressible: true, + extensions: ["psd"] + }, + "image/vnd.airzip.accelerator.azv": { + source: "iana", + extensions: ["azv"] + }, + "image/vnd.clip": { + source: "iana" + }, + "image/vnd.cns.inf2": { + source: "iana" + }, + "image/vnd.dece.graphic": { + source: "iana", + extensions: ["uvi", "uvvi", "uvg", "uvvg"] + }, + "image/vnd.djvu": { + source: "iana", + extensions: ["djvu", "djv"] + }, + "image/vnd.dvb.subtitle": { + source: "iana", + extensions: ["sub"] + }, + "image/vnd.dwg": { + source: "iana", + extensions: ["dwg"] + }, + "image/vnd.dxf": { + source: "iana", + extensions: ["dxf"] + }, + "image/vnd.fastbidsheet": { + source: "iana", + extensions: ["fbs"] + }, + "image/vnd.fpx": { + source: "iana", + extensions: ["fpx"] + }, + "image/vnd.fst": { + source: "iana", + extensions: ["fst"] + }, + "image/vnd.fujixerox.edmics-mmr": { + source: "iana", + extensions: ["mmr"] + }, + "image/vnd.fujixerox.edmics-rlc": { + source: "iana", + extensions: ["rlc"] + }, + "image/vnd.globalgraphics.pgb": { + source: "iana" + }, + "image/vnd.microsoft.icon": { + source: "iana", + compressible: true, + extensions: ["ico"] + }, + "image/vnd.mix": { + source: "iana" + }, + "image/vnd.mozilla.apng": { + source: "iana" + }, + "image/vnd.ms-dds": { + compressible: true, + extensions: ["dds"] + }, + "image/vnd.ms-modi": { + source: "iana", + extensions: ["mdi"] + }, + "image/vnd.ms-photo": { + source: "apache", + extensions: ["wdp"] + }, + "image/vnd.net-fpx": { + source: "iana", + extensions: ["npx"] + }, + "image/vnd.pco.b16": { + source: "iana", + extensions: ["b16"] + }, + "image/vnd.radiance": { + source: "iana" + }, + "image/vnd.sealed.png": { + source: "iana" + }, + "image/vnd.sealedmedia.softseal.gif": { + source: "iana" + }, + "image/vnd.sealedmedia.softseal.jpg": { + source: "iana" + }, + "image/vnd.svf": { + source: "iana" + }, + "image/vnd.tencent.tap": { + source: "iana", + extensions: ["tap"] + }, + "image/vnd.valve.source.texture": { + source: "iana", + extensions: ["vtf"] + }, + "image/vnd.wap.wbmp": { + source: "iana", + extensions: ["wbmp"] + }, + "image/vnd.xiff": { + source: "iana", + extensions: ["xif"] + }, + "image/vnd.zbrush.pcx": { + source: "iana", + extensions: ["pcx"] + }, + "image/webp": { + source: "iana", + extensions: ["webp"] + }, + "image/wmf": { + source: "iana", + extensions: ["wmf"] + }, + "image/x-3ds": { + source: "apache", + extensions: ["3ds"] + }, + "image/x-adobe-dng": { + extensions: ["dng"] + }, + "image/x-cmu-raster": { + source: "apache", + extensions: ["ras"] + }, + "image/x-cmx": { + source: "apache", + extensions: ["cmx"] + }, + "image/x-emf": { + source: "iana" + }, + "image/x-freehand": { + source: "apache", + extensions: ["fh", "fhc", "fh4", "fh5", "fh7"] + }, + "image/x-icon": { + source: "apache", + compressible: true, + extensions: ["ico"] + }, + "image/x-jng": { + source: "nginx", + extensions: ["jng"] + }, + "image/x-mrsid-image": { + source: "apache", + extensions: ["sid"] + }, + "image/x-ms-bmp": { + source: "nginx", + compressible: true, + extensions: ["bmp"] + }, + "image/x-pcx": { + source: "apache", + extensions: ["pcx"] + }, + "image/x-pict": { + source: "apache", + extensions: ["pic", "pct"] + }, + "image/x-portable-anymap": { + source: "apache", + extensions: ["pnm"] + }, + "image/x-portable-bitmap": { + source: "apache", + extensions: ["pbm"] + }, + "image/x-portable-graymap": { + source: "apache", + extensions: ["pgm"] + }, + "image/x-portable-pixmap": { + source: "apache", + extensions: ["ppm"] + }, + "image/x-rgb": { + source: "apache", + extensions: ["rgb"] + }, + "image/x-tga": { + source: "apache", + extensions: ["tga"] + }, + "image/x-wmf": { + source: "iana" + }, + "image/x-xbitmap": { + source: "apache", + extensions: ["xbm"] + }, + "image/x-xcf": { + compressible: false + }, + "image/x-xpixmap": { + source: "apache", + extensions: ["xpm"] + }, + "image/x-xwindowdump": { + source: "apache", + extensions: ["xwd"] + }, + "message/bhttp": { + source: "iana" + }, + "message/cpim": { + source: "iana" + }, + "message/delivery-status": { + source: "iana" + }, + "message/disposition-notification": { + source: "iana", + extensions: [ + "disposition-notification" + ] + }, + "message/external-body": { + source: "iana" + }, + "message/feedback-report": { + source: "iana" + }, + "message/global": { + source: "iana", + extensions: ["u8msg"] + }, + "message/global-delivery-status": { + source: "iana", + extensions: ["u8dsn"] + }, + "message/global-disposition-notification": { + source: "iana", + extensions: ["u8mdn"] + }, + "message/global-headers": { + source: "iana", + extensions: ["u8hdr"] + }, + "message/http": { + source: "iana", + compressible: false + }, + "message/imdn+xml": { + source: "iana", + compressible: true + }, + "message/mls": { + source: "iana" + }, + "message/news": { + source: "apache" + }, + "message/ohttp-req": { + source: "iana" + }, + "message/ohttp-res": { + source: "iana" + }, + "message/partial": { + source: "iana", + compressible: false + }, + "message/rfc822": { + source: "iana", + compressible: true, + extensions: ["eml", "mime", "mht", "mhtml"] + }, + "message/s-http": { + source: "apache" + }, + "message/sip": { + source: "iana" + }, + "message/sipfrag": { + source: "iana" + }, + "message/tracking-status": { + source: "iana" + }, + "message/vnd.si.simp": { + source: "apache" + }, + "message/vnd.wfa.wsc": { + source: "iana", + extensions: ["wsc"] + }, + "model/3mf": { + source: "iana", + extensions: ["3mf"] + }, + "model/e57": { + source: "iana" + }, + "model/gltf+json": { + source: "iana", + compressible: true, + extensions: ["gltf"] + }, + "model/gltf-binary": { + source: "iana", + compressible: true, + extensions: ["glb"] + }, + "model/iges": { + source: "iana", + compressible: false, + extensions: ["igs", "iges"] + }, + "model/jt": { + source: "iana", + extensions: ["jt"] + }, + "model/mesh": { + source: "iana", + compressible: false, + extensions: ["msh", "mesh", "silo"] + }, + "model/mtl": { + source: "iana", + extensions: ["mtl"] + }, + "model/obj": { + source: "iana", + extensions: ["obj"] + }, + "model/prc": { + source: "iana", + extensions: ["prc"] + }, + "model/step": { + source: "iana", + extensions: ["step", "stp", "stpnc", "p21", "210"] + }, + "model/step+xml": { + source: "iana", + compressible: true, + extensions: ["stpx"] + }, + "model/step+zip": { + source: "iana", + compressible: false, + extensions: ["stpz"] + }, + "model/step-xml+zip": { + source: "iana", + compressible: false, + extensions: ["stpxz"] + }, + "model/stl": { + source: "iana", + extensions: ["stl"] + }, + "model/u3d": { + source: "iana", + extensions: ["u3d"] + }, + "model/vnd.bary": { + source: "iana", + extensions: ["bary"] + }, + "model/vnd.cld": { + source: "iana", + extensions: ["cld"] + }, + "model/vnd.collada+xml": { + source: "iana", + compressible: true, + extensions: ["dae"] + }, + "model/vnd.dwf": { + source: "iana", + extensions: ["dwf"] + }, + "model/vnd.flatland.3dml": { + source: "iana" + }, + "model/vnd.gdl": { + source: "iana", + extensions: ["gdl"] + }, + "model/vnd.gs-gdl": { + source: "apache" + }, + "model/vnd.gs.gdl": { + source: "iana" + }, + "model/vnd.gtw": { + source: "iana", + extensions: ["gtw"] + }, + "model/vnd.moml+xml": { + source: "iana", + compressible: true + }, + "model/vnd.mts": { + source: "iana", + extensions: ["mts"] + }, + "model/vnd.opengex": { + source: "iana", + extensions: ["ogex"] + }, + "model/vnd.parasolid.transmit.binary": { + source: "iana", + extensions: ["x_b"] + }, + "model/vnd.parasolid.transmit.text": { + source: "iana", + extensions: ["x_t"] + }, + "model/vnd.pytha.pyox": { + source: "iana", + extensions: ["pyo", "pyox"] + }, + "model/vnd.rosette.annotated-data-model": { + source: "iana" + }, + "model/vnd.sap.vds": { + source: "iana", + extensions: ["vds"] + }, + "model/vnd.usda": { + source: "iana", + extensions: ["usda"] + }, + "model/vnd.usdz+zip": { + source: "iana", + compressible: false, + extensions: ["usdz"] + }, + "model/vnd.valve.source.compiled-map": { + source: "iana", + extensions: ["bsp"] + }, + "model/vnd.vtu": { + source: "iana", + extensions: ["vtu"] + }, + "model/vrml": { + source: "iana", + compressible: false, + extensions: ["wrl", "vrml"] + }, + "model/x3d+binary": { + source: "apache", + compressible: false, + extensions: ["x3db", "x3dbz"] + }, + "model/x3d+fastinfoset": { + source: "iana", + extensions: ["x3db"] + }, + "model/x3d+vrml": { + source: "apache", + compressible: false, + extensions: ["x3dv", "x3dvz"] + }, + "model/x3d+xml": { + source: "iana", + compressible: true, + extensions: ["x3d", "x3dz"] + }, + "model/x3d-vrml": { + source: "iana", + extensions: ["x3dv"] + }, + "multipart/alternative": { + source: "iana", + compressible: false + }, + "multipart/appledouble": { + source: "iana" + }, + "multipart/byteranges": { + source: "iana" + }, + "multipart/digest": { + source: "iana" + }, + "multipart/encrypted": { + source: "iana", + compressible: false + }, + "multipart/form-data": { + source: "iana", + compressible: false + }, + "multipart/header-set": { + source: "iana" + }, + "multipart/mixed": { + source: "iana" + }, + "multipart/multilingual": { + source: "iana" + }, + "multipart/parallel": { + source: "iana" + }, + "multipart/related": { + source: "iana", + compressible: false + }, + "multipart/report": { + source: "iana" + }, + "multipart/signed": { + source: "iana", + compressible: false + }, + "multipart/vnd.bint.med-plus": { + source: "iana" + }, + "multipart/voice-message": { + source: "iana" + }, + "multipart/x-mixed-replace": { + source: "iana" + }, + "text/1d-interleaved-parityfec": { + source: "iana" + }, + "text/cache-manifest": { + source: "iana", + compressible: true, + extensions: ["appcache", "manifest"] + }, + "text/calendar": { + source: "iana", + extensions: ["ics", "ifb"] + }, + "text/calender": { + compressible: true + }, + "text/cmd": { + compressible: true + }, + "text/coffeescript": { + extensions: ["coffee", "litcoffee"] + }, + "text/cql": { + source: "iana" + }, + "text/cql-expression": { + source: "iana" + }, + "text/cql-identifier": { + source: "iana" + }, + "text/css": { + source: "iana", + charset: "UTF-8", + compressible: true, + extensions: ["css"] + }, + "text/csv": { + source: "iana", + compressible: true, + extensions: ["csv"] + }, + "text/csv-schema": { + source: "iana" + }, + "text/directory": { + source: "iana" + }, + "text/dns": { + source: "iana" + }, + "text/ecmascript": { + source: "apache" + }, + "text/encaprtp": { + source: "iana" + }, + "text/enriched": { + source: "iana" + }, + "text/fhirpath": { + source: "iana" + }, + "text/flexfec": { + source: "iana" + }, + "text/fwdred": { + source: "iana" + }, + "text/gff3": { + source: "iana" + }, + "text/grammar-ref-list": { + source: "iana" + }, + "text/hl7v2": { + source: "iana" + }, + "text/html": { + source: "iana", + compressible: true, + extensions: ["html", "htm", "shtml"] + }, + "text/jade": { + extensions: ["jade"] + }, + "text/javascript": { + source: "iana", + charset: "UTF-8", + compressible: true, + extensions: ["js", "mjs"] + }, + "text/jcr-cnd": { + source: "iana" + }, + "text/jsx": { + compressible: true, + extensions: ["jsx"] + }, + "text/less": { + compressible: true, + extensions: ["less"] + }, + "text/markdown": { + source: "iana", + compressible: true, + extensions: ["md", "markdown"] + }, + "text/mathml": { + source: "nginx", + extensions: ["mml"] + }, + "text/mdx": { + compressible: true, + extensions: ["mdx"] + }, + "text/mizar": { + source: "iana" + }, + "text/n3": { + source: "iana", + charset: "UTF-8", + compressible: true, + extensions: ["n3"] + }, + "text/parameters": { + source: "iana", + charset: "UTF-8" + }, + "text/parityfec": { + source: "iana" + }, + "text/plain": { + source: "iana", + compressible: true, + extensions: ["txt", "text", "conf", "def", "list", "log", "in", "ini"] + }, + "text/provenance-notation": { + source: "iana", + charset: "UTF-8" + }, + "text/prs.fallenstein.rst": { + source: "iana" + }, + "text/prs.lines.tag": { + source: "iana", + extensions: ["dsc"] + }, + "text/prs.prop.logic": { + source: "iana" + }, + "text/prs.texi": { + source: "iana" + }, + "text/raptorfec": { + source: "iana" + }, + "text/red": { + source: "iana" + }, + "text/rfc822-headers": { + source: "iana" + }, + "text/richtext": { + source: "iana", + compressible: true, + extensions: ["rtx"] + }, + "text/rtf": { + source: "iana", + compressible: true, + extensions: ["rtf"] + }, + "text/rtp-enc-aescm128": { + source: "iana" + }, + "text/rtploopback": { + source: "iana" + }, + "text/rtx": { + source: "iana" + }, + "text/sgml": { + source: "iana", + extensions: ["sgml", "sgm"] + }, + "text/shaclc": { + source: "iana" + }, + "text/shex": { + source: "iana", + extensions: ["shex"] + }, + "text/slim": { + extensions: ["slim", "slm"] + }, + "text/spdx": { + source: "iana", + extensions: ["spdx"] + }, + "text/strings": { + source: "iana" + }, + "text/stylus": { + extensions: ["stylus", "styl"] + }, + "text/t140": { + source: "iana" + }, + "text/tab-separated-values": { + source: "iana", + compressible: true, + extensions: ["tsv"] + }, + "text/troff": { + source: "iana", + extensions: ["t", "tr", "roff", "man", "me", "ms"] + }, + "text/turtle": { + source: "iana", + charset: "UTF-8", + extensions: ["ttl"] + }, + "text/ulpfec": { + source: "iana" + }, + "text/uri-list": { + source: "iana", + compressible: true, + extensions: ["uri", "uris", "urls"] + }, + "text/vcard": { + source: "iana", + compressible: true, + extensions: ["vcard"] + }, + "text/vnd.a": { + source: "iana" + }, + "text/vnd.abc": { + source: "iana" + }, + "text/vnd.ascii-art": { + source: "iana" + }, + "text/vnd.curl": { + source: "iana", + extensions: ["curl"] + }, + "text/vnd.curl.dcurl": { + source: "apache", + extensions: ["dcurl"] + }, + "text/vnd.curl.mcurl": { + source: "apache", + extensions: ["mcurl"] + }, + "text/vnd.curl.scurl": { + source: "apache", + extensions: ["scurl"] + }, + "text/vnd.debian.copyright": { + source: "iana", + charset: "UTF-8" + }, + "text/vnd.dmclientscript": { + source: "iana" + }, + "text/vnd.dvb.subtitle": { + source: "iana", + extensions: ["sub"] + }, + "text/vnd.esmertec.theme-descriptor": { + source: "iana", + charset: "UTF-8" + }, + "text/vnd.exchangeable": { + source: "iana" + }, + "text/vnd.familysearch.gedcom": { + source: "iana", + extensions: ["ged"] + }, + "text/vnd.ficlab.flt": { + source: "iana" + }, + "text/vnd.fly": { + source: "iana", + extensions: ["fly"] + }, + "text/vnd.fmi.flexstor": { + source: "iana", + extensions: ["flx"] + }, + "text/vnd.gml": { + source: "iana" + }, + "text/vnd.graphviz": { + source: "iana", + extensions: ["gv"] + }, + "text/vnd.hans": { + source: "iana" + }, + "text/vnd.hgl": { + source: "iana" + }, + "text/vnd.in3d.3dml": { + source: "iana", + extensions: ["3dml"] + }, + "text/vnd.in3d.spot": { + source: "iana", + extensions: ["spot"] + }, + "text/vnd.iptc.newsml": { + source: "iana" + }, + "text/vnd.iptc.nitf": { + source: "iana" + }, + "text/vnd.latex-z": { + source: "iana" + }, + "text/vnd.motorola.reflex": { + source: "iana" + }, + "text/vnd.ms-mediapackage": { + source: "iana" + }, + "text/vnd.net2phone.commcenter.command": { + source: "iana" + }, + "text/vnd.radisys.msml-basic-layout": { + source: "iana" + }, + "text/vnd.senx.warpscript": { + source: "iana" + }, + "text/vnd.si.uricatalogue": { + source: "apache" + }, + "text/vnd.sosi": { + source: "iana" + }, + "text/vnd.sun.j2me.app-descriptor": { + source: "iana", + charset: "UTF-8", + extensions: ["jad"] + }, + "text/vnd.trolltech.linguist": { + source: "iana", + charset: "UTF-8" + }, + "text/vnd.vcf": { + source: "iana" + }, + "text/vnd.wap.si": { + source: "iana" + }, + "text/vnd.wap.sl": { + source: "iana" + }, + "text/vnd.wap.wml": { + source: "iana", + extensions: ["wml"] + }, + "text/vnd.wap.wmlscript": { + source: "iana", + extensions: ["wmls"] + }, + "text/vnd.zoo.kcl": { + source: "iana" + }, + "text/vtt": { + source: "iana", + charset: "UTF-8", + compressible: true, + extensions: ["vtt"] + }, + "text/wgsl": { + source: "iana", + extensions: ["wgsl"] + }, + "text/x-asm": { + source: "apache", + extensions: ["s", "asm"] + }, + "text/x-c": { + source: "apache", + extensions: ["c", "cc", "cxx", "cpp", "h", "hh", "dic"] + }, + "text/x-component": { + source: "nginx", + extensions: ["htc"] + }, + "text/x-fortran": { + source: "apache", + extensions: ["f", "for", "f77", "f90"] + }, + "text/x-gwt-rpc": { + compressible: true + }, + "text/x-handlebars-template": { + extensions: ["hbs"] + }, + "text/x-java-source": { + source: "apache", + extensions: ["java"] + }, + "text/x-jquery-tmpl": { + compressible: true + }, + "text/x-lua": { + extensions: ["lua"] + }, + "text/x-markdown": { + compressible: true, + extensions: ["mkd"] + }, + "text/x-nfo": { + source: "apache", + extensions: ["nfo"] + }, + "text/x-opml": { + source: "apache", + extensions: ["opml"] + }, + "text/x-org": { + compressible: true, + extensions: ["org"] + }, + "text/x-pascal": { + source: "apache", + extensions: ["p", "pas"] + }, + "text/x-processing": { + compressible: true, + extensions: ["pde"] + }, + "text/x-sass": { + extensions: ["sass"] + }, + "text/x-scss": { + extensions: ["scss"] + }, + "text/x-setext": { + source: "apache", + extensions: ["etx"] + }, + "text/x-sfv": { + source: "apache", + extensions: ["sfv"] + }, + "text/x-suse-ymp": { + compressible: true, + extensions: ["ymp"] + }, + "text/x-uuencode": { + source: "apache", + extensions: ["uu"] + }, + "text/x-vcalendar": { + source: "apache", + extensions: ["vcs"] + }, + "text/x-vcard": { + source: "apache", + extensions: ["vcf"] + }, + "text/xml": { + source: "iana", + compressible: true, + extensions: ["xml"] + }, + "text/xml-external-parsed-entity": { + source: "iana" + }, + "text/yaml": { + compressible: true, + extensions: ["yaml", "yml"] + }, + "video/1d-interleaved-parityfec": { + source: "iana" + }, + "video/3gpp": { + source: "iana", + extensions: ["3gp", "3gpp"] + }, + "video/3gpp-tt": { + source: "iana" + }, + "video/3gpp2": { + source: "iana", + extensions: ["3g2"] + }, + "video/av1": { + source: "iana" + }, + "video/bmpeg": { + source: "iana" + }, + "video/bt656": { + source: "iana" + }, + "video/celb": { + source: "iana" + }, + "video/dv": { + source: "iana" + }, + "video/encaprtp": { + source: "iana" + }, + "video/evc": { + source: "iana" + }, + "video/ffv1": { + source: "iana" + }, + "video/flexfec": { + source: "iana" + }, + "video/h261": { + source: "iana", + extensions: ["h261"] + }, + "video/h263": { + source: "iana", + extensions: ["h263"] + }, + "video/h263-1998": { + source: "iana" + }, + "video/h263-2000": { + source: "iana" + }, + "video/h264": { + source: "iana", + extensions: ["h264"] + }, + "video/h264-rcdo": { + source: "iana" + }, + "video/h264-svc": { + source: "iana" + }, + "video/h265": { + source: "iana" + }, + "video/h266": { + source: "iana" + }, + "video/iso.segment": { + source: "iana", + extensions: ["m4s"] + }, + "video/jpeg": { + source: "iana", + extensions: ["jpgv"] + }, + "video/jpeg2000": { + source: "iana" + }, + "video/jpm": { + source: "apache", + extensions: ["jpm", "jpgm"] + }, + "video/jxsv": { + source: "iana" + }, + "video/lottie+json": { + source: "iana", + compressible: true + }, + "video/matroska": { + source: "iana" + }, + "video/matroska-3d": { + source: "iana" + }, + "video/mj2": { + source: "iana", + extensions: ["mj2", "mjp2"] + }, + "video/mp1s": { + source: "iana" + }, + "video/mp2p": { + source: "iana" + }, + "video/mp2t": { + source: "iana", + extensions: ["ts", "m2t", "m2ts", "mts"] + }, + "video/mp4": { + source: "iana", + compressible: false, + extensions: ["mp4", "mp4v", "mpg4"] + }, + "video/mp4v-es": { + source: "iana" + }, + "video/mpeg": { + source: "iana", + compressible: false, + extensions: ["mpeg", "mpg", "mpe", "m1v", "m2v"] + }, + "video/mpeg4-generic": { + source: "iana" + }, + "video/mpv": { + source: "iana" + }, + "video/nv": { + source: "iana" + }, + "video/ogg": { + source: "iana", + compressible: false, + extensions: ["ogv"] + }, + "video/parityfec": { + source: "iana" + }, + "video/pointer": { + source: "iana" + }, + "video/quicktime": { + source: "iana", + compressible: false, + extensions: ["qt", "mov"] + }, + "video/raptorfec": { + source: "iana" + }, + "video/raw": { + source: "iana" + }, + "video/rtp-enc-aescm128": { + source: "iana" + }, + "video/rtploopback": { + source: "iana" + }, + "video/rtx": { + source: "iana" + }, + "video/scip": { + source: "iana" + }, + "video/smpte291": { + source: "iana" + }, + "video/smpte292m": { + source: "iana" + }, + "video/ulpfec": { + source: "iana" + }, + "video/vc1": { + source: "iana" + }, + "video/vc2": { + source: "iana" + }, + "video/vnd.cctv": { + source: "iana" + }, + "video/vnd.dece.hd": { + source: "iana", + extensions: ["uvh", "uvvh"] + }, + "video/vnd.dece.mobile": { + source: "iana", + extensions: ["uvm", "uvvm"] + }, + "video/vnd.dece.mp4": { + source: "iana" + }, + "video/vnd.dece.pd": { + source: "iana", + extensions: ["uvp", "uvvp"] + }, + "video/vnd.dece.sd": { + source: "iana", + extensions: ["uvs", "uvvs"] + }, + "video/vnd.dece.video": { + source: "iana", + extensions: ["uvv", "uvvv"] + }, + "video/vnd.directv.mpeg": { + source: "iana" + }, + "video/vnd.directv.mpeg-tts": { + source: "iana" + }, + "video/vnd.dlna.mpeg-tts": { + source: "iana" + }, + "video/vnd.dvb.file": { + source: "iana", + extensions: ["dvb"] + }, + "video/vnd.fvt": { + source: "iana", + extensions: ["fvt"] + }, + "video/vnd.hns.video": { + source: "iana" + }, + "video/vnd.iptvforum.1dparityfec-1010": { + source: "iana" + }, + "video/vnd.iptvforum.1dparityfec-2005": { + source: "iana" + }, + "video/vnd.iptvforum.2dparityfec-1010": { + source: "iana" + }, + "video/vnd.iptvforum.2dparityfec-2005": { + source: "iana" + }, + "video/vnd.iptvforum.ttsavc": { + source: "iana" + }, + "video/vnd.iptvforum.ttsmpeg2": { + source: "iana" + }, + "video/vnd.motorola.video": { + source: "iana" + }, + "video/vnd.motorola.videop": { + source: "iana" + }, + "video/vnd.mpegurl": { + source: "iana", + extensions: ["mxu", "m4u"] + }, + "video/vnd.ms-playready.media.pyv": { + source: "iana", + extensions: ["pyv"] + }, + "video/vnd.nokia.interleaved-multimedia": { + source: "iana" + }, + "video/vnd.nokia.mp4vr": { + source: "iana" + }, + "video/vnd.nokia.videovoip": { + source: "iana" + }, + "video/vnd.objectvideo": { + source: "iana" + }, + "video/vnd.planar": { + source: "iana" + }, + "video/vnd.radgamettools.bink": { + source: "iana" + }, + "video/vnd.radgamettools.smacker": { + source: "apache" + }, + "video/vnd.sealed.mpeg1": { + source: "iana" + }, + "video/vnd.sealed.mpeg4": { + source: "iana" + }, + "video/vnd.sealed.swf": { + source: "iana" + }, + "video/vnd.sealedmedia.softseal.mov": { + source: "iana" + }, + "video/vnd.uvvu.mp4": { + source: "iana", + extensions: ["uvu", "uvvu"] + }, + "video/vnd.vivo": { + source: "iana", + extensions: ["viv"] + }, + "video/vnd.youtube.yt": { + source: "iana" + }, + "video/vp8": { + source: "iana" + }, + "video/vp9": { + source: "iana" + }, + "video/webm": { + source: "apache", + compressible: false, + extensions: ["webm"] + }, + "video/x-f4v": { + source: "apache", + extensions: ["f4v"] + }, + "video/x-fli": { + source: "apache", + extensions: ["fli"] + }, + "video/x-flv": { + source: "apache", + compressible: false, + extensions: ["flv"] + }, + "video/x-m4v": { + source: "apache", + extensions: ["m4v"] + }, + "video/x-matroska": { + source: "apache", + compressible: false, + extensions: ["mkv", "mk3d", "mks"] + }, + "video/x-mng": { + source: "apache", + extensions: ["mng"] + }, + "video/x-ms-asf": { + source: "apache", + extensions: ["asf", "asx"] + }, + "video/x-ms-vob": { + source: "apache", + extensions: ["vob"] + }, + "video/x-ms-wm": { + source: "apache", + extensions: ["wm"] + }, + "video/x-ms-wmv": { + source: "apache", + compressible: false, + extensions: ["wmv"] + }, + "video/x-ms-wmx": { + source: "apache", + extensions: ["wmx"] + }, + "video/x-ms-wvx": { + source: "apache", + extensions: ["wvx"] + }, + "video/x-msvideo": { + source: "apache", + extensions: ["avi"] + }, + "video/x-sgi-movie": { + source: "apache", + extensions: ["movie"] + }, + "video/x-smv": { + source: "apache", + extensions: ["smv"] + }, + "x-conference/x-cooltalk": { + source: "apache", + extensions: ["ice"] + }, + "x-shader/x-fragment": { + compressible: true + }, + "x-shader/x-vertex": { + compressible: true + } + }; + } +}); +var require_mime_db4 = __commonJS2({ + "node_modules/send/node_modules/mime-db/index.js"(exports2, module2) { + module2.exports = require_db4(); + } +}); +var require_mimeScore4 = __commonJS2({ + "node_modules/send/node_modules/mime-types/mimeScore.js"(exports2, module2) { + var FACET_SCORES = { + "prs.": 100, + "x-": 200, + "x.": 300, + "vnd.": 400, + default: 900 + }; + var SOURCE_SCORES = { + nginx: 10, + apache: 20, + iana: 40, + default: 30 + // definitions added by `jshttp/mime-db` project? + }; + var TYPE_SCORES = { + // prefer application/xml over text/xml + // prefer application/rtf over text/rtf + application: 1, + // prefer font/woff over application/font-woff + font: 2, + default: 0 + }; + module2.exports = function mimeScore(mimeType, source = "default") { + if (mimeType === "application/octet-stream") { + return 0; + } + const [type, subtype] = mimeType.split("/"); + const facet = subtype.replace(/(\.|x-).*/, "$1"); + const facetScore = FACET_SCORES[facet] || FACET_SCORES.default; + const sourceScore = SOURCE_SCORES[source] || SOURCE_SCORES.default; + const typeScore = TYPE_SCORES[type] || TYPE_SCORES.default; + const lengthScore = 1 - mimeType.length / 100; + return facetScore + sourceScore + typeScore + lengthScore; + }; + } +}); +var require_mime_types4 = __commonJS2({ + "node_modules/send/node_modules/mime-types/index.js"(exports2) { + "use strict"; + var db = require_mime_db4(); + var extname = require("path").extname; + var mimeScore = require_mimeScore4(); + var EXTRACT_TYPE_REGEXP = /^\s*([^;\s]*)(?:;|\s|$)/; + var TEXT_TYPE_REGEXP = /^text\//i; + exports2.charset = charset; + exports2.charsets = { lookup: charset }; + exports2.contentType = contentType2; + exports2.extension = extension; + exports2.extensions = /* @__PURE__ */ Object.create(null); + exports2.lookup = lookup; + exports2.types = /* @__PURE__ */ Object.create(null); + exports2._extensionConflicts = []; + populateMaps(exports2.extensions, exports2.types); + function charset(type) { + if (!type || typeof type !== "string") { + return false; + } + var match = EXTRACT_TYPE_REGEXP.exec(type); + var mime = match && db[match[1].toLowerCase()]; + if (mime && mime.charset) { + return mime.charset; + } + if (match && TEXT_TYPE_REGEXP.test(match[1])) { + return "UTF-8"; + } + return false; + } + function contentType2(str) { + if (!str || typeof str !== "string") { + return false; + } + var mime = str.indexOf("/") === -1 ? exports2.lookup(str) : str; + if (!mime) { + return false; + } + if (mime.indexOf("charset") === -1) { + var charset2 = exports2.charset(mime); + if (charset2) mime += "; charset=" + charset2.toLowerCase(); + } + return mime; + } + function extension(type) { + if (!type || typeof type !== "string") { + return false; + } + var match = EXTRACT_TYPE_REGEXP.exec(type); + var exts = match && exports2.extensions[match[1].toLowerCase()]; + if (!exts || !exts.length) { + return false; + } + return exts[0]; + } + function lookup(path) { + if (!path || typeof path !== "string") { + return false; + } + var extension2 = extname("x." + path).toLowerCase().slice(1); + if (!extension2) { + return false; + } + return exports2.types[extension2] || false; + } + function populateMaps(extensions, types) { + Object.keys(db).forEach(function forEachMimeType(type) { + var mime = db[type]; + var exts = mime.extensions; + if (!exts || !exts.length) { + return; + } + extensions[type] = exts; + for (var i = 0; i < exts.length; i++) { + var extension2 = exts[i]; + types[extension2] = _preferredType(extension2, types[extension2], type); + const legacyType = _preferredTypeLegacy( + extension2, + types[extension2], + type + ); + if (legacyType !== types[extension2]) { + exports2._extensionConflicts.push([extension2, legacyType, types[extension2]]); + } + } + }); + } + function _preferredType(ext, type0, type1) { + var score0 = type0 ? mimeScore(type0, db[type0].source) : 0; + var score1 = type1 ? mimeScore(type1, db[type1].source) : 0; + return score0 > score1 ? type0 : type1; + } + function _preferredTypeLegacy(ext, type0, type1) { + var SOURCE_RANK = ["nginx", "apache", void 0, "iana"]; + var score0 = type0 ? SOURCE_RANK.indexOf(db[type0].source) : 0; + var score1 = type1 ? SOURCE_RANK.indexOf(db[type1].source) : 0; + if (exports2.types[extension] !== "application/octet-stream" && (score0 > score1 || score0 === score1 && exports2.types[extension]?.slice(0, 12) === "application/")) { + return type0; + } + return score0 > score1 ? type0 : type1; + } + } +}); +var require_send = __commonJS2({ + "node_modules/send/index.js"(exports2, module2) { + "use strict"; + var createError = require_http_errors(); + var debug = require_src()("send"); + var encodeUrl = require_encodeurl(); + var escapeHtml = require_escape_html(); + var etag = require_etag(); + var fresh = require_fresh(); + var fs = require("fs"); + var mime = require_mime_types4(); + var ms = require_ms(); + var onFinished = require_on_finished(); + var parseRange = require_range_parser(); + var path = require("path"); + var statuses = require_statuses(); + var Stream = require("stream"); + var util22 = require("util"); + var extname = path.extname; + var join = path.join; + var normalize = path.normalize; + var resolve = path.resolve; + var sep = path.sep; + var BYTES_RANGE_REGEXP = /^ *bytes=/; + var MAX_MAXAGE = 60 * 60 * 24 * 365 * 1e3; + var UP_PATH_REGEXP = /(?:^|[\\/])\.\.(?:[\\/]|$)/; + module2.exports = send; + function send(req, path2, options) { + return new SendStream(req, path2, options); + } + function SendStream(req, path2, options) { + Stream.call(this); + var opts = options || {}; + this.options = opts; + this.path = path2; + this.req = req; + this._acceptRanges = opts.acceptRanges !== void 0 ? Boolean(opts.acceptRanges) : true; + this._cacheControl = opts.cacheControl !== void 0 ? Boolean(opts.cacheControl) : true; + this._etag = opts.etag !== void 0 ? Boolean(opts.etag) : true; + this._dotfiles = opts.dotfiles !== void 0 ? opts.dotfiles : "ignore"; + if (this._dotfiles !== "ignore" && this._dotfiles !== "allow" && this._dotfiles !== "deny") { + throw new TypeError('dotfiles option must be "allow", "deny", or "ignore"'); + } + this._extensions = opts.extensions !== void 0 ? normalizeList(opts.extensions, "extensions option") : []; + this._immutable = opts.immutable !== void 0 ? Boolean(opts.immutable) : false; + this._index = opts.index !== void 0 ? normalizeList(opts.index, "index option") : ["index.html"]; + this._lastModified = opts.lastModified !== void 0 ? Boolean(opts.lastModified) : true; + this._maxage = opts.maxAge || opts.maxage; + this._maxage = typeof this._maxage === "string" ? ms(this._maxage) : Number(this._maxage); + this._maxage = !isNaN(this._maxage) ? Math.min(Math.max(0, this._maxage), MAX_MAXAGE) : 0; + this._root = opts.root ? resolve(opts.root) : null; + } + util22.inherits(SendStream, Stream); + SendStream.prototype.error = function error(status, err2) { + if (hasListeners(this, "error")) { + return this.emit("error", createHttpError(status, err2)); + } + var res = this.res; + var msg = statuses.message[status] || String(status); + var doc = createHtmlDocument("Error", escapeHtml(msg)); + clearHeaders(res); + if (err2 && err2.headers) { + setHeaders(res, err2.headers); + } + res.statusCode = status; + res.setHeader("Content-Type", "text/html; charset=UTF-8"); + res.setHeader("Content-Length", Buffer.byteLength(doc)); + res.setHeader("Content-Security-Policy", "default-src 'none'"); + res.setHeader("X-Content-Type-Options", "nosniff"); + res.end(doc); + }; + SendStream.prototype.hasTrailingSlash = function hasTrailingSlash() { + return this.path[this.path.length - 1] === "/"; + }; + SendStream.prototype.isConditionalGET = function isConditionalGET() { + return this.req.headers["if-match"] || this.req.headers["if-unmodified-since"] || this.req.headers["if-none-match"] || this.req.headers["if-modified-since"]; + }; + SendStream.prototype.isPreconditionFailure = function isPreconditionFailure() { + var req = this.req; + var res = this.res; + var match = req.headers["if-match"]; + if (match) { + var etag2 = res.getHeader("ETag"); + return !etag2 || match !== "*" && parseTokenList(match).every(function(match2) { + return match2 !== etag2 && match2 !== "W/" + etag2 && "W/" + match2 !== etag2; + }); + } + var unmodifiedSince = parseHttpDate(req.headers["if-unmodified-since"]); + if (!isNaN(unmodifiedSince)) { + var lastModified = parseHttpDate(res.getHeader("Last-Modified")); + return isNaN(lastModified) || lastModified > unmodifiedSince; + } + return false; + }; + SendStream.prototype.removeContentHeaderFields = function removeContentHeaderFields() { + var res = this.res; + res.removeHeader("Content-Encoding"); + res.removeHeader("Content-Language"); + res.removeHeader("Content-Length"); + res.removeHeader("Content-Range"); + res.removeHeader("Content-Type"); + }; + SendStream.prototype.notModified = function notModified() { + var res = this.res; + debug("not modified"); + this.removeContentHeaderFields(); + res.statusCode = 304; + res.end(); + }; + SendStream.prototype.headersAlreadySent = function headersAlreadySent() { + var err2 = new Error("Can't set headers after they are sent."); + debug("headers already sent"); + this.error(500, err2); + }; + SendStream.prototype.isCachable = function isCachable() { + var statusCode = this.res.statusCode; + return statusCode >= 200 && statusCode < 300 || statusCode === 304; + }; + SendStream.prototype.onStatError = function onStatError(error) { + switch (error.code) { + case "ENAMETOOLONG": + case "ENOENT": + case "ENOTDIR": + this.error(404, error); + break; + default: + this.error(500, error); + break; + } + }; + SendStream.prototype.isFresh = function isFresh() { + return fresh(this.req.headers, { + etag: this.res.getHeader("ETag"), + "last-modified": this.res.getHeader("Last-Modified") + }); + }; + SendStream.prototype.isRangeFresh = function isRangeFresh() { + var ifRange = this.req.headers["if-range"]; + if (!ifRange) { + return true; + } + if (ifRange.indexOf('"') !== -1) { + var etag2 = this.res.getHeader("ETag"); + return Boolean(etag2 && ifRange.indexOf(etag2) !== -1); + } + var lastModified = this.res.getHeader("Last-Modified"); + return parseHttpDate(lastModified) <= parseHttpDate(ifRange); + }; + SendStream.prototype.redirect = function redirect(path2) { + var res = this.res; + if (hasListeners(this, "directory")) { + this.emit("directory", res, path2); + return; + } + if (this.hasTrailingSlash()) { + this.error(403); + return; + } + var loc = encodeUrl(collapseLeadingSlashes(this.path + "/")); + var doc = createHtmlDocument("Redirecting", "Redirecting to " + escapeHtml(loc)); + res.statusCode = 301; + res.setHeader("Content-Type", "text/html; charset=UTF-8"); + res.setHeader("Content-Length", Buffer.byteLength(doc)); + res.setHeader("Content-Security-Policy", "default-src 'none'"); + res.setHeader("X-Content-Type-Options", "nosniff"); + res.setHeader("Location", loc); + res.end(doc); + }; + SendStream.prototype.pipe = function pipe(res) { + var root = this._root; + this.res = res; + var path2 = decode(this.path); + if (path2 === -1) { + this.error(400); + return res; + } + if (~path2.indexOf("\0")) { + this.error(400); + return res; + } + var parts; + if (root !== null) { + if (path2) { + path2 = normalize("." + sep + path2); + } + if (UP_PATH_REGEXP.test(path2)) { + debug('malicious path "%s"', path2); + this.error(403); + return res; + } + parts = path2.split(sep); + path2 = normalize(join(root, path2)); + } else { + if (UP_PATH_REGEXP.test(path2)) { + debug('malicious path "%s"', path2); + this.error(403); + return res; + } + parts = normalize(path2).split(sep); + path2 = resolve(path2); + } + if (containsDotFile(parts)) { + debug('%s dotfile "%s"', this._dotfiles, path2); + switch (this._dotfiles) { + case "allow": + break; + case "deny": + this.error(403); + return res; + case "ignore": + default: + this.error(404); + return res; + } + } + if (this._index.length && this.hasTrailingSlash()) { + this.sendIndex(path2); + return res; + } + this.sendFile(path2); + return res; + }; + SendStream.prototype.send = function send2(path2, stat) { + var len = stat.size; + var options = this.options; + var opts = {}; + var res = this.res; + var req = this.req; + var ranges = req.headers.range; + var offset = options.start || 0; + if (res.headersSent) { + this.headersAlreadySent(); + return; + } + debug('pipe "%s"', path2); + this.setHeader(path2, stat); + this.type(path2); + if (this.isConditionalGET()) { + if (this.isPreconditionFailure()) { + this.error(412); + return; + } + if (this.isCachable() && this.isFresh()) { + this.notModified(); + return; + } + } + len = Math.max(0, len - offset); + if (options.end !== void 0) { + var bytes = options.end - offset + 1; + if (len > bytes) len = bytes; + } + if (this._acceptRanges && BYTES_RANGE_REGEXP.test(ranges)) { + ranges = parseRange(len, ranges, { + combine: true + }); + if (!this.isRangeFresh()) { + debug("range stale"); + ranges = -2; + } + if (ranges === -1) { + debug("range unsatisfiable"); + res.setHeader("Content-Range", contentRange("bytes", len)); + return this.error(416, { + headers: { "Content-Range": res.getHeader("Content-Range") } + }); + } + if (ranges !== -2 && ranges.length === 1) { + debug("range %j", ranges); + res.statusCode = 206; + res.setHeader("Content-Range", contentRange("bytes", len, ranges[0])); + offset += ranges[0].start; + len = ranges[0].end - ranges[0].start + 1; + } + } + for (var prop in options) { + opts[prop] = options[prop]; + } + opts.start = offset; + opts.end = Math.max(offset, offset + len - 1); + res.setHeader("Content-Length", len); + if (req.method === "HEAD") { + res.end(); + return; + } + this.stream(path2, opts); + }; + SendStream.prototype.sendFile = function sendFile(path2) { + var i = 0; + var self2 = this; + debug('stat "%s"', path2); + fs.stat(path2, function onstat(err2, stat) { + var pathEndsWithSep = path2[path2.length - 1] === sep; + if (err2 && err2.code === "ENOENT" && !extname(path2) && !pathEndsWithSep) { + return next(err2); + } + if (err2) return self2.onStatError(err2); + if (stat.isDirectory()) return self2.redirect(path2); + if (pathEndsWithSep) return self2.error(404); + self2.emit("file", path2, stat); + self2.send(path2, stat); + }); + function next(err2) { + if (self2._extensions.length <= i) { + return err2 ? self2.onStatError(err2) : self2.error(404); + } + var p = path2 + "." + self2._extensions[i++]; + debug('stat "%s"', p); + fs.stat(p, function(err3, stat) { + if (err3) return next(err3); + if (stat.isDirectory()) return next(); + self2.emit("file", p, stat); + self2.send(p, stat); + }); + } + }; + SendStream.prototype.sendIndex = function sendIndex(path2) { + var i = -1; + var self2 = this; + function next(err2) { + if (++i >= self2._index.length) { + if (err2) return self2.onStatError(err2); + return self2.error(404); + } + var p = join(path2, self2._index[i]); + debug('stat "%s"', p); + fs.stat(p, function(err3, stat) { + if (err3) return next(err3); + if (stat.isDirectory()) return next(); + self2.emit("file", p, stat); + self2.send(p, stat); + }); + } + next(); + }; + SendStream.prototype.stream = function stream(path2, options) { + var self2 = this; + var res = this.res; + var stream2 = fs.createReadStream(path2, options); + this.emit("stream", stream2); + stream2.pipe(res); + function cleanup() { + stream2.destroy(); + } + onFinished(res, cleanup); + stream2.on("error", function onerror(err2) { + cleanup(); + self2.onStatError(err2); + }); + stream2.on("end", function onend() { + self2.emit("end"); + }); + }; + SendStream.prototype.type = function type(path2) { + var res = this.res; + if (res.getHeader("Content-Type")) return; + var ext = extname(path2); + var type2 = mime.contentType(ext) || "application/octet-stream"; + debug("content-type %s", type2); + res.setHeader("Content-Type", type2); + }; + SendStream.prototype.setHeader = function setHeader(path2, stat) { + var res = this.res; + this.emit("headers", res, path2, stat); + if (this._acceptRanges && !res.getHeader("Accept-Ranges")) { + debug("accept ranges"); + res.setHeader("Accept-Ranges", "bytes"); + } + if (this._cacheControl && !res.getHeader("Cache-Control")) { + var cacheControl = "public, max-age=" + Math.floor(this._maxage / 1e3); + if (this._immutable) { + cacheControl += ", immutable"; + } + debug("cache-control %s", cacheControl); + res.setHeader("Cache-Control", cacheControl); + } + if (this._lastModified && !res.getHeader("Last-Modified")) { + var modified = stat.mtime.toUTCString(); + debug("modified %s", modified); + res.setHeader("Last-Modified", modified); + } + if (this._etag && !res.getHeader("ETag")) { + var val = etag(stat); + debug("etag %s", val); + res.setHeader("ETag", val); + } + }; + function clearHeaders(res) { + for (const header of res.getHeaderNames()) { + res.removeHeader(header); + } + } + function collapseLeadingSlashes(str) { + for (var i = 0; i < str.length; i++) { + if (str[i] !== "/") { + break; + } + } + return i > 1 ? "/" + str.substr(i) : str; + } + function containsDotFile(parts) { + for (var i = 0; i < parts.length; i++) { + var part = parts[i]; + if (part.length > 1 && part[0] === ".") { + return true; + } + } + return false; + } + function contentRange(type, size, range) { + return type + " " + (range ? range.start + "-" + range.end : "*") + "/" + size; + } + function createHtmlDocument(title, body) { + return '\n\n\n\n' + title + "\n\n\n
" + body + "
\n\n\n"; + } + function createHttpError(status, err2) { + if (!err2) { + return createError(status); + } + return err2 instanceof Error ? createError(status, err2, { expose: false }) : createError(status, err2); + } + function decode(path2) { + try { + return decodeURIComponent(path2); + } catch (err2) { + return -1; + } + } + function hasListeners(emitter, type) { + var count = typeof emitter.listenerCount !== "function" ? emitter.listeners(type).length : emitter.listenerCount(type); + return count > 0; + } + function normalizeList(val, name) { + var list = [].concat(val || []); + for (var i = 0; i < list.length; i++) { + if (typeof list[i] !== "string") { + throw new TypeError(name + " must be array of strings or false"); + } + } + return list; + } + function parseHttpDate(date) { + var timestamp = date && Date.parse(date); + return typeof timestamp === "number" ? timestamp : NaN; + } + function parseTokenList(str) { + var end = 0; + var list = []; + var start = 0; + for (var i = 0, len = str.length; i < len; i++) { + switch (str.charCodeAt(i)) { + case 32: + if (start === end) { + start = end = i + 1; + } + break; + case 44: + if (start !== end) { + list.push(str.substring(start, end)); + } + start = end = i + 1; + break; + default: + end = i + 1; + break; + } + } + if (start !== end) { + list.push(str.substring(start, end)); + } + return list; + } + function setHeaders(res, headers) { + var keys = Object.keys(headers); + for (var i = 0; i < keys.length; i++) { + var key = keys[i]; + res.setHeader(key, headers[key]); + } + } + } +}); +var require_vary = __commonJS2({ + "node_modules/vary/index.js"(exports2, module2) { + "use strict"; + module2.exports = vary; + module2.exports.append = append; + var FIELD_NAME_REGEXP = /^[!#$%&'*+\-.^_`|~0-9A-Za-z]+$/; + function append(header, field) { + if (typeof header !== "string") { + throw new TypeError("header argument is required"); + } + if (!field) { + throw new TypeError("field argument is required"); + } + var fields = !Array.isArray(field) ? parse(String(field)) : field; + for (var j = 0; j < fields.length; j++) { + if (!FIELD_NAME_REGEXP.test(fields[j])) { + throw new TypeError("field argument contains an invalid header name"); + } + } + if (header === "*") { + return header; + } + var val = header; + var vals = parse(header.toLowerCase()); + if (fields.indexOf("*") !== -1 || vals.indexOf("*") !== -1) { + return "*"; + } + for (var i = 0; i < fields.length; i++) { + var fld = fields[i].toLowerCase(); + if (vals.indexOf(fld) === -1) { + vals.push(fld); + val = val ? val + ", " + fields[i] : fields[i]; + } + } + return val; + } + function parse(header) { + var end = 0; + var list = []; + var start = 0; + for (var i = 0, len = header.length; i < len; i++) { + switch (header.charCodeAt(i)) { + case 32: + if (start === end) { + start = end = i + 1; + } + break; + case 44: + list.push(header.substring(start, end)); + start = end = i + 1; + break; + default: + end = i + 1; + break; + } + } + list.push(header.substring(start, end)); + return list; + } + function vary(res, field) { + if (!res || !res.getHeader || !res.setHeader) { + throw new TypeError("res argument is required"); + } + var val = res.getHeader("Vary") || ""; + var header = Array.isArray(val) ? val.join(", ") : String(val); + if (val = append(header, field)) { + res.setHeader("Vary", val); + } + } + } +}); +var require_response = __commonJS2({ + "node_modules/express/lib/response.js"(exports2, module2) { + "use strict"; + var contentDisposition = require_content_disposition(); + var createError = require_http_errors(); + var encodeUrl = require_encodeurl(); + var escapeHtml = require_escape_html(); + var http = require("node:http"); + var onFinished = require_on_finished(); + var mime = require_mime_types2(); + var path = require("node:path"); + var pathIsAbsolute = require("node:path").isAbsolute; + var statuses = require_statuses(); + var sign = require_cookie_signature().sign; + var normalizeType = require_utils3().normalizeType; + var normalizeTypes = require_utils3().normalizeTypes; + var setCharset = require_utils3().setCharset; + var cookie = require_cookie(); + var send = require_send(); + var extname = path.extname; + var resolve = path.resolve; + var vary = require_vary(); + var res = Object.create(http.ServerResponse.prototype); + module2.exports = res; + res.status = function status(code) { + if (!Number.isInteger(code)) { + throw new TypeError(`Invalid status code: ${JSON.stringify(code)}. Status code must be an integer.`); + } + if (code < 100 || code > 999) { + throw new RangeError(`Invalid status code: ${JSON.stringify(code)}. Status code must be greater than 99 and less than 1000.`); + } + this.statusCode = code; + return this; + }; + res.links = function(links) { + var link = this.get("Link") || ""; + if (link) link += ", "; + return this.set("Link", link + Object.keys(links).map(function(rel) { + if (Array.isArray(links[rel])) { + return links[rel].map(function(singleLink) { + return `<${singleLink}>; rel="${rel}"`; + }).join(", "); + } else { + return `<${links[rel]}>; rel="${rel}"`; + } + }).join(", ")); + }; + res.send = function send2(body) { + var chunk = body; + var encoding; + var req = this.req; + var type; + var app = this.app; + switch (typeof chunk) { + // string defaulting to html + case "string": + if (!this.get("Content-Type")) { + this.type("html"); + } + break; + case "boolean": + case "number": + case "object": + if (chunk === null) { + chunk = ""; + } else if (ArrayBuffer.isView(chunk)) { + if (!this.get("Content-Type")) { + this.type("bin"); + } + } else { + return this.json(chunk); + } + break; + } + if (typeof chunk === "string") { + encoding = "utf8"; + type = this.get("Content-Type"); + if (typeof type === "string") { + this.set("Content-Type", setCharset(type, "utf-8")); + } + } + var etagFn = app.get("etag fn"); + var generateETag = !this.get("ETag") && typeof etagFn === "function"; + var len; + if (chunk !== void 0) { + if (Buffer.isBuffer(chunk)) { + len = chunk.length; + } else if (!generateETag && chunk.length < 1e3) { + len = Buffer.byteLength(chunk, encoding); + } else { + chunk = Buffer.from(chunk, encoding); + encoding = void 0; + len = chunk.length; + } + this.set("Content-Length", len); + } + var etag; + if (generateETag && len !== void 0) { + if (etag = etagFn(chunk, encoding)) { + this.set("ETag", etag); + } + } + if (req.fresh) this.status(304); + if (204 === this.statusCode || 304 === this.statusCode) { + this.removeHeader("Content-Type"); + this.removeHeader("Content-Length"); + this.removeHeader("Transfer-Encoding"); + chunk = ""; + } + if (this.statusCode === 205) { + this.set("Content-Length", "0"); + this.removeHeader("Transfer-Encoding"); + chunk = ""; + } + if (req.method === "HEAD") { + this.end(); + } else { + this.end(chunk, encoding); + } + return this; + }; + res.json = function json(obj) { + var app = this.app; + var escape2 = app.get("json escape"); + var replacer = app.get("json replacer"); + var spaces = app.get("json spaces"); + var body = stringify(obj, replacer, spaces, escape2); + if (!this.get("Content-Type")) { + this.set("Content-Type", "application/json"); + } + return this.send(body); + }; + res.jsonp = function jsonp(obj) { + var app = this.app; + var escape2 = app.get("json escape"); + var replacer = app.get("json replacer"); + var spaces = app.get("json spaces"); + var body = stringify(obj, replacer, spaces, escape2); + var callback = this.req.query[app.get("jsonp callback name")]; + if (!this.get("Content-Type")) { + this.set("X-Content-Type-Options", "nosniff"); + this.set("Content-Type", "application/json"); + } + if (Array.isArray(callback)) { + callback = callback[0]; + } + if (typeof callback === "string" && callback.length !== 0) { + this.set("X-Content-Type-Options", "nosniff"); + this.set("Content-Type", "text/javascript"); + callback = callback.replace(/[^\[\]\w$.]/g, ""); + if (body === void 0) { + body = ""; + } else if (typeof body === "string") { + body = body.replace(/\u2028/g, "\\u2028").replace(/\u2029/g, "\\u2029"); + } + body = "/**/ typeof " + callback + " === 'function' && " + callback + "(" + body + ");"; + } + return this.send(body); + }; + res.sendStatus = function sendStatus(statusCode) { + var body = statuses.message[statusCode] || String(statusCode); + this.status(statusCode); + this.type("txt"); + return this.send(body); + }; + res.sendFile = function sendFile(path2, options, callback) { + var done = callback; + var req = this.req; + var res2 = this; + var next = req.next; + var opts = options || {}; + if (!path2) { + throw new TypeError("path argument is required to res.sendFile"); + } + if (typeof path2 !== "string") { + throw new TypeError("path must be a string to res.sendFile"); + } + if (typeof options === "function") { + done = options; + opts = {}; + } + if (!opts.root && !pathIsAbsolute(path2)) { + throw new TypeError("path must be absolute or specify root to res.sendFile"); + } + var pathname = encodeURI(path2); + opts.etag = this.app.enabled("etag"); + var file = send(req, pathname, opts); + sendfile(res2, file, opts, function(err2) { + if (done) return done(err2); + if (err2 && err2.code === "EISDIR") return next(); + if (err2 && err2.code !== "ECONNABORTED" && err2.syscall !== "write") { + next(err2); + } + }); + }; + res.download = function download(path2, filename, options, callback) { + var done = callback; + var name = filename; + var opts = options || null; + if (typeof filename === "function") { + done = filename; + name = null; + opts = null; + } else if (typeof options === "function") { + done = options; + opts = null; + } + if (typeof filename === "object" && (typeof options === "function" || options === void 0)) { + name = null; + opts = filename; + } + var headers = { + "Content-Disposition": contentDisposition(name || path2) + }; + if (opts && opts.headers) { + var keys = Object.keys(opts.headers); + for (var i = 0; i < keys.length; i++) { + var key = keys[i]; + if (key.toLowerCase() !== "content-disposition") { + headers[key] = opts.headers[key]; + } + } + } + opts = Object.create(opts); + opts.headers = headers; + var fullPath = !opts.root ? resolve(path2) : path2; + return this.sendFile(fullPath, opts, done); + }; + res.contentType = res.type = function contentType2(type) { + var ct = type.indexOf("/") === -1 ? mime.contentType(type) || "application/octet-stream" : type; + return this.set("Content-Type", ct); + }; + res.format = function(obj) { + var req = this.req; + var next = req.next; + var keys = Object.keys(obj).filter(function(v) { + return v !== "default"; + }); + var key = keys.length > 0 ? req.accepts(keys) : false; + this.vary("Accept"); + if (key) { + this.set("Content-Type", normalizeType(key).value); + obj[key](req, this, next); + } else if (obj.default) { + obj.default(req, this, next); + } else { + next(createError(406, { + types: normalizeTypes(keys).map(function(o) { + return o.value; + }) + })); + } + return this; + }; + res.attachment = function attachment(filename) { + if (filename) { + this.type(extname(filename)); + } + this.set("Content-Disposition", contentDisposition(filename)); + return this; + }; + res.append = function append(field, val) { + var prev = this.get(field); + var value = val; + if (prev) { + value = Array.isArray(prev) ? prev.concat(val) : Array.isArray(val) ? [prev].concat(val) : [prev, val]; + } + return this.set(field, value); + }; + res.set = res.header = function header(field, val) { + if (arguments.length === 2) { + var value = Array.isArray(val) ? val.map(String) : String(val); + if (field.toLowerCase() === "content-type") { + if (Array.isArray(value)) { + throw new TypeError("Content-Type cannot be set to an Array"); + } + value = mime.contentType(value); + } + this.setHeader(field, value); + } else { + for (var key in field) { + this.set(key, field[key]); + } + } + return this; + }; + res.get = function(field) { + return this.getHeader(field); + }; + res.clearCookie = function clearCookie(name, options) { + const opts = { path: "/", ...options, expires: /* @__PURE__ */ new Date(1) }; + delete opts.maxAge; + return this.cookie(name, "", opts); + }; + res.cookie = function(name, value, options) { + var opts = { ...options }; + var secret = this.req.secret; + var signed = opts.signed; + if (signed && !secret) { + throw new Error('cookieParser("secret") required for signed cookies'); + } + var val = typeof value === "object" ? "j:" + JSON.stringify(value) : String(value); + if (signed) { + val = "s:" + sign(val, secret); + } + if (opts.maxAge != null) { + var maxAge = opts.maxAge - 0; + if (!isNaN(maxAge)) { + opts.expires = new Date(Date.now() + maxAge); + opts.maxAge = Math.floor(maxAge / 1e3); + } + } + if (opts.path == null) { + opts.path = "/"; + } + this.append("Set-Cookie", cookie.serialize(name, String(val), opts)); + return this; + }; + res.location = function location(url) { + return this.set("Location", encodeUrl(url)); + }; + res.redirect = function redirect(url) { + var address = url; + var body; + var status = 302; + if (arguments.length === 2) { + status = arguments[0]; + address = arguments[1]; + } + address = this.location(address).get("Location"); + this.format({ + text: function() { + body = statuses.message[status] + ". Redirecting to " + address; + }, + html: function() { + var u = escapeHtml(address); + body = "

" + statuses.message[status] + ". Redirecting to " + u + "

"; + }, + default: function() { + body = ""; + } + }); + this.status(status); + this.set("Content-Length", Buffer.byteLength(body)); + if (this.req.method === "HEAD") { + this.end(); + } else { + this.end(body); + } + }; + res.vary = function(field) { + vary(this, field); + return this; + }; + res.render = function render(view, options, callback) { + var app = this.req.app; + var done = callback; + var opts = options || {}; + var req = this.req; + var self2 = this; + if (typeof options === "function") { + done = options; + opts = {}; + } + opts._locals = self2.locals; + done = done || function(err2, str) { + if (err2) return req.next(err2); + self2.send(str); + }; + app.render(view, opts, done); + }; + function sendfile(res2, file, options, callback) { + var done = false; + var streaming; + function onaborted() { + if (done) return; + done = true; + var err2 = new Error("Request aborted"); + err2.code = "ECONNABORTED"; + callback(err2); + } + function ondirectory() { + if (done) return; + done = true; + var err2 = new Error("EISDIR, read"); + err2.code = "EISDIR"; + callback(err2); + } + function onerror(err2) { + if (done) return; + done = true; + callback(err2); + } + function onend() { + if (done) return; + done = true; + callback(); + } + function onfile() { + streaming = false; + } + function onfinish(err2) { + if (err2 && err2.code === "ECONNRESET") return onaborted(); + if (err2) return onerror(err2); + if (done) return; + setImmediate(function() { + if (streaming !== false && !done) { + onaborted(); + return; + } + if (done) return; + done = true; + callback(); + }); + } + function onstream() { + streaming = true; + } + file.on("directory", ondirectory); + file.on("end", onend); + file.on("error", onerror); + file.on("file", onfile); + file.on("stream", onstream); + onFinished(res2, onfinish); + if (options.headers) { + file.on("headers", function headers(res3) { + var obj = options.headers; + var keys = Object.keys(obj); + for (var i = 0; i < keys.length; i++) { + var k = keys[i]; + res3.setHeader(k, obj[k]); + } + }); + } + file.pipe(res2); + } + function stringify(value, replacer, spaces, escape2) { + var json = replacer || spaces ? JSON.stringify(value, replacer, spaces) : JSON.stringify(value); + if (escape2 && typeof json === "string") { + json = json.replace(/[<>&]/g, function(c) { + switch (c.charCodeAt(0)) { + case 60: + return "\\u003c"; + case 62: + return "\\u003e"; + case 38: + return "\\u0026"; + /* istanbul ignore next: unreachable default */ + default: + return c; + } + }); + } + return json; + } + } +}); +var require_serve_static = __commonJS2({ + "node_modules/serve-static/index.js"(exports2, module2) { + "use strict"; + var encodeUrl = require_encodeurl(); + var escapeHtml = require_escape_html(); + var parseUrl = require_parseurl(); + var resolve = require("path").resolve; + var send = require_send(); + var url = require("url"); + module2.exports = serveStatic; + function serveStatic(root, options) { + if (!root) { + throw new TypeError("root path required"); + } + if (typeof root !== "string") { + throw new TypeError("root path must be a string"); + } + var opts = Object.create(options || null); + var fallthrough = opts.fallthrough !== false; + var redirect = opts.redirect !== false; + var setHeaders = opts.setHeaders; + if (setHeaders && typeof setHeaders !== "function") { + throw new TypeError("option setHeaders must be function"); + } + opts.maxage = opts.maxage || opts.maxAge || 0; + opts.root = resolve(root); + var onDirectory = redirect ? createRedirectDirectoryListener() : createNotFoundDirectoryListener(); + return function serveStatic2(req, res, next) { + if (req.method !== "GET" && req.method !== "HEAD") { + if (fallthrough) { + return next(); + } + res.statusCode = 405; + res.setHeader("Allow", "GET, HEAD"); + res.setHeader("Content-Length", "0"); + res.end(); + return; + } + var forwardError = !fallthrough; + var originalUrl = parseUrl.original(req); + var path = parseUrl(req).pathname; + if (path === "/" && originalUrl.pathname.substr(-1) !== "/") { + path = ""; + } + var stream = send(req, path, opts); + stream.on("directory", onDirectory); + if (setHeaders) { + stream.on("headers", setHeaders); + } + if (fallthrough) { + stream.on("file", function onFile() { + forwardError = true; + }); + } + stream.on("error", function error(err2) { + if (forwardError || !(err2.statusCode < 500)) { + next(err2); + return; + } + next(); + }); + stream.pipe(res); + }; + } + function collapseLeadingSlashes(str) { + for (var i = 0; i < str.length; i++) { + if (str.charCodeAt(i) !== 47) { + break; + } + } + return i > 1 ? "/" + str.substr(i) : str; + } + function createHtmlDocument(title, body) { + return '\n\n\n\n' + title + "\n\n\n
" + body + "
\n\n\n"; + } + function createNotFoundDirectoryListener() { + return function notFound() { + this.error(404); + }; + } + function createRedirectDirectoryListener() { + return function redirect(res) { + if (this.hasTrailingSlash()) { + this.error(404); + return; + } + var originalUrl = parseUrl.original(this.req); + originalUrl.path = null; + originalUrl.pathname = collapseLeadingSlashes(originalUrl.pathname + "/"); + var loc = encodeUrl(url.format(originalUrl)); + var doc = createHtmlDocument("Redirecting", "Redirecting to " + escapeHtml(loc)); + res.statusCode = 301; + res.setHeader("Content-Type", "text/html; charset=UTF-8"); + res.setHeader("Content-Length", Buffer.byteLength(doc)); + res.setHeader("Content-Security-Policy", "default-src 'none'"); + res.setHeader("X-Content-Type-Options", "nosniff"); + res.setHeader("Location", loc); + res.end(doc); + }; + } + } +}); +var require_express = __commonJS2({ + "node_modules/express/lib/express.js"(exports2, module2) { + "use strict"; + var bodyParser = require_body_parser(); + var EventEmitter = require("node:events").EventEmitter; + var mixin = require_merge_descriptors(); + var proto2 = require_application(); + var Router = require_router(); + var req = require_request(); + var res = require_response(); + exports2 = module2.exports = createApplication; + function createApplication() { + var app = function(req2, res2, next) { + app.handle(req2, res2, next); + }; + mixin(app, EventEmitter.prototype, false); + mixin(app, proto2, false); + app.request = Object.create(req, { + app: { configurable: true, enumerable: true, writable: true, value: app } + }); + app.response = Object.create(res, { + app: { configurable: true, enumerable: true, writable: true, value: app } + }); + app.init(); + return app; + } + exports2.application = proto2; + exports2.request = req; + exports2.response = res; + exports2.Route = Router.Route; + exports2.Router = Router; + exports2.json = bodyParser.json; + exports2.raw = bodyParser.raw; + exports2.static = require_serve_static(); + exports2.text = bodyParser.text; + exports2.urlencoded = bodyParser.urlencoded; + } +}); +var require_express2 = __commonJS2({ + "node_modules/express/index.js"(exports2, module2) { + "use strict"; + module2.exports = require_express(); + } +}); +var require_lodash = __commonJS2({ + "node_modules/lodash/lodash.js"(exports2, module2) { + (function() { + var undefined2; + var VERSION = "4.17.21"; + var LARGE_ARRAY_SIZE = 200; + var CORE_ERROR_TEXT = "Unsupported core-js use. Try https://npms.io/search?q=ponyfill.", FUNC_ERROR_TEXT = "Expected a function", INVALID_TEMPL_VAR_ERROR_TEXT = "Invalid `variable` option passed into `_.template`"; + var HASH_UNDEFINED = "__lodash_hash_undefined__"; + var MAX_MEMOIZE_SIZE = 500; + var PLACEHOLDER = "__lodash_placeholder__"; + var CLONE_DEEP_FLAG = 1, CLONE_FLAT_FLAG = 2, CLONE_SYMBOLS_FLAG = 4; + var COMPARE_PARTIAL_FLAG = 1, COMPARE_UNORDERED_FLAG = 2; + var WRAP_BIND_FLAG = 1, WRAP_BIND_KEY_FLAG = 2, WRAP_CURRY_BOUND_FLAG = 4, WRAP_CURRY_FLAG = 8, WRAP_CURRY_RIGHT_FLAG = 16, WRAP_PARTIAL_FLAG = 32, WRAP_PARTIAL_RIGHT_FLAG = 64, WRAP_ARY_FLAG = 128, WRAP_REARG_FLAG = 256, WRAP_FLIP_FLAG = 512; + var DEFAULT_TRUNC_LENGTH = 30, DEFAULT_TRUNC_OMISSION = "..."; + var HOT_COUNT = 800, HOT_SPAN = 16; + var LAZY_FILTER_FLAG = 1, LAZY_MAP_FLAG = 2, LAZY_WHILE_FLAG = 3; + var INFINITY = 1 / 0, MAX_SAFE_INTEGER = 9007199254740991, MAX_INTEGER = 17976931348623157e292, NAN = 0 / 0; + var MAX_ARRAY_LENGTH = 4294967295, MAX_ARRAY_INDEX = MAX_ARRAY_LENGTH - 1, HALF_MAX_ARRAY_LENGTH = MAX_ARRAY_LENGTH >>> 1; + var wrapFlags = [ + ["ary", WRAP_ARY_FLAG], + ["bind", WRAP_BIND_FLAG], + ["bindKey", WRAP_BIND_KEY_FLAG], + ["curry", WRAP_CURRY_FLAG], + ["curryRight", WRAP_CURRY_RIGHT_FLAG], + ["flip", WRAP_FLIP_FLAG], + ["partial", WRAP_PARTIAL_FLAG], + ["partialRight", WRAP_PARTIAL_RIGHT_FLAG], + ["rearg", WRAP_REARG_FLAG] + ]; + var argsTag = "[object Arguments]", arrayTag = "[object Array]", asyncTag = "[object AsyncFunction]", boolTag = "[object Boolean]", dateTag = "[object Date]", domExcTag = "[object DOMException]", errorTag = "[object Error]", funcTag = "[object Function]", genTag = "[object GeneratorFunction]", mapTag = "[object Map]", numberTag = "[object Number]", nullTag = "[object Null]", objectTag = "[object Object]", promiseTag = "[object Promise]", proxyTag = "[object Proxy]", regexpTag = "[object RegExp]", setTag = "[object Set]", stringTag = "[object String]", symbolTag = "[object Symbol]", undefinedTag = "[object Undefined]", weakMapTag = "[object WeakMap]", weakSetTag = "[object WeakSet]"; + var arrayBufferTag = "[object ArrayBuffer]", dataViewTag = "[object DataView]", float32Tag = "[object Float32Array]", float64Tag = "[object Float64Array]", int8Tag = "[object Int8Array]", int16Tag = "[object Int16Array]", int32Tag = "[object Int32Array]", uint8Tag = "[object Uint8Array]", uint8ClampedTag = "[object Uint8ClampedArray]", uint16Tag = "[object Uint16Array]", uint32Tag = "[object Uint32Array]"; + var reEmptyStringLeading = /\b__p \+= '';/g, reEmptyStringMiddle = /\b(__p \+=) '' \+/g, reEmptyStringTrailing = /(__e\(.*?\)|\b__t\)) \+\n'';/g; + var reEscapedHtml = /&(?:amp|lt|gt|quot|#39);/g, reUnescapedHtml = /[&<>"']/g, reHasEscapedHtml = RegExp(reEscapedHtml.source), reHasUnescapedHtml = RegExp(reUnescapedHtml.source); + var reEscape = /<%-([\s\S]+?)%>/g, reEvaluate = /<%([\s\S]+?)%>/g, reInterpolate = /<%=([\s\S]+?)%>/g; + var reIsDeepProp = /\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/, reIsPlainProp = /^\w*$/, rePropName = /[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g; + var reRegExpChar = /[\\^$.*+?()[\]{}|]/g, reHasRegExpChar = RegExp(reRegExpChar.source); + var reTrimStart = /^\s+/; + var reWhitespace = /\s/; + var reWrapComment = /\{(?:\n\/\* \[wrapped with .+\] \*\/)?\n?/, reWrapDetails = /\{\n\/\* \[wrapped with (.+)\] \*/, reSplitDetails = /,? & /; + var reAsciiWord = /[^\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\x7f]+/g; + var reForbiddenIdentifierChars = /[()=,{}\[\]\/\s]/; + var reEscapeChar = /\\(\\)?/g; + var reEsTemplate = /\$\{([^\\}]*(?:\\.[^\\}]*)*)\}/g; + var reFlags = /\w*$/; + var reIsBadHex = /^[-+]0x[0-9a-f]+$/i; + var reIsBinary = /^0b[01]+$/i; + var reIsHostCtor = /^\[object .+?Constructor\]$/; + var reIsOctal = /^0o[0-7]+$/i; + var reIsUint = /^(?:0|[1-9]\d*)$/; + var reLatin = /[\xc0-\xd6\xd8-\xf6\xf8-\xff\u0100-\u017f]/g; + var reNoMatch = /($^)/; + var reUnescapedString = /['\n\r\u2028\u2029\\]/g; + var rsAstralRange = "\\ud800-\\udfff", rsComboMarksRange = "\\u0300-\\u036f", reComboHalfMarksRange = "\\ufe20-\\ufe2f", rsComboSymbolsRange = "\\u20d0-\\u20ff", rsComboRange = rsComboMarksRange + reComboHalfMarksRange + rsComboSymbolsRange, rsDingbatRange = "\\u2700-\\u27bf", rsLowerRange = "a-z\\xdf-\\xf6\\xf8-\\xff", rsMathOpRange = "\\xac\\xb1\\xd7\\xf7", rsNonCharRange = "\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf", rsPunctuationRange = "\\u2000-\\u206f", rsSpaceRange = " \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000", rsUpperRange = "A-Z\\xc0-\\xd6\\xd8-\\xde", rsVarRange = "\\ufe0e\\ufe0f", rsBreakRange = rsMathOpRange + rsNonCharRange + rsPunctuationRange + rsSpaceRange; + var rsApos = "['\u2019]", rsAstral = "[" + rsAstralRange + "]", rsBreak = "[" + rsBreakRange + "]", rsCombo = "[" + rsComboRange + "]", rsDigits = "\\d+", rsDingbat = "[" + rsDingbatRange + "]", rsLower = "[" + rsLowerRange + "]", rsMisc = "[^" + rsAstralRange + rsBreakRange + rsDigits + rsDingbatRange + rsLowerRange + rsUpperRange + "]", rsFitz = "\\ud83c[\\udffb-\\udfff]", rsModifier = "(?:" + rsCombo + "|" + rsFitz + ")", rsNonAstral = "[^" + rsAstralRange + "]", rsRegional = "(?:\\ud83c[\\udde6-\\uddff]){2}", rsSurrPair = "[\\ud800-\\udbff][\\udc00-\\udfff]", rsUpper = "[" + rsUpperRange + "]", rsZWJ = "\\u200d"; + var rsMiscLower = "(?:" + rsLower + "|" + rsMisc + ")", rsMiscUpper = "(?:" + rsUpper + "|" + rsMisc + ")", rsOptContrLower = "(?:" + rsApos + "(?:d|ll|m|re|s|t|ve))?", rsOptContrUpper = "(?:" + rsApos + "(?:D|LL|M|RE|S|T|VE))?", reOptMod = rsModifier + "?", rsOptVar = "[" + rsVarRange + "]?", rsOptJoin = "(?:" + rsZWJ + "(?:" + [rsNonAstral, rsRegional, rsSurrPair].join("|") + ")" + rsOptVar + reOptMod + ")*", rsOrdLower = "\\d*(?:1st|2nd|3rd|(?![123])\\dth)(?=\\b|[A-Z_])", rsOrdUpper = "\\d*(?:1ST|2ND|3RD|(?![123])\\dTH)(?=\\b|[a-z_])", rsSeq = rsOptVar + reOptMod + rsOptJoin, rsEmoji = "(?:" + [rsDingbat, rsRegional, rsSurrPair].join("|") + ")" + rsSeq, rsSymbol = "(?:" + [rsNonAstral + rsCombo + "?", rsCombo, rsRegional, rsSurrPair, rsAstral].join("|") + ")"; + var reApos = RegExp(rsApos, "g"); + var reComboMark = RegExp(rsCombo, "g"); + var reUnicode = RegExp(rsFitz + "(?=" + rsFitz + ")|" + rsSymbol + rsSeq, "g"); + var reUnicodeWord = RegExp([ + rsUpper + "?" + rsLower + "+" + rsOptContrLower + "(?=" + [rsBreak, rsUpper, "$"].join("|") + ")", + rsMiscUpper + "+" + rsOptContrUpper + "(?=" + [rsBreak, rsUpper + rsMiscLower, "$"].join("|") + ")", + rsUpper + "?" + rsMiscLower + "+" + rsOptContrLower, + rsUpper + "+" + rsOptContrUpper, + rsOrdUpper, + rsOrdLower, + rsDigits, + rsEmoji + ].join("|"), "g"); + var reHasUnicode = RegExp("[" + rsZWJ + rsAstralRange + rsComboRange + rsVarRange + "]"); + var reHasUnicodeWord = /[a-z][A-Z]|[A-Z]{2}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/; + var contextProps = [ + "Array", + "Buffer", + "DataView", + "Date", + "Error", + "Float32Array", + "Float64Array", + "Function", + "Int8Array", + "Int16Array", + "Int32Array", + "Map", + "Math", + "Object", + "Promise", + "RegExp", + "Set", + "String", + "Symbol", + "TypeError", + "Uint8Array", + "Uint8ClampedArray", + "Uint16Array", + "Uint32Array", + "WeakMap", + "_", + "clearTimeout", + "isFinite", + "parseInt", + "setTimeout" + ]; + var templateCounter = -1; + var typedArrayTags = {}; + typedArrayTags[float32Tag] = typedArrayTags[float64Tag] = typedArrayTags[int8Tag] = typedArrayTags[int16Tag] = typedArrayTags[int32Tag] = typedArrayTags[uint8Tag] = typedArrayTags[uint8ClampedTag] = typedArrayTags[uint16Tag] = typedArrayTags[uint32Tag] = true; + typedArrayTags[argsTag] = typedArrayTags[arrayTag] = typedArrayTags[arrayBufferTag] = typedArrayTags[boolTag] = typedArrayTags[dataViewTag] = typedArrayTags[dateTag] = typedArrayTags[errorTag] = typedArrayTags[funcTag] = typedArrayTags[mapTag] = typedArrayTags[numberTag] = typedArrayTags[objectTag] = typedArrayTags[regexpTag] = typedArrayTags[setTag] = typedArrayTags[stringTag] = typedArrayTags[weakMapTag] = false; + var cloneableTags = {}; + cloneableTags[argsTag] = cloneableTags[arrayTag] = cloneableTags[arrayBufferTag] = cloneableTags[dataViewTag] = cloneableTags[boolTag] = cloneableTags[dateTag] = cloneableTags[float32Tag] = cloneableTags[float64Tag] = cloneableTags[int8Tag] = cloneableTags[int16Tag] = cloneableTags[int32Tag] = cloneableTags[mapTag] = cloneableTags[numberTag] = cloneableTags[objectTag] = cloneableTags[regexpTag] = cloneableTags[setTag] = cloneableTags[stringTag] = cloneableTags[symbolTag] = cloneableTags[uint8Tag] = cloneableTags[uint8ClampedTag] = cloneableTags[uint16Tag] = cloneableTags[uint32Tag] = true; + cloneableTags[errorTag] = cloneableTags[funcTag] = cloneableTags[weakMapTag] = false; + var deburredLetters = { + // Latin-1 Supplement block. + "\xC0": "A", + "\xC1": "A", + "\xC2": "A", + "\xC3": "A", + "\xC4": "A", + "\xC5": "A", + "\xE0": "a", + "\xE1": "a", + "\xE2": "a", + "\xE3": "a", + "\xE4": "a", + "\xE5": "a", + "\xC7": "C", + "\xE7": "c", + "\xD0": "D", + "\xF0": "d", + "\xC8": "E", + "\xC9": "E", + "\xCA": "E", + "\xCB": "E", + "\xE8": "e", + "\xE9": "e", + "\xEA": "e", + "\xEB": "e", + "\xCC": "I", + "\xCD": "I", + "\xCE": "I", + "\xCF": "I", + "\xEC": "i", + "\xED": "i", + "\xEE": "i", + "\xEF": "i", + "\xD1": "N", + "\xF1": "n", + "\xD2": "O", + "\xD3": "O", + "\xD4": "O", + "\xD5": "O", + "\xD6": "O", + "\xD8": "O", + "\xF2": "o", + "\xF3": "o", + "\xF4": "o", + "\xF5": "o", + "\xF6": "o", + "\xF8": "o", + "\xD9": "U", + "\xDA": "U", + "\xDB": "U", + "\xDC": "U", + "\xF9": "u", + "\xFA": "u", + "\xFB": "u", + "\xFC": "u", + "\xDD": "Y", + "\xFD": "y", + "\xFF": "y", + "\xC6": "Ae", + "\xE6": "ae", + "\xDE": "Th", + "\xFE": "th", + "\xDF": "ss", + // Latin Extended-A block. + "\u0100": "A", + "\u0102": "A", + "\u0104": "A", + "\u0101": "a", + "\u0103": "a", + "\u0105": "a", + "\u0106": "C", + "\u0108": "C", + "\u010A": "C", + "\u010C": "C", + "\u0107": "c", + "\u0109": "c", + "\u010B": "c", + "\u010D": "c", + "\u010E": "D", + "\u0110": "D", + "\u010F": "d", + "\u0111": "d", + "\u0112": "E", + "\u0114": "E", + "\u0116": "E", + "\u0118": "E", + "\u011A": "E", + "\u0113": "e", + "\u0115": "e", + "\u0117": "e", + "\u0119": "e", + "\u011B": "e", + "\u011C": "G", + "\u011E": "G", + "\u0120": "G", + "\u0122": "G", + "\u011D": "g", + "\u011F": "g", + "\u0121": "g", + "\u0123": "g", + "\u0124": "H", + "\u0126": "H", + "\u0125": "h", + "\u0127": "h", + "\u0128": "I", + "\u012A": "I", + "\u012C": "I", + "\u012E": "I", + "\u0130": "I", + "\u0129": "i", + "\u012B": "i", + "\u012D": "i", + "\u012F": "i", + "\u0131": "i", + "\u0134": "J", + "\u0135": "j", + "\u0136": "K", + "\u0137": "k", + "\u0138": "k", + "\u0139": "L", + "\u013B": "L", + "\u013D": "L", + "\u013F": "L", + "\u0141": "L", + "\u013A": "l", + "\u013C": "l", + "\u013E": "l", + "\u0140": "l", + "\u0142": "l", + "\u0143": "N", + "\u0145": "N", + "\u0147": "N", + "\u014A": "N", + "\u0144": "n", + "\u0146": "n", + "\u0148": "n", + "\u014B": "n", + "\u014C": "O", + "\u014E": "O", + "\u0150": "O", + "\u014D": "o", + "\u014F": "o", + "\u0151": "o", + "\u0154": "R", + "\u0156": "R", + "\u0158": "R", + "\u0155": "r", + "\u0157": "r", + "\u0159": "r", + "\u015A": "S", + "\u015C": "S", + "\u015E": "S", + "\u0160": "S", + "\u015B": "s", + "\u015D": "s", + "\u015F": "s", + "\u0161": "s", + "\u0162": "T", + "\u0164": "T", + "\u0166": "T", + "\u0163": "t", + "\u0165": "t", + "\u0167": "t", + "\u0168": "U", + "\u016A": "U", + "\u016C": "U", + "\u016E": "U", + "\u0170": "U", + "\u0172": "U", + "\u0169": "u", + "\u016B": "u", + "\u016D": "u", + "\u016F": "u", + "\u0171": "u", + "\u0173": "u", + "\u0174": "W", + "\u0175": "w", + "\u0176": "Y", + "\u0177": "y", + "\u0178": "Y", + "\u0179": "Z", + "\u017B": "Z", + "\u017D": "Z", + "\u017A": "z", + "\u017C": "z", + "\u017E": "z", + "\u0132": "IJ", + "\u0133": "ij", + "\u0152": "Oe", + "\u0153": "oe", + "\u0149": "'n", + "\u017F": "s" + }; + var htmlEscapes = { + "&": "&", + "<": "<", + ">": ">", + '"': """, + "'": "'" + }; + var htmlUnescapes = { + "&": "&", + "<": "<", + ">": ">", + """: '"', + "'": "'" + }; + var stringEscapes = { + "\\": "\\", + "'": "'", + "\n": "n", + "\r": "r", + "\u2028": "u2028", + "\u2029": "u2029" + }; + var freeParseFloat = parseFloat, freeParseInt = parseInt; + var freeGlobal = typeof global == "object" && global && global.Object === Object && global; + var freeSelf = typeof self == "object" && self && self.Object === Object && self; + var root = freeGlobal || freeSelf || Function("return this")(); + var freeExports = typeof exports2 == "object" && exports2 && !exports2.nodeType && exports2; + var freeModule = freeExports && typeof module2 == "object" && module2 && !module2.nodeType && module2; + var moduleExports = freeModule && freeModule.exports === freeExports; + var freeProcess = moduleExports && freeGlobal.process; + var nodeUtil = (function() { + try { + var types = freeModule && freeModule.require && freeModule.require("util").types; + if (types) { + return types; + } + return freeProcess && freeProcess.binding && freeProcess.binding("util"); + } catch (e) { + } + })(); + var nodeIsArrayBuffer = nodeUtil && nodeUtil.isArrayBuffer, nodeIsDate = nodeUtil && nodeUtil.isDate, nodeIsMap = nodeUtil && nodeUtil.isMap, nodeIsRegExp = nodeUtil && nodeUtil.isRegExp, nodeIsSet = nodeUtil && nodeUtil.isSet, nodeIsTypedArray = nodeUtil && nodeUtil.isTypedArray; + function apply(func, thisArg, args) { + switch (args.length) { + case 0: + return func.call(thisArg); + case 1: + return func.call(thisArg, args[0]); + case 2: + return func.call(thisArg, args[0], args[1]); + case 3: + return func.call(thisArg, args[0], args[1], args[2]); + } + return func.apply(thisArg, args); + } + function arrayAggregator(array, setter, iteratee, accumulator) { + var index = -1, length = array == null ? 0 : array.length; + while (++index < length) { + var value = array[index]; + setter(accumulator, value, iteratee(value), array); + } + return accumulator; + } + function arrayEach(array, iteratee) { + var index = -1, length = array == null ? 0 : array.length; + while (++index < length) { + if (iteratee(array[index], index, array) === false) { + break; + } + } + return array; + } + function arrayEachRight(array, iteratee) { + var length = array == null ? 0 : array.length; + while (length--) { + if (iteratee(array[length], length, array) === false) { + break; + } + } + return array; + } + function arrayEvery(array, predicate) { + var index = -1, length = array == null ? 0 : array.length; + while (++index < length) { + if (!predicate(array[index], index, array)) { + return false; + } + } + return true; + } + function arrayFilter(array, predicate) { + var index = -1, length = array == null ? 0 : array.length, resIndex = 0, result = []; + while (++index < length) { + var value = array[index]; + if (predicate(value, index, array)) { + result[resIndex++] = value; + } + } + return result; + } + function arrayIncludes(array, value) { + var length = array == null ? 0 : array.length; + return !!length && baseIndexOf(array, value, 0) > -1; + } + function arrayIncludesWith(array, value, comparator) { + var index = -1, length = array == null ? 0 : array.length; + while (++index < length) { + if (comparator(value, array[index])) { + return true; + } + } + return false; + } + function arrayMap(array, iteratee) { + var index = -1, length = array == null ? 0 : array.length, result = Array(length); + while (++index < length) { + result[index] = iteratee(array[index], index, array); + } + return result; + } + function arrayPush(array, values) { + var index = -1, length = values.length, offset = array.length; + while (++index < length) { + array[offset + index] = values[index]; + } + return array; + } + function arrayReduce(array, iteratee, accumulator, initAccum) { + var index = -1, length = array == null ? 0 : array.length; + if (initAccum && length) { + accumulator = array[++index]; + } + while (++index < length) { + accumulator = iteratee(accumulator, array[index], index, array); + } + return accumulator; + } + function arrayReduceRight(array, iteratee, accumulator, initAccum) { + var length = array == null ? 0 : array.length; + if (initAccum && length) { + accumulator = array[--length]; + } + while (length--) { + accumulator = iteratee(accumulator, array[length], length, array); + } + return accumulator; + } + function arraySome(array, predicate) { + var index = -1, length = array == null ? 0 : array.length; + while (++index < length) { + if (predicate(array[index], index, array)) { + return true; + } + } + return false; + } + var asciiSize = baseProperty("length"); + function asciiToArray(string) { + return string.split(""); + } + function asciiWords(string) { + return string.match(reAsciiWord) || []; + } + function baseFindKey(collection, predicate, eachFunc) { + var result; + eachFunc(collection, function(value, key, collection2) { + if (predicate(value, key, collection2)) { + result = key; + return false; + } + }); + return result; + } + function baseFindIndex(array, predicate, fromIndex, fromRight) { + var length = array.length, index = fromIndex + (fromRight ? 1 : -1); + while (fromRight ? index-- : ++index < length) { + if (predicate(array[index], index, array)) { + return index; + } + } + return -1; + } + function baseIndexOf(array, value, fromIndex) { + return value === value ? strictIndexOf(array, value, fromIndex) : baseFindIndex(array, baseIsNaN, fromIndex); + } + function baseIndexOfWith(array, value, fromIndex, comparator) { + var index = fromIndex - 1, length = array.length; + while (++index < length) { + if (comparator(array[index], value)) { + return index; + } + } + return -1; + } + function baseIsNaN(value) { + return value !== value; + } + function baseMean(array, iteratee) { + var length = array == null ? 0 : array.length; + return length ? baseSum(array, iteratee) / length : NAN; + } + function baseProperty(key) { + return function(object) { + return object == null ? undefined2 : object[key]; + }; + } + function basePropertyOf(object) { + return function(key) { + return object == null ? undefined2 : object[key]; + }; + } + function baseReduce(collection, iteratee, accumulator, initAccum, eachFunc) { + eachFunc(collection, function(value, index, collection2) { + accumulator = initAccum ? (initAccum = false, value) : iteratee(accumulator, value, index, collection2); + }); + return accumulator; + } + function baseSortBy(array, comparer) { + var length = array.length; + array.sort(comparer); + while (length--) { + array[length] = array[length].value; + } + return array; + } + function baseSum(array, iteratee) { + var result, index = -1, length = array.length; + while (++index < length) { + var current = iteratee(array[index]); + if (current !== undefined2) { + result = result === undefined2 ? current : result + current; + } + } + return result; + } + function baseTimes(n, iteratee) { + var index = -1, result = Array(n); + while (++index < n) { + result[index] = iteratee(index); + } + return result; + } + function baseToPairs(object, props) { + return arrayMap(props, function(key) { + return [key, object[key]]; + }); + } + function baseTrim(string) { + return string ? string.slice(0, trimmedEndIndex(string) + 1).replace(reTrimStart, "") : string; + } + function baseUnary(func) { + return function(value) { + return func(value); + }; + } + function baseValues(object, props) { + return arrayMap(props, function(key) { + return object[key]; + }); + } + function cacheHas(cache, key) { + return cache.has(key); + } + function charsStartIndex(strSymbols, chrSymbols) { + var index = -1, length = strSymbols.length; + while (++index < length && baseIndexOf(chrSymbols, strSymbols[index], 0) > -1) { + } + return index; + } + function charsEndIndex(strSymbols, chrSymbols) { + var index = strSymbols.length; + while (index-- && baseIndexOf(chrSymbols, strSymbols[index], 0) > -1) { + } + return index; + } + function countHolders(array, placeholder) { + var length = array.length, result = 0; + while (length--) { + if (array[length] === placeholder) { + ++result; + } + } + return result; + } + var deburrLetter = basePropertyOf(deburredLetters); + var escapeHtmlChar = basePropertyOf(htmlEscapes); + function escapeStringChar(chr) { + return "\\" + stringEscapes[chr]; + } + function getValue(object, key) { + return object == null ? undefined2 : object[key]; + } + function hasUnicode(string) { + return reHasUnicode.test(string); + } + function hasUnicodeWord(string) { + return reHasUnicodeWord.test(string); + } + function iteratorToArray(iterator) { + var data, result = []; + while (!(data = iterator.next()).done) { + result.push(data.value); + } + return result; + } + function mapToArray(map) { + var index = -1, result = Array(map.size); + map.forEach(function(value, key) { + result[++index] = [key, value]; + }); + return result; + } + function overArg(func, transform) { + return function(arg) { + return func(transform(arg)); + }; + } + function replaceHolders(array, placeholder) { + var index = -1, length = array.length, resIndex = 0, result = []; + while (++index < length) { + var value = array[index]; + if (value === placeholder || value === PLACEHOLDER) { + array[index] = PLACEHOLDER; + result[resIndex++] = index; + } + } + return result; + } + function setToArray(set) { + var index = -1, result = Array(set.size); + set.forEach(function(value) { + result[++index] = value; + }); + return result; + } + function setToPairs(set) { + var index = -1, result = Array(set.size); + set.forEach(function(value) { + result[++index] = [value, value]; + }); + return result; + } + function strictIndexOf(array, value, fromIndex) { + var index = fromIndex - 1, length = array.length; + while (++index < length) { + if (array[index] === value) { + return index; + } + } + return -1; + } + function strictLastIndexOf(array, value, fromIndex) { + var index = fromIndex + 1; + while (index--) { + if (array[index] === value) { + return index; + } + } + return index; + } + function stringSize(string) { + return hasUnicode(string) ? unicodeSize(string) : asciiSize(string); + } + function stringToArray(string) { + return hasUnicode(string) ? unicodeToArray(string) : asciiToArray(string); + } + function trimmedEndIndex(string) { + var index = string.length; + while (index-- && reWhitespace.test(string.charAt(index))) { + } + return index; + } + var unescapeHtmlChar = basePropertyOf(htmlUnescapes); + function unicodeSize(string) { + var result = reUnicode.lastIndex = 0; + while (reUnicode.test(string)) { + ++result; + } + return result; + } + function unicodeToArray(string) { + return string.match(reUnicode) || []; + } + function unicodeWords(string) { + return string.match(reUnicodeWord) || []; + } + var runInContext = function runInContext2(context) { + context = context == null ? root : _2.defaults(root.Object(), context, _2.pick(root, contextProps)); + var Array2 = context.Array, Date2 = context.Date, Error2 = context.Error, Function2 = context.Function, Math2 = context.Math, Object2 = context.Object, RegExp2 = context.RegExp, String2 = context.String, TypeError2 = context.TypeError; + var arrayProto = Array2.prototype, funcProto = Function2.prototype, objectProto = Object2.prototype; + var coreJsData = context["__core-js_shared__"]; + var funcToString = funcProto.toString; + var hasOwnProperty = objectProto.hasOwnProperty; + var idCounter = 0; + var maskSrcKey = (function() { + var uid = /[^.]+$/.exec(coreJsData && coreJsData.keys && coreJsData.keys.IE_PROTO || ""); + return uid ? "Symbol(src)_1." + uid : ""; + })(); + var nativeObjectToString = objectProto.toString; + var objectCtorString = funcToString.call(Object2); + var oldDash = root._; + var reIsNative = RegExp2( + "^" + funcToString.call(hasOwnProperty).replace(reRegExpChar, "\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g, "$1.*?") + "$" + ); + var Buffer2 = moduleExports ? context.Buffer : undefined2, Symbol2 = context.Symbol, Uint8Array2 = context.Uint8Array, allocUnsafe = Buffer2 ? Buffer2.allocUnsafe : undefined2, getPrototype = overArg(Object2.getPrototypeOf, Object2), objectCreate = Object2.create, propertyIsEnumerable = objectProto.propertyIsEnumerable, splice = arrayProto.splice, spreadableSymbol = Symbol2 ? Symbol2.isConcatSpreadable : undefined2, symIterator = Symbol2 ? Symbol2.iterator : undefined2, symToStringTag = Symbol2 ? Symbol2.toStringTag : undefined2; + var defineProperty = (function() { + try { + var func = getNative(Object2, "defineProperty"); + func({}, "", {}); + return func; + } catch (e) { + } + })(); + var ctxClearTimeout = context.clearTimeout !== root.clearTimeout && context.clearTimeout, ctxNow = Date2 && Date2.now !== root.Date.now && Date2.now, ctxSetTimeout = context.setTimeout !== root.setTimeout && context.setTimeout; + var nativeCeil = Math2.ceil, nativeFloor = Math2.floor, nativeGetSymbols = Object2.getOwnPropertySymbols, nativeIsBuffer = Buffer2 ? Buffer2.isBuffer : undefined2, nativeIsFinite = context.isFinite, nativeJoin = arrayProto.join, nativeKeys = overArg(Object2.keys, Object2), nativeMax = Math2.max, nativeMin = Math2.min, nativeNow = Date2.now, nativeParseInt = context.parseInt, nativeRandom = Math2.random, nativeReverse = arrayProto.reverse; + var DataView2 = getNative(context, "DataView"), Map2 = getNative(context, "Map"), Promise2 = getNative(context, "Promise"), Set2 = getNative(context, "Set"), WeakMap2 = getNative(context, "WeakMap"), nativeCreate = getNative(Object2, "create"); + var metaMap = WeakMap2 && new WeakMap2(); + var realNames = {}; + var dataViewCtorString = toSource(DataView2), mapCtorString = toSource(Map2), promiseCtorString = toSource(Promise2), setCtorString = toSource(Set2), weakMapCtorString = toSource(WeakMap2); + var symbolProto = Symbol2 ? Symbol2.prototype : undefined2, symbolValueOf = symbolProto ? symbolProto.valueOf : undefined2, symbolToString = symbolProto ? symbolProto.toString : undefined2; + function lodash(value) { + if (isObjectLike(value) && !isArray(value) && !(value instanceof LazyWrapper)) { + if (value instanceof LodashWrapper) { + return value; + } + if (hasOwnProperty.call(value, "__wrapped__")) { + return wrapperClone(value); + } + } + return new LodashWrapper(value); + } + var baseCreate = /* @__PURE__ */ (function() { + function object() { + } + return function(proto2) { + if (!isObject(proto2)) { + return {}; + } + if (objectCreate) { + return objectCreate(proto2); + } + object.prototype = proto2; + var result2 = new object(); + object.prototype = undefined2; + return result2; + }; + })(); + function baseLodash() { + } + function LodashWrapper(value, chainAll) { + this.__wrapped__ = value; + this.__actions__ = []; + this.__chain__ = !!chainAll; + this.__index__ = 0; + this.__values__ = undefined2; + } + lodash.templateSettings = { + /** + * Used to detect `data` property values to be HTML-escaped. + * + * @memberOf _.templateSettings + * @type {RegExp} + */ + "escape": reEscape, + /** + * Used to detect code to be evaluated. + * + * @memberOf _.templateSettings + * @type {RegExp} + */ + "evaluate": reEvaluate, + /** + * Used to detect `data` property values to inject. + * + * @memberOf _.templateSettings + * @type {RegExp} + */ + "interpolate": reInterpolate, + /** + * Used to reference the data object in the template text. + * + * @memberOf _.templateSettings + * @type {string} + */ + "variable": "", + /** + * Used to import variables into the compiled template. + * + * @memberOf _.templateSettings + * @type {Object} + */ + "imports": { + /** + * A reference to the `lodash` function. + * + * @memberOf _.templateSettings.imports + * @type {Function} + */ + "_": lodash + } + }; + lodash.prototype = baseLodash.prototype; + lodash.prototype.constructor = lodash; + LodashWrapper.prototype = baseCreate(baseLodash.prototype); + LodashWrapper.prototype.constructor = LodashWrapper; + function LazyWrapper(value) { + this.__wrapped__ = value; + this.__actions__ = []; + this.__dir__ = 1; + this.__filtered__ = false; + this.__iteratees__ = []; + this.__takeCount__ = MAX_ARRAY_LENGTH; + this.__views__ = []; + } + function lazyClone() { + var result2 = new LazyWrapper(this.__wrapped__); + result2.__actions__ = copyArray(this.__actions__); + result2.__dir__ = this.__dir__; + result2.__filtered__ = this.__filtered__; + result2.__iteratees__ = copyArray(this.__iteratees__); + result2.__takeCount__ = this.__takeCount__; + result2.__views__ = copyArray(this.__views__); + return result2; + } + function lazyReverse() { + if (this.__filtered__) { + var result2 = new LazyWrapper(this); + result2.__dir__ = -1; + result2.__filtered__ = true; + } else { + result2 = this.clone(); + result2.__dir__ *= -1; + } + return result2; + } + function lazyValue() { + var array = this.__wrapped__.value(), dir = this.__dir__, isArr = isArray(array), isRight = dir < 0, arrLength = isArr ? array.length : 0, view = getView(0, arrLength, this.__views__), start = view.start, end = view.end, length = end - start, index = isRight ? end : start - 1, iteratees = this.__iteratees__, iterLength = iteratees.length, resIndex = 0, takeCount = nativeMin(length, this.__takeCount__); + if (!isArr || !isRight && arrLength == length && takeCount == length) { + return baseWrapperValue(array, this.__actions__); + } + var result2 = []; + outer: + while (length-- && resIndex < takeCount) { + index += dir; + var iterIndex = -1, value = array[index]; + while (++iterIndex < iterLength) { + var data = iteratees[iterIndex], iteratee2 = data.iteratee, type = data.type, computed = iteratee2(value); + if (type == LAZY_MAP_FLAG) { + value = computed; + } else if (!computed) { + if (type == LAZY_FILTER_FLAG) { + continue outer; + } else { + break outer; + } + } + } + result2[resIndex++] = value; + } + return result2; + } + LazyWrapper.prototype = baseCreate(baseLodash.prototype); + LazyWrapper.prototype.constructor = LazyWrapper; + function Hash(entries) { + var index = -1, length = entries == null ? 0 : entries.length; + this.clear(); + while (++index < length) { + var entry2 = entries[index]; + this.set(entry2[0], entry2[1]); + } + } + function hashClear() { + this.__data__ = nativeCreate ? nativeCreate(null) : {}; + this.size = 0; + } + function hashDelete(key) { + var result2 = this.has(key) && delete this.__data__[key]; + this.size -= result2 ? 1 : 0; + return result2; + } + function hashGet(key) { + var data = this.__data__; + if (nativeCreate) { + var result2 = data[key]; + return result2 === HASH_UNDEFINED ? undefined2 : result2; + } + return hasOwnProperty.call(data, key) ? data[key] : undefined2; + } + function hashHas(key) { + var data = this.__data__; + return nativeCreate ? data[key] !== undefined2 : hasOwnProperty.call(data, key); + } + function hashSet(key, value) { + var data = this.__data__; + this.size += this.has(key) ? 0 : 1; + data[key] = nativeCreate && value === undefined2 ? HASH_UNDEFINED : value; + return this; + } + Hash.prototype.clear = hashClear; + Hash.prototype["delete"] = hashDelete; + Hash.prototype.get = hashGet; + Hash.prototype.has = hashHas; + Hash.prototype.set = hashSet; + function ListCache(entries) { + var index = -1, length = entries == null ? 0 : entries.length; + this.clear(); + while (++index < length) { + var entry2 = entries[index]; + this.set(entry2[0], entry2[1]); + } + } + function listCacheClear() { + this.__data__ = []; + this.size = 0; + } + function listCacheDelete(key) { + var data = this.__data__, index = assocIndexOf(data, key); + if (index < 0) { + return false; + } + var lastIndex = data.length - 1; + if (index == lastIndex) { + data.pop(); + } else { + splice.call(data, index, 1); + } + --this.size; + return true; + } + function listCacheGet(key) { + var data = this.__data__, index = assocIndexOf(data, key); + return index < 0 ? undefined2 : data[index][1]; + } + function listCacheHas(key) { + return assocIndexOf(this.__data__, key) > -1; + } + function listCacheSet(key, value) { + var data = this.__data__, index = assocIndexOf(data, key); + if (index < 0) { + ++this.size; + data.push([key, value]); + } else { + data[index][1] = value; + } + return this; + } + ListCache.prototype.clear = listCacheClear; + ListCache.prototype["delete"] = listCacheDelete; + ListCache.prototype.get = listCacheGet; + ListCache.prototype.has = listCacheHas; + ListCache.prototype.set = listCacheSet; + function MapCache(entries) { + var index = -1, length = entries == null ? 0 : entries.length; + this.clear(); + while (++index < length) { + var entry2 = entries[index]; + this.set(entry2[0], entry2[1]); + } + } + function mapCacheClear() { + this.size = 0; + this.__data__ = { + "hash": new Hash(), + "map": new (Map2 || ListCache)(), + "string": new Hash() + }; + } + function mapCacheDelete(key) { + var result2 = getMapData(this, key)["delete"](key); + this.size -= result2 ? 1 : 0; + return result2; + } + function mapCacheGet(key) { + return getMapData(this, key).get(key); + } + function mapCacheHas(key) { + return getMapData(this, key).has(key); + } + function mapCacheSet(key, value) { + var data = getMapData(this, key), size2 = data.size; + data.set(key, value); + this.size += data.size == size2 ? 0 : 1; + return this; + } + MapCache.prototype.clear = mapCacheClear; + MapCache.prototype["delete"] = mapCacheDelete; + MapCache.prototype.get = mapCacheGet; + MapCache.prototype.has = mapCacheHas; + MapCache.prototype.set = mapCacheSet; + function SetCache(values2) { + var index = -1, length = values2 == null ? 0 : values2.length; + this.__data__ = new MapCache(); + while (++index < length) { + this.add(values2[index]); + } + } + function setCacheAdd(value) { + this.__data__.set(value, HASH_UNDEFINED); + return this; + } + function setCacheHas(value) { + return this.__data__.has(value); + } + SetCache.prototype.add = SetCache.prototype.push = setCacheAdd; + SetCache.prototype.has = setCacheHas; + function Stack(entries) { + var data = this.__data__ = new ListCache(entries); + this.size = data.size; + } + function stackClear() { + this.__data__ = new ListCache(); + this.size = 0; + } + function stackDelete(key) { + var data = this.__data__, result2 = data["delete"](key); + this.size = data.size; + return result2; + } + function stackGet(key) { + return this.__data__.get(key); + } + function stackHas(key) { + return this.__data__.has(key); + } + function stackSet(key, value) { + var data = this.__data__; + if (data instanceof ListCache) { + var pairs = data.__data__; + if (!Map2 || pairs.length < LARGE_ARRAY_SIZE - 1) { + pairs.push([key, value]); + this.size = ++data.size; + return this; + } + data = this.__data__ = new MapCache(pairs); + } + data.set(key, value); + this.size = data.size; + return this; + } + Stack.prototype.clear = stackClear; + Stack.prototype["delete"] = stackDelete; + Stack.prototype.get = stackGet; + Stack.prototype.has = stackHas; + Stack.prototype.set = stackSet; + function arrayLikeKeys(value, inherited) { + var isArr = isArray(value), isArg = !isArr && isArguments(value), isBuff = !isArr && !isArg && isBuffer(value), isType = !isArr && !isArg && !isBuff && isTypedArray(value), skipIndexes = isArr || isArg || isBuff || isType, result2 = skipIndexes ? baseTimes(value.length, String2) : [], length = result2.length; + for (var key in value) { + if ((inherited || hasOwnProperty.call(value, key)) && !(skipIndexes && // Safari 9 has enumerable `arguments.length` in strict mode. + (key == "length" || // Node.js 0.10 has enumerable non-index properties on buffers. + isBuff && (key == "offset" || key == "parent") || // PhantomJS 2 has enumerable non-index properties on typed arrays. + isType && (key == "buffer" || key == "byteLength" || key == "byteOffset") || // Skip index properties. + isIndex(key, length)))) { + result2.push(key); + } + } + return result2; + } + function arraySample(array) { + var length = array.length; + return length ? array[baseRandom(0, length - 1)] : undefined2; + } + function arraySampleSize(array, n) { + return shuffleSelf(copyArray(array), baseClamp(n, 0, array.length)); + } + function arrayShuffle(array) { + return shuffleSelf(copyArray(array)); + } + function assignMergeValue(object, key, value) { + if (value !== undefined2 && !eq(object[key], value) || value === undefined2 && !(key in object)) { + baseAssignValue(object, key, value); + } + } + function assignValue(object, key, value) { + var objValue = object[key]; + if (!(hasOwnProperty.call(object, key) && eq(objValue, value)) || value === undefined2 && !(key in object)) { + baseAssignValue(object, key, value); + } + } + function assocIndexOf(array, key) { + var length = array.length; + while (length--) { + if (eq(array[length][0], key)) { + return length; + } + } + return -1; + } + function baseAggregator(collection, setter, iteratee2, accumulator) { + baseEach(collection, function(value, key, collection2) { + setter(accumulator, value, iteratee2(value), collection2); + }); + return accumulator; + } + function baseAssign(object, source) { + return object && copyObject(source, keys(source), object); + } + function baseAssignIn(object, source) { + return object && copyObject(source, keysIn(source), object); + } + function baseAssignValue(object, key, value) { + if (key == "__proto__" && defineProperty) { + defineProperty(object, key, { + "configurable": true, + "enumerable": true, + "value": value, + "writable": true + }); + } else { + object[key] = value; + } + } + function baseAt(object, paths) { + var index = -1, length = paths.length, result2 = Array2(length), skip = object == null; + while (++index < length) { + result2[index] = skip ? undefined2 : get(object, paths[index]); + } + return result2; + } + function baseClamp(number, lower, upper) { + if (number === number) { + if (upper !== undefined2) { + number = number <= upper ? number : upper; + } + if (lower !== undefined2) { + number = number >= lower ? number : lower; + } + } + return number; + } + function baseClone(value, bitmask, customizer, key, object, stack) { + var result2, isDeep = bitmask & CLONE_DEEP_FLAG, isFlat = bitmask & CLONE_FLAT_FLAG, isFull = bitmask & CLONE_SYMBOLS_FLAG; + if (customizer) { + result2 = object ? customizer(value, key, object, stack) : customizer(value); + } + if (result2 !== undefined2) { + return result2; + } + if (!isObject(value)) { + return value; + } + var isArr = isArray(value); + if (isArr) { + result2 = initCloneArray(value); + if (!isDeep) { + return copyArray(value, result2); + } + } else { + var tag = getTag(value), isFunc = tag == funcTag || tag == genTag; + if (isBuffer(value)) { + return cloneBuffer(value, isDeep); + } + if (tag == objectTag || tag == argsTag || isFunc && !object) { + result2 = isFlat || isFunc ? {} : initCloneObject(value); + if (!isDeep) { + return isFlat ? copySymbolsIn(value, baseAssignIn(result2, value)) : copySymbols(value, baseAssign(result2, value)); + } + } else { + if (!cloneableTags[tag]) { + return object ? value : {}; + } + result2 = initCloneByTag(value, tag, isDeep); + } + } + stack || (stack = new Stack()); + var stacked = stack.get(value); + if (stacked) { + return stacked; + } + stack.set(value, result2); + if (isSet(value)) { + value.forEach(function(subValue) { + result2.add(baseClone(subValue, bitmask, customizer, subValue, value, stack)); + }); + } else if (isMap(value)) { + value.forEach(function(subValue, key2) { + result2.set(key2, baseClone(subValue, bitmask, customizer, key2, value, stack)); + }); + } + var keysFunc = isFull ? isFlat ? getAllKeysIn : getAllKeys : isFlat ? keysIn : keys; + var props = isArr ? undefined2 : keysFunc(value); + arrayEach(props || value, function(subValue, key2) { + if (props) { + key2 = subValue; + subValue = value[key2]; + } + assignValue(result2, key2, baseClone(subValue, bitmask, customizer, key2, value, stack)); + }); + return result2; + } + function baseConforms(source) { + var props = keys(source); + return function(object) { + return baseConformsTo(object, source, props); + }; + } + function baseConformsTo(object, source, props) { + var length = props.length; + if (object == null) { + return !length; + } + object = Object2(object); + while (length--) { + var key = props[length], predicate = source[key], value = object[key]; + if (value === undefined2 && !(key in object) || !predicate(value)) { + return false; + } + } + return true; + } + function baseDelay(func, wait, args) { + if (typeof func != "function") { + throw new TypeError2(FUNC_ERROR_TEXT); + } + return setTimeout2(function() { + func.apply(undefined2, args); + }, wait); + } + function baseDifference(array, values2, iteratee2, comparator) { + var index = -1, includes2 = arrayIncludes, isCommon = true, length = array.length, result2 = [], valuesLength = values2.length; + if (!length) { + return result2; + } + if (iteratee2) { + values2 = arrayMap(values2, baseUnary(iteratee2)); + } + if (comparator) { + includes2 = arrayIncludesWith; + isCommon = false; + } else if (values2.length >= LARGE_ARRAY_SIZE) { + includes2 = cacheHas; + isCommon = false; + values2 = new SetCache(values2); + } + outer: + while (++index < length) { + var value = array[index], computed = iteratee2 == null ? value : iteratee2(value); + value = comparator || value !== 0 ? value : 0; + if (isCommon && computed === computed) { + var valuesIndex = valuesLength; + while (valuesIndex--) { + if (values2[valuesIndex] === computed) { + continue outer; + } + } + result2.push(value); + } else if (!includes2(values2, computed, comparator)) { + result2.push(value); + } + } + return result2; + } + var baseEach = createBaseEach(baseForOwn); + var baseEachRight = createBaseEach(baseForOwnRight, true); + function baseEvery(collection, predicate) { + var result2 = true; + baseEach(collection, function(value, index, collection2) { + result2 = !!predicate(value, index, collection2); + return result2; + }); + return result2; + } + function baseExtremum(array, iteratee2, comparator) { + var index = -1, length = array.length; + while (++index < length) { + var value = array[index], current = iteratee2(value); + if (current != null && (computed === undefined2 ? current === current && !isSymbol(current) : comparator(current, computed))) { + var computed = current, result2 = value; + } + } + return result2; + } + function baseFill(array, value, start, end) { + var length = array.length; + start = toInteger(start); + if (start < 0) { + start = -start > length ? 0 : length + start; + } + end = end === undefined2 || end > length ? length : toInteger(end); + if (end < 0) { + end += length; + } + end = start > end ? 0 : toLength(end); + while (start < end) { + array[start++] = value; + } + return array; + } + function baseFilter(collection, predicate) { + var result2 = []; + baseEach(collection, function(value, index, collection2) { + if (predicate(value, index, collection2)) { + result2.push(value); + } + }); + return result2; + } + function baseFlatten(array, depth, predicate, isStrict, result2) { + var index = -1, length = array.length; + predicate || (predicate = isFlattenable); + result2 || (result2 = []); + while (++index < length) { + var value = array[index]; + if (depth > 0 && predicate(value)) { + if (depth > 1) { + baseFlatten(value, depth - 1, predicate, isStrict, result2); + } else { + arrayPush(result2, value); + } + } else if (!isStrict) { + result2[result2.length] = value; + } + } + return result2; + } + var baseFor = createBaseFor(); + var baseForRight = createBaseFor(true); + function baseForOwn(object, iteratee2) { + return object && baseFor(object, iteratee2, keys); + } + function baseForOwnRight(object, iteratee2) { + return object && baseForRight(object, iteratee2, keys); + } + function baseFunctions(object, props) { + return arrayFilter(props, function(key) { + return isFunction(object[key]); + }); + } + function baseGet(object, path) { + path = castPath(path, object); + var index = 0, length = path.length; + while (object != null && index < length) { + object = object[toKey(path[index++])]; + } + return index && index == length ? object : undefined2; + } + function baseGetAllKeys(object, keysFunc, symbolsFunc) { + var result2 = keysFunc(object); + return isArray(object) ? result2 : arrayPush(result2, symbolsFunc(object)); + } + function baseGetTag(value) { + if (value == null) { + return value === undefined2 ? undefinedTag : nullTag; + } + return symToStringTag && symToStringTag in Object2(value) ? getRawTag(value) : objectToString(value); + } + function baseGt(value, other) { + return value > other; + } + function baseHas(object, key) { + return object != null && hasOwnProperty.call(object, key); + } + function baseHasIn(object, key) { + return object != null && key in Object2(object); + } + function baseInRange(number, start, end) { + return number >= nativeMin(start, end) && number < nativeMax(start, end); + } + function baseIntersection(arrays, iteratee2, comparator) { + var includes2 = comparator ? arrayIncludesWith : arrayIncludes, length = arrays[0].length, othLength = arrays.length, othIndex = othLength, caches = Array2(othLength), maxLength = Infinity, result2 = []; + while (othIndex--) { + var array = arrays[othIndex]; + if (othIndex && iteratee2) { + array = arrayMap(array, baseUnary(iteratee2)); + } + maxLength = nativeMin(array.length, maxLength); + caches[othIndex] = !comparator && (iteratee2 || length >= 120 && array.length >= 120) ? new SetCache(othIndex && array) : undefined2; + } + array = arrays[0]; + var index = -1, seen = caches[0]; + outer: + while (++index < length && result2.length < maxLength) { + var value = array[index], computed = iteratee2 ? iteratee2(value) : value; + value = comparator || value !== 0 ? value : 0; + if (!(seen ? cacheHas(seen, computed) : includes2(result2, computed, comparator))) { + othIndex = othLength; + while (--othIndex) { + var cache = caches[othIndex]; + if (!(cache ? cacheHas(cache, computed) : includes2(arrays[othIndex], computed, comparator))) { + continue outer; + } + } + if (seen) { + seen.push(computed); + } + result2.push(value); + } + } + return result2; + } + function baseInverter(object, setter, iteratee2, accumulator) { + baseForOwn(object, function(value, key, object2) { + setter(accumulator, iteratee2(value), key, object2); + }); + return accumulator; + } + function baseInvoke(object, path, args) { + path = castPath(path, object); + object = parent(object, path); + var func = object == null ? object : object[toKey(last(path))]; + return func == null ? undefined2 : apply(func, object, args); + } + function baseIsArguments(value) { + return isObjectLike(value) && baseGetTag(value) == argsTag; + } + function baseIsArrayBuffer(value) { + return isObjectLike(value) && baseGetTag(value) == arrayBufferTag; + } + function baseIsDate(value) { + return isObjectLike(value) && baseGetTag(value) == dateTag; + } + function baseIsEqual(value, other, bitmask, customizer, stack) { + if (value === other) { + return true; + } + if (value == null || other == null || !isObjectLike(value) && !isObjectLike(other)) { + return value !== value && other !== other; + } + return baseIsEqualDeep(value, other, bitmask, customizer, baseIsEqual, stack); + } + function baseIsEqualDeep(object, other, bitmask, customizer, equalFunc, stack) { + var objIsArr = isArray(object), othIsArr = isArray(other), objTag = objIsArr ? arrayTag : getTag(object), othTag = othIsArr ? arrayTag : getTag(other); + objTag = objTag == argsTag ? objectTag : objTag; + othTag = othTag == argsTag ? objectTag : othTag; + var objIsObj = objTag == objectTag, othIsObj = othTag == objectTag, isSameTag = objTag == othTag; + if (isSameTag && isBuffer(object)) { + if (!isBuffer(other)) { + return false; + } + objIsArr = true; + objIsObj = false; + } + if (isSameTag && !objIsObj) { + stack || (stack = new Stack()); + return objIsArr || isTypedArray(object) ? equalArrays(object, other, bitmask, customizer, equalFunc, stack) : equalByTag(object, other, objTag, bitmask, customizer, equalFunc, stack); + } + if (!(bitmask & COMPARE_PARTIAL_FLAG)) { + var objIsWrapped = objIsObj && hasOwnProperty.call(object, "__wrapped__"), othIsWrapped = othIsObj && hasOwnProperty.call(other, "__wrapped__"); + if (objIsWrapped || othIsWrapped) { + var objUnwrapped = objIsWrapped ? object.value() : object, othUnwrapped = othIsWrapped ? other.value() : other; + stack || (stack = new Stack()); + return equalFunc(objUnwrapped, othUnwrapped, bitmask, customizer, stack); + } + } + if (!isSameTag) { + return false; + } + stack || (stack = new Stack()); + return equalObjects(object, other, bitmask, customizer, equalFunc, stack); + } + function baseIsMap(value) { + return isObjectLike(value) && getTag(value) == mapTag; + } + function baseIsMatch(object, source, matchData, customizer) { + var index = matchData.length, length = index, noCustomizer = !customizer; + if (object == null) { + return !length; + } + object = Object2(object); + while (index--) { + var data = matchData[index]; + if (noCustomizer && data[2] ? data[1] !== object[data[0]] : !(data[0] in object)) { + return false; + } + } + while (++index < length) { + data = matchData[index]; + var key = data[0], objValue = object[key], srcValue = data[1]; + if (noCustomizer && data[2]) { + if (objValue === undefined2 && !(key in object)) { + return false; + } + } else { + var stack = new Stack(); + if (customizer) { + var result2 = customizer(objValue, srcValue, key, object, source, stack); + } + if (!(result2 === undefined2 ? baseIsEqual(srcValue, objValue, COMPARE_PARTIAL_FLAG | COMPARE_UNORDERED_FLAG, customizer, stack) : result2)) { + return false; + } + } + } + return true; + } + function baseIsNative(value) { + if (!isObject(value) || isMasked(value)) { + return false; + } + var pattern = isFunction(value) ? reIsNative : reIsHostCtor; + return pattern.test(toSource(value)); + } + function baseIsRegExp(value) { + return isObjectLike(value) && baseGetTag(value) == regexpTag; + } + function baseIsSet(value) { + return isObjectLike(value) && getTag(value) == setTag; + } + function baseIsTypedArray(value) { + return isObjectLike(value) && isLength(value.length) && !!typedArrayTags[baseGetTag(value)]; + } + function baseIteratee(value) { + if (typeof value == "function") { + return value; + } + if (value == null) { + return identity; + } + if (typeof value == "object") { + return isArray(value) ? baseMatchesProperty(value[0], value[1]) : baseMatches(value); + } + return property(value); + } + function baseKeys(object) { + if (!isPrototype(object)) { + return nativeKeys(object); + } + var result2 = []; + for (var key in Object2(object)) { + if (hasOwnProperty.call(object, key) && key != "constructor") { + result2.push(key); + } + } + return result2; + } + function baseKeysIn(object) { + if (!isObject(object)) { + return nativeKeysIn(object); + } + var isProto = isPrototype(object), result2 = []; + for (var key in object) { + if (!(key == "constructor" && (isProto || !hasOwnProperty.call(object, key)))) { + result2.push(key); + } + } + return result2; + } + function baseLt(value, other) { + return value < other; + } + function baseMap(collection, iteratee2) { + var index = -1, result2 = isArrayLike(collection) ? Array2(collection.length) : []; + baseEach(collection, function(value, key, collection2) { + result2[++index] = iteratee2(value, key, collection2); + }); + return result2; + } + function baseMatches(source) { + var matchData = getMatchData(source); + if (matchData.length == 1 && matchData[0][2]) { + return matchesStrictComparable(matchData[0][0], matchData[0][1]); + } + return function(object) { + return object === source || baseIsMatch(object, source, matchData); + }; + } + function baseMatchesProperty(path, srcValue) { + if (isKey(path) && isStrictComparable(srcValue)) { + return matchesStrictComparable(toKey(path), srcValue); + } + return function(object) { + var objValue = get(object, path); + return objValue === undefined2 && objValue === srcValue ? hasIn(object, path) : baseIsEqual(srcValue, objValue, COMPARE_PARTIAL_FLAG | COMPARE_UNORDERED_FLAG); + }; + } + function baseMerge(object, source, srcIndex, customizer, stack) { + if (object === source) { + return; + } + baseFor(source, function(srcValue, key) { + stack || (stack = new Stack()); + if (isObject(srcValue)) { + baseMergeDeep(object, source, key, srcIndex, baseMerge, customizer, stack); + } else { + var newValue = customizer ? customizer(safeGet(object, key), srcValue, key + "", object, source, stack) : undefined2; + if (newValue === undefined2) { + newValue = srcValue; + } + assignMergeValue(object, key, newValue); + } + }, keysIn); + } + function baseMergeDeep(object, source, key, srcIndex, mergeFunc, customizer, stack) { + var objValue = safeGet(object, key), srcValue = safeGet(source, key), stacked = stack.get(srcValue); + if (stacked) { + assignMergeValue(object, key, stacked); + return; + } + var newValue = customizer ? customizer(objValue, srcValue, key + "", object, source, stack) : undefined2; + var isCommon = newValue === undefined2; + if (isCommon) { + var isArr = isArray(srcValue), isBuff = !isArr && isBuffer(srcValue), isTyped = !isArr && !isBuff && isTypedArray(srcValue); + newValue = srcValue; + if (isArr || isBuff || isTyped) { + if (isArray(objValue)) { + newValue = objValue; + } else if (isArrayLikeObject(objValue)) { + newValue = copyArray(objValue); + } else if (isBuff) { + isCommon = false; + newValue = cloneBuffer(srcValue, true); + } else if (isTyped) { + isCommon = false; + newValue = cloneTypedArray(srcValue, true); + } else { + newValue = []; + } + } else if (isPlainObject(srcValue) || isArguments(srcValue)) { + newValue = objValue; + if (isArguments(objValue)) { + newValue = toPlainObject(objValue); + } else if (!isObject(objValue) || isFunction(objValue)) { + newValue = initCloneObject(srcValue); + } + } else { + isCommon = false; + } + } + if (isCommon) { + stack.set(srcValue, newValue); + mergeFunc(newValue, srcValue, srcIndex, customizer, stack); + stack["delete"](srcValue); + } + assignMergeValue(object, key, newValue); + } + function baseNth(array, n) { + var length = array.length; + if (!length) { + return; + } + n += n < 0 ? length : 0; + return isIndex(n, length) ? array[n] : undefined2; + } + function baseOrderBy(collection, iteratees, orders) { + if (iteratees.length) { + iteratees = arrayMap(iteratees, function(iteratee2) { + if (isArray(iteratee2)) { + return function(value) { + return baseGet(value, iteratee2.length === 1 ? iteratee2[0] : iteratee2); + }; + } + return iteratee2; + }); + } else { + iteratees = [identity]; + } + var index = -1; + iteratees = arrayMap(iteratees, baseUnary(getIteratee())); + var result2 = baseMap(collection, function(value, key, collection2) { + var criteria = arrayMap(iteratees, function(iteratee2) { + return iteratee2(value); + }); + return { "criteria": criteria, "index": ++index, "value": value }; + }); + return baseSortBy(result2, function(object, other) { + return compareMultiple(object, other, orders); + }); + } + function basePick(object, paths) { + return basePickBy(object, paths, function(value, path) { + return hasIn(object, path); + }); + } + function basePickBy(object, paths, predicate) { + var index = -1, length = paths.length, result2 = {}; + while (++index < length) { + var path = paths[index], value = baseGet(object, path); + if (predicate(value, path)) { + baseSet(result2, castPath(path, object), value); + } + } + return result2; + } + function basePropertyDeep(path) { + return function(object) { + return baseGet(object, path); + }; + } + function basePullAll(array, values2, iteratee2, comparator) { + var indexOf2 = comparator ? baseIndexOfWith : baseIndexOf, index = -1, length = values2.length, seen = array; + if (array === values2) { + values2 = copyArray(values2); + } + if (iteratee2) { + seen = arrayMap(array, baseUnary(iteratee2)); + } + while (++index < length) { + var fromIndex = 0, value = values2[index], computed = iteratee2 ? iteratee2(value) : value; + while ((fromIndex = indexOf2(seen, computed, fromIndex, comparator)) > -1) { + if (seen !== array) { + splice.call(seen, fromIndex, 1); + } + splice.call(array, fromIndex, 1); + } + } + return array; + } + function basePullAt(array, indexes) { + var length = array ? indexes.length : 0, lastIndex = length - 1; + while (length--) { + var index = indexes[length]; + if (length == lastIndex || index !== previous) { + var previous = index; + if (isIndex(index)) { + splice.call(array, index, 1); + } else { + baseUnset(array, index); + } + } + } + return array; + } + function baseRandom(lower, upper) { + return lower + nativeFloor(nativeRandom() * (upper - lower + 1)); + } + function baseRange(start, end, step, fromRight) { + var index = -1, length = nativeMax(nativeCeil((end - start) / (step || 1)), 0), result2 = Array2(length); + while (length--) { + result2[fromRight ? length : ++index] = start; + start += step; + } + return result2; + } + function baseRepeat(string, n) { + var result2 = ""; + if (!string || n < 1 || n > MAX_SAFE_INTEGER) { + return result2; + } + do { + if (n % 2) { + result2 += string; + } + n = nativeFloor(n / 2); + if (n) { + string += string; + } + } while (n); + return result2; + } + function baseRest(func, start) { + return setToString(overRest(func, start, identity), func + ""); + } + function baseSample(collection) { + return arraySample(values(collection)); + } + function baseSampleSize(collection, n) { + var array = values(collection); + return shuffleSelf(array, baseClamp(n, 0, array.length)); + } + function baseSet(object, path, value, customizer) { + if (!isObject(object)) { + return object; + } + path = castPath(path, object); + var index = -1, length = path.length, lastIndex = length - 1, nested = object; + while (nested != null && ++index < length) { + var key = toKey(path[index]), newValue = value; + if (key === "__proto__" || key === "constructor" || key === "prototype") { + return object; + } + if (index != lastIndex) { + var objValue = nested[key]; + newValue = customizer ? customizer(objValue, key, nested) : undefined2; + if (newValue === undefined2) { + newValue = isObject(objValue) ? objValue : isIndex(path[index + 1]) ? [] : {}; + } + } + assignValue(nested, key, newValue); + nested = nested[key]; + } + return object; + } + var baseSetData = !metaMap ? identity : function(func, data) { + metaMap.set(func, data); + return func; + }; + var baseSetToString = !defineProperty ? identity : function(func, string) { + return defineProperty(func, "toString", { + "configurable": true, + "enumerable": false, + "value": constant(string), + "writable": true + }); + }; + function baseShuffle(collection) { + return shuffleSelf(values(collection)); + } + function baseSlice(array, start, end) { + var index = -1, length = array.length; + if (start < 0) { + start = -start > length ? 0 : length + start; + } + end = end > length ? length : end; + if (end < 0) { + end += length; + } + length = start > end ? 0 : end - start >>> 0; + start >>>= 0; + var result2 = Array2(length); + while (++index < length) { + result2[index] = array[index + start]; + } + return result2; + } + function baseSome(collection, predicate) { + var result2; + baseEach(collection, function(value, index, collection2) { + result2 = predicate(value, index, collection2); + return !result2; + }); + return !!result2; + } + function baseSortedIndex(array, value, retHighest) { + var low = 0, high = array == null ? low : array.length; + if (typeof value == "number" && value === value && high <= HALF_MAX_ARRAY_LENGTH) { + while (low < high) { + var mid = low + high >>> 1, computed = array[mid]; + if (computed !== null && !isSymbol(computed) && (retHighest ? computed <= value : computed < value)) { + low = mid + 1; + } else { + high = mid; + } + } + return high; + } + return baseSortedIndexBy(array, value, identity, retHighest); + } + function baseSortedIndexBy(array, value, iteratee2, retHighest) { + var low = 0, high = array == null ? 0 : array.length; + if (high === 0) { + return 0; + } + value = iteratee2(value); + var valIsNaN = value !== value, valIsNull = value === null, valIsSymbol = isSymbol(value), valIsUndefined = value === undefined2; + while (low < high) { + var mid = nativeFloor((low + high) / 2), computed = iteratee2(array[mid]), othIsDefined = computed !== undefined2, othIsNull = computed === null, othIsReflexive = computed === computed, othIsSymbol = isSymbol(computed); + if (valIsNaN) { + var setLow = retHighest || othIsReflexive; + } else if (valIsUndefined) { + setLow = othIsReflexive && (retHighest || othIsDefined); + } else if (valIsNull) { + setLow = othIsReflexive && othIsDefined && (retHighest || !othIsNull); + } else if (valIsSymbol) { + setLow = othIsReflexive && othIsDefined && !othIsNull && (retHighest || !othIsSymbol); + } else if (othIsNull || othIsSymbol) { + setLow = false; + } else { + setLow = retHighest ? computed <= value : computed < value; + } + if (setLow) { + low = mid + 1; + } else { + high = mid; + } + } + return nativeMin(high, MAX_ARRAY_INDEX); + } + function baseSortedUniq(array, iteratee2) { + var index = -1, length = array.length, resIndex = 0, result2 = []; + while (++index < length) { + var value = array[index], computed = iteratee2 ? iteratee2(value) : value; + if (!index || !eq(computed, seen)) { + var seen = computed; + result2[resIndex++] = value === 0 ? 0 : value; + } + } + return result2; + } + function baseToNumber(value) { + if (typeof value == "number") { + return value; + } + if (isSymbol(value)) { + return NAN; + } + return +value; + } + function baseToString(value) { + if (typeof value == "string") { + return value; + } + if (isArray(value)) { + return arrayMap(value, baseToString) + ""; + } + if (isSymbol(value)) { + return symbolToString ? symbolToString.call(value) : ""; + } + var result2 = value + ""; + return result2 == "0" && 1 / value == -INFINITY ? "-0" : result2; + } + function baseUniq(array, iteratee2, comparator) { + var index = -1, includes2 = arrayIncludes, length = array.length, isCommon = true, result2 = [], seen = result2; + if (comparator) { + isCommon = false; + includes2 = arrayIncludesWith; + } else if (length >= LARGE_ARRAY_SIZE) { + var set2 = iteratee2 ? null : createSet(array); + if (set2) { + return setToArray(set2); + } + isCommon = false; + includes2 = cacheHas; + seen = new SetCache(); + } else { + seen = iteratee2 ? [] : result2; + } + outer: + while (++index < length) { + var value = array[index], computed = iteratee2 ? iteratee2(value) : value; + value = comparator || value !== 0 ? value : 0; + if (isCommon && computed === computed) { + var seenIndex = seen.length; + while (seenIndex--) { + if (seen[seenIndex] === computed) { + continue outer; + } + } + if (iteratee2) { + seen.push(computed); + } + result2.push(value); + } else if (!includes2(seen, computed, comparator)) { + if (seen !== result2) { + seen.push(computed); + } + result2.push(value); + } + } + return result2; + } + function baseUnset(object, path) { + path = castPath(path, object); + object = parent(object, path); + return object == null || delete object[toKey(last(path))]; + } + function baseUpdate(object, path, updater, customizer) { + return baseSet(object, path, updater(baseGet(object, path)), customizer); + } + function baseWhile(array, predicate, isDrop, fromRight) { + var length = array.length, index = fromRight ? length : -1; + while ((fromRight ? index-- : ++index < length) && predicate(array[index], index, array)) { + } + return isDrop ? baseSlice(array, fromRight ? 0 : index, fromRight ? index + 1 : length) : baseSlice(array, fromRight ? index + 1 : 0, fromRight ? length : index); + } + function baseWrapperValue(value, actions) { + var result2 = value; + if (result2 instanceof LazyWrapper) { + result2 = result2.value(); + } + return arrayReduce(actions, function(result3, action) { + return action.func.apply(action.thisArg, arrayPush([result3], action.args)); + }, result2); + } + function baseXor(arrays, iteratee2, comparator) { + var length = arrays.length; + if (length < 2) { + return length ? baseUniq(arrays[0]) : []; + } + var index = -1, result2 = Array2(length); + while (++index < length) { + var array = arrays[index], othIndex = -1; + while (++othIndex < length) { + if (othIndex != index) { + result2[index] = baseDifference(result2[index] || array, arrays[othIndex], iteratee2, comparator); + } + } + } + return baseUniq(baseFlatten(result2, 1), iteratee2, comparator); + } + function baseZipObject(props, values2, assignFunc) { + var index = -1, length = props.length, valsLength = values2.length, result2 = {}; + while (++index < length) { + var value = index < valsLength ? values2[index] : undefined2; + assignFunc(result2, props[index], value); + } + return result2; + } + function castArrayLikeObject(value) { + return isArrayLikeObject(value) ? value : []; + } + function castFunction(value) { + return typeof value == "function" ? value : identity; + } + function castPath(value, object) { + if (isArray(value)) { + return value; + } + return isKey(value, object) ? [value] : stringToPath(toString(value)); + } + var castRest = baseRest; + function castSlice(array, start, end) { + var length = array.length; + end = end === undefined2 ? length : end; + return !start && end >= length ? array : baseSlice(array, start, end); + } + var clearTimeout2 = ctxClearTimeout || function(id) { + return root.clearTimeout(id); + }; + function cloneBuffer(buffer, isDeep) { + if (isDeep) { + return buffer.slice(); + } + var length = buffer.length, result2 = allocUnsafe ? allocUnsafe(length) : new buffer.constructor(length); + buffer.copy(result2); + return result2; + } + function cloneArrayBuffer(arrayBuffer) { + var result2 = new arrayBuffer.constructor(arrayBuffer.byteLength); + new Uint8Array2(result2).set(new Uint8Array2(arrayBuffer)); + return result2; + } + function cloneDataView(dataView, isDeep) { + var buffer = isDeep ? cloneArrayBuffer(dataView.buffer) : dataView.buffer; + return new dataView.constructor(buffer, dataView.byteOffset, dataView.byteLength); + } + function cloneRegExp(regexp) { + var result2 = new regexp.constructor(regexp.source, reFlags.exec(regexp)); + result2.lastIndex = regexp.lastIndex; + return result2; + } + function cloneSymbol(symbol) { + return symbolValueOf ? Object2(symbolValueOf.call(symbol)) : {}; + } + function cloneTypedArray(typedArray, isDeep) { + var buffer = isDeep ? cloneArrayBuffer(typedArray.buffer) : typedArray.buffer; + return new typedArray.constructor(buffer, typedArray.byteOffset, typedArray.length); + } + function compareAscending(value, other) { + if (value !== other) { + var valIsDefined = value !== undefined2, valIsNull = value === null, valIsReflexive = value === value, valIsSymbol = isSymbol(value); + var othIsDefined = other !== undefined2, othIsNull = other === null, othIsReflexive = other === other, othIsSymbol = isSymbol(other); + if (!othIsNull && !othIsSymbol && !valIsSymbol && value > other || valIsSymbol && othIsDefined && othIsReflexive && !othIsNull && !othIsSymbol || valIsNull && othIsDefined && othIsReflexive || !valIsDefined && othIsReflexive || !valIsReflexive) { + return 1; + } + if (!valIsNull && !valIsSymbol && !othIsSymbol && value < other || othIsSymbol && valIsDefined && valIsReflexive && !valIsNull && !valIsSymbol || othIsNull && valIsDefined && valIsReflexive || !othIsDefined && valIsReflexive || !othIsReflexive) { + return -1; + } + } + return 0; + } + function compareMultiple(object, other, orders) { + var index = -1, objCriteria = object.criteria, othCriteria = other.criteria, length = objCriteria.length, ordersLength = orders.length; + while (++index < length) { + var result2 = compareAscending(objCriteria[index], othCriteria[index]); + if (result2) { + if (index >= ordersLength) { + return result2; + } + var order = orders[index]; + return result2 * (order == "desc" ? -1 : 1); + } + } + return object.index - other.index; + } + function composeArgs(args, partials, holders, isCurried) { + var argsIndex = -1, argsLength = args.length, holdersLength = holders.length, leftIndex = -1, leftLength = partials.length, rangeLength = nativeMax(argsLength - holdersLength, 0), result2 = Array2(leftLength + rangeLength), isUncurried = !isCurried; + while (++leftIndex < leftLength) { + result2[leftIndex] = partials[leftIndex]; + } + while (++argsIndex < holdersLength) { + if (isUncurried || argsIndex < argsLength) { + result2[holders[argsIndex]] = args[argsIndex]; + } + } + while (rangeLength--) { + result2[leftIndex++] = args[argsIndex++]; + } + return result2; + } + function composeArgsRight(args, partials, holders, isCurried) { + var argsIndex = -1, argsLength = args.length, holdersIndex = -1, holdersLength = holders.length, rightIndex = -1, rightLength = partials.length, rangeLength = nativeMax(argsLength - holdersLength, 0), result2 = Array2(rangeLength + rightLength), isUncurried = !isCurried; + while (++argsIndex < rangeLength) { + result2[argsIndex] = args[argsIndex]; + } + var offset = argsIndex; + while (++rightIndex < rightLength) { + result2[offset + rightIndex] = partials[rightIndex]; + } + while (++holdersIndex < holdersLength) { + if (isUncurried || argsIndex < argsLength) { + result2[offset + holders[holdersIndex]] = args[argsIndex++]; + } + } + return result2; + } + function copyArray(source, array) { + var index = -1, length = source.length; + array || (array = Array2(length)); + while (++index < length) { + array[index] = source[index]; + } + return array; + } + function copyObject(source, props, object, customizer) { + var isNew = !object; + object || (object = {}); + var index = -1, length = props.length; + while (++index < length) { + var key = props[index]; + var newValue = customizer ? customizer(object[key], source[key], key, object, source) : undefined2; + if (newValue === undefined2) { + newValue = source[key]; + } + if (isNew) { + baseAssignValue(object, key, newValue); + } else { + assignValue(object, key, newValue); + } + } + return object; + } + function copySymbols(source, object) { + return copyObject(source, getSymbols(source), object); + } + function copySymbolsIn(source, object) { + return copyObject(source, getSymbolsIn(source), object); + } + function createAggregator(setter, initializer) { + return function(collection, iteratee2) { + var func = isArray(collection) ? arrayAggregator : baseAggregator, accumulator = initializer ? initializer() : {}; + return func(collection, setter, getIteratee(iteratee2, 2), accumulator); + }; + } + function createAssigner(assigner) { + return baseRest(function(object, sources) { + var index = -1, length = sources.length, customizer = length > 1 ? sources[length - 1] : undefined2, guard = length > 2 ? sources[2] : undefined2; + customizer = assigner.length > 3 && typeof customizer == "function" ? (length--, customizer) : undefined2; + if (guard && isIterateeCall(sources[0], sources[1], guard)) { + customizer = length < 3 ? undefined2 : customizer; + length = 1; + } + object = Object2(object); + while (++index < length) { + var source = sources[index]; + if (source) { + assigner(object, source, index, customizer); + } + } + return object; + }); + } + function createBaseEach(eachFunc, fromRight) { + return function(collection, iteratee2) { + if (collection == null) { + return collection; + } + if (!isArrayLike(collection)) { + return eachFunc(collection, iteratee2); + } + var length = collection.length, index = fromRight ? length : -1, iterable = Object2(collection); + while (fromRight ? index-- : ++index < length) { + if (iteratee2(iterable[index], index, iterable) === false) { + break; + } + } + return collection; + }; + } + function createBaseFor(fromRight) { + return function(object, iteratee2, keysFunc) { + var index = -1, iterable = Object2(object), props = keysFunc(object), length = props.length; + while (length--) { + var key = props[fromRight ? length : ++index]; + if (iteratee2(iterable[key], key, iterable) === false) { + break; + } + } + return object; + }; + } + function createBind(func, bitmask, thisArg) { + var isBind = bitmask & WRAP_BIND_FLAG, Ctor = createCtor(func); + function wrapper() { + var fn = this && this !== root && this instanceof wrapper ? Ctor : func; + return fn.apply(isBind ? thisArg : this, arguments); + } + return wrapper; + } + function createCaseFirst(methodName) { + return function(string) { + string = toString(string); + var strSymbols = hasUnicode(string) ? stringToArray(string) : undefined2; + var chr = strSymbols ? strSymbols[0] : string.charAt(0); + var trailing = strSymbols ? castSlice(strSymbols, 1).join("") : string.slice(1); + return chr[methodName]() + trailing; + }; + } + function createCompounder(callback) { + return function(string) { + return arrayReduce(words(deburr(string).replace(reApos, "")), callback, ""); + }; + } + function createCtor(Ctor) { + return function() { + var args = arguments; + switch (args.length) { + case 0: + return new Ctor(); + case 1: + return new Ctor(args[0]); + case 2: + return new Ctor(args[0], args[1]); + case 3: + return new Ctor(args[0], args[1], args[2]); + case 4: + return new Ctor(args[0], args[1], args[2], args[3]); + case 5: + return new Ctor(args[0], args[1], args[2], args[3], args[4]); + case 6: + return new Ctor(args[0], args[1], args[2], args[3], args[4], args[5]); + case 7: + return new Ctor(args[0], args[1], args[2], args[3], args[4], args[5], args[6]); + } + var thisBinding = baseCreate(Ctor.prototype), result2 = Ctor.apply(thisBinding, args); + return isObject(result2) ? result2 : thisBinding; + }; + } + function createCurry(func, bitmask, arity) { + var Ctor = createCtor(func); + function wrapper() { + var length = arguments.length, args = Array2(length), index = length, placeholder = getHolder(wrapper); + while (index--) { + args[index] = arguments[index]; + } + var holders = length < 3 && args[0] !== placeholder && args[length - 1] !== placeholder ? [] : replaceHolders(args, placeholder); + length -= holders.length; + if (length < arity) { + return createRecurry( + func, + bitmask, + createHybrid, + wrapper.placeholder, + undefined2, + args, + holders, + undefined2, + undefined2, + arity - length + ); + } + var fn = this && this !== root && this instanceof wrapper ? Ctor : func; + return apply(fn, this, args); + } + return wrapper; + } + function createFind(findIndexFunc) { + return function(collection, predicate, fromIndex) { + var iterable = Object2(collection); + if (!isArrayLike(collection)) { + var iteratee2 = getIteratee(predicate, 3); + collection = keys(collection); + predicate = function(key) { + return iteratee2(iterable[key], key, iterable); + }; + } + var index = findIndexFunc(collection, predicate, fromIndex); + return index > -1 ? iterable[iteratee2 ? collection[index] : index] : undefined2; + }; + } + function createFlow(fromRight) { + return flatRest(function(funcs) { + var length = funcs.length, index = length, prereq = LodashWrapper.prototype.thru; + if (fromRight) { + funcs.reverse(); + } + while (index--) { + var func = funcs[index]; + if (typeof func != "function") { + throw new TypeError2(FUNC_ERROR_TEXT); + } + if (prereq && !wrapper && getFuncName(func) == "wrapper") { + var wrapper = new LodashWrapper([], true); + } + } + index = wrapper ? index : length; + while (++index < length) { + func = funcs[index]; + var funcName = getFuncName(func), data = funcName == "wrapper" ? getData(func) : undefined2; + if (data && isLaziable(data[0]) && data[1] == (WRAP_ARY_FLAG | WRAP_CURRY_FLAG | WRAP_PARTIAL_FLAG | WRAP_REARG_FLAG) && !data[4].length && data[9] == 1) { + wrapper = wrapper[getFuncName(data[0])].apply(wrapper, data[3]); + } else { + wrapper = func.length == 1 && isLaziable(func) ? wrapper[funcName]() : wrapper.thru(func); + } + } + return function() { + var args = arguments, value = args[0]; + if (wrapper && args.length == 1 && isArray(value)) { + return wrapper.plant(value).value(); + } + var index2 = 0, result2 = length ? funcs[index2].apply(this, args) : value; + while (++index2 < length) { + result2 = funcs[index2].call(this, result2); + } + return result2; + }; + }); + } + function createHybrid(func, bitmask, thisArg, partials, holders, partialsRight, holdersRight, argPos, ary2, arity) { + var isAry = bitmask & WRAP_ARY_FLAG, isBind = bitmask & WRAP_BIND_FLAG, isBindKey = bitmask & WRAP_BIND_KEY_FLAG, isCurried = bitmask & (WRAP_CURRY_FLAG | WRAP_CURRY_RIGHT_FLAG), isFlip = bitmask & WRAP_FLIP_FLAG, Ctor = isBindKey ? undefined2 : createCtor(func); + function wrapper() { + var length = arguments.length, args = Array2(length), index = length; + while (index--) { + args[index] = arguments[index]; + } + if (isCurried) { + var placeholder = getHolder(wrapper), holdersCount = countHolders(args, placeholder); + } + if (partials) { + args = composeArgs(args, partials, holders, isCurried); + } + if (partialsRight) { + args = composeArgsRight(args, partialsRight, holdersRight, isCurried); + } + length -= holdersCount; + if (isCurried && length < arity) { + var newHolders = replaceHolders(args, placeholder); + return createRecurry( + func, + bitmask, + createHybrid, + wrapper.placeholder, + thisArg, + args, + newHolders, + argPos, + ary2, + arity - length + ); + } + var thisBinding = isBind ? thisArg : this, fn = isBindKey ? thisBinding[func] : func; + length = args.length; + if (argPos) { + args = reorder(args, argPos); + } else if (isFlip && length > 1) { + args.reverse(); + } + if (isAry && ary2 < length) { + args.length = ary2; + } + if (this && this !== root && this instanceof wrapper) { + fn = Ctor || createCtor(fn); + } + return fn.apply(thisBinding, args); + } + return wrapper; + } + function createInverter(setter, toIteratee) { + return function(object, iteratee2) { + return baseInverter(object, setter, toIteratee(iteratee2), {}); + }; + } + function createMathOperation(operator, defaultValue) { + return function(value, other) { + var result2; + if (value === undefined2 && other === undefined2) { + return defaultValue; + } + if (value !== undefined2) { + result2 = value; + } + if (other !== undefined2) { + if (result2 === undefined2) { + return other; + } + if (typeof value == "string" || typeof other == "string") { + value = baseToString(value); + other = baseToString(other); + } else { + value = baseToNumber(value); + other = baseToNumber(other); + } + result2 = operator(value, other); + } + return result2; + }; + } + function createOver(arrayFunc) { + return flatRest(function(iteratees) { + iteratees = arrayMap(iteratees, baseUnary(getIteratee())); + return baseRest(function(args) { + var thisArg = this; + return arrayFunc(iteratees, function(iteratee2) { + return apply(iteratee2, thisArg, args); + }); + }); + }); + } + function createPadding(length, chars) { + chars = chars === undefined2 ? " " : baseToString(chars); + var charsLength = chars.length; + if (charsLength < 2) { + return charsLength ? baseRepeat(chars, length) : chars; + } + var result2 = baseRepeat(chars, nativeCeil(length / stringSize(chars))); + return hasUnicode(chars) ? castSlice(stringToArray(result2), 0, length).join("") : result2.slice(0, length); + } + function createPartial(func, bitmask, thisArg, partials) { + var isBind = bitmask & WRAP_BIND_FLAG, Ctor = createCtor(func); + function wrapper() { + var argsIndex = -1, argsLength = arguments.length, leftIndex = -1, leftLength = partials.length, args = Array2(leftLength + argsLength), fn = this && this !== root && this instanceof wrapper ? Ctor : func; + while (++leftIndex < leftLength) { + args[leftIndex] = partials[leftIndex]; + } + while (argsLength--) { + args[leftIndex++] = arguments[++argsIndex]; + } + return apply(fn, isBind ? thisArg : this, args); + } + return wrapper; + } + function createRange(fromRight) { + return function(start, end, step) { + if (step && typeof step != "number" && isIterateeCall(start, end, step)) { + end = step = undefined2; + } + start = toFinite(start); + if (end === undefined2) { + end = start; + start = 0; + } else { + end = toFinite(end); + } + step = step === undefined2 ? start < end ? 1 : -1 : toFinite(step); + return baseRange(start, end, step, fromRight); + }; + } + function createRelationalOperation(operator) { + return function(value, other) { + if (!(typeof value == "string" && typeof other == "string")) { + value = toNumber(value); + other = toNumber(other); + } + return operator(value, other); + }; + } + function createRecurry(func, bitmask, wrapFunc, placeholder, thisArg, partials, holders, argPos, ary2, arity) { + var isCurry = bitmask & WRAP_CURRY_FLAG, newHolders = isCurry ? holders : undefined2, newHoldersRight = isCurry ? undefined2 : holders, newPartials = isCurry ? partials : undefined2, newPartialsRight = isCurry ? undefined2 : partials; + bitmask |= isCurry ? WRAP_PARTIAL_FLAG : WRAP_PARTIAL_RIGHT_FLAG; + bitmask &= ~(isCurry ? WRAP_PARTIAL_RIGHT_FLAG : WRAP_PARTIAL_FLAG); + if (!(bitmask & WRAP_CURRY_BOUND_FLAG)) { + bitmask &= ~(WRAP_BIND_FLAG | WRAP_BIND_KEY_FLAG); + } + var newData = [ + func, + bitmask, + thisArg, + newPartials, + newHolders, + newPartialsRight, + newHoldersRight, + argPos, + ary2, + arity + ]; + var result2 = wrapFunc.apply(undefined2, newData); + if (isLaziable(func)) { + setData(result2, newData); + } + result2.placeholder = placeholder; + return setWrapToString(result2, func, bitmask); + } + function createRound(methodName) { + var func = Math2[methodName]; + return function(number, precision) { + number = toNumber(number); + precision = precision == null ? 0 : nativeMin(toInteger(precision), 292); + if (precision && nativeIsFinite(number)) { + var pair = (toString(number) + "e").split("e"), value = func(pair[0] + "e" + (+pair[1] + precision)); + pair = (toString(value) + "e").split("e"); + return +(pair[0] + "e" + (+pair[1] - precision)); + } + return func(number); + }; + } + var createSet = !(Set2 && 1 / setToArray(new Set2([, -0]))[1] == INFINITY) ? noop : function(values2) { + return new Set2(values2); + }; + function createToPairs(keysFunc) { + return function(object) { + var tag = getTag(object); + if (tag == mapTag) { + return mapToArray(object); + } + if (tag == setTag) { + return setToPairs(object); + } + return baseToPairs(object, keysFunc(object)); + }; + } + function createWrap(func, bitmask, thisArg, partials, holders, argPos, ary2, arity) { + var isBindKey = bitmask & WRAP_BIND_KEY_FLAG; + if (!isBindKey && typeof func != "function") { + throw new TypeError2(FUNC_ERROR_TEXT); + } + var length = partials ? partials.length : 0; + if (!length) { + bitmask &= ~(WRAP_PARTIAL_FLAG | WRAP_PARTIAL_RIGHT_FLAG); + partials = holders = undefined2; + } + ary2 = ary2 === undefined2 ? ary2 : nativeMax(toInteger(ary2), 0); + arity = arity === undefined2 ? arity : toInteger(arity); + length -= holders ? holders.length : 0; + if (bitmask & WRAP_PARTIAL_RIGHT_FLAG) { + var partialsRight = partials, holdersRight = holders; + partials = holders = undefined2; + } + var data = isBindKey ? undefined2 : getData(func); + var newData = [ + func, + bitmask, + thisArg, + partials, + holders, + partialsRight, + holdersRight, + argPos, + ary2, + arity + ]; + if (data) { + mergeData(newData, data); + } + func = newData[0]; + bitmask = newData[1]; + thisArg = newData[2]; + partials = newData[3]; + holders = newData[4]; + arity = newData[9] = newData[9] === undefined2 ? isBindKey ? 0 : func.length : nativeMax(newData[9] - length, 0); + if (!arity && bitmask & (WRAP_CURRY_FLAG | WRAP_CURRY_RIGHT_FLAG)) { + bitmask &= ~(WRAP_CURRY_FLAG | WRAP_CURRY_RIGHT_FLAG); + } + if (!bitmask || bitmask == WRAP_BIND_FLAG) { + var result2 = createBind(func, bitmask, thisArg); + } else if (bitmask == WRAP_CURRY_FLAG || bitmask == WRAP_CURRY_RIGHT_FLAG) { + result2 = createCurry(func, bitmask, arity); + } else if ((bitmask == WRAP_PARTIAL_FLAG || bitmask == (WRAP_BIND_FLAG | WRAP_PARTIAL_FLAG)) && !holders.length) { + result2 = createPartial(func, bitmask, thisArg, partials); + } else { + result2 = createHybrid.apply(undefined2, newData); + } + var setter = data ? baseSetData : setData; + return setWrapToString(setter(result2, newData), func, bitmask); + } + function customDefaultsAssignIn(objValue, srcValue, key, object) { + if (objValue === undefined2 || eq(objValue, objectProto[key]) && !hasOwnProperty.call(object, key)) { + return srcValue; + } + return objValue; + } + function customDefaultsMerge(objValue, srcValue, key, object, source, stack) { + if (isObject(objValue) && isObject(srcValue)) { + stack.set(srcValue, objValue); + baseMerge(objValue, srcValue, undefined2, customDefaultsMerge, stack); + stack["delete"](srcValue); + } + return objValue; + } + function customOmitClone(value) { + return isPlainObject(value) ? undefined2 : value; + } + function equalArrays(array, other, bitmask, customizer, equalFunc, stack) { + var isPartial = bitmask & COMPARE_PARTIAL_FLAG, arrLength = array.length, othLength = other.length; + if (arrLength != othLength && !(isPartial && othLength > arrLength)) { + return false; + } + var arrStacked = stack.get(array); + var othStacked = stack.get(other); + if (arrStacked && othStacked) { + return arrStacked == other && othStacked == array; + } + var index = -1, result2 = true, seen = bitmask & COMPARE_UNORDERED_FLAG ? new SetCache() : undefined2; + stack.set(array, other); + stack.set(other, array); + while (++index < arrLength) { + var arrValue = array[index], othValue = other[index]; + if (customizer) { + var compared = isPartial ? customizer(othValue, arrValue, index, other, array, stack) : customizer(arrValue, othValue, index, array, other, stack); + } + if (compared !== undefined2) { + if (compared) { + continue; + } + result2 = false; + break; + } + if (seen) { + if (!arraySome(other, function(othValue2, othIndex) { + if (!cacheHas(seen, othIndex) && (arrValue === othValue2 || equalFunc(arrValue, othValue2, bitmask, customizer, stack))) { + return seen.push(othIndex); + } + })) { + result2 = false; + break; + } + } else if (!(arrValue === othValue || equalFunc(arrValue, othValue, bitmask, customizer, stack))) { + result2 = false; + break; + } + } + stack["delete"](array); + stack["delete"](other); + return result2; + } + function equalByTag(object, other, tag, bitmask, customizer, equalFunc, stack) { + switch (tag) { + case dataViewTag: + if (object.byteLength != other.byteLength || object.byteOffset != other.byteOffset) { + return false; + } + object = object.buffer; + other = other.buffer; + case arrayBufferTag: + if (object.byteLength != other.byteLength || !equalFunc(new Uint8Array2(object), new Uint8Array2(other))) { + return false; + } + return true; + case boolTag: + case dateTag: + case numberTag: + return eq(+object, +other); + case errorTag: + return object.name == other.name && object.message == other.message; + case regexpTag: + case stringTag: + return object == other + ""; + case mapTag: + var convert = mapToArray; + case setTag: + var isPartial = bitmask & COMPARE_PARTIAL_FLAG; + convert || (convert = setToArray); + if (object.size != other.size && !isPartial) { + return false; + } + var stacked = stack.get(object); + if (stacked) { + return stacked == other; + } + bitmask |= COMPARE_UNORDERED_FLAG; + stack.set(object, other); + var result2 = equalArrays(convert(object), convert(other), bitmask, customizer, equalFunc, stack); + stack["delete"](object); + return result2; + case symbolTag: + if (symbolValueOf) { + return symbolValueOf.call(object) == symbolValueOf.call(other); + } + } + return false; + } + function equalObjects(object, other, bitmask, customizer, equalFunc, stack) { + var isPartial = bitmask & COMPARE_PARTIAL_FLAG, objProps = getAllKeys(object), objLength = objProps.length, othProps = getAllKeys(other), othLength = othProps.length; + if (objLength != othLength && !isPartial) { + return false; + } + var index = objLength; + while (index--) { + var key = objProps[index]; + if (!(isPartial ? key in other : hasOwnProperty.call(other, key))) { + return false; + } + } + var objStacked = stack.get(object); + var othStacked = stack.get(other); + if (objStacked && othStacked) { + return objStacked == other && othStacked == object; + } + var result2 = true; + stack.set(object, other); + stack.set(other, object); + var skipCtor = isPartial; + while (++index < objLength) { + key = objProps[index]; + var objValue = object[key], othValue = other[key]; + if (customizer) { + var compared = isPartial ? customizer(othValue, objValue, key, other, object, stack) : customizer(objValue, othValue, key, object, other, stack); + } + if (!(compared === undefined2 ? objValue === othValue || equalFunc(objValue, othValue, bitmask, customizer, stack) : compared)) { + result2 = false; + break; + } + skipCtor || (skipCtor = key == "constructor"); + } + if (result2 && !skipCtor) { + var objCtor = object.constructor, othCtor = other.constructor; + if (objCtor != othCtor && ("constructor" in object && "constructor" in other) && !(typeof objCtor == "function" && objCtor instanceof objCtor && typeof othCtor == "function" && othCtor instanceof othCtor)) { + result2 = false; + } + } + stack["delete"](object); + stack["delete"](other); + return result2; + } + function flatRest(func) { + return setToString(overRest(func, undefined2, flatten), func + ""); + } + function getAllKeys(object) { + return baseGetAllKeys(object, keys, getSymbols); + } + function getAllKeysIn(object) { + return baseGetAllKeys(object, keysIn, getSymbolsIn); + } + var getData = !metaMap ? noop : function(func) { + return metaMap.get(func); + }; + function getFuncName(func) { + var result2 = func.name + "", array = realNames[result2], length = hasOwnProperty.call(realNames, result2) ? array.length : 0; + while (length--) { + var data = array[length], otherFunc = data.func; + if (otherFunc == null || otherFunc == func) { + return data.name; + } + } + return result2; + } + function getHolder(func) { + var object = hasOwnProperty.call(lodash, "placeholder") ? lodash : func; + return object.placeholder; + } + function getIteratee() { + var result2 = lodash.iteratee || iteratee; + result2 = result2 === iteratee ? baseIteratee : result2; + return arguments.length ? result2(arguments[0], arguments[1]) : result2; + } + function getMapData(map2, key) { + var data = map2.__data__; + return isKeyable(key) ? data[typeof key == "string" ? "string" : "hash"] : data.map; + } + function getMatchData(object) { + var result2 = keys(object), length = result2.length; + while (length--) { + var key = result2[length], value = object[key]; + result2[length] = [key, value, isStrictComparable(value)]; + } + return result2; + } + function getNative(object, key) { + var value = getValue(object, key); + return baseIsNative(value) ? value : undefined2; + } + function getRawTag(value) { + var isOwn = hasOwnProperty.call(value, symToStringTag), tag = value[symToStringTag]; + try { + value[symToStringTag] = undefined2; + var unmasked = true; + } catch (e) { + } + var result2 = nativeObjectToString.call(value); + if (unmasked) { + if (isOwn) { + value[symToStringTag] = tag; + } else { + delete value[symToStringTag]; + } + } + return result2; + } + var getSymbols = !nativeGetSymbols ? stubArray : function(object) { + if (object == null) { + return []; + } + object = Object2(object); + return arrayFilter(nativeGetSymbols(object), function(symbol) { + return propertyIsEnumerable.call(object, symbol); + }); + }; + var getSymbolsIn = !nativeGetSymbols ? stubArray : function(object) { + var result2 = []; + while (object) { + arrayPush(result2, getSymbols(object)); + object = getPrototype(object); + } + return result2; + }; + var getTag = baseGetTag; + if (DataView2 && getTag(new DataView2(new ArrayBuffer(1))) != dataViewTag || Map2 && getTag(new Map2()) != mapTag || Promise2 && getTag(Promise2.resolve()) != promiseTag || Set2 && getTag(new Set2()) != setTag || WeakMap2 && getTag(new WeakMap2()) != weakMapTag) { + getTag = function(value) { + var result2 = baseGetTag(value), Ctor = result2 == objectTag ? value.constructor : undefined2, ctorString = Ctor ? toSource(Ctor) : ""; + if (ctorString) { + switch (ctorString) { + case dataViewCtorString: + return dataViewTag; + case mapCtorString: + return mapTag; + case promiseCtorString: + return promiseTag; + case setCtorString: + return setTag; + case weakMapCtorString: + return weakMapTag; + } + } + return result2; + }; + } + function getView(start, end, transforms) { + var index = -1, length = transforms.length; + while (++index < length) { + var data = transforms[index], size2 = data.size; + switch (data.type) { + case "drop": + start += size2; + break; + case "dropRight": + end -= size2; + break; + case "take": + end = nativeMin(end, start + size2); + break; + case "takeRight": + start = nativeMax(start, end - size2); + break; + } + } + return { "start": start, "end": end }; + } + function getWrapDetails(source) { + var match = source.match(reWrapDetails); + return match ? match[1].split(reSplitDetails) : []; + } + function hasPath(object, path, hasFunc) { + path = castPath(path, object); + var index = -1, length = path.length, result2 = false; + while (++index < length) { + var key = toKey(path[index]); + if (!(result2 = object != null && hasFunc(object, key))) { + break; + } + object = object[key]; + } + if (result2 || ++index != length) { + return result2; + } + length = object == null ? 0 : object.length; + return !!length && isLength(length) && isIndex(key, length) && (isArray(object) || isArguments(object)); + } + function initCloneArray(array) { + var length = array.length, result2 = new array.constructor(length); + if (length && typeof array[0] == "string" && hasOwnProperty.call(array, "index")) { + result2.index = array.index; + result2.input = array.input; + } + return result2; + } + function initCloneObject(object) { + return typeof object.constructor == "function" && !isPrototype(object) ? baseCreate(getPrototype(object)) : {}; + } + function initCloneByTag(object, tag, isDeep) { + var Ctor = object.constructor; + switch (tag) { + case arrayBufferTag: + return cloneArrayBuffer(object); + case boolTag: + case dateTag: + return new Ctor(+object); + case dataViewTag: + return cloneDataView(object, isDeep); + case float32Tag: + case float64Tag: + case int8Tag: + case int16Tag: + case int32Tag: + case uint8Tag: + case uint8ClampedTag: + case uint16Tag: + case uint32Tag: + return cloneTypedArray(object, isDeep); + case mapTag: + return new Ctor(); + case numberTag: + case stringTag: + return new Ctor(object); + case regexpTag: + return cloneRegExp(object); + case setTag: + return new Ctor(); + case symbolTag: + return cloneSymbol(object); + } + } + function insertWrapDetails(source, details) { + var length = details.length; + if (!length) { + return source; + } + var lastIndex = length - 1; + details[lastIndex] = (length > 1 ? "& " : "") + details[lastIndex]; + details = details.join(length > 2 ? ", " : " "); + return source.replace(reWrapComment, "{\n/* [wrapped with " + details + "] */\n"); + } + function isFlattenable(value) { + return isArray(value) || isArguments(value) || !!(spreadableSymbol && value && value[spreadableSymbol]); + } + function isIndex(value, length) { + var type = typeof value; + length = length == null ? MAX_SAFE_INTEGER : length; + return !!length && (type == "number" || type != "symbol" && reIsUint.test(value)) && (value > -1 && value % 1 == 0 && value < length); + } + function isIterateeCall(value, index, object) { + if (!isObject(object)) { + return false; + } + var type = typeof index; + if (type == "number" ? isArrayLike(object) && isIndex(index, object.length) : type == "string" && index in object) { + return eq(object[index], value); + } + return false; + } + function isKey(value, object) { + if (isArray(value)) { + return false; + } + var type = typeof value; + if (type == "number" || type == "symbol" || type == "boolean" || value == null || isSymbol(value)) { + return true; + } + return reIsPlainProp.test(value) || !reIsDeepProp.test(value) || object != null && value in Object2(object); + } + function isKeyable(value) { + var type = typeof value; + return type == "string" || type == "number" || type == "symbol" || type == "boolean" ? value !== "__proto__" : value === null; + } + function isLaziable(func) { + var funcName = getFuncName(func), other = lodash[funcName]; + if (typeof other != "function" || !(funcName in LazyWrapper.prototype)) { + return false; + } + if (func === other) { + return true; + } + var data = getData(other); + return !!data && func === data[0]; + } + function isMasked(func) { + return !!maskSrcKey && maskSrcKey in func; + } + var isMaskable = coreJsData ? isFunction : stubFalse; + function isPrototype(value) { + var Ctor = value && value.constructor, proto2 = typeof Ctor == "function" && Ctor.prototype || objectProto; + return value === proto2; + } + function isStrictComparable(value) { + return value === value && !isObject(value); + } + function matchesStrictComparable(key, srcValue) { + return function(object) { + if (object == null) { + return false; + } + return object[key] === srcValue && (srcValue !== undefined2 || key in Object2(object)); + }; + } + function memoizeCapped(func) { + var result2 = memoize(func, function(key) { + if (cache.size === MAX_MEMOIZE_SIZE) { + cache.clear(); + } + return key; + }); + var cache = result2.cache; + return result2; + } + function mergeData(data, source) { + var bitmask = data[1], srcBitmask = source[1], newBitmask = bitmask | srcBitmask, isCommon = newBitmask < (WRAP_BIND_FLAG | WRAP_BIND_KEY_FLAG | WRAP_ARY_FLAG); + var isCombo = srcBitmask == WRAP_ARY_FLAG && bitmask == WRAP_CURRY_FLAG || srcBitmask == WRAP_ARY_FLAG && bitmask == WRAP_REARG_FLAG && data[7].length <= source[8] || srcBitmask == (WRAP_ARY_FLAG | WRAP_REARG_FLAG) && source[7].length <= source[8] && bitmask == WRAP_CURRY_FLAG; + if (!(isCommon || isCombo)) { + return data; + } + if (srcBitmask & WRAP_BIND_FLAG) { + data[2] = source[2]; + newBitmask |= bitmask & WRAP_BIND_FLAG ? 0 : WRAP_CURRY_BOUND_FLAG; + } + var value = source[3]; + if (value) { + var partials = data[3]; + data[3] = partials ? composeArgs(partials, value, source[4]) : value; + data[4] = partials ? replaceHolders(data[3], PLACEHOLDER) : source[4]; + } + value = source[5]; + if (value) { + partials = data[5]; + data[5] = partials ? composeArgsRight(partials, value, source[6]) : value; + data[6] = partials ? replaceHolders(data[5], PLACEHOLDER) : source[6]; + } + value = source[7]; + if (value) { + data[7] = value; + } + if (srcBitmask & WRAP_ARY_FLAG) { + data[8] = data[8] == null ? source[8] : nativeMin(data[8], source[8]); + } + if (data[9] == null) { + data[9] = source[9]; + } + data[0] = source[0]; + data[1] = newBitmask; + return data; + } + function nativeKeysIn(object) { + var result2 = []; + if (object != null) { + for (var key in Object2(object)) { + result2.push(key); + } + } + return result2; + } + function objectToString(value) { + return nativeObjectToString.call(value); + } + function overRest(func, start, transform2) { + start = nativeMax(start === undefined2 ? func.length - 1 : start, 0); + return function() { + var args = arguments, index = -1, length = nativeMax(args.length - start, 0), array = Array2(length); + while (++index < length) { + array[index] = args[start + index]; + } + index = -1; + var otherArgs = Array2(start + 1); + while (++index < start) { + otherArgs[index] = args[index]; + } + otherArgs[start] = transform2(array); + return apply(func, this, otherArgs); + }; + } + function parent(object, path) { + return path.length < 2 ? object : baseGet(object, baseSlice(path, 0, -1)); + } + function reorder(array, indexes) { + var arrLength = array.length, length = nativeMin(indexes.length, arrLength), oldArray = copyArray(array); + while (length--) { + var index = indexes[length]; + array[length] = isIndex(index, arrLength) ? oldArray[index] : undefined2; + } + return array; + } + function safeGet(object, key) { + if (key === "constructor" && typeof object[key] === "function") { + return; + } + if (key == "__proto__") { + return; + } + return object[key]; + } + var setData = shortOut(baseSetData); + var setTimeout2 = ctxSetTimeout || function(func, wait) { + return root.setTimeout(func, wait); + }; + var setToString = shortOut(baseSetToString); + function setWrapToString(wrapper, reference, bitmask) { + var source = reference + ""; + return setToString(wrapper, insertWrapDetails(source, updateWrapDetails(getWrapDetails(source), bitmask))); + } + function shortOut(func) { + var count = 0, lastCalled = 0; + return function() { + var stamp = nativeNow(), remaining = HOT_SPAN - (stamp - lastCalled); + lastCalled = stamp; + if (remaining > 0) { + if (++count >= HOT_COUNT) { + return arguments[0]; + } + } else { + count = 0; + } + return func.apply(undefined2, arguments); + }; + } + function shuffleSelf(array, size2) { + var index = -1, length = array.length, lastIndex = length - 1; + size2 = size2 === undefined2 ? length : size2; + while (++index < size2) { + var rand = baseRandom(index, lastIndex), value = array[rand]; + array[rand] = array[index]; + array[index] = value; + } + array.length = size2; + return array; + } + var stringToPath = memoizeCapped(function(string) { + var result2 = []; + if (string.charCodeAt(0) === 46) { + result2.push(""); + } + string.replace(rePropName, function(match, number, quote, subString) { + result2.push(quote ? subString.replace(reEscapeChar, "$1") : number || match); + }); + return result2; + }); + function toKey(value) { + if (typeof value == "string" || isSymbol(value)) { + return value; + } + var result2 = value + ""; + return result2 == "0" && 1 / value == -INFINITY ? "-0" : result2; + } + function toSource(func) { + if (func != null) { + try { + return funcToString.call(func); + } catch (e) { + } + try { + return func + ""; + } catch (e) { + } + } + return ""; + } + function updateWrapDetails(details, bitmask) { + arrayEach(wrapFlags, function(pair) { + var value = "_." + pair[0]; + if (bitmask & pair[1] && !arrayIncludes(details, value)) { + details.push(value); + } + }); + return details.sort(); + } + function wrapperClone(wrapper) { + if (wrapper instanceof LazyWrapper) { + return wrapper.clone(); + } + var result2 = new LodashWrapper(wrapper.__wrapped__, wrapper.__chain__); + result2.__actions__ = copyArray(wrapper.__actions__); + result2.__index__ = wrapper.__index__; + result2.__values__ = wrapper.__values__; + return result2; + } + function chunk(array, size2, guard) { + if (guard ? isIterateeCall(array, size2, guard) : size2 === undefined2) { + size2 = 1; + } else { + size2 = nativeMax(toInteger(size2), 0); + } + var length = array == null ? 0 : array.length; + if (!length || size2 < 1) { + return []; + } + var index = 0, resIndex = 0, result2 = Array2(nativeCeil(length / size2)); + while (index < length) { + result2[resIndex++] = baseSlice(array, index, index += size2); + } + return result2; + } + function compact(array) { + var index = -1, length = array == null ? 0 : array.length, resIndex = 0, result2 = []; + while (++index < length) { + var value = array[index]; + if (value) { + result2[resIndex++] = value; + } + } + return result2; + } + function concat() { + var length = arguments.length; + if (!length) { + return []; + } + var args = Array2(length - 1), array = arguments[0], index = length; + while (index--) { + args[index - 1] = arguments[index]; + } + return arrayPush(isArray(array) ? copyArray(array) : [array], baseFlatten(args, 1)); + } + var difference = baseRest(function(array, values2) { + return isArrayLikeObject(array) ? baseDifference(array, baseFlatten(values2, 1, isArrayLikeObject, true)) : []; + }); + var differenceBy = baseRest(function(array, values2) { + var iteratee2 = last(values2); + if (isArrayLikeObject(iteratee2)) { + iteratee2 = undefined2; + } + return isArrayLikeObject(array) ? baseDifference(array, baseFlatten(values2, 1, isArrayLikeObject, true), getIteratee(iteratee2, 2)) : []; + }); + var differenceWith = baseRest(function(array, values2) { + var comparator = last(values2); + if (isArrayLikeObject(comparator)) { + comparator = undefined2; + } + return isArrayLikeObject(array) ? baseDifference(array, baseFlatten(values2, 1, isArrayLikeObject, true), undefined2, comparator) : []; + }); + function drop(array, n, guard) { + var length = array == null ? 0 : array.length; + if (!length) { + return []; + } + n = guard || n === undefined2 ? 1 : toInteger(n); + return baseSlice(array, n < 0 ? 0 : n, length); + } + function dropRight(array, n, guard) { + var length = array == null ? 0 : array.length; + if (!length) { + return []; + } + n = guard || n === undefined2 ? 1 : toInteger(n); + n = length - n; + return baseSlice(array, 0, n < 0 ? 0 : n); + } + function dropRightWhile(array, predicate) { + return array && array.length ? baseWhile(array, getIteratee(predicate, 3), true, true) : []; + } + function dropWhile(array, predicate) { + return array && array.length ? baseWhile(array, getIteratee(predicate, 3), true) : []; + } + function fill(array, value, start, end) { + var length = array == null ? 0 : array.length; + if (!length) { + return []; + } + if (start && typeof start != "number" && isIterateeCall(array, value, start)) { + start = 0; + end = length; + } + return baseFill(array, value, start, end); + } + function findIndex(array, predicate, fromIndex) { + var length = array == null ? 0 : array.length; + if (!length) { + return -1; + } + var index = fromIndex == null ? 0 : toInteger(fromIndex); + if (index < 0) { + index = nativeMax(length + index, 0); + } + return baseFindIndex(array, getIteratee(predicate, 3), index); + } + function findLastIndex(array, predicate, fromIndex) { + var length = array == null ? 0 : array.length; + if (!length) { + return -1; + } + var index = length - 1; + if (fromIndex !== undefined2) { + index = toInteger(fromIndex); + index = fromIndex < 0 ? nativeMax(length + index, 0) : nativeMin(index, length - 1); + } + return baseFindIndex(array, getIteratee(predicate, 3), index, true); + } + function flatten(array) { + var length = array == null ? 0 : array.length; + return length ? baseFlatten(array, 1) : []; + } + function flattenDeep(array) { + var length = array == null ? 0 : array.length; + return length ? baseFlatten(array, INFINITY) : []; + } + function flattenDepth(array, depth) { + var length = array == null ? 0 : array.length; + if (!length) { + return []; + } + depth = depth === undefined2 ? 1 : toInteger(depth); + return baseFlatten(array, depth); + } + function fromPairs(pairs) { + var index = -1, length = pairs == null ? 0 : pairs.length, result2 = {}; + while (++index < length) { + var pair = pairs[index]; + result2[pair[0]] = pair[1]; + } + return result2; + } + function head(array) { + return array && array.length ? array[0] : undefined2; + } + function indexOf(array, value, fromIndex) { + var length = array == null ? 0 : array.length; + if (!length) { + return -1; + } + var index = fromIndex == null ? 0 : toInteger(fromIndex); + if (index < 0) { + index = nativeMax(length + index, 0); + } + return baseIndexOf(array, value, index); + } + function initial(array) { + var length = array == null ? 0 : array.length; + return length ? baseSlice(array, 0, -1) : []; + } + var intersection = baseRest(function(arrays) { + var mapped = arrayMap(arrays, castArrayLikeObject); + return mapped.length && mapped[0] === arrays[0] ? baseIntersection(mapped) : []; + }); + var intersectionBy = baseRest(function(arrays) { + var iteratee2 = last(arrays), mapped = arrayMap(arrays, castArrayLikeObject); + if (iteratee2 === last(mapped)) { + iteratee2 = undefined2; + } else { + mapped.pop(); + } + return mapped.length && mapped[0] === arrays[0] ? baseIntersection(mapped, getIteratee(iteratee2, 2)) : []; + }); + var intersectionWith = baseRest(function(arrays) { + var comparator = last(arrays), mapped = arrayMap(arrays, castArrayLikeObject); + comparator = typeof comparator == "function" ? comparator : undefined2; + if (comparator) { + mapped.pop(); + } + return mapped.length && mapped[0] === arrays[0] ? baseIntersection(mapped, undefined2, comparator) : []; + }); + function join(array, separator) { + return array == null ? "" : nativeJoin.call(array, separator); + } + function last(array) { + var length = array == null ? 0 : array.length; + return length ? array[length - 1] : undefined2; + } + function lastIndexOf(array, value, fromIndex) { + var length = array == null ? 0 : array.length; + if (!length) { + return -1; + } + var index = length; + if (fromIndex !== undefined2) { + index = toInteger(fromIndex); + index = index < 0 ? nativeMax(length + index, 0) : nativeMin(index, length - 1); + } + return value === value ? strictLastIndexOf(array, value, index) : baseFindIndex(array, baseIsNaN, index, true); + } + function nth(array, n) { + return array && array.length ? baseNth(array, toInteger(n)) : undefined2; + } + var pull = baseRest(pullAll); + function pullAll(array, values2) { + return array && array.length && values2 && values2.length ? basePullAll(array, values2) : array; + } + function pullAllBy(array, values2, iteratee2) { + return array && array.length && values2 && values2.length ? basePullAll(array, values2, getIteratee(iteratee2, 2)) : array; + } + function pullAllWith(array, values2, comparator) { + return array && array.length && values2 && values2.length ? basePullAll(array, values2, undefined2, comparator) : array; + } + var pullAt = flatRest(function(array, indexes) { + var length = array == null ? 0 : array.length, result2 = baseAt(array, indexes); + basePullAt(array, arrayMap(indexes, function(index) { + return isIndex(index, length) ? +index : index; + }).sort(compareAscending)); + return result2; + }); + function remove(array, predicate) { + var result2 = []; + if (!(array && array.length)) { + return result2; + } + var index = -1, indexes = [], length = array.length; + predicate = getIteratee(predicate, 3); + while (++index < length) { + var value = array[index]; + if (predicate(value, index, array)) { + result2.push(value); + indexes.push(index); + } + } + basePullAt(array, indexes); + return result2; + } + function reverse(array) { + return array == null ? array : nativeReverse.call(array); + } + function slice(array, start, end) { + var length = array == null ? 0 : array.length; + if (!length) { + return []; + } + if (end && typeof end != "number" && isIterateeCall(array, start, end)) { + start = 0; + end = length; + } else { + start = start == null ? 0 : toInteger(start); + end = end === undefined2 ? length : toInteger(end); + } + return baseSlice(array, start, end); + } + function sortedIndex(array, value) { + return baseSortedIndex(array, value); + } + function sortedIndexBy(array, value, iteratee2) { + return baseSortedIndexBy(array, value, getIteratee(iteratee2, 2)); + } + function sortedIndexOf(array, value) { + var length = array == null ? 0 : array.length; + if (length) { + var index = baseSortedIndex(array, value); + if (index < length && eq(array[index], value)) { + return index; + } + } + return -1; + } + function sortedLastIndex(array, value) { + return baseSortedIndex(array, value, true); + } + function sortedLastIndexBy(array, value, iteratee2) { + return baseSortedIndexBy(array, value, getIteratee(iteratee2, 2), true); + } + function sortedLastIndexOf(array, value) { + var length = array == null ? 0 : array.length; + if (length) { + var index = baseSortedIndex(array, value, true) - 1; + if (eq(array[index], value)) { + return index; + } + } + return -1; + } + function sortedUniq(array) { + return array && array.length ? baseSortedUniq(array) : []; + } + function sortedUniqBy(array, iteratee2) { + return array && array.length ? baseSortedUniq(array, getIteratee(iteratee2, 2)) : []; + } + function tail(array) { + var length = array == null ? 0 : array.length; + return length ? baseSlice(array, 1, length) : []; + } + function take(array, n, guard) { + if (!(array && array.length)) { + return []; + } + n = guard || n === undefined2 ? 1 : toInteger(n); + return baseSlice(array, 0, n < 0 ? 0 : n); + } + function takeRight(array, n, guard) { + var length = array == null ? 0 : array.length; + if (!length) { + return []; + } + n = guard || n === undefined2 ? 1 : toInteger(n); + n = length - n; + return baseSlice(array, n < 0 ? 0 : n, length); + } + function takeRightWhile(array, predicate) { + return array && array.length ? baseWhile(array, getIteratee(predicate, 3), false, true) : []; + } + function takeWhile(array, predicate) { + return array && array.length ? baseWhile(array, getIteratee(predicate, 3)) : []; + } + var union = baseRest(function(arrays) { + return baseUniq(baseFlatten(arrays, 1, isArrayLikeObject, true)); + }); + var unionBy = baseRest(function(arrays) { + var iteratee2 = last(arrays); + if (isArrayLikeObject(iteratee2)) { + iteratee2 = undefined2; + } + return baseUniq(baseFlatten(arrays, 1, isArrayLikeObject, true), getIteratee(iteratee2, 2)); + }); + var unionWith = baseRest(function(arrays) { + var comparator = last(arrays); + comparator = typeof comparator == "function" ? comparator : undefined2; + return baseUniq(baseFlatten(arrays, 1, isArrayLikeObject, true), undefined2, comparator); + }); + function uniq(array) { + return array && array.length ? baseUniq(array) : []; + } + function uniqBy(array, iteratee2) { + return array && array.length ? baseUniq(array, getIteratee(iteratee2, 2)) : []; + } + function uniqWith(array, comparator) { + comparator = typeof comparator == "function" ? comparator : undefined2; + return array && array.length ? baseUniq(array, undefined2, comparator) : []; + } + function unzip(array) { + if (!(array && array.length)) { + return []; + } + var length = 0; + array = arrayFilter(array, function(group) { + if (isArrayLikeObject(group)) { + length = nativeMax(group.length, length); + return true; + } + }); + return baseTimes(length, function(index) { + return arrayMap(array, baseProperty(index)); + }); + } + function unzipWith(array, iteratee2) { + if (!(array && array.length)) { + return []; + } + var result2 = unzip(array); + if (iteratee2 == null) { + return result2; + } + return arrayMap(result2, function(group) { + return apply(iteratee2, undefined2, group); + }); + } + var without = baseRest(function(array, values2) { + return isArrayLikeObject(array) ? baseDifference(array, values2) : []; + }); + var xor = baseRest(function(arrays) { + return baseXor(arrayFilter(arrays, isArrayLikeObject)); + }); + var xorBy = baseRest(function(arrays) { + var iteratee2 = last(arrays); + if (isArrayLikeObject(iteratee2)) { + iteratee2 = undefined2; + } + return baseXor(arrayFilter(arrays, isArrayLikeObject), getIteratee(iteratee2, 2)); + }); + var xorWith = baseRest(function(arrays) { + var comparator = last(arrays); + comparator = typeof comparator == "function" ? comparator : undefined2; + return baseXor(arrayFilter(arrays, isArrayLikeObject), undefined2, comparator); + }); + var zip = baseRest(unzip); + function zipObject(props, values2) { + return baseZipObject(props || [], values2 || [], assignValue); + } + function zipObjectDeep(props, values2) { + return baseZipObject(props || [], values2 || [], baseSet); + } + var zipWith = baseRest(function(arrays) { + var length = arrays.length, iteratee2 = length > 1 ? arrays[length - 1] : undefined2; + iteratee2 = typeof iteratee2 == "function" ? (arrays.pop(), iteratee2) : undefined2; + return unzipWith(arrays, iteratee2); + }); + function chain(value) { + var result2 = lodash(value); + result2.__chain__ = true; + return result2; + } + function tap(value, interceptor) { + interceptor(value); + return value; + } + function thru(value, interceptor) { + return interceptor(value); + } + var wrapperAt = flatRest(function(paths) { + var length = paths.length, start = length ? paths[0] : 0, value = this.__wrapped__, interceptor = function(object) { + return baseAt(object, paths); + }; + if (length > 1 || this.__actions__.length || !(value instanceof LazyWrapper) || !isIndex(start)) { + return this.thru(interceptor); + } + value = value.slice(start, +start + (length ? 1 : 0)); + value.__actions__.push({ + "func": thru, + "args": [interceptor], + "thisArg": undefined2 + }); + return new LodashWrapper(value, this.__chain__).thru(function(array) { + if (length && !array.length) { + array.push(undefined2); + } + return array; + }); + }); + function wrapperChain() { + return chain(this); + } + function wrapperCommit() { + return new LodashWrapper(this.value(), this.__chain__); + } + function wrapperNext() { + if (this.__values__ === undefined2) { + this.__values__ = toArray(this.value()); + } + var done = this.__index__ >= this.__values__.length, value = done ? undefined2 : this.__values__[this.__index__++]; + return { "done": done, "value": value }; + } + function wrapperToIterator() { + return this; + } + function wrapperPlant(value) { + var result2, parent2 = this; + while (parent2 instanceof baseLodash) { + var clone2 = wrapperClone(parent2); + clone2.__index__ = 0; + clone2.__values__ = undefined2; + if (result2) { + previous.__wrapped__ = clone2; + } else { + result2 = clone2; + } + var previous = clone2; + parent2 = parent2.__wrapped__; + } + previous.__wrapped__ = value; + return result2; + } + function wrapperReverse() { + var value = this.__wrapped__; + if (value instanceof LazyWrapper) { + var wrapped = value; + if (this.__actions__.length) { + wrapped = new LazyWrapper(this); + } + wrapped = wrapped.reverse(); + wrapped.__actions__.push({ + "func": thru, + "args": [reverse], + "thisArg": undefined2 + }); + return new LodashWrapper(wrapped, this.__chain__); + } + return this.thru(reverse); + } + function wrapperValue() { + return baseWrapperValue(this.__wrapped__, this.__actions__); + } + var countBy = createAggregator(function(result2, value, key) { + if (hasOwnProperty.call(result2, key)) { + ++result2[key]; + } else { + baseAssignValue(result2, key, 1); + } + }); + function every(collection, predicate, guard) { + var func = isArray(collection) ? arrayEvery : baseEvery; + if (guard && isIterateeCall(collection, predicate, guard)) { + predicate = undefined2; + } + return func(collection, getIteratee(predicate, 3)); + } + function filter(collection, predicate) { + var func = isArray(collection) ? arrayFilter : baseFilter; + return func(collection, getIteratee(predicate, 3)); + } + var find = createFind(findIndex); + var findLast = createFind(findLastIndex); + function flatMap(collection, iteratee2) { + return baseFlatten(map(collection, iteratee2), 1); + } + function flatMapDeep(collection, iteratee2) { + return baseFlatten(map(collection, iteratee2), INFINITY); + } + function flatMapDepth(collection, iteratee2, depth) { + depth = depth === undefined2 ? 1 : toInteger(depth); + return baseFlatten(map(collection, iteratee2), depth); + } + function forEach(collection, iteratee2) { + var func = isArray(collection) ? arrayEach : baseEach; + return func(collection, getIteratee(iteratee2, 3)); + } + function forEachRight(collection, iteratee2) { + var func = isArray(collection) ? arrayEachRight : baseEachRight; + return func(collection, getIteratee(iteratee2, 3)); + } + var groupBy = createAggregator(function(result2, value, key) { + if (hasOwnProperty.call(result2, key)) { + result2[key].push(value); + } else { + baseAssignValue(result2, key, [value]); + } + }); + function includes(collection, value, fromIndex, guard) { + collection = isArrayLike(collection) ? collection : values(collection); + fromIndex = fromIndex && !guard ? toInteger(fromIndex) : 0; + var length = collection.length; + if (fromIndex < 0) { + fromIndex = nativeMax(length + fromIndex, 0); + } + return isString(collection) ? fromIndex <= length && collection.indexOf(value, fromIndex) > -1 : !!length && baseIndexOf(collection, value, fromIndex) > -1; + } + var invokeMap = baseRest(function(collection, path, args) { + var index = -1, isFunc = typeof path == "function", result2 = isArrayLike(collection) ? Array2(collection.length) : []; + baseEach(collection, function(value) { + result2[++index] = isFunc ? apply(path, value, args) : baseInvoke(value, path, args); + }); + return result2; + }); + var keyBy = createAggregator(function(result2, value, key) { + baseAssignValue(result2, key, value); + }); + function map(collection, iteratee2) { + var func = isArray(collection) ? arrayMap : baseMap; + return func(collection, getIteratee(iteratee2, 3)); + } + function orderBy(collection, iteratees, orders, guard) { + if (collection == null) { + return []; + } + if (!isArray(iteratees)) { + iteratees = iteratees == null ? [] : [iteratees]; + } + orders = guard ? undefined2 : orders; + if (!isArray(orders)) { + orders = orders == null ? [] : [orders]; + } + return baseOrderBy(collection, iteratees, orders); + } + var partition = createAggregator(function(result2, value, key) { + result2[key ? 0 : 1].push(value); + }, function() { + return [[], []]; + }); + function reduce(collection, iteratee2, accumulator) { + var func = isArray(collection) ? arrayReduce : baseReduce, initAccum = arguments.length < 3; + return func(collection, getIteratee(iteratee2, 4), accumulator, initAccum, baseEach); + } + function reduceRight(collection, iteratee2, accumulator) { + var func = isArray(collection) ? arrayReduceRight : baseReduce, initAccum = arguments.length < 3; + return func(collection, getIteratee(iteratee2, 4), accumulator, initAccum, baseEachRight); + } + function reject(collection, predicate) { + var func = isArray(collection) ? arrayFilter : baseFilter; + return func(collection, negate(getIteratee(predicate, 3))); + } + function sample(collection) { + var func = isArray(collection) ? arraySample : baseSample; + return func(collection); + } + function sampleSize(collection, n, guard) { + if (guard ? isIterateeCall(collection, n, guard) : n === undefined2) { + n = 1; + } else { + n = toInteger(n); + } + var func = isArray(collection) ? arraySampleSize : baseSampleSize; + return func(collection, n); + } + function shuffle(collection) { + var func = isArray(collection) ? arrayShuffle : baseShuffle; + return func(collection); + } + function size(collection) { + if (collection == null) { + return 0; + } + if (isArrayLike(collection)) { + return isString(collection) ? stringSize(collection) : collection.length; + } + var tag = getTag(collection); + if (tag == mapTag || tag == setTag) { + return collection.size; + } + return baseKeys(collection).length; + } + function some(collection, predicate, guard) { + var func = isArray(collection) ? arraySome : baseSome; + if (guard && isIterateeCall(collection, predicate, guard)) { + predicate = undefined2; + } + return func(collection, getIteratee(predicate, 3)); + } + var sortBy = baseRest(function(collection, iteratees) { + if (collection == null) { + return []; + } + var length = iteratees.length; + if (length > 1 && isIterateeCall(collection, iteratees[0], iteratees[1])) { + iteratees = []; + } else if (length > 2 && isIterateeCall(iteratees[0], iteratees[1], iteratees[2])) { + iteratees = [iteratees[0]]; + } + return baseOrderBy(collection, baseFlatten(iteratees, 1), []); + }); + var now = ctxNow || function() { + return root.Date.now(); + }; + function after(n, func) { + if (typeof func != "function") { + throw new TypeError2(FUNC_ERROR_TEXT); + } + n = toInteger(n); + return function() { + if (--n < 1) { + return func.apply(this, arguments); + } + }; + } + function ary(func, n, guard) { + n = guard ? undefined2 : n; + n = func && n == null ? func.length : n; + return createWrap(func, WRAP_ARY_FLAG, undefined2, undefined2, undefined2, undefined2, n); + } + function before(n, func) { + var result2; + if (typeof func != "function") { + throw new TypeError2(FUNC_ERROR_TEXT); + } + n = toInteger(n); + return function() { + if (--n > 0) { + result2 = func.apply(this, arguments); + } + if (n <= 1) { + func = undefined2; + } + return result2; + }; + } + var bind = baseRest(function(func, thisArg, partials) { + var bitmask = WRAP_BIND_FLAG; + if (partials.length) { + var holders = replaceHolders(partials, getHolder(bind)); + bitmask |= WRAP_PARTIAL_FLAG; + } + return createWrap(func, bitmask, thisArg, partials, holders); + }); + var bindKey = baseRest(function(object, key, partials) { + var bitmask = WRAP_BIND_FLAG | WRAP_BIND_KEY_FLAG; + if (partials.length) { + var holders = replaceHolders(partials, getHolder(bindKey)); + bitmask |= WRAP_PARTIAL_FLAG; + } + return createWrap(key, bitmask, object, partials, holders); + }); + function curry(func, arity, guard) { + arity = guard ? undefined2 : arity; + var result2 = createWrap(func, WRAP_CURRY_FLAG, undefined2, undefined2, undefined2, undefined2, undefined2, arity); + result2.placeholder = curry.placeholder; + return result2; + } + function curryRight(func, arity, guard) { + arity = guard ? undefined2 : arity; + var result2 = createWrap(func, WRAP_CURRY_RIGHT_FLAG, undefined2, undefined2, undefined2, undefined2, undefined2, arity); + result2.placeholder = curryRight.placeholder; + return result2; + } + function debounce(func, wait, options) { + var lastArgs, lastThis, maxWait, result2, timerId, lastCallTime, lastInvokeTime = 0, leading = false, maxing = false, trailing = true; + if (typeof func != "function") { + throw new TypeError2(FUNC_ERROR_TEXT); + } + wait = toNumber(wait) || 0; + if (isObject(options)) { + leading = !!options.leading; + maxing = "maxWait" in options; + maxWait = maxing ? nativeMax(toNumber(options.maxWait) || 0, wait) : maxWait; + trailing = "trailing" in options ? !!options.trailing : trailing; + } + function invokeFunc(time) { + var args = lastArgs, thisArg = lastThis; + lastArgs = lastThis = undefined2; + lastInvokeTime = time; + result2 = func.apply(thisArg, args); + return result2; + } + function leadingEdge(time) { + lastInvokeTime = time; + timerId = setTimeout2(timerExpired, wait); + return leading ? invokeFunc(time) : result2; + } + function remainingWait(time) { + var timeSinceLastCall = time - lastCallTime, timeSinceLastInvoke = time - lastInvokeTime, timeWaiting = wait - timeSinceLastCall; + return maxing ? nativeMin(timeWaiting, maxWait - timeSinceLastInvoke) : timeWaiting; + } + function shouldInvoke(time) { + var timeSinceLastCall = time - lastCallTime, timeSinceLastInvoke = time - lastInvokeTime; + return lastCallTime === undefined2 || timeSinceLastCall >= wait || timeSinceLastCall < 0 || maxing && timeSinceLastInvoke >= maxWait; + } + function timerExpired() { + var time = now(); + if (shouldInvoke(time)) { + return trailingEdge(time); + } + timerId = setTimeout2(timerExpired, remainingWait(time)); + } + function trailingEdge(time) { + timerId = undefined2; + if (trailing && lastArgs) { + return invokeFunc(time); + } + lastArgs = lastThis = undefined2; + return result2; + } + function cancel() { + if (timerId !== undefined2) { + clearTimeout2(timerId); + } + lastInvokeTime = 0; + lastArgs = lastCallTime = lastThis = timerId = undefined2; + } + function flush() { + return timerId === undefined2 ? result2 : trailingEdge(now()); + } + function debounced() { + var time = now(), isInvoking = shouldInvoke(time); + lastArgs = arguments; + lastThis = this; + lastCallTime = time; + if (isInvoking) { + if (timerId === undefined2) { + return leadingEdge(lastCallTime); + } + if (maxing) { + clearTimeout2(timerId); + timerId = setTimeout2(timerExpired, wait); + return invokeFunc(lastCallTime); + } + } + if (timerId === undefined2) { + timerId = setTimeout2(timerExpired, wait); + } + return result2; + } + debounced.cancel = cancel; + debounced.flush = flush; + return debounced; + } + var defer = baseRest(function(func, args) { + return baseDelay(func, 1, args); + }); + var delay = baseRest(function(func, wait, args) { + return baseDelay(func, toNumber(wait) || 0, args); + }); + function flip(func) { + return createWrap(func, WRAP_FLIP_FLAG); + } + function memoize(func, resolver) { + if (typeof func != "function" || resolver != null && typeof resolver != "function") { + throw new TypeError2(FUNC_ERROR_TEXT); + } + var memoized = function() { + var args = arguments, key = resolver ? resolver.apply(this, args) : args[0], cache = memoized.cache; + if (cache.has(key)) { + return cache.get(key); + } + var result2 = func.apply(this, args); + memoized.cache = cache.set(key, result2) || cache; + return result2; + }; + memoized.cache = new (memoize.Cache || MapCache)(); + return memoized; + } + memoize.Cache = MapCache; + function negate(predicate) { + if (typeof predicate != "function") { + throw new TypeError2(FUNC_ERROR_TEXT); + } + return function() { + var args = arguments; + switch (args.length) { + case 0: + return !predicate.call(this); + case 1: + return !predicate.call(this, args[0]); + case 2: + return !predicate.call(this, args[0], args[1]); + case 3: + return !predicate.call(this, args[0], args[1], args[2]); + } + return !predicate.apply(this, args); + }; + } + function once(func) { + return before(2, func); + } + var overArgs = castRest(function(func, transforms) { + transforms = transforms.length == 1 && isArray(transforms[0]) ? arrayMap(transforms[0], baseUnary(getIteratee())) : arrayMap(baseFlatten(transforms, 1), baseUnary(getIteratee())); + var funcsLength = transforms.length; + return baseRest(function(args) { + var index = -1, length = nativeMin(args.length, funcsLength); + while (++index < length) { + args[index] = transforms[index].call(this, args[index]); + } + return apply(func, this, args); + }); + }); + var partial = baseRest(function(func, partials) { + var holders = replaceHolders(partials, getHolder(partial)); + return createWrap(func, WRAP_PARTIAL_FLAG, undefined2, partials, holders); + }); + var partialRight = baseRest(function(func, partials) { + var holders = replaceHolders(partials, getHolder(partialRight)); + return createWrap(func, WRAP_PARTIAL_RIGHT_FLAG, undefined2, partials, holders); + }); + var rearg = flatRest(function(func, indexes) { + return createWrap(func, WRAP_REARG_FLAG, undefined2, undefined2, undefined2, indexes); + }); + function rest(func, start) { + if (typeof func != "function") { + throw new TypeError2(FUNC_ERROR_TEXT); + } + start = start === undefined2 ? start : toInteger(start); + return baseRest(func, start); + } + function spread(func, start) { + if (typeof func != "function") { + throw new TypeError2(FUNC_ERROR_TEXT); + } + start = start == null ? 0 : nativeMax(toInteger(start), 0); + return baseRest(function(args) { + var array = args[start], otherArgs = castSlice(args, 0, start); + if (array) { + arrayPush(otherArgs, array); + } + return apply(func, this, otherArgs); + }); + } + function throttle(func, wait, options) { + var leading = true, trailing = true; + if (typeof func != "function") { + throw new TypeError2(FUNC_ERROR_TEXT); + } + if (isObject(options)) { + leading = "leading" in options ? !!options.leading : leading; + trailing = "trailing" in options ? !!options.trailing : trailing; + } + return debounce(func, wait, { + "leading": leading, + "maxWait": wait, + "trailing": trailing + }); + } + function unary(func) { + return ary(func, 1); + } + function wrap(value, wrapper) { + return partial(castFunction(wrapper), value); + } + function castArray() { + if (!arguments.length) { + return []; + } + var value = arguments[0]; + return isArray(value) ? value : [value]; + } + function clone(value) { + return baseClone(value, CLONE_SYMBOLS_FLAG); + } + function cloneWith(value, customizer) { + customizer = typeof customizer == "function" ? customizer : undefined2; + return baseClone(value, CLONE_SYMBOLS_FLAG, customizer); + } + function cloneDeep(value) { + return baseClone(value, CLONE_DEEP_FLAG | CLONE_SYMBOLS_FLAG); + } + function cloneDeepWith(value, customizer) { + customizer = typeof customizer == "function" ? customizer : undefined2; + return baseClone(value, CLONE_DEEP_FLAG | CLONE_SYMBOLS_FLAG, customizer); + } + function conformsTo(object, source) { + return source == null || baseConformsTo(object, source, keys(source)); + } + function eq(value, other) { + return value === other || value !== value && other !== other; + } + var gt = createRelationalOperation(baseGt); + var gte = createRelationalOperation(function(value, other) { + return value >= other; + }); + var isArguments = baseIsArguments(/* @__PURE__ */ (function() { + return arguments; + })()) ? baseIsArguments : function(value) { + return isObjectLike(value) && hasOwnProperty.call(value, "callee") && !propertyIsEnumerable.call(value, "callee"); + }; + var isArray = Array2.isArray; + var isArrayBuffer = nodeIsArrayBuffer ? baseUnary(nodeIsArrayBuffer) : baseIsArrayBuffer; + function isArrayLike(value) { + return value != null && isLength(value.length) && !isFunction(value); + } + function isArrayLikeObject(value) { + return isObjectLike(value) && isArrayLike(value); + } + function isBoolean(value) { + return value === true || value === false || isObjectLike(value) && baseGetTag(value) == boolTag; + } + var isBuffer = nativeIsBuffer || stubFalse; + var isDate = nodeIsDate ? baseUnary(nodeIsDate) : baseIsDate; + function isElement(value) { + return isObjectLike(value) && value.nodeType === 1 && !isPlainObject(value); + } + function isEmpty(value) { + if (value == null) { + return true; + } + if (isArrayLike(value) && (isArray(value) || typeof value == "string" || typeof value.splice == "function" || isBuffer(value) || isTypedArray(value) || isArguments(value))) { + return !value.length; + } + var tag = getTag(value); + if (tag == mapTag || tag == setTag) { + return !value.size; + } + if (isPrototype(value)) { + return !baseKeys(value).length; + } + for (var key in value) { + if (hasOwnProperty.call(value, key)) { + return false; + } + } + return true; + } + function isEqual(value, other) { + return baseIsEqual(value, other); + } + function isEqualWith(value, other, customizer) { + customizer = typeof customizer == "function" ? customizer : undefined2; + var result2 = customizer ? customizer(value, other) : undefined2; + return result2 === undefined2 ? baseIsEqual(value, other, undefined2, customizer) : !!result2; + } + function isError(value) { + if (!isObjectLike(value)) { + return false; + } + var tag = baseGetTag(value); + return tag == errorTag || tag == domExcTag || typeof value.message == "string" && typeof value.name == "string" && !isPlainObject(value); + } + function isFinite2(value) { + return typeof value == "number" && nativeIsFinite(value); + } + function isFunction(value) { + if (!isObject(value)) { + return false; + } + var tag = baseGetTag(value); + return tag == funcTag || tag == genTag || tag == asyncTag || tag == proxyTag; + } + function isInteger(value) { + return typeof value == "number" && value == toInteger(value); + } + function isLength(value) { + return typeof value == "number" && value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER; + } + function isObject(value) { + var type = typeof value; + return value != null && (type == "object" || type == "function"); + } + function isObjectLike(value) { + return value != null && typeof value == "object"; + } + var isMap = nodeIsMap ? baseUnary(nodeIsMap) : baseIsMap; + function isMatch(object, source) { + return object === source || baseIsMatch(object, source, getMatchData(source)); + } + function isMatchWith(object, source, customizer) { + customizer = typeof customizer == "function" ? customizer : undefined2; + return baseIsMatch(object, source, getMatchData(source), customizer); + } + function isNaN2(value) { + return isNumber(value) && value != +value; + } + function isNative(value) { + if (isMaskable(value)) { + throw new Error2(CORE_ERROR_TEXT); + } + return baseIsNative(value); + } + function isNull(value) { + return value === null; + } + function isNil(value) { + return value == null; + } + function isNumber(value) { + return typeof value == "number" || isObjectLike(value) && baseGetTag(value) == numberTag; + } + function isPlainObject(value) { + if (!isObjectLike(value) || baseGetTag(value) != objectTag) { + return false; + } + var proto2 = getPrototype(value); + if (proto2 === null) { + return true; + } + var Ctor = hasOwnProperty.call(proto2, "constructor") && proto2.constructor; + return typeof Ctor == "function" && Ctor instanceof Ctor && funcToString.call(Ctor) == objectCtorString; + } + var isRegExp = nodeIsRegExp ? baseUnary(nodeIsRegExp) : baseIsRegExp; + function isSafeInteger(value) { + return isInteger(value) && value >= -MAX_SAFE_INTEGER && value <= MAX_SAFE_INTEGER; + } + var isSet = nodeIsSet ? baseUnary(nodeIsSet) : baseIsSet; + function isString(value) { + return typeof value == "string" || !isArray(value) && isObjectLike(value) && baseGetTag(value) == stringTag; + } + function isSymbol(value) { + return typeof value == "symbol" || isObjectLike(value) && baseGetTag(value) == symbolTag; + } + var isTypedArray = nodeIsTypedArray ? baseUnary(nodeIsTypedArray) : baseIsTypedArray; + function isUndefined(value) { + return value === undefined2; + } + function isWeakMap(value) { + return isObjectLike(value) && getTag(value) == weakMapTag; + } + function isWeakSet(value) { + return isObjectLike(value) && baseGetTag(value) == weakSetTag; + } + var lt = createRelationalOperation(baseLt); + var lte = createRelationalOperation(function(value, other) { + return value <= other; + }); + function toArray(value) { + if (!value) { + return []; + } + if (isArrayLike(value)) { + return isString(value) ? stringToArray(value) : copyArray(value); + } + if (symIterator && value[symIterator]) { + return iteratorToArray(value[symIterator]()); + } + var tag = getTag(value), func = tag == mapTag ? mapToArray : tag == setTag ? setToArray : values; + return func(value); + } + function toFinite(value) { + if (!value) { + return value === 0 ? value : 0; + } + value = toNumber(value); + if (value === INFINITY || value === -INFINITY) { + var sign = value < 0 ? -1 : 1; + return sign * MAX_INTEGER; + } + return value === value ? value : 0; + } + function toInteger(value) { + var result2 = toFinite(value), remainder = result2 % 1; + return result2 === result2 ? remainder ? result2 - remainder : result2 : 0; + } + function toLength(value) { + return value ? baseClamp(toInteger(value), 0, MAX_ARRAY_LENGTH) : 0; + } + function toNumber(value) { + if (typeof value == "number") { + return value; + } + if (isSymbol(value)) { + return NAN; + } + if (isObject(value)) { + var other = typeof value.valueOf == "function" ? value.valueOf() : value; + value = isObject(other) ? other + "" : other; + } + if (typeof value != "string") { + return value === 0 ? value : +value; + } + value = baseTrim(value); + var isBinary = reIsBinary.test(value); + return isBinary || reIsOctal.test(value) ? freeParseInt(value.slice(2), isBinary ? 2 : 8) : reIsBadHex.test(value) ? NAN : +value; + } + function toPlainObject(value) { + return copyObject(value, keysIn(value)); + } + function toSafeInteger(value) { + return value ? baseClamp(toInteger(value), -MAX_SAFE_INTEGER, MAX_SAFE_INTEGER) : value === 0 ? value : 0; + } + function toString(value) { + return value == null ? "" : baseToString(value); + } + var assign = createAssigner(function(object, source) { + if (isPrototype(source) || isArrayLike(source)) { + copyObject(source, keys(source), object); + return; + } + for (var key in source) { + if (hasOwnProperty.call(source, key)) { + assignValue(object, key, source[key]); + } + } + }); + var assignIn = createAssigner(function(object, source) { + copyObject(source, keysIn(source), object); + }); + var assignInWith = createAssigner(function(object, source, srcIndex, customizer) { + copyObject(source, keysIn(source), object, customizer); + }); + var assignWith = createAssigner(function(object, source, srcIndex, customizer) { + copyObject(source, keys(source), object, customizer); + }); + var at = flatRest(baseAt); + function create(prototype, properties) { + var result2 = baseCreate(prototype); + return properties == null ? result2 : baseAssign(result2, properties); + } + var defaults = baseRest(function(object, sources) { + object = Object2(object); + var index = -1; + var length = sources.length; + var guard = length > 2 ? sources[2] : undefined2; + if (guard && isIterateeCall(sources[0], sources[1], guard)) { + length = 1; + } + while (++index < length) { + var source = sources[index]; + var props = keysIn(source); + var propsIndex = -1; + var propsLength = props.length; + while (++propsIndex < propsLength) { + var key = props[propsIndex]; + var value = object[key]; + if (value === undefined2 || eq(value, objectProto[key]) && !hasOwnProperty.call(object, key)) { + object[key] = source[key]; + } + } + } + return object; + }); + var defaultsDeep = baseRest(function(args) { + args.push(undefined2, customDefaultsMerge); + return apply(mergeWith, undefined2, args); + }); + function findKey(object, predicate) { + return baseFindKey(object, getIteratee(predicate, 3), baseForOwn); + } + function findLastKey(object, predicate) { + return baseFindKey(object, getIteratee(predicate, 3), baseForOwnRight); + } + function forIn(object, iteratee2) { + return object == null ? object : baseFor(object, getIteratee(iteratee2, 3), keysIn); + } + function forInRight(object, iteratee2) { + return object == null ? object : baseForRight(object, getIteratee(iteratee2, 3), keysIn); + } + function forOwn(object, iteratee2) { + return object && baseForOwn(object, getIteratee(iteratee2, 3)); + } + function forOwnRight(object, iteratee2) { + return object && baseForOwnRight(object, getIteratee(iteratee2, 3)); + } + function functions(object) { + return object == null ? [] : baseFunctions(object, keys(object)); + } + function functionsIn(object) { + return object == null ? [] : baseFunctions(object, keysIn(object)); + } + function get(object, path, defaultValue) { + var result2 = object == null ? undefined2 : baseGet(object, path); + return result2 === undefined2 ? defaultValue : result2; + } + function has(object, path) { + return object != null && hasPath(object, path, baseHas); + } + function hasIn(object, path) { + return object != null && hasPath(object, path, baseHasIn); + } + var invert = createInverter(function(result2, value, key) { + if (value != null && typeof value.toString != "function") { + value = nativeObjectToString.call(value); + } + result2[value] = key; + }, constant(identity)); + var invertBy = createInverter(function(result2, value, key) { + if (value != null && typeof value.toString != "function") { + value = nativeObjectToString.call(value); + } + if (hasOwnProperty.call(result2, value)) { + result2[value].push(key); + } else { + result2[value] = [key]; + } + }, getIteratee); + var invoke = baseRest(baseInvoke); + function keys(object) { + return isArrayLike(object) ? arrayLikeKeys(object) : baseKeys(object); + } + function keysIn(object) { + return isArrayLike(object) ? arrayLikeKeys(object, true) : baseKeysIn(object); + } + function mapKeys(object, iteratee2) { + var result2 = {}; + iteratee2 = getIteratee(iteratee2, 3); + baseForOwn(object, function(value, key, object2) { + baseAssignValue(result2, iteratee2(value, key, object2), value); + }); + return result2; + } + function mapValues(object, iteratee2) { + var result2 = {}; + iteratee2 = getIteratee(iteratee2, 3); + baseForOwn(object, function(value, key, object2) { + baseAssignValue(result2, key, iteratee2(value, key, object2)); + }); + return result2; + } + var merge = createAssigner(function(object, source, srcIndex) { + baseMerge(object, source, srcIndex); + }); + var mergeWith = createAssigner(function(object, source, srcIndex, customizer) { + baseMerge(object, source, srcIndex, customizer); + }); + var omit = flatRest(function(object, paths) { + var result2 = {}; + if (object == null) { + return result2; + } + var isDeep = false; + paths = arrayMap(paths, function(path) { + path = castPath(path, object); + isDeep || (isDeep = path.length > 1); + return path; + }); + copyObject(object, getAllKeysIn(object), result2); + if (isDeep) { + result2 = baseClone(result2, CLONE_DEEP_FLAG | CLONE_FLAT_FLAG | CLONE_SYMBOLS_FLAG, customOmitClone); + } + var length = paths.length; + while (length--) { + baseUnset(result2, paths[length]); + } + return result2; + }); + function omitBy(object, predicate) { + return pickBy(object, negate(getIteratee(predicate))); + } + var pick = flatRest(function(object, paths) { + return object == null ? {} : basePick(object, paths); + }); + function pickBy(object, predicate) { + if (object == null) { + return {}; + } + var props = arrayMap(getAllKeysIn(object), function(prop) { + return [prop]; + }); + predicate = getIteratee(predicate); + return basePickBy(object, props, function(value, path) { + return predicate(value, path[0]); + }); + } + function result(object, path, defaultValue) { + path = castPath(path, object); + var index = -1, length = path.length; + if (!length) { + length = 1; + object = undefined2; + } + while (++index < length) { + var value = object == null ? undefined2 : object[toKey(path[index])]; + if (value === undefined2) { + index = length; + value = defaultValue; + } + object = isFunction(value) ? value.call(object) : value; + } + return object; + } + function set(object, path, value) { + return object == null ? object : baseSet(object, path, value); + } + function setWith(object, path, value, customizer) { + customizer = typeof customizer == "function" ? customizer : undefined2; + return object == null ? object : baseSet(object, path, value, customizer); + } + var toPairs = createToPairs(keys); + var toPairsIn = createToPairs(keysIn); + function transform(object, iteratee2, accumulator) { + var isArr = isArray(object), isArrLike = isArr || isBuffer(object) || isTypedArray(object); + iteratee2 = getIteratee(iteratee2, 4); + if (accumulator == null) { + var Ctor = object && object.constructor; + if (isArrLike) { + accumulator = isArr ? new Ctor() : []; + } else if (isObject(object)) { + accumulator = isFunction(Ctor) ? baseCreate(getPrototype(object)) : {}; + } else { + accumulator = {}; + } + } + (isArrLike ? arrayEach : baseForOwn)(object, function(value, index, object2) { + return iteratee2(accumulator, value, index, object2); + }); + return accumulator; + } + function unset(object, path) { + return object == null ? true : baseUnset(object, path); + } + function update(object, path, updater) { + return object == null ? object : baseUpdate(object, path, castFunction(updater)); + } + function updateWith(object, path, updater, customizer) { + customizer = typeof customizer == "function" ? customizer : undefined2; + return object == null ? object : baseUpdate(object, path, castFunction(updater), customizer); + } + function values(object) { + return object == null ? [] : baseValues(object, keys(object)); + } + function valuesIn(object) { + return object == null ? [] : baseValues(object, keysIn(object)); + } + function clamp(number, lower, upper) { + if (upper === undefined2) { + upper = lower; + lower = undefined2; + } + if (upper !== undefined2) { + upper = toNumber(upper); + upper = upper === upper ? upper : 0; + } + if (lower !== undefined2) { + lower = toNumber(lower); + lower = lower === lower ? lower : 0; + } + return baseClamp(toNumber(number), lower, upper); + } + function inRange(number, start, end) { + start = toFinite(start); + if (end === undefined2) { + end = start; + start = 0; + } else { + end = toFinite(end); + } + number = toNumber(number); + return baseInRange(number, start, end); + } + function random(lower, upper, floating) { + if (floating && typeof floating != "boolean" && isIterateeCall(lower, upper, floating)) { + upper = floating = undefined2; + } + if (floating === undefined2) { + if (typeof upper == "boolean") { + floating = upper; + upper = undefined2; + } else if (typeof lower == "boolean") { + floating = lower; + lower = undefined2; + } + } + if (lower === undefined2 && upper === undefined2) { + lower = 0; + upper = 1; + } else { + lower = toFinite(lower); + if (upper === undefined2) { + upper = lower; + lower = 0; + } else { + upper = toFinite(upper); + } + } + if (lower > upper) { + var temp = lower; + lower = upper; + upper = temp; + } + if (floating || lower % 1 || upper % 1) { + var rand = nativeRandom(); + return nativeMin(lower + rand * (upper - lower + freeParseFloat("1e-" + ((rand + "").length - 1))), upper); + } + return baseRandom(lower, upper); + } + var camelCase = createCompounder(function(result2, word, index) { + word = word.toLowerCase(); + return result2 + (index ? capitalize(word) : word); + }); + function capitalize(string) { + return upperFirst(toString(string).toLowerCase()); + } + function deburr(string) { + string = toString(string); + return string && string.replace(reLatin, deburrLetter).replace(reComboMark, ""); + } + function endsWith(string, target, position) { + string = toString(string); + target = baseToString(target); + var length = string.length; + position = position === undefined2 ? length : baseClamp(toInteger(position), 0, length); + var end = position; + position -= target.length; + return position >= 0 && string.slice(position, end) == target; + } + function escape2(string) { + string = toString(string); + return string && reHasUnescapedHtml.test(string) ? string.replace(reUnescapedHtml, escapeHtmlChar) : string; + } + function escapeRegExp(string) { + string = toString(string); + return string && reHasRegExpChar.test(string) ? string.replace(reRegExpChar, "\\$&") : string; + } + var kebabCase = createCompounder(function(result2, word, index) { + return result2 + (index ? "-" : "") + word.toLowerCase(); + }); + var lowerCase = createCompounder(function(result2, word, index) { + return result2 + (index ? " " : "") + word.toLowerCase(); + }); + var lowerFirst = createCaseFirst("toLowerCase"); + function pad(string, length, chars) { + string = toString(string); + length = toInteger(length); + var strLength = length ? stringSize(string) : 0; + if (!length || strLength >= length) { + return string; + } + var mid = (length - strLength) / 2; + return createPadding(nativeFloor(mid), chars) + string + createPadding(nativeCeil(mid), chars); + } + function padEnd(string, length, chars) { + string = toString(string); + length = toInteger(length); + var strLength = length ? stringSize(string) : 0; + return length && strLength < length ? string + createPadding(length - strLength, chars) : string; + } + function padStart(string, length, chars) { + string = toString(string); + length = toInteger(length); + var strLength = length ? stringSize(string) : 0; + return length && strLength < length ? createPadding(length - strLength, chars) + string : string; + } + function parseInt2(string, radix, guard) { + if (guard || radix == null) { + radix = 0; + } else if (radix) { + radix = +radix; + } + return nativeParseInt(toString(string).replace(reTrimStart, ""), radix || 0); + } + function repeat(string, n, guard) { + if (guard ? isIterateeCall(string, n, guard) : n === undefined2) { + n = 1; + } else { + n = toInteger(n); + } + return baseRepeat(toString(string), n); + } + function replace() { + var args = arguments, string = toString(args[0]); + return args.length < 3 ? string : string.replace(args[1], args[2]); + } + var snakeCase = createCompounder(function(result2, word, index) { + return result2 + (index ? "_" : "") + word.toLowerCase(); + }); + function split(string, separator, limit) { + if (limit && typeof limit != "number" && isIterateeCall(string, separator, limit)) { + separator = limit = undefined2; + } + limit = limit === undefined2 ? MAX_ARRAY_LENGTH : limit >>> 0; + if (!limit) { + return []; + } + string = toString(string); + if (string && (typeof separator == "string" || separator != null && !isRegExp(separator))) { + separator = baseToString(separator); + if (!separator && hasUnicode(string)) { + return castSlice(stringToArray(string), 0, limit); + } + } + return string.split(separator, limit); + } + var startCase = createCompounder(function(result2, word, index) { + return result2 + (index ? " " : "") + upperFirst(word); + }); + function startsWith(string, target, position) { + string = toString(string); + position = position == null ? 0 : baseClamp(toInteger(position), 0, string.length); + target = baseToString(target); + return string.slice(position, position + target.length) == target; + } + function template(string, options, guard) { + var settings = lodash.templateSettings; + if (guard && isIterateeCall(string, options, guard)) { + options = undefined2; + } + string = toString(string); + options = assignInWith({}, options, settings, customDefaultsAssignIn); + var imports = assignInWith({}, options.imports, settings.imports, customDefaultsAssignIn), importsKeys = keys(imports), importsValues = baseValues(imports, importsKeys); + var isEscaping, isEvaluating, index = 0, interpolate = options.interpolate || reNoMatch, source = "__p += '"; + var reDelimiters = RegExp2( + (options.escape || reNoMatch).source + "|" + interpolate.source + "|" + (interpolate === reInterpolate ? reEsTemplate : reNoMatch).source + "|" + (options.evaluate || reNoMatch).source + "|$", + "g" + ); + var sourceURL = "//# sourceURL=" + (hasOwnProperty.call(options, "sourceURL") ? (options.sourceURL + "").replace(/\s/g, " ") : "lodash.templateSources[" + ++templateCounter + "]") + "\n"; + string.replace(reDelimiters, function(match, escapeValue, interpolateValue, esTemplateValue, evaluateValue, offset) { + interpolateValue || (interpolateValue = esTemplateValue); + source += string.slice(index, offset).replace(reUnescapedString, escapeStringChar); + if (escapeValue) { + isEscaping = true; + source += "' +\n__e(" + escapeValue + ") +\n'"; + } + if (evaluateValue) { + isEvaluating = true; + source += "';\n" + evaluateValue + ";\n__p += '"; + } + if (interpolateValue) { + source += "' +\n((__t = (" + interpolateValue + ")) == null ? '' : __t) +\n'"; + } + index = offset + match.length; + return match; + }); + source += "';\n"; + var variable = hasOwnProperty.call(options, "variable") && options.variable; + if (!variable) { + source = "with (obj) {\n" + source + "\n}\n"; + } else if (reForbiddenIdentifierChars.test(variable)) { + throw new Error2(INVALID_TEMPL_VAR_ERROR_TEXT); + } + source = (isEvaluating ? source.replace(reEmptyStringLeading, "") : source).replace(reEmptyStringMiddle, "$1").replace(reEmptyStringTrailing, "$1;"); + source = "function(" + (variable || "obj") + ") {\n" + (variable ? "" : "obj || (obj = {});\n") + "var __t, __p = ''" + (isEscaping ? ", __e = _.escape" : "") + (isEvaluating ? ", __j = Array.prototype.join;\nfunction print() { __p += __j.call(arguments, '') }\n" : ";\n") + source + "return __p\n}"; + var result2 = attempt(function() { + return Function2(importsKeys, sourceURL + "return " + source).apply(undefined2, importsValues); + }); + result2.source = source; + if (isError(result2)) { + throw result2; + } + return result2; + } + function toLower(value) { + return toString(value).toLowerCase(); + } + function toUpper(value) { + return toString(value).toUpperCase(); + } + function trim(string, chars, guard) { + string = toString(string); + if (string && (guard || chars === undefined2)) { + return baseTrim(string); + } + if (!string || !(chars = baseToString(chars))) { + return string; + } + var strSymbols = stringToArray(string), chrSymbols = stringToArray(chars), start = charsStartIndex(strSymbols, chrSymbols), end = charsEndIndex(strSymbols, chrSymbols) + 1; + return castSlice(strSymbols, start, end).join(""); + } + function trimEnd(string, chars, guard) { + string = toString(string); + if (string && (guard || chars === undefined2)) { + return string.slice(0, trimmedEndIndex(string) + 1); + } + if (!string || !(chars = baseToString(chars))) { + return string; + } + var strSymbols = stringToArray(string), end = charsEndIndex(strSymbols, stringToArray(chars)) + 1; + return castSlice(strSymbols, 0, end).join(""); + } + function trimStart(string, chars, guard) { + string = toString(string); + if (string && (guard || chars === undefined2)) { + return string.replace(reTrimStart, ""); + } + if (!string || !(chars = baseToString(chars))) { + return string; + } + var strSymbols = stringToArray(string), start = charsStartIndex(strSymbols, stringToArray(chars)); + return castSlice(strSymbols, start).join(""); + } + function truncate(string, options) { + var length = DEFAULT_TRUNC_LENGTH, omission = DEFAULT_TRUNC_OMISSION; + if (isObject(options)) { + var separator = "separator" in options ? options.separator : separator; + length = "length" in options ? toInteger(options.length) : length; + omission = "omission" in options ? baseToString(options.omission) : omission; + } + string = toString(string); + var strLength = string.length; + if (hasUnicode(string)) { + var strSymbols = stringToArray(string); + strLength = strSymbols.length; + } + if (length >= strLength) { + return string; + } + var end = length - stringSize(omission); + if (end < 1) { + return omission; + } + var result2 = strSymbols ? castSlice(strSymbols, 0, end).join("") : string.slice(0, end); + if (separator === undefined2) { + return result2 + omission; + } + if (strSymbols) { + end += result2.length - end; + } + if (isRegExp(separator)) { + if (string.slice(end).search(separator)) { + var match, substring = result2; + if (!separator.global) { + separator = RegExp2(separator.source, toString(reFlags.exec(separator)) + "g"); + } + separator.lastIndex = 0; + while (match = separator.exec(substring)) { + var newEnd = match.index; + } + result2 = result2.slice(0, newEnd === undefined2 ? end : newEnd); + } + } else if (string.indexOf(baseToString(separator), end) != end) { + var index = result2.lastIndexOf(separator); + if (index > -1) { + result2 = result2.slice(0, index); + } + } + return result2 + omission; + } + function unescape2(string) { + string = toString(string); + return string && reHasEscapedHtml.test(string) ? string.replace(reEscapedHtml, unescapeHtmlChar) : string; + } + var upperCase = createCompounder(function(result2, word, index) { + return result2 + (index ? " " : "") + word.toUpperCase(); + }); + var upperFirst = createCaseFirst("toUpperCase"); + function words(string, pattern, guard) { + string = toString(string); + pattern = guard ? undefined2 : pattern; + if (pattern === undefined2) { + return hasUnicodeWord(string) ? unicodeWords(string) : asciiWords(string); + } + return string.match(pattern) || []; + } + var attempt = baseRest(function(func, args) { + try { + return apply(func, undefined2, args); + } catch (e) { + return isError(e) ? e : new Error2(e); + } + }); + var bindAll = flatRest(function(object, methodNames) { + arrayEach(methodNames, function(key) { + key = toKey(key); + baseAssignValue(object, key, bind(object[key], object)); + }); + return object; + }); + function cond(pairs) { + var length = pairs == null ? 0 : pairs.length, toIteratee = getIteratee(); + pairs = !length ? [] : arrayMap(pairs, function(pair) { + if (typeof pair[1] != "function") { + throw new TypeError2(FUNC_ERROR_TEXT); + } + return [toIteratee(pair[0]), pair[1]]; + }); + return baseRest(function(args) { + var index = -1; + while (++index < length) { + var pair = pairs[index]; + if (apply(pair[0], this, args)) { + return apply(pair[1], this, args); + } + } + }); + } + function conforms(source) { + return baseConforms(baseClone(source, CLONE_DEEP_FLAG)); + } + function constant(value) { + return function() { + return value; + }; + } + function defaultTo(value, defaultValue) { + return value == null || value !== value ? defaultValue : value; + } + var flow = createFlow(); + var flowRight = createFlow(true); + function identity(value) { + return value; + } + function iteratee(func) { + return baseIteratee(typeof func == "function" ? func : baseClone(func, CLONE_DEEP_FLAG)); + } + function matches(source) { + return baseMatches(baseClone(source, CLONE_DEEP_FLAG)); + } + function matchesProperty(path, srcValue) { + return baseMatchesProperty(path, baseClone(srcValue, CLONE_DEEP_FLAG)); + } + var method = baseRest(function(path, args) { + return function(object) { + return baseInvoke(object, path, args); + }; + }); + var methodOf = baseRest(function(object, args) { + return function(path) { + return baseInvoke(object, path, args); + }; + }); + function mixin(object, source, options) { + var props = keys(source), methodNames = baseFunctions(source, props); + if (options == null && !(isObject(source) && (methodNames.length || !props.length))) { + options = source; + source = object; + object = this; + methodNames = baseFunctions(source, keys(source)); + } + var chain2 = !(isObject(options) && "chain" in options) || !!options.chain, isFunc = isFunction(object); + arrayEach(methodNames, function(methodName) { + var func = source[methodName]; + object[methodName] = func; + if (isFunc) { + object.prototype[methodName] = function() { + var chainAll = this.__chain__; + if (chain2 || chainAll) { + var result2 = object(this.__wrapped__), actions = result2.__actions__ = copyArray(this.__actions__); + actions.push({ "func": func, "args": arguments, "thisArg": object }); + result2.__chain__ = chainAll; + return result2; + } + return func.apply(object, arrayPush([this.value()], arguments)); + }; + } + }); + return object; + } + function noConflict() { + if (root._ === this) { + root._ = oldDash; + } + return this; + } + function noop() { + } + function nthArg(n) { + n = toInteger(n); + return baseRest(function(args) { + return baseNth(args, n); + }); + } + var over = createOver(arrayMap); + var overEvery = createOver(arrayEvery); + var overSome = createOver(arraySome); + function property(path) { + return isKey(path) ? baseProperty(toKey(path)) : basePropertyDeep(path); + } + function propertyOf(object) { + return function(path) { + return object == null ? undefined2 : baseGet(object, path); + }; + } + var range = createRange(); + var rangeRight = createRange(true); + function stubArray() { + return []; + } + function stubFalse() { + return false; + } + function stubObject() { + return {}; + } + function stubString() { + return ""; + } + function stubTrue() { + return true; + } + function times(n, iteratee2) { + n = toInteger(n); + if (n < 1 || n > MAX_SAFE_INTEGER) { + return []; + } + var index = MAX_ARRAY_LENGTH, length = nativeMin(n, MAX_ARRAY_LENGTH); + iteratee2 = getIteratee(iteratee2); + n -= MAX_ARRAY_LENGTH; + var result2 = baseTimes(length, iteratee2); + while (++index < n) { + iteratee2(index); + } + return result2; + } + function toPath(value) { + if (isArray(value)) { + return arrayMap(value, toKey); + } + return isSymbol(value) ? [value] : copyArray(stringToPath(toString(value))); + } + function uniqueId(prefix) { + var id = ++idCounter; + return toString(prefix) + id; + } + var add = createMathOperation(function(augend, addend) { + return augend + addend; + }, 0); + var ceil = createRound("ceil"); + var divide = createMathOperation(function(dividend, divisor) { + return dividend / divisor; + }, 1); + var floor = createRound("floor"); + function max(array) { + return array && array.length ? baseExtremum(array, identity, baseGt) : undefined2; + } + function maxBy(array, iteratee2) { + return array && array.length ? baseExtremum(array, getIteratee(iteratee2, 2), baseGt) : undefined2; + } + function mean(array) { + return baseMean(array, identity); + } + function meanBy(array, iteratee2) { + return baseMean(array, getIteratee(iteratee2, 2)); + } + function min(array) { + return array && array.length ? baseExtremum(array, identity, baseLt) : undefined2; + } + function minBy(array, iteratee2) { + return array && array.length ? baseExtremum(array, getIteratee(iteratee2, 2), baseLt) : undefined2; + } + var multiply = createMathOperation(function(multiplier, multiplicand) { + return multiplier * multiplicand; + }, 1); + var round = createRound("round"); + var subtract = createMathOperation(function(minuend, subtrahend) { + return minuend - subtrahend; + }, 0); + function sum(array) { + return array && array.length ? baseSum(array, identity) : 0; + } + function sumBy(array, iteratee2) { + return array && array.length ? baseSum(array, getIteratee(iteratee2, 2)) : 0; + } + lodash.after = after; + lodash.ary = ary; + lodash.assign = assign; + lodash.assignIn = assignIn; + lodash.assignInWith = assignInWith; + lodash.assignWith = assignWith; + lodash.at = at; + lodash.before = before; + lodash.bind = bind; + lodash.bindAll = bindAll; + lodash.bindKey = bindKey; + lodash.castArray = castArray; + lodash.chain = chain; + lodash.chunk = chunk; + lodash.compact = compact; + lodash.concat = concat; + lodash.cond = cond; + lodash.conforms = conforms; + lodash.constant = constant; + lodash.countBy = countBy; + lodash.create = create; + lodash.curry = curry; + lodash.curryRight = curryRight; + lodash.debounce = debounce; + lodash.defaults = defaults; + lodash.defaultsDeep = defaultsDeep; + lodash.defer = defer; + lodash.delay = delay; + lodash.difference = difference; + lodash.differenceBy = differenceBy; + lodash.differenceWith = differenceWith; + lodash.drop = drop; + lodash.dropRight = dropRight; + lodash.dropRightWhile = dropRightWhile; + lodash.dropWhile = dropWhile; + lodash.fill = fill; + lodash.filter = filter; + lodash.flatMap = flatMap; + lodash.flatMapDeep = flatMapDeep; + lodash.flatMapDepth = flatMapDepth; + lodash.flatten = flatten; + lodash.flattenDeep = flattenDeep; + lodash.flattenDepth = flattenDepth; + lodash.flip = flip; + lodash.flow = flow; + lodash.flowRight = flowRight; + lodash.fromPairs = fromPairs; + lodash.functions = functions; + lodash.functionsIn = functionsIn; + lodash.groupBy = groupBy; + lodash.initial = initial; + lodash.intersection = intersection; + lodash.intersectionBy = intersectionBy; + lodash.intersectionWith = intersectionWith; + lodash.invert = invert; + lodash.invertBy = invertBy; + lodash.invokeMap = invokeMap; + lodash.iteratee = iteratee; + lodash.keyBy = keyBy; + lodash.keys = keys; + lodash.keysIn = keysIn; + lodash.map = map; + lodash.mapKeys = mapKeys; + lodash.mapValues = mapValues; + lodash.matches = matches; + lodash.matchesProperty = matchesProperty; + lodash.memoize = memoize; + lodash.merge = merge; + lodash.mergeWith = mergeWith; + lodash.method = method; + lodash.methodOf = methodOf; + lodash.mixin = mixin; + lodash.negate = negate; + lodash.nthArg = nthArg; + lodash.omit = omit; + lodash.omitBy = omitBy; + lodash.once = once; + lodash.orderBy = orderBy; + lodash.over = over; + lodash.overArgs = overArgs; + lodash.overEvery = overEvery; + lodash.overSome = overSome; + lodash.partial = partial; + lodash.partialRight = partialRight; + lodash.partition = partition; + lodash.pick = pick; + lodash.pickBy = pickBy; + lodash.property = property; + lodash.propertyOf = propertyOf; + lodash.pull = pull; + lodash.pullAll = pullAll; + lodash.pullAllBy = pullAllBy; + lodash.pullAllWith = pullAllWith; + lodash.pullAt = pullAt; + lodash.range = range; + lodash.rangeRight = rangeRight; + lodash.rearg = rearg; + lodash.reject = reject; + lodash.remove = remove; + lodash.rest = rest; + lodash.reverse = reverse; + lodash.sampleSize = sampleSize; + lodash.set = set; + lodash.setWith = setWith; + lodash.shuffle = shuffle; + lodash.slice = slice; + lodash.sortBy = sortBy; + lodash.sortedUniq = sortedUniq; + lodash.sortedUniqBy = sortedUniqBy; + lodash.split = split; + lodash.spread = spread; + lodash.tail = tail; + lodash.take = take; + lodash.takeRight = takeRight; + lodash.takeRightWhile = takeRightWhile; + lodash.takeWhile = takeWhile; + lodash.tap = tap; + lodash.throttle = throttle; + lodash.thru = thru; + lodash.toArray = toArray; + lodash.toPairs = toPairs; + lodash.toPairsIn = toPairsIn; + lodash.toPath = toPath; + lodash.toPlainObject = toPlainObject; + lodash.transform = transform; + lodash.unary = unary; + lodash.union = union; + lodash.unionBy = unionBy; + lodash.unionWith = unionWith; + lodash.uniq = uniq; + lodash.uniqBy = uniqBy; + lodash.uniqWith = uniqWith; + lodash.unset = unset; + lodash.unzip = unzip; + lodash.unzipWith = unzipWith; + lodash.update = update; + lodash.updateWith = updateWith; + lodash.values = values; + lodash.valuesIn = valuesIn; + lodash.without = without; + lodash.words = words; + lodash.wrap = wrap; + lodash.xor = xor; + lodash.xorBy = xorBy; + lodash.xorWith = xorWith; + lodash.zip = zip; + lodash.zipObject = zipObject; + lodash.zipObjectDeep = zipObjectDeep; + lodash.zipWith = zipWith; + lodash.entries = toPairs; + lodash.entriesIn = toPairsIn; + lodash.extend = assignIn; + lodash.extendWith = assignInWith; + mixin(lodash, lodash); + lodash.add = add; + lodash.attempt = attempt; + lodash.camelCase = camelCase; + lodash.capitalize = capitalize; + lodash.ceil = ceil; + lodash.clamp = clamp; + lodash.clone = clone; + lodash.cloneDeep = cloneDeep; + lodash.cloneDeepWith = cloneDeepWith; + lodash.cloneWith = cloneWith; + lodash.conformsTo = conformsTo; + lodash.deburr = deburr; + lodash.defaultTo = defaultTo; + lodash.divide = divide; + lodash.endsWith = endsWith; + lodash.eq = eq; + lodash.escape = escape2; + lodash.escapeRegExp = escapeRegExp; + lodash.every = every; + lodash.find = find; + lodash.findIndex = findIndex; + lodash.findKey = findKey; + lodash.findLast = findLast; + lodash.findLastIndex = findLastIndex; + lodash.findLastKey = findLastKey; + lodash.floor = floor; + lodash.forEach = forEach; + lodash.forEachRight = forEachRight; + lodash.forIn = forIn; + lodash.forInRight = forInRight; + lodash.forOwn = forOwn; + lodash.forOwnRight = forOwnRight; + lodash.get = get; + lodash.gt = gt; + lodash.gte = gte; + lodash.has = has; + lodash.hasIn = hasIn; + lodash.head = head; + lodash.identity = identity; + lodash.includes = includes; + lodash.indexOf = indexOf; + lodash.inRange = inRange; + lodash.invoke = invoke; + lodash.isArguments = isArguments; + lodash.isArray = isArray; + lodash.isArrayBuffer = isArrayBuffer; + lodash.isArrayLike = isArrayLike; + lodash.isArrayLikeObject = isArrayLikeObject; + lodash.isBoolean = isBoolean; + lodash.isBuffer = isBuffer; + lodash.isDate = isDate; + lodash.isElement = isElement; + lodash.isEmpty = isEmpty; + lodash.isEqual = isEqual; + lodash.isEqualWith = isEqualWith; + lodash.isError = isError; + lodash.isFinite = isFinite2; + lodash.isFunction = isFunction; + lodash.isInteger = isInteger; + lodash.isLength = isLength; + lodash.isMap = isMap; + lodash.isMatch = isMatch; + lodash.isMatchWith = isMatchWith; + lodash.isNaN = isNaN2; + lodash.isNative = isNative; + lodash.isNil = isNil; + lodash.isNull = isNull; + lodash.isNumber = isNumber; + lodash.isObject = isObject; + lodash.isObjectLike = isObjectLike; + lodash.isPlainObject = isPlainObject; + lodash.isRegExp = isRegExp; + lodash.isSafeInteger = isSafeInteger; + lodash.isSet = isSet; + lodash.isString = isString; + lodash.isSymbol = isSymbol; + lodash.isTypedArray = isTypedArray; + lodash.isUndefined = isUndefined; + lodash.isWeakMap = isWeakMap; + lodash.isWeakSet = isWeakSet; + lodash.join = join; + lodash.kebabCase = kebabCase; + lodash.last = last; + lodash.lastIndexOf = lastIndexOf; + lodash.lowerCase = lowerCase; + lodash.lowerFirst = lowerFirst; + lodash.lt = lt; + lodash.lte = lte; + lodash.max = max; + lodash.maxBy = maxBy; + lodash.mean = mean; + lodash.meanBy = meanBy; + lodash.min = min; + lodash.minBy = minBy; + lodash.stubArray = stubArray; + lodash.stubFalse = stubFalse; + lodash.stubObject = stubObject; + lodash.stubString = stubString; + lodash.stubTrue = stubTrue; + lodash.multiply = multiply; + lodash.nth = nth; + lodash.noConflict = noConflict; + lodash.noop = noop; + lodash.now = now; + lodash.pad = pad; + lodash.padEnd = padEnd; + lodash.padStart = padStart; + lodash.parseInt = parseInt2; + lodash.random = random; + lodash.reduce = reduce; + lodash.reduceRight = reduceRight; + lodash.repeat = repeat; + lodash.replace = replace; + lodash.result = result; + lodash.round = round; + lodash.runInContext = runInContext2; + lodash.sample = sample; + lodash.size = size; + lodash.snakeCase = snakeCase; + lodash.some = some; + lodash.sortedIndex = sortedIndex; + lodash.sortedIndexBy = sortedIndexBy; + lodash.sortedIndexOf = sortedIndexOf; + lodash.sortedLastIndex = sortedLastIndex; + lodash.sortedLastIndexBy = sortedLastIndexBy; + lodash.sortedLastIndexOf = sortedLastIndexOf; + lodash.startCase = startCase; + lodash.startsWith = startsWith; + lodash.subtract = subtract; + lodash.sum = sum; + lodash.sumBy = sumBy; + lodash.template = template; + lodash.times = times; + lodash.toFinite = toFinite; + lodash.toInteger = toInteger; + lodash.toLength = toLength; + lodash.toLower = toLower; + lodash.toNumber = toNumber; + lodash.toSafeInteger = toSafeInteger; + lodash.toString = toString; + lodash.toUpper = toUpper; + lodash.trim = trim; + lodash.trimEnd = trimEnd; + lodash.trimStart = trimStart; + lodash.truncate = truncate; + lodash.unescape = unescape2; + lodash.uniqueId = uniqueId; + lodash.upperCase = upperCase; + lodash.upperFirst = upperFirst; + lodash.each = forEach; + lodash.eachRight = forEachRight; + lodash.first = head; + mixin(lodash, (function() { + var source = {}; + baseForOwn(lodash, function(func, methodName) { + if (!hasOwnProperty.call(lodash.prototype, methodName)) { + source[methodName] = func; + } + }); + return source; + })(), { "chain": false }); + lodash.VERSION = VERSION; + arrayEach(["bind", "bindKey", "curry", "curryRight", "partial", "partialRight"], function(methodName) { + lodash[methodName].placeholder = lodash; + }); + arrayEach(["drop", "take"], function(methodName, index) { + LazyWrapper.prototype[methodName] = function(n) { + n = n === undefined2 ? 1 : nativeMax(toInteger(n), 0); + var result2 = this.__filtered__ && !index ? new LazyWrapper(this) : this.clone(); + if (result2.__filtered__) { + result2.__takeCount__ = nativeMin(n, result2.__takeCount__); + } else { + result2.__views__.push({ + "size": nativeMin(n, MAX_ARRAY_LENGTH), + "type": methodName + (result2.__dir__ < 0 ? "Right" : "") + }); + } + return result2; + }; + LazyWrapper.prototype[methodName + "Right"] = function(n) { + return this.reverse()[methodName](n).reverse(); + }; + }); + arrayEach(["filter", "map", "takeWhile"], function(methodName, index) { + var type = index + 1, isFilter = type == LAZY_FILTER_FLAG || type == LAZY_WHILE_FLAG; + LazyWrapper.prototype[methodName] = function(iteratee2) { + var result2 = this.clone(); + result2.__iteratees__.push({ + "iteratee": getIteratee(iteratee2, 3), + "type": type + }); + result2.__filtered__ = result2.__filtered__ || isFilter; + return result2; + }; + }); + arrayEach(["head", "last"], function(methodName, index) { + var takeName = "take" + (index ? "Right" : ""); + LazyWrapper.prototype[methodName] = function() { + return this[takeName](1).value()[0]; + }; + }); + arrayEach(["initial", "tail"], function(methodName, index) { + var dropName = "drop" + (index ? "" : "Right"); + LazyWrapper.prototype[methodName] = function() { + return this.__filtered__ ? new LazyWrapper(this) : this[dropName](1); + }; + }); + LazyWrapper.prototype.compact = function() { + return this.filter(identity); + }; + LazyWrapper.prototype.find = function(predicate) { + return this.filter(predicate).head(); + }; + LazyWrapper.prototype.findLast = function(predicate) { + return this.reverse().find(predicate); + }; + LazyWrapper.prototype.invokeMap = baseRest(function(path, args) { + if (typeof path == "function") { + return new LazyWrapper(this); + } + return this.map(function(value) { + return baseInvoke(value, path, args); + }); + }); + LazyWrapper.prototype.reject = function(predicate) { + return this.filter(negate(getIteratee(predicate))); + }; + LazyWrapper.prototype.slice = function(start, end) { + start = toInteger(start); + var result2 = this; + if (result2.__filtered__ && (start > 0 || end < 0)) { + return new LazyWrapper(result2); + } + if (start < 0) { + result2 = result2.takeRight(-start); + } else if (start) { + result2 = result2.drop(start); + } + if (end !== undefined2) { + end = toInteger(end); + result2 = end < 0 ? result2.dropRight(-end) : result2.take(end - start); + } + return result2; + }; + LazyWrapper.prototype.takeRightWhile = function(predicate) { + return this.reverse().takeWhile(predicate).reverse(); + }; + LazyWrapper.prototype.toArray = function() { + return this.take(MAX_ARRAY_LENGTH); + }; + baseForOwn(LazyWrapper.prototype, function(func, methodName) { + var checkIteratee = /^(?:filter|find|map|reject)|While$/.test(methodName), isTaker = /^(?:head|last)$/.test(methodName), lodashFunc = lodash[isTaker ? "take" + (methodName == "last" ? "Right" : "") : methodName], retUnwrapped = isTaker || /^find/.test(methodName); + if (!lodashFunc) { + return; + } + lodash.prototype[methodName] = function() { + var value = this.__wrapped__, args = isTaker ? [1] : arguments, isLazy = value instanceof LazyWrapper, iteratee2 = args[0], useLazy = isLazy || isArray(value); + var interceptor = function(value2) { + var result3 = lodashFunc.apply(lodash, arrayPush([value2], args)); + return isTaker && chainAll ? result3[0] : result3; + }; + if (useLazy && checkIteratee && typeof iteratee2 == "function" && iteratee2.length != 1) { + isLazy = useLazy = false; + } + var chainAll = this.__chain__, isHybrid = !!this.__actions__.length, isUnwrapped = retUnwrapped && !chainAll, onlyLazy = isLazy && !isHybrid; + if (!retUnwrapped && useLazy) { + value = onlyLazy ? value : new LazyWrapper(this); + var result2 = func.apply(value, args); + result2.__actions__.push({ "func": thru, "args": [interceptor], "thisArg": undefined2 }); + return new LodashWrapper(result2, chainAll); + } + if (isUnwrapped && onlyLazy) { + return func.apply(this, args); + } + result2 = this.thru(interceptor); + return isUnwrapped ? isTaker ? result2.value()[0] : result2.value() : result2; + }; + }); + arrayEach(["pop", "push", "shift", "sort", "splice", "unshift"], function(methodName) { + var func = arrayProto[methodName], chainName = /^(?:push|sort|unshift)$/.test(methodName) ? "tap" : "thru", retUnwrapped = /^(?:pop|shift)$/.test(methodName); + lodash.prototype[methodName] = function() { + var args = arguments; + if (retUnwrapped && !this.__chain__) { + var value = this.value(); + return func.apply(isArray(value) ? value : [], args); + } + return this[chainName](function(value2) { + return func.apply(isArray(value2) ? value2 : [], args); + }); + }; + }); + baseForOwn(LazyWrapper.prototype, function(func, methodName) { + var lodashFunc = lodash[methodName]; + if (lodashFunc) { + var key = lodashFunc.name + ""; + if (!hasOwnProperty.call(realNames, key)) { + realNames[key] = []; + } + realNames[key].push({ "name": methodName, "func": lodashFunc }); + } + }); + realNames[createHybrid(undefined2, WRAP_BIND_KEY_FLAG).name] = [{ + "name": "wrapper", + "func": undefined2 + }]; + LazyWrapper.prototype.clone = lazyClone; + LazyWrapper.prototype.reverse = lazyReverse; + LazyWrapper.prototype.value = lazyValue; + lodash.prototype.at = wrapperAt; + lodash.prototype.chain = wrapperChain; + lodash.prototype.commit = wrapperCommit; + lodash.prototype.next = wrapperNext; + lodash.prototype.plant = wrapperPlant; + lodash.prototype.reverse = wrapperReverse; + lodash.prototype.toJSON = lodash.prototype.valueOf = lodash.prototype.value = wrapperValue; + lodash.prototype.first = lodash.prototype.head; + if (symIterator) { + lodash.prototype[symIterator] = wrapperToIterator; + } + return lodash; + }; + var _2 = runInContext(); + if (typeof define == "function" && typeof define.amd == "object" && define.amd) { + root._ = _2; + define(function() { + return _2; + }); + } else if (freeModule) { + (freeModule.exports = _2)._ = _2; + freeExports._ = _2; + } else { + root._ = _2; + } + }).call(exports2); + } +}); +var require_color_name = __commonJS2({ + "node_modules/color-name/index.js"(exports2, module2) { + "use strict"; + module2.exports = { + "aliceblue": [240, 248, 255], + "antiquewhite": [250, 235, 215], + "aqua": [0, 255, 255], + "aquamarine": [127, 255, 212], + "azure": [240, 255, 255], + "beige": [245, 245, 220], + "bisque": [255, 228, 196], + "black": [0, 0, 0], + "blanchedalmond": [255, 235, 205], + "blue": [0, 0, 255], + "blueviolet": [138, 43, 226], + "brown": [165, 42, 42], + "burlywood": [222, 184, 135], + "cadetblue": [95, 158, 160], + "chartreuse": [127, 255, 0], + "chocolate": [210, 105, 30], + "coral": [255, 127, 80], + "cornflowerblue": [100, 149, 237], + "cornsilk": [255, 248, 220], + "crimson": [220, 20, 60], + "cyan": [0, 255, 255], + "darkblue": [0, 0, 139], + "darkcyan": [0, 139, 139], + "darkgoldenrod": [184, 134, 11], + "darkgray": [169, 169, 169], + "darkgreen": [0, 100, 0], + "darkgrey": [169, 169, 169], + "darkkhaki": [189, 183, 107], + "darkmagenta": [139, 0, 139], + "darkolivegreen": [85, 107, 47], + "darkorange": [255, 140, 0], + "darkorchid": [153, 50, 204], + "darkred": [139, 0, 0], + "darksalmon": [233, 150, 122], + "darkseagreen": [143, 188, 143], + "darkslateblue": [72, 61, 139], + "darkslategray": [47, 79, 79], + "darkslategrey": [47, 79, 79], + "darkturquoise": [0, 206, 209], + "darkviolet": [148, 0, 211], + "deeppink": [255, 20, 147], + "deepskyblue": [0, 191, 255], + "dimgray": [105, 105, 105], + "dimgrey": [105, 105, 105], + "dodgerblue": [30, 144, 255], + "firebrick": [178, 34, 34], + "floralwhite": [255, 250, 240], + "forestgreen": [34, 139, 34], + "fuchsia": [255, 0, 255], + "gainsboro": [220, 220, 220], + "ghostwhite": [248, 248, 255], + "gold": [255, 215, 0], + "goldenrod": [218, 165, 32], + "gray": [128, 128, 128], + "green": [0, 128, 0], + "greenyellow": [173, 255, 47], + "grey": [128, 128, 128], + "honeydew": [240, 255, 240], + "hotpink": [255, 105, 180], + "indianred": [205, 92, 92], + "indigo": [75, 0, 130], + "ivory": [255, 255, 240], + "khaki": [240, 230, 140], + "lavender": [230, 230, 250], + "lavenderblush": [255, 240, 245], + "lawngreen": [124, 252, 0], + "lemonchiffon": [255, 250, 205], + "lightblue": [173, 216, 230], + "lightcoral": [240, 128, 128], + "lightcyan": [224, 255, 255], + "lightgoldenrodyellow": [250, 250, 210], + "lightgray": [211, 211, 211], + "lightgreen": [144, 238, 144], + "lightgrey": [211, 211, 211], + "lightpink": [255, 182, 193], + "lightsalmon": [255, 160, 122], + "lightseagreen": [32, 178, 170], + "lightskyblue": [135, 206, 250], + "lightslategray": [119, 136, 153], + "lightslategrey": [119, 136, 153], + "lightsteelblue": [176, 196, 222], + "lightyellow": [255, 255, 224], + "lime": [0, 255, 0], + "limegreen": [50, 205, 50], + "linen": [250, 240, 230], + "magenta": [255, 0, 255], + "maroon": [128, 0, 0], + "mediumaquamarine": [102, 205, 170], + "mediumblue": [0, 0, 205], + "mediumorchid": [186, 85, 211], + "mediumpurple": [147, 112, 219], + "mediumseagreen": [60, 179, 113], + "mediumslateblue": [123, 104, 238], + "mediumspringgreen": [0, 250, 154], + "mediumturquoise": [72, 209, 204], + "mediumvioletred": [199, 21, 133], + "midnightblue": [25, 25, 112], + "mintcream": [245, 255, 250], + "mistyrose": [255, 228, 225], + "moccasin": [255, 228, 181], + "navajowhite": [255, 222, 173], + "navy": [0, 0, 128], + "oldlace": [253, 245, 230], + "olive": [128, 128, 0], + "olivedrab": [107, 142, 35], + "orange": [255, 165, 0], + "orangered": [255, 69, 0], + "orchid": [218, 112, 214], + "palegoldenrod": [238, 232, 170], + "palegreen": [152, 251, 152], + "paleturquoise": [175, 238, 238], + "palevioletred": [219, 112, 147], + "papayawhip": [255, 239, 213], + "peachpuff": [255, 218, 185], + "peru": [205, 133, 63], + "pink": [255, 192, 203], + "plum": [221, 160, 221], + "powderblue": [176, 224, 230], + "purple": [128, 0, 128], + "rebeccapurple": [102, 51, 153], + "red": [255, 0, 0], + "rosybrown": [188, 143, 143], + "royalblue": [65, 105, 225], + "saddlebrown": [139, 69, 19], + "salmon": [250, 128, 114], + "sandybrown": [244, 164, 96], + "seagreen": [46, 139, 87], + "seashell": [255, 245, 238], + "sienna": [160, 82, 45], + "silver": [192, 192, 192], + "skyblue": [135, 206, 235], + "slateblue": [106, 90, 205], + "slategray": [112, 128, 144], + "slategrey": [112, 128, 144], + "snow": [255, 250, 250], + "springgreen": [0, 255, 127], + "steelblue": [70, 130, 180], + "tan": [210, 180, 140], + "teal": [0, 128, 128], + "thistle": [216, 191, 216], + "tomato": [255, 99, 71], + "turquoise": [64, 224, 208], + "violet": [238, 130, 238], + "wheat": [245, 222, 179], + "white": [255, 255, 255], + "whitesmoke": [245, 245, 245], + "yellow": [255, 255, 0], + "yellowgreen": [154, 205, 50] + }; + } +}); +var require_conversions = __commonJS2({ + "node_modules/color-convert/conversions.js"(exports2, module2) { + var cssKeywords = require_color_name(); + var reverseKeywords = {}; + for (const key of Object.keys(cssKeywords)) { + reverseKeywords[cssKeywords[key]] = key; + } + var convert = { + rgb: { channels: 3, labels: "rgb" }, + hsl: { channels: 3, labels: "hsl" }, + hsv: { channels: 3, labels: "hsv" }, + hwb: { channels: 3, labels: "hwb" }, + cmyk: { channels: 4, labels: "cmyk" }, + xyz: { channels: 3, labels: "xyz" }, + lab: { channels: 3, labels: "lab" }, + lch: { channels: 3, labels: "lch" }, + hex: { channels: 1, labels: ["hex"] }, + keyword: { channels: 1, labels: ["keyword"] }, + ansi16: { channels: 1, labels: ["ansi16"] }, + ansi256: { channels: 1, labels: ["ansi256"] }, + hcg: { channels: 3, labels: ["h", "c", "g"] }, + apple: { channels: 3, labels: ["r16", "g16", "b16"] }, + gray: { channels: 1, labels: ["gray"] } + }; + module2.exports = convert; + for (const model of Object.keys(convert)) { + if (!("channels" in convert[model])) { + throw new Error("missing channels property: " + model); + } + if (!("labels" in convert[model])) { + throw new Error("missing channel labels property: " + model); + } + if (convert[model].labels.length !== convert[model].channels) { + throw new Error("channel and label counts mismatch: " + model); + } + const { channels, labels } = convert[model]; + delete convert[model].channels; + delete convert[model].labels; + Object.defineProperty(convert[model], "channels", { value: channels }); + Object.defineProperty(convert[model], "labels", { value: labels }); + } + convert.rgb.hsl = function(rgb) { + const r = rgb[0] / 255; + const g = rgb[1] / 255; + const b = rgb[2] / 255; + const min = Math.min(r, g, b); + const max = Math.max(r, g, b); + const delta = max - min; + let h; + let s; + if (max === min) { + h = 0; + } else if (r === max) { + h = (g - b) / delta; + } else if (g === max) { + h = 2 + (b - r) / delta; + } else if (b === max) { + h = 4 + (r - g) / delta; + } + h = Math.min(h * 60, 360); + if (h < 0) { + h += 360; + } + const l = (min + max) / 2; + if (max === min) { + s = 0; + } else if (l <= 0.5) { + s = delta / (max + min); + } else { + s = delta / (2 - max - min); + } + return [h, s * 100, l * 100]; + }; + convert.rgb.hsv = function(rgb) { + let rdif; + let gdif; + let bdif; + let h; + let s; + const r = rgb[0] / 255; + const g = rgb[1] / 255; + const b = rgb[2] / 255; + const v = Math.max(r, g, b); + const diff = v - Math.min(r, g, b); + const diffc = function(c) { + return (v - c) / 6 / diff + 1 / 2; + }; + if (diff === 0) { + h = 0; + s = 0; + } else { + s = diff / v; + rdif = diffc(r); + gdif = diffc(g); + bdif = diffc(b); + if (r === v) { + h = bdif - gdif; + } else if (g === v) { + h = 1 / 3 + rdif - bdif; + } else if (b === v) { + h = 2 / 3 + gdif - rdif; + } + if (h < 0) { + h += 1; + } else if (h > 1) { + h -= 1; + } + } + return [ + h * 360, + s * 100, + v * 100 + ]; + }; + convert.rgb.hwb = function(rgb) { + const r = rgb[0]; + const g = rgb[1]; + let b = rgb[2]; + const h = convert.rgb.hsl(rgb)[0]; + const w = 1 / 255 * Math.min(r, Math.min(g, b)); + b = 1 - 1 / 255 * Math.max(r, Math.max(g, b)); + return [h, w * 100, b * 100]; + }; + convert.rgb.cmyk = function(rgb) { + const r = rgb[0] / 255; + const g = rgb[1] / 255; + const b = rgb[2] / 255; + const k = Math.min(1 - r, 1 - g, 1 - b); + const c = (1 - r - k) / (1 - k) || 0; + const m = (1 - g - k) / (1 - k) || 0; + const y = (1 - b - k) / (1 - k) || 0; + return [c * 100, m * 100, y * 100, k * 100]; + }; + function comparativeDistance(x, y) { + return (x[0] - y[0]) ** 2 + (x[1] - y[1]) ** 2 + (x[2] - y[2]) ** 2; + } + convert.rgb.keyword = function(rgb) { + const reversed = reverseKeywords[rgb]; + if (reversed) { + return reversed; + } + let currentClosestDistance = Infinity; + let currentClosestKeyword; + for (const keyword of Object.keys(cssKeywords)) { + const value = cssKeywords[keyword]; + const distance = comparativeDistance(rgb, value); + if (distance < currentClosestDistance) { + currentClosestDistance = distance; + currentClosestKeyword = keyword; + } + } + return currentClosestKeyword; + }; + convert.keyword.rgb = function(keyword) { + return cssKeywords[keyword]; + }; + convert.rgb.xyz = function(rgb) { + let r = rgb[0] / 255; + let g = rgb[1] / 255; + let b = rgb[2] / 255; + r = r > 0.04045 ? ((r + 0.055) / 1.055) ** 2.4 : r / 12.92; + g = g > 0.04045 ? ((g + 0.055) / 1.055) ** 2.4 : g / 12.92; + b = b > 0.04045 ? ((b + 0.055) / 1.055) ** 2.4 : b / 12.92; + const x = r * 0.4124 + g * 0.3576 + b * 0.1805; + const y = r * 0.2126 + g * 0.7152 + b * 0.0722; + const z2 = r * 0.0193 + g * 0.1192 + b * 0.9505; + return [x * 100, y * 100, z2 * 100]; + }; + convert.rgb.lab = function(rgb) { + const xyz = convert.rgb.xyz(rgb); + let x = xyz[0]; + let y = xyz[1]; + let z2 = xyz[2]; + x /= 95.047; + y /= 100; + z2 /= 108.883; + x = x > 8856e-6 ? x ** (1 / 3) : 7.787 * x + 16 / 116; + y = y > 8856e-6 ? y ** (1 / 3) : 7.787 * y + 16 / 116; + z2 = z2 > 8856e-6 ? z2 ** (1 / 3) : 7.787 * z2 + 16 / 116; + const l = 116 * y - 16; + const a = 500 * (x - y); + const b = 200 * (y - z2); + return [l, a, b]; + }; + convert.hsl.rgb = function(hsl) { + const h = hsl[0] / 360; + const s = hsl[1] / 100; + const l = hsl[2] / 100; + let t2; + let t3; + let val; + if (s === 0) { + val = l * 255; + return [val, val, val]; + } + if (l < 0.5) { + t2 = l * (1 + s); + } else { + t2 = l + s - l * s; + } + const t1 = 2 * l - t2; + const rgb = [0, 0, 0]; + for (let i = 0; i < 3; i++) { + t3 = h + 1 / 3 * -(i - 1); + if (t3 < 0) { + t3++; + } + if (t3 > 1) { + t3--; + } + if (6 * t3 < 1) { + val = t1 + (t2 - t1) * 6 * t3; + } else if (2 * t3 < 1) { + val = t2; + } else if (3 * t3 < 2) { + val = t1 + (t2 - t1) * (2 / 3 - t3) * 6; + } else { + val = t1; + } + rgb[i] = val * 255; + } + return rgb; + }; + convert.hsl.hsv = function(hsl) { + const h = hsl[0]; + let s = hsl[1] / 100; + let l = hsl[2] / 100; + let smin = s; + const lmin = Math.max(l, 0.01); + l *= 2; + s *= l <= 1 ? l : 2 - l; + smin *= lmin <= 1 ? lmin : 2 - lmin; + const v = (l + s) / 2; + const sv = l === 0 ? 2 * smin / (lmin + smin) : 2 * s / (l + s); + return [h, sv * 100, v * 100]; + }; + convert.hsv.rgb = function(hsv) { + const h = hsv[0] / 60; + const s = hsv[1] / 100; + let v = hsv[2] / 100; + const hi = Math.floor(h) % 6; + const f = h - Math.floor(h); + const p = 255 * v * (1 - s); + const q = 255 * v * (1 - s * f); + const t = 255 * v * (1 - s * (1 - f)); + v *= 255; + switch (hi) { + case 0: + return [v, t, p]; + case 1: + return [q, v, p]; + case 2: + return [p, v, t]; + case 3: + return [p, q, v]; + case 4: + return [t, p, v]; + case 5: + return [v, p, q]; + } + }; + convert.hsv.hsl = function(hsv) { + const h = hsv[0]; + const s = hsv[1] / 100; + const v = hsv[2] / 100; + const vmin = Math.max(v, 0.01); + let sl; + let l; + l = (2 - s) * v; + const lmin = (2 - s) * vmin; + sl = s * vmin; + sl /= lmin <= 1 ? lmin : 2 - lmin; + sl = sl || 0; + l /= 2; + return [h, sl * 100, l * 100]; + }; + convert.hwb.rgb = function(hwb) { + const h = hwb[0] / 360; + let wh = hwb[1] / 100; + let bl = hwb[2] / 100; + const ratio = wh + bl; + let f; + if (ratio > 1) { + wh /= ratio; + bl /= ratio; + } + const i = Math.floor(6 * h); + const v = 1 - bl; + f = 6 * h - i; + if ((i & 1) !== 0) { + f = 1 - f; + } + const n = wh + f * (v - wh); + let r; + let g; + let b; + switch (i) { + default: + case 6: + case 0: + r = v; + g = n; + b = wh; + break; + case 1: + r = n; + g = v; + b = wh; + break; + case 2: + r = wh; + g = v; + b = n; + break; + case 3: + r = wh; + g = n; + b = v; + break; + case 4: + r = n; + g = wh; + b = v; + break; + case 5: + r = v; + g = wh; + b = n; + break; + } + return [r * 255, g * 255, b * 255]; + }; + convert.cmyk.rgb = function(cmyk) { + const c = cmyk[0] / 100; + const m = cmyk[1] / 100; + const y = cmyk[2] / 100; + const k = cmyk[3] / 100; + const r = 1 - Math.min(1, c * (1 - k) + k); + const g = 1 - Math.min(1, m * (1 - k) + k); + const b = 1 - Math.min(1, y * (1 - k) + k); + return [r * 255, g * 255, b * 255]; + }; + convert.xyz.rgb = function(xyz) { + const x = xyz[0] / 100; + const y = xyz[1] / 100; + const z2 = xyz[2] / 100; + let r; + let g; + let b; + r = x * 3.2406 + y * -1.5372 + z2 * -0.4986; + g = x * -0.9689 + y * 1.8758 + z2 * 0.0415; + b = x * 0.0557 + y * -0.204 + z2 * 1.057; + r = r > 31308e-7 ? 1.055 * r ** (1 / 2.4) - 0.055 : r * 12.92; + g = g > 31308e-7 ? 1.055 * g ** (1 / 2.4) - 0.055 : g * 12.92; + b = b > 31308e-7 ? 1.055 * b ** (1 / 2.4) - 0.055 : b * 12.92; + r = Math.min(Math.max(0, r), 1); + g = Math.min(Math.max(0, g), 1); + b = Math.min(Math.max(0, b), 1); + return [r * 255, g * 255, b * 255]; + }; + convert.xyz.lab = function(xyz) { + let x = xyz[0]; + let y = xyz[1]; + let z2 = xyz[2]; + x /= 95.047; + y /= 100; + z2 /= 108.883; + x = x > 8856e-6 ? x ** (1 / 3) : 7.787 * x + 16 / 116; + y = y > 8856e-6 ? y ** (1 / 3) : 7.787 * y + 16 / 116; + z2 = z2 > 8856e-6 ? z2 ** (1 / 3) : 7.787 * z2 + 16 / 116; + const l = 116 * y - 16; + const a = 500 * (x - y); + const b = 200 * (y - z2); + return [l, a, b]; + }; + convert.lab.xyz = function(lab) { + const l = lab[0]; + const a = lab[1]; + const b = lab[2]; + let x; + let y; + let z2; + y = (l + 16) / 116; + x = a / 500 + y; + z2 = y - b / 200; + const y2 = y ** 3; + const x2 = x ** 3; + const z22 = z2 ** 3; + y = y2 > 8856e-6 ? y2 : (y - 16 / 116) / 7.787; + x = x2 > 8856e-6 ? x2 : (x - 16 / 116) / 7.787; + z2 = z22 > 8856e-6 ? z22 : (z2 - 16 / 116) / 7.787; + x *= 95.047; + y *= 100; + z2 *= 108.883; + return [x, y, z2]; + }; + convert.lab.lch = function(lab) { + const l = lab[0]; + const a = lab[1]; + const b = lab[2]; + let h; + const hr = Math.atan2(b, a); + h = hr * 360 / 2 / Math.PI; + if (h < 0) { + h += 360; + } + const c = Math.sqrt(a * a + b * b); + return [l, c, h]; + }; + convert.lch.lab = function(lch) { + const l = lch[0]; + const c = lch[1]; + const h = lch[2]; + const hr = h / 360 * 2 * Math.PI; + const a = c * Math.cos(hr); + const b = c * Math.sin(hr); + return [l, a, b]; + }; + convert.rgb.ansi16 = function(args, saturation = null) { + const [r, g, b] = args; + let value = saturation === null ? convert.rgb.hsv(args)[2] : saturation; + value = Math.round(value / 50); + if (value === 0) { + return 30; + } + let ansi = 30 + (Math.round(b / 255) << 2 | Math.round(g / 255) << 1 | Math.round(r / 255)); + if (value === 2) { + ansi += 60; + } + return ansi; + }; + convert.hsv.ansi16 = function(args) { + return convert.rgb.ansi16(convert.hsv.rgb(args), args[2]); + }; + convert.rgb.ansi256 = function(args) { + const r = args[0]; + const g = args[1]; + const b = args[2]; + if (r === g && g === b) { + if (r < 8) { + return 16; + } + if (r > 248) { + return 231; + } + return Math.round((r - 8) / 247 * 24) + 232; + } + const ansi = 16 + 36 * Math.round(r / 255 * 5) + 6 * Math.round(g / 255 * 5) + Math.round(b / 255 * 5); + return ansi; + }; + convert.ansi16.rgb = function(args) { + let color = args % 10; + if (color === 0 || color === 7) { + if (args > 50) { + color += 3.5; + } + color = color / 10.5 * 255; + return [color, color, color]; + } + const mult = (~~(args > 50) + 1) * 0.5; + const r = (color & 1) * mult * 255; + const g = (color >> 1 & 1) * mult * 255; + const b = (color >> 2 & 1) * mult * 255; + return [r, g, b]; + }; + convert.ansi256.rgb = function(args) { + if (args >= 232) { + const c = (args - 232) * 10 + 8; + return [c, c, c]; + } + args -= 16; + let rem; + const r = Math.floor(args / 36) / 5 * 255; + const g = Math.floor((rem = args % 36) / 6) / 5 * 255; + const b = rem % 6 / 5 * 255; + return [r, g, b]; + }; + convert.rgb.hex = function(args) { + const integer = ((Math.round(args[0]) & 255) << 16) + ((Math.round(args[1]) & 255) << 8) + (Math.round(args[2]) & 255); + const string = integer.toString(16).toUpperCase(); + return "000000".substring(string.length) + string; + }; + convert.hex.rgb = function(args) { + const match = args.toString(16).match(/[a-f0-9]{6}|[a-f0-9]{3}/i); + if (!match) { + return [0, 0, 0]; + } + let colorString = match[0]; + if (match[0].length === 3) { + colorString = colorString.split("").map((char) => { + return char + char; + }).join(""); + } + const integer = parseInt(colorString, 16); + const r = integer >> 16 & 255; + const g = integer >> 8 & 255; + const b = integer & 255; + return [r, g, b]; + }; + convert.rgb.hcg = function(rgb) { + const r = rgb[0] / 255; + const g = rgb[1] / 255; + const b = rgb[2] / 255; + const max = Math.max(Math.max(r, g), b); + const min = Math.min(Math.min(r, g), b); + const chroma = max - min; + let grayscale; + let hue; + if (chroma < 1) { + grayscale = min / (1 - chroma); + } else { + grayscale = 0; + } + if (chroma <= 0) { + hue = 0; + } else if (max === r) { + hue = (g - b) / chroma % 6; + } else if (max === g) { + hue = 2 + (b - r) / chroma; + } else { + hue = 4 + (r - g) / chroma; + } + hue /= 6; + hue %= 1; + return [hue * 360, chroma * 100, grayscale * 100]; + }; + convert.hsl.hcg = function(hsl) { + const s = hsl[1] / 100; + const l = hsl[2] / 100; + const c = l < 0.5 ? 2 * s * l : 2 * s * (1 - l); + let f = 0; + if (c < 1) { + f = (l - 0.5 * c) / (1 - c); + } + return [hsl[0], c * 100, f * 100]; + }; + convert.hsv.hcg = function(hsv) { + const s = hsv[1] / 100; + const v = hsv[2] / 100; + const c = s * v; + let f = 0; + if (c < 1) { + f = (v - c) / (1 - c); + } + return [hsv[0], c * 100, f * 100]; + }; + convert.hcg.rgb = function(hcg) { + const h = hcg[0] / 360; + const c = hcg[1] / 100; + const g = hcg[2] / 100; + if (c === 0) { + return [g * 255, g * 255, g * 255]; + } + const pure = [0, 0, 0]; + const hi = h % 1 * 6; + const v = hi % 1; + const w = 1 - v; + let mg = 0; + switch (Math.floor(hi)) { + case 0: + pure[0] = 1; + pure[1] = v; + pure[2] = 0; + break; + case 1: + pure[0] = w; + pure[1] = 1; + pure[2] = 0; + break; + case 2: + pure[0] = 0; + pure[1] = 1; + pure[2] = v; + break; + case 3: + pure[0] = 0; + pure[1] = w; + pure[2] = 1; + break; + case 4: + pure[0] = v; + pure[1] = 0; + pure[2] = 1; + break; + default: + pure[0] = 1; + pure[1] = 0; + pure[2] = w; + } + mg = (1 - c) * g; + return [ + (c * pure[0] + mg) * 255, + (c * pure[1] + mg) * 255, + (c * pure[2] + mg) * 255 + ]; + }; + convert.hcg.hsv = function(hcg) { + const c = hcg[1] / 100; + const g = hcg[2] / 100; + const v = c + g * (1 - c); + let f = 0; + if (v > 0) { + f = c / v; + } + return [hcg[0], f * 100, v * 100]; + }; + convert.hcg.hsl = function(hcg) { + const c = hcg[1] / 100; + const g = hcg[2] / 100; + const l = g * (1 - c) + 0.5 * c; + let s = 0; + if (l > 0 && l < 0.5) { + s = c / (2 * l); + } else if (l >= 0.5 && l < 1) { + s = c / (2 * (1 - l)); + } + return [hcg[0], s * 100, l * 100]; + }; + convert.hcg.hwb = function(hcg) { + const c = hcg[1] / 100; + const g = hcg[2] / 100; + const v = c + g * (1 - c); + return [hcg[0], (v - c) * 100, (1 - v) * 100]; + }; + convert.hwb.hcg = function(hwb) { + const w = hwb[1] / 100; + const b = hwb[2] / 100; + const v = 1 - b; + const c = v - w; + let g = 0; + if (c < 1) { + g = (v - c) / (1 - c); + } + return [hwb[0], c * 100, g * 100]; + }; + convert.apple.rgb = function(apple) { + return [apple[0] / 65535 * 255, apple[1] / 65535 * 255, apple[2] / 65535 * 255]; + }; + convert.rgb.apple = function(rgb) { + return [rgb[0] / 255 * 65535, rgb[1] / 255 * 65535, rgb[2] / 255 * 65535]; + }; + convert.gray.rgb = function(args) { + return [args[0] / 100 * 255, args[0] / 100 * 255, args[0] / 100 * 255]; + }; + convert.gray.hsl = function(args) { + return [0, 0, args[0]]; + }; + convert.gray.hsv = convert.gray.hsl; + convert.gray.hwb = function(gray) { + return [0, 100, gray[0]]; + }; + convert.gray.cmyk = function(gray) { + return [0, 0, 0, gray[0]]; + }; + convert.gray.lab = function(gray) { + return [gray[0], 0, 0]; + }; + convert.gray.hex = function(gray) { + const val = Math.round(gray[0] / 100 * 255) & 255; + const integer = (val << 16) + (val << 8) + val; + const string = integer.toString(16).toUpperCase(); + return "000000".substring(string.length) + string; + }; + convert.rgb.gray = function(rgb) { + const val = (rgb[0] + rgb[1] + rgb[2]) / 3; + return [val / 255 * 100]; + }; + } +}); +var require_route2 = __commonJS2({ + "node_modules/color-convert/route.js"(exports2, module2) { + var conversions = require_conversions(); + function buildGraph() { + const graph = {}; + const models = Object.keys(conversions); + for (let len = models.length, i = 0; i < len; i++) { + graph[models[i]] = { + // http://jsperf.com/1-vs-infinity + // micro-opt, but this is simple. + distance: -1, + parent: null + }; + } + return graph; + } + function deriveBFS(fromModel) { + const graph = buildGraph(); + const queue = [fromModel]; + graph[fromModel].distance = 0; + while (queue.length) { + const current = queue.pop(); + const adjacents = Object.keys(conversions[current]); + for (let len = adjacents.length, i = 0; i < len; i++) { + const adjacent = adjacents[i]; + const node = graph[adjacent]; + if (node.distance === -1) { + node.distance = graph[current].distance + 1; + node.parent = current; + queue.unshift(adjacent); + } + } + } + return graph; + } + function link(from, to) { + return function(args) { + return to(from(args)); + }; + } + function wrapConversion(toModel, graph) { + const path = [graph[toModel].parent, toModel]; + let fn = conversions[graph[toModel].parent][toModel]; + let cur = graph[toModel].parent; + while (graph[cur].parent) { + path.unshift(graph[cur].parent); + fn = link(conversions[graph[cur].parent][cur], fn); + cur = graph[cur].parent; + } + fn.conversion = path; + return fn; + } + module2.exports = function(fromModel) { + const graph = deriveBFS(fromModel); + const conversion = {}; + const models = Object.keys(graph); + for (let len = models.length, i = 0; i < len; i++) { + const toModel = models[i]; + const node = graph[toModel]; + if (node.parent === null) { + continue; + } + conversion[toModel] = wrapConversion(toModel, graph); + } + return conversion; + }; + } +}); +var require_color_convert = __commonJS2({ + "node_modules/color-convert/index.js"(exports2, module2) { + var conversions = require_conversions(); + var route = require_route2(); + var convert = {}; + var models = Object.keys(conversions); + function wrapRaw(fn) { + const wrappedFn = function(...args) { + const arg0 = args[0]; + if (arg0 === void 0 || arg0 === null) { + return arg0; + } + if (arg0.length > 1) { + args = arg0; + } + return fn(args); + }; + if ("conversion" in fn) { + wrappedFn.conversion = fn.conversion; + } + return wrappedFn; + } + function wrapRounded(fn) { + const wrappedFn = function(...args) { + const arg0 = args[0]; + if (arg0 === void 0 || arg0 === null) { + return arg0; + } + if (arg0.length > 1) { + args = arg0; + } + const result = fn(args); + if (typeof result === "object") { + for (let len = result.length, i = 0; i < len; i++) { + result[i] = Math.round(result[i]); + } + } + return result; + }; + if ("conversion" in fn) { + wrappedFn.conversion = fn.conversion; + } + return wrappedFn; + } + models.forEach((fromModel) => { + convert[fromModel] = {}; + Object.defineProperty(convert[fromModel], "channels", { value: conversions[fromModel].channels }); + Object.defineProperty(convert[fromModel], "labels", { value: conversions[fromModel].labels }); + const routes = route(fromModel); + const routeModels = Object.keys(routes); + routeModels.forEach((toModel) => { + const fn = routes[toModel]; + convert[fromModel][toModel] = wrapRounded(fn); + convert[fromModel][toModel].raw = wrapRaw(fn); + }); + }); + module2.exports = convert; + } +}); +var require_ansi_styles = __commonJS2({ + "node_modules/ansi-styles/index.js"(exports2, module2) { + "use strict"; + var wrapAnsi162 = (fn, offset) => (...args) => { + const code = fn(...args); + return `\x1B[${code + offset}m`; + }; + var wrapAnsi2562 = (fn, offset) => (...args) => { + const code = fn(...args); + return `\x1B[${38 + offset};5;${code}m`; + }; + var wrapAnsi16m2 = (fn, offset) => (...args) => { + const rgb = fn(...args); + return `\x1B[${38 + offset};2;${rgb[0]};${rgb[1]};${rgb[2]}m`; + }; + var ansi2ansi = (n) => n; + var rgb2rgb = (r, g, b) => [r, g, b]; + var setLazyProperty = (object, property, get) => { + Object.defineProperty(object, property, { + get: () => { + const value = get(); + Object.defineProperty(object, property, { + value, + enumerable: true, + configurable: true + }); + return value; + }, + enumerable: true, + configurable: true + }); + }; + var colorConvert; + var makeDynamicStyles = (wrap, targetSpace, identity, isBackground) => { + if (colorConvert === void 0) { + colorConvert = require_color_convert(); + } + const offset = isBackground ? 10 : 0; + const styles3 = {}; + for (const [sourceSpace, suite] of Object.entries(colorConvert)) { + const name = sourceSpace === "ansi16" ? "ansi" : sourceSpace; + if (sourceSpace === targetSpace) { + styles3[name] = wrap(identity, offset); + } else if (typeof suite === "object") { + styles3[name] = wrap(suite[targetSpace], offset); + } + } + return styles3; + }; + function assembleStyles2() { + const codes = /* @__PURE__ */ new Map(); + const styles3 = { + modifier: { + reset: [0, 0], + // 21 isn't widely supported and 22 does the same thing + bold: [1, 22], + dim: [2, 22], + italic: [3, 23], + underline: [4, 24], + inverse: [7, 27], + hidden: [8, 28], + strikethrough: [9, 29] + }, + color: { + black: [30, 39], + red: [31, 39], + green: [32, 39], + yellow: [33, 39], + blue: [34, 39], + magenta: [35, 39], + cyan: [36, 39], + white: [37, 39], + // Bright color + blackBright: [90, 39], + redBright: [91, 39], + greenBright: [92, 39], + yellowBright: [93, 39], + blueBright: [94, 39], + magentaBright: [95, 39], + cyanBright: [96, 39], + whiteBright: [97, 39] + }, + bgColor: { + bgBlack: [40, 49], + bgRed: [41, 49], + bgGreen: [42, 49], + bgYellow: [43, 49], + bgBlue: [44, 49], + bgMagenta: [45, 49], + bgCyan: [46, 49], + bgWhite: [47, 49], + // Bright color + bgBlackBright: [100, 49], + bgRedBright: [101, 49], + bgGreenBright: [102, 49], + bgYellowBright: [103, 49], + bgBlueBright: [104, 49], + bgMagentaBright: [105, 49], + bgCyanBright: [106, 49], + bgWhiteBright: [107, 49] + } + }; + styles3.color.gray = styles3.color.blackBright; + styles3.bgColor.bgGray = styles3.bgColor.bgBlackBright; + styles3.color.grey = styles3.color.blackBright; + styles3.bgColor.bgGrey = styles3.bgColor.bgBlackBright; + for (const [groupName, group] of Object.entries(styles3)) { + for (const [styleName, style] of Object.entries(group)) { + styles3[styleName] = { + open: `\x1B[${style[0]}m`, + close: `\x1B[${style[1]}m` + }; + group[styleName] = styles3[styleName]; + codes.set(style[0], style[1]); + } + Object.defineProperty(styles3, groupName, { + value: group, + enumerable: false + }); + } + Object.defineProperty(styles3, "codes", { + value: codes, + enumerable: false + }); + styles3.color.close = "\x1B[39m"; + styles3.bgColor.close = "\x1B[49m"; + setLazyProperty(styles3.color, "ansi", () => makeDynamicStyles(wrapAnsi162, "ansi16", ansi2ansi, false)); + setLazyProperty(styles3.color, "ansi256", () => makeDynamicStyles(wrapAnsi2562, "ansi256", ansi2ansi, false)); + setLazyProperty(styles3.color, "ansi16m", () => makeDynamicStyles(wrapAnsi16m2, "rgb", rgb2rgb, false)); + setLazyProperty(styles3.bgColor, "ansi", () => makeDynamicStyles(wrapAnsi162, "ansi16", ansi2ansi, true)); + setLazyProperty(styles3.bgColor, "ansi256", () => makeDynamicStyles(wrapAnsi2562, "ansi256", ansi2ansi, true)); + setLazyProperty(styles3.bgColor, "ansi16m", () => makeDynamicStyles(wrapAnsi16m2, "rgb", rgb2rgb, true)); + return styles3; + } + Object.defineProperty(module2, "exports", { + enumerable: true, + get: assembleStyles2 + }); + } +}); +var require_util2 = __commonJS2({ + "node_modules/chalk/source/util.js"(exports2, module2) { + "use strict"; + var stringReplaceAll2 = (string, substring, replacer) => { + let index = string.indexOf(substring); + if (index === -1) { + return string; + } + const substringLength = substring.length; + let endIndex = 0; + let returnValue = ""; + do { + returnValue += string.substr(endIndex, index - endIndex) + substring + replacer; + endIndex = index + substringLength; + index = string.indexOf(substring, endIndex); + } while (index !== -1); + returnValue += string.substr(endIndex); + return returnValue; + }; + var stringEncaseCRLFWithFirstIndex2 = (string, prefix, postfix, index) => { + let endIndex = 0; + let returnValue = ""; + do { + const gotCR = string[index - 1] === "\r"; + returnValue += string.substr(endIndex, (gotCR ? index - 1 : index) - endIndex) + prefix + (gotCR ? "\r\n" : "\n") + postfix; + endIndex = index + 1; + index = string.indexOf("\n", endIndex); + } while (index !== -1); + returnValue += string.substr(endIndex); + return returnValue; + }; + module2.exports = { + stringReplaceAll: stringReplaceAll2, + stringEncaseCRLFWithFirstIndex: stringEncaseCRLFWithFirstIndex2 + }; + } +}); +var require_templates = __commonJS2({ + "node_modules/chalk/source/templates.js"(exports2, module2) { + "use strict"; + var TEMPLATE_REGEX = /(?:\\(u(?:[a-f\d]{4}|\{[a-f\d]{1,6}\})|x[a-f\d]{2}|.))|(?:\{(~)?(\w+(?:\([^)]*\))?(?:\.\w+(?:\([^)]*\))?)*)(?:[ \t]|(?=\r?\n)))|(\})|((?:.|[\r\n\f])+?)/gi; + var STYLE_REGEX = /(?:^|\.)(\w+)(?:\(([^)]*)\))?/g; + var STRING_REGEX = /^(['"])((?:\\.|(?!\1)[^\\])*)\1$/; + var ESCAPE_REGEX = /\\(u(?:[a-f\d]{4}|{[a-f\d]{1,6}})|x[a-f\d]{2}|.)|([^\\])/gi; + var ESCAPES = /* @__PURE__ */ new Map([ + ["n", "\n"], + ["r", "\r"], + ["t", " "], + ["b", "\b"], + ["f", "\f"], + ["v", "\v"], + ["0", "\0"], + ["\\", "\\"], + ["e", "\x1B"], + ["a", "\x07"] + ]); + function unescape2(c) { + const u = c[0] === "u"; + const bracket = c[1] === "{"; + if (u && !bracket && c.length === 5 || c[0] === "x" && c.length === 3) { + return String.fromCharCode(parseInt(c.slice(1), 16)); + } + if (u && bracket) { + return String.fromCodePoint(parseInt(c.slice(2, -1), 16)); + } + return ESCAPES.get(c) || c; + } + function parseArguments(name, arguments_) { + const results = []; + const chunks = arguments_.trim().split(/\s*,\s*/g); + let matches; + for (const chunk of chunks) { + const number = Number(chunk); + if (!Number.isNaN(number)) { + results.push(number); + } else if (matches = chunk.match(STRING_REGEX)) { + results.push(matches[2].replace(ESCAPE_REGEX, (m, escape2, character) => escape2 ? unescape2(escape2) : character)); + } else { + throw new Error(`Invalid Chalk template style argument: ${chunk} (in style '${name}')`); + } + } + return results; + } + function parseStyle(style) { + STYLE_REGEX.lastIndex = 0; + const results = []; + let matches; + while ((matches = STYLE_REGEX.exec(style)) !== null) { + const name = matches[1]; + if (matches[2]) { + const args = parseArguments(name, matches[2]); + results.push([name].concat(args)); + } else { + results.push([name]); + } + } + return results; + } + function buildStyle(chalk2, styles3) { + const enabled = {}; + for (const layer of styles3) { + for (const style of layer.styles) { + enabled[style[0]] = layer.inverse ? null : style.slice(1); + } + } + let current = chalk2; + for (const [styleName, styles22] of Object.entries(enabled)) { + if (!Array.isArray(styles22)) { + continue; + } + if (!(styleName in current)) { + throw new Error(`Unknown Chalk style: ${styleName}`); + } + current = styles22.length > 0 ? current[styleName](...styles22) : current[styleName]; + } + return current; + } + module2.exports = (chalk2, temporary) => { + const styles3 = []; + const chunks = []; + let chunk = []; + temporary.replace(TEMPLATE_REGEX, (m, escapeCharacter, inverse, style, close, character) => { + if (escapeCharacter) { + chunk.push(unescape2(escapeCharacter)); + } else if (style) { + const string = chunk.join(""); + chunk = []; + chunks.push(styles3.length === 0 ? string : buildStyle(chalk2, styles3)(string)); + styles3.push({ inverse, styles: parseStyle(style) }); + } else if (close) { + if (styles3.length === 0) { + throw new Error("Found extraneous } in Chalk template literal"); + } + chunks.push(buildStyle(chalk2, styles3)(chunk.join(""))); + chunk = []; + styles3.pop(); + } else { + chunk.push(character); + } + }); + chunks.push(chunk.join("")); + if (styles3.length > 0) { + const errMessage = `Chalk template literal is missing ${styles3.length} closing bracket${styles3.length === 1 ? "" : "s"} (\`}\`)`; + throw new Error(errMessage); + } + return chunks.join(""); + }; + } +}); +var require_source = __commonJS2({ + "node_modules/chalk/source/index.js"(exports2, module2) { + "use strict"; + var ansiStyles2 = require_ansi_styles(); + var { stdout: stdoutColor2, stderr: stderrColor2 } = require_supports_color(); + var { + stringReplaceAll: stringReplaceAll2, + stringEncaseCRLFWithFirstIndex: stringEncaseCRLFWithFirstIndex2 + } = require_util2(); + var { isArray } = Array; + var levelMapping2 = [ + "ansi", + "ansi", + "ansi256", + "ansi16m" + ]; + var styles3 = /* @__PURE__ */ Object.create(null); + var applyOptions2 = (object, options = {}) => { + if (options.level && !(Number.isInteger(options.level) && options.level >= 0 && options.level <= 3)) { + throw new Error("The `level` option should be an integer from 0 to 3"); + } + const colorLevel = stdoutColor2 ? stdoutColor2.level : 0; + object.level = options.level === void 0 ? colorLevel : options.level; + }; + var ChalkClass = class { + constructor(options) { + return chalkFactory2(options); + } + }; + var chalkFactory2 = (options) => { + const chalk3 = {}; + applyOptions2(chalk3, options); + chalk3.template = (...arguments_) => chalkTag(chalk3.template, ...arguments_); + Object.setPrototypeOf(chalk3, Chalk.prototype); + Object.setPrototypeOf(chalk3.template, chalk3); + chalk3.template.constructor = () => { + throw new Error("`chalk.constructor()` is deprecated. Use `new chalk.Instance()` instead."); + }; + chalk3.template.Instance = ChalkClass; + return chalk3.template; + }; + function Chalk(options) { + return chalkFactory2(options); + } + for (const [styleName, style] of Object.entries(ansiStyles2)) { + styles3[styleName] = { + get() { + const builder = createBuilder2(this, createStyler2(style.open, style.close, this._styler), this._isEmpty); + Object.defineProperty(this, styleName, { value: builder }); + return builder; + } + }; + } + styles3.visible = { + get() { + const builder = createBuilder2(this, this._styler, true); + Object.defineProperty(this, "visible", { value: builder }); + return builder; + } + }; + var usedModels2 = ["rgb", "hex", "keyword", "hsl", "hsv", "hwb", "ansi", "ansi256"]; + for (const model of usedModels2) { + styles3[model] = { + get() { + const { level } = this; + return function(...arguments_) { + const styler = createStyler2(ansiStyles2.color[levelMapping2[level]][model](...arguments_), ansiStyles2.color.close, this._styler); + return createBuilder2(this, styler, this._isEmpty); + }; + } + }; + } + for (const model of usedModels2) { + const bgModel = "bg" + model[0].toUpperCase() + model.slice(1); + styles3[bgModel] = { + get() { + const { level } = this; + return function(...arguments_) { + const styler = createStyler2(ansiStyles2.bgColor[levelMapping2[level]][model](...arguments_), ansiStyles2.bgColor.close, this._styler); + return createBuilder2(this, styler, this._isEmpty); + }; + } + }; + } + var proto2 = Object.defineProperties(() => { + }, { + ...styles3, + level: { + enumerable: true, + get() { + return this._generator.level; + }, + set(level) { + this._generator.level = level; + } + } + }); + var createStyler2 = (open, close, parent) => { + let openAll; + let closeAll; + if (parent === void 0) { + openAll = open; + closeAll = close; + } else { + openAll = parent.openAll + open; + closeAll = close + parent.closeAll; + } + return { + open, + close, + openAll, + closeAll, + parent + }; + }; + var createBuilder2 = (self2, _styler, _isEmpty) => { + const builder = (...arguments_) => { + if (isArray(arguments_[0]) && isArray(arguments_[0].raw)) { + return applyStyle2(builder, chalkTag(builder, ...arguments_)); + } + return applyStyle2(builder, arguments_.length === 1 ? "" + arguments_[0] : arguments_.join(" ")); + }; + Object.setPrototypeOf(builder, proto2); + builder._generator = self2; + builder._styler = _styler; + builder._isEmpty = _isEmpty; + return builder; + }; + var applyStyle2 = (self2, string) => { + if (self2.level <= 0 || !string) { + return self2._isEmpty ? "" : string; + } + let styler = self2._styler; + if (styler === void 0) { + return string; + } + const { openAll, closeAll } = styler; + if (string.indexOf("\x1B") !== -1) { + while (styler !== void 0) { + string = stringReplaceAll2(string, styler.close, styler.open); + styler = styler.parent; + } + } + const lfIndex = string.indexOf("\n"); + if (lfIndex !== -1) { + string = stringEncaseCRLFWithFirstIndex2(string, closeAll, openAll, lfIndex); + } + return openAll + string + closeAll; + }; + var template; + var chalkTag = (chalk3, ...strings) => { + const [firstString] = strings; + if (!isArray(firstString) || !isArray(firstString.raw)) { + return strings.join(" "); + } + const arguments_ = strings.slice(1); + const parts = [firstString.raw[0]]; + for (let i = 1; i < firstString.length; i++) { + parts.push( + String(arguments_[i - 1]).replace(/[{}\\]/g, "\\$&"), + String(firstString.raw[i]) + ); + } + if (template === void 0) { + template = require_templates(); + } + return template(chalk3, parts.join("")); + }; + Object.defineProperties(Chalk.prototype, styles3); + var chalk2 = Chalk(); + chalk2.supportsColor = stdoutColor2; + chalk2.stderr = Chalk({ level: stderrColor2 ? stderrColor2.level : 0 }); + chalk2.stderr.supportsColor = stderrColor2; + module2.exports = chalk2; + } +}); +var require_object_assign = __commonJS2({ + "node_modules/object-assign/index.js"(exports2, module2) { + "use strict"; + var getOwnPropertySymbols = Object.getOwnPropertySymbols; + var hasOwnProperty = Object.prototype.hasOwnProperty; + var propIsEnumerable = Object.prototype.propertyIsEnumerable; + function toObject(val) { + if (val === null || val === void 0) { + throw new TypeError("Object.assign cannot be called with null or undefined"); + } + return Object(val); + } + function shouldUseNative() { + try { + if (!Object.assign) { + return false; + } + var test1 = new String("abc"); + test1[5] = "de"; + if (Object.getOwnPropertyNames(test1)[0] === "5") { + return false; + } + var test2 = {}; + for (var i = 0; i < 10; i++) { + test2["_" + String.fromCharCode(i)] = i; + } + var order2 = Object.getOwnPropertyNames(test2).map(function(n) { + return test2[n]; + }); + if (order2.join("") !== "0123456789") { + return false; + } + var test3 = {}; + "abcdefghijklmnopqrst".split("").forEach(function(letter) { + test3[letter] = letter; + }); + if (Object.keys(Object.assign({}, test3)).join("") !== "abcdefghijklmnopqrst") { + return false; + } + return true; + } catch (err2) { + return false; + } + } + module2.exports = shouldUseNative() ? Object.assign : function(target, source) { + var from; + var to = toObject(target); + var symbols; + for (var s = 1; s < arguments.length; s++) { + from = Object(arguments[s]); + for (var key in from) { + if (hasOwnProperty.call(from, key)) { + to[key] = from[key]; + } + } + if (getOwnPropertySymbols) { + symbols = getOwnPropertySymbols(from); + for (var i = 0; i < symbols.length; i++) { + if (propIsEnumerable.call(from, symbols[i])) { + to[symbols[i]] = from[symbols[i]]; + } + } + } + } + return to; + }; + } +}); +var require_lib4 = __commonJS2({ + "node_modules/cors/lib/index.js"(exports2, module2) { + (function() { + "use strict"; + var assign = require_object_assign(); + var vary = require_vary(); + var defaults = { + origin: "*", + methods: "GET,HEAD,PUT,PATCH,POST,DELETE", + preflightContinue: false, + optionsSuccessStatus: 204 + }; + function isString(s) { + return typeof s === "string" || s instanceof String; + } + function isOriginAllowed(origin, allowedOrigin) { + if (Array.isArray(allowedOrigin)) { + for (var i = 0; i < allowedOrigin.length; ++i) { + if (isOriginAllowed(origin, allowedOrigin[i])) { + return true; + } + } + return false; + } else if (isString(allowedOrigin)) { + return origin === allowedOrigin; + } else if (allowedOrigin instanceof RegExp) { + return allowedOrigin.test(origin); + } else { + return !!allowedOrigin; + } + } + function configureOrigin(options, req) { + var requestOrigin = req.headers.origin, headers = [], isAllowed; + if (!options.origin || options.origin === "*") { + headers.push([{ + key: "Access-Control-Allow-Origin", + value: "*" + }]); + } else if (isString(options.origin)) { + headers.push([{ + key: "Access-Control-Allow-Origin", + value: options.origin + }]); + headers.push([{ + key: "Vary", + value: "Origin" + }]); + } else { + isAllowed = isOriginAllowed(requestOrigin, options.origin); + headers.push([{ + key: "Access-Control-Allow-Origin", + value: isAllowed ? requestOrigin : false + }]); + headers.push([{ + key: "Vary", + value: "Origin" + }]); + } + return headers; + } + function configureMethods(options) { + var methods = options.methods; + if (methods.join) { + methods = options.methods.join(","); + } + return { + key: "Access-Control-Allow-Methods", + value: methods + }; + } + function configureCredentials(options) { + if (options.credentials === true) { + return { + key: "Access-Control-Allow-Credentials", + value: "true" + }; + } + return null; + } + function configureAllowedHeaders(options, req) { + var allowedHeaders = options.allowedHeaders || options.headers; + var headers = []; + if (!allowedHeaders) { + allowedHeaders = req.headers["access-control-request-headers"]; + headers.push([{ + key: "Vary", + value: "Access-Control-Request-Headers" + }]); + } else if (allowedHeaders.join) { + allowedHeaders = allowedHeaders.join(","); + } + if (allowedHeaders && allowedHeaders.length) { + headers.push([{ + key: "Access-Control-Allow-Headers", + value: allowedHeaders + }]); + } + return headers; + } + function configureExposedHeaders(options) { + var headers = options.exposedHeaders; + if (!headers) { + return null; + } else if (headers.join) { + headers = headers.join(","); + } + if (headers && headers.length) { + return { + key: "Access-Control-Expose-Headers", + value: headers + }; + } + return null; + } + function configureMaxAge(options) { + var maxAge = (typeof options.maxAge === "number" || options.maxAge) && options.maxAge.toString(); + if (maxAge && maxAge.length) { + return { + key: "Access-Control-Max-Age", + value: maxAge + }; + } + return null; + } + function applyHeaders(headers, res) { + for (var i = 0, n = headers.length; i < n; i++) { + var header = headers[i]; + if (header) { + if (Array.isArray(header)) { + applyHeaders(header, res); + } else if (header.key === "Vary" && header.value) { + vary(res, header.value); + } else if (header.value) { + res.setHeader(header.key, header.value); + } + } + } + } + function cors2(options, req, res, next) { + var headers = [], method = req.method && req.method.toUpperCase && req.method.toUpperCase(); + if (method === "OPTIONS") { + headers.push(configureOrigin(options, req)); + headers.push(configureCredentials(options, req)); + headers.push(configureMethods(options, req)); + headers.push(configureAllowedHeaders(options, req)); + headers.push(configureMaxAge(options, req)); + headers.push(configureExposedHeaders(options, req)); + applyHeaders(headers, res); + if (options.preflightContinue) { + next(); + } else { + res.statusCode = options.optionsSuccessStatus; + res.setHeader("Content-Length", "0"); + res.end(); + } + } else { + headers.push(configureOrigin(options, req)); + headers.push(configureCredentials(options, req)); + headers.push(configureExposedHeaders(options, req)); + applyHeaders(headers, res); + next(); + } + } + function middlewareWrapper(o) { + var optionsCallback = null; + if (typeof o === "function") { + optionsCallback = o; + } else { + optionsCallback = function(req, cb) { + cb(null, o); + }; + } + return function corsMiddleware(req, res, next) { + optionsCallback(req, function(err2, options) { + if (err2) { + next(err2); + } else { + var corsOptions = assign({}, defaults, options); + var originCallback = null; + if (corsOptions.origin && typeof corsOptions.origin === "function") { + originCallback = corsOptions.origin; + } else if (corsOptions.origin) { + originCallback = function(origin, cb) { + cb(null, corsOptions.origin); + }; + } + if (originCallback) { + originCallback(req.headers.origin, function(err22, origin) { + if (err22 || !origin) { + next(err22); + } else { + corsOptions.origin = origin; + cors2(corsOptions, req, res, next); + } + }); + } else { + next(); + } + } + }); + }; + } + module2.exports = middlewareWrapper; + })(); + } +}); +var util2; +(function(util22) { + util22.assertEqual = (val) => val; + function assertIs(_arg) { + } + util22.assertIs = assertIs; + function assertNever(_x) { + throw new Error(); + } + util22.assertNever = assertNever; + util22.arrayToEnum = (items) => { + const obj = {}; + for (const item of items) { + obj[item] = item; + } + return obj; + }; + util22.getValidEnumValues = (obj) => { + const validKeys = util22.objectKeys(obj).filter((k) => typeof obj[obj[k]] !== "number"); + const filtered = {}; + for (const k of validKeys) { + filtered[k] = obj[k]; + } + return util22.objectValues(filtered); + }; + util22.objectValues = (obj) => { + return util22.objectKeys(obj).map(function(e) { + return obj[e]; + }); + }; + util22.objectKeys = typeof Object.keys === "function" ? (obj) => Object.keys(obj) : (object) => { + const keys = []; + for (const key in object) { + if (Object.prototype.hasOwnProperty.call(object, key)) { + keys.push(key); + } + } + return keys; + }; + util22.find = (arr, checker) => { + for (const item of arr) { + if (checker(item)) + return item; + } + return void 0; + }; + util22.isInteger = typeof Number.isInteger === "function" ? (val) => Number.isInteger(val) : (val) => typeof val === "number" && isFinite(val) && Math.floor(val) === val; + function joinValues(array, separator = " | ") { + return array.map((val) => typeof val === "string" ? `'${val}'` : val).join(separator); + } + util22.joinValues = joinValues; + util22.jsonStringifyReplacer = (_2, value) => { + if (typeof value === "bigint") { + return value.toString(); + } + return value; + }; +})(util2 || (util2 = {})); +var objectUtil2; +(function(objectUtil22) { + objectUtil22.mergeShapes = (first, second) => { + return { + ...first, + ...second + // second overwrites first + }; + }; +})(objectUtil2 || (objectUtil2 = {})); +var ZodParsedType2 = util2.arrayToEnum([ + "string", + "nan", + "number", + "integer", + "float", + "boolean", + "date", + "bigint", + "symbol", + "function", + "undefined", + "null", + "array", + "object", + "unknown", + "promise", + "void", + "never", + "map", + "set" +]); +var getParsedType2 = (data) => { + const t = typeof data; + switch (t) { + case "undefined": + return ZodParsedType2.undefined; + case "string": + return ZodParsedType2.string; + case "number": + return isNaN(data) ? ZodParsedType2.nan : ZodParsedType2.number; + case "boolean": + return ZodParsedType2.boolean; + case "function": + return ZodParsedType2.function; + case "bigint": + return ZodParsedType2.bigint; + case "symbol": + return ZodParsedType2.symbol; + case "object": + if (Array.isArray(data)) { + return ZodParsedType2.array; + } + if (data === null) { + return ZodParsedType2.null; + } + if (data.then && typeof data.then === "function" && data.catch && typeof data.catch === "function") { + return ZodParsedType2.promise; + } + if (typeof Map !== "undefined" && data instanceof Map) { + return ZodParsedType2.map; + } + if (typeof Set !== "undefined" && data instanceof Set) { + return ZodParsedType2.set; + } + if (typeof Date !== "undefined" && data instanceof Date) { + return ZodParsedType2.date; + } + return ZodParsedType2.object; + default: + return ZodParsedType2.unknown; + } +}; +var ZodIssueCode2 = util2.arrayToEnum([ + "invalid_type", + "invalid_literal", + "custom", + "invalid_union", + "invalid_union_discriminator", + "invalid_enum_value", + "unrecognized_keys", + "invalid_arguments", + "invalid_return_type", + "invalid_date", + "invalid_string", + "too_small", + "too_big", + "invalid_intersection_types", + "not_multiple_of", + "not_finite" +]); +var quotelessJson2 = (obj) => { + const json = JSON.stringify(obj, null, 2); + return json.replace(/"([^"]+)":/g, "$1:"); +}; +var ZodError2 = class _ZodError extends Error { + get errors() { + return this.issues; + } + constructor(issues) { + super(); + this.issues = []; + this.addIssue = (sub) => { + this.issues = [...this.issues, sub]; + }; + this.addIssues = (subs = []) => { + this.issues = [...this.issues, ...subs]; + }; + const actualProto = new.target.prototype; + if (Object.setPrototypeOf) { + Object.setPrototypeOf(this, actualProto); + } else { + this.__proto__ = actualProto; + } + this.name = "ZodError"; + this.issues = issues; + } + format(_mapper) { + const mapper = _mapper || function(issue) { + return issue.message; + }; + const fieldErrors = { _errors: [] }; + const processError = (error) => { + for (const issue of error.issues) { + if (issue.code === "invalid_union") { + issue.unionErrors.map(processError); + } else if (issue.code === "invalid_return_type") { + processError(issue.returnTypeError); + } else if (issue.code === "invalid_arguments") { + processError(issue.argumentsError); + } else if (issue.path.length === 0) { + fieldErrors._errors.push(mapper(issue)); + } else { + let curr = fieldErrors; + let i = 0; + while (i < issue.path.length) { + const el = issue.path[i]; + const terminal = i === issue.path.length - 1; + if (!terminal) { + curr[el] = curr[el] || { _errors: [] }; + } else { + curr[el] = curr[el] || { _errors: [] }; + curr[el]._errors.push(mapper(issue)); + } + curr = curr[el]; + i++; + } + } + } + }; + processError(this); + return fieldErrors; + } + static assert(value) { + if (!(value instanceof _ZodError)) { + throw new Error(`Not a ZodError: ${value}`); + } + } + toString() { + return this.message; + } + get message() { + return JSON.stringify(this.issues, util2.jsonStringifyReplacer, 2); + } + get isEmpty() { + return this.issues.length === 0; + } + flatten(mapper = (issue) => issue.message) { + const fieldErrors = {}; + const formErrors = []; + for (const sub of this.issues) { + if (sub.path.length > 0) { + fieldErrors[sub.path[0]] = fieldErrors[sub.path[0]] || []; + fieldErrors[sub.path[0]].push(mapper(sub)); + } else { + formErrors.push(mapper(sub)); + } + } + return { formErrors, fieldErrors }; + } + get formErrors() { + return this.flatten(); + } +}; +ZodError2.create = (issues) => { + const error = new ZodError2(issues); + return error; +}; +var errorMap2 = (issue, _ctx) => { + let message; + switch (issue.code) { + case ZodIssueCode2.invalid_type: + if (issue.received === ZodParsedType2.undefined) { + message = "Required"; + } else { + message = `Expected ${issue.expected}, received ${issue.received}`; + } + break; + case ZodIssueCode2.invalid_literal: + message = `Invalid literal value, expected ${JSON.stringify(issue.expected, util2.jsonStringifyReplacer)}`; + break; + case ZodIssueCode2.unrecognized_keys: + message = `Unrecognized key(s) in object: ${util2.joinValues(issue.keys, ", ")}`; + break; + case ZodIssueCode2.invalid_union: + message = `Invalid input`; + break; + case ZodIssueCode2.invalid_union_discriminator: + message = `Invalid discriminator value. Expected ${util2.joinValues(issue.options)}`; + break; + case ZodIssueCode2.invalid_enum_value: + message = `Invalid enum value. Expected ${util2.joinValues(issue.options)}, received '${issue.received}'`; + break; + case ZodIssueCode2.invalid_arguments: + message = `Invalid function arguments`; + break; + case ZodIssueCode2.invalid_return_type: + message = `Invalid function return type`; + break; + case ZodIssueCode2.invalid_date: + message = `Invalid date`; + break; + case ZodIssueCode2.invalid_string: + if (typeof issue.validation === "object") { + if ("includes" in issue.validation) { + message = `Invalid input: must include "${issue.validation.includes}"`; + if (typeof issue.validation.position === "number") { + message = `${message} at one or more positions greater than or equal to ${issue.validation.position}`; + } + } else if ("startsWith" in issue.validation) { + message = `Invalid input: must start with "${issue.validation.startsWith}"`; + } else if ("endsWith" in issue.validation) { + message = `Invalid input: must end with "${issue.validation.endsWith}"`; + } else { + util2.assertNever(issue.validation); + } + } else if (issue.validation !== "regex") { + message = `Invalid ${issue.validation}`; + } else { + message = "Invalid"; + } + break; + case ZodIssueCode2.too_small: + if (issue.type === "array") + message = `Array must contain ${issue.exact ? "exactly" : issue.inclusive ? `at least` : `more than`} ${issue.minimum} element(s)`; + else if (issue.type === "string") + message = `String must contain ${issue.exact ? "exactly" : issue.inclusive ? `at least` : `over`} ${issue.minimum} character(s)`; + else if (issue.type === "number") + message = `Number must be ${issue.exact ? `exactly equal to ` : issue.inclusive ? `greater than or equal to ` : `greater than `}${issue.minimum}`; + else if (issue.type === "date") + message = `Date must be ${issue.exact ? `exactly equal to ` : issue.inclusive ? `greater than or equal to ` : `greater than `}${new Date(Number(issue.minimum))}`; + else + message = "Invalid input"; + break; + case ZodIssueCode2.too_big: + if (issue.type === "array") + message = `Array must contain ${issue.exact ? `exactly` : issue.inclusive ? `at most` : `less than`} ${issue.maximum} element(s)`; + else if (issue.type === "string") + message = `String must contain ${issue.exact ? `exactly` : issue.inclusive ? `at most` : `under`} ${issue.maximum} character(s)`; + else if (issue.type === "number") + message = `Number must be ${issue.exact ? `exactly` : issue.inclusive ? `less than or equal to` : `less than`} ${issue.maximum}`; + else if (issue.type === "bigint") + message = `BigInt must be ${issue.exact ? `exactly` : issue.inclusive ? `less than or equal to` : `less than`} ${issue.maximum}`; + else if (issue.type === "date") + message = `Date must be ${issue.exact ? `exactly` : issue.inclusive ? `smaller than or equal to` : `smaller than`} ${new Date(Number(issue.maximum))}`; + else + message = "Invalid input"; + break; + case ZodIssueCode2.custom: + message = `Invalid input`; + break; + case ZodIssueCode2.invalid_intersection_types: + message = `Intersection results could not be merged`; + break; + case ZodIssueCode2.not_multiple_of: + message = `Number must be a multiple of ${issue.multipleOf}`; + break; + case ZodIssueCode2.not_finite: + message = "Number must be finite"; + break; + default: + message = _ctx.defaultError; + util2.assertNever(issue); + } + return { message }; +}; +var overrideErrorMap2 = errorMap2; +function setErrorMap2(map) { + overrideErrorMap2 = map; +} +function getErrorMap2() { + return overrideErrorMap2; +} +var makeIssue2 = (params) => { + const { data, path, errorMaps, issueData } = params; + const fullPath = [...path, ...issueData.path || []]; + const fullIssue = { + ...issueData, + path: fullPath + }; + if (issueData.message !== void 0) { + return { + ...issueData, + path: fullPath, + message: issueData.message + }; + } + let errorMessage = ""; + const maps = errorMaps.filter((m) => !!m).slice().reverse(); + for (const map of maps) { + errorMessage = map(fullIssue, { data, defaultError: errorMessage }).message; + } + return { + ...issueData, + path: fullPath, + message: errorMessage + }; +}; +var EMPTY_PATH2 = []; +function addIssueToContext2(ctx, issueData) { + const overrideMap = getErrorMap2(); + const issue = makeIssue2({ + issueData, + data: ctx.data, + path: ctx.path, + errorMaps: [ + ctx.common.contextualErrorMap, + // contextual error map is first priority + ctx.schemaErrorMap, + // then schema-bound map if available + overrideMap, + // then global override map + overrideMap === errorMap2 ? void 0 : errorMap2 + // then global default map + ].filter((x) => !!x) + }); + ctx.common.issues.push(issue); +} +var ParseStatus2 = class _ParseStatus { + constructor() { + this.value = "valid"; + } + dirty() { + if (this.value === "valid") + this.value = "dirty"; + } + abort() { + if (this.value !== "aborted") + this.value = "aborted"; + } + static mergeArray(status, results) { + const arrayValue = []; + for (const s of results) { + if (s.status === "aborted") + return INVALID2; + if (s.status === "dirty") + status.dirty(); + arrayValue.push(s.value); + } + return { status: status.value, value: arrayValue }; + } + static async mergeObjectAsync(status, pairs) { + const syncPairs = []; + for (const pair of pairs) { + const key = await pair.key; + const value = await pair.value; + syncPairs.push({ + key, + value + }); + } + return _ParseStatus.mergeObjectSync(status, syncPairs); + } + static mergeObjectSync(status, pairs) { + const finalObject = {}; + for (const pair of pairs) { + const { key, value } = pair; + if (key.status === "aborted") + return INVALID2; + if (value.status === "aborted") + return INVALID2; + if (key.status === "dirty") + status.dirty(); + if (value.status === "dirty") + status.dirty(); + if (key.value !== "__proto__" && (typeof value.value !== "undefined" || pair.alwaysSet)) { + finalObject[key.value] = value.value; + } + } + return { status: status.value, value: finalObject }; + } +}; +var INVALID2 = Object.freeze({ + status: "aborted" +}); +var DIRTY2 = (value) => ({ status: "dirty", value }); +var OK2 = (value) => ({ status: "valid", value }); +var isAborted2 = (x) => x.status === "aborted"; +var isDirty2 = (x) => x.status === "dirty"; +var isValid2 = (x) => x.status === "valid"; +var isAsync2 = (x) => typeof Promise !== "undefined" && x instanceof Promise; +function __classPrivateFieldGet(receiver, state, kind, f) { + if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter"); + if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it"); + return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver); +} +function __classPrivateFieldSet(receiver, state, value, kind, f) { + if (kind === "m") throw new TypeError("Private method is not writable"); + if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter"); + if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it"); + return kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value), value; +} +var errorUtil2; +(function(errorUtil22) { + errorUtil22.errToObj = (message) => typeof message === "string" ? { message } : message || {}; + errorUtil22.toString = (message) => typeof message === "string" ? message : message === null || message === void 0 ? void 0 : message.message; +})(errorUtil2 || (errorUtil2 = {})); +var _ZodEnum_cache; +var _ZodNativeEnum_cache; +var ParseInputLazyPath2 = class { + constructor(parent, value, path, key) { + this._cachedPath = []; + this.parent = parent; + this.data = value; + this._path = path; + this._key = key; + } + get path() { + if (!this._cachedPath.length) { + if (this._key instanceof Array) { + this._cachedPath.push(...this._path, ...this._key); + } else { + this._cachedPath.push(...this._path, this._key); + } + } + return this._cachedPath; + } +}; +var handleResult2 = (ctx, result) => { + if (isValid2(result)) { + return { success: true, data: result.value }; + } else { + if (!ctx.common.issues.length) { + throw new Error("Validation failed but no issues detected."); + } + return { + success: false, + get error() { + if (this._error) + return this._error; + const error = new ZodError2(ctx.common.issues); + this._error = error; + return this._error; + } + }; + } +}; +function processCreateParams2(params) { + if (!params) + return {}; + const { errorMap: errorMap22, invalid_type_error, required_error, description } = params; + if (errorMap22 && (invalid_type_error || required_error)) { + throw new Error(`Can't use "invalid_type_error" or "required_error" in conjunction with custom error map.`); + } + if (errorMap22) + return { errorMap: errorMap22, description }; + const customMap = (iss, ctx) => { + var _a, _b; + const { message } = params; + if (iss.code === "invalid_enum_value") { + return { message: message !== null && message !== void 0 ? message : ctx.defaultError }; + } + if (typeof ctx.data === "undefined") { + return { message: (_a = message !== null && message !== void 0 ? message : required_error) !== null && _a !== void 0 ? _a : ctx.defaultError }; + } + if (iss.code !== "invalid_type") + return { message: ctx.defaultError }; + return { message: (_b = message !== null && message !== void 0 ? message : invalid_type_error) !== null && _b !== void 0 ? _b : ctx.defaultError }; + }; + return { errorMap: customMap, description }; +} +var ZodType2 = class { + get description() { + return this._def.description; + } + _getType(input) { + return getParsedType2(input.data); + } + _getOrReturnCtx(input, ctx) { + return ctx || { + common: input.parent.common, + data: input.data, + parsedType: getParsedType2(input.data), + schemaErrorMap: this._def.errorMap, + path: input.path, + parent: input.parent + }; + } + _processInputParams(input) { + return { + status: new ParseStatus2(), + ctx: { + common: input.parent.common, + data: input.data, + parsedType: getParsedType2(input.data), + schemaErrorMap: this._def.errorMap, + path: input.path, + parent: input.parent + } + }; + } + _parseSync(input) { + const result = this._parse(input); + if (isAsync2(result)) { + throw new Error("Synchronous parse encountered promise."); + } + return result; + } + _parseAsync(input) { + const result = this._parse(input); + return Promise.resolve(result); + } + parse(data, params) { + const result = this.safeParse(data, params); + if (result.success) + return result.data; + throw result.error; + } + safeParse(data, params) { + var _a; + const ctx = { + common: { + issues: [], + async: (_a = params === null || params === void 0 ? void 0 : params.async) !== null && _a !== void 0 ? _a : false, + contextualErrorMap: params === null || params === void 0 ? void 0 : params.errorMap + }, + path: (params === null || params === void 0 ? void 0 : params.path) || [], + schemaErrorMap: this._def.errorMap, + parent: null, + data, + parsedType: getParsedType2(data) + }; + const result = this._parseSync({ data, path: ctx.path, parent: ctx }); + return handleResult2(ctx, result); + } + "~validate"(data) { + var _a, _b; + const ctx = { + common: { + issues: [], + async: !!this["~standard"].async + }, + path: [], + schemaErrorMap: this._def.errorMap, + parent: null, + data, + parsedType: getParsedType2(data) + }; + if (!this["~standard"].async) { + try { + const result = this._parseSync({ data, path: [], parent: ctx }); + return isValid2(result) ? { + value: result.value + } : { + issues: ctx.common.issues + }; + } catch (err2) { + if ((_b = (_a = err2 === null || err2 === void 0 ? void 0 : err2.message) === null || _a === void 0 ? void 0 : _a.toLowerCase()) === null || _b === void 0 ? void 0 : _b.includes("encountered")) { + this["~standard"].async = true; + } + ctx.common = { + issues: [], + async: true + }; + } + } + return this._parseAsync({ data, path: [], parent: ctx }).then((result) => isValid2(result) ? { + value: result.value + } : { + issues: ctx.common.issues + }); + } + async parseAsync(data, params) { + const result = await this.safeParseAsync(data, params); + if (result.success) + return result.data; + throw result.error; + } + async safeParseAsync(data, params) { + const ctx = { + common: { + issues: [], + contextualErrorMap: params === null || params === void 0 ? void 0 : params.errorMap, + async: true + }, + path: (params === null || params === void 0 ? void 0 : params.path) || [], + schemaErrorMap: this._def.errorMap, + parent: null, + data, + parsedType: getParsedType2(data) + }; + const maybeAsyncResult = this._parse({ data, path: ctx.path, parent: ctx }); + const result = await (isAsync2(maybeAsyncResult) ? maybeAsyncResult : Promise.resolve(maybeAsyncResult)); + return handleResult2(ctx, result); + } + refine(check, message) { + const getIssueProperties = (val) => { + if (typeof message === "string" || typeof message === "undefined") { + return { message }; + } else if (typeof message === "function") { + return message(val); + } else { + return message; + } + }; + return this._refinement((val, ctx) => { + const result = check(val); + const setError = () => ctx.addIssue({ + code: ZodIssueCode2.custom, + ...getIssueProperties(val) + }); + if (typeof Promise !== "undefined" && result instanceof Promise) { + return result.then((data) => { + if (!data) { + setError(); + return false; + } else { + return true; + } + }); + } + if (!result) { + setError(); + return false; + } else { + return true; + } + }); + } + refinement(check, refinementData) { + return this._refinement((val, ctx) => { + if (!check(val)) { + ctx.addIssue(typeof refinementData === "function" ? refinementData(val, ctx) : refinementData); + return false; + } else { + return true; + } + }); + } + _refinement(refinement) { + return new ZodEffects2({ + schema: this, + typeName: ZodFirstPartyTypeKind2.ZodEffects, + effect: { type: "refinement", refinement } + }); + } + superRefine(refinement) { + return this._refinement(refinement); + } + constructor(def) { + this.spa = this.safeParseAsync; + this._def = def; + this.parse = this.parse.bind(this); + this.safeParse = this.safeParse.bind(this); + this.parseAsync = this.parseAsync.bind(this); + this.safeParseAsync = this.safeParseAsync.bind(this); + this.spa = this.spa.bind(this); + this.refine = this.refine.bind(this); + this.refinement = this.refinement.bind(this); + this.superRefine = this.superRefine.bind(this); + this.optional = this.optional.bind(this); + this.nullable = this.nullable.bind(this); + this.nullish = this.nullish.bind(this); + this.array = this.array.bind(this); + this.promise = this.promise.bind(this); + this.or = this.or.bind(this); + this.and = this.and.bind(this); + this.transform = this.transform.bind(this); + this.brand = this.brand.bind(this); + this.default = this.default.bind(this); + this.catch = this.catch.bind(this); + this.describe = this.describe.bind(this); + this.pipe = this.pipe.bind(this); + this.readonly = this.readonly.bind(this); + this.isNullable = this.isNullable.bind(this); + this.isOptional = this.isOptional.bind(this); + this["~standard"] = { + version: 1, + vendor: "zod", + validate: (data) => this["~validate"](data) + }; + } + optional() { + return ZodOptional2.create(this, this._def); + } + nullable() { + return ZodNullable2.create(this, this._def); + } + nullish() { + return this.nullable().optional(); + } + array() { + return ZodArray2.create(this); + } + promise() { + return ZodPromise2.create(this, this._def); + } + or(option) { + return ZodUnion2.create([this, option], this._def); + } + and(incoming) { + return ZodIntersection2.create(this, incoming, this._def); + } + transform(transform) { + return new ZodEffects2({ + ...processCreateParams2(this._def), + schema: this, + typeName: ZodFirstPartyTypeKind2.ZodEffects, + effect: { type: "transform", transform } + }); + } + default(def) { + const defaultValueFunc = typeof def === "function" ? def : () => def; + return new ZodDefault2({ + ...processCreateParams2(this._def), + innerType: this, + defaultValue: defaultValueFunc, + typeName: ZodFirstPartyTypeKind2.ZodDefault + }); + } + brand() { + return new ZodBranded2({ + typeName: ZodFirstPartyTypeKind2.ZodBranded, + type: this, + ...processCreateParams2(this._def) + }); + } + catch(def) { + const catchValueFunc = typeof def === "function" ? def : () => def; + return new ZodCatch2({ + ...processCreateParams2(this._def), + innerType: this, + catchValue: catchValueFunc, + typeName: ZodFirstPartyTypeKind2.ZodCatch + }); + } + describe(description) { + const This = this.constructor; + return new This({ + ...this._def, + description + }); + } + pipe(target) { + return ZodPipeline2.create(this, target); + } + readonly() { + return ZodReadonly2.create(this); + } + isOptional() { + return this.safeParse(void 0).success; + } + isNullable() { + return this.safeParse(null).success; + } +}; +var cuidRegex2 = /^c[^\s-]{8,}$/i; +var cuid2Regex2 = /^[0-9a-z]+$/; +var ulidRegex2 = /^[0-9A-HJKMNP-TV-Z]{26}$/i; +var uuidRegex2 = /^[0-9a-fA-F]{8}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{12}$/i; +var nanoidRegex2 = /^[a-z0-9_-]{21}$/i; +var jwtRegex2 = /^[A-Za-z0-9-_]+\.[A-Za-z0-9-_]+\.[A-Za-z0-9-_]*$/; +var durationRegex2 = /^[-+]?P(?!$)(?:(?:[-+]?\d+Y)|(?:[-+]?\d+[.,]\d+Y$))?(?:(?:[-+]?\d+M)|(?:[-+]?\d+[.,]\d+M$))?(?:(?:[-+]?\d+W)|(?:[-+]?\d+[.,]\d+W$))?(?:(?:[-+]?\d+D)|(?:[-+]?\d+[.,]\d+D$))?(?:T(?=[\d+-])(?:(?:[-+]?\d+H)|(?:[-+]?\d+[.,]\d+H$))?(?:(?:[-+]?\d+M)|(?:[-+]?\d+[.,]\d+M$))?(?:[-+]?\d+(?:[.,]\d+)?S)?)??$/; +var emailRegex2 = /^(?!\.)(?!.*\.\.)([A-Z0-9_'+\-\.]*)[A-Z0-9_+-]@([A-Z0-9][A-Z0-9\-]*\.)+[A-Z]{2,}$/i; +var _emojiRegex2 = `^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$`; +var emojiRegex3; +var ipv4Regex2 = /^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])$/; +var ipv4CidrRegex2 = /^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\/(3[0-2]|[12]?[0-9])$/; +var ipv6Regex2 = /^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))$/; +var ipv6CidrRegex2 = /^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))\/(12[0-8]|1[01][0-9]|[1-9]?[0-9])$/; +var base64Regex2 = /^([0-9a-zA-Z+/]{4})*(([0-9a-zA-Z+/]{2}==)|([0-9a-zA-Z+/]{3}=))?$/; +var base64urlRegex2 = /^([0-9a-zA-Z-_]{4})*(([0-9a-zA-Z-_]{2}(==)?)|([0-9a-zA-Z-_]{3}(=)?))?$/; +var dateRegexSource2 = `((\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-((0[13578]|1[02])-(0[1-9]|[12]\\d|3[01])|(0[469]|11)-(0[1-9]|[12]\\d|30)|(02)-(0[1-9]|1\\d|2[0-8])))`; +var dateRegex2 = new RegExp(`^${dateRegexSource2}$`); +function timeRegexSource2(args) { + let regex = `([01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d`; + if (args.precision) { + regex = `${regex}\\.\\d{${args.precision}}`; + } else if (args.precision == null) { + regex = `${regex}(\\.\\d+)?`; + } + return regex; +} +function timeRegex2(args) { + return new RegExp(`^${timeRegexSource2(args)}$`); +} +function datetimeRegex2(args) { + let regex = `${dateRegexSource2}T${timeRegexSource2(args)}`; + const opts = []; + opts.push(args.local ? `Z?` : `Z`); + if (args.offset) + opts.push(`([+-]\\d{2}:?\\d{2})`); + regex = `${regex}(${opts.join("|")})`; + return new RegExp(`^${regex}$`); +} +function isValidIP2(ip, version) { + if ((version === "v4" || !version) && ipv4Regex2.test(ip)) { + return true; + } + if ((version === "v6" || !version) && ipv6Regex2.test(ip)) { + return true; + } + return false; +} +function isValidJWT2(jwt, alg) { + if (!jwtRegex2.test(jwt)) + return false; + try { + const [header] = jwt.split("."); + const base64 = header.replace(/-/g, "+").replace(/_/g, "/").padEnd(header.length + (4 - header.length % 4) % 4, "="); + const decoded = JSON.parse(atob(base64)); + if (typeof decoded !== "object" || decoded === null) + return false; + if (!decoded.typ || !decoded.alg) + return false; + if (alg && decoded.alg !== alg) + return false; + return true; + } catch (_a) { + return false; + } +} +function isValidCidr2(ip, version) { + if ((version === "v4" || !version) && ipv4CidrRegex2.test(ip)) { + return true; + } + if ((version === "v6" || !version) && ipv6CidrRegex2.test(ip)) { + return true; + } + return false; +} +var ZodString2 = class _ZodString extends ZodType2 { + _parse(input) { + if (this._def.coerce) { + input.data = String(input.data); + } + const parsedType = this._getType(input); + if (parsedType !== ZodParsedType2.string) { + const ctx2 = this._getOrReturnCtx(input); + addIssueToContext2(ctx2, { + code: ZodIssueCode2.invalid_type, + expected: ZodParsedType2.string, + received: ctx2.parsedType + }); + return INVALID2; + } + const status = new ParseStatus2(); + let ctx = void 0; + for (const check of this._def.checks) { + if (check.kind === "min") { + if (input.data.length < check.value) { + ctx = this._getOrReturnCtx(input, ctx); + addIssueToContext2(ctx, { + code: ZodIssueCode2.too_small, + minimum: check.value, + type: "string", + inclusive: true, + exact: false, + message: check.message + }); + status.dirty(); + } + } else if (check.kind === "max") { + if (input.data.length > check.value) { + ctx = this._getOrReturnCtx(input, ctx); + addIssueToContext2(ctx, { + code: ZodIssueCode2.too_big, + maximum: check.value, + type: "string", + inclusive: true, + exact: false, + message: check.message + }); + status.dirty(); + } + } else if (check.kind === "length") { + const tooBig = input.data.length > check.value; + const tooSmall = input.data.length < check.value; + if (tooBig || tooSmall) { + ctx = this._getOrReturnCtx(input, ctx); + if (tooBig) { + addIssueToContext2(ctx, { + code: ZodIssueCode2.too_big, + maximum: check.value, + type: "string", + inclusive: true, + exact: true, + message: check.message + }); + } else if (tooSmall) { + addIssueToContext2(ctx, { + code: ZodIssueCode2.too_small, + minimum: check.value, + type: "string", + inclusive: true, + exact: true, + message: check.message + }); + } + status.dirty(); + } + } else if (check.kind === "email") { + if (!emailRegex2.test(input.data)) { + ctx = this._getOrReturnCtx(input, ctx); + addIssueToContext2(ctx, { + validation: "email", + code: ZodIssueCode2.invalid_string, + message: check.message + }); + status.dirty(); + } + } else if (check.kind === "emoji") { + if (!emojiRegex3) { + emojiRegex3 = new RegExp(_emojiRegex2, "u"); + } + if (!emojiRegex3.test(input.data)) { + ctx = this._getOrReturnCtx(input, ctx); + addIssueToContext2(ctx, { + validation: "emoji", + code: ZodIssueCode2.invalid_string, + message: check.message + }); + status.dirty(); + } + } else if (check.kind === "uuid") { + if (!uuidRegex2.test(input.data)) { + ctx = this._getOrReturnCtx(input, ctx); + addIssueToContext2(ctx, { + validation: "uuid", + code: ZodIssueCode2.invalid_string, + message: check.message + }); + status.dirty(); + } + } else if (check.kind === "nanoid") { + if (!nanoidRegex2.test(input.data)) { + ctx = this._getOrReturnCtx(input, ctx); + addIssueToContext2(ctx, { + validation: "nanoid", + code: ZodIssueCode2.invalid_string, + message: check.message + }); + status.dirty(); + } + } else if (check.kind === "cuid") { + if (!cuidRegex2.test(input.data)) { + ctx = this._getOrReturnCtx(input, ctx); + addIssueToContext2(ctx, { + validation: "cuid", + code: ZodIssueCode2.invalid_string, + message: check.message + }); + status.dirty(); + } + } else if (check.kind === "cuid2") { + if (!cuid2Regex2.test(input.data)) { + ctx = this._getOrReturnCtx(input, ctx); + addIssueToContext2(ctx, { + validation: "cuid2", + code: ZodIssueCode2.invalid_string, + message: check.message + }); + status.dirty(); + } + } else if (check.kind === "ulid") { + if (!ulidRegex2.test(input.data)) { + ctx = this._getOrReturnCtx(input, ctx); + addIssueToContext2(ctx, { + validation: "ulid", + code: ZodIssueCode2.invalid_string, + message: check.message + }); + status.dirty(); + } + } else if (check.kind === "url") { + try { + new URL(input.data); + } catch (_a) { + ctx = this._getOrReturnCtx(input, ctx); + addIssueToContext2(ctx, { + validation: "url", + code: ZodIssueCode2.invalid_string, + message: check.message + }); + status.dirty(); + } + } else if (check.kind === "regex") { + check.regex.lastIndex = 0; + const testResult = check.regex.test(input.data); + if (!testResult) { + ctx = this._getOrReturnCtx(input, ctx); + addIssueToContext2(ctx, { + validation: "regex", + code: ZodIssueCode2.invalid_string, + message: check.message + }); + status.dirty(); + } + } else if (check.kind === "trim") { + input.data = input.data.trim(); + } else if (check.kind === "includes") { + if (!input.data.includes(check.value, check.position)) { + ctx = this._getOrReturnCtx(input, ctx); + addIssueToContext2(ctx, { + code: ZodIssueCode2.invalid_string, + validation: { includes: check.value, position: check.position }, + message: check.message + }); + status.dirty(); + } + } else if (check.kind === "toLowerCase") { + input.data = input.data.toLowerCase(); + } else if (check.kind === "toUpperCase") { + input.data = input.data.toUpperCase(); + } else if (check.kind === "startsWith") { + if (!input.data.startsWith(check.value)) { + ctx = this._getOrReturnCtx(input, ctx); + addIssueToContext2(ctx, { + code: ZodIssueCode2.invalid_string, + validation: { startsWith: check.value }, + message: check.message + }); + status.dirty(); + } + } else if (check.kind === "endsWith") { + if (!input.data.endsWith(check.value)) { + ctx = this._getOrReturnCtx(input, ctx); + addIssueToContext2(ctx, { + code: ZodIssueCode2.invalid_string, + validation: { endsWith: check.value }, + message: check.message + }); + status.dirty(); + } + } else if (check.kind === "datetime") { + const regex = datetimeRegex2(check); + if (!regex.test(input.data)) { + ctx = this._getOrReturnCtx(input, ctx); + addIssueToContext2(ctx, { + code: ZodIssueCode2.invalid_string, + validation: "datetime", + message: check.message + }); + status.dirty(); + } + } else if (check.kind === "date") { + const regex = dateRegex2; + if (!regex.test(input.data)) { + ctx = this._getOrReturnCtx(input, ctx); + addIssueToContext2(ctx, { + code: ZodIssueCode2.invalid_string, + validation: "date", + message: check.message + }); + status.dirty(); + } + } else if (check.kind === "time") { + const regex = timeRegex2(check); + if (!regex.test(input.data)) { + ctx = this._getOrReturnCtx(input, ctx); + addIssueToContext2(ctx, { + code: ZodIssueCode2.invalid_string, + validation: "time", + message: check.message + }); + status.dirty(); + } + } else if (check.kind === "duration") { + if (!durationRegex2.test(input.data)) { + ctx = this._getOrReturnCtx(input, ctx); + addIssueToContext2(ctx, { + validation: "duration", + code: ZodIssueCode2.invalid_string, + message: check.message + }); + status.dirty(); + } + } else if (check.kind === "ip") { + if (!isValidIP2(input.data, check.version)) { + ctx = this._getOrReturnCtx(input, ctx); + addIssueToContext2(ctx, { + validation: "ip", + code: ZodIssueCode2.invalid_string, + message: check.message + }); + status.dirty(); + } + } else if (check.kind === "jwt") { + if (!isValidJWT2(input.data, check.alg)) { + ctx = this._getOrReturnCtx(input, ctx); + addIssueToContext2(ctx, { + validation: "jwt", + code: ZodIssueCode2.invalid_string, + message: check.message + }); + status.dirty(); + } + } else if (check.kind === "cidr") { + if (!isValidCidr2(input.data, check.version)) { + ctx = this._getOrReturnCtx(input, ctx); + addIssueToContext2(ctx, { + validation: "cidr", + code: ZodIssueCode2.invalid_string, + message: check.message + }); + status.dirty(); + } + } else if (check.kind === "base64") { + if (!base64Regex2.test(input.data)) { + ctx = this._getOrReturnCtx(input, ctx); + addIssueToContext2(ctx, { + validation: "base64", + code: ZodIssueCode2.invalid_string, + message: check.message + }); + status.dirty(); + } + } else if (check.kind === "base64url") { + if (!base64urlRegex2.test(input.data)) { + ctx = this._getOrReturnCtx(input, ctx); + addIssueToContext2(ctx, { + validation: "base64url", + code: ZodIssueCode2.invalid_string, + message: check.message + }); + status.dirty(); + } + } else { + util2.assertNever(check); + } + } + return { status: status.value, value: input.data }; + } + _regex(regex, validation, message) { + return this.refinement((data) => regex.test(data), { + validation, + code: ZodIssueCode2.invalid_string, + ...errorUtil2.errToObj(message) + }); + } + _addCheck(check) { + return new _ZodString({ + ...this._def, + checks: [...this._def.checks, check] + }); + } + email(message) { + return this._addCheck({ kind: "email", ...errorUtil2.errToObj(message) }); + } + url(message) { + return this._addCheck({ kind: "url", ...errorUtil2.errToObj(message) }); + } + emoji(message) { + return this._addCheck({ kind: "emoji", ...errorUtil2.errToObj(message) }); + } + uuid(message) { + return this._addCheck({ kind: "uuid", ...errorUtil2.errToObj(message) }); + } + nanoid(message) { + return this._addCheck({ kind: "nanoid", ...errorUtil2.errToObj(message) }); + } + cuid(message) { + return this._addCheck({ kind: "cuid", ...errorUtil2.errToObj(message) }); + } + cuid2(message) { + return this._addCheck({ kind: "cuid2", ...errorUtil2.errToObj(message) }); + } + ulid(message) { + return this._addCheck({ kind: "ulid", ...errorUtil2.errToObj(message) }); + } + base64(message) { + return this._addCheck({ kind: "base64", ...errorUtil2.errToObj(message) }); + } + base64url(message) { + return this._addCheck({ + kind: "base64url", + ...errorUtil2.errToObj(message) + }); + } + jwt(options) { + return this._addCheck({ kind: "jwt", ...errorUtil2.errToObj(options) }); + } + ip(options) { + return this._addCheck({ kind: "ip", ...errorUtil2.errToObj(options) }); + } + cidr(options) { + return this._addCheck({ kind: "cidr", ...errorUtil2.errToObj(options) }); + } + datetime(options) { + var _a, _b; + if (typeof options === "string") { + return this._addCheck({ + kind: "datetime", + precision: null, + offset: false, + local: false, + message: options + }); + } + return this._addCheck({ + kind: "datetime", + precision: typeof (options === null || options === void 0 ? void 0 : options.precision) === "undefined" ? null : options === null || options === void 0 ? void 0 : options.precision, + offset: (_a = options === null || options === void 0 ? void 0 : options.offset) !== null && _a !== void 0 ? _a : false, + local: (_b = options === null || options === void 0 ? void 0 : options.local) !== null && _b !== void 0 ? _b : false, + ...errorUtil2.errToObj(options === null || options === void 0 ? void 0 : options.message) + }); + } + date(message) { + return this._addCheck({ kind: "date", message }); + } + time(options) { + if (typeof options === "string") { + return this._addCheck({ + kind: "time", + precision: null, + message: options + }); + } + return this._addCheck({ + kind: "time", + precision: typeof (options === null || options === void 0 ? void 0 : options.precision) === "undefined" ? null : options === null || options === void 0 ? void 0 : options.precision, + ...errorUtil2.errToObj(options === null || options === void 0 ? void 0 : options.message) + }); + } + duration(message) { + return this._addCheck({ kind: "duration", ...errorUtil2.errToObj(message) }); + } + regex(regex, message) { + return this._addCheck({ + kind: "regex", + regex, + ...errorUtil2.errToObj(message) + }); + } + includes(value, options) { + return this._addCheck({ + kind: "includes", + value, + position: options === null || options === void 0 ? void 0 : options.position, + ...errorUtil2.errToObj(options === null || options === void 0 ? void 0 : options.message) + }); + } + startsWith(value, message) { + return this._addCheck({ + kind: "startsWith", + value, + ...errorUtil2.errToObj(message) + }); + } + endsWith(value, message) { + return this._addCheck({ + kind: "endsWith", + value, + ...errorUtil2.errToObj(message) + }); + } + min(minLength, message) { + return this._addCheck({ + kind: "min", + value: minLength, + ...errorUtil2.errToObj(message) + }); + } + max(maxLength, message) { + return this._addCheck({ + kind: "max", + value: maxLength, + ...errorUtil2.errToObj(message) + }); + } + length(len, message) { + return this._addCheck({ + kind: "length", + value: len, + ...errorUtil2.errToObj(message) + }); + } + /** + * Equivalent to `.min(1)` + */ + nonempty(message) { + return this.min(1, errorUtil2.errToObj(message)); + } + trim() { + return new _ZodString({ + ...this._def, + checks: [...this._def.checks, { kind: "trim" }] + }); + } + toLowerCase() { + return new _ZodString({ + ...this._def, + checks: [...this._def.checks, { kind: "toLowerCase" }] + }); + } + toUpperCase() { + return new _ZodString({ + ...this._def, + checks: [...this._def.checks, { kind: "toUpperCase" }] + }); + } + get isDatetime() { + return !!this._def.checks.find((ch) => ch.kind === "datetime"); + } + get isDate() { + return !!this._def.checks.find((ch) => ch.kind === "date"); + } + get isTime() { + return !!this._def.checks.find((ch) => ch.kind === "time"); + } + get isDuration() { + return !!this._def.checks.find((ch) => ch.kind === "duration"); + } + get isEmail() { + return !!this._def.checks.find((ch) => ch.kind === "email"); + } + get isURL() { + return !!this._def.checks.find((ch) => ch.kind === "url"); + } + get isEmoji() { + return !!this._def.checks.find((ch) => ch.kind === "emoji"); + } + get isUUID() { + return !!this._def.checks.find((ch) => ch.kind === "uuid"); + } + get isNANOID() { + return !!this._def.checks.find((ch) => ch.kind === "nanoid"); + } + get isCUID() { + return !!this._def.checks.find((ch) => ch.kind === "cuid"); + } + get isCUID2() { + return !!this._def.checks.find((ch) => ch.kind === "cuid2"); + } + get isULID() { + return !!this._def.checks.find((ch) => ch.kind === "ulid"); + } + get isIP() { + return !!this._def.checks.find((ch) => ch.kind === "ip"); + } + get isCIDR() { + return !!this._def.checks.find((ch) => ch.kind === "cidr"); + } + get isBase64() { + return !!this._def.checks.find((ch) => ch.kind === "base64"); + } + get isBase64url() { + return !!this._def.checks.find((ch) => ch.kind === "base64url"); + } + get minLength() { + let min = null; + for (const ch of this._def.checks) { + if (ch.kind === "min") { + if (min === null || ch.value > min) + min = ch.value; + } + } + return min; + } + get maxLength() { + let max = null; + for (const ch of this._def.checks) { + if (ch.kind === "max") { + if (max === null || ch.value < max) + max = ch.value; + } + } + return max; + } +}; +ZodString2.create = (params) => { + var _a; + return new ZodString2({ + checks: [], + typeName: ZodFirstPartyTypeKind2.ZodString, + coerce: (_a = params === null || params === void 0 ? void 0 : params.coerce) !== null && _a !== void 0 ? _a : false, + ...processCreateParams2(params) + }); +}; +function floatSafeRemainder2(val, step) { + const valDecCount = (val.toString().split(".")[1] || "").length; + const stepDecCount = (step.toString().split(".")[1] || "").length; + const decCount = valDecCount > stepDecCount ? valDecCount : stepDecCount; + const valInt = parseInt(val.toFixed(decCount).replace(".", "")); + const stepInt = parseInt(step.toFixed(decCount).replace(".", "")); + return valInt % stepInt / Math.pow(10, decCount); +} +var ZodNumber2 = class _ZodNumber extends ZodType2 { + constructor() { + super(...arguments); + this.min = this.gte; + this.max = this.lte; + this.step = this.multipleOf; + } + _parse(input) { + if (this._def.coerce) { + input.data = Number(input.data); + } + const parsedType = this._getType(input); + if (parsedType !== ZodParsedType2.number) { + const ctx2 = this._getOrReturnCtx(input); + addIssueToContext2(ctx2, { + code: ZodIssueCode2.invalid_type, + expected: ZodParsedType2.number, + received: ctx2.parsedType + }); + return INVALID2; + } + let ctx = void 0; + const status = new ParseStatus2(); + for (const check of this._def.checks) { + if (check.kind === "int") { + if (!util2.isInteger(input.data)) { + ctx = this._getOrReturnCtx(input, ctx); + addIssueToContext2(ctx, { + code: ZodIssueCode2.invalid_type, + expected: "integer", + received: "float", + message: check.message + }); + status.dirty(); + } + } else if (check.kind === "min") { + const tooSmall = check.inclusive ? input.data < check.value : input.data <= check.value; + if (tooSmall) { + ctx = this._getOrReturnCtx(input, ctx); + addIssueToContext2(ctx, { + code: ZodIssueCode2.too_small, + minimum: check.value, + type: "number", + inclusive: check.inclusive, + exact: false, + message: check.message + }); + status.dirty(); + } + } else if (check.kind === "max") { + const tooBig = check.inclusive ? input.data > check.value : input.data >= check.value; + if (tooBig) { + ctx = this._getOrReturnCtx(input, ctx); + addIssueToContext2(ctx, { + code: ZodIssueCode2.too_big, + maximum: check.value, + type: "number", + inclusive: check.inclusive, + exact: false, + message: check.message + }); + status.dirty(); + } + } else if (check.kind === "multipleOf") { + if (floatSafeRemainder2(input.data, check.value) !== 0) { + ctx = this._getOrReturnCtx(input, ctx); + addIssueToContext2(ctx, { + code: ZodIssueCode2.not_multiple_of, + multipleOf: check.value, + message: check.message + }); + status.dirty(); + } + } else if (check.kind === "finite") { + if (!Number.isFinite(input.data)) { + ctx = this._getOrReturnCtx(input, ctx); + addIssueToContext2(ctx, { + code: ZodIssueCode2.not_finite, + message: check.message + }); + status.dirty(); + } + } else { + util2.assertNever(check); + } + } + return { status: status.value, value: input.data }; + } + gte(value, message) { + return this.setLimit("min", value, true, errorUtil2.toString(message)); + } + gt(value, message) { + return this.setLimit("min", value, false, errorUtil2.toString(message)); + } + lte(value, message) { + return this.setLimit("max", value, true, errorUtil2.toString(message)); + } + lt(value, message) { + return this.setLimit("max", value, false, errorUtil2.toString(message)); + } + setLimit(kind, value, inclusive, message) { + return new _ZodNumber({ + ...this._def, + checks: [ + ...this._def.checks, + { + kind, + value, + inclusive, + message: errorUtil2.toString(message) + } + ] + }); + } + _addCheck(check) { + return new _ZodNumber({ + ...this._def, + checks: [...this._def.checks, check] + }); + } + int(message) { + return this._addCheck({ + kind: "int", + message: errorUtil2.toString(message) + }); + } + positive(message) { + return this._addCheck({ + kind: "min", + value: 0, + inclusive: false, + message: errorUtil2.toString(message) + }); + } + negative(message) { + return this._addCheck({ + kind: "max", + value: 0, + inclusive: false, + message: errorUtil2.toString(message) + }); + } + nonpositive(message) { + return this._addCheck({ + kind: "max", + value: 0, + inclusive: true, + message: errorUtil2.toString(message) + }); + } + nonnegative(message) { + return this._addCheck({ + kind: "min", + value: 0, + inclusive: true, + message: errorUtil2.toString(message) + }); + } + multipleOf(value, message) { + return this._addCheck({ + kind: "multipleOf", + value, + message: errorUtil2.toString(message) + }); + } + finite(message) { + return this._addCheck({ + kind: "finite", + message: errorUtil2.toString(message) + }); + } + safe(message) { + return this._addCheck({ + kind: "min", + inclusive: true, + value: Number.MIN_SAFE_INTEGER, + message: errorUtil2.toString(message) + })._addCheck({ + kind: "max", + inclusive: true, + value: Number.MAX_SAFE_INTEGER, + message: errorUtil2.toString(message) + }); + } + get minValue() { + let min = null; + for (const ch of this._def.checks) { + if (ch.kind === "min") { + if (min === null || ch.value > min) + min = ch.value; + } + } + return min; + } + get maxValue() { + let max = null; + for (const ch of this._def.checks) { + if (ch.kind === "max") { + if (max === null || ch.value < max) + max = ch.value; + } + } + return max; + } + get isInt() { + return !!this._def.checks.find((ch) => ch.kind === "int" || ch.kind === "multipleOf" && util2.isInteger(ch.value)); + } + get isFinite() { + let max = null, min = null; + for (const ch of this._def.checks) { + if (ch.kind === "finite" || ch.kind === "int" || ch.kind === "multipleOf") { + return true; + } else if (ch.kind === "min") { + if (min === null || ch.value > min) + min = ch.value; + } else if (ch.kind === "max") { + if (max === null || ch.value < max) + max = ch.value; + } + } + return Number.isFinite(min) && Number.isFinite(max); + } +}; +ZodNumber2.create = (params) => { + return new ZodNumber2({ + checks: [], + typeName: ZodFirstPartyTypeKind2.ZodNumber, + coerce: (params === null || params === void 0 ? void 0 : params.coerce) || false, + ...processCreateParams2(params) + }); +}; +var ZodBigInt2 = class _ZodBigInt extends ZodType2 { + constructor() { + super(...arguments); + this.min = this.gte; + this.max = this.lte; + } + _parse(input) { + if (this._def.coerce) { + try { + input.data = BigInt(input.data); + } catch (_a) { + return this._getInvalidInput(input); + } + } + const parsedType = this._getType(input); + if (parsedType !== ZodParsedType2.bigint) { + return this._getInvalidInput(input); + } + let ctx = void 0; + const status = new ParseStatus2(); + for (const check of this._def.checks) { + if (check.kind === "min") { + const tooSmall = check.inclusive ? input.data < check.value : input.data <= check.value; + if (tooSmall) { + ctx = this._getOrReturnCtx(input, ctx); + addIssueToContext2(ctx, { + code: ZodIssueCode2.too_small, + type: "bigint", + minimum: check.value, + inclusive: check.inclusive, + message: check.message + }); + status.dirty(); + } + } else if (check.kind === "max") { + const tooBig = check.inclusive ? input.data > check.value : input.data >= check.value; + if (tooBig) { + ctx = this._getOrReturnCtx(input, ctx); + addIssueToContext2(ctx, { + code: ZodIssueCode2.too_big, + type: "bigint", + maximum: check.value, + inclusive: check.inclusive, + message: check.message + }); + status.dirty(); + } + } else if (check.kind === "multipleOf") { + if (input.data % check.value !== BigInt(0)) { + ctx = this._getOrReturnCtx(input, ctx); + addIssueToContext2(ctx, { + code: ZodIssueCode2.not_multiple_of, + multipleOf: check.value, + message: check.message + }); + status.dirty(); + } + } else { + util2.assertNever(check); + } + } + return { status: status.value, value: input.data }; + } + _getInvalidInput(input) { + const ctx = this._getOrReturnCtx(input); + addIssueToContext2(ctx, { + code: ZodIssueCode2.invalid_type, + expected: ZodParsedType2.bigint, + received: ctx.parsedType + }); + return INVALID2; + } + gte(value, message) { + return this.setLimit("min", value, true, errorUtil2.toString(message)); + } + gt(value, message) { + return this.setLimit("min", value, false, errorUtil2.toString(message)); + } + lte(value, message) { + return this.setLimit("max", value, true, errorUtil2.toString(message)); + } + lt(value, message) { + return this.setLimit("max", value, false, errorUtil2.toString(message)); + } + setLimit(kind, value, inclusive, message) { + return new _ZodBigInt({ + ...this._def, + checks: [ + ...this._def.checks, + { + kind, + value, + inclusive, + message: errorUtil2.toString(message) + } + ] + }); + } + _addCheck(check) { + return new _ZodBigInt({ + ...this._def, + checks: [...this._def.checks, check] + }); + } + positive(message) { + return this._addCheck({ + kind: "min", + value: BigInt(0), + inclusive: false, + message: errorUtil2.toString(message) + }); + } + negative(message) { + return this._addCheck({ + kind: "max", + value: BigInt(0), + inclusive: false, + message: errorUtil2.toString(message) + }); + } + nonpositive(message) { + return this._addCheck({ + kind: "max", + value: BigInt(0), + inclusive: true, + message: errorUtil2.toString(message) + }); + } + nonnegative(message) { + return this._addCheck({ + kind: "min", + value: BigInt(0), + inclusive: true, + message: errorUtil2.toString(message) + }); + } + multipleOf(value, message) { + return this._addCheck({ + kind: "multipleOf", + value, + message: errorUtil2.toString(message) + }); + } + get minValue() { + let min = null; + for (const ch of this._def.checks) { + if (ch.kind === "min") { + if (min === null || ch.value > min) + min = ch.value; + } + } + return min; + } + get maxValue() { + let max = null; + for (const ch of this._def.checks) { + if (ch.kind === "max") { + if (max === null || ch.value < max) + max = ch.value; + } + } + return max; + } +}; +ZodBigInt2.create = (params) => { + var _a; + return new ZodBigInt2({ + checks: [], + typeName: ZodFirstPartyTypeKind2.ZodBigInt, + coerce: (_a = params === null || params === void 0 ? void 0 : params.coerce) !== null && _a !== void 0 ? _a : false, + ...processCreateParams2(params) + }); +}; +var ZodBoolean2 = class extends ZodType2 { + _parse(input) { + if (this._def.coerce) { + input.data = Boolean(input.data); + } + const parsedType = this._getType(input); + if (parsedType !== ZodParsedType2.boolean) { + const ctx = this._getOrReturnCtx(input); + addIssueToContext2(ctx, { + code: ZodIssueCode2.invalid_type, + expected: ZodParsedType2.boolean, + received: ctx.parsedType + }); + return INVALID2; + } + return OK2(input.data); + } +}; +ZodBoolean2.create = (params) => { + return new ZodBoolean2({ + typeName: ZodFirstPartyTypeKind2.ZodBoolean, + coerce: (params === null || params === void 0 ? void 0 : params.coerce) || false, + ...processCreateParams2(params) + }); +}; +var ZodDate2 = class _ZodDate extends ZodType2 { + _parse(input) { + if (this._def.coerce) { + input.data = new Date(input.data); + } + const parsedType = this._getType(input); + if (parsedType !== ZodParsedType2.date) { + const ctx2 = this._getOrReturnCtx(input); + addIssueToContext2(ctx2, { + code: ZodIssueCode2.invalid_type, + expected: ZodParsedType2.date, + received: ctx2.parsedType + }); + return INVALID2; + } + if (isNaN(input.data.getTime())) { + const ctx2 = this._getOrReturnCtx(input); + addIssueToContext2(ctx2, { + code: ZodIssueCode2.invalid_date + }); + return INVALID2; + } + const status = new ParseStatus2(); + let ctx = void 0; + for (const check of this._def.checks) { + if (check.kind === "min") { + if (input.data.getTime() < check.value) { + ctx = this._getOrReturnCtx(input, ctx); + addIssueToContext2(ctx, { + code: ZodIssueCode2.too_small, + message: check.message, + inclusive: true, + exact: false, + minimum: check.value, + type: "date" + }); + status.dirty(); + } + } else if (check.kind === "max") { + if (input.data.getTime() > check.value) { + ctx = this._getOrReturnCtx(input, ctx); + addIssueToContext2(ctx, { + code: ZodIssueCode2.too_big, + message: check.message, + inclusive: true, + exact: false, + maximum: check.value, + type: "date" + }); + status.dirty(); + } + } else { + util2.assertNever(check); + } + } + return { + status: status.value, + value: new Date(input.data.getTime()) + }; + } + _addCheck(check) { + return new _ZodDate({ + ...this._def, + checks: [...this._def.checks, check] + }); + } + min(minDate, message) { + return this._addCheck({ + kind: "min", + value: minDate.getTime(), + message: errorUtil2.toString(message) + }); + } + max(maxDate, message) { + return this._addCheck({ + kind: "max", + value: maxDate.getTime(), + message: errorUtil2.toString(message) + }); + } + get minDate() { + let min = null; + for (const ch of this._def.checks) { + if (ch.kind === "min") { + if (min === null || ch.value > min) + min = ch.value; + } + } + return min != null ? new Date(min) : null; + } + get maxDate() { + let max = null; + for (const ch of this._def.checks) { + if (ch.kind === "max") { + if (max === null || ch.value < max) + max = ch.value; + } + } + return max != null ? new Date(max) : null; + } +}; +ZodDate2.create = (params) => { + return new ZodDate2({ + checks: [], + coerce: (params === null || params === void 0 ? void 0 : params.coerce) || false, + typeName: ZodFirstPartyTypeKind2.ZodDate, + ...processCreateParams2(params) + }); +}; +var ZodSymbol2 = class extends ZodType2 { + _parse(input) { + const parsedType = this._getType(input); + if (parsedType !== ZodParsedType2.symbol) { + const ctx = this._getOrReturnCtx(input); + addIssueToContext2(ctx, { + code: ZodIssueCode2.invalid_type, + expected: ZodParsedType2.symbol, + received: ctx.parsedType + }); + return INVALID2; + } + return OK2(input.data); + } +}; +ZodSymbol2.create = (params) => { + return new ZodSymbol2({ + typeName: ZodFirstPartyTypeKind2.ZodSymbol, + ...processCreateParams2(params) + }); +}; +var ZodUndefined2 = class extends ZodType2 { + _parse(input) { + const parsedType = this._getType(input); + if (parsedType !== ZodParsedType2.undefined) { + const ctx = this._getOrReturnCtx(input); + addIssueToContext2(ctx, { + code: ZodIssueCode2.invalid_type, + expected: ZodParsedType2.undefined, + received: ctx.parsedType + }); + return INVALID2; + } + return OK2(input.data); + } +}; +ZodUndefined2.create = (params) => { + return new ZodUndefined2({ + typeName: ZodFirstPartyTypeKind2.ZodUndefined, + ...processCreateParams2(params) + }); +}; +var ZodNull2 = class extends ZodType2 { + _parse(input) { + const parsedType = this._getType(input); + if (parsedType !== ZodParsedType2.null) { + const ctx = this._getOrReturnCtx(input); + addIssueToContext2(ctx, { + code: ZodIssueCode2.invalid_type, + expected: ZodParsedType2.null, + received: ctx.parsedType + }); + return INVALID2; + } + return OK2(input.data); + } +}; +ZodNull2.create = (params) => { + return new ZodNull2({ + typeName: ZodFirstPartyTypeKind2.ZodNull, + ...processCreateParams2(params) + }); +}; +var ZodAny2 = class extends ZodType2 { + constructor() { + super(...arguments); + this._any = true; + } + _parse(input) { + return OK2(input.data); + } +}; +ZodAny2.create = (params) => { + return new ZodAny2({ + typeName: ZodFirstPartyTypeKind2.ZodAny, + ...processCreateParams2(params) + }); +}; +var ZodUnknown2 = class extends ZodType2 { + constructor() { + super(...arguments); + this._unknown = true; + } + _parse(input) { + return OK2(input.data); + } +}; +ZodUnknown2.create = (params) => { + return new ZodUnknown2({ + typeName: ZodFirstPartyTypeKind2.ZodUnknown, + ...processCreateParams2(params) + }); +}; +var ZodNever2 = class extends ZodType2 { + _parse(input) { + const ctx = this._getOrReturnCtx(input); + addIssueToContext2(ctx, { + code: ZodIssueCode2.invalid_type, + expected: ZodParsedType2.never, + received: ctx.parsedType + }); + return INVALID2; + } +}; +ZodNever2.create = (params) => { + return new ZodNever2({ + typeName: ZodFirstPartyTypeKind2.ZodNever, + ...processCreateParams2(params) + }); +}; +var ZodVoid2 = class extends ZodType2 { + _parse(input) { + const parsedType = this._getType(input); + if (parsedType !== ZodParsedType2.undefined) { + const ctx = this._getOrReturnCtx(input); + addIssueToContext2(ctx, { + code: ZodIssueCode2.invalid_type, + expected: ZodParsedType2.void, + received: ctx.parsedType + }); + return INVALID2; + } + return OK2(input.data); + } +}; +ZodVoid2.create = (params) => { + return new ZodVoid2({ + typeName: ZodFirstPartyTypeKind2.ZodVoid, + ...processCreateParams2(params) + }); +}; +var ZodArray2 = class _ZodArray extends ZodType2 { + _parse(input) { + const { ctx, status } = this._processInputParams(input); + const def = this._def; + if (ctx.parsedType !== ZodParsedType2.array) { + addIssueToContext2(ctx, { + code: ZodIssueCode2.invalid_type, + expected: ZodParsedType2.array, + received: ctx.parsedType + }); + return INVALID2; + } + if (def.exactLength !== null) { + const tooBig = ctx.data.length > def.exactLength.value; + const tooSmall = ctx.data.length < def.exactLength.value; + if (tooBig || tooSmall) { + addIssueToContext2(ctx, { + code: tooBig ? ZodIssueCode2.too_big : ZodIssueCode2.too_small, + minimum: tooSmall ? def.exactLength.value : void 0, + maximum: tooBig ? def.exactLength.value : void 0, + type: "array", + inclusive: true, + exact: true, + message: def.exactLength.message + }); + status.dirty(); + } + } + if (def.minLength !== null) { + if (ctx.data.length < def.minLength.value) { + addIssueToContext2(ctx, { + code: ZodIssueCode2.too_small, + minimum: def.minLength.value, + type: "array", + inclusive: true, + exact: false, + message: def.minLength.message + }); + status.dirty(); + } + } + if (def.maxLength !== null) { + if (ctx.data.length > def.maxLength.value) { + addIssueToContext2(ctx, { + code: ZodIssueCode2.too_big, + maximum: def.maxLength.value, + type: "array", + inclusive: true, + exact: false, + message: def.maxLength.message + }); + status.dirty(); + } + } + if (ctx.common.async) { + return Promise.all([...ctx.data].map((item, i) => { + return def.type._parseAsync(new ParseInputLazyPath2(ctx, item, ctx.path, i)); + })).then((result2) => { + return ParseStatus2.mergeArray(status, result2); + }); + } + const result = [...ctx.data].map((item, i) => { + return def.type._parseSync(new ParseInputLazyPath2(ctx, item, ctx.path, i)); + }); + return ParseStatus2.mergeArray(status, result); + } + get element() { + return this._def.type; + } + min(minLength, message) { + return new _ZodArray({ + ...this._def, + minLength: { value: minLength, message: errorUtil2.toString(message) } + }); + } + max(maxLength, message) { + return new _ZodArray({ + ...this._def, + maxLength: { value: maxLength, message: errorUtil2.toString(message) } + }); + } + length(len, message) { + return new _ZodArray({ + ...this._def, + exactLength: { value: len, message: errorUtil2.toString(message) } + }); + } + nonempty(message) { + return this.min(1, message); + } +}; +ZodArray2.create = (schema, params) => { + return new ZodArray2({ + type: schema, + minLength: null, + maxLength: null, + exactLength: null, + typeName: ZodFirstPartyTypeKind2.ZodArray, + ...processCreateParams2(params) + }); +}; +function deepPartialify2(schema) { + if (schema instanceof ZodObject2) { + const newShape = {}; + for (const key in schema.shape) { + const fieldSchema = schema.shape[key]; + newShape[key] = ZodOptional2.create(deepPartialify2(fieldSchema)); + } + return new ZodObject2({ + ...schema._def, + shape: () => newShape + }); + } else if (schema instanceof ZodArray2) { + return new ZodArray2({ + ...schema._def, + type: deepPartialify2(schema.element) + }); + } else if (schema instanceof ZodOptional2) { + return ZodOptional2.create(deepPartialify2(schema.unwrap())); + } else if (schema instanceof ZodNullable2) { + return ZodNullable2.create(deepPartialify2(schema.unwrap())); + } else if (schema instanceof ZodTuple2) { + return ZodTuple2.create(schema.items.map((item) => deepPartialify2(item))); + } else { + return schema; + } +} +var ZodObject2 = class _ZodObject extends ZodType2 { + constructor() { + super(...arguments); + this._cached = null; + this.nonstrict = this.passthrough; + this.augment = this.extend; + } + _getCached() { + if (this._cached !== null) + return this._cached; + const shape = this._def.shape(); + const keys = util2.objectKeys(shape); + return this._cached = { shape, keys }; + } + _parse(input) { + const parsedType = this._getType(input); + if (parsedType !== ZodParsedType2.object) { + const ctx2 = this._getOrReturnCtx(input); + addIssueToContext2(ctx2, { + code: ZodIssueCode2.invalid_type, + expected: ZodParsedType2.object, + received: ctx2.parsedType + }); + return INVALID2; + } + const { status, ctx } = this._processInputParams(input); + const { shape, keys: shapeKeys } = this._getCached(); + const extraKeys = []; + if (!(this._def.catchall instanceof ZodNever2 && this._def.unknownKeys === "strip")) { + for (const key in ctx.data) { + if (!shapeKeys.includes(key)) { + extraKeys.push(key); + } + } + } + const pairs = []; + for (const key of shapeKeys) { + const keyValidator = shape[key]; + const value = ctx.data[key]; + pairs.push({ + key: { status: "valid", value: key }, + value: keyValidator._parse(new ParseInputLazyPath2(ctx, value, ctx.path, key)), + alwaysSet: key in ctx.data + }); + } + if (this._def.catchall instanceof ZodNever2) { + const unknownKeys = this._def.unknownKeys; + if (unknownKeys === "passthrough") { + for (const key of extraKeys) { + pairs.push({ + key: { status: "valid", value: key }, + value: { status: "valid", value: ctx.data[key] } + }); + } + } else if (unknownKeys === "strict") { + if (extraKeys.length > 0) { + addIssueToContext2(ctx, { + code: ZodIssueCode2.unrecognized_keys, + keys: extraKeys + }); + status.dirty(); + } + } else if (unknownKeys === "strip") ; + else { + throw new Error(`Internal ZodObject error: invalid unknownKeys value.`); + } + } else { + const catchall = this._def.catchall; + for (const key of extraKeys) { + const value = ctx.data[key]; + pairs.push({ + key: { status: "valid", value: key }, + value: catchall._parse( + new ParseInputLazyPath2(ctx, value, ctx.path, key) + //, ctx.child(key), value, getParsedType(value) + ), + alwaysSet: key in ctx.data + }); + } + } + if (ctx.common.async) { + return Promise.resolve().then(async () => { + const syncPairs = []; + for (const pair of pairs) { + const key = await pair.key; + const value = await pair.value; + syncPairs.push({ + key, + value, + alwaysSet: pair.alwaysSet + }); + } + return syncPairs; + }).then((syncPairs) => { + return ParseStatus2.mergeObjectSync(status, syncPairs); + }); + } else { + return ParseStatus2.mergeObjectSync(status, pairs); + } + } + get shape() { + return this._def.shape(); + } + strict(message) { + errorUtil2.errToObj; + return new _ZodObject({ + ...this._def, + unknownKeys: "strict", + ...message !== void 0 ? { + errorMap: (issue, ctx) => { + var _a, _b, _c, _d; + const defaultError = (_c = (_b = (_a = this._def).errorMap) === null || _b === void 0 ? void 0 : _b.call(_a, issue, ctx).message) !== null && _c !== void 0 ? _c : ctx.defaultError; + if (issue.code === "unrecognized_keys") + return { + message: (_d = errorUtil2.errToObj(message).message) !== null && _d !== void 0 ? _d : defaultError + }; + return { + message: defaultError + }; + } + } : {} + }); + } + strip() { + return new _ZodObject({ + ...this._def, + unknownKeys: "strip" + }); + } + passthrough() { + return new _ZodObject({ + ...this._def, + unknownKeys: "passthrough" + }); + } + // const AugmentFactory = + // (def: Def) => + // ( + // augmentation: Augmentation + // ): ZodObject< + // extendShape, Augmentation>, + // Def["unknownKeys"], + // Def["catchall"] + // > => { + // return new ZodObject({ + // ...def, + // shape: () => ({ + // ...def.shape(), + // ...augmentation, + // }), + // }) as any; + // }; + extend(augmentation) { + return new _ZodObject({ + ...this._def, + shape: () => ({ + ...this._def.shape(), + ...augmentation + }) + }); + } + /** + * Prior to zod@1.0.12 there was a bug in the + * inferred type of merged objects. Please + * upgrade if you are experiencing issues. + */ + merge(merging) { + const merged = new _ZodObject({ + unknownKeys: merging._def.unknownKeys, + catchall: merging._def.catchall, + shape: () => ({ + ...this._def.shape(), + ...merging._def.shape() + }), + typeName: ZodFirstPartyTypeKind2.ZodObject + }); + return merged; + } + // merge< + // Incoming extends AnyZodObject, + // Augmentation extends Incoming["shape"], + // NewOutput extends { + // [k in keyof Augmentation | keyof Output]: k extends keyof Augmentation + // ? Augmentation[k]["_output"] + // : k extends keyof Output + // ? Output[k] + // : never; + // }, + // NewInput extends { + // [k in keyof Augmentation | keyof Input]: k extends keyof Augmentation + // ? Augmentation[k]["_input"] + // : k extends keyof Input + // ? Input[k] + // : never; + // } + // >( + // merging: Incoming + // ): ZodObject< + // extendShape>, + // Incoming["_def"]["unknownKeys"], + // Incoming["_def"]["catchall"], + // NewOutput, + // NewInput + // > { + // const merged: any = new ZodObject({ + // unknownKeys: merging._def.unknownKeys, + // catchall: merging._def.catchall, + // shape: () => + // objectUtil.mergeShapes(this._def.shape(), merging._def.shape()), + // typeName: ZodFirstPartyTypeKind.ZodObject, + // }) as any; + // return merged; + // } + setKey(key, schema) { + return this.augment({ [key]: schema }); + } + // merge( + // merging: Incoming + // ): //ZodObject = (merging) => { + // ZodObject< + // extendShape>, + // Incoming["_def"]["unknownKeys"], + // Incoming["_def"]["catchall"] + // > { + // // const mergedShape = objectUtil.mergeShapes( + // // this._def.shape(), + // // merging._def.shape() + // // ); + // const merged: any = new ZodObject({ + // unknownKeys: merging._def.unknownKeys, + // catchall: merging._def.catchall, + // shape: () => + // objectUtil.mergeShapes(this._def.shape(), merging._def.shape()), + // typeName: ZodFirstPartyTypeKind.ZodObject, + // }) as any; + // return merged; + // } + catchall(index) { + return new _ZodObject({ + ...this._def, + catchall: index + }); + } + pick(mask) { + const shape = {}; + util2.objectKeys(mask).forEach((key) => { + if (mask[key] && this.shape[key]) { + shape[key] = this.shape[key]; + } + }); + return new _ZodObject({ + ...this._def, + shape: () => shape + }); + } + omit(mask) { + const shape = {}; + util2.objectKeys(this.shape).forEach((key) => { + if (!mask[key]) { + shape[key] = this.shape[key]; + } + }); + return new _ZodObject({ + ...this._def, + shape: () => shape + }); + } + /** + * @deprecated + */ + deepPartial() { + return deepPartialify2(this); + } + partial(mask) { + const newShape = {}; + util2.objectKeys(this.shape).forEach((key) => { + const fieldSchema = this.shape[key]; + if (mask && !mask[key]) { + newShape[key] = fieldSchema; + } else { + newShape[key] = fieldSchema.optional(); + } + }); + return new _ZodObject({ + ...this._def, + shape: () => newShape + }); + } + required(mask) { + const newShape = {}; + util2.objectKeys(this.shape).forEach((key) => { + if (mask && !mask[key]) { + newShape[key] = this.shape[key]; + } else { + const fieldSchema = this.shape[key]; + let newField = fieldSchema; + while (newField instanceof ZodOptional2) { + newField = newField._def.innerType; + } + newShape[key] = newField; + } + }); + return new _ZodObject({ + ...this._def, + shape: () => newShape + }); + } + keyof() { + return createZodEnum2(util2.objectKeys(this.shape)); + } +}; +ZodObject2.create = (shape, params) => { + return new ZodObject2({ + shape: () => shape, + unknownKeys: "strip", + catchall: ZodNever2.create(), + typeName: ZodFirstPartyTypeKind2.ZodObject, + ...processCreateParams2(params) + }); +}; +ZodObject2.strictCreate = (shape, params) => { + return new ZodObject2({ + shape: () => shape, + unknownKeys: "strict", + catchall: ZodNever2.create(), + typeName: ZodFirstPartyTypeKind2.ZodObject, + ...processCreateParams2(params) + }); +}; +ZodObject2.lazycreate = (shape, params) => { + return new ZodObject2({ + shape, + unknownKeys: "strip", + catchall: ZodNever2.create(), + typeName: ZodFirstPartyTypeKind2.ZodObject, + ...processCreateParams2(params) + }); +}; +var ZodUnion2 = class extends ZodType2 { + _parse(input) { + const { ctx } = this._processInputParams(input); + const options = this._def.options; + function handleResults(results) { + for (const result of results) { + if (result.result.status === "valid") { + return result.result; + } + } + for (const result of results) { + if (result.result.status === "dirty") { + ctx.common.issues.push(...result.ctx.common.issues); + return result.result; + } + } + const unionErrors = results.map((result) => new ZodError2(result.ctx.common.issues)); + addIssueToContext2(ctx, { + code: ZodIssueCode2.invalid_union, + unionErrors + }); + return INVALID2; + } + if (ctx.common.async) { + return Promise.all(options.map(async (option) => { + const childCtx = { + ...ctx, + common: { + ...ctx.common, + issues: [] + }, + parent: null + }; + return { + result: await option._parseAsync({ + data: ctx.data, + path: ctx.path, + parent: childCtx + }), + ctx: childCtx + }; + })).then(handleResults); + } else { + let dirty = void 0; + const issues = []; + for (const option of options) { + const childCtx = { + ...ctx, + common: { + ...ctx.common, + issues: [] + }, + parent: null + }; + const result = option._parseSync({ + data: ctx.data, + path: ctx.path, + parent: childCtx + }); + if (result.status === "valid") { + return result; + } else if (result.status === "dirty" && !dirty) { + dirty = { result, ctx: childCtx }; + } + if (childCtx.common.issues.length) { + issues.push(childCtx.common.issues); + } + } + if (dirty) { + ctx.common.issues.push(...dirty.ctx.common.issues); + return dirty.result; + } + const unionErrors = issues.map((issues2) => new ZodError2(issues2)); + addIssueToContext2(ctx, { + code: ZodIssueCode2.invalid_union, + unionErrors + }); + return INVALID2; + } + } + get options() { + return this._def.options; + } +}; +ZodUnion2.create = (types, params) => { + return new ZodUnion2({ + options: types, + typeName: ZodFirstPartyTypeKind2.ZodUnion, + ...processCreateParams2(params) + }); +}; +var getDiscriminator2 = (type) => { + if (type instanceof ZodLazy2) { + return getDiscriminator2(type.schema); + } else if (type instanceof ZodEffects2) { + return getDiscriminator2(type.innerType()); + } else if (type instanceof ZodLiteral2) { + return [type.value]; + } else if (type instanceof ZodEnum2) { + return type.options; + } else if (type instanceof ZodNativeEnum2) { + return util2.objectValues(type.enum); + } else if (type instanceof ZodDefault2) { + return getDiscriminator2(type._def.innerType); + } else if (type instanceof ZodUndefined2) { + return [void 0]; + } else if (type instanceof ZodNull2) { + return [null]; + } else if (type instanceof ZodOptional2) { + return [void 0, ...getDiscriminator2(type.unwrap())]; + } else if (type instanceof ZodNullable2) { + return [null, ...getDiscriminator2(type.unwrap())]; + } else if (type instanceof ZodBranded2) { + return getDiscriminator2(type.unwrap()); + } else if (type instanceof ZodReadonly2) { + return getDiscriminator2(type.unwrap()); + } else if (type instanceof ZodCatch2) { + return getDiscriminator2(type._def.innerType); + } else { + return []; + } +}; +var ZodDiscriminatedUnion2 = class _ZodDiscriminatedUnion extends ZodType2 { + _parse(input) { + const { ctx } = this._processInputParams(input); + if (ctx.parsedType !== ZodParsedType2.object) { + addIssueToContext2(ctx, { + code: ZodIssueCode2.invalid_type, + expected: ZodParsedType2.object, + received: ctx.parsedType + }); + return INVALID2; + } + const discriminator = this.discriminator; + const discriminatorValue = ctx.data[discriminator]; + const option = this.optionsMap.get(discriminatorValue); + if (!option) { + addIssueToContext2(ctx, { + code: ZodIssueCode2.invalid_union_discriminator, + options: Array.from(this.optionsMap.keys()), + path: [discriminator] + }); + return INVALID2; + } + if (ctx.common.async) { + return option._parseAsync({ + data: ctx.data, + path: ctx.path, + parent: ctx + }); + } else { + return option._parseSync({ + data: ctx.data, + path: ctx.path, + parent: ctx + }); + } + } + get discriminator() { + return this._def.discriminator; + } + get options() { + return this._def.options; + } + get optionsMap() { + return this._def.optionsMap; + } + /** + * The constructor of the discriminated union schema. Its behaviour is very similar to that of the normal z.union() constructor. + * However, it only allows a union of objects, all of which need to share a discriminator property. This property must + * have a different value for each object in the union. + * @param discriminator the name of the discriminator property + * @param types an array of object schemas + * @param params + */ + static create(discriminator, options, params) { + const optionsMap = /* @__PURE__ */ new Map(); + for (const type of options) { + const discriminatorValues = getDiscriminator2(type.shape[discriminator]); + if (!discriminatorValues.length) { + throw new Error(`A discriminator value for key \`${discriminator}\` could not be extracted from all schema options`); + } + for (const value of discriminatorValues) { + if (optionsMap.has(value)) { + throw new Error(`Discriminator property ${String(discriminator)} has duplicate value ${String(value)}`); + } + optionsMap.set(value, type); + } + } + return new _ZodDiscriminatedUnion({ + typeName: ZodFirstPartyTypeKind2.ZodDiscriminatedUnion, + discriminator, + options, + optionsMap, + ...processCreateParams2(params) + }); + } +}; +function mergeValues2(a, b) { + const aType = getParsedType2(a); + const bType = getParsedType2(b); + if (a === b) { + return { valid: true, data: a }; + } else if (aType === ZodParsedType2.object && bType === ZodParsedType2.object) { + const bKeys = util2.objectKeys(b); + const sharedKeys = util2.objectKeys(a).filter((key) => bKeys.indexOf(key) !== -1); + const newObj = { ...a, ...b }; + for (const key of sharedKeys) { + const sharedValue = mergeValues2(a[key], b[key]); + if (!sharedValue.valid) { + return { valid: false }; + } + newObj[key] = sharedValue.data; + } + return { valid: true, data: newObj }; + } else if (aType === ZodParsedType2.array && bType === ZodParsedType2.array) { + if (a.length !== b.length) { + return { valid: false }; + } + const newArray = []; + for (let index = 0; index < a.length; index++) { + const itemA = a[index]; + const itemB = b[index]; + const sharedValue = mergeValues2(itemA, itemB); + if (!sharedValue.valid) { + return { valid: false }; + } + newArray.push(sharedValue.data); + } + return { valid: true, data: newArray }; + } else if (aType === ZodParsedType2.date && bType === ZodParsedType2.date && +a === +b) { + return { valid: true, data: a }; + } else { + return { valid: false }; + } +} +var ZodIntersection2 = class extends ZodType2 { + _parse(input) { + const { status, ctx } = this._processInputParams(input); + const handleParsed = (parsedLeft, parsedRight) => { + if (isAborted2(parsedLeft) || isAborted2(parsedRight)) { + return INVALID2; + } + const merged = mergeValues2(parsedLeft.value, parsedRight.value); + if (!merged.valid) { + addIssueToContext2(ctx, { + code: ZodIssueCode2.invalid_intersection_types + }); + return INVALID2; + } + if (isDirty2(parsedLeft) || isDirty2(parsedRight)) { + status.dirty(); + } + return { status: status.value, value: merged.data }; + }; + if (ctx.common.async) { + return Promise.all([ + this._def.left._parseAsync({ + data: ctx.data, + path: ctx.path, + parent: ctx + }), + this._def.right._parseAsync({ + data: ctx.data, + path: ctx.path, + parent: ctx + }) + ]).then(([left, right]) => handleParsed(left, right)); + } else { + return handleParsed(this._def.left._parseSync({ + data: ctx.data, + path: ctx.path, + parent: ctx + }), this._def.right._parseSync({ + data: ctx.data, + path: ctx.path, + parent: ctx + })); + } + } +}; +ZodIntersection2.create = (left, right, params) => { + return new ZodIntersection2({ + left, + right, + typeName: ZodFirstPartyTypeKind2.ZodIntersection, + ...processCreateParams2(params) + }); +}; +var ZodTuple2 = class _ZodTuple extends ZodType2 { + _parse(input) { + const { status, ctx } = this._processInputParams(input); + if (ctx.parsedType !== ZodParsedType2.array) { + addIssueToContext2(ctx, { + code: ZodIssueCode2.invalid_type, + expected: ZodParsedType2.array, + received: ctx.parsedType + }); + return INVALID2; + } + if (ctx.data.length < this._def.items.length) { + addIssueToContext2(ctx, { + code: ZodIssueCode2.too_small, + minimum: this._def.items.length, + inclusive: true, + exact: false, + type: "array" + }); + return INVALID2; + } + const rest = this._def.rest; + if (!rest && ctx.data.length > this._def.items.length) { + addIssueToContext2(ctx, { + code: ZodIssueCode2.too_big, + maximum: this._def.items.length, + inclusive: true, + exact: false, + type: "array" + }); + status.dirty(); + } + const items = [...ctx.data].map((item, itemIndex) => { + const schema = this._def.items[itemIndex] || this._def.rest; + if (!schema) + return null; + return schema._parse(new ParseInputLazyPath2(ctx, item, ctx.path, itemIndex)); + }).filter((x) => !!x); + if (ctx.common.async) { + return Promise.all(items).then((results) => { + return ParseStatus2.mergeArray(status, results); + }); + } else { + return ParseStatus2.mergeArray(status, items); + } + } + get items() { + return this._def.items; + } + rest(rest) { + return new _ZodTuple({ + ...this._def, + rest + }); + } +}; +ZodTuple2.create = (schemas, params) => { + if (!Array.isArray(schemas)) { + throw new Error("You must pass an array of schemas to z.tuple([ ... ])"); + } + return new ZodTuple2({ + items: schemas, + typeName: ZodFirstPartyTypeKind2.ZodTuple, + rest: null, + ...processCreateParams2(params) + }); +}; +var ZodRecord2 = class _ZodRecord extends ZodType2 { + get keySchema() { + return this._def.keyType; + } + get valueSchema() { + return this._def.valueType; + } + _parse(input) { + const { status, ctx } = this._processInputParams(input); + if (ctx.parsedType !== ZodParsedType2.object) { + addIssueToContext2(ctx, { + code: ZodIssueCode2.invalid_type, + expected: ZodParsedType2.object, + received: ctx.parsedType + }); + return INVALID2; + } + const pairs = []; + const keyType = this._def.keyType; + const valueType = this._def.valueType; + for (const key in ctx.data) { + pairs.push({ + key: keyType._parse(new ParseInputLazyPath2(ctx, key, ctx.path, key)), + value: valueType._parse(new ParseInputLazyPath2(ctx, ctx.data[key], ctx.path, key)), + alwaysSet: key in ctx.data + }); + } + if (ctx.common.async) { + return ParseStatus2.mergeObjectAsync(status, pairs); + } else { + return ParseStatus2.mergeObjectSync(status, pairs); + } + } + get element() { + return this._def.valueType; + } + static create(first, second, third) { + if (second instanceof ZodType2) { + return new _ZodRecord({ + keyType: first, + valueType: second, + typeName: ZodFirstPartyTypeKind2.ZodRecord, + ...processCreateParams2(third) + }); + } + return new _ZodRecord({ + keyType: ZodString2.create(), + valueType: first, + typeName: ZodFirstPartyTypeKind2.ZodRecord, + ...processCreateParams2(second) + }); + } +}; +var ZodMap2 = class extends ZodType2 { + get keySchema() { + return this._def.keyType; + } + get valueSchema() { + return this._def.valueType; + } + _parse(input) { + const { status, ctx } = this._processInputParams(input); + if (ctx.parsedType !== ZodParsedType2.map) { + addIssueToContext2(ctx, { + code: ZodIssueCode2.invalid_type, + expected: ZodParsedType2.map, + received: ctx.parsedType + }); + return INVALID2; + } + const keyType = this._def.keyType; + const valueType = this._def.valueType; + const pairs = [...ctx.data.entries()].map(([key, value], index) => { + return { + key: keyType._parse(new ParseInputLazyPath2(ctx, key, ctx.path, [index, "key"])), + value: valueType._parse(new ParseInputLazyPath2(ctx, value, ctx.path, [index, "value"])) + }; + }); + if (ctx.common.async) { + const finalMap = /* @__PURE__ */ new Map(); + return Promise.resolve().then(async () => { + for (const pair of pairs) { + const key = await pair.key; + const value = await pair.value; + if (key.status === "aborted" || value.status === "aborted") { + return INVALID2; + } + if (key.status === "dirty" || value.status === "dirty") { + status.dirty(); + } + finalMap.set(key.value, value.value); + } + return { status: status.value, value: finalMap }; + }); + } else { + const finalMap = /* @__PURE__ */ new Map(); + for (const pair of pairs) { + const key = pair.key; + const value = pair.value; + if (key.status === "aborted" || value.status === "aborted") { + return INVALID2; + } + if (key.status === "dirty" || value.status === "dirty") { + status.dirty(); + } + finalMap.set(key.value, value.value); + } + return { status: status.value, value: finalMap }; + } + } +}; +ZodMap2.create = (keyType, valueType, params) => { + return new ZodMap2({ + valueType, + keyType, + typeName: ZodFirstPartyTypeKind2.ZodMap, + ...processCreateParams2(params) + }); +}; +var ZodSet2 = class _ZodSet extends ZodType2 { + _parse(input) { + const { status, ctx } = this._processInputParams(input); + if (ctx.parsedType !== ZodParsedType2.set) { + addIssueToContext2(ctx, { + code: ZodIssueCode2.invalid_type, + expected: ZodParsedType2.set, + received: ctx.parsedType + }); + return INVALID2; + } + const def = this._def; + if (def.minSize !== null) { + if (ctx.data.size < def.minSize.value) { + addIssueToContext2(ctx, { + code: ZodIssueCode2.too_small, + minimum: def.minSize.value, + type: "set", + inclusive: true, + exact: false, + message: def.minSize.message + }); + status.dirty(); + } + } + if (def.maxSize !== null) { + if (ctx.data.size > def.maxSize.value) { + addIssueToContext2(ctx, { + code: ZodIssueCode2.too_big, + maximum: def.maxSize.value, + type: "set", + inclusive: true, + exact: false, + message: def.maxSize.message + }); + status.dirty(); + } + } + const valueType = this._def.valueType; + function finalizeSet(elements2) { + const parsedSet = /* @__PURE__ */ new Set(); + for (const element of elements2) { + if (element.status === "aborted") + return INVALID2; + if (element.status === "dirty") + status.dirty(); + parsedSet.add(element.value); + } + return { status: status.value, value: parsedSet }; + } + const elements = [...ctx.data.values()].map((item, i) => valueType._parse(new ParseInputLazyPath2(ctx, item, ctx.path, i))); + if (ctx.common.async) { + return Promise.all(elements).then((elements2) => finalizeSet(elements2)); + } else { + return finalizeSet(elements); + } + } + min(minSize, message) { + return new _ZodSet({ + ...this._def, + minSize: { value: minSize, message: errorUtil2.toString(message) } + }); + } + max(maxSize, message) { + return new _ZodSet({ + ...this._def, + maxSize: { value: maxSize, message: errorUtil2.toString(message) } + }); + } + size(size, message) { + return this.min(size, message).max(size, message); + } + nonempty(message) { + return this.min(1, message); + } +}; +ZodSet2.create = (valueType, params) => { + return new ZodSet2({ + valueType, + minSize: null, + maxSize: null, + typeName: ZodFirstPartyTypeKind2.ZodSet, + ...processCreateParams2(params) + }); +}; +var ZodFunction2 = class _ZodFunction extends ZodType2 { + constructor() { + super(...arguments); + this.validate = this.implement; + } + _parse(input) { + const { ctx } = this._processInputParams(input); + if (ctx.parsedType !== ZodParsedType2.function) { + addIssueToContext2(ctx, { + code: ZodIssueCode2.invalid_type, + expected: ZodParsedType2.function, + received: ctx.parsedType + }); + return INVALID2; + } + function makeArgsIssue(args, error) { + return makeIssue2({ + data: args, + path: ctx.path, + errorMaps: [ + ctx.common.contextualErrorMap, + ctx.schemaErrorMap, + getErrorMap2(), + errorMap2 + ].filter((x) => !!x), + issueData: { + code: ZodIssueCode2.invalid_arguments, + argumentsError: error + } + }); + } + function makeReturnsIssue(returns, error) { + return makeIssue2({ + data: returns, + path: ctx.path, + errorMaps: [ + ctx.common.contextualErrorMap, + ctx.schemaErrorMap, + getErrorMap2(), + errorMap2 + ].filter((x) => !!x), + issueData: { + code: ZodIssueCode2.invalid_return_type, + returnTypeError: error + } + }); + } + const params = { errorMap: ctx.common.contextualErrorMap }; + const fn = ctx.data; + if (this._def.returns instanceof ZodPromise2) { + const me = this; + return OK2(async function(...args) { + const error = new ZodError2([]); + const parsedArgs = await me._def.args.parseAsync(args, params).catch((e) => { + error.addIssue(makeArgsIssue(args, e)); + throw error; + }); + const result = await Reflect.apply(fn, this, parsedArgs); + const parsedReturns = await me._def.returns._def.type.parseAsync(result, params).catch((e) => { + error.addIssue(makeReturnsIssue(result, e)); + throw error; + }); + return parsedReturns; + }); + } else { + const me = this; + return OK2(function(...args) { + const parsedArgs = me._def.args.safeParse(args, params); + if (!parsedArgs.success) { + throw new ZodError2([makeArgsIssue(args, parsedArgs.error)]); + } + const result = Reflect.apply(fn, this, parsedArgs.data); + const parsedReturns = me._def.returns.safeParse(result, params); + if (!parsedReturns.success) { + throw new ZodError2([makeReturnsIssue(result, parsedReturns.error)]); + } + return parsedReturns.data; + }); + } + } + parameters() { + return this._def.args; + } + returnType() { + return this._def.returns; + } + args(...items) { + return new _ZodFunction({ + ...this._def, + args: ZodTuple2.create(items).rest(ZodUnknown2.create()) + }); + } + returns(returnType) { + return new _ZodFunction({ + ...this._def, + returns: returnType + }); + } + implement(func) { + const validatedFunc = this.parse(func); + return validatedFunc; + } + strictImplement(func) { + const validatedFunc = this.parse(func); + return validatedFunc; + } + static create(args, returns, params) { + return new _ZodFunction({ + args: args ? args : ZodTuple2.create([]).rest(ZodUnknown2.create()), + returns: returns || ZodUnknown2.create(), + typeName: ZodFirstPartyTypeKind2.ZodFunction, + ...processCreateParams2(params) + }); + } +}; +var ZodLazy2 = class extends ZodType2 { + get schema() { + return this._def.getter(); + } + _parse(input) { + const { ctx } = this._processInputParams(input); + const lazySchema = this._def.getter(); + return lazySchema._parse({ data: ctx.data, path: ctx.path, parent: ctx }); + } +}; +ZodLazy2.create = (getter, params) => { + return new ZodLazy2({ + getter, + typeName: ZodFirstPartyTypeKind2.ZodLazy, + ...processCreateParams2(params) + }); +}; +var ZodLiteral2 = class extends ZodType2 { + _parse(input) { + if (input.data !== this._def.value) { + const ctx = this._getOrReturnCtx(input); + addIssueToContext2(ctx, { + received: ctx.data, + code: ZodIssueCode2.invalid_literal, + expected: this._def.value + }); + return INVALID2; + } + return { status: "valid", value: input.data }; + } + get value() { + return this._def.value; + } +}; +ZodLiteral2.create = (value, params) => { + return new ZodLiteral2({ + value, + typeName: ZodFirstPartyTypeKind2.ZodLiteral, + ...processCreateParams2(params) + }); +}; +function createZodEnum2(values, params) { + return new ZodEnum2({ + values, + typeName: ZodFirstPartyTypeKind2.ZodEnum, + ...processCreateParams2(params) + }); +} +var ZodEnum2 = class _ZodEnum extends ZodType2 { + constructor() { + super(...arguments); + _ZodEnum_cache.set(this, void 0); + } + _parse(input) { + if (typeof input.data !== "string") { + const ctx = this._getOrReturnCtx(input); + const expectedValues = this._def.values; + addIssueToContext2(ctx, { + expected: util2.joinValues(expectedValues), + received: ctx.parsedType, + code: ZodIssueCode2.invalid_type + }); + return INVALID2; + } + if (!__classPrivateFieldGet(this, _ZodEnum_cache, "f")) { + __classPrivateFieldSet(this, _ZodEnum_cache, new Set(this._def.values), "f"); + } + if (!__classPrivateFieldGet(this, _ZodEnum_cache, "f").has(input.data)) { + const ctx = this._getOrReturnCtx(input); + const expectedValues = this._def.values; + addIssueToContext2(ctx, { + received: ctx.data, + code: ZodIssueCode2.invalid_enum_value, + options: expectedValues + }); + return INVALID2; + } + return OK2(input.data); + } + get options() { + return this._def.values; + } + get enum() { + const enumValues = {}; + for (const val of this._def.values) { + enumValues[val] = val; + } + return enumValues; + } + get Values() { + const enumValues = {}; + for (const val of this._def.values) { + enumValues[val] = val; + } + return enumValues; + } + get Enum() { + const enumValues = {}; + for (const val of this._def.values) { + enumValues[val] = val; + } + return enumValues; + } + extract(values, newDef = this._def) { + return _ZodEnum.create(values, { + ...this._def, + ...newDef + }); + } + exclude(values, newDef = this._def) { + return _ZodEnum.create(this.options.filter((opt) => !values.includes(opt)), { + ...this._def, + ...newDef + }); + } +}; +_ZodEnum_cache = /* @__PURE__ */ new WeakMap(); +ZodEnum2.create = createZodEnum2; +var ZodNativeEnum2 = class extends ZodType2 { + constructor() { + super(...arguments); + _ZodNativeEnum_cache.set(this, void 0); + } + _parse(input) { + const nativeEnumValues = util2.getValidEnumValues(this._def.values); + const ctx = this._getOrReturnCtx(input); + if (ctx.parsedType !== ZodParsedType2.string && ctx.parsedType !== ZodParsedType2.number) { + const expectedValues = util2.objectValues(nativeEnumValues); + addIssueToContext2(ctx, { + expected: util2.joinValues(expectedValues), + received: ctx.parsedType, + code: ZodIssueCode2.invalid_type + }); + return INVALID2; + } + if (!__classPrivateFieldGet(this, _ZodNativeEnum_cache, "f")) { + __classPrivateFieldSet(this, _ZodNativeEnum_cache, new Set(util2.getValidEnumValues(this._def.values)), "f"); + } + if (!__classPrivateFieldGet(this, _ZodNativeEnum_cache, "f").has(input.data)) { + const expectedValues = util2.objectValues(nativeEnumValues); + addIssueToContext2(ctx, { + received: ctx.data, + code: ZodIssueCode2.invalid_enum_value, + options: expectedValues + }); + return INVALID2; + } + return OK2(input.data); + } + get enum() { + return this._def.values; + } +}; +_ZodNativeEnum_cache = /* @__PURE__ */ new WeakMap(); +ZodNativeEnum2.create = (values, params) => { + return new ZodNativeEnum2({ + values, + typeName: ZodFirstPartyTypeKind2.ZodNativeEnum, + ...processCreateParams2(params) + }); +}; +var ZodPromise2 = class extends ZodType2 { + unwrap() { + return this._def.type; + } + _parse(input) { + const { ctx } = this._processInputParams(input); + if (ctx.parsedType !== ZodParsedType2.promise && ctx.common.async === false) { + addIssueToContext2(ctx, { + code: ZodIssueCode2.invalid_type, + expected: ZodParsedType2.promise, + received: ctx.parsedType + }); + return INVALID2; + } + const promisified = ctx.parsedType === ZodParsedType2.promise ? ctx.data : Promise.resolve(ctx.data); + return OK2(promisified.then((data) => { + return this._def.type.parseAsync(data, { + path: ctx.path, + errorMap: ctx.common.contextualErrorMap + }); + })); + } +}; +ZodPromise2.create = (schema, params) => { + return new ZodPromise2({ + type: schema, + typeName: ZodFirstPartyTypeKind2.ZodPromise, + ...processCreateParams2(params) + }); +}; +var ZodEffects2 = class extends ZodType2 { + innerType() { + return this._def.schema; + } + sourceType() { + return this._def.schema._def.typeName === ZodFirstPartyTypeKind2.ZodEffects ? this._def.schema.sourceType() : this._def.schema; + } + _parse(input) { + const { status, ctx } = this._processInputParams(input); + const effect = this._def.effect || null; + const checkCtx = { + addIssue: (arg) => { + addIssueToContext2(ctx, arg); + if (arg.fatal) { + status.abort(); + } else { + status.dirty(); + } + }, + get path() { + return ctx.path; + } + }; + checkCtx.addIssue = checkCtx.addIssue.bind(checkCtx); + if (effect.type === "preprocess") { + const processed = effect.transform(ctx.data, checkCtx); + if (ctx.common.async) { + return Promise.resolve(processed).then(async (processed2) => { + if (status.value === "aborted") + return INVALID2; + const result = await this._def.schema._parseAsync({ + data: processed2, + path: ctx.path, + parent: ctx + }); + if (result.status === "aborted") + return INVALID2; + if (result.status === "dirty") + return DIRTY2(result.value); + if (status.value === "dirty") + return DIRTY2(result.value); + return result; + }); + } else { + if (status.value === "aborted") + return INVALID2; + const result = this._def.schema._parseSync({ + data: processed, + path: ctx.path, + parent: ctx + }); + if (result.status === "aborted") + return INVALID2; + if (result.status === "dirty") + return DIRTY2(result.value); + if (status.value === "dirty") + return DIRTY2(result.value); + return result; + } + } + if (effect.type === "refinement") { + const executeRefinement = (acc) => { + const result = effect.refinement(acc, checkCtx); + if (ctx.common.async) { + return Promise.resolve(result); + } + if (result instanceof Promise) { + throw new Error("Async refinement encountered during synchronous parse operation. Use .parseAsync instead."); + } + return acc; + }; + if (ctx.common.async === false) { + const inner = this._def.schema._parseSync({ + data: ctx.data, + path: ctx.path, + parent: ctx + }); + if (inner.status === "aborted") + return INVALID2; + if (inner.status === "dirty") + status.dirty(); + executeRefinement(inner.value); + return { status: status.value, value: inner.value }; + } else { + return this._def.schema._parseAsync({ data: ctx.data, path: ctx.path, parent: ctx }).then((inner) => { + if (inner.status === "aborted") + return INVALID2; + if (inner.status === "dirty") + status.dirty(); + return executeRefinement(inner.value).then(() => { + return { status: status.value, value: inner.value }; + }); + }); + } + } + if (effect.type === "transform") { + if (ctx.common.async === false) { + const base = this._def.schema._parseSync({ + data: ctx.data, + path: ctx.path, + parent: ctx + }); + if (!isValid2(base)) + return base; + const result = effect.transform(base.value, checkCtx); + if (result instanceof Promise) { + throw new Error(`Asynchronous transform encountered during synchronous parse operation. Use .parseAsync instead.`); + } + return { status: status.value, value: result }; + } else { + return this._def.schema._parseAsync({ data: ctx.data, path: ctx.path, parent: ctx }).then((base) => { + if (!isValid2(base)) + return base; + return Promise.resolve(effect.transform(base.value, checkCtx)).then((result) => ({ status: status.value, value: result })); + }); + } + } + util2.assertNever(effect); + } +}; +ZodEffects2.create = (schema, effect, params) => { + return new ZodEffects2({ + schema, + typeName: ZodFirstPartyTypeKind2.ZodEffects, + effect, + ...processCreateParams2(params) + }); +}; +ZodEffects2.createWithPreprocess = (preprocess, schema, params) => { + return new ZodEffects2({ + schema, + effect: { type: "preprocess", transform: preprocess }, + typeName: ZodFirstPartyTypeKind2.ZodEffects, + ...processCreateParams2(params) + }); +}; +var ZodOptional2 = class extends ZodType2 { + _parse(input) { + const parsedType = this._getType(input); + if (parsedType === ZodParsedType2.undefined) { + return OK2(void 0); + } + return this._def.innerType._parse(input); + } + unwrap() { + return this._def.innerType; + } +}; +ZodOptional2.create = (type, params) => { + return new ZodOptional2({ + innerType: type, + typeName: ZodFirstPartyTypeKind2.ZodOptional, + ...processCreateParams2(params) + }); +}; +var ZodNullable2 = class extends ZodType2 { + _parse(input) { + const parsedType = this._getType(input); + if (parsedType === ZodParsedType2.null) { + return OK2(null); + } + return this._def.innerType._parse(input); + } + unwrap() { + return this._def.innerType; + } +}; +ZodNullable2.create = (type, params) => { + return new ZodNullable2({ + innerType: type, + typeName: ZodFirstPartyTypeKind2.ZodNullable, + ...processCreateParams2(params) + }); +}; +var ZodDefault2 = class extends ZodType2 { + _parse(input) { + const { ctx } = this._processInputParams(input); + let data = ctx.data; + if (ctx.parsedType === ZodParsedType2.undefined) { + data = this._def.defaultValue(); + } + return this._def.innerType._parse({ + data, + path: ctx.path, + parent: ctx + }); + } + removeDefault() { + return this._def.innerType; + } +}; +ZodDefault2.create = (type, params) => { + return new ZodDefault2({ + innerType: type, + typeName: ZodFirstPartyTypeKind2.ZodDefault, + defaultValue: typeof params.default === "function" ? params.default : () => params.default, + ...processCreateParams2(params) + }); +}; +var ZodCatch2 = class extends ZodType2 { + _parse(input) { + const { ctx } = this._processInputParams(input); + const newCtx = { + ...ctx, + common: { + ...ctx.common, + issues: [] + } + }; + const result = this._def.innerType._parse({ + data: newCtx.data, + path: newCtx.path, + parent: { + ...newCtx + } + }); + if (isAsync2(result)) { + return result.then((result2) => { + return { + status: "valid", + value: result2.status === "valid" ? result2.value : this._def.catchValue({ + get error() { + return new ZodError2(newCtx.common.issues); + }, + input: newCtx.data + }) + }; + }); + } else { + return { + status: "valid", + value: result.status === "valid" ? result.value : this._def.catchValue({ + get error() { + return new ZodError2(newCtx.common.issues); + }, + input: newCtx.data + }) + }; + } + } + removeCatch() { + return this._def.innerType; + } +}; +ZodCatch2.create = (type, params) => { + return new ZodCatch2({ + innerType: type, + typeName: ZodFirstPartyTypeKind2.ZodCatch, + catchValue: typeof params.catch === "function" ? params.catch : () => params.catch, + ...processCreateParams2(params) + }); +}; +var ZodNaN2 = class extends ZodType2 { + _parse(input) { + const parsedType = this._getType(input); + if (parsedType !== ZodParsedType2.nan) { + const ctx = this._getOrReturnCtx(input); + addIssueToContext2(ctx, { + code: ZodIssueCode2.invalid_type, + expected: ZodParsedType2.nan, + received: ctx.parsedType + }); + return INVALID2; + } + return { status: "valid", value: input.data }; + } +}; +ZodNaN2.create = (params) => { + return new ZodNaN2({ + typeName: ZodFirstPartyTypeKind2.ZodNaN, + ...processCreateParams2(params) + }); +}; +var BRAND2 = Symbol("zod_brand"); +var ZodBranded2 = class extends ZodType2 { + _parse(input) { + const { ctx } = this._processInputParams(input); + const data = ctx.data; + return this._def.type._parse({ + data, + path: ctx.path, + parent: ctx + }); + } + unwrap() { + return this._def.type; + } +}; +var ZodPipeline2 = class _ZodPipeline extends ZodType2 { + _parse(input) { + const { status, ctx } = this._processInputParams(input); + if (ctx.common.async) { + const handleAsync = async () => { + const inResult = await this._def.in._parseAsync({ + data: ctx.data, + path: ctx.path, + parent: ctx + }); + if (inResult.status === "aborted") + return INVALID2; + if (inResult.status === "dirty") { + status.dirty(); + return DIRTY2(inResult.value); + } else { + return this._def.out._parseAsync({ + data: inResult.value, + path: ctx.path, + parent: ctx + }); + } + }; + return handleAsync(); + } else { + const inResult = this._def.in._parseSync({ + data: ctx.data, + path: ctx.path, + parent: ctx + }); + if (inResult.status === "aborted") + return INVALID2; + if (inResult.status === "dirty") { + status.dirty(); + return { + status: "dirty", + value: inResult.value + }; + } else { + return this._def.out._parseSync({ + data: inResult.value, + path: ctx.path, + parent: ctx + }); + } + } + } + static create(a, b) { + return new _ZodPipeline({ + in: a, + out: b, + typeName: ZodFirstPartyTypeKind2.ZodPipeline + }); + } +}; +var ZodReadonly2 = class extends ZodType2 { + _parse(input) { + const result = this._def.innerType._parse(input); + const freeze = (data) => { + if (isValid2(data)) { + data.value = Object.freeze(data.value); + } + return data; + }; + return isAsync2(result) ? result.then((data) => freeze(data)) : freeze(result); + } + unwrap() { + return this._def.innerType; + } +}; +ZodReadonly2.create = (type, params) => { + return new ZodReadonly2({ + innerType: type, + typeName: ZodFirstPartyTypeKind2.ZodReadonly, + ...processCreateParams2(params) + }); +}; +function cleanParams2(params, data) { + const p = typeof params === "function" ? params(data) : typeof params === "string" ? { message: params } : params; + const p2 = typeof p === "string" ? { message: p } : p; + return p2; +} +function custom2(check, _params = {}, fatal) { + if (check) + return ZodAny2.create().superRefine((data, ctx) => { + var _a, _b; + const r = check(data); + if (r instanceof Promise) { + return r.then((r2) => { + var _a2, _b2; + if (!r2) { + const params = cleanParams2(_params, data); + const _fatal = (_b2 = (_a2 = params.fatal) !== null && _a2 !== void 0 ? _a2 : fatal) !== null && _b2 !== void 0 ? _b2 : true; + ctx.addIssue({ code: "custom", ...params, fatal: _fatal }); + } + }); + } + if (!r) { + const params = cleanParams2(_params, data); + const _fatal = (_b = (_a = params.fatal) !== null && _a !== void 0 ? _a : fatal) !== null && _b !== void 0 ? _b : true; + ctx.addIssue({ code: "custom", ...params, fatal: _fatal }); + } + return; + }); + return ZodAny2.create(); +} +var late2 = { + object: ZodObject2.lazycreate +}; +var ZodFirstPartyTypeKind2; +(function(ZodFirstPartyTypeKind22) { + ZodFirstPartyTypeKind22["ZodString"] = "ZodString"; + ZodFirstPartyTypeKind22["ZodNumber"] = "ZodNumber"; + ZodFirstPartyTypeKind22["ZodNaN"] = "ZodNaN"; + ZodFirstPartyTypeKind22["ZodBigInt"] = "ZodBigInt"; + ZodFirstPartyTypeKind22["ZodBoolean"] = "ZodBoolean"; + ZodFirstPartyTypeKind22["ZodDate"] = "ZodDate"; + ZodFirstPartyTypeKind22["ZodSymbol"] = "ZodSymbol"; + ZodFirstPartyTypeKind22["ZodUndefined"] = "ZodUndefined"; + ZodFirstPartyTypeKind22["ZodNull"] = "ZodNull"; + ZodFirstPartyTypeKind22["ZodAny"] = "ZodAny"; + ZodFirstPartyTypeKind22["ZodUnknown"] = "ZodUnknown"; + ZodFirstPartyTypeKind22["ZodNever"] = "ZodNever"; + ZodFirstPartyTypeKind22["ZodVoid"] = "ZodVoid"; + ZodFirstPartyTypeKind22["ZodArray"] = "ZodArray"; + ZodFirstPartyTypeKind22["ZodObject"] = "ZodObject"; + ZodFirstPartyTypeKind22["ZodUnion"] = "ZodUnion"; + ZodFirstPartyTypeKind22["ZodDiscriminatedUnion"] = "ZodDiscriminatedUnion"; + ZodFirstPartyTypeKind22["ZodIntersection"] = "ZodIntersection"; + ZodFirstPartyTypeKind22["ZodTuple"] = "ZodTuple"; + ZodFirstPartyTypeKind22["ZodRecord"] = "ZodRecord"; + ZodFirstPartyTypeKind22["ZodMap"] = "ZodMap"; + ZodFirstPartyTypeKind22["ZodSet"] = "ZodSet"; + ZodFirstPartyTypeKind22["ZodFunction"] = "ZodFunction"; + ZodFirstPartyTypeKind22["ZodLazy"] = "ZodLazy"; + ZodFirstPartyTypeKind22["ZodLiteral"] = "ZodLiteral"; + ZodFirstPartyTypeKind22["ZodEnum"] = "ZodEnum"; + ZodFirstPartyTypeKind22["ZodEffects"] = "ZodEffects"; + ZodFirstPartyTypeKind22["ZodNativeEnum"] = "ZodNativeEnum"; + ZodFirstPartyTypeKind22["ZodOptional"] = "ZodOptional"; + ZodFirstPartyTypeKind22["ZodNullable"] = "ZodNullable"; + ZodFirstPartyTypeKind22["ZodDefault"] = "ZodDefault"; + ZodFirstPartyTypeKind22["ZodCatch"] = "ZodCatch"; + ZodFirstPartyTypeKind22["ZodPromise"] = "ZodPromise"; + ZodFirstPartyTypeKind22["ZodBranded"] = "ZodBranded"; + ZodFirstPartyTypeKind22["ZodPipeline"] = "ZodPipeline"; + ZodFirstPartyTypeKind22["ZodReadonly"] = "ZodReadonly"; +})(ZodFirstPartyTypeKind2 || (ZodFirstPartyTypeKind2 = {})); +var instanceOfType2 = (cls, params = { + message: `Input not instance of ${cls.name}` +}) => custom2((data) => data instanceof cls, params); +var stringType2 = ZodString2.create; +var numberType2 = ZodNumber2.create; +var nanType2 = ZodNaN2.create; +var bigIntType2 = ZodBigInt2.create; +var booleanType2 = ZodBoolean2.create; +var dateType2 = ZodDate2.create; +var symbolType2 = ZodSymbol2.create; +var undefinedType2 = ZodUndefined2.create; +var nullType2 = ZodNull2.create; +var anyType2 = ZodAny2.create; +var unknownType2 = ZodUnknown2.create; +var neverType2 = ZodNever2.create; +var voidType2 = ZodVoid2.create; +var arrayType2 = ZodArray2.create; +var objectType2 = ZodObject2.create; +var strictObjectType2 = ZodObject2.strictCreate; +var unionType2 = ZodUnion2.create; +var discriminatedUnionType2 = ZodDiscriminatedUnion2.create; +var intersectionType2 = ZodIntersection2.create; +var tupleType2 = ZodTuple2.create; +var recordType2 = ZodRecord2.create; +var mapType2 = ZodMap2.create; +var setType2 = ZodSet2.create; +var functionType2 = ZodFunction2.create; +var lazyType2 = ZodLazy2.create; +var literalType2 = ZodLiteral2.create; +var enumType2 = ZodEnum2.create; +var nativeEnumType2 = ZodNativeEnum2.create; +var promiseType2 = ZodPromise2.create; +var effectsType2 = ZodEffects2.create; +var optionalType2 = ZodOptional2.create; +var nullableType2 = ZodNullable2.create; +var preprocessType2 = ZodEffects2.createWithPreprocess; +var pipelineType2 = ZodPipeline2.create; +var ostring2 = () => stringType2().optional(); +var onumber2 = () => numberType2().optional(); +var oboolean2 = () => booleanType2().optional(); +var coerce2 = { + string: (arg) => ZodString2.create({ ...arg, coerce: true }), + number: (arg) => ZodNumber2.create({ ...arg, coerce: true }), + boolean: (arg) => ZodBoolean2.create({ + ...arg, + coerce: true + }), + bigint: (arg) => ZodBigInt2.create({ ...arg, coerce: true }), + date: (arg) => ZodDate2.create({ ...arg, coerce: true }) +}; +var NEVER2 = INVALID2; +var z = /* @__PURE__ */ Object.freeze({ + __proto__: null, + defaultErrorMap: errorMap2, + setErrorMap: setErrorMap2, + getErrorMap: getErrorMap2, + makeIssue: makeIssue2, + EMPTY_PATH: EMPTY_PATH2, + addIssueToContext: addIssueToContext2, + ParseStatus: ParseStatus2, + INVALID: INVALID2, + DIRTY: DIRTY2, + OK: OK2, + isAborted: isAborted2, + isDirty: isDirty2, + isValid: isValid2, + isAsync: isAsync2, + get util() { + return util2; + }, + get objectUtil() { + return objectUtil2; + }, + ZodParsedType: ZodParsedType2, + getParsedType: getParsedType2, + ZodType: ZodType2, + datetimeRegex: datetimeRegex2, + ZodString: ZodString2, + ZodNumber: ZodNumber2, + ZodBigInt: ZodBigInt2, + ZodBoolean: ZodBoolean2, + ZodDate: ZodDate2, + ZodSymbol: ZodSymbol2, + ZodUndefined: ZodUndefined2, + ZodNull: ZodNull2, + ZodAny: ZodAny2, + ZodUnknown: ZodUnknown2, + ZodNever: ZodNever2, + ZodVoid: ZodVoid2, + ZodArray: ZodArray2, + ZodObject: ZodObject2, + ZodUnion: ZodUnion2, + ZodDiscriminatedUnion: ZodDiscriminatedUnion2, + ZodIntersection: ZodIntersection2, + ZodTuple: ZodTuple2, + ZodRecord: ZodRecord2, + ZodMap: ZodMap2, + ZodSet: ZodSet2, + ZodFunction: ZodFunction2, + ZodLazy: ZodLazy2, + ZodLiteral: ZodLiteral2, + ZodEnum: ZodEnum2, + ZodNativeEnum: ZodNativeEnum2, + ZodPromise: ZodPromise2, + ZodEffects: ZodEffects2, + ZodTransformer: ZodEffects2, + ZodOptional: ZodOptional2, + ZodNullable: ZodNullable2, + ZodDefault: ZodDefault2, + ZodCatch: ZodCatch2, + ZodNaN: ZodNaN2, + BRAND: BRAND2, + ZodBranded: ZodBranded2, + ZodPipeline: ZodPipeline2, + ZodReadonly: ZodReadonly2, + custom: custom2, + Schema: ZodType2, + ZodSchema: ZodType2, + late: late2, + get ZodFirstPartyTypeKind() { + return ZodFirstPartyTypeKind2; + }, + coerce: coerce2, + any: anyType2, + array: arrayType2, + bigint: bigIntType2, + boolean: booleanType2, + date: dateType2, + discriminatedUnion: discriminatedUnionType2, + effect: effectsType2, + "enum": enumType2, + "function": functionType2, + "instanceof": instanceOfType2, + intersection: intersectionType2, + lazy: lazyType2, + literal: literalType2, + map: mapType2, + nan: nanType2, + nativeEnum: nativeEnumType2, + never: neverType2, + "null": nullType2, + nullable: nullableType2, + number: numberType2, + object: objectType2, + oboolean: oboolean2, + onumber: onumber2, + optional: optionalType2, + ostring: ostring2, + pipeline: pipelineType2, + preprocess: preprocessType2, + promise: promiseType2, + record: recordType2, + set: setType2, + strictObject: strictObjectType2, + string: stringType2, + symbol: symbolType2, + transformer: effectsType2, + tuple: tupleType2, + "undefined": undefinedType2, + union: unionType2, + unknown: unknownType2, + "void": voidType2, + NEVER: NEVER2, + ZodIssueCode: ZodIssueCode2, + quotelessJson: quotelessJson2, + ZodError: ZodError2 +}); +var LATEST_PROTOCOL_VERSION2 = "2025-06-18"; +var DEFAULT_NEGOTIATED_PROTOCOL_VERSION = "2025-03-26"; +var SUPPORTED_PROTOCOL_VERSIONS2 = [ + LATEST_PROTOCOL_VERSION2, + "2025-03-26", + "2024-11-05", + "2024-10-07" +]; +var JSONRPC_VERSION2 = "2.0"; +var ProgressTokenSchema2 = z.union([z.string(), z.number().int()]); +var CursorSchema2 = z.string(); +var RequestMetaSchema2 = z.object({ + /** + * If specified, the caller is requesting out-of-band progress notifications for this request (as represented by notifications/progress). The value of this parameter is an opaque token that will be attached to any subsequent notifications. The receiver is not obligated to provide these notifications. + */ + progressToken: z.optional(ProgressTokenSchema2) +}).passthrough(); +var BaseRequestParamsSchema2 = z.object({ + _meta: z.optional(RequestMetaSchema2) +}).passthrough(); +var RequestSchema2 = z.object({ + method: z.string(), + params: z.optional(BaseRequestParamsSchema2) +}); +var BaseNotificationParamsSchema2 = z.object({ + /** + * See [MCP specification](https://github.com/modelcontextprotocol/modelcontextprotocol/blob/47339c03c143bb4ec01a26e721a1b8fe66634ebe/docs/specification/draft/basic/index.mdx#general-fields) + * for notes on _meta usage. + */ + _meta: z.optional(z.object({}).passthrough()) +}).passthrough(); +var NotificationSchema2 = z.object({ + method: z.string(), + params: z.optional(BaseNotificationParamsSchema2) +}); +var ResultSchema2 = z.object({ + /** + * See [MCP specification](https://github.com/modelcontextprotocol/modelcontextprotocol/blob/47339c03c143bb4ec01a26e721a1b8fe66634ebe/docs/specification/draft/basic/index.mdx#general-fields) + * for notes on _meta usage. + */ + _meta: z.optional(z.object({}).passthrough()) +}).passthrough(); +var RequestIdSchema2 = z.union([z.string(), z.number().int()]); +var JSONRPCRequestSchema2 = z.object({ + jsonrpc: z.literal(JSONRPC_VERSION2), + id: RequestIdSchema2 +}).merge(RequestSchema2).strict(); +var isJSONRPCRequest2 = (value) => JSONRPCRequestSchema2.safeParse(value).success; +var JSONRPCNotificationSchema2 = z.object({ + jsonrpc: z.literal(JSONRPC_VERSION2) +}).merge(NotificationSchema2).strict(); +var JSONRPCResponseSchema2 = z.object({ + jsonrpc: z.literal(JSONRPC_VERSION2), + id: RequestIdSchema2, + result: ResultSchema2 +}).strict(); +var isJSONRPCResponse2 = (value) => JSONRPCResponseSchema2.safeParse(value).success; +var ErrorCode2; +(function(ErrorCode22) { + ErrorCode22[ErrorCode22["ConnectionClosed"] = -32e3] = "ConnectionClosed"; + ErrorCode22[ErrorCode22["RequestTimeout"] = -32001] = "RequestTimeout"; + ErrorCode22[ErrorCode22["ParseError"] = -32700] = "ParseError"; + ErrorCode22[ErrorCode22["InvalidRequest"] = -32600] = "InvalidRequest"; + ErrorCode22[ErrorCode22["MethodNotFound"] = -32601] = "MethodNotFound"; + ErrorCode22[ErrorCode22["InvalidParams"] = -32602] = "InvalidParams"; + ErrorCode22[ErrorCode22["InternalError"] = -32603] = "InternalError"; +})(ErrorCode2 || (ErrorCode2 = {})); +var JSONRPCErrorSchema2 = z.object({ + jsonrpc: z.literal(JSONRPC_VERSION2), + id: RequestIdSchema2, + error: z.object({ + /** + * The error type that occurred. + */ + code: z.number().int(), + /** + * A short description of the error. The message SHOULD be limited to a concise single sentence. + */ + message: z.string(), + /** + * Additional information about the error. The value of this member is defined by the sender (e.g. detailed error information, nested errors etc.). + */ + data: z.optional(z.unknown()) + }) +}).strict(); +var isJSONRPCError2 = (value) => JSONRPCErrorSchema2.safeParse(value).success; +var JSONRPCMessageSchema2 = z.union([ + JSONRPCRequestSchema2, + JSONRPCNotificationSchema2, + JSONRPCResponseSchema2, + JSONRPCErrorSchema2 +]); +var EmptyResultSchema2 = ResultSchema2.strict(); +var CancelledNotificationSchema2 = NotificationSchema2.extend({ + method: z.literal("notifications/cancelled"), + params: BaseNotificationParamsSchema2.extend({ + /** + * The ID of the request to cancel. + * + * This MUST correspond to the ID of a request previously issued in the same direction. + */ + requestId: RequestIdSchema2, + /** + * An optional string describing the reason for the cancellation. This MAY be logged or presented to the user. + */ + reason: z.string().optional() + }) +}); +var BaseMetadataSchema2 = z.object({ + /** Intended for programmatic or logical use, but used as a display name in past specs or fallback */ + name: z.string(), + /** + * Intended for UI and end-user contexts — optimized to be human-readable and easily understood, + * even by those unfamiliar with domain-specific terminology. + * + * If not provided, the name should be used for display (except for Tool, + * where `annotations.title` should be given precedence over using `name`, + * if present). + */ + title: z.optional(z.string()) +}).passthrough(); +var ImplementationSchema2 = BaseMetadataSchema2.extend({ + version: z.string() +}); +var ClientCapabilitiesSchema2 = z.object({ + /** + * Experimental, non-standard capabilities that the client supports. + */ + experimental: z.optional(z.object({}).passthrough()), + /** + * Present if the client supports sampling from an LLM. + */ + sampling: z.optional(z.object({}).passthrough()), + /** + * Present if the client supports eliciting user input. + */ + elicitation: z.optional(z.object({}).passthrough()), + /** + * Present if the client supports listing roots. + */ + roots: z.optional(z.object({ + /** + * Whether the client supports issuing notifications for changes to the roots list. + */ + listChanged: z.optional(z.boolean()) + }).passthrough()) +}).passthrough(); +var InitializeRequestSchema2 = RequestSchema2.extend({ + method: z.literal("initialize"), + params: BaseRequestParamsSchema2.extend({ + /** + * The latest version of the Model Context Protocol that the client supports. The client MAY decide to support older versions as well. + */ + protocolVersion: z.string(), + capabilities: ClientCapabilitiesSchema2, + clientInfo: ImplementationSchema2 + }) +}); +var isInitializeRequest = (value) => InitializeRequestSchema2.safeParse(value).success; +var ServerCapabilitiesSchema2 = z.object({ + /** + * Experimental, non-standard capabilities that the server supports. + */ + experimental: z.optional(z.object({}).passthrough()), + /** + * Present if the server supports sending log messages to the client. + */ + logging: z.optional(z.object({}).passthrough()), + /** + * Present if the server supports sending completions to the client. + */ + completions: z.optional(z.object({}).passthrough()), + /** + * Present if the server offers any prompt templates. + */ + prompts: z.optional(z.object({ + /** + * Whether this server supports issuing notifications for changes to the prompt list. + */ + listChanged: z.optional(z.boolean()) + }).passthrough()), + /** + * Present if the server offers any resources to read. + */ + resources: z.optional(z.object({ + /** + * Whether this server supports clients subscribing to resource updates. + */ + subscribe: z.optional(z.boolean()), + /** + * Whether this server supports issuing notifications for changes to the resource list. + */ + listChanged: z.optional(z.boolean()) + }).passthrough()), + /** + * Present if the server offers any tools to call. + */ + tools: z.optional(z.object({ + /** + * Whether this server supports issuing notifications for changes to the tool list. + */ + listChanged: z.optional(z.boolean()) + }).passthrough()) +}).passthrough(); +var InitializeResultSchema2 = ResultSchema2.extend({ + /** + * The version of the Model Context Protocol that the server wants to use. This may not match the version that the client requested. If the client cannot support this version, it MUST disconnect. + */ + protocolVersion: z.string(), + capabilities: ServerCapabilitiesSchema2, + serverInfo: ImplementationSchema2, + /** + * Instructions describing how to use the server and its features. + * + * This can be used by clients to improve the LLM's understanding of available tools, resources, etc. It can be thought of like a "hint" to the model. For example, this information MAY be added to the system prompt. + */ + instructions: z.optional(z.string()) +}); +var InitializedNotificationSchema2 = NotificationSchema2.extend({ + method: z.literal("notifications/initialized") +}); +var PingRequestSchema2 = RequestSchema2.extend({ + method: z.literal("ping") +}); +var ProgressSchema2 = z.object({ + /** + * The progress thus far. This should increase every time progress is made, even if the total is unknown. + */ + progress: z.number(), + /** + * Total number of items to process (or total progress required), if known. + */ + total: z.optional(z.number()), + /** + * An optional message describing the current progress. + */ + message: z.optional(z.string()) +}).passthrough(); +var ProgressNotificationSchema2 = NotificationSchema2.extend({ + method: z.literal("notifications/progress"), + params: BaseNotificationParamsSchema2.merge(ProgressSchema2).extend({ + /** + * The progress token which was given in the initial request, used to associate this notification with the request that is proceeding. + */ + progressToken: ProgressTokenSchema2 + }) +}); +var PaginatedRequestSchema2 = RequestSchema2.extend({ + params: BaseRequestParamsSchema2.extend({ + /** + * An opaque token representing the current pagination position. + * If provided, the server should return results starting after this cursor. + */ + cursor: z.optional(CursorSchema2) + }).optional() +}); +var PaginatedResultSchema2 = ResultSchema2.extend({ + /** + * An opaque token representing the pagination position after the last returned result. + * If present, there may be more results available. + */ + nextCursor: z.optional(CursorSchema2) +}); +var ResourceContentsSchema2 = z.object({ + /** + * The URI of this resource. + */ + uri: z.string(), + /** + * The MIME type of this resource, if known. + */ + mimeType: z.optional(z.string()), + /** + * See [MCP specification](https://github.com/modelcontextprotocol/modelcontextprotocol/blob/47339c03c143bb4ec01a26e721a1b8fe66634ebe/docs/specification/draft/basic/index.mdx#general-fields) + * for notes on _meta usage. + */ + _meta: z.optional(z.object({}).passthrough()) +}).passthrough(); +var TextResourceContentsSchema2 = ResourceContentsSchema2.extend({ + /** + * The text of the item. This must only be set if the item can actually be represented as text (not binary data). + */ + text: z.string() +}); +var Base64Schema2 = z.string().refine((val) => { + try { + atob(val); + return true; + } catch (_a) { + return false; + } +}, { message: "Invalid Base64 string" }); +var BlobResourceContentsSchema2 = ResourceContentsSchema2.extend({ + /** + * A base64-encoded string representing the binary data of the item. + */ + blob: Base64Schema2 +}); +var ResourceSchema2 = BaseMetadataSchema2.extend({ + /** + * The URI of this resource. + */ + uri: z.string(), + /** + * A description of what this resource represents. + * + * This can be used by clients to improve the LLM's understanding of available resources. It can be thought of like a "hint" to the model. + */ + description: z.optional(z.string()), + /** + * The MIME type of this resource, if known. + */ + mimeType: z.optional(z.string()), + /** + * See [MCP specification](https://github.com/modelcontextprotocol/modelcontextprotocol/blob/47339c03c143bb4ec01a26e721a1b8fe66634ebe/docs/specification/draft/basic/index.mdx#general-fields) + * for notes on _meta usage. + */ + _meta: z.optional(z.object({}).passthrough()) +}); +var ResourceTemplateSchema2 = BaseMetadataSchema2.extend({ + /** + * A URI template (according to RFC 6570) that can be used to construct resource URIs. + */ + uriTemplate: z.string(), + /** + * A description of what this template is for. + * + * This can be used by clients to improve the LLM's understanding of available resources. It can be thought of like a "hint" to the model. + */ + description: z.optional(z.string()), + /** + * The MIME type for all resources that match this template. This should only be included if all resources matching this template have the same type. + */ + mimeType: z.optional(z.string()), + /** + * See [MCP specification](https://github.com/modelcontextprotocol/modelcontextprotocol/blob/47339c03c143bb4ec01a26e721a1b8fe66634ebe/docs/specification/draft/basic/index.mdx#general-fields) + * for notes on _meta usage. + */ + _meta: z.optional(z.object({}).passthrough()) +}); +var ListResourcesRequestSchema2 = PaginatedRequestSchema2.extend({ + method: z.literal("resources/list") +}); +var ListResourcesResultSchema2 = PaginatedResultSchema2.extend({ + resources: z.array(ResourceSchema2) +}); +var ListResourceTemplatesRequestSchema2 = PaginatedRequestSchema2.extend({ + method: z.literal("resources/templates/list") +}); +var ListResourceTemplatesResultSchema2 = PaginatedResultSchema2.extend({ + resourceTemplates: z.array(ResourceTemplateSchema2) +}); +var ReadResourceRequestSchema2 = RequestSchema2.extend({ + method: z.literal("resources/read"), + params: BaseRequestParamsSchema2.extend({ + /** + * The URI of the resource to read. The URI can use any protocol; it is up to the server how to interpret it. + */ + uri: z.string() + }) +}); +var ReadResourceResultSchema2 = ResultSchema2.extend({ + contents: z.array(z.union([TextResourceContentsSchema2, BlobResourceContentsSchema2])) +}); +var ResourceListChangedNotificationSchema2 = NotificationSchema2.extend({ + method: z.literal("notifications/resources/list_changed") +}); +var SubscribeRequestSchema2 = RequestSchema2.extend({ + method: z.literal("resources/subscribe"), + params: BaseRequestParamsSchema2.extend({ + /** + * The URI of the resource to subscribe to. The URI can use any protocol; it is up to the server how to interpret it. + */ + uri: z.string() + }) +}); +var UnsubscribeRequestSchema2 = RequestSchema2.extend({ + method: z.literal("resources/unsubscribe"), + params: BaseRequestParamsSchema2.extend({ + /** + * The URI of the resource to unsubscribe from. + */ + uri: z.string() + }) +}); +var ResourceUpdatedNotificationSchema2 = NotificationSchema2.extend({ + method: z.literal("notifications/resources/updated"), + params: BaseNotificationParamsSchema2.extend({ + /** + * The URI of the resource that has been updated. This might be a sub-resource of the one that the client actually subscribed to. + */ + uri: z.string() + }) +}); +var PromptArgumentSchema2 = z.object({ + /** + * The name of the argument. + */ + name: z.string(), + /** + * A human-readable description of the argument. + */ + description: z.optional(z.string()), + /** + * Whether this argument must be provided. + */ + required: z.optional(z.boolean()) +}).passthrough(); +var PromptSchema2 = BaseMetadataSchema2.extend({ + /** + * An optional description of what this prompt provides + */ + description: z.optional(z.string()), + /** + * A list of arguments to use for templating the prompt. + */ + arguments: z.optional(z.array(PromptArgumentSchema2)), + /** + * See [MCP specification](https://github.com/modelcontextprotocol/modelcontextprotocol/blob/47339c03c143bb4ec01a26e721a1b8fe66634ebe/docs/specification/draft/basic/index.mdx#general-fields) + * for notes on _meta usage. + */ + _meta: z.optional(z.object({}).passthrough()) +}); +var ListPromptsRequestSchema2 = PaginatedRequestSchema2.extend({ + method: z.literal("prompts/list") +}); +var ListPromptsResultSchema2 = PaginatedResultSchema2.extend({ + prompts: z.array(PromptSchema2) +}); +var GetPromptRequestSchema2 = RequestSchema2.extend({ + method: z.literal("prompts/get"), + params: BaseRequestParamsSchema2.extend({ + /** + * The name of the prompt or prompt template. + */ + name: z.string(), + /** + * Arguments to use for templating the prompt. + */ + arguments: z.optional(z.record(z.string())) + }) +}); +var TextContentSchema2 = z.object({ + type: z.literal("text"), + /** + * The text content of the message. + */ + text: z.string(), + /** + * See [MCP specification](https://github.com/modelcontextprotocol/modelcontextprotocol/blob/47339c03c143bb4ec01a26e721a1b8fe66634ebe/docs/specification/draft/basic/index.mdx#general-fields) + * for notes on _meta usage. + */ + _meta: z.optional(z.object({}).passthrough()) +}).passthrough(); +var ImageContentSchema2 = z.object({ + type: z.literal("image"), + /** + * The base64-encoded image data. + */ + data: Base64Schema2, + /** + * The MIME type of the image. Different providers may support different image types. + */ + mimeType: z.string(), + /** + * See [MCP specification](https://github.com/modelcontextprotocol/modelcontextprotocol/blob/47339c03c143bb4ec01a26e721a1b8fe66634ebe/docs/specification/draft/basic/index.mdx#general-fields) + * for notes on _meta usage. + */ + _meta: z.optional(z.object({}).passthrough()) +}).passthrough(); +var AudioContentSchema2 = z.object({ + type: z.literal("audio"), + /** + * The base64-encoded audio data. + */ + data: Base64Schema2, + /** + * The MIME type of the audio. Different providers may support different audio types. + */ + mimeType: z.string(), + /** + * See [MCP specification](https://github.com/modelcontextprotocol/modelcontextprotocol/blob/47339c03c143bb4ec01a26e721a1b8fe66634ebe/docs/specification/draft/basic/index.mdx#general-fields) + * for notes on _meta usage. + */ + _meta: z.optional(z.object({}).passthrough()) +}).passthrough(); +var EmbeddedResourceSchema2 = z.object({ + type: z.literal("resource"), + resource: z.union([TextResourceContentsSchema2, BlobResourceContentsSchema2]), + /** + * See [MCP specification](https://github.com/modelcontextprotocol/modelcontextprotocol/blob/47339c03c143bb4ec01a26e721a1b8fe66634ebe/docs/specification/draft/basic/index.mdx#general-fields) + * for notes on _meta usage. + */ + _meta: z.optional(z.object({}).passthrough()) +}).passthrough(); +var ResourceLinkSchema2 = ResourceSchema2.extend({ + type: z.literal("resource_link") +}); +var ContentBlockSchema2 = z.union([ + TextContentSchema2, + ImageContentSchema2, + AudioContentSchema2, + ResourceLinkSchema2, + EmbeddedResourceSchema2 +]); +var PromptMessageSchema2 = z.object({ + role: z.enum(["user", "assistant"]), + content: ContentBlockSchema2 +}).passthrough(); +var GetPromptResultSchema2 = ResultSchema2.extend({ + /** + * An optional description for the prompt. + */ + description: z.optional(z.string()), + messages: z.array(PromptMessageSchema2) +}); +var PromptListChangedNotificationSchema2 = NotificationSchema2.extend({ + method: z.literal("notifications/prompts/list_changed") +}); +var ToolAnnotationsSchema2 = z.object({ + /** + * A human-readable title for the tool. + */ + title: z.optional(z.string()), + /** + * If true, the tool does not modify its environment. + * + * Default: false + */ + readOnlyHint: z.optional(z.boolean()), + /** + * If true, the tool may perform destructive updates to its environment. + * If false, the tool performs only additive updates. + * + * (This property is meaningful only when `readOnlyHint == false`) + * + * Default: true + */ + destructiveHint: z.optional(z.boolean()), + /** + * If true, calling the tool repeatedly with the same arguments + * will have no additional effect on the its environment. + * + * (This property is meaningful only when `readOnlyHint == false`) + * + * Default: false + */ + idempotentHint: z.optional(z.boolean()), + /** + * If true, this tool may interact with an "open world" of external + * entities. If false, the tool's domain of interaction is closed. + * For example, the world of a web search tool is open, whereas that + * of a memory tool is not. + * + * Default: true + */ + openWorldHint: z.optional(z.boolean()) +}).passthrough(); +var ToolSchema2 = BaseMetadataSchema2.extend({ + /** + * A human-readable description of the tool. + */ + description: z.optional(z.string()), + /** + * A JSON Schema object defining the expected parameters for the tool. + */ + inputSchema: z.object({ + type: z.literal("object"), + properties: z.optional(z.object({}).passthrough()), + required: z.optional(z.array(z.string())) + }).passthrough(), + /** + * An optional JSON Schema object defining the structure of the tool's output returned in + * the structuredContent field of a CallToolResult. + */ + outputSchema: z.optional(z.object({ + type: z.literal("object"), + properties: z.optional(z.object({}).passthrough()), + required: z.optional(z.array(z.string())) + }).passthrough()), + /** + * Optional additional tool information. + */ + annotations: z.optional(ToolAnnotationsSchema2), + /** + * See [MCP specification](https://github.com/modelcontextprotocol/modelcontextprotocol/blob/47339c03c143bb4ec01a26e721a1b8fe66634ebe/docs/specification/draft/basic/index.mdx#general-fields) + * for notes on _meta usage. + */ + _meta: z.optional(z.object({}).passthrough()) +}); +var ListToolsRequestSchema2 = PaginatedRequestSchema2.extend({ + method: z.literal("tools/list") +}); +var ListToolsResultSchema2 = PaginatedResultSchema2.extend({ + tools: z.array(ToolSchema2) +}); +var CallToolResultSchema2 = ResultSchema2.extend({ + /** + * A list of content objects that represent the result of the tool call. + * + * If the Tool does not define an outputSchema, this field MUST be present in the result. + * For backwards compatibility, this field is always present, but it may be empty. + */ + content: z.array(ContentBlockSchema2).default([]), + /** + * An object containing structured tool output. + * + * If the Tool defines an outputSchema, this field MUST be present in the result, and contain a JSON object that matches the schema. + */ + structuredContent: z.object({}).passthrough().optional(), + /** + * Whether the tool call ended in an error. + * + * If not set, this is assumed to be false (the call was successful). + * + * Any errors that originate from the tool SHOULD be reported inside the result + * object, with `isError` set to true, _not_ as an MCP protocol-level error + * response. Otherwise, the LLM would not be able to see that an error occurred + * and self-correct. + * + * However, any errors in _finding_ the tool, an error indicating that the + * server does not support tool calls, or any other exceptional conditions, + * should be reported as an MCP error response. + */ + isError: z.optional(z.boolean()) +}); +var CompatibilityCallToolResultSchema2 = CallToolResultSchema2.or(ResultSchema2.extend({ + toolResult: z.unknown() +})); +var CallToolRequestSchema2 = RequestSchema2.extend({ + method: z.literal("tools/call"), + params: BaseRequestParamsSchema2.extend({ + name: z.string(), + arguments: z.optional(z.record(z.unknown())) + }) +}); +var ToolListChangedNotificationSchema2 = NotificationSchema2.extend({ + method: z.literal("notifications/tools/list_changed") +}); +var LoggingLevelSchema2 = z.enum([ + "debug", + "info", + "notice", + "warning", + "error", + "critical", + "alert", + "emergency" +]); +var SetLevelRequestSchema2 = RequestSchema2.extend({ + method: z.literal("logging/setLevel"), + params: BaseRequestParamsSchema2.extend({ + /** + * The level of logging that the client wants to receive from the server. The server should send all logs at this level and higher (i.e., more severe) to the client as notifications/logging/message. + */ + level: LoggingLevelSchema2 + }) +}); +var LoggingMessageNotificationSchema2 = NotificationSchema2.extend({ + method: z.literal("notifications/message"), + params: BaseNotificationParamsSchema2.extend({ + /** + * The severity of this log message. + */ + level: LoggingLevelSchema2, + /** + * An optional name of the logger issuing this message. + */ + logger: z.optional(z.string()), + /** + * The data to be logged, such as a string message or an object. Any JSON serializable type is allowed here. + */ + data: z.unknown() + }) +}); +var ModelHintSchema2 = z.object({ + /** + * A hint for a model name. + */ + name: z.string().optional() +}).passthrough(); +var ModelPreferencesSchema2 = z.object({ + /** + * Optional hints to use for model selection. + */ + hints: z.optional(z.array(ModelHintSchema2)), + /** + * How much to prioritize cost when selecting a model. + */ + costPriority: z.optional(z.number().min(0).max(1)), + /** + * How much to prioritize sampling speed (latency) when selecting a model. + */ + speedPriority: z.optional(z.number().min(0).max(1)), + /** + * How much to prioritize intelligence and capabilities when selecting a model. + */ + intelligencePriority: z.optional(z.number().min(0).max(1)) +}).passthrough(); +var SamplingMessageSchema2 = z.object({ + role: z.enum(["user", "assistant"]), + content: z.union([TextContentSchema2, ImageContentSchema2, AudioContentSchema2]) +}).passthrough(); +var CreateMessageRequestSchema2 = RequestSchema2.extend({ + method: z.literal("sampling/createMessage"), + params: BaseRequestParamsSchema2.extend({ + messages: z.array(SamplingMessageSchema2), + /** + * An optional system prompt the server wants to use for sampling. The client MAY modify or omit this prompt. + */ + systemPrompt: z.optional(z.string()), + /** + * A request to include context from one or more MCP servers (including the caller), to be attached to the prompt. The client MAY ignore this request. + */ + includeContext: z.optional(z.enum(["none", "thisServer", "allServers"])), + temperature: z.optional(z.number()), + /** + * The maximum number of tokens to sample, as requested by the server. The client MAY choose to sample fewer tokens than requested. + */ + maxTokens: z.number().int(), + stopSequences: z.optional(z.array(z.string())), + /** + * Optional metadata to pass through to the LLM provider. The format of this metadata is provider-specific. + */ + metadata: z.optional(z.object({}).passthrough()), + /** + * The server's preferences for which model to select. + */ + modelPreferences: z.optional(ModelPreferencesSchema2) + }) +}); +var CreateMessageResultSchema2 = ResultSchema2.extend({ + /** + * The name of the model that generated the message. + */ + model: z.string(), + /** + * The reason why sampling stopped. + */ + stopReason: z.optional(z.enum(["endTurn", "stopSequence", "maxTokens"]).or(z.string())), + role: z.enum(["user", "assistant"]), + content: z.discriminatedUnion("type", [ + TextContentSchema2, + ImageContentSchema2, + AudioContentSchema2 + ]) +}); +var BooleanSchemaSchema2 = z.object({ + type: z.literal("boolean"), + title: z.optional(z.string()), + description: z.optional(z.string()), + default: z.optional(z.boolean()) +}).passthrough(); +var StringSchemaSchema2 = z.object({ + type: z.literal("string"), + title: z.optional(z.string()), + description: z.optional(z.string()), + minLength: z.optional(z.number()), + maxLength: z.optional(z.number()), + format: z.optional(z.enum(["email", "uri", "date", "date-time"])) +}).passthrough(); +var NumberSchemaSchema2 = z.object({ + type: z.enum(["number", "integer"]), + title: z.optional(z.string()), + description: z.optional(z.string()), + minimum: z.optional(z.number()), + maximum: z.optional(z.number()) +}).passthrough(); +var EnumSchemaSchema2 = z.object({ + type: z.literal("string"), + title: z.optional(z.string()), + description: z.optional(z.string()), + enum: z.array(z.string()), + enumNames: z.optional(z.array(z.string())) +}).passthrough(); +var PrimitiveSchemaDefinitionSchema2 = z.union([ + BooleanSchemaSchema2, + StringSchemaSchema2, + NumberSchemaSchema2, + EnumSchemaSchema2 +]); +var ElicitRequestSchema2 = RequestSchema2.extend({ + method: z.literal("elicitation/create"), + params: BaseRequestParamsSchema2.extend({ + /** + * The message to present to the user. + */ + message: z.string(), + /** + * The schema for the requested user input. + */ + requestedSchema: z.object({ + type: z.literal("object"), + properties: z.record(z.string(), PrimitiveSchemaDefinitionSchema2), + required: z.optional(z.array(z.string())) + }).passthrough() + }) +}); +var ElicitResultSchema2 = ResultSchema2.extend({ + /** + * The user's response action. + */ + action: z.enum(["accept", "decline", "cancel"]), + /** + * The collected user input content (only present if action is "accept"). + */ + content: z.optional(z.record(z.string(), z.unknown())) +}); +var ResourceTemplateReferenceSchema2 = z.object({ + type: z.literal("ref/resource"), + /** + * The URI or URI template of the resource. + */ + uri: z.string() +}).passthrough(); +var PromptReferenceSchema2 = z.object({ + type: z.literal("ref/prompt"), + /** + * The name of the prompt or prompt template + */ + name: z.string() +}).passthrough(); +var CompleteRequestSchema2 = RequestSchema2.extend({ + method: z.literal("completion/complete"), + params: BaseRequestParamsSchema2.extend({ + ref: z.union([PromptReferenceSchema2, ResourceTemplateReferenceSchema2]), + /** + * The argument's information + */ + argument: z.object({ + /** + * The name of the argument + */ + name: z.string(), + /** + * The value of the argument to use for completion matching. + */ + value: z.string() + }).passthrough(), + context: z.optional(z.object({ + /** + * Previously-resolved variables in a URI template or prompt. + */ + arguments: z.optional(z.record(z.string(), z.string())) + })) + }) +}); +var CompleteResultSchema2 = ResultSchema2.extend({ + completion: z.object({ + /** + * An array of completion values. Must not exceed 100 items. + */ + values: z.array(z.string()).max(100), + /** + * The total number of completion options available. This can exceed the number of values actually sent in the response. + */ + total: z.optional(z.number().int()), + /** + * Indicates whether there are additional completion options beyond those provided in the current response, even if the exact total is unknown. + */ + hasMore: z.optional(z.boolean()) + }).passthrough() +}); +var RootSchema2 = z.object({ + /** + * The URI identifying the root. This *must* start with file:// for now. + */ + uri: z.string().startsWith("file://"), + /** + * An optional name for the root. + */ + name: z.optional(z.string()), + /** + * See [MCP specification](https://github.com/modelcontextprotocol/modelcontextprotocol/blob/47339c03c143bb4ec01a26e721a1b8fe66634ebe/docs/specification/draft/basic/index.mdx#general-fields) + * for notes on _meta usage. + */ + _meta: z.optional(z.object({}).passthrough()) +}).passthrough(); +var ListRootsRequestSchema2 = RequestSchema2.extend({ + method: z.literal("roots/list") +}); +var ListRootsResultSchema2 = ResultSchema2.extend({ + roots: z.array(RootSchema2) +}); +var RootsListChangedNotificationSchema2 = NotificationSchema2.extend({ + method: z.literal("notifications/roots/list_changed") +}); +var ClientRequestSchema2 = z.union([ + PingRequestSchema2, + InitializeRequestSchema2, + CompleteRequestSchema2, + SetLevelRequestSchema2, + GetPromptRequestSchema2, + ListPromptsRequestSchema2, + ListResourcesRequestSchema2, + ListResourceTemplatesRequestSchema2, + ReadResourceRequestSchema2, + SubscribeRequestSchema2, + UnsubscribeRequestSchema2, + CallToolRequestSchema2, + ListToolsRequestSchema2 +]); +var ClientNotificationSchema2 = z.union([ + CancelledNotificationSchema2, + ProgressNotificationSchema2, + InitializedNotificationSchema2, + RootsListChangedNotificationSchema2 +]); +var ClientResultSchema2 = z.union([ + EmptyResultSchema2, + CreateMessageResultSchema2, + ElicitResultSchema2, + ListRootsResultSchema2 +]); +var ServerRequestSchema2 = z.union([ + PingRequestSchema2, + CreateMessageRequestSchema2, + ElicitRequestSchema2, + ListRootsRequestSchema2 +]); +var ServerNotificationSchema2 = z.union([ + CancelledNotificationSchema2, + ProgressNotificationSchema2, + LoggingMessageNotificationSchema2, + ResourceUpdatedNotificationSchema2, + ResourceListChangedNotificationSchema2, + ToolListChangedNotificationSchema2, + PromptListChangedNotificationSchema2 +]); +var ServerResultSchema2 = z.union([ + EmptyResultSchema2, + InitializeResultSchema2, + CompleteResultSchema2, + GetPromptResultSchema2, + ListPromptsResultSchema2, + ListResourcesResultSchema2, + ListResourceTemplatesResultSchema2, + ReadResourceResultSchema2, + CallToolResultSchema2, + ListToolsResultSchema2 +]); +var import_raw_body = __toESM2(require_raw_body(), 1); +var import_content_type = __toESM2(require_content_type(), 1); +var import_node_crypto = require("node:crypto"); +var MAXIMUM_MESSAGE_SIZE = "4mb"; +var StreamableHTTPServerTransport = class { + constructor(options) { + var _a, _b; + this._started = false; + this._streamMapping = /* @__PURE__ */ new Map(); + this._requestToStreamMapping = /* @__PURE__ */ new Map(); + this._requestResponseMap = /* @__PURE__ */ new Map(); + this._initialized = false; + this._enableJsonResponse = false; + this._standaloneSseStreamId = "_GET_stream"; + this.sessionIdGenerator = options.sessionIdGenerator; + this._enableJsonResponse = (_a = options.enableJsonResponse) !== null && _a !== void 0 ? _a : false; + this._eventStore = options.eventStore; + this._onsessioninitialized = options.onsessioninitialized; + this._onsessionclosed = options.onsessionclosed; + this._allowedHosts = options.allowedHosts; + this._allowedOrigins = options.allowedOrigins; + this._enableDnsRebindingProtection = (_b = options.enableDnsRebindingProtection) !== null && _b !== void 0 ? _b : false; + } + /** + * Starts the transport. This is required by the Transport interface but is a no-op + * for the Streamable HTTP transport as connections are managed per-request. + */ + async start() { + if (this._started) { + throw new Error("Transport already started"); + } + this._started = true; + } + /** + * Validates request headers for DNS rebinding protection. + * @returns Error message if validation fails, undefined if validation passes. + */ + validateRequestHeaders(req) { + if (!this._enableDnsRebindingProtection) { + return void 0; + } + if (this._allowedHosts && this._allowedHosts.length > 0) { + const hostHeader = req.headers.host; + if (!hostHeader || !this._allowedHosts.includes(hostHeader)) { + return `Invalid Host header: ${hostHeader}`; + } + } + if (this._allowedOrigins && this._allowedOrigins.length > 0) { + const originHeader = req.headers.origin; + if (!originHeader || !this._allowedOrigins.includes(originHeader)) { + return `Invalid Origin header: ${originHeader}`; + } + } + return void 0; + } + /** + * Handles an incoming HTTP request, whether GET or POST + */ + async handleRequest(req, res, parsedBody) { + var _a; + const validationError = this.validateRequestHeaders(req); + if (validationError) { + res.writeHead(403).end(JSON.stringify({ + jsonrpc: "2.0", + error: { + code: -32e3, + message: validationError + }, + id: null + })); + (_a = this.onerror) === null || _a === void 0 ? void 0 : _a.call(this, new Error(validationError)); + return; + } + if (req.method === "POST") { + await this.handlePostRequest(req, res, parsedBody); + } else if (req.method === "GET") { + await this.handleGetRequest(req, res); + } else if (req.method === "DELETE") { + await this.handleDeleteRequest(req, res); + } else { + await this.handleUnsupportedRequest(res); + } + } + /** + * Handles GET requests for SSE stream + */ + async handleGetRequest(req, res) { + const acceptHeader = req.headers.accept; + if (!(acceptHeader === null || acceptHeader === void 0 ? void 0 : acceptHeader.includes("text/event-stream"))) { + res.writeHead(406).end(JSON.stringify({ + jsonrpc: "2.0", + error: { + code: -32e3, + message: "Not Acceptable: Client must accept text/event-stream" + }, + id: null + })); + return; + } + if (!this.validateSession(req, res)) { + return; + } + if (!this.validateProtocolVersion(req, res)) { + return; + } + if (this._eventStore) { + const lastEventId = req.headers["last-event-id"]; + if (lastEventId) { + await this.replayEvents(lastEventId, res); + return; + } + } + const headers = { + "Content-Type": "text/event-stream", + "Cache-Control": "no-cache, no-transform", + Connection: "keep-alive" + }; + if (this.sessionId !== void 0) { + headers["mcp-session-id"] = this.sessionId; + } + if (this._streamMapping.get(this._standaloneSseStreamId) !== void 0) { + res.writeHead(409).end(JSON.stringify({ + jsonrpc: "2.0", + error: { + code: -32e3, + message: "Conflict: Only one SSE stream is allowed per session" + }, + id: null + })); + return; + } + res.writeHead(200, headers).flushHeaders(); + this._streamMapping.set(this._standaloneSseStreamId, res); + res.on("close", () => { + this._streamMapping.delete(this._standaloneSseStreamId); + }); + } + /** + * Replays events that would have been sent after the specified event ID + * Only used when resumability is enabled + */ + async replayEvents(lastEventId, res) { + var _a, _b; + if (!this._eventStore) { + return; + } + try { + const headers = { + "Content-Type": "text/event-stream", + "Cache-Control": "no-cache, no-transform", + Connection: "keep-alive" + }; + if (this.sessionId !== void 0) { + headers["mcp-session-id"] = this.sessionId; + } + res.writeHead(200, headers).flushHeaders(); + const streamId = await ((_a = this._eventStore) === null || _a === void 0 ? void 0 : _a.replayEventsAfter(lastEventId, { + send: async (eventId, message) => { + var _a2; + if (!this.writeSSEEvent(res, message, eventId)) { + (_a2 = this.onerror) === null || _a2 === void 0 ? void 0 : _a2.call(this, new Error("Failed replay events")); + res.end(); + } + } + })); + this._streamMapping.set(streamId, res); + } catch (error) { + (_b = this.onerror) === null || _b === void 0 ? void 0 : _b.call(this, error); + } + } + /** + * Writes an event to the SSE stream with proper formatting + */ + writeSSEEvent(res, message, eventId) { + let eventData = `event: message +`; + if (eventId) { + eventData += `id: ${eventId} +`; + } + eventData += `data: ${JSON.stringify(message)} + +`; + return res.write(eventData); + } + /** + * Handles unsupported requests (PUT, PATCH, etc.) + */ + async handleUnsupportedRequest(res) { + res.writeHead(405, { + "Allow": "GET, POST, DELETE" + }).end(JSON.stringify({ + jsonrpc: "2.0", + error: { + code: -32e3, + message: "Method not allowed." + }, + id: null + })); + } + /** + * Handles POST requests containing JSON-RPC messages + */ + async handlePostRequest(req, res, parsedBody) { + var _a, _b, _c, _d, _e; + try { + const acceptHeader = req.headers.accept; + if (!(acceptHeader === null || acceptHeader === void 0 ? void 0 : acceptHeader.includes("application/json")) || !acceptHeader.includes("text/event-stream")) { + res.writeHead(406).end(JSON.stringify({ + jsonrpc: "2.0", + error: { + code: -32e3, + message: "Not Acceptable: Client must accept both application/json and text/event-stream" + }, + id: null + })); + return; + } + const ct = req.headers["content-type"]; + if (!ct || !ct.includes("application/json")) { + res.writeHead(415).end(JSON.stringify({ + jsonrpc: "2.0", + error: { + code: -32e3, + message: "Unsupported Media Type: Content-Type must be application/json" + }, + id: null + })); + return; + } + const authInfo = req.auth; + const requestInfo = { headers: req.headers }; + let rawMessage; + if (parsedBody !== void 0) { + rawMessage = parsedBody; + } else { + const parsedCt = import_content_type.default.parse(ct); + const body = await (0, import_raw_body.default)(req, { + limit: MAXIMUM_MESSAGE_SIZE, + encoding: (_a = parsedCt.parameters.charset) !== null && _a !== void 0 ? _a : "utf-8" + }); + rawMessage = JSON.parse(body.toString()); + } + let messages; + if (Array.isArray(rawMessage)) { + messages = rawMessage.map((msg) => JSONRPCMessageSchema2.parse(msg)); + } else { + messages = [JSONRPCMessageSchema2.parse(rawMessage)]; + } + const isInitializationRequest = messages.some(isInitializeRequest); + if (isInitializationRequest) { + if (this._initialized && this.sessionId !== void 0) { + res.writeHead(400).end(JSON.stringify({ + jsonrpc: "2.0", + error: { + code: -32600, + message: "Invalid Request: Server already initialized" + }, + id: null + })); + return; + } + if (messages.length > 1) { + res.writeHead(400).end(JSON.stringify({ + jsonrpc: "2.0", + error: { + code: -32600, + message: "Invalid Request: Only one initialization request is allowed" + }, + id: null + })); + return; + } + this.sessionId = (_b = this.sessionIdGenerator) === null || _b === void 0 ? void 0 : _b.call(this); + this._initialized = true; + if (this.sessionId && this._onsessioninitialized) { + await Promise.resolve(this._onsessioninitialized(this.sessionId)); + } + } + if (!isInitializationRequest) { + if (!this.validateSession(req, res)) { + return; + } + if (!this.validateProtocolVersion(req, res)) { + return; + } + } + const hasRequests = messages.some(isJSONRPCRequest2); + if (!hasRequests) { + res.writeHead(202).end(); + for (const message of messages) { + (_c = this.onmessage) === null || _c === void 0 ? void 0 : _c.call(this, message, { authInfo, requestInfo }); + } + } else if (hasRequests) { + const streamId = (0, import_node_crypto.randomUUID)(); + if (!this._enableJsonResponse) { + const headers = { + "Content-Type": "text/event-stream", + "Cache-Control": "no-cache", + Connection: "keep-alive" + }; + if (this.sessionId !== void 0) { + headers["mcp-session-id"] = this.sessionId; + } + res.writeHead(200, headers); + } + for (const message of messages) { + if (isJSONRPCRequest2(message)) { + this._streamMapping.set(streamId, res); + this._requestToStreamMapping.set(message.id, streamId); + } + } + res.on("close", () => { + this._streamMapping.delete(streamId); + }); + for (const message of messages) { + (_d = this.onmessage) === null || _d === void 0 ? void 0 : _d.call(this, message, { authInfo, requestInfo }); + } + } + } catch (error) { + res.writeHead(400).end(JSON.stringify({ + jsonrpc: "2.0", + error: { + code: -32700, + message: "Parse error", + data: String(error) + }, + id: null + })); + (_e = this.onerror) === null || _e === void 0 ? void 0 : _e.call(this, error); + } + } + /** + * Handles DELETE requests to terminate sessions + */ + async handleDeleteRequest(req, res) { + var _a; + if (!this.validateSession(req, res)) { + return; + } + if (!this.validateProtocolVersion(req, res)) { + return; + } + await Promise.resolve((_a = this._onsessionclosed) === null || _a === void 0 ? void 0 : _a.call(this, this.sessionId)); + await this.close(); + res.writeHead(200).end(); + } + /** + * Validates session ID for non-initialization requests + * Returns true if the session is valid, false otherwise + */ + validateSession(req, res) { + if (this.sessionIdGenerator === void 0) { + return true; + } + if (!this._initialized) { + res.writeHead(400).end(JSON.stringify({ + jsonrpc: "2.0", + error: { + code: -32e3, + message: "Bad Request: Server not initialized" + }, + id: null + })); + return false; + } + const sessionId = req.headers["mcp-session-id"]; + if (!sessionId) { + res.writeHead(400).end(JSON.stringify({ + jsonrpc: "2.0", + error: { + code: -32e3, + message: "Bad Request: Mcp-Session-Id header is required" + }, + id: null + })); + return false; + } else if (Array.isArray(sessionId)) { + res.writeHead(400).end(JSON.stringify({ + jsonrpc: "2.0", + error: { + code: -32e3, + message: "Bad Request: Mcp-Session-Id header must be a single value" + }, + id: null + })); + return false; + } else if (sessionId !== this.sessionId) { + res.writeHead(404).end(JSON.stringify({ + jsonrpc: "2.0", + error: { + code: -32001, + message: "Session not found" + }, + id: null + })); + return false; + } + return true; + } + validateProtocolVersion(req, res) { + var _a; + let protocolVersion = (_a = req.headers["mcp-protocol-version"]) !== null && _a !== void 0 ? _a : DEFAULT_NEGOTIATED_PROTOCOL_VERSION; + if (Array.isArray(protocolVersion)) { + protocolVersion = protocolVersion[protocolVersion.length - 1]; + } + if (!SUPPORTED_PROTOCOL_VERSIONS2.includes(protocolVersion)) { + res.writeHead(400).end(JSON.stringify({ + jsonrpc: "2.0", + error: { + code: -32e3, + message: `Bad Request: Unsupported protocol version (supported versions: ${SUPPORTED_PROTOCOL_VERSIONS2.join(", ")})` + }, + id: null + })); + return false; + } + return true; + } + async close() { + var _a; + this._streamMapping.forEach((response) => { + response.end(); + }); + this._streamMapping.clear(); + this._requestResponseMap.clear(); + (_a = this.onclose) === null || _a === void 0 ? void 0 : _a.call(this); + } + async send(message, options) { + let requestId = options === null || options === void 0 ? void 0 : options.relatedRequestId; + if (isJSONRPCResponse2(message) || isJSONRPCError2(message)) { + requestId = message.id; + } + if (requestId === void 0) { + if (isJSONRPCResponse2(message) || isJSONRPCError2(message)) { + throw new Error("Cannot send a response on a standalone SSE stream unless resuming a previous client request"); + } + const standaloneSse = this._streamMapping.get(this._standaloneSseStreamId); + if (standaloneSse === void 0) { + return; + } + let eventId; + if (this._eventStore) { + eventId = await this._eventStore.storeEvent(this._standaloneSseStreamId, message); + } + this.writeSSEEvent(standaloneSse, message, eventId); + return; + } + const streamId = this._requestToStreamMapping.get(requestId); + const response = this._streamMapping.get(streamId); + if (!streamId) { + throw new Error(`No connection established for request ID: ${String(requestId)}`); + } + if (!this._enableJsonResponse) { + let eventId; + if (this._eventStore) { + eventId = await this._eventStore.storeEvent(streamId, message); + } + if (response) { + this.writeSSEEvent(response, message, eventId); + } + } + if (isJSONRPCResponse2(message) || isJSONRPCError2(message)) { + this._requestResponseMap.set(requestId, message); + const relatedIds = Array.from(this._requestToStreamMapping.entries()).filter(([_2, streamId2]) => this._streamMapping.get(streamId2) === response).map(([id]) => id); + const allResponsesReady = relatedIds.every((id) => this._requestResponseMap.has(id)); + if (allResponsesReady) { + if (!response) { + throw new Error(`No connection established for request ID: ${String(requestId)}`); + } + if (this._enableJsonResponse) { + const headers = { + "Content-Type": "application/json" + }; + if (this.sessionId !== void 0) { + headers["mcp-session-id"] = this.sessionId; + } + const responses = relatedIds.map((id) => this._requestResponseMap.get(id)); + response.writeHead(200, headers); + if (responses.length === 1) { + response.end(JSON.stringify(responses[0])); + } else { + response.end(JSON.stringify(responses)); + } + } else { + response.end(); + } + for (const id of relatedIds) { + this._requestResponseMap.delete(id); + this._requestToStreamMapping.delete(id); + } + } + } + } +}; +var import_express = __toESM2(require_express2(), 1); +var import_node_crypto2 = require("node:crypto"); +var import_lodash = __toESM2(require_lodash(), 1); +function ok(value) { + return { ok: true, value }; +} +function err(typeOrPayload, payload) { + if (payload !== void 0) { + return { ok: false, error: { type: typeOrPayload, ...payload } }; + } + return { ok: false, error: typeOrPayload }; +} +var ignoreOverride2 = Symbol("Let zodToJsonSchema decide on which parser to use"); +var defaultOptions2 = { + name: void 0, + $refStrategy: "root", + basePath: ["#"], + effectStrategy: "input", + pipeStrategy: "all", + dateStrategy: "format:date-time", + mapStrategy: "entries", + removeAdditionalStrategy: "passthrough", + definitionPath: "definitions", + target: "jsonSchema7", + strictUnions: false, + definitions: {}, + errorMessages: false, + markdownDescription: false, + patternStrategy: "escape", + applyRegexFlags: false, + emailStrategy: "format:email", + base64Strategy: "contentEncoding:base64", + nameStrategy: "ref" +}; +var getDefaultOptions2 = (options) => typeof options === "string" ? { + ...defaultOptions2, + name: options +} : { + ...defaultOptions2, + ...options +}; +var getRefs2 = (options) => { + const _options = getDefaultOptions2(options); + const currentPath = _options.name !== void 0 ? [..._options.basePath, _options.definitionPath, _options.name] : _options.basePath; + return { + ..._options, + currentPath, + propertyPath: void 0, + seen: new Map(Object.entries(_options.definitions).map(([name, def]) => [ + def._def, + { + def: def._def, + path: [..._options.basePath, _options.definitionPath, name], + // Resolution of references will be forced even though seen, so it's ok that the schema is undefined here for now. + jsonSchema: void 0 + } + ])) + }; +}; +function addErrorMessage2(res, key, errorMessage, refs) { + if (!refs?.errorMessages) + return; + if (errorMessage) { + res.errorMessage = { + ...res.errorMessage, + [key]: errorMessage + }; + } +} +function setResponseValueAndErrors2(res, key, value, errorMessage, refs) { + res[key] = value; + addErrorMessage2(res, key, errorMessage, refs); +} +function parseAnyDef2() { + return {}; +} +function parseArrayDef2(def, refs) { + const res = { + type: "array" + }; + if (def.type?._def && def.type?._def?.typeName !== ZodFirstPartyTypeKind2.ZodAny) { + res.items = parseDef2(def.type._def, { + ...refs, + currentPath: [...refs.currentPath, "items"] + }); + } + if (def.minLength) { + setResponseValueAndErrors2(res, "minItems", def.minLength.value, def.minLength.message, refs); + } + if (def.maxLength) { + setResponseValueAndErrors2(res, "maxItems", def.maxLength.value, def.maxLength.message, refs); + } + if (def.exactLength) { + setResponseValueAndErrors2(res, "minItems", def.exactLength.value, def.exactLength.message, refs); + setResponseValueAndErrors2(res, "maxItems", def.exactLength.value, def.exactLength.message, refs); + } + return res; +} +function parseBigintDef2(def, refs) { + const res = { + type: "integer", + format: "int64" + }; + if (!def.checks) + return res; + for (const check of def.checks) { + switch (check.kind) { + case "min": + if (refs.target === "jsonSchema7") { + if (check.inclusive) { + setResponseValueAndErrors2(res, "minimum", check.value, check.message, refs); + } else { + setResponseValueAndErrors2(res, "exclusiveMinimum", check.value, check.message, refs); + } + } else { + if (!check.inclusive) { + res.exclusiveMinimum = true; + } + setResponseValueAndErrors2(res, "minimum", check.value, check.message, refs); + } + break; + case "max": + if (refs.target === "jsonSchema7") { + if (check.inclusive) { + setResponseValueAndErrors2(res, "maximum", check.value, check.message, refs); + } else { + setResponseValueAndErrors2(res, "exclusiveMaximum", check.value, check.message, refs); + } + } else { + if (!check.inclusive) { + res.exclusiveMaximum = true; + } + setResponseValueAndErrors2(res, "maximum", check.value, check.message, refs); + } + break; + case "multipleOf": + setResponseValueAndErrors2(res, "multipleOf", check.value, check.message, refs); + break; + } + } + return res; +} +function parseBooleanDef2() { + return { + type: "boolean" + }; +} +function parseBrandedDef2(_def, refs) { + return parseDef2(_def.type._def, refs); +} +var parseCatchDef2 = (def, refs) => { + return parseDef2(def.innerType._def, refs); +}; +function parseDateDef2(def, refs, overrideDateStrategy) { + const strategy = overrideDateStrategy ?? refs.dateStrategy; + if (Array.isArray(strategy)) { + return { + anyOf: strategy.map((item, i) => parseDateDef2(def, refs, item)) + }; + } + switch (strategy) { + case "string": + case "format:date-time": + return { + type: "string", + format: "date-time" + }; + case "format:date": + return { + type: "string", + format: "date" + }; + case "integer": + return integerDateParser2(def, refs); + } +} +var integerDateParser2 = (def, refs) => { + const res = { + type: "integer", + format: "unix-time" + }; + if (refs.target === "openApi3") { + return res; + } + for (const check of def.checks) { + switch (check.kind) { + case "min": + setResponseValueAndErrors2( + res, + "minimum", + check.value, + // This is in milliseconds + check.message, + refs + ); + break; + case "max": + setResponseValueAndErrors2( + res, + "maximum", + check.value, + // This is in milliseconds + check.message, + refs + ); + break; + } + } + return res; +}; +function parseDefaultDef2(_def, refs) { + return { + ...parseDef2(_def.innerType._def, refs), + default: _def.defaultValue() + }; +} +function parseEffectsDef2(_def, refs) { + return refs.effectStrategy === "input" ? parseDef2(_def.schema._def, refs) : {}; +} +function parseEnumDef2(def) { + return { + type: "string", + enum: Array.from(def.values) + }; +} +var isJsonSchema7AllOfType2 = (type) => { + if ("type" in type && type.type === "string") + return false; + return "allOf" in type; +}; +function parseIntersectionDef2(def, refs) { + const allOf = [ + parseDef2(def.left._def, { + ...refs, + currentPath: [...refs.currentPath, "allOf", "0"] + }), + parseDef2(def.right._def, { + ...refs, + currentPath: [...refs.currentPath, "allOf", "1"] + }) + ].filter((x) => !!x); + let unevaluatedProperties = refs.target === "jsonSchema2019-09" ? { unevaluatedProperties: false } : void 0; + const mergedAllOf = []; + allOf.forEach((schema) => { + if (isJsonSchema7AllOfType2(schema)) { + mergedAllOf.push(...schema.allOf); + if (schema.unevaluatedProperties === void 0) { + unevaluatedProperties = void 0; + } + } else { + let nestedSchema = schema; + if ("additionalProperties" in schema && schema.additionalProperties === false) { + const { additionalProperties, ...rest } = schema; + nestedSchema = rest; + } else { + unevaluatedProperties = void 0; + } + mergedAllOf.push(nestedSchema); + } + }); + return mergedAllOf.length ? { + allOf: mergedAllOf, + ...unevaluatedProperties + } : void 0; +} +function parseLiteralDef2(def, refs) { + const parsedType = typeof def.value; + if (parsedType !== "bigint" && parsedType !== "number" && parsedType !== "boolean" && parsedType !== "string") { + return { + type: Array.isArray(def.value) ? "array" : "object" + }; + } + if (refs.target === "openApi3") { + return { + type: parsedType === "bigint" ? "integer" : parsedType, + enum: [def.value] + }; + } + return { + type: parsedType === "bigint" ? "integer" : parsedType, + const: def.value + }; +} +var emojiRegex22 = void 0; +var zodPatterns2 = { + /** + * `c` was changed to `[cC]` to replicate /i flag + */ + cuid: /^[cC][^\s-]{8,}$/, + cuid2: /^[0-9a-z]+$/, + ulid: /^[0-9A-HJKMNP-TV-Z]{26}$/, + /** + * `a-z` was added to replicate /i flag + */ + email: /^(?!\.)(?!.*\.\.)([a-zA-Z0-9_'+\-\.]*)[a-zA-Z0-9_+-]@([a-zA-Z0-9][a-zA-Z0-9\-]*\.)+[a-zA-Z]{2,}$/, + /** + * Constructed a valid Unicode RegExp + * + * Lazily instantiate since this type of regex isn't supported + * in all envs (e.g. React Native). + * + * See: + * https://github.com/colinhacks/zod/issues/2433 + * Fix in Zod: + * https://github.com/colinhacks/zod/commit/9340fd51e48576a75adc919bff65dbc4a5d4c99b + */ + emoji: () => { + if (emojiRegex22 === void 0) { + emojiRegex22 = RegExp("^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$", "u"); + } + return emojiRegex22; + }, + /** + * Unused + */ + uuid: /^[0-9a-fA-F]{8}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{12}$/, + /** + * Unused + */ + ipv4: /^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])$/, + ipv4Cidr: /^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\/(3[0-2]|[12]?[0-9])$/, + /** + * Unused + */ + ipv6: /^(([a-f0-9]{1,4}:){7}|::([a-f0-9]{1,4}:){0,6}|([a-f0-9]{1,4}:){1}:([a-f0-9]{1,4}:){0,5}|([a-f0-9]{1,4}:){2}:([a-f0-9]{1,4}:){0,4}|([a-f0-9]{1,4}:){3}:([a-f0-9]{1,4}:){0,3}|([a-f0-9]{1,4}:){4}:([a-f0-9]{1,4}:){0,2}|([a-f0-9]{1,4}:){5}:([a-f0-9]{1,4}:){0,1})([a-f0-9]{1,4}|(((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2}))\.){3}((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2})))$/, + ipv6Cidr: /^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))\/(12[0-8]|1[01][0-9]|[1-9]?[0-9])$/, + base64: /^([0-9a-zA-Z+/]{4})*(([0-9a-zA-Z+/]{2}==)|([0-9a-zA-Z+/]{3}=))?$/, + base64url: /^([0-9a-zA-Z-_]{4})*(([0-9a-zA-Z-_]{2}(==)?)|([0-9a-zA-Z-_]{3}(=)?))?$/, + nanoid: /^[a-zA-Z0-9_-]{21}$/, + jwt: /^[A-Za-z0-9-_]+\.[A-Za-z0-9-_]+\.[A-Za-z0-9-_]*$/ +}; +function parseStringDef2(def, refs) { + const res = { + type: "string" + }; + if (def.checks) { + for (const check of def.checks) { + switch (check.kind) { + case "min": + setResponseValueAndErrors2(res, "minLength", typeof res.minLength === "number" ? Math.max(res.minLength, check.value) : check.value, check.message, refs); + break; + case "max": + setResponseValueAndErrors2(res, "maxLength", typeof res.maxLength === "number" ? Math.min(res.maxLength, check.value) : check.value, check.message, refs); + break; + case "email": + switch (refs.emailStrategy) { + case "format:email": + addFormat2(res, "email", check.message, refs); + break; + case "format:idn-email": + addFormat2(res, "idn-email", check.message, refs); + break; + case "pattern:zod": + addPattern2(res, zodPatterns2.email, check.message, refs); + break; + } + break; + case "url": + addFormat2(res, "uri", check.message, refs); + break; + case "uuid": + addFormat2(res, "uuid", check.message, refs); + break; + case "regex": + addPattern2(res, check.regex, check.message, refs); + break; + case "cuid": + addPattern2(res, zodPatterns2.cuid, check.message, refs); + break; + case "cuid2": + addPattern2(res, zodPatterns2.cuid2, check.message, refs); + break; + case "startsWith": + addPattern2(res, RegExp(`^${escapeLiteralCheckValue2(check.value, refs)}`), check.message, refs); + break; + case "endsWith": + addPattern2(res, RegExp(`${escapeLiteralCheckValue2(check.value, refs)}$`), check.message, refs); + break; + case "datetime": + addFormat2(res, "date-time", check.message, refs); + break; + case "date": + addFormat2(res, "date", check.message, refs); + break; + case "time": + addFormat2(res, "time", check.message, refs); + break; + case "duration": + addFormat2(res, "duration", check.message, refs); + break; + case "length": + setResponseValueAndErrors2(res, "minLength", typeof res.minLength === "number" ? Math.max(res.minLength, check.value) : check.value, check.message, refs); + setResponseValueAndErrors2(res, "maxLength", typeof res.maxLength === "number" ? Math.min(res.maxLength, check.value) : check.value, check.message, refs); + break; + case "includes": { + addPattern2(res, RegExp(escapeLiteralCheckValue2(check.value, refs)), check.message, refs); + break; + } + case "ip": { + if (check.version !== "v6") { + addFormat2(res, "ipv4", check.message, refs); + } + if (check.version !== "v4") { + addFormat2(res, "ipv6", check.message, refs); + } + break; + } + case "base64url": + addPattern2(res, zodPatterns2.base64url, check.message, refs); + break; + case "jwt": + addPattern2(res, zodPatterns2.jwt, check.message, refs); + break; + case "cidr": { + if (check.version !== "v6") { + addPattern2(res, zodPatterns2.ipv4Cidr, check.message, refs); + } + if (check.version !== "v4") { + addPattern2(res, zodPatterns2.ipv6Cidr, check.message, refs); + } + break; + } + case "emoji": + addPattern2(res, zodPatterns2.emoji(), check.message, refs); + break; + case "ulid": { + addPattern2(res, zodPatterns2.ulid, check.message, refs); + break; + } + case "base64": { + switch (refs.base64Strategy) { + case "format:binary": { + addFormat2(res, "binary", check.message, refs); + break; + } + case "contentEncoding:base64": { + setResponseValueAndErrors2(res, "contentEncoding", "base64", check.message, refs); + break; + } + case "pattern:zod": { + addPattern2(res, zodPatterns2.base64, check.message, refs); + break; + } + } + break; + } + case "nanoid": { + addPattern2(res, zodPatterns2.nanoid, check.message, refs); + } + case "toLowerCase": + case "toUpperCase": + case "trim": + break; + default: + /* @__PURE__ */ ((_2) => { + })(check); + } + } + } + return res; +} +function escapeLiteralCheckValue2(literal, refs) { + return refs.patternStrategy === "escape" ? escapeNonAlphaNumeric2(literal) : literal; +} +var ALPHA_NUMERIC2 = new Set("ABCDEFGHIJKLMNOPQRSTUVXYZabcdefghijklmnopqrstuvxyz0123456789"); +function escapeNonAlphaNumeric2(source) { + let result = ""; + for (let i = 0; i < source.length; i++) { + if (!ALPHA_NUMERIC2.has(source[i])) { + result += "\\"; + } + result += source[i]; + } + return result; +} +function addFormat2(schema, value, message, refs) { + if (schema.format || schema.anyOf?.some((x) => x.format)) { + if (!schema.anyOf) { + schema.anyOf = []; + } + if (schema.format) { + schema.anyOf.push({ + format: schema.format, + ...schema.errorMessage && refs.errorMessages && { + errorMessage: { format: schema.errorMessage.format } + } + }); + delete schema.format; + if (schema.errorMessage) { + delete schema.errorMessage.format; + if (Object.keys(schema.errorMessage).length === 0) { + delete schema.errorMessage; + } + } + } + schema.anyOf.push({ + format: value, + ...message && refs.errorMessages && { errorMessage: { format: message } } + }); + } else { + setResponseValueAndErrors2(schema, "format", value, message, refs); + } +} +function addPattern2(schema, regex, message, refs) { + if (schema.pattern || schema.allOf?.some((x) => x.pattern)) { + if (!schema.allOf) { + schema.allOf = []; + } + if (schema.pattern) { + schema.allOf.push({ + pattern: schema.pattern, + ...schema.errorMessage && refs.errorMessages && { + errorMessage: { pattern: schema.errorMessage.pattern } + } + }); + delete schema.pattern; + if (schema.errorMessage) { + delete schema.errorMessage.pattern; + if (Object.keys(schema.errorMessage).length === 0) { + delete schema.errorMessage; + } + } + } + schema.allOf.push({ + pattern: stringifyRegExpWithFlags2(regex, refs), + ...message && refs.errorMessages && { errorMessage: { pattern: message } } + }); + } else { + setResponseValueAndErrors2(schema, "pattern", stringifyRegExpWithFlags2(regex, refs), message, refs); + } +} +function stringifyRegExpWithFlags2(regex, refs) { + if (!refs.applyRegexFlags || !regex.flags) { + return regex.source; + } + const flags = { + i: regex.flags.includes("i"), + m: regex.flags.includes("m"), + s: regex.flags.includes("s") + // `.` matches newlines + }; + const source = flags.i ? regex.source.toLowerCase() : regex.source; + let pattern = ""; + let isEscaped = false; + let inCharGroup = false; + let inCharRange = false; + for (let i = 0; i < source.length; i++) { + if (isEscaped) { + pattern += source[i]; + isEscaped = false; + continue; + } + if (flags.i) { + if (inCharGroup) { + if (source[i].match(/[a-z]/)) { + if (inCharRange) { + pattern += source[i]; + pattern += `${source[i - 2]}-${source[i]}`.toUpperCase(); + inCharRange = false; + } else if (source[i + 1] === "-" && source[i + 2]?.match(/[a-z]/)) { + pattern += source[i]; + inCharRange = true; + } else { + pattern += `${source[i]}${source[i].toUpperCase()}`; + } + continue; + } + } else if (source[i].match(/[a-z]/)) { + pattern += `[${source[i]}${source[i].toUpperCase()}]`; + continue; + } + } + if (flags.m) { + if (source[i] === "^") { + pattern += `(^|(?<=[\r +]))`; + continue; + } else if (source[i] === "$") { + pattern += `($|(?=[\r +]))`; + continue; + } + } + if (flags.s && source[i] === ".") { + pattern += inCharGroup ? `${source[i]}\r +` : `[${source[i]}\r +]`; + continue; + } + pattern += source[i]; + if (source[i] === "\\") { + isEscaped = true; + } else if (inCharGroup && source[i] === "]") { + inCharGroup = false; + } else if (!inCharGroup && source[i] === "[") { + inCharGroup = true; + } + } + try { + new RegExp(pattern); + } catch { + console.warn(`Could not convert regex pattern at ${refs.currentPath.join("/")} to a flag-independent form! Falling back to the flag-ignorant source`); + return regex.source; + } + return pattern; +} +function parseRecordDef2(def, refs) { + if (refs.target === "openAi") { + console.warn("Warning: OpenAI may not support records in schemas! Try an array of key-value pairs instead."); + } + if (refs.target === "openApi3" && def.keyType?._def.typeName === ZodFirstPartyTypeKind2.ZodEnum) { + return { + type: "object", + required: def.keyType._def.values, + properties: def.keyType._def.values.reduce((acc, key) => ({ + ...acc, + [key]: parseDef2(def.valueType._def, { + ...refs, + currentPath: [...refs.currentPath, "properties", key] + }) ?? {} + }), {}), + additionalProperties: false + }; + } + const schema = { + type: "object", + additionalProperties: parseDef2(def.valueType._def, { + ...refs, + currentPath: [...refs.currentPath, "additionalProperties"] + }) ?? {} + }; + if (refs.target === "openApi3") { + return schema; + } + if (def.keyType?._def.typeName === ZodFirstPartyTypeKind2.ZodString && def.keyType._def.checks?.length) { + const { type, ...keyType } = parseStringDef2(def.keyType._def, refs); + return { + ...schema, + propertyNames: keyType + }; + } else if (def.keyType?._def.typeName === ZodFirstPartyTypeKind2.ZodEnum) { + return { + ...schema, + propertyNames: { + enum: def.keyType._def.values + } + }; + } else if (def.keyType?._def.typeName === ZodFirstPartyTypeKind2.ZodBranded && def.keyType._def.type._def.typeName === ZodFirstPartyTypeKind2.ZodString && def.keyType._def.type._def.checks?.length) { + const { type, ...keyType } = parseBrandedDef2(def.keyType._def, refs); + return { + ...schema, + propertyNames: keyType + }; + } + return schema; +} +function parseMapDef2(def, refs) { + if (refs.mapStrategy === "record") { + return parseRecordDef2(def, refs); + } + const keys = parseDef2(def.keyType._def, { + ...refs, + currentPath: [...refs.currentPath, "items", "items", "0"] + }) || {}; + const values = parseDef2(def.valueType._def, { + ...refs, + currentPath: [...refs.currentPath, "items", "items", "1"] + }) || {}; + return { + type: "array", + maxItems: 125, + items: { + type: "array", + items: [keys, values], + minItems: 2, + maxItems: 2 + } + }; +} +function parseNativeEnumDef2(def) { + const object = def.values; + const actualKeys = Object.keys(def.values).filter((key) => { + return typeof object[object[key]] !== "number"; + }); + const actualValues = actualKeys.map((key) => object[key]); + const parsedTypes = Array.from(new Set(actualValues.map((values) => typeof values))); + return { + type: parsedTypes.length === 1 ? parsedTypes[0] === "string" ? "string" : "number" : ["string", "number"], + enum: actualValues + }; +} +function parseNeverDef2() { + return { + not: {} + }; +} +function parseNullDef2(refs) { + return refs.target === "openApi3" ? { + enum: ["null"], + nullable: true + } : { + type: "null" + }; +} +var primitiveMappings2 = { + ZodString: "string", + ZodNumber: "number", + ZodBigInt: "integer", + ZodBoolean: "boolean", + ZodNull: "null" +}; +function parseUnionDef2(def, refs) { + if (refs.target === "openApi3") + return asAnyOf2(def, refs); + const options = def.options instanceof Map ? Array.from(def.options.values()) : def.options; + if (options.every((x) => x._def.typeName in primitiveMappings2 && (!x._def.checks || !x._def.checks.length))) { + const types = options.reduce((types2, x) => { + const type = primitiveMappings2[x._def.typeName]; + return type && !types2.includes(type) ? [...types2, type] : types2; + }, []); + return { + type: types.length > 1 ? types : types[0] + }; + } else if (options.every((x) => x._def.typeName === "ZodLiteral" && !x.description)) { + const types = options.reduce((acc, x) => { + const type = typeof x._def.value; + switch (type) { + case "string": + case "number": + case "boolean": + return [...acc, type]; + case "bigint": + return [...acc, "integer"]; + case "object": + if (x._def.value === null) + return [...acc, "null"]; + case "symbol": + case "undefined": + case "function": + default: + return acc; + } + }, []); + if (types.length === options.length) { + const uniqueTypes = types.filter((x, i, a) => a.indexOf(x) === i); + return { + type: uniqueTypes.length > 1 ? uniqueTypes : uniqueTypes[0], + enum: options.reduce((acc, x) => { + return acc.includes(x._def.value) ? acc : [...acc, x._def.value]; + }, []) + }; + } + } else if (options.every((x) => x._def.typeName === "ZodEnum")) { + return { + type: "string", + enum: options.reduce((acc, x) => [ + ...acc, + ...x._def.values.filter((x2) => !acc.includes(x2)) + ], []) + }; + } + return asAnyOf2(def, refs); +} +var asAnyOf2 = (def, refs) => { + const anyOf = (def.options instanceof Map ? Array.from(def.options.values()) : def.options).map((x, i) => parseDef2(x._def, { + ...refs, + currentPath: [...refs.currentPath, "anyOf", `${i}`] + })).filter((x) => !!x && (!refs.strictUnions || typeof x === "object" && Object.keys(x).length > 0)); + return anyOf.length ? { anyOf } : void 0; +}; +function parseNullableDef2(def, refs) { + if (["ZodString", "ZodNumber", "ZodBigInt", "ZodBoolean", "ZodNull"].includes(def.innerType._def.typeName) && (!def.innerType._def.checks || !def.innerType._def.checks.length)) { + if (refs.target === "openApi3") { + return { + type: primitiveMappings2[def.innerType._def.typeName], + nullable: true + }; + } + return { + type: [ + primitiveMappings2[def.innerType._def.typeName], + "null" + ] + }; + } + if (refs.target === "openApi3") { + const base2 = parseDef2(def.innerType._def, { + ...refs, + currentPath: [...refs.currentPath] + }); + if (base2 && "$ref" in base2) + return { allOf: [base2], nullable: true }; + return base2 && { ...base2, nullable: true }; + } + const base = parseDef2(def.innerType._def, { + ...refs, + currentPath: [...refs.currentPath, "anyOf", "0"] + }); + return base && { anyOf: [base, { type: "null" }] }; +} +function parseNumberDef2(def, refs) { + const res = { + type: "number" + }; + if (!def.checks) + return res; + for (const check of def.checks) { + switch (check.kind) { + case "int": + res.type = "integer"; + addErrorMessage2(res, "type", check.message, refs); + break; + case "min": + if (refs.target === "jsonSchema7") { + if (check.inclusive) { + setResponseValueAndErrors2(res, "minimum", check.value, check.message, refs); + } else { + setResponseValueAndErrors2(res, "exclusiveMinimum", check.value, check.message, refs); + } + } else { + if (!check.inclusive) { + res.exclusiveMinimum = true; + } + setResponseValueAndErrors2(res, "minimum", check.value, check.message, refs); + } + break; + case "max": + if (refs.target === "jsonSchema7") { + if (check.inclusive) { + setResponseValueAndErrors2(res, "maximum", check.value, check.message, refs); + } else { + setResponseValueAndErrors2(res, "exclusiveMaximum", check.value, check.message, refs); + } + } else { + if (!check.inclusive) { + res.exclusiveMaximum = true; + } + setResponseValueAndErrors2(res, "maximum", check.value, check.message, refs); + } + break; + case "multipleOf": + setResponseValueAndErrors2(res, "multipleOf", check.value, check.message, refs); + break; + } + } + return res; +} +function decideAdditionalProperties2(def, refs) { + if (refs.removeAdditionalStrategy === "strict") { + return def.catchall._def.typeName === "ZodNever" ? def.unknownKeys !== "strict" : parseDef2(def.catchall._def, { + ...refs, + currentPath: [...refs.currentPath, "additionalProperties"] + }) ?? true; + } else { + return def.catchall._def.typeName === "ZodNever" ? def.unknownKeys === "passthrough" : parseDef2(def.catchall._def, { + ...refs, + currentPath: [...refs.currentPath, "additionalProperties"] + }) ?? true; + } +} +function parseObjectDef2(def, refs) { + const forceOptionalIntoNullable = refs.target === "openAi"; + const result = { + type: "object", + ...Object.entries(def.shape()).reduce((acc, [propName, propDef]) => { + if (propDef === void 0 || propDef._def === void 0) + return acc; + let propOptional = propDef.isOptional(); + if (propOptional && forceOptionalIntoNullable) { + if (propDef instanceof ZodOptional2) { + propDef = propDef._def.innerType; + } + if (!propDef.isNullable()) { + propDef = propDef.nullable(); + } + propOptional = false; + } + const parsedDef = parseDef2(propDef._def, { + ...refs, + currentPath: [...refs.currentPath, "properties", propName], + propertyPath: [...refs.currentPath, "properties", propName] + }); + if (parsedDef === void 0) + return acc; + return { + properties: { ...acc.properties, [propName]: parsedDef }, + required: propOptional ? acc.required : [...acc.required, propName] + }; + }, { properties: {}, required: [] }), + additionalProperties: decideAdditionalProperties2(def, refs) + }; + if (!result.required.length) + delete result.required; + return result; +} +var parseOptionalDef2 = (def, refs) => { + if (refs.currentPath.toString() === refs.propertyPath?.toString()) { + return parseDef2(def.innerType._def, refs); + } + const innerSchema = parseDef2(def.innerType._def, { + ...refs, + currentPath: [...refs.currentPath, "anyOf", "1"] + }); + return innerSchema ? { + anyOf: [ + { + not: {} + }, + innerSchema + ] + } : {}; +}; +var parsePipelineDef2 = (def, refs) => { + if (refs.pipeStrategy === "input") { + return parseDef2(def.in._def, refs); + } else if (refs.pipeStrategy === "output") { + return parseDef2(def.out._def, refs); + } + const a = parseDef2(def.in._def, { + ...refs, + currentPath: [...refs.currentPath, "allOf", "0"] + }); + const b = parseDef2(def.out._def, { + ...refs, + currentPath: [...refs.currentPath, "allOf", a ? "1" : "0"] + }); + return { + allOf: [a, b].filter((x) => x !== void 0) + }; +}; +function parsePromiseDef2(def, refs) { + return parseDef2(def.type._def, refs); +} +function parseSetDef2(def, refs) { + const items = parseDef2(def.valueType._def, { + ...refs, + currentPath: [...refs.currentPath, "items"] + }); + const schema = { + type: "array", + uniqueItems: true, + items + }; + if (def.minSize) { + setResponseValueAndErrors2(schema, "minItems", def.minSize.value, def.minSize.message, refs); + } + if (def.maxSize) { + setResponseValueAndErrors2(schema, "maxItems", def.maxSize.value, def.maxSize.message, refs); + } + return schema; +} +function parseTupleDef2(def, refs) { + if (def.rest) { + return { + type: "array", + minItems: def.items.length, + items: def.items.map((x, i) => parseDef2(x._def, { + ...refs, + currentPath: [...refs.currentPath, "items", `${i}`] + })).reduce((acc, x) => x === void 0 ? acc : [...acc, x], []), + additionalItems: parseDef2(def.rest._def, { + ...refs, + currentPath: [...refs.currentPath, "additionalItems"] + }) + }; + } else { + return { + type: "array", + minItems: def.items.length, + maxItems: def.items.length, + items: def.items.map((x, i) => parseDef2(x._def, { + ...refs, + currentPath: [...refs.currentPath, "items", `${i}`] + })).reduce((acc, x) => x === void 0 ? acc : [...acc, x], []) + }; + } +} +function parseUndefinedDef2() { + return { + not: {} + }; +} +function parseUnknownDef2() { + return {}; +} +var parseReadonlyDef2 = (def, refs) => { + return parseDef2(def.innerType._def, refs); +}; +var selectParser2 = (def, typeName, refs) => { + switch (typeName) { + case ZodFirstPartyTypeKind2.ZodString: + return parseStringDef2(def, refs); + case ZodFirstPartyTypeKind2.ZodNumber: + return parseNumberDef2(def, refs); + case ZodFirstPartyTypeKind2.ZodObject: + return parseObjectDef2(def, refs); + case ZodFirstPartyTypeKind2.ZodBigInt: + return parseBigintDef2(def, refs); + case ZodFirstPartyTypeKind2.ZodBoolean: + return parseBooleanDef2(); + case ZodFirstPartyTypeKind2.ZodDate: + return parseDateDef2(def, refs); + case ZodFirstPartyTypeKind2.ZodUndefined: + return parseUndefinedDef2(); + case ZodFirstPartyTypeKind2.ZodNull: + return parseNullDef2(refs); + case ZodFirstPartyTypeKind2.ZodArray: + return parseArrayDef2(def, refs); + case ZodFirstPartyTypeKind2.ZodUnion: + case ZodFirstPartyTypeKind2.ZodDiscriminatedUnion: + return parseUnionDef2(def, refs); + case ZodFirstPartyTypeKind2.ZodIntersection: + return parseIntersectionDef2(def, refs); + case ZodFirstPartyTypeKind2.ZodTuple: + return parseTupleDef2(def, refs); + case ZodFirstPartyTypeKind2.ZodRecord: + return parseRecordDef2(def, refs); + case ZodFirstPartyTypeKind2.ZodLiteral: + return parseLiteralDef2(def, refs); + case ZodFirstPartyTypeKind2.ZodEnum: + return parseEnumDef2(def); + case ZodFirstPartyTypeKind2.ZodNativeEnum: + return parseNativeEnumDef2(def); + case ZodFirstPartyTypeKind2.ZodNullable: + return parseNullableDef2(def, refs); + case ZodFirstPartyTypeKind2.ZodOptional: + return parseOptionalDef2(def, refs); + case ZodFirstPartyTypeKind2.ZodMap: + return parseMapDef2(def, refs); + case ZodFirstPartyTypeKind2.ZodSet: + return parseSetDef2(def, refs); + case ZodFirstPartyTypeKind2.ZodLazy: + return () => def.getter()._def; + case ZodFirstPartyTypeKind2.ZodPromise: + return parsePromiseDef2(def, refs); + case ZodFirstPartyTypeKind2.ZodNaN: + case ZodFirstPartyTypeKind2.ZodNever: + return parseNeverDef2(); + case ZodFirstPartyTypeKind2.ZodEffects: + return parseEffectsDef2(def, refs); + case ZodFirstPartyTypeKind2.ZodAny: + return parseAnyDef2(); + case ZodFirstPartyTypeKind2.ZodUnknown: + return parseUnknownDef2(); + case ZodFirstPartyTypeKind2.ZodDefault: + return parseDefaultDef2(def, refs); + case ZodFirstPartyTypeKind2.ZodBranded: + return parseBrandedDef2(def, refs); + case ZodFirstPartyTypeKind2.ZodReadonly: + return parseReadonlyDef2(def, refs); + case ZodFirstPartyTypeKind2.ZodCatch: + return parseCatchDef2(def, refs); + case ZodFirstPartyTypeKind2.ZodPipeline: + return parsePipelineDef2(def, refs); + case ZodFirstPartyTypeKind2.ZodFunction: + case ZodFirstPartyTypeKind2.ZodVoid: + case ZodFirstPartyTypeKind2.ZodSymbol: + return void 0; + default: + return /* @__PURE__ */ ((_2) => void 0)(typeName); + } +}; +function parseDef2(def, refs, forceResolution = false) { + const seenItem = refs.seen.get(def); + if (refs.override) { + const overrideResult = refs.override?.(def, refs, seenItem, forceResolution); + if (overrideResult !== ignoreOverride2) { + return overrideResult; + } + } + if (seenItem && !forceResolution) { + const seenSchema = get$ref2(seenItem, refs); + if (seenSchema !== void 0) { + return seenSchema; + } + } + const newItem = { def, path: refs.currentPath, jsonSchema: void 0 }; + refs.seen.set(def, newItem); + const jsonSchemaOrGetter = selectParser2(def, def.typeName, refs); + const jsonSchema = typeof jsonSchemaOrGetter === "function" ? parseDef2(jsonSchemaOrGetter(), refs) : jsonSchemaOrGetter; + if (jsonSchema) { + addMeta2(def, refs, jsonSchema); + } + newItem.jsonSchema = jsonSchema; + return jsonSchema; +} +var get$ref2 = (item, refs) => { + switch (refs.$refStrategy) { + case "root": + return { $ref: item.path.join("/") }; + case "relative": + return { $ref: getRelativePath2(refs.currentPath, item.path) }; + case "none": + case "seen": { + if (item.path.length < refs.currentPath.length && item.path.every((value, index) => refs.currentPath[index] === value)) { + console.warn(`Recursive reference detected at ${refs.currentPath.join("/")}! Defaulting to any`); + return {}; + } + return refs.$refStrategy === "seen" ? {} : void 0; + } + } +}; +var getRelativePath2 = (pathA, pathB) => { + let i = 0; + for (; i < pathA.length && i < pathB.length; i++) { + if (pathA[i] !== pathB[i]) + break; + } + return [(pathA.length - i).toString(), ...pathB.slice(i)].join("/"); +}; +var addMeta2 = (def, refs, jsonSchema) => { + if (def.description) { + jsonSchema.description = def.description; + if (refs.markdownDescription) { + jsonSchema.markdownDescription = def.description; + } + } + return jsonSchema; +}; +var zodToJsonSchema2 = (schema, options) => { + const refs = getRefs2(options); + const definitions = typeof options === "object" && options.definitions ? Object.entries(options.definitions).reduce((acc, [name2, schema2]) => ({ + ...acc, + [name2]: parseDef2(schema2._def, { + ...refs, + currentPath: [...refs.basePath, refs.definitionPath, name2] + }, true) ?? {} + }), {}) : void 0; + const name = typeof options === "string" ? options : options?.nameStrategy === "title" ? void 0 : options?.name; + const main = parseDef2(schema._def, name === void 0 ? refs : { + ...refs, + currentPath: [...refs.basePath, refs.definitionPath, name] + }, false) ?? {}; + const title = typeof options === "object" && options.name !== void 0 && options.nameStrategy === "title" ? options.name : void 0; + if (title !== void 0) { + main.title = title; + } + const combined = name === void 0 ? definitions ? { + ...main, + [refs.definitionPath]: definitions + } : main : { + $ref: [ + ...refs.$refStrategy === "relative" ? [] : refs.basePath, + refs.definitionPath, + name + ].join("/"), + [refs.definitionPath]: { + ...definitions, + [name]: main + } + }; + if (refs.target === "jsonSchema7") { + combined.$schema = "http://json-schema.org/draft-07/schema#"; + } else if (refs.target === "jsonSchema2019-09" || refs.target === "openAi") { + combined.$schema = "https://json-schema.org/draft/2019-09/schema#"; + } + if (refs.target === "openAi" && ("anyOf" in combined || "oneOf" in combined || "allOf" in combined || "type" in combined && Array.isArray(combined.type))) { + console.warn("Warning: OpenAI may not support schemas with unions as roots! Try wrapping it in an object property."); + } + return combined; +}; +function parseExpressRequestConfig(req) { + return JSON.parse(Buffer.from(req.query.config, "base64").toString()); +} +function parseAndValidateConfig(req, schema) { + let config = {}; + if (req.query.config) { + try { + config = parseExpressRequestConfig(req); + } catch (configError) { + return err({ + title: "Invalid config parameter", + status: 400, + detail: "Failed to parse config parameter", + instance: req.originalUrl + }); + } + } + for (const [key, value] of Object.entries(req.query)) { + if (key === "config" || key === "api_key" || key === "profile") + continue; + const pathParts = key.split("."); + const rawValue = Array.isArray(value) ? value[0] : value; + if (typeof rawValue !== "string") + continue; + let parsedValue = rawValue; + try { + parsedValue = JSON.parse(rawValue); + } catch { + } + import_lodash.default.set(config, pathParts, parsedValue); + } + if (schema) { + const result = schema.safeParse(config); + if (!result.success) { + const jsonSchema = zodToJsonSchema2(schema); + const errors = result.error.issues.map((issue) => { + let received = config; + for (const key of issue.path) { + if (received && typeof received === "object" && key in received) { + received = received[key]; + } else { + received = void 0; + break; + } + } + return { + param: issue.path.join(".") || "root", + pointer: `/${issue.path.join("/")}`, + reason: issue.message, + received + }; + }); + return err({ + title: "Invalid configuration parameters", + status: 422, + detail: "One or more config parameters are invalid.", + instance: req.originalUrl, + configSchema: jsonSchema, + errors + }); + } + return ok(result.data); + } + return ok(config); +} +var createLRUStore = (max = 1e3) => { + const cache = /* @__PURE__ */ new Map(); + return { + get: (id) => { + const t = cache.get(id); + if (!t) + return void 0; + cache.delete(id); + cache.set(id, t); + return t; + }, + set: (id, transport) => { + if (cache.has(id)) { + cache.delete(id); + } else if (cache.size >= max) { + const [lruId, lruTransport] = cache.entries().next().value; + lruTransport.close?.(); + cache.delete(lruId); + } + cache.set(id, transport); + }, + delete: (id) => cache.delete(id) + }; +}; +function createStatefulServer(createMcpServer, options) { + const app = options?.app ?? (0, import_express.default)(); + app.use("/mcp", import_express.default.json()); + const sessionStore = options?.sessionStore ?? createLRUStore(); + app.post("/mcp", async (req, res) => { + const sessionId = req.headers["mcp-session-id"]; + let transport; + if (sessionId && sessionStore.get(sessionId)) { + transport = sessionStore.get(sessionId); + } else if (!sessionId && isInitializeRequest(req.body)) { + const newSessionId = (0, import_node_crypto2.randomUUID)(); + transport = new StreamableHTTPServerTransport({ + sessionIdGenerator: () => newSessionId, + onsessioninitialized: (sessionId2) => { + sessionStore.set(sessionId2, transport); + } + }); + transport.onclose = () => { + if (transport.sessionId) { + sessionStore.delete?.(transport.sessionId); + } + }; + const configResult = parseAndValidateConfig(req, options?.schema); + if (!configResult.ok) { + const status = configResult.error.status || 400; + res.status(status).json(configResult.error); + return; + } + const config = configResult.value; + try { + const server = createMcpServer({ + sessionId: newSessionId, + config + }); + await server.connect(transport); + } catch (error) { + console.error("Error initializing server:", error); + res.status(500).json({ + jsonrpc: "2.0", + error: { + code: -32603, + message: "Error initializing server." + }, + id: null + }); + return; + } + } else { + res.status(400).json({ + jsonrpc: "2.0", + error: { + code: -32e3, + message: "Session not found or expired" + }, + id: null + }); + return; + } + await transport.handleRequest(req, res, req.body); + }); + app.get("/.well-known/mcp-config", (req, res) => { + res.set("Content-Type", "application/schema+json; charset=utf-8"); + const baseSchema = options?.schema ? zodToJsonSchema2(options.schema) : { + type: "object", + properties: {}, + required: [] + }; + const configSchema2 = { + $schema: "https://json-schema.org/draft/2020-12/schema", + $id: `${req.protocol}://${req.get("host")}/.well-known/mcp-config`, + title: "MCP Session Configuration", + description: "Schema for the /mcp endpoint configuration", + "x-mcp-version": "1.0", + "x-query-style": "dot+bracket", + ...baseSchema + }; + res.json(configSchema2); + }); + app.get("/mcp", async (req, res) => { + const sessionId = req.headers["mcp-session-id"]; + if (!sessionId || !sessionStore.get(sessionId)) { + res.status(400).send("Invalid or expired session ID"); + return; + } + const transport = sessionStore.get(sessionId); + await transport.handleRequest(req, res); + }); + app.delete("/mcp", async (req, res) => { + const sessionId = req.headers["mcp-session-id"]; + if (!sessionId) { + res.status(400).json({ + jsonrpc: "2.0", + error: { + code: -32600, + message: "Missing mcp-session-id header" + }, + id: null + }); + return; + } + const transport = sessionStore.get(sessionId); + if (!transport) { + res.status(404).json({ + jsonrpc: "2.0", + error: { + code: -32e3, + message: "Session not found or expired" + }, + id: null + }); + return; + } + transport.close?.(); + res.status(204).end(); + }); + return { app }; +} +var import_express2 = __toESM2(require_express2(), 1); +function createStatelessServer(createMcpServer, options) { + const app = options?.app ?? (0, import_express2.default)(); + app.use("/mcp", import_express2.default.json()); + app.post("/mcp", async (req, res) => { + try { + const configResult = parseAndValidateConfig(req, options?.schema); + if (!configResult.ok) { + const status = configResult.error.status || 400; + res.status(status).json(configResult.error); + return; + } + const config = configResult.value; + const server = createMcpServer({ + config + }); + const transport = new StreamableHTTPServerTransport({ + sessionIdGenerator: void 0 + }); + res.on("close", () => { + transport.close(); + server.close(); + }); + await server.connect(transport); + await transport.handleRequest(req, res, req.body); + } catch (error) { + console.error("Error handling MCP request:", error); + if (!res.headersSent) { + res.status(500).json({ + jsonrpc: "2.0", + error: { + code: -32603, + message: "Internal server error" + }, + id: null + }); + } + } + }); + app.get("/mcp", async (_req, res) => { + res.status(405).json({ + jsonrpc: "2.0", + error: { + code: -32e3, + message: "Method not allowed." + }, + id: null + }); + }); + app.delete("/mcp", async (_req, res) => { + res.status(405).json({ + jsonrpc: "2.0", + error: { + code: -32e3, + message: "Method not allowed." + }, + id: null + }); + }); + app.get("/.well-known/mcp-config", (req, res) => { + res.set("Content-Type", "application/schema+json; charset=utf-8"); + const baseSchema = options?.schema ? zodToJsonSchema2(options.schema) : { + type: "object", + properties: {}, + required: [] + }; + const configSchema2 = { + $schema: "https://json-schema.org/draft/2020-12/schema", + $id: `${req.protocol}://${req.get("host")}/.well-known/mcp-config`, + title: "MCP Session Configuration", + description: "Schema for the /mcp endpoint configuration", + "x-mcp-version": "1.0", + "x-query-style": "dot+bracket", + ...baseSchema + }; + res.json(configSchema2); + }); + return { app }; +} +var import_chalk2 = __toESM2(require_source()); +var import_cors = __toESM2(require_lib4()); +var import_express3 = __toESM2(require_express2()); +var _entry = __toESM2((init_index(), __toCommonJS(index_exports))); +var entry = _entry; +async function startMcpServer() { + try { + const port = process.env.PORT || "8181"; + console.log( + `${import_chalk2.default.blue("[smithery]")} Starting MCP server on port ${port}` + ); + let server; + const app = (0, import_express3.default)(); + if (true) { + console.log(`${import_chalk2.default.blue("[smithery]")} Injecting cors middleware`); + app.use( + (0, import_cors.default)({ + exposedHeaders: ["mcp-session-id"] + }) + ); + } + if (entry.default && typeof entry.default === "function") { + console.log( + `${import_chalk2.default.blue("[smithery]")} Setting up ${entry.stateless ? "stateless" : "stateful"} server` + ); + if (entry.stateless) { + server = createStatelessServer( + entry.default, + { + schema: entry.configSchema, + app + } + ); + } else { + server = createStatefulServer(entry.default, { + schema: entry.configSchema, + app + }); + } + } else { + throw new Error( + "No valid server export found. Please export:\n- export default function({ sessionId, config }) { ... } (stateful)\n- export default function({ config }) { ... } (stateless)" + ); + } + server.app.listen(Number.parseInt(port)); + console.log( + `${import_chalk2.default.green("[smithery]")} MCP server started successfully on port ${port}` + ); + } catch (error) { + console.error( + `${import_chalk2.default.red("[smithery]")} Failed to start MCP server:`, + error + ); + process.exit(1); + } +} +startMcpServer(); +/*! Bundled license information: + +bytes/index.js: + (*! + * bytes + * Copyright(c) 2012-2014 TJ Holowaychuk + * Copyright(c) 2015 Jed Watson + * MIT Licensed + *) + +depd/index.js: + (*! + * depd + * Copyright(c) 2014-2018 Douglas Christopher Wilson + * MIT Licensed + *) + +statuses/index.js: + (*! + * statuses + * Copyright(c) 2014 Jonathan Ong + * Copyright(c) 2016 Douglas Christopher Wilson + * MIT Licensed + *) + +toidentifier/index.js: + (*! + * toidentifier + * Copyright(c) 2016 Douglas Christopher Wilson + * MIT Licensed + *) + +http-errors/index.js: + (*! + * http-errors + * Copyright(c) 2014 Jonathan Ong + * Copyright(c) 2016 Douglas Christopher Wilson + * MIT Licensed + *) + +unpipe/index.js: + (*! + * unpipe + * Copyright(c) 2015 Douglas Christopher Wilson + * MIT Licensed + *) + +raw-body/index.js: + (*! + * raw-body + * Copyright(c) 2013-2014 Jonathan Ong + * Copyright(c) 2014-2022 Douglas Christopher Wilson + * MIT Licensed + *) + +content-type/index.js: + (*! + * content-type + * Copyright(c) 2015 Douglas Christopher Wilson + * MIT Licensed + *) + +ee-first/index.js: + (*! + * ee-first + * Copyright(c) 2014 Jonathan Ong + * MIT Licensed + *) + +on-finished/index.js: + (*! + * on-finished + * Copyright(c) 2013 Jonathan Ong + * Copyright(c) 2014 Douglas Christopher Wilson + * MIT Licensed + *) + +body-parser/lib/read.js: +body-parser/lib/types/raw.js: +body-parser/lib/types/text.js: +body-parser/index.js: + (*! + * body-parser + * Copyright(c) 2014-2015 Douglas Christopher Wilson + * MIT Licensed + *) + +mime-db/index.js: +mime-db/index.js: +mime-db/index.js: +mime-db/index.js: + (*! + * mime-db + * Copyright(c) 2014 Jonathan Ong + * Copyright(c) 2015-2022 Douglas Christopher Wilson + * MIT Licensed + *) + +mime-types/index.js: +mime-types/index.js: +mime-types/index.js: +mime-types/index.js: + (*! + * mime-types + * Copyright(c) 2014 Jonathan Ong + * Copyright(c) 2015 Douglas Christopher Wilson + * MIT Licensed + *) + +media-typer/index.js: + (*! + * media-typer + * Copyright(c) 2014-2017 Douglas Christopher Wilson + * MIT Licensed + *) + +type-is/index.js: + (*! + * type-is + * Copyright(c) 2014 Jonathan Ong + * Copyright(c) 2014-2015 Douglas Christopher Wilson + * MIT Licensed + *) + +body-parser/lib/types/json.js: +body-parser/lib/types/urlencoded.js: + (*! + * body-parser + * Copyright(c) 2014 Jonathan Ong + * Copyright(c) 2014-2015 Douglas Christopher Wilson + * MIT Licensed + *) + +encodeurl/index.js: + (*! + * encodeurl + * Copyright(c) 2016 Douglas Christopher Wilson + * MIT Licensed + *) + +escape-html/index.js: + (*! + * escape-html + * Copyright(c) 2012-2013 TJ Holowaychuk + * Copyright(c) 2015 Andreas Lubbe + * Copyright(c) 2015 Tiancheng "Timothy" Gu + * MIT Licensed + *) + +parseurl/index.js: + (*! + * parseurl + * Copyright(c) 2014 Jonathan Ong + * Copyright(c) 2014-2017 Douglas Christopher Wilson + * MIT Licensed + *) + +finalhandler/index.js: + (*! + * finalhandler + * Copyright(c) 2014-2022 Douglas Christopher Wilson + * MIT Licensed + *) + +express/lib/view.js: +express/lib/application.js: +express/lib/request.js: +express/lib/express.js: +express/index.js: + (*! + * express + * Copyright(c) 2009-2013 TJ Holowaychuk + * Copyright(c) 2013 Roman Shtylman + * Copyright(c) 2014-2015 Douglas Christopher Wilson + * MIT Licensed + *) + +etag/index.js: + (*! + * etag + * Copyright(c) 2014-2016 Douglas Christopher Wilson + * MIT Licensed + *) + +forwarded/index.js: + (*! + * forwarded + * Copyright(c) 2014-2017 Douglas Christopher Wilson + * MIT Licensed + *) + +proxy-addr/index.js: + (*! + * proxy-addr + * Copyright(c) 2014-2016 Douglas Christopher Wilson + * MIT Licensed + *) + +express/lib/utils.js: +express/lib/response.js: + (*! + * express + * Copyright(c) 2009-2013 TJ Holowaychuk + * Copyright(c) 2014-2015 Douglas Christopher Wilson + * MIT Licensed + *) + +router/lib/layer.js: +router/lib/route.js: +router/index.js: + (*! + * router + * Copyright(c) 2013 Roman Shtylman + * Copyright(c) 2014-2022 Douglas Christopher Wilson + * MIT Licensed + *) + +negotiator/index.js: + (*! + * negotiator + * Copyright(c) 2012 Federico Romero + * Copyright(c) 2012-2014 Isaac Z. Schlueter + * Copyright(c) 2015 Douglas Christopher Wilson + * MIT Licensed + *) + +accepts/index.js: + (*! + * accepts + * Copyright(c) 2014 Jonathan Ong + * Copyright(c) 2015 Douglas Christopher Wilson + * MIT Licensed + *) + +fresh/index.js: + (*! + * fresh + * Copyright(c) 2012 TJ Holowaychuk + * Copyright(c) 2016-2017 Douglas Christopher Wilson + * MIT Licensed + *) + +range-parser/index.js: + (*! + * range-parser + * Copyright(c) 2012-2014 TJ Holowaychuk + * Copyright(c) 2015-2016 Douglas Christopher Wilson + * MIT Licensed + *) + +safe-buffer/index.js: + (*! safe-buffer. MIT License. Feross Aboukhadijeh *) + +content-disposition/index.js: + (*! + * content-disposition + * Copyright(c) 2014-2017 Douglas Christopher Wilson + * MIT Licensed + *) + +cookie/index.js: + (*! + * cookie + * Copyright(c) 2012-2014 Roman Shtylman + * Copyright(c) 2015 Douglas Christopher Wilson + * MIT Licensed + *) + +send/index.js: + (*! + * send + * Copyright(c) 2012 TJ Holowaychuk + * Copyright(c) 2014-2022 Douglas Christopher Wilson + * MIT Licensed + *) + +vary/index.js: + (*! + * vary + * Copyright(c) 2014-2017 Douglas Christopher Wilson + * MIT Licensed + *) + +serve-static/index.js: + (*! + * serve-static + * Copyright(c) 2010 Sencha Inc. + * Copyright(c) 2011 TJ Holowaychuk + * Copyright(c) 2014-2016 Douglas Christopher Wilson + * MIT Licensed + *) + +lodash/lodash.js: + (** + * @license + * Lodash + * Copyright OpenJS Foundation and other contributors + * Released under MIT license + * Based on Underscore.js 1.8.3 + * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors + *) + +object-assign/index.js: + (* + object-assign + (c) Sindre Sorhus + @license MIT + *) +*/ +/*! Bundled license information: + +uri-js/dist/es5/uri.all.js: + (** @license URI.js v4.4.1 (c) 2011 Gary Court. License: http://github.com/garycourt/uri-js *) +*/ +//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vbm9kZV9tb2R1bGVzL3pvZC92My9oZWxwZXJzL3V0aWwuanMiLCAiLi4vbm9kZV9tb2R1bGVzL3pvZC92My9ab2RFcnJvci5qcyIsICIuLi9ub2RlX21vZHVsZXMvem9kL3YzL2xvY2FsZXMvZW4uanMiLCAiLi4vbm9kZV9tb2R1bGVzL3pvZC92My9lcnJvcnMuanMiLCAiLi4vbm9kZV9tb2R1bGVzL3pvZC92My9oZWxwZXJzL3BhcnNlVXRpbC5qcyIsICIuLi9ub2RlX21vZHVsZXMvem9kL3YzL2hlbHBlcnMvdHlwZUFsaWFzZXMuanMiLCAiLi4vbm9kZV9tb2R1bGVzL3pvZC92My9oZWxwZXJzL2Vycm9yVXRpbC5qcyIsICIuLi9ub2RlX21vZHVsZXMvem9kL3YzL3R5cGVzLmpzIiwgIi4uL25vZGVfbW9kdWxlcy96b2QvdjMvZXh0ZXJuYWwuanMiLCAiLi4vbm9kZV9tb2R1bGVzL3pvZC9pbmRleC5qcyIsICIuLi9ub2RlX21vZHVsZXMvQG1vZGVsY29udGV4dHByb3RvY29sL3Nkay9zcmMvdHlwZXMudHMiLCAiLi4vbm9kZV9tb2R1bGVzL0Btb2RlbGNvbnRleHRwcm90b2NvbC9zZGsvc3JjL3NoYXJlZC9wcm90b2NvbC50cyIsICIuLi9ub2RlX21vZHVsZXMvdXJpLWpzL3NyYy9pbmRleC50cyIsICIuLi9ub2RlX21vZHVsZXMvdXJpLWpzL3NyYy9zY2hlbWVzL3Vybi11dWlkLnRzIiwgIi4uL25vZGVfbW9kdWxlcy91cmktanMvc3JjL3NjaGVtZXMvdXJuLnRzIiwgIi4uL25vZGVfbW9kdWxlcy91cmktanMvc3JjL3NjaGVtZXMvbWFpbHRvLnRzIiwgIi4uL25vZGVfbW9kdWxlcy91cmktanMvc3JjL3NjaGVtZXMvd3NzLnRzIiwgIi4uL25vZGVfbW9kdWxlcy91cmktanMvc3JjL3NjaGVtZXMvd3MudHMiLCAiLi4vbm9kZV9tb2R1bGVzL3VyaS1qcy9zcmMvc2NoZW1lcy9odHRwcy50cyIsICIuLi9ub2RlX21vZHVsZXMvdXJpLWpzL3NyYy9zY2hlbWVzL2h0dHAudHMiLCAiLi4vbm9kZV9tb2R1bGVzL3VyaS1qcy9zcmMvdXJpLnRzIiwgIi4uL25vZGVfbW9kdWxlcy91cmktanMvbm9kZV9tb2R1bGVzL3B1bnljb2RlL3B1bnljb2RlLmVzNi5qcyIsICIuLi9ub2RlX21vZHVsZXMvdXJpLWpzL3NyYy9yZWdleHBzLWlyaS50cyIsICIuLi9ub2RlX21vZHVsZXMvdXJpLWpzL3NyYy9yZWdleHBzLXVyaS50cyIsICIuLi9ub2RlX21vZHVsZXMvdXJpLWpzL3NyYy91dGlsLnRzIiwgIi4uL25vZGVfbW9kdWxlcy9mYXN0LWRlZXAtZXF1YWwvaW5kZXguanMiLCAiLi4vbm9kZV9tb2R1bGVzL2Fqdi9saWIvY29tcGlsZS91Y3MybGVuZ3RoLmpzIiwgIi4uL25vZGVfbW9kdWxlcy9hanYvbGliL2NvbXBpbGUvdXRpbC5qcyIsICIuLi9ub2RlX21vZHVsZXMvYWp2L2xpYi9jb21waWxlL3NjaGVtYV9vYmouanMiLCAiLi4vbm9kZV9tb2R1bGVzL2pzb24tc2NoZW1hLXRyYXZlcnNlL2luZGV4LmpzIiwgIi4uL25vZGVfbW9kdWxlcy9hanYvbGliL2NvbXBpbGUvcmVzb2x2ZS5qcyIsICIuLi9ub2RlX21vZHVsZXMvYWp2L2xpYi9jb21waWxlL2Vycm9yX2NsYXNzZXMuanMiLCAiLi4vbm9kZV9tb2R1bGVzL2Zhc3QtanNvbi1zdGFibGUtc3RyaW5naWZ5L2luZGV4LmpzIiwgIi4uL25vZGVfbW9kdWxlcy9hanYvbGliL2RvdGpzL3ZhbGlkYXRlLmpzIiwgIi4uL25vZGVfbW9kdWxlcy9hanYvbGliL2NvbXBpbGUvaW5kZXguanMiLCAiLi4vbm9kZV9tb2R1bGVzL2Fqdi9saWIvY2FjaGUuanMiLCAiLi4vbm9kZV9tb2R1bGVzL2Fqdi9saWIvY29tcGlsZS9mb3JtYXRzLmpzIiwgIi4uL25vZGVfbW9kdWxlcy9hanYvbGliL2RvdGpzL3JlZi5qcyIsICIuLi9ub2RlX21vZHVsZXMvYWp2L2xpYi9kb3Rqcy9hbGxPZi5qcyIsICIuLi9ub2RlX21vZHVsZXMvYWp2L2xpYi9kb3Rqcy9hbnlPZi5qcyIsICIuLi9ub2RlX21vZHVsZXMvYWp2L2xpYi9kb3Rqcy9jb21tZW50LmpzIiwgIi4uL25vZGVfbW9kdWxlcy9hanYvbGliL2RvdGpzL2NvbnN0LmpzIiwgIi4uL25vZGVfbW9kdWxlcy9hanYvbGliL2RvdGpzL2NvbnRhaW5zLmpzIiwgIi4uL25vZGVfbW9kdWxlcy9hanYvbGliL2RvdGpzL2RlcGVuZGVuY2llcy5qcyIsICIuLi9ub2RlX21vZHVsZXMvYWp2L2xpYi9kb3Rqcy9lbnVtLmpzIiwgIi4uL25vZGVfbW9kdWxlcy9hanYvbGliL2RvdGpzL2Zvcm1hdC5qcyIsICIuLi9ub2RlX21vZHVsZXMvYWp2L2xpYi9kb3Rqcy9pZi5qcyIsICIuLi9ub2RlX21vZHVsZXMvYWp2L2xpYi9kb3Rqcy9pdGVtcy5qcyIsICIuLi9ub2RlX21vZHVsZXMvYWp2L2xpYi9kb3Rqcy9fbGltaXQuanMiLCAiLi4vbm9kZV9tb2R1bGVzL2Fqdi9saWIvZG90anMvX2xpbWl0SXRlbXMuanMiLCAiLi4vbm9kZV9tb2R1bGVzL2Fqdi9saWIvZG90anMvX2xpbWl0TGVuZ3RoLmpzIiwgIi4uL25vZGVfbW9kdWxlcy9hanYvbGliL2RvdGpzL19saW1pdFByb3BlcnRpZXMuanMiLCAiLi4vbm9kZV9tb2R1bGVzL2Fqdi9saWIvZG90anMvbXVsdGlwbGVPZi5qcyIsICIuLi9ub2RlX21vZHVsZXMvYWp2L2xpYi9kb3Rqcy9ub3QuanMiLCAiLi4vbm9kZV9tb2R1bGVzL2Fqdi9saWIvZG90anMvb25lT2YuanMiLCAiLi4vbm9kZV9tb2R1bGVzL2Fqdi9saWIvZG90anMvcGF0dGVybi5qcyIsICIuLi9ub2RlX21vZHVsZXMvYWp2L2xpYi9kb3Rqcy9wcm9wZXJ0aWVzLmpzIiwgIi4uL25vZGVfbW9kdWxlcy9hanYvbGliL2RvdGpzL3Byb3BlcnR5TmFtZXMuanMiLCAiLi4vbm9kZV9tb2R1bGVzL2Fqdi9saWIvZG90anMvcmVxdWlyZWQuanMiLCAiLi4vbm9kZV9tb2R1bGVzL2Fqdi9saWIvZG90anMvdW5pcXVlSXRlbXMuanMiLCAiLi4vbm9kZV9tb2R1bGVzL2Fqdi9saWIvZG90anMvaW5kZXguanMiLCAiLi4vbm9kZV9tb2R1bGVzL2Fqdi9saWIvY29tcGlsZS9ydWxlcy5qcyIsICIuLi9ub2RlX21vZHVsZXMvYWp2L2xpYi9kYXRhLmpzIiwgIi4uL25vZGVfbW9kdWxlcy9hanYvbGliL2NvbXBpbGUvYXN5bmMuanMiLCAiLi4vbm9kZV9tb2R1bGVzL2Fqdi9saWIvZG90anMvY3VzdG9tLmpzIiwgIi4uL25vZGVfbW9kdWxlcy9hanYvbGliL3JlZnMvanNvbi1zY2hlbWEtZHJhZnQtMDcuanNvbiIsICIuLi9ub2RlX21vZHVsZXMvYWp2L2xpYi9kZWZpbml0aW9uX3NjaGVtYS5qcyIsICIuLi9ub2RlX21vZHVsZXMvYWp2L2xpYi9rZXl3b3JkLmpzIiwgIi4uL25vZGVfbW9kdWxlcy9hanYvbGliL3JlZnMvZGF0YS5qc29uIiwgIi4uL25vZGVfbW9kdWxlcy9hanYvbGliL2Fqdi5qcyIsICIuLi9ub2RlX21vZHVsZXMvQG1vZGVsY29udGV4dHByb3RvY29sL3Nkay9zcmMvc2VydmVyL2luZGV4LnRzIiwgIi4uL25vZGVfbW9kdWxlcy96b2QtdG8tanNvbi1zY2hlbWEvZGlzdC9lc20vT3B0aW9ucy5qcyIsICIuLi9ub2RlX21vZHVsZXMvem9kLXRvLWpzb24tc2NoZW1hL2Rpc3QvZXNtL1JlZnMuanMiLCAiLi4vbm9kZV9tb2R1bGVzL3pvZC10by1qc29uLXNjaGVtYS9kaXN0L2VzbS9lcnJvck1lc3NhZ2VzLmpzIiwgIi4uL25vZGVfbW9kdWxlcy96b2QtdG8tanNvbi1zY2hlbWEvZGlzdC9lc20vZ2V0UmVsYXRpdmVQYXRoLmpzIiwgIi4uL25vZGVfbW9kdWxlcy96b2QtdG8tanNvbi1zY2hlbWEvZGlzdC9lc20vcGFyc2Vycy9hbnkuanMiLCAiLi4vbm9kZV9tb2R1bGVzL3pvZC10by1qc29uLXNjaGVtYS9kaXN0L2VzbS9wYXJzZXJzL2FycmF5LmpzIiwgIi4uL25vZGVfbW9kdWxlcy96b2QtdG8tanNvbi1zY2hlbWEvZGlzdC9lc20vcGFyc2Vycy9iaWdpbnQuanMiLCAiLi4vbm9kZV9tb2R1bGVzL3pvZC10by1qc29uLXNjaGVtYS9kaXN0L2VzbS9wYXJzZXJzL2Jvb2xlYW4uanMiLCAiLi4vbm9kZV9tb2R1bGVzL3pvZC10by1qc29uLXNjaGVtYS9kaXN0L2VzbS9wYXJzZXJzL2JyYW5kZWQuanMiLCAiLi4vbm9kZV9tb2R1bGVzL3pvZC10by1qc29uLXNjaGVtYS9kaXN0L2VzbS9wYXJzZXJzL2NhdGNoLmpzIiwgIi4uL25vZGVfbW9kdWxlcy96b2QtdG8tanNvbi1zY2hlbWEvZGlzdC9lc20vcGFyc2Vycy9kYXRlLmpzIiwgIi4uL25vZGVfbW9kdWxlcy96b2QtdG8tanNvbi1zY2hlbWEvZGlzdC9lc20vcGFyc2Vycy9kZWZhdWx0LmpzIiwgIi4uL25vZGVfbW9kdWxlcy96b2QtdG8tanNvbi1zY2hlbWEvZGlzdC9lc20vcGFyc2Vycy9lZmZlY3RzLmpzIiwgIi4uL25vZGVfbW9kdWxlcy96b2QtdG8tanNvbi1zY2hlbWEvZGlzdC9lc20vcGFyc2Vycy9lbnVtLmpzIiwgIi4uL25vZGVfbW9kdWxlcy96b2QtdG8tanNvbi1zY2hlbWEvZGlzdC9lc20vcGFyc2Vycy9pbnRlcnNlY3Rpb24uanMiLCAiLi4vbm9kZV9tb2R1bGVzL3pvZC10by1qc29uLXNjaGVtYS9kaXN0L2VzbS9wYXJzZXJzL2xpdGVyYWwuanMiLCAiLi4vbm9kZV9tb2R1bGVzL3pvZC10by1qc29uLXNjaGVtYS9kaXN0L2VzbS9wYXJzZXJzL3N0cmluZy5qcyIsICIuLi9ub2RlX21vZHVsZXMvem9kLXRvLWpzb24tc2NoZW1hL2Rpc3QvZXNtL3BhcnNlcnMvcmVjb3JkLmpzIiwgIi4uL25vZGVfbW9kdWxlcy96b2QtdG8tanNvbi1zY2hlbWEvZGlzdC9lc20vcGFyc2Vycy9tYXAuanMiLCAiLi4vbm9kZV9tb2R1bGVzL3pvZC10by1qc29uLXNjaGVtYS9kaXN0L2VzbS9wYXJzZXJzL25hdGl2ZUVudW0uanMiLCAiLi4vbm9kZV9tb2R1bGVzL3pvZC10by1qc29uLXNjaGVtYS9kaXN0L2VzbS9wYXJzZXJzL25ldmVyLmpzIiwgIi4uL25vZGVfbW9kdWxlcy96b2QtdG8tanNvbi1zY2hlbWEvZGlzdC9lc20vcGFyc2Vycy9udWxsLmpzIiwgIi4uL25vZGVfbW9kdWxlcy96b2QtdG8tanNvbi1zY2hlbWEvZGlzdC9lc20vcGFyc2Vycy91bmlvbi5qcyIsICIuLi9ub2RlX21vZHVsZXMvem9kLXRvLWpzb24tc2NoZW1hL2Rpc3QvZXNtL3BhcnNlcnMvbnVsbGFibGUuanMiLCAiLi4vbm9kZV9tb2R1bGVzL3pvZC10by1qc29uLXNjaGVtYS9kaXN0L2VzbS9wYXJzZXJzL251bWJlci5qcyIsICIuLi9ub2RlX21vZHVsZXMvem9kLXRvLWpzb24tc2NoZW1hL2Rpc3QvZXNtL3BhcnNlcnMvb2JqZWN0LmpzIiwgIi4uL25vZGVfbW9kdWxlcy96b2QtdG8tanNvbi1zY2hlbWEvZGlzdC9lc20vcGFyc2Vycy9vcHRpb25hbC5qcyIsICIuLi9ub2RlX21vZHVsZXMvem9kLXRvLWpzb24tc2NoZW1hL2Rpc3QvZXNtL3BhcnNlcnMvcGlwZWxpbmUuanMiLCAiLi4vbm9kZV9tb2R1bGVzL3pvZC10by1qc29uLXNjaGVtYS9kaXN0L2VzbS9wYXJzZXJzL3Byb21pc2UuanMiLCAiLi4vbm9kZV9tb2R1bGVzL3pvZC10by1qc29uLXNjaGVtYS9kaXN0L2VzbS9wYXJzZXJzL3NldC5qcyIsICIuLi9ub2RlX21vZHVsZXMvem9kLXRvLWpzb24tc2NoZW1hL2Rpc3QvZXNtL3BhcnNlcnMvdHVwbGUuanMiLCAiLi4vbm9kZV9tb2R1bGVzL3pvZC10by1qc29uLXNjaGVtYS9kaXN0L2VzbS9wYXJzZXJzL3VuZGVmaW5lZC5qcyIsICIuLi9ub2RlX21vZHVsZXMvem9kLXRvLWpzb24tc2NoZW1hL2Rpc3QvZXNtL3BhcnNlcnMvdW5rbm93bi5qcyIsICIuLi9ub2RlX21vZHVsZXMvem9kLXRvLWpzb24tc2NoZW1hL2Rpc3QvZXNtL3BhcnNlcnMvcmVhZG9ubHkuanMiLCAiLi4vbm9kZV9tb2R1bGVzL3pvZC10by1qc29uLXNjaGVtYS9kaXN0L2VzbS9zZWxlY3RQYXJzZXIuanMiLCAiLi4vbm9kZV9tb2R1bGVzL3pvZC10by1qc29uLXNjaGVtYS9kaXN0L2VzbS9wYXJzZURlZi5qcyIsICIuLi9ub2RlX21vZHVsZXMvem9kLXRvLWpzb24tc2NoZW1hL2Rpc3QvZXNtL3BhcnNlVHlwZXMuanMiLCAiLi4vbm9kZV9tb2R1bGVzL3pvZC10by1qc29uLXNjaGVtYS9kaXN0L2VzbS96b2RUb0pzb25TY2hlbWEuanMiLCAiLi4vbm9kZV9tb2R1bGVzL3pvZC10by1qc29uLXNjaGVtYS9kaXN0L2VzbS9pbmRleC5qcyIsICIuLi9ub2RlX21vZHVsZXMvY2hhbGsvc291cmNlL3ZlbmRvci9hbnNpLXN0eWxlcy9pbmRleC5qcyIsICIuLi9ub2RlX21vZHVsZXMvY2hhbGsvc291cmNlL3ZlbmRvci9zdXBwb3J0cy1jb2xvci9pbmRleC5qcyIsICIuLi9ub2RlX21vZHVsZXMvY2hhbGsvc291cmNlL3V0aWxpdGllcy5qcyIsICIuLi9ub2RlX21vZHVsZXMvY2hhbGsvc291cmNlL2luZGV4LmpzIiwgIi4uL2luZGV4LnRzIiwgImJvb3RzdHJhcDp2aXJ0dWFsOmJvb3RzdHJhcCJdLAogICJzb3VyY2VzQ29udGVudCI6IFsiZXhwb3J0IHZhciB1dGlsO1xuKGZ1bmN0aW9uICh1dGlsKSB7XG4gICAgdXRpbC5hc3NlcnRFcXVhbCA9IChfKSA9PiB7IH07XG4gICAgZnVuY3Rpb24gYXNzZXJ0SXMoX2FyZykgeyB9XG4gICAgdXRpbC5hc3NlcnRJcyA9IGFzc2VydElzO1xuICAgIGZ1bmN0aW9uIGFzc2VydE5ldmVyKF94KSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcigpO1xuICAgIH1cbiAgICB1dGlsLmFzc2VydE5ldmVyID0gYXNzZXJ0TmV2ZXI7XG4gICAgdXRpbC5hcnJheVRvRW51bSA9IChpdGVtcykgPT4ge1xuICAgICAgICBjb25zdCBvYmogPSB7fTtcbiAgICAgICAgZm9yIChjb25zdCBpdGVtIG9mIGl0ZW1zKSB7XG4gICAgICAgICAgICBvYmpbaXRlbV0gPSBpdGVtO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBvYmo7XG4gICAgfTtcbiAgICB1dGlsLmdldFZhbGlkRW51bVZhbHVlcyA9IChvYmopID0+IHtcbiAgICAgICAgY29uc3QgdmFsaWRLZXlzID0gdXRpbC5vYmplY3RLZXlzKG9iaikuZmlsdGVyKChrKSA9PiB0eXBlb2Ygb2JqW29ialtrXV0gIT09IFwibnVtYmVyXCIpO1xuICAgICAgICBjb25zdCBmaWx0ZXJlZCA9IHt9O1xuICAgICAgICBmb3IgKGNvbnN0IGsgb2YgdmFsaWRLZXlzKSB7XG4gICAgICAgICAgICBmaWx0ZXJlZFtrXSA9IG9ialtrXTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gdXRpbC5vYmplY3RWYWx1ZXMoZmlsdGVyZWQpO1xuICAgIH07XG4gICAgdXRpbC5vYmplY3RWYWx1ZXMgPSAob2JqKSA9PiB7XG4gICAgICAgIHJldHVybiB1dGlsLm9iamVjdEtleXMob2JqKS5tYXAoZnVuY3Rpb24gKGUpIHtcbiAgICAgICAgICAgIHJldHVybiBvYmpbZV07XG4gICAgICAgIH0pO1xuICAgIH07XG4gICAgdXRpbC5vYmplY3RLZXlzID0gdHlwZW9mIE9iamVjdC5rZXlzID09PSBcImZ1bmN0aW9uXCIgLy8gZXNsaW50LWRpc2FibGUtbGluZSBiYW4vYmFuXG4gICAgICAgID8gKG9iaikgPT4gT2JqZWN0LmtleXMob2JqKSAvLyBlc2xpbnQtZGlzYWJsZS1saW5lIGJhbi9iYW5cbiAgICAgICAgOiAob2JqZWN0KSA9PiB7XG4gICAgICAgICAgICBjb25zdCBrZXlzID0gW107XG4gICAgICAgICAgICBmb3IgKGNvbnN0IGtleSBpbiBvYmplY3QpIHtcbiAgICAgICAgICAgICAgICBpZiAoT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKG9iamVjdCwga2V5KSkge1xuICAgICAgICAgICAgICAgICAgICBrZXlzLnB1c2goa2V5KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXR1cm4ga2V5cztcbiAgICAgICAgfTtcbiAgICB1dGlsLmZpbmQgPSAoYXJyLCBjaGVja2VyKSA9PiB7XG4gICAgICAgIGZvciAoY29uc3QgaXRlbSBvZiBhcnIpIHtcbiAgICAgICAgICAgIGlmIChjaGVja2VyKGl0ZW0pKVxuICAgICAgICAgICAgICAgIHJldHVybiBpdGVtO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgfTtcbiAgICB1dGlsLmlzSW50ZWdlciA9IHR5cGVvZiBOdW1iZXIuaXNJbnRlZ2VyID09PSBcImZ1bmN0aW9uXCJcbiAgICAgICAgPyAodmFsKSA9PiBOdW1iZXIuaXNJbnRlZ2VyKHZhbCkgLy8gZXNsaW50LWRpc2FibGUtbGluZSBiYW4vYmFuXG4gICAgICAgIDogKHZhbCkgPT4gdHlwZW9mIHZhbCA9PT0gXCJudW1iZXJcIiAmJiBOdW1iZXIuaXNGaW5pdGUodmFsKSAmJiBNYXRoLmZsb29yKHZhbCkgPT09IHZhbDtcbiAgICBmdW5jdGlvbiBqb2luVmFsdWVzKGFycmF5LCBzZXBhcmF0b3IgPSBcIiB8IFwiKSB7XG4gICAgICAgIHJldHVybiBhcnJheS5tYXAoKHZhbCkgPT4gKHR5cGVvZiB2YWwgPT09IFwic3RyaW5nXCIgPyBgJyR7dmFsfSdgIDogdmFsKSkuam9pbihzZXBhcmF0b3IpO1xuICAgIH1cbiAgICB1dGlsLmpvaW5WYWx1ZXMgPSBqb2luVmFsdWVzO1xuICAgIHV0aWwuanNvblN0cmluZ2lmeVJlcGxhY2VyID0gKF8sIHZhbHVlKSA9PiB7XG4gICAgICAgIGlmICh0eXBlb2YgdmFsdWUgPT09IFwiYmlnaW50XCIpIHtcbiAgICAgICAgICAgIHJldHVybiB2YWx1ZS50b1N0cmluZygpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiB2YWx1ZTtcbiAgICB9O1xufSkodXRpbCB8fCAodXRpbCA9IHt9KSk7XG5leHBvcnQgdmFyIG9iamVjdFV0aWw7XG4oZnVuY3Rpb24gKG9iamVjdFV0aWwpIHtcbiAgICBvYmplY3RVdGlsLm1lcmdlU2hhcGVzID0gKGZpcnN0LCBzZWNvbmQpID0+IHtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIC4uLmZpcnN0LFxuICAgICAgICAgICAgLi4uc2Vjb25kLCAvLyBzZWNvbmQgb3ZlcndyaXRlcyBmaXJzdFxuICAgICAgICB9O1xuICAgIH07XG59KShvYmplY3RVdGlsIHx8IChvYmplY3RVdGlsID0ge30pKTtcbmV4cG9ydCBjb25zdCBab2RQYXJzZWRUeXBlID0gdXRpbC5hcnJheVRvRW51bShbXG4gICAgXCJzdHJpbmdcIixcbiAgICBcIm5hblwiLFxuICAgIFwibnVtYmVyXCIsXG4gICAgXCJpbnRlZ2VyXCIsXG4gICAgXCJmbG9hdFwiLFxuICAgIFwiYm9vbGVhblwiLFxuICAgIFwiZGF0ZVwiLFxuICAgIFwiYmlnaW50XCIsXG4gICAgXCJzeW1ib2xcIixcbiAgICBcImZ1bmN0aW9uXCIsXG4gICAgXCJ1bmRlZmluZWRcIixcbiAgICBcIm51bGxcIixcbiAgICBcImFycmF5XCIsXG4gICAgXCJvYmplY3RcIixcbiAgICBcInVua25vd25cIixcbiAgICBcInByb21pc2VcIixcbiAgICBcInZvaWRcIixcbiAgICBcIm5ldmVyXCIsXG4gICAgXCJtYXBcIixcbiAgICBcInNldFwiLFxuXSk7XG5leHBvcnQgY29uc3QgZ2V0UGFyc2VkVHlwZSA9IChkYXRhKSA9PiB7XG4gICAgY29uc3QgdCA9IHR5cGVvZiBkYXRhO1xuICAgIHN3aXRjaCAodCkge1xuICAgICAgICBjYXNlIFwidW5kZWZpbmVkXCI6XG4gICAgICAgICAgICByZXR1cm4gWm9kUGFyc2VkVHlwZS51bmRlZmluZWQ7XG4gICAgICAgIGNhc2UgXCJzdHJpbmdcIjpcbiAgICAgICAgICAgIHJldHVybiBab2RQYXJzZWRUeXBlLnN0cmluZztcbiAgICAgICAgY2FzZSBcIm51bWJlclwiOlxuICAgICAgICAgICAgcmV0dXJuIE51bWJlci5pc05hTihkYXRhKSA/IFpvZFBhcnNlZFR5cGUubmFuIDogWm9kUGFyc2VkVHlwZS5udW1iZXI7XG4gICAgICAgIGNhc2UgXCJib29sZWFuXCI6XG4gICAgICAgICAgICByZXR1cm4gWm9kUGFyc2VkVHlwZS5ib29sZWFuO1xuICAgICAgICBjYXNlIFwiZnVuY3Rpb25cIjpcbiAgICAgICAgICAgIHJldHVybiBab2RQYXJzZWRUeXBlLmZ1bmN0aW9uO1xuICAgICAgICBjYXNlIFwiYmlnaW50XCI6XG4gICAgICAgICAgICByZXR1cm4gWm9kUGFyc2VkVHlwZS5iaWdpbnQ7XG4gICAgICAgIGNhc2UgXCJzeW1ib2xcIjpcbiAgICAgICAgICAgIHJldHVybiBab2RQYXJzZWRUeXBlLnN5bWJvbDtcbiAgICAgICAgY2FzZSBcIm9iamVjdFwiOlxuICAgICAgICAgICAgaWYgKEFycmF5LmlzQXJyYXkoZGF0YSkpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gWm9kUGFyc2VkVHlwZS5hcnJheTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmIChkYXRhID09PSBudWxsKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIFpvZFBhcnNlZFR5cGUubnVsbDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmIChkYXRhLnRoZW4gJiYgdHlwZW9mIGRhdGEudGhlbiA9PT0gXCJmdW5jdGlvblwiICYmIGRhdGEuY2F0Y2ggJiYgdHlwZW9mIGRhdGEuY2F0Y2ggPT09IFwiZnVuY3Rpb25cIikge1xuICAgICAgICAgICAgICAgIHJldHVybiBab2RQYXJzZWRUeXBlLnByb21pc2U7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAodHlwZW9mIE1hcCAhPT0gXCJ1bmRlZmluZWRcIiAmJiBkYXRhIGluc3RhbmNlb2YgTWFwKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIFpvZFBhcnNlZFR5cGUubWFwO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKHR5cGVvZiBTZXQgIT09IFwidW5kZWZpbmVkXCIgJiYgZGF0YSBpbnN0YW5jZW9mIFNldCkge1xuICAgICAgICAgICAgICAgIHJldHVybiBab2RQYXJzZWRUeXBlLnNldDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmICh0eXBlb2YgRGF0ZSAhPT0gXCJ1bmRlZmluZWRcIiAmJiBkYXRhIGluc3RhbmNlb2YgRGF0ZSkge1xuICAgICAgICAgICAgICAgIHJldHVybiBab2RQYXJzZWRUeXBlLmRhdGU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXR1cm4gWm9kUGFyc2VkVHlwZS5vYmplY3Q7XG4gICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICByZXR1cm4gWm9kUGFyc2VkVHlwZS51bmtub3duO1xuICAgIH1cbn07XG4iLCAiaW1wb3J0IHsgdXRpbCB9IGZyb20gXCIuL2hlbHBlcnMvdXRpbC5qc1wiO1xuZXhwb3J0IGNvbnN0IFpvZElzc3VlQ29kZSA9IHV0aWwuYXJyYXlUb0VudW0oW1xuICAgIFwiaW52YWxpZF90eXBlXCIsXG4gICAgXCJpbnZhbGlkX2xpdGVyYWxcIixcbiAgICBcImN1c3RvbVwiLFxuICAgIFwiaW52YWxpZF91bmlvblwiLFxuICAgIFwiaW52YWxpZF91bmlvbl9kaXNjcmltaW5hdG9yXCIsXG4gICAgXCJpbnZhbGlkX2VudW1fdmFsdWVcIixcbiAgICBcInVucmVjb2duaXplZF9rZXlzXCIsXG4gICAgXCJpbnZhbGlkX2FyZ3VtZW50c1wiLFxuICAgIFwiaW52YWxpZF9yZXR1cm5fdHlwZVwiLFxuICAgIFwiaW52YWxpZF9kYXRlXCIsXG4gICAgXCJpbnZhbGlkX3N0cmluZ1wiLFxuICAgIFwidG9vX3NtYWxsXCIsXG4gICAgXCJ0b29fYmlnXCIsXG4gICAgXCJpbnZhbGlkX2ludGVyc2VjdGlvbl90eXBlc1wiLFxuICAgIFwibm90X211bHRpcGxlX29mXCIsXG4gICAgXCJub3RfZmluaXRlXCIsXG5dKTtcbmV4cG9ydCBjb25zdCBxdW90ZWxlc3NKc29uID0gKG9iaikgPT4ge1xuICAgIGNvbnN0IGpzb24gPSBKU09OLnN0cmluZ2lmeShvYmosIG51bGwsIDIpO1xuICAgIHJldHVybiBqc29uLnJlcGxhY2UoL1wiKFteXCJdKylcIjovZywgXCIkMTpcIik7XG59O1xuZXhwb3J0IGNsYXNzIFpvZEVycm9yIGV4dGVuZHMgRXJyb3Ige1xuICAgIGdldCBlcnJvcnMoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmlzc3VlcztcbiAgICB9XG4gICAgY29uc3RydWN0b3IoaXNzdWVzKSB7XG4gICAgICAgIHN1cGVyKCk7XG4gICAgICAgIHRoaXMuaXNzdWVzID0gW107XG4gICAgICAgIHRoaXMuYWRkSXNzdWUgPSAoc3ViKSA9PiB7XG4gICAgICAgICAgICB0aGlzLmlzc3VlcyA9IFsuLi50aGlzLmlzc3Vlcywgc3ViXTtcbiAgICAgICAgfTtcbiAgICAgICAgdGhpcy5hZGRJc3N1ZXMgPSAoc3VicyA9IFtdKSA9PiB7XG4gICAgICAgICAgICB0aGlzLmlzc3VlcyA9IFsuLi50aGlzLmlzc3VlcywgLi4uc3Vic107XG4gICAgICAgIH07XG4gICAgICAgIGNvbnN0IGFjdHVhbFByb3RvID0gbmV3LnRhcmdldC5wcm90b3R5cGU7XG4gICAgICAgIGlmIChPYmplY3Quc2V0UHJvdG90eXBlT2YpIHtcbiAgICAgICAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBiYW4vYmFuXG4gICAgICAgICAgICBPYmplY3Quc2V0UHJvdG90eXBlT2YodGhpcywgYWN0dWFsUHJvdG8pO1xuICAgICAgICB9XG4gICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5fX3Byb3RvX18gPSBhY3R1YWxQcm90bztcbiAgICAgICAgfVxuICAgICAgICB0aGlzLm5hbWUgPSBcIlpvZEVycm9yXCI7XG4gICAgICAgIHRoaXMuaXNzdWVzID0gaXNzdWVzO1xuICAgIH1cbiAgICBmb3JtYXQoX21hcHBlcikge1xuICAgICAgICBjb25zdCBtYXBwZXIgPSBfbWFwcGVyIHx8XG4gICAgICAgICAgICBmdW5jdGlvbiAoaXNzdWUpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gaXNzdWUubWVzc2FnZTtcbiAgICAgICAgICAgIH07XG4gICAgICAgIGNvbnN0IGZpZWxkRXJyb3JzID0geyBfZXJyb3JzOiBbXSB9O1xuICAgICAgICBjb25zdCBwcm9jZXNzRXJyb3IgPSAoZXJyb3IpID0+IHtcbiAgICAgICAgICAgIGZvciAoY29uc3QgaXNzdWUgb2YgZXJyb3IuaXNzdWVzKSB7XG4gICAgICAgICAgICAgICAgaWYgKGlzc3VlLmNvZGUgPT09IFwiaW52YWxpZF91bmlvblwiKSB7XG4gICAgICAgICAgICAgICAgICAgIGlzc3VlLnVuaW9uRXJyb3JzLm1hcChwcm9jZXNzRXJyb3IpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBlbHNlIGlmIChpc3N1ZS5jb2RlID09PSBcImludmFsaWRfcmV0dXJuX3R5cGVcIikge1xuICAgICAgICAgICAgICAgICAgICBwcm9jZXNzRXJyb3IoaXNzdWUucmV0dXJuVHlwZUVycm9yKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgZWxzZSBpZiAoaXNzdWUuY29kZSA9PT0gXCJpbnZhbGlkX2FyZ3VtZW50c1wiKSB7XG4gICAgICAgICAgICAgICAgICAgIHByb2Nlc3NFcnJvcihpc3N1ZS5hcmd1bWVudHNFcnJvcik7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGVsc2UgaWYgKGlzc3VlLnBhdGgubGVuZ3RoID09PSAwKSB7XG4gICAgICAgICAgICAgICAgICAgIGZpZWxkRXJyb3JzLl9lcnJvcnMucHVzaChtYXBwZXIoaXNzdWUpKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIGxldCBjdXJyID0gZmllbGRFcnJvcnM7XG4gICAgICAgICAgICAgICAgICAgIGxldCBpID0gMDtcbiAgICAgICAgICAgICAgICAgICAgd2hpbGUgKGkgPCBpc3N1ZS5wYXRoLmxlbmd0aCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgZWwgPSBpc3N1ZS5wYXRoW2ldO1xuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdGVybWluYWwgPSBpID09PSBpc3N1ZS5wYXRoLmxlbmd0aCAtIDE7XG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoIXRlcm1pbmFsKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY3VycltlbF0gPSBjdXJyW2VsXSB8fCB7IF9lcnJvcnM6IFtdIH07XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gaWYgKHR5cGVvZiBlbCA9PT0gXCJzdHJpbmdcIikge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vICAgY3VycltlbF0gPSBjdXJyW2VsXSB8fCB7IF9lcnJvcnM6IFtdIH07XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gfSBlbHNlIGlmICh0eXBlb2YgZWwgPT09IFwibnVtYmVyXCIpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAgIGNvbnN0IGVycm9yQXJyYXk6IGFueSA9IFtdO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vICAgZXJyb3JBcnJheS5fZXJyb3JzID0gW107XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gICBjdXJyW2VsXSA9IGN1cnJbZWxdIHx8IGVycm9yQXJyYXk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gfVxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY3VycltlbF0gPSBjdXJyW2VsXSB8fCB7IF9lcnJvcnM6IFtdIH07XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY3VycltlbF0uX2Vycm9ycy5wdXNoKG1hcHBlcihpc3N1ZSkpO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgY3VyciA9IGN1cnJbZWxdO1xuICAgICAgICAgICAgICAgICAgICAgICAgaSsrO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9O1xuICAgICAgICBwcm9jZXNzRXJyb3IodGhpcyk7XG4gICAgICAgIHJldHVybiBmaWVsZEVycm9ycztcbiAgICB9XG4gICAgc3RhdGljIGFzc2VydCh2YWx1ZSkge1xuICAgICAgICBpZiAoISh2YWx1ZSBpbnN0YW5jZW9mIFpvZEVycm9yKSkge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBOb3QgYSBab2RFcnJvcjogJHt2YWx1ZX1gKTtcbiAgICAgICAgfVxuICAgIH1cbiAgICB0b1N0cmluZygpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMubWVzc2FnZTtcbiAgICB9XG4gICAgZ2V0IG1lc3NhZ2UoKSB7XG4gICAgICAgIHJldHVybiBKU09OLnN0cmluZ2lmeSh0aGlzLmlzc3VlcywgdXRpbC5qc29uU3RyaW5naWZ5UmVwbGFjZXIsIDIpO1xuICAgIH1cbiAgICBnZXQgaXNFbXB0eSgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaXNzdWVzLmxlbmd0aCA9PT0gMDtcbiAgICB9XG4gICAgZmxhdHRlbihtYXBwZXIgPSAoaXNzdWUpID0+IGlzc3VlLm1lc3NhZ2UpIHtcbiAgICAgICAgY29uc3QgZmllbGRFcnJvcnMgPSB7fTtcbiAgICAgICAgY29uc3QgZm9ybUVycm9ycyA9IFtdO1xuICAgICAgICBmb3IgKGNvbnN0IHN1YiBvZiB0aGlzLmlzc3Vlcykge1xuICAgICAgICAgICAgaWYgKHN1Yi5wYXRoLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICAgICAgICBjb25zdCBmaXJzdEVsID0gc3ViLnBhdGhbMF07XG4gICAgICAgICAgICAgICAgZmllbGRFcnJvcnNbZmlyc3RFbF0gPSBmaWVsZEVycm9yc1tmaXJzdEVsXSB8fCBbXTtcbiAgICAgICAgICAgICAgICBmaWVsZEVycm9yc1tmaXJzdEVsXS5wdXNoKG1hcHBlcihzdWIpKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgICAgIGZvcm1FcnJvcnMucHVzaChtYXBwZXIoc3ViKSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHsgZm9ybUVycm9ycywgZmllbGRFcnJvcnMgfTtcbiAgICB9XG4gICAgZ2V0IGZvcm1FcnJvcnMoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmZsYXR0ZW4oKTtcbiAgICB9XG59XG5ab2RFcnJvci5jcmVhdGUgPSAoaXNzdWVzKSA9PiB7XG4gICAgY29uc3QgZXJyb3IgPSBuZXcgWm9kRXJyb3IoaXNzdWVzKTtcbiAgICByZXR1cm4gZXJyb3I7XG59O1xuIiwgImltcG9ydCB7IFpvZElzc3VlQ29kZSB9IGZyb20gXCIuLi9ab2RFcnJvci5qc1wiO1xuaW1wb3J0IHsgdXRpbCwgWm9kUGFyc2VkVHlwZSB9IGZyb20gXCIuLi9oZWxwZXJzL3V0aWwuanNcIjtcbmNvbnN0IGVycm9yTWFwID0gKGlzc3VlLCBfY3R4KSA9PiB7XG4gICAgbGV0IG1lc3NhZ2U7XG4gICAgc3dpdGNoIChpc3N1ZS5jb2RlKSB7XG4gICAgICAgIGNhc2UgWm9kSXNzdWVDb2RlLmludmFsaWRfdHlwZTpcbiAgICAgICAgICAgIGlmIChpc3N1ZS5yZWNlaXZlZCA9PT0gWm9kUGFyc2VkVHlwZS51bmRlZmluZWQpIHtcbiAgICAgICAgICAgICAgICBtZXNzYWdlID0gXCJSZXF1aXJlZFwiO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgbWVzc2FnZSA9IGBFeHBlY3RlZCAke2lzc3VlLmV4cGVjdGVkfSwgcmVjZWl2ZWQgJHtpc3N1ZS5yZWNlaXZlZH1gO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgIGNhc2UgWm9kSXNzdWVDb2RlLmludmFsaWRfbGl0ZXJhbDpcbiAgICAgICAgICAgIG1lc3NhZ2UgPSBgSW52YWxpZCBsaXRlcmFsIHZhbHVlLCBleHBlY3RlZCAke0pTT04uc3RyaW5naWZ5KGlzc3VlLmV4cGVjdGVkLCB1dGlsLmpzb25TdHJpbmdpZnlSZXBsYWNlcil9YDtcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICBjYXNlIFpvZElzc3VlQ29kZS51bnJlY29nbml6ZWRfa2V5czpcbiAgICAgICAgICAgIG1lc3NhZ2UgPSBgVW5yZWNvZ25pemVkIGtleShzKSBpbiBvYmplY3Q6ICR7dXRpbC5qb2luVmFsdWVzKGlzc3VlLmtleXMsIFwiLCBcIil9YDtcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICBjYXNlIFpvZElzc3VlQ29kZS5pbnZhbGlkX3VuaW9uOlxuICAgICAgICAgICAgbWVzc2FnZSA9IGBJbnZhbGlkIGlucHV0YDtcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICBjYXNlIFpvZElzc3VlQ29kZS5pbnZhbGlkX3VuaW9uX2Rpc2NyaW1pbmF0b3I6XG4gICAgICAgICAgICBtZXNzYWdlID0gYEludmFsaWQgZGlzY3JpbWluYXRvciB2YWx1ZS4gRXhwZWN0ZWQgJHt1dGlsLmpvaW5WYWx1ZXMoaXNzdWUub3B0aW9ucyl9YDtcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICBjYXNlIFpvZElzc3VlQ29kZS5pbnZhbGlkX2VudW1fdmFsdWU6XG4gICAgICAgICAgICBtZXNzYWdlID0gYEludmFsaWQgZW51bSB2YWx1ZS4gRXhwZWN0ZWQgJHt1dGlsLmpvaW5WYWx1ZXMoaXNzdWUub3B0aW9ucyl9LCByZWNlaXZlZCAnJHtpc3N1ZS5yZWNlaXZlZH0nYDtcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICBjYXNlIFpvZElzc3VlQ29kZS5pbnZhbGlkX2FyZ3VtZW50czpcbiAgICAgICAgICAgIG1lc3NhZ2UgPSBgSW52YWxpZCBmdW5jdGlvbiBhcmd1bWVudHNgO1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgIGNhc2UgWm9kSXNzdWVDb2RlLmludmFsaWRfcmV0dXJuX3R5cGU6XG4gICAgICAgICAgICBtZXNzYWdlID0gYEludmFsaWQgZnVuY3Rpb24gcmV0dXJuIHR5cGVgO1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgIGNhc2UgWm9kSXNzdWVDb2RlLmludmFsaWRfZGF0ZTpcbiAgICAgICAgICAgIG1lc3NhZ2UgPSBgSW52YWxpZCBkYXRlYDtcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICBjYXNlIFpvZElzc3VlQ29kZS5pbnZhbGlkX3N0cmluZzpcbiAgICAgICAgICAgIGlmICh0eXBlb2YgaXNzdWUudmFsaWRhdGlvbiA9PT0gXCJvYmplY3RcIikge1xuICAgICAgICAgICAgICAgIGlmIChcImluY2x1ZGVzXCIgaW4gaXNzdWUudmFsaWRhdGlvbikge1xuICAgICAgICAgICAgICAgICAgICBtZXNzYWdlID0gYEludmFsaWQgaW5wdXQ6IG11c3QgaW5jbHVkZSBcIiR7aXNzdWUudmFsaWRhdGlvbi5pbmNsdWRlc31cImA7XG4gICAgICAgICAgICAgICAgICAgIGlmICh0eXBlb2YgaXNzdWUudmFsaWRhdGlvbi5wb3NpdGlvbiA9PT0gXCJudW1iZXJcIikge1xuICAgICAgICAgICAgICAgICAgICAgICAgbWVzc2FnZSA9IGAke21lc3NhZ2V9IGF0IG9uZSBvciBtb3JlIHBvc2l0aW9ucyBncmVhdGVyIHRoYW4gb3IgZXF1YWwgdG8gJHtpc3N1ZS52YWxpZGF0aW9uLnBvc2l0aW9ufWA7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgZWxzZSBpZiAoXCJzdGFydHNXaXRoXCIgaW4gaXNzdWUudmFsaWRhdGlvbikge1xuICAgICAgICAgICAgICAgICAgICBtZXNzYWdlID0gYEludmFsaWQgaW5wdXQ6IG11c3Qgc3RhcnQgd2l0aCBcIiR7aXNzdWUudmFsaWRhdGlvbi5zdGFydHNXaXRofVwiYDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgZWxzZSBpZiAoXCJlbmRzV2l0aFwiIGluIGlzc3VlLnZhbGlkYXRpb24pIHtcbiAgICAgICAgICAgICAgICAgICAgbWVzc2FnZSA9IGBJbnZhbGlkIGlucHV0OiBtdXN0IGVuZCB3aXRoIFwiJHtpc3N1ZS52YWxpZGF0aW9uLmVuZHNXaXRofVwiYDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIHV0aWwuYXNzZXJ0TmV2ZXIoaXNzdWUudmFsaWRhdGlvbik7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZWxzZSBpZiAoaXNzdWUudmFsaWRhdGlvbiAhPT0gXCJyZWdleFwiKSB7XG4gICAgICAgICAgICAgICAgbWVzc2FnZSA9IGBJbnZhbGlkICR7aXNzdWUudmFsaWRhdGlvbn1gO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgbWVzc2FnZSA9IFwiSW52YWxpZFwiO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgIGNhc2UgWm9kSXNzdWVDb2RlLnRvb19zbWFsbDpcbiAgICAgICAgICAgIGlmIChpc3N1ZS50eXBlID09PSBcImFycmF5XCIpXG4gICAgICAgICAgICAgICAgbWVzc2FnZSA9IGBBcnJheSBtdXN0IGNvbnRhaW4gJHtpc3N1ZS5leGFjdCA/IFwiZXhhY3RseVwiIDogaXNzdWUuaW5jbHVzaXZlID8gYGF0IGxlYXN0YCA6IGBtb3JlIHRoYW5gfSAke2lzc3VlLm1pbmltdW19IGVsZW1lbnQocylgO1xuICAgICAgICAgICAgZWxzZSBpZiAoaXNzdWUudHlwZSA9PT0gXCJzdHJpbmdcIilcbiAgICAgICAgICAgICAgICBtZXNzYWdlID0gYFN0cmluZyBtdXN0IGNvbnRhaW4gJHtpc3N1ZS5leGFjdCA/IFwiZXhhY3RseVwiIDogaXNzdWUuaW5jbHVzaXZlID8gYGF0IGxlYXN0YCA6IGBvdmVyYH0gJHtpc3N1ZS5taW5pbXVtfSBjaGFyYWN0ZXIocylgO1xuICAgICAgICAgICAgZWxzZSBpZiAoaXNzdWUudHlwZSA9PT0gXCJudW1iZXJcIilcbiAgICAgICAgICAgICAgICBtZXNzYWdlID0gYE51bWJlciBtdXN0IGJlICR7aXNzdWUuZXhhY3QgPyBgZXhhY3RseSBlcXVhbCB0byBgIDogaXNzdWUuaW5jbHVzaXZlID8gYGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byBgIDogYGdyZWF0ZXIgdGhhbiBgfSR7aXNzdWUubWluaW11bX1gO1xuICAgICAgICAgICAgZWxzZSBpZiAoaXNzdWUudHlwZSA9PT0gXCJiaWdpbnRcIilcbiAgICAgICAgICAgICAgICBtZXNzYWdlID0gYE51bWJlciBtdXN0IGJlICR7aXNzdWUuZXhhY3QgPyBgZXhhY3RseSBlcXVhbCB0byBgIDogaXNzdWUuaW5jbHVzaXZlID8gYGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byBgIDogYGdyZWF0ZXIgdGhhbiBgfSR7aXNzdWUubWluaW11bX1gO1xuICAgICAgICAgICAgZWxzZSBpZiAoaXNzdWUudHlwZSA9PT0gXCJkYXRlXCIpXG4gICAgICAgICAgICAgICAgbWVzc2FnZSA9IGBEYXRlIG11c3QgYmUgJHtpc3N1ZS5leGFjdCA/IGBleGFjdGx5IGVxdWFsIHRvIGAgOiBpc3N1ZS5pbmNsdXNpdmUgPyBgZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvIGAgOiBgZ3JlYXRlciB0aGFuIGB9JHtuZXcgRGF0ZShOdW1iZXIoaXNzdWUubWluaW11bSkpfWA7XG4gICAgICAgICAgICBlbHNlXG4gICAgICAgICAgICAgICAgbWVzc2FnZSA9IFwiSW52YWxpZCBpbnB1dFwiO1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgIGNhc2UgWm9kSXNzdWVDb2RlLnRvb19iaWc6XG4gICAgICAgICAgICBpZiAoaXNzdWUudHlwZSA9PT0gXCJhcnJheVwiKVxuICAgICAgICAgICAgICAgIG1lc3NhZ2UgPSBgQXJyYXkgbXVzdCBjb250YWluICR7aXNzdWUuZXhhY3QgPyBgZXhhY3RseWAgOiBpc3N1ZS5pbmNsdXNpdmUgPyBgYXQgbW9zdGAgOiBgbGVzcyB0aGFuYH0gJHtpc3N1ZS5tYXhpbXVtfSBlbGVtZW50KHMpYDtcbiAgICAgICAgICAgIGVsc2UgaWYgKGlzc3VlLnR5cGUgPT09IFwic3RyaW5nXCIpXG4gICAgICAgICAgICAgICAgbWVzc2FnZSA9IGBTdHJpbmcgbXVzdCBjb250YWluICR7aXNzdWUuZXhhY3QgPyBgZXhhY3RseWAgOiBpc3N1ZS5pbmNsdXNpdmUgPyBgYXQgbW9zdGAgOiBgdW5kZXJgfSAke2lzc3VlLm1heGltdW19IGNoYXJhY3RlcihzKWA7XG4gICAgICAgICAgICBlbHNlIGlmIChpc3N1ZS50eXBlID09PSBcIm51bWJlclwiKVxuICAgICAgICAgICAgICAgIG1lc3NhZ2UgPSBgTnVtYmVyIG11c3QgYmUgJHtpc3N1ZS5leGFjdCA/IGBleGFjdGx5YCA6IGlzc3VlLmluY2x1c2l2ZSA/IGBsZXNzIHRoYW4gb3IgZXF1YWwgdG9gIDogYGxlc3MgdGhhbmB9ICR7aXNzdWUubWF4aW11bX1gO1xuICAgICAgICAgICAgZWxzZSBpZiAoaXNzdWUudHlwZSA9PT0gXCJiaWdpbnRcIilcbiAgICAgICAgICAgICAgICBtZXNzYWdlID0gYEJpZ0ludCBtdXN0IGJlICR7aXNzdWUuZXhhY3QgPyBgZXhhY3RseWAgOiBpc3N1ZS5pbmNsdXNpdmUgPyBgbGVzcyB0aGFuIG9yIGVxdWFsIHRvYCA6IGBsZXNzIHRoYW5gfSAke2lzc3VlLm1heGltdW19YDtcbiAgICAgICAgICAgIGVsc2UgaWYgKGlzc3VlLnR5cGUgPT09IFwiZGF0ZVwiKVxuICAgICAgICAgICAgICAgIG1lc3NhZ2UgPSBgRGF0ZSBtdXN0IGJlICR7aXNzdWUuZXhhY3QgPyBgZXhhY3RseWAgOiBpc3N1ZS5pbmNsdXNpdmUgPyBgc21hbGxlciB0aGFuIG9yIGVxdWFsIHRvYCA6IGBzbWFsbGVyIHRoYW5gfSAke25ldyBEYXRlKE51bWJlcihpc3N1ZS5tYXhpbXVtKSl9YDtcbiAgICAgICAgICAgIGVsc2VcbiAgICAgICAgICAgICAgICBtZXNzYWdlID0gXCJJbnZhbGlkIGlucHV0XCI7XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgY2FzZSBab2RJc3N1ZUNvZGUuY3VzdG9tOlxuICAgICAgICAgICAgbWVzc2FnZSA9IGBJbnZhbGlkIGlucHV0YDtcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICBjYXNlIFpvZElzc3VlQ29kZS5pbnZhbGlkX2ludGVyc2VjdGlvbl90eXBlczpcbiAgICAgICAgICAgIG1lc3NhZ2UgPSBgSW50ZXJzZWN0aW9uIHJlc3VsdHMgY291bGQgbm90IGJlIG1lcmdlZGA7XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgY2FzZSBab2RJc3N1ZUNvZGUubm90X211bHRpcGxlX29mOlxuICAgICAgICAgICAgbWVzc2FnZSA9IGBOdW1iZXIgbXVzdCBiZSBhIG11bHRpcGxlIG9mICR7aXNzdWUubXVsdGlwbGVPZn1gO1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgIGNhc2UgWm9kSXNzdWVDb2RlLm5vdF9maW5pdGU6XG4gICAgICAgICAgICBtZXNzYWdlID0gXCJOdW1iZXIgbXVzdCBiZSBmaW5pdGVcIjtcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgbWVzc2FnZSA9IF9jdHguZGVmYXVsdEVycm9yO1xuICAgICAgICAgICAgdXRpbC5hc3NlcnROZXZlcihpc3N1ZSk7XG4gICAgfVxuICAgIHJldHVybiB7IG1lc3NhZ2UgfTtcbn07XG5leHBvcnQgZGVmYXVsdCBlcnJvck1hcDtcbiIsICJpbXBvcnQgZGVmYXVsdEVycm9yTWFwIGZyb20gXCIuL2xvY2FsZXMvZW4uanNcIjtcbmxldCBvdmVycmlkZUVycm9yTWFwID0gZGVmYXVsdEVycm9yTWFwO1xuZXhwb3J0IHsgZGVmYXVsdEVycm9yTWFwIH07XG5leHBvcnQgZnVuY3Rpb24gc2V0RXJyb3JNYXAobWFwKSB7XG4gICAgb3ZlcnJpZGVFcnJvck1hcCA9IG1hcDtcbn1cbmV4cG9ydCBmdW5jdGlvbiBnZXRFcnJvck1hcCgpIHtcbiAgICByZXR1cm4gb3ZlcnJpZGVFcnJvck1hcDtcbn1cbiIsICJpbXBvcnQgeyBnZXRFcnJvck1hcCB9IGZyb20gXCIuLi9lcnJvcnMuanNcIjtcbmltcG9ydCBkZWZhdWx0RXJyb3JNYXAgZnJvbSBcIi4uL2xvY2FsZXMvZW4uanNcIjtcbmV4cG9ydCBjb25zdCBtYWtlSXNzdWUgPSAocGFyYW1zKSA9PiB7XG4gICAgY29uc3QgeyBkYXRhLCBwYXRoLCBlcnJvck1hcHMsIGlzc3VlRGF0YSB9ID0gcGFyYW1zO1xuICAgIGNvbnN0IGZ1bGxQYXRoID0gWy4uLnBhdGgsIC4uLihpc3N1ZURhdGEucGF0aCB8fCBbXSldO1xuICAgIGNvbnN0IGZ1bGxJc3N1ZSA9IHtcbiAgICAgICAgLi4uaXNzdWVEYXRhLFxuICAgICAgICBwYXRoOiBmdWxsUGF0aCxcbiAgICB9O1xuICAgIGlmIChpc3N1ZURhdGEubWVzc2FnZSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAuLi5pc3N1ZURhdGEsXG4gICAgICAgICAgICBwYXRoOiBmdWxsUGF0aCxcbiAgICAgICAgICAgIG1lc3NhZ2U6IGlzc3VlRGF0YS5tZXNzYWdlLFxuICAgICAgICB9O1xuICAgIH1cbiAgICBsZXQgZXJyb3JNZXNzYWdlID0gXCJcIjtcbiAgICBjb25zdCBtYXBzID0gZXJyb3JNYXBzXG4gICAgICAgIC5maWx0ZXIoKG0pID0+ICEhbSlcbiAgICAgICAgLnNsaWNlKClcbiAgICAgICAgLnJldmVyc2UoKTtcbiAgICBmb3IgKGNvbnN0IG1hcCBvZiBtYXBzKSB7XG4gICAgICAgIGVycm9yTWVzc2FnZSA9IG1hcChmdWxsSXNzdWUsIHsgZGF0YSwgZGVmYXVsdEVycm9yOiBlcnJvck1lc3NhZ2UgfSkubWVzc2FnZTtcbiAgICB9XG4gICAgcmV0dXJuIHtcbiAgICAgICAgLi4uaXNzdWVEYXRhLFxuICAgICAgICBwYXRoOiBmdWxsUGF0aCxcbiAgICAgICAgbWVzc2FnZTogZXJyb3JNZXNzYWdlLFxuICAgIH07XG59O1xuZXhwb3J0IGNvbnN0IEVNUFRZX1BBVEggPSBbXTtcbmV4cG9ydCBmdW5jdGlvbiBhZGRJc3N1ZVRvQ29udGV4dChjdHgsIGlzc3VlRGF0YSkge1xuICAgIGNvbnN0IG92ZXJyaWRlTWFwID0gZ2V0RXJyb3JNYXAoKTtcbiAgICBjb25zdCBpc3N1ZSA9IG1ha2VJc3N1ZSh7XG4gICAgICAgIGlzc3VlRGF0YTogaXNzdWVEYXRhLFxuICAgICAgICBkYXRhOiBjdHguZGF0YSxcbiAgICAgICAgcGF0aDogY3R4LnBhdGgsXG4gICAgICAgIGVycm9yTWFwczogW1xuICAgICAgICAgICAgY3R4LmNvbW1vbi5jb250ZXh0dWFsRXJyb3JNYXAsIC8vIGNvbnRleHR1YWwgZXJyb3IgbWFwIGlzIGZpcnN0IHByaW9yaXR5XG4gICAgICAgICAgICBjdHguc2NoZW1hRXJyb3JNYXAsIC8vIHRoZW4gc2NoZW1hLWJvdW5kIG1hcCBpZiBhdmFpbGFibGVcbiAgICAgICAgICAgIG92ZXJyaWRlTWFwLCAvLyB0aGVuIGdsb2JhbCBvdmVycmlkZSBtYXBcbiAgICAgICAgICAgIG92ZXJyaWRlTWFwID09PSBkZWZhdWx0RXJyb3JNYXAgPyB1bmRlZmluZWQgOiBkZWZhdWx0RXJyb3JNYXAsIC8vIHRoZW4gZ2xvYmFsIGRlZmF1bHQgbWFwXG4gICAgICAgIF0uZmlsdGVyKCh4KSA9PiAhIXgpLFxuICAgIH0pO1xuICAgIGN0eC5jb21tb24uaXNzdWVzLnB1c2goaXNzdWUpO1xufVxuZXhwb3J0IGNsYXNzIFBhcnNlU3RhdHVzIHtcbiAgICBjb25zdHJ1Y3RvcigpIHtcbiAgICAgICAgdGhpcy52YWx1ZSA9IFwidmFsaWRcIjtcbiAgICB9XG4gICAgZGlydHkoKSB7XG4gICAgICAgIGlmICh0aGlzLnZhbHVlID09PSBcInZhbGlkXCIpXG4gICAgICAgICAgICB0aGlzLnZhbHVlID0gXCJkaXJ0eVwiO1xuICAgIH1cbiAgICBhYm9ydCgpIHtcbiAgICAgICAgaWYgKHRoaXMudmFsdWUgIT09IFwiYWJvcnRlZFwiKVxuICAgICAgICAgICAgdGhpcy52YWx1ZSA9IFwiYWJvcnRlZFwiO1xuICAgIH1cbiAgICBzdGF0aWMgbWVyZ2VBcnJheShzdGF0dXMsIHJlc3VsdHMpIHtcbiAgICAgICAgY29uc3QgYXJyYXlWYWx1ZSA9IFtdO1xuICAgICAgICBmb3IgKGNvbnN0IHMgb2YgcmVzdWx0cykge1xuICAgICAgICAgICAgaWYgKHMuc3RhdHVzID09PSBcImFib3J0ZWRcIilcbiAgICAgICAgICAgICAgICByZXR1cm4gSU5WQUxJRDtcbiAgICAgICAgICAgIGlmIChzLnN0YXR1cyA9PT0gXCJkaXJ0eVwiKVxuICAgICAgICAgICAgICAgIHN0YXR1cy5kaXJ0eSgpO1xuICAgICAgICAgICAgYXJyYXlWYWx1ZS5wdXNoKHMudmFsdWUpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiB7IHN0YXR1czogc3RhdHVzLnZhbHVlLCB2YWx1ZTogYXJyYXlWYWx1ZSB9O1xuICAgIH1cbiAgICBzdGF0aWMgYXN5bmMgbWVyZ2VPYmplY3RBc3luYyhzdGF0dXMsIHBhaXJzKSB7XG4gICAgICAgIGNvbnN0IHN5bmNQYWlycyA9IFtdO1xuICAgICAgICBmb3IgKGNvbnN0IHBhaXIgb2YgcGFpcnMpIHtcbiAgICAgICAgICAgIGNvbnN0IGtleSA9IGF3YWl0IHBhaXIua2V5O1xuICAgICAgICAgICAgY29uc3QgdmFsdWUgPSBhd2FpdCBwYWlyLnZhbHVlO1xuICAgICAgICAgICAgc3luY1BhaXJzLnB1c2goe1xuICAgICAgICAgICAgICAgIGtleSxcbiAgICAgICAgICAgICAgICB2YWx1ZSxcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBQYXJzZVN0YXR1cy5tZXJnZU9iamVjdFN5bmMoc3RhdHVzLCBzeW5jUGFpcnMpO1xuICAgIH1cbiAgICBzdGF0aWMgbWVyZ2VPYmplY3RTeW5jKHN0YXR1cywgcGFpcnMpIHtcbiAgICAgICAgY29uc3QgZmluYWxPYmplY3QgPSB7fTtcbiAgICAgICAgZm9yIChjb25zdCBwYWlyIG9mIHBhaXJzKSB7XG4gICAgICAgICAgICBjb25zdCB7IGtleSwgdmFsdWUgfSA9IHBhaXI7XG4gICAgICAgICAgICBpZiAoa2V5LnN0YXR1cyA9PT0gXCJhYm9ydGVkXCIpXG4gICAgICAgICAgICAgICAgcmV0dXJuIElOVkFMSUQ7XG4gICAgICAgICAgICBpZiAodmFsdWUuc3RhdHVzID09PSBcImFib3J0ZWRcIilcbiAgICAgICAgICAgICAgICByZXR1cm4gSU5WQUxJRDtcbiAgICAgICAgICAgIGlmIChrZXkuc3RhdHVzID09PSBcImRpcnR5XCIpXG4gICAgICAgICAgICAgICAgc3RhdHVzLmRpcnR5KCk7XG4gICAgICAgICAgICBpZiAodmFsdWUuc3RhdHVzID09PSBcImRpcnR5XCIpXG4gICAgICAgICAgICAgICAgc3RhdHVzLmRpcnR5KCk7XG4gICAgICAgICAgICBpZiAoa2V5LnZhbHVlICE9PSBcIl9fcHJvdG9fX1wiICYmICh0eXBlb2YgdmFsdWUudmFsdWUgIT09IFwidW5kZWZpbmVkXCIgfHwgcGFpci5hbHdheXNTZXQpKSB7XG4gICAgICAgICAgICAgICAgZmluYWxPYmplY3Rba2V5LnZhbHVlXSA9IHZhbHVlLnZhbHVlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHJldHVybiB7IHN0YXR1czogc3RhdHVzLnZhbHVlLCB2YWx1ZTogZmluYWxPYmplY3QgfTtcbiAgICB9XG59XG5leHBvcnQgY29uc3QgSU5WQUxJRCA9IE9iamVjdC5mcmVlemUoe1xuICAgIHN0YXR1czogXCJhYm9ydGVkXCIsXG59KTtcbmV4cG9ydCBjb25zdCBESVJUWSA9ICh2YWx1ZSkgPT4gKHsgc3RhdHVzOiBcImRpcnR5XCIsIHZhbHVlIH0pO1xuZXhwb3J0IGNvbnN0IE9LID0gKHZhbHVlKSA9PiAoeyBzdGF0dXM6IFwidmFsaWRcIiwgdmFsdWUgfSk7XG5leHBvcnQgY29uc3QgaXNBYm9ydGVkID0gKHgpID0+IHguc3RhdHVzID09PSBcImFib3J0ZWRcIjtcbmV4cG9ydCBjb25zdCBpc0RpcnR5ID0gKHgpID0+IHguc3RhdHVzID09PSBcImRpcnR5XCI7XG5leHBvcnQgY29uc3QgaXNWYWxpZCA9ICh4KSA9PiB4LnN0YXR1cyA9PT0gXCJ2YWxpZFwiO1xuZXhwb3J0IGNvbnN0IGlzQXN5bmMgPSAoeCkgPT4gdHlwZW9mIFByb21pc2UgIT09IFwidW5kZWZpbmVkXCIgJiYgeCBpbnN0YW5jZW9mIFByb21pc2U7XG4iLCAiZXhwb3J0IHt9O1xuIiwgImV4cG9ydCB2YXIgZXJyb3JVdGlsO1xuKGZ1bmN0aW9uIChlcnJvclV0aWwpIHtcbiAgICBlcnJvclV0aWwuZXJyVG9PYmogPSAobWVzc2FnZSkgPT4gdHlwZW9mIG1lc3NhZ2UgPT09IFwic3RyaW5nXCIgPyB7IG1lc3NhZ2UgfSA6IG1lc3NhZ2UgfHwge307XG4gICAgLy8gYmlvbWUtaWdub3JlIGxpbnQ6XG4gICAgZXJyb3JVdGlsLnRvU3RyaW5nID0gKG1lc3NhZ2UpID0+IHR5cGVvZiBtZXNzYWdlID09PSBcInN0cmluZ1wiID8gbWVzc2FnZSA6IG1lc3NhZ2U/Lm1lc3NhZ2U7XG59KShlcnJvclV0aWwgfHwgKGVycm9yVXRpbCA9IHt9KSk7XG4iLCAiaW1wb3J0IHsgWm9kRXJyb3IsIFpvZElzc3VlQ29kZSwgfSBmcm9tIFwiLi9ab2RFcnJvci5qc1wiO1xuaW1wb3J0IHsgZGVmYXVsdEVycm9yTWFwLCBnZXRFcnJvck1hcCB9IGZyb20gXCIuL2Vycm9ycy5qc1wiO1xuaW1wb3J0IHsgZXJyb3JVdGlsIH0gZnJvbSBcIi4vaGVscGVycy9lcnJvclV0aWwuanNcIjtcbmltcG9ydCB7IERJUlRZLCBJTlZBTElELCBPSywgUGFyc2VTdGF0dXMsIGFkZElzc3VlVG9Db250ZXh0LCBpc0Fib3J0ZWQsIGlzQXN5bmMsIGlzRGlydHksIGlzVmFsaWQsIG1ha2VJc3N1ZSwgfSBmcm9tIFwiLi9oZWxwZXJzL3BhcnNlVXRpbC5qc1wiO1xuaW1wb3J0IHsgdXRpbCwgWm9kUGFyc2VkVHlwZSwgZ2V0UGFyc2VkVHlwZSB9IGZyb20gXCIuL2hlbHBlcnMvdXRpbC5qc1wiO1xuY2xhc3MgUGFyc2VJbnB1dExhenlQYXRoIHtcbiAgICBjb25zdHJ1Y3RvcihwYXJlbnQsIHZhbHVlLCBwYXRoLCBrZXkpIHtcbiAgICAgICAgdGhpcy5fY2FjaGVkUGF0aCA9IFtdO1xuICAgICAgICB0aGlzLnBhcmVudCA9IHBhcmVudDtcbiAgICAgICAgdGhpcy5kYXRhID0gdmFsdWU7XG4gICAgICAgIHRoaXMuX3BhdGggPSBwYXRoO1xuICAgICAgICB0aGlzLl9rZXkgPSBrZXk7XG4gICAgfVxuICAgIGdldCBwYXRoKCkge1xuICAgICAgICBpZiAoIXRoaXMuX2NhY2hlZFBhdGgubGVuZ3RoKSB7XG4gICAgICAgICAgICBpZiAoQXJyYXkuaXNBcnJheSh0aGlzLl9rZXkpKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5fY2FjaGVkUGF0aC5wdXNoKC4uLnRoaXMuX3BhdGgsIC4uLnRoaXMuX2tleSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgICAgICB0aGlzLl9jYWNoZWRQYXRoLnB1c2goLi4udGhpcy5fcGF0aCwgdGhpcy5fa2V5KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gdGhpcy5fY2FjaGVkUGF0aDtcbiAgICB9XG59XG5jb25zdCBoYW5kbGVSZXN1bHQgPSAoY3R4LCByZXN1bHQpID0+IHtcbiAgICBpZiAoaXNWYWxpZChyZXN1bHQpKSB7XG4gICAgICAgIHJldHVybiB7IHN1Y2Nlc3M6IHRydWUsIGRhdGE6IHJlc3VsdC52YWx1ZSB9O1xuICAgIH1cbiAgICBlbHNlIHtcbiAgICAgICAgaWYgKCFjdHguY29tbW9uLmlzc3Vlcy5sZW5ndGgpIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihcIlZhbGlkYXRpb24gZmFpbGVkIGJ1dCBubyBpc3N1ZXMgZGV0ZWN0ZWQuXCIpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICBzdWNjZXNzOiBmYWxzZSxcbiAgICAgICAgICAgIGdldCBlcnJvcigpIHtcbiAgICAgICAgICAgICAgICBpZiAodGhpcy5fZXJyb3IpXG4gICAgICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLl9lcnJvcjtcbiAgICAgICAgICAgICAgICBjb25zdCBlcnJvciA9IG5ldyBab2RFcnJvcihjdHguY29tbW9uLmlzc3Vlcyk7XG4gICAgICAgICAgICAgICAgdGhpcy5fZXJyb3IgPSBlcnJvcjtcbiAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5fZXJyb3I7XG4gICAgICAgICAgICB9LFxuICAgICAgICB9O1xuICAgIH1cbn07XG5mdW5jdGlvbiBwcm9jZXNzQ3JlYXRlUGFyYW1zKHBhcmFtcykge1xuICAgIGlmICghcGFyYW1zKVxuICAgICAgICByZXR1cm4ge307XG4gICAgY29uc3QgeyBlcnJvck1hcCwgaW52YWxpZF90eXBlX2Vycm9yLCByZXF1aXJlZF9lcnJvciwgZGVzY3JpcHRpb24gfSA9IHBhcmFtcztcbiAgICBpZiAoZXJyb3JNYXAgJiYgKGludmFsaWRfdHlwZV9lcnJvciB8fCByZXF1aXJlZF9lcnJvcikpIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBDYW4ndCB1c2UgXCJpbnZhbGlkX3R5cGVfZXJyb3JcIiBvciBcInJlcXVpcmVkX2Vycm9yXCIgaW4gY29uanVuY3Rpb24gd2l0aCBjdXN0b20gZXJyb3IgbWFwLmApO1xuICAgIH1cbiAgICBpZiAoZXJyb3JNYXApXG4gICAgICAgIHJldHVybiB7IGVycm9yTWFwOiBlcnJvck1hcCwgZGVzY3JpcHRpb24gfTtcbiAgICBjb25zdCBjdXN0b21NYXAgPSAoaXNzLCBjdHgpID0+IHtcbiAgICAgICAgY29uc3QgeyBtZXNzYWdlIH0gPSBwYXJhbXM7XG4gICAgICAgIGlmIChpc3MuY29kZSA9PT0gXCJpbnZhbGlkX2VudW1fdmFsdWVcIikge1xuICAgICAgICAgICAgcmV0dXJuIHsgbWVzc2FnZTogbWVzc2FnZSA/PyBjdHguZGVmYXVsdEVycm9yIH07XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHR5cGVvZiBjdHguZGF0YSA9PT0gXCJ1bmRlZmluZWRcIikge1xuICAgICAgICAgICAgcmV0dXJuIHsgbWVzc2FnZTogbWVzc2FnZSA/PyByZXF1aXJlZF9lcnJvciA/PyBjdHguZGVmYXVsdEVycm9yIH07XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGlzcy5jb2RlICE9PSBcImludmFsaWRfdHlwZVwiKVxuICAgICAgICAgICAgcmV0dXJuIHsgbWVzc2FnZTogY3R4LmRlZmF1bHRFcnJvciB9O1xuICAgICAgICByZXR1cm4geyBtZXNzYWdlOiBtZXNzYWdlID8/IGludmFsaWRfdHlwZV9lcnJvciA/PyBjdHguZGVmYXVsdEVycm9yIH07XG4gICAgfTtcbiAgICByZXR1cm4geyBlcnJvck1hcDogY3VzdG9tTWFwLCBkZXNjcmlwdGlvbiB9O1xufVxuZXhwb3J0IGNsYXNzIFpvZFR5cGUge1xuICAgIGdldCBkZXNjcmlwdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2RlZi5kZXNjcmlwdGlvbjtcbiAgICB9XG4gICAgX2dldFR5cGUoaW5wdXQpIHtcbiAgICAgICAgcmV0dXJuIGdldFBhcnNlZFR5cGUoaW5wdXQuZGF0YSk7XG4gICAgfVxuICAgIF9nZXRPclJldHVybkN0eChpbnB1dCwgY3R4KSB7XG4gICAgICAgIHJldHVybiAoY3R4IHx8IHtcbiAgICAgICAgICAgIGNvbW1vbjogaW5wdXQucGFyZW50LmNvbW1vbixcbiAgICAgICAgICAgIGRhdGE6IGlucHV0LmRhdGEsXG4gICAgICAgICAgICBwYXJzZWRUeXBlOiBnZXRQYXJzZWRUeXBlKGlucHV0LmRhdGEpLFxuICAgICAgICAgICAgc2NoZW1hRXJyb3JNYXA6IHRoaXMuX2RlZi5lcnJvck1hcCxcbiAgICAgICAgICAgIHBhdGg6IGlucHV0LnBhdGgsXG4gICAgICAgICAgICBwYXJlbnQ6IGlucHV0LnBhcmVudCxcbiAgICAgICAgfSk7XG4gICAgfVxuICAgIF9wcm9jZXNzSW5wdXRQYXJhbXMoaW5wdXQpIHtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIHN0YXR1czogbmV3IFBhcnNlU3RhdHVzKCksXG4gICAgICAgICAgICBjdHg6IHtcbiAgICAgICAgICAgICAgICBjb21tb246IGlucHV0LnBhcmVudC5jb21tb24sXG4gICAgICAgICAgICAgICAgZGF0YTogaW5wdXQuZGF0YSxcbiAgICAgICAgICAgICAgICBwYXJzZWRUeXBlOiBnZXRQYXJzZWRUeXBlKGlucHV0LmRhdGEpLFxuICAgICAgICAgICAgICAgIHNjaGVtYUVycm9yTWFwOiB0aGlzLl9kZWYuZXJyb3JNYXAsXG4gICAgICAgICAgICAgICAgcGF0aDogaW5wdXQucGF0aCxcbiAgICAgICAgICAgICAgICBwYXJlbnQ6IGlucHV0LnBhcmVudCxcbiAgICAgICAgICAgIH0sXG4gICAgICAgIH07XG4gICAgfVxuICAgIF9wYXJzZVN5bmMoaW5wdXQpIHtcbiAgICAgICAgY29uc3QgcmVzdWx0ID0gdGhpcy5fcGFyc2UoaW5wdXQpO1xuICAgICAgICBpZiAoaXNBc3luYyhyZXN1bHQpKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXCJTeW5jaHJvbm91cyBwYXJzZSBlbmNvdW50ZXJlZCBwcm9taXNlLlwiKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gcmVzdWx0O1xuICAgIH1cbiAgICBfcGFyc2VBc3luYyhpbnB1dCkge1xuICAgICAgICBjb25zdCByZXN1bHQgPSB0aGlzLl9wYXJzZShpbnB1dCk7XG4gICAgICAgIHJldHVybiBQcm9taXNlLnJlc29sdmUocmVzdWx0KTtcbiAgICB9XG4gICAgcGFyc2UoZGF0YSwgcGFyYW1zKSB7XG4gICAgICAgIGNvbnN0IHJlc3VsdCA9IHRoaXMuc2FmZVBhcnNlKGRhdGEsIHBhcmFtcyk7XG4gICAgICAgIGlmIChyZXN1bHQuc3VjY2VzcylcbiAgICAgICAgICAgIHJldHVybiByZXN1bHQuZGF0YTtcbiAgICAgICAgdGhyb3cgcmVzdWx0LmVycm9yO1xuICAgIH1cbiAgICBzYWZlUGFyc2UoZGF0YSwgcGFyYW1zKSB7XG4gICAgICAgIGNvbnN0IGN0eCA9IHtcbiAgICAgICAgICAgIGNvbW1vbjoge1xuICAgICAgICAgICAgICAgIGlzc3VlczogW10sXG4gICAgICAgICAgICAgICAgYXN5bmM6IHBhcmFtcz8uYXN5bmMgPz8gZmFsc2UsXG4gICAgICAgICAgICAgICAgY29udGV4dHVhbEVycm9yTWFwOiBwYXJhbXM/LmVycm9yTWFwLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHBhdGg6IHBhcmFtcz8ucGF0aCB8fCBbXSxcbiAgICAgICAgICAgIHNjaGVtYUVycm9yTWFwOiB0aGlzLl9kZWYuZXJyb3JNYXAsXG4gICAgICAgICAgICBwYXJlbnQ6IG51bGwsXG4gICAgICAgICAgICBkYXRhLFxuICAgICAgICAgICAgcGFyc2VkVHlwZTogZ2V0UGFyc2VkVHlwZShkYXRhKSxcbiAgICAgICAgfTtcbiAgICAgICAgY29uc3QgcmVzdWx0ID0gdGhpcy5fcGFyc2VTeW5jKHsgZGF0YSwgcGF0aDogY3R4LnBhdGgsIHBhcmVudDogY3R4IH0pO1xuICAgICAgICByZXR1cm4gaGFuZGxlUmVzdWx0KGN0eCwgcmVzdWx0KTtcbiAgICB9XG4gICAgXCJ+dmFsaWRhdGVcIihkYXRhKSB7XG4gICAgICAgIGNvbnN0IGN0eCA9IHtcbiAgICAgICAgICAgIGNvbW1vbjoge1xuICAgICAgICAgICAgICAgIGlzc3VlczogW10sXG4gICAgICAgICAgICAgICAgYXN5bmM6ICEhdGhpc1tcIn5zdGFuZGFyZFwiXS5hc3luYyxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBwYXRoOiBbXSxcbiAgICAgICAgICAgIHNjaGVtYUVycm9yTWFwOiB0aGlzLl9kZWYuZXJyb3JNYXAsXG4gICAgICAgICAgICBwYXJlbnQ6IG51bGwsXG4gICAgICAgICAgICBkYXRhLFxuICAgICAgICAgICAgcGFyc2VkVHlwZTogZ2V0UGFyc2VkVHlwZShkYXRhKSxcbiAgICAgICAgfTtcbiAgICAgICAgaWYgKCF0aGlzW1wifnN0YW5kYXJkXCJdLmFzeW5jKSB7XG4gICAgICAgICAgICB0cnkge1xuICAgICAgICAgICAgICAgIGNvbnN0IHJlc3VsdCA9IHRoaXMuX3BhcnNlU3luYyh7IGRhdGEsIHBhdGg6IFtdLCBwYXJlbnQ6IGN0eCB9KTtcbiAgICAgICAgICAgICAgICByZXR1cm4gaXNWYWxpZChyZXN1bHQpXG4gICAgICAgICAgICAgICAgICAgID8ge1xuICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWU6IHJlc3VsdC52YWx1ZSxcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICA6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGlzc3VlczogY3R4LmNvbW1vbi5pc3N1ZXMsXG4gICAgICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBjYXRjaCAoZXJyKSB7XG4gICAgICAgICAgICAgICAgaWYgKGVycj8ubWVzc2FnZT8udG9Mb3dlckNhc2UoKT8uaW5jbHVkZXMoXCJlbmNvdW50ZXJlZFwiKSkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzW1wifnN0YW5kYXJkXCJdLmFzeW5jID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgY3R4LmNvbW1vbiA9IHtcbiAgICAgICAgICAgICAgICAgICAgaXNzdWVzOiBbXSxcbiAgICAgICAgICAgICAgICAgICAgYXN5bmM6IHRydWUsXG4gICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gdGhpcy5fcGFyc2VBc3luYyh7IGRhdGEsIHBhdGg6IFtdLCBwYXJlbnQ6IGN0eCB9KS50aGVuKChyZXN1bHQpID0+IGlzVmFsaWQocmVzdWx0KVxuICAgICAgICAgICAgPyB7XG4gICAgICAgICAgICAgICAgdmFsdWU6IHJlc3VsdC52YWx1ZSxcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIDoge1xuICAgICAgICAgICAgICAgIGlzc3VlczogY3R4LmNvbW1vbi5pc3N1ZXMsXG4gICAgICAgICAgICB9KTtcbiAgICB9XG4gICAgYXN5bmMgcGFyc2VBc3luYyhkYXRhLCBwYXJhbXMpIHtcbiAgICAgICAgY29uc3QgcmVzdWx0ID0gYXdhaXQgdGhpcy5zYWZlUGFyc2VBc3luYyhkYXRhLCBwYXJhbXMpO1xuICAgICAgICBpZiAocmVzdWx0LnN1Y2Nlc3MpXG4gICAgICAgICAgICByZXR1cm4gcmVzdWx0LmRhdGE7XG4gICAgICAgIHRocm93IHJlc3VsdC5lcnJvcjtcbiAgICB9XG4gICAgYXN5bmMgc2FmZVBhcnNlQXN5bmMoZGF0YSwgcGFyYW1zKSB7XG4gICAgICAgIGNvbnN0IGN0eCA9IHtcbiAgICAgICAgICAgIGNvbW1vbjoge1xuICAgICAgICAgICAgICAgIGlzc3VlczogW10sXG4gICAgICAgICAgICAgICAgY29udGV4dHVhbEVycm9yTWFwOiBwYXJhbXM/LmVycm9yTWFwLFxuICAgICAgICAgICAgICAgIGFzeW5jOiB0cnVlLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHBhdGg6IHBhcmFtcz8ucGF0aCB8fCBbXSxcbiAgICAgICAgICAgIHNjaGVtYUVycm9yTWFwOiB0aGlzLl9kZWYuZXJyb3JNYXAsXG4gICAgICAgICAgICBwYXJlbnQ6IG51bGwsXG4gICAgICAgICAgICBkYXRhLFxuICAgICAgICAgICAgcGFyc2VkVHlwZTogZ2V0UGFyc2VkVHlwZShkYXRhKSxcbiAgICAgICAgfTtcbiAgICAgICAgY29uc3QgbWF5YmVBc3luY1Jlc3VsdCA9IHRoaXMuX3BhcnNlKHsgZGF0YSwgcGF0aDogY3R4LnBhdGgsIHBhcmVudDogY3R4IH0pO1xuICAgICAgICBjb25zdCByZXN1bHQgPSBhd2FpdCAoaXNBc3luYyhtYXliZUFzeW5jUmVzdWx0KSA/IG1heWJlQXN5bmNSZXN1bHQgOiBQcm9taXNlLnJlc29sdmUobWF5YmVBc3luY1Jlc3VsdCkpO1xuICAgICAgICByZXR1cm4gaGFuZGxlUmVzdWx0KGN0eCwgcmVzdWx0KTtcbiAgICB9XG4gICAgcmVmaW5lKGNoZWNrLCBtZXNzYWdlKSB7XG4gICAgICAgIGNvbnN0IGdldElzc3VlUHJvcGVydGllcyA9ICh2YWwpID0+IHtcbiAgICAgICAgICAgIGlmICh0eXBlb2YgbWVzc2FnZSA9PT0gXCJzdHJpbmdcIiB8fCB0eXBlb2YgbWVzc2FnZSA9PT0gXCJ1bmRlZmluZWRcIikge1xuICAgICAgICAgICAgICAgIHJldHVybiB7IG1lc3NhZ2UgfTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGVsc2UgaWYgKHR5cGVvZiBtZXNzYWdlID09PSBcImZ1bmN0aW9uXCIpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gbWVzc2FnZSh2YWwpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIG1lc3NhZ2U7XG4gICAgICAgICAgICB9XG4gICAgICAgIH07XG4gICAgICAgIHJldHVybiB0aGlzLl9yZWZpbmVtZW50KCh2YWwsIGN0eCkgPT4ge1xuICAgICAgICAgICAgY29uc3QgcmVzdWx0ID0gY2hlY2sodmFsKTtcbiAgICAgICAgICAgIGNvbnN0IHNldEVycm9yID0gKCkgPT4gY3R4LmFkZElzc3VlKHtcbiAgICAgICAgICAgICAgICBjb2RlOiBab2RJc3N1ZUNvZGUuY3VzdG9tLFxuICAgICAgICAgICAgICAgIC4uLmdldElzc3VlUHJvcGVydGllcyh2YWwpLFxuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICBpZiAodHlwZW9mIFByb21pc2UgIT09IFwidW5kZWZpbmVkXCIgJiYgcmVzdWx0IGluc3RhbmNlb2YgUHJvbWlzZSkge1xuICAgICAgICAgICAgICAgIHJldHVybiByZXN1bHQudGhlbigoZGF0YSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICBpZiAoIWRhdGEpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHNldEVycm9yKCk7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKCFyZXN1bHQpIHtcbiAgICAgICAgICAgICAgICBzZXRFcnJvcigpO1xuICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICB9XG4gICAgcmVmaW5lbWVudChjaGVjaywgcmVmaW5lbWVudERhdGEpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3JlZmluZW1lbnQoKHZhbCwgY3R4KSA9PiB7XG4gICAgICAgICAgICBpZiAoIWNoZWNrKHZhbCkpIHtcbiAgICAgICAgICAgICAgICBjdHguYWRkSXNzdWUodHlwZW9mIHJlZmluZW1lbnREYXRhID09PSBcImZ1bmN0aW9uXCIgPyByZWZpbmVtZW50RGF0YSh2YWwsIGN0eCkgOiByZWZpbmVtZW50RGF0YSk7XG4gICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgIH1cbiAgICBfcmVmaW5lbWVudChyZWZpbmVtZW50KSB7XG4gICAgICAgIHJldHVybiBuZXcgWm9kRWZmZWN0cyh7XG4gICAgICAgICAgICBzY2hlbWE6IHRoaXMsXG4gICAgICAgICAgICB0eXBlTmFtZTogWm9kRmlyc3RQYXJ0eVR5cGVLaW5kLlpvZEVmZmVjdHMsXG4gICAgICAgICAgICBlZmZlY3Q6IHsgdHlwZTogXCJyZWZpbmVtZW50XCIsIHJlZmluZW1lbnQgfSxcbiAgICAgICAgfSk7XG4gICAgfVxuICAgIHN1cGVyUmVmaW5lKHJlZmluZW1lbnQpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3JlZmluZW1lbnQocmVmaW5lbWVudCk7XG4gICAgfVxuICAgIGNvbnN0cnVjdG9yKGRlZikge1xuICAgICAgICAvKiogQWxpYXMgb2Ygc2FmZVBhcnNlQXN5bmMgKi9cbiAgICAgICAgdGhpcy5zcGEgPSB0aGlzLnNhZmVQYXJzZUFzeW5jO1xuICAgICAgICB0aGlzLl9kZWYgPSBkZWY7XG4gICAgICAgIHRoaXMucGFyc2UgPSB0aGlzLnBhcnNlLmJpbmQodGhpcyk7XG4gICAgICAgIHRoaXMuc2FmZVBhcnNlID0gdGhpcy5zYWZlUGFyc2UuYmluZCh0aGlzKTtcbiAgICAgICAgdGhpcy5wYXJzZUFzeW5jID0gdGhpcy5wYXJzZUFzeW5jLmJpbmQodGhpcyk7XG4gICAgICAgIHRoaXMuc2FmZVBhcnNlQXN5bmMgPSB0aGlzLnNhZmVQYXJzZUFzeW5jLmJpbmQodGhpcyk7XG4gICAgICAgIHRoaXMuc3BhID0gdGhpcy5zcGEuYmluZCh0aGlzKTtcbiAgICAgICAgdGhpcy5yZWZpbmUgPSB0aGlzLnJlZmluZS5iaW5kKHRoaXMpO1xuICAgICAgICB0aGlzLnJlZmluZW1lbnQgPSB0aGlzLnJlZmluZW1lbnQuYmluZCh0aGlzKTtcbiAgICAgICAgdGhpcy5zdXBlclJlZmluZSA9IHRoaXMuc3VwZXJSZWZpbmUuYmluZCh0aGlzKTtcbiAgICAgICAgdGhpcy5vcHRpb25hbCA9IHRoaXMub3B0aW9uYWwuYmluZCh0aGlzKTtcbiAgICAgICAgdGhpcy5udWxsYWJsZSA9IHRoaXMubnVsbGFibGUuYmluZCh0aGlzKTtcbiAgICAgICAgdGhpcy5udWxsaXNoID0gdGhpcy5udWxsaXNoLmJpbmQodGhpcyk7XG4gICAgICAgIHRoaXMuYXJyYXkgPSB0aGlzLmFycmF5LmJpbmQodGhpcyk7XG4gICAgICAgIHRoaXMucHJvbWlzZSA9IHRoaXMucHJvbWlzZS5iaW5kKHRoaXMpO1xuICAgICAgICB0aGlzLm9yID0gdGhpcy5vci5iaW5kKHRoaXMpO1xuICAgICAgICB0aGlzLmFuZCA9IHRoaXMuYW5kLmJpbmQodGhpcyk7XG4gICAgICAgIHRoaXMudHJhbnNmb3JtID0gdGhpcy50cmFuc2Zvcm0uYmluZCh0aGlzKTtcbiAgICAgICAgdGhpcy5icmFuZCA9IHRoaXMuYnJhbmQuYmluZCh0aGlzKTtcbiAgICAgICAgdGhpcy5kZWZhdWx0ID0gdGhpcy5kZWZhdWx0LmJpbmQodGhpcyk7XG4gICAgICAgIHRoaXMuY2F0Y2ggPSB0aGlzLmNhdGNoLmJpbmQodGhpcyk7XG4gICAgICAgIHRoaXMuZGVzY3JpYmUgPSB0aGlzLmRlc2NyaWJlLmJpbmQodGhpcyk7XG4gICAgICAgIHRoaXMucGlwZSA9IHRoaXMucGlwZS5iaW5kKHRoaXMpO1xuICAgICAgICB0aGlzLnJlYWRvbmx5ID0gdGhpcy5yZWFkb25seS5iaW5kKHRoaXMpO1xuICAgICAgICB0aGlzLmlzTnVsbGFibGUgPSB0aGlzLmlzTnVsbGFibGUuYmluZCh0aGlzKTtcbiAgICAgICAgdGhpcy5pc09wdGlvbmFsID0gdGhpcy5pc09wdGlvbmFsLmJpbmQodGhpcyk7XG4gICAgICAgIHRoaXNbXCJ+c3RhbmRhcmRcIl0gPSB7XG4gICAgICAgICAgICB2ZXJzaW9uOiAxLFxuICAgICAgICAgICAgdmVuZG9yOiBcInpvZFwiLFxuICAgICAgICAgICAgdmFsaWRhdGU6IChkYXRhKSA9PiB0aGlzW1wifnZhbGlkYXRlXCJdKGRhdGEpLFxuICAgICAgICB9O1xuICAgIH1cbiAgICBvcHRpb25hbCgpIHtcbiAgICAgICAgcmV0dXJuIFpvZE9wdGlvbmFsLmNyZWF0ZSh0aGlzLCB0aGlzLl9kZWYpO1xuICAgIH1cbiAgICBudWxsYWJsZSgpIHtcbiAgICAgICAgcmV0dXJuIFpvZE51bGxhYmxlLmNyZWF0ZSh0aGlzLCB0aGlzLl9kZWYpO1xuICAgIH1cbiAgICBudWxsaXNoKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5udWxsYWJsZSgpLm9wdGlvbmFsKCk7XG4gICAgfVxuICAgIGFycmF5KCkge1xuICAgICAgICByZXR1cm4gWm9kQXJyYXkuY3JlYXRlKHRoaXMpO1xuICAgIH1cbiAgICBwcm9taXNlKCkge1xuICAgICAgICByZXR1cm4gWm9kUHJvbWlzZS5jcmVhdGUodGhpcywgdGhpcy5fZGVmKTtcbiAgICB9XG4gICAgb3Iob3B0aW9uKSB7XG4gICAgICAgIHJldHVybiBab2RVbmlvbi5jcmVhdGUoW3RoaXMsIG9wdGlvbl0sIHRoaXMuX2RlZik7XG4gICAgfVxuICAgIGFuZChpbmNvbWluZykge1xuICAgICAgICByZXR1cm4gWm9kSW50ZXJzZWN0aW9uLmNyZWF0ZSh0aGlzLCBpbmNvbWluZywgdGhpcy5fZGVmKTtcbiAgICB9XG4gICAgdHJhbnNmb3JtKHRyYW5zZm9ybSkge1xuICAgICAgICByZXR1cm4gbmV3IFpvZEVmZmVjdHMoe1xuICAgICAgICAgICAgLi4ucHJvY2Vzc0NyZWF0ZVBhcmFtcyh0aGlzLl9kZWYpLFxuICAgICAgICAgICAgc2NoZW1hOiB0aGlzLFxuICAgICAgICAgICAgdHlwZU5hbWU6IFpvZEZpcnN0UGFydHlUeXBlS2luZC5ab2RFZmZlY3RzLFxuICAgICAgICAgICAgZWZmZWN0OiB7IHR5cGU6IFwidHJhbnNmb3JtXCIsIHRyYW5zZm9ybSB9LFxuICAgICAgICB9KTtcbiAgICB9XG4gICAgZGVmYXVsdChkZWYpIHtcbiAgICAgICAgY29uc3QgZGVmYXVsdFZhbHVlRnVuYyA9IHR5cGVvZiBkZWYgPT09IFwiZnVuY3Rpb25cIiA/IGRlZiA6ICgpID0+IGRlZjtcbiAgICAgICAgcmV0dXJuIG5ldyBab2REZWZhdWx0KHtcbiAgICAgICAgICAgIC4uLnByb2Nlc3NDcmVhdGVQYXJhbXModGhpcy5fZGVmKSxcbiAgICAgICAgICAgIGlubmVyVHlwZTogdGhpcyxcbiAgICAgICAgICAgIGRlZmF1bHRWYWx1ZTogZGVmYXVsdFZhbHVlRnVuYyxcbiAgICAgICAgICAgIHR5cGVOYW1lOiBab2RGaXJzdFBhcnR5VHlwZUtpbmQuWm9kRGVmYXVsdCxcbiAgICAgICAgfSk7XG4gICAgfVxuICAgIGJyYW5kKCkge1xuICAgICAgICByZXR1cm4gbmV3IFpvZEJyYW5kZWQoe1xuICAgICAgICAgICAgdHlwZU5hbWU6IFpvZEZpcnN0UGFydHlUeXBlS2luZC5ab2RCcmFuZGVkLFxuICAgICAgICAgICAgdHlwZTogdGhpcyxcbiAgICAgICAgICAgIC4uLnByb2Nlc3NDcmVhdGVQYXJhbXModGhpcy5fZGVmKSxcbiAgICAgICAgfSk7XG4gICAgfVxuICAgIGNhdGNoKGRlZikge1xuICAgICAgICBjb25zdCBjYXRjaFZhbHVlRnVuYyA9IHR5cGVvZiBkZWYgPT09IFwiZnVuY3Rpb25cIiA/IGRlZiA6ICgpID0+IGRlZjtcbiAgICAgICAgcmV0dXJuIG5ldyBab2RDYXRjaCh7XG4gICAgICAgICAgICAuLi5wcm9jZXNzQ3JlYXRlUGFyYW1zKHRoaXMuX2RlZiksXG4gICAgICAgICAgICBpbm5lclR5cGU6IHRoaXMsXG4gICAgICAgICAgICBjYXRjaFZhbHVlOiBjYXRjaFZhbHVlRnVuYyxcbiAgICAgICAgICAgIHR5cGVOYW1lOiBab2RGaXJzdFBhcnR5VHlwZUtpbmQuWm9kQ2F0Y2gsXG4gICAgICAgIH0pO1xuICAgIH1cbiAgICBkZXNjcmliZShkZXNjcmlwdGlvbikge1xuICAgICAgICBjb25zdCBUaGlzID0gdGhpcy5jb25zdHJ1Y3RvcjtcbiAgICAgICAgcmV0dXJuIG5ldyBUaGlzKHtcbiAgICAgICAgICAgIC4uLnRoaXMuX2RlZixcbiAgICAgICAgICAgIGRlc2NyaXB0aW9uLFxuICAgICAgICB9KTtcbiAgICB9XG4gICAgcGlwZSh0YXJnZXQpIHtcbiAgICAgICAgcmV0dXJuIFpvZFBpcGVsaW5lLmNyZWF0ZSh0aGlzLCB0YXJnZXQpO1xuICAgIH1cbiAgICByZWFkb25seSgpIHtcbiAgICAgICAgcmV0dXJuIFpvZFJlYWRvbmx5LmNyZWF0ZSh0aGlzKTtcbiAgICB9XG4gICAgaXNPcHRpb25hbCgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuc2FmZVBhcnNlKHVuZGVmaW5lZCkuc3VjY2VzcztcbiAgICB9XG4gICAgaXNOdWxsYWJsZSgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuc2FmZVBhcnNlKG51bGwpLnN1Y2Nlc3M7XG4gICAgfVxufVxuY29uc3QgY3VpZFJlZ2V4ID0gL15jW15cXHMtXXs4LH0kL2k7XG5jb25zdCBjdWlkMlJlZ2V4ID0gL15bMC05YS16XSskLztcbmNvbnN0IHVsaWRSZWdleCA9IC9eWzAtOUEtSEpLTU5QLVRWLVpdezI2fSQvaTtcbi8vIGNvbnN0IHV1aWRSZWdleCA9XG4vLyAgIC9eKFthLWYwLTldezh9LVthLWYwLTldezR9LVsxLTVdW2EtZjAtOV17M30tW2EtZjAtOV17NH0tW2EtZjAtOV17MTJ9fDAwMDAwMDAwLTAwMDAtMDAwMC0wMDAwLTAwMDAwMDAwMDAwMCkkL2k7XG5jb25zdCB1dWlkUmVnZXggPSAvXlswLTlhLWZBLUZdezh9XFxiLVswLTlhLWZBLUZdezR9XFxiLVswLTlhLWZBLUZdezR9XFxiLVswLTlhLWZBLUZdezR9XFxiLVswLTlhLWZBLUZdezEyfSQvaTtcbmNvbnN0IG5hbm9pZFJlZ2V4ID0gL15bYS16MC05Xy1dezIxfSQvaTtcbmNvbnN0IGp3dFJlZ2V4ID0gL15bQS1aYS16MC05LV9dK1xcLltBLVphLXowLTktX10rXFwuW0EtWmEtejAtOS1fXSokLztcbmNvbnN0IGR1cmF0aW9uUmVnZXggPSAvXlstK10/UCg/ISQpKD86KD86Wy0rXT9cXGQrWSl8KD86Wy0rXT9cXGQrWy4sXVxcZCtZJCkpPyg/Oig/OlstK10/XFxkK00pfCg/OlstK10/XFxkK1suLF1cXGQrTSQpKT8oPzooPzpbLStdP1xcZCtXKXwoPzpbLStdP1xcZCtbLixdXFxkK1ckKSk/KD86KD86Wy0rXT9cXGQrRCl8KD86Wy0rXT9cXGQrWy4sXVxcZCtEJCkpPyg/OlQoPz1bXFxkKy1dKSg/Oig/OlstK10/XFxkK0gpfCg/OlstK10/XFxkK1suLF1cXGQrSCQpKT8oPzooPzpbLStdP1xcZCtNKXwoPzpbLStdP1xcZCtbLixdXFxkK00kKSk/KD86Wy0rXT9cXGQrKD86Wy4sXVxcZCspP1MpPyk/PyQvO1xuLy8gZnJvbSBodHRwczovL3N0YWNrb3ZlcmZsb3cuY29tL2EvNDYxODEvMTU1MDE1NVxuLy8gb2xkIHZlcnNpb246IHRvbyBzbG93LCBkaWRuJ3Qgc3VwcG9ydCB1bmljb2RlXG4vLyBjb25zdCBlbWFpbFJlZ2V4ID0gL14oKChbYS16XXxcXGR8WyEjXFwkJSYnXFwqXFwrXFwtXFwvPVxcP1xcXl9ge1xcfH1+XXxbXFx1MDBBMC1cXHVEN0ZGXFx1RjkwMC1cXHVGRENGXFx1RkRGMC1cXHVGRkVGXSkrKFxcLihbYS16XXxcXGR8WyEjXFwkJSYnXFwqXFwrXFwtXFwvPVxcP1xcXl9ge1xcfH1+XXxbXFx1MDBBMC1cXHVEN0ZGXFx1RjkwMC1cXHVGRENGXFx1RkRGMC1cXHVGRkVGXSkrKSopfCgoXFx4MjIpKCgoKFxceDIwfFxceDA5KSooXFx4MGRcXHgwYSkpPyhcXHgyMHxcXHgwOSkrKT8oKFtcXHgwMS1cXHgwOFxceDBiXFx4MGNcXHgwZS1cXHgxZlxceDdmXXxcXHgyMXxbXFx4MjMtXFx4NWJdfFtcXHg1ZC1cXHg3ZV18W1xcdTAwQTAtXFx1RDdGRlxcdUY5MDAtXFx1RkRDRlxcdUZERjAtXFx1RkZFRl0pfChcXFxcKFtcXHgwMS1cXHgwOVxceDBiXFx4MGNcXHgwZC1cXHg3Zl18W1xcdTAwQTAtXFx1RDdGRlxcdUY5MDAtXFx1RkRDRlxcdUZERjAtXFx1RkZFRl0pKSkpKigoKFxceDIwfFxceDA5KSooXFx4MGRcXHgwYSkpPyhcXHgyMHxcXHgwOSkrKT8oXFx4MjIpKSlAKCgoW2Etel18XFxkfFtcXHUwMEEwLVxcdUQ3RkZcXHVGOTAwLVxcdUZEQ0ZcXHVGREYwLVxcdUZGRUZdKXwoKFthLXpdfFxcZHxbXFx1MDBBMC1cXHVEN0ZGXFx1RjkwMC1cXHVGRENGXFx1RkRGMC1cXHVGRkVGXSkoW2Etel18XFxkfC18XFwufF98fnxbXFx1MDBBMC1cXHVEN0ZGXFx1RjkwMC1cXHVGRENGXFx1RkRGMC1cXHVGRkVGXSkqKFthLXpdfFxcZHxbXFx1MDBBMC1cXHVEN0ZGXFx1RjkwMC1cXHVGRENGXFx1RkRGMC1cXHVGRkVGXSkpKVxcLikrKChbYS16XXxbXFx1MDBBMC1cXHVEN0ZGXFx1RjkwMC1cXHVGRENGXFx1RkRGMC1cXHVGRkVGXSl8KChbYS16XXxbXFx1MDBBMC1cXHVEN0ZGXFx1RjkwMC1cXHVGRENGXFx1RkRGMC1cXHVGRkVGXSkoW2Etel18XFxkfC18XFwufF98fnxbXFx1MDBBMC1cXHVEN0ZGXFx1RjkwMC1cXHVGRENGXFx1RkRGMC1cXHVGRkVGXSkqKFthLXpdfFtcXHUwMEEwLVxcdUQ3RkZcXHVGOTAwLVxcdUZEQ0ZcXHVGREYwLVxcdUZGRUZdKSkpJC9pO1xuLy9vbGQgZW1haWwgcmVnZXhcbi8vIGNvbnN0IGVtYWlsUmVnZXggPSAvXigoW148PigpW1xcXS4sOzpcXHNAXCJdKyhcXC5bXjw+KClbXFxdLiw7Olxcc0BcIl0rKSopfChcIi4rXCIpKUAoKD8hLSkoW148PigpW1xcXS4sOzpcXHNAXCJdK1xcLikrW148PigpW1xcXS4sOzpcXHNAXCJdezEsfSlbXi08PigpW1xcXS4sOzpcXHNAXCJdJC9pO1xuLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lXG4vLyBjb25zdCBlbWFpbFJlZ2V4ID1cbi8vICAgL14oKFtePD4oKVtcXF1cXFxcLiw7Olxcc0BcXFwiXSsoXFwuW148PigpW1xcXVxcXFwuLDs6XFxzQFxcXCJdKykqKXwoXFxcIi4rXFxcIikpQCgoXFxbKCgoMjVbMC01XSl8KDJbMC00XVswLTldKXwoMVswLTldezJ9KXwoWzAtOV17MSwyfSkpXFwuKXszfSgoMjVbMC01XSl8KDJbMC00XVswLTldKXwoMVswLTldezJ9KXwoWzAtOV17MSwyfSkpXFxdKXwoXFxbSVB2NjooKFthLWYwLTldezEsNH06KXs3fXw6OihbYS1mMC05XXsxLDR9Oil7MCw2fXwoW2EtZjAtOV17MSw0fTopezF9OihbYS1mMC05XXsxLDR9Oil7MCw1fXwoW2EtZjAtOV17MSw0fTopezJ9OihbYS1mMC05XXsxLDR9Oil7MCw0fXwoW2EtZjAtOV17MSw0fTopezN9OihbYS1mMC05XXsxLDR9Oil7MCwzfXwoW2EtZjAtOV17MSw0fTopezR9OihbYS1mMC05XXsxLDR9Oil7MCwyfXwoW2EtZjAtOV17MSw0fTopezV9OihbYS1mMC05XXsxLDR9Oil7MCwxfSkoW2EtZjAtOV17MSw0fXwoKCgyNVswLTVdKXwoMlswLTRdWzAtOV0pfCgxWzAtOV17Mn0pfChbMC05XXsxLDJ9KSlcXC4pezN9KCgyNVswLTVdKXwoMlswLTRdWzAtOV0pfCgxWzAtOV17Mn0pfChbMC05XXsxLDJ9KSkpXFxdKXwoW0EtWmEtejAtOV0oW0EtWmEtejAtOS1dKltBLVphLXowLTldKSooXFwuW0EtWmEtel17Mix9KSspKSQvO1xuLy8gY29uc3QgZW1haWxSZWdleCA9XG4vLyAgIC9eW2EtekEtWjAtOVxcLlxcIVxcI1xcJFxcJVxcJlxcJ1xcKlxcK1xcL1xcPVxcP1xcXlxcX1xcYFxce1xcfFxcfVxcflxcLV0rQFthLXpBLVowLTldKD86W2EtekEtWjAtOS1dezAsNjF9W2EtekEtWjAtOV0pPyg/OlxcLlthLXpBLVowLTldKD86W2EtekEtWjAtOS1dezAsNjF9W2EtekEtWjAtOV0pPykqJC87XG4vLyBjb25zdCBlbWFpbFJlZ2V4ID1cbi8vICAgL14oPzpbYS16MC05ISMkJSYnKisvPT9eX2B7fH1+LV0rKD86XFwuW2EtejAtOSEjJCUmJyorLz0/Xl9ge3x9fi1dKykqfFwiKD86W1xceDAxLVxceDA4XFx4MGJcXHgwY1xceDBlLVxceDFmXFx4MjFcXHgyMy1cXHg1YlxceDVkLVxceDdmXXxcXFxcW1xceDAxLVxceDA5XFx4MGJcXHgwY1xceDBlLVxceDdmXSkqXCIpQCg/Oig/OlthLXowLTldKD86W2EtejAtOS1dKlthLXowLTldKT9cXC4pK1thLXowLTldKD86W2EtejAtOS1dKlthLXowLTldKT98XFxbKD86KD86MjVbMC01XXwyWzAtNF1bMC05XXxbMDFdP1swLTldWzAtOV0/KVxcLil7M30oPzoyNVswLTVdfDJbMC00XVswLTldfFswMV0/WzAtOV1bMC05XT98W2EtejAtOS1dKlthLXowLTldOig/OltcXHgwMS1cXHgwOFxceDBiXFx4MGNcXHgwZS1cXHgxZlxceDIxLVxceDVhXFx4NTMtXFx4N2ZdfFxcXFxbXFx4MDEtXFx4MDlcXHgwYlxceDBjXFx4MGUtXFx4N2ZdKSspXFxdKSQvaTtcbmNvbnN0IGVtYWlsUmVnZXggPSAvXig/IVxcLikoPyEuKlxcLlxcLikoW0EtWjAtOV8nK1xcLVxcLl0qKVtBLVowLTlfKy1dQChbQS1aMC05XVtBLVowLTlcXC1dKlxcLikrW0EtWl17Mix9JC9pO1xuLy8gY29uc3QgZW1haWxSZWdleCA9XG4vLyAgIC9eW2EtejAtOS4hIyQlJlx1MjAxOSorLz0/Xl9ge3x9fi1dK0BbYS16MC05LV0rKD86XFwuW2EtejAtOVxcLV0rKSokL2k7XG4vLyBmcm9tIGh0dHBzOi8vdGhla2V2aW5zY290dC5jb20vZW1vamlzLWluLWphdmFzY3JpcHQvI3dyaXRpbmctYS1yZWd1bGFyLWV4cHJlc3Npb25cbmNvbnN0IF9lbW9qaVJlZ2V4ID0gYF4oXFxcXHB7RXh0ZW5kZWRfUGljdG9ncmFwaGljfXxcXFxccHtFbW9qaV9Db21wb25lbnR9KSskYDtcbmxldCBlbW9qaVJlZ2V4O1xuLy8gZmFzdGVyLCBzaW1wbGVyLCBzYWZlclxuY29uc3QgaXB2NFJlZ2V4ID0gL14oPzooPzoyNVswLTVdfDJbMC00XVswLTldfDFbMC05XVswLTldfFsxLTldWzAtOV18WzAtOV0pXFwuKXszfSg/OjI1WzAtNV18MlswLTRdWzAtOV18MVswLTldWzAtOV18WzEtOV1bMC05XXxbMC05XSkkLztcbmNvbnN0IGlwdjRDaWRyUmVnZXggPSAvXig/Oig/OjI1WzAtNV18MlswLTRdWzAtOV18MVswLTldWzAtOV18WzEtOV1bMC05XXxbMC05XSlcXC4pezN9KD86MjVbMC01XXwyWzAtNF1bMC05XXwxWzAtOV1bMC05XXxbMS05XVswLTldfFswLTldKVxcLygzWzAtMl18WzEyXT9bMC05XSkkLztcbi8vIGNvbnN0IGlwdjZSZWdleCA9XG4vLyAvXigoW2EtZjAtOV17MSw0fTopezd9fDo6KFthLWYwLTldezEsNH06KXswLDZ9fChbYS1mMC05XXsxLDR9Oil7MX06KFthLWYwLTldezEsNH06KXswLDV9fChbYS1mMC05XXsxLDR9Oil7Mn06KFthLWYwLTldezEsNH06KXswLDR9fChbYS1mMC05XXsxLDR9Oil7M306KFthLWYwLTldezEsNH06KXswLDN9fChbYS1mMC05XXsxLDR9Oil7NH06KFthLWYwLTldezEsNH06KXswLDJ9fChbYS1mMC05XXsxLDR9Oil7NX06KFthLWYwLTldezEsNH06KXswLDF9KShbYS1mMC05XXsxLDR9fCgoKDI1WzAtNV0pfCgyWzAtNF1bMC05XSl8KDFbMC05XXsyfSl8KFswLTldezEsMn0pKVxcLil7M30oKDI1WzAtNV0pfCgyWzAtNF1bMC05XSl8KDFbMC05XXsyfSl8KFswLTldezEsMn0pKSkkLztcbmNvbnN0IGlwdjZSZWdleCA9IC9eKChbMC05YS1mQS1GXXsxLDR9Oil7Nyw3fVswLTlhLWZBLUZdezEsNH18KFswLTlhLWZBLUZdezEsNH06KXsxLDd9OnwoWzAtOWEtZkEtRl17MSw0fTopezEsNn06WzAtOWEtZkEtRl17MSw0fXwoWzAtOWEtZkEtRl17MSw0fTopezEsNX0oOlswLTlhLWZBLUZdezEsNH0pezEsMn18KFswLTlhLWZBLUZdezEsNH06KXsxLDR9KDpbMC05YS1mQS1GXXsxLDR9KXsxLDN9fChbMC05YS1mQS1GXXsxLDR9Oil7MSwzfSg6WzAtOWEtZkEtRl17MSw0fSl7MSw0fXwoWzAtOWEtZkEtRl17MSw0fTopezEsMn0oOlswLTlhLWZBLUZdezEsNH0pezEsNX18WzAtOWEtZkEtRl17MSw0fTooKDpbMC05YS1mQS1GXXsxLDR9KXsxLDZ9KXw6KCg6WzAtOWEtZkEtRl17MSw0fSl7MSw3fXw6KXxmZTgwOig6WzAtOWEtZkEtRl17MCw0fSl7MCw0fSVbMC05YS16QS1aXXsxLH18OjooZmZmZig6MHsxLDR9KXswLDF9Oil7MCwxfSgoMjVbMC01XXwoMlswLTRdfDF7MCwxfVswLTldKXswLDF9WzAtOV0pXFwuKXszLDN9KDI1WzAtNV18KDJbMC00XXwxezAsMX1bMC05XSl7MCwxfVswLTldKXwoWzAtOWEtZkEtRl17MSw0fTopezEsNH06KCgyNVswLTVdfCgyWzAtNF18MXswLDF9WzAtOV0pezAsMX1bMC05XSlcXC4pezMsM30oMjVbMC01XXwoMlswLTRdfDF7MCwxfVswLTldKXswLDF9WzAtOV0pKSQvO1xuY29uc3QgaXB2NkNpZHJSZWdleCA9IC9eKChbMC05YS1mQS1GXXsxLDR9Oil7Nyw3fVswLTlhLWZBLUZdezEsNH18KFswLTlhLWZBLUZdezEsNH06KXsxLDd9OnwoWzAtOWEtZkEtRl17MSw0fTopezEsNn06WzAtOWEtZkEtRl17MSw0fXwoWzAtOWEtZkEtRl17MSw0fTopezEsNX0oOlswLTlhLWZBLUZdezEsNH0pezEsMn18KFswLTlhLWZBLUZdezEsNH06KXsxLDR9KDpbMC05YS1mQS1GXXsxLDR9KXsxLDN9fChbMC05YS1mQS1GXXsxLDR9Oil7MSwzfSg6WzAtOWEtZkEtRl17MSw0fSl7MSw0fXwoWzAtOWEtZkEtRl17MSw0fTopezEsMn0oOlswLTlhLWZBLUZdezEsNH0pezEsNX18WzAtOWEtZkEtRl17MSw0fTooKDpbMC05YS1mQS1GXXsxLDR9KXsxLDZ9KXw6KCg6WzAtOWEtZkEtRl17MSw0fSl7MSw3fXw6KXxmZTgwOig6WzAtOWEtZkEtRl17MCw0fSl7MCw0fSVbMC05YS16QS1aXXsxLH18OjooZmZmZig6MHsxLDR9KXswLDF9Oil7MCwxfSgoMjVbMC01XXwoMlswLTRdfDF7MCwxfVswLTldKXswLDF9WzAtOV0pXFwuKXszLDN9KDI1WzAtNV18KDJbMC00XXwxezAsMX1bMC05XSl7MCwxfVswLTldKXwoWzAtOWEtZkEtRl17MSw0fTopezEsNH06KCgyNVswLTVdfCgyWzAtNF18MXswLDF9WzAtOV0pezAsMX1bMC05XSlcXC4pezMsM30oMjVbMC01XXwoMlswLTRdfDF7MCwxfVswLTldKXswLDF9WzAtOV0pKVxcLygxMlswLThdfDFbMDFdWzAtOV18WzEtOV0/WzAtOV0pJC87XG4vLyBodHRwczovL3N0YWNrb3ZlcmZsb3cuY29tL3F1ZXN0aW9ucy83ODYwMzkyL2RldGVybWluZS1pZi1zdHJpbmctaXMtaW4tYmFzZTY0LXVzaW5nLWphdmFzY3JpcHRcbmNvbnN0IGJhc2U2NFJlZ2V4ID0gL14oWzAtOWEtekEtWisvXXs0fSkqKChbMC05YS16QS1aKy9dezJ9PT0pfChbMC05YS16QS1aKy9dezN9PSkpPyQvO1xuLy8gaHR0cHM6Ly9iYXNlNjQuZ3VydS9zdGFuZGFyZHMvYmFzZTY0dXJsXG5jb25zdCBiYXNlNjR1cmxSZWdleCA9IC9eKFswLTlhLXpBLVotX117NH0pKigoWzAtOWEtekEtWi1fXXsyfSg9PSk/KXwoWzAtOWEtekEtWi1fXXszfSg9KT8pKT8kLztcbi8vIHNpbXBsZVxuLy8gY29uc3QgZGF0ZVJlZ2V4U291cmNlID0gYFxcXFxkezR9LVxcXFxkezJ9LVxcXFxkezJ9YDtcbi8vIG5vIGxlYXAgeWVhciB2YWxpZGF0aW9uXG4vLyBjb25zdCBkYXRlUmVnZXhTb3VyY2UgPSBgXFxcXGR7NH0tKCgwWzEzNTc4XXwxMHwxMiktMzF8KDBbMTMtOV18MVswLTJdKS0zMHwoMFsxLTldfDFbMC0yXSktKDBbMS05XXwxXFxcXGR8MlxcXFxkKSlgO1xuLy8gd2l0aCBsZWFwIHllYXIgdmFsaWRhdGlvblxuY29uc3QgZGF0ZVJlZ2V4U291cmNlID0gYCgoXFxcXGRcXFxcZFsyNDY4XVswNDhdfFxcXFxkXFxcXGRbMTM1NzldWzI2XXxcXFxcZFxcXFxkMFs0OF18WzAyNDY4XVswNDhdMDB8WzEzNTc5XVsyNl0wMCktMDItMjl8XFxcXGR7NH0tKCgwWzEzNTc4XXwxWzAyXSktKDBbMS05XXxbMTJdXFxcXGR8M1swMV0pfCgwWzQ2OV18MTEpLSgwWzEtOV18WzEyXVxcXFxkfDMwKXwoMDIpLSgwWzEtOV18MVxcXFxkfDJbMC04XSkpKWA7XG5jb25zdCBkYXRlUmVnZXggPSBuZXcgUmVnRXhwKGBeJHtkYXRlUmVnZXhTb3VyY2V9JGApO1xuZnVuY3Rpb24gdGltZVJlZ2V4U291cmNlKGFyZ3MpIHtcbiAgICBsZXQgc2Vjb25kc1JlZ2V4U291cmNlID0gYFswLTVdXFxcXGRgO1xuICAgIGlmIChhcmdzLnByZWNpc2lvbikge1xuICAgICAgICBzZWNvbmRzUmVnZXhTb3VyY2UgPSBgJHtzZWNvbmRzUmVnZXhTb3VyY2V9XFxcXC5cXFxcZHske2FyZ3MucHJlY2lzaW9ufX1gO1xuICAgIH1cbiAgICBlbHNlIGlmIChhcmdzLnByZWNpc2lvbiA9PSBudWxsKSB7XG4gICAgICAgIHNlY29uZHNSZWdleFNvdXJjZSA9IGAke3NlY29uZHNSZWdleFNvdXJjZX0oXFxcXC5cXFxcZCspP2A7XG4gICAgfVxuICAgIGNvbnN0IHNlY29uZHNRdWFudGlmaWVyID0gYXJncy5wcmVjaXNpb24gPyBcIitcIiA6IFwiP1wiOyAvLyByZXF1aXJlIHNlY29uZHMgaWYgcHJlY2lzaW9uIGlzIG5vbnplcm9cbiAgICByZXR1cm4gYChbMDFdXFxcXGR8MlswLTNdKTpbMC01XVxcXFxkKDoke3NlY29uZHNSZWdleFNvdXJjZX0pJHtzZWNvbmRzUXVhbnRpZmllcn1gO1xufVxuZnVuY3Rpb24gdGltZVJlZ2V4KGFyZ3MpIHtcbiAgICByZXR1cm4gbmV3IFJlZ0V4cChgXiR7dGltZVJlZ2V4U291cmNlKGFyZ3MpfSRgKTtcbn1cbi8vIEFkYXB0ZWQgZnJvbSBodHRwczovL3N0YWNrb3ZlcmZsb3cuY29tL2EvMzE0MzIzMVxuZXhwb3J0IGZ1bmN0aW9uIGRhdGV0aW1lUmVnZXgoYXJncykge1xuICAgIGxldCByZWdleCA9IGAke2RhdGVSZWdleFNvdXJjZX1UJHt0aW1lUmVnZXhTb3VyY2UoYXJncyl9YDtcbiAgICBjb25zdCBvcHRzID0gW107XG4gICAgb3B0cy5wdXNoKGFyZ3MubG9jYWwgPyBgWj9gIDogYFpgKTtcbiAgICBpZiAoYXJncy5vZmZzZXQpXG4gICAgICAgIG9wdHMucHVzaChgKFsrLV1cXFxcZHsyfTo/XFxcXGR7Mn0pYCk7XG4gICAgcmVnZXggPSBgJHtyZWdleH0oJHtvcHRzLmpvaW4oXCJ8XCIpfSlgO1xuICAgIHJldHVybiBuZXcgUmVnRXhwKGBeJHtyZWdleH0kYCk7XG59XG5mdW5jdGlvbiBpc1ZhbGlkSVAoaXAsIHZlcnNpb24pIHtcbiAgICBpZiAoKHZlcnNpb24gPT09IFwidjRcIiB8fCAhdmVyc2lvbikgJiYgaXB2NFJlZ2V4LnRlc3QoaXApKSB7XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cbiAgICBpZiAoKHZlcnNpb24gPT09IFwidjZcIiB8fCAhdmVyc2lvbikgJiYgaXB2NlJlZ2V4LnRlc3QoaXApKSB7XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cbiAgICByZXR1cm4gZmFsc2U7XG59XG5mdW5jdGlvbiBpc1ZhbGlkSldUKGp3dCwgYWxnKSB7XG4gICAgaWYgKCFqd3RSZWdleC50ZXN0KGp3dCkpXG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICB0cnkge1xuICAgICAgICBjb25zdCBbaGVhZGVyXSA9IGp3dC5zcGxpdChcIi5cIik7XG4gICAgICAgIGlmICghaGVhZGVyKVxuICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICAvLyBDb252ZXJ0IGJhc2U2NHVybCB0byBiYXNlNjRcbiAgICAgICAgY29uc3QgYmFzZTY0ID0gaGVhZGVyXG4gICAgICAgICAgICAucmVwbGFjZSgvLS9nLCBcIitcIilcbiAgICAgICAgICAgIC5yZXBsYWNlKC9fL2csIFwiL1wiKVxuICAgICAgICAgICAgLnBhZEVuZChoZWFkZXIubGVuZ3RoICsgKCg0IC0gKGhlYWRlci5sZW5ndGggJSA0KSkgJSA0KSwgXCI9XCIpO1xuICAgICAgICBjb25zdCBkZWNvZGVkID0gSlNPTi5wYXJzZShhdG9iKGJhc2U2NCkpO1xuICAgICAgICBpZiAodHlwZW9mIGRlY29kZWQgIT09IFwib2JqZWN0XCIgfHwgZGVjb2RlZCA9PT0gbnVsbClcbiAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgaWYgKFwidHlwXCIgaW4gZGVjb2RlZCAmJiBkZWNvZGVkPy50eXAgIT09IFwiSldUXCIpXG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgIGlmICghZGVjb2RlZC5hbGcpXG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgIGlmIChhbGcgJiYgZGVjb2RlZC5hbGcgIT09IGFsZylcbiAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuICAgIGNhdGNoIHtcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbn1cbmZ1bmN0aW9uIGlzVmFsaWRDaWRyKGlwLCB2ZXJzaW9uKSB7XG4gICAgaWYgKCh2ZXJzaW9uID09PSBcInY0XCIgfHwgIXZlcnNpb24pICYmIGlwdjRDaWRyUmVnZXgudGVzdChpcCkpIHtcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuICAgIGlmICgodmVyc2lvbiA9PT0gXCJ2NlwiIHx8ICF2ZXJzaW9uKSAmJiBpcHY2Q2lkclJlZ2V4LnRlc3QoaXApKSB7XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cbiAgICByZXR1cm4gZmFsc2U7XG59XG5leHBvcnQgY2xhc3MgWm9kU3RyaW5nIGV4dGVuZHMgWm9kVHlwZSB7XG4gICAgX3BhcnNlKGlucHV0KSB7XG4gICAgICAgIGlmICh0aGlzLl9kZWYuY29lcmNlKSB7XG4gICAgICAgICAgICBpbnB1dC5kYXRhID0gU3RyaW5nKGlucHV0LmRhdGEpO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IHBhcnNlZFR5cGUgPSB0aGlzLl9nZXRUeXBlKGlucHV0KTtcbiAgICAgICAgaWYgKHBhcnNlZFR5cGUgIT09IFpvZFBhcnNlZFR5cGUuc3RyaW5nKSB7XG4gICAgICAgICAgICBjb25zdCBjdHggPSB0aGlzLl9nZXRPclJldHVybkN0eChpbnB1dCk7XG4gICAgICAgICAgICBhZGRJc3N1ZVRvQ29udGV4dChjdHgsIHtcbiAgICAgICAgICAgICAgICBjb2RlOiBab2RJc3N1ZUNvZGUuaW52YWxpZF90eXBlLFxuICAgICAgICAgICAgICAgIGV4cGVjdGVkOiBab2RQYXJzZWRUeXBlLnN0cmluZyxcbiAgICAgICAgICAgICAgICByZWNlaXZlZDogY3R4LnBhcnNlZFR5cGUsXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIHJldHVybiBJTlZBTElEO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IHN0YXR1cyA9IG5ldyBQYXJzZVN0YXR1cygpO1xuICAgICAgICBsZXQgY3R4ID0gdW5kZWZpbmVkO1xuICAgICAgICBmb3IgKGNvbnN0IGNoZWNrIG9mIHRoaXMuX2RlZi5jaGVja3MpIHtcbiAgICAgICAgICAgIGlmIChjaGVjay5raW5kID09PSBcIm1pblwiKSB7XG4gICAgICAgICAgICAgICAgaWYgKGlucHV0LmRhdGEubGVuZ3RoIDwgY2hlY2sudmFsdWUpIHtcbiAgICAgICAgICAgICAgICAgICAgY3R4ID0gdGhpcy5fZ2V0T3JSZXR1cm5DdHgoaW5wdXQsIGN0eCk7XG4gICAgICAgICAgICAgICAgICAgIGFkZElzc3VlVG9Db250ZXh0KGN0eCwge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29kZTogWm9kSXNzdWVDb2RlLnRvb19zbWFsbCxcbiAgICAgICAgICAgICAgICAgICAgICAgIG1pbmltdW06IGNoZWNrLnZhbHVlLFxuICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogXCJzdHJpbmdcIixcbiAgICAgICAgICAgICAgICAgICAgICAgIGluY2x1c2l2ZTogdHJ1ZSxcbiAgICAgICAgICAgICAgICAgICAgICAgIGV4YWN0OiBmYWxzZSxcbiAgICAgICAgICAgICAgICAgICAgICAgIG1lc3NhZ2U6IGNoZWNrLm1lc3NhZ2UsXG4gICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgICAgICBzdGF0dXMuZGlydHkoKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBlbHNlIGlmIChjaGVjay5raW5kID09PSBcIm1heFwiKSB7XG4gICAgICAgICAgICAgICAgaWYgKGlucHV0LmRhdGEubGVuZ3RoID4gY2hlY2sudmFsdWUpIHtcbiAgICAgICAgICAgICAgICAgICAgY3R4ID0gdGhpcy5fZ2V0T3JSZXR1cm5DdHgoaW5wdXQsIGN0eCk7XG4gICAgICAgICAgICAgICAgICAgIGFkZElzc3VlVG9Db250ZXh0KGN0eCwge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29kZTogWm9kSXNzdWVDb2RlLnRvb19iaWcsXG4gICAgICAgICAgICAgICAgICAgICAgICBtYXhpbXVtOiBjaGVjay52YWx1ZSxcbiAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IFwic3RyaW5nXCIsXG4gICAgICAgICAgICAgICAgICAgICAgICBpbmNsdXNpdmU6IHRydWUsXG4gICAgICAgICAgICAgICAgICAgICAgICBleGFjdDogZmFsc2UsXG4gICAgICAgICAgICAgICAgICAgICAgICBtZXNzYWdlOiBjaGVjay5tZXNzYWdlLFxuICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICAgICAgc3RhdHVzLmRpcnR5KCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZWxzZSBpZiAoY2hlY2sua2luZCA9PT0gXCJsZW5ndGhcIikge1xuICAgICAgICAgICAgICAgIGNvbnN0IHRvb0JpZyA9IGlucHV0LmRhdGEubGVuZ3RoID4gY2hlY2sudmFsdWU7XG4gICAgICAgICAgICAgICAgY29uc3QgdG9vU21hbGwgPSBpbnB1dC5kYXRhLmxlbmd0aCA8IGNoZWNrLnZhbHVlO1xuICAgICAgICAgICAgICAgIGlmICh0b29CaWcgfHwgdG9vU21hbGwpIHtcbiAgICAgICAgICAgICAgICAgICAgY3R4ID0gdGhpcy5fZ2V0T3JSZXR1cm5DdHgoaW5wdXQsIGN0eCk7XG4gICAgICAgICAgICAgICAgICAgIGlmICh0b29CaWcpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGFkZElzc3VlVG9Db250ZXh0KGN0eCwge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvZGU6IFpvZElzc3VlQ29kZS50b29fYmlnLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1heGltdW06IGNoZWNrLnZhbHVlLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IFwic3RyaW5nXCIsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaW5jbHVzaXZlOiB0cnVlLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGV4YWN0OiB0cnVlLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1lc3NhZ2U6IGNoZWNrLm1lc3NhZ2UsXG4gICAgICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBlbHNlIGlmICh0b29TbWFsbCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgYWRkSXNzdWVUb0NvbnRleHQoY3R4LCB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29kZTogWm9kSXNzdWVDb2RlLnRvb19zbWFsbCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtaW5pbXVtOiBjaGVjay52YWx1ZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBcInN0cmluZ1wiLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluY2x1c2l2ZTogdHJ1ZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBleGFjdDogdHJ1ZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtZXNzYWdlOiBjaGVjay5tZXNzYWdlLFxuICAgICAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgc3RhdHVzLmRpcnR5KCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZWxzZSBpZiAoY2hlY2sua2luZCA9PT0gXCJlbWFpbFwiKSB7XG4gICAgICAgICAgICAgICAgaWYgKCFlbWFpbFJlZ2V4LnRlc3QoaW5wdXQuZGF0YSkpIHtcbiAgICAgICAgICAgICAgICAgICAgY3R4ID0gdGhpcy5fZ2V0T3JSZXR1cm5DdHgoaW5wdXQsIGN0eCk7XG4gICAgICAgICAgICAgICAgICAgIGFkZElzc3VlVG9Db250ZXh0KGN0eCwge1xuICAgICAgICAgICAgICAgICAgICAgICAgdmFsaWRhdGlvbjogXCJlbWFpbFwiLFxuICAgICAgICAgICAgICAgICAgICAgICAgY29kZTogWm9kSXNzdWVDb2RlLmludmFsaWRfc3RyaW5nLFxuICAgICAgICAgICAgICAgICAgICAgICAgbWVzc2FnZTogY2hlY2subWVzc2FnZSxcbiAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgICAgIHN0YXR1cy5kaXJ0eSgpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGVsc2UgaWYgKGNoZWNrLmtpbmQgPT09IFwiZW1vamlcIikge1xuICAgICAgICAgICAgICAgIGlmICghZW1vamlSZWdleCkge1xuICAgICAgICAgICAgICAgICAgICBlbW9qaVJlZ2V4ID0gbmV3IFJlZ0V4cChfZW1vamlSZWdleCwgXCJ1XCIpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBpZiAoIWVtb2ppUmVnZXgudGVzdChpbnB1dC5kYXRhKSkge1xuICAgICAgICAgICAgICAgICAgICBjdHggPSB0aGlzLl9nZXRPclJldHVybkN0eChpbnB1dCwgY3R4KTtcbiAgICAgICAgICAgICAgICAgICAgYWRkSXNzdWVUb0NvbnRleHQoY3R4LCB7XG4gICAgICAgICAgICAgICAgICAgICAgICB2YWxpZGF0aW9uOiBcImVtb2ppXCIsXG4gICAgICAgICAgICAgICAgICAgICAgICBjb2RlOiBab2RJc3N1ZUNvZGUuaW52YWxpZF9zdHJpbmcsXG4gICAgICAgICAgICAgICAgICAgICAgICBtZXNzYWdlOiBjaGVjay5tZXNzYWdlLFxuICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICAgICAgc3RhdHVzLmRpcnR5KCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZWxzZSBpZiAoY2hlY2sua2luZCA9PT0gXCJ1dWlkXCIpIHtcbiAgICAgICAgICAgICAgICBpZiAoIXV1aWRSZWdleC50ZXN0KGlucHV0LmRhdGEpKSB7XG4gICAgICAgICAgICAgICAgICAgIGN0eCA9IHRoaXMuX2dldE9yUmV0dXJuQ3R4KGlucHV0LCBjdHgpO1xuICAgICAgICAgICAgICAgICAgICBhZGRJc3N1ZVRvQ29udGV4dChjdHgsIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHZhbGlkYXRpb246IFwidXVpZFwiLFxuICAgICAgICAgICAgICAgICAgICAgICAgY29kZTogWm9kSXNzdWVDb2RlLmludmFsaWRfc3RyaW5nLFxuICAgICAgICAgICAgICAgICAgICAgICAgbWVzc2FnZTogY2hlY2subWVzc2FnZSxcbiAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgICAgIHN0YXR1cy5kaXJ0eSgpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGVsc2UgaWYgKGNoZWNrLmtpbmQgPT09IFwibmFub2lkXCIpIHtcbiAgICAgICAgICAgICAgICBpZiAoIW5hbm9pZFJlZ2V4LnRlc3QoaW5wdXQuZGF0YSkpIHtcbiAgICAgICAgICAgICAgICAgICAgY3R4ID0gdGhpcy5fZ2V0T3JSZXR1cm5DdHgoaW5wdXQsIGN0eCk7XG4gICAgICAgICAgICAgICAgICAgIGFkZElzc3VlVG9Db250ZXh0KGN0eCwge1xuICAgICAgICAgICAgICAgICAgICAgICAgdmFsaWRhdGlvbjogXCJuYW5vaWRcIixcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvZGU6IFpvZElzc3VlQ29kZS5pbnZhbGlkX3N0cmluZyxcbiAgICAgICAgICAgICAgICAgICAgICAgIG1lc3NhZ2U6IGNoZWNrLm1lc3NhZ2UsXG4gICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgICAgICBzdGF0dXMuZGlydHkoKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBlbHNlIGlmIChjaGVjay5raW5kID09PSBcImN1aWRcIikge1xuICAgICAgICAgICAgICAgIGlmICghY3VpZFJlZ2V4LnRlc3QoaW5wdXQuZGF0YSkpIHtcbiAgICAgICAgICAgICAgICAgICAgY3R4ID0gdGhpcy5fZ2V0T3JSZXR1cm5DdHgoaW5wdXQsIGN0eCk7XG4gICAgICAgICAgICAgICAgICAgIGFkZElzc3VlVG9Db250ZXh0KGN0eCwge1xuICAgICAgICAgICAgICAgICAgICAgICAgdmFsaWRhdGlvbjogXCJjdWlkXCIsXG4gICAgICAgICAgICAgICAgICAgICAgICBjb2RlOiBab2RJc3N1ZUNvZGUuaW52YWxpZF9zdHJpbmcsXG4gICAgICAgICAgICAgICAgICAgICAgICBtZXNzYWdlOiBjaGVjay5tZXNzYWdlLFxuICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICAgICAgc3RhdHVzLmRpcnR5KCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZWxzZSBpZiAoY2hlY2sua2luZCA9PT0gXCJjdWlkMlwiKSB7XG4gICAgICAgICAgICAgICAgaWYgKCFjdWlkMlJlZ2V4LnRlc3QoaW5wdXQuZGF0YSkpIHtcbiAgICAgICAgICAgICAgICAgICAgY3R4ID0gdGhpcy5fZ2V0T3JSZXR1cm5DdHgoaW5wdXQsIGN0eCk7XG4gICAgICAgICAgICAgICAgICAgIGFkZElzc3VlVG9Db250ZXh0KGN0eCwge1xuICAgICAgICAgICAgICAgICAgICAgICAgdmFsaWRhdGlvbjogXCJjdWlkMlwiLFxuICAgICAgICAgICAgICAgICAgICAgICAgY29kZTogWm9kSXNzdWVDb2RlLmludmFsaWRfc3RyaW5nLFxuICAgICAgICAgICAgICAgICAgICAgICAgbWVzc2FnZTogY2hlY2subWVzc2FnZSxcbiAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgICAgIHN0YXR1cy5kaXJ0eSgpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGVsc2UgaWYgKGNoZWNrLmtpbmQgPT09IFwidWxpZFwiKSB7XG4gICAgICAgICAgICAgICAgaWYgKCF1bGlkUmVnZXgudGVzdChpbnB1dC5kYXRhKSkge1xuICAgICAgICAgICAgICAgICAgICBjdHggPSB0aGlzLl9nZXRPclJldHVybkN0eChpbnB1dCwgY3R4KTtcbiAgICAgICAgICAgICAgICAgICAgYWRkSXNzdWVUb0NvbnRleHQoY3R4LCB7XG4gICAgICAgICAgICAgICAgICAgICAgICB2YWxpZGF0aW9uOiBcInVsaWRcIixcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvZGU6IFpvZElzc3VlQ29kZS5pbnZhbGlkX3N0cmluZyxcbiAgICAgICAgICAgICAgICAgICAgICAgIG1lc3NhZ2U6IGNoZWNrLm1lc3NhZ2UsXG4gICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgICAgICBzdGF0dXMuZGlydHkoKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBlbHNlIGlmIChjaGVjay5raW5kID09PSBcInVybFwiKSB7XG4gICAgICAgICAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgICAgICAgICAgbmV3IFVSTChpbnB1dC5kYXRhKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgY2F0Y2gge1xuICAgICAgICAgICAgICAgICAgICBjdHggPSB0aGlzLl9nZXRPclJldHVybkN0eChpbnB1dCwgY3R4KTtcbiAgICAgICAgICAgICAgICAgICAgYWRkSXNzdWVUb0NvbnRleHQoY3R4LCB7XG4gICAgICAgICAgICAgICAgICAgICAgICB2YWxpZGF0aW9uOiBcInVybFwiLFxuICAgICAgICAgICAgICAgICAgICAgICAgY29kZTogWm9kSXNzdWVDb2RlLmludmFsaWRfc3RyaW5nLFxuICAgICAgICAgICAgICAgICAgICAgICAgbWVzc2FnZTogY2hlY2subWVzc2FnZSxcbiAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgICAgIHN0YXR1cy5kaXJ0eSgpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGVsc2UgaWYgKGNoZWNrLmtpbmQgPT09IFwicmVnZXhcIikge1xuICAgICAgICAgICAgICAgIGNoZWNrLnJlZ2V4Lmxhc3RJbmRleCA9IDA7XG4gICAgICAgICAgICAgICAgY29uc3QgdGVzdFJlc3VsdCA9IGNoZWNrLnJlZ2V4LnRlc3QoaW5wdXQuZGF0YSk7XG4gICAgICAgICAgICAgICAgaWYgKCF0ZXN0UmVzdWx0KSB7XG4gICAgICAgICAgICAgICAgICAgIGN0eCA9IHRoaXMuX2dldE9yUmV0dXJuQ3R4KGlucHV0LCBjdHgpO1xuICAgICAgICAgICAgICAgICAgICBhZGRJc3N1ZVRvQ29udGV4dChjdHgsIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHZhbGlkYXRpb246IFwicmVnZXhcIixcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvZGU6IFpvZElzc3VlQ29kZS5pbnZhbGlkX3N0cmluZyxcbiAgICAgICAgICAgICAgICAgICAgICAgIG1lc3NhZ2U6IGNoZWNrLm1lc3NhZ2UsXG4gICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgICAgICBzdGF0dXMuZGlydHkoKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBlbHNlIGlmIChjaGVjay5raW5kID09PSBcInRyaW1cIikge1xuICAgICAgICAgICAgICAgIGlucHV0LmRhdGEgPSBpbnB1dC5kYXRhLnRyaW0oKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGVsc2UgaWYgKGNoZWNrLmtpbmQgPT09IFwiaW5jbHVkZXNcIikge1xuICAgICAgICAgICAgICAgIGlmICghaW5wdXQuZGF0YS5pbmNsdWRlcyhjaGVjay52YWx1ZSwgY2hlY2sucG9zaXRpb24pKSB7XG4gICAgICAgICAgICAgICAgICAgIGN0eCA9IHRoaXMuX2dldE9yUmV0dXJuQ3R4KGlucHV0LCBjdHgpO1xuICAgICAgICAgICAgICAgICAgICBhZGRJc3N1ZVRvQ29udGV4dChjdHgsIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvZGU6IFpvZElzc3VlQ29kZS5pbnZhbGlkX3N0cmluZyxcbiAgICAgICAgICAgICAgICAgICAgICAgIHZhbGlkYXRpb246IHsgaW5jbHVkZXM6IGNoZWNrLnZhbHVlLCBwb3NpdGlvbjogY2hlY2sucG9zaXRpb24gfSxcbiAgICAgICAgICAgICAgICAgICAgICAgIG1lc3NhZ2U6IGNoZWNrLm1lc3NhZ2UsXG4gICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgICAgICBzdGF0dXMuZGlydHkoKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBlbHNlIGlmIChjaGVjay5raW5kID09PSBcInRvTG93ZXJDYXNlXCIpIHtcbiAgICAgICAgICAgICAgICBpbnB1dC5kYXRhID0gaW5wdXQuZGF0YS50b0xvd2VyQ2FzZSgpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZWxzZSBpZiAoY2hlY2sua2luZCA9PT0gXCJ0b1VwcGVyQ2FzZVwiKSB7XG4gICAgICAgICAgICAgICAgaW5wdXQuZGF0YSA9IGlucHV0LmRhdGEudG9VcHBlckNhc2UoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGVsc2UgaWYgKGNoZWNrLmtpbmQgPT09IFwic3RhcnRzV2l0aFwiKSB7XG4gICAgICAgICAgICAgICAgaWYgKCFpbnB1dC5kYXRhLnN0YXJ0c1dpdGgoY2hlY2sudmFsdWUpKSB7XG4gICAgICAgICAgICAgICAgICAgIGN0eCA9IHRoaXMuX2dldE9yUmV0dXJuQ3R4KGlucHV0LCBjdHgpO1xuICAgICAgICAgICAgICAgICAgICBhZGRJc3N1ZVRvQ29udGV4dChjdHgsIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvZGU6IFpvZElzc3VlQ29kZS5pbnZhbGlkX3N0cmluZyxcbiAgICAgICAgICAgICAgICAgICAgICAgIHZhbGlkYXRpb246IHsgc3RhcnRzV2l0aDogY2hlY2sudmFsdWUgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgIG1lc3NhZ2U6IGNoZWNrLm1lc3NhZ2UsXG4gICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgICAgICBzdGF0dXMuZGlydHkoKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBlbHNlIGlmIChjaGVjay5raW5kID09PSBcImVuZHNXaXRoXCIpIHtcbiAgICAgICAgICAgICAgICBpZiAoIWlucHV0LmRhdGEuZW5kc1dpdGgoY2hlY2sudmFsdWUpKSB7XG4gICAgICAgICAgICAgICAgICAgIGN0eCA9IHRoaXMuX2dldE9yUmV0dXJuQ3R4KGlucHV0LCBjdHgpO1xuICAgICAgICAgICAgICAgICAgICBhZGRJc3N1ZVRvQ29udGV4dChjdHgsIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvZGU6IFpvZElzc3VlQ29kZS5pbnZhbGlkX3N0cmluZyxcbiAgICAgICAgICAgICAgICAgICAgICAgIHZhbGlkYXRpb246IHsgZW5kc1dpdGg6IGNoZWNrLnZhbHVlIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICBtZXNzYWdlOiBjaGVjay5tZXNzYWdlLFxuICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICAgICAgc3RhdHVzLmRpcnR5KCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZWxzZSBpZiAoY2hlY2sua2luZCA9PT0gXCJkYXRldGltZVwiKSB7XG4gICAgICAgICAgICAgICAgY29uc3QgcmVnZXggPSBkYXRldGltZVJlZ2V4KGNoZWNrKTtcbiAgICAgICAgICAgICAgICBpZiAoIXJlZ2V4LnRlc3QoaW5wdXQuZGF0YSkpIHtcbiAgICAgICAgICAgICAgICAgICAgY3R4ID0gdGhpcy5fZ2V0T3JSZXR1cm5DdHgoaW5wdXQsIGN0eCk7XG4gICAgICAgICAgICAgICAgICAgIGFkZElzc3VlVG9Db250ZXh0KGN0eCwge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29kZTogWm9kSXNzdWVDb2RlLmludmFsaWRfc3RyaW5nLFxuICAgICAgICAgICAgICAgICAgICAgICAgdmFsaWRhdGlvbjogXCJkYXRldGltZVwiLFxuICAgICAgICAgICAgICAgICAgICAgICAgbWVzc2FnZTogY2hlY2subWVzc2FnZSxcbiAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgICAgIHN0YXR1cy5kaXJ0eSgpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGVsc2UgaWYgKGNoZWNrLmtpbmQgPT09IFwiZGF0ZVwiKSB7XG4gICAgICAgICAgICAgICAgY29uc3QgcmVnZXggPSBkYXRlUmVnZXg7XG4gICAgICAgICAgICAgICAgaWYgKCFyZWdleC50ZXN0KGlucHV0LmRhdGEpKSB7XG4gICAgICAgICAgICAgICAgICAgIGN0eCA9IHRoaXMuX2dldE9yUmV0dXJuQ3R4KGlucHV0LCBjdHgpO1xuICAgICAgICAgICAgICAgICAgICBhZGRJc3N1ZVRvQ29udGV4dChjdHgsIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvZGU6IFpvZElzc3VlQ29kZS5pbnZhbGlkX3N0cmluZyxcbiAgICAgICAgICAgICAgICAgICAgICAgIHZhbGlkYXRpb246IFwiZGF0ZVwiLFxuICAgICAgICAgICAgICAgICAgICAgICAgbWVzc2FnZTogY2hlY2subWVzc2FnZSxcbiAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgICAgIHN0YXR1cy5kaXJ0eSgpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGVsc2UgaWYgKGNoZWNrLmtpbmQgPT09IFwidGltZVwiKSB7XG4gICAgICAgICAgICAgICAgY29uc3QgcmVnZXggPSB0aW1lUmVnZXgoY2hlY2spO1xuICAgICAgICAgICAgICAgIGlmICghcmVnZXgudGVzdChpbnB1dC5kYXRhKSkge1xuICAgICAgICAgICAgICAgICAgICBjdHggPSB0aGlzLl9nZXRPclJldHVybkN0eChpbnB1dCwgY3R4KTtcbiAgICAgICAgICAgICAgICAgICAgYWRkSXNzdWVUb0NvbnRleHQoY3R4LCB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb2RlOiBab2RJc3N1ZUNvZGUuaW52YWxpZF9zdHJpbmcsXG4gICAgICAgICAgICAgICAgICAgICAgICB2YWxpZGF0aW9uOiBcInRpbWVcIixcbiAgICAgICAgICAgICAgICAgICAgICAgIG1lc3NhZ2U6IGNoZWNrLm1lc3NhZ2UsXG4gICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgICAgICBzdGF0dXMuZGlydHkoKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBlbHNlIGlmIChjaGVjay5raW5kID09PSBcImR1cmF0aW9uXCIpIHtcbiAgICAgICAgICAgICAgICBpZiAoIWR1cmF0aW9uUmVnZXgudGVzdChpbnB1dC5kYXRhKSkge1xuICAgICAgICAgICAgICAgICAgICBjdHggPSB0aGlzLl9nZXRPclJldHVybkN0eChpbnB1dCwgY3R4KTtcbiAgICAgICAgICAgICAgICAgICAgYWRkSXNzdWVUb0NvbnRleHQoY3R4LCB7XG4gICAgICAgICAgICAgICAgICAgICAgICB2YWxpZGF0aW9uOiBcImR1cmF0aW9uXCIsXG4gICAgICAgICAgICAgICAgICAgICAgICBjb2RlOiBab2RJc3N1ZUNvZGUuaW52YWxpZF9zdHJpbmcsXG4gICAgICAgICAgICAgICAgICAgICAgICBtZXNzYWdlOiBjaGVjay5tZXNzYWdlLFxuICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICAgICAgc3RhdHVzLmRpcnR5KCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZWxzZSBpZiAoY2hlY2sua2luZCA9PT0gXCJpcFwiKSB7XG4gICAgICAgICAgICAgICAgaWYgKCFpc1ZhbGlkSVAoaW5wdXQuZGF0YSwgY2hlY2sudmVyc2lvbikpIHtcbiAgICAgICAgICAgICAgICAgICAgY3R4ID0gdGhpcy5fZ2V0T3JSZXR1cm5DdHgoaW5wdXQsIGN0eCk7XG4gICAgICAgICAgICAgICAgICAgIGFkZElzc3VlVG9Db250ZXh0KGN0eCwge1xuICAgICAgICAgICAgICAgICAgICAgICAgdmFsaWRhdGlvbjogXCJpcFwiLFxuICAgICAgICAgICAgICAgICAgICAgICAgY29kZTogWm9kSXNzdWVDb2RlLmludmFsaWRfc3RyaW5nLFxuICAgICAgICAgICAgICAgICAgICAgICAgbWVzc2FnZTogY2hlY2subWVzc2FnZSxcbiAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgICAgIHN0YXR1cy5kaXJ0eSgpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGVsc2UgaWYgKGNoZWNrLmtpbmQgPT09IFwiand0XCIpIHtcbiAgICAgICAgICAgICAgICBpZiAoIWlzVmFsaWRKV1QoaW5wdXQuZGF0YSwgY2hlY2suYWxnKSkge1xuICAgICAgICAgICAgICAgICAgICBjdHggPSB0aGlzLl9nZXRPclJldHVybkN0eChpbnB1dCwgY3R4KTtcbiAgICAgICAgICAgICAgICAgICAgYWRkSXNzdWVUb0NvbnRleHQoY3R4LCB7XG4gICAgICAgICAgICAgICAgICAgICAgICB2YWxpZGF0aW9uOiBcImp3dFwiLFxuICAgICAgICAgICAgICAgICAgICAgICAgY29kZTogWm9kSXNzdWVDb2RlLmludmFsaWRfc3RyaW5nLFxuICAgICAgICAgICAgICAgICAgICAgICAgbWVzc2FnZTogY2hlY2subWVzc2FnZSxcbiAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgICAgIHN0YXR1cy5kaXJ0eSgpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGVsc2UgaWYgKGNoZWNrLmtpbmQgPT09IFwiY2lkclwiKSB7XG4gICAgICAgICAgICAgICAgaWYgKCFpc1ZhbGlkQ2lkcihpbnB1dC5kYXRhLCBjaGVjay52ZXJzaW9uKSkge1xuICAgICAgICAgICAgICAgICAgICBjdHggPSB0aGlzLl9nZXRPclJldHVybkN0eChpbnB1dCwgY3R4KTtcbiAgICAgICAgICAgICAgICAgICAgYWRkSXNzdWVUb0NvbnRleHQoY3R4LCB7XG4gICAgICAgICAgICAgICAgICAgICAgICB2YWxpZGF0aW9uOiBcImNpZHJcIixcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvZGU6IFpvZElzc3VlQ29kZS5pbnZhbGlkX3N0cmluZyxcbiAgICAgICAgICAgICAgICAgICAgICAgIG1lc3NhZ2U6IGNoZWNrLm1lc3NhZ2UsXG4gICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgICAgICBzdGF0dXMuZGlydHkoKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBlbHNlIGlmIChjaGVjay5raW5kID09PSBcImJhc2U2NFwiKSB7XG4gICAgICAgICAgICAgICAgaWYgKCFiYXNlNjRSZWdleC50ZXN0KGlucHV0LmRhdGEpKSB7XG4gICAgICAgICAgICAgICAgICAgIGN0eCA9IHRoaXMuX2dldE9yUmV0dXJuQ3R4KGlucHV0LCBjdHgpO1xuICAgICAgICAgICAgICAgICAgICBhZGRJc3N1ZVRvQ29udGV4dChjdHgsIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHZhbGlkYXRpb246IFwiYmFzZTY0XCIsXG4gICAgICAgICAgICAgICAgICAgICAgICBjb2RlOiBab2RJc3N1ZUNvZGUuaW52YWxpZF9zdHJpbmcsXG4gICAgICAgICAgICAgICAgICAgICAgICBtZXNzYWdlOiBjaGVjay5tZXNzYWdlLFxuICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICAgICAgc3RhdHVzLmRpcnR5KCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZWxzZSBpZiAoY2hlY2sua2luZCA9PT0gXCJiYXNlNjR1cmxcIikge1xuICAgICAgICAgICAgICAgIGlmICghYmFzZTY0dXJsUmVnZXgudGVzdChpbnB1dC5kYXRhKSkge1xuICAgICAgICAgICAgICAgICAgICBjdHggPSB0aGlzLl9nZXRPclJldHVybkN0eChpbnB1dCwgY3R4KTtcbiAgICAgICAgICAgICAgICAgICAgYWRkSXNzdWVUb0NvbnRleHQoY3R4LCB7XG4gICAgICAgICAgICAgICAgICAgICAgICB2YWxpZGF0aW9uOiBcImJhc2U2NHVybFwiLFxuICAgICAgICAgICAgICAgICAgICAgICAgY29kZTogWm9kSXNzdWVDb2RlLmludmFsaWRfc3RyaW5nLFxuICAgICAgICAgICAgICAgICAgICAgICAgbWVzc2FnZTogY2hlY2subWVzc2FnZSxcbiAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgICAgIHN0YXR1cy5kaXJ0eSgpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgICAgIHV0aWwuYXNzZXJ0TmV2ZXIoY2hlY2spO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHJldHVybiB7IHN0YXR1czogc3RhdHVzLnZhbHVlLCB2YWx1ZTogaW5wdXQuZGF0YSB9O1xuICAgIH1cbiAgICBfcmVnZXgocmVnZXgsIHZhbGlkYXRpb24sIG1lc3NhZ2UpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMucmVmaW5lbWVudCgoZGF0YSkgPT4gcmVnZXgudGVzdChkYXRhKSwge1xuICAgICAgICAgICAgdmFsaWRhdGlvbixcbiAgICAgICAgICAgIGNvZGU6IFpvZElzc3VlQ29kZS5pbnZhbGlkX3N0cmluZyxcbiAgICAgICAgICAgIC4uLmVycm9yVXRpbC5lcnJUb09iaihtZXNzYWdlKSxcbiAgICAgICAgfSk7XG4gICAgfVxuICAgIF9hZGRDaGVjayhjaGVjaykge1xuICAgICAgICByZXR1cm4gbmV3IFpvZFN0cmluZyh7XG4gICAgICAgICAgICAuLi50aGlzLl9kZWYsXG4gICAgICAgICAgICBjaGVja3M6IFsuLi50aGlzLl9kZWYuY2hlY2tzLCBjaGVja10sXG4gICAgICAgIH0pO1xuICAgIH1cbiAgICBlbWFpbChtZXNzYWdlKSB7XG4gICAgICAgIHJldHVybiB0aGlzLl9hZGRDaGVjayh7IGtpbmQ6IFwiZW1haWxcIiwgLi4uZXJyb3JVdGlsLmVyclRvT2JqKG1lc3NhZ2UpIH0pO1xuICAgIH1cbiAgICB1cmwobWVzc2FnZSkge1xuICAgICAgICByZXR1cm4gdGhpcy5fYWRkQ2hlY2soeyBraW5kOiBcInVybFwiLCAuLi5lcnJvclV0aWwuZXJyVG9PYmoobWVzc2FnZSkgfSk7XG4gICAgfVxuICAgIGVtb2ppKG1lc3NhZ2UpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2FkZENoZWNrKHsga2luZDogXCJlbW9qaVwiLCAuLi5lcnJvclV0aWwuZXJyVG9PYmoobWVzc2FnZSkgfSk7XG4gICAgfVxuICAgIHV1aWQobWVzc2FnZSkge1xuICAgICAgICByZXR1cm4gdGhpcy5fYWRkQ2hlY2soeyBraW5kOiBcInV1aWRcIiwgLi4uZXJyb3JVdGlsLmVyclRvT2JqKG1lc3NhZ2UpIH0pO1xuICAgIH1cbiAgICBuYW5vaWQobWVzc2FnZSkge1xuICAgICAgICByZXR1cm4gdGhpcy5fYWRkQ2hlY2soeyBraW5kOiBcIm5hbm9pZFwiLCAuLi5lcnJvclV0aWwuZXJyVG9PYmoobWVzc2FnZSkgfSk7XG4gICAgfVxuICAgIGN1aWQobWVzc2FnZSkge1xuICAgICAgICByZXR1cm4gdGhpcy5fYWRkQ2hlY2soeyBraW5kOiBcImN1aWRcIiwgLi4uZXJyb3JVdGlsLmVyclRvT2JqKG1lc3NhZ2UpIH0pO1xuICAgIH1cbiAgICBjdWlkMihtZXNzYWdlKSB7XG4gICAgICAgIHJldHVybiB0aGlzLl9hZGRDaGVjayh7IGtpbmQ6IFwiY3VpZDJcIiwgLi4uZXJyb3JVdGlsLmVyclRvT2JqKG1lc3NhZ2UpIH0pO1xuICAgIH1cbiAgICB1bGlkKG1lc3NhZ2UpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2FkZENoZWNrKHsga2luZDogXCJ1bGlkXCIsIC4uLmVycm9yVXRpbC5lcnJUb09iaihtZXNzYWdlKSB9KTtcbiAgICB9XG4gICAgYmFzZTY0KG1lc3NhZ2UpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2FkZENoZWNrKHsga2luZDogXCJiYXNlNjRcIiwgLi4uZXJyb3JVdGlsLmVyclRvT2JqKG1lc3NhZ2UpIH0pO1xuICAgIH1cbiAgICBiYXNlNjR1cmwobWVzc2FnZSkge1xuICAgICAgICAvLyBiYXNlNjR1cmwgZW5jb2RpbmcgaXMgYSBtb2RpZmljYXRpb24gb2YgYmFzZTY0IHRoYXQgY2FuIHNhZmVseSBiZSB1c2VkIGluIFVSTHMgYW5kIGZpbGVuYW1lc1xuICAgICAgICByZXR1cm4gdGhpcy5fYWRkQ2hlY2soe1xuICAgICAgICAgICAga2luZDogXCJiYXNlNjR1cmxcIixcbiAgICAgICAgICAgIC4uLmVycm9yVXRpbC5lcnJUb09iaihtZXNzYWdlKSxcbiAgICAgICAgfSk7XG4gICAgfVxuICAgIGp3dChvcHRpb25zKSB7XG4gICAgICAgIHJldHVybiB0aGlzLl9hZGRDaGVjayh7IGtpbmQ6IFwiand0XCIsIC4uLmVycm9yVXRpbC5lcnJUb09iaihvcHRpb25zKSB9KTtcbiAgICB9XG4gICAgaXAob3B0aW9ucykge1xuICAgICAgICByZXR1cm4gdGhpcy5fYWRkQ2hlY2soeyBraW5kOiBcImlwXCIsIC4uLmVycm9yVXRpbC5lcnJUb09iaihvcHRpb25zKSB9KTtcbiAgICB9XG4gICAgY2lkcihvcHRpb25zKSB7XG4gICAgICAgIHJldHVybiB0aGlzLl9hZGRDaGVjayh7IGtpbmQ6IFwiY2lkclwiLCAuLi5lcnJvclV0aWwuZXJyVG9PYmoob3B0aW9ucykgfSk7XG4gICAgfVxuICAgIGRhdGV0aW1lKG9wdGlvbnMpIHtcbiAgICAgICAgaWYgKHR5cGVvZiBvcHRpb25zID09PSBcInN0cmluZ1wiKSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5fYWRkQ2hlY2soe1xuICAgICAgICAgICAgICAgIGtpbmQ6IFwiZGF0ZXRpbWVcIixcbiAgICAgICAgICAgICAgICBwcmVjaXNpb246IG51bGwsXG4gICAgICAgICAgICAgICAgb2Zmc2V0OiBmYWxzZSxcbiAgICAgICAgICAgICAgICBsb2NhbDogZmFsc2UsXG4gICAgICAgICAgICAgICAgbWVzc2FnZTogb3B0aW9ucyxcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiB0aGlzLl9hZGRDaGVjayh7XG4gICAgICAgICAgICBraW5kOiBcImRhdGV0aW1lXCIsXG4gICAgICAgICAgICBwcmVjaXNpb246IHR5cGVvZiBvcHRpb25zPy5wcmVjaXNpb24gPT09IFwidW5kZWZpbmVkXCIgPyBudWxsIDogb3B0aW9ucz8ucHJlY2lzaW9uLFxuICAgICAgICAgICAgb2Zmc2V0OiBvcHRpb25zPy5vZmZzZXQgPz8gZmFsc2UsXG4gICAgICAgICAgICBsb2NhbDogb3B0aW9ucz8ubG9jYWwgPz8gZmFsc2UsXG4gICAgICAgICAgICAuLi5lcnJvclV0aWwuZXJyVG9PYmoob3B0aW9ucz8ubWVzc2FnZSksXG4gICAgICAgIH0pO1xuICAgIH1cbiAgICBkYXRlKG1lc3NhZ2UpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2FkZENoZWNrKHsga2luZDogXCJkYXRlXCIsIG1lc3NhZ2UgfSk7XG4gICAgfVxuICAgIHRpbWUob3B0aW9ucykge1xuICAgICAgICBpZiAodHlwZW9mIG9wdGlvbnMgPT09IFwic3RyaW5nXCIpIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLl9hZGRDaGVjayh7XG4gICAgICAgICAgICAgICAga2luZDogXCJ0aW1lXCIsXG4gICAgICAgICAgICAgICAgcHJlY2lzaW9uOiBudWxsLFxuICAgICAgICAgICAgICAgIG1lc3NhZ2U6IG9wdGlvbnMsXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gdGhpcy5fYWRkQ2hlY2soe1xuICAgICAgICAgICAga2luZDogXCJ0aW1lXCIsXG4gICAgICAgICAgICBwcmVjaXNpb246IHR5cGVvZiBvcHRpb25zPy5wcmVjaXNpb24gPT09IFwidW5kZWZpbmVkXCIgPyBudWxsIDogb3B0aW9ucz8ucHJlY2lzaW9uLFxuICAgICAgICAgICAgLi4uZXJyb3JVdGlsLmVyclRvT2JqKG9wdGlvbnM/Lm1lc3NhZ2UpLFxuICAgICAgICB9KTtcbiAgICB9XG4gICAgZHVyYXRpb24obWVzc2FnZSkge1xuICAgICAgICByZXR1cm4gdGhpcy5fYWRkQ2hlY2soeyBraW5kOiBcImR1cmF0aW9uXCIsIC4uLmVycm9yVXRpbC5lcnJUb09iaihtZXNzYWdlKSB9KTtcbiAgICB9XG4gICAgcmVnZXgocmVnZXgsIG1lc3NhZ2UpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2FkZENoZWNrKHtcbiAgICAgICAgICAgIGtpbmQ6IFwicmVnZXhcIixcbiAgICAgICAgICAgIHJlZ2V4OiByZWdleCxcbiAgICAgICAgICAgIC4uLmVycm9yVXRpbC5lcnJUb09iaihtZXNzYWdlKSxcbiAgICAgICAgfSk7XG4gICAgfVxuICAgIGluY2x1ZGVzKHZhbHVlLCBvcHRpb25zKSB7XG4gICAgICAgIHJldHVybiB0aGlzLl9hZGRDaGVjayh7XG4gICAgICAgICAgICBraW5kOiBcImluY2x1ZGVzXCIsXG4gICAgICAgICAgICB2YWx1ZTogdmFsdWUsXG4gICAgICAgICAgICBwb3NpdGlvbjogb3B0aW9ucz8ucG9zaXRpb24sXG4gICAgICAgICAgICAuLi5lcnJvclV0aWwuZXJyVG9PYmoob3B0aW9ucz8ubWVzc2FnZSksXG4gICAgICAgIH0pO1xuICAgIH1cbiAgICBzdGFydHNXaXRoKHZhbHVlLCBtZXNzYWdlKSB7XG4gICAgICAgIHJldHVybiB0aGlzLl9hZGRDaGVjayh7XG4gICAgICAgICAgICBraW5kOiBcInN0YXJ0c1dpdGhcIixcbiAgICAgICAgICAgIHZhbHVlOiB2YWx1ZSxcbiAgICAgICAgICAgIC4uLmVycm9yVXRpbC5lcnJUb09iaihtZXNzYWdlKSxcbiAgICAgICAgfSk7XG4gICAgfVxuICAgIGVuZHNXaXRoKHZhbHVlLCBtZXNzYWdlKSB7XG4gICAgICAgIHJldHVybiB0aGlzLl9hZGRDaGVjayh7XG4gICAgICAgICAgICBraW5kOiBcImVuZHNXaXRoXCIsXG4gICAgICAgICAgICB2YWx1ZTogdmFsdWUsXG4gICAgICAgICAgICAuLi5lcnJvclV0aWwuZXJyVG9PYmoobWVzc2FnZSksXG4gICAgICAgIH0pO1xuICAgIH1cbiAgICBtaW4obWluTGVuZ3RoLCBtZXNzYWdlKSB7XG4gICAgICAgIHJldHVybiB0aGlzLl9hZGRDaGVjayh7XG4gICAgICAgICAgICBraW5kOiBcIm1pblwiLFxuICAgICAgICAgICAgdmFsdWU6IG1pbkxlbmd0aCxcbiAgICAgICAgICAgIC4uLmVycm9yVXRpbC5lcnJUb09iaihtZXNzYWdlKSxcbiAgICAgICAgfSk7XG4gICAgfVxuICAgIG1heChtYXhMZW5ndGgsIG1lc3NhZ2UpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2FkZENoZWNrKHtcbiAgICAgICAgICAgIGtpbmQ6IFwibWF4XCIsXG4gICAgICAgICAgICB2YWx1ZTogbWF4TGVuZ3RoLFxuICAgICAgICAgICAgLi4uZXJyb3JVdGlsLmVyclRvT2JqKG1lc3NhZ2UpLFxuICAgICAgICB9KTtcbiAgICB9XG4gICAgbGVuZ3RoKGxlbiwgbWVzc2FnZSkge1xuICAgICAgICByZXR1cm4gdGhpcy5fYWRkQ2hlY2soe1xuICAgICAgICAgICAga2luZDogXCJsZW5ndGhcIixcbiAgICAgICAgICAgIHZhbHVlOiBsZW4sXG4gICAgICAgICAgICAuLi5lcnJvclV0aWwuZXJyVG9PYmoobWVzc2FnZSksXG4gICAgICAgIH0pO1xuICAgIH1cbiAgICAvKipcbiAgICAgKiBFcXVpdmFsZW50IHRvIGAubWluKDEpYFxuICAgICAqL1xuICAgIG5vbmVtcHR5KG1lc3NhZ2UpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMubWluKDEsIGVycm9yVXRpbC5lcnJUb09iaihtZXNzYWdlKSk7XG4gICAgfVxuICAgIHRyaW0oKSB7XG4gICAgICAgIHJldHVybiBuZXcgWm9kU3RyaW5nKHtcbiAgICAgICAgICAgIC4uLnRoaXMuX2RlZixcbiAgICAgICAgICAgIGNoZWNrczogWy4uLnRoaXMuX2RlZi5jaGVja3MsIHsga2luZDogXCJ0cmltXCIgfV0sXG4gICAgICAgIH0pO1xuICAgIH1cbiAgICB0b0xvd2VyQ2FzZSgpIHtcbiAgICAgICAgcmV0dXJuIG5ldyBab2RTdHJpbmcoe1xuICAgICAgICAgICAgLi4udGhpcy5fZGVmLFxuICAgICAgICAgICAgY2hlY2tzOiBbLi4udGhpcy5fZGVmLmNoZWNrcywgeyBraW5kOiBcInRvTG93ZXJDYXNlXCIgfV0sXG4gICAgICAgIH0pO1xuICAgIH1cbiAgICB0b1VwcGVyQ2FzZSgpIHtcbiAgICAgICAgcmV0dXJuIG5ldyBab2RTdHJpbmcoe1xuICAgICAgICAgICAgLi4udGhpcy5fZGVmLFxuICAgICAgICAgICAgY2hlY2tzOiBbLi4udGhpcy5fZGVmLmNoZWNrcywgeyBraW5kOiBcInRvVXBwZXJDYXNlXCIgfV0sXG4gICAgICAgIH0pO1xuICAgIH1cbiAgICBnZXQgaXNEYXRldGltZSgpIHtcbiAgICAgICAgcmV0dXJuICEhdGhpcy5fZGVmLmNoZWNrcy5maW5kKChjaCkgPT4gY2gua2luZCA9PT0gXCJkYXRldGltZVwiKTtcbiAgICB9XG4gICAgZ2V0IGlzRGF0ZSgpIHtcbiAgICAgICAgcmV0dXJuICEhdGhpcy5fZGVmLmNoZWNrcy5maW5kKChjaCkgPT4gY2gua2luZCA9PT0gXCJkYXRlXCIpO1xuICAgIH1cbiAgICBnZXQgaXNUaW1lKCkge1xuICAgICAgICByZXR1cm4gISF0aGlzLl9kZWYuY2hlY2tzLmZpbmQoKGNoKSA9PiBjaC5raW5kID09PSBcInRpbWVcIik7XG4gICAgfVxuICAgIGdldCBpc0R1cmF0aW9uKCkge1xuICAgICAgICByZXR1cm4gISF0aGlzLl9kZWYuY2hlY2tzLmZpbmQoKGNoKSA9PiBjaC5raW5kID09PSBcImR1cmF0aW9uXCIpO1xuICAgIH1cbiAgICBnZXQgaXNFbWFpbCgpIHtcbiAgICAgICAgcmV0dXJuICEhdGhpcy5fZGVmLmNoZWNrcy5maW5kKChjaCkgPT4gY2gua2luZCA9PT0gXCJlbWFpbFwiKTtcbiAgICB9XG4gICAgZ2V0IGlzVVJMKCkge1xuICAgICAgICByZXR1cm4gISF0aGlzLl9kZWYuY2hlY2tzLmZpbmQoKGNoKSA9PiBjaC5raW5kID09PSBcInVybFwiKTtcbiAgICB9XG4gICAgZ2V0IGlzRW1vamkoKSB7XG4gICAgICAgIHJldHVybiAhIXRoaXMuX2RlZi5jaGVja3MuZmluZCgoY2gpID0+IGNoLmtpbmQgPT09IFwiZW1vamlcIik7XG4gICAgfVxuICAgIGdldCBpc1VVSUQoKSB7XG4gICAgICAgIHJldHVybiAhIXRoaXMuX2RlZi5jaGVja3MuZmluZCgoY2gpID0+IGNoLmtpbmQgPT09IFwidXVpZFwiKTtcbiAgICB9XG4gICAgZ2V0IGlzTkFOT0lEKCkge1xuICAgICAgICByZXR1cm4gISF0aGlzLl9kZWYuY2hlY2tzLmZpbmQoKGNoKSA9PiBjaC5raW5kID09PSBcIm5hbm9pZFwiKTtcbiAgICB9XG4gICAgZ2V0IGlzQ1VJRCgpIHtcbiAgICAgICAgcmV0dXJuICEhdGhpcy5fZGVmLmNoZWNrcy5maW5kKChjaCkgPT4gY2gua2luZCA9PT0gXCJjdWlkXCIpO1xuICAgIH1cbiAgICBnZXQgaXNDVUlEMigpIHtcbiAgICAgICAgcmV0dXJuICEhdGhpcy5fZGVmLmNoZWNrcy5maW5kKChjaCkgPT4gY2gua2luZCA9PT0gXCJjdWlkMlwiKTtcbiAgICB9XG4gICAgZ2V0IGlzVUxJRCgpIHtcbiAgICAgICAgcmV0dXJuICEhdGhpcy5fZGVmLmNoZWNrcy5maW5kKChjaCkgPT4gY2gua2luZCA9PT0gXCJ1bGlkXCIpO1xuICAgIH1cbiAgICBnZXQgaXNJUCgpIHtcbiAgICAgICAgcmV0dXJuICEhdGhpcy5fZGVmLmNoZWNrcy5maW5kKChjaCkgPT4gY2gua2luZCA9PT0gXCJpcFwiKTtcbiAgICB9XG4gICAgZ2V0IGlzQ0lEUigpIHtcbiAgICAgICAgcmV0dXJuICEhdGhpcy5fZGVmLmNoZWNrcy5maW5kKChjaCkgPT4gY2gua2luZCA9PT0gXCJjaWRyXCIpO1xuICAgIH1cbiAgICBnZXQgaXNCYXNlNjQoKSB7XG4gICAgICAgIHJldHVybiAhIXRoaXMuX2RlZi5jaGVja3MuZmluZCgoY2gpID0+IGNoLmtpbmQgPT09IFwiYmFzZTY0XCIpO1xuICAgIH1cbiAgICBnZXQgaXNCYXNlNjR1cmwoKSB7XG4gICAgICAgIC8vIGJhc2U2NHVybCBlbmNvZGluZyBpcyBhIG1vZGlmaWNhdGlvbiBvZiBiYXNlNjQgdGhhdCBjYW4gc2FmZWx5IGJlIHVzZWQgaW4gVVJMcyBhbmQgZmlsZW5hbWVzXG4gICAgICAgIHJldHVybiAhIXRoaXMuX2RlZi5jaGVja3MuZmluZCgoY2gpID0+IGNoLmtpbmQgPT09IFwiYmFzZTY0dXJsXCIpO1xuICAgIH1cbiAgICBnZXQgbWluTGVuZ3RoKCkge1xuICAgICAgICBsZXQgbWluID0gbnVsbDtcbiAgICAgICAgZm9yIChjb25zdCBjaCBvZiB0aGlzLl9kZWYuY2hlY2tzKSB7XG4gICAgICAgICAgICBpZiAoY2gua2luZCA9PT0gXCJtaW5cIikge1xuICAgICAgICAgICAgICAgIGlmIChtaW4gPT09IG51bGwgfHwgY2gudmFsdWUgPiBtaW4pXG4gICAgICAgICAgICAgICAgICAgIG1pbiA9IGNoLnZhbHVlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHJldHVybiBtaW47XG4gICAgfVxuICAgIGdldCBtYXhMZW5ndGgoKSB7XG4gICAgICAgIGxldCBtYXggPSBudWxsO1xuICAgICAgICBmb3IgKGNvbnN0IGNoIG9mIHRoaXMuX2RlZi5jaGVja3MpIHtcbiAgICAgICAgICAgIGlmIChjaC5raW5kID09PSBcIm1heFwiKSB7XG4gICAgICAgICAgICAgICAgaWYgKG1heCA9PT0gbnVsbCB8fCBjaC52YWx1ZSA8IG1heClcbiAgICAgICAgICAgICAgICAgICAgbWF4ID0gY2gudmFsdWU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIG1heDtcbiAgICB9XG59XG5ab2RTdHJpbmcuY3JlYXRlID0gKHBhcmFtcykgPT4ge1xuICAgIHJldHVybiBuZXcgWm9kU3RyaW5nKHtcbiAgICAgICAgY2hlY2tzOiBbXSxcbiAgICAgICAgdHlwZU5hbWU6IFpvZEZpcnN0UGFydHlUeXBlS2luZC5ab2RTdHJpbmcsXG4gICAgICAgIGNvZXJjZTogcGFyYW1zPy5jb2VyY2UgPz8gZmFsc2UsXG4gICAgICAgIC4uLnByb2Nlc3NDcmVhdGVQYXJhbXMocGFyYW1zKSxcbiAgICB9KTtcbn07XG4vLyBodHRwczovL3N0YWNrb3ZlcmZsb3cuY29tL3F1ZXN0aW9ucy8zOTY2NDg0L3doeS1kb2VzLW1vZHVsdXMtb3BlcmF0b3ItcmV0dXJuLWZyYWN0aW9uYWwtbnVtYmVyLWluLWphdmFzY3JpcHQvMzE3MTEwMzQjMzE3MTEwMzRcbmZ1bmN0aW9uIGZsb2F0U2FmZVJlbWFpbmRlcih2YWwsIHN0ZXApIHtcbiAgICBjb25zdCB2YWxEZWNDb3VudCA9ICh2YWwudG9TdHJpbmcoKS5zcGxpdChcIi5cIilbMV0gfHwgXCJcIikubGVuZ3RoO1xuICAgIGNvbnN0IHN0ZXBEZWNDb3VudCA9IChzdGVwLnRvU3RyaW5nKCkuc3BsaXQoXCIuXCIpWzFdIHx8IFwiXCIpLmxlbmd0aDtcbiAgICBjb25zdCBkZWNDb3VudCA9IHZhbERlY0NvdW50ID4gc3RlcERlY0NvdW50ID8gdmFsRGVjQ291bnQgOiBzdGVwRGVjQ291bnQ7XG4gICAgY29uc3QgdmFsSW50ID0gTnVtYmVyLnBhcnNlSW50KHZhbC50b0ZpeGVkKGRlY0NvdW50KS5yZXBsYWNlKFwiLlwiLCBcIlwiKSk7XG4gICAgY29uc3Qgc3RlcEludCA9IE51bWJlci5wYXJzZUludChzdGVwLnRvRml4ZWQoZGVjQ291bnQpLnJlcGxhY2UoXCIuXCIsIFwiXCIpKTtcbiAgICByZXR1cm4gKHZhbEludCAlIHN0ZXBJbnQpIC8gMTAgKiogZGVjQ291bnQ7XG59XG5leHBvcnQgY2xhc3MgWm9kTnVtYmVyIGV4dGVuZHMgWm9kVHlwZSB7XG4gICAgY29uc3RydWN0b3IoKSB7XG4gICAgICAgIHN1cGVyKC4uLmFyZ3VtZW50cyk7XG4gICAgICAgIHRoaXMubWluID0gdGhpcy5ndGU7XG4gICAgICAgIHRoaXMubWF4ID0gdGhpcy5sdGU7XG4gICAgICAgIHRoaXMuc3RlcCA9IHRoaXMubXVsdGlwbGVPZjtcbiAgICB9XG4gICAgX3BhcnNlKGlucHV0KSB7XG4gICAgICAgIGlmICh0aGlzLl9kZWYuY29lcmNlKSB7XG4gICAgICAgICAgICBpbnB1dC5kYXRhID0gTnVtYmVyKGlucHV0LmRhdGEpO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IHBhcnNlZFR5cGUgPSB0aGlzLl9nZXRUeXBlKGlucHV0KTtcbiAgICAgICAgaWYgKHBhcnNlZFR5cGUgIT09IFpvZFBhcnNlZFR5cGUubnVtYmVyKSB7XG4gICAgICAgICAgICBjb25zdCBjdHggPSB0aGlzLl9nZXRPclJldHVybkN0eChpbnB1dCk7XG4gICAgICAgICAgICBhZGRJc3N1ZVRvQ29udGV4dChjdHgsIHtcbiAgICAgICAgICAgICAgICBjb2RlOiBab2RJc3N1ZUNvZGUuaW52YWxpZF90eXBlLFxuICAgICAgICAgICAgICAgIGV4cGVjdGVkOiBab2RQYXJzZWRUeXBlLm51bWJlcixcbiAgICAgICAgICAgICAgICByZWNlaXZlZDogY3R4LnBhcnNlZFR5cGUsXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIHJldHVybiBJTlZBTElEO1xuICAgICAgICB9XG4gICAgICAgIGxldCBjdHggPSB1bmRlZmluZWQ7XG4gICAgICAgIGNvbnN0IHN0YXR1cyA9IG5ldyBQYXJzZVN0YXR1cygpO1xuICAgICAgICBmb3IgKGNvbnN0IGNoZWNrIG9mIHRoaXMuX2RlZi5jaGVja3MpIHtcbiAgICAgICAgICAgIGlmIChjaGVjay5raW5kID09PSBcImludFwiKSB7XG4gICAgICAgICAgICAgICAgaWYgKCF1dGlsLmlzSW50ZWdlcihpbnB1dC5kYXRhKSkge1xuICAgICAgICAgICAgICAgICAgICBjdHggPSB0aGlzLl9nZXRPclJldHVybkN0eChpbnB1dCwgY3R4KTtcbiAgICAgICAgICAgICAgICAgICAgYWRkSXNzdWVUb0NvbnRleHQoY3R4LCB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb2RlOiBab2RJc3N1ZUNvZGUuaW52YWxpZF90eXBlLFxuICAgICAgICAgICAgICAgICAgICAgICAgZXhwZWN0ZWQ6IFwiaW50ZWdlclwiLFxuICAgICAgICAgICAgICAgICAgICAgICAgcmVjZWl2ZWQ6IFwiZmxvYXRcIixcbiAgICAgICAgICAgICAgICAgICAgICAgIG1lc3NhZ2U6IGNoZWNrLm1lc3NhZ2UsXG4gICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgICAgICBzdGF0dXMuZGlydHkoKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBlbHNlIGlmIChjaGVjay5raW5kID09PSBcIm1pblwiKSB7XG4gICAgICAgICAgICAgICAgY29uc3QgdG9vU21hbGwgPSBjaGVjay5pbmNsdXNpdmUgPyBpbnB1dC5kYXRhIDwgY2hlY2sudmFsdWUgOiBpbnB1dC5kYXRhIDw9IGNoZWNrLnZhbHVlO1xuICAgICAgICAgICAgICAgIGlmICh0b29TbWFsbCkge1xuICAgICAgICAgICAgICAgICAgICBjdHggPSB0aGlzLl9nZXRPclJldHVybkN0eChpbnB1dCwgY3R4KTtcbiAgICAgICAgICAgICAgICAgICAgYWRkSXNzdWVUb0NvbnRleHQoY3R4LCB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb2RlOiBab2RJc3N1ZUNvZGUudG9vX3NtYWxsLFxuICAgICAgICAgICAgICAgICAgICAgICAgbWluaW11bTogY2hlY2sudmFsdWUsXG4gICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBcIm51bWJlclwiLFxuICAgICAgICAgICAgICAgICAgICAgICAgaW5jbHVzaXZlOiBjaGVjay5pbmNsdXNpdmUsXG4gICAgICAgICAgICAgICAgICAgICAgICBleGFjdDogZmFsc2UsXG4gICAgICAgICAgICAgICAgICAgICAgICBtZXNzYWdlOiBjaGVjay5tZXNzYWdlLFxuICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICAgICAgc3RhdHVzLmRpcnR5KCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZWxzZSBpZiAoY2hlY2sua2luZCA9PT0gXCJtYXhcIikge1xuICAgICAgICAgICAgICAgIGNvbnN0IHRvb0JpZyA9IGNoZWNrLmluY2x1c2l2ZSA/IGlucHV0LmRhdGEgPiBjaGVjay52YWx1ZSA6IGlucHV0LmRhdGEgPj0gY2hlY2sudmFsdWU7XG4gICAgICAgICAgICAgICAgaWYgKHRvb0JpZykge1xuICAgICAgICAgICAgICAgICAgICBjdHggPSB0aGlzLl9nZXRPclJldHVybkN0eChpbnB1dCwgY3R4KTtcbiAgICAgICAgICAgICAgICAgICAgYWRkSXNzdWVUb0NvbnRleHQoY3R4LCB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb2RlOiBab2RJc3N1ZUNvZGUudG9vX2JpZyxcbiAgICAgICAgICAgICAgICAgICAgICAgIG1heGltdW06IGNoZWNrLnZhbHVlLFxuICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogXCJudW1iZXJcIixcbiAgICAgICAgICAgICAgICAgICAgICAgIGluY2x1c2l2ZTogY2hlY2suaW5jbHVzaXZlLFxuICAgICAgICAgICAgICAgICAgICAgICAgZXhhY3Q6IGZhbHNlLFxuICAgICAgICAgICAgICAgICAgICAgICAgbWVzc2FnZTogY2hlY2subWVzc2FnZSxcbiAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgICAgIHN0YXR1cy5kaXJ0eSgpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGVsc2UgaWYgKGNoZWNrLmtpbmQgPT09IFwibXVsdGlwbGVPZlwiKSB7XG4gICAgICAgICAgICAgICAgaWYgKGZsb2F0U2FmZVJlbWFpbmRlcihpbnB1dC5kYXRhLCBjaGVjay52YWx1ZSkgIT09IDApIHtcbiAgICAgICAgICAgICAgICAgICAgY3R4ID0gdGhpcy5fZ2V0T3JSZXR1cm5DdHgoaW5wdXQsIGN0eCk7XG4gICAgICAgICAgICAgICAgICAgIGFkZElzc3VlVG9Db250ZXh0KGN0eCwge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29kZTogWm9kSXNzdWVDb2RlLm5vdF9tdWx0aXBsZV9vZixcbiAgICAgICAgICAgICAgICAgICAgICAgIG11bHRpcGxlT2Y6IGNoZWNrLnZhbHVlLFxuICAgICAgICAgICAgICAgICAgICAgICAgbWVzc2FnZTogY2hlY2subWVzc2FnZSxcbiAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgICAgIHN0YXR1cy5kaXJ0eSgpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGVsc2UgaWYgKGNoZWNrLmtpbmQgPT09IFwiZmluaXRlXCIpIHtcbiAgICAgICAgICAgICAgICBpZiAoIU51bWJlci5pc0Zpbml0ZShpbnB1dC5kYXRhKSkge1xuICAgICAgICAgICAgICAgICAgICBjdHggPSB0aGlzLl9nZXRPclJldHVybkN0eChpbnB1dCwgY3R4KTtcbiAgICAgICAgICAgICAgICAgICAgYWRkSXNzdWVUb0NvbnRleHQoY3R4LCB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb2RlOiBab2RJc3N1ZUNvZGUubm90X2Zpbml0ZSxcbiAgICAgICAgICAgICAgICAgICAgICAgIG1lc3NhZ2U6IGNoZWNrLm1lc3NhZ2UsXG4gICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgICAgICBzdGF0dXMuZGlydHkoKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgICAgICB1dGlsLmFzc2VydE5ldmVyKGNoZWNrKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICByZXR1cm4geyBzdGF0dXM6IHN0YXR1cy52YWx1ZSwgdmFsdWU6IGlucHV0LmRhdGEgfTtcbiAgICB9XG4gICAgZ3RlKHZhbHVlLCBtZXNzYWdlKSB7XG4gICAgICAgIHJldHVybiB0aGlzLnNldExpbWl0KFwibWluXCIsIHZhbHVlLCB0cnVlLCBlcnJvclV0aWwudG9TdHJpbmcobWVzc2FnZSkpO1xuICAgIH1cbiAgICBndCh2YWx1ZSwgbWVzc2FnZSkge1xuICAgICAgICByZXR1cm4gdGhpcy5zZXRMaW1pdChcIm1pblwiLCB2YWx1ZSwgZmFsc2UsIGVycm9yVXRpbC50b1N0cmluZyhtZXNzYWdlKSk7XG4gICAgfVxuICAgIGx0ZSh2YWx1ZSwgbWVzc2FnZSkge1xuICAgICAgICByZXR1cm4gdGhpcy5zZXRMaW1pdChcIm1heFwiLCB2YWx1ZSwgdHJ1ZSwgZXJyb3JVdGlsLnRvU3RyaW5nKG1lc3NhZ2UpKTtcbiAgICB9XG4gICAgbHQodmFsdWUsIG1lc3NhZ2UpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuc2V0TGltaXQoXCJtYXhcIiwgdmFsdWUsIGZhbHNlLCBlcnJvclV0aWwudG9TdHJpbmcobWVzc2FnZSkpO1xuICAgIH1cbiAgICBzZXRMaW1pdChraW5kLCB2YWx1ZSwgaW5jbHVzaXZlLCBtZXNzYWdlKSB7XG4gICAgICAgIHJldHVybiBuZXcgWm9kTnVtYmVyKHtcbiAgICAgICAgICAgIC4uLnRoaXMuX2RlZixcbiAgICAgICAgICAgIGNoZWNrczogW1xuICAgICAgICAgICAgICAgIC4uLnRoaXMuX2RlZi5jaGVja3MsXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBraW5kLFxuICAgICAgICAgICAgICAgICAgICB2YWx1ZSxcbiAgICAgICAgICAgICAgICAgICAgaW5jbHVzaXZlLFxuICAgICAgICAgICAgICAgICAgICBtZXNzYWdlOiBlcnJvclV0aWwudG9TdHJpbmcobWVzc2FnZSksXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIF0sXG4gICAgICAgIH0pO1xuICAgIH1cbiAgICBfYWRkQ2hlY2soY2hlY2spIHtcbiAgICAgICAgcmV0dXJuIG5ldyBab2ROdW1iZXIoe1xuICAgICAgICAgICAgLi4udGhpcy5fZGVmLFxuICAgICAgICAgICAgY2hlY2tzOiBbLi4udGhpcy5fZGVmLmNoZWNrcywgY2hlY2tdLFxuICAgICAgICB9KTtcbiAgICB9XG4gICAgaW50KG1lc3NhZ2UpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2FkZENoZWNrKHtcbiAgICAgICAgICAgIGtpbmQ6IFwiaW50XCIsXG4gICAgICAgICAgICBtZXNzYWdlOiBlcnJvclV0aWwudG9TdHJpbmcobWVzc2FnZSksXG4gICAgICAgIH0pO1xuICAgIH1cbiAgICBwb3NpdGl2ZShtZXNzYWdlKSB7XG4gICAgICAgIHJldHVybiB0aGlzLl9hZGRDaGVjayh7XG4gICAgICAgICAgICBraW5kOiBcIm1pblwiLFxuICAgICAgICAgICAgdmFsdWU6IDAsXG4gICAgICAgICAgICBpbmNsdXNpdmU6IGZhbHNlLFxuICAgICAgICAgICAgbWVzc2FnZTogZXJyb3JVdGlsLnRvU3RyaW5nKG1lc3NhZ2UpLFxuICAgICAgICB9KTtcbiAgICB9XG4gICAgbmVnYXRpdmUobWVzc2FnZSkge1xuICAgICAgICByZXR1cm4gdGhpcy5fYWRkQ2hlY2soe1xuICAgICAgICAgICAga2luZDogXCJtYXhcIixcbiAgICAgICAgICAgIHZhbHVlOiAwLFxuICAgICAgICAgICAgaW5jbHVzaXZlOiBmYWxzZSxcbiAgICAgICAgICAgIG1lc3NhZ2U6IGVycm9yVXRpbC50b1N0cmluZyhtZXNzYWdlKSxcbiAgICAgICAgfSk7XG4gICAgfVxuICAgIG5vbnBvc2l0aXZlKG1lc3NhZ2UpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2FkZENoZWNrKHtcbiAgICAgICAgICAgIGtpbmQ6IFwibWF4XCIsXG4gICAgICAgICAgICB2YWx1ZTogMCxcbiAgICAgICAgICAgIGluY2x1c2l2ZTogdHJ1ZSxcbiAgICAgICAgICAgIG1lc3NhZ2U6IGVycm9yVXRpbC50b1N0cmluZyhtZXNzYWdlKSxcbiAgICAgICAgfSk7XG4gICAgfVxuICAgIG5vbm5lZ2F0aXZlKG1lc3NhZ2UpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2FkZENoZWNrKHtcbiAgICAgICAgICAgIGtpbmQ6IFwibWluXCIsXG4gICAgICAgICAgICB2YWx1ZTogMCxcbiAgICAgICAgICAgIGluY2x1c2l2ZTogdHJ1ZSxcbiAgICAgICAgICAgIG1lc3NhZ2U6IGVycm9yVXRpbC50b1N0cmluZyhtZXNzYWdlKSxcbiAgICAgICAgfSk7XG4gICAgfVxuICAgIG11bHRpcGxlT2YodmFsdWUsIG1lc3NhZ2UpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2FkZENoZWNrKHtcbiAgICAgICAgICAgIGtpbmQ6IFwibXVsdGlwbGVPZlwiLFxuICAgICAgICAgICAgdmFsdWU6IHZhbHVlLFxuICAgICAgICAgICAgbWVzc2FnZTogZXJyb3JVdGlsLnRvU3RyaW5nKG1lc3NhZ2UpLFxuICAgICAgICB9KTtcbiAgICB9XG4gICAgZmluaXRlKG1lc3NhZ2UpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2FkZENoZWNrKHtcbiAgICAgICAgICAgIGtpbmQ6IFwiZmluaXRlXCIsXG4gICAgICAgICAgICBtZXNzYWdlOiBlcnJvclV0aWwudG9TdHJpbmcobWVzc2FnZSksXG4gICAgICAgIH0pO1xuICAgIH1cbiAgICBzYWZlKG1lc3NhZ2UpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2FkZENoZWNrKHtcbiAgICAgICAgICAgIGtpbmQ6IFwibWluXCIsXG4gICAgICAgICAgICBpbmNsdXNpdmU6IHRydWUsXG4gICAgICAgICAgICB2YWx1ZTogTnVtYmVyLk1JTl9TQUZFX0lOVEVHRVIsXG4gICAgICAgICAgICBtZXNzYWdlOiBlcnJvclV0aWwudG9TdHJpbmcobWVzc2FnZSksXG4gICAgICAgIH0pLl9hZGRDaGVjayh7XG4gICAgICAgICAgICBraW5kOiBcIm1heFwiLFxuICAgICAgICAgICAgaW5jbHVzaXZlOiB0cnVlLFxuICAgICAgICAgICAgdmFsdWU6IE51bWJlci5NQVhfU0FGRV9JTlRFR0VSLFxuICAgICAgICAgICAgbWVzc2FnZTogZXJyb3JVdGlsLnRvU3RyaW5nKG1lc3NhZ2UpLFxuICAgICAgICB9KTtcbiAgICB9XG4gICAgZ2V0IG1pblZhbHVlKCkge1xuICAgICAgICBsZXQgbWluID0gbnVsbDtcbiAgICAgICAgZm9yIChjb25zdCBjaCBvZiB0aGlzLl9kZWYuY2hlY2tzKSB7XG4gICAgICAgICAgICBpZiAoY2gua2luZCA9PT0gXCJtaW5cIikge1xuICAgICAgICAgICAgICAgIGlmIChtaW4gPT09IG51bGwgfHwgY2gudmFsdWUgPiBtaW4pXG4gICAgICAgICAgICAgICAgICAgIG1pbiA9IGNoLnZhbHVlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHJldHVybiBtaW47XG4gICAgfVxuICAgIGdldCBtYXhWYWx1ZSgpIHtcbiAgICAgICAgbGV0IG1heCA9IG51bGw7XG4gICAgICAgIGZvciAoY29uc3QgY2ggb2YgdGhpcy5fZGVmLmNoZWNrcykge1xuICAgICAgICAgICAgaWYgKGNoLmtpbmQgPT09IFwibWF4XCIpIHtcbiAgICAgICAgICAgICAgICBpZiAobWF4ID09PSBudWxsIHx8IGNoLnZhbHVlIDwgbWF4KVxuICAgICAgICAgICAgICAgICAgICBtYXggPSBjaC52YWx1ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gbWF4O1xuICAgIH1cbiAgICBnZXQgaXNJbnQoKSB7XG4gICAgICAgIHJldHVybiAhIXRoaXMuX2RlZi5jaGVja3MuZmluZCgoY2gpID0+IGNoLmtpbmQgPT09IFwiaW50XCIgfHwgKGNoLmtpbmQgPT09IFwibXVsdGlwbGVPZlwiICYmIHV0aWwuaXNJbnRlZ2VyKGNoLnZhbHVlKSkpO1xuICAgIH1cbiAgICBnZXQgaXNGaW5pdGUoKSB7XG4gICAgICAgIGxldCBtYXggPSBudWxsO1xuICAgICAgICBsZXQgbWluID0gbnVsbDtcbiAgICAgICAgZm9yIChjb25zdCBjaCBvZiB0aGlzLl9kZWYuY2hlY2tzKSB7XG4gICAgICAgICAgICBpZiAoY2gua2luZCA9PT0gXCJmaW5pdGVcIiB8fCBjaC5raW5kID09PSBcImludFwiIHx8IGNoLmtpbmQgPT09IFwibXVsdGlwbGVPZlwiKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBlbHNlIGlmIChjaC5raW5kID09PSBcIm1pblwiKSB7XG4gICAgICAgICAgICAgICAgaWYgKG1pbiA9PT0gbnVsbCB8fCBjaC52YWx1ZSA+IG1pbilcbiAgICAgICAgICAgICAgICAgICAgbWluID0gY2gudmFsdWU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBlbHNlIGlmIChjaC5raW5kID09PSBcIm1heFwiKSB7XG4gICAgICAgICAgICAgICAgaWYgKG1heCA9PT0gbnVsbCB8fCBjaC52YWx1ZSA8IG1heClcbiAgICAgICAgICAgICAgICAgICAgbWF4ID0gY2gudmFsdWU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIE51bWJlci5pc0Zpbml0ZShtaW4pICYmIE51bWJlci5pc0Zpbml0ZShtYXgpO1xuICAgIH1cbn1cblpvZE51bWJlci5jcmVhdGUgPSAocGFyYW1zKSA9PiB7XG4gICAgcmV0dXJuIG5ldyBab2ROdW1iZXIoe1xuICAgICAgICBjaGVja3M6IFtdLFxuICAgICAgICB0eXBlTmFtZTogWm9kRmlyc3RQYXJ0eVR5cGVLaW5kLlpvZE51bWJlcixcbiAgICAgICAgY29lcmNlOiBwYXJhbXM/LmNvZXJjZSB8fCBmYWxzZSxcbiAgICAgICAgLi4ucHJvY2Vzc0NyZWF0ZVBhcmFtcyhwYXJhbXMpLFxuICAgIH0pO1xufTtcbmV4cG9ydCBjbGFzcyBab2RCaWdJbnQgZXh0ZW5kcyBab2RUeXBlIHtcbiAgICBjb25zdHJ1Y3RvcigpIHtcbiAgICAgICAgc3VwZXIoLi4uYXJndW1lbnRzKTtcbiAgICAgICAgdGhpcy5taW4gPSB0aGlzLmd0ZTtcbiAgICAgICAgdGhpcy5tYXggPSB0aGlzLmx0ZTtcbiAgICB9XG4gICAgX3BhcnNlKGlucHV0KSB7XG4gICAgICAgIGlmICh0aGlzLl9kZWYuY29lcmNlKSB7XG4gICAgICAgICAgICB0cnkge1xuICAgICAgICAgICAgICAgIGlucHV0LmRhdGEgPSBCaWdJbnQoaW5wdXQuZGF0YSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBjYXRjaCB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuX2dldEludmFsaWRJbnB1dChpbnB1dCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgcGFyc2VkVHlwZSA9IHRoaXMuX2dldFR5cGUoaW5wdXQpO1xuICAgICAgICBpZiAocGFyc2VkVHlwZSAhPT0gWm9kUGFyc2VkVHlwZS5iaWdpbnQpIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLl9nZXRJbnZhbGlkSW5wdXQoaW5wdXQpO1xuICAgICAgICB9XG4gICAgICAgIGxldCBjdHggPSB1bmRlZmluZWQ7XG4gICAgICAgIGNvbnN0IHN0YXR1cyA9IG5ldyBQYXJzZVN0YXR1cygpO1xuICAgICAgICBmb3IgKGNvbnN0IGNoZWNrIG9mIHRoaXMuX2RlZi5jaGVja3MpIHtcbiAgICAgICAgICAgIGlmIChjaGVjay5raW5kID09PSBcIm1pblwiKSB7XG4gICAgICAgICAgICAgICAgY29uc3QgdG9vU21hbGwgPSBjaGVjay5pbmNsdXNpdmUgPyBpbnB1dC5kYXRhIDwgY2hlY2sudmFsdWUgOiBpbnB1dC5kYXRhIDw9IGNoZWNrLnZhbHVlO1xuICAgICAgICAgICAgICAgIGlmICh0b29TbWFsbCkge1xuICAgICAgICAgICAgICAgICAgICBjdHggPSB0aGlzLl9nZXRPclJldHVybkN0eChpbnB1dCwgY3R4KTtcbiAgICAgICAgICAgICAgICAgICAgYWRkSXNzdWVUb0NvbnRleHQoY3R4LCB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb2RlOiBab2RJc3N1ZUNvZGUudG9vX3NtYWxsLFxuICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogXCJiaWdpbnRcIixcbiAgICAgICAgICAgICAgICAgICAgICAgIG1pbmltdW06IGNoZWNrLnZhbHVlLFxuICAgICAgICAgICAgICAgICAgICAgICAgaW5jbHVzaXZlOiBjaGVjay5pbmNsdXNpdmUsXG4gICAgICAgICAgICAgICAgICAgICAgICBtZXNzYWdlOiBjaGVjay5tZXNzYWdlLFxuICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICAgICAgc3RhdHVzLmRpcnR5KCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZWxzZSBpZiAoY2hlY2sua2luZCA9PT0gXCJtYXhcIikge1xuICAgICAgICAgICAgICAgIGNvbnN0IHRvb0JpZyA9IGNoZWNrLmluY2x1c2l2ZSA/IGlucHV0LmRhdGEgPiBjaGVjay52YWx1ZSA6IGlucHV0LmRhdGEgPj0gY2hlY2sudmFsdWU7XG4gICAgICAgICAgICAgICAgaWYgKHRvb0JpZykge1xuICAgICAgICAgICAgICAgICAgICBjdHggPSB0aGlzLl9nZXRPclJldHVybkN0eChpbnB1dCwgY3R4KTtcbiAgICAgICAgICAgICAgICAgICAgYWRkSXNzdWVUb0NvbnRleHQoY3R4LCB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb2RlOiBab2RJc3N1ZUNvZGUudG9vX2JpZyxcbiAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IFwiYmlnaW50XCIsXG4gICAgICAgICAgICAgICAgICAgICAgICBtYXhpbXVtOiBjaGVjay52YWx1ZSxcbiAgICAgICAgICAgICAgICAgICAgICAgIGluY2x1c2l2ZTogY2hlY2suaW5jbHVzaXZlLFxuICAgICAgICAgICAgICAgICAgICAgICAgbWVzc2FnZTogY2hlY2subWVzc2FnZSxcbiAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgICAgIHN0YXR1cy5kaXJ0eSgpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGVsc2UgaWYgKGNoZWNrLmtpbmQgPT09IFwibXVsdGlwbGVPZlwiKSB7XG4gICAgICAgICAgICAgICAgaWYgKGlucHV0LmRhdGEgJSBjaGVjay52YWx1ZSAhPT0gQmlnSW50KDApKSB7XG4gICAgICAgICAgICAgICAgICAgIGN0eCA9IHRoaXMuX2dldE9yUmV0dXJuQ3R4KGlucHV0LCBjdHgpO1xuICAgICAgICAgICAgICAgICAgICBhZGRJc3N1ZVRvQ29udGV4dChjdHgsIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvZGU6IFpvZElzc3VlQ29kZS5ub3RfbXVsdGlwbGVfb2YsXG4gICAgICAgICAgICAgICAgICAgICAgICBtdWx0aXBsZU9mOiBjaGVjay52YWx1ZSxcbiAgICAgICAgICAgICAgICAgICAgICAgIG1lc3NhZ2U6IGNoZWNrLm1lc3NhZ2UsXG4gICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgICAgICBzdGF0dXMuZGlydHkoKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgICAgICB1dGlsLmFzc2VydE5ldmVyKGNoZWNrKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICByZXR1cm4geyBzdGF0dXM6IHN0YXR1cy52YWx1ZSwgdmFsdWU6IGlucHV0LmRhdGEgfTtcbiAgICB9XG4gICAgX2dldEludmFsaWRJbnB1dChpbnB1dCkge1xuICAgICAgICBjb25zdCBjdHggPSB0aGlzLl9nZXRPclJldHVybkN0eChpbnB1dCk7XG4gICAgICAgIGFkZElzc3VlVG9Db250ZXh0KGN0eCwge1xuICAgICAgICAgICAgY29kZTogWm9kSXNzdWVDb2RlLmludmFsaWRfdHlwZSxcbiAgICAgICAgICAgIGV4cGVjdGVkOiBab2RQYXJzZWRUeXBlLmJpZ2ludCxcbiAgICAgICAgICAgIHJlY2VpdmVkOiBjdHgucGFyc2VkVHlwZSxcbiAgICAgICAgfSk7XG4gICAgICAgIHJldHVybiBJTlZBTElEO1xuICAgIH1cbiAgICBndGUodmFsdWUsIG1lc3NhZ2UpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuc2V0TGltaXQoXCJtaW5cIiwgdmFsdWUsIHRydWUsIGVycm9yVXRpbC50b1N0cmluZyhtZXNzYWdlKSk7XG4gICAgfVxuICAgIGd0KHZhbHVlLCBtZXNzYWdlKSB7XG4gICAgICAgIHJldHVybiB0aGlzLnNldExpbWl0KFwibWluXCIsIHZhbHVlLCBmYWxzZSwgZXJyb3JVdGlsLnRvU3RyaW5nKG1lc3NhZ2UpKTtcbiAgICB9XG4gICAgbHRlKHZhbHVlLCBtZXNzYWdlKSB7XG4gICAgICAgIHJldHVybiB0aGlzLnNldExpbWl0KFwibWF4XCIsIHZhbHVlLCB0cnVlLCBlcnJvclV0aWwudG9TdHJpbmcobWVzc2FnZSkpO1xuICAgIH1cbiAgICBsdCh2YWx1ZSwgbWVzc2FnZSkge1xuICAgICAgICByZXR1cm4gdGhpcy5zZXRMaW1pdChcIm1heFwiLCB2YWx1ZSwgZmFsc2UsIGVycm9yVXRpbC50b1N0cmluZyhtZXNzYWdlKSk7XG4gICAgfVxuICAgIHNldExpbWl0KGtpbmQsIHZhbHVlLCBpbmNsdXNpdmUsIG1lc3NhZ2UpIHtcbiAgICAgICAgcmV0dXJuIG5ldyBab2RCaWdJbnQoe1xuICAgICAgICAgICAgLi4udGhpcy5fZGVmLFxuICAgICAgICAgICAgY2hlY2tzOiBbXG4gICAgICAgICAgICAgICAgLi4udGhpcy5fZGVmLmNoZWNrcyxcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIGtpbmQsXG4gICAgICAgICAgICAgICAgICAgIHZhbHVlLFxuICAgICAgICAgICAgICAgICAgICBpbmNsdXNpdmUsXG4gICAgICAgICAgICAgICAgICAgIG1lc3NhZ2U6IGVycm9yVXRpbC50b1N0cmluZyhtZXNzYWdlKSxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgXSxcbiAgICAgICAgfSk7XG4gICAgfVxuICAgIF9hZGRDaGVjayhjaGVjaykge1xuICAgICAgICByZXR1cm4gbmV3IFpvZEJpZ0ludCh7XG4gICAgICAgICAgICAuLi50aGlzLl9kZWYsXG4gICAgICAgICAgICBjaGVja3M6IFsuLi50aGlzLl9kZWYuY2hlY2tzLCBjaGVja10sXG4gICAgICAgIH0pO1xuICAgIH1cbiAgICBwb3NpdGl2ZShtZXNzYWdlKSB7XG4gICAgICAgIHJldHVybiB0aGlzLl9hZGRDaGVjayh7XG4gICAgICAgICAgICBraW5kOiBcIm1pblwiLFxuICAgICAgICAgICAgdmFsdWU6IEJpZ0ludCgwKSxcbiAgICAgICAgICAgIGluY2x1c2l2ZTogZmFsc2UsXG4gICAgICAgICAgICBtZXNzYWdlOiBlcnJvclV0aWwudG9TdHJpbmcobWVzc2FnZSksXG4gICAgICAgIH0pO1xuICAgIH1cbiAgICBuZWdhdGl2ZShtZXNzYWdlKSB7XG4gICAgICAgIHJldHVybiB0aGlzLl9hZGRDaGVjayh7XG4gICAgICAgICAgICBraW5kOiBcIm1heFwiLFxuICAgICAgICAgICAgdmFsdWU6IEJpZ0ludCgwKSxcbiAgICAgICAgICAgIGluY2x1c2l2ZTogZmFsc2UsXG4gICAgICAgICAgICBtZXNzYWdlOiBlcnJvclV0aWwudG9TdHJpbmcobWVzc2FnZSksXG4gICAgICAgIH0pO1xuICAgIH1cbiAgICBub25wb3NpdGl2ZShtZXNzYWdlKSB7XG4gICAgICAgIHJldHVybiB0aGlzLl9hZGRDaGVjayh7XG4gICAgICAgICAgICBraW5kOiBcIm1heFwiLFxuICAgICAgICAgICAgdmFsdWU6IEJpZ0ludCgwKSxcbiAgICAgICAgICAgIGluY2x1c2l2ZTogdHJ1ZSxcbiAgICAgICAgICAgIG1lc3NhZ2U6IGVycm9yVXRpbC50b1N0cmluZyhtZXNzYWdlKSxcbiAgICAgICAgfSk7XG4gICAgfVxuICAgIG5vbm5lZ2F0aXZlKG1lc3NhZ2UpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2FkZENoZWNrKHtcbiAgICAgICAgICAgIGtpbmQ6IFwibWluXCIsXG4gICAgICAgICAgICB2YWx1ZTogQmlnSW50KDApLFxuICAgICAgICAgICAgaW5jbHVzaXZlOiB0cnVlLFxuICAgICAgICAgICAgbWVzc2FnZTogZXJyb3JVdGlsLnRvU3RyaW5nKG1lc3NhZ2UpLFxuICAgICAgICB9KTtcbiAgICB9XG4gICAgbXVsdGlwbGVPZih2YWx1ZSwgbWVzc2FnZSkge1xuICAgICAgICByZXR1cm4gdGhpcy5fYWRkQ2hlY2soe1xuICAgICAgICAgICAga2luZDogXCJtdWx0aXBsZU9mXCIsXG4gICAgICAgICAgICB2YWx1ZSxcbiAgICAgICAgICAgIG1lc3NhZ2U6IGVycm9yVXRpbC50b1N0cmluZyhtZXNzYWdlKSxcbiAgICAgICAgfSk7XG4gICAgfVxuICAgIGdldCBtaW5WYWx1ZSgpIHtcbiAgICAgICAgbGV0IG1pbiA9IG51bGw7XG4gICAgICAgIGZvciAoY29uc3QgY2ggb2YgdGhpcy5fZGVmLmNoZWNrcykge1xuICAgICAgICAgICAgaWYgKGNoLmtpbmQgPT09IFwibWluXCIpIHtcbiAgICAgICAgICAgICAgICBpZiAobWluID09PSBudWxsIHx8IGNoLnZhbHVlID4gbWluKVxuICAgICAgICAgICAgICAgICAgICBtaW4gPSBjaC52YWx1ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gbWluO1xuICAgIH1cbiAgICBnZXQgbWF4VmFsdWUoKSB7XG4gICAgICAgIGxldCBtYXggPSBudWxsO1xuICAgICAgICBmb3IgKGNvbnN0IGNoIG9mIHRoaXMuX2RlZi5jaGVja3MpIHtcbiAgICAgICAgICAgIGlmIChjaC5raW5kID09PSBcIm1heFwiKSB7XG4gICAgICAgICAgICAgICAgaWYgKG1heCA9PT0gbnVsbCB8fCBjaC52YWx1ZSA8IG1heClcbiAgICAgICAgICAgICAgICAgICAgbWF4ID0gY2gudmFsdWU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIG1heDtcbiAgICB9XG59XG5ab2RCaWdJbnQuY3JlYXRlID0gKHBhcmFtcykgPT4ge1xuICAgIHJldHVybiBuZXcgWm9kQmlnSW50KHtcbiAgICAgICAgY2hlY2tzOiBbXSxcbiAgICAgICAgdHlwZU5hbWU6IFpvZEZpcnN0UGFydHlUeXBlS2luZC5ab2RCaWdJbnQsXG4gICAgICAgIGNvZXJjZTogcGFyYW1zPy5jb2VyY2UgPz8gZmFsc2UsXG4gICAgICAgIC4uLnByb2Nlc3NDcmVhdGVQYXJhbXMocGFyYW1zKSxcbiAgICB9KTtcbn07XG5leHBvcnQgY2xhc3MgWm9kQm9vbGVhbiBleHRlbmRzIFpvZFR5cGUge1xuICAgIF9wYXJzZShpbnB1dCkge1xuICAgICAgICBpZiAodGhpcy5fZGVmLmNvZXJjZSkge1xuICAgICAgICAgICAgaW5wdXQuZGF0YSA9IEJvb2xlYW4oaW5wdXQuZGF0YSk7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgcGFyc2VkVHlwZSA9IHRoaXMuX2dldFR5cGUoaW5wdXQpO1xuICAgICAgICBpZiAocGFyc2VkVHlwZSAhPT0gWm9kUGFyc2VkVHlwZS5ib29sZWFuKSB7XG4gICAgICAgICAgICBjb25zdCBjdHggPSB0aGlzLl9nZXRPclJldHVybkN0eChpbnB1dCk7XG4gICAgICAgICAgICBhZGRJc3N1ZVRvQ29udGV4dChjdHgsIHtcbiAgICAgICAgICAgICAgICBjb2RlOiBab2RJc3N1ZUNvZGUuaW52YWxpZF90eXBlLFxuICAgICAgICAgICAgICAgIGV4cGVjdGVkOiBab2RQYXJzZWRUeXBlLmJvb2xlYW4sXG4gICAgICAgICAgICAgICAgcmVjZWl2ZWQ6IGN0eC5wYXJzZWRUeXBlLFxuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICByZXR1cm4gSU5WQUxJRDtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gT0soaW5wdXQuZGF0YSk7XG4gICAgfVxufVxuWm9kQm9vbGVhbi5jcmVhdGUgPSAocGFyYW1zKSA9PiB7XG4gICAgcmV0dXJuIG5ldyBab2RCb29sZWFuKHtcbiAgICAgICAgdHlwZU5hbWU6IFpvZEZpcnN0UGFydHlUeXBlS2luZC5ab2RCb29sZWFuLFxuICAgICAgICBjb2VyY2U6IHBhcmFtcz8uY29lcmNlIHx8IGZhbHNlLFxuICAgICAgICAuLi5wcm9jZXNzQ3JlYXRlUGFyYW1zKHBhcmFtcyksXG4gICAgfSk7XG59O1xuZXhwb3J0IGNsYXNzIFpvZERhdGUgZXh0ZW5kcyBab2RUeXBlIHtcbiAgICBfcGFyc2UoaW5wdXQpIHtcbiAgICAgICAgaWYgKHRoaXMuX2RlZi5jb2VyY2UpIHtcbiAgICAgICAgICAgIGlucHV0LmRhdGEgPSBuZXcgRGF0ZShpbnB1dC5kYXRhKTtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBwYXJzZWRUeXBlID0gdGhpcy5fZ2V0VHlwZShpbnB1dCk7XG4gICAgICAgIGlmIChwYXJzZWRUeXBlICE9PSBab2RQYXJzZWRUeXBlLmRhdGUpIHtcbiAgICAgICAgICAgIGNvbnN0IGN0eCA9IHRoaXMuX2dldE9yUmV0dXJuQ3R4KGlucHV0KTtcbiAgICAgICAgICAgIGFkZElzc3VlVG9Db250ZXh0KGN0eCwge1xuICAgICAgICAgICAgICAgIGNvZGU6IFpvZElzc3VlQ29kZS5pbnZhbGlkX3R5cGUsXG4gICAgICAgICAgICAgICAgZXhwZWN0ZWQ6IFpvZFBhcnNlZFR5cGUuZGF0ZSxcbiAgICAgICAgICAgICAgICByZWNlaXZlZDogY3R4LnBhcnNlZFR5cGUsXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIHJldHVybiBJTlZBTElEO1xuICAgICAgICB9XG4gICAgICAgIGlmIChOdW1iZXIuaXNOYU4oaW5wdXQuZGF0YS5nZXRUaW1lKCkpKSB7XG4gICAgICAgICAgICBjb25zdCBjdHggPSB0aGlzLl9nZXRPclJldHVybkN0eChpbnB1dCk7XG4gICAgICAgICAgICBhZGRJc3N1ZVRvQ29udGV4dChjdHgsIHtcbiAgICAgICAgICAgICAgICBjb2RlOiBab2RJc3N1ZUNvZGUuaW52YWxpZF9kYXRlLFxuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICByZXR1cm4gSU5WQUxJRDtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBzdGF0dXMgPSBuZXcgUGFyc2VTdGF0dXMoKTtcbiAgICAgICAgbGV0IGN0eCA9IHVuZGVmaW5lZDtcbiAgICAgICAgZm9yIChjb25zdCBjaGVjayBvZiB0aGlzLl9kZWYuY2hlY2tzKSB7XG4gICAgICAgICAgICBpZiAoY2hlY2sua2luZCA9PT0gXCJtaW5cIikge1xuICAgICAgICAgICAgICAgIGlmIChpbnB1dC5kYXRhLmdldFRpbWUoKSA8IGNoZWNrLnZhbHVlKSB7XG4gICAgICAgICAgICAgICAgICAgIGN0eCA9IHRoaXMuX2dldE9yUmV0dXJuQ3R4KGlucHV0LCBjdHgpO1xuICAgICAgICAgICAgICAgICAgICBhZGRJc3N1ZVRvQ29udGV4dChjdHgsIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvZGU6IFpvZElzc3VlQ29kZS50b29fc21hbGwsXG4gICAgICAgICAgICAgICAgICAgICAgICBtZXNzYWdlOiBjaGVjay5tZXNzYWdlLFxuICAgICAgICAgICAgICAgICAgICAgICAgaW5jbHVzaXZlOiB0cnVlLFxuICAgICAgICAgICAgICAgICAgICAgICAgZXhhY3Q6IGZhbHNlLFxuICAgICAgICAgICAgICAgICAgICAgICAgbWluaW11bTogY2hlY2sudmFsdWUsXG4gICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBcImRhdGVcIixcbiAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgICAgIHN0YXR1cy5kaXJ0eSgpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGVsc2UgaWYgKGNoZWNrLmtpbmQgPT09IFwibWF4XCIpIHtcbiAgICAgICAgICAgICAgICBpZiAoaW5wdXQuZGF0YS5nZXRUaW1lKCkgPiBjaGVjay52YWx1ZSkge1xuICAgICAgICAgICAgICAgICAgICBjdHggPSB0aGlzLl9nZXRPclJldHVybkN0eChpbnB1dCwgY3R4KTtcbiAgICAgICAgICAgICAgICAgICAgYWRkSXNzdWVUb0NvbnRleHQoY3R4LCB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb2RlOiBab2RJc3N1ZUNvZGUudG9vX2JpZyxcbiAgICAgICAgICAgICAgICAgICAgICAgIG1lc3NhZ2U6IGNoZWNrLm1lc3NhZ2UsXG4gICAgICAgICAgICAgICAgICAgICAgICBpbmNsdXNpdmU6IHRydWUsXG4gICAgICAgICAgICAgICAgICAgICAgICBleGFjdDogZmFsc2UsXG4gICAgICAgICAgICAgICAgICAgICAgICBtYXhpbXVtOiBjaGVjay52YWx1ZSxcbiAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IFwiZGF0ZVwiLFxuICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICAgICAgc3RhdHVzLmRpcnR5KCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgdXRpbC5hc3NlcnROZXZlcihjaGVjayk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIHN0YXR1czogc3RhdHVzLnZhbHVlLFxuICAgICAgICAgICAgdmFsdWU6IG5ldyBEYXRlKGlucHV0LmRhdGEuZ2V0VGltZSgpKSxcbiAgICAgICAgfTtcbiAgICB9XG4gICAgX2FkZENoZWNrKGNoZWNrKSB7XG4gICAgICAgIHJldHVybiBuZXcgWm9kRGF0ZSh7XG4gICAgICAgICAgICAuLi50aGlzLl9kZWYsXG4gICAgICAgICAgICBjaGVja3M6IFsuLi50aGlzLl9kZWYuY2hlY2tzLCBjaGVja10sXG4gICAgICAgIH0pO1xuICAgIH1cbiAgICBtaW4obWluRGF0ZSwgbWVzc2FnZSkge1xuICAgICAgICByZXR1cm4gdGhpcy5fYWRkQ2hlY2soe1xuICAgICAgICAgICAga2luZDogXCJtaW5cIixcbiAgICAgICAgICAgIHZhbHVlOiBtaW5EYXRlLmdldFRpbWUoKSxcbiAgICAgICAgICAgIG1lc3NhZ2U6IGVycm9yVXRpbC50b1N0cmluZyhtZXNzYWdlKSxcbiAgICAgICAgfSk7XG4gICAgfVxuICAgIG1heChtYXhEYXRlLCBtZXNzYWdlKSB7XG4gICAgICAgIHJldHVybiB0aGlzLl9hZGRDaGVjayh7XG4gICAgICAgICAgICBraW5kOiBcIm1heFwiLFxuICAgICAgICAgICAgdmFsdWU6IG1heERhdGUuZ2V0VGltZSgpLFxuICAgICAgICAgICAgbWVzc2FnZTogZXJyb3JVdGlsLnRvU3RyaW5nKG1lc3NhZ2UpLFxuICAgICAgICB9KTtcbiAgICB9XG4gICAgZ2V0IG1pbkRhdGUoKSB7XG4gICAgICAgIGxldCBtaW4gPSBudWxsO1xuICAgICAgICBmb3IgKGNvbnN0IGNoIG9mIHRoaXMuX2RlZi5jaGVja3MpIHtcbiAgICAgICAgICAgIGlmIChjaC5raW5kID09PSBcIm1pblwiKSB7XG4gICAgICAgICAgICAgICAgaWYgKG1pbiA9PT0gbnVsbCB8fCBjaC52YWx1ZSA+IG1pbilcbiAgICAgICAgICAgICAgICAgICAgbWluID0gY2gudmFsdWU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIG1pbiAhPSBudWxsID8gbmV3IERhdGUobWluKSA6IG51bGw7XG4gICAgfVxuICAgIGdldCBtYXhEYXRlKCkge1xuICAgICAgICBsZXQgbWF4ID0gbnVsbDtcbiAgICAgICAgZm9yIChjb25zdCBjaCBvZiB0aGlzLl9kZWYuY2hlY2tzKSB7XG4gICAgICAgICAgICBpZiAoY2gua2luZCA9PT0gXCJtYXhcIikge1xuICAgICAgICAgICAgICAgIGlmIChtYXggPT09IG51bGwgfHwgY2gudmFsdWUgPCBtYXgpXG4gICAgICAgICAgICAgICAgICAgIG1heCA9IGNoLnZhbHVlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHJldHVybiBtYXggIT0gbnVsbCA/IG5ldyBEYXRlKG1heCkgOiBudWxsO1xuICAgIH1cbn1cblpvZERhdGUuY3JlYXRlID0gKHBhcmFtcykgPT4ge1xuICAgIHJldHVybiBuZXcgWm9kRGF0ZSh7XG4gICAgICAgIGNoZWNrczogW10sXG4gICAgICAgIGNvZXJjZTogcGFyYW1zPy5jb2VyY2UgfHwgZmFsc2UsXG4gICAgICAgIHR5cGVOYW1lOiBab2RGaXJzdFBhcnR5VHlwZUtpbmQuWm9kRGF0ZSxcbiAgICAgICAgLi4ucHJvY2Vzc0NyZWF0ZVBhcmFtcyhwYXJhbXMpLFxuICAgIH0pO1xufTtcbmV4cG9ydCBjbGFzcyBab2RTeW1ib2wgZXh0ZW5kcyBab2RUeXBlIHtcbiAgICBfcGFyc2UoaW5wdXQpIHtcbiAgICAgICAgY29uc3QgcGFyc2VkVHlwZSA9IHRoaXMuX2dldFR5cGUoaW5wdXQpO1xuICAgICAgICBpZiAocGFyc2VkVHlwZSAhPT0gWm9kUGFyc2VkVHlwZS5zeW1ib2wpIHtcbiAgICAgICAgICAgIGNvbnN0IGN0eCA9IHRoaXMuX2dldE9yUmV0dXJuQ3R4KGlucHV0KTtcbiAgICAgICAgICAgIGFkZElzc3VlVG9Db250ZXh0KGN0eCwge1xuICAgICAgICAgICAgICAgIGNvZGU6IFpvZElzc3VlQ29kZS5pbnZhbGlkX3R5cGUsXG4gICAgICAgICAgICAgICAgZXhwZWN0ZWQ6IFpvZFBhcnNlZFR5cGUuc3ltYm9sLFxuICAgICAgICAgICAgICAgIHJlY2VpdmVkOiBjdHgucGFyc2VkVHlwZSxcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgcmV0dXJuIElOVkFMSUQ7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIE9LKGlucHV0LmRhdGEpO1xuICAgIH1cbn1cblpvZFN5bWJvbC5jcmVhdGUgPSAocGFyYW1zKSA9PiB7XG4gICAgcmV0dXJuIG5ldyBab2RTeW1ib2woe1xuICAgICAgICB0eXBlTmFtZTogWm9kRmlyc3RQYXJ0eVR5cGVLaW5kLlpvZFN5bWJvbCxcbiAgICAgICAgLi4ucHJvY2Vzc0NyZWF0ZVBhcmFtcyhwYXJhbXMpLFxuICAgIH0pO1xufTtcbmV4cG9ydCBjbGFzcyBab2RVbmRlZmluZWQgZXh0ZW5kcyBab2RUeXBlIHtcbiAgICBfcGFyc2UoaW5wdXQpIHtcbiAgICAgICAgY29uc3QgcGFyc2VkVHlwZSA9IHRoaXMuX2dldFR5cGUoaW5wdXQpO1xuICAgICAgICBpZiAocGFyc2VkVHlwZSAhPT0gWm9kUGFyc2VkVHlwZS51bmRlZmluZWQpIHtcbiAgICAgICAgICAgIGNvbnN0IGN0eCA9IHRoaXMuX2dldE9yUmV0dXJuQ3R4KGlucHV0KTtcbiAgICAgICAgICAgIGFkZElzc3VlVG9Db250ZXh0KGN0eCwge1xuICAgICAgICAgICAgICAgIGNvZGU6IFpvZElzc3VlQ29kZS5pbnZhbGlkX3R5cGUsXG4gICAgICAgICAgICAgICAgZXhwZWN0ZWQ6IFpvZFBhcnNlZFR5cGUudW5kZWZpbmVkLFxuICAgICAgICAgICAgICAgIHJlY2VpdmVkOiBjdHgucGFyc2VkVHlwZSxcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgcmV0dXJuIElOVkFMSUQ7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIE9LKGlucHV0LmRhdGEpO1xuICAgIH1cbn1cblpvZFVuZGVmaW5lZC5jcmVhdGUgPSAocGFyYW1zKSA9PiB7XG4gICAgcmV0dXJuIG5ldyBab2RVbmRlZmluZWQoe1xuICAgICAgICB0eXBlTmFtZTogWm9kRmlyc3RQYXJ0eVR5cGVLaW5kLlpvZFVuZGVmaW5lZCxcbiAgICAgICAgLi4ucHJvY2Vzc0NyZWF0ZVBhcmFtcyhwYXJhbXMpLFxuICAgIH0pO1xufTtcbmV4cG9ydCBjbGFzcyBab2ROdWxsIGV4dGVuZHMgWm9kVHlwZSB7XG4gICAgX3BhcnNlKGlucHV0KSB7XG4gICAgICAgIGNvbnN0IHBhcnNlZFR5cGUgPSB0aGlzLl9nZXRUeXBlKGlucHV0KTtcbiAgICAgICAgaWYgKHBhcnNlZFR5cGUgIT09IFpvZFBhcnNlZFR5cGUubnVsbCkge1xuICAgICAgICAgICAgY29uc3QgY3R4ID0gdGhpcy5fZ2V0T3JSZXR1cm5DdHgoaW5wdXQpO1xuICAgICAgICAgICAgYWRkSXNzdWVUb0NvbnRleHQoY3R4LCB7XG4gICAgICAgICAgICAgICAgY29kZTogWm9kSXNzdWVDb2RlLmludmFsaWRfdHlwZSxcbiAgICAgICAgICAgICAgICBleHBlY3RlZDogWm9kUGFyc2VkVHlwZS5udWxsLFxuICAgICAgICAgICAgICAgIHJlY2VpdmVkOiBjdHgucGFyc2VkVHlwZSxcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgcmV0dXJuIElOVkFMSUQ7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIE9LKGlucHV0LmRhdGEpO1xuICAgIH1cbn1cblpvZE51bGwuY3JlYXRlID0gKHBhcmFtcykgPT4ge1xuICAgIHJldHVybiBuZXcgWm9kTnVsbCh7XG4gICAgICAgIHR5cGVOYW1lOiBab2RGaXJzdFBhcnR5VHlwZUtpbmQuWm9kTnVsbCxcbiAgICAgICAgLi4ucHJvY2Vzc0NyZWF0ZVBhcmFtcyhwYXJhbXMpLFxuICAgIH0pO1xufTtcbmV4cG9ydCBjbGFzcyBab2RBbnkgZXh0ZW5kcyBab2RUeXBlIHtcbiAgICBjb25zdHJ1Y3RvcigpIHtcbiAgICAgICAgc3VwZXIoLi4uYXJndW1lbnRzKTtcbiAgICAgICAgLy8gdG8gcHJldmVudCBpbnN0YW5jZXMgb2Ygb3RoZXIgY2xhc3NlcyBmcm9tIGV4dGVuZGluZyBab2RBbnkuIHRoaXMgY2F1c2VzIGlzc3VlcyB3aXRoIGNhdGNoYWxsIGluIFpvZE9iamVjdC5cbiAgICAgICAgdGhpcy5fYW55ID0gdHJ1ZTtcbiAgICB9XG4gICAgX3BhcnNlKGlucHV0KSB7XG4gICAgICAgIHJldHVybiBPSyhpbnB1dC5kYXRhKTtcbiAgICB9XG59XG5ab2RBbnkuY3JlYXRlID0gKHBhcmFtcykgPT4ge1xuICAgIHJldHVybiBuZXcgWm9kQW55KHtcbiAgICAgICAgdHlwZU5hbWU6IFpvZEZpcnN0UGFydHlUeXBlS2luZC5ab2RBbnksXG4gICAgICAgIC4uLnByb2Nlc3NDcmVhdGVQYXJhbXMocGFyYW1zKSxcbiAgICB9KTtcbn07XG5leHBvcnQgY2xhc3MgWm9kVW5rbm93biBleHRlbmRzIFpvZFR5cGUge1xuICAgIGNvbnN0cnVjdG9yKCkge1xuICAgICAgICBzdXBlciguLi5hcmd1bWVudHMpO1xuICAgICAgICAvLyByZXF1aXJlZFxuICAgICAgICB0aGlzLl91bmtub3duID0gdHJ1ZTtcbiAgICB9XG4gICAgX3BhcnNlKGlucHV0KSB7XG4gICAgICAgIHJldHVybiBPSyhpbnB1dC5kYXRhKTtcbiAgICB9XG59XG5ab2RVbmtub3duLmNyZWF0ZSA9IChwYXJhbXMpID0+IHtcbiAgICByZXR1cm4gbmV3IFpvZFVua25vd24oe1xuICAgICAgICB0eXBlTmFtZTogWm9kRmlyc3RQYXJ0eVR5cGVLaW5kLlpvZFVua25vd24sXG4gICAgICAgIC4uLnByb2Nlc3NDcmVhdGVQYXJhbXMocGFyYW1zKSxcbiAgICB9KTtcbn07XG5leHBvcnQgY2xhc3MgWm9kTmV2ZXIgZXh0ZW5kcyBab2RUeXBlIHtcbiAgICBfcGFyc2UoaW5wdXQpIHtcbiAgICAgICAgY29uc3QgY3R4ID0gdGhpcy5fZ2V0T3JSZXR1cm5DdHgoaW5wdXQpO1xuICAgICAgICBhZGRJc3N1ZVRvQ29udGV4dChjdHgsIHtcbiAgICAgICAgICAgIGNvZGU6IFpvZElzc3VlQ29kZS5pbnZhbGlkX3R5cGUsXG4gICAgICAgICAgICBleHBlY3RlZDogWm9kUGFyc2VkVHlwZS5uZXZlcixcbiAgICAgICAgICAgIHJlY2VpdmVkOiBjdHgucGFyc2VkVHlwZSxcbiAgICAgICAgfSk7XG4gICAgICAgIHJldHVybiBJTlZBTElEO1xuICAgIH1cbn1cblpvZE5ldmVyLmNyZWF0ZSA9IChwYXJhbXMpID0+IHtcbiAgICByZXR1cm4gbmV3IFpvZE5ldmVyKHtcbiAgICAgICAgdHlwZU5hbWU6IFpvZEZpcnN0UGFydHlUeXBlS2luZC5ab2ROZXZlcixcbiAgICAgICAgLi4ucHJvY2Vzc0NyZWF0ZVBhcmFtcyhwYXJhbXMpLFxuICAgIH0pO1xufTtcbmV4cG9ydCBjbGFzcyBab2RWb2lkIGV4dGVuZHMgWm9kVHlwZSB7XG4gICAgX3BhcnNlKGlucHV0KSB7XG4gICAgICAgIGNvbnN0IHBhcnNlZFR5cGUgPSB0aGlzLl9nZXRUeXBlKGlucHV0KTtcbiAgICAgICAgaWYgKHBhcnNlZFR5cGUgIT09IFpvZFBhcnNlZFR5cGUudW5kZWZpbmVkKSB7XG4gICAgICAgICAgICBjb25zdCBjdHggPSB0aGlzLl9nZXRPclJldHVybkN0eChpbnB1dCk7XG4gICAgICAgICAgICBhZGRJc3N1ZVRvQ29udGV4dChjdHgsIHtcbiAgICAgICAgICAgICAgICBjb2RlOiBab2RJc3N1ZUNvZGUuaW52YWxpZF90eXBlLFxuICAgICAgICAgICAgICAgIGV4cGVjdGVkOiBab2RQYXJzZWRUeXBlLnZvaWQsXG4gICAgICAgICAgICAgICAgcmVjZWl2ZWQ6IGN0eC5wYXJzZWRUeXBlLFxuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICByZXR1cm4gSU5WQUxJRDtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gT0soaW5wdXQuZGF0YSk7XG4gICAgfVxufVxuWm9kVm9pZC5jcmVhdGUgPSAocGFyYW1zKSA9PiB7XG4gICAgcmV0dXJuIG5ldyBab2RWb2lkKHtcbiAgICAgICAgdHlwZU5hbWU6IFpvZEZpcnN0UGFydHlUeXBlS2luZC5ab2RWb2lkLFxuICAgICAgICAuLi5wcm9jZXNzQ3JlYXRlUGFyYW1zKHBhcmFtcyksXG4gICAgfSk7XG59O1xuZXhwb3J0IGNsYXNzIFpvZEFycmF5IGV4dGVuZHMgWm9kVHlwZSB7XG4gICAgX3BhcnNlKGlucHV0KSB7XG4gICAgICAgIGNvbnN0IHsgY3R4LCBzdGF0dXMgfSA9IHRoaXMuX3Byb2Nlc3NJbnB1dFBhcmFtcyhpbnB1dCk7XG4gICAgICAgIGNvbnN0IGRlZiA9IHRoaXMuX2RlZjtcbiAgICAgICAgaWYgKGN0eC5wYXJzZWRUeXBlICE9PSBab2RQYXJzZWRUeXBlLmFycmF5KSB7XG4gICAgICAgICAgICBhZGRJc3N1ZVRvQ29udGV4dChjdHgsIHtcbiAgICAgICAgICAgICAgICBjb2RlOiBab2RJc3N1ZUNvZGUuaW52YWxpZF90eXBlLFxuICAgICAgICAgICAgICAgIGV4cGVjdGVkOiBab2RQYXJzZWRUeXBlLmFycmF5LFxuICAgICAgICAgICAgICAgIHJlY2VpdmVkOiBjdHgucGFyc2VkVHlwZSxcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgcmV0dXJuIElOVkFMSUQ7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGRlZi5leGFjdExlbmd0aCAhPT0gbnVsbCkge1xuICAgICAgICAgICAgY29uc3QgdG9vQmlnID0gY3R4LmRhdGEubGVuZ3RoID4gZGVmLmV4YWN0TGVuZ3RoLnZhbHVlO1xuICAgICAgICAgICAgY29uc3QgdG9vU21hbGwgPSBjdHguZGF0YS5sZW5ndGggPCBkZWYuZXhhY3RMZW5ndGgudmFsdWU7XG4gICAgICAgICAgICBpZiAodG9vQmlnIHx8IHRvb1NtYWxsKSB7XG4gICAgICAgICAgICAgICAgYWRkSXNzdWVUb0NvbnRleHQoY3R4LCB7XG4gICAgICAgICAgICAgICAgICAgIGNvZGU6IHRvb0JpZyA/IFpvZElzc3VlQ29kZS50b29fYmlnIDogWm9kSXNzdWVDb2RlLnRvb19zbWFsbCxcbiAgICAgICAgICAgICAgICAgICAgbWluaW11bTogKHRvb1NtYWxsID8gZGVmLmV4YWN0TGVuZ3RoLnZhbHVlIDogdW5kZWZpbmVkKSxcbiAgICAgICAgICAgICAgICAgICAgbWF4aW11bTogKHRvb0JpZyA/IGRlZi5leGFjdExlbmd0aC52YWx1ZSA6IHVuZGVmaW5lZCksXG4gICAgICAgICAgICAgICAgICAgIHR5cGU6IFwiYXJyYXlcIixcbiAgICAgICAgICAgICAgICAgICAgaW5jbHVzaXZlOiB0cnVlLFxuICAgICAgICAgICAgICAgICAgICBleGFjdDogdHJ1ZSxcbiAgICAgICAgICAgICAgICAgICAgbWVzc2FnZTogZGVmLmV4YWN0TGVuZ3RoLm1lc3NhZ2UsXG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgc3RhdHVzLmRpcnR5KCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGRlZi5taW5MZW5ndGggIT09IG51bGwpIHtcbiAgICAgICAgICAgIGlmIChjdHguZGF0YS5sZW5ndGggPCBkZWYubWluTGVuZ3RoLnZhbHVlKSB7XG4gICAgICAgICAgICAgICAgYWRkSXNzdWVUb0NvbnRleHQoY3R4LCB7XG4gICAgICAgICAgICAgICAgICAgIGNvZGU6IFpvZElzc3VlQ29kZS50b29fc21hbGwsXG4gICAgICAgICAgICAgICAgICAgIG1pbmltdW06IGRlZi5taW5MZW5ndGgudmFsdWUsXG4gICAgICAgICAgICAgICAgICAgIHR5cGU6IFwiYXJyYXlcIixcbiAgICAgICAgICAgICAgICAgICAgaW5jbHVzaXZlOiB0cnVlLFxuICAgICAgICAgICAgICAgICAgICBleGFjdDogZmFsc2UsXG4gICAgICAgICAgICAgICAgICAgIG1lc3NhZ2U6IGRlZi5taW5MZW5ndGgubWVzc2FnZSxcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICBzdGF0dXMuZGlydHkoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBpZiAoZGVmLm1heExlbmd0aCAhPT0gbnVsbCkge1xuICAgICAgICAgICAgaWYgKGN0eC5kYXRhLmxlbmd0aCA+IGRlZi5tYXhMZW5ndGgudmFsdWUpIHtcbiAgICAgICAgICAgICAgICBhZGRJc3N1ZVRvQ29udGV4dChjdHgsIHtcbiAgICAgICAgICAgICAgICAgICAgY29kZTogWm9kSXNzdWVDb2RlLnRvb19iaWcsXG4gICAgICAgICAgICAgICAgICAgIG1heGltdW06IGRlZi5tYXhMZW5ndGgudmFsdWUsXG4gICAgICAgICAgICAgICAgICAgIHR5cGU6IFwiYXJyYXlcIixcbiAgICAgICAgICAgICAgICAgICAgaW5jbHVzaXZlOiB0cnVlLFxuICAgICAgICAgICAgICAgICAgICBleGFjdDogZmFsc2UsXG4gICAgICAgICAgICAgICAgICAgIG1lc3NhZ2U6IGRlZi5tYXhMZW5ndGgubWVzc2FnZSxcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICBzdGF0dXMuZGlydHkoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBpZiAoY3R4LmNvbW1vbi5hc3luYykge1xuICAgICAgICAgICAgcmV0dXJuIFByb21pc2UuYWxsKFsuLi5jdHguZGF0YV0ubWFwKChpdGVtLCBpKSA9PiB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIGRlZi50eXBlLl9wYXJzZUFzeW5jKG5ldyBQYXJzZUlucHV0TGF6eVBhdGgoY3R4LCBpdGVtLCBjdHgucGF0aCwgaSkpO1xuICAgICAgICAgICAgfSkpLnRoZW4oKHJlc3VsdCkgPT4ge1xuICAgICAgICAgICAgICAgIHJldHVybiBQYXJzZVN0YXR1cy5tZXJnZUFycmF5KHN0YXR1cywgcmVzdWx0KTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IHJlc3VsdCA9IFsuLi5jdHguZGF0YV0ubWFwKChpdGVtLCBpKSA9PiB7XG4gICAgICAgICAgICByZXR1cm4gZGVmLnR5cGUuX3BhcnNlU3luYyhuZXcgUGFyc2VJbnB1dExhenlQYXRoKGN0eCwgaXRlbSwgY3R4LnBhdGgsIGkpKTtcbiAgICAgICAgfSk7XG4gICAgICAgIHJldHVybiBQYXJzZVN0YXR1cy5tZXJnZUFycmF5KHN0YXR1cywgcmVzdWx0KTtcbiAgICB9XG4gICAgZ2V0IGVsZW1lbnQoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLl9kZWYudHlwZTtcbiAgICB9XG4gICAgbWluKG1pbkxlbmd0aCwgbWVzc2FnZSkge1xuICAgICAgICByZXR1cm4gbmV3IFpvZEFycmF5KHtcbiAgICAgICAgICAgIC4uLnRoaXMuX2RlZixcbiAgICAgICAgICAgIG1pbkxlbmd0aDogeyB2YWx1ZTogbWluTGVuZ3RoLCBtZXNzYWdlOiBlcnJvclV0aWwudG9TdHJpbmcobWVzc2FnZSkgfSxcbiAgICAgICAgfSk7XG4gICAgfVxuICAgIG1heChtYXhMZW5ndGgsIG1lc3NhZ2UpIHtcbiAgICAgICAgcmV0dXJuIG5ldyBab2RBcnJheSh7XG4gICAgICAgICAgICAuLi50aGlzLl9kZWYsXG4gICAgICAgICAgICBtYXhMZW5ndGg6IHsgdmFsdWU6IG1heExlbmd0aCwgbWVzc2FnZTogZXJyb3JVdGlsLnRvU3RyaW5nKG1lc3NhZ2UpIH0sXG4gICAgICAgIH0pO1xuICAgIH1cbiAgICBsZW5ndGgobGVuLCBtZXNzYWdlKSB7XG4gICAgICAgIHJldHVybiBuZXcgWm9kQXJyYXkoe1xuICAgICAgICAgICAgLi4udGhpcy5fZGVmLFxuICAgICAgICAgICAgZXhhY3RMZW5ndGg6IHsgdmFsdWU6IGxlbiwgbWVzc2FnZTogZXJyb3JVdGlsLnRvU3RyaW5nKG1lc3NhZ2UpIH0sXG4gICAgICAgIH0pO1xuICAgIH1cbiAgICBub25lbXB0eShtZXNzYWdlKSB7XG4gICAgICAgIHJldHVybiB0aGlzLm1pbigxLCBtZXNzYWdlKTtcbiAgICB9XG59XG5ab2RBcnJheS5jcmVhdGUgPSAoc2NoZW1hLCBwYXJhbXMpID0+IHtcbiAgICByZXR1cm4gbmV3IFpvZEFycmF5KHtcbiAgICAgICAgdHlwZTogc2NoZW1hLFxuICAgICAgICBtaW5MZW5ndGg6IG51bGwsXG4gICAgICAgIG1heExlbmd0aDogbnVsbCxcbiAgICAgICAgZXhhY3RMZW5ndGg6IG51bGwsXG4gICAgICAgIHR5cGVOYW1lOiBab2RGaXJzdFBhcnR5VHlwZUtpbmQuWm9kQXJyYXksXG4gICAgICAgIC4uLnByb2Nlc3NDcmVhdGVQYXJhbXMocGFyYW1zKSxcbiAgICB9KTtcbn07XG5mdW5jdGlvbiBkZWVwUGFydGlhbGlmeShzY2hlbWEpIHtcbiAgICBpZiAoc2NoZW1hIGluc3RhbmNlb2YgWm9kT2JqZWN0KSB7XG4gICAgICAgIGNvbnN0IG5ld1NoYXBlID0ge307XG4gICAgICAgIGZvciAoY29uc3Qga2V5IGluIHNjaGVtYS5zaGFwZSkge1xuICAgICAgICAgICAgY29uc3QgZmllbGRTY2hlbWEgPSBzY2hlbWEuc2hhcGVba2V5XTtcbiAgICAgICAgICAgIG5ld1NoYXBlW2tleV0gPSBab2RPcHRpb25hbC5jcmVhdGUoZGVlcFBhcnRpYWxpZnkoZmllbGRTY2hlbWEpKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gbmV3IFpvZE9iamVjdCh7XG4gICAgICAgICAgICAuLi5zY2hlbWEuX2RlZixcbiAgICAgICAgICAgIHNoYXBlOiAoKSA9PiBuZXdTaGFwZSxcbiAgICAgICAgfSk7XG4gICAgfVxuICAgIGVsc2UgaWYgKHNjaGVtYSBpbnN0YW5jZW9mIFpvZEFycmF5KSB7XG4gICAgICAgIHJldHVybiBuZXcgWm9kQXJyYXkoe1xuICAgICAgICAgICAgLi4uc2NoZW1hLl9kZWYsXG4gICAgICAgICAgICB0eXBlOiBkZWVwUGFydGlhbGlmeShzY2hlbWEuZWxlbWVudCksXG4gICAgICAgIH0pO1xuICAgIH1cbiAgICBlbHNlIGlmIChzY2hlbWEgaW5zdGFuY2VvZiBab2RPcHRpb25hbCkge1xuICAgICAgICByZXR1cm4gWm9kT3B0aW9uYWwuY3JlYXRlKGRlZXBQYXJ0aWFsaWZ5KHNjaGVtYS51bndyYXAoKSkpO1xuICAgIH1cbiAgICBlbHNlIGlmIChzY2hlbWEgaW5zdGFuY2VvZiBab2ROdWxsYWJsZSkge1xuICAgICAgICByZXR1cm4gWm9kTnVsbGFibGUuY3JlYXRlKGRlZXBQYXJ0aWFsaWZ5KHNjaGVtYS51bndyYXAoKSkpO1xuICAgIH1cbiAgICBlbHNlIGlmIChzY2hlbWEgaW5zdGFuY2VvZiBab2RUdXBsZSkge1xuICAgICAgICByZXR1cm4gWm9kVHVwbGUuY3JlYXRlKHNjaGVtYS5pdGVtcy5tYXAoKGl0ZW0pID0+IGRlZXBQYXJ0aWFsaWZ5KGl0ZW0pKSk7XG4gICAgfVxuICAgIGVsc2Uge1xuICAgICAgICByZXR1cm4gc2NoZW1hO1xuICAgIH1cbn1cbmV4cG9ydCBjbGFzcyBab2RPYmplY3QgZXh0ZW5kcyBab2RUeXBlIHtcbiAgICBjb25zdHJ1Y3RvcigpIHtcbiAgICAgICAgc3VwZXIoLi4uYXJndW1lbnRzKTtcbiAgICAgICAgdGhpcy5fY2FjaGVkID0gbnVsbDtcbiAgICAgICAgLyoqXG4gICAgICAgICAqIEBkZXByZWNhdGVkIEluIG1vc3QgY2FzZXMsIHRoaXMgaXMgbm8gbG9uZ2VyIG5lZWRlZCAtIHVua25vd24gcHJvcGVydGllcyBhcmUgbm93IHNpbGVudGx5IHN0cmlwcGVkLlxuICAgICAgICAgKiBJZiB5b3Ugd2FudCB0byBwYXNzIHRocm91Z2ggdW5rbm93biBwcm9wZXJ0aWVzLCB1c2UgYC5wYXNzdGhyb3VnaCgpYCBpbnN0ZWFkLlxuICAgICAgICAgKi9cbiAgICAgICAgdGhpcy5ub25zdHJpY3QgPSB0aGlzLnBhc3N0aHJvdWdoO1xuICAgICAgICAvLyBleHRlbmQ8XG4gICAgICAgIC8vICAgQXVnbWVudGF0aW9uIGV4dGVuZHMgWm9kUmF3U2hhcGUsXG4gICAgICAgIC8vICAgTmV3T3V0cHV0IGV4dGVuZHMgdXRpbC5mbGF0dGVuPHtcbiAgICAgICAgLy8gICAgIFtrIGluIGtleW9mIEF1Z21lbnRhdGlvbiB8IGtleW9mIE91dHB1dF06IGsgZXh0ZW5kcyBrZXlvZiBBdWdtZW50YXRpb25cbiAgICAgICAgLy8gICAgICAgPyBBdWdtZW50YXRpb25ba11bXCJfb3V0cHV0XCJdXG4gICAgICAgIC8vICAgICAgIDogayBleHRlbmRzIGtleW9mIE91dHB1dFxuICAgICAgICAvLyAgICAgICA/IE91dHB1dFtrXVxuICAgICAgICAvLyAgICAgICA6IG5ldmVyO1xuICAgICAgICAvLyAgIH0+LFxuICAgICAgICAvLyAgIE5ld0lucHV0IGV4dGVuZHMgdXRpbC5mbGF0dGVuPHtcbiAgICAgICAgLy8gICAgIFtrIGluIGtleW9mIEF1Z21lbnRhdGlvbiB8IGtleW9mIElucHV0XTogayBleHRlbmRzIGtleW9mIEF1Z21lbnRhdGlvblxuICAgICAgICAvLyAgICAgICA/IEF1Z21lbnRhdGlvbltrXVtcIl9pbnB1dFwiXVxuICAgICAgICAvLyAgICAgICA6IGsgZXh0ZW5kcyBrZXlvZiBJbnB1dFxuICAgICAgICAvLyAgICAgICA/IElucHV0W2tdXG4gICAgICAgIC8vICAgICAgIDogbmV2ZXI7XG4gICAgICAgIC8vICAgfT5cbiAgICAgICAgLy8gPihcbiAgICAgICAgLy8gICBhdWdtZW50YXRpb246IEF1Z21lbnRhdGlvblxuICAgICAgICAvLyApOiBab2RPYmplY3Q8XG4gICAgICAgIC8vICAgZXh0ZW5kU2hhcGU8VCwgQXVnbWVudGF0aW9uPixcbiAgICAgICAgLy8gICBVbmtub3duS2V5cyxcbiAgICAgICAgLy8gICBDYXRjaGFsbCxcbiAgICAgICAgLy8gICBOZXdPdXRwdXQsXG4gICAgICAgIC8vICAgTmV3SW5wdXRcbiAgICAgICAgLy8gPiB7XG4gICAgICAgIC8vICAgcmV0dXJuIG5ldyBab2RPYmplY3Qoe1xuICAgICAgICAvLyAgICAgLi4udGhpcy5fZGVmLFxuICAgICAgICAvLyAgICAgc2hhcGU6ICgpID0+ICh7XG4gICAgICAgIC8vICAgICAgIC4uLnRoaXMuX2RlZi5zaGFwZSgpLFxuICAgICAgICAvLyAgICAgICAuLi5hdWdtZW50YXRpb24sXG4gICAgICAgIC8vICAgICB9KSxcbiAgICAgICAgLy8gICB9KSBhcyBhbnk7XG4gICAgICAgIC8vIH1cbiAgICAgICAgLyoqXG4gICAgICAgICAqIEBkZXByZWNhdGVkIFVzZSBgLmV4dGVuZGAgaW5zdGVhZFxuICAgICAgICAgKiAgKi9cbiAgICAgICAgdGhpcy5hdWdtZW50ID0gdGhpcy5leHRlbmQ7XG4gICAgfVxuICAgIF9nZXRDYWNoZWQoKSB7XG4gICAgICAgIGlmICh0aGlzLl9jYWNoZWQgIT09IG51bGwpXG4gICAgICAgICAgICByZXR1cm4gdGhpcy5fY2FjaGVkO1xuICAgICAgICBjb25zdCBzaGFwZSA9IHRoaXMuX2RlZi5zaGFwZSgpO1xuICAgICAgICBjb25zdCBrZXlzID0gdXRpbC5vYmplY3RLZXlzKHNoYXBlKTtcbiAgICAgICAgdGhpcy5fY2FjaGVkID0geyBzaGFwZSwga2V5cyB9O1xuICAgICAgICByZXR1cm4gdGhpcy5fY2FjaGVkO1xuICAgIH1cbiAgICBfcGFyc2UoaW5wdXQpIHtcbiAgICAgICAgY29uc3QgcGFyc2VkVHlwZSA9IHRoaXMuX2dldFR5cGUoaW5wdXQpO1xuICAgICAgICBpZiAocGFyc2VkVHlwZSAhPT0gWm9kUGFyc2VkVHlwZS5vYmplY3QpIHtcbiAgICAgICAgICAgIGNvbnN0IGN0eCA9IHRoaXMuX2dldE9yUmV0dXJuQ3R4KGlucHV0KTtcbiAgICAgICAgICAgIGFkZElzc3VlVG9Db250ZXh0KGN0eCwge1xuICAgICAgICAgICAgICAgIGNvZGU6IFpvZElzc3VlQ29kZS5pbnZhbGlkX3R5cGUsXG4gICAgICAgICAgICAgICAgZXhwZWN0ZWQ6IFpvZFBhcnNlZFR5cGUub2JqZWN0LFxuICAgICAgICAgICAgICAgIHJlY2VpdmVkOiBjdHgucGFyc2VkVHlwZSxcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgcmV0dXJuIElOVkFMSUQ7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgeyBzdGF0dXMsIGN0eCB9ID0gdGhpcy5fcHJvY2Vzc0lucHV0UGFyYW1zKGlucHV0KTtcbiAgICAgICAgY29uc3QgeyBzaGFwZSwga2V5czogc2hhcGVLZXlzIH0gPSB0aGlzLl9nZXRDYWNoZWQoKTtcbiAgICAgICAgY29uc3QgZXh0cmFLZXlzID0gW107XG4gICAgICAgIGlmICghKHRoaXMuX2RlZi5jYXRjaGFsbCBpbnN0YW5jZW9mIFpvZE5ldmVyICYmIHRoaXMuX2RlZi51bmtub3duS2V5cyA9PT0gXCJzdHJpcFwiKSkge1xuICAgICAgICAgICAgZm9yIChjb25zdCBrZXkgaW4gY3R4LmRhdGEpIHtcbiAgICAgICAgICAgICAgICBpZiAoIXNoYXBlS2V5cy5pbmNsdWRlcyhrZXkpKSB7XG4gICAgICAgICAgICAgICAgICAgIGV4dHJhS2V5cy5wdXNoKGtleSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGNvbnN0IHBhaXJzID0gW107XG4gICAgICAgIGZvciAoY29uc3Qga2V5IG9mIHNoYXBlS2V5cykge1xuICAgICAgICAgICAgY29uc3Qga2V5VmFsaWRhdG9yID0gc2hhcGVba2V5XTtcbiAgICAgICAgICAgIGNvbnN0IHZhbHVlID0gY3R4LmRhdGFba2V5XTtcbiAgICAgICAgICAgIHBhaXJzLnB1c2goe1xuICAgICAgICAgICAgICAgIGtleTogeyBzdGF0dXM6IFwidmFsaWRcIiwgdmFsdWU6IGtleSB9LFxuICAgICAgICAgICAgICAgIHZhbHVlOiBrZXlWYWxpZGF0b3IuX3BhcnNlKG5ldyBQYXJzZUlucHV0TGF6eVBhdGgoY3R4LCB2YWx1ZSwgY3R4LnBhdGgsIGtleSkpLFxuICAgICAgICAgICAgICAgIGFsd2F5c1NldDoga2V5IGluIGN0eC5kYXRhLFxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHRoaXMuX2RlZi5jYXRjaGFsbCBpbnN0YW5jZW9mIFpvZE5ldmVyKSB7XG4gICAgICAgICAgICBjb25zdCB1bmtub3duS2V5cyA9IHRoaXMuX2RlZi51bmtub3duS2V5cztcbiAgICAgICAgICAgIGlmICh1bmtub3duS2V5cyA9PT0gXCJwYXNzdGhyb3VnaFwiKSB7XG4gICAgICAgICAgICAgICAgZm9yIChjb25zdCBrZXkgb2YgZXh0cmFLZXlzKSB7XG4gICAgICAgICAgICAgICAgICAgIHBhaXJzLnB1c2goe1xuICAgICAgICAgICAgICAgICAgICAgICAga2V5OiB7IHN0YXR1czogXCJ2YWxpZFwiLCB2YWx1ZToga2V5IH0sXG4gICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZTogeyBzdGF0dXM6IFwidmFsaWRcIiwgdmFsdWU6IGN0eC5kYXRhW2tleV0gfSxcbiAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZWxzZSBpZiAodW5rbm93bktleXMgPT09IFwic3RyaWN0XCIpIHtcbiAgICAgICAgICAgICAgICBpZiAoZXh0cmFLZXlzLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICAgICAgICAgICAgYWRkSXNzdWVUb0NvbnRleHQoY3R4LCB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb2RlOiBab2RJc3N1ZUNvZGUudW5yZWNvZ25pemVkX2tleXMsXG4gICAgICAgICAgICAgICAgICAgICAgICBrZXlzOiBleHRyYUtleXMsXG4gICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgICAgICBzdGF0dXMuZGlydHkoKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBlbHNlIGlmICh1bmtub3duS2V5cyA9PT0gXCJzdHJpcFwiKSB7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYEludGVybmFsIFpvZE9iamVjdCBlcnJvcjogaW52YWxpZCB1bmtub3duS2V5cyB2YWx1ZS5gKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgIC8vIHJ1biBjYXRjaGFsbCB2YWxpZGF0aW9uXG4gICAgICAgICAgICBjb25zdCBjYXRjaGFsbCA9IHRoaXMuX2RlZi5jYXRjaGFsbDtcbiAgICAgICAgICAgIGZvciAoY29uc3Qga2V5IG9mIGV4dHJhS2V5cykge1xuICAgICAgICAgICAgICAgIGNvbnN0IHZhbHVlID0gY3R4LmRhdGFba2V5XTtcbiAgICAgICAgICAgICAgICBwYWlycy5wdXNoKHtcbiAgICAgICAgICAgICAgICAgICAga2V5OiB7IHN0YXR1czogXCJ2YWxpZFwiLCB2YWx1ZToga2V5IH0sXG4gICAgICAgICAgICAgICAgICAgIHZhbHVlOiBjYXRjaGFsbC5fcGFyc2UobmV3IFBhcnNlSW5wdXRMYXp5UGF0aChjdHgsIHZhbHVlLCBjdHgucGF0aCwga2V5KSAvLywgY3R4LmNoaWxkKGtleSksIHZhbHVlLCBnZXRQYXJzZWRUeXBlKHZhbHVlKVxuICAgICAgICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgICAgICAgICBhbHdheXNTZXQ6IGtleSBpbiBjdHguZGF0YSxcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBpZiAoY3R4LmNvbW1vbi5hc3luYykge1xuICAgICAgICAgICAgcmV0dXJuIFByb21pc2UucmVzb2x2ZSgpXG4gICAgICAgICAgICAgICAgLnRoZW4oYXN5bmMgKCkgPT4ge1xuICAgICAgICAgICAgICAgIGNvbnN0IHN5bmNQYWlycyA9IFtdO1xuICAgICAgICAgICAgICAgIGZvciAoY29uc3QgcGFpciBvZiBwYWlycykge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBrZXkgPSBhd2FpdCBwYWlyLmtleTtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgdmFsdWUgPSBhd2FpdCBwYWlyLnZhbHVlO1xuICAgICAgICAgICAgICAgICAgICBzeW5jUGFpcnMucHVzaCh7XG4gICAgICAgICAgICAgICAgICAgICAgICBrZXksXG4gICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSxcbiAgICAgICAgICAgICAgICAgICAgICAgIGFsd2F5c1NldDogcGFpci5hbHdheXNTZXQsXG4gICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICByZXR1cm4gc3luY1BhaXJzO1xuICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgICAudGhlbigoc3luY1BhaXJzKSA9PiB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIFBhcnNlU3RhdHVzLm1lcmdlT2JqZWN0U3luYyhzdGF0dXMsIHN5bmNQYWlycyk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgIHJldHVybiBQYXJzZVN0YXR1cy5tZXJnZU9iamVjdFN5bmMoc3RhdHVzLCBwYWlycyk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgZ2V0IHNoYXBlKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5fZGVmLnNoYXBlKCk7XG4gICAgfVxuICAgIHN0cmljdChtZXNzYWdlKSB7XG4gICAgICAgIGVycm9yVXRpbC5lcnJUb09iajtcbiAgICAgICAgcmV0dXJuIG5ldyBab2RPYmplY3Qoe1xuICAgICAgICAgICAgLi4udGhpcy5fZGVmLFxuICAgICAgICAgICAgdW5rbm93bktleXM6IFwic3RyaWN0XCIsXG4gICAgICAgICAgICAuLi4obWVzc2FnZSAhPT0gdW5kZWZpbmVkXG4gICAgICAgICAgICAgICAgPyB7XG4gICAgICAgICAgICAgICAgICAgIGVycm9yTWFwOiAoaXNzdWUsIGN0eCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgZGVmYXVsdEVycm9yID0gdGhpcy5fZGVmLmVycm9yTWFwPy4oaXNzdWUsIGN0eCkubWVzc2FnZSA/PyBjdHguZGVmYXVsdEVycm9yO1xuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGlzc3VlLmNvZGUgPT09IFwidW5yZWNvZ25pemVkX2tleXNcIilcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtZXNzYWdlOiBlcnJvclV0aWwuZXJyVG9PYmoobWVzc2FnZSkubWVzc2FnZSA/PyBkZWZhdWx0RXJyb3IsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbWVzc2FnZTogZGVmYXVsdEVycm9yLFxuICAgICAgICAgICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgOiB7fSksXG4gICAgICAgIH0pO1xuICAgIH1cbiAgICBzdHJpcCgpIHtcbiAgICAgICAgcmV0dXJuIG5ldyBab2RPYmplY3Qoe1xuICAgICAgICAgICAgLi4udGhpcy5fZGVmLFxuICAgICAgICAgICAgdW5rbm93bktleXM6IFwic3RyaXBcIixcbiAgICAgICAgfSk7XG4gICAgfVxuICAgIHBhc3N0aHJvdWdoKCkge1xuICAgICAgICByZXR1cm4gbmV3IFpvZE9iamVjdCh7XG4gICAgICAgICAgICAuLi50aGlzLl9kZWYsXG4gICAgICAgICAgICB1bmtub3duS2V5czogXCJwYXNzdGhyb3VnaFwiLFxuICAgICAgICB9KTtcbiAgICB9XG4gICAgLy8gY29uc3QgQXVnbWVudEZhY3RvcnkgPVxuICAgIC8vICAgPERlZiBleHRlbmRzIFpvZE9iamVjdERlZj4oZGVmOiBEZWYpID0+XG4gICAgLy8gICA8QXVnbWVudGF0aW9uIGV4dGVuZHMgWm9kUmF3U2hhcGU+KFxuICAgIC8vICAgICBhdWdtZW50YXRpb246IEF1Z21lbnRhdGlvblxuICAgIC8vICAgKTogWm9kT2JqZWN0PFxuICAgIC8vICAgICBleHRlbmRTaGFwZTxSZXR1cm5UeXBlPERlZltcInNoYXBlXCJdPiwgQXVnbWVudGF0aW9uPixcbiAgICAvLyAgICAgRGVmW1widW5rbm93bktleXNcIl0sXG4gICAgLy8gICAgIERlZltcImNhdGNoYWxsXCJdXG4gICAgLy8gICA+ID0+IHtcbiAgICAvLyAgICAgcmV0dXJuIG5ldyBab2RPYmplY3Qoe1xuICAgIC8vICAgICAgIC4uLmRlZixcbiAgICAvLyAgICAgICBzaGFwZTogKCkgPT4gKHtcbiAgICAvLyAgICAgICAgIC4uLmRlZi5zaGFwZSgpLFxuICAgIC8vICAgICAgICAgLi4uYXVnbWVudGF0aW9uLFxuICAgIC8vICAgICAgIH0pLFxuICAgIC8vICAgICB9KSBhcyBhbnk7XG4gICAgLy8gICB9O1xuICAgIGV4dGVuZChhdWdtZW50YXRpb24pIHtcbiAgICAgICAgcmV0dXJuIG5ldyBab2RPYmplY3Qoe1xuICAgICAgICAgICAgLi4udGhpcy5fZGVmLFxuICAgICAgICAgICAgc2hhcGU6ICgpID0+ICh7XG4gICAgICAgICAgICAgICAgLi4udGhpcy5fZGVmLnNoYXBlKCksXG4gICAgICAgICAgICAgICAgLi4uYXVnbWVudGF0aW9uLFxuICAgICAgICAgICAgfSksXG4gICAgICAgIH0pO1xuICAgIH1cbiAgICAvKipcbiAgICAgKiBQcmlvciB0byB6b2RAMS4wLjEyIHRoZXJlIHdhcyBhIGJ1ZyBpbiB0aGVcbiAgICAgKiBpbmZlcnJlZCB0eXBlIG9mIG1lcmdlZCBvYmplY3RzLiBQbGVhc2VcbiAgICAgKiB1cGdyYWRlIGlmIHlvdSBhcmUgZXhwZXJpZW5jaW5nIGlzc3Vlcy5cbiAgICAgKi9cbiAgICBtZXJnZShtZXJnaW5nKSB7XG4gICAgICAgIGNvbnN0IG1lcmdlZCA9IG5ldyBab2RPYmplY3Qoe1xuICAgICAgICAgICAgdW5rbm93bktleXM6IG1lcmdpbmcuX2RlZi51bmtub3duS2V5cyxcbiAgICAgICAgICAgIGNhdGNoYWxsOiBtZXJnaW5nLl9kZWYuY2F0Y2hhbGwsXG4gICAgICAgICAgICBzaGFwZTogKCkgPT4gKHtcbiAgICAgICAgICAgICAgICAuLi50aGlzLl9kZWYuc2hhcGUoKSxcbiAgICAgICAgICAgICAgICAuLi5tZXJnaW5nLl9kZWYuc2hhcGUoKSxcbiAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgdHlwZU5hbWU6IFpvZEZpcnN0UGFydHlUeXBlS2luZC5ab2RPYmplY3QsXG4gICAgICAgIH0pO1xuICAgICAgICByZXR1cm4gbWVyZ2VkO1xuICAgIH1cbiAgICAvLyBtZXJnZTxcbiAgICAvLyAgIEluY29taW5nIGV4dGVuZHMgQW55Wm9kT2JqZWN0LFxuICAgIC8vICAgQXVnbWVudGF0aW9uIGV4dGVuZHMgSW5jb21pbmdbXCJzaGFwZVwiXSxcbiAgICAvLyAgIE5ld091dHB1dCBleHRlbmRzIHtcbiAgICAvLyAgICAgW2sgaW4ga2V5b2YgQXVnbWVudGF0aW9uIHwga2V5b2YgT3V0cHV0XTogayBleHRlbmRzIGtleW9mIEF1Z21lbnRhdGlvblxuICAgIC8vICAgICAgID8gQXVnbWVudGF0aW9uW2tdW1wiX291dHB1dFwiXVxuICAgIC8vICAgICAgIDogayBleHRlbmRzIGtleW9mIE91dHB1dFxuICAgIC8vICAgICAgID8gT3V0cHV0W2tdXG4gICAgLy8gICAgICAgOiBuZXZlcjtcbiAgICAvLyAgIH0sXG4gICAgLy8gICBOZXdJbnB1dCBleHRlbmRzIHtcbiAgICAvLyAgICAgW2sgaW4ga2V5b2YgQXVnbWVudGF0aW9uIHwga2V5b2YgSW5wdXRdOiBrIGV4dGVuZHMga2V5b2YgQXVnbWVudGF0aW9uXG4gICAgLy8gICAgICAgPyBBdWdtZW50YXRpb25ba11bXCJfaW5wdXRcIl1cbiAgICAvLyAgICAgICA6IGsgZXh0ZW5kcyBrZXlvZiBJbnB1dFxuICAgIC8vICAgICAgID8gSW5wdXRba11cbiAgICAvLyAgICAgICA6IG5ldmVyO1xuICAgIC8vICAgfVxuICAgIC8vID4oXG4gICAgLy8gICBtZXJnaW5nOiBJbmNvbWluZ1xuICAgIC8vICk6IFpvZE9iamVjdDxcbiAgICAvLyAgIGV4dGVuZFNoYXBlPFQsIFJldHVyblR5cGU8SW5jb21pbmdbXCJfZGVmXCJdW1wic2hhcGVcIl0+PixcbiAgICAvLyAgIEluY29taW5nW1wiX2RlZlwiXVtcInVua25vd25LZXlzXCJdLFxuICAgIC8vICAgSW5jb21pbmdbXCJfZGVmXCJdW1wiY2F0Y2hhbGxcIl0sXG4gICAgLy8gICBOZXdPdXRwdXQsXG4gICAgLy8gICBOZXdJbnB1dFxuICAgIC8vID4ge1xuICAgIC8vICAgY29uc3QgbWVyZ2VkOiBhbnkgPSBuZXcgWm9kT2JqZWN0KHtcbiAgICAvLyAgICAgdW5rbm93bktleXM6IG1lcmdpbmcuX2RlZi51bmtub3duS2V5cyxcbiAgICAvLyAgICAgY2F0Y2hhbGw6IG1lcmdpbmcuX2RlZi5jYXRjaGFsbCxcbiAgICAvLyAgICAgc2hhcGU6ICgpID0+XG4gICAgLy8gICAgICAgb2JqZWN0VXRpbC5tZXJnZVNoYXBlcyh0aGlzLl9kZWYuc2hhcGUoKSwgbWVyZ2luZy5fZGVmLnNoYXBlKCkpLFxuICAgIC8vICAgICB0eXBlTmFtZTogWm9kRmlyc3RQYXJ0eVR5cGVLaW5kLlpvZE9iamVjdCxcbiAgICAvLyAgIH0pIGFzIGFueTtcbiAgICAvLyAgIHJldHVybiBtZXJnZWQ7XG4gICAgLy8gfVxuICAgIHNldEtleShrZXksIHNjaGVtYSkge1xuICAgICAgICByZXR1cm4gdGhpcy5hdWdtZW50KHsgW2tleV06IHNjaGVtYSB9KTtcbiAgICB9XG4gICAgLy8gbWVyZ2U8SW5jb21pbmcgZXh0ZW5kcyBBbnlab2RPYmplY3Q+KFxuICAgIC8vICAgbWVyZ2luZzogSW5jb21pbmdcbiAgICAvLyApOiAvL1pvZE9iamVjdDxUICYgSW5jb21pbmdbXCJfc2hhcGVcIl0sIFVua25vd25LZXlzLCBDYXRjaGFsbD4gPSAobWVyZ2luZykgPT4ge1xuICAgIC8vIFpvZE9iamVjdDxcbiAgICAvLyAgIGV4dGVuZFNoYXBlPFQsIFJldHVyblR5cGU8SW5jb21pbmdbXCJfZGVmXCJdW1wic2hhcGVcIl0+PixcbiAgICAvLyAgIEluY29taW5nW1wiX2RlZlwiXVtcInVua25vd25LZXlzXCJdLFxuICAgIC8vICAgSW5jb21pbmdbXCJfZGVmXCJdW1wiY2F0Y2hhbGxcIl1cbiAgICAvLyA+IHtcbiAgICAvLyAgIC8vIGNvbnN0IG1lcmdlZFNoYXBlID0gb2JqZWN0VXRpbC5tZXJnZVNoYXBlcyhcbiAgICAvLyAgIC8vICAgdGhpcy5fZGVmLnNoYXBlKCksXG4gICAgLy8gICAvLyAgIG1lcmdpbmcuX2RlZi5zaGFwZSgpXG4gICAgLy8gICAvLyApO1xuICAgIC8vICAgY29uc3QgbWVyZ2VkOiBhbnkgPSBuZXcgWm9kT2JqZWN0KHtcbiAgICAvLyAgICAgdW5rbm93bktleXM6IG1lcmdpbmcuX2RlZi51bmtub3duS2V5cyxcbiAgICAvLyAgICAgY2F0Y2hhbGw6IG1lcmdpbmcuX2RlZi5jYXRjaGFsbCxcbiAgICAvLyAgICAgc2hhcGU6ICgpID0+XG4gICAgLy8gICAgICAgb2JqZWN0VXRpbC5tZXJnZVNoYXBlcyh0aGlzLl9kZWYuc2hhcGUoKSwgbWVyZ2luZy5fZGVmLnNoYXBlKCkpLFxuICAgIC8vICAgICB0eXBlTmFtZTogWm9kRmlyc3RQYXJ0eVR5cGVLaW5kLlpvZE9iamVjdCxcbiAgICAvLyAgIH0pIGFzIGFueTtcbiAgICAvLyAgIHJldHVybiBtZXJnZWQ7XG4gICAgLy8gfVxuICAgIGNhdGNoYWxsKGluZGV4KSB7XG4gICAgICAgIHJldHVybiBuZXcgWm9kT2JqZWN0KHtcbiAgICAgICAgICAgIC4uLnRoaXMuX2RlZixcbiAgICAgICAgICAgIGNhdGNoYWxsOiBpbmRleCxcbiAgICAgICAgfSk7XG4gICAgfVxuICAgIHBpY2sobWFzaykge1xuICAgICAgICBjb25zdCBzaGFwZSA9IHt9O1xuICAgICAgICBmb3IgKGNvbnN0IGtleSBvZiB1dGlsLm9iamVjdEtleXMobWFzaykpIHtcbiAgICAgICAgICAgIGlmIChtYXNrW2tleV0gJiYgdGhpcy5zaGFwZVtrZXldKSB7XG4gICAgICAgICAgICAgICAgc2hhcGVba2V5XSA9IHRoaXMuc2hhcGVba2V5XTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gbmV3IFpvZE9iamVjdCh7XG4gICAgICAgICAgICAuLi50aGlzLl9kZWYsXG4gICAgICAgICAgICBzaGFwZTogKCkgPT4gc2hhcGUsXG4gICAgICAgIH0pO1xuICAgIH1cbiAgICBvbWl0KG1hc2spIHtcbiAgICAgICAgY29uc3Qgc2hhcGUgPSB7fTtcbiAgICAgICAgZm9yIChjb25zdCBrZXkgb2YgdXRpbC5vYmplY3RLZXlzKHRoaXMuc2hhcGUpKSB7XG4gICAgICAgICAgICBpZiAoIW1hc2tba2V5XSkge1xuICAgICAgICAgICAgICAgIHNoYXBlW2tleV0gPSB0aGlzLnNoYXBlW2tleV07XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIG5ldyBab2RPYmplY3Qoe1xuICAgICAgICAgICAgLi4udGhpcy5fZGVmLFxuICAgICAgICAgICAgc2hhcGU6ICgpID0+IHNoYXBlLFxuICAgICAgICB9KTtcbiAgICB9XG4gICAgLyoqXG4gICAgICogQGRlcHJlY2F0ZWRcbiAgICAgKi9cbiAgICBkZWVwUGFydGlhbCgpIHtcbiAgICAgICAgcmV0dXJuIGRlZXBQYXJ0aWFsaWZ5KHRoaXMpO1xuICAgIH1cbiAgICBwYXJ0aWFsKG1hc2spIHtcbiAgICAgICAgY29uc3QgbmV3U2hhcGUgPSB7fTtcbiAgICAgICAgZm9yIChjb25zdCBrZXkgb2YgdXRpbC5vYmplY3RLZXlzKHRoaXMuc2hhcGUpKSB7XG4gICAgICAgICAgICBjb25zdCBmaWVsZFNjaGVtYSA9IHRoaXMuc2hhcGVba2V5XTtcbiAgICAgICAgICAgIGlmIChtYXNrICYmICFtYXNrW2tleV0pIHtcbiAgICAgICAgICAgICAgICBuZXdTaGFwZVtrZXldID0gZmllbGRTY2hlbWE7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgICAgICBuZXdTaGFwZVtrZXldID0gZmllbGRTY2hlbWEub3B0aW9uYWwoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gbmV3IFpvZE9iamVjdCh7XG4gICAgICAgICAgICAuLi50aGlzLl9kZWYsXG4gICAgICAgICAgICBzaGFwZTogKCkgPT4gbmV3U2hhcGUsXG4gICAgICAgIH0pO1xuICAgIH1cbiAgICByZXF1aXJlZChtYXNrKSB7XG4gICAgICAgIGNvbnN0IG5ld1NoYXBlID0ge307XG4gICAgICAgIGZvciAoY29uc3Qga2V5IG9mIHV0aWwub2JqZWN0S2V5cyh0aGlzLnNoYXBlKSkge1xuICAgICAgICAgICAgaWYgKG1hc2sgJiYgIW1hc2tba2V5XSkge1xuICAgICAgICAgICAgICAgIG5ld1NoYXBlW2tleV0gPSB0aGlzLnNoYXBlW2tleV07XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgICAgICBjb25zdCBmaWVsZFNjaGVtYSA9IHRoaXMuc2hhcGVba2V5XTtcbiAgICAgICAgICAgICAgICBsZXQgbmV3RmllbGQgPSBmaWVsZFNjaGVtYTtcbiAgICAgICAgICAgICAgICB3aGlsZSAobmV3RmllbGQgaW5zdGFuY2VvZiBab2RPcHRpb25hbCkge1xuICAgICAgICAgICAgICAgICAgICBuZXdGaWVsZCA9IG5ld0ZpZWxkLl9kZWYuaW5uZXJUeXBlO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBuZXdTaGFwZVtrZXldID0gbmV3RmllbGQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIG5ldyBab2RPYmplY3Qoe1xuICAgICAgICAgICAgLi4udGhpcy5fZGVmLFxuICAgICAgICAgICAgc2hhcGU6ICgpID0+IG5ld1NoYXBlLFxuICAgICAgICB9KTtcbiAgICB9XG4gICAga2V5b2YoKSB7XG4gICAgICAgIHJldHVybiBjcmVhdGVab2RFbnVtKHV0aWwub2JqZWN0S2V5cyh0aGlzLnNoYXBlKSk7XG4gICAgfVxufVxuWm9kT2JqZWN0LmNyZWF0ZSA9IChzaGFwZSwgcGFyYW1zKSA9PiB7XG4gICAgcmV0dXJuIG5ldyBab2RPYmplY3Qoe1xuICAgICAgICBzaGFwZTogKCkgPT4gc2hhcGUsXG4gICAgICAgIHVua25vd25LZXlzOiBcInN0cmlwXCIsXG4gICAgICAgIGNhdGNoYWxsOiBab2ROZXZlci5jcmVhdGUoKSxcbiAgICAgICAgdHlwZU5hbWU6IFpvZEZpcnN0UGFydHlUeXBlS2luZC5ab2RPYmplY3QsXG4gICAgICAgIC4uLnByb2Nlc3NDcmVhdGVQYXJhbXMocGFyYW1zKSxcbiAgICB9KTtcbn07XG5ab2RPYmplY3Quc3RyaWN0Q3JlYXRlID0gKHNoYXBlLCBwYXJhbXMpID0+IHtcbiAgICByZXR1cm4gbmV3IFpvZE9iamVjdCh7XG4gICAgICAgIHNoYXBlOiAoKSA9PiBzaGFwZSxcbiAgICAgICAgdW5rbm93bktleXM6IFwic3RyaWN0XCIsXG4gICAgICAgIGNhdGNoYWxsOiBab2ROZXZlci5jcmVhdGUoKSxcbiAgICAgICAgdHlwZU5hbWU6IFpvZEZpcnN0UGFydHlUeXBlS2luZC5ab2RPYmplY3QsXG4gICAgICAgIC4uLnByb2Nlc3NDcmVhdGVQYXJhbXMocGFyYW1zKSxcbiAgICB9KTtcbn07XG5ab2RPYmplY3QubGF6eWNyZWF0ZSA9IChzaGFwZSwgcGFyYW1zKSA9PiB7XG4gICAgcmV0dXJuIG5ldyBab2RPYmplY3Qoe1xuICAgICAgICBzaGFwZSxcbiAgICAgICAgdW5rbm93bktleXM6IFwic3RyaXBcIixcbiAgICAgICAgY2F0Y2hhbGw6IFpvZE5ldmVyLmNyZWF0ZSgpLFxuICAgICAgICB0eXBlTmFtZTogWm9kRmlyc3RQYXJ0eVR5cGVLaW5kLlpvZE9iamVjdCxcbiAgICAgICAgLi4ucHJvY2Vzc0NyZWF0ZVBhcmFtcyhwYXJhbXMpLFxuICAgIH0pO1xufTtcbmV4cG9ydCBjbGFzcyBab2RVbmlvbiBleHRlbmRzIFpvZFR5cGUge1xuICAgIF9wYXJzZShpbnB1dCkge1xuICAgICAgICBjb25zdCB7IGN0eCB9ID0gdGhpcy5fcHJvY2Vzc0lucHV0UGFyYW1zKGlucHV0KTtcbiAgICAgICAgY29uc3Qgb3B0aW9ucyA9IHRoaXMuX2RlZi5vcHRpb25zO1xuICAgICAgICBmdW5jdGlvbiBoYW5kbGVSZXN1bHRzKHJlc3VsdHMpIHtcbiAgICAgICAgICAgIC8vIHJldHVybiBmaXJzdCBpc3N1ZS1mcmVlIHZhbGlkYXRpb24gaWYgaXQgZXhpc3RzXG4gICAgICAgICAgICBmb3IgKGNvbnN0IHJlc3VsdCBvZiByZXN1bHRzKSB7XG4gICAgICAgICAgICAgICAgaWYgKHJlc3VsdC5yZXN1bHQuc3RhdHVzID09PSBcInZhbGlkXCIpIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHJlc3VsdC5yZXN1bHQ7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZm9yIChjb25zdCByZXN1bHQgb2YgcmVzdWx0cykge1xuICAgICAgICAgICAgICAgIGlmIChyZXN1bHQucmVzdWx0LnN0YXR1cyA9PT0gXCJkaXJ0eVwiKSB7XG4gICAgICAgICAgICAgICAgICAgIC8vIGFkZCBpc3N1ZXMgZnJvbSBkaXJ0eSBvcHRpb25cbiAgICAgICAgICAgICAgICAgICAgY3R4LmNvbW1vbi5pc3N1ZXMucHVzaCguLi5yZXN1bHQuY3R4LmNvbW1vbi5pc3N1ZXMpO1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gcmVzdWx0LnJlc3VsdDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAvLyByZXR1cm4gaW52YWxpZFxuICAgICAgICAgICAgY29uc3QgdW5pb25FcnJvcnMgPSByZXN1bHRzLm1hcCgocmVzdWx0KSA9PiBuZXcgWm9kRXJyb3IocmVzdWx0LmN0eC5jb21tb24uaXNzdWVzKSk7XG4gICAgICAgICAgICBhZGRJc3N1ZVRvQ29udGV4dChjdHgsIHtcbiAgICAgICAgICAgICAgICBjb2RlOiBab2RJc3N1ZUNvZGUuaW52YWxpZF91bmlvbixcbiAgICAgICAgICAgICAgICB1bmlvbkVycm9ycyxcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgcmV0dXJuIElOVkFMSUQ7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGN0eC5jb21tb24uYXN5bmMpIHtcbiAgICAgICAgICAgIHJldHVybiBQcm9taXNlLmFsbChvcHRpb25zLm1hcChhc3luYyAob3B0aW9uKSA9PiB7XG4gICAgICAgICAgICAgICAgY29uc3QgY2hpbGRDdHggPSB7XG4gICAgICAgICAgICAgICAgICAgIC4uLmN0eCxcbiAgICAgICAgICAgICAgICAgICAgY29tbW9uOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAuLi5jdHguY29tbW9uLFxuICAgICAgICAgICAgICAgICAgICAgICAgaXNzdWVzOiBbXSxcbiAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgcGFyZW50OiBudWxsLFxuICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICAgICAgcmVzdWx0OiBhd2FpdCBvcHRpb24uX3BhcnNlQXN5bmMoe1xuICAgICAgICAgICAgICAgICAgICAgICAgZGF0YTogY3R4LmRhdGEsXG4gICAgICAgICAgICAgICAgICAgICAgICBwYXRoOiBjdHgucGF0aCxcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhcmVudDogY2hpbGRDdHgsXG4gICAgICAgICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgICAgICAgICBjdHg6IGNoaWxkQ3R4LFxuICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICB9KSkudGhlbihoYW5kbGVSZXN1bHRzKTtcbiAgICAgICAgfVxuICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgIGxldCBkaXJ0eSA9IHVuZGVmaW5lZDtcbiAgICAgICAgICAgIGNvbnN0IGlzc3VlcyA9IFtdO1xuICAgICAgICAgICAgZm9yIChjb25zdCBvcHRpb24gb2Ygb3B0aW9ucykge1xuICAgICAgICAgICAgICAgIGNvbnN0IGNoaWxkQ3R4ID0ge1xuICAgICAgICAgICAgICAgICAgICAuLi5jdHgsXG4gICAgICAgICAgICAgICAgICAgIGNvbW1vbjoge1xuICAgICAgICAgICAgICAgICAgICAgICAgLi4uY3R4LmNvbW1vbixcbiAgICAgICAgICAgICAgICAgICAgICAgIGlzc3VlczogW10sXG4gICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgIHBhcmVudDogbnVsbCxcbiAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICAgIGNvbnN0IHJlc3VsdCA9IG9wdGlvbi5fcGFyc2VTeW5jKHtcbiAgICAgICAgICAgICAgICAgICAgZGF0YTogY3R4LmRhdGEsXG4gICAgICAgICAgICAgICAgICAgIHBhdGg6IGN0eC5wYXRoLFxuICAgICAgICAgICAgICAgICAgICBwYXJlbnQ6IGNoaWxkQ3R4LFxuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIGlmIChyZXN1bHQuc3RhdHVzID09PSBcInZhbGlkXCIpIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgZWxzZSBpZiAocmVzdWx0LnN0YXR1cyA9PT0gXCJkaXJ0eVwiICYmICFkaXJ0eSkge1xuICAgICAgICAgICAgICAgICAgICBkaXJ0eSA9IHsgcmVzdWx0LCBjdHg6IGNoaWxkQ3R4IH07XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGlmIChjaGlsZEN0eC5jb21tb24uaXNzdWVzLmxlbmd0aCkge1xuICAgICAgICAgICAgICAgICAgICBpc3N1ZXMucHVzaChjaGlsZEN0eC5jb21tb24uaXNzdWVzKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAoZGlydHkpIHtcbiAgICAgICAgICAgICAgICBjdHguY29tbW9uLmlzc3Vlcy5wdXNoKC4uLmRpcnR5LmN0eC5jb21tb24uaXNzdWVzKTtcbiAgICAgICAgICAgICAgICByZXR1cm4gZGlydHkucmVzdWx0O1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgY29uc3QgdW5pb25FcnJvcnMgPSBpc3N1ZXMubWFwKChpc3N1ZXMpID0+IG5ldyBab2RFcnJvcihpc3N1ZXMpKTtcbiAgICAgICAgICAgIGFkZElzc3VlVG9Db250ZXh0KGN0eCwge1xuICAgICAgICAgICAgICAgIGNvZGU6IFpvZElzc3VlQ29kZS5pbnZhbGlkX3VuaW9uLFxuICAgICAgICAgICAgICAgIHVuaW9uRXJyb3JzLFxuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICByZXR1cm4gSU5WQUxJRDtcbiAgICAgICAgfVxuICAgIH1cbiAgICBnZXQgb3B0aW9ucygpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2RlZi5vcHRpb25zO1xuICAgIH1cbn1cblpvZFVuaW9uLmNyZWF0ZSA9ICh0eXBlcywgcGFyYW1zKSA9PiB7XG4gICAgcmV0dXJuIG5ldyBab2RVbmlvbih7XG4gICAgICAgIG9wdGlvbnM6IHR5cGVzLFxuICAgICAgICB0eXBlTmFtZTogWm9kRmlyc3RQYXJ0eVR5cGVLaW5kLlpvZFVuaW9uLFxuICAgICAgICAuLi5wcm9jZXNzQ3JlYXRlUGFyYW1zKHBhcmFtcyksXG4gICAgfSk7XG59O1xuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLy8vLy8vLy8vICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8vLy8vLy8vL1xuLy8vLy8vLy8vLyAgICAgIFpvZERpc2NyaW1pbmF0ZWRVbmlvbiAgICAgIC8vLy8vLy8vLy9cbi8vLy8vLy8vLy8gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLy8vLy8vLy8vXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbmNvbnN0IGdldERpc2NyaW1pbmF0b3IgPSAodHlwZSkgPT4ge1xuICAgIGlmICh0eXBlIGluc3RhbmNlb2YgWm9kTGF6eSkge1xuICAgICAgICByZXR1cm4gZ2V0RGlzY3JpbWluYXRvcih0eXBlLnNjaGVtYSk7XG4gICAgfVxuICAgIGVsc2UgaWYgKHR5cGUgaW5zdGFuY2VvZiBab2RFZmZlY3RzKSB7XG4gICAgICAgIHJldHVybiBnZXREaXNjcmltaW5hdG9yKHR5cGUuaW5uZXJUeXBlKCkpO1xuICAgIH1cbiAgICBlbHNlIGlmICh0eXBlIGluc3RhbmNlb2YgWm9kTGl0ZXJhbCkge1xuICAgICAgICByZXR1cm4gW3R5cGUudmFsdWVdO1xuICAgIH1cbiAgICBlbHNlIGlmICh0eXBlIGluc3RhbmNlb2YgWm9kRW51bSkge1xuICAgICAgICByZXR1cm4gdHlwZS5vcHRpb25zO1xuICAgIH1cbiAgICBlbHNlIGlmICh0eXBlIGluc3RhbmNlb2YgWm9kTmF0aXZlRW51bSkge1xuICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgYmFuL2JhblxuICAgICAgICByZXR1cm4gdXRpbC5vYmplY3RWYWx1ZXModHlwZS5lbnVtKTtcbiAgICB9XG4gICAgZWxzZSBpZiAodHlwZSBpbnN0YW5jZW9mIFpvZERlZmF1bHQpIHtcbiAgICAgICAgcmV0dXJuIGdldERpc2NyaW1pbmF0b3IodHlwZS5fZGVmLmlubmVyVHlwZSk7XG4gICAgfVxuICAgIGVsc2UgaWYgKHR5cGUgaW5zdGFuY2VvZiBab2RVbmRlZmluZWQpIHtcbiAgICAgICAgcmV0dXJuIFt1bmRlZmluZWRdO1xuICAgIH1cbiAgICBlbHNlIGlmICh0eXBlIGluc3RhbmNlb2YgWm9kTnVsbCkge1xuICAgICAgICByZXR1cm4gW251bGxdO1xuICAgIH1cbiAgICBlbHNlIGlmICh0eXBlIGluc3RhbmNlb2YgWm9kT3B0aW9uYWwpIHtcbiAgICAgICAgcmV0dXJuIFt1bmRlZmluZWQsIC4uLmdldERpc2NyaW1pbmF0b3IodHlwZS51bndyYXAoKSldO1xuICAgIH1cbiAgICBlbHNlIGlmICh0eXBlIGluc3RhbmNlb2YgWm9kTnVsbGFibGUpIHtcbiAgICAgICAgcmV0dXJuIFtudWxsLCAuLi5nZXREaXNjcmltaW5hdG9yKHR5cGUudW53cmFwKCkpXTtcbiAgICB9XG4gICAgZWxzZSBpZiAodHlwZSBpbnN0YW5jZW9mIFpvZEJyYW5kZWQpIHtcbiAgICAgICAgcmV0dXJuIGdldERpc2NyaW1pbmF0b3IodHlwZS51bndyYXAoKSk7XG4gICAgfVxuICAgIGVsc2UgaWYgKHR5cGUgaW5zdGFuY2VvZiBab2RSZWFkb25seSkge1xuICAgICAgICByZXR1cm4gZ2V0RGlzY3JpbWluYXRvcih0eXBlLnVud3JhcCgpKTtcbiAgICB9XG4gICAgZWxzZSBpZiAodHlwZSBpbnN0YW5jZW9mIFpvZENhdGNoKSB7XG4gICAgICAgIHJldHVybiBnZXREaXNjcmltaW5hdG9yKHR5cGUuX2RlZi5pbm5lclR5cGUpO1xuICAgIH1cbiAgICBlbHNlIHtcbiAgICAgICAgcmV0dXJuIFtdO1xuICAgIH1cbn07XG5leHBvcnQgY2xhc3MgWm9kRGlzY3JpbWluYXRlZFVuaW9uIGV4dGVuZHMgWm9kVHlwZSB7XG4gICAgX3BhcnNlKGlucHV0KSB7XG4gICAgICAgIGNvbnN0IHsgY3R4IH0gPSB0aGlzLl9wcm9jZXNzSW5wdXRQYXJhbXMoaW5wdXQpO1xuICAgICAgICBpZiAoY3R4LnBhcnNlZFR5cGUgIT09IFpvZFBhcnNlZFR5cGUub2JqZWN0KSB7XG4gICAgICAgICAgICBhZGRJc3N1ZVRvQ29udGV4dChjdHgsIHtcbiAgICAgICAgICAgICAgICBjb2RlOiBab2RJc3N1ZUNvZGUuaW52YWxpZF90eXBlLFxuICAgICAgICAgICAgICAgIGV4cGVjdGVkOiBab2RQYXJzZWRUeXBlLm9iamVjdCxcbiAgICAgICAgICAgICAgICByZWNlaXZlZDogY3R4LnBhcnNlZFR5cGUsXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIHJldHVybiBJTlZBTElEO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IGRpc2NyaW1pbmF0b3IgPSB0aGlzLmRpc2NyaW1pbmF0b3I7XG4gICAgICAgIGNvbnN0IGRpc2NyaW1pbmF0b3JWYWx1ZSA9IGN0eC5kYXRhW2Rpc2NyaW1pbmF0b3JdO1xuICAgICAgICBjb25zdCBvcHRpb24gPSB0aGlzLm9wdGlvbnNNYXAuZ2V0KGRpc2NyaW1pbmF0b3JWYWx1ZSk7XG4gICAgICAgIGlmICghb3B0aW9uKSB7XG4gICAgICAgICAgICBhZGRJc3N1ZVRvQ29udGV4dChjdHgsIHtcbiAgICAgICAgICAgICAgICBjb2RlOiBab2RJc3N1ZUNvZGUuaW52YWxpZF91bmlvbl9kaXNjcmltaW5hdG9yLFxuICAgICAgICAgICAgICAgIG9wdGlvbnM6IEFycmF5LmZyb20odGhpcy5vcHRpb25zTWFwLmtleXMoKSksXG4gICAgICAgICAgICAgICAgcGF0aDogW2Rpc2NyaW1pbmF0b3JdLFxuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICByZXR1cm4gSU5WQUxJRDtcbiAgICAgICAgfVxuICAgICAgICBpZiAoY3R4LmNvbW1vbi5hc3luYykge1xuICAgICAgICAgICAgcmV0dXJuIG9wdGlvbi5fcGFyc2VBc3luYyh7XG4gICAgICAgICAgICAgICAgZGF0YTogY3R4LmRhdGEsXG4gICAgICAgICAgICAgICAgcGF0aDogY3R4LnBhdGgsXG4gICAgICAgICAgICAgICAgcGFyZW50OiBjdHgsXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgIHJldHVybiBvcHRpb24uX3BhcnNlU3luYyh7XG4gICAgICAgICAgICAgICAgZGF0YTogY3R4LmRhdGEsXG4gICAgICAgICAgICAgICAgcGF0aDogY3R4LnBhdGgsXG4gICAgICAgICAgICAgICAgcGFyZW50OiBjdHgsXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgIH1cbiAgICBnZXQgZGlzY3JpbWluYXRvcigpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2RlZi5kaXNjcmltaW5hdG9yO1xuICAgIH1cbiAgICBnZXQgb3B0aW9ucygpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2RlZi5vcHRpb25zO1xuICAgIH1cbiAgICBnZXQgb3B0aW9uc01hcCgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2RlZi5vcHRpb25zTWFwO1xuICAgIH1cbiAgICAvKipcbiAgICAgKiBUaGUgY29uc3RydWN0b3Igb2YgdGhlIGRpc2NyaW1pbmF0ZWQgdW5pb24gc2NoZW1hLiBJdHMgYmVoYXZpb3VyIGlzIHZlcnkgc2ltaWxhciB0byB0aGF0IG9mIHRoZSBub3JtYWwgei51bmlvbigpIGNvbnN0cnVjdG9yLlxuICAgICAqIEhvd2V2ZXIsIGl0IG9ubHkgYWxsb3dzIGEgdW5pb24gb2Ygb2JqZWN0cywgYWxsIG9mIHdoaWNoIG5lZWQgdG8gc2hhcmUgYSBkaXNjcmltaW5hdG9yIHByb3BlcnR5LiBUaGlzIHByb3BlcnR5IG11c3RcbiAgICAgKiBoYXZlIGEgZGlmZmVyZW50IHZhbHVlIGZvciBlYWNoIG9iamVjdCBpbiB0aGUgdW5pb24uXG4gICAgICogQHBhcmFtIGRpc2NyaW1pbmF0b3IgdGhlIG5hbWUgb2YgdGhlIGRpc2NyaW1pbmF0b3IgcHJvcGVydHlcbiAgICAgKiBAcGFyYW0gdHlwZXMgYW4gYXJyYXkgb2Ygb2JqZWN0IHNjaGVtYXNcbiAgICAgKiBAcGFyYW0gcGFyYW1zXG4gICAgICovXG4gICAgc3RhdGljIGNyZWF0ZShkaXNjcmltaW5hdG9yLCBvcHRpb25zLCBwYXJhbXMpIHtcbiAgICAgICAgLy8gR2V0IGFsbCB0aGUgdmFsaWQgZGlzY3JpbWluYXRvciB2YWx1ZXNcbiAgICAgICAgY29uc3Qgb3B0aW9uc01hcCA9IG5ldyBNYXAoKTtcbiAgICAgICAgLy8gdHJ5IHtcbiAgICAgICAgZm9yIChjb25zdCB0eXBlIG9mIG9wdGlvbnMpIHtcbiAgICAgICAgICAgIGNvbnN0IGRpc2NyaW1pbmF0b3JWYWx1ZXMgPSBnZXREaXNjcmltaW5hdG9yKHR5cGUuc2hhcGVbZGlzY3JpbWluYXRvcl0pO1xuICAgICAgICAgICAgaWYgKCFkaXNjcmltaW5hdG9yVmFsdWVzLmxlbmd0aCkge1xuICAgICAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihgQSBkaXNjcmltaW5hdG9yIHZhbHVlIGZvciBrZXkgXFxgJHtkaXNjcmltaW5hdG9yfVxcYCBjb3VsZCBub3QgYmUgZXh0cmFjdGVkIGZyb20gYWxsIHNjaGVtYSBvcHRpb25zYCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBmb3IgKGNvbnN0IHZhbHVlIG9mIGRpc2NyaW1pbmF0b3JWYWx1ZXMpIHtcbiAgICAgICAgICAgICAgICBpZiAob3B0aW9uc01hcC5oYXModmFsdWUpKSB7XG4gICAgICAgICAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihgRGlzY3JpbWluYXRvciBwcm9wZXJ0eSAke1N0cmluZyhkaXNjcmltaW5hdG9yKX0gaGFzIGR1cGxpY2F0ZSB2YWx1ZSAke1N0cmluZyh2YWx1ZSl9YCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIG9wdGlvbnNNYXAuc2V0KHZhbHVlLCB0eXBlKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gbmV3IFpvZERpc2NyaW1pbmF0ZWRVbmlvbih7XG4gICAgICAgICAgICB0eXBlTmFtZTogWm9kRmlyc3RQYXJ0eVR5cGVLaW5kLlpvZERpc2NyaW1pbmF0ZWRVbmlvbixcbiAgICAgICAgICAgIGRpc2NyaW1pbmF0b3IsXG4gICAgICAgICAgICBvcHRpb25zLFxuICAgICAgICAgICAgb3B0aW9uc01hcCxcbiAgICAgICAgICAgIC4uLnByb2Nlc3NDcmVhdGVQYXJhbXMocGFyYW1zKSxcbiAgICAgICAgfSk7XG4gICAgfVxufVxuZnVuY3Rpb24gbWVyZ2VWYWx1ZXMoYSwgYikge1xuICAgIGNvbnN0IGFUeXBlID0gZ2V0UGFyc2VkVHlwZShhKTtcbiAgICBjb25zdCBiVHlwZSA9IGdldFBhcnNlZFR5cGUoYik7XG4gICAgaWYgKGEgPT09IGIpIHtcbiAgICAgICAgcmV0dXJuIHsgdmFsaWQ6IHRydWUsIGRhdGE6IGEgfTtcbiAgICB9XG4gICAgZWxzZSBpZiAoYVR5cGUgPT09IFpvZFBhcnNlZFR5cGUub2JqZWN0ICYmIGJUeXBlID09PSBab2RQYXJzZWRUeXBlLm9iamVjdCkge1xuICAgICAgICBjb25zdCBiS2V5cyA9IHV0aWwub2JqZWN0S2V5cyhiKTtcbiAgICAgICAgY29uc3Qgc2hhcmVkS2V5cyA9IHV0aWwub2JqZWN0S2V5cyhhKS5maWx0ZXIoKGtleSkgPT4gYktleXMuaW5kZXhPZihrZXkpICE9PSAtMSk7XG4gICAgICAgIGNvbnN0IG5ld09iaiA9IHsgLi4uYSwgLi4uYiB9O1xuICAgICAgICBmb3IgKGNvbnN0IGtleSBvZiBzaGFyZWRLZXlzKSB7XG4gICAgICAgICAgICBjb25zdCBzaGFyZWRWYWx1ZSA9IG1lcmdlVmFsdWVzKGFba2V5XSwgYltrZXldKTtcbiAgICAgICAgICAgIGlmICghc2hhcmVkVmFsdWUudmFsaWQpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4geyB2YWxpZDogZmFsc2UgfTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIG5ld09ialtrZXldID0gc2hhcmVkVmFsdWUuZGF0YTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4geyB2YWxpZDogdHJ1ZSwgZGF0YTogbmV3T2JqIH07XG4gICAgfVxuICAgIGVsc2UgaWYgKGFUeXBlID09PSBab2RQYXJzZWRUeXBlLmFycmF5ICYmIGJUeXBlID09PSBab2RQYXJzZWRUeXBlLmFycmF5KSB7XG4gICAgICAgIGlmIChhLmxlbmd0aCAhPT0gYi5sZW5ndGgpIHtcbiAgICAgICAgICAgIHJldHVybiB7IHZhbGlkOiBmYWxzZSB9O1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IG5ld0FycmF5ID0gW107XG4gICAgICAgIGZvciAobGV0IGluZGV4ID0gMDsgaW5kZXggPCBhLmxlbmd0aDsgaW5kZXgrKykge1xuICAgICAgICAgICAgY29uc3QgaXRlbUEgPSBhW2luZGV4XTtcbiAgICAgICAgICAgIGNvbnN0IGl0ZW1CID0gYltpbmRleF07XG4gICAgICAgICAgICBjb25zdCBzaGFyZWRWYWx1ZSA9IG1lcmdlVmFsdWVzKGl0ZW1BLCBpdGVtQik7XG4gICAgICAgICAgICBpZiAoIXNoYXJlZFZhbHVlLnZhbGlkKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHsgdmFsaWQ6IGZhbHNlIH07XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBuZXdBcnJheS5wdXNoKHNoYXJlZFZhbHVlLmRhdGEpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiB7IHZhbGlkOiB0cnVlLCBkYXRhOiBuZXdBcnJheSB9O1xuICAgIH1cbiAgICBlbHNlIGlmIChhVHlwZSA9PT0gWm9kUGFyc2VkVHlwZS5kYXRlICYmIGJUeXBlID09PSBab2RQYXJzZWRUeXBlLmRhdGUgJiYgK2EgPT09ICtiKSB7XG4gICAgICAgIHJldHVybiB7IHZhbGlkOiB0cnVlLCBkYXRhOiBhIH07XG4gICAgfVxuICAgIGVsc2Uge1xuICAgICAgICByZXR1cm4geyB2YWxpZDogZmFsc2UgfTtcbiAgICB9XG59XG5leHBvcnQgY2xhc3MgWm9kSW50ZXJzZWN0aW9uIGV4dGVuZHMgWm9kVHlwZSB7XG4gICAgX3BhcnNlKGlucHV0KSB7XG4gICAgICAgIGNvbnN0IHsgc3RhdHVzLCBjdHggfSA9IHRoaXMuX3Byb2Nlc3NJbnB1dFBhcmFtcyhpbnB1dCk7XG4gICAgICAgIGNvbnN0IGhhbmRsZVBhcnNlZCA9IChwYXJzZWRMZWZ0LCBwYXJzZWRSaWdodCkgPT4ge1xuICAgICAgICAgICAgaWYgKGlzQWJvcnRlZChwYXJzZWRMZWZ0KSB8fCBpc0Fib3J0ZWQocGFyc2VkUmlnaHQpKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIElOVkFMSUQ7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBjb25zdCBtZXJnZWQgPSBtZXJnZVZhbHVlcyhwYXJzZWRMZWZ0LnZhbHVlLCBwYXJzZWRSaWdodC52YWx1ZSk7XG4gICAgICAgICAgICBpZiAoIW1lcmdlZC52YWxpZCkge1xuICAgICAgICAgICAgICAgIGFkZElzc3VlVG9Db250ZXh0KGN0eCwge1xuICAgICAgICAgICAgICAgICAgICBjb2RlOiBab2RJc3N1ZUNvZGUuaW52YWxpZF9pbnRlcnNlY3Rpb25fdHlwZXMsXG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgcmV0dXJuIElOVkFMSUQ7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAoaXNEaXJ0eShwYXJzZWRMZWZ0KSB8fCBpc0RpcnR5KHBhcnNlZFJpZ2h0KSkge1xuICAgICAgICAgICAgICAgIHN0YXR1cy5kaXJ0eSgpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmV0dXJuIHsgc3RhdHVzOiBzdGF0dXMudmFsdWUsIHZhbHVlOiBtZXJnZWQuZGF0YSB9O1xuICAgICAgICB9O1xuICAgICAgICBpZiAoY3R4LmNvbW1vbi5hc3luYykge1xuICAgICAgICAgICAgcmV0dXJuIFByb21pc2UuYWxsKFtcbiAgICAgICAgICAgICAgICB0aGlzLl9kZWYubGVmdC5fcGFyc2VBc3luYyh7XG4gICAgICAgICAgICAgICAgICAgIGRhdGE6IGN0eC5kYXRhLFxuICAgICAgICAgICAgICAgICAgICBwYXRoOiBjdHgucGF0aCxcbiAgICAgICAgICAgICAgICAgICAgcGFyZW50OiBjdHgsXG4gICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICAgICAgdGhpcy5fZGVmLnJpZ2h0Ll9wYXJzZUFzeW5jKHtcbiAgICAgICAgICAgICAgICAgICAgZGF0YTogY3R4LmRhdGEsXG4gICAgICAgICAgICAgICAgICAgIHBhdGg6IGN0eC5wYXRoLFxuICAgICAgICAgICAgICAgICAgICBwYXJlbnQ6IGN0eCxcbiAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgIF0pLnRoZW4oKFtsZWZ0LCByaWdodF0pID0+IGhhbmRsZVBhcnNlZChsZWZ0LCByaWdodCkpO1xuICAgICAgICB9XG4gICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgcmV0dXJuIGhhbmRsZVBhcnNlZCh0aGlzLl9kZWYubGVmdC5fcGFyc2VTeW5jKHtcbiAgICAgICAgICAgICAgICBkYXRhOiBjdHguZGF0YSxcbiAgICAgICAgICAgICAgICBwYXRoOiBjdHgucGF0aCxcbiAgICAgICAgICAgICAgICBwYXJlbnQ6IGN0eCxcbiAgICAgICAgICAgIH0pLCB0aGlzLl9kZWYucmlnaHQuX3BhcnNlU3luYyh7XG4gICAgICAgICAgICAgICAgZGF0YTogY3R4LmRhdGEsXG4gICAgICAgICAgICAgICAgcGF0aDogY3R4LnBhdGgsXG4gICAgICAgICAgICAgICAgcGFyZW50OiBjdHgsXG4gICAgICAgICAgICB9KSk7XG4gICAgICAgIH1cbiAgICB9XG59XG5ab2RJbnRlcnNlY3Rpb24uY3JlYXRlID0gKGxlZnQsIHJpZ2h0LCBwYXJhbXMpID0+IHtcbiAgICByZXR1cm4gbmV3IFpvZEludGVyc2VjdGlvbih7XG4gICAgICAgIGxlZnQ6IGxlZnQsXG4gICAgICAgIHJpZ2h0OiByaWdodCxcbiAgICAgICAgdHlwZU5hbWU6IFpvZEZpcnN0UGFydHlUeXBlS2luZC5ab2RJbnRlcnNlY3Rpb24sXG4gICAgICAgIC4uLnByb2Nlc3NDcmVhdGVQYXJhbXMocGFyYW1zKSxcbiAgICB9KTtcbn07XG4vLyB0eXBlIFpvZFR1cGxlSXRlbXMgPSBbWm9kVHlwZUFueSwgLi4uWm9kVHlwZUFueVtdXTtcbmV4cG9ydCBjbGFzcyBab2RUdXBsZSBleHRlbmRzIFpvZFR5cGUge1xuICAgIF9wYXJzZShpbnB1dCkge1xuICAgICAgICBjb25zdCB7IHN0YXR1cywgY3R4IH0gPSB0aGlzLl9wcm9jZXNzSW5wdXRQYXJhbXMoaW5wdXQpO1xuICAgICAgICBpZiAoY3R4LnBhcnNlZFR5cGUgIT09IFpvZFBhcnNlZFR5cGUuYXJyYXkpIHtcbiAgICAgICAgICAgIGFkZElzc3VlVG9Db250ZXh0KGN0eCwge1xuICAgICAgICAgICAgICAgIGNvZGU6IFpvZElzc3VlQ29kZS5pbnZhbGlkX3R5cGUsXG4gICAgICAgICAgICAgICAgZXhwZWN0ZWQ6IFpvZFBhcnNlZFR5cGUuYXJyYXksXG4gICAgICAgICAgICAgICAgcmVjZWl2ZWQ6IGN0eC5wYXJzZWRUeXBlLFxuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICByZXR1cm4gSU5WQUxJRDtcbiAgICAgICAgfVxuICAgICAgICBpZiAoY3R4LmRhdGEubGVuZ3RoIDwgdGhpcy5fZGVmLml0ZW1zLmxlbmd0aCkge1xuICAgICAgICAgICAgYWRkSXNzdWVUb0NvbnRleHQoY3R4LCB7XG4gICAgICAgICAgICAgICAgY29kZTogWm9kSXNzdWVDb2RlLnRvb19zbWFsbCxcbiAgICAgICAgICAgICAgICBtaW5pbXVtOiB0aGlzLl9kZWYuaXRlbXMubGVuZ3RoLFxuICAgICAgICAgICAgICAgIGluY2x1c2l2ZTogdHJ1ZSxcbiAgICAgICAgICAgICAgICBleGFjdDogZmFsc2UsXG4gICAgICAgICAgICAgICAgdHlwZTogXCJhcnJheVwiLFxuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICByZXR1cm4gSU5WQUxJRDtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCByZXN0ID0gdGhpcy5fZGVmLnJlc3Q7XG4gICAgICAgIGlmICghcmVzdCAmJiBjdHguZGF0YS5sZW5ndGggPiB0aGlzLl9kZWYuaXRlbXMubGVuZ3RoKSB7XG4gICAgICAgICAgICBhZGRJc3N1ZVRvQ29udGV4dChjdHgsIHtcbiAgICAgICAgICAgICAgICBjb2RlOiBab2RJc3N1ZUNvZGUudG9vX2JpZyxcbiAgICAgICAgICAgICAgICBtYXhpbXVtOiB0aGlzLl9kZWYuaXRlbXMubGVuZ3RoLFxuICAgICAgICAgICAgICAgIGluY2x1c2l2ZTogdHJ1ZSxcbiAgICAgICAgICAgICAgICBleGFjdDogZmFsc2UsXG4gICAgICAgICAgICAgICAgdHlwZTogXCJhcnJheVwiLFxuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICBzdGF0dXMuZGlydHkoKTtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBpdGVtcyA9IFsuLi5jdHguZGF0YV1cbiAgICAgICAgICAgIC5tYXAoKGl0ZW0sIGl0ZW1JbmRleCkgPT4ge1xuICAgICAgICAgICAgY29uc3Qgc2NoZW1hID0gdGhpcy5fZGVmLml0ZW1zW2l0ZW1JbmRleF0gfHwgdGhpcy5fZGVmLnJlc3Q7XG4gICAgICAgICAgICBpZiAoIXNjaGVtYSlcbiAgICAgICAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgICAgIHJldHVybiBzY2hlbWEuX3BhcnNlKG5ldyBQYXJzZUlucHV0TGF6eVBhdGgoY3R4LCBpdGVtLCBjdHgucGF0aCwgaXRlbUluZGV4KSk7XG4gICAgICAgIH0pXG4gICAgICAgICAgICAuZmlsdGVyKCh4KSA9PiAhIXgpOyAvLyBmaWx0ZXIgbnVsbHNcbiAgICAgICAgaWYgKGN0eC5jb21tb24uYXN5bmMpIHtcbiAgICAgICAgICAgIHJldHVybiBQcm9taXNlLmFsbChpdGVtcykudGhlbigocmVzdWx0cykgPT4ge1xuICAgICAgICAgICAgICAgIHJldHVybiBQYXJzZVN0YXR1cy5tZXJnZUFycmF5KHN0YXR1cywgcmVzdWx0cyk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgIHJldHVybiBQYXJzZVN0YXR1cy5tZXJnZUFycmF5KHN0YXR1cywgaXRlbXMpO1xuICAgICAgICB9XG4gICAgfVxuICAgIGdldCBpdGVtcygpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2RlZi5pdGVtcztcbiAgICB9XG4gICAgcmVzdChyZXN0KSB7XG4gICAgICAgIHJldHVybiBuZXcgWm9kVHVwbGUoe1xuICAgICAgICAgICAgLi4udGhpcy5fZGVmLFxuICAgICAgICAgICAgcmVzdCxcbiAgICAgICAgfSk7XG4gICAgfVxufVxuWm9kVHVwbGUuY3JlYXRlID0gKHNjaGVtYXMsIHBhcmFtcykgPT4ge1xuICAgIGlmICghQXJyYXkuaXNBcnJheShzY2hlbWFzKSkge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXCJZb3UgbXVzdCBwYXNzIGFuIGFycmF5IG9mIHNjaGVtYXMgdG8gei50dXBsZShbIC4uLiBdKVwiKTtcbiAgICB9XG4gICAgcmV0dXJuIG5ldyBab2RUdXBsZSh7XG4gICAgICAgIGl0ZW1zOiBzY2hlbWFzLFxuICAgICAgICB0eXBlTmFtZTogWm9kRmlyc3RQYXJ0eVR5cGVLaW5kLlpvZFR1cGxlLFxuICAgICAgICByZXN0OiBudWxsLFxuICAgICAgICAuLi5wcm9jZXNzQ3JlYXRlUGFyYW1zKHBhcmFtcyksXG4gICAgfSk7XG59O1xuZXhwb3J0IGNsYXNzIFpvZFJlY29yZCBleHRlbmRzIFpvZFR5cGUge1xuICAgIGdldCBrZXlTY2hlbWEoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLl9kZWYua2V5VHlwZTtcbiAgICB9XG4gICAgZ2V0IHZhbHVlU2NoZW1hKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5fZGVmLnZhbHVlVHlwZTtcbiAgICB9XG4gICAgX3BhcnNlKGlucHV0KSB7XG4gICAgICAgIGNvbnN0IHsgc3RhdHVzLCBjdHggfSA9IHRoaXMuX3Byb2Nlc3NJbnB1dFBhcmFtcyhpbnB1dCk7XG4gICAgICAgIGlmIChjdHgucGFyc2VkVHlwZSAhPT0gWm9kUGFyc2VkVHlwZS5vYmplY3QpIHtcbiAgICAgICAgICAgIGFkZElzc3VlVG9Db250ZXh0KGN0eCwge1xuICAgICAgICAgICAgICAgIGNvZGU6IFpvZElzc3VlQ29kZS5pbnZhbGlkX3R5cGUsXG4gICAgICAgICAgICAgICAgZXhwZWN0ZWQ6IFpvZFBhcnNlZFR5cGUub2JqZWN0LFxuICAgICAgICAgICAgICAgIHJlY2VpdmVkOiBjdHgucGFyc2VkVHlwZSxcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgcmV0dXJuIElOVkFMSUQ7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgcGFpcnMgPSBbXTtcbiAgICAgICAgY29uc3Qga2V5VHlwZSA9IHRoaXMuX2RlZi5rZXlUeXBlO1xuICAgICAgICBjb25zdCB2YWx1ZVR5cGUgPSB0aGlzLl9kZWYudmFsdWVUeXBlO1xuICAgICAgICBmb3IgKGNvbnN0IGtleSBpbiBjdHguZGF0YSkge1xuICAgICAgICAgICAgcGFpcnMucHVzaCh7XG4gICAgICAgICAgICAgICAga2V5OiBrZXlUeXBlLl9wYXJzZShuZXcgUGFyc2VJbnB1dExhenlQYXRoKGN0eCwga2V5LCBjdHgucGF0aCwga2V5KSksXG4gICAgICAgICAgICAgICAgdmFsdWU6IHZhbHVlVHlwZS5fcGFyc2UobmV3IFBhcnNlSW5wdXRMYXp5UGF0aChjdHgsIGN0eC5kYXRhW2tleV0sIGN0eC5wYXRoLCBrZXkpKSxcbiAgICAgICAgICAgICAgICBhbHdheXNTZXQ6IGtleSBpbiBjdHguZGF0YSxcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICAgIGlmIChjdHguY29tbW9uLmFzeW5jKSB7XG4gICAgICAgICAgICByZXR1cm4gUGFyc2VTdGF0dXMubWVyZ2VPYmplY3RBc3luYyhzdGF0dXMsIHBhaXJzKTtcbiAgICAgICAgfVxuICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgIHJldHVybiBQYXJzZVN0YXR1cy5tZXJnZU9iamVjdFN5bmMoc3RhdHVzLCBwYWlycyk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgZ2V0IGVsZW1lbnQoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLl9kZWYudmFsdWVUeXBlO1xuICAgIH1cbiAgICBzdGF0aWMgY3JlYXRlKGZpcnN0LCBzZWNvbmQsIHRoaXJkKSB7XG4gICAgICAgIGlmIChzZWNvbmQgaW5zdGFuY2VvZiBab2RUeXBlKSB7XG4gICAgICAgICAgICByZXR1cm4gbmV3IFpvZFJlY29yZCh7XG4gICAgICAgICAgICAgICAga2V5VHlwZTogZmlyc3QsXG4gICAgICAgICAgICAgICAgdmFsdWVUeXBlOiBzZWNvbmQsXG4gICAgICAgICAgICAgICAgdHlwZU5hbWU6IFpvZEZpcnN0UGFydHlUeXBlS2luZC5ab2RSZWNvcmQsXG4gICAgICAgICAgICAgICAgLi4ucHJvY2Vzc0NyZWF0ZVBhcmFtcyh0aGlyZCksXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gbmV3IFpvZFJlY29yZCh7XG4gICAgICAgICAgICBrZXlUeXBlOiBab2RTdHJpbmcuY3JlYXRlKCksXG4gICAgICAgICAgICB2YWx1ZVR5cGU6IGZpcnN0LFxuICAgICAgICAgICAgdHlwZU5hbWU6IFpvZEZpcnN0UGFydHlUeXBlS2luZC5ab2RSZWNvcmQsXG4gICAgICAgICAgICAuLi5wcm9jZXNzQ3JlYXRlUGFyYW1zKHNlY29uZCksXG4gICAgICAgIH0pO1xuICAgIH1cbn1cbmV4cG9ydCBjbGFzcyBab2RNYXAgZXh0ZW5kcyBab2RUeXBlIHtcbiAgICBnZXQga2V5U2NoZW1hKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5fZGVmLmtleVR5cGU7XG4gICAgfVxuICAgIGdldCB2YWx1ZVNjaGVtYSgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2RlZi52YWx1ZVR5cGU7XG4gICAgfVxuICAgIF9wYXJzZShpbnB1dCkge1xuICAgICAgICBjb25zdCB7IHN0YXR1cywgY3R4IH0gPSB0aGlzLl9wcm9jZXNzSW5wdXRQYXJhbXMoaW5wdXQpO1xuICAgICAgICBpZiAoY3R4LnBhcnNlZFR5cGUgIT09IFpvZFBhcnNlZFR5cGUubWFwKSB7XG4gICAgICAgICAgICBhZGRJc3N1ZVRvQ29udGV4dChjdHgsIHtcbiAgICAgICAgICAgICAgICBjb2RlOiBab2RJc3N1ZUNvZGUuaW52YWxpZF90eXBlLFxuICAgICAgICAgICAgICAgIGV4cGVjdGVkOiBab2RQYXJzZWRUeXBlLm1hcCxcbiAgICAgICAgICAgICAgICByZWNlaXZlZDogY3R4LnBhcnNlZFR5cGUsXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIHJldHVybiBJTlZBTElEO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IGtleVR5cGUgPSB0aGlzLl9kZWYua2V5VHlwZTtcbiAgICAgICAgY29uc3QgdmFsdWVUeXBlID0gdGhpcy5fZGVmLnZhbHVlVHlwZTtcbiAgICAgICAgY29uc3QgcGFpcnMgPSBbLi4uY3R4LmRhdGEuZW50cmllcygpXS5tYXAoKFtrZXksIHZhbHVlXSwgaW5kZXgpID0+IHtcbiAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAga2V5OiBrZXlUeXBlLl9wYXJzZShuZXcgUGFyc2VJbnB1dExhenlQYXRoKGN0eCwga2V5LCBjdHgucGF0aCwgW2luZGV4LCBcImtleVwiXSkpLFxuICAgICAgICAgICAgICAgIHZhbHVlOiB2YWx1ZVR5cGUuX3BhcnNlKG5ldyBQYXJzZUlucHV0TGF6eVBhdGgoY3R4LCB2YWx1ZSwgY3R4LnBhdGgsIFtpbmRleCwgXCJ2YWx1ZVwiXSkpLFxuICAgICAgICAgICAgfTtcbiAgICAgICAgfSk7XG4gICAgICAgIGlmIChjdHguY29tbW9uLmFzeW5jKSB7XG4gICAgICAgICAgICBjb25zdCBmaW5hbE1hcCA9IG5ldyBNYXAoKTtcbiAgICAgICAgICAgIHJldHVybiBQcm9taXNlLnJlc29sdmUoKS50aGVuKGFzeW5jICgpID0+IHtcbiAgICAgICAgICAgICAgICBmb3IgKGNvbnN0IHBhaXIgb2YgcGFpcnMpIHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3Qga2V5ID0gYXdhaXQgcGFpci5rZXk7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHZhbHVlID0gYXdhaXQgcGFpci52YWx1ZTtcbiAgICAgICAgICAgICAgICAgICAgaWYgKGtleS5zdGF0dXMgPT09IFwiYWJvcnRlZFwiIHx8IHZhbHVlLnN0YXR1cyA9PT0gXCJhYm9ydGVkXCIpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBJTlZBTElEO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIGlmIChrZXkuc3RhdHVzID09PSBcImRpcnR5XCIgfHwgdmFsdWUuc3RhdHVzID09PSBcImRpcnR5XCIpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHN0YXR1cy5kaXJ0eSgpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIGZpbmFsTWFwLnNldChrZXkudmFsdWUsIHZhbHVlLnZhbHVlKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgcmV0dXJuIHsgc3RhdHVzOiBzdGF0dXMudmFsdWUsIHZhbHVlOiBmaW5hbE1hcCB9O1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICBjb25zdCBmaW5hbE1hcCA9IG5ldyBNYXAoKTtcbiAgICAgICAgICAgIGZvciAoY29uc3QgcGFpciBvZiBwYWlycykge1xuICAgICAgICAgICAgICAgIGNvbnN0IGtleSA9IHBhaXIua2V5O1xuICAgICAgICAgICAgICAgIGNvbnN0IHZhbHVlID0gcGFpci52YWx1ZTtcbiAgICAgICAgICAgICAgICBpZiAoa2V5LnN0YXR1cyA9PT0gXCJhYm9ydGVkXCIgfHwgdmFsdWUuc3RhdHVzID09PSBcImFib3J0ZWRcIikge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gSU5WQUxJRDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaWYgKGtleS5zdGF0dXMgPT09IFwiZGlydHlcIiB8fCB2YWx1ZS5zdGF0dXMgPT09IFwiZGlydHlcIikge1xuICAgICAgICAgICAgICAgICAgICBzdGF0dXMuZGlydHkoKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgZmluYWxNYXAuc2V0KGtleS52YWx1ZSwgdmFsdWUudmFsdWUpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmV0dXJuIHsgc3RhdHVzOiBzdGF0dXMudmFsdWUsIHZhbHVlOiBmaW5hbE1hcCB9O1xuICAgICAgICB9XG4gICAgfVxufVxuWm9kTWFwLmNyZWF0ZSA9IChrZXlUeXBlLCB2YWx1ZVR5cGUsIHBhcmFtcykgPT4ge1xuICAgIHJldHVybiBuZXcgWm9kTWFwKHtcbiAgICAgICAgdmFsdWVUeXBlLFxuICAgICAgICBrZXlUeXBlLFxuICAgICAgICB0eXBlTmFtZTogWm9kRmlyc3RQYXJ0eVR5cGVLaW5kLlpvZE1hcCxcbiAgICAgICAgLi4ucHJvY2Vzc0NyZWF0ZVBhcmFtcyhwYXJhbXMpLFxuICAgIH0pO1xufTtcbmV4cG9ydCBjbGFzcyBab2RTZXQgZXh0ZW5kcyBab2RUeXBlIHtcbiAgICBfcGFyc2UoaW5wdXQpIHtcbiAgICAgICAgY29uc3QgeyBzdGF0dXMsIGN0eCB9ID0gdGhpcy5fcHJvY2Vzc0lucHV0UGFyYW1zKGlucHV0KTtcbiAgICAgICAgaWYgKGN0eC5wYXJzZWRUeXBlICE9PSBab2RQYXJzZWRUeXBlLnNldCkge1xuICAgICAgICAgICAgYWRkSXNzdWVUb0NvbnRleHQoY3R4LCB7XG4gICAgICAgICAgICAgICAgY29kZTogWm9kSXNzdWVDb2RlLmludmFsaWRfdHlwZSxcbiAgICAgICAgICAgICAgICBleHBlY3RlZDogWm9kUGFyc2VkVHlwZS5zZXQsXG4gICAgICAgICAgICAgICAgcmVjZWl2ZWQ6IGN0eC5wYXJzZWRUeXBlLFxuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICByZXR1cm4gSU5WQUxJRDtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBkZWYgPSB0aGlzLl9kZWY7XG4gICAgICAgIGlmIChkZWYubWluU2l6ZSAhPT0gbnVsbCkge1xuICAgICAgICAgICAgaWYgKGN0eC5kYXRhLnNpemUgPCBkZWYubWluU2l6ZS52YWx1ZSkge1xuICAgICAgICAgICAgICAgIGFkZElzc3VlVG9Db250ZXh0KGN0eCwge1xuICAgICAgICAgICAgICAgICAgICBjb2RlOiBab2RJc3N1ZUNvZGUudG9vX3NtYWxsLFxuICAgICAgICAgICAgICAgICAgICBtaW5pbXVtOiBkZWYubWluU2l6ZS52YWx1ZSxcbiAgICAgICAgICAgICAgICAgICAgdHlwZTogXCJzZXRcIixcbiAgICAgICAgICAgICAgICAgICAgaW5jbHVzaXZlOiB0cnVlLFxuICAgICAgICAgICAgICAgICAgICBleGFjdDogZmFsc2UsXG4gICAgICAgICAgICAgICAgICAgIG1lc3NhZ2U6IGRlZi5taW5TaXplLm1lc3NhZ2UsXG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgc3RhdHVzLmRpcnR5KCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGRlZi5tYXhTaXplICE9PSBudWxsKSB7XG4gICAgICAgICAgICBpZiAoY3R4LmRhdGEuc2l6ZSA+IGRlZi5tYXhTaXplLnZhbHVlKSB7XG4gICAgICAgICAgICAgICAgYWRkSXNzdWVUb0NvbnRleHQoY3R4LCB7XG4gICAgICAgICAgICAgICAgICAgIGNvZGU6IFpvZElzc3VlQ29kZS50b29fYmlnLFxuICAgICAgICAgICAgICAgICAgICBtYXhpbXVtOiBkZWYubWF4U2l6ZS52YWx1ZSxcbiAgICAgICAgICAgICAgICAgICAgdHlwZTogXCJzZXRcIixcbiAgICAgICAgICAgICAgICAgICAgaW5jbHVzaXZlOiB0cnVlLFxuICAgICAgICAgICAgICAgICAgICBleGFjdDogZmFsc2UsXG4gICAgICAgICAgICAgICAgICAgIG1lc3NhZ2U6IGRlZi5tYXhTaXplLm1lc3NhZ2UsXG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgc3RhdHVzLmRpcnR5KCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgdmFsdWVUeXBlID0gdGhpcy5fZGVmLnZhbHVlVHlwZTtcbiAgICAgICAgZnVuY3Rpb24gZmluYWxpemVTZXQoZWxlbWVudHMpIHtcbiAgICAgICAgICAgIGNvbnN0IHBhcnNlZFNldCA9IG5ldyBTZXQoKTtcbiAgICAgICAgICAgIGZvciAoY29uc3QgZWxlbWVudCBvZiBlbGVtZW50cykge1xuICAgICAgICAgICAgICAgIGlmIChlbGVtZW50LnN0YXR1cyA9PT0gXCJhYm9ydGVkXCIpXG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBJTlZBTElEO1xuICAgICAgICAgICAgICAgIGlmIChlbGVtZW50LnN0YXR1cyA9PT0gXCJkaXJ0eVwiKVxuICAgICAgICAgICAgICAgICAgICBzdGF0dXMuZGlydHkoKTtcbiAgICAgICAgICAgICAgICBwYXJzZWRTZXQuYWRkKGVsZW1lbnQudmFsdWUpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmV0dXJuIHsgc3RhdHVzOiBzdGF0dXMudmFsdWUsIHZhbHVlOiBwYXJzZWRTZXQgfTtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBlbGVtZW50cyA9IFsuLi5jdHguZGF0YS52YWx1ZXMoKV0ubWFwKChpdGVtLCBpKSA9PiB2YWx1ZVR5cGUuX3BhcnNlKG5ldyBQYXJzZUlucHV0TGF6eVBhdGgoY3R4LCBpdGVtLCBjdHgucGF0aCwgaSkpKTtcbiAgICAgICAgaWYgKGN0eC5jb21tb24uYXN5bmMpIHtcbiAgICAgICAgICAgIHJldHVybiBQcm9taXNlLmFsbChlbGVtZW50cykudGhlbigoZWxlbWVudHMpID0+IGZpbmFsaXplU2V0KGVsZW1lbnRzKSk7XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICByZXR1cm4gZmluYWxpemVTZXQoZWxlbWVudHMpO1xuICAgICAgICB9XG4gICAgfVxuICAgIG1pbihtaW5TaXplLCBtZXNzYWdlKSB7XG4gICAgICAgIHJldHVybiBuZXcgWm9kU2V0KHtcbiAgICAgICAgICAgIC4uLnRoaXMuX2RlZixcbiAgICAgICAgICAgIG1pblNpemU6IHsgdmFsdWU6IG1pblNpemUsIG1lc3NhZ2U6IGVycm9yVXRpbC50b1N0cmluZyhtZXNzYWdlKSB9LFxuICAgICAgICB9KTtcbiAgICB9XG4gICAgbWF4KG1heFNpemUsIG1lc3NhZ2UpIHtcbiAgICAgICAgcmV0dXJuIG5ldyBab2RTZXQoe1xuICAgICAgICAgICAgLi4udGhpcy5fZGVmLFxuICAgICAgICAgICAgbWF4U2l6ZTogeyB2YWx1ZTogbWF4U2l6ZSwgbWVzc2FnZTogZXJyb3JVdGlsLnRvU3RyaW5nKG1lc3NhZ2UpIH0sXG4gICAgICAgIH0pO1xuICAgIH1cbiAgICBzaXplKHNpemUsIG1lc3NhZ2UpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMubWluKHNpemUsIG1lc3NhZ2UpLm1heChzaXplLCBtZXNzYWdlKTtcbiAgICB9XG4gICAgbm9uZW1wdHkobWVzc2FnZSkge1xuICAgICAgICByZXR1cm4gdGhpcy5taW4oMSwgbWVzc2FnZSk7XG4gICAgfVxufVxuWm9kU2V0LmNyZWF0ZSA9ICh2YWx1ZVR5cGUsIHBhcmFtcykgPT4ge1xuICAgIHJldHVybiBuZXcgWm9kU2V0KHtcbiAgICAgICAgdmFsdWVUeXBlLFxuICAgICAgICBtaW5TaXplOiBudWxsLFxuICAgICAgICBtYXhTaXplOiBudWxsLFxuICAgICAgICB0eXBlTmFtZTogWm9kRmlyc3RQYXJ0eVR5cGVLaW5kLlpvZFNldCxcbiAgICAgICAgLi4ucHJvY2Vzc0NyZWF0ZVBhcmFtcyhwYXJhbXMpLFxuICAgIH0pO1xufTtcbmV4cG9ydCBjbGFzcyBab2RGdW5jdGlvbiBleHRlbmRzIFpvZFR5cGUge1xuICAgIGNvbnN0cnVjdG9yKCkge1xuICAgICAgICBzdXBlciguLi5hcmd1bWVudHMpO1xuICAgICAgICB0aGlzLnZhbGlkYXRlID0gdGhpcy5pbXBsZW1lbnQ7XG4gICAgfVxuICAgIF9wYXJzZShpbnB1dCkge1xuICAgICAgICBjb25zdCB7IGN0eCB9ID0gdGhpcy5fcHJvY2Vzc0lucHV0UGFyYW1zKGlucHV0KTtcbiAgICAgICAgaWYgKGN0eC5wYXJzZWRUeXBlICE9PSBab2RQYXJzZWRUeXBlLmZ1bmN0aW9uKSB7XG4gICAgICAgICAgICBhZGRJc3N1ZVRvQ29udGV4dChjdHgsIHtcbiAgICAgICAgICAgICAgICBjb2RlOiBab2RJc3N1ZUNvZGUuaW52YWxpZF90eXBlLFxuICAgICAgICAgICAgICAgIGV4cGVjdGVkOiBab2RQYXJzZWRUeXBlLmZ1bmN0aW9uLFxuICAgICAgICAgICAgICAgIHJlY2VpdmVkOiBjdHgucGFyc2VkVHlwZSxcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgcmV0dXJuIElOVkFMSUQ7XG4gICAgICAgIH1cbiAgICAgICAgZnVuY3Rpb24gbWFrZUFyZ3NJc3N1ZShhcmdzLCBlcnJvcikge1xuICAgICAgICAgICAgcmV0dXJuIG1ha2VJc3N1ZSh7XG4gICAgICAgICAgICAgICAgZGF0YTogYXJncyxcbiAgICAgICAgICAgICAgICBwYXRoOiBjdHgucGF0aCxcbiAgICAgICAgICAgICAgICBlcnJvck1hcHM6IFtjdHguY29tbW9uLmNvbnRleHR1YWxFcnJvck1hcCwgY3R4LnNjaGVtYUVycm9yTWFwLCBnZXRFcnJvck1hcCgpLCBkZWZhdWx0RXJyb3JNYXBdLmZpbHRlcigoeCkgPT4gISF4KSxcbiAgICAgICAgICAgICAgICBpc3N1ZURhdGE6IHtcbiAgICAgICAgICAgICAgICAgICAgY29kZTogWm9kSXNzdWVDb2RlLmludmFsaWRfYXJndW1lbnRzLFxuICAgICAgICAgICAgICAgICAgICBhcmd1bWVudHNFcnJvcjogZXJyb3IsXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICAgIGZ1bmN0aW9uIG1ha2VSZXR1cm5zSXNzdWUocmV0dXJucywgZXJyb3IpIHtcbiAgICAgICAgICAgIHJldHVybiBtYWtlSXNzdWUoe1xuICAgICAgICAgICAgICAgIGRhdGE6IHJldHVybnMsXG4gICAgICAgICAgICAgICAgcGF0aDogY3R4LnBhdGgsXG4gICAgICAgICAgICAgICAgZXJyb3JNYXBzOiBbY3R4LmNvbW1vbi5jb250ZXh0dWFsRXJyb3JNYXAsIGN0eC5zY2hlbWFFcnJvck1hcCwgZ2V0RXJyb3JNYXAoKSwgZGVmYXVsdEVycm9yTWFwXS5maWx0ZXIoKHgpID0+ICEheCksXG4gICAgICAgICAgICAgICAgaXNzdWVEYXRhOiB7XG4gICAgICAgICAgICAgICAgICAgIGNvZGU6IFpvZElzc3VlQ29kZS5pbnZhbGlkX3JldHVybl90eXBlLFxuICAgICAgICAgICAgICAgICAgICByZXR1cm5UeXBlRXJyb3I6IGVycm9yLFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBwYXJhbXMgPSB7IGVycm9yTWFwOiBjdHguY29tbW9uLmNvbnRleHR1YWxFcnJvck1hcCB9O1xuICAgICAgICBjb25zdCBmbiA9IGN0eC5kYXRhO1xuICAgICAgICBpZiAodGhpcy5fZGVmLnJldHVybnMgaW5zdGFuY2VvZiBab2RQcm9taXNlKSB7XG4gICAgICAgICAgICAvLyBXb3VsZCBsb3ZlIGEgd2F5IHRvIGF2b2lkIGRpc2FibGluZyB0aGlzIHJ1bGUsIGJ1dCB3ZSBuZWVkXG4gICAgICAgICAgICAvLyBhbiBhbGlhcyAodXNpbmcgYW4gYXJyb3cgZnVuY3Rpb24gd2FzIHdoYXQgY2F1c2VkIDI2NTEpLlxuICAgICAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby10aGlzLWFsaWFzXG4gICAgICAgICAgICBjb25zdCBtZSA9IHRoaXM7XG4gICAgICAgICAgICByZXR1cm4gT0soYXN5bmMgZnVuY3Rpb24gKC4uLmFyZ3MpIHtcbiAgICAgICAgICAgICAgICBjb25zdCBlcnJvciA9IG5ldyBab2RFcnJvcihbXSk7XG4gICAgICAgICAgICAgICAgY29uc3QgcGFyc2VkQXJncyA9IGF3YWl0IG1lLl9kZWYuYXJncy5wYXJzZUFzeW5jKGFyZ3MsIHBhcmFtcykuY2F0Y2goKGUpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgZXJyb3IuYWRkSXNzdWUobWFrZUFyZ3NJc3N1ZShhcmdzLCBlKSk7XG4gICAgICAgICAgICAgICAgICAgIHRocm93IGVycm9yO1xuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIGNvbnN0IHJlc3VsdCA9IGF3YWl0IFJlZmxlY3QuYXBwbHkoZm4sIHRoaXMsIHBhcnNlZEFyZ3MpO1xuICAgICAgICAgICAgICAgIGNvbnN0IHBhcnNlZFJldHVybnMgPSBhd2FpdCBtZS5fZGVmLnJldHVybnMuX2RlZi50eXBlXG4gICAgICAgICAgICAgICAgICAgIC5wYXJzZUFzeW5jKHJlc3VsdCwgcGFyYW1zKVxuICAgICAgICAgICAgICAgICAgICAuY2F0Y2goKGUpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgZXJyb3IuYWRkSXNzdWUobWFrZVJldHVybnNJc3N1ZShyZXN1bHQsIGUpKTtcbiAgICAgICAgICAgICAgICAgICAgdGhyb3cgZXJyb3I7XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHBhcnNlZFJldHVybnM7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgIC8vIFdvdWxkIGxvdmUgYSB3YXkgdG8gYXZvaWQgZGlzYWJsaW5nIHRoaXMgcnVsZSwgYnV0IHdlIG5lZWRcbiAgICAgICAgICAgIC8vIGFuIGFsaWFzICh1c2luZyBhbiBhcnJvdyBmdW5jdGlvbiB3YXMgd2hhdCBjYXVzZWQgMjY1MSkuXG4gICAgICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLXRoaXMtYWxpYXNcbiAgICAgICAgICAgIGNvbnN0IG1lID0gdGhpcztcbiAgICAgICAgICAgIHJldHVybiBPSyhmdW5jdGlvbiAoLi4uYXJncykge1xuICAgICAgICAgICAgICAgIGNvbnN0IHBhcnNlZEFyZ3MgPSBtZS5fZGVmLmFyZ3Muc2FmZVBhcnNlKGFyZ3MsIHBhcmFtcyk7XG4gICAgICAgICAgICAgICAgaWYgKCFwYXJzZWRBcmdzLnN1Y2Nlc3MpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhyb3cgbmV3IFpvZEVycm9yKFttYWtlQXJnc0lzc3VlKGFyZ3MsIHBhcnNlZEFyZ3MuZXJyb3IpXSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGNvbnN0IHJlc3VsdCA9IFJlZmxlY3QuYXBwbHkoZm4sIHRoaXMsIHBhcnNlZEFyZ3MuZGF0YSk7XG4gICAgICAgICAgICAgICAgY29uc3QgcGFyc2VkUmV0dXJucyA9IG1lLl9kZWYucmV0dXJucy5zYWZlUGFyc2UocmVzdWx0LCBwYXJhbXMpO1xuICAgICAgICAgICAgICAgIGlmICghcGFyc2VkUmV0dXJucy5zdWNjZXNzKSB7XG4gICAgICAgICAgICAgICAgICAgIHRocm93IG5ldyBab2RFcnJvcihbbWFrZVJldHVybnNJc3N1ZShyZXN1bHQsIHBhcnNlZFJldHVybnMuZXJyb3IpXSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHJldHVybiBwYXJzZWRSZXR1cm5zLmRhdGE7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgIH1cbiAgICBwYXJhbWV0ZXJzKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5fZGVmLmFyZ3M7XG4gICAgfVxuICAgIHJldHVyblR5cGUoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLl9kZWYucmV0dXJucztcbiAgICB9XG4gICAgYXJncyguLi5pdGVtcykge1xuICAgICAgICByZXR1cm4gbmV3IFpvZEZ1bmN0aW9uKHtcbiAgICAgICAgICAgIC4uLnRoaXMuX2RlZixcbiAgICAgICAgICAgIGFyZ3M6IFpvZFR1cGxlLmNyZWF0ZShpdGVtcykucmVzdChab2RVbmtub3duLmNyZWF0ZSgpKSxcbiAgICAgICAgfSk7XG4gICAgfVxuICAgIHJldHVybnMocmV0dXJuVHlwZSkge1xuICAgICAgICByZXR1cm4gbmV3IFpvZEZ1bmN0aW9uKHtcbiAgICAgICAgICAgIC4uLnRoaXMuX2RlZixcbiAgICAgICAgICAgIHJldHVybnM6IHJldHVyblR5cGUsXG4gICAgICAgIH0pO1xuICAgIH1cbiAgICBpbXBsZW1lbnQoZnVuYykge1xuICAgICAgICBjb25zdCB2YWxpZGF0ZWRGdW5jID0gdGhpcy5wYXJzZShmdW5jKTtcbiAgICAgICAgcmV0dXJuIHZhbGlkYXRlZEZ1bmM7XG4gICAgfVxuICAgIHN0cmljdEltcGxlbWVudChmdW5jKSB7XG4gICAgICAgIGNvbnN0IHZhbGlkYXRlZEZ1bmMgPSB0aGlzLnBhcnNlKGZ1bmMpO1xuICAgICAgICByZXR1cm4gdmFsaWRhdGVkRnVuYztcbiAgICB9XG4gICAgc3RhdGljIGNyZWF0ZShhcmdzLCByZXR1cm5zLCBwYXJhbXMpIHtcbiAgICAgICAgcmV0dXJuIG5ldyBab2RGdW5jdGlvbih7XG4gICAgICAgICAgICBhcmdzOiAoYXJncyA/IGFyZ3MgOiBab2RUdXBsZS5jcmVhdGUoW10pLnJlc3QoWm9kVW5rbm93bi5jcmVhdGUoKSkpLFxuICAgICAgICAgICAgcmV0dXJuczogcmV0dXJucyB8fCBab2RVbmtub3duLmNyZWF0ZSgpLFxuICAgICAgICAgICAgdHlwZU5hbWU6IFpvZEZpcnN0UGFydHlUeXBlS2luZC5ab2RGdW5jdGlvbixcbiAgICAgICAgICAgIC4uLnByb2Nlc3NDcmVhdGVQYXJhbXMocGFyYW1zKSxcbiAgICAgICAgfSk7XG4gICAgfVxufVxuZXhwb3J0IGNsYXNzIFpvZExhenkgZXh0ZW5kcyBab2RUeXBlIHtcbiAgICBnZXQgc2NoZW1hKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5fZGVmLmdldHRlcigpO1xuICAgIH1cbiAgICBfcGFyc2UoaW5wdXQpIHtcbiAgICAgICAgY29uc3QgeyBjdHggfSA9IHRoaXMuX3Byb2Nlc3NJbnB1dFBhcmFtcyhpbnB1dCk7XG4gICAgICAgIGNvbnN0IGxhenlTY2hlbWEgPSB0aGlzLl9kZWYuZ2V0dGVyKCk7XG4gICAgICAgIHJldHVybiBsYXp5U2NoZW1hLl9wYXJzZSh7IGRhdGE6IGN0eC5kYXRhLCBwYXRoOiBjdHgucGF0aCwgcGFyZW50OiBjdHggfSk7XG4gICAgfVxufVxuWm9kTGF6eS5jcmVhdGUgPSAoZ2V0dGVyLCBwYXJhbXMpID0+IHtcbiAgICByZXR1cm4gbmV3IFpvZExhenkoe1xuICAgICAgICBnZXR0ZXI6IGdldHRlcixcbiAgICAgICAgdHlwZU5hbWU6IFpvZEZpcnN0UGFydHlUeXBlS2luZC5ab2RMYXp5LFxuICAgICAgICAuLi5wcm9jZXNzQ3JlYXRlUGFyYW1zKHBhcmFtcyksXG4gICAgfSk7XG59O1xuZXhwb3J0IGNsYXNzIFpvZExpdGVyYWwgZXh0ZW5kcyBab2RUeXBlIHtcbiAgICBfcGFyc2UoaW5wdXQpIHtcbiAgICAgICAgaWYgKGlucHV0LmRhdGEgIT09IHRoaXMuX2RlZi52YWx1ZSkge1xuICAgICAgICAgICAgY29uc3QgY3R4ID0gdGhpcy5fZ2V0T3JSZXR1cm5DdHgoaW5wdXQpO1xuICAgICAgICAgICAgYWRkSXNzdWVUb0NvbnRleHQoY3R4LCB7XG4gICAgICAgICAgICAgICAgcmVjZWl2ZWQ6IGN0eC5kYXRhLFxuICAgICAgICAgICAgICAgIGNvZGU6IFpvZElzc3VlQ29kZS5pbnZhbGlkX2xpdGVyYWwsXG4gICAgICAgICAgICAgICAgZXhwZWN0ZWQ6IHRoaXMuX2RlZi52YWx1ZSxcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgcmV0dXJuIElOVkFMSUQ7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHsgc3RhdHVzOiBcInZhbGlkXCIsIHZhbHVlOiBpbnB1dC5kYXRhIH07XG4gICAgfVxuICAgIGdldCB2YWx1ZSgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2RlZi52YWx1ZTtcbiAgICB9XG59XG5ab2RMaXRlcmFsLmNyZWF0ZSA9ICh2YWx1ZSwgcGFyYW1zKSA9PiB7XG4gICAgcmV0dXJuIG5ldyBab2RMaXRlcmFsKHtcbiAgICAgICAgdmFsdWU6IHZhbHVlLFxuICAgICAgICB0eXBlTmFtZTogWm9kRmlyc3RQYXJ0eVR5cGVLaW5kLlpvZExpdGVyYWwsXG4gICAgICAgIC4uLnByb2Nlc3NDcmVhdGVQYXJhbXMocGFyYW1zKSxcbiAgICB9KTtcbn07XG5mdW5jdGlvbiBjcmVhdGVab2RFbnVtKHZhbHVlcywgcGFyYW1zKSB7XG4gICAgcmV0dXJuIG5ldyBab2RFbnVtKHtcbiAgICAgICAgdmFsdWVzLFxuICAgICAgICB0eXBlTmFtZTogWm9kRmlyc3RQYXJ0eVR5cGVLaW5kLlpvZEVudW0sXG4gICAgICAgIC4uLnByb2Nlc3NDcmVhdGVQYXJhbXMocGFyYW1zKSxcbiAgICB9KTtcbn1cbmV4cG9ydCBjbGFzcyBab2RFbnVtIGV4dGVuZHMgWm9kVHlwZSB7XG4gICAgX3BhcnNlKGlucHV0KSB7XG4gICAgICAgIGlmICh0eXBlb2YgaW5wdXQuZGF0YSAhPT0gXCJzdHJpbmdcIikge1xuICAgICAgICAgICAgY29uc3QgY3R4ID0gdGhpcy5fZ2V0T3JSZXR1cm5DdHgoaW5wdXQpO1xuICAgICAgICAgICAgY29uc3QgZXhwZWN0ZWRWYWx1ZXMgPSB0aGlzLl9kZWYudmFsdWVzO1xuICAgICAgICAgICAgYWRkSXNzdWVUb0NvbnRleHQoY3R4LCB7XG4gICAgICAgICAgICAgICAgZXhwZWN0ZWQ6IHV0aWwuam9pblZhbHVlcyhleHBlY3RlZFZhbHVlcyksXG4gICAgICAgICAgICAgICAgcmVjZWl2ZWQ6IGN0eC5wYXJzZWRUeXBlLFxuICAgICAgICAgICAgICAgIGNvZGU6IFpvZElzc3VlQ29kZS5pbnZhbGlkX3R5cGUsXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIHJldHVybiBJTlZBTElEO1xuICAgICAgICB9XG4gICAgICAgIGlmICghdGhpcy5fY2FjaGUpIHtcbiAgICAgICAgICAgIHRoaXMuX2NhY2hlID0gbmV3IFNldCh0aGlzLl9kZWYudmFsdWVzKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoIXRoaXMuX2NhY2hlLmhhcyhpbnB1dC5kYXRhKSkge1xuICAgICAgICAgICAgY29uc3QgY3R4ID0gdGhpcy5fZ2V0T3JSZXR1cm5DdHgoaW5wdXQpO1xuICAgICAgICAgICAgY29uc3QgZXhwZWN0ZWRWYWx1ZXMgPSB0aGlzLl9kZWYudmFsdWVzO1xuICAgICAgICAgICAgYWRkSXNzdWVUb0NvbnRleHQoY3R4LCB7XG4gICAgICAgICAgICAgICAgcmVjZWl2ZWQ6IGN0eC5kYXRhLFxuICAgICAgICAgICAgICAgIGNvZGU6IFpvZElzc3VlQ29kZS5pbnZhbGlkX2VudW1fdmFsdWUsXG4gICAgICAgICAgICAgICAgb3B0aW9uczogZXhwZWN0ZWRWYWx1ZXMsXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIHJldHVybiBJTlZBTElEO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBPSyhpbnB1dC5kYXRhKTtcbiAgICB9XG4gICAgZ2V0IG9wdGlvbnMoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLl9kZWYudmFsdWVzO1xuICAgIH1cbiAgICBnZXQgZW51bSgpIHtcbiAgICAgICAgY29uc3QgZW51bVZhbHVlcyA9IHt9O1xuICAgICAgICBmb3IgKGNvbnN0IHZhbCBvZiB0aGlzLl9kZWYudmFsdWVzKSB7XG4gICAgICAgICAgICBlbnVtVmFsdWVzW3ZhbF0gPSB2YWw7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGVudW1WYWx1ZXM7XG4gICAgfVxuICAgIGdldCBWYWx1ZXMoKSB7XG4gICAgICAgIGNvbnN0IGVudW1WYWx1ZXMgPSB7fTtcbiAgICAgICAgZm9yIChjb25zdCB2YWwgb2YgdGhpcy5fZGVmLnZhbHVlcykge1xuICAgICAgICAgICAgZW51bVZhbHVlc1t2YWxdID0gdmFsO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBlbnVtVmFsdWVzO1xuICAgIH1cbiAgICBnZXQgRW51bSgpIHtcbiAgICAgICAgY29uc3QgZW51bVZhbHVlcyA9IHt9O1xuICAgICAgICBmb3IgKGNvbnN0IHZhbCBvZiB0aGlzLl9kZWYudmFsdWVzKSB7XG4gICAgICAgICAgICBlbnVtVmFsdWVzW3ZhbF0gPSB2YWw7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGVudW1WYWx1ZXM7XG4gICAgfVxuICAgIGV4dHJhY3QodmFsdWVzLCBuZXdEZWYgPSB0aGlzLl9kZWYpIHtcbiAgICAgICAgcmV0dXJuIFpvZEVudW0uY3JlYXRlKHZhbHVlcywge1xuICAgICAgICAgICAgLi4udGhpcy5fZGVmLFxuICAgICAgICAgICAgLi4ubmV3RGVmLFxuICAgICAgICB9KTtcbiAgICB9XG4gICAgZXhjbHVkZSh2YWx1ZXMsIG5ld0RlZiA9IHRoaXMuX2RlZikge1xuICAgICAgICByZXR1cm4gWm9kRW51bS5jcmVhdGUodGhpcy5vcHRpb25zLmZpbHRlcigob3B0KSA9PiAhdmFsdWVzLmluY2x1ZGVzKG9wdCkpLCB7XG4gICAgICAgICAgICAuLi50aGlzLl9kZWYsXG4gICAgICAgICAgICAuLi5uZXdEZWYsXG4gICAgICAgIH0pO1xuICAgIH1cbn1cblpvZEVudW0uY3JlYXRlID0gY3JlYXRlWm9kRW51bTtcbmV4cG9ydCBjbGFzcyBab2ROYXRpdmVFbnVtIGV4dGVuZHMgWm9kVHlwZSB7XG4gICAgX3BhcnNlKGlucHV0KSB7XG4gICAgICAgIGNvbnN0IG5hdGl2ZUVudW1WYWx1ZXMgPSB1dGlsLmdldFZhbGlkRW51bVZhbHVlcyh0aGlzLl9kZWYudmFsdWVzKTtcbiAgICAgICAgY29uc3QgY3R4ID0gdGhpcy5fZ2V0T3JSZXR1cm5DdHgoaW5wdXQpO1xuICAgICAgICBpZiAoY3R4LnBhcnNlZFR5cGUgIT09IFpvZFBhcnNlZFR5cGUuc3RyaW5nICYmIGN0eC5wYXJzZWRUeXBlICE9PSBab2RQYXJzZWRUeXBlLm51bWJlcikge1xuICAgICAgICAgICAgY29uc3QgZXhwZWN0ZWRWYWx1ZXMgPSB1dGlsLm9iamVjdFZhbHVlcyhuYXRpdmVFbnVtVmFsdWVzKTtcbiAgICAgICAgICAgIGFkZElzc3VlVG9Db250ZXh0KGN0eCwge1xuICAgICAgICAgICAgICAgIGV4cGVjdGVkOiB1dGlsLmpvaW5WYWx1ZXMoZXhwZWN0ZWRWYWx1ZXMpLFxuICAgICAgICAgICAgICAgIHJlY2VpdmVkOiBjdHgucGFyc2VkVHlwZSxcbiAgICAgICAgICAgICAgICBjb2RlOiBab2RJc3N1ZUNvZGUuaW52YWxpZF90eXBlLFxuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICByZXR1cm4gSU5WQUxJRDtcbiAgICAgICAgfVxuICAgICAgICBpZiAoIXRoaXMuX2NhY2hlKSB7XG4gICAgICAgICAgICB0aGlzLl9jYWNoZSA9IG5ldyBTZXQodXRpbC5nZXRWYWxpZEVudW1WYWx1ZXModGhpcy5fZGVmLnZhbHVlcykpO1xuICAgICAgICB9XG4gICAgICAgIGlmICghdGhpcy5fY2FjaGUuaGFzKGlucHV0LmRhdGEpKSB7XG4gICAgICAgICAgICBjb25zdCBleHBlY3RlZFZhbHVlcyA9IHV0aWwub2JqZWN0VmFsdWVzKG5hdGl2ZUVudW1WYWx1ZXMpO1xuICAgICAgICAgICAgYWRkSXNzdWVUb0NvbnRleHQoY3R4LCB7XG4gICAgICAgICAgICAgICAgcmVjZWl2ZWQ6IGN0eC5kYXRhLFxuICAgICAgICAgICAgICAgIGNvZGU6IFpvZElzc3VlQ29kZS5pbnZhbGlkX2VudW1fdmFsdWUsXG4gICAgICAgICAgICAgICAgb3B0aW9uczogZXhwZWN0ZWRWYWx1ZXMsXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIHJldHVybiBJTlZBTElEO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBPSyhpbnB1dC5kYXRhKTtcbiAgICB9XG4gICAgZ2V0IGVudW0oKSB7XG4gICAgICAgIHJldHVybiB0aGlzLl9kZWYudmFsdWVzO1xuICAgIH1cbn1cblpvZE5hdGl2ZUVudW0uY3JlYXRlID0gKHZhbHVlcywgcGFyYW1zKSA9PiB7XG4gICAgcmV0dXJuIG5ldyBab2ROYXRpdmVFbnVtKHtcbiAgICAgICAgdmFsdWVzOiB2YWx1ZXMsXG4gICAgICAgIHR5cGVOYW1lOiBab2RGaXJzdFBhcnR5VHlwZUtpbmQuWm9kTmF0aXZlRW51bSxcbiAgICAgICAgLi4ucHJvY2Vzc0NyZWF0ZVBhcmFtcyhwYXJhbXMpLFxuICAgIH0pO1xufTtcbmV4cG9ydCBjbGFzcyBab2RQcm9taXNlIGV4dGVuZHMgWm9kVHlwZSB7XG4gICAgdW53cmFwKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5fZGVmLnR5cGU7XG4gICAgfVxuICAgIF9wYXJzZShpbnB1dCkge1xuICAgICAgICBjb25zdCB7IGN0eCB9ID0gdGhpcy5fcHJvY2Vzc0lucHV0UGFyYW1zKGlucHV0KTtcbiAgICAgICAgaWYgKGN0eC5wYXJzZWRUeXBlICE9PSBab2RQYXJzZWRUeXBlLnByb21pc2UgJiYgY3R4LmNvbW1vbi5hc3luYyA9PT0gZmFsc2UpIHtcbiAgICAgICAgICAgIGFkZElzc3VlVG9Db250ZXh0KGN0eCwge1xuICAgICAgICAgICAgICAgIGNvZGU6IFpvZElzc3VlQ29kZS5pbnZhbGlkX3R5cGUsXG4gICAgICAgICAgICAgICAgZXhwZWN0ZWQ6IFpvZFBhcnNlZFR5cGUucHJvbWlzZSxcbiAgICAgICAgICAgICAgICByZWNlaXZlZDogY3R4LnBhcnNlZFR5cGUsXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIHJldHVybiBJTlZBTElEO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IHByb21pc2lmaWVkID0gY3R4LnBhcnNlZFR5cGUgPT09IFpvZFBhcnNlZFR5cGUucHJvbWlzZSA/IGN0eC5kYXRhIDogUHJvbWlzZS5yZXNvbHZlKGN0eC5kYXRhKTtcbiAgICAgICAgcmV0dXJuIE9LKHByb21pc2lmaWVkLnRoZW4oKGRhdGEpID0+IHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLl9kZWYudHlwZS5wYXJzZUFzeW5jKGRhdGEsIHtcbiAgICAgICAgICAgICAgICBwYXRoOiBjdHgucGF0aCxcbiAgICAgICAgICAgICAgICBlcnJvck1hcDogY3R4LmNvbW1vbi5jb250ZXh0dWFsRXJyb3JNYXAsXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfSkpO1xuICAgIH1cbn1cblpvZFByb21pc2UuY3JlYXRlID0gKHNjaGVtYSwgcGFyYW1zKSA9PiB7XG4gICAgcmV0dXJuIG5ldyBab2RQcm9taXNlKHtcbiAgICAgICAgdHlwZTogc2NoZW1hLFxuICAgICAgICB0eXBlTmFtZTogWm9kRmlyc3RQYXJ0eVR5cGVLaW5kLlpvZFByb21pc2UsXG4gICAgICAgIC4uLnByb2Nlc3NDcmVhdGVQYXJhbXMocGFyYW1zKSxcbiAgICB9KTtcbn07XG5leHBvcnQgY2xhc3MgWm9kRWZmZWN0cyBleHRlbmRzIFpvZFR5cGUge1xuICAgIGlubmVyVHlwZSgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2RlZi5zY2hlbWE7XG4gICAgfVxuICAgIHNvdXJjZVR5cGUoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLl9kZWYuc2NoZW1hLl9kZWYudHlwZU5hbWUgPT09IFpvZEZpcnN0UGFydHlUeXBlS2luZC5ab2RFZmZlY3RzXG4gICAgICAgICAgICA/IHRoaXMuX2RlZi5zY2hlbWEuc291cmNlVHlwZSgpXG4gICAgICAgICAgICA6IHRoaXMuX2RlZi5zY2hlbWE7XG4gICAgfVxuICAgIF9wYXJzZShpbnB1dCkge1xuICAgICAgICBjb25zdCB7IHN0YXR1cywgY3R4IH0gPSB0aGlzLl9wcm9jZXNzSW5wdXRQYXJhbXMoaW5wdXQpO1xuICAgICAgICBjb25zdCBlZmZlY3QgPSB0aGlzLl9kZWYuZWZmZWN0IHx8IG51bGw7XG4gICAgICAgIGNvbnN0IGNoZWNrQ3R4ID0ge1xuICAgICAgICAgICAgYWRkSXNzdWU6IChhcmcpID0+IHtcbiAgICAgICAgICAgICAgICBhZGRJc3N1ZVRvQ29udGV4dChjdHgsIGFyZyk7XG4gICAgICAgICAgICAgICAgaWYgKGFyZy5mYXRhbCkge1xuICAgICAgICAgICAgICAgICAgICBzdGF0dXMuYWJvcnQoKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIHN0YXR1cy5kaXJ0eSgpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBnZXQgcGF0aCgpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gY3R4LnBhdGg7XG4gICAgICAgICAgICB9LFxuICAgICAgICB9O1xuICAgICAgICBjaGVja0N0eC5hZGRJc3N1ZSA9IGNoZWNrQ3R4LmFkZElzc3VlLmJpbmQoY2hlY2tDdHgpO1xuICAgICAgICBpZiAoZWZmZWN0LnR5cGUgPT09IFwicHJlcHJvY2Vzc1wiKSB7XG4gICAgICAgICAgICBjb25zdCBwcm9jZXNzZWQgPSBlZmZlY3QudHJhbnNmb3JtKGN0eC5kYXRhLCBjaGVja0N0eCk7XG4gICAgICAgICAgICBpZiAoY3R4LmNvbW1vbi5hc3luYykge1xuICAgICAgICAgICAgICAgIHJldHVybiBQcm9taXNlLnJlc29sdmUocHJvY2Vzc2VkKS50aGVuKGFzeW5jIChwcm9jZXNzZWQpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKHN0YXR1cy52YWx1ZSA9PT0gXCJhYm9ydGVkXCIpXG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gSU5WQUxJRDtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgcmVzdWx0ID0gYXdhaXQgdGhpcy5fZGVmLnNjaGVtYS5fcGFyc2VBc3luYyh7XG4gICAgICAgICAgICAgICAgICAgICAgICBkYXRhOiBwcm9jZXNzZWQsXG4gICAgICAgICAgICAgICAgICAgICAgICBwYXRoOiBjdHgucGF0aCxcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhcmVudDogY3R4LFxuICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICAgICAgaWYgKHJlc3VsdC5zdGF0dXMgPT09IFwiYWJvcnRlZFwiKVxuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIElOVkFMSUQ7XG4gICAgICAgICAgICAgICAgICAgIGlmIChyZXN1bHQuc3RhdHVzID09PSBcImRpcnR5XCIpXG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gRElSVFkocmVzdWx0LnZhbHVlKTtcbiAgICAgICAgICAgICAgICAgICAgaWYgKHN0YXR1cy52YWx1ZSA9PT0gXCJkaXJ0eVwiKVxuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIERJUlRZKHJlc3VsdC52YWx1ZSk7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgICAgICBpZiAoc3RhdHVzLnZhbHVlID09PSBcImFib3J0ZWRcIilcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIElOVkFMSUQ7XG4gICAgICAgICAgICAgICAgY29uc3QgcmVzdWx0ID0gdGhpcy5fZGVmLnNjaGVtYS5fcGFyc2VTeW5jKHtcbiAgICAgICAgICAgICAgICAgICAgZGF0YTogcHJvY2Vzc2VkLFxuICAgICAgICAgICAgICAgICAgICBwYXRoOiBjdHgucGF0aCxcbiAgICAgICAgICAgICAgICAgICAgcGFyZW50OiBjdHgsXG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgaWYgKHJlc3VsdC5zdGF0dXMgPT09IFwiYWJvcnRlZFwiKVxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gSU5WQUxJRDtcbiAgICAgICAgICAgICAgICBpZiAocmVzdWx0LnN0YXR1cyA9PT0gXCJkaXJ0eVwiKVxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gRElSVFkocmVzdWx0LnZhbHVlKTtcbiAgICAgICAgICAgICAgICBpZiAoc3RhdHVzLnZhbHVlID09PSBcImRpcnR5XCIpXG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBESVJUWShyZXN1bHQudmFsdWUpO1xuICAgICAgICAgICAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGVmZmVjdC50eXBlID09PSBcInJlZmluZW1lbnRcIikge1xuICAgICAgICAgICAgY29uc3QgZXhlY3V0ZVJlZmluZW1lbnQgPSAoYWNjKSA9PiB7XG4gICAgICAgICAgICAgICAgY29uc3QgcmVzdWx0ID0gZWZmZWN0LnJlZmluZW1lbnQoYWNjLCBjaGVja0N0eCk7XG4gICAgICAgICAgICAgICAgaWYgKGN0eC5jb21tb24uYXN5bmMpIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIFByb21pc2UucmVzb2x2ZShyZXN1bHQpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBpZiAocmVzdWx0IGluc3RhbmNlb2YgUHJvbWlzZSkge1xuICAgICAgICAgICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXCJBc3luYyByZWZpbmVtZW50IGVuY291bnRlcmVkIGR1cmluZyBzeW5jaHJvbm91cyBwYXJzZSBvcGVyYXRpb24uIFVzZSAucGFyc2VBc3luYyBpbnN0ZWFkLlwiKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgcmV0dXJuIGFjYztcbiAgICAgICAgICAgIH07XG4gICAgICAgICAgICBpZiAoY3R4LmNvbW1vbi5hc3luYyA9PT0gZmFsc2UpIHtcbiAgICAgICAgICAgICAgICBjb25zdCBpbm5lciA9IHRoaXMuX2RlZi5zY2hlbWEuX3BhcnNlU3luYyh7XG4gICAgICAgICAgICAgICAgICAgIGRhdGE6IGN0eC5kYXRhLFxuICAgICAgICAgICAgICAgICAgICBwYXRoOiBjdHgucGF0aCxcbiAgICAgICAgICAgICAgICAgICAgcGFyZW50OiBjdHgsXG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgaWYgKGlubmVyLnN0YXR1cyA9PT0gXCJhYm9ydGVkXCIpXG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBJTlZBTElEO1xuICAgICAgICAgICAgICAgIGlmIChpbm5lci5zdGF0dXMgPT09IFwiZGlydHlcIilcbiAgICAgICAgICAgICAgICAgICAgc3RhdHVzLmRpcnR5KCk7XG4gICAgICAgICAgICAgICAgLy8gcmV0dXJuIHZhbHVlIGlzIGlnbm9yZWRcbiAgICAgICAgICAgICAgICBleGVjdXRlUmVmaW5lbWVudChpbm5lci52YWx1ZSk7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHsgc3RhdHVzOiBzdGF0dXMudmFsdWUsIHZhbHVlOiBpbm5lci52YWx1ZSB9O1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuX2RlZi5zY2hlbWEuX3BhcnNlQXN5bmMoeyBkYXRhOiBjdHguZGF0YSwgcGF0aDogY3R4LnBhdGgsIHBhcmVudDogY3R4IH0pLnRoZW4oKGlubmVyKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGlmIChpbm5lci5zdGF0dXMgPT09IFwiYWJvcnRlZFwiKVxuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIElOVkFMSUQ7XG4gICAgICAgICAgICAgICAgICAgIGlmIChpbm5lci5zdGF0dXMgPT09IFwiZGlydHlcIilcbiAgICAgICAgICAgICAgICAgICAgICAgIHN0YXR1cy5kaXJ0eSgpO1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gZXhlY3V0ZVJlZmluZW1lbnQoaW5uZXIudmFsdWUpLnRoZW4oKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHsgc3RhdHVzOiBzdGF0dXMudmFsdWUsIHZhbHVlOiBpbm5lci52YWx1ZSB9O1xuICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBpZiAoZWZmZWN0LnR5cGUgPT09IFwidHJhbnNmb3JtXCIpIHtcbiAgICAgICAgICAgIGlmIChjdHguY29tbW9uLmFzeW5jID09PSBmYWxzZSkge1xuICAgICAgICAgICAgICAgIGNvbnN0IGJhc2UgPSB0aGlzLl9kZWYuc2NoZW1hLl9wYXJzZVN5bmMoe1xuICAgICAgICAgICAgICAgICAgICBkYXRhOiBjdHguZGF0YSxcbiAgICAgICAgICAgICAgICAgICAgcGF0aDogY3R4LnBhdGgsXG4gICAgICAgICAgICAgICAgICAgIHBhcmVudDogY3R4LFxuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIGlmICghaXNWYWxpZChiYXNlKSlcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIElOVkFMSUQ7XG4gICAgICAgICAgICAgICAgY29uc3QgcmVzdWx0ID0gZWZmZWN0LnRyYW5zZm9ybShiYXNlLnZhbHVlLCBjaGVja0N0eCk7XG4gICAgICAgICAgICAgICAgaWYgKHJlc3VsdCBpbnN0YW5jZW9mIFByb21pc2UpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBBc3luY2hyb25vdXMgdHJhbnNmb3JtIGVuY291bnRlcmVkIGR1cmluZyBzeW5jaHJvbm91cyBwYXJzZSBvcGVyYXRpb24uIFVzZSAucGFyc2VBc3luYyBpbnN0ZWFkLmApO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICByZXR1cm4geyBzdGF0dXM6IHN0YXR1cy52YWx1ZSwgdmFsdWU6IHJlc3VsdCB9O1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuX2RlZi5zY2hlbWEuX3BhcnNlQXN5bmMoeyBkYXRhOiBjdHguZGF0YSwgcGF0aDogY3R4LnBhdGgsIHBhcmVudDogY3R4IH0pLnRoZW4oKGJhc2UpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKCFpc1ZhbGlkKGJhc2UpKVxuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIElOVkFMSUQ7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBQcm9taXNlLnJlc29sdmUoZWZmZWN0LnRyYW5zZm9ybShiYXNlLnZhbHVlLCBjaGVja0N0eCkpLnRoZW4oKHJlc3VsdCkgPT4gKHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHN0YXR1czogc3RhdHVzLnZhbHVlLFxuICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWU6IHJlc3VsdCxcbiAgICAgICAgICAgICAgICAgICAgfSkpO1xuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHV0aWwuYXNzZXJ0TmV2ZXIoZWZmZWN0KTtcbiAgICB9XG59XG5ab2RFZmZlY3RzLmNyZWF0ZSA9IChzY2hlbWEsIGVmZmVjdCwgcGFyYW1zKSA9PiB7XG4gICAgcmV0dXJuIG5ldyBab2RFZmZlY3RzKHtcbiAgICAgICAgc2NoZW1hLFxuICAgICAgICB0eXBlTmFtZTogWm9kRmlyc3RQYXJ0eVR5cGVLaW5kLlpvZEVmZmVjdHMsXG4gICAgICAgIGVmZmVjdCxcbiAgICAgICAgLi4ucHJvY2Vzc0NyZWF0ZVBhcmFtcyhwYXJhbXMpLFxuICAgIH0pO1xufTtcblpvZEVmZmVjdHMuY3JlYXRlV2l0aFByZXByb2Nlc3MgPSAocHJlcHJvY2Vzcywgc2NoZW1hLCBwYXJhbXMpID0+IHtcbiAgICByZXR1cm4gbmV3IFpvZEVmZmVjdHMoe1xuICAgICAgICBzY2hlbWEsXG4gICAgICAgIGVmZmVjdDogeyB0eXBlOiBcInByZXByb2Nlc3NcIiwgdHJhbnNmb3JtOiBwcmVwcm9jZXNzIH0sXG4gICAgICAgIHR5cGVOYW1lOiBab2RGaXJzdFBhcnR5VHlwZUtpbmQuWm9kRWZmZWN0cyxcbiAgICAgICAgLi4ucHJvY2Vzc0NyZWF0ZVBhcmFtcyhwYXJhbXMpLFxuICAgIH0pO1xufTtcbmV4cG9ydCB7IFpvZEVmZmVjdHMgYXMgWm9kVHJhbnNmb3JtZXIgfTtcbmV4cG9ydCBjbGFzcyBab2RPcHRpb25hbCBleHRlbmRzIFpvZFR5cGUge1xuICAgIF9wYXJzZShpbnB1dCkge1xuICAgICAgICBjb25zdCBwYXJzZWRUeXBlID0gdGhpcy5fZ2V0VHlwZShpbnB1dCk7XG4gICAgICAgIGlmIChwYXJzZWRUeXBlID09PSBab2RQYXJzZWRUeXBlLnVuZGVmaW5lZCkge1xuICAgICAgICAgICAgcmV0dXJuIE9LKHVuZGVmaW5lZCk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHRoaXMuX2RlZi5pbm5lclR5cGUuX3BhcnNlKGlucHV0KTtcbiAgICB9XG4gICAgdW53cmFwKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5fZGVmLmlubmVyVHlwZTtcbiAgICB9XG59XG5ab2RPcHRpb25hbC5jcmVhdGUgPSAodHlwZSwgcGFyYW1zKSA9PiB7XG4gICAgcmV0dXJuIG5ldyBab2RPcHRpb25hbCh7XG4gICAgICAgIGlubmVyVHlwZTogdHlwZSxcbiAgICAgICAgdHlwZU5hbWU6IFpvZEZpcnN0UGFydHlUeXBlS2luZC5ab2RPcHRpb25hbCxcbiAgICAgICAgLi4ucHJvY2Vzc0NyZWF0ZVBhcmFtcyhwYXJhbXMpLFxuICAgIH0pO1xufTtcbmV4cG9ydCBjbGFzcyBab2ROdWxsYWJsZSBleHRlbmRzIFpvZFR5cGUge1xuICAgIF9wYXJzZShpbnB1dCkge1xuICAgICAgICBjb25zdCBwYXJzZWRUeXBlID0gdGhpcy5fZ2V0VHlwZShpbnB1dCk7XG4gICAgICAgIGlmIChwYXJzZWRUeXBlID09PSBab2RQYXJzZWRUeXBlLm51bGwpIHtcbiAgICAgICAgICAgIHJldHVybiBPSyhudWxsKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gdGhpcy5fZGVmLmlubmVyVHlwZS5fcGFyc2UoaW5wdXQpO1xuICAgIH1cbiAgICB1bndyYXAoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLl9kZWYuaW5uZXJUeXBlO1xuICAgIH1cbn1cblpvZE51bGxhYmxlLmNyZWF0ZSA9ICh0eXBlLCBwYXJhbXMpID0+IHtcbiAgICByZXR1cm4gbmV3IFpvZE51bGxhYmxlKHtcbiAgICAgICAgaW5uZXJUeXBlOiB0eXBlLFxuICAgICAgICB0eXBlTmFtZTogWm9kRmlyc3RQYXJ0eVR5cGVLaW5kLlpvZE51bGxhYmxlLFxuICAgICAgICAuLi5wcm9jZXNzQ3JlYXRlUGFyYW1zKHBhcmFtcyksXG4gICAgfSk7XG59O1xuZXhwb3J0IGNsYXNzIFpvZERlZmF1bHQgZXh0ZW5kcyBab2RUeXBlIHtcbiAgICBfcGFyc2UoaW5wdXQpIHtcbiAgICAgICAgY29uc3QgeyBjdHggfSA9IHRoaXMuX3Byb2Nlc3NJbnB1dFBhcmFtcyhpbnB1dCk7XG4gICAgICAgIGxldCBkYXRhID0gY3R4LmRhdGE7XG4gICAgICAgIGlmIChjdHgucGFyc2VkVHlwZSA9PT0gWm9kUGFyc2VkVHlwZS51bmRlZmluZWQpIHtcbiAgICAgICAgICAgIGRhdGEgPSB0aGlzLl9kZWYuZGVmYXVsdFZhbHVlKCk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHRoaXMuX2RlZi5pbm5lclR5cGUuX3BhcnNlKHtcbiAgICAgICAgICAgIGRhdGEsXG4gICAgICAgICAgICBwYXRoOiBjdHgucGF0aCxcbiAgICAgICAgICAgIHBhcmVudDogY3R4LFxuICAgICAgICB9KTtcbiAgICB9XG4gICAgcmVtb3ZlRGVmYXVsdCgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2RlZi5pbm5lclR5cGU7XG4gICAgfVxufVxuWm9kRGVmYXVsdC5jcmVhdGUgPSAodHlwZSwgcGFyYW1zKSA9PiB7XG4gICAgcmV0dXJuIG5ldyBab2REZWZhdWx0KHtcbiAgICAgICAgaW5uZXJUeXBlOiB0eXBlLFxuICAgICAgICB0eXBlTmFtZTogWm9kRmlyc3RQYXJ0eVR5cGVLaW5kLlpvZERlZmF1bHQsXG4gICAgICAgIGRlZmF1bHRWYWx1ZTogdHlwZW9mIHBhcmFtcy5kZWZhdWx0ID09PSBcImZ1bmN0aW9uXCIgPyBwYXJhbXMuZGVmYXVsdCA6ICgpID0+IHBhcmFtcy5kZWZhdWx0LFxuICAgICAgICAuLi5wcm9jZXNzQ3JlYXRlUGFyYW1zKHBhcmFtcyksXG4gICAgfSk7XG59O1xuZXhwb3J0IGNsYXNzIFpvZENhdGNoIGV4dGVuZHMgWm9kVHlwZSB7XG4gICAgX3BhcnNlKGlucHV0KSB7XG4gICAgICAgIGNvbnN0IHsgY3R4IH0gPSB0aGlzLl9wcm9jZXNzSW5wdXRQYXJhbXMoaW5wdXQpO1xuICAgICAgICAvLyBuZXdDdHggaXMgdXNlZCB0byBub3QgY29sbGVjdCBpc3N1ZXMgZnJvbSBpbm5lciB0eXBlcyBpbiBjdHhcbiAgICAgICAgY29uc3QgbmV3Q3R4ID0ge1xuICAgICAgICAgICAgLi4uY3R4LFxuICAgICAgICAgICAgY29tbW9uOiB7XG4gICAgICAgICAgICAgICAgLi4uY3R4LmNvbW1vbixcbiAgICAgICAgICAgICAgICBpc3N1ZXM6IFtdLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgfTtcbiAgICAgICAgY29uc3QgcmVzdWx0ID0gdGhpcy5fZGVmLmlubmVyVHlwZS5fcGFyc2Uoe1xuICAgICAgICAgICAgZGF0YTogbmV3Q3R4LmRhdGEsXG4gICAgICAgICAgICBwYXRoOiBuZXdDdHgucGF0aCxcbiAgICAgICAgICAgIHBhcmVudDoge1xuICAgICAgICAgICAgICAgIC4uLm5ld0N0eCxcbiAgICAgICAgICAgIH0sXG4gICAgICAgIH0pO1xuICAgICAgICBpZiAoaXNBc3luYyhyZXN1bHQpKSB7XG4gICAgICAgICAgICByZXR1cm4gcmVzdWx0LnRoZW4oKHJlc3VsdCkgPT4ge1xuICAgICAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgICAgIHN0YXR1czogXCJ2YWxpZFwiLFxuICAgICAgICAgICAgICAgICAgICB2YWx1ZTogcmVzdWx0LnN0YXR1cyA9PT0gXCJ2YWxpZFwiXG4gICAgICAgICAgICAgICAgICAgICAgICA/IHJlc3VsdC52YWx1ZVxuICAgICAgICAgICAgICAgICAgICAgICAgOiB0aGlzLl9kZWYuY2F0Y2hWYWx1ZSh7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZ2V0IGVycm9yKCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gbmV3IFpvZEVycm9yKG5ld0N0eC5jb21tb24uaXNzdWVzKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlucHV0OiBuZXdDdHguZGF0YSxcbiAgICAgICAgICAgICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgc3RhdHVzOiBcInZhbGlkXCIsXG4gICAgICAgICAgICAgICAgdmFsdWU6IHJlc3VsdC5zdGF0dXMgPT09IFwidmFsaWRcIlxuICAgICAgICAgICAgICAgICAgICA/IHJlc3VsdC52YWx1ZVxuICAgICAgICAgICAgICAgICAgICA6IHRoaXMuX2RlZi5jYXRjaFZhbHVlKHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGdldCBlcnJvcigpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gbmV3IFpvZEVycm9yKG5ld0N0eC5jb21tb24uaXNzdWVzKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICBpbnB1dDogbmV3Q3R4LmRhdGEsXG4gICAgICAgICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgfTtcbiAgICAgICAgfVxuICAgIH1cbiAgICByZW1vdmVDYXRjaCgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2RlZi5pbm5lclR5cGU7XG4gICAgfVxufVxuWm9kQ2F0Y2guY3JlYXRlID0gKHR5cGUsIHBhcmFtcykgPT4ge1xuICAgIHJldHVybiBuZXcgWm9kQ2F0Y2goe1xuICAgICAgICBpbm5lclR5cGU6IHR5cGUsXG4gICAgICAgIHR5cGVOYW1lOiBab2RGaXJzdFBhcnR5VHlwZUtpbmQuWm9kQ2F0Y2gsXG4gICAgICAgIGNhdGNoVmFsdWU6IHR5cGVvZiBwYXJhbXMuY2F0Y2ggPT09IFwiZnVuY3Rpb25cIiA/IHBhcmFtcy5jYXRjaCA6ICgpID0+IHBhcmFtcy5jYXRjaCxcbiAgICAgICAgLi4ucHJvY2Vzc0NyZWF0ZVBhcmFtcyhwYXJhbXMpLFxuICAgIH0pO1xufTtcbmV4cG9ydCBjbGFzcyBab2ROYU4gZXh0ZW5kcyBab2RUeXBlIHtcbiAgICBfcGFyc2UoaW5wdXQpIHtcbiAgICAgICAgY29uc3QgcGFyc2VkVHlwZSA9IHRoaXMuX2dldFR5cGUoaW5wdXQpO1xuICAgICAgICBpZiAocGFyc2VkVHlwZSAhPT0gWm9kUGFyc2VkVHlwZS5uYW4pIHtcbiAgICAgICAgICAgIGNvbnN0IGN0eCA9IHRoaXMuX2dldE9yUmV0dXJuQ3R4KGlucHV0KTtcbiAgICAgICAgICAgIGFkZElzc3VlVG9Db250ZXh0KGN0eCwge1xuICAgICAgICAgICAgICAgIGNvZGU6IFpvZElzc3VlQ29kZS5pbnZhbGlkX3R5cGUsXG4gICAgICAgICAgICAgICAgZXhwZWN0ZWQ6IFpvZFBhcnNlZFR5cGUubmFuLFxuICAgICAgICAgICAgICAgIHJlY2VpdmVkOiBjdHgucGFyc2VkVHlwZSxcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgcmV0dXJuIElOVkFMSUQ7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHsgc3RhdHVzOiBcInZhbGlkXCIsIHZhbHVlOiBpbnB1dC5kYXRhIH07XG4gICAgfVxufVxuWm9kTmFOLmNyZWF0ZSA9IChwYXJhbXMpID0+IHtcbiAgICByZXR1cm4gbmV3IFpvZE5hTih7XG4gICAgICAgIHR5cGVOYW1lOiBab2RGaXJzdFBhcnR5VHlwZUtpbmQuWm9kTmFOLFxuICAgICAgICAuLi5wcm9jZXNzQ3JlYXRlUGFyYW1zKHBhcmFtcyksXG4gICAgfSk7XG59O1xuZXhwb3J0IGNvbnN0IEJSQU5EID0gU3ltYm9sKFwiem9kX2JyYW5kXCIpO1xuZXhwb3J0IGNsYXNzIFpvZEJyYW5kZWQgZXh0ZW5kcyBab2RUeXBlIHtcbiAgICBfcGFyc2UoaW5wdXQpIHtcbiAgICAgICAgY29uc3QgeyBjdHggfSA9IHRoaXMuX3Byb2Nlc3NJbnB1dFBhcmFtcyhpbnB1dCk7XG4gICAgICAgIGNvbnN0IGRhdGEgPSBjdHguZGF0YTtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2RlZi50eXBlLl9wYXJzZSh7XG4gICAgICAgICAgICBkYXRhLFxuICAgICAgICAgICAgcGF0aDogY3R4LnBhdGgsXG4gICAgICAgICAgICBwYXJlbnQ6IGN0eCxcbiAgICAgICAgfSk7XG4gICAgfVxuICAgIHVud3JhcCgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2RlZi50eXBlO1xuICAgIH1cbn1cbmV4cG9ydCBjbGFzcyBab2RQaXBlbGluZSBleHRlbmRzIFpvZFR5cGUge1xuICAgIF9wYXJzZShpbnB1dCkge1xuICAgICAgICBjb25zdCB7IHN0YXR1cywgY3R4IH0gPSB0aGlzLl9wcm9jZXNzSW5wdXRQYXJhbXMoaW5wdXQpO1xuICAgICAgICBpZiAoY3R4LmNvbW1vbi5hc3luYykge1xuICAgICAgICAgICAgY29uc3QgaGFuZGxlQXN5bmMgPSBhc3luYyAoKSA9PiB7XG4gICAgICAgICAgICAgICAgY29uc3QgaW5SZXN1bHQgPSBhd2FpdCB0aGlzLl9kZWYuaW4uX3BhcnNlQXN5bmMoe1xuICAgICAgICAgICAgICAgICAgICBkYXRhOiBjdHguZGF0YSxcbiAgICAgICAgICAgICAgICAgICAgcGF0aDogY3R4LnBhdGgsXG4gICAgICAgICAgICAgICAgICAgIHBhcmVudDogY3R4LFxuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIGlmIChpblJlc3VsdC5zdGF0dXMgPT09IFwiYWJvcnRlZFwiKVxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gSU5WQUxJRDtcbiAgICAgICAgICAgICAgICBpZiAoaW5SZXN1bHQuc3RhdHVzID09PSBcImRpcnR5XCIpIHtcbiAgICAgICAgICAgICAgICAgICAgc3RhdHVzLmRpcnR5KCk7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBESVJUWShpblJlc3VsdC52YWx1ZSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5fZGVmLm91dC5fcGFyc2VBc3luYyh7XG4gICAgICAgICAgICAgICAgICAgICAgICBkYXRhOiBpblJlc3VsdC52YWx1ZSxcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhdGg6IGN0eC5wYXRoLFxuICAgICAgICAgICAgICAgICAgICAgICAgcGFyZW50OiBjdHgsXG4gICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH07XG4gICAgICAgICAgICByZXR1cm4gaGFuZGxlQXN5bmMoKTtcbiAgICAgICAgfVxuICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgIGNvbnN0IGluUmVzdWx0ID0gdGhpcy5fZGVmLmluLl9wYXJzZVN5bmMoe1xuICAgICAgICAgICAgICAgIGRhdGE6IGN0eC5kYXRhLFxuICAgICAgICAgICAgICAgIHBhdGg6IGN0eC5wYXRoLFxuICAgICAgICAgICAgICAgIHBhcmVudDogY3R4LFxuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICBpZiAoaW5SZXN1bHQuc3RhdHVzID09PSBcImFib3J0ZWRcIilcbiAgICAgICAgICAgICAgICByZXR1cm4gSU5WQUxJRDtcbiAgICAgICAgICAgIGlmIChpblJlc3VsdC5zdGF0dXMgPT09IFwiZGlydHlcIikge1xuICAgICAgICAgICAgICAgIHN0YXR1cy5kaXJ0eSgpO1xuICAgICAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgICAgIHN0YXR1czogXCJkaXJ0eVwiLFxuICAgICAgICAgICAgICAgICAgICB2YWx1ZTogaW5SZXN1bHQudmFsdWUsXG4gICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLl9kZWYub3V0Ll9wYXJzZVN5bmMoe1xuICAgICAgICAgICAgICAgICAgICBkYXRhOiBpblJlc3VsdC52YWx1ZSxcbiAgICAgICAgICAgICAgICAgICAgcGF0aDogY3R4LnBhdGgsXG4gICAgICAgICAgICAgICAgICAgIHBhcmVudDogY3R4LFxuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgIHN0YXRpYyBjcmVhdGUoYSwgYikge1xuICAgICAgICByZXR1cm4gbmV3IFpvZFBpcGVsaW5lKHtcbiAgICAgICAgICAgIGluOiBhLFxuICAgICAgICAgICAgb3V0OiBiLFxuICAgICAgICAgICAgdHlwZU5hbWU6IFpvZEZpcnN0UGFydHlUeXBlS2luZC5ab2RQaXBlbGluZSxcbiAgICAgICAgfSk7XG4gICAgfVxufVxuZXhwb3J0IGNsYXNzIFpvZFJlYWRvbmx5IGV4dGVuZHMgWm9kVHlwZSB7XG4gICAgX3BhcnNlKGlucHV0KSB7XG4gICAgICAgIGNvbnN0IHJlc3VsdCA9IHRoaXMuX2RlZi5pbm5lclR5cGUuX3BhcnNlKGlucHV0KTtcbiAgICAgICAgY29uc3QgZnJlZXplID0gKGRhdGEpID0+IHtcbiAgICAgICAgICAgIGlmIChpc1ZhbGlkKGRhdGEpKSB7XG4gICAgICAgICAgICAgICAgZGF0YS52YWx1ZSA9IE9iamVjdC5mcmVlemUoZGF0YS52YWx1ZSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXR1cm4gZGF0YTtcbiAgICAgICAgfTtcbiAgICAgICAgcmV0dXJuIGlzQXN5bmMocmVzdWx0KSA/IHJlc3VsdC50aGVuKChkYXRhKSA9PiBmcmVlemUoZGF0YSkpIDogZnJlZXplKHJlc3VsdCk7XG4gICAgfVxuICAgIHVud3JhcCgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2RlZi5pbm5lclR5cGU7XG4gICAgfVxufVxuWm9kUmVhZG9ubHkuY3JlYXRlID0gKHR5cGUsIHBhcmFtcykgPT4ge1xuICAgIHJldHVybiBuZXcgWm9kUmVhZG9ubHkoe1xuICAgICAgICBpbm5lclR5cGU6IHR5cGUsXG4gICAgICAgIHR5cGVOYW1lOiBab2RGaXJzdFBhcnR5VHlwZUtpbmQuWm9kUmVhZG9ubHksXG4gICAgICAgIC4uLnByb2Nlc3NDcmVhdGVQYXJhbXMocGFyYW1zKSxcbiAgICB9KTtcbn07XG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLy8vLy8vLy8vICAgICAgICAgICAgICAgICAgICAvLy8vLy8vLy8vXG4vLy8vLy8vLy8vICAgICAgei5jdXN0b20gICAgICAvLy8vLy8vLy8vXG4vLy8vLy8vLy8vICAgICAgICAgICAgICAgICAgICAvLy8vLy8vLy8vXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5mdW5jdGlvbiBjbGVhblBhcmFtcyhwYXJhbXMsIGRhdGEpIHtcbiAgICBjb25zdCBwID0gdHlwZW9mIHBhcmFtcyA9PT0gXCJmdW5jdGlvblwiID8gcGFyYW1zKGRhdGEpIDogdHlwZW9mIHBhcmFtcyA9PT0gXCJzdHJpbmdcIiA/IHsgbWVzc2FnZTogcGFyYW1zIH0gOiBwYXJhbXM7XG4gICAgY29uc3QgcDIgPSB0eXBlb2YgcCA9PT0gXCJzdHJpbmdcIiA/IHsgbWVzc2FnZTogcCB9IDogcDtcbiAgICByZXR1cm4gcDI7XG59XG5leHBvcnQgZnVuY3Rpb24gY3VzdG9tKGNoZWNrLCBfcGFyYW1zID0ge30sIFxuLyoqXG4gKiBAZGVwcmVjYXRlZFxuICpcbiAqIFBhc3MgYGZhdGFsYCBpbnRvIHRoZSBwYXJhbXMgb2JqZWN0IGluc3RlYWQ6XG4gKlxuICogYGBgdHNcbiAqIHouc3RyaW5nKCkuY3VzdG9tKCh2YWwpID0+IHZhbC5sZW5ndGggPiA1LCB7IGZhdGFsOiBmYWxzZSB9KVxuICogYGBgXG4gKlxuICovXG5mYXRhbCkge1xuICAgIGlmIChjaGVjaylcbiAgICAgICAgcmV0dXJuIFpvZEFueS5jcmVhdGUoKS5zdXBlclJlZmluZSgoZGF0YSwgY3R4KSA9PiB7XG4gICAgICAgICAgICBjb25zdCByID0gY2hlY2soZGF0YSk7XG4gICAgICAgICAgICBpZiAociBpbnN0YW5jZW9mIFByb21pc2UpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gci50aGVuKChyKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGlmICghcikge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgcGFyYW1zID0gY2xlYW5QYXJhbXMoX3BhcmFtcywgZGF0YSk7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBfZmF0YWwgPSBwYXJhbXMuZmF0YWwgPz8gZmF0YWwgPz8gdHJ1ZTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGN0eC5hZGRJc3N1ZSh7IGNvZGU6IFwiY3VzdG9tXCIsIC4uLnBhcmFtcywgZmF0YWw6IF9mYXRhbCB9KTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKCFyKSB7XG4gICAgICAgICAgICAgICAgY29uc3QgcGFyYW1zID0gY2xlYW5QYXJhbXMoX3BhcmFtcywgZGF0YSk7XG4gICAgICAgICAgICAgICAgY29uc3QgX2ZhdGFsID0gcGFyYW1zLmZhdGFsID8/IGZhdGFsID8/IHRydWU7XG4gICAgICAgICAgICAgICAgY3R4LmFkZElzc3VlKHsgY29kZTogXCJjdXN0b21cIiwgLi4ucGFyYW1zLCBmYXRhbDogX2ZhdGFsIH0pO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9KTtcbiAgICByZXR1cm4gWm9kQW55LmNyZWF0ZSgpO1xufVxuZXhwb3J0IHsgWm9kVHlwZSBhcyBTY2hlbWEsIFpvZFR5cGUgYXMgWm9kU2NoZW1hIH07XG5leHBvcnQgY29uc3QgbGF0ZSA9IHtcbiAgICBvYmplY3Q6IFpvZE9iamVjdC5sYXp5Y3JlYXRlLFxufTtcbmV4cG9ydCB2YXIgWm9kRmlyc3RQYXJ0eVR5cGVLaW5kO1xuKGZ1bmN0aW9uIChab2RGaXJzdFBhcnR5VHlwZUtpbmQpIHtcbiAgICBab2RGaXJzdFBhcnR5VHlwZUtpbmRbXCJab2RTdHJpbmdcIl0gPSBcIlpvZFN0cmluZ1wiO1xuICAgIFpvZEZpcnN0UGFydHlUeXBlS2luZFtcIlpvZE51bWJlclwiXSA9IFwiWm9kTnVtYmVyXCI7XG4gICAgWm9kRmlyc3RQYXJ0eVR5cGVLaW5kW1wiWm9kTmFOXCJdID0gXCJab2ROYU5cIjtcbiAgICBab2RGaXJzdFBhcnR5VHlwZUtpbmRbXCJab2RCaWdJbnRcIl0gPSBcIlpvZEJpZ0ludFwiO1xuICAgIFpvZEZpcnN0UGFydHlUeXBlS2luZFtcIlpvZEJvb2xlYW5cIl0gPSBcIlpvZEJvb2xlYW5cIjtcbiAgICBab2RGaXJzdFBhcnR5VHlwZUtpbmRbXCJab2REYXRlXCJdID0gXCJab2REYXRlXCI7XG4gICAgWm9kRmlyc3RQYXJ0eVR5cGVLaW5kW1wiWm9kU3ltYm9sXCJdID0gXCJab2RTeW1ib2xcIjtcbiAgICBab2RGaXJzdFBhcnR5VHlwZUtpbmRbXCJab2RVbmRlZmluZWRcIl0gPSBcIlpvZFVuZGVmaW5lZFwiO1xuICAgIFpvZEZpcnN0UGFydHlUeXBlS2luZFtcIlpvZE51bGxcIl0gPSBcIlpvZE51bGxcIjtcbiAgICBab2RGaXJzdFBhcnR5VHlwZUtpbmRbXCJab2RBbnlcIl0gPSBcIlpvZEFueVwiO1xuICAgIFpvZEZpcnN0UGFydHlUeXBlS2luZFtcIlpvZFVua25vd25cIl0gPSBcIlpvZFVua25vd25cIjtcbiAgICBab2RGaXJzdFBhcnR5VHlwZUtpbmRbXCJab2ROZXZlclwiXSA9IFwiWm9kTmV2ZXJcIjtcbiAgICBab2RGaXJzdFBhcnR5VHlwZUtpbmRbXCJab2RWb2lkXCJdID0gXCJab2RWb2lkXCI7XG4gICAgWm9kRmlyc3RQYXJ0eVR5cGVLaW5kW1wiWm9kQXJyYXlcIl0gPSBcIlpvZEFycmF5XCI7XG4gICAgWm9kRmlyc3RQYXJ0eVR5cGVLaW5kW1wiWm9kT2JqZWN0XCJdID0gXCJab2RPYmplY3RcIjtcbiAgICBab2RGaXJzdFBhcnR5VHlwZUtpbmRbXCJab2RVbmlvblwiXSA9IFwiWm9kVW5pb25cIjtcbiAgICBab2RGaXJzdFBhcnR5VHlwZUtpbmRbXCJab2REaXNjcmltaW5hdGVkVW5pb25cIl0gPSBcIlpvZERpc2NyaW1pbmF0ZWRVbmlvblwiO1xuICAgIFpvZEZpcnN0UGFydHlUeXBlS2luZFtcIlpvZEludGVyc2VjdGlvblwiXSA9IFwiWm9kSW50ZXJzZWN0aW9uXCI7XG4gICAgWm9kRmlyc3RQYXJ0eVR5cGVLaW5kW1wiWm9kVHVwbGVcIl0gPSBcIlpvZFR1cGxlXCI7XG4gICAgWm9kRmlyc3RQYXJ0eVR5cGVLaW5kW1wiWm9kUmVjb3JkXCJdID0gXCJab2RSZWNvcmRcIjtcbiAgICBab2RGaXJzdFBhcnR5VHlwZUtpbmRbXCJab2RNYXBcIl0gPSBcIlpvZE1hcFwiO1xuICAgIFpvZEZpcnN0UGFydHlUeXBlS2luZFtcIlpvZFNldFwiXSA9IFwiWm9kU2V0XCI7XG4gICAgWm9kRmlyc3RQYXJ0eVR5cGVLaW5kW1wiWm9kRnVuY3Rpb25cIl0gPSBcIlpvZEZ1bmN0aW9uXCI7XG4gICAgWm9kRmlyc3RQYXJ0eVR5cGVLaW5kW1wiWm9kTGF6eVwiXSA9IFwiWm9kTGF6eVwiO1xuICAgIFpvZEZpcnN0UGFydHlUeXBlS2luZFtcIlpvZExpdGVyYWxcIl0gPSBcIlpvZExpdGVyYWxcIjtcbiAgICBab2RGaXJzdFBhcnR5VHlwZUtpbmRbXCJab2RFbnVtXCJdID0gXCJab2RFbnVtXCI7XG4gICAgWm9kRmlyc3RQYXJ0eVR5cGVLaW5kW1wiWm9kRWZmZWN0c1wiXSA9IFwiWm9kRWZmZWN0c1wiO1xuICAgIFpvZEZpcnN0UGFydHlUeXBlS2luZFtcIlpvZE5hdGl2ZUVudW1cIl0gPSBcIlpvZE5hdGl2ZUVudW1cIjtcbiAgICBab2RGaXJzdFBhcnR5VHlwZUtpbmRbXCJab2RPcHRpb25hbFwiXSA9IFwiWm9kT3B0aW9uYWxcIjtcbiAgICBab2RGaXJzdFBhcnR5VHlwZUtpbmRbXCJab2ROdWxsYWJsZVwiXSA9IFwiWm9kTnVsbGFibGVcIjtcbiAgICBab2RGaXJzdFBhcnR5VHlwZUtpbmRbXCJab2REZWZhdWx0XCJdID0gXCJab2REZWZhdWx0XCI7XG4gICAgWm9kRmlyc3RQYXJ0eVR5cGVLaW5kW1wiWm9kQ2F0Y2hcIl0gPSBcIlpvZENhdGNoXCI7XG4gICAgWm9kRmlyc3RQYXJ0eVR5cGVLaW5kW1wiWm9kUHJvbWlzZVwiXSA9IFwiWm9kUHJvbWlzZVwiO1xuICAgIFpvZEZpcnN0UGFydHlUeXBlS2luZFtcIlpvZEJyYW5kZWRcIl0gPSBcIlpvZEJyYW5kZWRcIjtcbiAgICBab2RGaXJzdFBhcnR5VHlwZUtpbmRbXCJab2RQaXBlbGluZVwiXSA9IFwiWm9kUGlwZWxpbmVcIjtcbiAgICBab2RGaXJzdFBhcnR5VHlwZUtpbmRbXCJab2RSZWFkb25seVwiXSA9IFwiWm9kUmVhZG9ubHlcIjtcbn0pKFpvZEZpcnN0UGFydHlUeXBlS2luZCB8fCAoWm9kRmlyc3RQYXJ0eVR5cGVLaW5kID0ge30pKTtcbi8vIHJlcXVpcmVzIFRTIDQuNCtcbmNsYXNzIENsYXNzIHtcbiAgICBjb25zdHJ1Y3RvciguLi5fKSB7IH1cbn1cbmNvbnN0IGluc3RhbmNlT2ZUeXBlID0gKFxuLy8gY29uc3QgaW5zdGFuY2VPZlR5cGUgPSA8VCBleHRlbmRzIG5ldyAoLi4uYXJnczogYW55W10pID0+IGFueT4oXG5jbHMsIHBhcmFtcyA9IHtcbiAgICBtZXNzYWdlOiBgSW5wdXQgbm90IGluc3RhbmNlIG9mICR7Y2xzLm5hbWV9YCxcbn0pID0+IGN1c3RvbSgoZGF0YSkgPT4gZGF0YSBpbnN0YW5jZW9mIGNscywgcGFyYW1zKTtcbmNvbnN0IHN0cmluZ1R5cGUgPSBab2RTdHJpbmcuY3JlYXRlO1xuY29uc3QgbnVtYmVyVHlwZSA9IFpvZE51bWJlci5jcmVhdGU7XG5jb25zdCBuYW5UeXBlID0gWm9kTmFOLmNyZWF0ZTtcbmNvbnN0IGJpZ0ludFR5cGUgPSBab2RCaWdJbnQuY3JlYXRlO1xuY29uc3QgYm9vbGVhblR5cGUgPSBab2RCb29sZWFuLmNyZWF0ZTtcbmNvbnN0IGRhdGVUeXBlID0gWm9kRGF0ZS5jcmVhdGU7XG5jb25zdCBzeW1ib2xUeXBlID0gWm9kU3ltYm9sLmNyZWF0ZTtcbmNvbnN0IHVuZGVmaW5lZFR5cGUgPSBab2RVbmRlZmluZWQuY3JlYXRlO1xuY29uc3QgbnVsbFR5cGUgPSBab2ROdWxsLmNyZWF0ZTtcbmNvbnN0IGFueVR5cGUgPSBab2RBbnkuY3JlYXRlO1xuY29uc3QgdW5rbm93blR5cGUgPSBab2RVbmtub3duLmNyZWF0ZTtcbmNvbnN0IG5ldmVyVHlwZSA9IFpvZE5ldmVyLmNyZWF0ZTtcbmNvbnN0IHZvaWRUeXBlID0gWm9kVm9pZC5jcmVhdGU7XG5jb25zdCBhcnJheVR5cGUgPSBab2RBcnJheS5jcmVhdGU7XG5jb25zdCBvYmplY3RUeXBlID0gWm9kT2JqZWN0LmNyZWF0ZTtcbmNvbnN0IHN0cmljdE9iamVjdFR5cGUgPSBab2RPYmplY3Quc3RyaWN0Q3JlYXRlO1xuY29uc3QgdW5pb25UeXBlID0gWm9kVW5pb24uY3JlYXRlO1xuY29uc3QgZGlzY3JpbWluYXRlZFVuaW9uVHlwZSA9IFpvZERpc2NyaW1pbmF0ZWRVbmlvbi5jcmVhdGU7XG5jb25zdCBpbnRlcnNlY3Rpb25UeXBlID0gWm9kSW50ZXJzZWN0aW9uLmNyZWF0ZTtcbmNvbnN0IHR1cGxlVHlwZSA9IFpvZFR1cGxlLmNyZWF0ZTtcbmNvbnN0IHJlY29yZFR5cGUgPSBab2RSZWNvcmQuY3JlYXRlO1xuY29uc3QgbWFwVHlwZSA9IFpvZE1hcC5jcmVhdGU7XG5jb25zdCBzZXRUeXBlID0gWm9kU2V0LmNyZWF0ZTtcbmNvbnN0IGZ1bmN0aW9uVHlwZSA9IFpvZEZ1bmN0aW9uLmNyZWF0ZTtcbmNvbnN0IGxhenlUeXBlID0gWm9kTGF6eS5jcmVhdGU7XG5jb25zdCBsaXRlcmFsVHlwZSA9IFpvZExpdGVyYWwuY3JlYXRlO1xuY29uc3QgZW51bVR5cGUgPSBab2RFbnVtLmNyZWF0ZTtcbmNvbnN0IG5hdGl2ZUVudW1UeXBlID0gWm9kTmF0aXZlRW51bS5jcmVhdGU7XG5jb25zdCBwcm9taXNlVHlwZSA9IFpvZFByb21pc2UuY3JlYXRlO1xuY29uc3QgZWZmZWN0c1R5cGUgPSBab2RFZmZlY3RzLmNyZWF0ZTtcbmNvbnN0IG9wdGlvbmFsVHlwZSA9IFpvZE9wdGlvbmFsLmNyZWF0ZTtcbmNvbnN0IG51bGxhYmxlVHlwZSA9IFpvZE51bGxhYmxlLmNyZWF0ZTtcbmNvbnN0IHByZXByb2Nlc3NUeXBlID0gWm9kRWZmZWN0cy5jcmVhdGVXaXRoUHJlcHJvY2VzcztcbmNvbnN0IHBpcGVsaW5lVHlwZSA9IFpvZFBpcGVsaW5lLmNyZWF0ZTtcbmNvbnN0IG9zdHJpbmcgPSAoKSA9PiBzdHJpbmdUeXBlKCkub3B0aW9uYWwoKTtcbmNvbnN0IG9udW1iZXIgPSAoKSA9PiBudW1iZXJUeXBlKCkub3B0aW9uYWwoKTtcbmNvbnN0IG9ib29sZWFuID0gKCkgPT4gYm9vbGVhblR5cGUoKS5vcHRpb25hbCgpO1xuZXhwb3J0IGNvbnN0IGNvZXJjZSA9IHtcbiAgICBzdHJpbmc6ICgoYXJnKSA9PiBab2RTdHJpbmcuY3JlYXRlKHsgLi4uYXJnLCBjb2VyY2U6IHRydWUgfSkpLFxuICAgIG51bWJlcjogKChhcmcpID0+IFpvZE51bWJlci5jcmVhdGUoeyAuLi5hcmcsIGNvZXJjZTogdHJ1ZSB9KSksXG4gICAgYm9vbGVhbjogKChhcmcpID0+IFpvZEJvb2xlYW4uY3JlYXRlKHtcbiAgICAgICAgLi4uYXJnLFxuICAgICAgICBjb2VyY2U6IHRydWUsXG4gICAgfSkpLFxuICAgIGJpZ2ludDogKChhcmcpID0+IFpvZEJpZ0ludC5jcmVhdGUoeyAuLi5hcmcsIGNvZXJjZTogdHJ1ZSB9KSksXG4gICAgZGF0ZTogKChhcmcpID0+IFpvZERhdGUuY3JlYXRlKHsgLi4uYXJnLCBjb2VyY2U6IHRydWUgfSkpLFxufTtcbmV4cG9ydCB7IGFueVR5cGUgYXMgYW55LCBhcnJheVR5cGUgYXMgYXJyYXksIGJpZ0ludFR5cGUgYXMgYmlnaW50LCBib29sZWFuVHlwZSBhcyBib29sZWFuLCBkYXRlVHlwZSBhcyBkYXRlLCBkaXNjcmltaW5hdGVkVW5pb25UeXBlIGFzIGRpc2NyaW1pbmF0ZWRVbmlvbiwgZWZmZWN0c1R5cGUgYXMgZWZmZWN0LCBlbnVtVHlwZSBhcyBlbnVtLCBmdW5jdGlvblR5cGUgYXMgZnVuY3Rpb24sIGluc3RhbmNlT2ZUeXBlIGFzIGluc3RhbmNlb2YsIGludGVyc2VjdGlvblR5cGUgYXMgaW50ZXJzZWN0aW9uLCBsYXp5VHlwZSBhcyBsYXp5LCBsaXRlcmFsVHlwZSBhcyBsaXRlcmFsLCBtYXBUeXBlIGFzIG1hcCwgbmFuVHlwZSBhcyBuYW4sIG5hdGl2ZUVudW1UeXBlIGFzIG5hdGl2ZUVudW0sIG5ldmVyVHlwZSBhcyBuZXZlciwgbnVsbFR5cGUgYXMgbnVsbCwgbnVsbGFibGVUeXBlIGFzIG51bGxhYmxlLCBudW1iZXJUeXBlIGFzIG51bWJlciwgb2JqZWN0VHlwZSBhcyBvYmplY3QsIG9ib29sZWFuLCBvbnVtYmVyLCBvcHRpb25hbFR5cGUgYXMgb3B0aW9uYWwsIG9zdHJpbmcsIHBpcGVsaW5lVHlwZSBhcyBwaXBlbGluZSwgcHJlcHJvY2Vzc1R5cGUgYXMgcHJlcHJvY2VzcywgcHJvbWlzZVR5cGUgYXMgcHJvbWlzZSwgcmVjb3JkVHlwZSBhcyByZWNvcmQsIHNldFR5cGUgYXMgc2V0LCBzdHJpY3RPYmplY3RUeXBlIGFzIHN0cmljdE9iamVjdCwgc3RyaW5nVHlwZSBhcyBzdHJpbmcsIHN5bWJvbFR5cGUgYXMgc3ltYm9sLCBlZmZlY3RzVHlwZSBhcyB0cmFuc2Zvcm1lciwgdHVwbGVUeXBlIGFzIHR1cGxlLCB1bmRlZmluZWRUeXBlIGFzIHVuZGVmaW5lZCwgdW5pb25UeXBlIGFzIHVuaW9uLCB1bmtub3duVHlwZSBhcyB1bmtub3duLCB2b2lkVHlwZSBhcyB2b2lkLCB9O1xuZXhwb3J0IGNvbnN0IE5FVkVSID0gSU5WQUxJRDtcbiIsICJleHBvcnQgKiBmcm9tIFwiLi9lcnJvcnMuanNcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2hlbHBlcnMvcGFyc2VVdGlsLmpzXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9oZWxwZXJzL3R5cGVBbGlhc2VzLmpzXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9oZWxwZXJzL3V0aWwuanNcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3R5cGVzLmpzXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9ab2RFcnJvci5qc1wiO1xuIiwgImltcG9ydCAqIGFzIHogZnJvbSBcIi4vdjMvZXh0ZXJuYWwuanNcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3YzL2V4dGVybmFsLmpzXCI7XG5leHBvcnQgeyB6IH07XG5leHBvcnQgZGVmYXVsdCB6O1xuIiwgbnVsbCwgbnVsbCwgImltcG9ydCB7IFNDSEVNRVMgfSBmcm9tIFwiLi91cmlcIjtcblxuaW1wb3J0IGh0dHAgZnJvbSBcIi4vc2NoZW1lcy9odHRwXCI7XG5TQ0hFTUVTW2h0dHAuc2NoZW1lXSA9IGh0dHA7XG5cbmltcG9ydCBodHRwcyBmcm9tIFwiLi9zY2hlbWVzL2h0dHBzXCI7XG5TQ0hFTUVTW2h0dHBzLnNjaGVtZV0gPSBodHRwcztcblxuaW1wb3J0IHdzIGZyb20gXCIuL3NjaGVtZXMvd3NcIjtcblNDSEVNRVNbd3Muc2NoZW1lXSA9IHdzO1xuXG5pbXBvcnQgd3NzIGZyb20gXCIuL3NjaGVtZXMvd3NzXCI7XG5TQ0hFTUVTW3dzcy5zY2hlbWVdID0gd3NzO1xuXG5pbXBvcnQgbWFpbHRvIGZyb20gXCIuL3NjaGVtZXMvbWFpbHRvXCI7XG5TQ0hFTUVTW21haWx0by5zY2hlbWVdID0gbWFpbHRvO1xuXG5pbXBvcnQgdXJuIGZyb20gXCIuL3NjaGVtZXMvdXJuXCI7XG5TQ0hFTUVTW3Vybi5zY2hlbWVdID0gdXJuO1xuXG5pbXBvcnQgdXVpZCBmcm9tIFwiLi9zY2hlbWVzL3Vybi11dWlkXCI7XG5TQ0hFTUVTW3V1aWQuc2NoZW1lXSA9IHV1aWQ7XG5cbmV4cG9ydCAqIGZyb20gXCIuL3VyaVwiO1xuIiwgImltcG9ydCB7IFVSSVNjaGVtZUhhbmRsZXIsIFVSSUNvbXBvbmVudHMsIFVSSU9wdGlvbnMgfSBmcm9tIFwiLi4vdXJpXCI7XG5pbXBvcnQgeyBVUk5Db21wb25lbnRzIH0gZnJvbSBcIi4vdXJuXCI7XG5pbXBvcnQgeyBTQ0hFTUVTIH0gZnJvbSBcIi4uL3VyaVwiO1xuXG5leHBvcnQgaW50ZXJmYWNlIFVVSURDb21wb25lbnRzIGV4dGVuZHMgVVJOQ29tcG9uZW50cyB7XG5cdHV1aWQ/OiBzdHJpbmc7XG59XG5cbmNvbnN0IFVVSUQgPSAvXlswLTlBLUZhLWZdezh9KD86XFwtWzAtOUEtRmEtZl17NH0pezN9XFwtWzAtOUEtRmEtZl17MTJ9JC87XG5jb25zdCBVVUlEX1BBUlNFID0gL15bMC05QS1GYS1mXFwtXXszNn0vO1xuXG4vL1JGQyA0MTIyXG5jb25zdCBoYW5kbGVyOlVSSVNjaGVtZUhhbmRsZXI8VVVJRENvbXBvbmVudHMsIFVSSU9wdGlvbnMsIFVSTkNvbXBvbmVudHM+ID0ge1xuXHRzY2hlbWUgOiBcInVybjp1dWlkXCIsXG5cblx0cGFyc2UgOiBmdW5jdGlvbiAodXJuQ29tcG9uZW50czpVUk5Db21wb25lbnRzLCBvcHRpb25zOlVSSU9wdGlvbnMpOlVVSURDb21wb25lbnRzIHtcblx0XHRjb25zdCB1dWlkQ29tcG9uZW50cyA9IHVybkNvbXBvbmVudHMgYXMgVVVJRENvbXBvbmVudHM7XG5cdFx0dXVpZENvbXBvbmVudHMudXVpZCA9IHV1aWRDb21wb25lbnRzLm5zcztcblx0XHR1dWlkQ29tcG9uZW50cy5uc3MgPSB1bmRlZmluZWQ7XG5cblx0XHRpZiAoIW9wdGlvbnMudG9sZXJhbnQgJiYgKCF1dWlkQ29tcG9uZW50cy51dWlkIHx8ICF1dWlkQ29tcG9uZW50cy51dWlkLm1hdGNoKFVVSUQpKSkge1xuXHRcdFx0dXVpZENvbXBvbmVudHMuZXJyb3IgPSB1dWlkQ29tcG9uZW50cy5lcnJvciB8fCBcIlVVSUQgaXMgbm90IHZhbGlkLlwiO1xuXHRcdH1cblxuXHRcdHJldHVybiB1dWlkQ29tcG9uZW50cztcblx0fSxcblxuXHRzZXJpYWxpemUgOiBmdW5jdGlvbiAodXVpZENvbXBvbmVudHM6VVVJRENvbXBvbmVudHMsIG9wdGlvbnM6VVJJT3B0aW9ucyk6VVJOQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgdXJuQ29tcG9uZW50cyA9IHV1aWRDb21wb25lbnRzIGFzIFVSTkNvbXBvbmVudHM7XG5cdFx0Ly9ub3JtYWxpemUgVVVJRFxuXHRcdHVybkNvbXBvbmVudHMubnNzID0gKHV1aWRDb21wb25lbnRzLnV1aWQgfHwgXCJcIikudG9Mb3dlckNhc2UoKTtcblx0XHRyZXR1cm4gdXJuQ29tcG9uZW50cztcblx0fSxcbn07XG5cbmV4cG9ydCBkZWZhdWx0IGhhbmRsZXI7IiwgImltcG9ydCB7IFVSSVNjaGVtZUhhbmRsZXIsIFVSSUNvbXBvbmVudHMsIFVSSU9wdGlvbnMgfSBmcm9tIFwiLi4vdXJpXCI7XG5pbXBvcnQgeyBwY3RFbmNDaGFyLCBTQ0hFTUVTIH0gZnJvbSBcIi4uL3VyaVwiO1xuXG5leHBvcnQgaW50ZXJmYWNlIFVSTkNvbXBvbmVudHMgZXh0ZW5kcyBVUklDb21wb25lbnRzIHtcblx0bmlkPzpzdHJpbmc7XG5cdG5zcz86c3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFVSTk9wdGlvbnMgZXh0ZW5kcyBVUklPcHRpb25zIHtcblx0bmlkPzpzdHJpbmc7XG59XG5cbmNvbnN0IE5JRCQgPSBcIig/OlswLTlBLVphLXpdWzAtOUEtWmEtelxcXFwtXXsxLDMxfSlcIjtcbmNvbnN0IFBDVF9FTkNPREVEJCA9IFwiKD86XFxcXCVbMC05QS1GYS1mXXsyfSlcIjtcbmNvbnN0IFRSQU5TJCQgPSBcIlswLTlBLVphLXpcXFxcKFxcXFwpXFxcXCtcXFxcLFxcXFwtXFxcXC5cXFxcOlxcXFw9XFxcXEBcXFxcO1xcXFwkXFxcXF9cXFxcIVxcXFwqXFxcXCdcXFxcL1xcXFw/XFxcXCNdXCI7XG5jb25zdCBOU1MkID0gXCIoPzooPzpcIiArIFBDVF9FTkNPREVEJCArIFwifFwiICsgVFJBTlMkJCArIFwiKSspXCI7XG5jb25zdCBVUk5fU0NIRU1FID0gbmV3IFJlZ0V4cChcIl51cm5cXFxcOihcIiArIE5JRCQgKyBcIikkXCIpO1xuY29uc3QgVVJOX1BBVEggPSBuZXcgUmVnRXhwKFwiXihcIiArIE5JRCQgKyBcIilcXFxcOihcIiArIE5TUyQgKyBcIikkXCIpO1xuY29uc3QgVVJOX1BBUlNFID0gL14oW15cXDpdKylcXDooLiopLztcbmNvbnN0IFVSTl9FWENMVURFRCA9IC9bXFx4MDAtXFx4MjBcXFxcXFxcIlxcJlxcPFxcPlxcW1xcXVxcXlxcYFxce1xcfFxcfVxcflxceDdGLVxceEZGXS9nO1xuXG4vL1JGQyAyMTQxXG5jb25zdCBoYW5kbGVyOlVSSVNjaGVtZUhhbmRsZXI8VVJOQ29tcG9uZW50cyxVUk5PcHRpb25zPiA9IHtcblx0c2NoZW1lIDogXCJ1cm5cIixcblxuXHRwYXJzZSA6IGZ1bmN0aW9uIChjb21wb25lbnRzOlVSSUNvbXBvbmVudHMsIG9wdGlvbnM6VVJOT3B0aW9ucyk6VVJOQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2hlcyA9IGNvbXBvbmVudHMucGF0aCAmJiBjb21wb25lbnRzLnBhdGgubWF0Y2goVVJOX1BBUlNFKTtcblx0XHRsZXQgdXJuQ29tcG9uZW50cyA9IGNvbXBvbmVudHMgYXMgVVJOQ29tcG9uZW50cztcblxuXHRcdGlmIChtYXRjaGVzKSB7XG5cdFx0XHRjb25zdCBzY2hlbWUgPSBvcHRpb25zLnNjaGVtZSB8fCB1cm5Db21wb25lbnRzLnNjaGVtZSB8fCBcInVyblwiO1xuXHRcdFx0Y29uc3QgbmlkID0gbWF0Y2hlc1sxXS50b0xvd2VyQ2FzZSgpO1xuXHRcdFx0Y29uc3QgbnNzID0gbWF0Y2hlc1syXTtcblx0XHRcdGNvbnN0IHVyblNjaGVtZSA9IGAke3NjaGVtZX06JHtvcHRpb25zLm5pZCB8fCBuaWR9YDtcblx0XHRcdGNvbnN0IHNjaGVtZUhhbmRsZXIgPSBTQ0hFTUVTW3VyblNjaGVtZV07XG5cblx0XHRcdHVybkNvbXBvbmVudHMubmlkID0gbmlkO1xuXHRcdFx0dXJuQ29tcG9uZW50cy5uc3MgPSBuc3M7XG5cdFx0XHR1cm5Db21wb25lbnRzLnBhdGggPSB1bmRlZmluZWQ7XG5cblx0XHRcdGlmIChzY2hlbWVIYW5kbGVyKSB7XG5cdFx0XHRcdHVybkNvbXBvbmVudHMgPSBzY2hlbWVIYW5kbGVyLnBhcnNlKHVybkNvbXBvbmVudHMsIG9wdGlvbnMpIGFzIFVSTkNvbXBvbmVudHM7XG5cdFx0XHR9XG5cdFx0fSBlbHNlIHtcblx0XHRcdHVybkNvbXBvbmVudHMuZXJyb3IgPSB1cm5Db21wb25lbnRzLmVycm9yIHx8IFwiVVJOIGNhbiBub3QgYmUgcGFyc2VkLlwiO1xuXHRcdH1cblxuXHRcdHJldHVybiB1cm5Db21wb25lbnRzO1xuXHR9LFxuXG5cdHNlcmlhbGl6ZSA6IGZ1bmN0aW9uICh1cm5Db21wb25lbnRzOlVSTkNvbXBvbmVudHMsIG9wdGlvbnM6VVJOT3B0aW9ucyk6VVJJQ29tcG9uZW50cyB7XG5cdFx0Y29uc3Qgc2NoZW1lID0gb3B0aW9ucy5zY2hlbWUgfHwgdXJuQ29tcG9uZW50cy5zY2hlbWUgfHwgXCJ1cm5cIjtcblx0XHRjb25zdCBuaWQgPSB1cm5Db21wb25lbnRzLm5pZDtcblx0XHRjb25zdCB1cm5TY2hlbWUgPSBgJHtzY2hlbWV9OiR7b3B0aW9ucy5uaWQgfHwgbmlkfWA7XG5cdFx0Y29uc3Qgc2NoZW1lSGFuZGxlciA9IFNDSEVNRVNbdXJuU2NoZW1lXTtcblxuXHRcdGlmIChzY2hlbWVIYW5kbGVyKSB7XG5cdFx0XHR1cm5Db21wb25lbnRzID0gc2NoZW1lSGFuZGxlci5zZXJpYWxpemUodXJuQ29tcG9uZW50cywgb3B0aW9ucykgYXMgVVJOQ29tcG9uZW50cztcblx0XHR9XG5cblx0XHRjb25zdCB1cmlDb21wb25lbnRzID0gdXJuQ29tcG9uZW50cyBhcyBVUklDb21wb25lbnRzO1xuXHRcdGNvbnN0IG5zcyA9IHVybkNvbXBvbmVudHMubnNzO1xuXHRcdHVyaUNvbXBvbmVudHMucGF0aCA9IGAke25pZCB8fCBvcHRpb25zLm5pZH06JHtuc3N9YDtcblxuXHRcdHJldHVybiB1cmlDb21wb25lbnRzO1xuXHR9LFxufTtcblxuZXhwb3J0IGRlZmF1bHQgaGFuZGxlcjsiLCAiaW1wb3J0IHsgVVJJU2NoZW1lSGFuZGxlciwgVVJJQ29tcG9uZW50cywgVVJJT3B0aW9ucyB9IGZyb20gXCIuLi91cmlcIjtcbmltcG9ydCB7IHBjdEVuY0NoYXIsIHBjdERlY0NoYXJzLCB1bmVzY2FwZUNvbXBvbmVudCB9IGZyb20gXCIuLi91cmlcIjtcbmltcG9ydCBwdW55Y29kZSBmcm9tIFwicHVueWNvZGVcIjtcbmltcG9ydCB7IG1lcmdlLCBzdWJleHAsIHRvVXBwZXJDYXNlLCB0b0FycmF5IH0gZnJvbSBcIi4uL3V0aWxcIjtcblxuZXhwb3J0IGludGVyZmFjZSBNYWlsdG9IZWFkZXJzIHtcblx0W2hmbmFtZTpzdHJpbmddOnN0cmluZ1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIE1haWx0b0NvbXBvbmVudHMgZXh0ZW5kcyBVUklDb21wb25lbnRzIHtcblx0dG86QXJyYXk8c3RyaW5nPixcblx0aGVhZGVycz86TWFpbHRvSGVhZGVycyxcblx0c3ViamVjdD86c3RyaW5nLFxuXHRib2R5PzpzdHJpbmdcbn1cblxuY29uc3QgTzpNYWlsdG9IZWFkZXJzID0ge307XG5jb25zdCBpc0lSSSA9IHRydWU7XG5cbi8vUkZDIDM5ODZcbmNvbnN0IFVOUkVTRVJWRUQkJCA9IFwiW0EtWmEtejAtOVxcXFwtXFxcXC5cXFxcX1xcXFx+XCIgKyAoaXNJUkkgPyBcIlxcXFx4QTAtXFxcXHUyMDBEXFxcXHUyMDEwLVxcXFx1MjAyOVxcXFx1MjAyRi1cXFxcdUQ3RkZcXFxcdUY5MDAtXFxcXHVGRENGXFxcXHVGREYwLVxcXFx1RkZFRlwiIDogXCJcIikgKyBcIl1cIjtcbmNvbnN0IEhFWERJRyQkID0gXCJbMC05QS1GYS1mXVwiOyAgLy9jYXNlLWluc2Vuc2l0aXZlXG5jb25zdCBQQ1RfRU5DT0RFRCQgPSBzdWJleHAoc3ViZXhwKFwiJVtFRmVmXVwiICsgSEVYRElHJCQgKyBcIiVcIiArIEhFWERJRyQkICsgSEVYRElHJCQgKyBcIiVcIiArIEhFWERJRyQkICsgSEVYRElHJCQpICsgXCJ8XCIgKyBzdWJleHAoXCIlWzg5QS1GYS1mXVwiICsgSEVYRElHJCQgKyBcIiVcIiArIEhFWERJRyQkICsgSEVYRElHJCQpICsgXCJ8XCIgKyBzdWJleHAoXCIlXCIgKyBIRVhESUckJCArIEhFWERJRyQkKSk7ICAvL2V4cGFuZGVkXG5cbi8vUkZDIDUzMjIsIGV4Y2VwdCB0aGVzZSBzeW1ib2xzIGFzIHBlciBSRkMgNjA2ODogQCA6IC8gPyAjIFsgXSAmIDsgPVxuLy9jb25zdCBBVEVYVCQkID0gXCJbQS1aYS16MC05XFxcXCFcXFxcI1xcXFwkXFxcXCVcXFxcJlxcXFwnXFxcXCpcXFxcK1xcXFwtXFxcXC9cXFxcPVxcXFw/XFxcXF5cXFxcX1xcXFxgXFxcXHtcXFxcfFxcXFx9XFxcXH5dXCI7XG4vL2NvbnN0IFdTUCQkID0gXCJbXFxcXHgyMFxcXFx4MDldXCI7XG4vL2NvbnN0IE9CU19RVEVYVCQkID0gXCJbXFxcXHgwMS1cXFxceDA4XFxcXHgwQlxcXFx4MENcXFxceDBFLVxcXFx4MUZcXFxceDdGXVwiOyAgLy8oJWQxLTggLyAlZDExLTEyIC8gJWQxNC0zMSAvICVkMTI3KVxuLy9jb25zdCBRVEVYVCQkID0gbWVyZ2UoXCJbXFxcXHgyMVxcXFx4MjMtXFxcXHg1QlxcXFx4NUQtXFxcXHg3RV1cIiwgT0JTX1FURVhUJCQpOyAgLy8lZDMzIC8gJWQzNS05MSAvICVkOTMtMTI2IC8gb2JzLXF0ZXh0XG4vL2NvbnN0IFZDSEFSJCQgPSBcIltcXFxceDIxLVxcXFx4N0VdXCI7XG4vL2NvbnN0IFdTUCQkID0gXCJbXFxcXHgyMFxcXFx4MDldXCI7XG4vL2NvbnN0IE9CU19RUCQgPSBzdWJleHAoXCJcXFxcXFxcXFwiICsgbWVyZ2UoXCJbXFxcXHgwMFxcXFx4MERcXFxceDBBXVwiLCBPQlNfUVRFWFQkJCkpOyAgLy8lZDAgLyBDUiAvIExGIC8gb2JzLXF0ZXh0XG4vL2NvbnN0IEZXUyQgPSBzdWJleHAoc3ViZXhwKFdTUCQkICsgXCIqXCIgKyBcIlxcXFx4MERcXFxceDBBXCIpICsgXCI/XCIgKyBXU1AkJCArIFwiK1wiKTtcbi8vY29uc3QgUVVPVEVEX1BBSVIkID0gc3ViZXhwKHN1YmV4cChcIlxcXFxcXFxcXCIgKyBzdWJleHAoVkNIQVIkJCArIFwifFwiICsgV1NQJCQpKSArIFwifFwiICsgT0JTX1FQJCk7XG4vL2NvbnN0IFFVT1RFRF9TVFJJTkckID0gc3ViZXhwKCdcXFxcXCInICsgc3ViZXhwKEZXUyQgKyBcIj9cIiArIFFDT05URU5UJCkgKyBcIipcIiArIEZXUyQgKyBcIj9cIiArICdcXFxcXCInKTtcbmNvbnN0IEFURVhUJCQgPSBcIltBLVphLXowLTlcXFxcIVxcXFwkXFxcXCVcXFxcJ1xcXFwqXFxcXCtcXFxcLVxcXFxeXFxcXF9cXFxcYFxcXFx7XFxcXHxcXFxcfVxcXFx+XVwiO1xuY29uc3QgUVRFWFQkJCA9IFwiW1xcXFwhXFxcXCRcXFxcJVxcXFwnXFxcXChcXFxcKVxcXFwqXFxcXCtcXFxcLFxcXFwtXFxcXC4wLTlcXFxcPFxcXFw+QS1aXFxcXHg1RS1cXFxceDdFXVwiO1xuY29uc3QgVkNIQVIkJCA9IG1lcmdlKFFURVhUJCQsIFwiW1xcXFxcXFwiXFxcXFxcXFxdXCIpO1xuY29uc3QgRE9UX0FUT01fVEVYVCQgPSBzdWJleHAoQVRFWFQkJCArIFwiK1wiICsgc3ViZXhwKFwiXFxcXC5cIiArIEFURVhUJCQgKyBcIitcIikgKyBcIipcIik7XG5jb25zdCBRVU9URURfUEFJUiQgPSBzdWJleHAoXCJcXFxcXFxcXFwiICsgVkNIQVIkJCk7XG5jb25zdCBRQ09OVEVOVCQgPSBzdWJleHAoUVRFWFQkJCArIFwifFwiICsgUVVPVEVEX1BBSVIkKTtcbmNvbnN0IFFVT1RFRF9TVFJJTkckID0gc3ViZXhwKCdcXFxcXCInICsgUUNPTlRFTlQkICsgXCIqXCIgKyAnXFxcXFwiJyk7XG5cbi8vUkZDIDYwNjhcbmNvbnN0IERURVhUX05PX09CUyQkID0gXCJbXFxcXHgyMS1cXFxceDVBXFxcXHg1RS1cXFxceDdFXVwiOyAgLy8lZDMzLTkwIC8gJWQ5NC0xMjZcbmNvbnN0IFNPTUVfREVMSU1TJCQgPSBcIltcXFxcIVxcXFwkXFxcXCdcXFxcKFxcXFwpXFxcXCpcXFxcK1xcXFwsXFxcXDtcXFxcOlxcXFxAXVwiO1xuY29uc3QgUUNIQVIkID0gc3ViZXhwKFVOUkVTRVJWRUQkJCArIFwifFwiICsgUENUX0VOQ09ERUQkICsgXCJ8XCIgKyBTT01FX0RFTElNUyQkKTtcbmNvbnN0IERPTUFJTiQgPSBzdWJleHAoRE9UX0FUT01fVEVYVCQgKyBcInxcIiArIFwiXFxcXFtcIiArIERURVhUX05PX09CUyQkICsgXCIqXCIgKyBcIlxcXFxdXCIpO1xuY29uc3QgTE9DQUxfUEFSVCQgPSBzdWJleHAoRE9UX0FUT01fVEVYVCQgKyBcInxcIiArIFFVT1RFRF9TVFJJTkckKTtcbmNvbnN0IEFERFJfU1BFQyQgPSBzdWJleHAoTE9DQUxfUEFSVCQgKyBcIlxcXFxAXCIgKyBET01BSU4kKTtcbmNvbnN0IFRPJCA9IHN1YmV4cChBRERSX1NQRUMkICsgc3ViZXhwKFwiXFxcXCxcIiArIEFERFJfU1BFQyQpICsgXCIqXCIpO1xuY29uc3QgSEZOQU1FJCA9IHN1YmV4cChRQ0hBUiQgKyBcIipcIik7XG5jb25zdCBIRlZBTFVFJCA9IEhGTkFNRSQ7XG5jb25zdCBIRklFTEQkID0gc3ViZXhwKEhGTkFNRSQgKyBcIlxcXFw9XCIgKyBIRlZBTFVFJCk7XG5jb25zdCBIRklFTERTMiQgPSBzdWJleHAoSEZJRUxEJCArIHN1YmV4cChcIlxcXFwmXCIgKyBIRklFTEQkKSArIFwiKlwiKTtcbmNvbnN0IEhGSUVMRFMkID0gc3ViZXhwKFwiXFxcXD9cIiArIEhGSUVMRFMyJCk7XG5jb25zdCBNQUlMVE9fVVJJID0gbmV3IFJlZ0V4cChcIl5tYWlsdG9cXFxcOlwiICsgVE8kICsgXCI/XCIgKyBIRklFTERTJCArIFwiPyRcIik7XG5cbmNvbnN0IFVOUkVTRVJWRUQgPSBuZXcgUmVnRXhwKFVOUkVTRVJWRUQkJCwgXCJnXCIpO1xuY29uc3QgUENUX0VOQ09ERUQgPSBuZXcgUmVnRXhwKFBDVF9FTkNPREVEJCwgXCJnXCIpO1xuY29uc3QgTk9UX0xPQ0FMX1BBUlQgPSBuZXcgUmVnRXhwKG1lcmdlKFwiW15dXCIsIEFURVhUJCQsIFwiW1xcXFwuXVwiLCAnW1xcXFxcIl0nLCBWQ0hBUiQkKSwgXCJnXCIpO1xuY29uc3QgTk9UX0RPTUFJTiA9IG5ldyBSZWdFeHAobWVyZ2UoXCJbXl1cIiwgQVRFWFQkJCwgXCJbXFxcXC5dXCIsIFwiW1xcXFxbXVwiLCBEVEVYVF9OT19PQlMkJCwgXCJbXFxcXF1dXCIpLCBcImdcIik7XG5jb25zdCBOT1RfSEZOQU1FID0gbmV3IFJlZ0V4cChtZXJnZShcIlteXVwiLCBVTlJFU0VSVkVEJCQsIFNPTUVfREVMSU1TJCQpLCBcImdcIik7XG5jb25zdCBOT1RfSEZWQUxVRSA9IE5PVF9IRk5BTUU7XG5jb25zdCBUTyA9IG5ldyBSZWdFeHAoXCJeXCIgKyBUTyQgKyBcIiRcIik7XG5jb25zdCBIRklFTERTID0gbmV3IFJlZ0V4cChcIl5cIiArIEhGSUVMRFMyJCArIFwiJFwiKTtcblxuZnVuY3Rpb24gZGVjb2RlVW5yZXNlcnZlZChzdHI6c3RyaW5nKTpzdHJpbmcge1xuXHRjb25zdCBkZWNTdHIgPSBwY3REZWNDaGFycyhzdHIpO1xuXHRyZXR1cm4gKCFkZWNTdHIubWF0Y2goVU5SRVNFUlZFRCkgPyBzdHIgOiBkZWNTdHIpO1xufVxuXG5jb25zdCBoYW5kbGVyOlVSSVNjaGVtZUhhbmRsZXI8TWFpbHRvQ29tcG9uZW50cz4gPSAge1xuXHRzY2hlbWUgOiBcIm1haWx0b1wiLFxuXG5cdHBhcnNlIDogZnVuY3Rpb24gKGNvbXBvbmVudHM6VVJJQ29tcG9uZW50cywgb3B0aW9uczpVUklPcHRpb25zKTpNYWlsdG9Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYWlsdG9Db21wb25lbnRzID0gY29tcG9uZW50cyBhcyBNYWlsdG9Db21wb25lbnRzO1xuXHRcdGNvbnN0IHRvID0gbWFpbHRvQ29tcG9uZW50cy50byA9IChtYWlsdG9Db21wb25lbnRzLnBhdGggPyBtYWlsdG9Db21wb25lbnRzLnBhdGguc3BsaXQoXCIsXCIpIDogW10pO1xuXHRcdG1haWx0b0NvbXBvbmVudHMucGF0aCA9IHVuZGVmaW5lZDtcblxuXHRcdGlmIChtYWlsdG9Db21wb25lbnRzLnF1ZXJ5KSB7XG5cdFx0XHRsZXQgdW5rbm93bkhlYWRlcnMgPSBmYWxzZVxuXHRcdFx0Y29uc3QgaGVhZGVyczpNYWlsdG9IZWFkZXJzID0ge307XG5cdFx0XHRjb25zdCBoZmllbGRzID0gbWFpbHRvQ29tcG9uZW50cy5xdWVyeS5zcGxpdChcIiZcIik7XG5cblx0XHRcdGZvciAobGV0IHggPSAwLCB4bCA9IGhmaWVsZHMubGVuZ3RoOyB4IDwgeGw7ICsreCkge1xuXHRcdFx0XHRjb25zdCBoZmllbGQgPSBoZmllbGRzW3hdLnNwbGl0KFwiPVwiKTtcblxuXHRcdFx0XHRzd2l0Y2ggKGhmaWVsZFswXSkge1xuXHRcdFx0XHRcdGNhc2UgXCJ0b1wiOlxuXHRcdFx0XHRcdFx0Y29uc3QgdG9BZGRycyA9IGhmaWVsZFsxXS5zcGxpdChcIixcIik7XG5cdFx0XHRcdFx0XHRmb3IgKGxldCB4ID0gMCwgeGwgPSB0b0FkZHJzLmxlbmd0aDsgeCA8IHhsOyArK3gpIHtcblx0XHRcdFx0XHRcdFx0dG8ucHVzaCh0b0FkZHJzW3hdKTtcblx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdGJyZWFrO1xuXHRcdFx0XHRcdGNhc2UgXCJzdWJqZWN0XCI6XG5cdFx0XHRcdFx0XHRtYWlsdG9Db21wb25lbnRzLnN1YmplY3QgPSB1bmVzY2FwZUNvbXBvbmVudChoZmllbGRbMV0sIG9wdGlvbnMpO1xuXHRcdFx0XHRcdFx0YnJlYWs7XG5cdFx0XHRcdFx0Y2FzZSBcImJvZHlcIjpcblx0XHRcdFx0XHRcdG1haWx0b0NvbXBvbmVudHMuYm9keSA9IHVuZXNjYXBlQ29tcG9uZW50KGhmaWVsZFsxXSwgb3B0aW9ucyk7XG5cdFx0XHRcdFx0XHRicmVhaztcblx0XHRcdFx0XHRkZWZhdWx0OlxuXHRcdFx0XHRcdFx0dW5rbm93bkhlYWRlcnMgPSB0cnVlO1xuXHRcdFx0XHRcdFx0aGVhZGVyc1t1bmVzY2FwZUNvbXBvbmVudChoZmllbGRbMF0sIG9wdGlvbnMpXSA9IHVuZXNjYXBlQ29tcG9uZW50KGhmaWVsZFsxXSwgb3B0aW9ucyk7XG5cdFx0XHRcdFx0XHRicmVhaztcblx0XHRcdFx0fVxuXHRcdFx0fVxuXG5cdFx0XHRpZiAodW5rbm93bkhlYWRlcnMpIG1haWx0b0NvbXBvbmVudHMuaGVhZGVycyA9IGhlYWRlcnM7XG5cdFx0fVxuXG5cdFx0bWFpbHRvQ29tcG9uZW50cy5xdWVyeSA9IHVuZGVmaW5lZDtcblxuXHRcdGZvciAobGV0IHggPSAwLCB4bCA9IHRvLmxlbmd0aDsgeCA8IHhsOyArK3gpIHtcblx0XHRcdGNvbnN0IGFkZHIgPSB0b1t4XS5zcGxpdChcIkBcIik7XG5cblx0XHRcdGFkZHJbMF0gPSB1bmVzY2FwZUNvbXBvbmVudChhZGRyWzBdKTtcblxuXHRcdFx0aWYgKCFvcHRpb25zLnVuaWNvZGVTdXBwb3J0KSB7XG5cdFx0XHRcdC8vY29udmVydCBVbmljb2RlIElETiAtPiBBU0NJSSBJRE5cblx0XHRcdFx0dHJ5IHtcblx0XHRcdFx0XHRhZGRyWzFdID0gcHVueWNvZGUudG9BU0NJSSh1bmVzY2FwZUNvbXBvbmVudChhZGRyWzFdLCBvcHRpb25zKS50b0xvd2VyQ2FzZSgpKTtcblx0XHRcdFx0fSBjYXRjaCAoZSkge1xuXHRcdFx0XHRcdG1haWx0b0NvbXBvbmVudHMuZXJyb3IgPSBtYWlsdG9Db21wb25lbnRzLmVycm9yIHx8IFwiRW1haWwgYWRkcmVzcydzIGRvbWFpbiBuYW1lIGNhbiBub3QgYmUgY29udmVydGVkIHRvIEFTQ0lJIHZpYSBwdW55Y29kZTogXCIgKyBlO1xuXHRcdFx0XHR9XG5cdFx0XHR9IGVsc2Uge1xuXHRcdFx0XHRhZGRyWzFdID0gdW5lc2NhcGVDb21wb25lbnQoYWRkclsxXSwgb3B0aW9ucykudG9Mb3dlckNhc2UoKTtcblx0XHRcdH1cblxuXHRcdFx0dG9beF0gPSBhZGRyLmpvaW4oXCJAXCIpO1xuXHRcdH1cblxuXHRcdHJldHVybiBtYWlsdG9Db21wb25lbnRzO1xuXHR9LFxuXG5cdHNlcmlhbGl6ZSA6IGZ1bmN0aW9uIChtYWlsdG9Db21wb25lbnRzOk1haWx0b0NvbXBvbmVudHMsIG9wdGlvbnM6VVJJT3B0aW9ucyk6VVJJQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgY29tcG9uZW50cyA9IG1haWx0b0NvbXBvbmVudHMgYXMgVVJJQ29tcG9uZW50cztcblx0XHRjb25zdCB0byA9IHRvQXJyYXkobWFpbHRvQ29tcG9uZW50cy50byk7XG5cdFx0aWYgKHRvKSB7XG5cdFx0XHRmb3IgKGxldCB4ID0gMCwgeGwgPSB0by5sZW5ndGg7IHggPCB4bDsgKyt4KSB7XG5cdFx0XHRcdGNvbnN0IHRvQWRkciA9IFN0cmluZyh0b1t4XSk7XG5cdFx0XHRcdGNvbnN0IGF0SWR4ID0gdG9BZGRyLmxhc3RJbmRleE9mKFwiQFwiKTtcblx0XHRcdFx0Y29uc3QgbG9jYWxQYXJ0ID0gKHRvQWRkci5zbGljZSgwLCBhdElkeCkpLnJlcGxhY2UoUENUX0VOQ09ERUQsIGRlY29kZVVucmVzZXJ2ZWQpLnJlcGxhY2UoUENUX0VOQ09ERUQsIHRvVXBwZXJDYXNlKS5yZXBsYWNlKE5PVF9MT0NBTF9QQVJULCBwY3RFbmNDaGFyKTtcblx0XHRcdFx0bGV0IGRvbWFpbiA9IHRvQWRkci5zbGljZShhdElkeCArIDEpO1xuXG5cdFx0XHRcdC8vY29udmVydCBJRE4gdmlhIHB1bnljb2RlXG5cdFx0XHRcdHRyeSB7XG5cdFx0XHRcdFx0ZG9tYWluID0gKCFvcHRpb25zLmlyaSA/IHB1bnljb2RlLnRvQVNDSUkodW5lc2NhcGVDb21wb25lbnQoZG9tYWluLCBvcHRpb25zKS50b0xvd2VyQ2FzZSgpKSA6IHB1bnljb2RlLnRvVW5pY29kZShkb21haW4pKTtcblx0XHRcdFx0fSBjYXRjaCAoZSkge1xuXHRcdFx0XHRcdGNvbXBvbmVudHMuZXJyb3IgPSBjb21wb25lbnRzLmVycm9yIHx8IFwiRW1haWwgYWRkcmVzcydzIGRvbWFpbiBuYW1lIGNhbiBub3QgYmUgY29udmVydGVkIHRvIFwiICsgKCFvcHRpb25zLmlyaSA/IFwiQVNDSUlcIiA6IFwiVW5pY29kZVwiKSArIFwiIHZpYSBwdW55Y29kZTogXCIgKyBlO1xuXHRcdFx0XHR9XG5cblx0XHRcdFx0dG9beF0gPSBsb2NhbFBhcnQgKyBcIkBcIiArIGRvbWFpbjtcblx0XHRcdH1cblxuXHRcdFx0Y29tcG9uZW50cy5wYXRoID0gdG8uam9pbihcIixcIik7XG5cdFx0fVxuXG5cdFx0Y29uc3QgaGVhZGVycyA9IG1haWx0b0NvbXBvbmVudHMuaGVhZGVycyA9IG1haWx0b0NvbXBvbmVudHMuaGVhZGVycyB8fCB7fTtcblxuXHRcdGlmIChtYWlsdG9Db21wb25lbnRzLnN1YmplY3QpIGhlYWRlcnNbXCJzdWJqZWN0XCJdID0gbWFpbHRvQ29tcG9uZW50cy5zdWJqZWN0O1xuXHRcdGlmIChtYWlsdG9Db21wb25lbnRzLmJvZHkpIGhlYWRlcnNbXCJib2R5XCJdID0gbWFpbHRvQ29tcG9uZW50cy5ib2R5O1xuXG5cdFx0Y29uc3QgZmllbGRzID0gW107XG5cdFx0Zm9yIChjb25zdCBuYW1lIGluIGhlYWRlcnMpIHtcblx0XHRcdGlmIChoZWFkZXJzW25hbWVdICE9PSBPW25hbWVdKSB7XG5cdFx0XHRcdGZpZWxkcy5wdXNoKFxuXHRcdFx0XHRcdG5hbWUucmVwbGFjZShQQ1RfRU5DT0RFRCwgZGVjb2RlVW5yZXNlcnZlZCkucmVwbGFjZShQQ1RfRU5DT0RFRCwgdG9VcHBlckNhc2UpLnJlcGxhY2UoTk9UX0hGTkFNRSwgcGN0RW5jQ2hhcikgK1xuXHRcdFx0XHRcdFwiPVwiICtcblx0XHRcdFx0XHRoZWFkZXJzW25hbWVdLnJlcGxhY2UoUENUX0VOQ09ERUQsIGRlY29kZVVucmVzZXJ2ZWQpLnJlcGxhY2UoUENUX0VOQ09ERUQsIHRvVXBwZXJDYXNlKS5yZXBsYWNlKE5PVF9IRlZBTFVFLCBwY3RFbmNDaGFyKVxuXHRcdFx0XHQpO1xuXHRcdFx0fVxuXHRcdH1cblx0XHRpZiAoZmllbGRzLmxlbmd0aCkge1xuXHRcdFx0Y29tcG9uZW50cy5xdWVyeSA9IGZpZWxkcy5qb2luKFwiJlwiKTtcblx0XHR9XG5cblx0XHRyZXR1cm4gY29tcG9uZW50cztcblx0fVxufVxuXG5leHBvcnQgZGVmYXVsdCBoYW5kbGVyOyIsICJpbXBvcnQgeyBVUklTY2hlbWVIYW5kbGVyLCBVUklDb21wb25lbnRzLCBVUklPcHRpb25zIH0gZnJvbSBcIi4uL3VyaVwiO1xuaW1wb3J0IHdzIGZyb20gXCIuL3dzXCI7XG5cbmNvbnN0IGhhbmRsZXI6VVJJU2NoZW1lSGFuZGxlciA9IHtcblx0c2NoZW1lIDogXCJ3c3NcIixcblx0ZG9tYWluSG9zdCA6IHdzLmRvbWFpbkhvc3QsXG5cdHBhcnNlIDogd3MucGFyc2UsXG5cdHNlcmlhbGl6ZSA6IHdzLnNlcmlhbGl6ZVxufVxuXG5leHBvcnQgZGVmYXVsdCBoYW5kbGVyOyIsICJpbXBvcnQgeyBVUklTY2hlbWVIYW5kbGVyLCBVUklDb21wb25lbnRzLCBVUklPcHRpb25zIH0gZnJvbSBcIi4uL3VyaVwiO1xuXG5leHBvcnQgaW50ZXJmYWNlIFdTQ29tcG9uZW50cyBleHRlbmRzIFVSSUNvbXBvbmVudHMge1xuXHRyZXNvdXJjZU5hbWU/OiBzdHJpbmc7XG5cdHNlY3VyZT86IGJvb2xlYW47XG59XG5cbmZ1bmN0aW9uIGlzU2VjdXJlKHdzQ29tcG9uZW50czpXU0NvbXBvbmVudHMpOmJvb2xlYW4ge1xuXHRyZXR1cm4gdHlwZW9mIHdzQ29tcG9uZW50cy5zZWN1cmUgPT09ICdib29sZWFuJyA/IHdzQ29tcG9uZW50cy5zZWN1cmUgOiBTdHJpbmcod3NDb21wb25lbnRzLnNjaGVtZSkudG9Mb3dlckNhc2UoKSA9PT0gXCJ3c3NcIjtcbn1cblxuLy9SRkMgNjQ1NVxuY29uc3QgaGFuZGxlcjpVUklTY2hlbWVIYW5kbGVyID0ge1xuXHRzY2hlbWUgOiBcIndzXCIsXG5cblx0ZG9tYWluSG9zdCA6IHRydWUsXG5cblx0cGFyc2UgOiBmdW5jdGlvbiAoY29tcG9uZW50czpVUklDb21wb25lbnRzLCBvcHRpb25zOlVSSU9wdGlvbnMpOldTQ29tcG9uZW50cyB7XG5cdFx0Y29uc3Qgd3NDb21wb25lbnRzID0gY29tcG9uZW50cyBhcyBXU0NvbXBvbmVudHM7XG5cblx0XHQvL2luZGljYXRlIGlmIHRoZSBzZWN1cmUgZmxhZyBpcyBzZXRcblx0XHR3c0NvbXBvbmVudHMuc2VjdXJlID0gaXNTZWN1cmUod3NDb21wb25lbnRzKTtcblxuXHRcdC8vY29uc3RydWN0IHJlc291Y2UgbmFtZVxuXHRcdHdzQ29tcG9uZW50cy5yZXNvdXJjZU5hbWUgPSAod3NDb21wb25lbnRzLnBhdGggfHwgJy8nKSArICh3c0NvbXBvbmVudHMucXVlcnkgPyAnPycgKyB3c0NvbXBvbmVudHMucXVlcnkgOiAnJyk7XG5cdFx0d3NDb21wb25lbnRzLnBhdGggPSB1bmRlZmluZWQ7XG5cdFx0d3NDb21wb25lbnRzLnF1ZXJ5ID0gdW5kZWZpbmVkO1xuXG5cdFx0cmV0dXJuIHdzQ29tcG9uZW50cztcblx0fSxcblxuXHRzZXJpYWxpemUgOiBmdW5jdGlvbiAod3NDb21wb25lbnRzOldTQ29tcG9uZW50cywgb3B0aW9uczpVUklPcHRpb25zKTpVUklDb21wb25lbnRzIHtcblx0XHQvL25vcm1hbGl6ZSB0aGUgZGVmYXVsdCBwb3J0XG5cdFx0aWYgKHdzQ29tcG9uZW50cy5wb3J0ID09PSAoaXNTZWN1cmUod3NDb21wb25lbnRzKSA/IDQ0MyA6IDgwKSB8fCB3c0NvbXBvbmVudHMucG9ydCA9PT0gXCJcIikge1xuXHRcdFx0d3NDb21wb25lbnRzLnBvcnQgPSB1bmRlZmluZWQ7XG5cdFx0fVxuXG5cdFx0Ly9lbnN1cmUgc2NoZW1lIG1hdGNoZXMgc2VjdXJlIGZsYWdcblx0XHRpZiAodHlwZW9mIHdzQ29tcG9uZW50cy5zZWN1cmUgPT09ICdib29sZWFuJykge1xuXHRcdFx0d3NDb21wb25lbnRzLnNjaGVtZSA9ICh3c0NvbXBvbmVudHMuc2VjdXJlID8gJ3dzcycgOiAnd3MnKTtcblx0XHRcdHdzQ29tcG9uZW50cy5zZWN1cmUgPSB1bmRlZmluZWQ7XG5cdFx0fVxuXG5cdFx0Ly9yZWNvbnN0cnVjdCBwYXRoIGZyb20gcmVzb3VyY2UgbmFtZVxuXHRcdGlmICh3c0NvbXBvbmVudHMucmVzb3VyY2VOYW1lKSB7XG5cdFx0XHRjb25zdCBbcGF0aCwgcXVlcnldID0gd3NDb21wb25lbnRzLnJlc291cmNlTmFtZS5zcGxpdCgnPycpO1xuXHRcdFx0d3NDb21wb25lbnRzLnBhdGggPSAocGF0aCAmJiBwYXRoICE9PSAnLycgPyBwYXRoIDogdW5kZWZpbmVkKTtcblx0XHRcdHdzQ29tcG9uZW50cy5xdWVyeSA9IHF1ZXJ5O1xuXHRcdFx0d3NDb21wb25lbnRzLnJlc291cmNlTmFtZSA9IHVuZGVmaW5lZDtcblx0XHR9XG5cblx0XHQvL2ZvcmJpZCBmcmFnbWVudCBjb21wb25lbnRcblx0XHR3c0NvbXBvbmVudHMuZnJhZ21lbnQgPSB1bmRlZmluZWQ7XG5cblx0XHRyZXR1cm4gd3NDb21wb25lbnRzO1xuXHR9XG59O1xuXG5leHBvcnQgZGVmYXVsdCBoYW5kbGVyOyIsICJpbXBvcnQgeyBVUklTY2hlbWVIYW5kbGVyLCBVUklDb21wb25lbnRzLCBVUklPcHRpb25zIH0gZnJvbSBcIi4uL3VyaVwiO1xuaW1wb3J0IGh0dHAgZnJvbSBcIi4vaHR0cFwiO1xuXG5jb25zdCBoYW5kbGVyOlVSSVNjaGVtZUhhbmRsZXIgPSB7XG5cdHNjaGVtZSA6IFwiaHR0cHNcIixcblx0ZG9tYWluSG9zdCA6IGh0dHAuZG9tYWluSG9zdCxcblx0cGFyc2UgOiBodHRwLnBhcnNlLFxuXHRzZXJpYWxpemUgOiBodHRwLnNlcmlhbGl6ZVxufVxuXG5leHBvcnQgZGVmYXVsdCBoYW5kbGVyOyIsICJpbXBvcnQgeyBVUklTY2hlbWVIYW5kbGVyLCBVUklDb21wb25lbnRzLCBVUklPcHRpb25zIH0gZnJvbSBcIi4uL3VyaVwiO1xuXG5jb25zdCBoYW5kbGVyOlVSSVNjaGVtZUhhbmRsZXIgPSB7XG5cdHNjaGVtZSA6IFwiaHR0cFwiLFxuXG5cdGRvbWFpbkhvc3QgOiB0cnVlLFxuXG5cdHBhcnNlIDogZnVuY3Rpb24gKGNvbXBvbmVudHM6VVJJQ29tcG9uZW50cywgb3B0aW9uczpVUklPcHRpb25zKTpVUklDb21wb25lbnRzIHtcblx0XHQvL3JlcG9ydCBtaXNzaW5nIGhvc3Rcblx0XHRpZiAoIWNvbXBvbmVudHMuaG9zdCkge1xuXHRcdFx0Y29tcG9uZW50cy5lcnJvciA9IGNvbXBvbmVudHMuZXJyb3IgfHwgXCJIVFRQIFVSSXMgbXVzdCBoYXZlIGEgaG9zdC5cIjtcblx0XHR9XG5cblx0XHRyZXR1cm4gY29tcG9uZW50cztcblx0fSxcblxuXHRzZXJpYWxpemUgOiBmdW5jdGlvbiAoY29tcG9uZW50czpVUklDb21wb25lbnRzLCBvcHRpb25zOlVSSU9wdGlvbnMpOlVSSUNvbXBvbmVudHMge1xuXHRcdGNvbnN0IHNlY3VyZSA9IFN0cmluZyhjb21wb25lbnRzLnNjaGVtZSkudG9Mb3dlckNhc2UoKSA9PT0gXCJodHRwc1wiO1xuXG5cdFx0Ly9ub3JtYWxpemUgdGhlIGRlZmF1bHQgcG9ydFxuXHRcdGlmIChjb21wb25lbnRzLnBvcnQgPT09IChzZWN1cmUgPyA0NDMgOiA4MCkgfHwgY29tcG9uZW50cy5wb3J0ID09PSBcIlwiKSB7XG5cdFx0XHRjb21wb25lbnRzLnBvcnQgPSB1bmRlZmluZWQ7XG5cdFx0fVxuXHRcdFxuXHRcdC8vbm9ybWFsaXplIHRoZSBlbXB0eSBwYXRoXG5cdFx0aWYgKCFjb21wb25lbnRzLnBhdGgpIHtcblx0XHRcdGNvbXBvbmVudHMucGF0aCA9IFwiL1wiO1xuXHRcdH1cblxuXHRcdC8vTk9URTogV2UgZG8gbm90IHBhcnNlIHF1ZXJ5IHN0cmluZ3MgZm9yIEhUVFAgVVJJc1xuXHRcdC8vYXMgV1dXIEZvcm0gVXJsIEVuY29kZWQgcXVlcnkgc3RyaW5ncyBhcmUgcGFydCBvZiB0aGUgSFRNTDQrIHNwZWMsXG5cdFx0Ly9hbmQgbm90IHRoZSBIVFRQIHNwZWMuXG5cblx0XHRyZXR1cm4gY29tcG9uZW50cztcblx0fVxufTtcblxuZXhwb3J0IGRlZmF1bHQgaGFuZGxlcjsiLCAiLyoqXG4gKiBVUkkuanNcbiAqXG4gKiBAZmlsZW92ZXJ2aWV3IEFuIFJGQyAzOTg2IGNvbXBsaWFudCwgc2NoZW1lIGV4dGVuZGFibGUgVVJJIHBhcnNpbmcvdmFsaWRhdGluZy9yZXNvbHZpbmcgbGlicmFyeSBmb3IgSmF2YVNjcmlwdC5cbiAqIEBhdXRob3IgPGEgaHJlZj1cIm1haWx0bzpnYXJ5LmNvdXJ0QGdtYWlsLmNvbVwiPkdhcnkgQ291cnQ8L2E+XG4gKiBAc2VlIGh0dHA6Ly9naXRodWIuY29tL2dhcnljb3VydC91cmktanNcbiAqL1xuXG4vKipcbiAqIENvcHlyaWdodCAyMDExIEdhcnkgQ291cnQuIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKlxuICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJlXG4gKiBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDpcbiAqXG4gKiAgICAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZlxuICogICAgICAgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLlxuICpcbiAqICAgIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0XG4gKiAgICAgICBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFsc1xuICogICAgICAgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLlxuICpcbiAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgR0FSWSBDT1VSVCBgYEFTIElTJycgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRURcbiAqIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkRcbiAqIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBHQVJZIENPVVJUIE9SXG4gKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUlxuICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUlxuICogU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTlxuICogQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElOR1xuICogTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGXG4gKiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS5cbiAqXG4gKiBUaGUgdmlld3MgYW5kIGNvbmNsdXNpb25zIGNvbnRhaW5lZCBpbiB0aGUgc29mdHdhcmUgYW5kIGRvY3VtZW50YXRpb24gYXJlIHRob3NlIG9mIHRoZVxuICogYXV0aG9ycyBhbmQgc2hvdWxkIG5vdCBiZSBpbnRlcnByZXRlZCBhcyByZXByZXNlbnRpbmcgb2ZmaWNpYWwgcG9saWNpZXMsIGVpdGhlciBleHByZXNzZWRcbiAqIG9yIGltcGxpZWQsIG9mIEdhcnkgQ291cnQuXG4gKi9cblxuaW1wb3J0IFVSSV9QUk9UT0NPTCBmcm9tIFwiLi9yZWdleHBzLXVyaVwiO1xuaW1wb3J0IElSSV9QUk9UT0NPTCBmcm9tIFwiLi9yZWdleHBzLWlyaVwiO1xuaW1wb3J0IHB1bnljb2RlIGZyb20gXCJwdW55Y29kZVwiO1xuaW1wb3J0IHsgdG9VcHBlckNhc2UsIHR5cGVPZiwgYXNzaWduIH0gZnJvbSBcIi4vdXRpbFwiO1xuXG5leHBvcnQgaW50ZXJmYWNlIFVSSUNvbXBvbmVudHMge1xuXHRzY2hlbWU/OnN0cmluZztcblx0dXNlcmluZm8/OnN0cmluZztcblx0aG9zdD86c3RyaW5nO1xuXHRwb3J0PzpudW1iZXJ8c3RyaW5nO1xuXHRwYXRoPzpzdHJpbmc7XG5cdHF1ZXJ5PzpzdHJpbmc7XG5cdGZyYWdtZW50PzpzdHJpbmc7XG5cdHJlZmVyZW5jZT86c3RyaW5nO1xuXHRlcnJvcj86c3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFVSSU9wdGlvbnMge1xuXHRzY2hlbWU/OnN0cmluZztcblx0cmVmZXJlbmNlPzpzdHJpbmc7XG5cdHRvbGVyYW50Pzpib29sZWFuO1xuXHRhYnNvbHV0ZVBhdGg/OmJvb2xlYW47XG5cdGlyaT86Ym9vbGVhbjtcblx0dW5pY29kZVN1cHBvcnQ/OmJvb2xlYW47XG5cdGRvbWFpbkhvc3Q/OmJvb2xlYW47XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgVVJJU2NoZW1lSGFuZGxlcjxDb21wb25lbnRzIGV4dGVuZHMgVVJJQ29tcG9uZW50cyA9IFVSSUNvbXBvbmVudHMsIE9wdGlvbnMgZXh0ZW5kcyBVUklPcHRpb25zID0gVVJJT3B0aW9ucywgUGFyZW50Q29tcG9uZW50cyBleHRlbmRzIFVSSUNvbXBvbmVudHMgPSBVUklDb21wb25lbnRzPiB7XG5cdHNjaGVtZTpzdHJpbmc7XG5cdHBhcnNlKGNvbXBvbmVudHM6UGFyZW50Q29tcG9uZW50cywgb3B0aW9uczpPcHRpb25zKTpDb21wb25lbnRzO1xuXHRzZXJpYWxpemUoY29tcG9uZW50czpDb21wb25lbnRzLCBvcHRpb25zOk9wdGlvbnMpOlBhcmVudENvbXBvbmVudHM7XG5cdHVuaWNvZGVTdXBwb3J0Pzpib29sZWFuO1xuXHRkb21haW5Ib3N0Pzpib29sZWFuO1xuXHRhYnNvbHV0ZVBhdGg/OmJvb2xlYW47XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgVVJJUmVnRXhwcyB7XG5cdE5PVF9TQ0hFTUUgOiBSZWdFeHAsXG5cdE5PVF9VU0VSSU5GTyA6IFJlZ0V4cCxcblx0Tk9UX0hPU1QgOiBSZWdFeHAsXG5cdE5PVF9QQVRIIDogUmVnRXhwLFxuXHROT1RfUEFUSF9OT1NDSEVNRSA6IFJlZ0V4cCxcblx0Tk9UX1FVRVJZIDogUmVnRXhwLFxuXHROT1RfRlJBR01FTlQgOiBSZWdFeHAsXG5cdEVTQ0FQRSA6IFJlZ0V4cCxcblx0VU5SRVNFUlZFRCA6IFJlZ0V4cCxcblx0T1RIRVJfQ0hBUlMgOiBSZWdFeHAsXG5cdFBDVF9FTkNPREVEIDogUmVnRXhwLFxuXHRJUFY0QUREUkVTUyA6IFJlZ0V4cCxcblx0SVBWNkFERFJFU1MgOiBSZWdFeHAsXG59XG5cbmV4cG9ydCBjb25zdCBTQ0hFTUVTOntbc2NoZW1lOnN0cmluZ106VVJJU2NoZW1lSGFuZGxlcn0gPSB7fTtcblxuZXhwb3J0IGZ1bmN0aW9uIHBjdEVuY0NoYXIoY2hyOnN0cmluZyk6c3RyaW5nIHtcblx0Y29uc3QgYyA9IGNoci5jaGFyQ29kZUF0KDApO1xuXHRsZXQgZTpzdHJpbmc7XG5cblx0aWYgKGMgPCAxNikgZSA9IFwiJTBcIiArIGMudG9TdHJpbmcoMTYpLnRvVXBwZXJDYXNlKCk7XG5cdGVsc2UgaWYgKGMgPCAxMjgpIGUgPSBcIiVcIiArIGMudG9TdHJpbmcoMTYpLnRvVXBwZXJDYXNlKCk7XG5cdGVsc2UgaWYgKGMgPCAyMDQ4KSBlID0gXCIlXCIgKyAoKGMgPj4gNikgfCAxOTIpLnRvU3RyaW5nKDE2KS50b1VwcGVyQ2FzZSgpICsgXCIlXCIgKyAoKGMgJiA2MykgfCAxMjgpLnRvU3RyaW5nKDE2KS50b1VwcGVyQ2FzZSgpO1xuXHRlbHNlIGUgPSBcIiVcIiArICgoYyA+PiAxMikgfCAyMjQpLnRvU3RyaW5nKDE2KS50b1VwcGVyQ2FzZSgpICsgXCIlXCIgKyAoKChjID4+IDYpICYgNjMpIHwgMTI4KS50b1N0cmluZygxNikudG9VcHBlckNhc2UoKSArIFwiJVwiICsgKChjICYgNjMpIHwgMTI4KS50b1N0cmluZygxNikudG9VcHBlckNhc2UoKTtcblxuXHRyZXR1cm4gZTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHBjdERlY0NoYXJzKHN0cjpzdHJpbmcpOnN0cmluZyB7XG5cdGxldCBuZXdTdHIgPSBcIlwiO1xuXHRsZXQgaSA9IDA7XG5cdGNvbnN0IGlsID0gc3RyLmxlbmd0aDtcblxuXHR3aGlsZSAoaSA8IGlsKSB7XG5cdFx0Y29uc3QgYyA9IHBhcnNlSW50KHN0ci5zdWJzdHIoaSArIDEsIDIpLCAxNik7XG5cblx0XHRpZiAoYyA8IDEyOCkge1xuXHRcdFx0bmV3U3RyICs9IFN0cmluZy5mcm9tQ2hhckNvZGUoYyk7XG5cdFx0XHRpICs9IDM7XG5cdFx0fVxuXHRcdGVsc2UgaWYgKGMgPj0gMTk0ICYmIGMgPCAyMjQpIHtcblx0XHRcdGlmICgoaWwgLSBpKSA+PSA2KSB7XG5cdFx0XHRcdGNvbnN0IGMyID0gcGFyc2VJbnQoc3RyLnN1YnN0cihpICsgNCwgMiksIDE2KTtcblx0XHRcdFx0bmV3U3RyICs9IFN0cmluZy5mcm9tQ2hhckNvZGUoKChjICYgMzEpIDw8IDYpIHwgKGMyICYgNjMpKTtcblx0XHRcdH0gZWxzZSB7XG5cdFx0XHRcdG5ld1N0ciArPSBzdHIuc3Vic3RyKGksIDYpO1xuXHRcdFx0fVxuXHRcdFx0aSArPSA2O1xuXHRcdH1cblx0XHRlbHNlIGlmIChjID49IDIyNCkge1xuXHRcdFx0aWYgKChpbCAtIGkpID49IDkpIHtcblx0XHRcdFx0Y29uc3QgYzIgPSBwYXJzZUludChzdHIuc3Vic3RyKGkgKyA0LCAyKSwgMTYpO1xuXHRcdFx0XHRjb25zdCBjMyA9IHBhcnNlSW50KHN0ci5zdWJzdHIoaSArIDcsIDIpLCAxNik7XG5cdFx0XHRcdG5ld1N0ciArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKCgoYyAmIDE1KSA8PCAxMikgfCAoKGMyICYgNjMpIDw8IDYpIHwgKGMzICYgNjMpKTtcblx0XHRcdH0gZWxzZSB7XG5cdFx0XHRcdG5ld1N0ciArPSBzdHIuc3Vic3RyKGksIDkpO1xuXHRcdFx0fVxuXHRcdFx0aSArPSA5O1xuXHRcdH1cblx0XHRlbHNlIHtcblx0XHRcdG5ld1N0ciArPSBzdHIuc3Vic3RyKGksIDMpO1xuXHRcdFx0aSArPSAzO1xuXHRcdH1cblx0fVxuXG5cdHJldHVybiBuZXdTdHI7XG59XG5cbmZ1bmN0aW9uIF9ub3JtYWxpemVDb21wb25lbnRFbmNvZGluZyhjb21wb25lbnRzOlVSSUNvbXBvbmVudHMsIHByb3RvY29sOlVSSVJlZ0V4cHMpIHtcblx0ZnVuY3Rpb24gZGVjb2RlVW5yZXNlcnZlZChzdHI6c3RyaW5nKTpzdHJpbmcge1xuXHRcdGNvbnN0IGRlY1N0ciA9IHBjdERlY0NoYXJzKHN0cik7XG5cdFx0cmV0dXJuICghZGVjU3RyLm1hdGNoKHByb3RvY29sLlVOUkVTRVJWRUQpID8gc3RyIDogZGVjU3RyKTtcblx0fVxuXG5cdGlmIChjb21wb25lbnRzLnNjaGVtZSkgY29tcG9uZW50cy5zY2hlbWUgPSBTdHJpbmcoY29tcG9uZW50cy5zY2hlbWUpLnJlcGxhY2UocHJvdG9jb2wuUENUX0VOQ09ERUQsIGRlY29kZVVucmVzZXJ2ZWQpLnRvTG93ZXJDYXNlKCkucmVwbGFjZShwcm90b2NvbC5OT1RfU0NIRU1FLCBcIlwiKTtcblx0aWYgKGNvbXBvbmVudHMudXNlcmluZm8gIT09IHVuZGVmaW5lZCkgY29tcG9uZW50cy51c2VyaW5mbyA9IFN0cmluZyhjb21wb25lbnRzLnVzZXJpbmZvKS5yZXBsYWNlKHByb3RvY29sLlBDVF9FTkNPREVELCBkZWNvZGVVbnJlc2VydmVkKS5yZXBsYWNlKHByb3RvY29sLk5PVF9VU0VSSU5GTywgcGN0RW5jQ2hhcikucmVwbGFjZShwcm90b2NvbC5QQ1RfRU5DT0RFRCwgdG9VcHBlckNhc2UpO1xuXHRpZiAoY29tcG9uZW50cy5ob3N0ICE9PSB1bmRlZmluZWQpIGNvbXBvbmVudHMuaG9zdCA9IFN0cmluZyhjb21wb25lbnRzLmhvc3QpLnJlcGxhY2UocHJvdG9jb2wuUENUX0VOQ09ERUQsIGRlY29kZVVucmVzZXJ2ZWQpLnRvTG93ZXJDYXNlKCkucmVwbGFjZShwcm90b2NvbC5OT1RfSE9TVCwgcGN0RW5jQ2hhcikucmVwbGFjZShwcm90b2NvbC5QQ1RfRU5DT0RFRCwgdG9VcHBlckNhc2UpO1xuXHRpZiAoY29tcG9uZW50cy5wYXRoICE9PSB1bmRlZmluZWQpIGNvbXBvbmVudHMucGF0aCA9IFN0cmluZyhjb21wb25lbnRzLnBhdGgpLnJlcGxhY2UocHJvdG9jb2wuUENUX0VOQ09ERUQsIGRlY29kZVVucmVzZXJ2ZWQpLnJlcGxhY2UoKGNvbXBvbmVudHMuc2NoZW1lID8gcHJvdG9jb2wuTk9UX1BBVEggOiBwcm90b2NvbC5OT1RfUEFUSF9OT1NDSEVNRSksIHBjdEVuY0NoYXIpLnJlcGxhY2UocHJvdG9jb2wuUENUX0VOQ09ERUQsIHRvVXBwZXJDYXNlKTtcblx0aWYgKGNvbXBvbmVudHMucXVlcnkgIT09IHVuZGVmaW5lZCkgY29tcG9uZW50cy5xdWVyeSA9IFN0cmluZyhjb21wb25lbnRzLnF1ZXJ5KS5yZXBsYWNlKHByb3RvY29sLlBDVF9FTkNPREVELCBkZWNvZGVVbnJlc2VydmVkKS5yZXBsYWNlKHByb3RvY29sLk5PVF9RVUVSWSwgcGN0RW5jQ2hhcikucmVwbGFjZShwcm90b2NvbC5QQ1RfRU5DT0RFRCwgdG9VcHBlckNhc2UpO1xuXHRpZiAoY29tcG9uZW50cy5mcmFnbWVudCAhPT0gdW5kZWZpbmVkKSBjb21wb25lbnRzLmZyYWdtZW50ID0gU3RyaW5nKGNvbXBvbmVudHMuZnJhZ21lbnQpLnJlcGxhY2UocHJvdG9jb2wuUENUX0VOQ09ERUQsIGRlY29kZVVucmVzZXJ2ZWQpLnJlcGxhY2UocHJvdG9jb2wuTk9UX0ZSQUdNRU5ULCBwY3RFbmNDaGFyKS5yZXBsYWNlKHByb3RvY29sLlBDVF9FTkNPREVELCB0b1VwcGVyQ2FzZSk7XG5cblx0cmV0dXJuIGNvbXBvbmVudHM7XG59O1xuXG5mdW5jdGlvbiBfc3RyaXBMZWFkaW5nWmVyb3Moc3RyOnN0cmluZyk6c3RyaW5nIHtcblx0cmV0dXJuIHN0ci5yZXBsYWNlKC9eMCooLiopLywgXCIkMVwiKSB8fCBcIjBcIjtcbn1cblxuZnVuY3Rpb24gX25vcm1hbGl6ZUlQdjQoaG9zdDpzdHJpbmcsIHByb3RvY29sOlVSSVJlZ0V4cHMpOnN0cmluZyB7XG5cdGNvbnN0IG1hdGNoZXMgPSBob3N0Lm1hdGNoKHByb3RvY29sLklQVjRBRERSRVNTKSB8fCBbXTtcblx0Y29uc3QgWywgYWRkcmVzc10gPSBtYXRjaGVzO1xuXHRcblx0aWYgKGFkZHJlc3MpIHtcblx0XHRyZXR1cm4gYWRkcmVzcy5zcGxpdChcIi5cIikubWFwKF9zdHJpcExlYWRpbmdaZXJvcykuam9pbihcIi5cIik7XG5cdH0gZWxzZSB7XG5cdFx0cmV0dXJuIGhvc3Q7XG5cdH1cbn1cblxuZnVuY3Rpb24gX25vcm1hbGl6ZUlQdjYoaG9zdDpzdHJpbmcsIHByb3RvY29sOlVSSVJlZ0V4cHMpOnN0cmluZyB7XG5cdGNvbnN0IG1hdGNoZXMgPSBob3N0Lm1hdGNoKHByb3RvY29sLklQVjZBRERSRVNTKSB8fCBbXTtcblx0Y29uc3QgWywgYWRkcmVzcywgem9uZV0gPSBtYXRjaGVzO1xuXG5cdGlmIChhZGRyZXNzKSB7XG5cdFx0Y29uc3QgW2xhc3QsIGZpcnN0XSA9IGFkZHJlc3MudG9Mb3dlckNhc2UoKS5zcGxpdCgnOjonKS5yZXZlcnNlKCk7XG5cdFx0Y29uc3QgZmlyc3RGaWVsZHMgPSBmaXJzdCA/IGZpcnN0LnNwbGl0KFwiOlwiKS5tYXAoX3N0cmlwTGVhZGluZ1plcm9zKSA6IFtdO1xuXHRcdGNvbnN0IGxhc3RGaWVsZHMgPSBsYXN0LnNwbGl0KFwiOlwiKS5tYXAoX3N0cmlwTGVhZGluZ1plcm9zKTtcblx0XHRjb25zdCBpc0xhc3RGaWVsZElQdjRBZGRyZXNzID0gcHJvdG9jb2wuSVBWNEFERFJFU1MudGVzdChsYXN0RmllbGRzW2xhc3RGaWVsZHMubGVuZ3RoIC0gMV0pO1xuXHRcdGNvbnN0IGZpZWxkQ291bnQgPSBpc0xhc3RGaWVsZElQdjRBZGRyZXNzID8gNyA6IDg7XG5cdFx0Y29uc3QgbGFzdEZpZWxkc1N0YXJ0ID0gbGFzdEZpZWxkcy5sZW5ndGggLSBmaWVsZENvdW50O1xuXHRcdGNvbnN0IGZpZWxkcyA9IEFycmF5PHN0cmluZz4oZmllbGRDb3VudCk7XG5cblx0XHRmb3IgKGxldCB4ID0gMDsgeCA8IGZpZWxkQ291bnQ7ICsreCkge1xuXHRcdFx0ZmllbGRzW3hdID0gZmlyc3RGaWVsZHNbeF0gfHwgbGFzdEZpZWxkc1tsYXN0RmllbGRzU3RhcnQgKyB4XSB8fCAnJztcblx0XHR9XG5cblx0XHRpZiAoaXNMYXN0RmllbGRJUHY0QWRkcmVzcykge1xuXHRcdFx0ZmllbGRzW2ZpZWxkQ291bnQgLSAxXSA9IF9ub3JtYWxpemVJUHY0KGZpZWxkc1tmaWVsZENvdW50IC0gMV0sIHByb3RvY29sKTtcblx0XHR9XG5cblx0XHRjb25zdCBhbGxaZXJvRmllbGRzID0gZmllbGRzLnJlZHVjZTxBcnJheTx7aW5kZXg6bnVtYmVyLGxlbmd0aDpudW1iZXJ9Pj4oKGFjYywgZmllbGQsIGluZGV4KSA9PiB7XG5cdFx0XHRpZiAoIWZpZWxkIHx8IGZpZWxkID09PSBcIjBcIikge1xuXHRcdFx0XHRjb25zdCBsYXN0TG9uZ2VzdCA9IGFjY1thY2MubGVuZ3RoIC0gMV07XG5cdFx0XHRcdGlmIChsYXN0TG9uZ2VzdCAmJiBsYXN0TG9uZ2VzdC5pbmRleCArIGxhc3RMb25nZXN0Lmxlbmd0aCA9PT0gaW5kZXgpIHtcblx0XHRcdFx0XHRsYXN0TG9uZ2VzdC5sZW5ndGgrKztcblx0XHRcdFx0fSBlbHNlIHtcblx0XHRcdFx0XHRhY2MucHVzaCh7IGluZGV4LCBsZW5ndGggOiAxIH0pO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0XHRyZXR1cm4gYWNjO1xuXHRcdH0sIFtdKTtcblxuXHRcdGNvbnN0IGxvbmdlc3RaZXJvRmllbGRzID0gYWxsWmVyb0ZpZWxkcy5zb3J0KChhLCBiKSA9PiBiLmxlbmd0aCAtIGEubGVuZ3RoKVswXTtcblxuXHRcdGxldCBuZXdIb3N0OnN0cmluZztcblx0XHRpZiAobG9uZ2VzdFplcm9GaWVsZHMgJiYgbG9uZ2VzdFplcm9GaWVsZHMubGVuZ3RoID4gMSkge1xuXHRcdFx0Y29uc3QgbmV3Rmlyc3QgPSBmaWVsZHMuc2xpY2UoMCwgbG9uZ2VzdFplcm9GaWVsZHMuaW5kZXgpIDtcblx0XHRcdGNvbnN0IG5ld0xhc3QgPSBmaWVsZHMuc2xpY2UobG9uZ2VzdFplcm9GaWVsZHMuaW5kZXggKyBsb25nZXN0WmVyb0ZpZWxkcy5sZW5ndGgpO1xuXHRcdFx0bmV3SG9zdCA9IG5ld0ZpcnN0LmpvaW4oXCI6XCIpICsgXCI6OlwiICsgbmV3TGFzdC5qb2luKFwiOlwiKTtcblx0XHR9IGVsc2Uge1xuXHRcdFx0bmV3SG9zdCA9IGZpZWxkcy5qb2luKFwiOlwiKTtcblx0XHR9XG5cblx0XHRpZiAoem9uZSkge1xuXHRcdFx0bmV3SG9zdCArPSBcIiVcIiArIHpvbmU7XG5cdFx0fVxuXG5cdFx0cmV0dXJuIG5ld0hvc3Q7XG5cdH0gZWxzZSB7XG5cdFx0cmV0dXJuIGhvc3Q7XG5cdH1cbn1cblxuY29uc3QgVVJJX1BBUlNFID0gL14oPzooW146XFwvPyNdKyk6KT8oPzpcXC9cXC8oKD86KFteXFwvPyNAXSopQCk/KFxcW1teXFwvPyNcXF1dK1xcXXxbXlxcLz8jOl0qKSg/OlxcOihcXGQqKSk/KSk/KFtePyNdKikoPzpcXD8oW14jXSopKT8oPzojKCg/Oi58XFxufFxccikqKSk/L2k7XG5jb25zdCBOT19NQVRDSF9JU19VTkRFRklORUQgPSAoPFJlZ0V4cE1hdGNoQXJyYXk+KFwiXCIpLm1hdGNoKC8oKXswfS8pKVsxXSA9PT0gdW5kZWZpbmVkO1xuXG5leHBvcnQgZnVuY3Rpb24gcGFyc2UodXJpU3RyaW5nOnN0cmluZywgb3B0aW9uczpVUklPcHRpb25zID0ge30pOlVSSUNvbXBvbmVudHMge1xuXHRjb25zdCBjb21wb25lbnRzOlVSSUNvbXBvbmVudHMgPSB7fTtcblx0Y29uc3QgcHJvdG9jb2wgPSAob3B0aW9ucy5pcmkgIT09IGZhbHNlID8gSVJJX1BST1RPQ09MIDogVVJJX1BST1RPQ09MKTtcblxuXHRpZiAob3B0aW9ucy5yZWZlcmVuY2UgPT09IFwic3VmZml4XCIpIHVyaVN0cmluZyA9IChvcHRpb25zLnNjaGVtZSA/IG9wdGlvbnMuc2NoZW1lICsgXCI6XCIgOiBcIlwiKSArIFwiLy9cIiArIHVyaVN0cmluZztcblxuXHRjb25zdCBtYXRjaGVzID0gdXJpU3RyaW5nLm1hdGNoKFVSSV9QQVJTRSk7XG5cblx0aWYgKG1hdGNoZXMpIHtcblx0XHRpZiAoTk9fTUFUQ0hfSVNfVU5ERUZJTkVEKSB7XG5cdFx0XHQvL3N0b3JlIGVhY2ggY29tcG9uZW50XG5cdFx0XHRjb21wb25lbnRzLnNjaGVtZSA9IG1hdGNoZXNbMV07XG5cdFx0XHRjb21wb25lbnRzLnVzZXJpbmZvID0gbWF0Y2hlc1szXTtcblx0XHRcdGNvbXBvbmVudHMuaG9zdCA9IG1hdGNoZXNbNF07XG5cdFx0XHRjb21wb25lbnRzLnBvcnQgPSBwYXJzZUludChtYXRjaGVzWzVdLCAxMCk7XG5cdFx0XHRjb21wb25lbnRzLnBhdGggPSBtYXRjaGVzWzZdIHx8IFwiXCI7XG5cdFx0XHRjb21wb25lbnRzLnF1ZXJ5ID0gbWF0Y2hlc1s3XTtcblx0XHRcdGNvbXBvbmVudHMuZnJhZ21lbnQgPSBtYXRjaGVzWzhdO1xuXG5cdFx0XHQvL2ZpeCBwb3J0IG51bWJlclxuXHRcdFx0aWYgKGlzTmFOKGNvbXBvbmVudHMucG9ydCkpIHtcblx0XHRcdFx0Y29tcG9uZW50cy5wb3J0ID0gbWF0Y2hlc1s1XTtcblx0XHRcdH1cblx0XHR9IGVsc2UgeyAgLy9JRSBGSVggZm9yIGltcHJvcGVyIFJlZ0V4cCBtYXRjaGluZ1xuXHRcdFx0Ly9zdG9yZSBlYWNoIGNvbXBvbmVudFxuXHRcdFx0Y29tcG9uZW50cy5zY2hlbWUgPSBtYXRjaGVzWzFdIHx8IHVuZGVmaW5lZDtcblx0XHRcdGNvbXBvbmVudHMudXNlcmluZm8gPSAodXJpU3RyaW5nLmluZGV4T2YoXCJAXCIpICE9PSAtMSA/IG1hdGNoZXNbM10gOiB1bmRlZmluZWQpO1xuXHRcdFx0Y29tcG9uZW50cy5ob3N0ID0gKHVyaVN0cmluZy5pbmRleE9mKFwiLy9cIikgIT09IC0xID8gbWF0Y2hlc1s0XSA6IHVuZGVmaW5lZCk7XG5cdFx0XHRjb21wb25lbnRzLnBvcnQgPSBwYXJzZUludChtYXRjaGVzWzVdLCAxMCk7XG5cdFx0XHRjb21wb25lbnRzLnBhdGggPSBtYXRjaGVzWzZdIHx8IFwiXCI7XG5cdFx0XHRjb21wb25lbnRzLnF1ZXJ5ID0gKHVyaVN0cmluZy5pbmRleE9mKFwiP1wiKSAhPT0gLTEgPyBtYXRjaGVzWzddIDogdW5kZWZpbmVkKTtcblx0XHRcdGNvbXBvbmVudHMuZnJhZ21lbnQgPSAodXJpU3RyaW5nLmluZGV4T2YoXCIjXCIpICE9PSAtMSA/IG1hdGNoZXNbOF0gOiB1bmRlZmluZWQpO1xuXG5cdFx0XHQvL2ZpeCBwb3J0IG51bWJlclxuXHRcdFx0aWYgKGlzTmFOKGNvbXBvbmVudHMucG9ydCkpIHtcblx0XHRcdFx0Y29tcG9uZW50cy5wb3J0ID0gKHVyaVN0cmluZy5tYXRjaCgvXFwvXFwvKD86LnxcXG4pKlxcOig/OlxcL3xcXD98XFwjfCQpLykgPyBtYXRjaGVzWzRdIDogdW5kZWZpbmVkKTtcblx0XHRcdH1cblx0XHR9XG5cblx0XHRpZiAoY29tcG9uZW50cy5ob3N0KSB7XG5cdFx0XHQvL25vcm1hbGl6ZSBJUCBob3N0c1xuXHRcdFx0Y29tcG9uZW50cy5ob3N0ID0gX25vcm1hbGl6ZUlQdjYoX25vcm1hbGl6ZUlQdjQoY29tcG9uZW50cy5ob3N0LCBwcm90b2NvbCksIHByb3RvY29sKTtcblx0XHR9XG5cblx0XHQvL2RldGVybWluZSByZWZlcmVuY2UgdHlwZVxuXHRcdGlmIChjb21wb25lbnRzLnNjaGVtZSA9PT0gdW5kZWZpbmVkICYmIGNvbXBvbmVudHMudXNlcmluZm8gPT09IHVuZGVmaW5lZCAmJiBjb21wb25lbnRzLmhvc3QgPT09IHVuZGVmaW5lZCAmJiBjb21wb25lbnRzLnBvcnQgPT09IHVuZGVmaW5lZCAmJiAhY29tcG9uZW50cy5wYXRoICYmIGNvbXBvbmVudHMucXVlcnkgPT09IHVuZGVmaW5lZCkge1xuXHRcdFx0Y29tcG9uZW50cy5yZWZlcmVuY2UgPSBcInNhbWUtZG9jdW1lbnRcIjtcblx0XHR9IGVsc2UgaWYgKGNvbXBvbmVudHMuc2NoZW1lID09PSB1bmRlZmluZWQpIHtcblx0XHRcdGNvbXBvbmVudHMucmVmZXJlbmNlID0gXCJyZWxhdGl2ZVwiO1xuXHRcdH0gZWxzZSBpZiAoY29tcG9uZW50cy5mcmFnbWVudCA9PT0gdW5kZWZpbmVkKSB7XG5cdFx0XHRjb21wb25lbnRzLnJlZmVyZW5jZSA9IFwiYWJzb2x1dGVcIjtcblx0XHR9IGVsc2Uge1xuXHRcdFx0Y29tcG9uZW50cy5yZWZlcmVuY2UgPSBcInVyaVwiO1xuXHRcdH1cblxuXHRcdC8vY2hlY2sgZm9yIHJlZmVyZW5jZSBlcnJvcnNcblx0XHRpZiAob3B0aW9ucy5yZWZlcmVuY2UgJiYgb3B0aW9ucy5yZWZlcmVuY2UgIT09IFwic3VmZml4XCIgJiYgb3B0aW9ucy5yZWZlcmVuY2UgIT09IGNvbXBvbmVudHMucmVmZXJlbmNlKSB7XG5cdFx0XHRjb21wb25lbnRzLmVycm9yID0gY29tcG9uZW50cy5lcnJvciB8fCBcIlVSSSBpcyBub3QgYSBcIiArIG9wdGlvbnMucmVmZXJlbmNlICsgXCIgcmVmZXJlbmNlLlwiO1xuXHRcdH1cblxuXHRcdC8vZmluZCBzY2hlbWUgaGFuZGxlclxuXHRcdGNvbnN0IHNjaGVtZUhhbmRsZXIgPSBTQ0hFTUVTWyhvcHRpb25zLnNjaGVtZSB8fCBjb21wb25lbnRzLnNjaGVtZSB8fCBcIlwiKS50b0xvd2VyQ2FzZSgpXTtcblxuXHRcdC8vY2hlY2sgaWYgc2NoZW1lIGNhbid0IGhhbmRsZSBJUklzXG5cdFx0aWYgKCFvcHRpb25zLnVuaWNvZGVTdXBwb3J0ICYmICghc2NoZW1lSGFuZGxlciB8fCAhc2NoZW1lSGFuZGxlci51bmljb2RlU3VwcG9ydCkpIHtcblx0XHRcdC8vaWYgaG9zdCBjb21wb25lbnQgaXMgYSBkb21haW4gbmFtZVxuXHRcdFx0aWYgKGNvbXBvbmVudHMuaG9zdCAmJiAob3B0aW9ucy5kb21haW5Ib3N0IHx8IChzY2hlbWVIYW5kbGVyICYmIHNjaGVtZUhhbmRsZXIuZG9tYWluSG9zdCkpKSB7XG5cdFx0XHRcdC8vY29udmVydCBVbmljb2RlIElETiAtPiBBU0NJSSBJRE5cblx0XHRcdFx0dHJ5IHtcblx0XHRcdFx0XHRjb21wb25lbnRzLmhvc3QgPSBwdW55Y29kZS50b0FTQ0lJKGNvbXBvbmVudHMuaG9zdC5yZXBsYWNlKHByb3RvY29sLlBDVF9FTkNPREVELCBwY3REZWNDaGFycykudG9Mb3dlckNhc2UoKSk7XG5cdFx0XHRcdH0gY2F0Y2ggKGUpIHtcblx0XHRcdFx0XHRjb21wb25lbnRzLmVycm9yID0gY29tcG9uZW50cy5lcnJvciB8fCBcIkhvc3QncyBkb21haW4gbmFtZSBjYW4gbm90IGJlIGNvbnZlcnRlZCB0byBBU0NJSSB2aWEgcHVueWNvZGU6IFwiICsgZTtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdFx0Ly9jb252ZXJ0IElSSSAtPiBVUklcblx0XHRcdF9ub3JtYWxpemVDb21wb25lbnRFbmNvZGluZyhjb21wb25lbnRzLCBVUklfUFJPVE9DT0wpO1xuXHRcdH0gZWxzZSB7XG5cdFx0XHQvL25vcm1hbGl6ZSBlbmNvZGluZ3Ncblx0XHRcdF9ub3JtYWxpemVDb21wb25lbnRFbmNvZGluZyhjb21wb25lbnRzLCBwcm90b2NvbCk7XG5cdFx0fVxuXG5cdFx0Ly9wZXJmb3JtIHNjaGVtZSBzcGVjaWZpYyBwYXJzaW5nXG5cdFx0aWYgKHNjaGVtZUhhbmRsZXIgJiYgc2NoZW1lSGFuZGxlci5wYXJzZSkge1xuXHRcdFx0c2NoZW1lSGFuZGxlci5wYXJzZShjb21wb25lbnRzLCBvcHRpb25zKTtcblx0XHR9XG5cdH0gZWxzZSB7XG5cdFx0Y29tcG9uZW50cy5lcnJvciA9IGNvbXBvbmVudHMuZXJyb3IgfHwgXCJVUkkgY2FuIG5vdCBiZSBwYXJzZWQuXCI7XG5cdH1cblxuXHRyZXR1cm4gY29tcG9uZW50cztcbn07XG5cbmZ1bmN0aW9uIF9yZWNvbXBvc2VBdXRob3JpdHkoY29tcG9uZW50czpVUklDb21wb25lbnRzLCBvcHRpb25zOlVSSU9wdGlvbnMpOnN0cmluZ3x1bmRlZmluZWQge1xuXHRjb25zdCBwcm90b2NvbCA9IChvcHRpb25zLmlyaSAhPT0gZmFsc2UgPyBJUklfUFJPVE9DT0wgOiBVUklfUFJPVE9DT0wpO1xuXHRjb25zdCB1cmlUb2tlbnM6QXJyYXk8c3RyaW5nPiA9IFtdO1xuXG5cdGlmIChjb21wb25lbnRzLnVzZXJpbmZvICE9PSB1bmRlZmluZWQpIHtcblx0XHR1cmlUb2tlbnMucHVzaChjb21wb25lbnRzLnVzZXJpbmZvKTtcblx0XHR1cmlUb2tlbnMucHVzaChcIkBcIik7XG5cdH1cblxuXHRpZiAoY29tcG9uZW50cy5ob3N0ICE9PSB1bmRlZmluZWQpIHtcblx0XHQvL25vcm1hbGl6ZSBJUCBob3N0cywgYWRkIGJyYWNrZXRzIGFuZCBlc2NhcGUgem9uZSBzZXBhcmF0b3IgZm9yIElQdjZcblx0XHR1cmlUb2tlbnMucHVzaChfbm9ybWFsaXplSVB2Nihfbm9ybWFsaXplSVB2NChTdHJpbmcoY29tcG9uZW50cy5ob3N0KSwgcHJvdG9jb2wpLCBwcm90b2NvbCkucmVwbGFjZShwcm90b2NvbC5JUFY2QUREUkVTUywgKF8sICQxLCAkMikgPT4gXCJbXCIgKyAkMSArICgkMiA/IFwiJTI1XCIgKyAkMiA6IFwiXCIpICsgXCJdXCIpKTtcblx0fVxuXG5cdGlmICh0eXBlb2YgY29tcG9uZW50cy5wb3J0ID09PSBcIm51bWJlclwiIHx8IHR5cGVvZiBjb21wb25lbnRzLnBvcnQgPT09IFwic3RyaW5nXCIpIHtcblx0XHR1cmlUb2tlbnMucHVzaChcIjpcIik7XG5cdFx0dXJpVG9rZW5zLnB1c2goU3RyaW5nKGNvbXBvbmVudHMucG9ydCkpO1xuXHR9XG5cblx0cmV0dXJuIHVyaVRva2Vucy5sZW5ndGggPyB1cmlUb2tlbnMuam9pbihcIlwiKSA6IHVuZGVmaW5lZDtcbn07XG5cbmNvbnN0IFJEUzEgPSAvXlxcLlxcLj9cXC8vO1xuY29uc3QgUkRTMiA9IC9eXFwvXFwuKFxcL3wkKS87XG5jb25zdCBSRFMzID0gL15cXC9cXC5cXC4oXFwvfCQpLztcbmNvbnN0IFJEUzQgPSAvXlxcLlxcLj8kLztcbmNvbnN0IFJEUzUgPSAvXlxcLz8oPzoufFxcbikqPyg/PVxcL3wkKS87XG5cbmV4cG9ydCBmdW5jdGlvbiByZW1vdmVEb3RTZWdtZW50cyhpbnB1dDpzdHJpbmcpOnN0cmluZyB7XG5cdGNvbnN0IG91dHB1dDpBcnJheTxzdHJpbmc+ID0gW107XG5cblx0d2hpbGUgKGlucHV0Lmxlbmd0aCkge1xuXHRcdGlmIChpbnB1dC5tYXRjaChSRFMxKSkge1xuXHRcdFx0aW5wdXQgPSBpbnB1dC5yZXBsYWNlKFJEUzEsIFwiXCIpO1xuXHRcdH0gZWxzZSBpZiAoaW5wdXQubWF0Y2goUkRTMikpIHtcblx0XHRcdGlucHV0ID0gaW5wdXQucmVwbGFjZShSRFMyLCBcIi9cIik7XG5cdFx0fSBlbHNlIGlmIChpbnB1dC5tYXRjaChSRFMzKSkge1xuXHRcdFx0aW5wdXQgPSBpbnB1dC5yZXBsYWNlKFJEUzMsIFwiL1wiKTtcblx0XHRcdG91dHB1dC5wb3AoKTtcblx0XHR9IGVsc2UgaWYgKGlucHV0ID09PSBcIi5cIiB8fCBpbnB1dCA9PT0gXCIuLlwiKSB7XG5cdFx0XHRpbnB1dCA9IFwiXCI7XG5cdFx0fSBlbHNlIHtcblx0XHRcdGNvbnN0IGltID0gaW5wdXQubWF0Y2goUkRTNSk7XG5cdFx0XHRpZiAoaW0pIHtcblx0XHRcdFx0Y29uc3QgcyA9IGltWzBdO1xuXHRcdFx0XHRpbnB1dCA9IGlucHV0LnNsaWNlKHMubGVuZ3RoKTtcblx0XHRcdFx0b3V0cHV0LnB1c2gocyk7XG5cdFx0XHR9IGVsc2Uge1xuXHRcdFx0XHR0aHJvdyBuZXcgRXJyb3IoXCJVbmV4cGVjdGVkIGRvdCBzZWdtZW50IGNvbmRpdGlvblwiKTtcblx0XHRcdH1cblx0XHR9XG5cdH1cblxuXHRyZXR1cm4gb3V0cHV0LmpvaW4oXCJcIik7XG59O1xuXG5leHBvcnQgZnVuY3Rpb24gc2VyaWFsaXplKGNvbXBvbmVudHM6VVJJQ29tcG9uZW50cywgb3B0aW9uczpVUklPcHRpb25zID0ge30pOnN0cmluZyB7XG5cdGNvbnN0IHByb3RvY29sID0gKG9wdGlvbnMuaXJpID8gSVJJX1BST1RPQ09MIDogVVJJX1BST1RPQ09MKTtcblx0Y29uc3QgdXJpVG9rZW5zOkFycmF5PHN0cmluZz4gPSBbXTtcblxuXHQvL2ZpbmQgc2NoZW1lIGhhbmRsZXJcblx0Y29uc3Qgc2NoZW1lSGFuZGxlciA9IFNDSEVNRVNbKG9wdGlvbnMuc2NoZW1lIHx8IGNvbXBvbmVudHMuc2NoZW1lIHx8IFwiXCIpLnRvTG93ZXJDYXNlKCldO1xuXG5cdC8vcGVyZm9ybSBzY2hlbWUgc3BlY2lmaWMgc2VyaWFsaXphdGlvblxuXHRpZiAoc2NoZW1lSGFuZGxlciAmJiBzY2hlbWVIYW5kbGVyLnNlcmlhbGl6ZSkgc2NoZW1lSGFuZGxlci5zZXJpYWxpemUoY29tcG9uZW50cywgb3B0aW9ucyk7XG5cblx0aWYgKGNvbXBvbmVudHMuaG9zdCkge1xuXHRcdC8vaWYgaG9zdCBjb21wb25lbnQgaXMgYW4gSVB2NiBhZGRyZXNzXG5cdFx0aWYgKHByb3RvY29sLklQVjZBRERSRVNTLnRlc3QoY29tcG9uZW50cy5ob3N0KSkge1xuXHRcdFx0Ly9UT0RPOiBub3JtYWxpemUgSVB2NiBhZGRyZXNzIGFzIHBlciBSRkMgNTk1MlxuXHRcdH1cblxuXHRcdC8vaWYgaG9zdCBjb21wb25lbnQgaXMgYSBkb21haW4gbmFtZVxuXHRcdGVsc2UgaWYgKG9wdGlvbnMuZG9tYWluSG9zdCB8fCAoc2NoZW1lSGFuZGxlciAmJiBzY2hlbWVIYW5kbGVyLmRvbWFpbkhvc3QpKSB7XG5cdFx0XHQvL2NvbnZlcnQgSUROIHZpYSBwdW55Y29kZVxuXHRcdFx0dHJ5IHtcblx0XHRcdFx0Y29tcG9uZW50cy5ob3N0ID0gKCFvcHRpb25zLmlyaSA/IHB1bnljb2RlLnRvQVNDSUkoY29tcG9uZW50cy5ob3N0LnJlcGxhY2UocHJvdG9jb2wuUENUX0VOQ09ERUQsIHBjdERlY0NoYXJzKS50b0xvd2VyQ2FzZSgpKSA6IHB1bnljb2RlLnRvVW5pY29kZShjb21wb25lbnRzLmhvc3QpKTtcblx0XHRcdH0gY2F0Y2ggKGUpIHtcblx0XHRcdFx0Y29tcG9uZW50cy5lcnJvciA9IGNvbXBvbmVudHMuZXJyb3IgfHwgXCJIb3N0J3MgZG9tYWluIG5hbWUgY2FuIG5vdCBiZSBjb252ZXJ0ZWQgdG8gXCIgKyAoIW9wdGlvbnMuaXJpID8gXCJBU0NJSVwiIDogXCJVbmljb2RlXCIpICsgXCIgdmlhIHB1bnljb2RlOiBcIiArIGU7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cblx0Ly9ub3JtYWxpemUgZW5jb2Rpbmdcblx0X25vcm1hbGl6ZUNvbXBvbmVudEVuY29kaW5nKGNvbXBvbmVudHMsIHByb3RvY29sKTtcblxuXHRpZiAob3B0aW9ucy5yZWZlcmVuY2UgIT09IFwic3VmZml4XCIgJiYgY29tcG9uZW50cy5zY2hlbWUpIHtcblx0XHR1cmlUb2tlbnMucHVzaChjb21wb25lbnRzLnNjaGVtZSk7XG5cdFx0dXJpVG9rZW5zLnB1c2goXCI6XCIpO1xuXHR9XG5cblx0Y29uc3QgYXV0aG9yaXR5ID0gX3JlY29tcG9zZUF1dGhvcml0eShjb21wb25lbnRzLCBvcHRpb25zKTtcblx0aWYgKGF1dGhvcml0eSAhPT0gdW5kZWZpbmVkKSB7XG5cdFx0aWYgKG9wdGlvbnMucmVmZXJlbmNlICE9PSBcInN1ZmZpeFwiKSB7XG5cdFx0XHR1cmlUb2tlbnMucHVzaChcIi8vXCIpO1xuXHRcdH1cblxuXHRcdHVyaVRva2Vucy5wdXNoKGF1dGhvcml0eSk7XG5cblx0XHRpZiAoY29tcG9uZW50cy5wYXRoICYmIGNvbXBvbmVudHMucGF0aC5jaGFyQXQoMCkgIT09IFwiL1wiKSB7XG5cdFx0XHR1cmlUb2tlbnMucHVzaChcIi9cIik7XG5cdFx0fVxuXHR9XG5cblx0aWYgKGNvbXBvbmVudHMucGF0aCAhPT0gdW5kZWZpbmVkKSB7XG5cdFx0bGV0IHMgPSBjb21wb25lbnRzLnBhdGg7XG5cblx0XHRpZiAoIW9wdGlvbnMuYWJzb2x1dGVQYXRoICYmICghc2NoZW1lSGFuZGxlciB8fCAhc2NoZW1lSGFuZGxlci5hYnNvbHV0ZVBhdGgpKSB7XG5cdFx0XHRzID0gcmVtb3ZlRG90U2VnbWVudHMocyk7XG5cdFx0fVxuXG5cdFx0aWYgKGF1dGhvcml0eSA9PT0gdW5kZWZpbmVkKSB7XG5cdFx0XHRzID0gcy5yZXBsYWNlKC9eXFwvXFwvLywgXCIvJTJGXCIpOyAgLy9kb24ndCBhbGxvdyB0aGUgcGF0aCB0byBzdGFydCB3aXRoIFwiLy9cIlxuXHRcdH1cblxuXHRcdHVyaVRva2Vucy5wdXNoKHMpO1xuXHR9XG5cblx0aWYgKGNvbXBvbmVudHMucXVlcnkgIT09IHVuZGVmaW5lZCkge1xuXHRcdHVyaVRva2Vucy5wdXNoKFwiP1wiKTtcblx0XHR1cmlUb2tlbnMucHVzaChjb21wb25lbnRzLnF1ZXJ5KTtcblx0fVxuXG5cdGlmIChjb21wb25lbnRzLmZyYWdtZW50ICE9PSB1bmRlZmluZWQpIHtcblx0XHR1cmlUb2tlbnMucHVzaChcIiNcIik7XG5cdFx0dXJpVG9rZW5zLnB1c2goY29tcG9uZW50cy5mcmFnbWVudCk7XG5cdH1cblxuXHRyZXR1cm4gdXJpVG9rZW5zLmpvaW4oXCJcIik7ICAvL21lcmdlIHRva2VucyBpbnRvIGEgc3RyaW5nXG59O1xuXG5leHBvcnQgZnVuY3Rpb24gcmVzb2x2ZUNvbXBvbmVudHMoYmFzZTpVUklDb21wb25lbnRzLCByZWxhdGl2ZTpVUklDb21wb25lbnRzLCBvcHRpb25zOlVSSU9wdGlvbnMgPSB7fSwgc2tpcE5vcm1hbGl6YXRpb24/OmJvb2xlYW4pOlVSSUNvbXBvbmVudHMge1xuXHRjb25zdCB0YXJnZXQ6VVJJQ29tcG9uZW50cyA9IHt9O1xuXG5cdGlmICghc2tpcE5vcm1hbGl6YXRpb24pIHtcblx0XHRiYXNlID0gcGFyc2Uoc2VyaWFsaXplKGJhc2UsIG9wdGlvbnMpLCBvcHRpb25zKTsgIC8vbm9ybWFsaXplIGJhc2UgY29tcG9uZW50c1xuXHRcdHJlbGF0aXZlID0gcGFyc2Uoc2VyaWFsaXplKHJlbGF0aXZlLCBvcHRpb25zKSwgb3B0aW9ucyk7ICAvL25vcm1hbGl6ZSByZWxhdGl2ZSBjb21wb25lbnRzXG5cdH1cblx0b3B0aW9ucyA9IG9wdGlvbnMgfHwge307XG5cblx0aWYgKCFvcHRpb25zLnRvbGVyYW50ICYmIHJlbGF0aXZlLnNjaGVtZSkge1xuXHRcdHRhcmdldC5zY2hlbWUgPSByZWxhdGl2ZS5zY2hlbWU7XG5cdFx0Ly90YXJnZXQuYXV0aG9yaXR5ID0gcmVsYXRpdmUuYXV0aG9yaXR5O1xuXHRcdHRhcmdldC51c2VyaW5mbyA9IHJlbGF0aXZlLnVzZXJpbmZvO1xuXHRcdHRhcmdldC5ob3N0ID0gcmVsYXRpdmUuaG9zdDtcblx0XHR0YXJnZXQucG9ydCA9IHJlbGF0aXZlLnBvcnQ7XG5cdFx0dGFyZ2V0LnBhdGggPSByZW1vdmVEb3RTZWdtZW50cyhyZWxhdGl2ZS5wYXRoIHx8IFwiXCIpO1xuXHRcdHRhcmdldC5xdWVyeSA9IHJlbGF0aXZlLnF1ZXJ5O1xuXHR9IGVsc2Uge1xuXHRcdGlmIChyZWxhdGl2ZS51c2VyaW5mbyAhPT0gdW5kZWZpbmVkIHx8IHJlbGF0aXZlLmhvc3QgIT09IHVuZGVmaW5lZCB8fCByZWxhdGl2ZS5wb3J0ICE9PSB1bmRlZmluZWQpIHtcblx0XHRcdC8vdGFyZ2V0LmF1dGhvcml0eSA9IHJlbGF0aXZlLmF1dGhvcml0eTtcblx0XHRcdHRhcmdldC51c2VyaW5mbyA9IHJlbGF0aXZlLnVzZXJpbmZvO1xuXHRcdFx0dGFyZ2V0Lmhvc3QgPSByZWxhdGl2ZS5ob3N0O1xuXHRcdFx0dGFyZ2V0LnBvcnQgPSByZWxhdGl2ZS5wb3J0O1xuXHRcdFx0dGFyZ2V0LnBhdGggPSByZW1vdmVEb3RTZWdtZW50cyhyZWxhdGl2ZS5wYXRoIHx8IFwiXCIpO1xuXHRcdFx0dGFyZ2V0LnF1ZXJ5ID0gcmVsYXRpdmUucXVlcnk7XG5cdFx0fSBlbHNlIHtcblx0XHRcdGlmICghcmVsYXRpdmUucGF0aCkge1xuXHRcdFx0XHR0YXJnZXQucGF0aCA9IGJhc2UucGF0aDtcblx0XHRcdFx0aWYgKHJlbGF0aXZlLnF1ZXJ5ICE9PSB1bmRlZmluZWQpIHtcblx0XHRcdFx0XHR0YXJnZXQucXVlcnkgPSByZWxhdGl2ZS5xdWVyeTtcblx0XHRcdFx0fSBlbHNlIHtcblx0XHRcdFx0XHR0YXJnZXQucXVlcnkgPSBiYXNlLnF1ZXJ5O1xuXHRcdFx0XHR9XG5cdFx0XHR9IGVsc2Uge1xuXHRcdFx0XHRpZiAocmVsYXRpdmUucGF0aC5jaGFyQXQoMCkgPT09IFwiL1wiKSB7XG5cdFx0XHRcdFx0dGFyZ2V0LnBhdGggPSByZW1vdmVEb3RTZWdtZW50cyhyZWxhdGl2ZS5wYXRoKTtcblx0XHRcdFx0fSBlbHNlIHtcblx0XHRcdFx0XHRpZiAoKGJhc2UudXNlcmluZm8gIT09IHVuZGVmaW5lZCB8fCBiYXNlLmhvc3QgIT09IHVuZGVmaW5lZCB8fCBiYXNlLnBvcnQgIT09IHVuZGVmaW5lZCkgJiYgIWJhc2UucGF0aCkge1xuXHRcdFx0XHRcdFx0dGFyZ2V0LnBhdGggPSBcIi9cIiArIHJlbGF0aXZlLnBhdGg7XG5cdFx0XHRcdFx0fSBlbHNlIGlmICghYmFzZS5wYXRoKSB7XG5cdFx0XHRcdFx0XHR0YXJnZXQucGF0aCA9IHJlbGF0aXZlLnBhdGg7XG5cdFx0XHRcdFx0fSBlbHNlIHtcblx0XHRcdFx0XHRcdHRhcmdldC5wYXRoID0gYmFzZS5wYXRoLnNsaWNlKDAsIGJhc2UucGF0aC5sYXN0SW5kZXhPZihcIi9cIikgKyAxKSArIHJlbGF0aXZlLnBhdGg7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHRcdHRhcmdldC5wYXRoID0gcmVtb3ZlRG90U2VnbWVudHModGFyZ2V0LnBhdGgpO1xuXHRcdFx0XHR9XG5cdFx0XHRcdHRhcmdldC5xdWVyeSA9IHJlbGF0aXZlLnF1ZXJ5O1xuXHRcdFx0fVxuXHRcdFx0Ly90YXJnZXQuYXV0aG9yaXR5ID0gYmFzZS5hdXRob3JpdHk7XG5cdFx0XHR0YXJnZXQudXNlcmluZm8gPSBiYXNlLnVzZXJpbmZvO1xuXHRcdFx0dGFyZ2V0Lmhvc3QgPSBiYXNlLmhvc3Q7XG5cdFx0XHR0YXJnZXQucG9ydCA9IGJhc2UucG9ydDtcblx0XHR9XG5cdFx0dGFyZ2V0LnNjaGVtZSA9IGJhc2Uuc2NoZW1lO1xuXHR9XG5cblx0dGFyZ2V0LmZyYWdtZW50ID0gcmVsYXRpdmUuZnJhZ21lbnQ7XG5cblx0cmV0dXJuIHRhcmdldDtcbn07XG5cbmV4cG9ydCBmdW5jdGlvbiByZXNvbHZlKGJhc2VVUkk6c3RyaW5nLCByZWxhdGl2ZVVSSTpzdHJpbmcsIG9wdGlvbnM/OlVSSU9wdGlvbnMpOnN0cmluZyB7XG5cdGNvbnN0IHNjaGVtZWxlc3NPcHRpb25zID0gYXNzaWduKHsgc2NoZW1lIDogJ251bGwnIH0sIG9wdGlvbnMpO1xuXHRyZXR1cm4gc2VyaWFsaXplKHJlc29sdmVDb21wb25lbnRzKHBhcnNlKGJhc2VVUkksIHNjaGVtZWxlc3NPcHRpb25zKSwgcGFyc2UocmVsYXRpdmVVUkksIHNjaGVtZWxlc3NPcHRpb25zKSwgc2NoZW1lbGVzc09wdGlvbnMsIHRydWUpLCBzY2hlbWVsZXNzT3B0aW9ucyk7XG59O1xuXG5leHBvcnQgZnVuY3Rpb24gbm9ybWFsaXplKHVyaTpzdHJpbmcsIG9wdGlvbnM/OlVSSU9wdGlvbnMpOnN0cmluZztcbmV4cG9ydCBmdW5jdGlvbiBub3JtYWxpemUodXJpOlVSSUNvbXBvbmVudHMsIG9wdGlvbnM/OlVSSU9wdGlvbnMpOlVSSUNvbXBvbmVudHM7XG5leHBvcnQgZnVuY3Rpb24gbm9ybWFsaXplKHVyaTphbnksIG9wdGlvbnM/OlVSSU9wdGlvbnMpOmFueSB7XG5cdGlmICh0eXBlb2YgdXJpID09PSBcInN0cmluZ1wiKSB7XG5cdFx0dXJpID0gc2VyaWFsaXplKHBhcnNlKHVyaSwgb3B0aW9ucyksIG9wdGlvbnMpO1xuXHR9IGVsc2UgaWYgKHR5cGVPZih1cmkpID09PSBcIm9iamVjdFwiKSB7XG5cdFx0dXJpID0gcGFyc2Uoc2VyaWFsaXplKDxVUklDb21wb25lbnRzPnVyaSwgb3B0aW9ucyksIG9wdGlvbnMpO1xuXHR9XG5cblx0cmV0dXJuIHVyaTtcbn07XG5cbmV4cG9ydCBmdW5jdGlvbiBlcXVhbCh1cmlBOnN0cmluZywgdXJpQjpzdHJpbmcsIG9wdGlvbnM/OiBVUklPcHRpb25zKTpib29sZWFuO1xuZXhwb3J0IGZ1bmN0aW9uIGVxdWFsKHVyaUE6VVJJQ29tcG9uZW50cywgdXJpQjpVUklDb21wb25lbnRzLCBvcHRpb25zPzpVUklPcHRpb25zKTpib29sZWFuO1xuZXhwb3J0IGZ1bmN0aW9uIGVxdWFsKHVyaUE6YW55LCB1cmlCOmFueSwgb3B0aW9ucz86VVJJT3B0aW9ucyk6Ym9vbGVhbiB7XG5cdGlmICh0eXBlb2YgdXJpQSA9PT0gXCJzdHJpbmdcIikge1xuXHRcdHVyaUEgPSBzZXJpYWxpemUocGFyc2UodXJpQSwgb3B0aW9ucyksIG9wdGlvbnMpO1xuXHR9IGVsc2UgaWYgKHR5cGVPZih1cmlBKSA9PT0gXCJvYmplY3RcIikge1xuXHRcdHVyaUEgPSBzZXJpYWxpemUoPFVSSUNvbXBvbmVudHM+dXJpQSwgb3B0aW9ucyk7XG5cdH1cblxuXHRpZiAodHlwZW9mIHVyaUIgPT09IFwic3RyaW5nXCIpIHtcblx0XHR1cmlCID0gc2VyaWFsaXplKHBhcnNlKHVyaUIsIG9wdGlvbnMpLCBvcHRpb25zKTtcblx0fSBlbHNlIGlmICh0eXBlT2YodXJpQikgPT09IFwib2JqZWN0XCIpIHtcblx0XHR1cmlCID0gc2VyaWFsaXplKDxVUklDb21wb25lbnRzPnVyaUIsIG9wdGlvbnMpO1xuXHR9XG5cblx0cmV0dXJuIHVyaUEgPT09IHVyaUI7XG59O1xuXG5leHBvcnQgZnVuY3Rpb24gZXNjYXBlQ29tcG9uZW50KHN0cjpzdHJpbmcsIG9wdGlvbnM/OlVSSU9wdGlvbnMpOnN0cmluZyB7XG5cdHJldHVybiBzdHIgJiYgc3RyLnRvU3RyaW5nKCkucmVwbGFjZSgoIW9wdGlvbnMgfHwgIW9wdGlvbnMuaXJpID8gVVJJX1BST1RPQ09MLkVTQ0FQRSA6IElSSV9QUk9UT0NPTC5FU0NBUEUpLCBwY3RFbmNDaGFyKTtcbn07XG5cbmV4cG9ydCBmdW5jdGlvbiB1bmVzY2FwZUNvbXBvbmVudChzdHI6c3RyaW5nLCBvcHRpb25zPzpVUklPcHRpb25zKTpzdHJpbmcge1xuXHRyZXR1cm4gc3RyICYmIHN0ci50b1N0cmluZygpLnJlcGxhY2UoKCFvcHRpb25zIHx8ICFvcHRpb25zLmlyaSA/IFVSSV9QUk9UT0NPTC5QQ1RfRU5DT0RFRCA6IElSSV9QUk9UT0NPTC5QQ1RfRU5DT0RFRCksIHBjdERlY0NoYXJzKTtcbn07XG4iLCAiJ3VzZSBzdHJpY3QnO1xuXG4vKiogSGlnaGVzdCBwb3NpdGl2ZSBzaWduZWQgMzItYml0IGZsb2F0IHZhbHVlICovXG5jb25zdCBtYXhJbnQgPSAyMTQ3NDgzNjQ3OyAvLyBha2EuIDB4N0ZGRkZGRkYgb3IgMl4zMS0xXG5cbi8qKiBCb290c3RyaW5nIHBhcmFtZXRlcnMgKi9cbmNvbnN0IGJhc2UgPSAzNjtcbmNvbnN0IHRNaW4gPSAxO1xuY29uc3QgdE1heCA9IDI2O1xuY29uc3Qgc2tldyA9IDM4O1xuY29uc3QgZGFtcCA9IDcwMDtcbmNvbnN0IGluaXRpYWxCaWFzID0gNzI7XG5jb25zdCBpbml0aWFsTiA9IDEyODsgLy8gMHg4MFxuY29uc3QgZGVsaW1pdGVyID0gJy0nOyAvLyAnXFx4MkQnXG5cbi8qKiBSZWd1bGFyIGV4cHJlc3Npb25zICovXG5jb25zdCByZWdleFB1bnljb2RlID0gL154bi0tLztcbmNvbnN0IHJlZ2V4Tm9uQVNDSUkgPSAvW15cXDAtXFx4N0VdLzsgLy8gbm9uLUFTQ0lJIGNoYXJzXG5jb25zdCByZWdleFNlcGFyYXRvcnMgPSAvW1xceDJFXFx1MzAwMlxcdUZGMEVcXHVGRjYxXS9nOyAvLyBSRkMgMzQ5MCBzZXBhcmF0b3JzXG5cbi8qKiBFcnJvciBtZXNzYWdlcyAqL1xuY29uc3QgZXJyb3JzID0ge1xuXHQnb3ZlcmZsb3cnOiAnT3ZlcmZsb3c6IGlucHV0IG5lZWRzIHdpZGVyIGludGVnZXJzIHRvIHByb2Nlc3MnLFxuXHQnbm90LWJhc2ljJzogJ0lsbGVnYWwgaW5wdXQgPj0gMHg4MCAobm90IGEgYmFzaWMgY29kZSBwb2ludCknLFxuXHQnaW52YWxpZC1pbnB1dCc6ICdJbnZhbGlkIGlucHV0J1xufTtcblxuLyoqIENvbnZlbmllbmNlIHNob3J0Y3V0cyAqL1xuY29uc3QgYmFzZU1pbnVzVE1pbiA9IGJhc2UgLSB0TWluO1xuY29uc3QgZmxvb3IgPSBNYXRoLmZsb29yO1xuY29uc3Qgc3RyaW5nRnJvbUNoYXJDb2RlID0gU3RyaW5nLmZyb21DaGFyQ29kZTtcblxuLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG5cbi8qKlxuICogQSBnZW5lcmljIGVycm9yIHV0aWxpdHkgZnVuY3Rpb24uXG4gKiBAcHJpdmF0ZVxuICogQHBhcmFtIHtTdHJpbmd9IHR5cGUgVGhlIGVycm9yIHR5cGUuXG4gKiBAcmV0dXJucyB7RXJyb3J9IFRocm93cyBhIGBSYW5nZUVycm9yYCB3aXRoIHRoZSBhcHBsaWNhYmxlIGVycm9yIG1lc3NhZ2UuXG4gKi9cbmZ1bmN0aW9uIGVycm9yKHR5cGUpIHtcblx0dGhyb3cgbmV3IFJhbmdlRXJyb3IoZXJyb3JzW3R5cGVdKTtcbn1cblxuLyoqXG4gKiBBIGdlbmVyaWMgYEFycmF5I21hcGAgdXRpbGl0eSBmdW5jdGlvbi5cbiAqIEBwcml2YXRlXG4gKiBAcGFyYW0ge0FycmF5fSBhcnJheSBUaGUgYXJyYXkgdG8gaXRlcmF0ZSBvdmVyLlxuICogQHBhcmFtIHtGdW5jdGlvbn0gY2FsbGJhY2sgVGhlIGZ1bmN0aW9uIHRoYXQgZ2V0cyBjYWxsZWQgZm9yIGV2ZXJ5IGFycmF5XG4gKiBpdGVtLlxuICogQHJldHVybnMge0FycmF5fSBBIG5ldyBhcnJheSBvZiB2YWx1ZXMgcmV0dXJuZWQgYnkgdGhlIGNhbGxiYWNrIGZ1bmN0aW9uLlxuICovXG5mdW5jdGlvbiBtYXAoYXJyYXksIGZuKSB7XG5cdGNvbnN0IHJlc3VsdCA9IFtdO1xuXHRsZXQgbGVuZ3RoID0gYXJyYXkubGVuZ3RoO1xuXHR3aGlsZSAobGVuZ3RoLS0pIHtcblx0XHRyZXN1bHRbbGVuZ3RoXSA9IGZuKGFycmF5W2xlbmd0aF0pO1xuXHR9XG5cdHJldHVybiByZXN1bHQ7XG59XG5cbi8qKlxuICogQSBzaW1wbGUgYEFycmF5I21hcGAtbGlrZSB3cmFwcGVyIHRvIHdvcmsgd2l0aCBkb21haW4gbmFtZSBzdHJpbmdzIG9yIGVtYWlsXG4gKiBhZGRyZXNzZXMuXG4gKiBAcHJpdmF0ZVxuICogQHBhcmFtIHtTdHJpbmd9IGRvbWFpbiBUaGUgZG9tYWluIG5hbWUgb3IgZW1haWwgYWRkcmVzcy5cbiAqIEBwYXJhbSB7RnVuY3Rpb259IGNhbGxiYWNrIFRoZSBmdW5jdGlvbiB0aGF0IGdldHMgY2FsbGVkIGZvciBldmVyeVxuICogY2hhcmFjdGVyLlxuICogQHJldHVybnMge0FycmF5fSBBIG5ldyBzdHJpbmcgb2YgY2hhcmFjdGVycyByZXR1cm5lZCBieSB0aGUgY2FsbGJhY2tcbiAqIGZ1bmN0aW9uLlxuICovXG5mdW5jdGlvbiBtYXBEb21haW4oc3RyaW5nLCBmbikge1xuXHRjb25zdCBwYXJ0cyA9IHN0cmluZy5zcGxpdCgnQCcpO1xuXHRsZXQgcmVzdWx0ID0gJyc7XG5cdGlmIChwYXJ0cy5sZW5ndGggPiAxKSB7XG5cdFx0Ly8gSW4gZW1haWwgYWRkcmVzc2VzLCBvbmx5IHRoZSBkb21haW4gbmFtZSBzaG91bGQgYmUgcHVueWNvZGVkLiBMZWF2ZVxuXHRcdC8vIHRoZSBsb2NhbCBwYXJ0IChpLmUuIGV2ZXJ5dGhpbmcgdXAgdG8gYEBgKSBpbnRhY3QuXG5cdFx0cmVzdWx0ID0gcGFydHNbMF0gKyAnQCc7XG5cdFx0c3RyaW5nID0gcGFydHNbMV07XG5cdH1cblx0Ly8gQXZvaWQgYHNwbGl0KHJlZ2V4KWAgZm9yIElFOCBjb21wYXRpYmlsaXR5LiBTZWUgIzE3LlxuXHRzdHJpbmcgPSBzdHJpbmcucmVwbGFjZShyZWdleFNlcGFyYXRvcnMsICdcXHgyRScpO1xuXHRjb25zdCBsYWJlbHMgPSBzdHJpbmcuc3BsaXQoJy4nKTtcblx0Y29uc3QgZW5jb2RlZCA9IG1hcChsYWJlbHMsIGZuKS5qb2luKCcuJyk7XG5cdHJldHVybiByZXN1bHQgKyBlbmNvZGVkO1xufVxuXG4vKipcbiAqIENyZWF0ZXMgYW4gYXJyYXkgY29udGFpbmluZyB0aGUgbnVtZXJpYyBjb2RlIHBvaW50cyBvZiBlYWNoIFVuaWNvZGVcbiAqIGNoYXJhY3RlciBpbiB0aGUgc3RyaW5nLiBXaGlsZSBKYXZhU2NyaXB0IHVzZXMgVUNTLTIgaW50ZXJuYWxseSxcbiAqIHRoaXMgZnVuY3Rpb24gd2lsbCBjb252ZXJ0IGEgcGFpciBvZiBzdXJyb2dhdGUgaGFsdmVzIChlYWNoIG9mIHdoaWNoXG4gKiBVQ1MtMiBleHBvc2VzIGFzIHNlcGFyYXRlIGNoYXJhY3RlcnMpIGludG8gYSBzaW5nbGUgY29kZSBwb2ludCxcbiAqIG1hdGNoaW5nIFVURi0xNi5cbiAqIEBzZWUgYHB1bnljb2RlLnVjczIuZW5jb2RlYFxuICogQHNlZSA8aHR0cHM6Ly9tYXRoaWFzYnluZW5zLmJlL25vdGVzL2phdmFzY3JpcHQtZW5jb2Rpbmc+XG4gKiBAbWVtYmVyT2YgcHVueWNvZGUudWNzMlxuICogQG5hbWUgZGVjb2RlXG4gKiBAcGFyYW0ge1N0cmluZ30gc3RyaW5nIFRoZSBVbmljb2RlIGlucHV0IHN0cmluZyAoVUNTLTIpLlxuICogQHJldHVybnMge0FycmF5fSBUaGUgbmV3IGFycmF5IG9mIGNvZGUgcG9pbnRzLlxuICovXG5mdW5jdGlvbiB1Y3MyZGVjb2RlKHN0cmluZykge1xuXHRjb25zdCBvdXRwdXQgPSBbXTtcblx0bGV0IGNvdW50ZXIgPSAwO1xuXHRjb25zdCBsZW5ndGggPSBzdHJpbmcubGVuZ3RoO1xuXHR3aGlsZSAoY291bnRlciA8IGxlbmd0aCkge1xuXHRcdGNvbnN0IHZhbHVlID0gc3RyaW5nLmNoYXJDb2RlQXQoY291bnRlcisrKTtcblx0XHRpZiAodmFsdWUgPj0gMHhEODAwICYmIHZhbHVlIDw9IDB4REJGRiAmJiBjb3VudGVyIDwgbGVuZ3RoKSB7XG5cdFx0XHQvLyBJdCdzIGEgaGlnaCBzdXJyb2dhdGUsIGFuZCB0aGVyZSBpcyBhIG5leHQgY2hhcmFjdGVyLlxuXHRcdFx0Y29uc3QgZXh0cmEgPSBzdHJpbmcuY2hhckNvZGVBdChjb3VudGVyKyspO1xuXHRcdFx0aWYgKChleHRyYSAmIDB4RkMwMCkgPT0gMHhEQzAwKSB7IC8vIExvdyBzdXJyb2dhdGUuXG5cdFx0XHRcdG91dHB1dC5wdXNoKCgodmFsdWUgJiAweDNGRikgPDwgMTApICsgKGV4dHJhICYgMHgzRkYpICsgMHgxMDAwMCk7XG5cdFx0XHR9IGVsc2Uge1xuXHRcdFx0XHQvLyBJdCdzIGFuIHVubWF0Y2hlZCBzdXJyb2dhdGU7IG9ubHkgYXBwZW5kIHRoaXMgY29kZSB1bml0LCBpbiBjYXNlIHRoZVxuXHRcdFx0XHQvLyBuZXh0IGNvZGUgdW5pdCBpcyB0aGUgaGlnaCBzdXJyb2dhdGUgb2YgYSBzdXJyb2dhdGUgcGFpci5cblx0XHRcdFx0b3V0cHV0LnB1c2godmFsdWUpO1xuXHRcdFx0XHRjb3VudGVyLS07XG5cdFx0XHR9XG5cdFx0fSBlbHNlIHtcblx0XHRcdG91dHB1dC5wdXNoKHZhbHVlKTtcblx0XHR9XG5cdH1cblx0cmV0dXJuIG91dHB1dDtcbn1cblxuLyoqXG4gKiBDcmVhdGVzIGEgc3RyaW5nIGJhc2VkIG9uIGFuIGFycmF5IG9mIG51bWVyaWMgY29kZSBwb2ludHMuXG4gKiBAc2VlIGBwdW55Y29kZS51Y3MyLmRlY29kZWBcbiAqIEBtZW1iZXJPZiBwdW55Y29kZS51Y3MyXG4gKiBAbmFtZSBlbmNvZGVcbiAqIEBwYXJhbSB7QXJyYXl9IGNvZGVQb2ludHMgVGhlIGFycmF5IG9mIG51bWVyaWMgY29kZSBwb2ludHMuXG4gKiBAcmV0dXJucyB7U3RyaW5nfSBUaGUgbmV3IFVuaWNvZGUgc3RyaW5nIChVQ1MtMikuXG4gKi9cbmNvbnN0IHVjczJlbmNvZGUgPSBhcnJheSA9PiBTdHJpbmcuZnJvbUNvZGVQb2ludCguLi5hcnJheSk7XG5cbi8qKlxuICogQ29udmVydHMgYSBiYXNpYyBjb2RlIHBvaW50IGludG8gYSBkaWdpdC9pbnRlZ2VyLlxuICogQHNlZSBgZGlnaXRUb0Jhc2ljKClgXG4gKiBAcHJpdmF0ZVxuICogQHBhcmFtIHtOdW1iZXJ9IGNvZGVQb2ludCBUaGUgYmFzaWMgbnVtZXJpYyBjb2RlIHBvaW50IHZhbHVlLlxuICogQHJldHVybnMge051bWJlcn0gVGhlIG51bWVyaWMgdmFsdWUgb2YgYSBiYXNpYyBjb2RlIHBvaW50IChmb3IgdXNlIGluXG4gKiByZXByZXNlbnRpbmcgaW50ZWdlcnMpIGluIHRoZSByYW5nZSBgMGAgdG8gYGJhc2UgLSAxYCwgb3IgYGJhc2VgIGlmXG4gKiB0aGUgY29kZSBwb2ludCBkb2VzIG5vdCByZXByZXNlbnQgYSB2YWx1ZS5cbiAqL1xuY29uc3QgYmFzaWNUb0RpZ2l0ID0gZnVuY3Rpb24oY29kZVBvaW50KSB7XG5cdGlmIChjb2RlUG9pbnQgLSAweDMwIDwgMHgwQSkge1xuXHRcdHJldHVybiBjb2RlUG9pbnQgLSAweDE2O1xuXHR9XG5cdGlmIChjb2RlUG9pbnQgLSAweDQxIDwgMHgxQSkge1xuXHRcdHJldHVybiBjb2RlUG9pbnQgLSAweDQxO1xuXHR9XG5cdGlmIChjb2RlUG9pbnQgLSAweDYxIDwgMHgxQSkge1xuXHRcdHJldHVybiBjb2RlUG9pbnQgLSAweDYxO1xuXHR9XG5cdHJldHVybiBiYXNlO1xufTtcblxuLyoqXG4gKiBDb252ZXJ0cyBhIGRpZ2l0L2ludGVnZXIgaW50byBhIGJhc2ljIGNvZGUgcG9pbnQuXG4gKiBAc2VlIGBiYXNpY1RvRGlnaXQoKWBcbiAqIEBwcml2YXRlXG4gKiBAcGFyYW0ge051bWJlcn0gZGlnaXQgVGhlIG51bWVyaWMgdmFsdWUgb2YgYSBiYXNpYyBjb2RlIHBvaW50LlxuICogQHJldHVybnMge051bWJlcn0gVGhlIGJhc2ljIGNvZGUgcG9pbnQgd2hvc2UgdmFsdWUgKHdoZW4gdXNlZCBmb3JcbiAqIHJlcHJlc2VudGluZyBpbnRlZ2VycykgaXMgYGRpZ2l0YCwgd2hpY2ggbmVlZHMgdG8gYmUgaW4gdGhlIHJhbmdlXG4gKiBgMGAgdG8gYGJhc2UgLSAxYC4gSWYgYGZsYWdgIGlzIG5vbi16ZXJvLCB0aGUgdXBwZXJjYXNlIGZvcm0gaXNcbiAqIHVzZWQ7IGVsc2UsIHRoZSBsb3dlcmNhc2UgZm9ybSBpcyB1c2VkLiBUaGUgYmVoYXZpb3IgaXMgdW5kZWZpbmVkXG4gKiBpZiBgZmxhZ2AgaXMgbm9uLXplcm8gYW5kIGBkaWdpdGAgaGFzIG5vIHVwcGVyY2FzZSBmb3JtLlxuICovXG5jb25zdCBkaWdpdFRvQmFzaWMgPSBmdW5jdGlvbihkaWdpdCwgZmxhZykge1xuXHQvLyAgMC4uMjUgbWFwIHRvIEFTQ0lJIGEuLnogb3IgQS4uWlxuXHQvLyAyNi4uMzUgbWFwIHRvIEFTQ0lJIDAuLjlcblx0cmV0dXJuIGRpZ2l0ICsgMjIgKyA3NSAqIChkaWdpdCA8IDI2KSAtICgoZmxhZyAhPSAwKSA8PCA1KTtcbn07XG5cbi8qKlxuICogQmlhcyBhZGFwdGF0aW9uIGZ1bmN0aW9uIGFzIHBlciBzZWN0aW9uIDMuNCBvZiBSRkMgMzQ5Mi5cbiAqIGh0dHBzOi8vdG9vbHMuaWV0Zi5vcmcvaHRtbC9yZmMzNDkyI3NlY3Rpb24tMy40XG4gKiBAcHJpdmF0ZVxuICovXG5jb25zdCBhZGFwdCA9IGZ1bmN0aW9uKGRlbHRhLCBudW1Qb2ludHMsIGZpcnN0VGltZSkge1xuXHRsZXQgayA9IDA7XG5cdGRlbHRhID0gZmlyc3RUaW1lID8gZmxvb3IoZGVsdGEgLyBkYW1wKSA6IGRlbHRhID4+IDE7XG5cdGRlbHRhICs9IGZsb29yKGRlbHRhIC8gbnVtUG9pbnRzKTtcblx0Zm9yICgvKiBubyBpbml0aWFsaXphdGlvbiAqLzsgZGVsdGEgPiBiYXNlTWludXNUTWluICogdE1heCA+PiAxOyBrICs9IGJhc2UpIHtcblx0XHRkZWx0YSA9IGZsb29yKGRlbHRhIC8gYmFzZU1pbnVzVE1pbik7XG5cdH1cblx0cmV0dXJuIGZsb29yKGsgKyAoYmFzZU1pbnVzVE1pbiArIDEpICogZGVsdGEgLyAoZGVsdGEgKyBza2V3KSk7XG59O1xuXG4vKipcbiAqIENvbnZlcnRzIGEgUHVueWNvZGUgc3RyaW5nIG9mIEFTQ0lJLW9ubHkgc3ltYm9scyB0byBhIHN0cmluZyBvZiBVbmljb2RlXG4gKiBzeW1ib2xzLlxuICogQG1lbWJlck9mIHB1bnljb2RlXG4gKiBAcGFyYW0ge1N0cmluZ30gaW5wdXQgVGhlIFB1bnljb2RlIHN0cmluZyBvZiBBU0NJSS1vbmx5IHN5bWJvbHMuXG4gKiBAcmV0dXJucyB7U3RyaW5nfSBUaGUgcmVzdWx0aW5nIHN0cmluZyBvZiBVbmljb2RlIHN5bWJvbHMuXG4gKi9cbmNvbnN0IGRlY29kZSA9IGZ1bmN0aW9uKGlucHV0KSB7XG5cdC8vIERvbid0IHVzZSBVQ1MtMi5cblx0Y29uc3Qgb3V0cHV0ID0gW107XG5cdGNvbnN0IGlucHV0TGVuZ3RoID0gaW5wdXQubGVuZ3RoO1xuXHRsZXQgaSA9IDA7XG5cdGxldCBuID0gaW5pdGlhbE47XG5cdGxldCBiaWFzID0gaW5pdGlhbEJpYXM7XG5cblx0Ly8gSGFuZGxlIHRoZSBiYXNpYyBjb2RlIHBvaW50czogbGV0IGBiYXNpY2AgYmUgdGhlIG51bWJlciBvZiBpbnB1dCBjb2RlXG5cdC8vIHBvaW50cyBiZWZvcmUgdGhlIGxhc3QgZGVsaW1pdGVyLCBvciBgMGAgaWYgdGhlcmUgaXMgbm9uZSwgdGhlbiBjb3B5XG5cdC8vIHRoZSBmaXJzdCBiYXNpYyBjb2RlIHBvaW50cyB0byB0aGUgb3V0cHV0LlxuXG5cdGxldCBiYXNpYyA9IGlucHV0Lmxhc3RJbmRleE9mKGRlbGltaXRlcik7XG5cdGlmIChiYXNpYyA8IDApIHtcblx0XHRiYXNpYyA9IDA7XG5cdH1cblxuXHRmb3IgKGxldCBqID0gMDsgaiA8IGJhc2ljOyArK2opIHtcblx0XHQvLyBpZiBpdCdzIG5vdCBhIGJhc2ljIGNvZGUgcG9pbnRcblx0XHRpZiAoaW5wdXQuY2hhckNvZGVBdChqKSA+PSAweDgwKSB7XG5cdFx0XHRlcnJvcignbm90LWJhc2ljJyk7XG5cdFx0fVxuXHRcdG91dHB1dC5wdXNoKGlucHV0LmNoYXJDb2RlQXQoaikpO1xuXHR9XG5cblx0Ly8gTWFpbiBkZWNvZGluZyBsb29wOiBzdGFydCBqdXN0IGFmdGVyIHRoZSBsYXN0IGRlbGltaXRlciBpZiBhbnkgYmFzaWMgY29kZVxuXHQvLyBwb2ludHMgd2VyZSBjb3BpZWQ7IHN0YXJ0IGF0IHRoZSBiZWdpbm5pbmcgb3RoZXJ3aXNlLlxuXG5cdGZvciAobGV0IGluZGV4ID0gYmFzaWMgPiAwID8gYmFzaWMgKyAxIDogMDsgaW5kZXggPCBpbnB1dExlbmd0aDsgLyogbm8gZmluYWwgZXhwcmVzc2lvbiAqLykge1xuXG5cdFx0Ly8gYGluZGV4YCBpcyB0aGUgaW5kZXggb2YgdGhlIG5leHQgY2hhcmFjdGVyIHRvIGJlIGNvbnN1bWVkLlxuXHRcdC8vIERlY29kZSBhIGdlbmVyYWxpemVkIHZhcmlhYmxlLWxlbmd0aCBpbnRlZ2VyIGludG8gYGRlbHRhYCxcblx0XHQvLyB3aGljaCBnZXRzIGFkZGVkIHRvIGBpYC4gVGhlIG92ZXJmbG93IGNoZWNraW5nIGlzIGVhc2llclxuXHRcdC8vIGlmIHdlIGluY3JlYXNlIGBpYCBhcyB3ZSBnbywgdGhlbiBzdWJ0cmFjdCBvZmYgaXRzIHN0YXJ0aW5nXG5cdFx0Ly8gdmFsdWUgYXQgdGhlIGVuZCB0byBvYnRhaW4gYGRlbHRhYC5cblx0XHRsZXQgb2xkaSA9IGk7XG5cdFx0Zm9yIChsZXQgdyA9IDEsIGsgPSBiYXNlOyAvKiBubyBjb25kaXRpb24gKi87IGsgKz0gYmFzZSkge1xuXG5cdFx0XHRpZiAoaW5kZXggPj0gaW5wdXRMZW5ndGgpIHtcblx0XHRcdFx0ZXJyb3IoJ2ludmFsaWQtaW5wdXQnKTtcblx0XHRcdH1cblxuXHRcdFx0Y29uc3QgZGlnaXQgPSBiYXNpY1RvRGlnaXQoaW5wdXQuY2hhckNvZGVBdChpbmRleCsrKSk7XG5cblx0XHRcdGlmIChkaWdpdCA+PSBiYXNlIHx8IGRpZ2l0ID4gZmxvb3IoKG1heEludCAtIGkpIC8gdykpIHtcblx0XHRcdFx0ZXJyb3IoJ292ZXJmbG93Jyk7XG5cdFx0XHR9XG5cblx0XHRcdGkgKz0gZGlnaXQgKiB3O1xuXHRcdFx0Y29uc3QgdCA9IGsgPD0gYmlhcyA/IHRNaW4gOiAoayA+PSBiaWFzICsgdE1heCA/IHRNYXggOiBrIC0gYmlhcyk7XG5cblx0XHRcdGlmIChkaWdpdCA8IHQpIHtcblx0XHRcdFx0YnJlYWs7XG5cdFx0XHR9XG5cblx0XHRcdGNvbnN0IGJhc2VNaW51c1QgPSBiYXNlIC0gdDtcblx0XHRcdGlmICh3ID4gZmxvb3IobWF4SW50IC8gYmFzZU1pbnVzVCkpIHtcblx0XHRcdFx0ZXJyb3IoJ292ZXJmbG93Jyk7XG5cdFx0XHR9XG5cblx0XHRcdHcgKj0gYmFzZU1pbnVzVDtcblxuXHRcdH1cblxuXHRcdGNvbnN0IG91dCA9IG91dHB1dC5sZW5ndGggKyAxO1xuXHRcdGJpYXMgPSBhZGFwdChpIC0gb2xkaSwgb3V0LCBvbGRpID09IDApO1xuXG5cdFx0Ly8gYGlgIHdhcyBzdXBwb3NlZCB0byB3cmFwIGFyb3VuZCBmcm9tIGBvdXRgIHRvIGAwYCxcblx0XHQvLyBpbmNyZW1lbnRpbmcgYG5gIGVhY2ggdGltZSwgc28gd2UnbGwgZml4IHRoYXQgbm93OlxuXHRcdGlmIChmbG9vcihpIC8gb3V0KSA+IG1heEludCAtIG4pIHtcblx0XHRcdGVycm9yKCdvdmVyZmxvdycpO1xuXHRcdH1cblxuXHRcdG4gKz0gZmxvb3IoaSAvIG91dCk7XG5cdFx0aSAlPSBvdXQ7XG5cblx0XHQvLyBJbnNlcnQgYG5gIGF0IHBvc2l0aW9uIGBpYCBvZiB0aGUgb3V0cHV0LlxuXHRcdG91dHB1dC5zcGxpY2UoaSsrLCAwLCBuKTtcblxuXHR9XG5cblx0cmV0dXJuIFN0cmluZy5mcm9tQ29kZVBvaW50KC4uLm91dHB1dCk7XG59O1xuXG4vKipcbiAqIENvbnZlcnRzIGEgc3RyaW5nIG9mIFVuaWNvZGUgc3ltYm9scyAoZS5nLiBhIGRvbWFpbiBuYW1lIGxhYmVsKSB0byBhXG4gKiBQdW55Y29kZSBzdHJpbmcgb2YgQVNDSUktb25seSBzeW1ib2xzLlxuICogQG1lbWJlck9mIHB1bnljb2RlXG4gKiBAcGFyYW0ge1N0cmluZ30gaW5wdXQgVGhlIHN0cmluZyBvZiBVbmljb2RlIHN5bWJvbHMuXG4gKiBAcmV0dXJucyB7U3RyaW5nfSBUaGUgcmVzdWx0aW5nIFB1bnljb2RlIHN0cmluZyBvZiBBU0NJSS1vbmx5IHN5bWJvbHMuXG4gKi9cbmNvbnN0IGVuY29kZSA9IGZ1bmN0aW9uKGlucHV0KSB7XG5cdGNvbnN0IG91dHB1dCA9IFtdO1xuXG5cdC8vIENvbnZlcnQgdGhlIGlucHV0IGluIFVDUy0yIHRvIGFuIGFycmF5IG9mIFVuaWNvZGUgY29kZSBwb2ludHMuXG5cdGlucHV0ID0gdWNzMmRlY29kZShpbnB1dCk7XG5cblx0Ly8gQ2FjaGUgdGhlIGxlbmd0aC5cblx0bGV0IGlucHV0TGVuZ3RoID0gaW5wdXQubGVuZ3RoO1xuXG5cdC8vIEluaXRpYWxpemUgdGhlIHN0YXRlLlxuXHRsZXQgbiA9IGluaXRpYWxOO1xuXHRsZXQgZGVsdGEgPSAwO1xuXHRsZXQgYmlhcyA9IGluaXRpYWxCaWFzO1xuXG5cdC8vIEhhbmRsZSB0aGUgYmFzaWMgY29kZSBwb2ludHMuXG5cdGZvciAoY29uc3QgY3VycmVudFZhbHVlIG9mIGlucHV0KSB7XG5cdFx0aWYgKGN1cnJlbnRWYWx1ZSA8IDB4ODApIHtcblx0XHRcdG91dHB1dC5wdXNoKHN0cmluZ0Zyb21DaGFyQ29kZShjdXJyZW50VmFsdWUpKTtcblx0XHR9XG5cdH1cblxuXHRsZXQgYmFzaWNMZW5ndGggPSBvdXRwdXQubGVuZ3RoO1xuXHRsZXQgaGFuZGxlZENQQ291bnQgPSBiYXNpY0xlbmd0aDtcblxuXHQvLyBgaGFuZGxlZENQQ291bnRgIGlzIHRoZSBudW1iZXIgb2YgY29kZSBwb2ludHMgdGhhdCBoYXZlIGJlZW4gaGFuZGxlZDtcblx0Ly8gYGJhc2ljTGVuZ3RoYCBpcyB0aGUgbnVtYmVyIG9mIGJhc2ljIGNvZGUgcG9pbnRzLlxuXG5cdC8vIEZpbmlzaCB0aGUgYmFzaWMgc3RyaW5nIHdpdGggYSBkZWxpbWl0ZXIgdW5sZXNzIGl0J3MgZW1wdHkuXG5cdGlmIChiYXNpY0xlbmd0aCkge1xuXHRcdG91dHB1dC5wdXNoKGRlbGltaXRlcik7XG5cdH1cblxuXHQvLyBNYWluIGVuY29kaW5nIGxvb3A6XG5cdHdoaWxlIChoYW5kbGVkQ1BDb3VudCA8IGlucHV0TGVuZ3RoKSB7XG5cblx0XHQvLyBBbGwgbm9uLWJhc2ljIGNvZGUgcG9pbnRzIDwgbiBoYXZlIGJlZW4gaGFuZGxlZCBhbHJlYWR5LiBGaW5kIHRoZSBuZXh0XG5cdFx0Ly8gbGFyZ2VyIG9uZTpcblx0XHRsZXQgbSA9IG1heEludDtcblx0XHRmb3IgKGNvbnN0IGN1cnJlbnRWYWx1ZSBvZiBpbnB1dCkge1xuXHRcdFx0aWYgKGN1cnJlbnRWYWx1ZSA+PSBuICYmIGN1cnJlbnRWYWx1ZSA8IG0pIHtcblx0XHRcdFx0bSA9IGN1cnJlbnRWYWx1ZTtcblx0XHRcdH1cblx0XHR9XG5cblx0XHQvLyBJbmNyZWFzZSBgZGVsdGFgIGVub3VnaCB0byBhZHZhbmNlIHRoZSBkZWNvZGVyJ3MgPG4saT4gc3RhdGUgdG8gPG0sMD4sXG5cdFx0Ly8gYnV0IGd1YXJkIGFnYWluc3Qgb3ZlcmZsb3cuXG5cdFx0Y29uc3QgaGFuZGxlZENQQ291bnRQbHVzT25lID0gaGFuZGxlZENQQ291bnQgKyAxO1xuXHRcdGlmIChtIC0gbiA+IGZsb29yKChtYXhJbnQgLSBkZWx0YSkgLyBoYW5kbGVkQ1BDb3VudFBsdXNPbmUpKSB7XG5cdFx0XHRlcnJvcignb3ZlcmZsb3cnKTtcblx0XHR9XG5cblx0XHRkZWx0YSArPSAobSAtIG4pICogaGFuZGxlZENQQ291bnRQbHVzT25lO1xuXHRcdG4gPSBtO1xuXG5cdFx0Zm9yIChjb25zdCBjdXJyZW50VmFsdWUgb2YgaW5wdXQpIHtcblx0XHRcdGlmIChjdXJyZW50VmFsdWUgPCBuICYmICsrZGVsdGEgPiBtYXhJbnQpIHtcblx0XHRcdFx0ZXJyb3IoJ292ZXJmbG93Jyk7XG5cdFx0XHR9XG5cdFx0XHRpZiAoY3VycmVudFZhbHVlID09IG4pIHtcblx0XHRcdFx0Ly8gUmVwcmVzZW50IGRlbHRhIGFzIGEgZ2VuZXJhbGl6ZWQgdmFyaWFibGUtbGVuZ3RoIGludGVnZXIuXG5cdFx0XHRcdGxldCBxID0gZGVsdGE7XG5cdFx0XHRcdGZvciAobGV0IGsgPSBiYXNlOyAvKiBubyBjb25kaXRpb24gKi87IGsgKz0gYmFzZSkge1xuXHRcdFx0XHRcdGNvbnN0IHQgPSBrIDw9IGJpYXMgPyB0TWluIDogKGsgPj0gYmlhcyArIHRNYXggPyB0TWF4IDogayAtIGJpYXMpO1xuXHRcdFx0XHRcdGlmIChxIDwgdCkge1xuXHRcdFx0XHRcdFx0YnJlYWs7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHRcdGNvbnN0IHFNaW51c1QgPSBxIC0gdDtcblx0XHRcdFx0XHRjb25zdCBiYXNlTWludXNUID0gYmFzZSAtIHQ7XG5cdFx0XHRcdFx0b3V0cHV0LnB1c2goXG5cdFx0XHRcdFx0XHRzdHJpbmdGcm9tQ2hhckNvZGUoZGlnaXRUb0Jhc2ljKHQgKyBxTWludXNUICUgYmFzZU1pbnVzVCwgMCkpXG5cdFx0XHRcdFx0KTtcblx0XHRcdFx0XHRxID0gZmxvb3IocU1pbnVzVCAvIGJhc2VNaW51c1QpO1xuXHRcdFx0XHR9XG5cblx0XHRcdFx0b3V0cHV0LnB1c2goc3RyaW5nRnJvbUNoYXJDb2RlKGRpZ2l0VG9CYXNpYyhxLCAwKSkpO1xuXHRcdFx0XHRiaWFzID0gYWRhcHQoZGVsdGEsIGhhbmRsZWRDUENvdW50UGx1c09uZSwgaGFuZGxlZENQQ291bnQgPT0gYmFzaWNMZW5ndGgpO1xuXHRcdFx0XHRkZWx0YSA9IDA7XG5cdFx0XHRcdCsraGFuZGxlZENQQ291bnQ7XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0KytkZWx0YTtcblx0XHQrK247XG5cblx0fVxuXHRyZXR1cm4gb3V0cHV0LmpvaW4oJycpO1xufTtcblxuLyoqXG4gKiBDb252ZXJ0cyBhIFB1bnljb2RlIHN0cmluZyByZXByZXNlbnRpbmcgYSBkb21haW4gbmFtZSBvciBhbiBlbWFpbCBhZGRyZXNzXG4gKiB0byBVbmljb2RlLiBPbmx5IHRoZSBQdW55Y29kZWQgcGFydHMgb2YgdGhlIGlucHV0IHdpbGwgYmUgY29udmVydGVkLCBpLmUuXG4gKiBpdCBkb2Vzbid0IG1hdHRlciBpZiB5b3UgY2FsbCBpdCBvbiBhIHN0cmluZyB0aGF0IGhhcyBhbHJlYWR5IGJlZW5cbiAqIGNvbnZlcnRlZCB0byBVbmljb2RlLlxuICogQG1lbWJlck9mIHB1bnljb2RlXG4gKiBAcGFyYW0ge1N0cmluZ30gaW5wdXQgVGhlIFB1bnljb2RlZCBkb21haW4gbmFtZSBvciBlbWFpbCBhZGRyZXNzIHRvXG4gKiBjb252ZXJ0IHRvIFVuaWNvZGUuXG4gKiBAcmV0dXJucyB7U3RyaW5nfSBUaGUgVW5pY29kZSByZXByZXNlbnRhdGlvbiBvZiB0aGUgZ2l2ZW4gUHVueWNvZGVcbiAqIHN0cmluZy5cbiAqL1xuY29uc3QgdG9Vbmljb2RlID0gZnVuY3Rpb24oaW5wdXQpIHtcblx0cmV0dXJuIG1hcERvbWFpbihpbnB1dCwgZnVuY3Rpb24oc3RyaW5nKSB7XG5cdFx0cmV0dXJuIHJlZ2V4UHVueWNvZGUudGVzdChzdHJpbmcpXG5cdFx0XHQ/IGRlY29kZShzdHJpbmcuc2xpY2UoNCkudG9Mb3dlckNhc2UoKSlcblx0XHRcdDogc3RyaW5nO1xuXHR9KTtcbn07XG5cbi8qKlxuICogQ29udmVydHMgYSBVbmljb2RlIHN0cmluZyByZXByZXNlbnRpbmcgYSBkb21haW4gbmFtZSBvciBhbiBlbWFpbCBhZGRyZXNzIHRvXG4gKiBQdW55Y29kZS4gT25seSB0aGUgbm9uLUFTQ0lJIHBhcnRzIG9mIHRoZSBkb21haW4gbmFtZSB3aWxsIGJlIGNvbnZlcnRlZCxcbiAqIGkuZS4gaXQgZG9lc24ndCBtYXR0ZXIgaWYgeW91IGNhbGwgaXQgd2l0aCBhIGRvbWFpbiB0aGF0J3MgYWxyZWFkeSBpblxuICogQVNDSUkuXG4gKiBAbWVtYmVyT2YgcHVueWNvZGVcbiAqIEBwYXJhbSB7U3RyaW5nfSBpbnB1dCBUaGUgZG9tYWluIG5hbWUgb3IgZW1haWwgYWRkcmVzcyB0byBjb252ZXJ0LCBhcyBhXG4gKiBVbmljb2RlIHN0cmluZy5cbiAqIEByZXR1cm5zIHtTdHJpbmd9IFRoZSBQdW55Y29kZSByZXByZXNlbnRhdGlvbiBvZiB0aGUgZ2l2ZW4gZG9tYWluIG5hbWUgb3JcbiAqIGVtYWlsIGFkZHJlc3MuXG4gKi9cbmNvbnN0IHRvQVNDSUkgPSBmdW5jdGlvbihpbnB1dCkge1xuXHRyZXR1cm4gbWFwRG9tYWluKGlucHV0LCBmdW5jdGlvbihzdHJpbmcpIHtcblx0XHRyZXR1cm4gcmVnZXhOb25BU0NJSS50ZXN0KHN0cmluZylcblx0XHRcdD8gJ3huLS0nICsgZW5jb2RlKHN0cmluZylcblx0XHRcdDogc3RyaW5nO1xuXHR9KTtcbn07XG5cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuXG4vKiogRGVmaW5lIHRoZSBwdWJsaWMgQVBJICovXG5jb25zdCBwdW55Y29kZSA9IHtcblx0LyoqXG5cdCAqIEEgc3RyaW5nIHJlcHJlc2VudGluZyB0aGUgY3VycmVudCBQdW55Y29kZS5qcyB2ZXJzaW9uIG51bWJlci5cblx0ICogQG1lbWJlck9mIHB1bnljb2RlXG5cdCAqIEB0eXBlIFN0cmluZ1xuXHQgKi9cblx0J3ZlcnNpb24nOiAnMi4xLjAnLFxuXHQvKipcblx0ICogQW4gb2JqZWN0IG9mIG1ldGhvZHMgdG8gY29udmVydCBmcm9tIEphdmFTY3JpcHQncyBpbnRlcm5hbCBjaGFyYWN0ZXJcblx0ICogcmVwcmVzZW50YXRpb24gKFVDUy0yKSB0byBVbmljb2RlIGNvZGUgcG9pbnRzLCBhbmQgYmFjay5cblx0ICogQHNlZSA8aHR0cHM6Ly9tYXRoaWFzYnluZW5zLmJlL25vdGVzL2phdmFzY3JpcHQtZW5jb2Rpbmc+XG5cdCAqIEBtZW1iZXJPZiBwdW55Y29kZVxuXHQgKiBAdHlwZSBPYmplY3Rcblx0ICovXG5cdCd1Y3MyJzoge1xuXHRcdCdkZWNvZGUnOiB1Y3MyZGVjb2RlLFxuXHRcdCdlbmNvZGUnOiB1Y3MyZW5jb2RlXG5cdH0sXG5cdCdkZWNvZGUnOiBkZWNvZGUsXG5cdCdlbmNvZGUnOiBlbmNvZGUsXG5cdCd0b0FTQ0lJJzogdG9BU0NJSSxcblx0J3RvVW5pY29kZSc6IHRvVW5pY29kZVxufTtcblxuZXhwb3J0IGRlZmF1bHQgcHVueWNvZGU7XG4iLCAiaW1wb3J0IHsgVVJJUmVnRXhwcyB9IGZyb20gXCIuL3VyaVwiO1xuaW1wb3J0IHsgYnVpbGRFeHBzIH0gZnJvbSBcIi4vcmVnZXhwcy11cmlcIjtcblxuZXhwb3J0IGRlZmF1bHQgYnVpbGRFeHBzKHRydWUpO1xuIiwgImltcG9ydCB7IFVSSVJlZ0V4cHMgfSBmcm9tIFwiLi91cmlcIjtcbmltcG9ydCB7IG1lcmdlLCBzdWJleHAgfSBmcm9tIFwiLi91dGlsXCI7XG5cbmV4cG9ydCBmdW5jdGlvbiBidWlsZEV4cHMoaXNJUkk6Ym9vbGVhbik6VVJJUmVnRXhwcyB7XG5cdGNvbnN0XG5cdFx0QUxQSEEkJCA9IFwiW0EtWmEtel1cIixcblx0XHRDUiQgPSBcIltcXFxceDBEXVwiLFxuXHRcdERJR0lUJCQgPSBcIlswLTldXCIsXG5cdFx0RFFVT1RFJCQgPSBcIltcXFxceDIyXVwiLFxuXHRcdEhFWERJRyQkID0gbWVyZ2UoRElHSVQkJCwgXCJbQS1GYS1mXVwiKSwgIC8vY2FzZS1pbnNlbnNpdGl2ZVxuXHRcdExGJCQgPSBcIltcXFxceDBBXVwiLFxuXHRcdFNQJCQgPSBcIltcXFxceDIwXVwiLFxuXHRcdFBDVF9FTkNPREVEJCA9IHN1YmV4cChzdWJleHAoXCIlW0VGZWZdXCIgKyBIRVhESUckJCArIFwiJVwiICsgSEVYRElHJCQgKyBIRVhESUckJCArIFwiJVwiICsgSEVYRElHJCQgKyBIRVhESUckJCkgKyBcInxcIiArIHN1YmV4cChcIiVbODlBLUZhLWZdXCIgKyBIRVhESUckJCArIFwiJVwiICsgSEVYRElHJCQgKyBIRVhESUckJCkgKyBcInxcIiArIHN1YmV4cChcIiVcIiArIEhFWERJRyQkICsgSEVYRElHJCQpKSwgIC8vZXhwYW5kZWRcblx0XHRHRU5fREVMSU1TJCQgPSBcIltcXFxcOlxcXFwvXFxcXD9cXFxcI1xcXFxbXFxcXF1cXFxcQF1cIixcblx0XHRTVUJfREVMSU1TJCQgPSBcIltcXFxcIVxcXFwkXFxcXCZcXFxcJ1xcXFwoXFxcXClcXFxcKlxcXFwrXFxcXCxcXFxcO1xcXFw9XVwiLFxuXHRcdFJFU0VSVkVEJCQgPSBtZXJnZShHRU5fREVMSU1TJCQsIFNVQl9ERUxJTVMkJCksXG5cdFx0VUNTQ0hBUiQkID0gaXNJUkkgPyBcIltcXFxceEEwLVxcXFx1MjAwRFxcXFx1MjAxMC1cXFxcdTIwMjlcXFxcdTIwMkYtXFxcXHVEN0ZGXFxcXHVGOTAwLVxcXFx1RkRDRlxcXFx1RkRGMC1cXFxcdUZGRUZdXCIgOiBcIltdXCIsICAvL3N1YnNldCwgZXhjbHVkZXMgYmlkaSBjb250cm9sIGNoYXJhY3RlcnNcblx0XHRJUFJJVkFURSQkID0gaXNJUkkgPyBcIltcXFxcdUUwMDAtXFxcXHVGOEZGXVwiIDogXCJbXVwiLCAgLy9zdWJzZXRcblx0XHRVTlJFU0VSVkVEJCQgPSBtZXJnZShBTFBIQSQkLCBESUdJVCQkLCBcIltcXFxcLVxcXFwuXFxcXF9cXFxcfl1cIiwgVUNTQ0hBUiQkKSxcblx0XHRTQ0hFTUUkID0gc3ViZXhwKEFMUEhBJCQgKyBtZXJnZShBTFBIQSQkLCBESUdJVCQkLCBcIltcXFxcK1xcXFwtXFxcXC5dXCIpICsgXCIqXCIpLFxuXHRcdFVTRVJJTkZPJCA9IHN1YmV4cChzdWJleHAoUENUX0VOQ09ERUQkICsgXCJ8XCIgKyBtZXJnZShVTlJFU0VSVkVEJCQsIFNVQl9ERUxJTVMkJCwgXCJbXFxcXDpdXCIpKSArIFwiKlwiKSxcblx0XHRERUNfT0NURVQkID0gc3ViZXhwKHN1YmV4cChcIjI1WzAtNV1cIikgKyBcInxcIiArIHN1YmV4cChcIjJbMC00XVwiICsgRElHSVQkJCkgKyBcInxcIiArIHN1YmV4cChcIjFcIiArIERJR0lUJCQgKyBESUdJVCQkKSArIFwifFwiICsgc3ViZXhwKFwiWzEtOV1cIiArIERJR0lUJCQpICsgXCJ8XCIgKyBESUdJVCQkKSxcblx0XHRERUNfT0NURVRfUkVMQVhFRCQgPSBzdWJleHAoc3ViZXhwKFwiMjVbMC01XVwiKSArIFwifFwiICsgc3ViZXhwKFwiMlswLTRdXCIgKyBESUdJVCQkKSArIFwifFwiICsgc3ViZXhwKFwiMVwiICsgRElHSVQkJCArIERJR0lUJCQpICsgXCJ8XCIgKyBzdWJleHAoXCIwP1sxLTldXCIgKyBESUdJVCQkKSArIFwifDA/MD9cIiArIERJR0lUJCQpLCAgLy9yZWxheGVkIHBhcnNpbmcgcnVsZXNcblx0XHRJUFY0QUREUkVTUyQgPSBzdWJleHAoREVDX09DVEVUX1JFTEFYRUQkICsgXCJcXFxcLlwiICsgREVDX09DVEVUX1JFTEFYRUQkICsgXCJcXFxcLlwiICsgREVDX09DVEVUX1JFTEFYRUQkICsgXCJcXFxcLlwiICsgREVDX09DVEVUX1JFTEFYRUQkKSxcblx0XHRIMTYkID0gc3ViZXhwKEhFWERJRyQkICsgXCJ7MSw0fVwiKSxcblx0XHRMUzMyJCA9IHN1YmV4cChzdWJleHAoSDE2JCArIFwiXFxcXDpcIiArIEgxNiQpICsgXCJ8XCIgKyBJUFY0QUREUkVTUyQpLFxuXHRcdElQVjZBRERSRVNTMSQgPSBzdWJleHAoICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3ViZXhwKEgxNiQgKyBcIlxcXFw6XCIpICsgXCJ7Nn1cIiArIExTMzIkKSwgLy8gICAgICAgICAgICAgICAgICAgICAgICAgICA2KCBoMTYgXCI6XCIgKSBsczMyXG5cdFx0SVBWNkFERFJFU1MyJCA9IHN1YmV4cCggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJcXFxcOlxcXFw6XCIgKyBzdWJleHAoSDE2JCArIFwiXFxcXDpcIikgKyBcIns1fVwiICsgTFMzMiQpLCAvLyAgICAgICAgICAgICAgICAgICAgICBcIjo6XCIgNSggaDE2IFwiOlwiICkgbHMzMlxuXHRcdElQVjZBRERSRVNTMyQgPSBzdWJleHAoc3ViZXhwKCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEgxNiQpICsgXCI/XFxcXDpcXFxcOlwiICsgc3ViZXhwKEgxNiQgKyBcIlxcXFw6XCIpICsgXCJ7NH1cIiArIExTMzIkKSwgLy9bICAgICAgICAgICAgICAgaDE2IF0gXCI6OlwiIDQoIGgxNiBcIjpcIiApIGxzMzJcblx0XHRJUFY2QUREUkVTUzQkID0gc3ViZXhwKHN1YmV4cChzdWJleHAoSDE2JCArIFwiXFxcXDpcIikgKyBcInswLDF9XCIgKyBIMTYkKSArIFwiP1xcXFw6XFxcXDpcIiArIHN1YmV4cChIMTYkICsgXCJcXFxcOlwiKSArIFwiezN9XCIgKyBMUzMyJCksIC8vWyAqMSggaDE2IFwiOlwiICkgaDE2IF0gXCI6OlwiIDMoIGgxNiBcIjpcIiApIGxzMzJcblx0XHRJUFY2QUREUkVTUzUkID0gc3ViZXhwKHN1YmV4cChzdWJleHAoSDE2JCArIFwiXFxcXDpcIikgKyBcInswLDJ9XCIgKyBIMTYkKSArIFwiP1xcXFw6XFxcXDpcIiArIHN1YmV4cChIMTYkICsgXCJcXFxcOlwiKSArIFwiezJ9XCIgKyBMUzMyJCksIC8vWyAqMiggaDE2IFwiOlwiICkgaDE2IF0gXCI6OlwiIDIoIGgxNiBcIjpcIiApIGxzMzJcblx0XHRJUFY2QUREUkVTUzYkID0gc3ViZXhwKHN1YmV4cChzdWJleHAoSDE2JCArIFwiXFxcXDpcIikgKyBcInswLDN9XCIgKyBIMTYkKSArIFwiP1xcXFw6XFxcXDpcIiArICAgICAgICBIMTYkICsgXCJcXFxcOlwiICAgICAgICAgICsgTFMzMiQpLCAvL1sgKjMoIGgxNiBcIjpcIiApIGgxNiBdIFwiOjpcIiAgICBoMTYgXCI6XCIgICBsczMyXG5cdFx0SVBWNkFERFJFU1M3JCA9IHN1YmV4cChzdWJleHAoc3ViZXhwKEgxNiQgKyBcIlxcXFw6XCIpICsgXCJ7MCw0fVwiICsgSDE2JCkgKyBcIj9cXFxcOlxcXFw6XCIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICsgTFMzMiQpLCAvL1sgKjQoIGgxNiBcIjpcIiApIGgxNiBdIFwiOjpcIiAgICAgICAgICAgICAgbHMzMlxuXHRcdElQVjZBRERSRVNTOCQgPSBzdWJleHAoc3ViZXhwKHN1YmV4cChIMTYkICsgXCJcXFxcOlwiKSArIFwiezAsNX1cIiArIEgxNiQpICsgXCI/XFxcXDpcXFxcOlwiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICArIEgxNiQgKSwgLy9bICo1KCBoMTYgXCI6XCIgKSBoMTYgXSBcIjo6XCIgICAgICAgICAgICAgIGgxNlxuXHRcdElQVjZBRERSRVNTOSQgPSBzdWJleHAoc3ViZXhwKHN1YmV4cChIMTYkICsgXCJcXFxcOlwiKSArIFwiezAsNn1cIiArIEgxNiQpICsgXCI/XFxcXDpcXFxcOlwiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwgLy9bICo2KCBoMTYgXCI6XCIgKSBoMTYgXSBcIjo6XCJcblx0XHRJUFY2QUREUkVTUyQgPSBzdWJleHAoW0lQVjZBRERSRVNTMSQsIElQVjZBRERSRVNTMiQsIElQVjZBRERSRVNTMyQsIElQVjZBRERSRVNTNCQsIElQVjZBRERSRVNTNSQsIElQVjZBRERSRVNTNiQsIElQVjZBRERSRVNTNyQsIElQVjZBRERSRVNTOCQsIElQVjZBRERSRVNTOSRdLmpvaW4oXCJ8XCIpKSxcblx0XHRaT05FSUQkID0gc3ViZXhwKHN1YmV4cChVTlJFU0VSVkVEJCQgKyBcInxcIiArIFBDVF9FTkNPREVEJCkgKyBcIitcIiksICAvL1JGQyA2ODc0XG5cdFx0SVBWNkFERFJaJCA9IHN1YmV4cChJUFY2QUREUkVTUyQgKyBcIlxcXFwlMjVcIiArIFpPTkVJRCQpLCAgLy9SRkMgNjg3NFxuXHRcdElQVjZBRERSWl9SRUxBWEVEJCA9IHN1YmV4cChJUFY2QUREUkVTUyQgKyBzdWJleHAoXCJcXFxcJTI1fFxcXFwlKD8hXCIgKyBIRVhESUckJCArIFwiezJ9KVwiKSArIFpPTkVJRCQpLCAgLy9SRkMgNjg3NCwgd2l0aCByZWxheGVkIHBhcnNpbmcgcnVsZXNcblx0XHRJUFZGVVRVUkUkID0gc3ViZXhwKFwiW3ZWXVwiICsgSEVYRElHJCQgKyBcIitcXFxcLlwiICsgbWVyZ2UoVU5SRVNFUlZFRCQkLCBTVUJfREVMSU1TJCQsIFwiW1xcXFw6XVwiKSArIFwiK1wiKSxcblx0XHRJUF9MSVRFUkFMJCA9IHN1YmV4cChcIlxcXFxbXCIgKyBzdWJleHAoSVBWNkFERFJaX1JFTEFYRUQkICsgXCJ8XCIgKyBJUFY2QUREUkVTUyQgKyBcInxcIiArIElQVkZVVFVSRSQpICsgXCJcXFxcXVwiKSwgIC8vUkZDIDY4NzRcblx0XHRSRUdfTkFNRSQgPSBzdWJleHAoc3ViZXhwKFBDVF9FTkNPREVEJCArIFwifFwiICsgbWVyZ2UoVU5SRVNFUlZFRCQkLCBTVUJfREVMSU1TJCQpKSArIFwiKlwiKSxcblx0XHRIT1NUJCA9IHN1YmV4cChJUF9MSVRFUkFMJCArIFwifFwiICsgSVBWNEFERFJFU1MkICsgXCIoPyFcIiArIFJFR19OQU1FJCArIFwiKVwiICsgXCJ8XCIgKyBSRUdfTkFNRSQpLFxuXHRcdFBPUlQkID0gc3ViZXhwKERJR0lUJCQgKyBcIipcIiksXG5cdFx0QVVUSE9SSVRZJCA9IHN1YmV4cChzdWJleHAoVVNFUklORk8kICsgXCJAXCIpICsgXCI/XCIgKyBIT1NUJCArIHN1YmV4cChcIlxcXFw6XCIgKyBQT1JUJCkgKyBcIj9cIiksXG5cdFx0UENIQVIkID0gc3ViZXhwKFBDVF9FTkNPREVEJCArIFwifFwiICsgbWVyZ2UoVU5SRVNFUlZFRCQkLCBTVUJfREVMSU1TJCQsIFwiW1xcXFw6XFxcXEBdXCIpKSxcblx0XHRTRUdNRU5UJCA9IHN1YmV4cChQQ0hBUiQgKyBcIipcIiksXG5cdFx0U0VHTUVOVF9OWiQgPSBzdWJleHAoUENIQVIkICsgXCIrXCIpLFxuXHRcdFNFR01FTlRfTlpfTkMkID0gc3ViZXhwKHN1YmV4cChQQ1RfRU5DT0RFRCQgKyBcInxcIiArIG1lcmdlKFVOUkVTRVJWRUQkJCwgU1VCX0RFTElNUyQkLCBcIltcXFxcQF1cIikpICsgXCIrXCIpLFxuXHRcdFBBVEhfQUJFTVBUWSQgPSBzdWJleHAoc3ViZXhwKFwiXFxcXC9cIiArIFNFR01FTlQkKSArIFwiKlwiKSxcblx0XHRQQVRIX0FCU09MVVRFJCA9IHN1YmV4cChcIlxcXFwvXCIgKyBzdWJleHAoU0VHTUVOVF9OWiQgKyBQQVRIX0FCRU1QVFkkKSArIFwiP1wiKSwgIC8vc2ltcGxpZmllZFxuXHRcdFBBVEhfTk9TQ0hFTUUkID0gc3ViZXhwKFNFR01FTlRfTlpfTkMkICsgUEFUSF9BQkVNUFRZJCksICAvL3NpbXBsaWZpZWRcblx0XHRQQVRIX1JPT1RMRVNTJCA9IHN1YmV4cChTRUdNRU5UX05aJCArIFBBVEhfQUJFTVBUWSQpLCAgLy9zaW1wbGlmaWVkXG5cdFx0UEFUSF9FTVBUWSQgPSBcIig/IVwiICsgUENIQVIkICsgXCIpXCIsXG5cdFx0UEFUSCQgPSBzdWJleHAoUEFUSF9BQkVNUFRZJCArIFwifFwiICsgUEFUSF9BQlNPTFVURSQgKyBcInxcIiArIFBBVEhfTk9TQ0hFTUUkICsgXCJ8XCIgKyBQQVRIX1JPT1RMRVNTJCArIFwifFwiICsgUEFUSF9FTVBUWSQpLFxuXHRcdFFVRVJZJCA9IHN1YmV4cChzdWJleHAoUENIQVIkICsgXCJ8XCIgKyBtZXJnZShcIltcXFxcL1xcXFw/XVwiLCBJUFJJVkFURSQkKSkgKyBcIipcIiksXG5cdFx0RlJBR01FTlQkID0gc3ViZXhwKHN1YmV4cChQQ0hBUiQgKyBcInxbXFxcXC9cXFxcP11cIikgKyBcIipcIiksXG5cdFx0SElFUl9QQVJUJCA9IHN1YmV4cChzdWJleHAoXCJcXFxcL1xcXFwvXCIgKyBBVVRIT1JJVFkkICsgUEFUSF9BQkVNUFRZJCkgKyBcInxcIiArIFBBVEhfQUJTT0xVVEUkICsgXCJ8XCIgKyBQQVRIX1JPT1RMRVNTJCArIFwifFwiICsgUEFUSF9FTVBUWSQpLFxuXHRcdFVSSSQgPSBzdWJleHAoU0NIRU1FJCArIFwiXFxcXDpcIiArIEhJRVJfUEFSVCQgKyBzdWJleHAoXCJcXFxcP1wiICsgUVVFUlkkKSArIFwiP1wiICsgc3ViZXhwKFwiXFxcXCNcIiArIEZSQUdNRU5UJCkgKyBcIj9cIiksXG5cdFx0UkVMQVRJVkVfUEFSVCQgPSBzdWJleHAoc3ViZXhwKFwiXFxcXC9cXFxcL1wiICsgQVVUSE9SSVRZJCArIFBBVEhfQUJFTVBUWSQpICsgXCJ8XCIgKyBQQVRIX0FCU09MVVRFJCArIFwifFwiICsgUEFUSF9OT1NDSEVNRSQgKyBcInxcIiArIFBBVEhfRU1QVFkkKSxcblx0XHRSRUxBVElWRSQgPSBzdWJleHAoUkVMQVRJVkVfUEFSVCQgKyBzdWJleHAoXCJcXFxcP1wiICsgUVVFUlkkKSArIFwiP1wiICsgc3ViZXhwKFwiXFxcXCNcIiArIEZSQUdNRU5UJCkgKyBcIj9cIiksXG5cdFx0VVJJX1JFRkVSRU5DRSQgPSBzdWJleHAoVVJJJCArIFwifFwiICsgUkVMQVRJVkUkKSxcblx0XHRBQlNPTFVURV9VUkkkID0gc3ViZXhwKFNDSEVNRSQgKyBcIlxcXFw6XCIgKyBISUVSX1BBUlQkICsgc3ViZXhwKFwiXFxcXD9cIiArIFFVRVJZJCkgKyBcIj9cIiksXG5cblx0XHRHRU5FUklDX1JFRiQgPSBcIl4oXCIgKyBTQ0hFTUUkICsgXCIpXFxcXDpcIiArIHN1YmV4cChzdWJleHAoXCJcXFxcL1xcXFwvKFwiICsgc3ViZXhwKFwiKFwiICsgVVNFUklORk8kICsgXCIpQFwiKSArIFwiPyhcIiArIEhPU1QkICsgXCIpXCIgKyBzdWJleHAoXCJcXFxcOihcIiArIFBPUlQkICsgXCIpXCIpICsgXCI/KVwiKSArIFwiPyhcIiArIFBBVEhfQUJFTVBUWSQgKyBcInxcIiArIFBBVEhfQUJTT0xVVEUkICsgXCJ8XCIgKyBQQVRIX1JPT1RMRVNTJCArIFwifFwiICsgUEFUSF9FTVBUWSQgKyBcIilcIikgKyBzdWJleHAoXCJcXFxcPyhcIiArIFFVRVJZJCArIFwiKVwiKSArIFwiP1wiICsgc3ViZXhwKFwiXFxcXCMoXCIgKyBGUkFHTUVOVCQgKyBcIilcIikgKyBcIj8kXCIsXG5cdFx0UkVMQVRJVkVfUkVGJCA9IFwiXigpezB9XCIgKyBzdWJleHAoc3ViZXhwKFwiXFxcXC9cXFxcLyhcIiArIHN1YmV4cChcIihcIiArIFVTRVJJTkZPJCArIFwiKUBcIikgKyBcIj8oXCIgKyBIT1NUJCArIFwiKVwiICsgc3ViZXhwKFwiXFxcXDooXCIgKyBQT1JUJCArIFwiKVwiKSArIFwiPylcIikgKyBcIj8oXCIgKyBQQVRIX0FCRU1QVFkkICsgXCJ8XCIgKyBQQVRIX0FCU09MVVRFJCArIFwifFwiICsgUEFUSF9OT1NDSEVNRSQgKyBcInxcIiArIFBBVEhfRU1QVFkkICsgXCIpXCIpICsgc3ViZXhwKFwiXFxcXD8oXCIgKyBRVUVSWSQgKyBcIilcIikgKyBcIj9cIiArIHN1YmV4cChcIlxcXFwjKFwiICsgRlJBR01FTlQkICsgXCIpXCIpICsgXCI/JFwiLFxuXHRcdEFCU09MVVRFX1JFRiQgPSBcIl4oXCIgKyBTQ0hFTUUkICsgXCIpXFxcXDpcIiArIHN1YmV4cChzdWJleHAoXCJcXFxcL1xcXFwvKFwiICsgc3ViZXhwKFwiKFwiICsgVVNFUklORk8kICsgXCIpQFwiKSArIFwiPyhcIiArIEhPU1QkICsgXCIpXCIgKyBzdWJleHAoXCJcXFxcOihcIiArIFBPUlQkICsgXCIpXCIpICsgXCI/KVwiKSArIFwiPyhcIiArIFBBVEhfQUJFTVBUWSQgKyBcInxcIiArIFBBVEhfQUJTT0xVVEUkICsgXCJ8XCIgKyBQQVRIX1JPT1RMRVNTJCArIFwifFwiICsgUEFUSF9FTVBUWSQgKyBcIilcIikgKyBzdWJleHAoXCJcXFxcPyhcIiArIFFVRVJZJCArIFwiKVwiKSArIFwiPyRcIixcblx0XHRTQU1FRE9DX1JFRiQgPSBcIl5cIiArIHN1YmV4cChcIlxcXFwjKFwiICsgRlJBR01FTlQkICsgXCIpXCIpICsgXCI/JFwiLFxuXHRcdEFVVEhPUklUWV9SRUYkID0gXCJeXCIgKyBzdWJleHAoXCIoXCIgKyBVU0VSSU5GTyQgKyBcIilAXCIpICsgXCI/KFwiICsgSE9TVCQgKyBcIilcIiArIHN1YmV4cChcIlxcXFw6KFwiICsgUE9SVCQgKyBcIilcIikgKyBcIj8kXCJcblx0O1xuXG5cdHJldHVybiB7XG5cdFx0Tk9UX1NDSEVNRSA6IG5ldyBSZWdFeHAobWVyZ2UoXCJbXl1cIiwgQUxQSEEkJCwgRElHSVQkJCwgXCJbXFxcXCtcXFxcLVxcXFwuXVwiKSwgXCJnXCIpLFxuXHRcdE5PVF9VU0VSSU5GTyA6IG5ldyBSZWdFeHAobWVyZ2UoXCJbXlxcXFwlXFxcXDpdXCIsIFVOUkVTRVJWRUQkJCwgU1VCX0RFTElNUyQkKSwgXCJnXCIpLFxuXHRcdE5PVF9IT1NUIDogbmV3IFJlZ0V4cChtZXJnZShcIlteXFxcXCVcXFxcW1xcXFxdXFxcXDpdXCIsIFVOUkVTRVJWRUQkJCwgU1VCX0RFTElNUyQkKSwgXCJnXCIpLFxuXHRcdE5PVF9QQVRIIDogbmV3IFJlZ0V4cChtZXJnZShcIlteXFxcXCVcXFxcL1xcXFw6XFxcXEBdXCIsIFVOUkVTRVJWRUQkJCwgU1VCX0RFTElNUyQkKSwgXCJnXCIpLFxuXHRcdE5PVF9QQVRIX05PU0NIRU1FIDogbmV3IFJlZ0V4cChtZXJnZShcIlteXFxcXCVcXFxcL1xcXFxAXVwiLCBVTlJFU0VSVkVEJCQsIFNVQl9ERUxJTVMkJCksIFwiZ1wiKSxcblx0XHROT1RfUVVFUlkgOiBuZXcgUmVnRXhwKG1lcmdlKFwiW15cXFxcJV1cIiwgVU5SRVNFUlZFRCQkLCBTVUJfREVMSU1TJCQsIFwiW1xcXFw6XFxcXEBcXFxcL1xcXFw/XVwiLCBJUFJJVkFURSQkKSwgXCJnXCIpLFxuXHRcdE5PVF9GUkFHTUVOVCA6IG5ldyBSZWdFeHAobWVyZ2UoXCJbXlxcXFwlXVwiLCBVTlJFU0VSVkVEJCQsIFNVQl9ERUxJTVMkJCwgXCJbXFxcXDpcXFxcQFxcXFwvXFxcXD9dXCIpLCBcImdcIiksXG5cdFx0RVNDQVBFIDogbmV3IFJlZ0V4cChtZXJnZShcIlteXVwiLCBVTlJFU0VSVkVEJCQsIFNVQl9ERUxJTVMkJCksIFwiZ1wiKSxcblx0XHRVTlJFU0VSVkVEIDogbmV3IFJlZ0V4cChVTlJFU0VSVkVEJCQsIFwiZ1wiKSxcblx0XHRPVEhFUl9DSEFSUyA6IG5ldyBSZWdFeHAobWVyZ2UoXCJbXlxcXFwlXVwiLCBVTlJFU0VSVkVEJCQsIFJFU0VSVkVEJCQpLCBcImdcIiksXG5cdFx0UENUX0VOQ09ERUQgOiBuZXcgUmVnRXhwKFBDVF9FTkNPREVEJCwgXCJnXCIpLFxuXHRcdElQVjRBRERSRVNTIDogbmV3IFJlZ0V4cChcIl4oXCIgKyBJUFY0QUREUkVTUyQgKyBcIikkXCIpLFxuXHRcdElQVjZBRERSRVNTIDogbmV3IFJlZ0V4cChcIl5cXFxcWz8oXCIgKyBJUFY2QUREUkVTUyQgKyBcIilcIiArIHN1YmV4cChzdWJleHAoXCJcXFxcJTI1fFxcXFwlKD8hXCIgKyBIRVhESUckJCArIFwiezJ9KVwiKSArIFwiKFwiICsgWk9ORUlEJCArIFwiKVwiKSArIFwiP1xcXFxdPyRcIikgIC8vUkZDIDY4NzQsIHdpdGggcmVsYXhlZCBwYXJzaW5nIHJ1bGVzXG5cdH07XG59XG5cbmV4cG9ydCBkZWZhdWx0IGJ1aWxkRXhwcyhmYWxzZSk7XG4iLCAiZXhwb3J0IGZ1bmN0aW9uIG1lcmdlKC4uLnNldHM6QXJyYXk8c3RyaW5nPik6c3RyaW5nIHtcblx0aWYgKHNldHMubGVuZ3RoID4gMSkge1xuXHRcdHNldHNbMF0gPSBzZXRzWzBdLnNsaWNlKDAsIC0xKTtcblx0XHRjb25zdCB4bCA9IHNldHMubGVuZ3RoIC0gMTtcblx0XHRmb3IgKGxldCB4ID0gMTsgeCA8IHhsOyArK3gpIHtcblx0XHRcdHNldHNbeF0gPSBzZXRzW3hdLnNsaWNlKDEsIC0xKTtcblx0XHR9XG5cdFx0c2V0c1t4bF0gPSBzZXRzW3hsXS5zbGljZSgxKTtcblx0XHRyZXR1cm4gc2V0cy5qb2luKCcnKTtcblx0fSBlbHNlIHtcblx0XHRyZXR1cm4gc2V0c1swXTtcblx0fVxufVxuXG5leHBvcnQgZnVuY3Rpb24gc3ViZXhwKHN0cjpzdHJpbmcpOnN0cmluZyB7XG5cdHJldHVybiBcIig/OlwiICsgc3RyICsgXCIpXCI7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB0eXBlT2YobzphbnkpOnN0cmluZyB7XG5cdHJldHVybiBvID09PSB1bmRlZmluZWQgPyBcInVuZGVmaW5lZFwiIDogKG8gPT09IG51bGwgPyBcIm51bGxcIiA6IE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbChvKS5zcGxpdChcIiBcIikucG9wKCkuc3BsaXQoXCJdXCIpLnNoaWZ0KCkudG9Mb3dlckNhc2UoKSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB0b1VwcGVyQ2FzZShzdHI6c3RyaW5nKTpzdHJpbmcge1xuXHRyZXR1cm4gc3RyLnRvVXBwZXJDYXNlKCk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB0b0FycmF5KG9iajphbnkpOkFycmF5PGFueT4ge1xuXHRyZXR1cm4gb2JqICE9PSB1bmRlZmluZWQgJiYgb2JqICE9PSBudWxsID8gKG9iaiBpbnN0YW5jZW9mIEFycmF5ID8gb2JqIDogKHR5cGVvZiBvYmoubGVuZ3RoICE9PSBcIm51bWJlclwiIHx8IG9iai5zcGxpdCB8fCBvYmouc2V0SW50ZXJ2YWwgfHwgb2JqLmNhbGwgPyBbb2JqXSA6IEFycmF5LnByb3RvdHlwZS5zbGljZS5jYWxsKG9iaikpKSA6IFtdO1xufVxuXG5cbmV4cG9ydCBmdW5jdGlvbiBhc3NpZ24odGFyZ2V0OiBvYmplY3QsIHNvdXJjZTogYW55KTogYW55IHtcblx0Y29uc3Qgb2JqID0gdGFyZ2V0IGFzIGFueTtcblx0aWYgKHNvdXJjZSkge1xuXHRcdGZvciAoY29uc3Qga2V5IGluIHNvdXJjZSkge1xuXHRcdFx0b2JqW2tleV0gPSBzb3VyY2Vba2V5XTtcblx0XHR9XG5cdH1cblx0cmV0dXJuIG9iajtcbn0iLCAiJ3VzZSBzdHJpY3QnO1xuXG4vLyBkbyBub3QgZWRpdCAuanMgZmlsZXMgZGlyZWN0bHkgLSBlZGl0IHNyYy9pbmRleC5qc3RcblxuXG5cbm1vZHVsZS5leHBvcnRzID0gZnVuY3Rpb24gZXF1YWwoYSwgYikge1xuICBpZiAoYSA9PT0gYikgcmV0dXJuIHRydWU7XG5cbiAgaWYgKGEgJiYgYiAmJiB0eXBlb2YgYSA9PSAnb2JqZWN0JyAmJiB0eXBlb2YgYiA9PSAnb2JqZWN0Jykge1xuICAgIGlmIChhLmNvbnN0cnVjdG9yICE9PSBiLmNvbnN0cnVjdG9yKSByZXR1cm4gZmFsc2U7XG5cbiAgICB2YXIgbGVuZ3RoLCBpLCBrZXlzO1xuICAgIGlmIChBcnJheS5pc0FycmF5KGEpKSB7XG4gICAgICBsZW5ndGggPSBhLmxlbmd0aDtcbiAgICAgIGlmIChsZW5ndGggIT0gYi5sZW5ndGgpIHJldHVybiBmYWxzZTtcbiAgICAgIGZvciAoaSA9IGxlbmd0aDsgaS0tICE9PSAwOylcbiAgICAgICAgaWYgKCFlcXVhbChhW2ldLCBiW2ldKSkgcmV0dXJuIGZhbHNlO1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuXG5cblxuICAgIGlmIChhLmNvbnN0cnVjdG9yID09PSBSZWdFeHApIHJldHVybiBhLnNvdXJjZSA9PT0gYi5zb3VyY2UgJiYgYS5mbGFncyA9PT0gYi5mbGFncztcbiAgICBpZiAoYS52YWx1ZU9mICE9PSBPYmplY3QucHJvdG90eXBlLnZhbHVlT2YpIHJldHVybiBhLnZhbHVlT2YoKSA9PT0gYi52YWx1ZU9mKCk7XG4gICAgaWYgKGEudG9TdHJpbmcgIT09IE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcpIHJldHVybiBhLnRvU3RyaW5nKCkgPT09IGIudG9TdHJpbmcoKTtcblxuICAgIGtleXMgPSBPYmplY3Qua2V5cyhhKTtcbiAgICBsZW5ndGggPSBrZXlzLmxlbmd0aDtcbiAgICBpZiAobGVuZ3RoICE9PSBPYmplY3Qua2V5cyhiKS5sZW5ndGgpIHJldHVybiBmYWxzZTtcblxuICAgIGZvciAoaSA9IGxlbmd0aDsgaS0tICE9PSAwOylcbiAgICAgIGlmICghT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKGIsIGtleXNbaV0pKSByZXR1cm4gZmFsc2U7XG5cbiAgICBmb3IgKGkgPSBsZW5ndGg7IGktLSAhPT0gMDspIHtcbiAgICAgIHZhciBrZXkgPSBrZXlzW2ldO1xuXG4gICAgICBpZiAoIWVxdWFsKGFba2V5XSwgYltrZXldKSkgcmV0dXJuIGZhbHNlO1xuICAgIH1cblxuICAgIHJldHVybiB0cnVlO1xuICB9XG5cbiAgLy8gdHJ1ZSBpZiBib3RoIE5hTiwgZmFsc2Ugb3RoZXJ3aXNlXG4gIHJldHVybiBhIT09YSAmJiBiIT09Yjtcbn07XG4iLCAiJ3VzZSBzdHJpY3QnO1xuXG4vLyBodHRwczovL21hdGhpYXNieW5lbnMuYmUvbm90ZXMvamF2YXNjcmlwdC1lbmNvZGluZ1xuLy8gaHR0cHM6Ly9naXRodWIuY29tL2Jlc3RpZWpzL3B1bnljb2RlLmpzIC0gcHVueWNvZGUudWNzMi5kZWNvZGVcbm1vZHVsZS5leHBvcnRzID0gZnVuY3Rpb24gdWNzMmxlbmd0aChzdHIpIHtcbiAgdmFyIGxlbmd0aCA9IDBcbiAgICAsIGxlbiA9IHN0ci5sZW5ndGhcbiAgICAsIHBvcyA9IDBcbiAgICAsIHZhbHVlO1xuICB3aGlsZSAocG9zIDwgbGVuKSB7XG4gICAgbGVuZ3RoKys7XG4gICAgdmFsdWUgPSBzdHIuY2hhckNvZGVBdChwb3MrKyk7XG4gICAgaWYgKHZhbHVlID49IDB4RDgwMCAmJiB2YWx1ZSA8PSAweERCRkYgJiYgcG9zIDwgbGVuKSB7XG4gICAgICAvLyBoaWdoIHN1cnJvZ2F0ZSwgYW5kIHRoZXJlIGlzIGEgbmV4dCBjaGFyYWN0ZXJcbiAgICAgIHZhbHVlID0gc3RyLmNoYXJDb2RlQXQocG9zKTtcbiAgICAgIGlmICgodmFsdWUgJiAweEZDMDApID09IDB4REMwMCkgcG9zKys7IC8vIGxvdyBzdXJyb2dhdGVcbiAgICB9XG4gIH1cbiAgcmV0dXJuIGxlbmd0aDtcbn07XG4iLCAiJ3VzZSBzdHJpY3QnO1xuXG5cbm1vZHVsZS5leHBvcnRzID0ge1xuICBjb3B5OiBjb3B5LFxuICBjaGVja0RhdGFUeXBlOiBjaGVja0RhdGFUeXBlLFxuICBjaGVja0RhdGFUeXBlczogY2hlY2tEYXRhVHlwZXMsXG4gIGNvZXJjZVRvVHlwZXM6IGNvZXJjZVRvVHlwZXMsXG4gIHRvSGFzaDogdG9IYXNoLFxuICBnZXRQcm9wZXJ0eTogZ2V0UHJvcGVydHksXG4gIGVzY2FwZVF1b3RlczogZXNjYXBlUXVvdGVzLFxuICBlcXVhbDogcmVxdWlyZSgnZmFzdC1kZWVwLWVxdWFsJyksXG4gIHVjczJsZW5ndGg6IHJlcXVpcmUoJy4vdWNzMmxlbmd0aCcpLFxuICB2YXJPY2N1cmVuY2VzOiB2YXJPY2N1cmVuY2VzLFxuICB2YXJSZXBsYWNlOiB2YXJSZXBsYWNlLFxuICBzY2hlbWFIYXNSdWxlczogc2NoZW1hSGFzUnVsZXMsXG4gIHNjaGVtYUhhc1J1bGVzRXhjZXB0OiBzY2hlbWFIYXNSdWxlc0V4Y2VwdCxcbiAgc2NoZW1hVW5rbm93blJ1bGVzOiBzY2hlbWFVbmtub3duUnVsZXMsXG4gIHRvUXVvdGVkU3RyaW5nOiB0b1F1b3RlZFN0cmluZyxcbiAgZ2V0UGF0aEV4cHI6IGdldFBhdGhFeHByLFxuICBnZXRQYXRoOiBnZXRQYXRoLFxuICBnZXREYXRhOiBnZXREYXRhLFxuICB1bmVzY2FwZUZyYWdtZW50OiB1bmVzY2FwZUZyYWdtZW50LFxuICB1bmVzY2FwZUpzb25Qb2ludGVyOiB1bmVzY2FwZUpzb25Qb2ludGVyLFxuICBlc2NhcGVGcmFnbWVudDogZXNjYXBlRnJhZ21lbnQsXG4gIGVzY2FwZUpzb25Qb2ludGVyOiBlc2NhcGVKc29uUG9pbnRlclxufTtcblxuXG5mdW5jdGlvbiBjb3B5KG8sIHRvKSB7XG4gIHRvID0gdG8gfHwge307XG4gIGZvciAodmFyIGtleSBpbiBvKSB0b1trZXldID0gb1trZXldO1xuICByZXR1cm4gdG87XG59XG5cblxuZnVuY3Rpb24gY2hlY2tEYXRhVHlwZShkYXRhVHlwZSwgZGF0YSwgc3RyaWN0TnVtYmVycywgbmVnYXRlKSB7XG4gIHZhciBFUVVBTCA9IG5lZ2F0ZSA/ICcgIT09ICcgOiAnID09PSAnXG4gICAgLCBBTkQgPSBuZWdhdGUgPyAnIHx8ICcgOiAnICYmICdcbiAgICAsIE9LID0gbmVnYXRlID8gJyEnIDogJydcbiAgICAsIE5PVCA9IG5lZ2F0ZSA/ICcnIDogJyEnO1xuICBzd2l0Y2ggKGRhdGFUeXBlKSB7XG4gICAgY2FzZSAnbnVsbCc6IHJldHVybiBkYXRhICsgRVFVQUwgKyAnbnVsbCc7XG4gICAgY2FzZSAnYXJyYXknOiByZXR1cm4gT0sgKyAnQXJyYXkuaXNBcnJheSgnICsgZGF0YSArICcpJztcbiAgICBjYXNlICdvYmplY3QnOiByZXR1cm4gJygnICsgT0sgKyBkYXRhICsgQU5EICtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGVvZiAnICsgZGF0YSArIEVRVUFMICsgJ1wib2JqZWN0XCInICsgQU5EICtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgTk9UICsgJ0FycmF5LmlzQXJyYXkoJyArIGRhdGEgKyAnKSknO1xuICAgIGNhc2UgJ2ludGVnZXInOiByZXR1cm4gJyh0eXBlb2YgJyArIGRhdGEgKyBFUVVBTCArICdcIm51bWJlclwiJyArIEFORCArXG4gICAgICAgICAgICAgICAgICAgICAgICAgICBOT1QgKyAnKCcgKyBkYXRhICsgJyAlIDEpJyArXG4gICAgICAgICAgICAgICAgICAgICAgICAgICBBTkQgKyBkYXRhICsgRVFVQUwgKyBkYXRhICtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgIChzdHJpY3ROdW1iZXJzID8gKEFORCArIE9LICsgJ2lzRmluaXRlKCcgKyBkYXRhICsgJyknKSA6ICcnKSArICcpJztcbiAgICBjYXNlICdudW1iZXInOiByZXR1cm4gJyh0eXBlb2YgJyArIGRhdGEgKyBFUVVBTCArICdcIicgKyBkYXRhVHlwZSArICdcIicgK1xuICAgICAgICAgICAgICAgICAgICAgICAgICAoc3RyaWN0TnVtYmVycyA/IChBTkQgKyBPSyArICdpc0Zpbml0ZSgnICsgZGF0YSArICcpJykgOiAnJykgKyAnKSc7XG4gICAgZGVmYXVsdDogcmV0dXJuICd0eXBlb2YgJyArIGRhdGEgKyBFUVVBTCArICdcIicgKyBkYXRhVHlwZSArICdcIic7XG4gIH1cbn1cblxuXG5mdW5jdGlvbiBjaGVja0RhdGFUeXBlcyhkYXRhVHlwZXMsIGRhdGEsIHN0cmljdE51bWJlcnMpIHtcbiAgc3dpdGNoIChkYXRhVHlwZXMubGVuZ3RoKSB7XG4gICAgY2FzZSAxOiByZXR1cm4gY2hlY2tEYXRhVHlwZShkYXRhVHlwZXNbMF0sIGRhdGEsIHN0cmljdE51bWJlcnMsIHRydWUpO1xuICAgIGRlZmF1bHQ6XG4gICAgICB2YXIgY29kZSA9ICcnO1xuICAgICAgdmFyIHR5cGVzID0gdG9IYXNoKGRhdGFUeXBlcyk7XG4gICAgICBpZiAodHlwZXMuYXJyYXkgJiYgdHlwZXMub2JqZWN0KSB7XG4gICAgICAgIGNvZGUgPSB0eXBlcy5udWxsID8gJygnOiAnKCEnICsgZGF0YSArICcgfHwgJztcbiAgICAgICAgY29kZSArPSAndHlwZW9mICcgKyBkYXRhICsgJyAhPT0gXCJvYmplY3RcIiknO1xuICAgICAgICBkZWxldGUgdHlwZXMubnVsbDtcbiAgICAgICAgZGVsZXRlIHR5cGVzLmFycmF5O1xuICAgICAgICBkZWxldGUgdHlwZXMub2JqZWN0O1xuICAgICAgfVxuICAgICAgaWYgKHR5cGVzLm51bWJlcikgZGVsZXRlIHR5cGVzLmludGVnZXI7XG4gICAgICBmb3IgKHZhciB0IGluIHR5cGVzKVxuICAgICAgICBjb2RlICs9IChjb2RlID8gJyAmJiAnIDogJycgKSArIGNoZWNrRGF0YVR5cGUodCwgZGF0YSwgc3RyaWN0TnVtYmVycywgdHJ1ZSk7XG5cbiAgICAgIHJldHVybiBjb2RlO1xuICB9XG59XG5cblxudmFyIENPRVJDRV9UT19UWVBFUyA9IHRvSGFzaChbICdzdHJpbmcnLCAnbnVtYmVyJywgJ2ludGVnZXInLCAnYm9vbGVhbicsICdudWxsJyBdKTtcbmZ1bmN0aW9uIGNvZXJjZVRvVHlwZXMob3B0aW9uQ29lcmNlVHlwZXMsIGRhdGFUeXBlcykge1xuICBpZiAoQXJyYXkuaXNBcnJheShkYXRhVHlwZXMpKSB7XG4gICAgdmFyIHR5cGVzID0gW107XG4gICAgZm9yICh2YXIgaT0wOyBpPGRhdGFUeXBlcy5sZW5ndGg7IGkrKykge1xuICAgICAgdmFyIHQgPSBkYXRhVHlwZXNbaV07XG4gICAgICBpZiAoQ09FUkNFX1RPX1RZUEVTW3RdKSB0eXBlc1t0eXBlcy5sZW5ndGhdID0gdDtcbiAgICAgIGVsc2UgaWYgKG9wdGlvbkNvZXJjZVR5cGVzID09PSAnYXJyYXknICYmIHQgPT09ICdhcnJheScpIHR5cGVzW3R5cGVzLmxlbmd0aF0gPSB0O1xuICAgIH1cbiAgICBpZiAodHlwZXMubGVuZ3RoKSByZXR1cm4gdHlwZXM7XG4gIH0gZWxzZSBpZiAoQ09FUkNFX1RPX1RZUEVTW2RhdGFUeXBlc10pIHtcbiAgICByZXR1cm4gW2RhdGFUeXBlc107XG4gIH0gZWxzZSBpZiAob3B0aW9uQ29lcmNlVHlwZXMgPT09ICdhcnJheScgJiYgZGF0YVR5cGVzID09PSAnYXJyYXknKSB7XG4gICAgcmV0dXJuIFsnYXJyYXknXTtcbiAgfVxufVxuXG5cbmZ1bmN0aW9uIHRvSGFzaChhcnIpIHtcbiAgdmFyIGhhc2ggPSB7fTtcbiAgZm9yICh2YXIgaT0wOyBpPGFyci5sZW5ndGg7IGkrKykgaGFzaFthcnJbaV1dID0gdHJ1ZTtcbiAgcmV0dXJuIGhhc2g7XG59XG5cblxudmFyIElERU5USUZJRVIgPSAvXlthLXokX11bYS16JF8wLTldKiQvaTtcbnZhciBTSU5HTEVfUVVPVEUgPSAvJ3xcXFxcL2c7XG5mdW5jdGlvbiBnZXRQcm9wZXJ0eShrZXkpIHtcbiAgcmV0dXJuIHR5cGVvZiBrZXkgPT0gJ251bWJlcidcbiAgICAgICAgICA/ICdbJyArIGtleSArICddJ1xuICAgICAgICAgIDogSURFTlRJRklFUi50ZXN0KGtleSlcbiAgICAgICAgICAgID8gJy4nICsga2V5XG4gICAgICAgICAgICA6IFwiWydcIiArIGVzY2FwZVF1b3RlcyhrZXkpICsgXCInXVwiO1xufVxuXG5cbmZ1bmN0aW9uIGVzY2FwZVF1b3RlcyhzdHIpIHtcbiAgcmV0dXJuIHN0ci5yZXBsYWNlKFNJTkdMRV9RVU9URSwgJ1xcXFwkJicpXG4gICAgICAgICAgICAucmVwbGFjZSgvXFxuL2csICdcXFxcbicpXG4gICAgICAgICAgICAucmVwbGFjZSgvXFxyL2csICdcXFxccicpXG4gICAgICAgICAgICAucmVwbGFjZSgvXFxmL2csICdcXFxcZicpXG4gICAgICAgICAgICAucmVwbGFjZSgvXFx0L2csICdcXFxcdCcpO1xufVxuXG5cbmZ1bmN0aW9uIHZhck9jY3VyZW5jZXMoc3RyLCBkYXRhVmFyKSB7XG4gIGRhdGFWYXIgKz0gJ1teMC05XSc7XG4gIHZhciBtYXRjaGVzID0gc3RyLm1hdGNoKG5ldyBSZWdFeHAoZGF0YVZhciwgJ2cnKSk7XG4gIHJldHVybiBtYXRjaGVzID8gbWF0Y2hlcy5sZW5ndGggOiAwO1xufVxuXG5cbmZ1bmN0aW9uIHZhclJlcGxhY2Uoc3RyLCBkYXRhVmFyLCBleHByKSB7XG4gIGRhdGFWYXIgKz0gJyhbXjAtOV0pJztcbiAgZXhwciA9IGV4cHIucmVwbGFjZSgvXFwkL2csICckJCQkJyk7XG4gIHJldHVybiBzdHIucmVwbGFjZShuZXcgUmVnRXhwKGRhdGFWYXIsICdnJyksIGV4cHIgKyAnJDEnKTtcbn1cblxuXG5mdW5jdGlvbiBzY2hlbWFIYXNSdWxlcyhzY2hlbWEsIHJ1bGVzKSB7XG4gIGlmICh0eXBlb2Ygc2NoZW1hID09ICdib29sZWFuJykgcmV0dXJuICFzY2hlbWE7XG4gIGZvciAodmFyIGtleSBpbiBzY2hlbWEpIGlmIChydWxlc1trZXldKSByZXR1cm4gdHJ1ZTtcbn1cblxuXG5mdW5jdGlvbiBzY2hlbWFIYXNSdWxlc0V4Y2VwdChzY2hlbWEsIHJ1bGVzLCBleGNlcHRLZXl3b3JkKSB7XG4gIGlmICh0eXBlb2Ygc2NoZW1hID09ICdib29sZWFuJykgcmV0dXJuICFzY2hlbWEgJiYgZXhjZXB0S2V5d29yZCAhPSAnbm90JztcbiAgZm9yICh2YXIga2V5IGluIHNjaGVtYSkgaWYgKGtleSAhPSBleGNlcHRLZXl3b3JkICYmIHJ1bGVzW2tleV0pIHJldHVybiB0cnVlO1xufVxuXG5cbmZ1bmN0aW9uIHNjaGVtYVVua25vd25SdWxlcyhzY2hlbWEsIHJ1bGVzKSB7XG4gIGlmICh0eXBlb2Ygc2NoZW1hID09ICdib29sZWFuJykgcmV0dXJuO1xuICBmb3IgKHZhciBrZXkgaW4gc2NoZW1hKSBpZiAoIXJ1bGVzW2tleV0pIHJldHVybiBrZXk7XG59XG5cblxuZnVuY3Rpb24gdG9RdW90ZWRTdHJpbmcoc3RyKSB7XG4gIHJldHVybiAnXFwnJyArIGVzY2FwZVF1b3RlcyhzdHIpICsgJ1xcJyc7XG59XG5cblxuZnVuY3Rpb24gZ2V0UGF0aEV4cHIoY3VycmVudFBhdGgsIGV4cHIsIGpzb25Qb2ludGVycywgaXNOdW1iZXIpIHtcbiAgdmFyIHBhdGggPSBqc29uUG9pbnRlcnMgLy8gZmFsc2UgYnkgZGVmYXVsdFxuICAgICAgICAgICAgICA/ICdcXCcvXFwnICsgJyArIGV4cHIgKyAoaXNOdW1iZXIgPyAnJyA6ICcucmVwbGFjZSgvfi9nLCBcXCd+MFxcJykucmVwbGFjZSgvXFxcXC8vZywgXFwnfjFcXCcpJylcbiAgICAgICAgICAgICAgOiAoaXNOdW1iZXIgPyAnXFwnW1xcJyArICcgKyBleHByICsgJyArIFxcJ11cXCcnIDogJ1xcJ1tcXFxcXFwnXFwnICsgJyArIGV4cHIgKyAnICsgXFwnXFxcXFxcJ11cXCcnKTtcbiAgcmV0dXJuIGpvaW5QYXRocyhjdXJyZW50UGF0aCwgcGF0aCk7XG59XG5cblxuZnVuY3Rpb24gZ2V0UGF0aChjdXJyZW50UGF0aCwgcHJvcCwganNvblBvaW50ZXJzKSB7XG4gIHZhciBwYXRoID0ganNvblBvaW50ZXJzIC8vIGZhbHNlIGJ5IGRlZmF1bHRcbiAgICAgICAgICAgICAgPyB0b1F1b3RlZFN0cmluZygnLycgKyBlc2NhcGVKc29uUG9pbnRlcihwcm9wKSlcbiAgICAgICAgICAgICAgOiB0b1F1b3RlZFN0cmluZyhnZXRQcm9wZXJ0eShwcm9wKSk7XG4gIHJldHVybiBqb2luUGF0aHMoY3VycmVudFBhdGgsIHBhdGgpO1xufVxuXG5cbnZhciBKU09OX1BPSU5URVIgPSAvXlxcLyg/Oltefl18fjB8fjEpKiQvO1xudmFyIFJFTEFUSVZFX0pTT05fUE9JTlRFUiA9IC9eKFswLTldKykoI3xcXC8oPzpbXn5dfH4wfH4xKSopPyQvO1xuZnVuY3Rpb24gZ2V0RGF0YSgkZGF0YSwgbHZsLCBwYXRocykge1xuICB2YXIgdXAsIGpzb25Qb2ludGVyLCBkYXRhLCBtYXRjaGVzO1xuICBpZiAoJGRhdGEgPT09ICcnKSByZXR1cm4gJ3Jvb3REYXRhJztcbiAgaWYgKCRkYXRhWzBdID09ICcvJykge1xuICAgIGlmICghSlNPTl9QT0lOVEVSLnRlc3QoJGRhdGEpKSB0aHJvdyBuZXcgRXJyb3IoJ0ludmFsaWQgSlNPTi1wb2ludGVyOiAnICsgJGRhdGEpO1xuICAgIGpzb25Qb2ludGVyID0gJGRhdGE7XG4gICAgZGF0YSA9ICdyb290RGF0YSc7XG4gIH0gZWxzZSB7XG4gICAgbWF0Y2hlcyA9ICRkYXRhLm1hdGNoKFJFTEFUSVZFX0pTT05fUE9JTlRFUik7XG4gICAgaWYgKCFtYXRjaGVzKSB0aHJvdyBuZXcgRXJyb3IoJ0ludmFsaWQgSlNPTi1wb2ludGVyOiAnICsgJGRhdGEpO1xuICAgIHVwID0gK21hdGNoZXNbMV07XG4gICAganNvblBvaW50ZXIgPSBtYXRjaGVzWzJdO1xuICAgIGlmIChqc29uUG9pbnRlciA9PSAnIycpIHtcbiAgICAgIGlmICh1cCA+PSBsdmwpIHRocm93IG5ldyBFcnJvcignQ2Fubm90IGFjY2VzcyBwcm9wZXJ0eS9pbmRleCAnICsgdXAgKyAnIGxldmVscyB1cCwgY3VycmVudCBsZXZlbCBpcyAnICsgbHZsKTtcbiAgICAgIHJldHVybiBwYXRoc1tsdmwgLSB1cF07XG4gICAgfVxuXG4gICAgaWYgKHVwID4gbHZsKSB0aHJvdyBuZXcgRXJyb3IoJ0Nhbm5vdCBhY2Nlc3MgZGF0YSAnICsgdXAgKyAnIGxldmVscyB1cCwgY3VycmVudCBsZXZlbCBpcyAnICsgbHZsKTtcbiAgICBkYXRhID0gJ2RhdGEnICsgKChsdmwgLSB1cCkgfHwgJycpO1xuICAgIGlmICghanNvblBvaW50ZXIpIHJldHVybiBkYXRhO1xuICB9XG5cbiAgdmFyIGV4cHIgPSBkYXRhO1xuICB2YXIgc2VnbWVudHMgPSBqc29uUG9pbnRlci5zcGxpdCgnLycpO1xuICBmb3IgKHZhciBpPTA7IGk8c2VnbWVudHMubGVuZ3RoOyBpKyspIHtcbiAgICB2YXIgc2VnbWVudCA9IHNlZ21lbnRzW2ldO1xuICAgIGlmIChzZWdtZW50KSB7XG4gICAgICBkYXRhICs9IGdldFByb3BlcnR5KHVuZXNjYXBlSnNvblBvaW50ZXIoc2VnbWVudCkpO1xuICAgICAgZXhwciArPSAnICYmICcgKyBkYXRhO1xuICAgIH1cbiAgfVxuICByZXR1cm4gZXhwcjtcbn1cblxuXG5mdW5jdGlvbiBqb2luUGF0aHMgKGEsIGIpIHtcbiAgaWYgKGEgPT0gJ1wiXCInKSByZXR1cm4gYjtcbiAgcmV0dXJuIChhICsgJyArICcgKyBiKS5yZXBsYWNlKC8oW15cXFxcXSknIFxcKyAnL2csICckMScpO1xufVxuXG5cbmZ1bmN0aW9uIHVuZXNjYXBlRnJhZ21lbnQoc3RyKSB7XG4gIHJldHVybiB1bmVzY2FwZUpzb25Qb2ludGVyKGRlY29kZVVSSUNvbXBvbmVudChzdHIpKTtcbn1cblxuXG5mdW5jdGlvbiBlc2NhcGVGcmFnbWVudChzdHIpIHtcbiAgcmV0dXJuIGVuY29kZVVSSUNvbXBvbmVudChlc2NhcGVKc29uUG9pbnRlcihzdHIpKTtcbn1cblxuXG5mdW5jdGlvbiBlc2NhcGVKc29uUG9pbnRlcihzdHIpIHtcbiAgcmV0dXJuIHN0ci5yZXBsYWNlKC9+L2csICd+MCcpLnJlcGxhY2UoL1xcLy9nLCAnfjEnKTtcbn1cblxuXG5mdW5jdGlvbiB1bmVzY2FwZUpzb25Qb2ludGVyKHN0cikge1xuICByZXR1cm4gc3RyLnJlcGxhY2UoL34xL2csICcvJykucmVwbGFjZSgvfjAvZywgJ34nKTtcbn1cbiIsICIndXNlIHN0cmljdCc7XG5cbnZhciB1dGlsID0gcmVxdWlyZSgnLi91dGlsJyk7XG5cbm1vZHVsZS5leHBvcnRzID0gU2NoZW1hT2JqZWN0O1xuXG5mdW5jdGlvbiBTY2hlbWFPYmplY3Qob2JqKSB7XG4gIHV0aWwuY29weShvYmosIHRoaXMpO1xufVxuIiwgIid1c2Ugc3RyaWN0JztcblxudmFyIHRyYXZlcnNlID0gbW9kdWxlLmV4cG9ydHMgPSBmdW5jdGlvbiAoc2NoZW1hLCBvcHRzLCBjYikge1xuICAvLyBMZWdhY3kgc3VwcG9ydCBmb3IgdjAuMy4xIGFuZCBlYXJsaWVyLlxuICBpZiAodHlwZW9mIG9wdHMgPT0gJ2Z1bmN0aW9uJykge1xuICAgIGNiID0gb3B0cztcbiAgICBvcHRzID0ge307XG4gIH1cblxuICBjYiA9IG9wdHMuY2IgfHwgY2I7XG4gIHZhciBwcmUgPSAodHlwZW9mIGNiID09ICdmdW5jdGlvbicpID8gY2IgOiBjYi5wcmUgfHwgZnVuY3Rpb24oKSB7fTtcbiAgdmFyIHBvc3QgPSBjYi5wb3N0IHx8IGZ1bmN0aW9uKCkge307XG5cbiAgX3RyYXZlcnNlKG9wdHMsIHByZSwgcG9zdCwgc2NoZW1hLCAnJywgc2NoZW1hKTtcbn07XG5cblxudHJhdmVyc2Uua2V5d29yZHMgPSB7XG4gIGFkZGl0aW9uYWxJdGVtczogdHJ1ZSxcbiAgaXRlbXM6IHRydWUsXG4gIGNvbnRhaW5zOiB0cnVlLFxuICBhZGRpdGlvbmFsUHJvcGVydGllczogdHJ1ZSxcbiAgcHJvcGVydHlOYW1lczogdHJ1ZSxcbiAgbm90OiB0cnVlXG59O1xuXG50cmF2ZXJzZS5hcnJheUtleXdvcmRzID0ge1xuICBpdGVtczogdHJ1ZSxcbiAgYWxsT2Y6IHRydWUsXG4gIGFueU9mOiB0cnVlLFxuICBvbmVPZjogdHJ1ZVxufTtcblxudHJhdmVyc2UucHJvcHNLZXl3b3JkcyA9IHtcbiAgZGVmaW5pdGlvbnM6IHRydWUsXG4gIHByb3BlcnRpZXM6IHRydWUsXG4gIHBhdHRlcm5Qcm9wZXJ0aWVzOiB0cnVlLFxuICBkZXBlbmRlbmNpZXM6IHRydWVcbn07XG5cbnRyYXZlcnNlLnNraXBLZXl3b3JkcyA9IHtcbiAgZGVmYXVsdDogdHJ1ZSxcbiAgZW51bTogdHJ1ZSxcbiAgY29uc3Q6IHRydWUsXG4gIHJlcXVpcmVkOiB0cnVlLFxuICBtYXhpbXVtOiB0cnVlLFxuICBtaW5pbXVtOiB0cnVlLFxuICBleGNsdXNpdmVNYXhpbXVtOiB0cnVlLFxuICBleGNsdXNpdmVNaW5pbXVtOiB0cnVlLFxuICBtdWx0aXBsZU9mOiB0cnVlLFxuICBtYXhMZW5ndGg6IHRydWUsXG4gIG1pbkxlbmd0aDogdHJ1ZSxcbiAgcGF0dGVybjogdHJ1ZSxcbiAgZm9ybWF0OiB0cnVlLFxuICBtYXhJdGVtczogdHJ1ZSxcbiAgbWluSXRlbXM6IHRydWUsXG4gIHVuaXF1ZUl0ZW1zOiB0cnVlLFxuICBtYXhQcm9wZXJ0aWVzOiB0cnVlLFxuICBtaW5Qcm9wZXJ0aWVzOiB0cnVlXG59O1xuXG5cbmZ1bmN0aW9uIF90cmF2ZXJzZShvcHRzLCBwcmUsIHBvc3QsIHNjaGVtYSwganNvblB0ciwgcm9vdFNjaGVtYSwgcGFyZW50SnNvblB0ciwgcGFyZW50S2V5d29yZCwgcGFyZW50U2NoZW1hLCBrZXlJbmRleCkge1xuICBpZiAoc2NoZW1hICYmIHR5cGVvZiBzY2hlbWEgPT0gJ29iamVjdCcgJiYgIUFycmF5LmlzQXJyYXkoc2NoZW1hKSkge1xuICAgIHByZShzY2hlbWEsIGpzb25QdHIsIHJvb3RTY2hlbWEsIHBhcmVudEpzb25QdHIsIHBhcmVudEtleXdvcmQsIHBhcmVudFNjaGVtYSwga2V5SW5kZXgpO1xuICAgIGZvciAodmFyIGtleSBpbiBzY2hlbWEpIHtcbiAgICAgIHZhciBzY2ggPSBzY2hlbWFba2V5XTtcbiAgICAgIGlmIChBcnJheS5pc0FycmF5KHNjaCkpIHtcbiAgICAgICAgaWYgKGtleSBpbiB0cmF2ZXJzZS5hcnJheUtleXdvcmRzKSB7XG4gICAgICAgICAgZm9yICh2YXIgaT0wOyBpPHNjaC5sZW5ndGg7IGkrKylcbiAgICAgICAgICAgIF90cmF2ZXJzZShvcHRzLCBwcmUsIHBvc3QsIHNjaFtpXSwganNvblB0ciArICcvJyArIGtleSArICcvJyArIGksIHJvb3RTY2hlbWEsIGpzb25QdHIsIGtleSwgc2NoZW1hLCBpKTtcbiAgICAgICAgfVxuICAgICAgfSBlbHNlIGlmIChrZXkgaW4gdHJhdmVyc2UucHJvcHNLZXl3b3Jkcykge1xuICAgICAgICBpZiAoc2NoICYmIHR5cGVvZiBzY2ggPT0gJ29iamVjdCcpIHtcbiAgICAgICAgICBmb3IgKHZhciBwcm9wIGluIHNjaClcbiAgICAgICAgICAgIF90cmF2ZXJzZShvcHRzLCBwcmUsIHBvc3QsIHNjaFtwcm9wXSwganNvblB0ciArICcvJyArIGtleSArICcvJyArIGVzY2FwZUpzb25QdHIocHJvcCksIHJvb3RTY2hlbWEsIGpzb25QdHIsIGtleSwgc2NoZW1hLCBwcm9wKTtcbiAgICAgICAgfVxuICAgICAgfSBlbHNlIGlmIChrZXkgaW4gdHJhdmVyc2Uua2V5d29yZHMgfHwgKG9wdHMuYWxsS2V5cyAmJiAhKGtleSBpbiB0cmF2ZXJzZS5za2lwS2V5d29yZHMpKSkge1xuICAgICAgICBfdHJhdmVyc2Uob3B0cywgcHJlLCBwb3N0LCBzY2gsIGpzb25QdHIgKyAnLycgKyBrZXksIHJvb3RTY2hlbWEsIGpzb25QdHIsIGtleSwgc2NoZW1hKTtcbiAgICAgIH1cbiAgICB9XG4gICAgcG9zdChzY2hlbWEsIGpzb25QdHIsIHJvb3RTY2hlbWEsIHBhcmVudEpzb25QdHIsIHBhcmVudEtleXdvcmQsIHBhcmVudFNjaGVtYSwga2V5SW5kZXgpO1xuICB9XG59XG5cblxuZnVuY3Rpb24gZXNjYXBlSnNvblB0cihzdHIpIHtcbiAgcmV0dXJuIHN0ci5yZXBsYWNlKC9+L2csICd+MCcpLnJlcGxhY2UoL1xcLy9nLCAnfjEnKTtcbn1cbiIsICIndXNlIHN0cmljdCc7XG5cbnZhciBVUkkgPSByZXF1aXJlKCd1cmktanMnKVxuICAsIGVxdWFsID0gcmVxdWlyZSgnZmFzdC1kZWVwLWVxdWFsJylcbiAgLCB1dGlsID0gcmVxdWlyZSgnLi91dGlsJylcbiAgLCBTY2hlbWFPYmplY3QgPSByZXF1aXJlKCcuL3NjaGVtYV9vYmonKVxuICAsIHRyYXZlcnNlID0gcmVxdWlyZSgnanNvbi1zY2hlbWEtdHJhdmVyc2UnKTtcblxubW9kdWxlLmV4cG9ydHMgPSByZXNvbHZlO1xuXG5yZXNvbHZlLm5vcm1hbGl6ZUlkID0gbm9ybWFsaXplSWQ7XG5yZXNvbHZlLmZ1bGxQYXRoID0gZ2V0RnVsbFBhdGg7XG5yZXNvbHZlLnVybCA9IHJlc29sdmVVcmw7XG5yZXNvbHZlLmlkcyA9IHJlc29sdmVJZHM7XG5yZXNvbHZlLmlubGluZVJlZiA9IGlubGluZVJlZjtcbnJlc29sdmUuc2NoZW1hID0gcmVzb2x2ZVNjaGVtYTtcblxuLyoqXG4gKiBbcmVzb2x2ZSBhbmQgY29tcGlsZSB0aGUgcmVmZXJlbmNlcyAoJHJlZildXG4gKiBAdGhpcyAgIEFqdlxuICogQHBhcmFtICB7RnVuY3Rpb259IGNvbXBpbGUgcmVmZXJlbmNlIHRvIHNjaGVtYSBjb21waWxhdGlvbiBmdW5jaXRvbiAobG9jYWxDb21waWxlKVxuICogQHBhcmFtICB7T2JqZWN0fSByb290IG9iamVjdCB3aXRoIGluZm9ybWF0aW9uIGFib3V0IHRoZSByb290IHNjaGVtYSBmb3IgdGhlIGN1cnJlbnQgc2NoZW1hXG4gKiBAcGFyYW0gIHtTdHJpbmd9IHJlZiByZWZlcmVuY2UgdG8gcmVzb2x2ZVxuICogQHJldHVybiB7T2JqZWN0fEZ1bmN0aW9ufSBzY2hlbWEgb2JqZWN0IChpZiB0aGUgc2NoZW1hIGNhbiBiZSBpbmxpbmVkKSBvciB2YWxpZGF0aW9uIGZ1bmN0aW9uXG4gKi9cbmZ1bmN0aW9uIHJlc29sdmUoY29tcGlsZSwgcm9vdCwgcmVmKSB7XG4gIC8qIGpzaGludCB2YWxpZHRoaXM6IHRydWUgKi9cbiAgdmFyIHJlZlZhbCA9IHRoaXMuX3JlZnNbcmVmXTtcbiAgaWYgKHR5cGVvZiByZWZWYWwgPT0gJ3N0cmluZycpIHtcbiAgICBpZiAodGhpcy5fcmVmc1tyZWZWYWxdKSByZWZWYWwgPSB0aGlzLl9yZWZzW3JlZlZhbF07XG4gICAgZWxzZSByZXR1cm4gcmVzb2x2ZS5jYWxsKHRoaXMsIGNvbXBpbGUsIHJvb3QsIHJlZlZhbCk7XG4gIH1cblxuICByZWZWYWwgPSByZWZWYWwgfHwgdGhpcy5fc2NoZW1hc1tyZWZdO1xuICBpZiAocmVmVmFsIGluc3RhbmNlb2YgU2NoZW1hT2JqZWN0KSB7XG4gICAgcmV0dXJuIGlubGluZVJlZihyZWZWYWwuc2NoZW1hLCB0aGlzLl9vcHRzLmlubGluZVJlZnMpXG4gICAgICAgICAgICA/IHJlZlZhbC5zY2hlbWFcbiAgICAgICAgICAgIDogcmVmVmFsLnZhbGlkYXRlIHx8IHRoaXMuX2NvbXBpbGUocmVmVmFsKTtcbiAgfVxuXG4gIHZhciByZXMgPSByZXNvbHZlU2NoZW1hLmNhbGwodGhpcywgcm9vdCwgcmVmKTtcbiAgdmFyIHNjaGVtYSwgdiwgYmFzZUlkO1xuICBpZiAocmVzKSB7XG4gICAgc2NoZW1hID0gcmVzLnNjaGVtYTtcbiAgICByb290ID0gcmVzLnJvb3Q7XG4gICAgYmFzZUlkID0gcmVzLmJhc2VJZDtcbiAgfVxuXG4gIGlmIChzY2hlbWEgaW5zdGFuY2VvZiBTY2hlbWFPYmplY3QpIHtcbiAgICB2ID0gc2NoZW1hLnZhbGlkYXRlIHx8IGNvbXBpbGUuY2FsbCh0aGlzLCBzY2hlbWEuc2NoZW1hLCByb290LCB1bmRlZmluZWQsIGJhc2VJZCk7XG4gIH0gZWxzZSBpZiAoc2NoZW1hICE9PSB1bmRlZmluZWQpIHtcbiAgICB2ID0gaW5saW5lUmVmKHNjaGVtYSwgdGhpcy5fb3B0cy5pbmxpbmVSZWZzKVxuICAgICAgICA/IHNjaGVtYVxuICAgICAgICA6IGNvbXBpbGUuY2FsbCh0aGlzLCBzY2hlbWEsIHJvb3QsIHVuZGVmaW5lZCwgYmFzZUlkKTtcbiAgfVxuXG4gIHJldHVybiB2O1xufVxuXG5cbi8qKlxuICogUmVzb2x2ZSBzY2hlbWEsIGl0cyByb290IGFuZCBiYXNlSWRcbiAqIEB0aGlzIEFqdlxuICogQHBhcmFtICB7T2JqZWN0fSByb290IHJvb3Qgb2JqZWN0IHdpdGggcHJvcGVydGllcyBzY2hlbWEsIHJlZlZhbCwgcmVmc1xuICogQHBhcmFtICB7U3RyaW5nfSByZWYgIHJlZmVyZW5jZSB0byByZXNvbHZlXG4gKiBAcmV0dXJuIHtPYmplY3R9IG9iamVjdCB3aXRoIHByb3BlcnRpZXMgc2NoZW1hLCByb290LCBiYXNlSWRcbiAqL1xuZnVuY3Rpb24gcmVzb2x2ZVNjaGVtYShyb290LCByZWYpIHtcbiAgLyoganNoaW50IHZhbGlkdGhpczogdHJ1ZSAqL1xuICB2YXIgcCA9IFVSSS5wYXJzZShyZWYpXG4gICAgLCByZWZQYXRoID0gX2dldEZ1bGxQYXRoKHApXG4gICAgLCBiYXNlSWQgPSBnZXRGdWxsUGF0aCh0aGlzLl9nZXRJZChyb290LnNjaGVtYSkpO1xuICBpZiAoT2JqZWN0LmtleXMocm9vdC5zY2hlbWEpLmxlbmd0aCA9PT0gMCB8fCByZWZQYXRoICE9PSBiYXNlSWQpIHtcbiAgICB2YXIgaWQgPSBub3JtYWxpemVJZChyZWZQYXRoKTtcbiAgICB2YXIgcmVmVmFsID0gdGhpcy5fcmVmc1tpZF07XG4gICAgaWYgKHR5cGVvZiByZWZWYWwgPT0gJ3N0cmluZycpIHtcbiAgICAgIHJldHVybiByZXNvbHZlUmVjdXJzaXZlLmNhbGwodGhpcywgcm9vdCwgcmVmVmFsLCBwKTtcbiAgICB9IGVsc2UgaWYgKHJlZlZhbCBpbnN0YW5jZW9mIFNjaGVtYU9iamVjdCkge1xuICAgICAgaWYgKCFyZWZWYWwudmFsaWRhdGUpIHRoaXMuX2NvbXBpbGUocmVmVmFsKTtcbiAgICAgIHJvb3QgPSByZWZWYWw7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJlZlZhbCA9IHRoaXMuX3NjaGVtYXNbaWRdO1xuICAgICAgaWYgKHJlZlZhbCBpbnN0YW5jZW9mIFNjaGVtYU9iamVjdCkge1xuICAgICAgICBpZiAoIXJlZlZhbC52YWxpZGF0ZSkgdGhpcy5fY29tcGlsZShyZWZWYWwpO1xuICAgICAgICBpZiAoaWQgPT0gbm9ybWFsaXplSWQocmVmKSlcbiAgICAgICAgICByZXR1cm4geyBzY2hlbWE6IHJlZlZhbCwgcm9vdDogcm9vdCwgYmFzZUlkOiBiYXNlSWQgfTtcbiAgICAgICAgcm9vdCA9IHJlZlZhbDtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cbiAgICB9XG4gICAgaWYgKCFyb290LnNjaGVtYSkgcmV0dXJuO1xuICAgIGJhc2VJZCA9IGdldEZ1bGxQYXRoKHRoaXMuX2dldElkKHJvb3Quc2NoZW1hKSk7XG4gIH1cbiAgcmV0dXJuIGdldEpzb25Qb2ludGVyLmNhbGwodGhpcywgcCwgYmFzZUlkLCByb290LnNjaGVtYSwgcm9vdCk7XG59XG5cblxuLyogQHRoaXMgQWp2ICovXG5mdW5jdGlvbiByZXNvbHZlUmVjdXJzaXZlKHJvb3QsIHJlZiwgcGFyc2VkUmVmKSB7XG4gIC8qIGpzaGludCB2YWxpZHRoaXM6IHRydWUgKi9cbiAgdmFyIHJlcyA9IHJlc29sdmVTY2hlbWEuY2FsbCh0aGlzLCByb290LCByZWYpO1xuICBpZiAocmVzKSB7XG4gICAgdmFyIHNjaGVtYSA9IHJlcy5zY2hlbWE7XG4gICAgdmFyIGJhc2VJZCA9IHJlcy5iYXNlSWQ7XG4gICAgcm9vdCA9IHJlcy5yb290O1xuICAgIHZhciBpZCA9IHRoaXMuX2dldElkKHNjaGVtYSk7XG4gICAgaWYgKGlkKSBiYXNlSWQgPSByZXNvbHZlVXJsKGJhc2VJZCwgaWQpO1xuICAgIHJldHVybiBnZXRKc29uUG9pbnRlci5jYWxsKHRoaXMsIHBhcnNlZFJlZiwgYmFzZUlkLCBzY2hlbWEsIHJvb3QpO1xuICB9XG59XG5cblxudmFyIFBSRVZFTlRfU0NPUEVfQ0hBTkdFID0gdXRpbC50b0hhc2goWydwcm9wZXJ0aWVzJywgJ3BhdHRlcm5Qcm9wZXJ0aWVzJywgJ2VudW0nLCAnZGVwZW5kZW5jaWVzJywgJ2RlZmluaXRpb25zJ10pO1xuLyogQHRoaXMgQWp2ICovXG5mdW5jdGlvbiBnZXRKc29uUG9pbnRlcihwYXJzZWRSZWYsIGJhc2VJZCwgc2NoZW1hLCByb290KSB7XG4gIC8qIGpzaGludCB2YWxpZHRoaXM6IHRydWUgKi9cbiAgcGFyc2VkUmVmLmZyYWdtZW50ID0gcGFyc2VkUmVmLmZyYWdtZW50IHx8ICcnO1xuICBpZiAocGFyc2VkUmVmLmZyYWdtZW50LnNsaWNlKDAsMSkgIT0gJy8nKSByZXR1cm47XG4gIHZhciBwYXJ0cyA9IHBhcnNlZFJlZi5mcmFnbWVudC5zcGxpdCgnLycpO1xuXG4gIGZvciAodmFyIGkgPSAxOyBpIDwgcGFydHMubGVuZ3RoOyBpKyspIHtcbiAgICB2YXIgcGFydCA9IHBhcnRzW2ldO1xuICAgIGlmIChwYXJ0KSB7XG4gICAgICBwYXJ0ID0gdXRpbC51bmVzY2FwZUZyYWdtZW50KHBhcnQpO1xuICAgICAgc2NoZW1hID0gc2NoZW1hW3BhcnRdO1xuICAgICAgaWYgKHNjaGVtYSA9PT0gdW5kZWZpbmVkKSBicmVhaztcbiAgICAgIHZhciBpZDtcbiAgICAgIGlmICghUFJFVkVOVF9TQ09QRV9DSEFOR0VbcGFydF0pIHtcbiAgICAgICAgaWQgPSB0aGlzLl9nZXRJZChzY2hlbWEpO1xuICAgICAgICBpZiAoaWQpIGJhc2VJZCA9IHJlc29sdmVVcmwoYmFzZUlkLCBpZCk7XG4gICAgICAgIGlmIChzY2hlbWEuJHJlZikge1xuICAgICAgICAgIHZhciAkcmVmID0gcmVzb2x2ZVVybChiYXNlSWQsIHNjaGVtYS4kcmVmKTtcbiAgICAgICAgICB2YXIgcmVzID0gcmVzb2x2ZVNjaGVtYS5jYWxsKHRoaXMsIHJvb3QsICRyZWYpO1xuICAgICAgICAgIGlmIChyZXMpIHtcbiAgICAgICAgICAgIHNjaGVtYSA9IHJlcy5zY2hlbWE7XG4gICAgICAgICAgICByb290ID0gcmVzLnJvb3Q7XG4gICAgICAgICAgICBiYXNlSWQgPSByZXMuYmFzZUlkO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICBpZiAoc2NoZW1hICE9PSB1bmRlZmluZWQgJiYgc2NoZW1hICE9PSByb290LnNjaGVtYSlcbiAgICByZXR1cm4geyBzY2hlbWE6IHNjaGVtYSwgcm9vdDogcm9vdCwgYmFzZUlkOiBiYXNlSWQgfTtcbn1cblxuXG52YXIgU0lNUExFX0lOTElORUQgPSB1dGlsLnRvSGFzaChbXG4gICd0eXBlJywgJ2Zvcm1hdCcsICdwYXR0ZXJuJyxcbiAgJ21heExlbmd0aCcsICdtaW5MZW5ndGgnLFxuICAnbWF4UHJvcGVydGllcycsICdtaW5Qcm9wZXJ0aWVzJyxcbiAgJ21heEl0ZW1zJywgJ21pbkl0ZW1zJyxcbiAgJ21heGltdW0nLCAnbWluaW11bScsXG4gICd1bmlxdWVJdGVtcycsICdtdWx0aXBsZU9mJyxcbiAgJ3JlcXVpcmVkJywgJ2VudW0nXG5dKTtcbmZ1bmN0aW9uIGlubGluZVJlZihzY2hlbWEsIGxpbWl0KSB7XG4gIGlmIChsaW1pdCA9PT0gZmFsc2UpIHJldHVybiBmYWxzZTtcbiAgaWYgKGxpbWl0ID09PSB1bmRlZmluZWQgfHwgbGltaXQgPT09IHRydWUpIHJldHVybiBjaGVja05vUmVmKHNjaGVtYSk7XG4gIGVsc2UgaWYgKGxpbWl0KSByZXR1cm4gY291bnRLZXlzKHNjaGVtYSkgPD0gbGltaXQ7XG59XG5cblxuZnVuY3Rpb24gY2hlY2tOb1JlZihzY2hlbWEpIHtcbiAgdmFyIGl0ZW07XG4gIGlmIChBcnJheS5pc0FycmF5KHNjaGVtYSkpIHtcbiAgICBmb3IgKHZhciBpPTA7IGk8c2NoZW1hLmxlbmd0aDsgaSsrKSB7XG4gICAgICBpdGVtID0gc2NoZW1hW2ldO1xuICAgICAgaWYgKHR5cGVvZiBpdGVtID09ICdvYmplY3QnICYmICFjaGVja05vUmVmKGl0ZW0pKSByZXR1cm4gZmFsc2U7XG4gICAgfVxuICB9IGVsc2Uge1xuICAgIGZvciAodmFyIGtleSBpbiBzY2hlbWEpIHtcbiAgICAgIGlmIChrZXkgPT0gJyRyZWYnKSByZXR1cm4gZmFsc2U7XG4gICAgICBpdGVtID0gc2NoZW1hW2tleV07XG4gICAgICBpZiAodHlwZW9mIGl0ZW0gPT0gJ29iamVjdCcgJiYgIWNoZWNrTm9SZWYoaXRlbSkpIHJldHVybiBmYWxzZTtcbiAgICB9XG4gIH1cbiAgcmV0dXJuIHRydWU7XG59XG5cblxuZnVuY3Rpb24gY291bnRLZXlzKHNjaGVtYSkge1xuICB2YXIgY291bnQgPSAwLCBpdGVtO1xuICBpZiAoQXJyYXkuaXNBcnJheShzY2hlbWEpKSB7XG4gICAgZm9yICh2YXIgaT0wOyBpPHNjaGVtYS5sZW5ndGg7IGkrKykge1xuICAgICAgaXRlbSA9IHNjaGVtYVtpXTtcbiAgICAgIGlmICh0eXBlb2YgaXRlbSA9PSAnb2JqZWN0JykgY291bnQgKz0gY291bnRLZXlzKGl0ZW0pO1xuICAgICAgaWYgKGNvdW50ID09IEluZmluaXR5KSByZXR1cm4gSW5maW5pdHk7XG4gICAgfVxuICB9IGVsc2Uge1xuICAgIGZvciAodmFyIGtleSBpbiBzY2hlbWEpIHtcbiAgICAgIGlmIChrZXkgPT0gJyRyZWYnKSByZXR1cm4gSW5maW5pdHk7XG4gICAgICBpZiAoU0lNUExFX0lOTElORURba2V5XSkge1xuICAgICAgICBjb3VudCsrO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgaXRlbSA9IHNjaGVtYVtrZXldO1xuICAgICAgICBpZiAodHlwZW9mIGl0ZW0gPT0gJ29iamVjdCcpIGNvdW50ICs9IGNvdW50S2V5cyhpdGVtKSArIDE7XG4gICAgICAgIGlmIChjb3VudCA9PSBJbmZpbml0eSkgcmV0dXJuIEluZmluaXR5O1xuICAgICAgfVxuICAgIH1cbiAgfVxuICByZXR1cm4gY291bnQ7XG59XG5cblxuZnVuY3Rpb24gZ2V0RnVsbFBhdGgoaWQsIG5vcm1hbGl6ZSkge1xuICBpZiAobm9ybWFsaXplICE9PSBmYWxzZSkgaWQgPSBub3JtYWxpemVJZChpZCk7XG4gIHZhciBwID0gVVJJLnBhcnNlKGlkKTtcbiAgcmV0dXJuIF9nZXRGdWxsUGF0aChwKTtcbn1cblxuXG5mdW5jdGlvbiBfZ2V0RnVsbFBhdGgocCkge1xuICByZXR1cm4gVVJJLnNlcmlhbGl6ZShwKS5zcGxpdCgnIycpWzBdICsgJyMnO1xufVxuXG5cbnZhciBUUkFJTElOR19TTEFTSF9IQVNIID0gLyNcXC8/JC87XG5mdW5jdGlvbiBub3JtYWxpemVJZChpZCkge1xuICByZXR1cm4gaWQgPyBpZC5yZXBsYWNlKFRSQUlMSU5HX1NMQVNIX0hBU0gsICcnKSA6ICcnO1xufVxuXG5cbmZ1bmN0aW9uIHJlc29sdmVVcmwoYmFzZUlkLCBpZCkge1xuICBpZCA9IG5vcm1hbGl6ZUlkKGlkKTtcbiAgcmV0dXJuIFVSSS5yZXNvbHZlKGJhc2VJZCwgaWQpO1xufVxuXG5cbi8qIEB0aGlzIEFqdiAqL1xuZnVuY3Rpb24gcmVzb2x2ZUlkcyhzY2hlbWEpIHtcbiAgdmFyIHNjaGVtYUlkID0gbm9ybWFsaXplSWQodGhpcy5fZ2V0SWQoc2NoZW1hKSk7XG4gIHZhciBiYXNlSWRzID0geycnOiBzY2hlbWFJZH07XG4gIHZhciBmdWxsUGF0aHMgPSB7Jyc6IGdldEZ1bGxQYXRoKHNjaGVtYUlkLCBmYWxzZSl9O1xuICB2YXIgbG9jYWxSZWZzID0ge307XG4gIHZhciBzZWxmID0gdGhpcztcblxuICB0cmF2ZXJzZShzY2hlbWEsIHthbGxLZXlzOiB0cnVlfSwgZnVuY3Rpb24oc2NoLCBqc29uUHRyLCByb290U2NoZW1hLCBwYXJlbnRKc29uUHRyLCBwYXJlbnRLZXl3b3JkLCBwYXJlbnRTY2hlbWEsIGtleUluZGV4KSB7XG4gICAgaWYgKGpzb25QdHIgPT09ICcnKSByZXR1cm47XG4gICAgdmFyIGlkID0gc2VsZi5fZ2V0SWQoc2NoKTtcbiAgICB2YXIgYmFzZUlkID0gYmFzZUlkc1twYXJlbnRKc29uUHRyXTtcbiAgICB2YXIgZnVsbFBhdGggPSBmdWxsUGF0aHNbcGFyZW50SnNvblB0cl0gKyAnLycgKyBwYXJlbnRLZXl3b3JkO1xuICAgIGlmIChrZXlJbmRleCAhPT0gdW5kZWZpbmVkKVxuICAgICAgZnVsbFBhdGggKz0gJy8nICsgKHR5cGVvZiBrZXlJbmRleCA9PSAnbnVtYmVyJyA/IGtleUluZGV4IDogdXRpbC5lc2NhcGVGcmFnbWVudChrZXlJbmRleCkpO1xuXG4gICAgaWYgKHR5cGVvZiBpZCA9PSAnc3RyaW5nJykge1xuICAgICAgaWQgPSBiYXNlSWQgPSBub3JtYWxpemVJZChiYXNlSWQgPyBVUkkucmVzb2x2ZShiYXNlSWQsIGlkKSA6IGlkKTtcblxuICAgICAgdmFyIHJlZlZhbCA9IHNlbGYuX3JlZnNbaWRdO1xuICAgICAgaWYgKHR5cGVvZiByZWZWYWwgPT0gJ3N0cmluZycpIHJlZlZhbCA9IHNlbGYuX3JlZnNbcmVmVmFsXTtcbiAgICAgIGlmIChyZWZWYWwgJiYgcmVmVmFsLnNjaGVtYSkge1xuICAgICAgICBpZiAoIWVxdWFsKHNjaCwgcmVmVmFsLnNjaGVtYSkpXG4gICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdpZCBcIicgKyBpZCArICdcIiByZXNvbHZlcyB0byBtb3JlIHRoYW4gb25lIHNjaGVtYScpO1xuICAgICAgfSBlbHNlIGlmIChpZCAhPSBub3JtYWxpemVJZChmdWxsUGF0aCkpIHtcbiAgICAgICAgaWYgKGlkWzBdID09ICcjJykge1xuICAgICAgICAgIGlmIChsb2NhbFJlZnNbaWRdICYmICFlcXVhbChzY2gsIGxvY2FsUmVmc1tpZF0pKVxuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdpZCBcIicgKyBpZCArICdcIiByZXNvbHZlcyB0byBtb3JlIHRoYW4gb25lIHNjaGVtYScpO1xuICAgICAgICAgIGxvY2FsUmVmc1tpZF0gPSBzY2g7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgc2VsZi5fcmVmc1tpZF0gPSBmdWxsUGF0aDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICBiYXNlSWRzW2pzb25QdHJdID0gYmFzZUlkO1xuICAgIGZ1bGxQYXRoc1tqc29uUHRyXSA9IGZ1bGxQYXRoO1xuICB9KTtcblxuICByZXR1cm4gbG9jYWxSZWZzO1xufVxuIiwgIid1c2Ugc3RyaWN0JztcblxudmFyIHJlc29sdmUgPSByZXF1aXJlKCcuL3Jlc29sdmUnKTtcblxubW9kdWxlLmV4cG9ydHMgPSB7XG4gIFZhbGlkYXRpb246IGVycm9yU3ViY2xhc3MoVmFsaWRhdGlvbkVycm9yKSxcbiAgTWlzc2luZ1JlZjogZXJyb3JTdWJjbGFzcyhNaXNzaW5nUmVmRXJyb3IpXG59O1xuXG5cbmZ1bmN0aW9uIFZhbGlkYXRpb25FcnJvcihlcnJvcnMpIHtcbiAgdGhpcy5tZXNzYWdlID0gJ3ZhbGlkYXRpb24gZmFpbGVkJztcbiAgdGhpcy5lcnJvcnMgPSBlcnJvcnM7XG4gIHRoaXMuYWp2ID0gdGhpcy52YWxpZGF0aW9uID0gdHJ1ZTtcbn1cblxuXG5NaXNzaW5nUmVmRXJyb3IubWVzc2FnZSA9IGZ1bmN0aW9uIChiYXNlSWQsIHJlZikge1xuICByZXR1cm4gJ2NhblxcJ3QgcmVzb2x2ZSByZWZlcmVuY2UgJyArIHJlZiArICcgZnJvbSBpZCAnICsgYmFzZUlkO1xufTtcblxuXG5mdW5jdGlvbiBNaXNzaW5nUmVmRXJyb3IoYmFzZUlkLCByZWYsIG1lc3NhZ2UpIHtcbiAgdGhpcy5tZXNzYWdlID0gbWVzc2FnZSB8fCBNaXNzaW5nUmVmRXJyb3IubWVzc2FnZShiYXNlSWQsIHJlZik7XG4gIHRoaXMubWlzc2luZ1JlZiA9IHJlc29sdmUudXJsKGJhc2VJZCwgcmVmKTtcbiAgdGhpcy5taXNzaW5nU2NoZW1hID0gcmVzb2x2ZS5ub3JtYWxpemVJZChyZXNvbHZlLmZ1bGxQYXRoKHRoaXMubWlzc2luZ1JlZikpO1xufVxuXG5cbmZ1bmN0aW9uIGVycm9yU3ViY2xhc3MoU3ViY2xhc3MpIHtcbiAgU3ViY2xhc3MucHJvdG90eXBlID0gT2JqZWN0LmNyZWF0ZShFcnJvci5wcm90b3R5cGUpO1xuICBTdWJjbGFzcy5wcm90b3R5cGUuY29uc3RydWN0b3IgPSBTdWJjbGFzcztcbiAgcmV0dXJuIFN1YmNsYXNzO1xufVxuIiwgIid1c2Ugc3RyaWN0JztcblxubW9kdWxlLmV4cG9ydHMgPSBmdW5jdGlvbiAoZGF0YSwgb3B0cykge1xuICAgIGlmICghb3B0cykgb3B0cyA9IHt9O1xuICAgIGlmICh0eXBlb2Ygb3B0cyA9PT0gJ2Z1bmN0aW9uJykgb3B0cyA9IHsgY21wOiBvcHRzIH07XG4gICAgdmFyIGN5Y2xlcyA9ICh0eXBlb2Ygb3B0cy5jeWNsZXMgPT09ICdib29sZWFuJykgPyBvcHRzLmN5Y2xlcyA6IGZhbHNlO1xuXG4gICAgdmFyIGNtcCA9IG9wdHMuY21wICYmIChmdW5jdGlvbiAoZikge1xuICAgICAgICByZXR1cm4gZnVuY3Rpb24gKG5vZGUpIHtcbiAgICAgICAgICAgIHJldHVybiBmdW5jdGlvbiAoYSwgYikge1xuICAgICAgICAgICAgICAgIHZhciBhb2JqID0geyBrZXk6IGEsIHZhbHVlOiBub2RlW2FdIH07XG4gICAgICAgICAgICAgICAgdmFyIGJvYmogPSB7IGtleTogYiwgdmFsdWU6IG5vZGVbYl0gfTtcbiAgICAgICAgICAgICAgICByZXR1cm4gZihhb2JqLCBib2JqKTtcbiAgICAgICAgICAgIH07XG4gICAgICAgIH07XG4gICAgfSkob3B0cy5jbXApO1xuXG4gICAgdmFyIHNlZW4gPSBbXTtcbiAgICByZXR1cm4gKGZ1bmN0aW9uIHN0cmluZ2lmeSAobm9kZSkge1xuICAgICAgICBpZiAobm9kZSAmJiBub2RlLnRvSlNPTiAmJiB0eXBlb2Ygbm9kZS50b0pTT04gPT09ICdmdW5jdGlvbicpIHtcbiAgICAgICAgICAgIG5vZGUgPSBub2RlLnRvSlNPTigpO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKG5vZGUgPT09IHVuZGVmaW5lZCkgcmV0dXJuO1xuICAgICAgICBpZiAodHlwZW9mIG5vZGUgPT0gJ251bWJlcicpIHJldHVybiBpc0Zpbml0ZShub2RlKSA/ICcnICsgbm9kZSA6ICdudWxsJztcbiAgICAgICAgaWYgKHR5cGVvZiBub2RlICE9PSAnb2JqZWN0JykgcmV0dXJuIEpTT04uc3RyaW5naWZ5KG5vZGUpO1xuXG4gICAgICAgIHZhciBpLCBvdXQ7XG4gICAgICAgIGlmIChBcnJheS5pc0FycmF5KG5vZGUpKSB7XG4gICAgICAgICAgICBvdXQgPSAnWyc7XG4gICAgICAgICAgICBmb3IgKGkgPSAwOyBpIDwgbm9kZS5sZW5ndGg7IGkrKykge1xuICAgICAgICAgICAgICAgIGlmIChpKSBvdXQgKz0gJywnO1xuICAgICAgICAgICAgICAgIG91dCArPSBzdHJpbmdpZnkobm9kZVtpXSkgfHwgJ251bGwnO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmV0dXJuIG91dCArICddJztcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChub2RlID09PSBudWxsKSByZXR1cm4gJ251bGwnO1xuXG4gICAgICAgIGlmIChzZWVuLmluZGV4T2Yobm9kZSkgIT09IC0xKSB7XG4gICAgICAgICAgICBpZiAoY3ljbGVzKSByZXR1cm4gSlNPTi5zdHJpbmdpZnkoJ19fY3ljbGVfXycpO1xuICAgICAgICAgICAgdGhyb3cgbmV3IFR5cGVFcnJvcignQ29udmVydGluZyBjaXJjdWxhciBzdHJ1Y3R1cmUgdG8gSlNPTicpO1xuICAgICAgICB9XG5cbiAgICAgICAgdmFyIHNlZW5JbmRleCA9IHNlZW4ucHVzaChub2RlKSAtIDE7XG4gICAgICAgIHZhciBrZXlzID0gT2JqZWN0LmtleXMobm9kZSkuc29ydChjbXAgJiYgY21wKG5vZGUpKTtcbiAgICAgICAgb3V0ID0gJyc7XG4gICAgICAgIGZvciAoaSA9IDA7IGkgPCBrZXlzLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgICAgICB2YXIga2V5ID0ga2V5c1tpXTtcbiAgICAgICAgICAgIHZhciB2YWx1ZSA9IHN0cmluZ2lmeShub2RlW2tleV0pO1xuXG4gICAgICAgICAgICBpZiAoIXZhbHVlKSBjb250aW51ZTtcbiAgICAgICAgICAgIGlmIChvdXQpIG91dCArPSAnLCc7XG4gICAgICAgICAgICBvdXQgKz0gSlNPTi5zdHJpbmdpZnkoa2V5KSArICc6JyArIHZhbHVlO1xuICAgICAgICB9XG4gICAgICAgIHNlZW4uc3BsaWNlKHNlZW5JbmRleCwgMSk7XG4gICAgICAgIHJldHVybiAneycgKyBvdXQgKyAnfSc7XG4gICAgfSkoZGF0YSk7XG59O1xuIiwgIid1c2Ugc3RyaWN0Jztcbm1vZHVsZS5leHBvcnRzID0gZnVuY3Rpb24gZ2VuZXJhdGVfdmFsaWRhdGUoaXQsICRrZXl3b3JkLCAkcnVsZVR5cGUpIHtcbiAgdmFyIG91dCA9ICcnO1xuICB2YXIgJGFzeW5jID0gaXQuc2NoZW1hLiRhc3luYyA9PT0gdHJ1ZSxcbiAgICAkcmVmS2V5d29yZHMgPSBpdC51dGlsLnNjaGVtYUhhc1J1bGVzRXhjZXB0KGl0LnNjaGVtYSwgaXQuUlVMRVMuYWxsLCAnJHJlZicpLFxuICAgICRpZCA9IGl0LnNlbGYuX2dldElkKGl0LnNjaGVtYSk7XG4gIGlmIChpdC5vcHRzLnN0cmljdEtleXdvcmRzKSB7XG4gICAgdmFyICR1bmtub3duS3dkID0gaXQudXRpbC5zY2hlbWFVbmtub3duUnVsZXMoaXQuc2NoZW1hLCBpdC5SVUxFUy5rZXl3b3Jkcyk7XG4gICAgaWYgKCR1bmtub3duS3dkKSB7XG4gICAgICB2YXIgJGtleXdvcmRzTXNnID0gJ3Vua25vd24ga2V5d29yZDogJyArICR1bmtub3duS3dkO1xuICAgICAgaWYgKGl0Lm9wdHMuc3RyaWN0S2V5d29yZHMgPT09ICdsb2cnKSBpdC5sb2dnZXIud2Fybigka2V5d29yZHNNc2cpO1xuICAgICAgZWxzZSB0aHJvdyBuZXcgRXJyb3IoJGtleXdvcmRzTXNnKTtcbiAgICB9XG4gIH1cbiAgaWYgKGl0LmlzVG9wKSB7XG4gICAgb3V0ICs9ICcgdmFyIHZhbGlkYXRlID0gJztcbiAgICBpZiAoJGFzeW5jKSB7XG4gICAgICBpdC5hc3luYyA9IHRydWU7XG4gICAgICBvdXQgKz0gJ2FzeW5jICc7XG4gICAgfVxuICAgIG91dCArPSAnZnVuY3Rpb24oZGF0YSwgZGF0YVBhdGgsIHBhcmVudERhdGEsIHBhcmVudERhdGFQcm9wZXJ0eSwgcm9vdERhdGEpIHsgXFwndXNlIHN0cmljdFxcJzsgJztcbiAgICBpZiAoJGlkICYmIChpdC5vcHRzLnNvdXJjZUNvZGUgfHwgaXQub3B0cy5wcm9jZXNzQ29kZSkpIHtcbiAgICAgIG91dCArPSAnICcgKyAoJy9cXCojIHNvdXJjZVVSTD0nICsgJGlkICsgJyAqLycpICsgJyAnO1xuICAgIH1cbiAgfVxuICBpZiAodHlwZW9mIGl0LnNjaGVtYSA9PSAnYm9vbGVhbicgfHwgISgkcmVmS2V5d29yZHMgfHwgaXQuc2NoZW1hLiRyZWYpKSB7XG4gICAgdmFyICRrZXl3b3JkID0gJ2ZhbHNlIHNjaGVtYSc7XG4gICAgdmFyICRsdmwgPSBpdC5sZXZlbDtcbiAgICB2YXIgJGRhdGFMdmwgPSBpdC5kYXRhTGV2ZWw7XG4gICAgdmFyICRzY2hlbWEgPSBpdC5zY2hlbWFbJGtleXdvcmRdO1xuICAgIHZhciAkc2NoZW1hUGF0aCA9IGl0LnNjaGVtYVBhdGggKyBpdC51dGlsLmdldFByb3BlcnR5KCRrZXl3b3JkKTtcbiAgICB2YXIgJGVyclNjaGVtYVBhdGggPSBpdC5lcnJTY2hlbWFQYXRoICsgJy8nICsgJGtleXdvcmQ7XG4gICAgdmFyICRicmVha09uRXJyb3IgPSAhaXQub3B0cy5hbGxFcnJvcnM7XG4gICAgdmFyICRlcnJvcktleXdvcmQ7XG4gICAgdmFyICRkYXRhID0gJ2RhdGEnICsgKCRkYXRhTHZsIHx8ICcnKTtcbiAgICB2YXIgJHZhbGlkID0gJ3ZhbGlkJyArICRsdmw7XG4gICAgaWYgKGl0LnNjaGVtYSA9PT0gZmFsc2UpIHtcbiAgICAgIGlmIChpdC5pc1RvcCkge1xuICAgICAgICAkYnJlYWtPbkVycm9yID0gdHJ1ZTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIG91dCArPSAnIHZhciAnICsgKCR2YWxpZCkgKyAnID0gZmFsc2U7ICc7XG4gICAgICB9XG4gICAgICB2YXIgJCRvdXRTdGFjayA9ICQkb3V0U3RhY2sgfHwgW107XG4gICAgICAkJG91dFN0YWNrLnB1c2gob3V0KTtcbiAgICAgIG91dCA9ICcnOyAvKiBpc3RhbmJ1bCBpZ25vcmUgZWxzZSAqL1xuICAgICAgaWYgKGl0LmNyZWF0ZUVycm9ycyAhPT0gZmFsc2UpIHtcbiAgICAgICAgb3V0ICs9ICcgeyBrZXl3b3JkOiBcXCcnICsgKCRlcnJvcktleXdvcmQgfHwgJ2ZhbHNlIHNjaGVtYScpICsgJ1xcJyAsIGRhdGFQYXRoOiAoZGF0YVBhdGggfHwgXFwnXFwnKSArICcgKyAoaXQuZXJyb3JQYXRoKSArICcgLCBzY2hlbWFQYXRoOiAnICsgKGl0LnV0aWwudG9RdW90ZWRTdHJpbmcoJGVyclNjaGVtYVBhdGgpKSArICcgLCBwYXJhbXM6IHt9ICc7XG4gICAgICAgIGlmIChpdC5vcHRzLm1lc3NhZ2VzICE9PSBmYWxzZSkge1xuICAgICAgICAgIG91dCArPSAnICwgbWVzc2FnZTogXFwnYm9vbGVhbiBzY2hlbWEgaXMgZmFsc2VcXCcgJztcbiAgICAgICAgfVxuICAgICAgICBpZiAoaXQub3B0cy52ZXJib3NlKSB7XG4gICAgICAgICAgb3V0ICs9ICcgLCBzY2hlbWE6IGZhbHNlICwgcGFyZW50U2NoZW1hOiB2YWxpZGF0ZS5zY2hlbWEnICsgKGl0LnNjaGVtYVBhdGgpICsgJyAsIGRhdGE6ICcgKyAoJGRhdGEpICsgJyAnO1xuICAgICAgICB9XG4gICAgICAgIG91dCArPSAnIH0gJztcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIG91dCArPSAnIHt9ICc7XG4gICAgICB9XG4gICAgICB2YXIgX19lcnIgPSBvdXQ7XG4gICAgICBvdXQgPSAkJG91dFN0YWNrLnBvcCgpO1xuICAgICAgaWYgKCFpdC5jb21wb3NpdGVSdWxlICYmICRicmVha09uRXJyb3IpIHtcbiAgICAgICAgLyogaXN0YW5idWwgaWdub3JlIGlmICovXG4gICAgICAgIGlmIChpdC5hc3luYykge1xuICAgICAgICAgIG91dCArPSAnIHRocm93IG5ldyBWYWxpZGF0aW9uRXJyb3IoWycgKyAoX19lcnIpICsgJ10pOyAnO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIG91dCArPSAnIHZhbGlkYXRlLmVycm9ycyA9IFsnICsgKF9fZXJyKSArICddOyByZXR1cm4gZmFsc2U7ICc7XG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIG91dCArPSAnIHZhciBlcnIgPSAnICsgKF9fZXJyKSArICc7ICBpZiAodkVycm9ycyA9PT0gbnVsbCkgdkVycm9ycyA9IFtlcnJdOyBlbHNlIHZFcnJvcnMucHVzaChlcnIpOyBlcnJvcnMrKzsgJztcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgaWYgKGl0LmlzVG9wKSB7XG4gICAgICAgIGlmICgkYXN5bmMpIHtcbiAgICAgICAgICBvdXQgKz0gJyByZXR1cm4gZGF0YTsgJztcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBvdXQgKz0gJyB2YWxpZGF0ZS5lcnJvcnMgPSBudWxsOyByZXR1cm4gdHJ1ZTsgJztcbiAgICAgICAgfVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgb3V0ICs9ICcgdmFyICcgKyAoJHZhbGlkKSArICcgPSB0cnVlOyAnO1xuICAgICAgfVxuICAgIH1cbiAgICBpZiAoaXQuaXNUb3ApIHtcbiAgICAgIG91dCArPSAnIH07IHJldHVybiB2YWxpZGF0ZTsgJztcbiAgICB9XG4gICAgcmV0dXJuIG91dDtcbiAgfVxuICBpZiAoaXQuaXNUb3ApIHtcbiAgICB2YXIgJHRvcCA9IGl0LmlzVG9wLFxuICAgICAgJGx2bCA9IGl0LmxldmVsID0gMCxcbiAgICAgICRkYXRhTHZsID0gaXQuZGF0YUxldmVsID0gMCxcbiAgICAgICRkYXRhID0gJ2RhdGEnO1xuICAgIGl0LnJvb3RJZCA9IGl0LnJlc29sdmUuZnVsbFBhdGgoaXQuc2VsZi5fZ2V0SWQoaXQucm9vdC5zY2hlbWEpKTtcbiAgICBpdC5iYXNlSWQgPSBpdC5iYXNlSWQgfHwgaXQucm9vdElkO1xuICAgIGRlbGV0ZSBpdC5pc1RvcDtcbiAgICBpdC5kYXRhUGF0aEFyciA9IFtcIlwiXTtcbiAgICBpZiAoaXQuc2NoZW1hLmRlZmF1bHQgIT09IHVuZGVmaW5lZCAmJiBpdC5vcHRzLnVzZURlZmF1bHRzICYmIGl0Lm9wdHMuc3RyaWN0RGVmYXVsdHMpIHtcbiAgICAgIHZhciAkZGVmYXVsdE1zZyA9ICdkZWZhdWx0IGlzIGlnbm9yZWQgaW4gdGhlIHNjaGVtYSByb290JztcbiAgICAgIGlmIChpdC5vcHRzLnN0cmljdERlZmF1bHRzID09PSAnbG9nJykgaXQubG9nZ2VyLndhcm4oJGRlZmF1bHRNc2cpO1xuICAgICAgZWxzZSB0aHJvdyBuZXcgRXJyb3IoJGRlZmF1bHRNc2cpO1xuICAgIH1cbiAgICBvdXQgKz0gJyB2YXIgdkVycm9ycyA9IG51bGw7ICc7XG4gICAgb3V0ICs9ICcgdmFyIGVycm9ycyA9IDA7ICAgICAnO1xuICAgIG91dCArPSAnIGlmIChyb290RGF0YSA9PT0gdW5kZWZpbmVkKSByb290RGF0YSA9IGRhdGE7ICc7XG4gIH0gZWxzZSB7XG4gICAgdmFyICRsdmwgPSBpdC5sZXZlbCxcbiAgICAgICRkYXRhTHZsID0gaXQuZGF0YUxldmVsLFxuICAgICAgJGRhdGEgPSAnZGF0YScgKyAoJGRhdGFMdmwgfHwgJycpO1xuICAgIGlmICgkaWQpIGl0LmJhc2VJZCA9IGl0LnJlc29sdmUudXJsKGl0LmJhc2VJZCwgJGlkKTtcbiAgICBpZiAoJGFzeW5jICYmICFpdC5hc3luYykgdGhyb3cgbmV3IEVycm9yKCdhc3luYyBzY2hlbWEgaW4gc3luYyBzY2hlbWEnKTtcbiAgICBvdXQgKz0gJyB2YXIgZXJyc18nICsgKCRsdmwpICsgJyA9IGVycm9yczsnO1xuICB9XG4gIHZhciAkdmFsaWQgPSAndmFsaWQnICsgJGx2bCxcbiAgICAkYnJlYWtPbkVycm9yID0gIWl0Lm9wdHMuYWxsRXJyb3JzLFxuICAgICRjbG9zaW5nQnJhY2VzMSA9ICcnLFxuICAgICRjbG9zaW5nQnJhY2VzMiA9ICcnO1xuICB2YXIgJGVycm9yS2V5d29yZDtcbiAgdmFyICR0eXBlU2NoZW1hID0gaXQuc2NoZW1hLnR5cGUsXG4gICAgJHR5cGVJc0FycmF5ID0gQXJyYXkuaXNBcnJheSgkdHlwZVNjaGVtYSk7XG4gIGlmICgkdHlwZVNjaGVtYSAmJiBpdC5vcHRzLm51bGxhYmxlICYmIGl0LnNjaGVtYS5udWxsYWJsZSA9PT0gdHJ1ZSkge1xuICAgIGlmICgkdHlwZUlzQXJyYXkpIHtcbiAgICAgIGlmICgkdHlwZVNjaGVtYS5pbmRleE9mKCdudWxsJykgPT0gLTEpICR0eXBlU2NoZW1hID0gJHR5cGVTY2hlbWEuY29uY2F0KCdudWxsJyk7XG4gICAgfSBlbHNlIGlmICgkdHlwZVNjaGVtYSAhPSAnbnVsbCcpIHtcbiAgICAgICR0eXBlU2NoZW1hID0gWyR0eXBlU2NoZW1hLCAnbnVsbCddO1xuICAgICAgJHR5cGVJc0FycmF5ID0gdHJ1ZTtcbiAgICB9XG4gIH1cbiAgaWYgKCR0eXBlSXNBcnJheSAmJiAkdHlwZVNjaGVtYS5sZW5ndGggPT0gMSkge1xuICAgICR0eXBlU2NoZW1hID0gJHR5cGVTY2hlbWFbMF07XG4gICAgJHR5cGVJc0FycmF5ID0gZmFsc2U7XG4gIH1cbiAgaWYgKGl0LnNjaGVtYS4kcmVmICYmICRyZWZLZXl3b3Jkcykge1xuICAgIGlmIChpdC5vcHRzLmV4dGVuZFJlZnMgPT0gJ2ZhaWwnKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJyRyZWY6IHZhbGlkYXRpb24ga2V5d29yZHMgdXNlZCBpbiBzY2hlbWEgYXQgcGF0aCBcIicgKyBpdC5lcnJTY2hlbWFQYXRoICsgJ1wiIChzZWUgb3B0aW9uIGV4dGVuZFJlZnMpJyk7XG4gICAgfSBlbHNlIGlmIChpdC5vcHRzLmV4dGVuZFJlZnMgIT09IHRydWUpIHtcbiAgICAgICRyZWZLZXl3b3JkcyA9IGZhbHNlO1xuICAgICAgaXQubG9nZ2VyLndhcm4oJyRyZWY6IGtleXdvcmRzIGlnbm9yZWQgaW4gc2NoZW1hIGF0IHBhdGggXCInICsgaXQuZXJyU2NoZW1hUGF0aCArICdcIicpO1xuICAgIH1cbiAgfVxuICBpZiAoaXQuc2NoZW1hLiRjb21tZW50ICYmIGl0Lm9wdHMuJGNvbW1lbnQpIHtcbiAgICBvdXQgKz0gJyAnICsgKGl0LlJVTEVTLmFsbC4kY29tbWVudC5jb2RlKGl0LCAnJGNvbW1lbnQnKSk7XG4gIH1cbiAgaWYgKCR0eXBlU2NoZW1hKSB7XG4gICAgaWYgKGl0Lm9wdHMuY29lcmNlVHlwZXMpIHtcbiAgICAgIHZhciAkY29lcmNlVG9UeXBlcyA9IGl0LnV0aWwuY29lcmNlVG9UeXBlcyhpdC5vcHRzLmNvZXJjZVR5cGVzLCAkdHlwZVNjaGVtYSk7XG4gICAgfVxuICAgIHZhciAkcnVsZXNHcm91cCA9IGl0LlJVTEVTLnR5cGVzWyR0eXBlU2NoZW1hXTtcbiAgICBpZiAoJGNvZXJjZVRvVHlwZXMgfHwgJHR5cGVJc0FycmF5IHx8ICRydWxlc0dyb3VwID09PSB0cnVlIHx8ICgkcnVsZXNHcm91cCAmJiAhJHNob3VsZFVzZUdyb3VwKCRydWxlc0dyb3VwKSkpIHtcbiAgICAgIHZhciAkc2NoZW1hUGF0aCA9IGl0LnNjaGVtYVBhdGggKyAnLnR5cGUnLFxuICAgICAgICAkZXJyU2NoZW1hUGF0aCA9IGl0LmVyclNjaGVtYVBhdGggKyAnL3R5cGUnO1xuICAgICAgdmFyICRzY2hlbWFQYXRoID0gaXQuc2NoZW1hUGF0aCArICcudHlwZScsXG4gICAgICAgICRlcnJTY2hlbWFQYXRoID0gaXQuZXJyU2NoZW1hUGF0aCArICcvdHlwZScsXG4gICAgICAgICRtZXRob2QgPSAkdHlwZUlzQXJyYXkgPyAnY2hlY2tEYXRhVHlwZXMnIDogJ2NoZWNrRGF0YVR5cGUnO1xuICAgICAgb3V0ICs9ICcgaWYgKCcgKyAoaXQudXRpbFskbWV0aG9kXSgkdHlwZVNjaGVtYSwgJGRhdGEsIGl0Lm9wdHMuc3RyaWN0TnVtYmVycywgdHJ1ZSkpICsgJykgeyAnO1xuICAgICAgaWYgKCRjb2VyY2VUb1R5cGVzKSB7XG4gICAgICAgIHZhciAkZGF0YVR5cGUgPSAnZGF0YVR5cGUnICsgJGx2bCxcbiAgICAgICAgICAkY29lcmNlZCA9ICdjb2VyY2VkJyArICRsdmw7XG4gICAgICAgIG91dCArPSAnIHZhciAnICsgKCRkYXRhVHlwZSkgKyAnID0gdHlwZW9mICcgKyAoJGRhdGEpICsgJzsgdmFyICcgKyAoJGNvZXJjZWQpICsgJyA9IHVuZGVmaW5lZDsgJztcbiAgICAgICAgaWYgKGl0Lm9wdHMuY29lcmNlVHlwZXMgPT0gJ2FycmF5Jykge1xuICAgICAgICAgIG91dCArPSAnIGlmICgnICsgKCRkYXRhVHlwZSkgKyAnID09IFxcJ29iamVjdFxcJyAmJiBBcnJheS5pc0FycmF5KCcgKyAoJGRhdGEpICsgJykgJiYgJyArICgkZGF0YSkgKyAnLmxlbmd0aCA9PSAxKSB7ICcgKyAoJGRhdGEpICsgJyA9ICcgKyAoJGRhdGEpICsgJ1swXTsgJyArICgkZGF0YVR5cGUpICsgJyA9IHR5cGVvZiAnICsgKCRkYXRhKSArICc7IGlmICgnICsgKGl0LnV0aWwuY2hlY2tEYXRhVHlwZShpdC5zY2hlbWEudHlwZSwgJGRhdGEsIGl0Lm9wdHMuc3RyaWN0TnVtYmVycykpICsgJykgJyArICgkY29lcmNlZCkgKyAnID0gJyArICgkZGF0YSkgKyAnOyB9ICc7XG4gICAgICAgIH1cbiAgICAgICAgb3V0ICs9ICcgaWYgKCcgKyAoJGNvZXJjZWQpICsgJyAhPT0gdW5kZWZpbmVkKSA7ICc7XG4gICAgICAgIHZhciBhcnIxID0gJGNvZXJjZVRvVHlwZXM7XG4gICAgICAgIGlmIChhcnIxKSB7XG4gICAgICAgICAgdmFyICR0eXBlLCAkaSA9IC0xLFxuICAgICAgICAgICAgbDEgPSBhcnIxLmxlbmd0aCAtIDE7XG4gICAgICAgICAgd2hpbGUgKCRpIDwgbDEpIHtcbiAgICAgICAgICAgICR0eXBlID0gYXJyMVskaSArPSAxXTtcbiAgICAgICAgICAgIGlmICgkdHlwZSA9PSAnc3RyaW5nJykge1xuICAgICAgICAgICAgICBvdXQgKz0gJyBlbHNlIGlmICgnICsgKCRkYXRhVHlwZSkgKyAnID09IFxcJ251bWJlclxcJyB8fCAnICsgKCRkYXRhVHlwZSkgKyAnID09IFxcJ2Jvb2xlYW5cXCcpICcgKyAoJGNvZXJjZWQpICsgJyA9IFxcJ1xcJyArICcgKyAoJGRhdGEpICsgJzsgZWxzZSBpZiAoJyArICgkZGF0YSkgKyAnID09PSBudWxsKSAnICsgKCRjb2VyY2VkKSArICcgPSBcXCdcXCc7ICc7XG4gICAgICAgICAgICB9IGVsc2UgaWYgKCR0eXBlID09ICdudW1iZXInIHx8ICR0eXBlID09ICdpbnRlZ2VyJykge1xuICAgICAgICAgICAgICBvdXQgKz0gJyBlbHNlIGlmICgnICsgKCRkYXRhVHlwZSkgKyAnID09IFxcJ2Jvb2xlYW5cXCcgfHwgJyArICgkZGF0YSkgKyAnID09PSBudWxsIHx8ICgnICsgKCRkYXRhVHlwZSkgKyAnID09IFxcJ3N0cmluZ1xcJyAmJiAnICsgKCRkYXRhKSArICcgJiYgJyArICgkZGF0YSkgKyAnID09ICsnICsgKCRkYXRhKSArICcgJztcbiAgICAgICAgICAgICAgaWYgKCR0eXBlID09ICdpbnRlZ2VyJykge1xuICAgICAgICAgICAgICAgIG91dCArPSAnICYmICEoJyArICgkZGF0YSkgKyAnICUgMSknO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIG91dCArPSAnKSkgJyArICgkY29lcmNlZCkgKyAnID0gKycgKyAoJGRhdGEpICsgJzsgJztcbiAgICAgICAgICAgIH0gZWxzZSBpZiAoJHR5cGUgPT0gJ2Jvb2xlYW4nKSB7XG4gICAgICAgICAgICAgIG91dCArPSAnIGVsc2UgaWYgKCcgKyAoJGRhdGEpICsgJyA9PT0gXFwnZmFsc2VcXCcgfHwgJyArICgkZGF0YSkgKyAnID09PSAwIHx8ICcgKyAoJGRhdGEpICsgJyA9PT0gbnVsbCkgJyArICgkY29lcmNlZCkgKyAnID0gZmFsc2U7IGVsc2UgaWYgKCcgKyAoJGRhdGEpICsgJyA9PT0gXFwndHJ1ZVxcJyB8fCAnICsgKCRkYXRhKSArICcgPT09IDEpICcgKyAoJGNvZXJjZWQpICsgJyA9IHRydWU7ICc7XG4gICAgICAgICAgICB9IGVsc2UgaWYgKCR0eXBlID09ICdudWxsJykge1xuICAgICAgICAgICAgICBvdXQgKz0gJyBlbHNlIGlmICgnICsgKCRkYXRhKSArICcgPT09IFxcJ1xcJyB8fCAnICsgKCRkYXRhKSArICcgPT09IDAgfHwgJyArICgkZGF0YSkgKyAnID09PSBmYWxzZSkgJyArICgkY29lcmNlZCkgKyAnID0gbnVsbDsgJztcbiAgICAgICAgICAgIH0gZWxzZSBpZiAoaXQub3B0cy5jb2VyY2VUeXBlcyA9PSAnYXJyYXknICYmICR0eXBlID09ICdhcnJheScpIHtcbiAgICAgICAgICAgICAgb3V0ICs9ICcgZWxzZSBpZiAoJyArICgkZGF0YVR5cGUpICsgJyA9PSBcXCdzdHJpbmdcXCcgfHwgJyArICgkZGF0YVR5cGUpICsgJyA9PSBcXCdudW1iZXJcXCcgfHwgJyArICgkZGF0YVR5cGUpICsgJyA9PSBcXCdib29sZWFuXFwnIHx8ICcgKyAoJGRhdGEpICsgJyA9PSBudWxsKSAnICsgKCRjb2VyY2VkKSArICcgPSBbJyArICgkZGF0YSkgKyAnXTsgJztcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgb3V0ICs9ICcgZWxzZSB7ICAgJztcbiAgICAgICAgdmFyICQkb3V0U3RhY2sgPSAkJG91dFN0YWNrIHx8IFtdO1xuICAgICAgICAkJG91dFN0YWNrLnB1c2gob3V0KTtcbiAgICAgICAgb3V0ID0gJyc7IC8qIGlzdGFuYnVsIGlnbm9yZSBlbHNlICovXG4gICAgICAgIGlmIChpdC5jcmVhdGVFcnJvcnMgIT09IGZhbHNlKSB7XG4gICAgICAgICAgb3V0ICs9ICcgeyBrZXl3b3JkOiBcXCcnICsgKCRlcnJvcktleXdvcmQgfHwgJ3R5cGUnKSArICdcXCcgLCBkYXRhUGF0aDogKGRhdGFQYXRoIHx8IFxcJ1xcJykgKyAnICsgKGl0LmVycm9yUGF0aCkgKyAnICwgc2NoZW1hUGF0aDogJyArIChpdC51dGlsLnRvUXVvdGVkU3RyaW5nKCRlcnJTY2hlbWFQYXRoKSkgKyAnICwgcGFyYW1zOiB7IHR5cGU6IFxcJyc7XG4gICAgICAgICAgaWYgKCR0eXBlSXNBcnJheSkge1xuICAgICAgICAgICAgb3V0ICs9ICcnICsgKCR0eXBlU2NoZW1hLmpvaW4oXCIsXCIpKTtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgb3V0ICs9ICcnICsgKCR0eXBlU2NoZW1hKTtcbiAgICAgICAgICB9XG4gICAgICAgICAgb3V0ICs9ICdcXCcgfSAnO1xuICAgICAgICAgIGlmIChpdC5vcHRzLm1lc3NhZ2VzICE9PSBmYWxzZSkge1xuICAgICAgICAgICAgb3V0ICs9ICcgLCBtZXNzYWdlOiBcXCdzaG91bGQgYmUgJztcbiAgICAgICAgICAgIGlmICgkdHlwZUlzQXJyYXkpIHtcbiAgICAgICAgICAgICAgb3V0ICs9ICcnICsgKCR0eXBlU2NoZW1hLmpvaW4oXCIsXCIpKTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgIG91dCArPSAnJyArICgkdHlwZVNjaGVtYSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBvdXQgKz0gJ1xcJyAnO1xuICAgICAgICAgIH1cbiAgICAgICAgICBpZiAoaXQub3B0cy52ZXJib3NlKSB7XG4gICAgICAgICAgICBvdXQgKz0gJyAsIHNjaGVtYTogdmFsaWRhdGUuc2NoZW1hJyArICgkc2NoZW1hUGF0aCkgKyAnICwgcGFyZW50U2NoZW1hOiB2YWxpZGF0ZS5zY2hlbWEnICsgKGl0LnNjaGVtYVBhdGgpICsgJyAsIGRhdGE6ICcgKyAoJGRhdGEpICsgJyAnO1xuICAgICAgICAgIH1cbiAgICAgICAgICBvdXQgKz0gJyB9ICc7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgb3V0ICs9ICcge30gJztcbiAgICAgICAgfVxuICAgICAgICB2YXIgX19lcnIgPSBvdXQ7XG4gICAgICAgIG91dCA9ICQkb3V0U3RhY2sucG9wKCk7XG4gICAgICAgIGlmICghaXQuY29tcG9zaXRlUnVsZSAmJiAkYnJlYWtPbkVycm9yKSB7XG4gICAgICAgICAgLyogaXN0YW5idWwgaWdub3JlIGlmICovXG4gICAgICAgICAgaWYgKGl0LmFzeW5jKSB7XG4gICAgICAgICAgICBvdXQgKz0gJyB0aHJvdyBuZXcgVmFsaWRhdGlvbkVycm9yKFsnICsgKF9fZXJyKSArICddKTsgJztcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgb3V0ICs9ICcgdmFsaWRhdGUuZXJyb3JzID0gWycgKyAoX19lcnIpICsgJ107IHJldHVybiBmYWxzZTsgJztcbiAgICAgICAgICB9XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgb3V0ICs9ICcgdmFyIGVyciA9ICcgKyAoX19lcnIpICsgJzsgIGlmICh2RXJyb3JzID09PSBudWxsKSB2RXJyb3JzID0gW2Vycl07IGVsc2UgdkVycm9ycy5wdXNoKGVycik7IGVycm9ycysrOyAnO1xuICAgICAgICB9XG4gICAgICAgIG91dCArPSAnIH0gaWYgKCcgKyAoJGNvZXJjZWQpICsgJyAhPT0gdW5kZWZpbmVkKSB7ICAnO1xuICAgICAgICB2YXIgJHBhcmVudERhdGEgPSAkZGF0YUx2bCA/ICdkYXRhJyArICgoJGRhdGFMdmwgLSAxKSB8fCAnJykgOiAncGFyZW50RGF0YScsXG4gICAgICAgICAgJHBhcmVudERhdGFQcm9wZXJ0eSA9ICRkYXRhTHZsID8gaXQuZGF0YVBhdGhBcnJbJGRhdGFMdmxdIDogJ3BhcmVudERhdGFQcm9wZXJ0eSc7XG4gICAgICAgIG91dCArPSAnICcgKyAoJGRhdGEpICsgJyA9ICcgKyAoJGNvZXJjZWQpICsgJzsgJztcbiAgICAgICAgaWYgKCEkZGF0YUx2bCkge1xuICAgICAgICAgIG91dCArPSAnaWYgKCcgKyAoJHBhcmVudERhdGEpICsgJyAhPT0gdW5kZWZpbmVkKSc7XG4gICAgICAgIH1cbiAgICAgICAgb3V0ICs9ICcgJyArICgkcGFyZW50RGF0YSkgKyAnWycgKyAoJHBhcmVudERhdGFQcm9wZXJ0eSkgKyAnXSA9ICcgKyAoJGNvZXJjZWQpICsgJzsgfSAnO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdmFyICQkb3V0U3RhY2sgPSAkJG91dFN0YWNrIHx8IFtdO1xuICAgICAgICAkJG91dFN0YWNrLnB1c2gob3V0KTtcbiAgICAgICAgb3V0ID0gJyc7IC8qIGlzdGFuYnVsIGlnbm9yZSBlbHNlICovXG4gICAgICAgIGlmIChpdC5jcmVhdGVFcnJvcnMgIT09IGZhbHNlKSB7XG4gICAgICAgICAgb3V0ICs9ICcgeyBrZXl3b3JkOiBcXCcnICsgKCRlcnJvcktleXdvcmQgfHwgJ3R5cGUnKSArICdcXCcgLCBkYXRhUGF0aDogKGRhdGFQYXRoIHx8IFxcJ1xcJykgKyAnICsgKGl0LmVycm9yUGF0aCkgKyAnICwgc2NoZW1hUGF0aDogJyArIChpdC51dGlsLnRvUXVvdGVkU3RyaW5nKCRlcnJTY2hlbWFQYXRoKSkgKyAnICwgcGFyYW1zOiB7IHR5cGU6IFxcJyc7XG4gICAgICAgICAgaWYgKCR0eXBlSXNBcnJheSkge1xuICAgICAgICAgICAgb3V0ICs9ICcnICsgKCR0eXBlU2NoZW1hLmpvaW4oXCIsXCIpKTtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgb3V0ICs9ICcnICsgKCR0eXBlU2NoZW1hKTtcbiAgICAgICAgICB9XG4gICAgICAgICAgb3V0ICs9ICdcXCcgfSAnO1xuICAgICAgICAgIGlmIChpdC5vcHRzLm1lc3NhZ2VzICE9PSBmYWxzZSkge1xuICAgICAgICAgICAgb3V0ICs9ICcgLCBtZXNzYWdlOiBcXCdzaG91bGQgYmUgJztcbiAgICAgICAgICAgIGlmICgkdHlwZUlzQXJyYXkpIHtcbiAgICAgICAgICAgICAgb3V0ICs9ICcnICsgKCR0eXBlU2NoZW1hLmpvaW4oXCIsXCIpKTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgIG91dCArPSAnJyArICgkdHlwZVNjaGVtYSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBvdXQgKz0gJ1xcJyAnO1xuICAgICAgICAgIH1cbiAgICAgICAgICBpZiAoaXQub3B0cy52ZXJib3NlKSB7XG4gICAgICAgICAgICBvdXQgKz0gJyAsIHNjaGVtYTogdmFsaWRhdGUuc2NoZW1hJyArICgkc2NoZW1hUGF0aCkgKyAnICwgcGFyZW50U2NoZW1hOiB2YWxpZGF0ZS5zY2hlbWEnICsgKGl0LnNjaGVtYVBhdGgpICsgJyAsIGRhdGE6ICcgKyAoJGRhdGEpICsgJyAnO1xuICAgICAgICAgIH1cbiAgICAgICAgICBvdXQgKz0gJyB9ICc7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgb3V0ICs9ICcge30gJztcbiAgICAgICAgfVxuICAgICAgICB2YXIgX19lcnIgPSBvdXQ7XG4gICAgICAgIG91dCA9ICQkb3V0U3RhY2sucG9wKCk7XG4gICAgICAgIGlmICghaXQuY29tcG9zaXRlUnVsZSAmJiAkYnJlYWtPbkVycm9yKSB7XG4gICAgICAgICAgLyogaXN0YW5idWwgaWdub3JlIGlmICovXG4gICAgICAgICAgaWYgKGl0LmFzeW5jKSB7XG4gICAgICAgICAgICBvdXQgKz0gJyB0aHJvdyBuZXcgVmFsaWRhdGlvbkVycm9yKFsnICsgKF9fZXJyKSArICddKTsgJztcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgb3V0ICs9ICcgdmFsaWRhdGUuZXJyb3JzID0gWycgKyAoX19lcnIpICsgJ107IHJldHVybiBmYWxzZTsgJztcbiAgICAgICAgICB9XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgb3V0ICs9ICcgdmFyIGVyciA9ICcgKyAoX19lcnIpICsgJzsgIGlmICh2RXJyb3JzID09PSBudWxsKSB2RXJyb3JzID0gW2Vycl07IGVsc2UgdkVycm9ycy5wdXNoKGVycik7IGVycm9ycysrOyAnO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICBvdXQgKz0gJyB9ICc7XG4gICAgfVxuICB9XG4gIGlmIChpdC5zY2hlbWEuJHJlZiAmJiAhJHJlZktleXdvcmRzKSB7XG4gICAgb3V0ICs9ICcgJyArIChpdC5SVUxFUy5hbGwuJHJlZi5jb2RlKGl0LCAnJHJlZicpKSArICcgJztcbiAgICBpZiAoJGJyZWFrT25FcnJvcikge1xuICAgICAgb3V0ICs9ICcgfSBpZiAoZXJyb3JzID09PSAnO1xuICAgICAgaWYgKCR0b3ApIHtcbiAgICAgICAgb3V0ICs9ICcwJztcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIG91dCArPSAnZXJyc18nICsgKCRsdmwpO1xuICAgICAgfVxuICAgICAgb3V0ICs9ICcpIHsgJztcbiAgICAgICRjbG9zaW5nQnJhY2VzMiArPSAnfSc7XG4gICAgfVxuICB9IGVsc2Uge1xuICAgIHZhciBhcnIyID0gaXQuUlVMRVM7XG4gICAgaWYgKGFycjIpIHtcbiAgICAgIHZhciAkcnVsZXNHcm91cCwgaTIgPSAtMSxcbiAgICAgICAgbDIgPSBhcnIyLmxlbmd0aCAtIDE7XG4gICAgICB3aGlsZSAoaTIgPCBsMikge1xuICAgICAgICAkcnVsZXNHcm91cCA9IGFycjJbaTIgKz0gMV07XG4gICAgICAgIGlmICgkc2hvdWxkVXNlR3JvdXAoJHJ1bGVzR3JvdXApKSB7XG4gICAgICAgICAgaWYgKCRydWxlc0dyb3VwLnR5cGUpIHtcbiAgICAgICAgICAgIG91dCArPSAnIGlmICgnICsgKGl0LnV0aWwuY2hlY2tEYXRhVHlwZSgkcnVsZXNHcm91cC50eXBlLCAkZGF0YSwgaXQub3B0cy5zdHJpY3ROdW1iZXJzKSkgKyAnKSB7ICc7XG4gICAgICAgICAgfVxuICAgICAgICAgIGlmIChpdC5vcHRzLnVzZURlZmF1bHRzKSB7XG4gICAgICAgICAgICBpZiAoJHJ1bGVzR3JvdXAudHlwZSA9PSAnb2JqZWN0JyAmJiBpdC5zY2hlbWEucHJvcGVydGllcykge1xuICAgICAgICAgICAgICB2YXIgJHNjaGVtYSA9IGl0LnNjaGVtYS5wcm9wZXJ0aWVzLFxuICAgICAgICAgICAgICAgICRzY2hlbWFLZXlzID0gT2JqZWN0LmtleXMoJHNjaGVtYSk7XG4gICAgICAgICAgICAgIHZhciBhcnIzID0gJHNjaGVtYUtleXM7XG4gICAgICAgICAgICAgIGlmIChhcnIzKSB7XG4gICAgICAgICAgICAgICAgdmFyICRwcm9wZXJ0eUtleSwgaTMgPSAtMSxcbiAgICAgICAgICAgICAgICAgIGwzID0gYXJyMy5sZW5ndGggLSAxO1xuICAgICAgICAgICAgICAgIHdoaWxlIChpMyA8IGwzKSB7XG4gICAgICAgICAgICAgICAgICAkcHJvcGVydHlLZXkgPSBhcnIzW2kzICs9IDFdO1xuICAgICAgICAgICAgICAgICAgdmFyICRzY2ggPSAkc2NoZW1hWyRwcm9wZXJ0eUtleV07XG4gICAgICAgICAgICAgICAgICBpZiAoJHNjaC5kZWZhdWx0ICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgICAgICAgICAgdmFyICRwYXNzRGF0YSA9ICRkYXRhICsgaXQudXRpbC5nZXRQcm9wZXJ0eSgkcHJvcGVydHlLZXkpO1xuICAgICAgICAgICAgICAgICAgICBpZiAoaXQuY29tcG9zaXRlUnVsZSkge1xuICAgICAgICAgICAgICAgICAgICAgIGlmIChpdC5vcHRzLnN0cmljdERlZmF1bHRzKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB2YXIgJGRlZmF1bHRNc2cgPSAnZGVmYXVsdCBpcyBpZ25vcmVkIGZvcjogJyArICRwYXNzRGF0YTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChpdC5vcHRzLnN0cmljdERlZmF1bHRzID09PSAnbG9nJykgaXQubG9nZ2VyLndhcm4oJGRlZmF1bHRNc2cpO1xuICAgICAgICAgICAgICAgICAgICAgICAgZWxzZSB0aHJvdyBuZXcgRXJyb3IoJGRlZmF1bHRNc2cpO1xuICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICBvdXQgKz0gJyBpZiAoJyArICgkcGFzc0RhdGEpICsgJyA9PT0gdW5kZWZpbmVkICc7XG4gICAgICAgICAgICAgICAgICAgICAgaWYgKGl0Lm9wdHMudXNlRGVmYXVsdHMgPT0gJ2VtcHR5Jykge1xuICAgICAgICAgICAgICAgICAgICAgICAgb3V0ICs9ICcgfHwgJyArICgkcGFzc0RhdGEpICsgJyA9PT0gbnVsbCB8fCAnICsgKCRwYXNzRGF0YSkgKyAnID09PSBcXCdcXCcgJztcbiAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgb3V0ICs9ICcgKSAnICsgKCRwYXNzRGF0YSkgKyAnID0gJztcbiAgICAgICAgICAgICAgICAgICAgICBpZiAoaXQub3B0cy51c2VEZWZhdWx0cyA9PSAnc2hhcmVkJykge1xuICAgICAgICAgICAgICAgICAgICAgICAgb3V0ICs9ICcgJyArIChpdC51c2VEZWZhdWx0KCRzY2guZGVmYXVsdCkpICsgJyAnO1xuICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBvdXQgKz0gJyAnICsgKEpTT04uc3RyaW5naWZ5KCRzY2guZGVmYXVsdCkpICsgJyAnO1xuICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICBvdXQgKz0gJzsgJztcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSBlbHNlIGlmICgkcnVsZXNHcm91cC50eXBlID09ICdhcnJheScgJiYgQXJyYXkuaXNBcnJheShpdC5zY2hlbWEuaXRlbXMpKSB7XG4gICAgICAgICAgICAgIHZhciBhcnI0ID0gaXQuc2NoZW1hLml0ZW1zO1xuICAgICAgICAgICAgICBpZiAoYXJyNCkge1xuICAgICAgICAgICAgICAgIHZhciAkc2NoLCAkaSA9IC0xLFxuICAgICAgICAgICAgICAgICAgbDQgPSBhcnI0Lmxlbmd0aCAtIDE7XG4gICAgICAgICAgICAgICAgd2hpbGUgKCRpIDwgbDQpIHtcbiAgICAgICAgICAgICAgICAgICRzY2ggPSBhcnI0WyRpICs9IDFdO1xuICAgICAgICAgICAgICAgICAgaWYgKCRzY2guZGVmYXVsdCAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICAgICAgICAgIHZhciAkcGFzc0RhdGEgPSAkZGF0YSArICdbJyArICRpICsgJ10nO1xuICAgICAgICAgICAgICAgICAgICBpZiAoaXQuY29tcG9zaXRlUnVsZSkge1xuICAgICAgICAgICAgICAgICAgICAgIGlmIChpdC5vcHRzLnN0cmljdERlZmF1bHRzKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB2YXIgJGRlZmF1bHRNc2cgPSAnZGVmYXVsdCBpcyBpZ25vcmVkIGZvcjogJyArICRwYXNzRGF0YTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChpdC5vcHRzLnN0cmljdERlZmF1bHRzID09PSAnbG9nJykgaXQubG9nZ2VyLndhcm4oJGRlZmF1bHRNc2cpO1xuICAgICAgICAgICAgICAgICAgICAgICAgZWxzZSB0aHJvdyBuZXcgRXJyb3IoJGRlZmF1bHRNc2cpO1xuICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICBvdXQgKz0gJyBpZiAoJyArICgkcGFzc0RhdGEpICsgJyA9PT0gdW5kZWZpbmVkICc7XG4gICAgICAgICAgICAgICAgICAgICAgaWYgKGl0Lm9wdHMudXNlRGVmYXVsdHMgPT0gJ2VtcHR5Jykge1xuICAgICAgICAgICAgICAgICAgICAgICAgb3V0ICs9ICcgfHwgJyArICgkcGFzc0RhdGEpICsgJyA9PT0gbnVsbCB8fCAnICsgKCRwYXNzRGF0YSkgKyAnID09PSBcXCdcXCcgJztcbiAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgb3V0ICs9ICcgKSAnICsgKCRwYXNzRGF0YSkgKyAnID0gJztcbiAgICAgICAgICAgICAgICAgICAgICBpZiAoaXQub3B0cy51c2VEZWZhdWx0cyA9PSAnc2hhcmVkJykge1xuICAgICAgICAgICAgICAgICAgICAgICAgb3V0ICs9ICcgJyArIChpdC51c2VEZWZhdWx0KCRzY2guZGVmYXVsdCkpICsgJyAnO1xuICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBvdXQgKz0gJyAnICsgKEpTT04uc3RyaW5naWZ5KCRzY2guZGVmYXVsdCkpICsgJyAnO1xuICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICBvdXQgKz0gJzsgJztcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgICB2YXIgYXJyNSA9ICRydWxlc0dyb3VwLnJ1bGVzO1xuICAgICAgICAgIGlmIChhcnI1KSB7XG4gICAgICAgICAgICB2YXIgJHJ1bGUsIGk1ID0gLTEsXG4gICAgICAgICAgICAgIGw1ID0gYXJyNS5sZW5ndGggLSAxO1xuICAgICAgICAgICAgd2hpbGUgKGk1IDwgbDUpIHtcbiAgICAgICAgICAgICAgJHJ1bGUgPSBhcnI1W2k1ICs9IDFdO1xuICAgICAgICAgICAgICBpZiAoJHNob3VsZFVzZVJ1bGUoJHJ1bGUpKSB7XG4gICAgICAgICAgICAgICAgdmFyICRjb2RlID0gJHJ1bGUuY29kZShpdCwgJHJ1bGUua2V5d29yZCwgJHJ1bGVzR3JvdXAudHlwZSk7XG4gICAgICAgICAgICAgICAgaWYgKCRjb2RlKSB7XG4gICAgICAgICAgICAgICAgICBvdXQgKz0gJyAnICsgKCRjb2RlKSArICcgJztcbiAgICAgICAgICAgICAgICAgIGlmICgkYnJlYWtPbkVycm9yKSB7XG4gICAgICAgICAgICAgICAgICAgICRjbG9zaW5nQnJhY2VzMSArPSAnfSc7XG4gICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICAgIGlmICgkYnJlYWtPbkVycm9yKSB7XG4gICAgICAgICAgICBvdXQgKz0gJyAnICsgKCRjbG9zaW5nQnJhY2VzMSkgKyAnICc7XG4gICAgICAgICAgICAkY2xvc2luZ0JyYWNlczEgPSAnJztcbiAgICAgICAgICB9XG4gICAgICAgICAgaWYgKCRydWxlc0dyb3VwLnR5cGUpIHtcbiAgICAgICAgICAgIG91dCArPSAnIH0gJztcbiAgICAgICAgICAgIGlmICgkdHlwZVNjaGVtYSAmJiAkdHlwZVNjaGVtYSA9PT0gJHJ1bGVzR3JvdXAudHlwZSAmJiAhJGNvZXJjZVRvVHlwZXMpIHtcbiAgICAgICAgICAgICAgb3V0ICs9ICcgZWxzZSB7ICc7XG4gICAgICAgICAgICAgIHZhciAkc2NoZW1hUGF0aCA9IGl0LnNjaGVtYVBhdGggKyAnLnR5cGUnLFxuICAgICAgICAgICAgICAgICRlcnJTY2hlbWFQYXRoID0gaXQuZXJyU2NoZW1hUGF0aCArICcvdHlwZSc7XG4gICAgICAgICAgICAgIHZhciAkJG91dFN0YWNrID0gJCRvdXRTdGFjayB8fCBbXTtcbiAgICAgICAgICAgICAgJCRvdXRTdGFjay5wdXNoKG91dCk7XG4gICAgICAgICAgICAgIG91dCA9ICcnOyAvKiBpc3RhbmJ1bCBpZ25vcmUgZWxzZSAqL1xuICAgICAgICAgICAgICBpZiAoaXQuY3JlYXRlRXJyb3JzICE9PSBmYWxzZSkge1xuICAgICAgICAgICAgICAgIG91dCArPSAnIHsga2V5d29yZDogXFwnJyArICgkZXJyb3JLZXl3b3JkIHx8ICd0eXBlJykgKyAnXFwnICwgZGF0YVBhdGg6IChkYXRhUGF0aCB8fCBcXCdcXCcpICsgJyArIChpdC5lcnJvclBhdGgpICsgJyAsIHNjaGVtYVBhdGg6ICcgKyAoaXQudXRpbC50b1F1b3RlZFN0cmluZygkZXJyU2NoZW1hUGF0aCkpICsgJyAsIHBhcmFtczogeyB0eXBlOiBcXCcnO1xuICAgICAgICAgICAgICAgIGlmICgkdHlwZUlzQXJyYXkpIHtcbiAgICAgICAgICAgICAgICAgIG91dCArPSAnJyArICgkdHlwZVNjaGVtYS5qb2luKFwiLFwiKSk7XG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgIG91dCArPSAnJyArICgkdHlwZVNjaGVtYSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIG91dCArPSAnXFwnIH0gJztcbiAgICAgICAgICAgICAgICBpZiAoaXQub3B0cy5tZXNzYWdlcyAhPT0gZmFsc2UpIHtcbiAgICAgICAgICAgICAgICAgIG91dCArPSAnICwgbWVzc2FnZTogXFwnc2hvdWxkIGJlICc7XG4gICAgICAgICAgICAgICAgICBpZiAoJHR5cGVJc0FycmF5KSB7XG4gICAgICAgICAgICAgICAgICAgIG91dCArPSAnJyArICgkdHlwZVNjaGVtYS5qb2luKFwiLFwiKSk7XG4gICAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICBvdXQgKz0gJycgKyAoJHR5cGVTY2hlbWEpO1xuICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgb3V0ICs9ICdcXCcgJztcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaWYgKGl0Lm9wdHMudmVyYm9zZSkge1xuICAgICAgICAgICAgICAgICAgb3V0ICs9ICcgLCBzY2hlbWE6IHZhbGlkYXRlLnNjaGVtYScgKyAoJHNjaGVtYVBhdGgpICsgJyAsIHBhcmVudFNjaGVtYTogdmFsaWRhdGUuc2NoZW1hJyArIChpdC5zY2hlbWFQYXRoKSArICcgLCBkYXRhOiAnICsgKCRkYXRhKSArICcgJztcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgb3V0ICs9ICcgfSAnO1xuICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIG91dCArPSAnIHt9ICc7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgdmFyIF9fZXJyID0gb3V0O1xuICAgICAgICAgICAgICBvdXQgPSAkJG91dFN0YWNrLnBvcCgpO1xuICAgICAgICAgICAgICBpZiAoIWl0LmNvbXBvc2l0ZVJ1bGUgJiYgJGJyZWFrT25FcnJvcikge1xuICAgICAgICAgICAgICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBpZiAqL1xuICAgICAgICAgICAgICAgIGlmIChpdC5hc3luYykge1xuICAgICAgICAgICAgICAgICAgb3V0ICs9ICcgdGhyb3cgbmV3IFZhbGlkYXRpb25FcnJvcihbJyArIChfX2VycikgKyAnXSk7ICc7XG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgIG91dCArPSAnIHZhbGlkYXRlLmVycm9ycyA9IFsnICsgKF9fZXJyKSArICddOyByZXR1cm4gZmFsc2U7ICc7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIG91dCArPSAnIHZhciBlcnIgPSAnICsgKF9fZXJyKSArICc7ICBpZiAodkVycm9ycyA9PT0gbnVsbCkgdkVycm9ycyA9IFtlcnJdOyBlbHNlIHZFcnJvcnMucHVzaChlcnIpOyBlcnJvcnMrKzsgJztcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICBvdXQgKz0gJyB9ICc7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICAgIGlmICgkYnJlYWtPbkVycm9yKSB7XG4gICAgICAgICAgICBvdXQgKz0gJyBpZiAoZXJyb3JzID09PSAnO1xuICAgICAgICAgICAgaWYgKCR0b3ApIHtcbiAgICAgICAgICAgICAgb3V0ICs9ICcwJztcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgIG91dCArPSAnZXJyc18nICsgKCRsdmwpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgb3V0ICs9ICcpIHsgJztcbiAgICAgICAgICAgICRjbG9zaW5nQnJhY2VzMiArPSAnfSc7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG4gIGlmICgkYnJlYWtPbkVycm9yKSB7XG4gICAgb3V0ICs9ICcgJyArICgkY2xvc2luZ0JyYWNlczIpICsgJyAnO1xuICB9XG4gIGlmICgkdG9wKSB7XG4gICAgaWYgKCRhc3luYykge1xuICAgICAgb3V0ICs9ICcgaWYgKGVycm9ycyA9PT0gMCkgcmV0dXJuIGRhdGE7ICAgICAgICAgICAnO1xuICAgICAgb3V0ICs9ICcgZWxzZSB0aHJvdyBuZXcgVmFsaWRhdGlvbkVycm9yKHZFcnJvcnMpOyAnO1xuICAgIH0gZWxzZSB7XG4gICAgICBvdXQgKz0gJyB2YWxpZGF0ZS5lcnJvcnMgPSB2RXJyb3JzOyAnO1xuICAgICAgb3V0ICs9ICcgcmV0dXJuIGVycm9ycyA9PT0gMDsgICAgICAgJztcbiAgICB9XG4gICAgb3V0ICs9ICcgfTsgcmV0dXJuIHZhbGlkYXRlOyc7XG4gIH0gZWxzZSB7XG4gICAgb3V0ICs9ICcgdmFyICcgKyAoJHZhbGlkKSArICcgPSBlcnJvcnMgPT09IGVycnNfJyArICgkbHZsKSArICc7JztcbiAgfVxuXG4gIGZ1bmN0aW9uICRzaG91bGRVc2VHcm91cCgkcnVsZXNHcm91cCkge1xuICAgIHZhciBydWxlcyA9ICRydWxlc0dyb3VwLnJ1bGVzO1xuICAgIGZvciAodmFyIGkgPSAwOyBpIDwgcnVsZXMubGVuZ3RoOyBpKyspXG4gICAgICBpZiAoJHNob3VsZFVzZVJ1bGUocnVsZXNbaV0pKSByZXR1cm4gdHJ1ZTtcbiAgfVxuXG4gIGZ1bmN0aW9uICRzaG91bGRVc2VSdWxlKCRydWxlKSB7XG4gICAgcmV0dXJuIGl0LnNjaGVtYVskcnVsZS5rZXl3b3JkXSAhPT0gdW5kZWZpbmVkIHx8ICgkcnVsZS5pbXBsZW1lbnRzICYmICRydWxlSW1wbGVtZW50c1NvbWVLZXl3b3JkKCRydWxlKSk7XG4gIH1cblxuICBmdW5jdGlvbiAkcnVsZUltcGxlbWVudHNTb21lS2V5d29yZCgkcnVsZSkge1xuICAgIHZhciBpbXBsID0gJHJ1bGUuaW1wbGVtZW50cztcbiAgICBmb3IgKHZhciBpID0gMDsgaSA8IGltcGwubGVuZ3RoOyBpKyspXG4gICAgICBpZiAoaXQuc2NoZW1hW2ltcGxbaV1dICE9PSB1bmRlZmluZWQpIHJldHVybiB0cnVlO1xuICB9XG4gIHJldHVybiBvdXQ7XG59XG4iLCAiJ3VzZSBzdHJpY3QnO1xuXG52YXIgcmVzb2x2ZSA9IHJlcXVpcmUoJy4vcmVzb2x2ZScpXG4gICwgdXRpbCA9IHJlcXVpcmUoJy4vdXRpbCcpXG4gICwgZXJyb3JDbGFzc2VzID0gcmVxdWlyZSgnLi9lcnJvcl9jbGFzc2VzJylcbiAgLCBzdGFibGVTdHJpbmdpZnkgPSByZXF1aXJlKCdmYXN0LWpzb24tc3RhYmxlLXN0cmluZ2lmeScpO1xuXG52YXIgdmFsaWRhdGVHZW5lcmF0b3IgPSByZXF1aXJlKCcuLi9kb3Rqcy92YWxpZGF0ZScpO1xuXG4vKipcbiAqIEZ1bmN0aW9ucyBiZWxvdyBhcmUgdXNlZCBpbnNpZGUgY29tcGlsZWQgdmFsaWRhdGlvbnMgZnVuY3Rpb25cbiAqL1xuXG52YXIgdWNzMmxlbmd0aCA9IHV0aWwudWNzMmxlbmd0aDtcbnZhciBlcXVhbCA9IHJlcXVpcmUoJ2Zhc3QtZGVlcC1lcXVhbCcpO1xuXG4vLyB0aGlzIGVycm9yIGlzIHRocm93biBieSBhc3luYyBzY2hlbWFzIHRvIHJldHVybiB2YWxpZGF0aW9uIGVycm9ycyB2aWEgZXhjZXB0aW9uXG52YXIgVmFsaWRhdGlvbkVycm9yID0gZXJyb3JDbGFzc2VzLlZhbGlkYXRpb247XG5cbm1vZHVsZS5leHBvcnRzID0gY29tcGlsZTtcblxuXG4vKipcbiAqIENvbXBpbGVzIHNjaGVtYSB0byB2YWxpZGF0aW9uIGZ1bmN0aW9uXG4gKiBAdGhpcyAgIEFqdlxuICogQHBhcmFtICB7T2JqZWN0fSBzY2hlbWEgc2NoZW1hIG9iamVjdFxuICogQHBhcmFtICB7T2JqZWN0fSByb290IG9iamVjdCB3aXRoIGluZm9ybWF0aW9uIGFib3V0IHRoZSByb290IHNjaGVtYSBmb3IgdGhpcyBzY2hlbWFcbiAqIEBwYXJhbSAge09iamVjdH0gbG9jYWxSZWZzIHRoZSBoYXNoIG9mIGxvY2FsIHJlZmVyZW5jZXMgaW5zaWRlIHRoZSBzY2hlbWEgKGNyZWF0ZWQgYnkgcmVzb2x2ZS5pZCksIHVzZWQgZm9yIGlubGluZSByZXNvbHV0aW9uXG4gKiBAcGFyYW0gIHtTdHJpbmd9IGJhc2VJZCBiYXNlIElEIGZvciBJRHMgaW4gdGhlIHNjaGVtYVxuICogQHJldHVybiB7RnVuY3Rpb259IHZhbGlkYXRpb24gZnVuY3Rpb25cbiAqL1xuZnVuY3Rpb24gY29tcGlsZShzY2hlbWEsIHJvb3QsIGxvY2FsUmVmcywgYmFzZUlkKSB7XG4gIC8qIGpzaGludCB2YWxpZHRoaXM6IHRydWUsIGV2aWw6IHRydWUgKi9cbiAgLyogZXNsaW50IG5vLXNoYWRvdzogMCAqL1xuICB2YXIgc2VsZiA9IHRoaXNcbiAgICAsIG9wdHMgPSB0aGlzLl9vcHRzXG4gICAgLCByZWZWYWwgPSBbIHVuZGVmaW5lZCBdXG4gICAgLCByZWZzID0ge31cbiAgICAsIHBhdHRlcm5zID0gW11cbiAgICAsIHBhdHRlcm5zSGFzaCA9IHt9XG4gICAgLCBkZWZhdWx0cyA9IFtdXG4gICAgLCBkZWZhdWx0c0hhc2ggPSB7fVxuICAgICwgY3VzdG9tUnVsZXMgPSBbXTtcblxuICByb290ID0gcm9vdCB8fCB7IHNjaGVtYTogc2NoZW1hLCByZWZWYWw6IHJlZlZhbCwgcmVmczogcmVmcyB9O1xuXG4gIHZhciBjID0gY2hlY2tDb21waWxpbmcuY2FsbCh0aGlzLCBzY2hlbWEsIHJvb3QsIGJhc2VJZCk7XG4gIHZhciBjb21waWxhdGlvbiA9IHRoaXMuX2NvbXBpbGF0aW9uc1tjLmluZGV4XTtcbiAgaWYgKGMuY29tcGlsaW5nKSByZXR1cm4gKGNvbXBpbGF0aW9uLmNhbGxWYWxpZGF0ZSA9IGNhbGxWYWxpZGF0ZSk7XG5cbiAgdmFyIGZvcm1hdHMgPSB0aGlzLl9mb3JtYXRzO1xuICB2YXIgUlVMRVMgPSB0aGlzLlJVTEVTO1xuXG4gIHRyeSB7XG4gICAgdmFyIHYgPSBsb2NhbENvbXBpbGUoc2NoZW1hLCByb290LCBsb2NhbFJlZnMsIGJhc2VJZCk7XG4gICAgY29tcGlsYXRpb24udmFsaWRhdGUgPSB2O1xuICAgIHZhciBjdiA9IGNvbXBpbGF0aW9uLmNhbGxWYWxpZGF0ZTtcbiAgICBpZiAoY3YpIHtcbiAgICAgIGN2LnNjaGVtYSA9IHYuc2NoZW1hO1xuICAgICAgY3YuZXJyb3JzID0gbnVsbDtcbiAgICAgIGN2LnJlZnMgPSB2LnJlZnM7XG4gICAgICBjdi5yZWZWYWwgPSB2LnJlZlZhbDtcbiAgICAgIGN2LnJvb3QgPSB2LnJvb3Q7XG4gICAgICBjdi4kYXN5bmMgPSB2LiRhc3luYztcbiAgICAgIGlmIChvcHRzLnNvdXJjZUNvZGUpIGN2LnNvdXJjZSA9IHYuc291cmNlO1xuICAgIH1cbiAgICByZXR1cm4gdjtcbiAgfSBmaW5hbGx5IHtcbiAgICBlbmRDb21waWxpbmcuY2FsbCh0aGlzLCBzY2hlbWEsIHJvb3QsIGJhc2VJZCk7XG4gIH1cblxuICAvKiBAdGhpcyAgIHsqfSAtIGN1c3RvbSBjb250ZXh0LCBzZWUgcGFzc0NvbnRleHQgb3B0aW9uICovXG4gIGZ1bmN0aW9uIGNhbGxWYWxpZGF0ZSgpIHtcbiAgICAvKiBqc2hpbnQgdmFsaWR0aGlzOiB0cnVlICovXG4gICAgdmFyIHZhbGlkYXRlID0gY29tcGlsYXRpb24udmFsaWRhdGU7XG4gICAgdmFyIHJlc3VsdCA9IHZhbGlkYXRlLmFwcGx5KHRoaXMsIGFyZ3VtZW50cyk7XG4gICAgY2FsbFZhbGlkYXRlLmVycm9ycyA9IHZhbGlkYXRlLmVycm9ycztcbiAgICByZXR1cm4gcmVzdWx0O1xuICB9XG5cbiAgZnVuY3Rpb24gbG9jYWxDb21waWxlKF9zY2hlbWEsIF9yb290LCBsb2NhbFJlZnMsIGJhc2VJZCkge1xuICAgIHZhciBpc1Jvb3QgPSAhX3Jvb3QgfHwgKF9yb290ICYmIF9yb290LnNjaGVtYSA9PSBfc2NoZW1hKTtcbiAgICBpZiAoX3Jvb3Quc2NoZW1hICE9IHJvb3Quc2NoZW1hKVxuICAgICAgcmV0dXJuIGNvbXBpbGUuY2FsbChzZWxmLCBfc2NoZW1hLCBfcm9vdCwgbG9jYWxSZWZzLCBiYXNlSWQpO1xuXG4gICAgdmFyICRhc3luYyA9IF9zY2hlbWEuJGFzeW5jID09PSB0cnVlO1xuXG4gICAgdmFyIHNvdXJjZUNvZGUgPSB2YWxpZGF0ZUdlbmVyYXRvcih7XG4gICAgICBpc1RvcDogdHJ1ZSxcbiAgICAgIHNjaGVtYTogX3NjaGVtYSxcbiAgICAgIGlzUm9vdDogaXNSb290LFxuICAgICAgYmFzZUlkOiBiYXNlSWQsXG4gICAgICByb290OiBfcm9vdCxcbiAgICAgIHNjaGVtYVBhdGg6ICcnLFxuICAgICAgZXJyU2NoZW1hUGF0aDogJyMnLFxuICAgICAgZXJyb3JQYXRoOiAnXCJcIicsXG4gICAgICBNaXNzaW5nUmVmRXJyb3I6IGVycm9yQ2xhc3Nlcy5NaXNzaW5nUmVmLFxuICAgICAgUlVMRVM6IFJVTEVTLFxuICAgICAgdmFsaWRhdGU6IHZhbGlkYXRlR2VuZXJhdG9yLFxuICAgICAgdXRpbDogdXRpbCxcbiAgICAgIHJlc29sdmU6IHJlc29sdmUsXG4gICAgICByZXNvbHZlUmVmOiByZXNvbHZlUmVmLFxuICAgICAgdXNlUGF0dGVybjogdXNlUGF0dGVybixcbiAgICAgIHVzZURlZmF1bHQ6IHVzZURlZmF1bHQsXG4gICAgICB1c2VDdXN0b21SdWxlOiB1c2VDdXN0b21SdWxlLFxuICAgICAgb3B0czogb3B0cyxcbiAgICAgIGZvcm1hdHM6IGZvcm1hdHMsXG4gICAgICBsb2dnZXI6IHNlbGYubG9nZ2VyLFxuICAgICAgc2VsZjogc2VsZlxuICAgIH0pO1xuXG4gICAgc291cmNlQ29kZSA9IHZhcnMocmVmVmFsLCByZWZWYWxDb2RlKSArIHZhcnMocGF0dGVybnMsIHBhdHRlcm5Db2RlKVxuICAgICAgICAgICAgICAgICAgICsgdmFycyhkZWZhdWx0cywgZGVmYXVsdENvZGUpICsgdmFycyhjdXN0b21SdWxlcywgY3VzdG9tUnVsZUNvZGUpXG4gICAgICAgICAgICAgICAgICAgKyBzb3VyY2VDb2RlO1xuXG4gICAgaWYgKG9wdHMucHJvY2Vzc0NvZGUpIHNvdXJjZUNvZGUgPSBvcHRzLnByb2Nlc3NDb2RlKHNvdXJjZUNvZGUsIF9zY2hlbWEpO1xuICAgIC8vIGNvbnNvbGUubG9nKCdcXG5cXG5cXG4gKioqIFxcbicsIEpTT04uc3RyaW5naWZ5KHNvdXJjZUNvZGUpKTtcbiAgICB2YXIgdmFsaWRhdGU7XG4gICAgdHJ5IHtcbiAgICAgIHZhciBtYWtlVmFsaWRhdGUgPSBuZXcgRnVuY3Rpb24oXG4gICAgICAgICdzZWxmJyxcbiAgICAgICAgJ1JVTEVTJyxcbiAgICAgICAgJ2Zvcm1hdHMnLFxuICAgICAgICAncm9vdCcsXG4gICAgICAgICdyZWZWYWwnLFxuICAgICAgICAnZGVmYXVsdHMnLFxuICAgICAgICAnY3VzdG9tUnVsZXMnLFxuICAgICAgICAnZXF1YWwnLFxuICAgICAgICAndWNzMmxlbmd0aCcsXG4gICAgICAgICdWYWxpZGF0aW9uRXJyb3InLFxuICAgICAgICBzb3VyY2VDb2RlXG4gICAgICApO1xuXG4gICAgICB2YWxpZGF0ZSA9IG1ha2VWYWxpZGF0ZShcbiAgICAgICAgc2VsZixcbiAgICAgICAgUlVMRVMsXG4gICAgICAgIGZvcm1hdHMsXG4gICAgICAgIHJvb3QsXG4gICAgICAgIHJlZlZhbCxcbiAgICAgICAgZGVmYXVsdHMsXG4gICAgICAgIGN1c3RvbVJ1bGVzLFxuICAgICAgICBlcXVhbCxcbiAgICAgICAgdWNzMmxlbmd0aCxcbiAgICAgICAgVmFsaWRhdGlvbkVycm9yXG4gICAgICApO1xuXG4gICAgICByZWZWYWxbMF0gPSB2YWxpZGF0ZTtcbiAgICB9IGNhdGNoKGUpIHtcbiAgICAgIHNlbGYubG9nZ2VyLmVycm9yKCdFcnJvciBjb21waWxpbmcgc2NoZW1hLCBmdW5jdGlvbiBjb2RlOicsIHNvdXJjZUNvZGUpO1xuICAgICAgdGhyb3cgZTtcbiAgICB9XG5cbiAgICB2YWxpZGF0ZS5zY2hlbWEgPSBfc2NoZW1hO1xuICAgIHZhbGlkYXRlLmVycm9ycyA9IG51bGw7XG4gICAgdmFsaWRhdGUucmVmcyA9IHJlZnM7XG4gICAgdmFsaWRhdGUucmVmVmFsID0gcmVmVmFsO1xuICAgIHZhbGlkYXRlLnJvb3QgPSBpc1Jvb3QgPyB2YWxpZGF0ZSA6IF9yb290O1xuICAgIGlmICgkYXN5bmMpIHZhbGlkYXRlLiRhc3luYyA9IHRydWU7XG4gICAgaWYgKG9wdHMuc291cmNlQ29kZSA9PT0gdHJ1ZSkge1xuICAgICAgdmFsaWRhdGUuc291cmNlID0ge1xuICAgICAgICBjb2RlOiBzb3VyY2VDb2RlLFxuICAgICAgICBwYXR0ZXJuczogcGF0dGVybnMsXG4gICAgICAgIGRlZmF1bHRzOiBkZWZhdWx0c1xuICAgICAgfTtcbiAgICB9XG5cbiAgICByZXR1cm4gdmFsaWRhdGU7XG4gIH1cblxuICBmdW5jdGlvbiByZXNvbHZlUmVmKGJhc2VJZCwgcmVmLCBpc1Jvb3QpIHtcbiAgICByZWYgPSByZXNvbHZlLnVybChiYXNlSWQsIHJlZik7XG4gICAgdmFyIHJlZkluZGV4ID0gcmVmc1tyZWZdO1xuICAgIHZhciBfcmVmVmFsLCByZWZDb2RlO1xuICAgIGlmIChyZWZJbmRleCAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICBfcmVmVmFsID0gcmVmVmFsW3JlZkluZGV4XTtcbiAgICAgIHJlZkNvZGUgPSAncmVmVmFsWycgKyByZWZJbmRleCArICddJztcbiAgICAgIHJldHVybiByZXNvbHZlZFJlZihfcmVmVmFsLCByZWZDb2RlKTtcbiAgICB9XG4gICAgaWYgKCFpc1Jvb3QgJiYgcm9vdC5yZWZzKSB7XG4gICAgICB2YXIgcm9vdFJlZklkID0gcm9vdC5yZWZzW3JlZl07XG4gICAgICBpZiAocm9vdFJlZklkICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgX3JlZlZhbCA9IHJvb3QucmVmVmFsW3Jvb3RSZWZJZF07XG4gICAgICAgIHJlZkNvZGUgPSBhZGRMb2NhbFJlZihyZWYsIF9yZWZWYWwpO1xuICAgICAgICByZXR1cm4gcmVzb2x2ZWRSZWYoX3JlZlZhbCwgcmVmQ29kZSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmVmQ29kZSA9IGFkZExvY2FsUmVmKHJlZik7XG4gICAgdmFyIHYgPSByZXNvbHZlLmNhbGwoc2VsZiwgbG9jYWxDb21waWxlLCByb290LCByZWYpO1xuICAgIGlmICh2ID09PSB1bmRlZmluZWQpIHtcbiAgICAgIHZhciBsb2NhbFNjaGVtYSA9IGxvY2FsUmVmcyAmJiBsb2NhbFJlZnNbcmVmXTtcbiAgICAgIGlmIChsb2NhbFNjaGVtYSkge1xuICAgICAgICB2ID0gcmVzb2x2ZS5pbmxpbmVSZWYobG9jYWxTY2hlbWEsIG9wdHMuaW5saW5lUmVmcylcbiAgICAgICAgICAgID8gbG9jYWxTY2hlbWFcbiAgICAgICAgICAgIDogY29tcGlsZS5jYWxsKHNlbGYsIGxvY2FsU2NoZW1hLCByb290LCBsb2NhbFJlZnMsIGJhc2VJZCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgaWYgKHYgPT09IHVuZGVmaW5lZCkge1xuICAgICAgcmVtb3ZlTG9jYWxSZWYocmVmKTtcbiAgICB9IGVsc2Uge1xuICAgICAgcmVwbGFjZUxvY2FsUmVmKHJlZiwgdik7XG4gICAgICByZXR1cm4gcmVzb2x2ZWRSZWYodiwgcmVmQ29kZSk7XG4gICAgfVxuICB9XG5cbiAgZnVuY3Rpb24gYWRkTG9jYWxSZWYocmVmLCB2KSB7XG4gICAgdmFyIHJlZklkID0gcmVmVmFsLmxlbmd0aDtcbiAgICByZWZWYWxbcmVmSWRdID0gdjtcbiAgICByZWZzW3JlZl0gPSByZWZJZDtcbiAgICByZXR1cm4gJ3JlZlZhbCcgKyByZWZJZDtcbiAgfVxuXG4gIGZ1bmN0aW9uIHJlbW92ZUxvY2FsUmVmKHJlZikge1xuICAgIGRlbGV0ZSByZWZzW3JlZl07XG4gIH1cblxuICBmdW5jdGlvbiByZXBsYWNlTG9jYWxSZWYocmVmLCB2KSB7XG4gICAgdmFyIHJlZklkID0gcmVmc1tyZWZdO1xuICAgIHJlZlZhbFtyZWZJZF0gPSB2O1xuICB9XG5cbiAgZnVuY3Rpb24gcmVzb2x2ZWRSZWYocmVmVmFsLCBjb2RlKSB7XG4gICAgcmV0dXJuIHR5cGVvZiByZWZWYWwgPT0gJ29iamVjdCcgfHwgdHlwZW9mIHJlZlZhbCA9PSAnYm9vbGVhbidcbiAgICAgICAgICAgID8geyBjb2RlOiBjb2RlLCBzY2hlbWE6IHJlZlZhbCwgaW5saW5lOiB0cnVlIH1cbiAgICAgICAgICAgIDogeyBjb2RlOiBjb2RlLCAkYXN5bmM6IHJlZlZhbCAmJiAhIXJlZlZhbC4kYXN5bmMgfTtcbiAgfVxuXG4gIGZ1bmN0aW9uIHVzZVBhdHRlcm4ocmVnZXhTdHIpIHtcbiAgICB2YXIgaW5kZXggPSBwYXR0ZXJuc0hhc2hbcmVnZXhTdHJdO1xuICAgIGlmIChpbmRleCA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICBpbmRleCA9IHBhdHRlcm5zSGFzaFtyZWdleFN0cl0gPSBwYXR0ZXJucy5sZW5ndGg7XG4gICAgICBwYXR0ZXJuc1tpbmRleF0gPSByZWdleFN0cjtcbiAgICB9XG4gICAgcmV0dXJuICdwYXR0ZXJuJyArIGluZGV4O1xuICB9XG5cbiAgZnVuY3Rpb24gdXNlRGVmYXVsdCh2YWx1ZSkge1xuICAgIHN3aXRjaCAodHlwZW9mIHZhbHVlKSB7XG4gICAgICBjYXNlICdib29sZWFuJzpcbiAgICAgIGNhc2UgJ251bWJlcic6XG4gICAgICAgIHJldHVybiAnJyArIHZhbHVlO1xuICAgICAgY2FzZSAnc3RyaW5nJzpcbiAgICAgICAgcmV0dXJuIHV0aWwudG9RdW90ZWRTdHJpbmcodmFsdWUpO1xuICAgICAgY2FzZSAnb2JqZWN0JzpcbiAgICAgICAgaWYgKHZhbHVlID09PSBudWxsKSByZXR1cm4gJ251bGwnO1xuICAgICAgICB2YXIgdmFsdWVTdHIgPSBzdGFibGVTdHJpbmdpZnkodmFsdWUpO1xuICAgICAgICB2YXIgaW5kZXggPSBkZWZhdWx0c0hhc2hbdmFsdWVTdHJdO1xuICAgICAgICBpZiAoaW5kZXggPT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgIGluZGV4ID0gZGVmYXVsdHNIYXNoW3ZhbHVlU3RyXSA9IGRlZmF1bHRzLmxlbmd0aDtcbiAgICAgICAgICBkZWZhdWx0c1tpbmRleF0gPSB2YWx1ZTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gJ2RlZmF1bHQnICsgaW5kZXg7XG4gICAgfVxuICB9XG5cbiAgZnVuY3Rpb24gdXNlQ3VzdG9tUnVsZShydWxlLCBzY2hlbWEsIHBhcmVudFNjaGVtYSwgaXQpIHtcbiAgICBpZiAoc2VsZi5fb3B0cy52YWxpZGF0ZVNjaGVtYSAhPT0gZmFsc2UpIHtcbiAgICAgIHZhciBkZXBzID0gcnVsZS5kZWZpbml0aW9uLmRlcGVuZGVuY2llcztcbiAgICAgIGlmIChkZXBzICYmICFkZXBzLmV2ZXJ5KGZ1bmN0aW9uKGtleXdvcmQpIHtcbiAgICAgICAgcmV0dXJuIE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChwYXJlbnRTY2hlbWEsIGtleXdvcmQpO1xuICAgICAgfSkpXG4gICAgICAgIHRocm93IG5ldyBFcnJvcigncGFyZW50IHNjaGVtYSBtdXN0IGhhdmUgYWxsIHJlcXVpcmVkIGtleXdvcmRzOiAnICsgZGVwcy5qb2luKCcsJykpO1xuXG4gICAgICB2YXIgdmFsaWRhdGVTY2hlbWEgPSBydWxlLmRlZmluaXRpb24udmFsaWRhdGVTY2hlbWE7XG4gICAgICBpZiAodmFsaWRhdGVTY2hlbWEpIHtcbiAgICAgICAgdmFyIHZhbGlkID0gdmFsaWRhdGVTY2hlbWEoc2NoZW1hKTtcbiAgICAgICAgaWYgKCF2YWxpZCkge1xuICAgICAgICAgIHZhciBtZXNzYWdlID0gJ2tleXdvcmQgc2NoZW1hIGlzIGludmFsaWQ6ICcgKyBzZWxmLmVycm9yc1RleHQodmFsaWRhdGVTY2hlbWEuZXJyb3JzKTtcbiAgICAgICAgICBpZiAoc2VsZi5fb3B0cy52YWxpZGF0ZVNjaGVtYSA9PSAnbG9nJykgc2VsZi5sb2dnZXIuZXJyb3IobWVzc2FnZSk7XG4gICAgICAgICAgZWxzZSB0aHJvdyBuZXcgRXJyb3IobWVzc2FnZSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICB2YXIgY29tcGlsZSA9IHJ1bGUuZGVmaW5pdGlvbi5jb21waWxlXG4gICAgICAsIGlubGluZSA9IHJ1bGUuZGVmaW5pdGlvbi5pbmxpbmVcbiAgICAgICwgbWFjcm8gPSBydWxlLmRlZmluaXRpb24ubWFjcm87XG5cbiAgICB2YXIgdmFsaWRhdGU7XG4gICAgaWYgKGNvbXBpbGUpIHtcbiAgICAgIHZhbGlkYXRlID0gY29tcGlsZS5jYWxsKHNlbGYsIHNjaGVtYSwgcGFyZW50U2NoZW1hLCBpdCk7XG4gICAgfSBlbHNlIGlmIChtYWNybykge1xuICAgICAgdmFsaWRhdGUgPSBtYWNyby5jYWxsKHNlbGYsIHNjaGVtYSwgcGFyZW50U2NoZW1hLCBpdCk7XG4gICAgICBpZiAob3B0cy52YWxpZGF0ZVNjaGVtYSAhPT0gZmFsc2UpIHNlbGYudmFsaWRhdGVTY2hlbWEodmFsaWRhdGUsIHRydWUpO1xuICAgIH0gZWxzZSBpZiAoaW5saW5lKSB7XG4gICAgICB2YWxpZGF0ZSA9IGlubGluZS5jYWxsKHNlbGYsIGl0LCBydWxlLmtleXdvcmQsIHNjaGVtYSwgcGFyZW50U2NoZW1hKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdmFsaWRhdGUgPSBydWxlLmRlZmluaXRpb24udmFsaWRhdGU7XG4gICAgICBpZiAoIXZhbGlkYXRlKSByZXR1cm47XG4gICAgfVxuXG4gICAgaWYgKHZhbGlkYXRlID09PSB1bmRlZmluZWQpXG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ2N1c3RvbSBrZXl3b3JkIFwiJyArIHJ1bGUua2V5d29yZCArICdcImZhaWxlZCB0byBjb21waWxlJyk7XG5cbiAgICB2YXIgaW5kZXggPSBjdXN0b21SdWxlcy5sZW5ndGg7XG4gICAgY3VzdG9tUnVsZXNbaW5kZXhdID0gdmFsaWRhdGU7XG5cbiAgICByZXR1cm4ge1xuICAgICAgY29kZTogJ2N1c3RvbVJ1bGUnICsgaW5kZXgsXG4gICAgICB2YWxpZGF0ZTogdmFsaWRhdGVcbiAgICB9O1xuICB9XG59XG5cblxuLyoqXG4gKiBDaGVja3MgaWYgdGhlIHNjaGVtYSBpcyBjdXJyZW50bHkgY29tcGlsZWRcbiAqIEB0aGlzICAgQWp2XG4gKiBAcGFyYW0gIHtPYmplY3R9IHNjaGVtYSBzY2hlbWEgdG8gY29tcGlsZVxuICogQHBhcmFtICB7T2JqZWN0fSByb290IHJvb3Qgb2JqZWN0XG4gKiBAcGFyYW0gIHtTdHJpbmd9IGJhc2VJZCBiYXNlIHNjaGVtYSBJRFxuICogQHJldHVybiB7T2JqZWN0fSBvYmplY3Qgd2l0aCBwcm9wZXJ0aWVzIFwiaW5kZXhcIiAoY29tcGlsYXRpb24gaW5kZXgpIGFuZCBcImNvbXBpbGluZ1wiIChib29sZWFuKVxuICovXG5mdW5jdGlvbiBjaGVja0NvbXBpbGluZyhzY2hlbWEsIHJvb3QsIGJhc2VJZCkge1xuICAvKiBqc2hpbnQgdmFsaWR0aGlzOiB0cnVlICovXG4gIHZhciBpbmRleCA9IGNvbXBJbmRleC5jYWxsKHRoaXMsIHNjaGVtYSwgcm9vdCwgYmFzZUlkKTtcbiAgaWYgKGluZGV4ID49IDApIHJldHVybiB7IGluZGV4OiBpbmRleCwgY29tcGlsaW5nOiB0cnVlIH07XG4gIGluZGV4ID0gdGhpcy5fY29tcGlsYXRpb25zLmxlbmd0aDtcbiAgdGhpcy5fY29tcGlsYXRpb25zW2luZGV4XSA9IHtcbiAgICBzY2hlbWE6IHNjaGVtYSxcbiAgICByb290OiByb290LFxuICAgIGJhc2VJZDogYmFzZUlkXG4gIH07XG4gIHJldHVybiB7IGluZGV4OiBpbmRleCwgY29tcGlsaW5nOiBmYWxzZSB9O1xufVxuXG5cbi8qKlxuICogUmVtb3ZlcyB0aGUgc2NoZW1hIGZyb20gdGhlIGN1cnJlbnRseSBjb21waWxlZCBsaXN0XG4gKiBAdGhpcyAgIEFqdlxuICogQHBhcmFtICB7T2JqZWN0fSBzY2hlbWEgc2NoZW1hIHRvIGNvbXBpbGVcbiAqIEBwYXJhbSAge09iamVjdH0gcm9vdCByb290IG9iamVjdFxuICogQHBhcmFtICB7U3RyaW5nfSBiYXNlSWQgYmFzZSBzY2hlbWEgSURcbiAqL1xuZnVuY3Rpb24gZW5kQ29tcGlsaW5nKHNjaGVtYSwgcm9vdCwgYmFzZUlkKSB7XG4gIC8qIGpzaGludCB2YWxpZHRoaXM6IHRydWUgKi9cbiAgdmFyIGkgPSBjb21wSW5kZXguY2FsbCh0aGlzLCBzY2hlbWEsIHJvb3QsIGJhc2VJZCk7XG4gIGlmIChpID49IDApIHRoaXMuX2NvbXBpbGF0aW9ucy5zcGxpY2UoaSwgMSk7XG59XG5cblxuLyoqXG4gKiBJbmRleCBvZiBzY2hlbWEgY29tcGlsYXRpb24gaW4gdGhlIGN1cnJlbnRseSBjb21waWxlZCBsaXN0XG4gKiBAdGhpcyAgIEFqdlxuICogQHBhcmFtICB7T2JqZWN0fSBzY2hlbWEgc2NoZW1hIHRvIGNvbXBpbGVcbiAqIEBwYXJhbSAge09iamVjdH0gcm9vdCByb290IG9iamVjdFxuICogQHBhcmFtICB7U3RyaW5nfSBiYXNlSWQgYmFzZSBzY2hlbWEgSURcbiAqIEByZXR1cm4ge0ludGVnZXJ9IGNvbXBpbGF0aW9uIGluZGV4XG4gKi9cbmZ1bmN0aW9uIGNvbXBJbmRleChzY2hlbWEsIHJvb3QsIGJhc2VJZCkge1xuICAvKiBqc2hpbnQgdmFsaWR0aGlzOiB0cnVlICovXG4gIGZvciAodmFyIGk9MDsgaTx0aGlzLl9jb21waWxhdGlvbnMubGVuZ3RoOyBpKyspIHtcbiAgICB2YXIgYyA9IHRoaXMuX2NvbXBpbGF0aW9uc1tpXTtcbiAgICBpZiAoYy5zY2hlbWEgPT0gc2NoZW1hICYmIGMucm9vdCA9PSByb290ICYmIGMuYmFzZUlkID09IGJhc2VJZCkgcmV0dXJuIGk7XG4gIH1cbiAgcmV0dXJuIC0xO1xufVxuXG5cbmZ1bmN0aW9uIHBhdHRlcm5Db2RlKGksIHBhdHRlcm5zKSB7XG4gIHJldHVybiAndmFyIHBhdHRlcm4nICsgaSArICcgPSBuZXcgUmVnRXhwKCcgKyB1dGlsLnRvUXVvdGVkU3RyaW5nKHBhdHRlcm5zW2ldKSArICcpOyc7XG59XG5cblxuZnVuY3Rpb24gZGVmYXVsdENvZGUoaSkge1xuICByZXR1cm4gJ3ZhciBkZWZhdWx0JyArIGkgKyAnID0gZGVmYXVsdHNbJyArIGkgKyAnXTsnO1xufVxuXG5cbmZ1bmN0aW9uIHJlZlZhbENvZGUoaSwgcmVmVmFsKSB7XG4gIHJldHVybiByZWZWYWxbaV0gPT09IHVuZGVmaW5lZCA/ICcnIDogJ3ZhciByZWZWYWwnICsgaSArICcgPSByZWZWYWxbJyArIGkgKyAnXTsnO1xufVxuXG5cbmZ1bmN0aW9uIGN1c3RvbVJ1bGVDb2RlKGkpIHtcbiAgcmV0dXJuICd2YXIgY3VzdG9tUnVsZScgKyBpICsgJyA9IGN1c3RvbVJ1bGVzWycgKyBpICsgJ107Jztcbn1cblxuXG5mdW5jdGlvbiB2YXJzKGFyciwgc3RhdGVtZW50KSB7XG4gIGlmICghYXJyLmxlbmd0aCkgcmV0dXJuICcnO1xuICB2YXIgY29kZSA9ICcnO1xuICBmb3IgKHZhciBpPTA7IGk8YXJyLmxlbmd0aDsgaSsrKVxuICAgIGNvZGUgKz0gc3RhdGVtZW50KGksIGFycik7XG4gIHJldHVybiBjb2RlO1xufVxuIiwgIid1c2Ugc3RyaWN0JztcblxuXG52YXIgQ2FjaGUgPSBtb2R1bGUuZXhwb3J0cyA9IGZ1bmN0aW9uIENhY2hlKCkge1xuICB0aGlzLl9jYWNoZSA9IHt9O1xufTtcblxuXG5DYWNoZS5wcm90b3R5cGUucHV0ID0gZnVuY3Rpb24gQ2FjaGVfcHV0KGtleSwgdmFsdWUpIHtcbiAgdGhpcy5fY2FjaGVba2V5XSA9IHZhbHVlO1xufTtcblxuXG5DYWNoZS5wcm90b3R5cGUuZ2V0ID0gZnVuY3Rpb24gQ2FjaGVfZ2V0KGtleSkge1xuICByZXR1cm4gdGhpcy5fY2FjaGVba2V5XTtcbn07XG5cblxuQ2FjaGUucHJvdG90eXBlLmRlbCA9IGZ1bmN0aW9uIENhY2hlX2RlbChrZXkpIHtcbiAgZGVsZXRlIHRoaXMuX2NhY2hlW2tleV07XG59O1xuXG5cbkNhY2hlLnByb3RvdHlwZS5jbGVhciA9IGZ1bmN0aW9uIENhY2hlX2NsZWFyKCkge1xuICB0aGlzLl9jYWNoZSA9IHt9O1xufTtcbiIsICIndXNlIHN0cmljdCc7XG5cbnZhciB1dGlsID0gcmVxdWlyZSgnLi91dGlsJyk7XG5cbnZhciBEQVRFID0gL14oXFxkXFxkXFxkXFxkKS0oXFxkXFxkKS0oXFxkXFxkKSQvO1xudmFyIERBWVMgPSBbMCwzMSwyOCwzMSwzMCwzMSwzMCwzMSwzMSwzMCwzMSwzMCwzMV07XG52YXIgVElNRSA9IC9eKFxcZFxcZCk6KFxcZFxcZCk6KFxcZFxcZCkoXFwuXFxkKyk/KHp8WystXVxcZFxcZCg/Ojo/XFxkXFxkKT8pPyQvaTtcbnZhciBIT1NUTkFNRSA9IC9eKD89LnsxLDI1M31cXC4/JClbYS16MC05XSg/OlthLXowLTktXXswLDYxfVthLXowLTldKT8oPzpcXC5bYS16MC05XSg/OlstMC05YS16XXswLDYxfVswLTlhLXpdKT8pKlxcLj8kL2k7XG52YXIgVVJJID0gL14oPzpbYS16XVthLXowLTkrXFwtLl0qOikoPzpcXC8/XFwvKD86KD86W2EtejAtOVxcLS5ffiEkJicoKSorLDs9Ol18JVswLTlhLWZdezJ9KSpAKT8oPzpcXFsoPzooPzooPzooPzpbMC05YS1mXXsxLDR9Oil7Nn18OjooPzpbMC05YS1mXXsxLDR9Oil7NX18KD86WzAtOWEtZl17MSw0fSk/OjooPzpbMC05YS1mXXsxLDR9Oil7NH18KD86KD86WzAtOWEtZl17MSw0fTopezAsMX1bMC05YS1mXXsxLDR9KT86Oig/OlswLTlhLWZdezEsNH06KXszfXwoPzooPzpbMC05YS1mXXsxLDR9Oil7MCwyfVswLTlhLWZdezEsNH0pPzo6KD86WzAtOWEtZl17MSw0fTopezJ9fCg/Oig/OlswLTlhLWZdezEsNH06KXswLDN9WzAtOWEtZl17MSw0fSk/OjpbMC05YS1mXXsxLDR9OnwoPzooPzpbMC05YS1mXXsxLDR9Oil7MCw0fVswLTlhLWZdezEsNH0pPzo6KSg/OlswLTlhLWZdezEsNH06WzAtOWEtZl17MSw0fXwoPzooPzoyNVswLTVdfDJbMC00XVxcZHxbMDFdP1xcZFxcZD8pXFwuKXszfSg/OjI1WzAtNV18MlswLTRdXFxkfFswMV0/XFxkXFxkPykpfCg/Oig/OlswLTlhLWZdezEsNH06KXswLDV9WzAtOWEtZl17MSw0fSk/OjpbMC05YS1mXXsxLDR9fCg/Oig/OlswLTlhLWZdezEsNH06KXswLDZ9WzAtOWEtZl17MSw0fSk/OjopfFtWdl1bMC05YS1mXStcXC5bYS16MC05XFwtLl9+ISQmJygpKissOz06XSspXFxdfCg/Oig/OjI1WzAtNV18MlswLTRdXFxkfFswMV0/XFxkXFxkPylcXC4pezN9KD86MjVbMC01XXwyWzAtNF1cXGR8WzAxXT9cXGRcXGQ/KXwoPzpbYS16MC05XFwtLl9+ISQmJygpKissOz1dfCVbMC05YS1mXXsyfSkqKSg/OjpcXGQqKT8oPzpcXC8oPzpbYS16MC05XFwtLl9+ISQmJygpKissOz06QF18JVswLTlhLWZdezJ9KSopKnxcXC8oPzooPzpbYS16MC05XFwtLl9+ISQmJygpKissOz06QF18JVswLTlhLWZdezJ9KSsoPzpcXC8oPzpbYS16MC05XFwtLl9+ISQmJygpKissOz06QF18JVswLTlhLWZdezJ9KSopKik/fCg/OlthLXowLTlcXC0uX34hJCYnKCkqKyw7PTpAXXwlWzAtOWEtZl17Mn0pKyg/OlxcLyg/OlthLXowLTlcXC0uX34hJCYnKCkqKyw7PTpAXXwlWzAtOWEtZl17Mn0pKikqKSg/OlxcPyg/OlthLXowLTlcXC0uX34hJCYnKCkqKyw7PTpALz9dfCVbMC05YS1mXXsyfSkqKT8oPzojKD86W2EtejAtOVxcLS5ffiEkJicoKSorLDs9OkAvP118JVswLTlhLWZdezJ9KSopPyQvaTtcbnZhciBVUklSRUYgPSAvXig/OlthLXpdW2EtejAtOStcXC0uXSo6KT8oPzpcXC8/XFwvKD86KD86W2EtejAtOVxcLS5ffiEkJicoKSorLDs9Ol18JVswLTlhLWZdezJ9KSpAKT8oPzpcXFsoPzooPzooPzooPzpbMC05YS1mXXsxLDR9Oil7Nn18OjooPzpbMC05YS1mXXsxLDR9Oil7NX18KD86WzAtOWEtZl17MSw0fSk/OjooPzpbMC05YS1mXXsxLDR9Oil7NH18KD86KD86WzAtOWEtZl17MSw0fTopezAsMX1bMC05YS1mXXsxLDR9KT86Oig/OlswLTlhLWZdezEsNH06KXszfXwoPzooPzpbMC05YS1mXXsxLDR9Oil7MCwyfVswLTlhLWZdezEsNH0pPzo6KD86WzAtOWEtZl17MSw0fTopezJ9fCg/Oig/OlswLTlhLWZdezEsNH06KXswLDN9WzAtOWEtZl17MSw0fSk/OjpbMC05YS1mXXsxLDR9OnwoPzooPzpbMC05YS1mXXsxLDR9Oil7MCw0fVswLTlhLWZdezEsNH0pPzo6KSg/OlswLTlhLWZdezEsNH06WzAtOWEtZl17MSw0fXwoPzooPzoyNVswLTVdfDJbMC00XVxcZHxbMDFdP1xcZFxcZD8pXFwuKXszfSg/OjI1WzAtNV18MlswLTRdXFxkfFswMV0/XFxkXFxkPykpfCg/Oig/OlswLTlhLWZdezEsNH06KXswLDV9WzAtOWEtZl17MSw0fSk/OjpbMC05YS1mXXsxLDR9fCg/Oig/OlswLTlhLWZdezEsNH06KXswLDZ9WzAtOWEtZl17MSw0fSk/OjopfFtWdl1bMC05YS1mXStcXC5bYS16MC05XFwtLl9+ISQmJygpKissOz06XSspXFxdfCg/Oig/OjI1WzAtNV18MlswLTRdXFxkfFswMV0/XFxkXFxkPylcXC4pezN9KD86MjVbMC01XXwyWzAtNF1cXGR8WzAxXT9cXGRcXGQ/KXwoPzpbYS16MC05XFwtLl9+ISQmJ1wiKCkqKyw7PV18JVswLTlhLWZdezJ9KSopKD86OlxcZCopPyg/OlxcLyg/OlthLXowLTlcXC0uX34hJCYnXCIoKSorLDs9OkBdfCVbMC05YS1mXXsyfSkqKSp8XFwvKD86KD86W2EtejAtOVxcLS5ffiEkJidcIigpKissOz06QF18JVswLTlhLWZdezJ9KSsoPzpcXC8oPzpbYS16MC05XFwtLl9+ISQmJ1wiKCkqKyw7PTpAXXwlWzAtOWEtZl17Mn0pKikqKT98KD86W2EtejAtOVxcLS5ffiEkJidcIigpKissOz06QF18JVswLTlhLWZdezJ9KSsoPzpcXC8oPzpbYS16MC05XFwtLl9+ISQmJ1wiKCkqKyw7PTpAXXwlWzAtOWEtZl17Mn0pKikqKT8oPzpcXD8oPzpbYS16MC05XFwtLl9+ISQmJ1wiKCkqKyw7PTpALz9dfCVbMC05YS1mXXsyfSkqKT8oPzojKD86W2EtejAtOVxcLS5ffiEkJidcIigpKissOz06QC8/XXwlWzAtOWEtZl17Mn0pKik/JC9pO1xuLy8gdXJpLXRlbXBsYXRlOiBodHRwczovL3Rvb2xzLmlldGYub3JnL2h0bWwvcmZjNjU3MFxudmFyIFVSSVRFTVBMQVRFID0gL14oPzooPzpbXlxceDAwLVxceDIwXCInPD4lXFxcXF5ge3x9XXwlWzAtOWEtZl17Mn0pfFxce1srIy4vOz8mPSwhQHxdPyg/OlthLXowLTlfXXwlWzAtOWEtZl17Mn0pKyg/OjpbMS05XVswLTldezAsM318XFwqKT8oPzosKD86W2EtejAtOV9dfCVbMC05YS1mXXsyfSkrKD86OlsxLTldWzAtOV17MCwzfXxcXCopPykqXFx9KSokL2k7XG4vLyBGb3IgdGhlIHNvdXJjZTogaHR0cHM6Ly9naXN0LmdpdGh1Yi5jb20vZHBlcmluaS83MjkyOTRcbi8vIEZvciB0ZXN0IGNhc2VzOiBodHRwczovL21hdGhpYXNieW5lbnMuYmUvZGVtby91cmwtcmVnZXhcbi8vIEB0b2RvIERlbGV0ZSBjdXJyZW50IFVSTCBpbiBmYXZvdXIgb2YgdGhlIGNvbW1lbnRlZCBvdXQgVVJMIHJ1bGUgd2hlbiB0aGlzIGlzc3VlIGlzIGZpeGVkIGh0dHBzOi8vZ2l0aHViLmNvbS9lc2xpbnQvZXNsaW50L2lzc3Vlcy83OTgzLlxuLy8gdmFyIFVSTCA9IC9eKD86KD86aHR0cHM/fGZ0cCk6XFwvXFwvKSg/OlxcUysoPzo6XFxTKik/QCk/KD86KD8hMTAoPzpcXC5cXGR7MSwzfSl7M30pKD8hMTI3KD86XFwuXFxkezEsM30pezN9KSg/ITE2OVxcLjI1NCg/OlxcLlxcZHsxLDN9KXsyfSkoPyExOTJcXC4xNjgoPzpcXC5cXGR7MSwzfSl7Mn0pKD8hMTcyXFwuKD86MVs2LTldfDJcXGR8M1swLTFdKSg/OlxcLlxcZHsxLDN9KXsyfSkoPzpbMS05XVxcZD98MVxcZFxcZHwyWzAxXVxcZHwyMlswLTNdKSg/OlxcLig/OjE/XFxkezEsMn18MlswLTRdXFxkfDI1WzAtNV0pKXsyfSg/OlxcLig/OlsxLTldXFxkP3wxXFxkXFxkfDJbMC00XVxcZHwyNVswLTRdKSl8KD86KD86W2EtelxcdXswMGExfS1cXHV7ZmZmZn0wLTldKy0pKlthLXpcXHV7MDBhMX0tXFx1e2ZmZmZ9MC05XSspKD86XFwuKD86W2EtelxcdXswMGExfS1cXHV7ZmZmZn0wLTldKy0pKlthLXpcXHV7MDBhMX0tXFx1e2ZmZmZ9MC05XSspKig/OlxcLig/OlthLXpcXHV7MDBhMX0tXFx1e2ZmZmZ9XXsyLH0pKSkoPzo6XFxkezIsNX0pPyg/OlxcL1teXFxzXSopPyQvaXU7XG52YXIgVVJMID0gL14oPzooPzpodHRwW3NcXHUwMTdGXT98ZnRwKTpcXC9cXC8pKD86KD86W1xcMC1cXHgwOFxceDBFLVxceDFGIS1cXHg5RlxceEExLVxcdTE2N0ZcXHUxNjgxLVxcdTFGRkZcXHUyMDBCLVxcdTIwMjdcXHUyMDJBLVxcdTIwMkVcXHUyMDMwLVxcdTIwNUVcXHUyMDYwLVxcdTJGRkZcXHUzMDAxLVxcdUQ3RkZcXHVFMDAwLVxcdUZFRkVcXHVGRjAwLVxcdUZGRkZdfFtcXHVEODAwLVxcdURCRkZdW1xcdURDMDAtXFx1REZGRl18W1xcdUQ4MDAtXFx1REJGRl0oPyFbXFx1REMwMC1cXHVERkZGXSl8KD86W15cXHVEODAwLVxcdURCRkZdfF4pW1xcdURDMDAtXFx1REZGRl0pKyg/OjooPzpbXFwwLVxceDA4XFx4MEUtXFx4MUYhLVxceDlGXFx4QTEtXFx1MTY3RlxcdTE2ODEtXFx1MUZGRlxcdTIwMEItXFx1MjAyN1xcdTIwMkEtXFx1MjAyRVxcdTIwMzAtXFx1MjA1RVxcdTIwNjAtXFx1MkZGRlxcdTMwMDEtXFx1RDdGRlxcdUUwMDAtXFx1RkVGRVxcdUZGMDAtXFx1RkZGRl18W1xcdUQ4MDAtXFx1REJGRl1bXFx1REMwMC1cXHVERkZGXXxbXFx1RDgwMC1cXHVEQkZGXSg/IVtcXHVEQzAwLVxcdURGRkZdKXwoPzpbXlxcdUQ4MDAtXFx1REJGRl18XilbXFx1REMwMC1cXHVERkZGXSkqKT9AKT8oPzooPyExMCg/OlxcLlswLTldezEsM30pezN9KSg/ITEyNyg/OlxcLlswLTldezEsM30pezN9KSg/ITE2OVxcLjI1NCg/OlxcLlswLTldezEsM30pezJ9KSg/ITE5MlxcLjE2OCg/OlxcLlswLTldezEsM30pezJ9KSg/ITE3MlxcLig/OjFbNi05XXwyWzAtOV18M1swMV0pKD86XFwuWzAtOV17MSwzfSl7Mn0pKD86WzEtOV1bMC05XT98MVswLTldWzAtOV18MlswMV1bMC05XXwyMlswLTNdKSg/OlxcLig/OjE/WzAtOV17MSwyfXwyWzAtNF1bMC05XXwyNVswLTVdKSl7Mn0oPzpcXC4oPzpbMS05XVswLTldP3wxWzAtOV1bMC05XXwyWzAtNF1bMC05XXwyNVswLTRdKSl8KD86KD86KD86WzAtOWEtelxceEExLVxcdUQ3RkZcXHVFMDAwLVxcdUZGRkZdfFtcXHVEODAwLVxcdURCRkZdKD8hW1xcdURDMDAtXFx1REZGRl0pfCg/OlteXFx1RDgwMC1cXHVEQkZGXXxeKVtcXHVEQzAwLVxcdURGRkZdKSstKSooPzpbMC05YS16XFx4QTEtXFx1RDdGRlxcdUUwMDAtXFx1RkZGRl18W1xcdUQ4MDAtXFx1REJGRl0oPyFbXFx1REMwMC1cXHVERkZGXSl8KD86W15cXHVEODAwLVxcdURCRkZdfF4pW1xcdURDMDAtXFx1REZGRl0pKykoPzpcXC4oPzooPzpbMC05YS16XFx4QTEtXFx1RDdGRlxcdUUwMDAtXFx1RkZGRl18W1xcdUQ4MDAtXFx1REJGRl0oPyFbXFx1REMwMC1cXHVERkZGXSl8KD86W15cXHVEODAwLVxcdURCRkZdfF4pW1xcdURDMDAtXFx1REZGRl0pKy0pKig/OlswLTlhLXpcXHhBMS1cXHVEN0ZGXFx1RTAwMC1cXHVGRkZGXXxbXFx1RDgwMC1cXHVEQkZGXSg/IVtcXHVEQzAwLVxcdURGRkZdKXwoPzpbXlxcdUQ4MDAtXFx1REJGRl18XilbXFx1REMwMC1cXHVERkZGXSkrKSooPzpcXC4oPzooPzpbYS16XFx4QTEtXFx1RDdGRlxcdUUwMDAtXFx1RkZGRl18W1xcdUQ4MDAtXFx1REJGRl0oPyFbXFx1REMwMC1cXHVERkZGXSl8KD86W15cXHVEODAwLVxcdURCRkZdfF4pW1xcdURDMDAtXFx1REZGRl0pezIsfSkpKSg/OjpbMC05XXsyLDV9KT8oPzpcXC8oPzpbXFwwLVxceDA4XFx4MEUtXFx4MUYhLVxceDlGXFx4QTEtXFx1MTY3RlxcdTE2ODEtXFx1MUZGRlxcdTIwMEItXFx1MjAyN1xcdTIwMkEtXFx1MjAyRVxcdTIwMzAtXFx1MjA1RVxcdTIwNjAtXFx1MkZGRlxcdTMwMDEtXFx1RDdGRlxcdUUwMDAtXFx1RkVGRVxcdUZGMDAtXFx1RkZGRl18W1xcdUQ4MDAtXFx1REJGRl1bXFx1REMwMC1cXHVERkZGXXxbXFx1RDgwMC1cXHVEQkZGXSg/IVtcXHVEQzAwLVxcdURGRkZdKXwoPzpbXlxcdUQ4MDAtXFx1REJGRl18XilbXFx1REMwMC1cXHVERkZGXSkqKT8kL2k7XG52YXIgVVVJRCA9IC9eKD86dXJuOnV1aWQ6KT9bMC05YS1mXXs4fS0oPzpbMC05YS1mXXs0fS0pezN9WzAtOWEtZl17MTJ9JC9pO1xudmFyIEpTT05fUE9JTlRFUiA9IC9eKD86XFwvKD86W15+L118fjB8fjEpKikqJC87XG52YXIgSlNPTl9QT0lOVEVSX1VSSV9GUkFHTUVOVCA9IC9eIyg/OlxcLyg/OlthLXowLTlfXFwtLiEkJicoKSorLDs6PUBdfCVbMC05YS1mXXsyfXx+MHx+MSkqKSokL2k7XG52YXIgUkVMQVRJVkVfSlNPTl9QT0lOVEVSID0gL14oPzowfFsxLTldWzAtOV0qKSg/OiN8KD86XFwvKD86W15+L118fjB8fjEpKikqKSQvO1xuXG5cbm1vZHVsZS5leHBvcnRzID0gZm9ybWF0cztcblxuZnVuY3Rpb24gZm9ybWF0cyhtb2RlKSB7XG4gIG1vZGUgPSBtb2RlID09ICdmdWxsJyA/ICdmdWxsJyA6ICdmYXN0JztcbiAgcmV0dXJuIHV0aWwuY29weShmb3JtYXRzW21vZGVdKTtcbn1cblxuXG5mb3JtYXRzLmZhc3QgPSB7XG4gIC8vIGRhdGU6IGh0dHA6Ly90b29scy5pZXRmLm9yZy9odG1sL3JmYzMzMzkjc2VjdGlvbi01LjZcbiAgZGF0ZTogL15cXGRcXGRcXGRcXGQtWzAtMV1cXGQtWzAtM11cXGQkLyxcbiAgLy8gZGF0ZS10aW1lOiBodHRwOi8vdG9vbHMuaWV0Zi5vcmcvaHRtbC9yZmMzMzM5I3NlY3Rpb24tNS42XG4gIHRpbWU6IC9eKD86WzAtMl1cXGQ6WzAtNV1cXGQ6WzAtNV1cXGR8MjM6NTk6NjApKD86XFwuXFxkKyk/KD86enxbKy1dXFxkXFxkKD86Oj9cXGRcXGQpPyk/JC9pLFxuICAnZGF0ZS10aW1lJzogL15cXGRcXGRcXGRcXGQtWzAtMV1cXGQtWzAtM11cXGRbdFxcc10oPzpbMC0yXVxcZDpbMC01XVxcZDpbMC01XVxcZHwyMzo1OTo2MCkoPzpcXC5cXGQrKT8oPzp6fFsrLV1cXGRcXGQoPzo6P1xcZFxcZCk/KSQvaSxcbiAgLy8gdXJpOiBodHRwczovL2dpdGh1Yi5jb20vbWFmaW50b3NoL2lzLW15LWpzb24tdmFsaWQvYmxvYi9tYXN0ZXIvZm9ybWF0cy5qc1xuICB1cmk6IC9eKD86W2Etel1bYS16MC05K1xcLS5dKjopKD86XFwvP1xcLyk/W15cXHNdKiQvaSxcbiAgJ3VyaS1yZWZlcmVuY2UnOiAvXig/Oig/OlthLXpdW2EtejAtOStcXC0uXSo6KT9cXC8/XFwvKT8oPzpbXlxcXFxcXHMjXVteXFxzI10qKT8oPzojW15cXFxcXFxzXSopPyQvaSxcbiAgJ3VyaS10ZW1wbGF0ZSc6IFVSSVRFTVBMQVRFLFxuICB1cmw6IFVSTCxcbiAgLy8gZW1haWwgKHNvdXJjZXMgZnJvbSBqc2VuIHZhbGlkYXRvcik6XG4gIC8vIGh0dHA6Ly9zdGFja292ZXJmbG93LmNvbS9xdWVzdGlvbnMvMjAxMzIzL3VzaW5nLWEtcmVndWxhci1leHByZXNzaW9uLXRvLXZhbGlkYXRlLWFuLWVtYWlsLWFkZHJlc3MjYW5zd2VyLTg4MjkzNjNcbiAgLy8gaHR0cDovL3d3dy53My5vcmcvVFIvaHRtbDUvZm9ybXMuaHRtbCN2YWxpZC1lLW1haWwtYWRkcmVzcyAoc2VhcmNoIGZvciAnd2lsbGZ1bCB2aW9sYXRpb24nKVxuICBlbWFpbDogL15bYS16MC05LiEjJCUmJyorLz0/Xl9ge3x9fi1dK0BbYS16MC05XSg/OlthLXowLTktXXswLDYxfVthLXowLTldKT8oPzpcXC5bYS16MC05XSg/OlthLXowLTktXXswLDYxfVthLXowLTldKT8pKiQvaSxcbiAgaG9zdG5hbWU6IEhPU1ROQU1FLFxuICAvLyBvcHRpbWl6ZWQgaHR0cHM6Ly93d3cuc2FmYXJpYm9va3NvbmxpbmUuY29tL2xpYnJhcnkvdmlldy9yZWd1bGFyLWV4cHJlc3Npb25zLWNvb2tib29rLzk3ODA1OTY4MDI4MzcvY2gwN3MxNi5odG1sXG4gIGlwdjQ6IC9eKD86KD86MjVbMC01XXwyWzAtNF1cXGR8WzAxXT9cXGRcXGQ/KVxcLil7M30oPzoyNVswLTVdfDJbMC00XVxcZHxbMDFdP1xcZFxcZD8pJC8sXG4gIC8vIG9wdGltaXplZCBodHRwOi8vc3RhY2tvdmVyZmxvdy5jb20vcXVlc3Rpb25zLzUzNDk3L3JlZ3VsYXItZXhwcmVzc2lvbi10aGF0LW1hdGNoZXMtdmFsaWQtaXB2Ni1hZGRyZXNzZXNcbiAgaXB2NjogL15cXHMqKD86KD86KD86WzAtOWEtZl17MSw0fTopezd9KD86WzAtOWEtZl17MSw0fXw6KSl8KD86KD86WzAtOWEtZl17MSw0fTopezZ9KD86OlswLTlhLWZdezEsNH18KD86KD86MjVbMC01XXwyWzAtNF1cXGR8MVxcZFxcZHxbMS05XT9cXGQpKD86XFwuKD86MjVbMC01XXwyWzAtNF1cXGR8MVxcZFxcZHxbMS05XT9cXGQpKXszfSl8OikpfCg/Oig/OlswLTlhLWZdezEsNH06KXs1fSg/Oig/Oig/OjpbMC05YS1mXXsxLDR9KXsxLDJ9KXw6KD86KD86MjVbMC01XXwyWzAtNF1cXGR8MVxcZFxcZHxbMS05XT9cXGQpKD86XFwuKD86MjVbMC01XXwyWzAtNF1cXGR8MVxcZFxcZHxbMS05XT9cXGQpKXszfSl8OikpfCg/Oig/OlswLTlhLWZdezEsNH06KXs0fSg/Oig/Oig/OjpbMC05YS1mXXsxLDR9KXsxLDN9KXwoPzooPzo6WzAtOWEtZl17MSw0fSk/Oig/Oig/OjI1WzAtNV18MlswLTRdXFxkfDFcXGRcXGR8WzEtOV0/XFxkKSg/OlxcLig/OjI1WzAtNV18MlswLTRdXFxkfDFcXGRcXGR8WzEtOV0/XFxkKSl7M30pKXw6KSl8KD86KD86WzAtOWEtZl17MSw0fTopezN9KD86KD86KD86OlswLTlhLWZdezEsNH0pezEsNH0pfCg/Oig/OjpbMC05YS1mXXsxLDR9KXswLDJ9Oig/Oig/OjI1WzAtNV18MlswLTRdXFxkfDFcXGRcXGR8WzEtOV0/XFxkKSg/OlxcLig/OjI1WzAtNV18MlswLTRdXFxkfDFcXGRcXGR8WzEtOV0/XFxkKSl7M30pKXw6KSl8KD86KD86WzAtOWEtZl17MSw0fTopezJ9KD86KD86KD86OlswLTlhLWZdezEsNH0pezEsNX0pfCg/Oig/OjpbMC05YS1mXXsxLDR9KXswLDN9Oig/Oig/OjI1WzAtNV18MlswLTRdXFxkfDFcXGRcXGR8WzEtOV0/XFxkKSg/OlxcLig/OjI1WzAtNV18MlswLTRdXFxkfDFcXGRcXGR8WzEtOV0/XFxkKSl7M30pKXw6KSl8KD86KD86WzAtOWEtZl17MSw0fTopezF9KD86KD86KD86OlswLTlhLWZdezEsNH0pezEsNn0pfCg/Oig/OjpbMC05YS1mXXsxLDR9KXswLDR9Oig/Oig/OjI1WzAtNV18MlswLTRdXFxkfDFcXGRcXGR8WzEtOV0/XFxkKSg/OlxcLig/OjI1WzAtNV18MlswLTRdXFxkfDFcXGRcXGR8WzEtOV0/XFxkKSl7M30pKXw6KSl8KD86Oig/Oig/Oig/OjpbMC05YS1mXXsxLDR9KXsxLDd9KXwoPzooPzo6WzAtOWEtZl17MSw0fSl7MCw1fTooPzooPzoyNVswLTVdfDJbMC00XVxcZHwxXFxkXFxkfFsxLTldP1xcZCkoPzpcXC4oPzoyNVswLTVdfDJbMC00XVxcZHwxXFxkXFxkfFsxLTldP1xcZCkpezN9KSl8OikpKSg/OiUuKyk/XFxzKiQvaSxcbiAgcmVnZXg6IHJlZ2V4LFxuICAvLyB1dWlkOiBodHRwOi8vdG9vbHMuaWV0Zi5vcmcvaHRtbC9yZmM0MTIyXG4gIHV1aWQ6IFVVSUQsXG4gIC8vIEpTT04tcG9pbnRlcjogaHR0cHM6Ly90b29scy5pZXRmLm9yZy9odG1sL3JmYzY5MDFcbiAgLy8gdXJpIGZyYWdtZW50OiBodHRwczovL3Rvb2xzLmlldGYub3JnL2h0bWwvcmZjMzk4NiNhcHBlbmRpeC1BXG4gICdqc29uLXBvaW50ZXInOiBKU09OX1BPSU5URVIsXG4gICdqc29uLXBvaW50ZXItdXJpLWZyYWdtZW50JzogSlNPTl9QT0lOVEVSX1VSSV9GUkFHTUVOVCxcbiAgLy8gcmVsYXRpdmUgSlNPTi1wb2ludGVyOiBodHRwOi8vdG9vbHMuaWV0Zi5vcmcvaHRtbC9kcmFmdC1sdWZmLXJlbGF0aXZlLWpzb24tcG9pbnRlci0wMFxuICAncmVsYXRpdmUtanNvbi1wb2ludGVyJzogUkVMQVRJVkVfSlNPTl9QT0lOVEVSXG59O1xuXG5cbmZvcm1hdHMuZnVsbCA9IHtcbiAgZGF0ZTogZGF0ZSxcbiAgdGltZTogdGltZSxcbiAgJ2RhdGUtdGltZSc6IGRhdGVfdGltZSxcbiAgdXJpOiB1cmksXG4gICd1cmktcmVmZXJlbmNlJzogVVJJUkVGLFxuICAndXJpLXRlbXBsYXRlJzogVVJJVEVNUExBVEUsXG4gIHVybDogVVJMLFxuICBlbWFpbDogL15bYS16MC05ISMkJSYnKisvPT9eX2B7fH1+LV0rKD86XFwuW2EtejAtOSEjJCUmJyorLz0/Xl9ge3x9fi1dKykqQCg/OlthLXowLTldKD86W2EtejAtOS1dKlthLXowLTldKT9cXC4pK1thLXowLTldKD86W2EtejAtOS1dKlthLXowLTldKT8kL2ksXG4gIGhvc3RuYW1lOiBIT1NUTkFNRSxcbiAgaXB2NDogL14oPzooPzoyNVswLTVdfDJbMC00XVxcZHxbMDFdP1xcZFxcZD8pXFwuKXszfSg/OjI1WzAtNV18MlswLTRdXFxkfFswMV0/XFxkXFxkPykkLyxcbiAgaXB2NjogL15cXHMqKD86KD86KD86WzAtOWEtZl17MSw0fTopezd9KD86WzAtOWEtZl17MSw0fXw6KSl8KD86KD86WzAtOWEtZl17MSw0fTopezZ9KD86OlswLTlhLWZdezEsNH18KD86KD86MjVbMC01XXwyWzAtNF1cXGR8MVxcZFxcZHxbMS05XT9cXGQpKD86XFwuKD86MjVbMC01XXwyWzAtNF1cXGR8MVxcZFxcZHxbMS05XT9cXGQpKXszfSl8OikpfCg/Oig/OlswLTlhLWZdezEsNH06KXs1fSg/Oig/Oig/OjpbMC05YS1mXXsxLDR9KXsxLDJ9KXw6KD86KD86MjVbMC01XXwyWzAtNF1cXGR8MVxcZFxcZHxbMS05XT9cXGQpKD86XFwuKD86MjVbMC01XXwyWzAtNF1cXGR8MVxcZFxcZHxbMS05XT9cXGQpKXszfSl8OikpfCg/Oig/OlswLTlhLWZdezEsNH06KXs0fSg/Oig/Oig/OjpbMC05YS1mXXsxLDR9KXsxLDN9KXwoPzooPzo6WzAtOWEtZl17MSw0fSk/Oig/Oig/OjI1WzAtNV18MlswLTRdXFxkfDFcXGRcXGR8WzEtOV0/XFxkKSg/OlxcLig/OjI1WzAtNV18MlswLTRdXFxkfDFcXGRcXGR8WzEtOV0/XFxkKSl7M30pKXw6KSl8KD86KD86WzAtOWEtZl17MSw0fTopezN9KD86KD86KD86OlswLTlhLWZdezEsNH0pezEsNH0pfCg/Oig/OjpbMC05YS1mXXsxLDR9KXswLDJ9Oig/Oig/OjI1WzAtNV18MlswLTRdXFxkfDFcXGRcXGR8WzEtOV0/XFxkKSg/OlxcLig/OjI1WzAtNV18MlswLTRdXFxkfDFcXGRcXGR8WzEtOV0/XFxkKSl7M30pKXw6KSl8KD86KD86WzAtOWEtZl17MSw0fTopezJ9KD86KD86KD86OlswLTlhLWZdezEsNH0pezEsNX0pfCg/Oig/OjpbMC05YS1mXXsxLDR9KXswLDN9Oig/Oig/OjI1WzAtNV18MlswLTRdXFxkfDFcXGRcXGR8WzEtOV0/XFxkKSg/OlxcLig/OjI1WzAtNV18MlswLTRdXFxkfDFcXGRcXGR8WzEtOV0/XFxkKSl7M30pKXw6KSl8KD86KD86WzAtOWEtZl17MSw0fTopezF9KD86KD86KD86OlswLTlhLWZdezEsNH0pezEsNn0pfCg/Oig/OjpbMC05YS1mXXsxLDR9KXswLDR9Oig/Oig/OjI1WzAtNV18MlswLTRdXFxkfDFcXGRcXGR8WzEtOV0/XFxkKSg/OlxcLig/OjI1WzAtNV18MlswLTRdXFxkfDFcXGRcXGR8WzEtOV0/XFxkKSl7M30pKXw6KSl8KD86Oig/Oig/Oig/OjpbMC05YS1mXXsxLDR9KXsxLDd9KXwoPzooPzo6WzAtOWEtZl17MSw0fSl7MCw1fTooPzooPzoyNVswLTVdfDJbMC00XVxcZHwxXFxkXFxkfFsxLTldP1xcZCkoPzpcXC4oPzoyNVswLTVdfDJbMC00XVxcZHwxXFxkXFxkfFsxLTldP1xcZCkpezN9KSl8OikpKSg/OiUuKyk/XFxzKiQvaSxcbiAgcmVnZXg6IHJlZ2V4LFxuICB1dWlkOiBVVUlELFxuICAnanNvbi1wb2ludGVyJzogSlNPTl9QT0lOVEVSLFxuICAnanNvbi1wb2ludGVyLXVyaS1mcmFnbWVudCc6IEpTT05fUE9JTlRFUl9VUklfRlJBR01FTlQsXG4gICdyZWxhdGl2ZS1qc29uLXBvaW50ZXInOiBSRUxBVElWRV9KU09OX1BPSU5URVJcbn07XG5cblxuZnVuY3Rpb24gaXNMZWFwWWVhcih5ZWFyKSB7XG4gIC8vIGh0dHBzOi8vdG9vbHMuaWV0Zi5vcmcvaHRtbC9yZmMzMzM5I2FwcGVuZGl4LUNcbiAgcmV0dXJuIHllYXIgJSA0ID09PSAwICYmICh5ZWFyICUgMTAwICE9PSAwIHx8IHllYXIgJSA0MDAgPT09IDApO1xufVxuXG5cbmZ1bmN0aW9uIGRhdGUoc3RyKSB7XG4gIC8vIGZ1bGwtZGF0ZSBmcm9tIGh0dHA6Ly90b29scy5pZXRmLm9yZy9odG1sL3JmYzMzMzkjc2VjdGlvbi01LjZcbiAgdmFyIG1hdGNoZXMgPSBzdHIubWF0Y2goREFURSk7XG4gIGlmICghbWF0Y2hlcykgcmV0dXJuIGZhbHNlO1xuXG4gIHZhciB5ZWFyID0gK21hdGNoZXNbMV07XG4gIHZhciBtb250aCA9ICttYXRjaGVzWzJdO1xuICB2YXIgZGF5ID0gK21hdGNoZXNbM107XG5cbiAgcmV0dXJuIG1vbnRoID49IDEgJiYgbW9udGggPD0gMTIgJiYgZGF5ID49IDEgJiZcbiAgICAgICAgICBkYXkgPD0gKG1vbnRoID09IDIgJiYgaXNMZWFwWWVhcih5ZWFyKSA/IDI5IDogREFZU1ttb250aF0pO1xufVxuXG5cbmZ1bmN0aW9uIHRpbWUoc3RyLCBmdWxsKSB7XG4gIHZhciBtYXRjaGVzID0gc3RyLm1hdGNoKFRJTUUpO1xuICBpZiAoIW1hdGNoZXMpIHJldHVybiBmYWxzZTtcblxuICB2YXIgaG91ciA9IG1hdGNoZXNbMV07XG4gIHZhciBtaW51dGUgPSBtYXRjaGVzWzJdO1xuICB2YXIgc2Vjb25kID0gbWF0Y2hlc1szXTtcbiAgdmFyIHRpbWVab25lID0gbWF0Y2hlc1s1XTtcbiAgcmV0dXJuICgoaG91ciA8PSAyMyAmJiBtaW51dGUgPD0gNTkgJiYgc2Vjb25kIDw9IDU5KSB8fFxuICAgICAgICAgIChob3VyID09IDIzICYmIG1pbnV0ZSA9PSA1OSAmJiBzZWNvbmQgPT0gNjApKSAmJlxuICAgICAgICAgKCFmdWxsIHx8IHRpbWVab25lKTtcbn1cblxuXG52YXIgREFURV9USU1FX1NFUEFSQVRPUiA9IC90fFxccy9pO1xuZnVuY3Rpb24gZGF0ZV90aW1lKHN0cikge1xuICAvLyBodHRwOi8vdG9vbHMuaWV0Zi5vcmcvaHRtbC9yZmMzMzM5I3NlY3Rpb24tNS42XG4gIHZhciBkYXRlVGltZSA9IHN0ci5zcGxpdChEQVRFX1RJTUVfU0VQQVJBVE9SKTtcbiAgcmV0dXJuIGRhdGVUaW1lLmxlbmd0aCA9PSAyICYmIGRhdGUoZGF0ZVRpbWVbMF0pICYmIHRpbWUoZGF0ZVRpbWVbMV0sIHRydWUpO1xufVxuXG5cbnZhciBOT1RfVVJJX0ZSQUdNRU5UID0gL1xcL3w6LztcbmZ1bmN0aW9uIHVyaShzdHIpIHtcbiAgLy8gaHR0cDovL2ptcndhcmUuY29tL2FydGljbGVzLzIwMDkvdXJpX3JlZ2V4cC9VUklfcmVnZXguaHRtbCArIG9wdGlvbmFsIHByb3RvY29sICsgcmVxdWlyZWQgXCIuXCJcbiAgcmV0dXJuIE5PVF9VUklfRlJBR01FTlQudGVzdChzdHIpICYmIFVSSS50ZXN0KHN0cik7XG59XG5cblxudmFyIFpfQU5DSE9SID0gL1teXFxcXF1cXFxcWi87XG5mdW5jdGlvbiByZWdleChzdHIpIHtcbiAgaWYgKFpfQU5DSE9SLnRlc3Qoc3RyKSkgcmV0dXJuIGZhbHNlO1xuICB0cnkge1xuICAgIG5ldyBSZWdFeHAoc3RyKTtcbiAgICByZXR1cm4gdHJ1ZTtcbiAgfSBjYXRjaChlKSB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG59XG4iLCAiJ3VzZSBzdHJpY3QnO1xubW9kdWxlLmV4cG9ydHMgPSBmdW5jdGlvbiBnZW5lcmF0ZV9yZWYoaXQsICRrZXl3b3JkLCAkcnVsZVR5cGUpIHtcbiAgdmFyIG91dCA9ICcgJztcbiAgdmFyICRsdmwgPSBpdC5sZXZlbDtcbiAgdmFyICRkYXRhTHZsID0gaXQuZGF0YUxldmVsO1xuICB2YXIgJHNjaGVtYSA9IGl0LnNjaGVtYVska2V5d29yZF07XG4gIHZhciAkZXJyU2NoZW1hUGF0aCA9IGl0LmVyclNjaGVtYVBhdGggKyAnLycgKyAka2V5d29yZDtcbiAgdmFyICRicmVha09uRXJyb3IgPSAhaXQub3B0cy5hbGxFcnJvcnM7XG4gIHZhciAkZGF0YSA9ICdkYXRhJyArICgkZGF0YUx2bCB8fCAnJyk7XG4gIHZhciAkdmFsaWQgPSAndmFsaWQnICsgJGx2bDtcbiAgdmFyICRhc3luYywgJHJlZkNvZGU7XG4gIGlmICgkc2NoZW1hID09ICcjJyB8fCAkc2NoZW1hID09ICcjLycpIHtcbiAgICBpZiAoaXQuaXNSb290KSB7XG4gICAgICAkYXN5bmMgPSBpdC5hc3luYztcbiAgICAgICRyZWZDb2RlID0gJ3ZhbGlkYXRlJztcbiAgICB9IGVsc2Uge1xuICAgICAgJGFzeW5jID0gaXQucm9vdC5zY2hlbWEuJGFzeW5jID09PSB0cnVlO1xuICAgICAgJHJlZkNvZGUgPSAncm9vdC5yZWZWYWxbMF0nO1xuICAgIH1cbiAgfSBlbHNlIHtcbiAgICB2YXIgJHJlZlZhbCA9IGl0LnJlc29sdmVSZWYoaXQuYmFzZUlkLCAkc2NoZW1hLCBpdC5pc1Jvb3QpO1xuICAgIGlmICgkcmVmVmFsID09PSB1bmRlZmluZWQpIHtcbiAgICAgIHZhciAkbWVzc2FnZSA9IGl0Lk1pc3NpbmdSZWZFcnJvci5tZXNzYWdlKGl0LmJhc2VJZCwgJHNjaGVtYSk7XG4gICAgICBpZiAoaXQub3B0cy5taXNzaW5nUmVmcyA9PSAnZmFpbCcpIHtcbiAgICAgICAgaXQubG9nZ2VyLmVycm9yKCRtZXNzYWdlKTtcbiAgICAgICAgdmFyICQkb3V0U3RhY2sgPSAkJG91dFN0YWNrIHx8IFtdO1xuICAgICAgICAkJG91dFN0YWNrLnB1c2gob3V0KTtcbiAgICAgICAgb3V0ID0gJyc7IC8qIGlzdGFuYnVsIGlnbm9yZSBlbHNlICovXG4gICAgICAgIGlmIChpdC5jcmVhdGVFcnJvcnMgIT09IGZhbHNlKSB7XG4gICAgICAgICAgb3V0ICs9ICcgeyBrZXl3b3JkOiBcXCcnICsgKCckcmVmJykgKyAnXFwnICwgZGF0YVBhdGg6IChkYXRhUGF0aCB8fCBcXCdcXCcpICsgJyArIChpdC5lcnJvclBhdGgpICsgJyAsIHNjaGVtYVBhdGg6ICcgKyAoaXQudXRpbC50b1F1b3RlZFN0cmluZygkZXJyU2NoZW1hUGF0aCkpICsgJyAsIHBhcmFtczogeyByZWY6IFxcJycgKyAoaXQudXRpbC5lc2NhcGVRdW90ZXMoJHNjaGVtYSkpICsgJ1xcJyB9ICc7XG4gICAgICAgICAgaWYgKGl0Lm9wdHMubWVzc2FnZXMgIT09IGZhbHNlKSB7XG4gICAgICAgICAgICBvdXQgKz0gJyAsIG1lc3NhZ2U6IFxcJ2NhblxcXFxcXCd0IHJlc29sdmUgcmVmZXJlbmNlICcgKyAoaXQudXRpbC5lc2NhcGVRdW90ZXMoJHNjaGVtYSkpICsgJ1xcJyAnO1xuICAgICAgICAgIH1cbiAgICAgICAgICBpZiAoaXQub3B0cy52ZXJib3NlKSB7XG4gICAgICAgICAgICBvdXQgKz0gJyAsIHNjaGVtYTogJyArIChpdC51dGlsLnRvUXVvdGVkU3RyaW5nKCRzY2hlbWEpKSArICcgLCBwYXJlbnRTY2hlbWE6IHZhbGlkYXRlLnNjaGVtYScgKyAoaXQuc2NoZW1hUGF0aCkgKyAnICwgZGF0YTogJyArICgkZGF0YSkgKyAnICc7XG4gICAgICAgICAgfVxuICAgICAgICAgIG91dCArPSAnIH0gJztcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBvdXQgKz0gJyB7fSAnO1xuICAgICAgICB9XG4gICAgICAgIHZhciBfX2VyciA9IG91dDtcbiAgICAgICAgb3V0ID0gJCRvdXRTdGFjay5wb3AoKTtcbiAgICAgICAgaWYgKCFpdC5jb21wb3NpdGVSdWxlICYmICRicmVha09uRXJyb3IpIHtcbiAgICAgICAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgaWYgKi9cbiAgICAgICAgICBpZiAoaXQuYXN5bmMpIHtcbiAgICAgICAgICAgIG91dCArPSAnIHRocm93IG5ldyBWYWxpZGF0aW9uRXJyb3IoWycgKyAoX19lcnIpICsgJ10pOyAnO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBvdXQgKz0gJyB2YWxpZGF0ZS5lcnJvcnMgPSBbJyArIChfX2VycikgKyAnXTsgcmV0dXJuIGZhbHNlOyAnO1xuICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBvdXQgKz0gJyB2YXIgZXJyID0gJyArIChfX2VycikgKyAnOyAgaWYgKHZFcnJvcnMgPT09IG51bGwpIHZFcnJvcnMgPSBbZXJyXTsgZWxzZSB2RXJyb3JzLnB1c2goZXJyKTsgZXJyb3JzKys7ICc7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKCRicmVha09uRXJyb3IpIHtcbiAgICAgICAgICBvdXQgKz0gJyBpZiAoZmFsc2UpIHsgJztcbiAgICAgICAgfVxuICAgICAgfSBlbHNlIGlmIChpdC5vcHRzLm1pc3NpbmdSZWZzID09ICdpZ25vcmUnKSB7XG4gICAgICAgIGl0LmxvZ2dlci53YXJuKCRtZXNzYWdlKTtcbiAgICAgICAgaWYgKCRicmVha09uRXJyb3IpIHtcbiAgICAgICAgICBvdXQgKz0gJyBpZiAodHJ1ZSkgeyAnO1xuICAgICAgICB9XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aHJvdyBuZXcgaXQuTWlzc2luZ1JlZkVycm9yKGl0LmJhc2VJZCwgJHNjaGVtYSwgJG1lc3NhZ2UpO1xuICAgICAgfVxuICAgIH0gZWxzZSBpZiAoJHJlZlZhbC5pbmxpbmUpIHtcbiAgICAgIHZhciAkaXQgPSBpdC51dGlsLmNvcHkoaXQpO1xuICAgICAgJGl0LmxldmVsKys7XG4gICAgICB2YXIgJG5leHRWYWxpZCA9ICd2YWxpZCcgKyAkaXQubGV2ZWw7XG4gICAgICAkaXQuc2NoZW1hID0gJHJlZlZhbC5zY2hlbWE7XG4gICAgICAkaXQuc2NoZW1hUGF0aCA9ICcnO1xuICAgICAgJGl0LmVyclNjaGVtYVBhdGggPSAkc2NoZW1hO1xuICAgICAgdmFyICRjb2RlID0gaXQudmFsaWRhdGUoJGl0KS5yZXBsYWNlKC92YWxpZGF0ZVxcLnNjaGVtYS9nLCAkcmVmVmFsLmNvZGUpO1xuICAgICAgb3V0ICs9ICcgJyArICgkY29kZSkgKyAnICc7XG4gICAgICBpZiAoJGJyZWFrT25FcnJvcikge1xuICAgICAgICBvdXQgKz0gJyBpZiAoJyArICgkbmV4dFZhbGlkKSArICcpIHsgJztcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgJGFzeW5jID0gJHJlZlZhbC4kYXN5bmMgPT09IHRydWUgfHwgKGl0LmFzeW5jICYmICRyZWZWYWwuJGFzeW5jICE9PSBmYWxzZSk7XG4gICAgICAkcmVmQ29kZSA9ICRyZWZWYWwuY29kZTtcbiAgICB9XG4gIH1cbiAgaWYgKCRyZWZDb2RlKSB7XG4gICAgdmFyICQkb3V0U3RhY2sgPSAkJG91dFN0YWNrIHx8IFtdO1xuICAgICQkb3V0U3RhY2sucHVzaChvdXQpO1xuICAgIG91dCA9ICcnO1xuICAgIGlmIChpdC5vcHRzLnBhc3NDb250ZXh0KSB7XG4gICAgICBvdXQgKz0gJyAnICsgKCRyZWZDb2RlKSArICcuY2FsbCh0aGlzLCAnO1xuICAgIH0gZWxzZSB7XG4gICAgICBvdXQgKz0gJyAnICsgKCRyZWZDb2RlKSArICcoICc7XG4gICAgfVxuICAgIG91dCArPSAnICcgKyAoJGRhdGEpICsgJywgKGRhdGFQYXRoIHx8IFxcJ1xcJyknO1xuICAgIGlmIChpdC5lcnJvclBhdGggIT0gJ1wiXCInKSB7XG4gICAgICBvdXQgKz0gJyArICcgKyAoaXQuZXJyb3JQYXRoKTtcbiAgICB9XG4gICAgdmFyICRwYXJlbnREYXRhID0gJGRhdGFMdmwgPyAnZGF0YScgKyAoKCRkYXRhTHZsIC0gMSkgfHwgJycpIDogJ3BhcmVudERhdGEnLFxuICAgICAgJHBhcmVudERhdGFQcm9wZXJ0eSA9ICRkYXRhTHZsID8gaXQuZGF0YVBhdGhBcnJbJGRhdGFMdmxdIDogJ3BhcmVudERhdGFQcm9wZXJ0eSc7XG4gICAgb3V0ICs9ICcgLCAnICsgKCRwYXJlbnREYXRhKSArICcgLCAnICsgKCRwYXJlbnREYXRhUHJvcGVydHkpICsgJywgcm9vdERhdGEpICAnO1xuICAgIHZhciBfX2NhbGxWYWxpZGF0ZSA9IG91dDtcbiAgICBvdXQgPSAkJG91dFN0YWNrLnBvcCgpO1xuICAgIGlmICgkYXN5bmMpIHtcbiAgICAgIGlmICghaXQuYXN5bmMpIHRocm93IG5ldyBFcnJvcignYXN5bmMgc2NoZW1hIHJlZmVyZW5jZWQgYnkgc3luYyBzY2hlbWEnKTtcbiAgICAgIGlmICgkYnJlYWtPbkVycm9yKSB7XG4gICAgICAgIG91dCArPSAnIHZhciAnICsgKCR2YWxpZCkgKyAnOyAnO1xuICAgICAgfVxuICAgICAgb3V0ICs9ICcgdHJ5IHsgYXdhaXQgJyArIChfX2NhbGxWYWxpZGF0ZSkgKyAnOyAnO1xuICAgICAgaWYgKCRicmVha09uRXJyb3IpIHtcbiAgICAgICAgb3V0ICs9ICcgJyArICgkdmFsaWQpICsgJyA9IHRydWU7ICc7XG4gICAgICB9XG4gICAgICBvdXQgKz0gJyB9IGNhdGNoIChlKSB7IGlmICghKGUgaW5zdGFuY2VvZiBWYWxpZGF0aW9uRXJyb3IpKSB0aHJvdyBlOyBpZiAodkVycm9ycyA9PT0gbnVsbCkgdkVycm9ycyA9IGUuZXJyb3JzOyBlbHNlIHZFcnJvcnMgPSB2RXJyb3JzLmNvbmNhdChlLmVycm9ycyk7IGVycm9ycyA9IHZFcnJvcnMubGVuZ3RoOyAnO1xuICAgICAgaWYgKCRicmVha09uRXJyb3IpIHtcbiAgICAgICAgb3V0ICs9ICcgJyArICgkdmFsaWQpICsgJyA9IGZhbHNlOyAnO1xuICAgICAgfVxuICAgICAgb3V0ICs9ICcgfSAnO1xuICAgICAgaWYgKCRicmVha09uRXJyb3IpIHtcbiAgICAgICAgb3V0ICs9ICcgaWYgKCcgKyAoJHZhbGlkKSArICcpIHsgJztcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgb3V0ICs9ICcgaWYgKCEnICsgKF9fY2FsbFZhbGlkYXRlKSArICcpIHsgaWYgKHZFcnJvcnMgPT09IG51bGwpIHZFcnJvcnMgPSAnICsgKCRyZWZDb2RlKSArICcuZXJyb3JzOyBlbHNlIHZFcnJvcnMgPSB2RXJyb3JzLmNvbmNhdCgnICsgKCRyZWZDb2RlKSArICcuZXJyb3JzKTsgZXJyb3JzID0gdkVycm9ycy5sZW5ndGg7IH0gJztcbiAgICAgIGlmICgkYnJlYWtPbkVycm9yKSB7XG4gICAgICAgIG91dCArPSAnIGVsc2UgeyAnO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICByZXR1cm4gb3V0O1xufVxuIiwgIid1c2Ugc3RyaWN0Jztcbm1vZHVsZS5leHBvcnRzID0gZnVuY3Rpb24gZ2VuZXJhdGVfYWxsT2YoaXQsICRrZXl3b3JkLCAkcnVsZVR5cGUpIHtcbiAgdmFyIG91dCA9ICcgJztcbiAgdmFyICRzY2hlbWEgPSBpdC5zY2hlbWFbJGtleXdvcmRdO1xuICB2YXIgJHNjaGVtYVBhdGggPSBpdC5zY2hlbWFQYXRoICsgaXQudXRpbC5nZXRQcm9wZXJ0eSgka2V5d29yZCk7XG4gIHZhciAkZXJyU2NoZW1hUGF0aCA9IGl0LmVyclNjaGVtYVBhdGggKyAnLycgKyAka2V5d29yZDtcbiAgdmFyICRicmVha09uRXJyb3IgPSAhaXQub3B0cy5hbGxFcnJvcnM7XG4gIHZhciAkaXQgPSBpdC51dGlsLmNvcHkoaXQpO1xuICB2YXIgJGNsb3NpbmdCcmFjZXMgPSAnJztcbiAgJGl0LmxldmVsKys7XG4gIHZhciAkbmV4dFZhbGlkID0gJ3ZhbGlkJyArICRpdC5sZXZlbDtcbiAgdmFyICRjdXJyZW50QmFzZUlkID0gJGl0LmJhc2VJZCxcbiAgICAkYWxsU2NoZW1hc0VtcHR5ID0gdHJ1ZTtcbiAgdmFyIGFycjEgPSAkc2NoZW1hO1xuICBpZiAoYXJyMSkge1xuICAgIHZhciAkc2NoLCAkaSA9IC0xLFxuICAgICAgbDEgPSBhcnIxLmxlbmd0aCAtIDE7XG4gICAgd2hpbGUgKCRpIDwgbDEpIHtcbiAgICAgICRzY2ggPSBhcnIxWyRpICs9IDFdO1xuICAgICAgaWYgKChpdC5vcHRzLnN0cmljdEtleXdvcmRzID8gKHR5cGVvZiAkc2NoID09ICdvYmplY3QnICYmIE9iamVjdC5rZXlzKCRzY2gpLmxlbmd0aCA+IDApIHx8ICRzY2ggPT09IGZhbHNlIDogaXQudXRpbC5zY2hlbWFIYXNSdWxlcygkc2NoLCBpdC5SVUxFUy5hbGwpKSkge1xuICAgICAgICAkYWxsU2NoZW1hc0VtcHR5ID0gZmFsc2U7XG4gICAgICAgICRpdC5zY2hlbWEgPSAkc2NoO1xuICAgICAgICAkaXQuc2NoZW1hUGF0aCA9ICRzY2hlbWFQYXRoICsgJ1snICsgJGkgKyAnXSc7XG4gICAgICAgICRpdC5lcnJTY2hlbWFQYXRoID0gJGVyclNjaGVtYVBhdGggKyAnLycgKyAkaTtcbiAgICAgICAgb3V0ICs9ICcgICcgKyAoaXQudmFsaWRhdGUoJGl0KSkgKyAnICc7XG4gICAgICAgICRpdC5iYXNlSWQgPSAkY3VycmVudEJhc2VJZDtcbiAgICAgICAgaWYgKCRicmVha09uRXJyb3IpIHtcbiAgICAgICAgICBvdXQgKz0gJyBpZiAoJyArICgkbmV4dFZhbGlkKSArICcpIHsgJztcbiAgICAgICAgICAkY2xvc2luZ0JyYWNlcyArPSAnfSc7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgaWYgKCRicmVha09uRXJyb3IpIHtcbiAgICBpZiAoJGFsbFNjaGVtYXNFbXB0eSkge1xuICAgICAgb3V0ICs9ICcgaWYgKHRydWUpIHsgJztcbiAgICB9IGVsc2Uge1xuICAgICAgb3V0ICs9ICcgJyArICgkY2xvc2luZ0JyYWNlcy5zbGljZSgwLCAtMSkpICsgJyAnO1xuICAgIH1cbiAgfVxuICByZXR1cm4gb3V0O1xufVxuIiwgIid1c2Ugc3RyaWN0Jztcbm1vZHVsZS5leHBvcnRzID0gZnVuY3Rpb24gZ2VuZXJhdGVfYW55T2YoaXQsICRrZXl3b3JkLCAkcnVsZVR5cGUpIHtcbiAgdmFyIG91dCA9ICcgJztcbiAgdmFyICRsdmwgPSBpdC5sZXZlbDtcbiAgdmFyICRkYXRhTHZsID0gaXQuZGF0YUxldmVsO1xuICB2YXIgJHNjaGVtYSA9IGl0LnNjaGVtYVska2V5d29yZF07XG4gIHZhciAkc2NoZW1hUGF0aCA9IGl0LnNjaGVtYVBhdGggKyBpdC51dGlsLmdldFByb3BlcnR5KCRrZXl3b3JkKTtcbiAgdmFyICRlcnJTY2hlbWFQYXRoID0gaXQuZXJyU2NoZW1hUGF0aCArICcvJyArICRrZXl3b3JkO1xuICB2YXIgJGJyZWFrT25FcnJvciA9ICFpdC5vcHRzLmFsbEVycm9ycztcbiAgdmFyICRkYXRhID0gJ2RhdGEnICsgKCRkYXRhTHZsIHx8ICcnKTtcbiAgdmFyICR2YWxpZCA9ICd2YWxpZCcgKyAkbHZsO1xuICB2YXIgJGVycnMgPSAnZXJyc19fJyArICRsdmw7XG4gIHZhciAkaXQgPSBpdC51dGlsLmNvcHkoaXQpO1xuICB2YXIgJGNsb3NpbmdCcmFjZXMgPSAnJztcbiAgJGl0LmxldmVsKys7XG4gIHZhciAkbmV4dFZhbGlkID0gJ3ZhbGlkJyArICRpdC5sZXZlbDtcbiAgdmFyICRub0VtcHR5U2NoZW1hID0gJHNjaGVtYS5ldmVyeShmdW5jdGlvbigkc2NoKSB7XG4gICAgcmV0dXJuIChpdC5vcHRzLnN0cmljdEtleXdvcmRzID8gKHR5cGVvZiAkc2NoID09ICdvYmplY3QnICYmIE9iamVjdC5rZXlzKCRzY2gpLmxlbmd0aCA+IDApIHx8ICRzY2ggPT09IGZhbHNlIDogaXQudXRpbC5zY2hlbWFIYXNSdWxlcygkc2NoLCBpdC5SVUxFUy5hbGwpKTtcbiAgfSk7XG4gIGlmICgkbm9FbXB0eVNjaGVtYSkge1xuICAgIHZhciAkY3VycmVudEJhc2VJZCA9ICRpdC5iYXNlSWQ7XG4gICAgb3V0ICs9ICcgdmFyICcgKyAoJGVycnMpICsgJyA9IGVycm9yczsgdmFyICcgKyAoJHZhbGlkKSArICcgPSBmYWxzZTsgICc7XG4gICAgdmFyICR3YXNDb21wb3NpdGUgPSBpdC5jb21wb3NpdGVSdWxlO1xuICAgIGl0LmNvbXBvc2l0ZVJ1bGUgPSAkaXQuY29tcG9zaXRlUnVsZSA9IHRydWU7XG4gICAgdmFyIGFycjEgPSAkc2NoZW1hO1xuICAgIGlmIChhcnIxKSB7XG4gICAgICB2YXIgJHNjaCwgJGkgPSAtMSxcbiAgICAgICAgbDEgPSBhcnIxLmxlbmd0aCAtIDE7XG4gICAgICB3aGlsZSAoJGkgPCBsMSkge1xuICAgICAgICAkc2NoID0gYXJyMVskaSArPSAxXTtcbiAgICAgICAgJGl0LnNjaGVtYSA9ICRzY2g7XG4gICAgICAgICRpdC5zY2hlbWFQYXRoID0gJHNjaGVtYVBhdGggKyAnWycgKyAkaSArICddJztcbiAgICAgICAgJGl0LmVyclNjaGVtYVBhdGggPSAkZXJyU2NoZW1hUGF0aCArICcvJyArICRpO1xuICAgICAgICBvdXQgKz0gJyAgJyArIChpdC52YWxpZGF0ZSgkaXQpKSArICcgJztcbiAgICAgICAgJGl0LmJhc2VJZCA9ICRjdXJyZW50QmFzZUlkO1xuICAgICAgICBvdXQgKz0gJyAnICsgKCR2YWxpZCkgKyAnID0gJyArICgkdmFsaWQpICsgJyB8fCAnICsgKCRuZXh0VmFsaWQpICsgJzsgaWYgKCEnICsgKCR2YWxpZCkgKyAnKSB7ICc7XG4gICAgICAgICRjbG9zaW5nQnJhY2VzICs9ICd9JztcbiAgICAgIH1cbiAgICB9XG4gICAgaXQuY29tcG9zaXRlUnVsZSA9ICRpdC5jb21wb3NpdGVSdWxlID0gJHdhc0NvbXBvc2l0ZTtcbiAgICBvdXQgKz0gJyAnICsgKCRjbG9zaW5nQnJhY2VzKSArICcgaWYgKCEnICsgKCR2YWxpZCkgKyAnKSB7ICAgdmFyIGVyciA9ICAgJzsgLyogaXN0YW5idWwgaWdub3JlIGVsc2UgKi9cbiAgICBpZiAoaXQuY3JlYXRlRXJyb3JzICE9PSBmYWxzZSkge1xuICAgICAgb3V0ICs9ICcgeyBrZXl3b3JkOiBcXCcnICsgKCdhbnlPZicpICsgJ1xcJyAsIGRhdGFQYXRoOiAoZGF0YVBhdGggfHwgXFwnXFwnKSArICcgKyAoaXQuZXJyb3JQYXRoKSArICcgLCBzY2hlbWFQYXRoOiAnICsgKGl0LnV0aWwudG9RdW90ZWRTdHJpbmcoJGVyclNjaGVtYVBhdGgpKSArICcgLCBwYXJhbXM6IHt9ICc7XG4gICAgICBpZiAoaXQub3B0cy5tZXNzYWdlcyAhPT0gZmFsc2UpIHtcbiAgICAgICAgb3V0ICs9ICcgLCBtZXNzYWdlOiBcXCdzaG91bGQgbWF0Y2ggc29tZSBzY2hlbWEgaW4gYW55T2ZcXCcgJztcbiAgICAgIH1cbiAgICAgIGlmIChpdC5vcHRzLnZlcmJvc2UpIHtcbiAgICAgICAgb3V0ICs9ICcgLCBzY2hlbWE6IHZhbGlkYXRlLnNjaGVtYScgKyAoJHNjaGVtYVBhdGgpICsgJyAsIHBhcmVudFNjaGVtYTogdmFsaWRhdGUuc2NoZW1hJyArIChpdC5zY2hlbWFQYXRoKSArICcgLCBkYXRhOiAnICsgKCRkYXRhKSArICcgJztcbiAgICAgIH1cbiAgICAgIG91dCArPSAnIH0gJztcbiAgICB9IGVsc2Uge1xuICAgICAgb3V0ICs9ICcge30gJztcbiAgICB9XG4gICAgb3V0ICs9ICc7ICBpZiAodkVycm9ycyA9PT0gbnVsbCkgdkVycm9ycyA9IFtlcnJdOyBlbHNlIHZFcnJvcnMucHVzaChlcnIpOyBlcnJvcnMrKzsgJztcbiAgICBpZiAoIWl0LmNvbXBvc2l0ZVJ1bGUgJiYgJGJyZWFrT25FcnJvcikge1xuICAgICAgLyogaXN0YW5idWwgaWdub3JlIGlmICovXG4gICAgICBpZiAoaXQuYXN5bmMpIHtcbiAgICAgICAgb3V0ICs9ICcgdGhyb3cgbmV3IFZhbGlkYXRpb25FcnJvcih2RXJyb3JzKTsgJztcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIG91dCArPSAnIHZhbGlkYXRlLmVycm9ycyA9IHZFcnJvcnM7IHJldHVybiBmYWxzZTsgJztcbiAgICAgIH1cbiAgICB9XG4gICAgb3V0ICs9ICcgfSBlbHNlIHsgIGVycm9ycyA9ICcgKyAoJGVycnMpICsgJzsgaWYgKHZFcnJvcnMgIT09IG51bGwpIHsgaWYgKCcgKyAoJGVycnMpICsgJykgdkVycm9ycy5sZW5ndGggPSAnICsgKCRlcnJzKSArICc7IGVsc2UgdkVycm9ycyA9IG51bGw7IH0gJztcbiAgICBpZiAoaXQub3B0cy5hbGxFcnJvcnMpIHtcbiAgICAgIG91dCArPSAnIH0gJztcbiAgICB9XG4gIH0gZWxzZSB7XG4gICAgaWYgKCRicmVha09uRXJyb3IpIHtcbiAgICAgIG91dCArPSAnIGlmICh0cnVlKSB7ICc7XG4gICAgfVxuICB9XG4gIHJldHVybiBvdXQ7XG59XG4iLCAiJ3VzZSBzdHJpY3QnO1xubW9kdWxlLmV4cG9ydHMgPSBmdW5jdGlvbiBnZW5lcmF0ZV9jb21tZW50KGl0LCAka2V5d29yZCwgJHJ1bGVUeXBlKSB7XG4gIHZhciBvdXQgPSAnICc7XG4gIHZhciAkc2NoZW1hID0gaXQuc2NoZW1hWyRrZXl3b3JkXTtcbiAgdmFyICRlcnJTY2hlbWFQYXRoID0gaXQuZXJyU2NoZW1hUGF0aCArICcvJyArICRrZXl3b3JkO1xuICB2YXIgJGJyZWFrT25FcnJvciA9ICFpdC5vcHRzLmFsbEVycm9ycztcbiAgdmFyICRjb21tZW50ID0gaXQudXRpbC50b1F1b3RlZFN0cmluZygkc2NoZW1hKTtcbiAgaWYgKGl0Lm9wdHMuJGNvbW1lbnQgPT09IHRydWUpIHtcbiAgICBvdXQgKz0gJyBjb25zb2xlLmxvZygnICsgKCRjb21tZW50KSArICcpOyc7XG4gIH0gZWxzZSBpZiAodHlwZW9mIGl0Lm9wdHMuJGNvbW1lbnQgPT0gJ2Z1bmN0aW9uJykge1xuICAgIG91dCArPSAnIHNlbGYuX29wdHMuJGNvbW1lbnQoJyArICgkY29tbWVudCkgKyAnLCAnICsgKGl0LnV0aWwudG9RdW90ZWRTdHJpbmcoJGVyclNjaGVtYVBhdGgpKSArICcsIHZhbGlkYXRlLnJvb3Quc2NoZW1hKTsnO1xuICB9XG4gIHJldHVybiBvdXQ7XG59XG4iLCAiJ3VzZSBzdHJpY3QnO1xubW9kdWxlLmV4cG9ydHMgPSBmdW5jdGlvbiBnZW5lcmF0ZV9jb25zdChpdCwgJGtleXdvcmQsICRydWxlVHlwZSkge1xuICB2YXIgb3V0ID0gJyAnO1xuICB2YXIgJGx2bCA9IGl0LmxldmVsO1xuICB2YXIgJGRhdGFMdmwgPSBpdC5kYXRhTGV2ZWw7XG4gIHZhciAkc2NoZW1hID0gaXQuc2NoZW1hWyRrZXl3b3JkXTtcbiAgdmFyICRzY2hlbWFQYXRoID0gaXQuc2NoZW1hUGF0aCArIGl0LnV0aWwuZ2V0UHJvcGVydHkoJGtleXdvcmQpO1xuICB2YXIgJGVyclNjaGVtYVBhdGggPSBpdC5lcnJTY2hlbWFQYXRoICsgJy8nICsgJGtleXdvcmQ7XG4gIHZhciAkYnJlYWtPbkVycm9yID0gIWl0Lm9wdHMuYWxsRXJyb3JzO1xuICB2YXIgJGRhdGEgPSAnZGF0YScgKyAoJGRhdGFMdmwgfHwgJycpO1xuICB2YXIgJHZhbGlkID0gJ3ZhbGlkJyArICRsdmw7XG4gIHZhciAkaXNEYXRhID0gaXQub3B0cy4kZGF0YSAmJiAkc2NoZW1hICYmICRzY2hlbWEuJGRhdGEsXG4gICAgJHNjaGVtYVZhbHVlO1xuICBpZiAoJGlzRGF0YSkge1xuICAgIG91dCArPSAnIHZhciBzY2hlbWEnICsgKCRsdmwpICsgJyA9ICcgKyAoaXQudXRpbC5nZXREYXRhKCRzY2hlbWEuJGRhdGEsICRkYXRhTHZsLCBpdC5kYXRhUGF0aEFycikpICsgJzsgJztcbiAgICAkc2NoZW1hVmFsdWUgPSAnc2NoZW1hJyArICRsdmw7XG4gIH0gZWxzZSB7XG4gICAgJHNjaGVtYVZhbHVlID0gJHNjaGVtYTtcbiAgfVxuICBpZiAoISRpc0RhdGEpIHtcbiAgICBvdXQgKz0gJyB2YXIgc2NoZW1hJyArICgkbHZsKSArICcgPSB2YWxpZGF0ZS5zY2hlbWEnICsgKCRzY2hlbWFQYXRoKSArICc7JztcbiAgfVxuICBvdXQgKz0gJ3ZhciAnICsgKCR2YWxpZCkgKyAnID0gZXF1YWwoJyArICgkZGF0YSkgKyAnLCBzY2hlbWEnICsgKCRsdmwpICsgJyk7IGlmICghJyArICgkdmFsaWQpICsgJykgeyAgICc7XG4gIHZhciAkJG91dFN0YWNrID0gJCRvdXRTdGFjayB8fCBbXTtcbiAgJCRvdXRTdGFjay5wdXNoKG91dCk7XG4gIG91dCA9ICcnOyAvKiBpc3RhbmJ1bCBpZ25vcmUgZWxzZSAqL1xuICBpZiAoaXQuY3JlYXRlRXJyb3JzICE9PSBmYWxzZSkge1xuICAgIG91dCArPSAnIHsga2V5d29yZDogXFwnJyArICgnY29uc3QnKSArICdcXCcgLCBkYXRhUGF0aDogKGRhdGFQYXRoIHx8IFxcJ1xcJykgKyAnICsgKGl0LmVycm9yUGF0aCkgKyAnICwgc2NoZW1hUGF0aDogJyArIChpdC51dGlsLnRvUXVvdGVkU3RyaW5nKCRlcnJTY2hlbWFQYXRoKSkgKyAnICwgcGFyYW1zOiB7IGFsbG93ZWRWYWx1ZTogc2NoZW1hJyArICgkbHZsKSArICcgfSAnO1xuICAgIGlmIChpdC5vcHRzLm1lc3NhZ2VzICE9PSBmYWxzZSkge1xuICAgICAgb3V0ICs9ICcgLCBtZXNzYWdlOiBcXCdzaG91bGQgYmUgZXF1YWwgdG8gY29uc3RhbnRcXCcgJztcbiAgICB9XG4gICAgaWYgKGl0Lm9wdHMudmVyYm9zZSkge1xuICAgICAgb3V0ICs9ICcgLCBzY2hlbWE6IHZhbGlkYXRlLnNjaGVtYScgKyAoJHNjaGVtYVBhdGgpICsgJyAsIHBhcmVudFNjaGVtYTogdmFsaWRhdGUuc2NoZW1hJyArIChpdC5zY2hlbWFQYXRoKSArICcgLCBkYXRhOiAnICsgKCRkYXRhKSArICcgJztcbiAgICB9XG4gICAgb3V0ICs9ICcgfSAnO1xuICB9IGVsc2Uge1xuICAgIG91dCArPSAnIHt9ICc7XG4gIH1cbiAgdmFyIF9fZXJyID0gb3V0O1xuICBvdXQgPSAkJG91dFN0YWNrLnBvcCgpO1xuICBpZiAoIWl0LmNvbXBvc2l0ZVJ1bGUgJiYgJGJyZWFrT25FcnJvcikge1xuICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBpZiAqL1xuICAgIGlmIChpdC5hc3luYykge1xuICAgICAgb3V0ICs9ICcgdGhyb3cgbmV3IFZhbGlkYXRpb25FcnJvcihbJyArIChfX2VycikgKyAnXSk7ICc7XG4gICAgfSBlbHNlIHtcbiAgICAgIG91dCArPSAnIHZhbGlkYXRlLmVycm9ycyA9IFsnICsgKF9fZXJyKSArICddOyByZXR1cm4gZmFsc2U7ICc7XG4gICAgfVxuICB9IGVsc2Uge1xuICAgIG91dCArPSAnIHZhciBlcnIgPSAnICsgKF9fZXJyKSArICc7ICBpZiAodkVycm9ycyA9PT0gbnVsbCkgdkVycm9ycyA9IFtlcnJdOyBlbHNlIHZFcnJvcnMucHVzaChlcnIpOyBlcnJvcnMrKzsgJztcbiAgfVxuICBvdXQgKz0gJyB9JztcbiAgaWYgKCRicmVha09uRXJyb3IpIHtcbiAgICBvdXQgKz0gJyBlbHNlIHsgJztcbiAgfVxuICByZXR1cm4gb3V0O1xufVxuIiwgIid1c2Ugc3RyaWN0Jztcbm1vZHVsZS5leHBvcnRzID0gZnVuY3Rpb24gZ2VuZXJhdGVfY29udGFpbnMoaXQsICRrZXl3b3JkLCAkcnVsZVR5cGUpIHtcbiAgdmFyIG91dCA9ICcgJztcbiAgdmFyICRsdmwgPSBpdC5sZXZlbDtcbiAgdmFyICRkYXRhTHZsID0gaXQuZGF0YUxldmVsO1xuICB2YXIgJHNjaGVtYSA9IGl0LnNjaGVtYVska2V5d29yZF07XG4gIHZhciAkc2NoZW1hUGF0aCA9IGl0LnNjaGVtYVBhdGggKyBpdC51dGlsLmdldFByb3BlcnR5KCRrZXl3b3JkKTtcbiAgdmFyICRlcnJTY2hlbWFQYXRoID0gaXQuZXJyU2NoZW1hUGF0aCArICcvJyArICRrZXl3b3JkO1xuICB2YXIgJGJyZWFrT25FcnJvciA9ICFpdC5vcHRzLmFsbEVycm9ycztcbiAgdmFyICRkYXRhID0gJ2RhdGEnICsgKCRkYXRhTHZsIHx8ICcnKTtcbiAgdmFyICR2YWxpZCA9ICd2YWxpZCcgKyAkbHZsO1xuICB2YXIgJGVycnMgPSAnZXJyc19fJyArICRsdmw7XG4gIHZhciAkaXQgPSBpdC51dGlsLmNvcHkoaXQpO1xuICB2YXIgJGNsb3NpbmdCcmFjZXMgPSAnJztcbiAgJGl0LmxldmVsKys7XG4gIHZhciAkbmV4dFZhbGlkID0gJ3ZhbGlkJyArICRpdC5sZXZlbDtcbiAgdmFyICRpZHggPSAnaScgKyAkbHZsLFxuICAgICRkYXRhTnh0ID0gJGl0LmRhdGFMZXZlbCA9IGl0LmRhdGFMZXZlbCArIDEsXG4gICAgJG5leHREYXRhID0gJ2RhdGEnICsgJGRhdGFOeHQsXG4gICAgJGN1cnJlbnRCYXNlSWQgPSBpdC5iYXNlSWQsXG4gICAgJG5vbkVtcHR5U2NoZW1hID0gKGl0Lm9wdHMuc3RyaWN0S2V5d29yZHMgPyAodHlwZW9mICRzY2hlbWEgPT0gJ29iamVjdCcgJiYgT2JqZWN0LmtleXMoJHNjaGVtYSkubGVuZ3RoID4gMCkgfHwgJHNjaGVtYSA9PT0gZmFsc2UgOiBpdC51dGlsLnNjaGVtYUhhc1J1bGVzKCRzY2hlbWEsIGl0LlJVTEVTLmFsbCkpO1xuICBvdXQgKz0gJ3ZhciAnICsgKCRlcnJzKSArICcgPSBlcnJvcnM7dmFyICcgKyAoJHZhbGlkKSArICc7JztcbiAgaWYgKCRub25FbXB0eVNjaGVtYSkge1xuICAgIHZhciAkd2FzQ29tcG9zaXRlID0gaXQuY29tcG9zaXRlUnVsZTtcbiAgICBpdC5jb21wb3NpdGVSdWxlID0gJGl0LmNvbXBvc2l0ZVJ1bGUgPSB0cnVlO1xuICAgICRpdC5zY2hlbWEgPSAkc2NoZW1hO1xuICAgICRpdC5zY2hlbWFQYXRoID0gJHNjaGVtYVBhdGg7XG4gICAgJGl0LmVyclNjaGVtYVBhdGggPSAkZXJyU2NoZW1hUGF0aDtcbiAgICBvdXQgKz0gJyB2YXIgJyArICgkbmV4dFZhbGlkKSArICcgPSBmYWxzZTsgZm9yICh2YXIgJyArICgkaWR4KSArICcgPSAwOyAnICsgKCRpZHgpICsgJyA8ICcgKyAoJGRhdGEpICsgJy5sZW5ndGg7ICcgKyAoJGlkeCkgKyAnKyspIHsgJztcbiAgICAkaXQuZXJyb3JQYXRoID0gaXQudXRpbC5nZXRQYXRoRXhwcihpdC5lcnJvclBhdGgsICRpZHgsIGl0Lm9wdHMuanNvblBvaW50ZXJzLCB0cnVlKTtcbiAgICB2YXIgJHBhc3NEYXRhID0gJGRhdGEgKyAnWycgKyAkaWR4ICsgJ10nO1xuICAgICRpdC5kYXRhUGF0aEFyclskZGF0YU54dF0gPSAkaWR4O1xuICAgIHZhciAkY29kZSA9IGl0LnZhbGlkYXRlKCRpdCk7XG4gICAgJGl0LmJhc2VJZCA9ICRjdXJyZW50QmFzZUlkO1xuICAgIGlmIChpdC51dGlsLnZhck9jY3VyZW5jZXMoJGNvZGUsICRuZXh0RGF0YSkgPCAyKSB7XG4gICAgICBvdXQgKz0gJyAnICsgKGl0LnV0aWwudmFyUmVwbGFjZSgkY29kZSwgJG5leHREYXRhLCAkcGFzc0RhdGEpKSArICcgJztcbiAgICB9IGVsc2Uge1xuICAgICAgb3V0ICs9ICcgdmFyICcgKyAoJG5leHREYXRhKSArICcgPSAnICsgKCRwYXNzRGF0YSkgKyAnOyAnICsgKCRjb2RlKSArICcgJztcbiAgICB9XG4gICAgb3V0ICs9ICcgaWYgKCcgKyAoJG5leHRWYWxpZCkgKyAnKSBicmVhazsgfSAgJztcbiAgICBpdC5jb21wb3NpdGVSdWxlID0gJGl0LmNvbXBvc2l0ZVJ1bGUgPSAkd2FzQ29tcG9zaXRlO1xuICAgIG91dCArPSAnICcgKyAoJGNsb3NpbmdCcmFjZXMpICsgJyBpZiAoIScgKyAoJG5leHRWYWxpZCkgKyAnKSB7JztcbiAgfSBlbHNlIHtcbiAgICBvdXQgKz0gJyBpZiAoJyArICgkZGF0YSkgKyAnLmxlbmd0aCA9PSAwKSB7JztcbiAgfVxuICB2YXIgJCRvdXRTdGFjayA9ICQkb3V0U3RhY2sgfHwgW107XG4gICQkb3V0U3RhY2sucHVzaChvdXQpO1xuICBvdXQgPSAnJzsgLyogaXN0YW5idWwgaWdub3JlIGVsc2UgKi9cbiAgaWYgKGl0LmNyZWF0ZUVycm9ycyAhPT0gZmFsc2UpIHtcbiAgICBvdXQgKz0gJyB7IGtleXdvcmQ6IFxcJycgKyAoJ2NvbnRhaW5zJykgKyAnXFwnICwgZGF0YVBhdGg6IChkYXRhUGF0aCB8fCBcXCdcXCcpICsgJyArIChpdC5lcnJvclBhdGgpICsgJyAsIHNjaGVtYVBhdGg6ICcgKyAoaXQudXRpbC50b1F1b3RlZFN0cmluZygkZXJyU2NoZW1hUGF0aCkpICsgJyAsIHBhcmFtczoge30gJztcbiAgICBpZiAoaXQub3B0cy5tZXNzYWdlcyAhPT0gZmFsc2UpIHtcbiAgICAgIG91dCArPSAnICwgbWVzc2FnZTogXFwnc2hvdWxkIGNvbnRhaW4gYSB2YWxpZCBpdGVtXFwnICc7XG4gICAgfVxuICAgIGlmIChpdC5vcHRzLnZlcmJvc2UpIHtcbiAgICAgIG91dCArPSAnICwgc2NoZW1hOiB2YWxpZGF0ZS5zY2hlbWEnICsgKCRzY2hlbWFQYXRoKSArICcgLCBwYXJlbnRTY2hlbWE6IHZhbGlkYXRlLnNjaGVtYScgKyAoaXQuc2NoZW1hUGF0aCkgKyAnICwgZGF0YTogJyArICgkZGF0YSkgKyAnICc7XG4gICAgfVxuICAgIG91dCArPSAnIH0gJztcbiAgfSBlbHNlIHtcbiAgICBvdXQgKz0gJyB7fSAnO1xuICB9XG4gIHZhciBfX2VyciA9IG91dDtcbiAgb3V0ID0gJCRvdXRTdGFjay5wb3AoKTtcbiAgaWYgKCFpdC5jb21wb3NpdGVSdWxlICYmICRicmVha09uRXJyb3IpIHtcbiAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgaWYgKi9cbiAgICBpZiAoaXQuYXN5bmMpIHtcbiAgICAgIG91dCArPSAnIHRocm93IG5ldyBWYWxpZGF0aW9uRXJyb3IoWycgKyAoX19lcnIpICsgJ10pOyAnO1xuICAgIH0gZWxzZSB7XG4gICAgICBvdXQgKz0gJyB2YWxpZGF0ZS5lcnJvcnMgPSBbJyArIChfX2VycikgKyAnXTsgcmV0dXJuIGZhbHNlOyAnO1xuICAgIH1cbiAgfSBlbHNlIHtcbiAgICBvdXQgKz0gJyB2YXIgZXJyID0gJyArIChfX2VycikgKyAnOyAgaWYgKHZFcnJvcnMgPT09IG51bGwpIHZFcnJvcnMgPSBbZXJyXTsgZWxzZSB2RXJyb3JzLnB1c2goZXJyKTsgZXJyb3JzKys7ICc7XG4gIH1cbiAgb3V0ICs9ICcgfSBlbHNlIHsgJztcbiAgaWYgKCRub25FbXB0eVNjaGVtYSkge1xuICAgIG91dCArPSAnICBlcnJvcnMgPSAnICsgKCRlcnJzKSArICc7IGlmICh2RXJyb3JzICE9PSBudWxsKSB7IGlmICgnICsgKCRlcnJzKSArICcpIHZFcnJvcnMubGVuZ3RoID0gJyArICgkZXJycykgKyAnOyBlbHNlIHZFcnJvcnMgPSBudWxsOyB9ICc7XG4gIH1cbiAgaWYgKGl0Lm9wdHMuYWxsRXJyb3JzKSB7XG4gICAgb3V0ICs9ICcgfSAnO1xuICB9XG4gIHJldHVybiBvdXQ7XG59XG4iLCAiJ3VzZSBzdHJpY3QnO1xubW9kdWxlLmV4cG9ydHMgPSBmdW5jdGlvbiBnZW5lcmF0ZV9kZXBlbmRlbmNpZXMoaXQsICRrZXl3b3JkLCAkcnVsZVR5cGUpIHtcbiAgdmFyIG91dCA9ICcgJztcbiAgdmFyICRsdmwgPSBpdC5sZXZlbDtcbiAgdmFyICRkYXRhTHZsID0gaXQuZGF0YUxldmVsO1xuICB2YXIgJHNjaGVtYSA9IGl0LnNjaGVtYVska2V5d29yZF07XG4gIHZhciAkc2NoZW1hUGF0aCA9IGl0LnNjaGVtYVBhdGggKyBpdC51dGlsLmdldFByb3BlcnR5KCRrZXl3b3JkKTtcbiAgdmFyICRlcnJTY2hlbWFQYXRoID0gaXQuZXJyU2NoZW1hUGF0aCArICcvJyArICRrZXl3b3JkO1xuICB2YXIgJGJyZWFrT25FcnJvciA9ICFpdC5vcHRzLmFsbEVycm9ycztcbiAgdmFyICRkYXRhID0gJ2RhdGEnICsgKCRkYXRhTHZsIHx8ICcnKTtcbiAgdmFyICRlcnJzID0gJ2VycnNfXycgKyAkbHZsO1xuICB2YXIgJGl0ID0gaXQudXRpbC5jb3B5KGl0KTtcbiAgdmFyICRjbG9zaW5nQnJhY2VzID0gJyc7XG4gICRpdC5sZXZlbCsrO1xuICB2YXIgJG5leHRWYWxpZCA9ICd2YWxpZCcgKyAkaXQubGV2ZWw7XG4gIHZhciAkc2NoZW1hRGVwcyA9IHt9LFxuICAgICRwcm9wZXJ0eURlcHMgPSB7fSxcbiAgICAkb3duUHJvcGVydGllcyA9IGl0Lm9wdHMub3duUHJvcGVydGllcztcbiAgZm9yICgkcHJvcGVydHkgaW4gJHNjaGVtYSkge1xuICAgIGlmICgkcHJvcGVydHkgPT0gJ19fcHJvdG9fXycpIGNvbnRpbnVlO1xuICAgIHZhciAkc2NoID0gJHNjaGVtYVskcHJvcGVydHldO1xuICAgIHZhciAkZGVwcyA9IEFycmF5LmlzQXJyYXkoJHNjaCkgPyAkcHJvcGVydHlEZXBzIDogJHNjaGVtYURlcHM7XG4gICAgJGRlcHNbJHByb3BlcnR5XSA9ICRzY2g7XG4gIH1cbiAgb3V0ICs9ICd2YXIgJyArICgkZXJycykgKyAnID0gZXJyb3JzOyc7XG4gIHZhciAkY3VycmVudEVycm9yUGF0aCA9IGl0LmVycm9yUGF0aDtcbiAgb3V0ICs9ICd2YXIgbWlzc2luZycgKyAoJGx2bCkgKyAnOyc7XG4gIGZvciAodmFyICRwcm9wZXJ0eSBpbiAkcHJvcGVydHlEZXBzKSB7XG4gICAgJGRlcHMgPSAkcHJvcGVydHlEZXBzWyRwcm9wZXJ0eV07XG4gICAgaWYgKCRkZXBzLmxlbmd0aCkge1xuICAgICAgb3V0ICs9ICcgaWYgKCAnICsgKCRkYXRhKSArIChpdC51dGlsLmdldFByb3BlcnR5KCRwcm9wZXJ0eSkpICsgJyAhPT0gdW5kZWZpbmVkICc7XG4gICAgICBpZiAoJG93blByb3BlcnRpZXMpIHtcbiAgICAgICAgb3V0ICs9ICcgJiYgT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKCcgKyAoJGRhdGEpICsgJywgXFwnJyArIChpdC51dGlsLmVzY2FwZVF1b3RlcygkcHJvcGVydHkpKSArICdcXCcpICc7XG4gICAgICB9XG4gICAgICBpZiAoJGJyZWFrT25FcnJvcikge1xuICAgICAgICBvdXQgKz0gJyAmJiAoICc7XG4gICAgICAgIHZhciBhcnIxID0gJGRlcHM7XG4gICAgICAgIGlmIChhcnIxKSB7XG4gICAgICAgICAgdmFyICRwcm9wZXJ0eUtleSwgJGkgPSAtMSxcbiAgICAgICAgICAgIGwxID0gYXJyMS5sZW5ndGggLSAxO1xuICAgICAgICAgIHdoaWxlICgkaSA8IGwxKSB7XG4gICAgICAgICAgICAkcHJvcGVydHlLZXkgPSBhcnIxWyRpICs9IDFdO1xuICAgICAgICAgICAgaWYgKCRpKSB7XG4gICAgICAgICAgICAgIG91dCArPSAnIHx8ICc7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICB2YXIgJHByb3AgPSBpdC51dGlsLmdldFByb3BlcnR5KCRwcm9wZXJ0eUtleSksXG4gICAgICAgICAgICAgICR1c2VEYXRhID0gJGRhdGEgKyAkcHJvcDtcbiAgICAgICAgICAgIG91dCArPSAnICggKCAnICsgKCR1c2VEYXRhKSArICcgPT09IHVuZGVmaW5lZCAnO1xuICAgICAgICAgICAgaWYgKCRvd25Qcm9wZXJ0aWVzKSB7XG4gICAgICAgICAgICAgIG91dCArPSAnIHx8ICEgT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKCcgKyAoJGRhdGEpICsgJywgXFwnJyArIChpdC51dGlsLmVzY2FwZVF1b3RlcygkcHJvcGVydHlLZXkpKSArICdcXCcpICc7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBvdXQgKz0gJykgJiYgKG1pc3NpbmcnICsgKCRsdmwpICsgJyA9ICcgKyAoaXQudXRpbC50b1F1b3RlZFN0cmluZyhpdC5vcHRzLmpzb25Qb2ludGVycyA/ICRwcm9wZXJ0eUtleSA6ICRwcm9wKSkgKyAnKSApICc7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIG91dCArPSAnKSkgeyAgJztcbiAgICAgICAgdmFyICRwcm9wZXJ0eVBhdGggPSAnbWlzc2luZycgKyAkbHZsLFxuICAgICAgICAgICRtaXNzaW5nUHJvcGVydHkgPSAnXFwnICsgJyArICRwcm9wZXJ0eVBhdGggKyAnICsgXFwnJztcbiAgICAgICAgaWYgKGl0Lm9wdHMuX2Vycm9yRGF0YVBhdGhQcm9wZXJ0eSkge1xuICAgICAgICAgIGl0LmVycm9yUGF0aCA9IGl0Lm9wdHMuanNvblBvaW50ZXJzID8gaXQudXRpbC5nZXRQYXRoRXhwcigkY3VycmVudEVycm9yUGF0aCwgJHByb3BlcnR5UGF0aCwgdHJ1ZSkgOiAkY3VycmVudEVycm9yUGF0aCArICcgKyAnICsgJHByb3BlcnR5UGF0aDtcbiAgICAgICAgfVxuICAgICAgICB2YXIgJCRvdXRTdGFjayA9ICQkb3V0U3RhY2sgfHwgW107XG4gICAgICAgICQkb3V0U3RhY2sucHVzaChvdXQpO1xuICAgICAgICBvdXQgPSAnJzsgLyogaXN0YW5idWwgaWdub3JlIGVsc2UgKi9cbiAgICAgICAgaWYgKGl0LmNyZWF0ZUVycm9ycyAhPT0gZmFsc2UpIHtcbiAgICAgICAgICBvdXQgKz0gJyB7IGtleXdvcmQ6IFxcJycgKyAoJ2RlcGVuZGVuY2llcycpICsgJ1xcJyAsIGRhdGFQYXRoOiAoZGF0YVBhdGggfHwgXFwnXFwnKSArICcgKyAoaXQuZXJyb3JQYXRoKSArICcgLCBzY2hlbWFQYXRoOiAnICsgKGl0LnV0aWwudG9RdW90ZWRTdHJpbmcoJGVyclNjaGVtYVBhdGgpKSArICcgLCBwYXJhbXM6IHsgcHJvcGVydHk6IFxcJycgKyAoaXQudXRpbC5lc2NhcGVRdW90ZXMoJHByb3BlcnR5KSkgKyAnXFwnLCBtaXNzaW5nUHJvcGVydHk6IFxcJycgKyAoJG1pc3NpbmdQcm9wZXJ0eSkgKyAnXFwnLCBkZXBzQ291bnQ6ICcgKyAoJGRlcHMubGVuZ3RoKSArICcsIGRlcHM6IFxcJycgKyAoaXQudXRpbC5lc2NhcGVRdW90ZXMoJGRlcHMubGVuZ3RoID09IDEgPyAkZGVwc1swXSA6ICRkZXBzLmpvaW4oXCIsIFwiKSkpICsgJ1xcJyB9ICc7XG4gICAgICAgICAgaWYgKGl0Lm9wdHMubWVzc2FnZXMgIT09IGZhbHNlKSB7XG4gICAgICAgICAgICBvdXQgKz0gJyAsIG1lc3NhZ2U6IFxcJ3Nob3VsZCBoYXZlICc7XG4gICAgICAgICAgICBpZiAoJGRlcHMubGVuZ3RoID09IDEpIHtcbiAgICAgICAgICAgICAgb3V0ICs9ICdwcm9wZXJ0eSAnICsgKGl0LnV0aWwuZXNjYXBlUXVvdGVzKCRkZXBzWzBdKSk7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICBvdXQgKz0gJ3Byb3BlcnRpZXMgJyArIChpdC51dGlsLmVzY2FwZVF1b3RlcygkZGVwcy5qb2luKFwiLCBcIikpKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIG91dCArPSAnIHdoZW4gcHJvcGVydHkgJyArIChpdC51dGlsLmVzY2FwZVF1b3RlcygkcHJvcGVydHkpKSArICcgaXMgcHJlc2VudFxcJyAnO1xuICAgICAgICAgIH1cbiAgICAgICAgICBpZiAoaXQub3B0cy52ZXJib3NlKSB7XG4gICAgICAgICAgICBvdXQgKz0gJyAsIHNjaGVtYTogdmFsaWRhdGUuc2NoZW1hJyArICgkc2NoZW1hUGF0aCkgKyAnICwgcGFyZW50U2NoZW1hOiB2YWxpZGF0ZS5zY2hlbWEnICsgKGl0LnNjaGVtYVBhdGgpICsgJyAsIGRhdGE6ICcgKyAoJGRhdGEpICsgJyAnO1xuICAgICAgICAgIH1cbiAgICAgICAgICBvdXQgKz0gJyB9ICc7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgb3V0ICs9ICcge30gJztcbiAgICAgICAgfVxuICAgICAgICB2YXIgX19lcnIgPSBvdXQ7XG4gICAgICAgIG91dCA9ICQkb3V0U3RhY2sucG9wKCk7XG4gICAgICAgIGlmICghaXQuY29tcG9zaXRlUnVsZSAmJiAkYnJlYWtPbkVycm9yKSB7XG4gICAgICAgICAgLyogaXN0YW5idWwgaWdub3JlIGlmICovXG4gICAgICAgICAgaWYgKGl0LmFzeW5jKSB7XG4gICAgICAgICAgICBvdXQgKz0gJyB0aHJvdyBuZXcgVmFsaWRhdGlvbkVycm9yKFsnICsgKF9fZXJyKSArICddKTsgJztcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgb3V0ICs9ICcgdmFsaWRhdGUuZXJyb3JzID0gWycgKyAoX19lcnIpICsgJ107IHJldHVybiBmYWxzZTsgJztcbiAgICAgICAgICB9XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgb3V0ICs9ICcgdmFyIGVyciA9ICcgKyAoX19lcnIpICsgJzsgIGlmICh2RXJyb3JzID09PSBudWxsKSB2RXJyb3JzID0gW2Vycl07IGVsc2UgdkVycm9ycy5wdXNoKGVycik7IGVycm9ycysrOyAnO1xuICAgICAgICB9XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBvdXQgKz0gJyApIHsgJztcbiAgICAgICAgdmFyIGFycjIgPSAkZGVwcztcbiAgICAgICAgaWYgKGFycjIpIHtcbiAgICAgICAgICB2YXIgJHByb3BlcnR5S2V5LCBpMiA9IC0xLFxuICAgICAgICAgICAgbDIgPSBhcnIyLmxlbmd0aCAtIDE7XG4gICAgICAgICAgd2hpbGUgKGkyIDwgbDIpIHtcbiAgICAgICAgICAgICRwcm9wZXJ0eUtleSA9IGFycjJbaTIgKz0gMV07XG4gICAgICAgICAgICB2YXIgJHByb3AgPSBpdC51dGlsLmdldFByb3BlcnR5KCRwcm9wZXJ0eUtleSksXG4gICAgICAgICAgICAgICRtaXNzaW5nUHJvcGVydHkgPSBpdC51dGlsLmVzY2FwZVF1b3RlcygkcHJvcGVydHlLZXkpLFxuICAgICAgICAgICAgICAkdXNlRGF0YSA9ICRkYXRhICsgJHByb3A7XG4gICAgICAgICAgICBpZiAoaXQub3B0cy5fZXJyb3JEYXRhUGF0aFByb3BlcnR5KSB7XG4gICAgICAgICAgICAgIGl0LmVycm9yUGF0aCA9IGl0LnV0aWwuZ2V0UGF0aCgkY3VycmVudEVycm9yUGF0aCwgJHByb3BlcnR5S2V5LCBpdC5vcHRzLmpzb25Qb2ludGVycyk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBvdXQgKz0gJyBpZiAoICcgKyAoJHVzZURhdGEpICsgJyA9PT0gdW5kZWZpbmVkICc7XG4gICAgICAgICAgICBpZiAoJG93blByb3BlcnRpZXMpIHtcbiAgICAgICAgICAgICAgb3V0ICs9ICcgfHwgISBPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwoJyArICgkZGF0YSkgKyAnLCBcXCcnICsgKGl0LnV0aWwuZXNjYXBlUXVvdGVzKCRwcm9wZXJ0eUtleSkpICsgJ1xcJykgJztcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIG91dCArPSAnKSB7ICB2YXIgZXJyID0gICAnOyAvKiBpc3RhbmJ1bCBpZ25vcmUgZWxzZSAqL1xuICAgICAgICAgICAgaWYgKGl0LmNyZWF0ZUVycm9ycyAhPT0gZmFsc2UpIHtcbiAgICAgICAgICAgICAgb3V0ICs9ICcgeyBrZXl3b3JkOiBcXCcnICsgKCdkZXBlbmRlbmNpZXMnKSArICdcXCcgLCBkYXRhUGF0aDogKGRhdGFQYXRoIHx8IFxcJ1xcJykgKyAnICsgKGl0LmVycm9yUGF0aCkgKyAnICwgc2NoZW1hUGF0aDogJyArIChpdC51dGlsLnRvUXVvdGVkU3RyaW5nKCRlcnJTY2hlbWFQYXRoKSkgKyAnICwgcGFyYW1zOiB7IHByb3BlcnR5OiBcXCcnICsgKGl0LnV0aWwuZXNjYXBlUXVvdGVzKCRwcm9wZXJ0eSkpICsgJ1xcJywgbWlzc2luZ1Byb3BlcnR5OiBcXCcnICsgKCRtaXNzaW5nUHJvcGVydHkpICsgJ1xcJywgZGVwc0NvdW50OiAnICsgKCRkZXBzLmxlbmd0aCkgKyAnLCBkZXBzOiBcXCcnICsgKGl0LnV0aWwuZXNjYXBlUXVvdGVzKCRkZXBzLmxlbmd0aCA9PSAxID8gJGRlcHNbMF0gOiAkZGVwcy5qb2luKFwiLCBcIikpKSArICdcXCcgfSAnO1xuICAgICAgICAgICAgICBpZiAoaXQub3B0cy5tZXNzYWdlcyAhPT0gZmFsc2UpIHtcbiAgICAgICAgICAgICAgICBvdXQgKz0gJyAsIG1lc3NhZ2U6IFxcJ3Nob3VsZCBoYXZlICc7XG4gICAgICAgICAgICAgICAgaWYgKCRkZXBzLmxlbmd0aCA9PSAxKSB7XG4gICAgICAgICAgICAgICAgICBvdXQgKz0gJ3Byb3BlcnR5ICcgKyAoaXQudXRpbC5lc2NhcGVRdW90ZXMoJGRlcHNbMF0pKTtcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgb3V0ICs9ICdwcm9wZXJ0aWVzICcgKyAoaXQudXRpbC5lc2NhcGVRdW90ZXMoJGRlcHMuam9pbihcIiwgXCIpKSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIG91dCArPSAnIHdoZW4gcHJvcGVydHkgJyArIChpdC51dGlsLmVzY2FwZVF1b3RlcygkcHJvcGVydHkpKSArICcgaXMgcHJlc2VudFxcJyAnO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIGlmIChpdC5vcHRzLnZlcmJvc2UpIHtcbiAgICAgICAgICAgICAgICBvdXQgKz0gJyAsIHNjaGVtYTogdmFsaWRhdGUuc2NoZW1hJyArICgkc2NoZW1hUGF0aCkgKyAnICwgcGFyZW50U2NoZW1hOiB2YWxpZGF0ZS5zY2hlbWEnICsgKGl0LnNjaGVtYVBhdGgpICsgJyAsIGRhdGE6ICcgKyAoJGRhdGEpICsgJyAnO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIG91dCArPSAnIH0gJztcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgIG91dCArPSAnIHt9ICc7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBvdXQgKz0gJzsgIGlmICh2RXJyb3JzID09PSBudWxsKSB2RXJyb3JzID0gW2Vycl07IGVsc2UgdkVycm9ycy5wdXNoKGVycik7IGVycm9ycysrOyB9ICc7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgICBvdXQgKz0gJyB9ICAgJztcbiAgICAgIGlmICgkYnJlYWtPbkVycm9yKSB7XG4gICAgICAgICRjbG9zaW5nQnJhY2VzICs9ICd9JztcbiAgICAgICAgb3V0ICs9ICcgZWxzZSB7ICc7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIGl0LmVycm9yUGF0aCA9ICRjdXJyZW50RXJyb3JQYXRoO1xuICB2YXIgJGN1cnJlbnRCYXNlSWQgPSAkaXQuYmFzZUlkO1xuICBmb3IgKHZhciAkcHJvcGVydHkgaW4gJHNjaGVtYURlcHMpIHtcbiAgICB2YXIgJHNjaCA9ICRzY2hlbWFEZXBzWyRwcm9wZXJ0eV07XG4gICAgaWYgKChpdC5vcHRzLnN0cmljdEtleXdvcmRzID8gKHR5cGVvZiAkc2NoID09ICdvYmplY3QnICYmIE9iamVjdC5rZXlzKCRzY2gpLmxlbmd0aCA+IDApIHx8ICRzY2ggPT09IGZhbHNlIDogaXQudXRpbC5zY2hlbWFIYXNSdWxlcygkc2NoLCBpdC5SVUxFUy5hbGwpKSkge1xuICAgICAgb3V0ICs9ICcgJyArICgkbmV4dFZhbGlkKSArICcgPSB0cnVlOyBpZiAoICcgKyAoJGRhdGEpICsgKGl0LnV0aWwuZ2V0UHJvcGVydHkoJHByb3BlcnR5KSkgKyAnICE9PSB1bmRlZmluZWQgJztcbiAgICAgIGlmICgkb3duUHJvcGVydGllcykge1xuICAgICAgICBvdXQgKz0gJyAmJiBPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwoJyArICgkZGF0YSkgKyAnLCBcXCcnICsgKGl0LnV0aWwuZXNjYXBlUXVvdGVzKCRwcm9wZXJ0eSkpICsgJ1xcJykgJztcbiAgICAgIH1cbiAgICAgIG91dCArPSAnKSB7ICc7XG4gICAgICAkaXQuc2NoZW1hID0gJHNjaDtcbiAgICAgICRpdC5zY2hlbWFQYXRoID0gJHNjaGVtYVBhdGggKyBpdC51dGlsLmdldFByb3BlcnR5KCRwcm9wZXJ0eSk7XG4gICAgICAkaXQuZXJyU2NoZW1hUGF0aCA9ICRlcnJTY2hlbWFQYXRoICsgJy8nICsgaXQudXRpbC5lc2NhcGVGcmFnbWVudCgkcHJvcGVydHkpO1xuICAgICAgb3V0ICs9ICcgICcgKyAoaXQudmFsaWRhdGUoJGl0KSkgKyAnICc7XG4gICAgICAkaXQuYmFzZUlkID0gJGN1cnJlbnRCYXNlSWQ7XG4gICAgICBvdXQgKz0gJyB9ICAnO1xuICAgICAgaWYgKCRicmVha09uRXJyb3IpIHtcbiAgICAgICAgb3V0ICs9ICcgaWYgKCcgKyAoJG5leHRWYWxpZCkgKyAnKSB7ICc7XG4gICAgICAgICRjbG9zaW5nQnJhY2VzICs9ICd9JztcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgaWYgKCRicmVha09uRXJyb3IpIHtcbiAgICBvdXQgKz0gJyAgICcgKyAoJGNsb3NpbmdCcmFjZXMpICsgJyBpZiAoJyArICgkZXJycykgKyAnID09IGVycm9ycykgeyc7XG4gIH1cbiAgcmV0dXJuIG91dDtcbn1cbiIsICIndXNlIHN0cmljdCc7XG5tb2R1bGUuZXhwb3J0cyA9IGZ1bmN0aW9uIGdlbmVyYXRlX2VudW0oaXQsICRrZXl3b3JkLCAkcnVsZVR5cGUpIHtcbiAgdmFyIG91dCA9ICcgJztcbiAgdmFyICRsdmwgPSBpdC5sZXZlbDtcbiAgdmFyICRkYXRhTHZsID0gaXQuZGF0YUxldmVsO1xuICB2YXIgJHNjaGVtYSA9IGl0LnNjaGVtYVska2V5d29yZF07XG4gIHZhciAkc2NoZW1hUGF0aCA9IGl0LnNjaGVtYVBhdGggKyBpdC51dGlsLmdldFByb3BlcnR5KCRrZXl3b3JkKTtcbiAgdmFyICRlcnJTY2hlbWFQYXRoID0gaXQuZXJyU2NoZW1hUGF0aCArICcvJyArICRrZXl3b3JkO1xuICB2YXIgJGJyZWFrT25FcnJvciA9ICFpdC5vcHRzLmFsbEVycm9ycztcbiAgdmFyICRkYXRhID0gJ2RhdGEnICsgKCRkYXRhTHZsIHx8ICcnKTtcbiAgdmFyICR2YWxpZCA9ICd2YWxpZCcgKyAkbHZsO1xuICB2YXIgJGlzRGF0YSA9IGl0Lm9wdHMuJGRhdGEgJiYgJHNjaGVtYSAmJiAkc2NoZW1hLiRkYXRhLFxuICAgICRzY2hlbWFWYWx1ZTtcbiAgaWYgKCRpc0RhdGEpIHtcbiAgICBvdXQgKz0gJyB2YXIgc2NoZW1hJyArICgkbHZsKSArICcgPSAnICsgKGl0LnV0aWwuZ2V0RGF0YSgkc2NoZW1hLiRkYXRhLCAkZGF0YUx2bCwgaXQuZGF0YVBhdGhBcnIpKSArICc7ICc7XG4gICAgJHNjaGVtYVZhbHVlID0gJ3NjaGVtYScgKyAkbHZsO1xuICB9IGVsc2Uge1xuICAgICRzY2hlbWFWYWx1ZSA9ICRzY2hlbWE7XG4gIH1cbiAgdmFyICRpID0gJ2knICsgJGx2bCxcbiAgICAkdlNjaGVtYSA9ICdzY2hlbWEnICsgJGx2bDtcbiAgaWYgKCEkaXNEYXRhKSB7XG4gICAgb3V0ICs9ICcgdmFyICcgKyAoJHZTY2hlbWEpICsgJyA9IHZhbGlkYXRlLnNjaGVtYScgKyAoJHNjaGVtYVBhdGgpICsgJzsnO1xuICB9XG4gIG91dCArPSAndmFyICcgKyAoJHZhbGlkKSArICc7JztcbiAgaWYgKCRpc0RhdGEpIHtcbiAgICBvdXQgKz0gJyBpZiAoc2NoZW1hJyArICgkbHZsKSArICcgPT09IHVuZGVmaW5lZCkgJyArICgkdmFsaWQpICsgJyA9IHRydWU7IGVsc2UgaWYgKCFBcnJheS5pc0FycmF5KHNjaGVtYScgKyAoJGx2bCkgKyAnKSkgJyArICgkdmFsaWQpICsgJyA9IGZhbHNlOyBlbHNlIHsnO1xuICB9XG4gIG91dCArPSAnJyArICgkdmFsaWQpICsgJyA9IGZhbHNlO2ZvciAodmFyICcgKyAoJGkpICsgJz0wOyAnICsgKCRpKSArICc8JyArICgkdlNjaGVtYSkgKyAnLmxlbmd0aDsgJyArICgkaSkgKyAnKyspIGlmIChlcXVhbCgnICsgKCRkYXRhKSArICcsICcgKyAoJHZTY2hlbWEpICsgJ1snICsgKCRpKSArICddKSkgeyAnICsgKCR2YWxpZCkgKyAnID0gdHJ1ZTsgYnJlYWs7IH0nO1xuICBpZiAoJGlzRGF0YSkge1xuICAgIG91dCArPSAnICB9ICAnO1xuICB9XG4gIG91dCArPSAnIGlmICghJyArICgkdmFsaWQpICsgJykgeyAgICc7XG4gIHZhciAkJG91dFN0YWNrID0gJCRvdXRTdGFjayB8fCBbXTtcbiAgJCRvdXRTdGFjay5wdXNoKG91dCk7XG4gIG91dCA9ICcnOyAvKiBpc3RhbmJ1bCBpZ25vcmUgZWxzZSAqL1xuICBpZiAoaXQuY3JlYXRlRXJyb3JzICE9PSBmYWxzZSkge1xuICAgIG91dCArPSAnIHsga2V5d29yZDogXFwnJyArICgnZW51bScpICsgJ1xcJyAsIGRhdGFQYXRoOiAoZGF0YVBhdGggfHwgXFwnXFwnKSArICcgKyAoaXQuZXJyb3JQYXRoKSArICcgLCBzY2hlbWFQYXRoOiAnICsgKGl0LnV0aWwudG9RdW90ZWRTdHJpbmcoJGVyclNjaGVtYVBhdGgpKSArICcgLCBwYXJhbXM6IHsgYWxsb3dlZFZhbHVlczogc2NoZW1hJyArICgkbHZsKSArICcgfSAnO1xuICAgIGlmIChpdC5vcHRzLm1lc3NhZ2VzICE9PSBmYWxzZSkge1xuICAgICAgb3V0ICs9ICcgLCBtZXNzYWdlOiBcXCdzaG91bGQgYmUgZXF1YWwgdG8gb25lIG9mIHRoZSBhbGxvd2VkIHZhbHVlc1xcJyAnO1xuICAgIH1cbiAgICBpZiAoaXQub3B0cy52ZXJib3NlKSB7XG4gICAgICBvdXQgKz0gJyAsIHNjaGVtYTogdmFsaWRhdGUuc2NoZW1hJyArICgkc2NoZW1hUGF0aCkgKyAnICwgcGFyZW50U2NoZW1hOiB2YWxpZGF0ZS5zY2hlbWEnICsgKGl0LnNjaGVtYVBhdGgpICsgJyAsIGRhdGE6ICcgKyAoJGRhdGEpICsgJyAnO1xuICAgIH1cbiAgICBvdXQgKz0gJyB9ICc7XG4gIH0gZWxzZSB7XG4gICAgb3V0ICs9ICcge30gJztcbiAgfVxuICB2YXIgX19lcnIgPSBvdXQ7XG4gIG91dCA9ICQkb3V0U3RhY2sucG9wKCk7XG4gIGlmICghaXQuY29tcG9zaXRlUnVsZSAmJiAkYnJlYWtPbkVycm9yKSB7XG4gICAgLyogaXN0YW5idWwgaWdub3JlIGlmICovXG4gICAgaWYgKGl0LmFzeW5jKSB7XG4gICAgICBvdXQgKz0gJyB0aHJvdyBuZXcgVmFsaWRhdGlvbkVycm9yKFsnICsgKF9fZXJyKSArICddKTsgJztcbiAgICB9IGVsc2Uge1xuICAgICAgb3V0ICs9ICcgdmFsaWRhdGUuZXJyb3JzID0gWycgKyAoX19lcnIpICsgJ107IHJldHVybiBmYWxzZTsgJztcbiAgICB9XG4gIH0gZWxzZSB7XG4gICAgb3V0ICs9ICcgdmFyIGVyciA9ICcgKyAoX19lcnIpICsgJzsgIGlmICh2RXJyb3JzID09PSBudWxsKSB2RXJyb3JzID0gW2Vycl07IGVsc2UgdkVycm9ycy5wdXNoKGVycik7IGVycm9ycysrOyAnO1xuICB9XG4gIG91dCArPSAnIH0nO1xuICBpZiAoJGJyZWFrT25FcnJvcikge1xuICAgIG91dCArPSAnIGVsc2UgeyAnO1xuICB9XG4gIHJldHVybiBvdXQ7XG59XG4iLCAiJ3VzZSBzdHJpY3QnO1xubW9kdWxlLmV4cG9ydHMgPSBmdW5jdGlvbiBnZW5lcmF0ZV9mb3JtYXQoaXQsICRrZXl3b3JkLCAkcnVsZVR5cGUpIHtcbiAgdmFyIG91dCA9ICcgJztcbiAgdmFyICRsdmwgPSBpdC5sZXZlbDtcbiAgdmFyICRkYXRhTHZsID0gaXQuZGF0YUxldmVsO1xuICB2YXIgJHNjaGVtYSA9IGl0LnNjaGVtYVska2V5d29yZF07XG4gIHZhciAkc2NoZW1hUGF0aCA9IGl0LnNjaGVtYVBhdGggKyBpdC51dGlsLmdldFByb3BlcnR5KCRrZXl3b3JkKTtcbiAgdmFyICRlcnJTY2hlbWFQYXRoID0gaXQuZXJyU2NoZW1hUGF0aCArICcvJyArICRrZXl3b3JkO1xuICB2YXIgJGJyZWFrT25FcnJvciA9ICFpdC5vcHRzLmFsbEVycm9ycztcbiAgdmFyICRkYXRhID0gJ2RhdGEnICsgKCRkYXRhTHZsIHx8ICcnKTtcbiAgaWYgKGl0Lm9wdHMuZm9ybWF0ID09PSBmYWxzZSkge1xuICAgIGlmICgkYnJlYWtPbkVycm9yKSB7XG4gICAgICBvdXQgKz0gJyBpZiAodHJ1ZSkgeyAnO1xuICAgIH1cbiAgICByZXR1cm4gb3V0O1xuICB9XG4gIHZhciAkaXNEYXRhID0gaXQub3B0cy4kZGF0YSAmJiAkc2NoZW1hICYmICRzY2hlbWEuJGRhdGEsXG4gICAgJHNjaGVtYVZhbHVlO1xuICBpZiAoJGlzRGF0YSkge1xuICAgIG91dCArPSAnIHZhciBzY2hlbWEnICsgKCRsdmwpICsgJyA9ICcgKyAoaXQudXRpbC5nZXREYXRhKCRzY2hlbWEuJGRhdGEsICRkYXRhTHZsLCBpdC5kYXRhUGF0aEFycikpICsgJzsgJztcbiAgICAkc2NoZW1hVmFsdWUgPSAnc2NoZW1hJyArICRsdmw7XG4gIH0gZWxzZSB7XG4gICAgJHNjaGVtYVZhbHVlID0gJHNjaGVtYTtcbiAgfVxuICB2YXIgJHVua25vd25Gb3JtYXRzID0gaXQub3B0cy51bmtub3duRm9ybWF0cyxcbiAgICAkYWxsb3dVbmtub3duID0gQXJyYXkuaXNBcnJheSgkdW5rbm93bkZvcm1hdHMpO1xuICBpZiAoJGlzRGF0YSkge1xuICAgIHZhciAkZm9ybWF0ID0gJ2Zvcm1hdCcgKyAkbHZsLFxuICAgICAgJGlzT2JqZWN0ID0gJ2lzT2JqZWN0JyArICRsdmwsXG4gICAgICAkZm9ybWF0VHlwZSA9ICdmb3JtYXRUeXBlJyArICRsdmw7XG4gICAgb3V0ICs9ICcgdmFyICcgKyAoJGZvcm1hdCkgKyAnID0gZm9ybWF0c1snICsgKCRzY2hlbWFWYWx1ZSkgKyAnXTsgdmFyICcgKyAoJGlzT2JqZWN0KSArICcgPSB0eXBlb2YgJyArICgkZm9ybWF0KSArICcgPT0gXFwnb2JqZWN0XFwnICYmICEoJyArICgkZm9ybWF0KSArICcgaW5zdGFuY2VvZiBSZWdFeHApICYmICcgKyAoJGZvcm1hdCkgKyAnLnZhbGlkYXRlOyB2YXIgJyArICgkZm9ybWF0VHlwZSkgKyAnID0gJyArICgkaXNPYmplY3QpICsgJyAmJiAnICsgKCRmb3JtYXQpICsgJy50eXBlIHx8IFxcJ3N0cmluZ1xcJzsgaWYgKCcgKyAoJGlzT2JqZWN0KSArICcpIHsgJztcbiAgICBpZiAoaXQuYXN5bmMpIHtcbiAgICAgIG91dCArPSAnIHZhciBhc3luYycgKyAoJGx2bCkgKyAnID0gJyArICgkZm9ybWF0KSArICcuYXN5bmM7ICc7XG4gICAgfVxuICAgIG91dCArPSAnICcgKyAoJGZvcm1hdCkgKyAnID0gJyArICgkZm9ybWF0KSArICcudmFsaWRhdGU7IH0gaWYgKCAgJztcbiAgICBpZiAoJGlzRGF0YSkge1xuICAgICAgb3V0ICs9ICcgKCcgKyAoJHNjaGVtYVZhbHVlKSArICcgIT09IHVuZGVmaW5lZCAmJiB0eXBlb2YgJyArICgkc2NoZW1hVmFsdWUpICsgJyAhPSBcXCdzdHJpbmdcXCcpIHx8ICc7XG4gICAgfVxuICAgIG91dCArPSAnICgnO1xuICAgIGlmICgkdW5rbm93bkZvcm1hdHMgIT0gJ2lnbm9yZScpIHtcbiAgICAgIG91dCArPSAnICgnICsgKCRzY2hlbWFWYWx1ZSkgKyAnICYmICEnICsgKCRmb3JtYXQpICsgJyAnO1xuICAgICAgaWYgKCRhbGxvd1Vua25vd24pIHtcbiAgICAgICAgb3V0ICs9ICcgJiYgc2VsZi5fb3B0cy51bmtub3duRm9ybWF0cy5pbmRleE9mKCcgKyAoJHNjaGVtYVZhbHVlKSArICcpID09IC0xICc7XG4gICAgICB9XG4gICAgICBvdXQgKz0gJykgfHwgJztcbiAgICB9XG4gICAgb3V0ICs9ICcgKCcgKyAoJGZvcm1hdCkgKyAnICYmICcgKyAoJGZvcm1hdFR5cGUpICsgJyA9PSBcXCcnICsgKCRydWxlVHlwZSkgKyAnXFwnICYmICEodHlwZW9mICcgKyAoJGZvcm1hdCkgKyAnID09IFxcJ2Z1bmN0aW9uXFwnID8gJztcbiAgICBpZiAoaXQuYXN5bmMpIHtcbiAgICAgIG91dCArPSAnIChhc3luYycgKyAoJGx2bCkgKyAnID8gYXdhaXQgJyArICgkZm9ybWF0KSArICcoJyArICgkZGF0YSkgKyAnKSA6ICcgKyAoJGZvcm1hdCkgKyAnKCcgKyAoJGRhdGEpICsgJykpICc7XG4gICAgfSBlbHNlIHtcbiAgICAgIG91dCArPSAnICcgKyAoJGZvcm1hdCkgKyAnKCcgKyAoJGRhdGEpICsgJykgJztcbiAgICB9XG4gICAgb3V0ICs9ICcgOiAnICsgKCRmb3JtYXQpICsgJy50ZXN0KCcgKyAoJGRhdGEpICsgJykpKSkpIHsnO1xuICB9IGVsc2Uge1xuICAgIHZhciAkZm9ybWF0ID0gaXQuZm9ybWF0c1skc2NoZW1hXTtcbiAgICBpZiAoISRmb3JtYXQpIHtcbiAgICAgIGlmICgkdW5rbm93bkZvcm1hdHMgPT0gJ2lnbm9yZScpIHtcbiAgICAgICAgaXQubG9nZ2VyLndhcm4oJ3Vua25vd24gZm9ybWF0IFwiJyArICRzY2hlbWEgKyAnXCIgaWdub3JlZCBpbiBzY2hlbWEgYXQgcGF0aCBcIicgKyBpdC5lcnJTY2hlbWFQYXRoICsgJ1wiJyk7XG4gICAgICAgIGlmICgkYnJlYWtPbkVycm9yKSB7XG4gICAgICAgICAgb3V0ICs9ICcgaWYgKHRydWUpIHsgJztcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gb3V0O1xuICAgICAgfSBlbHNlIGlmICgkYWxsb3dVbmtub3duICYmICR1bmtub3duRm9ybWF0cy5pbmRleE9mKCRzY2hlbWEpID49IDApIHtcbiAgICAgICAgaWYgKCRicmVha09uRXJyb3IpIHtcbiAgICAgICAgICBvdXQgKz0gJyBpZiAodHJ1ZSkgeyAnO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBvdXQ7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ3Vua25vd24gZm9ybWF0IFwiJyArICRzY2hlbWEgKyAnXCIgaXMgdXNlZCBpbiBzY2hlbWEgYXQgcGF0aCBcIicgKyBpdC5lcnJTY2hlbWFQYXRoICsgJ1wiJyk7XG4gICAgICB9XG4gICAgfVxuICAgIHZhciAkaXNPYmplY3QgPSB0eXBlb2YgJGZvcm1hdCA9PSAnb2JqZWN0JyAmJiAhKCRmb3JtYXQgaW5zdGFuY2VvZiBSZWdFeHApICYmICRmb3JtYXQudmFsaWRhdGU7XG4gICAgdmFyICRmb3JtYXRUeXBlID0gJGlzT2JqZWN0ICYmICRmb3JtYXQudHlwZSB8fCAnc3RyaW5nJztcbiAgICBpZiAoJGlzT2JqZWN0KSB7XG4gICAgICB2YXIgJGFzeW5jID0gJGZvcm1hdC5hc3luYyA9PT0gdHJ1ZTtcbiAgICAgICRmb3JtYXQgPSAkZm9ybWF0LnZhbGlkYXRlO1xuICAgIH1cbiAgICBpZiAoJGZvcm1hdFR5cGUgIT0gJHJ1bGVUeXBlKSB7XG4gICAgICBpZiAoJGJyZWFrT25FcnJvcikge1xuICAgICAgICBvdXQgKz0gJyBpZiAodHJ1ZSkgeyAnO1xuICAgICAgfVxuICAgICAgcmV0dXJuIG91dDtcbiAgICB9XG4gICAgaWYgKCRhc3luYykge1xuICAgICAgaWYgKCFpdC5hc3luYykgdGhyb3cgbmV3IEVycm9yKCdhc3luYyBmb3JtYXQgaW4gc3luYyBzY2hlbWEnKTtcbiAgICAgIHZhciAkZm9ybWF0UmVmID0gJ2Zvcm1hdHMnICsgaXQudXRpbC5nZXRQcm9wZXJ0eSgkc2NoZW1hKSArICcudmFsaWRhdGUnO1xuICAgICAgb3V0ICs9ICcgaWYgKCEoYXdhaXQgJyArICgkZm9ybWF0UmVmKSArICcoJyArICgkZGF0YSkgKyAnKSkpIHsgJztcbiAgICB9IGVsc2Uge1xuICAgICAgb3V0ICs9ICcgaWYgKCEgJztcbiAgICAgIHZhciAkZm9ybWF0UmVmID0gJ2Zvcm1hdHMnICsgaXQudXRpbC5nZXRQcm9wZXJ0eSgkc2NoZW1hKTtcbiAgICAgIGlmICgkaXNPYmplY3QpICRmb3JtYXRSZWYgKz0gJy52YWxpZGF0ZSc7XG4gICAgICBpZiAodHlwZW9mICRmb3JtYXQgPT0gJ2Z1bmN0aW9uJykge1xuICAgICAgICBvdXQgKz0gJyAnICsgKCRmb3JtYXRSZWYpICsgJygnICsgKCRkYXRhKSArICcpICc7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBvdXQgKz0gJyAnICsgKCRmb3JtYXRSZWYpICsgJy50ZXN0KCcgKyAoJGRhdGEpICsgJykgJztcbiAgICAgIH1cbiAgICAgIG91dCArPSAnKSB7ICc7XG4gICAgfVxuICB9XG4gIHZhciAkJG91dFN0YWNrID0gJCRvdXRTdGFjayB8fCBbXTtcbiAgJCRvdXRTdGFjay5wdXNoKG91dCk7XG4gIG91dCA9ICcnOyAvKiBpc3RhbmJ1bCBpZ25vcmUgZWxzZSAqL1xuICBpZiAoaXQuY3JlYXRlRXJyb3JzICE9PSBmYWxzZSkge1xuICAgIG91dCArPSAnIHsga2V5d29yZDogXFwnJyArICgnZm9ybWF0JykgKyAnXFwnICwgZGF0YVBhdGg6IChkYXRhUGF0aCB8fCBcXCdcXCcpICsgJyArIChpdC5lcnJvclBhdGgpICsgJyAsIHNjaGVtYVBhdGg6ICcgKyAoaXQudXRpbC50b1F1b3RlZFN0cmluZygkZXJyU2NoZW1hUGF0aCkpICsgJyAsIHBhcmFtczogeyBmb3JtYXQ6ICAnO1xuICAgIGlmICgkaXNEYXRhKSB7XG4gICAgICBvdXQgKz0gJycgKyAoJHNjaGVtYVZhbHVlKTtcbiAgICB9IGVsc2Uge1xuICAgICAgb3V0ICs9ICcnICsgKGl0LnV0aWwudG9RdW90ZWRTdHJpbmcoJHNjaGVtYSkpO1xuICAgIH1cbiAgICBvdXQgKz0gJyAgfSAnO1xuICAgIGlmIChpdC5vcHRzLm1lc3NhZ2VzICE9PSBmYWxzZSkge1xuICAgICAgb3V0ICs9ICcgLCBtZXNzYWdlOiBcXCdzaG91bGQgbWF0Y2ggZm9ybWF0IFwiJztcbiAgICAgIGlmICgkaXNEYXRhKSB7XG4gICAgICAgIG91dCArPSAnXFwnICsgJyArICgkc2NoZW1hVmFsdWUpICsgJyArIFxcJyc7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBvdXQgKz0gJycgKyAoaXQudXRpbC5lc2NhcGVRdW90ZXMoJHNjaGVtYSkpO1xuICAgICAgfVxuICAgICAgb3V0ICs9ICdcIlxcJyAnO1xuICAgIH1cbiAgICBpZiAoaXQub3B0cy52ZXJib3NlKSB7XG4gICAgICBvdXQgKz0gJyAsIHNjaGVtYTogICc7XG4gICAgICBpZiAoJGlzRGF0YSkge1xuICAgICAgICBvdXQgKz0gJ3ZhbGlkYXRlLnNjaGVtYScgKyAoJHNjaGVtYVBhdGgpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgb3V0ICs9ICcnICsgKGl0LnV0aWwudG9RdW90ZWRTdHJpbmcoJHNjaGVtYSkpO1xuICAgICAgfVxuICAgICAgb3V0ICs9ICcgICAgICAgICAsIHBhcmVudFNjaGVtYTogdmFsaWRhdGUuc2NoZW1hJyArIChpdC5zY2hlbWFQYXRoKSArICcgLCBkYXRhOiAnICsgKCRkYXRhKSArICcgJztcbiAgICB9XG4gICAgb3V0ICs9ICcgfSAnO1xuICB9IGVsc2Uge1xuICAgIG91dCArPSAnIHt9ICc7XG4gIH1cbiAgdmFyIF9fZXJyID0gb3V0O1xuICBvdXQgPSAkJG91dFN0YWNrLnBvcCgpO1xuICBpZiAoIWl0LmNvbXBvc2l0ZVJ1bGUgJiYgJGJyZWFrT25FcnJvcikge1xuICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBpZiAqL1xuICAgIGlmIChpdC5hc3luYykge1xuICAgICAgb3V0ICs9ICcgdGhyb3cgbmV3IFZhbGlkYXRpb25FcnJvcihbJyArIChfX2VycikgKyAnXSk7ICc7XG4gICAgfSBlbHNlIHtcbiAgICAgIG91dCArPSAnIHZhbGlkYXRlLmVycm9ycyA9IFsnICsgKF9fZXJyKSArICddOyByZXR1cm4gZmFsc2U7ICc7XG4gICAgfVxuICB9IGVsc2Uge1xuICAgIG91dCArPSAnIHZhciBlcnIgPSAnICsgKF9fZXJyKSArICc7ICBpZiAodkVycm9ycyA9PT0gbnVsbCkgdkVycm9ycyA9IFtlcnJdOyBlbHNlIHZFcnJvcnMucHVzaChlcnIpOyBlcnJvcnMrKzsgJztcbiAgfVxuICBvdXQgKz0gJyB9ICc7XG4gIGlmICgkYnJlYWtPbkVycm9yKSB7XG4gICAgb3V0ICs9ICcgZWxzZSB7ICc7XG4gIH1cbiAgcmV0dXJuIG91dDtcbn1cbiIsICIndXNlIHN0cmljdCc7XG5tb2R1bGUuZXhwb3J0cyA9IGZ1bmN0aW9uIGdlbmVyYXRlX2lmKGl0LCAka2V5d29yZCwgJHJ1bGVUeXBlKSB7XG4gIHZhciBvdXQgPSAnICc7XG4gIHZhciAkbHZsID0gaXQubGV2ZWw7XG4gIHZhciAkZGF0YUx2bCA9IGl0LmRhdGFMZXZlbDtcbiAgdmFyICRzY2hlbWEgPSBpdC5zY2hlbWFbJGtleXdvcmRdO1xuICB2YXIgJHNjaGVtYVBhdGggPSBpdC5zY2hlbWFQYXRoICsgaXQudXRpbC5nZXRQcm9wZXJ0eSgka2V5d29yZCk7XG4gIHZhciAkZXJyU2NoZW1hUGF0aCA9IGl0LmVyclNjaGVtYVBhdGggKyAnLycgKyAka2V5d29yZDtcbiAgdmFyICRicmVha09uRXJyb3IgPSAhaXQub3B0cy5hbGxFcnJvcnM7XG4gIHZhciAkZGF0YSA9ICdkYXRhJyArICgkZGF0YUx2bCB8fCAnJyk7XG4gIHZhciAkdmFsaWQgPSAndmFsaWQnICsgJGx2bDtcbiAgdmFyICRlcnJzID0gJ2VycnNfXycgKyAkbHZsO1xuICB2YXIgJGl0ID0gaXQudXRpbC5jb3B5KGl0KTtcbiAgJGl0LmxldmVsKys7XG4gIHZhciAkbmV4dFZhbGlkID0gJ3ZhbGlkJyArICRpdC5sZXZlbDtcbiAgdmFyICR0aGVuU2NoID0gaXQuc2NoZW1hWyd0aGVuJ10sXG4gICAgJGVsc2VTY2ggPSBpdC5zY2hlbWFbJ2Vsc2UnXSxcbiAgICAkdGhlblByZXNlbnQgPSAkdGhlblNjaCAhPT0gdW5kZWZpbmVkICYmIChpdC5vcHRzLnN0cmljdEtleXdvcmRzID8gKHR5cGVvZiAkdGhlblNjaCA9PSAnb2JqZWN0JyAmJiBPYmplY3Qua2V5cygkdGhlblNjaCkubGVuZ3RoID4gMCkgfHwgJHRoZW5TY2ggPT09IGZhbHNlIDogaXQudXRpbC5zY2hlbWFIYXNSdWxlcygkdGhlblNjaCwgaXQuUlVMRVMuYWxsKSksXG4gICAgJGVsc2VQcmVzZW50ID0gJGVsc2VTY2ggIT09IHVuZGVmaW5lZCAmJiAoaXQub3B0cy5zdHJpY3RLZXl3b3JkcyA/ICh0eXBlb2YgJGVsc2VTY2ggPT0gJ29iamVjdCcgJiYgT2JqZWN0LmtleXMoJGVsc2VTY2gpLmxlbmd0aCA+IDApIHx8ICRlbHNlU2NoID09PSBmYWxzZSA6IGl0LnV0aWwuc2NoZW1hSGFzUnVsZXMoJGVsc2VTY2gsIGl0LlJVTEVTLmFsbCkpLFxuICAgICRjdXJyZW50QmFzZUlkID0gJGl0LmJhc2VJZDtcbiAgaWYgKCR0aGVuUHJlc2VudCB8fCAkZWxzZVByZXNlbnQpIHtcbiAgICB2YXIgJGlmQ2xhdXNlO1xuICAgICRpdC5jcmVhdGVFcnJvcnMgPSBmYWxzZTtcbiAgICAkaXQuc2NoZW1hID0gJHNjaGVtYTtcbiAgICAkaXQuc2NoZW1hUGF0aCA9ICRzY2hlbWFQYXRoO1xuICAgICRpdC5lcnJTY2hlbWFQYXRoID0gJGVyclNjaGVtYVBhdGg7XG4gICAgb3V0ICs9ICcgdmFyICcgKyAoJGVycnMpICsgJyA9IGVycm9yczsgdmFyICcgKyAoJHZhbGlkKSArICcgPSB0cnVlOyAgJztcbiAgICB2YXIgJHdhc0NvbXBvc2l0ZSA9IGl0LmNvbXBvc2l0ZVJ1bGU7XG4gICAgaXQuY29tcG9zaXRlUnVsZSA9ICRpdC5jb21wb3NpdGVSdWxlID0gdHJ1ZTtcbiAgICBvdXQgKz0gJyAgJyArIChpdC52YWxpZGF0ZSgkaXQpKSArICcgJztcbiAgICAkaXQuYmFzZUlkID0gJGN1cnJlbnRCYXNlSWQ7XG4gICAgJGl0LmNyZWF0ZUVycm9ycyA9IHRydWU7XG4gICAgb3V0ICs9ICcgIGVycm9ycyA9ICcgKyAoJGVycnMpICsgJzsgaWYgKHZFcnJvcnMgIT09IG51bGwpIHsgaWYgKCcgKyAoJGVycnMpICsgJykgdkVycm9ycy5sZW5ndGggPSAnICsgKCRlcnJzKSArICc7IGVsc2UgdkVycm9ycyA9IG51bGw7IH0gICc7XG4gICAgaXQuY29tcG9zaXRlUnVsZSA9ICRpdC5jb21wb3NpdGVSdWxlID0gJHdhc0NvbXBvc2l0ZTtcbiAgICBpZiAoJHRoZW5QcmVzZW50KSB7XG4gICAgICBvdXQgKz0gJyBpZiAoJyArICgkbmV4dFZhbGlkKSArICcpIHsgICc7XG4gICAgICAkaXQuc2NoZW1hID0gaXQuc2NoZW1hWyd0aGVuJ107XG4gICAgICAkaXQuc2NoZW1hUGF0aCA9IGl0LnNjaGVtYVBhdGggKyAnLnRoZW4nO1xuICAgICAgJGl0LmVyclNjaGVtYVBhdGggPSBpdC5lcnJTY2hlbWFQYXRoICsgJy90aGVuJztcbiAgICAgIG91dCArPSAnICAnICsgKGl0LnZhbGlkYXRlKCRpdCkpICsgJyAnO1xuICAgICAgJGl0LmJhc2VJZCA9ICRjdXJyZW50QmFzZUlkO1xuICAgICAgb3V0ICs9ICcgJyArICgkdmFsaWQpICsgJyA9ICcgKyAoJG5leHRWYWxpZCkgKyAnOyAnO1xuICAgICAgaWYgKCR0aGVuUHJlc2VudCAmJiAkZWxzZVByZXNlbnQpIHtcbiAgICAgICAgJGlmQ2xhdXNlID0gJ2lmQ2xhdXNlJyArICRsdmw7XG4gICAgICAgIG91dCArPSAnIHZhciAnICsgKCRpZkNsYXVzZSkgKyAnID0gXFwndGhlblxcJzsgJztcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgICRpZkNsYXVzZSA9ICdcXCd0aGVuXFwnJztcbiAgICAgIH1cbiAgICAgIG91dCArPSAnIH0gJztcbiAgICAgIGlmICgkZWxzZVByZXNlbnQpIHtcbiAgICAgICAgb3V0ICs9ICcgZWxzZSB7ICc7XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIG91dCArPSAnIGlmICghJyArICgkbmV4dFZhbGlkKSArICcpIHsgJztcbiAgICB9XG4gICAgaWYgKCRlbHNlUHJlc2VudCkge1xuICAgICAgJGl0LnNjaGVtYSA9IGl0LnNjaGVtYVsnZWxzZSddO1xuICAgICAgJGl0LnNjaGVtYVBhdGggPSBpdC5zY2hlbWFQYXRoICsgJy5lbHNlJztcbiAgICAgICRpdC5lcnJTY2hlbWFQYXRoID0gaXQuZXJyU2NoZW1hUGF0aCArICcvZWxzZSc7XG4gICAgICBvdXQgKz0gJyAgJyArIChpdC52YWxpZGF0ZSgkaXQpKSArICcgJztcbiAgICAgICRpdC5iYXNlSWQgPSAkY3VycmVudEJhc2VJZDtcbiAgICAgIG91dCArPSAnICcgKyAoJHZhbGlkKSArICcgPSAnICsgKCRuZXh0VmFsaWQpICsgJzsgJztcbiAgICAgIGlmICgkdGhlblByZXNlbnQgJiYgJGVsc2VQcmVzZW50KSB7XG4gICAgICAgICRpZkNsYXVzZSA9ICdpZkNsYXVzZScgKyAkbHZsO1xuICAgICAgICBvdXQgKz0gJyB2YXIgJyArICgkaWZDbGF1c2UpICsgJyA9IFxcJ2Vsc2VcXCc7ICc7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICAkaWZDbGF1c2UgPSAnXFwnZWxzZVxcJyc7XG4gICAgICB9XG4gICAgICBvdXQgKz0gJyB9ICc7XG4gICAgfVxuICAgIG91dCArPSAnIGlmICghJyArICgkdmFsaWQpICsgJykgeyAgIHZhciBlcnIgPSAgICc7IC8qIGlzdGFuYnVsIGlnbm9yZSBlbHNlICovXG4gICAgaWYgKGl0LmNyZWF0ZUVycm9ycyAhPT0gZmFsc2UpIHtcbiAgICAgIG91dCArPSAnIHsga2V5d29yZDogXFwnJyArICgnaWYnKSArICdcXCcgLCBkYXRhUGF0aDogKGRhdGFQYXRoIHx8IFxcJ1xcJykgKyAnICsgKGl0LmVycm9yUGF0aCkgKyAnICwgc2NoZW1hUGF0aDogJyArIChpdC51dGlsLnRvUXVvdGVkU3RyaW5nKCRlcnJTY2hlbWFQYXRoKSkgKyAnICwgcGFyYW1zOiB7IGZhaWxpbmdLZXl3b3JkOiAnICsgKCRpZkNsYXVzZSkgKyAnIH0gJztcbiAgICAgIGlmIChpdC5vcHRzLm1lc3NhZ2VzICE9PSBmYWxzZSkge1xuICAgICAgICBvdXQgKz0gJyAsIG1lc3NhZ2U6IFxcJ3Nob3VsZCBtYXRjaCBcIlxcJyArICcgKyAoJGlmQ2xhdXNlKSArICcgKyBcXCdcIiBzY2hlbWFcXCcgJztcbiAgICAgIH1cbiAgICAgIGlmIChpdC5vcHRzLnZlcmJvc2UpIHtcbiAgICAgICAgb3V0ICs9ICcgLCBzY2hlbWE6IHZhbGlkYXRlLnNjaGVtYScgKyAoJHNjaGVtYVBhdGgpICsgJyAsIHBhcmVudFNjaGVtYTogdmFsaWRhdGUuc2NoZW1hJyArIChpdC5zY2hlbWFQYXRoKSArICcgLCBkYXRhOiAnICsgKCRkYXRhKSArICcgJztcbiAgICAgIH1cbiAgICAgIG91dCArPSAnIH0gJztcbiAgICB9IGVsc2Uge1xuICAgICAgb3V0ICs9ICcge30gJztcbiAgICB9XG4gICAgb3V0ICs9ICc7ICBpZiAodkVycm9ycyA9PT0gbnVsbCkgdkVycm9ycyA9IFtlcnJdOyBlbHNlIHZFcnJvcnMucHVzaChlcnIpOyBlcnJvcnMrKzsgJztcbiAgICBpZiAoIWl0LmNvbXBvc2l0ZVJ1bGUgJiYgJGJyZWFrT25FcnJvcikge1xuICAgICAgLyogaXN0YW5idWwgaWdub3JlIGlmICovXG4gICAgICBpZiAoaXQuYXN5bmMpIHtcbiAgICAgICAgb3V0ICs9ICcgdGhyb3cgbmV3IFZhbGlkYXRpb25FcnJvcih2RXJyb3JzKTsgJztcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIG91dCArPSAnIHZhbGlkYXRlLmVycm9ycyA9IHZFcnJvcnM7IHJldHVybiBmYWxzZTsgJztcbiAgICAgIH1cbiAgICB9XG4gICAgb3V0ICs9ICcgfSAgICc7XG4gICAgaWYgKCRicmVha09uRXJyb3IpIHtcbiAgICAgIG91dCArPSAnIGVsc2UgeyAnO1xuICAgIH1cbiAgfSBlbHNlIHtcbiAgICBpZiAoJGJyZWFrT25FcnJvcikge1xuICAgICAgb3V0ICs9ICcgaWYgKHRydWUpIHsgJztcbiAgICB9XG4gIH1cbiAgcmV0dXJuIG91dDtcbn1cbiIsICIndXNlIHN0cmljdCc7XG5tb2R1bGUuZXhwb3J0cyA9IGZ1bmN0aW9uIGdlbmVyYXRlX2l0ZW1zKGl0LCAka2V5d29yZCwgJHJ1bGVUeXBlKSB7XG4gIHZhciBvdXQgPSAnICc7XG4gIHZhciAkbHZsID0gaXQubGV2ZWw7XG4gIHZhciAkZGF0YUx2bCA9IGl0LmRhdGFMZXZlbDtcbiAgdmFyICRzY2hlbWEgPSBpdC5zY2hlbWFbJGtleXdvcmRdO1xuICB2YXIgJHNjaGVtYVBhdGggPSBpdC5zY2hlbWFQYXRoICsgaXQudXRpbC5nZXRQcm9wZXJ0eSgka2V5d29yZCk7XG4gIHZhciAkZXJyU2NoZW1hUGF0aCA9IGl0LmVyclNjaGVtYVBhdGggKyAnLycgKyAka2V5d29yZDtcbiAgdmFyICRicmVha09uRXJyb3IgPSAhaXQub3B0cy5hbGxFcnJvcnM7XG4gIHZhciAkZGF0YSA9ICdkYXRhJyArICgkZGF0YUx2bCB8fCAnJyk7XG4gIHZhciAkdmFsaWQgPSAndmFsaWQnICsgJGx2bDtcbiAgdmFyICRlcnJzID0gJ2VycnNfXycgKyAkbHZsO1xuICB2YXIgJGl0ID0gaXQudXRpbC5jb3B5KGl0KTtcbiAgdmFyICRjbG9zaW5nQnJhY2VzID0gJyc7XG4gICRpdC5sZXZlbCsrO1xuICB2YXIgJG5leHRWYWxpZCA9ICd2YWxpZCcgKyAkaXQubGV2ZWw7XG4gIHZhciAkaWR4ID0gJ2knICsgJGx2bCxcbiAgICAkZGF0YU54dCA9ICRpdC5kYXRhTGV2ZWwgPSBpdC5kYXRhTGV2ZWwgKyAxLFxuICAgICRuZXh0RGF0YSA9ICdkYXRhJyArICRkYXRhTnh0LFxuICAgICRjdXJyZW50QmFzZUlkID0gaXQuYmFzZUlkO1xuICBvdXQgKz0gJ3ZhciAnICsgKCRlcnJzKSArICcgPSBlcnJvcnM7dmFyICcgKyAoJHZhbGlkKSArICc7JztcbiAgaWYgKEFycmF5LmlzQXJyYXkoJHNjaGVtYSkpIHtcbiAgICB2YXIgJGFkZGl0aW9uYWxJdGVtcyA9IGl0LnNjaGVtYS5hZGRpdGlvbmFsSXRlbXM7XG4gICAgaWYgKCRhZGRpdGlvbmFsSXRlbXMgPT09IGZhbHNlKSB7XG4gICAgICBvdXQgKz0gJyAnICsgKCR2YWxpZCkgKyAnID0gJyArICgkZGF0YSkgKyAnLmxlbmd0aCA8PSAnICsgKCRzY2hlbWEubGVuZ3RoKSArICc7ICc7XG4gICAgICB2YXIgJGN1cnJFcnJTY2hlbWFQYXRoID0gJGVyclNjaGVtYVBhdGg7XG4gICAgICAkZXJyU2NoZW1hUGF0aCA9IGl0LmVyclNjaGVtYVBhdGggKyAnL2FkZGl0aW9uYWxJdGVtcyc7XG4gICAgICBvdXQgKz0gJyAgaWYgKCEnICsgKCR2YWxpZCkgKyAnKSB7ICAgJztcbiAgICAgIHZhciAkJG91dFN0YWNrID0gJCRvdXRTdGFjayB8fCBbXTtcbiAgICAgICQkb3V0U3RhY2sucHVzaChvdXQpO1xuICAgICAgb3V0ID0gJyc7IC8qIGlzdGFuYnVsIGlnbm9yZSBlbHNlICovXG4gICAgICBpZiAoaXQuY3JlYXRlRXJyb3JzICE9PSBmYWxzZSkge1xuICAgICAgICBvdXQgKz0gJyB7IGtleXdvcmQ6IFxcJycgKyAoJ2FkZGl0aW9uYWxJdGVtcycpICsgJ1xcJyAsIGRhdGFQYXRoOiAoZGF0YVBhdGggfHwgXFwnXFwnKSArICcgKyAoaXQuZXJyb3JQYXRoKSArICcgLCBzY2hlbWFQYXRoOiAnICsgKGl0LnV0aWwudG9RdW90ZWRTdHJpbmcoJGVyclNjaGVtYVBhdGgpKSArICcgLCBwYXJhbXM6IHsgbGltaXQ6ICcgKyAoJHNjaGVtYS5sZW5ndGgpICsgJyB9ICc7XG4gICAgICAgIGlmIChpdC5vcHRzLm1lc3NhZ2VzICE9PSBmYWxzZSkge1xuICAgICAgICAgIG91dCArPSAnICwgbWVzc2FnZTogXFwnc2hvdWxkIE5PVCBoYXZlIG1vcmUgdGhhbiAnICsgKCRzY2hlbWEubGVuZ3RoKSArICcgaXRlbXNcXCcgJztcbiAgICAgICAgfVxuICAgICAgICBpZiAoaXQub3B0cy52ZXJib3NlKSB7XG4gICAgICAgICAgb3V0ICs9ICcgLCBzY2hlbWE6IGZhbHNlICwgcGFyZW50U2NoZW1hOiB2YWxpZGF0ZS5zY2hlbWEnICsgKGl0LnNjaGVtYVBhdGgpICsgJyAsIGRhdGE6ICcgKyAoJGRhdGEpICsgJyAnO1xuICAgICAgICB9XG4gICAgICAgIG91dCArPSAnIH0gJztcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIG91dCArPSAnIHt9ICc7XG4gICAgICB9XG4gICAgICB2YXIgX19lcnIgPSBvdXQ7XG4gICAgICBvdXQgPSAkJG91dFN0YWNrLnBvcCgpO1xuICAgICAgaWYgKCFpdC5jb21wb3NpdGVSdWxlICYmICRicmVha09uRXJyb3IpIHtcbiAgICAgICAgLyogaXN0YW5idWwgaWdub3JlIGlmICovXG4gICAgICAgIGlmIChpdC5hc3luYykge1xuICAgICAgICAgIG91dCArPSAnIHRocm93IG5ldyBWYWxpZGF0aW9uRXJyb3IoWycgKyAoX19lcnIpICsgJ10pOyAnO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIG91dCArPSAnIHZhbGlkYXRlLmVycm9ycyA9IFsnICsgKF9fZXJyKSArICddOyByZXR1cm4gZmFsc2U7ICc7XG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIG91dCArPSAnIHZhciBlcnIgPSAnICsgKF9fZXJyKSArICc7ICBpZiAodkVycm9ycyA9PT0gbnVsbCkgdkVycm9ycyA9IFtlcnJdOyBlbHNlIHZFcnJvcnMucHVzaChlcnIpOyBlcnJvcnMrKzsgJztcbiAgICAgIH1cbiAgICAgIG91dCArPSAnIH0gJztcbiAgICAgICRlcnJTY2hlbWFQYXRoID0gJGN1cnJFcnJTY2hlbWFQYXRoO1xuICAgICAgaWYgKCRicmVha09uRXJyb3IpIHtcbiAgICAgICAgJGNsb3NpbmdCcmFjZXMgKz0gJ30nO1xuICAgICAgICBvdXQgKz0gJyBlbHNlIHsgJztcbiAgICAgIH1cbiAgICB9XG4gICAgdmFyIGFycjEgPSAkc2NoZW1hO1xuICAgIGlmIChhcnIxKSB7XG4gICAgICB2YXIgJHNjaCwgJGkgPSAtMSxcbiAgICAgICAgbDEgPSBhcnIxLmxlbmd0aCAtIDE7XG4gICAgICB3aGlsZSAoJGkgPCBsMSkge1xuICAgICAgICAkc2NoID0gYXJyMVskaSArPSAxXTtcbiAgICAgICAgaWYgKChpdC5vcHRzLnN0cmljdEtleXdvcmRzID8gKHR5cGVvZiAkc2NoID09ICdvYmplY3QnICYmIE9iamVjdC5rZXlzKCRzY2gpLmxlbmd0aCA+IDApIHx8ICRzY2ggPT09IGZhbHNlIDogaXQudXRpbC5zY2hlbWFIYXNSdWxlcygkc2NoLCBpdC5SVUxFUy5hbGwpKSkge1xuICAgICAgICAgIG91dCArPSAnICcgKyAoJG5leHRWYWxpZCkgKyAnID0gdHJ1ZTsgaWYgKCcgKyAoJGRhdGEpICsgJy5sZW5ndGggPiAnICsgKCRpKSArICcpIHsgJztcbiAgICAgICAgICB2YXIgJHBhc3NEYXRhID0gJGRhdGEgKyAnWycgKyAkaSArICddJztcbiAgICAgICAgICAkaXQuc2NoZW1hID0gJHNjaDtcbiAgICAgICAgICAkaXQuc2NoZW1hUGF0aCA9ICRzY2hlbWFQYXRoICsgJ1snICsgJGkgKyAnXSc7XG4gICAgICAgICAgJGl0LmVyclNjaGVtYVBhdGggPSAkZXJyU2NoZW1hUGF0aCArICcvJyArICRpO1xuICAgICAgICAgICRpdC5lcnJvclBhdGggPSBpdC51dGlsLmdldFBhdGhFeHByKGl0LmVycm9yUGF0aCwgJGksIGl0Lm9wdHMuanNvblBvaW50ZXJzLCB0cnVlKTtcbiAgICAgICAgICAkaXQuZGF0YVBhdGhBcnJbJGRhdGFOeHRdID0gJGk7XG4gICAgICAgICAgdmFyICRjb2RlID0gaXQudmFsaWRhdGUoJGl0KTtcbiAgICAgICAgICAkaXQuYmFzZUlkID0gJGN1cnJlbnRCYXNlSWQ7XG4gICAgICAgICAgaWYgKGl0LnV0aWwudmFyT2NjdXJlbmNlcygkY29kZSwgJG5leHREYXRhKSA8IDIpIHtcbiAgICAgICAgICAgIG91dCArPSAnICcgKyAoaXQudXRpbC52YXJSZXBsYWNlKCRjb2RlLCAkbmV4dERhdGEsICRwYXNzRGF0YSkpICsgJyAnO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBvdXQgKz0gJyB2YXIgJyArICgkbmV4dERhdGEpICsgJyA9ICcgKyAoJHBhc3NEYXRhKSArICc7ICcgKyAoJGNvZGUpICsgJyAnO1xuICAgICAgICAgIH1cbiAgICAgICAgICBvdXQgKz0gJyB9ICAnO1xuICAgICAgICAgIGlmICgkYnJlYWtPbkVycm9yKSB7XG4gICAgICAgICAgICBvdXQgKz0gJyBpZiAoJyArICgkbmV4dFZhbGlkKSArICcpIHsgJztcbiAgICAgICAgICAgICRjbG9zaW5nQnJhY2VzICs9ICd9JztcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgaWYgKHR5cGVvZiAkYWRkaXRpb25hbEl0ZW1zID09ICdvYmplY3QnICYmIChpdC5vcHRzLnN0cmljdEtleXdvcmRzID8gKHR5cGVvZiAkYWRkaXRpb25hbEl0ZW1zID09ICdvYmplY3QnICYmIE9iamVjdC5rZXlzKCRhZGRpdGlvbmFsSXRlbXMpLmxlbmd0aCA+IDApIHx8ICRhZGRpdGlvbmFsSXRlbXMgPT09IGZhbHNlIDogaXQudXRpbC5zY2hlbWFIYXNSdWxlcygkYWRkaXRpb25hbEl0ZW1zLCBpdC5SVUxFUy5hbGwpKSkge1xuICAgICAgJGl0LnNjaGVtYSA9ICRhZGRpdGlvbmFsSXRlbXM7XG4gICAgICAkaXQuc2NoZW1hUGF0aCA9IGl0LnNjaGVtYVBhdGggKyAnLmFkZGl0aW9uYWxJdGVtcyc7XG4gICAgICAkaXQuZXJyU2NoZW1hUGF0aCA9IGl0LmVyclNjaGVtYVBhdGggKyAnL2FkZGl0aW9uYWxJdGVtcyc7XG4gICAgICBvdXQgKz0gJyAnICsgKCRuZXh0VmFsaWQpICsgJyA9IHRydWU7IGlmICgnICsgKCRkYXRhKSArICcubGVuZ3RoID4gJyArICgkc2NoZW1hLmxlbmd0aCkgKyAnKSB7ICBmb3IgKHZhciAnICsgKCRpZHgpICsgJyA9ICcgKyAoJHNjaGVtYS5sZW5ndGgpICsgJzsgJyArICgkaWR4KSArICcgPCAnICsgKCRkYXRhKSArICcubGVuZ3RoOyAnICsgKCRpZHgpICsgJysrKSB7ICc7XG4gICAgICAkaXQuZXJyb3JQYXRoID0gaXQudXRpbC5nZXRQYXRoRXhwcihpdC5lcnJvclBhdGgsICRpZHgsIGl0Lm9wdHMuanNvblBvaW50ZXJzLCB0cnVlKTtcbiAgICAgIHZhciAkcGFzc0RhdGEgPSAkZGF0YSArICdbJyArICRpZHggKyAnXSc7XG4gICAgICAkaXQuZGF0YVBhdGhBcnJbJGRhdGFOeHRdID0gJGlkeDtcbiAgICAgIHZhciAkY29kZSA9IGl0LnZhbGlkYXRlKCRpdCk7XG4gICAgICAkaXQuYmFzZUlkID0gJGN1cnJlbnRCYXNlSWQ7XG4gICAgICBpZiAoaXQudXRpbC52YXJPY2N1cmVuY2VzKCRjb2RlLCAkbmV4dERhdGEpIDwgMikge1xuICAgICAgICBvdXQgKz0gJyAnICsgKGl0LnV0aWwudmFyUmVwbGFjZSgkY29kZSwgJG5leHREYXRhLCAkcGFzc0RhdGEpKSArICcgJztcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIG91dCArPSAnIHZhciAnICsgKCRuZXh0RGF0YSkgKyAnID0gJyArICgkcGFzc0RhdGEpICsgJzsgJyArICgkY29kZSkgKyAnICc7XG4gICAgICB9XG4gICAgICBpZiAoJGJyZWFrT25FcnJvcikge1xuICAgICAgICBvdXQgKz0gJyBpZiAoIScgKyAoJG5leHRWYWxpZCkgKyAnKSBicmVhazsgJztcbiAgICAgIH1cbiAgICAgIG91dCArPSAnIH0gfSAgJztcbiAgICAgIGlmICgkYnJlYWtPbkVycm9yKSB7XG4gICAgICAgIG91dCArPSAnIGlmICgnICsgKCRuZXh0VmFsaWQpICsgJykgeyAnO1xuICAgICAgICAkY2xvc2luZ0JyYWNlcyArPSAnfSc7XG4gICAgICB9XG4gICAgfVxuICB9IGVsc2UgaWYgKChpdC5vcHRzLnN0cmljdEtleXdvcmRzID8gKHR5cGVvZiAkc2NoZW1hID09ICdvYmplY3QnICYmIE9iamVjdC5rZXlzKCRzY2hlbWEpLmxlbmd0aCA+IDApIHx8ICRzY2hlbWEgPT09IGZhbHNlIDogaXQudXRpbC5zY2hlbWFIYXNSdWxlcygkc2NoZW1hLCBpdC5SVUxFUy5hbGwpKSkge1xuICAgICRpdC5zY2hlbWEgPSAkc2NoZW1hO1xuICAgICRpdC5zY2hlbWFQYXRoID0gJHNjaGVtYVBhdGg7XG4gICAgJGl0LmVyclNjaGVtYVBhdGggPSAkZXJyU2NoZW1hUGF0aDtcbiAgICBvdXQgKz0gJyAgZm9yICh2YXIgJyArICgkaWR4KSArICcgPSAnICsgKDApICsgJzsgJyArICgkaWR4KSArICcgPCAnICsgKCRkYXRhKSArICcubGVuZ3RoOyAnICsgKCRpZHgpICsgJysrKSB7ICc7XG4gICAgJGl0LmVycm9yUGF0aCA9IGl0LnV0aWwuZ2V0UGF0aEV4cHIoaXQuZXJyb3JQYXRoLCAkaWR4LCBpdC5vcHRzLmpzb25Qb2ludGVycywgdHJ1ZSk7XG4gICAgdmFyICRwYXNzRGF0YSA9ICRkYXRhICsgJ1snICsgJGlkeCArICddJztcbiAgICAkaXQuZGF0YVBhdGhBcnJbJGRhdGFOeHRdID0gJGlkeDtcbiAgICB2YXIgJGNvZGUgPSBpdC52YWxpZGF0ZSgkaXQpO1xuICAgICRpdC5iYXNlSWQgPSAkY3VycmVudEJhc2VJZDtcbiAgICBpZiAoaXQudXRpbC52YXJPY2N1cmVuY2VzKCRjb2RlLCAkbmV4dERhdGEpIDwgMikge1xuICAgICAgb3V0ICs9ICcgJyArIChpdC51dGlsLnZhclJlcGxhY2UoJGNvZGUsICRuZXh0RGF0YSwgJHBhc3NEYXRhKSkgKyAnICc7XG4gICAgfSBlbHNlIHtcbiAgICAgIG91dCArPSAnIHZhciAnICsgKCRuZXh0RGF0YSkgKyAnID0gJyArICgkcGFzc0RhdGEpICsgJzsgJyArICgkY29kZSkgKyAnICc7XG4gICAgfVxuICAgIGlmICgkYnJlYWtPbkVycm9yKSB7XG4gICAgICBvdXQgKz0gJyBpZiAoIScgKyAoJG5leHRWYWxpZCkgKyAnKSBicmVhazsgJztcbiAgICB9XG4gICAgb3V0ICs9ICcgfSc7XG4gIH1cbiAgaWYgKCRicmVha09uRXJyb3IpIHtcbiAgICBvdXQgKz0gJyAnICsgKCRjbG9zaW5nQnJhY2VzKSArICcgaWYgKCcgKyAoJGVycnMpICsgJyA9PSBlcnJvcnMpIHsnO1xuICB9XG4gIHJldHVybiBvdXQ7XG59XG4iLCAiJ3VzZSBzdHJpY3QnO1xubW9kdWxlLmV4cG9ydHMgPSBmdW5jdGlvbiBnZW5lcmF0ZV9fbGltaXQoaXQsICRrZXl3b3JkLCAkcnVsZVR5cGUpIHtcbiAgdmFyIG91dCA9ICcgJztcbiAgdmFyICRsdmwgPSBpdC5sZXZlbDtcbiAgdmFyICRkYXRhTHZsID0gaXQuZGF0YUxldmVsO1xuICB2YXIgJHNjaGVtYSA9IGl0LnNjaGVtYVska2V5d29yZF07XG4gIHZhciAkc2NoZW1hUGF0aCA9IGl0LnNjaGVtYVBhdGggKyBpdC51dGlsLmdldFByb3BlcnR5KCRrZXl3b3JkKTtcbiAgdmFyICRlcnJTY2hlbWFQYXRoID0gaXQuZXJyU2NoZW1hUGF0aCArICcvJyArICRrZXl3b3JkO1xuICB2YXIgJGJyZWFrT25FcnJvciA9ICFpdC5vcHRzLmFsbEVycm9ycztcbiAgdmFyICRlcnJvcktleXdvcmQ7XG4gIHZhciAkZGF0YSA9ICdkYXRhJyArICgkZGF0YUx2bCB8fCAnJyk7XG4gIHZhciAkaXNEYXRhID0gaXQub3B0cy4kZGF0YSAmJiAkc2NoZW1hICYmICRzY2hlbWEuJGRhdGEsXG4gICAgJHNjaGVtYVZhbHVlO1xuICBpZiAoJGlzRGF0YSkge1xuICAgIG91dCArPSAnIHZhciBzY2hlbWEnICsgKCRsdmwpICsgJyA9ICcgKyAoaXQudXRpbC5nZXREYXRhKCRzY2hlbWEuJGRhdGEsICRkYXRhTHZsLCBpdC5kYXRhUGF0aEFycikpICsgJzsgJztcbiAgICAkc2NoZW1hVmFsdWUgPSAnc2NoZW1hJyArICRsdmw7XG4gIH0gZWxzZSB7XG4gICAgJHNjaGVtYVZhbHVlID0gJHNjaGVtYTtcbiAgfVxuICB2YXIgJGlzTWF4ID0gJGtleXdvcmQgPT0gJ21heGltdW0nLFxuICAgICRleGNsdXNpdmVLZXl3b3JkID0gJGlzTWF4ID8gJ2V4Y2x1c2l2ZU1heGltdW0nIDogJ2V4Y2x1c2l2ZU1pbmltdW0nLFxuICAgICRzY2hlbWFFeGNsID0gaXQuc2NoZW1hWyRleGNsdXNpdmVLZXl3b3JkXSxcbiAgICAkaXNEYXRhRXhjbCA9IGl0Lm9wdHMuJGRhdGEgJiYgJHNjaGVtYUV4Y2wgJiYgJHNjaGVtYUV4Y2wuJGRhdGEsXG4gICAgJG9wID0gJGlzTWF4ID8gJzwnIDogJz4nLFxuICAgICRub3RPcCA9ICRpc01heCA/ICc+JyA6ICc8JyxcbiAgICAkZXJyb3JLZXl3b3JkID0gdW5kZWZpbmVkO1xuICBpZiAoISgkaXNEYXRhIHx8IHR5cGVvZiAkc2NoZW1hID09ICdudW1iZXInIHx8ICRzY2hlbWEgPT09IHVuZGVmaW5lZCkpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJGtleXdvcmQgKyAnIG11c3QgYmUgbnVtYmVyJyk7XG4gIH1cbiAgaWYgKCEoJGlzRGF0YUV4Y2wgfHwgJHNjaGVtYUV4Y2wgPT09IHVuZGVmaW5lZCB8fCB0eXBlb2YgJHNjaGVtYUV4Y2wgPT0gJ251bWJlcicgfHwgdHlwZW9mICRzY2hlbWFFeGNsID09ICdib29sZWFuJykpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJGV4Y2x1c2l2ZUtleXdvcmQgKyAnIG11c3QgYmUgbnVtYmVyIG9yIGJvb2xlYW4nKTtcbiAgfVxuICBpZiAoJGlzRGF0YUV4Y2wpIHtcbiAgICB2YXIgJHNjaGVtYVZhbHVlRXhjbCA9IGl0LnV0aWwuZ2V0RGF0YSgkc2NoZW1hRXhjbC4kZGF0YSwgJGRhdGFMdmwsIGl0LmRhdGFQYXRoQXJyKSxcbiAgICAgICRleGNsdXNpdmUgPSAnZXhjbHVzaXZlJyArICRsdmwsXG4gICAgICAkZXhjbFR5cGUgPSAnZXhjbFR5cGUnICsgJGx2bCxcbiAgICAgICRleGNsSXNOdW1iZXIgPSAnZXhjbElzTnVtYmVyJyArICRsdmwsXG4gICAgICAkb3BFeHByID0gJ29wJyArICRsdmwsXG4gICAgICAkb3BTdHIgPSAnXFwnICsgJyArICRvcEV4cHIgKyAnICsgXFwnJztcbiAgICBvdXQgKz0gJyB2YXIgc2NoZW1hRXhjbCcgKyAoJGx2bCkgKyAnID0gJyArICgkc2NoZW1hVmFsdWVFeGNsKSArICc7ICc7XG4gICAgJHNjaGVtYVZhbHVlRXhjbCA9ICdzY2hlbWFFeGNsJyArICRsdmw7XG4gICAgb3V0ICs9ICcgdmFyICcgKyAoJGV4Y2x1c2l2ZSkgKyAnOyB2YXIgJyArICgkZXhjbFR5cGUpICsgJyA9IHR5cGVvZiAnICsgKCRzY2hlbWFWYWx1ZUV4Y2wpICsgJzsgaWYgKCcgKyAoJGV4Y2xUeXBlKSArICcgIT0gXFwnYm9vbGVhblxcJyAmJiAnICsgKCRleGNsVHlwZSkgKyAnICE9IFxcJ3VuZGVmaW5lZFxcJyAmJiAnICsgKCRleGNsVHlwZSkgKyAnICE9IFxcJ251bWJlclxcJykgeyAnO1xuICAgIHZhciAkZXJyb3JLZXl3b3JkID0gJGV4Y2x1c2l2ZUtleXdvcmQ7XG4gICAgdmFyICQkb3V0U3RhY2sgPSAkJG91dFN0YWNrIHx8IFtdO1xuICAgICQkb3V0U3RhY2sucHVzaChvdXQpO1xuICAgIG91dCA9ICcnOyAvKiBpc3RhbmJ1bCBpZ25vcmUgZWxzZSAqL1xuICAgIGlmIChpdC5jcmVhdGVFcnJvcnMgIT09IGZhbHNlKSB7XG4gICAgICBvdXQgKz0gJyB7IGtleXdvcmQ6IFxcJycgKyAoJGVycm9yS2V5d29yZCB8fCAnX2V4Y2x1c2l2ZUxpbWl0JykgKyAnXFwnICwgZGF0YVBhdGg6IChkYXRhUGF0aCB8fCBcXCdcXCcpICsgJyArIChpdC5lcnJvclBhdGgpICsgJyAsIHNjaGVtYVBhdGg6ICcgKyAoaXQudXRpbC50b1F1b3RlZFN0cmluZygkZXJyU2NoZW1hUGF0aCkpICsgJyAsIHBhcmFtczoge30gJztcbiAgICAgIGlmIChpdC5vcHRzLm1lc3NhZ2VzICE9PSBmYWxzZSkge1xuICAgICAgICBvdXQgKz0gJyAsIG1lc3NhZ2U6IFxcJycgKyAoJGV4Y2x1c2l2ZUtleXdvcmQpICsgJyBzaG91bGQgYmUgYm9vbGVhblxcJyAnO1xuICAgICAgfVxuICAgICAgaWYgKGl0Lm9wdHMudmVyYm9zZSkge1xuICAgICAgICBvdXQgKz0gJyAsIHNjaGVtYTogdmFsaWRhdGUuc2NoZW1hJyArICgkc2NoZW1hUGF0aCkgKyAnICwgcGFyZW50U2NoZW1hOiB2YWxpZGF0ZS5zY2hlbWEnICsgKGl0LnNjaGVtYVBhdGgpICsgJyAsIGRhdGE6ICcgKyAoJGRhdGEpICsgJyAnO1xuICAgICAgfVxuICAgICAgb3V0ICs9ICcgfSAnO1xuICAgIH0gZWxzZSB7XG4gICAgICBvdXQgKz0gJyB7fSAnO1xuICAgIH1cbiAgICB2YXIgX19lcnIgPSBvdXQ7XG4gICAgb3V0ID0gJCRvdXRTdGFjay5wb3AoKTtcbiAgICBpZiAoIWl0LmNvbXBvc2l0ZVJ1bGUgJiYgJGJyZWFrT25FcnJvcikge1xuICAgICAgLyogaXN0YW5idWwgaWdub3JlIGlmICovXG4gICAgICBpZiAoaXQuYXN5bmMpIHtcbiAgICAgICAgb3V0ICs9ICcgdGhyb3cgbmV3IFZhbGlkYXRpb25FcnJvcihbJyArIChfX2VycikgKyAnXSk7ICc7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBvdXQgKz0gJyB2YWxpZGF0ZS5lcnJvcnMgPSBbJyArIChfX2VycikgKyAnXTsgcmV0dXJuIGZhbHNlOyAnO1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICBvdXQgKz0gJyB2YXIgZXJyID0gJyArIChfX2VycikgKyAnOyAgaWYgKHZFcnJvcnMgPT09IG51bGwpIHZFcnJvcnMgPSBbZXJyXTsgZWxzZSB2RXJyb3JzLnB1c2goZXJyKTsgZXJyb3JzKys7ICc7XG4gICAgfVxuICAgIG91dCArPSAnIH0gZWxzZSBpZiAoICc7XG4gICAgaWYgKCRpc0RhdGEpIHtcbiAgICAgIG91dCArPSAnICgnICsgKCRzY2hlbWFWYWx1ZSkgKyAnICE9PSB1bmRlZmluZWQgJiYgdHlwZW9mICcgKyAoJHNjaGVtYVZhbHVlKSArICcgIT0gXFwnbnVtYmVyXFwnKSB8fCAnO1xuICAgIH1cbiAgICBvdXQgKz0gJyAnICsgKCRleGNsVHlwZSkgKyAnID09IFxcJ251bWJlclxcJyA/ICggKCcgKyAoJGV4Y2x1c2l2ZSkgKyAnID0gJyArICgkc2NoZW1hVmFsdWUpICsgJyA9PT0gdW5kZWZpbmVkIHx8ICcgKyAoJHNjaGVtYVZhbHVlRXhjbCkgKyAnICcgKyAoJG9wKSArICc9ICcgKyAoJHNjaGVtYVZhbHVlKSArICcpID8gJyArICgkZGF0YSkgKyAnICcgKyAoJG5vdE9wKSArICc9ICcgKyAoJHNjaGVtYVZhbHVlRXhjbCkgKyAnIDogJyArICgkZGF0YSkgKyAnICcgKyAoJG5vdE9wKSArICcgJyArICgkc2NoZW1hVmFsdWUpICsgJyApIDogKCAoJyArICgkZXhjbHVzaXZlKSArICcgPSAnICsgKCRzY2hlbWFWYWx1ZUV4Y2wpICsgJyA9PT0gdHJ1ZSkgPyAnICsgKCRkYXRhKSArICcgJyArICgkbm90T3ApICsgJz0gJyArICgkc2NoZW1hVmFsdWUpICsgJyA6ICcgKyAoJGRhdGEpICsgJyAnICsgKCRub3RPcCkgKyAnICcgKyAoJHNjaGVtYVZhbHVlKSArICcgKSB8fCAnICsgKCRkYXRhKSArICcgIT09ICcgKyAoJGRhdGEpICsgJykgeyB2YXIgb3AnICsgKCRsdmwpICsgJyA9ICcgKyAoJGV4Y2x1c2l2ZSkgKyAnID8gXFwnJyArICgkb3ApICsgJ1xcJyA6IFxcJycgKyAoJG9wKSArICc9XFwnOyAnO1xuICAgIGlmICgkc2NoZW1hID09PSB1bmRlZmluZWQpIHtcbiAgICAgICRlcnJvcktleXdvcmQgPSAkZXhjbHVzaXZlS2V5d29yZDtcbiAgICAgICRlcnJTY2hlbWFQYXRoID0gaXQuZXJyU2NoZW1hUGF0aCArICcvJyArICRleGNsdXNpdmVLZXl3b3JkO1xuICAgICAgJHNjaGVtYVZhbHVlID0gJHNjaGVtYVZhbHVlRXhjbDtcbiAgICAgICRpc0RhdGEgPSAkaXNEYXRhRXhjbDtcbiAgICB9XG4gIH0gZWxzZSB7XG4gICAgdmFyICRleGNsSXNOdW1iZXIgPSB0eXBlb2YgJHNjaGVtYUV4Y2wgPT0gJ251bWJlcicsXG4gICAgICAkb3BTdHIgPSAkb3A7XG4gICAgaWYgKCRleGNsSXNOdW1iZXIgJiYgJGlzRGF0YSkge1xuICAgICAgdmFyICRvcEV4cHIgPSAnXFwnJyArICRvcFN0ciArICdcXCcnO1xuICAgICAgb3V0ICs9ICcgaWYgKCAnO1xuICAgICAgaWYgKCRpc0RhdGEpIHtcbiAgICAgICAgb3V0ICs9ICcgKCcgKyAoJHNjaGVtYVZhbHVlKSArICcgIT09IHVuZGVmaW5lZCAmJiB0eXBlb2YgJyArICgkc2NoZW1hVmFsdWUpICsgJyAhPSBcXCdudW1iZXJcXCcpIHx8ICc7XG4gICAgICB9XG4gICAgICBvdXQgKz0gJyAoICcgKyAoJHNjaGVtYVZhbHVlKSArICcgPT09IHVuZGVmaW5lZCB8fCAnICsgKCRzY2hlbWFFeGNsKSArICcgJyArICgkb3ApICsgJz0gJyArICgkc2NoZW1hVmFsdWUpICsgJyA/ICcgKyAoJGRhdGEpICsgJyAnICsgKCRub3RPcCkgKyAnPSAnICsgKCRzY2hlbWFFeGNsKSArICcgOiAnICsgKCRkYXRhKSArICcgJyArICgkbm90T3ApICsgJyAnICsgKCRzY2hlbWFWYWx1ZSkgKyAnICkgfHwgJyArICgkZGF0YSkgKyAnICE9PSAnICsgKCRkYXRhKSArICcpIHsgJztcbiAgICB9IGVsc2Uge1xuICAgICAgaWYgKCRleGNsSXNOdW1iZXIgJiYgJHNjaGVtYSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICRleGNsdXNpdmUgPSB0cnVlO1xuICAgICAgICAkZXJyb3JLZXl3b3JkID0gJGV4Y2x1c2l2ZUtleXdvcmQ7XG4gICAgICAgICRlcnJTY2hlbWFQYXRoID0gaXQuZXJyU2NoZW1hUGF0aCArICcvJyArICRleGNsdXNpdmVLZXl3b3JkO1xuICAgICAgICAkc2NoZW1hVmFsdWUgPSAkc2NoZW1hRXhjbDtcbiAgICAgICAgJG5vdE9wICs9ICc9JztcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGlmICgkZXhjbElzTnVtYmVyKSAkc2NoZW1hVmFsdWUgPSBNYXRoWyRpc01heCA/ICdtaW4nIDogJ21heCddKCRzY2hlbWFFeGNsLCAkc2NoZW1hKTtcbiAgICAgICAgaWYgKCRzY2hlbWFFeGNsID09PSAoJGV4Y2xJc051bWJlciA/ICRzY2hlbWFWYWx1ZSA6IHRydWUpKSB7XG4gICAgICAgICAgJGV4Y2x1c2l2ZSA9IHRydWU7XG4gICAgICAgICAgJGVycm9yS2V5d29yZCA9ICRleGNsdXNpdmVLZXl3b3JkO1xuICAgICAgICAgICRlcnJTY2hlbWFQYXRoID0gaXQuZXJyU2NoZW1hUGF0aCArICcvJyArICRleGNsdXNpdmVLZXl3b3JkO1xuICAgICAgICAgICRub3RPcCArPSAnPSc7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgJGV4Y2x1c2l2ZSA9IGZhbHNlO1xuICAgICAgICAgICRvcFN0ciArPSAnPSc7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIHZhciAkb3BFeHByID0gJ1xcJycgKyAkb3BTdHIgKyAnXFwnJztcbiAgICAgIG91dCArPSAnIGlmICggJztcbiAgICAgIGlmICgkaXNEYXRhKSB7XG4gICAgICAgIG91dCArPSAnICgnICsgKCRzY2hlbWFWYWx1ZSkgKyAnICE9PSB1bmRlZmluZWQgJiYgdHlwZW9mICcgKyAoJHNjaGVtYVZhbHVlKSArICcgIT0gXFwnbnVtYmVyXFwnKSB8fCAnO1xuICAgICAgfVxuICAgICAgb3V0ICs9ICcgJyArICgkZGF0YSkgKyAnICcgKyAoJG5vdE9wKSArICcgJyArICgkc2NoZW1hVmFsdWUpICsgJyB8fCAnICsgKCRkYXRhKSArICcgIT09ICcgKyAoJGRhdGEpICsgJykgeyAnO1xuICAgIH1cbiAgfVxuICAkZXJyb3JLZXl3b3JkID0gJGVycm9yS2V5d29yZCB8fCAka2V5d29yZDtcbiAgdmFyICQkb3V0U3RhY2sgPSAkJG91dFN0YWNrIHx8IFtdO1xuICAkJG91dFN0YWNrLnB1c2gob3V0KTtcbiAgb3V0ID0gJyc7IC8qIGlzdGFuYnVsIGlnbm9yZSBlbHNlICovXG4gIGlmIChpdC5jcmVhdGVFcnJvcnMgIT09IGZhbHNlKSB7XG4gICAgb3V0ICs9ICcgeyBrZXl3b3JkOiBcXCcnICsgKCRlcnJvcktleXdvcmQgfHwgJ19saW1pdCcpICsgJ1xcJyAsIGRhdGFQYXRoOiAoZGF0YVBhdGggfHwgXFwnXFwnKSArICcgKyAoaXQuZXJyb3JQYXRoKSArICcgLCBzY2hlbWFQYXRoOiAnICsgKGl0LnV0aWwudG9RdW90ZWRTdHJpbmcoJGVyclNjaGVtYVBhdGgpKSArICcgLCBwYXJhbXM6IHsgY29tcGFyaXNvbjogJyArICgkb3BFeHByKSArICcsIGxpbWl0OiAnICsgKCRzY2hlbWFWYWx1ZSkgKyAnLCBleGNsdXNpdmU6ICcgKyAoJGV4Y2x1c2l2ZSkgKyAnIH0gJztcbiAgICBpZiAoaXQub3B0cy5tZXNzYWdlcyAhPT0gZmFsc2UpIHtcbiAgICAgIG91dCArPSAnICwgbWVzc2FnZTogXFwnc2hvdWxkIGJlICcgKyAoJG9wU3RyKSArICcgJztcbiAgICAgIGlmICgkaXNEYXRhKSB7XG4gICAgICAgIG91dCArPSAnXFwnICsgJyArICgkc2NoZW1hVmFsdWUpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgb3V0ICs9ICcnICsgKCRzY2hlbWFWYWx1ZSkgKyAnXFwnJztcbiAgICAgIH1cbiAgICB9XG4gICAgaWYgKGl0Lm9wdHMudmVyYm9zZSkge1xuICAgICAgb3V0ICs9ICcgLCBzY2hlbWE6ICAnO1xuICAgICAgaWYgKCRpc0RhdGEpIHtcbiAgICAgICAgb3V0ICs9ICd2YWxpZGF0ZS5zY2hlbWEnICsgKCRzY2hlbWFQYXRoKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIG91dCArPSAnJyArICgkc2NoZW1hKTtcbiAgICAgIH1cbiAgICAgIG91dCArPSAnICAgICAgICAgLCBwYXJlbnRTY2hlbWE6IHZhbGlkYXRlLnNjaGVtYScgKyAoaXQuc2NoZW1hUGF0aCkgKyAnICwgZGF0YTogJyArICgkZGF0YSkgKyAnICc7XG4gICAgfVxuICAgIG91dCArPSAnIH0gJztcbiAgfSBlbHNlIHtcbiAgICBvdXQgKz0gJyB7fSAnO1xuICB9XG4gIHZhciBfX2VyciA9IG91dDtcbiAgb3V0ID0gJCRvdXRTdGFjay5wb3AoKTtcbiAgaWYgKCFpdC5jb21wb3NpdGVSdWxlICYmICRicmVha09uRXJyb3IpIHtcbiAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgaWYgKi9cbiAgICBpZiAoaXQuYXN5bmMpIHtcbiAgICAgIG91dCArPSAnIHRocm93IG5ldyBWYWxpZGF0aW9uRXJyb3IoWycgKyAoX19lcnIpICsgJ10pOyAnO1xuICAgIH0gZWxzZSB7XG4gICAgICBvdXQgKz0gJyB2YWxpZGF0ZS5lcnJvcnMgPSBbJyArIChfX2VycikgKyAnXTsgcmV0dXJuIGZhbHNlOyAnO1xuICAgIH1cbiAgfSBlbHNlIHtcbiAgICBvdXQgKz0gJyB2YXIgZXJyID0gJyArIChfX2VycikgKyAnOyAgaWYgKHZFcnJvcnMgPT09IG51bGwpIHZFcnJvcnMgPSBbZXJyXTsgZWxzZSB2RXJyb3JzLnB1c2goZXJyKTsgZXJyb3JzKys7ICc7XG4gIH1cbiAgb3V0ICs9ICcgfSAnO1xuICBpZiAoJGJyZWFrT25FcnJvcikge1xuICAgIG91dCArPSAnIGVsc2UgeyAnO1xuICB9XG4gIHJldHVybiBvdXQ7XG59XG4iLCAiJ3VzZSBzdHJpY3QnO1xubW9kdWxlLmV4cG9ydHMgPSBmdW5jdGlvbiBnZW5lcmF0ZV9fbGltaXRJdGVtcyhpdCwgJGtleXdvcmQsICRydWxlVHlwZSkge1xuICB2YXIgb3V0ID0gJyAnO1xuICB2YXIgJGx2bCA9IGl0LmxldmVsO1xuICB2YXIgJGRhdGFMdmwgPSBpdC5kYXRhTGV2ZWw7XG4gIHZhciAkc2NoZW1hID0gaXQuc2NoZW1hWyRrZXl3b3JkXTtcbiAgdmFyICRzY2hlbWFQYXRoID0gaXQuc2NoZW1hUGF0aCArIGl0LnV0aWwuZ2V0UHJvcGVydHkoJGtleXdvcmQpO1xuICB2YXIgJGVyclNjaGVtYVBhdGggPSBpdC5lcnJTY2hlbWFQYXRoICsgJy8nICsgJGtleXdvcmQ7XG4gIHZhciAkYnJlYWtPbkVycm9yID0gIWl0Lm9wdHMuYWxsRXJyb3JzO1xuICB2YXIgJGVycm9yS2V5d29yZDtcbiAgdmFyICRkYXRhID0gJ2RhdGEnICsgKCRkYXRhTHZsIHx8ICcnKTtcbiAgdmFyICRpc0RhdGEgPSBpdC5vcHRzLiRkYXRhICYmICRzY2hlbWEgJiYgJHNjaGVtYS4kZGF0YSxcbiAgICAkc2NoZW1hVmFsdWU7XG4gIGlmICgkaXNEYXRhKSB7XG4gICAgb3V0ICs9ICcgdmFyIHNjaGVtYScgKyAoJGx2bCkgKyAnID0gJyArIChpdC51dGlsLmdldERhdGEoJHNjaGVtYS4kZGF0YSwgJGRhdGFMdmwsIGl0LmRhdGFQYXRoQXJyKSkgKyAnOyAnO1xuICAgICRzY2hlbWFWYWx1ZSA9ICdzY2hlbWEnICsgJGx2bDtcbiAgfSBlbHNlIHtcbiAgICAkc2NoZW1hVmFsdWUgPSAkc2NoZW1hO1xuICB9XG4gIGlmICghKCRpc0RhdGEgfHwgdHlwZW9mICRzY2hlbWEgPT0gJ251bWJlcicpKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCRrZXl3b3JkICsgJyBtdXN0IGJlIG51bWJlcicpO1xuICB9XG4gIHZhciAkb3AgPSAka2V5d29yZCA9PSAnbWF4SXRlbXMnID8gJz4nIDogJzwnO1xuICBvdXQgKz0gJ2lmICggJztcbiAgaWYgKCRpc0RhdGEpIHtcbiAgICBvdXQgKz0gJyAoJyArICgkc2NoZW1hVmFsdWUpICsgJyAhPT0gdW5kZWZpbmVkICYmIHR5cGVvZiAnICsgKCRzY2hlbWFWYWx1ZSkgKyAnICE9IFxcJ251bWJlclxcJykgfHwgJztcbiAgfVxuICBvdXQgKz0gJyAnICsgKCRkYXRhKSArICcubGVuZ3RoICcgKyAoJG9wKSArICcgJyArICgkc2NoZW1hVmFsdWUpICsgJykgeyAnO1xuICB2YXIgJGVycm9yS2V5d29yZCA9ICRrZXl3b3JkO1xuICB2YXIgJCRvdXRTdGFjayA9ICQkb3V0U3RhY2sgfHwgW107XG4gICQkb3V0U3RhY2sucHVzaChvdXQpO1xuICBvdXQgPSAnJzsgLyogaXN0YW5idWwgaWdub3JlIGVsc2UgKi9cbiAgaWYgKGl0LmNyZWF0ZUVycm9ycyAhPT0gZmFsc2UpIHtcbiAgICBvdXQgKz0gJyB7IGtleXdvcmQ6IFxcJycgKyAoJGVycm9yS2V5d29yZCB8fCAnX2xpbWl0SXRlbXMnKSArICdcXCcgLCBkYXRhUGF0aDogKGRhdGFQYXRoIHx8IFxcJ1xcJykgKyAnICsgKGl0LmVycm9yUGF0aCkgKyAnICwgc2NoZW1hUGF0aDogJyArIChpdC51dGlsLnRvUXVvdGVkU3RyaW5nKCRlcnJTY2hlbWFQYXRoKSkgKyAnICwgcGFyYW1zOiB7IGxpbWl0OiAnICsgKCRzY2hlbWFWYWx1ZSkgKyAnIH0gJztcbiAgICBpZiAoaXQub3B0cy5tZXNzYWdlcyAhPT0gZmFsc2UpIHtcbiAgICAgIG91dCArPSAnICwgbWVzc2FnZTogXFwnc2hvdWxkIE5PVCBoYXZlICc7XG4gICAgICBpZiAoJGtleXdvcmQgPT0gJ21heEl0ZW1zJykge1xuICAgICAgICBvdXQgKz0gJ21vcmUnO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgb3V0ICs9ICdmZXdlcic7XG4gICAgICB9XG4gICAgICBvdXQgKz0gJyB0aGFuICc7XG4gICAgICBpZiAoJGlzRGF0YSkge1xuICAgICAgICBvdXQgKz0gJ1xcJyArICcgKyAoJHNjaGVtYVZhbHVlKSArICcgKyBcXCcnO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgb3V0ICs9ICcnICsgKCRzY2hlbWEpO1xuICAgICAgfVxuICAgICAgb3V0ICs9ICcgaXRlbXNcXCcgJztcbiAgICB9XG4gICAgaWYgKGl0Lm9wdHMudmVyYm9zZSkge1xuICAgICAgb3V0ICs9ICcgLCBzY2hlbWE6ICAnO1xuICAgICAgaWYgKCRpc0RhdGEpIHtcbiAgICAgICAgb3V0ICs9ICd2YWxpZGF0ZS5zY2hlbWEnICsgKCRzY2hlbWFQYXRoKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIG91dCArPSAnJyArICgkc2NoZW1hKTtcbiAgICAgIH1cbiAgICAgIG91dCArPSAnICAgICAgICAgLCBwYXJlbnRTY2hlbWE6IHZhbGlkYXRlLnNjaGVtYScgKyAoaXQuc2NoZW1hUGF0aCkgKyAnICwgZGF0YTogJyArICgkZGF0YSkgKyAnICc7XG4gICAgfVxuICAgIG91dCArPSAnIH0gJztcbiAgfSBlbHNlIHtcbiAgICBvdXQgKz0gJyB7fSAnO1xuICB9XG4gIHZhciBfX2VyciA9IG91dDtcbiAgb3V0ID0gJCRvdXRTdGFjay5wb3AoKTtcbiAgaWYgKCFpdC5jb21wb3NpdGVSdWxlICYmICRicmVha09uRXJyb3IpIHtcbiAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgaWYgKi9cbiAgICBpZiAoaXQuYXN5bmMpIHtcbiAgICAgIG91dCArPSAnIHRocm93IG5ldyBWYWxpZGF0aW9uRXJyb3IoWycgKyAoX19lcnIpICsgJ10pOyAnO1xuICAgIH0gZWxzZSB7XG4gICAgICBvdXQgKz0gJyB2YWxpZGF0ZS5lcnJvcnMgPSBbJyArIChfX2VycikgKyAnXTsgcmV0dXJuIGZhbHNlOyAnO1xuICAgIH1cbiAgfSBlbHNlIHtcbiAgICBvdXQgKz0gJyB2YXIgZXJyID0gJyArIChfX2VycikgKyAnOyAgaWYgKHZFcnJvcnMgPT09IG51bGwpIHZFcnJvcnMgPSBbZXJyXTsgZWxzZSB2RXJyb3JzLnB1c2goZXJyKTsgZXJyb3JzKys7ICc7XG4gIH1cbiAgb3V0ICs9ICd9ICc7XG4gIGlmICgkYnJlYWtPbkVycm9yKSB7XG4gICAgb3V0ICs9ICcgZWxzZSB7ICc7XG4gIH1cbiAgcmV0dXJuIG91dDtcbn1cbiIsICIndXNlIHN0cmljdCc7XG5tb2R1bGUuZXhwb3J0cyA9IGZ1bmN0aW9uIGdlbmVyYXRlX19saW1pdExlbmd0aChpdCwgJGtleXdvcmQsICRydWxlVHlwZSkge1xuICB2YXIgb3V0ID0gJyAnO1xuICB2YXIgJGx2bCA9IGl0LmxldmVsO1xuICB2YXIgJGRhdGFMdmwgPSBpdC5kYXRhTGV2ZWw7XG4gIHZhciAkc2NoZW1hID0gaXQuc2NoZW1hWyRrZXl3b3JkXTtcbiAgdmFyICRzY2hlbWFQYXRoID0gaXQuc2NoZW1hUGF0aCArIGl0LnV0aWwuZ2V0UHJvcGVydHkoJGtleXdvcmQpO1xuICB2YXIgJGVyclNjaGVtYVBhdGggPSBpdC5lcnJTY2hlbWFQYXRoICsgJy8nICsgJGtleXdvcmQ7XG4gIHZhciAkYnJlYWtPbkVycm9yID0gIWl0Lm9wdHMuYWxsRXJyb3JzO1xuICB2YXIgJGVycm9yS2V5d29yZDtcbiAgdmFyICRkYXRhID0gJ2RhdGEnICsgKCRkYXRhTHZsIHx8ICcnKTtcbiAgdmFyICRpc0RhdGEgPSBpdC5vcHRzLiRkYXRhICYmICRzY2hlbWEgJiYgJHNjaGVtYS4kZGF0YSxcbiAgICAkc2NoZW1hVmFsdWU7XG4gIGlmICgkaXNEYXRhKSB7XG4gICAgb3V0ICs9ICcgdmFyIHNjaGVtYScgKyAoJGx2bCkgKyAnID0gJyArIChpdC51dGlsLmdldERhdGEoJHNjaGVtYS4kZGF0YSwgJGRhdGFMdmwsIGl0LmRhdGFQYXRoQXJyKSkgKyAnOyAnO1xuICAgICRzY2hlbWFWYWx1ZSA9ICdzY2hlbWEnICsgJGx2bDtcbiAgfSBlbHNlIHtcbiAgICAkc2NoZW1hVmFsdWUgPSAkc2NoZW1hO1xuICB9XG4gIGlmICghKCRpc0RhdGEgfHwgdHlwZW9mICRzY2hlbWEgPT0gJ251bWJlcicpKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCRrZXl3b3JkICsgJyBtdXN0IGJlIG51bWJlcicpO1xuICB9XG4gIHZhciAkb3AgPSAka2V5d29yZCA9PSAnbWF4TGVuZ3RoJyA/ICc+JyA6ICc8JztcbiAgb3V0ICs9ICdpZiAoICc7XG4gIGlmICgkaXNEYXRhKSB7XG4gICAgb3V0ICs9ICcgKCcgKyAoJHNjaGVtYVZhbHVlKSArICcgIT09IHVuZGVmaW5lZCAmJiB0eXBlb2YgJyArICgkc2NoZW1hVmFsdWUpICsgJyAhPSBcXCdudW1iZXJcXCcpIHx8ICc7XG4gIH1cbiAgaWYgKGl0Lm9wdHMudW5pY29kZSA9PT0gZmFsc2UpIHtcbiAgICBvdXQgKz0gJyAnICsgKCRkYXRhKSArICcubGVuZ3RoICc7XG4gIH0gZWxzZSB7XG4gICAgb3V0ICs9ICcgdWNzMmxlbmd0aCgnICsgKCRkYXRhKSArICcpICc7XG4gIH1cbiAgb3V0ICs9ICcgJyArICgkb3ApICsgJyAnICsgKCRzY2hlbWFWYWx1ZSkgKyAnKSB7ICc7XG4gIHZhciAkZXJyb3JLZXl3b3JkID0gJGtleXdvcmQ7XG4gIHZhciAkJG91dFN0YWNrID0gJCRvdXRTdGFjayB8fCBbXTtcbiAgJCRvdXRTdGFjay5wdXNoKG91dCk7XG4gIG91dCA9ICcnOyAvKiBpc3RhbmJ1bCBpZ25vcmUgZWxzZSAqL1xuICBpZiAoaXQuY3JlYXRlRXJyb3JzICE9PSBmYWxzZSkge1xuICAgIG91dCArPSAnIHsga2V5d29yZDogXFwnJyArICgkZXJyb3JLZXl3b3JkIHx8ICdfbGltaXRMZW5ndGgnKSArICdcXCcgLCBkYXRhUGF0aDogKGRhdGFQYXRoIHx8IFxcJ1xcJykgKyAnICsgKGl0LmVycm9yUGF0aCkgKyAnICwgc2NoZW1hUGF0aDogJyArIChpdC51dGlsLnRvUXVvdGVkU3RyaW5nKCRlcnJTY2hlbWFQYXRoKSkgKyAnICwgcGFyYW1zOiB7IGxpbWl0OiAnICsgKCRzY2hlbWFWYWx1ZSkgKyAnIH0gJztcbiAgICBpZiAoaXQub3B0cy5tZXNzYWdlcyAhPT0gZmFsc2UpIHtcbiAgICAgIG91dCArPSAnICwgbWVzc2FnZTogXFwnc2hvdWxkIE5PVCBiZSAnO1xuICAgICAgaWYgKCRrZXl3b3JkID09ICdtYXhMZW5ndGgnKSB7XG4gICAgICAgIG91dCArPSAnbG9uZ2VyJztcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIG91dCArPSAnc2hvcnRlcic7XG4gICAgICB9XG4gICAgICBvdXQgKz0gJyB0aGFuICc7XG4gICAgICBpZiAoJGlzRGF0YSkge1xuICAgICAgICBvdXQgKz0gJ1xcJyArICcgKyAoJHNjaGVtYVZhbHVlKSArICcgKyBcXCcnO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgb3V0ICs9ICcnICsgKCRzY2hlbWEpO1xuICAgICAgfVxuICAgICAgb3V0ICs9ICcgY2hhcmFjdGVyc1xcJyAnO1xuICAgIH1cbiAgICBpZiAoaXQub3B0cy52ZXJib3NlKSB7XG4gICAgICBvdXQgKz0gJyAsIHNjaGVtYTogICc7XG4gICAgICBpZiAoJGlzRGF0YSkge1xuICAgICAgICBvdXQgKz0gJ3ZhbGlkYXRlLnNjaGVtYScgKyAoJHNjaGVtYVBhdGgpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgb3V0ICs9ICcnICsgKCRzY2hlbWEpO1xuICAgICAgfVxuICAgICAgb3V0ICs9ICcgICAgICAgICAsIHBhcmVudFNjaGVtYTogdmFsaWRhdGUuc2NoZW1hJyArIChpdC5zY2hlbWFQYXRoKSArICcgLCBkYXRhOiAnICsgKCRkYXRhKSArICcgJztcbiAgICB9XG4gICAgb3V0ICs9ICcgfSAnO1xuICB9IGVsc2Uge1xuICAgIG91dCArPSAnIHt9ICc7XG4gIH1cbiAgdmFyIF9fZXJyID0gb3V0O1xuICBvdXQgPSAkJG91dFN0YWNrLnBvcCgpO1xuICBpZiAoIWl0LmNvbXBvc2l0ZVJ1bGUgJiYgJGJyZWFrT25FcnJvcikge1xuICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBpZiAqL1xuICAgIGlmIChpdC5hc3luYykge1xuICAgICAgb3V0ICs9ICcgdGhyb3cgbmV3IFZhbGlkYXRpb25FcnJvcihbJyArIChfX2VycikgKyAnXSk7ICc7XG4gICAgfSBlbHNlIHtcbiAgICAgIG91dCArPSAnIHZhbGlkYXRlLmVycm9ycyA9IFsnICsgKF9fZXJyKSArICddOyByZXR1cm4gZmFsc2U7ICc7XG4gICAgfVxuICB9IGVsc2Uge1xuICAgIG91dCArPSAnIHZhciBlcnIgPSAnICsgKF9fZXJyKSArICc7ICBpZiAodkVycm9ycyA9PT0gbnVsbCkgdkVycm9ycyA9IFtlcnJdOyBlbHNlIHZFcnJvcnMucHVzaChlcnIpOyBlcnJvcnMrKzsgJztcbiAgfVxuICBvdXQgKz0gJ30gJztcbiAgaWYgKCRicmVha09uRXJyb3IpIHtcbiAgICBvdXQgKz0gJyBlbHNlIHsgJztcbiAgfVxuICByZXR1cm4gb3V0O1xufVxuIiwgIid1c2Ugc3RyaWN0Jztcbm1vZHVsZS5leHBvcnRzID0gZnVuY3Rpb24gZ2VuZXJhdGVfX2xpbWl0UHJvcGVydGllcyhpdCwgJGtleXdvcmQsICRydWxlVHlwZSkge1xuICB2YXIgb3V0ID0gJyAnO1xuICB2YXIgJGx2bCA9IGl0LmxldmVsO1xuICB2YXIgJGRhdGFMdmwgPSBpdC5kYXRhTGV2ZWw7XG4gIHZhciAkc2NoZW1hID0gaXQuc2NoZW1hWyRrZXl3b3JkXTtcbiAgdmFyICRzY2hlbWFQYXRoID0gaXQuc2NoZW1hUGF0aCArIGl0LnV0aWwuZ2V0UHJvcGVydHkoJGtleXdvcmQpO1xuICB2YXIgJGVyclNjaGVtYVBhdGggPSBpdC5lcnJTY2hlbWFQYXRoICsgJy8nICsgJGtleXdvcmQ7XG4gIHZhciAkYnJlYWtPbkVycm9yID0gIWl0Lm9wdHMuYWxsRXJyb3JzO1xuICB2YXIgJGVycm9yS2V5d29yZDtcbiAgdmFyICRkYXRhID0gJ2RhdGEnICsgKCRkYXRhTHZsIHx8ICcnKTtcbiAgdmFyICRpc0RhdGEgPSBpdC5vcHRzLiRkYXRhICYmICRzY2hlbWEgJiYgJHNjaGVtYS4kZGF0YSxcbiAgICAkc2NoZW1hVmFsdWU7XG4gIGlmICgkaXNEYXRhKSB7XG4gICAgb3V0ICs9ICcgdmFyIHNjaGVtYScgKyAoJGx2bCkgKyAnID0gJyArIChpdC51dGlsLmdldERhdGEoJHNjaGVtYS4kZGF0YSwgJGRhdGFMdmwsIGl0LmRhdGFQYXRoQXJyKSkgKyAnOyAnO1xuICAgICRzY2hlbWFWYWx1ZSA9ICdzY2hlbWEnICsgJGx2bDtcbiAgfSBlbHNlIHtcbiAgICAkc2NoZW1hVmFsdWUgPSAkc2NoZW1hO1xuICB9XG4gIGlmICghKCRpc0RhdGEgfHwgdHlwZW9mICRzY2hlbWEgPT0gJ251bWJlcicpKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCRrZXl3b3JkICsgJyBtdXN0IGJlIG51bWJlcicpO1xuICB9XG4gIHZhciAkb3AgPSAka2V5d29yZCA9PSAnbWF4UHJvcGVydGllcycgPyAnPicgOiAnPCc7XG4gIG91dCArPSAnaWYgKCAnO1xuICBpZiAoJGlzRGF0YSkge1xuICAgIG91dCArPSAnICgnICsgKCRzY2hlbWFWYWx1ZSkgKyAnICE9PSB1bmRlZmluZWQgJiYgdHlwZW9mICcgKyAoJHNjaGVtYVZhbHVlKSArICcgIT0gXFwnbnVtYmVyXFwnKSB8fCAnO1xuICB9XG4gIG91dCArPSAnIE9iamVjdC5rZXlzKCcgKyAoJGRhdGEpICsgJykubGVuZ3RoICcgKyAoJG9wKSArICcgJyArICgkc2NoZW1hVmFsdWUpICsgJykgeyAnO1xuICB2YXIgJGVycm9yS2V5d29yZCA9ICRrZXl3b3JkO1xuICB2YXIgJCRvdXRTdGFjayA9ICQkb3V0U3RhY2sgfHwgW107XG4gICQkb3V0U3RhY2sucHVzaChvdXQpO1xuICBvdXQgPSAnJzsgLyogaXN0YW5idWwgaWdub3JlIGVsc2UgKi9cbiAgaWYgKGl0LmNyZWF0ZUVycm9ycyAhPT0gZmFsc2UpIHtcbiAgICBvdXQgKz0gJyB7IGtleXdvcmQ6IFxcJycgKyAoJGVycm9yS2V5d29yZCB8fCAnX2xpbWl0UHJvcGVydGllcycpICsgJ1xcJyAsIGRhdGFQYXRoOiAoZGF0YVBhdGggfHwgXFwnXFwnKSArICcgKyAoaXQuZXJyb3JQYXRoKSArICcgLCBzY2hlbWFQYXRoOiAnICsgKGl0LnV0aWwudG9RdW90ZWRTdHJpbmcoJGVyclNjaGVtYVBhdGgpKSArICcgLCBwYXJhbXM6IHsgbGltaXQ6ICcgKyAoJHNjaGVtYVZhbHVlKSArICcgfSAnO1xuICAgIGlmIChpdC5vcHRzLm1lc3NhZ2VzICE9PSBmYWxzZSkge1xuICAgICAgb3V0ICs9ICcgLCBtZXNzYWdlOiBcXCdzaG91bGQgTk9UIGhhdmUgJztcbiAgICAgIGlmICgka2V5d29yZCA9PSAnbWF4UHJvcGVydGllcycpIHtcbiAgICAgICAgb3V0ICs9ICdtb3JlJztcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIG91dCArPSAnZmV3ZXInO1xuICAgICAgfVxuICAgICAgb3V0ICs9ICcgdGhhbiAnO1xuICAgICAgaWYgKCRpc0RhdGEpIHtcbiAgICAgICAgb3V0ICs9ICdcXCcgKyAnICsgKCRzY2hlbWFWYWx1ZSkgKyAnICsgXFwnJztcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIG91dCArPSAnJyArICgkc2NoZW1hKTtcbiAgICAgIH1cbiAgICAgIG91dCArPSAnIHByb3BlcnRpZXNcXCcgJztcbiAgICB9XG4gICAgaWYgKGl0Lm9wdHMudmVyYm9zZSkge1xuICAgICAgb3V0ICs9ICcgLCBzY2hlbWE6ICAnO1xuICAgICAgaWYgKCRpc0RhdGEpIHtcbiAgICAgICAgb3V0ICs9ICd2YWxpZGF0ZS5zY2hlbWEnICsgKCRzY2hlbWFQYXRoKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIG91dCArPSAnJyArICgkc2NoZW1hKTtcbiAgICAgIH1cbiAgICAgIG91dCArPSAnICAgICAgICAgLCBwYXJlbnRTY2hlbWE6IHZhbGlkYXRlLnNjaGVtYScgKyAoaXQuc2NoZW1hUGF0aCkgKyAnICwgZGF0YTogJyArICgkZGF0YSkgKyAnICc7XG4gICAgfVxuICAgIG91dCArPSAnIH0gJztcbiAgfSBlbHNlIHtcbiAgICBvdXQgKz0gJyB7fSAnO1xuICB9XG4gIHZhciBfX2VyciA9IG91dDtcbiAgb3V0ID0gJCRvdXRTdGFjay5wb3AoKTtcbiAgaWYgKCFpdC5jb21wb3NpdGVSdWxlICYmICRicmVha09uRXJyb3IpIHtcbiAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgaWYgKi9cbiAgICBpZiAoaXQuYXN5bmMpIHtcbiAgICAgIG91dCArPSAnIHRocm93IG5ldyBWYWxpZGF0aW9uRXJyb3IoWycgKyAoX19lcnIpICsgJ10pOyAnO1xuICAgIH0gZWxzZSB7XG4gICAgICBvdXQgKz0gJyB2YWxpZGF0ZS5lcnJvcnMgPSBbJyArIChfX2VycikgKyAnXTsgcmV0dXJuIGZhbHNlOyAnO1xuICAgIH1cbiAgfSBlbHNlIHtcbiAgICBvdXQgKz0gJyB2YXIgZXJyID0gJyArIChfX2VycikgKyAnOyAgaWYgKHZFcnJvcnMgPT09IG51bGwpIHZFcnJvcnMgPSBbZXJyXTsgZWxzZSB2RXJyb3JzLnB1c2goZXJyKTsgZXJyb3JzKys7ICc7XG4gIH1cbiAgb3V0ICs9ICd9ICc7XG4gIGlmICgkYnJlYWtPbkVycm9yKSB7XG4gICAgb3V0ICs9ICcgZWxzZSB7ICc7XG4gIH1cbiAgcmV0dXJuIG91dDtcbn1cbiIsICIndXNlIHN0cmljdCc7XG5tb2R1bGUuZXhwb3J0cyA9IGZ1bmN0aW9uIGdlbmVyYXRlX211bHRpcGxlT2YoaXQsICRrZXl3b3JkLCAkcnVsZVR5cGUpIHtcbiAgdmFyIG91dCA9ICcgJztcbiAgdmFyICRsdmwgPSBpdC5sZXZlbDtcbiAgdmFyICRkYXRhTHZsID0gaXQuZGF0YUxldmVsO1xuICB2YXIgJHNjaGVtYSA9IGl0LnNjaGVtYVska2V5d29yZF07XG4gIHZhciAkc2NoZW1hUGF0aCA9IGl0LnNjaGVtYVBhdGggKyBpdC51dGlsLmdldFByb3BlcnR5KCRrZXl3b3JkKTtcbiAgdmFyICRlcnJTY2hlbWFQYXRoID0gaXQuZXJyU2NoZW1hUGF0aCArICcvJyArICRrZXl3b3JkO1xuICB2YXIgJGJyZWFrT25FcnJvciA9ICFpdC5vcHRzLmFsbEVycm9ycztcbiAgdmFyICRkYXRhID0gJ2RhdGEnICsgKCRkYXRhTHZsIHx8ICcnKTtcbiAgdmFyICRpc0RhdGEgPSBpdC5vcHRzLiRkYXRhICYmICRzY2hlbWEgJiYgJHNjaGVtYS4kZGF0YSxcbiAgICAkc2NoZW1hVmFsdWU7XG4gIGlmICgkaXNEYXRhKSB7XG4gICAgb3V0ICs9ICcgdmFyIHNjaGVtYScgKyAoJGx2bCkgKyAnID0gJyArIChpdC51dGlsLmdldERhdGEoJHNjaGVtYS4kZGF0YSwgJGRhdGFMdmwsIGl0LmRhdGFQYXRoQXJyKSkgKyAnOyAnO1xuICAgICRzY2hlbWFWYWx1ZSA9ICdzY2hlbWEnICsgJGx2bDtcbiAgfSBlbHNlIHtcbiAgICAkc2NoZW1hVmFsdWUgPSAkc2NoZW1hO1xuICB9XG4gIGlmICghKCRpc0RhdGEgfHwgdHlwZW9mICRzY2hlbWEgPT0gJ251bWJlcicpKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCRrZXl3b3JkICsgJyBtdXN0IGJlIG51bWJlcicpO1xuICB9XG4gIG91dCArPSAndmFyIGRpdmlzaW9uJyArICgkbHZsKSArICc7aWYgKCc7XG4gIGlmICgkaXNEYXRhKSB7XG4gICAgb3V0ICs9ICcgJyArICgkc2NoZW1hVmFsdWUpICsgJyAhPT0gdW5kZWZpbmVkICYmICggdHlwZW9mICcgKyAoJHNjaGVtYVZhbHVlKSArICcgIT0gXFwnbnVtYmVyXFwnIHx8ICc7XG4gIH1cbiAgb3V0ICs9ICcgKGRpdmlzaW9uJyArICgkbHZsKSArICcgPSAnICsgKCRkYXRhKSArICcgLyAnICsgKCRzY2hlbWFWYWx1ZSkgKyAnLCAnO1xuICBpZiAoaXQub3B0cy5tdWx0aXBsZU9mUHJlY2lzaW9uKSB7XG4gICAgb3V0ICs9ICcgTWF0aC5hYnMoTWF0aC5yb3VuZChkaXZpc2lvbicgKyAoJGx2bCkgKyAnKSAtIGRpdmlzaW9uJyArICgkbHZsKSArICcpID4gMWUtJyArIChpdC5vcHRzLm11bHRpcGxlT2ZQcmVjaXNpb24pICsgJyAnO1xuICB9IGVsc2Uge1xuICAgIG91dCArPSAnIGRpdmlzaW9uJyArICgkbHZsKSArICcgIT09IHBhcnNlSW50KGRpdmlzaW9uJyArICgkbHZsKSArICcpICc7XG4gIH1cbiAgb3V0ICs9ICcgKSAnO1xuICBpZiAoJGlzRGF0YSkge1xuICAgIG91dCArPSAnICApICAnO1xuICB9XG4gIG91dCArPSAnICkgeyAgICc7XG4gIHZhciAkJG91dFN0YWNrID0gJCRvdXRTdGFjayB8fCBbXTtcbiAgJCRvdXRTdGFjay5wdXNoKG91dCk7XG4gIG91dCA9ICcnOyAvKiBpc3RhbmJ1bCBpZ25vcmUgZWxzZSAqL1xuICBpZiAoaXQuY3JlYXRlRXJyb3JzICE9PSBmYWxzZSkge1xuICAgIG91dCArPSAnIHsga2V5d29yZDogXFwnJyArICgnbXVsdGlwbGVPZicpICsgJ1xcJyAsIGRhdGFQYXRoOiAoZGF0YVBhdGggfHwgXFwnXFwnKSArICcgKyAoaXQuZXJyb3JQYXRoKSArICcgLCBzY2hlbWFQYXRoOiAnICsgKGl0LnV0aWwudG9RdW90ZWRTdHJpbmcoJGVyclNjaGVtYVBhdGgpKSArICcgLCBwYXJhbXM6IHsgbXVsdGlwbGVPZjogJyArICgkc2NoZW1hVmFsdWUpICsgJyB9ICc7XG4gICAgaWYgKGl0Lm9wdHMubWVzc2FnZXMgIT09IGZhbHNlKSB7XG4gICAgICBvdXQgKz0gJyAsIG1lc3NhZ2U6IFxcJ3Nob3VsZCBiZSBtdWx0aXBsZSBvZiAnO1xuICAgICAgaWYgKCRpc0RhdGEpIHtcbiAgICAgICAgb3V0ICs9ICdcXCcgKyAnICsgKCRzY2hlbWFWYWx1ZSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBvdXQgKz0gJycgKyAoJHNjaGVtYVZhbHVlKSArICdcXCcnO1xuICAgICAgfVxuICAgIH1cbiAgICBpZiAoaXQub3B0cy52ZXJib3NlKSB7XG4gICAgICBvdXQgKz0gJyAsIHNjaGVtYTogICc7XG4gICAgICBpZiAoJGlzRGF0YSkge1xuICAgICAgICBvdXQgKz0gJ3ZhbGlkYXRlLnNjaGVtYScgKyAoJHNjaGVtYVBhdGgpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgb3V0ICs9ICcnICsgKCRzY2hlbWEpO1xuICAgICAgfVxuICAgICAgb3V0ICs9ICcgICAgICAgICAsIHBhcmVudFNjaGVtYTogdmFsaWRhdGUuc2NoZW1hJyArIChpdC5zY2hlbWFQYXRoKSArICcgLCBkYXRhOiAnICsgKCRkYXRhKSArICcgJztcbiAgICB9XG4gICAgb3V0ICs9ICcgfSAnO1xuICB9IGVsc2Uge1xuICAgIG91dCArPSAnIHt9ICc7XG4gIH1cbiAgdmFyIF9fZXJyID0gb3V0O1xuICBvdXQgPSAkJG91dFN0YWNrLnBvcCgpO1xuICBpZiAoIWl0LmNvbXBvc2l0ZVJ1bGUgJiYgJGJyZWFrT25FcnJvcikge1xuICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBpZiAqL1xuICAgIGlmIChpdC5hc3luYykge1xuICAgICAgb3V0ICs9ICcgdGhyb3cgbmV3IFZhbGlkYXRpb25FcnJvcihbJyArIChfX2VycikgKyAnXSk7ICc7XG4gICAgfSBlbHNlIHtcbiAgICAgIG91dCArPSAnIHZhbGlkYXRlLmVycm9ycyA9IFsnICsgKF9fZXJyKSArICddOyByZXR1cm4gZmFsc2U7ICc7XG4gICAgfVxuICB9IGVsc2Uge1xuICAgIG91dCArPSAnIHZhciBlcnIgPSAnICsgKF9fZXJyKSArICc7ICBpZiAodkVycm9ycyA9PT0gbnVsbCkgdkVycm9ycyA9IFtlcnJdOyBlbHNlIHZFcnJvcnMucHVzaChlcnIpOyBlcnJvcnMrKzsgJztcbiAgfVxuICBvdXQgKz0gJ30gJztcbiAgaWYgKCRicmVha09uRXJyb3IpIHtcbiAgICBvdXQgKz0gJyBlbHNlIHsgJztcbiAgfVxuICByZXR1cm4gb3V0O1xufVxuIiwgIid1c2Ugc3RyaWN0Jztcbm1vZHVsZS5leHBvcnRzID0gZnVuY3Rpb24gZ2VuZXJhdGVfbm90KGl0LCAka2V5d29yZCwgJHJ1bGVUeXBlKSB7XG4gIHZhciBvdXQgPSAnICc7XG4gIHZhciAkbHZsID0gaXQubGV2ZWw7XG4gIHZhciAkZGF0YUx2bCA9IGl0LmRhdGFMZXZlbDtcbiAgdmFyICRzY2hlbWEgPSBpdC5zY2hlbWFbJGtleXdvcmRdO1xuICB2YXIgJHNjaGVtYVBhdGggPSBpdC5zY2hlbWFQYXRoICsgaXQudXRpbC5nZXRQcm9wZXJ0eSgka2V5d29yZCk7XG4gIHZhciAkZXJyU2NoZW1hUGF0aCA9IGl0LmVyclNjaGVtYVBhdGggKyAnLycgKyAka2V5d29yZDtcbiAgdmFyICRicmVha09uRXJyb3IgPSAhaXQub3B0cy5hbGxFcnJvcnM7XG4gIHZhciAkZGF0YSA9ICdkYXRhJyArICgkZGF0YUx2bCB8fCAnJyk7XG4gIHZhciAkZXJycyA9ICdlcnJzX18nICsgJGx2bDtcbiAgdmFyICRpdCA9IGl0LnV0aWwuY29weShpdCk7XG4gICRpdC5sZXZlbCsrO1xuICB2YXIgJG5leHRWYWxpZCA9ICd2YWxpZCcgKyAkaXQubGV2ZWw7XG4gIGlmICgoaXQub3B0cy5zdHJpY3RLZXl3b3JkcyA/ICh0eXBlb2YgJHNjaGVtYSA9PSAnb2JqZWN0JyAmJiBPYmplY3Qua2V5cygkc2NoZW1hKS5sZW5ndGggPiAwKSB8fCAkc2NoZW1hID09PSBmYWxzZSA6IGl0LnV0aWwuc2NoZW1hSGFzUnVsZXMoJHNjaGVtYSwgaXQuUlVMRVMuYWxsKSkpIHtcbiAgICAkaXQuc2NoZW1hID0gJHNjaGVtYTtcbiAgICAkaXQuc2NoZW1hUGF0aCA9ICRzY2hlbWFQYXRoO1xuICAgICRpdC5lcnJTY2hlbWFQYXRoID0gJGVyclNjaGVtYVBhdGg7XG4gICAgb3V0ICs9ICcgdmFyICcgKyAoJGVycnMpICsgJyA9IGVycm9yczsgICc7XG4gICAgdmFyICR3YXNDb21wb3NpdGUgPSBpdC5jb21wb3NpdGVSdWxlO1xuICAgIGl0LmNvbXBvc2l0ZVJ1bGUgPSAkaXQuY29tcG9zaXRlUnVsZSA9IHRydWU7XG4gICAgJGl0LmNyZWF0ZUVycm9ycyA9IGZhbHNlO1xuICAgIHZhciAkYWxsRXJyb3JzT3B0aW9uO1xuICAgIGlmICgkaXQub3B0cy5hbGxFcnJvcnMpIHtcbiAgICAgICRhbGxFcnJvcnNPcHRpb24gPSAkaXQub3B0cy5hbGxFcnJvcnM7XG4gICAgICAkaXQub3B0cy5hbGxFcnJvcnMgPSBmYWxzZTtcbiAgICB9XG4gICAgb3V0ICs9ICcgJyArIChpdC52YWxpZGF0ZSgkaXQpKSArICcgJztcbiAgICAkaXQuY3JlYXRlRXJyb3JzID0gdHJ1ZTtcbiAgICBpZiAoJGFsbEVycm9yc09wdGlvbikgJGl0Lm9wdHMuYWxsRXJyb3JzID0gJGFsbEVycm9yc09wdGlvbjtcbiAgICBpdC5jb21wb3NpdGVSdWxlID0gJGl0LmNvbXBvc2l0ZVJ1bGUgPSAkd2FzQ29tcG9zaXRlO1xuICAgIG91dCArPSAnIGlmICgnICsgKCRuZXh0VmFsaWQpICsgJykgeyAgICc7XG4gICAgdmFyICQkb3V0U3RhY2sgPSAkJG91dFN0YWNrIHx8IFtdO1xuICAgICQkb3V0U3RhY2sucHVzaChvdXQpO1xuICAgIG91dCA9ICcnOyAvKiBpc3RhbmJ1bCBpZ25vcmUgZWxzZSAqL1xuICAgIGlmIChpdC5jcmVhdGVFcnJvcnMgIT09IGZhbHNlKSB7XG4gICAgICBvdXQgKz0gJyB7IGtleXdvcmQ6IFxcJycgKyAoJ25vdCcpICsgJ1xcJyAsIGRhdGFQYXRoOiAoZGF0YVBhdGggfHwgXFwnXFwnKSArICcgKyAoaXQuZXJyb3JQYXRoKSArICcgLCBzY2hlbWFQYXRoOiAnICsgKGl0LnV0aWwudG9RdW90ZWRTdHJpbmcoJGVyclNjaGVtYVBhdGgpKSArICcgLCBwYXJhbXM6IHt9ICc7XG4gICAgICBpZiAoaXQub3B0cy5tZXNzYWdlcyAhPT0gZmFsc2UpIHtcbiAgICAgICAgb3V0ICs9ICcgLCBtZXNzYWdlOiBcXCdzaG91bGQgTk9UIGJlIHZhbGlkXFwnICc7XG4gICAgICB9XG4gICAgICBpZiAoaXQub3B0cy52ZXJib3NlKSB7XG4gICAgICAgIG91dCArPSAnICwgc2NoZW1hOiB2YWxpZGF0ZS5zY2hlbWEnICsgKCRzY2hlbWFQYXRoKSArICcgLCBwYXJlbnRTY2hlbWE6IHZhbGlkYXRlLnNjaGVtYScgKyAoaXQuc2NoZW1hUGF0aCkgKyAnICwgZGF0YTogJyArICgkZGF0YSkgKyAnICc7XG4gICAgICB9XG4gICAgICBvdXQgKz0gJyB9ICc7XG4gICAgfSBlbHNlIHtcbiAgICAgIG91dCArPSAnIHt9ICc7XG4gICAgfVxuICAgIHZhciBfX2VyciA9IG91dDtcbiAgICBvdXQgPSAkJG91dFN0YWNrLnBvcCgpO1xuICAgIGlmICghaXQuY29tcG9zaXRlUnVsZSAmJiAkYnJlYWtPbkVycm9yKSB7XG4gICAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgaWYgKi9cbiAgICAgIGlmIChpdC5hc3luYykge1xuICAgICAgICBvdXQgKz0gJyB0aHJvdyBuZXcgVmFsaWRhdGlvbkVycm9yKFsnICsgKF9fZXJyKSArICddKTsgJztcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIG91dCArPSAnIHZhbGlkYXRlLmVycm9ycyA9IFsnICsgKF9fZXJyKSArICddOyByZXR1cm4gZmFsc2U7ICc7XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIG91dCArPSAnIHZhciBlcnIgPSAnICsgKF9fZXJyKSArICc7ICBpZiAodkVycm9ycyA9PT0gbnVsbCkgdkVycm9ycyA9IFtlcnJdOyBlbHNlIHZFcnJvcnMucHVzaChlcnIpOyBlcnJvcnMrKzsgJztcbiAgICB9XG4gICAgb3V0ICs9ICcgfSBlbHNlIHsgIGVycm9ycyA9ICcgKyAoJGVycnMpICsgJzsgaWYgKHZFcnJvcnMgIT09IG51bGwpIHsgaWYgKCcgKyAoJGVycnMpICsgJykgdkVycm9ycy5sZW5ndGggPSAnICsgKCRlcnJzKSArICc7IGVsc2UgdkVycm9ycyA9IG51bGw7IH0gJztcbiAgICBpZiAoaXQub3B0cy5hbGxFcnJvcnMpIHtcbiAgICAgIG91dCArPSAnIH0gJztcbiAgICB9XG4gIH0gZWxzZSB7XG4gICAgb3V0ICs9ICcgIHZhciBlcnIgPSAgICc7IC8qIGlzdGFuYnVsIGlnbm9yZSBlbHNlICovXG4gICAgaWYgKGl0LmNyZWF0ZUVycm9ycyAhPT0gZmFsc2UpIHtcbiAgICAgIG91dCArPSAnIHsga2V5d29yZDogXFwnJyArICgnbm90JykgKyAnXFwnICwgZGF0YVBhdGg6IChkYXRhUGF0aCB8fCBcXCdcXCcpICsgJyArIChpdC5lcnJvclBhdGgpICsgJyAsIHNjaGVtYVBhdGg6ICcgKyAoaXQudXRpbC50b1F1b3RlZFN0cmluZygkZXJyU2NoZW1hUGF0aCkpICsgJyAsIHBhcmFtczoge30gJztcbiAgICAgIGlmIChpdC5vcHRzLm1lc3NhZ2VzICE9PSBmYWxzZSkge1xuICAgICAgICBvdXQgKz0gJyAsIG1lc3NhZ2U6IFxcJ3Nob3VsZCBOT1QgYmUgdmFsaWRcXCcgJztcbiAgICAgIH1cbiAgICAgIGlmIChpdC5vcHRzLnZlcmJvc2UpIHtcbiAgICAgICAgb3V0ICs9ICcgLCBzY2hlbWE6IHZhbGlkYXRlLnNjaGVtYScgKyAoJHNjaGVtYVBhdGgpICsgJyAsIHBhcmVudFNjaGVtYTogdmFsaWRhdGUuc2NoZW1hJyArIChpdC5zY2hlbWFQYXRoKSArICcgLCBkYXRhOiAnICsgKCRkYXRhKSArICcgJztcbiAgICAgIH1cbiAgICAgIG91dCArPSAnIH0gJztcbiAgICB9IGVsc2Uge1xuICAgICAgb3V0ICs9ICcge30gJztcbiAgICB9XG4gICAgb3V0ICs9ICc7ICBpZiAodkVycm9ycyA9PT0gbnVsbCkgdkVycm9ycyA9IFtlcnJdOyBlbHNlIHZFcnJvcnMucHVzaChlcnIpOyBlcnJvcnMrKzsgJztcbiAgICBpZiAoJGJyZWFrT25FcnJvcikge1xuICAgICAgb3V0ICs9ICcgaWYgKGZhbHNlKSB7ICc7XG4gICAgfVxuICB9XG4gIHJldHVybiBvdXQ7XG59XG4iLCAiJ3VzZSBzdHJpY3QnO1xubW9kdWxlLmV4cG9ydHMgPSBmdW5jdGlvbiBnZW5lcmF0ZV9vbmVPZihpdCwgJGtleXdvcmQsICRydWxlVHlwZSkge1xuICB2YXIgb3V0ID0gJyAnO1xuICB2YXIgJGx2bCA9IGl0LmxldmVsO1xuICB2YXIgJGRhdGFMdmwgPSBpdC5kYXRhTGV2ZWw7XG4gIHZhciAkc2NoZW1hID0gaXQuc2NoZW1hWyRrZXl3b3JkXTtcbiAgdmFyICRzY2hlbWFQYXRoID0gaXQuc2NoZW1hUGF0aCArIGl0LnV0aWwuZ2V0UHJvcGVydHkoJGtleXdvcmQpO1xuICB2YXIgJGVyclNjaGVtYVBhdGggPSBpdC5lcnJTY2hlbWFQYXRoICsgJy8nICsgJGtleXdvcmQ7XG4gIHZhciAkYnJlYWtPbkVycm9yID0gIWl0Lm9wdHMuYWxsRXJyb3JzO1xuICB2YXIgJGRhdGEgPSAnZGF0YScgKyAoJGRhdGFMdmwgfHwgJycpO1xuICB2YXIgJHZhbGlkID0gJ3ZhbGlkJyArICRsdmw7XG4gIHZhciAkZXJycyA9ICdlcnJzX18nICsgJGx2bDtcbiAgdmFyICRpdCA9IGl0LnV0aWwuY29weShpdCk7XG4gIHZhciAkY2xvc2luZ0JyYWNlcyA9ICcnO1xuICAkaXQubGV2ZWwrKztcbiAgdmFyICRuZXh0VmFsaWQgPSAndmFsaWQnICsgJGl0LmxldmVsO1xuICB2YXIgJGN1cnJlbnRCYXNlSWQgPSAkaXQuYmFzZUlkLFxuICAgICRwcmV2VmFsaWQgPSAncHJldlZhbGlkJyArICRsdmwsXG4gICAgJHBhc3NpbmdTY2hlbWFzID0gJ3Bhc3NpbmdTY2hlbWFzJyArICRsdmw7XG4gIG91dCArPSAndmFyICcgKyAoJGVycnMpICsgJyA9IGVycm9ycyAsICcgKyAoJHByZXZWYWxpZCkgKyAnID0gZmFsc2UgLCAnICsgKCR2YWxpZCkgKyAnID0gZmFsc2UgLCAnICsgKCRwYXNzaW5nU2NoZW1hcykgKyAnID0gbnVsbDsgJztcbiAgdmFyICR3YXNDb21wb3NpdGUgPSBpdC5jb21wb3NpdGVSdWxlO1xuICBpdC5jb21wb3NpdGVSdWxlID0gJGl0LmNvbXBvc2l0ZVJ1bGUgPSB0cnVlO1xuICB2YXIgYXJyMSA9ICRzY2hlbWE7XG4gIGlmIChhcnIxKSB7XG4gICAgdmFyICRzY2gsICRpID0gLTEsXG4gICAgICBsMSA9IGFycjEubGVuZ3RoIC0gMTtcbiAgICB3aGlsZSAoJGkgPCBsMSkge1xuICAgICAgJHNjaCA9IGFycjFbJGkgKz0gMV07XG4gICAgICBpZiAoKGl0Lm9wdHMuc3RyaWN0S2V5d29yZHMgPyAodHlwZW9mICRzY2ggPT0gJ29iamVjdCcgJiYgT2JqZWN0LmtleXMoJHNjaCkubGVuZ3RoID4gMCkgfHwgJHNjaCA9PT0gZmFsc2UgOiBpdC51dGlsLnNjaGVtYUhhc1J1bGVzKCRzY2gsIGl0LlJVTEVTLmFsbCkpKSB7XG4gICAgICAgICRpdC5zY2hlbWEgPSAkc2NoO1xuICAgICAgICAkaXQuc2NoZW1hUGF0aCA9ICRzY2hlbWFQYXRoICsgJ1snICsgJGkgKyAnXSc7XG4gICAgICAgICRpdC5lcnJTY2hlbWFQYXRoID0gJGVyclNjaGVtYVBhdGggKyAnLycgKyAkaTtcbiAgICAgICAgb3V0ICs9ICcgICcgKyAoaXQudmFsaWRhdGUoJGl0KSkgKyAnICc7XG4gICAgICAgICRpdC5iYXNlSWQgPSAkY3VycmVudEJhc2VJZDtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIG91dCArPSAnIHZhciAnICsgKCRuZXh0VmFsaWQpICsgJyA9IHRydWU7ICc7XG4gICAgICB9XG4gICAgICBpZiAoJGkpIHtcbiAgICAgICAgb3V0ICs9ICcgaWYgKCcgKyAoJG5leHRWYWxpZCkgKyAnICYmICcgKyAoJHByZXZWYWxpZCkgKyAnKSB7ICcgKyAoJHZhbGlkKSArICcgPSBmYWxzZTsgJyArICgkcGFzc2luZ1NjaGVtYXMpICsgJyA9IFsnICsgKCRwYXNzaW5nU2NoZW1hcykgKyAnLCAnICsgKCRpKSArICddOyB9IGVsc2UgeyAnO1xuICAgICAgICAkY2xvc2luZ0JyYWNlcyArPSAnfSc7XG4gICAgICB9XG4gICAgICBvdXQgKz0gJyBpZiAoJyArICgkbmV4dFZhbGlkKSArICcpIHsgJyArICgkdmFsaWQpICsgJyA9ICcgKyAoJHByZXZWYWxpZCkgKyAnID0gdHJ1ZTsgJyArICgkcGFzc2luZ1NjaGVtYXMpICsgJyA9ICcgKyAoJGkpICsgJzsgfSc7XG4gICAgfVxuICB9XG4gIGl0LmNvbXBvc2l0ZVJ1bGUgPSAkaXQuY29tcG9zaXRlUnVsZSA9ICR3YXNDb21wb3NpdGU7XG4gIG91dCArPSAnJyArICgkY2xvc2luZ0JyYWNlcykgKyAnaWYgKCEnICsgKCR2YWxpZCkgKyAnKSB7ICAgdmFyIGVyciA9ICAgJzsgLyogaXN0YW5idWwgaWdub3JlIGVsc2UgKi9cbiAgaWYgKGl0LmNyZWF0ZUVycm9ycyAhPT0gZmFsc2UpIHtcbiAgICBvdXQgKz0gJyB7IGtleXdvcmQ6IFxcJycgKyAoJ29uZU9mJykgKyAnXFwnICwgZGF0YVBhdGg6IChkYXRhUGF0aCB8fCBcXCdcXCcpICsgJyArIChpdC5lcnJvclBhdGgpICsgJyAsIHNjaGVtYVBhdGg6ICcgKyAoaXQudXRpbC50b1F1b3RlZFN0cmluZygkZXJyU2NoZW1hUGF0aCkpICsgJyAsIHBhcmFtczogeyBwYXNzaW5nU2NoZW1hczogJyArICgkcGFzc2luZ1NjaGVtYXMpICsgJyB9ICc7XG4gICAgaWYgKGl0Lm9wdHMubWVzc2FnZXMgIT09IGZhbHNlKSB7XG4gICAgICBvdXQgKz0gJyAsIG1lc3NhZ2U6IFxcJ3Nob3VsZCBtYXRjaCBleGFjdGx5IG9uZSBzY2hlbWEgaW4gb25lT2ZcXCcgJztcbiAgICB9XG4gICAgaWYgKGl0Lm9wdHMudmVyYm9zZSkge1xuICAgICAgb3V0ICs9ICcgLCBzY2hlbWE6IHZhbGlkYXRlLnNjaGVtYScgKyAoJHNjaGVtYVBhdGgpICsgJyAsIHBhcmVudFNjaGVtYTogdmFsaWRhdGUuc2NoZW1hJyArIChpdC5zY2hlbWFQYXRoKSArICcgLCBkYXRhOiAnICsgKCRkYXRhKSArICcgJztcbiAgICB9XG4gICAgb3V0ICs9ICcgfSAnO1xuICB9IGVsc2Uge1xuICAgIG91dCArPSAnIHt9ICc7XG4gIH1cbiAgb3V0ICs9ICc7ICBpZiAodkVycm9ycyA9PT0gbnVsbCkgdkVycm9ycyA9IFtlcnJdOyBlbHNlIHZFcnJvcnMucHVzaChlcnIpOyBlcnJvcnMrKzsgJztcbiAgaWYgKCFpdC5jb21wb3NpdGVSdWxlICYmICRicmVha09uRXJyb3IpIHtcbiAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgaWYgKi9cbiAgICBpZiAoaXQuYXN5bmMpIHtcbiAgICAgIG91dCArPSAnIHRocm93IG5ldyBWYWxpZGF0aW9uRXJyb3IodkVycm9ycyk7ICc7XG4gICAgfSBlbHNlIHtcbiAgICAgIG91dCArPSAnIHZhbGlkYXRlLmVycm9ycyA9IHZFcnJvcnM7IHJldHVybiBmYWxzZTsgJztcbiAgICB9XG4gIH1cbiAgb3V0ICs9ICd9IGVsc2UgeyAgZXJyb3JzID0gJyArICgkZXJycykgKyAnOyBpZiAodkVycm9ycyAhPT0gbnVsbCkgeyBpZiAoJyArICgkZXJycykgKyAnKSB2RXJyb3JzLmxlbmd0aCA9ICcgKyAoJGVycnMpICsgJzsgZWxzZSB2RXJyb3JzID0gbnVsbDsgfSc7XG4gIGlmIChpdC5vcHRzLmFsbEVycm9ycykge1xuICAgIG91dCArPSAnIH0gJztcbiAgfVxuICByZXR1cm4gb3V0O1xufVxuIiwgIid1c2Ugc3RyaWN0Jztcbm1vZHVsZS5leHBvcnRzID0gZnVuY3Rpb24gZ2VuZXJhdGVfcGF0dGVybihpdCwgJGtleXdvcmQsICRydWxlVHlwZSkge1xuICB2YXIgb3V0ID0gJyAnO1xuICB2YXIgJGx2bCA9IGl0LmxldmVsO1xuICB2YXIgJGRhdGFMdmwgPSBpdC5kYXRhTGV2ZWw7XG4gIHZhciAkc2NoZW1hID0gaXQuc2NoZW1hWyRrZXl3b3JkXTtcbiAgdmFyICRzY2hlbWFQYXRoID0gaXQuc2NoZW1hUGF0aCArIGl0LnV0aWwuZ2V0UHJvcGVydHkoJGtleXdvcmQpO1xuICB2YXIgJGVyclNjaGVtYVBhdGggPSBpdC5lcnJTY2hlbWFQYXRoICsgJy8nICsgJGtleXdvcmQ7XG4gIHZhciAkYnJlYWtPbkVycm9yID0gIWl0Lm9wdHMuYWxsRXJyb3JzO1xuICB2YXIgJGRhdGEgPSAnZGF0YScgKyAoJGRhdGFMdmwgfHwgJycpO1xuICB2YXIgJGlzRGF0YSA9IGl0Lm9wdHMuJGRhdGEgJiYgJHNjaGVtYSAmJiAkc2NoZW1hLiRkYXRhLFxuICAgICRzY2hlbWFWYWx1ZTtcbiAgaWYgKCRpc0RhdGEpIHtcbiAgICBvdXQgKz0gJyB2YXIgc2NoZW1hJyArICgkbHZsKSArICcgPSAnICsgKGl0LnV0aWwuZ2V0RGF0YSgkc2NoZW1hLiRkYXRhLCAkZGF0YUx2bCwgaXQuZGF0YVBhdGhBcnIpKSArICc7ICc7XG4gICAgJHNjaGVtYVZhbHVlID0gJ3NjaGVtYScgKyAkbHZsO1xuICB9IGVsc2Uge1xuICAgICRzY2hlbWFWYWx1ZSA9ICRzY2hlbWE7XG4gIH1cbiAgdmFyICRyZWdleHAgPSAkaXNEYXRhID8gJyhuZXcgUmVnRXhwKCcgKyAkc2NoZW1hVmFsdWUgKyAnKSknIDogaXQudXNlUGF0dGVybigkc2NoZW1hKTtcbiAgb3V0ICs9ICdpZiAoICc7XG4gIGlmICgkaXNEYXRhKSB7XG4gICAgb3V0ICs9ICcgKCcgKyAoJHNjaGVtYVZhbHVlKSArICcgIT09IHVuZGVmaW5lZCAmJiB0eXBlb2YgJyArICgkc2NoZW1hVmFsdWUpICsgJyAhPSBcXCdzdHJpbmdcXCcpIHx8ICc7XG4gIH1cbiAgb3V0ICs9ICcgIScgKyAoJHJlZ2V4cCkgKyAnLnRlc3QoJyArICgkZGF0YSkgKyAnKSApIHsgICAnO1xuICB2YXIgJCRvdXRTdGFjayA9ICQkb3V0U3RhY2sgfHwgW107XG4gICQkb3V0U3RhY2sucHVzaChvdXQpO1xuICBvdXQgPSAnJzsgLyogaXN0YW5idWwgaWdub3JlIGVsc2UgKi9cbiAgaWYgKGl0LmNyZWF0ZUVycm9ycyAhPT0gZmFsc2UpIHtcbiAgICBvdXQgKz0gJyB7IGtleXdvcmQ6IFxcJycgKyAoJ3BhdHRlcm4nKSArICdcXCcgLCBkYXRhUGF0aDogKGRhdGFQYXRoIHx8IFxcJ1xcJykgKyAnICsgKGl0LmVycm9yUGF0aCkgKyAnICwgc2NoZW1hUGF0aDogJyArIChpdC51dGlsLnRvUXVvdGVkU3RyaW5nKCRlcnJTY2hlbWFQYXRoKSkgKyAnICwgcGFyYW1zOiB7IHBhdHRlcm46ICAnO1xuICAgIGlmICgkaXNEYXRhKSB7XG4gICAgICBvdXQgKz0gJycgKyAoJHNjaGVtYVZhbHVlKTtcbiAgICB9IGVsc2Uge1xuICAgICAgb3V0ICs9ICcnICsgKGl0LnV0aWwudG9RdW90ZWRTdHJpbmcoJHNjaGVtYSkpO1xuICAgIH1cbiAgICBvdXQgKz0gJyAgfSAnO1xuICAgIGlmIChpdC5vcHRzLm1lc3NhZ2VzICE9PSBmYWxzZSkge1xuICAgICAgb3V0ICs9ICcgLCBtZXNzYWdlOiBcXCdzaG91bGQgbWF0Y2ggcGF0dGVybiBcIic7XG4gICAgICBpZiAoJGlzRGF0YSkge1xuICAgICAgICBvdXQgKz0gJ1xcJyArICcgKyAoJHNjaGVtYVZhbHVlKSArICcgKyBcXCcnO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgb3V0ICs9ICcnICsgKGl0LnV0aWwuZXNjYXBlUXVvdGVzKCRzY2hlbWEpKTtcbiAgICAgIH1cbiAgICAgIG91dCArPSAnXCJcXCcgJztcbiAgICB9XG4gICAgaWYgKGl0Lm9wdHMudmVyYm9zZSkge1xuICAgICAgb3V0ICs9ICcgLCBzY2hlbWE6ICAnO1xuICAgICAgaWYgKCRpc0RhdGEpIHtcbiAgICAgICAgb3V0ICs9ICd2YWxpZGF0ZS5zY2hlbWEnICsgKCRzY2hlbWFQYXRoKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIG91dCArPSAnJyArIChpdC51dGlsLnRvUXVvdGVkU3RyaW5nKCRzY2hlbWEpKTtcbiAgICAgIH1cbiAgICAgIG91dCArPSAnICAgICAgICAgLCBwYXJlbnRTY2hlbWE6IHZhbGlkYXRlLnNjaGVtYScgKyAoaXQuc2NoZW1hUGF0aCkgKyAnICwgZGF0YTogJyArICgkZGF0YSkgKyAnICc7XG4gICAgfVxuICAgIG91dCArPSAnIH0gJztcbiAgfSBlbHNlIHtcbiAgICBvdXQgKz0gJyB7fSAnO1xuICB9XG4gIHZhciBfX2VyciA9IG91dDtcbiAgb3V0ID0gJCRvdXRTdGFjay5wb3AoKTtcbiAgaWYgKCFpdC5jb21wb3NpdGVSdWxlICYmICRicmVha09uRXJyb3IpIHtcbiAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgaWYgKi9cbiAgICBpZiAoaXQuYXN5bmMpIHtcbiAgICAgIG91dCArPSAnIHRocm93IG5ldyBWYWxpZGF0aW9uRXJyb3IoWycgKyAoX19lcnIpICsgJ10pOyAnO1xuICAgIH0gZWxzZSB7XG4gICAgICBvdXQgKz0gJyB2YWxpZGF0ZS5lcnJvcnMgPSBbJyArIChfX2VycikgKyAnXTsgcmV0dXJuIGZhbHNlOyAnO1xuICAgIH1cbiAgfSBlbHNlIHtcbiAgICBvdXQgKz0gJyB2YXIgZXJyID0gJyArIChfX2VycikgKyAnOyAgaWYgKHZFcnJvcnMgPT09IG51bGwpIHZFcnJvcnMgPSBbZXJyXTsgZWxzZSB2RXJyb3JzLnB1c2goZXJyKTsgZXJyb3JzKys7ICc7XG4gIH1cbiAgb3V0ICs9ICd9ICc7XG4gIGlmICgkYnJlYWtPbkVycm9yKSB7XG4gICAgb3V0ICs9ICcgZWxzZSB7ICc7XG4gIH1cbiAgcmV0dXJuIG91dDtcbn1cbiIsICIndXNlIHN0cmljdCc7XG5tb2R1bGUuZXhwb3J0cyA9IGZ1bmN0aW9uIGdlbmVyYXRlX3Byb3BlcnRpZXMoaXQsICRrZXl3b3JkLCAkcnVsZVR5cGUpIHtcbiAgdmFyIG91dCA9ICcgJztcbiAgdmFyICRsdmwgPSBpdC5sZXZlbDtcbiAgdmFyICRkYXRhTHZsID0gaXQuZGF0YUxldmVsO1xuICB2YXIgJHNjaGVtYSA9IGl0LnNjaGVtYVska2V5d29yZF07XG4gIHZhciAkc2NoZW1hUGF0aCA9IGl0LnNjaGVtYVBhdGggKyBpdC51dGlsLmdldFByb3BlcnR5KCRrZXl3b3JkKTtcbiAgdmFyICRlcnJTY2hlbWFQYXRoID0gaXQuZXJyU2NoZW1hUGF0aCArICcvJyArICRrZXl3b3JkO1xuICB2YXIgJGJyZWFrT25FcnJvciA9ICFpdC5vcHRzLmFsbEVycm9ycztcbiAgdmFyICRkYXRhID0gJ2RhdGEnICsgKCRkYXRhTHZsIHx8ICcnKTtcbiAgdmFyICRlcnJzID0gJ2VycnNfXycgKyAkbHZsO1xuICB2YXIgJGl0ID0gaXQudXRpbC5jb3B5KGl0KTtcbiAgdmFyICRjbG9zaW5nQnJhY2VzID0gJyc7XG4gICRpdC5sZXZlbCsrO1xuICB2YXIgJG5leHRWYWxpZCA9ICd2YWxpZCcgKyAkaXQubGV2ZWw7XG4gIHZhciAka2V5ID0gJ2tleScgKyAkbHZsLFxuICAgICRpZHggPSAnaWR4JyArICRsdmwsXG4gICAgJGRhdGFOeHQgPSAkaXQuZGF0YUxldmVsID0gaXQuZGF0YUxldmVsICsgMSxcbiAgICAkbmV4dERhdGEgPSAnZGF0YScgKyAkZGF0YU54dCxcbiAgICAkZGF0YVByb3BlcnRpZXMgPSAnZGF0YVByb3BlcnRpZXMnICsgJGx2bDtcbiAgdmFyICRzY2hlbWFLZXlzID0gT2JqZWN0LmtleXMoJHNjaGVtYSB8fCB7fSkuZmlsdGVyKG5vdFByb3RvKSxcbiAgICAkcFByb3BlcnRpZXMgPSBpdC5zY2hlbWEucGF0dGVyblByb3BlcnRpZXMgfHwge30sXG4gICAgJHBQcm9wZXJ0eUtleXMgPSBPYmplY3Qua2V5cygkcFByb3BlcnRpZXMpLmZpbHRlcihub3RQcm90byksXG4gICAgJGFQcm9wZXJ0aWVzID0gaXQuc2NoZW1hLmFkZGl0aW9uYWxQcm9wZXJ0aWVzLFxuICAgICRzb21lUHJvcGVydGllcyA9ICRzY2hlbWFLZXlzLmxlbmd0aCB8fCAkcFByb3BlcnR5S2V5cy5sZW5ndGgsXG4gICAgJG5vQWRkaXRpb25hbCA9ICRhUHJvcGVydGllcyA9PT0gZmFsc2UsXG4gICAgJGFkZGl0aW9uYWxJc1NjaGVtYSA9IHR5cGVvZiAkYVByb3BlcnRpZXMgPT0gJ29iamVjdCcgJiYgT2JqZWN0LmtleXMoJGFQcm9wZXJ0aWVzKS5sZW5ndGgsXG4gICAgJHJlbW92ZUFkZGl0aW9uYWwgPSBpdC5vcHRzLnJlbW92ZUFkZGl0aW9uYWwsXG4gICAgJGNoZWNrQWRkaXRpb25hbCA9ICRub0FkZGl0aW9uYWwgfHwgJGFkZGl0aW9uYWxJc1NjaGVtYSB8fCAkcmVtb3ZlQWRkaXRpb25hbCxcbiAgICAkb3duUHJvcGVydGllcyA9IGl0Lm9wdHMub3duUHJvcGVydGllcyxcbiAgICAkY3VycmVudEJhc2VJZCA9IGl0LmJhc2VJZDtcbiAgdmFyICRyZXF1aXJlZCA9IGl0LnNjaGVtYS5yZXF1aXJlZDtcbiAgaWYgKCRyZXF1aXJlZCAmJiAhKGl0Lm9wdHMuJGRhdGEgJiYgJHJlcXVpcmVkLiRkYXRhKSAmJiAkcmVxdWlyZWQubGVuZ3RoIDwgaXQub3B0cy5sb29wUmVxdWlyZWQpIHtcbiAgICB2YXIgJHJlcXVpcmVkSGFzaCA9IGl0LnV0aWwudG9IYXNoKCRyZXF1aXJlZCk7XG4gIH1cblxuICBmdW5jdGlvbiBub3RQcm90byhwKSB7XG4gICAgcmV0dXJuIHAgIT09ICdfX3Byb3RvX18nO1xuICB9XG4gIG91dCArPSAndmFyICcgKyAoJGVycnMpICsgJyA9IGVycm9yczt2YXIgJyArICgkbmV4dFZhbGlkKSArICcgPSB0cnVlOyc7XG4gIGlmICgkb3duUHJvcGVydGllcykge1xuICAgIG91dCArPSAnIHZhciAnICsgKCRkYXRhUHJvcGVydGllcykgKyAnID0gdW5kZWZpbmVkOyc7XG4gIH1cbiAgaWYgKCRjaGVja0FkZGl0aW9uYWwpIHtcbiAgICBpZiAoJG93blByb3BlcnRpZXMpIHtcbiAgICAgIG91dCArPSAnICcgKyAoJGRhdGFQcm9wZXJ0aWVzKSArICcgPSAnICsgKCRkYXRhUHJvcGVydGllcykgKyAnIHx8IE9iamVjdC5rZXlzKCcgKyAoJGRhdGEpICsgJyk7IGZvciAodmFyICcgKyAoJGlkeCkgKyAnPTA7ICcgKyAoJGlkeCkgKyAnPCcgKyAoJGRhdGFQcm9wZXJ0aWVzKSArICcubGVuZ3RoOyAnICsgKCRpZHgpICsgJysrKSB7IHZhciAnICsgKCRrZXkpICsgJyA9ICcgKyAoJGRhdGFQcm9wZXJ0aWVzKSArICdbJyArICgkaWR4KSArICddOyAnO1xuICAgIH0gZWxzZSB7XG4gICAgICBvdXQgKz0gJyBmb3IgKHZhciAnICsgKCRrZXkpICsgJyBpbiAnICsgKCRkYXRhKSArICcpIHsgJztcbiAgICB9XG4gICAgaWYgKCRzb21lUHJvcGVydGllcykge1xuICAgICAgb3V0ICs9ICcgdmFyIGlzQWRkaXRpb25hbCcgKyAoJGx2bCkgKyAnID0gIShmYWxzZSAnO1xuICAgICAgaWYgKCRzY2hlbWFLZXlzLmxlbmd0aCkge1xuICAgICAgICBpZiAoJHNjaGVtYUtleXMubGVuZ3RoID4gOCkge1xuICAgICAgICAgIG91dCArPSAnIHx8IHZhbGlkYXRlLnNjaGVtYScgKyAoJHNjaGVtYVBhdGgpICsgJy5oYXNPd25Qcm9wZXJ0eSgnICsgKCRrZXkpICsgJykgJztcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICB2YXIgYXJyMSA9ICRzY2hlbWFLZXlzO1xuICAgICAgICAgIGlmIChhcnIxKSB7XG4gICAgICAgICAgICB2YXIgJHByb3BlcnR5S2V5LCBpMSA9IC0xLFxuICAgICAgICAgICAgICBsMSA9IGFycjEubGVuZ3RoIC0gMTtcbiAgICAgICAgICAgIHdoaWxlIChpMSA8IGwxKSB7XG4gICAgICAgICAgICAgICRwcm9wZXJ0eUtleSA9IGFycjFbaTEgKz0gMV07XG4gICAgICAgICAgICAgIG91dCArPSAnIHx8ICcgKyAoJGtleSkgKyAnID09ICcgKyAoaXQudXRpbC50b1F1b3RlZFN0cmluZygkcHJvcGVydHlLZXkpKSArICcgJztcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIGlmICgkcFByb3BlcnR5S2V5cy5sZW5ndGgpIHtcbiAgICAgICAgdmFyIGFycjIgPSAkcFByb3BlcnR5S2V5cztcbiAgICAgICAgaWYgKGFycjIpIHtcbiAgICAgICAgICB2YXIgJHBQcm9wZXJ0eSwgJGkgPSAtMSxcbiAgICAgICAgICAgIGwyID0gYXJyMi5sZW5ndGggLSAxO1xuICAgICAgICAgIHdoaWxlICgkaSA8IGwyKSB7XG4gICAgICAgICAgICAkcFByb3BlcnR5ID0gYXJyMlskaSArPSAxXTtcbiAgICAgICAgICAgIG91dCArPSAnIHx8ICcgKyAoaXQudXNlUGF0dGVybigkcFByb3BlcnR5KSkgKyAnLnRlc3QoJyArICgka2V5KSArICcpICc7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgICBvdXQgKz0gJyApOyBpZiAoaXNBZGRpdGlvbmFsJyArICgkbHZsKSArICcpIHsgJztcbiAgICB9XG4gICAgaWYgKCRyZW1vdmVBZGRpdGlvbmFsID09ICdhbGwnKSB7XG4gICAgICBvdXQgKz0gJyBkZWxldGUgJyArICgkZGF0YSkgKyAnWycgKyAoJGtleSkgKyAnXTsgJztcbiAgICB9IGVsc2Uge1xuICAgICAgdmFyICRjdXJyZW50RXJyb3JQYXRoID0gaXQuZXJyb3JQYXRoO1xuICAgICAgdmFyICRhZGRpdGlvbmFsUHJvcGVydHkgPSAnXFwnICsgJyArICRrZXkgKyAnICsgXFwnJztcbiAgICAgIGlmIChpdC5vcHRzLl9lcnJvckRhdGFQYXRoUHJvcGVydHkpIHtcbiAgICAgICAgaXQuZXJyb3JQYXRoID0gaXQudXRpbC5nZXRQYXRoRXhwcihpdC5lcnJvclBhdGgsICRrZXksIGl0Lm9wdHMuanNvblBvaW50ZXJzKTtcbiAgICAgIH1cbiAgICAgIGlmICgkbm9BZGRpdGlvbmFsKSB7XG4gICAgICAgIGlmICgkcmVtb3ZlQWRkaXRpb25hbCkge1xuICAgICAgICAgIG91dCArPSAnIGRlbGV0ZSAnICsgKCRkYXRhKSArICdbJyArICgka2V5KSArICddOyAnO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIG91dCArPSAnICcgKyAoJG5leHRWYWxpZCkgKyAnID0gZmFsc2U7ICc7XG4gICAgICAgICAgdmFyICRjdXJyRXJyU2NoZW1hUGF0aCA9ICRlcnJTY2hlbWFQYXRoO1xuICAgICAgICAgICRlcnJTY2hlbWFQYXRoID0gaXQuZXJyU2NoZW1hUGF0aCArICcvYWRkaXRpb25hbFByb3BlcnRpZXMnO1xuICAgICAgICAgIHZhciAkJG91dFN0YWNrID0gJCRvdXRTdGFjayB8fCBbXTtcbiAgICAgICAgICAkJG91dFN0YWNrLnB1c2gob3V0KTtcbiAgICAgICAgICBvdXQgPSAnJzsgLyogaXN0YW5idWwgaWdub3JlIGVsc2UgKi9cbiAgICAgICAgICBpZiAoaXQuY3JlYXRlRXJyb3JzICE9PSBmYWxzZSkge1xuICAgICAgICAgICAgb3V0ICs9ICcgeyBrZXl3b3JkOiBcXCcnICsgKCdhZGRpdGlvbmFsUHJvcGVydGllcycpICsgJ1xcJyAsIGRhdGFQYXRoOiAoZGF0YVBhdGggfHwgXFwnXFwnKSArICcgKyAoaXQuZXJyb3JQYXRoKSArICcgLCBzY2hlbWFQYXRoOiAnICsgKGl0LnV0aWwudG9RdW90ZWRTdHJpbmcoJGVyclNjaGVtYVBhdGgpKSArICcgLCBwYXJhbXM6IHsgYWRkaXRpb25hbFByb3BlcnR5OiBcXCcnICsgKCRhZGRpdGlvbmFsUHJvcGVydHkpICsgJ1xcJyB9ICc7XG4gICAgICAgICAgICBpZiAoaXQub3B0cy5tZXNzYWdlcyAhPT0gZmFsc2UpIHtcbiAgICAgICAgICAgICAgb3V0ICs9ICcgLCBtZXNzYWdlOiBcXCcnO1xuICAgICAgICAgICAgICBpZiAoaXQub3B0cy5fZXJyb3JEYXRhUGF0aFByb3BlcnR5KSB7XG4gICAgICAgICAgICAgICAgb3V0ICs9ICdpcyBhbiBpbnZhbGlkIGFkZGl0aW9uYWwgcHJvcGVydHknO1xuICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIG91dCArPSAnc2hvdWxkIE5PVCBoYXZlIGFkZGl0aW9uYWwgcHJvcGVydGllcyc7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgb3V0ICs9ICdcXCcgJztcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmIChpdC5vcHRzLnZlcmJvc2UpIHtcbiAgICAgICAgICAgICAgb3V0ICs9ICcgLCBzY2hlbWE6IGZhbHNlICwgcGFyZW50U2NoZW1hOiB2YWxpZGF0ZS5zY2hlbWEnICsgKGl0LnNjaGVtYVBhdGgpICsgJyAsIGRhdGE6ICcgKyAoJGRhdGEpICsgJyAnO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgb3V0ICs9ICcgfSAnO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBvdXQgKz0gJyB7fSAnO1xuICAgICAgICAgIH1cbiAgICAgICAgICB2YXIgX19lcnIgPSBvdXQ7XG4gICAgICAgICAgb3V0ID0gJCRvdXRTdGFjay5wb3AoKTtcbiAgICAgICAgICBpZiAoIWl0LmNvbXBvc2l0ZVJ1bGUgJiYgJGJyZWFrT25FcnJvcikge1xuICAgICAgICAgICAgLyogaXN0YW5idWwgaWdub3JlIGlmICovXG4gICAgICAgICAgICBpZiAoaXQuYXN5bmMpIHtcbiAgICAgICAgICAgICAgb3V0ICs9ICcgdGhyb3cgbmV3IFZhbGlkYXRpb25FcnJvcihbJyArIChfX2VycikgKyAnXSk7ICc7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICBvdXQgKz0gJyB2YWxpZGF0ZS5lcnJvcnMgPSBbJyArIChfX2VycikgKyAnXTsgcmV0dXJuIGZhbHNlOyAnO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBvdXQgKz0gJyB2YXIgZXJyID0gJyArIChfX2VycikgKyAnOyAgaWYgKHZFcnJvcnMgPT09IG51bGwpIHZFcnJvcnMgPSBbZXJyXTsgZWxzZSB2RXJyb3JzLnB1c2goZXJyKTsgZXJyb3JzKys7ICc7XG4gICAgICAgICAgfVxuICAgICAgICAgICRlcnJTY2hlbWFQYXRoID0gJGN1cnJFcnJTY2hlbWFQYXRoO1xuICAgICAgICAgIGlmICgkYnJlYWtPbkVycm9yKSB7XG4gICAgICAgICAgICBvdXQgKz0gJyBicmVhazsgJztcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSBpZiAoJGFkZGl0aW9uYWxJc1NjaGVtYSkge1xuICAgICAgICBpZiAoJHJlbW92ZUFkZGl0aW9uYWwgPT0gJ2ZhaWxpbmcnKSB7XG4gICAgICAgICAgb3V0ICs9ICcgdmFyICcgKyAoJGVycnMpICsgJyA9IGVycm9yczsgICc7XG4gICAgICAgICAgdmFyICR3YXNDb21wb3NpdGUgPSBpdC5jb21wb3NpdGVSdWxlO1xuICAgICAgICAgIGl0LmNvbXBvc2l0ZVJ1bGUgPSAkaXQuY29tcG9zaXRlUnVsZSA9IHRydWU7XG4gICAgICAgICAgJGl0LnNjaGVtYSA9ICRhUHJvcGVydGllcztcbiAgICAgICAgICAkaXQuc2NoZW1hUGF0aCA9IGl0LnNjaGVtYVBhdGggKyAnLmFkZGl0aW9uYWxQcm9wZXJ0aWVzJztcbiAgICAgICAgICAkaXQuZXJyU2NoZW1hUGF0aCA9IGl0LmVyclNjaGVtYVBhdGggKyAnL2FkZGl0aW9uYWxQcm9wZXJ0aWVzJztcbiAgICAgICAgICAkaXQuZXJyb3JQYXRoID0gaXQub3B0cy5fZXJyb3JEYXRhUGF0aFByb3BlcnR5ID8gaXQuZXJyb3JQYXRoIDogaXQudXRpbC5nZXRQYXRoRXhwcihpdC5lcnJvclBhdGgsICRrZXksIGl0Lm9wdHMuanNvblBvaW50ZXJzKTtcbiAgICAgICAgICB2YXIgJHBhc3NEYXRhID0gJGRhdGEgKyAnWycgKyAka2V5ICsgJ10nO1xuICAgICAgICAgICRpdC5kYXRhUGF0aEFyclskZGF0YU54dF0gPSAka2V5O1xuICAgICAgICAgIHZhciAkY29kZSA9IGl0LnZhbGlkYXRlKCRpdCk7XG4gICAgICAgICAgJGl0LmJhc2VJZCA9ICRjdXJyZW50QmFzZUlkO1xuICAgICAgICAgIGlmIChpdC51dGlsLnZhck9jY3VyZW5jZXMoJGNvZGUsICRuZXh0RGF0YSkgPCAyKSB7XG4gICAgICAgICAgICBvdXQgKz0gJyAnICsgKGl0LnV0aWwudmFyUmVwbGFjZSgkY29kZSwgJG5leHREYXRhLCAkcGFzc0RhdGEpKSArICcgJztcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgb3V0ICs9ICcgdmFyICcgKyAoJG5leHREYXRhKSArICcgPSAnICsgKCRwYXNzRGF0YSkgKyAnOyAnICsgKCRjb2RlKSArICcgJztcbiAgICAgICAgICB9XG4gICAgICAgICAgb3V0ICs9ICcgaWYgKCEnICsgKCRuZXh0VmFsaWQpICsgJykgeyBlcnJvcnMgPSAnICsgKCRlcnJzKSArICc7IGlmICh2YWxpZGF0ZS5lcnJvcnMgIT09IG51bGwpIHsgaWYgKGVycm9ycykgdmFsaWRhdGUuZXJyb3JzLmxlbmd0aCA9IGVycm9yczsgZWxzZSB2YWxpZGF0ZS5lcnJvcnMgPSBudWxsOyB9IGRlbGV0ZSAnICsgKCRkYXRhKSArICdbJyArICgka2V5KSArICddOyB9ICAnO1xuICAgICAgICAgIGl0LmNvbXBvc2l0ZVJ1bGUgPSAkaXQuY29tcG9zaXRlUnVsZSA9ICR3YXNDb21wb3NpdGU7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgJGl0LnNjaGVtYSA9ICRhUHJvcGVydGllcztcbiAgICAgICAgICAkaXQuc2NoZW1hUGF0aCA9IGl0LnNjaGVtYVBhdGggKyAnLmFkZGl0aW9uYWxQcm9wZXJ0aWVzJztcbiAgICAgICAgICAkaXQuZXJyU2NoZW1hUGF0aCA9IGl0LmVyclNjaGVtYVBhdGggKyAnL2FkZGl0aW9uYWxQcm9wZXJ0aWVzJztcbiAgICAgICAgICAkaXQuZXJyb3JQYXRoID0gaXQub3B0cy5fZXJyb3JEYXRhUGF0aFByb3BlcnR5ID8gaXQuZXJyb3JQYXRoIDogaXQudXRpbC5nZXRQYXRoRXhwcihpdC5lcnJvclBhdGgsICRrZXksIGl0Lm9wdHMuanNvblBvaW50ZXJzKTtcbiAgICAgICAgICB2YXIgJHBhc3NEYXRhID0gJGRhdGEgKyAnWycgKyAka2V5ICsgJ10nO1xuICAgICAgICAgICRpdC5kYXRhUGF0aEFyclskZGF0YU54dF0gPSAka2V5O1xuICAgICAgICAgIHZhciAkY29kZSA9IGl0LnZhbGlkYXRlKCRpdCk7XG4gICAgICAgICAgJGl0LmJhc2VJZCA9ICRjdXJyZW50QmFzZUlkO1xuICAgICAgICAgIGlmIChpdC51dGlsLnZhck9jY3VyZW5jZXMoJGNvZGUsICRuZXh0RGF0YSkgPCAyKSB7XG4gICAgICAgICAgICBvdXQgKz0gJyAnICsgKGl0LnV0aWwudmFyUmVwbGFjZSgkY29kZSwgJG5leHREYXRhLCAkcGFzc0RhdGEpKSArICcgJztcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgb3V0ICs9ICcgdmFyICcgKyAoJG5leHREYXRhKSArICcgPSAnICsgKCRwYXNzRGF0YSkgKyAnOyAnICsgKCRjb2RlKSArICcgJztcbiAgICAgICAgICB9XG4gICAgICAgICAgaWYgKCRicmVha09uRXJyb3IpIHtcbiAgICAgICAgICAgIG91dCArPSAnIGlmICghJyArICgkbmV4dFZhbGlkKSArICcpIGJyZWFrOyAnO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgaXQuZXJyb3JQYXRoID0gJGN1cnJlbnRFcnJvclBhdGg7XG4gICAgfVxuICAgIGlmICgkc29tZVByb3BlcnRpZXMpIHtcbiAgICAgIG91dCArPSAnIH0gJztcbiAgICB9XG4gICAgb3V0ICs9ICcgfSAgJztcbiAgICBpZiAoJGJyZWFrT25FcnJvcikge1xuICAgICAgb3V0ICs9ICcgaWYgKCcgKyAoJG5leHRWYWxpZCkgKyAnKSB7ICc7XG4gICAgICAkY2xvc2luZ0JyYWNlcyArPSAnfSc7XG4gICAgfVxuICB9XG4gIHZhciAkdXNlRGVmYXVsdHMgPSBpdC5vcHRzLnVzZURlZmF1bHRzICYmICFpdC5jb21wb3NpdGVSdWxlO1xuICBpZiAoJHNjaGVtYUtleXMubGVuZ3RoKSB7XG4gICAgdmFyIGFycjMgPSAkc2NoZW1hS2V5cztcbiAgICBpZiAoYXJyMykge1xuICAgICAgdmFyICRwcm9wZXJ0eUtleSwgaTMgPSAtMSxcbiAgICAgICAgbDMgPSBhcnIzLmxlbmd0aCAtIDE7XG4gICAgICB3aGlsZSAoaTMgPCBsMykge1xuICAgICAgICAkcHJvcGVydHlLZXkgPSBhcnIzW2kzICs9IDFdO1xuICAgICAgICB2YXIgJHNjaCA9ICRzY2hlbWFbJHByb3BlcnR5S2V5XTtcbiAgICAgICAgaWYgKChpdC5vcHRzLnN0cmljdEtleXdvcmRzID8gKHR5cGVvZiAkc2NoID09ICdvYmplY3QnICYmIE9iamVjdC5rZXlzKCRzY2gpLmxlbmd0aCA+IDApIHx8ICRzY2ggPT09IGZhbHNlIDogaXQudXRpbC5zY2hlbWFIYXNSdWxlcygkc2NoLCBpdC5SVUxFUy5hbGwpKSkge1xuICAgICAgICAgIHZhciAkcHJvcCA9IGl0LnV0aWwuZ2V0UHJvcGVydHkoJHByb3BlcnR5S2V5KSxcbiAgICAgICAgICAgICRwYXNzRGF0YSA9ICRkYXRhICsgJHByb3AsXG4gICAgICAgICAgICAkaGFzRGVmYXVsdCA9ICR1c2VEZWZhdWx0cyAmJiAkc2NoLmRlZmF1bHQgIT09IHVuZGVmaW5lZDtcbiAgICAgICAgICAkaXQuc2NoZW1hID0gJHNjaDtcbiAgICAgICAgICAkaXQuc2NoZW1hUGF0aCA9ICRzY2hlbWFQYXRoICsgJHByb3A7XG4gICAgICAgICAgJGl0LmVyclNjaGVtYVBhdGggPSAkZXJyU2NoZW1hUGF0aCArICcvJyArIGl0LnV0aWwuZXNjYXBlRnJhZ21lbnQoJHByb3BlcnR5S2V5KTtcbiAgICAgICAgICAkaXQuZXJyb3JQYXRoID0gaXQudXRpbC5nZXRQYXRoKGl0LmVycm9yUGF0aCwgJHByb3BlcnR5S2V5LCBpdC5vcHRzLmpzb25Qb2ludGVycyk7XG4gICAgICAgICAgJGl0LmRhdGFQYXRoQXJyWyRkYXRhTnh0XSA9IGl0LnV0aWwudG9RdW90ZWRTdHJpbmcoJHByb3BlcnR5S2V5KTtcbiAgICAgICAgICB2YXIgJGNvZGUgPSBpdC52YWxpZGF0ZSgkaXQpO1xuICAgICAgICAgICRpdC5iYXNlSWQgPSAkY3VycmVudEJhc2VJZDtcbiAgICAgICAgICBpZiAoaXQudXRpbC52YXJPY2N1cmVuY2VzKCRjb2RlLCAkbmV4dERhdGEpIDwgMikge1xuICAgICAgICAgICAgJGNvZGUgPSBpdC51dGlsLnZhclJlcGxhY2UoJGNvZGUsICRuZXh0RGF0YSwgJHBhc3NEYXRhKTtcbiAgICAgICAgICAgIHZhciAkdXNlRGF0YSA9ICRwYXNzRGF0YTtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdmFyICR1c2VEYXRhID0gJG5leHREYXRhO1xuICAgICAgICAgICAgb3V0ICs9ICcgdmFyICcgKyAoJG5leHREYXRhKSArICcgPSAnICsgKCRwYXNzRGF0YSkgKyAnOyAnO1xuICAgICAgICAgIH1cbiAgICAgICAgICBpZiAoJGhhc0RlZmF1bHQpIHtcbiAgICAgICAgICAgIG91dCArPSAnICcgKyAoJGNvZGUpICsgJyAnO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBpZiAoJHJlcXVpcmVkSGFzaCAmJiAkcmVxdWlyZWRIYXNoWyRwcm9wZXJ0eUtleV0pIHtcbiAgICAgICAgICAgICAgb3V0ICs9ICcgaWYgKCAnICsgKCR1c2VEYXRhKSArICcgPT09IHVuZGVmaW5lZCAnO1xuICAgICAgICAgICAgICBpZiAoJG93blByb3BlcnRpZXMpIHtcbiAgICAgICAgICAgICAgICBvdXQgKz0gJyB8fCAhIE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbCgnICsgKCRkYXRhKSArICcsIFxcJycgKyAoaXQudXRpbC5lc2NhcGVRdW90ZXMoJHByb3BlcnR5S2V5KSkgKyAnXFwnKSAnO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIG91dCArPSAnKSB7ICcgKyAoJG5leHRWYWxpZCkgKyAnID0gZmFsc2U7ICc7XG4gICAgICAgICAgICAgIHZhciAkY3VycmVudEVycm9yUGF0aCA9IGl0LmVycm9yUGF0aCxcbiAgICAgICAgICAgICAgICAkY3VyckVyclNjaGVtYVBhdGggPSAkZXJyU2NoZW1hUGF0aCxcbiAgICAgICAgICAgICAgICAkbWlzc2luZ1Byb3BlcnR5ID0gaXQudXRpbC5lc2NhcGVRdW90ZXMoJHByb3BlcnR5S2V5KTtcbiAgICAgICAgICAgICAgaWYgKGl0Lm9wdHMuX2Vycm9yRGF0YVBhdGhQcm9wZXJ0eSkge1xuICAgICAgICAgICAgICAgIGl0LmVycm9yUGF0aCA9IGl0LnV0aWwuZ2V0UGF0aCgkY3VycmVudEVycm9yUGF0aCwgJHByb3BlcnR5S2V5LCBpdC5vcHRzLmpzb25Qb2ludGVycyk7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgJGVyclNjaGVtYVBhdGggPSBpdC5lcnJTY2hlbWFQYXRoICsgJy9yZXF1aXJlZCc7XG4gICAgICAgICAgICAgIHZhciAkJG91dFN0YWNrID0gJCRvdXRTdGFjayB8fCBbXTtcbiAgICAgICAgICAgICAgJCRvdXRTdGFjay5wdXNoKG91dCk7XG4gICAgICAgICAgICAgIG91dCA9ICcnOyAvKiBpc3RhbmJ1bCBpZ25vcmUgZWxzZSAqL1xuICAgICAgICAgICAgICBpZiAoaXQuY3JlYXRlRXJyb3JzICE9PSBmYWxzZSkge1xuICAgICAgICAgICAgICAgIG91dCArPSAnIHsga2V5d29yZDogXFwnJyArICgncmVxdWlyZWQnKSArICdcXCcgLCBkYXRhUGF0aDogKGRhdGFQYXRoIHx8IFxcJ1xcJykgKyAnICsgKGl0LmVycm9yUGF0aCkgKyAnICwgc2NoZW1hUGF0aDogJyArIChpdC51dGlsLnRvUXVvdGVkU3RyaW5nKCRlcnJTY2hlbWFQYXRoKSkgKyAnICwgcGFyYW1zOiB7IG1pc3NpbmdQcm9wZXJ0eTogXFwnJyArICgkbWlzc2luZ1Byb3BlcnR5KSArICdcXCcgfSAnO1xuICAgICAgICAgICAgICAgIGlmIChpdC5vcHRzLm1lc3NhZ2VzICE9PSBmYWxzZSkge1xuICAgICAgICAgICAgICAgICAgb3V0ICs9ICcgLCBtZXNzYWdlOiBcXCcnO1xuICAgICAgICAgICAgICAgICAgaWYgKGl0Lm9wdHMuX2Vycm9yRGF0YVBhdGhQcm9wZXJ0eSkge1xuICAgICAgICAgICAgICAgICAgICBvdXQgKz0gJ2lzIGEgcmVxdWlyZWQgcHJvcGVydHknO1xuICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgb3V0ICs9ICdzaG91bGQgaGF2ZSByZXF1aXJlZCBwcm9wZXJ0eSBcXFxcXFwnJyArICgkbWlzc2luZ1Byb3BlcnR5KSArICdcXFxcXFwnJztcbiAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgIG91dCArPSAnXFwnICc7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGlmIChpdC5vcHRzLnZlcmJvc2UpIHtcbiAgICAgICAgICAgICAgICAgIG91dCArPSAnICwgc2NoZW1hOiB2YWxpZGF0ZS5zY2hlbWEnICsgKCRzY2hlbWFQYXRoKSArICcgLCBwYXJlbnRTY2hlbWE6IHZhbGlkYXRlLnNjaGVtYScgKyAoaXQuc2NoZW1hUGF0aCkgKyAnICwgZGF0YTogJyArICgkZGF0YSkgKyAnICc7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIG91dCArPSAnIH0gJztcbiAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICBvdXQgKz0gJyB7fSAnO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIHZhciBfX2VyciA9IG91dDtcbiAgICAgICAgICAgICAgb3V0ID0gJCRvdXRTdGFjay5wb3AoKTtcbiAgICAgICAgICAgICAgaWYgKCFpdC5jb21wb3NpdGVSdWxlICYmICRicmVha09uRXJyb3IpIHtcbiAgICAgICAgICAgICAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgaWYgKi9cbiAgICAgICAgICAgICAgICBpZiAoaXQuYXN5bmMpIHtcbiAgICAgICAgICAgICAgICAgIG91dCArPSAnIHRocm93IG5ldyBWYWxpZGF0aW9uRXJyb3IoWycgKyAoX19lcnIpICsgJ10pOyAnO1xuICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICBvdXQgKz0gJyB2YWxpZGF0ZS5lcnJvcnMgPSBbJyArIChfX2VycikgKyAnXTsgcmV0dXJuIGZhbHNlOyAnO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICBvdXQgKz0gJyB2YXIgZXJyID0gJyArIChfX2VycikgKyAnOyAgaWYgKHZFcnJvcnMgPT09IG51bGwpIHZFcnJvcnMgPSBbZXJyXTsgZWxzZSB2RXJyb3JzLnB1c2goZXJyKTsgZXJyb3JzKys7ICc7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgJGVyclNjaGVtYVBhdGggPSAkY3VyckVyclNjaGVtYVBhdGg7XG4gICAgICAgICAgICAgIGl0LmVycm9yUGF0aCA9ICRjdXJyZW50RXJyb3JQYXRoO1xuICAgICAgICAgICAgICBvdXQgKz0gJyB9IGVsc2UgeyAnO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgaWYgKCRicmVha09uRXJyb3IpIHtcbiAgICAgICAgICAgICAgICBvdXQgKz0gJyBpZiAoICcgKyAoJHVzZURhdGEpICsgJyA9PT0gdW5kZWZpbmVkICc7XG4gICAgICAgICAgICAgICAgaWYgKCRvd25Qcm9wZXJ0aWVzKSB7XG4gICAgICAgICAgICAgICAgICBvdXQgKz0gJyB8fCAhIE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbCgnICsgKCRkYXRhKSArICcsIFxcJycgKyAoaXQudXRpbC5lc2NhcGVRdW90ZXMoJHByb3BlcnR5S2V5KSkgKyAnXFwnKSAnO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBvdXQgKz0gJykgeyAnICsgKCRuZXh0VmFsaWQpICsgJyA9IHRydWU7IH0gZWxzZSB7ICc7XG4gICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgb3V0ICs9ICcgaWYgKCcgKyAoJHVzZURhdGEpICsgJyAhPT0gdW5kZWZpbmVkICc7XG4gICAgICAgICAgICAgICAgaWYgKCRvd25Qcm9wZXJ0aWVzKSB7XG4gICAgICAgICAgICAgICAgICBvdXQgKz0gJyAmJiAgIE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbCgnICsgKCRkYXRhKSArICcsIFxcJycgKyAoaXQudXRpbC5lc2NhcGVRdW90ZXMoJHByb3BlcnR5S2V5KSkgKyAnXFwnKSAnO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBvdXQgKz0gJyApIHsgJztcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgb3V0ICs9ICcgJyArICgkY29kZSkgKyAnIH0gJztcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgaWYgKCRicmVha09uRXJyb3IpIHtcbiAgICAgICAgICBvdXQgKz0gJyBpZiAoJyArICgkbmV4dFZhbGlkKSArICcpIHsgJztcbiAgICAgICAgICAkY2xvc2luZ0JyYWNlcyArPSAnfSc7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgaWYgKCRwUHJvcGVydHlLZXlzLmxlbmd0aCkge1xuICAgIHZhciBhcnI0ID0gJHBQcm9wZXJ0eUtleXM7XG4gICAgaWYgKGFycjQpIHtcbiAgICAgIHZhciAkcFByb3BlcnR5LCBpNCA9IC0xLFxuICAgICAgICBsNCA9IGFycjQubGVuZ3RoIC0gMTtcbiAgICAgIHdoaWxlIChpNCA8IGw0KSB7XG4gICAgICAgICRwUHJvcGVydHkgPSBhcnI0W2k0ICs9IDFdO1xuICAgICAgICB2YXIgJHNjaCA9ICRwUHJvcGVydGllc1skcFByb3BlcnR5XTtcbiAgICAgICAgaWYgKChpdC5vcHRzLnN0cmljdEtleXdvcmRzID8gKHR5cGVvZiAkc2NoID09ICdvYmplY3QnICYmIE9iamVjdC5rZXlzKCRzY2gpLmxlbmd0aCA+IDApIHx8ICRzY2ggPT09IGZhbHNlIDogaXQudXRpbC5zY2hlbWFIYXNSdWxlcygkc2NoLCBpdC5SVUxFUy5hbGwpKSkge1xuICAgICAgICAgICRpdC5zY2hlbWEgPSAkc2NoO1xuICAgICAgICAgICRpdC5zY2hlbWFQYXRoID0gaXQuc2NoZW1hUGF0aCArICcucGF0dGVyblByb3BlcnRpZXMnICsgaXQudXRpbC5nZXRQcm9wZXJ0eSgkcFByb3BlcnR5KTtcbiAgICAgICAgICAkaXQuZXJyU2NoZW1hUGF0aCA9IGl0LmVyclNjaGVtYVBhdGggKyAnL3BhdHRlcm5Qcm9wZXJ0aWVzLycgKyBpdC51dGlsLmVzY2FwZUZyYWdtZW50KCRwUHJvcGVydHkpO1xuICAgICAgICAgIGlmICgkb3duUHJvcGVydGllcykge1xuICAgICAgICAgICAgb3V0ICs9ICcgJyArICgkZGF0YVByb3BlcnRpZXMpICsgJyA9ICcgKyAoJGRhdGFQcm9wZXJ0aWVzKSArICcgfHwgT2JqZWN0LmtleXMoJyArICgkZGF0YSkgKyAnKTsgZm9yICh2YXIgJyArICgkaWR4KSArICc9MDsgJyArICgkaWR4KSArICc8JyArICgkZGF0YVByb3BlcnRpZXMpICsgJy5sZW5ndGg7ICcgKyAoJGlkeCkgKyAnKyspIHsgdmFyICcgKyAoJGtleSkgKyAnID0gJyArICgkZGF0YVByb3BlcnRpZXMpICsgJ1snICsgKCRpZHgpICsgJ107ICc7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIG91dCArPSAnIGZvciAodmFyICcgKyAoJGtleSkgKyAnIGluICcgKyAoJGRhdGEpICsgJykgeyAnO1xuICAgICAgICAgIH1cbiAgICAgICAgICBvdXQgKz0gJyBpZiAoJyArIChpdC51c2VQYXR0ZXJuKCRwUHJvcGVydHkpKSArICcudGVzdCgnICsgKCRrZXkpICsgJykpIHsgJztcbiAgICAgICAgICAkaXQuZXJyb3JQYXRoID0gaXQudXRpbC5nZXRQYXRoRXhwcihpdC5lcnJvclBhdGgsICRrZXksIGl0Lm9wdHMuanNvblBvaW50ZXJzKTtcbiAgICAgICAgICB2YXIgJHBhc3NEYXRhID0gJGRhdGEgKyAnWycgKyAka2V5ICsgJ10nO1xuICAgICAgICAgICRpdC5kYXRhUGF0aEFyclskZGF0YU54dF0gPSAka2V5O1xuICAgICAgICAgIHZhciAkY29kZSA9IGl0LnZhbGlkYXRlKCRpdCk7XG4gICAgICAgICAgJGl0LmJhc2VJZCA9ICRjdXJyZW50QmFzZUlkO1xuICAgICAgICAgIGlmIChpdC51dGlsLnZhck9jY3VyZW5jZXMoJGNvZGUsICRuZXh0RGF0YSkgPCAyKSB7XG4gICAgICAgICAgICBvdXQgKz0gJyAnICsgKGl0LnV0aWwudmFyUmVwbGFjZSgkY29kZSwgJG5leHREYXRhLCAkcGFzc0RhdGEpKSArICcgJztcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgb3V0ICs9ICcgdmFyICcgKyAoJG5leHREYXRhKSArICcgPSAnICsgKCRwYXNzRGF0YSkgKyAnOyAnICsgKCRjb2RlKSArICcgJztcbiAgICAgICAgICB9XG4gICAgICAgICAgaWYgKCRicmVha09uRXJyb3IpIHtcbiAgICAgICAgICAgIG91dCArPSAnIGlmICghJyArICgkbmV4dFZhbGlkKSArICcpIGJyZWFrOyAnO1xuICAgICAgICAgIH1cbiAgICAgICAgICBvdXQgKz0gJyB9ICc7XG4gICAgICAgICAgaWYgKCRicmVha09uRXJyb3IpIHtcbiAgICAgICAgICAgIG91dCArPSAnIGVsc2UgJyArICgkbmV4dFZhbGlkKSArICcgPSB0cnVlOyAnO1xuICAgICAgICAgIH1cbiAgICAgICAgICBvdXQgKz0gJyB9ICAnO1xuICAgICAgICAgIGlmICgkYnJlYWtPbkVycm9yKSB7XG4gICAgICAgICAgICBvdXQgKz0gJyBpZiAoJyArICgkbmV4dFZhbGlkKSArICcpIHsgJztcbiAgICAgICAgICAgICRjbG9zaW5nQnJhY2VzICs9ICd9JztcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgaWYgKCRicmVha09uRXJyb3IpIHtcbiAgICBvdXQgKz0gJyAnICsgKCRjbG9zaW5nQnJhY2VzKSArICcgaWYgKCcgKyAoJGVycnMpICsgJyA9PSBlcnJvcnMpIHsnO1xuICB9XG4gIHJldHVybiBvdXQ7XG59XG4iLCAiJ3VzZSBzdHJpY3QnO1xubW9kdWxlLmV4cG9ydHMgPSBmdW5jdGlvbiBnZW5lcmF0ZV9wcm9wZXJ0eU5hbWVzKGl0LCAka2V5d29yZCwgJHJ1bGVUeXBlKSB7XG4gIHZhciBvdXQgPSAnICc7XG4gIHZhciAkbHZsID0gaXQubGV2ZWw7XG4gIHZhciAkZGF0YUx2bCA9IGl0LmRhdGFMZXZlbDtcbiAgdmFyICRzY2hlbWEgPSBpdC5zY2hlbWFbJGtleXdvcmRdO1xuICB2YXIgJHNjaGVtYVBhdGggPSBpdC5zY2hlbWFQYXRoICsgaXQudXRpbC5nZXRQcm9wZXJ0eSgka2V5d29yZCk7XG4gIHZhciAkZXJyU2NoZW1hUGF0aCA9IGl0LmVyclNjaGVtYVBhdGggKyAnLycgKyAka2V5d29yZDtcbiAgdmFyICRicmVha09uRXJyb3IgPSAhaXQub3B0cy5hbGxFcnJvcnM7XG4gIHZhciAkZGF0YSA9ICdkYXRhJyArICgkZGF0YUx2bCB8fCAnJyk7XG4gIHZhciAkZXJycyA9ICdlcnJzX18nICsgJGx2bDtcbiAgdmFyICRpdCA9IGl0LnV0aWwuY29weShpdCk7XG4gIHZhciAkY2xvc2luZ0JyYWNlcyA9ICcnO1xuICAkaXQubGV2ZWwrKztcbiAgdmFyICRuZXh0VmFsaWQgPSAndmFsaWQnICsgJGl0LmxldmVsO1xuICBvdXQgKz0gJ3ZhciAnICsgKCRlcnJzKSArICcgPSBlcnJvcnM7JztcbiAgaWYgKChpdC5vcHRzLnN0cmljdEtleXdvcmRzID8gKHR5cGVvZiAkc2NoZW1hID09ICdvYmplY3QnICYmIE9iamVjdC5rZXlzKCRzY2hlbWEpLmxlbmd0aCA+IDApIHx8ICRzY2hlbWEgPT09IGZhbHNlIDogaXQudXRpbC5zY2hlbWFIYXNSdWxlcygkc2NoZW1hLCBpdC5SVUxFUy5hbGwpKSkge1xuICAgICRpdC5zY2hlbWEgPSAkc2NoZW1hO1xuICAgICRpdC5zY2hlbWFQYXRoID0gJHNjaGVtYVBhdGg7XG4gICAgJGl0LmVyclNjaGVtYVBhdGggPSAkZXJyU2NoZW1hUGF0aDtcbiAgICB2YXIgJGtleSA9ICdrZXknICsgJGx2bCxcbiAgICAgICRpZHggPSAnaWR4JyArICRsdmwsXG4gICAgICAkaSA9ICdpJyArICRsdmwsXG4gICAgICAkaW52YWxpZE5hbWUgPSAnXFwnICsgJyArICRrZXkgKyAnICsgXFwnJyxcbiAgICAgICRkYXRhTnh0ID0gJGl0LmRhdGFMZXZlbCA9IGl0LmRhdGFMZXZlbCArIDEsXG4gICAgICAkbmV4dERhdGEgPSAnZGF0YScgKyAkZGF0YU54dCxcbiAgICAgICRkYXRhUHJvcGVydGllcyA9ICdkYXRhUHJvcGVydGllcycgKyAkbHZsLFxuICAgICAgJG93blByb3BlcnRpZXMgPSBpdC5vcHRzLm93blByb3BlcnRpZXMsXG4gICAgICAkY3VycmVudEJhc2VJZCA9IGl0LmJhc2VJZDtcbiAgICBpZiAoJG93blByb3BlcnRpZXMpIHtcbiAgICAgIG91dCArPSAnIHZhciAnICsgKCRkYXRhUHJvcGVydGllcykgKyAnID0gdW5kZWZpbmVkOyAnO1xuICAgIH1cbiAgICBpZiAoJG93blByb3BlcnRpZXMpIHtcbiAgICAgIG91dCArPSAnICcgKyAoJGRhdGFQcm9wZXJ0aWVzKSArICcgPSAnICsgKCRkYXRhUHJvcGVydGllcykgKyAnIHx8IE9iamVjdC5rZXlzKCcgKyAoJGRhdGEpICsgJyk7IGZvciAodmFyICcgKyAoJGlkeCkgKyAnPTA7ICcgKyAoJGlkeCkgKyAnPCcgKyAoJGRhdGFQcm9wZXJ0aWVzKSArICcubGVuZ3RoOyAnICsgKCRpZHgpICsgJysrKSB7IHZhciAnICsgKCRrZXkpICsgJyA9ICcgKyAoJGRhdGFQcm9wZXJ0aWVzKSArICdbJyArICgkaWR4KSArICddOyAnO1xuICAgIH0gZWxzZSB7XG4gICAgICBvdXQgKz0gJyBmb3IgKHZhciAnICsgKCRrZXkpICsgJyBpbiAnICsgKCRkYXRhKSArICcpIHsgJztcbiAgICB9XG4gICAgb3V0ICs9ICcgdmFyIHN0YXJ0RXJycycgKyAoJGx2bCkgKyAnID0gZXJyb3JzOyAnO1xuICAgIHZhciAkcGFzc0RhdGEgPSAka2V5O1xuICAgIHZhciAkd2FzQ29tcG9zaXRlID0gaXQuY29tcG9zaXRlUnVsZTtcbiAgICBpdC5jb21wb3NpdGVSdWxlID0gJGl0LmNvbXBvc2l0ZVJ1bGUgPSB0cnVlO1xuICAgIHZhciAkY29kZSA9IGl0LnZhbGlkYXRlKCRpdCk7XG4gICAgJGl0LmJhc2VJZCA9ICRjdXJyZW50QmFzZUlkO1xuICAgIGlmIChpdC51dGlsLnZhck9jY3VyZW5jZXMoJGNvZGUsICRuZXh0RGF0YSkgPCAyKSB7XG4gICAgICBvdXQgKz0gJyAnICsgKGl0LnV0aWwudmFyUmVwbGFjZSgkY29kZSwgJG5leHREYXRhLCAkcGFzc0RhdGEpKSArICcgJztcbiAgICB9IGVsc2Uge1xuICAgICAgb3V0ICs9ICcgdmFyICcgKyAoJG5leHREYXRhKSArICcgPSAnICsgKCRwYXNzRGF0YSkgKyAnOyAnICsgKCRjb2RlKSArICcgJztcbiAgICB9XG4gICAgaXQuY29tcG9zaXRlUnVsZSA9ICRpdC5jb21wb3NpdGVSdWxlID0gJHdhc0NvbXBvc2l0ZTtcbiAgICBvdXQgKz0gJyBpZiAoIScgKyAoJG5leHRWYWxpZCkgKyAnKSB7IGZvciAodmFyICcgKyAoJGkpICsgJz1zdGFydEVycnMnICsgKCRsdmwpICsgJzsgJyArICgkaSkgKyAnPGVycm9yczsgJyArICgkaSkgKyAnKyspIHsgdkVycm9yc1snICsgKCRpKSArICddLnByb3BlcnR5TmFtZSA9ICcgKyAoJGtleSkgKyAnOyB9ICAgdmFyIGVyciA9ICAgJzsgLyogaXN0YW5idWwgaWdub3JlIGVsc2UgKi9cbiAgICBpZiAoaXQuY3JlYXRlRXJyb3JzICE9PSBmYWxzZSkge1xuICAgICAgb3V0ICs9ICcgeyBrZXl3b3JkOiBcXCcnICsgKCdwcm9wZXJ0eU5hbWVzJykgKyAnXFwnICwgZGF0YVBhdGg6IChkYXRhUGF0aCB8fCBcXCdcXCcpICsgJyArIChpdC5lcnJvclBhdGgpICsgJyAsIHNjaGVtYVBhdGg6ICcgKyAoaXQudXRpbC50b1F1b3RlZFN0cmluZygkZXJyU2NoZW1hUGF0aCkpICsgJyAsIHBhcmFtczogeyBwcm9wZXJ0eU5hbWU6IFxcJycgKyAoJGludmFsaWROYW1lKSArICdcXCcgfSAnO1xuICAgICAgaWYgKGl0Lm9wdHMubWVzc2FnZXMgIT09IGZhbHNlKSB7XG4gICAgICAgIG91dCArPSAnICwgbWVzc2FnZTogXFwncHJvcGVydHkgbmFtZSBcXFxcXFwnJyArICgkaW52YWxpZE5hbWUpICsgJ1xcXFxcXCcgaXMgaW52YWxpZFxcJyAnO1xuICAgICAgfVxuICAgICAgaWYgKGl0Lm9wdHMudmVyYm9zZSkge1xuICAgICAgICBvdXQgKz0gJyAsIHNjaGVtYTogdmFsaWRhdGUuc2NoZW1hJyArICgkc2NoZW1hUGF0aCkgKyAnICwgcGFyZW50U2NoZW1hOiB2YWxpZGF0ZS5zY2hlbWEnICsgKGl0LnNjaGVtYVBhdGgpICsgJyAsIGRhdGE6ICcgKyAoJGRhdGEpICsgJyAnO1xuICAgICAgfVxuICAgICAgb3V0ICs9ICcgfSAnO1xuICAgIH0gZWxzZSB7XG4gICAgICBvdXQgKz0gJyB7fSAnO1xuICAgIH1cbiAgICBvdXQgKz0gJzsgIGlmICh2RXJyb3JzID09PSBudWxsKSB2RXJyb3JzID0gW2Vycl07IGVsc2UgdkVycm9ycy5wdXNoKGVycik7IGVycm9ycysrOyAnO1xuICAgIGlmICghaXQuY29tcG9zaXRlUnVsZSAmJiAkYnJlYWtPbkVycm9yKSB7XG4gICAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgaWYgKi9cbiAgICAgIGlmIChpdC5hc3luYykge1xuICAgICAgICBvdXQgKz0gJyB0aHJvdyBuZXcgVmFsaWRhdGlvbkVycm9yKHZFcnJvcnMpOyAnO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgb3V0ICs9ICcgdmFsaWRhdGUuZXJyb3JzID0gdkVycm9yczsgcmV0dXJuIGZhbHNlOyAnO1xuICAgICAgfVxuICAgIH1cbiAgICBpZiAoJGJyZWFrT25FcnJvcikge1xuICAgICAgb3V0ICs9ICcgYnJlYWs7ICc7XG4gICAgfVxuICAgIG91dCArPSAnIH0gfSc7XG4gIH1cbiAgaWYgKCRicmVha09uRXJyb3IpIHtcbiAgICBvdXQgKz0gJyAnICsgKCRjbG9zaW5nQnJhY2VzKSArICcgaWYgKCcgKyAoJGVycnMpICsgJyA9PSBlcnJvcnMpIHsnO1xuICB9XG4gIHJldHVybiBvdXQ7XG59XG4iLCAiJ3VzZSBzdHJpY3QnO1xubW9kdWxlLmV4cG9ydHMgPSBmdW5jdGlvbiBnZW5lcmF0ZV9yZXF1aXJlZChpdCwgJGtleXdvcmQsICRydWxlVHlwZSkge1xuICB2YXIgb3V0ID0gJyAnO1xuICB2YXIgJGx2bCA9IGl0LmxldmVsO1xuICB2YXIgJGRhdGFMdmwgPSBpdC5kYXRhTGV2ZWw7XG4gIHZhciAkc2NoZW1hID0gaXQuc2NoZW1hWyRrZXl3b3JkXTtcbiAgdmFyICRzY2hlbWFQYXRoID0gaXQuc2NoZW1hUGF0aCArIGl0LnV0aWwuZ2V0UHJvcGVydHkoJGtleXdvcmQpO1xuICB2YXIgJGVyclNjaGVtYVBhdGggPSBpdC5lcnJTY2hlbWFQYXRoICsgJy8nICsgJGtleXdvcmQ7XG4gIHZhciAkYnJlYWtPbkVycm9yID0gIWl0Lm9wdHMuYWxsRXJyb3JzO1xuICB2YXIgJGRhdGEgPSAnZGF0YScgKyAoJGRhdGFMdmwgfHwgJycpO1xuICB2YXIgJHZhbGlkID0gJ3ZhbGlkJyArICRsdmw7XG4gIHZhciAkaXNEYXRhID0gaXQub3B0cy4kZGF0YSAmJiAkc2NoZW1hICYmICRzY2hlbWEuJGRhdGEsXG4gICAgJHNjaGVtYVZhbHVlO1xuICBpZiAoJGlzRGF0YSkge1xuICAgIG91dCArPSAnIHZhciBzY2hlbWEnICsgKCRsdmwpICsgJyA9ICcgKyAoaXQudXRpbC5nZXREYXRhKCRzY2hlbWEuJGRhdGEsICRkYXRhTHZsLCBpdC5kYXRhUGF0aEFycikpICsgJzsgJztcbiAgICAkc2NoZW1hVmFsdWUgPSAnc2NoZW1hJyArICRsdmw7XG4gIH0gZWxzZSB7XG4gICAgJHNjaGVtYVZhbHVlID0gJHNjaGVtYTtcbiAgfVxuICB2YXIgJHZTY2hlbWEgPSAnc2NoZW1hJyArICRsdmw7XG4gIGlmICghJGlzRGF0YSkge1xuICAgIGlmICgkc2NoZW1hLmxlbmd0aCA8IGl0Lm9wdHMubG9vcFJlcXVpcmVkICYmIGl0LnNjaGVtYS5wcm9wZXJ0aWVzICYmIE9iamVjdC5rZXlzKGl0LnNjaGVtYS5wcm9wZXJ0aWVzKS5sZW5ndGgpIHtcbiAgICAgIHZhciAkcmVxdWlyZWQgPSBbXTtcbiAgICAgIHZhciBhcnIxID0gJHNjaGVtYTtcbiAgICAgIGlmIChhcnIxKSB7XG4gICAgICAgIHZhciAkcHJvcGVydHksIGkxID0gLTEsXG4gICAgICAgICAgbDEgPSBhcnIxLmxlbmd0aCAtIDE7XG4gICAgICAgIHdoaWxlIChpMSA8IGwxKSB7XG4gICAgICAgICAgJHByb3BlcnR5ID0gYXJyMVtpMSArPSAxXTtcbiAgICAgICAgICB2YXIgJHByb3BlcnR5U2NoID0gaXQuc2NoZW1hLnByb3BlcnRpZXNbJHByb3BlcnR5XTtcbiAgICAgICAgICBpZiAoISgkcHJvcGVydHlTY2ggJiYgKGl0Lm9wdHMuc3RyaWN0S2V5d29yZHMgPyAodHlwZW9mICRwcm9wZXJ0eVNjaCA9PSAnb2JqZWN0JyAmJiBPYmplY3Qua2V5cygkcHJvcGVydHlTY2gpLmxlbmd0aCA+IDApIHx8ICRwcm9wZXJ0eVNjaCA9PT0gZmFsc2UgOiBpdC51dGlsLnNjaGVtYUhhc1J1bGVzKCRwcm9wZXJ0eVNjaCwgaXQuUlVMRVMuYWxsKSkpKSB7XG4gICAgICAgICAgICAkcmVxdWlyZWRbJHJlcXVpcmVkLmxlbmd0aF0gPSAkcHJvcGVydHk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIHZhciAkcmVxdWlyZWQgPSAkc2NoZW1hO1xuICAgIH1cbiAgfVxuICBpZiAoJGlzRGF0YSB8fCAkcmVxdWlyZWQubGVuZ3RoKSB7XG4gICAgdmFyICRjdXJyZW50RXJyb3JQYXRoID0gaXQuZXJyb3JQYXRoLFxuICAgICAgJGxvb3BSZXF1aXJlZCA9ICRpc0RhdGEgfHwgJHJlcXVpcmVkLmxlbmd0aCA+PSBpdC5vcHRzLmxvb3BSZXF1aXJlZCxcbiAgICAgICRvd25Qcm9wZXJ0aWVzID0gaXQub3B0cy5vd25Qcm9wZXJ0aWVzO1xuICAgIGlmICgkYnJlYWtPbkVycm9yKSB7XG4gICAgICBvdXQgKz0gJyB2YXIgbWlzc2luZycgKyAoJGx2bCkgKyAnOyAnO1xuICAgICAgaWYgKCRsb29wUmVxdWlyZWQpIHtcbiAgICAgICAgaWYgKCEkaXNEYXRhKSB7XG4gICAgICAgICAgb3V0ICs9ICcgdmFyICcgKyAoJHZTY2hlbWEpICsgJyA9IHZhbGlkYXRlLnNjaGVtYScgKyAoJHNjaGVtYVBhdGgpICsgJzsgJztcbiAgICAgICAgfVxuICAgICAgICB2YXIgJGkgPSAnaScgKyAkbHZsLFxuICAgICAgICAgICRwcm9wZXJ0eVBhdGggPSAnc2NoZW1hJyArICRsdmwgKyAnWycgKyAkaSArICddJyxcbiAgICAgICAgICAkbWlzc2luZ1Byb3BlcnR5ID0gJ1xcJyArICcgKyAkcHJvcGVydHlQYXRoICsgJyArIFxcJyc7XG4gICAgICAgIGlmIChpdC5vcHRzLl9lcnJvckRhdGFQYXRoUHJvcGVydHkpIHtcbiAgICAgICAgICBpdC5lcnJvclBhdGggPSBpdC51dGlsLmdldFBhdGhFeHByKCRjdXJyZW50RXJyb3JQYXRoLCAkcHJvcGVydHlQYXRoLCBpdC5vcHRzLmpzb25Qb2ludGVycyk7XG4gICAgICAgIH1cbiAgICAgICAgb3V0ICs9ICcgdmFyICcgKyAoJHZhbGlkKSArICcgPSB0cnVlOyAnO1xuICAgICAgICBpZiAoJGlzRGF0YSkge1xuICAgICAgICAgIG91dCArPSAnIGlmIChzY2hlbWEnICsgKCRsdmwpICsgJyA9PT0gdW5kZWZpbmVkKSAnICsgKCR2YWxpZCkgKyAnID0gdHJ1ZTsgZWxzZSBpZiAoIUFycmF5LmlzQXJyYXkoc2NoZW1hJyArICgkbHZsKSArICcpKSAnICsgKCR2YWxpZCkgKyAnID0gZmFsc2U7IGVsc2Ugeyc7XG4gICAgICAgIH1cbiAgICAgICAgb3V0ICs9ICcgZm9yICh2YXIgJyArICgkaSkgKyAnID0gMDsgJyArICgkaSkgKyAnIDwgJyArICgkdlNjaGVtYSkgKyAnLmxlbmd0aDsgJyArICgkaSkgKyAnKyspIHsgJyArICgkdmFsaWQpICsgJyA9ICcgKyAoJGRhdGEpICsgJ1snICsgKCR2U2NoZW1hKSArICdbJyArICgkaSkgKyAnXV0gIT09IHVuZGVmaW5lZCAnO1xuICAgICAgICBpZiAoJG93blByb3BlcnRpZXMpIHtcbiAgICAgICAgICBvdXQgKz0gJyAmJiAgIE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbCgnICsgKCRkYXRhKSArICcsICcgKyAoJHZTY2hlbWEpICsgJ1snICsgKCRpKSArICddKSAnO1xuICAgICAgICB9XG4gICAgICAgIG91dCArPSAnOyBpZiAoIScgKyAoJHZhbGlkKSArICcpIGJyZWFrOyB9ICc7XG4gICAgICAgIGlmICgkaXNEYXRhKSB7XG4gICAgICAgICAgb3V0ICs9ICcgIH0gICc7XG4gICAgICAgIH1cbiAgICAgICAgb3V0ICs9ICcgIGlmICghJyArICgkdmFsaWQpICsgJykgeyAgICc7XG4gICAgICAgIHZhciAkJG91dFN0YWNrID0gJCRvdXRTdGFjayB8fCBbXTtcbiAgICAgICAgJCRvdXRTdGFjay5wdXNoKG91dCk7XG4gICAgICAgIG91dCA9ICcnOyAvKiBpc3RhbmJ1bCBpZ25vcmUgZWxzZSAqL1xuICAgICAgICBpZiAoaXQuY3JlYXRlRXJyb3JzICE9PSBmYWxzZSkge1xuICAgICAgICAgIG91dCArPSAnIHsga2V5d29yZDogXFwnJyArICgncmVxdWlyZWQnKSArICdcXCcgLCBkYXRhUGF0aDogKGRhdGFQYXRoIHx8IFxcJ1xcJykgKyAnICsgKGl0LmVycm9yUGF0aCkgKyAnICwgc2NoZW1hUGF0aDogJyArIChpdC51dGlsLnRvUXVvdGVkU3RyaW5nKCRlcnJTY2hlbWFQYXRoKSkgKyAnICwgcGFyYW1zOiB7IG1pc3NpbmdQcm9wZXJ0eTogXFwnJyArICgkbWlzc2luZ1Byb3BlcnR5KSArICdcXCcgfSAnO1xuICAgICAgICAgIGlmIChpdC5vcHRzLm1lc3NhZ2VzICE9PSBmYWxzZSkge1xuICAgICAgICAgICAgb3V0ICs9ICcgLCBtZXNzYWdlOiBcXCcnO1xuICAgICAgICAgICAgaWYgKGl0Lm9wdHMuX2Vycm9yRGF0YVBhdGhQcm9wZXJ0eSkge1xuICAgICAgICAgICAgICBvdXQgKz0gJ2lzIGEgcmVxdWlyZWQgcHJvcGVydHknO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgb3V0ICs9ICdzaG91bGQgaGF2ZSByZXF1aXJlZCBwcm9wZXJ0eSBcXFxcXFwnJyArICgkbWlzc2luZ1Byb3BlcnR5KSArICdcXFxcXFwnJztcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIG91dCArPSAnXFwnICc7XG4gICAgICAgICAgfVxuICAgICAgICAgIGlmIChpdC5vcHRzLnZlcmJvc2UpIHtcbiAgICAgICAgICAgIG91dCArPSAnICwgc2NoZW1hOiB2YWxpZGF0ZS5zY2hlbWEnICsgKCRzY2hlbWFQYXRoKSArICcgLCBwYXJlbnRTY2hlbWE6IHZhbGlkYXRlLnNjaGVtYScgKyAoaXQuc2NoZW1hUGF0aCkgKyAnICwgZGF0YTogJyArICgkZGF0YSkgKyAnICc7XG4gICAgICAgICAgfVxuICAgICAgICAgIG91dCArPSAnIH0gJztcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBvdXQgKz0gJyB7fSAnO1xuICAgICAgICB9XG4gICAgICAgIHZhciBfX2VyciA9IG91dDtcbiAgICAgICAgb3V0ID0gJCRvdXRTdGFjay5wb3AoKTtcbiAgICAgICAgaWYgKCFpdC5jb21wb3NpdGVSdWxlICYmICRicmVha09uRXJyb3IpIHtcbiAgICAgICAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgaWYgKi9cbiAgICAgICAgICBpZiAoaXQuYXN5bmMpIHtcbiAgICAgICAgICAgIG91dCArPSAnIHRocm93IG5ldyBWYWxpZGF0aW9uRXJyb3IoWycgKyAoX19lcnIpICsgJ10pOyAnO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBvdXQgKz0gJyB2YWxpZGF0ZS5lcnJvcnMgPSBbJyArIChfX2VycikgKyAnXTsgcmV0dXJuIGZhbHNlOyAnO1xuICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBvdXQgKz0gJyB2YXIgZXJyID0gJyArIChfX2VycikgKyAnOyAgaWYgKHZFcnJvcnMgPT09IG51bGwpIHZFcnJvcnMgPSBbZXJyXTsgZWxzZSB2RXJyb3JzLnB1c2goZXJyKTsgZXJyb3JzKys7ICc7XG4gICAgICAgIH1cbiAgICAgICAgb3V0ICs9ICcgfSBlbHNlIHsgJztcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIG91dCArPSAnIGlmICggJztcbiAgICAgICAgdmFyIGFycjIgPSAkcmVxdWlyZWQ7XG4gICAgICAgIGlmIChhcnIyKSB7XG4gICAgICAgICAgdmFyICRwcm9wZXJ0eUtleSwgJGkgPSAtMSxcbiAgICAgICAgICAgIGwyID0gYXJyMi5sZW5ndGggLSAxO1xuICAgICAgICAgIHdoaWxlICgkaSA8IGwyKSB7XG4gICAgICAgICAgICAkcHJvcGVydHlLZXkgPSBhcnIyWyRpICs9IDFdO1xuICAgICAgICAgICAgaWYgKCRpKSB7XG4gICAgICAgICAgICAgIG91dCArPSAnIHx8ICc7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICB2YXIgJHByb3AgPSBpdC51dGlsLmdldFByb3BlcnR5KCRwcm9wZXJ0eUtleSksXG4gICAgICAgICAgICAgICR1c2VEYXRhID0gJGRhdGEgKyAkcHJvcDtcbiAgICAgICAgICAgIG91dCArPSAnICggKCAnICsgKCR1c2VEYXRhKSArICcgPT09IHVuZGVmaW5lZCAnO1xuICAgICAgICAgICAgaWYgKCRvd25Qcm9wZXJ0aWVzKSB7XG4gICAgICAgICAgICAgIG91dCArPSAnIHx8ICEgT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKCcgKyAoJGRhdGEpICsgJywgXFwnJyArIChpdC51dGlsLmVzY2FwZVF1b3RlcygkcHJvcGVydHlLZXkpKSArICdcXCcpICc7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBvdXQgKz0gJykgJiYgKG1pc3NpbmcnICsgKCRsdmwpICsgJyA9ICcgKyAoaXQudXRpbC50b1F1b3RlZFN0cmluZyhpdC5vcHRzLmpzb25Qb2ludGVycyA/ICRwcm9wZXJ0eUtleSA6ICRwcm9wKSkgKyAnKSApICc7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIG91dCArPSAnKSB7ICAnO1xuICAgICAgICB2YXIgJHByb3BlcnR5UGF0aCA9ICdtaXNzaW5nJyArICRsdmwsXG4gICAgICAgICAgJG1pc3NpbmdQcm9wZXJ0eSA9ICdcXCcgKyAnICsgJHByb3BlcnR5UGF0aCArICcgKyBcXCcnO1xuICAgICAgICBpZiAoaXQub3B0cy5fZXJyb3JEYXRhUGF0aFByb3BlcnR5KSB7XG4gICAgICAgICAgaXQuZXJyb3JQYXRoID0gaXQub3B0cy5qc29uUG9pbnRlcnMgPyBpdC51dGlsLmdldFBhdGhFeHByKCRjdXJyZW50RXJyb3JQYXRoLCAkcHJvcGVydHlQYXRoLCB0cnVlKSA6ICRjdXJyZW50RXJyb3JQYXRoICsgJyArICcgKyAkcHJvcGVydHlQYXRoO1xuICAgICAgICB9XG4gICAgICAgIHZhciAkJG91dFN0YWNrID0gJCRvdXRTdGFjayB8fCBbXTtcbiAgICAgICAgJCRvdXRTdGFjay5wdXNoKG91dCk7XG4gICAgICAgIG91dCA9ICcnOyAvKiBpc3RhbmJ1bCBpZ25vcmUgZWxzZSAqL1xuICAgICAgICBpZiAoaXQuY3JlYXRlRXJyb3JzICE9PSBmYWxzZSkge1xuICAgICAgICAgIG91dCArPSAnIHsga2V5d29yZDogXFwnJyArICgncmVxdWlyZWQnKSArICdcXCcgLCBkYXRhUGF0aDogKGRhdGFQYXRoIHx8IFxcJ1xcJykgKyAnICsgKGl0LmVycm9yUGF0aCkgKyAnICwgc2NoZW1hUGF0aDogJyArIChpdC51dGlsLnRvUXVvdGVkU3RyaW5nKCRlcnJTY2hlbWFQYXRoKSkgKyAnICwgcGFyYW1zOiB7IG1pc3NpbmdQcm9wZXJ0eTogXFwnJyArICgkbWlzc2luZ1Byb3BlcnR5KSArICdcXCcgfSAnO1xuICAgICAgICAgIGlmIChpdC5vcHRzLm1lc3NhZ2VzICE9PSBmYWxzZSkge1xuICAgICAgICAgICAgb3V0ICs9ICcgLCBtZXNzYWdlOiBcXCcnO1xuICAgICAgICAgICAgaWYgKGl0Lm9wdHMuX2Vycm9yRGF0YVBhdGhQcm9wZXJ0eSkge1xuICAgICAgICAgICAgICBvdXQgKz0gJ2lzIGEgcmVxdWlyZWQgcHJvcGVydHknO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgb3V0ICs9ICdzaG91bGQgaGF2ZSByZXF1aXJlZCBwcm9wZXJ0eSBcXFxcXFwnJyArICgkbWlzc2luZ1Byb3BlcnR5KSArICdcXFxcXFwnJztcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIG91dCArPSAnXFwnICc7XG4gICAgICAgICAgfVxuICAgICAgICAgIGlmIChpdC5vcHRzLnZlcmJvc2UpIHtcbiAgICAgICAgICAgIG91dCArPSAnICwgc2NoZW1hOiB2YWxpZGF0ZS5zY2hlbWEnICsgKCRzY2hlbWFQYXRoKSArICcgLCBwYXJlbnRTY2hlbWE6IHZhbGlkYXRlLnNjaGVtYScgKyAoaXQuc2NoZW1hUGF0aCkgKyAnICwgZGF0YTogJyArICgkZGF0YSkgKyAnICc7XG4gICAgICAgICAgfVxuICAgICAgICAgIG91dCArPSAnIH0gJztcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBvdXQgKz0gJyB7fSAnO1xuICAgICAgICB9XG4gICAgICAgIHZhciBfX2VyciA9IG91dDtcbiAgICAgICAgb3V0ID0gJCRvdXRTdGFjay5wb3AoKTtcbiAgICAgICAgaWYgKCFpdC5jb21wb3NpdGVSdWxlICYmICRicmVha09uRXJyb3IpIHtcbiAgICAgICAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgaWYgKi9cbiAgICAgICAgICBpZiAoaXQuYXN5bmMpIHtcbiAgICAgICAgICAgIG91dCArPSAnIHRocm93IG5ldyBWYWxpZGF0aW9uRXJyb3IoWycgKyAoX19lcnIpICsgJ10pOyAnO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBvdXQgKz0gJyB2YWxpZGF0ZS5lcnJvcnMgPSBbJyArIChfX2VycikgKyAnXTsgcmV0dXJuIGZhbHNlOyAnO1xuICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBvdXQgKz0gJyB2YXIgZXJyID0gJyArIChfX2VycikgKyAnOyAgaWYgKHZFcnJvcnMgPT09IG51bGwpIHZFcnJvcnMgPSBbZXJyXTsgZWxzZSB2RXJyb3JzLnB1c2goZXJyKTsgZXJyb3JzKys7ICc7XG4gICAgICAgIH1cbiAgICAgICAgb3V0ICs9ICcgfSBlbHNlIHsgJztcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgaWYgKCRsb29wUmVxdWlyZWQpIHtcbiAgICAgICAgaWYgKCEkaXNEYXRhKSB7XG4gICAgICAgICAgb3V0ICs9ICcgdmFyICcgKyAoJHZTY2hlbWEpICsgJyA9IHZhbGlkYXRlLnNjaGVtYScgKyAoJHNjaGVtYVBhdGgpICsgJzsgJztcbiAgICAgICAgfVxuICAgICAgICB2YXIgJGkgPSAnaScgKyAkbHZsLFxuICAgICAgICAgICRwcm9wZXJ0eVBhdGggPSAnc2NoZW1hJyArICRsdmwgKyAnWycgKyAkaSArICddJyxcbiAgICAgICAgICAkbWlzc2luZ1Byb3BlcnR5ID0gJ1xcJyArICcgKyAkcHJvcGVydHlQYXRoICsgJyArIFxcJyc7XG4gICAgICAgIGlmIChpdC5vcHRzLl9lcnJvckRhdGFQYXRoUHJvcGVydHkpIHtcbiAgICAgICAgICBpdC5lcnJvclBhdGggPSBpdC51dGlsLmdldFBhdGhFeHByKCRjdXJyZW50RXJyb3JQYXRoLCAkcHJvcGVydHlQYXRoLCBpdC5vcHRzLmpzb25Qb2ludGVycyk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKCRpc0RhdGEpIHtcbiAgICAgICAgICBvdXQgKz0gJyBpZiAoJyArICgkdlNjaGVtYSkgKyAnICYmICFBcnJheS5pc0FycmF5KCcgKyAoJHZTY2hlbWEpICsgJykpIHsgIHZhciBlcnIgPSAgICc7IC8qIGlzdGFuYnVsIGlnbm9yZSBlbHNlICovXG4gICAgICAgICAgaWYgKGl0LmNyZWF0ZUVycm9ycyAhPT0gZmFsc2UpIHtcbiAgICAgICAgICAgIG91dCArPSAnIHsga2V5d29yZDogXFwnJyArICgncmVxdWlyZWQnKSArICdcXCcgLCBkYXRhUGF0aDogKGRhdGFQYXRoIHx8IFxcJ1xcJykgKyAnICsgKGl0LmVycm9yUGF0aCkgKyAnICwgc2NoZW1hUGF0aDogJyArIChpdC51dGlsLnRvUXVvdGVkU3RyaW5nKCRlcnJTY2hlbWFQYXRoKSkgKyAnICwgcGFyYW1zOiB7IG1pc3NpbmdQcm9wZXJ0eTogXFwnJyArICgkbWlzc2luZ1Byb3BlcnR5KSArICdcXCcgfSAnO1xuICAgICAgICAgICAgaWYgKGl0Lm9wdHMubWVzc2FnZXMgIT09IGZhbHNlKSB7XG4gICAgICAgICAgICAgIG91dCArPSAnICwgbWVzc2FnZTogXFwnJztcbiAgICAgICAgICAgICAgaWYgKGl0Lm9wdHMuX2Vycm9yRGF0YVBhdGhQcm9wZXJ0eSkge1xuICAgICAgICAgICAgICAgIG91dCArPSAnaXMgYSByZXF1aXJlZCBwcm9wZXJ0eSc7XG4gICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgb3V0ICs9ICdzaG91bGQgaGF2ZSByZXF1aXJlZCBwcm9wZXJ0eSBcXFxcXFwnJyArICgkbWlzc2luZ1Byb3BlcnR5KSArICdcXFxcXFwnJztcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICBvdXQgKz0gJ1xcJyAnO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKGl0Lm9wdHMudmVyYm9zZSkge1xuICAgICAgICAgICAgICBvdXQgKz0gJyAsIHNjaGVtYTogdmFsaWRhdGUuc2NoZW1hJyArICgkc2NoZW1hUGF0aCkgKyAnICwgcGFyZW50U2NoZW1hOiB2YWxpZGF0ZS5zY2hlbWEnICsgKGl0LnNjaGVtYVBhdGgpICsgJyAsIGRhdGE6ICcgKyAoJGRhdGEpICsgJyAnO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgb3V0ICs9ICcgfSAnO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBvdXQgKz0gJyB7fSAnO1xuICAgICAgICAgIH1cbiAgICAgICAgICBvdXQgKz0gJzsgIGlmICh2RXJyb3JzID09PSBudWxsKSB2RXJyb3JzID0gW2Vycl07IGVsc2UgdkVycm9ycy5wdXNoKGVycik7IGVycm9ycysrOyB9IGVsc2UgaWYgKCcgKyAoJHZTY2hlbWEpICsgJyAhPT0gdW5kZWZpbmVkKSB7ICc7XG4gICAgICAgIH1cbiAgICAgICAgb3V0ICs9ICcgZm9yICh2YXIgJyArICgkaSkgKyAnID0gMDsgJyArICgkaSkgKyAnIDwgJyArICgkdlNjaGVtYSkgKyAnLmxlbmd0aDsgJyArICgkaSkgKyAnKyspIHsgaWYgKCcgKyAoJGRhdGEpICsgJ1snICsgKCR2U2NoZW1hKSArICdbJyArICgkaSkgKyAnXV0gPT09IHVuZGVmaW5lZCAnO1xuICAgICAgICBpZiAoJG93blByb3BlcnRpZXMpIHtcbiAgICAgICAgICBvdXQgKz0gJyB8fCAhIE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbCgnICsgKCRkYXRhKSArICcsICcgKyAoJHZTY2hlbWEpICsgJ1snICsgKCRpKSArICddKSAnO1xuICAgICAgICB9XG4gICAgICAgIG91dCArPSAnKSB7ICB2YXIgZXJyID0gICAnOyAvKiBpc3RhbmJ1bCBpZ25vcmUgZWxzZSAqL1xuICAgICAgICBpZiAoaXQuY3JlYXRlRXJyb3JzICE9PSBmYWxzZSkge1xuICAgICAgICAgIG91dCArPSAnIHsga2V5d29yZDogXFwnJyArICgncmVxdWlyZWQnKSArICdcXCcgLCBkYXRhUGF0aDogKGRhdGFQYXRoIHx8IFxcJ1xcJykgKyAnICsgKGl0LmVycm9yUGF0aCkgKyAnICwgc2NoZW1hUGF0aDogJyArIChpdC51dGlsLnRvUXVvdGVkU3RyaW5nKCRlcnJTY2hlbWFQYXRoKSkgKyAnICwgcGFyYW1zOiB7IG1pc3NpbmdQcm9wZXJ0eTogXFwnJyArICgkbWlzc2luZ1Byb3BlcnR5KSArICdcXCcgfSAnO1xuICAgICAgICAgIGlmIChpdC5vcHRzLm1lc3NhZ2VzICE9PSBmYWxzZSkge1xuICAgICAgICAgICAgb3V0ICs9ICcgLCBtZXNzYWdlOiBcXCcnO1xuICAgICAgICAgICAgaWYgKGl0Lm9wdHMuX2Vycm9yRGF0YVBhdGhQcm9wZXJ0eSkge1xuICAgICAgICAgICAgICBvdXQgKz0gJ2lzIGEgcmVxdWlyZWQgcHJvcGVydHknO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgb3V0ICs9ICdzaG91bGQgaGF2ZSByZXF1aXJlZCBwcm9wZXJ0eSBcXFxcXFwnJyArICgkbWlzc2luZ1Byb3BlcnR5KSArICdcXFxcXFwnJztcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIG91dCArPSAnXFwnICc7XG4gICAgICAgICAgfVxuICAgICAgICAgIGlmIChpdC5vcHRzLnZlcmJvc2UpIHtcbiAgICAgICAgICAgIG91dCArPSAnICwgc2NoZW1hOiB2YWxpZGF0ZS5zY2hlbWEnICsgKCRzY2hlbWFQYXRoKSArICcgLCBwYXJlbnRTY2hlbWE6IHZhbGlkYXRlLnNjaGVtYScgKyAoaXQuc2NoZW1hUGF0aCkgKyAnICwgZGF0YTogJyArICgkZGF0YSkgKyAnICc7XG4gICAgICAgICAgfVxuICAgICAgICAgIG91dCArPSAnIH0gJztcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBvdXQgKz0gJyB7fSAnO1xuICAgICAgICB9XG4gICAgICAgIG91dCArPSAnOyAgaWYgKHZFcnJvcnMgPT09IG51bGwpIHZFcnJvcnMgPSBbZXJyXTsgZWxzZSB2RXJyb3JzLnB1c2goZXJyKTsgZXJyb3JzKys7IH0gfSAnO1xuICAgICAgICBpZiAoJGlzRGF0YSkge1xuICAgICAgICAgIG91dCArPSAnICB9ICAnO1xuICAgICAgICB9XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB2YXIgYXJyMyA9ICRyZXF1aXJlZDtcbiAgICAgICAgaWYgKGFycjMpIHtcbiAgICAgICAgICB2YXIgJHByb3BlcnR5S2V5LCBpMyA9IC0xLFxuICAgICAgICAgICAgbDMgPSBhcnIzLmxlbmd0aCAtIDE7XG4gICAgICAgICAgd2hpbGUgKGkzIDwgbDMpIHtcbiAgICAgICAgICAgICRwcm9wZXJ0eUtleSA9IGFycjNbaTMgKz0gMV07XG4gICAgICAgICAgICB2YXIgJHByb3AgPSBpdC51dGlsLmdldFByb3BlcnR5KCRwcm9wZXJ0eUtleSksXG4gICAgICAgICAgICAgICRtaXNzaW5nUHJvcGVydHkgPSBpdC51dGlsLmVzY2FwZVF1b3RlcygkcHJvcGVydHlLZXkpLFxuICAgICAgICAgICAgICAkdXNlRGF0YSA9ICRkYXRhICsgJHByb3A7XG4gICAgICAgICAgICBpZiAoaXQub3B0cy5fZXJyb3JEYXRhUGF0aFByb3BlcnR5KSB7XG4gICAgICAgICAgICAgIGl0LmVycm9yUGF0aCA9IGl0LnV0aWwuZ2V0UGF0aCgkY3VycmVudEVycm9yUGF0aCwgJHByb3BlcnR5S2V5LCBpdC5vcHRzLmpzb25Qb2ludGVycyk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBvdXQgKz0gJyBpZiAoICcgKyAoJHVzZURhdGEpICsgJyA9PT0gdW5kZWZpbmVkICc7XG4gICAgICAgICAgICBpZiAoJG93blByb3BlcnRpZXMpIHtcbiAgICAgICAgICAgICAgb3V0ICs9ICcgfHwgISBPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwoJyArICgkZGF0YSkgKyAnLCBcXCcnICsgKGl0LnV0aWwuZXNjYXBlUXVvdGVzKCRwcm9wZXJ0eUtleSkpICsgJ1xcJykgJztcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIG91dCArPSAnKSB7ICB2YXIgZXJyID0gICAnOyAvKiBpc3RhbmJ1bCBpZ25vcmUgZWxzZSAqL1xuICAgICAgICAgICAgaWYgKGl0LmNyZWF0ZUVycm9ycyAhPT0gZmFsc2UpIHtcbiAgICAgICAgICAgICAgb3V0ICs9ICcgeyBrZXl3b3JkOiBcXCcnICsgKCdyZXF1aXJlZCcpICsgJ1xcJyAsIGRhdGFQYXRoOiAoZGF0YVBhdGggfHwgXFwnXFwnKSArICcgKyAoaXQuZXJyb3JQYXRoKSArICcgLCBzY2hlbWFQYXRoOiAnICsgKGl0LnV0aWwudG9RdW90ZWRTdHJpbmcoJGVyclNjaGVtYVBhdGgpKSArICcgLCBwYXJhbXM6IHsgbWlzc2luZ1Byb3BlcnR5OiBcXCcnICsgKCRtaXNzaW5nUHJvcGVydHkpICsgJ1xcJyB9ICc7XG4gICAgICAgICAgICAgIGlmIChpdC5vcHRzLm1lc3NhZ2VzICE9PSBmYWxzZSkge1xuICAgICAgICAgICAgICAgIG91dCArPSAnICwgbWVzc2FnZTogXFwnJztcbiAgICAgICAgICAgICAgICBpZiAoaXQub3B0cy5fZXJyb3JEYXRhUGF0aFByb3BlcnR5KSB7XG4gICAgICAgICAgICAgICAgICBvdXQgKz0gJ2lzIGEgcmVxdWlyZWQgcHJvcGVydHknO1xuICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICBvdXQgKz0gJ3Nob3VsZCBoYXZlIHJlcXVpcmVkIHByb3BlcnR5IFxcXFxcXCcnICsgKCRtaXNzaW5nUHJvcGVydHkpICsgJ1xcXFxcXCcnO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBvdXQgKz0gJ1xcJyAnO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIGlmIChpdC5vcHRzLnZlcmJvc2UpIHtcbiAgICAgICAgICAgICAgICBvdXQgKz0gJyAsIHNjaGVtYTogdmFsaWRhdGUuc2NoZW1hJyArICgkc2NoZW1hUGF0aCkgKyAnICwgcGFyZW50U2NoZW1hOiB2YWxpZGF0ZS5zY2hlbWEnICsgKGl0LnNjaGVtYVBhdGgpICsgJyAsIGRhdGE6ICcgKyAoJGRhdGEpICsgJyAnO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIG91dCArPSAnIH0gJztcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgIG91dCArPSAnIHt9ICc7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBvdXQgKz0gJzsgIGlmICh2RXJyb3JzID09PSBudWxsKSB2RXJyb3JzID0gW2Vycl07IGVsc2UgdkVycm9ycy5wdXNoKGVycik7IGVycm9ycysrOyB9ICc7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIGl0LmVycm9yUGF0aCA9ICRjdXJyZW50RXJyb3JQYXRoO1xuICB9IGVsc2UgaWYgKCRicmVha09uRXJyb3IpIHtcbiAgICBvdXQgKz0gJyBpZiAodHJ1ZSkgeyc7XG4gIH1cbiAgcmV0dXJuIG91dDtcbn1cbiIsICIndXNlIHN0cmljdCc7XG5tb2R1bGUuZXhwb3J0cyA9IGZ1bmN0aW9uIGdlbmVyYXRlX3VuaXF1ZUl0ZW1zKGl0LCAka2V5d29yZCwgJHJ1bGVUeXBlKSB7XG4gIHZhciBvdXQgPSAnICc7XG4gIHZhciAkbHZsID0gaXQubGV2ZWw7XG4gIHZhciAkZGF0YUx2bCA9IGl0LmRhdGFMZXZlbDtcbiAgdmFyICRzY2hlbWEgPSBpdC5zY2hlbWFbJGtleXdvcmRdO1xuICB2YXIgJHNjaGVtYVBhdGggPSBpdC5zY2hlbWFQYXRoICsgaXQudXRpbC5nZXRQcm9wZXJ0eSgka2V5d29yZCk7XG4gIHZhciAkZXJyU2NoZW1hUGF0aCA9IGl0LmVyclNjaGVtYVBhdGggKyAnLycgKyAka2V5d29yZDtcbiAgdmFyICRicmVha09uRXJyb3IgPSAhaXQub3B0cy5hbGxFcnJvcnM7XG4gIHZhciAkZGF0YSA9ICdkYXRhJyArICgkZGF0YUx2bCB8fCAnJyk7XG4gIHZhciAkdmFsaWQgPSAndmFsaWQnICsgJGx2bDtcbiAgdmFyICRpc0RhdGEgPSBpdC5vcHRzLiRkYXRhICYmICRzY2hlbWEgJiYgJHNjaGVtYS4kZGF0YSxcbiAgICAkc2NoZW1hVmFsdWU7XG4gIGlmICgkaXNEYXRhKSB7XG4gICAgb3V0ICs9ICcgdmFyIHNjaGVtYScgKyAoJGx2bCkgKyAnID0gJyArIChpdC51dGlsLmdldERhdGEoJHNjaGVtYS4kZGF0YSwgJGRhdGFMdmwsIGl0LmRhdGFQYXRoQXJyKSkgKyAnOyAnO1xuICAgICRzY2hlbWFWYWx1ZSA9ICdzY2hlbWEnICsgJGx2bDtcbiAgfSBlbHNlIHtcbiAgICAkc2NoZW1hVmFsdWUgPSAkc2NoZW1hO1xuICB9XG4gIGlmICgoJHNjaGVtYSB8fCAkaXNEYXRhKSAmJiBpdC5vcHRzLnVuaXF1ZUl0ZW1zICE9PSBmYWxzZSkge1xuICAgIGlmICgkaXNEYXRhKSB7XG4gICAgICBvdXQgKz0gJyB2YXIgJyArICgkdmFsaWQpICsgJzsgaWYgKCcgKyAoJHNjaGVtYVZhbHVlKSArICcgPT09IGZhbHNlIHx8ICcgKyAoJHNjaGVtYVZhbHVlKSArICcgPT09IHVuZGVmaW5lZCkgJyArICgkdmFsaWQpICsgJyA9IHRydWU7IGVsc2UgaWYgKHR5cGVvZiAnICsgKCRzY2hlbWFWYWx1ZSkgKyAnICE9IFxcJ2Jvb2xlYW5cXCcpICcgKyAoJHZhbGlkKSArICcgPSBmYWxzZTsgZWxzZSB7ICc7XG4gICAgfVxuICAgIG91dCArPSAnIHZhciBpID0gJyArICgkZGF0YSkgKyAnLmxlbmd0aCAsICcgKyAoJHZhbGlkKSArICcgPSB0cnVlICwgajsgaWYgKGkgPiAxKSB7ICc7XG4gICAgdmFyICRpdGVtVHlwZSA9IGl0LnNjaGVtYS5pdGVtcyAmJiBpdC5zY2hlbWEuaXRlbXMudHlwZSxcbiAgICAgICR0eXBlSXNBcnJheSA9IEFycmF5LmlzQXJyYXkoJGl0ZW1UeXBlKTtcbiAgICBpZiAoISRpdGVtVHlwZSB8fCAkaXRlbVR5cGUgPT0gJ29iamVjdCcgfHwgJGl0ZW1UeXBlID09ICdhcnJheScgfHwgKCR0eXBlSXNBcnJheSAmJiAoJGl0ZW1UeXBlLmluZGV4T2YoJ29iamVjdCcpID49IDAgfHwgJGl0ZW1UeXBlLmluZGV4T2YoJ2FycmF5JykgPj0gMCkpKSB7XG4gICAgICBvdXQgKz0gJyBvdXRlcjogZm9yICg7aS0tOykgeyBmb3IgKGogPSBpOyBqLS07KSB7IGlmIChlcXVhbCgnICsgKCRkYXRhKSArICdbaV0sICcgKyAoJGRhdGEpICsgJ1tqXSkpIHsgJyArICgkdmFsaWQpICsgJyA9IGZhbHNlOyBicmVhayBvdXRlcjsgfSB9IH0gJztcbiAgICB9IGVsc2Uge1xuICAgICAgb3V0ICs9ICcgdmFyIGl0ZW1JbmRpY2VzID0ge30sIGl0ZW07IGZvciAoO2ktLTspIHsgdmFyIGl0ZW0gPSAnICsgKCRkYXRhKSArICdbaV07ICc7XG4gICAgICB2YXIgJG1ldGhvZCA9ICdjaGVja0RhdGFUeXBlJyArICgkdHlwZUlzQXJyYXkgPyAncycgOiAnJyk7XG4gICAgICBvdXQgKz0gJyBpZiAoJyArIChpdC51dGlsWyRtZXRob2RdKCRpdGVtVHlwZSwgJ2l0ZW0nLCBpdC5vcHRzLnN0cmljdE51bWJlcnMsIHRydWUpKSArICcpIGNvbnRpbnVlOyAnO1xuICAgICAgaWYgKCR0eXBlSXNBcnJheSkge1xuICAgICAgICBvdXQgKz0gJyBpZiAodHlwZW9mIGl0ZW0gPT0gXFwnc3RyaW5nXFwnKSBpdGVtID0gXFwnXCJcXCcgKyBpdGVtOyAnO1xuICAgICAgfVxuICAgICAgb3V0ICs9ICcgaWYgKHR5cGVvZiBpdGVtSW5kaWNlc1tpdGVtXSA9PSBcXCdudW1iZXJcXCcpIHsgJyArICgkdmFsaWQpICsgJyA9IGZhbHNlOyBqID0gaXRlbUluZGljZXNbaXRlbV07IGJyZWFrOyB9IGl0ZW1JbmRpY2VzW2l0ZW1dID0gaTsgfSAnO1xuICAgIH1cbiAgICBvdXQgKz0gJyB9ICc7XG4gICAgaWYgKCRpc0RhdGEpIHtcbiAgICAgIG91dCArPSAnICB9ICAnO1xuICAgIH1cbiAgICBvdXQgKz0gJyBpZiAoIScgKyAoJHZhbGlkKSArICcpIHsgICAnO1xuICAgIHZhciAkJG91dFN0YWNrID0gJCRvdXRTdGFjayB8fCBbXTtcbiAgICAkJG91dFN0YWNrLnB1c2gob3V0KTtcbiAgICBvdXQgPSAnJzsgLyogaXN0YW5idWwgaWdub3JlIGVsc2UgKi9cbiAgICBpZiAoaXQuY3JlYXRlRXJyb3JzICE9PSBmYWxzZSkge1xuICAgICAgb3V0ICs9ICcgeyBrZXl3b3JkOiBcXCcnICsgKCd1bmlxdWVJdGVtcycpICsgJ1xcJyAsIGRhdGFQYXRoOiAoZGF0YVBhdGggfHwgXFwnXFwnKSArICcgKyAoaXQuZXJyb3JQYXRoKSArICcgLCBzY2hlbWFQYXRoOiAnICsgKGl0LnV0aWwudG9RdW90ZWRTdHJpbmcoJGVyclNjaGVtYVBhdGgpKSArICcgLCBwYXJhbXM6IHsgaTogaSwgajogaiB9ICc7XG4gICAgICBpZiAoaXQub3B0cy5tZXNzYWdlcyAhPT0gZmFsc2UpIHtcbiAgICAgICAgb3V0ICs9ICcgLCBtZXNzYWdlOiBcXCdzaG91bGQgTk9UIGhhdmUgZHVwbGljYXRlIGl0ZW1zIChpdGVtcyAjIyBcXCcgKyBqICsgXFwnIGFuZCBcXCcgKyBpICsgXFwnIGFyZSBpZGVudGljYWwpXFwnICc7XG4gICAgICB9XG4gICAgICBpZiAoaXQub3B0cy52ZXJib3NlKSB7XG4gICAgICAgIG91dCArPSAnICwgc2NoZW1hOiAgJztcbiAgICAgICAgaWYgKCRpc0RhdGEpIHtcbiAgICAgICAgICBvdXQgKz0gJ3ZhbGlkYXRlLnNjaGVtYScgKyAoJHNjaGVtYVBhdGgpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIG91dCArPSAnJyArICgkc2NoZW1hKTtcbiAgICAgICAgfVxuICAgICAgICBvdXQgKz0gJyAgICAgICAgICwgcGFyZW50U2NoZW1hOiB2YWxpZGF0ZS5zY2hlbWEnICsgKGl0LnNjaGVtYVBhdGgpICsgJyAsIGRhdGE6ICcgKyAoJGRhdGEpICsgJyAnO1xuICAgICAgfVxuICAgICAgb3V0ICs9ICcgfSAnO1xuICAgIH0gZWxzZSB7XG4gICAgICBvdXQgKz0gJyB7fSAnO1xuICAgIH1cbiAgICB2YXIgX19lcnIgPSBvdXQ7XG4gICAgb3V0ID0gJCRvdXRTdGFjay5wb3AoKTtcbiAgICBpZiAoIWl0LmNvbXBvc2l0ZVJ1bGUgJiYgJGJyZWFrT25FcnJvcikge1xuICAgICAgLyogaXN0YW5idWwgaWdub3JlIGlmICovXG4gICAgICBpZiAoaXQuYXN5bmMpIHtcbiAgICAgICAgb3V0ICs9ICcgdGhyb3cgbmV3IFZhbGlkYXRpb25FcnJvcihbJyArIChfX2VycikgKyAnXSk7ICc7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBvdXQgKz0gJyB2YWxpZGF0ZS5lcnJvcnMgPSBbJyArIChfX2VycikgKyAnXTsgcmV0dXJuIGZhbHNlOyAnO1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICBvdXQgKz0gJyB2YXIgZXJyID0gJyArIChfX2VycikgKyAnOyAgaWYgKHZFcnJvcnMgPT09IG51bGwpIHZFcnJvcnMgPSBbZXJyXTsgZWxzZSB2RXJyb3JzLnB1c2goZXJyKTsgZXJyb3JzKys7ICc7XG4gICAgfVxuICAgIG91dCArPSAnIH0gJztcbiAgICBpZiAoJGJyZWFrT25FcnJvcikge1xuICAgICAgb3V0ICs9ICcgZWxzZSB7ICc7XG4gICAgfVxuICB9IGVsc2Uge1xuICAgIGlmICgkYnJlYWtPbkVycm9yKSB7XG4gICAgICBvdXQgKz0gJyBpZiAodHJ1ZSkgeyAnO1xuICAgIH1cbiAgfVxuICByZXR1cm4gb3V0O1xufVxuIiwgIid1c2Ugc3RyaWN0JztcblxuLy9hbGwgcmVxdWlyZXMgbXVzdCBiZSBleHBsaWNpdCBiZWNhdXNlIGJyb3dzZXJpZnkgd29uJ3Qgd29yayB3aXRoIGR5bmFtaWMgcmVxdWlyZXNcbm1vZHVsZS5leHBvcnRzID0ge1xuICAnJHJlZic6IHJlcXVpcmUoJy4vcmVmJyksXG4gIGFsbE9mOiByZXF1aXJlKCcuL2FsbE9mJyksXG4gIGFueU9mOiByZXF1aXJlKCcuL2FueU9mJyksXG4gICckY29tbWVudCc6IHJlcXVpcmUoJy4vY29tbWVudCcpLFxuICBjb25zdDogcmVxdWlyZSgnLi9jb25zdCcpLFxuICBjb250YWluczogcmVxdWlyZSgnLi9jb250YWlucycpLFxuICBkZXBlbmRlbmNpZXM6IHJlcXVpcmUoJy4vZGVwZW5kZW5jaWVzJyksXG4gICdlbnVtJzogcmVxdWlyZSgnLi9lbnVtJyksXG4gIGZvcm1hdDogcmVxdWlyZSgnLi9mb3JtYXQnKSxcbiAgJ2lmJzogcmVxdWlyZSgnLi9pZicpLFxuICBpdGVtczogcmVxdWlyZSgnLi9pdGVtcycpLFxuICBtYXhpbXVtOiByZXF1aXJlKCcuL19saW1pdCcpLFxuICBtaW5pbXVtOiByZXF1aXJlKCcuL19saW1pdCcpLFxuICBtYXhJdGVtczogcmVxdWlyZSgnLi9fbGltaXRJdGVtcycpLFxuICBtaW5JdGVtczogcmVxdWlyZSgnLi9fbGltaXRJdGVtcycpLFxuICBtYXhMZW5ndGg6IHJlcXVpcmUoJy4vX2xpbWl0TGVuZ3RoJyksXG4gIG1pbkxlbmd0aDogcmVxdWlyZSgnLi9fbGltaXRMZW5ndGgnKSxcbiAgbWF4UHJvcGVydGllczogcmVxdWlyZSgnLi9fbGltaXRQcm9wZXJ0aWVzJyksXG4gIG1pblByb3BlcnRpZXM6IHJlcXVpcmUoJy4vX2xpbWl0UHJvcGVydGllcycpLFxuICBtdWx0aXBsZU9mOiByZXF1aXJlKCcuL211bHRpcGxlT2YnKSxcbiAgbm90OiByZXF1aXJlKCcuL25vdCcpLFxuICBvbmVPZjogcmVxdWlyZSgnLi9vbmVPZicpLFxuICBwYXR0ZXJuOiByZXF1aXJlKCcuL3BhdHRlcm4nKSxcbiAgcHJvcGVydGllczogcmVxdWlyZSgnLi9wcm9wZXJ0aWVzJyksXG4gIHByb3BlcnR5TmFtZXM6IHJlcXVpcmUoJy4vcHJvcGVydHlOYW1lcycpLFxuICByZXF1aXJlZDogcmVxdWlyZSgnLi9yZXF1aXJlZCcpLFxuICB1bmlxdWVJdGVtczogcmVxdWlyZSgnLi91bmlxdWVJdGVtcycpLFxuICB2YWxpZGF0ZTogcmVxdWlyZSgnLi92YWxpZGF0ZScpXG59O1xuIiwgIid1c2Ugc3RyaWN0JztcblxudmFyIHJ1bGVNb2R1bGVzID0gcmVxdWlyZSgnLi4vZG90anMnKVxuICAsIHRvSGFzaCA9IHJlcXVpcmUoJy4vdXRpbCcpLnRvSGFzaDtcblxubW9kdWxlLmV4cG9ydHMgPSBmdW5jdGlvbiBydWxlcygpIHtcbiAgdmFyIFJVTEVTID0gW1xuICAgIHsgdHlwZTogJ251bWJlcicsXG4gICAgICBydWxlczogWyB7ICdtYXhpbXVtJzogWydleGNsdXNpdmVNYXhpbXVtJ10gfSxcbiAgICAgICAgICAgICAgIHsgJ21pbmltdW0nOiBbJ2V4Y2x1c2l2ZU1pbmltdW0nXSB9LCAnbXVsdGlwbGVPZicsICdmb3JtYXQnXSB9LFxuICAgIHsgdHlwZTogJ3N0cmluZycsXG4gICAgICBydWxlczogWyAnbWF4TGVuZ3RoJywgJ21pbkxlbmd0aCcsICdwYXR0ZXJuJywgJ2Zvcm1hdCcgXSB9LFxuICAgIHsgdHlwZTogJ2FycmF5JyxcbiAgICAgIHJ1bGVzOiBbICdtYXhJdGVtcycsICdtaW5JdGVtcycsICdpdGVtcycsICdjb250YWlucycsICd1bmlxdWVJdGVtcycgXSB9LFxuICAgIHsgdHlwZTogJ29iamVjdCcsXG4gICAgICBydWxlczogWyAnbWF4UHJvcGVydGllcycsICdtaW5Qcm9wZXJ0aWVzJywgJ3JlcXVpcmVkJywgJ2RlcGVuZGVuY2llcycsICdwcm9wZXJ0eU5hbWVzJyxcbiAgICAgICAgICAgICAgIHsgJ3Byb3BlcnRpZXMnOiBbJ2FkZGl0aW9uYWxQcm9wZXJ0aWVzJywgJ3BhdHRlcm5Qcm9wZXJ0aWVzJ10gfSBdIH0sXG4gICAgeyBydWxlczogWyAnJHJlZicsICdjb25zdCcsICdlbnVtJywgJ25vdCcsICdhbnlPZicsICdvbmVPZicsICdhbGxPZicsICdpZicgXSB9XG4gIF07XG5cbiAgdmFyIEFMTCA9IFsgJ3R5cGUnLCAnJGNvbW1lbnQnIF07XG4gIHZhciBLRVlXT1JEUyA9IFtcbiAgICAnJHNjaGVtYScsICckaWQnLCAnaWQnLCAnJGRhdGEnLCAnJGFzeW5jJywgJ3RpdGxlJyxcbiAgICAnZGVzY3JpcHRpb24nLCAnZGVmYXVsdCcsICdkZWZpbml0aW9ucycsXG4gICAgJ2V4YW1wbGVzJywgJ3JlYWRPbmx5JywgJ3dyaXRlT25seScsXG4gICAgJ2NvbnRlbnRNZWRpYVR5cGUnLCAnY29udGVudEVuY29kaW5nJyxcbiAgICAnYWRkaXRpb25hbEl0ZW1zJywgJ3RoZW4nLCAnZWxzZSdcbiAgXTtcbiAgdmFyIFRZUEVTID0gWyAnbnVtYmVyJywgJ2ludGVnZXInLCAnc3RyaW5nJywgJ2FycmF5JywgJ29iamVjdCcsICdib29sZWFuJywgJ251bGwnIF07XG4gIFJVTEVTLmFsbCA9IHRvSGFzaChBTEwpO1xuICBSVUxFUy50eXBlcyA9IHRvSGFzaChUWVBFUyk7XG5cbiAgUlVMRVMuZm9yRWFjaChmdW5jdGlvbiAoZ3JvdXApIHtcbiAgICBncm91cC5ydWxlcyA9IGdyb3VwLnJ1bGVzLm1hcChmdW5jdGlvbiAoa2V5d29yZCkge1xuICAgICAgdmFyIGltcGxLZXl3b3JkcztcbiAgICAgIGlmICh0eXBlb2Yga2V5d29yZCA9PSAnb2JqZWN0Jykge1xuICAgICAgICB2YXIga2V5ID0gT2JqZWN0LmtleXMoa2V5d29yZClbMF07XG4gICAgICAgIGltcGxLZXl3b3JkcyA9IGtleXdvcmRba2V5XTtcbiAgICAgICAga2V5d29yZCA9IGtleTtcbiAgICAgICAgaW1wbEtleXdvcmRzLmZvckVhY2goZnVuY3Rpb24gKGspIHtcbiAgICAgICAgICBBTEwucHVzaChrKTtcbiAgICAgICAgICBSVUxFUy5hbGxba10gPSB0cnVlO1xuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICAgIEFMTC5wdXNoKGtleXdvcmQpO1xuICAgICAgdmFyIHJ1bGUgPSBSVUxFUy5hbGxba2V5d29yZF0gPSB7XG4gICAgICAgIGtleXdvcmQ6IGtleXdvcmQsXG4gICAgICAgIGNvZGU6IHJ1bGVNb2R1bGVzW2tleXdvcmRdLFxuICAgICAgICBpbXBsZW1lbnRzOiBpbXBsS2V5d29yZHNcbiAgICAgIH07XG4gICAgICByZXR1cm4gcnVsZTtcbiAgICB9KTtcblxuICAgIFJVTEVTLmFsbC4kY29tbWVudCA9IHtcbiAgICAgIGtleXdvcmQ6ICckY29tbWVudCcsXG4gICAgICBjb2RlOiBydWxlTW9kdWxlcy4kY29tbWVudFxuICAgIH07XG5cbiAgICBpZiAoZ3JvdXAudHlwZSkgUlVMRVMudHlwZXNbZ3JvdXAudHlwZV0gPSBncm91cDtcbiAgfSk7XG5cbiAgUlVMRVMua2V5d29yZHMgPSB0b0hhc2goQUxMLmNvbmNhdChLRVlXT1JEUykpO1xuICBSVUxFUy5jdXN0b20gPSB7fTtcblxuICByZXR1cm4gUlVMRVM7XG59O1xuIiwgIid1c2Ugc3RyaWN0JztcblxudmFyIEtFWVdPUkRTID0gW1xuICAnbXVsdGlwbGVPZicsXG4gICdtYXhpbXVtJyxcbiAgJ2V4Y2x1c2l2ZU1heGltdW0nLFxuICAnbWluaW11bScsXG4gICdleGNsdXNpdmVNaW5pbXVtJyxcbiAgJ21heExlbmd0aCcsXG4gICdtaW5MZW5ndGgnLFxuICAncGF0dGVybicsXG4gICdhZGRpdGlvbmFsSXRlbXMnLFxuICAnbWF4SXRlbXMnLFxuICAnbWluSXRlbXMnLFxuICAndW5pcXVlSXRlbXMnLFxuICAnbWF4UHJvcGVydGllcycsXG4gICdtaW5Qcm9wZXJ0aWVzJyxcbiAgJ3JlcXVpcmVkJyxcbiAgJ2FkZGl0aW9uYWxQcm9wZXJ0aWVzJyxcbiAgJ2VudW0nLFxuICAnZm9ybWF0JyxcbiAgJ2NvbnN0J1xuXTtcblxubW9kdWxlLmV4cG9ydHMgPSBmdW5jdGlvbiAobWV0YVNjaGVtYSwga2V5d29yZHNKc29uUG9pbnRlcnMpIHtcbiAgZm9yICh2YXIgaT0wOyBpPGtleXdvcmRzSnNvblBvaW50ZXJzLmxlbmd0aDsgaSsrKSB7XG4gICAgbWV0YVNjaGVtYSA9IEpTT04ucGFyc2UoSlNPTi5zdHJpbmdpZnkobWV0YVNjaGVtYSkpO1xuICAgIHZhciBzZWdtZW50cyA9IGtleXdvcmRzSnNvblBvaW50ZXJzW2ldLnNwbGl0KCcvJyk7XG4gICAgdmFyIGtleXdvcmRzID0gbWV0YVNjaGVtYTtcbiAgICB2YXIgajtcbiAgICBmb3IgKGo9MTsgajxzZWdtZW50cy5sZW5ndGg7IGorKylcbiAgICAgIGtleXdvcmRzID0ga2V5d29yZHNbc2VnbWVudHNbal1dO1xuXG4gICAgZm9yIChqPTA7IGo8S0VZV09SRFMubGVuZ3RoOyBqKyspIHtcbiAgICAgIHZhciBrZXkgPSBLRVlXT1JEU1tqXTtcbiAgICAgIHZhciBzY2hlbWEgPSBrZXl3b3Jkc1trZXldO1xuICAgICAgaWYgKHNjaGVtYSkge1xuICAgICAgICBrZXl3b3Jkc1trZXldID0ge1xuICAgICAgICAgIGFueU9mOiBbXG4gICAgICAgICAgICBzY2hlbWEsXG4gICAgICAgICAgICB7ICRyZWY6ICdodHRwczovL3Jhdy5naXRodWJ1c2VyY29udGVudC5jb20vYWp2LXZhbGlkYXRvci9hanYvbWFzdGVyL2xpYi9yZWZzL2RhdGEuanNvbiMnIH1cbiAgICAgICAgICBdXG4gICAgICAgIH07XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIG1ldGFTY2hlbWE7XG59O1xuIiwgIid1c2Ugc3RyaWN0JztcblxudmFyIE1pc3NpbmdSZWZFcnJvciA9IHJlcXVpcmUoJy4vZXJyb3JfY2xhc3NlcycpLk1pc3NpbmdSZWY7XG5cbm1vZHVsZS5leHBvcnRzID0gY29tcGlsZUFzeW5jO1xuXG5cbi8qKlxuICogQ3JlYXRlcyB2YWxpZGF0aW5nIGZ1bmN0aW9uIGZvciBwYXNzZWQgc2NoZW1hIHdpdGggYXN5bmNocm9ub3VzIGxvYWRpbmcgb2YgbWlzc2luZyBzY2hlbWFzLlxuICogYGxvYWRTY2hlbWFgIG9wdGlvbiBzaG91bGQgYmUgYSBmdW5jdGlvbiB0aGF0IGFjY2VwdHMgc2NoZW1hIHVyaSBhbmQgcmV0dXJucyBwcm9taXNlIHRoYXQgcmVzb2x2ZXMgd2l0aCB0aGUgc2NoZW1hLlxuICogQHRoaXMgIEFqdlxuICogQHBhcmFtIHtPYmplY3R9ICAgc2NoZW1hIHNjaGVtYSBvYmplY3RcbiAqIEBwYXJhbSB7Qm9vbGVhbn0gIG1ldGEgb3B0aW9uYWwgdHJ1ZSB0byBjb21waWxlIG1ldGEtc2NoZW1hOyB0aGlzIHBhcmFtZXRlciBjYW4gYmUgc2tpcHBlZFxuICogQHBhcmFtIHtGdW5jdGlvbn0gY2FsbGJhY2sgYW4gb3B0aW9uYWwgbm9kZS1zdHlsZSBjYWxsYmFjaywgaXQgaXMgY2FsbGVkIHdpdGggMiBwYXJhbWV0ZXJzOiBlcnJvciAob3IgbnVsbCkgYW5kIHZhbGlkYXRpbmcgZnVuY3Rpb24uXG4gKiBAcmV0dXJuIHtQcm9taXNlfSBwcm9taXNlIHRoYXQgcmVzb2x2ZXMgd2l0aCBhIHZhbGlkYXRpbmcgZnVuY3Rpb24uXG4gKi9cbmZ1bmN0aW9uIGNvbXBpbGVBc3luYyhzY2hlbWEsIG1ldGEsIGNhbGxiYWNrKSB7XG4gIC8qIGVzbGludCBuby1zaGFkb3c6IDAgKi9cbiAgLyogZ2xvYmFsIFByb21pc2UgKi9cbiAgLyoganNoaW50IHZhbGlkdGhpczogdHJ1ZSAqL1xuICB2YXIgc2VsZiA9IHRoaXM7XG4gIGlmICh0eXBlb2YgdGhpcy5fb3B0cy5sb2FkU2NoZW1hICE9ICdmdW5jdGlvbicpXG4gICAgdGhyb3cgbmV3IEVycm9yKCdvcHRpb25zLmxvYWRTY2hlbWEgc2hvdWxkIGJlIGEgZnVuY3Rpb24nKTtcblxuICBpZiAodHlwZW9mIG1ldGEgPT0gJ2Z1bmN0aW9uJykge1xuICAgIGNhbGxiYWNrID0gbWV0YTtcbiAgICBtZXRhID0gdW5kZWZpbmVkO1xuICB9XG5cbiAgdmFyIHAgPSBsb2FkTWV0YVNjaGVtYU9mKHNjaGVtYSkudGhlbihmdW5jdGlvbiAoKSB7XG4gICAgdmFyIHNjaGVtYU9iaiA9IHNlbGYuX2FkZFNjaGVtYShzY2hlbWEsIHVuZGVmaW5lZCwgbWV0YSk7XG4gICAgcmV0dXJuIHNjaGVtYU9iai52YWxpZGF0ZSB8fCBfY29tcGlsZUFzeW5jKHNjaGVtYU9iaik7XG4gIH0pO1xuXG4gIGlmIChjYWxsYmFjaykge1xuICAgIHAudGhlbihcbiAgICAgIGZ1bmN0aW9uKHYpIHsgY2FsbGJhY2sobnVsbCwgdik7IH0sXG4gICAgICBjYWxsYmFja1xuICAgICk7XG4gIH1cblxuICByZXR1cm4gcDtcblxuXG4gIGZ1bmN0aW9uIGxvYWRNZXRhU2NoZW1hT2Yoc2NoKSB7XG4gICAgdmFyICRzY2hlbWEgPSBzY2guJHNjaGVtYTtcbiAgICByZXR1cm4gJHNjaGVtYSAmJiAhc2VsZi5nZXRTY2hlbWEoJHNjaGVtYSlcbiAgICAgICAgICAgID8gY29tcGlsZUFzeW5jLmNhbGwoc2VsZiwgeyAkcmVmOiAkc2NoZW1hIH0sIHRydWUpXG4gICAgICAgICAgICA6IFByb21pc2UucmVzb2x2ZSgpO1xuICB9XG5cblxuICBmdW5jdGlvbiBfY29tcGlsZUFzeW5jKHNjaGVtYU9iaikge1xuICAgIHRyeSB7IHJldHVybiBzZWxmLl9jb21waWxlKHNjaGVtYU9iaik7IH1cbiAgICBjYXRjaChlKSB7XG4gICAgICBpZiAoZSBpbnN0YW5jZW9mIE1pc3NpbmdSZWZFcnJvcikgcmV0dXJuIGxvYWRNaXNzaW5nU2NoZW1hKGUpO1xuICAgICAgdGhyb3cgZTtcbiAgICB9XG5cblxuICAgIGZ1bmN0aW9uIGxvYWRNaXNzaW5nU2NoZW1hKGUpIHtcbiAgICAgIHZhciByZWYgPSBlLm1pc3NpbmdTY2hlbWE7XG4gICAgICBpZiAoYWRkZWQocmVmKSkgdGhyb3cgbmV3IEVycm9yKCdTY2hlbWEgJyArIHJlZiArICcgaXMgbG9hZGVkIGJ1dCAnICsgZS5taXNzaW5nUmVmICsgJyBjYW5ub3QgYmUgcmVzb2x2ZWQnKTtcblxuICAgICAgdmFyIHNjaGVtYVByb21pc2UgPSBzZWxmLl9sb2FkaW5nU2NoZW1hc1tyZWZdO1xuICAgICAgaWYgKCFzY2hlbWFQcm9taXNlKSB7XG4gICAgICAgIHNjaGVtYVByb21pc2UgPSBzZWxmLl9sb2FkaW5nU2NoZW1hc1tyZWZdID0gc2VsZi5fb3B0cy5sb2FkU2NoZW1hKHJlZik7XG4gICAgICAgIHNjaGVtYVByb21pc2UudGhlbihyZW1vdmVQcm9taXNlLCByZW1vdmVQcm9taXNlKTtcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIHNjaGVtYVByb21pc2UudGhlbihmdW5jdGlvbiAoc2NoKSB7XG4gICAgICAgIGlmICghYWRkZWQocmVmKSkge1xuICAgICAgICAgIHJldHVybiBsb2FkTWV0YVNjaGVtYU9mKHNjaCkudGhlbihmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgICBpZiAoIWFkZGVkKHJlZikpIHNlbGYuYWRkU2NoZW1hKHNjaCwgcmVmLCB1bmRlZmluZWQsIG1ldGEpO1xuICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICB9KS50aGVuKGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gX2NvbXBpbGVBc3luYyhzY2hlbWFPYmopO1xuICAgICAgfSk7XG5cbiAgICAgIGZ1bmN0aW9uIHJlbW92ZVByb21pc2UoKSB7XG4gICAgICAgIGRlbGV0ZSBzZWxmLl9sb2FkaW5nU2NoZW1hc1tyZWZdO1xuICAgICAgfVxuXG4gICAgICBmdW5jdGlvbiBhZGRlZChyZWYpIHtcbiAgICAgICAgcmV0dXJuIHNlbGYuX3JlZnNbcmVmXSB8fCBzZWxmLl9zY2hlbWFzW3JlZl07XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCAiJ3VzZSBzdHJpY3QnO1xubW9kdWxlLmV4cG9ydHMgPSBmdW5jdGlvbiBnZW5lcmF0ZV9jdXN0b20oaXQsICRrZXl3b3JkLCAkcnVsZVR5cGUpIHtcbiAgdmFyIG91dCA9ICcgJztcbiAgdmFyICRsdmwgPSBpdC5sZXZlbDtcbiAgdmFyICRkYXRhTHZsID0gaXQuZGF0YUxldmVsO1xuICB2YXIgJHNjaGVtYSA9IGl0LnNjaGVtYVska2V5d29yZF07XG4gIHZhciAkc2NoZW1hUGF0aCA9IGl0LnNjaGVtYVBhdGggKyBpdC51dGlsLmdldFByb3BlcnR5KCRrZXl3b3JkKTtcbiAgdmFyICRlcnJTY2hlbWFQYXRoID0gaXQuZXJyU2NoZW1hUGF0aCArICcvJyArICRrZXl3b3JkO1xuICB2YXIgJGJyZWFrT25FcnJvciA9ICFpdC5vcHRzLmFsbEVycm9ycztcbiAgdmFyICRlcnJvcktleXdvcmQ7XG4gIHZhciAkZGF0YSA9ICdkYXRhJyArICgkZGF0YUx2bCB8fCAnJyk7XG4gIHZhciAkdmFsaWQgPSAndmFsaWQnICsgJGx2bDtcbiAgdmFyICRlcnJzID0gJ2VycnNfXycgKyAkbHZsO1xuICB2YXIgJGlzRGF0YSA9IGl0Lm9wdHMuJGRhdGEgJiYgJHNjaGVtYSAmJiAkc2NoZW1hLiRkYXRhLFxuICAgICRzY2hlbWFWYWx1ZTtcbiAgaWYgKCRpc0RhdGEpIHtcbiAgICBvdXQgKz0gJyB2YXIgc2NoZW1hJyArICgkbHZsKSArICcgPSAnICsgKGl0LnV0aWwuZ2V0RGF0YSgkc2NoZW1hLiRkYXRhLCAkZGF0YUx2bCwgaXQuZGF0YVBhdGhBcnIpKSArICc7ICc7XG4gICAgJHNjaGVtYVZhbHVlID0gJ3NjaGVtYScgKyAkbHZsO1xuICB9IGVsc2Uge1xuICAgICRzY2hlbWFWYWx1ZSA9ICRzY2hlbWE7XG4gIH1cbiAgdmFyICRydWxlID0gdGhpcyxcbiAgICAkZGVmaW5pdGlvbiA9ICdkZWZpbml0aW9uJyArICRsdmwsXG4gICAgJHJEZWYgPSAkcnVsZS5kZWZpbml0aW9uLFxuICAgICRjbG9zaW5nQnJhY2VzID0gJyc7XG4gIHZhciAkY29tcGlsZSwgJGlubGluZSwgJG1hY3JvLCAkcnVsZVZhbGlkYXRlLCAkdmFsaWRhdGVDb2RlO1xuICBpZiAoJGlzRGF0YSAmJiAkckRlZi4kZGF0YSkge1xuICAgICR2YWxpZGF0ZUNvZGUgPSAna2V5d29yZFZhbGlkYXRlJyArICRsdmw7XG4gICAgdmFyICR2YWxpZGF0ZVNjaGVtYSA9ICRyRGVmLnZhbGlkYXRlU2NoZW1hO1xuICAgIG91dCArPSAnIHZhciAnICsgKCRkZWZpbml0aW9uKSArICcgPSBSVUxFUy5jdXN0b21bXFwnJyArICgka2V5d29yZCkgKyAnXFwnXS5kZWZpbml0aW9uOyB2YXIgJyArICgkdmFsaWRhdGVDb2RlKSArICcgPSAnICsgKCRkZWZpbml0aW9uKSArICcudmFsaWRhdGU7JztcbiAgfSBlbHNlIHtcbiAgICAkcnVsZVZhbGlkYXRlID0gaXQudXNlQ3VzdG9tUnVsZSgkcnVsZSwgJHNjaGVtYSwgaXQuc2NoZW1hLCBpdCk7XG4gICAgaWYgKCEkcnVsZVZhbGlkYXRlKSByZXR1cm47XG4gICAgJHNjaGVtYVZhbHVlID0gJ3ZhbGlkYXRlLnNjaGVtYScgKyAkc2NoZW1hUGF0aDtcbiAgICAkdmFsaWRhdGVDb2RlID0gJHJ1bGVWYWxpZGF0ZS5jb2RlO1xuICAgICRjb21waWxlID0gJHJEZWYuY29tcGlsZTtcbiAgICAkaW5saW5lID0gJHJEZWYuaW5saW5lO1xuICAgICRtYWNybyA9ICRyRGVmLm1hY3JvO1xuICB9XG4gIHZhciAkcnVsZUVycnMgPSAkdmFsaWRhdGVDb2RlICsgJy5lcnJvcnMnLFxuICAgICRpID0gJ2knICsgJGx2bCxcbiAgICAkcnVsZUVyciA9ICdydWxlRXJyJyArICRsdmwsXG4gICAgJGFzeW5jS2V5d29yZCA9ICRyRGVmLmFzeW5jO1xuICBpZiAoJGFzeW5jS2V5d29yZCAmJiAhaXQuYXN5bmMpIHRocm93IG5ldyBFcnJvcignYXN5bmMga2V5d29yZCBpbiBzeW5jIHNjaGVtYScpO1xuICBpZiAoISgkaW5saW5lIHx8ICRtYWNybykpIHtcbiAgICBvdXQgKz0gJycgKyAoJHJ1bGVFcnJzKSArICcgPSBudWxsOyc7XG4gIH1cbiAgb3V0ICs9ICd2YXIgJyArICgkZXJycykgKyAnID0gZXJyb3JzO3ZhciAnICsgKCR2YWxpZCkgKyAnOyc7XG4gIGlmICgkaXNEYXRhICYmICRyRGVmLiRkYXRhKSB7XG4gICAgJGNsb3NpbmdCcmFjZXMgKz0gJ30nO1xuICAgIG91dCArPSAnIGlmICgnICsgKCRzY2hlbWFWYWx1ZSkgKyAnID09PSB1bmRlZmluZWQpIHsgJyArICgkdmFsaWQpICsgJyA9IHRydWU7IH0gZWxzZSB7ICc7XG4gICAgaWYgKCR2YWxpZGF0ZVNjaGVtYSkge1xuICAgICAgJGNsb3NpbmdCcmFjZXMgKz0gJ30nO1xuICAgICAgb3V0ICs9ICcgJyArICgkdmFsaWQpICsgJyA9ICcgKyAoJGRlZmluaXRpb24pICsgJy52YWxpZGF0ZVNjaGVtYSgnICsgKCRzY2hlbWFWYWx1ZSkgKyAnKTsgaWYgKCcgKyAoJHZhbGlkKSArICcpIHsgJztcbiAgICB9XG4gIH1cbiAgaWYgKCRpbmxpbmUpIHtcbiAgICBpZiAoJHJEZWYuc3RhdGVtZW50cykge1xuICAgICAgb3V0ICs9ICcgJyArICgkcnVsZVZhbGlkYXRlLnZhbGlkYXRlKSArICcgJztcbiAgICB9IGVsc2Uge1xuICAgICAgb3V0ICs9ICcgJyArICgkdmFsaWQpICsgJyA9ICcgKyAoJHJ1bGVWYWxpZGF0ZS52YWxpZGF0ZSkgKyAnOyAnO1xuICAgIH1cbiAgfSBlbHNlIGlmICgkbWFjcm8pIHtcbiAgICB2YXIgJGl0ID0gaXQudXRpbC5jb3B5KGl0KTtcbiAgICB2YXIgJGNsb3NpbmdCcmFjZXMgPSAnJztcbiAgICAkaXQubGV2ZWwrKztcbiAgICB2YXIgJG5leHRWYWxpZCA9ICd2YWxpZCcgKyAkaXQubGV2ZWw7XG4gICAgJGl0LnNjaGVtYSA9ICRydWxlVmFsaWRhdGUudmFsaWRhdGU7XG4gICAgJGl0LnNjaGVtYVBhdGggPSAnJztcbiAgICB2YXIgJHdhc0NvbXBvc2l0ZSA9IGl0LmNvbXBvc2l0ZVJ1bGU7XG4gICAgaXQuY29tcG9zaXRlUnVsZSA9ICRpdC5jb21wb3NpdGVSdWxlID0gdHJ1ZTtcbiAgICB2YXIgJGNvZGUgPSBpdC52YWxpZGF0ZSgkaXQpLnJlcGxhY2UoL3ZhbGlkYXRlXFwuc2NoZW1hL2csICR2YWxpZGF0ZUNvZGUpO1xuICAgIGl0LmNvbXBvc2l0ZVJ1bGUgPSAkaXQuY29tcG9zaXRlUnVsZSA9ICR3YXNDb21wb3NpdGU7XG4gICAgb3V0ICs9ICcgJyArICgkY29kZSk7XG4gIH0gZWxzZSB7XG4gICAgdmFyICQkb3V0U3RhY2sgPSAkJG91dFN0YWNrIHx8IFtdO1xuICAgICQkb3V0U3RhY2sucHVzaChvdXQpO1xuICAgIG91dCA9ICcnO1xuICAgIG91dCArPSAnICAnICsgKCR2YWxpZGF0ZUNvZGUpICsgJy5jYWxsKCAnO1xuICAgIGlmIChpdC5vcHRzLnBhc3NDb250ZXh0KSB7XG4gICAgICBvdXQgKz0gJ3RoaXMnO1xuICAgIH0gZWxzZSB7XG4gICAgICBvdXQgKz0gJ3NlbGYnO1xuICAgIH1cbiAgICBpZiAoJGNvbXBpbGUgfHwgJHJEZWYuc2NoZW1hID09PSBmYWxzZSkge1xuICAgICAgb3V0ICs9ICcgLCAnICsgKCRkYXRhKSArICcgJztcbiAgICB9IGVsc2Uge1xuICAgICAgb3V0ICs9ICcgLCAnICsgKCRzY2hlbWFWYWx1ZSkgKyAnICwgJyArICgkZGF0YSkgKyAnICwgdmFsaWRhdGUuc2NoZW1hJyArIChpdC5zY2hlbWFQYXRoKSArICcgJztcbiAgICB9XG4gICAgb3V0ICs9ICcgLCAoZGF0YVBhdGggfHwgXFwnXFwnKSc7XG4gICAgaWYgKGl0LmVycm9yUGF0aCAhPSAnXCJcIicpIHtcbiAgICAgIG91dCArPSAnICsgJyArIChpdC5lcnJvclBhdGgpO1xuICAgIH1cbiAgICB2YXIgJHBhcmVudERhdGEgPSAkZGF0YUx2bCA/ICdkYXRhJyArICgoJGRhdGFMdmwgLSAxKSB8fCAnJykgOiAncGFyZW50RGF0YScsXG4gICAgICAkcGFyZW50RGF0YVByb3BlcnR5ID0gJGRhdGFMdmwgPyBpdC5kYXRhUGF0aEFyclskZGF0YUx2bF0gOiAncGFyZW50RGF0YVByb3BlcnR5JztcbiAgICBvdXQgKz0gJyAsICcgKyAoJHBhcmVudERhdGEpICsgJyAsICcgKyAoJHBhcmVudERhdGFQcm9wZXJ0eSkgKyAnICwgcm9vdERhdGEgKSAgJztcbiAgICB2YXIgZGVmX2NhbGxSdWxlVmFsaWRhdGUgPSBvdXQ7XG4gICAgb3V0ID0gJCRvdXRTdGFjay5wb3AoKTtcbiAgICBpZiAoJHJEZWYuZXJyb3JzID09PSBmYWxzZSkge1xuICAgICAgb3V0ICs9ICcgJyArICgkdmFsaWQpICsgJyA9ICc7XG4gICAgICBpZiAoJGFzeW5jS2V5d29yZCkge1xuICAgICAgICBvdXQgKz0gJ2F3YWl0ICc7XG4gICAgICB9XG4gICAgICBvdXQgKz0gJycgKyAoZGVmX2NhbGxSdWxlVmFsaWRhdGUpICsgJzsgJztcbiAgICB9IGVsc2Uge1xuICAgICAgaWYgKCRhc3luY0tleXdvcmQpIHtcbiAgICAgICAgJHJ1bGVFcnJzID0gJ2N1c3RvbUVycm9ycycgKyAkbHZsO1xuICAgICAgICBvdXQgKz0gJyB2YXIgJyArICgkcnVsZUVycnMpICsgJyA9IG51bGw7IHRyeSB7ICcgKyAoJHZhbGlkKSArICcgPSBhd2FpdCAnICsgKGRlZl9jYWxsUnVsZVZhbGlkYXRlKSArICc7IH0gY2F0Y2ggKGUpIHsgJyArICgkdmFsaWQpICsgJyA9IGZhbHNlOyBpZiAoZSBpbnN0YW5jZW9mIFZhbGlkYXRpb25FcnJvcikgJyArICgkcnVsZUVycnMpICsgJyA9IGUuZXJyb3JzOyBlbHNlIHRocm93IGU7IH0gJztcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIG91dCArPSAnICcgKyAoJHJ1bGVFcnJzKSArICcgPSBudWxsOyAnICsgKCR2YWxpZCkgKyAnID0gJyArIChkZWZfY2FsbFJ1bGVWYWxpZGF0ZSkgKyAnOyAnO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICBpZiAoJHJEZWYubW9kaWZ5aW5nKSB7XG4gICAgb3V0ICs9ICcgaWYgKCcgKyAoJHBhcmVudERhdGEpICsgJykgJyArICgkZGF0YSkgKyAnID0gJyArICgkcGFyZW50RGF0YSkgKyAnWycgKyAoJHBhcmVudERhdGFQcm9wZXJ0eSkgKyAnXTsnO1xuICB9XG4gIG91dCArPSAnJyArICgkY2xvc2luZ0JyYWNlcyk7XG4gIGlmICgkckRlZi52YWxpZCkge1xuICAgIGlmICgkYnJlYWtPbkVycm9yKSB7XG4gICAgICBvdXQgKz0gJyBpZiAodHJ1ZSkgeyAnO1xuICAgIH1cbiAgfSBlbHNlIHtcbiAgICBvdXQgKz0gJyBpZiAoICc7XG4gICAgaWYgKCRyRGVmLnZhbGlkID09PSB1bmRlZmluZWQpIHtcbiAgICAgIG91dCArPSAnICEnO1xuICAgICAgaWYgKCRtYWNybykge1xuICAgICAgICBvdXQgKz0gJycgKyAoJG5leHRWYWxpZCk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBvdXQgKz0gJycgKyAoJHZhbGlkKTtcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgb3V0ICs9ICcgJyArICghJHJEZWYudmFsaWQpICsgJyAnO1xuICAgIH1cbiAgICBvdXQgKz0gJykgeyAnO1xuICAgICRlcnJvcktleXdvcmQgPSAkcnVsZS5rZXl3b3JkO1xuICAgIHZhciAkJG91dFN0YWNrID0gJCRvdXRTdGFjayB8fCBbXTtcbiAgICAkJG91dFN0YWNrLnB1c2gob3V0KTtcbiAgICBvdXQgPSAnJztcbiAgICB2YXIgJCRvdXRTdGFjayA9ICQkb3V0U3RhY2sgfHwgW107XG4gICAgJCRvdXRTdGFjay5wdXNoKG91dCk7XG4gICAgb3V0ID0gJyc7IC8qIGlzdGFuYnVsIGlnbm9yZSBlbHNlICovXG4gICAgaWYgKGl0LmNyZWF0ZUVycm9ycyAhPT0gZmFsc2UpIHtcbiAgICAgIG91dCArPSAnIHsga2V5d29yZDogXFwnJyArICgkZXJyb3JLZXl3b3JkIHx8ICdjdXN0b20nKSArICdcXCcgLCBkYXRhUGF0aDogKGRhdGFQYXRoIHx8IFxcJ1xcJykgKyAnICsgKGl0LmVycm9yUGF0aCkgKyAnICwgc2NoZW1hUGF0aDogJyArIChpdC51dGlsLnRvUXVvdGVkU3RyaW5nKCRlcnJTY2hlbWFQYXRoKSkgKyAnICwgcGFyYW1zOiB7IGtleXdvcmQ6IFxcJycgKyAoJHJ1bGUua2V5d29yZCkgKyAnXFwnIH0gJztcbiAgICAgIGlmIChpdC5vcHRzLm1lc3NhZ2VzICE9PSBmYWxzZSkge1xuICAgICAgICBvdXQgKz0gJyAsIG1lc3NhZ2U6IFxcJ3Nob3VsZCBwYXNzIFwiJyArICgkcnVsZS5rZXl3b3JkKSArICdcIiBrZXl3b3JkIHZhbGlkYXRpb25cXCcgJztcbiAgICAgIH1cbiAgICAgIGlmIChpdC5vcHRzLnZlcmJvc2UpIHtcbiAgICAgICAgb3V0ICs9ICcgLCBzY2hlbWE6IHZhbGlkYXRlLnNjaGVtYScgKyAoJHNjaGVtYVBhdGgpICsgJyAsIHBhcmVudFNjaGVtYTogdmFsaWRhdGUuc2NoZW1hJyArIChpdC5zY2hlbWFQYXRoKSArICcgLCBkYXRhOiAnICsgKCRkYXRhKSArICcgJztcbiAgICAgIH1cbiAgICAgIG91dCArPSAnIH0gJztcbiAgICB9IGVsc2Uge1xuICAgICAgb3V0ICs9ICcge30gJztcbiAgICB9XG4gICAgdmFyIF9fZXJyID0gb3V0O1xuICAgIG91dCA9ICQkb3V0U3RhY2sucG9wKCk7XG4gICAgaWYgKCFpdC5jb21wb3NpdGVSdWxlICYmICRicmVha09uRXJyb3IpIHtcbiAgICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBpZiAqL1xuICAgICAgaWYgKGl0LmFzeW5jKSB7XG4gICAgICAgIG91dCArPSAnIHRocm93IG5ldyBWYWxpZGF0aW9uRXJyb3IoWycgKyAoX19lcnIpICsgJ10pOyAnO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgb3V0ICs9ICcgdmFsaWRhdGUuZXJyb3JzID0gWycgKyAoX19lcnIpICsgJ107IHJldHVybiBmYWxzZTsgJztcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgb3V0ICs9ICcgdmFyIGVyciA9ICcgKyAoX19lcnIpICsgJzsgIGlmICh2RXJyb3JzID09PSBudWxsKSB2RXJyb3JzID0gW2Vycl07IGVsc2UgdkVycm9ycy5wdXNoKGVycik7IGVycm9ycysrOyAnO1xuICAgIH1cbiAgICB2YXIgZGVmX2N1c3RvbUVycm9yID0gb3V0O1xuICAgIG91dCA9ICQkb3V0U3RhY2sucG9wKCk7XG4gICAgaWYgKCRpbmxpbmUpIHtcbiAgICAgIGlmICgkckRlZi5lcnJvcnMpIHtcbiAgICAgICAgaWYgKCRyRGVmLmVycm9ycyAhPSAnZnVsbCcpIHtcbiAgICAgICAgICBvdXQgKz0gJyAgZm9yICh2YXIgJyArICgkaSkgKyAnPScgKyAoJGVycnMpICsgJzsgJyArICgkaSkgKyAnPGVycm9yczsgJyArICgkaSkgKyAnKyspIHsgdmFyICcgKyAoJHJ1bGVFcnIpICsgJyA9IHZFcnJvcnNbJyArICgkaSkgKyAnXTsgaWYgKCcgKyAoJHJ1bGVFcnIpICsgJy5kYXRhUGF0aCA9PT0gdW5kZWZpbmVkKSAnICsgKCRydWxlRXJyKSArICcuZGF0YVBhdGggPSAoZGF0YVBhdGggfHwgXFwnXFwnKSArICcgKyAoaXQuZXJyb3JQYXRoKSArICc7IGlmICgnICsgKCRydWxlRXJyKSArICcuc2NoZW1hUGF0aCA9PT0gdW5kZWZpbmVkKSB7ICcgKyAoJHJ1bGVFcnIpICsgJy5zY2hlbWFQYXRoID0gXCInICsgKCRlcnJTY2hlbWFQYXRoKSArICdcIjsgfSAnO1xuICAgICAgICAgIGlmIChpdC5vcHRzLnZlcmJvc2UpIHtcbiAgICAgICAgICAgIG91dCArPSAnICcgKyAoJHJ1bGVFcnIpICsgJy5zY2hlbWEgPSAnICsgKCRzY2hlbWFWYWx1ZSkgKyAnOyAnICsgKCRydWxlRXJyKSArICcuZGF0YSA9ICcgKyAoJGRhdGEpICsgJzsgJztcbiAgICAgICAgICB9XG4gICAgICAgICAgb3V0ICs9ICcgfSAnO1xuICAgICAgICB9XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBpZiAoJHJEZWYuZXJyb3JzID09PSBmYWxzZSkge1xuICAgICAgICAgIG91dCArPSAnICcgKyAoZGVmX2N1c3RvbUVycm9yKSArICcgJztcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBvdXQgKz0gJyBpZiAoJyArICgkZXJycykgKyAnID09IGVycm9ycykgeyAnICsgKGRlZl9jdXN0b21FcnJvcikgKyAnIH0gZWxzZSB7ICBmb3IgKHZhciAnICsgKCRpKSArICc9JyArICgkZXJycykgKyAnOyAnICsgKCRpKSArICc8ZXJyb3JzOyAnICsgKCRpKSArICcrKykgeyB2YXIgJyArICgkcnVsZUVycikgKyAnID0gdkVycm9yc1snICsgKCRpKSArICddOyBpZiAoJyArICgkcnVsZUVycikgKyAnLmRhdGFQYXRoID09PSB1bmRlZmluZWQpICcgKyAoJHJ1bGVFcnIpICsgJy5kYXRhUGF0aCA9IChkYXRhUGF0aCB8fCBcXCdcXCcpICsgJyArIChpdC5lcnJvclBhdGgpICsgJzsgaWYgKCcgKyAoJHJ1bGVFcnIpICsgJy5zY2hlbWFQYXRoID09PSB1bmRlZmluZWQpIHsgJyArICgkcnVsZUVycikgKyAnLnNjaGVtYVBhdGggPSBcIicgKyAoJGVyclNjaGVtYVBhdGgpICsgJ1wiOyB9ICc7XG4gICAgICAgICAgaWYgKGl0Lm9wdHMudmVyYm9zZSkge1xuICAgICAgICAgICAgb3V0ICs9ICcgJyArICgkcnVsZUVycikgKyAnLnNjaGVtYSA9ICcgKyAoJHNjaGVtYVZhbHVlKSArICc7ICcgKyAoJHJ1bGVFcnIpICsgJy5kYXRhID0gJyArICgkZGF0YSkgKyAnOyAnO1xuICAgICAgICAgIH1cbiAgICAgICAgICBvdXQgKz0gJyB9IH0gJztcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0gZWxzZSBpZiAoJG1hY3JvKSB7XG4gICAgICBvdXQgKz0gJyAgIHZhciBlcnIgPSAgICc7IC8qIGlzdGFuYnVsIGlnbm9yZSBlbHNlICovXG4gICAgICBpZiAoaXQuY3JlYXRlRXJyb3JzICE9PSBmYWxzZSkge1xuICAgICAgICBvdXQgKz0gJyB7IGtleXdvcmQ6IFxcJycgKyAoJGVycm9yS2V5d29yZCB8fCAnY3VzdG9tJykgKyAnXFwnICwgZGF0YVBhdGg6IChkYXRhUGF0aCB8fCBcXCdcXCcpICsgJyArIChpdC5lcnJvclBhdGgpICsgJyAsIHNjaGVtYVBhdGg6ICcgKyAoaXQudXRpbC50b1F1b3RlZFN0cmluZygkZXJyU2NoZW1hUGF0aCkpICsgJyAsIHBhcmFtczogeyBrZXl3b3JkOiBcXCcnICsgKCRydWxlLmtleXdvcmQpICsgJ1xcJyB9ICc7XG4gICAgICAgIGlmIChpdC5vcHRzLm1lc3NhZ2VzICE9PSBmYWxzZSkge1xuICAgICAgICAgIG91dCArPSAnICwgbWVzc2FnZTogXFwnc2hvdWxkIHBhc3MgXCInICsgKCRydWxlLmtleXdvcmQpICsgJ1wiIGtleXdvcmQgdmFsaWRhdGlvblxcJyAnO1xuICAgICAgICB9XG4gICAgICAgIGlmIChpdC5vcHRzLnZlcmJvc2UpIHtcbiAgICAgICAgICBvdXQgKz0gJyAsIHNjaGVtYTogdmFsaWRhdGUuc2NoZW1hJyArICgkc2NoZW1hUGF0aCkgKyAnICwgcGFyZW50U2NoZW1hOiB2YWxpZGF0ZS5zY2hlbWEnICsgKGl0LnNjaGVtYVBhdGgpICsgJyAsIGRhdGE6ICcgKyAoJGRhdGEpICsgJyAnO1xuICAgICAgICB9XG4gICAgICAgIG91dCArPSAnIH0gJztcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIG91dCArPSAnIHt9ICc7XG4gICAgICB9XG4gICAgICBvdXQgKz0gJzsgIGlmICh2RXJyb3JzID09PSBudWxsKSB2RXJyb3JzID0gW2Vycl07IGVsc2UgdkVycm9ycy5wdXNoKGVycik7IGVycm9ycysrOyAnO1xuICAgICAgaWYgKCFpdC5jb21wb3NpdGVSdWxlICYmICRicmVha09uRXJyb3IpIHtcbiAgICAgICAgLyogaXN0YW5idWwgaWdub3JlIGlmICovXG4gICAgICAgIGlmIChpdC5hc3luYykge1xuICAgICAgICAgIG91dCArPSAnIHRocm93IG5ldyBWYWxpZGF0aW9uRXJyb3IodkVycm9ycyk7ICc7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgb3V0ICs9ICcgdmFsaWRhdGUuZXJyb3JzID0gdkVycm9yczsgcmV0dXJuIGZhbHNlOyAnO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIGlmICgkckRlZi5lcnJvcnMgPT09IGZhbHNlKSB7XG4gICAgICAgIG91dCArPSAnICcgKyAoZGVmX2N1c3RvbUVycm9yKSArICcgJztcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIG91dCArPSAnIGlmIChBcnJheS5pc0FycmF5KCcgKyAoJHJ1bGVFcnJzKSArICcpKSB7IGlmICh2RXJyb3JzID09PSBudWxsKSB2RXJyb3JzID0gJyArICgkcnVsZUVycnMpICsgJzsgZWxzZSB2RXJyb3JzID0gdkVycm9ycy5jb25jYXQoJyArICgkcnVsZUVycnMpICsgJyk7IGVycm9ycyA9IHZFcnJvcnMubGVuZ3RoOyAgZm9yICh2YXIgJyArICgkaSkgKyAnPScgKyAoJGVycnMpICsgJzsgJyArICgkaSkgKyAnPGVycm9yczsgJyArICgkaSkgKyAnKyspIHsgdmFyICcgKyAoJHJ1bGVFcnIpICsgJyA9IHZFcnJvcnNbJyArICgkaSkgKyAnXTsgaWYgKCcgKyAoJHJ1bGVFcnIpICsgJy5kYXRhUGF0aCA9PT0gdW5kZWZpbmVkKSAnICsgKCRydWxlRXJyKSArICcuZGF0YVBhdGggPSAoZGF0YVBhdGggfHwgXFwnXFwnKSArICcgKyAoaXQuZXJyb3JQYXRoKSArICc7ICAnICsgKCRydWxlRXJyKSArICcuc2NoZW1hUGF0aCA9IFwiJyArICgkZXJyU2NoZW1hUGF0aCkgKyAnXCI7ICAnO1xuICAgICAgICBpZiAoaXQub3B0cy52ZXJib3NlKSB7XG4gICAgICAgICAgb3V0ICs9ICcgJyArICgkcnVsZUVycikgKyAnLnNjaGVtYSA9ICcgKyAoJHNjaGVtYVZhbHVlKSArICc7ICcgKyAoJHJ1bGVFcnIpICsgJy5kYXRhID0gJyArICgkZGF0YSkgKyAnOyAnO1xuICAgICAgICB9XG4gICAgICAgIG91dCArPSAnIH0gfSBlbHNlIHsgJyArIChkZWZfY3VzdG9tRXJyb3IpICsgJyB9ICc7XG4gICAgICB9XG4gICAgfVxuICAgIG91dCArPSAnIH0gJztcbiAgICBpZiAoJGJyZWFrT25FcnJvcikge1xuICAgICAgb3V0ICs9ICcgZWxzZSB7ICc7XG4gICAgfVxuICB9XG4gIHJldHVybiBvdXQ7XG59XG4iLCAie1xuICAgIFwiJHNjaGVtYVwiOiBcImh0dHA6Ly9qc29uLXNjaGVtYS5vcmcvZHJhZnQtMDcvc2NoZW1hI1wiLFxuICAgIFwiJGlkXCI6IFwiaHR0cDovL2pzb24tc2NoZW1hLm9yZy9kcmFmdC0wNy9zY2hlbWEjXCIsXG4gICAgXCJ0aXRsZVwiOiBcIkNvcmUgc2NoZW1hIG1ldGEtc2NoZW1hXCIsXG4gICAgXCJkZWZpbml0aW9uc1wiOiB7XG4gICAgICAgIFwic2NoZW1hQXJyYXlcIjoge1xuICAgICAgICAgICAgXCJ0eXBlXCI6IFwiYXJyYXlcIixcbiAgICAgICAgICAgIFwibWluSXRlbXNcIjogMSxcbiAgICAgICAgICAgIFwiaXRlbXNcIjogeyBcIiRyZWZcIjogXCIjXCIgfVxuICAgICAgICB9LFxuICAgICAgICBcIm5vbk5lZ2F0aXZlSW50ZWdlclwiOiB7XG4gICAgICAgICAgICBcInR5cGVcIjogXCJpbnRlZ2VyXCIsXG4gICAgICAgICAgICBcIm1pbmltdW1cIjogMFxuICAgICAgICB9LFxuICAgICAgICBcIm5vbk5lZ2F0aXZlSW50ZWdlckRlZmF1bHQwXCI6IHtcbiAgICAgICAgICAgIFwiYWxsT2ZcIjogW1xuICAgICAgICAgICAgICAgIHsgXCIkcmVmXCI6IFwiIy9kZWZpbml0aW9ucy9ub25OZWdhdGl2ZUludGVnZXJcIiB9LFxuICAgICAgICAgICAgICAgIHsgXCJkZWZhdWx0XCI6IDAgfVxuICAgICAgICAgICAgXVxuICAgICAgICB9LFxuICAgICAgICBcInNpbXBsZVR5cGVzXCI6IHtcbiAgICAgICAgICAgIFwiZW51bVwiOiBbXG4gICAgICAgICAgICAgICAgXCJhcnJheVwiLFxuICAgICAgICAgICAgICAgIFwiYm9vbGVhblwiLFxuICAgICAgICAgICAgICAgIFwiaW50ZWdlclwiLFxuICAgICAgICAgICAgICAgIFwibnVsbFwiLFxuICAgICAgICAgICAgICAgIFwibnVtYmVyXCIsXG4gICAgICAgICAgICAgICAgXCJvYmplY3RcIixcbiAgICAgICAgICAgICAgICBcInN0cmluZ1wiXG4gICAgICAgICAgICBdXG4gICAgICAgIH0sXG4gICAgICAgIFwic3RyaW5nQXJyYXlcIjoge1xuICAgICAgICAgICAgXCJ0eXBlXCI6IFwiYXJyYXlcIixcbiAgICAgICAgICAgIFwiaXRlbXNcIjogeyBcInR5cGVcIjogXCJzdHJpbmdcIiB9LFxuICAgICAgICAgICAgXCJ1bmlxdWVJdGVtc1wiOiB0cnVlLFxuICAgICAgICAgICAgXCJkZWZhdWx0XCI6IFtdXG4gICAgICAgIH1cbiAgICB9LFxuICAgIFwidHlwZVwiOiBbXCJvYmplY3RcIiwgXCJib29sZWFuXCJdLFxuICAgIFwicHJvcGVydGllc1wiOiB7XG4gICAgICAgIFwiJGlkXCI6IHtcbiAgICAgICAgICAgIFwidHlwZVwiOiBcInN0cmluZ1wiLFxuICAgICAgICAgICAgXCJmb3JtYXRcIjogXCJ1cmktcmVmZXJlbmNlXCJcbiAgICAgICAgfSxcbiAgICAgICAgXCIkc2NoZW1hXCI6IHtcbiAgICAgICAgICAgIFwidHlwZVwiOiBcInN0cmluZ1wiLFxuICAgICAgICAgICAgXCJmb3JtYXRcIjogXCJ1cmlcIlxuICAgICAgICB9LFxuICAgICAgICBcIiRyZWZcIjoge1xuICAgICAgICAgICAgXCJ0eXBlXCI6IFwic3RyaW5nXCIsXG4gICAgICAgICAgICBcImZvcm1hdFwiOiBcInVyaS1yZWZlcmVuY2VcIlxuICAgICAgICB9LFxuICAgICAgICBcIiRjb21tZW50XCI6IHtcbiAgICAgICAgICAgIFwidHlwZVwiOiBcInN0cmluZ1wiXG4gICAgICAgIH0sXG4gICAgICAgIFwidGl0bGVcIjoge1xuICAgICAgICAgICAgXCJ0eXBlXCI6IFwic3RyaW5nXCJcbiAgICAgICAgfSxcbiAgICAgICAgXCJkZXNjcmlwdGlvblwiOiB7XG4gICAgICAgICAgICBcInR5cGVcIjogXCJzdHJpbmdcIlxuICAgICAgICB9LFxuICAgICAgICBcImRlZmF1bHRcIjogdHJ1ZSxcbiAgICAgICAgXCJyZWFkT25seVwiOiB7XG4gICAgICAgICAgICBcInR5cGVcIjogXCJib29sZWFuXCIsXG4gICAgICAgICAgICBcImRlZmF1bHRcIjogZmFsc2VcbiAgICAgICAgfSxcbiAgICAgICAgXCJleGFtcGxlc1wiOiB7XG4gICAgICAgICAgICBcInR5cGVcIjogXCJhcnJheVwiLFxuICAgICAgICAgICAgXCJpdGVtc1wiOiB0cnVlXG4gICAgICAgIH0sXG4gICAgICAgIFwibXVsdGlwbGVPZlwiOiB7XG4gICAgICAgICAgICBcInR5cGVcIjogXCJudW1iZXJcIixcbiAgICAgICAgICAgIFwiZXhjbHVzaXZlTWluaW11bVwiOiAwXG4gICAgICAgIH0sXG4gICAgICAgIFwibWF4aW11bVwiOiB7XG4gICAgICAgICAgICBcInR5cGVcIjogXCJudW1iZXJcIlxuICAgICAgICB9LFxuICAgICAgICBcImV4Y2x1c2l2ZU1heGltdW1cIjoge1xuICAgICAgICAgICAgXCJ0eXBlXCI6IFwibnVtYmVyXCJcbiAgICAgICAgfSxcbiAgICAgICAgXCJtaW5pbXVtXCI6IHtcbiAgICAgICAgICAgIFwidHlwZVwiOiBcIm51bWJlclwiXG4gICAgICAgIH0sXG4gICAgICAgIFwiZXhjbHVzaXZlTWluaW11bVwiOiB7XG4gICAgICAgICAgICBcInR5cGVcIjogXCJudW1iZXJcIlxuICAgICAgICB9LFxuICAgICAgICBcIm1heExlbmd0aFwiOiB7IFwiJHJlZlwiOiBcIiMvZGVmaW5pdGlvbnMvbm9uTmVnYXRpdmVJbnRlZ2VyXCIgfSxcbiAgICAgICAgXCJtaW5MZW5ndGhcIjogeyBcIiRyZWZcIjogXCIjL2RlZmluaXRpb25zL25vbk5lZ2F0aXZlSW50ZWdlckRlZmF1bHQwXCIgfSxcbiAgICAgICAgXCJwYXR0ZXJuXCI6IHtcbiAgICAgICAgICAgIFwidHlwZVwiOiBcInN0cmluZ1wiLFxuICAgICAgICAgICAgXCJmb3JtYXRcIjogXCJyZWdleFwiXG4gICAgICAgIH0sXG4gICAgICAgIFwiYWRkaXRpb25hbEl0ZW1zXCI6IHsgXCIkcmVmXCI6IFwiI1wiIH0sXG4gICAgICAgIFwiaXRlbXNcIjoge1xuICAgICAgICAgICAgXCJhbnlPZlwiOiBbXG4gICAgICAgICAgICAgICAgeyBcIiRyZWZcIjogXCIjXCIgfSxcbiAgICAgICAgICAgICAgICB7IFwiJHJlZlwiOiBcIiMvZGVmaW5pdGlvbnMvc2NoZW1hQXJyYXlcIiB9XG4gICAgICAgICAgICBdLFxuICAgICAgICAgICAgXCJkZWZhdWx0XCI6IHRydWVcbiAgICAgICAgfSxcbiAgICAgICAgXCJtYXhJdGVtc1wiOiB7IFwiJHJlZlwiOiBcIiMvZGVmaW5pdGlvbnMvbm9uTmVnYXRpdmVJbnRlZ2VyXCIgfSxcbiAgICAgICAgXCJtaW5JdGVtc1wiOiB7IFwiJHJlZlwiOiBcIiMvZGVmaW5pdGlvbnMvbm9uTmVnYXRpdmVJbnRlZ2VyRGVmYXVsdDBcIiB9LFxuICAgICAgICBcInVuaXF1ZUl0ZW1zXCI6IHtcbiAgICAgICAgICAgIFwidHlwZVwiOiBcImJvb2xlYW5cIixcbiAgICAgICAgICAgIFwiZGVmYXVsdFwiOiBmYWxzZVxuICAgICAgICB9LFxuICAgICAgICBcImNvbnRhaW5zXCI6IHsgXCIkcmVmXCI6IFwiI1wiIH0sXG4gICAgICAgIFwibWF4UHJvcGVydGllc1wiOiB7IFwiJHJlZlwiOiBcIiMvZGVmaW5pdGlvbnMvbm9uTmVnYXRpdmVJbnRlZ2VyXCIgfSxcbiAgICAgICAgXCJtaW5Qcm9wZXJ0aWVzXCI6IHsgXCIkcmVmXCI6IFwiIy9kZWZpbml0aW9ucy9ub25OZWdhdGl2ZUludGVnZXJEZWZhdWx0MFwiIH0sXG4gICAgICAgIFwicmVxdWlyZWRcIjogeyBcIiRyZWZcIjogXCIjL2RlZmluaXRpb25zL3N0cmluZ0FycmF5XCIgfSxcbiAgICAgICAgXCJhZGRpdGlvbmFsUHJvcGVydGllc1wiOiB7IFwiJHJlZlwiOiBcIiNcIiB9LFxuICAgICAgICBcImRlZmluaXRpb25zXCI6IHtcbiAgICAgICAgICAgIFwidHlwZVwiOiBcIm9iamVjdFwiLFxuICAgICAgICAgICAgXCJhZGRpdGlvbmFsUHJvcGVydGllc1wiOiB7IFwiJHJlZlwiOiBcIiNcIiB9LFxuICAgICAgICAgICAgXCJkZWZhdWx0XCI6IHt9XG4gICAgICAgIH0sXG4gICAgICAgIFwicHJvcGVydGllc1wiOiB7XG4gICAgICAgICAgICBcInR5cGVcIjogXCJvYmplY3RcIixcbiAgICAgICAgICAgIFwiYWRkaXRpb25hbFByb3BlcnRpZXNcIjogeyBcIiRyZWZcIjogXCIjXCIgfSxcbiAgICAgICAgICAgIFwiZGVmYXVsdFwiOiB7fVxuICAgICAgICB9LFxuICAgICAgICBcInBhdHRlcm5Qcm9wZXJ0aWVzXCI6IHtcbiAgICAgICAgICAgIFwidHlwZVwiOiBcIm9iamVjdFwiLFxuICAgICAgICAgICAgXCJhZGRpdGlvbmFsUHJvcGVydGllc1wiOiB7IFwiJHJlZlwiOiBcIiNcIiB9LFxuICAgICAgICAgICAgXCJwcm9wZXJ0eU5hbWVzXCI6IHsgXCJmb3JtYXRcIjogXCJyZWdleFwiIH0sXG4gICAgICAgICAgICBcImRlZmF1bHRcIjoge31cbiAgICAgICAgfSxcbiAgICAgICAgXCJkZXBlbmRlbmNpZXNcIjoge1xuICAgICAgICAgICAgXCJ0eXBlXCI6IFwib2JqZWN0XCIsXG4gICAgICAgICAgICBcImFkZGl0aW9uYWxQcm9wZXJ0aWVzXCI6IHtcbiAgICAgICAgICAgICAgICBcImFueU9mXCI6IFtcbiAgICAgICAgICAgICAgICAgICAgeyBcIiRyZWZcIjogXCIjXCIgfSxcbiAgICAgICAgICAgICAgICAgICAgeyBcIiRyZWZcIjogXCIjL2RlZmluaXRpb25zL3N0cmluZ0FycmF5XCIgfVxuICAgICAgICAgICAgICAgIF1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfSxcbiAgICAgICAgXCJwcm9wZXJ0eU5hbWVzXCI6IHsgXCIkcmVmXCI6IFwiI1wiIH0sXG4gICAgICAgIFwiY29uc3RcIjogdHJ1ZSxcbiAgICAgICAgXCJlbnVtXCI6IHtcbiAgICAgICAgICAgIFwidHlwZVwiOiBcImFycmF5XCIsXG4gICAgICAgICAgICBcIml0ZW1zXCI6IHRydWUsXG4gICAgICAgICAgICBcIm1pbkl0ZW1zXCI6IDEsXG4gICAgICAgICAgICBcInVuaXF1ZUl0ZW1zXCI6IHRydWVcbiAgICAgICAgfSxcbiAgICAgICAgXCJ0eXBlXCI6IHtcbiAgICAgICAgICAgIFwiYW55T2ZcIjogW1xuICAgICAgICAgICAgICAgIHsgXCIkcmVmXCI6IFwiIy9kZWZpbml0aW9ucy9zaW1wbGVUeXBlc1wiIH0sXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBcInR5cGVcIjogXCJhcnJheVwiLFxuICAgICAgICAgICAgICAgICAgICBcIml0ZW1zXCI6IHsgXCIkcmVmXCI6IFwiIy9kZWZpbml0aW9ucy9zaW1wbGVUeXBlc1wiIH0sXG4gICAgICAgICAgICAgICAgICAgIFwibWluSXRlbXNcIjogMSxcbiAgICAgICAgICAgICAgICAgICAgXCJ1bmlxdWVJdGVtc1wiOiB0cnVlXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgXVxuICAgICAgICB9LFxuICAgICAgICBcImZvcm1hdFwiOiB7IFwidHlwZVwiOiBcInN0cmluZ1wiIH0sXG4gICAgICAgIFwiY29udGVudE1lZGlhVHlwZVwiOiB7IFwidHlwZVwiOiBcInN0cmluZ1wiIH0sXG4gICAgICAgIFwiY29udGVudEVuY29kaW5nXCI6IHsgXCJ0eXBlXCI6IFwic3RyaW5nXCIgfSxcbiAgICAgICAgXCJpZlwiOiB7XCIkcmVmXCI6IFwiI1wifSxcbiAgICAgICAgXCJ0aGVuXCI6IHtcIiRyZWZcIjogXCIjXCJ9LFxuICAgICAgICBcImVsc2VcIjoge1wiJHJlZlwiOiBcIiNcIn0sXG4gICAgICAgIFwiYWxsT2ZcIjogeyBcIiRyZWZcIjogXCIjL2RlZmluaXRpb25zL3NjaGVtYUFycmF5XCIgfSxcbiAgICAgICAgXCJhbnlPZlwiOiB7IFwiJHJlZlwiOiBcIiMvZGVmaW5pdGlvbnMvc2NoZW1hQXJyYXlcIiB9LFxuICAgICAgICBcIm9uZU9mXCI6IHsgXCIkcmVmXCI6IFwiIy9kZWZpbml0aW9ucy9zY2hlbWFBcnJheVwiIH0sXG4gICAgICAgIFwibm90XCI6IHsgXCIkcmVmXCI6IFwiI1wiIH1cbiAgICB9LFxuICAgIFwiZGVmYXVsdFwiOiB0cnVlXG59XG4iLCAiJ3VzZSBzdHJpY3QnO1xuXG52YXIgbWV0YVNjaGVtYSA9IHJlcXVpcmUoJy4vcmVmcy9qc29uLXNjaGVtYS1kcmFmdC0wNy5qc29uJyk7XG5cbm1vZHVsZS5leHBvcnRzID0ge1xuICAkaWQ6ICdodHRwczovL2dpdGh1Yi5jb20vYWp2LXZhbGlkYXRvci9hanYvYmxvYi9tYXN0ZXIvbGliL2RlZmluaXRpb25fc2NoZW1hLmpzJyxcbiAgZGVmaW5pdGlvbnM6IHtcbiAgICBzaW1wbGVUeXBlczogbWV0YVNjaGVtYS5kZWZpbml0aW9ucy5zaW1wbGVUeXBlc1xuICB9LFxuICB0eXBlOiAnb2JqZWN0JyxcbiAgZGVwZW5kZW5jaWVzOiB7XG4gICAgc2NoZW1hOiBbJ3ZhbGlkYXRlJ10sXG4gICAgJGRhdGE6IFsndmFsaWRhdGUnXSxcbiAgICBzdGF0ZW1lbnRzOiBbJ2lubGluZSddLFxuICAgIHZhbGlkOiB7bm90OiB7cmVxdWlyZWQ6IFsnbWFjcm8nXX19XG4gIH0sXG4gIHByb3BlcnRpZXM6IHtcbiAgICB0eXBlOiBtZXRhU2NoZW1hLnByb3BlcnRpZXMudHlwZSxcbiAgICBzY2hlbWE6IHt0eXBlOiAnYm9vbGVhbid9LFxuICAgIHN0YXRlbWVudHM6IHt0eXBlOiAnYm9vbGVhbid9LFxuICAgIGRlcGVuZGVuY2llczoge1xuICAgICAgdHlwZTogJ2FycmF5JyxcbiAgICAgIGl0ZW1zOiB7dHlwZTogJ3N0cmluZyd9XG4gICAgfSxcbiAgICBtZXRhU2NoZW1hOiB7dHlwZTogJ29iamVjdCd9LFxuICAgIG1vZGlmeWluZzoge3R5cGU6ICdib29sZWFuJ30sXG4gICAgdmFsaWQ6IHt0eXBlOiAnYm9vbGVhbid9LFxuICAgICRkYXRhOiB7dHlwZTogJ2Jvb2xlYW4nfSxcbiAgICBhc3luYzoge3R5cGU6ICdib29sZWFuJ30sXG4gICAgZXJyb3JzOiB7XG4gICAgICBhbnlPZjogW1xuICAgICAgICB7dHlwZTogJ2Jvb2xlYW4nfSxcbiAgICAgICAge2NvbnN0OiAnZnVsbCd9XG4gICAgICBdXG4gICAgfVxuICB9XG59O1xuIiwgIid1c2Ugc3RyaWN0JztcblxudmFyIElERU5USUZJRVIgPSAvXlthLXpfJF1bYS16MC05XyQtXSokL2k7XG52YXIgY3VzdG9tUnVsZUNvZGUgPSByZXF1aXJlKCcuL2RvdGpzL2N1c3RvbScpO1xudmFyIGRlZmluaXRpb25TY2hlbWEgPSByZXF1aXJlKCcuL2RlZmluaXRpb25fc2NoZW1hJyk7XG5cbm1vZHVsZS5leHBvcnRzID0ge1xuICBhZGQ6IGFkZEtleXdvcmQsXG4gIGdldDogZ2V0S2V5d29yZCxcbiAgcmVtb3ZlOiByZW1vdmVLZXl3b3JkLFxuICB2YWxpZGF0ZTogdmFsaWRhdGVLZXl3b3JkXG59O1xuXG5cbi8qKlxuICogRGVmaW5lIGN1c3RvbSBrZXl3b3JkXG4gKiBAdGhpcyAgQWp2XG4gKiBAcGFyYW0ge1N0cmluZ30ga2V5d29yZCBjdXN0b20ga2V5d29yZCwgc2hvdWxkIGJlIHVuaXF1ZSAoaW5jbHVkaW5nIGRpZmZlcmVudCBmcm9tIGFsbCBzdGFuZGFyZCwgY3VzdG9tIGFuZCBtYWNybyBrZXl3b3JkcykuXG4gKiBAcGFyYW0ge09iamVjdH0gZGVmaW5pdGlvbiBrZXl3b3JkIGRlZmluaXRpb24gb2JqZWN0IHdpdGggcHJvcGVydGllcyBgdHlwZWAgKHR5cGUocykgd2hpY2ggdGhlIGtleXdvcmQgYXBwbGllcyB0byksIGB2YWxpZGF0ZWAgb3IgYGNvbXBpbGVgLlxuICogQHJldHVybiB7QWp2fSB0aGlzIGZvciBtZXRob2QgY2hhaW5pbmdcbiAqL1xuZnVuY3Rpb24gYWRkS2V5d29yZChrZXl3b3JkLCBkZWZpbml0aW9uKSB7XG4gIC8qIGpzaGludCB2YWxpZHRoaXM6IHRydWUgKi9cbiAgLyogZXNsaW50IG5vLXNoYWRvdzogMCAqL1xuICB2YXIgUlVMRVMgPSB0aGlzLlJVTEVTO1xuICBpZiAoUlVMRVMua2V5d29yZHNba2V5d29yZF0pXG4gICAgdGhyb3cgbmV3IEVycm9yKCdLZXl3b3JkICcgKyBrZXl3b3JkICsgJyBpcyBhbHJlYWR5IGRlZmluZWQnKTtcblxuICBpZiAoIUlERU5USUZJRVIudGVzdChrZXl3b3JkKSlcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ0tleXdvcmQgJyArIGtleXdvcmQgKyAnIGlzIG5vdCBhIHZhbGlkIGlkZW50aWZpZXInKTtcblxuICBpZiAoZGVmaW5pdGlvbikge1xuICAgIHRoaXMudmFsaWRhdGVLZXl3b3JkKGRlZmluaXRpb24sIHRydWUpO1xuXG4gICAgdmFyIGRhdGFUeXBlID0gZGVmaW5pdGlvbi50eXBlO1xuICAgIGlmIChBcnJheS5pc0FycmF5KGRhdGFUeXBlKSkge1xuICAgICAgZm9yICh2YXIgaT0wOyBpPGRhdGFUeXBlLmxlbmd0aDsgaSsrKVxuICAgICAgICBfYWRkUnVsZShrZXl3b3JkLCBkYXRhVHlwZVtpXSwgZGVmaW5pdGlvbik7XG4gICAgfSBlbHNlIHtcbiAgICAgIF9hZGRSdWxlKGtleXdvcmQsIGRhdGFUeXBlLCBkZWZpbml0aW9uKTtcbiAgICB9XG5cbiAgICB2YXIgbWV0YVNjaGVtYSA9IGRlZmluaXRpb24ubWV0YVNjaGVtYTtcbiAgICBpZiAobWV0YVNjaGVtYSkge1xuICAgICAgaWYgKGRlZmluaXRpb24uJGRhdGEgJiYgdGhpcy5fb3B0cy4kZGF0YSkge1xuICAgICAgICBtZXRhU2NoZW1hID0ge1xuICAgICAgICAgIGFueU9mOiBbXG4gICAgICAgICAgICBtZXRhU2NoZW1hLFxuICAgICAgICAgICAgeyAnJHJlZic6ICdodHRwczovL3Jhdy5naXRodWJ1c2VyY29udGVudC5jb20vYWp2LXZhbGlkYXRvci9hanYvbWFzdGVyL2xpYi9yZWZzL2RhdGEuanNvbiMnIH1cbiAgICAgICAgICBdXG4gICAgICAgIH07XG4gICAgICB9XG4gICAgICBkZWZpbml0aW9uLnZhbGlkYXRlU2NoZW1hID0gdGhpcy5jb21waWxlKG1ldGFTY2hlbWEsIHRydWUpO1xuICAgIH1cbiAgfVxuXG4gIFJVTEVTLmtleXdvcmRzW2tleXdvcmRdID0gUlVMRVMuYWxsW2tleXdvcmRdID0gdHJ1ZTtcblxuXG4gIGZ1bmN0aW9uIF9hZGRSdWxlKGtleXdvcmQsIGRhdGFUeXBlLCBkZWZpbml0aW9uKSB7XG4gICAgdmFyIHJ1bGVHcm91cDtcbiAgICBmb3IgKHZhciBpPTA7IGk8UlVMRVMubGVuZ3RoOyBpKyspIHtcbiAgICAgIHZhciByZyA9IFJVTEVTW2ldO1xuICAgICAgaWYgKHJnLnR5cGUgPT0gZGF0YVR5cGUpIHtcbiAgICAgICAgcnVsZUdyb3VwID0gcmc7XG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuICAgIH1cblxuICAgIGlmICghcnVsZUdyb3VwKSB7XG4gICAgICBydWxlR3JvdXAgPSB7IHR5cGU6IGRhdGFUeXBlLCBydWxlczogW10gfTtcbiAgICAgIFJVTEVTLnB1c2gocnVsZUdyb3VwKTtcbiAgICB9XG5cbiAgICB2YXIgcnVsZSA9IHtcbiAgICAgIGtleXdvcmQ6IGtleXdvcmQsXG4gICAgICBkZWZpbml0aW9uOiBkZWZpbml0aW9uLFxuICAgICAgY3VzdG9tOiB0cnVlLFxuICAgICAgY29kZTogY3VzdG9tUnVsZUNvZGUsXG4gICAgICBpbXBsZW1lbnRzOiBkZWZpbml0aW9uLmltcGxlbWVudHNcbiAgICB9O1xuICAgIHJ1bGVHcm91cC5ydWxlcy5wdXNoKHJ1bGUpO1xuICAgIFJVTEVTLmN1c3RvbVtrZXl3b3JkXSA9IHJ1bGU7XG4gIH1cblxuICByZXR1cm4gdGhpcztcbn1cblxuXG4vKipcbiAqIEdldCBrZXl3b3JkXG4gKiBAdGhpcyAgQWp2XG4gKiBAcGFyYW0ge1N0cmluZ30ga2V5d29yZCBwcmUtZGVmaW5lZCBvciBjdXN0b20ga2V5d29yZC5cbiAqIEByZXR1cm4ge09iamVjdHxCb29sZWFufSBjdXN0b20ga2V5d29yZCBkZWZpbml0aW9uLCBgdHJ1ZWAgaWYgaXQgaXMgYSBwcmVkZWZpbmVkIGtleXdvcmQsIGBmYWxzZWAgb3RoZXJ3aXNlLlxuICovXG5mdW5jdGlvbiBnZXRLZXl3b3JkKGtleXdvcmQpIHtcbiAgLyoganNoaW50IHZhbGlkdGhpczogdHJ1ZSAqL1xuICB2YXIgcnVsZSA9IHRoaXMuUlVMRVMuY3VzdG9tW2tleXdvcmRdO1xuICByZXR1cm4gcnVsZSA/IHJ1bGUuZGVmaW5pdGlvbiA6IHRoaXMuUlVMRVMua2V5d29yZHNba2V5d29yZF0gfHwgZmFsc2U7XG59XG5cblxuLyoqXG4gKiBSZW1vdmUga2V5d29yZFxuICogQHRoaXMgIEFqdlxuICogQHBhcmFtIHtTdHJpbmd9IGtleXdvcmQgcHJlLWRlZmluZWQgb3IgY3VzdG9tIGtleXdvcmQuXG4gKiBAcmV0dXJuIHtBanZ9IHRoaXMgZm9yIG1ldGhvZCBjaGFpbmluZ1xuICovXG5mdW5jdGlvbiByZW1vdmVLZXl3b3JkKGtleXdvcmQpIHtcbiAgLyoganNoaW50IHZhbGlkdGhpczogdHJ1ZSAqL1xuICB2YXIgUlVMRVMgPSB0aGlzLlJVTEVTO1xuICBkZWxldGUgUlVMRVMua2V5d29yZHNba2V5d29yZF07XG4gIGRlbGV0ZSBSVUxFUy5hbGxba2V5d29yZF07XG4gIGRlbGV0ZSBSVUxFUy5jdXN0b21ba2V5d29yZF07XG4gIGZvciAodmFyIGk9MDsgaTxSVUxFUy5sZW5ndGg7IGkrKykge1xuICAgIHZhciBydWxlcyA9IFJVTEVTW2ldLnJ1bGVzO1xuICAgIGZvciAodmFyIGo9MDsgajxydWxlcy5sZW5ndGg7IGorKykge1xuICAgICAgaWYgKHJ1bGVzW2pdLmtleXdvcmQgPT0ga2V5d29yZCkge1xuICAgICAgICBydWxlcy5zcGxpY2UoaiwgMSk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICByZXR1cm4gdGhpcztcbn1cblxuXG4vKipcbiAqIFZhbGlkYXRlIGtleXdvcmQgZGVmaW5pdGlvblxuICogQHRoaXMgIEFqdlxuICogQHBhcmFtIHtPYmplY3R9IGRlZmluaXRpb24ga2V5d29yZCBkZWZpbml0aW9uIG9iamVjdC5cbiAqIEBwYXJhbSB7Qm9vbGVhbn0gdGhyb3dFcnJvciB0cnVlIHRvIHRocm93IGV4Y2VwdGlvbiBpZiBkZWZpbml0aW9uIGlzIGludmFsaWRcbiAqIEByZXR1cm4ge2Jvb2xlYW59IHZhbGlkYXRpb24gcmVzdWx0XG4gKi9cbmZ1bmN0aW9uIHZhbGlkYXRlS2V5d29yZChkZWZpbml0aW9uLCB0aHJvd0Vycm9yKSB7XG4gIHZhbGlkYXRlS2V5d29yZC5lcnJvcnMgPSBudWxsO1xuICB2YXIgdiA9IHRoaXMuX3ZhbGlkYXRlS2V5d29yZCA9IHRoaXMuX3ZhbGlkYXRlS2V5d29yZFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHx8IHRoaXMuY29tcGlsZShkZWZpbml0aW9uU2NoZW1hLCB0cnVlKTtcblxuICBpZiAodihkZWZpbml0aW9uKSkgcmV0dXJuIHRydWU7XG4gIHZhbGlkYXRlS2V5d29yZC5lcnJvcnMgPSB2LmVycm9ycztcbiAgaWYgKHRocm93RXJyb3IpXG4gICAgdGhyb3cgbmV3IEVycm9yKCdjdXN0b20ga2V5d29yZCBkZWZpbml0aW9uIGlzIGludmFsaWQ6ICcgICsgdGhpcy5lcnJvcnNUZXh0KHYuZXJyb3JzKSk7XG4gIGVsc2VcbiAgICByZXR1cm4gZmFsc2U7XG59XG4iLCAie1xuICAgIFwiJHNjaGVtYVwiOiBcImh0dHA6Ly9qc29uLXNjaGVtYS5vcmcvZHJhZnQtMDcvc2NoZW1hI1wiLFxuICAgIFwiJGlkXCI6IFwiaHR0cHM6Ly9yYXcuZ2l0aHVidXNlcmNvbnRlbnQuY29tL2Fqdi12YWxpZGF0b3IvYWp2L21hc3Rlci9saWIvcmVmcy9kYXRhLmpzb24jXCIsXG4gICAgXCJkZXNjcmlwdGlvblwiOiBcIk1ldGEtc2NoZW1hIGZvciAkZGF0YSByZWZlcmVuY2UgKEpTT04gU2NoZW1hIGV4dGVuc2lvbiBwcm9wb3NhbClcIixcbiAgICBcInR5cGVcIjogXCJvYmplY3RcIixcbiAgICBcInJlcXVpcmVkXCI6IFsgXCIkZGF0YVwiIF0sXG4gICAgXCJwcm9wZXJ0aWVzXCI6IHtcbiAgICAgICAgXCIkZGF0YVwiOiB7XG4gICAgICAgICAgICBcInR5cGVcIjogXCJzdHJpbmdcIixcbiAgICAgICAgICAgIFwiYW55T2ZcIjogW1xuICAgICAgICAgICAgICAgIHsgXCJmb3JtYXRcIjogXCJyZWxhdGl2ZS1qc29uLXBvaW50ZXJcIiB9LCBcbiAgICAgICAgICAgICAgICB7IFwiZm9ybWF0XCI6IFwianNvbi1wb2ludGVyXCIgfVxuICAgICAgICAgICAgXVxuICAgICAgICB9XG4gICAgfSxcbiAgICBcImFkZGl0aW9uYWxQcm9wZXJ0aWVzXCI6IGZhbHNlXG59XG4iLCAiJ3VzZSBzdHJpY3QnO1xuXG52YXIgY29tcGlsZVNjaGVtYSA9IHJlcXVpcmUoJy4vY29tcGlsZScpXG4gICwgcmVzb2x2ZSA9IHJlcXVpcmUoJy4vY29tcGlsZS9yZXNvbHZlJylcbiAgLCBDYWNoZSA9IHJlcXVpcmUoJy4vY2FjaGUnKVxuICAsIFNjaGVtYU9iamVjdCA9IHJlcXVpcmUoJy4vY29tcGlsZS9zY2hlbWFfb2JqJylcbiAgLCBzdGFibGVTdHJpbmdpZnkgPSByZXF1aXJlKCdmYXN0LWpzb24tc3RhYmxlLXN0cmluZ2lmeScpXG4gICwgZm9ybWF0cyA9IHJlcXVpcmUoJy4vY29tcGlsZS9mb3JtYXRzJylcbiAgLCBydWxlcyA9IHJlcXVpcmUoJy4vY29tcGlsZS9ydWxlcycpXG4gICwgJGRhdGFNZXRhU2NoZW1hID0gcmVxdWlyZSgnLi9kYXRhJylcbiAgLCB1dGlsID0gcmVxdWlyZSgnLi9jb21waWxlL3V0aWwnKTtcblxubW9kdWxlLmV4cG9ydHMgPSBBanY7XG5cbkFqdi5wcm90b3R5cGUudmFsaWRhdGUgPSB2YWxpZGF0ZTtcbkFqdi5wcm90b3R5cGUuY29tcGlsZSA9IGNvbXBpbGU7XG5BanYucHJvdG90eXBlLmFkZFNjaGVtYSA9IGFkZFNjaGVtYTtcbkFqdi5wcm90b3R5cGUuYWRkTWV0YVNjaGVtYSA9IGFkZE1ldGFTY2hlbWE7XG5BanYucHJvdG90eXBlLnZhbGlkYXRlU2NoZW1hID0gdmFsaWRhdGVTY2hlbWE7XG5BanYucHJvdG90eXBlLmdldFNjaGVtYSA9IGdldFNjaGVtYTtcbkFqdi5wcm90b3R5cGUucmVtb3ZlU2NoZW1hID0gcmVtb3ZlU2NoZW1hO1xuQWp2LnByb3RvdHlwZS5hZGRGb3JtYXQgPSBhZGRGb3JtYXQ7XG5BanYucHJvdG90eXBlLmVycm9yc1RleHQgPSBlcnJvcnNUZXh0O1xuXG5BanYucHJvdG90eXBlLl9hZGRTY2hlbWEgPSBfYWRkU2NoZW1hO1xuQWp2LnByb3RvdHlwZS5fY29tcGlsZSA9IF9jb21waWxlO1xuXG5BanYucHJvdG90eXBlLmNvbXBpbGVBc3luYyA9IHJlcXVpcmUoJy4vY29tcGlsZS9hc3luYycpO1xudmFyIGN1c3RvbUtleXdvcmQgPSByZXF1aXJlKCcuL2tleXdvcmQnKTtcbkFqdi5wcm90b3R5cGUuYWRkS2V5d29yZCA9IGN1c3RvbUtleXdvcmQuYWRkO1xuQWp2LnByb3RvdHlwZS5nZXRLZXl3b3JkID0gY3VzdG9tS2V5d29yZC5nZXQ7XG5BanYucHJvdG90eXBlLnJlbW92ZUtleXdvcmQgPSBjdXN0b21LZXl3b3JkLnJlbW92ZTtcbkFqdi5wcm90b3R5cGUudmFsaWRhdGVLZXl3b3JkID0gY3VzdG9tS2V5d29yZC52YWxpZGF0ZTtcblxudmFyIGVycm9yQ2xhc3NlcyA9IHJlcXVpcmUoJy4vY29tcGlsZS9lcnJvcl9jbGFzc2VzJyk7XG5BanYuVmFsaWRhdGlvbkVycm9yID0gZXJyb3JDbGFzc2VzLlZhbGlkYXRpb247XG5BanYuTWlzc2luZ1JlZkVycm9yID0gZXJyb3JDbGFzc2VzLk1pc3NpbmdSZWY7XG5BanYuJGRhdGFNZXRhU2NoZW1hID0gJGRhdGFNZXRhU2NoZW1hO1xuXG52YXIgTUVUQV9TQ0hFTUFfSUQgPSAnaHR0cDovL2pzb24tc2NoZW1hLm9yZy9kcmFmdC0wNy9zY2hlbWEnO1xuXG52YXIgTUVUQV9JR05PUkVfT1BUSU9OUyA9IFsgJ3JlbW92ZUFkZGl0aW9uYWwnLCAndXNlRGVmYXVsdHMnLCAnY29lcmNlVHlwZXMnLCAnc3RyaWN0RGVmYXVsdHMnIF07XG52YXIgTUVUQV9TVVBQT1JUX0RBVEEgPSBbJy9wcm9wZXJ0aWVzJ107XG5cbi8qKlxuICogQ3JlYXRlcyB2YWxpZGF0b3IgaW5zdGFuY2UuXG4gKiBVc2FnZTogYEFqdihvcHRzKWBcbiAqIEBwYXJhbSB7T2JqZWN0fSBvcHRzIG9wdGlvbmFsIG9wdGlvbnNcbiAqIEByZXR1cm4ge09iamVjdH0gYWp2IGluc3RhbmNlXG4gKi9cbmZ1bmN0aW9uIEFqdihvcHRzKSB7XG4gIGlmICghKHRoaXMgaW5zdGFuY2VvZiBBanYpKSByZXR1cm4gbmV3IEFqdihvcHRzKTtcbiAgb3B0cyA9IHRoaXMuX29wdHMgPSB1dGlsLmNvcHkob3B0cykgfHwge307XG4gIHNldExvZ2dlcih0aGlzKTtcbiAgdGhpcy5fc2NoZW1hcyA9IHt9O1xuICB0aGlzLl9yZWZzID0ge307XG4gIHRoaXMuX2ZyYWdtZW50cyA9IHt9O1xuICB0aGlzLl9mb3JtYXRzID0gZm9ybWF0cyhvcHRzLmZvcm1hdCk7XG5cbiAgdGhpcy5fY2FjaGUgPSBvcHRzLmNhY2hlIHx8IG5ldyBDYWNoZTtcbiAgdGhpcy5fbG9hZGluZ1NjaGVtYXMgPSB7fTtcbiAgdGhpcy5fY29tcGlsYXRpb25zID0gW107XG4gIHRoaXMuUlVMRVMgPSBydWxlcygpO1xuICB0aGlzLl9nZXRJZCA9IGNob29zZUdldElkKG9wdHMpO1xuXG4gIG9wdHMubG9vcFJlcXVpcmVkID0gb3B0cy5sb29wUmVxdWlyZWQgfHwgSW5maW5pdHk7XG4gIGlmIChvcHRzLmVycm9yRGF0YVBhdGggPT0gJ3Byb3BlcnR5Jykgb3B0cy5fZXJyb3JEYXRhUGF0aFByb3BlcnR5ID0gdHJ1ZTtcbiAgaWYgKG9wdHMuc2VyaWFsaXplID09PSB1bmRlZmluZWQpIG9wdHMuc2VyaWFsaXplID0gc3RhYmxlU3RyaW5naWZ5O1xuICB0aGlzLl9tZXRhT3B0cyA9IGdldE1ldGFTY2hlbWFPcHRpb25zKHRoaXMpO1xuXG4gIGlmIChvcHRzLmZvcm1hdHMpIGFkZEluaXRpYWxGb3JtYXRzKHRoaXMpO1xuICBpZiAob3B0cy5rZXl3b3JkcykgYWRkSW5pdGlhbEtleXdvcmRzKHRoaXMpO1xuICBhZGREZWZhdWx0TWV0YVNjaGVtYSh0aGlzKTtcbiAgaWYgKHR5cGVvZiBvcHRzLm1ldGEgPT0gJ29iamVjdCcpIHRoaXMuYWRkTWV0YVNjaGVtYShvcHRzLm1ldGEpO1xuICBpZiAob3B0cy5udWxsYWJsZSkgdGhpcy5hZGRLZXl3b3JkKCdudWxsYWJsZScsIHttZXRhU2NoZW1hOiB7dHlwZTogJ2Jvb2xlYW4nfX0pO1xuICBhZGRJbml0aWFsU2NoZW1hcyh0aGlzKTtcbn1cblxuXG5cbi8qKlxuICogVmFsaWRhdGUgZGF0YSB1c2luZyBzY2hlbWFcbiAqIFNjaGVtYSB3aWxsIGJlIGNvbXBpbGVkIGFuZCBjYWNoZWQgKHVzaW5nIHNlcmlhbGl6ZWQgSlNPTiBhcyBrZXkuIFtmYXN0LWpzb24tc3RhYmxlLXN0cmluZ2lmeV0oaHR0cHM6Ly9naXRodWIuY29tL2Vwb2JlcmV6a2luL2Zhc3QtanNvbi1zdGFibGUtc3RyaW5naWZ5KSBpcyB1c2VkIHRvIHNlcmlhbGl6ZS5cbiAqIEB0aGlzICAgQWp2XG4gKiBAcGFyYW0gIHtTdHJpbmd8T2JqZWN0fSBzY2hlbWFLZXlSZWYga2V5LCByZWYgb3Igc2NoZW1hIG9iamVjdFxuICogQHBhcmFtICB7QW55fSBkYXRhIHRvIGJlIHZhbGlkYXRlZFxuICogQHJldHVybiB7Qm9vbGVhbn0gdmFsaWRhdGlvbiByZXN1bHQuIEVycm9ycyBmcm9tIHRoZSBsYXN0IHZhbGlkYXRpb24gd2lsbCBiZSBhdmFpbGFibGUgaW4gYGFqdi5lcnJvcnNgIChhbmQgYWxzbyBpbiBjb21waWxlZCBzY2hlbWE6IGBzY2hlbWEuZXJyb3JzYCkuXG4gKi9cbmZ1bmN0aW9uIHZhbGlkYXRlKHNjaGVtYUtleVJlZiwgZGF0YSkge1xuICB2YXIgdjtcbiAgaWYgKHR5cGVvZiBzY2hlbWFLZXlSZWYgPT0gJ3N0cmluZycpIHtcbiAgICB2ID0gdGhpcy5nZXRTY2hlbWEoc2NoZW1hS2V5UmVmKTtcbiAgICBpZiAoIXYpIHRocm93IG5ldyBFcnJvcignbm8gc2NoZW1hIHdpdGgga2V5IG9yIHJlZiBcIicgKyBzY2hlbWFLZXlSZWYgKyAnXCInKTtcbiAgfSBlbHNlIHtcbiAgICB2YXIgc2NoZW1hT2JqID0gdGhpcy5fYWRkU2NoZW1hKHNjaGVtYUtleVJlZik7XG4gICAgdiA9IHNjaGVtYU9iai52YWxpZGF0ZSB8fCB0aGlzLl9jb21waWxlKHNjaGVtYU9iaik7XG4gIH1cblxuICB2YXIgdmFsaWQgPSB2KGRhdGEpO1xuICBpZiAodi4kYXN5bmMgIT09IHRydWUpIHRoaXMuZXJyb3JzID0gdi5lcnJvcnM7XG4gIHJldHVybiB2YWxpZDtcbn1cblxuXG4vKipcbiAqIENyZWF0ZSB2YWxpZGF0aW5nIGZ1bmN0aW9uIGZvciBwYXNzZWQgc2NoZW1hLlxuICogQHRoaXMgICBBanZcbiAqIEBwYXJhbSAge09iamVjdH0gc2NoZW1hIHNjaGVtYSBvYmplY3RcbiAqIEBwYXJhbSAge0Jvb2xlYW59IF9tZXRhIHRydWUgaWYgc2NoZW1hIGlzIGEgbWV0YS1zY2hlbWEuIFVzZWQgaW50ZXJuYWxseSB0byBjb21waWxlIG1ldGEgc2NoZW1hcyBvZiBjdXN0b20ga2V5d29yZHMuXG4gKiBAcmV0dXJuIHtGdW5jdGlvbn0gdmFsaWRhdGluZyBmdW5jdGlvblxuICovXG5mdW5jdGlvbiBjb21waWxlKHNjaGVtYSwgX21ldGEpIHtcbiAgdmFyIHNjaGVtYU9iaiA9IHRoaXMuX2FkZFNjaGVtYShzY2hlbWEsIHVuZGVmaW5lZCwgX21ldGEpO1xuICByZXR1cm4gc2NoZW1hT2JqLnZhbGlkYXRlIHx8IHRoaXMuX2NvbXBpbGUoc2NoZW1hT2JqKTtcbn1cblxuXG4vKipcbiAqIEFkZHMgc2NoZW1hIHRvIHRoZSBpbnN0YW5jZS5cbiAqIEB0aGlzICAgQWp2XG4gKiBAcGFyYW0ge09iamVjdHxBcnJheX0gc2NoZW1hIHNjaGVtYSBvciBhcnJheSBvZiBzY2hlbWFzLiBJZiBhcnJheSBpcyBwYXNzZWQsIGBrZXlgIGFuZCBvdGhlciBwYXJhbWV0ZXJzIHdpbGwgYmUgaWdub3JlZC5cbiAqIEBwYXJhbSB7U3RyaW5nfSBrZXkgT3B0aW9uYWwgc2NoZW1hIGtleS4gQ2FuIGJlIHBhc3NlZCB0byBgdmFsaWRhdGVgIG1ldGhvZCBpbnN0ZWFkIG9mIHNjaGVtYSBvYmplY3Qgb3IgaWQvcmVmLiBPbmUgc2NoZW1hIHBlciBpbnN0YW5jZSBjYW4gaGF2ZSBlbXB0eSBgaWRgIGFuZCBga2V5YC5cbiAqIEBwYXJhbSB7Qm9vbGVhbn0gX3NraXBWYWxpZGF0aW9uIHRydWUgdG8gc2tpcCBzY2hlbWEgdmFsaWRhdGlvbi4gVXNlZCBpbnRlcm5hbGx5LCBvcHRpb24gdmFsaWRhdGVTY2hlbWEgc2hvdWxkIGJlIHVzZWQgaW5zdGVhZC5cbiAqIEBwYXJhbSB7Qm9vbGVhbn0gX21ldGEgdHJ1ZSBpZiBzY2hlbWEgaXMgYSBtZXRhLXNjaGVtYS4gVXNlZCBpbnRlcm5hbGx5LCBhZGRNZXRhU2NoZW1hIHNob3VsZCBiZSB1c2VkIGluc3RlYWQuXG4gKiBAcmV0dXJuIHtBanZ9IHRoaXMgZm9yIG1ldGhvZCBjaGFpbmluZ1xuICovXG5mdW5jdGlvbiBhZGRTY2hlbWEoc2NoZW1hLCBrZXksIF9za2lwVmFsaWRhdGlvbiwgX21ldGEpIHtcbiAgaWYgKEFycmF5LmlzQXJyYXkoc2NoZW1hKSl7XG4gICAgZm9yICh2YXIgaT0wOyBpPHNjaGVtYS5sZW5ndGg7IGkrKykgdGhpcy5hZGRTY2hlbWEoc2NoZW1hW2ldLCB1bmRlZmluZWQsIF9za2lwVmFsaWRhdGlvbiwgX21ldGEpO1xuICAgIHJldHVybiB0aGlzO1xuICB9XG4gIHZhciBpZCA9IHRoaXMuX2dldElkKHNjaGVtYSk7XG4gIGlmIChpZCAhPT0gdW5kZWZpbmVkICYmIHR5cGVvZiBpZCAhPSAnc3RyaW5nJylcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ3NjaGVtYSBpZCBtdXN0IGJlIHN0cmluZycpO1xuICBrZXkgPSByZXNvbHZlLm5vcm1hbGl6ZUlkKGtleSB8fCBpZCk7XG4gIGNoZWNrVW5pcXVlKHRoaXMsIGtleSk7XG4gIHRoaXMuX3NjaGVtYXNba2V5XSA9IHRoaXMuX2FkZFNjaGVtYShzY2hlbWEsIF9za2lwVmFsaWRhdGlvbiwgX21ldGEsIHRydWUpO1xuICByZXR1cm4gdGhpcztcbn1cblxuXG4vKipcbiAqIEFkZCBzY2hlbWEgdGhhdCB3aWxsIGJlIHVzZWQgdG8gdmFsaWRhdGUgb3RoZXIgc2NoZW1hc1xuICogb3B0aW9ucyBpbiBNRVRBX0lHTk9SRV9PUFRJT05TIGFyZSBhbHdheSBzZXQgdG8gZmFsc2VcbiAqIEB0aGlzICAgQWp2XG4gKiBAcGFyYW0ge09iamVjdH0gc2NoZW1hIHNjaGVtYSBvYmplY3RcbiAqIEBwYXJhbSB7U3RyaW5nfSBrZXkgb3B0aW9uYWwgc2NoZW1hIGtleVxuICogQHBhcmFtIHtCb29sZWFufSBza2lwVmFsaWRhdGlvbiB0cnVlIHRvIHNraXAgc2NoZW1hIHZhbGlkYXRpb24sIGNhbiBiZSB1c2VkIHRvIG92ZXJyaWRlIHZhbGlkYXRlU2NoZW1hIG9wdGlvbiBmb3IgbWV0YS1zY2hlbWFcbiAqIEByZXR1cm4ge0Fqdn0gdGhpcyBmb3IgbWV0aG9kIGNoYWluaW5nXG4gKi9cbmZ1bmN0aW9uIGFkZE1ldGFTY2hlbWEoc2NoZW1hLCBrZXksIHNraXBWYWxpZGF0aW9uKSB7XG4gIHRoaXMuYWRkU2NoZW1hKHNjaGVtYSwga2V5LCBza2lwVmFsaWRhdGlvbiwgdHJ1ZSk7XG4gIHJldHVybiB0aGlzO1xufVxuXG5cbi8qKlxuICogVmFsaWRhdGUgc2NoZW1hXG4gKiBAdGhpcyAgIEFqdlxuICogQHBhcmFtIHtPYmplY3R9IHNjaGVtYSBzY2hlbWEgdG8gdmFsaWRhdGVcbiAqIEBwYXJhbSB7Qm9vbGVhbn0gdGhyb3dPckxvZ0Vycm9yIHBhc3MgdHJ1ZSB0byB0aHJvdyAob3IgbG9nKSBhbiBlcnJvciBpZiBpbnZhbGlkXG4gKiBAcmV0dXJuIHtCb29sZWFufSB0cnVlIGlmIHNjaGVtYSBpcyB2YWxpZFxuICovXG5mdW5jdGlvbiB2YWxpZGF0ZVNjaGVtYShzY2hlbWEsIHRocm93T3JMb2dFcnJvcikge1xuICB2YXIgJHNjaGVtYSA9IHNjaGVtYS4kc2NoZW1hO1xuICBpZiAoJHNjaGVtYSAhPT0gdW5kZWZpbmVkICYmIHR5cGVvZiAkc2NoZW1hICE9ICdzdHJpbmcnKVxuICAgIHRocm93IG5ldyBFcnJvcignJHNjaGVtYSBtdXN0IGJlIGEgc3RyaW5nJyk7XG4gICRzY2hlbWEgPSAkc2NoZW1hIHx8IHRoaXMuX29wdHMuZGVmYXVsdE1ldGEgfHwgZGVmYXVsdE1ldGEodGhpcyk7XG4gIGlmICghJHNjaGVtYSkge1xuICAgIHRoaXMubG9nZ2VyLndhcm4oJ21ldGEtc2NoZW1hIG5vdCBhdmFpbGFibGUnKTtcbiAgICB0aGlzLmVycm9ycyA9IG51bGw7XG4gICAgcmV0dXJuIHRydWU7XG4gIH1cbiAgdmFyIHZhbGlkID0gdGhpcy52YWxpZGF0ZSgkc2NoZW1hLCBzY2hlbWEpO1xuICBpZiAoIXZhbGlkICYmIHRocm93T3JMb2dFcnJvcikge1xuICAgIHZhciBtZXNzYWdlID0gJ3NjaGVtYSBpcyBpbnZhbGlkOiAnICsgdGhpcy5lcnJvcnNUZXh0KCk7XG4gICAgaWYgKHRoaXMuX29wdHMudmFsaWRhdGVTY2hlbWEgPT0gJ2xvZycpIHRoaXMubG9nZ2VyLmVycm9yKG1lc3NhZ2UpO1xuICAgIGVsc2UgdGhyb3cgbmV3IEVycm9yKG1lc3NhZ2UpO1xuICB9XG4gIHJldHVybiB2YWxpZDtcbn1cblxuXG5mdW5jdGlvbiBkZWZhdWx0TWV0YShzZWxmKSB7XG4gIHZhciBtZXRhID0gc2VsZi5fb3B0cy5tZXRhO1xuICBzZWxmLl9vcHRzLmRlZmF1bHRNZXRhID0gdHlwZW9mIG1ldGEgPT0gJ29iamVjdCdcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA/IHNlbGYuX2dldElkKG1ldGEpIHx8IG1ldGFcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IHNlbGYuZ2V0U2NoZW1hKE1FVEFfU0NIRU1BX0lEKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPyBNRVRBX1NDSEVNQV9JRFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiB1bmRlZmluZWQ7XG4gIHJldHVybiBzZWxmLl9vcHRzLmRlZmF1bHRNZXRhO1xufVxuXG5cbi8qKlxuICogR2V0IGNvbXBpbGVkIHNjaGVtYSBmcm9tIHRoZSBpbnN0YW5jZSBieSBga2V5YCBvciBgcmVmYC5cbiAqIEB0aGlzICAgQWp2XG4gKiBAcGFyYW0gIHtTdHJpbmd9IGtleVJlZiBga2V5YCB0aGF0IHdhcyBwYXNzZWQgdG8gYGFkZFNjaGVtYWAgb3IgZnVsbCBzY2hlbWEgcmVmZXJlbmNlIChgc2NoZW1hLmlkYCBvciByZXNvbHZlZCBpZCkuXG4gKiBAcmV0dXJuIHtGdW5jdGlvbn0gc2NoZW1hIHZhbGlkYXRpbmcgZnVuY3Rpb24gKHdpdGggcHJvcGVydHkgYHNjaGVtYWApLlxuICovXG5mdW5jdGlvbiBnZXRTY2hlbWEoa2V5UmVmKSB7XG4gIHZhciBzY2hlbWFPYmogPSBfZ2V0U2NoZW1hT2JqKHRoaXMsIGtleVJlZik7XG4gIHN3aXRjaCAodHlwZW9mIHNjaGVtYU9iaikge1xuICAgIGNhc2UgJ29iamVjdCc6IHJldHVybiBzY2hlbWFPYmoudmFsaWRhdGUgfHwgdGhpcy5fY29tcGlsZShzY2hlbWFPYmopO1xuICAgIGNhc2UgJ3N0cmluZyc6IHJldHVybiB0aGlzLmdldFNjaGVtYShzY2hlbWFPYmopO1xuICAgIGNhc2UgJ3VuZGVmaW5lZCc6IHJldHVybiBfZ2V0U2NoZW1hRnJhZ21lbnQodGhpcywga2V5UmVmKTtcbiAgfVxufVxuXG5cbmZ1bmN0aW9uIF9nZXRTY2hlbWFGcmFnbWVudChzZWxmLCByZWYpIHtcbiAgdmFyIHJlcyA9IHJlc29sdmUuc2NoZW1hLmNhbGwoc2VsZiwgeyBzY2hlbWE6IHt9IH0sIHJlZik7XG4gIGlmIChyZXMpIHtcbiAgICB2YXIgc2NoZW1hID0gcmVzLnNjaGVtYVxuICAgICAgLCByb290ID0gcmVzLnJvb3RcbiAgICAgICwgYmFzZUlkID0gcmVzLmJhc2VJZDtcbiAgICB2YXIgdiA9IGNvbXBpbGVTY2hlbWEuY2FsbChzZWxmLCBzY2hlbWEsIHJvb3QsIHVuZGVmaW5lZCwgYmFzZUlkKTtcbiAgICBzZWxmLl9mcmFnbWVudHNbcmVmXSA9IG5ldyBTY2hlbWFPYmplY3Qoe1xuICAgICAgcmVmOiByZWYsXG4gICAgICBmcmFnbWVudDogdHJ1ZSxcbiAgICAgIHNjaGVtYTogc2NoZW1hLFxuICAgICAgcm9vdDogcm9vdCxcbiAgICAgIGJhc2VJZDogYmFzZUlkLFxuICAgICAgdmFsaWRhdGU6IHZcbiAgICB9KTtcbiAgICByZXR1cm4gdjtcbiAgfVxufVxuXG5cbmZ1bmN0aW9uIF9nZXRTY2hlbWFPYmooc2VsZiwga2V5UmVmKSB7XG4gIGtleVJlZiA9IHJlc29sdmUubm9ybWFsaXplSWQoa2V5UmVmKTtcbiAgcmV0dXJuIHNlbGYuX3NjaGVtYXNba2V5UmVmXSB8fCBzZWxmLl9yZWZzW2tleVJlZl0gfHwgc2VsZi5fZnJhZ21lbnRzW2tleVJlZl07XG59XG5cblxuLyoqXG4gKiBSZW1vdmUgY2FjaGVkIHNjaGVtYShzKS5cbiAqIElmIG5vIHBhcmFtZXRlciBpcyBwYXNzZWQgYWxsIHNjaGVtYXMgYnV0IG1ldGEtc2NoZW1hcyBhcmUgcmVtb3ZlZC5cbiAqIElmIFJlZ0V4cCBpcyBwYXNzZWQgYWxsIHNjaGVtYXMgd2l0aCBrZXkvaWQgbWF0Y2hpbmcgcGF0dGVybiBidXQgbWV0YS1zY2hlbWFzIGFyZSByZW1vdmVkLlxuICogRXZlbiBpZiBzY2hlbWEgaXMgcmVmZXJlbmNlZCBieSBvdGhlciBzY2hlbWFzIGl0IHN0aWxsIGNhbiBiZSByZW1vdmVkIGFzIG90aGVyIHNjaGVtYXMgaGF2ZSBsb2NhbCByZWZlcmVuY2VzLlxuICogQHRoaXMgICBBanZcbiAqIEBwYXJhbSAge1N0cmluZ3xPYmplY3R8UmVnRXhwfSBzY2hlbWFLZXlSZWYga2V5LCByZWYsIHBhdHRlcm4gdG8gbWF0Y2gga2V5L3JlZiBvciBzY2hlbWEgb2JqZWN0XG4gKiBAcmV0dXJuIHtBanZ9IHRoaXMgZm9yIG1ldGhvZCBjaGFpbmluZ1xuICovXG5mdW5jdGlvbiByZW1vdmVTY2hlbWEoc2NoZW1hS2V5UmVmKSB7XG4gIGlmIChzY2hlbWFLZXlSZWYgaW5zdGFuY2VvZiBSZWdFeHApIHtcbiAgICBfcmVtb3ZlQWxsU2NoZW1hcyh0aGlzLCB0aGlzLl9zY2hlbWFzLCBzY2hlbWFLZXlSZWYpO1xuICAgIF9yZW1vdmVBbGxTY2hlbWFzKHRoaXMsIHRoaXMuX3JlZnMsIHNjaGVtYUtleVJlZik7XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cbiAgc3dpdGNoICh0eXBlb2Ygc2NoZW1hS2V5UmVmKSB7XG4gICAgY2FzZSAndW5kZWZpbmVkJzpcbiAgICAgIF9yZW1vdmVBbGxTY2hlbWFzKHRoaXMsIHRoaXMuX3NjaGVtYXMpO1xuICAgICAgX3JlbW92ZUFsbFNjaGVtYXModGhpcywgdGhpcy5fcmVmcyk7XG4gICAgICB0aGlzLl9jYWNoZS5jbGVhcigpO1xuICAgICAgcmV0dXJuIHRoaXM7XG4gICAgY2FzZSAnc3RyaW5nJzpcbiAgICAgIHZhciBzY2hlbWFPYmogPSBfZ2V0U2NoZW1hT2JqKHRoaXMsIHNjaGVtYUtleVJlZik7XG4gICAgICBpZiAoc2NoZW1hT2JqKSB0aGlzLl9jYWNoZS5kZWwoc2NoZW1hT2JqLmNhY2hlS2V5KTtcbiAgICAgIGRlbGV0ZSB0aGlzLl9zY2hlbWFzW3NjaGVtYUtleVJlZl07XG4gICAgICBkZWxldGUgdGhpcy5fcmVmc1tzY2hlbWFLZXlSZWZdO1xuICAgICAgcmV0dXJuIHRoaXM7XG4gICAgY2FzZSAnb2JqZWN0JzpcbiAgICAgIHZhciBzZXJpYWxpemUgPSB0aGlzLl9vcHRzLnNlcmlhbGl6ZTtcbiAgICAgIHZhciBjYWNoZUtleSA9IHNlcmlhbGl6ZSA/IHNlcmlhbGl6ZShzY2hlbWFLZXlSZWYpIDogc2NoZW1hS2V5UmVmO1xuICAgICAgdGhpcy5fY2FjaGUuZGVsKGNhY2hlS2V5KTtcbiAgICAgIHZhciBpZCA9IHRoaXMuX2dldElkKHNjaGVtYUtleVJlZik7XG4gICAgICBpZiAoaWQpIHtcbiAgICAgICAgaWQgPSByZXNvbHZlLm5vcm1hbGl6ZUlkKGlkKTtcbiAgICAgICAgZGVsZXRlIHRoaXMuX3NjaGVtYXNbaWRdO1xuICAgICAgICBkZWxldGUgdGhpcy5fcmVmc1tpZF07XG4gICAgICB9XG4gIH1cbiAgcmV0dXJuIHRoaXM7XG59XG5cblxuZnVuY3Rpb24gX3JlbW92ZUFsbFNjaGVtYXMoc2VsZiwgc2NoZW1hcywgcmVnZXgpIHtcbiAgZm9yICh2YXIga2V5UmVmIGluIHNjaGVtYXMpIHtcbiAgICB2YXIgc2NoZW1hT2JqID0gc2NoZW1hc1trZXlSZWZdO1xuICAgIGlmICghc2NoZW1hT2JqLm1ldGEgJiYgKCFyZWdleCB8fCByZWdleC50ZXN0KGtleVJlZikpKSB7XG4gICAgICBzZWxmLl9jYWNoZS5kZWwoc2NoZW1hT2JqLmNhY2hlS2V5KTtcbiAgICAgIGRlbGV0ZSBzY2hlbWFzW2tleVJlZl07XG4gICAgfVxuICB9XG59XG5cblxuLyogQHRoaXMgICBBanYgKi9cbmZ1bmN0aW9uIF9hZGRTY2hlbWEoc2NoZW1hLCBza2lwVmFsaWRhdGlvbiwgbWV0YSwgc2hvdWxkQWRkU2NoZW1hKSB7XG4gIGlmICh0eXBlb2Ygc2NoZW1hICE9ICdvYmplY3QnICYmIHR5cGVvZiBzY2hlbWEgIT0gJ2Jvb2xlYW4nKVxuICAgIHRocm93IG5ldyBFcnJvcignc2NoZW1hIHNob3VsZCBiZSBvYmplY3Qgb3IgYm9vbGVhbicpO1xuICB2YXIgc2VyaWFsaXplID0gdGhpcy5fb3B0cy5zZXJpYWxpemU7XG4gIHZhciBjYWNoZUtleSA9IHNlcmlhbGl6ZSA/IHNlcmlhbGl6ZShzY2hlbWEpIDogc2NoZW1hO1xuICB2YXIgY2FjaGVkID0gdGhpcy5fY2FjaGUuZ2V0KGNhY2hlS2V5KTtcbiAgaWYgKGNhY2hlZCkgcmV0dXJuIGNhY2hlZDtcblxuICBzaG91bGRBZGRTY2hlbWEgPSBzaG91bGRBZGRTY2hlbWEgfHwgdGhpcy5fb3B0cy5hZGRVc2VkU2NoZW1hICE9PSBmYWxzZTtcblxuICB2YXIgaWQgPSByZXNvbHZlLm5vcm1hbGl6ZUlkKHRoaXMuX2dldElkKHNjaGVtYSkpO1xuICBpZiAoaWQgJiYgc2hvdWxkQWRkU2NoZW1hKSBjaGVja1VuaXF1ZSh0aGlzLCBpZCk7XG5cbiAgdmFyIHdpbGxWYWxpZGF0ZSA9IHRoaXMuX29wdHMudmFsaWRhdGVTY2hlbWEgIT09IGZhbHNlICYmICFza2lwVmFsaWRhdGlvbjtcbiAgdmFyIHJlY3Vyc2l2ZU1ldGE7XG4gIGlmICh3aWxsVmFsaWRhdGUgJiYgIShyZWN1cnNpdmVNZXRhID0gaWQgJiYgaWQgPT0gcmVzb2x2ZS5ub3JtYWxpemVJZChzY2hlbWEuJHNjaGVtYSkpKVxuICAgIHRoaXMudmFsaWRhdGVTY2hlbWEoc2NoZW1hLCB0cnVlKTtcblxuICB2YXIgbG9jYWxSZWZzID0gcmVzb2x2ZS5pZHMuY2FsbCh0aGlzLCBzY2hlbWEpO1xuXG4gIHZhciBzY2hlbWFPYmogPSBuZXcgU2NoZW1hT2JqZWN0KHtcbiAgICBpZDogaWQsXG4gICAgc2NoZW1hOiBzY2hlbWEsXG4gICAgbG9jYWxSZWZzOiBsb2NhbFJlZnMsXG4gICAgY2FjaGVLZXk6IGNhY2hlS2V5LFxuICAgIG1ldGE6IG1ldGFcbiAgfSk7XG5cbiAgaWYgKGlkWzBdICE9ICcjJyAmJiBzaG91bGRBZGRTY2hlbWEpIHRoaXMuX3JlZnNbaWRdID0gc2NoZW1hT2JqO1xuICB0aGlzLl9jYWNoZS5wdXQoY2FjaGVLZXksIHNjaGVtYU9iaik7XG5cbiAgaWYgKHdpbGxWYWxpZGF0ZSAmJiByZWN1cnNpdmVNZXRhKSB0aGlzLnZhbGlkYXRlU2NoZW1hKHNjaGVtYSwgdHJ1ZSk7XG5cbiAgcmV0dXJuIHNjaGVtYU9iajtcbn1cblxuXG4vKiBAdGhpcyAgIEFqdiAqL1xuZnVuY3Rpb24gX2NvbXBpbGUoc2NoZW1hT2JqLCByb290KSB7XG4gIGlmIChzY2hlbWFPYmouY29tcGlsaW5nKSB7XG4gICAgc2NoZW1hT2JqLnZhbGlkYXRlID0gY2FsbFZhbGlkYXRlO1xuICAgIGNhbGxWYWxpZGF0ZS5zY2hlbWEgPSBzY2hlbWFPYmouc2NoZW1hO1xuICAgIGNhbGxWYWxpZGF0ZS5lcnJvcnMgPSBudWxsO1xuICAgIGNhbGxWYWxpZGF0ZS5yb290ID0gcm9vdCA/IHJvb3QgOiBjYWxsVmFsaWRhdGU7XG4gICAgaWYgKHNjaGVtYU9iai5zY2hlbWEuJGFzeW5jID09PSB0cnVlKVxuICAgICAgY2FsbFZhbGlkYXRlLiRhc3luYyA9IHRydWU7XG4gICAgcmV0dXJuIGNhbGxWYWxpZGF0ZTtcbiAgfVxuICBzY2hlbWFPYmouY29tcGlsaW5nID0gdHJ1ZTtcblxuICB2YXIgY3VycmVudE9wdHM7XG4gIGlmIChzY2hlbWFPYmoubWV0YSkge1xuICAgIGN1cnJlbnRPcHRzID0gdGhpcy5fb3B0cztcbiAgICB0aGlzLl9vcHRzID0gdGhpcy5fbWV0YU9wdHM7XG4gIH1cblxuICB2YXIgdjtcbiAgdHJ5IHsgdiA9IGNvbXBpbGVTY2hlbWEuY2FsbCh0aGlzLCBzY2hlbWFPYmouc2NoZW1hLCByb290LCBzY2hlbWFPYmoubG9jYWxSZWZzKTsgfVxuICBjYXRjaChlKSB7XG4gICAgZGVsZXRlIHNjaGVtYU9iai52YWxpZGF0ZTtcbiAgICB0aHJvdyBlO1xuICB9XG4gIGZpbmFsbHkge1xuICAgIHNjaGVtYU9iai5jb21waWxpbmcgPSBmYWxzZTtcbiAgICBpZiAoc2NoZW1hT2JqLm1ldGEpIHRoaXMuX29wdHMgPSBjdXJyZW50T3B0cztcbiAgfVxuXG4gIHNjaGVtYU9iai52YWxpZGF0ZSA9IHY7XG4gIHNjaGVtYU9iai5yZWZzID0gdi5yZWZzO1xuICBzY2hlbWFPYmoucmVmVmFsID0gdi5yZWZWYWw7XG4gIHNjaGVtYU9iai5yb290ID0gdi5yb290O1xuICByZXR1cm4gdjtcblxuXG4gIC8qIEB0aGlzICAgeyp9IC0gY3VzdG9tIGNvbnRleHQsIHNlZSBwYXNzQ29udGV4dCBvcHRpb24gKi9cbiAgZnVuY3Rpb24gY2FsbFZhbGlkYXRlKCkge1xuICAgIC8qIGpzaGludCB2YWxpZHRoaXM6IHRydWUgKi9cbiAgICB2YXIgX3ZhbGlkYXRlID0gc2NoZW1hT2JqLnZhbGlkYXRlO1xuICAgIHZhciByZXN1bHQgPSBfdmFsaWRhdGUuYXBwbHkodGhpcywgYXJndW1lbnRzKTtcbiAgICBjYWxsVmFsaWRhdGUuZXJyb3JzID0gX3ZhbGlkYXRlLmVycm9ycztcbiAgICByZXR1cm4gcmVzdWx0O1xuICB9XG59XG5cblxuZnVuY3Rpb24gY2hvb3NlR2V0SWQob3B0cykge1xuICBzd2l0Y2ggKG9wdHMuc2NoZW1hSWQpIHtcbiAgICBjYXNlICdhdXRvJzogcmV0dXJuIF9nZXQkSWRPcklkO1xuICAgIGNhc2UgJ2lkJzogcmV0dXJuIF9nZXRJZDtcbiAgICBkZWZhdWx0OiByZXR1cm4gX2dldCRJZDtcbiAgfVxufVxuXG4vKiBAdGhpcyAgIEFqdiAqL1xuZnVuY3Rpb24gX2dldElkKHNjaGVtYSkge1xuICBpZiAoc2NoZW1hLiRpZCkgdGhpcy5sb2dnZXIud2Fybignc2NoZW1hICRpZCBpZ25vcmVkJywgc2NoZW1hLiRpZCk7XG4gIHJldHVybiBzY2hlbWEuaWQ7XG59XG5cbi8qIEB0aGlzICAgQWp2ICovXG5mdW5jdGlvbiBfZ2V0JElkKHNjaGVtYSkge1xuICBpZiAoc2NoZW1hLmlkKSB0aGlzLmxvZ2dlci53YXJuKCdzY2hlbWEgaWQgaWdub3JlZCcsIHNjaGVtYS5pZCk7XG4gIHJldHVybiBzY2hlbWEuJGlkO1xufVxuXG5cbmZ1bmN0aW9uIF9nZXQkSWRPcklkKHNjaGVtYSkge1xuICBpZiAoc2NoZW1hLiRpZCAmJiBzY2hlbWEuaWQgJiYgc2NoZW1hLiRpZCAhPSBzY2hlbWEuaWQpXG4gICAgdGhyb3cgbmV3IEVycm9yKCdzY2hlbWEgJGlkIGlzIGRpZmZlcmVudCBmcm9tIGlkJyk7XG4gIHJldHVybiBzY2hlbWEuJGlkIHx8IHNjaGVtYS5pZDtcbn1cblxuXG4vKipcbiAqIENvbnZlcnQgYXJyYXkgb2YgZXJyb3IgbWVzc2FnZSBvYmplY3RzIHRvIHN0cmluZ1xuICogQHRoaXMgICBBanZcbiAqIEBwYXJhbSAge0FycmF5PE9iamVjdD59IGVycm9ycyBvcHRpb25hbCBhcnJheSBvZiB2YWxpZGF0aW9uIGVycm9ycywgaWYgbm90IHBhc3NlZCBlcnJvcnMgZnJvbSB0aGUgaW5zdGFuY2UgYXJlIHVzZWQuXG4gKiBAcGFyYW0gIHtPYmplY3R9IG9wdGlvbnMgb3B0aW9uYWwgb3B0aW9ucyB3aXRoIHByb3BlcnRpZXMgYHNlcGFyYXRvcmAgYW5kIGBkYXRhVmFyYC5cbiAqIEByZXR1cm4ge1N0cmluZ30gaHVtYW4gcmVhZGFibGUgc3RyaW5nIHdpdGggYWxsIGVycm9ycyBkZXNjcmlwdGlvbnNcbiAqL1xuZnVuY3Rpb24gZXJyb3JzVGV4dChlcnJvcnMsIG9wdGlvbnMpIHtcbiAgZXJyb3JzID0gZXJyb3JzIHx8IHRoaXMuZXJyb3JzO1xuICBpZiAoIWVycm9ycykgcmV0dXJuICdObyBlcnJvcnMnO1xuICBvcHRpb25zID0gb3B0aW9ucyB8fCB7fTtcbiAgdmFyIHNlcGFyYXRvciA9IG9wdGlvbnMuc2VwYXJhdG9yID09PSB1bmRlZmluZWQgPyAnLCAnIDogb3B0aW9ucy5zZXBhcmF0b3I7XG4gIHZhciBkYXRhVmFyID0gb3B0aW9ucy5kYXRhVmFyID09PSB1bmRlZmluZWQgPyAnZGF0YScgOiBvcHRpb25zLmRhdGFWYXI7XG5cbiAgdmFyIHRleHQgPSAnJztcbiAgZm9yICh2YXIgaT0wOyBpPGVycm9ycy5sZW5ndGg7IGkrKykge1xuICAgIHZhciBlID0gZXJyb3JzW2ldO1xuICAgIGlmIChlKSB0ZXh0ICs9IGRhdGFWYXIgKyBlLmRhdGFQYXRoICsgJyAnICsgZS5tZXNzYWdlICsgc2VwYXJhdG9yO1xuICB9XG4gIHJldHVybiB0ZXh0LnNsaWNlKDAsIC1zZXBhcmF0b3IubGVuZ3RoKTtcbn1cblxuXG4vKipcbiAqIEFkZCBjdXN0b20gZm9ybWF0XG4gKiBAdGhpcyAgIEFqdlxuICogQHBhcmFtIHtTdHJpbmd9IG5hbWUgZm9ybWF0IG5hbWVcbiAqIEBwYXJhbSB7U3RyaW5nfFJlZ0V4cHxGdW5jdGlvbn0gZm9ybWF0IHN0cmluZyBpcyBjb252ZXJ0ZWQgdG8gUmVnRXhwOyBmdW5jdGlvbiBzaG91bGQgcmV0dXJuIGJvb2xlYW4gKHRydWUgd2hlbiB2YWxpZClcbiAqIEByZXR1cm4ge0Fqdn0gdGhpcyBmb3IgbWV0aG9kIGNoYWluaW5nXG4gKi9cbmZ1bmN0aW9uIGFkZEZvcm1hdChuYW1lLCBmb3JtYXQpIHtcbiAgaWYgKHR5cGVvZiBmb3JtYXQgPT0gJ3N0cmluZycpIGZvcm1hdCA9IG5ldyBSZWdFeHAoZm9ybWF0KTtcbiAgdGhpcy5fZm9ybWF0c1tuYW1lXSA9IGZvcm1hdDtcbiAgcmV0dXJuIHRoaXM7XG59XG5cblxuZnVuY3Rpb24gYWRkRGVmYXVsdE1ldGFTY2hlbWEoc2VsZikge1xuICB2YXIgJGRhdGFTY2hlbWE7XG4gIGlmIChzZWxmLl9vcHRzLiRkYXRhKSB7XG4gICAgJGRhdGFTY2hlbWEgPSByZXF1aXJlKCcuL3JlZnMvZGF0YS5qc29uJyk7XG4gICAgc2VsZi5hZGRNZXRhU2NoZW1hKCRkYXRhU2NoZW1hLCAkZGF0YVNjaGVtYS4kaWQsIHRydWUpO1xuICB9XG4gIGlmIChzZWxmLl9vcHRzLm1ldGEgPT09IGZhbHNlKSByZXR1cm47XG4gIHZhciBtZXRhU2NoZW1hID0gcmVxdWlyZSgnLi9yZWZzL2pzb24tc2NoZW1hLWRyYWZ0LTA3Lmpzb24nKTtcbiAgaWYgKHNlbGYuX29wdHMuJGRhdGEpIG1ldGFTY2hlbWEgPSAkZGF0YU1ldGFTY2hlbWEobWV0YVNjaGVtYSwgTUVUQV9TVVBQT1JUX0RBVEEpO1xuICBzZWxmLmFkZE1ldGFTY2hlbWEobWV0YVNjaGVtYSwgTUVUQV9TQ0hFTUFfSUQsIHRydWUpO1xuICBzZWxmLl9yZWZzWydodHRwOi8vanNvbi1zY2hlbWEub3JnL3NjaGVtYSddID0gTUVUQV9TQ0hFTUFfSUQ7XG59XG5cblxuZnVuY3Rpb24gYWRkSW5pdGlhbFNjaGVtYXMoc2VsZikge1xuICB2YXIgb3B0c1NjaGVtYXMgPSBzZWxmLl9vcHRzLnNjaGVtYXM7XG4gIGlmICghb3B0c1NjaGVtYXMpIHJldHVybjtcbiAgaWYgKEFycmF5LmlzQXJyYXkob3B0c1NjaGVtYXMpKSBzZWxmLmFkZFNjaGVtYShvcHRzU2NoZW1hcyk7XG4gIGVsc2UgZm9yICh2YXIga2V5IGluIG9wdHNTY2hlbWFzKSBzZWxmLmFkZFNjaGVtYShvcHRzU2NoZW1hc1trZXldLCBrZXkpO1xufVxuXG5cbmZ1bmN0aW9uIGFkZEluaXRpYWxGb3JtYXRzKHNlbGYpIHtcbiAgZm9yICh2YXIgbmFtZSBpbiBzZWxmLl9vcHRzLmZvcm1hdHMpIHtcbiAgICB2YXIgZm9ybWF0ID0gc2VsZi5fb3B0cy5mb3JtYXRzW25hbWVdO1xuICAgIHNlbGYuYWRkRm9ybWF0KG5hbWUsIGZvcm1hdCk7XG4gIH1cbn1cblxuXG5mdW5jdGlvbiBhZGRJbml0aWFsS2V5d29yZHMoc2VsZikge1xuICBmb3IgKHZhciBuYW1lIGluIHNlbGYuX29wdHMua2V5d29yZHMpIHtcbiAgICB2YXIga2V5d29yZCA9IHNlbGYuX29wdHMua2V5d29yZHNbbmFtZV07XG4gICAgc2VsZi5hZGRLZXl3b3JkKG5hbWUsIGtleXdvcmQpO1xuICB9XG59XG5cblxuZnVuY3Rpb24gY2hlY2tVbmlxdWUoc2VsZiwgaWQpIHtcbiAgaWYgKHNlbGYuX3NjaGVtYXNbaWRdIHx8IHNlbGYuX3JlZnNbaWRdKVxuICAgIHRocm93IG5ldyBFcnJvcignc2NoZW1hIHdpdGgga2V5IG9yIGlkIFwiJyArIGlkICsgJ1wiIGFscmVhZHkgZXhpc3RzJyk7XG59XG5cblxuZnVuY3Rpb24gZ2V0TWV0YVNjaGVtYU9wdGlvbnMoc2VsZikge1xuICB2YXIgbWV0YU9wdHMgPSB1dGlsLmNvcHkoc2VsZi5fb3B0cyk7XG4gIGZvciAodmFyIGk9MDsgaTxNRVRBX0lHTk9SRV9PUFRJT05TLmxlbmd0aDsgaSsrKVxuICAgIGRlbGV0ZSBtZXRhT3B0c1tNRVRBX0lHTk9SRV9PUFRJT05TW2ldXTtcbiAgcmV0dXJuIG1ldGFPcHRzO1xufVxuXG5cbmZ1bmN0aW9uIHNldExvZ2dlcihzZWxmKSB7XG4gIHZhciBsb2dnZXIgPSBzZWxmLl9vcHRzLmxvZ2dlcjtcbiAgaWYgKGxvZ2dlciA9PT0gZmFsc2UpIHtcbiAgICBzZWxmLmxvZ2dlciA9IHtsb2c6IG5vb3AsIHdhcm46IG5vb3AsIGVycm9yOiBub29wfTtcbiAgfSBlbHNlIHtcbiAgICBpZiAobG9nZ2VyID09PSB1bmRlZmluZWQpIGxvZ2dlciA9IGNvbnNvbGU7XG4gICAgaWYgKCEodHlwZW9mIGxvZ2dlciA9PSAnb2JqZWN0JyAmJiBsb2dnZXIubG9nICYmIGxvZ2dlci53YXJuICYmIGxvZ2dlci5lcnJvcikpXG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ2xvZ2dlciBtdXN0IGltcGxlbWVudCBsb2csIHdhcm4gYW5kIGVycm9yIG1ldGhvZHMnKTtcbiAgICBzZWxmLmxvZ2dlciA9IGxvZ2dlcjtcbiAgfVxufVxuXG5cbmZ1bmN0aW9uIG5vb3AoKSB7fVxuIiwgbnVsbCwgImV4cG9ydCBjb25zdCBpZ25vcmVPdmVycmlkZSA9IFN5bWJvbChcIkxldCB6b2RUb0pzb25TY2hlbWEgZGVjaWRlIG9uIHdoaWNoIHBhcnNlciB0byB1c2VcIik7XG5leHBvcnQgY29uc3QganNvbkRlc2NyaXB0aW9uID0gKGpzb25TY2hlbWEsIGRlZikgPT4ge1xuICAgIGlmIChkZWYuZGVzY3JpcHRpb24pIHtcbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgLi4uanNvblNjaGVtYSxcbiAgICAgICAgICAgICAgICAuLi5KU09OLnBhcnNlKGRlZi5kZXNjcmlwdGlvbiksXG4gICAgICAgICAgICB9O1xuICAgICAgICB9XG4gICAgICAgIGNhdGNoIHsgfVxuICAgIH1cbiAgICByZXR1cm4ganNvblNjaGVtYTtcbn07XG5leHBvcnQgY29uc3QgZGVmYXVsdE9wdGlvbnMgPSB7XG4gICAgbmFtZTogdW5kZWZpbmVkLFxuICAgICRyZWZTdHJhdGVneTogXCJyb290XCIsXG4gICAgYmFzZVBhdGg6IFtcIiNcIl0sXG4gICAgZWZmZWN0U3RyYXRlZ3k6IFwiaW5wdXRcIixcbiAgICBwaXBlU3RyYXRlZ3k6IFwiYWxsXCIsXG4gICAgZGF0ZVN0cmF0ZWd5OiBcImZvcm1hdDpkYXRlLXRpbWVcIixcbiAgICBtYXBTdHJhdGVneTogXCJlbnRyaWVzXCIsXG4gICAgcmVtb3ZlQWRkaXRpb25hbFN0cmF0ZWd5OiBcInBhc3N0aHJvdWdoXCIsXG4gICAgYWxsb3dlZEFkZGl0aW9uYWxQcm9wZXJ0aWVzOiB0cnVlLFxuICAgIHJlamVjdGVkQWRkaXRpb25hbFByb3BlcnRpZXM6IGZhbHNlLFxuICAgIGRlZmluaXRpb25QYXRoOiBcImRlZmluaXRpb25zXCIsXG4gICAgdGFyZ2V0OiBcImpzb25TY2hlbWE3XCIsXG4gICAgc3RyaWN0VW5pb25zOiBmYWxzZSxcbiAgICBkZWZpbml0aW9uczoge30sXG4gICAgZXJyb3JNZXNzYWdlczogZmFsc2UsXG4gICAgbWFya2Rvd25EZXNjcmlwdGlvbjogZmFsc2UsXG4gICAgcGF0dGVyblN0cmF0ZWd5OiBcImVzY2FwZVwiLFxuICAgIGFwcGx5UmVnZXhGbGFnczogZmFsc2UsXG4gICAgZW1haWxTdHJhdGVneTogXCJmb3JtYXQ6ZW1haWxcIixcbiAgICBiYXNlNjRTdHJhdGVneTogXCJjb250ZW50RW5jb2Rpbmc6YmFzZTY0XCIsXG4gICAgbmFtZVN0cmF0ZWd5OiBcInJlZlwiLFxuICAgIG9wZW5BaUFueVR5cGVOYW1lOiBcIk9wZW5BaUFueVR5cGVcIlxufTtcbmV4cG9ydCBjb25zdCBnZXREZWZhdWx0T3B0aW9ucyA9IChvcHRpb25zKSA9PiAodHlwZW9mIG9wdGlvbnMgPT09IFwic3RyaW5nXCJcbiAgICA/IHtcbiAgICAgICAgLi4uZGVmYXVsdE9wdGlvbnMsXG4gICAgICAgIG5hbWU6IG9wdGlvbnMsXG4gICAgfVxuICAgIDoge1xuICAgICAgICAuLi5kZWZhdWx0T3B0aW9ucyxcbiAgICAgICAgLi4ub3B0aW9ucyxcbiAgICB9KTtcbiIsICJpbXBvcnQgeyBnZXREZWZhdWx0T3B0aW9ucyB9IGZyb20gXCIuL09wdGlvbnMuanNcIjtcbmV4cG9ydCBjb25zdCBnZXRSZWZzID0gKG9wdGlvbnMpID0+IHtcbiAgICBjb25zdCBfb3B0aW9ucyA9IGdldERlZmF1bHRPcHRpb25zKG9wdGlvbnMpO1xuICAgIGNvbnN0IGN1cnJlbnRQYXRoID0gX29wdGlvbnMubmFtZSAhPT0gdW5kZWZpbmVkXG4gICAgICAgID8gWy4uLl9vcHRpb25zLmJhc2VQYXRoLCBfb3B0aW9ucy5kZWZpbml0aW9uUGF0aCwgX29wdGlvbnMubmFtZV1cbiAgICAgICAgOiBfb3B0aW9ucy5iYXNlUGF0aDtcbiAgICByZXR1cm4ge1xuICAgICAgICAuLi5fb3B0aW9ucyxcbiAgICAgICAgZmxhZ3M6IHsgaGFzUmVmZXJlbmNlZE9wZW5BaUFueVR5cGU6IGZhbHNlIH0sXG4gICAgICAgIGN1cnJlbnRQYXRoOiBjdXJyZW50UGF0aCxcbiAgICAgICAgcHJvcGVydHlQYXRoOiB1bmRlZmluZWQsXG4gICAgICAgIHNlZW46IG5ldyBNYXAoT2JqZWN0LmVudHJpZXMoX29wdGlvbnMuZGVmaW5pdGlvbnMpLm1hcCgoW25hbWUsIGRlZl0pID0+IFtcbiAgICAgICAgICAgIGRlZi5fZGVmLFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIGRlZjogZGVmLl9kZWYsXG4gICAgICAgICAgICAgICAgcGF0aDogWy4uLl9vcHRpb25zLmJhc2VQYXRoLCBfb3B0aW9ucy5kZWZpbml0aW9uUGF0aCwgbmFtZV0sXG4gICAgICAgICAgICAgICAgLy8gUmVzb2x1dGlvbiBvZiByZWZlcmVuY2VzIHdpbGwgYmUgZm9yY2VkIGV2ZW4gdGhvdWdoIHNlZW4sIHNvIGl0J3Mgb2sgdGhhdCB0aGUgc2NoZW1hIGlzIHVuZGVmaW5lZCBoZXJlIGZvciBub3cuXG4gICAgICAgICAgICAgICAganNvblNjaGVtYTogdW5kZWZpbmVkLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgXSkpLFxuICAgIH07XG59O1xuIiwgImV4cG9ydCBmdW5jdGlvbiBhZGRFcnJvck1lc3NhZ2UocmVzLCBrZXksIGVycm9yTWVzc2FnZSwgcmVmcykge1xuICAgIGlmICghcmVmcz8uZXJyb3JNZXNzYWdlcylcbiAgICAgICAgcmV0dXJuO1xuICAgIGlmIChlcnJvck1lc3NhZ2UpIHtcbiAgICAgICAgcmVzLmVycm9yTWVzc2FnZSA9IHtcbiAgICAgICAgICAgIC4uLnJlcy5lcnJvck1lc3NhZ2UsXG4gICAgICAgICAgICBba2V5XTogZXJyb3JNZXNzYWdlLFxuICAgICAgICB9O1xuICAgIH1cbn1cbmV4cG9ydCBmdW5jdGlvbiBzZXRSZXNwb25zZVZhbHVlQW5kRXJyb3JzKHJlcywga2V5LCB2YWx1ZSwgZXJyb3JNZXNzYWdlLCByZWZzKSB7XG4gICAgcmVzW2tleV0gPSB2YWx1ZTtcbiAgICBhZGRFcnJvck1lc3NhZ2UocmVzLCBrZXksIGVycm9yTWVzc2FnZSwgcmVmcyk7XG59XG4iLCAiZXhwb3J0IGNvbnN0IGdldFJlbGF0aXZlUGF0aCA9IChwYXRoQSwgcGF0aEIpID0+IHtcbiAgICBsZXQgaSA9IDA7XG4gICAgZm9yICg7IGkgPCBwYXRoQS5sZW5ndGggJiYgaSA8IHBhdGhCLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgIGlmIChwYXRoQVtpXSAhPT0gcGF0aEJbaV0pXG4gICAgICAgICAgICBicmVhaztcbiAgICB9XG4gICAgcmV0dXJuIFsocGF0aEEubGVuZ3RoIC0gaSkudG9TdHJpbmcoKSwgLi4ucGF0aEIuc2xpY2UoaSldLmpvaW4oXCIvXCIpO1xufTtcbiIsICJpbXBvcnQgeyBnZXRSZWxhdGl2ZVBhdGggfSBmcm9tIFwiLi4vZ2V0UmVsYXRpdmVQYXRoLmpzXCI7XG5leHBvcnQgZnVuY3Rpb24gcGFyc2VBbnlEZWYocmVmcykge1xuICAgIGlmIChyZWZzLnRhcmdldCAhPT0gXCJvcGVuQWlcIikge1xuICAgICAgICByZXR1cm4ge307XG4gICAgfVxuICAgIGNvbnN0IGFueURlZmluaXRpb25QYXRoID0gW1xuICAgICAgICAuLi5yZWZzLmJhc2VQYXRoLFxuICAgICAgICByZWZzLmRlZmluaXRpb25QYXRoLFxuICAgICAgICByZWZzLm9wZW5BaUFueVR5cGVOYW1lLFxuICAgIF07XG4gICAgcmVmcy5mbGFncy5oYXNSZWZlcmVuY2VkT3BlbkFpQW55VHlwZSA9IHRydWU7XG4gICAgcmV0dXJuIHtcbiAgICAgICAgJHJlZjogcmVmcy4kcmVmU3RyYXRlZ3kgPT09IFwicmVsYXRpdmVcIlxuICAgICAgICAgICAgPyBnZXRSZWxhdGl2ZVBhdGgoYW55RGVmaW5pdGlvblBhdGgsIHJlZnMuY3VycmVudFBhdGgpXG4gICAgICAgICAgICA6IGFueURlZmluaXRpb25QYXRoLmpvaW4oXCIvXCIpLFxuICAgIH07XG59XG4iLCAiaW1wb3J0IHsgWm9kRmlyc3RQYXJ0eVR5cGVLaW5kIH0gZnJvbSBcInpvZFwiO1xuaW1wb3J0IHsgc2V0UmVzcG9uc2VWYWx1ZUFuZEVycm9ycyB9IGZyb20gXCIuLi9lcnJvck1lc3NhZ2VzLmpzXCI7XG5pbXBvcnQgeyBwYXJzZURlZiB9IGZyb20gXCIuLi9wYXJzZURlZi5qc1wiO1xuZXhwb3J0IGZ1bmN0aW9uIHBhcnNlQXJyYXlEZWYoZGVmLCByZWZzKSB7XG4gICAgY29uc3QgcmVzID0ge1xuICAgICAgICB0eXBlOiBcImFycmF5XCIsXG4gICAgfTtcbiAgICBpZiAoZGVmLnR5cGU/Ll9kZWYgJiZcbiAgICAgICAgZGVmLnR5cGU/Ll9kZWY/LnR5cGVOYW1lICE9PSBab2RGaXJzdFBhcnR5VHlwZUtpbmQuWm9kQW55KSB7XG4gICAgICAgIHJlcy5pdGVtcyA9IHBhcnNlRGVmKGRlZi50eXBlLl9kZWYsIHtcbiAgICAgICAgICAgIC4uLnJlZnMsXG4gICAgICAgICAgICBjdXJyZW50UGF0aDogWy4uLnJlZnMuY3VycmVudFBhdGgsIFwiaXRlbXNcIl0sXG4gICAgICAgIH0pO1xuICAgIH1cbiAgICBpZiAoZGVmLm1pbkxlbmd0aCkge1xuICAgICAgICBzZXRSZXNwb25zZVZhbHVlQW5kRXJyb3JzKHJlcywgXCJtaW5JdGVtc1wiLCBkZWYubWluTGVuZ3RoLnZhbHVlLCBkZWYubWluTGVuZ3RoLm1lc3NhZ2UsIHJlZnMpO1xuICAgIH1cbiAgICBpZiAoZGVmLm1heExlbmd0aCkge1xuICAgICAgICBzZXRSZXNwb25zZVZhbHVlQW5kRXJyb3JzKHJlcywgXCJtYXhJdGVtc1wiLCBkZWYubWF4TGVuZ3RoLnZhbHVlLCBkZWYubWF4TGVuZ3RoLm1lc3NhZ2UsIHJlZnMpO1xuICAgIH1cbiAgICBpZiAoZGVmLmV4YWN0TGVuZ3RoKSB7XG4gICAgICAgIHNldFJlc3BvbnNlVmFsdWVBbmRFcnJvcnMocmVzLCBcIm1pbkl0ZW1zXCIsIGRlZi5leGFjdExlbmd0aC52YWx1ZSwgZGVmLmV4YWN0TGVuZ3RoLm1lc3NhZ2UsIHJlZnMpO1xuICAgICAgICBzZXRSZXNwb25zZVZhbHVlQW5kRXJyb3JzKHJlcywgXCJtYXhJdGVtc1wiLCBkZWYuZXhhY3RMZW5ndGgudmFsdWUsIGRlZi5leGFjdExlbmd0aC5tZXNzYWdlLCByZWZzKTtcbiAgICB9XG4gICAgcmV0dXJuIHJlcztcbn1cbiIsICJpbXBvcnQgeyBzZXRSZXNwb25zZVZhbHVlQW5kRXJyb3JzIH0gZnJvbSBcIi4uL2Vycm9yTWVzc2FnZXMuanNcIjtcbmV4cG9ydCBmdW5jdGlvbiBwYXJzZUJpZ2ludERlZihkZWYsIHJlZnMpIHtcbiAgICBjb25zdCByZXMgPSB7XG4gICAgICAgIHR5cGU6IFwiaW50ZWdlclwiLFxuICAgICAgICBmb3JtYXQ6IFwiaW50NjRcIixcbiAgICB9O1xuICAgIGlmICghZGVmLmNoZWNrcylcbiAgICAgICAgcmV0dXJuIHJlcztcbiAgICBmb3IgKGNvbnN0IGNoZWNrIG9mIGRlZi5jaGVja3MpIHtcbiAgICAgICAgc3dpdGNoIChjaGVjay5raW5kKSB7XG4gICAgICAgICAgICBjYXNlIFwibWluXCI6XG4gICAgICAgICAgICAgICAgaWYgKHJlZnMudGFyZ2V0ID09PSBcImpzb25TY2hlbWE3XCIpIHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKGNoZWNrLmluY2x1c2l2ZSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgc2V0UmVzcG9uc2VWYWx1ZUFuZEVycm9ycyhyZXMsIFwibWluaW11bVwiLCBjaGVjay52YWx1ZSwgY2hlY2subWVzc2FnZSwgcmVmcyk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBzZXRSZXNwb25zZVZhbHVlQW5kRXJyb3JzKHJlcywgXCJleGNsdXNpdmVNaW5pbXVtXCIsIGNoZWNrLnZhbHVlLCBjaGVjay5tZXNzYWdlLCByZWZzKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKCFjaGVjay5pbmNsdXNpdmUpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJlcy5leGNsdXNpdmVNaW5pbXVtID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBzZXRSZXNwb25zZVZhbHVlQW5kRXJyb3JzKHJlcywgXCJtaW5pbXVtXCIsIGNoZWNrLnZhbHVlLCBjaGVjay5tZXNzYWdlLCByZWZzKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICBjYXNlIFwibWF4XCI6XG4gICAgICAgICAgICAgICAgaWYgKHJlZnMudGFyZ2V0ID09PSBcImpzb25TY2hlbWE3XCIpIHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKGNoZWNrLmluY2x1c2l2ZSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgc2V0UmVzcG9uc2VWYWx1ZUFuZEVycm9ycyhyZXMsIFwibWF4aW11bVwiLCBjaGVjay52YWx1ZSwgY2hlY2subWVzc2FnZSwgcmVmcyk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBzZXRSZXNwb25zZVZhbHVlQW5kRXJyb3JzKHJlcywgXCJleGNsdXNpdmVNYXhpbXVtXCIsIGNoZWNrLnZhbHVlLCBjaGVjay5tZXNzYWdlLCByZWZzKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKCFjaGVjay5pbmNsdXNpdmUpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJlcy5leGNsdXNpdmVNYXhpbXVtID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBzZXRSZXNwb25zZVZhbHVlQW5kRXJyb3JzKHJlcywgXCJtYXhpbXVtXCIsIGNoZWNrLnZhbHVlLCBjaGVjay5tZXNzYWdlLCByZWZzKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICBjYXNlIFwibXVsdGlwbGVPZlwiOlxuICAgICAgICAgICAgICAgIHNldFJlc3BvbnNlVmFsdWVBbmRFcnJvcnMocmVzLCBcIm11bHRpcGxlT2ZcIiwgY2hlY2sudmFsdWUsIGNoZWNrLm1lc3NhZ2UsIHJlZnMpO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG4gICAgfVxuICAgIHJldHVybiByZXM7XG59XG4iLCAiZXhwb3J0IGZ1bmN0aW9uIHBhcnNlQm9vbGVhbkRlZigpIHtcbiAgICByZXR1cm4ge1xuICAgICAgICB0eXBlOiBcImJvb2xlYW5cIixcbiAgICB9O1xufVxuIiwgImltcG9ydCB7IHBhcnNlRGVmIH0gZnJvbSBcIi4uL3BhcnNlRGVmLmpzXCI7XG5leHBvcnQgZnVuY3Rpb24gcGFyc2VCcmFuZGVkRGVmKF9kZWYsIHJlZnMpIHtcbiAgICByZXR1cm4gcGFyc2VEZWYoX2RlZi50eXBlLl9kZWYsIHJlZnMpO1xufVxuIiwgImltcG9ydCB7IHBhcnNlRGVmIH0gZnJvbSBcIi4uL3BhcnNlRGVmLmpzXCI7XG5leHBvcnQgY29uc3QgcGFyc2VDYXRjaERlZiA9IChkZWYsIHJlZnMpID0+IHtcbiAgICByZXR1cm4gcGFyc2VEZWYoZGVmLmlubmVyVHlwZS5fZGVmLCByZWZzKTtcbn07XG4iLCAiaW1wb3J0IHsgc2V0UmVzcG9uc2VWYWx1ZUFuZEVycm9ycyB9IGZyb20gXCIuLi9lcnJvck1lc3NhZ2VzLmpzXCI7XG5leHBvcnQgZnVuY3Rpb24gcGFyc2VEYXRlRGVmKGRlZiwgcmVmcywgb3ZlcnJpZGVEYXRlU3RyYXRlZ3kpIHtcbiAgICBjb25zdCBzdHJhdGVneSA9IG92ZXJyaWRlRGF0ZVN0cmF0ZWd5ID8/IHJlZnMuZGF0ZVN0cmF0ZWd5O1xuICAgIGlmIChBcnJheS5pc0FycmF5KHN0cmF0ZWd5KSkge1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgYW55T2Y6IHN0cmF0ZWd5Lm1hcCgoaXRlbSwgaSkgPT4gcGFyc2VEYXRlRGVmKGRlZiwgcmVmcywgaXRlbSkpLFxuICAgICAgICB9O1xuICAgIH1cbiAgICBzd2l0Y2ggKHN0cmF0ZWd5KSB7XG4gICAgICAgIGNhc2UgXCJzdHJpbmdcIjpcbiAgICAgICAgY2FzZSBcImZvcm1hdDpkYXRlLXRpbWVcIjpcbiAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgdHlwZTogXCJzdHJpbmdcIixcbiAgICAgICAgICAgICAgICBmb3JtYXQ6IFwiZGF0ZS10aW1lXCIsXG4gICAgICAgICAgICB9O1xuICAgICAgICBjYXNlIFwiZm9ybWF0OmRhdGVcIjpcbiAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgdHlwZTogXCJzdHJpbmdcIixcbiAgICAgICAgICAgICAgICBmb3JtYXQ6IFwiZGF0ZVwiLFxuICAgICAgICAgICAgfTtcbiAgICAgICAgY2FzZSBcImludGVnZXJcIjpcbiAgICAgICAgICAgIHJldHVybiBpbnRlZ2VyRGF0ZVBhcnNlcihkZWYsIHJlZnMpO1xuICAgIH1cbn1cbmNvbnN0IGludGVnZXJEYXRlUGFyc2VyID0gKGRlZiwgcmVmcykgPT4ge1xuICAgIGNvbnN0IHJlcyA9IHtcbiAgICAgICAgdHlwZTogXCJpbnRlZ2VyXCIsXG4gICAgICAgIGZvcm1hdDogXCJ1bml4LXRpbWVcIixcbiAgICB9O1xuICAgIGlmIChyZWZzLnRhcmdldCA9PT0gXCJvcGVuQXBpM1wiKSB7XG4gICAgICAgIHJldHVybiByZXM7XG4gICAgfVxuICAgIGZvciAoY29uc3QgY2hlY2sgb2YgZGVmLmNoZWNrcykge1xuICAgICAgICBzd2l0Y2ggKGNoZWNrLmtpbmQpIHtcbiAgICAgICAgICAgIGNhc2UgXCJtaW5cIjpcbiAgICAgICAgICAgICAgICBzZXRSZXNwb25zZVZhbHVlQW5kRXJyb3JzKHJlcywgXCJtaW5pbXVtXCIsIGNoZWNrLnZhbHVlLCAvLyBUaGlzIGlzIGluIG1pbGxpc2Vjb25kc1xuICAgICAgICAgICAgICAgIGNoZWNrLm1lc3NhZ2UsIHJlZnMpO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgY2FzZSBcIm1heFwiOlxuICAgICAgICAgICAgICAgIHNldFJlc3BvbnNlVmFsdWVBbmRFcnJvcnMocmVzLCBcIm1heGltdW1cIiwgY2hlY2sudmFsdWUsIC8vIFRoaXMgaXMgaW4gbWlsbGlzZWNvbmRzXG4gICAgICAgICAgICAgICAgY2hlY2subWVzc2FnZSwgcmVmcyk7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIHJlcztcbn07XG4iLCAiaW1wb3J0IHsgcGFyc2VEZWYgfSBmcm9tIFwiLi4vcGFyc2VEZWYuanNcIjtcbmV4cG9ydCBmdW5jdGlvbiBwYXJzZURlZmF1bHREZWYoX2RlZiwgcmVmcykge1xuICAgIHJldHVybiB7XG4gICAgICAgIC4uLnBhcnNlRGVmKF9kZWYuaW5uZXJUeXBlLl9kZWYsIHJlZnMpLFxuICAgICAgICBkZWZhdWx0OiBfZGVmLmRlZmF1bHRWYWx1ZSgpLFxuICAgIH07XG59XG4iLCAiaW1wb3J0IHsgcGFyc2VEZWYgfSBmcm9tIFwiLi4vcGFyc2VEZWYuanNcIjtcbmltcG9ydCB7IHBhcnNlQW55RGVmIH0gZnJvbSBcIi4vYW55LmpzXCI7XG5leHBvcnQgZnVuY3Rpb24gcGFyc2VFZmZlY3RzRGVmKF9kZWYsIHJlZnMpIHtcbiAgICByZXR1cm4gcmVmcy5lZmZlY3RTdHJhdGVneSA9PT0gXCJpbnB1dFwiXG4gICAgICAgID8gcGFyc2VEZWYoX2RlZi5zY2hlbWEuX2RlZiwgcmVmcylcbiAgICAgICAgOiBwYXJzZUFueURlZihyZWZzKTtcbn1cbiIsICJleHBvcnQgZnVuY3Rpb24gcGFyc2VFbnVtRGVmKGRlZikge1xuICAgIHJldHVybiB7XG4gICAgICAgIHR5cGU6IFwic3RyaW5nXCIsXG4gICAgICAgIGVudW06IEFycmF5LmZyb20oZGVmLnZhbHVlcyksXG4gICAgfTtcbn1cbiIsICJpbXBvcnQgeyBwYXJzZURlZiB9IGZyb20gXCIuLi9wYXJzZURlZi5qc1wiO1xuY29uc3QgaXNKc29uU2NoZW1hN0FsbE9mVHlwZSA9ICh0eXBlKSA9PiB7XG4gICAgaWYgKFwidHlwZVwiIGluIHR5cGUgJiYgdHlwZS50eXBlID09PSBcInN0cmluZ1wiKVxuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgcmV0dXJuIFwiYWxsT2ZcIiBpbiB0eXBlO1xufTtcbmV4cG9ydCBmdW5jdGlvbiBwYXJzZUludGVyc2VjdGlvbkRlZihkZWYsIHJlZnMpIHtcbiAgICBjb25zdCBhbGxPZiA9IFtcbiAgICAgICAgcGFyc2VEZWYoZGVmLmxlZnQuX2RlZiwge1xuICAgICAgICAgICAgLi4ucmVmcyxcbiAgICAgICAgICAgIGN1cnJlbnRQYXRoOiBbLi4ucmVmcy5jdXJyZW50UGF0aCwgXCJhbGxPZlwiLCBcIjBcIl0sXG4gICAgICAgIH0pLFxuICAgICAgICBwYXJzZURlZihkZWYucmlnaHQuX2RlZiwge1xuICAgICAgICAgICAgLi4ucmVmcyxcbiAgICAgICAgICAgIGN1cnJlbnRQYXRoOiBbLi4ucmVmcy5jdXJyZW50UGF0aCwgXCJhbGxPZlwiLCBcIjFcIl0sXG4gICAgICAgIH0pLFxuICAgIF0uZmlsdGVyKCh4KSA9PiAhIXgpO1xuICAgIGxldCB1bmV2YWx1YXRlZFByb3BlcnRpZXMgPSByZWZzLnRhcmdldCA9PT0gXCJqc29uU2NoZW1hMjAxOS0wOVwiXG4gICAgICAgID8geyB1bmV2YWx1YXRlZFByb3BlcnRpZXM6IGZhbHNlIH1cbiAgICAgICAgOiB1bmRlZmluZWQ7XG4gICAgY29uc3QgbWVyZ2VkQWxsT2YgPSBbXTtcbiAgICAvLyBJZiBlaXRoZXIgb2YgdGhlIHNjaGVtYXMgaXMgYW4gYWxsT2YsIG1lcmdlIHRoZW0gaW50byBhIHNpbmdsZSBhbGxPZlxuICAgIGFsbE9mLmZvckVhY2goKHNjaGVtYSkgPT4ge1xuICAgICAgICBpZiAoaXNKc29uU2NoZW1hN0FsbE9mVHlwZShzY2hlbWEpKSB7XG4gICAgICAgICAgICBtZXJnZWRBbGxPZi5wdXNoKC4uLnNjaGVtYS5hbGxPZik7XG4gICAgICAgICAgICBpZiAoc2NoZW1hLnVuZXZhbHVhdGVkUHJvcGVydGllcyA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICAgICAgLy8gSWYgb25lIG9mIHRoZSBzY2hlbWFzIGhhcyBubyB1bmV2YWx1YXRlZFByb3BlcnRpZXMgc2V0LFxuICAgICAgICAgICAgICAgIC8vIHRoZSBtZXJnZWQgc2NoZW1hIHNob3VsZCBhbHNvIGhhdmUgbm8gdW5ldmFsdWF0ZWRQcm9wZXJ0aWVzIHNldFxuICAgICAgICAgICAgICAgIHVuZXZhbHVhdGVkUHJvcGVydGllcyA9IHVuZGVmaW5lZDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgIGxldCBuZXN0ZWRTY2hlbWEgPSBzY2hlbWE7XG4gICAgICAgICAgICBpZiAoXCJhZGRpdGlvbmFsUHJvcGVydGllc1wiIGluIHNjaGVtYSAmJlxuICAgICAgICAgICAgICAgIHNjaGVtYS5hZGRpdGlvbmFsUHJvcGVydGllcyA9PT0gZmFsc2UpIHtcbiAgICAgICAgICAgICAgICBjb25zdCB7IGFkZGl0aW9uYWxQcm9wZXJ0aWVzLCAuLi5yZXN0IH0gPSBzY2hlbWE7XG4gICAgICAgICAgICAgICAgbmVzdGVkU2NoZW1hID0gcmVzdDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgICAgIC8vIEFzIHNvb24gYXMgb25lIG9mIHRoZSBzY2hlbWFzIGhhcyBhZGRpdGlvbmFsUHJvcGVydGllcyBzZXQgbm90IHRvIGZhbHNlLCB3ZSBhbGxvdyB1bmV2YWx1YXRlZFByb3BlcnRpZXNcbiAgICAgICAgICAgICAgICB1bmV2YWx1YXRlZFByb3BlcnRpZXMgPSB1bmRlZmluZWQ7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBtZXJnZWRBbGxPZi5wdXNoKG5lc3RlZFNjaGVtYSk7XG4gICAgICAgIH1cbiAgICB9KTtcbiAgICByZXR1cm4gbWVyZ2VkQWxsT2YubGVuZ3RoXG4gICAgICAgID8ge1xuICAgICAgICAgICAgYWxsT2Y6IG1lcmdlZEFsbE9mLFxuICAgICAgICAgICAgLi4udW5ldmFsdWF0ZWRQcm9wZXJ0aWVzLFxuICAgICAgICB9XG4gICAgICAgIDogdW5kZWZpbmVkO1xufVxuIiwgImV4cG9ydCBmdW5jdGlvbiBwYXJzZUxpdGVyYWxEZWYoZGVmLCByZWZzKSB7XG4gICAgY29uc3QgcGFyc2VkVHlwZSA9IHR5cGVvZiBkZWYudmFsdWU7XG4gICAgaWYgKHBhcnNlZFR5cGUgIT09IFwiYmlnaW50XCIgJiZcbiAgICAgICAgcGFyc2VkVHlwZSAhPT0gXCJudW1iZXJcIiAmJlxuICAgICAgICBwYXJzZWRUeXBlICE9PSBcImJvb2xlYW5cIiAmJlxuICAgICAgICBwYXJzZWRUeXBlICE9PSBcInN0cmluZ1wiKSB7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICB0eXBlOiBBcnJheS5pc0FycmF5KGRlZi52YWx1ZSkgPyBcImFycmF5XCIgOiBcIm9iamVjdFwiLFxuICAgICAgICB9O1xuICAgIH1cbiAgICBpZiAocmVmcy50YXJnZXQgPT09IFwib3BlbkFwaTNcIikge1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgdHlwZTogcGFyc2VkVHlwZSA9PT0gXCJiaWdpbnRcIiA/IFwiaW50ZWdlclwiIDogcGFyc2VkVHlwZSxcbiAgICAgICAgICAgIGVudW06IFtkZWYudmFsdWVdLFxuICAgICAgICB9O1xuICAgIH1cbiAgICByZXR1cm4ge1xuICAgICAgICB0eXBlOiBwYXJzZWRUeXBlID09PSBcImJpZ2ludFwiID8gXCJpbnRlZ2VyXCIgOiBwYXJzZWRUeXBlLFxuICAgICAgICBjb25zdDogZGVmLnZhbHVlLFxuICAgIH07XG59XG4iLCAiaW1wb3J0IHsgc2V0UmVzcG9uc2VWYWx1ZUFuZEVycm9ycyB9IGZyb20gXCIuLi9lcnJvck1lc3NhZ2VzLmpzXCI7XG5sZXQgZW1vamlSZWdleCA9IHVuZGVmaW5lZDtcbi8qKlxuICogR2VuZXJhdGVkIGZyb20gdGhlIHJlZ3VsYXIgZXhwcmVzc2lvbnMgZm91bmQgaGVyZSBhcyBvZiAyMDI0LTA1LTIyOlxuICogaHR0cHM6Ly9naXRodWIuY29tL2NvbGluaGFja3Mvem9kL2Jsb2IvbWFzdGVyL3NyYy90eXBlcy50cy5cbiAqXG4gKiBFeHByZXNzaW9ucyB3aXRoIC9pIGZsYWcgaGF2ZSBiZWVuIGNoYW5nZWQgYWNjb3JkaW5nbHkuXG4gKi9cbmV4cG9ydCBjb25zdCB6b2RQYXR0ZXJucyA9IHtcbiAgICAvKipcbiAgICAgKiBgY2Agd2FzIGNoYW5nZWQgdG8gYFtjQ11gIHRvIHJlcGxpY2F0ZSAvaSBmbGFnXG4gICAgICovXG4gICAgY3VpZDogL15bY0NdW15cXHMtXXs4LH0kLyxcbiAgICBjdWlkMjogL15bMC05YS16XSskLyxcbiAgICB1bGlkOiAvXlswLTlBLUhKS01OUC1UVi1aXXsyNn0kLyxcbiAgICAvKipcbiAgICAgKiBgYS16YCB3YXMgYWRkZWQgdG8gcmVwbGljYXRlIC9pIGZsYWdcbiAgICAgKi9cbiAgICBlbWFpbDogL14oPyFcXC4pKD8hLipcXC5cXC4pKFthLXpBLVowLTlfJytcXC1cXC5dKilbYS16QS1aMC05XystXUAoW2EtekEtWjAtOV1bYS16QS1aMC05XFwtXSpcXC4pK1thLXpBLVpdezIsfSQvLFxuICAgIC8qKlxuICAgICAqIENvbnN0cnVjdGVkIGEgdmFsaWQgVW5pY29kZSBSZWdFeHBcbiAgICAgKlxuICAgICAqIExhemlseSBpbnN0YW50aWF0ZSBzaW5jZSB0aGlzIHR5cGUgb2YgcmVnZXggaXNuJ3Qgc3VwcG9ydGVkXG4gICAgICogaW4gYWxsIGVudnMgKGUuZy4gUmVhY3QgTmF0aXZlKS5cbiAgICAgKlxuICAgICAqIFNlZTpcbiAgICAgKiBodHRwczovL2dpdGh1Yi5jb20vY29saW5oYWNrcy96b2QvaXNzdWVzLzI0MzNcbiAgICAgKiBGaXggaW4gWm9kOlxuICAgICAqIGh0dHBzOi8vZ2l0aHViLmNvbS9jb2xpbmhhY2tzL3pvZC9jb21taXQvOTM0MGZkNTFlNDg1NzZhNzVhZGM5MTliZmY2NWRiYzRhNWQ0Yzk5YlxuICAgICAqL1xuICAgIGVtb2ppOiAoKSA9PiB7XG4gICAgICAgIGlmIChlbW9qaVJlZ2V4ID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgIGVtb2ppUmVnZXggPSBSZWdFeHAoXCJeKFxcXFxwe0V4dGVuZGVkX1BpY3RvZ3JhcGhpY318XFxcXHB7RW1vamlfQ29tcG9uZW50fSkrJFwiLCBcInVcIik7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGVtb2ppUmVnZXg7XG4gICAgfSxcbiAgICAvKipcbiAgICAgKiBVbnVzZWRcbiAgICAgKi9cbiAgICB1dWlkOiAvXlswLTlhLWZBLUZdezh9XFxiLVswLTlhLWZBLUZdezR9XFxiLVswLTlhLWZBLUZdezR9XFxiLVswLTlhLWZBLUZdezR9XFxiLVswLTlhLWZBLUZdezEyfSQvLFxuICAgIC8qKlxuICAgICAqIFVudXNlZFxuICAgICAqL1xuICAgIGlwdjQ6IC9eKD86KD86MjVbMC01XXwyWzAtNF1bMC05XXwxWzAtOV1bMC05XXxbMS05XVswLTldfFswLTldKVxcLil7M30oPzoyNVswLTVdfDJbMC00XVswLTldfDFbMC05XVswLTldfFsxLTldWzAtOV18WzAtOV0pJC8sXG4gICAgaXB2NENpZHI6IC9eKD86KD86MjVbMC01XXwyWzAtNF1bMC05XXwxWzAtOV1bMC05XXxbMS05XVswLTldfFswLTldKVxcLil7M30oPzoyNVswLTVdfDJbMC00XVswLTldfDFbMC05XVswLTldfFsxLTldWzAtOV18WzAtOV0pXFwvKDNbMC0yXXxbMTJdP1swLTldKSQvLFxuICAgIC8qKlxuICAgICAqIFVudXNlZFxuICAgICAqL1xuICAgIGlwdjY6IC9eKChbYS1mMC05XXsxLDR9Oil7N318OjooW2EtZjAtOV17MSw0fTopezAsNn18KFthLWYwLTldezEsNH06KXsxfTooW2EtZjAtOV17MSw0fTopezAsNX18KFthLWYwLTldezEsNH06KXsyfTooW2EtZjAtOV17MSw0fTopezAsNH18KFthLWYwLTldezEsNH06KXszfTooW2EtZjAtOV17MSw0fTopezAsM318KFthLWYwLTldezEsNH06KXs0fTooW2EtZjAtOV17MSw0fTopezAsMn18KFthLWYwLTldezEsNH06KXs1fTooW2EtZjAtOV17MSw0fTopezAsMX0pKFthLWYwLTldezEsNH18KCgoMjVbMC01XSl8KDJbMC00XVswLTldKXwoMVswLTldezJ9KXwoWzAtOV17MSwyfSkpXFwuKXszfSgoMjVbMC01XSl8KDJbMC00XVswLTldKXwoMVswLTldezJ9KXwoWzAtOV17MSwyfSkpKSQvLFxuICAgIGlwdjZDaWRyOiAvXigoWzAtOWEtZkEtRl17MSw0fTopezcsN31bMC05YS1mQS1GXXsxLDR9fChbMC05YS1mQS1GXXsxLDR9Oil7MSw3fTp8KFswLTlhLWZBLUZdezEsNH06KXsxLDZ9OlswLTlhLWZBLUZdezEsNH18KFswLTlhLWZBLUZdezEsNH06KXsxLDV9KDpbMC05YS1mQS1GXXsxLDR9KXsxLDJ9fChbMC05YS1mQS1GXXsxLDR9Oil7MSw0fSg6WzAtOWEtZkEtRl17MSw0fSl7MSwzfXwoWzAtOWEtZkEtRl17MSw0fTopezEsM30oOlswLTlhLWZBLUZdezEsNH0pezEsNH18KFswLTlhLWZBLUZdezEsNH06KXsxLDJ9KDpbMC05YS1mQS1GXXsxLDR9KXsxLDV9fFswLTlhLWZBLUZdezEsNH06KCg6WzAtOWEtZkEtRl17MSw0fSl7MSw2fSl8OigoOlswLTlhLWZBLUZdezEsNH0pezEsN318Oil8ZmU4MDooOlswLTlhLWZBLUZdezAsNH0pezAsNH0lWzAtOWEtekEtWl17MSx9fDo6KGZmZmYoOjB7MSw0fSl7MCwxfTopezAsMX0oKDI1WzAtNV18KDJbMC00XXwxezAsMX1bMC05XSl7MCwxfVswLTldKVxcLil7MywzfSgyNVswLTVdfCgyWzAtNF18MXswLDF9WzAtOV0pezAsMX1bMC05XSl8KFswLTlhLWZBLUZdezEsNH06KXsxLDR9OigoMjVbMC01XXwoMlswLTRdfDF7MCwxfVswLTldKXswLDF9WzAtOV0pXFwuKXszLDN9KDI1WzAtNV18KDJbMC00XXwxezAsMX1bMC05XSl7MCwxfVswLTldKSlcXC8oMTJbMC04XXwxWzAxXVswLTldfFsxLTldP1swLTldKSQvLFxuICAgIGJhc2U2NDogL14oWzAtOWEtekEtWisvXXs0fSkqKChbMC05YS16QS1aKy9dezJ9PT0pfChbMC05YS16QS1aKy9dezN9PSkpPyQvLFxuICAgIGJhc2U2NHVybDogL14oWzAtOWEtekEtWi1fXXs0fSkqKChbMC05YS16QS1aLV9dezJ9KD09KT8pfChbMC05YS16QS1aLV9dezN9KD0pPykpPyQvLFxuICAgIG5hbm9pZDogL15bYS16QS1aMC05Xy1dezIxfSQvLFxuICAgIGp3dDogL15bQS1aYS16MC05LV9dK1xcLltBLVphLXowLTktX10rXFwuW0EtWmEtejAtOS1fXSokLyxcbn07XG5leHBvcnQgZnVuY3Rpb24gcGFyc2VTdHJpbmdEZWYoZGVmLCByZWZzKSB7XG4gICAgY29uc3QgcmVzID0ge1xuICAgICAgICB0eXBlOiBcInN0cmluZ1wiLFxuICAgIH07XG4gICAgaWYgKGRlZi5jaGVja3MpIHtcbiAgICAgICAgZm9yIChjb25zdCBjaGVjayBvZiBkZWYuY2hlY2tzKSB7XG4gICAgICAgICAgICBzd2l0Y2ggKGNoZWNrLmtpbmQpIHtcbiAgICAgICAgICAgICAgICBjYXNlIFwibWluXCI6XG4gICAgICAgICAgICAgICAgICAgIHNldFJlc3BvbnNlVmFsdWVBbmRFcnJvcnMocmVzLCBcIm1pbkxlbmd0aFwiLCB0eXBlb2YgcmVzLm1pbkxlbmd0aCA9PT0gXCJudW1iZXJcIlxuICAgICAgICAgICAgICAgICAgICAgICAgPyBNYXRoLm1heChyZXMubWluTGVuZ3RoLCBjaGVjay52YWx1ZSlcbiAgICAgICAgICAgICAgICAgICAgICAgIDogY2hlY2sudmFsdWUsIGNoZWNrLm1lc3NhZ2UsIHJlZnMpO1xuICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICBjYXNlIFwibWF4XCI6XG4gICAgICAgICAgICAgICAgICAgIHNldFJlc3BvbnNlVmFsdWVBbmRFcnJvcnMocmVzLCBcIm1heExlbmd0aFwiLCB0eXBlb2YgcmVzLm1heExlbmd0aCA9PT0gXCJudW1iZXJcIlxuICAgICAgICAgICAgICAgICAgICAgICAgPyBNYXRoLm1pbihyZXMubWF4TGVuZ3RoLCBjaGVjay52YWx1ZSlcbiAgICAgICAgICAgICAgICAgICAgICAgIDogY2hlY2sudmFsdWUsIGNoZWNrLm1lc3NhZ2UsIHJlZnMpO1xuICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICBjYXNlIFwiZW1haWxcIjpcbiAgICAgICAgICAgICAgICAgICAgc3dpdGNoIChyZWZzLmVtYWlsU3RyYXRlZ3kpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgXCJmb3JtYXQ6ZW1haWxcIjpcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBhZGRGb3JtYXQocmVzLCBcImVtYWlsXCIsIGNoZWNrLm1lc3NhZ2UsIHJlZnMpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgICAgICAgICAgY2FzZSBcImZvcm1hdDppZG4tZW1haWxcIjpcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBhZGRGb3JtYXQocmVzLCBcImlkbi1lbWFpbFwiLCBjaGVjay5tZXNzYWdlLCByZWZzKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgXCJwYXR0ZXJuOnpvZFwiOlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFkZFBhdHRlcm4ocmVzLCB6b2RQYXR0ZXJucy5lbWFpbCwgY2hlY2subWVzc2FnZSwgcmVmcyk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgY2FzZSBcInVybFwiOlxuICAgICAgICAgICAgICAgICAgICBhZGRGb3JtYXQocmVzLCBcInVyaVwiLCBjaGVjay5tZXNzYWdlLCByZWZzKTtcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgY2FzZSBcInV1aWRcIjpcbiAgICAgICAgICAgICAgICAgICAgYWRkRm9ybWF0KHJlcywgXCJ1dWlkXCIsIGNoZWNrLm1lc3NhZ2UsIHJlZnMpO1xuICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICBjYXNlIFwicmVnZXhcIjpcbiAgICAgICAgICAgICAgICAgICAgYWRkUGF0dGVybihyZXMsIGNoZWNrLnJlZ2V4LCBjaGVjay5tZXNzYWdlLCByZWZzKTtcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgY2FzZSBcImN1aWRcIjpcbiAgICAgICAgICAgICAgICAgICAgYWRkUGF0dGVybihyZXMsIHpvZFBhdHRlcm5zLmN1aWQsIGNoZWNrLm1lc3NhZ2UsIHJlZnMpO1xuICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICBjYXNlIFwiY3VpZDJcIjpcbiAgICAgICAgICAgICAgICAgICAgYWRkUGF0dGVybihyZXMsIHpvZFBhdHRlcm5zLmN1aWQyLCBjaGVjay5tZXNzYWdlLCByZWZzKTtcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgY2FzZSBcInN0YXJ0c1dpdGhcIjpcbiAgICAgICAgICAgICAgICAgICAgYWRkUGF0dGVybihyZXMsIFJlZ0V4cChgXiR7ZXNjYXBlTGl0ZXJhbENoZWNrVmFsdWUoY2hlY2sudmFsdWUsIHJlZnMpfWApLCBjaGVjay5tZXNzYWdlLCByZWZzKTtcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgY2FzZSBcImVuZHNXaXRoXCI6XG4gICAgICAgICAgICAgICAgICAgIGFkZFBhdHRlcm4ocmVzLCBSZWdFeHAoYCR7ZXNjYXBlTGl0ZXJhbENoZWNrVmFsdWUoY2hlY2sudmFsdWUsIHJlZnMpfSRgKSwgY2hlY2subWVzc2FnZSwgcmVmcyk7XG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgIGNhc2UgXCJkYXRldGltZVwiOlxuICAgICAgICAgICAgICAgICAgICBhZGRGb3JtYXQocmVzLCBcImRhdGUtdGltZVwiLCBjaGVjay5tZXNzYWdlLCByZWZzKTtcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgY2FzZSBcImRhdGVcIjpcbiAgICAgICAgICAgICAgICAgICAgYWRkRm9ybWF0KHJlcywgXCJkYXRlXCIsIGNoZWNrLm1lc3NhZ2UsIHJlZnMpO1xuICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICBjYXNlIFwidGltZVwiOlxuICAgICAgICAgICAgICAgICAgICBhZGRGb3JtYXQocmVzLCBcInRpbWVcIiwgY2hlY2subWVzc2FnZSwgcmVmcyk7XG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgIGNhc2UgXCJkdXJhdGlvblwiOlxuICAgICAgICAgICAgICAgICAgICBhZGRGb3JtYXQocmVzLCBcImR1cmF0aW9uXCIsIGNoZWNrLm1lc3NhZ2UsIHJlZnMpO1xuICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICBjYXNlIFwibGVuZ3RoXCI6XG4gICAgICAgICAgICAgICAgICAgIHNldFJlc3BvbnNlVmFsdWVBbmRFcnJvcnMocmVzLCBcIm1pbkxlbmd0aFwiLCB0eXBlb2YgcmVzLm1pbkxlbmd0aCA9PT0gXCJudW1iZXJcIlxuICAgICAgICAgICAgICAgICAgICAgICAgPyBNYXRoLm1heChyZXMubWluTGVuZ3RoLCBjaGVjay52YWx1ZSlcbiAgICAgICAgICAgICAgICAgICAgICAgIDogY2hlY2sudmFsdWUsIGNoZWNrLm1lc3NhZ2UsIHJlZnMpO1xuICAgICAgICAgICAgICAgICAgICBzZXRSZXNwb25zZVZhbHVlQW5kRXJyb3JzKHJlcywgXCJtYXhMZW5ndGhcIiwgdHlwZW9mIHJlcy5tYXhMZW5ndGggPT09IFwibnVtYmVyXCJcbiAgICAgICAgICAgICAgICAgICAgICAgID8gTWF0aC5taW4ocmVzLm1heExlbmd0aCwgY2hlY2sudmFsdWUpXG4gICAgICAgICAgICAgICAgICAgICAgICA6IGNoZWNrLnZhbHVlLCBjaGVjay5tZXNzYWdlLCByZWZzKTtcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgY2FzZSBcImluY2x1ZGVzXCI6IHtcbiAgICAgICAgICAgICAgICAgICAgYWRkUGF0dGVybihyZXMsIFJlZ0V4cChlc2NhcGVMaXRlcmFsQ2hlY2tWYWx1ZShjaGVjay52YWx1ZSwgcmVmcykpLCBjaGVjay5tZXNzYWdlLCByZWZzKTtcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGNhc2UgXCJpcFwiOiB7XG4gICAgICAgICAgICAgICAgICAgIGlmIChjaGVjay52ZXJzaW9uICE9PSBcInY2XCIpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGFkZEZvcm1hdChyZXMsIFwiaXB2NFwiLCBjaGVjay5tZXNzYWdlLCByZWZzKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBpZiAoY2hlY2sudmVyc2lvbiAhPT0gXCJ2NFwiKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBhZGRGb3JtYXQocmVzLCBcImlwdjZcIiwgY2hlY2subWVzc2FnZSwgcmVmcyk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGNhc2UgXCJiYXNlNjR1cmxcIjpcbiAgICAgICAgICAgICAgICAgICAgYWRkUGF0dGVybihyZXMsIHpvZFBhdHRlcm5zLmJhc2U2NHVybCwgY2hlY2subWVzc2FnZSwgcmVmcyk7XG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgIGNhc2UgXCJqd3RcIjpcbiAgICAgICAgICAgICAgICAgICAgYWRkUGF0dGVybihyZXMsIHpvZFBhdHRlcm5zLmp3dCwgY2hlY2subWVzc2FnZSwgcmVmcyk7XG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgIGNhc2UgXCJjaWRyXCI6IHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKGNoZWNrLnZlcnNpb24gIT09IFwidjZcIikge1xuICAgICAgICAgICAgICAgICAgICAgICAgYWRkUGF0dGVybihyZXMsIHpvZFBhdHRlcm5zLmlwdjRDaWRyLCBjaGVjay5tZXNzYWdlLCByZWZzKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBpZiAoY2hlY2sudmVyc2lvbiAhPT0gXCJ2NFwiKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBhZGRQYXR0ZXJuKHJlcywgem9kUGF0dGVybnMuaXB2NkNpZHIsIGNoZWNrLm1lc3NhZ2UsIHJlZnMpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBjYXNlIFwiZW1vamlcIjpcbiAgICAgICAgICAgICAgICAgICAgYWRkUGF0dGVybihyZXMsIHpvZFBhdHRlcm5zLmVtb2ppKCksIGNoZWNrLm1lc3NhZ2UsIHJlZnMpO1xuICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICBjYXNlIFwidWxpZFwiOiB7XG4gICAgICAgICAgICAgICAgICAgIGFkZFBhdHRlcm4ocmVzLCB6b2RQYXR0ZXJucy51bGlkLCBjaGVjay5tZXNzYWdlLCByZWZzKTtcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGNhc2UgXCJiYXNlNjRcIjoge1xuICAgICAgICAgICAgICAgICAgICBzd2l0Y2ggKHJlZnMuYmFzZTY0U3RyYXRlZ3kpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgXCJmb3JtYXQ6YmluYXJ5XCI6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBhZGRGb3JtYXQocmVzLCBcImJpbmFyeVwiLCBjaGVjay5tZXNzYWdlLCByZWZzKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgXCJjb250ZW50RW5jb2Rpbmc6YmFzZTY0XCI6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZXRSZXNwb25zZVZhbHVlQW5kRXJyb3JzKHJlcywgXCJjb250ZW50RW5jb2RpbmdcIiwgXCJiYXNlNjRcIiwgY2hlY2subWVzc2FnZSwgcmVmcyk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICBjYXNlIFwicGF0dGVybjp6b2RcIjoge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFkZFBhdHRlcm4ocmVzLCB6b2RQYXR0ZXJucy5iYXNlNjQsIGNoZWNrLm1lc3NhZ2UsIHJlZnMpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBjYXNlIFwibmFub2lkXCI6IHtcbiAgICAgICAgICAgICAgICAgICAgYWRkUGF0dGVybihyZXMsIHpvZFBhdHRlcm5zLm5hbm9pZCwgY2hlY2subWVzc2FnZSwgcmVmcyk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGNhc2UgXCJ0b0xvd2VyQ2FzZVwiOlxuICAgICAgICAgICAgICAgIGNhc2UgXCJ0b1VwcGVyQ2FzZVwiOlxuICAgICAgICAgICAgICAgIGNhc2UgXCJ0cmltXCI6XG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICAgICAgICAgIC8qIGM4IGlnbm9yZSBuZXh0ICovXG4gICAgICAgICAgICAgICAgICAgICgoXykgPT4geyB9KShjaGVjayk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIHJlcztcbn1cbmZ1bmN0aW9uIGVzY2FwZUxpdGVyYWxDaGVja1ZhbHVlKGxpdGVyYWwsIHJlZnMpIHtcbiAgICByZXR1cm4gcmVmcy5wYXR0ZXJuU3RyYXRlZ3kgPT09IFwiZXNjYXBlXCJcbiAgICAgICAgPyBlc2NhcGVOb25BbHBoYU51bWVyaWMobGl0ZXJhbClcbiAgICAgICAgOiBsaXRlcmFsO1xufVxuY29uc3QgQUxQSEFfTlVNRVJJQyA9IG5ldyBTZXQoXCJBQkNERUZHSElKS0xNTk9QUVJTVFVWWFlaYWJjZGVmZ2hpamtsbW5vcHFyc3R1dnh5ejAxMjM0NTY3ODlcIik7XG5mdW5jdGlvbiBlc2NhcGVOb25BbHBoYU51bWVyaWMoc291cmNlKSB7XG4gICAgbGV0IHJlc3VsdCA9IFwiXCI7XG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCBzb3VyY2UubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgaWYgKCFBTFBIQV9OVU1FUklDLmhhcyhzb3VyY2VbaV0pKSB7XG4gICAgICAgICAgICByZXN1bHQgKz0gXCJcXFxcXCI7XG4gICAgICAgIH1cbiAgICAgICAgcmVzdWx0ICs9IHNvdXJjZVtpXTtcbiAgICB9XG4gICAgcmV0dXJuIHJlc3VsdDtcbn1cbi8vIEFkZHMgYSBcImZvcm1hdFwiIGtleXdvcmQgdG8gdGhlIHNjaGVtYS4gSWYgYSBmb3JtYXQgZXhpc3RzLCBib3RoIGZvcm1hdHMgd2lsbCBiZSBqb2luZWQgaW4gYW4gYWxsT2Ytbm9kZSwgYWxvbmcgd2l0aCBzdWJzZXF1ZW50IG9uZXMuXG5mdW5jdGlvbiBhZGRGb3JtYXQoc2NoZW1hLCB2YWx1ZSwgbWVzc2FnZSwgcmVmcykge1xuICAgIGlmIChzY2hlbWEuZm9ybWF0IHx8IHNjaGVtYS5hbnlPZj8uc29tZSgoeCkgPT4geC5mb3JtYXQpKSB7XG4gICAgICAgIGlmICghc2NoZW1hLmFueU9mKSB7XG4gICAgICAgICAgICBzY2hlbWEuYW55T2YgPSBbXTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoc2NoZW1hLmZvcm1hdCkge1xuICAgICAgICAgICAgc2NoZW1hLmFueU9mLnB1c2goe1xuICAgICAgICAgICAgICAgIGZvcm1hdDogc2NoZW1hLmZvcm1hdCxcbiAgICAgICAgICAgICAgICAuLi4oc2NoZW1hLmVycm9yTWVzc2FnZSAmJlxuICAgICAgICAgICAgICAgICAgICByZWZzLmVycm9yTWVzc2FnZXMgJiYge1xuICAgICAgICAgICAgICAgICAgICBlcnJvck1lc3NhZ2U6IHsgZm9ybWF0OiBzY2hlbWEuZXJyb3JNZXNzYWdlLmZvcm1hdCB9LFxuICAgICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICBkZWxldGUgc2NoZW1hLmZvcm1hdDtcbiAgICAgICAgICAgIGlmIChzY2hlbWEuZXJyb3JNZXNzYWdlKSB7XG4gICAgICAgICAgICAgICAgZGVsZXRlIHNjaGVtYS5lcnJvck1lc3NhZ2UuZm9ybWF0O1xuICAgICAgICAgICAgICAgIGlmIChPYmplY3Qua2V5cyhzY2hlbWEuZXJyb3JNZXNzYWdlKS5sZW5ndGggPT09IDApIHtcbiAgICAgICAgICAgICAgICAgICAgZGVsZXRlIHNjaGVtYS5lcnJvck1lc3NhZ2U7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHNjaGVtYS5hbnlPZi5wdXNoKHtcbiAgICAgICAgICAgIGZvcm1hdDogdmFsdWUsXG4gICAgICAgICAgICAuLi4obWVzc2FnZSAmJlxuICAgICAgICAgICAgICAgIHJlZnMuZXJyb3JNZXNzYWdlcyAmJiB7IGVycm9yTWVzc2FnZTogeyBmb3JtYXQ6IG1lc3NhZ2UgfSB9KSxcbiAgICAgICAgfSk7XG4gICAgfVxuICAgIGVsc2Uge1xuICAgICAgICBzZXRSZXNwb25zZVZhbHVlQW5kRXJyb3JzKHNjaGVtYSwgXCJmb3JtYXRcIiwgdmFsdWUsIG1lc3NhZ2UsIHJlZnMpO1xuICAgIH1cbn1cbi8vIEFkZHMgYSBcInBhdHRlcm5cIiBrZXl3b3JkIHRvIHRoZSBzY2hlbWEuIElmIGEgcGF0dGVybiBleGlzdHMsIGJvdGggcGF0dGVybnMgd2lsbCBiZSBqb2luZWQgaW4gYW4gYWxsT2Ytbm9kZSwgYWxvbmcgd2l0aCBzdWJzZXF1ZW50IG9uZXMuXG5mdW5jdGlvbiBhZGRQYXR0ZXJuKHNjaGVtYSwgcmVnZXgsIG1lc3NhZ2UsIHJlZnMpIHtcbiAgICBpZiAoc2NoZW1hLnBhdHRlcm4gfHwgc2NoZW1hLmFsbE9mPy5zb21lKCh4KSA9PiB4LnBhdHRlcm4pKSB7XG4gICAgICAgIGlmICghc2NoZW1hLmFsbE9mKSB7XG4gICAgICAgICAgICBzY2hlbWEuYWxsT2YgPSBbXTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoc2NoZW1hLnBhdHRlcm4pIHtcbiAgICAgICAgICAgIHNjaGVtYS5hbGxPZi5wdXNoKHtcbiAgICAgICAgICAgICAgICBwYXR0ZXJuOiBzY2hlbWEucGF0dGVybixcbiAgICAgICAgICAgICAgICAuLi4oc2NoZW1hLmVycm9yTWVzc2FnZSAmJlxuICAgICAgICAgICAgICAgICAgICByZWZzLmVycm9yTWVzc2FnZXMgJiYge1xuICAgICAgICAgICAgICAgICAgICBlcnJvck1lc3NhZ2U6IHsgcGF0dGVybjogc2NoZW1hLmVycm9yTWVzc2FnZS5wYXR0ZXJuIH0sXG4gICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIGRlbGV0ZSBzY2hlbWEucGF0dGVybjtcbiAgICAgICAgICAgIGlmIChzY2hlbWEuZXJyb3JNZXNzYWdlKSB7XG4gICAgICAgICAgICAgICAgZGVsZXRlIHNjaGVtYS5lcnJvck1lc3NhZ2UucGF0dGVybjtcbiAgICAgICAgICAgICAgICBpZiAoT2JqZWN0LmtleXMoc2NoZW1hLmVycm9yTWVzc2FnZSkubGVuZ3RoID09PSAwKSB7XG4gICAgICAgICAgICAgICAgICAgIGRlbGV0ZSBzY2hlbWEuZXJyb3JNZXNzYWdlO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBzY2hlbWEuYWxsT2YucHVzaCh7XG4gICAgICAgICAgICBwYXR0ZXJuOiBzdHJpbmdpZnlSZWdFeHBXaXRoRmxhZ3MocmVnZXgsIHJlZnMpLFxuICAgICAgICAgICAgLi4uKG1lc3NhZ2UgJiZcbiAgICAgICAgICAgICAgICByZWZzLmVycm9yTWVzc2FnZXMgJiYgeyBlcnJvck1lc3NhZ2U6IHsgcGF0dGVybjogbWVzc2FnZSB9IH0pLFxuICAgICAgICB9KTtcbiAgICB9XG4gICAgZWxzZSB7XG4gICAgICAgIHNldFJlc3BvbnNlVmFsdWVBbmRFcnJvcnMoc2NoZW1hLCBcInBhdHRlcm5cIiwgc3RyaW5naWZ5UmVnRXhwV2l0aEZsYWdzKHJlZ2V4LCByZWZzKSwgbWVzc2FnZSwgcmVmcyk7XG4gICAgfVxufVxuLy8gTXV0YXRlIHouc3RyaW5nLnJlZ2V4KCkgaW4gYSBiZXN0IGF0dGVtcHQgdG8gYWNjb21tb2RhdGUgZm9yIHJlZ2V4IGZsYWdzIHdoZW4gYXBwbHlSZWdleEZsYWdzIGlzIHRydWVcbmZ1bmN0aW9uIHN0cmluZ2lmeVJlZ0V4cFdpdGhGbGFncyhyZWdleCwgcmVmcykge1xuICAgIGlmICghcmVmcy5hcHBseVJlZ2V4RmxhZ3MgfHwgIXJlZ2V4LmZsYWdzKSB7XG4gICAgICAgIHJldHVybiByZWdleC5zb3VyY2U7XG4gICAgfVxuICAgIC8vIEN1cnJlbnRseSBoYW5kbGVkIGZsYWdzXG4gICAgY29uc3QgZmxhZ3MgPSB7XG4gICAgICAgIGk6IHJlZ2V4LmZsYWdzLmluY2x1ZGVzKFwiaVwiKSxcbiAgICAgICAgbTogcmVnZXguZmxhZ3MuaW5jbHVkZXMoXCJtXCIpLFxuICAgICAgICBzOiByZWdleC5mbGFncy5pbmNsdWRlcyhcInNcIiksIC8vIGAuYCBtYXRjaGVzIG5ld2xpbmVzXG4gICAgfTtcbiAgICAvLyBUaGUgZ2VuZXJhbCBwcmluY2lwbGUgaGVyZSBpcyB0byBzdGVwIHRocm91Z2ggZWFjaCBjaGFyYWN0ZXIsIG9uZSBhdCBhIHRpbWUsIGFwcGx5aW5nIG11dGF0aW9ucyBhcyBmbGFncyByZXF1aXJlLiBXZSBrZWVwIHRyYWNrIHdoZW4gdGhlIGN1cnJlbnQgY2hhcmFjdGVyIGlzIGVzY2FwZWQsIGFuZCB3aGVuIGl0J3MgaW5zaWRlIGEgZ3JvdXAgL2xpa2UgW3RoaXNdLyBvciAoYWxzbykgYSByYW5nZSBsaWtlIC9bYS16XS8uIFRoZSBmb2xsb3dpbmcgaXMgZmFpcmx5IGJyaXR0bGUgaW1wZXJhdGl2ZSBjb2RlOyBlZGl0IGF0IHlvdXIgcGVyaWwhXG4gICAgY29uc3Qgc291cmNlID0gZmxhZ3MuaSA/IHJlZ2V4LnNvdXJjZS50b0xvd2VyQ2FzZSgpIDogcmVnZXguc291cmNlO1xuICAgIGxldCBwYXR0ZXJuID0gXCJcIjtcbiAgICBsZXQgaXNFc2NhcGVkID0gZmFsc2U7XG4gICAgbGV0IGluQ2hhckdyb3VwID0gZmFsc2U7XG4gICAgbGV0IGluQ2hhclJhbmdlID0gZmFsc2U7XG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCBzb3VyY2UubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgaWYgKGlzRXNjYXBlZCkge1xuICAgICAgICAgICAgcGF0dGVybiArPSBzb3VyY2VbaV07XG4gICAgICAgICAgICBpc0VzY2FwZWQgPSBmYWxzZTtcbiAgICAgICAgICAgIGNvbnRpbnVlO1xuICAgICAgICB9XG4gICAgICAgIGlmIChmbGFncy5pKSB7XG4gICAgICAgICAgICBpZiAoaW5DaGFyR3JvdXApIHtcbiAgICAgICAgICAgICAgICBpZiAoc291cmNlW2ldLm1hdGNoKC9bYS16XS8pKSB7XG4gICAgICAgICAgICAgICAgICAgIGlmIChpbkNoYXJSYW5nZSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgcGF0dGVybiArPSBzb3VyY2VbaV07XG4gICAgICAgICAgICAgICAgICAgICAgICBwYXR0ZXJuICs9IGAke3NvdXJjZVtpIC0gMl19LSR7c291cmNlW2ldfWAudG9VcHBlckNhc2UoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGluQ2hhclJhbmdlID0gZmFsc2U7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgZWxzZSBpZiAoc291cmNlW2kgKyAxXSA9PT0gXCItXCIgJiYgc291cmNlW2kgKyAyXT8ubWF0Y2goL1thLXpdLykpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhdHRlcm4gKz0gc291cmNlW2ldO1xuICAgICAgICAgICAgICAgICAgICAgICAgaW5DaGFyUmFuZ2UgPSB0cnVlO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgcGF0dGVybiArPSBgJHtzb3VyY2VbaV19JHtzb3VyY2VbaV0udG9VcHBlckNhc2UoKX1gO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGVsc2UgaWYgKHNvdXJjZVtpXS5tYXRjaCgvW2Etel0vKSkge1xuICAgICAgICAgICAgICAgIHBhdHRlcm4gKz0gYFske3NvdXJjZVtpXX0ke3NvdXJjZVtpXS50b1VwcGVyQ2FzZSgpfV1gO1xuICAgICAgICAgICAgICAgIGNvbnRpbnVlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGlmIChmbGFncy5tKSB7XG4gICAgICAgICAgICBpZiAoc291cmNlW2ldID09PSBcIl5cIikge1xuICAgICAgICAgICAgICAgIHBhdHRlcm4gKz0gYChefCg/PD1bXFxyXFxuXSkpYDtcbiAgICAgICAgICAgICAgICBjb250aW51ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGVsc2UgaWYgKHNvdXJjZVtpXSA9PT0gXCIkXCIpIHtcbiAgICAgICAgICAgICAgICBwYXR0ZXJuICs9IGAoJHwoPz1bXFxyXFxuXSkpYDtcbiAgICAgICAgICAgICAgICBjb250aW51ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBpZiAoZmxhZ3MucyAmJiBzb3VyY2VbaV0gPT09IFwiLlwiKSB7XG4gICAgICAgICAgICBwYXR0ZXJuICs9IGluQ2hhckdyb3VwID8gYCR7c291cmNlW2ldfVxcclxcbmAgOiBgWyR7c291cmNlW2ldfVxcclxcbl1gO1xuICAgICAgICAgICAgY29udGludWU7XG4gICAgICAgIH1cbiAgICAgICAgcGF0dGVybiArPSBzb3VyY2VbaV07XG4gICAgICAgIGlmIChzb3VyY2VbaV0gPT09IFwiXFxcXFwiKSB7XG4gICAgICAgICAgICBpc0VzY2FwZWQgPSB0cnVlO1xuICAgICAgICB9XG4gICAgICAgIGVsc2UgaWYgKGluQ2hhckdyb3VwICYmIHNvdXJjZVtpXSA9PT0gXCJdXCIpIHtcbiAgICAgICAgICAgIGluQ2hhckdyb3VwID0gZmFsc2U7XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSBpZiAoIWluQ2hhckdyb3VwICYmIHNvdXJjZVtpXSA9PT0gXCJbXCIpIHtcbiAgICAgICAgICAgIGluQ2hhckdyb3VwID0gdHJ1ZTtcbiAgICAgICAgfVxuICAgIH1cbiAgICB0cnkge1xuICAgICAgICBuZXcgUmVnRXhwKHBhdHRlcm4pO1xuICAgIH1cbiAgICBjYXRjaCB7XG4gICAgICAgIGNvbnNvbGUud2FybihgQ291bGQgbm90IGNvbnZlcnQgcmVnZXggcGF0dGVybiBhdCAke3JlZnMuY3VycmVudFBhdGguam9pbihcIi9cIil9IHRvIGEgZmxhZy1pbmRlcGVuZGVudCBmb3JtISBGYWxsaW5nIGJhY2sgdG8gdGhlIGZsYWctaWdub3JhbnQgc291cmNlYCk7XG4gICAgICAgIHJldHVybiByZWdleC5zb3VyY2U7XG4gICAgfVxuICAgIHJldHVybiBwYXR0ZXJuO1xufVxuIiwgImltcG9ydCB7IFpvZEZpcnN0UGFydHlUeXBlS2luZCwgfSBmcm9tIFwiem9kXCI7XG5pbXBvcnQgeyBwYXJzZURlZiB9IGZyb20gXCIuLi9wYXJzZURlZi5qc1wiO1xuaW1wb3J0IHsgcGFyc2VTdHJpbmdEZWYgfSBmcm9tIFwiLi9zdHJpbmcuanNcIjtcbmltcG9ydCB7IHBhcnNlQnJhbmRlZERlZiB9IGZyb20gXCIuL2JyYW5kZWQuanNcIjtcbmltcG9ydCB7IHBhcnNlQW55RGVmIH0gZnJvbSBcIi4vYW55LmpzXCI7XG5leHBvcnQgZnVuY3Rpb24gcGFyc2VSZWNvcmREZWYoZGVmLCByZWZzKSB7XG4gICAgaWYgKHJlZnMudGFyZ2V0ID09PSBcIm9wZW5BaVwiKSB7XG4gICAgICAgIGNvbnNvbGUud2FybihcIldhcm5pbmc6IE9wZW5BSSBtYXkgbm90IHN1cHBvcnQgcmVjb3JkcyBpbiBzY2hlbWFzISBUcnkgYW4gYXJyYXkgb2Yga2V5LXZhbHVlIHBhaXJzIGluc3RlYWQuXCIpO1xuICAgIH1cbiAgICBpZiAocmVmcy50YXJnZXQgPT09IFwib3BlbkFwaTNcIiAmJlxuICAgICAgICBkZWYua2V5VHlwZT8uX2RlZi50eXBlTmFtZSA9PT0gWm9kRmlyc3RQYXJ0eVR5cGVLaW5kLlpvZEVudW0pIHtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIHR5cGU6IFwib2JqZWN0XCIsXG4gICAgICAgICAgICByZXF1aXJlZDogZGVmLmtleVR5cGUuX2RlZi52YWx1ZXMsXG4gICAgICAgICAgICBwcm9wZXJ0aWVzOiBkZWYua2V5VHlwZS5fZGVmLnZhbHVlcy5yZWR1Y2UoKGFjYywga2V5KSA9PiAoe1xuICAgICAgICAgICAgICAgIC4uLmFjYyxcbiAgICAgICAgICAgICAgICBba2V5XTogcGFyc2VEZWYoZGVmLnZhbHVlVHlwZS5fZGVmLCB7XG4gICAgICAgICAgICAgICAgICAgIC4uLnJlZnMsXG4gICAgICAgICAgICAgICAgICAgIGN1cnJlbnRQYXRoOiBbLi4ucmVmcy5jdXJyZW50UGF0aCwgXCJwcm9wZXJ0aWVzXCIsIGtleV0sXG4gICAgICAgICAgICAgICAgfSkgPz8gcGFyc2VBbnlEZWYocmVmcyksXG4gICAgICAgICAgICB9KSwge30pLFxuICAgICAgICAgICAgYWRkaXRpb25hbFByb3BlcnRpZXM6IHJlZnMucmVqZWN0ZWRBZGRpdGlvbmFsUHJvcGVydGllcyxcbiAgICAgICAgfTtcbiAgICB9XG4gICAgY29uc3Qgc2NoZW1hID0ge1xuICAgICAgICB0eXBlOiBcIm9iamVjdFwiLFxuICAgICAgICBhZGRpdGlvbmFsUHJvcGVydGllczogcGFyc2VEZWYoZGVmLnZhbHVlVHlwZS5fZGVmLCB7XG4gICAgICAgICAgICAuLi5yZWZzLFxuICAgICAgICAgICAgY3VycmVudFBhdGg6IFsuLi5yZWZzLmN1cnJlbnRQYXRoLCBcImFkZGl0aW9uYWxQcm9wZXJ0aWVzXCJdLFxuICAgICAgICB9KSA/PyByZWZzLmFsbG93ZWRBZGRpdGlvbmFsUHJvcGVydGllcyxcbiAgICB9O1xuICAgIGlmIChyZWZzLnRhcmdldCA9PT0gXCJvcGVuQXBpM1wiKSB7XG4gICAgICAgIHJldHVybiBzY2hlbWE7XG4gICAgfVxuICAgIGlmIChkZWYua2V5VHlwZT8uX2RlZi50eXBlTmFtZSA9PT0gWm9kRmlyc3RQYXJ0eVR5cGVLaW5kLlpvZFN0cmluZyAmJlxuICAgICAgICBkZWYua2V5VHlwZS5fZGVmLmNoZWNrcz8ubGVuZ3RoKSB7XG4gICAgICAgIGNvbnN0IHsgdHlwZSwgLi4ua2V5VHlwZSB9ID0gcGFyc2VTdHJpbmdEZWYoZGVmLmtleVR5cGUuX2RlZiwgcmVmcyk7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAuLi5zY2hlbWEsXG4gICAgICAgICAgICBwcm9wZXJ0eU5hbWVzOiBrZXlUeXBlLFxuICAgICAgICB9O1xuICAgIH1cbiAgICBlbHNlIGlmIChkZWYua2V5VHlwZT8uX2RlZi50eXBlTmFtZSA9PT0gWm9kRmlyc3RQYXJ0eVR5cGVLaW5kLlpvZEVudW0pIHtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIC4uLnNjaGVtYSxcbiAgICAgICAgICAgIHByb3BlcnR5TmFtZXM6IHtcbiAgICAgICAgICAgICAgICBlbnVtOiBkZWYua2V5VHlwZS5fZGVmLnZhbHVlcyxcbiAgICAgICAgICAgIH0sXG4gICAgICAgIH07XG4gICAgfVxuICAgIGVsc2UgaWYgKGRlZi5rZXlUeXBlPy5fZGVmLnR5cGVOYW1lID09PSBab2RGaXJzdFBhcnR5VHlwZUtpbmQuWm9kQnJhbmRlZCAmJlxuICAgICAgICBkZWYua2V5VHlwZS5fZGVmLnR5cGUuX2RlZi50eXBlTmFtZSA9PT0gWm9kRmlyc3RQYXJ0eVR5cGVLaW5kLlpvZFN0cmluZyAmJlxuICAgICAgICBkZWYua2V5VHlwZS5fZGVmLnR5cGUuX2RlZi5jaGVja3M/Lmxlbmd0aCkge1xuICAgICAgICBjb25zdCB7IHR5cGUsIC4uLmtleVR5cGUgfSA9IHBhcnNlQnJhbmRlZERlZihkZWYua2V5VHlwZS5fZGVmLCByZWZzKTtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIC4uLnNjaGVtYSxcbiAgICAgICAgICAgIHByb3BlcnR5TmFtZXM6IGtleVR5cGUsXG4gICAgICAgIH07XG4gICAgfVxuICAgIHJldHVybiBzY2hlbWE7XG59XG4iLCAiaW1wb3J0IHsgcGFyc2VEZWYgfSBmcm9tIFwiLi4vcGFyc2VEZWYuanNcIjtcbmltcG9ydCB7IHBhcnNlUmVjb3JkRGVmIH0gZnJvbSBcIi4vcmVjb3JkLmpzXCI7XG5pbXBvcnQgeyBwYXJzZUFueURlZiB9IGZyb20gXCIuL2FueS5qc1wiO1xuZXhwb3J0IGZ1bmN0aW9uIHBhcnNlTWFwRGVmKGRlZiwgcmVmcykge1xuICAgIGlmIChyZWZzLm1hcFN0cmF0ZWd5ID09PSBcInJlY29yZFwiKSB7XG4gICAgICAgIHJldHVybiBwYXJzZVJlY29yZERlZihkZWYsIHJlZnMpO1xuICAgIH1cbiAgICBjb25zdCBrZXlzID0gcGFyc2VEZWYoZGVmLmtleVR5cGUuX2RlZiwge1xuICAgICAgICAuLi5yZWZzLFxuICAgICAgICBjdXJyZW50UGF0aDogWy4uLnJlZnMuY3VycmVudFBhdGgsIFwiaXRlbXNcIiwgXCJpdGVtc1wiLCBcIjBcIl0sXG4gICAgfSkgfHwgcGFyc2VBbnlEZWYocmVmcyk7XG4gICAgY29uc3QgdmFsdWVzID0gcGFyc2VEZWYoZGVmLnZhbHVlVHlwZS5fZGVmLCB7XG4gICAgICAgIC4uLnJlZnMsXG4gICAgICAgIGN1cnJlbnRQYXRoOiBbLi4ucmVmcy5jdXJyZW50UGF0aCwgXCJpdGVtc1wiLCBcIml0ZW1zXCIsIFwiMVwiXSxcbiAgICB9KSB8fCBwYXJzZUFueURlZihyZWZzKTtcbiAgICByZXR1cm4ge1xuICAgICAgICB0eXBlOiBcImFycmF5XCIsXG4gICAgICAgIG1heEl0ZW1zOiAxMjUsXG4gICAgICAgIGl0ZW1zOiB7XG4gICAgICAgICAgICB0eXBlOiBcImFycmF5XCIsXG4gICAgICAgICAgICBpdGVtczogW2tleXMsIHZhbHVlc10sXG4gICAgICAgICAgICBtaW5JdGVtczogMixcbiAgICAgICAgICAgIG1heEl0ZW1zOiAyLFxuICAgICAgICB9LFxuICAgIH07XG59XG4iLCAiZXhwb3J0IGZ1bmN0aW9uIHBhcnNlTmF0aXZlRW51bURlZihkZWYpIHtcbiAgICBjb25zdCBvYmplY3QgPSBkZWYudmFsdWVzO1xuICAgIGNvbnN0IGFjdHVhbEtleXMgPSBPYmplY3Qua2V5cyhkZWYudmFsdWVzKS5maWx0ZXIoKGtleSkgPT4ge1xuICAgICAgICByZXR1cm4gdHlwZW9mIG9iamVjdFtvYmplY3Rba2V5XV0gIT09IFwibnVtYmVyXCI7XG4gICAgfSk7XG4gICAgY29uc3QgYWN0dWFsVmFsdWVzID0gYWN0dWFsS2V5cy5tYXAoKGtleSkgPT4gb2JqZWN0W2tleV0pO1xuICAgIGNvbnN0IHBhcnNlZFR5cGVzID0gQXJyYXkuZnJvbShuZXcgU2V0KGFjdHVhbFZhbHVlcy5tYXAoKHZhbHVlcykgPT4gdHlwZW9mIHZhbHVlcykpKTtcbiAgICByZXR1cm4ge1xuICAgICAgICB0eXBlOiBwYXJzZWRUeXBlcy5sZW5ndGggPT09IDFcbiAgICAgICAgICAgID8gcGFyc2VkVHlwZXNbMF0gPT09IFwic3RyaW5nXCJcbiAgICAgICAgICAgICAgICA/IFwic3RyaW5nXCJcbiAgICAgICAgICAgICAgICA6IFwibnVtYmVyXCJcbiAgICAgICAgICAgIDogW1wic3RyaW5nXCIsIFwibnVtYmVyXCJdLFxuICAgICAgICBlbnVtOiBhY3R1YWxWYWx1ZXMsXG4gICAgfTtcbn1cbiIsICJpbXBvcnQgeyBwYXJzZUFueURlZiB9IGZyb20gXCIuL2FueS5qc1wiO1xuZXhwb3J0IGZ1bmN0aW9uIHBhcnNlTmV2ZXJEZWYocmVmcykge1xuICAgIHJldHVybiByZWZzLnRhcmdldCA9PT0gXCJvcGVuQWlcIlxuICAgICAgICA/IHVuZGVmaW5lZFxuICAgICAgICA6IHtcbiAgICAgICAgICAgIG5vdDogcGFyc2VBbnlEZWYoe1xuICAgICAgICAgICAgICAgIC4uLnJlZnMsXG4gICAgICAgICAgICAgICAgY3VycmVudFBhdGg6IFsuLi5yZWZzLmN1cnJlbnRQYXRoLCBcIm5vdFwiXSxcbiAgICAgICAgICAgIH0pLFxuICAgICAgICB9O1xufVxuIiwgImV4cG9ydCBmdW5jdGlvbiBwYXJzZU51bGxEZWYocmVmcykge1xuICAgIHJldHVybiByZWZzLnRhcmdldCA9PT0gXCJvcGVuQXBpM1wiXG4gICAgICAgID8ge1xuICAgICAgICAgICAgZW51bTogW1wibnVsbFwiXSxcbiAgICAgICAgICAgIG51bGxhYmxlOiB0cnVlLFxuICAgICAgICB9XG4gICAgICAgIDoge1xuICAgICAgICAgICAgdHlwZTogXCJudWxsXCIsXG4gICAgICAgIH07XG59XG4iLCAiaW1wb3J0IHsgcGFyc2VEZWYgfSBmcm9tIFwiLi4vcGFyc2VEZWYuanNcIjtcbmV4cG9ydCBjb25zdCBwcmltaXRpdmVNYXBwaW5ncyA9IHtcbiAgICBab2RTdHJpbmc6IFwic3RyaW5nXCIsXG4gICAgWm9kTnVtYmVyOiBcIm51bWJlclwiLFxuICAgIFpvZEJpZ0ludDogXCJpbnRlZ2VyXCIsXG4gICAgWm9kQm9vbGVhbjogXCJib29sZWFuXCIsXG4gICAgWm9kTnVsbDogXCJudWxsXCIsXG59O1xuZXhwb3J0IGZ1bmN0aW9uIHBhcnNlVW5pb25EZWYoZGVmLCByZWZzKSB7XG4gICAgaWYgKHJlZnMudGFyZ2V0ID09PSBcIm9wZW5BcGkzXCIpXG4gICAgICAgIHJldHVybiBhc0FueU9mKGRlZiwgcmVmcyk7XG4gICAgY29uc3Qgb3B0aW9ucyA9IGRlZi5vcHRpb25zIGluc3RhbmNlb2YgTWFwID8gQXJyYXkuZnJvbShkZWYub3B0aW9ucy52YWx1ZXMoKSkgOiBkZWYub3B0aW9ucztcbiAgICAvLyBUaGlzIGJsb2NrcyB0cmllcyB0byBsb29rIGFoZWFkIGEgYml0IHRvIHByb2R1Y2UgbmljZXIgbG9va2luZyBzY2hlbWFzIHdpdGggdHlwZSBhcnJheSBpbnN0ZWFkIG9mIGFueU9mLlxuICAgIGlmIChvcHRpb25zLmV2ZXJ5KCh4KSA9PiB4Ll9kZWYudHlwZU5hbWUgaW4gcHJpbWl0aXZlTWFwcGluZ3MgJiZcbiAgICAgICAgKCF4Ll9kZWYuY2hlY2tzIHx8ICF4Ll9kZWYuY2hlY2tzLmxlbmd0aCkpKSB7XG4gICAgICAgIC8vIGFsbCB0eXBlcyBpbiB1bmlvbiBhcmUgcHJpbWl0aXZlIGFuZCBsYWNrIGNoZWNrcywgc28gbWlnaHQgYXMgd2VsbCBzcXVhc2ggaW50byB7dHlwZTogWy4uLl19XG4gICAgICAgIGNvbnN0IHR5cGVzID0gb3B0aW9ucy5yZWR1Y2UoKHR5cGVzLCB4KSA9PiB7XG4gICAgICAgICAgICBjb25zdCB0eXBlID0gcHJpbWl0aXZlTWFwcGluZ3NbeC5fZGVmLnR5cGVOYW1lXTsgLy9DYW4gYmUgc2FmZWx5IGNhc3RlZCBkdWUgdG8gcm93IDQzXG4gICAgICAgICAgICByZXR1cm4gdHlwZSAmJiAhdHlwZXMuaW5jbHVkZXModHlwZSkgPyBbLi4udHlwZXMsIHR5cGVdIDogdHlwZXM7XG4gICAgICAgIH0sIFtdKTtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIHR5cGU6IHR5cGVzLmxlbmd0aCA+IDEgPyB0eXBlcyA6IHR5cGVzWzBdLFxuICAgICAgICB9O1xuICAgIH1cbiAgICBlbHNlIGlmIChvcHRpb25zLmV2ZXJ5KCh4KSA9PiB4Ll9kZWYudHlwZU5hbWUgPT09IFwiWm9kTGl0ZXJhbFwiICYmICF4LmRlc2NyaXB0aW9uKSkge1xuICAgICAgICAvLyBhbGwgb3B0aW9ucyBsaXRlcmFsc1xuICAgICAgICBjb25zdCB0eXBlcyA9IG9wdGlvbnMucmVkdWNlKChhY2MsIHgpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IHR5cGUgPSB0eXBlb2YgeC5fZGVmLnZhbHVlO1xuICAgICAgICAgICAgc3dpdGNoICh0eXBlKSB7XG4gICAgICAgICAgICAgICAgY2FzZSBcInN0cmluZ1wiOlxuICAgICAgICAgICAgICAgIGNhc2UgXCJudW1iZXJcIjpcbiAgICAgICAgICAgICAgICBjYXNlIFwiYm9vbGVhblwiOlxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gWy4uLmFjYywgdHlwZV07XG4gICAgICAgICAgICAgICAgY2FzZSBcImJpZ2ludFwiOlxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gWy4uLmFjYywgXCJpbnRlZ2VyXCJdO1xuICAgICAgICAgICAgICAgIGNhc2UgXCJvYmplY3RcIjpcbiAgICAgICAgICAgICAgICAgICAgaWYgKHguX2RlZi52YWx1ZSA9PT0gbnVsbClcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBbLi4uYWNjLCBcIm51bGxcIl07XG4gICAgICAgICAgICAgICAgY2FzZSBcInN5bWJvbFwiOlxuICAgICAgICAgICAgICAgIGNhc2UgXCJ1bmRlZmluZWRcIjpcbiAgICAgICAgICAgICAgICBjYXNlIFwiZnVuY3Rpb25cIjpcbiAgICAgICAgICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gYWNjO1xuICAgICAgICAgICAgfVxuICAgICAgICB9LCBbXSk7XG4gICAgICAgIGlmICh0eXBlcy5sZW5ndGggPT09IG9wdGlvbnMubGVuZ3RoKSB7XG4gICAgICAgICAgICAvLyBhbGwgdGhlIGxpdGVyYWxzIGFyZSBwcmltaXRpdmUsIGFzIGZhciBhcyBudWxsIGNhbiBiZSBjb25zaWRlcmVkIHByaW1pdGl2ZVxuICAgICAgICAgICAgY29uc3QgdW5pcXVlVHlwZXMgPSB0eXBlcy5maWx0ZXIoKHgsIGksIGEpID0+IGEuaW5kZXhPZih4KSA9PT0gaSk7XG4gICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAgIHR5cGU6IHVuaXF1ZVR5cGVzLmxlbmd0aCA+IDEgPyB1bmlxdWVUeXBlcyA6IHVuaXF1ZVR5cGVzWzBdLFxuICAgICAgICAgICAgICAgIGVudW06IG9wdGlvbnMucmVkdWNlKChhY2MsIHgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGFjYy5pbmNsdWRlcyh4Ll9kZWYudmFsdWUpID8gYWNjIDogWy4uLmFjYywgeC5fZGVmLnZhbHVlXTtcbiAgICAgICAgICAgICAgICB9LCBbXSksXG4gICAgICAgICAgICB9O1xuICAgICAgICB9XG4gICAgfVxuICAgIGVsc2UgaWYgKG9wdGlvbnMuZXZlcnkoKHgpID0+IHguX2RlZi50eXBlTmFtZSA9PT0gXCJab2RFbnVtXCIpKSB7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICB0eXBlOiBcInN0cmluZ1wiLFxuICAgICAgICAgICAgZW51bTogb3B0aW9ucy5yZWR1Y2UoKGFjYywgeCkgPT4gW1xuICAgICAgICAgICAgICAgIC4uLmFjYyxcbiAgICAgICAgICAgICAgICAuLi54Ll9kZWYudmFsdWVzLmZpbHRlcigoeCkgPT4gIWFjYy5pbmNsdWRlcyh4KSksXG4gICAgICAgICAgICBdLCBbXSksXG4gICAgICAgIH07XG4gICAgfVxuICAgIHJldHVybiBhc0FueU9mKGRlZiwgcmVmcyk7XG59XG5jb25zdCBhc0FueU9mID0gKGRlZiwgcmVmcykgPT4ge1xuICAgIGNvbnN0IGFueU9mID0gKGRlZi5vcHRpb25zIGluc3RhbmNlb2YgTWFwXG4gICAgICAgID8gQXJyYXkuZnJvbShkZWYub3B0aW9ucy52YWx1ZXMoKSlcbiAgICAgICAgOiBkZWYub3B0aW9ucylcbiAgICAgICAgLm1hcCgoeCwgaSkgPT4gcGFyc2VEZWYoeC5fZGVmLCB7XG4gICAgICAgIC4uLnJlZnMsXG4gICAgICAgIGN1cnJlbnRQYXRoOiBbLi4ucmVmcy5jdXJyZW50UGF0aCwgXCJhbnlPZlwiLCBgJHtpfWBdLFxuICAgIH0pKVxuICAgICAgICAuZmlsdGVyKCh4KSA9PiAhIXggJiZcbiAgICAgICAgKCFyZWZzLnN0cmljdFVuaW9ucyB8fFxuICAgICAgICAgICAgKHR5cGVvZiB4ID09PSBcIm9iamVjdFwiICYmIE9iamVjdC5rZXlzKHgpLmxlbmd0aCA+IDApKSk7XG4gICAgcmV0dXJuIGFueU9mLmxlbmd0aCA/IHsgYW55T2YgfSA6IHVuZGVmaW5lZDtcbn07XG4iLCAiaW1wb3J0IHsgcGFyc2VEZWYgfSBmcm9tIFwiLi4vcGFyc2VEZWYuanNcIjtcbmltcG9ydCB7IHByaW1pdGl2ZU1hcHBpbmdzIH0gZnJvbSBcIi4vdW5pb24uanNcIjtcbmV4cG9ydCBmdW5jdGlvbiBwYXJzZU51bGxhYmxlRGVmKGRlZiwgcmVmcykge1xuICAgIGlmIChbXCJab2RTdHJpbmdcIiwgXCJab2ROdW1iZXJcIiwgXCJab2RCaWdJbnRcIiwgXCJab2RCb29sZWFuXCIsIFwiWm9kTnVsbFwiXS5pbmNsdWRlcyhkZWYuaW5uZXJUeXBlLl9kZWYudHlwZU5hbWUpICYmXG4gICAgICAgICghZGVmLmlubmVyVHlwZS5fZGVmLmNoZWNrcyB8fCAhZGVmLmlubmVyVHlwZS5fZGVmLmNoZWNrcy5sZW5ndGgpKSB7XG4gICAgICAgIGlmIChyZWZzLnRhcmdldCA9PT0gXCJvcGVuQXBpM1wiKSB7XG4gICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAgIHR5cGU6IHByaW1pdGl2ZU1hcHBpbmdzW2RlZi5pbm5lclR5cGUuX2RlZi50eXBlTmFtZV0sXG4gICAgICAgICAgICAgICAgbnVsbGFibGU6IHRydWUsXG4gICAgICAgICAgICB9O1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICB0eXBlOiBbXG4gICAgICAgICAgICAgICAgcHJpbWl0aXZlTWFwcGluZ3NbZGVmLmlubmVyVHlwZS5fZGVmLnR5cGVOYW1lXSxcbiAgICAgICAgICAgICAgICBcIm51bGxcIixcbiAgICAgICAgICAgIF0sXG4gICAgICAgIH07XG4gICAgfVxuICAgIGlmIChyZWZzLnRhcmdldCA9PT0gXCJvcGVuQXBpM1wiKSB7XG4gICAgICAgIGNvbnN0IGJhc2UgPSBwYXJzZURlZihkZWYuaW5uZXJUeXBlLl9kZWYsIHtcbiAgICAgICAgICAgIC4uLnJlZnMsXG4gICAgICAgICAgICBjdXJyZW50UGF0aDogWy4uLnJlZnMuY3VycmVudFBhdGhdLFxuICAgICAgICB9KTtcbiAgICAgICAgaWYgKGJhc2UgJiYgXCIkcmVmXCIgaW4gYmFzZSlcbiAgICAgICAgICAgIHJldHVybiB7IGFsbE9mOiBbYmFzZV0sIG51bGxhYmxlOiB0cnVlIH07XG4gICAgICAgIHJldHVybiBiYXNlICYmIHsgLi4uYmFzZSwgbnVsbGFibGU6IHRydWUgfTtcbiAgICB9XG4gICAgY29uc3QgYmFzZSA9IHBhcnNlRGVmKGRlZi5pbm5lclR5cGUuX2RlZiwge1xuICAgICAgICAuLi5yZWZzLFxuICAgICAgICBjdXJyZW50UGF0aDogWy4uLnJlZnMuY3VycmVudFBhdGgsIFwiYW55T2ZcIiwgXCIwXCJdLFxuICAgIH0pO1xuICAgIHJldHVybiBiYXNlICYmIHsgYW55T2Y6IFtiYXNlLCB7IHR5cGU6IFwibnVsbFwiIH1dIH07XG59XG4iLCAiaW1wb3J0IHsgYWRkRXJyb3JNZXNzYWdlLCBzZXRSZXNwb25zZVZhbHVlQW5kRXJyb3JzLCB9IGZyb20gXCIuLi9lcnJvck1lc3NhZ2VzLmpzXCI7XG5leHBvcnQgZnVuY3Rpb24gcGFyc2VOdW1iZXJEZWYoZGVmLCByZWZzKSB7XG4gICAgY29uc3QgcmVzID0ge1xuICAgICAgICB0eXBlOiBcIm51bWJlclwiLFxuICAgIH07XG4gICAgaWYgKCFkZWYuY2hlY2tzKVxuICAgICAgICByZXR1cm4gcmVzO1xuICAgIGZvciAoY29uc3QgY2hlY2sgb2YgZGVmLmNoZWNrcykge1xuICAgICAgICBzd2l0Y2ggKGNoZWNrLmtpbmQpIHtcbiAgICAgICAgICAgIGNhc2UgXCJpbnRcIjpcbiAgICAgICAgICAgICAgICByZXMudHlwZSA9IFwiaW50ZWdlclwiO1xuICAgICAgICAgICAgICAgIGFkZEVycm9yTWVzc2FnZShyZXMsIFwidHlwZVwiLCBjaGVjay5tZXNzYWdlLCByZWZzKTtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIGNhc2UgXCJtaW5cIjpcbiAgICAgICAgICAgICAgICBpZiAocmVmcy50YXJnZXQgPT09IFwianNvblNjaGVtYTdcIikge1xuICAgICAgICAgICAgICAgICAgICBpZiAoY2hlY2suaW5jbHVzaXZlKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBzZXRSZXNwb25zZVZhbHVlQW5kRXJyb3JzKHJlcywgXCJtaW5pbXVtXCIsIGNoZWNrLnZhbHVlLCBjaGVjay5tZXNzYWdlLCByZWZzKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHNldFJlc3BvbnNlVmFsdWVBbmRFcnJvcnMocmVzLCBcImV4Y2x1c2l2ZU1pbmltdW1cIiwgY2hlY2sudmFsdWUsIGNoZWNrLm1lc3NhZ2UsIHJlZnMpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICBpZiAoIWNoZWNrLmluY2x1c2l2ZSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgcmVzLmV4Y2x1c2l2ZU1pbmltdW0gPSB0cnVlO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIHNldFJlc3BvbnNlVmFsdWVBbmRFcnJvcnMocmVzLCBcIm1pbmltdW1cIiwgY2hlY2sudmFsdWUsIGNoZWNrLm1lc3NhZ2UsIHJlZnMpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIGNhc2UgXCJtYXhcIjpcbiAgICAgICAgICAgICAgICBpZiAocmVmcy50YXJnZXQgPT09IFwianNvblNjaGVtYTdcIikge1xuICAgICAgICAgICAgICAgICAgICBpZiAoY2hlY2suaW5jbHVzaXZlKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBzZXRSZXNwb25zZVZhbHVlQW5kRXJyb3JzKHJlcywgXCJtYXhpbXVtXCIsIGNoZWNrLnZhbHVlLCBjaGVjay5tZXNzYWdlLCByZWZzKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHNldFJlc3BvbnNlVmFsdWVBbmRFcnJvcnMocmVzLCBcImV4Y2x1c2l2ZU1heGltdW1cIiwgY2hlY2sudmFsdWUsIGNoZWNrLm1lc3NhZ2UsIHJlZnMpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICBpZiAoIWNoZWNrLmluY2x1c2l2ZSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgcmVzLmV4Y2x1c2l2ZU1heGltdW0gPSB0cnVlO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIHNldFJlc3BvbnNlVmFsdWVBbmRFcnJvcnMocmVzLCBcIm1heGltdW1cIiwgY2hlY2sudmFsdWUsIGNoZWNrLm1lc3NhZ2UsIHJlZnMpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIGNhc2UgXCJtdWx0aXBsZU9mXCI6XG4gICAgICAgICAgICAgICAgc2V0UmVzcG9uc2VWYWx1ZUFuZEVycm9ycyhyZXMsIFwibXVsdGlwbGVPZlwiLCBjaGVjay52YWx1ZSwgY2hlY2subWVzc2FnZSwgcmVmcyk7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIHJlcztcbn1cbiIsICJpbXBvcnQgeyBwYXJzZURlZiB9IGZyb20gXCIuLi9wYXJzZURlZi5qc1wiO1xuZXhwb3J0IGZ1bmN0aW9uIHBhcnNlT2JqZWN0RGVmKGRlZiwgcmVmcykge1xuICAgIGNvbnN0IGZvcmNlT3B0aW9uYWxJbnRvTnVsbGFibGUgPSByZWZzLnRhcmdldCA9PT0gXCJvcGVuQWlcIjtcbiAgICBjb25zdCByZXN1bHQgPSB7XG4gICAgICAgIHR5cGU6IFwib2JqZWN0XCIsXG4gICAgICAgIHByb3BlcnRpZXM6IHt9LFxuICAgIH07XG4gICAgY29uc3QgcmVxdWlyZWQgPSBbXTtcbiAgICBjb25zdCBzaGFwZSA9IGRlZi5zaGFwZSgpO1xuICAgIGZvciAoY29uc3QgcHJvcE5hbWUgaW4gc2hhcGUpIHtcbiAgICAgICAgbGV0IHByb3BEZWYgPSBzaGFwZVtwcm9wTmFtZV07XG4gICAgICAgIGlmIChwcm9wRGVmID09PSB1bmRlZmluZWQgfHwgcHJvcERlZi5fZGVmID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgIGNvbnRpbnVlO1xuICAgICAgICB9XG4gICAgICAgIGxldCBwcm9wT3B0aW9uYWwgPSBzYWZlSXNPcHRpb25hbChwcm9wRGVmKTtcbiAgICAgICAgaWYgKHByb3BPcHRpb25hbCAmJiBmb3JjZU9wdGlvbmFsSW50b051bGxhYmxlKSB7XG4gICAgICAgICAgICBpZiAocHJvcERlZi5fZGVmLnR5cGVOYW1lID09PSBcIlpvZE9wdGlvbmFsXCIpIHtcbiAgICAgICAgICAgICAgICBwcm9wRGVmID0gcHJvcERlZi5fZGVmLmlubmVyVHlwZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmICghcHJvcERlZi5pc051bGxhYmxlKCkpIHtcbiAgICAgICAgICAgICAgICBwcm9wRGVmID0gcHJvcERlZi5udWxsYWJsZSgpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcHJvcE9wdGlvbmFsID0gZmFsc2U7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgcGFyc2VkRGVmID0gcGFyc2VEZWYocHJvcERlZi5fZGVmLCB7XG4gICAgICAgICAgICAuLi5yZWZzLFxuICAgICAgICAgICAgY3VycmVudFBhdGg6IFsuLi5yZWZzLmN1cnJlbnRQYXRoLCBcInByb3BlcnRpZXNcIiwgcHJvcE5hbWVdLFxuICAgICAgICAgICAgcHJvcGVydHlQYXRoOiBbLi4ucmVmcy5jdXJyZW50UGF0aCwgXCJwcm9wZXJ0aWVzXCIsIHByb3BOYW1lXSxcbiAgICAgICAgfSk7XG4gICAgICAgIGlmIChwYXJzZWREZWYgPT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgY29udGludWU7XG4gICAgICAgIH1cbiAgICAgICAgcmVzdWx0LnByb3BlcnRpZXNbcHJvcE5hbWVdID0gcGFyc2VkRGVmO1xuICAgICAgICBpZiAoIXByb3BPcHRpb25hbCkge1xuICAgICAgICAgICAgcmVxdWlyZWQucHVzaChwcm9wTmFtZSk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgaWYgKHJlcXVpcmVkLmxlbmd0aCkge1xuICAgICAgICByZXN1bHQucmVxdWlyZWQgPSByZXF1aXJlZDtcbiAgICB9XG4gICAgY29uc3QgYWRkaXRpb25hbFByb3BlcnRpZXMgPSBkZWNpZGVBZGRpdGlvbmFsUHJvcGVydGllcyhkZWYsIHJlZnMpO1xuICAgIGlmIChhZGRpdGlvbmFsUHJvcGVydGllcyAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgIHJlc3VsdC5hZGRpdGlvbmFsUHJvcGVydGllcyA9IGFkZGl0aW9uYWxQcm9wZXJ0aWVzO1xuICAgIH1cbiAgICByZXR1cm4gcmVzdWx0O1xufVxuZnVuY3Rpb24gZGVjaWRlQWRkaXRpb25hbFByb3BlcnRpZXMoZGVmLCByZWZzKSB7XG4gICAgaWYgKGRlZi5jYXRjaGFsbC5fZGVmLnR5cGVOYW1lICE9PSBcIlpvZE5ldmVyXCIpIHtcbiAgICAgICAgcmV0dXJuIHBhcnNlRGVmKGRlZi5jYXRjaGFsbC5fZGVmLCB7XG4gICAgICAgICAgICAuLi5yZWZzLFxuICAgICAgICAgICAgY3VycmVudFBhdGg6IFsuLi5yZWZzLmN1cnJlbnRQYXRoLCBcImFkZGl0aW9uYWxQcm9wZXJ0aWVzXCJdLFxuICAgICAgICB9KTtcbiAgICB9XG4gICAgc3dpdGNoIChkZWYudW5rbm93bktleXMpIHtcbiAgICAgICAgY2FzZSBcInBhc3N0aHJvdWdoXCI6XG4gICAgICAgICAgICByZXR1cm4gcmVmcy5hbGxvd2VkQWRkaXRpb25hbFByb3BlcnRpZXM7XG4gICAgICAgIGNhc2UgXCJzdHJpY3RcIjpcbiAgICAgICAgICAgIHJldHVybiByZWZzLnJlamVjdGVkQWRkaXRpb25hbFByb3BlcnRpZXM7XG4gICAgICAgIGNhc2UgXCJzdHJpcFwiOlxuICAgICAgICAgICAgcmV0dXJuIHJlZnMucmVtb3ZlQWRkaXRpb25hbFN0cmF0ZWd5ID09PSBcInN0cmljdFwiXG4gICAgICAgICAgICAgICAgPyByZWZzLmFsbG93ZWRBZGRpdGlvbmFsUHJvcGVydGllc1xuICAgICAgICAgICAgICAgIDogcmVmcy5yZWplY3RlZEFkZGl0aW9uYWxQcm9wZXJ0aWVzO1xuICAgIH1cbn1cbmZ1bmN0aW9uIHNhZmVJc09wdGlvbmFsKHNjaGVtYSkge1xuICAgIHRyeSB7XG4gICAgICAgIHJldHVybiBzY2hlbWEuaXNPcHRpb25hbCgpO1xuICAgIH1cbiAgICBjYXRjaCB7XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cbn1cbiIsICJpbXBvcnQgeyBwYXJzZURlZiB9IGZyb20gXCIuLi9wYXJzZURlZi5qc1wiO1xuaW1wb3J0IHsgcGFyc2VBbnlEZWYgfSBmcm9tIFwiLi9hbnkuanNcIjtcbmV4cG9ydCBjb25zdCBwYXJzZU9wdGlvbmFsRGVmID0gKGRlZiwgcmVmcykgPT4ge1xuICAgIGlmIChyZWZzLmN1cnJlbnRQYXRoLnRvU3RyaW5nKCkgPT09IHJlZnMucHJvcGVydHlQYXRoPy50b1N0cmluZygpKSB7XG4gICAgICAgIHJldHVybiBwYXJzZURlZihkZWYuaW5uZXJUeXBlLl9kZWYsIHJlZnMpO1xuICAgIH1cbiAgICBjb25zdCBpbm5lclNjaGVtYSA9IHBhcnNlRGVmKGRlZi5pbm5lclR5cGUuX2RlZiwge1xuICAgICAgICAuLi5yZWZzLFxuICAgICAgICBjdXJyZW50UGF0aDogWy4uLnJlZnMuY3VycmVudFBhdGgsIFwiYW55T2ZcIiwgXCIxXCJdLFxuICAgIH0pO1xuICAgIHJldHVybiBpbm5lclNjaGVtYVxuICAgICAgICA/IHtcbiAgICAgICAgICAgIGFueU9mOiBbXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBub3Q6IHBhcnNlQW55RGVmKHJlZnMpLFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgaW5uZXJTY2hlbWEsXG4gICAgICAgICAgICBdLFxuICAgICAgICB9XG4gICAgICAgIDogcGFyc2VBbnlEZWYocmVmcyk7XG59O1xuIiwgImltcG9ydCB7IHBhcnNlRGVmIH0gZnJvbSBcIi4uL3BhcnNlRGVmLmpzXCI7XG5leHBvcnQgY29uc3QgcGFyc2VQaXBlbGluZURlZiA9IChkZWYsIHJlZnMpID0+IHtcbiAgICBpZiAocmVmcy5waXBlU3RyYXRlZ3kgPT09IFwiaW5wdXRcIikge1xuICAgICAgICByZXR1cm4gcGFyc2VEZWYoZGVmLmluLl9kZWYsIHJlZnMpO1xuICAgIH1cbiAgICBlbHNlIGlmIChyZWZzLnBpcGVTdHJhdGVneSA9PT0gXCJvdXRwdXRcIikge1xuICAgICAgICByZXR1cm4gcGFyc2VEZWYoZGVmLm91dC5fZGVmLCByZWZzKTtcbiAgICB9XG4gICAgY29uc3QgYSA9IHBhcnNlRGVmKGRlZi5pbi5fZGVmLCB7XG4gICAgICAgIC4uLnJlZnMsXG4gICAgICAgIGN1cnJlbnRQYXRoOiBbLi4ucmVmcy5jdXJyZW50UGF0aCwgXCJhbGxPZlwiLCBcIjBcIl0sXG4gICAgfSk7XG4gICAgY29uc3QgYiA9IHBhcnNlRGVmKGRlZi5vdXQuX2RlZiwge1xuICAgICAgICAuLi5yZWZzLFxuICAgICAgICBjdXJyZW50UGF0aDogWy4uLnJlZnMuY3VycmVudFBhdGgsIFwiYWxsT2ZcIiwgYSA/IFwiMVwiIDogXCIwXCJdLFxuICAgIH0pO1xuICAgIHJldHVybiB7XG4gICAgICAgIGFsbE9mOiBbYSwgYl0uZmlsdGVyKCh4KSA9PiB4ICE9PSB1bmRlZmluZWQpLFxuICAgIH07XG59O1xuIiwgImltcG9ydCB7IHBhcnNlRGVmIH0gZnJvbSBcIi4uL3BhcnNlRGVmLmpzXCI7XG5leHBvcnQgZnVuY3Rpb24gcGFyc2VQcm9taXNlRGVmKGRlZiwgcmVmcykge1xuICAgIHJldHVybiBwYXJzZURlZihkZWYudHlwZS5fZGVmLCByZWZzKTtcbn1cbiIsICJpbXBvcnQgeyBzZXRSZXNwb25zZVZhbHVlQW5kRXJyb3JzIH0gZnJvbSBcIi4uL2Vycm9yTWVzc2FnZXMuanNcIjtcbmltcG9ydCB7IHBhcnNlRGVmIH0gZnJvbSBcIi4uL3BhcnNlRGVmLmpzXCI7XG5leHBvcnQgZnVuY3Rpb24gcGFyc2VTZXREZWYoZGVmLCByZWZzKSB7XG4gICAgY29uc3QgaXRlbXMgPSBwYXJzZURlZihkZWYudmFsdWVUeXBlLl9kZWYsIHtcbiAgICAgICAgLi4ucmVmcyxcbiAgICAgICAgY3VycmVudFBhdGg6IFsuLi5yZWZzLmN1cnJlbnRQYXRoLCBcIml0ZW1zXCJdLFxuICAgIH0pO1xuICAgIGNvbnN0IHNjaGVtYSA9IHtcbiAgICAgICAgdHlwZTogXCJhcnJheVwiLFxuICAgICAgICB1bmlxdWVJdGVtczogdHJ1ZSxcbiAgICAgICAgaXRlbXMsXG4gICAgfTtcbiAgICBpZiAoZGVmLm1pblNpemUpIHtcbiAgICAgICAgc2V0UmVzcG9uc2VWYWx1ZUFuZEVycm9ycyhzY2hlbWEsIFwibWluSXRlbXNcIiwgZGVmLm1pblNpemUudmFsdWUsIGRlZi5taW5TaXplLm1lc3NhZ2UsIHJlZnMpO1xuICAgIH1cbiAgICBpZiAoZGVmLm1heFNpemUpIHtcbiAgICAgICAgc2V0UmVzcG9uc2VWYWx1ZUFuZEVycm9ycyhzY2hlbWEsIFwibWF4SXRlbXNcIiwgZGVmLm1heFNpemUudmFsdWUsIGRlZi5tYXhTaXplLm1lc3NhZ2UsIHJlZnMpO1xuICAgIH1cbiAgICByZXR1cm4gc2NoZW1hO1xufVxuIiwgImltcG9ydCB7IHBhcnNlRGVmIH0gZnJvbSBcIi4uL3BhcnNlRGVmLmpzXCI7XG5leHBvcnQgZnVuY3Rpb24gcGFyc2VUdXBsZURlZihkZWYsIHJlZnMpIHtcbiAgICBpZiAoZGVmLnJlc3QpIHtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIHR5cGU6IFwiYXJyYXlcIixcbiAgICAgICAgICAgIG1pbkl0ZW1zOiBkZWYuaXRlbXMubGVuZ3RoLFxuICAgICAgICAgICAgaXRlbXM6IGRlZi5pdGVtc1xuICAgICAgICAgICAgICAgIC5tYXAoKHgsIGkpID0+IHBhcnNlRGVmKHguX2RlZiwge1xuICAgICAgICAgICAgICAgIC4uLnJlZnMsXG4gICAgICAgICAgICAgICAgY3VycmVudFBhdGg6IFsuLi5yZWZzLmN1cnJlbnRQYXRoLCBcIml0ZW1zXCIsIGAke2l9YF0sXG4gICAgICAgICAgICB9KSlcbiAgICAgICAgICAgICAgICAucmVkdWNlKChhY2MsIHgpID0+ICh4ID09PSB1bmRlZmluZWQgPyBhY2MgOiBbLi4uYWNjLCB4XSksIFtdKSxcbiAgICAgICAgICAgIGFkZGl0aW9uYWxJdGVtczogcGFyc2VEZWYoZGVmLnJlc3QuX2RlZiwge1xuICAgICAgICAgICAgICAgIC4uLnJlZnMsXG4gICAgICAgICAgICAgICAgY3VycmVudFBhdGg6IFsuLi5yZWZzLmN1cnJlbnRQYXRoLCBcImFkZGl0aW9uYWxJdGVtc1wiXSxcbiAgICAgICAgICAgIH0pLFxuICAgICAgICB9O1xuICAgIH1cbiAgICBlbHNlIHtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIHR5cGU6IFwiYXJyYXlcIixcbiAgICAgICAgICAgIG1pbkl0ZW1zOiBkZWYuaXRlbXMubGVuZ3RoLFxuICAgICAgICAgICAgbWF4SXRlbXM6IGRlZi5pdGVtcy5sZW5ndGgsXG4gICAgICAgICAgICBpdGVtczogZGVmLml0ZW1zXG4gICAgICAgICAgICAgICAgLm1hcCgoeCwgaSkgPT4gcGFyc2VEZWYoeC5fZGVmLCB7XG4gICAgICAgICAgICAgICAgLi4ucmVmcyxcbiAgICAgICAgICAgICAgICBjdXJyZW50UGF0aDogWy4uLnJlZnMuY3VycmVudFBhdGgsIFwiaXRlbXNcIiwgYCR7aX1gXSxcbiAgICAgICAgICAgIH0pKVxuICAgICAgICAgICAgICAgIC5yZWR1Y2UoKGFjYywgeCkgPT4gKHggPT09IHVuZGVmaW5lZCA/IGFjYyA6IFsuLi5hY2MsIHhdKSwgW10pLFxuICAgICAgICB9O1xuICAgIH1cbn1cbiIsICJpbXBvcnQgeyBwYXJzZUFueURlZiB9IGZyb20gXCIuL2FueS5qc1wiO1xuZXhwb3J0IGZ1bmN0aW9uIHBhcnNlVW5kZWZpbmVkRGVmKHJlZnMpIHtcbiAgICByZXR1cm4ge1xuICAgICAgICBub3Q6IHBhcnNlQW55RGVmKHJlZnMpLFxuICAgIH07XG59XG4iLCAiaW1wb3J0IHsgcGFyc2VBbnlEZWYgfSBmcm9tIFwiLi9hbnkuanNcIjtcbmV4cG9ydCBmdW5jdGlvbiBwYXJzZVVua25vd25EZWYocmVmcykge1xuICAgIHJldHVybiBwYXJzZUFueURlZihyZWZzKTtcbn1cbiIsICJpbXBvcnQgeyBwYXJzZURlZiB9IGZyb20gXCIuLi9wYXJzZURlZi5qc1wiO1xuZXhwb3J0IGNvbnN0IHBhcnNlUmVhZG9ubHlEZWYgPSAoZGVmLCByZWZzKSA9PiB7XG4gICAgcmV0dXJuIHBhcnNlRGVmKGRlZi5pbm5lclR5cGUuX2RlZiwgcmVmcyk7XG59O1xuIiwgImltcG9ydCB7IFpvZEZpcnN0UGFydHlUeXBlS2luZCB9IGZyb20gXCJ6b2RcIjtcbmltcG9ydCB7IHBhcnNlQW55RGVmIH0gZnJvbSBcIi4vcGFyc2Vycy9hbnkuanNcIjtcbmltcG9ydCB7IHBhcnNlQXJyYXlEZWYgfSBmcm9tIFwiLi9wYXJzZXJzL2FycmF5LmpzXCI7XG5pbXBvcnQgeyBwYXJzZUJpZ2ludERlZiB9IGZyb20gXCIuL3BhcnNlcnMvYmlnaW50LmpzXCI7XG5pbXBvcnQgeyBwYXJzZUJvb2xlYW5EZWYgfSBmcm9tIFwiLi9wYXJzZXJzL2Jvb2xlYW4uanNcIjtcbmltcG9ydCB7IHBhcnNlQnJhbmRlZERlZiB9IGZyb20gXCIuL3BhcnNlcnMvYnJhbmRlZC5qc1wiO1xuaW1wb3J0IHsgcGFyc2VDYXRjaERlZiB9IGZyb20gXCIuL3BhcnNlcnMvY2F0Y2guanNcIjtcbmltcG9ydCB7IHBhcnNlRGF0ZURlZiB9IGZyb20gXCIuL3BhcnNlcnMvZGF0ZS5qc1wiO1xuaW1wb3J0IHsgcGFyc2VEZWZhdWx0RGVmIH0gZnJvbSBcIi4vcGFyc2Vycy9kZWZhdWx0LmpzXCI7XG5pbXBvcnQgeyBwYXJzZUVmZmVjdHNEZWYgfSBmcm9tIFwiLi9wYXJzZXJzL2VmZmVjdHMuanNcIjtcbmltcG9ydCB7IHBhcnNlRW51bURlZiB9IGZyb20gXCIuL3BhcnNlcnMvZW51bS5qc1wiO1xuaW1wb3J0IHsgcGFyc2VJbnRlcnNlY3Rpb25EZWYgfSBmcm9tIFwiLi9wYXJzZXJzL2ludGVyc2VjdGlvbi5qc1wiO1xuaW1wb3J0IHsgcGFyc2VMaXRlcmFsRGVmIH0gZnJvbSBcIi4vcGFyc2Vycy9saXRlcmFsLmpzXCI7XG5pbXBvcnQgeyBwYXJzZU1hcERlZiB9IGZyb20gXCIuL3BhcnNlcnMvbWFwLmpzXCI7XG5pbXBvcnQgeyBwYXJzZU5hdGl2ZUVudW1EZWYgfSBmcm9tIFwiLi9wYXJzZXJzL25hdGl2ZUVudW0uanNcIjtcbmltcG9ydCB7IHBhcnNlTmV2ZXJEZWYgfSBmcm9tIFwiLi9wYXJzZXJzL25ldmVyLmpzXCI7XG5pbXBvcnQgeyBwYXJzZU51bGxEZWYgfSBmcm9tIFwiLi9wYXJzZXJzL251bGwuanNcIjtcbmltcG9ydCB7IHBhcnNlTnVsbGFibGVEZWYgfSBmcm9tIFwiLi9wYXJzZXJzL251bGxhYmxlLmpzXCI7XG5pbXBvcnQgeyBwYXJzZU51bWJlckRlZiB9IGZyb20gXCIuL3BhcnNlcnMvbnVtYmVyLmpzXCI7XG5pbXBvcnQgeyBwYXJzZU9iamVjdERlZiB9IGZyb20gXCIuL3BhcnNlcnMvb2JqZWN0LmpzXCI7XG5pbXBvcnQgeyBwYXJzZU9wdGlvbmFsRGVmIH0gZnJvbSBcIi4vcGFyc2Vycy9vcHRpb25hbC5qc1wiO1xuaW1wb3J0IHsgcGFyc2VQaXBlbGluZURlZiB9IGZyb20gXCIuL3BhcnNlcnMvcGlwZWxpbmUuanNcIjtcbmltcG9ydCB7IHBhcnNlUHJvbWlzZURlZiB9IGZyb20gXCIuL3BhcnNlcnMvcHJvbWlzZS5qc1wiO1xuaW1wb3J0IHsgcGFyc2VSZWNvcmREZWYgfSBmcm9tIFwiLi9wYXJzZXJzL3JlY29yZC5qc1wiO1xuaW1wb3J0IHsgcGFyc2VTZXREZWYgfSBmcm9tIFwiLi9wYXJzZXJzL3NldC5qc1wiO1xuaW1wb3J0IHsgcGFyc2VTdHJpbmdEZWYgfSBmcm9tIFwiLi9wYXJzZXJzL3N0cmluZy5qc1wiO1xuaW1wb3J0IHsgcGFyc2VUdXBsZURlZiB9IGZyb20gXCIuL3BhcnNlcnMvdHVwbGUuanNcIjtcbmltcG9ydCB7IHBhcnNlVW5kZWZpbmVkRGVmIH0gZnJvbSBcIi4vcGFyc2Vycy91bmRlZmluZWQuanNcIjtcbmltcG9ydCB7IHBhcnNlVW5pb25EZWYgfSBmcm9tIFwiLi9wYXJzZXJzL3VuaW9uLmpzXCI7XG5pbXBvcnQgeyBwYXJzZVVua25vd25EZWYgfSBmcm9tIFwiLi9wYXJzZXJzL3Vua25vd24uanNcIjtcbmltcG9ydCB7IHBhcnNlUmVhZG9ubHlEZWYgfSBmcm9tIFwiLi9wYXJzZXJzL3JlYWRvbmx5LmpzXCI7XG5leHBvcnQgY29uc3Qgc2VsZWN0UGFyc2VyID0gKGRlZiwgdHlwZU5hbWUsIHJlZnMpID0+IHtcbiAgICBzd2l0Y2ggKHR5cGVOYW1lKSB7XG4gICAgICAgIGNhc2UgWm9kRmlyc3RQYXJ0eVR5cGVLaW5kLlpvZFN0cmluZzpcbiAgICAgICAgICAgIHJldHVybiBwYXJzZVN0cmluZ0RlZihkZWYsIHJlZnMpO1xuICAgICAgICBjYXNlIFpvZEZpcnN0UGFydHlUeXBlS2luZC5ab2ROdW1iZXI6XG4gICAgICAgICAgICByZXR1cm4gcGFyc2VOdW1iZXJEZWYoZGVmLCByZWZzKTtcbiAgICAgICAgY2FzZSBab2RGaXJzdFBhcnR5VHlwZUtpbmQuWm9kT2JqZWN0OlxuICAgICAgICAgICAgcmV0dXJuIHBhcnNlT2JqZWN0RGVmKGRlZiwgcmVmcyk7XG4gICAgICAgIGNhc2UgWm9kRmlyc3RQYXJ0eVR5cGVLaW5kLlpvZEJpZ0ludDpcbiAgICAgICAgICAgIHJldHVybiBwYXJzZUJpZ2ludERlZihkZWYsIHJlZnMpO1xuICAgICAgICBjYXNlIFpvZEZpcnN0UGFydHlUeXBlS2luZC5ab2RCb29sZWFuOlxuICAgICAgICAgICAgcmV0dXJuIHBhcnNlQm9vbGVhbkRlZigpO1xuICAgICAgICBjYXNlIFpvZEZpcnN0UGFydHlUeXBlS2luZC5ab2REYXRlOlxuICAgICAgICAgICAgcmV0dXJuIHBhcnNlRGF0ZURlZihkZWYsIHJlZnMpO1xuICAgICAgICBjYXNlIFpvZEZpcnN0UGFydHlUeXBlS2luZC5ab2RVbmRlZmluZWQ6XG4gICAgICAgICAgICByZXR1cm4gcGFyc2VVbmRlZmluZWREZWYocmVmcyk7XG4gICAgICAgIGNhc2UgWm9kRmlyc3RQYXJ0eVR5cGVLaW5kLlpvZE51bGw6XG4gICAgICAgICAgICByZXR1cm4gcGFyc2VOdWxsRGVmKHJlZnMpO1xuICAgICAgICBjYXNlIFpvZEZpcnN0UGFydHlUeXBlS2luZC5ab2RBcnJheTpcbiAgICAgICAgICAgIHJldHVybiBwYXJzZUFycmF5RGVmKGRlZiwgcmVmcyk7XG4gICAgICAgIGNhc2UgWm9kRmlyc3RQYXJ0eVR5cGVLaW5kLlpvZFVuaW9uOlxuICAgICAgICBjYXNlIFpvZEZpcnN0UGFydHlUeXBlS2luZC5ab2REaXNjcmltaW5hdGVkVW5pb246XG4gICAgICAgICAgICByZXR1cm4gcGFyc2VVbmlvbkRlZihkZWYsIHJlZnMpO1xuICAgICAgICBjYXNlIFpvZEZpcnN0UGFydHlUeXBlS2luZC5ab2RJbnRlcnNlY3Rpb246XG4gICAgICAgICAgICByZXR1cm4gcGFyc2VJbnRlcnNlY3Rpb25EZWYoZGVmLCByZWZzKTtcbiAgICAgICAgY2FzZSBab2RGaXJzdFBhcnR5VHlwZUtpbmQuWm9kVHVwbGU6XG4gICAgICAgICAgICByZXR1cm4gcGFyc2VUdXBsZURlZihkZWYsIHJlZnMpO1xuICAgICAgICBjYXNlIFpvZEZpcnN0UGFydHlUeXBlS2luZC5ab2RSZWNvcmQ6XG4gICAgICAgICAgICByZXR1cm4gcGFyc2VSZWNvcmREZWYoZGVmLCByZWZzKTtcbiAgICAgICAgY2FzZSBab2RGaXJzdFBhcnR5VHlwZUtpbmQuWm9kTGl0ZXJhbDpcbiAgICAgICAgICAgIHJldHVybiBwYXJzZUxpdGVyYWxEZWYoZGVmLCByZWZzKTtcbiAgICAgICAgY2FzZSBab2RGaXJzdFBhcnR5VHlwZUtpbmQuWm9kRW51bTpcbiAgICAgICAgICAgIHJldHVybiBwYXJzZUVudW1EZWYoZGVmKTtcbiAgICAgICAgY2FzZSBab2RGaXJzdFBhcnR5VHlwZUtpbmQuWm9kTmF0aXZlRW51bTpcbiAgICAgICAgICAgIHJldHVybiBwYXJzZU5hdGl2ZUVudW1EZWYoZGVmKTtcbiAgICAgICAgY2FzZSBab2RGaXJzdFBhcnR5VHlwZUtpbmQuWm9kTnVsbGFibGU6XG4gICAgICAgICAgICByZXR1cm4gcGFyc2VOdWxsYWJsZURlZihkZWYsIHJlZnMpO1xuICAgICAgICBjYXNlIFpvZEZpcnN0UGFydHlUeXBlS2luZC5ab2RPcHRpb25hbDpcbiAgICAgICAgICAgIHJldHVybiBwYXJzZU9wdGlvbmFsRGVmKGRlZiwgcmVmcyk7XG4gICAgICAgIGNhc2UgWm9kRmlyc3RQYXJ0eVR5cGVLaW5kLlpvZE1hcDpcbiAgICAgICAgICAgIHJldHVybiBwYXJzZU1hcERlZihkZWYsIHJlZnMpO1xuICAgICAgICBjYXNlIFpvZEZpcnN0UGFydHlUeXBlS2luZC5ab2RTZXQ6XG4gICAgICAgICAgICByZXR1cm4gcGFyc2VTZXREZWYoZGVmLCByZWZzKTtcbiAgICAgICAgY2FzZSBab2RGaXJzdFBhcnR5VHlwZUtpbmQuWm9kTGF6eTpcbiAgICAgICAgICAgIHJldHVybiAoKSA9PiBkZWYuZ2V0dGVyKCkuX2RlZjtcbiAgICAgICAgY2FzZSBab2RGaXJzdFBhcnR5VHlwZUtpbmQuWm9kUHJvbWlzZTpcbiAgICAgICAgICAgIHJldHVybiBwYXJzZVByb21pc2VEZWYoZGVmLCByZWZzKTtcbiAgICAgICAgY2FzZSBab2RGaXJzdFBhcnR5VHlwZUtpbmQuWm9kTmFOOlxuICAgICAgICBjYXNlIFpvZEZpcnN0UGFydHlUeXBlS2luZC5ab2ROZXZlcjpcbiAgICAgICAgICAgIHJldHVybiBwYXJzZU5ldmVyRGVmKHJlZnMpO1xuICAgICAgICBjYXNlIFpvZEZpcnN0UGFydHlUeXBlS2luZC5ab2RFZmZlY3RzOlxuICAgICAgICAgICAgcmV0dXJuIHBhcnNlRWZmZWN0c0RlZihkZWYsIHJlZnMpO1xuICAgICAgICBjYXNlIFpvZEZpcnN0UGFydHlUeXBlS2luZC5ab2RBbnk6XG4gICAgICAgICAgICByZXR1cm4gcGFyc2VBbnlEZWYocmVmcyk7XG4gICAgICAgIGNhc2UgWm9kRmlyc3RQYXJ0eVR5cGVLaW5kLlpvZFVua25vd246XG4gICAgICAgICAgICByZXR1cm4gcGFyc2VVbmtub3duRGVmKHJlZnMpO1xuICAgICAgICBjYXNlIFpvZEZpcnN0UGFydHlUeXBlS2luZC5ab2REZWZhdWx0OlxuICAgICAgICAgICAgcmV0dXJuIHBhcnNlRGVmYXVsdERlZihkZWYsIHJlZnMpO1xuICAgICAgICBjYXNlIFpvZEZpcnN0UGFydHlUeXBlS2luZC5ab2RCcmFuZGVkOlxuICAgICAgICAgICAgcmV0dXJuIHBhcnNlQnJhbmRlZERlZihkZWYsIHJlZnMpO1xuICAgICAgICBjYXNlIFpvZEZpcnN0UGFydHlUeXBlS2luZC5ab2RSZWFkb25seTpcbiAgICAgICAgICAgIHJldHVybiBwYXJzZVJlYWRvbmx5RGVmKGRlZiwgcmVmcyk7XG4gICAgICAgIGNhc2UgWm9kRmlyc3RQYXJ0eVR5cGVLaW5kLlpvZENhdGNoOlxuICAgICAgICAgICAgcmV0dXJuIHBhcnNlQ2F0Y2hEZWYoZGVmLCByZWZzKTtcbiAgICAgICAgY2FzZSBab2RGaXJzdFBhcnR5VHlwZUtpbmQuWm9kUGlwZWxpbmU6XG4gICAgICAgICAgICByZXR1cm4gcGFyc2VQaXBlbGluZURlZihkZWYsIHJlZnMpO1xuICAgICAgICBjYXNlIFpvZEZpcnN0UGFydHlUeXBlS2luZC5ab2RGdW5jdGlvbjpcbiAgICAgICAgY2FzZSBab2RGaXJzdFBhcnR5VHlwZUtpbmQuWm9kVm9pZDpcbiAgICAgICAgY2FzZSBab2RGaXJzdFBhcnR5VHlwZUtpbmQuWm9kU3ltYm9sOlxuICAgICAgICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgIC8qIGM4IGlnbm9yZSBuZXh0ICovXG4gICAgICAgICAgICByZXR1cm4gKChfKSA9PiB1bmRlZmluZWQpKHR5cGVOYW1lKTtcbiAgICB9XG59O1xuIiwgImltcG9ydCB7IGlnbm9yZU92ZXJyaWRlIH0gZnJvbSBcIi4vT3B0aW9ucy5qc1wiO1xuaW1wb3J0IHsgc2VsZWN0UGFyc2VyIH0gZnJvbSBcIi4vc2VsZWN0UGFyc2VyLmpzXCI7XG5pbXBvcnQgeyBnZXRSZWxhdGl2ZVBhdGggfSBmcm9tIFwiLi9nZXRSZWxhdGl2ZVBhdGguanNcIjtcbmltcG9ydCB7IHBhcnNlQW55RGVmIH0gZnJvbSBcIi4vcGFyc2Vycy9hbnkuanNcIjtcbmV4cG9ydCBmdW5jdGlvbiBwYXJzZURlZihkZWYsIHJlZnMsIGZvcmNlUmVzb2x1dGlvbiA9IGZhbHNlKSB7XG4gICAgY29uc3Qgc2Vlbkl0ZW0gPSByZWZzLnNlZW4uZ2V0KGRlZik7XG4gICAgaWYgKHJlZnMub3ZlcnJpZGUpIHtcbiAgICAgICAgY29uc3Qgb3ZlcnJpZGVSZXN1bHQgPSByZWZzLm92ZXJyaWRlPy4oZGVmLCByZWZzLCBzZWVuSXRlbSwgZm9yY2VSZXNvbHV0aW9uKTtcbiAgICAgICAgaWYgKG92ZXJyaWRlUmVzdWx0ICE9PSBpZ25vcmVPdmVycmlkZSkge1xuICAgICAgICAgICAgcmV0dXJuIG92ZXJyaWRlUmVzdWx0O1xuICAgICAgICB9XG4gICAgfVxuICAgIGlmIChzZWVuSXRlbSAmJiAhZm9yY2VSZXNvbHV0aW9uKSB7XG4gICAgICAgIGNvbnN0IHNlZW5TY2hlbWEgPSBnZXQkcmVmKHNlZW5JdGVtLCByZWZzKTtcbiAgICAgICAgaWYgKHNlZW5TY2hlbWEgIT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgcmV0dXJuIHNlZW5TY2hlbWE7XG4gICAgICAgIH1cbiAgICB9XG4gICAgY29uc3QgbmV3SXRlbSA9IHsgZGVmLCBwYXRoOiByZWZzLmN1cnJlbnRQYXRoLCBqc29uU2NoZW1hOiB1bmRlZmluZWQgfTtcbiAgICByZWZzLnNlZW4uc2V0KGRlZiwgbmV3SXRlbSk7XG4gICAgY29uc3QganNvblNjaGVtYU9yR2V0dGVyID0gc2VsZWN0UGFyc2VyKGRlZiwgZGVmLnR5cGVOYW1lLCByZWZzKTtcbiAgICAvLyBJZiB0aGUgcmV0dXJuIHdhcyBhIGZ1bmN0aW9uLCB0aGVuIHRoZSBpbm5lciBkZWZpbml0aW9uIG5lZWRzIHRvIGJlIGV4dHJhY3RlZCBiZWZvcmUgYSBjYWxsIHRvIHBhcnNlRGVmIChyZWN1cnNpdmUpXG4gICAgY29uc3QganNvblNjaGVtYSA9IHR5cGVvZiBqc29uU2NoZW1hT3JHZXR0ZXIgPT09IFwiZnVuY3Rpb25cIlxuICAgICAgICA/IHBhcnNlRGVmKGpzb25TY2hlbWFPckdldHRlcigpLCByZWZzKVxuICAgICAgICA6IGpzb25TY2hlbWFPckdldHRlcjtcbiAgICBpZiAoanNvblNjaGVtYSkge1xuICAgICAgICBhZGRNZXRhKGRlZiwgcmVmcywganNvblNjaGVtYSk7XG4gICAgfVxuICAgIGlmIChyZWZzLnBvc3RQcm9jZXNzKSB7XG4gICAgICAgIGNvbnN0IHBvc3RQcm9jZXNzUmVzdWx0ID0gcmVmcy5wb3N0UHJvY2Vzcyhqc29uU2NoZW1hLCBkZWYsIHJlZnMpO1xuICAgICAgICBuZXdJdGVtLmpzb25TY2hlbWEgPSBqc29uU2NoZW1hO1xuICAgICAgICByZXR1cm4gcG9zdFByb2Nlc3NSZXN1bHQ7XG4gICAgfVxuICAgIG5ld0l0ZW0uanNvblNjaGVtYSA9IGpzb25TY2hlbWE7XG4gICAgcmV0dXJuIGpzb25TY2hlbWE7XG59XG5jb25zdCBnZXQkcmVmID0gKGl0ZW0sIHJlZnMpID0+IHtcbiAgICBzd2l0Y2ggKHJlZnMuJHJlZlN0cmF0ZWd5KSB7XG4gICAgICAgIGNhc2UgXCJyb290XCI6XG4gICAgICAgICAgICByZXR1cm4geyAkcmVmOiBpdGVtLnBhdGguam9pbihcIi9cIikgfTtcbiAgICAgICAgY2FzZSBcInJlbGF0aXZlXCI6XG4gICAgICAgICAgICByZXR1cm4geyAkcmVmOiBnZXRSZWxhdGl2ZVBhdGgocmVmcy5jdXJyZW50UGF0aCwgaXRlbS5wYXRoKSB9O1xuICAgICAgICBjYXNlIFwibm9uZVwiOlxuICAgICAgICBjYXNlIFwic2VlblwiOiB7XG4gICAgICAgICAgICBpZiAoaXRlbS5wYXRoLmxlbmd0aCA8IHJlZnMuY3VycmVudFBhdGgubGVuZ3RoICYmXG4gICAgICAgICAgICAgICAgaXRlbS5wYXRoLmV2ZXJ5KCh2YWx1ZSwgaW5kZXgpID0+IHJlZnMuY3VycmVudFBhdGhbaW5kZXhdID09PSB2YWx1ZSkpIHtcbiAgICAgICAgICAgICAgICBjb25zb2xlLndhcm4oYFJlY3Vyc2l2ZSByZWZlcmVuY2UgZGV0ZWN0ZWQgYXQgJHtyZWZzLmN1cnJlbnRQYXRoLmpvaW4oXCIvXCIpfSEgRGVmYXVsdGluZyB0byBhbnlgKTtcbiAgICAgICAgICAgICAgICByZXR1cm4gcGFyc2VBbnlEZWYocmVmcyk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXR1cm4gcmVmcy4kcmVmU3RyYXRlZ3kgPT09IFwic2VlblwiID8gcGFyc2VBbnlEZWYocmVmcykgOiB1bmRlZmluZWQ7XG4gICAgICAgIH1cbiAgICB9XG59O1xuY29uc3QgYWRkTWV0YSA9IChkZWYsIHJlZnMsIGpzb25TY2hlbWEpID0+IHtcbiAgICBpZiAoZGVmLmRlc2NyaXB0aW9uKSB7XG4gICAgICAgIGpzb25TY2hlbWEuZGVzY3JpcHRpb24gPSBkZWYuZGVzY3JpcHRpb247XG4gICAgICAgIGlmIChyZWZzLm1hcmtkb3duRGVzY3JpcHRpb24pIHtcbiAgICAgICAgICAgIGpzb25TY2hlbWEubWFya2Rvd25EZXNjcmlwdGlvbiA9IGRlZi5kZXNjcmlwdGlvbjtcbiAgICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4ganNvblNjaGVtYTtcbn07XG4iLCAiZXhwb3J0IHt9O1xuIiwgImltcG9ydCB7IHBhcnNlRGVmIH0gZnJvbSBcIi4vcGFyc2VEZWYuanNcIjtcbmltcG9ydCB7IGdldFJlZnMgfSBmcm9tIFwiLi9SZWZzLmpzXCI7XG5pbXBvcnQgeyBwYXJzZUFueURlZiB9IGZyb20gXCIuL3BhcnNlcnMvYW55LmpzXCI7XG5jb25zdCB6b2RUb0pzb25TY2hlbWEgPSAoc2NoZW1hLCBvcHRpb25zKSA9PiB7XG4gICAgY29uc3QgcmVmcyA9IGdldFJlZnMob3B0aW9ucyk7XG4gICAgbGV0IGRlZmluaXRpb25zID0gdHlwZW9mIG9wdGlvbnMgPT09IFwib2JqZWN0XCIgJiYgb3B0aW9ucy5kZWZpbml0aW9uc1xuICAgICAgICA/IE9iamVjdC5lbnRyaWVzKG9wdGlvbnMuZGVmaW5pdGlvbnMpLnJlZHVjZSgoYWNjLCBbbmFtZSwgc2NoZW1hXSkgPT4gKHtcbiAgICAgICAgICAgIC4uLmFjYyxcbiAgICAgICAgICAgIFtuYW1lXTogcGFyc2VEZWYoc2NoZW1hLl9kZWYsIHtcbiAgICAgICAgICAgICAgICAuLi5yZWZzLFxuICAgICAgICAgICAgICAgIGN1cnJlbnRQYXRoOiBbLi4ucmVmcy5iYXNlUGF0aCwgcmVmcy5kZWZpbml0aW9uUGF0aCwgbmFtZV0sXG4gICAgICAgICAgICB9LCB0cnVlKSA/PyBwYXJzZUFueURlZihyZWZzKSxcbiAgICAgICAgfSksIHt9KVxuICAgICAgICA6IHVuZGVmaW5lZDtcbiAgICBjb25zdCBuYW1lID0gdHlwZW9mIG9wdGlvbnMgPT09IFwic3RyaW5nXCJcbiAgICAgICAgPyBvcHRpb25zXG4gICAgICAgIDogb3B0aW9ucz8ubmFtZVN0cmF0ZWd5ID09PSBcInRpdGxlXCJcbiAgICAgICAgICAgID8gdW5kZWZpbmVkXG4gICAgICAgICAgICA6IG9wdGlvbnM/Lm5hbWU7XG4gICAgY29uc3QgbWFpbiA9IHBhcnNlRGVmKHNjaGVtYS5fZGVmLCBuYW1lID09PSB1bmRlZmluZWRcbiAgICAgICAgPyByZWZzXG4gICAgICAgIDoge1xuICAgICAgICAgICAgLi4ucmVmcyxcbiAgICAgICAgICAgIGN1cnJlbnRQYXRoOiBbLi4ucmVmcy5iYXNlUGF0aCwgcmVmcy5kZWZpbml0aW9uUGF0aCwgbmFtZV0sXG4gICAgICAgIH0sIGZhbHNlKSA/PyBwYXJzZUFueURlZihyZWZzKTtcbiAgICBjb25zdCB0aXRsZSA9IHR5cGVvZiBvcHRpb25zID09PSBcIm9iamVjdFwiICYmXG4gICAgICAgIG9wdGlvbnMubmFtZSAhPT0gdW5kZWZpbmVkICYmXG4gICAgICAgIG9wdGlvbnMubmFtZVN0cmF0ZWd5ID09PSBcInRpdGxlXCJcbiAgICAgICAgPyBvcHRpb25zLm5hbWVcbiAgICAgICAgOiB1bmRlZmluZWQ7XG4gICAgaWYgKHRpdGxlICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgbWFpbi50aXRsZSA9IHRpdGxlO1xuICAgIH1cbiAgICBpZiAocmVmcy5mbGFncy5oYXNSZWZlcmVuY2VkT3BlbkFpQW55VHlwZSkge1xuICAgICAgICBpZiAoIWRlZmluaXRpb25zKSB7XG4gICAgICAgICAgICBkZWZpbml0aW9ucyA9IHt9O1xuICAgICAgICB9XG4gICAgICAgIGlmICghZGVmaW5pdGlvbnNbcmVmcy5vcGVuQWlBbnlUeXBlTmFtZV0pIHtcbiAgICAgICAgICAgIGRlZmluaXRpb25zW3JlZnMub3BlbkFpQW55VHlwZU5hbWVdID0ge1xuICAgICAgICAgICAgICAgIC8vIFNraXBwaW5nIFwib2JqZWN0XCIgYXMgbm8gcHJvcGVydGllcyBjYW4gYmUgZGVmaW5lZCBhbmQgYWRkaXRpb25hbFByb3BlcnRpZXMgbXVzdCBiZSBcImZhbHNlXCJcbiAgICAgICAgICAgICAgICB0eXBlOiBbXCJzdHJpbmdcIiwgXCJudW1iZXJcIiwgXCJpbnRlZ2VyXCIsIFwiYm9vbGVhblwiLCBcImFycmF5XCIsIFwibnVsbFwiXSxcbiAgICAgICAgICAgICAgICBpdGVtczoge1xuICAgICAgICAgICAgICAgICAgICAkcmVmOiByZWZzLiRyZWZTdHJhdGVneSA9PT0gXCJyZWxhdGl2ZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICA/IFwiMVwiXG4gICAgICAgICAgICAgICAgICAgICAgICA6IFtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAuLi5yZWZzLmJhc2VQYXRoLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlZnMuZGVmaW5pdGlvblBhdGgsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVmcy5vcGVuQWlBbnlUeXBlTmFtZSxcbiAgICAgICAgICAgICAgICAgICAgICAgIF0uam9pbihcIi9cIiksXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIH07XG4gICAgICAgIH1cbiAgICB9XG4gICAgY29uc3QgY29tYmluZWQgPSBuYW1lID09PSB1bmRlZmluZWRcbiAgICAgICAgPyBkZWZpbml0aW9uc1xuICAgICAgICAgICAgPyB7XG4gICAgICAgICAgICAgICAgLi4ubWFpbixcbiAgICAgICAgICAgICAgICBbcmVmcy5kZWZpbml0aW9uUGF0aF06IGRlZmluaXRpb25zLFxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgOiBtYWluXG4gICAgICAgIDoge1xuICAgICAgICAgICAgJHJlZjogW1xuICAgICAgICAgICAgICAgIC4uLihyZWZzLiRyZWZTdHJhdGVneSA9PT0gXCJyZWxhdGl2ZVwiID8gW10gOiByZWZzLmJhc2VQYXRoKSxcbiAgICAgICAgICAgICAgICByZWZzLmRlZmluaXRpb25QYXRoLFxuICAgICAgICAgICAgICAgIG5hbWUsXG4gICAgICAgICAgICBdLmpvaW4oXCIvXCIpLFxuICAgICAgICAgICAgW3JlZnMuZGVmaW5pdGlvblBhdGhdOiB7XG4gICAgICAgICAgICAgICAgLi4uZGVmaW5pdGlvbnMsXG4gICAgICAgICAgICAgICAgW25hbWVdOiBtYWluLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgfTtcbiAgICBpZiAocmVmcy50YXJnZXQgPT09IFwianNvblNjaGVtYTdcIikge1xuICAgICAgICBjb21iaW5lZC4kc2NoZW1hID0gXCJodHRwOi8vanNvbi1zY2hlbWEub3JnL2RyYWZ0LTA3L3NjaGVtYSNcIjtcbiAgICB9XG4gICAgZWxzZSBpZiAocmVmcy50YXJnZXQgPT09IFwianNvblNjaGVtYTIwMTktMDlcIiB8fCByZWZzLnRhcmdldCA9PT0gXCJvcGVuQWlcIikge1xuICAgICAgICBjb21iaW5lZC4kc2NoZW1hID0gXCJodHRwczovL2pzb24tc2NoZW1hLm9yZy9kcmFmdC8yMDE5LTA5L3NjaGVtYSNcIjtcbiAgICB9XG4gICAgaWYgKHJlZnMudGFyZ2V0ID09PSBcIm9wZW5BaVwiICYmXG4gICAgICAgIChcImFueU9mXCIgaW4gY29tYmluZWQgfHxcbiAgICAgICAgICAgIFwib25lT2ZcIiBpbiBjb21iaW5lZCB8fFxuICAgICAgICAgICAgXCJhbGxPZlwiIGluIGNvbWJpbmVkIHx8XG4gICAgICAgICAgICAoXCJ0eXBlXCIgaW4gY29tYmluZWQgJiYgQXJyYXkuaXNBcnJheShjb21iaW5lZC50eXBlKSkpKSB7XG4gICAgICAgIGNvbnNvbGUud2FybihcIldhcm5pbmc6IE9wZW5BSSBtYXkgbm90IHN1cHBvcnQgc2NoZW1hcyB3aXRoIHVuaW9ucyBhcyByb290cyEgVHJ5IHdyYXBwaW5nIGl0IGluIGFuIG9iamVjdCBwcm9wZXJ0eS5cIik7XG4gICAgfVxuICAgIHJldHVybiBjb21iaW5lZDtcbn07XG5leHBvcnQgeyB6b2RUb0pzb25TY2hlbWEgfTtcbiIsICJleHBvcnQgKiBmcm9tIFwiLi9PcHRpb25zLmpzXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9SZWZzLmpzXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9lcnJvck1lc3NhZ2VzLmpzXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9nZXRSZWxhdGl2ZVBhdGguanNcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3BhcnNlRGVmLmpzXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9wYXJzZVR5cGVzLmpzXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9wYXJzZXJzL2FueS5qc1wiO1xuZXhwb3J0ICogZnJvbSBcIi4vcGFyc2Vycy9hcnJheS5qc1wiO1xuZXhwb3J0ICogZnJvbSBcIi4vcGFyc2Vycy9iaWdpbnQuanNcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3BhcnNlcnMvYm9vbGVhbi5qc1wiO1xuZXhwb3J0ICogZnJvbSBcIi4vcGFyc2Vycy9icmFuZGVkLmpzXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9wYXJzZXJzL2NhdGNoLmpzXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9wYXJzZXJzL2RhdGUuanNcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3BhcnNlcnMvZGVmYXVsdC5qc1wiO1xuZXhwb3J0ICogZnJvbSBcIi4vcGFyc2Vycy9lZmZlY3RzLmpzXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9wYXJzZXJzL2VudW0uanNcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3BhcnNlcnMvaW50ZXJzZWN0aW9uLmpzXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9wYXJzZXJzL2xpdGVyYWwuanNcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3BhcnNlcnMvbWFwLmpzXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9wYXJzZXJzL25hdGl2ZUVudW0uanNcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3BhcnNlcnMvbmV2ZXIuanNcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3BhcnNlcnMvbnVsbC5qc1wiO1xuZXhwb3J0ICogZnJvbSBcIi4vcGFyc2Vycy9udWxsYWJsZS5qc1wiO1xuZXhwb3J0ICogZnJvbSBcIi4vcGFyc2Vycy9udW1iZXIuanNcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3BhcnNlcnMvb2JqZWN0LmpzXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9wYXJzZXJzL29wdGlvbmFsLmpzXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9wYXJzZXJzL3BpcGVsaW5lLmpzXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9wYXJzZXJzL3Byb21pc2UuanNcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3BhcnNlcnMvcmVhZG9ubHkuanNcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3BhcnNlcnMvcmVjb3JkLmpzXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9wYXJzZXJzL3NldC5qc1wiO1xuZXhwb3J0ICogZnJvbSBcIi4vcGFyc2Vycy9zdHJpbmcuanNcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3BhcnNlcnMvdHVwbGUuanNcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3BhcnNlcnMvdW5kZWZpbmVkLmpzXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9wYXJzZXJzL3VuaW9uLmpzXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9wYXJzZXJzL3Vua25vd24uanNcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3NlbGVjdFBhcnNlci5qc1wiO1xuZXhwb3J0ICogZnJvbSBcIi4vem9kVG9Kc29uU2NoZW1hLmpzXCI7XG5pbXBvcnQgeyB6b2RUb0pzb25TY2hlbWEgfSBmcm9tIFwiLi96b2RUb0pzb25TY2hlbWEuanNcIjtcbmV4cG9ydCBkZWZhdWx0IHpvZFRvSnNvblNjaGVtYTtcbiIsICJjb25zdCBBTlNJX0JBQ0tHUk9VTkRfT0ZGU0VUID0gMTA7XG5cbmNvbnN0IHdyYXBBbnNpMTYgPSAob2Zmc2V0ID0gMCkgPT4gY29kZSA9PiBgXFx1MDAxQlske2NvZGUgKyBvZmZzZXR9bWA7XG5cbmNvbnN0IHdyYXBBbnNpMjU2ID0gKG9mZnNldCA9IDApID0+IGNvZGUgPT4gYFxcdTAwMUJbJHszOCArIG9mZnNldH07NTske2NvZGV9bWA7XG5cbmNvbnN0IHdyYXBBbnNpMTZtID0gKG9mZnNldCA9IDApID0+IChyZWQsIGdyZWVuLCBibHVlKSA9PiBgXFx1MDAxQlskezM4ICsgb2Zmc2V0fTsyOyR7cmVkfTske2dyZWVufTske2JsdWV9bWA7XG5cbmNvbnN0IHN0eWxlcyA9IHtcblx0bW9kaWZpZXI6IHtcblx0XHRyZXNldDogWzAsIDBdLFxuXHRcdC8vIDIxIGlzbid0IHdpZGVseSBzdXBwb3J0ZWQgYW5kIDIyIGRvZXMgdGhlIHNhbWUgdGhpbmdcblx0XHRib2xkOiBbMSwgMjJdLFxuXHRcdGRpbTogWzIsIDIyXSxcblx0XHRpdGFsaWM6IFszLCAyM10sXG5cdFx0dW5kZXJsaW5lOiBbNCwgMjRdLFxuXHRcdG92ZXJsaW5lOiBbNTMsIDU1XSxcblx0XHRpbnZlcnNlOiBbNywgMjddLFxuXHRcdGhpZGRlbjogWzgsIDI4XSxcblx0XHRzdHJpa2V0aHJvdWdoOiBbOSwgMjldLFxuXHR9LFxuXHRjb2xvcjoge1xuXHRcdGJsYWNrOiBbMzAsIDM5XSxcblx0XHRyZWQ6IFszMSwgMzldLFxuXHRcdGdyZWVuOiBbMzIsIDM5XSxcblx0XHR5ZWxsb3c6IFszMywgMzldLFxuXHRcdGJsdWU6IFszNCwgMzldLFxuXHRcdG1hZ2VudGE6IFszNSwgMzldLFxuXHRcdGN5YW46IFszNiwgMzldLFxuXHRcdHdoaXRlOiBbMzcsIDM5XSxcblxuXHRcdC8vIEJyaWdodCBjb2xvclxuXHRcdGJsYWNrQnJpZ2h0OiBbOTAsIDM5XSxcblx0XHRncmF5OiBbOTAsIDM5XSwgLy8gQWxpYXMgb2YgYGJsYWNrQnJpZ2h0YFxuXHRcdGdyZXk6IFs5MCwgMzldLCAvLyBBbGlhcyBvZiBgYmxhY2tCcmlnaHRgXG5cdFx0cmVkQnJpZ2h0OiBbOTEsIDM5XSxcblx0XHRncmVlbkJyaWdodDogWzkyLCAzOV0sXG5cdFx0eWVsbG93QnJpZ2h0OiBbOTMsIDM5XSxcblx0XHRibHVlQnJpZ2h0OiBbOTQsIDM5XSxcblx0XHRtYWdlbnRhQnJpZ2h0OiBbOTUsIDM5XSxcblx0XHRjeWFuQnJpZ2h0OiBbOTYsIDM5XSxcblx0XHR3aGl0ZUJyaWdodDogWzk3LCAzOV0sXG5cdH0sXG5cdGJnQ29sb3I6IHtcblx0XHRiZ0JsYWNrOiBbNDAsIDQ5XSxcblx0XHRiZ1JlZDogWzQxLCA0OV0sXG5cdFx0YmdHcmVlbjogWzQyLCA0OV0sXG5cdFx0YmdZZWxsb3c6IFs0MywgNDldLFxuXHRcdGJnQmx1ZTogWzQ0LCA0OV0sXG5cdFx0YmdNYWdlbnRhOiBbNDUsIDQ5XSxcblx0XHRiZ0N5YW46IFs0NiwgNDldLFxuXHRcdGJnV2hpdGU6IFs0NywgNDldLFxuXG5cdFx0Ly8gQnJpZ2h0IGNvbG9yXG5cdFx0YmdCbGFja0JyaWdodDogWzEwMCwgNDldLFxuXHRcdGJnR3JheTogWzEwMCwgNDldLCAvLyBBbGlhcyBvZiBgYmdCbGFja0JyaWdodGBcblx0XHRiZ0dyZXk6IFsxMDAsIDQ5XSwgLy8gQWxpYXMgb2YgYGJnQmxhY2tCcmlnaHRgXG5cdFx0YmdSZWRCcmlnaHQ6IFsxMDEsIDQ5XSxcblx0XHRiZ0dyZWVuQnJpZ2h0OiBbMTAyLCA0OV0sXG5cdFx0YmdZZWxsb3dCcmlnaHQ6IFsxMDMsIDQ5XSxcblx0XHRiZ0JsdWVCcmlnaHQ6IFsxMDQsIDQ5XSxcblx0XHRiZ01hZ2VudGFCcmlnaHQ6IFsxMDUsIDQ5XSxcblx0XHRiZ0N5YW5CcmlnaHQ6IFsxMDYsIDQ5XSxcblx0XHRiZ1doaXRlQnJpZ2h0OiBbMTA3LCA0OV0sXG5cdH0sXG59O1xuXG5leHBvcnQgY29uc3QgbW9kaWZpZXJOYW1lcyA9IE9iamVjdC5rZXlzKHN0eWxlcy5tb2RpZmllcik7XG5leHBvcnQgY29uc3QgZm9yZWdyb3VuZENvbG9yTmFtZXMgPSBPYmplY3Qua2V5cyhzdHlsZXMuY29sb3IpO1xuZXhwb3J0IGNvbnN0IGJhY2tncm91bmRDb2xvck5hbWVzID0gT2JqZWN0LmtleXMoc3R5bGVzLmJnQ29sb3IpO1xuZXhwb3J0IGNvbnN0IGNvbG9yTmFtZXMgPSBbLi4uZm9yZWdyb3VuZENvbG9yTmFtZXMsIC4uLmJhY2tncm91bmRDb2xvck5hbWVzXTtcblxuZnVuY3Rpb24gYXNzZW1ibGVTdHlsZXMoKSB7XG5cdGNvbnN0IGNvZGVzID0gbmV3IE1hcCgpO1xuXG5cdGZvciAoY29uc3QgW2dyb3VwTmFtZSwgZ3JvdXBdIG9mIE9iamVjdC5lbnRyaWVzKHN0eWxlcykpIHtcblx0XHRmb3IgKGNvbnN0IFtzdHlsZU5hbWUsIHN0eWxlXSBvZiBPYmplY3QuZW50cmllcyhncm91cCkpIHtcblx0XHRcdHN0eWxlc1tzdHlsZU5hbWVdID0ge1xuXHRcdFx0XHRvcGVuOiBgXFx1MDAxQlske3N0eWxlWzBdfW1gLFxuXHRcdFx0XHRjbG9zZTogYFxcdTAwMUJbJHtzdHlsZVsxXX1tYCxcblx0XHRcdH07XG5cblx0XHRcdGdyb3VwW3N0eWxlTmFtZV0gPSBzdHlsZXNbc3R5bGVOYW1lXTtcblxuXHRcdFx0Y29kZXMuc2V0KHN0eWxlWzBdLCBzdHlsZVsxXSk7XG5cdFx0fVxuXG5cdFx0T2JqZWN0LmRlZmluZVByb3BlcnR5KHN0eWxlcywgZ3JvdXBOYW1lLCB7XG5cdFx0XHR2YWx1ZTogZ3JvdXAsXG5cdFx0XHRlbnVtZXJhYmxlOiBmYWxzZSxcblx0XHR9KTtcblx0fVxuXG5cdE9iamVjdC5kZWZpbmVQcm9wZXJ0eShzdHlsZXMsICdjb2RlcycsIHtcblx0XHR2YWx1ZTogY29kZXMsXG5cdFx0ZW51bWVyYWJsZTogZmFsc2UsXG5cdH0pO1xuXG5cdHN0eWxlcy5jb2xvci5jbG9zZSA9ICdcXHUwMDFCWzM5bSc7XG5cdHN0eWxlcy5iZ0NvbG9yLmNsb3NlID0gJ1xcdTAwMUJbNDltJztcblxuXHRzdHlsZXMuY29sb3IuYW5zaSA9IHdyYXBBbnNpMTYoKTtcblx0c3R5bGVzLmNvbG9yLmFuc2kyNTYgPSB3cmFwQW5zaTI1NigpO1xuXHRzdHlsZXMuY29sb3IuYW5zaTE2bSA9IHdyYXBBbnNpMTZtKCk7XG5cdHN0eWxlcy5iZ0NvbG9yLmFuc2kgPSB3cmFwQW5zaTE2KEFOU0lfQkFDS0dST1VORF9PRkZTRVQpO1xuXHRzdHlsZXMuYmdDb2xvci5hbnNpMjU2ID0gd3JhcEFuc2kyNTYoQU5TSV9CQUNLR1JPVU5EX09GRlNFVCk7XG5cdHN0eWxlcy5iZ0NvbG9yLmFuc2kxNm0gPSB3cmFwQW5zaTE2bShBTlNJX0JBQ0tHUk9VTkRfT0ZGU0VUKTtcblxuXHQvLyBGcm9tIGh0dHBzOi8vZ2l0aHViLmNvbS9RaXgtL2NvbG9yLWNvbnZlcnQvYmxvYi8zZjBlMGQ0ZTkyZTIzNTc5NmNjYjE3ZjZlODVjNzIwOTRhNjUxZjQ5L2NvbnZlcnNpb25zLmpzXG5cdE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKHN0eWxlcywge1xuXHRcdHJnYlRvQW5zaTI1Njoge1xuXHRcdFx0dmFsdWUocmVkLCBncmVlbiwgYmx1ZSkge1xuXHRcdFx0XHQvLyBXZSB1c2UgdGhlIGV4dGVuZGVkIGdyZXlzY2FsZSBwYWxldHRlIGhlcmUsIHdpdGggdGhlIGV4Y2VwdGlvbiBvZlxuXHRcdFx0XHQvLyBibGFjayBhbmQgd2hpdGUuIG5vcm1hbCBwYWxldHRlIG9ubHkgaGFzIDQgZ3JleXNjYWxlIHNoYWRlcy5cblx0XHRcdFx0aWYgKHJlZCA9PT0gZ3JlZW4gJiYgZ3JlZW4gPT09IGJsdWUpIHtcblx0XHRcdFx0XHRpZiAocmVkIDwgOCkge1xuXHRcdFx0XHRcdFx0cmV0dXJuIDE2O1xuXHRcdFx0XHRcdH1cblxuXHRcdFx0XHRcdGlmIChyZWQgPiAyNDgpIHtcblx0XHRcdFx0XHRcdHJldHVybiAyMzE7XG5cdFx0XHRcdFx0fVxuXG5cdFx0XHRcdFx0cmV0dXJuIE1hdGgucm91bmQoKChyZWQgLSA4KSAvIDI0NykgKiAyNCkgKyAyMzI7XG5cdFx0XHRcdH1cblxuXHRcdFx0XHRyZXR1cm4gMTZcblx0XHRcdFx0XHQrICgzNiAqIE1hdGgucm91bmQocmVkIC8gMjU1ICogNSkpXG5cdFx0XHRcdFx0KyAoNiAqIE1hdGgucm91bmQoZ3JlZW4gLyAyNTUgKiA1KSlcblx0XHRcdFx0XHQrIE1hdGgucm91bmQoYmx1ZSAvIDI1NSAqIDUpO1xuXHRcdFx0fSxcblx0XHRcdGVudW1lcmFibGU6IGZhbHNlLFxuXHRcdH0sXG5cdFx0aGV4VG9SZ2I6IHtcblx0XHRcdHZhbHVlKGhleCkge1xuXHRcdFx0XHRjb25zdCBtYXRjaGVzID0gL1thLWZcXGRdezZ9fFthLWZcXGRdezN9L2kuZXhlYyhoZXgudG9TdHJpbmcoMTYpKTtcblx0XHRcdFx0aWYgKCFtYXRjaGVzKSB7XG5cdFx0XHRcdFx0cmV0dXJuIFswLCAwLCAwXTtcblx0XHRcdFx0fVxuXG5cdFx0XHRcdGxldCBbY29sb3JTdHJpbmddID0gbWF0Y2hlcztcblxuXHRcdFx0XHRpZiAoY29sb3JTdHJpbmcubGVuZ3RoID09PSAzKSB7XG5cdFx0XHRcdFx0Y29sb3JTdHJpbmcgPSBbLi4uY29sb3JTdHJpbmddLm1hcChjaGFyYWN0ZXIgPT4gY2hhcmFjdGVyICsgY2hhcmFjdGVyKS5qb2luKCcnKTtcblx0XHRcdFx0fVxuXG5cdFx0XHRcdGNvbnN0IGludGVnZXIgPSBOdW1iZXIucGFyc2VJbnQoY29sb3JTdHJpbmcsIDE2KTtcblxuXHRcdFx0XHRyZXR1cm4gW1xuXHRcdFx0XHRcdC8qIGVzbGludC1kaXNhYmxlIG5vLWJpdHdpc2UgKi9cblx0XHRcdFx0XHQoaW50ZWdlciA+PiAxNikgJiAweEZGLFxuXHRcdFx0XHRcdChpbnRlZ2VyID4+IDgpICYgMHhGRixcblx0XHRcdFx0XHRpbnRlZ2VyICYgMHhGRixcblx0XHRcdFx0XHQvKiBlc2xpbnQtZW5hYmxlIG5vLWJpdHdpc2UgKi9cblx0XHRcdFx0XTtcblx0XHRcdH0sXG5cdFx0XHRlbnVtZXJhYmxlOiBmYWxzZSxcblx0XHR9LFxuXHRcdGhleFRvQW5zaTI1Njoge1xuXHRcdFx0dmFsdWU6IGhleCA9PiBzdHlsZXMucmdiVG9BbnNpMjU2KC4uLnN0eWxlcy5oZXhUb1JnYihoZXgpKSxcblx0XHRcdGVudW1lcmFibGU6IGZhbHNlLFxuXHRcdH0sXG5cdFx0YW5zaTI1NlRvQW5zaToge1xuXHRcdFx0dmFsdWUoY29kZSkge1xuXHRcdFx0XHRpZiAoY29kZSA8IDgpIHtcblx0XHRcdFx0XHRyZXR1cm4gMzAgKyBjb2RlO1xuXHRcdFx0XHR9XG5cblx0XHRcdFx0aWYgKGNvZGUgPCAxNikge1xuXHRcdFx0XHRcdHJldHVybiA5MCArIChjb2RlIC0gOCk7XG5cdFx0XHRcdH1cblxuXHRcdFx0XHRsZXQgcmVkO1xuXHRcdFx0XHRsZXQgZ3JlZW47XG5cdFx0XHRcdGxldCBibHVlO1xuXG5cdFx0XHRcdGlmIChjb2RlID49IDIzMikge1xuXHRcdFx0XHRcdHJlZCA9ICgoKGNvZGUgLSAyMzIpICogMTApICsgOCkgLyAyNTU7XG5cdFx0XHRcdFx0Z3JlZW4gPSByZWQ7XG5cdFx0XHRcdFx0Ymx1ZSA9IHJlZDtcblx0XHRcdFx0fSBlbHNlIHtcblx0XHRcdFx0XHRjb2RlIC09IDE2O1xuXG5cdFx0XHRcdFx0Y29uc3QgcmVtYWluZGVyID0gY29kZSAlIDM2O1xuXG5cdFx0XHRcdFx0cmVkID0gTWF0aC5mbG9vcihjb2RlIC8gMzYpIC8gNTtcblx0XHRcdFx0XHRncmVlbiA9IE1hdGguZmxvb3IocmVtYWluZGVyIC8gNikgLyA1O1xuXHRcdFx0XHRcdGJsdWUgPSAocmVtYWluZGVyICUgNikgLyA1O1xuXHRcdFx0XHR9XG5cblx0XHRcdFx0Y29uc3QgdmFsdWUgPSBNYXRoLm1heChyZWQsIGdyZWVuLCBibHVlKSAqIDI7XG5cblx0XHRcdFx0aWYgKHZhbHVlID09PSAwKSB7XG5cdFx0XHRcdFx0cmV0dXJuIDMwO1xuXHRcdFx0XHR9XG5cblx0XHRcdFx0Ly8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLWJpdHdpc2Vcblx0XHRcdFx0bGV0IHJlc3VsdCA9IDMwICsgKChNYXRoLnJvdW5kKGJsdWUpIDw8IDIpIHwgKE1hdGgucm91bmQoZ3JlZW4pIDw8IDEpIHwgTWF0aC5yb3VuZChyZWQpKTtcblxuXHRcdFx0XHRpZiAodmFsdWUgPT09IDIpIHtcblx0XHRcdFx0XHRyZXN1bHQgKz0gNjA7XG5cdFx0XHRcdH1cblxuXHRcdFx0XHRyZXR1cm4gcmVzdWx0O1xuXHRcdFx0fSxcblx0XHRcdGVudW1lcmFibGU6IGZhbHNlLFxuXHRcdH0sXG5cdFx0cmdiVG9BbnNpOiB7XG5cdFx0XHR2YWx1ZTogKHJlZCwgZ3JlZW4sIGJsdWUpID0+IHN0eWxlcy5hbnNpMjU2VG9BbnNpKHN0eWxlcy5yZ2JUb0Fuc2kyNTYocmVkLCBncmVlbiwgYmx1ZSkpLFxuXHRcdFx0ZW51bWVyYWJsZTogZmFsc2UsXG5cdFx0fSxcblx0XHRoZXhUb0Fuc2k6IHtcblx0XHRcdHZhbHVlOiBoZXggPT4gc3R5bGVzLmFuc2kyNTZUb0Fuc2koc3R5bGVzLmhleFRvQW5zaTI1NihoZXgpKSxcblx0XHRcdGVudW1lcmFibGU6IGZhbHNlLFxuXHRcdH0sXG5cdH0pO1xuXG5cdHJldHVybiBzdHlsZXM7XG59XG5cbmNvbnN0IGFuc2lTdHlsZXMgPSBhc3NlbWJsZVN0eWxlcygpO1xuXG5leHBvcnQgZGVmYXVsdCBhbnNpU3R5bGVzO1xuIiwgImltcG9ydCBwcm9jZXNzIGZyb20gJ25vZGU6cHJvY2Vzcyc7XG5pbXBvcnQgb3MgZnJvbSAnbm9kZTpvcyc7XG5pbXBvcnQgdHR5IGZyb20gJ25vZGU6dHR5JztcblxuLy8gRnJvbTogaHR0cHM6Ly9naXRodWIuY29tL3NpbmRyZXNvcmh1cy9oYXMtZmxhZy9ibG9iL21haW4vaW5kZXguanNcbi8vLyBmdW5jdGlvbiBoYXNGbGFnKGZsYWcsIGFyZ3YgPSBnbG9iYWxUaGlzLkRlbm8/LmFyZ3MgPz8gcHJvY2Vzcy5hcmd2KSB7XG5mdW5jdGlvbiBoYXNGbGFnKGZsYWcsIGFyZ3YgPSBnbG9iYWxUaGlzLkRlbm8gPyBnbG9iYWxUaGlzLkRlbm8uYXJncyA6IHByb2Nlc3MuYXJndikge1xuXHRjb25zdCBwcmVmaXggPSBmbGFnLnN0YXJ0c1dpdGgoJy0nKSA/ICcnIDogKGZsYWcubGVuZ3RoID09PSAxID8gJy0nIDogJy0tJyk7XG5cdGNvbnN0IHBvc2l0aW9uID0gYXJndi5pbmRleE9mKHByZWZpeCArIGZsYWcpO1xuXHRjb25zdCB0ZXJtaW5hdG9yUG9zaXRpb24gPSBhcmd2LmluZGV4T2YoJy0tJyk7XG5cdHJldHVybiBwb3NpdGlvbiAhPT0gLTEgJiYgKHRlcm1pbmF0b3JQb3NpdGlvbiA9PT0gLTEgfHwgcG9zaXRpb24gPCB0ZXJtaW5hdG9yUG9zaXRpb24pO1xufVxuXG5jb25zdCB7ZW52fSA9IHByb2Nlc3M7XG5cbmxldCBmbGFnRm9yY2VDb2xvcjtcbmlmIChcblx0aGFzRmxhZygnbm8tY29sb3InKVxuXHR8fCBoYXNGbGFnKCduby1jb2xvcnMnKVxuXHR8fCBoYXNGbGFnKCdjb2xvcj1mYWxzZScpXG5cdHx8IGhhc0ZsYWcoJ2NvbG9yPW5ldmVyJylcbikge1xuXHRmbGFnRm9yY2VDb2xvciA9IDA7XG59IGVsc2UgaWYgKFxuXHRoYXNGbGFnKCdjb2xvcicpXG5cdHx8IGhhc0ZsYWcoJ2NvbG9ycycpXG5cdHx8IGhhc0ZsYWcoJ2NvbG9yPXRydWUnKVxuXHR8fCBoYXNGbGFnKCdjb2xvcj1hbHdheXMnKVxuKSB7XG5cdGZsYWdGb3JjZUNvbG9yID0gMTtcbn1cblxuZnVuY3Rpb24gZW52Rm9yY2VDb2xvcigpIHtcblx0aWYgKCdGT1JDRV9DT0xPUicgaW4gZW52KSB7XG5cdFx0aWYgKGVudi5GT1JDRV9DT0xPUiA9PT0gJ3RydWUnKSB7XG5cdFx0XHRyZXR1cm4gMTtcblx0XHR9XG5cblx0XHRpZiAoZW52LkZPUkNFX0NPTE9SID09PSAnZmFsc2UnKSB7XG5cdFx0XHRyZXR1cm4gMDtcblx0XHR9XG5cblx0XHRyZXR1cm4gZW52LkZPUkNFX0NPTE9SLmxlbmd0aCA9PT0gMCA/IDEgOiBNYXRoLm1pbihOdW1iZXIucGFyc2VJbnQoZW52LkZPUkNFX0NPTE9SLCAxMCksIDMpO1xuXHR9XG59XG5cbmZ1bmN0aW9uIHRyYW5zbGF0ZUxldmVsKGxldmVsKSB7XG5cdGlmIChsZXZlbCA9PT0gMCkge1xuXHRcdHJldHVybiBmYWxzZTtcblx0fVxuXG5cdHJldHVybiB7XG5cdFx0bGV2ZWwsXG5cdFx0aGFzQmFzaWM6IHRydWUsXG5cdFx0aGFzMjU2OiBsZXZlbCA+PSAyLFxuXHRcdGhhczE2bTogbGV2ZWwgPj0gMyxcblx0fTtcbn1cblxuZnVuY3Rpb24gX3N1cHBvcnRzQ29sb3IoaGF2ZVN0cmVhbSwge3N0cmVhbUlzVFRZLCBzbmlmZkZsYWdzID0gdHJ1ZX0gPSB7fSkge1xuXHRjb25zdCBub0ZsYWdGb3JjZUNvbG9yID0gZW52Rm9yY2VDb2xvcigpO1xuXHRpZiAobm9GbGFnRm9yY2VDb2xvciAhPT0gdW5kZWZpbmVkKSB7XG5cdFx0ZmxhZ0ZvcmNlQ29sb3IgPSBub0ZsYWdGb3JjZUNvbG9yO1xuXHR9XG5cblx0Y29uc3QgZm9yY2VDb2xvciA9IHNuaWZmRmxhZ3MgPyBmbGFnRm9yY2VDb2xvciA6IG5vRmxhZ0ZvcmNlQ29sb3I7XG5cblx0aWYgKGZvcmNlQ29sb3IgPT09IDApIHtcblx0XHRyZXR1cm4gMDtcblx0fVxuXG5cdGlmIChzbmlmZkZsYWdzKSB7XG5cdFx0aWYgKGhhc0ZsYWcoJ2NvbG9yPTE2bScpXG5cdFx0XHR8fCBoYXNGbGFnKCdjb2xvcj1mdWxsJylcblx0XHRcdHx8IGhhc0ZsYWcoJ2NvbG9yPXRydWVjb2xvcicpKSB7XG5cdFx0XHRyZXR1cm4gMztcblx0XHR9XG5cblx0XHRpZiAoaGFzRmxhZygnY29sb3I9MjU2JykpIHtcblx0XHRcdHJldHVybiAyO1xuXHRcdH1cblx0fVxuXG5cdC8vIENoZWNrIGZvciBBenVyZSBEZXZPcHMgcGlwZWxpbmVzLlxuXHQvLyBIYXMgdG8gYmUgYWJvdmUgdGhlIGAhc3RyZWFtSXNUVFlgIGNoZWNrLlxuXHRpZiAoJ1RGX0JVSUxEJyBpbiBlbnYgJiYgJ0FHRU5UX05BTUUnIGluIGVudikge1xuXHRcdHJldHVybiAxO1xuXHR9XG5cblx0aWYgKGhhdmVTdHJlYW0gJiYgIXN0cmVhbUlzVFRZICYmIGZvcmNlQ29sb3IgPT09IHVuZGVmaW5lZCkge1xuXHRcdHJldHVybiAwO1xuXHR9XG5cblx0Y29uc3QgbWluID0gZm9yY2VDb2xvciB8fCAwO1xuXG5cdGlmIChlbnYuVEVSTSA9PT0gJ2R1bWInKSB7XG5cdFx0cmV0dXJuIG1pbjtcblx0fVxuXG5cdGlmIChwcm9jZXNzLnBsYXRmb3JtID09PSAnd2luMzInKSB7XG5cdFx0Ly8gV2luZG93cyAxMCBidWlsZCAxMDU4NiBpcyB0aGUgZmlyc3QgV2luZG93cyByZWxlYXNlIHRoYXQgc3VwcG9ydHMgMjU2IGNvbG9ycy5cblx0XHQvLyBXaW5kb3dzIDEwIGJ1aWxkIDE0OTMxIGlzIHRoZSBmaXJzdCByZWxlYXNlIHRoYXQgc3VwcG9ydHMgMTZtL1RydWVDb2xvci5cblx0XHRjb25zdCBvc1JlbGVhc2UgPSBvcy5yZWxlYXNlKCkuc3BsaXQoJy4nKTtcblx0XHRpZiAoXG5cdFx0XHROdW1iZXIob3NSZWxlYXNlWzBdKSA+PSAxMFxuXHRcdFx0JiYgTnVtYmVyKG9zUmVsZWFzZVsyXSkgPj0gMTBfNTg2XG5cdFx0KSB7XG5cdFx0XHRyZXR1cm4gTnVtYmVyKG9zUmVsZWFzZVsyXSkgPj0gMTRfOTMxID8gMyA6IDI7XG5cdFx0fVxuXG5cdFx0cmV0dXJuIDE7XG5cdH1cblxuXHRpZiAoJ0NJJyBpbiBlbnYpIHtcblx0XHRpZiAoWydHSVRIVUJfQUNUSU9OUycsICdHSVRFQV9BQ1RJT05TJywgJ0NJUkNMRUNJJ10uc29tZShrZXkgPT4ga2V5IGluIGVudikpIHtcblx0XHRcdHJldHVybiAzO1xuXHRcdH1cblxuXHRcdGlmIChbJ1RSQVZJUycsICdBUFBWRVlPUicsICdHSVRMQUJfQ0knLCAnQlVJTERLSVRFJywgJ0RST05FJ10uc29tZShzaWduID0+IHNpZ24gaW4gZW52KSB8fCBlbnYuQ0lfTkFNRSA9PT0gJ2NvZGVzaGlwJykge1xuXHRcdFx0cmV0dXJuIDE7XG5cdFx0fVxuXG5cdFx0cmV0dXJuIG1pbjtcblx0fVxuXG5cdGlmICgnVEVBTUNJVFlfVkVSU0lPTicgaW4gZW52KSB7XG5cdFx0cmV0dXJuIC9eKDlcXC4oMCpbMS05XVxcZCopXFwufFxcZHsyLH1cXC4pLy50ZXN0KGVudi5URUFNQ0lUWV9WRVJTSU9OKSA/IDEgOiAwO1xuXHR9XG5cblx0aWYgKGVudi5DT0xPUlRFUk0gPT09ICd0cnVlY29sb3InKSB7XG5cdFx0cmV0dXJuIDM7XG5cdH1cblxuXHRpZiAoZW52LlRFUk0gPT09ICd4dGVybS1raXR0eScpIHtcblx0XHRyZXR1cm4gMztcblx0fVxuXG5cdGlmIChlbnYuVEVSTSA9PT0gJ3h0ZXJtLWdob3N0dHknKSB7XG5cdFx0cmV0dXJuIDM7XG5cdH1cblxuXHRpZiAoZW52LlRFUk0gPT09ICd3ZXp0ZXJtJykge1xuXHRcdHJldHVybiAzO1xuXHR9XG5cblx0aWYgKCdURVJNX1BST0dSQU0nIGluIGVudikge1xuXHRcdGNvbnN0IHZlcnNpb24gPSBOdW1iZXIucGFyc2VJbnQoKGVudi5URVJNX1BST0dSQU1fVkVSU0lPTiB8fCAnJykuc3BsaXQoJy4nKVswXSwgMTApO1xuXG5cdFx0c3dpdGNoIChlbnYuVEVSTV9QUk9HUkFNKSB7XG5cdFx0XHRjYXNlICdpVGVybS5hcHAnOiB7XG5cdFx0XHRcdHJldHVybiB2ZXJzaW9uID49IDMgPyAzIDogMjtcblx0XHRcdH1cblxuXHRcdFx0Y2FzZSAnQXBwbGVfVGVybWluYWwnOiB7XG5cdFx0XHRcdHJldHVybiAyO1xuXHRcdFx0fVxuXHRcdFx0Ly8gTm8gZGVmYXVsdFxuXHRcdH1cblx0fVxuXG5cdGlmICgvLTI1Nihjb2xvcik/JC9pLnRlc3QoZW52LlRFUk0pKSB7XG5cdFx0cmV0dXJuIDI7XG5cdH1cblxuXHRpZiAoL15zY3JlZW58Xnh0ZXJtfF52dDEwMHxednQyMjB8XnJ4dnR8Y29sb3J8YW5zaXxjeWd3aW58bGludXgvaS50ZXN0KGVudi5URVJNKSkge1xuXHRcdHJldHVybiAxO1xuXHR9XG5cblx0aWYgKCdDT0xPUlRFUk0nIGluIGVudikge1xuXHRcdHJldHVybiAxO1xuXHR9XG5cblx0cmV0dXJuIG1pbjtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZVN1cHBvcnRzQ29sb3Ioc3RyZWFtLCBvcHRpb25zID0ge30pIHtcblx0Y29uc3QgbGV2ZWwgPSBfc3VwcG9ydHNDb2xvcihzdHJlYW0sIHtcblx0XHRzdHJlYW1Jc1RUWTogc3RyZWFtICYmIHN0cmVhbS5pc1RUWSxcblx0XHQuLi5vcHRpb25zLFxuXHR9KTtcblxuXHRyZXR1cm4gdHJhbnNsYXRlTGV2ZWwobGV2ZWwpO1xufVxuXG5jb25zdCBzdXBwb3J0c0NvbG9yID0ge1xuXHRzdGRvdXQ6IGNyZWF0ZVN1cHBvcnRzQ29sb3Ioe2lzVFRZOiB0dHkuaXNhdHR5KDEpfSksXG5cdHN0ZGVycjogY3JlYXRlU3VwcG9ydHNDb2xvcih7aXNUVFk6IHR0eS5pc2F0dHkoMil9KSxcbn07XG5cbmV4cG9ydCBkZWZhdWx0IHN1cHBvcnRzQ29sb3I7XG4iLCAiLy8gVE9ETzogV2hlbiB0YXJnZXRpbmcgTm9kZS5qcyAxNiwgdXNlIGBTdHJpbmcucHJvdG90eXBlLnJlcGxhY2VBbGxgLlxuZXhwb3J0IGZ1bmN0aW9uIHN0cmluZ1JlcGxhY2VBbGwoc3RyaW5nLCBzdWJzdHJpbmcsIHJlcGxhY2VyKSB7XG5cdGxldCBpbmRleCA9IHN0cmluZy5pbmRleE9mKHN1YnN0cmluZyk7XG5cdGlmIChpbmRleCA9PT0gLTEpIHtcblx0XHRyZXR1cm4gc3RyaW5nO1xuXHR9XG5cblx0Y29uc3Qgc3Vic3RyaW5nTGVuZ3RoID0gc3Vic3RyaW5nLmxlbmd0aDtcblx0bGV0IGVuZEluZGV4ID0gMDtcblx0bGV0IHJldHVyblZhbHVlID0gJyc7XG5cdGRvIHtcblx0XHRyZXR1cm5WYWx1ZSArPSBzdHJpbmcuc2xpY2UoZW5kSW5kZXgsIGluZGV4KSArIHN1YnN0cmluZyArIHJlcGxhY2VyO1xuXHRcdGVuZEluZGV4ID0gaW5kZXggKyBzdWJzdHJpbmdMZW5ndGg7XG5cdFx0aW5kZXggPSBzdHJpbmcuaW5kZXhPZihzdWJzdHJpbmcsIGVuZEluZGV4KTtcblx0fSB3aGlsZSAoaW5kZXggIT09IC0xKTtcblxuXHRyZXR1cm5WYWx1ZSArPSBzdHJpbmcuc2xpY2UoZW5kSW5kZXgpO1xuXHRyZXR1cm4gcmV0dXJuVmFsdWU7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBzdHJpbmdFbmNhc2VDUkxGV2l0aEZpcnN0SW5kZXgoc3RyaW5nLCBwcmVmaXgsIHBvc3RmaXgsIGluZGV4KSB7XG5cdGxldCBlbmRJbmRleCA9IDA7XG5cdGxldCByZXR1cm5WYWx1ZSA9ICcnO1xuXHRkbyB7XG5cdFx0Y29uc3QgZ290Q1IgPSBzdHJpbmdbaW5kZXggLSAxXSA9PT0gJ1xccic7XG5cdFx0cmV0dXJuVmFsdWUgKz0gc3RyaW5nLnNsaWNlKGVuZEluZGV4LCAoZ290Q1IgPyBpbmRleCAtIDEgOiBpbmRleCkpICsgcHJlZml4ICsgKGdvdENSID8gJ1xcclxcbicgOiAnXFxuJykgKyBwb3N0Zml4O1xuXHRcdGVuZEluZGV4ID0gaW5kZXggKyAxO1xuXHRcdGluZGV4ID0gc3RyaW5nLmluZGV4T2YoJ1xcbicsIGVuZEluZGV4KTtcblx0fSB3aGlsZSAoaW5kZXggIT09IC0xKTtcblxuXHRyZXR1cm5WYWx1ZSArPSBzdHJpbmcuc2xpY2UoZW5kSW5kZXgpO1xuXHRyZXR1cm4gcmV0dXJuVmFsdWU7XG59XG4iLCAiaW1wb3J0IGFuc2lTdHlsZXMgZnJvbSAnI2Fuc2ktc3R5bGVzJztcbmltcG9ydCBzdXBwb3J0c0NvbG9yIGZyb20gJyNzdXBwb3J0cy1jb2xvcic7XG5pbXBvcnQgeyAvLyBlc2xpbnQtZGlzYWJsZS1saW5lIGltcG9ydC9vcmRlclxuXHRzdHJpbmdSZXBsYWNlQWxsLFxuXHRzdHJpbmdFbmNhc2VDUkxGV2l0aEZpcnN0SW5kZXgsXG59IGZyb20gJy4vdXRpbGl0aWVzLmpzJztcblxuY29uc3Qge3N0ZG91dDogc3Rkb3V0Q29sb3IsIHN0ZGVycjogc3RkZXJyQ29sb3J9ID0gc3VwcG9ydHNDb2xvcjtcblxuY29uc3QgR0VORVJBVE9SID0gU3ltYm9sKCdHRU5FUkFUT1InKTtcbmNvbnN0IFNUWUxFUiA9IFN5bWJvbCgnU1RZTEVSJyk7XG5jb25zdCBJU19FTVBUWSA9IFN5bWJvbCgnSVNfRU1QVFknKTtcblxuLy8gYHN1cHBvcnRzQ29sb3IubGV2ZWxgIFx1MjE5MiBgYW5zaVN0eWxlcy5jb2xvcltuYW1lXWAgbWFwcGluZ1xuY29uc3QgbGV2ZWxNYXBwaW5nID0gW1xuXHQnYW5zaScsXG5cdCdhbnNpJyxcblx0J2Fuc2kyNTYnLFxuXHQnYW5zaTE2bScsXG5dO1xuXG5jb25zdCBzdHlsZXMgPSBPYmplY3QuY3JlYXRlKG51bGwpO1xuXG5jb25zdCBhcHBseU9wdGlvbnMgPSAob2JqZWN0LCBvcHRpb25zID0ge30pID0+IHtcblx0aWYgKG9wdGlvbnMubGV2ZWwgJiYgIShOdW1iZXIuaXNJbnRlZ2VyKG9wdGlvbnMubGV2ZWwpICYmIG9wdGlvbnMubGV2ZWwgPj0gMCAmJiBvcHRpb25zLmxldmVsIDw9IDMpKSB7XG5cdFx0dGhyb3cgbmV3IEVycm9yKCdUaGUgYGxldmVsYCBvcHRpb24gc2hvdWxkIGJlIGFuIGludGVnZXIgZnJvbSAwIHRvIDMnKTtcblx0fVxuXG5cdC8vIERldGVjdCBsZXZlbCBpZiBub3Qgc2V0IG1hbnVhbGx5XG5cdGNvbnN0IGNvbG9yTGV2ZWwgPSBzdGRvdXRDb2xvciA/IHN0ZG91dENvbG9yLmxldmVsIDogMDtcblx0b2JqZWN0LmxldmVsID0gb3B0aW9ucy5sZXZlbCA9PT0gdW5kZWZpbmVkID8gY29sb3JMZXZlbCA6IG9wdGlvbnMubGV2ZWw7XG59O1xuXG5leHBvcnQgY2xhc3MgQ2hhbGsge1xuXHRjb25zdHJ1Y3RvcihvcHRpb25zKSB7XG5cdFx0Ly8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLWNvbnN0cnVjdG9yLXJldHVyblxuXHRcdHJldHVybiBjaGFsa0ZhY3Rvcnkob3B0aW9ucyk7XG5cdH1cbn1cblxuY29uc3QgY2hhbGtGYWN0b3J5ID0gb3B0aW9ucyA9PiB7XG5cdGNvbnN0IGNoYWxrID0gKC4uLnN0cmluZ3MpID0+IHN0cmluZ3Muam9pbignICcpO1xuXHRhcHBseU9wdGlvbnMoY2hhbGssIG9wdGlvbnMpO1xuXG5cdE9iamVjdC5zZXRQcm90b3R5cGVPZihjaGFsaywgY3JlYXRlQ2hhbGsucHJvdG90eXBlKTtcblxuXHRyZXR1cm4gY2hhbGs7XG59O1xuXG5mdW5jdGlvbiBjcmVhdGVDaGFsayhvcHRpb25zKSB7XG5cdHJldHVybiBjaGFsa0ZhY3Rvcnkob3B0aW9ucyk7XG59XG5cbk9iamVjdC5zZXRQcm90b3R5cGVPZihjcmVhdGVDaGFsay5wcm90b3R5cGUsIEZ1bmN0aW9uLnByb3RvdHlwZSk7XG5cbmZvciAoY29uc3QgW3N0eWxlTmFtZSwgc3R5bGVdIG9mIE9iamVjdC5lbnRyaWVzKGFuc2lTdHlsZXMpKSB7XG5cdHN0eWxlc1tzdHlsZU5hbWVdID0ge1xuXHRcdGdldCgpIHtcblx0XHRcdGNvbnN0IGJ1aWxkZXIgPSBjcmVhdGVCdWlsZGVyKHRoaXMsIGNyZWF0ZVN0eWxlcihzdHlsZS5vcGVuLCBzdHlsZS5jbG9zZSwgdGhpc1tTVFlMRVJdKSwgdGhpc1tJU19FTVBUWV0pO1xuXHRcdFx0T2JqZWN0LmRlZmluZVByb3BlcnR5KHRoaXMsIHN0eWxlTmFtZSwge3ZhbHVlOiBidWlsZGVyfSk7XG5cdFx0XHRyZXR1cm4gYnVpbGRlcjtcblx0XHR9LFxuXHR9O1xufVxuXG5zdHlsZXMudmlzaWJsZSA9IHtcblx0Z2V0KCkge1xuXHRcdGNvbnN0IGJ1aWxkZXIgPSBjcmVhdGVCdWlsZGVyKHRoaXMsIHRoaXNbU1RZTEVSXSwgdHJ1ZSk7XG5cdFx0T2JqZWN0LmRlZmluZVByb3BlcnR5KHRoaXMsICd2aXNpYmxlJywge3ZhbHVlOiBidWlsZGVyfSk7XG5cdFx0cmV0dXJuIGJ1aWxkZXI7XG5cdH0sXG59O1xuXG5jb25zdCBnZXRNb2RlbEFuc2kgPSAobW9kZWwsIGxldmVsLCB0eXBlLCAuLi5hcmd1bWVudHNfKSA9PiB7XG5cdGlmIChtb2RlbCA9PT0gJ3JnYicpIHtcblx0XHRpZiAobGV2ZWwgPT09ICdhbnNpMTZtJykge1xuXHRcdFx0cmV0dXJuIGFuc2lTdHlsZXNbdHlwZV0uYW5zaTE2bSguLi5hcmd1bWVudHNfKTtcblx0XHR9XG5cblx0XHRpZiAobGV2ZWwgPT09ICdhbnNpMjU2Jykge1xuXHRcdFx0cmV0dXJuIGFuc2lTdHlsZXNbdHlwZV0uYW5zaTI1NihhbnNpU3R5bGVzLnJnYlRvQW5zaTI1NiguLi5hcmd1bWVudHNfKSk7XG5cdFx0fVxuXG5cdFx0cmV0dXJuIGFuc2lTdHlsZXNbdHlwZV0uYW5zaShhbnNpU3R5bGVzLnJnYlRvQW5zaSguLi5hcmd1bWVudHNfKSk7XG5cdH1cblxuXHRpZiAobW9kZWwgPT09ICdoZXgnKSB7XG5cdFx0cmV0dXJuIGdldE1vZGVsQW5zaSgncmdiJywgbGV2ZWwsIHR5cGUsIC4uLmFuc2lTdHlsZXMuaGV4VG9SZ2IoLi4uYXJndW1lbnRzXykpO1xuXHR9XG5cblx0cmV0dXJuIGFuc2lTdHlsZXNbdHlwZV1bbW9kZWxdKC4uLmFyZ3VtZW50c18pO1xufTtcblxuY29uc3QgdXNlZE1vZGVscyA9IFsncmdiJywgJ2hleCcsICdhbnNpMjU2J107XG5cbmZvciAoY29uc3QgbW9kZWwgb2YgdXNlZE1vZGVscykge1xuXHRzdHlsZXNbbW9kZWxdID0ge1xuXHRcdGdldCgpIHtcblx0XHRcdGNvbnN0IHtsZXZlbH0gPSB0aGlzO1xuXHRcdFx0cmV0dXJuIGZ1bmN0aW9uICguLi5hcmd1bWVudHNfKSB7XG5cdFx0XHRcdGNvbnN0IHN0eWxlciA9IGNyZWF0ZVN0eWxlcihnZXRNb2RlbEFuc2kobW9kZWwsIGxldmVsTWFwcGluZ1tsZXZlbF0sICdjb2xvcicsIC4uLmFyZ3VtZW50c18pLCBhbnNpU3R5bGVzLmNvbG9yLmNsb3NlLCB0aGlzW1NUWUxFUl0pO1xuXHRcdFx0XHRyZXR1cm4gY3JlYXRlQnVpbGRlcih0aGlzLCBzdHlsZXIsIHRoaXNbSVNfRU1QVFldKTtcblx0XHRcdH07XG5cdFx0fSxcblx0fTtcblxuXHRjb25zdCBiZ01vZGVsID0gJ2JnJyArIG1vZGVsWzBdLnRvVXBwZXJDYXNlKCkgKyBtb2RlbC5zbGljZSgxKTtcblx0c3R5bGVzW2JnTW9kZWxdID0ge1xuXHRcdGdldCgpIHtcblx0XHRcdGNvbnN0IHtsZXZlbH0gPSB0aGlzO1xuXHRcdFx0cmV0dXJuIGZ1bmN0aW9uICguLi5hcmd1bWVudHNfKSB7XG5cdFx0XHRcdGNvbnN0IHN0eWxlciA9IGNyZWF0ZVN0eWxlcihnZXRNb2RlbEFuc2kobW9kZWwsIGxldmVsTWFwcGluZ1tsZXZlbF0sICdiZ0NvbG9yJywgLi4uYXJndW1lbnRzXyksIGFuc2lTdHlsZXMuYmdDb2xvci5jbG9zZSwgdGhpc1tTVFlMRVJdKTtcblx0XHRcdFx0cmV0dXJuIGNyZWF0ZUJ1aWxkZXIodGhpcywgc3R5bGVyLCB0aGlzW0lTX0VNUFRZXSk7XG5cdFx0XHR9O1xuXHRcdH0sXG5cdH07XG59XG5cbmNvbnN0IHByb3RvID0gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMoKCkgPT4ge30sIHtcblx0Li4uc3R5bGVzLFxuXHRsZXZlbDoge1xuXHRcdGVudW1lcmFibGU6IHRydWUsXG5cdFx0Z2V0KCkge1xuXHRcdFx0cmV0dXJuIHRoaXNbR0VORVJBVE9SXS5sZXZlbDtcblx0XHR9LFxuXHRcdHNldChsZXZlbCkge1xuXHRcdFx0dGhpc1tHRU5FUkFUT1JdLmxldmVsID0gbGV2ZWw7XG5cdFx0fSxcblx0fSxcbn0pO1xuXG5jb25zdCBjcmVhdGVTdHlsZXIgPSAob3BlbiwgY2xvc2UsIHBhcmVudCkgPT4ge1xuXHRsZXQgb3BlbkFsbDtcblx0bGV0IGNsb3NlQWxsO1xuXHRpZiAocGFyZW50ID09PSB1bmRlZmluZWQpIHtcblx0XHRvcGVuQWxsID0gb3Blbjtcblx0XHRjbG9zZUFsbCA9IGNsb3NlO1xuXHR9IGVsc2Uge1xuXHRcdG9wZW5BbGwgPSBwYXJlbnQub3BlbkFsbCArIG9wZW47XG5cdFx0Y2xvc2VBbGwgPSBjbG9zZSArIHBhcmVudC5jbG9zZUFsbDtcblx0fVxuXG5cdHJldHVybiB7XG5cdFx0b3Blbixcblx0XHRjbG9zZSxcblx0XHRvcGVuQWxsLFxuXHRcdGNsb3NlQWxsLFxuXHRcdHBhcmVudCxcblx0fTtcbn07XG5cbmNvbnN0IGNyZWF0ZUJ1aWxkZXIgPSAoc2VsZiwgX3N0eWxlciwgX2lzRW1wdHkpID0+IHtcblx0Ly8gU2luZ2xlIGFyZ3VtZW50IGlzIGhvdCBwYXRoLCBpbXBsaWNpdCBjb2VyY2lvbiBpcyBmYXN0ZXIgdGhhbiBhbnl0aGluZ1xuXHQvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8taW1wbGljaXQtY29lcmNpb25cblx0Y29uc3QgYnVpbGRlciA9ICguLi5hcmd1bWVudHNfKSA9PiBhcHBseVN0eWxlKGJ1aWxkZXIsIChhcmd1bWVudHNfLmxlbmd0aCA9PT0gMSkgPyAoJycgKyBhcmd1bWVudHNfWzBdKSA6IGFyZ3VtZW50c18uam9pbignICcpKTtcblxuXHQvLyBXZSBhbHRlciB0aGUgcHJvdG90eXBlIGJlY2F1c2Ugd2UgbXVzdCByZXR1cm4gYSBmdW5jdGlvbiwgYnV0IHRoZXJlIGlzXG5cdC8vIG5vIHdheSB0byBjcmVhdGUgYSBmdW5jdGlvbiB3aXRoIGEgZGlmZmVyZW50IHByb3RvdHlwZVxuXHRPYmplY3Quc2V0UHJvdG90eXBlT2YoYnVpbGRlciwgcHJvdG8pO1xuXG5cdGJ1aWxkZXJbR0VORVJBVE9SXSA9IHNlbGY7XG5cdGJ1aWxkZXJbU1RZTEVSXSA9IF9zdHlsZXI7XG5cdGJ1aWxkZXJbSVNfRU1QVFldID0gX2lzRW1wdHk7XG5cblx0cmV0dXJuIGJ1aWxkZXI7XG59O1xuXG5jb25zdCBhcHBseVN0eWxlID0gKHNlbGYsIHN0cmluZykgPT4ge1xuXHRpZiAoc2VsZi5sZXZlbCA8PSAwIHx8ICFzdHJpbmcpIHtcblx0XHRyZXR1cm4gc2VsZltJU19FTVBUWV0gPyAnJyA6IHN0cmluZztcblx0fVxuXG5cdGxldCBzdHlsZXIgPSBzZWxmW1NUWUxFUl07XG5cblx0aWYgKHN0eWxlciA9PT0gdW5kZWZpbmVkKSB7XG5cdFx0cmV0dXJuIHN0cmluZztcblx0fVxuXG5cdGNvbnN0IHtvcGVuQWxsLCBjbG9zZUFsbH0gPSBzdHlsZXI7XG5cdGlmIChzdHJpbmcuaW5jbHVkZXMoJ1xcdTAwMUInKSkge1xuXHRcdHdoaWxlIChzdHlsZXIgIT09IHVuZGVmaW5lZCkge1xuXHRcdFx0Ly8gUmVwbGFjZSBhbnkgaW5zdGFuY2VzIGFscmVhZHkgcHJlc2VudCB3aXRoIGEgcmUtb3BlbmluZyBjb2RlXG5cdFx0XHQvLyBvdGhlcndpc2Ugb25seSB0aGUgcGFydCBvZiB0aGUgc3RyaW5nIHVudGlsIHNhaWQgY2xvc2luZyBjb2RlXG5cdFx0XHQvLyB3aWxsIGJlIGNvbG9yZWQsIGFuZCB0aGUgcmVzdCB3aWxsIHNpbXBseSBiZSAncGxhaW4nLlxuXHRcdFx0c3RyaW5nID0gc3RyaW5nUmVwbGFjZUFsbChzdHJpbmcsIHN0eWxlci5jbG9zZSwgc3R5bGVyLm9wZW4pO1xuXG5cdFx0XHRzdHlsZXIgPSBzdHlsZXIucGFyZW50O1xuXHRcdH1cblx0fVxuXG5cdC8vIFdlIGNhbiBtb3ZlIGJvdGggbmV4dCBhY3Rpb25zIG91dCBvZiBsb29wLCBiZWNhdXNlIHJlbWFpbmluZyBhY3Rpb25zIGluIGxvb3Agd29uJ3QgaGF2ZVxuXHQvLyBhbnkvdmlzaWJsZSBlZmZlY3Qgb24gcGFydHMgd2UgYWRkIGhlcmUuIENsb3NlIHRoZSBzdHlsaW5nIGJlZm9yZSBhIGxpbmVicmVhayBhbmQgcmVvcGVuXG5cdC8vIGFmdGVyIG5leHQgbGluZSB0byBmaXggYSBibGVlZCBpc3N1ZSBvbiBtYWNPUzogaHR0cHM6Ly9naXRodWIuY29tL2NoYWxrL2NoYWxrL3B1bGwvOTJcblx0Y29uc3QgbGZJbmRleCA9IHN0cmluZy5pbmRleE9mKCdcXG4nKTtcblx0aWYgKGxmSW5kZXggIT09IC0xKSB7XG5cdFx0c3RyaW5nID0gc3RyaW5nRW5jYXNlQ1JMRldpdGhGaXJzdEluZGV4KHN0cmluZywgY2xvc2VBbGwsIG9wZW5BbGwsIGxmSW5kZXgpO1xuXHR9XG5cblx0cmV0dXJuIG9wZW5BbGwgKyBzdHJpbmcgKyBjbG9zZUFsbDtcbn07XG5cbk9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKGNyZWF0ZUNoYWxrLnByb3RvdHlwZSwgc3R5bGVzKTtcblxuY29uc3QgY2hhbGsgPSBjcmVhdGVDaGFsaygpO1xuZXhwb3J0IGNvbnN0IGNoYWxrU3RkZXJyID0gY3JlYXRlQ2hhbGsoe2xldmVsOiBzdGRlcnJDb2xvciA/IHN0ZGVyckNvbG9yLmxldmVsIDogMH0pO1xuXG5leHBvcnQge1xuXHRtb2RpZmllck5hbWVzLFxuXHRmb3JlZ3JvdW5kQ29sb3JOYW1lcyxcblx0YmFja2dyb3VuZENvbG9yTmFtZXMsXG5cdGNvbG9yTmFtZXMsXG5cblx0Ly8gVE9ETzogUmVtb3ZlIHRoZXNlIGFsaWFzZXMgaW4gdGhlIG5leHQgbWFqb3IgdmVyc2lvblxuXHRtb2RpZmllck5hbWVzIGFzIG1vZGlmaWVycyxcblx0Zm9yZWdyb3VuZENvbG9yTmFtZXMgYXMgZm9yZWdyb3VuZENvbG9ycyxcblx0YmFja2dyb3VuZENvbG9yTmFtZXMgYXMgYmFja2dyb3VuZENvbG9ycyxcblx0Y29sb3JOYW1lcyBhcyBjb2xvcnMsXG59IGZyb20gJy4vdmVuZG9yL2Fuc2ktc3R5bGVzL2luZGV4LmpzJztcblxuZXhwb3J0IHtcblx0c3Rkb3V0Q29sb3IgYXMgc3VwcG9ydHNDb2xvcixcblx0c3RkZXJyQ29sb3IgYXMgc3VwcG9ydHNDb2xvclN0ZGVycixcbn07XG5cbmV4cG9ydCBkZWZhdWx0IGNoYWxrO1xuIiwgImltcG9ydCB7IFNlcnZlciB9IGZyb20gXCJAbW9kZWxjb250ZXh0cHJvdG9jb2wvc2RrL3NlcnZlci9pbmRleC5qc1wiO1xuaW1wb3J0IHtcbiAgQ2FsbFRvb2xSZXF1ZXN0U2NoZW1hLFxuICBMaXN0VG9vbHNSZXF1ZXN0U2NoZW1hLFxuICBNY3BFcnJvcixcbiAgRXJyb3JDb2RlXG59IGZyb20gXCJAbW9kZWxjb250ZXh0cHJvdG9jb2wvc2RrL3R5cGVzLmpzXCI7XG5pbXBvcnQgeyB6IH0gZnJvbSBcInpvZFwiO1xuaW1wb3J0IHsgem9kVG9Kc29uU2NoZW1hIH0gZnJvbSBcInpvZC10by1qc29uLXNjaGVtYVwiO1xuaW1wb3J0IGNoYWxrIGZyb20gJ2NoYWxrJztcblxuLy8gRGVmaW5lIHNlc3Npb24gY29uZmlndXJhdGlvbiBzY2hlbWEgKG9wdGlvbmFsIC0gdGhpcyBzZXJ2ZXIgZG9lc24ndCBuZWVkIGNvbmZpZylcbmV4cG9ydCBjb25zdCBjb25maWdTY2hlbWEgPSB6Lm9iamVjdCh7fSk7XG5cbi8vIFR5cGVzXG5pbnRlcmZhY2UgRG9tYWluRWxlbWVudCB7XG4gIGlkOiBzdHJpbmc7XG4gIG5hbWU6IHN0cmluZztcbiAgdHlwZTogXCJlbnRpdHlcIiB8IFwiYXR0cmlidXRlXCIgfCBcInJlbGF0aW9uXCIgfCBcInByb2Nlc3NcIjtcbiAgZGVzY3JpcHRpb246IHN0cmluZztcbn1cblxuaW50ZXJmYWNlIEFuYWxvZ2ljYWxNYXBwaW5nIHtcbiAgc291cmNlRWxlbWVudDogc3RyaW5nOyAvLyBJRCBvZiBzb3VyY2UgZG9tYWluIGVsZW1lbnRcbiAgdGFyZ2V0RWxlbWVudDogc3RyaW5nOyAvLyBJRCBvZiB0YXJnZXQgZG9tYWluIGVsZW1lbnRcbiAgbWFwcGluZ1N0cmVuZ3RoOiBudW1iZXI7IC8vIDAuMC0xLjBcbiAganVzdGlmaWNhdGlvbjogc3RyaW5nO1xuICBsaW1pdGF0aW9ucz86IHN0cmluZ1tdO1xufVxuXG5pbnRlcmZhY2UgQW5hbG9naWNhbFJlYXNvbmluZ0RhdGEge1xuICAvLyBDb3JlIGFuYWxvZ3kgY29tcG9uZW50c1xuICBzb3VyY2VEb21haW46IHtcbiAgICBuYW1lOiBzdHJpbmc7XG4gICAgZWxlbWVudHM6IERvbWFpbkVsZW1lbnRbXTtcbiAgfTtcbiAgdGFyZ2V0RG9tYWluOiB7XG4gICAgbmFtZTogc3RyaW5nO1xuICAgIGVsZW1lbnRzOiBEb21haW5FbGVtZW50W107XG4gIH07XG4gIG1hcHBpbmdzOiBBbmFsb2dpY2FsTWFwcGluZ1tdO1xuICBcbiAgLy8gQW5hbG9neSBtZXRhZGF0YVxuICBhbmFsb2d5SWQ6IHN0cmluZztcbiAgcHVycG9zZTogXCJleHBsYW5hdGlvblwiIHwgXCJwcmVkaWN0aW9uXCIgfCBcInByb2JsZW0tc29sdmluZ1wiIHwgXCJjcmVhdGl2ZS1nZW5lcmF0aW9uXCI7XG4gIGNvbmZpZGVuY2U6IG51bWJlcjsgLy8gMC4wLTEuMFxuICBpdGVyYXRpb246IG51bWJlcjtcbiAgXG4gIC8vIEV2YWx1YXRpb25cbiAgc3RyZW5ndGhzOiBzdHJpbmdbXTtcbiAgbGltaXRhdGlvbnM6IHN0cmluZ1tdO1xuICBpbmZlcmVuY2VzOiBBcnJheTx7XG4gICAgc3RhdGVtZW50OiBzdHJpbmc7XG4gICAgY29uZmlkZW5jZTogbnVtYmVyO1xuICAgIGJhc2VkT25NYXBwaW5nczogc3RyaW5nW107IC8vIElEcyBvZiBtYXBwaW5ncyBzdXBwb3J0aW5nIHRoaXMgaW5mZXJlbmNlXG4gIH0+O1xuICBcbiAgLy8gTmV4dCBzdGVwc1xuICBuZXh0T3BlcmF0aW9uTmVlZGVkOiBib29sZWFuO1xuICBzdWdnZXN0ZWRPcGVyYXRpb25zPzogQXJyYXk8XCJhZGQtbWFwcGluZ1wiIHwgXCJyZXZpc2UtbWFwcGluZ1wiIHwgXCJkcmF3LWluZmVyZW5jZVwiIHwgXCJldmFsdWF0ZS1saW1pdGF0aW9uXCIgfCBcInRyeS1uZXctc291cmNlXCI+O1xufVxuXG4vLyBUeXBlIGd1YXJkIGZvciBEb21haW5FbGVtZW50IHR5cGVcbmNvbnN0IGFsbG93ZWRFbGVtZW50VHlwZXMgPSBbXCJlbnRpdHlcIiwgXCJhdHRyaWJ1dGVcIiwgXCJyZWxhdGlvblwiLCBcInByb2Nlc3NcIl0gYXMgY29uc3Q7XG50eXBlIERvbWFpbkVsZW1lbnRUeXBlID0gdHlwZW9mIGFsbG93ZWRFbGVtZW50VHlwZXNbbnVtYmVyXTtcblxuZnVuY3Rpb24gaXNWYWxpZEVsZW1lbnRUeXBlKHR5cGU6IHVua25vd24pOiB0eXBlIGlzIERvbWFpbkVsZW1lbnRUeXBlIHtcbiAgcmV0dXJuIHR5cGVvZiB0eXBlID09PSAnc3RyaW5nJyAmJiBhbGxvd2VkRWxlbWVudFR5cGVzLmluY2x1ZGVzKHR5cGUgYXMgRG9tYWluRWxlbWVudFR5cGUpO1xufVxuXG5jbGFzcyBBbmFsb2dpY2FsUmVhc29uaW5nU2VydmVyIHtcbiAgcHJpdmF0ZSBhbmFsb2d5SGlzdG9yeTogUmVjb3JkPHN0cmluZywgQW5hbG9naWNhbFJlYXNvbmluZ0RhdGFbXT4gPSB7fTtcbiAgcHJpdmF0ZSBkb21haW5SZWdpc3RyeTogUmVjb3JkPHN0cmluZywge1xuICAgIG5hbWU6IHN0cmluZztcbiAgICBlbGVtZW50czogRG9tYWluRWxlbWVudFtdO1xuICB9PiA9IHt9O1xuICBwcml2YXRlIG5leHRFbGVtZW50SWQgPSAxO1xuXG4gIHByaXZhdGUgdmFsaWRhdGVBbmFsb2dpY2FsUmVhc29uaW5nRGF0YShpbnB1dDogdW5rbm93bik6IEFuYWxvZ2ljYWxSZWFzb25pbmdEYXRhIHtcbiAgICBjb25zdCBkYXRhID0gaW5wdXQgYXMgUmVjb3JkPHN0cmluZywgdW5rbm93bj47XG4gICAgXG4gICAgLy8gVmFsaWRhdGUgcmVxdWlyZWQgZmllbGRzXG4gICAgaWYgKCFkYXRhLmFuYWxvZ3lJZCB8fCB0eXBlb2YgZGF0YS5hbmFsb2d5SWQgIT09ICdzdHJpbmcnKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ0ludmFsaWQgYW5hbG9neUlkOiBtdXN0IGJlIGEgc3RyaW5nJyk7XG4gICAgfVxuICAgIFxuICAgIGlmICghZGF0YS5wdXJwb3NlIHx8IHR5cGVvZiBkYXRhLnB1cnBvc2UgIT09ICdzdHJpbmcnKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ0ludmFsaWQgcHVycG9zZTogbXVzdCBiZSBhIHN0cmluZycpO1xuICAgIH1cbiAgICBcbiAgICBpZiAodHlwZW9mIGRhdGEuY29uZmlkZW5jZSAhPT0gJ251bWJlcicgfHwgZGF0YS5jb25maWRlbmNlIDwgMCB8fCBkYXRhLmNvbmZpZGVuY2UgPiAxKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ0ludmFsaWQgY29uZmlkZW5jZTogbXVzdCBiZSBhIG51bWJlciBiZXR3ZWVuIDAgYW5kIDEnKTtcbiAgICB9XG4gICAgXG4gICAgaWYgKHR5cGVvZiBkYXRhLml0ZXJhdGlvbiAhPT0gJ251bWJlcicgfHwgZGF0YS5pdGVyYXRpb24gPCAwKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ0ludmFsaWQgaXRlcmF0aW9uOiBtdXN0IGJlIGEgbm9uLW5lZ2F0aXZlIG51bWJlcicpO1xuICAgIH1cbiAgICBcbiAgICBpZiAodHlwZW9mIGRhdGEubmV4dE9wZXJhdGlvbk5lZWRlZCAhPT0gJ2Jvb2xlYW4nKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ0ludmFsaWQgbmV4dE9wZXJhdGlvbk5lZWRlZDogbXVzdCBiZSBhIGJvb2xlYW4nKTtcbiAgICB9XG4gICAgXG4gICAgLy8gVmFsaWRhdGUgZG9tYWluc1xuICAgIGNvbnN0IHNvdXJjZURvbWFpbiA9IGRhdGEuc291cmNlRG9tYWluIGFzIFJlY29yZDxzdHJpbmcsIHVua25vd24+O1xuICAgIGNvbnN0IHRhcmdldERvbWFpbiA9IGRhdGEudGFyZ2V0RG9tYWluIGFzIFJlY29yZDxzdHJpbmcsIHVua25vd24+O1xuICAgIFxuICAgIGlmICghc291cmNlRG9tYWluIHx8IHR5cGVvZiBzb3VyY2VEb21haW4gIT09ICdvYmplY3QnKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ0ludmFsaWQgc291cmNlRG9tYWluOiBtdXN0IGJlIGFuIG9iamVjdCcpO1xuICAgIH1cbiAgICBcbiAgICBpZiAoIXRhcmdldERvbWFpbiB8fCB0eXBlb2YgdGFyZ2V0RG9tYWluICE9PSAnb2JqZWN0Jykge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdJbnZhbGlkIHRhcmdldERvbWFpbjogbXVzdCBiZSBhbiBvYmplY3QnKTtcbiAgICB9XG4gICAgXG4gICAgaWYgKCFzb3VyY2VEb21haW4ubmFtZSB8fCB0eXBlb2Ygc291cmNlRG9tYWluLm5hbWUgIT09ICdzdHJpbmcnKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ0ludmFsaWQgc291cmNlRG9tYWluLm5hbWU6IG11c3QgYmUgYSBzdHJpbmcnKTtcbiAgICB9XG4gICAgXG4gICAgaWYgKCF0YXJnZXREb21haW4ubmFtZSB8fCB0eXBlb2YgdGFyZ2V0RG9tYWluLm5hbWUgIT09ICdzdHJpbmcnKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ0ludmFsaWQgdGFyZ2V0RG9tYWluLm5hbWU6IG11c3QgYmUgYSBzdHJpbmcnKTtcbiAgICB9XG4gICAgXG4gICAgaWYgKCFBcnJheS5pc0FycmF5KHNvdXJjZURvbWFpbi5lbGVtZW50cykpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignSW52YWxpZCBzb3VyY2VEb21haW4uZWxlbWVudHM6IG11c3QgYmUgYW4gYXJyYXknKTtcbiAgICB9XG4gICAgXG4gICAgaWYgKCFBcnJheS5pc0FycmF5KHRhcmdldERvbWFpbi5lbGVtZW50cykpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignSW52YWxpZCB0YXJnZXREb21haW4uZWxlbWVudHM6IG11c3QgYmUgYW4gYXJyYXknKTtcbiAgICB9XG4gICAgXG4gICAgLy8gVmFsaWRhdGUgZWxlbWVudHNcbiAgICBjb25zdCBzb3VyY2VFbGVtZW50czogRG9tYWluRWxlbWVudFtdID0gW107XG4gICAgZm9yIChjb25zdCBlbGVtZW50IG9mIHNvdXJjZURvbWFpbi5lbGVtZW50cyBhcyBBcnJheTxSZWNvcmQ8c3RyaW5nLCB1bmtub3duPj4pIHtcbiAgICAgIGlmICghZWxlbWVudC5pZCB8fCB0eXBlb2YgZWxlbWVudC5pZCAhPT0gJ3N0cmluZycpIHtcbiAgICAgICAgZWxlbWVudC5pZCA9IGBlbGVtLSR7dGhpcy5uZXh0RWxlbWVudElkKyt9YDtcbiAgICAgIH1cbiAgICAgIFxuICAgICAgaWYgKCFlbGVtZW50Lm5hbWUgfHwgdHlwZW9mIGVsZW1lbnQubmFtZSAhPT0gJ3N0cmluZycpIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIGVsZW1lbnQgbmFtZSBmb3IgZWxlbWVudCAke2VsZW1lbnQuaWR9OiBtdXN0IGJlIGEgc3RyaW5nYCk7XG4gICAgICB9XG4gICAgICBcbiAgICAgIGlmICghZWxlbWVudC50eXBlIHx8IHR5cGVvZiBlbGVtZW50LnR5cGUgIT09ICdzdHJpbmcnKSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBlbGVtZW50IHR5cGUgZm9yIGVsZW1lbnQgJHtlbGVtZW50LmlkfTogbXVzdCBiZSBhIHN0cmluZ2ApO1xuICAgICAgfVxuICAgICAgXG4gICAgICBpZiAoIWlzVmFsaWRFbGVtZW50VHlwZShlbGVtZW50LnR5cGUpKSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBlbGVtZW50IHR5cGUgZm9yIGVsZW1lbnQgJHtlbGVtZW50LmlkfTogbXVzdCBiZSBvbmUgb2YgJHthbGxvd2VkRWxlbWVudFR5cGVzLmpvaW4oJywgJyl9YCk7XG4gICAgICB9XG4gICAgICBcbiAgICAgIGlmICghZWxlbWVudC5kZXNjcmlwdGlvbiB8fCB0eXBlb2YgZWxlbWVudC5kZXNjcmlwdGlvbiAhPT0gJ3N0cmluZycpIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIGVsZW1lbnQgZGVzY3JpcHRpb24gZm9yIGVsZW1lbnQgJHtlbGVtZW50LmlkfTogbXVzdCBiZSBhIHN0cmluZ2ApO1xuICAgICAgfVxuICAgICAgXG4gICAgICBzb3VyY2VFbGVtZW50cy5wdXNoKHsgaWQ6IGVsZW1lbnQuaWQgYXMgc3RyaW5nLCBuYW1lOiBlbGVtZW50Lm5hbWUgYXMgc3RyaW5nLCB0eXBlOiBlbGVtZW50LnR5cGUsIGRlc2NyaXB0aW9uOiBlbGVtZW50LmRlc2NyaXB0aW9uIGFzIHN0cmluZyB9KTtcbiAgICB9XG4gICAgXG4gICAgY29uc3QgdGFyZ2V0RWxlbWVudHM6IERvbWFpbkVsZW1lbnRbXSA9IFtdO1xuICAgIGZvciAoY29uc3QgZWxlbWVudCBvZiB0YXJnZXREb21haW4uZWxlbWVudHMgYXMgQXJyYXk8UmVjb3JkPHN0cmluZywgdW5rbm93bj4+KSB7XG4gICAgICBpZiAoIWVsZW1lbnQuaWQgfHwgdHlwZW9mIGVsZW1lbnQuaWQgIT09ICdzdHJpbmcnKSB7XG4gICAgICAgIGVsZW1lbnQuaWQgPSBgZWxlbS0ke3RoaXMubmV4dEVsZW1lbnRJZCsrfWA7XG4gICAgICB9XG4gICAgICBcbiAgICAgIGlmICghZWxlbWVudC5uYW1lIHx8IHR5cGVvZiBlbGVtZW50Lm5hbWUgIT09ICdzdHJpbmcnKSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBlbGVtZW50IG5hbWUgZm9yIGVsZW1lbnQgJHtlbGVtZW50LmlkfTogbXVzdCBiZSBhIHN0cmluZ2ApO1xuICAgICAgfVxuICAgICAgXG4gICAgICBpZiAoIWVsZW1lbnQudHlwZSB8fCB0eXBlb2YgZWxlbWVudC50eXBlICE9PSAnc3RyaW5nJykge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgZWxlbWVudCB0eXBlIGZvciBlbGVtZW50ICR7ZWxlbWVudC5pZH06IG11c3QgYmUgYSBzdHJpbmdgKTtcbiAgICAgIH1cbiAgICAgIFxuICAgICAgaWYgKCFpc1ZhbGlkRWxlbWVudFR5cGUoZWxlbWVudC50eXBlKSkge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgZWxlbWVudCB0eXBlIGZvciBlbGVtZW50ICR7ZWxlbWVudC5pZH06IG11c3QgYmUgb25lIG9mICR7YWxsb3dlZEVsZW1lbnRUeXBlcy5qb2luKCcsICcpfWApO1xuICAgICAgfVxuICAgICAgXG4gICAgICBpZiAoIWVsZW1lbnQuZGVzY3JpcHRpb24gfHwgdHlwZW9mIGVsZW1lbnQuZGVzY3JpcHRpb24gIT09ICdzdHJpbmcnKSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBlbGVtZW50IGRlc2NyaXB0aW9uIGZvciBlbGVtZW50ICR7ZWxlbWVudC5pZH06IG11c3QgYmUgYSBzdHJpbmdgKTtcbiAgICAgIH1cbiAgICAgIFxuICAgICAgdGFyZ2V0RWxlbWVudHMucHVzaCh7IGlkOiBlbGVtZW50LmlkIGFzIHN0cmluZywgbmFtZTogZWxlbWVudC5uYW1lIGFzIHN0cmluZywgdHlwZTogZWxlbWVudC50eXBlLCBkZXNjcmlwdGlvbjogZWxlbWVudC5kZXNjcmlwdGlvbiBhcyBzdHJpbmcgfSk7XG4gICAgfVxuICAgIFxuICAgIC8vIFZhbGlkYXRlIG1hcHBpbmdzXG4gICAgY29uc3QgbWFwcGluZ3M6IEFuYWxvZ2ljYWxNYXBwaW5nW10gPSBbXTtcbiAgICBpZiAoQXJyYXkuaXNBcnJheShkYXRhLm1hcHBpbmdzKSkge1xuICAgICAgZm9yIChjb25zdCBtYXBwaW5nIG9mIGRhdGEubWFwcGluZ3MgYXMgQXJyYXk8UmVjb3JkPHN0cmluZywgdW5rbm93bj4+KSB7XG4gICAgICAgIGlmICghbWFwcGluZy5zb3VyY2VFbGVtZW50IHx8IHR5cGVvZiBtYXBwaW5nLnNvdXJjZUVsZW1lbnQgIT09ICdzdHJpbmcnKSB7XG4gICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdJbnZhbGlkIG1hcHBpbmcgc291cmNlRWxlbWVudDogbXVzdCBiZSBhIHN0cmluZycpO1xuICAgICAgICB9XG4gICAgICAgIFxuICAgICAgICBpZiAoIW1hcHBpbmcudGFyZ2V0RWxlbWVudCB8fCB0eXBlb2YgbWFwcGluZy50YXJnZXRFbGVtZW50ICE9PSAnc3RyaW5nJykge1xuICAgICAgICAgIHRocm93IG5ldyBFcnJvcignSW52YWxpZCBtYXBwaW5nIHRhcmdldEVsZW1lbnQ6IG11c3QgYmUgYSBzdHJpbmcnKTtcbiAgICAgICAgfVxuICAgICAgICBcbiAgICAgICAgaWYgKHR5cGVvZiBtYXBwaW5nLm1hcHBpbmdTdHJlbmd0aCAhPT0gJ251bWJlcicgfHwgbWFwcGluZy5tYXBwaW5nU3RyZW5ndGggPCAwIHx8IG1hcHBpbmcubWFwcGluZ1N0cmVuZ3RoID4gMSkge1xuICAgICAgICAgIHRocm93IG5ldyBFcnJvcignSW52YWxpZCBtYXBwaW5nU3RyZW5ndGg6IG11c3QgYmUgYSBudW1iZXIgYmV0d2VlbiAwIGFuZCAxJyk7XG4gICAgICAgIH1cbiAgICAgICAgXG4gICAgICAgIGlmICghbWFwcGluZy5qdXN0aWZpY2F0aW9uIHx8IHR5cGVvZiBtYXBwaW5nLmp1c3RpZmljYXRpb24gIT09ICdzdHJpbmcnKSB7XG4gICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdJbnZhbGlkIG1hcHBpbmcganVzdGlmaWNhdGlvbjogbXVzdCBiZSBhIHN0cmluZycpO1xuICAgICAgICB9XG4gICAgICAgIFxuICAgICAgICBjb25zdCBsaW1pdGF0aW9uczogc3RyaW5nW10gPSBbXTtcbiAgICAgICAgaWYgKG1hcHBpbmcubGltaXRhdGlvbnMgJiYgQXJyYXkuaXNBcnJheShtYXBwaW5nLmxpbWl0YXRpb25zKSkge1xuICAgICAgICAgIGZvciAoY29uc3QgbGltaXRhdGlvbiBvZiBtYXBwaW5nLmxpbWl0YXRpb25zKSB7XG4gICAgICAgICAgICBpZiAodHlwZW9mIGxpbWl0YXRpb24gPT09ICdzdHJpbmcnKSB7XG4gICAgICAgICAgICAgIGxpbWl0YXRpb25zLnB1c2gobGltaXRhdGlvbik7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIFxuICAgICAgICBjb25zdCBtYXBwaW5nRGF0YTogQW5hbG9naWNhbE1hcHBpbmcgPSB7XG4gICAgICAgICAgc291cmNlRWxlbWVudDogbWFwcGluZy5zb3VyY2VFbGVtZW50IGFzIHN0cmluZyxcbiAgICAgICAgICB0YXJnZXRFbGVtZW50OiBtYXBwaW5nLnRhcmdldEVsZW1lbnQgYXMgc3RyaW5nLFxuICAgICAgICAgIG1hcHBpbmdTdHJlbmd0aDogbWFwcGluZy5tYXBwaW5nU3RyZW5ndGggYXMgbnVtYmVyLFxuICAgICAgICAgIGp1c3RpZmljYXRpb246IG1hcHBpbmcuanVzdGlmaWNhdGlvbiBhcyBzdHJpbmcsXG4gICAgICAgICAgLy8gbGltaXRhdGlvbnMgaXMgYWRkZWQgY29uZGl0aW9uYWxseSBiZWxvd1xuICAgICAgICB9O1xuICAgICAgICBpZiAobGltaXRhdGlvbnMubGVuZ3RoID4gMCkge1xuICAgICAgICAgICAgbWFwcGluZ0RhdGEubGltaXRhdGlvbnMgPSBsaW1pdGF0aW9ucztcbiAgICAgICAgfVxuICAgICAgICBtYXBwaW5ncy5wdXNoKG1hcHBpbmdEYXRhKTtcbiAgICAgIH1cbiAgICB9XG4gICAgXG4gICAgLy8gVmFsaWRhdGUgYXJyYXlzXG4gICAgY29uc3Qgc3RyZW5ndGhzOiBzdHJpbmdbXSA9IFtdO1xuICAgIGlmIChBcnJheS5pc0FycmF5KGRhdGEuc3RyZW5ndGhzKSkge1xuICAgICAgZm9yIChjb25zdCBzdHJlbmd0aCBvZiBkYXRhLnN0cmVuZ3Rocykge1xuICAgICAgICBpZiAodHlwZW9mIHN0cmVuZ3RoID09PSAnc3RyaW5nJykge1xuICAgICAgICAgIHN0cmVuZ3Rocy5wdXNoKHN0cmVuZ3RoKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICBcbiAgICBjb25zdCBsaW1pdGF0aW9uczogc3RyaW5nW10gPSBbXTtcbiAgICBpZiAoQXJyYXkuaXNBcnJheShkYXRhLmxpbWl0YXRpb25zKSkge1xuICAgICAgZm9yIChjb25zdCBsaW1pdGF0aW9uIG9mIGRhdGEubGltaXRhdGlvbnMpIHtcbiAgICAgICAgaWYgKHR5cGVvZiBsaW1pdGF0aW9uID09PSAnc3RyaW5nJykge1xuICAgICAgICAgIGxpbWl0YXRpb25zLnB1c2gobGltaXRhdGlvbik7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgXG4gICAgY29uc3QgaW5mZXJlbmNlczogQW5hbG9naWNhbFJlYXNvbmluZ0RhdGFbJ2luZmVyZW5jZXMnXSA9IFtdO1xuICAgIGlmIChBcnJheS5pc0FycmF5KGRhdGEuaW5mZXJlbmNlcykpIHtcbiAgICAgIGZvciAoY29uc3QgaW5mZXJlbmNlIG9mIGRhdGEuaW5mZXJlbmNlcyBhcyBBcnJheTxSZWNvcmQ8c3RyaW5nLCB1bmtub3duPj4pIHtcbiAgICAgICAgaWYgKCFpbmZlcmVuY2Uuc3RhdGVtZW50IHx8IHR5cGVvZiBpbmZlcmVuY2Uuc3RhdGVtZW50ICE9PSAnc3RyaW5nJykge1xuICAgICAgICAgIHRocm93IG5ldyBFcnJvcignSW52YWxpZCBpbmZlcmVuY2Ugc3RhdGVtZW50OiBtdXN0IGJlIGEgc3RyaW5nJyk7XG4gICAgICAgIH1cbiAgICAgICAgXG4gICAgICAgIGlmICh0eXBlb2YgaW5mZXJlbmNlLmNvbmZpZGVuY2UgIT09ICdudW1iZXInIHx8IGluZmVyZW5jZS5jb25maWRlbmNlIDwgMCB8fCBpbmZlcmVuY2UuY29uZmlkZW5jZSA+IDEpIHtcbiAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ0ludmFsaWQgaW5mZXJlbmNlIGNvbmZpZGVuY2U6IG11c3QgYmUgYSBudW1iZXIgYmV0d2VlbiAwIGFuZCAxJyk7XG4gICAgICAgIH1cbiAgICAgICAgXG4gICAgICAgIGlmICghQXJyYXkuaXNBcnJheShpbmZlcmVuY2UuYmFzZWRPbk1hcHBpbmdzKSkge1xuICAgICAgICAgIHRocm93IG5ldyBFcnJvcignSW52YWxpZCBpbmZlcmVuY2UgYmFzZWRPbk1hcHBpbmdzOiBtdXN0IGJlIGFuIGFycmF5IG9mIG1hcHBpbmcgSURzJyk7XG4gICAgICAgIH1cbiAgICAgICAgXG4gICAgICAgIGNvbnN0IGJhc2VkT25NYXBwaW5nczogc3RyaW5nW10gPSBbXTtcbiAgICAgICAgZm9yIChjb25zdCBtYXBwaW5nSWQgb2YgaW5mZXJlbmNlLmJhc2VkT25NYXBwaW5ncykge1xuICAgICAgICAgIGlmICh0eXBlb2YgbWFwcGluZ0lkID09PSAnc3RyaW5nJykge1xuICAgICAgICAgICAgYmFzZWRPbk1hcHBpbmdzLnB1c2gobWFwcGluZ0lkKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgXG4gICAgICAgIGluZmVyZW5jZXMucHVzaCh7XG4gICAgICAgICAgc3RhdGVtZW50OiBpbmZlcmVuY2Uuc3RhdGVtZW50IGFzIHN0cmluZyxcbiAgICAgICAgICBjb25maWRlbmNlOiBpbmZlcmVuY2UuY29uZmlkZW5jZSBhcyBudW1iZXIsXG4gICAgICAgICAgYmFzZWRPbk1hcHBpbmdzXG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgIH1cbiAgICBcbiAgICBjb25zdCBzdWdnZXN0ZWRPcGVyYXRpb25zOiBBbmFsb2dpY2FsUmVhc29uaW5nRGF0YVsnc3VnZ2VzdGVkT3BlcmF0aW9ucyddID0gW107XG4gICAgaWYgKEFycmF5LmlzQXJyYXkoZGF0YS5zdWdnZXN0ZWRPcGVyYXRpb25zKSkge1xuICAgICAgZm9yIChjb25zdCBvcGVyYXRpb24gb2YgZGF0YS5zdWdnZXN0ZWRPcGVyYXRpb25zKSB7XG4gICAgICAgIGlmICh0eXBlb2Ygb3BlcmF0aW9uID09PSAnc3RyaW5nJyAmJiBbXG4gICAgICAgICAgJ2FkZC1tYXBwaW5nJywgJ3JldmlzZS1tYXBwaW5nJywgJ2RyYXctaW5mZXJlbmNlJywgJ2V2YWx1YXRlLWxpbWl0YXRpb24nLCAndHJ5LW5ldy1zb3VyY2UnXG4gICAgICAgIF0uaW5jbHVkZXMob3BlcmF0aW9uKSkge1xuICAgICAgICAgIHN1Z2dlc3RlZE9wZXJhdGlvbnMucHVzaChvcGVyYXRpb24gYXMgYW55KTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICBcbiAgICAvLyBDcmVhdGUgdmFsaWRhdGVkIGRhdGEgb2JqZWN0IHdpdGggY29uZGl0aW9uYWwgc3VnZ2VzdGVkT3BlcmF0aW9uc1xuICAgIGNvbnN0IHZhbGlkYXRlZERhdGE6IEFuYWxvZ2ljYWxSZWFzb25pbmdEYXRhID0ge1xuICAgICAgc291cmNlRG9tYWluOiB7XG4gICAgICAgIG5hbWU6IHNvdXJjZURvbWFpbi5uYW1lIGFzIHN0cmluZyxcbiAgICAgICAgZWxlbWVudHM6IHNvdXJjZUVsZW1lbnRzXG4gICAgICB9LFxuICAgICAgdGFyZ2V0RG9tYWluOiB7XG4gICAgICAgIG5hbWU6IHRhcmdldERvbWFpbi5uYW1lIGFzIHN0cmluZyxcbiAgICAgICAgZWxlbWVudHM6IHRhcmdldEVsZW1lbnRzXG4gICAgICB9LFxuICAgICAgbWFwcGluZ3MsXG4gICAgICBhbmFsb2d5SWQ6IGRhdGEuYW5hbG9neUlkIGFzIHN0cmluZyxcbiAgICAgIHB1cnBvc2U6IGRhdGEucHVycG9zZSBhcyBBbmFsb2dpY2FsUmVhc29uaW5nRGF0YVsncHVycG9zZSddLFxuICAgICAgY29uZmlkZW5jZTogZGF0YS5jb25maWRlbmNlIGFzIG51bWJlcixcbiAgICAgIGl0ZXJhdGlvbjogZGF0YS5pdGVyYXRpb24gYXMgbnVtYmVyLFxuICAgICAgc3RyZW5ndGhzLFxuICAgICAgbGltaXRhdGlvbnMsXG4gICAgICBpbmZlcmVuY2VzLFxuICAgICAgbmV4dE9wZXJhdGlvbk5lZWRlZDogZGF0YS5uZXh0T3BlcmF0aW9uTmVlZGVkIGFzIGJvb2xlYW4sXG4gICAgICAvLyBzdWdnZXN0ZWRPcGVyYXRpb25zIGlzIGFkZGVkIGNvbmRpdGlvbmFsbHkgYmVsb3dcbiAgICB9O1xuXG4gICAgaWYgKHN1Z2dlc3RlZE9wZXJhdGlvbnMubGVuZ3RoID4gMCkge1xuICAgICAgdmFsaWRhdGVkRGF0YS5zdWdnZXN0ZWRPcGVyYXRpb25zID0gc3VnZ2VzdGVkT3BlcmF0aW9ucztcbiAgICB9XG5cbiAgICByZXR1cm4gdmFsaWRhdGVkRGF0YTtcbiAgfVxuXG4gIHByaXZhdGUgdXBkYXRlRG9tYWluUmVnaXN0cnkoZG9tYWluOiB7IG5hbWU6IHN0cmluZzsgZWxlbWVudHM6IERvbWFpbkVsZW1lbnRbXSB9KTogdm9pZCB7XG4gICAgdGhpcy5kb21haW5SZWdpc3RyeVtkb21haW4ubmFtZV0gPSB7XG4gICAgICBuYW1lOiBkb21haW4ubmFtZSxcbiAgICAgIGVsZW1lbnRzOiBbLi4uZG9tYWluLmVsZW1lbnRzXVxuICAgIH07XG4gIH1cblxuICBwcml2YXRlIHVwZGF0ZUFuYWxvZ2ljYWxSZWFzb25pbmcoZGF0YTogQW5hbG9naWNhbFJlYXNvbmluZ0RhdGEpOiB2b2lkIHtcbiAgICBsZXQgaGlzdG9yeUVudHJ5ID0gdGhpcy5hbmFsb2d5SGlzdG9yeVtkYXRhLmFuYWxvZ3lJZF07IC8vIEdldCBwb3RlbnRpYWwgZW50cnlcbiAgICBpZiAoIWhpc3RvcnlFbnRyeSkgeyAvLyBDaGVjayBpZiBpdCBleGlzdHNcbiAgICAgIGhpc3RvcnlFbnRyeSA9IFtdOyAvLyBDcmVhdGUgbmV3IGFycmF5IGlmIG5vdFxuICAgICAgdGhpcy5hbmFsb2d5SGlzdG9yeVtkYXRhLmFuYWxvZ3lJZF0gPSBoaXN0b3J5RW50cnk7IC8vIEFzc2lnbiBpdCBiYWNrIHRvIHRoZSBvYmplY3RcbiAgICB9XG4gICAgLy8gTm93LCBoaXN0b3J5RW50cnkgaXMgZ3VhcmFudGVlZCB0byBiZSBBbmFsb2dpY2FsUmVhc29uaW5nRGF0YVtdXG4gICAgaGlzdG9yeUVudHJ5LnB1c2goZGF0YSk7XG4gICAgXG4gICAgLy8gVXBkYXRlIGRvbWFpbiByZWdpc3RyeVxuICAgIHRoaXMudXBkYXRlRG9tYWluUmVnaXN0cnkoZGF0YS5zb3VyY2VEb21haW4pO1xuICAgIHRoaXMudXBkYXRlRG9tYWluUmVnaXN0cnkoZGF0YS50YXJnZXREb21haW4pO1xuICB9XG5cbiAgcHJpdmF0ZSB2aXN1YWxpemVNYXBwaW5nKGRhdGE6IEFuYWxvZ2ljYWxSZWFzb25pbmdEYXRhKTogc3RyaW5nIHtcbiAgICBjb25zdCB7IHNvdXJjZURvbWFpbiwgdGFyZ2V0RG9tYWluLCBtYXBwaW5ncyB9ID0gZGF0YTtcbiAgICBcbiAgICBsZXQgb3V0cHV0ID0gYFxcbiR7Y2hhbGsuYm9sZChgQU5BTE9HWTogJHtzb3VyY2VEb21haW4ubmFtZX0gXHUwMDk0ICR7dGFyZ2V0RG9tYWluLm5hbWV9YCl9IChJRDogJHtkYXRhLmFuYWxvZ3lJZH0pXFxuXFxuYDtcbiAgICBcbiAgICAvLyBQdXJwb3NlIGFuZCBjb25maWRlbmNlXG4gICAgb3V0cHV0ICs9IGAke2NoYWxrLmN5YW4oJ1B1cnBvc2U6Jyl9ICR7ZGF0YS5wdXJwb3NlfVxcbmA7XG4gICAgb3V0cHV0ICs9IGAke2NoYWxrLmN5YW4oJ0NvbmZpZGVuY2U6Jyl9ICR7KGRhdGEuY29uZmlkZW5jZSAqIDEwMCkudG9GaXhlZCgwKX0lXFxuYDtcbiAgICBvdXRwdXQgKz0gYCR7Y2hhbGsuY3lhbignSXRlcmF0aW9uOicpfSAke2RhdGEuaXRlcmF0aW9ufVxcblxcbmA7XG4gICAgXG4gICAgLy8gQ3JlYXRlIG1hcHBpbmcgdmlzdWFsaXphdGlvblxuICAgIG91dHB1dCArPSBgJHtjaGFsay5ib2xkKCdTVFJVQ1RVUkFMIE1BUFBJTkdTOicpfVxcblxcbmA7XG4gICAgXG4gICAgY29uc3QgbWFwcGluZ3NCeVNvdXJjZVR5cGUgPSBuZXcgTWFwPHN0cmluZywgQW5hbG9naWNhbE1hcHBpbmdbXT4oKTtcbiAgICBcbiAgICBmb3IgKGNvbnN0IG1hcHBpbmcgb2YgbWFwcGluZ3MpIHtcbiAgICAgIGNvbnN0IHNvdXJjZUVsZW1lbnQgPSBzb3VyY2VEb21haW4uZWxlbWVudHMuZmluZChlID0+IGUuaWQgPT09IG1hcHBpbmcuc291cmNlRWxlbWVudCk7XG4gICAgICBpZiAoIXNvdXJjZUVsZW1lbnQpIGNvbnRpbnVlO1xuICAgICAgXG4gICAgICBpZiAoIW1hcHBpbmdzQnlTb3VyY2VUeXBlLmhhcyhzb3VyY2VFbGVtZW50LnR5cGUpKSB7XG4gICAgICAgIG1hcHBpbmdzQnlTb3VyY2VUeXBlLnNldChzb3VyY2VFbGVtZW50LnR5cGUsIFtdKTtcbiAgICAgIH1cbiAgICAgIFxuICAgICAgbWFwcGluZ3NCeVNvdXJjZVR5cGUuZ2V0KHNvdXJjZUVsZW1lbnQudHlwZSk/LnB1c2gobWFwcGluZyk7XG4gICAgfVxuICAgIFxuICAgIC8vIERpc3BsYXkgbWFwcGluZ3MgZ3JvdXBlZCBieSBlbGVtZW50IHR5cGVcbiAgICBmb3IgKGNvbnN0IFt0eXBlLCB0eXBlTWFwcGluZ3NdIG9mIG1hcHBpbmdzQnlTb3VyY2VUeXBlLmVudHJpZXMoKSkge1xuICAgICAgb3V0cHV0ICs9IGAke2NoYWxrLnllbGxvdyh0eXBlLnRvVXBwZXJDYXNlKCkpfSBNQVBQSU5HUzpcXG5gO1xuICAgICAgXG4gICAgICBmb3IgKGNvbnN0IG1hcHBpbmcgb2YgdHlwZU1hcHBpbmdzKSB7XG4gICAgICAgIGNvbnN0IHNvdXJjZUVsZW1lbnQgPSBzb3VyY2VEb21haW4uZWxlbWVudHMuZmluZChlID0+IGUuaWQgPT09IG1hcHBpbmcuc291cmNlRWxlbWVudCk7XG4gICAgICAgIGNvbnN0IHRhcmdldEVsZW1lbnQgPSB0YXJnZXREb21haW4uZWxlbWVudHMuZmluZChlID0+IGUuaWQgPT09IG1hcHBpbmcudGFyZ2V0RWxlbWVudCk7XG4gICAgICAgIFxuICAgICAgICBpZiAoIXNvdXJjZUVsZW1lbnQgfHwgIXRhcmdldEVsZW1lbnQpIGNvbnRpbnVlO1xuICAgICAgICBcbiAgICAgICAgLy8gQ29sb3ItY29kZSBiYXNlZCBvbiBtYXBwaW5nIHN0cmVuZ3RoXG4gICAgICAgIGxldCBzdHJlbmd0aEluZGljYXRvcjogc3RyaW5nO1xuICAgICAgICBpZiAobWFwcGluZy5tYXBwaW5nU3RyZW5ndGggPj0gMC44KSB7XG4gICAgICAgICAgc3RyZW5ndGhJbmRpY2F0b3IgPSBjaGFsay5ncmVlbignU1RST05HJyk7XG4gICAgICAgIH0gZWxzZSBpZiAobWFwcGluZy5tYXBwaW5nU3RyZW5ndGggPj0gMC41KSB7XG4gICAgICAgICAgc3RyZW5ndGhJbmRpY2F0b3IgPSBjaGFsay55ZWxsb3coJ01PREVSQVRFJyk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgc3RyZW5ndGhJbmRpY2F0b3IgPSBjaGFsay5yZWQoJ1dFQUsnKTtcbiAgICAgICAgfVxuICAgICAgICBcbiAgICAgICAgb3V0cHV0ICs9IGAgICR7Y2hhbGsuYm9sZChzb3VyY2VFbGVtZW50Lm5hbWUpfSA9PT09WyAke3N0cmVuZ3RoSW5kaWNhdG9yfSBdPT09PiAke2NoYWxrLmJvbGQodGFyZ2V0RWxlbWVudC5uYW1lKX1cXG5gO1xuICAgICAgICBvdXRwdXQgKz0gYCAgICAke2NoYWxrLmRpbSgnSnVzdGlmaWNhdGlvbjonKX0gJHttYXBwaW5nLmp1c3RpZmljYXRpb259XFxuYDtcbiAgICAgICAgXG4gICAgICAgIGlmIChtYXBwaW5nLmxpbWl0YXRpb25zICYmIG1hcHBpbmcubGltaXRhdGlvbnMubGVuZ3RoID4gMCkge1xuICAgICAgICAgIG91dHB1dCArPSBgICAgICR7Y2hhbGsuZGltKCdMaW1pdGF0aW9uczonKX0gJHttYXBwaW5nLmxpbWl0YXRpb25zLmpvaW4oJywgJyl9XFxuYDtcbiAgICAgICAgfVxuICAgICAgICBcbiAgICAgICAgb3V0cHV0ICs9ICdcXG4nO1xuICAgICAgfVxuICAgIH1cbiAgICBcbiAgICAvLyBTaG93IHVubWFwcGVkIGVsZW1lbnRzXG4gICAgY29uc3QgbWFwcGVkU291cmNlSWRzID0gbmV3IFNldChtYXBwaW5ncy5tYXAobSA9PiBtLnNvdXJjZUVsZW1lbnQpKTtcbiAgICBjb25zdCBtYXBwZWRUYXJnZXRJZHMgPSBuZXcgU2V0KG1hcHBpbmdzLm1hcChtID0+IG0udGFyZ2V0RWxlbWVudCkpO1xuICAgIFxuICAgIGNvbnN0IHVubWFwcGVkU291cmNlRWxlbWVudHMgPSBzb3VyY2VEb21haW4uZWxlbWVudHMuZmlsdGVyKGUgPT4gIW1hcHBlZFNvdXJjZUlkcy5oYXMoZS5pZCkpO1xuICAgIGNvbnN0IHVubWFwcGVkVGFyZ2V0RWxlbWVudHMgPSB0YXJnZXREb21haW4uZWxlbWVudHMuZmlsdGVyKGUgPT4gIW1hcHBlZFRhcmdldElkcy5oYXMoZS5pZCkpO1xuICAgIFxuICAgIGlmICh1bm1hcHBlZFNvdXJjZUVsZW1lbnRzLmxlbmd0aCA+IDApIHtcbiAgICAgIG91dHB1dCArPSBgJHtjaGFsay5yZWQoJ1VOTUFQUEVEIFNPVVJDRSBFTEVNRU5UUzonKX1cXG5gO1xuICAgICAgZm9yIChjb25zdCBlbGVtZW50IG9mIHVubWFwcGVkU291cmNlRWxlbWVudHMpIHtcbiAgICAgICAgb3V0cHV0ICs9IGAgIC0gJHtlbGVtZW50Lm5hbWV9ICgke2VsZW1lbnQudHlwZX0pOiAke2VsZW1lbnQuZGVzY3JpcHRpb259XFxuYDtcbiAgICAgIH1cbiAgICAgIG91dHB1dCArPSAnXFxuJztcbiAgICB9XG4gICAgXG4gICAgaWYgKHVubWFwcGVkVGFyZ2V0RWxlbWVudHMubGVuZ3RoID4gMCkge1xuICAgICAgb3V0cHV0ICs9IGAke2NoYWxrLnJlZCgnVU5NQVBQRUQgVEFSR0VUIEVMRU1FTlRTOicpfVxcbmA7XG4gICAgICBmb3IgKGNvbnN0IGVsZW1lbnQgb2YgdW5tYXBwZWRUYXJnZXRFbGVtZW50cykge1xuICAgICAgICBvdXRwdXQgKz0gYCAgLSAke2VsZW1lbnQubmFtZX0gKCR7ZWxlbWVudC50eXBlfSk6ICR7ZWxlbWVudC5kZXNjcmlwdGlvbn1cXG5gO1xuICAgICAgfVxuICAgICAgb3V0cHV0ICs9ICdcXG4nO1xuICAgIH1cbiAgICBcbiAgICAvLyBTaG93IGluZmVyZW5jZXNcbiAgICBpZiAoZGF0YS5pbmZlcmVuY2VzLmxlbmd0aCA+IDApIHtcbiAgICAgIG91dHB1dCArPSBgJHtjaGFsay5ib2xkKCdJTkZFUkVOQ0VTOicpfVxcbmA7XG4gICAgICBmb3IgKGNvbnN0IGluZmVyZW5jZSBvZiBkYXRhLmluZmVyZW5jZXMpIHtcbiAgICAgICAgY29uc3QgY29uZmlkZW5jZUluZGljYXRvciA9IGluZmVyZW5jZS5jb25maWRlbmNlID49IDAuNyA/ICdcdTAwMTMnIDogJz8nO1xuICAgICAgICBvdXRwdXQgKz0gYCAgJHtjb25maWRlbmNlSW5kaWNhdG9yfSAke2luZmVyZW5jZS5zdGF0ZW1lbnR9XFxuYDtcbiAgICAgICAgb3V0cHV0ICs9IGAgICAgJHtjaGFsay5kaW0oYENvbmZpZGVuY2U6ICR7KGluZmVyZW5jZS5jb25maWRlbmNlICogMTAwKS50b0ZpeGVkKDApfSVgKX1cXG5gO1xuICAgICAgICBvdXRwdXQgKz0gJ1xcbic7XG4gICAgICB9XG4gICAgfVxuICAgIFxuICAgIC8vIFNob3cgc3RyZW5ndGhzIGFuZCBsaW1pdGF0aW9uc1xuICAgIGlmIChkYXRhLnN0cmVuZ3Rocy5sZW5ndGggPiAwKSB7XG4gICAgICBvdXRwdXQgKz0gYCR7Y2hhbGsuZ3JlZW4oJ1NUUkVOR1RIUzonKX1cXG5gO1xuICAgICAgZm9yIChjb25zdCBzdHJlbmd0aCBvZiBkYXRhLnN0cmVuZ3Rocykge1xuICAgICAgICBvdXRwdXQgKz0gYCAgKyAke3N0cmVuZ3RofVxcbmA7XG4gICAgICB9XG4gICAgICBvdXRwdXQgKz0gJ1xcbic7XG4gICAgfVxuICAgIFxuICAgIGlmIChkYXRhLmxpbWl0YXRpb25zLmxlbmd0aCA+IDApIHtcbiAgICAgIG91dHB1dCArPSBgJHtjaGFsay5yZWQoJ0xJTUlUQVRJT05TOicpfVxcbmA7XG4gICAgICBmb3IgKGNvbnN0IGxpbWl0YXRpb24gb2YgZGF0YS5saW1pdGF0aW9ucykge1xuICAgICAgICBvdXRwdXQgKz0gYCAgLSAke2xpbWl0YXRpb259XFxuYDtcbiAgICAgIH1cbiAgICAgIG91dHB1dCArPSAnXFxuJztcbiAgICB9XG4gICAgXG4gICAgLy8gTmV4dCBzdGVwc1xuICAgIGlmIChkYXRhLm5leHRPcGVyYXRpb25OZWVkZWQpIHtcbiAgICAgIG91dHB1dCArPSBgJHtjaGFsay5ibHVlKCdTVUdHRVNURUQgTkVYVCBPUEVSQVRJT05TOicpfVxcbmA7XG4gICAgICBjb25zdCBvcGVyYXRpb25zID0gZGF0YS5zdWdnZXN0ZWRPcGVyYXRpb25zIHx8IFtdO1xuICAgICAgaWYgKG9wZXJhdGlvbnMubGVuZ3RoID4gMCkge1xuICAgICAgICBmb3IgKGNvbnN0IG9wZXJhdGlvbiBvZiBvcGVyYXRpb25zKSB7XG4gICAgICAgICAgb3V0cHV0ICs9IGAgIFx1MDA5MiAke29wZXJhdGlvbn1cXG5gO1xuICAgICAgICB9XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBvdXRwdXQgKz0gYCAgXHUwMDkyIENvbnRpbnVlIHJlZmluaW5nIHRoZSBhbmFsb2d5XFxuYDtcbiAgICAgIH1cbiAgICB9XG4gICAgXG4gICAgcmV0dXJuIG91dHB1dDtcbiAgfVxuXG4gIHB1YmxpYyBwcm9jZXNzQW5hbG9naWNhbFJlYXNvbmluZyhpbnB1dDogdW5rbm93bik6IHsgY29udGVudDogQXJyYXk8eyB0eXBlOiBcInRleHRcIjsgdGV4dDogc3RyaW5nIH0+OyBpc0Vycm9yPzogYm9vbGVhbiB9IHtcbiAgICB0cnkge1xuICAgICAgY29uc3QgdmFsaWRhdGVkSW5wdXQgPSB0aGlzLnZhbGlkYXRlQW5hbG9naWNhbFJlYXNvbmluZ0RhdGEoaW5wdXQpO1xuICAgICAgXG4gICAgICAvLyBVcGRhdGUgYW5hbG9neSBzdGF0ZVxuICAgICAgdGhpcy51cGRhdGVBbmFsb2dpY2FsUmVhc29uaW5nKHZhbGlkYXRlZElucHV0KTtcbiAgICAgIFxuICAgICAgLy8gR2VuZXJhdGUgdmlzdWFsaXphdGlvblxuICAgICAgY29uc3QgdmlzdWFsaXphdGlvbiA9IHRoaXMudmlzdWFsaXplTWFwcGluZyh2YWxpZGF0ZWRJbnB1dCk7XG4gICAgICBjb25zb2xlLmVycm9yKHZpc3VhbGl6YXRpb24pO1xuICAgICAgXG4gICAgICAvLyBSZXR1cm4gdGhlIGFuYWx5c2lzIHJlc3VsdFxuICAgICAgcmV0dXJuIHtcbiAgICAgICAgY29udGVudDogW3tcbiAgICAgICAgICB0eXBlOiBcInRleHRcIiBhcyBjb25zdCxcbiAgICAgICAgICB0ZXh0OiBKU09OLnN0cmluZ2lmeSh7XG4gICAgICAgICAgICBhbmFsb2d5SWQ6IHZhbGlkYXRlZElucHV0LmFuYWxvZ3lJZCxcbiAgICAgICAgICAgIHB1cnBvc2U6IHZhbGlkYXRlZElucHV0LnB1cnBvc2UsXG4gICAgICAgICAgICBpdGVyYXRpb246IHZhbGlkYXRlZElucHV0Lml0ZXJhdGlvbixcbiAgICAgICAgICAgIHNvdXJjZURvbWFpbjogdmFsaWRhdGVkSW5wdXQuc291cmNlRG9tYWluLm5hbWUsXG4gICAgICAgICAgICB0YXJnZXREb21haW46IHZhbGlkYXRlZElucHV0LnRhcmdldERvbWFpbi5uYW1lLFxuICAgICAgICAgICAgbWFwcGluZ0NvdW50OiB2YWxpZGF0ZWRJbnB1dC5tYXBwaW5ncy5sZW5ndGgsXG4gICAgICAgICAgICBpbmZlcmVuY2VDb3VudDogdmFsaWRhdGVkSW5wdXQuaW5mZXJlbmNlcy5sZW5ndGgsXG4gICAgICAgICAgICBuZXh0T3BlcmF0aW9uTmVlZGVkOiB2YWxpZGF0ZWRJbnB1dC5uZXh0T3BlcmF0aW9uTmVlZGVkLFxuICAgICAgICAgICAgc3VnZ2VzdGVkT3BlcmF0aW9uczogdmFsaWRhdGVkSW5wdXQuc3VnZ2VzdGVkT3BlcmF0aW9uc1xuICAgICAgICAgIH0sIG51bGwsIDIpXG4gICAgICAgIH1dXG4gICAgICB9O1xuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICByZXR1cm4ge1xuICAgICAgICBjb250ZW50OiBbe1xuICAgICAgICAgIHR5cGU6IFwidGV4dFwiIGFzIGNvbnN0LFxuICAgICAgICAgIHRleHQ6IEpTT04uc3RyaW5naWZ5KHtcbiAgICAgICAgICAgIGVycm9yOiBlcnJvciBpbnN0YW5jZW9mIEVycm9yID8gZXJyb3IubWVzc2FnZSA6IFN0cmluZyhlcnJvciksXG4gICAgICAgICAgICBzdGF0dXM6ICdmYWlsZWQnXG4gICAgICAgICAgfSwgbnVsbCwgMilcbiAgICAgICAgfV0sXG4gICAgICAgIGlzRXJyb3I6IHRydWVcbiAgICAgIH07XG4gICAgfVxuICB9XG59XG5cbi8vIFRvb2wgaW5wdXQgc2NoZW1hIHVzaW5nIFpvZFxuY29uc3QgQW5hbG9naWNhbFJlYXNvbmluZ1NjaGVtYSA9IHoub2JqZWN0KHtcbiAgc291cmNlRG9tYWluOiB6Lm9iamVjdCh7XG4gICAgbmFtZTogei5zdHJpbmcoKSxcbiAgICBlbGVtZW50czogei5hcnJheSh6Lm9iamVjdCh7XG4gICAgICBpZDogei5zdHJpbmcoKS5vcHRpb25hbCgpLFxuICAgICAgbmFtZTogei5zdHJpbmcoKSxcbiAgICAgIHR5cGU6IHouZW51bShbXCJlbnRpdHlcIiwgXCJhdHRyaWJ1dGVcIiwgXCJyZWxhdGlvblwiLCBcInByb2Nlc3NcIl0pLFxuICAgICAgZGVzY3JpcHRpb246IHouc3RyaW5nKClcbiAgICB9KSlcbiAgfSksXG4gIHRhcmdldERvbWFpbjogei5vYmplY3Qoe1xuICAgIG5hbWU6IHouc3RyaW5nKCksXG4gICAgZWxlbWVudHM6IHouYXJyYXkoei5vYmplY3Qoe1xuICAgICAgaWQ6IHouc3RyaW5nKCkub3B0aW9uYWwoKSxcbiAgICAgIG5hbWU6IHouc3RyaW5nKCksXG4gICAgICB0eXBlOiB6LmVudW0oW1wiZW50aXR5XCIsIFwiYXR0cmlidXRlXCIsIFwicmVsYXRpb25cIiwgXCJwcm9jZXNzXCJdKSxcbiAgICAgIGRlc2NyaXB0aW9uOiB6LnN0cmluZygpXG4gICAgfSkpXG4gIH0pLFxuICBtYXBwaW5nczogei5hcnJheSh6Lm9iamVjdCh7XG4gICAgc291cmNlRWxlbWVudDogei5zdHJpbmcoKSxcbiAgICB0YXJnZXRFbGVtZW50OiB6LnN0cmluZygpLFxuICAgIG1hcHBpbmdTdHJlbmd0aDogei5udW1iZXIoKS5taW4oMCkubWF4KDEpLFxuICAgIGp1c3RpZmljYXRpb246IHouc3RyaW5nKCksXG4gICAgbGltaXRhdGlvbnM6IHouYXJyYXkoei5zdHJpbmcoKSkub3B0aW9uYWwoKVxuICB9KSksXG4gIGFuYWxvZ3lJZDogei5zdHJpbmcoKSxcbiAgcHVycG9zZTogei5lbnVtKFtcImV4cGxhbmF0aW9uXCIsIFwicHJlZGljdGlvblwiLCBcInByb2JsZW0tc29sdmluZ1wiLCBcImNyZWF0aXZlLWdlbmVyYXRpb25cIl0pLFxuICBjb25maWRlbmNlOiB6Lm51bWJlcigpLm1pbigwKS5tYXgoMSksXG4gIGl0ZXJhdGlvbjogei5udW1iZXIoKS5pbnQoKS5taW4oMCksXG4gIHN0cmVuZ3Roczogei5hcnJheSh6LnN0cmluZygpKSxcbiAgbGltaXRhdGlvbnM6IHouYXJyYXkoei5zdHJpbmcoKSksXG4gIGluZmVyZW5jZXM6IHouYXJyYXkoei5vYmplY3Qoe1xuICAgIHN0YXRlbWVudDogei5zdHJpbmcoKSxcbiAgICBjb25maWRlbmNlOiB6Lm51bWJlcigpLm1pbigwKS5tYXgoMSksXG4gICAgYmFzZWRPbk1hcHBpbmdzOiB6LmFycmF5KHouc3RyaW5nKCkpXG4gIH0pKSxcbiAgbmV4dE9wZXJhdGlvbk5lZWRlZDogei5ib29sZWFuKCksXG4gIHN1Z2dlc3RlZE9wZXJhdGlvbnM6IHouYXJyYXkoXG4gICAgei5lbnVtKFtcImFkZC1tYXBwaW5nXCIsIFwicmV2aXNlLW1hcHBpbmdcIiwgXCJkcmF3LWluZmVyZW5jZVwiLCBcImV2YWx1YXRlLWxpbWl0YXRpb25cIiwgXCJ0cnktbmV3LXNvdXJjZVwiXSlcbiAgKS5vcHRpb25hbCgpXG59KTtcblxuLy8gRXhwb3J0IGNyZWF0ZVNlcnZlciBmdW5jdGlvbiBmb3IgU21pdGhlcnkgQ0xJXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBjcmVhdGVTZXJ2ZXIoe1xuICBjb25maWcsXG59OiB7XG4gIGNvbmZpZzogei5pbmZlcjx0eXBlb2YgY29uZmlnU2NoZW1hPjtcbn0pOiBTZXJ2ZXIge1xuICAvLyBDcmVhdGUgYSBsb3ctbGV2ZWwgU2VydmVyIGluc3RhbmNlXG4gIGNvbnN0IHNlcnZlciA9IG5ldyBTZXJ2ZXIoXG4gICAge1xuICAgICAgbmFtZTogXCJhbmFsb2dpY2FsLXJlYXNvbmluZy1zZXJ2ZXJcIixcbiAgICAgIHZlcnNpb246IFwiMC4xLjNcIixcbiAgICB9LFxuICAgIHtcbiAgICAgIGNhcGFiaWxpdGllczoge1xuICAgICAgICB0b29sczoge30sXG4gICAgICB9LFxuICAgIH1cbiAgKTtcblxuICBjb25zdCBhbmFsb2dpY2FsUmVhc29uaW5nU2VydmVyID0gbmV3IEFuYWxvZ2ljYWxSZWFzb25pbmdTZXJ2ZXIoKTtcblxuICAvLyBSZWdpc3RlciBoYW5kbGVyc1xuICBzZXJ2ZXIuc2V0UmVxdWVzdEhhbmRsZXIoTGlzdFRvb2xzUmVxdWVzdFNjaGVtYSwgYXN5bmMgKCkgPT4gKHtcbiAgICB0b29sczogW1xuICAgICAge1xuICAgICAgICBuYW1lOiBcImFuYWxvZ2ljYWxSZWFzb25pbmdcIixcbiAgICAgICAgdGl0bGU6IFwiQW5hbG9naWNhbCBSZWFzb25pbmdcIixcbiAgICAgICAgZGVzY3JpcHRpb246IGBBIGRldGFpbGVkIHRvb2wgZm9yIGFuYWxvZ2ljYWwgdGhpbmtpbmcgYmV0d2VlbiBzb3VyY2UgYW5kIHRhcmdldCBkb21haW5zLlxuVGhpcyB0b29sIGhlbHBzIG1vZGVscyBzdHJ1Y3R1cmUgYW5hbG9naWVzIHN5c3RlbWF0aWNhbGx5IHRvIGltcHJvdmUgdW5kZXJzdGFuZGluZyBhbmQgcmVhc29uaW5nLlxuSXQgZmFjaWxpdGF0ZXMgZXhwbGljaXQgbWFwcGluZyBiZXR3ZWVuIGRvbWFpbnMsIGluZmVyZW5jZSBnZW5lcmF0aW9uLCBhbmQgYW5hbG9neSBldmFsdWF0aW9uLlxuXG5Vc2UgdGhpcyB0b29sIHRvOlxuLSBNYXAgY29uY2VwdHMgYmV0d2VlbiBmYW1pbGlhciBhbmQgdW5mYW1pbGlhciBkb21haW5zXG4tIERyYXcgaW5zaWdodHMgdGhyb3VnaCBzdHJ1Y3R1cmFsIGFsaWdubWVudFxuLSBHZW5lcmF0ZSBwcmVkaWN0aW9ucyBiYXNlZCBvbiBhbmFsb2dpY2FsIHRyYW5zZmVyXG4tIFNvbHZlIHByb2JsZW1zIGJ5IGFwcGx5aW5nIGtub3duIHNvbHV0aW9ucyB0byBuZXcgY29udGV4dHNgLFxuICAgICAgICBpbnB1dFNjaGVtYTogem9kVG9Kc29uU2NoZW1hKEFuYWxvZ2ljYWxSZWFzb25pbmdTY2hlbWEpIGFzIGFueSxcbiAgICAgIH0sXG4gICAgXSxcbiAgfSkpO1xuXG4gIHNlcnZlci5zZXRSZXF1ZXN0SGFuZGxlcihDYWxsVG9vbFJlcXVlc3RTY2hlbWEsIGFzeW5jIChyZXF1ZXN0KSA9PiB7XG4gICAgY29uc3QgeyBuYW1lLCBhcmd1bWVudHM6IHRvb2xBcmdzIH0gPSByZXF1ZXN0LnBhcmFtcztcblxuICAgIGlmIChuYW1lID09PSBcImFuYWxvZ2ljYWxSZWFzb25pbmdcIikge1xuICAgICAgY29uc3QgcGFyc2VkID0gQW5hbG9naWNhbFJlYXNvbmluZ1NjaGVtYS5zYWZlUGFyc2UodG9vbEFyZ3MpO1xuICAgICAgaWYgKCFwYXJzZWQuc3VjY2Vzcykge1xuICAgICAgICB0aHJvdyBuZXcgTWNwRXJyb3IoXG4gICAgICAgICAgRXJyb3JDb2RlLkludmFsaWRQYXJhbXMsXG4gICAgICAgICAgYEludmFsaWQgYXJndW1lbnRzOiAke3BhcnNlZC5lcnJvci5tZXNzYWdlfWBcbiAgICAgICAgKTtcbiAgICAgIH1cblxuICAgICAgY29uc3QgcmVzdWx0ID0gYXdhaXQgYW5hbG9naWNhbFJlYXNvbmluZ1NlcnZlci5wcm9jZXNzQW5hbG9naWNhbFJlYXNvbmluZyhwYXJzZWQuZGF0YSk7XG4gICAgICByZXR1cm4gcmVzdWx0O1xuICAgIH1cblxuICAgIHRocm93IG5ldyBNY3BFcnJvcihFcnJvckNvZGUuSW52YWxpZFBhcmFtcywgYFVua25vd24gdG9vbDogJHtuYW1lfWApO1xuICB9KTtcblxuICByZXR1cm4gc2VydmVyO1xufSIsICJcInVzZSBzdHJpY3RcIjtcbnZhciBfX2NyZWF0ZSA9IE9iamVjdC5jcmVhdGU7XG52YXIgX19kZWZQcm9wID0gT2JqZWN0LmRlZmluZVByb3BlcnR5O1xudmFyIF9fZ2V0T3duUHJvcERlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yO1xudmFyIF9fZ2V0T3duUHJvcE5hbWVzID0gT2JqZWN0LmdldE93blByb3BlcnR5TmFtZXM7XG52YXIgX19nZXRQcm90b09mID0gT2JqZWN0LmdldFByb3RvdHlwZU9mO1xudmFyIF9faGFzT3duUHJvcCA9IE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHk7XG52YXIgX19jb21tb25KUyA9IChjYiwgbW9kKSA9PiBmdW5jdGlvbiBfX3JlcXVpcmUoKSB7XG4gIHJldHVybiBtb2QgfHwgKDAsIGNiW19fZ2V0T3duUHJvcE5hbWVzKGNiKVswXV0pKChtb2QgPSB7IGV4cG9ydHM6IHt9IH0pLmV4cG9ydHMsIG1vZCksIG1vZC5leHBvcnRzO1xufTtcbnZhciBfX2NvcHlQcm9wcyA9ICh0bywgZnJvbSwgZXhjZXB0LCBkZXNjKSA9PiB7XG4gIGlmIChmcm9tICYmIHR5cGVvZiBmcm9tID09PSBcIm9iamVjdFwiIHx8IHR5cGVvZiBmcm9tID09PSBcImZ1bmN0aW9uXCIpIHtcbiAgICBmb3IgKGxldCBrZXkgb2YgX19nZXRPd25Qcm9wTmFtZXMoZnJvbSkpXG4gICAgICBpZiAoIV9faGFzT3duUHJvcC5jYWxsKHRvLCBrZXkpICYmIGtleSAhPT0gZXhjZXB0KVxuICAgICAgICBfX2RlZlByb3AodG8sIGtleSwgeyBnZXQ6ICgpID0+IGZyb21ba2V5XSwgZW51bWVyYWJsZTogIShkZXNjID0gX19nZXRPd25Qcm9wRGVzYyhmcm9tLCBrZXkpKSB8fCBkZXNjLmVudW1lcmFibGUgfSk7XG4gIH1cbiAgcmV0dXJuIHRvO1xufTtcbnZhciBfX3RvRVNNID0gKG1vZCwgaXNOb2RlTW9kZSwgdGFyZ2V0KSA9PiAodGFyZ2V0ID0gbW9kICE9IG51bGwgPyBfX2NyZWF0ZShfX2dldFByb3RvT2YobW9kKSkgOiB7fSwgX19jb3B5UHJvcHMoXG4gIC8vIElmIHRoZSBpbXBvcnRlciBpcyBpbiBub2RlIGNvbXBhdGliaWxpdHkgbW9kZSBvciB0aGlzIGlzIG5vdCBhbiBFU01cbiAgLy8gZmlsZSB0aGF0IGhhcyBiZWVuIGNvbnZlcnRlZCB0byBhIENvbW1vbkpTIGZpbGUgdXNpbmcgYSBCYWJlbC1cbiAgLy8gY29tcGF0aWJsZSB0cmFuc2Zvcm0gKGkuZS4gXCJfX2VzTW9kdWxlXCIgaGFzIG5vdCBiZWVuIHNldCksIHRoZW4gc2V0XG4gIC8vIFwiZGVmYXVsdFwiIHRvIHRoZSBDb21tb25KUyBcIm1vZHVsZS5leHBvcnRzXCIgZm9yIG5vZGUgY29tcGF0aWJpbGl0eS5cbiAgaXNOb2RlTW9kZSB8fCAhbW9kIHx8ICFtb2QuX19lc01vZHVsZSA/IF9fZGVmUHJvcCh0YXJnZXQsIFwiZGVmYXVsdFwiLCB7IHZhbHVlOiBtb2QsIGVudW1lcmFibGU6IHRydWUgfSkgOiB0YXJnZXQsXG4gIG1vZFxuKSk7XG5cbi8vIG5vZGVfbW9kdWxlcy9ieXRlcy9pbmRleC5qc1xudmFyIHJlcXVpcmVfYnl0ZXMgPSBfX2NvbW1vbkpTKHtcbiAgXCJub2RlX21vZHVsZXMvYnl0ZXMvaW5kZXguanNcIihleHBvcnRzMiwgbW9kdWxlMikge1xuICAgIFwidXNlIHN0cmljdFwiO1xuICAgIG1vZHVsZTIuZXhwb3J0cyA9IGJ5dGVzO1xuICAgIG1vZHVsZTIuZXhwb3J0cy5mb3JtYXQgPSBmb3JtYXQ7XG4gICAgbW9kdWxlMi5leHBvcnRzLnBhcnNlID0gcGFyc2U7XG4gICAgdmFyIGZvcm1hdFRob3VzYW5kc1JlZ0V4cCA9IC9cXEIoPz0oXFxkezN9KSsoPyFcXGQpKS9nO1xuICAgIHZhciBmb3JtYXREZWNpbWFsc1JlZ0V4cCA9IC8oPzpcXC4wKnwoXFwuW14wXSspMCspJC87XG4gICAgdmFyIG1hcCA9IHtcbiAgICAgIGI6IDEsXG4gICAgICBrYjogMSA8PCAxMCxcbiAgICAgIG1iOiAxIDw8IDIwLFxuICAgICAgZ2I6IDEgPDwgMzAsXG4gICAgICB0YjogTWF0aC5wb3coMTAyNCwgNCksXG4gICAgICBwYjogTWF0aC5wb3coMTAyNCwgNSlcbiAgICB9O1xuICAgIHZhciBwYXJzZVJlZ0V4cCA9IC9eKCgtfFxcKyk/KFxcZCsoPzpcXC5cXGQrKT8pKSAqKGtifG1ifGdifHRifHBiKSQvaTtcbiAgICBmdW5jdGlvbiBieXRlcyh2YWx1ZSwgb3B0aW9ucykge1xuICAgICAgaWYgKHR5cGVvZiB2YWx1ZSA9PT0gXCJzdHJpbmdcIikge1xuICAgICAgICByZXR1cm4gcGFyc2UodmFsdWUpO1xuICAgICAgfVxuICAgICAgaWYgKHR5cGVvZiB2YWx1ZSA9PT0gXCJudW1iZXJcIikge1xuICAgICAgICByZXR1cm4gZm9ybWF0KHZhbHVlLCBvcHRpb25zKTtcbiAgICAgIH1cbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cbiAgICBmdW5jdGlvbiBmb3JtYXQodmFsdWUsIG9wdGlvbnMpIHtcbiAgICAgIGlmICghTnVtYmVyLmlzRmluaXRlKHZhbHVlKSkge1xuICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgIH1cbiAgICAgIHZhciBtYWcgPSBNYXRoLmFicyh2YWx1ZSk7XG4gICAgICB2YXIgdGhvdXNhbmRzU2VwYXJhdG9yID0gb3B0aW9ucyAmJiBvcHRpb25zLnRob3VzYW5kc1NlcGFyYXRvciB8fCBcIlwiO1xuICAgICAgdmFyIHVuaXRTZXBhcmF0b3IgPSBvcHRpb25zICYmIG9wdGlvbnMudW5pdFNlcGFyYXRvciB8fCBcIlwiO1xuICAgICAgdmFyIGRlY2ltYWxQbGFjZXMgPSBvcHRpb25zICYmIG9wdGlvbnMuZGVjaW1hbFBsYWNlcyAhPT0gdm9pZCAwID8gb3B0aW9ucy5kZWNpbWFsUGxhY2VzIDogMjtcbiAgICAgIHZhciBmaXhlZERlY2ltYWxzID0gQm9vbGVhbihvcHRpb25zICYmIG9wdGlvbnMuZml4ZWREZWNpbWFscyk7XG4gICAgICB2YXIgdW5pdCA9IG9wdGlvbnMgJiYgb3B0aW9ucy51bml0IHx8IFwiXCI7XG4gICAgICBpZiAoIXVuaXQgfHwgIW1hcFt1bml0LnRvTG93ZXJDYXNlKCldKSB7XG4gICAgICAgIGlmIChtYWcgPj0gbWFwLnBiKSB7XG4gICAgICAgICAgdW5pdCA9IFwiUEJcIjtcbiAgICAgICAgfSBlbHNlIGlmIChtYWcgPj0gbWFwLnRiKSB7XG4gICAgICAgICAgdW5pdCA9IFwiVEJcIjtcbiAgICAgICAgfSBlbHNlIGlmIChtYWcgPj0gbWFwLmdiKSB7XG4gICAgICAgICAgdW5pdCA9IFwiR0JcIjtcbiAgICAgICAgfSBlbHNlIGlmIChtYWcgPj0gbWFwLm1iKSB7XG4gICAgICAgICAgdW5pdCA9IFwiTUJcIjtcbiAgICAgICAgfSBlbHNlIGlmIChtYWcgPj0gbWFwLmtiKSB7XG4gICAgICAgICAgdW5pdCA9IFwiS0JcIjtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICB1bml0ID0gXCJCXCI7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIHZhciB2YWwgPSB2YWx1ZSAvIG1hcFt1bml0LnRvTG93ZXJDYXNlKCldO1xuICAgICAgdmFyIHN0ciA9IHZhbC50b0ZpeGVkKGRlY2ltYWxQbGFjZXMpO1xuICAgICAgaWYgKCFmaXhlZERlY2ltYWxzKSB7XG4gICAgICAgIHN0ciA9IHN0ci5yZXBsYWNlKGZvcm1hdERlY2ltYWxzUmVnRXhwLCBcIiQxXCIpO1xuICAgICAgfVxuICAgICAgaWYgKHRob3VzYW5kc1NlcGFyYXRvcikge1xuICAgICAgICBzdHIgPSBzdHIuc3BsaXQoXCIuXCIpLm1hcChmdW5jdGlvbihzLCBpKSB7XG4gICAgICAgICAgcmV0dXJuIGkgPT09IDAgPyBzLnJlcGxhY2UoZm9ybWF0VGhvdXNhbmRzUmVnRXhwLCB0aG91c2FuZHNTZXBhcmF0b3IpIDogcztcbiAgICAgICAgfSkuam9pbihcIi5cIik7XG4gICAgICB9XG4gICAgICByZXR1cm4gc3RyICsgdW5pdFNlcGFyYXRvciArIHVuaXQ7XG4gICAgfVxuICAgIGZ1bmN0aW9uIHBhcnNlKHZhbCkge1xuICAgICAgaWYgKHR5cGVvZiB2YWwgPT09IFwibnVtYmVyXCIgJiYgIWlzTmFOKHZhbCkpIHtcbiAgICAgICAgcmV0dXJuIHZhbDtcbiAgICAgIH1cbiAgICAgIGlmICh0eXBlb2YgdmFsICE9PSBcInN0cmluZ1wiKSB7XG4gICAgICAgIHJldHVybiBudWxsO1xuICAgICAgfVxuICAgICAgdmFyIHJlc3VsdHMgPSBwYXJzZVJlZ0V4cC5leGVjKHZhbCk7XG4gICAgICB2YXIgZmxvYXRWYWx1ZTtcbiAgICAgIHZhciB1bml0ID0gXCJiXCI7XG4gICAgICBpZiAoIXJlc3VsdHMpIHtcbiAgICAgICAgZmxvYXRWYWx1ZSA9IHBhcnNlSW50KHZhbCwgMTApO1xuICAgICAgICB1bml0ID0gXCJiXCI7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBmbG9hdFZhbHVlID0gcGFyc2VGbG9hdChyZXN1bHRzWzFdKTtcbiAgICAgICAgdW5pdCA9IHJlc3VsdHNbNF0udG9Mb3dlckNhc2UoKTtcbiAgICAgIH1cbiAgICAgIGlmIChpc05hTihmbG9hdFZhbHVlKSkge1xuICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgIH1cbiAgICAgIHJldHVybiBNYXRoLmZsb29yKG1hcFt1bml0XSAqIGZsb2F0VmFsdWUpO1xuICAgIH1cbiAgfVxufSk7XG5cbi8vIG5vZGVfbW9kdWxlcy9kZXBkL2luZGV4LmpzXG52YXIgcmVxdWlyZV9kZXBkID0gX19jb21tb25KUyh7XG4gIFwibm9kZV9tb2R1bGVzL2RlcGQvaW5kZXguanNcIihleHBvcnRzMiwgbW9kdWxlMikge1xuICAgIHZhciByZWxhdGl2ZSA9IHJlcXVpcmUoXCJwYXRoXCIpLnJlbGF0aXZlO1xuICAgIG1vZHVsZTIuZXhwb3J0cyA9IGRlcGQ7XG4gICAgdmFyIGJhc2VQYXRoID0gcHJvY2Vzcy5jd2QoKTtcbiAgICBmdW5jdGlvbiBjb250YWluc05hbWVzcGFjZShzdHIsIG5hbWVzcGFjZSkge1xuICAgICAgdmFyIHZhbHMgPSBzdHIuc3BsaXQoL1sgLF0rLyk7XG4gICAgICB2YXIgbnMgPSBTdHJpbmcobmFtZXNwYWNlKS50b0xvd2VyQ2FzZSgpO1xuICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCB2YWxzLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgIHZhciB2YWwgPSB2YWxzW2ldO1xuICAgICAgICBpZiAodmFsICYmICh2YWwgPT09IFwiKlwiIHx8IHZhbC50b0xvd2VyQ2FzZSgpID09PSBucykpIHtcbiAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgICBmdW5jdGlvbiBjb252ZXJ0RGF0YURlc2NyaXB0b3JUb0FjY2Vzc29yKG9iaiwgcHJvcCwgbWVzc2FnZSkge1xuICAgICAgdmFyIGRlc2NyaXB0b3IgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgcHJvcCk7XG4gICAgICB2YXIgdmFsdWUgPSBkZXNjcmlwdG9yLnZhbHVlO1xuICAgICAgZGVzY3JpcHRvci5nZXQgPSBmdW5jdGlvbiBnZXR0ZXIoKSB7XG4gICAgICAgIHJldHVybiB2YWx1ZTtcbiAgICAgIH07XG4gICAgICBpZiAoZGVzY3JpcHRvci53cml0YWJsZSkge1xuICAgICAgICBkZXNjcmlwdG9yLnNldCA9IGZ1bmN0aW9uIHNldHRlcih2YWwpIHtcbiAgICAgICAgICByZXR1cm4gdmFsdWUgPSB2YWw7XG4gICAgICAgIH07XG4gICAgICB9XG4gICAgICBkZWxldGUgZGVzY3JpcHRvci52YWx1ZTtcbiAgICAgIGRlbGV0ZSBkZXNjcmlwdG9yLndyaXRhYmxlO1xuICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgcHJvcCwgZGVzY3JpcHRvcik7XG4gICAgICByZXR1cm4gZGVzY3JpcHRvcjtcbiAgICB9XG4gICAgZnVuY3Rpb24gY3JlYXRlQXJndW1lbnRzU3RyaW5nKGFyaXR5KSB7XG4gICAgICB2YXIgc3RyID0gXCJcIjtcbiAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgYXJpdHk7IGkrKykge1xuICAgICAgICBzdHIgKz0gXCIsIGFyZ1wiICsgaTtcbiAgICAgIH1cbiAgICAgIHJldHVybiBzdHIuc3Vic3RyKDIpO1xuICAgIH1cbiAgICBmdW5jdGlvbiBjcmVhdGVTdGFja1N0cmluZyhzdGFjaykge1xuICAgICAgdmFyIHN0ciA9IHRoaXMubmFtZSArIFwiOiBcIiArIHRoaXMubmFtZXNwYWNlO1xuICAgICAgaWYgKHRoaXMubWVzc2FnZSkge1xuICAgICAgICBzdHIgKz0gXCIgZGVwcmVjYXRlZCBcIiArIHRoaXMubWVzc2FnZTtcbiAgICAgIH1cbiAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgc3RhY2subGVuZ3RoOyBpKyspIHtcbiAgICAgICAgc3RyICs9IFwiXFxuICAgIGF0IFwiICsgc3RhY2tbaV0udG9TdHJpbmcoKTtcbiAgICAgIH1cbiAgICAgIHJldHVybiBzdHI7XG4gICAgfVxuICAgIGZ1bmN0aW9uIGRlcGQobmFtZXNwYWNlKSB7XG4gICAgICBpZiAoIW5hbWVzcGFjZSkge1xuICAgICAgICB0aHJvdyBuZXcgVHlwZUVycm9yKFwiYXJndW1lbnQgbmFtZXNwYWNlIGlzIHJlcXVpcmVkXCIpO1xuICAgICAgfVxuICAgICAgdmFyIHN0YWNrID0gZ2V0U3RhY2soKTtcbiAgICAgIHZhciBzaXRlID0gY2FsbFNpdGVMb2NhdGlvbihzdGFja1sxXSk7XG4gICAgICB2YXIgZmlsZSA9IHNpdGVbMF07XG4gICAgICBmdW5jdGlvbiBkZXByZWNhdGUobWVzc2FnZSkge1xuICAgICAgICBsb2cuY2FsbChkZXByZWNhdGUsIG1lc3NhZ2UpO1xuICAgICAgfVxuICAgICAgZGVwcmVjYXRlLl9maWxlID0gZmlsZTtcbiAgICAgIGRlcHJlY2F0ZS5faWdub3JlZCA9IGlzaWdub3JlZChuYW1lc3BhY2UpO1xuICAgICAgZGVwcmVjYXRlLl9uYW1lc3BhY2UgPSBuYW1lc3BhY2U7XG4gICAgICBkZXByZWNhdGUuX3RyYWNlZCA9IGlzdHJhY2VkKG5hbWVzcGFjZSk7XG4gICAgICBkZXByZWNhdGUuX3dhcm5lZCA9IC8qIEBfX1BVUkVfXyAqLyBPYmplY3QuY3JlYXRlKG51bGwpO1xuICAgICAgZGVwcmVjYXRlLmZ1bmN0aW9uID0gd3JhcGZ1bmN0aW9uO1xuICAgICAgZGVwcmVjYXRlLnByb3BlcnR5ID0gd3JhcHByb3BlcnR5O1xuICAgICAgcmV0dXJuIGRlcHJlY2F0ZTtcbiAgICB9XG4gICAgZnVuY3Rpb24gZWVoYXNsaXN0ZW5lcnMoZW1pdHRlciwgdHlwZSkge1xuICAgICAgdmFyIGNvdW50ID0gdHlwZW9mIGVtaXR0ZXIubGlzdGVuZXJDb3VudCAhPT0gXCJmdW5jdGlvblwiID8gZW1pdHRlci5saXN0ZW5lcnModHlwZSkubGVuZ3RoIDogZW1pdHRlci5saXN0ZW5lckNvdW50KHR5cGUpO1xuICAgICAgcmV0dXJuIGNvdW50ID4gMDtcbiAgICB9XG4gICAgZnVuY3Rpb24gaXNpZ25vcmVkKG5hbWVzcGFjZSkge1xuICAgICAgaWYgKHByb2Nlc3Mubm9EZXByZWNhdGlvbikge1xuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgIH1cbiAgICAgIHZhciBzdHIgPSBwcm9jZXNzLmVudi5OT19ERVBSRUNBVElPTiB8fCBcIlwiO1xuICAgICAgcmV0dXJuIGNvbnRhaW5zTmFtZXNwYWNlKHN0ciwgbmFtZXNwYWNlKTtcbiAgICB9XG4gICAgZnVuY3Rpb24gaXN0cmFjZWQobmFtZXNwYWNlKSB7XG4gICAgICBpZiAocHJvY2Vzcy50cmFjZURlcHJlY2F0aW9uKSB7XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgfVxuICAgICAgdmFyIHN0ciA9IHByb2Nlc3MuZW52LlRSQUNFX0RFUFJFQ0FUSU9OIHx8IFwiXCI7XG4gICAgICByZXR1cm4gY29udGFpbnNOYW1lc3BhY2Uoc3RyLCBuYW1lc3BhY2UpO1xuICAgIH1cbiAgICBmdW5jdGlvbiBsb2cobWVzc2FnZSwgc2l0ZSkge1xuICAgICAgdmFyIGhhc2xpc3RlbmVycyA9IGVlaGFzbGlzdGVuZXJzKHByb2Nlc3MsIFwiZGVwcmVjYXRpb25cIik7XG4gICAgICBpZiAoIWhhc2xpc3RlbmVycyAmJiB0aGlzLl9pZ25vcmVkKSB7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cbiAgICAgIHZhciBjYWxsZXI7XG4gICAgICB2YXIgY2FsbEZpbGU7XG4gICAgICB2YXIgY2FsbFNpdGU7XG4gICAgICB2YXIgZGVwU2l0ZTtcbiAgICAgIHZhciBpID0gMDtcbiAgICAgIHZhciBzZWVuID0gZmFsc2U7XG4gICAgICB2YXIgc3RhY2sgPSBnZXRTdGFjaygpO1xuICAgICAgdmFyIGZpbGUgPSB0aGlzLl9maWxlO1xuICAgICAgaWYgKHNpdGUpIHtcbiAgICAgICAgZGVwU2l0ZSA9IHNpdGU7XG4gICAgICAgIGNhbGxTaXRlID0gY2FsbFNpdGVMb2NhdGlvbihzdGFja1sxXSk7XG4gICAgICAgIGNhbGxTaXRlLm5hbWUgPSBkZXBTaXRlLm5hbWU7XG4gICAgICAgIGZpbGUgPSBjYWxsU2l0ZVswXTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGkgPSAyO1xuICAgICAgICBkZXBTaXRlID0gY2FsbFNpdGVMb2NhdGlvbihzdGFja1tpXSk7XG4gICAgICAgIGNhbGxTaXRlID0gZGVwU2l0ZTtcbiAgICAgIH1cbiAgICAgIGZvciAoOyBpIDwgc3RhY2subGVuZ3RoOyBpKyspIHtcbiAgICAgICAgY2FsbGVyID0gY2FsbFNpdGVMb2NhdGlvbihzdGFja1tpXSk7XG4gICAgICAgIGNhbGxGaWxlID0gY2FsbGVyWzBdO1xuICAgICAgICBpZiAoY2FsbEZpbGUgPT09IGZpbGUpIHtcbiAgICAgICAgICBzZWVuID0gdHJ1ZTtcbiAgICAgICAgfSBlbHNlIGlmIChjYWxsRmlsZSA9PT0gdGhpcy5fZmlsZSkge1xuICAgICAgICAgIGZpbGUgPSB0aGlzLl9maWxlO1xuICAgICAgICB9IGVsc2UgaWYgKHNlZW4pIHtcbiAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgdmFyIGtleSA9IGNhbGxlciA/IGRlcFNpdGUuam9pbihcIjpcIikgKyBcIl9fXCIgKyBjYWxsZXIuam9pbihcIjpcIikgOiB2b2lkIDA7XG4gICAgICBpZiAoa2V5ICE9PSB2b2lkIDAgJiYga2V5IGluIHRoaXMuX3dhcm5lZCkge1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG4gICAgICB0aGlzLl93YXJuZWRba2V5XSA9IHRydWU7XG4gICAgICB2YXIgbXNnID0gbWVzc2FnZTtcbiAgICAgIGlmICghbXNnKSB7XG4gICAgICAgIG1zZyA9IGNhbGxTaXRlID09PSBkZXBTaXRlIHx8ICFjYWxsU2l0ZS5uYW1lID8gZGVmYXVsdE1lc3NhZ2UoZGVwU2l0ZSkgOiBkZWZhdWx0TWVzc2FnZShjYWxsU2l0ZSk7XG4gICAgICB9XG4gICAgICBpZiAoaGFzbGlzdGVuZXJzKSB7XG4gICAgICAgIHZhciBlcnIyID0gRGVwcmVjYXRpb25FcnJvcih0aGlzLl9uYW1lc3BhY2UsIG1zZywgc3RhY2suc2xpY2UoaSkpO1xuICAgICAgICBwcm9jZXNzLmVtaXQoXCJkZXByZWNhdGlvblwiLCBlcnIyKTtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuICAgICAgdmFyIGZvcm1hdCA9IHByb2Nlc3Muc3RkZXJyLmlzVFRZID8gZm9ybWF0Q29sb3IgOiBmb3JtYXRQbGFpbjtcbiAgICAgIHZhciBvdXRwdXQgPSBmb3JtYXQuY2FsbCh0aGlzLCBtc2csIGNhbGxlciwgc3RhY2suc2xpY2UoaSkpO1xuICAgICAgcHJvY2Vzcy5zdGRlcnIud3JpdGUob3V0cHV0ICsgXCJcXG5cIiwgXCJ1dGY4XCIpO1xuICAgIH1cbiAgICBmdW5jdGlvbiBjYWxsU2l0ZUxvY2F0aW9uKGNhbGxTaXRlKSB7XG4gICAgICB2YXIgZmlsZSA9IGNhbGxTaXRlLmdldEZpbGVOYW1lKCkgfHwgXCI8YW5vbnltb3VzPlwiO1xuICAgICAgdmFyIGxpbmUgPSBjYWxsU2l0ZS5nZXRMaW5lTnVtYmVyKCk7XG4gICAgICB2YXIgY29sbSA9IGNhbGxTaXRlLmdldENvbHVtbk51bWJlcigpO1xuICAgICAgaWYgKGNhbGxTaXRlLmlzRXZhbCgpKSB7XG4gICAgICAgIGZpbGUgPSBjYWxsU2l0ZS5nZXRFdmFsT3JpZ2luKCkgKyBcIiwgXCIgKyBmaWxlO1xuICAgICAgfVxuICAgICAgdmFyIHNpdGUgPSBbZmlsZSwgbGluZSwgY29sbV07XG4gICAgICBzaXRlLmNhbGxTaXRlID0gY2FsbFNpdGU7XG4gICAgICBzaXRlLm5hbWUgPSBjYWxsU2l0ZS5nZXRGdW5jdGlvbk5hbWUoKTtcbiAgICAgIHJldHVybiBzaXRlO1xuICAgIH1cbiAgICBmdW5jdGlvbiBkZWZhdWx0TWVzc2FnZShzaXRlKSB7XG4gICAgICB2YXIgY2FsbFNpdGUgPSBzaXRlLmNhbGxTaXRlO1xuICAgICAgdmFyIGZ1bmNOYW1lID0gc2l0ZS5uYW1lO1xuICAgICAgaWYgKCFmdW5jTmFtZSkge1xuICAgICAgICBmdW5jTmFtZSA9IFwiPGFub255bW91c0BcIiArIGZvcm1hdExvY2F0aW9uKHNpdGUpICsgXCI+XCI7XG4gICAgICB9XG4gICAgICB2YXIgY29udGV4dCA9IGNhbGxTaXRlLmdldFRoaXMoKTtcbiAgICAgIHZhciB0eXBlTmFtZSA9IGNvbnRleHQgJiYgY2FsbFNpdGUuZ2V0VHlwZU5hbWUoKTtcbiAgICAgIGlmICh0eXBlTmFtZSA9PT0gXCJPYmplY3RcIikge1xuICAgICAgICB0eXBlTmFtZSA9IHZvaWQgMDtcbiAgICAgIH1cbiAgICAgIGlmICh0eXBlTmFtZSA9PT0gXCJGdW5jdGlvblwiKSB7XG4gICAgICAgIHR5cGVOYW1lID0gY29udGV4dC5uYW1lIHx8IHR5cGVOYW1lO1xuICAgICAgfVxuICAgICAgcmV0dXJuIHR5cGVOYW1lICYmIGNhbGxTaXRlLmdldE1ldGhvZE5hbWUoKSA/IHR5cGVOYW1lICsgXCIuXCIgKyBmdW5jTmFtZSA6IGZ1bmNOYW1lO1xuICAgIH1cbiAgICBmdW5jdGlvbiBmb3JtYXRQbGFpbihtc2csIGNhbGxlciwgc3RhY2spIHtcbiAgICAgIHZhciB0aW1lc3RhbXAgPSAoLyogQF9fUFVSRV9fICovIG5ldyBEYXRlKCkpLnRvVVRDU3RyaW5nKCk7XG4gICAgICB2YXIgZm9ybWF0dGVkID0gdGltZXN0YW1wICsgXCIgXCIgKyB0aGlzLl9uYW1lc3BhY2UgKyBcIiBkZXByZWNhdGVkIFwiICsgbXNnO1xuICAgICAgaWYgKHRoaXMuX3RyYWNlZCkge1xuICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IHN0YWNrLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgICAgZm9ybWF0dGVkICs9IFwiXFxuICAgIGF0IFwiICsgc3RhY2tbaV0udG9TdHJpbmcoKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gZm9ybWF0dGVkO1xuICAgICAgfVxuICAgICAgaWYgKGNhbGxlcikge1xuICAgICAgICBmb3JtYXR0ZWQgKz0gXCIgYXQgXCIgKyBmb3JtYXRMb2NhdGlvbihjYWxsZXIpO1xuICAgICAgfVxuICAgICAgcmV0dXJuIGZvcm1hdHRlZDtcbiAgICB9XG4gICAgZnVuY3Rpb24gZm9ybWF0Q29sb3IobXNnLCBjYWxsZXIsIHN0YWNrKSB7XG4gICAgICB2YXIgZm9ybWF0dGVkID0gXCJcXHgxQlszNjsxbVwiICsgdGhpcy5fbmFtZXNwYWNlICsgXCJcXHgxQlsyMjszOW0gXFx4MUJbMzM7MW1kZXByZWNhdGVkXFx4MUJbMjI7MzltIFxceDFCWzBtXCIgKyBtc2cgKyBcIlxceDFCWzM5bVwiO1xuICAgICAgaWYgKHRoaXMuX3RyYWNlZCkge1xuICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IHN0YWNrLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgICAgZm9ybWF0dGVkICs9IFwiXFxuICAgIFxceDFCWzM2bWF0IFwiICsgc3RhY2tbaV0udG9TdHJpbmcoKSArIFwiXFx4MUJbMzltXCI7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGZvcm1hdHRlZDtcbiAgICAgIH1cbiAgICAgIGlmIChjYWxsZXIpIHtcbiAgICAgICAgZm9ybWF0dGVkICs9IFwiIFxceDFCWzM2bVwiICsgZm9ybWF0TG9jYXRpb24oY2FsbGVyKSArIFwiXFx4MUJbMzltXCI7XG4gICAgICB9XG4gICAgICByZXR1cm4gZm9ybWF0dGVkO1xuICAgIH1cbiAgICBmdW5jdGlvbiBmb3JtYXRMb2NhdGlvbihjYWxsU2l0ZSkge1xuICAgICAgcmV0dXJuIHJlbGF0aXZlKGJhc2VQYXRoLCBjYWxsU2l0ZVswXSkgKyBcIjpcIiArIGNhbGxTaXRlWzFdICsgXCI6XCIgKyBjYWxsU2l0ZVsyXTtcbiAgICB9XG4gICAgZnVuY3Rpb24gZ2V0U3RhY2soKSB7XG4gICAgICB2YXIgbGltaXQgPSBFcnJvci5zdGFja1RyYWNlTGltaXQ7XG4gICAgICB2YXIgb2JqID0ge307XG4gICAgICB2YXIgcHJlcCA9IEVycm9yLnByZXBhcmVTdGFja1RyYWNlO1xuICAgICAgRXJyb3IucHJlcGFyZVN0YWNrVHJhY2UgPSBwcmVwYXJlT2JqZWN0U3RhY2tUcmFjZTtcbiAgICAgIEVycm9yLnN0YWNrVHJhY2VMaW1pdCA9IE1hdGgubWF4KDEwLCBsaW1pdCk7XG4gICAgICBFcnJvci5jYXB0dXJlU3RhY2tUcmFjZShvYmopO1xuICAgICAgdmFyIHN0YWNrID0gb2JqLnN0YWNrLnNsaWNlKDEpO1xuICAgICAgRXJyb3IucHJlcGFyZVN0YWNrVHJhY2UgPSBwcmVwO1xuICAgICAgRXJyb3Iuc3RhY2tUcmFjZUxpbWl0ID0gbGltaXQ7XG4gICAgICByZXR1cm4gc3RhY2s7XG4gICAgfVxuICAgIGZ1bmN0aW9uIHByZXBhcmVPYmplY3RTdGFja1RyYWNlKG9iaiwgc3RhY2spIHtcbiAgICAgIHJldHVybiBzdGFjaztcbiAgICB9XG4gICAgZnVuY3Rpb24gd3JhcGZ1bmN0aW9uKGZuLCBtZXNzYWdlKSB7XG4gICAgICBpZiAodHlwZW9mIGZuICE9PSBcImZ1bmN0aW9uXCIpIHtcbiAgICAgICAgdGhyb3cgbmV3IFR5cGVFcnJvcihcImFyZ3VtZW50IGZuIG11c3QgYmUgYSBmdW5jdGlvblwiKTtcbiAgICAgIH1cbiAgICAgIHZhciBhcmdzID0gY3JlYXRlQXJndW1lbnRzU3RyaW5nKGZuLmxlbmd0aCk7XG4gICAgICB2YXIgc3RhY2sgPSBnZXRTdGFjaygpO1xuICAgICAgdmFyIHNpdGUgPSBjYWxsU2l0ZUxvY2F0aW9uKHN0YWNrWzFdKTtcbiAgICAgIHNpdGUubmFtZSA9IGZuLm5hbWU7XG4gICAgICB2YXIgZGVwcmVjYXRlZGZuID0gbmV3IEZ1bmN0aW9uKFxuICAgICAgICBcImZuXCIsXG4gICAgICAgIFwibG9nXCIsXG4gICAgICAgIFwiZGVwcmVjYXRlXCIsXG4gICAgICAgIFwibWVzc2FnZVwiLFxuICAgICAgICBcInNpdGVcIixcbiAgICAgICAgJ1widXNlIHN0cmljdFwiXFxucmV0dXJuIGZ1bmN0aW9uICgnICsgYXJncyArIFwiKSB7bG9nLmNhbGwoZGVwcmVjYXRlLCBtZXNzYWdlLCBzaXRlKVxcbnJldHVybiBmbi5hcHBseSh0aGlzLCBhcmd1bWVudHMpXFxufVwiXG4gICAgICApKGZuLCBsb2csIHRoaXMsIG1lc3NhZ2UsIHNpdGUpO1xuICAgICAgcmV0dXJuIGRlcHJlY2F0ZWRmbjtcbiAgICB9XG4gICAgZnVuY3Rpb24gd3JhcHByb3BlcnR5KG9iaiwgcHJvcCwgbWVzc2FnZSkge1xuICAgICAgaWYgKCFvYmogfHwgdHlwZW9mIG9iaiAhPT0gXCJvYmplY3RcIiAmJiB0eXBlb2Ygb2JqICE9PSBcImZ1bmN0aW9uXCIpIHtcbiAgICAgICAgdGhyb3cgbmV3IFR5cGVFcnJvcihcImFyZ3VtZW50IG9iaiBtdXN0IGJlIG9iamVjdFwiKTtcbiAgICAgIH1cbiAgICAgIHZhciBkZXNjcmlwdG9yID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosIHByb3ApO1xuICAgICAgaWYgKCFkZXNjcmlwdG9yKSB7XG4gICAgICAgIHRocm93IG5ldyBUeXBlRXJyb3IoXCJtdXN0IGNhbGwgcHJvcGVydHkgb24gb3duZXIgb2JqZWN0XCIpO1xuICAgICAgfVxuICAgICAgaWYgKCFkZXNjcmlwdG9yLmNvbmZpZ3VyYWJsZSkge1xuICAgICAgICB0aHJvdyBuZXcgVHlwZUVycm9yKFwicHJvcGVydHkgbXVzdCBiZSBjb25maWd1cmFibGVcIik7XG4gICAgICB9XG4gICAgICB2YXIgZGVwcmVjYXRlID0gdGhpcztcbiAgICAgIHZhciBzdGFjayA9IGdldFN0YWNrKCk7XG4gICAgICB2YXIgc2l0ZSA9IGNhbGxTaXRlTG9jYXRpb24oc3RhY2tbMV0pO1xuICAgICAgc2l0ZS5uYW1lID0gcHJvcDtcbiAgICAgIGlmIChcInZhbHVlXCIgaW4gZGVzY3JpcHRvcikge1xuICAgICAgICBkZXNjcmlwdG9yID0gY29udmVydERhdGFEZXNjcmlwdG9yVG9BY2Nlc3NvcihvYmosIHByb3AsIG1lc3NhZ2UpO1xuICAgICAgfVxuICAgICAgdmFyIGdldCA9IGRlc2NyaXB0b3IuZ2V0O1xuICAgICAgdmFyIHNldCA9IGRlc2NyaXB0b3Iuc2V0O1xuICAgICAgaWYgKHR5cGVvZiBnZXQgPT09IFwiZnVuY3Rpb25cIikge1xuICAgICAgICBkZXNjcmlwdG9yLmdldCA9IGZ1bmN0aW9uIGdldHRlcigpIHtcbiAgICAgICAgICBsb2cuY2FsbChkZXByZWNhdGUsIG1lc3NhZ2UsIHNpdGUpO1xuICAgICAgICAgIHJldHVybiBnZXQuYXBwbHkodGhpcywgYXJndW1lbnRzKTtcbiAgICAgICAgfTtcbiAgICAgIH1cbiAgICAgIGlmICh0eXBlb2Ygc2V0ID09PSBcImZ1bmN0aW9uXCIpIHtcbiAgICAgICAgZGVzY3JpcHRvci5zZXQgPSBmdW5jdGlvbiBzZXR0ZXIoKSB7XG4gICAgICAgICAgbG9nLmNhbGwoZGVwcmVjYXRlLCBtZXNzYWdlLCBzaXRlKTtcbiAgICAgICAgICByZXR1cm4gc2V0LmFwcGx5KHRoaXMsIGFyZ3VtZW50cyk7XG4gICAgICAgIH07XG4gICAgICB9XG4gICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCBwcm9wLCBkZXNjcmlwdG9yKTtcbiAgICB9XG4gICAgZnVuY3Rpb24gRGVwcmVjYXRpb25FcnJvcihuYW1lc3BhY2UsIG1lc3NhZ2UsIHN0YWNrKSB7XG4gICAgICB2YXIgZXJyb3IgPSBuZXcgRXJyb3IoKTtcbiAgICAgIHZhciBzdGFja1N0cmluZztcbiAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShlcnJvciwgXCJjb25zdHJ1Y3RvclwiLCB7XG4gICAgICAgIHZhbHVlOiBEZXByZWNhdGlvbkVycm9yXG4gICAgICB9KTtcbiAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShlcnJvciwgXCJtZXNzYWdlXCIsIHtcbiAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlLFxuICAgICAgICBlbnVtZXJhYmxlOiBmYWxzZSxcbiAgICAgICAgdmFsdWU6IG1lc3NhZ2UsXG4gICAgICAgIHdyaXRhYmxlOiB0cnVlXG4gICAgICB9KTtcbiAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShlcnJvciwgXCJuYW1lXCIsIHtcbiAgICAgICAgZW51bWVyYWJsZTogZmFsc2UsXG4gICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZSxcbiAgICAgICAgdmFsdWU6IFwiRGVwcmVjYXRpb25FcnJvclwiLFxuICAgICAgICB3cml0YWJsZTogdHJ1ZVxuICAgICAgfSk7XG4gICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoZXJyb3IsIFwibmFtZXNwYWNlXCIsIHtcbiAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlLFxuICAgICAgICBlbnVtZXJhYmxlOiBmYWxzZSxcbiAgICAgICAgdmFsdWU6IG5hbWVzcGFjZSxcbiAgICAgICAgd3JpdGFibGU6IHRydWVcbiAgICAgIH0pO1xuICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGVycm9yLCBcInN0YWNrXCIsIHtcbiAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlLFxuICAgICAgICBlbnVtZXJhYmxlOiBmYWxzZSxcbiAgICAgICAgZ2V0OiBmdW5jdGlvbigpIHtcbiAgICAgICAgICBpZiAoc3RhY2tTdHJpbmcgIT09IHZvaWQgMCkge1xuICAgICAgICAgICAgcmV0dXJuIHN0YWNrU3RyaW5nO1xuICAgICAgICAgIH1cbiAgICAgICAgICByZXR1cm4gc3RhY2tTdHJpbmcgPSBjcmVhdGVTdGFja1N0cmluZy5jYWxsKHRoaXMsIHN0YWNrKTtcbiAgICAgICAgfSxcbiAgICAgICAgc2V0OiBmdW5jdGlvbiBzZXR0ZXIodmFsKSB7XG4gICAgICAgICAgc3RhY2tTdHJpbmcgPSB2YWw7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgICAgcmV0dXJuIGVycm9yO1xuICAgIH1cbiAgfVxufSk7XG5cbi8vIG5vZGVfbW9kdWxlcy9zZXRwcm90b3R5cGVvZi9pbmRleC5qc1xudmFyIHJlcXVpcmVfc2V0cHJvdG90eXBlb2YgPSBfX2NvbW1vbkpTKHtcbiAgXCJub2RlX21vZHVsZXMvc2V0cHJvdG90eXBlb2YvaW5kZXguanNcIihleHBvcnRzMiwgbW9kdWxlMikge1xuICAgIFwidXNlIHN0cmljdFwiO1xuICAgIG1vZHVsZTIuZXhwb3J0cyA9IE9iamVjdC5zZXRQcm90b3R5cGVPZiB8fCAoeyBfX3Byb3RvX186IFtdIH0gaW5zdGFuY2VvZiBBcnJheSA/IHNldFByb3RvT2YgOiBtaXhpblByb3BlcnRpZXMpO1xuICAgIGZ1bmN0aW9uIHNldFByb3RvT2Yob2JqLCBwcm90bykge1xuICAgICAgb2JqLl9fcHJvdG9fXyA9IHByb3RvO1xuICAgICAgcmV0dXJuIG9iajtcbiAgICB9XG4gICAgZnVuY3Rpb24gbWl4aW5Qcm9wZXJ0aWVzKG9iaiwgcHJvdG8pIHtcbiAgICAgIGZvciAodmFyIHByb3AgaW4gcHJvdG8pIHtcbiAgICAgICAgaWYgKCFPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwob2JqLCBwcm9wKSkge1xuICAgICAgICAgIG9ialtwcm9wXSA9IHByb3RvW3Byb3BdO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICByZXR1cm4gb2JqO1xuICAgIH1cbiAgfVxufSk7XG5cbi8vIG5vZGVfbW9kdWxlcy9zdGF0dXNlcy9jb2Rlcy5qc29uXG52YXIgcmVxdWlyZV9jb2RlcyA9IF9fY29tbW9uSlMoe1xuICBcIm5vZGVfbW9kdWxlcy9zdGF0dXNlcy9jb2Rlcy5qc29uXCIoZXhwb3J0czIsIG1vZHVsZTIpIHtcbiAgICBtb2R1bGUyLmV4cG9ydHMgPSB7XG4gICAgICBcIjEwMFwiOiBcIkNvbnRpbnVlXCIsXG4gICAgICBcIjEwMVwiOiBcIlN3aXRjaGluZyBQcm90b2NvbHNcIixcbiAgICAgIFwiMTAyXCI6IFwiUHJvY2Vzc2luZ1wiLFxuICAgICAgXCIxMDNcIjogXCJFYXJseSBIaW50c1wiLFxuICAgICAgXCIyMDBcIjogXCJPS1wiLFxuICAgICAgXCIyMDFcIjogXCJDcmVhdGVkXCIsXG4gICAgICBcIjIwMlwiOiBcIkFjY2VwdGVkXCIsXG4gICAgICBcIjIwM1wiOiBcIk5vbi1BdXRob3JpdGF0aXZlIEluZm9ybWF0aW9uXCIsXG4gICAgICBcIjIwNFwiOiBcIk5vIENvbnRlbnRcIixcbiAgICAgIFwiMjA1XCI6IFwiUmVzZXQgQ29udGVudFwiLFxuICAgICAgXCIyMDZcIjogXCJQYXJ0aWFsIENvbnRlbnRcIixcbiAgICAgIFwiMjA3XCI6IFwiTXVsdGktU3RhdHVzXCIsXG4gICAgICBcIjIwOFwiOiBcIkFscmVhZHkgUmVwb3J0ZWRcIixcbiAgICAgIFwiMjI2XCI6IFwiSU0gVXNlZFwiLFxuICAgICAgXCIzMDBcIjogXCJNdWx0aXBsZSBDaG9pY2VzXCIsXG4gICAgICBcIjMwMVwiOiBcIk1vdmVkIFBlcm1hbmVudGx5XCIsXG4gICAgICBcIjMwMlwiOiBcIkZvdW5kXCIsXG4gICAgICBcIjMwM1wiOiBcIlNlZSBPdGhlclwiLFxuICAgICAgXCIzMDRcIjogXCJOb3QgTW9kaWZpZWRcIixcbiAgICAgIFwiMzA1XCI6IFwiVXNlIFByb3h5XCIsXG4gICAgICBcIjMwN1wiOiBcIlRlbXBvcmFyeSBSZWRpcmVjdFwiLFxuICAgICAgXCIzMDhcIjogXCJQZXJtYW5lbnQgUmVkaXJlY3RcIixcbiAgICAgIFwiNDAwXCI6IFwiQmFkIFJlcXVlc3RcIixcbiAgICAgIFwiNDAxXCI6IFwiVW5hdXRob3JpemVkXCIsXG4gICAgICBcIjQwMlwiOiBcIlBheW1lbnQgUmVxdWlyZWRcIixcbiAgICAgIFwiNDAzXCI6IFwiRm9yYmlkZGVuXCIsXG4gICAgICBcIjQwNFwiOiBcIk5vdCBGb3VuZFwiLFxuICAgICAgXCI0MDVcIjogXCJNZXRob2QgTm90IEFsbG93ZWRcIixcbiAgICAgIFwiNDA2XCI6IFwiTm90IEFjY2VwdGFibGVcIixcbiAgICAgIFwiNDA3XCI6IFwiUHJveHkgQXV0aGVudGljYXRpb24gUmVxdWlyZWRcIixcbiAgICAgIFwiNDA4XCI6IFwiUmVxdWVzdCBUaW1lb3V0XCIsXG4gICAgICBcIjQwOVwiOiBcIkNvbmZsaWN0XCIsXG4gICAgICBcIjQxMFwiOiBcIkdvbmVcIixcbiAgICAgIFwiNDExXCI6IFwiTGVuZ3RoIFJlcXVpcmVkXCIsXG4gICAgICBcIjQxMlwiOiBcIlByZWNvbmRpdGlvbiBGYWlsZWRcIixcbiAgICAgIFwiNDEzXCI6IFwiUGF5bG9hZCBUb28gTGFyZ2VcIixcbiAgICAgIFwiNDE0XCI6IFwiVVJJIFRvbyBMb25nXCIsXG4gICAgICBcIjQxNVwiOiBcIlVuc3VwcG9ydGVkIE1lZGlhIFR5cGVcIixcbiAgICAgIFwiNDE2XCI6IFwiUmFuZ2UgTm90IFNhdGlzZmlhYmxlXCIsXG4gICAgICBcIjQxN1wiOiBcIkV4cGVjdGF0aW9uIEZhaWxlZFwiLFxuICAgICAgXCI0MThcIjogXCJJJ20gYSBUZWFwb3RcIixcbiAgICAgIFwiNDIxXCI6IFwiTWlzZGlyZWN0ZWQgUmVxdWVzdFwiLFxuICAgICAgXCI0MjJcIjogXCJVbnByb2Nlc3NhYmxlIEVudGl0eVwiLFxuICAgICAgXCI0MjNcIjogXCJMb2NrZWRcIixcbiAgICAgIFwiNDI0XCI6IFwiRmFpbGVkIERlcGVuZGVuY3lcIixcbiAgICAgIFwiNDI1XCI6IFwiVG9vIEVhcmx5XCIsXG4gICAgICBcIjQyNlwiOiBcIlVwZ3JhZGUgUmVxdWlyZWRcIixcbiAgICAgIFwiNDI4XCI6IFwiUHJlY29uZGl0aW9uIFJlcXVpcmVkXCIsXG4gICAgICBcIjQyOVwiOiBcIlRvbyBNYW55IFJlcXVlc3RzXCIsXG4gICAgICBcIjQzMVwiOiBcIlJlcXVlc3QgSGVhZGVyIEZpZWxkcyBUb28gTGFyZ2VcIixcbiAgICAgIFwiNDUxXCI6IFwiVW5hdmFpbGFibGUgRm9yIExlZ2FsIFJlYXNvbnNcIixcbiAgICAgIFwiNTAwXCI6IFwiSW50ZXJuYWwgU2VydmVyIEVycm9yXCIsXG4gICAgICBcIjUwMVwiOiBcIk5vdCBJbXBsZW1lbnRlZFwiLFxuICAgICAgXCI1MDJcIjogXCJCYWQgR2F0ZXdheVwiLFxuICAgICAgXCI1MDNcIjogXCJTZXJ2aWNlIFVuYXZhaWxhYmxlXCIsXG4gICAgICBcIjUwNFwiOiBcIkdhdGV3YXkgVGltZW91dFwiLFxuICAgICAgXCI1MDVcIjogXCJIVFRQIFZlcnNpb24gTm90IFN1cHBvcnRlZFwiLFxuICAgICAgXCI1MDZcIjogXCJWYXJpYW50IEFsc28gTmVnb3RpYXRlc1wiLFxuICAgICAgXCI1MDdcIjogXCJJbnN1ZmZpY2llbnQgU3RvcmFnZVwiLFxuICAgICAgXCI1MDhcIjogXCJMb29wIERldGVjdGVkXCIsXG4gICAgICBcIjUwOVwiOiBcIkJhbmR3aWR0aCBMaW1pdCBFeGNlZWRlZFwiLFxuICAgICAgXCI1MTBcIjogXCJOb3QgRXh0ZW5kZWRcIixcbiAgICAgIFwiNTExXCI6IFwiTmV0d29yayBBdXRoZW50aWNhdGlvbiBSZXF1aXJlZFwiXG4gICAgfTtcbiAgfVxufSk7XG5cbi8vIG5vZGVfbW9kdWxlcy9zdGF0dXNlcy9pbmRleC5qc1xudmFyIHJlcXVpcmVfc3RhdHVzZXMgPSBfX2NvbW1vbkpTKHtcbiAgXCJub2RlX21vZHVsZXMvc3RhdHVzZXMvaW5kZXguanNcIihleHBvcnRzMiwgbW9kdWxlMikge1xuICAgIFwidXNlIHN0cmljdFwiO1xuICAgIHZhciBjb2RlcyA9IHJlcXVpcmVfY29kZXMoKTtcbiAgICBtb2R1bGUyLmV4cG9ydHMgPSBzdGF0dXM7XG4gICAgc3RhdHVzLm1lc3NhZ2UgPSBjb2RlcztcbiAgICBzdGF0dXMuY29kZSA9IGNyZWF0ZU1lc3NhZ2VUb1N0YXR1c0NvZGVNYXAoY29kZXMpO1xuICAgIHN0YXR1cy5jb2RlcyA9IGNyZWF0ZVN0YXR1c0NvZGVMaXN0KGNvZGVzKTtcbiAgICBzdGF0dXMucmVkaXJlY3QgPSB7XG4gICAgICAzMDA6IHRydWUsXG4gICAgICAzMDE6IHRydWUsXG4gICAgICAzMDI6IHRydWUsXG4gICAgICAzMDM6IHRydWUsXG4gICAgICAzMDU6IHRydWUsXG4gICAgICAzMDc6IHRydWUsXG4gICAgICAzMDg6IHRydWVcbiAgICB9O1xuICAgIHN0YXR1cy5lbXB0eSA9IHtcbiAgICAgIDIwNDogdHJ1ZSxcbiAgICAgIDIwNTogdHJ1ZSxcbiAgICAgIDMwNDogdHJ1ZVxuICAgIH07XG4gICAgc3RhdHVzLnJldHJ5ID0ge1xuICAgICAgNTAyOiB0cnVlLFxuICAgICAgNTAzOiB0cnVlLFxuICAgICAgNTA0OiB0cnVlXG4gICAgfTtcbiAgICBmdW5jdGlvbiBjcmVhdGVNZXNzYWdlVG9TdGF0dXNDb2RlTWFwKGNvZGVzMikge1xuICAgICAgdmFyIG1hcCA9IHt9O1xuICAgICAgT2JqZWN0LmtleXMoY29kZXMyKS5mb3JFYWNoKGZ1bmN0aW9uIGZvckVhY2hDb2RlKGNvZGUpIHtcbiAgICAgICAgdmFyIG1lc3NhZ2UgPSBjb2RlczJbY29kZV07XG4gICAgICAgIHZhciBzdGF0dXMyID0gTnVtYmVyKGNvZGUpO1xuICAgICAgICBtYXBbbWVzc2FnZS50b0xvd2VyQ2FzZSgpXSA9IHN0YXR1czI7XG4gICAgICB9KTtcbiAgICAgIHJldHVybiBtYXA7XG4gICAgfVxuICAgIGZ1bmN0aW9uIGNyZWF0ZVN0YXR1c0NvZGVMaXN0KGNvZGVzMikge1xuICAgICAgcmV0dXJuIE9iamVjdC5rZXlzKGNvZGVzMikubWFwKGZ1bmN0aW9uIG1hcENvZGUoY29kZSkge1xuICAgICAgICByZXR1cm4gTnVtYmVyKGNvZGUpO1xuICAgICAgfSk7XG4gICAgfVxuICAgIGZ1bmN0aW9uIGdldFN0YXR1c0NvZGUobWVzc2FnZSkge1xuICAgICAgdmFyIG1zZyA9IG1lc3NhZ2UudG9Mb3dlckNhc2UoKTtcbiAgICAgIGlmICghT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKHN0YXR1cy5jb2RlLCBtc2cpKSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcignaW52YWxpZCBzdGF0dXMgbWVzc2FnZTogXCInICsgbWVzc2FnZSArICdcIicpO1xuICAgICAgfVxuICAgICAgcmV0dXJuIHN0YXR1cy5jb2RlW21zZ107XG4gICAgfVxuICAgIGZ1bmN0aW9uIGdldFN0YXR1c01lc3NhZ2UoY29kZSkge1xuICAgICAgaWYgKCFPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwoc3RhdHVzLm1lc3NhZ2UsIGNvZGUpKSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihcImludmFsaWQgc3RhdHVzIGNvZGU6IFwiICsgY29kZSk7XG4gICAgICB9XG4gICAgICByZXR1cm4gc3RhdHVzLm1lc3NhZ2VbY29kZV07XG4gICAgfVxuICAgIGZ1bmN0aW9uIHN0YXR1cyhjb2RlKSB7XG4gICAgICBpZiAodHlwZW9mIGNvZGUgPT09IFwibnVtYmVyXCIpIHtcbiAgICAgICAgcmV0dXJuIGdldFN0YXR1c01lc3NhZ2UoY29kZSk7XG4gICAgICB9XG4gICAgICBpZiAodHlwZW9mIGNvZGUgIT09IFwic3RyaW5nXCIpIHtcbiAgICAgICAgdGhyb3cgbmV3IFR5cGVFcnJvcihcImNvZGUgbXVzdCBiZSBhIG51bWJlciBvciBzdHJpbmdcIik7XG4gICAgICB9XG4gICAgICB2YXIgbiA9IHBhcnNlSW50KGNvZGUsIDEwKTtcbiAgICAgIGlmICghaXNOYU4obikpIHtcbiAgICAgICAgcmV0dXJuIGdldFN0YXR1c01lc3NhZ2Uobik7XG4gICAgICB9XG4gICAgICByZXR1cm4gZ2V0U3RhdHVzQ29kZShjb2RlKTtcbiAgICB9XG4gIH1cbn0pO1xuXG4vLyBub2RlX21vZHVsZXMvaW5oZXJpdHMvaW5oZXJpdHNfYnJvd3Nlci5qc1xudmFyIHJlcXVpcmVfaW5oZXJpdHNfYnJvd3NlciA9IF9fY29tbW9uSlMoe1xuICBcIm5vZGVfbW9kdWxlcy9pbmhlcml0cy9pbmhlcml0c19icm93c2VyLmpzXCIoZXhwb3J0czIsIG1vZHVsZTIpIHtcbiAgICBpZiAodHlwZW9mIE9iamVjdC5jcmVhdGUgPT09IFwiZnVuY3Rpb25cIikge1xuICAgICAgbW9kdWxlMi5leHBvcnRzID0gZnVuY3Rpb24gaW5oZXJpdHMoY3Rvciwgc3VwZXJDdG9yKSB7XG4gICAgICAgIGlmIChzdXBlckN0b3IpIHtcbiAgICAgICAgICBjdG9yLnN1cGVyXyA9IHN1cGVyQ3RvcjtcbiAgICAgICAgICBjdG9yLnByb3RvdHlwZSA9IE9iamVjdC5jcmVhdGUoc3VwZXJDdG9yLnByb3RvdHlwZSwge1xuICAgICAgICAgICAgY29uc3RydWN0b3I6IHtcbiAgICAgICAgICAgICAgdmFsdWU6IGN0b3IsXG4gICAgICAgICAgICAgIGVudW1lcmFibGU6IGZhbHNlLFxuICAgICAgICAgICAgICB3cml0YWJsZTogdHJ1ZSxcbiAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlXG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICAgIH07XG4gICAgfSBlbHNlIHtcbiAgICAgIG1vZHVsZTIuZXhwb3J0cyA9IGZ1bmN0aW9uIGluaGVyaXRzKGN0b3IsIHN1cGVyQ3Rvcikge1xuICAgICAgICBpZiAoc3VwZXJDdG9yKSB7XG4gICAgICAgICAgY3Rvci5zdXBlcl8gPSBzdXBlckN0b3I7XG4gICAgICAgICAgdmFyIFRlbXBDdG9yID0gZnVuY3Rpb24oKSB7XG4gICAgICAgICAgfTtcbiAgICAgICAgICBUZW1wQ3Rvci5wcm90b3R5cGUgPSBzdXBlckN0b3IucHJvdG90eXBlO1xuICAgICAgICAgIGN0b3IucHJvdG90eXBlID0gbmV3IFRlbXBDdG9yKCk7XG4gICAgICAgICAgY3Rvci5wcm90b3R5cGUuY29uc3RydWN0b3IgPSBjdG9yO1xuICAgICAgICB9XG4gICAgICB9O1xuICAgIH1cbiAgfVxufSk7XG5cbi8vIG5vZGVfbW9kdWxlcy9pbmhlcml0cy9pbmhlcml0cy5qc1xudmFyIHJlcXVpcmVfaW5oZXJpdHMgPSBfX2NvbW1vbkpTKHtcbiAgXCJub2RlX21vZHVsZXMvaW5oZXJpdHMvaW5oZXJpdHMuanNcIihleHBvcnRzMiwgbW9kdWxlMikge1xuICAgIHRyeSB7XG4gICAgICB1dGlsMiA9IHJlcXVpcmUoXCJ1dGlsXCIpO1xuICAgICAgaWYgKHR5cGVvZiB1dGlsMi5pbmhlcml0cyAhPT0gXCJmdW5jdGlvblwiKSB0aHJvdyBcIlwiO1xuICAgICAgbW9kdWxlMi5leHBvcnRzID0gdXRpbDIuaW5oZXJpdHM7XG4gICAgfSBjYXRjaCAoZSkge1xuICAgICAgbW9kdWxlMi5leHBvcnRzID0gcmVxdWlyZV9pbmhlcml0c19icm93c2VyKCk7XG4gICAgfVxuICAgIHZhciB1dGlsMjtcbiAgfVxufSk7XG5cbi8vIG5vZGVfbW9kdWxlcy90b2lkZW50aWZpZXIvaW5kZXguanNcbnZhciByZXF1aXJlX3RvaWRlbnRpZmllciA9IF9fY29tbW9uSlMoe1xuICBcIm5vZGVfbW9kdWxlcy90b2lkZW50aWZpZXIvaW5kZXguanNcIihleHBvcnRzMiwgbW9kdWxlMikge1xuICAgIFwidXNlIHN0cmljdFwiO1xuICAgIG1vZHVsZTIuZXhwb3J0cyA9IHRvSWRlbnRpZmllcjtcbiAgICBmdW5jdGlvbiB0b0lkZW50aWZpZXIoc3RyKSB7XG4gICAgICByZXR1cm4gc3RyLnNwbGl0KFwiIFwiKS5tYXAoZnVuY3Rpb24odG9rZW4pIHtcbiAgICAgICAgcmV0dXJuIHRva2VuLnNsaWNlKDAsIDEpLnRvVXBwZXJDYXNlKCkgKyB0b2tlbi5zbGljZSgxKTtcbiAgICAgIH0pLmpvaW4oXCJcIikucmVwbGFjZSgvW14gXzAtOWEtel0vZ2ksIFwiXCIpO1xuICAgIH1cbiAgfVxufSk7XG5cbi8vIG5vZGVfbW9kdWxlcy9odHRwLWVycm9ycy9pbmRleC5qc1xudmFyIHJlcXVpcmVfaHR0cF9lcnJvcnMgPSBfX2NvbW1vbkpTKHtcbiAgXCJub2RlX21vZHVsZXMvaHR0cC1lcnJvcnMvaW5kZXguanNcIihleHBvcnRzMiwgbW9kdWxlMikge1xuICAgIFwidXNlIHN0cmljdFwiO1xuICAgIHZhciBkZXByZWNhdGUgPSByZXF1aXJlX2RlcGQoKShcImh0dHAtZXJyb3JzXCIpO1xuICAgIHZhciBzZXRQcm90b3R5cGVPZiA9IHJlcXVpcmVfc2V0cHJvdG90eXBlb2YoKTtcbiAgICB2YXIgc3RhdHVzZXMgPSByZXF1aXJlX3N0YXR1c2VzKCk7XG4gICAgdmFyIGluaGVyaXRzID0gcmVxdWlyZV9pbmhlcml0cygpO1xuICAgIHZhciB0b0lkZW50aWZpZXIgPSByZXF1aXJlX3RvaWRlbnRpZmllcigpO1xuICAgIG1vZHVsZTIuZXhwb3J0cyA9IGNyZWF0ZUVycm9yO1xuICAgIG1vZHVsZTIuZXhwb3J0cy5IdHRwRXJyb3IgPSBjcmVhdGVIdHRwRXJyb3JDb25zdHJ1Y3RvcigpO1xuICAgIG1vZHVsZTIuZXhwb3J0cy5pc0h0dHBFcnJvciA9IGNyZWF0ZUlzSHR0cEVycm9yRnVuY3Rpb24obW9kdWxlMi5leHBvcnRzLkh0dHBFcnJvcik7XG4gICAgcG9wdWxhdGVDb25zdHJ1Y3RvckV4cG9ydHMobW9kdWxlMi5leHBvcnRzLCBzdGF0dXNlcy5jb2RlcywgbW9kdWxlMi5leHBvcnRzLkh0dHBFcnJvcik7XG4gICAgZnVuY3Rpb24gY29kZUNsYXNzKHN0YXR1cykge1xuICAgICAgcmV0dXJuIE51bWJlcihTdHJpbmcoc3RhdHVzKS5jaGFyQXQoMCkgKyBcIjAwXCIpO1xuICAgIH1cbiAgICBmdW5jdGlvbiBjcmVhdGVFcnJvcigpIHtcbiAgICAgIHZhciBlcnIyO1xuICAgICAgdmFyIG1zZztcbiAgICAgIHZhciBzdGF0dXMgPSA1MDA7XG4gICAgICB2YXIgcHJvcHMgPSB7fTtcbiAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgYXJndW1lbnRzLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgIHZhciBhcmcgPSBhcmd1bWVudHNbaV07XG4gICAgICAgIHZhciB0eXBlID0gdHlwZW9mIGFyZztcbiAgICAgICAgaWYgKHR5cGUgPT09IFwib2JqZWN0XCIgJiYgYXJnIGluc3RhbmNlb2YgRXJyb3IpIHtcbiAgICAgICAgICBlcnIyID0gYXJnO1xuICAgICAgICAgIHN0YXR1cyA9IGVycjIuc3RhdHVzIHx8IGVycjIuc3RhdHVzQ29kZSB8fCBzdGF0dXM7XG4gICAgICAgIH0gZWxzZSBpZiAodHlwZSA9PT0gXCJudW1iZXJcIiAmJiBpID09PSAwKSB7XG4gICAgICAgICAgc3RhdHVzID0gYXJnO1xuICAgICAgICB9IGVsc2UgaWYgKHR5cGUgPT09IFwic3RyaW5nXCIpIHtcbiAgICAgICAgICBtc2cgPSBhcmc7XG4gICAgICAgIH0gZWxzZSBpZiAodHlwZSA9PT0gXCJvYmplY3RcIikge1xuICAgICAgICAgIHByb3BzID0gYXJnO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHRocm93IG5ldyBUeXBlRXJyb3IoXCJhcmd1bWVudCAjXCIgKyAoaSArIDEpICsgXCIgdW5zdXBwb3J0ZWQgdHlwZSBcIiArIHR5cGUpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICBpZiAodHlwZW9mIHN0YXR1cyA9PT0gXCJudW1iZXJcIiAmJiAoc3RhdHVzIDwgNDAwIHx8IHN0YXR1cyA+PSA2MDApKSB7XG4gICAgICAgIGRlcHJlY2F0ZShcIm5vbi1lcnJvciBzdGF0dXMgY29kZTsgdXNlIG9ubHkgNHh4IG9yIDV4eCBzdGF0dXMgY29kZXNcIik7XG4gICAgICB9XG4gICAgICBpZiAodHlwZW9mIHN0YXR1cyAhPT0gXCJudW1iZXJcIiB8fCAhc3RhdHVzZXMubWVzc2FnZVtzdGF0dXNdICYmIChzdGF0dXMgPCA0MDAgfHwgc3RhdHVzID49IDYwMCkpIHtcbiAgICAgICAgc3RhdHVzID0gNTAwO1xuICAgICAgfVxuICAgICAgdmFyIEh0dHBFcnJvciA9IGNyZWF0ZUVycm9yW3N0YXR1c10gfHwgY3JlYXRlRXJyb3JbY29kZUNsYXNzKHN0YXR1cyldO1xuICAgICAgaWYgKCFlcnIyKSB7XG4gICAgICAgIGVycjIgPSBIdHRwRXJyb3IgPyBuZXcgSHR0cEVycm9yKG1zZykgOiBuZXcgRXJyb3IobXNnIHx8IHN0YXR1c2VzLm1lc3NhZ2Vbc3RhdHVzXSk7XG4gICAgICAgIEVycm9yLmNhcHR1cmVTdGFja1RyYWNlKGVycjIsIGNyZWF0ZUVycm9yKTtcbiAgICAgIH1cbiAgICAgIGlmICghSHR0cEVycm9yIHx8ICEoZXJyMiBpbnN0YW5jZW9mIEh0dHBFcnJvcikgfHwgZXJyMi5zdGF0dXMgIT09IHN0YXR1cykge1xuICAgICAgICBlcnIyLmV4cG9zZSA9IHN0YXR1cyA8IDUwMDtcbiAgICAgICAgZXJyMi5zdGF0dXMgPSBlcnIyLnN0YXR1c0NvZGUgPSBzdGF0dXM7XG4gICAgICB9XG4gICAgICBmb3IgKHZhciBrZXkgaW4gcHJvcHMpIHtcbiAgICAgICAgaWYgKGtleSAhPT0gXCJzdGF0dXNcIiAmJiBrZXkgIT09IFwic3RhdHVzQ29kZVwiKSB7XG4gICAgICAgICAgZXJyMltrZXldID0gcHJvcHNba2V5XTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgcmV0dXJuIGVycjI7XG4gICAgfVxuICAgIGZ1bmN0aW9uIGNyZWF0ZUh0dHBFcnJvckNvbnN0cnVjdG9yKCkge1xuICAgICAgZnVuY3Rpb24gSHR0cEVycm9yKCkge1xuICAgICAgICB0aHJvdyBuZXcgVHlwZUVycm9yKFwiY2Fubm90IGNvbnN0cnVjdCBhYnN0cmFjdCBjbGFzc1wiKTtcbiAgICAgIH1cbiAgICAgIGluaGVyaXRzKEh0dHBFcnJvciwgRXJyb3IpO1xuICAgICAgcmV0dXJuIEh0dHBFcnJvcjtcbiAgICB9XG4gICAgZnVuY3Rpb24gY3JlYXRlQ2xpZW50RXJyb3JDb25zdHJ1Y3RvcihIdHRwRXJyb3IsIG5hbWUsIGNvZGUpIHtcbiAgICAgIHZhciBjbGFzc05hbWUgPSB0b0NsYXNzTmFtZShuYW1lKTtcbiAgICAgIGZ1bmN0aW9uIENsaWVudEVycm9yKG1lc3NhZ2UpIHtcbiAgICAgICAgdmFyIG1zZyA9IG1lc3NhZ2UgIT0gbnVsbCA/IG1lc3NhZ2UgOiBzdGF0dXNlcy5tZXNzYWdlW2NvZGVdO1xuICAgICAgICB2YXIgZXJyMiA9IG5ldyBFcnJvcihtc2cpO1xuICAgICAgICBFcnJvci5jYXB0dXJlU3RhY2tUcmFjZShlcnIyLCBDbGllbnRFcnJvcik7XG4gICAgICAgIHNldFByb3RvdHlwZU9mKGVycjIsIENsaWVudEVycm9yLnByb3RvdHlwZSk7XG4gICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShlcnIyLCBcIm1lc3NhZ2VcIiwge1xuICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsXG4gICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlLFxuICAgICAgICAgIHZhbHVlOiBtc2csXG4gICAgICAgICAgd3JpdGFibGU6IHRydWVcbiAgICAgICAgfSk7XG4gICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShlcnIyLCBcIm5hbWVcIiwge1xuICAgICAgICAgIGVudW1lcmFibGU6IGZhbHNlLFxuICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZSxcbiAgICAgICAgICB2YWx1ZTogY2xhc3NOYW1lLFxuICAgICAgICAgIHdyaXRhYmxlOiB0cnVlXG4gICAgICAgIH0pO1xuICAgICAgICByZXR1cm4gZXJyMjtcbiAgICAgIH1cbiAgICAgIGluaGVyaXRzKENsaWVudEVycm9yLCBIdHRwRXJyb3IpO1xuICAgICAgbmFtZUZ1bmMoQ2xpZW50RXJyb3IsIGNsYXNzTmFtZSk7XG4gICAgICBDbGllbnRFcnJvci5wcm90b3R5cGUuc3RhdHVzID0gY29kZTtcbiAgICAgIENsaWVudEVycm9yLnByb3RvdHlwZS5zdGF0dXNDb2RlID0gY29kZTtcbiAgICAgIENsaWVudEVycm9yLnByb3RvdHlwZS5leHBvc2UgPSB0cnVlO1xuICAgICAgcmV0dXJuIENsaWVudEVycm9yO1xuICAgIH1cbiAgICBmdW5jdGlvbiBjcmVhdGVJc0h0dHBFcnJvckZ1bmN0aW9uKEh0dHBFcnJvcikge1xuICAgICAgcmV0dXJuIGZ1bmN0aW9uIGlzSHR0cEVycm9yKHZhbCkge1xuICAgICAgICBpZiAoIXZhbCB8fCB0eXBlb2YgdmFsICE9PSBcIm9iamVjdFwiKSB7XG4gICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICB9XG4gICAgICAgIGlmICh2YWwgaW5zdGFuY2VvZiBIdHRwRXJyb3IpIHtcbiAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gdmFsIGluc3RhbmNlb2YgRXJyb3IgJiYgdHlwZW9mIHZhbC5leHBvc2UgPT09IFwiYm9vbGVhblwiICYmIHR5cGVvZiB2YWwuc3RhdHVzQ29kZSA9PT0gXCJudW1iZXJcIiAmJiB2YWwuc3RhdHVzID09PSB2YWwuc3RhdHVzQ29kZTtcbiAgICAgIH07XG4gICAgfVxuICAgIGZ1bmN0aW9uIGNyZWF0ZVNlcnZlckVycm9yQ29uc3RydWN0b3IoSHR0cEVycm9yLCBuYW1lLCBjb2RlKSB7XG4gICAgICB2YXIgY2xhc3NOYW1lID0gdG9DbGFzc05hbWUobmFtZSk7XG4gICAgICBmdW5jdGlvbiBTZXJ2ZXJFcnJvcihtZXNzYWdlKSB7XG4gICAgICAgIHZhciBtc2cgPSBtZXNzYWdlICE9IG51bGwgPyBtZXNzYWdlIDogc3RhdHVzZXMubWVzc2FnZVtjb2RlXTtcbiAgICAgICAgdmFyIGVycjIgPSBuZXcgRXJyb3IobXNnKTtcbiAgICAgICAgRXJyb3IuY2FwdHVyZVN0YWNrVHJhY2UoZXJyMiwgU2VydmVyRXJyb3IpO1xuICAgICAgICBzZXRQcm90b3R5cGVPZihlcnIyLCBTZXJ2ZXJFcnJvci5wcm90b3R5cGUpO1xuICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoZXJyMiwgXCJtZXNzYWdlXCIsIHtcbiAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLFxuICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZSxcbiAgICAgICAgICB2YWx1ZTogbXNnLFxuICAgICAgICAgIHdyaXRhYmxlOiB0cnVlXG4gICAgICAgIH0pO1xuICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoZXJyMiwgXCJuYW1lXCIsIHtcbiAgICAgICAgICBlbnVtZXJhYmxlOiBmYWxzZSxcbiAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUsXG4gICAgICAgICAgdmFsdWU6IGNsYXNzTmFtZSxcbiAgICAgICAgICB3cml0YWJsZTogdHJ1ZVxuICAgICAgICB9KTtcbiAgICAgICAgcmV0dXJuIGVycjI7XG4gICAgICB9XG4gICAgICBpbmhlcml0cyhTZXJ2ZXJFcnJvciwgSHR0cEVycm9yKTtcbiAgICAgIG5hbWVGdW5jKFNlcnZlckVycm9yLCBjbGFzc05hbWUpO1xuICAgICAgU2VydmVyRXJyb3IucHJvdG90eXBlLnN0YXR1cyA9IGNvZGU7XG4gICAgICBTZXJ2ZXJFcnJvci5wcm90b3R5cGUuc3RhdHVzQ29kZSA9IGNvZGU7XG4gICAgICBTZXJ2ZXJFcnJvci5wcm90b3R5cGUuZXhwb3NlID0gZmFsc2U7XG4gICAgICByZXR1cm4gU2VydmVyRXJyb3I7XG4gICAgfVxuICAgIGZ1bmN0aW9uIG5hbWVGdW5jKGZ1bmMsIG5hbWUpIHtcbiAgICAgIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihmdW5jLCBcIm5hbWVcIik7XG4gICAgICBpZiAoZGVzYyAmJiBkZXNjLmNvbmZpZ3VyYWJsZSkge1xuICAgICAgICBkZXNjLnZhbHVlID0gbmFtZTtcbiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGZ1bmMsIFwibmFtZVwiLCBkZXNjKTtcbiAgICAgIH1cbiAgICB9XG4gICAgZnVuY3Rpb24gcG9wdWxhdGVDb25zdHJ1Y3RvckV4cG9ydHMoZXhwb3J0czMsIGNvZGVzLCBIdHRwRXJyb3IpIHtcbiAgICAgIGNvZGVzLmZvckVhY2goZnVuY3Rpb24gZm9yRWFjaENvZGUoY29kZSkge1xuICAgICAgICB2YXIgQ29kZUVycm9yO1xuICAgICAgICB2YXIgbmFtZSA9IHRvSWRlbnRpZmllcihzdGF0dXNlcy5tZXNzYWdlW2NvZGVdKTtcbiAgICAgICAgc3dpdGNoIChjb2RlQ2xhc3MoY29kZSkpIHtcbiAgICAgICAgICBjYXNlIDQwMDpcbiAgICAgICAgICAgIENvZGVFcnJvciA9IGNyZWF0ZUNsaWVudEVycm9yQ29uc3RydWN0b3IoSHR0cEVycm9yLCBuYW1lLCBjb2RlKTtcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgIGNhc2UgNTAwOlxuICAgICAgICAgICAgQ29kZUVycm9yID0gY3JlYXRlU2VydmVyRXJyb3JDb25zdHJ1Y3RvcihIdHRwRXJyb3IsIG5hbWUsIGNvZGUpO1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKENvZGVFcnJvcikge1xuICAgICAgICAgIGV4cG9ydHMzW2NvZGVdID0gQ29kZUVycm9yO1xuICAgICAgICAgIGV4cG9ydHMzW25hbWVdID0gQ29kZUVycm9yO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICB9XG4gICAgZnVuY3Rpb24gdG9DbGFzc05hbWUobmFtZSkge1xuICAgICAgcmV0dXJuIG5hbWUuc3Vic3RyKC01KSAhPT0gXCJFcnJvclwiID8gbmFtZSArIFwiRXJyb3JcIiA6IG5hbWU7XG4gICAgfVxuICB9XG59KTtcblxuLy8gbm9kZV9tb2R1bGVzL3NhZmVyLWJ1ZmZlci9zYWZlci5qc1xudmFyIHJlcXVpcmVfc2FmZXIgPSBfX2NvbW1vbkpTKHtcbiAgXCJub2RlX21vZHVsZXMvc2FmZXItYnVmZmVyL3NhZmVyLmpzXCIoZXhwb3J0czIsIG1vZHVsZTIpIHtcbiAgICBcInVzZSBzdHJpY3RcIjtcbiAgICB2YXIgYnVmZmVyID0gcmVxdWlyZShcImJ1ZmZlclwiKTtcbiAgICB2YXIgQnVmZmVyMiA9IGJ1ZmZlci5CdWZmZXI7XG4gICAgdmFyIHNhZmVyID0ge307XG4gICAgdmFyIGtleTtcbiAgICBmb3IgKGtleSBpbiBidWZmZXIpIHtcbiAgICAgIGlmICghYnVmZmVyLmhhc093blByb3BlcnR5KGtleSkpIGNvbnRpbnVlO1xuICAgICAgaWYgKGtleSA9PT0gXCJTbG93QnVmZmVyXCIgfHwga2V5ID09PSBcIkJ1ZmZlclwiKSBjb250aW51ZTtcbiAgICAgIHNhZmVyW2tleV0gPSBidWZmZXJba2V5XTtcbiAgICB9XG4gICAgdmFyIFNhZmVyID0gc2FmZXIuQnVmZmVyID0ge307XG4gICAgZm9yIChrZXkgaW4gQnVmZmVyMikge1xuICAgICAgaWYgKCFCdWZmZXIyLmhhc093blByb3BlcnR5KGtleSkpIGNvbnRpbnVlO1xuICAgICAgaWYgKGtleSA9PT0gXCJhbGxvY1Vuc2FmZVwiIHx8IGtleSA9PT0gXCJhbGxvY1Vuc2FmZVNsb3dcIikgY29udGludWU7XG4gICAgICBTYWZlcltrZXldID0gQnVmZmVyMltrZXldO1xuICAgIH1cbiAgICBzYWZlci5CdWZmZXIucHJvdG90eXBlID0gQnVmZmVyMi5wcm90b3R5cGU7XG4gICAgaWYgKCFTYWZlci5mcm9tIHx8IFNhZmVyLmZyb20gPT09IFVpbnQ4QXJyYXkuZnJvbSkge1xuICAgICAgU2FmZXIuZnJvbSA9IGZ1bmN0aW9uKHZhbHVlLCBlbmNvZGluZ09yT2Zmc2V0LCBsZW5ndGgpIHtcbiAgICAgICAgaWYgKHR5cGVvZiB2YWx1ZSA9PT0gXCJudW1iZXJcIikge1xuICAgICAgICAgIHRocm93IG5ldyBUeXBlRXJyb3IoJ1RoZSBcInZhbHVlXCIgYXJndW1lbnQgbXVzdCBub3QgYmUgb2YgdHlwZSBudW1iZXIuIFJlY2VpdmVkIHR5cGUgJyArIHR5cGVvZiB2YWx1ZSk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHZhbHVlICYmIHR5cGVvZiB2YWx1ZS5sZW5ndGggPT09IFwidW5kZWZpbmVkXCIpIHtcbiAgICAgICAgICB0aHJvdyBuZXcgVHlwZUVycm9yKFwiVGhlIGZpcnN0IGFyZ3VtZW50IG11c3QgYmUgb25lIG9mIHR5cGUgc3RyaW5nLCBCdWZmZXIsIEFycmF5QnVmZmVyLCBBcnJheSwgb3IgQXJyYXktbGlrZSBPYmplY3QuIFJlY2VpdmVkIHR5cGUgXCIgKyB0eXBlb2YgdmFsdWUpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBCdWZmZXIyKHZhbHVlLCBlbmNvZGluZ09yT2Zmc2V0LCBsZW5ndGgpO1xuICAgICAgfTtcbiAgICB9XG4gICAgaWYgKCFTYWZlci5hbGxvYykge1xuICAgICAgU2FmZXIuYWxsb2MgPSBmdW5jdGlvbihzaXplLCBmaWxsLCBlbmNvZGluZykge1xuICAgICAgICBpZiAodHlwZW9mIHNpemUgIT09IFwibnVtYmVyXCIpIHtcbiAgICAgICAgICB0aHJvdyBuZXcgVHlwZUVycm9yKCdUaGUgXCJzaXplXCIgYXJndW1lbnQgbXVzdCBiZSBvZiB0eXBlIG51bWJlci4gUmVjZWl2ZWQgdHlwZSAnICsgdHlwZW9mIHNpemUpO1xuICAgICAgICB9XG4gICAgICAgIGlmIChzaXplIDwgMCB8fCBzaXplID49IDIgKiAoMSA8PCAzMCkpIHtcbiAgICAgICAgICB0aHJvdyBuZXcgUmFuZ2VFcnJvcignVGhlIHZhbHVlIFwiJyArIHNpemUgKyAnXCIgaXMgaW52YWxpZCBmb3Igb3B0aW9uIFwic2l6ZVwiJyk7XG4gICAgICAgIH1cbiAgICAgICAgdmFyIGJ1ZiA9IEJ1ZmZlcjIoc2l6ZSk7XG4gICAgICAgIGlmICghZmlsbCB8fCBmaWxsLmxlbmd0aCA9PT0gMCkge1xuICAgICAgICAgIGJ1Zi5maWxsKDApO1xuICAgICAgICB9IGVsc2UgaWYgKHR5cGVvZiBlbmNvZGluZyA9PT0gXCJzdHJpbmdcIikge1xuICAgICAgICAgIGJ1Zi5maWxsKGZpbGwsIGVuY29kaW5nKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBidWYuZmlsbChmaWxsKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gYnVmO1xuICAgICAgfTtcbiAgICB9XG4gICAgaWYgKCFzYWZlci5rU3RyaW5nTWF4TGVuZ3RoKSB7XG4gICAgICB0cnkge1xuICAgICAgICBzYWZlci5rU3RyaW5nTWF4TGVuZ3RoID0gcHJvY2Vzcy5iaW5kaW5nKFwiYnVmZmVyXCIpLmtTdHJpbmdNYXhMZW5ndGg7XG4gICAgICB9IGNhdGNoIChlKSB7XG4gICAgICB9XG4gICAgfVxuICAgIGlmICghc2FmZXIuY29uc3RhbnRzKSB7XG4gICAgICBzYWZlci5jb25zdGFudHMgPSB7XG4gICAgICAgIE1BWF9MRU5HVEg6IHNhZmVyLmtNYXhMZW5ndGhcbiAgICAgIH07XG4gICAgICBpZiAoc2FmZXIua1N0cmluZ01heExlbmd0aCkge1xuICAgICAgICBzYWZlci5jb25zdGFudHMuTUFYX1NUUklOR19MRU5HVEggPSBzYWZlci5rU3RyaW5nTWF4TGVuZ3RoO1xuICAgICAgfVxuICAgIH1cbiAgICBtb2R1bGUyLmV4cG9ydHMgPSBzYWZlcjtcbiAgfVxufSk7XG5cbi8vIG5vZGVfbW9kdWxlcy9yYXctYm9keS9ub2RlX21vZHVsZXMvaWNvbnYtbGl0ZS9saWIvYm9tLWhhbmRsaW5nLmpzXG52YXIgcmVxdWlyZV9ib21faGFuZGxpbmcgPSBfX2NvbW1vbkpTKHtcbiAgXCJub2RlX21vZHVsZXMvcmF3LWJvZHkvbm9kZV9tb2R1bGVzL2ljb252LWxpdGUvbGliL2JvbS1oYW5kbGluZy5qc1wiKGV4cG9ydHMyKSB7XG4gICAgXCJ1c2Ugc3RyaWN0XCI7XG4gICAgdmFyIEJPTUNoYXIgPSBcIlxcdUZFRkZcIjtcbiAgICBleHBvcnRzMi5QcmVwZW5kQk9NID0gUHJlcGVuZEJPTVdyYXBwZXI7XG4gICAgZnVuY3Rpb24gUHJlcGVuZEJPTVdyYXBwZXIoZW5jb2Rlciwgb3B0aW9ucykge1xuICAgICAgdGhpcy5lbmNvZGVyID0gZW5jb2RlcjtcbiAgICAgIHRoaXMuYWRkQk9NID0gdHJ1ZTtcbiAgICB9XG4gICAgUHJlcGVuZEJPTVdyYXBwZXIucHJvdG90eXBlLndyaXRlID0gZnVuY3Rpb24oc3RyKSB7XG4gICAgICBpZiAodGhpcy5hZGRCT00pIHtcbiAgICAgICAgc3RyID0gQk9NQ2hhciArIHN0cjtcbiAgICAgICAgdGhpcy5hZGRCT00gPSBmYWxzZTtcbiAgICAgIH1cbiAgICAgIHJldHVybiB0aGlzLmVuY29kZXIud3JpdGUoc3RyKTtcbiAgICB9O1xuICAgIFByZXBlbmRCT01XcmFwcGVyLnByb3RvdHlwZS5lbmQgPSBmdW5jdGlvbigpIHtcbiAgICAgIHJldHVybiB0aGlzLmVuY29kZXIuZW5kKCk7XG4gICAgfTtcbiAgICBleHBvcnRzMi5TdHJpcEJPTSA9IFN0cmlwQk9NV3JhcHBlcjtcbiAgICBmdW5jdGlvbiBTdHJpcEJPTVdyYXBwZXIoZGVjb2Rlciwgb3B0aW9ucykge1xuICAgICAgdGhpcy5kZWNvZGVyID0gZGVjb2RlcjtcbiAgICAgIHRoaXMucGFzcyA9IGZhbHNlO1xuICAgICAgdGhpcy5vcHRpb25zID0gb3B0aW9ucyB8fCB7fTtcbiAgICB9XG4gICAgU3RyaXBCT01XcmFwcGVyLnByb3RvdHlwZS53cml0ZSA9IGZ1bmN0aW9uKGJ1Zikge1xuICAgICAgdmFyIHJlcyA9IHRoaXMuZGVjb2Rlci53cml0ZShidWYpO1xuICAgICAgaWYgKHRoaXMucGFzcyB8fCAhcmVzKVxuICAgICAgICByZXR1cm4gcmVzO1xuICAgICAgaWYgKHJlc1swXSA9PT0gQk9NQ2hhcikge1xuICAgICAgICByZXMgPSByZXMuc2xpY2UoMSk7XG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy5vcHRpb25zLnN0cmlwQk9NID09PSBcImZ1bmN0aW9uXCIpXG4gICAgICAgICAgdGhpcy5vcHRpb25zLnN0cmlwQk9NKCk7XG4gICAgICB9XG4gICAgICB0aGlzLnBhc3MgPSB0cnVlO1xuICAgICAgcmV0dXJuIHJlcztcbiAgICB9O1xuICAgIFN0cmlwQk9NV3JhcHBlci5wcm90b3R5cGUuZW5kID0gZnVuY3Rpb24oKSB7XG4gICAgICByZXR1cm4gdGhpcy5kZWNvZGVyLmVuZCgpO1xuICAgIH07XG4gIH1cbn0pO1xuXG4vLyBub2RlX21vZHVsZXMvcmF3LWJvZHkvbm9kZV9tb2R1bGVzL2ljb252LWxpdGUvZW5jb2RpbmdzL2ludGVybmFsLmpzXG52YXIgcmVxdWlyZV9pbnRlcm5hbCA9IF9fY29tbW9uSlMoe1xuICBcIm5vZGVfbW9kdWxlcy9yYXctYm9keS9ub2RlX21vZHVsZXMvaWNvbnYtbGl0ZS9lbmNvZGluZ3MvaW50ZXJuYWwuanNcIihleHBvcnRzMiwgbW9kdWxlMikge1xuICAgIFwidXNlIHN0cmljdFwiO1xuICAgIHZhciBCdWZmZXIyID0gcmVxdWlyZV9zYWZlcigpLkJ1ZmZlcjtcbiAgICBtb2R1bGUyLmV4cG9ydHMgPSB7XG4gICAgICAvLyBFbmNvZGluZ3NcbiAgICAgIHV0Zjg6IHsgdHlwZTogXCJfaW50ZXJuYWxcIiwgYm9tQXdhcmU6IHRydWUgfSxcbiAgICAgIGNlc3U4OiB7IHR5cGU6IFwiX2ludGVybmFsXCIsIGJvbUF3YXJlOiB0cnVlIH0sXG4gICAgICB1bmljb2RlMTF1dGY4OiBcInV0ZjhcIixcbiAgICAgIHVjczI6IHsgdHlwZTogXCJfaW50ZXJuYWxcIiwgYm9tQXdhcmU6IHRydWUgfSxcbiAgICAgIHV0ZjE2bGU6IFwidWNzMlwiLFxuICAgICAgYmluYXJ5OiB7IHR5cGU6IFwiX2ludGVybmFsXCIgfSxcbiAgICAgIGJhc2U2NDogeyB0eXBlOiBcIl9pbnRlcm5hbFwiIH0sXG4gICAgICBoZXg6IHsgdHlwZTogXCJfaW50ZXJuYWxcIiB9LFxuICAgICAgLy8gQ29kZWMuXG4gICAgICBfaW50ZXJuYWw6IEludGVybmFsQ29kZWNcbiAgICB9O1xuICAgIGZ1bmN0aW9uIEludGVybmFsQ29kZWMoY29kZWNPcHRpb25zLCBpY29udikge1xuICAgICAgdGhpcy5lbmMgPSBjb2RlY09wdGlvbnMuZW5jb2RpbmdOYW1lO1xuICAgICAgdGhpcy5ib21Bd2FyZSA9IGNvZGVjT3B0aW9ucy5ib21Bd2FyZTtcbiAgICAgIGlmICh0aGlzLmVuYyA9PT0gXCJiYXNlNjRcIilcbiAgICAgICAgdGhpcy5lbmNvZGVyID0gSW50ZXJuYWxFbmNvZGVyQmFzZTY0O1xuICAgICAgZWxzZSBpZiAodGhpcy5lbmMgPT09IFwiY2VzdThcIikge1xuICAgICAgICB0aGlzLmVuYyA9IFwidXRmOFwiO1xuICAgICAgICB0aGlzLmVuY29kZXIgPSBJbnRlcm5hbEVuY29kZXJDZXN1ODtcbiAgICAgICAgaWYgKEJ1ZmZlcjIuZnJvbShcImVkYTBiZGVkYjJhOVwiLCBcImhleFwiKS50b1N0cmluZygpICE9PSBcIlxcdXsxRjRBOX1cIikge1xuICAgICAgICAgIHRoaXMuZGVjb2RlciA9IEludGVybmFsRGVjb2RlckNlc3U4O1xuICAgICAgICAgIHRoaXMuZGVmYXVsdENoYXJVbmljb2RlID0gaWNvbnYuZGVmYXVsdENoYXJVbmljb2RlO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIEludGVybmFsQ29kZWMucHJvdG90eXBlLmVuY29kZXIgPSBJbnRlcm5hbEVuY29kZXI7XG4gICAgSW50ZXJuYWxDb2RlYy5wcm90b3R5cGUuZGVjb2RlciA9IEludGVybmFsRGVjb2RlcjtcbiAgICB2YXIgU3RyaW5nRGVjb2RlciA9IHJlcXVpcmUoXCJzdHJpbmdfZGVjb2RlclwiKS5TdHJpbmdEZWNvZGVyO1xuICAgIGlmICghU3RyaW5nRGVjb2Rlci5wcm90b3R5cGUuZW5kKVxuICAgICAgU3RyaW5nRGVjb2Rlci5wcm90b3R5cGUuZW5kID0gZnVuY3Rpb24oKSB7XG4gICAgICB9O1xuICAgIGZ1bmN0aW9uIEludGVybmFsRGVjb2RlcihvcHRpb25zLCBjb2RlYykge1xuICAgICAgdGhpcy5kZWNvZGVyID0gbmV3IFN0cmluZ0RlY29kZXIoY29kZWMuZW5jKTtcbiAgICB9XG4gICAgSW50ZXJuYWxEZWNvZGVyLnByb3RvdHlwZS53cml0ZSA9IGZ1bmN0aW9uKGJ1Zikge1xuICAgICAgaWYgKCFCdWZmZXIyLmlzQnVmZmVyKGJ1ZikpIHtcbiAgICAgICAgYnVmID0gQnVmZmVyMi5mcm9tKGJ1Zik7XG4gICAgICB9XG4gICAgICByZXR1cm4gdGhpcy5kZWNvZGVyLndyaXRlKGJ1Zik7XG4gICAgfTtcbiAgICBJbnRlcm5hbERlY29kZXIucHJvdG90eXBlLmVuZCA9IGZ1bmN0aW9uKCkge1xuICAgICAgcmV0dXJuIHRoaXMuZGVjb2Rlci5lbmQoKTtcbiAgICB9O1xuICAgIGZ1bmN0aW9uIEludGVybmFsRW5jb2RlcihvcHRpb25zLCBjb2RlYykge1xuICAgICAgdGhpcy5lbmMgPSBjb2RlYy5lbmM7XG4gICAgfVxuICAgIEludGVybmFsRW5jb2Rlci5wcm90b3R5cGUud3JpdGUgPSBmdW5jdGlvbihzdHIpIHtcbiAgICAgIHJldHVybiBCdWZmZXIyLmZyb20oc3RyLCB0aGlzLmVuYyk7XG4gICAgfTtcbiAgICBJbnRlcm5hbEVuY29kZXIucHJvdG90eXBlLmVuZCA9IGZ1bmN0aW9uKCkge1xuICAgIH07XG4gICAgZnVuY3Rpb24gSW50ZXJuYWxFbmNvZGVyQmFzZTY0KG9wdGlvbnMsIGNvZGVjKSB7XG4gICAgICB0aGlzLnByZXZTdHIgPSBcIlwiO1xuICAgIH1cbiAgICBJbnRlcm5hbEVuY29kZXJCYXNlNjQucHJvdG90eXBlLndyaXRlID0gZnVuY3Rpb24oc3RyKSB7XG4gICAgICBzdHIgPSB0aGlzLnByZXZTdHIgKyBzdHI7XG4gICAgICB2YXIgY29tcGxldGVRdWFkcyA9IHN0ci5sZW5ndGggLSBzdHIubGVuZ3RoICUgNDtcbiAgICAgIHRoaXMucHJldlN0ciA9IHN0ci5zbGljZShjb21wbGV0ZVF1YWRzKTtcbiAgICAgIHN0ciA9IHN0ci5zbGljZSgwLCBjb21wbGV0ZVF1YWRzKTtcbiAgICAgIHJldHVybiBCdWZmZXIyLmZyb20oc3RyLCBcImJhc2U2NFwiKTtcbiAgICB9O1xuICAgIEludGVybmFsRW5jb2RlckJhc2U2NC5wcm90b3R5cGUuZW5kID0gZnVuY3Rpb24oKSB7XG4gICAgICByZXR1cm4gQnVmZmVyMi5mcm9tKHRoaXMucHJldlN0ciwgXCJiYXNlNjRcIik7XG4gICAgfTtcbiAgICBmdW5jdGlvbiBJbnRlcm5hbEVuY29kZXJDZXN1OChvcHRpb25zLCBjb2RlYykge1xuICAgIH1cbiAgICBJbnRlcm5hbEVuY29kZXJDZXN1OC5wcm90b3R5cGUud3JpdGUgPSBmdW5jdGlvbihzdHIpIHtcbiAgICAgIHZhciBidWYgPSBCdWZmZXIyLmFsbG9jKHN0ci5sZW5ndGggKiAzKSwgYnVmSWR4ID0gMDtcbiAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgc3RyLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgIHZhciBjaGFyQ29kZSA9IHN0ci5jaGFyQ29kZUF0KGkpO1xuICAgICAgICBpZiAoY2hhckNvZGUgPCAxMjgpXG4gICAgICAgICAgYnVmW2J1ZklkeCsrXSA9IGNoYXJDb2RlO1xuICAgICAgICBlbHNlIGlmIChjaGFyQ29kZSA8IDIwNDgpIHtcbiAgICAgICAgICBidWZbYnVmSWR4KytdID0gMTkyICsgKGNoYXJDb2RlID4+PiA2KTtcbiAgICAgICAgICBidWZbYnVmSWR4KytdID0gMTI4ICsgKGNoYXJDb2RlICYgNjMpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGJ1ZltidWZJZHgrK10gPSAyMjQgKyAoY2hhckNvZGUgPj4+IDEyKTtcbiAgICAgICAgICBidWZbYnVmSWR4KytdID0gMTI4ICsgKGNoYXJDb2RlID4+PiA2ICYgNjMpO1xuICAgICAgICAgIGJ1ZltidWZJZHgrK10gPSAxMjggKyAoY2hhckNvZGUgJiA2Myk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIHJldHVybiBidWYuc2xpY2UoMCwgYnVmSWR4KTtcbiAgICB9O1xuICAgIEludGVybmFsRW5jb2RlckNlc3U4LnByb3RvdHlwZS5lbmQgPSBmdW5jdGlvbigpIHtcbiAgICB9O1xuICAgIGZ1bmN0aW9uIEludGVybmFsRGVjb2RlckNlc3U4KG9wdGlvbnMsIGNvZGVjKSB7XG4gICAgICB0aGlzLmFjYyA9IDA7XG4gICAgICB0aGlzLmNvbnRCeXRlcyA9IDA7XG4gICAgICB0aGlzLmFjY0J5dGVzID0gMDtcbiAgICAgIHRoaXMuZGVmYXVsdENoYXJVbmljb2RlID0gY29kZWMuZGVmYXVsdENoYXJVbmljb2RlO1xuICAgIH1cbiAgICBJbnRlcm5hbERlY29kZXJDZXN1OC5wcm90b3R5cGUud3JpdGUgPSBmdW5jdGlvbihidWYpIHtcbiAgICAgIHZhciBhY2MgPSB0aGlzLmFjYywgY29udEJ5dGVzID0gdGhpcy5jb250Qnl0ZXMsIGFjY0J5dGVzID0gdGhpcy5hY2NCeXRlcywgcmVzID0gXCJcIjtcbiAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgYnVmLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgIHZhciBjdXJCeXRlID0gYnVmW2ldO1xuICAgICAgICBpZiAoKGN1ckJ5dGUgJiAxOTIpICE9PSAxMjgpIHtcbiAgICAgICAgICBpZiAoY29udEJ5dGVzID4gMCkge1xuICAgICAgICAgICAgcmVzICs9IHRoaXMuZGVmYXVsdENoYXJVbmljb2RlO1xuICAgICAgICAgICAgY29udEJ5dGVzID0gMDtcbiAgICAgICAgICB9XG4gICAgICAgICAgaWYgKGN1ckJ5dGUgPCAxMjgpIHtcbiAgICAgICAgICAgIHJlcyArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGN1ckJ5dGUpO1xuICAgICAgICAgIH0gZWxzZSBpZiAoY3VyQnl0ZSA8IDIyNCkge1xuICAgICAgICAgICAgYWNjID0gY3VyQnl0ZSAmIDMxO1xuICAgICAgICAgICAgY29udEJ5dGVzID0gMTtcbiAgICAgICAgICAgIGFjY0J5dGVzID0gMTtcbiAgICAgICAgICB9IGVsc2UgaWYgKGN1ckJ5dGUgPCAyNDApIHtcbiAgICAgICAgICAgIGFjYyA9IGN1ckJ5dGUgJiAxNTtcbiAgICAgICAgICAgIGNvbnRCeXRlcyA9IDI7XG4gICAgICAgICAgICBhY2NCeXRlcyA9IDE7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHJlcyArPSB0aGlzLmRlZmF1bHRDaGFyVW5pY29kZTtcbiAgICAgICAgICB9XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgaWYgKGNvbnRCeXRlcyA+IDApIHtcbiAgICAgICAgICAgIGFjYyA9IGFjYyA8PCA2IHwgY3VyQnl0ZSAmIDYzO1xuICAgICAgICAgICAgY29udEJ5dGVzLS07XG4gICAgICAgICAgICBhY2NCeXRlcysrO1xuICAgICAgICAgICAgaWYgKGNvbnRCeXRlcyA9PT0gMCkge1xuICAgICAgICAgICAgICBpZiAoYWNjQnl0ZXMgPT09IDIgJiYgYWNjIDwgMTI4ICYmIGFjYyA+IDApXG4gICAgICAgICAgICAgICAgcmVzICs9IHRoaXMuZGVmYXVsdENoYXJVbmljb2RlO1xuICAgICAgICAgICAgICBlbHNlIGlmIChhY2NCeXRlcyA9PT0gMyAmJiBhY2MgPCAyMDQ4KVxuICAgICAgICAgICAgICAgIHJlcyArPSB0aGlzLmRlZmF1bHRDaGFyVW5pY29kZTtcbiAgICAgICAgICAgICAgZWxzZVxuICAgICAgICAgICAgICAgIHJlcyArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGFjYyk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHJlcyArPSB0aGlzLmRlZmF1bHRDaGFyVW5pY29kZTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIHRoaXMuYWNjID0gYWNjO1xuICAgICAgdGhpcy5jb250Qnl0ZXMgPSBjb250Qnl0ZXM7XG4gICAgICB0aGlzLmFjY0J5dGVzID0gYWNjQnl0ZXM7XG4gICAgICByZXR1cm4gcmVzO1xuICAgIH07XG4gICAgSW50ZXJuYWxEZWNvZGVyQ2VzdTgucHJvdG90eXBlLmVuZCA9IGZ1bmN0aW9uKCkge1xuICAgICAgdmFyIHJlcyA9IDA7XG4gICAgICBpZiAodGhpcy5jb250Qnl0ZXMgPiAwKVxuICAgICAgICByZXMgKz0gdGhpcy5kZWZhdWx0Q2hhclVuaWNvZGU7XG4gICAgICByZXR1cm4gcmVzO1xuICAgIH07XG4gIH1cbn0pO1xuXG4vLyBub2RlX21vZHVsZXMvcmF3LWJvZHkvbm9kZV9tb2R1bGVzL2ljb252LWxpdGUvZW5jb2RpbmdzL3V0ZjMyLmpzXG52YXIgcmVxdWlyZV91dGYzMiA9IF9fY29tbW9uSlMoe1xuICBcIm5vZGVfbW9kdWxlcy9yYXctYm9keS9ub2RlX21vZHVsZXMvaWNvbnYtbGl0ZS9lbmNvZGluZ3MvdXRmMzIuanNcIihleHBvcnRzMikge1xuICAgIFwidXNlIHN0cmljdFwiO1xuICAgIHZhciBCdWZmZXIyID0gcmVxdWlyZV9zYWZlcigpLkJ1ZmZlcjtcbiAgICBleHBvcnRzMi5fdXRmMzIgPSBVdGYzMkNvZGVjO1xuICAgIGZ1bmN0aW9uIFV0ZjMyQ29kZWMoY29kZWNPcHRpb25zLCBpY29udikge1xuICAgICAgdGhpcy5pY29udiA9IGljb252O1xuICAgICAgdGhpcy5ib21Bd2FyZSA9IHRydWU7XG4gICAgICB0aGlzLmlzTEUgPSBjb2RlY09wdGlvbnMuaXNMRTtcbiAgICB9XG4gICAgZXhwb3J0czIudXRmMzJsZSA9IHsgdHlwZTogXCJfdXRmMzJcIiwgaXNMRTogdHJ1ZSB9O1xuICAgIGV4cG9ydHMyLnV0ZjMyYmUgPSB7IHR5cGU6IFwiX3V0ZjMyXCIsIGlzTEU6IGZhbHNlIH07XG4gICAgZXhwb3J0czIudWNzNGxlID0gXCJ1dGYzMmxlXCI7XG4gICAgZXhwb3J0czIudWNzNGJlID0gXCJ1dGYzMmJlXCI7XG4gICAgVXRmMzJDb2RlYy5wcm90b3R5cGUuZW5jb2RlciA9IFV0ZjMyRW5jb2RlcjtcbiAgICBVdGYzMkNvZGVjLnByb3RvdHlwZS5kZWNvZGVyID0gVXRmMzJEZWNvZGVyO1xuICAgIGZ1bmN0aW9uIFV0ZjMyRW5jb2RlcihvcHRpb25zLCBjb2RlYykge1xuICAgICAgdGhpcy5pc0xFID0gY29kZWMuaXNMRTtcbiAgICAgIHRoaXMuaGlnaFN1cnJvZ2F0ZSA9IDA7XG4gICAgfVxuICAgIFV0ZjMyRW5jb2Rlci5wcm90b3R5cGUud3JpdGUgPSBmdW5jdGlvbihzdHIpIHtcbiAgICAgIHZhciBzcmMgPSBCdWZmZXIyLmZyb20oc3RyLCBcInVjczJcIik7XG4gICAgICB2YXIgZHN0ID0gQnVmZmVyMi5hbGxvYyhzcmMubGVuZ3RoICogMik7XG4gICAgICB2YXIgd3JpdGUzMiA9IHRoaXMuaXNMRSA/IGRzdC53cml0ZVVJbnQzMkxFIDogZHN0LndyaXRlVUludDMyQkU7XG4gICAgICB2YXIgb2Zmc2V0ID0gMDtcbiAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgc3JjLmxlbmd0aDsgaSArPSAyKSB7XG4gICAgICAgIHZhciBjb2RlID0gc3JjLnJlYWRVSW50MTZMRShpKTtcbiAgICAgICAgdmFyIGlzSGlnaFN1cnJvZ2F0ZSA9IDU1Mjk2IDw9IGNvZGUgJiYgY29kZSA8IDU2MzIwO1xuICAgICAgICB2YXIgaXNMb3dTdXJyb2dhdGUgPSA1NjMyMCA8PSBjb2RlICYmIGNvZGUgPCA1NzM0NDtcbiAgICAgICAgaWYgKHRoaXMuaGlnaFN1cnJvZ2F0ZSkge1xuICAgICAgICAgIGlmIChpc0hpZ2hTdXJyb2dhdGUgfHwgIWlzTG93U3Vycm9nYXRlKSB7XG4gICAgICAgICAgICB3cml0ZTMyLmNhbGwoZHN0LCB0aGlzLmhpZ2hTdXJyb2dhdGUsIG9mZnNldCk7XG4gICAgICAgICAgICBvZmZzZXQgKz0gNDtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdmFyIGNvZGVwb2ludCA9ICh0aGlzLmhpZ2hTdXJyb2dhdGUgLSA1NTI5NiA8PCAxMCB8IGNvZGUgLSA1NjMyMCkgKyA2NTUzNjtcbiAgICAgICAgICAgIHdyaXRlMzIuY2FsbChkc3QsIGNvZGVwb2ludCwgb2Zmc2V0KTtcbiAgICAgICAgICAgIG9mZnNldCArPSA0O1xuICAgICAgICAgICAgdGhpcy5oaWdoU3Vycm9nYXRlID0gMDtcbiAgICAgICAgICAgIGNvbnRpbnVlO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBpZiAoaXNIaWdoU3Vycm9nYXRlKVxuICAgICAgICAgIHRoaXMuaGlnaFN1cnJvZ2F0ZSA9IGNvZGU7XG4gICAgICAgIGVsc2Uge1xuICAgICAgICAgIHdyaXRlMzIuY2FsbChkc3QsIGNvZGUsIG9mZnNldCk7XG4gICAgICAgICAgb2Zmc2V0ICs9IDQ7XG4gICAgICAgICAgdGhpcy5oaWdoU3Vycm9nYXRlID0gMDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgaWYgKG9mZnNldCA8IGRzdC5sZW5ndGgpXG4gICAgICAgIGRzdCA9IGRzdC5zbGljZSgwLCBvZmZzZXQpO1xuICAgICAgcmV0dXJuIGRzdDtcbiAgICB9O1xuICAgIFV0ZjMyRW5jb2Rlci5wcm90b3R5cGUuZW5kID0gZnVuY3Rpb24oKSB7XG4gICAgICBpZiAoIXRoaXMuaGlnaFN1cnJvZ2F0ZSlcbiAgICAgICAgcmV0dXJuO1xuICAgICAgdmFyIGJ1ZiA9IEJ1ZmZlcjIuYWxsb2MoNCk7XG4gICAgICBpZiAodGhpcy5pc0xFKVxuICAgICAgICBidWYud3JpdGVVSW50MzJMRSh0aGlzLmhpZ2hTdXJyb2dhdGUsIDApO1xuICAgICAgZWxzZVxuICAgICAgICBidWYud3JpdGVVSW50MzJCRSh0aGlzLmhpZ2hTdXJyb2dhdGUsIDApO1xuICAgICAgdGhpcy5oaWdoU3Vycm9nYXRlID0gMDtcbiAgICAgIHJldHVybiBidWY7XG4gICAgfTtcbiAgICBmdW5jdGlvbiBVdGYzMkRlY29kZXIob3B0aW9ucywgY29kZWMpIHtcbiAgICAgIHRoaXMuaXNMRSA9IGNvZGVjLmlzTEU7XG4gICAgICB0aGlzLmJhZENoYXIgPSBjb2RlYy5pY29udi5kZWZhdWx0Q2hhclVuaWNvZGUuY2hhckNvZGVBdCgwKTtcbiAgICAgIHRoaXMub3ZlcmZsb3cgPSBbXTtcbiAgICB9XG4gICAgVXRmMzJEZWNvZGVyLnByb3RvdHlwZS53cml0ZSA9IGZ1bmN0aW9uKHNyYykge1xuICAgICAgaWYgKHNyYy5sZW5ndGggPT09IDApXG4gICAgICAgIHJldHVybiBcIlwiO1xuICAgICAgdmFyIGkgPSAwO1xuICAgICAgdmFyIGNvZGVwb2ludCA9IDA7XG4gICAgICB2YXIgZHN0ID0gQnVmZmVyMi5hbGxvYyhzcmMubGVuZ3RoICsgNCk7XG4gICAgICB2YXIgb2Zmc2V0ID0gMDtcbiAgICAgIHZhciBpc0xFID0gdGhpcy5pc0xFO1xuICAgICAgdmFyIG92ZXJmbG93ID0gdGhpcy5vdmVyZmxvdztcbiAgICAgIHZhciBiYWRDaGFyID0gdGhpcy5iYWRDaGFyO1xuICAgICAgaWYgKG92ZXJmbG93Lmxlbmd0aCA+IDApIHtcbiAgICAgICAgZm9yICg7IGkgPCBzcmMubGVuZ3RoICYmIG92ZXJmbG93Lmxlbmd0aCA8IDQ7IGkrKylcbiAgICAgICAgICBvdmVyZmxvdy5wdXNoKHNyY1tpXSk7XG4gICAgICAgIGlmIChvdmVyZmxvdy5sZW5ndGggPT09IDQpIHtcbiAgICAgICAgICBpZiAoaXNMRSkge1xuICAgICAgICAgICAgY29kZXBvaW50ID0gb3ZlcmZsb3dbaV0gfCBvdmVyZmxvd1tpICsgMV0gPDwgOCB8IG92ZXJmbG93W2kgKyAyXSA8PCAxNiB8IG92ZXJmbG93W2kgKyAzXSA8PCAyNDtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgY29kZXBvaW50ID0gb3ZlcmZsb3dbaSArIDNdIHwgb3ZlcmZsb3dbaSArIDJdIDw8IDggfCBvdmVyZmxvd1tpICsgMV0gPDwgMTYgfCBvdmVyZmxvd1tpXSA8PCAyNDtcbiAgICAgICAgICB9XG4gICAgICAgICAgb3ZlcmZsb3cubGVuZ3RoID0gMDtcbiAgICAgICAgICBvZmZzZXQgPSBfd3JpdGVDb2RlcG9pbnQoZHN0LCBvZmZzZXQsIGNvZGVwb2ludCwgYmFkQ2hhcik7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIGZvciAoOyBpIDwgc3JjLmxlbmd0aCAtIDM7IGkgKz0gNCkge1xuICAgICAgICBpZiAoaXNMRSkge1xuICAgICAgICAgIGNvZGVwb2ludCA9IHNyY1tpXSB8IHNyY1tpICsgMV0gPDwgOCB8IHNyY1tpICsgMl0gPDwgMTYgfCBzcmNbaSArIDNdIDw8IDI0O1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGNvZGVwb2ludCA9IHNyY1tpICsgM10gfCBzcmNbaSArIDJdIDw8IDggfCBzcmNbaSArIDFdIDw8IDE2IHwgc3JjW2ldIDw8IDI0O1xuICAgICAgICB9XG4gICAgICAgIG9mZnNldCA9IF93cml0ZUNvZGVwb2ludChkc3QsIG9mZnNldCwgY29kZXBvaW50LCBiYWRDaGFyKTtcbiAgICAgIH1cbiAgICAgIGZvciAoOyBpIDwgc3JjLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgIG92ZXJmbG93LnB1c2goc3JjW2ldKTtcbiAgICAgIH1cbiAgICAgIHJldHVybiBkc3Quc2xpY2UoMCwgb2Zmc2V0KS50b1N0cmluZyhcInVjczJcIik7XG4gICAgfTtcbiAgICBmdW5jdGlvbiBfd3JpdGVDb2RlcG9pbnQoZHN0LCBvZmZzZXQsIGNvZGVwb2ludCwgYmFkQ2hhcikge1xuICAgICAgaWYgKGNvZGVwb2ludCA8IDAgfHwgY29kZXBvaW50ID4gMTExNDExMSkge1xuICAgICAgICBjb2RlcG9pbnQgPSBiYWRDaGFyO1xuICAgICAgfVxuICAgICAgaWYgKGNvZGVwb2ludCA+PSA2NTUzNikge1xuICAgICAgICBjb2RlcG9pbnQgLT0gNjU1MzY7XG4gICAgICAgIHZhciBoaWdoID0gNTUyOTYgfCBjb2RlcG9pbnQgPj4gMTA7XG4gICAgICAgIGRzdFtvZmZzZXQrK10gPSBoaWdoICYgMjU1O1xuICAgICAgICBkc3Rbb2Zmc2V0KytdID0gaGlnaCA+PiA4O1xuICAgICAgICB2YXIgY29kZXBvaW50ID0gNTYzMjAgfCBjb2RlcG9pbnQgJiAxMDIzO1xuICAgICAgfVxuICAgICAgZHN0W29mZnNldCsrXSA9IGNvZGVwb2ludCAmIDI1NTtcbiAgICAgIGRzdFtvZmZzZXQrK10gPSBjb2RlcG9pbnQgPj4gODtcbiAgICAgIHJldHVybiBvZmZzZXQ7XG4gICAgfVxuICAgIFV0ZjMyRGVjb2Rlci5wcm90b3R5cGUuZW5kID0gZnVuY3Rpb24oKSB7XG4gICAgICB0aGlzLm92ZXJmbG93Lmxlbmd0aCA9IDA7XG4gICAgfTtcbiAgICBleHBvcnRzMi51dGYzMiA9IFV0ZjMyQXV0b0NvZGVjO1xuICAgIGV4cG9ydHMyLnVjczQgPSBcInV0ZjMyXCI7XG4gICAgZnVuY3Rpb24gVXRmMzJBdXRvQ29kZWMob3B0aW9ucywgaWNvbnYpIHtcbiAgICAgIHRoaXMuaWNvbnYgPSBpY29udjtcbiAgICB9XG4gICAgVXRmMzJBdXRvQ29kZWMucHJvdG90eXBlLmVuY29kZXIgPSBVdGYzMkF1dG9FbmNvZGVyO1xuICAgIFV0ZjMyQXV0b0NvZGVjLnByb3RvdHlwZS5kZWNvZGVyID0gVXRmMzJBdXRvRGVjb2RlcjtcbiAgICBmdW5jdGlvbiBVdGYzMkF1dG9FbmNvZGVyKG9wdGlvbnMsIGNvZGVjKSB7XG4gICAgICBvcHRpb25zID0gb3B0aW9ucyB8fCB7fTtcbiAgICAgIGlmIChvcHRpb25zLmFkZEJPTSA9PT0gdm9pZCAwKVxuICAgICAgICBvcHRpb25zLmFkZEJPTSA9IHRydWU7XG4gICAgICB0aGlzLmVuY29kZXIgPSBjb2RlYy5pY29udi5nZXRFbmNvZGVyKG9wdGlvbnMuZGVmYXVsdEVuY29kaW5nIHx8IFwidXRmLTMybGVcIiwgb3B0aW9ucyk7XG4gICAgfVxuICAgIFV0ZjMyQXV0b0VuY29kZXIucHJvdG90eXBlLndyaXRlID0gZnVuY3Rpb24oc3RyKSB7XG4gICAgICByZXR1cm4gdGhpcy5lbmNvZGVyLndyaXRlKHN0cik7XG4gICAgfTtcbiAgICBVdGYzMkF1dG9FbmNvZGVyLnByb3RvdHlwZS5lbmQgPSBmdW5jdGlvbigpIHtcbiAgICAgIHJldHVybiB0aGlzLmVuY29kZXIuZW5kKCk7XG4gICAgfTtcbiAgICBmdW5jdGlvbiBVdGYzMkF1dG9EZWNvZGVyKG9wdGlvbnMsIGNvZGVjKSB7XG4gICAgICB0aGlzLmRlY29kZXIgPSBudWxsO1xuICAgICAgdGhpcy5pbml0aWFsQnVmcyA9IFtdO1xuICAgICAgdGhpcy5pbml0aWFsQnVmc0xlbiA9IDA7XG4gICAgICB0aGlzLm9wdGlvbnMgPSBvcHRpb25zIHx8IHt9O1xuICAgICAgdGhpcy5pY29udiA9IGNvZGVjLmljb252O1xuICAgIH1cbiAgICBVdGYzMkF1dG9EZWNvZGVyLnByb3RvdHlwZS53cml0ZSA9IGZ1bmN0aW9uKGJ1Zikge1xuICAgICAgaWYgKCF0aGlzLmRlY29kZXIpIHtcbiAgICAgICAgdGhpcy5pbml0aWFsQnVmcy5wdXNoKGJ1Zik7XG4gICAgICAgIHRoaXMuaW5pdGlhbEJ1ZnNMZW4gKz0gYnVmLmxlbmd0aDtcbiAgICAgICAgaWYgKHRoaXMuaW5pdGlhbEJ1ZnNMZW4gPCAzMilcbiAgICAgICAgICByZXR1cm4gXCJcIjtcbiAgICAgICAgdmFyIGVuY29kaW5nID0gZGV0ZWN0RW5jb2RpbmcodGhpcy5pbml0aWFsQnVmcywgdGhpcy5vcHRpb25zLmRlZmF1bHRFbmNvZGluZyk7XG4gICAgICAgIHRoaXMuZGVjb2RlciA9IHRoaXMuaWNvbnYuZ2V0RGVjb2RlcihlbmNvZGluZywgdGhpcy5vcHRpb25zKTtcbiAgICAgICAgdmFyIHJlc1N0ciA9IFwiXCI7XG4gICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgdGhpcy5pbml0aWFsQnVmcy5sZW5ndGg7IGkrKylcbiAgICAgICAgICByZXNTdHIgKz0gdGhpcy5kZWNvZGVyLndyaXRlKHRoaXMuaW5pdGlhbEJ1ZnNbaV0pO1xuICAgICAgICB0aGlzLmluaXRpYWxCdWZzLmxlbmd0aCA9IHRoaXMuaW5pdGlhbEJ1ZnNMZW4gPSAwO1xuICAgICAgICByZXR1cm4gcmVzU3RyO1xuICAgICAgfVxuICAgICAgcmV0dXJuIHRoaXMuZGVjb2Rlci53cml0ZShidWYpO1xuICAgIH07XG4gICAgVXRmMzJBdXRvRGVjb2Rlci5wcm90b3R5cGUuZW5kID0gZnVuY3Rpb24oKSB7XG4gICAgICBpZiAoIXRoaXMuZGVjb2Rlcikge1xuICAgICAgICB2YXIgZW5jb2RpbmcgPSBkZXRlY3RFbmNvZGluZyh0aGlzLmluaXRpYWxCdWZzLCB0aGlzLm9wdGlvbnMuZGVmYXVsdEVuY29kaW5nKTtcbiAgICAgICAgdGhpcy5kZWNvZGVyID0gdGhpcy5pY29udi5nZXREZWNvZGVyKGVuY29kaW5nLCB0aGlzLm9wdGlvbnMpO1xuICAgICAgICB2YXIgcmVzU3RyID0gXCJcIjtcbiAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCB0aGlzLmluaXRpYWxCdWZzLmxlbmd0aDsgaSsrKVxuICAgICAgICAgIHJlc1N0ciArPSB0aGlzLmRlY29kZXIud3JpdGUodGhpcy5pbml0aWFsQnVmc1tpXSk7XG4gICAgICAgIHZhciB0cmFpbCA9IHRoaXMuZGVjb2Rlci5lbmQoKTtcbiAgICAgICAgaWYgKHRyYWlsKVxuICAgICAgICAgIHJlc1N0ciArPSB0cmFpbDtcbiAgICAgICAgdGhpcy5pbml0aWFsQnVmcy5sZW5ndGggPSB0aGlzLmluaXRpYWxCdWZzTGVuID0gMDtcbiAgICAgICAgcmV0dXJuIHJlc1N0cjtcbiAgICAgIH1cbiAgICAgIHJldHVybiB0aGlzLmRlY29kZXIuZW5kKCk7XG4gICAgfTtcbiAgICBmdW5jdGlvbiBkZXRlY3RFbmNvZGluZyhidWZzLCBkZWZhdWx0RW5jb2RpbmcpIHtcbiAgICAgIHZhciBiID0gW107XG4gICAgICB2YXIgY2hhcnNQcm9jZXNzZWQgPSAwO1xuICAgICAgdmFyIGludmFsaWRMRSA9IDAsIGludmFsaWRCRSA9IDA7XG4gICAgICB2YXIgYm1wQ2hhcnNMRSA9IDAsIGJtcENoYXJzQkUgPSAwO1xuICAgICAgb3V0ZXJfbG9vcDpcbiAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBidWZzLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgICAgdmFyIGJ1ZiA9IGJ1ZnNbaV07XG4gICAgICAgICAgZm9yICh2YXIgaiA9IDA7IGogPCBidWYubGVuZ3RoOyBqKyspIHtcbiAgICAgICAgICAgIGIucHVzaChidWZbal0pO1xuICAgICAgICAgICAgaWYgKGIubGVuZ3RoID09PSA0KSB7XG4gICAgICAgICAgICAgIGlmIChjaGFyc1Byb2Nlc3NlZCA9PT0gMCkge1xuICAgICAgICAgICAgICAgIGlmIChiWzBdID09PSAyNTUgJiYgYlsxXSA9PT0gMjU0ICYmIGJbMl0gPT09IDAgJiYgYlszXSA9PT0gMCkge1xuICAgICAgICAgICAgICAgICAgcmV0dXJuIFwidXRmLTMybGVcIjtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaWYgKGJbMF0gPT09IDAgJiYgYlsxXSA9PT0gMCAmJiBiWzJdID09PSAyNTQgJiYgYlszXSA9PT0gMjU1KSB7XG4gICAgICAgICAgICAgICAgICByZXR1cm4gXCJ1dGYtMzJiZVwiO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICBpZiAoYlswXSAhPT0gMCB8fCBiWzFdID4gMTYpIGludmFsaWRCRSsrO1xuICAgICAgICAgICAgICBpZiAoYlszXSAhPT0gMCB8fCBiWzJdID4gMTYpIGludmFsaWRMRSsrO1xuICAgICAgICAgICAgICBpZiAoYlswXSA9PT0gMCAmJiBiWzFdID09PSAwICYmIChiWzJdICE9PSAwIHx8IGJbM10gIT09IDApKSBibXBDaGFyc0JFKys7XG4gICAgICAgICAgICAgIGlmICgoYlswXSAhPT0gMCB8fCBiWzFdICE9PSAwKSAmJiBiWzJdID09PSAwICYmIGJbM10gPT09IDApIGJtcENoYXJzTEUrKztcbiAgICAgICAgICAgICAgYi5sZW5ndGggPSAwO1xuICAgICAgICAgICAgICBjaGFyc1Byb2Nlc3NlZCsrO1xuICAgICAgICAgICAgICBpZiAoY2hhcnNQcm9jZXNzZWQgPj0gMTAwKSB7XG4gICAgICAgICAgICAgICAgYnJlYWsgb3V0ZXJfbG9vcDtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgaWYgKGJtcENoYXJzQkUgLSBpbnZhbGlkQkUgPiBibXBDaGFyc0xFIC0gaW52YWxpZExFKSByZXR1cm4gXCJ1dGYtMzJiZVwiO1xuICAgICAgaWYgKGJtcENoYXJzQkUgLSBpbnZhbGlkQkUgPCBibXBDaGFyc0xFIC0gaW52YWxpZExFKSByZXR1cm4gXCJ1dGYtMzJsZVwiO1xuICAgICAgcmV0dXJuIGRlZmF1bHRFbmNvZGluZyB8fCBcInV0Zi0zMmxlXCI7XG4gICAgfVxuICB9XG59KTtcblxuLy8gbm9kZV9tb2R1bGVzL3Jhdy1ib2R5L25vZGVfbW9kdWxlcy9pY29udi1saXRlL2VuY29kaW5ncy91dGYxNi5qc1xudmFyIHJlcXVpcmVfdXRmMTYgPSBfX2NvbW1vbkpTKHtcbiAgXCJub2RlX21vZHVsZXMvcmF3LWJvZHkvbm9kZV9tb2R1bGVzL2ljb252LWxpdGUvZW5jb2RpbmdzL3V0ZjE2LmpzXCIoZXhwb3J0czIpIHtcbiAgICBcInVzZSBzdHJpY3RcIjtcbiAgICB2YXIgQnVmZmVyMiA9IHJlcXVpcmVfc2FmZXIoKS5CdWZmZXI7XG4gICAgZXhwb3J0czIudXRmMTZiZSA9IFV0ZjE2QkVDb2RlYztcbiAgICBmdW5jdGlvbiBVdGYxNkJFQ29kZWMoKSB7XG4gICAgfVxuICAgIFV0ZjE2QkVDb2RlYy5wcm90b3R5cGUuZW5jb2RlciA9IFV0ZjE2QkVFbmNvZGVyO1xuICAgIFV0ZjE2QkVDb2RlYy5wcm90b3R5cGUuZGVjb2RlciA9IFV0ZjE2QkVEZWNvZGVyO1xuICAgIFV0ZjE2QkVDb2RlYy5wcm90b3R5cGUuYm9tQXdhcmUgPSB0cnVlO1xuICAgIGZ1bmN0aW9uIFV0ZjE2QkVFbmNvZGVyKCkge1xuICAgIH1cbiAgICBVdGYxNkJFRW5jb2Rlci5wcm90b3R5cGUud3JpdGUgPSBmdW5jdGlvbihzdHIpIHtcbiAgICAgIHZhciBidWYgPSBCdWZmZXIyLmZyb20oc3RyLCBcInVjczJcIik7XG4gICAgICBmb3IgKHZhciBpID0gMDsgaSA8IGJ1Zi5sZW5ndGg7IGkgKz0gMikge1xuICAgICAgICB2YXIgdG1wID0gYnVmW2ldO1xuICAgICAgICBidWZbaV0gPSBidWZbaSArIDFdO1xuICAgICAgICBidWZbaSArIDFdID0gdG1wO1xuICAgICAgfVxuICAgICAgcmV0dXJuIGJ1ZjtcbiAgICB9O1xuICAgIFV0ZjE2QkVFbmNvZGVyLnByb3RvdHlwZS5lbmQgPSBmdW5jdGlvbigpIHtcbiAgICB9O1xuICAgIGZ1bmN0aW9uIFV0ZjE2QkVEZWNvZGVyKCkge1xuICAgICAgdGhpcy5vdmVyZmxvd0J5dGUgPSAtMTtcbiAgICB9XG4gICAgVXRmMTZCRURlY29kZXIucHJvdG90eXBlLndyaXRlID0gZnVuY3Rpb24oYnVmKSB7XG4gICAgICBpZiAoYnVmLmxlbmd0aCA9PSAwKVxuICAgICAgICByZXR1cm4gXCJcIjtcbiAgICAgIHZhciBidWYyID0gQnVmZmVyMi5hbGxvYyhidWYubGVuZ3RoICsgMSksIGkgPSAwLCBqID0gMDtcbiAgICAgIGlmICh0aGlzLm92ZXJmbG93Qnl0ZSAhPT0gLTEpIHtcbiAgICAgICAgYnVmMlswXSA9IGJ1ZlswXTtcbiAgICAgICAgYnVmMlsxXSA9IHRoaXMub3ZlcmZsb3dCeXRlO1xuICAgICAgICBpID0gMTtcbiAgICAgICAgaiA9IDI7XG4gICAgICB9XG4gICAgICBmb3IgKDsgaSA8IGJ1Zi5sZW5ndGggLSAxOyBpICs9IDIsIGogKz0gMikge1xuICAgICAgICBidWYyW2pdID0gYnVmW2kgKyAxXTtcbiAgICAgICAgYnVmMltqICsgMV0gPSBidWZbaV07XG4gICAgICB9XG4gICAgICB0aGlzLm92ZXJmbG93Qnl0ZSA9IGkgPT0gYnVmLmxlbmd0aCAtIDEgPyBidWZbYnVmLmxlbmd0aCAtIDFdIDogLTE7XG4gICAgICByZXR1cm4gYnVmMi5zbGljZSgwLCBqKS50b1N0cmluZyhcInVjczJcIik7XG4gICAgfTtcbiAgICBVdGYxNkJFRGVjb2Rlci5wcm90b3R5cGUuZW5kID0gZnVuY3Rpb24oKSB7XG4gICAgICB0aGlzLm92ZXJmbG93Qnl0ZSA9IC0xO1xuICAgIH07XG4gICAgZXhwb3J0czIudXRmMTYgPSBVdGYxNkNvZGVjO1xuICAgIGZ1bmN0aW9uIFV0ZjE2Q29kZWMoY29kZWNPcHRpb25zLCBpY29udikge1xuICAgICAgdGhpcy5pY29udiA9IGljb252O1xuICAgIH1cbiAgICBVdGYxNkNvZGVjLnByb3RvdHlwZS5lbmNvZGVyID0gVXRmMTZFbmNvZGVyO1xuICAgIFV0ZjE2Q29kZWMucHJvdG90eXBlLmRlY29kZXIgPSBVdGYxNkRlY29kZXI7XG4gICAgZnVuY3Rpb24gVXRmMTZFbmNvZGVyKG9wdGlvbnMsIGNvZGVjKSB7XG4gICAgICBvcHRpb25zID0gb3B0aW9ucyB8fCB7fTtcbiAgICAgIGlmIChvcHRpb25zLmFkZEJPTSA9PT0gdm9pZCAwKVxuICAgICAgICBvcHRpb25zLmFkZEJPTSA9IHRydWU7XG4gICAgICB0aGlzLmVuY29kZXIgPSBjb2RlYy5pY29udi5nZXRFbmNvZGVyKFwidXRmLTE2bGVcIiwgb3B0aW9ucyk7XG4gICAgfVxuICAgIFV0ZjE2RW5jb2Rlci5wcm90b3R5cGUud3JpdGUgPSBmdW5jdGlvbihzdHIpIHtcbiAgICAgIHJldHVybiB0aGlzLmVuY29kZXIud3JpdGUoc3RyKTtcbiAgICB9O1xuICAgIFV0ZjE2RW5jb2Rlci5wcm90b3R5cGUuZW5kID0gZnVuY3Rpb24oKSB7XG4gICAgICByZXR1cm4gdGhpcy5lbmNvZGVyLmVuZCgpO1xuICAgIH07XG4gICAgZnVuY3Rpb24gVXRmMTZEZWNvZGVyKG9wdGlvbnMsIGNvZGVjKSB7XG4gICAgICB0aGlzLmRlY29kZXIgPSBudWxsO1xuICAgICAgdGhpcy5pbml0aWFsQnVmcyA9IFtdO1xuICAgICAgdGhpcy5pbml0aWFsQnVmc0xlbiA9IDA7XG4gICAgICB0aGlzLm9wdGlvbnMgPSBvcHRpb25zIHx8IHt9O1xuICAgICAgdGhpcy5pY29udiA9IGNvZGVjLmljb252O1xuICAgIH1cbiAgICBVdGYxNkRlY29kZXIucHJvdG90eXBlLndyaXRlID0gZnVuY3Rpb24oYnVmKSB7XG4gICAgICBpZiAoIXRoaXMuZGVjb2Rlcikge1xuICAgICAgICB0aGlzLmluaXRpYWxCdWZzLnB1c2goYnVmKTtcbiAgICAgICAgdGhpcy5pbml0aWFsQnVmc0xlbiArPSBidWYubGVuZ3RoO1xuICAgICAgICBpZiAodGhpcy5pbml0aWFsQnVmc0xlbiA8IDE2KVxuICAgICAgICAgIHJldHVybiBcIlwiO1xuICAgICAgICB2YXIgZW5jb2RpbmcgPSBkZXRlY3RFbmNvZGluZyh0aGlzLmluaXRpYWxCdWZzLCB0aGlzLm9wdGlvbnMuZGVmYXVsdEVuY29kaW5nKTtcbiAgICAgICAgdGhpcy5kZWNvZGVyID0gdGhpcy5pY29udi5nZXREZWNvZGVyKGVuY29kaW5nLCB0aGlzLm9wdGlvbnMpO1xuICAgICAgICB2YXIgcmVzU3RyID0gXCJcIjtcbiAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCB0aGlzLmluaXRpYWxCdWZzLmxlbmd0aDsgaSsrKVxuICAgICAgICAgIHJlc1N0ciArPSB0aGlzLmRlY29kZXIud3JpdGUodGhpcy5pbml0aWFsQnVmc1tpXSk7XG4gICAgICAgIHRoaXMuaW5pdGlhbEJ1ZnMubGVuZ3RoID0gdGhpcy5pbml0aWFsQnVmc0xlbiA9IDA7XG4gICAgICAgIHJldHVybiByZXNTdHI7XG4gICAgICB9XG4gICAgICByZXR1cm4gdGhpcy5kZWNvZGVyLndyaXRlKGJ1Zik7XG4gICAgfTtcbiAgICBVdGYxNkRlY29kZXIucHJvdG90eXBlLmVuZCA9IGZ1bmN0aW9uKCkge1xuICAgICAgaWYgKCF0aGlzLmRlY29kZXIpIHtcbiAgICAgICAgdmFyIGVuY29kaW5nID0gZGV0ZWN0RW5jb2RpbmcodGhpcy5pbml0aWFsQnVmcywgdGhpcy5vcHRpb25zLmRlZmF1bHRFbmNvZGluZyk7XG4gICAgICAgIHRoaXMuZGVjb2RlciA9IHRoaXMuaWNvbnYuZ2V0RGVjb2RlcihlbmNvZGluZywgdGhpcy5vcHRpb25zKTtcbiAgICAgICAgdmFyIHJlc1N0ciA9IFwiXCI7XG4gICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgdGhpcy5pbml0aWFsQnVmcy5sZW5ndGg7IGkrKylcbiAgICAgICAgICByZXNTdHIgKz0gdGhpcy5kZWNvZGVyLndyaXRlKHRoaXMuaW5pdGlhbEJ1ZnNbaV0pO1xuICAgICAgICB2YXIgdHJhaWwgPSB0aGlzLmRlY29kZXIuZW5kKCk7XG4gICAgICAgIGlmICh0cmFpbClcbiAgICAgICAgICByZXNTdHIgKz0gdHJhaWw7XG4gICAgICAgIHRoaXMuaW5pdGlhbEJ1ZnMubGVuZ3RoID0gdGhpcy5pbml0aWFsQnVmc0xlbiA9IDA7XG4gICAgICAgIHJldHVybiByZXNTdHI7XG4gICAgICB9XG4gICAgICByZXR1cm4gdGhpcy5kZWNvZGVyLmVuZCgpO1xuICAgIH07XG4gICAgZnVuY3Rpb24gZGV0ZWN0RW5jb2RpbmcoYnVmcywgZGVmYXVsdEVuY29kaW5nKSB7XG4gICAgICB2YXIgYiA9IFtdO1xuICAgICAgdmFyIGNoYXJzUHJvY2Vzc2VkID0gMDtcbiAgICAgIHZhciBhc2NpaUNoYXJzTEUgPSAwLCBhc2NpaUNoYXJzQkUgPSAwO1xuICAgICAgb3V0ZXJfbG9vcDpcbiAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBidWZzLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgICAgdmFyIGJ1ZiA9IGJ1ZnNbaV07XG4gICAgICAgICAgZm9yICh2YXIgaiA9IDA7IGogPCBidWYubGVuZ3RoOyBqKyspIHtcbiAgICAgICAgICAgIGIucHVzaChidWZbal0pO1xuICAgICAgICAgICAgaWYgKGIubGVuZ3RoID09PSAyKSB7XG4gICAgICAgICAgICAgIGlmIChjaGFyc1Byb2Nlc3NlZCA9PT0gMCkge1xuICAgICAgICAgICAgICAgIGlmIChiWzBdID09PSAyNTUgJiYgYlsxXSA9PT0gMjU0KSByZXR1cm4gXCJ1dGYtMTZsZVwiO1xuICAgICAgICAgICAgICAgIGlmIChiWzBdID09PSAyNTQgJiYgYlsxXSA9PT0gMjU1KSByZXR1cm4gXCJ1dGYtMTZiZVwiO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIGlmIChiWzBdID09PSAwICYmIGJbMV0gIT09IDApIGFzY2lpQ2hhcnNCRSsrO1xuICAgICAgICAgICAgICBpZiAoYlswXSAhPT0gMCAmJiBiWzFdID09PSAwKSBhc2NpaUNoYXJzTEUrKztcbiAgICAgICAgICAgICAgYi5sZW5ndGggPSAwO1xuICAgICAgICAgICAgICBjaGFyc1Byb2Nlc3NlZCsrO1xuICAgICAgICAgICAgICBpZiAoY2hhcnNQcm9jZXNzZWQgPj0gMTAwKSB7XG4gICAgICAgICAgICAgICAgYnJlYWsgb3V0ZXJfbG9vcDtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgaWYgKGFzY2lpQ2hhcnNCRSA+IGFzY2lpQ2hhcnNMRSkgcmV0dXJuIFwidXRmLTE2YmVcIjtcbiAgICAgIGlmIChhc2NpaUNoYXJzQkUgPCBhc2NpaUNoYXJzTEUpIHJldHVybiBcInV0Zi0xNmxlXCI7XG4gICAgICByZXR1cm4gZGVmYXVsdEVuY29kaW5nIHx8IFwidXRmLTE2bGVcIjtcbiAgICB9XG4gIH1cbn0pO1xuXG4vLyBub2RlX21vZHVsZXMvcmF3LWJvZHkvbm9kZV9tb2R1bGVzL2ljb252LWxpdGUvZW5jb2RpbmdzL3V0ZjcuanNcbnZhciByZXF1aXJlX3V0ZjcgPSBfX2NvbW1vbkpTKHtcbiAgXCJub2RlX21vZHVsZXMvcmF3LWJvZHkvbm9kZV9tb2R1bGVzL2ljb252LWxpdGUvZW5jb2RpbmdzL3V0ZjcuanNcIihleHBvcnRzMikge1xuICAgIFwidXNlIHN0cmljdFwiO1xuICAgIHZhciBCdWZmZXIyID0gcmVxdWlyZV9zYWZlcigpLkJ1ZmZlcjtcbiAgICBleHBvcnRzMi51dGY3ID0gVXRmN0NvZGVjO1xuICAgIGV4cG9ydHMyLnVuaWNvZGUxMXV0ZjcgPSBcInV0ZjdcIjtcbiAgICBmdW5jdGlvbiBVdGY3Q29kZWMoY29kZWNPcHRpb25zLCBpY29udikge1xuICAgICAgdGhpcy5pY29udiA9IGljb252O1xuICAgIH1cbiAgICBVdGY3Q29kZWMucHJvdG90eXBlLmVuY29kZXIgPSBVdGY3RW5jb2RlcjtcbiAgICBVdGY3Q29kZWMucHJvdG90eXBlLmRlY29kZXIgPSBVdGY3RGVjb2RlcjtcbiAgICBVdGY3Q29kZWMucHJvdG90eXBlLmJvbUF3YXJlID0gdHJ1ZTtcbiAgICB2YXIgbm9uRGlyZWN0Q2hhcnMgPSAvW15BLVphLXowLTknXFwoXFwpLC1cXC5cXC86XFw/IFxcblxcclxcdF0rL2c7XG4gICAgZnVuY3Rpb24gVXRmN0VuY29kZXIob3B0aW9ucywgY29kZWMpIHtcbiAgICAgIHRoaXMuaWNvbnYgPSBjb2RlYy5pY29udjtcbiAgICB9XG4gICAgVXRmN0VuY29kZXIucHJvdG90eXBlLndyaXRlID0gZnVuY3Rpb24oc3RyKSB7XG4gICAgICByZXR1cm4gQnVmZmVyMi5mcm9tKHN0ci5yZXBsYWNlKG5vbkRpcmVjdENoYXJzLCBmdW5jdGlvbihjaHVuaykge1xuICAgICAgICByZXR1cm4gXCIrXCIgKyAoY2h1bmsgPT09IFwiK1wiID8gXCJcIiA6IHRoaXMuaWNvbnYuZW5jb2RlKGNodW5rLCBcInV0ZjE2LWJlXCIpLnRvU3RyaW5nKFwiYmFzZTY0XCIpLnJlcGxhY2UoLz0rJC8sIFwiXCIpKSArIFwiLVwiO1xuICAgICAgfS5iaW5kKHRoaXMpKSk7XG4gICAgfTtcbiAgICBVdGY3RW5jb2Rlci5wcm90b3R5cGUuZW5kID0gZnVuY3Rpb24oKSB7XG4gICAgfTtcbiAgICBmdW5jdGlvbiBVdGY3RGVjb2RlcihvcHRpb25zLCBjb2RlYykge1xuICAgICAgdGhpcy5pY29udiA9IGNvZGVjLmljb252O1xuICAgICAgdGhpcy5pbkJhc2U2NCA9IGZhbHNlO1xuICAgICAgdGhpcy5iYXNlNjRBY2N1bSA9IFwiXCI7XG4gICAgfVxuICAgIHZhciBiYXNlNjRSZWdleDIgPSAvW0EtWmEtejAtOVxcLytdLztcbiAgICB2YXIgYmFzZTY0Q2hhcnMgPSBbXTtcbiAgICBmb3IgKGkgPSAwOyBpIDwgMjU2OyBpKyspXG4gICAgICBiYXNlNjRDaGFyc1tpXSA9IGJhc2U2NFJlZ2V4Mi50ZXN0KFN0cmluZy5mcm9tQ2hhckNvZGUoaSkpO1xuICAgIHZhciBpO1xuICAgIHZhciBwbHVzQ2hhciA9IFwiK1wiLmNoYXJDb2RlQXQoMCk7XG4gICAgdmFyIG1pbnVzQ2hhciA9IFwiLVwiLmNoYXJDb2RlQXQoMCk7XG4gICAgdmFyIGFuZENoYXIgPSBcIiZcIi5jaGFyQ29kZUF0KDApO1xuICAgIFV0ZjdEZWNvZGVyLnByb3RvdHlwZS53cml0ZSA9IGZ1bmN0aW9uKGJ1Zikge1xuICAgICAgdmFyIHJlcyA9IFwiXCIsIGxhc3RJID0gMCwgaW5CYXNlNjQgPSB0aGlzLmluQmFzZTY0LCBiYXNlNjRBY2N1bSA9IHRoaXMuYmFzZTY0QWNjdW07XG4gICAgICBmb3IgKHZhciBpMiA9IDA7IGkyIDwgYnVmLmxlbmd0aDsgaTIrKykge1xuICAgICAgICBpZiAoIWluQmFzZTY0KSB7XG4gICAgICAgICAgaWYgKGJ1ZltpMl0gPT0gcGx1c0NoYXIpIHtcbiAgICAgICAgICAgIHJlcyArPSB0aGlzLmljb252LmRlY29kZShidWYuc2xpY2UobGFzdEksIGkyKSwgXCJhc2NpaVwiKTtcbiAgICAgICAgICAgIGxhc3RJID0gaTIgKyAxO1xuICAgICAgICAgICAgaW5CYXNlNjQgPSB0cnVlO1xuICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBpZiAoIWJhc2U2NENoYXJzW2J1ZltpMl1dKSB7XG4gICAgICAgICAgICBpZiAoaTIgPT0gbGFzdEkgJiYgYnVmW2kyXSA9PSBtaW51c0NoYXIpIHtcbiAgICAgICAgICAgICAgcmVzICs9IFwiK1wiO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgdmFyIGI2NHN0ciA9IGJhc2U2NEFjY3VtICsgdGhpcy5pY29udi5kZWNvZGUoYnVmLnNsaWNlKGxhc3RJLCBpMiksIFwiYXNjaWlcIik7XG4gICAgICAgICAgICAgIHJlcyArPSB0aGlzLmljb252LmRlY29kZShCdWZmZXIyLmZyb20oYjY0c3RyLCBcImJhc2U2NFwiKSwgXCJ1dGYxNi1iZVwiKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmIChidWZbaTJdICE9IG1pbnVzQ2hhcilcbiAgICAgICAgICAgICAgaTItLTtcbiAgICAgICAgICAgIGxhc3RJID0gaTIgKyAxO1xuICAgICAgICAgICAgaW5CYXNlNjQgPSBmYWxzZTtcbiAgICAgICAgICAgIGJhc2U2NEFjY3VtID0gXCJcIjtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIGlmICghaW5CYXNlNjQpIHtcbiAgICAgICAgcmVzICs9IHRoaXMuaWNvbnYuZGVjb2RlKGJ1Zi5zbGljZShsYXN0SSksIFwiYXNjaWlcIik7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB2YXIgYjY0c3RyID0gYmFzZTY0QWNjdW0gKyB0aGlzLmljb252LmRlY29kZShidWYuc2xpY2UobGFzdEkpLCBcImFzY2lpXCIpO1xuICAgICAgICB2YXIgY2FuQmVEZWNvZGVkID0gYjY0c3RyLmxlbmd0aCAtIGI2NHN0ci5sZW5ndGggJSA4O1xuICAgICAgICBiYXNlNjRBY2N1bSA9IGI2NHN0ci5zbGljZShjYW5CZURlY29kZWQpO1xuICAgICAgICBiNjRzdHIgPSBiNjRzdHIuc2xpY2UoMCwgY2FuQmVEZWNvZGVkKTtcbiAgICAgICAgcmVzICs9IHRoaXMuaWNvbnYuZGVjb2RlKEJ1ZmZlcjIuZnJvbShiNjRzdHIsIFwiYmFzZTY0XCIpLCBcInV0ZjE2LWJlXCIpO1xuICAgICAgfVxuICAgICAgdGhpcy5pbkJhc2U2NCA9IGluQmFzZTY0O1xuICAgICAgdGhpcy5iYXNlNjRBY2N1bSA9IGJhc2U2NEFjY3VtO1xuICAgICAgcmV0dXJuIHJlcztcbiAgICB9O1xuICAgIFV0ZjdEZWNvZGVyLnByb3RvdHlwZS5lbmQgPSBmdW5jdGlvbigpIHtcbiAgICAgIHZhciByZXMgPSBcIlwiO1xuICAgICAgaWYgKHRoaXMuaW5CYXNlNjQgJiYgdGhpcy5iYXNlNjRBY2N1bS5sZW5ndGggPiAwKVxuICAgICAgICByZXMgPSB0aGlzLmljb252LmRlY29kZShCdWZmZXIyLmZyb20odGhpcy5iYXNlNjRBY2N1bSwgXCJiYXNlNjRcIiksIFwidXRmMTYtYmVcIik7XG4gICAgICB0aGlzLmluQmFzZTY0ID0gZmFsc2U7XG4gICAgICB0aGlzLmJhc2U2NEFjY3VtID0gXCJcIjtcbiAgICAgIHJldHVybiByZXM7XG4gICAgfTtcbiAgICBleHBvcnRzMi51dGY3aW1hcCA9IFV0ZjdJTUFQQ29kZWM7XG4gICAgZnVuY3Rpb24gVXRmN0lNQVBDb2RlYyhjb2RlY09wdGlvbnMsIGljb252KSB7XG4gICAgICB0aGlzLmljb252ID0gaWNvbnY7XG4gICAgfVxuICAgIFV0ZjdJTUFQQ29kZWMucHJvdG90eXBlLmVuY29kZXIgPSBVdGY3SU1BUEVuY29kZXI7XG4gICAgVXRmN0lNQVBDb2RlYy5wcm90b3R5cGUuZGVjb2RlciA9IFV0ZjdJTUFQRGVjb2RlcjtcbiAgICBVdGY3SU1BUENvZGVjLnByb3RvdHlwZS5ib21Bd2FyZSA9IHRydWU7XG4gICAgZnVuY3Rpb24gVXRmN0lNQVBFbmNvZGVyKG9wdGlvbnMsIGNvZGVjKSB7XG4gICAgICB0aGlzLmljb252ID0gY29kZWMuaWNvbnY7XG4gICAgICB0aGlzLmluQmFzZTY0ID0gZmFsc2U7XG4gICAgICB0aGlzLmJhc2U2NEFjY3VtID0gQnVmZmVyMi5hbGxvYyg2KTtcbiAgICAgIHRoaXMuYmFzZTY0QWNjdW1JZHggPSAwO1xuICAgIH1cbiAgICBVdGY3SU1BUEVuY29kZXIucHJvdG90eXBlLndyaXRlID0gZnVuY3Rpb24oc3RyKSB7XG4gICAgICB2YXIgaW5CYXNlNjQgPSB0aGlzLmluQmFzZTY0LCBiYXNlNjRBY2N1bSA9IHRoaXMuYmFzZTY0QWNjdW0sIGJhc2U2NEFjY3VtSWR4ID0gdGhpcy5iYXNlNjRBY2N1bUlkeCwgYnVmID0gQnVmZmVyMi5hbGxvYyhzdHIubGVuZ3RoICogNSArIDEwKSwgYnVmSWR4ID0gMDtcbiAgICAgIGZvciAodmFyIGkyID0gMDsgaTIgPCBzdHIubGVuZ3RoOyBpMisrKSB7XG4gICAgICAgIHZhciB1Q2hhciA9IHN0ci5jaGFyQ29kZUF0KGkyKTtcbiAgICAgICAgaWYgKDMyIDw9IHVDaGFyICYmIHVDaGFyIDw9IDEyNikge1xuICAgICAgICAgIGlmIChpbkJhc2U2NCkge1xuICAgICAgICAgICAgaWYgKGJhc2U2NEFjY3VtSWR4ID4gMCkge1xuICAgICAgICAgICAgICBidWZJZHggKz0gYnVmLndyaXRlKGJhc2U2NEFjY3VtLnNsaWNlKDAsIGJhc2U2NEFjY3VtSWR4KS50b1N0cmluZyhcImJhc2U2NFwiKS5yZXBsYWNlKC9cXC8vZywgXCIsXCIpLnJlcGxhY2UoLz0rJC8sIFwiXCIpLCBidWZJZHgpO1xuICAgICAgICAgICAgICBiYXNlNjRBY2N1bUlkeCA9IDA7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBidWZbYnVmSWR4KytdID0gbWludXNDaGFyO1xuICAgICAgICAgICAgaW5CYXNlNjQgPSBmYWxzZTtcbiAgICAgICAgICB9XG4gICAgICAgICAgaWYgKCFpbkJhc2U2NCkge1xuICAgICAgICAgICAgYnVmW2J1ZklkeCsrXSA9IHVDaGFyO1xuICAgICAgICAgICAgaWYgKHVDaGFyID09PSBhbmRDaGFyKVxuICAgICAgICAgICAgICBidWZbYnVmSWR4KytdID0gbWludXNDaGFyO1xuICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBpZiAoIWluQmFzZTY0KSB7XG4gICAgICAgICAgICBidWZbYnVmSWR4KytdID0gYW5kQ2hhcjtcbiAgICAgICAgICAgIGluQmFzZTY0ID0gdHJ1ZTtcbiAgICAgICAgICB9XG4gICAgICAgICAgaWYgKGluQmFzZTY0KSB7XG4gICAgICAgICAgICBiYXNlNjRBY2N1bVtiYXNlNjRBY2N1bUlkeCsrXSA9IHVDaGFyID4+IDg7XG4gICAgICAgICAgICBiYXNlNjRBY2N1bVtiYXNlNjRBY2N1bUlkeCsrXSA9IHVDaGFyICYgMjU1O1xuICAgICAgICAgICAgaWYgKGJhc2U2NEFjY3VtSWR4ID09IGJhc2U2NEFjY3VtLmxlbmd0aCkge1xuICAgICAgICAgICAgICBidWZJZHggKz0gYnVmLndyaXRlKGJhc2U2NEFjY3VtLnRvU3RyaW5nKFwiYmFzZTY0XCIpLnJlcGxhY2UoL1xcLy9nLCBcIixcIiksIGJ1ZklkeCk7XG4gICAgICAgICAgICAgIGJhc2U2NEFjY3VtSWR4ID0gMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIHRoaXMuaW5CYXNlNjQgPSBpbkJhc2U2NDtcbiAgICAgIHRoaXMuYmFzZTY0QWNjdW1JZHggPSBiYXNlNjRBY2N1bUlkeDtcbiAgICAgIHJldHVybiBidWYuc2xpY2UoMCwgYnVmSWR4KTtcbiAgICB9O1xuICAgIFV0ZjdJTUFQRW5jb2Rlci5wcm90b3R5cGUuZW5kID0gZnVuY3Rpb24oKSB7XG4gICAgICB2YXIgYnVmID0gQnVmZmVyMi5hbGxvYygxMCksIGJ1ZklkeCA9IDA7XG4gICAgICBpZiAodGhpcy5pbkJhc2U2NCkge1xuICAgICAgICBpZiAodGhpcy5iYXNlNjRBY2N1bUlkeCA+IDApIHtcbiAgICAgICAgICBidWZJZHggKz0gYnVmLndyaXRlKHRoaXMuYmFzZTY0QWNjdW0uc2xpY2UoMCwgdGhpcy5iYXNlNjRBY2N1bUlkeCkudG9TdHJpbmcoXCJiYXNlNjRcIikucmVwbGFjZSgvXFwvL2csIFwiLFwiKS5yZXBsYWNlKC89KyQvLCBcIlwiKSwgYnVmSWR4KTtcbiAgICAgICAgICB0aGlzLmJhc2U2NEFjY3VtSWR4ID0gMDtcbiAgICAgICAgfVxuICAgICAgICBidWZbYnVmSWR4KytdID0gbWludXNDaGFyO1xuICAgICAgICB0aGlzLmluQmFzZTY0ID0gZmFsc2U7XG4gICAgICB9XG4gICAgICByZXR1cm4gYnVmLnNsaWNlKDAsIGJ1ZklkeCk7XG4gICAgfTtcbiAgICBmdW5jdGlvbiBVdGY3SU1BUERlY29kZXIob3B0aW9ucywgY29kZWMpIHtcbiAgICAgIHRoaXMuaWNvbnYgPSBjb2RlYy5pY29udjtcbiAgICAgIHRoaXMuaW5CYXNlNjQgPSBmYWxzZTtcbiAgICAgIHRoaXMuYmFzZTY0QWNjdW0gPSBcIlwiO1xuICAgIH1cbiAgICB2YXIgYmFzZTY0SU1BUENoYXJzID0gYmFzZTY0Q2hhcnMuc2xpY2UoKTtcbiAgICBiYXNlNjRJTUFQQ2hhcnNbXCIsXCIuY2hhckNvZGVBdCgwKV0gPSB0cnVlO1xuICAgIFV0ZjdJTUFQRGVjb2Rlci5wcm90b3R5cGUud3JpdGUgPSBmdW5jdGlvbihidWYpIHtcbiAgICAgIHZhciByZXMgPSBcIlwiLCBsYXN0SSA9IDAsIGluQmFzZTY0ID0gdGhpcy5pbkJhc2U2NCwgYmFzZTY0QWNjdW0gPSB0aGlzLmJhc2U2NEFjY3VtO1xuICAgICAgZm9yICh2YXIgaTIgPSAwOyBpMiA8IGJ1Zi5sZW5ndGg7IGkyKyspIHtcbiAgICAgICAgaWYgKCFpbkJhc2U2NCkge1xuICAgICAgICAgIGlmIChidWZbaTJdID09IGFuZENoYXIpIHtcbiAgICAgICAgICAgIHJlcyArPSB0aGlzLmljb252LmRlY29kZShidWYuc2xpY2UobGFzdEksIGkyKSwgXCJhc2NpaVwiKTtcbiAgICAgICAgICAgIGxhc3RJID0gaTIgKyAxO1xuICAgICAgICAgICAgaW5CYXNlNjQgPSB0cnVlO1xuICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBpZiAoIWJhc2U2NElNQVBDaGFyc1tidWZbaTJdXSkge1xuICAgICAgICAgICAgaWYgKGkyID09IGxhc3RJICYmIGJ1ZltpMl0gPT0gbWludXNDaGFyKSB7XG4gICAgICAgICAgICAgIHJlcyArPSBcIiZcIjtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgIHZhciBiNjRzdHIgPSBiYXNlNjRBY2N1bSArIHRoaXMuaWNvbnYuZGVjb2RlKGJ1Zi5zbGljZShsYXN0SSwgaTIpLCBcImFzY2lpXCIpLnJlcGxhY2UoLywvZywgXCIvXCIpO1xuICAgICAgICAgICAgICByZXMgKz0gdGhpcy5pY29udi5kZWNvZGUoQnVmZmVyMi5mcm9tKGI2NHN0ciwgXCJiYXNlNjRcIiksIFwidXRmMTYtYmVcIik7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAoYnVmW2kyXSAhPSBtaW51c0NoYXIpXG4gICAgICAgICAgICAgIGkyLS07XG4gICAgICAgICAgICBsYXN0SSA9IGkyICsgMTtcbiAgICAgICAgICAgIGluQmFzZTY0ID0gZmFsc2U7XG4gICAgICAgICAgICBiYXNlNjRBY2N1bSA9IFwiXCI7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgICBpZiAoIWluQmFzZTY0KSB7XG4gICAgICAgIHJlcyArPSB0aGlzLmljb252LmRlY29kZShidWYuc2xpY2UobGFzdEkpLCBcImFzY2lpXCIpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdmFyIGI2NHN0ciA9IGJhc2U2NEFjY3VtICsgdGhpcy5pY29udi5kZWNvZGUoYnVmLnNsaWNlKGxhc3RJKSwgXCJhc2NpaVwiKS5yZXBsYWNlKC8sL2csIFwiL1wiKTtcbiAgICAgICAgdmFyIGNhbkJlRGVjb2RlZCA9IGI2NHN0ci5sZW5ndGggLSBiNjRzdHIubGVuZ3RoICUgODtcbiAgICAgICAgYmFzZTY0QWNjdW0gPSBiNjRzdHIuc2xpY2UoY2FuQmVEZWNvZGVkKTtcbiAgICAgICAgYjY0c3RyID0gYjY0c3RyLnNsaWNlKDAsIGNhbkJlRGVjb2RlZCk7XG4gICAgICAgIHJlcyArPSB0aGlzLmljb252LmRlY29kZShCdWZmZXIyLmZyb20oYjY0c3RyLCBcImJhc2U2NFwiKSwgXCJ1dGYxNi1iZVwiKTtcbiAgICAgIH1cbiAgICAgIHRoaXMuaW5CYXNlNjQgPSBpbkJhc2U2NDtcbiAgICAgIHRoaXMuYmFzZTY0QWNjdW0gPSBiYXNlNjRBY2N1bTtcbiAgICAgIHJldHVybiByZXM7XG4gICAgfTtcbiAgICBVdGY3SU1BUERlY29kZXIucHJvdG90eXBlLmVuZCA9IGZ1bmN0aW9uKCkge1xuICAgICAgdmFyIHJlcyA9IFwiXCI7XG4gICAgICBpZiAodGhpcy5pbkJhc2U2NCAmJiB0aGlzLmJhc2U2NEFjY3VtLmxlbmd0aCA+IDApXG4gICAgICAgIHJlcyA9IHRoaXMuaWNvbnYuZGVjb2RlKEJ1ZmZlcjIuZnJvbSh0aGlzLmJhc2U2NEFjY3VtLCBcImJhc2U2NFwiKSwgXCJ1dGYxNi1iZVwiKTtcbiAgICAgIHRoaXMuaW5CYXNlNjQgPSBmYWxzZTtcbiAgICAgIHRoaXMuYmFzZTY0QWNjdW0gPSBcIlwiO1xuICAgICAgcmV0dXJuIHJlcztcbiAgICB9O1xuICB9XG59KTtcblxuLy8gbm9kZV9tb2R1bGVzL3Jhdy1ib2R5L25vZGVfbW9kdWxlcy9pY29udi1saXRlL2VuY29kaW5ncy9zYmNzLWNvZGVjLmpzXG52YXIgcmVxdWlyZV9zYmNzX2NvZGVjID0gX19jb21tb25KUyh7XG4gIFwibm9kZV9tb2R1bGVzL3Jhdy1ib2R5L25vZGVfbW9kdWxlcy9pY29udi1saXRlL2VuY29kaW5ncy9zYmNzLWNvZGVjLmpzXCIoZXhwb3J0czIpIHtcbiAgICBcInVzZSBzdHJpY3RcIjtcbiAgICB2YXIgQnVmZmVyMiA9IHJlcXVpcmVfc2FmZXIoKS5CdWZmZXI7XG4gICAgZXhwb3J0czIuX3NiY3MgPSBTQkNTQ29kZWM7XG4gICAgZnVuY3Rpb24gU0JDU0NvZGVjKGNvZGVjT3B0aW9ucywgaWNvbnYpIHtcbiAgICAgIGlmICghY29kZWNPcHRpb25zKVxuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXCJTQkNTIGNvZGVjIGlzIGNhbGxlZCB3aXRob3V0IHRoZSBkYXRhLlwiKTtcbiAgICAgIGlmICghY29kZWNPcHRpb25zLmNoYXJzIHx8IGNvZGVjT3B0aW9ucy5jaGFycy5sZW5ndGggIT09IDEyOCAmJiBjb2RlY09wdGlvbnMuY2hhcnMubGVuZ3RoICE9PSAyNTYpXG4gICAgICAgIHRocm93IG5ldyBFcnJvcihcIkVuY29kaW5nICdcIiArIGNvZGVjT3B0aW9ucy50eXBlICsgXCInIGhhcyBpbmNvcnJlY3QgJ2NoYXJzJyAobXVzdCBiZSBvZiBsZW4gMTI4IG9yIDI1NilcIik7XG4gICAgICBpZiAoY29kZWNPcHRpb25zLmNoYXJzLmxlbmd0aCA9PT0gMTI4KSB7XG4gICAgICAgIHZhciBhc2NpaVN0cmluZyA9IFwiXCI7XG4gICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgMTI4OyBpKyspXG4gICAgICAgICAgYXNjaWlTdHJpbmcgKz0gU3RyaW5nLmZyb21DaGFyQ29kZShpKTtcbiAgICAgICAgY29kZWNPcHRpb25zLmNoYXJzID0gYXNjaWlTdHJpbmcgKyBjb2RlY09wdGlvbnMuY2hhcnM7XG4gICAgICB9XG4gICAgICB0aGlzLmRlY29kZUJ1ZiA9IEJ1ZmZlcjIuZnJvbShjb2RlY09wdGlvbnMuY2hhcnMsIFwidWNzMlwiKTtcbiAgICAgIHZhciBlbmNvZGVCdWYgPSBCdWZmZXIyLmFsbG9jKDY1NTM2LCBpY29udi5kZWZhdWx0Q2hhclNpbmdsZUJ5dGUuY2hhckNvZGVBdCgwKSk7XG4gICAgICBmb3IgKHZhciBpID0gMDsgaSA8IGNvZGVjT3B0aW9ucy5jaGFycy5sZW5ndGg7IGkrKylcbiAgICAgICAgZW5jb2RlQnVmW2NvZGVjT3B0aW9ucy5jaGFycy5jaGFyQ29kZUF0KGkpXSA9IGk7XG4gICAgICB0aGlzLmVuY29kZUJ1ZiA9IGVuY29kZUJ1ZjtcbiAgICB9XG4gICAgU0JDU0NvZGVjLnByb3RvdHlwZS5lbmNvZGVyID0gU0JDU0VuY29kZXI7XG4gICAgU0JDU0NvZGVjLnByb3RvdHlwZS5kZWNvZGVyID0gU0JDU0RlY29kZXI7XG4gICAgZnVuY3Rpb24gU0JDU0VuY29kZXIob3B0aW9ucywgY29kZWMpIHtcbiAgICAgIHRoaXMuZW5jb2RlQnVmID0gY29kZWMuZW5jb2RlQnVmO1xuICAgIH1cbiAgICBTQkNTRW5jb2Rlci5wcm90b3R5cGUud3JpdGUgPSBmdW5jdGlvbihzdHIpIHtcbiAgICAgIHZhciBidWYgPSBCdWZmZXIyLmFsbG9jKHN0ci5sZW5ndGgpO1xuICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBzdHIubGVuZ3RoOyBpKyspXG4gICAgICAgIGJ1ZltpXSA9IHRoaXMuZW5jb2RlQnVmW3N0ci5jaGFyQ29kZUF0KGkpXTtcbiAgICAgIHJldHVybiBidWY7XG4gICAgfTtcbiAgICBTQkNTRW5jb2Rlci5wcm90b3R5cGUuZW5kID0gZnVuY3Rpb24oKSB7XG4gICAgfTtcbiAgICBmdW5jdGlvbiBTQkNTRGVjb2RlcihvcHRpb25zLCBjb2RlYykge1xuICAgICAgdGhpcy5kZWNvZGVCdWYgPSBjb2RlYy5kZWNvZGVCdWY7XG4gICAgfVxuICAgIFNCQ1NEZWNvZGVyLnByb3RvdHlwZS53cml0ZSA9IGZ1bmN0aW9uKGJ1Zikge1xuICAgICAgdmFyIGRlY29kZUJ1ZiA9IHRoaXMuZGVjb2RlQnVmO1xuICAgICAgdmFyIG5ld0J1ZiA9IEJ1ZmZlcjIuYWxsb2MoYnVmLmxlbmd0aCAqIDIpO1xuICAgICAgdmFyIGlkeDEgPSAwLCBpZHgyID0gMDtcbiAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgYnVmLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgIGlkeDEgPSBidWZbaV0gKiAyO1xuICAgICAgICBpZHgyID0gaSAqIDI7XG4gICAgICAgIG5ld0J1ZltpZHgyXSA9IGRlY29kZUJ1ZltpZHgxXTtcbiAgICAgICAgbmV3QnVmW2lkeDIgKyAxXSA9IGRlY29kZUJ1ZltpZHgxICsgMV07XG4gICAgICB9XG4gICAgICByZXR1cm4gbmV3QnVmLnRvU3RyaW5nKFwidWNzMlwiKTtcbiAgICB9O1xuICAgIFNCQ1NEZWNvZGVyLnByb3RvdHlwZS5lbmQgPSBmdW5jdGlvbigpIHtcbiAgICB9O1xuICB9XG59KTtcblxuLy8gbm9kZV9tb2R1bGVzL3Jhdy1ib2R5L25vZGVfbW9kdWxlcy9pY29udi1saXRlL2VuY29kaW5ncy9zYmNzLWRhdGEuanNcbnZhciByZXF1aXJlX3NiY3NfZGF0YSA9IF9fY29tbW9uSlMoe1xuICBcIm5vZGVfbW9kdWxlcy9yYXctYm9keS9ub2RlX21vZHVsZXMvaWNvbnYtbGl0ZS9lbmNvZGluZ3Mvc2Jjcy1kYXRhLmpzXCIoZXhwb3J0czIsIG1vZHVsZTIpIHtcbiAgICBcInVzZSBzdHJpY3RcIjtcbiAgICBtb2R1bGUyLmV4cG9ydHMgPSB7XG4gICAgICAvLyBOb3Qgc3VwcG9ydGVkIGJ5IGljb252LCBub3Qgc3VyZSB3aHkuXG4gICAgICBcIjEwMDI5XCI6IFwibWFjY2VudGV1cm9cIixcbiAgICAgIFwibWFjY2VudGV1cm9cIjoge1xuICAgICAgICBcInR5cGVcIjogXCJfc2Jjc1wiLFxuICAgICAgICBcImNoYXJzXCI6IFwiXFx4QzRcXHUwMTAwXFx1MDEwMVxceEM5XFx1MDEwNFxceEQ2XFx4RENcXHhFMVxcdTAxMDVcXHUwMTBDXFx4RTRcXHUwMTBEXFx1MDEwNlxcdTAxMDdcXHhFOVxcdTAxNzlcXHUwMTdBXFx1MDEwRVxceEVEXFx1MDEwRlxcdTAxMTJcXHUwMTEzXFx1MDExNlxceEYzXFx1MDExN1xceEY0XFx4RjZcXHhGNVxceEZBXFx1MDExQVxcdTAxMUJcXHhGQ1xcdTIwMjBcXHhCMFxcdTAxMThcXHhBM1xceEE3XFx1MjAyMlxceEI2XFx4REZcXHhBRVxceEE5XFx1MjEyMlxcdTAxMTlcXHhBOFxcdTIyNjBcXHUwMTIzXFx1MDEyRVxcdTAxMkZcXHUwMTJBXFx1MjI2NFxcdTIyNjVcXHUwMTJCXFx1MDEzNlxcdTIyMDJcXHUyMjExXFx1MDE0MlxcdTAxM0JcXHUwMTNDXFx1MDEzRFxcdTAxM0VcXHUwMTM5XFx1MDEzQVxcdTAxNDVcXHUwMTQ2XFx1MDE0M1xceEFDXFx1MjIxQVxcdTAxNDRcXHUwMTQ3XFx1MjIwNlxceEFCXFx4QkJcXHUyMDI2XFx4QTBcXHUwMTQ4XFx1MDE1MFxceEQ1XFx1MDE1MVxcdTAxNENcXHUyMDEzXFx1MjAxNFxcdTIwMUNcXHUyMDFEXFx1MjAxOFxcdTIwMTlcXHhGN1xcdTI1Q0FcXHUwMTREXFx1MDE1NFxcdTAxNTVcXHUwMTU4XFx1MjAzOVxcdTIwM0FcXHUwMTU5XFx1MDE1NlxcdTAxNTdcXHUwMTYwXFx1MjAxQVxcdTIwMUVcXHUwMTYxXFx1MDE1QVxcdTAxNUJcXHhDMVxcdTAxNjRcXHUwMTY1XFx4Q0RcXHUwMTdEXFx1MDE3RVxcdTAxNkFcXHhEM1xceEQ0XFx1MDE2QlxcdTAxNkVcXHhEQVxcdTAxNkZcXHUwMTcwXFx1MDE3MVxcdTAxNzJcXHUwMTczXFx4RERcXHhGRFxcdTAxMzdcXHUwMTdCXFx1MDE0MVxcdTAxN0NcXHUwMTIyXFx1MDJDN1wiXG4gICAgICB9LFxuICAgICAgXCI4MDhcIjogXCJjcDgwOFwiLFxuICAgICAgXCJpYm04MDhcIjogXCJjcDgwOFwiLFxuICAgICAgXCJjcDgwOFwiOiB7XG4gICAgICAgIFwidHlwZVwiOiBcIl9zYmNzXCIsXG4gICAgICAgIFwiY2hhcnNcIjogXCJcXHUwNDEwXFx1MDQxMVxcdTA0MTJcXHUwNDEzXFx1MDQxNFxcdTA0MTVcXHUwNDE2XFx1MDQxN1xcdTA0MThcXHUwNDE5XFx1MDQxQVxcdTA0MUJcXHUwNDFDXFx1MDQxRFxcdTA0MUVcXHUwNDFGXFx1MDQyMFxcdTA0MjFcXHUwNDIyXFx1MDQyM1xcdTA0MjRcXHUwNDI1XFx1MDQyNlxcdTA0MjdcXHUwNDI4XFx1MDQyOVxcdTA0MkFcXHUwNDJCXFx1MDQyQ1xcdTA0MkRcXHUwNDJFXFx1MDQyRlxcdTA0MzBcXHUwNDMxXFx1MDQzMlxcdTA0MzNcXHUwNDM0XFx1MDQzNVxcdTA0MzZcXHUwNDM3XFx1MDQzOFxcdTA0MzlcXHUwNDNBXFx1MDQzQlxcdTA0M0NcXHUwNDNEXFx1MDQzRVxcdTA0M0ZcXHUyNTkxXFx1MjU5MlxcdTI1OTNcXHUyNTAyXFx1MjUyNFxcdTI1NjFcXHUyNTYyXFx1MjU1NlxcdTI1NTVcXHUyNTYzXFx1MjU1MVxcdTI1NTdcXHUyNTVEXFx1MjU1Q1xcdTI1NUJcXHUyNTEwXFx1MjUxNFxcdTI1MzRcXHUyNTJDXFx1MjUxQ1xcdTI1MDBcXHUyNTNDXFx1MjU1RVxcdTI1NUZcXHUyNTVBXFx1MjU1NFxcdTI1NjlcXHUyNTY2XFx1MjU2MFxcdTI1NTBcXHUyNTZDXFx1MjU2N1xcdTI1NjhcXHUyNTY0XFx1MjU2NVxcdTI1NTlcXHUyNTU4XFx1MjU1MlxcdTI1NTNcXHUyNTZCXFx1MjU2QVxcdTI1MThcXHUyNTBDXFx1MjU4OFxcdTI1ODRcXHUyNThDXFx1MjU5MFxcdTI1ODBcXHUwNDQwXFx1MDQ0MVxcdTA0NDJcXHUwNDQzXFx1MDQ0NFxcdTA0NDVcXHUwNDQ2XFx1MDQ0N1xcdTA0NDhcXHUwNDQ5XFx1MDQ0QVxcdTA0NEJcXHUwNDRDXFx1MDQ0RFxcdTA0NEVcXHUwNDRGXFx1MDQwMVxcdTA0NTFcXHUwNDA0XFx1MDQ1NFxcdTA0MDdcXHUwNDU3XFx1MDQwRVxcdTA0NUVcXHhCMFxcdTIyMTlcXHhCN1xcdTIyMUFcXHUyMTE2XFx1MjBBQ1xcdTI1QTBcXHhBMFwiXG4gICAgICB9LFxuICAgICAgXCJtaWtcIjoge1xuICAgICAgICBcInR5cGVcIjogXCJfc2Jjc1wiLFxuICAgICAgICBcImNoYXJzXCI6IFwiXFx1MDQxMFxcdTA0MTFcXHUwNDEyXFx1MDQxM1xcdTA0MTRcXHUwNDE1XFx1MDQxNlxcdTA0MTdcXHUwNDE4XFx1MDQxOVxcdTA0MUFcXHUwNDFCXFx1MDQxQ1xcdTA0MURcXHUwNDFFXFx1MDQxRlxcdTA0MjBcXHUwNDIxXFx1MDQyMlxcdTA0MjNcXHUwNDI0XFx1MDQyNVxcdTA0MjZcXHUwNDI3XFx1MDQyOFxcdTA0MjlcXHUwNDJBXFx1MDQyQlxcdTA0MkNcXHUwNDJEXFx1MDQyRVxcdTA0MkZcXHUwNDMwXFx1MDQzMVxcdTA0MzJcXHUwNDMzXFx1MDQzNFxcdTA0MzVcXHUwNDM2XFx1MDQzN1xcdTA0MzhcXHUwNDM5XFx1MDQzQVxcdTA0M0JcXHUwNDNDXFx1MDQzRFxcdTA0M0VcXHUwNDNGXFx1MDQ0MFxcdTA0NDFcXHUwNDQyXFx1MDQ0M1xcdTA0NDRcXHUwNDQ1XFx1MDQ0NlxcdTA0NDdcXHUwNDQ4XFx1MDQ0OVxcdTA0NEFcXHUwNDRCXFx1MDQ0Q1xcdTA0NERcXHUwNDRFXFx1MDQ0RlxcdTI1MTRcXHUyNTM0XFx1MjUyQ1xcdTI1MUNcXHUyNTAwXFx1MjUzQ1xcdTI1NjNcXHUyNTUxXFx1MjU1QVxcdTI1NTRcXHUyNTY5XFx1MjU2NlxcdTI1NjBcXHUyNTUwXFx1MjU2Q1xcdTI1MTBcXHUyNTkxXFx1MjU5MlxcdTI1OTNcXHUyNTAyXFx1MjUyNFxcdTIxMTZcXHhBN1xcdTI1NTdcXHUyNTVEXFx1MjUxOFxcdTI1MENcXHUyNTg4XFx1MjU4NFxcdTI1OENcXHUyNTkwXFx1MjU4MFxcdTAzQjFcXHhERlxcdTAzOTNcXHUwM0MwXFx1MDNBM1xcdTAzQzNcXHhCNVxcdTAzQzRcXHUwM0E2XFx1MDM5OFxcdTAzQTlcXHUwM0I0XFx1MjIxRVxcdTAzQzZcXHUwM0I1XFx1MjIyOVxcdTIyNjFcXHhCMVxcdTIyNjVcXHUyMjY0XFx1MjMyMFxcdTIzMjFcXHhGN1xcdTIyNDhcXHhCMFxcdTIyMTlcXHhCN1xcdTIyMUFcXHUyMDdGXFx4QjJcXHUyNUEwXFx4QTBcIlxuICAgICAgfSxcbiAgICAgIFwiY3A3MjBcIjoge1xuICAgICAgICBcInR5cGVcIjogXCJfc2Jjc1wiLFxuICAgICAgICBcImNoYXJzXCI6IFwiXFx4ODBcXHg4MVxceEU5XFx4RTJcXHg4NFxceEUwXFx4ODZcXHhFN1xceEVBXFx4RUJcXHhFOFxceEVGXFx4RUVcXHg4RFxceDhFXFx4OEZcXHg5MFxcdTA2NTFcXHUwNjUyXFx4RjRcXHhBNFxcdTA2NDBcXHhGQlxceEY5XFx1MDYyMVxcdTA2MjJcXHUwNjIzXFx1MDYyNFxceEEzXFx1MDYyNVxcdTA2MjZcXHUwNjI3XFx1MDYyOFxcdTA2MjlcXHUwNjJBXFx1MDYyQlxcdTA2MkNcXHUwNjJEXFx1MDYyRVxcdTA2MkZcXHUwNjMwXFx1MDYzMVxcdTA2MzJcXHUwNjMzXFx1MDYzNFxcdTA2MzVcXHhBQlxceEJCXFx1MjU5MVxcdTI1OTJcXHUyNTkzXFx1MjUwMlxcdTI1MjRcXHUyNTYxXFx1MjU2MlxcdTI1NTZcXHUyNTU1XFx1MjU2M1xcdTI1NTFcXHUyNTU3XFx1MjU1RFxcdTI1NUNcXHUyNTVCXFx1MjUxMFxcdTI1MTRcXHUyNTM0XFx1MjUyQ1xcdTI1MUNcXHUyNTAwXFx1MjUzQ1xcdTI1NUVcXHUyNTVGXFx1MjU1QVxcdTI1NTRcXHUyNTY5XFx1MjU2NlxcdTI1NjBcXHUyNTUwXFx1MjU2Q1xcdTI1NjdcXHUyNTY4XFx1MjU2NFxcdTI1NjVcXHUyNTU5XFx1MjU1OFxcdTI1NTJcXHUyNTUzXFx1MjU2QlxcdTI1NkFcXHUyNTE4XFx1MjUwQ1xcdTI1ODhcXHUyNTg0XFx1MjU4Q1xcdTI1OTBcXHUyNTgwXFx1MDYzNlxcdTA2MzdcXHUwNjM4XFx1MDYzOVxcdTA2M0FcXHUwNjQxXFx4QjVcXHUwNjQyXFx1MDY0M1xcdTA2NDRcXHUwNjQ1XFx1MDY0NlxcdTA2NDdcXHUwNjQ4XFx1MDY0OVxcdTA2NEFcXHUyMjYxXFx1MDY0QlxcdTA2NENcXHUwNjREXFx1MDY0RVxcdTA2NEZcXHUwNjUwXFx1MjI0OFxceEIwXFx1MjIxOVxceEI3XFx1MjIxQVxcdTIwN0ZcXHhCMlxcdTI1QTBcXHhBMFwiXG4gICAgICB9LFxuICAgICAgLy8gQWxpYXNlcyBvZiBnZW5lcmF0ZWQgZW5jb2RpbmdzLlxuICAgICAgXCJhc2NpaThiaXRcIjogXCJhc2NpaVwiLFxuICAgICAgXCJ1c2FzY2lpXCI6IFwiYXNjaWlcIixcbiAgICAgIFwiYW5zaXgzNFwiOiBcImFzY2lpXCIsXG4gICAgICBcImFuc2l4MzQxOTY4XCI6IFwiYXNjaWlcIixcbiAgICAgIFwiYW5zaXgzNDE5ODZcIjogXCJhc2NpaVwiLFxuICAgICAgXCJjc2FzY2lpXCI6IFwiYXNjaWlcIixcbiAgICAgIFwiY3AzNjdcIjogXCJhc2NpaVwiLFxuICAgICAgXCJpYm0zNjdcIjogXCJhc2NpaVwiLFxuICAgICAgXCJpc29pcjZcIjogXCJhc2NpaVwiLFxuICAgICAgXCJpc282NDZ1c1wiOiBcImFzY2lpXCIsXG4gICAgICBcImlzbzY0NmlydlwiOiBcImFzY2lpXCIsXG4gICAgICBcInVzXCI6IFwiYXNjaWlcIixcbiAgICAgIFwibGF0aW4xXCI6IFwiaXNvODg1OTFcIixcbiAgICAgIFwibGF0aW4yXCI6IFwiaXNvODg1OTJcIixcbiAgICAgIFwibGF0aW4zXCI6IFwiaXNvODg1OTNcIixcbiAgICAgIFwibGF0aW40XCI6IFwiaXNvODg1OTRcIixcbiAgICAgIFwibGF0aW41XCI6IFwiaXNvODg1OTlcIixcbiAgICAgIFwibGF0aW42XCI6IFwiaXNvODg1OTEwXCIsXG4gICAgICBcImxhdGluN1wiOiBcImlzbzg4NTkxM1wiLFxuICAgICAgXCJsYXRpbjhcIjogXCJpc284ODU5MTRcIixcbiAgICAgIFwibGF0aW45XCI6IFwiaXNvODg1OTE1XCIsXG4gICAgICBcImxhdGluMTBcIjogXCJpc284ODU5MTZcIixcbiAgICAgIFwiY3Npc29sYXRpbjFcIjogXCJpc284ODU5MVwiLFxuICAgICAgXCJjc2lzb2xhdGluMlwiOiBcImlzbzg4NTkyXCIsXG4gICAgICBcImNzaXNvbGF0aW4zXCI6IFwiaXNvODg1OTNcIixcbiAgICAgIFwiY3Npc29sYXRpbjRcIjogXCJpc284ODU5NFwiLFxuICAgICAgXCJjc2lzb2xhdGluY3lyaWxsaWNcIjogXCJpc284ODU5NVwiLFxuICAgICAgXCJjc2lzb2xhdGluYXJhYmljXCI6IFwiaXNvODg1OTZcIixcbiAgICAgIFwiY3Npc29sYXRpbmdyZWVrXCI6IFwiaXNvODg1OTdcIixcbiAgICAgIFwiY3Npc29sYXRpbmhlYnJld1wiOiBcImlzbzg4NTk4XCIsXG4gICAgICBcImNzaXNvbGF0aW41XCI6IFwiaXNvODg1OTlcIixcbiAgICAgIFwiY3Npc29sYXRpbjZcIjogXCJpc284ODU5MTBcIixcbiAgICAgIFwibDFcIjogXCJpc284ODU5MVwiLFxuICAgICAgXCJsMlwiOiBcImlzbzg4NTkyXCIsXG4gICAgICBcImwzXCI6IFwiaXNvODg1OTNcIixcbiAgICAgIFwibDRcIjogXCJpc284ODU5NFwiLFxuICAgICAgXCJsNVwiOiBcImlzbzg4NTk5XCIsXG4gICAgICBcImw2XCI6IFwiaXNvODg1OTEwXCIsXG4gICAgICBcImw3XCI6IFwiaXNvODg1OTEzXCIsXG4gICAgICBcImw4XCI6IFwiaXNvODg1OTE0XCIsXG4gICAgICBcImw5XCI6IFwiaXNvODg1OTE1XCIsXG4gICAgICBcImwxMFwiOiBcImlzbzg4NTkxNlwiLFxuICAgICAgXCJpc29pcjE0XCI6IFwiaXNvNjQ2anBcIixcbiAgICAgIFwiaXNvaXI1N1wiOiBcImlzbzY0NmNuXCIsXG4gICAgICBcImlzb2lyMTAwXCI6IFwiaXNvODg1OTFcIixcbiAgICAgIFwiaXNvaXIxMDFcIjogXCJpc284ODU5MlwiLFxuICAgICAgXCJpc29pcjEwOVwiOiBcImlzbzg4NTkzXCIsXG4gICAgICBcImlzb2lyMTEwXCI6IFwiaXNvODg1OTRcIixcbiAgICAgIFwiaXNvaXIxNDRcIjogXCJpc284ODU5NVwiLFxuICAgICAgXCJpc29pcjEyN1wiOiBcImlzbzg4NTk2XCIsXG4gICAgICBcImlzb2lyMTI2XCI6IFwiaXNvODg1OTdcIixcbiAgICAgIFwiaXNvaXIxMzhcIjogXCJpc284ODU5OFwiLFxuICAgICAgXCJpc29pcjE0OFwiOiBcImlzbzg4NTk5XCIsXG4gICAgICBcImlzb2lyMTU3XCI6IFwiaXNvODg1OTEwXCIsXG4gICAgICBcImlzb2lyMTY2XCI6IFwidGlzNjIwXCIsXG4gICAgICBcImlzb2lyMTc5XCI6IFwiaXNvODg1OTEzXCIsXG4gICAgICBcImlzb2lyMTk5XCI6IFwiaXNvODg1OTE0XCIsXG4gICAgICBcImlzb2lyMjAzXCI6IFwiaXNvODg1OTE1XCIsXG4gICAgICBcImlzb2lyMjI2XCI6IFwiaXNvODg1OTE2XCIsXG4gICAgICBcImNwODE5XCI6IFwiaXNvODg1OTFcIixcbiAgICAgIFwiaWJtODE5XCI6IFwiaXNvODg1OTFcIixcbiAgICAgIFwiY3lyaWxsaWNcIjogXCJpc284ODU5NVwiLFxuICAgICAgXCJhcmFiaWNcIjogXCJpc284ODU5NlwiLFxuICAgICAgXCJhcmFiaWM4XCI6IFwiaXNvODg1OTZcIixcbiAgICAgIFwiZWNtYTExNFwiOiBcImlzbzg4NTk2XCIsXG4gICAgICBcImFzbW83MDhcIjogXCJpc284ODU5NlwiLFxuICAgICAgXCJncmVla1wiOiBcImlzbzg4NTk3XCIsXG4gICAgICBcImdyZWVrOFwiOiBcImlzbzg4NTk3XCIsXG4gICAgICBcImVjbWExMThcIjogXCJpc284ODU5N1wiLFxuICAgICAgXCJlbG90OTI4XCI6IFwiaXNvODg1OTdcIixcbiAgICAgIFwiaGVicmV3XCI6IFwiaXNvODg1OThcIixcbiAgICAgIFwiaGVicmV3OFwiOiBcImlzbzg4NTk4XCIsXG4gICAgICBcInR1cmtpc2hcIjogXCJpc284ODU5OVwiLFxuICAgICAgXCJ0dXJraXNoOFwiOiBcImlzbzg4NTk5XCIsXG4gICAgICBcInRoYWlcIjogXCJpc284ODU5MTFcIixcbiAgICAgIFwidGhhaThcIjogXCJpc284ODU5MTFcIixcbiAgICAgIFwiY2VsdGljXCI6IFwiaXNvODg1OTE0XCIsXG4gICAgICBcImNlbHRpYzhcIjogXCJpc284ODU5MTRcIixcbiAgICAgIFwiaXNvY2VsdGljXCI6IFwiaXNvODg1OTE0XCIsXG4gICAgICBcInRpczYyMDBcIjogXCJ0aXM2MjBcIixcbiAgICAgIFwidGlzNjIwMjUyOTFcIjogXCJ0aXM2MjBcIixcbiAgICAgIFwidGlzNjIwMjUzMzBcIjogXCJ0aXM2MjBcIixcbiAgICAgIFwiMTAwMDBcIjogXCJtYWNyb21hblwiLFxuICAgICAgXCIxMDAwNlwiOiBcIm1hY2dyZWVrXCIsXG4gICAgICBcIjEwMDA3XCI6IFwibWFjY3lyaWxsaWNcIixcbiAgICAgIFwiMTAwNzlcIjogXCJtYWNpY2VsYW5kXCIsXG4gICAgICBcIjEwMDgxXCI6IFwibWFjdHVya2lzaFwiLFxuICAgICAgXCJjc3BjOGNvZGVwYWdlNDM3XCI6IFwiY3A0MzdcIixcbiAgICAgIFwiY3NwYzc3NWJhbHRpY1wiOiBcImNwNzc1XCIsXG4gICAgICBcImNzcGM4NTBtdWx0aWxpbmd1YWxcIjogXCJjcDg1MFwiLFxuICAgICAgXCJjc3BjcDg1MlwiOiBcImNwODUyXCIsXG4gICAgICBcImNzcGM4NjJsYXRpbmhlYnJld1wiOiBcImNwODYyXCIsXG4gICAgICBcImNwZ3JcIjogXCJjcDg2OVwiLFxuICAgICAgXCJtc2VlXCI6IFwiY3AxMjUwXCIsXG4gICAgICBcIm1zY3lybFwiOiBcImNwMTI1MVwiLFxuICAgICAgXCJtc2Fuc2lcIjogXCJjcDEyNTJcIixcbiAgICAgIFwibXNncmVla1wiOiBcImNwMTI1M1wiLFxuICAgICAgXCJtc3R1cmtcIjogXCJjcDEyNTRcIixcbiAgICAgIFwibXNoZWJyXCI6IFwiY3AxMjU1XCIsXG4gICAgICBcIm1zYXJhYlwiOiBcImNwMTI1NlwiLFxuICAgICAgXCJ3aW5iYWx0cmltXCI6IFwiY3AxMjU3XCIsXG4gICAgICBcImNwMjA4NjZcIjogXCJrb2k4clwiLFxuICAgICAgXCIyMDg2NlwiOiBcImtvaThyXCIsXG4gICAgICBcImlibTg3OFwiOiBcImtvaThyXCIsXG4gICAgICBcImNza29pOHJcIjogXCJrb2k4clwiLFxuICAgICAgXCJjcDIxODY2XCI6IFwia29pOHVcIixcbiAgICAgIFwiMjE4NjZcIjogXCJrb2k4dVwiLFxuICAgICAgXCJpYm0xMTY4XCI6IFwia29pOHVcIixcbiAgICAgIFwic3RyazEwNDgyMDAyXCI6IFwicmsxMDQ4XCIsXG4gICAgICBcInRjdm41NzEyXCI6IFwidGN2blwiLFxuICAgICAgXCJ0Y3ZuNTcxMjFcIjogXCJ0Y3ZuXCIsXG4gICAgICBcImdiMTk4ODgwXCI6IFwiaXNvNjQ2Y25cIixcbiAgICAgIFwiY25cIjogXCJpc282NDZjblwiLFxuICAgICAgXCJjc2lzbzE0amlzYzYyMjByb1wiOiBcImlzbzY0NmpwXCIsXG4gICAgICBcImppc2M2MjIwMTk2OXJvXCI6IFwiaXNvNjQ2anBcIixcbiAgICAgIFwianBcIjogXCJpc282NDZqcFwiLFxuICAgICAgXCJjc2hwcm9tYW44XCI6IFwiaHByb21hbjhcIixcbiAgICAgIFwicjhcIjogXCJocHJvbWFuOFwiLFxuICAgICAgXCJyb21hbjhcIjogXCJocHJvbWFuOFwiLFxuICAgICAgXCJ4cm9tYW44XCI6IFwiaHByb21hbjhcIixcbiAgICAgIFwiaWJtMTA1MVwiOiBcImhwcm9tYW44XCIsXG4gICAgICBcIm1hY1wiOiBcIm1hY2ludG9zaFwiLFxuICAgICAgXCJjc21hY2ludG9zaFwiOiBcIm1hY2ludG9zaFwiXG4gICAgfTtcbiAgfVxufSk7XG5cbi8vIG5vZGVfbW9kdWxlcy9yYXctYm9keS9ub2RlX21vZHVsZXMvaWNvbnYtbGl0ZS9lbmNvZGluZ3Mvc2Jjcy1kYXRhLWdlbmVyYXRlZC5qc1xudmFyIHJlcXVpcmVfc2Jjc19kYXRhX2dlbmVyYXRlZCA9IF9fY29tbW9uSlMoe1xuICBcIm5vZGVfbW9kdWxlcy9yYXctYm9keS9ub2RlX21vZHVsZXMvaWNvbnYtbGl0ZS9lbmNvZGluZ3Mvc2Jjcy1kYXRhLWdlbmVyYXRlZC5qc1wiKGV4cG9ydHMyLCBtb2R1bGUyKSB7XG4gICAgXCJ1c2Ugc3RyaWN0XCI7XG4gICAgbW9kdWxlMi5leHBvcnRzID0ge1xuICAgICAgXCI0MzdcIjogXCJjcDQzN1wiLFxuICAgICAgXCI3MzdcIjogXCJjcDczN1wiLFxuICAgICAgXCI3NzVcIjogXCJjcDc3NVwiLFxuICAgICAgXCI4NTBcIjogXCJjcDg1MFwiLFxuICAgICAgXCI4NTJcIjogXCJjcDg1MlwiLFxuICAgICAgXCI4NTVcIjogXCJjcDg1NVwiLFxuICAgICAgXCI4NTZcIjogXCJjcDg1NlwiLFxuICAgICAgXCI4NTdcIjogXCJjcDg1N1wiLFxuICAgICAgXCI4NThcIjogXCJjcDg1OFwiLFxuICAgICAgXCI4NjBcIjogXCJjcDg2MFwiLFxuICAgICAgXCI4NjFcIjogXCJjcDg2MVwiLFxuICAgICAgXCI4NjJcIjogXCJjcDg2MlwiLFxuICAgICAgXCI4NjNcIjogXCJjcDg2M1wiLFxuICAgICAgXCI4NjRcIjogXCJjcDg2NFwiLFxuICAgICAgXCI4NjVcIjogXCJjcDg2NVwiLFxuICAgICAgXCI4NjZcIjogXCJjcDg2NlwiLFxuICAgICAgXCI4NjlcIjogXCJjcDg2OVwiLFxuICAgICAgXCI4NzRcIjogXCJ3aW5kb3dzODc0XCIsXG4gICAgICBcIjkyMlwiOiBcImNwOTIyXCIsXG4gICAgICBcIjEwNDZcIjogXCJjcDEwNDZcIixcbiAgICAgIFwiMTEyNFwiOiBcImNwMTEyNFwiLFxuICAgICAgXCIxMTI1XCI6IFwiY3AxMTI1XCIsXG4gICAgICBcIjExMjlcIjogXCJjcDExMjlcIixcbiAgICAgIFwiMTEzM1wiOiBcImNwMTEzM1wiLFxuICAgICAgXCIxMTYxXCI6IFwiY3AxMTYxXCIsXG4gICAgICBcIjExNjJcIjogXCJjcDExNjJcIixcbiAgICAgIFwiMTE2M1wiOiBcImNwMTE2M1wiLFxuICAgICAgXCIxMjUwXCI6IFwid2luZG93czEyNTBcIixcbiAgICAgIFwiMTI1MVwiOiBcIndpbmRvd3MxMjUxXCIsXG4gICAgICBcIjEyNTJcIjogXCJ3aW5kb3dzMTI1MlwiLFxuICAgICAgXCIxMjUzXCI6IFwid2luZG93czEyNTNcIixcbiAgICAgIFwiMTI1NFwiOiBcIndpbmRvd3MxMjU0XCIsXG4gICAgICBcIjEyNTVcIjogXCJ3aW5kb3dzMTI1NVwiLFxuICAgICAgXCIxMjU2XCI6IFwid2luZG93czEyNTZcIixcbiAgICAgIFwiMTI1N1wiOiBcIndpbmRvd3MxMjU3XCIsXG4gICAgICBcIjEyNThcIjogXCJ3aW5kb3dzMTI1OFwiLFxuICAgICAgXCIyODU5MVwiOiBcImlzbzg4NTkxXCIsXG4gICAgICBcIjI4NTkyXCI6IFwiaXNvODg1OTJcIixcbiAgICAgIFwiMjg1OTNcIjogXCJpc284ODU5M1wiLFxuICAgICAgXCIyODU5NFwiOiBcImlzbzg4NTk0XCIsXG4gICAgICBcIjI4NTk1XCI6IFwiaXNvODg1OTVcIixcbiAgICAgIFwiMjg1OTZcIjogXCJpc284ODU5NlwiLFxuICAgICAgXCIyODU5N1wiOiBcImlzbzg4NTk3XCIsXG4gICAgICBcIjI4NTk4XCI6IFwiaXNvODg1OThcIixcbiAgICAgIFwiMjg1OTlcIjogXCJpc284ODU5OVwiLFxuICAgICAgXCIyODYwMFwiOiBcImlzbzg4NTkxMFwiLFxuICAgICAgXCIyODYwMVwiOiBcImlzbzg4NTkxMVwiLFxuICAgICAgXCIyODYwM1wiOiBcImlzbzg4NTkxM1wiLFxuICAgICAgXCIyODYwNFwiOiBcImlzbzg4NTkxNFwiLFxuICAgICAgXCIyODYwNVwiOiBcImlzbzg4NTkxNVwiLFxuICAgICAgXCIyODYwNlwiOiBcImlzbzg4NTkxNlwiLFxuICAgICAgXCJ3aW5kb3dzODc0XCI6IHtcbiAgICAgICAgXCJ0eXBlXCI6IFwiX3NiY3NcIixcbiAgICAgICAgXCJjaGFyc1wiOiBcIlxcdTIwQUNcXHVGRkZEXFx1RkZGRFxcdUZGRkRcXHVGRkZEXFx1MjAyNlxcdUZGRkRcXHVGRkZEXFx1RkZGRFxcdUZGRkRcXHVGRkZEXFx1RkZGRFxcdUZGRkRcXHVGRkZEXFx1RkZGRFxcdUZGRkRcXHVGRkZEXFx1MjAxOFxcdTIwMTlcXHUyMDFDXFx1MjAxRFxcdTIwMjJcXHUyMDEzXFx1MjAxNFxcdUZGRkRcXHVGRkZEXFx1RkZGRFxcdUZGRkRcXHVGRkZEXFx1RkZGRFxcdUZGRkRcXHVGRkZEXFx4QTBcXHUwRTAxXFx1MEUwMlxcdTBFMDNcXHUwRTA0XFx1MEUwNVxcdTBFMDZcXHUwRTA3XFx1MEUwOFxcdTBFMDlcXHUwRTBBXFx1MEUwQlxcdTBFMENcXHUwRTBEXFx1MEUwRVxcdTBFMEZcXHUwRTEwXFx1MEUxMVxcdTBFMTJcXHUwRTEzXFx1MEUxNFxcdTBFMTVcXHUwRTE2XFx1MEUxN1xcdTBFMThcXHUwRTE5XFx1MEUxQVxcdTBFMUJcXHUwRTFDXFx1MEUxRFxcdTBFMUVcXHUwRTFGXFx1MEUyMFxcdTBFMjFcXHUwRTIyXFx1MEUyM1xcdTBFMjRcXHUwRTI1XFx1MEUyNlxcdTBFMjdcXHUwRTI4XFx1MEUyOVxcdTBFMkFcXHUwRTJCXFx1MEUyQ1xcdTBFMkRcXHUwRTJFXFx1MEUyRlxcdTBFMzBcXHUwRTMxXFx1MEUzMlxcdTBFMzNcXHUwRTM0XFx1MEUzNVxcdTBFMzZcXHUwRTM3XFx1MEUzOFxcdTBFMzlcXHUwRTNBXFx1RkZGRFxcdUZGRkRcXHVGRkZEXFx1RkZGRFxcdTBFM0ZcXHUwRTQwXFx1MEU0MVxcdTBFNDJcXHUwRTQzXFx1MEU0NFxcdTBFNDVcXHUwRTQ2XFx1MEU0N1xcdTBFNDhcXHUwRTQ5XFx1MEU0QVxcdTBFNEJcXHUwRTRDXFx1MEU0RFxcdTBFNEVcXHUwRTRGXFx1MEU1MFxcdTBFNTFcXHUwRTUyXFx1MEU1M1xcdTBFNTRcXHUwRTU1XFx1MEU1NlxcdTBFNTdcXHUwRTU4XFx1MEU1OVxcdTBFNUFcXHUwRTVCXFx1RkZGRFxcdUZGRkRcXHVGRkZEXFx1RkZGRFwiXG4gICAgICB9LFxuICAgICAgXCJ3aW44NzRcIjogXCJ3aW5kb3dzODc0XCIsXG4gICAgICBcImNwODc0XCI6IFwid2luZG93czg3NFwiLFxuICAgICAgXCJ3aW5kb3dzMTI1MFwiOiB7XG4gICAgICAgIFwidHlwZVwiOiBcIl9zYmNzXCIsXG4gICAgICAgIFwiY2hhcnNcIjogXCJcXHUyMEFDXFx1RkZGRFxcdTIwMUFcXHVGRkZEXFx1MjAxRVxcdTIwMjZcXHUyMDIwXFx1MjAyMVxcdUZGRkRcXHUyMDMwXFx1MDE2MFxcdTIwMzlcXHUwMTVBXFx1MDE2NFxcdTAxN0RcXHUwMTc5XFx1RkZGRFxcdTIwMThcXHUyMDE5XFx1MjAxQ1xcdTIwMURcXHUyMDIyXFx1MjAxM1xcdTIwMTRcXHVGRkZEXFx1MjEyMlxcdTAxNjFcXHUyMDNBXFx1MDE1QlxcdTAxNjVcXHUwMTdFXFx1MDE3QVxceEEwXFx1MDJDN1xcdTAyRDhcXHUwMTQxXFx4QTRcXHUwMTA0XFx4QTZcXHhBN1xceEE4XFx4QTlcXHUwMTVFXFx4QUJcXHhBQ1xceEFEXFx4QUVcXHUwMTdCXFx4QjBcXHhCMVxcdTAyREJcXHUwMTQyXFx4QjRcXHhCNVxceEI2XFx4QjdcXHhCOFxcdTAxMDVcXHUwMTVGXFx4QkJcXHUwMTNEXFx1MDJERFxcdTAxM0VcXHUwMTdDXFx1MDE1NFxceEMxXFx4QzJcXHUwMTAyXFx4QzRcXHUwMTM5XFx1MDEwNlxceEM3XFx1MDEwQ1xceEM5XFx1MDExOFxceENCXFx1MDExQVxceENEXFx4Q0VcXHUwMTBFXFx1MDExMFxcdTAxNDNcXHUwMTQ3XFx4RDNcXHhENFxcdTAxNTBcXHhENlxceEQ3XFx1MDE1OFxcdTAxNkVcXHhEQVxcdTAxNzBcXHhEQ1xceEREXFx1MDE2MlxceERGXFx1MDE1NVxceEUxXFx4RTJcXHUwMTAzXFx4RTRcXHUwMTNBXFx1MDEwN1xceEU3XFx1MDEwRFxceEU5XFx1MDExOVxceEVCXFx1MDExQlxceEVEXFx4RUVcXHUwMTBGXFx1MDExMVxcdTAxNDRcXHUwMTQ4XFx4RjNcXHhGNFxcdTAxNTFcXHhGNlxceEY3XFx1MDE1OVxcdTAxNkZcXHhGQVxcdTAxNzFcXHhGQ1xceEZEXFx1MDE2M1xcdTAyRDlcIlxuICAgICAgfSxcbiAgICAgIFwid2luMTI1MFwiOiBcIndpbmRvd3MxMjUwXCIsXG4gICAgICBcImNwMTI1MFwiOiBcIndpbmRvd3MxMjUwXCIsXG4gICAgICBcIndpbmRvd3MxMjUxXCI6IHtcbiAgICAgICAgXCJ0eXBlXCI6IFwiX3NiY3NcIixcbiAgICAgICAgXCJjaGFyc1wiOiBcIlxcdTA0MDJcXHUwNDAzXFx1MjAxQVxcdTA0NTNcXHUyMDFFXFx1MjAyNlxcdTIwMjBcXHUyMDIxXFx1MjBBQ1xcdTIwMzBcXHUwNDA5XFx1MjAzOVxcdTA0MEFcXHUwNDBDXFx1MDQwQlxcdTA0MEZcXHUwNDUyXFx1MjAxOFxcdTIwMTlcXHUyMDFDXFx1MjAxRFxcdTIwMjJcXHUyMDEzXFx1MjAxNFxcdUZGRkRcXHUyMTIyXFx1MDQ1OVxcdTIwM0FcXHUwNDVBXFx1MDQ1Q1xcdTA0NUJcXHUwNDVGXFx4QTBcXHUwNDBFXFx1MDQ1RVxcdTA0MDhcXHhBNFxcdTA0OTBcXHhBNlxceEE3XFx1MDQwMVxceEE5XFx1MDQwNFxceEFCXFx4QUNcXHhBRFxceEFFXFx1MDQwN1xceEIwXFx4QjFcXHUwNDA2XFx1MDQ1NlxcdTA0OTFcXHhCNVxceEI2XFx4QjdcXHUwNDUxXFx1MjExNlxcdTA0NTRcXHhCQlxcdTA0NThcXHUwNDA1XFx1MDQ1NVxcdTA0NTdcXHUwNDEwXFx1MDQxMVxcdTA0MTJcXHUwNDEzXFx1MDQxNFxcdTA0MTVcXHUwNDE2XFx1MDQxN1xcdTA0MThcXHUwNDE5XFx1MDQxQVxcdTA0MUJcXHUwNDFDXFx1MDQxRFxcdTA0MUVcXHUwNDFGXFx1MDQyMFxcdTA0MjFcXHUwNDIyXFx1MDQyM1xcdTA0MjRcXHUwNDI1XFx1MDQyNlxcdTA0MjdcXHUwNDI4XFx1MDQyOVxcdTA0MkFcXHUwNDJCXFx1MDQyQ1xcdTA0MkRcXHUwNDJFXFx1MDQyRlxcdTA0MzBcXHUwNDMxXFx1MDQzMlxcdTA0MzNcXHUwNDM0XFx1MDQzNVxcdTA0MzZcXHUwNDM3XFx1MDQzOFxcdTA0MzlcXHUwNDNBXFx1MDQzQlxcdTA0M0NcXHUwNDNEXFx1MDQzRVxcdTA0M0ZcXHUwNDQwXFx1MDQ0MVxcdTA0NDJcXHUwNDQzXFx1MDQ0NFxcdTA0NDVcXHUwNDQ2XFx1MDQ0N1xcdTA0NDhcXHUwNDQ5XFx1MDQ0QVxcdTA0NEJcXHUwNDRDXFx1MDQ0RFxcdTA0NEVcXHUwNDRGXCJcbiAgICAgIH0sXG4gICAgICBcIndpbjEyNTFcIjogXCJ3aW5kb3dzMTI1MVwiLFxuICAgICAgXCJjcDEyNTFcIjogXCJ3aW5kb3dzMTI1MVwiLFxuICAgICAgXCJ3aW5kb3dzMTI1MlwiOiB7XG4gICAgICAgIFwidHlwZVwiOiBcIl9zYmNzXCIsXG4gICAgICAgIFwiY2hhcnNcIjogXCJcXHUyMEFDXFx1RkZGRFxcdTIwMUFcXHUwMTkyXFx1MjAxRVxcdTIwMjZcXHUyMDIwXFx1MjAyMVxcdTAyQzZcXHUyMDMwXFx1MDE2MFxcdTIwMzlcXHUwMTUyXFx1RkZGRFxcdTAxN0RcXHVGRkZEXFx1RkZGRFxcdTIwMThcXHUyMDE5XFx1MjAxQ1xcdTIwMURcXHUyMDIyXFx1MjAxM1xcdTIwMTRcXHUwMkRDXFx1MjEyMlxcdTAxNjFcXHUyMDNBXFx1MDE1M1xcdUZGRkRcXHUwMTdFXFx1MDE3OFxceEEwXFx4QTFcXHhBMlxceEEzXFx4QTRcXHhBNVxceEE2XFx4QTdcXHhBOFxceEE5XFx4QUFcXHhBQlxceEFDXFx4QURcXHhBRVxceEFGXFx4QjBcXHhCMVxceEIyXFx4QjNcXHhCNFxceEI1XFx4QjZcXHhCN1xceEI4XFx4QjlcXHhCQVxceEJCXFx4QkNcXHhCRFxceEJFXFx4QkZcXHhDMFxceEMxXFx4QzJcXHhDM1xceEM0XFx4QzVcXHhDNlxceEM3XFx4QzhcXHhDOVxceENBXFx4Q0JcXHhDQ1xceENEXFx4Q0VcXHhDRlxceEQwXFx4RDFcXHhEMlxceEQzXFx4RDRcXHhENVxceEQ2XFx4RDdcXHhEOFxceEQ5XFx4REFcXHhEQlxceERDXFx4RERcXHhERVxceERGXFx4RTBcXHhFMVxceEUyXFx4RTNcXHhFNFxceEU1XFx4RTZcXHhFN1xceEU4XFx4RTlcXHhFQVxceEVCXFx4RUNcXHhFRFxceEVFXFx4RUZcXHhGMFxceEYxXFx4RjJcXHhGM1xceEY0XFx4RjVcXHhGNlxceEY3XFx4RjhcXHhGOVxceEZBXFx4RkJcXHhGQ1xceEZEXFx4RkVcXHhGRlwiXG4gICAgICB9LFxuICAgICAgXCJ3aW4xMjUyXCI6IFwid2luZG93czEyNTJcIixcbiAgICAgIFwiY3AxMjUyXCI6IFwid2luZG93czEyNTJcIixcbiAgICAgIFwid2luZG93czEyNTNcIjoge1xuICAgICAgICBcInR5cGVcIjogXCJfc2Jjc1wiLFxuICAgICAgICBcImNoYXJzXCI6IFwiXFx1MjBBQ1xcdUZGRkRcXHUyMDFBXFx1MDE5MlxcdTIwMUVcXHUyMDI2XFx1MjAyMFxcdTIwMjFcXHVGRkZEXFx1MjAzMFxcdUZGRkRcXHUyMDM5XFx1RkZGRFxcdUZGRkRcXHVGRkZEXFx1RkZGRFxcdUZGRkRcXHUyMDE4XFx1MjAxOVxcdTIwMUNcXHUyMDFEXFx1MjAyMlxcdTIwMTNcXHUyMDE0XFx1RkZGRFxcdTIxMjJcXHVGRkZEXFx1MjAzQVxcdUZGRkRcXHVGRkZEXFx1RkZGRFxcdUZGRkRcXHhBMFxcdTAzODVcXHUwMzg2XFx4QTNcXHhBNFxceEE1XFx4QTZcXHhBN1xceEE4XFx4QTlcXHVGRkZEXFx4QUJcXHhBQ1xceEFEXFx4QUVcXHUyMDE1XFx4QjBcXHhCMVxceEIyXFx4QjNcXHUwMzg0XFx4QjVcXHhCNlxceEI3XFx1MDM4OFxcdTAzODlcXHUwMzhBXFx4QkJcXHUwMzhDXFx4QkRcXHUwMzhFXFx1MDM4RlxcdTAzOTBcXHUwMzkxXFx1MDM5MlxcdTAzOTNcXHUwMzk0XFx1MDM5NVxcdTAzOTZcXHUwMzk3XFx1MDM5OFxcdTAzOTlcXHUwMzlBXFx1MDM5QlxcdTAzOUNcXHUwMzlEXFx1MDM5RVxcdTAzOUZcXHUwM0EwXFx1MDNBMVxcdUZGRkRcXHUwM0EzXFx1MDNBNFxcdTAzQTVcXHUwM0E2XFx1MDNBN1xcdTAzQThcXHUwM0E5XFx1MDNBQVxcdTAzQUJcXHUwM0FDXFx1MDNBRFxcdTAzQUVcXHUwM0FGXFx1MDNCMFxcdTAzQjFcXHUwM0IyXFx1MDNCM1xcdTAzQjRcXHUwM0I1XFx1MDNCNlxcdTAzQjdcXHUwM0I4XFx1MDNCOVxcdTAzQkFcXHUwM0JCXFx1MDNCQ1xcdTAzQkRcXHUwM0JFXFx1MDNCRlxcdTAzQzBcXHUwM0MxXFx1MDNDMlxcdTAzQzNcXHUwM0M0XFx1MDNDNVxcdTAzQzZcXHUwM0M3XFx1MDNDOFxcdTAzQzlcXHUwM0NBXFx1MDNDQlxcdTAzQ0NcXHUwM0NEXFx1MDNDRVxcdUZGRkRcIlxuICAgICAgfSxcbiAgICAgIFwid2luMTI1M1wiOiBcIndpbmRvd3MxMjUzXCIsXG4gICAgICBcImNwMTI1M1wiOiBcIndpbmRvd3MxMjUzXCIsXG4gICAgICBcIndpbmRvd3MxMjU0XCI6IHtcbiAgICAgICAgXCJ0eXBlXCI6IFwiX3NiY3NcIixcbiAgICAgICAgXCJjaGFyc1wiOiBcIlxcdTIwQUNcXHVGRkZEXFx1MjAxQVxcdTAxOTJcXHUyMDFFXFx1MjAyNlxcdTIwMjBcXHUyMDIxXFx1MDJDNlxcdTIwMzBcXHUwMTYwXFx1MjAzOVxcdTAxNTJcXHVGRkZEXFx1RkZGRFxcdUZGRkRcXHVGRkZEXFx1MjAxOFxcdTIwMTlcXHUyMDFDXFx1MjAxRFxcdTIwMjJcXHUyMDEzXFx1MjAxNFxcdTAyRENcXHUyMTIyXFx1MDE2MVxcdTIwM0FcXHUwMTUzXFx1RkZGRFxcdUZGRkRcXHUwMTc4XFx4QTBcXHhBMVxceEEyXFx4QTNcXHhBNFxceEE1XFx4QTZcXHhBN1xceEE4XFx4QTlcXHhBQVxceEFCXFx4QUNcXHhBRFxceEFFXFx4QUZcXHhCMFxceEIxXFx4QjJcXHhCM1xceEI0XFx4QjVcXHhCNlxceEI3XFx4QjhcXHhCOVxceEJBXFx4QkJcXHhCQ1xceEJEXFx4QkVcXHhCRlxceEMwXFx4QzFcXHhDMlxceEMzXFx4QzRcXHhDNVxceEM2XFx4QzdcXHhDOFxceEM5XFx4Q0FcXHhDQlxceENDXFx4Q0RcXHhDRVxceENGXFx1MDExRVxceEQxXFx4RDJcXHhEM1xceEQ0XFx4RDVcXHhENlxceEQ3XFx4RDhcXHhEOVxceERBXFx4REJcXHhEQ1xcdTAxMzBcXHUwMTVFXFx4REZcXHhFMFxceEUxXFx4RTJcXHhFM1xceEU0XFx4RTVcXHhFNlxceEU3XFx4RThcXHhFOVxceEVBXFx4RUJcXHhFQ1xceEVEXFx4RUVcXHhFRlxcdTAxMUZcXHhGMVxceEYyXFx4RjNcXHhGNFxceEY1XFx4RjZcXHhGN1xceEY4XFx4RjlcXHhGQVxceEZCXFx4RkNcXHUwMTMxXFx1MDE1RlxceEZGXCJcbiAgICAgIH0sXG4gICAgICBcIndpbjEyNTRcIjogXCJ3aW5kb3dzMTI1NFwiLFxuICAgICAgXCJjcDEyNTRcIjogXCJ3aW5kb3dzMTI1NFwiLFxuICAgICAgXCJ3aW5kb3dzMTI1NVwiOiB7XG4gICAgICAgIFwidHlwZVwiOiBcIl9zYmNzXCIsXG4gICAgICAgIFwiY2hhcnNcIjogXCJcXHUyMEFDXFx1RkZGRFxcdTIwMUFcXHUwMTkyXFx1MjAxRVxcdTIwMjZcXHUyMDIwXFx1MjAyMVxcdTAyQzZcXHUyMDMwXFx1RkZGRFxcdTIwMzlcXHVGRkZEXFx1RkZGRFxcdUZGRkRcXHVGRkZEXFx1RkZGRFxcdTIwMThcXHUyMDE5XFx1MjAxQ1xcdTIwMURcXHUyMDIyXFx1MjAxM1xcdTIwMTRcXHUwMkRDXFx1MjEyMlxcdUZGRkRcXHUyMDNBXFx1RkZGRFxcdUZGRkRcXHVGRkZEXFx1RkZGRFxceEEwXFx4QTFcXHhBMlxceEEzXFx1MjBBQVxceEE1XFx4QTZcXHhBN1xceEE4XFx4QTlcXHhEN1xceEFCXFx4QUNcXHhBRFxceEFFXFx4QUZcXHhCMFxceEIxXFx4QjJcXHhCM1xceEI0XFx4QjVcXHhCNlxceEI3XFx4QjhcXHhCOVxceEY3XFx4QkJcXHhCQ1xceEJEXFx4QkVcXHhCRlxcdTA1QjBcXHUwNUIxXFx1MDVCMlxcdTA1QjNcXHUwNUI0XFx1MDVCNVxcdTA1QjZcXHUwNUI3XFx1MDVCOFxcdTA1QjlcXHUwNUJBXFx1MDVCQlxcdTA1QkNcXHUwNUJEXFx1MDVCRVxcdTA1QkZcXHUwNUMwXFx1MDVDMVxcdTA1QzJcXHUwNUMzXFx1MDVGMFxcdTA1RjFcXHUwNUYyXFx1MDVGM1xcdTA1RjRcXHVGRkZEXFx1RkZGRFxcdUZGRkRcXHVGRkZEXFx1RkZGRFxcdUZGRkRcXHVGRkZEXFx1MDVEMFxcdTA1RDFcXHUwNUQyXFx1MDVEM1xcdTA1RDRcXHUwNUQ1XFx1MDVENlxcdTA1RDdcXHUwNUQ4XFx1MDVEOVxcdTA1REFcXHUwNURCXFx1MDVEQ1xcdTA1RERcXHUwNURFXFx1MDVERlxcdTA1RTBcXHUwNUUxXFx1MDVFMlxcdTA1RTNcXHUwNUU0XFx1MDVFNVxcdTA1RTZcXHUwNUU3XFx1MDVFOFxcdTA1RTlcXHUwNUVBXFx1RkZGRFxcdUZGRkRcXHUyMDBFXFx1MjAwRlxcdUZGRkRcIlxuICAgICAgfSxcbiAgICAgIFwid2luMTI1NVwiOiBcIndpbmRvd3MxMjU1XCIsXG4gICAgICBcImNwMTI1NVwiOiBcIndpbmRvd3MxMjU1XCIsXG4gICAgICBcIndpbmRvd3MxMjU2XCI6IHtcbiAgICAgICAgXCJ0eXBlXCI6IFwiX3NiY3NcIixcbiAgICAgICAgXCJjaGFyc1wiOiBcIlxcdTIwQUNcXHUwNjdFXFx1MjAxQVxcdTAxOTJcXHUyMDFFXFx1MjAyNlxcdTIwMjBcXHUyMDIxXFx1MDJDNlxcdTIwMzBcXHUwNjc5XFx1MjAzOVxcdTAxNTJcXHUwNjg2XFx1MDY5OFxcdTA2ODhcXHUwNkFGXFx1MjAxOFxcdTIwMTlcXHUyMDFDXFx1MjAxRFxcdTIwMjJcXHUyMDEzXFx1MjAxNFxcdTA2QTlcXHUyMTIyXFx1MDY5MVxcdTIwM0FcXHUwMTUzXFx1MjAwQ1xcdTIwMERcXHUwNkJBXFx4QTBcXHUwNjBDXFx4QTJcXHhBM1xceEE0XFx4QTVcXHhBNlxceEE3XFx4QThcXHhBOVxcdTA2QkVcXHhBQlxceEFDXFx4QURcXHhBRVxceEFGXFx4QjBcXHhCMVxceEIyXFx4QjNcXHhCNFxceEI1XFx4QjZcXHhCN1xceEI4XFx4QjlcXHUwNjFCXFx4QkJcXHhCQ1xceEJEXFx4QkVcXHUwNjFGXFx1MDZDMVxcdTA2MjFcXHUwNjIyXFx1MDYyM1xcdTA2MjRcXHUwNjI1XFx1MDYyNlxcdTA2MjdcXHUwNjI4XFx1MDYyOVxcdTA2MkFcXHUwNjJCXFx1MDYyQ1xcdTA2MkRcXHUwNjJFXFx1MDYyRlxcdTA2MzBcXHUwNjMxXFx1MDYzMlxcdTA2MzNcXHUwNjM0XFx1MDYzNVxcdTA2MzZcXHhEN1xcdTA2MzdcXHUwNjM4XFx1MDYzOVxcdTA2M0FcXHUwNjQwXFx1MDY0MVxcdTA2NDJcXHUwNjQzXFx4RTBcXHUwNjQ0XFx4RTJcXHUwNjQ1XFx1MDY0NlxcdTA2NDdcXHUwNjQ4XFx4RTdcXHhFOFxceEU5XFx4RUFcXHhFQlxcdTA2NDlcXHUwNjRBXFx4RUVcXHhFRlxcdTA2NEJcXHUwNjRDXFx1MDY0RFxcdTA2NEVcXHhGNFxcdTA2NEZcXHUwNjUwXFx4RjdcXHUwNjUxXFx4RjlcXHUwNjUyXFx4RkJcXHhGQ1xcdTIwMEVcXHUyMDBGXFx1MDZEMlwiXG4gICAgICB9LFxuICAgICAgXCJ3aW4xMjU2XCI6IFwid2luZG93czEyNTZcIixcbiAgICAgIFwiY3AxMjU2XCI6IFwid2luZG93czEyNTZcIixcbiAgICAgIFwid2luZG93czEyNTdcIjoge1xuICAgICAgICBcInR5cGVcIjogXCJfc2Jjc1wiLFxuICAgICAgICBcImNoYXJzXCI6IFwiXFx1MjBBQ1xcdUZGRkRcXHUyMDFBXFx1RkZGRFxcdTIwMUVcXHUyMDI2XFx1MjAyMFxcdTIwMjFcXHVGRkZEXFx1MjAzMFxcdUZGRkRcXHUyMDM5XFx1RkZGRFxceEE4XFx1MDJDN1xceEI4XFx1RkZGRFxcdTIwMThcXHUyMDE5XFx1MjAxQ1xcdTIwMURcXHUyMDIyXFx1MjAxM1xcdTIwMTRcXHVGRkZEXFx1MjEyMlxcdUZGRkRcXHUyMDNBXFx1RkZGRFxceEFGXFx1MDJEQlxcdUZGRkRcXHhBMFxcdUZGRkRcXHhBMlxceEEzXFx4QTRcXHVGRkZEXFx4QTZcXHhBN1xceEQ4XFx4QTlcXHUwMTU2XFx4QUJcXHhBQ1xceEFEXFx4QUVcXHhDNlxceEIwXFx4QjFcXHhCMlxceEIzXFx4QjRcXHhCNVxceEI2XFx4QjdcXHhGOFxceEI5XFx1MDE1N1xceEJCXFx4QkNcXHhCRFxceEJFXFx4RTZcXHUwMTA0XFx1MDEyRVxcdTAxMDBcXHUwMTA2XFx4QzRcXHhDNVxcdTAxMThcXHUwMTEyXFx1MDEwQ1xceEM5XFx1MDE3OVxcdTAxMTZcXHUwMTIyXFx1MDEzNlxcdTAxMkFcXHUwMTNCXFx1MDE2MFxcdTAxNDNcXHUwMTQ1XFx4RDNcXHUwMTRDXFx4RDVcXHhENlxceEQ3XFx1MDE3MlxcdTAxNDFcXHUwMTVBXFx1MDE2QVxceERDXFx1MDE3QlxcdTAxN0RcXHhERlxcdTAxMDVcXHUwMTJGXFx1MDEwMVxcdTAxMDdcXHhFNFxceEU1XFx1MDExOVxcdTAxMTNcXHUwMTBEXFx4RTlcXHUwMTdBXFx1MDExN1xcdTAxMjNcXHUwMTM3XFx1MDEyQlxcdTAxM0NcXHUwMTYxXFx1MDE0NFxcdTAxNDZcXHhGM1xcdTAxNERcXHhGNVxceEY2XFx4RjdcXHUwMTczXFx1MDE0MlxcdTAxNUJcXHUwMTZCXFx4RkNcXHUwMTdDXFx1MDE3RVxcdTAyRDlcIlxuICAgICAgfSxcbiAgICAgIFwid2luMTI1N1wiOiBcIndpbmRvd3MxMjU3XCIsXG4gICAgICBcImNwMTI1N1wiOiBcIndpbmRvd3MxMjU3XCIsXG4gICAgICBcIndpbmRvd3MxMjU4XCI6IHtcbiAgICAgICAgXCJ0eXBlXCI6IFwiX3NiY3NcIixcbiAgICAgICAgXCJjaGFyc1wiOiBcIlxcdTIwQUNcXHVGRkZEXFx1MjAxQVxcdTAxOTJcXHUyMDFFXFx1MjAyNlxcdTIwMjBcXHUyMDIxXFx1MDJDNlxcdTIwMzBcXHVGRkZEXFx1MjAzOVxcdTAxNTJcXHVGRkZEXFx1RkZGRFxcdUZGRkRcXHVGRkZEXFx1MjAxOFxcdTIwMTlcXHUyMDFDXFx1MjAxRFxcdTIwMjJcXHUyMDEzXFx1MjAxNFxcdTAyRENcXHUyMTIyXFx1RkZGRFxcdTIwM0FcXHUwMTUzXFx1RkZGRFxcdUZGRkRcXHUwMTc4XFx4QTBcXHhBMVxceEEyXFx4QTNcXHhBNFxceEE1XFx4QTZcXHhBN1xceEE4XFx4QTlcXHhBQVxceEFCXFx4QUNcXHhBRFxceEFFXFx4QUZcXHhCMFxceEIxXFx4QjJcXHhCM1xceEI0XFx4QjVcXHhCNlxceEI3XFx4QjhcXHhCOVxceEJBXFx4QkJcXHhCQ1xceEJEXFx4QkVcXHhCRlxceEMwXFx4QzFcXHhDMlxcdTAxMDJcXHhDNFxceEM1XFx4QzZcXHhDN1xceEM4XFx4QzlcXHhDQVxceENCXFx1MDMwMFxceENEXFx4Q0VcXHhDRlxcdTAxMTBcXHhEMVxcdTAzMDlcXHhEM1xceEQ0XFx1MDFBMFxceEQ2XFx4RDdcXHhEOFxceEQ5XFx4REFcXHhEQlxceERDXFx1MDFBRlxcdTAzMDNcXHhERlxceEUwXFx4RTFcXHhFMlxcdTAxMDNcXHhFNFxceEU1XFx4RTZcXHhFN1xceEU4XFx4RTlcXHhFQVxceEVCXFx1MDMwMVxceEVEXFx4RUVcXHhFRlxcdTAxMTFcXHhGMVxcdTAzMjNcXHhGM1xceEY0XFx1MDFBMVxceEY2XFx4RjdcXHhGOFxceEY5XFx4RkFcXHhGQlxceEZDXFx1MDFCMFxcdTIwQUJcXHhGRlwiXG4gICAgICB9LFxuICAgICAgXCJ3aW4xMjU4XCI6IFwid2luZG93czEyNThcIixcbiAgICAgIFwiY3AxMjU4XCI6IFwid2luZG93czEyNThcIixcbiAgICAgIFwiaXNvODg1OTFcIjoge1xuICAgICAgICBcInR5cGVcIjogXCJfc2Jjc1wiLFxuICAgICAgICBcImNoYXJzXCI6IFwiXFx4ODBcXHg4MVxceDgyXFx4ODNcXHg4NFxceDg1XFx4ODZcXHg4N1xceDg4XFx4ODlcXHg4QVxceDhCXFx4OENcXHg4RFxceDhFXFx4OEZcXHg5MFxceDkxXFx4OTJcXHg5M1xceDk0XFx4OTVcXHg5NlxceDk3XFx4OThcXHg5OVxceDlBXFx4OUJcXHg5Q1xceDlEXFx4OUVcXHg5RlxceEEwXFx4QTFcXHhBMlxceEEzXFx4QTRcXHhBNVxceEE2XFx4QTdcXHhBOFxceEE5XFx4QUFcXHhBQlxceEFDXFx4QURcXHhBRVxceEFGXFx4QjBcXHhCMVxceEIyXFx4QjNcXHhCNFxceEI1XFx4QjZcXHhCN1xceEI4XFx4QjlcXHhCQVxceEJCXFx4QkNcXHhCRFxceEJFXFx4QkZcXHhDMFxceEMxXFx4QzJcXHhDM1xceEM0XFx4QzVcXHhDNlxceEM3XFx4QzhcXHhDOVxceENBXFx4Q0JcXHhDQ1xceENEXFx4Q0VcXHhDRlxceEQwXFx4RDFcXHhEMlxceEQzXFx4RDRcXHhENVxceEQ2XFx4RDdcXHhEOFxceEQ5XFx4REFcXHhEQlxceERDXFx4RERcXHhERVxceERGXFx4RTBcXHhFMVxceEUyXFx4RTNcXHhFNFxceEU1XFx4RTZcXHhFN1xceEU4XFx4RTlcXHhFQVxceEVCXFx4RUNcXHhFRFxceEVFXFx4RUZcXHhGMFxceEYxXFx4RjJcXHhGM1xceEY0XFx4RjVcXHhGNlxceEY3XFx4RjhcXHhGOVxceEZBXFx4RkJcXHhGQ1xceEZEXFx4RkVcXHhGRlwiXG4gICAgICB9LFxuICAgICAgXCJjcDI4NTkxXCI6IFwiaXNvODg1OTFcIixcbiAgICAgIFwiaXNvODg1OTJcIjoge1xuICAgICAgICBcInR5cGVcIjogXCJfc2Jjc1wiLFxuICAgICAgICBcImNoYXJzXCI6IFwiXFx4ODBcXHg4MVxceDgyXFx4ODNcXHg4NFxceDg1XFx4ODZcXHg4N1xceDg4XFx4ODlcXHg4QVxceDhCXFx4OENcXHg4RFxceDhFXFx4OEZcXHg5MFxceDkxXFx4OTJcXHg5M1xceDk0XFx4OTVcXHg5NlxceDk3XFx4OThcXHg5OVxceDlBXFx4OUJcXHg5Q1xceDlEXFx4OUVcXHg5RlxceEEwXFx1MDEwNFxcdTAyRDhcXHUwMTQxXFx4QTRcXHUwMTNEXFx1MDE1QVxceEE3XFx4QThcXHUwMTYwXFx1MDE1RVxcdTAxNjRcXHUwMTc5XFx4QURcXHUwMTdEXFx1MDE3QlxceEIwXFx1MDEwNVxcdTAyREJcXHUwMTQyXFx4QjRcXHUwMTNFXFx1MDE1QlxcdTAyQzdcXHhCOFxcdTAxNjFcXHUwMTVGXFx1MDE2NVxcdTAxN0FcXHUwMkREXFx1MDE3RVxcdTAxN0NcXHUwMTU0XFx4QzFcXHhDMlxcdTAxMDJcXHhDNFxcdTAxMzlcXHUwMTA2XFx4QzdcXHUwMTBDXFx4QzlcXHUwMTE4XFx4Q0JcXHUwMTFBXFx4Q0RcXHhDRVxcdTAxMEVcXHUwMTEwXFx1MDE0M1xcdTAxNDdcXHhEM1xceEQ0XFx1MDE1MFxceEQ2XFx4RDdcXHUwMTU4XFx1MDE2RVxceERBXFx1MDE3MFxceERDXFx4RERcXHUwMTYyXFx4REZcXHUwMTU1XFx4RTFcXHhFMlxcdTAxMDNcXHhFNFxcdTAxM0FcXHUwMTA3XFx4RTdcXHUwMTBEXFx4RTlcXHUwMTE5XFx4RUJcXHUwMTFCXFx4RURcXHhFRVxcdTAxMEZcXHUwMTExXFx1MDE0NFxcdTAxNDhcXHhGM1xceEY0XFx1MDE1MVxceEY2XFx4RjdcXHUwMTU5XFx1MDE2RlxceEZBXFx1MDE3MVxceEZDXFx4RkRcXHUwMTYzXFx1MDJEOVwiXG4gICAgICB9LFxuICAgICAgXCJjcDI4NTkyXCI6IFwiaXNvODg1OTJcIixcbiAgICAgIFwiaXNvODg1OTNcIjoge1xuICAgICAgICBcInR5cGVcIjogXCJfc2Jjc1wiLFxuICAgICAgICBcImNoYXJzXCI6IFwiXFx4ODBcXHg4MVxceDgyXFx4ODNcXHg4NFxceDg1XFx4ODZcXHg4N1xceDg4XFx4ODlcXHg4QVxceDhCXFx4OENcXHg4RFxceDhFXFx4OEZcXHg5MFxceDkxXFx4OTJcXHg5M1xceDk0XFx4OTVcXHg5NlxceDk3XFx4OThcXHg5OVxceDlBXFx4OUJcXHg5Q1xceDlEXFx4OUVcXHg5RlxceEEwXFx1MDEyNlxcdTAyRDhcXHhBM1xceEE0XFx1RkZGRFxcdTAxMjRcXHhBN1xceEE4XFx1MDEzMFxcdTAxNUVcXHUwMTFFXFx1MDEzNFxceEFEXFx1RkZGRFxcdTAxN0JcXHhCMFxcdTAxMjdcXHhCMlxceEIzXFx4QjRcXHhCNVxcdTAxMjVcXHhCN1xceEI4XFx1MDEzMVxcdTAxNUZcXHUwMTFGXFx1MDEzNVxceEJEXFx1RkZGRFxcdTAxN0NcXHhDMFxceEMxXFx4QzJcXHVGRkZEXFx4QzRcXHUwMTBBXFx1MDEwOFxceEM3XFx4QzhcXHhDOVxceENBXFx4Q0JcXHhDQ1xceENEXFx4Q0VcXHhDRlxcdUZGRkRcXHhEMVxceEQyXFx4RDNcXHhENFxcdTAxMjBcXHhENlxceEQ3XFx1MDExQ1xceEQ5XFx4REFcXHhEQlxceERDXFx1MDE2Q1xcdTAxNUNcXHhERlxceEUwXFx4RTFcXHhFMlxcdUZGRkRcXHhFNFxcdTAxMEJcXHUwMTA5XFx4RTdcXHhFOFxceEU5XFx4RUFcXHhFQlxceEVDXFx4RURcXHhFRVxceEVGXFx1RkZGRFxceEYxXFx4RjJcXHhGM1xceEY0XFx1MDEyMVxceEY2XFx4RjdcXHUwMTFEXFx4RjlcXHhGQVxceEZCXFx4RkNcXHUwMTZEXFx1MDE1RFxcdTAyRDlcIlxuICAgICAgfSxcbiAgICAgIFwiY3AyODU5M1wiOiBcImlzbzg4NTkzXCIsXG4gICAgICBcImlzbzg4NTk0XCI6IHtcbiAgICAgICAgXCJ0eXBlXCI6IFwiX3NiY3NcIixcbiAgICAgICAgXCJjaGFyc1wiOiBcIlxceDgwXFx4ODFcXHg4MlxceDgzXFx4ODRcXHg4NVxceDg2XFx4ODdcXHg4OFxceDg5XFx4OEFcXHg4QlxceDhDXFx4OERcXHg4RVxceDhGXFx4OTBcXHg5MVxceDkyXFx4OTNcXHg5NFxceDk1XFx4OTZcXHg5N1xceDk4XFx4OTlcXHg5QVxceDlCXFx4OUNcXHg5RFxceDlFXFx4OUZcXHhBMFxcdTAxMDRcXHUwMTM4XFx1MDE1NlxceEE0XFx1MDEyOFxcdTAxM0JcXHhBN1xceEE4XFx1MDE2MFxcdTAxMTJcXHUwMTIyXFx1MDE2NlxceEFEXFx1MDE3RFxceEFGXFx4QjBcXHUwMTA1XFx1MDJEQlxcdTAxNTdcXHhCNFxcdTAxMjlcXHUwMTNDXFx1MDJDN1xceEI4XFx1MDE2MVxcdTAxMTNcXHUwMTIzXFx1MDE2N1xcdTAxNEFcXHUwMTdFXFx1MDE0QlxcdTAxMDBcXHhDMVxceEMyXFx4QzNcXHhDNFxceEM1XFx4QzZcXHUwMTJFXFx1MDEwQ1xceEM5XFx1MDExOFxceENCXFx1MDExNlxceENEXFx4Q0VcXHUwMTJBXFx1MDExMFxcdTAxNDVcXHUwMTRDXFx1MDEzNlxceEQ0XFx4RDVcXHhENlxceEQ3XFx4RDhcXHUwMTcyXFx4REFcXHhEQlxceERDXFx1MDE2OFxcdTAxNkFcXHhERlxcdTAxMDFcXHhFMVxceEUyXFx4RTNcXHhFNFxceEU1XFx4RTZcXHUwMTJGXFx1MDEwRFxceEU5XFx1MDExOVxceEVCXFx1MDExN1xceEVEXFx4RUVcXHUwMTJCXFx1MDExMVxcdTAxNDZcXHUwMTREXFx1MDEzN1xceEY0XFx4RjVcXHhGNlxceEY3XFx4RjhcXHUwMTczXFx4RkFcXHhGQlxceEZDXFx1MDE2OVxcdTAxNkJcXHUwMkQ5XCJcbiAgICAgIH0sXG4gICAgICBcImNwMjg1OTRcIjogXCJpc284ODU5NFwiLFxuICAgICAgXCJpc284ODU5NVwiOiB7XG4gICAgICAgIFwidHlwZVwiOiBcIl9zYmNzXCIsXG4gICAgICAgIFwiY2hhcnNcIjogXCJcXHg4MFxceDgxXFx4ODJcXHg4M1xceDg0XFx4ODVcXHg4NlxceDg3XFx4ODhcXHg4OVxceDhBXFx4OEJcXHg4Q1xceDhEXFx4OEVcXHg4RlxceDkwXFx4OTFcXHg5MlxceDkzXFx4OTRcXHg5NVxceDk2XFx4OTdcXHg5OFxceDk5XFx4OUFcXHg5QlxceDlDXFx4OURcXHg5RVxceDlGXFx4QTBcXHUwNDAxXFx1MDQwMlxcdTA0MDNcXHUwNDA0XFx1MDQwNVxcdTA0MDZcXHUwNDA3XFx1MDQwOFxcdTA0MDlcXHUwNDBBXFx1MDQwQlxcdTA0MENcXHhBRFxcdTA0MEVcXHUwNDBGXFx1MDQxMFxcdTA0MTFcXHUwNDEyXFx1MDQxM1xcdTA0MTRcXHUwNDE1XFx1MDQxNlxcdTA0MTdcXHUwNDE4XFx1MDQxOVxcdTA0MUFcXHUwNDFCXFx1MDQxQ1xcdTA0MURcXHUwNDFFXFx1MDQxRlxcdTA0MjBcXHUwNDIxXFx1MDQyMlxcdTA0MjNcXHUwNDI0XFx1MDQyNVxcdTA0MjZcXHUwNDI3XFx1MDQyOFxcdTA0MjlcXHUwNDJBXFx1MDQyQlxcdTA0MkNcXHUwNDJEXFx1MDQyRVxcdTA0MkZcXHUwNDMwXFx1MDQzMVxcdTA0MzJcXHUwNDMzXFx1MDQzNFxcdTA0MzVcXHUwNDM2XFx1MDQzN1xcdTA0MzhcXHUwNDM5XFx1MDQzQVxcdTA0M0JcXHUwNDNDXFx1MDQzRFxcdTA0M0VcXHUwNDNGXFx1MDQ0MFxcdTA0NDFcXHUwNDQyXFx1MDQ0M1xcdTA0NDRcXHUwNDQ1XFx1MDQ0NlxcdTA0NDdcXHUwNDQ4XFx1MDQ0OVxcdTA0NEFcXHUwNDRCXFx1MDQ0Q1xcdTA0NERcXHUwNDRFXFx1MDQ0RlxcdTIxMTZcXHUwNDUxXFx1MDQ1MlxcdTA0NTNcXHUwNDU0XFx1MDQ1NVxcdTA0NTZcXHUwNDU3XFx1MDQ1OFxcdTA0NTlcXHUwNDVBXFx1MDQ1QlxcdTA0NUNcXHhBN1xcdTA0NUVcXHUwNDVGXCJcbiAgICAgIH0sXG4gICAgICBcImNwMjg1OTVcIjogXCJpc284ODU5NVwiLFxuICAgICAgXCJpc284ODU5NlwiOiB7XG4gICAgICAgIFwidHlwZVwiOiBcIl9zYmNzXCIsXG4gICAgICAgIFwiY2hhcnNcIjogXCJcXHg4MFxceDgxXFx4ODJcXHg4M1xceDg0XFx4ODVcXHg4NlxceDg3XFx4ODhcXHg4OVxceDhBXFx4OEJcXHg4Q1xceDhEXFx4OEVcXHg4RlxceDkwXFx4OTFcXHg5MlxceDkzXFx4OTRcXHg5NVxceDk2XFx4OTdcXHg5OFxceDk5XFx4OUFcXHg5QlxceDlDXFx4OURcXHg5RVxceDlGXFx4QTBcXHVGRkZEXFx1RkZGRFxcdUZGRkRcXHhBNFxcdUZGRkRcXHVGRkZEXFx1RkZGRFxcdUZGRkRcXHVGRkZEXFx1RkZGRFxcdUZGRkRcXHUwNjBDXFx4QURcXHVGRkZEXFx1RkZGRFxcdUZGRkRcXHVGRkZEXFx1RkZGRFxcdUZGRkRcXHVGRkZEXFx1RkZGRFxcdUZGRkRcXHVGRkZEXFx1RkZGRFxcdUZGRkRcXHVGRkZEXFx1MDYxQlxcdUZGRkRcXHVGRkZEXFx1RkZGRFxcdTA2MUZcXHVGRkZEXFx1MDYyMVxcdTA2MjJcXHUwNjIzXFx1MDYyNFxcdTA2MjVcXHUwNjI2XFx1MDYyN1xcdTA2MjhcXHUwNjI5XFx1MDYyQVxcdTA2MkJcXHUwNjJDXFx1MDYyRFxcdTA2MkVcXHUwNjJGXFx1MDYzMFxcdTA2MzFcXHUwNjMyXFx1MDYzM1xcdTA2MzRcXHUwNjM1XFx1MDYzNlxcdTA2MzdcXHUwNjM4XFx1MDYzOVxcdTA2M0FcXHVGRkZEXFx1RkZGRFxcdUZGRkRcXHVGRkZEXFx1RkZGRFxcdTA2NDBcXHUwNjQxXFx1MDY0MlxcdTA2NDNcXHUwNjQ0XFx1MDY0NVxcdTA2NDZcXHUwNjQ3XFx1MDY0OFxcdTA2NDlcXHUwNjRBXFx1MDY0QlxcdTA2NENcXHUwNjREXFx1MDY0RVxcdTA2NEZcXHUwNjUwXFx1MDY1MVxcdTA2NTJcXHVGRkZEXFx1RkZGRFxcdUZGRkRcXHVGRkZEXFx1RkZGRFxcdUZGRkRcXHVGRkZEXFx1RkZGRFxcdUZGRkRcXHVGRkZEXFx1RkZGRFxcdUZGRkRcXHVGRkZEXCJcbiAgICAgIH0sXG4gICAgICBcImNwMjg1OTZcIjogXCJpc284ODU5NlwiLFxuICAgICAgXCJpc284ODU5N1wiOiB7XG4gICAgICAgIFwidHlwZVwiOiBcIl9zYmNzXCIsXG4gICAgICAgIFwiY2hhcnNcIjogXCJcXHg4MFxceDgxXFx4ODJcXHg4M1xceDg0XFx4ODVcXHg4NlxceDg3XFx4ODhcXHg4OVxceDhBXFx4OEJcXHg4Q1xceDhEXFx4OEVcXHg4RlxceDkwXFx4OTFcXHg5MlxceDkzXFx4OTRcXHg5NVxceDk2XFx4OTdcXHg5OFxceDk5XFx4OUFcXHg5QlxceDlDXFx4OURcXHg5RVxceDlGXFx4QTBcXHUyMDE4XFx1MjAxOVxceEEzXFx1MjBBQ1xcdTIwQUZcXHhBNlxceEE3XFx4QThcXHhBOVxcdTAzN0FcXHhBQlxceEFDXFx4QURcXHVGRkZEXFx1MjAxNVxceEIwXFx4QjFcXHhCMlxceEIzXFx1MDM4NFxcdTAzODVcXHUwMzg2XFx4QjdcXHUwMzg4XFx1MDM4OVxcdTAzOEFcXHhCQlxcdTAzOENcXHhCRFxcdTAzOEVcXHUwMzhGXFx1MDM5MFxcdTAzOTFcXHUwMzkyXFx1MDM5M1xcdTAzOTRcXHUwMzk1XFx1MDM5NlxcdTAzOTdcXHUwMzk4XFx1MDM5OVxcdTAzOUFcXHUwMzlCXFx1MDM5Q1xcdTAzOURcXHUwMzlFXFx1MDM5RlxcdTAzQTBcXHUwM0ExXFx1RkZGRFxcdTAzQTNcXHUwM0E0XFx1MDNBNVxcdTAzQTZcXHUwM0E3XFx1MDNBOFxcdTAzQTlcXHUwM0FBXFx1MDNBQlxcdTAzQUNcXHUwM0FEXFx1MDNBRVxcdTAzQUZcXHUwM0IwXFx1MDNCMVxcdTAzQjJcXHUwM0IzXFx1MDNCNFxcdTAzQjVcXHUwM0I2XFx1MDNCN1xcdTAzQjhcXHUwM0I5XFx1MDNCQVxcdTAzQkJcXHUwM0JDXFx1MDNCRFxcdTAzQkVcXHUwM0JGXFx1MDNDMFxcdTAzQzFcXHUwM0MyXFx1MDNDM1xcdTAzQzRcXHUwM0M1XFx1MDNDNlxcdTAzQzdcXHUwM0M4XFx1MDNDOVxcdTAzQ0FcXHUwM0NCXFx1MDNDQ1xcdTAzQ0RcXHUwM0NFXFx1RkZGRFwiXG4gICAgICB9LFxuICAgICAgXCJjcDI4NTk3XCI6IFwiaXNvODg1OTdcIixcbiAgICAgIFwiaXNvODg1OThcIjoge1xuICAgICAgICBcInR5cGVcIjogXCJfc2Jjc1wiLFxuICAgICAgICBcImNoYXJzXCI6IFwiXFx4ODBcXHg4MVxceDgyXFx4ODNcXHg4NFxceDg1XFx4ODZcXHg4N1xceDg4XFx4ODlcXHg4QVxceDhCXFx4OENcXHg4RFxceDhFXFx4OEZcXHg5MFxceDkxXFx4OTJcXHg5M1xceDk0XFx4OTVcXHg5NlxceDk3XFx4OThcXHg5OVxceDlBXFx4OUJcXHg5Q1xceDlEXFx4OUVcXHg5RlxceEEwXFx1RkZGRFxceEEyXFx4QTNcXHhBNFxceEE1XFx4QTZcXHhBN1xceEE4XFx4QTlcXHhEN1xceEFCXFx4QUNcXHhBRFxceEFFXFx4QUZcXHhCMFxceEIxXFx4QjJcXHhCM1xceEI0XFx4QjVcXHhCNlxceEI3XFx4QjhcXHhCOVxceEY3XFx4QkJcXHhCQ1xceEJEXFx4QkVcXHVGRkZEXFx1RkZGRFxcdUZGRkRcXHVGRkZEXFx1RkZGRFxcdUZGRkRcXHVGRkZEXFx1RkZGRFxcdUZGRkRcXHVGRkZEXFx1RkZGRFxcdUZGRkRcXHVGRkZEXFx1RkZGRFxcdUZGRkRcXHVGRkZEXFx1RkZGRFxcdUZGRkRcXHVGRkZEXFx1RkZGRFxcdUZGRkRcXHVGRkZEXFx1RkZGRFxcdUZGRkRcXHVGRkZEXFx1RkZGRFxcdUZGRkRcXHVGRkZEXFx1RkZGRFxcdUZGRkRcXHVGRkZEXFx1RkZGRFxcdTIwMTdcXHUwNUQwXFx1MDVEMVxcdTA1RDJcXHUwNUQzXFx1MDVENFxcdTA1RDVcXHUwNUQ2XFx1MDVEN1xcdTA1RDhcXHUwNUQ5XFx1MDVEQVxcdTA1REJcXHUwNURDXFx1MDVERFxcdTA1REVcXHUwNURGXFx1MDVFMFxcdTA1RTFcXHUwNUUyXFx1MDVFM1xcdTA1RTRcXHUwNUU1XFx1MDVFNlxcdTA1RTdcXHUwNUU4XFx1MDVFOVxcdTA1RUFcXHVGRkZEXFx1RkZGRFxcdTIwMEVcXHUyMDBGXFx1RkZGRFwiXG4gICAgICB9LFxuICAgICAgXCJjcDI4NTk4XCI6IFwiaXNvODg1OThcIixcbiAgICAgIFwiaXNvODg1OTlcIjoge1xuICAgICAgICBcInR5cGVcIjogXCJfc2Jjc1wiLFxuICAgICAgICBcImNoYXJzXCI6IFwiXFx4ODBcXHg4MVxceDgyXFx4ODNcXHg4NFxceDg1XFx4ODZcXHg4N1xceDg4XFx4ODlcXHg4QVxceDhCXFx4OENcXHg4RFxceDhFXFx4OEZcXHg5MFxceDkxXFx4OTJcXHg5M1xceDk0XFx4OTVcXHg5NlxceDk3XFx4OThcXHg5OVxceDlBXFx4OUJcXHg5Q1xceDlEXFx4OUVcXHg5RlxceEEwXFx4QTFcXHhBMlxceEEzXFx4QTRcXHhBNVxceEE2XFx4QTdcXHhBOFxceEE5XFx4QUFcXHhBQlxceEFDXFx4QURcXHhBRVxceEFGXFx4QjBcXHhCMVxceEIyXFx4QjNcXHhCNFxceEI1XFx4QjZcXHhCN1xceEI4XFx4QjlcXHhCQVxceEJCXFx4QkNcXHhCRFxceEJFXFx4QkZcXHhDMFxceEMxXFx4QzJcXHhDM1xceEM0XFx4QzVcXHhDNlxceEM3XFx4QzhcXHhDOVxceENBXFx4Q0JcXHhDQ1xceENEXFx4Q0VcXHhDRlxcdTAxMUVcXHhEMVxceEQyXFx4RDNcXHhENFxceEQ1XFx4RDZcXHhEN1xceEQ4XFx4RDlcXHhEQVxceERCXFx4RENcXHUwMTMwXFx1MDE1RVxceERGXFx4RTBcXHhFMVxceEUyXFx4RTNcXHhFNFxceEU1XFx4RTZcXHhFN1xceEU4XFx4RTlcXHhFQVxceEVCXFx4RUNcXHhFRFxceEVFXFx4RUZcXHUwMTFGXFx4RjFcXHhGMlxceEYzXFx4RjRcXHhGNVxceEY2XFx4RjdcXHhGOFxceEY5XFx4RkFcXHhGQlxceEZDXFx1MDEzMVxcdTAxNUZcXHhGRlwiXG4gICAgICB9LFxuICAgICAgXCJjcDI4NTk5XCI6IFwiaXNvODg1OTlcIixcbiAgICAgIFwiaXNvODg1OTEwXCI6IHtcbiAgICAgICAgXCJ0eXBlXCI6IFwiX3NiY3NcIixcbiAgICAgICAgXCJjaGFyc1wiOiBcIlxceDgwXFx4ODFcXHg4MlxceDgzXFx4ODRcXHg4NVxceDg2XFx4ODdcXHg4OFxceDg5XFx4OEFcXHg4QlxceDhDXFx4OERcXHg4RVxceDhGXFx4OTBcXHg5MVxceDkyXFx4OTNcXHg5NFxceDk1XFx4OTZcXHg5N1xceDk4XFx4OTlcXHg5QVxceDlCXFx4OUNcXHg5RFxceDlFXFx4OUZcXHhBMFxcdTAxMDRcXHUwMTEyXFx1MDEyMlxcdTAxMkFcXHUwMTI4XFx1MDEzNlxceEE3XFx1MDEzQlxcdTAxMTBcXHUwMTYwXFx1MDE2NlxcdTAxN0RcXHhBRFxcdTAxNkFcXHUwMTRBXFx4QjBcXHUwMTA1XFx1MDExM1xcdTAxMjNcXHUwMTJCXFx1MDEyOVxcdTAxMzdcXHhCN1xcdTAxM0NcXHUwMTExXFx1MDE2MVxcdTAxNjdcXHUwMTdFXFx1MjAxNVxcdTAxNkJcXHUwMTRCXFx1MDEwMFxceEMxXFx4QzJcXHhDM1xceEM0XFx4QzVcXHhDNlxcdTAxMkVcXHUwMTBDXFx4QzlcXHUwMTE4XFx4Q0JcXHUwMTE2XFx4Q0RcXHhDRVxceENGXFx4RDBcXHUwMTQ1XFx1MDE0Q1xceEQzXFx4RDRcXHhENVxceEQ2XFx1MDE2OFxceEQ4XFx1MDE3MlxceERBXFx4REJcXHhEQ1xceEREXFx4REVcXHhERlxcdTAxMDFcXHhFMVxceEUyXFx4RTNcXHhFNFxceEU1XFx4RTZcXHUwMTJGXFx1MDEwRFxceEU5XFx1MDExOVxceEVCXFx1MDExN1xceEVEXFx4RUVcXHhFRlxceEYwXFx1MDE0NlxcdTAxNERcXHhGM1xceEY0XFx4RjVcXHhGNlxcdTAxNjlcXHhGOFxcdTAxNzNcXHhGQVxceEZCXFx4RkNcXHhGRFxceEZFXFx1MDEzOFwiXG4gICAgICB9LFxuICAgICAgXCJjcDI4NjAwXCI6IFwiaXNvODg1OTEwXCIsXG4gICAgICBcImlzbzg4NTkxMVwiOiB7XG4gICAgICAgIFwidHlwZVwiOiBcIl9zYmNzXCIsXG4gICAgICAgIFwiY2hhcnNcIjogXCJcXHg4MFxceDgxXFx4ODJcXHg4M1xceDg0XFx4ODVcXHg4NlxceDg3XFx4ODhcXHg4OVxceDhBXFx4OEJcXHg4Q1xceDhEXFx4OEVcXHg4RlxceDkwXFx4OTFcXHg5MlxceDkzXFx4OTRcXHg5NVxceDk2XFx4OTdcXHg5OFxceDk5XFx4OUFcXHg5QlxceDlDXFx4OURcXHg5RVxceDlGXFx4QTBcXHUwRTAxXFx1MEUwMlxcdTBFMDNcXHUwRTA0XFx1MEUwNVxcdTBFMDZcXHUwRTA3XFx1MEUwOFxcdTBFMDlcXHUwRTBBXFx1MEUwQlxcdTBFMENcXHUwRTBEXFx1MEUwRVxcdTBFMEZcXHUwRTEwXFx1MEUxMVxcdTBFMTJcXHUwRTEzXFx1MEUxNFxcdTBFMTVcXHUwRTE2XFx1MEUxN1xcdTBFMThcXHUwRTE5XFx1MEUxQVxcdTBFMUJcXHUwRTFDXFx1MEUxRFxcdTBFMUVcXHUwRTFGXFx1MEUyMFxcdTBFMjFcXHUwRTIyXFx1MEUyM1xcdTBFMjRcXHUwRTI1XFx1MEUyNlxcdTBFMjdcXHUwRTI4XFx1MEUyOVxcdTBFMkFcXHUwRTJCXFx1MEUyQ1xcdTBFMkRcXHUwRTJFXFx1MEUyRlxcdTBFMzBcXHUwRTMxXFx1MEUzMlxcdTBFMzNcXHUwRTM0XFx1MEUzNVxcdTBFMzZcXHUwRTM3XFx1MEUzOFxcdTBFMzlcXHUwRTNBXFx1RkZGRFxcdUZGRkRcXHVGRkZEXFx1RkZGRFxcdTBFM0ZcXHUwRTQwXFx1MEU0MVxcdTBFNDJcXHUwRTQzXFx1MEU0NFxcdTBFNDVcXHUwRTQ2XFx1MEU0N1xcdTBFNDhcXHUwRTQ5XFx1MEU0QVxcdTBFNEJcXHUwRTRDXFx1MEU0RFxcdTBFNEVcXHUwRTRGXFx1MEU1MFxcdTBFNTFcXHUwRTUyXFx1MEU1M1xcdTBFNTRcXHUwRTU1XFx1MEU1NlxcdTBFNTdcXHUwRTU4XFx1MEU1OVxcdTBFNUFcXHUwRTVCXFx1RkZGRFxcdUZGRkRcXHVGRkZEXFx1RkZGRFwiXG4gICAgICB9LFxuICAgICAgXCJjcDI4NjAxXCI6IFwiaXNvODg1OTExXCIsXG4gICAgICBcImlzbzg4NTkxM1wiOiB7XG4gICAgICAgIFwidHlwZVwiOiBcIl9zYmNzXCIsXG4gICAgICAgIFwiY2hhcnNcIjogXCJcXHg4MFxceDgxXFx4ODJcXHg4M1xceDg0XFx4ODVcXHg4NlxceDg3XFx4ODhcXHg4OVxceDhBXFx4OEJcXHg4Q1xceDhEXFx4OEVcXHg4RlxceDkwXFx4OTFcXHg5MlxceDkzXFx4OTRcXHg5NVxceDk2XFx4OTdcXHg5OFxceDk5XFx4OUFcXHg5QlxceDlDXFx4OURcXHg5RVxceDlGXFx4QTBcXHUyMDFEXFx4QTJcXHhBM1xceEE0XFx1MjAxRVxceEE2XFx4QTdcXHhEOFxceEE5XFx1MDE1NlxceEFCXFx4QUNcXHhBRFxceEFFXFx4QzZcXHhCMFxceEIxXFx4QjJcXHhCM1xcdTIwMUNcXHhCNVxceEI2XFx4QjdcXHhGOFxceEI5XFx1MDE1N1xceEJCXFx4QkNcXHhCRFxceEJFXFx4RTZcXHUwMTA0XFx1MDEyRVxcdTAxMDBcXHUwMTA2XFx4QzRcXHhDNVxcdTAxMThcXHUwMTEyXFx1MDEwQ1xceEM5XFx1MDE3OVxcdTAxMTZcXHUwMTIyXFx1MDEzNlxcdTAxMkFcXHUwMTNCXFx1MDE2MFxcdTAxNDNcXHUwMTQ1XFx4RDNcXHUwMTRDXFx4RDVcXHhENlxceEQ3XFx1MDE3MlxcdTAxNDFcXHUwMTVBXFx1MDE2QVxceERDXFx1MDE3QlxcdTAxN0RcXHhERlxcdTAxMDVcXHUwMTJGXFx1MDEwMVxcdTAxMDdcXHhFNFxceEU1XFx1MDExOVxcdTAxMTNcXHUwMTBEXFx4RTlcXHUwMTdBXFx1MDExN1xcdTAxMjNcXHUwMTM3XFx1MDEyQlxcdTAxM0NcXHUwMTYxXFx1MDE0NFxcdTAxNDZcXHhGM1xcdTAxNERcXHhGNVxceEY2XFx4RjdcXHUwMTczXFx1MDE0MlxcdTAxNUJcXHUwMTZCXFx4RkNcXHUwMTdDXFx1MDE3RVxcdTIwMTlcIlxuICAgICAgfSxcbiAgICAgIFwiY3AyODYwM1wiOiBcImlzbzg4NTkxM1wiLFxuICAgICAgXCJpc284ODU5MTRcIjoge1xuICAgICAgICBcInR5cGVcIjogXCJfc2Jjc1wiLFxuICAgICAgICBcImNoYXJzXCI6IFwiXFx4ODBcXHg4MVxceDgyXFx4ODNcXHg4NFxceDg1XFx4ODZcXHg4N1xceDg4XFx4ODlcXHg4QVxceDhCXFx4OENcXHg4RFxceDhFXFx4OEZcXHg5MFxceDkxXFx4OTJcXHg5M1xceDk0XFx4OTVcXHg5NlxceDk3XFx4OThcXHg5OVxceDlBXFx4OUJcXHg5Q1xceDlEXFx4OUVcXHg5RlxceEEwXFx1MUUwMlxcdTFFMDNcXHhBM1xcdTAxMEFcXHUwMTBCXFx1MUUwQVxceEE3XFx1MUU4MFxceEE5XFx1MUU4MlxcdTFFMEJcXHUxRUYyXFx4QURcXHhBRVxcdTAxNzhcXHUxRTFFXFx1MUUxRlxcdTAxMjBcXHUwMTIxXFx1MUU0MFxcdTFFNDFcXHhCNlxcdTFFNTZcXHUxRTgxXFx1MUU1N1xcdTFFODNcXHUxRTYwXFx1MUVGM1xcdTFFODRcXHUxRTg1XFx1MUU2MVxceEMwXFx4QzFcXHhDMlxceEMzXFx4QzRcXHhDNVxceEM2XFx4QzdcXHhDOFxceEM5XFx4Q0FcXHhDQlxceENDXFx4Q0RcXHhDRVxceENGXFx1MDE3NFxceEQxXFx4RDJcXHhEM1xceEQ0XFx4RDVcXHhENlxcdTFFNkFcXHhEOFxceEQ5XFx4REFcXHhEQlxceERDXFx4RERcXHUwMTc2XFx4REZcXHhFMFxceEUxXFx4RTJcXHhFM1xceEU0XFx4RTVcXHhFNlxceEU3XFx4RThcXHhFOVxceEVBXFx4RUJcXHhFQ1xceEVEXFx4RUVcXHhFRlxcdTAxNzVcXHhGMVxceEYyXFx4RjNcXHhGNFxceEY1XFx4RjZcXHUxRTZCXFx4RjhcXHhGOVxceEZBXFx4RkJcXHhGQ1xceEZEXFx1MDE3N1xceEZGXCJcbiAgICAgIH0sXG4gICAgICBcImNwMjg2MDRcIjogXCJpc284ODU5MTRcIixcbiAgICAgIFwiaXNvODg1OTE1XCI6IHtcbiAgICAgICAgXCJ0eXBlXCI6IFwiX3NiY3NcIixcbiAgICAgICAgXCJjaGFyc1wiOiBcIlxceDgwXFx4ODFcXHg4MlxceDgzXFx4ODRcXHg4NVxceDg2XFx4ODdcXHg4OFxceDg5XFx4OEFcXHg4QlxceDhDXFx4OERcXHg4RVxceDhGXFx4OTBcXHg5MVxceDkyXFx4OTNcXHg5NFxceDk1XFx4OTZcXHg5N1xceDk4XFx4OTlcXHg5QVxceDlCXFx4OUNcXHg5RFxceDlFXFx4OUZcXHhBMFxceEExXFx4QTJcXHhBM1xcdTIwQUNcXHhBNVxcdTAxNjBcXHhBN1xcdTAxNjFcXHhBOVxceEFBXFx4QUJcXHhBQ1xceEFEXFx4QUVcXHhBRlxceEIwXFx4QjFcXHhCMlxceEIzXFx1MDE3RFxceEI1XFx4QjZcXHhCN1xcdTAxN0VcXHhCOVxceEJBXFx4QkJcXHUwMTUyXFx1MDE1M1xcdTAxNzhcXHhCRlxceEMwXFx4QzFcXHhDMlxceEMzXFx4QzRcXHhDNVxceEM2XFx4QzdcXHhDOFxceEM5XFx4Q0FcXHhDQlxceENDXFx4Q0RcXHhDRVxceENGXFx4RDBcXHhEMVxceEQyXFx4RDNcXHhENFxceEQ1XFx4RDZcXHhEN1xceEQ4XFx4RDlcXHhEQVxceERCXFx4RENcXHhERFxceERFXFx4REZcXHhFMFxceEUxXFx4RTJcXHhFM1xceEU0XFx4RTVcXHhFNlxceEU3XFx4RThcXHhFOVxceEVBXFx4RUJcXHhFQ1xceEVEXFx4RUVcXHhFRlxceEYwXFx4RjFcXHhGMlxceEYzXFx4RjRcXHhGNVxceEY2XFx4RjdcXHhGOFxceEY5XFx4RkFcXHhGQlxceEZDXFx4RkRcXHhGRVxceEZGXCJcbiAgICAgIH0sXG4gICAgICBcImNwMjg2MDVcIjogXCJpc284ODU5MTVcIixcbiAgICAgIFwiaXNvODg1OTE2XCI6IHtcbiAgICAgICAgXCJ0eXBlXCI6IFwiX3NiY3NcIixcbiAgICAgICAgXCJjaGFyc1wiOiBcIlxceDgwXFx4ODFcXHg4MlxceDgzXFx4ODRcXHg4NVxceDg2XFx4ODdcXHg4OFxceDg5XFx4OEFcXHg4QlxceDhDXFx4OERcXHg4RVxceDhGXFx4OTBcXHg5MVxceDkyXFx4OTNcXHg5NFxceDk1XFx4OTZcXHg5N1xceDk4XFx4OTlcXHg5QVxceDlCXFx4OUNcXHg5RFxceDlFXFx4OUZcXHhBMFxcdTAxMDRcXHUwMTA1XFx1MDE0MVxcdTIwQUNcXHUyMDFFXFx1MDE2MFxceEE3XFx1MDE2MVxceEE5XFx1MDIxOFxceEFCXFx1MDE3OVxceEFEXFx1MDE3QVxcdTAxN0JcXHhCMFxceEIxXFx1MDEwQ1xcdTAxNDJcXHUwMTdEXFx1MjAxRFxceEI2XFx4QjdcXHUwMTdFXFx1MDEwRFxcdTAyMTlcXHhCQlxcdTAxNTJcXHUwMTUzXFx1MDE3OFxcdTAxN0NcXHhDMFxceEMxXFx4QzJcXHUwMTAyXFx4QzRcXHUwMTA2XFx4QzZcXHhDN1xceEM4XFx4QzlcXHhDQVxceENCXFx4Q0NcXHhDRFxceENFXFx4Q0ZcXHUwMTEwXFx1MDE0M1xceEQyXFx4RDNcXHhENFxcdTAxNTBcXHhENlxcdTAxNUFcXHUwMTcwXFx4RDlcXHhEQVxceERCXFx4RENcXHUwMTE4XFx1MDIxQVxceERGXFx4RTBcXHhFMVxceEUyXFx1MDEwM1xceEU0XFx1MDEwN1xceEU2XFx4RTdcXHhFOFxceEU5XFx4RUFcXHhFQlxceEVDXFx4RURcXHhFRVxceEVGXFx1MDExMVxcdTAxNDRcXHhGMlxceEYzXFx4RjRcXHUwMTUxXFx4RjZcXHUwMTVCXFx1MDE3MVxceEY5XFx4RkFcXHhGQlxceEZDXFx1MDExOVxcdTAyMUJcXHhGRlwiXG4gICAgICB9LFxuICAgICAgXCJjcDI4NjA2XCI6IFwiaXNvODg1OTE2XCIsXG4gICAgICBcImNwNDM3XCI6IHtcbiAgICAgICAgXCJ0eXBlXCI6IFwiX3NiY3NcIixcbiAgICAgICAgXCJjaGFyc1wiOiBcIlxceEM3XFx4RkNcXHhFOVxceEUyXFx4RTRcXHhFMFxceEU1XFx4RTdcXHhFQVxceEVCXFx4RThcXHhFRlxceEVFXFx4RUNcXHhDNFxceEM1XFx4QzlcXHhFNlxceEM2XFx4RjRcXHhGNlxceEYyXFx4RkJcXHhGOVxceEZGXFx4RDZcXHhEQ1xceEEyXFx4QTNcXHhBNVxcdTIwQTdcXHUwMTkyXFx4RTFcXHhFRFxceEYzXFx4RkFcXHhGMVxceEQxXFx4QUFcXHhCQVxceEJGXFx1MjMxMFxceEFDXFx4QkRcXHhCQ1xceEExXFx4QUJcXHhCQlxcdTI1OTFcXHUyNTkyXFx1MjU5M1xcdTI1MDJcXHUyNTI0XFx1MjU2MVxcdTI1NjJcXHUyNTU2XFx1MjU1NVxcdTI1NjNcXHUyNTUxXFx1MjU1N1xcdTI1NURcXHUyNTVDXFx1MjU1QlxcdTI1MTBcXHUyNTE0XFx1MjUzNFxcdTI1MkNcXHUyNTFDXFx1MjUwMFxcdTI1M0NcXHUyNTVFXFx1MjU1RlxcdTI1NUFcXHUyNTU0XFx1MjU2OVxcdTI1NjZcXHUyNTYwXFx1MjU1MFxcdTI1NkNcXHUyNTY3XFx1MjU2OFxcdTI1NjRcXHUyNTY1XFx1MjU1OVxcdTI1NThcXHUyNTUyXFx1MjU1M1xcdTI1NkJcXHUyNTZBXFx1MjUxOFxcdTI1MENcXHUyNTg4XFx1MjU4NFxcdTI1OENcXHUyNTkwXFx1MjU4MFxcdTAzQjFcXHhERlxcdTAzOTNcXHUwM0MwXFx1MDNBM1xcdTAzQzNcXHhCNVxcdTAzQzRcXHUwM0E2XFx1MDM5OFxcdTAzQTlcXHUwM0I0XFx1MjIxRVxcdTAzQzZcXHUwM0I1XFx1MjIyOVxcdTIyNjFcXHhCMVxcdTIyNjVcXHUyMjY0XFx1MjMyMFxcdTIzMjFcXHhGN1xcdTIyNDhcXHhCMFxcdTIyMTlcXHhCN1xcdTIyMUFcXHUyMDdGXFx4QjJcXHUyNUEwXFx4QTBcIlxuICAgICAgfSxcbiAgICAgIFwiaWJtNDM3XCI6IFwiY3A0MzdcIixcbiAgICAgIFwiY3NpYm00MzdcIjogXCJjcDQzN1wiLFxuICAgICAgXCJjcDczN1wiOiB7XG4gICAgICAgIFwidHlwZVwiOiBcIl9zYmNzXCIsXG4gICAgICAgIFwiY2hhcnNcIjogXCJcXHUwMzkxXFx1MDM5MlxcdTAzOTNcXHUwMzk0XFx1MDM5NVxcdTAzOTZcXHUwMzk3XFx1MDM5OFxcdTAzOTlcXHUwMzlBXFx1MDM5QlxcdTAzOUNcXHUwMzlEXFx1MDM5RVxcdTAzOUZcXHUwM0EwXFx1MDNBMVxcdTAzQTNcXHUwM0E0XFx1MDNBNVxcdTAzQTZcXHUwM0E3XFx1MDNBOFxcdTAzQTlcXHUwM0IxXFx1MDNCMlxcdTAzQjNcXHUwM0I0XFx1MDNCNVxcdTAzQjZcXHUwM0I3XFx1MDNCOFxcdTAzQjlcXHUwM0JBXFx1MDNCQlxcdTAzQkNcXHUwM0JEXFx1MDNCRVxcdTAzQkZcXHUwM0MwXFx1MDNDMVxcdTAzQzNcXHUwM0MyXFx1MDNDNFxcdTAzQzVcXHUwM0M2XFx1MDNDN1xcdTAzQzhcXHUyNTkxXFx1MjU5MlxcdTI1OTNcXHUyNTAyXFx1MjUyNFxcdTI1NjFcXHUyNTYyXFx1MjU1NlxcdTI1NTVcXHUyNTYzXFx1MjU1MVxcdTI1NTdcXHUyNTVEXFx1MjU1Q1xcdTI1NUJcXHUyNTEwXFx1MjUxNFxcdTI1MzRcXHUyNTJDXFx1MjUxQ1xcdTI1MDBcXHUyNTNDXFx1MjU1RVxcdTI1NUZcXHUyNTVBXFx1MjU1NFxcdTI1NjlcXHUyNTY2XFx1MjU2MFxcdTI1NTBcXHUyNTZDXFx1MjU2N1xcdTI1NjhcXHUyNTY0XFx1MjU2NVxcdTI1NTlcXHUyNTU4XFx1MjU1MlxcdTI1NTNcXHUyNTZCXFx1MjU2QVxcdTI1MThcXHUyNTBDXFx1MjU4OFxcdTI1ODRcXHUyNThDXFx1MjU5MFxcdTI1ODBcXHUwM0M5XFx1MDNBQ1xcdTAzQURcXHUwM0FFXFx1MDNDQVxcdTAzQUZcXHUwM0NDXFx1MDNDRFxcdTAzQ0JcXHUwM0NFXFx1MDM4NlxcdTAzODhcXHUwMzg5XFx1MDM4QVxcdTAzOENcXHUwMzhFXFx1MDM4RlxceEIxXFx1MjI2NVxcdTIyNjRcXHUwM0FBXFx1MDNBQlxceEY3XFx1MjI0OFxceEIwXFx1MjIxOVxceEI3XFx1MjIxQVxcdTIwN0ZcXHhCMlxcdTI1QTBcXHhBMFwiXG4gICAgICB9LFxuICAgICAgXCJpYm03MzdcIjogXCJjcDczN1wiLFxuICAgICAgXCJjc2libTczN1wiOiBcImNwNzM3XCIsXG4gICAgICBcImNwNzc1XCI6IHtcbiAgICAgICAgXCJ0eXBlXCI6IFwiX3NiY3NcIixcbiAgICAgICAgXCJjaGFyc1wiOiBcIlxcdTAxMDZcXHhGQ1xceEU5XFx1MDEwMVxceEU0XFx1MDEyM1xceEU1XFx1MDEwN1xcdTAxNDJcXHUwMTEzXFx1MDE1NlxcdTAxNTdcXHUwMTJCXFx1MDE3OVxceEM0XFx4QzVcXHhDOVxceEU2XFx4QzZcXHUwMTREXFx4RjZcXHUwMTIyXFx4QTJcXHUwMTVBXFx1MDE1QlxceEQ2XFx4RENcXHhGOFxceEEzXFx4RDhcXHhEN1xceEE0XFx1MDEwMFxcdTAxMkFcXHhGM1xcdTAxN0JcXHUwMTdDXFx1MDE3QVxcdTIwMURcXHhBNlxceEE5XFx4QUVcXHhBQ1xceEJEXFx4QkNcXHUwMTQxXFx4QUJcXHhCQlxcdTI1OTFcXHUyNTkyXFx1MjU5M1xcdTI1MDJcXHUyNTI0XFx1MDEwNFxcdTAxMENcXHUwMTE4XFx1MDExNlxcdTI1NjNcXHUyNTUxXFx1MjU1N1xcdTI1NURcXHUwMTJFXFx1MDE2MFxcdTI1MTBcXHUyNTE0XFx1MjUzNFxcdTI1MkNcXHUyNTFDXFx1MjUwMFxcdTI1M0NcXHUwMTcyXFx1MDE2QVxcdTI1NUFcXHUyNTU0XFx1MjU2OVxcdTI1NjZcXHUyNTYwXFx1MjU1MFxcdTI1NkNcXHUwMTdEXFx1MDEwNVxcdTAxMERcXHUwMTE5XFx1MDExN1xcdTAxMkZcXHUwMTYxXFx1MDE3M1xcdTAxNkJcXHUwMTdFXFx1MjUxOFxcdTI1MENcXHUyNTg4XFx1MjU4NFxcdTI1OENcXHUyNTkwXFx1MjU4MFxceEQzXFx4REZcXHUwMTRDXFx1MDE0M1xceEY1XFx4RDVcXHhCNVxcdTAxNDRcXHUwMTM2XFx1MDEzN1xcdTAxM0JcXHUwMTNDXFx1MDE0NlxcdTAxMTJcXHUwMTQ1XFx1MjAxOVxceEFEXFx4QjFcXHUyMDFDXFx4QkVcXHhCNlxceEE3XFx4RjdcXHUyMDFFXFx4QjBcXHUyMjE5XFx4QjdcXHhCOVxceEIzXFx4QjJcXHUyNUEwXFx4QTBcIlxuICAgICAgfSxcbiAgICAgIFwiaWJtNzc1XCI6IFwiY3A3NzVcIixcbiAgICAgIFwiY3NpYm03NzVcIjogXCJjcDc3NVwiLFxuICAgICAgXCJjcDg1MFwiOiB7XG4gICAgICAgIFwidHlwZVwiOiBcIl9zYmNzXCIsXG4gICAgICAgIFwiY2hhcnNcIjogXCJcXHhDN1xceEZDXFx4RTlcXHhFMlxceEU0XFx4RTBcXHhFNVxceEU3XFx4RUFcXHhFQlxceEU4XFx4RUZcXHhFRVxceEVDXFx4QzRcXHhDNVxceEM5XFx4RTZcXHhDNlxceEY0XFx4RjZcXHhGMlxceEZCXFx4RjlcXHhGRlxceEQ2XFx4RENcXHhGOFxceEEzXFx4RDhcXHhEN1xcdTAxOTJcXHhFMVxceEVEXFx4RjNcXHhGQVxceEYxXFx4RDFcXHhBQVxceEJBXFx4QkZcXHhBRVxceEFDXFx4QkRcXHhCQ1xceEExXFx4QUJcXHhCQlxcdTI1OTFcXHUyNTkyXFx1MjU5M1xcdTI1MDJcXHUyNTI0XFx4QzFcXHhDMlxceEMwXFx4QTlcXHUyNTYzXFx1MjU1MVxcdTI1NTdcXHUyNTVEXFx4QTJcXHhBNVxcdTI1MTBcXHUyNTE0XFx1MjUzNFxcdTI1MkNcXHUyNTFDXFx1MjUwMFxcdTI1M0NcXHhFM1xceEMzXFx1MjU1QVxcdTI1NTRcXHUyNTY5XFx1MjU2NlxcdTI1NjBcXHUyNTUwXFx1MjU2Q1xceEE0XFx4RjBcXHhEMFxceENBXFx4Q0JcXHhDOFxcdTAxMzFcXHhDRFxceENFXFx4Q0ZcXHUyNTE4XFx1MjUwQ1xcdTI1ODhcXHUyNTg0XFx4QTZcXHhDQ1xcdTI1ODBcXHhEM1xceERGXFx4RDRcXHhEMlxceEY1XFx4RDVcXHhCNVxceEZFXFx4REVcXHhEQVxceERCXFx4RDlcXHhGRFxceEREXFx4QUZcXHhCNFxceEFEXFx4QjFcXHUyMDE3XFx4QkVcXHhCNlxceEE3XFx4RjdcXHhCOFxceEIwXFx4QThcXHhCN1xceEI5XFx4QjNcXHhCMlxcdTI1QTBcXHhBMFwiXG4gICAgICB9LFxuICAgICAgXCJpYm04NTBcIjogXCJjcDg1MFwiLFxuICAgICAgXCJjc2libTg1MFwiOiBcImNwODUwXCIsXG4gICAgICBcImNwODUyXCI6IHtcbiAgICAgICAgXCJ0eXBlXCI6IFwiX3NiY3NcIixcbiAgICAgICAgXCJjaGFyc1wiOiBcIlxceEM3XFx4RkNcXHhFOVxceEUyXFx4RTRcXHUwMTZGXFx1MDEwN1xceEU3XFx1MDE0MlxceEVCXFx1MDE1MFxcdTAxNTFcXHhFRVxcdTAxNzlcXHhDNFxcdTAxMDZcXHhDOVxcdTAxMzlcXHUwMTNBXFx4RjRcXHhGNlxcdTAxM0RcXHUwMTNFXFx1MDE1QVxcdTAxNUJcXHhENlxceERDXFx1MDE2NFxcdTAxNjVcXHUwMTQxXFx4RDdcXHUwMTBEXFx4RTFcXHhFRFxceEYzXFx4RkFcXHUwMTA0XFx1MDEwNVxcdTAxN0RcXHUwMTdFXFx1MDExOFxcdTAxMTlcXHhBQ1xcdTAxN0FcXHUwMTBDXFx1MDE1RlxceEFCXFx4QkJcXHUyNTkxXFx1MjU5MlxcdTI1OTNcXHUyNTAyXFx1MjUyNFxceEMxXFx4QzJcXHUwMTFBXFx1MDE1RVxcdTI1NjNcXHUyNTUxXFx1MjU1N1xcdTI1NURcXHUwMTdCXFx1MDE3Q1xcdTI1MTBcXHUyNTE0XFx1MjUzNFxcdTI1MkNcXHUyNTFDXFx1MjUwMFxcdTI1M0NcXHUwMTAyXFx1MDEwM1xcdTI1NUFcXHUyNTU0XFx1MjU2OVxcdTI1NjZcXHUyNTYwXFx1MjU1MFxcdTI1NkNcXHhBNFxcdTAxMTFcXHUwMTEwXFx1MDEwRVxceENCXFx1MDEwRlxcdTAxNDdcXHhDRFxceENFXFx1MDExQlxcdTI1MThcXHUyNTBDXFx1MjU4OFxcdTI1ODRcXHUwMTYyXFx1MDE2RVxcdTI1ODBcXHhEM1xceERGXFx4RDRcXHUwMTQzXFx1MDE0NFxcdTAxNDhcXHUwMTYwXFx1MDE2MVxcdTAxNTRcXHhEQVxcdTAxNTVcXHUwMTcwXFx4RkRcXHhERFxcdTAxNjNcXHhCNFxceEFEXFx1MDJERFxcdTAyREJcXHUwMkM3XFx1MDJEOFxceEE3XFx4RjdcXHhCOFxceEIwXFx4QThcXHUwMkQ5XFx1MDE3MVxcdTAxNThcXHUwMTU5XFx1MjVBMFxceEEwXCJcbiAgICAgIH0sXG4gICAgICBcImlibTg1MlwiOiBcImNwODUyXCIsXG4gICAgICBcImNzaWJtODUyXCI6IFwiY3A4NTJcIixcbiAgICAgIFwiY3A4NTVcIjoge1xuICAgICAgICBcInR5cGVcIjogXCJfc2Jjc1wiLFxuICAgICAgICBcImNoYXJzXCI6IFwiXFx1MDQ1MlxcdTA0MDJcXHUwNDUzXFx1MDQwM1xcdTA0NTFcXHUwNDAxXFx1MDQ1NFxcdTA0MDRcXHUwNDU1XFx1MDQwNVxcdTA0NTZcXHUwNDA2XFx1MDQ1N1xcdTA0MDdcXHUwNDU4XFx1MDQwOFxcdTA0NTlcXHUwNDA5XFx1MDQ1QVxcdTA0MEFcXHUwNDVCXFx1MDQwQlxcdTA0NUNcXHUwNDBDXFx1MDQ1RVxcdTA0MEVcXHUwNDVGXFx1MDQwRlxcdTA0NEVcXHUwNDJFXFx1MDQ0QVxcdTA0MkFcXHUwNDMwXFx1MDQxMFxcdTA0MzFcXHUwNDExXFx1MDQ0NlxcdTA0MjZcXHUwNDM0XFx1MDQxNFxcdTA0MzVcXHUwNDE1XFx1MDQ0NFxcdTA0MjRcXHUwNDMzXFx1MDQxM1xceEFCXFx4QkJcXHUyNTkxXFx1MjU5MlxcdTI1OTNcXHUyNTAyXFx1MjUyNFxcdTA0NDVcXHUwNDI1XFx1MDQzOFxcdTA0MThcXHUyNTYzXFx1MjU1MVxcdTI1NTdcXHUyNTVEXFx1MDQzOVxcdTA0MTlcXHUyNTEwXFx1MjUxNFxcdTI1MzRcXHUyNTJDXFx1MjUxQ1xcdTI1MDBcXHUyNTNDXFx1MDQzQVxcdTA0MUFcXHUyNTVBXFx1MjU1NFxcdTI1NjlcXHUyNTY2XFx1MjU2MFxcdTI1NTBcXHUyNTZDXFx4QTRcXHUwNDNCXFx1MDQxQlxcdTA0M0NcXHUwNDFDXFx1MDQzRFxcdTA0MURcXHUwNDNFXFx1MDQxRVxcdTA0M0ZcXHUyNTE4XFx1MjUwQ1xcdTI1ODhcXHUyNTg0XFx1MDQxRlxcdTA0NEZcXHUyNTgwXFx1MDQyRlxcdTA0NDBcXHUwNDIwXFx1MDQ0MVxcdTA0MjFcXHUwNDQyXFx1MDQyMlxcdTA0NDNcXHUwNDIzXFx1MDQzNlxcdTA0MTZcXHUwNDMyXFx1MDQxMlxcdTA0NENcXHUwNDJDXFx1MjExNlxceEFEXFx1MDQ0QlxcdTA0MkJcXHUwNDM3XFx1MDQxN1xcdTA0NDhcXHUwNDI4XFx1MDQ0RFxcdTA0MkRcXHUwNDQ5XFx1MDQyOVxcdTA0NDdcXHUwNDI3XFx4QTdcXHUyNUEwXFx4QTBcIlxuICAgICAgfSxcbiAgICAgIFwiaWJtODU1XCI6IFwiY3A4NTVcIixcbiAgICAgIFwiY3NpYm04NTVcIjogXCJjcDg1NVwiLFxuICAgICAgXCJjcDg1NlwiOiB7XG4gICAgICAgIFwidHlwZVwiOiBcIl9zYmNzXCIsXG4gICAgICAgIFwiY2hhcnNcIjogXCJcXHUwNUQwXFx1MDVEMVxcdTA1RDJcXHUwNUQzXFx1MDVENFxcdTA1RDVcXHUwNUQ2XFx1MDVEN1xcdTA1RDhcXHUwNUQ5XFx1MDVEQVxcdTA1REJcXHUwNURDXFx1MDVERFxcdTA1REVcXHUwNURGXFx1MDVFMFxcdTA1RTFcXHUwNUUyXFx1MDVFM1xcdTA1RTRcXHUwNUU1XFx1MDVFNlxcdTA1RTdcXHUwNUU4XFx1MDVFOVxcdTA1RUFcXHVGRkZEXFx4QTNcXHVGRkZEXFx4RDdcXHVGRkZEXFx1RkZGRFxcdUZGRkRcXHVGRkZEXFx1RkZGRFxcdUZGRkRcXHVGRkZEXFx1RkZGRFxcdUZGRkRcXHVGRkZEXFx4QUVcXHhBQ1xceEJEXFx4QkNcXHVGRkZEXFx4QUJcXHhCQlxcdTI1OTFcXHUyNTkyXFx1MjU5M1xcdTI1MDJcXHUyNTI0XFx1RkZGRFxcdUZGRkRcXHVGRkZEXFx4QTlcXHUyNTYzXFx1MjU1MVxcdTI1NTdcXHUyNTVEXFx4QTJcXHhBNVxcdTI1MTBcXHUyNTE0XFx1MjUzNFxcdTI1MkNcXHUyNTFDXFx1MjUwMFxcdTI1M0NcXHVGRkZEXFx1RkZGRFxcdTI1NUFcXHUyNTU0XFx1MjU2OVxcdTI1NjZcXHUyNTYwXFx1MjU1MFxcdTI1NkNcXHhBNFxcdUZGRkRcXHVGRkZEXFx1RkZGRFxcdUZGRkRcXHVGRkZEXFx1RkZGRFxcdUZGRkRcXHVGRkZEXFx1RkZGRFxcdTI1MThcXHUyNTBDXFx1MjU4OFxcdTI1ODRcXHhBNlxcdUZGRkRcXHUyNTgwXFx1RkZGRFxcdUZGRkRcXHVGRkZEXFx1RkZGRFxcdUZGRkRcXHVGRkZEXFx4QjVcXHVGRkZEXFx1RkZGRFxcdUZGRkRcXHVGRkZEXFx1RkZGRFxcdUZGRkRcXHVGRkZEXFx4QUZcXHhCNFxceEFEXFx4QjFcXHUyMDE3XFx4QkVcXHhCNlxceEE3XFx4RjdcXHhCOFxceEIwXFx4QThcXHhCN1xceEI5XFx4QjNcXHhCMlxcdTI1QTBcXHhBMFwiXG4gICAgICB9LFxuICAgICAgXCJpYm04NTZcIjogXCJjcDg1NlwiLFxuICAgICAgXCJjc2libTg1NlwiOiBcImNwODU2XCIsXG4gICAgICBcImNwODU3XCI6IHtcbiAgICAgICAgXCJ0eXBlXCI6IFwiX3NiY3NcIixcbiAgICAgICAgXCJjaGFyc1wiOiBcIlxceEM3XFx4RkNcXHhFOVxceEUyXFx4RTRcXHhFMFxceEU1XFx4RTdcXHhFQVxceEVCXFx4RThcXHhFRlxceEVFXFx1MDEzMVxceEM0XFx4QzVcXHhDOVxceEU2XFx4QzZcXHhGNFxceEY2XFx4RjJcXHhGQlxceEY5XFx1MDEzMFxceEQ2XFx4RENcXHhGOFxceEEzXFx4RDhcXHUwMTVFXFx1MDE1RlxceEUxXFx4RURcXHhGM1xceEZBXFx4RjFcXHhEMVxcdTAxMUVcXHUwMTFGXFx4QkZcXHhBRVxceEFDXFx4QkRcXHhCQ1xceEExXFx4QUJcXHhCQlxcdTI1OTFcXHUyNTkyXFx1MjU5M1xcdTI1MDJcXHUyNTI0XFx4QzFcXHhDMlxceEMwXFx4QTlcXHUyNTYzXFx1MjU1MVxcdTI1NTdcXHUyNTVEXFx4QTJcXHhBNVxcdTI1MTBcXHUyNTE0XFx1MjUzNFxcdTI1MkNcXHUyNTFDXFx1MjUwMFxcdTI1M0NcXHhFM1xceEMzXFx1MjU1QVxcdTI1NTRcXHUyNTY5XFx1MjU2NlxcdTI1NjBcXHUyNTUwXFx1MjU2Q1xceEE0XFx4QkFcXHhBQVxceENBXFx4Q0JcXHhDOFxcdUZGRkRcXHhDRFxceENFXFx4Q0ZcXHUyNTE4XFx1MjUwQ1xcdTI1ODhcXHUyNTg0XFx4QTZcXHhDQ1xcdTI1ODBcXHhEM1xceERGXFx4RDRcXHhEMlxceEY1XFx4RDVcXHhCNVxcdUZGRkRcXHhEN1xceERBXFx4REJcXHhEOVxceEVDXFx4RkZcXHhBRlxceEI0XFx4QURcXHhCMVxcdUZGRkRcXHhCRVxceEI2XFx4QTdcXHhGN1xceEI4XFx4QjBcXHhBOFxceEI3XFx4QjlcXHhCM1xceEIyXFx1MjVBMFxceEEwXCJcbiAgICAgIH0sXG4gICAgICBcImlibTg1N1wiOiBcImNwODU3XCIsXG4gICAgICBcImNzaWJtODU3XCI6IFwiY3A4NTdcIixcbiAgICAgIFwiY3A4NThcIjoge1xuICAgICAgICBcInR5cGVcIjogXCJfc2Jjc1wiLFxuICAgICAgICBcImNoYXJzXCI6IFwiXFx4QzdcXHhGQ1xceEU5XFx4RTJcXHhFNFxceEUwXFx4RTVcXHhFN1xceEVBXFx4RUJcXHhFOFxceEVGXFx4RUVcXHhFQ1xceEM0XFx4QzVcXHhDOVxceEU2XFx4QzZcXHhGNFxceEY2XFx4RjJcXHhGQlxceEY5XFx4RkZcXHhENlxceERDXFx4RjhcXHhBM1xceEQ4XFx4RDdcXHUwMTkyXFx4RTFcXHhFRFxceEYzXFx4RkFcXHhGMVxceEQxXFx4QUFcXHhCQVxceEJGXFx4QUVcXHhBQ1xceEJEXFx4QkNcXHhBMVxceEFCXFx4QkJcXHUyNTkxXFx1MjU5MlxcdTI1OTNcXHUyNTAyXFx1MjUyNFxceEMxXFx4QzJcXHhDMFxceEE5XFx1MjU2M1xcdTI1NTFcXHUyNTU3XFx1MjU1RFxceEEyXFx4QTVcXHUyNTEwXFx1MjUxNFxcdTI1MzRcXHUyNTJDXFx1MjUxQ1xcdTI1MDBcXHUyNTNDXFx4RTNcXHhDM1xcdTI1NUFcXHUyNTU0XFx1MjU2OVxcdTI1NjZcXHUyNTYwXFx1MjU1MFxcdTI1NkNcXHhBNFxceEYwXFx4RDBcXHhDQVxceENCXFx4QzhcXHUyMEFDXFx4Q0RcXHhDRVxceENGXFx1MjUxOFxcdTI1MENcXHUyNTg4XFx1MjU4NFxceEE2XFx4Q0NcXHUyNTgwXFx4RDNcXHhERlxceEQ0XFx4RDJcXHhGNVxceEQ1XFx4QjVcXHhGRVxceERFXFx4REFcXHhEQlxceEQ5XFx4RkRcXHhERFxceEFGXFx4QjRcXHhBRFxceEIxXFx1MjAxN1xceEJFXFx4QjZcXHhBN1xceEY3XFx4QjhcXHhCMFxceEE4XFx4QjdcXHhCOVxceEIzXFx4QjJcXHUyNUEwXFx4QTBcIlxuICAgICAgfSxcbiAgICAgIFwiaWJtODU4XCI6IFwiY3A4NThcIixcbiAgICAgIFwiY3NpYm04NThcIjogXCJjcDg1OFwiLFxuICAgICAgXCJjcDg2MFwiOiB7XG4gICAgICAgIFwidHlwZVwiOiBcIl9zYmNzXCIsXG4gICAgICAgIFwiY2hhcnNcIjogXCJcXHhDN1xceEZDXFx4RTlcXHhFMlxceEUzXFx4RTBcXHhDMVxceEU3XFx4RUFcXHhDQVxceEU4XFx4Q0RcXHhENFxceEVDXFx4QzNcXHhDMlxceEM5XFx4QzBcXHhDOFxceEY0XFx4RjVcXHhGMlxceERBXFx4RjlcXHhDQ1xceEQ1XFx4RENcXHhBMlxceEEzXFx4RDlcXHUyMEE3XFx4RDNcXHhFMVxceEVEXFx4RjNcXHhGQVxceEYxXFx4RDFcXHhBQVxceEJBXFx4QkZcXHhEMlxceEFDXFx4QkRcXHhCQ1xceEExXFx4QUJcXHhCQlxcdTI1OTFcXHUyNTkyXFx1MjU5M1xcdTI1MDJcXHUyNTI0XFx1MjU2MVxcdTI1NjJcXHUyNTU2XFx1MjU1NVxcdTI1NjNcXHUyNTUxXFx1MjU1N1xcdTI1NURcXHUyNTVDXFx1MjU1QlxcdTI1MTBcXHUyNTE0XFx1MjUzNFxcdTI1MkNcXHUyNTFDXFx1MjUwMFxcdTI1M0NcXHUyNTVFXFx1MjU1RlxcdTI1NUFcXHUyNTU0XFx1MjU2OVxcdTI1NjZcXHUyNTYwXFx1MjU1MFxcdTI1NkNcXHUyNTY3XFx1MjU2OFxcdTI1NjRcXHUyNTY1XFx1MjU1OVxcdTI1NThcXHUyNTUyXFx1MjU1M1xcdTI1NkJcXHUyNTZBXFx1MjUxOFxcdTI1MENcXHUyNTg4XFx1MjU4NFxcdTI1OENcXHUyNTkwXFx1MjU4MFxcdTAzQjFcXHhERlxcdTAzOTNcXHUwM0MwXFx1MDNBM1xcdTAzQzNcXHhCNVxcdTAzQzRcXHUwM0E2XFx1MDM5OFxcdTAzQTlcXHUwM0I0XFx1MjIxRVxcdTAzQzZcXHUwM0I1XFx1MjIyOVxcdTIyNjFcXHhCMVxcdTIyNjVcXHUyMjY0XFx1MjMyMFxcdTIzMjFcXHhGN1xcdTIyNDhcXHhCMFxcdTIyMTlcXHhCN1xcdTIyMUFcXHUyMDdGXFx4QjJcXHUyNUEwXFx4QTBcIlxuICAgICAgfSxcbiAgICAgIFwiaWJtODYwXCI6IFwiY3A4NjBcIixcbiAgICAgIFwiY3NpYm04NjBcIjogXCJjcDg2MFwiLFxuICAgICAgXCJjcDg2MVwiOiB7XG4gICAgICAgIFwidHlwZVwiOiBcIl9zYmNzXCIsXG4gICAgICAgIFwiY2hhcnNcIjogXCJcXHhDN1xceEZDXFx4RTlcXHhFMlxceEU0XFx4RTBcXHhFNVxceEU3XFx4RUFcXHhFQlxceEU4XFx4RDBcXHhGMFxceERFXFx4QzRcXHhDNVxceEM5XFx4RTZcXHhDNlxceEY0XFx4RjZcXHhGRVxceEZCXFx4RERcXHhGRFxceEQ2XFx4RENcXHhGOFxceEEzXFx4RDhcXHUyMEE3XFx1MDE5MlxceEUxXFx4RURcXHhGM1xceEZBXFx4QzFcXHhDRFxceEQzXFx4REFcXHhCRlxcdTIzMTBcXHhBQ1xceEJEXFx4QkNcXHhBMVxceEFCXFx4QkJcXHUyNTkxXFx1MjU5MlxcdTI1OTNcXHUyNTAyXFx1MjUyNFxcdTI1NjFcXHUyNTYyXFx1MjU1NlxcdTI1NTVcXHUyNTYzXFx1MjU1MVxcdTI1NTdcXHUyNTVEXFx1MjU1Q1xcdTI1NUJcXHUyNTEwXFx1MjUxNFxcdTI1MzRcXHUyNTJDXFx1MjUxQ1xcdTI1MDBcXHUyNTNDXFx1MjU1RVxcdTI1NUZcXHUyNTVBXFx1MjU1NFxcdTI1NjlcXHUyNTY2XFx1MjU2MFxcdTI1NTBcXHUyNTZDXFx1MjU2N1xcdTI1NjhcXHUyNTY0XFx1MjU2NVxcdTI1NTlcXHUyNTU4XFx1MjU1MlxcdTI1NTNcXHUyNTZCXFx1MjU2QVxcdTI1MThcXHUyNTBDXFx1MjU4OFxcdTI1ODRcXHUyNThDXFx1MjU5MFxcdTI1ODBcXHUwM0IxXFx4REZcXHUwMzkzXFx1MDNDMFxcdTAzQTNcXHUwM0MzXFx4QjVcXHUwM0M0XFx1MDNBNlxcdTAzOThcXHUwM0E5XFx1MDNCNFxcdTIyMUVcXHUwM0M2XFx1MDNCNVxcdTIyMjlcXHUyMjYxXFx4QjFcXHUyMjY1XFx1MjI2NFxcdTIzMjBcXHUyMzIxXFx4RjdcXHUyMjQ4XFx4QjBcXHUyMjE5XFx4QjdcXHUyMjFBXFx1MjA3RlxceEIyXFx1MjVBMFxceEEwXCJcbiAgICAgIH0sXG4gICAgICBcImlibTg2MVwiOiBcImNwODYxXCIsXG4gICAgICBcImNzaWJtODYxXCI6IFwiY3A4NjFcIixcbiAgICAgIFwiY3A4NjJcIjoge1xuICAgICAgICBcInR5cGVcIjogXCJfc2Jjc1wiLFxuICAgICAgICBcImNoYXJzXCI6IFwiXFx1MDVEMFxcdTA1RDFcXHUwNUQyXFx1MDVEM1xcdTA1RDRcXHUwNUQ1XFx1MDVENlxcdTA1RDdcXHUwNUQ4XFx1MDVEOVxcdTA1REFcXHUwNURCXFx1MDVEQ1xcdTA1RERcXHUwNURFXFx1MDVERlxcdTA1RTBcXHUwNUUxXFx1MDVFMlxcdTA1RTNcXHUwNUU0XFx1MDVFNVxcdTA1RTZcXHUwNUU3XFx1MDVFOFxcdTA1RTlcXHUwNUVBXFx4QTJcXHhBM1xceEE1XFx1MjBBN1xcdTAxOTJcXHhFMVxceEVEXFx4RjNcXHhGQVxceEYxXFx4RDFcXHhBQVxceEJBXFx4QkZcXHUyMzEwXFx4QUNcXHhCRFxceEJDXFx4QTFcXHhBQlxceEJCXFx1MjU5MVxcdTI1OTJcXHUyNTkzXFx1MjUwMlxcdTI1MjRcXHUyNTYxXFx1MjU2MlxcdTI1NTZcXHUyNTU1XFx1MjU2M1xcdTI1NTFcXHUyNTU3XFx1MjU1RFxcdTI1NUNcXHUyNTVCXFx1MjUxMFxcdTI1MTRcXHUyNTM0XFx1MjUyQ1xcdTI1MUNcXHUyNTAwXFx1MjUzQ1xcdTI1NUVcXHUyNTVGXFx1MjU1QVxcdTI1NTRcXHUyNTY5XFx1MjU2NlxcdTI1NjBcXHUyNTUwXFx1MjU2Q1xcdTI1NjdcXHUyNTY4XFx1MjU2NFxcdTI1NjVcXHUyNTU5XFx1MjU1OFxcdTI1NTJcXHUyNTUzXFx1MjU2QlxcdTI1NkFcXHUyNTE4XFx1MjUwQ1xcdTI1ODhcXHUyNTg0XFx1MjU4Q1xcdTI1OTBcXHUyNTgwXFx1MDNCMVxceERGXFx1MDM5M1xcdTAzQzBcXHUwM0EzXFx1MDNDM1xceEI1XFx1MDNDNFxcdTAzQTZcXHUwMzk4XFx1MDNBOVxcdTAzQjRcXHUyMjFFXFx1MDNDNlxcdTAzQjVcXHUyMjI5XFx1MjI2MVxceEIxXFx1MjI2NVxcdTIyNjRcXHUyMzIwXFx1MjMyMVxceEY3XFx1MjI0OFxceEIwXFx1MjIxOVxceEI3XFx1MjIxQVxcdTIwN0ZcXHhCMlxcdTI1QTBcXHhBMFwiXG4gICAgICB9LFxuICAgICAgXCJpYm04NjJcIjogXCJjcDg2MlwiLFxuICAgICAgXCJjc2libTg2MlwiOiBcImNwODYyXCIsXG4gICAgICBcImNwODYzXCI6IHtcbiAgICAgICAgXCJ0eXBlXCI6IFwiX3NiY3NcIixcbiAgICAgICAgXCJjaGFyc1wiOiBcIlxceEM3XFx4RkNcXHhFOVxceEUyXFx4QzJcXHhFMFxceEI2XFx4RTdcXHhFQVxceEVCXFx4RThcXHhFRlxceEVFXFx1MjAxN1xceEMwXFx4QTdcXHhDOVxceEM4XFx4Q0FcXHhGNFxceENCXFx4Q0ZcXHhGQlxceEY5XFx4QTRcXHhENFxceERDXFx4QTJcXHhBM1xceEQ5XFx4REJcXHUwMTkyXFx4QTZcXHhCNFxceEYzXFx4RkFcXHhBOFxceEI4XFx4QjNcXHhBRlxceENFXFx1MjMxMFxceEFDXFx4QkRcXHhCQ1xceEJFXFx4QUJcXHhCQlxcdTI1OTFcXHUyNTkyXFx1MjU5M1xcdTI1MDJcXHUyNTI0XFx1MjU2MVxcdTI1NjJcXHUyNTU2XFx1MjU1NVxcdTI1NjNcXHUyNTUxXFx1MjU1N1xcdTI1NURcXHUyNTVDXFx1MjU1QlxcdTI1MTBcXHUyNTE0XFx1MjUzNFxcdTI1MkNcXHUyNTFDXFx1MjUwMFxcdTI1M0NcXHUyNTVFXFx1MjU1RlxcdTI1NUFcXHUyNTU0XFx1MjU2OVxcdTI1NjZcXHUyNTYwXFx1MjU1MFxcdTI1NkNcXHUyNTY3XFx1MjU2OFxcdTI1NjRcXHUyNTY1XFx1MjU1OVxcdTI1NThcXHUyNTUyXFx1MjU1M1xcdTI1NkJcXHUyNTZBXFx1MjUxOFxcdTI1MENcXHUyNTg4XFx1MjU4NFxcdTI1OENcXHUyNTkwXFx1MjU4MFxcdTAzQjFcXHhERlxcdTAzOTNcXHUwM0MwXFx1MDNBM1xcdTAzQzNcXHhCNVxcdTAzQzRcXHUwM0E2XFx1MDM5OFxcdTAzQTlcXHUwM0I0XFx1MjIxRVxcdTAzQzZcXHUwM0I1XFx1MjIyOVxcdTIyNjFcXHhCMVxcdTIyNjVcXHUyMjY0XFx1MjMyMFxcdTIzMjFcXHhGN1xcdTIyNDhcXHhCMFxcdTIyMTlcXHhCN1xcdTIyMUFcXHUyMDdGXFx4QjJcXHUyNUEwXFx4QTBcIlxuICAgICAgfSxcbiAgICAgIFwiaWJtODYzXCI6IFwiY3A4NjNcIixcbiAgICAgIFwiY3NpYm04NjNcIjogXCJjcDg2M1wiLFxuICAgICAgXCJjcDg2NFwiOiB7XG4gICAgICAgIFwidHlwZVwiOiBcIl9zYmNzXCIsXG4gICAgICAgIFwiY2hhcnNcIjogXCJcXDBcdTAwMDFcdTAwMDJcdTAwMDNcdTAwMDRcdTAwMDVcdTAwMDZcXHgwN1xcYlx0XFxuXFx2XFxmXFxyXHUwMDBFXHUwMDBGXHUwMDEwXHUwMDExXHUwMDEyXHUwMDEzXHUwMDE0XHUwMDE1XHUwMDE2XHUwMDE3XHUwMDE4XHUwMDE5XHUwMDFBXFx4MUJcdTAwMUNcdTAwMURcdTAwMUVcdTAwMUYgIVxcXCIjJFxcdTA2NkEmJygpKissLS4vMDEyMzQ1Njc4OTo7PD0+P0BBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWltcXFxcXV5fYGFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6e3x9flxceDdGXFx4QjBcXHhCN1xcdTIyMTlcXHUyMjFBXFx1MjU5MlxcdTI1MDBcXHUyNTAyXFx1MjUzQ1xcdTI1MjRcXHUyNTJDXFx1MjUxQ1xcdTI1MzRcXHUyNTEwXFx1MjUwQ1xcdTI1MTRcXHUyNTE4XFx1MDNCMlxcdTIyMUVcXHUwM0M2XFx4QjFcXHhCRFxceEJDXFx1MjI0OFxceEFCXFx4QkJcXHVGRUY3XFx1RkVGOFxcdUZGRkRcXHVGRkZEXFx1RkVGQlxcdUZFRkNcXHVGRkZEXFx4QTBcXHhBRFxcdUZFODJcXHhBM1xceEE0XFx1RkU4NFxcdUZGRkRcXHVGRkZEXFx1RkU4RVxcdUZFOEZcXHVGRTk1XFx1RkU5OVxcdTA2MENcXHVGRTlEXFx1RkVBMVxcdUZFQTVcXHUwNjYwXFx1MDY2MVxcdTA2NjJcXHUwNjYzXFx1MDY2NFxcdTA2NjVcXHUwNjY2XFx1MDY2N1xcdTA2NjhcXHUwNjY5XFx1RkVEMVxcdTA2MUJcXHVGRUIxXFx1RkVCNVxcdUZFQjlcXHUwNjFGXFx4QTJcXHVGRTgwXFx1RkU4MVxcdUZFODNcXHVGRTg1XFx1RkVDQVxcdUZFOEJcXHVGRThEXFx1RkU5MVxcdUZFOTNcXHVGRTk3XFx1RkU5QlxcdUZFOUZcXHVGRUEzXFx1RkVBN1xcdUZFQTlcXHVGRUFCXFx1RkVBRFxcdUZFQUZcXHVGRUIzXFx1RkVCN1xcdUZFQkJcXHVGRUJGXFx1RkVDMVxcdUZFQzVcXHVGRUNCXFx1RkVDRlxceEE2XFx4QUNcXHhGN1xceEQ3XFx1RkVDOVxcdTA2NDBcXHVGRUQzXFx1RkVEN1xcdUZFREJcXHVGRURGXFx1RkVFM1xcdUZFRTdcXHVGRUVCXFx1RkVFRFxcdUZFRUZcXHVGRUYzXFx1RkVCRFxcdUZFQ0NcXHVGRUNFXFx1RkVDRFxcdUZFRTFcXHVGRTdEXFx1MDY1MVxcdUZFRTVcXHVGRUU5XFx1RkVFQ1xcdUZFRjBcXHVGRUYyXFx1RkVEMFxcdUZFRDVcXHVGRUY1XFx1RkVGNlxcdUZFRERcXHVGRUQ5XFx1RkVGMVxcdTI1QTBcXHVGRkZEXCJcbiAgICAgIH0sXG4gICAgICBcImlibTg2NFwiOiBcImNwODY0XCIsXG4gICAgICBcImNzaWJtODY0XCI6IFwiY3A4NjRcIixcbiAgICAgIFwiY3A4NjVcIjoge1xuICAgICAgICBcInR5cGVcIjogXCJfc2Jjc1wiLFxuICAgICAgICBcImNoYXJzXCI6IFwiXFx4QzdcXHhGQ1xceEU5XFx4RTJcXHhFNFxceEUwXFx4RTVcXHhFN1xceEVBXFx4RUJcXHhFOFxceEVGXFx4RUVcXHhFQ1xceEM0XFx4QzVcXHhDOVxceEU2XFx4QzZcXHhGNFxceEY2XFx4RjJcXHhGQlxceEY5XFx4RkZcXHhENlxceERDXFx4RjhcXHhBM1xceEQ4XFx1MjBBN1xcdTAxOTJcXHhFMVxceEVEXFx4RjNcXHhGQVxceEYxXFx4RDFcXHhBQVxceEJBXFx4QkZcXHUyMzEwXFx4QUNcXHhCRFxceEJDXFx4QTFcXHhBQlxceEE0XFx1MjU5MVxcdTI1OTJcXHUyNTkzXFx1MjUwMlxcdTI1MjRcXHUyNTYxXFx1MjU2MlxcdTI1NTZcXHUyNTU1XFx1MjU2M1xcdTI1NTFcXHUyNTU3XFx1MjU1RFxcdTI1NUNcXHUyNTVCXFx1MjUxMFxcdTI1MTRcXHUyNTM0XFx1MjUyQ1xcdTI1MUNcXHUyNTAwXFx1MjUzQ1xcdTI1NUVcXHUyNTVGXFx1MjU1QVxcdTI1NTRcXHUyNTY5XFx1MjU2NlxcdTI1NjBcXHUyNTUwXFx1MjU2Q1xcdTI1NjdcXHUyNTY4XFx1MjU2NFxcdTI1NjVcXHUyNTU5XFx1MjU1OFxcdTI1NTJcXHUyNTUzXFx1MjU2QlxcdTI1NkFcXHUyNTE4XFx1MjUwQ1xcdTI1ODhcXHUyNTg0XFx1MjU4Q1xcdTI1OTBcXHUyNTgwXFx1MDNCMVxceERGXFx1MDM5M1xcdTAzQzBcXHUwM0EzXFx1MDNDM1xceEI1XFx1MDNDNFxcdTAzQTZcXHUwMzk4XFx1MDNBOVxcdTAzQjRcXHUyMjFFXFx1MDNDNlxcdTAzQjVcXHUyMjI5XFx1MjI2MVxceEIxXFx1MjI2NVxcdTIyNjRcXHUyMzIwXFx1MjMyMVxceEY3XFx1MjI0OFxceEIwXFx1MjIxOVxceEI3XFx1MjIxQVxcdTIwN0ZcXHhCMlxcdTI1QTBcXHhBMFwiXG4gICAgICB9LFxuICAgICAgXCJpYm04NjVcIjogXCJjcDg2NVwiLFxuICAgICAgXCJjc2libTg2NVwiOiBcImNwODY1XCIsXG4gICAgICBcImNwODY2XCI6IHtcbiAgICAgICAgXCJ0eXBlXCI6IFwiX3NiY3NcIixcbiAgICAgICAgXCJjaGFyc1wiOiBcIlxcdTA0MTBcXHUwNDExXFx1MDQxMlxcdTA0MTNcXHUwNDE0XFx1MDQxNVxcdTA0MTZcXHUwNDE3XFx1MDQxOFxcdTA0MTlcXHUwNDFBXFx1MDQxQlxcdTA0MUNcXHUwNDFEXFx1MDQxRVxcdTA0MUZcXHUwNDIwXFx1MDQyMVxcdTA0MjJcXHUwNDIzXFx1MDQyNFxcdTA0MjVcXHUwNDI2XFx1MDQyN1xcdTA0MjhcXHUwNDI5XFx1MDQyQVxcdTA0MkJcXHUwNDJDXFx1MDQyRFxcdTA0MkVcXHUwNDJGXFx1MDQzMFxcdTA0MzFcXHUwNDMyXFx1MDQzM1xcdTA0MzRcXHUwNDM1XFx1MDQzNlxcdTA0MzdcXHUwNDM4XFx1MDQzOVxcdTA0M0FcXHUwNDNCXFx1MDQzQ1xcdTA0M0RcXHUwNDNFXFx1MDQzRlxcdTI1OTFcXHUyNTkyXFx1MjU5M1xcdTI1MDJcXHUyNTI0XFx1MjU2MVxcdTI1NjJcXHUyNTU2XFx1MjU1NVxcdTI1NjNcXHUyNTUxXFx1MjU1N1xcdTI1NURcXHUyNTVDXFx1MjU1QlxcdTI1MTBcXHUyNTE0XFx1MjUzNFxcdTI1MkNcXHUyNTFDXFx1MjUwMFxcdTI1M0NcXHUyNTVFXFx1MjU1RlxcdTI1NUFcXHUyNTU0XFx1MjU2OVxcdTI1NjZcXHUyNTYwXFx1MjU1MFxcdTI1NkNcXHUyNTY3XFx1MjU2OFxcdTI1NjRcXHUyNTY1XFx1MjU1OVxcdTI1NThcXHUyNTUyXFx1MjU1M1xcdTI1NkJcXHUyNTZBXFx1MjUxOFxcdTI1MENcXHUyNTg4XFx1MjU4NFxcdTI1OENcXHUyNTkwXFx1MjU4MFxcdTA0NDBcXHUwNDQxXFx1MDQ0MlxcdTA0NDNcXHUwNDQ0XFx1MDQ0NVxcdTA0NDZcXHUwNDQ3XFx1MDQ0OFxcdTA0NDlcXHUwNDRBXFx1MDQ0QlxcdTA0NENcXHUwNDREXFx1MDQ0RVxcdTA0NEZcXHUwNDAxXFx1MDQ1MVxcdTA0MDRcXHUwNDU0XFx1MDQwN1xcdTA0NTdcXHUwNDBFXFx1MDQ1RVxceEIwXFx1MjIxOVxceEI3XFx1MjIxQVxcdTIxMTZcXHhBNFxcdTI1QTBcXHhBMFwiXG4gICAgICB9LFxuICAgICAgXCJpYm04NjZcIjogXCJjcDg2NlwiLFxuICAgICAgXCJjc2libTg2NlwiOiBcImNwODY2XCIsXG4gICAgICBcImNwODY5XCI6IHtcbiAgICAgICAgXCJ0eXBlXCI6IFwiX3NiY3NcIixcbiAgICAgICAgXCJjaGFyc1wiOiBcIlxcdUZGRkRcXHVGRkZEXFx1RkZGRFxcdUZGRkRcXHVGRkZEXFx1RkZGRFxcdTAzODZcXHVGRkZEXFx4QjdcXHhBQ1xceEE2XFx1MjAxOFxcdTIwMTlcXHUwMzg4XFx1MjAxNVxcdTAzODlcXHUwMzhBXFx1MDNBQVxcdTAzOENcXHVGRkZEXFx1RkZGRFxcdTAzOEVcXHUwM0FCXFx4QTlcXHUwMzhGXFx4QjJcXHhCM1xcdTAzQUNcXHhBM1xcdTAzQURcXHUwM0FFXFx1MDNBRlxcdTAzQ0FcXHUwMzkwXFx1MDNDQ1xcdTAzQ0RcXHUwMzkxXFx1MDM5MlxcdTAzOTNcXHUwMzk0XFx1MDM5NVxcdTAzOTZcXHUwMzk3XFx4QkRcXHUwMzk4XFx1MDM5OVxceEFCXFx4QkJcXHUyNTkxXFx1MjU5MlxcdTI1OTNcXHUyNTAyXFx1MjUyNFxcdTAzOUFcXHUwMzlCXFx1MDM5Q1xcdTAzOURcXHUyNTYzXFx1MjU1MVxcdTI1NTdcXHUyNTVEXFx1MDM5RVxcdTAzOUZcXHUyNTEwXFx1MjUxNFxcdTI1MzRcXHUyNTJDXFx1MjUxQ1xcdTI1MDBcXHUyNTNDXFx1MDNBMFxcdTAzQTFcXHUyNTVBXFx1MjU1NFxcdTI1NjlcXHUyNTY2XFx1MjU2MFxcdTI1NTBcXHUyNTZDXFx1MDNBM1xcdTAzQTRcXHUwM0E1XFx1MDNBNlxcdTAzQTdcXHUwM0E4XFx1MDNBOVxcdTAzQjFcXHUwM0IyXFx1MDNCM1xcdTI1MThcXHUyNTBDXFx1MjU4OFxcdTI1ODRcXHUwM0I0XFx1MDNCNVxcdTI1ODBcXHUwM0I2XFx1MDNCN1xcdTAzQjhcXHUwM0I5XFx1MDNCQVxcdTAzQkJcXHUwM0JDXFx1MDNCRFxcdTAzQkVcXHUwM0JGXFx1MDNDMFxcdTAzQzFcXHUwM0MzXFx1MDNDMlxcdTAzQzRcXHUwMzg0XFx4QURcXHhCMVxcdTAzQzVcXHUwM0M2XFx1MDNDN1xceEE3XFx1MDNDOFxcdTAzODVcXHhCMFxceEE4XFx1MDNDOVxcdTAzQ0JcXHUwM0IwXFx1MDNDRVxcdTI1QTBcXHhBMFwiXG4gICAgICB9LFxuICAgICAgXCJpYm04NjlcIjogXCJjcDg2OVwiLFxuICAgICAgXCJjc2libTg2OVwiOiBcImNwODY5XCIsXG4gICAgICBcImNwOTIyXCI6IHtcbiAgICAgICAgXCJ0eXBlXCI6IFwiX3NiY3NcIixcbiAgICAgICAgXCJjaGFyc1wiOiBcIlxceDgwXFx4ODFcXHg4MlxceDgzXFx4ODRcXHg4NVxceDg2XFx4ODdcXHg4OFxceDg5XFx4OEFcXHg4QlxceDhDXFx4OERcXHg4RVxceDhGXFx4OTBcXHg5MVxceDkyXFx4OTNcXHg5NFxceDk1XFx4OTZcXHg5N1xceDk4XFx4OTlcXHg5QVxceDlCXFx4OUNcXHg5RFxceDlFXFx4OUZcXHhBMFxceEExXFx4QTJcXHhBM1xceEE0XFx4QTVcXHhBNlxceEE3XFx4QThcXHhBOVxceEFBXFx4QUJcXHhBQ1xceEFEXFx4QUVcXHUyMDNFXFx4QjBcXHhCMVxceEIyXFx4QjNcXHhCNFxceEI1XFx4QjZcXHhCN1xceEI4XFx4QjlcXHhCQVxceEJCXFx4QkNcXHhCRFxceEJFXFx4QkZcXHhDMFxceEMxXFx4QzJcXHhDM1xceEM0XFx4QzVcXHhDNlxceEM3XFx4QzhcXHhDOVxceENBXFx4Q0JcXHhDQ1xceENEXFx4Q0VcXHhDRlxcdTAxNjBcXHhEMVxceEQyXFx4RDNcXHhENFxceEQ1XFx4RDZcXHhEN1xceEQ4XFx4RDlcXHhEQVxceERCXFx4RENcXHhERFxcdTAxN0RcXHhERlxceEUwXFx4RTFcXHhFMlxceEUzXFx4RTRcXHhFNVxceEU2XFx4RTdcXHhFOFxceEU5XFx4RUFcXHhFQlxceEVDXFx4RURcXHhFRVxceEVGXFx1MDE2MVxceEYxXFx4RjJcXHhGM1xceEY0XFx4RjVcXHhGNlxceEY3XFx4RjhcXHhGOVxceEZBXFx4RkJcXHhGQ1xceEZEXFx1MDE3RVxceEZGXCJcbiAgICAgIH0sXG4gICAgICBcImlibTkyMlwiOiBcImNwOTIyXCIsXG4gICAgICBcImNzaWJtOTIyXCI6IFwiY3A5MjJcIixcbiAgICAgIFwiY3AxMDQ2XCI6IHtcbiAgICAgICAgXCJ0eXBlXCI6IFwiX3NiY3NcIixcbiAgICAgICAgXCJjaGFyc1wiOiBcIlxcdUZFODhcXHhEN1xceEY3XFx1RjhGNlxcdUY4RjVcXHVGOEY0XFx1RjhGN1xcdUZFNzFcXHg4OFxcdTI1QTBcXHUyNTAyXFx1MjUwMFxcdTI1MTBcXHUyNTBDXFx1MjUxNFxcdTI1MThcXHVGRTc5XFx1RkU3QlxcdUZFN0RcXHVGRTdGXFx1RkU3N1xcdUZFOEFcXHVGRUYwXFx1RkVGM1xcdUZFRjJcXHVGRUNFXFx1RkVDRlxcdUZFRDBcXHVGRUY2XFx1RkVGOFxcdUZFRkFcXHVGRUZDXFx4QTBcXHVGOEZBXFx1RjhGOVxcdUY4RjhcXHhBNFxcdUY4RkJcXHVGRThCXFx1RkU5MVxcdUZFOTdcXHVGRTlCXFx1RkU5RlxcdUZFQTNcXHUwNjBDXFx4QURcXHVGRUE3XFx1RkVCM1xcdTA2NjBcXHUwNjYxXFx1MDY2MlxcdTA2NjNcXHUwNjY0XFx1MDY2NVxcdTA2NjZcXHUwNjY3XFx1MDY2OFxcdTA2NjlcXHVGRUI3XFx1MDYxQlxcdUZFQkJcXHVGRUJGXFx1RkVDQVxcdTA2MUZcXHVGRUNCXFx1MDYyMVxcdTA2MjJcXHUwNjIzXFx1MDYyNFxcdTA2MjVcXHUwNjI2XFx1MDYyN1xcdTA2MjhcXHUwNjI5XFx1MDYyQVxcdTA2MkJcXHUwNjJDXFx1MDYyRFxcdTA2MkVcXHUwNjJGXFx1MDYzMFxcdTA2MzFcXHUwNjMyXFx1MDYzM1xcdTA2MzRcXHUwNjM1XFx1MDYzNlxcdTA2MzdcXHVGRUM3XFx1MDYzOVxcdTA2M0FcXHVGRUNDXFx1RkU4MlxcdUZFODRcXHVGRThFXFx1RkVEM1xcdTA2NDBcXHUwNjQxXFx1MDY0MlxcdTA2NDNcXHUwNjQ0XFx1MDY0NVxcdTA2NDZcXHUwNjQ3XFx1MDY0OFxcdTA2NDlcXHUwNjRBXFx1MDY0QlxcdTA2NENcXHUwNjREXFx1MDY0RVxcdTA2NEZcXHUwNjUwXFx1MDY1MVxcdTA2NTJcXHVGRUQ3XFx1RkVEQlxcdUZFREZcXHVGOEZDXFx1RkVGNVxcdUZFRjdcXHVGRUY5XFx1RkVGQlxcdUZFRTNcXHVGRUU3XFx1RkVFQ1xcdUZFRTlcXHVGRkZEXCJcbiAgICAgIH0sXG4gICAgICBcImlibTEwNDZcIjogXCJjcDEwNDZcIixcbiAgICAgIFwiY3NpYm0xMDQ2XCI6IFwiY3AxMDQ2XCIsXG4gICAgICBcImNwMTEyNFwiOiB7XG4gICAgICAgIFwidHlwZVwiOiBcIl9zYmNzXCIsXG4gICAgICAgIFwiY2hhcnNcIjogXCJcXHg4MFxceDgxXFx4ODJcXHg4M1xceDg0XFx4ODVcXHg4NlxceDg3XFx4ODhcXHg4OVxceDhBXFx4OEJcXHg4Q1xceDhEXFx4OEVcXHg4RlxceDkwXFx4OTFcXHg5MlxceDkzXFx4OTRcXHg5NVxceDk2XFx4OTdcXHg5OFxceDk5XFx4OUFcXHg5QlxceDlDXFx4OURcXHg5RVxceDlGXFx4QTBcXHUwNDAxXFx1MDQwMlxcdTA0OTBcXHUwNDA0XFx1MDQwNVxcdTA0MDZcXHUwNDA3XFx1MDQwOFxcdTA0MDlcXHUwNDBBXFx1MDQwQlxcdTA0MENcXHhBRFxcdTA0MEVcXHUwNDBGXFx1MDQxMFxcdTA0MTFcXHUwNDEyXFx1MDQxM1xcdTA0MTRcXHUwNDE1XFx1MDQxNlxcdTA0MTdcXHUwNDE4XFx1MDQxOVxcdTA0MUFcXHUwNDFCXFx1MDQxQ1xcdTA0MURcXHUwNDFFXFx1MDQxRlxcdTA0MjBcXHUwNDIxXFx1MDQyMlxcdTA0MjNcXHUwNDI0XFx1MDQyNVxcdTA0MjZcXHUwNDI3XFx1MDQyOFxcdTA0MjlcXHUwNDJBXFx1MDQyQlxcdTA0MkNcXHUwNDJEXFx1MDQyRVxcdTA0MkZcXHUwNDMwXFx1MDQzMVxcdTA0MzJcXHUwNDMzXFx1MDQzNFxcdTA0MzVcXHUwNDM2XFx1MDQzN1xcdTA0MzhcXHUwNDM5XFx1MDQzQVxcdTA0M0JcXHUwNDNDXFx1MDQzRFxcdTA0M0VcXHUwNDNGXFx1MDQ0MFxcdTA0NDFcXHUwNDQyXFx1MDQ0M1xcdTA0NDRcXHUwNDQ1XFx1MDQ0NlxcdTA0NDdcXHUwNDQ4XFx1MDQ0OVxcdTA0NEFcXHUwNDRCXFx1MDQ0Q1xcdTA0NERcXHUwNDRFXFx1MDQ0RlxcdTIxMTZcXHUwNDUxXFx1MDQ1MlxcdTA0OTFcXHUwNDU0XFx1MDQ1NVxcdTA0NTZcXHUwNDU3XFx1MDQ1OFxcdTA0NTlcXHUwNDVBXFx1MDQ1QlxcdTA0NUNcXHhBN1xcdTA0NUVcXHUwNDVGXCJcbiAgICAgIH0sXG4gICAgICBcImlibTExMjRcIjogXCJjcDExMjRcIixcbiAgICAgIFwiY3NpYm0xMTI0XCI6IFwiY3AxMTI0XCIsXG4gICAgICBcImNwMTEyNVwiOiB7XG4gICAgICAgIFwidHlwZVwiOiBcIl9zYmNzXCIsXG4gICAgICAgIFwiY2hhcnNcIjogXCJcXHUwNDEwXFx1MDQxMVxcdTA0MTJcXHUwNDEzXFx1MDQxNFxcdTA0MTVcXHUwNDE2XFx1MDQxN1xcdTA0MThcXHUwNDE5XFx1MDQxQVxcdTA0MUJcXHUwNDFDXFx1MDQxRFxcdTA0MUVcXHUwNDFGXFx1MDQyMFxcdTA0MjFcXHUwNDIyXFx1MDQyM1xcdTA0MjRcXHUwNDI1XFx1MDQyNlxcdTA0MjdcXHUwNDI4XFx1MDQyOVxcdTA0MkFcXHUwNDJCXFx1MDQyQ1xcdTA0MkRcXHUwNDJFXFx1MDQyRlxcdTA0MzBcXHUwNDMxXFx1MDQzMlxcdTA0MzNcXHUwNDM0XFx1MDQzNVxcdTA0MzZcXHUwNDM3XFx1MDQzOFxcdTA0MzlcXHUwNDNBXFx1MDQzQlxcdTA0M0NcXHUwNDNEXFx1MDQzRVxcdTA0M0ZcXHUyNTkxXFx1MjU5MlxcdTI1OTNcXHUyNTAyXFx1MjUyNFxcdTI1NjFcXHUyNTYyXFx1MjU1NlxcdTI1NTVcXHUyNTYzXFx1MjU1MVxcdTI1NTdcXHUyNTVEXFx1MjU1Q1xcdTI1NUJcXHUyNTEwXFx1MjUxNFxcdTI1MzRcXHUyNTJDXFx1MjUxQ1xcdTI1MDBcXHUyNTNDXFx1MjU1RVxcdTI1NUZcXHUyNTVBXFx1MjU1NFxcdTI1NjlcXHUyNTY2XFx1MjU2MFxcdTI1NTBcXHUyNTZDXFx1MjU2N1xcdTI1NjhcXHUyNTY0XFx1MjU2NVxcdTI1NTlcXHUyNTU4XFx1MjU1MlxcdTI1NTNcXHUyNTZCXFx1MjU2QVxcdTI1MThcXHUyNTBDXFx1MjU4OFxcdTI1ODRcXHUyNThDXFx1MjU5MFxcdTI1ODBcXHUwNDQwXFx1MDQ0MVxcdTA0NDJcXHUwNDQzXFx1MDQ0NFxcdTA0NDVcXHUwNDQ2XFx1MDQ0N1xcdTA0NDhcXHUwNDQ5XFx1MDQ0QVxcdTA0NEJcXHUwNDRDXFx1MDQ0RFxcdTA0NEVcXHUwNDRGXFx1MDQwMVxcdTA0NTFcXHUwNDkwXFx1MDQ5MVxcdTA0MDRcXHUwNDU0XFx1MDQwNlxcdTA0NTZcXHUwNDA3XFx1MDQ1N1xceEI3XFx1MjIxQVxcdTIxMTZcXHhBNFxcdTI1QTBcXHhBMFwiXG4gICAgICB9LFxuICAgICAgXCJpYm0xMTI1XCI6IFwiY3AxMTI1XCIsXG4gICAgICBcImNzaWJtMTEyNVwiOiBcImNwMTEyNVwiLFxuICAgICAgXCJjcDExMjlcIjoge1xuICAgICAgICBcInR5cGVcIjogXCJfc2Jjc1wiLFxuICAgICAgICBcImNoYXJzXCI6IFwiXFx4ODBcXHg4MVxceDgyXFx4ODNcXHg4NFxceDg1XFx4ODZcXHg4N1xceDg4XFx4ODlcXHg4QVxceDhCXFx4OENcXHg4RFxceDhFXFx4OEZcXHg5MFxceDkxXFx4OTJcXHg5M1xceDk0XFx4OTVcXHg5NlxceDk3XFx4OThcXHg5OVxceDlBXFx4OUJcXHg5Q1xceDlEXFx4OUVcXHg5RlxceEEwXFx4QTFcXHhBMlxceEEzXFx4QTRcXHhBNVxceEE2XFx4QTdcXHUwMTUzXFx4QTlcXHhBQVxceEFCXFx4QUNcXHhBRFxceEFFXFx4QUZcXHhCMFxceEIxXFx4QjJcXHhCM1xcdTAxNzhcXHhCNVxceEI2XFx4QjdcXHUwMTUyXFx4QjlcXHhCQVxceEJCXFx4QkNcXHhCRFxceEJFXFx4QkZcXHhDMFxceEMxXFx4QzJcXHUwMTAyXFx4QzRcXHhDNVxceEM2XFx4QzdcXHhDOFxceEM5XFx4Q0FcXHhDQlxcdTAzMDBcXHhDRFxceENFXFx4Q0ZcXHUwMTEwXFx4RDFcXHUwMzA5XFx4RDNcXHhENFxcdTAxQTBcXHhENlxceEQ3XFx4RDhcXHhEOVxceERBXFx4REJcXHhEQ1xcdTAxQUZcXHUwMzAzXFx4REZcXHhFMFxceEUxXFx4RTJcXHUwMTAzXFx4RTRcXHhFNVxceEU2XFx4RTdcXHhFOFxceEU5XFx4RUFcXHhFQlxcdTAzMDFcXHhFRFxceEVFXFx4RUZcXHUwMTExXFx4RjFcXHUwMzIzXFx4RjNcXHhGNFxcdTAxQTFcXHhGNlxceEY3XFx4RjhcXHhGOVxceEZBXFx4RkJcXHhGQ1xcdTAxQjBcXHUyMEFCXFx4RkZcIlxuICAgICAgfSxcbiAgICAgIFwiaWJtMTEyOVwiOiBcImNwMTEyOVwiLFxuICAgICAgXCJjc2libTExMjlcIjogXCJjcDExMjlcIixcbiAgICAgIFwiY3AxMTMzXCI6IHtcbiAgICAgICAgXCJ0eXBlXCI6IFwiX3NiY3NcIixcbiAgICAgICAgXCJjaGFyc1wiOiBcIlxceDgwXFx4ODFcXHg4MlxceDgzXFx4ODRcXHg4NVxceDg2XFx4ODdcXHg4OFxceDg5XFx4OEFcXHg4QlxceDhDXFx4OERcXHg4RVxceDhGXFx4OTBcXHg5MVxceDkyXFx4OTNcXHg5NFxceDk1XFx4OTZcXHg5N1xceDk4XFx4OTlcXHg5QVxceDlCXFx4OUNcXHg5RFxceDlFXFx4OUZcXHhBMFxcdTBFODFcXHUwRTgyXFx1MEU4NFxcdTBFODdcXHUwRTg4XFx1MEVBQVxcdTBFOEFcXHUwRThEXFx1MEU5NFxcdTBFOTVcXHUwRTk2XFx1MEU5N1xcdTBFOTlcXHUwRTlBXFx1MEU5QlxcdTBFOUNcXHUwRTlEXFx1MEU5RVxcdTBFOUZcXHUwRUExXFx1MEVBMlxcdTBFQTNcXHUwRUE1XFx1MEVBN1xcdTBFQUJcXHUwRUFEXFx1MEVBRVxcdUZGRkRcXHVGRkZEXFx1RkZGRFxcdTBFQUZcXHUwRUIwXFx1MEVCMlxcdTBFQjNcXHUwRUI0XFx1MEVCNVxcdTBFQjZcXHUwRUI3XFx1MEVCOFxcdTBFQjlcXHUwRUJDXFx1MEVCMVxcdTBFQkJcXHUwRUJEXFx1RkZGRFxcdUZGRkRcXHVGRkZEXFx1MEVDMFxcdTBFQzFcXHUwRUMyXFx1MEVDM1xcdTBFQzRcXHUwRUM4XFx1MEVDOVxcdTBFQ0FcXHUwRUNCXFx1MEVDQ1xcdTBFQ0RcXHUwRUM2XFx1RkZGRFxcdTBFRENcXHUwRUREXFx1MjBBRFxcdUZGRkRcXHVGRkZEXFx1RkZGRFxcdUZGRkRcXHVGRkZEXFx1RkZGRFxcdUZGRkRcXHVGRkZEXFx1RkZGRFxcdUZGRkRcXHVGRkZEXFx1RkZGRFxcdUZGRkRcXHVGRkZEXFx1RkZGRFxcdUZGRkRcXHUwRUQwXFx1MEVEMVxcdTBFRDJcXHUwRUQzXFx1MEVENFxcdTBFRDVcXHUwRUQ2XFx1MEVEN1xcdTBFRDhcXHUwRUQ5XFx1RkZGRFxcdUZGRkRcXHhBMlxceEFDXFx4QTZcXHVGRkZEXCJcbiAgICAgIH0sXG4gICAgICBcImlibTExMzNcIjogXCJjcDExMzNcIixcbiAgICAgIFwiY3NpYm0xMTMzXCI6IFwiY3AxMTMzXCIsXG4gICAgICBcImNwMTE2MVwiOiB7XG4gICAgICAgIFwidHlwZVwiOiBcIl9zYmNzXCIsXG4gICAgICAgIFwiY2hhcnNcIjogXCJcXHVGRkZEXFx1RkZGRFxcdUZGRkRcXHVGRkZEXFx1RkZGRFxcdUZGRkRcXHVGRkZEXFx1RkZGRFxcdUZGRkRcXHVGRkZEXFx1RkZGRFxcdUZGRkRcXHVGRkZEXFx1RkZGRFxcdUZGRkRcXHVGRkZEXFx1RkZGRFxcdUZGRkRcXHVGRkZEXFx1RkZGRFxcdUZGRkRcXHVGRkZEXFx1RkZGRFxcdUZGRkRcXHVGRkZEXFx1RkZGRFxcdUZGRkRcXHVGRkZEXFx1RkZGRFxcdUZGRkRcXHVGRkZEXFx1RkZGRFxcdTBFNDhcXHUwRTAxXFx1MEUwMlxcdTBFMDNcXHUwRTA0XFx1MEUwNVxcdTBFMDZcXHUwRTA3XFx1MEUwOFxcdTBFMDlcXHUwRTBBXFx1MEUwQlxcdTBFMENcXHUwRTBEXFx1MEUwRVxcdTBFMEZcXHUwRTEwXFx1MEUxMVxcdTBFMTJcXHUwRTEzXFx1MEUxNFxcdTBFMTVcXHUwRTE2XFx1MEUxN1xcdTBFMThcXHUwRTE5XFx1MEUxQVxcdTBFMUJcXHUwRTFDXFx1MEUxRFxcdTBFMUVcXHUwRTFGXFx1MEUyMFxcdTBFMjFcXHUwRTIyXFx1MEUyM1xcdTBFMjRcXHUwRTI1XFx1MEUyNlxcdTBFMjdcXHUwRTI4XFx1MEUyOVxcdTBFMkFcXHUwRTJCXFx1MEUyQ1xcdTBFMkRcXHUwRTJFXFx1MEUyRlxcdTBFMzBcXHUwRTMxXFx1MEUzMlxcdTBFMzNcXHUwRTM0XFx1MEUzNVxcdTBFMzZcXHUwRTM3XFx1MEUzOFxcdTBFMzlcXHUwRTNBXFx1MEU0OVxcdTBFNEFcXHUwRTRCXFx1MjBBQ1xcdTBFM0ZcXHUwRTQwXFx1MEU0MVxcdTBFNDJcXHUwRTQzXFx1MEU0NFxcdTBFNDVcXHUwRTQ2XFx1MEU0N1xcdTBFNDhcXHUwRTQ5XFx1MEU0QVxcdTBFNEJcXHUwRTRDXFx1MEU0RFxcdTBFNEVcXHUwRTRGXFx1MEU1MFxcdTBFNTFcXHUwRTUyXFx1MEU1M1xcdTBFNTRcXHUwRTU1XFx1MEU1NlxcdTBFNTdcXHUwRTU4XFx1MEU1OVxcdTBFNUFcXHUwRTVCXFx4QTJcXHhBQ1xceEE2XFx4QTBcIlxuICAgICAgfSxcbiAgICAgIFwiaWJtMTE2MVwiOiBcImNwMTE2MVwiLFxuICAgICAgXCJjc2libTExNjFcIjogXCJjcDExNjFcIixcbiAgICAgIFwiY3AxMTYyXCI6IHtcbiAgICAgICAgXCJ0eXBlXCI6IFwiX3NiY3NcIixcbiAgICAgICAgXCJjaGFyc1wiOiBcIlxcdTIwQUNcXHg4MVxceDgyXFx4ODNcXHg4NFxcdTIwMjZcXHg4NlxceDg3XFx4ODhcXHg4OVxceDhBXFx4OEJcXHg4Q1xceDhEXFx4OEVcXHg4RlxceDkwXFx1MjAxOFxcdTIwMTlcXHUyMDFDXFx1MjAxRFxcdTIwMjJcXHUyMDEzXFx1MjAxNFxceDk4XFx4OTlcXHg5QVxceDlCXFx4OUNcXHg5RFxceDlFXFx4OUZcXHhBMFxcdTBFMDFcXHUwRTAyXFx1MEUwM1xcdTBFMDRcXHUwRTA1XFx1MEUwNlxcdTBFMDdcXHUwRTA4XFx1MEUwOVxcdTBFMEFcXHUwRTBCXFx1MEUwQ1xcdTBFMERcXHUwRTBFXFx1MEUwRlxcdTBFMTBcXHUwRTExXFx1MEUxMlxcdTBFMTNcXHUwRTE0XFx1MEUxNVxcdTBFMTZcXHUwRTE3XFx1MEUxOFxcdTBFMTlcXHUwRTFBXFx1MEUxQlxcdTBFMUNcXHUwRTFEXFx1MEUxRVxcdTBFMUZcXHUwRTIwXFx1MEUyMVxcdTBFMjJcXHUwRTIzXFx1MEUyNFxcdTBFMjVcXHUwRTI2XFx1MEUyN1xcdTBFMjhcXHUwRTI5XFx1MEUyQVxcdTBFMkJcXHUwRTJDXFx1MEUyRFxcdTBFMkVcXHUwRTJGXFx1MEUzMFxcdTBFMzFcXHUwRTMyXFx1MEUzM1xcdTBFMzRcXHUwRTM1XFx1MEUzNlxcdTBFMzdcXHUwRTM4XFx1MEUzOVxcdTBFM0FcXHVGRkZEXFx1RkZGRFxcdUZGRkRcXHVGRkZEXFx1MEUzRlxcdTBFNDBcXHUwRTQxXFx1MEU0MlxcdTBFNDNcXHUwRTQ0XFx1MEU0NVxcdTBFNDZcXHUwRTQ3XFx1MEU0OFxcdTBFNDlcXHUwRTRBXFx1MEU0QlxcdTBFNENcXHUwRTREXFx1MEU0RVxcdTBFNEZcXHUwRTUwXFx1MEU1MVxcdTBFNTJcXHUwRTUzXFx1MEU1NFxcdTBFNTVcXHUwRTU2XFx1MEU1N1xcdTBFNThcXHUwRTU5XFx1MEU1QVxcdTBFNUJcXHVGRkZEXFx1RkZGRFxcdUZGRkRcXHVGRkZEXCJcbiAgICAgIH0sXG4gICAgICBcImlibTExNjJcIjogXCJjcDExNjJcIixcbiAgICAgIFwiY3NpYm0xMTYyXCI6IFwiY3AxMTYyXCIsXG4gICAgICBcImNwMTE2M1wiOiB7XG4gICAgICAgIFwidHlwZVwiOiBcIl9zYmNzXCIsXG4gICAgICAgIFwiY2hhcnNcIjogXCJcXHg4MFxceDgxXFx4ODJcXHg4M1xceDg0XFx4ODVcXHg4NlxceDg3XFx4ODhcXHg4OVxceDhBXFx4OEJcXHg4Q1xceDhEXFx4OEVcXHg4RlxceDkwXFx4OTFcXHg5MlxceDkzXFx4OTRcXHg5NVxceDk2XFx4OTdcXHg5OFxceDk5XFx4OUFcXHg5QlxceDlDXFx4OURcXHg5RVxceDlGXFx4QTBcXHhBMVxceEEyXFx4QTNcXHUyMEFDXFx4QTVcXHhBNlxceEE3XFx1MDE1M1xceEE5XFx4QUFcXHhBQlxceEFDXFx4QURcXHhBRVxceEFGXFx4QjBcXHhCMVxceEIyXFx4QjNcXHUwMTc4XFx4QjVcXHhCNlxceEI3XFx1MDE1MlxceEI5XFx4QkFcXHhCQlxceEJDXFx4QkRcXHhCRVxceEJGXFx4QzBcXHhDMVxceEMyXFx1MDEwMlxceEM0XFx4QzVcXHhDNlxceEM3XFx4QzhcXHhDOVxceENBXFx4Q0JcXHUwMzAwXFx4Q0RcXHhDRVxceENGXFx1MDExMFxceEQxXFx1MDMwOVxceEQzXFx4RDRcXHUwMUEwXFx4RDZcXHhEN1xceEQ4XFx4RDlcXHhEQVxceERCXFx4RENcXHUwMUFGXFx1MDMwM1xceERGXFx4RTBcXHhFMVxceEUyXFx1MDEwM1xceEU0XFx4RTVcXHhFNlxceEU3XFx4RThcXHhFOVxceEVBXFx4RUJcXHUwMzAxXFx4RURcXHhFRVxceEVGXFx1MDExMVxceEYxXFx1MDMyM1xceEYzXFx4RjRcXHUwMUExXFx4RjZcXHhGN1xceEY4XFx4RjlcXHhGQVxceEZCXFx4RkNcXHUwMUIwXFx1MjBBQlxceEZGXCJcbiAgICAgIH0sXG4gICAgICBcImlibTExNjNcIjogXCJjcDExNjNcIixcbiAgICAgIFwiY3NpYm0xMTYzXCI6IFwiY3AxMTYzXCIsXG4gICAgICBcIm1hY2Nyb2F0aWFuXCI6IHtcbiAgICAgICAgXCJ0eXBlXCI6IFwiX3NiY3NcIixcbiAgICAgICAgXCJjaGFyc1wiOiBcIlxceEM0XFx4QzVcXHhDN1xceEM5XFx4RDFcXHhENlxceERDXFx4RTFcXHhFMFxceEUyXFx4RTRcXHhFM1xceEU1XFx4RTdcXHhFOVxceEU4XFx4RUFcXHhFQlxceEVEXFx4RUNcXHhFRVxceEVGXFx4RjFcXHhGM1xceEYyXFx4RjRcXHhGNlxceEY1XFx4RkFcXHhGOVxceEZCXFx4RkNcXHUyMDIwXFx4QjBcXHhBMlxceEEzXFx4QTdcXHUyMDIyXFx4QjZcXHhERlxceEFFXFx1MDE2MFxcdTIxMjJcXHhCNFxceEE4XFx1MjI2MFxcdTAxN0RcXHhEOFxcdTIyMUVcXHhCMVxcdTIyNjRcXHUyMjY1XFx1MjIwNlxceEI1XFx1MjIwMlxcdTIyMTFcXHUyMjBGXFx1MDE2MVxcdTIyMkJcXHhBQVxceEJBXFx1MjEyNlxcdTAxN0VcXHhGOFxceEJGXFx4QTFcXHhBQ1xcdTIyMUFcXHUwMTkyXFx1MjI0OFxcdTAxMDZcXHhBQlxcdTAxMENcXHUyMDI2XFx4QTBcXHhDMFxceEMzXFx4RDVcXHUwMTUyXFx1MDE1M1xcdTAxMTBcXHUyMDE0XFx1MjAxQ1xcdTIwMURcXHUyMDE4XFx1MjAxOVxceEY3XFx1MjVDQVxcdUZGRkRcXHhBOVxcdTIwNDRcXHhBNFxcdTIwMzlcXHUyMDNBXFx4QzZcXHhCQlxcdTIwMTNcXHhCN1xcdTIwMUFcXHUyMDFFXFx1MjAzMFxceEMyXFx1MDEwN1xceEMxXFx1MDEwRFxceEM4XFx4Q0RcXHhDRVxceENGXFx4Q0NcXHhEM1xceEQ0XFx1MDExMVxceEQyXFx4REFcXHhEQlxceEQ5XFx1MDEzMVxcdTAyQzZcXHUwMkRDXFx4QUZcXHUwM0MwXFx4Q0JcXHUwMkRBXFx4QjhcXHhDQVxceEU2XFx1MDJDN1wiXG4gICAgICB9LFxuICAgICAgXCJtYWNjeXJpbGxpY1wiOiB7XG4gICAgICAgIFwidHlwZVwiOiBcIl9zYmNzXCIsXG4gICAgICAgIFwiY2hhcnNcIjogXCJcXHUwNDEwXFx1MDQxMVxcdTA0MTJcXHUwNDEzXFx1MDQxNFxcdTA0MTVcXHUwNDE2XFx1MDQxN1xcdTA0MThcXHUwNDE5XFx1MDQxQVxcdTA0MUJcXHUwNDFDXFx1MDQxRFxcdTA0MUVcXHUwNDFGXFx1MDQyMFxcdTA0MjFcXHUwNDIyXFx1MDQyM1xcdTA0MjRcXHUwNDI1XFx1MDQyNlxcdTA0MjdcXHUwNDI4XFx1MDQyOVxcdTA0MkFcXHUwNDJCXFx1MDQyQ1xcdTA0MkRcXHUwNDJFXFx1MDQyRlxcdTIwMjBcXHhCMFxceEEyXFx4QTNcXHhBN1xcdTIwMjJcXHhCNlxcdTA0MDZcXHhBRVxceEE5XFx1MjEyMlxcdTA0MDJcXHUwNDUyXFx1MjI2MFxcdTA0MDNcXHUwNDUzXFx1MjIxRVxceEIxXFx1MjI2NFxcdTIyNjVcXHUwNDU2XFx4QjVcXHUyMjAyXFx1MDQwOFxcdTA0MDRcXHUwNDU0XFx1MDQwN1xcdTA0NTdcXHUwNDA5XFx1MDQ1OVxcdTA0MEFcXHUwNDVBXFx1MDQ1OFxcdTA0MDVcXHhBQ1xcdTIyMUFcXHUwMTkyXFx1MjI0OFxcdTIyMDZcXHhBQlxceEJCXFx1MjAyNlxceEEwXFx1MDQwQlxcdTA0NUJcXHUwNDBDXFx1MDQ1Q1xcdTA0NTVcXHUyMDEzXFx1MjAxNFxcdTIwMUNcXHUyMDFEXFx1MjAxOFxcdTIwMTlcXHhGN1xcdTIwMUVcXHUwNDBFXFx1MDQ1RVxcdTA0MEZcXHUwNDVGXFx1MjExNlxcdTA0MDFcXHUwNDUxXFx1MDQ0RlxcdTA0MzBcXHUwNDMxXFx1MDQzMlxcdTA0MzNcXHUwNDM0XFx1MDQzNVxcdTA0MzZcXHUwNDM3XFx1MDQzOFxcdTA0MzlcXHUwNDNBXFx1MDQzQlxcdTA0M0NcXHUwNDNEXFx1MDQzRVxcdTA0M0ZcXHUwNDQwXFx1MDQ0MVxcdTA0NDJcXHUwNDQzXFx1MDQ0NFxcdTA0NDVcXHUwNDQ2XFx1MDQ0N1xcdTA0NDhcXHUwNDQ5XFx1MDQ0QVxcdTA0NEJcXHUwNDRDXFx1MDQ0RFxcdTA0NEVcXHhBNFwiXG4gICAgICB9LFxuICAgICAgXCJtYWNncmVla1wiOiB7XG4gICAgICAgIFwidHlwZVwiOiBcIl9zYmNzXCIsXG4gICAgICAgIFwiY2hhcnNcIjogXCJcXHhDNFxceEI5XFx4QjJcXHhDOVxceEIzXFx4RDZcXHhEQ1xcdTAzODVcXHhFMFxceEUyXFx4RTRcXHUwMzg0XFx4QThcXHhFN1xceEU5XFx4RThcXHhFQVxceEVCXFx4QTNcXHUyMTIyXFx4RUVcXHhFRlxcdTIwMjJcXHhCRFxcdTIwMzBcXHhGNFxceEY2XFx4QTZcXHhBRFxceEY5XFx4RkJcXHhGQ1xcdTIwMjBcXHUwMzkzXFx1MDM5NFxcdTAzOThcXHUwMzlCXFx1MDM5RVxcdTAzQTBcXHhERlxceEFFXFx4QTlcXHUwM0EzXFx1MDNBQVxceEE3XFx1MjI2MFxceEIwXFx1MDM4N1xcdTAzOTFcXHhCMVxcdTIyNjRcXHUyMjY1XFx4QTVcXHUwMzkyXFx1MDM5NVxcdTAzOTZcXHUwMzk3XFx1MDM5OVxcdTAzOUFcXHUwMzlDXFx1MDNBNlxcdTAzQUJcXHUwM0E4XFx1MDNBOVxcdTAzQUNcXHUwMzlEXFx4QUNcXHUwMzlGXFx1MDNBMVxcdTIyNDhcXHUwM0E0XFx4QUJcXHhCQlxcdTIwMjZcXHhBMFxcdTAzQTVcXHUwM0E3XFx1MDM4NlxcdTAzODhcXHUwMTUzXFx1MjAxM1xcdTIwMTVcXHUyMDFDXFx1MjAxRFxcdTIwMThcXHUyMDE5XFx4RjdcXHUwMzg5XFx1MDM4QVxcdTAzOENcXHUwMzhFXFx1MDNBRFxcdTAzQUVcXHUwM0FGXFx1MDNDQ1xcdTAzOEZcXHUwM0NEXFx1MDNCMVxcdTAzQjJcXHUwM0M4XFx1MDNCNFxcdTAzQjVcXHUwM0M2XFx1MDNCM1xcdTAzQjdcXHUwM0I5XFx1MDNCRVxcdTAzQkFcXHUwM0JCXFx1MDNCQ1xcdTAzQkRcXHUwM0JGXFx1MDNDMFxcdTAzQ0VcXHUwM0MxXFx1MDNDM1xcdTAzQzRcXHUwM0I4XFx1MDNDOVxcdTAzQzJcXHUwM0M3XFx1MDNDNVxcdTAzQjZcXHUwM0NBXFx1MDNDQlxcdTAzOTBcXHUwM0IwXFx1RkZGRFwiXG4gICAgICB9LFxuICAgICAgXCJtYWNpY2VsYW5kXCI6IHtcbiAgICAgICAgXCJ0eXBlXCI6IFwiX3NiY3NcIixcbiAgICAgICAgXCJjaGFyc1wiOiBcIlxceEM0XFx4QzVcXHhDN1xceEM5XFx4RDFcXHhENlxceERDXFx4RTFcXHhFMFxceEUyXFx4RTRcXHhFM1xceEU1XFx4RTdcXHhFOVxceEU4XFx4RUFcXHhFQlxceEVEXFx4RUNcXHhFRVxceEVGXFx4RjFcXHhGM1xceEYyXFx4RjRcXHhGNlxceEY1XFx4RkFcXHhGOVxceEZCXFx4RkNcXHhERFxceEIwXFx4QTJcXHhBM1xceEE3XFx1MjAyMlxceEI2XFx4REZcXHhBRVxceEE5XFx1MjEyMlxceEI0XFx4QThcXHUyMjYwXFx4QzZcXHhEOFxcdTIyMUVcXHhCMVxcdTIyNjRcXHUyMjY1XFx4QTVcXHhCNVxcdTIyMDJcXHUyMjExXFx1MjIwRlxcdTAzQzBcXHUyMjJCXFx4QUFcXHhCQVxcdTIxMjZcXHhFNlxceEY4XFx4QkZcXHhBMVxceEFDXFx1MjIxQVxcdTAxOTJcXHUyMjQ4XFx1MjIwNlxceEFCXFx4QkJcXHUyMDI2XFx4QTBcXHhDMFxceEMzXFx4RDVcXHUwMTUyXFx1MDE1M1xcdTIwMTNcXHUyMDE0XFx1MjAxQ1xcdTIwMURcXHUyMDE4XFx1MjAxOVxceEY3XFx1MjVDQVxceEZGXFx1MDE3OFxcdTIwNDRcXHhBNFxceEQwXFx4RjBcXHhERVxceEZFXFx4RkRcXHhCN1xcdTIwMUFcXHUyMDFFXFx1MjAzMFxceEMyXFx4Q0FcXHhDMVxceENCXFx4QzhcXHhDRFxceENFXFx4Q0ZcXHhDQ1xceEQzXFx4RDRcXHVGRkZEXFx4RDJcXHhEQVxceERCXFx4RDlcXHUwMTMxXFx1MDJDNlxcdTAyRENcXHhBRlxcdTAyRDhcXHUwMkQ5XFx1MDJEQVxceEI4XFx1MDJERFxcdTAyREJcXHUwMkM3XCJcbiAgICAgIH0sXG4gICAgICBcIm1hY3JvbWFuXCI6IHtcbiAgICAgICAgXCJ0eXBlXCI6IFwiX3NiY3NcIixcbiAgICAgICAgXCJjaGFyc1wiOiBcIlxceEM0XFx4QzVcXHhDN1xceEM5XFx4RDFcXHhENlxceERDXFx4RTFcXHhFMFxceEUyXFx4RTRcXHhFM1xceEU1XFx4RTdcXHhFOVxceEU4XFx4RUFcXHhFQlxceEVEXFx4RUNcXHhFRVxceEVGXFx4RjFcXHhGM1xceEYyXFx4RjRcXHhGNlxceEY1XFx4RkFcXHhGOVxceEZCXFx4RkNcXHUyMDIwXFx4QjBcXHhBMlxceEEzXFx4QTdcXHUyMDIyXFx4QjZcXHhERlxceEFFXFx4QTlcXHUyMTIyXFx4QjRcXHhBOFxcdTIyNjBcXHhDNlxceEQ4XFx1MjIxRVxceEIxXFx1MjI2NFxcdTIyNjVcXHhBNVxceEI1XFx1MjIwMlxcdTIyMTFcXHUyMjBGXFx1MDNDMFxcdTIyMkJcXHhBQVxceEJBXFx1MjEyNlxceEU2XFx4RjhcXHhCRlxceEExXFx4QUNcXHUyMjFBXFx1MDE5MlxcdTIyNDhcXHUyMjA2XFx4QUJcXHhCQlxcdTIwMjZcXHhBMFxceEMwXFx4QzNcXHhENVxcdTAxNTJcXHUwMTUzXFx1MjAxM1xcdTIwMTRcXHUyMDFDXFx1MjAxRFxcdTIwMThcXHUyMDE5XFx4RjdcXHUyNUNBXFx4RkZcXHUwMTc4XFx1MjA0NFxceEE0XFx1MjAzOVxcdTIwM0FcXHVGQjAxXFx1RkIwMlxcdTIwMjFcXHhCN1xcdTIwMUFcXHUyMDFFXFx1MjAzMFxceEMyXFx4Q0FcXHhDMVxceENCXFx4QzhcXHhDRFxceENFXFx4Q0ZcXHhDQ1xceEQzXFx4RDRcXHVGRkZEXFx4RDJcXHhEQVxceERCXFx4RDlcXHUwMTMxXFx1MDJDNlxcdTAyRENcXHhBRlxcdTAyRDhcXHUwMkQ5XFx1MDJEQVxceEI4XFx1MDJERFxcdTAyREJcXHUwMkM3XCJcbiAgICAgIH0sXG4gICAgICBcIm1hY3JvbWFuaWFcIjoge1xuICAgICAgICBcInR5cGVcIjogXCJfc2Jjc1wiLFxuICAgICAgICBcImNoYXJzXCI6IFwiXFx4QzRcXHhDNVxceEM3XFx4QzlcXHhEMVxceEQ2XFx4RENcXHhFMVxceEUwXFx4RTJcXHhFNFxceEUzXFx4RTVcXHhFN1xceEU5XFx4RThcXHhFQVxceEVCXFx4RURcXHhFQ1xceEVFXFx4RUZcXHhGMVxceEYzXFx4RjJcXHhGNFxceEY2XFx4RjVcXHhGQVxceEY5XFx4RkJcXHhGQ1xcdTIwMjBcXHhCMFxceEEyXFx4QTNcXHhBN1xcdTIwMjJcXHhCNlxceERGXFx4QUVcXHhBOVxcdTIxMjJcXHhCNFxceEE4XFx1MjI2MFxcdTAxMDJcXHUwMTVFXFx1MjIxRVxceEIxXFx1MjI2NFxcdTIyNjVcXHhBNVxceEI1XFx1MjIwMlxcdTIyMTFcXHUyMjBGXFx1MDNDMFxcdTIyMkJcXHhBQVxceEJBXFx1MjEyNlxcdTAxMDNcXHUwMTVGXFx4QkZcXHhBMVxceEFDXFx1MjIxQVxcdTAxOTJcXHUyMjQ4XFx1MjIwNlxceEFCXFx4QkJcXHUyMDI2XFx4QTBcXHhDMFxceEMzXFx4RDVcXHUwMTUyXFx1MDE1M1xcdTIwMTNcXHUyMDE0XFx1MjAxQ1xcdTIwMURcXHUyMDE4XFx1MjAxOVxceEY3XFx1MjVDQVxceEZGXFx1MDE3OFxcdTIwNDRcXHhBNFxcdTIwMzlcXHUyMDNBXFx1MDE2MlxcdTAxNjNcXHUyMDIxXFx4QjdcXHUyMDFBXFx1MjAxRVxcdTIwMzBcXHhDMlxceENBXFx4QzFcXHhDQlxceEM4XFx4Q0RcXHhDRVxceENGXFx4Q0NcXHhEM1xceEQ0XFx1RkZGRFxceEQyXFx4REFcXHhEQlxceEQ5XFx1MDEzMVxcdTAyQzZcXHUwMkRDXFx4QUZcXHUwMkQ4XFx1MDJEOVxcdTAyREFcXHhCOFxcdTAyRERcXHUwMkRCXFx1MDJDN1wiXG4gICAgICB9LFxuICAgICAgXCJtYWN0aGFpXCI6IHtcbiAgICAgICAgXCJ0eXBlXCI6IFwiX3NiY3NcIixcbiAgICAgICAgXCJjaGFyc1wiOiBcIlxceEFCXFx4QkJcXHUyMDI2XFx1Rjg4Q1xcdUY4OEZcXHVGODkyXFx1Rjg5NVxcdUY4OThcXHVGODhCXFx1Rjg4RVxcdUY4OTFcXHVGODk0XFx1Rjg5N1xcdTIwMUNcXHUyMDFEXFx1Rjg5OVxcdUZGRkRcXHUyMDIyXFx1Rjg4NFxcdUY4ODlcXHVGODg1XFx1Rjg4NlxcdUY4ODdcXHVGODg4XFx1Rjg4QVxcdUY4OERcXHVGODkwXFx1Rjg5M1xcdUY4OTZcXHUyMDE4XFx1MjAxOVxcdUZGRkRcXHhBMFxcdTBFMDFcXHUwRTAyXFx1MEUwM1xcdTBFMDRcXHUwRTA1XFx1MEUwNlxcdTBFMDdcXHUwRTA4XFx1MEUwOVxcdTBFMEFcXHUwRTBCXFx1MEUwQ1xcdTBFMERcXHUwRTBFXFx1MEUwRlxcdTBFMTBcXHUwRTExXFx1MEUxMlxcdTBFMTNcXHUwRTE0XFx1MEUxNVxcdTBFMTZcXHUwRTE3XFx1MEUxOFxcdTBFMTlcXHUwRTFBXFx1MEUxQlxcdTBFMUNcXHUwRTFEXFx1MEUxRVxcdTBFMUZcXHUwRTIwXFx1MEUyMVxcdTBFMjJcXHUwRTIzXFx1MEUyNFxcdTBFMjVcXHUwRTI2XFx1MEUyN1xcdTBFMjhcXHUwRTI5XFx1MEUyQVxcdTBFMkJcXHUwRTJDXFx1MEUyRFxcdTBFMkVcXHUwRTJGXFx1MEUzMFxcdTBFMzFcXHUwRTMyXFx1MEUzM1xcdTBFMzRcXHUwRTM1XFx1MEUzNlxcdTBFMzdcXHUwRTM4XFx1MEUzOVxcdTBFM0FcXHVGRUZGXFx1MjAwQlxcdTIwMTNcXHUyMDE0XFx1MEUzRlxcdTBFNDBcXHUwRTQxXFx1MEU0MlxcdTBFNDNcXHUwRTQ0XFx1MEU0NVxcdTBFNDZcXHUwRTQ3XFx1MEU0OFxcdTBFNDlcXHUwRTRBXFx1MEU0QlxcdTBFNENcXHUwRTREXFx1MjEyMlxcdTBFNEZcXHUwRTUwXFx1MEU1MVxcdTBFNTJcXHUwRTUzXFx1MEU1NFxcdTBFNTVcXHUwRTU2XFx1MEU1N1xcdTBFNThcXHUwRTU5XFx4QUVcXHhBOVxcdUZGRkRcXHVGRkZEXFx1RkZGRFxcdUZGRkRcIlxuICAgICAgfSxcbiAgICAgIFwibWFjdHVya2lzaFwiOiB7XG4gICAgICAgIFwidHlwZVwiOiBcIl9zYmNzXCIsXG4gICAgICAgIFwiY2hhcnNcIjogXCJcXHhDNFxceEM1XFx4QzdcXHhDOVxceEQxXFx4RDZcXHhEQ1xceEUxXFx4RTBcXHhFMlxceEU0XFx4RTNcXHhFNVxceEU3XFx4RTlcXHhFOFxceEVBXFx4RUJcXHhFRFxceEVDXFx4RUVcXHhFRlxceEYxXFx4RjNcXHhGMlxceEY0XFx4RjZcXHhGNVxceEZBXFx4RjlcXHhGQlxceEZDXFx1MjAyMFxceEIwXFx4QTJcXHhBM1xceEE3XFx1MjAyMlxceEI2XFx4REZcXHhBRVxceEE5XFx1MjEyMlxceEI0XFx4QThcXHUyMjYwXFx4QzZcXHhEOFxcdTIyMUVcXHhCMVxcdTIyNjRcXHUyMjY1XFx4QTVcXHhCNVxcdTIyMDJcXHUyMjExXFx1MjIwRlxcdTAzQzBcXHUyMjJCXFx4QUFcXHhCQVxcdTIxMjZcXHhFNlxceEY4XFx4QkZcXHhBMVxceEFDXFx1MjIxQVxcdTAxOTJcXHUyMjQ4XFx1MjIwNlxceEFCXFx4QkJcXHUyMDI2XFx4QTBcXHhDMFxceEMzXFx4RDVcXHUwMTUyXFx1MDE1M1xcdTIwMTNcXHUyMDE0XFx1MjAxQ1xcdTIwMURcXHUyMDE4XFx1MjAxOVxceEY3XFx1MjVDQVxceEZGXFx1MDE3OFxcdTAxMUVcXHUwMTFGXFx1MDEzMFxcdTAxMzFcXHUwMTVFXFx1MDE1RlxcdTIwMjFcXHhCN1xcdTIwMUFcXHUyMDFFXFx1MjAzMFxceEMyXFx4Q0FcXHhDMVxceENCXFx4QzhcXHhDRFxceENFXFx4Q0ZcXHhDQ1xceEQzXFx4RDRcXHVGRkZEXFx4RDJcXHhEQVxceERCXFx4RDlcXHVGRkZEXFx1MDJDNlxcdTAyRENcXHhBRlxcdTAyRDhcXHUwMkQ5XFx1MDJEQVxceEI4XFx1MDJERFxcdTAyREJcXHUwMkM3XCJcbiAgICAgIH0sXG4gICAgICBcIm1hY3VrcmFpbmVcIjoge1xuICAgICAgICBcInR5cGVcIjogXCJfc2Jjc1wiLFxuICAgICAgICBcImNoYXJzXCI6IFwiXFx1MDQxMFxcdTA0MTFcXHUwNDEyXFx1MDQxM1xcdTA0MTRcXHUwNDE1XFx1MDQxNlxcdTA0MTdcXHUwNDE4XFx1MDQxOVxcdTA0MUFcXHUwNDFCXFx1MDQxQ1xcdTA0MURcXHUwNDFFXFx1MDQxRlxcdTA0MjBcXHUwNDIxXFx1MDQyMlxcdTA0MjNcXHUwNDI0XFx1MDQyNVxcdTA0MjZcXHUwNDI3XFx1MDQyOFxcdTA0MjlcXHUwNDJBXFx1MDQyQlxcdTA0MkNcXHUwNDJEXFx1MDQyRVxcdTA0MkZcXHUyMDIwXFx4QjBcXHUwNDkwXFx4QTNcXHhBN1xcdTIwMjJcXHhCNlxcdTA0MDZcXHhBRVxceEE5XFx1MjEyMlxcdTA0MDJcXHUwNDUyXFx1MjI2MFxcdTA0MDNcXHUwNDUzXFx1MjIxRVxceEIxXFx1MjI2NFxcdTIyNjVcXHUwNDU2XFx4QjVcXHUwNDkxXFx1MDQwOFxcdTA0MDRcXHUwNDU0XFx1MDQwN1xcdTA0NTdcXHUwNDA5XFx1MDQ1OVxcdTA0MEFcXHUwNDVBXFx1MDQ1OFxcdTA0MDVcXHhBQ1xcdTIyMUFcXHUwMTkyXFx1MjI0OFxcdTIyMDZcXHhBQlxceEJCXFx1MjAyNlxceEEwXFx1MDQwQlxcdTA0NUJcXHUwNDBDXFx1MDQ1Q1xcdTA0NTVcXHUyMDEzXFx1MjAxNFxcdTIwMUNcXHUyMDFEXFx1MjAxOFxcdTIwMTlcXHhGN1xcdTIwMUVcXHUwNDBFXFx1MDQ1RVxcdTA0MEZcXHUwNDVGXFx1MjExNlxcdTA0MDFcXHUwNDUxXFx1MDQ0RlxcdTA0MzBcXHUwNDMxXFx1MDQzMlxcdTA0MzNcXHUwNDM0XFx1MDQzNVxcdTA0MzZcXHUwNDM3XFx1MDQzOFxcdTA0MzlcXHUwNDNBXFx1MDQzQlxcdTA0M0NcXHUwNDNEXFx1MDQzRVxcdTA0M0ZcXHUwNDQwXFx1MDQ0MVxcdTA0NDJcXHUwNDQzXFx1MDQ0NFxcdTA0NDVcXHUwNDQ2XFx1MDQ0N1xcdTA0NDhcXHUwNDQ5XFx1MDQ0QVxcdTA0NEJcXHUwNDRDXFx1MDQ0RFxcdTA0NEVcXHhBNFwiXG4gICAgICB9LFxuICAgICAgXCJrb2k4clwiOiB7XG4gICAgICAgIFwidHlwZVwiOiBcIl9zYmNzXCIsXG4gICAgICAgIFwiY2hhcnNcIjogXCJcXHUyNTAwXFx1MjUwMlxcdTI1MENcXHUyNTEwXFx1MjUxNFxcdTI1MThcXHUyNTFDXFx1MjUyNFxcdTI1MkNcXHUyNTM0XFx1MjUzQ1xcdTI1ODBcXHUyNTg0XFx1MjU4OFxcdTI1OENcXHUyNTkwXFx1MjU5MVxcdTI1OTJcXHUyNTkzXFx1MjMyMFxcdTI1QTBcXHUyMjE5XFx1MjIxQVxcdTIyNDhcXHUyMjY0XFx1MjI2NVxceEEwXFx1MjMyMVxceEIwXFx4QjJcXHhCN1xceEY3XFx1MjU1MFxcdTI1NTFcXHUyNTUyXFx1MDQ1MVxcdTI1NTNcXHUyNTU0XFx1MjU1NVxcdTI1NTZcXHUyNTU3XFx1MjU1OFxcdTI1NTlcXHUyNTVBXFx1MjU1QlxcdTI1NUNcXHUyNTVEXFx1MjU1RVxcdTI1NUZcXHUyNTYwXFx1MjU2MVxcdTA0MDFcXHUyNTYyXFx1MjU2M1xcdTI1NjRcXHUyNTY1XFx1MjU2NlxcdTI1NjdcXHUyNTY4XFx1MjU2OVxcdTI1NkFcXHUyNTZCXFx1MjU2Q1xceEE5XFx1MDQ0RVxcdTA0MzBcXHUwNDMxXFx1MDQ0NlxcdTA0MzRcXHUwNDM1XFx1MDQ0NFxcdTA0MzNcXHUwNDQ1XFx1MDQzOFxcdTA0MzlcXHUwNDNBXFx1MDQzQlxcdTA0M0NcXHUwNDNEXFx1MDQzRVxcdTA0M0ZcXHUwNDRGXFx1MDQ0MFxcdTA0NDFcXHUwNDQyXFx1MDQ0M1xcdTA0MzZcXHUwNDMyXFx1MDQ0Q1xcdTA0NEJcXHUwNDM3XFx1MDQ0OFxcdTA0NERcXHUwNDQ5XFx1MDQ0N1xcdTA0NEFcXHUwNDJFXFx1MDQxMFxcdTA0MTFcXHUwNDI2XFx1MDQxNFxcdTA0MTVcXHUwNDI0XFx1MDQxM1xcdTA0MjVcXHUwNDE4XFx1MDQxOVxcdTA0MUFcXHUwNDFCXFx1MDQxQ1xcdTA0MURcXHUwNDFFXFx1MDQxRlxcdTA0MkZcXHUwNDIwXFx1MDQyMVxcdTA0MjJcXHUwNDIzXFx1MDQxNlxcdTA0MTJcXHUwNDJDXFx1MDQyQlxcdTA0MTdcXHUwNDI4XFx1MDQyRFxcdTA0MjlcXHUwNDI3XFx1MDQyQVwiXG4gICAgICB9LFxuICAgICAgXCJrb2k4dVwiOiB7XG4gICAgICAgIFwidHlwZVwiOiBcIl9zYmNzXCIsXG4gICAgICAgIFwiY2hhcnNcIjogXCJcXHUyNTAwXFx1MjUwMlxcdTI1MENcXHUyNTEwXFx1MjUxNFxcdTI1MThcXHUyNTFDXFx1MjUyNFxcdTI1MkNcXHUyNTM0XFx1MjUzQ1xcdTI1ODBcXHUyNTg0XFx1MjU4OFxcdTI1OENcXHUyNTkwXFx1MjU5MVxcdTI1OTJcXHUyNTkzXFx1MjMyMFxcdTI1QTBcXHUyMjE5XFx1MjIxQVxcdTIyNDhcXHUyMjY0XFx1MjI2NVxceEEwXFx1MjMyMVxceEIwXFx4QjJcXHhCN1xceEY3XFx1MjU1MFxcdTI1NTFcXHUyNTUyXFx1MDQ1MVxcdTA0NTRcXHUyNTU0XFx1MDQ1NlxcdTA0NTdcXHUyNTU3XFx1MjU1OFxcdTI1NTlcXHUyNTVBXFx1MjU1QlxcdTA0OTFcXHUyNTVEXFx1MjU1RVxcdTI1NUZcXHUyNTYwXFx1MjU2MVxcdTA0MDFcXHUwNDA0XFx1MjU2M1xcdTA0MDZcXHUwNDA3XFx1MjU2NlxcdTI1NjdcXHUyNTY4XFx1MjU2OVxcdTI1NkFcXHUwNDkwXFx1MjU2Q1xceEE5XFx1MDQ0RVxcdTA0MzBcXHUwNDMxXFx1MDQ0NlxcdTA0MzRcXHUwNDM1XFx1MDQ0NFxcdTA0MzNcXHUwNDQ1XFx1MDQzOFxcdTA0MzlcXHUwNDNBXFx1MDQzQlxcdTA0M0NcXHUwNDNEXFx1MDQzRVxcdTA0M0ZcXHUwNDRGXFx1MDQ0MFxcdTA0NDFcXHUwNDQyXFx1MDQ0M1xcdTA0MzZcXHUwNDMyXFx1MDQ0Q1xcdTA0NEJcXHUwNDM3XFx1MDQ0OFxcdTA0NERcXHUwNDQ5XFx1MDQ0N1xcdTA0NEFcXHUwNDJFXFx1MDQxMFxcdTA0MTFcXHUwNDI2XFx1MDQxNFxcdTA0MTVcXHUwNDI0XFx1MDQxM1xcdTA0MjVcXHUwNDE4XFx1MDQxOVxcdTA0MUFcXHUwNDFCXFx1MDQxQ1xcdTA0MURcXHUwNDFFXFx1MDQxRlxcdTA0MkZcXHUwNDIwXFx1MDQyMVxcdTA0MjJcXHUwNDIzXFx1MDQxNlxcdTA0MTJcXHUwNDJDXFx1MDQyQlxcdTA0MTdcXHUwNDI4XFx1MDQyRFxcdTA0MjlcXHUwNDI3XFx1MDQyQVwiXG4gICAgICB9LFxuICAgICAgXCJrb2k4cnVcIjoge1xuICAgICAgICBcInR5cGVcIjogXCJfc2Jjc1wiLFxuICAgICAgICBcImNoYXJzXCI6IFwiXFx1MjUwMFxcdTI1MDJcXHUyNTBDXFx1MjUxMFxcdTI1MTRcXHUyNTE4XFx1MjUxQ1xcdTI1MjRcXHUyNTJDXFx1MjUzNFxcdTI1M0NcXHUyNTgwXFx1MjU4NFxcdTI1ODhcXHUyNThDXFx1MjU5MFxcdTI1OTFcXHUyNTkyXFx1MjU5M1xcdTIzMjBcXHUyNUEwXFx1MjIxOVxcdTIyMUFcXHUyMjQ4XFx1MjI2NFxcdTIyNjVcXHhBMFxcdTIzMjFcXHhCMFxceEIyXFx4QjdcXHhGN1xcdTI1NTBcXHUyNTUxXFx1MjU1MlxcdTA0NTFcXHUwNDU0XFx1MjU1NFxcdTA0NTZcXHUwNDU3XFx1MjU1N1xcdTI1NThcXHUyNTU5XFx1MjU1QVxcdTI1NUJcXHUwNDkxXFx1MDQ1RVxcdTI1NUVcXHUyNTVGXFx1MjU2MFxcdTI1NjFcXHUwNDAxXFx1MDQwNFxcdTI1NjNcXHUwNDA2XFx1MDQwN1xcdTI1NjZcXHUyNTY3XFx1MjU2OFxcdTI1NjlcXHUyNTZBXFx1MDQ5MFxcdTA0MEVcXHhBOVxcdTA0NEVcXHUwNDMwXFx1MDQzMVxcdTA0NDZcXHUwNDM0XFx1MDQzNVxcdTA0NDRcXHUwNDMzXFx1MDQ0NVxcdTA0MzhcXHUwNDM5XFx1MDQzQVxcdTA0M0JcXHUwNDNDXFx1MDQzRFxcdTA0M0VcXHUwNDNGXFx1MDQ0RlxcdTA0NDBcXHUwNDQxXFx1MDQ0MlxcdTA0NDNcXHUwNDM2XFx1MDQzMlxcdTA0NENcXHUwNDRCXFx1MDQzN1xcdTA0NDhcXHUwNDREXFx1MDQ0OVxcdTA0NDdcXHUwNDRBXFx1MDQyRVxcdTA0MTBcXHUwNDExXFx1MDQyNlxcdTA0MTRcXHUwNDE1XFx1MDQyNFxcdTA0MTNcXHUwNDI1XFx1MDQxOFxcdTA0MTlcXHUwNDFBXFx1MDQxQlxcdTA0MUNcXHUwNDFEXFx1MDQxRVxcdTA0MUZcXHUwNDJGXFx1MDQyMFxcdTA0MjFcXHUwNDIyXFx1MDQyM1xcdTA0MTZcXHUwNDEyXFx1MDQyQ1xcdTA0MkJcXHUwNDE3XFx1MDQyOFxcdTA0MkRcXHUwNDI5XFx1MDQyN1xcdTA0MkFcIlxuICAgICAgfSxcbiAgICAgIFwia29pOHRcIjoge1xuICAgICAgICBcInR5cGVcIjogXCJfc2Jjc1wiLFxuICAgICAgICBcImNoYXJzXCI6IFwiXFx1MDQ5QlxcdTA0OTNcXHUyMDFBXFx1MDQ5MlxcdTIwMUVcXHUyMDI2XFx1MjAyMFxcdTIwMjFcXHVGRkZEXFx1MjAzMFxcdTA0QjNcXHUyMDM5XFx1MDRCMlxcdTA0QjdcXHUwNEI2XFx1RkZGRFxcdTA0OUFcXHUyMDE4XFx1MjAxOVxcdTIwMUNcXHUyMDFEXFx1MjAyMlxcdTIwMTNcXHUyMDE0XFx1RkZGRFxcdTIxMjJcXHVGRkZEXFx1MjAzQVxcdUZGRkRcXHVGRkZEXFx1RkZGRFxcdUZGRkRcXHVGRkZEXFx1MDRFRlxcdTA0RUVcXHUwNDUxXFx4QTRcXHUwNEUzXFx4QTZcXHhBN1xcdUZGRkRcXHVGRkZEXFx1RkZGRFxceEFCXFx4QUNcXHhBRFxceEFFXFx1RkZGRFxceEIwXFx4QjFcXHhCMlxcdTA0MDFcXHVGRkZEXFx1MDRFMlxceEI2XFx4QjdcXHVGRkZEXFx1MjExNlxcdUZGRkRcXHhCQlxcdUZGRkRcXHVGRkZEXFx1RkZGRFxceEE5XFx1MDQ0RVxcdTA0MzBcXHUwNDMxXFx1MDQ0NlxcdTA0MzRcXHUwNDM1XFx1MDQ0NFxcdTA0MzNcXHUwNDQ1XFx1MDQzOFxcdTA0MzlcXHUwNDNBXFx1MDQzQlxcdTA0M0NcXHUwNDNEXFx1MDQzRVxcdTA0M0ZcXHUwNDRGXFx1MDQ0MFxcdTA0NDFcXHUwNDQyXFx1MDQ0M1xcdTA0MzZcXHUwNDMyXFx1MDQ0Q1xcdTA0NEJcXHUwNDM3XFx1MDQ0OFxcdTA0NERcXHUwNDQ5XFx1MDQ0N1xcdTA0NEFcXHUwNDJFXFx1MDQxMFxcdTA0MTFcXHUwNDI2XFx1MDQxNFxcdTA0MTVcXHUwNDI0XFx1MDQxM1xcdTA0MjVcXHUwNDE4XFx1MDQxOVxcdTA0MUFcXHUwNDFCXFx1MDQxQ1xcdTA0MURcXHUwNDFFXFx1MDQxRlxcdTA0MkZcXHUwNDIwXFx1MDQyMVxcdTA0MjJcXHUwNDIzXFx1MDQxNlxcdTA0MTJcXHUwNDJDXFx1MDQyQlxcdTA0MTdcXHUwNDI4XFx1MDQyRFxcdTA0MjlcXHUwNDI3XFx1MDQyQVwiXG4gICAgICB9LFxuICAgICAgXCJhcm1zY2lpOFwiOiB7XG4gICAgICAgIFwidHlwZVwiOiBcIl9zYmNzXCIsXG4gICAgICAgIFwiY2hhcnNcIjogXCJcXHg4MFxceDgxXFx4ODJcXHg4M1xceDg0XFx4ODVcXHg4NlxceDg3XFx4ODhcXHg4OVxceDhBXFx4OEJcXHg4Q1xceDhEXFx4OEVcXHg4RlxceDkwXFx4OTFcXHg5MlxceDkzXFx4OTRcXHg5NVxceDk2XFx4OTdcXHg5OFxceDk5XFx4OUFcXHg5QlxceDlDXFx4OURcXHg5RVxceDlGXFx4QTBcXHVGRkZEXFx1MDU4N1xcdTA1ODkpKFxceEJCXFx4QUJcXHUyMDE0LlxcdTA1NUQsLVxcdTA1OEFcXHUyMDI2XFx1MDU1Q1xcdTA1NUJcXHUwNTVFXFx1MDUzMVxcdTA1NjFcXHUwNTMyXFx1MDU2MlxcdTA1MzNcXHUwNTYzXFx1MDUzNFxcdTA1NjRcXHUwNTM1XFx1MDU2NVxcdTA1MzZcXHUwNTY2XFx1MDUzN1xcdTA1NjdcXHUwNTM4XFx1MDU2OFxcdTA1MzlcXHUwNTY5XFx1MDUzQVxcdTA1NkFcXHUwNTNCXFx1MDU2QlxcdTA1M0NcXHUwNTZDXFx1MDUzRFxcdTA1NkRcXHUwNTNFXFx1MDU2RVxcdTA1M0ZcXHUwNTZGXFx1MDU0MFxcdTA1NzBcXHUwNTQxXFx1MDU3MVxcdTA1NDJcXHUwNTcyXFx1MDU0M1xcdTA1NzNcXHUwNTQ0XFx1MDU3NFxcdTA1NDVcXHUwNTc1XFx1MDU0NlxcdTA1NzZcXHUwNTQ3XFx1MDU3N1xcdTA1NDhcXHUwNTc4XFx1MDU0OVxcdTA1NzlcXHUwNTRBXFx1MDU3QVxcdTA1NEJcXHUwNTdCXFx1MDU0Q1xcdTA1N0NcXHUwNTREXFx1MDU3RFxcdTA1NEVcXHUwNTdFXFx1MDU0RlxcdTA1N0ZcXHUwNTUwXFx1MDU4MFxcdTA1NTFcXHUwNTgxXFx1MDU1MlxcdTA1ODJcXHUwNTUzXFx1MDU4M1xcdTA1NTRcXHUwNTg0XFx1MDU1NVxcdTA1ODVcXHUwNTU2XFx1MDU4NlxcdTA1NUFcXHVGRkZEXCJcbiAgICAgIH0sXG4gICAgICBcInJrMTA0OFwiOiB7XG4gICAgICAgIFwidHlwZVwiOiBcIl9zYmNzXCIsXG4gICAgICAgIFwiY2hhcnNcIjogXCJcXHUwNDAyXFx1MDQwM1xcdTIwMUFcXHUwNDUzXFx1MjAxRVxcdTIwMjZcXHUyMDIwXFx1MjAyMVxcdTIwQUNcXHUyMDMwXFx1MDQwOVxcdTIwMzlcXHUwNDBBXFx1MDQ5QVxcdTA0QkFcXHUwNDBGXFx1MDQ1MlxcdTIwMThcXHUyMDE5XFx1MjAxQ1xcdTIwMURcXHUyMDIyXFx1MjAxM1xcdTIwMTRcXHVGRkZEXFx1MjEyMlxcdTA0NTlcXHUyMDNBXFx1MDQ1QVxcdTA0OUJcXHUwNEJCXFx1MDQ1RlxceEEwXFx1MDRCMFxcdTA0QjFcXHUwNEQ4XFx4QTRcXHUwNEU4XFx4QTZcXHhBN1xcdTA0MDFcXHhBOVxcdTA0OTJcXHhBQlxceEFDXFx4QURcXHhBRVxcdTA0QUVcXHhCMFxceEIxXFx1MDQwNlxcdTA0NTZcXHUwNEU5XFx4QjVcXHhCNlxceEI3XFx1MDQ1MVxcdTIxMTZcXHUwNDkzXFx4QkJcXHUwNEQ5XFx1MDRBMlxcdTA0QTNcXHUwNEFGXFx1MDQxMFxcdTA0MTFcXHUwNDEyXFx1MDQxM1xcdTA0MTRcXHUwNDE1XFx1MDQxNlxcdTA0MTdcXHUwNDE4XFx1MDQxOVxcdTA0MUFcXHUwNDFCXFx1MDQxQ1xcdTA0MURcXHUwNDFFXFx1MDQxRlxcdTA0MjBcXHUwNDIxXFx1MDQyMlxcdTA0MjNcXHUwNDI0XFx1MDQyNVxcdTA0MjZcXHUwNDI3XFx1MDQyOFxcdTA0MjlcXHUwNDJBXFx1MDQyQlxcdTA0MkNcXHUwNDJEXFx1MDQyRVxcdTA0MkZcXHUwNDMwXFx1MDQzMVxcdTA0MzJcXHUwNDMzXFx1MDQzNFxcdTA0MzVcXHUwNDM2XFx1MDQzN1xcdTA0MzhcXHUwNDM5XFx1MDQzQVxcdTA0M0JcXHUwNDNDXFx1MDQzRFxcdTA0M0VcXHUwNDNGXFx1MDQ0MFxcdTA0NDFcXHUwNDQyXFx1MDQ0M1xcdTA0NDRcXHUwNDQ1XFx1MDQ0NlxcdTA0NDdcXHUwNDQ4XFx1MDQ0OVxcdTA0NEFcXHUwNDRCXFx1MDQ0Q1xcdTA0NERcXHUwNDRFXFx1MDQ0RlwiXG4gICAgICB9LFxuICAgICAgXCJ0Y3ZuXCI6IHtcbiAgICAgICAgXCJ0eXBlXCI6IFwiX3NiY3NcIixcbiAgICAgICAgXCJjaGFyc1wiOiBcIlxcMFxceERBXFx1MUVFNFx1MDAwM1xcdTFFRUFcXHUxRUVDXFx1MUVFRVxceDA3XFxiXHRcXG5cXHZcXGZcXHJcdTAwMEVcdTAwMEZcdTAwMTBcXHUxRUU4XFx1MUVGMFxcdTFFRjJcXHUxRUY2XFx1MUVGOFxceEREXFx1MUVGNFx1MDAxOFx1MDAxOVx1MDAxQVxceDFCXHUwMDFDXHUwMDFEXHUwMDFFXHUwMDFGICFcXFwiIyQlJicoKSorLC0uLzAxMjM0NTY3ODk6Ozw9Pj9AQUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVpbXFxcXF1eX2BhYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ent8fX5cXHg3RlxceEMwXFx1MUVBMlxceEMzXFx4QzFcXHUxRUEwXFx1MUVCNlxcdTFFQUNcXHhDOFxcdTFFQkFcXHUxRUJDXFx4QzlcXHUxRUI4XFx1MUVDNlxceENDXFx1MUVDOFxcdTAxMjhcXHhDRFxcdTFFQ0FcXHhEMlxcdTFFQ0VcXHhENVxceEQzXFx1MUVDQ1xcdTFFRDhcXHUxRURDXFx1MUVERVxcdTFFRTBcXHUxRURBXFx1MUVFMlxceEQ5XFx1MUVFNlxcdTAxNjhcXHhBMFxcdTAxMDJcXHhDMlxceENBXFx4RDRcXHUwMUEwXFx1MDFBRlxcdTAxMTBcXHUwMTAzXFx4RTJcXHhFQVxceEY0XFx1MDFBMVxcdTAxQjBcXHUwMTExXFx1MUVCMFxcdTAzMDBcXHUwMzA5XFx1MDMwM1xcdTAzMDFcXHUwMzIzXFx4RTBcXHUxRUEzXFx4RTNcXHhFMVxcdTFFQTFcXHUxRUIyXFx1MUVCMVxcdTFFQjNcXHUxRUI1XFx1MUVBRlxcdTFFQjRcXHUxRUFFXFx1MUVBNlxcdTFFQThcXHUxRUFBXFx1MUVBNFxcdTFFQzBcXHUxRUI3XFx1MUVBN1xcdTFFQTlcXHUxRUFCXFx1MUVBNVxcdTFFQURcXHhFOFxcdTFFQzJcXHUxRUJCXFx1MUVCRFxceEU5XFx1MUVCOVxcdTFFQzFcXHUxRUMzXFx1MUVDNVxcdTFFQkZcXHUxRUM3XFx4RUNcXHUxRUM5XFx1MUVDNFxcdTFFQkVcXHUxRUQyXFx1MDEyOVxceEVEXFx1MUVDQlxceEYyXFx1MUVENFxcdTFFQ0ZcXHhGNVxceEYzXFx1MUVDRFxcdTFFRDNcXHUxRUQ1XFx1MUVEN1xcdTFFRDFcXHUxRUQ5XFx1MUVERFxcdTFFREZcXHUxRUUxXFx1MUVEQlxcdTFFRTNcXHhGOVxcdTFFRDZcXHUxRUU3XFx1MDE2OVxceEZBXFx1MUVFNVxcdTFFRUJcXHUxRUVEXFx1MUVFRlxcdTFFRTlcXHUxRUYxXFx1MUVGM1xcdTFFRjdcXHUxRUY5XFx4RkRcXHUxRUY1XFx1MUVEMFwiXG4gICAgICB9LFxuICAgICAgXCJnZW9yZ2lhbmFjYWRlbXlcIjoge1xuICAgICAgICBcInR5cGVcIjogXCJfc2Jjc1wiLFxuICAgICAgICBcImNoYXJzXCI6IFwiXFx4ODBcXHg4MVxcdTIwMUFcXHUwMTkyXFx1MjAxRVxcdTIwMjZcXHUyMDIwXFx1MjAyMVxcdTAyQzZcXHUyMDMwXFx1MDE2MFxcdTIwMzlcXHUwMTUyXFx4OERcXHg4RVxceDhGXFx4OTBcXHUyMDE4XFx1MjAxOVxcdTIwMUNcXHUyMDFEXFx1MjAyMlxcdTIwMTNcXHUyMDE0XFx1MDJEQ1xcdTIxMjJcXHUwMTYxXFx1MjAzQVxcdTAxNTNcXHg5RFxceDlFXFx1MDE3OFxceEEwXFx4QTFcXHhBMlxceEEzXFx4QTRcXHhBNVxceEE2XFx4QTdcXHhBOFxceEE5XFx4QUFcXHhBQlxceEFDXFx4QURcXHhBRVxceEFGXFx4QjBcXHhCMVxceEIyXFx4QjNcXHhCNFxceEI1XFx4QjZcXHhCN1xceEI4XFx4QjlcXHhCQVxceEJCXFx4QkNcXHhCRFxceEJFXFx4QkZcXHUxMEQwXFx1MTBEMVxcdTEwRDJcXHUxMEQzXFx1MTBENFxcdTEwRDVcXHUxMEQ2XFx1MTBEN1xcdTEwRDhcXHUxMEQ5XFx1MTBEQVxcdTEwREJcXHUxMERDXFx1MTBERFxcdTEwREVcXHUxMERGXFx1MTBFMFxcdTEwRTFcXHUxMEUyXFx1MTBFM1xcdTEwRTRcXHUxMEU1XFx1MTBFNlxcdTEwRTdcXHUxMEU4XFx1MTBFOVxcdTEwRUFcXHUxMEVCXFx1MTBFQ1xcdTEwRURcXHUxMEVFXFx1MTBFRlxcdTEwRjBcXHUxMEYxXFx1MTBGMlxcdTEwRjNcXHUxMEY0XFx1MTBGNVxcdTEwRjZcXHhFN1xceEU4XFx4RTlcXHhFQVxceEVCXFx4RUNcXHhFRFxceEVFXFx4RUZcXHhGMFxceEYxXFx4RjJcXHhGM1xceEY0XFx4RjVcXHhGNlxceEY3XFx4RjhcXHhGOVxceEZBXFx4RkJcXHhGQ1xceEZEXFx4RkVcXHhGRlwiXG4gICAgICB9LFxuICAgICAgXCJnZW9yZ2lhbnBzXCI6IHtcbiAgICAgICAgXCJ0eXBlXCI6IFwiX3NiY3NcIixcbiAgICAgICAgXCJjaGFyc1wiOiBcIlxceDgwXFx4ODFcXHUyMDFBXFx1MDE5MlxcdTIwMUVcXHUyMDI2XFx1MjAyMFxcdTIwMjFcXHUwMkM2XFx1MjAzMFxcdTAxNjBcXHUyMDM5XFx1MDE1MlxceDhEXFx4OEVcXHg4RlxceDkwXFx1MjAxOFxcdTIwMTlcXHUyMDFDXFx1MjAxRFxcdTIwMjJcXHUyMDEzXFx1MjAxNFxcdTAyRENcXHUyMTIyXFx1MDE2MVxcdTIwM0FcXHUwMTUzXFx4OURcXHg5RVxcdTAxNzhcXHhBMFxceEExXFx4QTJcXHhBM1xceEE0XFx4QTVcXHhBNlxceEE3XFx4QThcXHhBOVxceEFBXFx4QUJcXHhBQ1xceEFEXFx4QUVcXHhBRlxceEIwXFx4QjFcXHhCMlxceEIzXFx4QjRcXHhCNVxceEI2XFx4QjdcXHhCOFxceEI5XFx4QkFcXHhCQlxceEJDXFx4QkRcXHhCRVxceEJGXFx1MTBEMFxcdTEwRDFcXHUxMEQyXFx1MTBEM1xcdTEwRDRcXHUxMEQ1XFx1MTBENlxcdTEwRjFcXHUxMEQ3XFx1MTBEOFxcdTEwRDlcXHUxMERBXFx1MTBEQlxcdTEwRENcXHUxMEYyXFx1MTBERFxcdTEwREVcXHUxMERGXFx1MTBFMFxcdTEwRTFcXHUxMEUyXFx1MTBGM1xcdTEwRTNcXHUxMEU0XFx1MTBFNVxcdTEwRTZcXHUxMEU3XFx1MTBFOFxcdTEwRTlcXHUxMEVBXFx1MTBFQlxcdTEwRUNcXHUxMEVEXFx1MTBFRVxcdTEwRjRcXHUxMEVGXFx1MTBGMFxcdTEwRjVcXHhFNlxceEU3XFx4RThcXHhFOVxceEVBXFx4RUJcXHhFQ1xceEVEXFx4RUVcXHhFRlxceEYwXFx4RjFcXHhGMlxceEYzXFx4RjRcXHhGNVxceEY2XFx4RjdcXHhGOFxceEY5XFx4RkFcXHhGQlxceEZDXFx4RkRcXHhGRVxceEZGXCJcbiAgICAgIH0sXG4gICAgICBcInB0MTU0XCI6IHtcbiAgICAgICAgXCJ0eXBlXCI6IFwiX3NiY3NcIixcbiAgICAgICAgXCJjaGFyc1wiOiBcIlxcdTA0OTZcXHUwNDkyXFx1MDRFRVxcdTA0OTNcXHUyMDFFXFx1MjAyNlxcdTA0QjZcXHUwNEFFXFx1MDRCMlxcdTA0QUZcXHUwNEEwXFx1MDRFMlxcdTA0QTJcXHUwNDlBXFx1MDRCQVxcdTA0QjhcXHUwNDk3XFx1MjAxOFxcdTIwMTlcXHUyMDFDXFx1MjAxRFxcdTIwMjJcXHUyMDEzXFx1MjAxNFxcdTA0QjNcXHUwNEI3XFx1MDRBMVxcdTA0RTNcXHUwNEEzXFx1MDQ5QlxcdTA0QkJcXHUwNEI5XFx4QTBcXHUwNDBFXFx1MDQ1RVxcdTA0MDhcXHUwNEU4XFx1MDQ5OFxcdTA0QjBcXHhBN1xcdTA0MDFcXHhBOVxcdTA0RDhcXHhBQlxceEFDXFx1MDRFRlxceEFFXFx1MDQ5Q1xceEIwXFx1MDRCMVxcdTA0MDZcXHUwNDU2XFx1MDQ5OVxcdTA0RTlcXHhCNlxceEI3XFx1MDQ1MVxcdTIxMTZcXHUwNEQ5XFx4QkJcXHUwNDU4XFx1MDRBQVxcdTA0QUJcXHUwNDlEXFx1MDQxMFxcdTA0MTFcXHUwNDEyXFx1MDQxM1xcdTA0MTRcXHUwNDE1XFx1MDQxNlxcdTA0MTdcXHUwNDE4XFx1MDQxOVxcdTA0MUFcXHUwNDFCXFx1MDQxQ1xcdTA0MURcXHUwNDFFXFx1MDQxRlxcdTA0MjBcXHUwNDIxXFx1MDQyMlxcdTA0MjNcXHUwNDI0XFx1MDQyNVxcdTA0MjZcXHUwNDI3XFx1MDQyOFxcdTA0MjlcXHUwNDJBXFx1MDQyQlxcdTA0MkNcXHUwNDJEXFx1MDQyRVxcdTA0MkZcXHUwNDMwXFx1MDQzMVxcdTA0MzJcXHUwNDMzXFx1MDQzNFxcdTA0MzVcXHUwNDM2XFx1MDQzN1xcdTA0MzhcXHUwNDM5XFx1MDQzQVxcdTA0M0JcXHUwNDNDXFx1MDQzRFxcdTA0M0VcXHUwNDNGXFx1MDQ0MFxcdTA0NDFcXHUwNDQyXFx1MDQ0M1xcdTA0NDRcXHUwNDQ1XFx1MDQ0NlxcdTA0NDdcXHUwNDQ4XFx1MDQ0OVxcdTA0NEFcXHUwNDRCXFx1MDQ0Q1xcdTA0NERcXHUwNDRFXFx1MDQ0RlwiXG4gICAgICB9LFxuICAgICAgXCJ2aXNjaWlcIjoge1xuICAgICAgICBcInR5cGVcIjogXCJfc2Jjc1wiLFxuICAgICAgICBcImNoYXJzXCI6IFwiXFwwXHUwMDAxXFx1MUVCMlx1MDAwM1x1MDAwNFxcdTFFQjRcXHUxRUFBXFx4MDdcXGJcdFxcblxcdlxcZlxcclx1MDAwRVx1MDAwRlx1MDAxMFx1MDAxMVx1MDAxMlx1MDAxM1xcdTFFRjZcdTAwMTVcdTAwMTZcdTAwMTdcdTAwMThcXHUxRUY4XHUwMDFBXFx4MUJcdTAwMUNcdTAwMURcXHUxRUY0XHUwMDFGICFcXFwiIyQlJicoKSorLC0uLzAxMjM0NTY3ODk6Ozw9Pj9AQUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVpbXFxcXF1eX2BhYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ent8fX5cXHg3RlxcdTFFQTBcXHUxRUFFXFx1MUVCMFxcdTFFQjZcXHUxRUE0XFx1MUVBNlxcdTFFQThcXHUxRUFDXFx1MUVCQ1xcdTFFQjhcXHUxRUJFXFx1MUVDMFxcdTFFQzJcXHUxRUM0XFx1MUVDNlxcdTFFRDBcXHUxRUQyXFx1MUVENFxcdTFFRDZcXHUxRUQ4XFx1MUVFMlxcdTFFREFcXHUxRURDXFx1MUVERVxcdTFFQ0FcXHUxRUNFXFx1MUVDQ1xcdTFFQzhcXHUxRUU2XFx1MDE2OFxcdTFFRTRcXHUxRUYyXFx4RDVcXHUxRUFGXFx1MUVCMVxcdTFFQjdcXHUxRUE1XFx1MUVBN1xcdTFFQTlcXHUxRUFEXFx1MUVCRFxcdTFFQjlcXHUxRUJGXFx1MUVDMVxcdTFFQzNcXHUxRUM1XFx1MUVDN1xcdTFFRDFcXHUxRUQzXFx1MUVENVxcdTFFRDdcXHUxRUUwXFx1MDFBMFxcdTFFRDlcXHUxRUREXFx1MUVERlxcdTFFQ0JcXHUxRUYwXFx1MUVFOFxcdTFFRUFcXHUxRUVDXFx1MDFBMVxcdTFFREJcXHUwMUFGXFx4QzBcXHhDMVxceEMyXFx4QzNcXHUxRUEyXFx1MDEwMlxcdTFFQjNcXHUxRUI1XFx4QzhcXHhDOVxceENBXFx1MUVCQVxceENDXFx4Q0RcXHUwMTI4XFx1MUVGM1xcdTAxMTBcXHUxRUU5XFx4RDJcXHhEM1xceEQ0XFx1MUVBMVxcdTFFRjdcXHUxRUVCXFx1MUVFRFxceEQ5XFx4REFcXHUxRUY5XFx1MUVGNVxceEREXFx1MUVFMVxcdTAxQjBcXHhFMFxceEUxXFx4RTJcXHhFM1xcdTFFQTNcXHUwMTAzXFx1MUVFRlxcdTFFQUJcXHhFOFxceEU5XFx4RUFcXHUxRUJCXFx4RUNcXHhFRFxcdTAxMjlcXHUxRUM5XFx1MDExMVxcdTFFRjFcXHhGMlxceEYzXFx4RjRcXHhGNVxcdTFFQ0ZcXHUxRUNEXFx1MUVFNVxceEY5XFx4RkFcXHUwMTY5XFx1MUVFN1xceEZEXFx1MUVFM1xcdTFFRUVcIlxuICAgICAgfSxcbiAgICAgIFwiaXNvNjQ2Y25cIjoge1xuICAgICAgICBcInR5cGVcIjogXCJfc2Jjc1wiLFxuICAgICAgICBcImNoYXJzXCI6IFwiXFwwXHUwMDAxXHUwMDAyXHUwMDAzXHUwMDA0XHUwMDA1XHUwMDA2XFx4MDdcXGJcdFxcblxcdlxcZlxcclx1MDAwRVx1MDAwRlx1MDAxMFx1MDAxMVx1MDAxMlx1MDAxM1x1MDAxNFx1MDAxNVx1MDAxNlx1MDAxN1x1MDAxOFx1MDAxOVx1MDAxQVxceDFCXHUwMDFDXHUwMDFEXHUwMDFFXHUwMDFGICFcXFwiI1xceEE1JSYnKCkqKywtLi8wMTIzNDU2Nzg5Ojs8PT4/QEFCQ0RFRkdISUpLTE1OT1BRUlNUVVZXWFlaW1xcXFxdXl9gYWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXp7fH1cXHUyMDNFXFx4N0ZcXHVGRkZEXFx1RkZGRFxcdUZGRkRcXHVGRkZEXFx1RkZGRFxcdUZGRkRcXHVGRkZEXFx1RkZGRFxcdUZGRkRcXHVGRkZEXFx1RkZGRFxcdUZGRkRcXHVGRkZEXFx1RkZGRFxcdUZGRkRcXHVGRkZEXFx1RkZGRFxcdUZGRkRcXHVGRkZEXFx1RkZGRFxcdUZGRkRcXHVGRkZEXFx1RkZGRFxcdUZGRkRcXHVGRkZEXFx1RkZGRFxcdUZGRkRcXHVGRkZEXFx1RkZGRFxcdUZGRkRcXHVGRkZEXFx1RkZGRFxcdUZGRkRcXHVGRkZEXFx1RkZGRFxcdUZGRkRcXHVGRkZEXFx1RkZGRFxcdUZGRkRcXHVGRkZEXFx1RkZGRFxcdUZGRkRcXHVGRkZEXFx1RkZGRFxcdUZGRkRcXHVGRkZEXFx1RkZGRFxcdUZGRkRcXHVGRkZEXFx1RkZGRFxcdUZGRkRcXHVGRkZEXFx1RkZGRFxcdUZGRkRcXHVGRkZEXFx1RkZGRFxcdUZGRkRcXHVGRkZEXFx1RkZGRFxcdUZGRkRcXHVGRkZEXFx1RkZGRFxcdUZGRkRcXHVGRkZEXFx1RkZGRFxcdUZGRkRcXHVGRkZEXFx1RkZGRFxcdUZGRkRcXHVGRkZEXFx1RkZGRFxcdUZGRkRcXHVGRkZEXFx1RkZGRFxcdUZGRkRcXHVGRkZEXFx1RkZGRFxcdUZGRkRcXHVGRkZEXFx1RkZGRFxcdUZGRkRcXHVGRkZEXFx1RkZGRFxcdUZGRkRcXHVGRkZEXFx1RkZGRFxcdUZGRkRcXHVGRkZEXFx1RkZGRFxcdUZGRkRcXHVGRkZEXFx1RkZGRFxcdUZGRkRcXHVGRkZEXFx1RkZGRFxcdUZGRkRcXHVGRkZEXFx1RkZGRFxcdUZGRkRcXHVGRkZEXFx1RkZGRFxcdUZGRkRcXHVGRkZEXFx1RkZGRFxcdUZGRkRcXHVGRkZEXFx1RkZGRFxcdUZGRkRcXHVGRkZEXFx1RkZGRFxcdUZGRkRcXHVGRkZEXFx1RkZGRFxcdUZGRkRcXHVGRkZEXFx1RkZGRFxcdUZGRkRcXHVGRkZEXFx1RkZGRFxcdUZGRkRcXHVGRkZEXFx1RkZGRFxcdUZGRkRcXHVGRkZEXFx1RkZGRFxcdUZGRkRcXHVGRkZEXFx1RkZGRFwiXG4gICAgICB9LFxuICAgICAgXCJpc282NDZqcFwiOiB7XG4gICAgICAgIFwidHlwZVwiOiBcIl9zYmNzXCIsXG4gICAgICAgIFwiY2hhcnNcIjogXCJcXDBcdTAwMDFcdTAwMDJcdTAwMDNcdTAwMDRcdTAwMDVcdTAwMDZcXHgwN1xcYlx0XFxuXFx2XFxmXFxyXHUwMDBFXHUwMDBGXHUwMDEwXHUwMDExXHUwMDEyXHUwMDEzXHUwMDE0XHUwMDE1XHUwMDE2XHUwMDE3XHUwMDE4XHUwMDE5XHUwMDFBXFx4MUJcdTAwMUNcdTAwMURcdTAwMUVcdTAwMUYgIVxcXCIjJCUmJygpKissLS4vMDEyMzQ1Njc4OTo7PD0+P0BBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWltcXHhBNV1eX2BhYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ent8fVxcdTIwM0VcXHg3RlxcdUZGRkRcXHVGRkZEXFx1RkZGRFxcdUZGRkRcXHVGRkZEXFx1RkZGRFxcdUZGRkRcXHVGRkZEXFx1RkZGRFxcdUZGRkRcXHVGRkZEXFx1RkZGRFxcdUZGRkRcXHVGRkZEXFx1RkZGRFxcdUZGRkRcXHVGRkZEXFx1RkZGRFxcdUZGRkRcXHVGRkZEXFx1RkZGRFxcdUZGRkRcXHVGRkZEXFx1RkZGRFxcdUZGRkRcXHVGRkZEXFx1RkZGRFxcdUZGRkRcXHVGRkZEXFx1RkZGRFxcdUZGRkRcXHVGRkZEXFx1RkZGRFxcdUZGRkRcXHVGRkZEXFx1RkZGRFxcdUZGRkRcXHVGRkZEXFx1RkZGRFxcdUZGRkRcXHVGRkZEXFx1RkZGRFxcdUZGRkRcXHVGRkZEXFx1RkZGRFxcdUZGRkRcXHVGRkZEXFx1RkZGRFxcdUZGRkRcXHVGRkZEXFx1RkZGRFxcdUZGRkRcXHVGRkZEXFx1RkZGRFxcdUZGRkRcXHVGRkZEXFx1RkZGRFxcdUZGRkRcXHVGRkZEXFx1RkZGRFxcdUZGRkRcXHVGRkZEXFx1RkZGRFxcdUZGRkRcXHVGRkZEXFx1RkZGRFxcdUZGRkRcXHVGRkZEXFx1RkZGRFxcdUZGRkRcXHVGRkZEXFx1RkZGRFxcdUZGRkRcXHVGRkZEXFx1RkZGRFxcdUZGRkRcXHVGRkZEXFx1RkZGRFxcdUZGRkRcXHVGRkZEXFx1RkZGRFxcdUZGRkRcXHVGRkZEXFx1RkZGRFxcdUZGRkRcXHVGRkZEXFx1RkZGRFxcdUZGRkRcXHVGRkZEXFx1RkZGRFxcdUZGRkRcXHVGRkZEXFx1RkZGRFxcdUZGRkRcXHVGRkZEXFx1RkZGRFxcdUZGRkRcXHVGRkZEXFx1RkZGRFxcdUZGRkRcXHVGRkZEXFx1RkZGRFxcdUZGRkRcXHVGRkZEXFx1RkZGRFxcdUZGRkRcXHVGRkZEXFx1RkZGRFxcdUZGRkRcXHVGRkZEXFx1RkZGRFxcdUZGRkRcXHVGRkZEXFx1RkZGRFxcdUZGRkRcXHVGRkZEXFx1RkZGRFxcdUZGRkRcXHVGRkZEXFx1RkZGRFxcdUZGRkRcXHVGRkZEXFx1RkZGRFxcdUZGRkRcXHVGRkZEXFx1RkZGRFxcdUZGRkRcXHVGRkZEXCJcbiAgICAgIH0sXG4gICAgICBcImhwcm9tYW44XCI6IHtcbiAgICAgICAgXCJ0eXBlXCI6IFwiX3NiY3NcIixcbiAgICAgICAgXCJjaGFyc1wiOiBcIlxceDgwXFx4ODFcXHg4MlxceDgzXFx4ODRcXHg4NVxceDg2XFx4ODdcXHg4OFxceDg5XFx4OEFcXHg4QlxceDhDXFx4OERcXHg4RVxceDhGXFx4OTBcXHg5MVxceDkyXFx4OTNcXHg5NFxceDk1XFx4OTZcXHg5N1xceDk4XFx4OTlcXHg5QVxceDlCXFx4OUNcXHg5RFxceDlFXFx4OUZcXHhBMFxceEMwXFx4QzJcXHhDOFxceENBXFx4Q0JcXHhDRVxceENGXFx4QjRcXHUwMkNCXFx1MDJDNlxceEE4XFx1MDJEQ1xceEQ5XFx4REJcXHUyMEE0XFx4QUZcXHhERFxceEZEXFx4QjBcXHhDN1xceEU3XFx4RDFcXHhGMVxceEExXFx4QkZcXHhBNFxceEEzXFx4QTVcXHhBN1xcdTAxOTJcXHhBMlxceEUyXFx4RUFcXHhGNFxceEZCXFx4RTFcXHhFOVxceEYzXFx4RkFcXHhFMFxceEU4XFx4RjJcXHhGOVxceEU0XFx4RUJcXHhGNlxceEZDXFx4QzVcXHhFRVxceEQ4XFx4QzZcXHhFNVxceEVEXFx4RjhcXHhFNlxceEM0XFx4RUNcXHhENlxceERDXFx4QzlcXHhFRlxceERGXFx4RDRcXHhDMVxceEMzXFx4RTNcXHhEMFxceEYwXFx4Q0RcXHhDQ1xceEQzXFx4RDJcXHhENVxceEY1XFx1MDE2MFxcdTAxNjFcXHhEQVxcdTAxNzhcXHhGRlxceERFXFx4RkVcXHhCN1xceEI1XFx4QjZcXHhCRVxcdTIwMTRcXHhCQ1xceEJEXFx4QUFcXHhCQVxceEFCXFx1MjVBMFxceEJCXFx4QjFcXHVGRkZEXCJcbiAgICAgIH0sXG4gICAgICBcIm1hY2ludG9zaFwiOiB7XG4gICAgICAgIFwidHlwZVwiOiBcIl9zYmNzXCIsXG4gICAgICAgIFwiY2hhcnNcIjogXCJcXHhDNFxceEM1XFx4QzdcXHhDOVxceEQxXFx4RDZcXHhEQ1xceEUxXFx4RTBcXHhFMlxceEU0XFx4RTNcXHhFNVxceEU3XFx4RTlcXHhFOFxceEVBXFx4RUJcXHhFRFxceEVDXFx4RUVcXHhFRlxceEYxXFx4RjNcXHhGMlxceEY0XFx4RjZcXHhGNVxceEZBXFx4RjlcXHhGQlxceEZDXFx1MjAyMFxceEIwXFx4QTJcXHhBM1xceEE3XFx1MjAyMlxceEI2XFx4REZcXHhBRVxceEE5XFx1MjEyMlxceEI0XFx4QThcXHUyMjYwXFx4QzZcXHhEOFxcdTIyMUVcXHhCMVxcdTIyNjRcXHUyMjY1XFx4QTVcXHhCNVxcdTIyMDJcXHUyMjExXFx1MjIwRlxcdTAzQzBcXHUyMjJCXFx4QUFcXHhCQVxcdTIxMjZcXHhFNlxceEY4XFx4QkZcXHhBMVxceEFDXFx1MjIxQVxcdTAxOTJcXHUyMjQ4XFx1MjIwNlxceEFCXFx4QkJcXHUyMDI2XFx4QTBcXHhDMFxceEMzXFx4RDVcXHUwMTUyXFx1MDE1M1xcdTIwMTNcXHUyMDE0XFx1MjAxQ1xcdTIwMURcXHUyMDE4XFx1MjAxOVxceEY3XFx1MjVDQVxceEZGXFx1MDE3OFxcdTIwNDRcXHhBNFxcdTIwMzlcXHUyMDNBXFx1RkIwMVxcdUZCMDJcXHUyMDIxXFx4QjdcXHUyMDFBXFx1MjAxRVxcdTIwMzBcXHhDMlxceENBXFx4QzFcXHhDQlxceEM4XFx4Q0RcXHhDRVxceENGXFx4Q0NcXHhEM1xceEQ0XFx1RkZGRFxceEQyXFx4REFcXHhEQlxceEQ5XFx1MDEzMVxcdTAyQzZcXHUwMkRDXFx4QUZcXHUwMkQ4XFx1MDJEOVxcdTAyREFcXHhCOFxcdTAyRERcXHUwMkRCXFx1MDJDN1wiXG4gICAgICB9LFxuICAgICAgXCJhc2NpaVwiOiB7XG4gICAgICAgIFwidHlwZVwiOiBcIl9zYmNzXCIsXG4gICAgICAgIFwiY2hhcnNcIjogXCJcXHVGRkZEXFx1RkZGRFxcdUZGRkRcXHVGRkZEXFx1RkZGRFxcdUZGRkRcXHVGRkZEXFx1RkZGRFxcdUZGRkRcXHVGRkZEXFx1RkZGRFxcdUZGRkRcXHVGRkZEXFx1RkZGRFxcdUZGRkRcXHVGRkZEXFx1RkZGRFxcdUZGRkRcXHVGRkZEXFx1RkZGRFxcdUZGRkRcXHVGRkZEXFx1RkZGRFxcdUZGRkRcXHVGRkZEXFx1RkZGRFxcdUZGRkRcXHVGRkZEXFx1RkZGRFxcdUZGRkRcXHVGRkZEXFx1RkZGRFxcdUZGRkRcXHVGRkZEXFx1RkZGRFxcdUZGRkRcXHVGRkZEXFx1RkZGRFxcdUZGRkRcXHVGRkZEXFx1RkZGRFxcdUZGRkRcXHVGRkZEXFx1RkZGRFxcdUZGRkRcXHVGRkZEXFx1RkZGRFxcdUZGRkRcXHVGRkZEXFx1RkZGRFxcdUZGRkRcXHVGRkZEXFx1RkZGRFxcdUZGRkRcXHVGRkZEXFx1RkZGRFxcdUZGRkRcXHVGRkZEXFx1RkZGRFxcdUZGRkRcXHVGRkZEXFx1RkZGRFxcdUZGRkRcXHVGRkZEXFx1RkZGRFxcdUZGRkRcXHVGRkZEXFx1RkZGRFxcdUZGRkRcXHVGRkZEXFx1RkZGRFxcdUZGRkRcXHVGRkZEXFx1RkZGRFxcdUZGRkRcXHVGRkZEXFx1RkZGRFxcdUZGRkRcXHVGRkZEXFx1RkZGRFxcdUZGRkRcXHVGRkZEXFx1RkZGRFxcdUZGRkRcXHVGRkZEXFx1RkZGRFxcdUZGRkRcXHVGRkZEXFx1RkZGRFxcdUZGRkRcXHVGRkZEXFx1RkZGRFxcdUZGRkRcXHVGRkZEXFx1RkZGRFxcdUZGRkRcXHVGRkZEXFx1RkZGRFxcdUZGRkRcXHVGRkZEXFx1RkZGRFxcdUZGRkRcXHVGRkZEXFx1RkZGRFxcdUZGRkRcXHVGRkZEXFx1RkZGRFxcdUZGRkRcXHVGRkZEXFx1RkZGRFxcdUZGRkRcXHVGRkZEXFx1RkZGRFxcdUZGRkRcXHVGRkZEXFx1RkZGRFxcdUZGRkRcXHVGRkZEXFx1RkZGRFxcdUZGRkRcXHVGRkZEXFx1RkZGRFxcdUZGRkRcXHVGRkZEXFx1RkZGRFxcdUZGRkRcXHVGRkZEXFx1RkZGRFwiXG4gICAgICB9LFxuICAgICAgXCJ0aXM2MjBcIjoge1xuICAgICAgICBcInR5cGVcIjogXCJfc2Jjc1wiLFxuICAgICAgICBcImNoYXJzXCI6IFwiXFx1RkZGRFxcdUZGRkRcXHVGRkZEXFx1RkZGRFxcdUZGRkRcXHVGRkZEXFx1RkZGRFxcdUZGRkRcXHVGRkZEXFx1RkZGRFxcdUZGRkRcXHVGRkZEXFx1RkZGRFxcdUZGRkRcXHVGRkZEXFx1RkZGRFxcdUZGRkRcXHVGRkZEXFx1RkZGRFxcdUZGRkRcXHVGRkZEXFx1RkZGRFxcdUZGRkRcXHVGRkZEXFx1RkZGRFxcdUZGRkRcXHVGRkZEXFx1RkZGRFxcdUZGRkRcXHVGRkZEXFx1RkZGRFxcdUZGRkRcXHVGRkZEXFx1MEUwMVxcdTBFMDJcXHUwRTAzXFx1MEUwNFxcdTBFMDVcXHUwRTA2XFx1MEUwN1xcdTBFMDhcXHUwRTA5XFx1MEUwQVxcdTBFMEJcXHUwRTBDXFx1MEUwRFxcdTBFMEVcXHUwRTBGXFx1MEUxMFxcdTBFMTFcXHUwRTEyXFx1MEUxM1xcdTBFMTRcXHUwRTE1XFx1MEUxNlxcdTBFMTdcXHUwRTE4XFx1MEUxOVxcdTBFMUFcXHUwRTFCXFx1MEUxQ1xcdTBFMURcXHUwRTFFXFx1MEUxRlxcdTBFMjBcXHUwRTIxXFx1MEUyMlxcdTBFMjNcXHUwRTI0XFx1MEUyNVxcdTBFMjZcXHUwRTI3XFx1MEUyOFxcdTBFMjlcXHUwRTJBXFx1MEUyQlxcdTBFMkNcXHUwRTJEXFx1MEUyRVxcdTBFMkZcXHUwRTMwXFx1MEUzMVxcdTBFMzJcXHUwRTMzXFx1MEUzNFxcdTBFMzVcXHUwRTM2XFx1MEUzN1xcdTBFMzhcXHUwRTM5XFx1MEUzQVxcdUZGRkRcXHVGRkZEXFx1RkZGRFxcdUZGRkRcXHUwRTNGXFx1MEU0MFxcdTBFNDFcXHUwRTQyXFx1MEU0M1xcdTBFNDRcXHUwRTQ1XFx1MEU0NlxcdTBFNDdcXHUwRTQ4XFx1MEU0OVxcdTBFNEFcXHUwRTRCXFx1MEU0Q1xcdTBFNERcXHUwRTRFXFx1MEU0RlxcdTBFNTBcXHUwRTUxXFx1MEU1MlxcdTBFNTNcXHUwRTU0XFx1MEU1NVxcdTBFNTZcXHUwRTU3XFx1MEU1OFxcdTBFNTlcXHUwRTVBXFx1MEU1QlxcdUZGRkRcXHVGRkZEXFx1RkZGRFxcdUZGRkRcIlxuICAgICAgfVxuICAgIH07XG4gIH1cbn0pO1xuXG4vLyBub2RlX21vZHVsZXMvcmF3LWJvZHkvbm9kZV9tb2R1bGVzL2ljb252LWxpdGUvZW5jb2RpbmdzL2RiY3MtY29kZWMuanNcbnZhciByZXF1aXJlX2RiY3NfY29kZWMgPSBfX2NvbW1vbkpTKHtcbiAgXCJub2RlX21vZHVsZXMvcmF3LWJvZHkvbm9kZV9tb2R1bGVzL2ljb252LWxpdGUvZW5jb2RpbmdzL2RiY3MtY29kZWMuanNcIihleHBvcnRzMikge1xuICAgIFwidXNlIHN0cmljdFwiO1xuICAgIHZhciBCdWZmZXIyID0gcmVxdWlyZV9zYWZlcigpLkJ1ZmZlcjtcbiAgICBleHBvcnRzMi5fZGJjcyA9IERCQ1NDb2RlYztcbiAgICB2YXIgVU5BU1NJR05FRCA9IC0xO1xuICAgIHZhciBHQjE4MDMwX0NPREUgPSAtMjtcbiAgICB2YXIgU0VRX1NUQVJUID0gLTEwO1xuICAgIHZhciBOT0RFX1NUQVJUID0gLTFlMztcbiAgICB2YXIgVU5BU1NJR05FRF9OT0RFID0gbmV3IEFycmF5KDI1Nik7XG4gICAgdmFyIERFRl9DSEFSID0gLTE7XG4gICAgZm9yIChpID0gMDsgaSA8IDI1NjsgaSsrKVxuICAgICAgVU5BU1NJR05FRF9OT0RFW2ldID0gVU5BU1NJR05FRDtcbiAgICB2YXIgaTtcbiAgICBmdW5jdGlvbiBEQkNTQ29kZWMoY29kZWNPcHRpb25zLCBpY29udikge1xuICAgICAgdGhpcy5lbmNvZGluZ05hbWUgPSBjb2RlY09wdGlvbnMuZW5jb2RpbmdOYW1lO1xuICAgICAgaWYgKCFjb2RlY09wdGlvbnMpXG4gICAgICAgIHRocm93IG5ldyBFcnJvcihcIkRCQ1MgY29kZWMgaXMgY2FsbGVkIHdpdGhvdXQgdGhlIGRhdGEuXCIpO1xuICAgICAgaWYgKCFjb2RlY09wdGlvbnMudGFibGUpXG4gICAgICAgIHRocm93IG5ldyBFcnJvcihcIkVuY29kaW5nICdcIiArIHRoaXMuZW5jb2RpbmdOYW1lICsgXCInIGhhcyBubyBkYXRhLlwiKTtcbiAgICAgIHZhciBtYXBwaW5nVGFibGUgPSBjb2RlY09wdGlvbnMudGFibGUoKTtcbiAgICAgIHRoaXMuZGVjb2RlVGFibGVzID0gW107XG4gICAgICB0aGlzLmRlY29kZVRhYmxlc1swXSA9IFVOQVNTSUdORURfTk9ERS5zbGljZSgwKTtcbiAgICAgIHRoaXMuZGVjb2RlVGFibGVTZXEgPSBbXTtcbiAgICAgIGZvciAodmFyIGkyID0gMDsgaTIgPCBtYXBwaW5nVGFibGUubGVuZ3RoOyBpMisrKVxuICAgICAgICB0aGlzLl9hZGREZWNvZGVDaHVuayhtYXBwaW5nVGFibGVbaTJdKTtcbiAgICAgIGlmICh0eXBlb2YgY29kZWNPcHRpb25zLmdiMTgwMzAgPT09IFwiZnVuY3Rpb25cIikge1xuICAgICAgICB0aGlzLmdiMTgwMzAgPSBjb2RlY09wdGlvbnMuZ2IxODAzMCgpO1xuICAgICAgICB2YXIgY29tbW9uVGhpcmRCeXRlTm9kZUlkeCA9IHRoaXMuZGVjb2RlVGFibGVzLmxlbmd0aDtcbiAgICAgICAgdGhpcy5kZWNvZGVUYWJsZXMucHVzaChVTkFTU0lHTkVEX05PREUuc2xpY2UoMCkpO1xuICAgICAgICB2YXIgY29tbW9uRm91cnRoQnl0ZU5vZGVJZHggPSB0aGlzLmRlY29kZVRhYmxlcy5sZW5ndGg7XG4gICAgICAgIHRoaXMuZGVjb2RlVGFibGVzLnB1c2goVU5BU1NJR05FRF9OT0RFLnNsaWNlKDApKTtcbiAgICAgICAgdmFyIGZpcnN0Qnl0ZU5vZGUgPSB0aGlzLmRlY29kZVRhYmxlc1swXTtcbiAgICAgICAgZm9yICh2YXIgaTIgPSAxMjk7IGkyIDw9IDI1NDsgaTIrKykge1xuICAgICAgICAgIHZhciBzZWNvbmRCeXRlTm9kZSA9IHRoaXMuZGVjb2RlVGFibGVzW05PREVfU1RBUlQgLSBmaXJzdEJ5dGVOb2RlW2kyXV07XG4gICAgICAgICAgZm9yICh2YXIgaiA9IDQ4OyBqIDw9IDU3OyBqKyspIHtcbiAgICAgICAgICAgIGlmIChzZWNvbmRCeXRlTm9kZVtqXSA9PT0gVU5BU1NJR05FRCkge1xuICAgICAgICAgICAgICBzZWNvbmRCeXRlTm9kZVtqXSA9IE5PREVfU1RBUlQgLSBjb21tb25UaGlyZEJ5dGVOb2RlSWR4O1xuICAgICAgICAgICAgfSBlbHNlIGlmIChzZWNvbmRCeXRlTm9kZVtqXSA+IE5PREVfU1RBUlQpIHtcbiAgICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKFwiZ2IxODAzMCBkZWNvZGUgdGFibGVzIGNvbmZsaWN0IGF0IGJ5dGUgMlwiKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHZhciB0aGlyZEJ5dGVOb2RlID0gdGhpcy5kZWNvZGVUYWJsZXNbTk9ERV9TVEFSVCAtIHNlY29uZEJ5dGVOb2RlW2pdXTtcbiAgICAgICAgICAgIGZvciAodmFyIGsgPSAxMjk7IGsgPD0gMjU0OyBrKyspIHtcbiAgICAgICAgICAgICAgaWYgKHRoaXJkQnl0ZU5vZGVba10gPT09IFVOQVNTSUdORUQpIHtcbiAgICAgICAgICAgICAgICB0aGlyZEJ5dGVOb2RlW2tdID0gTk9ERV9TVEFSVCAtIGNvbW1vbkZvdXJ0aEJ5dGVOb2RlSWR4O1xuICAgICAgICAgICAgICB9IGVsc2UgaWYgKHRoaXJkQnl0ZU5vZGVba10gPT09IE5PREVfU1RBUlQgLSBjb21tb25Gb3VydGhCeXRlTm9kZUlkeCkge1xuICAgICAgICAgICAgICAgIGNvbnRpbnVlO1xuICAgICAgICAgICAgICB9IGVsc2UgaWYgKHRoaXJkQnl0ZU5vZGVba10gPiBOT0RFX1NUQVJUKSB7XG4gICAgICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKFwiZ2IxODAzMCBkZWNvZGUgdGFibGVzIGNvbmZsaWN0IGF0IGJ5dGUgM1wiKTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB2YXIgZm91cnRoQnl0ZU5vZGUgPSB0aGlzLmRlY29kZVRhYmxlc1tOT0RFX1NUQVJUIC0gdGhpcmRCeXRlTm9kZVtrXV07XG4gICAgICAgICAgICAgIGZvciAodmFyIGwgPSA0ODsgbCA8PSA1NzsgbCsrKSB7XG4gICAgICAgICAgICAgICAgaWYgKGZvdXJ0aEJ5dGVOb2RlW2xdID09PSBVTkFTU0lHTkVEKVxuICAgICAgICAgICAgICAgICAgZm91cnRoQnl0ZU5vZGVbbF0gPSBHQjE4MDMwX0NPREU7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIHRoaXMuZGVmYXVsdENoYXJVbmljb2RlID0gaWNvbnYuZGVmYXVsdENoYXJVbmljb2RlO1xuICAgICAgdGhpcy5lbmNvZGVUYWJsZSA9IFtdO1xuICAgICAgdGhpcy5lbmNvZGVUYWJsZVNlcSA9IFtdO1xuICAgICAgdmFyIHNraXBFbmNvZGVDaGFycyA9IHt9O1xuICAgICAgaWYgKGNvZGVjT3B0aW9ucy5lbmNvZGVTa2lwVmFscylcbiAgICAgICAgZm9yICh2YXIgaTIgPSAwOyBpMiA8IGNvZGVjT3B0aW9ucy5lbmNvZGVTa2lwVmFscy5sZW5ndGg7IGkyKyspIHtcbiAgICAgICAgICB2YXIgdmFsID0gY29kZWNPcHRpb25zLmVuY29kZVNraXBWYWxzW2kyXTtcbiAgICAgICAgICBpZiAodHlwZW9mIHZhbCA9PT0gXCJudW1iZXJcIilcbiAgICAgICAgICAgIHNraXBFbmNvZGVDaGFyc1t2YWxdID0gdHJ1ZTtcbiAgICAgICAgICBlbHNlXG4gICAgICAgICAgICBmb3IgKHZhciBqID0gdmFsLmZyb207IGogPD0gdmFsLnRvOyBqKyspXG4gICAgICAgICAgICAgIHNraXBFbmNvZGVDaGFyc1tqXSA9IHRydWU7XG4gICAgICAgIH1cbiAgICAgIHRoaXMuX2ZpbGxFbmNvZGVUYWJsZSgwLCAwLCBza2lwRW5jb2RlQ2hhcnMpO1xuICAgICAgaWYgKGNvZGVjT3B0aW9ucy5lbmNvZGVBZGQpIHtcbiAgICAgICAgZm9yICh2YXIgdUNoYXIgaW4gY29kZWNPcHRpb25zLmVuY29kZUFkZClcbiAgICAgICAgICBpZiAoT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKGNvZGVjT3B0aW9ucy5lbmNvZGVBZGQsIHVDaGFyKSlcbiAgICAgICAgICAgIHRoaXMuX3NldEVuY29kZUNoYXIodUNoYXIuY2hhckNvZGVBdCgwKSwgY29kZWNPcHRpb25zLmVuY29kZUFkZFt1Q2hhcl0pO1xuICAgICAgfVxuICAgICAgdGhpcy5kZWZDaGFyU0IgPSB0aGlzLmVuY29kZVRhYmxlWzBdW2ljb252LmRlZmF1bHRDaGFyU2luZ2xlQnl0ZS5jaGFyQ29kZUF0KDApXTtcbiAgICAgIGlmICh0aGlzLmRlZkNoYXJTQiA9PT0gVU5BU1NJR05FRCkgdGhpcy5kZWZDaGFyU0IgPSB0aGlzLmVuY29kZVRhYmxlWzBdW1wiP1wiXTtcbiAgICAgIGlmICh0aGlzLmRlZkNoYXJTQiA9PT0gVU5BU1NJR05FRCkgdGhpcy5kZWZDaGFyU0IgPSBcIj9cIi5jaGFyQ29kZUF0KDApO1xuICAgIH1cbiAgICBEQkNTQ29kZWMucHJvdG90eXBlLmVuY29kZXIgPSBEQkNTRW5jb2RlcjtcbiAgICBEQkNTQ29kZWMucHJvdG90eXBlLmRlY29kZXIgPSBEQkNTRGVjb2RlcjtcbiAgICBEQkNTQ29kZWMucHJvdG90eXBlLl9nZXREZWNvZGVUcmllTm9kZSA9IGZ1bmN0aW9uKGFkZHIpIHtcbiAgICAgIHZhciBieXRlcyA9IFtdO1xuICAgICAgZm9yICg7IGFkZHIgPiAwOyBhZGRyID4+Pj0gOClcbiAgICAgICAgYnl0ZXMucHVzaChhZGRyICYgMjU1KTtcbiAgICAgIGlmIChieXRlcy5sZW5ndGggPT0gMClcbiAgICAgICAgYnl0ZXMucHVzaCgwKTtcbiAgICAgIHZhciBub2RlID0gdGhpcy5kZWNvZGVUYWJsZXNbMF07XG4gICAgICBmb3IgKHZhciBpMiA9IGJ5dGVzLmxlbmd0aCAtIDE7IGkyID4gMDsgaTItLSkge1xuICAgICAgICB2YXIgdmFsID0gbm9kZVtieXRlc1tpMl1dO1xuICAgICAgICBpZiAodmFsID09IFVOQVNTSUdORUQpIHtcbiAgICAgICAgICBub2RlW2J5dGVzW2kyXV0gPSBOT0RFX1NUQVJUIC0gdGhpcy5kZWNvZGVUYWJsZXMubGVuZ3RoO1xuICAgICAgICAgIHRoaXMuZGVjb2RlVGFibGVzLnB1c2gobm9kZSA9IFVOQVNTSUdORURfTk9ERS5zbGljZSgwKSk7XG4gICAgICAgIH0gZWxzZSBpZiAodmFsIDw9IE5PREVfU1RBUlQpIHtcbiAgICAgICAgICBub2RlID0gdGhpcy5kZWNvZGVUYWJsZXNbTk9ERV9TVEFSVCAtIHZhbF07XG4gICAgICAgIH0gZWxzZVxuICAgICAgICAgIHRocm93IG5ldyBFcnJvcihcIk92ZXJ3cml0ZSBieXRlIGluIFwiICsgdGhpcy5lbmNvZGluZ05hbWUgKyBcIiwgYWRkcjogXCIgKyBhZGRyLnRvU3RyaW5nKDE2KSk7XG4gICAgICB9XG4gICAgICByZXR1cm4gbm9kZTtcbiAgICB9O1xuICAgIERCQ1NDb2RlYy5wcm90b3R5cGUuX2FkZERlY29kZUNodW5rID0gZnVuY3Rpb24oY2h1bmspIHtcbiAgICAgIHZhciBjdXJBZGRyID0gcGFyc2VJbnQoY2h1bmtbMF0sIDE2KTtcbiAgICAgIHZhciB3cml0ZVRhYmxlID0gdGhpcy5fZ2V0RGVjb2RlVHJpZU5vZGUoY3VyQWRkcik7XG4gICAgICBjdXJBZGRyID0gY3VyQWRkciAmIDI1NTtcbiAgICAgIGZvciAodmFyIGsgPSAxOyBrIDwgY2h1bmsubGVuZ3RoOyBrKyspIHtcbiAgICAgICAgdmFyIHBhcnQgPSBjaHVua1trXTtcbiAgICAgICAgaWYgKHR5cGVvZiBwYXJ0ID09PSBcInN0cmluZ1wiKSB7XG4gICAgICAgICAgZm9yICh2YXIgbCA9IDA7IGwgPCBwYXJ0Lmxlbmd0aDsgKSB7XG4gICAgICAgICAgICB2YXIgY29kZSA9IHBhcnQuY2hhckNvZGVBdChsKyspO1xuICAgICAgICAgICAgaWYgKDU1Mjk2IDw9IGNvZGUgJiYgY29kZSA8IDU2MzIwKSB7XG4gICAgICAgICAgICAgIHZhciBjb2RlVHJhaWwgPSBwYXJ0LmNoYXJDb2RlQXQobCsrKTtcbiAgICAgICAgICAgICAgaWYgKDU2MzIwIDw9IGNvZGVUcmFpbCAmJiBjb2RlVHJhaWwgPCA1NzM0NClcbiAgICAgICAgICAgICAgICB3cml0ZVRhYmxlW2N1ckFkZHIrK10gPSA2NTUzNiArIChjb2RlIC0gNTUyOTYpICogMTAyNCArIChjb2RlVHJhaWwgLSA1NjMyMCk7XG4gICAgICAgICAgICAgIGVsc2VcbiAgICAgICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXCJJbmNvcnJlY3Qgc3Vycm9nYXRlIHBhaXIgaW4gXCIgKyB0aGlzLmVuY29kaW5nTmFtZSArIFwiIGF0IGNodW5rIFwiICsgY2h1bmtbMF0pO1xuICAgICAgICAgICAgfSBlbHNlIGlmICg0MDgwIDwgY29kZSAmJiBjb2RlIDw9IDQwOTUpIHtcbiAgICAgICAgICAgICAgdmFyIGxlbiA9IDQwOTUgLSBjb2RlICsgMjtcbiAgICAgICAgICAgICAgdmFyIHNlcSA9IFtdO1xuICAgICAgICAgICAgICBmb3IgKHZhciBtID0gMDsgbSA8IGxlbjsgbSsrKVxuICAgICAgICAgICAgICAgIHNlcS5wdXNoKHBhcnQuY2hhckNvZGVBdChsKyspKTtcbiAgICAgICAgICAgICAgd3JpdGVUYWJsZVtjdXJBZGRyKytdID0gU0VRX1NUQVJUIC0gdGhpcy5kZWNvZGVUYWJsZVNlcS5sZW5ndGg7XG4gICAgICAgICAgICAgIHRoaXMuZGVjb2RlVGFibGVTZXEucHVzaChzZXEpO1xuICAgICAgICAgICAgfSBlbHNlXG4gICAgICAgICAgICAgIHdyaXRlVGFibGVbY3VyQWRkcisrXSA9IGNvZGU7XG4gICAgICAgICAgfVxuICAgICAgICB9IGVsc2UgaWYgKHR5cGVvZiBwYXJ0ID09PSBcIm51bWJlclwiKSB7XG4gICAgICAgICAgdmFyIGNoYXJDb2RlID0gd3JpdGVUYWJsZVtjdXJBZGRyIC0gMV0gKyAxO1xuICAgICAgICAgIGZvciAodmFyIGwgPSAwOyBsIDwgcGFydDsgbCsrKVxuICAgICAgICAgICAgd3JpdGVUYWJsZVtjdXJBZGRyKytdID0gY2hhckNvZGUrKztcbiAgICAgICAgfSBlbHNlXG4gICAgICAgICAgdGhyb3cgbmV3IEVycm9yKFwiSW5jb3JyZWN0IHR5cGUgJ1wiICsgdHlwZW9mIHBhcnQgKyBcIicgZ2l2ZW4gaW4gXCIgKyB0aGlzLmVuY29kaW5nTmFtZSArIFwiIGF0IGNodW5rIFwiICsgY2h1bmtbMF0pO1xuICAgICAgfVxuICAgICAgaWYgKGN1ckFkZHIgPiAyNTUpXG4gICAgICAgIHRocm93IG5ldyBFcnJvcihcIkluY29ycmVjdCBjaHVuayBpbiBcIiArIHRoaXMuZW5jb2RpbmdOYW1lICsgXCIgYXQgYWRkciBcIiArIGNodW5rWzBdICsgXCI6IHRvbyBsb25nXCIgKyBjdXJBZGRyKTtcbiAgICB9O1xuICAgIERCQ1NDb2RlYy5wcm90b3R5cGUuX2dldEVuY29kZUJ1Y2tldCA9IGZ1bmN0aW9uKHVDb2RlKSB7XG4gICAgICB2YXIgaGlnaCA9IHVDb2RlID4+IDg7XG4gICAgICBpZiAodGhpcy5lbmNvZGVUYWJsZVtoaWdoXSA9PT0gdm9pZCAwKVxuICAgICAgICB0aGlzLmVuY29kZVRhYmxlW2hpZ2hdID0gVU5BU1NJR05FRF9OT0RFLnNsaWNlKDApO1xuICAgICAgcmV0dXJuIHRoaXMuZW5jb2RlVGFibGVbaGlnaF07XG4gICAgfTtcbiAgICBEQkNTQ29kZWMucHJvdG90eXBlLl9zZXRFbmNvZGVDaGFyID0gZnVuY3Rpb24odUNvZGUsIGRiY3NDb2RlKSB7XG4gICAgICB2YXIgYnVja2V0ID0gdGhpcy5fZ2V0RW5jb2RlQnVja2V0KHVDb2RlKTtcbiAgICAgIHZhciBsb3cgPSB1Q29kZSAmIDI1NTtcbiAgICAgIGlmIChidWNrZXRbbG93XSA8PSBTRVFfU1RBUlQpXG4gICAgICAgIHRoaXMuZW5jb2RlVGFibGVTZXFbU0VRX1NUQVJUIC0gYnVja2V0W2xvd11dW0RFRl9DSEFSXSA9IGRiY3NDb2RlO1xuICAgICAgZWxzZSBpZiAoYnVja2V0W2xvd10gPT0gVU5BU1NJR05FRClcbiAgICAgICAgYnVja2V0W2xvd10gPSBkYmNzQ29kZTtcbiAgICB9O1xuICAgIERCQ1NDb2RlYy5wcm90b3R5cGUuX3NldEVuY29kZVNlcXVlbmNlID0gZnVuY3Rpb24oc2VxLCBkYmNzQ29kZSkge1xuICAgICAgdmFyIHVDb2RlID0gc2VxWzBdO1xuICAgICAgdmFyIGJ1Y2tldCA9IHRoaXMuX2dldEVuY29kZUJ1Y2tldCh1Q29kZSk7XG4gICAgICB2YXIgbG93ID0gdUNvZGUgJiAyNTU7XG4gICAgICB2YXIgbm9kZTtcbiAgICAgIGlmIChidWNrZXRbbG93XSA8PSBTRVFfU1RBUlQpIHtcbiAgICAgICAgbm9kZSA9IHRoaXMuZW5jb2RlVGFibGVTZXFbU0VRX1NUQVJUIC0gYnVja2V0W2xvd11dO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgbm9kZSA9IHt9O1xuICAgICAgICBpZiAoYnVja2V0W2xvd10gIT09IFVOQVNTSUdORUQpIG5vZGVbREVGX0NIQVJdID0gYnVja2V0W2xvd107XG4gICAgICAgIGJ1Y2tldFtsb3ddID0gU0VRX1NUQVJUIC0gdGhpcy5lbmNvZGVUYWJsZVNlcS5sZW5ndGg7XG4gICAgICAgIHRoaXMuZW5jb2RlVGFibGVTZXEucHVzaChub2RlKTtcbiAgICAgIH1cbiAgICAgIGZvciAodmFyIGogPSAxOyBqIDwgc2VxLmxlbmd0aCAtIDE7IGorKykge1xuICAgICAgICB2YXIgb2xkVmFsID0gbm9kZVt1Q29kZV07XG4gICAgICAgIGlmICh0eXBlb2Ygb2xkVmFsID09PSBcIm9iamVjdFwiKVxuICAgICAgICAgIG5vZGUgPSBvbGRWYWw7XG4gICAgICAgIGVsc2Uge1xuICAgICAgICAgIG5vZGUgPSBub2RlW3VDb2RlXSA9IHt9O1xuICAgICAgICAgIGlmIChvbGRWYWwgIT09IHZvaWQgMClcbiAgICAgICAgICAgIG5vZGVbREVGX0NIQVJdID0gb2xkVmFsO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICB1Q29kZSA9IHNlcVtzZXEubGVuZ3RoIC0gMV07XG4gICAgICBub2RlW3VDb2RlXSA9IGRiY3NDb2RlO1xuICAgIH07XG4gICAgREJDU0NvZGVjLnByb3RvdHlwZS5fZmlsbEVuY29kZVRhYmxlID0gZnVuY3Rpb24obm9kZUlkeCwgcHJlZml4LCBza2lwRW5jb2RlQ2hhcnMpIHtcbiAgICAgIHZhciBub2RlID0gdGhpcy5kZWNvZGVUYWJsZXNbbm9kZUlkeF07XG4gICAgICB2YXIgaGFzVmFsdWVzID0gZmFsc2U7XG4gICAgICB2YXIgc3ViTm9kZUVtcHR5ID0ge307XG4gICAgICBmb3IgKHZhciBpMiA9IDA7IGkyIDwgMjU2OyBpMisrKSB7XG4gICAgICAgIHZhciB1Q29kZSA9IG5vZGVbaTJdO1xuICAgICAgICB2YXIgbWJDb2RlID0gcHJlZml4ICsgaTI7XG4gICAgICAgIGlmIChza2lwRW5jb2RlQ2hhcnNbbWJDb2RlXSlcbiAgICAgICAgICBjb250aW51ZTtcbiAgICAgICAgaWYgKHVDb2RlID49IDApIHtcbiAgICAgICAgICB0aGlzLl9zZXRFbmNvZGVDaGFyKHVDb2RlLCBtYkNvZGUpO1xuICAgICAgICAgIGhhc1ZhbHVlcyA9IHRydWU7XG4gICAgICAgIH0gZWxzZSBpZiAodUNvZGUgPD0gTk9ERV9TVEFSVCkge1xuICAgICAgICAgIHZhciBzdWJOb2RlSWR4ID0gTk9ERV9TVEFSVCAtIHVDb2RlO1xuICAgICAgICAgIGlmICghc3ViTm9kZUVtcHR5W3N1Yk5vZGVJZHhdKSB7XG4gICAgICAgICAgICB2YXIgbmV3UHJlZml4ID0gbWJDb2RlIDw8IDggPj4+IDA7XG4gICAgICAgICAgICBpZiAodGhpcy5fZmlsbEVuY29kZVRhYmxlKHN1Yk5vZGVJZHgsIG5ld1ByZWZpeCwgc2tpcEVuY29kZUNoYXJzKSlcbiAgICAgICAgICAgICAgaGFzVmFsdWVzID0gdHJ1ZTtcbiAgICAgICAgICAgIGVsc2VcbiAgICAgICAgICAgICAgc3ViTm9kZUVtcHR5W3N1Yk5vZGVJZHhdID0gdHJ1ZTtcbiAgICAgICAgICB9XG4gICAgICAgIH0gZWxzZSBpZiAodUNvZGUgPD0gU0VRX1NUQVJUKSB7XG4gICAgICAgICAgdGhpcy5fc2V0RW5jb2RlU2VxdWVuY2UodGhpcy5kZWNvZGVUYWJsZVNlcVtTRVFfU1RBUlQgLSB1Q29kZV0sIG1iQ29kZSk7XG4gICAgICAgICAgaGFzVmFsdWVzID0gdHJ1ZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgcmV0dXJuIGhhc1ZhbHVlcztcbiAgICB9O1xuICAgIGZ1bmN0aW9uIERCQ1NFbmNvZGVyKG9wdGlvbnMsIGNvZGVjKSB7XG4gICAgICB0aGlzLmxlYWRTdXJyb2dhdGUgPSAtMTtcbiAgICAgIHRoaXMuc2VxT2JqID0gdm9pZCAwO1xuICAgICAgdGhpcy5lbmNvZGVUYWJsZSA9IGNvZGVjLmVuY29kZVRhYmxlO1xuICAgICAgdGhpcy5lbmNvZGVUYWJsZVNlcSA9IGNvZGVjLmVuY29kZVRhYmxlU2VxO1xuICAgICAgdGhpcy5kZWZhdWx0Q2hhclNpbmdsZUJ5dGUgPSBjb2RlYy5kZWZDaGFyU0I7XG4gICAgICB0aGlzLmdiMTgwMzAgPSBjb2RlYy5nYjE4MDMwO1xuICAgIH1cbiAgICBEQkNTRW5jb2Rlci5wcm90b3R5cGUud3JpdGUgPSBmdW5jdGlvbihzdHIpIHtcbiAgICAgIHZhciBuZXdCdWYgPSBCdWZmZXIyLmFsbG9jKHN0ci5sZW5ndGggKiAodGhpcy5nYjE4MDMwID8gNCA6IDMpKSwgbGVhZFN1cnJvZ2F0ZSA9IHRoaXMubGVhZFN1cnJvZ2F0ZSwgc2VxT2JqID0gdGhpcy5zZXFPYmosIG5leHRDaGFyID0gLTEsIGkyID0gMCwgaiA9IDA7XG4gICAgICB3aGlsZSAodHJ1ZSkge1xuICAgICAgICBpZiAobmV4dENoYXIgPT09IC0xKSB7XG4gICAgICAgICAgaWYgKGkyID09IHN0ci5sZW5ndGgpIGJyZWFrO1xuICAgICAgICAgIHZhciB1Q29kZSA9IHN0ci5jaGFyQ29kZUF0KGkyKyspO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHZhciB1Q29kZSA9IG5leHRDaGFyO1xuICAgICAgICAgIG5leHRDaGFyID0gLTE7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKDU1Mjk2IDw9IHVDb2RlICYmIHVDb2RlIDwgNTczNDQpIHtcbiAgICAgICAgICBpZiAodUNvZGUgPCA1NjMyMCkge1xuICAgICAgICAgICAgaWYgKGxlYWRTdXJyb2dhdGUgPT09IC0xKSB7XG4gICAgICAgICAgICAgIGxlYWRTdXJyb2dhdGUgPSB1Q29kZTtcbiAgICAgICAgICAgICAgY29udGludWU7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICBsZWFkU3Vycm9nYXRlID0gdUNvZGU7XG4gICAgICAgICAgICAgIHVDb2RlID0gVU5BU1NJR05FRDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgaWYgKGxlYWRTdXJyb2dhdGUgIT09IC0xKSB7XG4gICAgICAgICAgICAgIHVDb2RlID0gNjU1MzYgKyAobGVhZFN1cnJvZ2F0ZSAtIDU1Mjk2KSAqIDEwMjQgKyAodUNvZGUgLSA1NjMyMCk7XG4gICAgICAgICAgICAgIGxlYWRTdXJyb2dhdGUgPSAtMTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgIHVDb2RlID0gVU5BU1NJR05FRDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH0gZWxzZSBpZiAobGVhZFN1cnJvZ2F0ZSAhPT0gLTEpIHtcbiAgICAgICAgICBuZXh0Q2hhciA9IHVDb2RlO1xuICAgICAgICAgIHVDb2RlID0gVU5BU1NJR05FRDtcbiAgICAgICAgICBsZWFkU3Vycm9nYXRlID0gLTE7XG4gICAgICAgIH1cbiAgICAgICAgdmFyIGRiY3NDb2RlID0gVU5BU1NJR05FRDtcbiAgICAgICAgaWYgKHNlcU9iaiAhPT0gdm9pZCAwICYmIHVDb2RlICE9IFVOQVNTSUdORUQpIHtcbiAgICAgICAgICB2YXIgcmVzQ29kZSA9IHNlcU9ialt1Q29kZV07XG4gICAgICAgICAgaWYgKHR5cGVvZiByZXNDb2RlID09PSBcIm9iamVjdFwiKSB7XG4gICAgICAgICAgICBzZXFPYmogPSByZXNDb2RlO1xuICAgICAgICAgICAgY29udGludWU7XG4gICAgICAgICAgfSBlbHNlIGlmICh0eXBlb2YgcmVzQ29kZSA9PSBcIm51bWJlclwiKSB7XG4gICAgICAgICAgICBkYmNzQ29kZSA9IHJlc0NvZGU7XG4gICAgICAgICAgfSBlbHNlIGlmIChyZXNDb2RlID09IHZvaWQgMCkge1xuICAgICAgICAgICAgcmVzQ29kZSA9IHNlcU9ialtERUZfQ0hBUl07XG4gICAgICAgICAgICBpZiAocmVzQ29kZSAhPT0gdm9pZCAwKSB7XG4gICAgICAgICAgICAgIGRiY3NDb2RlID0gcmVzQ29kZTtcbiAgICAgICAgICAgICAgbmV4dENoYXIgPSB1Q29kZTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICAgIHNlcU9iaiA9IHZvaWQgMDtcbiAgICAgICAgfSBlbHNlIGlmICh1Q29kZSA+PSAwKSB7XG4gICAgICAgICAgdmFyIHN1YnRhYmxlID0gdGhpcy5lbmNvZGVUYWJsZVt1Q29kZSA+PiA4XTtcbiAgICAgICAgICBpZiAoc3VidGFibGUgIT09IHZvaWQgMClcbiAgICAgICAgICAgIGRiY3NDb2RlID0gc3VidGFibGVbdUNvZGUgJiAyNTVdO1xuICAgICAgICAgIGlmIChkYmNzQ29kZSA8PSBTRVFfU1RBUlQpIHtcbiAgICAgICAgICAgIHNlcU9iaiA9IHRoaXMuZW5jb2RlVGFibGVTZXFbU0VRX1NUQVJUIC0gZGJjc0NvZGVdO1xuICAgICAgICAgICAgY29udGludWU7XG4gICAgICAgICAgfVxuICAgICAgICAgIGlmIChkYmNzQ29kZSA9PSBVTkFTU0lHTkVEICYmIHRoaXMuZ2IxODAzMCkge1xuICAgICAgICAgICAgdmFyIGlkeCA9IGZpbmRJZHgodGhpcy5nYjE4MDMwLnVDaGFycywgdUNvZGUpO1xuICAgICAgICAgICAgaWYgKGlkeCAhPSAtMSkge1xuICAgICAgICAgICAgICB2YXIgZGJjc0NvZGUgPSB0aGlzLmdiMTgwMzAuZ2JDaGFyc1tpZHhdICsgKHVDb2RlIC0gdGhpcy5nYjE4MDMwLnVDaGFyc1tpZHhdKTtcbiAgICAgICAgICAgICAgbmV3QnVmW2orK10gPSAxMjkgKyBNYXRoLmZsb29yKGRiY3NDb2RlIC8gMTI2MDApO1xuICAgICAgICAgICAgICBkYmNzQ29kZSA9IGRiY3NDb2RlICUgMTI2MDA7XG4gICAgICAgICAgICAgIG5ld0J1ZltqKytdID0gNDggKyBNYXRoLmZsb29yKGRiY3NDb2RlIC8gMTI2MCk7XG4gICAgICAgICAgICAgIGRiY3NDb2RlID0gZGJjc0NvZGUgJSAxMjYwO1xuICAgICAgICAgICAgICBuZXdCdWZbaisrXSA9IDEyOSArIE1hdGguZmxvb3IoZGJjc0NvZGUgLyAxMCk7XG4gICAgICAgICAgICAgIGRiY3NDb2RlID0gZGJjc0NvZGUgJSAxMDtcbiAgICAgICAgICAgICAgbmV3QnVmW2orK10gPSA0OCArIGRiY3NDb2RlO1xuICAgICAgICAgICAgICBjb250aW51ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGRiY3NDb2RlID09PSBVTkFTU0lHTkVEKVxuICAgICAgICAgIGRiY3NDb2RlID0gdGhpcy5kZWZhdWx0Q2hhclNpbmdsZUJ5dGU7XG4gICAgICAgIGlmIChkYmNzQ29kZSA8IDI1Nikge1xuICAgICAgICAgIG5ld0J1ZltqKytdID0gZGJjc0NvZGU7XG4gICAgICAgIH0gZWxzZSBpZiAoZGJjc0NvZGUgPCA2NTUzNikge1xuICAgICAgICAgIG5ld0J1ZltqKytdID0gZGJjc0NvZGUgPj4gODtcbiAgICAgICAgICBuZXdCdWZbaisrXSA9IGRiY3NDb2RlICYgMjU1O1xuICAgICAgICB9IGVsc2UgaWYgKGRiY3NDb2RlIDwgMTY3NzcyMTYpIHtcbiAgICAgICAgICBuZXdCdWZbaisrXSA9IGRiY3NDb2RlID4+IDE2O1xuICAgICAgICAgIG5ld0J1ZltqKytdID0gZGJjc0NvZGUgPj4gOCAmIDI1NTtcbiAgICAgICAgICBuZXdCdWZbaisrXSA9IGRiY3NDb2RlICYgMjU1O1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIG5ld0J1ZltqKytdID0gZGJjc0NvZGUgPj4+IDI0O1xuICAgICAgICAgIG5ld0J1ZltqKytdID0gZGJjc0NvZGUgPj4+IDE2ICYgMjU1O1xuICAgICAgICAgIG5ld0J1ZltqKytdID0gZGJjc0NvZGUgPj4+IDggJiAyNTU7XG4gICAgICAgICAgbmV3QnVmW2orK10gPSBkYmNzQ29kZSAmIDI1NTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgdGhpcy5zZXFPYmogPSBzZXFPYmo7XG4gICAgICB0aGlzLmxlYWRTdXJyb2dhdGUgPSBsZWFkU3Vycm9nYXRlO1xuICAgICAgcmV0dXJuIG5ld0J1Zi5zbGljZSgwLCBqKTtcbiAgICB9O1xuICAgIERCQ1NFbmNvZGVyLnByb3RvdHlwZS5lbmQgPSBmdW5jdGlvbigpIHtcbiAgICAgIGlmICh0aGlzLmxlYWRTdXJyb2dhdGUgPT09IC0xICYmIHRoaXMuc2VxT2JqID09PSB2b2lkIDApXG4gICAgICAgIHJldHVybjtcbiAgICAgIHZhciBuZXdCdWYgPSBCdWZmZXIyLmFsbG9jKDEwKSwgaiA9IDA7XG4gICAgICBpZiAodGhpcy5zZXFPYmopIHtcbiAgICAgICAgdmFyIGRiY3NDb2RlID0gdGhpcy5zZXFPYmpbREVGX0NIQVJdO1xuICAgICAgICBpZiAoZGJjc0NvZGUgIT09IHZvaWQgMCkge1xuICAgICAgICAgIGlmIChkYmNzQ29kZSA8IDI1Nikge1xuICAgICAgICAgICAgbmV3QnVmW2orK10gPSBkYmNzQ29kZTtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgbmV3QnVmW2orK10gPSBkYmNzQ29kZSA+PiA4O1xuICAgICAgICAgICAgbmV3QnVmW2orK10gPSBkYmNzQ29kZSAmIDI1NTtcbiAgICAgICAgICB9XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5zZXFPYmogPSB2b2lkIDA7XG4gICAgICB9XG4gICAgICBpZiAodGhpcy5sZWFkU3Vycm9nYXRlICE9PSAtMSkge1xuICAgICAgICBuZXdCdWZbaisrXSA9IHRoaXMuZGVmYXVsdENoYXJTaW5nbGVCeXRlO1xuICAgICAgICB0aGlzLmxlYWRTdXJyb2dhdGUgPSAtMTtcbiAgICAgIH1cbiAgICAgIHJldHVybiBuZXdCdWYuc2xpY2UoMCwgaik7XG4gICAgfTtcbiAgICBEQkNTRW5jb2Rlci5wcm90b3R5cGUuZmluZElkeCA9IGZpbmRJZHg7XG4gICAgZnVuY3Rpb24gREJDU0RlY29kZXIob3B0aW9ucywgY29kZWMpIHtcbiAgICAgIHRoaXMubm9kZUlkeCA9IDA7XG4gICAgICB0aGlzLnByZXZCeXRlcyA9IFtdO1xuICAgICAgdGhpcy5kZWNvZGVUYWJsZXMgPSBjb2RlYy5kZWNvZGVUYWJsZXM7XG4gICAgICB0aGlzLmRlY29kZVRhYmxlU2VxID0gY29kZWMuZGVjb2RlVGFibGVTZXE7XG4gICAgICB0aGlzLmRlZmF1bHRDaGFyVW5pY29kZSA9IGNvZGVjLmRlZmF1bHRDaGFyVW5pY29kZTtcbiAgICAgIHRoaXMuZ2IxODAzMCA9IGNvZGVjLmdiMTgwMzA7XG4gICAgfVxuICAgIERCQ1NEZWNvZGVyLnByb3RvdHlwZS53cml0ZSA9IGZ1bmN0aW9uKGJ1Zikge1xuICAgICAgdmFyIG5ld0J1ZiA9IEJ1ZmZlcjIuYWxsb2MoYnVmLmxlbmd0aCAqIDIpLCBub2RlSWR4ID0gdGhpcy5ub2RlSWR4LCBwcmV2Qnl0ZXMgPSB0aGlzLnByZXZCeXRlcywgcHJldk9mZnNldCA9IHRoaXMucHJldkJ5dGVzLmxlbmd0aCwgc2VxU3RhcnQgPSAtdGhpcy5wcmV2Qnl0ZXMubGVuZ3RoLCB1Q29kZTtcbiAgICAgIGZvciAodmFyIGkyID0gMCwgaiA9IDA7IGkyIDwgYnVmLmxlbmd0aDsgaTIrKykge1xuICAgICAgICB2YXIgY3VyQnl0ZSA9IGkyID49IDAgPyBidWZbaTJdIDogcHJldkJ5dGVzW2kyICsgcHJldk9mZnNldF07XG4gICAgICAgIHZhciB1Q29kZSA9IHRoaXMuZGVjb2RlVGFibGVzW25vZGVJZHhdW2N1ckJ5dGVdO1xuICAgICAgICBpZiAodUNvZGUgPj0gMCkge1xuICAgICAgICB9IGVsc2UgaWYgKHVDb2RlID09PSBVTkFTU0lHTkVEKSB7XG4gICAgICAgICAgdUNvZGUgPSB0aGlzLmRlZmF1bHRDaGFyVW5pY29kZS5jaGFyQ29kZUF0KDApO1xuICAgICAgICAgIGkyID0gc2VxU3RhcnQ7XG4gICAgICAgIH0gZWxzZSBpZiAodUNvZGUgPT09IEdCMTgwMzBfQ09ERSkge1xuICAgICAgICAgIGlmIChpMiA+PSAzKSB7XG4gICAgICAgICAgICB2YXIgcHRyID0gKGJ1ZltpMiAtIDNdIC0gMTI5KSAqIDEyNjAwICsgKGJ1ZltpMiAtIDJdIC0gNDgpICogMTI2MCArIChidWZbaTIgLSAxXSAtIDEyOSkgKiAxMCArIChjdXJCeXRlIC0gNDgpO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB2YXIgcHRyID0gKHByZXZCeXRlc1tpMiAtIDMgKyBwcmV2T2Zmc2V0XSAtIDEyOSkgKiAxMjYwMCArICgoaTIgLSAyID49IDAgPyBidWZbaTIgLSAyXSA6IHByZXZCeXRlc1tpMiAtIDIgKyBwcmV2T2Zmc2V0XSkgLSA0OCkgKiAxMjYwICsgKChpMiAtIDEgPj0gMCA/IGJ1ZltpMiAtIDFdIDogcHJldkJ5dGVzW2kyIC0gMSArIHByZXZPZmZzZXRdKSAtIDEyOSkgKiAxMCArIChjdXJCeXRlIC0gNDgpO1xuICAgICAgICAgIH1cbiAgICAgICAgICB2YXIgaWR4ID0gZmluZElkeCh0aGlzLmdiMTgwMzAuZ2JDaGFycywgcHRyKTtcbiAgICAgICAgICB1Q29kZSA9IHRoaXMuZ2IxODAzMC51Q2hhcnNbaWR4XSArIHB0ciAtIHRoaXMuZ2IxODAzMC5nYkNoYXJzW2lkeF07XG4gICAgICAgIH0gZWxzZSBpZiAodUNvZGUgPD0gTk9ERV9TVEFSVCkge1xuICAgICAgICAgIG5vZGVJZHggPSBOT0RFX1NUQVJUIC0gdUNvZGU7XG4gICAgICAgICAgY29udGludWU7XG4gICAgICAgIH0gZWxzZSBpZiAodUNvZGUgPD0gU0VRX1NUQVJUKSB7XG4gICAgICAgICAgdmFyIHNlcSA9IHRoaXMuZGVjb2RlVGFibGVTZXFbU0VRX1NUQVJUIC0gdUNvZGVdO1xuICAgICAgICAgIGZvciAodmFyIGsgPSAwOyBrIDwgc2VxLmxlbmd0aCAtIDE7IGsrKykge1xuICAgICAgICAgICAgdUNvZGUgPSBzZXFba107XG4gICAgICAgICAgICBuZXdCdWZbaisrXSA9IHVDb2RlICYgMjU1O1xuICAgICAgICAgICAgbmV3QnVmW2orK10gPSB1Q29kZSA+PiA4O1xuICAgICAgICAgIH1cbiAgICAgICAgICB1Q29kZSA9IHNlcVtzZXEubGVuZ3RoIC0gMV07XG4gICAgICAgIH0gZWxzZVxuICAgICAgICAgIHRocm93IG5ldyBFcnJvcihcImljb252LWxpdGUgaW50ZXJuYWwgZXJyb3I6IGludmFsaWQgZGVjb2RpbmcgdGFibGUgdmFsdWUgXCIgKyB1Q29kZSArIFwiIGF0IFwiICsgbm9kZUlkeCArIFwiL1wiICsgY3VyQnl0ZSk7XG4gICAgICAgIGlmICh1Q29kZSA+PSA2NTUzNikge1xuICAgICAgICAgIHVDb2RlIC09IDY1NTM2O1xuICAgICAgICAgIHZhciB1Q29kZUxlYWQgPSA1NTI5NiB8IHVDb2RlID4+IDEwO1xuICAgICAgICAgIG5ld0J1ZltqKytdID0gdUNvZGVMZWFkICYgMjU1O1xuICAgICAgICAgIG5ld0J1ZltqKytdID0gdUNvZGVMZWFkID4+IDg7XG4gICAgICAgICAgdUNvZGUgPSA1NjMyMCB8IHVDb2RlICYgMTAyMztcbiAgICAgICAgfVxuICAgICAgICBuZXdCdWZbaisrXSA9IHVDb2RlICYgMjU1O1xuICAgICAgICBuZXdCdWZbaisrXSA9IHVDb2RlID4+IDg7XG4gICAgICAgIG5vZGVJZHggPSAwO1xuICAgICAgICBzZXFTdGFydCA9IGkyICsgMTtcbiAgICAgIH1cbiAgICAgIHRoaXMubm9kZUlkeCA9IG5vZGVJZHg7XG4gICAgICB0aGlzLnByZXZCeXRlcyA9IHNlcVN0YXJ0ID49IDAgPyBBcnJheS5wcm90b3R5cGUuc2xpY2UuY2FsbChidWYsIHNlcVN0YXJ0KSA6IHByZXZCeXRlcy5zbGljZShzZXFTdGFydCArIHByZXZPZmZzZXQpLmNvbmNhdChBcnJheS5wcm90b3R5cGUuc2xpY2UuY2FsbChidWYpKTtcbiAgICAgIHJldHVybiBuZXdCdWYuc2xpY2UoMCwgaikudG9TdHJpbmcoXCJ1Y3MyXCIpO1xuICAgIH07XG4gICAgREJDU0RlY29kZXIucHJvdG90eXBlLmVuZCA9IGZ1bmN0aW9uKCkge1xuICAgICAgdmFyIHJldCA9IFwiXCI7XG4gICAgICB3aGlsZSAodGhpcy5wcmV2Qnl0ZXMubGVuZ3RoID4gMCkge1xuICAgICAgICByZXQgKz0gdGhpcy5kZWZhdWx0Q2hhclVuaWNvZGU7XG4gICAgICAgIHZhciBieXRlc0FyciA9IHRoaXMucHJldkJ5dGVzLnNsaWNlKDEpO1xuICAgICAgICB0aGlzLnByZXZCeXRlcyA9IFtdO1xuICAgICAgICB0aGlzLm5vZGVJZHggPSAwO1xuICAgICAgICBpZiAoYnl0ZXNBcnIubGVuZ3RoID4gMClcbiAgICAgICAgICByZXQgKz0gdGhpcy53cml0ZShieXRlc0Fycik7XG4gICAgICB9XG4gICAgICB0aGlzLnByZXZCeXRlcyA9IFtdO1xuICAgICAgdGhpcy5ub2RlSWR4ID0gMDtcbiAgICAgIHJldHVybiByZXQ7XG4gICAgfTtcbiAgICBmdW5jdGlvbiBmaW5kSWR4KHRhYmxlLCB2YWwpIHtcbiAgICAgIGlmICh0YWJsZVswXSA+IHZhbClcbiAgICAgICAgcmV0dXJuIC0xO1xuICAgICAgdmFyIGwgPSAwLCByID0gdGFibGUubGVuZ3RoO1xuICAgICAgd2hpbGUgKGwgPCByIC0gMSkge1xuICAgICAgICB2YXIgbWlkID0gbCArIChyIC0gbCArIDEgPj4gMSk7XG4gICAgICAgIGlmICh0YWJsZVttaWRdIDw9IHZhbClcbiAgICAgICAgICBsID0gbWlkO1xuICAgICAgICBlbHNlXG4gICAgICAgICAgciA9IG1pZDtcbiAgICAgIH1cbiAgICAgIHJldHVybiBsO1xuICAgIH1cbiAgfVxufSk7XG5cbi8vIG5vZGVfbW9kdWxlcy9yYXctYm9keS9ub2RlX21vZHVsZXMvaWNvbnYtbGl0ZS9lbmNvZGluZ3MvdGFibGVzL3NoaWZ0amlzLmpzb25cbnZhciByZXF1aXJlX3NoaWZ0amlzID0gX19jb21tb25KUyh7XG4gIFwibm9kZV9tb2R1bGVzL3Jhdy1ib2R5L25vZGVfbW9kdWxlcy9pY29udi1saXRlL2VuY29kaW5ncy90YWJsZXMvc2hpZnRqaXMuanNvblwiKGV4cG9ydHMyLCBtb2R1bGUyKSB7XG4gICAgbW9kdWxlMi5leHBvcnRzID0gW1xuICAgICAgW1wiMFwiLCBcIlxcMFwiLCAxMjhdLFxuICAgICAgW1wiYTFcIiwgXCJcXHVGRjYxXCIsIDYyXSxcbiAgICAgIFtcIjgxNDBcIiwgXCJcXHUzMDAwXFx1MzAwMVxcdTMwMDJcXHVGRjBDXFx1RkYwRVxcdTMwRkJcXHVGRjFBXFx1RkYxQlxcdUZGMUZcXHVGRjAxXFx1MzA5QlxcdTMwOUNcXHhCNFxcdUZGNDBcXHhBOFxcdUZGM0VcXHVGRkUzXFx1RkYzRlxcdTMwRkRcXHUzMEZFXFx1MzA5RFxcdTMwOUVcXHUzMDAzXFx1NEVERFxcdTMwMDVcXHUzMDA2XFx1MzAwN1xcdTMwRkNcXHUyMDE1XFx1MjAxMFxcdUZGMEZcXHVGRjNDXFx1RkY1RVxcdTIyMjVcXHVGRjVDXFx1MjAyNlxcdTIwMjVcXHUyMDE4XFx1MjAxOVxcdTIwMUNcXHUyMDFEXFx1RkYwOFxcdUZGMDlcXHUzMDE0XFx1MzAxNVxcdUZGM0JcXHVGRjNEXFx1RkY1QlxcdUZGNURcXHUzMDA4XCIsIDksIFwiXFx1RkYwQlxcdUZGMERcXHhCMVxceEQ3XCJdLFxuICAgICAgW1wiODE4MFwiLCBcIlxceEY3XFx1RkYxRFxcdTIyNjBcXHVGRjFDXFx1RkYxRVxcdTIyNjZcXHUyMjY3XFx1MjIxRVxcdTIyMzRcXHUyNjQyXFx1MjY0MFxceEIwXFx1MjAzMlxcdTIwMzNcXHUyMTAzXFx1RkZFNVxcdUZGMDRcXHVGRkUwXFx1RkZFMVxcdUZGMDVcXHVGRjAzXFx1RkYwNlxcdUZGMEFcXHVGRjIwXFx4QTdcXHUyNjA2XFx1MjYwNVxcdTI1Q0JcXHUyNUNGXFx1MjVDRVxcdTI1QzdcXHUyNUM2XFx1MjVBMVxcdTI1QTBcXHUyNUIzXFx1MjVCMlxcdTI1QkRcXHUyNUJDXFx1MjAzQlxcdTMwMTJcXHUyMTkyXFx1MjE5MFxcdTIxOTFcXHUyMTkzXFx1MzAxM1wiXSxcbiAgICAgIFtcIjgxYjhcIiwgXCJcXHUyMjA4XFx1MjIwQlxcdTIyODZcXHUyMjg3XFx1MjI4MlxcdTIyODNcXHUyMjJBXFx1MjIyOVwiXSxcbiAgICAgIFtcIjgxYzhcIiwgXCJcXHUyMjI3XFx1MjIyOFxcdUZGRTJcXHUyMUQyXFx1MjFENFxcdTIyMDBcXHUyMjAzXCJdLFxuICAgICAgW1wiODFkYVwiLCBcIlxcdTIyMjBcXHUyMkE1XFx1MjMxMlxcdTIyMDJcXHUyMjA3XFx1MjI2MVxcdTIyNTJcXHUyMjZBXFx1MjI2QlxcdTIyMUFcXHUyMjNEXFx1MjIxRFxcdTIyMzVcXHUyMjJCXFx1MjIyQ1wiXSxcbiAgICAgIFtcIjgxZjBcIiwgXCJcXHUyMTJCXFx1MjAzMFxcdTI2NkZcXHUyNjZEXFx1MjY2QVxcdTIwMjBcXHUyMDIxXFx4QjZcIl0sXG4gICAgICBbXCI4MWZjXCIsIFwiXFx1MjVFRlwiXSxcbiAgICAgIFtcIjgyNGZcIiwgXCJcXHVGRjEwXCIsIDldLFxuICAgICAgW1wiODI2MFwiLCBcIlxcdUZGMjFcIiwgMjVdLFxuICAgICAgW1wiODI4MVwiLCBcIlxcdUZGNDFcIiwgMjVdLFxuICAgICAgW1wiODI5ZlwiLCBcIlxcdTMwNDFcIiwgODJdLFxuICAgICAgW1wiODM0MFwiLCBcIlxcdTMwQTFcIiwgNjJdLFxuICAgICAgW1wiODM4MFwiLCBcIlxcdTMwRTBcIiwgMjJdLFxuICAgICAgW1wiODM5ZlwiLCBcIlxcdTAzOTFcIiwgMTYsIFwiXFx1MDNBM1wiLCA2XSxcbiAgICAgIFtcIjgzYmZcIiwgXCJcXHUwM0IxXCIsIDE2LCBcIlxcdTAzQzNcIiwgNl0sXG4gICAgICBbXCI4NDQwXCIsIFwiXFx1MDQxMFwiLCA1LCBcIlxcdTA0MDFcXHUwNDE2XCIsIDI1XSxcbiAgICAgIFtcIjg0NzBcIiwgXCJcXHUwNDMwXCIsIDUsIFwiXFx1MDQ1MVxcdTA0MzZcIiwgN10sXG4gICAgICBbXCI4NDgwXCIsIFwiXFx1MDQzRVwiLCAxN10sXG4gICAgICBbXCI4NDlmXCIsIFwiXFx1MjUwMFxcdTI1MDJcXHUyNTBDXFx1MjUxMFxcdTI1MThcXHUyNTE0XFx1MjUxQ1xcdTI1MkNcXHUyNTI0XFx1MjUzNFxcdTI1M0NcXHUyNTAxXFx1MjUwM1xcdTI1MEZcXHUyNTEzXFx1MjUxQlxcdTI1MTdcXHUyNTIzXFx1MjUzM1xcdTI1MkJcXHUyNTNCXFx1MjU0QlxcdTI1MjBcXHUyNTJGXFx1MjUyOFxcdTI1MzdcXHUyNTNGXFx1MjUxRFxcdTI1MzBcXHUyNTI1XFx1MjUzOFxcdTI1NDJcIl0sXG4gICAgICBbXCI4NzQwXCIsIFwiXFx1MjQ2MFwiLCAxOSwgXCJcXHUyMTYwXCIsIDldLFxuICAgICAgW1wiODc1ZlwiLCBcIlxcdTMzNDlcXHUzMzE0XFx1MzMyMlxcdTMzNERcXHUzMzE4XFx1MzMyN1xcdTMzMDNcXHUzMzM2XFx1MzM1MVxcdTMzNTdcXHUzMzBEXFx1MzMyNlxcdTMzMjNcXHUzMzJCXFx1MzM0QVxcdTMzM0JcXHUzMzlDXFx1MzM5RFxcdTMzOUVcXHUzMzhFXFx1MzM4RlxcdTMzQzRcXHUzM0ExXCJdLFxuICAgICAgW1wiODc3ZVwiLCBcIlxcdTMzN0JcIl0sXG4gICAgICBbXCI4NzgwXCIsIFwiXFx1MzAxRFxcdTMwMUZcXHUyMTE2XFx1MzNDRFxcdTIxMjFcXHUzMkE0XCIsIDQsIFwiXFx1MzIzMVxcdTMyMzJcXHUzMjM5XFx1MzM3RVxcdTMzN0RcXHUzMzdDXFx1MjI1MlxcdTIyNjFcXHUyMjJCXFx1MjIyRVxcdTIyMTFcXHUyMjFBXFx1MjJBNVxcdTIyMjBcXHUyMjFGXFx1MjJCRlxcdTIyMzVcXHUyMjI5XFx1MjIyQVwiXSxcbiAgICAgIFtcIjg4OWZcIiwgXCJcXHU0RTlDXFx1NTUxNlxcdTVBMDNcXHU5NjNGXFx1NTRDMFxcdTYxMUJcXHU2MzI4XFx1NTlGNlxcdTkwMjJcXHU4NDc1XFx1ODMxQ1xcdTdBNTBcXHU2MEFBXFx1NjNFMVxcdTZFMjVcXHU2NUVEXFx1ODQ2NlxcdTgyQTZcXHU5QkY1XFx1Njg5M1xcdTU3MjdcXHU2NUExXFx1NjI3MVxcdTVCOUJcXHU1OUQwXFx1ODY3QlxcdTk4RjRcXHU3RDYyXFx1N0RCRVxcdTlCOEVcXHU2MjE2XFx1N0M5RlxcdTg4QjdcXHU1Qjg5XFx1NUVCNVxcdTYzMDlcXHU2Njk3XFx1Njg0OFxcdTk1QzdcXHU5NzhEXFx1Njc0RlxcdTRFRTVcXHU0RjBBXFx1NEY0RFxcdTRGOURcXHU1MDQ5XFx1NTZGMlxcdTU5MzdcXHU1OUQ0XFx1NUEwMVxcdTVDMDlcXHU2MERGXFx1NjEwRlxcdTYxNzBcXHU2NjEzXFx1NjkwNVxcdTcwQkFcXHU3NTRGXFx1NzU3MFxcdTc5RkJcXHU3REFEXFx1N0RFRlxcdTgwQzNcXHU4NDBFXFx1ODg2M1xcdThCMDJcXHU5MDU1XFx1OTA3QVxcdTUzM0JcXHU0RTk1XFx1NEVBNVxcdTU3REZcXHU4MEIyXFx1OTBDMVxcdTc4RUZcXHU0RTAwXFx1NThGMVxcdTZFQTJcXHU5MDM4XFx1N0EzMlxcdTgzMjhcXHU4MjhCXFx1OUMyRlxcdTUxNDFcXHU1MzcwXFx1NTRCRFxcdTU0RTFcXHU1NkUwXFx1NTlGQlxcdTVGMTVcXHU5OEYyXFx1NkRFQlxcdTgwRTRcXHU4NTJEXCJdLFxuICAgICAgW1wiODk0MFwiLCBcIlxcdTk2NjJcXHU5NjcwXFx1OTZBMFxcdTk3RkJcXHU1NDBCXFx1NTNGM1xcdTVCODdcXHU3MENGXFx1N0ZCRFxcdThGQzJcXHU5NkU4XFx1NTM2RlxcdTlENUNcXHU3QUJBXFx1NEUxMVxcdTc4OTNcXHU4MUZDXFx1NkUyNlxcdTU2MThcXHU1NTA0XFx1NkIxRFxcdTg1MUFcXHU5QzNCXFx1NTlFNVxcdTUzQTlcXHU2RDY2XFx1NzREQ1xcdTk1OEZcXHU1NjQyXFx1NEU5MVxcdTkwNEJcXHU5NkYyXFx1ODM0RlxcdTk5MENcXHU1M0UxXFx1NTVCNlxcdTVCMzBcXHU1RjcxXFx1NjYyMFxcdTY2RjNcXHU2ODA0XFx1NkMzOFxcdTZDRjNcXHU2RDI5XFx1NzQ1QlxcdTc2QzhcXHU3QTRFXFx1OTgzNFxcdTgyRjFcXHU4ODVCXFx1OEE2MFxcdTkyRURcXHU2REIyXFx1NzVBQlxcdTc2Q0FcXHU5OUM1XFx1NjBBNlxcdThCMDFcXHU4RDhBXFx1OTVCMlxcdTY5OEVcXHU1M0FEXFx1NTE4NlwiXSxcbiAgICAgIFtcIjg5ODBcIiwgXCJcXHU1NzEyXFx1NTgzMFxcdTU5NDRcXHU1QkI0XFx1NUVGNlxcdTYwMjhcXHU2M0E5XFx1NjNGNFxcdTZDQkZcXHU2RjE0XFx1NzA4RVxcdTcxMTRcXHU3MTU5XFx1NzFENVxcdTczM0ZcXHU3RTAxXFx1ODI3NlxcdTgyRDFcXHU4NTk3XFx1OTA2MFxcdTkyNUJcXHU5RDFCXFx1NTg2OVxcdTY1QkNcXHU2QzVBXFx1NzUyNVxcdTUxRjlcXHU1OTJFXFx1NTk2NVxcdTVGODBcXHU1RkRDXFx1NjJCQ1xcdTY1RkFcXHU2QTJBXFx1NkIyN1xcdTZCQjRcXHU3MzhCXFx1N0ZDMVxcdTg5NTZcXHU5RDJDXFx1OUQwRVxcdTlFQzRcXHU1Q0ExXFx1NkM5NlxcdTgzN0JcXHU1MTA0XFx1NUM0QlxcdTYxQjZcXHU4MUM2XFx1Njg3NlxcdTcyNjFcXHU0RTU5XFx1NEZGQVxcdTUzNzhcXHU2MDY5XFx1NkUyOVxcdTdBNEZcXHU5N0YzXFx1NEUwQlxcdTUzMTZcXHU0RUVFXFx1NEY1NVxcdTRGM0RcXHU0RkExXFx1NEY3M1xcdTUyQTBcXHU1M0VGXFx1NTYwOVxcdTU5MEZcXHU1QUMxXFx1NUJCNlxcdTVCRTFcXHU3OUQxXFx1NjY4N1xcdTY3OUNcXHU2N0I2XFx1NkI0Q1xcdTZDQjNcXHU3MDZCXFx1NzNDMlxcdTc5OERcXHU3OUJFXFx1N0EzQ1xcdTdCODdcXHU4MkIxXFx1ODJEQlxcdTgzMDRcXHU4Mzc3XFx1ODNFRlxcdTgzRDNcXHU4NzY2XFx1OEFCMlxcdTU2MjlcXHU4Q0E4XFx1OEZFNlxcdTkwNEVcXHU5NzFFXFx1ODY4QVxcdTRGQzRcXHU1Q0U4XFx1NjIxMVxcdTcyNTlcXHU3NTNCXFx1ODFFNVxcdTgyQkRcXHU4NkZFXFx1OENDMFxcdTk2QzVcXHU5OTEzXFx1OTlENVxcdTRFQ0JcXHU0RjFBXFx1ODlFM1xcdTU2REVcXHU1ODRBXFx1NThDQVxcdTVFRkJcXHU1RkVCXFx1NjAyQVxcdTYwOTRcXHU2MDYyXFx1NjFEMFxcdTYyMTJcXHU2MkQwXFx1NjUzOVwiXSxcbiAgICAgIFtcIjhhNDBcIiwgXCJcXHU5QjQxXFx1NjY2NlxcdTY4QjBcXHU2RDc3XFx1NzA3MFxcdTc1NENcXHU3Njg2XFx1N0Q3NVxcdTgyQTVcXHU4N0Y5XFx1OTU4QlxcdTk2OEVcXHU4QzlEXFx1NTFGMVxcdTUyQkVcXHU1OTE2XFx1NTRCM1xcdTVCQjNcXHU1RDE2XFx1NjE2OFxcdTY5ODJcXHU2REFGXFx1Nzg4RFxcdTg0Q0JcXHU4ODU3XFx1OEE3MlxcdTkzQTdcXHU5QUI4XFx1NkQ2Q1xcdTk5QThcXHU4NkQ5XFx1NTdBM1xcdTY3RkZcXHU4NkNFXFx1OTIwRVxcdTUyODNcXHU1Njg3XFx1NTQwNFxcdTVFRDNcXHU2MkUxXFx1NjRCOVxcdTY4M0NcXHU2ODM4XFx1NkJCQlxcdTczNzJcXHU3OEJBXFx1N0E2QlxcdTg5OUFcXHU4OUQyXFx1OEQ2QlxcdThGMDNcXHU5MEVEXFx1OTVBM1xcdTk2OTRcXHU5NzY5XFx1NUI2NlxcdTVDQjNcXHU2OTdEXFx1OTg0RFxcdTk4NEVcXHU2MzlCXFx1N0IyMFxcdTZBMkJcIl0sXG4gICAgICBbXCI4YTgwXCIsIFwiXFx1NkE3RlxcdTY4QjZcXHU5QzBEXFx1NkY1RlxcdTUyNzJcXHU1NTlEXFx1NjA3MFxcdTYyRUNcXHU2RDNCXFx1NkUwN1xcdTZFRDFcXHU4NDVCXFx1ODkxMFxcdThGNDRcXHU0RTE0XFx1OUMzOVxcdTUzRjZcXHU2OTFCXFx1NkEzQVxcdTk3ODRcXHU2ODJBXFx1NTE1Q1xcdTdBQzNcXHU4NEIyXFx1OTFEQ1xcdTkzOENcXHU1NjVCXFx1OUQyOFxcdTY4MjJcXHU4MzA1XFx1ODQzMVxcdTdDQTVcXHU1MjA4XFx1ODJDNVxcdTc0RTZcXHU0RTdFXFx1NEY4M1xcdTUxQTBcXHU1QkQyXFx1NTIwQVxcdTUyRDhcXHU1MkU3XFx1NURGQlxcdTU1OUFcXHU1ODJBXFx1NTlFNlxcdTVCOENcXHU1Qjk4XFx1NUJEQlxcdTVFNzJcXHU1RTc5XFx1NjBBM1xcdTYxMUZcXHU2MTYzXFx1NjFCRVxcdTYzREJcXHU2NTYyXFx1NjdEMVxcdTY4NTNcXHU2OEZBXFx1NkIzRVxcdTZCNTNcXHU2QzU3XFx1NkYyMlxcdTZGOTdcXHU2RjQ1XFx1NzRCMFxcdTc1MThcXHU3NkUzXFx1NzcwQlxcdTdBRkZcXHU3QkExXFx1N0MyMVxcdTdERTlcXHU3RjM2XFx1N0ZGMFxcdTgwOURcXHU4MjY2XFx1ODM5RVxcdTg5QjNcXHU4QUNDXFx1OENBQlxcdTkwODRcXHU5NDUxXFx1OTU5M1xcdTk1OTFcXHU5NUEyXFx1OTY2NVxcdTk3RDNcXHU5OTI4XFx1ODIxOFxcdTRFMzhcXHU1NDJCXFx1NUNCOFxcdTVEQ0NcXHU3M0E5XFx1NzY0Q1xcdTc3M0NcXHU1Q0E5XFx1N0ZFQlxcdThEMEJcXHU5NkMxXFx1OTgxMVxcdTk4NTRcXHU5ODU4XFx1NEYwMVxcdTRGMEVcXHU1MzcxXFx1NTU5Q1xcdTU2NjhcXHU1N0ZBXFx1NTk0N1xcdTVCMDlcXHU1QkM0XFx1NUM5MFxcdTVFMENcXHU1RTdFXFx1NUZDQ1xcdTYzRUVcXHU2NzNBXFx1NjVEN1xcdTY1RTJcXHU2NzFGXFx1NjhDQlxcdTY4QzRcIl0sXG4gICAgICBbXCI4YjQwXCIsIFwiXFx1NkE1RlxcdTVFMzBcXHU2QkM1XFx1NkMxN1xcdTZDN0RcXHU3NTdGXFx1Nzk0OFxcdTVCNjNcXHU3QTAwXFx1N0QwMFxcdTVGQkRcXHU4OThGXFx1OEExOFxcdThDQjRcXHU4RDc3XFx1OEVDQ1xcdThGMURcXHU5OEUyXFx1OUEwRVxcdTlCM0NcXHU0RTgwXFx1NTA3RFxcdTUxMDBcXHU1OTkzXFx1NUI5Q1xcdTYyMkZcXHU2MjgwXFx1NjRFQ1xcdTZCM0FcXHU3MkEwXFx1NzU5MVxcdTc5NDdcXHU3RkE5XFx1ODdGQlxcdThBQkNcXHU4QjcwXFx1NjNBQ1xcdTgzQ0FcXHU5N0EwXFx1NTQwOVxcdTU0MDNcXHU1NUFCXFx1Njg1NFxcdTZBNThcXHU4QTcwXFx1NzgyN1xcdTY3NzVcXHU5RUNEXFx1NTM3NFxcdTVCQTJcXHU4MTFBXFx1ODY1MFxcdTkwMDZcXHU0RTE4XFx1NEU0NVxcdTRFQzdcXHU0RjExXFx1NTNDQVxcdTU0MzhcXHU1QkFFXFx1NUYxM1xcdTYwMjVcXHU2NTUxXCJdLFxuICAgICAgW1wiOGI4MFwiLCBcIlxcdTY3M0RcXHU2QzQyXFx1NkM3MlxcdTZDRTNcXHU3MDc4XFx1NzQwM1xcdTdBNzZcXHU3QUFFXFx1N0IwOFxcdTdEMUFcXHU3Q0ZFXFx1N0Q2NlxcdTY1RTdcXHU3MjVCXFx1NTNCQlxcdTVDNDVcXHU1REU4XFx1NjJEMlxcdTYyRTBcXHU2MzE5XFx1NkUyMFxcdTg2NUFcXHU4QTMxXFx1OERERFxcdTkyRjhcXHU2RjAxXFx1NzlBNlxcdTlCNUFcXHU0RUE4XFx1NEVBQlxcdTRFQUNcXHU0RjlCXFx1NEZBMFxcdTUwRDFcXHU1MTQ3XFx1N0FGNlxcdTUxNzFcXHU1MUY2XFx1NTM1NFxcdTUzMjFcXHU1MzdGXFx1NTNFQlxcdTU1QUNcXHU1ODgzXFx1NUNFMVxcdTVGMzdcXHU1RjRBXFx1NjAyRlxcdTYwNTBcXHU2MDZEXFx1NjMxRlxcdTY1NTlcXHU2QTRCXFx1NkNDMVxcdTcyQzJcXHU3MkVEXFx1NzdFRlxcdTgwRjhcXHU4MTA1XFx1ODIwOFxcdTg1NEVcXHU5MEY3XFx1OTNFMVxcdTk3RkZcXHU5OTU3XFx1OUE1QVxcdTRFRjBcXHU1MUREXFx1NUMyRFxcdTY2ODFcXHU2OTZEXFx1NUM0MFxcdTY2RjJcXHU2OTc1XFx1NzM4OVxcdTY4NTBcXHU3QzgxXFx1NTBDNVxcdTUyRTRcXHU1NzQ3XFx1NURGRVxcdTkzMjZcXHU2NUE0XFx1NkIyM1xcdTZCM0RcXHU3NDM0XFx1Nzk4MVxcdTc5QkRcXHU3QjRCXFx1N0RDQVxcdTgyQjlcXHU4M0NDXFx1ODg3RlxcdTg5NUZcXHU4QjM5XFx1OEZEMVxcdTkxRDFcXHU1NDFGXFx1OTI4MFxcdTRFNURcXHU1MDM2XFx1NTNFNVxcdTUzM0FcXHU3MkQ3XFx1NzM5NlxcdTc3RTlcXHU4MkU2XFx1OEVBRlxcdTk5QzZcXHU5OUM4XFx1OTlEMlxcdTUxNzdcXHU2MTFBXFx1ODY1RVxcdTU1QjBcXHU3QTdBXFx1NTA3NlxcdTVCRDNcXHU5MDQ3XFx1OTY4NVxcdTRFMzJcXHU2QURCXFx1OTFFN1xcdTVDNTFcXHU1QzQ4XCJdLFxuICAgICAgW1wiOGM0MFwiLCBcIlxcdTYzOThcXHU3QTlGXFx1NkM5M1xcdTk3NzRcXHU4RjYxXFx1N0FBQVxcdTcxOEFcXHU5Njg4XFx1N0M4MlxcdTY4MTdcXHU3RTcwXFx1Njg1MVxcdTkzNkNcXHU1MkYyXFx1NTQxQlxcdTg1QUJcXHU4QTEzXFx1N0ZBNFxcdThFQ0RcXHU5MEUxXFx1NTM2NlxcdTg4ODhcXHU3OTQxXFx1NEZDMlxcdTUwQkVcXHU1MjExXFx1NTE0NFxcdTU1NTNcXHU1NzJEXFx1NzNFQVxcdTU3OEJcXHU1OTUxXFx1NUY2MlxcdTVGODRcXHU2MDc1XFx1NjE3NlxcdTYxNjdcXHU2MUE5XFx1NjNCMlxcdTY0M0FcXHU2NTZDXFx1NjY2RlxcdTY4NDJcXHU2RTEzXFx1NzU2NlxcdTdBM0RcXHU3Q0ZCXFx1N0Q0Q1xcdTdEOTlcXHU3RTRCXFx1N0Y2QlxcdTgzMEVcXHU4MzRBXFx1ODZDRFxcdThBMDhcXHU4QTYzXFx1OEI2NlxcdThFRkRcXHU5ODFBXFx1OUQ4RlxcdTgyQjhcXHU4RkNFXFx1OUJFOFwiXSxcbiAgICAgIFtcIjhjODBcIiwgXCJcXHU1Mjg3XFx1NjIxRlxcdTY0ODNcXHU2RkMwXFx1OTY5OVxcdTY4NDFcXHU1MDkxXFx1NkIyMFxcdTZDN0FcXHU2RjU0XFx1N0E3NFxcdTdENTBcXHU4ODQwXFx1OEEyM1xcdTY3MDhcXHU0RUY2XFx1NTAzOVxcdTUwMjZcXHU1MDY1XFx1NTE3Q1xcdTUyMzhcXHU1MjYzXFx1NTVBN1xcdTU3MEZcXHU1ODA1XFx1NUFDQ1xcdTVFRkFcXHU2MUIyXFx1NjFGOFxcdTYyRjNcXHU2MzcyXFx1NjkxQ1xcdTZBMjlcXHU3MjdEXFx1NzJBQ1xcdTczMkVcXHU3ODE0XFx1Nzg2RlxcdTdENzlcXHU3NzBDXFx1ODBBOVxcdTg5OEJcXHU4QjE5XFx1OENFMlxcdThFRDJcXHU5MDYzXFx1OTM3NVxcdTk2N0FcXHU5ODU1XFx1OUExM1xcdTlFNzhcXHU1MTQzXFx1NTM5RlxcdTUzQjNcXHU1RTdCXFx1NUYyNlxcdTZFMUJcXHU2RTkwXFx1NzM4NFxcdTczRkVcXHU3RDQzXFx1ODIzN1xcdThBMDBcXHU4QUZBXFx1OTY1MFxcdTRFNEVcXHU1MDBCXFx1NTNFNFxcdTU0N0NcXHU1NkZBXFx1NTlEMVxcdTVCNjRcXHU1REYxXFx1NUVBQlxcdTVGMjdcXHU2MjM4XFx1NjU0NVxcdTY3QUZcXHU2RTU2XFx1NzJEMFxcdTdDQ0FcXHU4OEI0XFx1ODBBMVxcdTgwRTFcXHU4M0YwXFx1ODY0RVxcdThBODdcXHU4REU4XFx1OTIzN1xcdTk2QzdcXHU5ODY3XFx1OUYxM1xcdTRFOTRcXHU0RTkyXFx1NEYwRFxcdTUzNDhcXHU1NDQ5XFx1NTQzRVxcdTVBMkZcXHU1RjhDXFx1NUZBMVxcdTYwOUZcXHU2OEE3XFx1NkE4RVxcdTc0NUFcXHU3ODgxXFx1OEE5RVxcdThBQTRcXHU4Qjc3XFx1OTE5MFxcdTRFNUVcXHU5QkM5XFx1NEVBNFxcdTRGN0NcXHU0RkFGXFx1NTAxOVxcdTUwMTZcXHU1MTQ5XFx1NTE2Q1xcdTUyOUZcXHU1MkI5XFx1NTJGRVxcdTUzOUFcXHU1M0UzXFx1NTQxMVwiXSxcbiAgICAgIFtcIjhkNDBcIiwgXCJcXHU1NDBFXFx1NTU4OVxcdTU3NTFcXHU1N0EyXFx1NTk3RFxcdTVCNTRcXHU1QjVEXFx1NUI4RlxcdTVERTVcXHU1REU3XFx1NURGN1xcdTVFNzhcXHU1RTgzXFx1NUU5QVxcdTVFQjdcXHU1RjE4XFx1NjA1MlxcdTYxNENcXHU2Mjk3XFx1NjJEOFxcdTYzQTdcXHU2NTNCXFx1NjYwMlxcdTY2NDNcXHU2NkY0XFx1Njc2RFxcdTY4MjFcXHU2ODk3XFx1NjlDQlxcdTZDNUZcXHU2RDJBXFx1NkQ2OVxcdTZFMkZcXHU2RTlEXFx1NzUzMlxcdTc2ODdcXHU3ODZDXFx1N0EzRlxcdTdDRTBcXHU3RDA1XFx1N0QxOFxcdTdENUVcXHU3REIxXFx1ODAxNVxcdTgwMDNcXHU4MEFGXFx1ODBCMVxcdTgxNTRcXHU4MThGXFx1ODIyQVxcdTgzNTJcXHU4ODRDXFx1ODg2MVxcdThCMUJcXHU4Q0EyXFx1OENGQ1xcdTkwQ0FcXHU5MTc1XFx1OTI3MVxcdTc4M0ZcXHU5MkZDXFx1OTVBNFxcdTk2NERcIl0sXG4gICAgICBbXCI4ZDgwXCIsIFwiXFx1OTgwNVxcdTk5OTlcXHU5QUQ4XFx1OUQzQlxcdTUyNUJcXHU1MkFCXFx1NTNGN1xcdTU0MDhcXHU1OEQ1XFx1NjJGN1xcdTZGRTBcXHU4QzZBXFx1OEY1RlxcdTlFQjlcXHU1MTRCXFx1NTIzQlxcdTU0NEFcXHU1NkZEXFx1N0E0MFxcdTkxNzdcXHU5RDYwXFx1OUVEMlxcdTczNDRcXHU2RjA5XFx1ODE3MFxcdTc1MTFcXHU1RkZEXFx1NjBEQVxcdTlBQThcXHU3MkRCXFx1OEZCQ1xcdTZCNjRcXHU5ODAzXFx1NEVDQVxcdTU2RjBcXHU1NzY0XFx1NThCRVxcdTVBNUFcXHU2MDY4XFx1NjFDN1xcdTY2MEZcXHU2NjA2XFx1NjgzOVxcdTY4QjFcXHU2REY3XFx1NzVENVxcdTdEM0FcXHU4MjZFXFx1OUI0MlxcdTRFOUJcXHU0RjUwXFx1NTNDOVxcdTU1MDZcXHU1RDZGXFx1NURFNlxcdTVERUVcXHU2N0ZCXFx1NkM5OVxcdTc0NzNcXHU3ODAyXFx1OEE1MFxcdTkzOTZcXHU4OERGXFx1NTc1MFxcdTVFQTdcXHU2MzJCXFx1NTBCNVxcdTUwQUNcXHU1MThEXFx1NjcwMFxcdTU0QzlcXHU1ODVFXFx1NTlCQlxcdTVCQjBcXHU1RjY5XFx1NjI0RFxcdTYzQTFcXHU2ODNEXFx1NkI3M1xcdTZFMDhcXHU3MDdEXFx1OTFDN1xcdTcyODBcXHU3ODE1XFx1NzgyNlxcdTc5NkRcXHU2NThFXFx1N0QzMFxcdTgzRENcXHU4OEMxXFx1OEYwOVxcdTk2OUJcXHU1MjY0XFx1NTcyOFxcdTY3NTBcXHU3RjZBXFx1OENBMVxcdTUxQjRcXHU1NzQyXFx1OTYyQVxcdTU4M0FcXHU2OThBXFx1ODBCNFxcdTU0QjJcXHU1RDBFXFx1NTdGQ1xcdTc4OTVcXHU5REZBXFx1NEY1Q1xcdTUyNEFcXHU1NDhCXFx1NjQzRVxcdTY2MjhcXHU2NzE0XFx1NjdGNVxcdTdBODRcXHU3QjU2XFx1N0QyMlxcdTkzMkZcXHU2ODVDXFx1OUJBRFxcdTdCMzlcXHU1MzE5XFx1NTE4QVxcdTUyMzdcIl0sXG4gICAgICBbXCI4ZTQwXCIsIFwiXFx1NUJERlxcdTYyRjZcXHU2NEFFXFx1NjRFNlxcdTY3MkRcXHU2QkJBXFx1ODVBOVxcdTk2RDFcXHU3NjkwXFx1OUJENlxcdTYzNENcXHU5MzA2XFx1OUJBQlxcdTc2QkZcXHU2NjUyXFx1NEUwOVxcdTUwOThcXHU1M0MyXFx1NUM3MVxcdTYwRThcXHU2NDkyXFx1NjU2M1xcdTY4NUZcXHU3MUU2XFx1NzNDQVxcdTc1MjNcXHU3Qjk3XFx1N0U4MlxcdTg2OTVcXHU4QjgzXFx1OENEQlxcdTkxNzhcXHU5OTEwXFx1NjVBQ1xcdTY2QUJcXHU2QjhCXFx1NEVENVxcdTRFRDRcXHU0RjNBXFx1NEY3RlxcdTUyM0FcXHU1M0Y4XFx1NTNGMlxcdTU1RTNcXHU1NkRCXFx1NThFQlxcdTU5Q0JcXHU1OUM5XFx1NTlGRlxcdTVCNTBcXHU1QzREXFx1NUUwMlxcdTVFMkJcXHU1RkQ3XFx1NjAxRFxcdTYzMDdcXHU2NTJGXFx1NUI1Q1xcdTY1QUZcXHU2NUJEXFx1NjVFOFxcdTY3OURcXHU2QjYyXCJdLFxuICAgICAgW1wiOGU4MFwiLCBcIlxcdTZCN0JcXHU2QzBGXFx1NzM0NVxcdTc5NDlcXHU3OUMxXFx1N0NGOFxcdTdEMTlcXHU3RDJCXFx1ODBBMlxcdTgxMDJcXHU4MUYzXFx1ODk5NlxcdThBNUVcXHU4QTY5XFx1OEE2NlxcdThBOENcXHU4QUVFXFx1OENDN1xcdThDRENcXHU5NkNDXFx1OThGQ1xcdTZCNkZcXHU0RThCXFx1NEYzQ1xcdTRGOERcXHU1MTUwXFx1NUI1N1xcdTVCRkFcXHU2MTQ4XFx1NjMwMVxcdTY2NDJcXHU2QjIxXFx1NkVDQlxcdTZDQkJcXHU3MjNFXFx1NzRCRFxcdTc1RDRcXHU3OEMxXFx1NzkzQVxcdTgwMENcXHU4MDMzXFx1ODFFQVxcdTg0OTRcXHU4RjlFXFx1NkM1MFxcdTlFN0ZcXHU1RjBGXFx1OEI1OFxcdTlEMkJcXHU3QUZBXFx1OEVGOFxcdTVCOERcXHU5NkVCXFx1NEUwM1xcdTUzRjFcXHU1N0Y3XFx1NTkzMVxcdTVBQzlcXHU1QkE0XFx1NjA4OVxcdTZFN0ZcXHU2RjA2XFx1NzVCRVxcdThDRUFcXHU1QjlGXFx1ODUwMFxcdTdCRTBcXHU1MDcyXFx1NjdGNFxcdTgyOURcXHU1QzYxXFx1ODU0QVxcdTdFMUVcXHU4MjBFXFx1NTE5OVxcdTVDMDRcXHU2MzY4XFx1OEQ2NlxcdTY1OUNcXHU3MTZFXFx1NzkzRVxcdTdEMTdcXHU4MDA1XFx1OEIxRFxcdThFQ0FcXHU5MDZFXFx1ODZDN1xcdTkwQUFcXHU1MDFGXFx1NTJGQVxcdTVDM0FcXHU2NzUzXFx1NzA3Q1xcdTcyMzVcXHU5MTRDXFx1OTFDOFxcdTkzMkJcXHU4MkU1XFx1NUJDMlxcdTVGMzFcXHU2MEY5XFx1NEUzQlxcdTUzRDZcXHU1Qjg4XFx1NjI0QlxcdTY3MzFcXHU2QjhBXFx1NzJFOVxcdTczRTBcXHU3QTJFXFx1ODE2QlxcdThEQTNcXHU5MTUyXFx1OTk5NlxcdTUxMTJcXHU1M0Q3XFx1NTQ2QVxcdTVCRkZcXHU2Mzg4XFx1NkEzOVxcdTdEQUNcXHU5NzAwXFx1NTZEQVxcdTUzQ0VcXHU1NDY4XCJdLFxuICAgICAgW1wiOGY0MFwiLCBcIlxcdTVCOTdcXHU1QzMxXFx1NURERVxcdTRGRUVcXHU2MTAxXFx1NjJGRVxcdTZEMzJcXHU3OUMwXFx1NzlDQlxcdTdENDJcXHU3RTREXFx1N0ZEMlxcdTgxRURcXHU4MjFGXFx1ODQ5MFxcdTg4NDZcXHU4OTcyXFx1OEI5MFxcdThFNzRcXHU4RjJGXFx1OTAzMVxcdTkxNEJcXHU5MTZDXFx1OTZDNlxcdTkxOUNcXHU0RUMwXFx1NEY0RlxcdTUxNDVcXHU1MzQxXFx1NUY5M1xcdTYyMEVcXHU2N0Q0XFx1NkM0MVxcdTZFMEJcXHU3MzYzXFx1N0UyNlxcdTkxQ0RcXHU5MjgzXFx1NTNENFxcdTU5MTlcXHU1QkJGXFx1NkREMVxcdTc5NURcXHU3RTJFXFx1N0M5QlxcdTU4N0VcXHU3MTlGXFx1NTFGQVxcdTg4NTNcXHU4RkYwXFx1NEZDQVxcdTVDRkJcXHU2NjI1XFx1NzdBQ1xcdTdBRTNcXHU4MjFDXFx1OTlGRlxcdTUxQzZcXHU1RkFBXFx1NjVFQ1xcdTY5NkZcXHU2Qjg5XFx1NkRGM1wiXSxcbiAgICAgIFtcIjhmODBcIiwgXCJcXHU2RTk2XFx1NkY2NFxcdTc2RkVcXHU3RDE0XFx1NURFMVxcdTkwNzVcXHU5MTg3XFx1OTgwNlxcdTUxRTZcXHU1MjFEXFx1NjI0MFxcdTY2OTFcXHU2NkQ5XFx1NkUxQVxcdTVFQjZcXHU3REQyXFx1N0Y3MlxcdTY2RjhcXHU4NUFGXFx1ODVGN1xcdThBRjhcXHU1MkE5XFx1NTNEOVxcdTU5NzNcXHU1RThGXFx1NUY5MFxcdTYwNTVcXHU5MkU0XFx1OTY2NFxcdTUwQjdcXHU1MTFGXFx1NTJERFxcdTUzMjBcXHU1MzQ3XFx1NTNFQ1xcdTU0RThcXHU1NTQ2XFx1NTUzMVxcdTU2MTdcXHU1OTY4XFx1NTlCRVxcdTVBM0NcXHU1QkI1XFx1NUMwNlxcdTVDMEZcXHU1QzExXFx1NUMxQVxcdTVFODRcXHU1RThBXFx1NUVFMFxcdTVGNzBcXHU2MjdGXFx1NjI4NFxcdTYyREJcXHU2MzhDXFx1NjM3N1xcdTY2MDdcXHU2NjBDXFx1NjYyRFxcdTY2NzZcXHU2NzdFXFx1NjhBMlxcdTZBMUZcXHU2QTM1XFx1NkNCQ1xcdTZEODhcXHU2RTA5XFx1NkU1OFxcdTcxM0NcXHU3MTI2XFx1NzE2N1xcdTc1QzdcXHU3NzAxXFx1Nzg1RFxcdTc5MDFcXHU3OTY1XFx1NzlGMFxcdTdBRTBcXHU3QjExXFx1N0NBN1xcdTdEMzlcXHU4MDk2XFx1ODNENlxcdTg0OEJcXHU4NTQ5XFx1ODg1RFxcdTg4RjNcXHU4QTFGXFx1OEEzQ1xcdThBNTRcXHU4QTczXFx1OEM2MVxcdThDREVcXHU5MUE0XFx1OTI2NlxcdTkzN0VcXHU5NDE4XFx1OTY5Q1xcdTk3OThcXHU0RTBBXFx1NEUwOFxcdTRFMUVcXHU0RTU3XFx1NTE5N1xcdTUyNzBcXHU1N0NFXFx1NTgzNFxcdTU4Q0NcXHU1QjIyXFx1NUUzOFxcdTYwQzVcXHU2NEZFXFx1Njc2MVxcdTY3NTZcXHU2RDQ0XFx1NzJCNlxcdTc1NzNcXHU3QTYzXFx1ODRCOFxcdThCNzJcXHU5MUI4XFx1OTMyMFxcdTU2MzFcXHU1N0Y0XFx1OThGRVwiXSxcbiAgICAgIFtcIjkwNDBcIiwgXCJcXHU2MkVEXFx1NjkwRFxcdTZCOTZcXHU3MUVEXFx1N0U1NFxcdTgwNzdcXHU4MjcyXFx1ODlFNlxcdTk4REZcXHU4NzU1XFx1OEZCMVxcdTVDM0JcXHU0RjM4XFx1NEZFMVxcdTRGQjVcXHU1NTA3XFx1NUEyMFxcdTVCRERcXHU1QkU5XFx1NUZDM1xcdTYxNEVcXHU2MzJGXFx1NjVCMFxcdTY2NEJcXHU2OEVFXFx1Njk5QlxcdTZENzhcXHU2REYxXFx1NzUzM1xcdTc1QjlcXHU3NzFGXFx1Nzk1RVxcdTc5RTZcXHU3RDMzXFx1ODFFM1xcdTgyQUZcXHU4NUFBXFx1ODlBQVxcdThBM0FcXHU4RUFCXFx1OEY5QlxcdTkwMzJcXHU5MUREXFx1OTcwN1xcdTRFQkFcXHU0RUMxXFx1NTIwM1xcdTU4NzVcXHU1OEVDXFx1NUMwQlxcdTc1MUFcXHU1QzNEXFx1ODE0RVxcdThBMEFcXHU4RkM1XFx1OTY2M1xcdTk3NkRcXHU3QjI1XFx1OEFDRlxcdTk4MDhcXHU5MTYyXFx1NTZGM1xcdTUzQThcIl0sXG4gICAgICBbXCI5MDgwXCIsIFwiXFx1OTAxN1xcdTU0MzlcXHU1NzgyXFx1NUUyNVxcdTYzQThcXHU2QzM0XFx1NzA4QVxcdTc3NjFcXHU3QzhCXFx1N0ZFMFxcdTg4NzBcXHU5MDQyXFx1OTE1NFxcdTkzMTBcXHU5MzE4XFx1OTY4RlxcdTc0NUVcXHU5QUM0XFx1NUQwN1xcdTVENjlcXHU2NTcwXFx1NjdBMlxcdThEQThcXHU5NkRCXFx1NjM2RVxcdTY3NDlcXHU2OTE5XFx1ODNDNVxcdTk4MTdcXHU5NkMwXFx1ODhGRVxcdTZGODRcXHU2NDdBXFx1NUJGOFxcdTRFMTZcXHU3MDJDXFx1NzU1RFxcdTY2MkZcXHU1MUM0XFx1NTIzNlxcdTUyRTJcXHU1OUQzXFx1NUY4MVxcdTYwMjdcXHU2MjEwXFx1NjUzRlxcdTY1NzRcXHU2NjFGXFx1NjY3NFxcdTY4RjJcXHU2ODE2XFx1NkI2M1xcdTZFMDVcXHU3MjcyXFx1NzUxRlxcdTc2REJcXHU3Q0JFXFx1ODA1NlxcdTU4RjBcXHU4OEZEXFx1ODk3RlxcdThBQTBcXHU4QTkzXFx1OEFDQlxcdTkwMURcXHU5MTkyXFx1OTc1MlxcdTk3NTlcXHU2NTg5XFx1N0EwRVxcdTgxMDZcXHU5NkJCXFx1NUUyRFxcdTYwRENcXHU2MjFBXFx1NjVBNVxcdTY2MTRcXHU2NzkwXFx1NzdGM1xcdTdBNERcXHU3QzREXFx1N0UzRVxcdTgxMEFcXHU4Q0FDXFx1OEQ2NFxcdThERTFcXHU4RTVGXFx1NzhBOVxcdTUyMDdcXHU2MkQ5XFx1NjNBNVxcdTY0NDJcXHU2Mjk4XFx1OEEyRFxcdTdBODNcXHU3QkMwXFx1OEFBQ1xcdTk2RUFcXHU3RDc2XFx1ODIwQ1xcdTg3NDlcXHU0RUQ5XFx1NTE0OFxcdTUzNDNcXHU1MzYwXFx1NUJBM1xcdTVDMDJcXHU1QzE2XFx1NURERFxcdTYyMjZcXHU2MjQ3XFx1NjRCMFxcdTY4MTNcXHU2ODM0XFx1NkNDOVxcdTZENDVcXHU2RDE3XFx1NjdEM1xcdTZGNUNcXHU3MTRFXFx1NzE3RFxcdTY1Q0JcXHU3QTdGXFx1N0JBRFxcdTdEREFcIl0sXG4gICAgICBbXCI5MTQwXCIsIFwiXFx1N0U0QVxcdTdGQThcXHU4MTdBXFx1ODIxQlxcdTgyMzlcXHU4NUE2XFx1OEE2RVxcdThDQ0VcXHU4REY1XFx1OTA3OFxcdTkwNzdcXHU5MkFEXFx1OTI5MVxcdTk1ODNcXHU5QkFFXFx1NTI0RFxcdTU1ODRcXHU2RjM4XFx1NzEzNlxcdTUxNjhcXHU3OTg1XFx1N0U1NVxcdTgxQjNcXHU3Q0NFXFx1NTY0Q1xcdTU4NTFcXHU1Q0E4XFx1NjNBQVxcdTY2RkVcXHU2NkZEXFx1Njk1QVxcdTcyRDlcXHU3NThGXFx1NzU4RVxcdTc5MEVcXHU3OTU2XFx1NzlERlxcdTdDOTdcXHU3RDIwXFx1N0Q0NFxcdTg2MDdcXHU4QTM0XFx1OTYzQlxcdTkwNjFcXHU5RjIwXFx1NTBFN1xcdTUyNzVcXHU1M0NDXFx1NTNFMlxcdTUwMDlcXHU1NUFBXFx1NThFRVxcdTU5NEZcXHU3MjNEXFx1NUI4QlxcdTVDNjRcXHU1MzFEXFx1NjBFM1xcdTYwRjNcXHU2MzVDXFx1NjM4M1xcdTYzM0ZcXHU2M0JCXCJdLFxuICAgICAgW1wiOTE4MFwiLCBcIlxcdTY0Q0RcXHU2NUU5XFx1NjZGOVxcdTVERTNcXHU2OUNEXFx1NjlGRFxcdTZGMTVcXHU3MUU1XFx1NEU4OVxcdTc1RTlcXHU3NkY4XFx1N0E5M1xcdTdDREZcXHU3RENGXFx1N0Q5Q1xcdTgwNjFcXHU4MzQ5XFx1ODM1OFxcdTg0NkNcXHU4NEJDXFx1ODVGQlxcdTg4QzVcXHU4RDcwXFx1OTAwMVxcdTkwNkRcXHU5Mzk3XFx1OTcxQ1xcdTlBMTJcXHU1MENGXFx1NTg5N1xcdTYxOEVcXHU4MUQzXFx1ODUzNVxcdThEMDhcXHU5MDIwXFx1NEZDM1xcdTUwNzRcXHU1MjQ3XFx1NTM3M1xcdTYwNkZcXHU2MzQ5XFx1Njc1RlxcdTZFMkNcXHU4REIzXFx1OTAxRlxcdTRGRDdcXHU1QzVFXFx1OENDQVxcdTY1Q0ZcXHU3RDlBXFx1NTM1MlxcdTg4OTZcXHU1MTc2XFx1NjNDM1xcdTVCNThcXHU1QjZCXFx1NUMwQVxcdTY0MERcXHU2NzUxXFx1OTA1Q1xcdTRFRDZcXHU1OTFBXFx1NTkyQVxcdTZDNzBcXHU4QTUxXFx1NTUzRVxcdTU4MTVcXHU1OUE1XFx1NjBGMFxcdTYyNTNcXHU2N0MxXFx1ODIzNVxcdTY5NTVcXHU5NjQwXFx1OTlDNFxcdTlBMjhcXHU0RjUzXFx1NTgwNlxcdTVCRkVcXHU4MDEwXFx1NUNCMVxcdTVFMkZcXHU1Rjg1XFx1NjAyMFxcdTYxNEJcXHU2MjM0XFx1NjZGRlxcdTZDRjBcXHU2RURFXFx1ODBDRVxcdTgxN0ZcXHU4MkQ0XFx1ODg4QlxcdThDQjhcXHU5MDAwXFx1OTAyRVxcdTk2OEFcXHU5RURCXFx1OUJEQlxcdTRFRTNcXHU1M0YwXFx1NTkyN1xcdTdCMkNcXHU5MThEXFx1OTg0Q1xcdTlERjlcXHU2RUREXFx1NzAyN1xcdTUzNTNcXHU1NTQ0XFx1NUI4NVxcdTYyNThcXHU2MjlFXFx1NjJEM1xcdTZDQTJcXHU2RkVGXFx1NzQyMlxcdThBMTdcXHU5NDM4XFx1NkZDMVxcdThBRkVcXHU4MzM4XFx1NTFFN1xcdTg2RjhcXHU1M0VBXCJdLFxuICAgICAgW1wiOTI0MFwiLCBcIlxcdTUzRTlcXHU0RjQ2XFx1OTA1NFxcdThGQjBcXHU1OTZBXFx1ODEzMVxcdTVERkRcXHU3QUVBXFx1OEZCRlxcdTY4REFcXHU4QzM3XFx1NzJGOFxcdTlDNDhcXHU2QTNEXFx1OEFCMFxcdTRFMzlcXHU1MzU4XFx1NTYwNlxcdTU3NjZcXHU2MkM1XFx1NjNBMlxcdTY1RTZcXHU2QjRFXFx1NkRFMVxcdTZFNUJcXHU3MEFEXFx1NzdFRFxcdTdBRUZcXHU3QkFBXFx1N0RCQlxcdTgwM0RcXHU4MEM2XFx1ODZDQlxcdThBOTVcXHU5MzVCXFx1NTZFM1xcdTU4QzdcXHU1RjNFXFx1NjVBRFxcdTY2OTZcXHU2QTgwXFx1NkJCNVxcdTc1MzdcXHU4QUM3XFx1NTAyNFxcdTc3RTVcXHU1NzMwXFx1NUYxQlxcdTYwNjVcXHU2NjdBXFx1NkM2MFxcdTc1RjRcXHU3QTFBXFx1N0Y2RVxcdTgxRjRcXHU4NzE4XFx1OTA0NVxcdTk5QjNcXHU3QkM5XFx1NzU1Q1xcdTdBRjlcXHU3QjUxXFx1ODRDNFwiXSxcbiAgICAgIFtcIjkyODBcIiwgXCJcXHU5MDEwXFx1NzlFOVxcdTdBOTJcXHU4MzM2XFx1NUFFMVxcdTc3NDBcXHU0RTJEXFx1NEVGMlxcdTVCOTlcXHU1RkUwXFx1NjJCRFxcdTY2M0NcXHU2N0YxXFx1NkNFOFxcdTg2NkJcXHU4ODc3XFx1OEEzQlxcdTkxNEVcXHU5MkYzXFx1OTlEMFxcdTZBMTdcXHU3MDI2XFx1NzMyQVxcdTgyRTdcXHU4NDU3XFx1OENBRlxcdTRFMDFcXHU1MTQ2XFx1NTFDQlxcdTU1OEJcXHU1QkY1XFx1NUUxNlxcdTVFMzNcXHU1RTgxXFx1NUYxNFxcdTVGMzVcXHU1RjZCXFx1NUZCNFxcdTYxRjJcXHU2MzExXFx1NjZBMlxcdTY3MURcXHU2RjZFXFx1NzI1MlxcdTc1M0FcXHU3NzNBXFx1ODA3NFxcdTgxMzlcXHU4MTc4XFx1ODc3NlxcdThBQkZcXHU4QURDXFx1OEQ4NVxcdThERjNcXHU5MjlBXFx1OTU3N1xcdTk4MDJcXHU5Q0U1XFx1NTJDNVxcdTYzNTdcXHU3NkY0XFx1NjcxNVxcdTZDODhcXHU3M0NEXFx1OENDM1xcdTkzQUVcXHU5NjczXFx1NkQyNVxcdTU4OUNcXHU2OTBFXFx1NjlDQ1xcdThGRkRcXHU5MzlBXFx1NzVEQlxcdTkwMUFcXHU1ODVBXFx1NjgwMlxcdTYzQjRcXHU2OUZCXFx1NEY0M1xcdTZGMkNcXHU2N0Q4XFx1OEZCQlxcdTg1MjZcXHU3REI0XFx1OTM1NFxcdTY5M0ZcXHU2RjcwXFx1NTc2QVxcdTU4RjdcXHU1QjJDXFx1N0QyQ1xcdTcyMkFcXHU1NDBBXFx1OTFFM1xcdTlEQjRcXHU0RUFEXFx1NEY0RVxcdTUwNUNcXHU1MDc1XFx1NTI0M1xcdThDOUVcXHU1NDQ4XFx1NTgyNFxcdTVCOUFcXHU1RTFEXFx1NUU5NVxcdTVFQURcXHU1RUY3XFx1NUYxRlxcdTYwOENcXHU2MkI1XFx1NjMzQVxcdTYzRDBcXHU2OEFGXFx1NkM0MFxcdTc4ODdcXHU3OThFXFx1N0EwQlxcdTdERTBcXHU4MjQ3XFx1OEEwMlxcdThBRTZcXHU4RTQ0XFx1OTAxM1wiXSxcbiAgICAgIFtcIjkzNDBcIiwgXCJcXHU5MEI4XFx1OTEyRFxcdTkxRDhcXHU5RjBFXFx1NkNFNVxcdTY0NThcXHU2NEUyXFx1NjU3NVxcdTZFRjRcXHU3Njg0XFx1N0IxQlxcdTkwNjlcXHU5M0QxXFx1NkVCQVxcdTU0RjJcXHU1RkI5XFx1NjRBNFxcdThGNERcXHU4RkVEXFx1OTI0NFxcdTUxNzhcXHU1ODZCXFx1NTkyOVxcdTVDNTVcXHU1RTk3XFx1NkRGQlxcdTdFOEZcXHU3NTFDXFx1OENCQ1xcdThFRTJcXHU5ODVCXFx1NzBCOVxcdTRGMURcXHU2QkJGXFx1NkZCMVxcdTc1MzBcXHU5NkZCXFx1NTE0RVxcdTU0MTBcXHU1ODM1XFx1NTg1N1xcdTU5QUNcXHU1QzYwXFx1NUY5MlxcdTY1OTdcXHU2NzVDXFx1NkUyMVxcdTc2N0JcXHU4M0RGXFx1OENFRFxcdTkwMTRcXHU5MEZEXFx1OTM0RFxcdTc4MjVcXHU3ODNBXFx1NTJBQVxcdTVFQTZcXHU1NzFGXFx1NTk3NFxcdTYwMTJcXHU1MDEyXFx1NTE1QVxcdTUxQUNcIl0sXG4gICAgICBbXCI5MzgwXCIsIFwiXFx1NTFDRFxcdTUyMDBcXHU1NTEwXFx1NTg1NFxcdTU4NThcXHU1OTU3XFx1NUI5NVxcdTVDRjZcXHU1RDhCXFx1NjBCQ1xcdTYyOTVcXHU2NDJEXFx1Njc3MVxcdTY4NDNcXHU2OEJDXFx1NjhERlxcdTc2RDdcXHU2REQ4XFx1NkU2RlxcdTZEOUJcXHU3MDZGXFx1NzFDOFxcdTVGNTNcXHU3NUQ4XFx1Nzk3N1xcdTdCNDlcXHU3QjU0XFx1N0I1MlxcdTdDRDZcXHU3RDcxXFx1NTIzMFxcdTg0NjNcXHU4NTY5XFx1ODVFNFxcdThBMEVcXHU4QjA0XFx1OEM0NlxcdThFMEZcXHU5MDAzXFx1OTAwRlxcdTk0MTlcXHU5Njc2XFx1OTgyRFxcdTlBMzBcXHU5NUQ4XFx1NTBDRFxcdTUyRDVcXHU1NDBDXFx1NTgwMlxcdTVDMEVcXHU2MUE3XFx1NjQ5RVxcdTZEMUVcXHU3N0IzXFx1N0FFNVxcdTgwRjRcXHU4NDA0XFx1OTA1M1xcdTkyODVcXHU1Q0UwXFx1OUQwN1xcdTUzM0ZcXHU1Rjk3XFx1NUZCM1xcdTZEOUNcXHU3Mjc5XFx1Nzc2M1xcdTc5QkZcXHU3QkU0XFx1NkJEMlxcdTcyRUNcXHU4QUFEXFx1NjgwM1xcdTZBNjFcXHU1MUY4XFx1N0E4MVxcdTY5MzRcXHU1QzRBXFx1OUNGNlxcdTgyRUJcXHU1QkM1XFx1OTE0OVxcdTcwMUVcXHU1Njc4XFx1NUM2RlxcdTYwQzdcXHU2NTY2XFx1NkM4Q1xcdThDNUFcXHU5MDQxXFx1OTgxM1xcdTU0NTFcXHU2NkM3XFx1OTIwRFxcdTU5NDhcXHU5MEEzXFx1NTE4NVxcdTRFNERcXHU1MUVBXFx1ODU5OVxcdThCMEVcXHU3MDU4XFx1NjM3QVxcdTkzNEJcXHU2OTYyXFx1OTlCNFxcdTdFMDRcXHU3NTc3XFx1NTM1N1xcdTY5NjBcXHU4RURGXFx1OTZFM1xcdTZDNURcXHU0RThDXFx1NUMzQ1xcdTVGMTBcXHU4RkU5XFx1NTMwMlxcdThDRDFcXHU4MDg5XFx1ODY3OVxcdTVFRkZcXHU2NUU1XFx1NEU3M1xcdTUxNjVcIl0sXG4gICAgICBbXCI5NDQwXCIsIFwiXFx1NTk4MlxcdTVDM0ZcXHU5N0VFXFx1NEVGQlxcdTU5OEFcXHU1RkNEXFx1OEE4RFxcdTZGRTFcXHU3OUIwXFx1Nzk2MlxcdTVCRTdcXHU4NDcxXFx1NzMyQlxcdTcxQjFcXHU1RTc0XFx1NUZGNVxcdTYzN0JcXHU2NDlBXFx1NzFDM1xcdTdDOThcXHU0RTQzXFx1NUVGQ1xcdTRFNEJcXHU1N0RDXFx1NTZBMlxcdTYwQTlcXHU2RkMzXFx1N0QwRFxcdTgwRkRcXHU4MTMzXFx1ODFCRlxcdThGQjJcXHU4OTk3XFx1ODZBNFxcdTVERjRcXHU2MjhBXFx1NjRBRFxcdTg5ODdcXHU2Nzc3XFx1NkNFMlxcdTZEM0VcXHU3NDM2XFx1NzgzNFxcdTVBNDZcXHU3Rjc1XFx1ODJBRFxcdTk5QUNcXHU0RkYzXFx1NUVDM1xcdTYyRERcXHU2MzkyXFx1NjU1N1xcdTY3NkZcXHU3NkMzXFx1NzI0Q1xcdTgwQ0NcXHU4MEJBXFx1OEYyOVxcdTkxNERcXHU1MDBEXFx1NTdGOVxcdTVBOTJcXHU2ODg1XCJdLFxuICAgICAgW1wiOTQ4MFwiLCBcIlxcdTY5NzNcXHU3MTY0XFx1NzJGRFxcdThDQjdcXHU1OEYyXFx1OENFMFxcdTk2NkFcXHU5MDE5XFx1ODc3RlxcdTc5RTRcXHU3N0U3XFx1ODQyOVxcdTRGMkZcXHU1MjY1XFx1NTM1QVxcdTYyQ0RcXHU2N0NGXFx1NkNDQVxcdTc2N0RcXHU3Qjk0XFx1N0M5NVxcdTgyMzZcXHU4NTg0XFx1OEZFQlxcdTY2RERcXHU2RjIwXFx1NzIwNlxcdTdFMUJcXHU4M0FCXFx1OTlDMVxcdTlFQTZcXHU1MUZEXFx1N0JCMVxcdTc4NzJcXHU3QkI4XFx1ODA4N1xcdTdCNDhcXHU2QUU4XFx1NUU2MVxcdTgwOENcXHU3NTUxXFx1NzU2MFxcdTUxNkJcXHU5MjYyXFx1NkU4Q1xcdTc2N0FcXHU5MTk3XFx1OUFFQVxcdTRGMTBcXHU3RjcwXFx1NjI5Q1xcdTdCNEZcXHU5NUE1XFx1OUNFOVxcdTU2N0FcXHU1ODU5XFx1ODZFNFxcdTk2QkNcXHU0RjM0XFx1NTIyNFxcdTUzNEFcXHU1M0NEXFx1NTNEQlxcdTVFMDZcXHU2NDJDXFx1NjU5MVxcdTY3N0ZcXHU2QzNFXFx1NkM0RVxcdTcyNDhcXHU3MkFGXFx1NzNFRFxcdTc1NTRcXHU3RTQxXFx1ODIyQ1xcdTg1RTlcXHU4Q0E5XFx1N0JDNFxcdTkxQzZcXHU3MTY5XFx1OTgxMlxcdTk4RUZcXHU2MzNEXFx1NjY2OVxcdTc1NkFcXHU3NkU0XFx1NzhEMFxcdTg1NDNcXHU4NkVFXFx1NTMyQVxcdTUzNTFcXHU1NDI2XFx1NTk4M1xcdTVFODdcXHU1RjdDXFx1NjBCMlxcdTYyNDlcXHU2Mjc5XFx1NjJBQlxcdTY1OTBcXHU2QkQ0XFx1NkNDQ1xcdTc1QjJcXHU3NkFFXFx1Nzg5MVxcdTc5RDhcXHU3RENCXFx1N0Y3N1xcdTgwQTVcXHU4OEFCXFx1OEFCOVxcdThDQkJcXHU5MDdGXFx1OTc1RVxcdTk4REJcXHU2QTBCXFx1N0MzOFxcdTUwOTlcXHU1QzNFXFx1NUZBRVxcdTY3ODdcXHU2QkQ4XFx1NzQzNVxcdTc3MDlcXHU3RjhFXCJdLFxuICAgICAgW1wiOTU0MFwiLCBcIlxcdTlGM0JcXHU2N0NBXFx1N0ExN1xcdTUzMzlcXHU3NThCXFx1OUFFRFxcdTVGNjZcXHU4MTlEXFx1ODNGMVxcdTgwOThcXHU1RjNDXFx1NUZDNVxcdTc1NjJcXHU3QjQ2XFx1OTAzQ1xcdTY4NjdcXHU1OUVCXFx1NUE5QlxcdTdEMTBcXHU3NjdFXFx1OEIyQ1xcdTRGRjVcXHU1RjZBXFx1NkExOVxcdTZDMzdcXHU2RjAyXFx1NzRFMlxcdTc5NjhcXHU4ODY4XFx1OEE1NVxcdThDNzlcXHU1RURGXFx1NjNDRlxcdTc1QzVcXHU3OUQyXFx1ODJEN1xcdTkzMjhcXHU5MkYyXFx1ODQ5Q1xcdTg2RURcXHU5QzJEXFx1NTRDMVxcdTVGNkNcXHU2NThDXFx1NkQ1Q1xcdTcwMTVcXHU4Q0E3XFx1OENEM1xcdTk4M0JcXHU2NTRGXFx1NzRGNlxcdTRFMERcXHU0RUQ4XFx1NTdFMFxcdTU5MkJcXHU1QTY2XFx1NUJDQ1xcdTUxQThcXHU1RTAzXFx1NUU5Q1xcdTYwMTZcXHU2Mjc2XFx1NjU3N1wiXSxcbiAgICAgIFtcIjk1ODBcIiwgXCJcXHU2NUE3XFx1NjY2RVxcdTZENkVcXHU3MjM2XFx1N0IyNlxcdTgxNTBcXHU4MTlBXFx1ODI5OVxcdThCNUNcXHU4Q0EwXFx1OENFNlxcdThENzRcXHU5NjFDXFx1OTY0NFxcdTRGQUVcXHU2NEFCXFx1NkI2NlxcdTgyMUVcXHU4NDYxXFx1ODU2QVxcdTkwRThcXHU1QzAxXFx1Njk1M1xcdTk4QThcXHU4NDdBXFx1ODU1N1xcdTRGMEZcXHU1MjZGXFx1NUZBOVxcdTVFNDVcXHU2NzBEXFx1Nzk4RlxcdTgxNzlcXHU4OTA3XFx1ODk4NlxcdTZERjVcXHU1RjE3XFx1NjI1NVxcdTZDQjhcXHU0RUNGXFx1NzI2OVxcdTlCOTJcXHU1MjA2XFx1NTQzQlxcdTU2NzRcXHU1OEIzXFx1NjFBNFxcdTYyNkVcXHU3MTFBXFx1NTk2RVxcdTdDODlcXHU3Q0RFXFx1N0QxQlxcdTk2RjBcXHU2NTg3XFx1ODA1RVxcdTRFMTlcXHU0Rjc1XFx1NTE3NVxcdTU4NDBcXHU1RTYzXFx1NUU3M1xcdTVGMEFcXHU2N0M0XFx1NEUyNlxcdTg1M0RcXHU5NTg5XFx1OTY1QlxcdTdDNzNcXHU5ODAxXFx1NTBGQlxcdTU4QzFcXHU3NjU2XFx1NzhBN1xcdTUyMjVcXHU3N0E1XFx1ODUxMVxcdTdCODZcXHU1MDRGXFx1NTkwOVxcdTcyNDdcXHU3QkM3XFx1N0RFOFxcdThGQkFcXHU4RkQ0XFx1OTA0RFxcdTRGQkZcXHU1MkM5XFx1NUEyOVxcdTVGMDFcXHU5N0FEXFx1NEZERFxcdTgyMTdcXHU5MkVBXFx1NTcwM1xcdTYzNTVcXHU2QjY5XFx1NzUyQlxcdTg4RENcXHU4RjE0XFx1N0E0MlxcdTUyREZcXHU1ODkzXFx1NjE1NVxcdTYyMEFcXHU2NkFFXFx1NkJDRFxcdTdDM0ZcXHU4M0U5XFx1NTAyM1xcdTRGRjhcXHU1MzA1XFx1NTQ0NlxcdTU4MzFcXHU1OTQ5XFx1NUI5RFxcdTVDRjBcXHU1Q0VGXFx1NUQyOVxcdTVFOTZcXHU2MkIxXFx1NjM2N1xcdTY1M0VcXHU2NUI5XFx1NjcwQlwiXSxcbiAgICAgIFtcIjk2NDBcIiwgXCJcXHU2Q0Q1XFx1NkNFMVxcdTcwRjlcXHU3ODMyXFx1N0UyQlxcdTgwREVcXHU4MkIzXFx1ODQwQ1xcdTg0RUNcXHU4NzAyXFx1ODkxMlxcdThBMkFcXHU4QzRBXFx1OTBBNlxcdTkyRDJcXHU5OEZEXFx1OUNGM1xcdTlENkNcXHU0RTRGXFx1NEVBMVxcdTUwOERcXHU1MjU2XFx1NTc0QVxcdTU5QThcXHU1RTNEXFx1NUZEOFxcdTVGRDlcXHU2MjNGXFx1NjZCNFxcdTY3MUJcXHU2N0QwXFx1NjhEMlxcdTUxOTJcXHU3RDIxXFx1ODBBQVxcdTgxQThcXHU4QjAwXFx1OEM4Q1xcdThDQkZcXHU5MjdFXFx1OTYzMlxcdTU0MjBcXHU5ODJDXFx1NTMxN1xcdTUwRDVcXHU1MzVDXFx1NThBOFxcdTY0QjJcXHU2NzM0XFx1NzI2N1xcdTc3NjZcXHU3QTQ2XFx1OTFFNlxcdTUyQzNcXHU2Q0ExXFx1NkI4NlxcdTU4MDBcXHU1RTRDXFx1NTk1NFxcdTY3MkNcXHU3RkZCXFx1NTFFMVxcdTc2QzZcIl0sXG4gICAgICBbXCI5NjgwXCIsIFwiXFx1NjQ2OVxcdTc4RThcXHU5QjU0XFx1OUVCQlxcdTU3Q0JcXHU1OUI5XFx1NjYyN1xcdTY3OUFcXHU2QkNFXFx1NTRFOVxcdTY5RDlcXHU1RTU1XFx1ODE5Q1xcdTY3OTVcXHU5QkFBXFx1NjdGRVxcdTlDNTJcXHU2ODVEXFx1NEVBNlxcdTRGRTNcXHU1M0M4XFx1NjJCOVxcdTY3MkJcXHU2Q0FCXFx1OEZDNFxcdTRGQURcXHU3RTZEXFx1OUVCRlxcdTRFMDdcXHU2MTYyXFx1NkU4MFxcdTZGMkJcXHU4NTEzXFx1NTQ3M1xcdTY3MkFcXHU5QjQ1XFx1NURGM1xcdTdCOTVcXHU1Q0FDXFx1NUJDNlxcdTg3MUNcXHU2RTRBXFx1ODREMVxcdTdBMTRcXHU4MTA4XFx1NTk5OVxcdTdDOERcXHU2QzExXFx1NzcyMFxcdTUyRDlcXHU1OTIyXFx1NzEyMVxcdTcyNUZcXHU3N0RCXFx1OTcyN1xcdTlENjFcXHU2OTBCXFx1NUE3RlxcdTVBMThcXHU1MUE1XFx1NTQwRFxcdTU0N0RcXHU2NjBFXFx1NzZERlxcdThGRjdcXHU5Mjk4XFx1OUNGNFxcdTU5RUFcXHU3MjVEXFx1NkVDNVxcdTUxNERcXHU2OEM5XFx1N0RCRlxcdTdERUNcXHU5NzYyXFx1OUVCQVxcdTY0NzhcXHU2QTIxXFx1ODMwMlxcdTU5ODRcXHU1QjVGXFx1NkJEQlxcdTczMUJcXHU3NkYyXFx1N0RCMlxcdTgwMTdcXHU4NDk5XFx1NTEzMlxcdTY3MjhcXHU5RUQ5XFx1NzZFRVxcdTY3NjJcXHU1MkZGXFx1OTkwNVxcdTVDMjRcXHU2MjNCXFx1N0M3RVxcdThDQjBcXHU1NTRGXFx1NjBCNlxcdTdEMEJcXHU5NTgwXFx1NTMwMVxcdTRFNUZcXHU1MUI2XFx1NTkxQ1xcdTcyM0FcXHU4MDM2XFx1OTFDRVxcdTVGMjVcXHU3N0UyXFx1NTM4NFxcdTVGNzlcXHU3RDA0XFx1ODVBQ1xcdThBMzNcXHU4RThEXFx1OTc1NlxcdTY3RjNcXHU4NUFFXFx1OTQ1M1xcdTYxMDlcXHU2MTA4XFx1NkNCOVxcdTc2NTJcIl0sXG4gICAgICBbXCI5NzQwXCIsIFwiXFx1OEFFRFxcdThGMzhcXHU1NTJGXFx1NEY1MVxcdTUxMkFcXHU1MkM3XFx1NTNDQlxcdTVCQTVcXHU1RTdEXFx1NjBBMFxcdTYxODJcXHU2M0Q2XFx1NjcwOVxcdTY3REFcXHU2RTY3XFx1NkQ4Q1xcdTczMzZcXHU3MzM3XFx1NzUzMVxcdTc5NTBcXHU4OEQ1XFx1OEE5OFxcdTkwNEFcXHU5MDkxXFx1OTBGNVxcdTk2QzRcXHU4NzhEXFx1NTkxNVxcdTRFODhcXHU0RjU5XFx1NEUwRVxcdThBODlcXHU4RjNGXFx1OTgxMFxcdTUwQURcXHU1RTdDXFx1NTk5NlxcdTVCQjlcXHU1RUI4XFx1NjNEQVxcdTYzRkFcXHU2NEMxXFx1NjZEQ1xcdTY5NEFcXHU2OUQ4XFx1NkQwQlxcdTZFQjZcXHU3MTk0XFx1NzUyOFxcdTdBQUZcXHU3RjhBXFx1ODAwMFxcdTg0NDlcXHU4NEM5XFx1ODk4MVxcdThCMjFcXHU4RTBBXFx1OTA2NVxcdTk2N0RcXHU5OTBBXFx1NjE3RVxcdTYyOTFcXHU2QjMyXCJdLFxuICAgICAgW1wiOTc4MFwiLCBcIlxcdTZDODNcXHU2RDc0XFx1N0ZDQ1xcdTdGRkNcXHU2REMwXFx1N0Y4NVxcdTg3QkFcXHU4OEY4XFx1Njc2NVxcdTgzQjFcXHU5ODNDXFx1OTZGN1xcdTZEMUJcXHU3RDYxXFx1ODQzRFxcdTkxNkFcXHU0RTcxXFx1NTM3NVxcdTVENTBcXHU2QjA0XFx1NkZFQlxcdTg1Q0RcXHU4NjJEXFx1ODlBN1xcdTUyMjlcXHU1NDBGXFx1NUM2NVxcdTY3NEVcXHU2OEE4XFx1NzQwNlxcdTc0ODNcXHU3NUUyXFx1ODhDRlxcdTg4RTFcXHU5MUNDXFx1OTZFMlxcdTk2NzhcXHU1RjhCXFx1NzM4N1xcdTdBQ0JcXHU4NDRFXFx1NjNBMFxcdTc1NjVcXHU1Mjg5XFx1NkQ0MVxcdTZFOUNcXHU3NDA5XFx1NzU1OVxcdTc4NkJcXHU3QzkyXFx1OTY4NlxcdTdBRENcXHU5RjhEXFx1NEZCNlxcdTYxNkVcXHU2NUM1XFx1ODY1Q1xcdTRFODZcXHU0RUFFXFx1NTBEQVxcdTRFMjFcXHU1MUNDXFx1NUJFRVxcdTY1OTlcXHU2ODgxXFx1NkRCQ1xcdTczMUZcXHU3NjQyXFx1NzdBRFxcdTdBMUNcXHU3Q0U3XFx1ODI2RlxcdThBRDJcXHU5MDdDXFx1OTFDRlxcdTk2NzVcXHU5ODE4XFx1NTI5QlxcdTdERDFcXHU1MDJCXFx1NTM5OFxcdTY3OTdcXHU2RENCXFx1NzFEMFxcdTc0MzNcXHU4MUU4XFx1OEYyQVxcdTk2QTNcXHU5QzU3XFx1OUU5RlxcdTc0NjBcXHU1ODQxXFx1NkQ5OVxcdTdEMkZcXHU5ODVFXFx1NEVFNFxcdTRGMzZcXHU0RjhCXFx1NTFCN1xcdTUyQjFcXHU1REJBXFx1NjAxQ1xcdTczQjJcXHU3OTNDXFx1ODJEM1xcdTkyMzRcXHU5NkI3XFx1OTZGNlxcdTk3MEFcXHU5RTk3XFx1OUY2MlxcdTY2QTZcXHU2Qjc0XFx1NTIxN1xcdTUyQTNcXHU3MEM4XFx1ODhDMlxcdTVFQzlcXHU2MDRCXFx1NjE5MFxcdTZGMjNcXHU3MTQ5XFx1N0MzRVxcdTdERjRcXHU4MDZGXCJdLFxuICAgICAgW1wiOTg0MFwiLCBcIlxcdTg0RUVcXHU5MDIzXFx1OTMyQ1xcdTU0NDJcXHU5QjZGXFx1NkFEM1xcdTcwODlcXHU4Q0MyXFx1OERFRlxcdTk3MzJcXHU1MkI0XFx1NUE0MVxcdTVFQ0FcXHU1RjA0XFx1NjcxN1xcdTY5N0NcXHU2OTk0XFx1NkQ2QVxcdTZGMEZcXHU3MjYyXFx1NzJGQ1xcdTdCRURcXHU4MDAxXFx1ODA3RVxcdTg3NEJcXHU5MENFXFx1NTE2RFxcdTlFOTNcXHU3OTg0XFx1ODA4QlxcdTkzMzJcXHU4QUQ2XFx1NTAyRFxcdTU0OENcXHU4QTcxXFx1NkI2QVxcdThDQzRcXHU4MTA3XFx1NjBEMVxcdTY3QTBcXHU5REYyXFx1NEU5OVxcdTRFOThcXHU5QzEwXFx1OEE2QlxcdTg1QzFcXHU4NTY4XFx1NjkwMFxcdTZFN0VcXHU3ODk3XFx1ODE1NVwiXSxcbiAgICAgIFtcIjk4OWZcIiwgXCJcXHU1RjBDXFx1NEUxMFxcdTRFMTVcXHU0RTJBXFx1NEUzMVxcdTRFMzZcXHU0RTNDXFx1NEUzRlxcdTRFNDJcXHU0RTU2XFx1NEU1OFxcdTRFODJcXHU0RTg1XFx1OEM2QlxcdTRFOEFcXHU4MjEyXFx1NUYwRFxcdTRFOEVcXHU0RTlFXFx1NEU5RlxcdTRFQTBcXHU0RUEyXFx1NEVCMFxcdTRFQjNcXHU0RUI2XFx1NEVDRVxcdTRFQ0RcXHU0RUM0XFx1NEVDNlxcdTRFQzJcXHU0RUQ3XFx1NEVERVxcdTRFRURcXHU0RURGXFx1NEVGN1xcdTRGMDlcXHU0RjVBXFx1NEYzMFxcdTRGNUJcXHU0RjVEXFx1NEY1N1xcdTRGNDdcXHU0Rjc2XFx1NEY4OFxcdTRGOEZcXHU0Rjk4XFx1NEY3QlxcdTRGNjlcXHU0RjcwXFx1NEY5MVxcdTRGNkZcXHU0Rjg2XFx1NEY5NlxcdTUxMThcXHU0RkQ0XFx1NEZERlxcdTRGQ0VcXHU0RkQ4XFx1NEZEQlxcdTRGRDFcXHU0RkRBXFx1NEZEMFxcdTRGRTRcXHU0RkU1XFx1NTAxQVxcdTUwMjhcXHU1MDE0XFx1NTAyQVxcdTUwMjVcXHU1MDA1XFx1NEYxQ1xcdTRGRjZcXHU1MDIxXFx1NTAyOVxcdTUwMkNcXHU0RkZFXFx1NEZFRlxcdTUwMTFcXHU1MDA2XFx1NTA0M1xcdTUwNDdcXHU2NzAzXFx1NTA1NVxcdTUwNTBcXHU1MDQ4XFx1NTA1QVxcdTUwNTZcXHU1MDZDXFx1NTA3OFxcdTUwODBcXHU1MDlBXFx1NTA4NVxcdTUwQjRcXHU1MEIyXCJdLFxuICAgICAgW1wiOTk0MFwiLCBcIlxcdTUwQzlcXHU1MENBXFx1NTBCM1xcdTUwQzJcXHU1MEQ2XFx1NTBERVxcdTUwRTVcXHU1MEVEXFx1NTBFM1xcdTUwRUVcXHU1MEY5XFx1NTBGNVxcdTUxMDlcXHU1MTAxXFx1NTEwMlxcdTUxMTZcXHU1MTE1XFx1NTExNFxcdTUxMUFcXHU1MTIxXFx1NTEzQVxcdTUxMzdcXHU1MTNDXFx1NTEzQlxcdTUxM0ZcXHU1MTQwXFx1NTE1MlxcdTUxNENcXHU1MTU0XFx1NTE2MlxcdTdBRjhcXHU1MTY5XFx1NTE2QVxcdTUxNkVcXHU1MTgwXFx1NTE4MlxcdTU2RDhcXHU1MThDXFx1NTE4OVxcdTUxOEZcXHU1MTkxXFx1NTE5M1xcdTUxOTVcXHU1MTk2XFx1NTFBNFxcdTUxQTZcXHU1MUEyXFx1NTFBOVxcdTUxQUFcXHU1MUFCXFx1NTFCM1xcdTUxQjFcXHU1MUIyXFx1NTFCMFxcdTUxQjVcXHU1MUJEXFx1NTFDNVxcdTUxQzlcXHU1MURCXFx1NTFFMFxcdTg2NTVcXHU1MUU5XFx1NTFFRFwiXSxcbiAgICAgIFtcIjk5ODBcIiwgXCJcXHU1MUYwXFx1NTFGNVxcdTUxRkVcXHU1MjA0XFx1NTIwQlxcdTUyMTRcXHU1MjBFXFx1NTIyN1xcdTUyMkFcXHU1MjJFXFx1NTIzM1xcdTUyMzlcXHU1MjRGXFx1NTI0NFxcdTUyNEJcXHU1MjRDXFx1NTI1RVxcdTUyNTRcXHU1MjZBXFx1NTI3NFxcdTUyNjlcXHU1MjczXFx1NTI3RlxcdTUyN0RcXHU1MjhEXFx1NTI5NFxcdTUyOTJcXHU1MjcxXFx1NTI4OFxcdTUyOTFcXHU4RkE4XFx1OEZBN1xcdTUyQUNcXHU1MkFEXFx1NTJCQ1xcdTUyQjVcXHU1MkMxXFx1NTJDRFxcdTUyRDdcXHU1MkRFXFx1NTJFM1xcdTUyRTZcXHU5OEVEXFx1NTJFMFxcdTUyRjNcXHU1MkY1XFx1NTJGOFxcdTUyRjlcXHU1MzA2XFx1NTMwOFxcdTc1MzhcXHU1MzBEXFx1NTMxMFxcdTUzMEZcXHU1MzE1XFx1NTMxQVxcdTUzMjNcXHU1MzJGXFx1NTMzMVxcdTUzMzNcXHU1MzM4XFx1NTM0MFxcdTUzNDZcXHU1MzQ1XFx1NEUxN1xcdTUzNDlcXHU1MzREXFx1NTFENlxcdTUzNUVcXHU1MzY5XFx1NTM2RVxcdTU5MThcXHU1MzdCXFx1NTM3N1xcdTUzODJcXHU1Mzk2XFx1NTNBMFxcdTUzQTZcXHU1M0E1XFx1NTNBRVxcdTUzQjBcXHU1M0I2XFx1NTNDM1xcdTdDMTJcXHU5NkQ5XFx1NTNERlxcdTY2RkNcXHU3MUVFXFx1NTNFRVxcdTUzRThcXHU1M0VEXFx1NTNGQVxcdTU0MDFcXHU1NDNEXFx1NTQ0MFxcdTU0MkNcXHU1NDJEXFx1NTQzQ1xcdTU0MkVcXHU1NDM2XFx1NTQyOVxcdTU0MURcXHU1NDRFXFx1NTQ4RlxcdTU0NzVcXHU1NDhFXFx1NTQ1RlxcdTU0NzFcXHU1NDc3XFx1NTQ3MFxcdTU0OTJcXHU1NDdCXFx1NTQ4MFxcdTU0NzZcXHU1NDg0XFx1NTQ5MFxcdTU0ODZcXHU1NEM3XFx1NTRBMlxcdTU0QjhcXHU1NEE1XFx1NTRBQ1xcdTU0QzRcXHU1NEM4XFx1NTRBOFwiXSxcbiAgICAgIFtcIjlhNDBcIiwgXCJcXHU1NEFCXFx1NTRDMlxcdTU0QTRcXHU1NEJFXFx1NTRCQ1xcdTU0RDhcXHU1NEU1XFx1NTRFNlxcdTU1MEZcXHU1NTE0XFx1NTRGRFxcdTU0RUVcXHU1NEVEXFx1NTRGQVxcdTU0RTJcXHU1NTM5XFx1NTU0MFxcdTU1NjNcXHU1NTRDXFx1NTUyRVxcdTU1NUNcXHU1NTQ1XFx1NTU1NlxcdTU1NTdcXHU1NTM4XFx1NTUzM1xcdTU1NURcXHU1NTk5XFx1NTU4MFxcdTU0QUZcXHU1NThBXFx1NTU5RlxcdTU1N0JcXHU1NTdFXFx1NTU5OFxcdTU1OUVcXHU1NUFFXFx1NTU3Q1xcdTU1ODNcXHU1NUE5XFx1NTU4N1xcdTU1QThcXHU1NURBXFx1NTVDNVxcdTU1REZcXHU1NUM0XFx1NTVEQ1xcdTU1RTRcXHU1NUQ0XFx1NTYxNFxcdTU1RjdcXHU1NjE2XFx1NTVGRVxcdTU1RkRcXHU1NjFCXFx1NTVGOVxcdTU2NEVcXHU1NjUwXFx1NzFERlxcdTU2MzRcXHU1NjM2XFx1NTYzMlxcdTU2MzhcIl0sXG4gICAgICBbXCI5YTgwXCIsIFwiXFx1NTY2QlxcdTU2NjRcXHU1NjJGXFx1NTY2Q1xcdTU2NkFcXHU1Njg2XFx1NTY4MFxcdTU2OEFcXHU1NkEwXFx1NTY5NFxcdTU2OEZcXHU1NkE1XFx1NTZBRVxcdTU2QjZcXHU1NkI0XFx1NTZDMlxcdTU2QkNcXHU1NkMxXFx1NTZDM1xcdTU2QzBcXHU1NkM4XFx1NTZDRVxcdTU2RDFcXHU1NkQzXFx1NTZEN1xcdTU2RUVcXHU1NkY5XFx1NTcwMFxcdTU2RkZcXHU1NzA0XFx1NTcwOVxcdTU3MDhcXHU1NzBCXFx1NTcwRFxcdTU3MTNcXHU1NzE4XFx1NTcxNlxcdTU1QzdcXHU1NzFDXFx1NTcyNlxcdTU3MzdcXHU1NzM4XFx1NTc0RVxcdTU3M0JcXHU1NzQwXFx1NTc0RlxcdTU3NjlcXHU1N0MwXFx1NTc4OFxcdTU3NjFcXHU1NzdGXFx1NTc4OVxcdTU3OTNcXHU1N0EwXFx1NTdCM1xcdTU3QTRcXHU1N0FBXFx1NTdCMFxcdTU3QzNcXHU1N0M2XFx1NTdENFxcdTU3RDJcXHU1N0QzXFx1NTgwQVxcdTU3RDZcXHU1N0UzXFx1NTgwQlxcdTU4MTlcXHU1ODFEXFx1NTg3MlxcdTU4MjFcXHU1ODYyXFx1NTg0QlxcdTU4NzBcXHU2QkMwXFx1NTg1MlxcdTU4M0RcXHU1ODc5XFx1NTg4NVxcdTU4QjlcXHU1ODlGXFx1NThBQlxcdTU4QkFcXHU1OERFXFx1NThCQlxcdTU4QjhcXHU1OEFFXFx1NThDNVxcdTU4RDNcXHU1OEQxXFx1NThEN1xcdTU4RDlcXHU1OEQ4XFx1NThFNVxcdTU4RENcXHU1OEU0XFx1NThERlxcdTU4RUZcXHU1OEZBXFx1NThGOVxcdTU4RkJcXHU1OEZDXFx1NThGRFxcdTU5MDJcXHU1OTBBXFx1NTkxMFxcdTU5MUJcXHU2OEE2XFx1NTkyNVxcdTU5MkNcXHU1OTJEXFx1NTkzMlxcdTU5MzhcXHU1OTNFXFx1N0FEMlxcdTU5NTVcXHU1OTUwXFx1NTk0RVxcdTU5NUFcXHU1OTU4XFx1NTk2MlxcdTU5NjBcXHU1OTY3XFx1NTk2Q1xcdTU5NjlcIl0sXG4gICAgICBbXCI5YjQwXCIsIFwiXFx1NTk3OFxcdTU5ODFcXHU1OTlEXFx1NEY1RVxcdTRGQUJcXHU1OUEzXFx1NTlCMlxcdTU5QzZcXHU1OUU4XFx1NTlEQ1xcdTU5OERcXHU1OUQ5XFx1NTlEQVxcdTVBMjVcXHU1QTFGXFx1NUExMVxcdTVBMUNcXHU1QTA5XFx1NUExQVxcdTVBNDBcXHU1QTZDXFx1NUE0OVxcdTVBMzVcXHU1QTM2XFx1NUE2MlxcdTVBNkFcXHU1QTlBXFx1NUFCQ1xcdTVBQkVcXHU1QUNCXFx1NUFDMlxcdTVBQkRcXHU1QUUzXFx1NUFEN1xcdTVBRTZcXHU1QUU5XFx1NUFENlxcdTVBRkFcXHU1QUZCXFx1NUIwQ1xcdTVCMEJcXHU1QjE2XFx1NUIzMlxcdTVBRDBcXHU1QjJBXFx1NUIzNlxcdTVCM0VcXHU1QjQzXFx1NUI0NVxcdTVCNDBcXHU1QjUxXFx1NUI1NVxcdTVCNUFcXHU1QjVCXFx1NUI2NVxcdTVCNjlcXHU1QjcwXFx1NUI3M1xcdTVCNzVcXHU1Qjc4XFx1NjU4OFxcdTVCN0FcXHU1QjgwXCJdLFxuICAgICAgW1wiOWI4MFwiLCBcIlxcdTVCODNcXHU1QkE2XFx1NUJCOFxcdTVCQzNcXHU1QkM3XFx1NUJDOVxcdTVCRDRcXHU1QkQwXFx1NUJFNFxcdTVCRTZcXHU1QkUyXFx1NUJERVxcdTVCRTVcXHU1QkVCXFx1NUJGMFxcdTVCRjZcXHU1QkYzXFx1NUMwNVxcdTVDMDdcXHU1QzA4XFx1NUMwRFxcdTVDMTNcXHU1QzIwXFx1NUMyMlxcdTVDMjhcXHU1QzM4XFx1NUMzOVxcdTVDNDFcXHU1QzQ2XFx1NUM0RVxcdTVDNTNcXHU1QzUwXFx1NUM0RlxcdTVCNzFcXHU1QzZDXFx1NUM2RVxcdTRFNjJcXHU1Qzc2XFx1NUM3OVxcdTVDOENcXHU1QzkxXFx1NUM5NFxcdTU5OUJcXHU1Q0FCXFx1NUNCQlxcdTVDQjZcXHU1Q0JDXFx1NUNCN1xcdTVDQzVcXHU1Q0JFXFx1NUNDN1xcdTVDRDlcXHU1Q0U5XFx1NUNGRFxcdTVDRkFcXHU1Q0VEXFx1NUQ4Q1xcdTVDRUFcXHU1RDBCXFx1NUQxNVxcdTVEMTdcXHU1RDVDXFx1NUQxRlxcdTVEMUJcXHU1RDExXFx1NUQxNFxcdTVEMjJcXHU1RDFBXFx1NUQxOVxcdTVEMThcXHU1RDRDXFx1NUQ1MlxcdTVENEVcXHU1RDRCXFx1NUQ2Q1xcdTVENzNcXHU1RDc2XFx1NUQ4N1xcdTVEODRcXHU1RDgyXFx1NURBMlxcdTVEOURcXHU1REFDXFx1NURBRVxcdTVEQkRcXHU1RDkwXFx1NURCN1xcdTVEQkNcXHU1REM5XFx1NURDRFxcdTVERDNcXHU1REQyXFx1NURENlxcdTVEREJcXHU1REVCXFx1NURGMlxcdTVERjVcXHU1RTBCXFx1NUUxQVxcdTVFMTlcXHU1RTExXFx1NUUxQlxcdTVFMzZcXHU1RTM3XFx1NUU0NFxcdTVFNDNcXHU1RTQwXFx1NUU0RVxcdTVFNTdcXHU1RTU0XFx1NUU1RlxcdTVFNjJcXHU1RTY0XFx1NUU0N1xcdTVFNzVcXHU1RTc2XFx1NUU3QVxcdTlFQkNcXHU1RTdGXFx1NUVBMFxcdTVFQzFcXHU1RUMyXFx1NUVDOFxcdTVFRDBcXHU1RUNGXCJdLFxuICAgICAgW1wiOWM0MFwiLCBcIlxcdTVFRDZcXHU1RUUzXFx1NUVERFxcdTVFREFcXHU1RURCXFx1NUVFMlxcdTVFRTFcXHU1RUU4XFx1NUVFOVxcdTVFRUNcXHU1RUYxXFx1NUVGM1xcdTVFRjBcXHU1RUY0XFx1NUVGOFxcdTVFRkVcXHU1RjAzXFx1NUYwOVxcdTVGNURcXHU1RjVDXFx1NUYwQlxcdTVGMTFcXHU1RjE2XFx1NUYyOVxcdTVGMkRcXHU1RjM4XFx1NUY0MVxcdTVGNDhcXHU1RjRDXFx1NUY0RVxcdTVGMkZcXHU1RjUxXFx1NUY1NlxcdTVGNTdcXHU1RjU5XFx1NUY2MVxcdTVGNkRcXHU1RjczXFx1NUY3N1xcdTVGODNcXHU1RjgyXFx1NUY3RlxcdTVGOEFcXHU1Rjg4XFx1NUY5MVxcdTVGODdcXHU1RjlFXFx1NUY5OVxcdTVGOThcXHU1RkEwXFx1NUZBOFxcdTVGQURcXHU1RkJDXFx1NUZENlxcdTVGRkJcXHU1RkU0XFx1NUZGOFxcdTVGRjFcXHU1RkREXFx1NjBCM1xcdTVGRkZcXHU2MDIxXFx1NjA2MFwiXSxcbiAgICAgIFtcIjljODBcIiwgXCJcXHU2MDE5XFx1NjAxMFxcdTYwMjlcXHU2MDBFXFx1NjAzMVxcdTYwMUJcXHU2MDE1XFx1NjAyQlxcdTYwMjZcXHU2MDBGXFx1NjAzQVxcdTYwNUFcXHU2MDQxXFx1NjA2QVxcdTYwNzdcXHU2MDVGXFx1NjA0QVxcdTYwNDZcXHU2MDREXFx1NjA2M1xcdTYwNDNcXHU2MDY0XFx1NjA0MlxcdTYwNkNcXHU2MDZCXFx1NjA1OVxcdTYwODFcXHU2MDhEXFx1NjBFN1xcdTYwODNcXHU2MDlBXFx1NjA4NFxcdTYwOUJcXHU2MDk2XFx1NjA5N1xcdTYwOTJcXHU2MEE3XFx1NjA4QlxcdTYwRTFcXHU2MEI4XFx1NjBFMFxcdTYwRDNcXHU2MEI0XFx1NUZGMFxcdTYwQkRcXHU2MEM2XFx1NjBCNVxcdTYwRDhcXHU2MTREXFx1NjExNVxcdTYxMDZcXHU2MEY2XFx1NjBGN1xcdTYxMDBcXHU2MEY0XFx1NjBGQVxcdTYxMDNcXHU2MTIxXFx1NjBGQlxcdTYwRjFcXHU2MTBEXFx1NjEwRVxcdTYxNDdcXHU2MTNFXFx1NjEyOFxcdTYxMjdcXHU2MTRBXFx1NjEzRlxcdTYxM0NcXHU2MTJDXFx1NjEzNFxcdTYxM0RcXHU2MTQyXFx1NjE0NFxcdTYxNzNcXHU2MTc3XFx1NjE1OFxcdTYxNTlcXHU2MTVBXFx1NjE2QlxcdTYxNzRcXHU2MTZGXFx1NjE2NVxcdTYxNzFcXHU2MTVGXFx1NjE1RFxcdTYxNTNcXHU2MTc1XFx1NjE5OVxcdTYxOTZcXHU2MTg3XFx1NjFBQ1xcdTYxOTRcXHU2MTlBXFx1NjE4QVxcdTYxOTFcXHU2MUFCXFx1NjFBRVxcdTYxQ0NcXHU2MUNBXFx1NjFDOVxcdTYxRjdcXHU2MUM4XFx1NjFDM1xcdTYxQzZcXHU2MUJBXFx1NjFDQlxcdTdGNzlcXHU2MUNEXFx1NjFFNlxcdTYxRTNcXHU2MUY2XFx1NjFGQVxcdTYxRjRcXHU2MUZGXFx1NjFGRFxcdTYxRkNcXHU2MUZFXFx1NjIwMFxcdTYyMDhcXHU2MjA5XFx1NjIwRFxcdTYyMENcXHU2MjE0XFx1NjIxQlwiXSxcbiAgICAgIFtcIjlkNDBcIiwgXCJcXHU2MjFFXFx1NjIyMVxcdTYyMkFcXHU2MjJFXFx1NjIzMFxcdTYyMzJcXHU2MjMzXFx1NjI0MVxcdTYyNEVcXHU2MjVFXFx1NjI2M1xcdTYyNUJcXHU2MjYwXFx1NjI2OFxcdTYyN0NcXHU2MjgyXFx1NjI4OVxcdTYyN0VcXHU2MjkyXFx1NjI5M1xcdTYyOTZcXHU2MkQ0XFx1NjI4M1xcdTYyOTRcXHU2MkQ3XFx1NjJEMVxcdTYyQkJcXHU2MkNGXFx1NjJGRlxcdTYyQzZcXHU2NEQ0XFx1NjJDOFxcdTYyRENcXHU2MkNDXFx1NjJDQVxcdTYyQzJcXHU2MkM3XFx1NjI5QlxcdTYyQzlcXHU2MzBDXFx1NjJFRVxcdTYyRjFcXHU2MzI3XFx1NjMwMlxcdTYzMDhcXHU2MkVGXFx1NjJGNVxcdTYzNTBcXHU2MzNFXFx1NjM0RFxcdTY0MUNcXHU2MzRGXFx1NjM5NlxcdTYzOEVcXHU2MzgwXFx1NjNBQlxcdTYzNzZcXHU2M0EzXFx1NjM4RlxcdTYzODlcXHU2MzlGXFx1NjNCNVxcdTYzNkJcIl0sXG4gICAgICBbXCI5ZDgwXCIsIFwiXFx1NjM2OVxcdTYzQkVcXHU2M0U5XFx1NjNDMFxcdTYzQzZcXHU2M0UzXFx1NjNDOVxcdTYzRDJcXHU2M0Y2XFx1NjNDNFxcdTY0MTZcXHU2NDM0XFx1NjQwNlxcdTY0MTNcXHU2NDI2XFx1NjQzNlxcdTY1MURcXHU2NDE3XFx1NjQyOFxcdTY0MEZcXHU2NDY3XFx1NjQ2RlxcdTY0NzZcXHU2NDRFXFx1NjUyQVxcdTY0OTVcXHU2NDkzXFx1NjRBNVxcdTY0QTlcXHU2NDg4XFx1NjRCQ1xcdTY0REFcXHU2NEQyXFx1NjRDNVxcdTY0QzdcXHU2NEJCXFx1NjREOFxcdTY0QzJcXHU2NEYxXFx1NjRFN1xcdTgyMDlcXHU2NEUwXFx1NjRFMVxcdTYyQUNcXHU2NEUzXFx1NjRFRlxcdTY1MkNcXHU2NEY2XFx1NjRGNFxcdTY0RjJcXHU2NEZBXFx1NjUwMFxcdTY0RkRcXHU2NTE4XFx1NjUxQ1xcdTY1MDVcXHU2NTI0XFx1NjUyM1xcdTY1MkJcXHU2NTM0XFx1NjUzNVxcdTY1MzdcXHU2NTM2XFx1NjUzOFxcdTc1NEJcXHU2NTQ4XFx1NjU1NlxcdTY1NTVcXHU2NTREXFx1NjU1OFxcdTY1NUVcXHU2NTVEXFx1NjU3MlxcdTY1NzhcXHU2NTgyXFx1NjU4M1xcdThCOEFcXHU2NTlCXFx1NjU5RlxcdTY1QUJcXHU2NUI3XFx1NjVDM1xcdTY1QzZcXHU2NUMxXFx1NjVDNFxcdTY1Q0NcXHU2NUQyXFx1NjVEQlxcdTY1RDlcXHU2NUUwXFx1NjVFMVxcdTY1RjFcXHU2NzcyXFx1NjYwQVxcdTY2MDNcXHU2NUZCXFx1Njc3M1xcdTY2MzVcXHU2NjM2XFx1NjYzNFxcdTY2MUNcXHU2NjRGXFx1NjY0NFxcdTY2NDlcXHU2NjQxXFx1NjY1RVxcdTY2NURcXHU2NjY0XFx1NjY2N1xcdTY2NjhcXHU2NjVGXFx1NjY2MlxcdTY2NzBcXHU2NjgzXFx1NjY4OFxcdTY2OEVcXHU2Njg5XFx1NjY4NFxcdTY2OThcXHU2NjlEXFx1NjZDMVxcdTY2QjlcXHU2NkM5XFx1NjZCRVxcdTY2QkNcIl0sXG4gICAgICBbXCI5ZTQwXCIsIFwiXFx1NjZDNFxcdTY2QjhcXHU2NkQ2XFx1NjZEQVxcdTY2RTBcXHU2NjNGXFx1NjZFNlxcdTY2RTlcXHU2NkYwXFx1NjZGNVxcdTY2RjdcXHU2NzBGXFx1NjcxNlxcdTY3MUVcXHU2NzI2XFx1NjcyN1xcdTk3MzhcXHU2NzJFXFx1NjczRlxcdTY3MzZcXHU2NzQxXFx1NjczOFxcdTY3MzdcXHU2NzQ2XFx1Njc1RVxcdTY3NjBcXHU2NzU5XFx1Njc2M1xcdTY3NjRcXHU2Nzg5XFx1Njc3MFxcdTY3QTlcXHU2NzdDXFx1Njc2QVxcdTY3OENcXHU2NzhCXFx1NjdBNlxcdTY3QTFcXHU2Nzg1XFx1NjdCN1xcdTY3RUZcXHU2N0I0XFx1NjdFQ1xcdTY3QjNcXHU2N0U5XFx1NjdCOFxcdTY3RTRcXHU2N0RFXFx1NjdERFxcdTY3RTJcXHU2N0VFXFx1NjdCOVxcdTY3Q0VcXHU2N0M2XFx1NjdFN1xcdTZBOUNcXHU2ODFFXFx1Njg0NlxcdTY4MjlcXHU2ODQwXFx1Njg0RFxcdTY4MzJcXHU2ODRFXCJdLFxuICAgICAgW1wiOWU4MFwiLCBcIlxcdTY4QjNcXHU2ODJCXFx1Njg1OVxcdTY4NjNcXHU2ODc3XFx1Njg3RlxcdTY4OUZcXHU2ODhGXFx1NjhBRFxcdTY4OTRcXHU2ODlEXFx1Njg5QlxcdTY4ODNcXHU2QUFFXFx1NjhCOVxcdTY4NzRcXHU2OEI1XFx1NjhBMFxcdTY4QkFcXHU2OTBGXFx1Njg4RFxcdTY4N0VcXHU2OTAxXFx1NjhDQVxcdTY5MDhcXHU2OEQ4XFx1NjkyMlxcdTY5MjZcXHU2OEUxXFx1NjkwQ1xcdTY4Q0RcXHU2OEQ0XFx1NjhFN1xcdTY4RDVcXHU2OTM2XFx1NjkxMlxcdTY5MDRcXHU2OEQ3XFx1NjhFM1xcdTY5MjVcXHU2OEY5XFx1NjhFMFxcdTY4RUZcXHU2OTI4XFx1NjkyQVxcdTY5MUFcXHU2OTIzXFx1NjkyMVxcdTY4QzZcXHU2OTc5XFx1Njk3N1xcdTY5NUNcXHU2OTc4XFx1Njk2QlxcdTY5NTRcXHU2OTdFXFx1Njk2RVxcdTY5MzlcXHU2OTc0XFx1NjkzRFxcdTY5NTlcXHU2OTMwXFx1Njk2MVxcdTY5NUVcXHU2OTVEXFx1Njk4MVxcdTY5NkFcXHU2OUIyXFx1NjlBRVxcdTY5RDBcXHU2OUJGXFx1NjlDMVxcdTY5RDNcXHU2OUJFXFx1NjlDRVxcdTVCRThcXHU2OUNBXFx1NjlERFxcdTY5QkJcXHU2OUMzXFx1NjlBN1xcdTZBMkVcXHU2OTkxXFx1NjlBMFxcdTY5OUNcXHU2OTk1XFx1NjlCNFxcdTY5REVcXHU2OUU4XFx1NkEwMlxcdTZBMUJcXHU2OUZGXFx1NkIwQVxcdTY5RjlcXHU2OUYyXFx1NjlFN1xcdTZBMDVcXHU2OUIxXFx1NkExRVxcdTY5RURcXHU2QTE0XFx1NjlFQlxcdTZBMEFcXHU2QTEyXFx1NkFDMVxcdTZBMjNcXHU2QTEzXFx1NkE0NFxcdTZBMENcXHU2QTcyXFx1NkEzNlxcdTZBNzhcXHU2QTQ3XFx1NkE2MlxcdTZBNTlcXHU2QTY2XFx1NkE0OFxcdTZBMzhcXHU2QTIyXFx1NkE5MFxcdTZBOERcXHU2QUEwXFx1NkE4NFxcdTZBQTJcXHU2QUEzXCJdLFxuICAgICAgW1wiOWY0MFwiLCBcIlxcdTZBOTdcXHU4NjE3XFx1NkFCQlxcdTZBQzNcXHU2QUMyXFx1NkFCOFxcdTZBQjNcXHU2QUFDXFx1NkFERVxcdTZBRDFcXHU2QURGXFx1NkFBQVxcdTZBREFcXHU2QUVBXFx1NkFGQlxcdTZCMDVcXHU4NjE2XFx1NkFGQVxcdTZCMTJcXHU2QjE2XFx1OUIzMVxcdTZCMUZcXHU2QjM4XFx1NkIzN1xcdTc2RENcXHU2QjM5XFx1OThFRVxcdTZCNDdcXHU2QjQzXFx1NkI0OVxcdTZCNTBcXHU2QjU5XFx1NkI1NFxcdTZCNUJcXHU2QjVGXFx1NkI2MVxcdTZCNzhcXHU2Qjc5XFx1NkI3RlxcdTZCODBcXHU2Qjg0XFx1NkI4M1xcdTZCOERcXHU2Qjk4XFx1NkI5NVxcdTZCOUVcXHU2QkE0XFx1NkJBQVxcdTZCQUJcXHU2QkFGXFx1NkJCMlxcdTZCQjFcXHU2QkIzXFx1NkJCN1xcdTZCQkNcXHU2QkM2XFx1NkJDQlxcdTZCRDNcXHU2QkRGXFx1NkJFQ1xcdTZCRUJcXHU2QkYzXFx1NkJFRlwiXSxcbiAgICAgIFtcIjlmODBcIiwgXCJcXHU5RUJFXFx1NkMwOFxcdTZDMTNcXHU2QzE0XFx1NkMxQlxcdTZDMjRcXHU2QzIzXFx1NkM1RVxcdTZDNTVcXHU2QzYyXFx1NkM2QVxcdTZDODJcXHU2QzhEXFx1NkM5QVxcdTZDODFcXHU2QzlCXFx1NkM3RVxcdTZDNjhcXHU2QzczXFx1NkM5MlxcdTZDOTBcXHU2Q0M0XFx1NkNGMVxcdTZDRDNcXHU2Q0JEXFx1NkNEN1xcdTZDQzVcXHU2Q0REXFx1NkNBRVxcdTZDQjFcXHU2Q0JFXFx1NkNCQVxcdTZDREJcXHU2Q0VGXFx1NkNEOVxcdTZDRUFcXHU2RDFGXFx1ODg0RFxcdTZEMzZcXHU2RDJCXFx1NkQzRFxcdTZEMzhcXHU2RDE5XFx1NkQzNVxcdTZEMzNcXHU2RDEyXFx1NkQwQ1xcdTZENjNcXHU2RDkzXFx1NkQ2NFxcdTZENUFcXHU2RDc5XFx1NkQ1OVxcdTZEOEVcXHU2RDk1XFx1NkZFNFxcdTZEODVcXHU2REY5XFx1NkUxNVxcdTZFMEFcXHU2REI1XFx1NkRDN1xcdTZERTZcXHU2REI4XFx1NkRDNlxcdTZERUNcXHU2RERFXFx1NkRDQ1xcdTZERThcXHU2REQyXFx1NkRDNVxcdTZERkFcXHU2REQ5XFx1NkRFNFxcdTZERDVcXHU2REVBXFx1NkRFRVxcdTZFMkRcXHU2RTZFXFx1NkUyRVxcdTZFMTlcXHU2RTcyXFx1NkU1RlxcdTZFM0VcXHU2RTIzXFx1NkU2QlxcdTZFMkJcXHU2RTc2XFx1NkU0RFxcdTZFMUZcXHU2RTQzXFx1NkUzQVxcdTZFNEVcXHU2RTI0XFx1NkVGRlxcdTZFMURcXHU2RTM4XFx1NkU4MlxcdTZFQUFcXHU2RTk4XFx1NkVDOVxcdTZFQjdcXHU2RUQzXFx1NkVCRFxcdTZFQUZcXHU2RUM0XFx1NkVCMlxcdTZFRDRcXHU2RUQ1XFx1NkU4RlxcdTZFQTVcXHU2RUMyXFx1NkU5RlxcdTZGNDFcXHU2RjExXFx1NzA0Q1xcdTZFRUNcXHU2RUY4XFx1NkVGRVxcdTZGM0ZcXHU2RUYyXFx1NkYzMVxcdTZFRUZcXHU2RjMyXFx1NkVDQ1wiXSxcbiAgICAgIFtcImUwNDBcIiwgXCJcXHU2RjNFXFx1NkYxM1xcdTZFRjdcXHU2Rjg2XFx1NkY3QVxcdTZGNzhcXHU2RjgxXFx1NkY4MFxcdTZGNkZcXHU2RjVCXFx1NkZGM1xcdTZGNkRcXHU2RjgyXFx1NkY3Q1xcdTZGNThcXHU2RjhFXFx1NkY5MVxcdTZGQzJcXHU2RjY2XFx1NkZCM1xcdTZGQTNcXHU2RkExXFx1NkZBNFxcdTZGQjlcXHU2RkM2XFx1NkZBQVxcdTZGREZcXHU2RkQ1XFx1NkZFQ1xcdTZGRDRcXHU2RkQ4XFx1NkZGMVxcdTZGRUVcXHU2RkRCXFx1NzAwOVxcdTcwMEJcXHU2RkZBXFx1NzAxMVxcdTcwMDFcXHU3MDBGXFx1NkZGRVxcdTcwMUJcXHU3MDFBXFx1NkY3NFxcdTcwMURcXHU3MDE4XFx1NzAxRlxcdTcwMzBcXHU3MDNFXFx1NzAzMlxcdTcwNTFcXHU3MDYzXFx1NzA5OVxcdTcwOTJcXHU3MEFGXFx1NzBGMVxcdTcwQUNcXHU3MEI4XFx1NzBCM1xcdTcwQUVcXHU3MERGXFx1NzBDQlxcdTcwRERcIl0sXG4gICAgICBbXCJlMDgwXCIsIFwiXFx1NzBEOVxcdTcxMDlcXHU3MEZEXFx1NzExQ1xcdTcxMTlcXHU3MTY1XFx1NzE1NVxcdTcxODhcXHU3MTY2XFx1NzE2MlxcdTcxNENcXHU3MTU2XFx1NzE2Q1xcdTcxOEZcXHU3MUZCXFx1NzE4NFxcdTcxOTVcXHU3MUE4XFx1NzFBQ1xcdTcxRDdcXHU3MUI5XFx1NzFCRVxcdTcxRDJcXHU3MUM5XFx1NzFENFxcdTcxQ0VcXHU3MUUwXFx1NzFFQ1xcdTcxRTdcXHU3MUY1XFx1NzFGQ1xcdTcxRjlcXHU3MUZGXFx1NzIwRFxcdTcyMTBcXHU3MjFCXFx1NzIyOFxcdTcyMkRcXHU3MjJDXFx1NzIzMFxcdTcyMzJcXHU3MjNCXFx1NzIzQ1xcdTcyM0ZcXHU3MjQwXFx1NzI0NlxcdTcyNEJcXHU3MjU4XFx1NzI3NFxcdTcyN0VcXHU3MjgyXFx1NzI4MVxcdTcyODdcXHU3MjkyXFx1NzI5NlxcdTcyQTJcXHU3MkE3XFx1NzJCOVxcdTcyQjJcXHU3MkMzXFx1NzJDNlxcdTcyQzRcXHU3MkNFXFx1NzJEMlxcdTcyRTJcXHU3MkUwXFx1NzJFMVxcdTcyRjlcXHU3MkY3XFx1NTAwRlxcdTczMTdcXHU3MzBBXFx1NzMxQ1xcdTczMTZcXHU3MzFEXFx1NzMzNFxcdTczMkZcXHU3MzI5XFx1NzMyNVxcdTczM0VcXHU3MzRFXFx1NzM0RlxcdTlFRDhcXHU3MzU3XFx1NzM2QVxcdTczNjhcXHU3MzcwXFx1NzM3OFxcdTczNzVcXHU3MzdCXFx1NzM3QVxcdTczQzhcXHU3M0IzXFx1NzNDRVxcdTczQkJcXHU3M0MwXFx1NzNFNVxcdTczRUVcXHU3M0RFXFx1NzRBMlxcdTc0MDVcXHU3NDZGXFx1NzQyNVxcdTczRjhcXHU3NDMyXFx1NzQzQVxcdTc0NTVcXHU3NDNGXFx1NzQ1RlxcdTc0NTlcXHU3NDQxXFx1NzQ1Q1xcdTc0NjlcXHU3NDcwXFx1NzQ2M1xcdTc0NkFcXHU3NDc2XFx1NzQ3RVxcdTc0OEJcXHU3NDlFXFx1NzRBN1xcdTc0Q0FcXHU3NENGXFx1NzRENFxcdTczRjFcIl0sXG4gICAgICBbXCJlMTQwXCIsIFwiXFx1NzRFMFxcdTc0RTNcXHU3NEU3XFx1NzRFOVxcdTc0RUVcXHU3NEYyXFx1NzRGMFxcdTc0RjFcXHU3NEY4XFx1NzRGN1xcdTc1MDRcXHU3NTAzXFx1NzUwNVxcdTc1MENcXHU3NTBFXFx1NzUwRFxcdTc1MTVcXHU3NTEzXFx1NzUxRVxcdTc1MjZcXHU3NTJDXFx1NzUzQ1xcdTc1NDRcXHU3NTREXFx1NzU0QVxcdTc1NDlcXHU3NTVCXFx1NzU0NlxcdTc1NUFcXHU3NTY5XFx1NzU2NFxcdTc1NjdcXHU3NTZCXFx1NzU2RFxcdTc1NzhcXHU3NTc2XFx1NzU4NlxcdTc1ODdcXHU3NTc0XFx1NzU4QVxcdTc1ODlcXHU3NTgyXFx1NzU5NFxcdTc1OUFcXHU3NTlEXFx1NzVBNVxcdTc1QTNcXHU3NUMyXFx1NzVCM1xcdTc1QzNcXHU3NUI1XFx1NzVCRFxcdTc1QjhcXHU3NUJDXFx1NzVCMVxcdTc1Q0RcXHU3NUNBXFx1NzVEMlxcdTc1RDlcXHU3NUUzXFx1NzVERVxcdTc1RkVcXHU3NUZGXCJdLFxuICAgICAgW1wiZTE4MFwiLCBcIlxcdTc1RkNcXHU3NjAxXFx1NzVGMFxcdTc1RkFcXHU3NUYyXFx1NzVGM1xcdTc2MEJcXHU3NjBEXFx1NzYwOVxcdTc2MUZcXHU3NjI3XFx1NzYyMFxcdTc2MjFcXHU3NjIyXFx1NzYyNFxcdTc2MzRcXHU3NjMwXFx1NzYzQlxcdTc2NDdcXHU3NjQ4XFx1NzY0NlxcdTc2NUNcXHU3NjU4XFx1NzY2MVxcdTc2NjJcXHU3NjY4XFx1NzY2OVxcdTc2NkFcXHU3NjY3XFx1NzY2Q1xcdTc2NzBcXHU3NjcyXFx1NzY3NlxcdTc2NzhcXHU3NjdDXFx1NzY4MFxcdTc2ODNcXHU3Njg4XFx1NzY4QlxcdTc2OEVcXHU3Njk2XFx1NzY5M1xcdTc2OTlcXHU3NjlBXFx1NzZCMFxcdTc2QjRcXHU3NkI4XFx1NzZCOVxcdTc2QkFcXHU3NkMyXFx1NzZDRFxcdTc2RDZcXHU3NkQyXFx1NzZERVxcdTc2RTFcXHU3NkU1XFx1NzZFN1xcdTc2RUFcXHU4NjJGXFx1NzZGQlxcdTc3MDhcXHU3NzA3XFx1NzcwNFxcdTc3MjlcXHU3NzI0XFx1NzcxRVxcdTc3MjVcXHU3NzI2XFx1NzcxQlxcdTc3MzdcXHU3NzM4XFx1Nzc0N1xcdTc3NUFcXHU3NzY4XFx1Nzc2QlxcdTc3NUJcXHU3NzY1XFx1Nzc3RlxcdTc3N0VcXHU3Nzc5XFx1Nzc4RVxcdTc3OEJcXHU3NzkxXFx1NzdBMFxcdTc3OUVcXHU3N0IwXFx1NzdCNlxcdTc3QjlcXHU3N0JGXFx1NzdCQ1xcdTc3QkRcXHU3N0JCXFx1NzdDN1xcdTc3Q0RcXHU3N0Q3XFx1NzdEQVxcdTc3RENcXHU3N0UzXFx1NzdFRVxcdTc3RkNcXHU3ODBDXFx1NzgxMlxcdTc5MjZcXHU3ODIwXFx1NzkyQVxcdTc4NDVcXHU3ODhFXFx1Nzg3NFxcdTc4ODZcXHU3ODdDXFx1Nzg5QVxcdTc4OENcXHU3OEEzXFx1NzhCNVxcdTc4QUFcXHU3OEFGXFx1NzhEMVxcdTc4QzZcXHU3OENCXFx1NzhENFxcdTc4QkVcXHU3OEJDXFx1NzhDNVxcdTc4Q0FcXHU3OEVDXCJdLFxuICAgICAgW1wiZTI0MFwiLCBcIlxcdTc4RTdcXHU3OERBXFx1NzhGRFxcdTc4RjRcXHU3OTA3XFx1NzkxMlxcdTc5MTFcXHU3OTE5XFx1NzkyQ1xcdTc5MkJcXHU3OTQwXFx1Nzk2MFxcdTc5NTdcXHU3OTVGXFx1Nzk1QVxcdTc5NTVcXHU3OTUzXFx1Nzk3QVxcdTc5N0ZcXHU3OThBXFx1Nzk5RFxcdTc5QTdcXHU5RjRCXFx1NzlBQVxcdTc5QUVcXHU3OUIzXFx1NzlCOVxcdTc5QkFcXHU3OUM5XFx1NzlENVxcdTc5RTdcXHU3OUVDXFx1NzlFMVxcdTc5RTNcXHU3QTA4XFx1N0EwRFxcdTdBMThcXHU3QTE5XFx1N0EyMFxcdTdBMUZcXHU3OTgwXFx1N0EzMVxcdTdBM0JcXHU3QTNFXFx1N0EzN1xcdTdBNDNcXHU3QTU3XFx1N0E0OVxcdTdBNjFcXHU3QTYyXFx1N0E2OVxcdTlGOURcXHU3QTcwXFx1N0E3OVxcdTdBN0RcXHU3QTg4XFx1N0E5N1xcdTdBOTVcXHU3QTk4XFx1N0E5NlxcdTdBQTlcXHU3QUM4XFx1N0FCMFwiXSxcbiAgICAgIFtcImUyODBcIiwgXCJcXHU3QUI2XFx1N0FDNVxcdTdBQzRcXHU3QUJGXFx1OTA4M1xcdTdBQzdcXHU3QUNBXFx1N0FDRFxcdTdBQ0ZcXHU3QUQ1XFx1N0FEM1xcdTdBRDlcXHU3QURBXFx1N0FERFxcdTdBRTFcXHU3QUUyXFx1N0FFNlxcdTdBRURcXHU3QUYwXFx1N0IwMlxcdTdCMEZcXHU3QjBBXFx1N0IwNlxcdTdCMzNcXHU3QjE4XFx1N0IxOVxcdTdCMUVcXHU3QjM1XFx1N0IyOFxcdTdCMzZcXHU3QjUwXFx1N0I3QVxcdTdCMDRcXHU3QjREXFx1N0IwQlxcdTdCNENcXHU3QjQ1XFx1N0I3NVxcdTdCNjVcXHU3Qjc0XFx1N0I2N1xcdTdCNzBcXHU3QjcxXFx1N0I2Q1xcdTdCNkVcXHU3QjlEXFx1N0I5OFxcdTdCOUZcXHU3QjhEXFx1N0I5Q1xcdTdCOUFcXHU3QjhCXFx1N0I5MlxcdTdCOEZcXHU3QjVEXFx1N0I5OVxcdTdCQ0JcXHU3QkMxXFx1N0JDQ1xcdTdCQ0ZcXHU3QkI0XFx1N0JDNlxcdTdCRERcXHU3QkU5XFx1N0MxMVxcdTdDMTRcXHU3QkU2XFx1N0JFNVxcdTdDNjBcXHU3QzAwXFx1N0MwN1xcdTdDMTNcXHU3QkYzXFx1N0JGN1xcdTdDMTdcXHU3QzBEXFx1N0JGNlxcdTdDMjNcXHU3QzI3XFx1N0MyQVxcdTdDMUZcXHU3QzM3XFx1N0MyQlxcdTdDM0RcXHU3QzRDXFx1N0M0M1xcdTdDNTRcXHU3QzRGXFx1N0M0MFxcdTdDNTBcXHU3QzU4XFx1N0M1RlxcdTdDNjRcXHU3QzU2XFx1N0M2NVxcdTdDNkNcXHU3Qzc1XFx1N0M4M1xcdTdDOTBcXHU3Q0E0XFx1N0NBRFxcdTdDQTJcXHU3Q0FCXFx1N0NBMVxcdTdDQThcXHU3Q0IzXFx1N0NCMlxcdTdDQjFcXHU3Q0FFXFx1N0NCOVxcdTdDQkRcXHU3Q0MwXFx1N0NDNVxcdTdDQzJcXHU3Q0Q4XFx1N0NEMlxcdTdDRENcXHU3Q0UyXFx1OUIzQlxcdTdDRUZcXHU3Q0YyXFx1N0NGNFxcdTdDRjZcXHU3Q0ZBXFx1N0QwNlwiXSxcbiAgICAgIFtcImUzNDBcIiwgXCJcXHU3RDAyXFx1N0QxQ1xcdTdEMTVcXHU3RDBBXFx1N0Q0NVxcdTdENEJcXHU3RDJFXFx1N0QzMlxcdTdEM0ZcXHU3RDM1XFx1N0Q0NlxcdTdENzNcXHU3RDU2XFx1N0Q0RVxcdTdENzJcXHU3RDY4XFx1N0Q2RVxcdTdENEZcXHU3RDYzXFx1N0Q5M1xcdTdEODlcXHU3RDVCXFx1N0Q4RlxcdTdEN0RcXHU3RDlCXFx1N0RCQVxcdTdEQUVcXHU3REEzXFx1N0RCNVxcdTdEQzdcXHU3REJEXFx1N0RBQlxcdTdFM0RcXHU3REEyXFx1N0RBRlxcdTdERENcXHU3REI4XFx1N0Q5RlxcdTdEQjBcXHU3REQ4XFx1N0RERFxcdTdERTRcXHU3RERFXFx1N0RGQlxcdTdERjJcXHU3REUxXFx1N0UwNVxcdTdFMEFcXHU3RTIzXFx1N0UyMVxcdTdFMTJcXHU3RTMxXFx1N0UxRlxcdTdFMDlcXHU3RTBCXFx1N0UyMlxcdTdFNDZcXHU3RTY2XFx1N0UzQlxcdTdFMzVcXHU3RTM5XFx1N0U0M1xcdTdFMzdcIl0sXG4gICAgICBbXCJlMzgwXCIsIFwiXFx1N0UzMlxcdTdFM0FcXHU3RTY3XFx1N0U1RFxcdTdFNTZcXHU3RTVFXFx1N0U1OVxcdTdFNUFcXHU3RTc5XFx1N0U2QVxcdTdFNjlcXHU3RTdDXFx1N0U3QlxcdTdFODNcXHU3REQ1XFx1N0U3RFxcdThGQUVcXHU3RTdGXFx1N0U4OFxcdTdFODlcXHU3RThDXFx1N0U5MlxcdTdFOTBcXHU3RTkzXFx1N0U5NFxcdTdFOTZcXHU3RThFXFx1N0U5QlxcdTdFOUNcXHU3RjM4XFx1N0YzQVxcdTdGNDVcXHU3RjRDXFx1N0Y0RFxcdTdGNEVcXHU3RjUwXFx1N0Y1MVxcdTdGNTVcXHU3RjU0XFx1N0Y1OFxcdTdGNUZcXHU3RjYwXFx1N0Y2OFxcdTdGNjlcXHU3RjY3XFx1N0Y3OFxcdTdGODJcXHU3Rjg2XFx1N0Y4M1xcdTdGODhcXHU3Rjg3XFx1N0Y4Q1xcdTdGOTRcXHU3RjlFXFx1N0Y5RFxcdTdGOUFcXHU3RkEzXFx1N0ZBRlxcdTdGQjJcXHU3RkI5XFx1N0ZBRVxcdTdGQjZcXHU3RkI4XFx1OEI3MVxcdTdGQzVcXHU3RkM2XFx1N0ZDQVxcdTdGRDVcXHU3RkQ0XFx1N0ZFMVxcdTdGRTZcXHU3RkU5XFx1N0ZGM1xcdTdGRjlcXHU5OERDXFx1ODAwNlxcdTgwMDRcXHU4MDBCXFx1ODAxMlxcdTgwMThcXHU4MDE5XFx1ODAxQ1xcdTgwMjFcXHU4MDI4XFx1ODAzRlxcdTgwM0JcXHU4MDRBXFx1ODA0NlxcdTgwNTJcXHU4MDU4XFx1ODA1QVxcdTgwNUZcXHU4MDYyXFx1ODA2OFxcdTgwNzNcXHU4MDcyXFx1ODA3MFxcdTgwNzZcXHU4MDc5XFx1ODA3RFxcdTgwN0ZcXHU4MDg0XFx1ODA4NlxcdTgwODVcXHU4MDlCXFx1ODA5M1xcdTgwOUFcXHU4MEFEXFx1NTE5MFxcdTgwQUNcXHU4MERCXFx1ODBFNVxcdTgwRDlcXHU4MEREXFx1ODBDNFxcdTgwREFcXHU4MEQ2XFx1ODEwOVxcdTgwRUZcXHU4MEYxXFx1ODExQlxcdTgxMjlcXHU4MTIzXFx1ODEyRlxcdTgxNEJcIl0sXG4gICAgICBbXCJlNDQwXCIsIFwiXFx1OTY4QlxcdTgxNDZcXHU4MTNFXFx1ODE1M1xcdTgxNTFcXHU4MEZDXFx1ODE3MVxcdTgxNkVcXHU4MTY1XFx1ODE2NlxcdTgxNzRcXHU4MTgzXFx1ODE4OFxcdTgxOEFcXHU4MTgwXFx1ODE4MlxcdTgxQTBcXHU4MTk1XFx1ODFBNFxcdTgxQTNcXHU4MTVGXFx1ODE5M1xcdTgxQTlcXHU4MUIwXFx1ODFCNVxcdTgxQkVcXHU4MUI4XFx1ODFCRFxcdTgxQzBcXHU4MUMyXFx1ODFCQVxcdTgxQzlcXHU4MUNEXFx1ODFEMVxcdTgxRDlcXHU4MUQ4XFx1ODFDOFxcdTgxREFcXHU4MURGXFx1ODFFMFxcdTgxRTdcXHU4MUZBXFx1ODFGQlxcdTgxRkVcXHU4MjAxXFx1ODIwMlxcdTgyMDVcXHU4MjA3XFx1ODIwQVxcdTgyMERcXHU4MjEwXFx1ODIxNlxcdTgyMjlcXHU4MjJCXFx1ODIzOFxcdTgyMzNcXHU4MjQwXFx1ODI1OVxcdTgyNThcXHU4MjVEXFx1ODI1QVxcdTgyNUZcXHU4MjY0XCJdLFxuICAgICAgW1wiZTQ4MFwiLCBcIlxcdTgyNjJcXHU4MjY4XFx1ODI2QVxcdTgyNkJcXHU4MjJFXFx1ODI3MVxcdTgyNzdcXHU4Mjc4XFx1ODI3RVxcdTgyOERcXHU4MjkyXFx1ODJBQlxcdTgyOUZcXHU4MkJCXFx1ODJBQ1xcdTgyRTFcXHU4MkUzXFx1ODJERlxcdTgyRDJcXHU4MkY0XFx1ODJGM1xcdTgyRkFcXHU4MzkzXFx1ODMwM1xcdTgyRkJcXHU4MkY5XFx1ODJERVxcdTgzMDZcXHU4MkRDXFx1ODMwOVxcdTgyRDlcXHU4MzM1XFx1ODMzNFxcdTgzMTZcXHU4MzMyXFx1ODMzMVxcdTgzNDBcXHU4MzM5XFx1ODM1MFxcdTgzNDVcXHU4MzJGXFx1ODMyQlxcdTgzMTdcXHU4MzE4XFx1ODM4NVxcdTgzOUFcXHU4M0FBXFx1ODM5RlxcdTgzQTJcXHU4Mzk2XFx1ODMyM1xcdTgzOEVcXHU4Mzg3XFx1ODM4QVxcdTgzN0NcXHU4M0I1XFx1ODM3M1xcdTgzNzVcXHU4M0EwXFx1ODM4OVxcdTgzQThcXHU4M0Y0XFx1ODQxM1xcdTgzRUJcXHU4M0NFXFx1ODNGRFxcdTg0MDNcXHU4M0Q4XFx1ODQwQlxcdTgzQzFcXHU4M0Y3XFx1ODQwN1xcdTgzRTBcXHU4M0YyXFx1ODQwRFxcdTg0MjJcXHU4NDIwXFx1ODNCRFxcdTg0MzhcXHU4NTA2XFx1ODNGQlxcdTg0NkRcXHU4NDJBXFx1ODQzQ1xcdTg1NUFcXHU4NDg0XFx1ODQ3N1xcdTg0NkJcXHU4NEFEXFx1ODQ2RVxcdTg0ODJcXHU4NDY5XFx1ODQ0NlxcdTg0MkNcXHU4NDZGXFx1ODQ3OVxcdTg0MzVcXHU4NENBXFx1ODQ2MlxcdTg0QjlcXHU4NEJGXFx1ODQ5RlxcdTg0RDlcXHU4NENEXFx1ODRCQlxcdTg0REFcXHU4NEQwXFx1ODRDMVxcdTg0QzZcXHU4NEQ2XFx1ODRBMVxcdTg1MjFcXHU4NEZGXFx1ODRGNFxcdTg1MTdcXHU4NTE4XFx1ODUyQ1xcdTg1MUZcXHU4NTE1XFx1ODUxNFxcdTg0RkNcXHU4NTQwXFx1ODU2M1xcdTg1NThcXHU4NTQ4XCJdLFxuICAgICAgW1wiZTU0MFwiLCBcIlxcdTg1NDFcXHU4NjAyXFx1ODU0QlxcdTg1NTVcXHU4NTgwXFx1ODVBNFxcdTg1ODhcXHU4NTkxXFx1ODU4QVxcdTg1QThcXHU4NTZEXFx1ODU5NFxcdTg1OUJcXHU4NUVBXFx1ODU4N1xcdTg1OUNcXHU4NTc3XFx1ODU3RVxcdTg1OTBcXHU4NUM5XFx1ODVCQVxcdTg1Q0ZcXHU4NUI5XFx1ODVEMFxcdTg1RDVcXHU4NUREXFx1ODVFNVxcdTg1RENcXHU4NUY5XFx1ODYwQVxcdTg2MTNcXHU4NjBCXFx1ODVGRVxcdTg1RkFcXHU4NjA2XFx1ODYyMlxcdTg2MUFcXHU4NjMwXFx1ODYzRlxcdTg2NERcXHU0RTU1XFx1ODY1NFxcdTg2NUZcXHU4NjY3XFx1ODY3MVxcdTg2OTNcXHU4NkEzXFx1ODZBOVxcdTg2QUFcXHU4NjhCXFx1ODY4Q1xcdTg2QjZcXHU4NkFGXFx1ODZDNFxcdTg2QzZcXHU4NkIwXFx1ODZDOVxcdTg4MjNcXHU4NkFCXFx1ODZENFxcdTg2REVcXHU4NkU5XFx1ODZFQ1wiXSxcbiAgICAgIFtcImU1ODBcIiwgXCJcXHU4NkRGXFx1ODZEQlxcdTg2RUZcXHU4NzEyXFx1ODcwNlxcdTg3MDhcXHU4NzAwXFx1ODcwM1xcdTg2RkJcXHU4NzExXFx1ODcwOVxcdTg3MERcXHU4NkY5XFx1ODcwQVxcdTg3MzRcXHU4NzNGXFx1ODczN1xcdTg3M0JcXHU4NzI1XFx1ODcyOVxcdTg3MUFcXHU4NzYwXFx1ODc1RlxcdTg3NzhcXHU4NzRDXFx1ODc0RVxcdTg3NzRcXHU4NzU3XFx1ODc2OFxcdTg3NkVcXHU4NzU5XFx1ODc1M1xcdTg3NjNcXHU4NzZBXFx1ODgwNVxcdTg3QTJcXHU4NzlGXFx1ODc4MlxcdTg3QUZcXHU4N0NCXFx1ODdCRFxcdTg3QzBcXHU4N0QwXFx1OTZENlxcdTg3QUJcXHU4N0M0XFx1ODdCM1xcdTg3QzdcXHU4N0M2XFx1ODdCQlxcdTg3RUZcXHU4N0YyXFx1ODdFMFxcdTg4MEZcXHU4ODBEXFx1ODdGRVxcdTg3RjZcXHU4N0Y3XFx1ODgwRVxcdTg3RDJcXHU4ODExXFx1ODgxNlxcdTg4MTVcXHU4ODIyXFx1ODgyMVxcdTg4MzFcXHU4ODM2XFx1ODgzOVxcdTg4MjdcXHU4ODNCXFx1ODg0NFxcdTg4NDJcXHU4ODUyXFx1ODg1OVxcdTg4NUVcXHU4ODYyXFx1ODg2QlxcdTg4ODFcXHU4ODdFXFx1ODg5RVxcdTg4NzVcXHU4ODdEXFx1ODhCNVxcdTg4NzJcXHU4ODgyXFx1ODg5N1xcdTg4OTJcXHU4OEFFXFx1ODg5OVxcdTg4QTJcXHU4ODhEXFx1ODhBNFxcdTg4QjBcXHU4OEJGXFx1ODhCMVxcdTg4QzNcXHU4OEM0XFx1ODhENFxcdTg4RDhcXHU4OEQ5XFx1ODhERFxcdTg4RjlcXHU4OTAyXFx1ODhGQ1xcdTg4RjRcXHU4OEU4XFx1ODhGMlxcdTg5MDRcXHU4OTBDXFx1ODkwQVxcdTg5MTNcXHU4OTQzXFx1ODkxRVxcdTg5MjVcXHU4OTJBXFx1ODkyQlxcdTg5NDFcXHU4OTQ0XFx1ODkzQlxcdTg5MzZcXHU4OTM4XFx1ODk0Q1xcdTg5MURcXHU4OTYwXFx1ODk1RVwiXSxcbiAgICAgIFtcImU2NDBcIiwgXCJcXHU4OTY2XFx1ODk2NFxcdTg5NkRcXHU4OTZBXFx1ODk2RlxcdTg5NzRcXHU4OTc3XFx1ODk3RVxcdTg5ODNcXHU4OTg4XFx1ODk4QVxcdTg5OTNcXHU4OTk4XFx1ODlBMVxcdTg5QTlcXHU4OUE2XFx1ODlBQ1xcdTg5QUZcXHU4OUIyXFx1ODlCQVxcdTg5QkRcXHU4OUJGXFx1ODlDMFxcdTg5REFcXHU4OURDXFx1ODlERFxcdTg5RTdcXHU4OUY0XFx1ODlGOFxcdThBMDNcXHU4QTE2XFx1OEExMFxcdThBMENcXHU4QTFCXFx1OEExRFxcdThBMjVcXHU4QTM2XFx1OEE0MVxcdThBNUJcXHU4QTUyXFx1OEE0NlxcdThBNDhcXHU4QTdDXFx1OEE2RFxcdThBNkNcXHU4QTYyXFx1OEE4NVxcdThBODJcXHU4QTg0XFx1OEFBOFxcdThBQTFcXHU4QTkxXFx1OEFBNVxcdThBQTZcXHU4QTlBXFx1OEFBM1xcdThBQzRcXHU4QUNEXFx1OEFDMlxcdThBREFcXHU4QUVCXFx1OEFGM1xcdThBRTdcIl0sXG4gICAgICBbXCJlNjgwXCIsIFwiXFx1OEFFNFxcdThBRjFcXHU4QjE0XFx1OEFFMFxcdThBRTJcXHU4QUY3XFx1OEFERVxcdThBREJcXHU4QjBDXFx1OEIwN1xcdThCMUFcXHU4QUUxXFx1OEIxNlxcdThCMTBcXHU4QjE3XFx1OEIyMFxcdThCMzNcXHU5N0FCXFx1OEIyNlxcdThCMkJcXHU4QjNFXFx1OEIyOFxcdThCNDFcXHU4QjRDXFx1OEI0RlxcdThCNEVcXHU4QjQ5XFx1OEI1NlxcdThCNUJcXHU4QjVBXFx1OEI2QlxcdThCNUZcXHU4QjZDXFx1OEI2RlxcdThCNzRcXHU4QjdEXFx1OEI4MFxcdThCOENcXHU4QjhFXFx1OEI5MlxcdThCOTNcXHU4Qjk2XFx1OEI5OVxcdThCOUFcXHU4QzNBXFx1OEM0MVxcdThDM0ZcXHU4QzQ4XFx1OEM0Q1xcdThDNEVcXHU4QzUwXFx1OEM1NVxcdThDNjJcXHU4QzZDXFx1OEM3OFxcdThDN0FcXHU4QzgyXFx1OEM4OVxcdThDODVcXHU4QzhBXFx1OEM4RFxcdThDOEVcXHU4Qzk0XFx1OEM3Q1xcdThDOThcXHU2MjFEXFx1OENBRFxcdThDQUFcXHU4Q0JEXFx1OENCMlxcdThDQjNcXHU4Q0FFXFx1OENCNlxcdThDQzhcXHU4Q0MxXFx1OENFNFxcdThDRTNcXHU4Q0RBXFx1OENGRFxcdThDRkFcXHU4Q0ZCXFx1OEQwNFxcdThEMDVcXHU4RDBBXFx1OEQwN1xcdThEMEZcXHU4RDBEXFx1OEQxMFxcdTlGNEVcXHU4RDEzXFx1OENDRFxcdThEMTRcXHU4RDE2XFx1OEQ2N1xcdThENkRcXHU4RDcxXFx1OEQ3M1xcdThEODFcXHU4RDk5XFx1OERDMlxcdThEQkVcXHU4REJBXFx1OERDRlxcdThEREFcXHU4REQ2XFx1OERDQ1xcdThEREJcXHU4RENCXFx1OERFQVxcdThERUJcXHU4RERGXFx1OERFM1xcdThERkNcXHU4RTA4XFx1OEUwOVxcdThERkZcXHU4RTFEXFx1OEUxRVxcdThFMTBcXHU4RTFGXFx1OEU0MlxcdThFMzVcXHU4RTMwXFx1OEUzNFxcdThFNEFcIl0sXG4gICAgICBbXCJlNzQwXCIsIFwiXFx1OEU0N1xcdThFNDlcXHU4RTRDXFx1OEU1MFxcdThFNDhcXHU4RTU5XFx1OEU2NFxcdThFNjBcXHU4RTJBXFx1OEU2M1xcdThFNTVcXHU4RTc2XFx1OEU3MlxcdThFN0NcXHU4RTgxXFx1OEU4N1xcdThFODVcXHU4RTg0XFx1OEU4QlxcdThFOEFcXHU4RTkzXFx1OEU5MVxcdThFOTRcXHU4RTk5XFx1OEVBQVxcdThFQTFcXHU4RUFDXFx1OEVCMFxcdThFQzZcXHU4RUIxXFx1OEVCRVxcdThFQzVcXHU4RUM4XFx1OEVDQlxcdThFREJcXHU4RUUzXFx1OEVGQ1xcdThFRkJcXHU4RUVCXFx1OEVGRVxcdThGMEFcXHU4RjA1XFx1OEYxNVxcdThGMTJcXHU4RjE5XFx1OEYxM1xcdThGMUNcXHU4RjFGXFx1OEYxQlxcdThGMENcXHU4RjI2XFx1OEYzM1xcdThGM0JcXHU4RjM5XFx1OEY0NVxcdThGNDJcXHU4RjNFXFx1OEY0Q1xcdThGNDlcXHU4RjQ2XFx1OEY0RVxcdThGNTdcXHU4RjVDXCJdLFxuICAgICAgW1wiZTc4MFwiLCBcIlxcdThGNjJcXHU4RjYzXFx1OEY2NFxcdThGOUNcXHU4RjlGXFx1OEZBM1xcdThGQURcXHU4RkFGXFx1OEZCN1xcdThGREFcXHU4RkU1XFx1OEZFMlxcdThGRUFcXHU4RkVGXFx1OTA4N1xcdThGRjRcXHU5MDA1XFx1OEZGOVxcdThGRkFcXHU5MDExXFx1OTAxNVxcdTkwMjFcXHU5MDBEXFx1OTAxRVxcdTkwMTZcXHU5MDBCXFx1OTAyN1xcdTkwMzZcXHU5MDM1XFx1OTAzOVxcdThGRjhcXHU5MDRGXFx1OTA1MFxcdTkwNTFcXHU5MDUyXFx1OTAwRVxcdTkwNDlcXHU5MDNFXFx1OTA1NlxcdTkwNThcXHU5MDVFXFx1OTA2OFxcdTkwNkZcXHU5MDc2XFx1OTZBOFxcdTkwNzJcXHU5MDgyXFx1OTA3RFxcdTkwODFcXHU5MDgwXFx1OTA4QVxcdTkwODlcXHU5MDhGXFx1OTBBOFxcdTkwQUZcXHU5MEIxXFx1OTBCNVxcdTkwRTJcXHU5MEU0XFx1NjI0OFxcdTkwREJcXHU5MTAyXFx1OTExMlxcdTkxMTlcXHU5MTMyXFx1OTEzMFxcdTkxNEFcXHU5MTU2XFx1OTE1OFxcdTkxNjNcXHU5MTY1XFx1OTE2OVxcdTkxNzNcXHU5MTcyXFx1OTE4QlxcdTkxODlcXHU5MTgyXFx1OTFBMlxcdTkxQUJcXHU5MUFGXFx1OTFBQVxcdTkxQjVcXHU5MUI0XFx1OTFCQVxcdTkxQzBcXHU5MUMxXFx1OTFDOVxcdTkxQ0JcXHU5MUQwXFx1OTFENlxcdTkxREZcXHU5MUUxXFx1OTFEQlxcdTkxRkNcXHU5MUY1XFx1OTFGNlxcdTkyMUVcXHU5MUZGXFx1OTIxNFxcdTkyMkNcXHU5MjE1XFx1OTIxMVxcdTkyNUVcXHU5MjU3XFx1OTI0NVxcdTkyNDlcXHU5MjY0XFx1OTI0OFxcdTkyOTVcXHU5MjNGXFx1OTI0QlxcdTkyNTBcXHU5MjlDXFx1OTI5NlxcdTkyOTNcXHU5MjlCXFx1OTI1QVxcdTkyQ0ZcXHU5MkI5XFx1OTJCN1xcdTkyRTlcXHU5MzBGXFx1OTJGQVxcdTkzNDRcXHU5MzJFXCJdLFxuICAgICAgW1wiZTg0MFwiLCBcIlxcdTkzMTlcXHU5MzIyXFx1OTMxQVxcdTkzMjNcXHU5MzNBXFx1OTMzNVxcdTkzM0JcXHU5MzVDXFx1OTM2MFxcdTkzN0NcXHU5MzZFXFx1OTM1NlxcdTkzQjBcXHU5M0FDXFx1OTNBRFxcdTkzOTRcXHU5M0I5XFx1OTNENlxcdTkzRDdcXHU5M0U4XFx1OTNFNVxcdTkzRDhcXHU5M0MzXFx1OTNERFxcdTkzRDBcXHU5M0M4XFx1OTNFNFxcdTk0MUFcXHU5NDE0XFx1OTQxM1xcdTk0MDNcXHU5NDA3XFx1OTQxMFxcdTk0MzZcXHU5NDJCXFx1OTQzNVxcdTk0MjFcXHU5NDNBXFx1OTQ0MVxcdTk0NTJcXHU5NDQ0XFx1OTQ1QlxcdTk0NjBcXHU5NDYyXFx1OTQ1RVxcdTk0NkFcXHU5MjI5XFx1OTQ3MFxcdTk0NzVcXHU5NDc3XFx1OTQ3RFxcdTk0NUFcXHU5NDdDXFx1OTQ3RVxcdTk0ODFcXHU5NDdGXFx1OTU4MlxcdTk1ODdcXHU5NThBXFx1OTU5NFxcdTk1OTZcXHU5NTk4XFx1OTU5OVwiXSxcbiAgICAgIFtcImU4ODBcIiwgXCJcXHU5NUEwXFx1OTVBOFxcdTk1QTdcXHU5NUFEXFx1OTVCQ1xcdTk1QkJcXHU5NUI5XFx1OTVCRVxcdTk1Q0FcXHU2RkY2XFx1OTVDM1xcdTk1Q0RcXHU5NUNDXFx1OTVENVxcdTk1RDRcXHU5NUQ2XFx1OTVEQ1xcdTk1RTFcXHU5NUU1XFx1OTVFMlxcdTk2MjFcXHU5NjI4XFx1OTYyRVxcdTk2MkZcXHU5NjQyXFx1OTY0Q1xcdTk2NEZcXHU5NjRCXFx1OTY3N1xcdTk2NUNcXHU5NjVFXFx1OTY1RFxcdTk2NUZcXHU5NjY2XFx1OTY3MlxcdTk2NkNcXHU5NjhEXFx1OTY5OFxcdTk2OTVcXHU5Njk3XFx1OTZBQVxcdTk2QTdcXHU5NkIxXFx1OTZCMlxcdTk2QjBcXHU5NkI0XFx1OTZCNlxcdTk2QjhcXHU5NkI5XFx1OTZDRVxcdTk2Q0JcXHU5NkM5XFx1OTZDRFxcdTg5NERcXHU5NkRDXFx1OTcwRFxcdTk2RDVcXHU5NkY5XFx1OTcwNFxcdTk3MDZcXHU5NzA4XFx1OTcxM1xcdTk3MEVcXHU5NzExXFx1OTcwRlxcdTk3MTZcXHU5NzE5XFx1OTcyNFxcdTk3MkFcXHU5NzMwXFx1OTczOVxcdTk3M0RcXHU5NzNFXFx1OTc0NFxcdTk3NDZcXHU5NzQ4XFx1OTc0MlxcdTk3NDlcXHU5NzVDXFx1OTc2MFxcdTk3NjRcXHU5NzY2XFx1OTc2OFxcdTUyRDJcXHU5NzZCXFx1OTc3MVxcdTk3NzlcXHU5Nzg1XFx1OTc3Q1xcdTk3ODFcXHU5NzdBXFx1OTc4NlxcdTk3OEJcXHU5NzhGXFx1OTc5MFxcdTk3OUNcXHU5N0E4XFx1OTdBNlxcdTk3QTNcXHU5N0IzXFx1OTdCNFxcdTk3QzNcXHU5N0M2XFx1OTdDOFxcdTk3Q0JcXHU5N0RDXFx1OTdFRFxcdTlGNEZcXHU5N0YyXFx1N0FERlxcdTk3RjZcXHU5N0Y1XFx1OTgwRlxcdTk4MENcXHU5ODM4XFx1OTgyNFxcdTk4MjFcXHU5ODM3XFx1OTgzRFxcdTk4NDZcXHU5ODRGXFx1OTg0QlxcdTk4NkJcXHU5ODZGXFx1OTg3MFwiXSxcbiAgICAgIFtcImU5NDBcIiwgXCJcXHU5ODcxXFx1OTg3NFxcdTk4NzNcXHU5OEFBXFx1OThBRlxcdTk4QjFcXHU5OEI2XFx1OThDNFxcdTk4QzNcXHU5OEM2XFx1OThFOVxcdTk4RUJcXHU5OTAzXFx1OTkwOVxcdTk5MTJcXHU5OTE0XFx1OTkxOFxcdTk5MjFcXHU5OTFEXFx1OTkxRVxcdTk5MjRcXHU5OTIwXFx1OTkyQ1xcdTk5MkVcXHU5OTNEXFx1OTkzRVxcdTk5NDJcXHU5OTQ5XFx1OTk0NVxcdTk5NTBcXHU5OTRCXFx1OTk1MVxcdTk5NTJcXHU5OTRDXFx1OTk1NVxcdTk5OTdcXHU5OTk4XFx1OTlBNVxcdTk5QURcXHU5OUFFXFx1OTlCQ1xcdTk5REZcXHU5OURCXFx1OTlERFxcdTk5RDhcXHU5OUQxXFx1OTlFRFxcdTk5RUVcXHU5OUYxXFx1OTlGMlxcdTk5RkJcXHU5OUY4XFx1OUEwMVxcdTlBMEZcXHU5QTA1XFx1OTlFMlxcdTlBMTlcXHU5QTJCXFx1OUEzN1xcdTlBNDVcXHU5QTQyXFx1OUE0MFxcdTlBNDNcIl0sXG4gICAgICBbXCJlOTgwXCIsIFwiXFx1OUEzRVxcdTlBNTVcXHU5QTREXFx1OUE1QlxcdTlBNTdcXHU5QTVGXFx1OUE2MlxcdTlBNjVcXHU5QTY0XFx1OUE2OVxcdTlBNkJcXHU5QTZBXFx1OUFBRFxcdTlBQjBcXHU5QUJDXFx1OUFDMFxcdTlBQ0ZcXHU5QUQxXFx1OUFEM1xcdTlBRDRcXHU5QURFXFx1OUFERlxcdTlBRTJcXHU5QUUzXFx1OUFFNlxcdTlBRUZcXHU5QUVCXFx1OUFFRVxcdTlBRjRcXHU5QUYxXFx1OUFGN1xcdTlBRkJcXHU5QjA2XFx1OUIxOFxcdTlCMUFcXHU5QjFGXFx1OUIyMlxcdTlCMjNcXHU5QjI1XFx1OUIyN1xcdTlCMjhcXHU5QjI5XFx1OUIyQVxcdTlCMkVcXHU5QjJGXFx1OUIzMlxcdTlCNDRcXHU5QjQzXFx1OUI0RlxcdTlCNERcXHU5QjRFXFx1OUI1MVxcdTlCNThcXHU5Qjc0XFx1OUI5M1xcdTlCODNcXHU5QjkxXFx1OUI5NlxcdTlCOTdcXHU5QjlGXFx1OUJBMFxcdTlCQThcXHU5QkI0XFx1OUJDMFxcdTlCQ0FcXHU5QkI5XFx1OUJDNlxcdTlCQ0ZcXHU5QkQxXFx1OUJEMlxcdTlCRTNcXHU5QkUyXFx1OUJFNFxcdTlCRDRcXHU5QkUxXFx1OUMzQVxcdTlCRjJcXHU5QkYxXFx1OUJGMFxcdTlDMTVcXHU5QzE0XFx1OUMwOVxcdTlDMTNcXHU5QzBDXFx1OUMwNlxcdTlDMDhcXHU5QzEyXFx1OUMwQVxcdTlDMDRcXHU5QzJFXFx1OUMxQlxcdTlDMjVcXHU5QzI0XFx1OUMyMVxcdTlDMzBcXHU5QzQ3XFx1OUMzMlxcdTlDNDZcXHU5QzNFXFx1OUM1QVxcdTlDNjBcXHU5QzY3XFx1OUM3NlxcdTlDNzhcXHU5Q0U3XFx1OUNFQ1xcdTlDRjBcXHU5RDA5XFx1OUQwOFxcdTlDRUJcXHU5RDAzXFx1OUQwNlxcdTlEMkFcXHU5RDI2XFx1OURBRlxcdTlEMjNcXHU5RDFGXFx1OUQ0NFxcdTlEMTVcXHU5RDEyXFx1OUQ0MVxcdTlEM0ZcXHU5RDNFXFx1OUQ0NlxcdTlENDhcIl0sXG4gICAgICBbXCJlYTQwXCIsIFwiXFx1OUQ1RFxcdTlENUVcXHU5RDY0XFx1OUQ1MVxcdTlENTBcXHU5RDU5XFx1OUQ3MlxcdTlEODlcXHU5RDg3XFx1OURBQlxcdTlENkZcXHU5RDdBXFx1OUQ5QVxcdTlEQTRcXHU5REE5XFx1OURCMlxcdTlEQzRcXHU5REMxXFx1OURCQlxcdTlEQjhcXHU5REJBXFx1OURDNlxcdTlEQ0ZcXHU5REMyXFx1OUREOVxcdTlERDNcXHU5REY4XFx1OURFNlxcdTlERURcXHU5REVGXFx1OURGRFxcdTlFMUFcXHU5RTFCXFx1OUUxRVxcdTlFNzVcXHU5RTc5XFx1OUU3RFxcdTlFODFcXHU5RTg4XFx1OUU4QlxcdTlFOENcXHU5RTkyXFx1OUU5NVxcdTlFOTFcXHU5RTlEXFx1OUVBNVxcdTlFQTlcXHU5RUI4XFx1OUVBQVxcdTlFQURcXHU5NzYxXFx1OUVDQ1xcdTlFQ0VcXHU5RUNGXFx1OUVEMFxcdTlFRDRcXHU5RURDXFx1OUVERVxcdTlFRERcXHU5RUUwXFx1OUVFNVxcdTlFRThcXHU5RUVGXCJdLFxuICAgICAgW1wiZWE4MFwiLCBcIlxcdTlFRjRcXHU5RUY2XFx1OUVGN1xcdTlFRjlcXHU5RUZCXFx1OUVGQ1xcdTlFRkRcXHU5RjA3XFx1OUYwOFxcdTc2QjdcXHU5RjE1XFx1OUYyMVxcdTlGMkNcXHU5RjNFXFx1OUY0QVxcdTlGNTJcXHU5RjU0XFx1OUY2M1xcdTlGNUZcXHU5RjYwXFx1OUY2MVxcdTlGNjZcXHU5RjY3XFx1OUY2Q1xcdTlGNkFcXHU5Rjc3XFx1OUY3MlxcdTlGNzZcXHU5Rjk1XFx1OUY5Q1xcdTlGQTBcXHU1ODJGXFx1NjlDN1xcdTkwNTlcXHU3NDY0XFx1NTFEQ1xcdTcxOTlcIl0sXG4gICAgICBbXCJlZDQwXCIsIFwiXFx1N0U4QVxcdTg5MUNcXHU5MzQ4XFx1OTI4OFxcdTg0RENcXHU0RkM5XFx1NzBCQlxcdTY2MzFcXHU2OEM4XFx1OTJGOVxcdTY2RkJcXHU1RjQ1XFx1NEUyOFxcdTRFRTFcXHU0RUZDXFx1NEYwMFxcdTRGMDNcXHU0RjM5XFx1NEY1NlxcdTRGOTJcXHU0RjhBXFx1NEY5QVxcdTRGOTRcXHU0RkNEXFx1NTA0MFxcdTUwMjJcXHU0RkZGXFx1NTAxRVxcdTUwNDZcXHU1MDcwXFx1NTA0MlxcdTUwOTRcXHU1MEY0XFx1NTBEOFxcdTUxNEFcXHU1MTY0XFx1NTE5RFxcdTUxQkVcXHU1MUVDXFx1NTIxNVxcdTUyOUNcXHU1MkE2XFx1NTJDMFxcdTUyREJcXHU1MzAwXFx1NTMwN1xcdTUzMjRcXHU1MzcyXFx1NTM5M1xcdTUzQjJcXHU1M0REXFx1RkEwRVxcdTU0OUNcXHU1NDhBXFx1NTRBOVxcdTU0RkZcXHU1NTg2XFx1NTc1OVxcdTU3NjVcXHU1N0FDXFx1NTdDOFxcdTU3QzdcXHVGQTBGXCJdLFxuICAgICAgW1wiZWQ4MFwiLCBcIlxcdUZBMTBcXHU1ODlFXFx1NThCMlxcdTU5MEJcXHU1OTUzXFx1NTk1QlxcdTU5NURcXHU1OTYzXFx1NTlBNFxcdTU5QkFcXHU1QjU2XFx1NUJDMFxcdTc1MkZcXHU1QkQ4XFx1NUJFQ1xcdTVDMUVcXHU1Q0E2XFx1NUNCQVxcdTVDRjVcXHU1RDI3XFx1NUQ1M1xcdUZBMTFcXHU1RDQyXFx1NUQ2RFxcdTVEQjhcXHU1REI5XFx1NUREMFxcdTVGMjFcXHU1RjM0XFx1NUY2N1xcdTVGQjdcXHU1RkRFXFx1NjA1RFxcdTYwODVcXHU2MDhBXFx1NjBERVxcdTYwRDVcXHU2MTIwXFx1NjBGMlxcdTYxMTFcXHU2MTM3XFx1NjEzMFxcdTYxOThcXHU2MjEzXFx1NjJBNlxcdTYzRjVcXHU2NDYwXFx1NjQ5RFxcdTY0Q0VcXHU2NTRFXFx1NjYwMFxcdTY2MTVcXHU2NjNCXFx1NjYwOVxcdTY2MkVcXHU2NjFFXFx1NjYyNFxcdTY2NjVcXHU2NjU3XFx1NjY1OVxcdUZBMTJcXHU2NjczXFx1NjY5OVxcdTY2QTBcXHU2NkIyXFx1NjZCRlxcdTY2RkFcXHU2NzBFXFx1RjkyOVxcdTY3NjZcXHU2N0JCXFx1Njg1MlxcdTY3QzBcXHU2ODAxXFx1Njg0NFxcdTY4Q0ZcXHVGQTEzXFx1Njk2OFxcdUZBMTRcXHU2OTk4XFx1NjlFMlxcdTZBMzBcXHU2QTZCXFx1NkE0NlxcdTZBNzNcXHU2QTdFXFx1NkFFMlxcdTZBRTRcXHU2QkQ2XFx1NkMzRlxcdTZDNUNcXHU2Qzg2XFx1NkM2RlxcdTZDREFcXHU2RDA0XFx1NkQ4N1xcdTZENkZcXHU2RDk2XFx1NkRBQ1xcdTZEQ0ZcXHU2REY4XFx1NkRGMlxcdTZERkNcXHU2RTM5XFx1NkU1Q1xcdTZFMjdcXHU2RTNDXFx1NkVCRlxcdTZGODhcXHU2RkI1XFx1NkZGNVxcdTcwMDVcXHU3MDA3XFx1NzAyOFxcdTcwODVcXHU3MEFCXFx1NzEwRlxcdTcxMDRcXHU3MTVDXFx1NzE0NlxcdTcxNDdcXHVGQTE1XFx1NzFDMVxcdTcxRkVcXHU3MkIxXCJdLFxuICAgICAgW1wiZWU0MFwiLCBcIlxcdTcyQkVcXHU3MzI0XFx1RkExNlxcdTczNzdcXHU3M0JEXFx1NzNDOVxcdTczRDZcXHU3M0UzXFx1NzNEMlxcdTc0MDdcXHU3M0Y1XFx1NzQyNlxcdTc0MkFcXHU3NDI5XFx1NzQyRVxcdTc0NjJcXHU3NDg5XFx1NzQ5RlxcdTc1MDFcXHU3NTZGXFx1NzY4MlxcdTc2OUNcXHU3NjlFXFx1NzY5QlxcdTc2QTZcXHVGQTE3XFx1Nzc0NlxcdTUyQUZcXHU3ODIxXFx1Nzg0RVxcdTc4NjRcXHU3ODdBXFx1NzkzMFxcdUZBMThcXHVGQTE5XFx1RkExQVxcdTc5OTRcXHVGQTFCXFx1Nzk5QlxcdTdBRDFcXHU3QUU3XFx1RkExQ1xcdTdBRUJcXHU3QjlFXFx1RkExRFxcdTdENDhcXHU3RDVDXFx1N0RCN1xcdTdEQTBcXHU3REQ2XFx1N0U1MlxcdTdGNDdcXHU3RkExXFx1RkExRVxcdTgzMDFcXHU4MzYyXFx1ODM3RlxcdTgzQzdcXHU4M0Y2XFx1ODQ0OFxcdTg0QjRcXHU4NTUzXFx1ODU1OVwiXSxcbiAgICAgIFtcImVlODBcIiwgXCJcXHU4NTZCXFx1RkExRlxcdTg1QjBcXHVGQTIwXFx1RkEyMVxcdTg4MDdcXHU4OEY1XFx1OEExMlxcdThBMzdcXHU4QTc5XFx1OEFBN1xcdThBQkVcXHU4QURGXFx1RkEyMlxcdThBRjZcXHU4QjUzXFx1OEI3RlxcdThDRjBcXHU4Q0Y0XFx1OEQxMlxcdThENzZcXHVGQTIzXFx1OEVDRlxcdUZBMjRcXHVGQTI1XFx1OTA2N1xcdTkwREVcXHVGQTI2XFx1OTExNVxcdTkxMjdcXHU5MURBXFx1OTFEN1xcdTkxREVcXHU5MUVEXFx1OTFFRVxcdTkxRTRcXHU5MUU1XFx1OTIwNlxcdTkyMTBcXHU5MjBBXFx1OTIzQVxcdTkyNDBcXHU5MjNDXFx1OTI0RVxcdTkyNTlcXHU5MjUxXFx1OTIzOVxcdTkyNjdcXHU5MkE3XFx1OTI3N1xcdTkyNzhcXHU5MkU3XFx1OTJEN1xcdTkyRDlcXHU5MkQwXFx1RkEyN1xcdTkyRDVcXHU5MkUwXFx1OTJEM1xcdTkzMjVcXHU5MzIxXFx1OTJGQlxcdUZBMjhcXHU5MzFFXFx1OTJGRlxcdTkzMURcXHU5MzAyXFx1OTM3MFxcdTkzNTdcXHU5M0E0XFx1OTNDNlxcdTkzREVcXHU5M0Y4XFx1OTQzMVxcdTk0NDVcXHU5NDQ4XFx1OTU5MlxcdUY5RENcXHVGQTI5XFx1OTY5RFxcdTk2QUZcXHU5NzMzXFx1OTczQlxcdTk3NDNcXHU5NzREXFx1OTc0RlxcdTk3NTFcXHU5NzU1XFx1OTg1N1xcdTk4NjVcXHVGQTJBXFx1RkEyQlxcdTk5MjdcXHVGQTJDXFx1OTk5RVxcdTlBNEVcXHU5QUQ5XFx1OUFEQ1xcdTlCNzVcXHU5QjcyXFx1OUI4RlxcdTlCQjFcXHU5QkJCXFx1OUMwMFxcdTlENzBcXHU5RDZCXFx1RkEyRFxcdTlFMTlcXHU5RUQxXCJdLFxuICAgICAgW1wiZWVlZlwiLCBcIlxcdTIxNzBcIiwgOSwgXCJcXHVGRkUyXFx1RkZFNFxcdUZGMDdcXHVGRjAyXCJdLFxuICAgICAgW1wiZjA0MFwiLCBcIlxcdUUwMDBcIiwgNjJdLFxuICAgICAgW1wiZjA4MFwiLCBcIlxcdUUwM0ZcIiwgMTI0XSxcbiAgICAgIFtcImYxNDBcIiwgXCJcXHVFMEJDXCIsIDYyXSxcbiAgICAgIFtcImYxODBcIiwgXCJcXHVFMEZCXCIsIDEyNF0sXG4gICAgICBbXCJmMjQwXCIsIFwiXFx1RTE3OFwiLCA2Ml0sXG4gICAgICBbXCJmMjgwXCIsIFwiXFx1RTFCN1wiLCAxMjRdLFxuICAgICAgW1wiZjM0MFwiLCBcIlxcdUUyMzRcIiwgNjJdLFxuICAgICAgW1wiZjM4MFwiLCBcIlxcdUUyNzNcIiwgMTI0XSxcbiAgICAgIFtcImY0NDBcIiwgXCJcXHVFMkYwXCIsIDYyXSxcbiAgICAgIFtcImY0ODBcIiwgXCJcXHVFMzJGXCIsIDEyNF0sXG4gICAgICBbXCJmNTQwXCIsIFwiXFx1RTNBQ1wiLCA2Ml0sXG4gICAgICBbXCJmNTgwXCIsIFwiXFx1RTNFQlwiLCAxMjRdLFxuICAgICAgW1wiZjY0MFwiLCBcIlxcdUU0NjhcIiwgNjJdLFxuICAgICAgW1wiZjY4MFwiLCBcIlxcdUU0QTdcIiwgMTI0XSxcbiAgICAgIFtcImY3NDBcIiwgXCJcXHVFNTI0XCIsIDYyXSxcbiAgICAgIFtcImY3ODBcIiwgXCJcXHVFNTYzXCIsIDEyNF0sXG4gICAgICBbXCJmODQwXCIsIFwiXFx1RTVFMFwiLCA2Ml0sXG4gICAgICBbXCJmODgwXCIsIFwiXFx1RTYxRlwiLCAxMjRdLFxuICAgICAgW1wiZjk0MFwiLCBcIlxcdUU2OUNcIl0sXG4gICAgICBbXCJmYTQwXCIsIFwiXFx1MjE3MFwiLCA5LCBcIlxcdTIxNjBcIiwgOSwgXCJcXHVGRkUyXFx1RkZFNFxcdUZGMDdcXHVGRjAyXFx1MzIzMVxcdTIxMTZcXHUyMTIxXFx1MjIzNVxcdTdFOEFcXHU4OTFDXFx1OTM0OFxcdTkyODhcXHU4NERDXFx1NEZDOVxcdTcwQkJcXHU2NjMxXFx1NjhDOFxcdTkyRjlcXHU2NkZCXFx1NUY0NVxcdTRFMjhcXHU0RUUxXFx1NEVGQ1xcdTRGMDBcXHU0RjAzXFx1NEYzOVxcdTRGNTZcXHU0RjkyXFx1NEY4QVxcdTRGOUFcXHU0Rjk0XFx1NEZDRFxcdTUwNDBcXHU1MDIyXFx1NEZGRlxcdTUwMUVcXHU1MDQ2XFx1NTA3MFxcdTUwNDJcXHU1MDk0XFx1NTBGNFxcdTUwRDhcXHU1MTRBXCJdLFxuICAgICAgW1wiZmE4MFwiLCBcIlxcdTUxNjRcXHU1MTlEXFx1NTFCRVxcdTUxRUNcXHU1MjE1XFx1NTI5Q1xcdTUyQTZcXHU1MkMwXFx1NTJEQlxcdTUzMDBcXHU1MzA3XFx1NTMyNFxcdTUzNzJcXHU1MzkzXFx1NTNCMlxcdTUzRERcXHVGQTBFXFx1NTQ5Q1xcdTU0OEFcXHU1NEE5XFx1NTRGRlxcdTU1ODZcXHU1NzU5XFx1NTc2NVxcdTU3QUNcXHU1N0M4XFx1NTdDN1xcdUZBMEZcXHVGQTEwXFx1NTg5RVxcdTU4QjJcXHU1OTBCXFx1NTk1M1xcdTU5NUJcXHU1OTVEXFx1NTk2M1xcdTU5QTRcXHU1OUJBXFx1NUI1NlxcdTVCQzBcXHU3NTJGXFx1NUJEOFxcdTVCRUNcXHU1QzFFXFx1NUNBNlxcdTVDQkFcXHU1Q0Y1XFx1NUQyN1xcdTVENTNcXHVGQTExXFx1NUQ0MlxcdTVENkRcXHU1REI4XFx1NURCOVxcdTVERDBcXHU1RjIxXFx1NUYzNFxcdTVGNjdcXHU1RkI3XFx1NUZERVxcdTYwNURcXHU2MDg1XFx1NjA4QVxcdTYwREVcXHU2MEQ1XFx1NjEyMFxcdTYwRjJcXHU2MTExXFx1NjEzN1xcdTYxMzBcXHU2MTk4XFx1NjIxM1xcdTYyQTZcXHU2M0Y1XFx1NjQ2MFxcdTY0OURcXHU2NENFXFx1NjU0RVxcdTY2MDBcXHU2NjE1XFx1NjYzQlxcdTY2MDlcXHU2NjJFXFx1NjYxRVxcdTY2MjRcXHU2NjY1XFx1NjY1N1xcdTY2NTlcXHVGQTEyXFx1NjY3M1xcdTY2OTlcXHU2NkEwXFx1NjZCMlxcdTY2QkZcXHU2NkZBXFx1NjcwRVxcdUY5MjlcXHU2NzY2XFx1NjdCQlxcdTY4NTJcXHU2N0MwXFx1NjgwMVxcdTY4NDRcXHU2OENGXFx1RkExM1xcdTY5NjhcXHVGQTE0XFx1Njk5OFxcdTY5RTJcXHU2QTMwXFx1NkE2QlxcdTZBNDZcXHU2QTczXFx1NkE3RVxcdTZBRTJcXHU2QUU0XFx1NkJENlxcdTZDM0ZcXHU2QzVDXFx1NkM4NlxcdTZDNkZcXHU2Q0RBXFx1NkQwNFxcdTZEODdcXHU2RDZGXCJdLFxuICAgICAgW1wiZmI0MFwiLCBcIlxcdTZEOTZcXHU2REFDXFx1NkRDRlxcdTZERjhcXHU2REYyXFx1NkRGQ1xcdTZFMzlcXHU2RTVDXFx1NkUyN1xcdTZFM0NcXHU2RUJGXFx1NkY4OFxcdTZGQjVcXHU2RkY1XFx1NzAwNVxcdTcwMDdcXHU3MDI4XFx1NzA4NVxcdTcwQUJcXHU3MTBGXFx1NzEwNFxcdTcxNUNcXHU3MTQ2XFx1NzE0N1xcdUZBMTVcXHU3MUMxXFx1NzFGRVxcdTcyQjFcXHU3MkJFXFx1NzMyNFxcdUZBMTZcXHU3Mzc3XFx1NzNCRFxcdTczQzlcXHU3M0Q2XFx1NzNFM1xcdTczRDJcXHU3NDA3XFx1NzNGNVxcdTc0MjZcXHU3NDJBXFx1NzQyOVxcdTc0MkVcXHU3NDYyXFx1NzQ4OVxcdTc0OUZcXHU3NTAxXFx1NzU2RlxcdTc2ODJcXHU3NjlDXFx1NzY5RVxcdTc2OUJcXHU3NkE2XFx1RkExN1xcdTc3NDZcXHU1MkFGXFx1NzgyMVxcdTc4NEVcXHU3ODY0XFx1Nzg3QVxcdTc5MzBcXHVGQTE4XFx1RkExOVwiXSxcbiAgICAgIFtcImZiODBcIiwgXCJcXHVGQTFBXFx1Nzk5NFxcdUZBMUJcXHU3OTlCXFx1N0FEMVxcdTdBRTdcXHVGQTFDXFx1N0FFQlxcdTdCOUVcXHVGQTFEXFx1N0Q0OFxcdTdENUNcXHU3REI3XFx1N0RBMFxcdTdERDZcXHU3RTUyXFx1N0Y0N1xcdTdGQTFcXHVGQTFFXFx1ODMwMVxcdTgzNjJcXHU4MzdGXFx1ODNDN1xcdTgzRjZcXHU4NDQ4XFx1ODRCNFxcdTg1NTNcXHU4NTU5XFx1ODU2QlxcdUZBMUZcXHU4NUIwXFx1RkEyMFxcdUZBMjFcXHU4ODA3XFx1ODhGNVxcdThBMTJcXHU4QTM3XFx1OEE3OVxcdThBQTdcXHU4QUJFXFx1OEFERlxcdUZBMjJcXHU4QUY2XFx1OEI1M1xcdThCN0ZcXHU4Q0YwXFx1OENGNFxcdThEMTJcXHU4RDc2XFx1RkEyM1xcdThFQ0ZcXHVGQTI0XFx1RkEyNVxcdTkwNjdcXHU5MERFXFx1RkEyNlxcdTkxMTVcXHU5MTI3XFx1OTFEQVxcdTkxRDdcXHU5MURFXFx1OTFFRFxcdTkxRUVcXHU5MUU0XFx1OTFFNVxcdTkyMDZcXHU5MjEwXFx1OTIwQVxcdTkyM0FcXHU5MjQwXFx1OTIzQ1xcdTkyNEVcXHU5MjU5XFx1OTI1MVxcdTkyMzlcXHU5MjY3XFx1OTJBN1xcdTkyNzdcXHU5Mjc4XFx1OTJFN1xcdTkyRDdcXHU5MkQ5XFx1OTJEMFxcdUZBMjdcXHU5MkQ1XFx1OTJFMFxcdTkyRDNcXHU5MzI1XFx1OTMyMVxcdTkyRkJcXHVGQTI4XFx1OTMxRVxcdTkyRkZcXHU5MzFEXFx1OTMwMlxcdTkzNzBcXHU5MzU3XFx1OTNBNFxcdTkzQzZcXHU5M0RFXFx1OTNGOFxcdTk0MzFcXHU5NDQ1XFx1OTQ0OFxcdTk1OTJcXHVGOURDXFx1RkEyOVxcdTk2OURcXHU5NkFGXFx1OTczM1xcdTk3M0JcXHU5NzQzXFx1OTc0RFxcdTk3NEZcXHU5NzUxXFx1OTc1NVxcdTk4NTdcXHU5ODY1XFx1RkEyQVxcdUZBMkJcXHU5OTI3XFx1RkEyQ1xcdTk5OUVcXHU5QTRFXFx1OUFEOVwiXSxcbiAgICAgIFtcImZjNDBcIiwgXCJcXHU5QURDXFx1OUI3NVxcdTlCNzJcXHU5QjhGXFx1OUJCMVxcdTlCQkJcXHU5QzAwXFx1OUQ3MFxcdTlENkJcXHVGQTJEXFx1OUUxOVxcdTlFRDFcIl1cbiAgICBdO1xuICB9XG59KTtcblxuLy8gbm9kZV9tb2R1bGVzL3Jhdy1ib2R5L25vZGVfbW9kdWxlcy9pY29udi1saXRlL2VuY29kaW5ncy90YWJsZXMvZXVjanAuanNvblxudmFyIHJlcXVpcmVfZXVjanAgPSBfX2NvbW1vbkpTKHtcbiAgXCJub2RlX21vZHVsZXMvcmF3LWJvZHkvbm9kZV9tb2R1bGVzL2ljb252LWxpdGUvZW5jb2RpbmdzL3RhYmxlcy9ldWNqcC5qc29uXCIoZXhwb3J0czIsIG1vZHVsZTIpIHtcbiAgICBtb2R1bGUyLmV4cG9ydHMgPSBbXG4gICAgICBbXCIwXCIsIFwiXFwwXCIsIDEyN10sXG4gICAgICBbXCI4ZWExXCIsIFwiXFx1RkY2MVwiLCA2Ml0sXG4gICAgICBbXCJhMWExXCIsIFwiXFx1MzAwMFxcdTMwMDFcXHUzMDAyXFx1RkYwQ1xcdUZGMEVcXHUzMEZCXFx1RkYxQVxcdUZGMUJcXHVGRjFGXFx1RkYwMVxcdTMwOUJcXHUzMDlDXFx4QjRcXHVGRjQwXFx4QThcXHVGRjNFXFx1RkZFM1xcdUZGM0ZcXHUzMEZEXFx1MzBGRVxcdTMwOURcXHUzMDlFXFx1MzAwM1xcdTRFRERcXHUzMDA1XFx1MzAwNlxcdTMwMDdcXHUzMEZDXFx1MjAxNVxcdTIwMTBcXHVGRjBGXFx1RkYzQ1xcdUZGNUVcXHUyMjI1XFx1RkY1Q1xcdTIwMjZcXHUyMDI1XFx1MjAxOFxcdTIwMTlcXHUyMDFDXFx1MjAxRFxcdUZGMDhcXHVGRjA5XFx1MzAxNFxcdTMwMTVcXHVGRjNCXFx1RkYzRFxcdUZGNUJcXHVGRjVEXFx1MzAwOFwiLCA5LCBcIlxcdUZGMEJcXHVGRjBEXFx4QjFcXHhEN1xceEY3XFx1RkYxRFxcdTIyNjBcXHVGRjFDXFx1RkYxRVxcdTIyNjZcXHUyMjY3XFx1MjIxRVxcdTIyMzRcXHUyNjQyXFx1MjY0MFxceEIwXFx1MjAzMlxcdTIwMzNcXHUyMTAzXFx1RkZFNVxcdUZGMDRcXHVGRkUwXFx1RkZFMVxcdUZGMDVcXHVGRjAzXFx1RkYwNlxcdUZGMEFcXHVGRjIwXFx4QTdcXHUyNjA2XFx1MjYwNVxcdTI1Q0JcXHUyNUNGXFx1MjVDRVxcdTI1QzdcIl0sXG4gICAgICBbXCJhMmExXCIsIFwiXFx1MjVDNlxcdTI1QTFcXHUyNUEwXFx1MjVCM1xcdTI1QjJcXHUyNUJEXFx1MjVCQ1xcdTIwM0JcXHUzMDEyXFx1MjE5MlxcdTIxOTBcXHUyMTkxXFx1MjE5M1xcdTMwMTNcIl0sXG4gICAgICBbXCJhMmJhXCIsIFwiXFx1MjIwOFxcdTIyMEJcXHUyMjg2XFx1MjI4N1xcdTIyODJcXHUyMjgzXFx1MjIyQVxcdTIyMjlcIl0sXG4gICAgICBbXCJhMmNhXCIsIFwiXFx1MjIyN1xcdTIyMjhcXHVGRkUyXFx1MjFEMlxcdTIxRDRcXHUyMjAwXFx1MjIwM1wiXSxcbiAgICAgIFtcImEyZGNcIiwgXCJcXHUyMjIwXFx1MjJBNVxcdTIzMTJcXHUyMjAyXFx1MjIwN1xcdTIyNjFcXHUyMjUyXFx1MjI2QVxcdTIyNkJcXHUyMjFBXFx1MjIzRFxcdTIyMURcXHUyMjM1XFx1MjIyQlxcdTIyMkNcIl0sXG4gICAgICBbXCJhMmYyXCIsIFwiXFx1MjEyQlxcdTIwMzBcXHUyNjZGXFx1MjY2RFxcdTI2NkFcXHUyMDIwXFx1MjAyMVxceEI2XCJdLFxuICAgICAgW1wiYTJmZVwiLCBcIlxcdTI1RUZcIl0sXG4gICAgICBbXCJhM2IwXCIsIFwiXFx1RkYxMFwiLCA5XSxcbiAgICAgIFtcImEzYzFcIiwgXCJcXHVGRjIxXCIsIDI1XSxcbiAgICAgIFtcImEzZTFcIiwgXCJcXHVGRjQxXCIsIDI1XSxcbiAgICAgIFtcImE0YTFcIiwgXCJcXHUzMDQxXCIsIDgyXSxcbiAgICAgIFtcImE1YTFcIiwgXCJcXHUzMEExXCIsIDg1XSxcbiAgICAgIFtcImE2YTFcIiwgXCJcXHUwMzkxXCIsIDE2LCBcIlxcdTAzQTNcIiwgNl0sXG4gICAgICBbXCJhNmMxXCIsIFwiXFx1MDNCMVwiLCAxNiwgXCJcXHUwM0MzXCIsIDZdLFxuICAgICAgW1wiYTdhMVwiLCBcIlxcdTA0MTBcIiwgNSwgXCJcXHUwNDAxXFx1MDQxNlwiLCAyNV0sXG4gICAgICBbXCJhN2QxXCIsIFwiXFx1MDQzMFwiLCA1LCBcIlxcdTA0NTFcXHUwNDM2XCIsIDI1XSxcbiAgICAgIFtcImE4YTFcIiwgXCJcXHUyNTAwXFx1MjUwMlxcdTI1MENcXHUyNTEwXFx1MjUxOFxcdTI1MTRcXHUyNTFDXFx1MjUyQ1xcdTI1MjRcXHUyNTM0XFx1MjUzQ1xcdTI1MDFcXHUyNTAzXFx1MjUwRlxcdTI1MTNcXHUyNTFCXFx1MjUxN1xcdTI1MjNcXHUyNTMzXFx1MjUyQlxcdTI1M0JcXHUyNTRCXFx1MjUyMFxcdTI1MkZcXHUyNTI4XFx1MjUzN1xcdTI1M0ZcXHUyNTFEXFx1MjUzMFxcdTI1MjVcXHUyNTM4XFx1MjU0MlwiXSxcbiAgICAgIFtcImFkYTFcIiwgXCJcXHUyNDYwXCIsIDE5LCBcIlxcdTIxNjBcIiwgOV0sXG4gICAgICBbXCJhZGMwXCIsIFwiXFx1MzM0OVxcdTMzMTRcXHUzMzIyXFx1MzM0RFxcdTMzMThcXHUzMzI3XFx1MzMwM1xcdTMzMzZcXHUzMzUxXFx1MzM1N1xcdTMzMERcXHUzMzI2XFx1MzMyM1xcdTMzMkJcXHUzMzRBXFx1MzMzQlxcdTMzOUNcXHUzMzlEXFx1MzM5RVxcdTMzOEVcXHUzMzhGXFx1MzNDNFxcdTMzQTFcIl0sXG4gICAgICBbXCJhZGRmXCIsIFwiXFx1MzM3QlxcdTMwMURcXHUzMDFGXFx1MjExNlxcdTMzQ0RcXHUyMTIxXFx1MzJBNFwiLCA0LCBcIlxcdTMyMzFcXHUzMjMyXFx1MzIzOVxcdTMzN0VcXHUzMzdEXFx1MzM3Q1xcdTIyNTJcXHUyMjYxXFx1MjIyQlxcdTIyMkVcXHUyMjExXFx1MjIxQVxcdTIyQTVcXHUyMjIwXFx1MjIxRlxcdTIyQkZcXHUyMjM1XFx1MjIyOVxcdTIyMkFcIl0sXG4gICAgICBbXCJiMGExXCIsIFwiXFx1NEU5Q1xcdTU1MTZcXHU1QTAzXFx1OTYzRlxcdTU0QzBcXHU2MTFCXFx1NjMyOFxcdTU5RjZcXHU5MDIyXFx1ODQ3NVxcdTgzMUNcXHU3QTUwXFx1NjBBQVxcdTYzRTFcXHU2RTI1XFx1NjVFRFxcdTg0NjZcXHU4MkE2XFx1OUJGNVxcdTY4OTNcXHU1NzI3XFx1NjVBMVxcdTYyNzFcXHU1QjlCXFx1NTlEMFxcdTg2N0JcXHU5OEY0XFx1N0Q2MlxcdTdEQkVcXHU5QjhFXFx1NjIxNlxcdTdDOUZcXHU4OEI3XFx1NUI4OVxcdTVFQjVcXHU2MzA5XFx1NjY5N1xcdTY4NDhcXHU5NUM3XFx1OTc4RFxcdTY3NEZcXHU0RUU1XFx1NEYwQVxcdTRGNERcXHU0RjlEXFx1NTA0OVxcdTU2RjJcXHU1OTM3XFx1NTlENFxcdTVBMDFcXHU1QzA5XFx1NjBERlxcdTYxMEZcXHU2MTcwXFx1NjYxM1xcdTY5MDVcXHU3MEJBXFx1NzU0RlxcdTc1NzBcXHU3OUZCXFx1N0RBRFxcdTdERUZcXHU4MEMzXFx1ODQwRVxcdTg4NjNcXHU4QjAyXFx1OTA1NVxcdTkwN0FcXHU1MzNCXFx1NEU5NVxcdTRFQTVcXHU1N0RGXFx1ODBCMlxcdTkwQzFcXHU3OEVGXFx1NEUwMFxcdTU4RjFcXHU2RUEyXFx1OTAzOFxcdTdBMzJcXHU4MzI4XFx1ODI4QlxcdTlDMkZcXHU1MTQxXFx1NTM3MFxcdTU0QkRcXHU1NEUxXFx1NTZFMFxcdTU5RkJcXHU1RjE1XFx1OThGMlxcdTZERUJcXHU4MEU0XFx1ODUyRFwiXSxcbiAgICAgIFtcImIxYTFcIiwgXCJcXHU5NjYyXFx1OTY3MFxcdTk2QTBcXHU5N0ZCXFx1NTQwQlxcdTUzRjNcXHU1Qjg3XFx1NzBDRlxcdTdGQkRcXHU4RkMyXFx1OTZFOFxcdTUzNkZcXHU5RDVDXFx1N0FCQVxcdTRFMTFcXHU3ODkzXFx1ODFGQ1xcdTZFMjZcXHU1NjE4XFx1NTUwNFxcdTZCMURcXHU4NTFBXFx1OUMzQlxcdTU5RTVcXHU1M0E5XFx1NkQ2NlxcdTc0RENcXHU5NThGXFx1NTY0MlxcdTRFOTFcXHU5MDRCXFx1OTZGMlxcdTgzNEZcXHU5OTBDXFx1NTNFMVxcdTU1QjZcXHU1QjMwXFx1NUY3MVxcdTY2MjBcXHU2NkYzXFx1NjgwNFxcdTZDMzhcXHU2Q0YzXFx1NkQyOVxcdTc0NUJcXHU3NkM4XFx1N0E0RVxcdTk4MzRcXHU4MkYxXFx1ODg1QlxcdThBNjBcXHU5MkVEXFx1NkRCMlxcdTc1QUJcXHU3NkNBXFx1OTlDNVxcdTYwQTZcXHU4QjAxXFx1OEQ4QVxcdTk1QjJcXHU2OThFXFx1NTNBRFxcdTUxODZcXHU1NzEyXFx1NTgzMFxcdTU5NDRcXHU1QkI0XFx1NUVGNlxcdTYwMjhcXHU2M0E5XFx1NjNGNFxcdTZDQkZcXHU2RjE0XFx1NzA4RVxcdTcxMTRcXHU3MTU5XFx1NzFENVxcdTczM0ZcXHU3RTAxXFx1ODI3NlxcdTgyRDFcXHU4NTk3XFx1OTA2MFxcdTkyNUJcXHU5RDFCXFx1NTg2OVxcdTY1QkNcXHU2QzVBXFx1NzUyNVxcdTUxRjlcXHU1OTJFXFx1NTk2NVxcdTVGODBcXHU1RkRDXCJdLFxuICAgICAgW1wiYjJhMVwiLCBcIlxcdTYyQkNcXHU2NUZBXFx1NkEyQVxcdTZCMjdcXHU2QkI0XFx1NzM4QlxcdTdGQzFcXHU4OTU2XFx1OUQyQ1xcdTlEMEVcXHU5RUM0XFx1NUNBMVxcdTZDOTZcXHU4MzdCXFx1NTEwNFxcdTVDNEJcXHU2MUI2XFx1ODFDNlxcdTY4NzZcXHU3MjYxXFx1NEU1OVxcdTRGRkFcXHU1Mzc4XFx1NjA2OVxcdTZFMjlcXHU3QTRGXFx1OTdGM1xcdTRFMEJcXHU1MzE2XFx1NEVFRVxcdTRGNTVcXHU0RjNEXFx1NEZBMVxcdTRGNzNcXHU1MkEwXFx1NTNFRlxcdTU2MDlcXHU1OTBGXFx1NUFDMVxcdTVCQjZcXHU1QkUxXFx1NzlEMVxcdTY2ODdcXHU2NzlDXFx1NjdCNlxcdTZCNENcXHU2Q0IzXFx1NzA2QlxcdTczQzJcXHU3OThEXFx1NzlCRVxcdTdBM0NcXHU3Qjg3XFx1ODJCMVxcdTgyREJcXHU4MzA0XFx1ODM3N1xcdTgzRUZcXHU4M0QzXFx1ODc2NlxcdThBQjJcXHU1NjI5XFx1OENBOFxcdThGRTZcXHU5MDRFXFx1OTcxRVxcdTg2OEFcXHU0RkM0XFx1NUNFOFxcdTYyMTFcXHU3MjU5XFx1NzUzQlxcdTgxRTVcXHU4MkJEXFx1ODZGRVxcdThDQzBcXHU5NkM1XFx1OTkxM1xcdTk5RDVcXHU0RUNCXFx1NEYxQVxcdTg5RTNcXHU1NkRFXFx1NTg0QVxcdTU4Q0FcXHU1RUZCXFx1NUZFQlxcdTYwMkFcXHU2MDk0XFx1NjA2MlxcdTYxRDBcXHU2MjEyXFx1NjJEMFxcdTY1MzlcIl0sXG4gICAgICBbXCJiM2ExXCIsIFwiXFx1OUI0MVxcdTY2NjZcXHU2OEIwXFx1NkQ3N1xcdTcwNzBcXHU3NTRDXFx1NzY4NlxcdTdENzVcXHU4MkE1XFx1ODdGOVxcdTk1OEJcXHU5NjhFXFx1OEM5RFxcdTUxRjFcXHU1MkJFXFx1NTkxNlxcdTU0QjNcXHU1QkIzXFx1NUQxNlxcdTYxNjhcXHU2OTgyXFx1NkRBRlxcdTc4OERcXHU4NENCXFx1ODg1N1xcdThBNzJcXHU5M0E3XFx1OUFCOFxcdTZENkNcXHU5OUE4XFx1ODZEOVxcdTU3QTNcXHU2N0ZGXFx1ODZDRVxcdTkyMEVcXHU1MjgzXFx1NTY4N1xcdTU0MDRcXHU1RUQzXFx1NjJFMVxcdTY0QjlcXHU2ODNDXFx1NjgzOFxcdTZCQkJcXHU3MzcyXFx1NzhCQVxcdTdBNkJcXHU4OTlBXFx1ODlEMlxcdThENkJcXHU4RjAzXFx1OTBFRFxcdTk1QTNcXHU5Njk0XFx1OTc2OVxcdTVCNjZcXHU1Q0IzXFx1Njk3RFxcdTk4NERcXHU5ODRFXFx1NjM5QlxcdTdCMjBcXHU2QTJCXFx1NkE3RlxcdTY4QjZcXHU5QzBEXFx1NkY1RlxcdTUyNzJcXHU1NTlEXFx1NjA3MFxcdTYyRUNcXHU2RDNCXFx1NkUwN1xcdTZFRDFcXHU4NDVCXFx1ODkxMFxcdThGNDRcXHU0RTE0XFx1OUMzOVxcdTUzRjZcXHU2OTFCXFx1NkEzQVxcdTk3ODRcXHU2ODJBXFx1NTE1Q1xcdTdBQzNcXHU4NEIyXFx1OTFEQ1xcdTkzOENcXHU1NjVCXFx1OUQyOFxcdTY4MjJcXHU4MzA1XFx1ODQzMVwiXSxcbiAgICAgIFtcImI0YTFcIiwgXCJcXHU3Q0E1XFx1NTIwOFxcdTgyQzVcXHU3NEU2XFx1NEU3RVxcdTRGODNcXHU1MUEwXFx1NUJEMlxcdTUyMEFcXHU1MkQ4XFx1NTJFN1xcdTVERkJcXHU1NTlBXFx1NTgyQVxcdTU5RTZcXHU1QjhDXFx1NUI5OFxcdTVCREJcXHU1RTcyXFx1NUU3OVxcdTYwQTNcXHU2MTFGXFx1NjE2M1xcdTYxQkVcXHU2M0RCXFx1NjU2MlxcdTY3RDFcXHU2ODUzXFx1NjhGQVxcdTZCM0VcXHU2QjUzXFx1NkM1N1xcdTZGMjJcXHU2Rjk3XFx1NkY0NVxcdTc0QjBcXHU3NTE4XFx1NzZFM1xcdTc3MEJcXHU3QUZGXFx1N0JBMVxcdTdDMjFcXHU3REU5XFx1N0YzNlxcdTdGRjBcXHU4MDlEXFx1ODI2NlxcdTgzOUVcXHU4OUIzXFx1OEFDQ1xcdThDQUJcXHU5MDg0XFx1OTQ1MVxcdTk1OTNcXHU5NTkxXFx1OTVBMlxcdTk2NjVcXHU5N0QzXFx1OTkyOFxcdTgyMThcXHU0RTM4XFx1NTQyQlxcdTVDQjhcXHU1RENDXFx1NzNBOVxcdTc2NENcXHU3NzNDXFx1NUNBOVxcdTdGRUJcXHU4RDBCXFx1OTZDMVxcdTk4MTFcXHU5ODU0XFx1OTg1OFxcdTRGMDFcXHU0RjBFXFx1NTM3MVxcdTU1OUNcXHU1NjY4XFx1NTdGQVxcdTU5NDdcXHU1QjA5XFx1NUJDNFxcdTVDOTBcXHU1RTBDXFx1NUU3RVxcdTVGQ0NcXHU2M0VFXFx1NjczQVxcdTY1RDdcXHU2NUUyXFx1NjcxRlxcdTY4Q0JcXHU2OEM0XCJdLFxuICAgICAgW1wiYjVhMVwiLCBcIlxcdTZBNUZcXHU1RTMwXFx1NkJDNVxcdTZDMTdcXHU2QzdEXFx1NzU3RlxcdTc5NDhcXHU1QjYzXFx1N0EwMFxcdTdEMDBcXHU1RkJEXFx1ODk4RlxcdThBMThcXHU4Q0I0XFx1OEQ3N1xcdThFQ0NcXHU4RjFEXFx1OThFMlxcdTlBMEVcXHU5QjNDXFx1NEU4MFxcdTUwN0RcXHU1MTAwXFx1NTk5M1xcdTVCOUNcXHU2MjJGXFx1NjI4MFxcdTY0RUNcXHU2QjNBXFx1NzJBMFxcdTc1OTFcXHU3OTQ3XFx1N0ZBOVxcdTg3RkJcXHU4QUJDXFx1OEI3MFxcdTYzQUNcXHU4M0NBXFx1OTdBMFxcdTU0MDlcXHU1NDAzXFx1NTVBQlxcdTY4NTRcXHU2QTU4XFx1OEE3MFxcdTc4MjdcXHU2Nzc1XFx1OUVDRFxcdTUzNzRcXHU1QkEyXFx1ODExQVxcdTg2NTBcXHU5MDA2XFx1NEUxOFxcdTRFNDVcXHU0RUM3XFx1NEYxMVxcdTUzQ0FcXHU1NDM4XFx1NUJBRVxcdTVGMTNcXHU2MDI1XFx1NjU1MVxcdTY3M0RcXHU2QzQyXFx1NkM3MlxcdTZDRTNcXHU3MDc4XFx1NzQwM1xcdTdBNzZcXHU3QUFFXFx1N0IwOFxcdTdEMUFcXHU3Q0ZFXFx1N0Q2NlxcdTY1RTdcXHU3MjVCXFx1NTNCQlxcdTVDNDVcXHU1REU4XFx1NjJEMlxcdTYyRTBcXHU2MzE5XFx1NkUyMFxcdTg2NUFcXHU4QTMxXFx1OERERFxcdTkyRjhcXHU2RjAxXFx1NzlBNlxcdTlCNUFcXHU0RUE4XFx1NEVBQlxcdTRFQUNcIl0sXG4gICAgICBbXCJiNmExXCIsIFwiXFx1NEY5QlxcdTRGQTBcXHU1MEQxXFx1NTE0N1xcdTdBRjZcXHU1MTcxXFx1NTFGNlxcdTUzNTRcXHU1MzIxXFx1NTM3RlxcdTUzRUJcXHU1NUFDXFx1NTg4M1xcdTVDRTFcXHU1RjM3XFx1NUY0QVxcdTYwMkZcXHU2MDUwXFx1NjA2RFxcdTYzMUZcXHU2NTU5XFx1NkE0QlxcdTZDQzFcXHU3MkMyXFx1NzJFRFxcdTc3RUZcXHU4MEY4XFx1ODEwNVxcdTgyMDhcXHU4NTRFXFx1OTBGN1xcdTkzRTFcXHU5N0ZGXFx1OTk1N1xcdTlBNUFcXHU0RUYwXFx1NTFERFxcdTVDMkRcXHU2NjgxXFx1Njk2RFxcdTVDNDBcXHU2NkYyXFx1Njk3NVxcdTczODlcXHU2ODUwXFx1N0M4MVxcdTUwQzVcXHU1MkU0XFx1NTc0N1xcdTVERkVcXHU5MzI2XFx1NjVBNFxcdTZCMjNcXHU2QjNEXFx1NzQzNFxcdTc5ODFcXHU3OUJEXFx1N0I0QlxcdTdEQ0FcXHU4MkI5XFx1ODNDQ1xcdTg4N0ZcXHU4OTVGXFx1OEIzOVxcdThGRDFcXHU5MUQxXFx1NTQxRlxcdTkyODBcXHU0RTVEXFx1NTAzNlxcdTUzRTVcXHU1MzNBXFx1NzJEN1xcdTczOTZcXHU3N0U5XFx1ODJFNlxcdThFQUZcXHU5OUM2XFx1OTlDOFxcdTk5RDJcXHU1MTc3XFx1NjExQVxcdTg2NUVcXHU1NUIwXFx1N0E3QVxcdTUwNzZcXHU1QkQzXFx1OTA0N1xcdTk2ODVcXHU0RTMyXFx1NkFEQlxcdTkxRTdcXHU1QzUxXFx1NUM0OFwiXSxcbiAgICAgIFtcImI3YTFcIiwgXCJcXHU2Mzk4XFx1N0E5RlxcdTZDOTNcXHU5Nzc0XFx1OEY2MVxcdTdBQUFcXHU3MThBXFx1OTY4OFxcdTdDODJcXHU2ODE3XFx1N0U3MFxcdTY4NTFcXHU5MzZDXFx1NTJGMlxcdTU0MUJcXHU4NUFCXFx1OEExM1xcdTdGQTRcXHU4RUNEXFx1OTBFMVxcdTUzNjZcXHU4ODg4XFx1Nzk0MVxcdTRGQzJcXHU1MEJFXFx1NTIxMVxcdTUxNDRcXHU1NTUzXFx1NTcyRFxcdTczRUFcXHU1NzhCXFx1NTk1MVxcdTVGNjJcXHU1Rjg0XFx1NjA3NVxcdTYxNzZcXHU2MTY3XFx1NjFBOVxcdTYzQjJcXHU2NDNBXFx1NjU2Q1xcdTY2NkZcXHU2ODQyXFx1NkUxM1xcdTc1NjZcXHU3QTNEXFx1N0NGQlxcdTdENENcXHU3RDk5XFx1N0U0QlxcdTdGNkJcXHU4MzBFXFx1ODM0QVxcdTg2Q0RcXHU4QTA4XFx1OEE2M1xcdThCNjZcXHU4RUZEXFx1OTgxQVxcdTlEOEZcXHU4MkI4XFx1OEZDRVxcdTlCRThcXHU1Mjg3XFx1NjIxRlxcdTY0ODNcXHU2RkMwXFx1OTY5OVxcdTY4NDFcXHU1MDkxXFx1NkIyMFxcdTZDN0FcXHU2RjU0XFx1N0E3NFxcdTdENTBcXHU4ODQwXFx1OEEyM1xcdTY3MDhcXHU0RUY2XFx1NTAzOVxcdTUwMjZcXHU1MDY1XFx1NTE3Q1xcdTUyMzhcXHU1MjYzXFx1NTVBN1xcdTU3MEZcXHU1ODA1XFx1NUFDQ1xcdTVFRkFcXHU2MUIyXFx1NjFGOFxcdTYyRjNcXHU2MzcyXCJdLFxuICAgICAgW1wiYjhhMVwiLCBcIlxcdTY5MUNcXHU2QTI5XFx1NzI3RFxcdTcyQUNcXHU3MzJFXFx1NzgxNFxcdTc4NkZcXHU3RDc5XFx1NzcwQ1xcdTgwQTlcXHU4OThCXFx1OEIxOVxcdThDRTJcXHU4RUQyXFx1OTA2M1xcdTkzNzVcXHU5NjdBXFx1OTg1NVxcdTlBMTNcXHU5RTc4XFx1NTE0M1xcdTUzOUZcXHU1M0IzXFx1NUU3QlxcdTVGMjZcXHU2RTFCXFx1NkU5MFxcdTczODRcXHU3M0ZFXFx1N0Q0M1xcdTgyMzdcXHU4QTAwXFx1OEFGQVxcdTk2NTBcXHU0RTRFXFx1NTAwQlxcdTUzRTRcXHU1NDdDXFx1NTZGQVxcdTU5RDFcXHU1QjY0XFx1NURGMVxcdTVFQUJcXHU1RjI3XFx1NjIzOFxcdTY1NDVcXHU2N0FGXFx1NkU1NlxcdTcyRDBcXHU3Q0NBXFx1ODhCNFxcdTgwQTFcXHU4MEUxXFx1ODNGMFxcdTg2NEVcXHU4QTg3XFx1OERFOFxcdTkyMzdcXHU5NkM3XFx1OTg2N1xcdTlGMTNcXHU0RTk0XFx1NEU5MlxcdTRGMERcXHU1MzQ4XFx1NTQ0OVxcdTU0M0VcXHU1QTJGXFx1NUY4Q1xcdTVGQTFcXHU2MDlGXFx1NjhBN1xcdTZBOEVcXHU3NDVBXFx1Nzg4MVxcdThBOUVcXHU4QUE0XFx1OEI3N1xcdTkxOTBcXHU0RTVFXFx1OUJDOVxcdTRFQTRcXHU0RjdDXFx1NEZBRlxcdTUwMTlcXHU1MDE2XFx1NTE0OVxcdTUxNkNcXHU1MjlGXFx1NTJCOVxcdTUyRkVcXHU1MzlBXFx1NTNFM1xcdTU0MTFcIl0sXG4gICAgICBbXCJiOWExXCIsIFwiXFx1NTQwRVxcdTU1ODlcXHU1NzUxXFx1NTdBMlxcdTU5N0RcXHU1QjU0XFx1NUI1RFxcdTVCOEZcXHU1REU1XFx1NURFN1xcdTVERjdcXHU1RTc4XFx1NUU4M1xcdTVFOUFcXHU1RUI3XFx1NUYxOFxcdTYwNTJcXHU2MTRDXFx1NjI5N1xcdTYyRDhcXHU2M0E3XFx1NjUzQlxcdTY2MDJcXHU2NjQzXFx1NjZGNFxcdTY3NkRcXHU2ODIxXFx1Njg5N1xcdTY5Q0JcXHU2QzVGXFx1NkQyQVxcdTZENjlcXHU2RTJGXFx1NkU5RFxcdTc1MzJcXHU3Njg3XFx1Nzg2Q1xcdTdBM0ZcXHU3Q0UwXFx1N0QwNVxcdTdEMThcXHU3RDVFXFx1N0RCMVxcdTgwMTVcXHU4MDAzXFx1ODBBRlxcdTgwQjFcXHU4MTU0XFx1ODE4RlxcdTgyMkFcXHU4MzUyXFx1ODg0Q1xcdTg4NjFcXHU4QjFCXFx1OENBMlxcdThDRkNcXHU5MENBXFx1OTE3NVxcdTkyNzFcXHU3ODNGXFx1OTJGQ1xcdTk1QTRcXHU5NjREXFx1OTgwNVxcdTk5OTlcXHU5QUQ4XFx1OUQzQlxcdTUyNUJcXHU1MkFCXFx1NTNGN1xcdTU0MDhcXHU1OEQ1XFx1NjJGN1xcdTZGRTBcXHU4QzZBXFx1OEY1RlxcdTlFQjlcXHU1MTRCXFx1NTIzQlxcdTU0NEFcXHU1NkZEXFx1N0E0MFxcdTkxNzdcXHU5RDYwXFx1OUVEMlxcdTczNDRcXHU2RjA5XFx1ODE3MFxcdTc1MTFcXHU1RkZEXFx1NjBEQVxcdTlBQThcXHU3MkRCXFx1OEZCQ1wiXSxcbiAgICAgIFtcImJhYTFcIiwgXCJcXHU2QjY0XFx1OTgwM1xcdTRFQ0FcXHU1NkYwXFx1NTc2NFxcdTU4QkVcXHU1QTVBXFx1NjA2OFxcdTYxQzdcXHU2NjBGXFx1NjYwNlxcdTY4MzlcXHU2OEIxXFx1NkRGN1xcdTc1RDVcXHU3RDNBXFx1ODI2RVxcdTlCNDJcXHU0RTlCXFx1NEY1MFxcdTUzQzlcXHU1NTA2XFx1NUQ2RlxcdTVERTZcXHU1REVFXFx1NjdGQlxcdTZDOTlcXHU3NDczXFx1NzgwMlxcdThBNTBcXHU5Mzk2XFx1ODhERlxcdTU3NTBcXHU1RUE3XFx1NjMyQlxcdTUwQjVcXHU1MEFDXFx1NTE4RFxcdTY3MDBcXHU1NEM5XFx1NTg1RVxcdTU5QkJcXHU1QkIwXFx1NUY2OVxcdTYyNERcXHU2M0ExXFx1NjgzRFxcdTZCNzNcXHU2RTA4XFx1NzA3RFxcdTkxQzdcXHU3MjgwXFx1NzgxNVxcdTc4MjZcXHU3OTZEXFx1NjU4RVxcdTdEMzBcXHU4M0RDXFx1ODhDMVxcdThGMDlcXHU5NjlCXFx1NTI2NFxcdTU3MjhcXHU2NzUwXFx1N0Y2QVxcdThDQTFcXHU1MUI0XFx1NTc0MlxcdTk2MkFcXHU1ODNBXFx1Njk4QVxcdTgwQjRcXHU1NEIyXFx1NUQwRVxcdTU3RkNcXHU3ODk1XFx1OURGQVxcdTRGNUNcXHU1MjRBXFx1NTQ4QlxcdTY0M0VcXHU2NjI4XFx1NjcxNFxcdTY3RjVcXHU3QTg0XFx1N0I1NlxcdTdEMjJcXHU5MzJGXFx1Njg1Q1xcdTlCQURcXHU3QjM5XFx1NTMxOVxcdTUxOEFcXHU1MjM3XCJdLFxuICAgICAgW1wiYmJhMVwiLCBcIlxcdTVCREZcXHU2MkY2XFx1NjRBRVxcdTY0RTZcXHU2NzJEXFx1NkJCQVxcdTg1QTlcXHU5NkQxXFx1NzY5MFxcdTlCRDZcXHU2MzRDXFx1OTMwNlxcdTlCQUJcXHU3NkJGXFx1NjY1MlxcdTRFMDlcXHU1MDk4XFx1NTNDMlxcdTVDNzFcXHU2MEU4XFx1NjQ5MlxcdTY1NjNcXHU2ODVGXFx1NzFFNlxcdTczQ0FcXHU3NTIzXFx1N0I5N1xcdTdFODJcXHU4Njk1XFx1OEI4M1xcdThDREJcXHU5MTc4XFx1OTkxMFxcdTY1QUNcXHU2NkFCXFx1NkI4QlxcdTRFRDVcXHU0RUQ0XFx1NEYzQVxcdTRGN0ZcXHU1MjNBXFx1NTNGOFxcdTUzRjJcXHU1NUUzXFx1NTZEQlxcdTU4RUJcXHU1OUNCXFx1NTlDOVxcdTU5RkZcXHU1QjUwXFx1NUM0RFxcdTVFMDJcXHU1RTJCXFx1NUZEN1xcdTYwMURcXHU2MzA3XFx1NjUyRlxcdTVCNUNcXHU2NUFGXFx1NjVCRFxcdTY1RThcXHU2NzlEXFx1NkI2MlxcdTZCN0JcXHU2QzBGXFx1NzM0NVxcdTc5NDlcXHU3OUMxXFx1N0NGOFxcdTdEMTlcXHU3RDJCXFx1ODBBMlxcdTgxMDJcXHU4MUYzXFx1ODk5NlxcdThBNUVcXHU4QTY5XFx1OEE2NlxcdThBOENcXHU4QUVFXFx1OENDN1xcdThDRENcXHU5NkNDXFx1OThGQ1xcdTZCNkZcXHU0RThCXFx1NEYzQ1xcdTRGOERcXHU1MTUwXFx1NUI1N1xcdTVCRkFcXHU2MTQ4XFx1NjMwMVxcdTY2NDJcIl0sXG4gICAgICBbXCJiY2ExXCIsIFwiXFx1NkIyMVxcdTZFQ0JcXHU2Q0JCXFx1NzIzRVxcdTc0QkRcXHU3NUQ0XFx1NzhDMVxcdTc5M0FcXHU4MDBDXFx1ODAzM1xcdTgxRUFcXHU4NDk0XFx1OEY5RVxcdTZDNTBcXHU5RTdGXFx1NUYwRlxcdThCNThcXHU5RDJCXFx1N0FGQVxcdThFRjhcXHU1QjhEXFx1OTZFQlxcdTRFMDNcXHU1M0YxXFx1NTdGN1xcdTU5MzFcXHU1QUM5XFx1NUJBNFxcdTYwODlcXHU2RTdGXFx1NkYwNlxcdTc1QkVcXHU4Q0VBXFx1NUI5RlxcdTg1MDBcXHU3QkUwXFx1NTA3MlxcdTY3RjRcXHU4MjlEXFx1NUM2MVxcdTg1NEFcXHU3RTFFXFx1ODIwRVxcdTUxOTlcXHU1QzA0XFx1NjM2OFxcdThENjZcXHU2NTlDXFx1NzE2RVxcdTc5M0VcXHU3RDE3XFx1ODAwNVxcdThCMURcXHU4RUNBXFx1OTA2RVxcdTg2QzdcXHU5MEFBXFx1NTAxRlxcdTUyRkFcXHU1QzNBXFx1Njc1M1xcdTcwN0NcXHU3MjM1XFx1OTE0Q1xcdTkxQzhcXHU5MzJCXFx1ODJFNVxcdTVCQzJcXHU1RjMxXFx1NjBGOVxcdTRFM0JcXHU1M0Q2XFx1NUI4OFxcdTYyNEJcXHU2NzMxXFx1NkI4QVxcdTcyRTlcXHU3M0UwXFx1N0EyRVxcdTgxNkJcXHU4REEzXFx1OTE1MlxcdTk5OTZcXHU1MTEyXFx1NTNEN1xcdTU0NkFcXHU1QkZGXFx1NjM4OFxcdTZBMzlcXHU3REFDXFx1OTcwMFxcdTU2REFcXHU1M0NFXFx1NTQ2OFwiXSxcbiAgICAgIFtcImJkYTFcIiwgXCJcXHU1Qjk3XFx1NUMzMVxcdTVEREVcXHU0RkVFXFx1NjEwMVxcdTYyRkVcXHU2RDMyXFx1NzlDMFxcdTc5Q0JcXHU3RDQyXFx1N0U0RFxcdTdGRDJcXHU4MUVEXFx1ODIxRlxcdTg0OTBcXHU4ODQ2XFx1ODk3MlxcdThCOTBcXHU4RTc0XFx1OEYyRlxcdTkwMzFcXHU5MTRCXFx1OTE2Q1xcdTk2QzZcXHU5MTlDXFx1NEVDMFxcdTRGNEZcXHU1MTQ1XFx1NTM0MVxcdTVGOTNcXHU2MjBFXFx1NjdENFxcdTZDNDFcXHU2RTBCXFx1NzM2M1xcdTdFMjZcXHU5MUNEXFx1OTI4M1xcdTUzRDRcXHU1OTE5XFx1NUJCRlxcdTZERDFcXHU3OTVEXFx1N0UyRVxcdTdDOUJcXHU1ODdFXFx1NzE5RlxcdTUxRkFcXHU4ODUzXFx1OEZGMFxcdTRGQ0FcXHU1Q0ZCXFx1NjYyNVxcdTc3QUNcXHU3QUUzXFx1ODIxQ1xcdTk5RkZcXHU1MUM2XFx1NUZBQVxcdTY1RUNcXHU2OTZGXFx1NkI4OVxcdTZERjNcXHU2RTk2XFx1NkY2NFxcdTc2RkVcXHU3RDE0XFx1NURFMVxcdTkwNzVcXHU5MTg3XFx1OTgwNlxcdTUxRTZcXHU1MjFEXFx1NjI0MFxcdTY2OTFcXHU2NkQ5XFx1NkUxQVxcdTVFQjZcXHU3REQyXFx1N0Y3MlxcdTY2RjhcXHU4NUFGXFx1ODVGN1xcdThBRjhcXHU1MkE5XFx1NTNEOVxcdTU5NzNcXHU1RThGXFx1NUY5MFxcdTYwNTVcXHU5MkU0XFx1OTY2NFxcdTUwQjdcXHU1MTFGXCJdLFxuICAgICAgW1wiYmVhMVwiLCBcIlxcdTUyRERcXHU1MzIwXFx1NTM0N1xcdTUzRUNcXHU1NEU4XFx1NTU0NlxcdTU1MzFcXHU1NjE3XFx1NTk2OFxcdTU5QkVcXHU1QTNDXFx1NUJCNVxcdTVDMDZcXHU1QzBGXFx1NUMxMVxcdTVDMUFcXHU1RTg0XFx1NUU4QVxcdTVFRTBcXHU1RjcwXFx1NjI3RlxcdTYyODRcXHU2MkRCXFx1NjM4Q1xcdTYzNzdcXHU2NjA3XFx1NjYwQ1xcdTY2MkRcXHU2Njc2XFx1Njc3RVxcdTY4QTJcXHU2QTFGXFx1NkEzNVxcdTZDQkNcXHU2RDg4XFx1NkUwOVxcdTZFNThcXHU3MTNDXFx1NzEyNlxcdTcxNjdcXHU3NUM3XFx1NzcwMVxcdTc4NURcXHU3OTAxXFx1Nzk2NVxcdTc5RjBcXHU3QUUwXFx1N0IxMVxcdTdDQTdcXHU3RDM5XFx1ODA5NlxcdTgzRDZcXHU4NDhCXFx1ODU0OVxcdTg4NURcXHU4OEYzXFx1OEExRlxcdThBM0NcXHU4QTU0XFx1OEE3M1xcdThDNjFcXHU4Q0RFXFx1OTFBNFxcdTkyNjZcXHU5MzdFXFx1OTQxOFxcdTk2OUNcXHU5Nzk4XFx1NEUwQVxcdTRFMDhcXHU0RTFFXFx1NEU1N1xcdTUxOTdcXHU1MjcwXFx1NTdDRVxcdTU4MzRcXHU1OENDXFx1NUIyMlxcdTVFMzhcXHU2MEM1XFx1NjRGRVxcdTY3NjFcXHU2NzU2XFx1NkQ0NFxcdTcyQjZcXHU3NTczXFx1N0E2M1xcdTg0QjhcXHU4QjcyXFx1OTFCOFxcdTkzMjBcXHU1NjMxXFx1NTdGNFxcdTk4RkVcIl0sXG4gICAgICBbXCJiZmExXCIsIFwiXFx1NjJFRFxcdTY5MERcXHU2Qjk2XFx1NzFFRFxcdTdFNTRcXHU4MDc3XFx1ODI3MlxcdTg5RTZcXHU5OERGXFx1ODc1NVxcdThGQjFcXHU1QzNCXFx1NEYzOFxcdTRGRTFcXHU0RkI1XFx1NTUwN1xcdTVBMjBcXHU1QkREXFx1NUJFOVxcdTVGQzNcXHU2MTRFXFx1NjMyRlxcdTY1QjBcXHU2NjRCXFx1NjhFRVxcdTY5OUJcXHU2RDc4XFx1NkRGMVxcdTc1MzNcXHU3NUI5XFx1NzcxRlxcdTc5NUVcXHU3OUU2XFx1N0QzM1xcdTgxRTNcXHU4MkFGXFx1ODVBQVxcdTg5QUFcXHU4QTNBXFx1OEVBQlxcdThGOUJcXHU5MDMyXFx1OTFERFxcdTk3MDdcXHU0RUJBXFx1NEVDMVxcdTUyMDNcXHU1ODc1XFx1NThFQ1xcdTVDMEJcXHU3NTFBXFx1NUMzRFxcdTgxNEVcXHU4QTBBXFx1OEZDNVxcdTk2NjNcXHU5NzZEXFx1N0IyNVxcdThBQ0ZcXHU5ODA4XFx1OTE2MlxcdTU2RjNcXHU1M0E4XFx1OTAxN1xcdTU0MzlcXHU1NzgyXFx1NUUyNVxcdTYzQThcXHU2QzM0XFx1NzA4QVxcdTc3NjFcXHU3QzhCXFx1N0ZFMFxcdTg4NzBcXHU5MDQyXFx1OTE1NFxcdTkzMTBcXHU5MzE4XFx1OTY4RlxcdTc0NUVcXHU5QUM0XFx1NUQwN1xcdTVENjlcXHU2NTcwXFx1NjdBMlxcdThEQThcXHU5NkRCXFx1NjM2RVxcdTY3NDlcXHU2OTE5XFx1ODNDNVxcdTk4MTdcXHU5NkMwXFx1ODhGRVwiXSxcbiAgICAgIFtcImMwYTFcIiwgXCJcXHU2Rjg0XFx1NjQ3QVxcdTVCRjhcXHU0RTE2XFx1NzAyQ1xcdTc1NURcXHU2NjJGXFx1NTFDNFxcdTUyMzZcXHU1MkUyXFx1NTlEM1xcdTVGODFcXHU2MDI3XFx1NjIxMFxcdTY1M0ZcXHU2NTc0XFx1NjYxRlxcdTY2NzRcXHU2OEYyXFx1NjgxNlxcdTZCNjNcXHU2RTA1XFx1NzI3MlxcdTc1MUZcXHU3NkRCXFx1N0NCRVxcdTgwNTZcXHU1OEYwXFx1ODhGRFxcdTg5N0ZcXHU4QUEwXFx1OEE5M1xcdThBQ0JcXHU5MDFEXFx1OTE5MlxcdTk3NTJcXHU5NzU5XFx1NjU4OVxcdTdBMEVcXHU4MTA2XFx1OTZCQlxcdTVFMkRcXHU2MERDXFx1NjIxQVxcdTY1QTVcXHU2NjE0XFx1Njc5MFxcdTc3RjNcXHU3QTREXFx1N0M0RFxcdTdFM0VcXHU4MTBBXFx1OENBQ1xcdThENjRcXHU4REUxXFx1OEU1RlxcdTc4QTlcXHU1MjA3XFx1NjJEOVxcdTYzQTVcXHU2NDQyXFx1NjI5OFxcdThBMkRcXHU3QTgzXFx1N0JDMFxcdThBQUNcXHU5NkVBXFx1N0Q3NlxcdTgyMENcXHU4NzQ5XFx1NEVEOVxcdTUxNDhcXHU1MzQzXFx1NTM2MFxcdTVCQTNcXHU1QzAyXFx1NUMxNlxcdTVERERcXHU2MjI2XFx1NjI0N1xcdTY0QjBcXHU2ODEzXFx1NjgzNFxcdTZDQzlcXHU2RDQ1XFx1NkQxN1xcdTY3RDNcXHU2RjVDXFx1NzE0RVxcdTcxN0RcXHU2NUNCXFx1N0E3RlxcdTdCQURcXHU3RERBXCJdLFxuICAgICAgW1wiYzFhMVwiLCBcIlxcdTdFNEFcXHU3RkE4XFx1ODE3QVxcdTgyMUJcXHU4MjM5XFx1ODVBNlxcdThBNkVcXHU4Q0NFXFx1OERGNVxcdTkwNzhcXHU5MDc3XFx1OTJBRFxcdTkyOTFcXHU5NTgzXFx1OUJBRVxcdTUyNERcXHU1NTg0XFx1NkYzOFxcdTcxMzZcXHU1MTY4XFx1Nzk4NVxcdTdFNTVcXHU4MUIzXFx1N0NDRVxcdTU2NENcXHU1ODUxXFx1NUNBOFxcdTYzQUFcXHU2NkZFXFx1NjZGRFxcdTY5NUFcXHU3MkQ5XFx1NzU4RlxcdTc1OEVcXHU3OTBFXFx1Nzk1NlxcdTc5REZcXHU3Qzk3XFx1N0QyMFxcdTdENDRcXHU4NjA3XFx1OEEzNFxcdTk2M0JcXHU5MDYxXFx1OUYyMFxcdTUwRTdcXHU1Mjc1XFx1NTNDQ1xcdTUzRTJcXHU1MDA5XFx1NTVBQVxcdTU4RUVcXHU1OTRGXFx1NzIzRFxcdTVCOEJcXHU1QzY0XFx1NTMxRFxcdTYwRTNcXHU2MEYzXFx1NjM1Q1xcdTYzODNcXHU2MzNGXFx1NjNCQlxcdTY0Q0RcXHU2NUU5XFx1NjZGOVxcdTVERTNcXHU2OUNEXFx1NjlGRFxcdTZGMTVcXHU3MUU1XFx1NEU4OVxcdTc1RTlcXHU3NkY4XFx1N0E5M1xcdTdDREZcXHU3RENGXFx1N0Q5Q1xcdTgwNjFcXHU4MzQ5XFx1ODM1OFxcdTg0NkNcXHU4NEJDXFx1ODVGQlxcdTg4QzVcXHU4RDcwXFx1OTAwMVxcdTkwNkRcXHU5Mzk3XFx1OTcxQ1xcdTlBMTJcXHU1MENGXFx1NTg5N1xcdTYxOEVcIl0sXG4gICAgICBbXCJjMmExXCIsIFwiXFx1ODFEM1xcdTg1MzVcXHU4RDA4XFx1OTAyMFxcdTRGQzNcXHU1MDc0XFx1NTI0N1xcdTUzNzNcXHU2MDZGXFx1NjM0OVxcdTY3NUZcXHU2RTJDXFx1OERCM1xcdTkwMUZcXHU0RkQ3XFx1NUM1RVxcdThDQ0FcXHU2NUNGXFx1N0Q5QVxcdTUzNTJcXHU4ODk2XFx1NTE3NlxcdTYzQzNcXHU1QjU4XFx1NUI2QlxcdTVDMEFcXHU2NDBEXFx1Njc1MVxcdTkwNUNcXHU0RUQ2XFx1NTkxQVxcdTU5MkFcXHU2QzcwXFx1OEE1MVxcdTU1M0VcXHU1ODE1XFx1NTlBNVxcdTYwRjBcXHU2MjUzXFx1NjdDMVxcdTgyMzVcXHU2OTU1XFx1OTY0MFxcdTk5QzRcXHU5QTI4XFx1NEY1M1xcdTU4MDZcXHU1QkZFXFx1ODAxMFxcdTVDQjFcXHU1RTJGXFx1NUY4NVxcdTYwMjBcXHU2MTRCXFx1NjIzNFxcdTY2RkZcXHU2Q0YwXFx1NkVERVxcdTgwQ0VcXHU4MTdGXFx1ODJENFxcdTg4OEJcXHU4Q0I4XFx1OTAwMFxcdTkwMkVcXHU5NjhBXFx1OUVEQlxcdTlCREJcXHU0RUUzXFx1NTNGMFxcdTU5MjdcXHU3QjJDXFx1OTE4RFxcdTk4NENcXHU5REY5XFx1NkVERFxcdTcwMjdcXHU1MzUzXFx1NTU0NFxcdTVCODVcXHU2MjU4XFx1NjI5RVxcdTYyRDNcXHU2Q0EyXFx1NkZFRlxcdTc0MjJcXHU4QTE3XFx1OTQzOFxcdTZGQzFcXHU4QUZFXFx1ODMzOFxcdTUxRTdcXHU4NkY4XFx1NTNFQVwiXSxcbiAgICAgIFtcImMzYTFcIiwgXCJcXHU1M0U5XFx1NEY0NlxcdTkwNTRcXHU4RkIwXFx1NTk2QVxcdTgxMzFcXHU1REZEXFx1N0FFQVxcdThGQkZcXHU2OERBXFx1OEMzN1xcdTcyRjhcXHU5QzQ4XFx1NkEzRFxcdThBQjBcXHU0RTM5XFx1NTM1OFxcdTU2MDZcXHU1NzY2XFx1NjJDNVxcdTYzQTJcXHU2NUU2XFx1NkI0RVxcdTZERTFcXHU2RTVCXFx1NzBBRFxcdTc3RURcXHU3QUVGXFx1N0JBQVxcdTdEQkJcXHU4MDNEXFx1ODBDNlxcdTg2Q0JcXHU4QTk1XFx1OTM1QlxcdTU2RTNcXHU1OEM3XFx1NUYzRVxcdTY1QURcXHU2Njk2XFx1NkE4MFxcdTZCQjVcXHU3NTM3XFx1OEFDN1xcdTUwMjRcXHU3N0U1XFx1NTczMFxcdTVGMUJcXHU2MDY1XFx1NjY3QVxcdTZDNjBcXHU3NUY0XFx1N0ExQVxcdTdGNkVcXHU4MUY0XFx1ODcxOFxcdTkwNDVcXHU5OUIzXFx1N0JDOVxcdTc1NUNcXHU3QUY5XFx1N0I1MVxcdTg0QzRcXHU5MDEwXFx1NzlFOVxcdTdBOTJcXHU4MzM2XFx1NUFFMVxcdTc3NDBcXHU0RTJEXFx1NEVGMlxcdTVCOTlcXHU1RkUwXFx1NjJCRFxcdTY2M0NcXHU2N0YxXFx1NkNFOFxcdTg2NkJcXHU4ODc3XFx1OEEzQlxcdTkxNEVcXHU5MkYzXFx1OTlEMFxcdTZBMTdcXHU3MDI2XFx1NzMyQVxcdTgyRTdcXHU4NDU3XFx1OENBRlxcdTRFMDFcXHU1MTQ2XFx1NTFDQlxcdTU1OEJcXHU1QkY1XCJdLFxuICAgICAgW1wiYzRhMVwiLCBcIlxcdTVFMTZcXHU1RTMzXFx1NUU4MVxcdTVGMTRcXHU1RjM1XFx1NUY2QlxcdTVGQjRcXHU2MUYyXFx1NjMxMVxcdTY2QTJcXHU2NzFEXFx1NkY2RVxcdTcyNTJcXHU3NTNBXFx1NzczQVxcdTgwNzRcXHU4MTM5XFx1ODE3OFxcdTg3NzZcXHU4QUJGXFx1OEFEQ1xcdThEODVcXHU4REYzXFx1OTI5QVxcdTk1NzdcXHU5ODAyXFx1OUNFNVxcdTUyQzVcXHU2MzU3XFx1NzZGNFxcdTY3MTVcXHU2Qzg4XFx1NzNDRFxcdThDQzNcXHU5M0FFXFx1OTY3M1xcdTZEMjVcXHU1ODlDXFx1NjkwRVxcdTY5Q0NcXHU4RkZEXFx1OTM5QVxcdTc1REJcXHU5MDFBXFx1NTg1QVxcdTY4MDJcXHU2M0I0XFx1NjlGQlxcdTRGNDNcXHU2RjJDXFx1NjdEOFxcdThGQkJcXHU4NTI2XFx1N0RCNFxcdTkzNTRcXHU2OTNGXFx1NkY3MFxcdTU3NkFcXHU1OEY3XFx1NUIyQ1xcdTdEMkNcXHU3MjJBXFx1NTQwQVxcdTkxRTNcXHU5REI0XFx1NEVBRFxcdTRGNEVcXHU1MDVDXFx1NTA3NVxcdTUyNDNcXHU4QzlFXFx1NTQ0OFxcdTU4MjRcXHU1QjlBXFx1NUUxRFxcdTVFOTVcXHU1RUFEXFx1NUVGN1xcdTVGMUZcXHU2MDhDXFx1NjJCNVxcdTYzM0FcXHU2M0QwXFx1NjhBRlxcdTZDNDBcXHU3ODg3XFx1Nzk4RVxcdTdBMEJcXHU3REUwXFx1ODI0N1xcdThBMDJcXHU4QUU2XFx1OEU0NFxcdTkwMTNcIl0sXG4gICAgICBbXCJjNWExXCIsIFwiXFx1OTBCOFxcdTkxMkRcXHU5MUQ4XFx1OUYwRVxcdTZDRTVcXHU2NDU4XFx1NjRFMlxcdTY1NzVcXHU2RUY0XFx1NzY4NFxcdTdCMUJcXHU5MDY5XFx1OTNEMVxcdTZFQkFcXHU1NEYyXFx1NUZCOVxcdTY0QTRcXHU4RjREXFx1OEZFRFxcdTkyNDRcXHU1MTc4XFx1NTg2QlxcdTU5MjlcXHU1QzU1XFx1NUU5N1xcdTZERkJcXHU3RThGXFx1NzUxQ1xcdThDQkNcXHU4RUUyXFx1OTg1QlxcdTcwQjlcXHU0RjFEXFx1NkJCRlxcdTZGQjFcXHU3NTMwXFx1OTZGQlxcdTUxNEVcXHU1NDEwXFx1NTgzNVxcdTU4NTdcXHU1OUFDXFx1NUM2MFxcdTVGOTJcXHU2NTk3XFx1Njc1Q1xcdTZFMjFcXHU3NjdCXFx1ODNERlxcdThDRURcXHU5MDE0XFx1OTBGRFxcdTkzNERcXHU3ODI1XFx1NzgzQVxcdTUyQUFcXHU1RUE2XFx1NTcxRlxcdTU5NzRcXHU2MDEyXFx1NTAxMlxcdTUxNUFcXHU1MUFDXFx1NTFDRFxcdTUyMDBcXHU1NTEwXFx1NTg1NFxcdTU4NThcXHU1OTU3XFx1NUI5NVxcdTVDRjZcXHU1RDhCXFx1NjBCQ1xcdTYyOTVcXHU2NDJEXFx1Njc3MVxcdTY4NDNcXHU2OEJDXFx1NjhERlxcdTc2RDdcXHU2REQ4XFx1NkU2RlxcdTZEOUJcXHU3MDZGXFx1NzFDOFxcdTVGNTNcXHU3NUQ4XFx1Nzk3N1xcdTdCNDlcXHU3QjU0XFx1N0I1MlxcdTdDRDZcXHU3RDcxXFx1NTIzMFwiXSxcbiAgICAgIFtcImM2YTFcIiwgXCJcXHU4NDYzXFx1ODU2OVxcdTg1RTRcXHU4QTBFXFx1OEIwNFxcdThDNDZcXHU4RTBGXFx1OTAwM1xcdTkwMEZcXHU5NDE5XFx1OTY3NlxcdTk4MkRcXHU5QTMwXFx1OTVEOFxcdTUwQ0RcXHU1MkQ1XFx1NTQwQ1xcdTU4MDJcXHU1QzBFXFx1NjFBN1xcdTY0OUVcXHU2RDFFXFx1NzdCM1xcdTdBRTVcXHU4MEY0XFx1ODQwNFxcdTkwNTNcXHU5Mjg1XFx1NUNFMFxcdTlEMDdcXHU1MzNGXFx1NUY5N1xcdTVGQjNcXHU2RDlDXFx1NzI3OVxcdTc3NjNcXHU3OUJGXFx1N0JFNFxcdTZCRDJcXHU3MkVDXFx1OEFBRFxcdTY4MDNcXHU2QTYxXFx1NTFGOFxcdTdBODFcXHU2OTM0XFx1NUM0QVxcdTlDRjZcXHU4MkVCXFx1NUJDNVxcdTkxNDlcXHU3MDFFXFx1NTY3OFxcdTVDNkZcXHU2MEM3XFx1NjU2NlxcdTZDOENcXHU4QzVBXFx1OTA0MVxcdTk4MTNcXHU1NDUxXFx1NjZDN1xcdTkyMERcXHU1OTQ4XFx1OTBBM1xcdTUxODVcXHU0RTREXFx1NTFFQVxcdTg1OTlcXHU4QjBFXFx1NzA1OFxcdTYzN0FcXHU5MzRCXFx1Njk2MlxcdTk5QjRcXHU3RTA0XFx1NzU3N1xcdTUzNTdcXHU2OTYwXFx1OEVERlxcdTk2RTNcXHU2QzVEXFx1NEU4Q1xcdTVDM0NcXHU1RjEwXFx1OEZFOVxcdTUzMDJcXHU4Q0QxXFx1ODA4OVxcdTg2NzlcXHU1RUZGXFx1NjVFNVxcdTRFNzNcXHU1MTY1XCJdLFxuICAgICAgW1wiYzdhMVwiLCBcIlxcdTU5ODJcXHU1QzNGXFx1OTdFRVxcdTRFRkJcXHU1OThBXFx1NUZDRFxcdThBOERcXHU2RkUxXFx1NzlCMFxcdTc5NjJcXHU1QkU3XFx1ODQ3MVxcdTczMkJcXHU3MUIxXFx1NUU3NFxcdTVGRjVcXHU2MzdCXFx1NjQ5QVxcdTcxQzNcXHU3Qzk4XFx1NEU0M1xcdTVFRkNcXHU0RTRCXFx1NTdEQ1xcdTU2QTJcXHU2MEE5XFx1NkZDM1xcdTdEMERcXHU4MEZEXFx1ODEzM1xcdTgxQkZcXHU4RkIyXFx1ODk5N1xcdTg2QTRcXHU1REY0XFx1NjI4QVxcdTY0QURcXHU4OTg3XFx1Njc3N1xcdTZDRTJcXHU2RDNFXFx1NzQzNlxcdTc4MzRcXHU1QTQ2XFx1N0Y3NVxcdTgyQURcXHU5OUFDXFx1NEZGM1xcdTVFQzNcXHU2MkREXFx1NjM5MlxcdTY1NTdcXHU2NzZGXFx1NzZDM1xcdTcyNENcXHU4MENDXFx1ODBCQVxcdThGMjlcXHU5MTREXFx1NTAwRFxcdTU3RjlcXHU1QTkyXFx1Njg4NVxcdTY5NzNcXHU3MTY0XFx1NzJGRFxcdThDQjdcXHU1OEYyXFx1OENFMFxcdTk2NkFcXHU5MDE5XFx1ODc3RlxcdTc5RTRcXHU3N0U3XFx1ODQyOVxcdTRGMkZcXHU1MjY1XFx1NTM1QVxcdTYyQ0RcXHU2N0NGXFx1NkNDQVxcdTc2N0RcXHU3Qjk0XFx1N0M5NVxcdTgyMzZcXHU4NTg0XFx1OEZFQlxcdTY2RERcXHU2RjIwXFx1NzIwNlxcdTdFMUJcXHU4M0FCXFx1OTlDMVxcdTlFQTZcIl0sXG4gICAgICBbXCJjOGExXCIsIFwiXFx1NTFGRFxcdTdCQjFcXHU3ODcyXFx1N0JCOFxcdTgwODdcXHU3QjQ4XFx1NkFFOFxcdTVFNjFcXHU4MDhDXFx1NzU1MVxcdTc1NjBcXHU1MTZCXFx1OTI2MlxcdTZFOENcXHU3NjdBXFx1OTE5N1xcdTlBRUFcXHU0RjEwXFx1N0Y3MFxcdTYyOUNcXHU3QjRGXFx1OTVBNVxcdTlDRTlcXHU1NjdBXFx1NTg1OVxcdTg2RTRcXHU5NkJDXFx1NEYzNFxcdTUyMjRcXHU1MzRBXFx1NTNDRFxcdTUzREJcXHU1RTA2XFx1NjQyQ1xcdTY1OTFcXHU2NzdGXFx1NkMzRVxcdTZDNEVcXHU3MjQ4XFx1NzJBRlxcdTczRURcXHU3NTU0XFx1N0U0MVxcdTgyMkNcXHU4NUU5XFx1OENBOVxcdTdCQzRcXHU5MUM2XFx1NzE2OVxcdTk4MTJcXHU5OEVGXFx1NjMzRFxcdTY2NjlcXHU3NTZBXFx1NzZFNFxcdTc4RDBcXHU4NTQzXFx1ODZFRVxcdTUzMkFcXHU1MzUxXFx1NTQyNlxcdTU5ODNcXHU1RTg3XFx1NUY3Q1xcdTYwQjJcXHU2MjQ5XFx1NjI3OVxcdTYyQUJcXHU2NTkwXFx1NkJENFxcdTZDQ0NcXHU3NUIyXFx1NzZBRVxcdTc4OTFcXHU3OUQ4XFx1N0RDQlxcdTdGNzdcXHU4MEE1XFx1ODhBQlxcdThBQjlcXHU4Q0JCXFx1OTA3RlxcdTk3NUVcXHU5OERCXFx1NkEwQlxcdTdDMzhcXHU1MDk5XFx1NUMzRVxcdTVGQUVcXHU2Nzg3XFx1NkJEOFxcdTc0MzVcXHU3NzA5XFx1N0Y4RVwiXSxcbiAgICAgIFtcImM5YTFcIiwgXCJcXHU5RjNCXFx1NjdDQVxcdTdBMTdcXHU1MzM5XFx1NzU4QlxcdTlBRURcXHU1RjY2XFx1ODE5RFxcdTgzRjFcXHU4MDk4XFx1NUYzQ1xcdTVGQzVcXHU3NTYyXFx1N0I0NlxcdTkwM0NcXHU2ODY3XFx1NTlFQlxcdTVBOUJcXHU3RDEwXFx1NzY3RVxcdThCMkNcXHU0RkY1XFx1NUY2QVxcdTZBMTlcXHU2QzM3XFx1NkYwMlxcdTc0RTJcXHU3OTY4XFx1ODg2OFxcdThBNTVcXHU4Qzc5XFx1NUVERlxcdTYzQ0ZcXHU3NUM1XFx1NzlEMlxcdTgyRDdcXHU5MzI4XFx1OTJGMlxcdTg0OUNcXHU4NkVEXFx1OUMyRFxcdTU0QzFcXHU1RjZDXFx1NjU4Q1xcdTZENUNcXHU3MDE1XFx1OENBN1xcdThDRDNcXHU5ODNCXFx1NjU0RlxcdTc0RjZcXHU0RTBEXFx1NEVEOFxcdTU3RTBcXHU1OTJCXFx1NUE2NlxcdTVCQ0NcXHU1MUE4XFx1NUUwM1xcdTVFOUNcXHU2MDE2XFx1NjI3NlxcdTY1NzdcXHU2NUE3XFx1NjY2RVxcdTZENkVcXHU3MjM2XFx1N0IyNlxcdTgxNTBcXHU4MTlBXFx1ODI5OVxcdThCNUNcXHU4Q0EwXFx1OENFNlxcdThENzRcXHU5NjFDXFx1OTY0NFxcdTRGQUVcXHU2NEFCXFx1NkI2NlxcdTgyMUVcXHU4NDYxXFx1ODU2QVxcdTkwRThcXHU1QzAxXFx1Njk1M1xcdTk4QThcXHU4NDdBXFx1ODU1N1xcdTRGMEZcXHU1MjZGXFx1NUZBOVxcdTVFNDVcXHU2NzBEXCJdLFxuICAgICAgW1wiY2FhMVwiLCBcIlxcdTc5OEZcXHU4MTc5XFx1ODkwN1xcdTg5ODZcXHU2REY1XFx1NUYxN1xcdTYyNTVcXHU2Q0I4XFx1NEVDRlxcdTcyNjlcXHU5QjkyXFx1NTIwNlxcdTU0M0JcXHU1Njc0XFx1NThCM1xcdTYxQTRcXHU2MjZFXFx1NzExQVxcdTU5NkVcXHU3Qzg5XFx1N0NERVxcdTdEMUJcXHU5NkYwXFx1NjU4N1xcdTgwNUVcXHU0RTE5XFx1NEY3NVxcdTUxNzVcXHU1ODQwXFx1NUU2M1xcdTVFNzNcXHU1RjBBXFx1NjdDNFxcdTRFMjZcXHU4NTNEXFx1OTU4OVxcdTk2NUJcXHU3QzczXFx1OTgwMVxcdTUwRkJcXHU1OEMxXFx1NzY1NlxcdTc4QTdcXHU1MjI1XFx1NzdBNVxcdTg1MTFcXHU3Qjg2XFx1NTA0RlxcdTU5MDlcXHU3MjQ3XFx1N0JDN1xcdTdERThcXHU4RkJBXFx1OEZENFxcdTkwNERcXHU0RkJGXFx1NTJDOVxcdTVBMjlcXHU1RjAxXFx1OTdBRFxcdTRGRERcXHU4MjE3XFx1OTJFQVxcdTU3MDNcXHU2MzU1XFx1NkI2OVxcdTc1MkJcXHU4OERDXFx1OEYxNFxcdTdBNDJcXHU1MkRGXFx1NTg5M1xcdTYxNTVcXHU2MjBBXFx1NjZBRVxcdTZCQ0RcXHU3QzNGXFx1ODNFOVxcdTUwMjNcXHU0RkY4XFx1NTMwNVxcdTU0NDZcXHU1ODMxXFx1NTk0OVxcdTVCOURcXHU1Q0YwXFx1NUNFRlxcdTVEMjlcXHU1RTk2XFx1NjJCMVxcdTYzNjdcXHU2NTNFXFx1NjVCOVxcdTY3MEJcIl0sXG4gICAgICBbXCJjYmExXCIsIFwiXFx1NkNENVxcdTZDRTFcXHU3MEY5XFx1NzgzMlxcdTdFMkJcXHU4MERFXFx1ODJCM1xcdTg0MENcXHU4NEVDXFx1ODcwMlxcdTg5MTJcXHU4QTJBXFx1OEM0QVxcdTkwQTZcXHU5MkQyXFx1OThGRFxcdTlDRjNcXHU5RDZDXFx1NEU0RlxcdTRFQTFcXHU1MDhEXFx1NTI1NlxcdTU3NEFcXHU1OUE4XFx1NUUzRFxcdTVGRDhcXHU1RkQ5XFx1NjIzRlxcdTY2QjRcXHU2NzFCXFx1NjdEMFxcdTY4RDJcXHU1MTkyXFx1N0QyMVxcdTgwQUFcXHU4MUE4XFx1OEIwMFxcdThDOENcXHU4Q0JGXFx1OTI3RVxcdTk2MzJcXHU1NDIwXFx1OTgyQ1xcdTUzMTdcXHU1MEQ1XFx1NTM1Q1xcdTU4QThcXHU2NEIyXFx1NjczNFxcdTcyNjdcXHU3NzY2XFx1N0E0NlxcdTkxRTZcXHU1MkMzXFx1NkNBMVxcdTZCODZcXHU1ODAwXFx1NUU0Q1xcdTU5NTRcXHU2NzJDXFx1N0ZGQlxcdTUxRTFcXHU3NkM2XFx1NjQ2OVxcdTc4RThcXHU5QjU0XFx1OUVCQlxcdTU3Q0JcXHU1OUI5XFx1NjYyN1xcdTY3OUFcXHU2QkNFXFx1NTRFOVxcdTY5RDlcXHU1RTU1XFx1ODE5Q1xcdTY3OTVcXHU5QkFBXFx1NjdGRVxcdTlDNTJcXHU2ODVEXFx1NEVBNlxcdTRGRTNcXHU1M0M4XFx1NjJCOVxcdTY3MkJcXHU2Q0FCXFx1OEZDNFxcdTRGQURcXHU3RTZEXFx1OUVCRlxcdTRFMDdcXHU2MTYyXFx1NkU4MFwiXSxcbiAgICAgIFtcImNjYTFcIiwgXCJcXHU2RjJCXFx1ODUxM1xcdTU0NzNcXHU2NzJBXFx1OUI0NVxcdTVERjNcXHU3Qjk1XFx1NUNBQ1xcdTVCQzZcXHU4NzFDXFx1NkU0QVxcdTg0RDFcXHU3QTE0XFx1ODEwOFxcdTU5OTlcXHU3QzhEXFx1NkMxMVxcdTc3MjBcXHU1MkQ5XFx1NTkyMlxcdTcxMjFcXHU3MjVGXFx1NzdEQlxcdTk3MjdcXHU5RDYxXFx1NjkwQlxcdTVBN0ZcXHU1QTE4XFx1NTFBNVxcdTU0MERcXHU1NDdEXFx1NjYwRVxcdTc2REZcXHU4RkY3XFx1OTI5OFxcdTlDRjRcXHU1OUVBXFx1NzI1RFxcdTZFQzVcXHU1MTREXFx1NjhDOVxcdTdEQkZcXHU3REVDXFx1OTc2MlxcdTlFQkFcXHU2NDc4XFx1NkEyMVxcdTgzMDJcXHU1OTg0XFx1NUI1RlxcdTZCREJcXHU3MzFCXFx1NzZGMlxcdTdEQjJcXHU4MDE3XFx1ODQ5OVxcdTUxMzJcXHU2NzI4XFx1OUVEOVxcdTc2RUVcXHU2NzYyXFx1NTJGRlxcdTk5MDVcXHU1QzI0XFx1NjIzQlxcdTdDN0VcXHU4Q0IwXFx1NTU0RlxcdTYwQjZcXHU3RDBCXFx1OTU4MFxcdTUzMDFcXHU0RTVGXFx1NTFCNlxcdTU5MUNcXHU3MjNBXFx1ODAzNlxcdTkxQ0VcXHU1RjI1XFx1NzdFMlxcdTUzODRcXHU1Rjc5XFx1N0QwNFxcdTg1QUNcXHU4QTMzXFx1OEU4RFxcdTk3NTZcXHU2N0YzXFx1ODVBRVxcdTk0NTNcXHU2MTA5XFx1NjEwOFxcdTZDQjlcXHU3NjUyXCJdLFxuICAgICAgW1wiY2RhMVwiLCBcIlxcdThBRURcXHU4RjM4XFx1NTUyRlxcdTRGNTFcXHU1MTJBXFx1NTJDN1xcdTUzQ0JcXHU1QkE1XFx1NUU3RFxcdTYwQTBcXHU2MTgyXFx1NjNENlxcdTY3MDlcXHU2N0RBXFx1NkU2N1xcdTZEOENcXHU3MzM2XFx1NzMzN1xcdTc1MzFcXHU3OTUwXFx1ODhENVxcdThBOThcXHU5MDRBXFx1OTA5MVxcdTkwRjVcXHU5NkM0XFx1ODc4RFxcdTU5MTVcXHU0RTg4XFx1NEY1OVxcdTRFMEVcXHU4QTg5XFx1OEYzRlxcdTk4MTBcXHU1MEFEXFx1NUU3Q1xcdTU5OTZcXHU1QkI5XFx1NUVCOFxcdTYzREFcXHU2M0ZBXFx1NjRDMVxcdTY2RENcXHU2OTRBXFx1NjlEOFxcdTZEMEJcXHU2RUI2XFx1NzE5NFxcdTc1MjhcXHU3QUFGXFx1N0Y4QVxcdTgwMDBcXHU4NDQ5XFx1ODRDOVxcdTg5ODFcXHU4QjIxXFx1OEUwQVxcdTkwNjVcXHU5NjdEXFx1OTkwQVxcdTYxN0VcXHU2MjkxXFx1NkIzMlxcdTZDODNcXHU2RDc0XFx1N0ZDQ1xcdTdGRkNcXHU2REMwXFx1N0Y4NVxcdTg3QkFcXHU4OEY4XFx1Njc2NVxcdTgzQjFcXHU5ODNDXFx1OTZGN1xcdTZEMUJcXHU3RDYxXFx1ODQzRFxcdTkxNkFcXHU0RTcxXFx1NTM3NVxcdTVENTBcXHU2QjA0XFx1NkZFQlxcdTg1Q0RcXHU4NjJEXFx1ODlBN1xcdTUyMjlcXHU1NDBGXFx1NUM2NVxcdTY3NEVcXHU2OEE4XFx1NzQwNlxcdTc0ODNcIl0sXG4gICAgICBbXCJjZWExXCIsIFwiXFx1NzVFMlxcdTg4Q0ZcXHU4OEUxXFx1OTFDQ1xcdTk2RTJcXHU5Njc4XFx1NUY4QlxcdTczODdcXHU3QUNCXFx1ODQ0RVxcdTYzQTBcXHU3NTY1XFx1NTI4OVxcdTZENDFcXHU2RTlDXFx1NzQwOVxcdTc1NTlcXHU3ODZCXFx1N0M5MlxcdTk2ODZcXHU3QURDXFx1OUY4RFxcdTRGQjZcXHU2MTZFXFx1NjVDNVxcdTg2NUNcXHU0RTg2XFx1NEVBRVxcdTUwREFcXHU0RTIxXFx1NTFDQ1xcdTVCRUVcXHU2NTk5XFx1Njg4MVxcdTZEQkNcXHU3MzFGXFx1NzY0MlxcdTc3QURcXHU3QTFDXFx1N0NFN1xcdTgyNkZcXHU4QUQyXFx1OTA3Q1xcdTkxQ0ZcXHU5Njc1XFx1OTgxOFxcdTUyOUJcXHU3REQxXFx1NTAyQlxcdTUzOThcXHU2Nzk3XFx1NkRDQlxcdTcxRDBcXHU3NDMzXFx1ODFFOFxcdThGMkFcXHU5NkEzXFx1OUM1N1xcdTlFOUZcXHU3NDYwXFx1NTg0MVxcdTZEOTlcXHU3RDJGXFx1OTg1RVxcdTRFRTRcXHU0RjM2XFx1NEY4QlxcdTUxQjdcXHU1MkIxXFx1NURCQVxcdTYwMUNcXHU3M0IyXFx1NzkzQ1xcdTgyRDNcXHU5MjM0XFx1OTZCN1xcdTk2RjZcXHU5NzBBXFx1OUU5N1xcdTlGNjJcXHU2NkE2XFx1NkI3NFxcdTUyMTdcXHU1MkEzXFx1NzBDOFxcdTg4QzJcXHU1RUM5XFx1NjA0QlxcdTYxOTBcXHU2RjIzXFx1NzE0OVxcdTdDM0VcXHU3REY0XFx1ODA2RlwiXSxcbiAgICAgIFtcImNmYTFcIiwgXCJcXHU4NEVFXFx1OTAyM1xcdTkzMkNcXHU1NDQyXFx1OUI2RlxcdTZBRDNcXHU3MDg5XFx1OENDMlxcdThERUZcXHU5NzMyXFx1NTJCNFxcdTVBNDFcXHU1RUNBXFx1NUYwNFxcdTY3MTdcXHU2OTdDXFx1Njk5NFxcdTZENkFcXHU2RjBGXFx1NzI2MlxcdTcyRkNcXHU3QkVEXFx1ODAwMVxcdTgwN0VcXHU4NzRCXFx1OTBDRVxcdTUxNkRcXHU5RTkzXFx1Nzk4NFxcdTgwOEJcXHU5MzMyXFx1OEFENlxcdTUwMkRcXHU1NDhDXFx1OEE3MVxcdTZCNkFcXHU4Q0M0XFx1ODEwN1xcdTYwRDFcXHU2N0EwXFx1OURGMlxcdTRFOTlcXHU0RTk4XFx1OUMxMFxcdThBNkJcXHU4NUMxXFx1ODU2OFxcdTY5MDBcXHU2RTdFXFx1Nzg5N1xcdTgxNTVcIl0sXG4gICAgICBbXCJkMGExXCIsIFwiXFx1NUYwQ1xcdTRFMTBcXHU0RTE1XFx1NEUyQVxcdTRFMzFcXHU0RTM2XFx1NEUzQ1xcdTRFM0ZcXHU0RTQyXFx1NEU1NlxcdTRFNThcXHU0RTgyXFx1NEU4NVxcdThDNkJcXHU0RThBXFx1ODIxMlxcdTVGMERcXHU0RThFXFx1NEU5RVxcdTRFOUZcXHU0RUEwXFx1NEVBMlxcdTRFQjBcXHU0RUIzXFx1NEVCNlxcdTRFQ0VcXHU0RUNEXFx1NEVDNFxcdTRFQzZcXHU0RUMyXFx1NEVEN1xcdTRFREVcXHU0RUVEXFx1NEVERlxcdTRFRjdcXHU0RjA5XFx1NEY1QVxcdTRGMzBcXHU0RjVCXFx1NEY1RFxcdTRGNTdcXHU0RjQ3XFx1NEY3NlxcdTRGODhcXHU0RjhGXFx1NEY5OFxcdTRGN0JcXHU0RjY5XFx1NEY3MFxcdTRGOTFcXHU0RjZGXFx1NEY4NlxcdTRGOTZcXHU1MTE4XFx1NEZENFxcdTRGREZcXHU0RkNFXFx1NEZEOFxcdTRGREJcXHU0RkQxXFx1NEZEQVxcdTRGRDBcXHU0RkU0XFx1NEZFNVxcdTUwMUFcXHU1MDI4XFx1NTAxNFxcdTUwMkFcXHU1MDI1XFx1NTAwNVxcdTRGMUNcXHU0RkY2XFx1NTAyMVxcdTUwMjlcXHU1MDJDXFx1NEZGRVxcdTRGRUZcXHU1MDExXFx1NTAwNlxcdTUwNDNcXHU1MDQ3XFx1NjcwM1xcdTUwNTVcXHU1MDUwXFx1NTA0OFxcdTUwNUFcXHU1MDU2XFx1NTA2Q1xcdTUwNzhcXHU1MDgwXFx1NTA5QVxcdTUwODVcXHU1MEI0XFx1NTBCMlwiXSxcbiAgICAgIFtcImQxYTFcIiwgXCJcXHU1MEM5XFx1NTBDQVxcdTUwQjNcXHU1MEMyXFx1NTBENlxcdTUwREVcXHU1MEU1XFx1NTBFRFxcdTUwRTNcXHU1MEVFXFx1NTBGOVxcdTUwRjVcXHU1MTA5XFx1NTEwMVxcdTUxMDJcXHU1MTE2XFx1NTExNVxcdTUxMTRcXHU1MTFBXFx1NTEyMVxcdTUxM0FcXHU1MTM3XFx1NTEzQ1xcdTUxM0JcXHU1MTNGXFx1NTE0MFxcdTUxNTJcXHU1MTRDXFx1NTE1NFxcdTUxNjJcXHU3QUY4XFx1NTE2OVxcdTUxNkFcXHU1MTZFXFx1NTE4MFxcdTUxODJcXHU1NkQ4XFx1NTE4Q1xcdTUxODlcXHU1MThGXFx1NTE5MVxcdTUxOTNcXHU1MTk1XFx1NTE5NlxcdTUxQTRcXHU1MUE2XFx1NTFBMlxcdTUxQTlcXHU1MUFBXFx1NTFBQlxcdTUxQjNcXHU1MUIxXFx1NTFCMlxcdTUxQjBcXHU1MUI1XFx1NTFCRFxcdTUxQzVcXHU1MUM5XFx1NTFEQlxcdTUxRTBcXHU4NjU1XFx1NTFFOVxcdTUxRURcXHU1MUYwXFx1NTFGNVxcdTUxRkVcXHU1MjA0XFx1NTIwQlxcdTUyMTRcXHU1MjBFXFx1NTIyN1xcdTUyMkFcXHU1MjJFXFx1NTIzM1xcdTUyMzlcXHU1MjRGXFx1NTI0NFxcdTUyNEJcXHU1MjRDXFx1NTI1RVxcdTUyNTRcXHU1MjZBXFx1NTI3NFxcdTUyNjlcXHU1MjczXFx1NTI3RlxcdTUyN0RcXHU1MjhEXFx1NTI5NFxcdTUyOTJcXHU1MjcxXFx1NTI4OFxcdTUyOTFcXHU4RkE4XCJdLFxuICAgICAgW1wiZDJhMVwiLCBcIlxcdThGQTdcXHU1MkFDXFx1NTJBRFxcdTUyQkNcXHU1MkI1XFx1NTJDMVxcdTUyQ0RcXHU1MkQ3XFx1NTJERVxcdTUyRTNcXHU1MkU2XFx1OThFRFxcdTUyRTBcXHU1MkYzXFx1NTJGNVxcdTUyRjhcXHU1MkY5XFx1NTMwNlxcdTUzMDhcXHU3NTM4XFx1NTMwRFxcdTUzMTBcXHU1MzBGXFx1NTMxNVxcdTUzMUFcXHU1MzIzXFx1NTMyRlxcdTUzMzFcXHU1MzMzXFx1NTMzOFxcdTUzNDBcXHU1MzQ2XFx1NTM0NVxcdTRFMTdcXHU1MzQ5XFx1NTM0RFxcdTUxRDZcXHU1MzVFXFx1NTM2OVxcdTUzNkVcXHU1OTE4XFx1NTM3QlxcdTUzNzdcXHU1MzgyXFx1NTM5NlxcdTUzQTBcXHU1M0E2XFx1NTNBNVxcdTUzQUVcXHU1M0IwXFx1NTNCNlxcdTUzQzNcXHU3QzEyXFx1OTZEOVxcdTUzREZcXHU2NkZDXFx1NzFFRVxcdTUzRUVcXHU1M0U4XFx1NTNFRFxcdTUzRkFcXHU1NDAxXFx1NTQzRFxcdTU0NDBcXHU1NDJDXFx1NTQyRFxcdTU0M0NcXHU1NDJFXFx1NTQzNlxcdTU0MjlcXHU1NDFEXFx1NTQ0RVxcdTU0OEZcXHU1NDc1XFx1NTQ4RVxcdTU0NUZcXHU1NDcxXFx1NTQ3N1xcdTU0NzBcXHU1NDkyXFx1NTQ3QlxcdTU0ODBcXHU1NDc2XFx1NTQ4NFxcdTU0OTBcXHU1NDg2XFx1NTRDN1xcdTU0QTJcXHU1NEI4XFx1NTRBNVxcdTU0QUNcXHU1NEM0XFx1NTRDOFxcdTU0QThcIl0sXG4gICAgICBbXCJkM2ExXCIsIFwiXFx1NTRBQlxcdTU0QzJcXHU1NEE0XFx1NTRCRVxcdTU0QkNcXHU1NEQ4XFx1NTRFNVxcdTU0RTZcXHU1NTBGXFx1NTUxNFxcdTU0RkRcXHU1NEVFXFx1NTRFRFxcdTU0RkFcXHU1NEUyXFx1NTUzOVxcdTU1NDBcXHU1NTYzXFx1NTU0Q1xcdTU1MkVcXHU1NTVDXFx1NTU0NVxcdTU1NTZcXHU1NTU3XFx1NTUzOFxcdTU1MzNcXHU1NTVEXFx1NTU5OVxcdTU1ODBcXHU1NEFGXFx1NTU4QVxcdTU1OUZcXHU1NTdCXFx1NTU3RVxcdTU1OThcXHU1NTlFXFx1NTVBRVxcdTU1N0NcXHU1NTgzXFx1NTVBOVxcdTU1ODdcXHU1NUE4XFx1NTVEQVxcdTU1QzVcXHU1NURGXFx1NTVDNFxcdTU1RENcXHU1NUU0XFx1NTVENFxcdTU2MTRcXHU1NUY3XFx1NTYxNlxcdTU1RkVcXHU1NUZEXFx1NTYxQlxcdTU1RjlcXHU1NjRFXFx1NTY1MFxcdTcxREZcXHU1NjM0XFx1NTYzNlxcdTU2MzJcXHU1NjM4XFx1NTY2QlxcdTU2NjRcXHU1NjJGXFx1NTY2Q1xcdTU2NkFcXHU1Njg2XFx1NTY4MFxcdTU2OEFcXHU1NkEwXFx1NTY5NFxcdTU2OEZcXHU1NkE1XFx1NTZBRVxcdTU2QjZcXHU1NkI0XFx1NTZDMlxcdTU2QkNcXHU1NkMxXFx1NTZDM1xcdTU2QzBcXHU1NkM4XFx1NTZDRVxcdTU2RDFcXHU1NkQzXFx1NTZEN1xcdTU2RUVcXHU1NkY5XFx1NTcwMFxcdTU2RkZcXHU1NzA0XFx1NTcwOVwiXSxcbiAgICAgIFtcImQ0YTFcIiwgXCJcXHU1NzA4XFx1NTcwQlxcdTU3MERcXHU1NzEzXFx1NTcxOFxcdTU3MTZcXHU1NUM3XFx1NTcxQ1xcdTU3MjZcXHU1NzM3XFx1NTczOFxcdTU3NEVcXHU1NzNCXFx1NTc0MFxcdTU3NEZcXHU1NzY5XFx1NTdDMFxcdTU3ODhcXHU1NzYxXFx1NTc3RlxcdTU3ODlcXHU1NzkzXFx1NTdBMFxcdTU3QjNcXHU1N0E0XFx1NTdBQVxcdTU3QjBcXHU1N0MzXFx1NTdDNlxcdTU3RDRcXHU1N0QyXFx1NTdEM1xcdTU4MEFcXHU1N0Q2XFx1NTdFM1xcdTU4MEJcXHU1ODE5XFx1NTgxRFxcdTU4NzJcXHU1ODIxXFx1NTg2MlxcdTU4NEJcXHU1ODcwXFx1NkJDMFxcdTU4NTJcXHU1ODNEXFx1NTg3OVxcdTU4ODVcXHU1OEI5XFx1NTg5RlxcdTU4QUJcXHU1OEJBXFx1NThERVxcdTU4QkJcXHU1OEI4XFx1NThBRVxcdTU4QzVcXHU1OEQzXFx1NThEMVxcdTU4RDdcXHU1OEQ5XFx1NThEOFxcdTU4RTVcXHU1OERDXFx1NThFNFxcdTU4REZcXHU1OEVGXFx1NThGQVxcdTU4RjlcXHU1OEZCXFx1NThGQ1xcdTU4RkRcXHU1OTAyXFx1NTkwQVxcdTU5MTBcXHU1OTFCXFx1NjhBNlxcdTU5MjVcXHU1OTJDXFx1NTkyRFxcdTU5MzJcXHU1OTM4XFx1NTkzRVxcdTdBRDJcXHU1OTU1XFx1NTk1MFxcdTU5NEVcXHU1OTVBXFx1NTk1OFxcdTU5NjJcXHU1OTYwXFx1NTk2N1xcdTU5NkNcXHU1OTY5XCJdLFxuICAgICAgW1wiZDVhMVwiLCBcIlxcdTU5NzhcXHU1OTgxXFx1NTk5RFxcdTRGNUVcXHU0RkFCXFx1NTlBM1xcdTU5QjJcXHU1OUM2XFx1NTlFOFxcdTU5RENcXHU1OThEXFx1NTlEOVxcdTU5REFcXHU1QTI1XFx1NUExRlxcdTVBMTFcXHU1QTFDXFx1NUEwOVxcdTVBMUFcXHU1QTQwXFx1NUE2Q1xcdTVBNDlcXHU1QTM1XFx1NUEzNlxcdTVBNjJcXHU1QTZBXFx1NUE5QVxcdTVBQkNcXHU1QUJFXFx1NUFDQlxcdTVBQzJcXHU1QUJEXFx1NUFFM1xcdTVBRDdcXHU1QUU2XFx1NUFFOVxcdTVBRDZcXHU1QUZBXFx1NUFGQlxcdTVCMENcXHU1QjBCXFx1NUIxNlxcdTVCMzJcXHU1QUQwXFx1NUIyQVxcdTVCMzZcXHU1QjNFXFx1NUI0M1xcdTVCNDVcXHU1QjQwXFx1NUI1MVxcdTVCNTVcXHU1QjVBXFx1NUI1QlxcdTVCNjVcXHU1QjY5XFx1NUI3MFxcdTVCNzNcXHU1Qjc1XFx1NUI3OFxcdTY1ODhcXHU1QjdBXFx1NUI4MFxcdTVCODNcXHU1QkE2XFx1NUJCOFxcdTVCQzNcXHU1QkM3XFx1NUJDOVxcdTVCRDRcXHU1QkQwXFx1NUJFNFxcdTVCRTZcXHU1QkUyXFx1NUJERVxcdTVCRTVcXHU1QkVCXFx1NUJGMFxcdTVCRjZcXHU1QkYzXFx1NUMwNVxcdTVDMDdcXHU1QzA4XFx1NUMwRFxcdTVDMTNcXHU1QzIwXFx1NUMyMlxcdTVDMjhcXHU1QzM4XFx1NUMzOVxcdTVDNDFcXHU1QzQ2XFx1NUM0RVxcdTVDNTNcIl0sXG4gICAgICBbXCJkNmExXCIsIFwiXFx1NUM1MFxcdTVDNEZcXHU1QjcxXFx1NUM2Q1xcdTVDNkVcXHU0RTYyXFx1NUM3NlxcdTVDNzlcXHU1QzhDXFx1NUM5MVxcdTVDOTRcXHU1OTlCXFx1NUNBQlxcdTVDQkJcXHU1Q0I2XFx1NUNCQ1xcdTVDQjdcXHU1Q0M1XFx1NUNCRVxcdTVDQzdcXHU1Q0Q5XFx1NUNFOVxcdTVDRkRcXHU1Q0ZBXFx1NUNFRFxcdTVEOENcXHU1Q0VBXFx1NUQwQlxcdTVEMTVcXHU1RDE3XFx1NUQ1Q1xcdTVEMUZcXHU1RDFCXFx1NUQxMVxcdTVEMTRcXHU1RDIyXFx1NUQxQVxcdTVEMTlcXHU1RDE4XFx1NUQ0Q1xcdTVENTJcXHU1RDRFXFx1NUQ0QlxcdTVENkNcXHU1RDczXFx1NUQ3NlxcdTVEODdcXHU1RDg0XFx1NUQ4MlxcdTVEQTJcXHU1RDlEXFx1NURBQ1xcdTVEQUVcXHU1REJEXFx1NUQ5MFxcdTVEQjdcXHU1REJDXFx1NURDOVxcdTVEQ0RcXHU1REQzXFx1NUREMlxcdTVERDZcXHU1RERCXFx1NURFQlxcdTVERjJcXHU1REY1XFx1NUUwQlxcdTVFMUFcXHU1RTE5XFx1NUUxMVxcdTVFMUJcXHU1RTM2XFx1NUUzN1xcdTVFNDRcXHU1RTQzXFx1NUU0MFxcdTVFNEVcXHU1RTU3XFx1NUU1NFxcdTVFNUZcXHU1RTYyXFx1NUU2NFxcdTVFNDdcXHU1RTc1XFx1NUU3NlxcdTVFN0FcXHU5RUJDXFx1NUU3RlxcdTVFQTBcXHU1RUMxXFx1NUVDMlxcdTVFQzhcXHU1RUQwXFx1NUVDRlwiXSxcbiAgICAgIFtcImQ3YTFcIiwgXCJcXHU1RUQ2XFx1NUVFM1xcdTVFRERcXHU1RURBXFx1NUVEQlxcdTVFRTJcXHU1RUUxXFx1NUVFOFxcdTVFRTlcXHU1RUVDXFx1NUVGMVxcdTVFRjNcXHU1RUYwXFx1NUVGNFxcdTVFRjhcXHU1RUZFXFx1NUYwM1xcdTVGMDlcXHU1RjVEXFx1NUY1Q1xcdTVGMEJcXHU1RjExXFx1NUYxNlxcdTVGMjlcXHU1RjJEXFx1NUYzOFxcdTVGNDFcXHU1RjQ4XFx1NUY0Q1xcdTVGNEVcXHU1RjJGXFx1NUY1MVxcdTVGNTZcXHU1RjU3XFx1NUY1OVxcdTVGNjFcXHU1RjZEXFx1NUY3M1xcdTVGNzdcXHU1RjgzXFx1NUY4MlxcdTVGN0ZcXHU1RjhBXFx1NUY4OFxcdTVGOTFcXHU1Rjg3XFx1NUY5RVxcdTVGOTlcXHU1Rjk4XFx1NUZBMFxcdTVGQThcXHU1RkFEXFx1NUZCQ1xcdTVGRDZcXHU1RkZCXFx1NUZFNFxcdTVGRjhcXHU1RkYxXFx1NUZERFxcdTYwQjNcXHU1RkZGXFx1NjAyMVxcdTYwNjBcXHU2MDE5XFx1NjAxMFxcdTYwMjlcXHU2MDBFXFx1NjAzMVxcdTYwMUJcXHU2MDE1XFx1NjAyQlxcdTYwMjZcXHU2MDBGXFx1NjAzQVxcdTYwNUFcXHU2MDQxXFx1NjA2QVxcdTYwNzdcXHU2MDVGXFx1NjA0QVxcdTYwNDZcXHU2MDREXFx1NjA2M1xcdTYwNDNcXHU2MDY0XFx1NjA0MlxcdTYwNkNcXHU2MDZCXFx1NjA1OVxcdTYwODFcXHU2MDhEXFx1NjBFN1xcdTYwODNcXHU2MDlBXCJdLFxuICAgICAgW1wiZDhhMVwiLCBcIlxcdTYwODRcXHU2MDlCXFx1NjA5NlxcdTYwOTdcXHU2MDkyXFx1NjBBN1xcdTYwOEJcXHU2MEUxXFx1NjBCOFxcdTYwRTBcXHU2MEQzXFx1NjBCNFxcdTVGRjBcXHU2MEJEXFx1NjBDNlxcdTYwQjVcXHU2MEQ4XFx1NjE0RFxcdTYxMTVcXHU2MTA2XFx1NjBGNlxcdTYwRjdcXHU2MTAwXFx1NjBGNFxcdTYwRkFcXHU2MTAzXFx1NjEyMVxcdTYwRkJcXHU2MEYxXFx1NjEwRFxcdTYxMEVcXHU2MTQ3XFx1NjEzRVxcdTYxMjhcXHU2MTI3XFx1NjE0QVxcdTYxM0ZcXHU2MTNDXFx1NjEyQ1xcdTYxMzRcXHU2MTNEXFx1NjE0MlxcdTYxNDRcXHU2MTczXFx1NjE3N1xcdTYxNThcXHU2MTU5XFx1NjE1QVxcdTYxNkJcXHU2MTc0XFx1NjE2RlxcdTYxNjVcXHU2MTcxXFx1NjE1RlxcdTYxNURcXHU2MTUzXFx1NjE3NVxcdTYxOTlcXHU2MTk2XFx1NjE4N1xcdTYxQUNcXHU2MTk0XFx1NjE5QVxcdTYxOEFcXHU2MTkxXFx1NjFBQlxcdTYxQUVcXHU2MUNDXFx1NjFDQVxcdTYxQzlcXHU2MUY3XFx1NjFDOFxcdTYxQzNcXHU2MUM2XFx1NjFCQVxcdTYxQ0JcXHU3Rjc5XFx1NjFDRFxcdTYxRTZcXHU2MUUzXFx1NjFGNlxcdTYxRkFcXHU2MUY0XFx1NjFGRlxcdTYxRkRcXHU2MUZDXFx1NjFGRVxcdTYyMDBcXHU2MjA4XFx1NjIwOVxcdTYyMERcXHU2MjBDXFx1NjIxNFxcdTYyMUJcIl0sXG4gICAgICBbXCJkOWExXCIsIFwiXFx1NjIxRVxcdTYyMjFcXHU2MjJBXFx1NjIyRVxcdTYyMzBcXHU2MjMyXFx1NjIzM1xcdTYyNDFcXHU2MjRFXFx1NjI1RVxcdTYyNjNcXHU2MjVCXFx1NjI2MFxcdTYyNjhcXHU2MjdDXFx1NjI4MlxcdTYyODlcXHU2MjdFXFx1NjI5MlxcdTYyOTNcXHU2Mjk2XFx1NjJENFxcdTYyODNcXHU2Mjk0XFx1NjJEN1xcdTYyRDFcXHU2MkJCXFx1NjJDRlxcdTYyRkZcXHU2MkM2XFx1NjRENFxcdTYyQzhcXHU2MkRDXFx1NjJDQ1xcdTYyQ0FcXHU2MkMyXFx1NjJDN1xcdTYyOUJcXHU2MkM5XFx1NjMwQ1xcdTYyRUVcXHU2MkYxXFx1NjMyN1xcdTYzMDJcXHU2MzA4XFx1NjJFRlxcdTYyRjVcXHU2MzUwXFx1NjMzRVxcdTYzNERcXHU2NDFDXFx1NjM0RlxcdTYzOTZcXHU2MzhFXFx1NjM4MFxcdTYzQUJcXHU2Mzc2XFx1NjNBM1xcdTYzOEZcXHU2Mzg5XFx1NjM5RlxcdTYzQjVcXHU2MzZCXFx1NjM2OVxcdTYzQkVcXHU2M0U5XFx1NjNDMFxcdTYzQzZcXHU2M0UzXFx1NjNDOVxcdTYzRDJcXHU2M0Y2XFx1NjNDNFxcdTY0MTZcXHU2NDM0XFx1NjQwNlxcdTY0MTNcXHU2NDI2XFx1NjQzNlxcdTY1MURcXHU2NDE3XFx1NjQyOFxcdTY0MEZcXHU2NDY3XFx1NjQ2RlxcdTY0NzZcXHU2NDRFXFx1NjUyQVxcdTY0OTVcXHU2NDkzXFx1NjRBNVxcdTY0QTlcXHU2NDg4XFx1NjRCQ1wiXSxcbiAgICAgIFtcImRhYTFcIiwgXCJcXHU2NERBXFx1NjREMlxcdTY0QzVcXHU2NEM3XFx1NjRCQlxcdTY0RDhcXHU2NEMyXFx1NjRGMVxcdTY0RTdcXHU4MjA5XFx1NjRFMFxcdTY0RTFcXHU2MkFDXFx1NjRFM1xcdTY0RUZcXHU2NTJDXFx1NjRGNlxcdTY0RjRcXHU2NEYyXFx1NjRGQVxcdTY1MDBcXHU2NEZEXFx1NjUxOFxcdTY1MUNcXHU2NTA1XFx1NjUyNFxcdTY1MjNcXHU2NTJCXFx1NjUzNFxcdTY1MzVcXHU2NTM3XFx1NjUzNlxcdTY1MzhcXHU3NTRCXFx1NjU0OFxcdTY1NTZcXHU2NTU1XFx1NjU0RFxcdTY1NThcXHU2NTVFXFx1NjU1RFxcdTY1NzJcXHU2NTc4XFx1NjU4MlxcdTY1ODNcXHU4QjhBXFx1NjU5QlxcdTY1OUZcXHU2NUFCXFx1NjVCN1xcdTY1QzNcXHU2NUM2XFx1NjVDMVxcdTY1QzRcXHU2NUNDXFx1NjVEMlxcdTY1REJcXHU2NUQ5XFx1NjVFMFxcdTY1RTFcXHU2NUYxXFx1Njc3MlxcdTY2MEFcXHU2NjAzXFx1NjVGQlxcdTY3NzNcXHU2NjM1XFx1NjYzNlxcdTY2MzRcXHU2NjFDXFx1NjY0RlxcdTY2NDRcXHU2NjQ5XFx1NjY0MVxcdTY2NUVcXHU2NjVEXFx1NjY2NFxcdTY2NjdcXHU2NjY4XFx1NjY1RlxcdTY2NjJcXHU2NjcwXFx1NjY4M1xcdTY2ODhcXHU2NjhFXFx1NjY4OVxcdTY2ODRcXHU2Njk4XFx1NjY5RFxcdTY2QzFcXHU2NkI5XFx1NjZDOVxcdTY2QkVcXHU2NkJDXCJdLFxuICAgICAgW1wiZGJhMVwiLCBcIlxcdTY2QzRcXHU2NkI4XFx1NjZENlxcdTY2REFcXHU2NkUwXFx1NjYzRlxcdTY2RTZcXHU2NkU5XFx1NjZGMFxcdTY2RjVcXHU2NkY3XFx1NjcwRlxcdTY3MTZcXHU2NzFFXFx1NjcyNlxcdTY3MjdcXHU5NzM4XFx1NjcyRVxcdTY3M0ZcXHU2NzM2XFx1Njc0MVxcdTY3MzhcXHU2NzM3XFx1Njc0NlxcdTY3NUVcXHU2NzYwXFx1Njc1OVxcdTY3NjNcXHU2NzY0XFx1Njc4OVxcdTY3NzBcXHU2N0E5XFx1Njc3Q1xcdTY3NkFcXHU2NzhDXFx1Njc4QlxcdTY3QTZcXHU2N0ExXFx1Njc4NVxcdTY3QjdcXHU2N0VGXFx1NjdCNFxcdTY3RUNcXHU2N0IzXFx1NjdFOVxcdTY3QjhcXHU2N0U0XFx1NjdERVxcdTY3RERcXHU2N0UyXFx1NjdFRVxcdTY3QjlcXHU2N0NFXFx1NjdDNlxcdTY3RTdcXHU2QTlDXFx1NjgxRVxcdTY4NDZcXHU2ODI5XFx1Njg0MFxcdTY4NERcXHU2ODMyXFx1Njg0RVxcdTY4QjNcXHU2ODJCXFx1Njg1OVxcdTY4NjNcXHU2ODc3XFx1Njg3RlxcdTY4OUZcXHU2ODhGXFx1NjhBRFxcdTY4OTRcXHU2ODlEXFx1Njg5QlxcdTY4ODNcXHU2QUFFXFx1NjhCOVxcdTY4NzRcXHU2OEI1XFx1NjhBMFxcdTY4QkFcXHU2OTBGXFx1Njg4RFxcdTY4N0VcXHU2OTAxXFx1NjhDQVxcdTY5MDhcXHU2OEQ4XFx1NjkyMlxcdTY5MjZcXHU2OEUxXFx1NjkwQ1xcdTY4Q0RcIl0sXG4gICAgICBbXCJkY2ExXCIsIFwiXFx1NjhENFxcdTY4RTdcXHU2OEQ1XFx1NjkzNlxcdTY5MTJcXHU2OTA0XFx1NjhEN1xcdTY4RTNcXHU2OTI1XFx1NjhGOVxcdTY4RTBcXHU2OEVGXFx1NjkyOFxcdTY5MkFcXHU2OTFBXFx1NjkyM1xcdTY5MjFcXHU2OEM2XFx1Njk3OVxcdTY5NzdcXHU2OTVDXFx1Njk3OFxcdTY5NkJcXHU2OTU0XFx1Njk3RVxcdTY5NkVcXHU2OTM5XFx1Njk3NFxcdTY5M0RcXHU2OTU5XFx1NjkzMFxcdTY5NjFcXHU2OTVFXFx1Njk1RFxcdTY5ODFcXHU2OTZBXFx1NjlCMlxcdTY5QUVcXHU2OUQwXFx1NjlCRlxcdTY5QzFcXHU2OUQzXFx1NjlCRVxcdTY5Q0VcXHU1QkU4XFx1NjlDQVxcdTY5RERcXHU2OUJCXFx1NjlDM1xcdTY5QTdcXHU2QTJFXFx1Njk5MVxcdTY5QTBcXHU2OTlDXFx1Njk5NVxcdTY5QjRcXHU2OURFXFx1NjlFOFxcdTZBMDJcXHU2QTFCXFx1NjlGRlxcdTZCMEFcXHU2OUY5XFx1NjlGMlxcdTY5RTdcXHU2QTA1XFx1NjlCMVxcdTZBMUVcXHU2OUVEXFx1NkExNFxcdTY5RUJcXHU2QTBBXFx1NkExMlxcdTZBQzFcXHU2QTIzXFx1NkExM1xcdTZBNDRcXHU2QTBDXFx1NkE3MlxcdTZBMzZcXHU2QTc4XFx1NkE0N1xcdTZBNjJcXHU2QTU5XFx1NkE2NlxcdTZBNDhcXHU2QTM4XFx1NkEyMlxcdTZBOTBcXHU2QThEXFx1NkFBMFxcdTZBODRcXHU2QUEyXFx1NkFBM1wiXSxcbiAgICAgIFtcImRkYTFcIiwgXCJcXHU2QTk3XFx1ODYxN1xcdTZBQkJcXHU2QUMzXFx1NkFDMlxcdTZBQjhcXHU2QUIzXFx1NkFBQ1xcdTZBREVcXHU2QUQxXFx1NkFERlxcdTZBQUFcXHU2QURBXFx1NkFFQVxcdTZBRkJcXHU2QjA1XFx1ODYxNlxcdTZBRkFcXHU2QjEyXFx1NkIxNlxcdTlCMzFcXHU2QjFGXFx1NkIzOFxcdTZCMzdcXHU3NkRDXFx1NkIzOVxcdTk4RUVcXHU2QjQ3XFx1NkI0M1xcdTZCNDlcXHU2QjUwXFx1NkI1OVxcdTZCNTRcXHU2QjVCXFx1NkI1RlxcdTZCNjFcXHU2Qjc4XFx1NkI3OVxcdTZCN0ZcXHU2QjgwXFx1NkI4NFxcdTZCODNcXHU2QjhEXFx1NkI5OFxcdTZCOTVcXHU2QjlFXFx1NkJBNFxcdTZCQUFcXHU2QkFCXFx1NkJBRlxcdTZCQjJcXHU2QkIxXFx1NkJCM1xcdTZCQjdcXHU2QkJDXFx1NkJDNlxcdTZCQ0JcXHU2QkQzXFx1NkJERlxcdTZCRUNcXHU2QkVCXFx1NkJGM1xcdTZCRUZcXHU5RUJFXFx1NkMwOFxcdTZDMTNcXHU2QzE0XFx1NkMxQlxcdTZDMjRcXHU2QzIzXFx1NkM1RVxcdTZDNTVcXHU2QzYyXFx1NkM2QVxcdTZDODJcXHU2QzhEXFx1NkM5QVxcdTZDODFcXHU2QzlCXFx1NkM3RVxcdTZDNjhcXHU2QzczXFx1NkM5MlxcdTZDOTBcXHU2Q0M0XFx1NkNGMVxcdTZDRDNcXHU2Q0JEXFx1NkNEN1xcdTZDQzVcXHU2Q0REXFx1NkNBRVxcdTZDQjFcXHU2Q0JFXCJdLFxuICAgICAgW1wiZGVhMVwiLCBcIlxcdTZDQkFcXHU2Q0RCXFx1NkNFRlxcdTZDRDlcXHU2Q0VBXFx1NkQxRlxcdTg4NERcXHU2RDM2XFx1NkQyQlxcdTZEM0RcXHU2RDM4XFx1NkQxOVxcdTZEMzVcXHU2RDMzXFx1NkQxMlxcdTZEMENcXHU2RDYzXFx1NkQ5M1xcdTZENjRcXHU2RDVBXFx1NkQ3OVxcdTZENTlcXHU2RDhFXFx1NkQ5NVxcdTZGRTRcXHU2RDg1XFx1NkRGOVxcdTZFMTVcXHU2RTBBXFx1NkRCNVxcdTZEQzdcXHU2REU2XFx1NkRCOFxcdTZEQzZcXHU2REVDXFx1NkRERVxcdTZEQ0NcXHU2REU4XFx1NkREMlxcdTZEQzVcXHU2REZBXFx1NkREOVxcdTZERTRcXHU2REQ1XFx1NkRFQVxcdTZERUVcXHU2RTJEXFx1NkU2RVxcdTZFMkVcXHU2RTE5XFx1NkU3MlxcdTZFNUZcXHU2RTNFXFx1NkUyM1xcdTZFNkJcXHU2RTJCXFx1NkU3NlxcdTZFNERcXHU2RTFGXFx1NkU0M1xcdTZFM0FcXHU2RTRFXFx1NkUyNFxcdTZFRkZcXHU2RTFEXFx1NkUzOFxcdTZFODJcXHU2RUFBXFx1NkU5OFxcdTZFQzlcXHU2RUI3XFx1NkVEM1xcdTZFQkRcXHU2RUFGXFx1NkVDNFxcdTZFQjJcXHU2RUQ0XFx1NkVENVxcdTZFOEZcXHU2RUE1XFx1NkVDMlxcdTZFOUZcXHU2RjQxXFx1NkYxMVxcdTcwNENcXHU2RUVDXFx1NkVGOFxcdTZFRkVcXHU2RjNGXFx1NkVGMlxcdTZGMzFcXHU2RUVGXFx1NkYzMlxcdTZFQ0NcIl0sXG4gICAgICBbXCJkZmExXCIsIFwiXFx1NkYzRVxcdTZGMTNcXHU2RUY3XFx1NkY4NlxcdTZGN0FcXHU2Rjc4XFx1NkY4MVxcdTZGODBcXHU2RjZGXFx1NkY1QlxcdTZGRjNcXHU2RjZEXFx1NkY4MlxcdTZGN0NcXHU2RjU4XFx1NkY4RVxcdTZGOTFcXHU2RkMyXFx1NkY2NlxcdTZGQjNcXHU2RkEzXFx1NkZBMVxcdTZGQTRcXHU2RkI5XFx1NkZDNlxcdTZGQUFcXHU2RkRGXFx1NkZENVxcdTZGRUNcXHU2RkQ0XFx1NkZEOFxcdTZGRjFcXHU2RkVFXFx1NkZEQlxcdTcwMDlcXHU3MDBCXFx1NkZGQVxcdTcwMTFcXHU3MDAxXFx1NzAwRlxcdTZGRkVcXHU3MDFCXFx1NzAxQVxcdTZGNzRcXHU3MDFEXFx1NzAxOFxcdTcwMUZcXHU3MDMwXFx1NzAzRVxcdTcwMzJcXHU3MDUxXFx1NzA2M1xcdTcwOTlcXHU3MDkyXFx1NzBBRlxcdTcwRjFcXHU3MEFDXFx1NzBCOFxcdTcwQjNcXHU3MEFFXFx1NzBERlxcdTcwQ0JcXHU3MEREXFx1NzBEOVxcdTcxMDlcXHU3MEZEXFx1NzExQ1xcdTcxMTlcXHU3MTY1XFx1NzE1NVxcdTcxODhcXHU3MTY2XFx1NzE2MlxcdTcxNENcXHU3MTU2XFx1NzE2Q1xcdTcxOEZcXHU3MUZCXFx1NzE4NFxcdTcxOTVcXHU3MUE4XFx1NzFBQ1xcdTcxRDdcXHU3MUI5XFx1NzFCRVxcdTcxRDJcXHU3MUM5XFx1NzFENFxcdTcxQ0VcXHU3MUUwXFx1NzFFQ1xcdTcxRTdcXHU3MUY1XFx1NzFGQ1wiXSxcbiAgICAgIFtcImUwYTFcIiwgXCJcXHU3MUY5XFx1NzFGRlxcdTcyMERcXHU3MjEwXFx1NzIxQlxcdTcyMjhcXHU3MjJEXFx1NzIyQ1xcdTcyMzBcXHU3MjMyXFx1NzIzQlxcdTcyM0NcXHU3MjNGXFx1NzI0MFxcdTcyNDZcXHU3MjRCXFx1NzI1OFxcdTcyNzRcXHU3MjdFXFx1NzI4MlxcdTcyODFcXHU3Mjg3XFx1NzI5MlxcdTcyOTZcXHU3MkEyXFx1NzJBN1xcdTcyQjlcXHU3MkIyXFx1NzJDM1xcdTcyQzZcXHU3MkM0XFx1NzJDRVxcdTcyRDJcXHU3MkUyXFx1NzJFMFxcdTcyRTFcXHU3MkY5XFx1NzJGN1xcdTUwMEZcXHU3MzE3XFx1NzMwQVxcdTczMUNcXHU3MzE2XFx1NzMxRFxcdTczMzRcXHU3MzJGXFx1NzMyOVxcdTczMjVcXHU3MzNFXFx1NzM0RVxcdTczNEZcXHU5RUQ4XFx1NzM1N1xcdTczNkFcXHU3MzY4XFx1NzM3MFxcdTczNzhcXHU3Mzc1XFx1NzM3QlxcdTczN0FcXHU3M0M4XFx1NzNCM1xcdTczQ0VcXHU3M0JCXFx1NzNDMFxcdTczRTVcXHU3M0VFXFx1NzNERVxcdTc0QTJcXHU3NDA1XFx1NzQ2RlxcdTc0MjVcXHU3M0Y4XFx1NzQzMlxcdTc0M0FcXHU3NDU1XFx1NzQzRlxcdTc0NUZcXHU3NDU5XFx1NzQ0MVxcdTc0NUNcXHU3NDY5XFx1NzQ3MFxcdTc0NjNcXHU3NDZBXFx1NzQ3NlxcdTc0N0VcXHU3NDhCXFx1NzQ5RVxcdTc0QTdcXHU3NENBXFx1NzRDRlxcdTc0RDRcXHU3M0YxXCJdLFxuICAgICAgW1wiZTFhMVwiLCBcIlxcdTc0RTBcXHU3NEUzXFx1NzRFN1xcdTc0RTlcXHU3NEVFXFx1NzRGMlxcdTc0RjBcXHU3NEYxXFx1NzRGOFxcdTc0RjdcXHU3NTA0XFx1NzUwM1xcdTc1MDVcXHU3NTBDXFx1NzUwRVxcdTc1MERcXHU3NTE1XFx1NzUxM1xcdTc1MUVcXHU3NTI2XFx1NzUyQ1xcdTc1M0NcXHU3NTQ0XFx1NzU0RFxcdTc1NEFcXHU3NTQ5XFx1NzU1QlxcdTc1NDZcXHU3NTVBXFx1NzU2OVxcdTc1NjRcXHU3NTY3XFx1NzU2QlxcdTc1NkRcXHU3NTc4XFx1NzU3NlxcdTc1ODZcXHU3NTg3XFx1NzU3NFxcdTc1OEFcXHU3NTg5XFx1NzU4MlxcdTc1OTRcXHU3NTlBXFx1NzU5RFxcdTc1QTVcXHU3NUEzXFx1NzVDMlxcdTc1QjNcXHU3NUMzXFx1NzVCNVxcdTc1QkRcXHU3NUI4XFx1NzVCQ1xcdTc1QjFcXHU3NUNEXFx1NzVDQVxcdTc1RDJcXHU3NUQ5XFx1NzVFM1xcdTc1REVcXHU3NUZFXFx1NzVGRlxcdTc1RkNcXHU3NjAxXFx1NzVGMFxcdTc1RkFcXHU3NUYyXFx1NzVGM1xcdTc2MEJcXHU3NjBEXFx1NzYwOVxcdTc2MUZcXHU3NjI3XFx1NzYyMFxcdTc2MjFcXHU3NjIyXFx1NzYyNFxcdTc2MzRcXHU3NjMwXFx1NzYzQlxcdTc2NDdcXHU3NjQ4XFx1NzY0NlxcdTc2NUNcXHU3NjU4XFx1NzY2MVxcdTc2NjJcXHU3NjY4XFx1NzY2OVxcdTc2NkFcXHU3NjY3XFx1NzY2Q1xcdTc2NzBcIl0sXG4gICAgICBbXCJlMmExXCIsIFwiXFx1NzY3MlxcdTc2NzZcXHU3Njc4XFx1NzY3Q1xcdTc2ODBcXHU3NjgzXFx1NzY4OFxcdTc2OEJcXHU3NjhFXFx1NzY5NlxcdTc2OTNcXHU3Njk5XFx1NzY5QVxcdTc2QjBcXHU3NkI0XFx1NzZCOFxcdTc2QjlcXHU3NkJBXFx1NzZDMlxcdTc2Q0RcXHU3NkQ2XFx1NzZEMlxcdTc2REVcXHU3NkUxXFx1NzZFNVxcdTc2RTdcXHU3NkVBXFx1ODYyRlxcdTc2RkJcXHU3NzA4XFx1NzcwN1xcdTc3MDRcXHU3NzI5XFx1NzcyNFxcdTc3MUVcXHU3NzI1XFx1NzcyNlxcdTc3MUJcXHU3NzM3XFx1NzczOFxcdTc3NDdcXHU3NzVBXFx1Nzc2OFxcdTc3NkJcXHU3NzVCXFx1Nzc2NVxcdTc3N0ZcXHU3NzdFXFx1Nzc3OVxcdTc3OEVcXHU3NzhCXFx1Nzc5MVxcdTc3QTBcXHU3NzlFXFx1NzdCMFxcdTc3QjZcXHU3N0I5XFx1NzdCRlxcdTc3QkNcXHU3N0JEXFx1NzdCQlxcdTc3QzdcXHU3N0NEXFx1NzdEN1xcdTc3REFcXHU3N0RDXFx1NzdFM1xcdTc3RUVcXHU3N0ZDXFx1NzgwQ1xcdTc4MTJcXHU3OTI2XFx1NzgyMFxcdTc5MkFcXHU3ODQ1XFx1Nzg4RVxcdTc4NzRcXHU3ODg2XFx1Nzg3Q1xcdTc4OUFcXHU3ODhDXFx1NzhBM1xcdTc4QjVcXHU3OEFBXFx1NzhBRlxcdTc4RDFcXHU3OEM2XFx1NzhDQlxcdTc4RDRcXHU3OEJFXFx1NzhCQ1xcdTc4QzVcXHU3OENBXFx1NzhFQ1wiXSxcbiAgICAgIFtcImUzYTFcIiwgXCJcXHU3OEU3XFx1NzhEQVxcdTc4RkRcXHU3OEY0XFx1NzkwN1xcdTc5MTJcXHU3OTExXFx1NzkxOVxcdTc5MkNcXHU3OTJCXFx1Nzk0MFxcdTc5NjBcXHU3OTU3XFx1Nzk1RlxcdTc5NUFcXHU3OTU1XFx1Nzk1M1xcdTc5N0FcXHU3OTdGXFx1Nzk4QVxcdTc5OURcXHU3OUE3XFx1OUY0QlxcdTc5QUFcXHU3OUFFXFx1NzlCM1xcdTc5QjlcXHU3OUJBXFx1NzlDOVxcdTc5RDVcXHU3OUU3XFx1NzlFQ1xcdTc5RTFcXHU3OUUzXFx1N0EwOFxcdTdBMERcXHU3QTE4XFx1N0ExOVxcdTdBMjBcXHU3QTFGXFx1Nzk4MFxcdTdBMzFcXHU3QTNCXFx1N0EzRVxcdTdBMzdcXHU3QTQzXFx1N0E1N1xcdTdBNDlcXHU3QTYxXFx1N0E2MlxcdTdBNjlcXHU5RjlEXFx1N0E3MFxcdTdBNzlcXHU3QTdEXFx1N0E4OFxcdTdBOTdcXHU3QTk1XFx1N0E5OFxcdTdBOTZcXHU3QUE5XFx1N0FDOFxcdTdBQjBcXHU3QUI2XFx1N0FDNVxcdTdBQzRcXHU3QUJGXFx1OTA4M1xcdTdBQzdcXHU3QUNBXFx1N0FDRFxcdTdBQ0ZcXHU3QUQ1XFx1N0FEM1xcdTdBRDlcXHU3QURBXFx1N0FERFxcdTdBRTFcXHU3QUUyXFx1N0FFNlxcdTdBRURcXHU3QUYwXFx1N0IwMlxcdTdCMEZcXHU3QjBBXFx1N0IwNlxcdTdCMzNcXHU3QjE4XFx1N0IxOVxcdTdCMUVcXHU3QjM1XFx1N0IyOFxcdTdCMzZcXHU3QjUwXCJdLFxuICAgICAgW1wiZTRhMVwiLCBcIlxcdTdCN0FcXHU3QjA0XFx1N0I0RFxcdTdCMEJcXHU3QjRDXFx1N0I0NVxcdTdCNzVcXHU3QjY1XFx1N0I3NFxcdTdCNjdcXHU3QjcwXFx1N0I3MVxcdTdCNkNcXHU3QjZFXFx1N0I5RFxcdTdCOThcXHU3QjlGXFx1N0I4RFxcdTdCOUNcXHU3QjlBXFx1N0I4QlxcdTdCOTJcXHU3QjhGXFx1N0I1RFxcdTdCOTlcXHU3QkNCXFx1N0JDMVxcdTdCQ0NcXHU3QkNGXFx1N0JCNFxcdTdCQzZcXHU3QkREXFx1N0JFOVxcdTdDMTFcXHU3QzE0XFx1N0JFNlxcdTdCRTVcXHU3QzYwXFx1N0MwMFxcdTdDMDdcXHU3QzEzXFx1N0JGM1xcdTdCRjdcXHU3QzE3XFx1N0MwRFxcdTdCRjZcXHU3QzIzXFx1N0MyN1xcdTdDMkFcXHU3QzFGXFx1N0MzN1xcdTdDMkJcXHU3QzNEXFx1N0M0Q1xcdTdDNDNcXHU3QzU0XFx1N0M0RlxcdTdDNDBcXHU3QzUwXFx1N0M1OFxcdTdDNUZcXHU3QzY0XFx1N0M1NlxcdTdDNjVcXHU3QzZDXFx1N0M3NVxcdTdDODNcXHU3QzkwXFx1N0NBNFxcdTdDQURcXHU3Q0EyXFx1N0NBQlxcdTdDQTFcXHU3Q0E4XFx1N0NCM1xcdTdDQjJcXHU3Q0IxXFx1N0NBRVxcdTdDQjlcXHU3Q0JEXFx1N0NDMFxcdTdDQzVcXHU3Q0MyXFx1N0NEOFxcdTdDRDJcXHU3Q0RDXFx1N0NFMlxcdTlCM0JcXHU3Q0VGXFx1N0NGMlxcdTdDRjRcXHU3Q0Y2XFx1N0NGQVxcdTdEMDZcIl0sXG4gICAgICBbXCJlNWExXCIsIFwiXFx1N0QwMlxcdTdEMUNcXHU3RDE1XFx1N0QwQVxcdTdENDVcXHU3RDRCXFx1N0QyRVxcdTdEMzJcXHU3RDNGXFx1N0QzNVxcdTdENDZcXHU3RDczXFx1N0Q1NlxcdTdENEVcXHU3RDcyXFx1N0Q2OFxcdTdENkVcXHU3RDRGXFx1N0Q2M1xcdTdEOTNcXHU3RDg5XFx1N0Q1QlxcdTdEOEZcXHU3RDdEXFx1N0Q5QlxcdTdEQkFcXHU3REFFXFx1N0RBM1xcdTdEQjVcXHU3REM3XFx1N0RCRFxcdTdEQUJcXHU3RTNEXFx1N0RBMlxcdTdEQUZcXHU3RERDXFx1N0RCOFxcdTdEOUZcXHU3REIwXFx1N0REOFxcdTdERERcXHU3REU0XFx1N0RERVxcdTdERkJcXHU3REYyXFx1N0RFMVxcdTdFMDVcXHU3RTBBXFx1N0UyM1xcdTdFMjFcXHU3RTEyXFx1N0UzMVxcdTdFMUZcXHU3RTA5XFx1N0UwQlxcdTdFMjJcXHU3RTQ2XFx1N0U2NlxcdTdFM0JcXHU3RTM1XFx1N0UzOVxcdTdFNDNcXHU3RTM3XFx1N0UzMlxcdTdFM0FcXHU3RTY3XFx1N0U1RFxcdTdFNTZcXHU3RTVFXFx1N0U1OVxcdTdFNUFcXHU3RTc5XFx1N0U2QVxcdTdFNjlcXHU3RTdDXFx1N0U3QlxcdTdFODNcXHU3REQ1XFx1N0U3RFxcdThGQUVcXHU3RTdGXFx1N0U4OFxcdTdFODlcXHU3RThDXFx1N0U5MlxcdTdFOTBcXHU3RTkzXFx1N0U5NFxcdTdFOTZcXHU3RThFXFx1N0U5QlxcdTdFOUNcXHU3RjM4XFx1N0YzQVwiXSxcbiAgICAgIFtcImU2YTFcIiwgXCJcXHU3RjQ1XFx1N0Y0Q1xcdTdGNERcXHU3RjRFXFx1N0Y1MFxcdTdGNTFcXHU3RjU1XFx1N0Y1NFxcdTdGNThcXHU3RjVGXFx1N0Y2MFxcdTdGNjhcXHU3RjY5XFx1N0Y2N1xcdTdGNzhcXHU3RjgyXFx1N0Y4NlxcdTdGODNcXHU3Rjg4XFx1N0Y4N1xcdTdGOENcXHU3Rjk0XFx1N0Y5RVxcdTdGOURcXHU3RjlBXFx1N0ZBM1xcdTdGQUZcXHU3RkIyXFx1N0ZCOVxcdTdGQUVcXHU3RkI2XFx1N0ZCOFxcdThCNzFcXHU3RkM1XFx1N0ZDNlxcdTdGQ0FcXHU3RkQ1XFx1N0ZENFxcdTdGRTFcXHU3RkU2XFx1N0ZFOVxcdTdGRjNcXHU3RkY5XFx1OThEQ1xcdTgwMDZcXHU4MDA0XFx1ODAwQlxcdTgwMTJcXHU4MDE4XFx1ODAxOVxcdTgwMUNcXHU4MDIxXFx1ODAyOFxcdTgwM0ZcXHU4MDNCXFx1ODA0QVxcdTgwNDZcXHU4MDUyXFx1ODA1OFxcdTgwNUFcXHU4MDVGXFx1ODA2MlxcdTgwNjhcXHU4MDczXFx1ODA3MlxcdTgwNzBcXHU4MDc2XFx1ODA3OVxcdTgwN0RcXHU4MDdGXFx1ODA4NFxcdTgwODZcXHU4MDg1XFx1ODA5QlxcdTgwOTNcXHU4MDlBXFx1ODBBRFxcdTUxOTBcXHU4MEFDXFx1ODBEQlxcdTgwRTVcXHU4MEQ5XFx1ODBERFxcdTgwQzRcXHU4MERBXFx1ODBENlxcdTgxMDlcXHU4MEVGXFx1ODBGMVxcdTgxMUJcXHU4MTI5XFx1ODEyM1xcdTgxMkZcXHU4MTRCXCJdLFxuICAgICAgW1wiZTdhMVwiLCBcIlxcdTk2OEJcXHU4MTQ2XFx1ODEzRVxcdTgxNTNcXHU4MTUxXFx1ODBGQ1xcdTgxNzFcXHU4MTZFXFx1ODE2NVxcdTgxNjZcXHU4MTc0XFx1ODE4M1xcdTgxODhcXHU4MThBXFx1ODE4MFxcdTgxODJcXHU4MUEwXFx1ODE5NVxcdTgxQTRcXHU4MUEzXFx1ODE1RlxcdTgxOTNcXHU4MUE5XFx1ODFCMFxcdTgxQjVcXHU4MUJFXFx1ODFCOFxcdTgxQkRcXHU4MUMwXFx1ODFDMlxcdTgxQkFcXHU4MUM5XFx1ODFDRFxcdTgxRDFcXHU4MUQ5XFx1ODFEOFxcdTgxQzhcXHU4MURBXFx1ODFERlxcdTgxRTBcXHU4MUU3XFx1ODFGQVxcdTgxRkJcXHU4MUZFXFx1ODIwMVxcdTgyMDJcXHU4MjA1XFx1ODIwN1xcdTgyMEFcXHU4MjBEXFx1ODIxMFxcdTgyMTZcXHU4MjI5XFx1ODIyQlxcdTgyMzhcXHU4MjMzXFx1ODI0MFxcdTgyNTlcXHU4MjU4XFx1ODI1RFxcdTgyNUFcXHU4MjVGXFx1ODI2NFxcdTgyNjJcXHU4MjY4XFx1ODI2QVxcdTgyNkJcXHU4MjJFXFx1ODI3MVxcdTgyNzdcXHU4Mjc4XFx1ODI3RVxcdTgyOERcXHU4MjkyXFx1ODJBQlxcdTgyOUZcXHU4MkJCXFx1ODJBQ1xcdTgyRTFcXHU4MkUzXFx1ODJERlxcdTgyRDJcXHU4MkY0XFx1ODJGM1xcdTgyRkFcXHU4MzkzXFx1ODMwM1xcdTgyRkJcXHU4MkY5XFx1ODJERVxcdTgzMDZcXHU4MkRDXFx1ODMwOVxcdTgyRDlcIl0sXG4gICAgICBbXCJlOGExXCIsIFwiXFx1ODMzNVxcdTgzMzRcXHU4MzE2XFx1ODMzMlxcdTgzMzFcXHU4MzQwXFx1ODMzOVxcdTgzNTBcXHU4MzQ1XFx1ODMyRlxcdTgzMkJcXHU4MzE3XFx1ODMxOFxcdTgzODVcXHU4MzlBXFx1ODNBQVxcdTgzOUZcXHU4M0EyXFx1ODM5NlxcdTgzMjNcXHU4MzhFXFx1ODM4N1xcdTgzOEFcXHU4MzdDXFx1ODNCNVxcdTgzNzNcXHU4Mzc1XFx1ODNBMFxcdTgzODlcXHU4M0E4XFx1ODNGNFxcdTg0MTNcXHU4M0VCXFx1ODNDRVxcdTgzRkRcXHU4NDAzXFx1ODNEOFxcdTg0MEJcXHU4M0MxXFx1ODNGN1xcdTg0MDdcXHU4M0UwXFx1ODNGMlxcdTg0MERcXHU4NDIyXFx1ODQyMFxcdTgzQkRcXHU4NDM4XFx1ODUwNlxcdTgzRkJcXHU4NDZEXFx1ODQyQVxcdTg0M0NcXHU4NTVBXFx1ODQ4NFxcdTg0NzdcXHU4NDZCXFx1ODRBRFxcdTg0NkVcXHU4NDgyXFx1ODQ2OVxcdTg0NDZcXHU4NDJDXFx1ODQ2RlxcdTg0NzlcXHU4NDM1XFx1ODRDQVxcdTg0NjJcXHU4NEI5XFx1ODRCRlxcdTg0OUZcXHU4NEQ5XFx1ODRDRFxcdTg0QkJcXHU4NERBXFx1ODREMFxcdTg0QzFcXHU4NEM2XFx1ODRENlxcdTg0QTFcXHU4NTIxXFx1ODRGRlxcdTg0RjRcXHU4NTE3XFx1ODUxOFxcdTg1MkNcXHU4NTFGXFx1ODUxNVxcdTg1MTRcXHU4NEZDXFx1ODU0MFxcdTg1NjNcXHU4NTU4XFx1ODU0OFwiXSxcbiAgICAgIFtcImU5YTFcIiwgXCJcXHU4NTQxXFx1ODYwMlxcdTg1NEJcXHU4NTU1XFx1ODU4MFxcdTg1QTRcXHU4NTg4XFx1ODU5MVxcdTg1OEFcXHU4NUE4XFx1ODU2RFxcdTg1OTRcXHU4NTlCXFx1ODVFQVxcdTg1ODdcXHU4NTlDXFx1ODU3N1xcdTg1N0VcXHU4NTkwXFx1ODVDOVxcdTg1QkFcXHU4NUNGXFx1ODVCOVxcdTg1RDBcXHU4NUQ1XFx1ODVERFxcdTg1RTVcXHU4NURDXFx1ODVGOVxcdTg2MEFcXHU4NjEzXFx1ODYwQlxcdTg1RkVcXHU4NUZBXFx1ODYwNlxcdTg2MjJcXHU4NjFBXFx1ODYzMFxcdTg2M0ZcXHU4NjREXFx1NEU1NVxcdTg2NTRcXHU4NjVGXFx1ODY2N1xcdTg2NzFcXHU4NjkzXFx1ODZBM1xcdTg2QTlcXHU4NkFBXFx1ODY4QlxcdTg2OENcXHU4NkI2XFx1ODZBRlxcdTg2QzRcXHU4NkM2XFx1ODZCMFxcdTg2QzlcXHU4ODIzXFx1ODZBQlxcdTg2RDRcXHU4NkRFXFx1ODZFOVxcdTg2RUNcXHU4NkRGXFx1ODZEQlxcdTg2RUZcXHU4NzEyXFx1ODcwNlxcdTg3MDhcXHU4NzAwXFx1ODcwM1xcdTg2RkJcXHU4NzExXFx1ODcwOVxcdTg3MERcXHU4NkY5XFx1ODcwQVxcdTg3MzRcXHU4NzNGXFx1ODczN1xcdTg3M0JcXHU4NzI1XFx1ODcyOVxcdTg3MUFcXHU4NzYwXFx1ODc1RlxcdTg3NzhcXHU4NzRDXFx1ODc0RVxcdTg3NzRcXHU4NzU3XFx1ODc2OFxcdTg3NkVcXHU4NzU5XCJdLFxuICAgICAgW1wiZWFhMVwiLCBcIlxcdTg3NTNcXHU4NzYzXFx1ODc2QVxcdTg4MDVcXHU4N0EyXFx1ODc5RlxcdTg3ODJcXHU4N0FGXFx1ODdDQlxcdTg3QkRcXHU4N0MwXFx1ODdEMFxcdTk2RDZcXHU4N0FCXFx1ODdDNFxcdTg3QjNcXHU4N0M3XFx1ODdDNlxcdTg3QkJcXHU4N0VGXFx1ODdGMlxcdTg3RTBcXHU4ODBGXFx1ODgwRFxcdTg3RkVcXHU4N0Y2XFx1ODdGN1xcdTg4MEVcXHU4N0QyXFx1ODgxMVxcdTg4MTZcXHU4ODE1XFx1ODgyMlxcdTg4MjFcXHU4ODMxXFx1ODgzNlxcdTg4MzlcXHU4ODI3XFx1ODgzQlxcdTg4NDRcXHU4ODQyXFx1ODg1MlxcdTg4NTlcXHU4ODVFXFx1ODg2MlxcdTg4NkJcXHU4ODgxXFx1ODg3RVxcdTg4OUVcXHU4ODc1XFx1ODg3RFxcdTg4QjVcXHU4ODcyXFx1ODg4MlxcdTg4OTdcXHU4ODkyXFx1ODhBRVxcdTg4OTlcXHU4OEEyXFx1ODg4RFxcdTg4QTRcXHU4OEIwXFx1ODhCRlxcdTg4QjFcXHU4OEMzXFx1ODhDNFxcdTg4RDRcXHU4OEQ4XFx1ODhEOVxcdTg4RERcXHU4OEY5XFx1ODkwMlxcdTg4RkNcXHU4OEY0XFx1ODhFOFxcdTg4RjJcXHU4OTA0XFx1ODkwQ1xcdTg5MEFcXHU4OTEzXFx1ODk0M1xcdTg5MUVcXHU4OTI1XFx1ODkyQVxcdTg5MkJcXHU4OTQxXFx1ODk0NFxcdTg5M0JcXHU4OTM2XFx1ODkzOFxcdTg5NENcXHU4OTFEXFx1ODk2MFxcdTg5NUVcIl0sXG4gICAgICBbXCJlYmExXCIsIFwiXFx1ODk2NlxcdTg5NjRcXHU4OTZEXFx1ODk2QVxcdTg5NkZcXHU4OTc0XFx1ODk3N1xcdTg5N0VcXHU4OTgzXFx1ODk4OFxcdTg5OEFcXHU4OTkzXFx1ODk5OFxcdTg5QTFcXHU4OUE5XFx1ODlBNlxcdTg5QUNcXHU4OUFGXFx1ODlCMlxcdTg5QkFcXHU4OUJEXFx1ODlCRlxcdTg5QzBcXHU4OURBXFx1ODlEQ1xcdTg5RERcXHU4OUU3XFx1ODlGNFxcdTg5RjhcXHU4QTAzXFx1OEExNlxcdThBMTBcXHU4QTBDXFx1OEExQlxcdThBMURcXHU4QTI1XFx1OEEzNlxcdThBNDFcXHU4QTVCXFx1OEE1MlxcdThBNDZcXHU4QTQ4XFx1OEE3Q1xcdThBNkRcXHU4QTZDXFx1OEE2MlxcdThBODVcXHU4QTgyXFx1OEE4NFxcdThBQThcXHU4QUExXFx1OEE5MVxcdThBQTVcXHU4QUE2XFx1OEE5QVxcdThBQTNcXHU4QUM0XFx1OEFDRFxcdThBQzJcXHU4QURBXFx1OEFFQlxcdThBRjNcXHU4QUU3XFx1OEFFNFxcdThBRjFcXHU4QjE0XFx1OEFFMFxcdThBRTJcXHU4QUY3XFx1OEFERVxcdThBREJcXHU4QjBDXFx1OEIwN1xcdThCMUFcXHU4QUUxXFx1OEIxNlxcdThCMTBcXHU4QjE3XFx1OEIyMFxcdThCMzNcXHU5N0FCXFx1OEIyNlxcdThCMkJcXHU4QjNFXFx1OEIyOFxcdThCNDFcXHU4QjRDXFx1OEI0RlxcdThCNEVcXHU4QjQ5XFx1OEI1NlxcdThCNUJcXHU4QjVBXFx1OEI2QlwiXSxcbiAgICAgIFtcImVjYTFcIiwgXCJcXHU4QjVGXFx1OEI2Q1xcdThCNkZcXHU4Qjc0XFx1OEI3RFxcdThCODBcXHU4QjhDXFx1OEI4RVxcdThCOTJcXHU4QjkzXFx1OEI5NlxcdThCOTlcXHU4QjlBXFx1OEMzQVxcdThDNDFcXHU4QzNGXFx1OEM0OFxcdThDNENcXHU4QzRFXFx1OEM1MFxcdThDNTVcXHU4QzYyXFx1OEM2Q1xcdThDNzhcXHU4QzdBXFx1OEM4MlxcdThDODlcXHU4Qzg1XFx1OEM4QVxcdThDOERcXHU4QzhFXFx1OEM5NFxcdThDN0NcXHU4Qzk4XFx1NjIxRFxcdThDQURcXHU4Q0FBXFx1OENCRFxcdThDQjJcXHU4Q0IzXFx1OENBRVxcdThDQjZcXHU4Q0M4XFx1OENDMVxcdThDRTRcXHU4Q0UzXFx1OENEQVxcdThDRkRcXHU4Q0ZBXFx1OENGQlxcdThEMDRcXHU4RDA1XFx1OEQwQVxcdThEMDdcXHU4RDBGXFx1OEQwRFxcdThEMTBcXHU5RjRFXFx1OEQxM1xcdThDQ0RcXHU4RDE0XFx1OEQxNlxcdThENjdcXHU4RDZEXFx1OEQ3MVxcdThENzNcXHU4RDgxXFx1OEQ5OVxcdThEQzJcXHU4REJFXFx1OERCQVxcdThEQ0ZcXHU4RERBXFx1OERENlxcdThEQ0NcXHU4RERCXFx1OERDQlxcdThERUFcXHU4REVCXFx1OERERlxcdThERTNcXHU4REZDXFx1OEUwOFxcdThFMDlcXHU4REZGXFx1OEUxRFxcdThFMUVcXHU4RTEwXFx1OEUxRlxcdThFNDJcXHU4RTM1XFx1OEUzMFxcdThFMzRcXHU4RTRBXCJdLFxuICAgICAgW1wiZWRhMVwiLCBcIlxcdThFNDdcXHU4RTQ5XFx1OEU0Q1xcdThFNTBcXHU4RTQ4XFx1OEU1OVxcdThFNjRcXHU4RTYwXFx1OEUyQVxcdThFNjNcXHU4RTU1XFx1OEU3NlxcdThFNzJcXHU4RTdDXFx1OEU4MVxcdThFODdcXHU4RTg1XFx1OEU4NFxcdThFOEJcXHU4RThBXFx1OEU5M1xcdThFOTFcXHU4RTk0XFx1OEU5OVxcdThFQUFcXHU4RUExXFx1OEVBQ1xcdThFQjBcXHU4RUM2XFx1OEVCMVxcdThFQkVcXHU4RUM1XFx1OEVDOFxcdThFQ0JcXHU4RURCXFx1OEVFM1xcdThFRkNcXHU4RUZCXFx1OEVFQlxcdThFRkVcXHU4RjBBXFx1OEYwNVxcdThGMTVcXHU4RjEyXFx1OEYxOVxcdThGMTNcXHU4RjFDXFx1OEYxRlxcdThGMUJcXHU4RjBDXFx1OEYyNlxcdThGMzNcXHU4RjNCXFx1OEYzOVxcdThGNDVcXHU4RjQyXFx1OEYzRVxcdThGNENcXHU4RjQ5XFx1OEY0NlxcdThGNEVcXHU4RjU3XFx1OEY1Q1xcdThGNjJcXHU4RjYzXFx1OEY2NFxcdThGOUNcXHU4RjlGXFx1OEZBM1xcdThGQURcXHU4RkFGXFx1OEZCN1xcdThGREFcXHU4RkU1XFx1OEZFMlxcdThGRUFcXHU4RkVGXFx1OTA4N1xcdThGRjRcXHU5MDA1XFx1OEZGOVxcdThGRkFcXHU5MDExXFx1OTAxNVxcdTkwMjFcXHU5MDBEXFx1OTAxRVxcdTkwMTZcXHU5MDBCXFx1OTAyN1xcdTkwMzZcXHU5MDM1XFx1OTAzOVxcdThGRjhcIl0sXG4gICAgICBbXCJlZWExXCIsIFwiXFx1OTA0RlxcdTkwNTBcXHU5MDUxXFx1OTA1MlxcdTkwMEVcXHU5MDQ5XFx1OTAzRVxcdTkwNTZcXHU5MDU4XFx1OTA1RVxcdTkwNjhcXHU5MDZGXFx1OTA3NlxcdTk2QThcXHU5MDcyXFx1OTA4MlxcdTkwN0RcXHU5MDgxXFx1OTA4MFxcdTkwOEFcXHU5MDg5XFx1OTA4RlxcdTkwQThcXHU5MEFGXFx1OTBCMVxcdTkwQjVcXHU5MEUyXFx1OTBFNFxcdTYyNDhcXHU5MERCXFx1OTEwMlxcdTkxMTJcXHU5MTE5XFx1OTEzMlxcdTkxMzBcXHU5MTRBXFx1OTE1NlxcdTkxNThcXHU5MTYzXFx1OTE2NVxcdTkxNjlcXHU5MTczXFx1OTE3MlxcdTkxOEJcXHU5MTg5XFx1OTE4MlxcdTkxQTJcXHU5MUFCXFx1OTFBRlxcdTkxQUFcXHU5MUI1XFx1OTFCNFxcdTkxQkFcXHU5MUMwXFx1OTFDMVxcdTkxQzlcXHU5MUNCXFx1OTFEMFxcdTkxRDZcXHU5MURGXFx1OTFFMVxcdTkxREJcXHU5MUZDXFx1OTFGNVxcdTkxRjZcXHU5MjFFXFx1OTFGRlxcdTkyMTRcXHU5MjJDXFx1OTIxNVxcdTkyMTFcXHU5MjVFXFx1OTI1N1xcdTkyNDVcXHU5MjQ5XFx1OTI2NFxcdTkyNDhcXHU5Mjk1XFx1OTIzRlxcdTkyNEJcXHU5MjUwXFx1OTI5Q1xcdTkyOTZcXHU5MjkzXFx1OTI5QlxcdTkyNUFcXHU5MkNGXFx1OTJCOVxcdTkyQjdcXHU5MkU5XFx1OTMwRlxcdTkyRkFcXHU5MzQ0XFx1OTMyRVwiXSxcbiAgICAgIFtcImVmYTFcIiwgXCJcXHU5MzE5XFx1OTMyMlxcdTkzMUFcXHU5MzIzXFx1OTMzQVxcdTkzMzVcXHU5MzNCXFx1OTM1Q1xcdTkzNjBcXHU5MzdDXFx1OTM2RVxcdTkzNTZcXHU5M0IwXFx1OTNBQ1xcdTkzQURcXHU5Mzk0XFx1OTNCOVxcdTkzRDZcXHU5M0Q3XFx1OTNFOFxcdTkzRTVcXHU5M0Q4XFx1OTNDM1xcdTkzRERcXHU5M0QwXFx1OTNDOFxcdTkzRTRcXHU5NDFBXFx1OTQxNFxcdTk0MTNcXHU5NDAzXFx1OTQwN1xcdTk0MTBcXHU5NDM2XFx1OTQyQlxcdTk0MzVcXHU5NDIxXFx1OTQzQVxcdTk0NDFcXHU5NDUyXFx1OTQ0NFxcdTk0NUJcXHU5NDYwXFx1OTQ2MlxcdTk0NUVcXHU5NDZBXFx1OTIyOVxcdTk0NzBcXHU5NDc1XFx1OTQ3N1xcdTk0N0RcXHU5NDVBXFx1OTQ3Q1xcdTk0N0VcXHU5NDgxXFx1OTQ3RlxcdTk1ODJcXHU5NTg3XFx1OTU4QVxcdTk1OTRcXHU5NTk2XFx1OTU5OFxcdTk1OTlcXHU5NUEwXFx1OTVBOFxcdTk1QTdcXHU5NUFEXFx1OTVCQ1xcdTk1QkJcXHU5NUI5XFx1OTVCRVxcdTk1Q0FcXHU2RkY2XFx1OTVDM1xcdTk1Q0RcXHU5NUNDXFx1OTVENVxcdTk1RDRcXHU5NUQ2XFx1OTVEQ1xcdTk1RTFcXHU5NUU1XFx1OTVFMlxcdTk2MjFcXHU5NjI4XFx1OTYyRVxcdTk2MkZcXHU5NjQyXFx1OTY0Q1xcdTk2NEZcXHU5NjRCXFx1OTY3N1xcdTk2NUNcXHU5NjVFXCJdLFxuICAgICAgW1wiZjBhMVwiLCBcIlxcdTk2NURcXHU5NjVGXFx1OTY2NlxcdTk2NzJcXHU5NjZDXFx1OTY4RFxcdTk2OThcXHU5Njk1XFx1OTY5N1xcdTk2QUFcXHU5NkE3XFx1OTZCMVxcdTk2QjJcXHU5NkIwXFx1OTZCNFxcdTk2QjZcXHU5NkI4XFx1OTZCOVxcdTk2Q0VcXHU5NkNCXFx1OTZDOVxcdTk2Q0RcXHU4OTREXFx1OTZEQ1xcdTk3MERcXHU5NkQ1XFx1OTZGOVxcdTk3MDRcXHU5NzA2XFx1OTcwOFxcdTk3MTNcXHU5NzBFXFx1OTcxMVxcdTk3MEZcXHU5NzE2XFx1OTcxOVxcdTk3MjRcXHU5NzJBXFx1OTczMFxcdTk3MzlcXHU5NzNEXFx1OTczRVxcdTk3NDRcXHU5NzQ2XFx1OTc0OFxcdTk3NDJcXHU5NzQ5XFx1OTc1Q1xcdTk3NjBcXHU5NzY0XFx1OTc2NlxcdTk3NjhcXHU1MkQyXFx1OTc2QlxcdTk3NzFcXHU5Nzc5XFx1OTc4NVxcdTk3N0NcXHU5NzgxXFx1OTc3QVxcdTk3ODZcXHU5NzhCXFx1OTc4RlxcdTk3OTBcXHU5NzlDXFx1OTdBOFxcdTk3QTZcXHU5N0EzXFx1OTdCM1xcdTk3QjRcXHU5N0MzXFx1OTdDNlxcdTk3QzhcXHU5N0NCXFx1OTdEQ1xcdTk3RURcXHU5RjRGXFx1OTdGMlxcdTdBREZcXHU5N0Y2XFx1OTdGNVxcdTk4MEZcXHU5ODBDXFx1OTgzOFxcdTk4MjRcXHU5ODIxXFx1OTgzN1xcdTk4M0RcXHU5ODQ2XFx1OTg0RlxcdTk4NEJcXHU5ODZCXFx1OTg2RlxcdTk4NzBcIl0sXG4gICAgICBbXCJmMWExXCIsIFwiXFx1OTg3MVxcdTk4NzRcXHU5ODczXFx1OThBQVxcdTk4QUZcXHU5OEIxXFx1OThCNlxcdTk4QzRcXHU5OEMzXFx1OThDNlxcdTk4RTlcXHU5OEVCXFx1OTkwM1xcdTk5MDlcXHU5OTEyXFx1OTkxNFxcdTk5MThcXHU5OTIxXFx1OTkxRFxcdTk5MUVcXHU5OTI0XFx1OTkyMFxcdTk5MkNcXHU5OTJFXFx1OTkzRFxcdTk5M0VcXHU5OTQyXFx1OTk0OVxcdTk5NDVcXHU5OTUwXFx1OTk0QlxcdTk5NTFcXHU5OTUyXFx1OTk0Q1xcdTk5NTVcXHU5OTk3XFx1OTk5OFxcdTk5QTVcXHU5OUFEXFx1OTlBRVxcdTk5QkNcXHU5OURGXFx1OTlEQlxcdTk5RERcXHU5OUQ4XFx1OTlEMVxcdTk5RURcXHU5OUVFXFx1OTlGMVxcdTk5RjJcXHU5OUZCXFx1OTlGOFxcdTlBMDFcXHU5QTBGXFx1OUEwNVxcdTk5RTJcXHU5QTE5XFx1OUEyQlxcdTlBMzdcXHU5QTQ1XFx1OUE0MlxcdTlBNDBcXHU5QTQzXFx1OUEzRVxcdTlBNTVcXHU5QTREXFx1OUE1QlxcdTlBNTdcXHU5QTVGXFx1OUE2MlxcdTlBNjVcXHU5QTY0XFx1OUE2OVxcdTlBNkJcXHU5QTZBXFx1OUFBRFxcdTlBQjBcXHU5QUJDXFx1OUFDMFxcdTlBQ0ZcXHU5QUQxXFx1OUFEM1xcdTlBRDRcXHU5QURFXFx1OUFERlxcdTlBRTJcXHU5QUUzXFx1OUFFNlxcdTlBRUZcXHU5QUVCXFx1OUFFRVxcdTlBRjRcXHU5QUYxXFx1OUFGN1wiXSxcbiAgICAgIFtcImYyYTFcIiwgXCJcXHU5QUZCXFx1OUIwNlxcdTlCMThcXHU5QjFBXFx1OUIxRlxcdTlCMjJcXHU5QjIzXFx1OUIyNVxcdTlCMjdcXHU5QjI4XFx1OUIyOVxcdTlCMkFcXHU5QjJFXFx1OUIyRlxcdTlCMzJcXHU5QjQ0XFx1OUI0M1xcdTlCNEZcXHU5QjREXFx1OUI0RVxcdTlCNTFcXHU5QjU4XFx1OUI3NFxcdTlCOTNcXHU5QjgzXFx1OUI5MVxcdTlCOTZcXHU5Qjk3XFx1OUI5RlxcdTlCQTBcXHU5QkE4XFx1OUJCNFxcdTlCQzBcXHU5QkNBXFx1OUJCOVxcdTlCQzZcXHU5QkNGXFx1OUJEMVxcdTlCRDJcXHU5QkUzXFx1OUJFMlxcdTlCRTRcXHU5QkQ0XFx1OUJFMVxcdTlDM0FcXHU5QkYyXFx1OUJGMVxcdTlCRjBcXHU5QzE1XFx1OUMxNFxcdTlDMDlcXHU5QzEzXFx1OUMwQ1xcdTlDMDZcXHU5QzA4XFx1OUMxMlxcdTlDMEFcXHU5QzA0XFx1OUMyRVxcdTlDMUJcXHU5QzI1XFx1OUMyNFxcdTlDMjFcXHU5QzMwXFx1OUM0N1xcdTlDMzJcXHU5QzQ2XFx1OUMzRVxcdTlDNUFcXHU5QzYwXFx1OUM2N1xcdTlDNzZcXHU5Qzc4XFx1OUNFN1xcdTlDRUNcXHU5Q0YwXFx1OUQwOVxcdTlEMDhcXHU5Q0VCXFx1OUQwM1xcdTlEMDZcXHU5RDJBXFx1OUQyNlxcdTlEQUZcXHU5RDIzXFx1OUQxRlxcdTlENDRcXHU5RDE1XFx1OUQxMlxcdTlENDFcXHU5RDNGXFx1OUQzRVxcdTlENDZcXHU5RDQ4XCJdLFxuICAgICAgW1wiZjNhMVwiLCBcIlxcdTlENURcXHU5RDVFXFx1OUQ2NFxcdTlENTFcXHU5RDUwXFx1OUQ1OVxcdTlENzJcXHU5RDg5XFx1OUQ4N1xcdTlEQUJcXHU5RDZGXFx1OUQ3QVxcdTlEOUFcXHU5REE0XFx1OURBOVxcdTlEQjJcXHU5REM0XFx1OURDMVxcdTlEQkJcXHU5REI4XFx1OURCQVxcdTlEQzZcXHU5RENGXFx1OURDMlxcdTlERDlcXHU5REQzXFx1OURGOFxcdTlERTZcXHU5REVEXFx1OURFRlxcdTlERkRcXHU5RTFBXFx1OUUxQlxcdTlFMUVcXHU5RTc1XFx1OUU3OVxcdTlFN0RcXHU5RTgxXFx1OUU4OFxcdTlFOEJcXHU5RThDXFx1OUU5MlxcdTlFOTVcXHU5RTkxXFx1OUU5RFxcdTlFQTVcXHU5RUE5XFx1OUVCOFxcdTlFQUFcXHU5RUFEXFx1OTc2MVxcdTlFQ0NcXHU5RUNFXFx1OUVDRlxcdTlFRDBcXHU5RUQ0XFx1OUVEQ1xcdTlFREVcXHU5RUREXFx1OUVFMFxcdTlFRTVcXHU5RUU4XFx1OUVFRlxcdTlFRjRcXHU5RUY2XFx1OUVGN1xcdTlFRjlcXHU5RUZCXFx1OUVGQ1xcdTlFRkRcXHU5RjA3XFx1OUYwOFxcdTc2QjdcXHU5RjE1XFx1OUYyMVxcdTlGMkNcXHU5RjNFXFx1OUY0QVxcdTlGNTJcXHU5RjU0XFx1OUY2M1xcdTlGNUZcXHU5RjYwXFx1OUY2MVxcdTlGNjZcXHU5RjY3XFx1OUY2Q1xcdTlGNkFcXHU5Rjc3XFx1OUY3MlxcdTlGNzZcXHU5Rjk1XFx1OUY5Q1xcdTlGQTBcIl0sXG4gICAgICBbXCJmNGExXCIsIFwiXFx1NTgyRlxcdTY5QzdcXHU5MDU5XFx1NzQ2NFxcdTUxRENcXHU3MTk5XCJdLFxuICAgICAgW1wiZjlhMVwiLCBcIlxcdTdFOEFcXHU4OTFDXFx1OTM0OFxcdTkyODhcXHU4NERDXFx1NEZDOVxcdTcwQkJcXHU2NjMxXFx1NjhDOFxcdTkyRjlcXHU2NkZCXFx1NUY0NVxcdTRFMjhcXHU0RUUxXFx1NEVGQ1xcdTRGMDBcXHU0RjAzXFx1NEYzOVxcdTRGNTZcXHU0RjkyXFx1NEY4QVxcdTRGOUFcXHU0Rjk0XFx1NEZDRFxcdTUwNDBcXHU1MDIyXFx1NEZGRlxcdTUwMUVcXHU1MDQ2XFx1NTA3MFxcdTUwNDJcXHU1MDk0XFx1NTBGNFxcdTUwRDhcXHU1MTRBXFx1NTE2NFxcdTUxOURcXHU1MUJFXFx1NTFFQ1xcdTUyMTVcXHU1MjlDXFx1NTJBNlxcdTUyQzBcXHU1MkRCXFx1NTMwMFxcdTUzMDdcXHU1MzI0XFx1NTM3MlxcdTUzOTNcXHU1M0IyXFx1NTNERFxcdUZBMEVcXHU1NDlDXFx1NTQ4QVxcdTU0QTlcXHU1NEZGXFx1NTU4NlxcdTU3NTlcXHU1NzY1XFx1NTdBQ1xcdTU3QzhcXHU1N0M3XFx1RkEwRlxcdUZBMTBcXHU1ODlFXFx1NThCMlxcdTU5MEJcXHU1OTUzXFx1NTk1QlxcdTU5NURcXHU1OTYzXFx1NTlBNFxcdTU5QkFcXHU1QjU2XFx1NUJDMFxcdTc1MkZcXHU1QkQ4XFx1NUJFQ1xcdTVDMUVcXHU1Q0E2XFx1NUNCQVxcdTVDRjVcXHU1RDI3XFx1NUQ1M1xcdUZBMTFcXHU1RDQyXFx1NUQ2RFxcdTVEQjhcXHU1REI5XFx1NUREMFxcdTVGMjFcXHU1RjM0XFx1NUY2N1xcdTVGQjdcIl0sXG4gICAgICBbXCJmYWExXCIsIFwiXFx1NUZERVxcdTYwNURcXHU2MDg1XFx1NjA4QVxcdTYwREVcXHU2MEQ1XFx1NjEyMFxcdTYwRjJcXHU2MTExXFx1NjEzN1xcdTYxMzBcXHU2MTk4XFx1NjIxM1xcdTYyQTZcXHU2M0Y1XFx1NjQ2MFxcdTY0OURcXHU2NENFXFx1NjU0RVxcdTY2MDBcXHU2NjE1XFx1NjYzQlxcdTY2MDlcXHU2NjJFXFx1NjYxRVxcdTY2MjRcXHU2NjY1XFx1NjY1N1xcdTY2NTlcXHVGQTEyXFx1NjY3M1xcdTY2OTlcXHU2NkEwXFx1NjZCMlxcdTY2QkZcXHU2NkZBXFx1NjcwRVxcdUY5MjlcXHU2NzY2XFx1NjdCQlxcdTY4NTJcXHU2N0MwXFx1NjgwMVxcdTY4NDRcXHU2OENGXFx1RkExM1xcdTY5NjhcXHVGQTE0XFx1Njk5OFxcdTY5RTJcXHU2QTMwXFx1NkE2QlxcdTZBNDZcXHU2QTczXFx1NkE3RVxcdTZBRTJcXHU2QUU0XFx1NkJENlxcdTZDM0ZcXHU2QzVDXFx1NkM4NlxcdTZDNkZcXHU2Q0RBXFx1NkQwNFxcdTZEODdcXHU2RDZGXFx1NkQ5NlxcdTZEQUNcXHU2RENGXFx1NkRGOFxcdTZERjJcXHU2REZDXFx1NkUzOVxcdTZFNUNcXHU2RTI3XFx1NkUzQ1xcdTZFQkZcXHU2Rjg4XFx1NkZCNVxcdTZGRjVcXHU3MDA1XFx1NzAwN1xcdTcwMjhcXHU3MDg1XFx1NzBBQlxcdTcxMEZcXHU3MTA0XFx1NzE1Q1xcdTcxNDZcXHU3MTQ3XFx1RkExNVxcdTcxQzFcXHU3MUZFXFx1NzJCMVwiXSxcbiAgICAgIFtcImZiYTFcIiwgXCJcXHU3MkJFXFx1NzMyNFxcdUZBMTZcXHU3Mzc3XFx1NzNCRFxcdTczQzlcXHU3M0Q2XFx1NzNFM1xcdTczRDJcXHU3NDA3XFx1NzNGNVxcdTc0MjZcXHU3NDJBXFx1NzQyOVxcdTc0MkVcXHU3NDYyXFx1NzQ4OVxcdTc0OUZcXHU3NTAxXFx1NzU2RlxcdTc2ODJcXHU3NjlDXFx1NzY5RVxcdTc2OUJcXHU3NkE2XFx1RkExN1xcdTc3NDZcXHU1MkFGXFx1NzgyMVxcdTc4NEVcXHU3ODY0XFx1Nzg3QVxcdTc5MzBcXHVGQTE4XFx1RkExOVxcdUZBMUFcXHU3OTk0XFx1RkExQlxcdTc5OUJcXHU3QUQxXFx1N0FFN1xcdUZBMUNcXHU3QUVCXFx1N0I5RVxcdUZBMURcXHU3RDQ4XFx1N0Q1Q1xcdTdEQjdcXHU3REEwXFx1N0RENlxcdTdFNTJcXHU3RjQ3XFx1N0ZBMVxcdUZBMUVcXHU4MzAxXFx1ODM2MlxcdTgzN0ZcXHU4M0M3XFx1ODNGNlxcdTg0NDhcXHU4NEI0XFx1ODU1M1xcdTg1NTlcXHU4NTZCXFx1RkExRlxcdTg1QjBcXHVGQTIwXFx1RkEyMVxcdTg4MDdcXHU4OEY1XFx1OEExMlxcdThBMzdcXHU4QTc5XFx1OEFBN1xcdThBQkVcXHU4QURGXFx1RkEyMlxcdThBRjZcXHU4QjUzXFx1OEI3RlxcdThDRjBcXHU4Q0Y0XFx1OEQxMlxcdThENzZcXHVGQTIzXFx1OEVDRlxcdUZBMjRcXHVGQTI1XFx1OTA2N1xcdTkwREVcXHVGQTI2XFx1OTExNVxcdTkxMjdcXHU5MURBXCJdLFxuICAgICAgW1wiZmNhMVwiLCBcIlxcdTkxRDdcXHU5MURFXFx1OTFFRFxcdTkxRUVcXHU5MUU0XFx1OTFFNVxcdTkyMDZcXHU5MjEwXFx1OTIwQVxcdTkyM0FcXHU5MjQwXFx1OTIzQ1xcdTkyNEVcXHU5MjU5XFx1OTI1MVxcdTkyMzlcXHU5MjY3XFx1OTJBN1xcdTkyNzdcXHU5Mjc4XFx1OTJFN1xcdTkyRDdcXHU5MkQ5XFx1OTJEMFxcdUZBMjdcXHU5MkQ1XFx1OTJFMFxcdTkyRDNcXHU5MzI1XFx1OTMyMVxcdTkyRkJcXHVGQTI4XFx1OTMxRVxcdTkyRkZcXHU5MzFEXFx1OTMwMlxcdTkzNzBcXHU5MzU3XFx1OTNBNFxcdTkzQzZcXHU5M0RFXFx1OTNGOFxcdTk0MzFcXHU5NDQ1XFx1OTQ0OFxcdTk1OTJcXHVGOURDXFx1RkEyOVxcdTk2OURcXHU5NkFGXFx1OTczM1xcdTk3M0JcXHU5NzQzXFx1OTc0RFxcdTk3NEZcXHU5NzUxXFx1OTc1NVxcdTk4NTdcXHU5ODY1XFx1RkEyQVxcdUZBMkJcXHU5OTI3XFx1RkEyQ1xcdTk5OUVcXHU5QTRFXFx1OUFEOVxcdTlBRENcXHU5Qjc1XFx1OUI3MlxcdTlCOEZcXHU5QkIxXFx1OUJCQlxcdTlDMDBcXHU5RDcwXFx1OUQ2QlxcdUZBMkRcXHU5RTE5XFx1OUVEMVwiXSxcbiAgICAgIFtcImZjZjFcIiwgXCJcXHUyMTcwXCIsIDksIFwiXFx1RkZFMlxcdUZGRTRcXHVGRjA3XFx1RkYwMlwiXSxcbiAgICAgIFtcIjhmYTJhZlwiLCBcIlxcdTAyRDhcXHUwMkM3XFx4QjhcXHUwMkQ5XFx1MDJERFxceEFGXFx1MDJEQlxcdTAyREFcXHVGRjVFXFx1MDM4NFxcdTAzODVcIl0sXG4gICAgICBbXCI4ZmEyYzJcIiwgXCJcXHhBMVxceEE2XFx4QkZcIl0sXG4gICAgICBbXCI4ZmEyZWJcIiwgXCJcXHhCQVxceEFBXFx4QTlcXHhBRVxcdTIxMjJcXHhBNFxcdTIxMTZcIl0sXG4gICAgICBbXCI4ZmE2ZTFcIiwgXCJcXHUwMzg2XFx1MDM4OFxcdTAzODlcXHUwMzhBXFx1MDNBQVwiXSxcbiAgICAgIFtcIjhmYTZlN1wiLCBcIlxcdTAzOENcIl0sXG4gICAgICBbXCI4ZmE2ZTlcIiwgXCJcXHUwMzhFXFx1MDNBQlwiXSxcbiAgICAgIFtcIjhmYTZlY1wiLCBcIlxcdTAzOEZcIl0sXG4gICAgICBbXCI4ZmE2ZjFcIiwgXCJcXHUwM0FDXFx1MDNBRFxcdTAzQUVcXHUwM0FGXFx1MDNDQVxcdTAzOTBcXHUwM0NDXFx1MDNDMlxcdTAzQ0RcXHUwM0NCXFx1MDNCMFxcdTAzQ0VcIl0sXG4gICAgICBbXCI4ZmE3YzJcIiwgXCJcXHUwNDAyXCIsIDEwLCBcIlxcdTA0MEVcXHUwNDBGXCJdLFxuICAgICAgW1wiOGZhN2YyXCIsIFwiXFx1MDQ1MlwiLCAxMCwgXCJcXHUwNDVFXFx1MDQ1RlwiXSxcbiAgICAgIFtcIjhmYTlhMVwiLCBcIlxceEM2XFx1MDExMFwiXSxcbiAgICAgIFtcIjhmYTlhNFwiLCBcIlxcdTAxMjZcIl0sXG4gICAgICBbXCI4ZmE5YTZcIiwgXCJcXHUwMTMyXCJdLFxuICAgICAgW1wiOGZhOWE4XCIsIFwiXFx1MDE0MVxcdTAxM0ZcIl0sXG4gICAgICBbXCI4ZmE5YWJcIiwgXCJcXHUwMTRBXFx4RDhcXHUwMTUyXCJdLFxuICAgICAgW1wiOGZhOWFmXCIsIFwiXFx1MDE2NlxceERFXCJdLFxuICAgICAgW1wiOGZhOWMxXCIsIFwiXFx4RTZcXHUwMTExXFx4RjBcXHUwMTI3XFx1MDEzMVxcdTAxMzNcXHUwMTM4XFx1MDE0MlxcdTAxNDBcXHUwMTQ5XFx1MDE0QlxceEY4XFx1MDE1M1xceERGXFx1MDE2N1xceEZFXCJdLFxuICAgICAgW1wiOGZhYWExXCIsIFwiXFx4QzFcXHhDMFxceEM0XFx4QzJcXHUwMTAyXFx1MDFDRFxcdTAxMDBcXHUwMTA0XFx4QzVcXHhDM1xcdTAxMDZcXHUwMTA4XFx1MDEwQ1xceEM3XFx1MDEwQVxcdTAxMEVcXHhDOVxceEM4XFx4Q0JcXHhDQVxcdTAxMUFcXHUwMTE2XFx1MDExMlxcdTAxMThcIl0sXG4gICAgICBbXCI4ZmFhYmFcIiwgXCJcXHUwMTFDXFx1MDExRVxcdTAxMjJcXHUwMTIwXFx1MDEyNFxceENEXFx4Q0NcXHhDRlxceENFXFx1MDFDRlxcdTAxMzBcXHUwMTJBXFx1MDEyRVxcdTAxMjhcXHUwMTM0XFx1MDEzNlxcdTAxMzlcXHUwMTNEXFx1MDEzQlxcdTAxNDNcXHUwMTQ3XFx1MDE0NVxceEQxXFx4RDNcXHhEMlxceEQ2XFx4RDRcXHUwMUQxXFx1MDE1MFxcdTAxNENcXHhENVxcdTAxNTRcXHUwMTU4XFx1MDE1NlxcdTAxNUFcXHUwMTVDXFx1MDE2MFxcdTAxNUVcXHUwMTY0XFx1MDE2MlxceERBXFx4RDlcXHhEQ1xceERCXFx1MDE2Q1xcdTAxRDNcXHUwMTcwXFx1MDE2QVxcdTAxNzJcXHUwMTZFXFx1MDE2OFxcdTAxRDdcXHUwMURCXFx1MDFEOVxcdTAxRDVcXHUwMTc0XFx4RERcXHUwMTc4XFx1MDE3NlxcdTAxNzlcXHUwMTdEXFx1MDE3QlwiXSxcbiAgICAgIFtcIjhmYWJhMVwiLCBcIlxceEUxXFx4RTBcXHhFNFxceEUyXFx1MDEwM1xcdTAxQ0VcXHUwMTAxXFx1MDEwNVxceEU1XFx4RTNcXHUwMTA3XFx1MDEwOVxcdTAxMERcXHhFN1xcdTAxMEJcXHUwMTBGXFx4RTlcXHhFOFxceEVCXFx4RUFcXHUwMTFCXFx1MDExN1xcdTAxMTNcXHUwMTE5XFx1MDFGNVxcdTAxMURcXHUwMTFGXCJdLFxuICAgICAgW1wiOGZhYmJkXCIsIFwiXFx1MDEyMVxcdTAxMjVcXHhFRFxceEVDXFx4RUZcXHhFRVxcdTAxRDBcIl0sXG4gICAgICBbXCI4ZmFiYzVcIiwgXCJcXHUwMTJCXFx1MDEyRlxcdTAxMjlcXHUwMTM1XFx1MDEzN1xcdTAxM0FcXHUwMTNFXFx1MDEzQ1xcdTAxNDRcXHUwMTQ4XFx1MDE0NlxceEYxXFx4RjNcXHhGMlxceEY2XFx4RjRcXHUwMUQyXFx1MDE1MVxcdTAxNERcXHhGNVxcdTAxNTVcXHUwMTU5XFx1MDE1N1xcdTAxNUJcXHUwMTVEXFx1MDE2MVxcdTAxNUZcXHUwMTY1XFx1MDE2M1xceEZBXFx4RjlcXHhGQ1xceEZCXFx1MDE2RFxcdTAxRDRcXHUwMTcxXFx1MDE2QlxcdTAxNzNcXHUwMTZGXFx1MDE2OVxcdTAxRDhcXHUwMURDXFx1MDFEQVxcdTAxRDZcXHUwMTc1XFx4RkRcXHhGRlxcdTAxNzdcXHUwMTdBXFx1MDE3RVxcdTAxN0NcIl0sXG4gICAgICBbXCI4ZmIwYTFcIiwgXCJcXHU0RTAyXFx1NEUwNFxcdTRFMDVcXHU0RTBDXFx1NEUxMlxcdTRFMUZcXHU0RTIzXFx1NEUyNFxcdTRFMjhcXHU0RTJCXFx1NEUyRVxcdTRFMkZcXHU0RTMwXFx1NEUzNVxcdTRFNDBcXHU0RTQxXFx1NEU0NFxcdTRFNDdcXHU0RTUxXFx1NEU1QVxcdTRFNUNcXHU0RTYzXFx1NEU2OFxcdTRFNjlcXHU0RTc0XFx1NEU3NVxcdTRFNzlcXHU0RTdGXFx1NEU4RFxcdTRFOTZcXHU0RTk3XFx1NEU5RFxcdTRFQUZcXHU0RUI5XFx1NEVDM1xcdTRFRDBcXHU0RURBXFx1NEVEQlxcdTRFRTBcXHU0RUUxXFx1NEVFMlxcdTRFRThcXHU0RUVGXFx1NEVGMVxcdTRFRjNcXHU0RUY1XFx1NEVGRFxcdTRFRkVcXHU0RUZGXFx1NEYwMFxcdTRGMDJcXHU0RjAzXFx1NEYwOFxcdTRGMEJcXHU0RjBDXFx1NEYxMlxcdTRGMTVcXHU0RjE2XFx1NEYxN1xcdTRGMTlcXHU0RjJFXFx1NEYzMVxcdTRGNjBcXHU0RjMzXFx1NEYzNVxcdTRGMzdcXHU0RjM5XFx1NEYzQlxcdTRGM0VcXHU0RjQwXFx1NEY0MlxcdTRGNDhcXHU0RjQ5XFx1NEY0QlxcdTRGNENcXHU0RjUyXFx1NEY1NFxcdTRGNTZcXHU0RjU4XFx1NEY1RlxcdTRGNjNcXHU0RjZBXFx1NEY2Q1xcdTRGNkVcXHU0RjcxXFx1NEY3N1xcdTRGNzhcXHU0Rjc5XFx1NEY3QVxcdTRGN0RcXHU0RjdFXFx1NEY4MVxcdTRGODJcXHU0Rjg0XCJdLFxuICAgICAgW1wiOGZiMWExXCIsIFwiXFx1NEY4NVxcdTRGODlcXHU0RjhBXFx1NEY4Q1xcdTRGOEVcXHU0RjkwXFx1NEY5MlxcdTRGOTNcXHU0Rjk0XFx1NEY5N1xcdTRGOTlcXHU0RjlBXFx1NEY5RVxcdTRGOUZcXHU0RkIyXFx1NEZCN1xcdTRGQjlcXHU0RkJCXFx1NEZCQ1xcdTRGQkRcXHU0RkJFXFx1NEZDMFxcdTRGQzFcXHU0RkM1XFx1NEZDNlxcdTRGQzhcXHU0RkM5XFx1NEZDQlxcdTRGQ0NcXHU0RkNEXFx1NEZDRlxcdTRGRDJcXHU0RkRDXFx1NEZFMFxcdTRGRTJcXHU0RkYwXFx1NEZGMlxcdTRGRkNcXHU0RkZEXFx1NEZGRlxcdTUwMDBcXHU1MDAxXFx1NTAwNFxcdTUwMDdcXHU1MDBBXFx1NTAwQ1xcdTUwMEVcXHU1MDEwXFx1NTAxM1xcdTUwMTdcXHU1MDE4XFx1NTAxQlxcdTUwMUNcXHU1MDFEXFx1NTAxRVxcdTUwMjJcXHU1MDI3XFx1NTAyRVxcdTUwMzBcXHU1MDMyXFx1NTAzM1xcdTUwMzVcXHU1MDQwXFx1NTA0MVxcdTUwNDJcXHU1MDQ1XFx1NTA0NlxcdTUwNEFcXHU1MDRDXFx1NTA0RVxcdTUwNTFcXHU1MDUyXFx1NTA1M1xcdTUwNTdcXHU1MDU5XFx1NTA1RlxcdTUwNjBcXHU1MDYyXFx1NTA2M1xcdTUwNjZcXHU1MDY3XFx1NTA2QVxcdTUwNkRcXHU1MDcwXFx1NTA3MVxcdTUwM0JcXHU1MDgxXFx1NTA4M1xcdTUwODRcXHU1MDg2XFx1NTA4QVxcdTUwOEVcXHU1MDhGXFx1NTA5MFwiXSxcbiAgICAgIFtcIjhmYjJhMVwiLCBcIlxcdTUwOTJcXHU1MDkzXFx1NTA5NFxcdTUwOTZcXHU1MDlCXFx1NTA5Q1xcdTUwOUVcIiwgNCwgXCJcXHU1MEFBXFx1NTBBRlxcdTUwQjBcXHU1MEI5XFx1NTBCQVxcdTUwQkRcXHU1MEMwXFx1NTBDM1xcdTUwQzRcXHU1MEM3XFx1NTBDQ1xcdTUwQ0VcXHU1MEQwXFx1NTBEM1xcdTUwRDRcXHU1MEQ4XFx1NTBEQ1xcdTUwRERcXHU1MERGXFx1NTBFMlxcdTUwRTRcXHU1MEU2XFx1NTBFOFxcdTUwRTlcXHU1MEVGXFx1NTBGMVxcdTUwRjZcXHU1MEZBXFx1NTBGRVxcdTUxMDNcXHU1MTA2XFx1NTEwN1xcdTUxMDhcXHU1MTBCXFx1NTEwQ1xcdTUxMERcXHU1MTBFXFx1NTBGMlxcdTUxMTBcXHU1MTE3XFx1NTExOVxcdTUxMUJcXHU1MTFDXFx1NTExRFxcdTUxMUVcXHU1MTIzXFx1NTEyN1xcdTUxMjhcXHU1MTJDXFx1NTEyRFxcdTUxMkZcXHU1MTMxXFx1NTEzM1xcdTUxMzRcXHU1MTM1XFx1NTEzOFxcdTUxMzlcXHU1MTQyXFx1NTE0QVxcdTUxNEZcXHU1MTUzXFx1NTE1NVxcdTUxNTdcXHU1MTU4XFx1NTE1RlxcdTUxNjRcXHU1MTY2XFx1NTE3RVxcdTUxODNcXHU1MTg0XFx1NTE4QlxcdTUxOEVcXHU1MTk4XFx1NTE5RFxcdTUxQTFcXHU1MUEzXFx1NTFBRFxcdTUxQjhcXHU1MUJBXFx1NTFCQ1xcdTUxQkVcXHU1MUJGXFx1NTFDMlwiXSxcbiAgICAgIFtcIjhmYjNhMVwiLCBcIlxcdTUxQzhcXHU1MUNGXFx1NTFEMVxcdTUxRDJcXHU1MUQzXFx1NTFENVxcdTUxRDhcXHU1MURFXFx1NTFFMlxcdTUxRTVcXHU1MUVFXFx1NTFGMlxcdTUxRjNcXHU1MUY0XFx1NTFGN1xcdTUyMDFcXHU1MjAyXFx1NTIwNVxcdTUyMTJcXHU1MjEzXFx1NTIxNVxcdTUyMTZcXHU1MjE4XFx1NTIyMlxcdTUyMjhcXHU1MjMxXFx1NTIzMlxcdTUyMzVcXHU1MjNDXFx1NTI0NVxcdTUyNDlcXHU1MjU1XFx1NTI1N1xcdTUyNThcXHU1MjVBXFx1NTI1Q1xcdTUyNUZcXHU1MjYwXFx1NTI2MVxcdTUyNjZcXHU1MjZFXFx1NTI3N1xcdTUyNzhcXHU1Mjc5XFx1NTI4MFxcdTUyODJcXHU1Mjg1XFx1NTI4QVxcdTUyOENcXHU1MjkzXFx1NTI5NVxcdTUyOTZcXHU1Mjk3XFx1NTI5OFxcdTUyOUFcXHU1MjlDXFx1NTJBNFxcdTUyQTVcXHU1MkE2XFx1NTJBN1xcdTUyQUZcXHU1MkIwXFx1NTJCNlxcdTUyQjdcXHU1MkI4XFx1NTJCQVxcdTUyQkJcXHU1MkJEXFx1NTJDMFxcdTUyQzRcXHU1MkM2XFx1NTJDOFxcdTUyQ0NcXHU1MkNGXFx1NTJEMVxcdTUyRDRcXHU1MkQ2XFx1NTJEQlxcdTUyRENcXHU1MkUxXFx1NTJFNVxcdTUyRThcXHU1MkU5XFx1NTJFQVxcdTUyRUNcXHU1MkYwXFx1NTJGMVxcdTUyRjRcXHU1MkY2XFx1NTJGN1xcdTUzMDBcXHU1MzAzXFx1NTMwQVxcdTUzMEJcIl0sXG4gICAgICBbXCI4ZmI0YTFcIiwgXCJcXHU1MzBDXFx1NTMxMVxcdTUzMTNcXHU1MzE4XFx1NTMxQlxcdTUzMUNcXHU1MzFFXFx1NTMxRlxcdTUzMjVcXHU1MzI3XFx1NTMyOFxcdTUzMjlcXHU1MzJCXFx1NTMyQ1xcdTUzMkRcXHU1MzMwXFx1NTMzMlxcdTUzMzVcXHU1MzNDXFx1NTMzRFxcdTUzM0VcXHU1MzQyXFx1NTM0Q1xcdTUzNEJcXHU1MzU5XFx1NTM1QlxcdTUzNjFcXHU1MzYzXFx1NTM2NVxcdTUzNkNcXHU1MzZEXFx1NTM3MlxcdTUzNzlcXHU1MzdFXFx1NTM4M1xcdTUzODdcXHU1Mzg4XFx1NTM4RVxcdTUzOTNcXHU1Mzk0XFx1NTM5OVxcdTUzOURcXHU1M0ExXFx1NTNBNFxcdTUzQUFcXHU1M0FCXFx1NTNBRlxcdTUzQjJcXHU1M0I0XFx1NTNCNVxcdTUzQjdcXHU1M0I4XFx1NTNCQVxcdTUzQkRcXHU1M0MwXFx1NTNDNVxcdTUzQ0ZcXHU1M0QyXFx1NTNEM1xcdTUzRDVcXHU1M0RBXFx1NTNERFxcdTUzREVcXHU1M0UwXFx1NTNFNlxcdTUzRTdcXHU1M0Y1XFx1NTQwMlxcdTU0MTNcXHU1NDFBXFx1NTQyMVxcdTU0MjdcXHU1NDI4XFx1NTQyQVxcdTU0MkZcXHU1NDMxXFx1NTQzNFxcdTU0MzVcXHU1NDQzXFx1NTQ0NFxcdTU0NDdcXHU1NDREXFx1NTQ0RlxcdTU0NUVcXHU1NDYyXFx1NTQ2NFxcdTU0NjZcXHU1NDY3XFx1NTQ2OVxcdTU0NkJcXHU1NDZEXFx1NTQ2RVxcdTU0NzRcXHU1NDdGXCJdLFxuICAgICAgW1wiOGZiNWExXCIsIFwiXFx1NTQ4MVxcdTU0ODNcXHU1NDg1XFx1NTQ4OFxcdTU0ODlcXHU1NDhEXFx1NTQ5MVxcdTU0OTVcXHU1NDk2XFx1NTQ5Q1xcdTU0OUZcXHU1NEExXFx1NTRBNlxcdTU0QTdcXHU1NEE5XFx1NTRBQVxcdTU0QURcXHU1NEFFXFx1NTRCMVxcdTU0QjdcXHU1NEI5XFx1NTRCQVxcdTU0QkJcXHU1NEJGXFx1NTRDNlxcdTU0Q0FcXHU1NENEXFx1NTRDRVxcdTU0RTBcXHU1NEVBXFx1NTRFQ1xcdTU0RUZcXHU1NEY2XFx1NTRGQ1xcdTU0RkVcXHU1NEZGXFx1NTUwMFxcdTU1MDFcXHU1NTA1XFx1NTUwOFxcdTU1MDlcXHU1NTBDXFx1NTUwRFxcdTU1MEVcXHU1NTE1XFx1NTUyQVxcdTU1MkJcXHU1NTMyXFx1NTUzNVxcdTU1MzZcXHU1NTNCXFx1NTUzQ1xcdTU1M0RcXHU1NTQxXFx1NTU0N1xcdTU1NDlcXHU1NTRBXFx1NTU0RFxcdTU1NTBcXHU1NTUxXFx1NTU1OFxcdTU1NUFcXHU1NTVCXFx1NTU1RVxcdTU1NjBcXHU1NTYxXFx1NTU2NFxcdTU1NjZcXHU1NTdGXFx1NTU4MVxcdTU1ODJcXHU1NTg2XFx1NTU4OFxcdTU1OEVcXHU1NThGXFx1NTU5MVxcdTU1OTJcXHU1NTkzXFx1NTU5NFxcdTU1OTdcXHU1NUEzXFx1NTVBNFxcdTU1QURcXHU1NUIyXFx1NTVCRlxcdTU1QzFcXHU1NUMzXFx1NTVDNlxcdTU1QzlcXHU1NUNCXFx1NTVDQ1xcdTU1Q0VcXHU1NUQxXFx1NTVEMlwiXSxcbiAgICAgIFtcIjhmYjZhMVwiLCBcIlxcdTU1RDNcXHU1NUQ3XFx1NTVEOFxcdTU1REJcXHU1NURFXFx1NTVFMlxcdTU1RTlcXHU1NUY2XFx1NTVGRlxcdTU2MDVcXHU1NjA4XFx1NTYwQVxcdTU2MERcIiwgNSwgXCJcXHU1NjE5XFx1NTYyQ1xcdTU2MzBcXHU1NjMzXFx1NTYzNVxcdTU2MzdcXHU1NjM5XFx1NTYzQlxcdTU2M0NcXHU1NjNEXFx1NTYzRlxcdTU2NDBcXHU1NjQxXFx1NTY0M1xcdTU2NDRcXHU1NjQ2XFx1NTY0OVxcdTU2NEJcXHU1NjREXFx1NTY0RlxcdTU2NTRcXHU1NjVFXFx1NTY2MFxcdTU2NjFcXHU1NjYyXFx1NTY2M1xcdTU2NjZcXHU1NjY5XFx1NTY2RFxcdTU2NkZcXHU1NjcxXFx1NTY3MlxcdTU2NzVcXHU1Njg0XFx1NTY4NVxcdTU2ODhcXHU1NjhCXFx1NTY4Q1xcdTU2OTVcXHU1Njk5XFx1NTY5QVxcdTU2OURcXHU1NjlFXFx1NTY5RlxcdTU2QTZcXHU1NkE3XFx1NTZBOFxcdTU2QTlcXHU1NkFCXFx1NTZBQ1xcdTU2QURcXHU1NkIxXFx1NTZCM1xcdTU2QjdcXHU1NkJFXFx1NTZDNVxcdTU2QzlcXHU1NkNBXFx1NTZDQlxcdTU2Q0ZcXHU1NkQwXFx1NTZDQ1xcdTU2Q0RcXHU1NkQ5XFx1NTZEQ1xcdTU2RERcXHU1NkRGXFx1NTZFMVxcdTU2RTRcIiwgNCwgXCJcXHU1NkYxXFx1NTZFQlxcdTU2RURcIl0sXG4gICAgICBbXCI4ZmI3YTFcIiwgXCJcXHU1NkY2XFx1NTZGN1xcdTU3MDFcXHU1NzAyXFx1NTcwN1xcdTU3MEFcXHU1NzBDXFx1NTcxMVxcdTU3MTVcXHU1NzFBXFx1NTcxQlxcdTU3MURcXHU1NzIwXFx1NTcyMlxcdTU3MjNcXHU1NzI0XFx1NTcyNVxcdTU3MjlcXHU1NzJBXFx1NTcyQ1xcdTU3MkVcXHU1NzJGXFx1NTczM1xcdTU3MzRcXHU1NzNEXFx1NTczRVxcdTU3M0ZcXHU1NzQ1XFx1NTc0NlxcdTU3NENcXHU1NzREXFx1NTc1MlxcdTU3NjJcXHU1NzY1XFx1NTc2N1xcdTU3NjhcXHU1NzZCXFx1NTc2RFwiLCA0LCBcIlxcdTU3NzNcXHU1Nzc0XFx1NTc3NVxcdTU3NzdcXHU1Nzc5XFx1NTc3QVxcdTU3N0JcXHU1NzdDXFx1NTc3RVxcdTU3ODFcXHU1NzgzXFx1NTc4Q1xcdTU3OTRcXHU1Nzk3XFx1NTc5OVxcdTU3OUFcXHU1NzlDXFx1NTc5RFxcdTU3OUVcXHU1NzlGXFx1NTdBMVxcdTU3OTVcXHU1N0E3XFx1NTdBOFxcdTU3QTlcXHU1N0FDXFx1NTdCOFxcdTU3QkRcXHU1N0M3XFx1NTdDOFxcdTU3Q0NcXHU1N0NGXFx1NTdENVxcdTU3RERcXHU1N0RFXFx1NTdFNFxcdTU3RTZcXHU1N0U3XFx1NTdFOVxcdTU3RURcXHU1N0YwXFx1NTdGNVxcdTU3RjZcXHU1N0Y4XFx1NTdGRFxcdTU3RkVcXHU1N0ZGXFx1NTgwM1xcdTU4MDRcXHU1ODA4XFx1NTgwOVxcdTU3RTFcIl0sXG4gICAgICBbXCI4ZmI4YTFcIiwgXCJcXHU1ODBDXFx1NTgwRFxcdTU4MUJcXHU1ODFFXFx1NTgxRlxcdTU4MjBcXHU1ODI2XFx1NTgyN1xcdTU4MkRcXHU1ODMyXFx1NTgzOVxcdTU4M0ZcXHU1ODQ5XFx1NTg0Q1xcdTU4NERcXHU1ODRGXFx1NTg1MFxcdTU4NTVcXHU1ODVGXFx1NTg2MVxcdTU4NjRcXHU1ODY3XFx1NTg2OFxcdTU4NzhcXHU1ODdDXFx1NTg3RlxcdTU4ODBcXHU1ODgxXFx1NTg4N1xcdTU4ODhcXHU1ODg5XFx1NTg4QVxcdTU4OENcXHU1ODhEXFx1NTg4RlxcdTU4OTBcXHU1ODk0XFx1NTg5NlxcdTU4OURcXHU1OEEwXFx1NThBMVxcdTU4QTJcXHU1OEE2XFx1NThBOVxcdTU4QjFcXHU1OEIyXFx1NThDNFxcdTU4QkNcXHU1OEMyXFx1NThDOFxcdTU4Q0RcXHU1OENFXFx1NThEMFxcdTU4RDJcXHU1OEQ0XFx1NThENlxcdTU4REFcXHU1OEREXFx1NThFMVxcdTU4RTJcXHU1OEU5XFx1NThGM1xcdTU5MDVcXHU1OTA2XFx1NTkwQlxcdTU5MENcXHU1OTEyXFx1NTkxM1xcdTU5MTRcXHU4NjQxXFx1NTkxRFxcdTU5MjFcXHU1OTIzXFx1NTkyNFxcdTU5MjhcXHU1OTJGXFx1NTkzMFxcdTU5MzNcXHU1OTM1XFx1NTkzNlxcdTU5M0ZcXHU1OTQzXFx1NTk0NlxcdTU5NTJcXHU1OTUzXFx1NTk1OVxcdTU5NUJcXHU1OTVEXFx1NTk1RVxcdTU5NUZcXHU1OTYxXFx1NTk2M1xcdTU5NkJcXHU1OTZEXCJdLFxuICAgICAgW1wiOGZiOWExXCIsIFwiXFx1NTk2RlxcdTU5NzJcXHU1OTc1XFx1NTk3NlxcdTU5NzlcXHU1OTdCXFx1NTk3Q1xcdTU5OEJcXHU1OThDXFx1NTk4RVxcdTU5OTJcXHU1OTk1XFx1NTk5N1xcdTU5OUZcXHU1OUE0XFx1NTlBN1xcdTU5QURcXHU1OUFFXFx1NTlBRlxcdTU5QjBcXHU1OUIzXFx1NTlCN1xcdTU5QkFcXHU1OUJDXFx1NTlDMVxcdTU5QzNcXHU1OUM0XFx1NTlDOFxcdTU5Q0FcXHU1OUNEXFx1NTlEMlxcdTU5RERcXHU1OURFXFx1NTlERlxcdTU5RTNcXHU1OUU0XFx1NTlFN1xcdTU5RUVcXHU1OUVGXFx1NTlGMVxcdTU5RjJcXHU1OUY0XFx1NTlGN1xcdTVBMDBcXHU1QTA0XFx1NUEwQ1xcdTVBMERcXHU1QTBFXFx1NUExMlxcdTVBMTNcXHU1QTFFXFx1NUEyM1xcdTVBMjRcXHU1QTI3XFx1NUEyOFxcdTVBMkFcXHU1QTJEXFx1NUEzMFxcdTVBNDRcXHU1QTQ1XFx1NUE0N1xcdTVBNDhcXHU1QTRDXFx1NUE1MFxcdTVBNTVcXHU1QTVFXFx1NUE2M1xcdTVBNjVcXHU1QTY3XFx1NUE2RFxcdTVBNzdcXHU1QTdBXFx1NUE3QlxcdTVBN0VcXHU1QThCXFx1NUE5MFxcdTVBOTNcXHU1QTk2XFx1NUE5OVxcdTVBOUNcXHU1QTlFXFx1NUE5RlxcdTVBQTBcXHU1QUEyXFx1NUFBN1xcdTVBQUNcXHU1QUIxXFx1NUFCMlxcdTVBQjNcXHU1QUI1XFx1NUFCOFxcdTVBQkFcXHU1QUJCXFx1NUFCRlwiXSxcbiAgICAgIFtcIjhmYmFhMVwiLCBcIlxcdTVBQzRcXHU1QUM2XFx1NUFDOFxcdTVBQ0ZcXHU1QURBXFx1NUFEQ1xcdTVBRTBcXHU1QUU1XFx1NUFFQVxcdTVBRUVcXHU1QUY1XFx1NUFGNlxcdTVBRkRcXHU1QjAwXFx1NUIwMVxcdTVCMDhcXHU1QjE3XFx1NUIzNFxcdTVCMTlcXHU1QjFCXFx1NUIxRFxcdTVCMjFcXHU1QjI1XFx1NUIyRFxcdTVCMzhcXHU1QjQxXFx1NUI0QlxcdTVCNENcXHU1QjUyXFx1NUI1NlxcdTVCNUVcXHU1QjY4XFx1NUI2RVxcdTVCNkZcXHU1QjdDXFx1NUI3RFxcdTVCN0VcXHU1QjdGXFx1NUI4MVxcdTVCODRcXHU1Qjg2XFx1NUI4QVxcdTVCOEVcXHU1QjkwXFx1NUI5MVxcdTVCOTNcXHU1Qjk0XFx1NUI5NlxcdTVCQThcXHU1QkE5XFx1NUJBQ1xcdTVCQURcXHU1QkFGXFx1NUJCMVxcdTVCQjJcXHU1QkI3XFx1NUJCQVxcdTVCQkNcXHU1QkMwXFx1NUJDMVxcdTVCQ0RcXHU1QkNGXFx1NUJENlwiLCA0LCBcIlxcdTVCRTBcXHU1QkVGXFx1NUJGMVxcdTVCRjRcXHU1QkZEXFx1NUMwQ1xcdTVDMTdcXHU1QzFFXFx1NUMxRlxcdTVDMjNcXHU1QzI2XFx1NUMyOVxcdTVDMkJcXHU1QzJDXFx1NUMyRVxcdTVDMzBcXHU1QzMyXFx1NUMzNVxcdTVDMzZcXHU1QzU5XFx1NUM1QVxcdTVDNUNcXHU1QzYyXFx1NUM2M1xcdTVDNjdcXHU1QzY4XFx1NUM2OVwiXSxcbiAgICAgIFtcIjhmYmJhMVwiLCBcIlxcdTVDNkRcXHU1QzcwXFx1NUM3NFxcdTVDNzVcXHU1QzdBXFx1NUM3QlxcdTVDN0NcXHU1QzdEXFx1NUM4N1xcdTVDODhcXHU1QzhBXFx1NUM4RlxcdTVDOTJcXHU1QzlEXFx1NUM5RlxcdTVDQTBcXHU1Q0EyXFx1NUNBM1xcdTVDQTZcXHU1Q0FBXFx1NUNCMlxcdTVDQjRcXHU1Q0I1XFx1NUNCQVxcdTVDQzlcXHU1Q0NCXFx1NUNEMlxcdTVDRERcXHU1Q0Q3XFx1NUNFRVxcdTVDRjFcXHU1Q0YyXFx1NUNGNFxcdTVEMDFcXHU1RDA2XFx1NUQwRFxcdTVEMTJcXHU1RDJCXFx1NUQyM1xcdTVEMjRcXHU1RDI2XFx1NUQyN1xcdTVEMzFcXHU1RDM0XFx1NUQzOVxcdTVEM0RcXHU1RDNGXFx1NUQ0MlxcdTVENDNcXHU1RDQ2XFx1NUQ0OFxcdTVENTVcXHU1RDUxXFx1NUQ1OVxcdTVENEFcXHU1RDVGXFx1NUQ2MFxcdTVENjFcXHU1RDYyXFx1NUQ2NFxcdTVENkFcXHU1RDZEXFx1NUQ3MFxcdTVENzlcXHU1RDdBXFx1NUQ3RVxcdTVEN0ZcXHU1RDgxXFx1NUQ4M1xcdTVEODhcXHU1RDhBXFx1NUQ5MlxcdTVEOTNcXHU1RDk0XFx1NUQ5NVxcdTVEOTlcXHU1RDlCXFx1NUQ5RlxcdTVEQTBcXHU1REE3XFx1NURBQlxcdTVEQjBcXHU1REI0XFx1NURCOFxcdTVEQjlcXHU1REMzXFx1NURDN1xcdTVEQ0JcXHU1REQwXFx1NURDRVxcdTVERDhcXHU1REQ5XFx1NURFMFxcdTVERTRcIl0sXG4gICAgICBbXCI4ZmJjYTFcIiwgXCJcXHU1REU5XFx1NURGOFxcdTVERjlcXHU1RTAwXFx1NUUwN1xcdTVFMERcXHU1RTEyXFx1NUUxNFxcdTVFMTVcXHU1RTE4XFx1NUUxRlxcdTVFMjBcXHU1RTJFXFx1NUUyOFxcdTVFMzJcXHU1RTM1XFx1NUUzRVxcdTVFNEJcXHU1RTUwXFx1NUU0OVxcdTVFNTFcXHU1RTU2XFx1NUU1OFxcdTVFNUJcXHU1RTVDXFx1NUU1RVxcdTVFNjhcXHU1RTZBXCIsIDQsIFwiXFx1NUU3MFxcdTVFODBcXHU1RThCXFx1NUU4RVxcdTVFQTJcXHU1RUE0XFx1NUVBNVxcdTVFQThcXHU1RUFBXFx1NUVBQ1xcdTVFQjFcXHU1RUIzXFx1NUVCRFxcdTVFQkVcXHU1RUJGXFx1NUVDNlxcdTVFQ0NcXHU1RUNCXFx1NUVDRVxcdTVFRDFcXHU1RUQyXFx1NUVENFxcdTVFRDVcXHU1RURDXFx1NUVERVxcdTVFRTVcXHU1RUVCXFx1NUYwMlxcdTVGMDZcXHU1RjA3XFx1NUYwOFxcdTVGMEVcXHU1RjE5XFx1NUYxQ1xcdTVGMURcXHU1RjIxXFx1NUYyMlxcdTVGMjNcXHU1RjI0XFx1NUYyOFxcdTVGMkJcXHU1RjJDXFx1NUYyRVxcdTVGMzBcXHU1RjM0XFx1NUYzNlxcdTVGM0JcXHU1RjNEXFx1NUYzRlxcdTVGNDBcXHU1RjQ0XFx1NUY0NVxcdTVGNDdcXHU1RjREXFx1NUY1MFxcdTVGNTRcXHU1RjU4XFx1NUY1QlxcdTVGNjBcXHU1RjYzXFx1NUY2NFxcdTVGNjdcIl0sXG4gICAgICBbXCI4ZmJkYTFcIiwgXCJcXHU1RjZGXFx1NUY3MlxcdTVGNzRcXHU1Rjc1XFx1NUY3OFxcdTVGN0FcXHU1RjdEXFx1NUY3RVxcdTVGODlcXHU1RjhEXFx1NUY4RlxcdTVGOTZcXHU1RjlDXFx1NUY5RFxcdTVGQTJcXHU1RkE3XFx1NUZBQlxcdTVGQTRcXHU1RkFDXFx1NUZBRlxcdTVGQjBcXHU1RkIxXFx1NUZCOFxcdTVGQzRcXHU1RkM3XFx1NUZDOFxcdTVGQzlcXHU1RkNCXFx1NUZEMFwiLCA0LCBcIlxcdTVGREVcXHU1RkUxXFx1NUZFMlxcdTVGRThcXHU1RkU5XFx1NUZFQVxcdTVGRUNcXHU1RkVEXFx1NUZFRVxcdTVGRUZcXHU1RkYyXFx1NUZGM1xcdTVGRjZcXHU1RkZBXFx1NUZGQ1xcdTYwMDdcXHU2MDBBXFx1NjAwRFxcdTYwMTNcXHU2MDE0XFx1NjAxN1xcdTYwMThcXHU2MDFBXFx1NjAxRlxcdTYwMjRcXHU2MDJEXFx1NjAzM1xcdTYwMzVcXHU2MDQwXFx1NjA0N1xcdTYwNDhcXHU2MDQ5XFx1NjA0Q1xcdTYwNTFcXHU2MDU0XFx1NjA1NlxcdTYwNTdcXHU2MDVEXFx1NjA2MVxcdTYwNjdcXHU2MDcxXFx1NjA3RVxcdTYwN0ZcXHU2MDgyXFx1NjA4NlxcdTYwODhcXHU2MDhBXFx1NjA4RVxcdTYwOTFcXHU2MDkzXFx1NjA5NVxcdTYwOThcXHU2MDlEXFx1NjA5RVxcdTYwQTJcXHU2MEE0XFx1NjBBNVxcdTYwQThcXHU2MEIwXFx1NjBCMVxcdTYwQjdcIl0sXG4gICAgICBbXCI4ZmJlYTFcIiwgXCJcXHU2MEJCXFx1NjBCRVxcdTYwQzJcXHU2MEM0XFx1NjBDOFxcdTYwQzlcXHU2MENBXFx1NjBDQlxcdTYwQ0VcXHU2MENGXFx1NjBENFxcdTYwRDVcXHU2MEQ5XFx1NjBEQlxcdTYwRERcXHU2MERFXFx1NjBFMlxcdTYwRTVcXHU2MEYyXFx1NjBGNVxcdTYwRjhcXHU2MEZDXFx1NjBGRFxcdTYxMDJcXHU2MTA3XFx1NjEwQVxcdTYxMENcXHU2MTEwXCIsIDQsIFwiXFx1NjExNlxcdTYxMTdcXHU2MTE5XFx1NjExQ1xcdTYxMUVcXHU2MTIyXFx1NjEyQVxcdTYxMkJcXHU2MTMwXFx1NjEzMVxcdTYxMzVcXHU2MTM2XFx1NjEzN1xcdTYxMzlcXHU2MTQxXFx1NjE0NVxcdTYxNDZcXHU2MTQ5XFx1NjE1RVxcdTYxNjBcXHU2MTZDXFx1NjE3MlxcdTYxNzhcXHU2MTdCXFx1NjE3Q1xcdTYxN0ZcXHU2MTgwXFx1NjE4MVxcdTYxODNcXHU2MTg0XFx1NjE4QlxcdTYxOERcXHU2MTkyXFx1NjE5M1xcdTYxOTdcXHU2MTk4XFx1NjE5Q1xcdTYxOURcXHU2MTlGXFx1NjFBMFxcdTYxQTVcXHU2MUE4XFx1NjFBQVxcdTYxQURcXHU2MUI4XFx1NjFCOVxcdTYxQkNcXHU2MUMwXFx1NjFDMVxcdTYxQzJcXHU2MUNFXFx1NjFDRlxcdTYxRDVcXHU2MURDXFx1NjFERFxcdTYxREVcXHU2MURGXFx1NjFFMVxcdTYxRTJcXHU2MUU3XFx1NjFFOVxcdTYxRTVcIl0sXG4gICAgICBbXCI4ZmJmYTFcIiwgXCJcXHU2MUVDXFx1NjFFRFxcdTYxRUZcXHU2MjAxXFx1NjIwM1xcdTYyMDRcXHU2MjA3XFx1NjIxM1xcdTYyMTVcXHU2MjFDXFx1NjIyMFxcdTYyMjJcXHU2MjIzXFx1NjIyN1xcdTYyMjlcXHU2MjJCXFx1NjIzOVxcdTYyM0RcXHU2MjQyXFx1NjI0M1xcdTYyNDRcXHU2MjQ2XFx1NjI0Q1xcdTYyNTBcXHU2MjUxXFx1NjI1MlxcdTYyNTRcXHU2MjU2XFx1NjI1QVxcdTYyNUNcXHU2MjY0XFx1NjI2RFxcdTYyNkZcXHU2MjczXFx1NjI3QVxcdTYyN0RcXHU2MjhEXFx1NjI4RVxcdTYyOEZcXHU2MjkwXFx1NjJBNlxcdTYyQThcXHU2MkIzXFx1NjJCNlxcdTYyQjdcXHU2MkJBXFx1NjJCRVxcdTYyQkZcXHU2MkM0XFx1NjJDRVxcdTYyRDVcXHU2MkQ2XFx1NjJEQVxcdTYyRUFcXHU2MkYyXFx1NjJGNFxcdTYyRkNcXHU2MkZEXFx1NjMwM1xcdTYzMDRcXHU2MzBBXFx1NjMwQlxcdTYzMERcXHU2MzEwXFx1NjMxM1xcdTYzMTZcXHU2MzE4XFx1NjMyOVxcdTYzMkFcXHU2MzJEXFx1NjMzNVxcdTYzMzZcXHU2MzM5XFx1NjMzQ1xcdTYzNDFcXHU2MzQyXFx1NjM0M1xcdTYzNDRcXHU2MzQ2XFx1NjM0QVxcdTYzNEJcXHU2MzRFXFx1NjM1MlxcdTYzNTNcXHU2MzU0XFx1NjM1OFxcdTYzNUJcXHU2MzY1XFx1NjM2NlxcdTYzNkNcXHU2MzZEXFx1NjM3MVxcdTYzNzRcXHU2Mzc1XCJdLFxuICAgICAgW1wiOGZjMGExXCIsIFwiXFx1NjM3OFxcdTYzN0NcXHU2MzdEXFx1NjM3RlxcdTYzODJcXHU2Mzg0XFx1NjM4N1xcdTYzOEFcXHU2MzkwXFx1NjM5NFxcdTYzOTVcXHU2Mzk5XFx1NjM5QVxcdTYzOUVcXHU2M0E0XFx1NjNBNlxcdTYzQURcXHU2M0FFXFx1NjNBRlxcdTYzQkRcXHU2M0MxXFx1NjNDNVxcdTYzQzhcXHU2M0NFXFx1NjNEMVxcdTYzRDNcXHU2M0Q0XFx1NjNENVxcdTYzRENcXHU2M0UwXFx1NjNFNVxcdTYzRUFcXHU2M0VDXFx1NjNGMlxcdTYzRjNcXHU2M0Y1XFx1NjNGOFxcdTYzRjlcXHU2NDA5XFx1NjQwQVxcdTY0MTBcXHU2NDEyXFx1NjQxNFxcdTY0MThcXHU2NDFFXFx1NjQyMFxcdTY0MjJcXHU2NDI0XFx1NjQyNVxcdTY0MjlcXHU2NDJBXFx1NjQyRlxcdTY0MzBcXHU2NDM1XFx1NjQzRFxcdTY0M0ZcXHU2NDRCXFx1NjQ0RlxcdTY0NTFcXHU2NDUyXFx1NjQ1M1xcdTY0NTRcXHU2NDVBXFx1NjQ1QlxcdTY0NUNcXHU2NDVEXFx1NjQ1RlxcdTY0NjBcXHU2NDYxXFx1NjQ2M1xcdTY0NkRcXHU2NDczXFx1NjQ3NFxcdTY0N0JcXHU2NDdEXFx1NjQ4NVxcdTY0ODdcXHU2NDhGXFx1NjQ5MFxcdTY0OTFcXHU2NDk4XFx1NjQ5OVxcdTY0OUJcXHU2NDlEXFx1NjQ5RlxcdTY0QTFcXHU2NEEzXFx1NjRBNlxcdTY0QThcXHU2NEFDXFx1NjRCM1xcdTY0QkRcXHU2NEJFXFx1NjRCRlwiXSxcbiAgICAgIFtcIjhmYzFhMVwiLCBcIlxcdTY0QzRcXHU2NEM5XFx1NjRDQVxcdTY0Q0JcXHU2NENDXFx1NjRDRVxcdTY0RDBcXHU2NEQxXFx1NjRENVxcdTY0RDdcXHU2NEU0XFx1NjRFNVxcdTY0RTlcXHU2NEVBXFx1NjRFRFxcdTY0RjBcXHU2NEY1XFx1NjRGN1xcdTY0RkJcXHU2NEZGXFx1NjUwMVxcdTY1MDRcXHU2NTA4XFx1NjUwOVxcdTY1MEFcXHU2NTBGXFx1NjUxM1xcdTY1MTRcXHU2NTE2XFx1NjUxOVxcdTY1MUJcXHU2NTFFXFx1NjUxRlxcdTY1MjJcXHU2NTI2XFx1NjUyOVxcdTY1MkVcXHU2NTMxXFx1NjUzQVxcdTY1M0NcXHU2NTNEXFx1NjU0M1xcdTY1NDdcXHU2NTQ5XFx1NjU1MFxcdTY1NTJcXHU2NTU0XFx1NjU1RlxcdTY1NjBcXHU2NTY3XFx1NjU2QlxcdTY1N0FcXHU2NTdEXFx1NjU4MVxcdTY1ODVcXHU2NThBXFx1NjU5MlxcdTY1OTVcXHU2NTk4XFx1NjU5RFxcdTY1QTBcXHU2NUEzXFx1NjVBNlxcdTY1QUVcXHU2NUIyXFx1NjVCM1xcdTY1QjRcXHU2NUJGXFx1NjVDMlxcdTY1QzhcXHU2NUM5XFx1NjVDRVxcdTY1RDBcXHU2NUQ0XFx1NjVENlxcdTY1RDhcXHU2NURGXFx1NjVGMFxcdTY1RjJcXHU2NUY0XFx1NjVGNVxcdTY1RjlcXHU2NUZFXFx1NjVGRlxcdTY2MDBcXHU2NjA0XFx1NjYwOFxcdTY2MDlcXHU2NjBEXFx1NjYxMVxcdTY2MTJcXHU2NjE1XFx1NjYxNlxcdTY2MURcIl0sXG4gICAgICBbXCI4ZmMyYTFcIiwgXCJcXHU2NjFFXFx1NjYyMVxcdTY2MjJcXHU2NjIzXFx1NjYyNFxcdTY2MjZcXHU2NjI5XFx1NjYyQVxcdTY2MkJcXHU2NjJDXFx1NjYyRVxcdTY2MzBcXHU2NjMxXFx1NjYzM1xcdTY2MzlcXHU2NjM3XFx1NjY0MFxcdTY2NDVcXHU2NjQ2XFx1NjY0QVxcdTY2NENcXHU2NjUxXFx1NjY0RVxcdTY2NTdcXHU2NjU4XFx1NjY1OVxcdTY2NUJcXHU2NjVDXFx1NjY2MFxcdTY2NjFcXHU2NkZCXFx1NjY2QVxcdTY2NkJcXHU2NjZDXFx1NjY3RVxcdTY2NzNcXHU2Njc1XFx1NjY3RlxcdTY2NzdcXHU2Njc4XFx1NjY3OVxcdTY2N0JcXHU2NjgwXFx1NjY3Q1xcdTY2OEJcXHU2NjhDXFx1NjY4RFxcdTY2OTBcXHU2NjkyXFx1NjY5OVxcdTY2OUFcXHU2NjlCXFx1NjY5Q1xcdTY2OUZcXHU2NkEwXFx1NjZBNFxcdTY2QURcXHU2NkIxXFx1NjZCMlxcdTY2QjVcXHU2NkJCXFx1NjZCRlxcdTY2QzBcXHU2NkMyXFx1NjZDM1xcdTY2QzhcXHU2NkNDXFx1NjZDRVxcdTY2Q0ZcXHU2NkQ0XFx1NjZEQlxcdTY2REZcXHU2NkU4XFx1NjZFQlxcdTY2RUNcXHU2NkVFXFx1NjZGQVxcdTY3MDVcXHU2NzA3XFx1NjcwRVxcdTY3MTNcXHU2NzE5XFx1NjcxQ1xcdTY3MjBcXHU2NzIyXFx1NjczM1xcdTY3M0VcXHU2NzQ1XFx1Njc0N1xcdTY3NDhcXHU2NzRDXFx1Njc1NFxcdTY3NTVcXHU2NzVEXCJdLFxuICAgICAgW1wiOGZjM2ExXCIsIFwiXFx1Njc2NlxcdTY3NkNcXHU2NzZFXFx1Njc3NFxcdTY3NzZcXHU2NzdCXFx1Njc4MVxcdTY3ODRcXHU2NzhFXFx1Njc4RlxcdTY3OTFcXHU2NzkzXFx1Njc5NlxcdTY3OThcXHU2Nzk5XFx1Njc5QlxcdTY3QjBcXHU2N0IxXFx1NjdCMlxcdTY3QjVcXHU2N0JCXFx1NjdCQ1xcdTY3QkRcXHU2N0Y5XFx1NjdDMFxcdTY3QzJcXHU2N0MzXFx1NjdDNVxcdTY3QzhcXHU2N0M5XFx1NjdEMlxcdTY3RDdcXHU2N0Q5XFx1NjdEQ1xcdTY3RTFcXHU2N0U2XFx1NjdGMFxcdTY3RjJcXHU2N0Y2XFx1NjdGN1xcdTY4NTJcXHU2ODE0XFx1NjgxOVxcdTY4MURcXHU2ODFGXFx1NjgyOFxcdTY4MjdcXHU2ODJDXFx1NjgyRFxcdTY4MkZcXHU2ODMwXFx1NjgzMVxcdTY4MzNcXHU2ODNCXFx1NjgzRlxcdTY4NDRcXHU2ODQ1XFx1Njg0QVxcdTY4NENcXHU2ODU1XFx1Njg1N1xcdTY4NThcXHU2ODVCXFx1Njg2QlxcdTY4NkVcIiwgNCwgXCJcXHU2ODc1XFx1Njg3OVxcdTY4N0FcXHU2ODdCXFx1Njg3Q1xcdTY4ODJcXHU2ODg0XFx1Njg4NlxcdTY4ODhcXHU2ODk2XFx1Njg5OFxcdTY4OUFcXHU2ODlDXFx1NjhBMVxcdTY4QTNcXHU2OEE1XFx1NjhBOVxcdTY4QUFcXHU2OEFFXFx1NjhCMlxcdTY4QkJcXHU2OEM1XFx1NjhDOFxcdTY4Q0NcXHU2OENGXCJdLFxuICAgICAgW1wiOGZjNGExXCIsIFwiXFx1NjhEMFxcdTY4RDFcXHU2OEQzXFx1NjhENlxcdTY4RDlcXHU2OERDXFx1NjhERFxcdTY4RTVcXHU2OEU4XFx1NjhFQVxcdTY4RUJcXHU2OEVDXFx1NjhFRFxcdTY4RjBcXHU2OEYxXFx1NjhGNVxcdTY4RjZcXHU2OEZCXFx1NjhGQ1xcdTY4RkRcXHU2OTA2XFx1NjkwOVxcdTY5MEFcXHU2OTEwXFx1NjkxMVxcdTY5MTNcXHU2OTE2XFx1NjkxN1xcdTY5MzFcXHU2OTMzXFx1NjkzNVxcdTY5MzhcXHU2OTNCXFx1Njk0MlxcdTY5NDVcXHU2OTQ5XFx1Njk0RVxcdTY5NTdcXHU2OTVCXFx1Njk2M1xcdTY5NjRcXHU2OTY1XFx1Njk2NlxcdTY5NjhcXHU2OTY5XFx1Njk2Q1xcdTY5NzBcXHU2OTcxXFx1Njk3MlxcdTY5N0FcXHU2OTdCXFx1Njk3RlxcdTY5ODBcXHU2OThEXFx1Njk5MlxcdTY5OTZcXHU2OTk4XFx1NjlBMVxcdTY5QTVcXHU2OUE2XFx1NjlBOFxcdTY5QUJcXHU2OUFEXFx1NjlBRlxcdTY5QjdcXHU2OUI4XFx1NjlCQVxcdTY5QkNcXHU2OUM1XFx1NjlDOFxcdTY5RDFcXHU2OUQ2XFx1NjlEN1xcdTY5RTJcXHU2OUU1XFx1NjlFRVxcdTY5RUZcXHU2OUYxXFx1NjlGM1xcdTY5RjVcXHU2OUZFXFx1NkEwMFxcdTZBMDFcXHU2QTAzXFx1NkEwRlxcdTZBMTFcXHU2QTE1XFx1NkExQVxcdTZBMURcXHU2QTIwXFx1NkEyNFxcdTZBMjhcXHU2QTMwXFx1NkEzMlwiXSxcbiAgICAgIFtcIjhmYzVhMVwiLCBcIlxcdTZBMzRcXHU2QTM3XFx1NkEzQlxcdTZBM0VcXHU2QTNGXFx1NkE0NVxcdTZBNDZcXHU2QTQ5XFx1NkE0QVxcdTZBNEVcXHU2QTUwXFx1NkE1MVxcdTZBNTJcXHU2QTU1XFx1NkE1NlxcdTZBNUJcXHU2QTY0XFx1NkE2N1xcdTZBNkFcXHU2QTcxXFx1NkE3M1xcdTZBN0VcXHU2QTgxXFx1NkE4M1xcdTZBODZcXHU2QTg3XFx1NkE4OVxcdTZBOEJcXHU2QTkxXFx1NkE5QlxcdTZBOURcXHU2QTlFXFx1NkE5RlxcdTZBQTVcXHU2QUFCXFx1NkFBRlxcdTZBQjBcXHU2QUIxXFx1NkFCNFxcdTZBQkRcXHU2QUJFXFx1NkFCRlxcdTZBQzZcXHU2QUM5XFx1NkFDOFxcdTZBQ0NcXHU2QUQwXFx1NkFENFxcdTZBRDVcXHU2QUQ2XFx1NkFEQ1xcdTZBRERcXHU2QUU0XFx1NkFFN1xcdTZBRUNcXHU2QUYwXFx1NkFGMVxcdTZBRjJcXHU2QUZDXFx1NkFGRFxcdTZCMDJcXHU2QjAzXFx1NkIwNlxcdTZCMDdcXHU2QjA5XFx1NkIwRlxcdTZCMTBcXHU2QjExXFx1NkIxN1xcdTZCMUJcXHU2QjFFXFx1NkIyNFxcdTZCMjhcXHU2QjJCXFx1NkIyQ1xcdTZCMkZcXHU2QjM1XFx1NkIzNlxcdTZCM0JcXHU2QjNGXFx1NkI0NlxcdTZCNEFcXHU2QjREXFx1NkI1MlxcdTZCNTZcXHU2QjU4XFx1NkI1RFxcdTZCNjBcXHU2QjY3XFx1NkI2QlxcdTZCNkVcXHU2QjcwXFx1NkI3NVxcdTZCN0RcIl0sXG4gICAgICBbXCI4ZmM2YTFcIiwgXCJcXHU2QjdFXFx1NkI4MlxcdTZCODVcXHU2Qjk3XFx1NkI5QlxcdTZCOUZcXHU2QkEwXFx1NkJBMlxcdTZCQTNcXHU2QkE4XFx1NkJBOVxcdTZCQUNcXHU2QkFEXFx1NkJBRVxcdTZCQjBcXHU2QkI4XFx1NkJCOVxcdTZCQkRcXHU2QkJFXFx1NkJDM1xcdTZCQzRcXHU2QkM5XFx1NkJDQ1xcdTZCRDZcXHU2QkRBXFx1NkJFMVxcdTZCRTNcXHU2QkU2XFx1NkJFN1xcdTZCRUVcXHU2QkYxXFx1NkJGN1xcdTZCRjlcXHU2QkZGXFx1NkMwMlxcdTZDMDRcXHU2QzA1XFx1NkMwOVxcdTZDMERcXHU2QzBFXFx1NkMxMFxcdTZDMTJcXHU2QzE5XFx1NkMxRlxcdTZDMjZcXHU2QzI3XFx1NkMyOFxcdTZDMkNcXHU2QzJFXFx1NkMzM1xcdTZDMzVcXHU2QzM2XFx1NkMzQVxcdTZDM0JcXHU2QzNGXFx1NkM0QVxcdTZDNEJcXHU2QzREXFx1NkM0RlxcdTZDNTJcXHU2QzU0XFx1NkM1OVxcdTZDNUJcXHU2QzVDXFx1NkM2QlxcdTZDNkRcXHU2QzZGXFx1NkM3NFxcdTZDNzZcXHU2Qzc4XFx1NkM3OVxcdTZDN0JcXHU2Qzg1XFx1NkM4NlxcdTZDODdcXHU2Qzg5XFx1NkM5NFxcdTZDOTVcXHU2Qzk3XFx1NkM5OFxcdTZDOUNcXHU2QzlGXFx1NkNCMFxcdTZDQjJcXHU2Q0I0XFx1NkNDMlxcdTZDQzZcXHU2Q0NEXFx1NkNDRlxcdTZDRDBcXHU2Q0QxXFx1NkNEMlxcdTZDRDRcXHU2Q0Q2XCJdLFxuICAgICAgW1wiOGZjN2ExXCIsIFwiXFx1NkNEQVxcdTZDRENcXHU2Q0UwXFx1NkNFN1xcdTZDRTlcXHU2Q0VCXFx1NkNFQ1xcdTZDRUVcXHU2Q0YyXFx1NkNGNFxcdTZEMDRcXHU2RDA3XFx1NkQwQVxcdTZEMEVcXHU2RDBGXFx1NkQxMVxcdTZEMTNcXHU2RDFBXFx1NkQyNlxcdTZEMjdcXHU2RDI4XFx1NkM2N1xcdTZEMkVcXHU2RDJGXFx1NkQzMVxcdTZEMzlcXHU2RDNDXFx1NkQzRlxcdTZENTdcXHU2RDVFXFx1NkQ1RlxcdTZENjFcXHU2RDY1XFx1NkQ2N1xcdTZENkZcXHU2RDcwXFx1NkQ3Q1xcdTZEODJcXHU2RDg3XFx1NkQ5MVxcdTZEOTJcXHU2RDk0XFx1NkQ5NlxcdTZEOTdcXHU2RDk4XFx1NkRBQVxcdTZEQUNcXHU2REI0XFx1NkRCN1xcdTZEQjlcXHU2REJEXFx1NkRCRlxcdTZEQzRcXHU2REM4XFx1NkRDQVxcdTZEQ0VcXHU2RENGXFx1NkRENlxcdTZEREJcXHU2REREXFx1NkRERlxcdTZERTBcXHU2REUyXFx1NkRFNVxcdTZERTlcXHU2REVGXFx1NkRGMFxcdTZERjRcXHU2REY2XFx1NkRGQ1xcdTZFMDBcXHU2RTA0XFx1NkUxRVxcdTZFMjJcXHU2RTI3XFx1NkUzMlxcdTZFMzZcXHU2RTM5XFx1NkUzQlxcdTZFM0NcXHU2RTQ0XFx1NkU0NVxcdTZFNDhcXHU2RTQ5XFx1NkU0QlxcdTZFNEZcXHU2RTUxXFx1NkU1MlxcdTZFNTNcXHU2RTU0XFx1NkU1N1xcdTZFNUNcXHU2RTVEXFx1NkU1RVwiXSxcbiAgICAgIFtcIjhmYzhhMVwiLCBcIlxcdTZFNjJcXHU2RTYzXFx1NkU2OFxcdTZFNzNcXHU2RTdCXFx1NkU3RFxcdTZFOERcXHU2RTkzXFx1NkU5OVxcdTZFQTBcXHU2RUE3XFx1NkVBRFxcdTZFQUVcXHU2RUIxXFx1NkVCM1xcdTZFQkJcXHU2RUJGXFx1NkVDMFxcdTZFQzFcXHU2RUMzXFx1NkVDN1xcdTZFQzhcXHU2RUNBXFx1NkVDRFxcdTZFQ0VcXHU2RUNGXFx1NkVFQlxcdTZFRURcXHU2RUVFXFx1NkVGOVxcdTZFRkJcXHU2RUZEXFx1NkYwNFxcdTZGMDhcXHU2RjBBXFx1NkYwQ1xcdTZGMERcXHU2RjE2XFx1NkYxOFxcdTZGMUFcXHU2RjFCXFx1NkYyNlxcdTZGMjlcXHU2RjJBXFx1NkYyRlxcdTZGMzBcXHU2RjMzXFx1NkYzNlxcdTZGM0JcXHU2RjNDXFx1NkYyRFxcdTZGNEZcXHU2RjUxXFx1NkY1MlxcdTZGNTNcXHU2RjU3XFx1NkY1OVxcdTZGNUFcXHU2RjVEXFx1NkY1RVxcdTZGNjFcXHU2RjYyXFx1NkY2OFxcdTZGNkNcXHU2RjdEXFx1NkY3RVxcdTZGODNcXHU2Rjg3XFx1NkY4OFxcdTZGOEJcXHU2RjhDXFx1NkY4RFxcdTZGOTBcXHU2RjkyXFx1NkY5M1xcdTZGOTRcXHU2Rjk2XFx1NkY5QVxcdTZGOUZcXHU2RkEwXFx1NkZBNVxcdTZGQTZcXHU2RkE3XFx1NkZBOFxcdTZGQUVcXHU2RkFGXFx1NkZCMFxcdTZGQjVcXHU2RkI2XFx1NkZCQ1xcdTZGQzVcXHU2RkM3XFx1NkZDOFxcdTZGQ0FcIl0sXG4gICAgICBbXCI4ZmM5YTFcIiwgXCJcXHU2RkRBXFx1NkZERVxcdTZGRThcXHU2RkU5XFx1NkZGMFxcdTZGRjVcXHU2RkY5XFx1NkZGQ1xcdTZGRkRcXHU3MDAwXFx1NzAwNVxcdTcwMDZcXHU3MDA3XFx1NzAwRFxcdTcwMTdcXHU3MDIwXFx1NzAyM1xcdTcwMkZcXHU3MDM0XFx1NzAzN1xcdTcwMzlcXHU3MDNDXFx1NzA0M1xcdTcwNDRcXHU3MDQ4XFx1NzA0OVxcdTcwNEFcXHU3MDRCXFx1NzA1NFxcdTcwNTVcXHU3MDVEXFx1NzA1RVxcdTcwNEVcXHU3MDY0XFx1NzA2NVxcdTcwNkNcXHU3MDZFXFx1NzA3NVxcdTcwNzZcXHU3MDdFXFx1NzA4MVxcdTcwODVcXHU3MDg2XFx1NzA5NFwiLCA0LCBcIlxcdTcwOUJcXHU3MEE0XFx1NzBBQlxcdTcwQjBcXHU3MEIxXFx1NzBCNFxcdTcwQjdcXHU3MENBXFx1NzBEMVxcdTcwRDNcXHU3MEQ0XFx1NzBENVxcdTcwRDZcXHU3MEQ4XFx1NzBEQ1xcdTcwRTRcXHU3MEZBXFx1NzEwM1wiLCA0LCBcIlxcdTcxMEJcXHU3MTBDXFx1NzEwRlxcdTcxMUVcXHU3MTIwXFx1NzEyQlxcdTcxMkRcXHU3MTJGXFx1NzEzMFxcdTcxMzFcXHU3MTM4XFx1NzE0MVxcdTcxNDVcXHU3MTQ2XFx1NzE0N1xcdTcxNEFcXHU3MTRCXFx1NzE1MFxcdTcxNTJcXHU3MTU3XFx1NzE1QVxcdTcxNUNcXHU3MTVFXFx1NzE2MFwiXSxcbiAgICAgIFtcIjhmY2FhMVwiLCBcIlxcdTcxNjhcXHU3MTc5XFx1NzE4MFxcdTcxODVcXHU3MTg3XFx1NzE4Q1xcdTcxOTJcXHU3MTlBXFx1NzE5QlxcdTcxQTBcXHU3MUEyXFx1NzFBRlxcdTcxQjBcXHU3MUIyXFx1NzFCM1xcdTcxQkFcXHU3MUJGXFx1NzFDMFxcdTcxQzFcXHU3MUM0XFx1NzFDQlxcdTcxQ0NcXHU3MUQzXFx1NzFENlxcdTcxRDlcXHU3MURBXFx1NzFEQ1xcdTcxRjhcXHU3MUZFXFx1NzIwMFxcdTcyMDdcXHU3MjA4XFx1NzIwOVxcdTcyMTNcXHU3MjE3XFx1NzIxQVxcdTcyMURcXHU3MjFGXFx1NzIyNFxcdTcyMkJcXHU3MjJGXFx1NzIzNFxcdTcyMzhcXHU3MjM5XFx1NzI0MVxcdTcyNDJcXHU3MjQzXFx1NzI0NVxcdTcyNEVcXHU3MjRGXFx1NzI1MFxcdTcyNTNcXHU3MjU1XFx1NzI1NlxcdTcyNUFcXHU3MjVDXFx1NzI1RVxcdTcyNjBcXHU3MjYzXFx1NzI2OFxcdTcyNkJcXHU3MjZFXFx1NzI2RlxcdTcyNzFcXHU3Mjc3XFx1NzI3OFxcdTcyN0JcXHU3MjdDXFx1NzI3RlxcdTcyODRcXHU3Mjg5XFx1NzI4RFxcdTcyOEVcXHU3MjkzXFx1NzI5QlxcdTcyQThcXHU3MkFEXFx1NzJBRVxcdTcyQjFcXHU3MkI0XFx1NzJCRVxcdTcyQzFcXHU3MkM3XFx1NzJDOVxcdTcyQ0NcXHU3MkQ1XFx1NzJENlxcdTcyRDhcXHU3MkRGXFx1NzJFNVxcdTcyRjNcXHU3MkY0XFx1NzJGQVxcdTcyRkJcIl0sXG4gICAgICBbXCI4ZmNiYTFcIiwgXCJcXHU3MkZFXFx1NzMwMlxcdTczMDRcXHU3MzA1XFx1NzMwN1xcdTczMEJcXHU3MzBEXFx1NzMxMlxcdTczMTNcXHU3MzE4XFx1NzMxOVxcdTczMUVcXHU3MzIyXFx1NzMyNFxcdTczMjdcXHU3MzI4XFx1NzMyQ1xcdTczMzFcXHU3MzMyXFx1NzMzNVxcdTczM0FcXHU3MzNCXFx1NzMzRFxcdTczNDNcXHU3MzREXFx1NzM1MFxcdTczNTJcXHU3MzU2XFx1NzM1OFxcdTczNURcXHU3MzVFXFx1NzM1RlxcdTczNjBcXHU3MzY2XFx1NzM2N1xcdTczNjlcXHU3MzZCXFx1NzM2Q1xcdTczNkVcXHU3MzZGXFx1NzM3MVxcdTczNzdcXHU3Mzc5XFx1NzM3Q1xcdTczODBcXHU3MzgxXFx1NzM4M1xcdTczODVcXHU3Mzg2XFx1NzM4RVxcdTczOTBcXHU3MzkzXFx1NzM5NVxcdTczOTdcXHU3Mzk4XFx1NzM5Q1xcdTczOUVcXHU3MzlGXFx1NzNBMFxcdTczQTJcXHU3M0E1XFx1NzNBNlxcdTczQUFcXHU3M0FCXFx1NzNBRFxcdTczQjVcXHU3M0I3XFx1NzNCOVxcdTczQkNcXHU3M0JEXFx1NzNCRlxcdTczQzVcXHU3M0M2XFx1NzNDOVxcdTczQ0JcXHU3M0NDXFx1NzNDRlxcdTczRDJcXHU3M0QzXFx1NzNENlxcdTczRDlcXHU3M0REXFx1NzNFMVxcdTczRTNcXHU3M0U2XFx1NzNFN1xcdTczRTlcXHU3M0Y0XFx1NzNGNVxcdTczRjdcXHU3M0Y5XFx1NzNGQVxcdTczRkJcXHU3M0ZEXCJdLFxuICAgICAgW1wiOGZjY2ExXCIsIFwiXFx1NzNGRlxcdTc0MDBcXHU3NDAxXFx1NzQwNFxcdTc0MDdcXHU3NDBBXFx1NzQxMVxcdTc0MUFcXHU3NDFCXFx1NzQyNFxcdTc0MjZcXHU3NDI4XCIsIDksIFwiXFx1NzQzOVxcdTc0NDBcXHU3NDQzXFx1NzQ0NFxcdTc0NDZcXHU3NDQ3XFx1NzQ0QlxcdTc0NERcXHU3NDUxXFx1NzQ1MlxcdTc0NTdcXHU3NDVEXFx1NzQ2MlxcdTc0NjZcXHU3NDY3XFx1NzQ2OFxcdTc0NkJcXHU3NDZEXFx1NzQ2RVxcdTc0NzFcXHU3NDcyXFx1NzQ4MFxcdTc0ODFcXHU3NDg1XFx1NzQ4NlxcdTc0ODdcXHU3NDg5XFx1NzQ4RlxcdTc0OTBcXHU3NDkxXFx1NzQ5MlxcdTc0OThcXHU3NDk5XFx1NzQ5QVxcdTc0OUNcXHU3NDlGXFx1NzRBMFxcdTc0QTFcXHU3NEEzXFx1NzRBNlxcdTc0QThcXHU3NEE5XFx1NzRBQVxcdTc0QUJcXHU3NEFFXFx1NzRBRlxcdTc0QjFcXHU3NEIyXFx1NzRCNVxcdTc0QjlcXHU3NEJCXFx1NzRCRlxcdTc0QzhcXHU3NEM5XFx1NzRDQ1xcdTc0RDBcXHU3NEQzXFx1NzREOFxcdTc0REFcXHU3NERCXFx1NzRERVxcdTc0REZcXHU3NEU0XFx1NzRFOFxcdTc0RUFcXHU3NEVCXFx1NzRFRlxcdTc0RjRcXHU3NEZBXFx1NzRGQlxcdTc0RkNcXHU3NEZGXFx1NzUwNlwiXSxcbiAgICAgIFtcIjhmY2RhMVwiLCBcIlxcdTc1MTJcXHU3NTE2XFx1NzUxN1xcdTc1MjBcXHU3NTIxXFx1NzUyNFxcdTc1MjdcXHU3NTI5XFx1NzUyQVxcdTc1MkZcXHU3NTM2XFx1NzUzOVxcdTc1M0RcXHU3NTNFXFx1NzUzRlxcdTc1NDBcXHU3NTQzXFx1NzU0N1xcdTc1NDhcXHU3NTRFXFx1NzU1MFxcdTc1NTJcXHU3NTU3XFx1NzU1RVxcdTc1NUZcXHU3NTYxXFx1NzU2RlxcdTc1NzFcXHU3NTc5XCIsIDUsIFwiXFx1NzU4MVxcdTc1ODVcXHU3NTkwXFx1NzU5MlxcdTc1OTNcXHU3NTk1XFx1NzU5OVxcdTc1OUNcXHU3NUEyXFx1NzVBNFxcdTc1QjRcXHU3NUJBXFx1NzVCRlxcdTc1QzBcXHU3NUMxXFx1NzVDNFxcdTc1QzZcXHU3NUNDXFx1NzVDRVxcdTc1Q0ZcXHU3NUQ3XFx1NzVEQ1xcdTc1REZcXHU3NUUwXFx1NzVFMVxcdTc1RTRcXHU3NUU3XFx1NzVFQ1xcdTc1RUVcXHU3NUVGXFx1NzVGMVxcdTc1RjlcXHU3NjAwXFx1NzYwMlxcdTc2MDNcXHU3NjA0XFx1NzYwN1xcdTc2MDhcXHU3NjBBXFx1NzYwQ1xcdTc2MEZcXHU3NjEyXFx1NzYxM1xcdTc2MTVcXHU3NjE2XFx1NzYxOVxcdTc2MUJcXHU3NjFDXFx1NzYxRFxcdTc2MUVcXHU3NjIzXFx1NzYyNVxcdTc2MjZcXHU3NjI5XFx1NzYyRFxcdTc2MzJcXHU3NjMzXFx1NzYzNVxcdTc2MzhcXHU3NjM5XCJdLFxuICAgICAgW1wiOGZjZWExXCIsIFwiXFx1NzYzQVxcdTc2M0NcXHU3NjRBXFx1NzY0MFxcdTc2NDFcXHU3NjQzXFx1NzY0NFxcdTc2NDVcXHU3NjQ5XFx1NzY0QlxcdTc2NTVcXHU3NjU5XFx1NzY1RlxcdTc2NjRcXHU3NjY1XFx1NzY2RFxcdTc2NkVcXHU3NjZGXFx1NzY3MVxcdTc2NzRcXHU3NjgxXFx1NzY4NVxcdTc2OENcXHU3NjhEXFx1NzY5NVxcdTc2OUJcXHU3NjlDXFx1NzY5RFxcdTc2OUZcXHU3NkEwXFx1NzZBMlwiLCA2LCBcIlxcdTc2QUFcXHU3NkFEXFx1NzZCRFxcdTc2QzFcXHU3NkM1XFx1NzZDOVxcdTc2Q0JcXHU3NkNDXFx1NzZDRVxcdTc2RDRcXHU3NkQ5XFx1NzZFMFxcdTc2RTZcXHU3NkU4XFx1NzZFQ1xcdTc2RjBcXHU3NkYxXFx1NzZGNlxcdTc2RjlcXHU3NkZDXFx1NzcwMFxcdTc3MDZcXHU3NzBBXFx1NzcwRVxcdTc3MTJcXHU3NzE0XFx1NzcxNVxcdTc3MTdcXHU3NzE5XFx1NzcxQVxcdTc3MUNcXHU3NzIyXFx1NzcyOFxcdTc3MkRcXHU3NzJFXFx1NzcyRlxcdTc3MzRcXHU3NzM1XFx1NzczNlxcdTc3MzlcXHU3NzNEXFx1NzczRVxcdTc3NDJcXHU3NzQ1XFx1Nzc0NlxcdTc3NEFcXHU3NzREXFx1Nzc0RVxcdTc3NEZcXHU3NzUyXFx1Nzc1NlxcdTc3NTdcXHU3NzVDXFx1Nzc1RVxcdTc3NUZcXHU3NzYwXFx1Nzc2MlwiXSxcbiAgICAgIFtcIjhmY2ZhMVwiLCBcIlxcdTc3NjRcXHU3NzY3XFx1Nzc2QVxcdTc3NkNcXHU3NzcwXFx1Nzc3MlxcdTc3NzNcXHU3Nzc0XFx1Nzc3QVxcdTc3N0RcXHU3NzgwXFx1Nzc4NFxcdTc3OENcXHU3NzhEXFx1Nzc5NFxcdTc3OTVcXHU3Nzk2XFx1Nzc5QVxcdTc3OUZcXHU3N0EyXFx1NzdBN1xcdTc3QUFcXHU3N0FFXFx1NzdBRlxcdTc3QjFcXHU3N0I1XFx1NzdCRVxcdTc3QzNcXHU3N0M5XFx1NzdEMVxcdTc3RDJcXHU3N0Q1XFx1NzdEOVxcdTc3REVcXHU3N0RGXFx1NzdFMFxcdTc3RTRcXHU3N0U2XFx1NzdFQVxcdTc3RUNcXHU3N0YwXFx1NzdGMVxcdTc3RjRcXHU3N0Y4XFx1NzdGQlxcdTc4MDVcXHU3ODA2XFx1NzgwOVxcdTc4MERcXHU3ODBFXFx1NzgxMVxcdTc4MURcXHU3ODIxXFx1NzgyMlxcdTc4MjNcXHU3ODJEXFx1NzgyRVxcdTc4MzBcXHU3ODM1XFx1NzgzN1xcdTc4NDNcXHU3ODQ0XFx1Nzg0N1xcdTc4NDhcXHU3ODRDXFx1Nzg0RVxcdTc4NTJcXHU3ODVDXFx1Nzg1RVxcdTc4NjBcXHU3ODYxXFx1Nzg2M1xcdTc4NjRcXHU3ODY4XFx1Nzg2QVxcdTc4NkVcXHU3ODdBXFx1Nzg3RVxcdTc4OEFcXHU3ODhGXFx1Nzg5NFxcdTc4OThcXHU3OEExXFx1Nzg5RFxcdTc4OUVcXHU3ODlGXFx1NzhBNFxcdTc4QThcXHU3OEFDXFx1NzhBRFxcdTc4QjBcXHU3OEIxXFx1NzhCMlxcdTc4QjNcIl0sXG4gICAgICBbXCI4ZmQwYTFcIiwgXCJcXHU3OEJCXFx1NzhCRFxcdTc4QkZcXHU3OEM3XFx1NzhDOFxcdTc4QzlcXHU3OENDXFx1NzhDRVxcdTc4RDJcXHU3OEQzXFx1NzhENVxcdTc4RDZcXHU3OEU0XFx1NzhEQlxcdTc4REZcXHU3OEUwXFx1NzhFMVxcdTc4RTZcXHU3OEVBXFx1NzhGMlxcdTc4RjNcXHU3OTAwXFx1NzhGNlxcdTc4RjdcXHU3OEZBXFx1NzhGQlxcdTc4RkZcXHU3OTA2XFx1NzkwQ1xcdTc5MTBcXHU3OTFBXFx1NzkxQ1xcdTc5MUVcXHU3OTFGXFx1NzkyMFxcdTc5MjVcXHU3OTI3XFx1NzkyOVxcdTc5MkRcXHU3OTMxXFx1NzkzNFxcdTc5MzVcXHU3OTNCXFx1NzkzRFxcdTc5M0ZcXHU3OTQ0XFx1Nzk0NVxcdTc5NDZcXHU3OTRBXFx1Nzk0QlxcdTc5NEZcXHU3OTUxXFx1Nzk1NFxcdTc5NThcXHU3OTVCXFx1Nzk1Q1xcdTc5NjdcXHU3OTY5XFx1Nzk2QlxcdTc5NzJcXHU3OTc5XFx1Nzk3QlxcdTc5N0NcXHU3OTdFXFx1Nzk4QlxcdTc5OENcXHU3OTkxXFx1Nzk5M1xcdTc5OTRcXHU3OTk1XFx1Nzk5NlxcdTc5OThcXHU3OTlCXFx1Nzk5Q1xcdTc5QTFcXHU3OUE4XFx1NzlBOVxcdTc5QUJcXHU3OUFGXFx1NzlCMVxcdTc5QjRcXHU3OUI4XFx1NzlCQlxcdTc5QzJcXHU3OUM0XFx1NzlDN1xcdTc5QzhcXHU3OUNBXFx1NzlDRlxcdTc5RDRcXHU3OUQ2XFx1NzlEQVxcdTc5RERcXHU3OURFXCJdLFxuICAgICAgW1wiOGZkMWExXCIsIFwiXFx1NzlFMFxcdTc5RTJcXHU3OUU1XFx1NzlFQVxcdTc5RUJcXHU3OUVEXFx1NzlGMVxcdTc5RjhcXHU3OUZDXFx1N0EwMlxcdTdBMDNcXHU3QTA3XFx1N0EwOVxcdTdBMEFcXHU3QTBDXFx1N0ExMVxcdTdBMTVcXHU3QTFCXFx1N0ExRVxcdTdBMjFcXHU3QTI3XFx1N0EyQlxcdTdBMkRcXHU3QTJGXFx1N0EzMFxcdTdBMzRcXHU3QTM1XFx1N0EzOFxcdTdBMzlcXHU3QTNBXFx1N0E0NFxcdTdBNDVcXHU3QTQ3XFx1N0E0OFxcdTdBNENcXHU3QTU1XFx1N0E1NlxcdTdBNTlcXHU3QTVDXFx1N0E1RFxcdTdBNUZcXHU3QTYwXFx1N0E2NVxcdTdBNjdcXHU3QTZBXFx1N0E2RFxcdTdBNzVcXHU3QTc4XFx1N0E3RVxcdTdBODBcXHU3QTgyXFx1N0E4NVxcdTdBODZcXHU3QThBXFx1N0E4QlxcdTdBOTBcXHU3QTkxXFx1N0E5NFxcdTdBOUVcXHU3QUEwXFx1N0FBM1xcdTdBQUNcXHU3QUIzXFx1N0FCNVxcdTdBQjlcXHU3QUJCXFx1N0FCQ1xcdTdBQzZcXHU3QUM5XFx1N0FDQ1xcdTdBQ0VcXHU3QUQxXFx1N0FEQlxcdTdBRThcXHU3QUU5XFx1N0FFQlxcdTdBRUNcXHU3QUYxXFx1N0FGNFxcdTdBRkJcXHU3QUZEXFx1N0FGRVxcdTdCMDdcXHU3QjE0XFx1N0IxRlxcdTdCMjNcXHU3QjI3XFx1N0IyOVxcdTdCMkFcXHU3QjJCXFx1N0IyRFxcdTdCMkVcXHU3QjJGXFx1N0IzMFwiXSxcbiAgICAgIFtcIjhmZDJhMVwiLCBcIlxcdTdCMzFcXHU3QjM0XFx1N0IzRFxcdTdCM0ZcXHU3QjQwXFx1N0I0MVxcdTdCNDdcXHU3QjRFXFx1N0I1NVxcdTdCNjBcXHU3QjY0XFx1N0I2NlxcdTdCNjlcXHU3QjZBXFx1N0I2RFxcdTdCNkZcXHU3QjcyXFx1N0I3M1xcdTdCNzdcXHU3Qjg0XFx1N0I4OVxcdTdCOEVcXHU3QjkwXFx1N0I5MVxcdTdCOTZcXHU3QjlCXFx1N0I5RVxcdTdCQTBcXHU3QkE1XFx1N0JBQ1xcdTdCQUZcXHU3QkIwXFx1N0JCMlxcdTdCQjVcXHU3QkI2XFx1N0JCQVxcdTdCQkJcXHU3QkJDXFx1N0JCRFxcdTdCQzJcXHU3QkM1XFx1N0JDOFxcdTdCQ0FcXHU3QkQ0XFx1N0JENlxcdTdCRDdcXHU3QkQ5XFx1N0JEQVxcdTdCREJcXHU3QkU4XFx1N0JFQVxcdTdCRjJcXHU3QkY0XFx1N0JGNVxcdTdCRjhcXHU3QkY5XFx1N0JGQVxcdTdCRkNcXHU3QkZFXFx1N0MwMVxcdTdDMDJcXHU3QzAzXFx1N0MwNFxcdTdDMDZcXHU3QzA5XFx1N0MwQlxcdTdDMENcXHU3QzBFXFx1N0MwRlxcdTdDMTlcXHU3QzFCXFx1N0MyMFxcdTdDMjVcXHU3QzI2XFx1N0MyOFxcdTdDMkNcXHU3QzMxXFx1N0MzM1xcdTdDMzRcXHU3QzM2XFx1N0MzOVxcdTdDM0FcXHU3QzQ2XFx1N0M0QVxcdTdDNTVcXHU3QzUxXFx1N0M1MlxcdTdDNTNcXHU3QzU5XCIsIDVdLFxuICAgICAgW1wiOGZkM2ExXCIsIFwiXFx1N0M2MVxcdTdDNjNcXHU3QzY3XFx1N0M2OVxcdTdDNkRcXHU3QzZFXFx1N0M3MFxcdTdDNzJcXHU3Qzc5XFx1N0M3Q1xcdTdDN0RcXHU3Qzg2XFx1N0M4N1xcdTdDOEZcXHU3Qzk0XFx1N0M5RVxcdTdDQTBcXHU3Q0E2XFx1N0NCMFxcdTdDQjZcXHU3Q0I3XFx1N0NCQVxcdTdDQkJcXHU3Q0JDXFx1N0NCRlxcdTdDQzRcXHU3Q0M3XFx1N0NDOFxcdTdDQzlcXHU3Q0NEXFx1N0NDRlxcdTdDRDNcXHU3Q0Q0XFx1N0NENVxcdTdDRDdcXHU3Q0Q5XFx1N0NEQVxcdTdDRERcXHU3Q0U2XFx1N0NFOVxcdTdDRUJcXHU3Q0Y1XFx1N0QwM1xcdTdEMDdcXHU3RDA4XFx1N0QwOVxcdTdEMEZcXHU3RDExXFx1N0QxMlxcdTdEMTNcXHU3RDE2XFx1N0QxRFxcdTdEMUVcXHU3RDIzXFx1N0QyNlxcdTdEMkFcXHU3RDJEXFx1N0QzMVxcdTdEM0NcXHU3RDNEXFx1N0QzRVxcdTdENDBcXHU3RDQxXFx1N0Q0N1xcdTdENDhcXHU3RDREXFx1N0Q1MVxcdTdENTNcXHU3RDU3XFx1N0Q1OVxcdTdENUFcXHU3RDVDXFx1N0Q1RFxcdTdENjVcXHU3RDY3XFx1N0Q2QVxcdTdENzBcXHU3RDc4XFx1N0Q3QVxcdTdEN0JcXHU3RDdGXFx1N0Q4MVxcdTdEODJcXHU3RDgzXFx1N0Q4NVxcdTdEODZcXHU3RDg4XFx1N0Q4QlxcdTdEOENcXHU3RDhEXFx1N0Q5MVxcdTdEOTZcXHU3RDk3XFx1N0Q5RFwiXSxcbiAgICAgIFtcIjhmZDRhMVwiLCBcIlxcdTdEOUVcXHU3REE2XFx1N0RBN1xcdTdEQUFcXHU3REIzXFx1N0RCNlxcdTdEQjdcXHU3REI5XFx1N0RDMlwiLCA0LCBcIlxcdTdEQ0NcXHU3RENEXFx1N0RDRVxcdTdERDdcXHU3REQ5XFx1N0UwMFxcdTdERTJcXHU3REU1XFx1N0RFNlxcdTdERUFcXHU3REVCXFx1N0RFRFxcdTdERjFcXHU3REY1XFx1N0RGNlxcdTdERjlcXHU3REZBXFx1N0UwOFxcdTdFMTBcXHU3RTExXFx1N0UxNVxcdTdFMTdcXHU3RTFDXFx1N0UxRFxcdTdFMjBcXHU3RTI3XFx1N0UyOFxcdTdFMkNcXHU3RTJEXFx1N0UyRlxcdTdFMzNcXHU3RTM2XFx1N0UzRlxcdTdFNDRcXHU3RTQ1XFx1N0U0N1xcdTdFNEVcXHU3RTUwXFx1N0U1MlxcdTdFNThcXHU3RTVGXFx1N0U2MVxcdTdFNjJcXHU3RTY1XFx1N0U2QlxcdTdFNkVcXHU3RTZGXFx1N0U3M1xcdTdFNzhcXHU3RTdFXFx1N0U4MVxcdTdFODZcXHU3RTg3XFx1N0U4QVxcdTdFOERcXHU3RTkxXFx1N0U5NVxcdTdFOThcXHU3RTlBXFx1N0U5RFxcdTdFOUVcXHU3RjNDXFx1N0YzQlxcdTdGM0RcXHU3RjNFXFx1N0YzRlxcdTdGNDNcXHU3RjQ0XFx1N0Y0N1xcdTdGNEZcXHU3RjUyXFx1N0Y1M1xcdTdGNUJcXHU3RjVDXFx1N0Y1RFxcdTdGNjFcXHU3RjYzXFx1N0Y2NFxcdTdGNjVcXHU3RjY2XFx1N0Y2RFwiXSxcbiAgICAgIFtcIjhmZDVhMVwiLCBcIlxcdTdGNzFcXHU3RjdEXFx1N0Y3RVxcdTdGN0ZcXHU3RjgwXFx1N0Y4QlxcdTdGOERcXHU3RjhGXFx1N0Y5MFxcdTdGOTFcXHU3Rjk2XFx1N0Y5N1xcdTdGOUNcXHU3RkExXFx1N0ZBMlxcdTdGQTZcXHU3RkFBXFx1N0ZBRFxcdTdGQjRcXHU3RkJDXFx1N0ZCRlxcdTdGQzBcXHU3RkMzXFx1N0ZDOFxcdTdGQ0VcXHU3RkNGXFx1N0ZEQlxcdTdGREZcXHU3RkUzXFx1N0ZFNVxcdTdGRThcXHU3RkVDXFx1N0ZFRVxcdTdGRUZcXHU3RkYyXFx1N0ZGQVxcdTdGRkRcXHU3RkZFXFx1N0ZGRlxcdTgwMDdcXHU4MDA4XFx1ODAwQVxcdTgwMERcXHU4MDBFXFx1ODAwRlxcdTgwMTFcXHU4MDEzXFx1ODAxNFxcdTgwMTZcXHU4MDFEXFx1ODAxRVxcdTgwMUZcXHU4MDIwXFx1ODAyNFxcdTgwMjZcXHU4MDJDXFx1ODAyRVxcdTgwMzBcXHU4MDM0XFx1ODAzNVxcdTgwMzdcXHU4MDM5XFx1ODAzQVxcdTgwM0NcXHU4MDNFXFx1ODA0MFxcdTgwNDRcXHU4MDYwXFx1ODA2NFxcdTgwNjZcXHU4MDZEXFx1ODA3MVxcdTgwNzVcXHU4MDgxXFx1ODA4OFxcdTgwOEVcXHU4MDlDXFx1ODA5RVxcdTgwQTZcXHU4MEE3XFx1ODBBQlxcdTgwQjhcXHU4MEI5XFx1ODBDOFxcdTgwQ0RcXHU4MENGXFx1ODBEMlxcdTgwRDRcXHU4MEQ1XFx1ODBEN1xcdTgwRDhcXHU4MEUwXFx1ODBFRFxcdTgwRUVcIl0sXG4gICAgICBbXCI4ZmQ2YTFcIiwgXCJcXHU4MEYwXFx1ODBGMlxcdTgwRjNcXHU4MEY2XFx1ODBGOVxcdTgwRkFcXHU4MEZFXFx1ODEwM1xcdTgxMEJcXHU4MTE2XFx1ODExN1xcdTgxMThcXHU4MTFDXFx1ODExRVxcdTgxMjBcXHU4MTI0XFx1ODEyN1xcdTgxMkNcXHU4MTMwXFx1ODEzNVxcdTgxM0FcXHU4MTNDXFx1ODE0NVxcdTgxNDdcXHU4MTRBXFx1ODE0Q1xcdTgxNTJcXHU4MTU3XFx1ODE2MFxcdTgxNjFcXHU4MTY3XFx1ODE2OFxcdTgxNjlcXHU4MTZEXFx1ODE2RlxcdTgxNzdcXHU4MTgxXFx1ODE5MFxcdTgxODRcXHU4MTg1XFx1ODE4NlxcdTgxOEJcXHU4MThFXFx1ODE5NlxcdTgxOThcXHU4MTlCXFx1ODE5RVxcdTgxQTJcXHU4MUFFXFx1ODFCMlxcdTgxQjRcXHU4MUJCXFx1ODFDQlxcdTgxQzNcXHU4MUM1XFx1ODFDQVxcdTgxQ0VcXHU4MUNGXFx1ODFENVxcdTgxRDdcXHU4MURCXFx1ODFERFxcdTgxREVcXHU4MUUxXFx1ODFFNFxcdTgxRUJcXHU4MUVDXFx1ODFGMFxcdTgxRjFcXHU4MUYyXFx1ODFGNVxcdTgxRjZcXHU4MUY4XFx1ODFGOVxcdTgxRkRcXHU4MUZGXFx1ODIwMFxcdTgyMDNcXHU4MjBGXFx1ODIxM1xcdTgyMTRcXHU4MjE5XFx1ODIxQVxcdTgyMURcXHU4MjIxXFx1ODIyMlxcdTgyMjhcXHU4MjMyXFx1ODIzNFxcdTgyM0FcXHU4MjQzXFx1ODI0NFxcdTgyNDVcXHU4MjQ2XCJdLFxuICAgICAgW1wiOGZkN2ExXCIsIFwiXFx1ODI0QlxcdTgyNEVcXHU4MjRGXFx1ODI1MVxcdTgyNTZcXHU4MjVDXFx1ODI2MFxcdTgyNjNcXHU4MjY3XFx1ODI2RFxcdTgyNzRcXHU4MjdCXFx1ODI3RFxcdTgyN0ZcXHU4MjgwXFx1ODI4MVxcdTgyODNcXHU4Mjg0XFx1ODI4N1xcdTgyODlcXHU4MjhBXFx1ODI4RVxcdTgyOTFcXHU4Mjk0XFx1ODI5NlxcdTgyOThcXHU4MjlBXFx1ODI5QlxcdTgyQTBcXHU4MkExXFx1ODJBM1xcdTgyQTRcXHU4MkE3XFx1ODJBOFxcdTgyQTlcXHU4MkFBXFx1ODJBRVxcdTgyQjBcXHU4MkIyXFx1ODJCNFxcdTgyQjdcXHU4MkJBXFx1ODJCQ1xcdTgyQkVcXHU4MkJGXFx1ODJDNlxcdTgyRDBcXHU4MkQ1XFx1ODJEQVxcdTgyRTBcXHU4MkUyXFx1ODJFNFxcdTgyRThcXHU4MkVBXFx1ODJFRFxcdTgyRUZcXHU4MkY2XFx1ODJGN1xcdTgyRkRcXHU4MkZFXFx1ODMwMFxcdTgzMDFcXHU4MzA3XFx1ODMwOFxcdTgzMEFcXHU4MzBCXFx1ODM1NFxcdTgzMUJcXHU4MzFEXFx1ODMxRVxcdTgzMUZcXHU4MzIxXFx1ODMyMlxcdTgzMkNcXHU4MzJEXFx1ODMyRVxcdTgzMzBcXHU4MzMzXFx1ODMzN1xcdTgzM0FcXHU4MzNDXFx1ODMzRFxcdTgzNDJcXHU4MzQzXFx1ODM0NFxcdTgzNDdcXHU4MzREXFx1ODM0RVxcdTgzNTFcXHU4MzU1XFx1ODM1NlxcdTgzNTdcXHU4MzcwXFx1ODM3OFwiXSxcbiAgICAgIFtcIjhmZDhhMVwiLCBcIlxcdTgzN0RcXHU4MzdGXFx1ODM4MFxcdTgzODJcXHU4Mzg0XFx1ODM4NlxcdTgzOERcXHU4MzkyXFx1ODM5NFxcdTgzOTVcXHU4Mzk4XFx1ODM5OVxcdTgzOUJcXHU4MzlDXFx1ODM5RFxcdTgzQTZcXHU4M0E3XFx1ODNBOVxcdTgzQUNcXHU4M0JFXFx1ODNCRlxcdTgzQzBcXHU4M0M3XFx1ODNDOVxcdTgzQ0ZcXHU4M0QwXFx1ODNEMVxcdTgzRDRcXHU4M0REXFx1ODM1M1xcdTgzRThcXHU4M0VBXFx1ODNGNlxcdTgzRjhcXHU4M0Y5XFx1ODNGQ1xcdTg0MDFcXHU4NDA2XFx1ODQwQVxcdTg0MEZcXHU4NDExXFx1ODQxNVxcdTg0MTlcXHU4M0FEXFx1ODQyRlxcdTg0MzlcXHU4NDQ1XFx1ODQ0N1xcdTg0NDhcXHU4NDRBXFx1ODQ0RFxcdTg0NEZcXHU4NDUxXFx1ODQ1MlxcdTg0NTZcXHU4NDU4XFx1ODQ1OVxcdTg0NUFcXHU4NDVDXFx1ODQ2MFxcdTg0NjRcXHU4NDY1XFx1ODQ2N1xcdTg0NkFcXHU4NDcwXFx1ODQ3M1xcdTg0NzRcXHU4NDc2XFx1ODQ3OFxcdTg0N0NcXHU4NDdEXFx1ODQ4MVxcdTg0ODVcXHU4NDkyXFx1ODQ5M1xcdTg0OTVcXHU4NDlFXFx1ODRBNlxcdTg0QThcXHU4NEE5XFx1ODRBQVxcdTg0QUZcXHU4NEIxXFx1ODRCNFxcdTg0QkFcXHU4NEJEXFx1ODRCRVxcdTg0QzBcXHU4NEMyXFx1ODRDN1xcdTg0QzhcXHU4NENDXFx1ODRDRlxcdTg0RDNcIl0sXG4gICAgICBbXCI4ZmQ5YTFcIiwgXCJcXHU4NERDXFx1ODRFN1xcdTg0RUFcXHU4NEVGXFx1ODRGMFxcdTg0RjFcXHU4NEYyXFx1ODRGN1xcdTg1MzJcXHU4NEZBXFx1ODRGQlxcdTg0RkRcXHU4NTAyXFx1ODUwM1xcdTg1MDdcXHU4NTBDXFx1ODUwRVxcdTg1MTBcXHU4NTFDXFx1ODUxRVxcdTg1MjJcXHU4NTIzXFx1ODUyNFxcdTg1MjVcXHU4NTI3XFx1ODUyQVxcdTg1MkJcXHU4NTJGXFx1ODUzM1xcdTg1MzRcXHU4NTM2XFx1ODUzRlxcdTg1NDZcXHU4NTRGXCIsIDQsIFwiXFx1ODU1NlxcdTg1NTlcXHU4NTVDXCIsIDYsIFwiXFx1ODU2NFxcdTg1NkJcXHU4NTZGXFx1ODU3OVxcdTg1N0FcXHU4NTdCXFx1ODU3RFxcdTg1N0ZcXHU4NTgxXFx1ODU4NVxcdTg1ODZcXHU4NTg5XFx1ODU4QlxcdTg1OENcXHU4NThGXFx1ODU5M1xcdTg1OThcXHU4NTlEXFx1ODU5RlxcdTg1QTBcXHU4NUEyXFx1ODVBNVxcdTg1QTdcXHU4NUI0XFx1ODVCNlxcdTg1QjdcXHU4NUI4XFx1ODVCQ1xcdTg1QkRcXHU4NUJFXFx1ODVCRlxcdTg1QzJcXHU4NUM3XFx1ODVDQVxcdTg1Q0JcXHU4NUNFXFx1ODVBRFxcdTg1RDhcXHU4NURBXFx1ODVERlxcdTg1RTBcXHU4NUU2XFx1ODVFOFxcdTg1RURcXHU4NUYzXFx1ODVGNlxcdTg1RkNcIl0sXG4gICAgICBbXCI4ZmRhYTFcIiwgXCJcXHU4NUZGXFx1ODYwMFxcdTg2MDRcXHU4NjA1XFx1ODYwRFxcdTg2MEVcXHU4NjEwXFx1ODYxMVxcdTg2MTJcXHU4NjE4XFx1ODYxOVxcdTg2MUJcXHU4NjFFXFx1ODYyMVxcdTg2MjdcXHU4NjI5XFx1ODYzNlxcdTg2MzhcXHU4NjNBXFx1ODYzQ1xcdTg2M0RcXHU4NjQwXFx1ODY0MlxcdTg2NDZcXHU4NjUyXFx1ODY1M1xcdTg2NTZcXHU4NjU3XFx1ODY1OFxcdTg2NTlcXHU4NjVEXFx1ODY2MFwiLCA0LCBcIlxcdTg2NjlcXHU4NjZDXFx1ODY2RlxcdTg2NzVcXHU4Njc2XFx1ODY3N1xcdTg2N0FcXHU4NjhEXFx1ODY5MVxcdTg2OTZcXHU4Njk4XFx1ODY5QVxcdTg2OUNcXHU4NkExXFx1ODZBNlxcdTg2QTdcXHU4NkE4XFx1ODZBRFxcdTg2QjFcXHU4NkIzXFx1ODZCNFxcdTg2QjVcXHU4NkI3XFx1ODZCOFxcdTg2QjlcXHU4NkJGXFx1ODZDMFxcdTg2QzFcXHU4NkMzXFx1ODZDNVxcdTg2RDFcXHU4NkQyXFx1ODZENVxcdTg2RDdcXHU4NkRBXFx1ODZEQ1xcdTg2RTBcXHU4NkUzXFx1ODZFNVxcdTg2RTdcXHU4Njg4XFx1ODZGQVxcdTg2RkNcXHU4NkZEXFx1ODcwNFxcdTg3MDVcXHU4NzA3XFx1ODcwQlxcdTg3MEVcXHU4NzBGXFx1ODcxMFxcdTg3MTNcXHU4NzE0XFx1ODcxOVxcdTg3MUVcXHU4NzFGXFx1ODcyMVxcdTg3MjNcIl0sXG4gICAgICBbXCI4ZmRiYTFcIiwgXCJcXHU4NzI4XFx1ODcyRVxcdTg3MkZcXHU4NzMxXFx1ODczMlxcdTg3MzlcXHU4NzNBXFx1ODczQ1xcdTg3M0RcXHU4NzNFXFx1ODc0MFxcdTg3NDNcXHU4NzQ1XFx1ODc0RFxcdTg3NThcXHU4NzVEXFx1ODc2MVxcdTg3NjRcXHU4NzY1XFx1ODc2RlxcdTg3NzFcXHU4NzcyXFx1ODc3QlxcdTg3ODNcIiwgNiwgXCJcXHU4NzhCXFx1ODc4Q1xcdTg3OTBcXHU4NzkzXFx1ODc5NVxcdTg3OTdcXHU4Nzk4XFx1ODc5OVxcdTg3OUVcXHU4N0EwXFx1ODdBM1xcdTg3QTdcXHU4N0FDXFx1ODdBRFxcdTg3QUVcXHU4N0IxXFx1ODdCNVxcdTg3QkVcXHU4N0JGXFx1ODdDMVxcdTg3QzhcXHU4N0M5XFx1ODdDQVxcdTg3Q0VcXHU4N0Q1XFx1ODdENlxcdTg3RDlcXHU4N0RBXFx1ODdEQ1xcdTg3REZcXHU4N0UyXFx1ODdFM1xcdTg3RTRcXHU4N0VBXFx1ODdFQlxcdTg3RURcXHU4N0YxXFx1ODdGM1xcdTg3RjhcXHU4N0ZBXFx1ODdGRlxcdTg4MDFcXHU4ODAzXFx1ODgwNlxcdTg4MDlcXHU4ODBBXFx1ODgwQlxcdTg4MTBcXHU4ODE5XFx1ODgxMlxcdTg4MTNcXHU4ODE0XFx1ODgxOFxcdTg4MUFcXHU4ODFCXFx1ODgxQ1xcdTg4MUVcXHU4ODFGXFx1ODgyOFxcdTg4MkRcXHU4ODJFXFx1ODgzMFxcdTg4MzJcXHU4ODM1XCJdLFxuICAgICAgW1wiOGZkY2ExXCIsIFwiXFx1ODgzQVxcdTg4M0NcXHU4ODQxXFx1ODg0M1xcdTg4NDVcXHU4ODQ4XFx1ODg0OVxcdTg4NEFcXHU4ODRCXFx1ODg0RVxcdTg4NTFcXHU4ODU1XFx1ODg1NlxcdTg4NThcXHU4ODVBXFx1ODg1Q1xcdTg4NUZcXHU4ODYwXFx1ODg2NFxcdTg4NjlcXHU4ODcxXFx1ODg3OVxcdTg4N0JcXHU4ODgwXFx1ODg5OFxcdTg4OUFcXHU4ODlCXFx1ODg5Q1xcdTg4OUZcXHU4OEEwXFx1ODhBOFxcdTg4QUFcXHU4OEJBXFx1ODhCRFxcdTg4QkVcXHU4OEMwXFx1ODhDQVwiLCA0LCBcIlxcdTg4RDFcXHU4OEQyXFx1ODhEM1xcdTg4REJcXHU4OERFXFx1ODhFN1xcdTg4RUZcXHU4OEYwXFx1ODhGMVxcdTg4RjVcXHU4OEY3XFx1ODkwMVxcdTg5MDZcXHU4OTBEXFx1ODkwRVxcdTg5MEZcXHU4OTE1XFx1ODkxNlxcdTg5MThcXHU4OTE5XFx1ODkxQVxcdTg5MUNcXHU4OTIwXFx1ODkyNlxcdTg5MjdcXHU4OTI4XFx1ODkzMFxcdTg5MzFcXHU4OTMyXFx1ODkzNVxcdTg5MzlcXHU4OTNBXFx1ODkzRVxcdTg5NDBcXHU4OTQyXFx1ODk0NVxcdTg5NDZcXHU4OTQ5XFx1ODk0RlxcdTg5NTJcXHU4OTU3XFx1ODk1QVxcdTg5NUJcXHU4OTVDXFx1ODk2MVxcdTg5NjJcXHU4OTYzXFx1ODk2QlxcdTg5NkVcXHU4OTcwXFx1ODk3M1xcdTg5NzVcXHU4OTdBXCJdLFxuICAgICAgW1wiOGZkZGExXCIsIFwiXFx1ODk3QlxcdTg5N0NcXHU4OTdEXFx1ODk4OVxcdTg5OERcXHU4OTkwXFx1ODk5NFxcdTg5OTVcXHU4OTlCXFx1ODk5Q1xcdTg5OUZcXHU4OUEwXFx1ODlBNVxcdTg5QjBcXHU4OUI0XFx1ODlCNVxcdTg5QjZcXHU4OUI3XFx1ODlCQ1xcdTg5RDRcIiwgNCwgXCJcXHU4OUU1XFx1ODlFOVxcdTg5RUJcXHU4OUVEXFx1ODlGMVxcdTg5RjNcXHU4OUY2XFx1ODlGOVxcdTg5RkRcXHU4OUZGXFx1OEEwNFxcdThBMDVcXHU4QTA3XFx1OEEwRlxcdThBMTFcXHU4QTEyXFx1OEExNFxcdThBMTVcXHU4QTFFXFx1OEEyMFxcdThBMjJcXHU4QTI0XFx1OEEyNlxcdThBMkJcXHU4QTJDXFx1OEEyRlxcdThBMzVcXHU4QTM3XFx1OEEzRFxcdThBM0VcXHU4QTQwXFx1OEE0M1xcdThBNDVcXHU4QTQ3XFx1OEE0OVxcdThBNERcXHU4QTRFXFx1OEE1M1xcdThBNTZcXHU4QTU3XFx1OEE1OFxcdThBNUNcXHU4QTVEXFx1OEE2MVxcdThBNjVcXHU4QTY3XFx1OEE3NVxcdThBNzZcXHU4QTc3XFx1OEE3OVxcdThBN0FcXHU4QTdCXFx1OEE3RVxcdThBN0ZcXHU4QTgwXFx1OEE4M1xcdThBODZcXHU4QThCXFx1OEE4RlxcdThBOTBcXHU4QTkyXFx1OEE5NlxcdThBOTdcXHU4QTk5XFx1OEE5RlxcdThBQTdcXHU4QUE5XFx1OEFBRVxcdThBQUZcXHU4QUIzXCJdLFxuICAgICAgW1wiOGZkZWExXCIsIFwiXFx1OEFCNlxcdThBQjdcXHU4QUJCXFx1OEFCRVxcdThBQzNcXHU4QUM2XFx1OEFDOFxcdThBQzlcXHU4QUNBXFx1OEFEMVxcdThBRDNcXHU4QUQ0XFx1OEFENVxcdThBRDdcXHU4QUREXFx1OEFERlxcdThBRUNcXHU4QUYwXFx1OEFGNFxcdThBRjVcXHU4QUY2XFx1OEFGQ1xcdThBRkZcXHU4QjA1XFx1OEIwNlxcdThCMEJcXHU4QjExXFx1OEIxQ1xcdThCMUVcXHU4QjFGXFx1OEIwQVxcdThCMkRcXHU4QjMwXFx1OEIzN1xcdThCM0NcXHU4QjQyXCIsIDQsIFwiXFx1OEI0OFxcdThCNTJcXHU4QjUzXFx1OEI1NFxcdThCNTlcXHU4QjREXFx1OEI1RVxcdThCNjNcXHU4QjZEXFx1OEI3NlxcdThCNzhcXHU4Qjc5XFx1OEI3Q1xcdThCN0VcXHU4QjgxXFx1OEI4NFxcdThCODVcXHU4QjhCXFx1OEI4RFxcdThCOEZcXHU4Qjk0XFx1OEI5NVxcdThCOUNcXHU4QjlFXFx1OEI5RlxcdThDMzhcXHU4QzM5XFx1OEMzRFxcdThDM0VcXHU4QzQ1XFx1OEM0N1xcdThDNDlcXHU4QzRCXFx1OEM0RlxcdThDNTFcXHU4QzUzXFx1OEM1NFxcdThDNTdcXHU4QzU4XFx1OEM1QlxcdThDNURcXHU4QzU5XFx1OEM2M1xcdThDNjRcXHU4QzY2XFx1OEM2OFxcdThDNjlcXHU4QzZEXFx1OEM3M1xcdThDNzVcXHU4Qzc2XFx1OEM3QlxcdThDN0VcXHU4Qzg2XCJdLFxuICAgICAgW1wiOGZkZmExXCIsIFwiXFx1OEM4N1xcdThDOEJcXHU4QzkwXFx1OEM5MlxcdThDOTNcXHU4Qzk5XFx1OEM5QlxcdThDOUNcXHU4Q0E0XFx1OENCOVxcdThDQkFcXHU4Q0M1XFx1OENDNlxcdThDQzlcXHU4Q0NCXFx1OENDRlxcdThDRDZcXHU4Q0Q1XFx1OENEOVxcdThDRERcXHU4Q0UxXFx1OENFOFxcdThDRUNcXHU4Q0VGXFx1OENGMFxcdThDRjJcXHU4Q0Y1XFx1OENGN1xcdThDRjhcXHU4Q0ZFXFx1OENGRlxcdThEMDFcXHU4RDAzXFx1OEQwOVxcdThEMTJcXHU4RDE3XFx1OEQxQlxcdThENjVcXHU4RDY5XFx1OEQ2Q1xcdThENkVcXHU4RDdGXFx1OEQ4MlxcdThEODRcXHU4RDg4XFx1OEQ4RFxcdThEOTBcXHU4RDkxXFx1OEQ5NVxcdThEOUVcXHU4RDlGXFx1OERBMFxcdThEQTZcXHU4REFCXFx1OERBQ1xcdThEQUZcXHU4REIyXFx1OERCNVxcdThEQjdcXHU4REI5XFx1OERCQlxcdThEQzBcXHU4REM1XFx1OERDNlxcdThEQzdcXHU4REM4XFx1OERDQVxcdThEQ0VcXHU4REQxXFx1OERENFxcdThERDVcXHU4REQ3XFx1OEREOVxcdThERTRcXHU4REU1XFx1OERFN1xcdThERUNcXHU4REYwXFx1OERCQ1xcdThERjFcXHU4REYyXFx1OERGNFxcdThERkRcXHU4RTAxXFx1OEUwNFxcdThFMDVcXHU4RTA2XFx1OEUwQlxcdThFMTFcXHU4RTE0XFx1OEUxNlxcdThFMjBcXHU4RTIxXFx1OEUyMlwiXSxcbiAgICAgIFtcIjhmZTBhMVwiLCBcIlxcdThFMjNcXHU4RTI2XFx1OEUyN1xcdThFMzFcXHU4RTMzXFx1OEUzNlxcdThFMzdcXHU4RTM4XFx1OEUzOVxcdThFM0RcXHU4RTQwXFx1OEU0MVxcdThFNEJcXHU4RTREXFx1OEU0RVxcdThFNEZcXHU4RTU0XFx1OEU1QlxcdThFNUNcXHU4RTVEXFx1OEU1RVxcdThFNjFcXHU4RTYyXFx1OEU2OVxcdThFNkNcXHU4RTZEXFx1OEU2RlxcdThFNzBcXHU4RTcxXFx1OEU3OVxcdThFN0FcXHU4RTdCXFx1OEU4MlxcdThFODNcXHU4RTg5XFx1OEU5MFxcdThFOTJcXHU4RTk1XFx1OEU5QVxcdThFOUJcXHU4RTlEXFx1OEU5RVxcdThFQTJcXHU4RUE3XFx1OEVBOVxcdThFQURcXHU4RUFFXFx1OEVCM1xcdThFQjVcXHU4RUJBXFx1OEVCQlxcdThFQzBcXHU4RUMxXFx1OEVDM1xcdThFQzRcXHU4RUM3XFx1OEVDRlxcdThFRDFcXHU4RUQ0XFx1OEVEQ1xcdThFRThcXHU4RUVFXFx1OEVGMFxcdThFRjFcXHU4RUY3XFx1OEVGOVxcdThFRkFcXHU4RUVEXFx1OEYwMFxcdThGMDJcXHU4RjA3XFx1OEYwOFxcdThGMEZcXHU4RjEwXFx1OEYxNlxcdThGMTdcXHU4RjE4XFx1OEYxRVxcdThGMjBcXHU4RjIxXFx1OEYyM1xcdThGMjVcXHU4RjI3XFx1OEYyOFxcdThGMkNcXHU4RjJEXFx1OEYyRVxcdThGMzRcXHU4RjM1XFx1OEYzNlxcdThGMzdcXHU4RjNBXFx1OEY0MFxcdThGNDFcIl0sXG4gICAgICBbXCI4ZmUxYTFcIiwgXCJcXHU4RjQzXFx1OEY0N1xcdThGNEZcXHU4RjUxXCIsIDQsIFwiXFx1OEY1OFxcdThGNURcXHU4RjVFXFx1OEY2NVxcdThGOURcXHU4RkEwXFx1OEZBMVxcdThGQTRcXHU4RkE1XFx1OEZBNlxcdThGQjVcXHU4RkI2XFx1OEZCOFxcdThGQkVcXHU4RkMwXFx1OEZDMVxcdThGQzZcXHU4RkNBXFx1OEZDQlxcdThGQ0RcXHU4RkQwXFx1OEZEMlxcdThGRDNcXHU4RkQ1XFx1OEZFMFxcdThGRTNcXHU4RkU0XFx1OEZFOFxcdThGRUVcXHU4RkYxXFx1OEZGNVxcdThGRjZcXHU4RkZCXFx1OEZGRVxcdTkwMDJcXHU5MDA0XFx1OTAwOFxcdTkwMENcXHU5MDE4XFx1OTAxQlxcdTkwMjhcXHU5MDI5XFx1OTAyRlxcdTkwMkFcXHU5MDJDXFx1OTAyRFxcdTkwMzNcXHU5MDM0XFx1OTAzN1xcdTkwM0ZcXHU5MDQzXFx1OTA0NFxcdTkwNENcXHU5MDVCXFx1OTA1RFxcdTkwNjJcXHU5MDY2XFx1OTA2N1xcdTkwNkNcXHU5MDcwXFx1OTA3NFxcdTkwNzlcXHU5MDg1XFx1OTA4OFxcdTkwOEJcXHU5MDhDXFx1OTA4RVxcdTkwOTBcXHU5MDk1XFx1OTA5N1xcdTkwOThcXHU5MDk5XFx1OTA5QlxcdTkwQTBcXHU5MEExXFx1OTBBMlxcdTkwQTVcXHU5MEIwXFx1OTBCMlxcdTkwQjNcXHU5MEI0XFx1OTBCNlxcdTkwQkRcXHU5MENDXFx1OTBCRVxcdTkwQzNcIl0sXG4gICAgICBbXCI4ZmUyYTFcIiwgXCJcXHU5MEM0XFx1OTBDNVxcdTkwQzdcXHU5MEM4XFx1OTBENVxcdTkwRDdcXHU5MEQ4XFx1OTBEOVxcdTkwRENcXHU5MEREXFx1OTBERlxcdTkwRTVcXHU5MEQyXFx1OTBGNlxcdTkwRUJcXHU5MEVGXFx1OTBGMFxcdTkwRjRcXHU5MEZFXFx1OTBGRlxcdTkxMDBcXHU5MTA0XFx1OTEwNVxcdTkxMDZcXHU5MTA4XFx1OTEwRFxcdTkxMTBcXHU5MTE0XFx1OTExNlxcdTkxMTdcXHU5MTE4XFx1OTExQVxcdTkxMUNcXHU5MTFFXFx1OTEyMFxcdTkxMjVcXHU5MTIyXFx1OTEyM1xcdTkxMjdcXHU5MTI5XFx1OTEyRVxcdTkxMkZcXHU5MTMxXFx1OTEzNFxcdTkxMzZcXHU5MTM3XFx1OTEzOVxcdTkxM0FcXHU5MTNDXFx1OTEzRFxcdTkxNDNcXHU5MTQ3XFx1OTE0OFxcdTkxNEZcXHU5MTUzXFx1OTE1N1xcdTkxNTlcXHU5MTVBXFx1OTE1QlxcdTkxNjFcXHU5MTY0XFx1OTE2N1xcdTkxNkRcXHU5MTc0XFx1OTE3OVxcdTkxN0FcXHU5MTdCXFx1OTE4MVxcdTkxODNcXHU5MTg1XFx1OTE4NlxcdTkxOEFcXHU5MThFXFx1OTE5MVxcdTkxOTNcXHU5MTk0XFx1OTE5NVxcdTkxOThcXHU5MTlFXFx1OTFBMVxcdTkxQTZcXHU5MUE4XFx1OTFBQ1xcdTkxQURcXHU5MUFFXFx1OTFCMFxcdTkxQjFcXHU5MUIyXFx1OTFCM1xcdTkxQjZcXHU5MUJCXFx1OTFCQ1xcdTkxQkRcXHU5MUJGXCJdLFxuICAgICAgW1wiOGZlM2ExXCIsIFwiXFx1OTFDMlxcdTkxQzNcXHU5MUM1XFx1OTFEM1xcdTkxRDRcXHU5MUQ3XFx1OTFEOVxcdTkxREFcXHU5MURFXFx1OTFFNFxcdTkxRTVcXHU5MUU5XFx1OTFFQVxcdTkxRUNcIiwgNSwgXCJcXHU5MUY3XFx1OTFGOVxcdTkxRkJcXHU5MUZEXFx1OTIwMFxcdTkyMDFcXHU5MjA0XFx1OTIwNVxcdTkyMDZcXHU5MjA3XFx1OTIwOVxcdTkyMEFcXHU5MjBDXFx1OTIxMFxcdTkyMTJcXHU5MjEzXFx1OTIxNlxcdTkyMThcXHU5MjFDXFx1OTIxRFxcdTkyMjNcXHU5MjI0XFx1OTIyNVxcdTkyMjZcXHU5MjI4XFx1OTIyRVxcdTkyMkZcXHU5MjMwXFx1OTIzM1xcdTkyMzVcXHU5MjM2XFx1OTIzOFxcdTkyMzlcXHU5MjNBXFx1OTIzQ1xcdTkyM0VcXHU5MjQwXFx1OTI0MlxcdTkyNDNcXHU5MjQ2XFx1OTI0N1xcdTkyNEFcXHU5MjREXFx1OTI0RVxcdTkyNEZcXHU5MjUxXFx1OTI1OFxcdTkyNTlcXHU5MjVDXFx1OTI1RFxcdTkyNjBcXHU5MjYxXFx1OTI2NVxcdTkyNjdcXHU5MjY4XFx1OTI2OVxcdTkyNkVcXHU5MjZGXFx1OTI3MFxcdTkyNzVcIiwgNCwgXCJcXHU5MjdCXFx1OTI3Q1xcdTkyN0RcXHU5MjdGXFx1OTI4OFxcdTkyODlcXHU5MjhBXFx1OTI4RFxcdTkyOEVcXHU5MjkyXFx1OTI5N1wiXSxcbiAgICAgIFtcIjhmZTRhMVwiLCBcIlxcdTkyOTlcXHU5MjlGXFx1OTJBMFxcdTkyQTRcXHU5MkE1XFx1OTJBN1xcdTkyQThcXHU5MkFCXFx1OTJBRlxcdTkyQjJcXHU5MkI2XFx1OTJCOFxcdTkyQkFcXHU5MkJCXFx1OTJCQ1xcdTkyQkRcXHU5MkJGXCIsIDQsIFwiXFx1OTJDNVxcdTkyQzZcXHU5MkM3XFx1OTJDOFxcdTkyQ0JcXHU5MkNDXFx1OTJDRFxcdTkyQ0VcXHU5MkQwXFx1OTJEM1xcdTkyRDVcXHU5MkQ3XFx1OTJEOFxcdTkyRDlcXHU5MkRDXFx1OTJERFxcdTkyREZcXHU5MkUwXFx1OTJFMVxcdTkyRTNcXHU5MkU1XFx1OTJFN1xcdTkyRThcXHU5MkVDXFx1OTJFRVxcdTkyRjBcXHU5MkY5XFx1OTJGQlxcdTkyRkZcXHU5MzAwXFx1OTMwMlxcdTkzMDhcXHU5MzBEXFx1OTMxMVxcdTkzMTRcXHU5MzE1XFx1OTMxQ1xcdTkzMURcXHU5MzFFXFx1OTMxRlxcdTkzMjFcXHU5MzI0XFx1OTMyNVxcdTkzMjdcXHU5MzI5XFx1OTMyQVxcdTkzMzNcXHU5MzM0XFx1OTMzNlxcdTkzMzdcXHU5MzQ3XFx1OTM0OFxcdTkzNDlcXHU5MzUwXFx1OTM1MVxcdTkzNTJcXHU5MzU1XFx1OTM1N1xcdTkzNThcXHU5MzVBXFx1OTM1RVxcdTkzNjRcXHU5MzY1XFx1OTM2N1xcdTkzNjlcXHU5MzZBXFx1OTM2RFxcdTkzNkZcXHU5MzcwXFx1OTM3MVxcdTkzNzNcXHU5Mzc0XFx1OTM3NlwiXSxcbiAgICAgIFtcIjhmZTVhMVwiLCBcIlxcdTkzN0FcXHU5MzdEXFx1OTM3RlxcdTkzODBcXHU5MzgxXFx1OTM4MlxcdTkzODhcXHU5MzhBXFx1OTM4QlxcdTkzOERcXHU5MzhGXFx1OTM5MlxcdTkzOTVcXHU5Mzk4XFx1OTM5QlxcdTkzOUVcXHU5M0ExXFx1OTNBM1xcdTkzQTRcXHU5M0E2XFx1OTNBOFxcdTkzQUJcXHU5M0I0XFx1OTNCNVxcdTkzQjZcXHU5M0JBXFx1OTNBOVxcdTkzQzFcXHU5M0M0XFx1OTNDNVxcdTkzQzZcXHU5M0M3XFx1OTNDOVwiLCA0LCBcIlxcdTkzRDNcXHU5M0Q5XFx1OTNEQ1xcdTkzREVcXHU5M0RGXFx1OTNFMlxcdTkzRTZcXHU5M0U3XFx1OTNGOVxcdTkzRjdcXHU5M0Y4XFx1OTNGQVxcdTkzRkJcXHU5M0ZEXFx1OTQwMVxcdTk0MDJcXHU5NDA0XFx1OTQwOFxcdTk0MDlcXHU5NDBEXFx1OTQwRVxcdTk0MEZcXHU5NDE1XFx1OTQxNlxcdTk0MTdcXHU5NDFGXFx1OTQyRVxcdTk0MkZcXHU5NDMxXFx1OTQzMlxcdTk0MzNcXHU5NDM0XFx1OTQzQlxcdTk0M0ZcXHU5NDNEXFx1OTQ0M1xcdTk0NDVcXHU5NDQ4XFx1OTQ0QVxcdTk0NENcXHU5NDU1XFx1OTQ1OVxcdTk0NUNcXHU5NDVGXFx1OTQ2MVxcdTk0NjNcXHU5NDY4XFx1OTQ2QlxcdTk0NkRcXHU5NDZFXFx1OTQ2RlxcdTk0NzFcXHU5NDcyXFx1OTQ4NFxcdTk0ODNcXHU5NTc4XFx1OTU3OVwiXSxcbiAgICAgIFtcIjhmZTZhMVwiLCBcIlxcdTk1N0VcXHU5NTg0XFx1OTU4OFxcdTk1OENcXHU5NThEXFx1OTU4RVxcdTk1OURcXHU5NTlFXFx1OTU5RlxcdTk1QTFcXHU5NUE2XFx1OTVBOVxcdTk1QUJcXHU5NUFDXFx1OTVCNFxcdTk1QjZcXHU5NUJBXFx1OTVCRFxcdTk1QkZcXHU5NUM2XFx1OTVDOFxcdTk1QzlcXHU5NUNCXFx1OTVEMFxcdTk1RDFcXHU5NUQyXFx1OTVEM1xcdTk1RDlcXHU5NURBXFx1OTVERFxcdTk1REVcXHU5NURGXFx1OTVFMFxcdTk1RTRcXHU5NUU2XFx1OTYxRFxcdTk2MUVcXHU5NjIyXFx1OTYyNFxcdTk2MjVcXHU5NjI2XFx1OTYyQ1xcdTk2MzFcXHU5NjMzXFx1OTYzN1xcdTk2MzhcXHU5NjM5XFx1OTYzQVxcdTk2M0NcXHU5NjNEXFx1OTY0MVxcdTk2NTJcXHU5NjU0XFx1OTY1NlxcdTk2NTdcXHU5NjU4XFx1OTY2MVxcdTk2NkVcXHU5Njc0XFx1OTY3QlxcdTk2N0NcXHU5NjdFXFx1OTY3RlxcdTk2ODFcXHU5NjgyXFx1OTY4M1xcdTk2ODRcXHU5Njg5XFx1OTY5MVxcdTk2OTZcXHU5NjlBXFx1OTY5RFxcdTk2OUZcXHU5NkE0XFx1OTZBNVxcdTk2QTZcXHU5NkE5XFx1OTZBRVxcdTk2QUZcXHU5NkIzXFx1OTZCQVxcdTk2Q0FcXHU5NkQyXFx1NURCMlxcdTk2RDhcXHU5NkRBXFx1OTZERFxcdTk2REVcXHU5NkRGXFx1OTZFOVxcdTk2RUZcXHU5NkYxXFx1OTZGQVxcdTk3MDJcIl0sXG4gICAgICBbXCI4ZmU3YTFcIiwgXCJcXHU5NzAzXFx1OTcwNVxcdTk3MDlcXHU5NzFBXFx1OTcxQlxcdTk3MURcXHU5NzIxXFx1OTcyMlxcdTk3MjNcXHU5NzI4XFx1OTczMVxcdTk3MzNcXHU5NzQxXFx1OTc0M1xcdTk3NEFcXHU5NzRFXFx1OTc0RlxcdTk3NTVcXHU5NzU3XFx1OTc1OFxcdTk3NUFcXHU5NzVCXFx1OTc2M1xcdTk3NjdcXHU5NzZBXFx1OTc2RVxcdTk3NzNcXHU5Nzc2XFx1OTc3N1xcdTk3NzhcXHU5NzdCXFx1OTc3RFxcdTk3N0ZcXHU5NzgwXFx1OTc4OVxcdTk3OTVcXHU5Nzk2XFx1OTc5N1xcdTk3OTlcXHU5NzlBXFx1OTc5RVxcdTk3OUZcXHU5N0EyXFx1OTdBQ1xcdTk3QUVcXHU5N0IxXFx1OTdCMlxcdTk3QjVcXHU5N0I2XFx1OTdCOFxcdTk3QjlcXHU5N0JBXFx1OTdCQ1xcdTk3QkVcXHU5N0JGXFx1OTdDMVxcdTk3QzRcXHU5N0M1XFx1OTdDN1xcdTk3QzlcXHU5N0NBXFx1OTdDQ1xcdTk3Q0RcXHU5N0NFXFx1OTdEMFxcdTk3RDFcXHU5N0Q0XFx1OTdEN1xcdTk3RDhcXHU5N0Q5XFx1OTdERFxcdTk3REVcXHU5N0UwXFx1OTdEQlxcdTk3RTFcXHU5N0U0XFx1OTdFRlxcdTk3RjFcXHU5N0Y0XFx1OTdGN1xcdTk3RjhcXHU5N0ZBXFx1OTgwN1xcdTk4MEFcXHU5ODE5XFx1OTgwRFxcdTk4MEVcXHU5ODE0XFx1OTgxNlxcdTk4MUNcXHU5ODFFXFx1OTgyMFxcdTk4MjNcXHU5ODI2XCJdLFxuICAgICAgW1wiOGZlOGExXCIsIFwiXFx1OTgyQlxcdTk4MkVcXHU5ODJGXFx1OTgzMFxcdTk4MzJcXHU5ODMzXFx1OTgzNVxcdTk4MjVcXHU5ODNFXFx1OTg0NFxcdTk4NDdcXHU5ODRBXFx1OTg1MVxcdTk4NTJcXHU5ODUzXFx1OTg1NlxcdTk4NTdcXHU5ODU5XFx1OTg1QVxcdTk4NjJcXHU5ODYzXFx1OTg2NVxcdTk4NjZcXHU5ODZBXFx1OTg2Q1xcdTk4QUJcXHU5OEFEXFx1OThBRVxcdTk4QjBcXHU5OEI0XFx1OThCN1xcdTk4QjhcXHU5OEJBXFx1OThCQlxcdTk4QkZcXHU5OEMyXFx1OThDNVxcdTk4QzhcXHU5OENDXFx1OThFMVxcdTk4RTNcXHU5OEU1XFx1OThFNlxcdTk4RTdcXHU5OEVBXFx1OThGM1xcdTk4RjZcXHU5OTAyXFx1OTkwN1xcdTk5MDhcXHU5OTExXFx1OTkxNVxcdTk5MTZcXHU5OTE3XFx1OTkxQVxcdTk5MUJcXHU5OTFDXFx1OTkxRlxcdTk5MjJcXHU5OTI2XFx1OTkyN1xcdTk5MkJcXHU5OTMxXCIsIDQsIFwiXFx1OTkzOVxcdTk5M0FcXHU5OTNCXFx1OTkzQ1xcdTk5NDBcXHU5OTQxXFx1OTk0NlxcdTk5NDdcXHU5OTQ4XFx1OTk0RFxcdTk5NEVcXHU5OTU0XFx1OTk1OFxcdTk5NTlcXHU5OTVCXFx1OTk1Q1xcdTk5NUVcXHU5OTVGXFx1OTk2MFxcdTk5OUJcXHU5OTlEXFx1OTk5RlxcdTk5QTZcXHU5OUIwXFx1OTlCMVxcdTk5QjJcXHU5OUI1XCJdLFxuICAgICAgW1wiOGZlOWExXCIsIFwiXFx1OTlCOVxcdTk5QkFcXHU5OUJEXFx1OTlCRlxcdTk5QzNcXHU5OUM5XFx1OTlEM1xcdTk5RDRcXHU5OUQ5XFx1OTlEQVxcdTk5RENcXHU5OURFXFx1OTlFN1xcdTk5RUFcXHU5OUVCXFx1OTlFQ1xcdTk5RjBcXHU5OUY0XFx1OTlGNVxcdTk5RjlcXHU5OUZEXFx1OTlGRVxcdTlBMDJcXHU5QTAzXFx1OUEwNFxcdTlBMEJcXHU5QTBDXFx1OUExMFxcdTlBMTFcXHU5QTE2XFx1OUExRVxcdTlBMjBcXHU5QTIyXFx1OUEyM1xcdTlBMjRcXHU5QTI3XFx1OUEyRFxcdTlBMkVcXHU5QTMzXFx1OUEzNVxcdTlBMzZcXHU5QTM4XFx1OUE0N1xcdTlBNDFcXHU5QTQ0XFx1OUE0QVxcdTlBNEJcXHU5QTRDXFx1OUE0RVxcdTlBNTFcXHU5QTU0XFx1OUE1NlxcdTlBNURcXHU5QUFBXFx1OUFBQ1xcdTlBQUVcXHU5QUFGXFx1OUFCMlxcdTlBQjRcXHU5QUI1XFx1OUFCNlxcdTlBQjlcXHU5QUJCXFx1OUFCRVxcdTlBQkZcXHU5QUMxXFx1OUFDM1xcdTlBQzZcXHU5QUM4XFx1OUFDRVxcdTlBRDBcXHU5QUQyXFx1OUFENVxcdTlBRDZcXHU5QUQ3XFx1OUFEQlxcdTlBRENcXHU5QUUwXFx1OUFFNFxcdTlBRTVcXHU5QUU3XFx1OUFFOVxcdTlBRUNcXHU5QUYyXFx1OUFGM1xcdTlBRjVcXHU5QUY5XFx1OUFGQVxcdTlBRkRcXHU5QUZGXCIsIDRdLFxuICAgICAgW1wiOGZlYWExXCIsIFwiXFx1OUIwNFxcdTlCMDVcXHU5QjA4XFx1OUIwOVxcdTlCMEJcXHU5QjBDXFx1OUIwRFxcdTlCMEVcXHU5QjEwXFx1OUIxMlxcdTlCMTZcXHU5QjE5XFx1OUIxQlxcdTlCMUNcXHU5QjIwXFx1OUIyNlxcdTlCMkJcXHU5QjJEXFx1OUIzM1xcdTlCMzRcXHU5QjM1XFx1OUIzN1xcdTlCMzlcXHU5QjNBXFx1OUIzRFxcdTlCNDhcXHU5QjRCXFx1OUI0Q1xcdTlCNTVcXHU5QjU2XFx1OUI1N1xcdTlCNUJcXHU5QjVFXFx1OUI2MVxcdTlCNjNcXHU5QjY1XFx1OUI2NlxcdTlCNjhcXHU5QjZBXCIsIDQsIFwiXFx1OUI3M1xcdTlCNzVcXHU5Qjc3XFx1OUI3OFxcdTlCNzlcXHU5QjdGXFx1OUI4MFxcdTlCODRcXHU5Qjg1XFx1OUI4NlxcdTlCODdcXHU5Qjg5XFx1OUI4QVxcdTlCOEJcXHU5QjhEXFx1OUI4RlxcdTlCOTBcXHU5Qjk0XFx1OUI5QVxcdTlCOURcXHU5QjlFXFx1OUJBNlxcdTlCQTdcXHU5QkE5XFx1OUJBQ1xcdTlCQjBcXHU5QkIxXFx1OUJCMlxcdTlCQjdcXHU5QkI4XFx1OUJCQlxcdTlCQkNcXHU5QkJFXFx1OUJCRlxcdTlCQzFcXHU5QkM3XFx1OUJDOFxcdTlCQ0VcXHU5QkQwXFx1OUJEN1xcdTlCRDhcXHU5QkREXFx1OUJERlxcdTlCRTVcXHU5QkU3XFx1OUJFQVxcdTlCRUJcXHU5QkVGXFx1OUJGM1xcdTlCRjdcXHU5QkY4XCJdLFxuICAgICAgW1wiOGZlYmExXCIsIFwiXFx1OUJGOVxcdTlCRkFcXHU5QkZEXFx1OUJGRlxcdTlDMDBcXHU5QzAyXFx1OUMwQlxcdTlDMEZcXHU5QzExXFx1OUMxNlxcdTlDMThcXHU5QzE5XFx1OUMxQVxcdTlDMUNcXHU5QzFFXFx1OUMyMlxcdTlDMjNcXHU5QzI2XCIsIDQsIFwiXFx1OUMzMVxcdTlDMzVcXHU5QzM2XFx1OUMzN1xcdTlDM0RcXHU5QzQxXFx1OUM0M1xcdTlDNDRcXHU5QzQ1XFx1OUM0OVxcdTlDNEFcXHU5QzRFXFx1OUM0RlxcdTlDNTBcXHU5QzUzXFx1OUM1NFxcdTlDNTZcXHU5QzU4XFx1OUM1QlxcdTlDNURcXHU5QzVFXFx1OUM1RlxcdTlDNjNcXHU5QzY5XFx1OUM2QVxcdTlDNUNcXHU5QzZCXFx1OUM2OFxcdTlDNkVcXHU5QzcwXFx1OUM3MlxcdTlDNzVcXHU5Qzc3XFx1OUM3QlxcdTlDRTZcXHU5Q0YyXFx1OUNGN1xcdTlDRjlcXHU5RDBCXFx1OUQwMlxcdTlEMTFcXHU5RDE3XFx1OUQxOFxcdTlEMUNcXHU5RDFEXFx1OUQxRVxcdTlEMkZcXHU5RDMwXFx1OUQzMlxcdTlEMzNcXHU5RDM0XFx1OUQzQVxcdTlEM0NcXHU5RDQ1XFx1OUQzRFxcdTlENDJcXHU5RDQzXFx1OUQ0N1xcdTlENEFcXHU5RDUzXFx1OUQ1NFxcdTlENUZcXHU5RDYzXFx1OUQ2MlxcdTlENjVcXHU5RDY5XFx1OUQ2QVxcdTlENkJcXHU5RDcwXFx1OUQ3NlxcdTlENzdcXHU5RDdCXCJdLFxuICAgICAgW1wiOGZlY2ExXCIsIFwiXFx1OUQ3Q1xcdTlEN0VcXHU5RDgzXFx1OUQ4NFxcdTlEODZcXHU5RDhBXFx1OUQ4RFxcdTlEOEVcXHU5RDkyXFx1OUQ5M1xcdTlEOTVcXHU5RDk2XFx1OUQ5N1xcdTlEOThcXHU5REExXFx1OURBQVxcdTlEQUNcXHU5REFFXFx1OURCMVxcdTlEQjVcXHU5REI5XFx1OURCQ1xcdTlEQkZcXHU5REMzXFx1OURDN1xcdTlEQzlcXHU5RENBXFx1OURENFxcdTlERDVcXHU5REQ2XFx1OUREN1xcdTlEREFcXHU5RERFXFx1OURERlxcdTlERTBcXHU5REU1XFx1OURFN1xcdTlERTlcXHU5REVCXFx1OURFRVxcdTlERjBcXHU5REYzXFx1OURGNFxcdTlERkVcXHU5RTBBXFx1OUUwMlxcdTlFMDdcXHU5RTBFXFx1OUUxMFxcdTlFMTFcXHU5RTEyXFx1OUUxNVxcdTlFMTZcXHU5RTE5XFx1OUUxQ1xcdTlFMURcXHU5RTdBXFx1OUU3QlxcdTlFN0NcXHU5RTgwXFx1OUU4MlxcdTlFODNcXHU5RTg0XFx1OUU4NVxcdTlFODdcXHU5RThFXFx1OUU4RlxcdTlFOTZcXHU5RTk4XFx1OUU5QlxcdTlFOUVcXHU5RUE0XFx1OUVBOFxcdTlFQUNcXHU5RUFFXFx1OUVBRlxcdTlFQjBcXHU5RUIzXFx1OUVCNFxcdTlFQjVcXHU5RUM2XFx1OUVDOFxcdTlFQ0JcXHU5RUQ1XFx1OUVERlxcdTlFRTRcXHU5RUU3XFx1OUVFQ1xcdTlFRURcXHU5RUVFXFx1OUVGMFxcdTlFRjFcXHU5RUYyXFx1OUVGNVwiXSxcbiAgICAgIFtcIjhmZWRhMVwiLCBcIlxcdTlFRjhcXHU5RUZGXFx1OUYwMlxcdTlGMDNcXHU5RjA5XFx1OUYwRlxcdTlGMTBcXHU5RjExXFx1OUYxMlxcdTlGMTRcXHU5RjE2XFx1OUYxN1xcdTlGMTlcXHU5RjFBXFx1OUYxQlxcdTlGMUZcXHU5RjIyXFx1OUYyNlxcdTlGMkFcXHU5RjJCXFx1OUYyRlxcdTlGMzFcXHU5RjMyXFx1OUYzNFxcdTlGMzdcXHU5RjM5XFx1OUYzQVxcdTlGM0NcXHU5RjNEXFx1OUYzRlxcdTlGNDFcXHU5RjQzXCIsIDQsIFwiXFx1OUY1M1xcdTlGNTVcXHU5RjU2XFx1OUY1N1xcdTlGNThcXHU5RjVBXFx1OUY1RFxcdTlGNUVcXHU5RjY4XFx1OUY2OVxcdTlGNkRcIiwgNCwgXCJcXHU5RjczXFx1OUY3NVxcdTlGN0FcXHU5RjdEXFx1OUY4RlxcdTlGOTBcXHU5RjkxXFx1OUY5MlxcdTlGOTRcXHU5Rjk2XFx1OUY5N1xcdTlGOUVcXHU5RkExXFx1OUZBMlxcdTlGQTNcXHU5RkE1XCJdXG4gICAgXTtcbiAgfVxufSk7XG5cbi8vIG5vZGVfbW9kdWxlcy9yYXctYm9keS9ub2RlX21vZHVsZXMvaWNvbnYtbGl0ZS9lbmNvZGluZ3MvdGFibGVzL2NwOTM2Lmpzb25cbnZhciByZXF1aXJlX2NwOTM2ID0gX19jb21tb25KUyh7XG4gIFwibm9kZV9tb2R1bGVzL3Jhdy1ib2R5L25vZGVfbW9kdWxlcy9pY29udi1saXRlL2VuY29kaW5ncy90YWJsZXMvY3A5MzYuanNvblwiKGV4cG9ydHMyLCBtb2R1bGUyKSB7XG4gICAgbW9kdWxlMi5leHBvcnRzID0gW1xuICAgICAgW1wiMFwiLCBcIlxcMFwiLCAxMjcsIFwiXFx1MjBBQ1wiXSxcbiAgICAgIFtcIjgxNDBcIiwgXCJcXHU0RTAyXFx1NEUwNFxcdTRFMDVcXHU0RTA2XFx1NEUwRlxcdTRFMTJcXHU0RTE3XFx1NEUxRlxcdTRFMjBcXHU0RTIxXFx1NEUyM1xcdTRFMjZcXHU0RTI5XFx1NEUyRVxcdTRFMkZcXHU0RTMxXFx1NEUzM1xcdTRFMzVcXHU0RTM3XFx1NEUzQ1xcdTRFNDBcXHU0RTQxXFx1NEU0MlxcdTRFNDRcXHU0RTQ2XFx1NEU0QVxcdTRFNTFcXHU0RTU1XFx1NEU1N1xcdTRFNUFcXHU0RTVCXFx1NEU2MlxcdTRFNjNcXHU0RTY0XFx1NEU2NVxcdTRFNjdcXHU0RTY4XFx1NEU2QVwiLCA1LCBcIlxcdTRFNzJcXHU0RTc0XCIsIDksIFwiXFx1NEU3RlwiLCA2LCBcIlxcdTRFODdcXHU0RThBXCJdLFxuICAgICAgW1wiODE4MFwiLCBcIlxcdTRFOTBcXHU0RTk2XFx1NEU5N1xcdTRFOTlcXHU0RTlDXFx1NEU5RFxcdTRFOUVcXHU0RUEzXFx1NEVBQVxcdTRFQUZcXHU0RUIwXFx1NEVCMVxcdTRFQjRcXHU0RUI2XFx1NEVCN1xcdTRFQjhcXHU0RUI5XFx1NEVCQ1xcdTRFQkRcXHU0RUJFXFx1NEVDOFxcdTRFQ0NcXHU0RUNGXFx1NEVEMFxcdTRFRDJcXHU0RURBXFx1NEVEQlxcdTRFRENcXHU0RUUwXFx1NEVFMlxcdTRFRTZcXHU0RUU3XFx1NEVFOVxcdTRFRURcXHU0RUVFXFx1NEVFRlxcdTRFRjFcXHU0RUY0XFx1NEVGOFxcdTRFRjlcXHU0RUZBXFx1NEVGQ1xcdTRFRkVcXHU0RjAwXFx1NEYwMlwiLCA2LCBcIlxcdTRGMEJcXHU0RjBDXFx1NEYxMlwiLCA0LCBcIlxcdTRGMUNcXHU0RjFEXFx1NEYyMVxcdTRGMjNcXHU0RjI4XFx1NEYyOVxcdTRGMkNcXHU0RjJEXFx1NEYyRVxcdTRGMzFcXHU0RjMzXFx1NEYzNVxcdTRGMzdcXHU0RjM5XFx1NEYzQlxcdTRGM0VcIiwgNCwgXCJcXHU0RjQ0XFx1NEY0NVxcdTRGNDdcIiwgNSwgXCJcXHU0RjUyXFx1NEY1NFxcdTRGNTZcXHU0RjYxXFx1NEY2MlxcdTRGNjZcXHU0RjY4XFx1NEY2QVxcdTRGNkJcXHU0RjZEXFx1NEY2RVxcdTRGNzFcXHU0RjcyXFx1NEY3NVxcdTRGNzdcXHU0Rjc4XFx1NEY3OVxcdTRGN0FcXHU0RjdEXFx1NEY4MFxcdTRGODFcXHU0RjgyXFx1NEY4NVxcdTRGODZcXHU0Rjg3XFx1NEY4QVxcdTRGOENcXHU0RjhFXFx1NEY5MFxcdTRGOTJcXHU0RjkzXFx1NEY5NVxcdTRGOTZcXHU0Rjk4XFx1NEY5OVxcdTRGOUFcXHU0RjlDXFx1NEY5RVxcdTRGOUZcXHU0RkExXFx1NEZBMlwiXSxcbiAgICAgIFtcIjgyNDBcIiwgXCJcXHU0RkE0XFx1NEZBQlxcdTRGQURcXHU0RkIwXCIsIDQsIFwiXFx1NEZCNlwiLCA4LCBcIlxcdTRGQzBcXHU0RkMxXFx1NEZDMlxcdTRGQzZcXHU0RkM3XFx1NEZDOFxcdTRGQzlcXHU0RkNCXFx1NEZDQ1xcdTRGQ0RcXHU0RkQyXCIsIDQsIFwiXFx1NEZEOVxcdTRGREJcXHU0RkUwXFx1NEZFMlxcdTRGRTRcXHU0RkU1XFx1NEZFN1xcdTRGRUJcXHU0RkVDXFx1NEZGMFxcdTRGRjJcXHU0RkY0XFx1NEZGNVxcdTRGRjZcXHU0RkY3XFx1NEZGOVxcdTRGRkJcXHU0RkZDXFx1NEZGRFxcdTRGRkZcIiwgMTFdLFxuICAgICAgW1wiODI4MFwiLCBcIlxcdTUwMEJcXHU1MDBFXFx1NTAxMFxcdTUwMTFcXHU1MDEzXFx1NTAxNVxcdTUwMTZcXHU1MDE3XFx1NTAxQlxcdTUwMURcXHU1MDFFXFx1NTAyMFxcdTUwMjJcXHU1MDIzXFx1NTAyNFxcdTUwMjdcXHU1MDJCXFx1NTAyRlwiLCAxMCwgXCJcXHU1MDNCXFx1NTAzRFxcdTUwM0ZcXHU1MDQwXFx1NTA0MVxcdTUwNDJcXHU1MDQ0XFx1NTA0NVxcdTUwNDZcXHU1MDQ5XFx1NTA0QVxcdTUwNEJcXHU1MDREXFx1NTA1MFwiLCA0LCBcIlxcdTUwNTZcXHU1MDU3XFx1NTA1OFxcdTUwNTlcXHU1MDVCXFx1NTA1RFwiLCA3LCBcIlxcdTUwNjZcIiwgNSwgXCJcXHU1MDZEXCIsIDgsIFwiXFx1NTA3OFxcdTUwNzlcXHU1MDdBXFx1NTA3Q1xcdTUwN0RcXHU1MDgxXFx1NTA4MlxcdTUwODNcXHU1MDg0XFx1NTA4NlxcdTUwODdcXHU1MDg5XFx1NTA4QVxcdTUwOEJcXHU1MDhDXFx1NTA4RVwiLCAyMCwgXCJcXHU1MEE0XFx1NTBBNlxcdTUwQUFcXHU1MEFCXFx1NTBBRFwiLCA0LCBcIlxcdTUwQjNcIiwgNiwgXCJcXHU1MEJDXCJdLFxuICAgICAgW1wiODM0MFwiLCBcIlxcdTUwQkRcIiwgMTcsIFwiXFx1NTBEMFwiLCA1LCBcIlxcdTUwRDdcXHU1MEQ4XFx1NTBEOVxcdTUwREJcIiwgMTAsIFwiXFx1NTBFOFxcdTUwRTlcXHU1MEVBXFx1NTBFQlxcdTUwRUZcXHU1MEYwXFx1NTBGMVxcdTUwRjJcXHU1MEY0XFx1NTBGNlwiLCA0LCBcIlxcdTUwRkNcIiwgOSwgXCJcXHU1MTA4XCJdLFxuICAgICAgW1wiODM4MFwiLCBcIlxcdTUxMDlcXHU1MTBBXFx1NTEwQ1wiLCA1LCBcIlxcdTUxMTNcIiwgMTMsIFwiXFx1NTEyMlwiLCAyOCwgXCJcXHU1MTQyXFx1NTE0N1xcdTUxNEFcXHU1MTRDXFx1NTE0RVxcdTUxNEZcXHU1MTUwXFx1NTE1MlxcdTUxNTNcXHU1MTU3XFx1NTE1OFxcdTUxNTlcXHU1MTVCXFx1NTE1RFwiLCA0LCBcIlxcdTUxNjNcXHU1MTY0XFx1NTE2NlxcdTUxNjdcXHU1MTY5XFx1NTE2QVxcdTUxNkZcXHU1MTcyXFx1NTE3QVxcdTUxN0VcXHU1MTdGXFx1NTE4M1xcdTUxODRcXHU1MTg2XFx1NTE4N1xcdTUxOEFcXHU1MThCXFx1NTE4RVxcdTUxOEZcXHU1MTkwXFx1NTE5MVxcdTUxOTNcXHU1MTk0XFx1NTE5OFxcdTUxOUFcXHU1MTlEXFx1NTE5RVxcdTUxOUZcXHU1MUExXFx1NTFBM1xcdTUxQTZcIiwgNCwgXCJcXHU1MUFEXFx1NTFBRVxcdTUxQjRcXHU1MUI4XFx1NTFCOVxcdTUxQkFcXHU1MUJFXFx1NTFCRlxcdTUxQzFcXHU1MUMyXFx1NTFDM1xcdTUxQzVcXHU1MUM4XFx1NTFDQVxcdTUxQ0RcXHU1MUNFXFx1NTFEMFxcdTUxRDJcIiwgNV0sXG4gICAgICBbXCI4NDQwXCIsIFwiXFx1NTFEOFxcdTUxRDlcXHU1MURBXFx1NTFEQ1xcdTUxREVcXHU1MURGXFx1NTFFMlxcdTUxRTNcXHU1MUU1XCIsIDUsIFwiXFx1NTFFQ1xcdTUxRUVcXHU1MUYxXFx1NTFGMlxcdTUxRjRcXHU1MUY3XFx1NTFGRVxcdTUyMDRcXHU1MjA1XFx1NTIwOVxcdTUyMEJcXHU1MjBDXFx1NTIwRlxcdTUyMTBcXHU1MjEzXFx1NTIxNFxcdTUyMTVcXHU1MjFDXFx1NTIxRVxcdTUyMUZcXHU1MjIxXFx1NTIyMlxcdTUyMjNcXHU1MjI1XFx1NTIyNlxcdTUyMjdcXHU1MjJBXFx1NTIyQ1xcdTUyMkZcXHU1MjMxXFx1NTIzMlxcdTUyMzRcXHU1MjM1XFx1NTIzQ1xcdTUyM0VcXHU1MjQ0XCIsIDUsIFwiXFx1NTI0QlxcdTUyNEVcXHU1MjRGXFx1NTI1MlxcdTUyNTNcXHU1MjU1XFx1NTI1N1xcdTUyNThcIl0sXG4gICAgICBbXCI4NDgwXCIsIFwiXFx1NTI1OVxcdTUyNUFcXHU1MjVCXFx1NTI1RFxcdTUyNUZcXHU1MjYwXFx1NTI2MlxcdTUyNjNcXHU1MjY0XFx1NTI2NlxcdTUyNjhcXHU1MjZCXFx1NTI2Q1xcdTUyNkRcXHU1MjZFXFx1NTI3MFxcdTUyNzFcXHU1MjczXCIsIDksIFwiXFx1NTI3RVxcdTUyODBcXHU1MjgzXCIsIDQsIFwiXFx1NTI4OVwiLCA2LCBcIlxcdTUyOTFcXHU1MjkyXFx1NTI5NFwiLCA2LCBcIlxcdTUyOUNcXHU1MkE0XFx1NTJBNVxcdTUyQTZcXHU1MkE3XFx1NTJBRVxcdTUyQUZcXHU1MkIwXFx1NTJCNFwiLCA5LCBcIlxcdTUyQzBcXHU1MkMxXFx1NTJDMlxcdTUyQzRcXHU1MkM1XFx1NTJDNlxcdTUyQzhcXHU1MkNBXFx1NTJDQ1xcdTUyQ0RcXHU1MkNFXFx1NTJDRlxcdTUyRDFcXHU1MkQzXFx1NTJENFxcdTUyRDVcXHU1MkQ3XFx1NTJEOVwiLCA1LCBcIlxcdTUyRTBcXHU1MkUxXFx1NTJFMlxcdTUyRTNcXHU1MkU1XCIsIDEwLCBcIlxcdTUyRjFcIiwgNywgXCJcXHU1MkZCXFx1NTJGQ1xcdTUyRkRcXHU1MzAxXFx1NTMwMlxcdTUzMDNcXHU1MzA0XFx1NTMwN1xcdTUzMDlcXHU1MzBBXFx1NTMwQlxcdTUzMENcXHU1MzBFXCJdLFxuICAgICAgW1wiODU0MFwiLCBcIlxcdTUzMTFcXHU1MzEyXFx1NTMxM1xcdTUzMTRcXHU1MzE4XFx1NTMxQlxcdTUzMUNcXHU1MzFFXFx1NTMxRlxcdTUzMjJcXHU1MzI0XFx1NTMyNVxcdTUzMjdcXHU1MzI4XFx1NTMyOVxcdTUzMkJcXHU1MzJDXFx1NTMyRFxcdTUzMkZcIiwgOSwgXCJcXHU1MzNDXFx1NTMzRFxcdTUzNDBcXHU1MzQyXFx1NTM0NFxcdTUzNDZcXHU1MzRCXFx1NTM0Q1xcdTUzNERcXHU1MzUwXFx1NTM1NFxcdTUzNThcXHU1MzU5XFx1NTM1QlxcdTUzNURcXHU1MzY1XFx1NTM2OFxcdTUzNkFcXHU1MzZDXFx1NTM2RFxcdTUzNzJcXHU1Mzc2XFx1NTM3OVxcdTUzN0JcXHU1MzdDXFx1NTM3RFxcdTUzN0VcXHU1MzgwXFx1NTM4MVxcdTUzODNcXHU1Mzg3XFx1NTM4OFxcdTUzOEFcXHU1MzhFXFx1NTM4RlwiXSxcbiAgICAgIFtcIjg1ODBcIiwgXCJcXHU1MzkwXCIsIDQsIFwiXFx1NTM5NlxcdTUzOTdcXHU1Mzk5XFx1NTM5QlxcdTUzOUNcXHU1MzlFXFx1NTNBMFxcdTUzQTFcXHU1M0E0XFx1NTNBN1xcdTUzQUFcXHU1M0FCXFx1NTNBQ1xcdTUzQURcXHU1M0FGXCIsIDYsIFwiXFx1NTNCN1xcdTUzQjhcXHU1M0I5XFx1NTNCQVxcdTUzQkNcXHU1M0JEXFx1NTNCRVxcdTUzQzBcXHU1M0MzXCIsIDQsIFwiXFx1NTNDRVxcdTUzQ0ZcXHU1M0QwXFx1NTNEMlxcdTUzRDNcXHU1M0Q1XFx1NTNEQVxcdTUzRENcXHU1M0REXFx1NTNERVxcdTUzRTFcXHU1M0UyXFx1NTNFN1xcdTUzRjRcXHU1M0ZBXFx1NTNGRVxcdTUzRkZcXHU1NDAwXFx1NTQwMlxcdTU0MDVcXHU1NDA3XFx1NTQwQlxcdTU0MTRcXHU1NDE4XFx1NTQxOVxcdTU0MUFcXHU1NDFDXFx1NTQyMlxcdTU0MjRcXHU1NDI1XFx1NTQyQVxcdTU0MzBcXHU1NDMzXFx1NTQzNlxcdTU0MzdcXHU1NDNBXFx1NTQzRFxcdTU0M0ZcXHU1NDQxXFx1NTQ0MlxcdTU0NDRcXHU1NDQ1XFx1NTQ0N1xcdTU0NDlcXHU1NDRDXFx1NTQ0RFxcdTU0NEVcXHU1NDRGXFx1NTQ1MVxcdTU0NUFcXHU1NDVEXCIsIDQsIFwiXFx1NTQ2M1xcdTU0NjVcXHU1NDY3XFx1NTQ2OVwiLCA3LCBcIlxcdTU0NzRcXHU1NDc5XFx1NTQ3QVxcdTU0N0VcXHU1NDdGXFx1NTQ4MVxcdTU0ODNcXHU1NDg1XFx1NTQ4N1xcdTU0ODhcXHU1NDg5XFx1NTQ4QVxcdTU0OERcXHU1NDkxXFx1NTQ5M1xcdTU0OTdcXHU1NDk4XFx1NTQ5Q1xcdTU0OUVcXHU1NDlGXFx1NTRBMFxcdTU0QTFcIl0sXG4gICAgICBbXCI4NjQwXCIsIFwiXFx1NTRBMlxcdTU0QTVcXHU1NEFFXFx1NTRCMFxcdTU0QjJcXHU1NEI1XFx1NTRCNlxcdTU0QjdcXHU1NEI5XFx1NTRCQVxcdTU0QkNcXHU1NEJFXFx1NTRDM1xcdTU0QzVcXHU1NENBXFx1NTRDQlxcdTU0RDZcXHU1NEQ4XFx1NTREQlxcdTU0RTBcIiwgNCwgXCJcXHU1NEVCXFx1NTRFQ1xcdTU0RUZcXHU1NEYwXFx1NTRGMVxcdTU0RjRcIiwgNSwgXCJcXHU1NEZCXFx1NTRGRVxcdTU1MDBcXHU1NTAyXFx1NTUwM1xcdTU1MDRcXHU1NTA1XFx1NTUwOFxcdTU1MEFcIiwgNCwgXCJcXHU1NTEyXFx1NTUxM1xcdTU1MTVcIiwgNSwgXCJcXHU1NTFDXFx1NTUxRFxcdTU1MUVcXHU1NTFGXFx1NTUyMVxcdTU1MjVcXHU1NTI2XCJdLFxuICAgICAgW1wiODY4MFwiLCBcIlxcdTU1MjhcXHU1NTI5XFx1NTUyQlxcdTU1MkRcXHU1NTMyXFx1NTUzNFxcdTU1MzVcXHU1NTM2XFx1NTUzOFxcdTU1MzlcXHU1NTNBXFx1NTUzQlxcdTU1M0RcXHU1NTQwXFx1NTU0MlxcdTU1NDVcXHU1NTQ3XFx1NTU0OFxcdTU1NEJcIiwgNCwgXCJcXHU1NTUxXFx1NTU1MlxcdTU1NTNcXHU1NTU0XFx1NTU1N1wiLCA0LCBcIlxcdTU1NURcXHU1NTVFXFx1NTU1RlxcdTU1NjBcXHU1NTYyXFx1NTU2M1xcdTU1NjhcXHU1NTY5XFx1NTU2QlxcdTU1NkZcIiwgNSwgXCJcXHU1NTc5XFx1NTU3QVxcdTU1N0RcXHU1NTdGXFx1NTU4NVxcdTU1ODZcXHU1NThDXFx1NTU4RFxcdTU1OEVcXHU1NTkwXFx1NTU5MlxcdTU1OTNcXHU1NTk1XFx1NTU5NlxcdTU1OTdcXHU1NTlBXFx1NTU5QlxcdTU1OUVcXHU1NUEwXCIsIDYsIFwiXFx1NTVBOFwiLCA4LCBcIlxcdTU1QjJcXHU1NUI0XFx1NTVCNlxcdTU1QjhcXHU1NUJBXFx1NTVCQ1xcdTU1QkZcIiwgNCwgXCJcXHU1NUM2XFx1NTVDN1xcdTU1QzhcXHU1NUNBXFx1NTVDQlxcdTU1Q0VcXHU1NUNGXFx1NTVEMFxcdTU1RDVcXHU1NUQ3XCIsIDQsIFwiXFx1NTVERVxcdTU1RTBcXHU1NUUyXFx1NTVFN1xcdTU1RTlcXHU1NUVEXFx1NTVFRVxcdTU1RjBcXHU1NUYxXFx1NTVGNFxcdTU1RjZcXHU1NUY4XCIsIDQsIFwiXFx1NTVGRlxcdTU2MDJcXHU1NjAzXFx1NTYwNFxcdTU2MDVcIl0sXG4gICAgICBbXCI4NzQwXCIsIFwiXFx1NTYwNlxcdTU2MDdcXHU1NjBBXFx1NTYwQlxcdTU2MERcXHU1NjEwXCIsIDcsIFwiXFx1NTYxOVxcdTU2MUFcXHU1NjFDXFx1NTYxRFxcdTU2MjBcXHU1NjIxXFx1NTYyMlxcdTU2MjVcXHU1NjI2XFx1NTYyOFxcdTU2MjlcXHU1NjJBXFx1NTYyQlxcdTU2MkVcXHU1NjJGXFx1NTYzMFxcdTU2MzNcXHU1NjM1XFx1NTYzN1xcdTU2MzhcXHU1NjNBXFx1NTYzQ1xcdTU2M0RcXHU1NjNFXFx1NTY0MFwiLCAxMSwgXCJcXHU1NjRGXCIsIDQsIFwiXFx1NTY1NVxcdTU2NTZcXHU1NjVBXFx1NTY1QlxcdTU2NURcIiwgNF0sXG4gICAgICBbXCI4NzgwXCIsIFwiXFx1NTY2M1xcdTU2NjVcXHU1NjY2XFx1NTY2N1xcdTU2NkRcXHU1NjZFXFx1NTY2RlxcdTU2NzBcXHU1NjcyXFx1NTY3M1xcdTU2NzRcXHU1Njc1XFx1NTY3N1xcdTU2NzhcXHU1Njc5XFx1NTY3QVxcdTU2N0RcIiwgNywgXCJcXHU1Njg3XCIsIDYsIFwiXFx1NTY5MFxcdTU2OTFcXHU1NjkyXFx1NTY5NFwiLCAxNCwgXCJcXHU1NkE0XCIsIDEwLCBcIlxcdTU2QjBcIiwgNiwgXCJcXHU1NkI4XFx1NTZCOVxcdTU2QkFcXHU1NkJCXFx1NTZCRFwiLCAxMiwgXCJcXHU1NkNCXCIsIDgsIFwiXFx1NTZENVxcdTU2RDZcXHU1NkQ4XFx1NTZEOVxcdTU2RENcXHU1NkUzXFx1NTZFNVwiLCA1LCBcIlxcdTU2RUNcXHU1NkVFXFx1NTZFRlxcdTU2RjJcXHU1NkYzXFx1NTZGNlxcdTU2RjdcXHU1NkY4XFx1NTZGQlxcdTU2RkNcXHU1NzAwXFx1NTcwMVxcdTU3MDJcXHU1NzA1XFx1NTcwN1xcdTU3MEJcIiwgNl0sXG4gICAgICBbXCI4ODQwXCIsIFwiXFx1NTcxMlwiLCA5LCBcIlxcdTU3MURcXHU1NzFFXFx1NTcyMFxcdTU3MjFcXHU1NzIyXFx1NTcyNFxcdTU3MjVcXHU1NzI2XFx1NTcyN1xcdTU3MkJcXHU1NzMxXFx1NTczMlxcdTU3MzRcIiwgNCwgXCJcXHU1NzNDXFx1NTczRFxcdTU3M0ZcXHU1NzQxXFx1NTc0M1xcdTU3NDRcXHU1NzQ1XFx1NTc0NlxcdTU3NDhcXHU1NzQ5XFx1NTc0QlxcdTU3NTJcIiwgNCwgXCJcXHU1NzU4XFx1NTc1OVxcdTU3NjJcXHU1NzYzXFx1NTc2NVxcdTU3NjdcXHU1NzZDXFx1NTc2RVxcdTU3NzBcXHU1NzcxXFx1NTc3MlxcdTU3NzRcXHU1Nzc1XFx1NTc3OFxcdTU3NzlcXHU1NzdBXFx1NTc3RFxcdTU3N0VcXHU1NzdGXFx1NTc4MFwiXSxcbiAgICAgIFtcIjg4ODBcIiwgXCJcXHU1NzgxXFx1NTc4N1xcdTU3ODhcXHU1Nzg5XFx1NTc4QVxcdTU3OERcIiwgNCwgXCJcXHU1Nzk0XCIsIDYsIFwiXFx1NTc5Q1xcdTU3OURcXHU1NzlFXFx1NTc5RlxcdTU3QTVcXHU1N0E4XFx1NTdBQVxcdTU3QUNcXHU1N0FGXFx1NTdCMFxcdTU3QjFcXHU1N0IzXFx1NTdCNVxcdTU3QjZcXHU1N0I3XFx1NTdCOVwiLCA4LCBcIlxcdTU3QzRcIiwgNiwgXCJcXHU1N0NDXFx1NTdDRFxcdTU3RDBcXHU1N0QxXFx1NTdEM1xcdTU3RDZcXHU1N0Q3XFx1NTdEQlxcdTU3RENcXHU1N0RFXFx1NTdFMVxcdTU3RTJcXHU1N0UzXFx1NTdFNVwiLCA3LCBcIlxcdTU3RUVcXHU1N0YwXFx1NTdGMVxcdTU3RjJcXHU1N0YzXFx1NTdGNVxcdTU3RjZcXHU1N0Y3XFx1NTdGQlxcdTU3RkNcXHU1N0ZFXFx1NTdGRlxcdTU4MDFcXHU1ODAzXFx1NTgwNFxcdTU4MDVcXHU1ODA4XFx1NTgwOVxcdTU4MEFcXHU1ODBDXFx1NTgwRVxcdTU4MEZcXHU1ODEwXFx1NTgxMlxcdTU4MTNcXHU1ODE0XFx1NTgxNlxcdTU4MTdcXHU1ODE4XFx1NTgxQVxcdTU4MUJcXHU1ODFDXFx1NTgxRFxcdTU4MUZcXHU1ODIyXFx1NTgyM1xcdTU4MjVcIiwgNCwgXCJcXHU1ODJCXCIsIDQsIFwiXFx1NTgzMVxcdTU4MzJcXHU1ODMzXFx1NTgzNFxcdTU4MzZcIiwgN10sXG4gICAgICBbXCI4OTQwXCIsIFwiXFx1NTgzRVwiLCA1LCBcIlxcdTU4NDVcIiwgNiwgXCJcXHU1ODRFXFx1NTg0RlxcdTU4NTBcXHU1ODUyXFx1NTg1M1xcdTU4NTVcXHU1ODU2XFx1NTg1N1xcdTU4NTlcIiwgNCwgXCJcXHU1ODVGXCIsIDUsIFwiXFx1NTg2NlwiLCA0LCBcIlxcdTU4NkRcIiwgMTYsIFwiXFx1NTg3RlxcdTU4ODJcXHU1ODg0XFx1NTg4NlxcdTU4ODdcXHU1ODg4XFx1NTg4QVxcdTU4OEJcXHU1ODhDXCJdLFxuICAgICAgW1wiODk4MFwiLCBcIlxcdTU4OERcIiwgNCwgXCJcXHU1ODk0XCIsIDQsIFwiXFx1NTg5QlxcdTU4OUNcXHU1ODlEXFx1NThBMFwiLCA3LCBcIlxcdTU4QUFcIiwgMTcsIFwiXFx1NThCRFxcdTU4QkVcXHU1OEJGXFx1NThDMFxcdTU4QzJcXHU1OEMzXFx1NThDNFxcdTU4QzZcIiwgMTAsIFwiXFx1NThEMlxcdTU4RDNcXHU1OEQ0XFx1NThENlwiLCAxMywgXCJcXHU1OEU1XCIsIDUsIFwiXFx1NThFRFxcdTU4RUZcXHU1OEYxXFx1NThGMlxcdTU4RjRcXHU1OEY1XFx1NThGN1xcdTU4RjhcXHU1OEZBXCIsIDcsIFwiXFx1NTkwM1xcdTU5MDVcXHU1OTA2XFx1NTkwOFwiLCA0LCBcIlxcdTU5MEVcXHU1OTEwXFx1NTkxMVxcdTU5MTJcXHU1OTEzXFx1NTkxN1xcdTU5MThcXHU1OTFCXFx1NTkxRFxcdTU5MUVcXHU1OTIwXFx1NTkyMVxcdTU5MjJcXHU1OTIzXFx1NTkyNlxcdTU5MjhcXHU1OTJDXFx1NTkzMFxcdTU5MzJcXHU1OTMzXFx1NTkzNVxcdTU5MzZcXHU1OTNCXCJdLFxuICAgICAgW1wiOGE0MFwiLCBcIlxcdTU5M0RcXHU1OTNFXFx1NTkzRlxcdTU5NDBcXHU1OTQzXFx1NTk0NVxcdTU5NDZcXHU1OTRBXFx1NTk0Q1xcdTU5NERcXHU1OTUwXFx1NTk1MlxcdTU5NTNcXHU1OTU5XFx1NTk1QlwiLCA0LCBcIlxcdTU5NjFcXHU1OTYzXFx1NTk2NFxcdTU5NjZcIiwgMTIsIFwiXFx1NTk3NVxcdTU5NzdcXHU1OTdBXFx1NTk3QlxcdTU5N0NcXHU1OTdFXFx1NTk3RlxcdTU5ODBcXHU1OTg1XFx1NTk4OVxcdTU5OEJcXHU1OThDXFx1NTk4RVxcdTU5OEZcXHU1OTkwXFx1NTk5MVxcdTU5OTRcXHU1OTk1XFx1NTk5OFxcdTU5OUFcXHU1OTlCXFx1NTk5Q1xcdTU5OURcXHU1OTlGXFx1NTlBMFxcdTU5QTFcXHU1OUEyXFx1NTlBNlwiXSxcbiAgICAgIFtcIjhhODBcIiwgXCJcXHU1OUE3XFx1NTlBQ1xcdTU5QURcXHU1OUIwXFx1NTlCMVxcdTU5QjNcIiwgNSwgXCJcXHU1OUJBXFx1NTlCQ1xcdTU5QkRcXHU1OUJGXCIsIDYsIFwiXFx1NTlDN1xcdTU5QzhcXHU1OUM5XFx1NTlDQ1xcdTU5Q0RcXHU1OUNFXFx1NTlDRlxcdTU5RDVcXHU1OUQ2XFx1NTlEOVxcdTU5REJcXHU1OURFXCIsIDQsIFwiXFx1NTlFNFxcdTU5RTZcXHU1OUU3XFx1NTlFOVxcdTU5RUFcXHU1OUVCXFx1NTlFRFwiLCAxMSwgXCJcXHU1OUZBXFx1NTlGQ1xcdTU5RkRcXHU1OUZFXFx1NUEwMFxcdTVBMDJcXHU1QTBBXFx1NUEwQlxcdTVBMERcXHU1QTBFXFx1NUEwRlxcdTVBMTBcXHU1QTEyXFx1NUExNFxcdTVBMTVcXHU1QTE2XFx1NUExN1xcdTVBMTlcXHU1QTFBXFx1NUExQlxcdTVBMURcXHU1QTFFXFx1NUEyMVxcdTVBMjJcXHU1QTI0XFx1NUEyNlxcdTVBMjdcXHU1QTI4XFx1NUEyQVwiLCA2LCBcIlxcdTVBMzNcXHU1QTM1XFx1NUEzN1wiLCA0LCBcIlxcdTVBM0RcXHU1QTNFXFx1NUEzRlxcdTVBNDFcIiwgNCwgXCJcXHU1QTQ3XFx1NUE0OFxcdTVBNEJcIiwgOSwgXCJcXHU1QTU2XFx1NUE1N1xcdTVBNThcXHU1QTU5XFx1NUE1QlwiLCA1XSxcbiAgICAgIFtcIjhiNDBcIiwgXCJcXHU1QTYxXFx1NUE2M1xcdTVBNjRcXHU1QTY1XFx1NUE2NlxcdTVBNjhcXHU1QTY5XFx1NUE2QlwiLCA4LCBcIlxcdTVBNzhcXHU1QTc5XFx1NUE3QlxcdTVBN0NcXHU1QTdEXFx1NUE3RVxcdTVBODBcIiwgMTcsIFwiXFx1NUE5M1wiLCA2LCBcIlxcdTVBOUNcIiwgMTMsIFwiXFx1NUFBQlxcdTVBQUNcIl0sXG4gICAgICBbXCI4YjgwXCIsIFwiXFx1NUFBRFwiLCA0LCBcIlxcdTVBQjRcXHU1QUI2XFx1NUFCN1xcdTVBQjlcIiwgNCwgXCJcXHU1QUJGXFx1NUFDMFxcdTVBQzNcIiwgNSwgXCJcXHU1QUNBXFx1NUFDQlxcdTVBQ0RcIiwgNCwgXCJcXHU1QUQzXFx1NUFENVxcdTVBRDdcXHU1QUQ5XFx1NUFEQVxcdTVBREJcXHU1QUREXFx1NUFERVxcdTVBREZcXHU1QUUyXFx1NUFFNFxcdTVBRTVcXHU1QUU3XFx1NUFFOFxcdTVBRUFcXHU1QUVDXCIsIDQsIFwiXFx1NUFGMlwiLCAyMiwgXCJcXHU1QjBBXCIsIDExLCBcIlxcdTVCMThcIiwgMjUsIFwiXFx1NUIzM1xcdTVCMzVcXHU1QjM2XFx1NUIzOFwiLCA3LCBcIlxcdTVCNDFcIiwgNl0sXG4gICAgICBbXCI4YzQwXCIsIFwiXFx1NUI0OFwiLCA3LCBcIlxcdTVCNTJcXHU1QjU2XFx1NUI1RVxcdTVCNjBcXHU1QjYxXFx1NUI2N1xcdTVCNjhcXHU1QjZCXFx1NUI2RFxcdTVCNkVcXHU1QjZGXFx1NUI3MlxcdTVCNzRcXHU1Qjc2XFx1NUI3N1xcdTVCNzhcXHU1Qjc5XFx1NUI3QlxcdTVCN0NcXHU1QjdFXFx1NUI3RlxcdTVCODJcXHU1Qjg2XFx1NUI4QVxcdTVCOERcXHU1QjhFXFx1NUI5MFxcdTVCOTFcXHU1QjkyXFx1NUI5NFxcdTVCOTZcXHU1QjlGXFx1NUJBN1xcdTVCQThcXHU1QkE5XFx1NUJBQ1xcdTVCQURcXHU1QkFFXFx1NUJBRlxcdTVCQjFcXHU1QkIyXFx1NUJCN1xcdTVCQkFcXHU1QkJCXFx1NUJCQ1xcdTVCQzBcXHU1QkMxXFx1NUJDM1xcdTVCQzhcXHU1QkM5XFx1NUJDQVxcdTVCQ0JcXHU1QkNEXFx1NUJDRVxcdTVCQ0ZcIl0sXG4gICAgICBbXCI4YzgwXCIsIFwiXFx1NUJEMVxcdTVCRDRcIiwgOCwgXCJcXHU1QkUwXFx1NUJFMlxcdTVCRTNcXHU1QkU2XFx1NUJFN1xcdTVCRTlcIiwgNCwgXCJcXHU1QkVGXFx1NUJGMVwiLCA2LCBcIlxcdTVCRkRcXHU1QkZFXFx1NUMwMFxcdTVDMDJcXHU1QzAzXFx1NUMwNVxcdTVDMDdcXHU1QzA4XFx1NUMwQlxcdTVDMENcXHU1QzBEXFx1NUMwRVxcdTVDMTBcXHU1QzEyXFx1NUMxM1xcdTVDMTdcXHU1QzE5XFx1NUMxQlxcdTVDMUVcXHU1QzFGXFx1NUMyMFxcdTVDMjFcXHU1QzIzXFx1NUMyNlxcdTVDMjhcXHU1QzI5XFx1NUMyQVxcdTVDMkJcXHU1QzJEXFx1NUMyRVxcdTVDMkZcXHU1QzMwXFx1NUMzMlxcdTVDMzNcXHU1QzM1XFx1NUMzNlxcdTVDMzdcXHU1QzQzXFx1NUM0NFxcdTVDNDZcXHU1QzQ3XFx1NUM0Q1xcdTVDNERcXHU1QzUyXFx1NUM1M1xcdTVDNTRcXHU1QzU2XFx1NUM1N1xcdTVDNThcXHU1QzVBXFx1NUM1QlxcdTVDNUNcXHU1QzVEXFx1NUM1RlxcdTVDNjJcXHU1QzY0XFx1NUM2N1wiLCA2LCBcIlxcdTVDNzBcXHU1QzcyXCIsIDYsIFwiXFx1NUM3QlxcdTVDN0NcXHU1QzdEXFx1NUM3RVxcdTVDODBcXHU1QzgzXCIsIDQsIFwiXFx1NUM4OVxcdTVDOEFcXHU1QzhCXFx1NUM4RVxcdTVDOEZcXHU1QzkyXFx1NUM5M1xcdTVDOTVcXHU1QzlEXCIsIDQsIFwiXFx1NUNBNFwiLCA0XSxcbiAgICAgIFtcIjhkNDBcIiwgXCJcXHU1Q0FBXFx1NUNBRVxcdTVDQUZcXHU1Q0IwXFx1NUNCMlxcdTVDQjRcXHU1Q0I2XFx1NUNCOVxcdTVDQkFcXHU1Q0JCXFx1NUNCQ1xcdTVDQkVcXHU1Q0MwXFx1NUNDMlxcdTVDQzNcXHU1Q0M1XCIsIDUsIFwiXFx1NUNDQ1wiLCA1LCBcIlxcdTVDRDNcIiwgNSwgXCJcXHU1Q0RBXCIsIDYsIFwiXFx1NUNFMlxcdTVDRTNcXHU1Q0U3XFx1NUNFOVxcdTVDRUJcXHU1Q0VDXFx1NUNFRVxcdTVDRUZcXHU1Q0YxXCIsIDksIFwiXFx1NUNGQ1wiLCA0XSxcbiAgICAgIFtcIjhkODBcIiwgXCJcXHU1RDAxXFx1NUQwNFxcdTVEMDVcXHU1RDA4XCIsIDUsIFwiXFx1NUQwRlwiLCA0LCBcIlxcdTVEMTVcXHU1RDE3XFx1NUQxOFxcdTVEMTlcXHU1RDFBXFx1NUQxQ1xcdTVEMURcXHU1RDFGXCIsIDQsIFwiXFx1NUQyNVxcdTVEMjhcXHU1RDJBXFx1NUQyQlxcdTVEMkNcXHU1RDJGXCIsIDQsIFwiXFx1NUQzNVwiLCA3LCBcIlxcdTVEM0ZcIiwgNywgXCJcXHU1RDQ4XFx1NUQ0OVxcdTVENERcIiwgMTAsIFwiXFx1NUQ1OVxcdTVENUFcXHU1RDVDXFx1NUQ1RVwiLCAxMCwgXCJcXHU1RDZBXFx1NUQ2RFxcdTVENkVcXHU1RDcwXFx1NUQ3MVxcdTVENzJcXHU1RDczXFx1NUQ3NVwiLCAxMiwgXCJcXHU1RDgzXCIsIDIxLCBcIlxcdTVEOUFcXHU1RDlCXFx1NUQ5Q1xcdTVEOUVcXHU1RDlGXFx1NURBMFwiXSxcbiAgICAgIFtcIjhlNDBcIiwgXCJcXHU1REExXCIsIDIxLCBcIlxcdTVEQjhcIiwgMTIsIFwiXFx1NURDNlwiLCA2LCBcIlxcdTVEQ0VcIiwgMTIsIFwiXFx1NUREQ1xcdTVEREZcXHU1REUwXFx1NURFM1xcdTVERTRcXHU1REVBXFx1NURFQ1xcdTVERURcIl0sXG4gICAgICBbXCI4ZTgwXCIsIFwiXFx1NURGMFxcdTVERjVcXHU1REY2XFx1NURGOFwiLCA0LCBcIlxcdTVERkZcXHU1RTAwXFx1NUUwNFxcdTVFMDdcXHU1RTA5XFx1NUUwQVxcdTVFMEJcXHU1RTBEXFx1NUUwRVxcdTVFMTJcXHU1RTEzXFx1NUUxN1xcdTVFMUVcIiwgNywgXCJcXHU1RTI4XCIsIDQsIFwiXFx1NUUyRlxcdTVFMzBcXHU1RTMyXCIsIDQsIFwiXFx1NUUzOVxcdTVFM0FcXHU1RTNFXFx1NUUzRlxcdTVFNDBcXHU1RTQxXFx1NUU0M1xcdTVFNDZcIiwgNSwgXCJcXHU1RTREXCIsIDYsIFwiXFx1NUU1NlwiLCA0LCBcIlxcdTVFNUNcXHU1RTVEXFx1NUU1RlxcdTVFNjBcXHU1RTYzXCIsIDE0LCBcIlxcdTVFNzVcXHU1RTc3XFx1NUU3OVxcdTVFN0VcXHU1RTgxXFx1NUU4MlxcdTVFODNcXHU1RTg1XFx1NUU4OFxcdTVFODlcXHU1RThDXFx1NUU4RFxcdTVFOEVcXHU1RTkyXFx1NUU5OFxcdTVFOUJcXHU1RTlEXFx1NUVBMVxcdTVFQTJcXHU1RUEzXFx1NUVBNFxcdTVFQThcIiwgNCwgXCJcXHU1RUFFXCIsIDQsIFwiXFx1NUVCNFxcdTVFQkFcXHU1RUJCXFx1NUVCQ1xcdTVFQkRcXHU1RUJGXCIsIDZdLFxuICAgICAgW1wiOGY0MFwiLCBcIlxcdTVFQzZcXHU1RUM3XFx1NUVDOFxcdTVFQ0JcIiwgNSwgXCJcXHU1RUQ0XFx1NUVENVxcdTVFRDdcXHU1RUQ4XFx1NUVEOVxcdTVFREFcXHU1RURDXCIsIDExLCBcIlxcdTVFRTlcXHU1RUVCXCIsIDgsIFwiXFx1NUVGNVxcdTVFRjhcXHU1RUY5XFx1NUVGQlxcdTVFRkNcXHU1RUZEXFx1NUYwNVxcdTVGMDZcXHU1RjA3XFx1NUYwOVxcdTVGMENcXHU1RjBEXFx1NUYwRVxcdTVGMTBcXHU1RjEyXFx1NUYxNFxcdTVGMTZcXHU1RjE5XFx1NUYxQVxcdTVGMUNcXHU1RjFEXFx1NUYxRVxcdTVGMjFcXHU1RjIyXFx1NUYyM1xcdTVGMjRcIl0sXG4gICAgICBbXCI4ZjgwXCIsIFwiXFx1NUYyOFxcdTVGMkJcXHU1RjJDXFx1NUYyRVxcdTVGMzBcXHU1RjMyXCIsIDYsIFwiXFx1NUYzQlxcdTVGM0RcXHU1RjNFXFx1NUYzRlxcdTVGNDFcIiwgMTQsIFwiXFx1NUY1MVxcdTVGNTRcXHU1RjU5XFx1NUY1QVxcdTVGNUJcXHU1RjVDXFx1NUY1RVxcdTVGNUZcXHU1RjYwXFx1NUY2M1xcdTVGNjVcXHU1RjY3XFx1NUY2OFxcdTVGNkJcXHU1RjZFXFx1NUY2RlxcdTVGNzJcXHU1Rjc0XFx1NUY3NVxcdTVGNzZcXHU1Rjc4XFx1NUY3QVxcdTVGN0RcXHU1RjdFXFx1NUY3RlxcdTVGODNcXHU1Rjg2XFx1NUY4RFxcdTVGOEVcXHU1RjhGXFx1NUY5MVxcdTVGOTNcXHU1Rjk0XFx1NUY5NlxcdTVGOUFcXHU1RjlCXFx1NUY5RFxcdTVGOUVcXHU1RjlGXFx1NUZBMFxcdTVGQTJcIiwgNSwgXCJcXHU1RkE5XFx1NUZBQlxcdTVGQUNcXHU1RkFGXCIsIDUsIFwiXFx1NUZCNlxcdTVGQjhcXHU1RkI5XFx1NUZCQVxcdTVGQkJcXHU1RkJFXCIsIDQsIFwiXFx1NUZDN1xcdTVGQzhcXHU1RkNBXFx1NUZDQlxcdTVGQ0VcXHU1RkQzXFx1NUZENFxcdTVGRDVcXHU1RkRBXFx1NUZEQlxcdTVGRENcXHU1RkRFXFx1NUZERlxcdTVGRTJcXHU1RkUzXFx1NUZFNVxcdTVGRTZcXHU1RkU4XFx1NUZFOVxcdTVGRUNcXHU1RkVGXFx1NUZGMFxcdTVGRjJcXHU1RkYzXFx1NUZGNFxcdTVGRjZcXHU1RkY3XFx1NUZGOVxcdTVGRkFcXHU1RkZDXFx1NjAwN1wiXSxcbiAgICAgIFtcIjkwNDBcIiwgXCJcXHU2MDA4XFx1NjAwOVxcdTYwMEJcXHU2MDBDXFx1NjAxMFxcdTYwMTFcXHU2MDEzXFx1NjAxN1xcdTYwMThcXHU2MDFBXFx1NjAxRVxcdTYwMUZcXHU2MDIyXFx1NjAyM1xcdTYwMjRcXHU2MDJDXFx1NjAyRFxcdTYwMkVcXHU2MDMwXCIsIDQsIFwiXFx1NjAzNlwiLCA0LCBcIlxcdTYwM0RcXHU2MDNFXFx1NjA0MFxcdTYwNDRcIiwgNiwgXCJcXHU2MDRDXFx1NjA0RVxcdTYwNEZcXHU2MDUxXFx1NjA1M1xcdTYwNTRcXHU2MDU2XFx1NjA1N1xcdTYwNThcXHU2MDVCXFx1NjA1Q1xcdTYwNUVcXHU2MDVGXFx1NjA2MFxcdTYwNjFcXHU2MDY1XFx1NjA2NlxcdTYwNkVcXHU2MDcxXFx1NjA3MlxcdTYwNzRcXHU2MDc1XFx1NjA3N1xcdTYwN0VcXHU2MDgwXCJdLFxuICAgICAgW1wiOTA4MFwiLCBcIlxcdTYwODFcXHU2MDgyXFx1NjA4NVxcdTYwODZcXHU2MDg3XFx1NjA4OFxcdTYwOEFcXHU2MDhCXFx1NjA4RVxcdTYwOEZcXHU2MDkwXFx1NjA5MVxcdTYwOTNcXHU2MDk1XFx1NjA5N1xcdTYwOThcXHU2MDk5XFx1NjA5Q1xcdTYwOUVcXHU2MEExXFx1NjBBMlxcdTYwQTRcXHU2MEE1XFx1NjBBN1xcdTYwQTlcXHU2MEFBXFx1NjBBRVxcdTYwQjBcXHU2MEIzXFx1NjBCNVxcdTYwQjZcXHU2MEI3XFx1NjBCOVxcdTYwQkFcXHU2MEJEXCIsIDcsIFwiXFx1NjBDN1xcdTYwQzhcXHU2MEM5XFx1NjBDQ1wiLCA0LCBcIlxcdTYwRDJcXHU2MEQzXFx1NjBENFxcdTYwRDZcXHU2MEQ3XFx1NjBEOVxcdTYwREJcXHU2MERFXFx1NjBFMVwiLCA0LCBcIlxcdTYwRUFcXHU2MEYxXFx1NjBGMlxcdTYwRjVcXHU2MEY3XFx1NjBGOFxcdTYwRkJcIiwgNCwgXCJcXHU2MTAyXFx1NjEwM1xcdTYxMDRcXHU2MTA1XFx1NjEwN1xcdTYxMEFcXHU2MTBCXFx1NjEwQ1xcdTYxMTBcIiwgNCwgXCJcXHU2MTE2XFx1NjExN1xcdTYxMThcXHU2MTE5XFx1NjExQlxcdTYxMUNcXHU2MTFEXFx1NjExRVxcdTYxMjFcXHU2MTIyXFx1NjEyNVxcdTYxMjhcXHU2MTI5XFx1NjEyQVxcdTYxMkNcIiwgMTgsIFwiXFx1NjE0MFwiLCA2XSxcbiAgICAgIFtcIjkxNDBcIiwgXCJcXHU2MTQ3XFx1NjE0OVxcdTYxNEJcXHU2MTREXFx1NjE0RlxcdTYxNTBcXHU2MTUyXFx1NjE1M1xcdTYxNTRcXHU2MTU2XCIsIDYsIFwiXFx1NjE1RVxcdTYxNUZcXHU2MTYwXFx1NjE2MVxcdTYxNjNcXHU2MTY0XFx1NjE2NVxcdTYxNjZcXHU2MTY5XCIsIDYsIFwiXFx1NjE3MVxcdTYxNzJcXHU2MTczXFx1NjE3NFxcdTYxNzZcXHU2MTc4XCIsIDE4LCBcIlxcdTYxOENcXHU2MThEXFx1NjE4RlwiLCA0LCBcIlxcdTYxOTVcIl0sXG4gICAgICBbXCI5MTgwXCIsIFwiXFx1NjE5NlwiLCA2LCBcIlxcdTYxOUVcIiwgOCwgXCJcXHU2MUFBXFx1NjFBQlxcdTYxQURcIiwgOSwgXCJcXHU2MUI4XCIsIDUsIFwiXFx1NjFCRlxcdTYxQzBcXHU2MUMxXFx1NjFDM1wiLCA0LCBcIlxcdTYxQzlcXHU2MUNDXCIsIDQsIFwiXFx1NjFEM1xcdTYxRDVcIiwgMTYsIFwiXFx1NjFFN1wiLCAxMywgXCJcXHU2MUY2XCIsIDgsIFwiXFx1NjIwMFwiLCA1LCBcIlxcdTYyMDdcXHU2MjA5XFx1NjIxM1xcdTYyMTRcXHU2MjE5XFx1NjIxQ1xcdTYyMURcXHU2MjFFXFx1NjIyMFxcdTYyMjNcXHU2MjI2XFx1NjIyN1xcdTYyMjhcXHU2MjI5XFx1NjIyQlxcdTYyMkRcXHU2MjJGXFx1NjIzMFxcdTYyMzFcXHU2MjMyXFx1NjIzNVxcdTYyMzZcXHU2MjM4XCIsIDQsIFwiXFx1NjI0MlxcdTYyNDRcXHU2MjQ1XFx1NjI0NlxcdTYyNEFcIl0sXG4gICAgICBbXCI5MjQwXCIsIFwiXFx1NjI0RlxcdTYyNTBcXHU2MjU1XFx1NjI1NlxcdTYyNTdcXHU2MjU5XFx1NjI1QVxcdTYyNUNcIiwgNiwgXCJcXHU2MjY0XFx1NjI2NVxcdTYyNjhcXHU2MjcxXFx1NjI3MlxcdTYyNzRcXHU2Mjc1XFx1NjI3N1xcdTYyNzhcXHU2MjdBXFx1NjI3QlxcdTYyN0RcXHU2MjgxXFx1NjI4MlxcdTYyODNcXHU2Mjg1XFx1NjI4NlxcdTYyODdcXHU2Mjg4XFx1NjI4QlwiLCA1LCBcIlxcdTYyOTRcXHU2Mjk5XFx1NjI5Q1xcdTYyOURcXHU2MjlFXFx1NjJBM1xcdTYyQTZcXHU2MkE3XFx1NjJBOVxcdTYyQUFcXHU2MkFEXFx1NjJBRVxcdTYyQUZcXHU2MkIwXFx1NjJCMlxcdTYyQjNcXHU2MkI0XFx1NjJCNlxcdTYyQjdcXHU2MkI4XFx1NjJCQVxcdTYyQkVcXHU2MkMwXFx1NjJDMVwiXSxcbiAgICAgIFtcIjkyODBcIiwgXCJcXHU2MkMzXFx1NjJDQlxcdTYyQ0ZcXHU2MkQxXFx1NjJENVxcdTYyRERcXHU2MkRFXFx1NjJFMFxcdTYyRTFcXHU2MkU0XFx1NjJFQVxcdTYyRUJcXHU2MkYwXFx1NjJGMlxcdTYyRjVcXHU2MkY4XFx1NjJGOVxcdTYyRkFcXHU2MkZCXFx1NjMwMFxcdTYzMDNcXHU2MzA0XFx1NjMwNVxcdTYzMDZcXHU2MzBBXFx1NjMwQlxcdTYzMENcXHU2MzBEXFx1NjMwRlxcdTYzMTBcXHU2MzEyXFx1NjMxM1xcdTYzMTRcXHU2MzE1XFx1NjMxN1xcdTYzMThcXHU2MzE5XFx1NjMxQ1xcdTYzMjZcXHU2MzI3XFx1NjMyOVxcdTYzMkNcXHU2MzJEXFx1NjMyRVxcdTYzMzBcXHU2MzMxXFx1NjMzM1wiLCA1LCBcIlxcdTYzM0JcXHU2MzNDXFx1NjMzRVxcdTYzM0ZcXHU2MzQwXFx1NjM0MVxcdTYzNDRcXHU2MzQ3XFx1NjM0OFxcdTYzNEFcXHU2MzUxXFx1NjM1MlxcdTYzNTNcXHU2MzU0XFx1NjM1NlwiLCA3LCBcIlxcdTYzNjBcXHU2MzY0XFx1NjM2NVxcdTYzNjZcXHU2MzY4XFx1NjM2QVxcdTYzNkJcXHU2MzZDXFx1NjM2RlxcdTYzNzBcXHU2MzcyXFx1NjM3M1xcdTYzNzRcXHU2Mzc1XFx1NjM3OFxcdTYzNzlcXHU2MzdDXFx1NjM3RFxcdTYzN0VcXHU2MzdGXFx1NjM4MVxcdTYzODNcXHU2Mzg0XFx1NjM4NVxcdTYzODZcXHU2MzhCXFx1NjM4RFxcdTYzOTFcXHU2MzkzXFx1NjM5NFxcdTYzOTVcXHU2Mzk3XFx1NjM5OVwiLCA2LCBcIlxcdTYzQTFcXHU2M0E0XFx1NjNBNlxcdTYzQUJcXHU2M0FGXFx1NjNCMVxcdTYzQjJcXHU2M0I1XFx1NjNCNlxcdTYzQjlcXHU2M0JCXFx1NjNCRFxcdTYzQkZcXHU2M0MwXCJdLFxuICAgICAgW1wiOTM0MFwiLCBcIlxcdTYzQzFcXHU2M0MyXFx1NjNDM1xcdTYzQzVcXHU2M0M3XFx1NjNDOFxcdTYzQ0FcXHU2M0NCXFx1NjNDQ1xcdTYzRDFcXHU2M0QzXFx1NjNENFxcdTYzRDVcXHU2M0Q3XCIsIDYsIFwiXFx1NjNERlxcdTYzRTJcXHU2M0U0XCIsIDQsIFwiXFx1NjNFQlxcdTYzRUNcXHU2M0VFXFx1NjNFRlxcdTYzRjBcXHU2M0YxXFx1NjNGM1xcdTYzRjVcXHU2M0Y3XFx1NjNGOVxcdTYzRkFcXHU2M0ZCXFx1NjNGQ1xcdTYzRkVcXHU2NDAzXFx1NjQwNFxcdTY0MDZcIiwgNCwgXCJcXHU2NDBEXFx1NjQwRVxcdTY0MTFcXHU2NDEyXFx1NjQxNVwiLCA1LCBcIlxcdTY0MURcXHU2NDFGXFx1NjQyMlxcdTY0MjNcXHU2NDI0XCJdLFxuICAgICAgW1wiOTM4MFwiLCBcIlxcdTY0MjVcXHU2NDI3XFx1NjQyOFxcdTY0MjlcXHU2NDJCXFx1NjQyRVwiLCA1LCBcIlxcdTY0MzVcIiwgNCwgXCJcXHU2NDNCXFx1NjQzQ1xcdTY0M0VcXHU2NDQwXFx1NjQ0MlxcdTY0NDNcXHU2NDQ5XFx1NjQ0QlwiLCA2LCBcIlxcdTY0NTNcXHU2NDU1XFx1NjQ1NlxcdTY0NTdcXHU2NDU5XCIsIDQsIFwiXFx1NjQ1RlwiLCA3LCBcIlxcdTY0NjhcXHU2NDZBXFx1NjQ2QlxcdTY0NkNcXHU2NDZFXCIsIDksIFwiXFx1NjQ3QlwiLCA2LCBcIlxcdTY0ODNcXHU2NDg2XFx1NjQ4OFwiLCA4LCBcIlxcdTY0OTNcXHU2NDk0XFx1NjQ5N1xcdTY0OThcXHU2NDlBXFx1NjQ5QlxcdTY0OUNcXHU2NDlEXFx1NjQ5RlwiLCA0LCBcIlxcdTY0QTVcXHU2NEE2XFx1NjRBN1xcdTY0QThcXHU2NEFBXFx1NjRBQlxcdTY0QUZcXHU2NEIxXFx1NjRCMlxcdTY0QjNcXHU2NEI0XFx1NjRCNlxcdTY0QjlcXHU2NEJCXFx1NjRCRFxcdTY0QkVcXHU2NEJGXFx1NjRDMVxcdTY0QzNcXHU2NEM0XFx1NjRDNlwiLCA2LCBcIlxcdTY0Q0ZcXHU2NEQxXFx1NjREM1xcdTY0RDRcXHU2NEQ1XFx1NjRENlxcdTY0RDlcXHU2NERBXCJdLFxuICAgICAgW1wiOTQ0MFwiLCBcIlxcdTY0REJcXHU2NERDXFx1NjRERFxcdTY0REZcXHU2NEUwXFx1NjRFMVxcdTY0RTNcXHU2NEU1XFx1NjRFN1wiLCAyNCwgXCJcXHU2NTAxXCIsIDcsIFwiXFx1NjUwQVwiLCA3LCBcIlxcdTY1MTNcIiwgNCwgXCJcXHU2NTE5XCIsIDhdLFxuICAgICAgW1wiOTQ4MFwiLCBcIlxcdTY1MjJcXHU2NTIzXFx1NjUyNFxcdTY1MjZcIiwgNCwgXCJcXHU2NTJDXFx1NjUyRFxcdTY1MzBcXHU2NTMxXFx1NjUzMlxcdTY1MzNcXHU2NTM3XFx1NjUzQVxcdTY1M0NcXHU2NTNEXFx1NjU0MFwiLCA0LCBcIlxcdTY1NDZcXHU2NTQ3XFx1NjU0QVxcdTY1NEJcXHU2NTREXFx1NjU0RVxcdTY1NTBcXHU2NTUyXFx1NjU1M1xcdTY1NTRcXHU2NTU3XFx1NjU1OFxcdTY1NUFcXHU2NTVDXFx1NjU1RlxcdTY1NjBcXHU2NTYxXFx1NjU2NFxcdTY1NjVcXHU2NTY3XFx1NjU2OFxcdTY1NjlcXHU2NTZBXFx1NjU2RFxcdTY1NkVcXHU2NTZGXFx1NjU3MVxcdTY1NzNcXHU2NTc1XFx1NjU3NlxcdTY1NzhcIiwgMTQsIFwiXFx1NjU4OFxcdTY1ODlcXHU2NThBXFx1NjU4RFxcdTY1OEVcXHU2NThGXFx1NjU5MlxcdTY1OTRcXHU2NTk1XFx1NjU5NlxcdTY1OThcXHU2NTlBXFx1NjU5RFxcdTY1OUVcXHU2NUEwXFx1NjVBMlxcdTY1QTNcXHU2NUE2XFx1NjVBOFxcdTY1QUFcXHU2NUFDXFx1NjVBRVxcdTY1QjFcIiwgNywgXCJcXHU2NUJBXFx1NjVCQlxcdTY1QkVcXHU2NUJGXFx1NjVDMFxcdTY1QzJcXHU2NUM3XFx1NjVDOFxcdTY1QzlcXHU2NUNBXFx1NjVDRFxcdTY1RDBcXHU2NUQxXFx1NjVEM1xcdTY1RDRcXHU2NUQ1XFx1NjVEOFwiLCA3LCBcIlxcdTY1RTFcXHU2NUUzXFx1NjVFNFxcdTY1RUFcXHU2NUVCXCJdLFxuICAgICAgW1wiOTU0MFwiLCBcIlxcdTY1RjJcXHU2NUYzXFx1NjVGNFxcdTY1RjVcXHU2NUY4XFx1NjVGOVxcdTY1RkJcIiwgNCwgXCJcXHU2NjAxXFx1NjYwNFxcdTY2MDVcXHU2NjA3XFx1NjYwOFxcdTY2MDlcXHU2NjBCXFx1NjYwRFxcdTY2MTBcXHU2NjExXFx1NjYxMlxcdTY2MTZcXHU2NjE3XFx1NjYxOFxcdTY2MUFcXHU2NjFCXFx1NjYxQ1xcdTY2MUVcXHU2NjIxXFx1NjYyMlxcdTY2MjNcXHU2NjI0XFx1NjYyNlxcdTY2MjlcXHU2NjJBXFx1NjYyQlxcdTY2MkNcXHU2NjJFXFx1NjYzMFxcdTY2MzJcXHU2NjMzXFx1NjYzN1wiLCA0LCBcIlxcdTY2M0RcXHU2NjNGXFx1NjY0MFxcdTY2NDJcXHU2NjQ0XCIsIDYsIFwiXFx1NjY0RFxcdTY2NEVcXHU2NjUwXFx1NjY1MVxcdTY2NThcIl0sXG4gICAgICBbXCI5NTgwXCIsIFwiXFx1NjY1OVxcdTY2NUJcXHU2NjVDXFx1NjY1RFxcdTY2NUVcXHU2NjYwXFx1NjY2MlxcdTY2NjNcXHU2NjY1XFx1NjY2N1xcdTY2NjlcIiwgNCwgXCJcXHU2NjcxXFx1NjY3MlxcdTY2NzNcXHU2Njc1XFx1NjY3OFxcdTY2NzlcXHU2NjdCXFx1NjY3Q1xcdTY2N0RcXHU2NjdGXFx1NjY4MFxcdTY2ODFcXHU2NjgzXFx1NjY4NVxcdTY2ODZcXHU2Njg4XFx1NjY4OVxcdTY2OEFcXHU2NjhCXFx1NjY4RFxcdTY2OEVcXHU2NjhGXFx1NjY5MFxcdTY2OTJcXHU2NjkzXFx1NjY5NFxcdTY2OTVcXHU2Njk4XCIsIDQsIFwiXFx1NjY5RVwiLCA4LCBcIlxcdTY2QTlcIiwgNCwgXCJcXHU2NkFGXCIsIDQsIFwiXFx1NjZCNVxcdTY2QjZcXHU2NkI3XFx1NjZCOFxcdTY2QkFcXHU2NkJCXFx1NjZCQ1xcdTY2QkRcXHU2NkJGXCIsIDI1LCBcIlxcdTY2REFcXHU2NkRFXCIsIDcsIFwiXFx1NjZFN1xcdTY2RThcXHU2NkVBXCIsIDUsIFwiXFx1NjZGMVxcdTY2RjVcXHU2NkY2XFx1NjZGOFxcdTY2RkFcXHU2NkZCXFx1NjZGRFxcdTY3MDFcXHU2NzAyXFx1NjcwM1wiXSxcbiAgICAgIFtcIjk2NDBcIiwgXCJcXHU2NzA0XFx1NjcwNVxcdTY3MDZcXHU2NzA3XFx1NjcwQ1xcdTY3MEVcXHU2NzBGXFx1NjcxMVxcdTY3MTJcXHU2NzEzXFx1NjcxNlxcdTY3MThcXHU2NzE5XFx1NjcxQVxcdTY3MUNcXHU2NzFFXFx1NjcyMFwiLCA1LCBcIlxcdTY3MjdcXHU2NzI5XFx1NjcyRVxcdTY3MzBcXHU2NzMyXFx1NjczM1xcdTY3MzZcXHU2NzM3XFx1NjczOFxcdTY3MzlcXHU2NzNCXFx1NjczQ1xcdTY3M0VcXHU2NzNGXFx1Njc0MVxcdTY3NDRcXHU2NzQ1XFx1Njc0N1xcdTY3NEFcXHU2NzRCXFx1Njc0RFxcdTY3NTJcXHU2NzU0XFx1Njc1NVxcdTY3NTdcIiwgNCwgXCJcXHU2NzVEXFx1Njc2MlxcdTY3NjNcXHU2NzY0XFx1Njc2NlxcdTY3NjdcXHU2NzZCXFx1Njc2Q1xcdTY3NkVcXHU2NzcxXFx1Njc3NFxcdTY3NzZcIl0sXG4gICAgICBbXCI5NjgwXCIsIFwiXFx1Njc3OFxcdTY3NzlcXHU2NzdBXFx1Njc3QlxcdTY3N0RcXHU2NzgwXFx1Njc4MlxcdTY3ODNcXHU2Nzg1XFx1Njc4NlxcdTY3ODhcXHU2NzhBXFx1Njc4Q1xcdTY3OERcXHU2NzhFXFx1Njc4RlxcdTY3OTFcXHU2NzkyXFx1Njc5M1xcdTY3OTRcXHU2Nzk2XFx1Njc5OVxcdTY3OUJcXHU2NzlGXFx1NjdBMFxcdTY3QTFcXHU2N0E0XFx1NjdBNlxcdTY3QTlcXHU2N0FDXFx1NjdBRVxcdTY3QjFcXHU2N0IyXFx1NjdCNFxcdTY3QjlcIiwgNywgXCJcXHU2N0MyXFx1NjdDNVwiLCA5LCBcIlxcdTY3RDVcXHU2N0Q2XFx1NjdEN1xcdTY3REJcXHU2N0RGXFx1NjdFMVxcdTY3RTNcXHU2N0U0XFx1NjdFNlxcdTY3RTdcXHU2N0U4XFx1NjdFQVxcdTY3RUJcXHU2N0VEXFx1NjdFRVxcdTY3RjJcXHU2N0Y1XCIsIDcsIFwiXFx1NjdGRVxcdTY4MDFcXHU2ODAyXFx1NjgwM1xcdTY4MDRcXHU2ODA2XFx1NjgwRFxcdTY4MTBcXHU2ODEyXFx1NjgxNFxcdTY4MTVcXHU2ODE4XCIsIDQsIFwiXFx1NjgxRVxcdTY4MUZcXHU2ODIwXFx1NjgyMlwiLCA2LCBcIlxcdTY4MkJcIiwgNiwgXCJcXHU2ODM0XFx1NjgzNVxcdTY4MzZcXHU2ODNBXFx1NjgzQlxcdTY4M0ZcXHU2ODQ3XFx1Njg0QlxcdTY4NERcXHU2ODRGXFx1Njg1MlxcdTY4NTZcIiwgNV0sXG4gICAgICBbXCI5NzQwXCIsIFwiXFx1Njg1Q1xcdTY4NURcXHU2ODVFXFx1Njg1RlxcdTY4NkFcXHU2ODZDXCIsIDcsIFwiXFx1Njg3NVxcdTY4NzhcIiwgOCwgXCJcXHU2ODgyXFx1Njg4NFxcdTY4ODdcIiwgNywgXCJcXHU2ODkwXFx1Njg5MVxcdTY4OTJcXHU2ODk0XFx1Njg5NVxcdTY4OTZcXHU2ODk4XCIsIDksIFwiXFx1NjhBM1xcdTY4QTRcXHU2OEE1XFx1NjhBOVxcdTY4QUFcXHU2OEFCXFx1NjhBQ1xcdTY4QUVcXHU2OEIxXFx1NjhCMlxcdTY4QjRcXHU2OEI2XFx1NjhCN1xcdTY4QjhcIl0sXG4gICAgICBbXCI5NzgwXCIsIFwiXFx1NjhCOVwiLCA2LCBcIlxcdTY4QzFcXHU2OEMzXCIsIDUsIFwiXFx1NjhDQVxcdTY4Q0NcXHU2OENFXFx1NjhDRlxcdTY4RDBcXHU2OEQxXFx1NjhEM1xcdTY4RDRcXHU2OEQ2XFx1NjhEN1xcdTY4RDlcXHU2OERCXCIsIDQsIFwiXFx1NjhFMVxcdTY4RTJcXHU2OEU0XCIsIDksIFwiXFx1NjhFRlxcdTY4RjJcXHU2OEYzXFx1NjhGNFxcdTY4RjZcXHU2OEY3XFx1NjhGOFxcdTY4RkJcXHU2OEZEXFx1NjhGRVxcdTY4RkZcXHU2OTAwXFx1NjkwMlxcdTY5MDNcXHU2OTA0XFx1NjkwNlwiLCA0LCBcIlxcdTY5MENcXHU2OTBGXFx1NjkxMVxcdTY5MTNcIiwgMTEsIFwiXFx1NjkyMVxcdTY5MjJcXHU2OTIzXFx1NjkyNVwiLCA3LCBcIlxcdTY5MkVcXHU2OTJGXFx1NjkzMVxcdTY5MzJcXHU2OTMzXFx1NjkzNVxcdTY5MzZcXHU2OTM3XFx1NjkzOFxcdTY5M0FcXHU2OTNCXFx1NjkzQ1xcdTY5M0VcXHU2OTQwXFx1Njk0MVxcdTY5NDNcIiwgMTYsIFwiXFx1Njk1NVxcdTY5NTZcXHU2OTU4XFx1Njk1OVxcdTY5NUJcXHU2OTVDXFx1Njk1RlwiXSxcbiAgICAgIFtcIjk4NDBcIiwgXCJcXHU2OTYxXFx1Njk2MlxcdTY5NjRcXHU2OTY1XFx1Njk2N1xcdTY5NjhcXHU2OTY5XFx1Njk2QVxcdTY5NkNcXHU2OTZEXFx1Njk2RlxcdTY5NzBcXHU2OTcyXCIsIDQsIFwiXFx1Njk3QVxcdTY5N0JcXHU2OTdEXFx1Njk3RVxcdTY5N0ZcXHU2OTgxXFx1Njk4M1xcdTY5ODVcXHU2OThBXFx1Njk4QlxcdTY5OENcXHU2OThFXCIsIDUsIFwiXFx1Njk5NlxcdTY5OTdcXHU2OTk5XFx1Njk5QVxcdTY5OURcIiwgOSwgXCJcXHU2OUE5XFx1NjlBQVxcdTY5QUNcXHU2OUFFXFx1NjlBRlxcdTY5QjBcXHU2OUIyXFx1NjlCM1xcdTY5QjVcXHU2OUI2XFx1NjlCOFxcdTY5QjlcXHU2OUJBXFx1NjlCQ1xcdTY5QkRcIl0sXG4gICAgICBbXCI5ODgwXCIsIFwiXFx1NjlCRVxcdTY5QkZcXHU2OUMwXFx1NjlDMlwiLCA3LCBcIlxcdTY5Q0JcXHU2OUNEXFx1NjlDRlxcdTY5RDFcXHU2OUQyXFx1NjlEM1xcdTY5RDVcIiwgNSwgXCJcXHU2OURDXFx1NjlERFxcdTY5REVcXHU2OUUxXCIsIDExLCBcIlxcdTY5RUVcXHU2OUVGXFx1NjlGMFxcdTY5RjFcXHU2OUYzXCIsIDksIFwiXFx1NjlGRVxcdTZBMDBcIiwgOSwgXCJcXHU2QTBCXCIsIDExLCBcIlxcdTZBMTlcIiwgNSwgXCJcXHU2QTIwXFx1NkEyMlwiLCA1LCBcIlxcdTZBMjlcXHU2QTJCXFx1NkEyQ1xcdTZBMkRcXHU2QTJFXFx1NkEzMFxcdTZBMzJcXHU2QTMzXFx1NkEzNFxcdTZBMzZcIiwgNiwgXCJcXHU2QTNGXCIsIDQsIFwiXFx1NkE0NVxcdTZBNDZcXHU2QTQ4XCIsIDcsIFwiXFx1NkE1MVwiLCA2LCBcIlxcdTZBNUFcIl0sXG4gICAgICBbXCI5OTQwXCIsIFwiXFx1NkE1Q1wiLCA0LCBcIlxcdTZBNjJcXHU2QTYzXFx1NkE2NFxcdTZBNjZcIiwgMTAsIFwiXFx1NkE3MlwiLCA2LCBcIlxcdTZBN0FcXHU2QTdCXFx1NkE3RFxcdTZBN0VcXHU2QTdGXFx1NkE4MVxcdTZBODJcXHU2QTgzXFx1NkE4NVwiLCA4LCBcIlxcdTZBOEZcXHU2QTkyXCIsIDQsIFwiXFx1NkE5OFwiLCA3LCBcIlxcdTZBQTFcIiwgNV0sXG4gICAgICBbXCI5OTgwXCIsIFwiXFx1NkFBN1xcdTZBQThcXHU2QUFBXFx1NkFBRFwiLCAxMTQsIFwiXFx1NkIyNVxcdTZCMjZcXHU2QjI4XCIsIDZdLFxuICAgICAgW1wiOWE0MFwiLCBcIlxcdTZCMkZcXHU2QjMwXFx1NkIzMVxcdTZCMzNcXHU2QjM0XFx1NkIzNVxcdTZCMzZcXHU2QjM4XFx1NkIzQlxcdTZCM0NcXHU2QjNEXFx1NkIzRlxcdTZCNDBcXHU2QjQxXFx1NkI0MlxcdTZCNDRcXHU2QjQ1XFx1NkI0OFxcdTZCNEFcXHU2QjRCXFx1NkI0RFwiLCAxMSwgXCJcXHU2QjVBXCIsIDcsIFwiXFx1NkI2OFxcdTZCNjlcXHU2QjZCXCIsIDEzLCBcIlxcdTZCN0FcXHU2QjdEXFx1NkI3RVxcdTZCN0ZcXHU2QjgwXFx1NkI4NVxcdTZCODhcIl0sXG4gICAgICBbXCI5YTgwXCIsIFwiXFx1NkI4Q1xcdTZCOEVcXHU2QjhGXFx1NkI5MFxcdTZCOTFcXHU2Qjk0XFx1NkI5NVxcdTZCOTdcXHU2Qjk4XFx1NkI5OVxcdTZCOUNcIiwgNCwgXCJcXHU2QkEyXCIsIDcsIFwiXFx1NkJBQlwiLCA3LCBcIlxcdTZCQjZcXHU2QkI4XCIsIDYsIFwiXFx1NkJDMFxcdTZCQzNcXHU2QkM0XFx1NkJDNlwiLCA0LCBcIlxcdTZCQ0NcXHU2QkNFXFx1NkJEMFxcdTZCRDFcXHU2QkQ4XFx1NkJEQVxcdTZCRENcIiwgNCwgXCJcXHU2QkUyXCIsIDcsIFwiXFx1NkJFQ1xcdTZCRURcXHU2QkVFXFx1NkJGMFxcdTZCRjFcXHU2QkYyXFx1NkJGNFxcdTZCRjZcXHU2QkY3XFx1NkJGOFxcdTZCRkFcXHU2QkZCXFx1NkJGQ1xcdTZCRkVcIiwgNiwgXCJcXHU2QzA4XCIsIDQsIFwiXFx1NkMwRVxcdTZDMTJcXHU2QzE3XFx1NkMxQ1xcdTZDMURcXHU2QzFFXFx1NkMyMFxcdTZDMjNcXHU2QzI1XFx1NkMyQlxcdTZDMkNcXHU2QzJEXFx1NkMzMVxcdTZDMzNcXHU2QzM2XFx1NkMzN1xcdTZDMzlcXHU2QzNBXFx1NkMzQlxcdTZDM0NcXHU2QzNFXFx1NkMzRlxcdTZDNDNcXHU2QzQ0XFx1NkM0NVxcdTZDNDhcXHU2QzRCXCIsIDQsIFwiXFx1NkM1MVxcdTZDNTJcXHU2QzUzXFx1NkM1NlxcdTZDNThcIl0sXG4gICAgICBbXCI5YjQwXCIsIFwiXFx1NkM1OVxcdTZDNUFcXHU2QzYyXFx1NkM2M1xcdTZDNjVcXHU2QzY2XFx1NkM2N1xcdTZDNkJcIiwgNCwgXCJcXHU2QzcxXFx1NkM3M1xcdTZDNzVcXHU2Qzc3XFx1NkM3OFxcdTZDN0FcXHU2QzdCXFx1NkM3Q1xcdTZDN0ZcXHU2QzgwXFx1NkM4NFxcdTZDODdcXHU2QzhBXFx1NkM4QlxcdTZDOERcXHU2QzhFXFx1NkM5MVxcdTZDOTJcXHU2Qzk1XFx1NkM5NlxcdTZDOTdcXHU2Qzk4XFx1NkM5QVxcdTZDOUNcXHU2QzlEXFx1NkM5RVxcdTZDQTBcXHU2Q0EyXFx1NkNBOFxcdTZDQUNcXHU2Q0FGXFx1NkNCMFxcdTZDQjRcXHU2Q0I1XFx1NkNCNlxcdTZDQjdcXHU2Q0JBXFx1NkNDMFxcdTZDQzFcXHU2Q0MyXFx1NkNDM1xcdTZDQzZcXHU2Q0M3XFx1NkNDOFxcdTZDQ0JcXHU2Q0NEXFx1NkNDRVxcdTZDQ0ZcXHU2Q0QxXFx1NkNEMlxcdTZDRDhcIl0sXG4gICAgICBbXCI5YjgwXCIsIFwiXFx1NkNEOVxcdTZDREFcXHU2Q0RDXFx1NkNERFxcdTZDREZcXHU2Q0U0XFx1NkNFNlxcdTZDRTdcXHU2Q0U5XFx1NkNFQ1xcdTZDRURcXHU2Q0YyXFx1NkNGNFxcdTZDRjlcXHU2Q0ZGXFx1NkQwMFxcdTZEMDJcXHU2RDAzXFx1NkQwNVxcdTZEMDZcXHU2RDA4XFx1NkQwOVxcdTZEMEFcXHU2RDBEXFx1NkQwRlxcdTZEMTBcXHU2RDExXFx1NkQxM1xcdTZEMTRcXHU2RDE1XFx1NkQxNlxcdTZEMThcXHU2RDFDXFx1NkQxRFxcdTZEMUZcIiwgNSwgXCJcXHU2RDI2XFx1NkQyOFxcdTZEMjlcXHU2RDJDXFx1NkQyRFxcdTZEMkZcXHU2RDMwXFx1NkQzNFxcdTZEMzZcXHU2RDM3XFx1NkQzOFxcdTZEM0FcXHU2RDNGXFx1NkQ0MFxcdTZENDJcXHU2RDQ0XFx1NkQ0OVxcdTZENENcXHU2RDUwXFx1NkQ1NVxcdTZENTZcXHU2RDU3XFx1NkQ1OFxcdTZENUJcXHU2RDVEXFx1NkQ1RlxcdTZENjFcXHU2RDYyXFx1NkQ2NFxcdTZENjVcXHU2RDY3XFx1NkQ2OFxcdTZENkJcXHU2RDZDXFx1NkQ2RFxcdTZENzBcXHU2RDcxXFx1NkQ3MlxcdTZENzNcXHU2RDc1XFx1NkQ3NlxcdTZENzlcXHU2RDdBXFx1NkQ3QlxcdTZEN0RcIiwgNCwgXCJcXHU2RDgzXFx1NkQ4NFxcdTZEODZcXHU2RDg3XFx1NkQ4QVxcdTZEOEJcXHU2RDhEXFx1NkQ4RlxcdTZEOTBcXHU2RDkyXFx1NkQ5NlwiLCA0LCBcIlxcdTZEOUNcXHU2REEyXFx1NkRBNVxcdTZEQUNcXHU2REFEXFx1NkRCMFxcdTZEQjFcXHU2REIzXFx1NkRCNFxcdTZEQjZcXHU2REI3XFx1NkRCOVwiLCA1LCBcIlxcdTZEQzFcXHU2REMyXFx1NkRDM1xcdTZEQzhcXHU2REM5XFx1NkRDQVwiXSxcbiAgICAgIFtcIjljNDBcIiwgXCJcXHU2RENEXFx1NkRDRVxcdTZEQ0ZcXHU2REQwXFx1NkREMlxcdTZERDNcXHU2REQ0XFx1NkRENVxcdTZERDdcXHU2RERBXFx1NkREQlxcdTZERENcXHU2RERGXFx1NkRFMlxcdTZERTNcXHU2REU1XFx1NkRFN1xcdTZERThcXHU2REU5XFx1NkRFQVxcdTZERURcXHU2REVGXFx1NkRGMFxcdTZERjJcXHU2REY0XFx1NkRGNVxcdTZERjZcXHU2REY4XFx1NkRGQVxcdTZERkRcIiwgNywgXCJcXHU2RTA2XFx1NkUwN1xcdTZFMDhcXHU2RTA5XFx1NkUwQlxcdTZFMEZcXHU2RTEyXFx1NkUxM1xcdTZFMTVcXHU2RTE4XFx1NkUxOVxcdTZFMUJcXHU2RTFDXFx1NkUxRVxcdTZFMUZcXHU2RTIyXFx1NkUyNlxcdTZFMjdcXHU2RTI4XFx1NkUyQVxcdTZFMkNcXHU2RTJFXFx1NkUzMFxcdTZFMzFcXHU2RTMzXFx1NkUzNVwiXSxcbiAgICAgIFtcIjljODBcIiwgXCJcXHU2RTM2XFx1NkUzN1xcdTZFMzlcXHU2RTNCXCIsIDcsIFwiXFx1NkU0NVwiLCA3LCBcIlxcdTZFNEZcXHU2RTUwXFx1NkU1MVxcdTZFNTJcXHU2RTU1XFx1NkU1N1xcdTZFNTlcXHU2RTVBXFx1NkU1Q1xcdTZFNURcXHU2RTVFXFx1NkU2MFwiLCAxMCwgXCJcXHU2RTZDXFx1NkU2RFxcdTZFNkZcIiwgMTQsIFwiXFx1NkU4MFxcdTZFODFcXHU2RTgyXFx1NkU4NFxcdTZFODdcXHU2RTg4XFx1NkU4QVwiLCA0LCBcIlxcdTZFOTFcIiwgNiwgXCJcXHU2RTk5XFx1NkU5QVxcdTZFOUJcXHU2RTlEXFx1NkU5RVxcdTZFQTBcXHU2RUExXFx1NkVBM1xcdTZFQTRcXHU2RUE2XFx1NkVBOFxcdTZFQTlcXHU2RUFCXFx1NkVBQ1xcdTZFQURcXHU2RUFFXFx1NkVCMFxcdTZFQjNcXHU2RUI1XFx1NkVCOFxcdTZFQjlcXHU2RUJDXFx1NkVCRVxcdTZFQkZcXHU2RUMwXFx1NkVDM1xcdTZFQzRcXHU2RUM1XFx1NkVDNlxcdTZFQzhcXHU2RUM5XFx1NkVDQVxcdTZFQ0NcXHU2RUNEXFx1NkVDRVxcdTZFRDBcXHU2RUQyXFx1NkVENlxcdTZFRDhcXHU2RUQ5XFx1NkVEQlxcdTZFRENcXHU2RUREXFx1NkVFM1xcdTZFRTdcXHU2RUVBXCIsIDVdLFxuICAgICAgW1wiOWQ0MFwiLCBcIlxcdTZFRjBcXHU2RUYxXFx1NkVGMlxcdTZFRjNcXHU2RUY1XFx1NkVGNlxcdTZFRjdcXHU2RUY4XFx1NkVGQVwiLCA3LCBcIlxcdTZGMDNcXHU2RjA0XFx1NkYwNVxcdTZGMDdcXHU2RjA4XFx1NkYwQVwiLCA0LCBcIlxcdTZGMTBcXHU2RjExXFx1NkYxMlxcdTZGMTZcIiwgOSwgXCJcXHU2RjIxXFx1NkYyMlxcdTZGMjNcXHU2RjI1XFx1NkYyNlxcdTZGMjdcXHU2RjI4XFx1NkYyQ1xcdTZGMkVcXHU2RjMwXFx1NkYzMlxcdTZGMzRcXHU2RjM1XFx1NkYzN1wiLCA2LCBcIlxcdTZGM0ZcXHU2RjQwXFx1NkY0MVxcdTZGNDJcIl0sXG4gICAgICBbXCI5ZDgwXCIsIFwiXFx1NkY0M1xcdTZGNDRcXHU2RjQ1XFx1NkY0OFxcdTZGNDlcXHU2RjRBXFx1NkY0Q1xcdTZGNEVcIiwgOSwgXCJcXHU2RjU5XFx1NkY1QVxcdTZGNUJcXHU2RjVEXFx1NkY1RlxcdTZGNjBcXHU2RjYxXFx1NkY2M1xcdTZGNjRcXHU2RjY1XFx1NkY2N1wiLCA1LCBcIlxcdTZGNkZcXHU2RjcwXFx1NkY3MVxcdTZGNzNcXHU2Rjc1XFx1NkY3NlxcdTZGNzdcXHU2Rjc5XFx1NkY3QlxcdTZGN0RcIiwgNiwgXCJcXHU2Rjg1XFx1NkY4NlxcdTZGODdcXHU2RjhBXFx1NkY4QlxcdTZGOEZcIiwgMTIsIFwiXFx1NkY5RFxcdTZGOUVcXHU2RjlGXFx1NkZBMFxcdTZGQTJcIiwgNCwgXCJcXHU2RkE4XCIsIDEwLCBcIlxcdTZGQjRcXHU2RkI1XFx1NkZCN1xcdTZGQjhcXHU2RkJBXCIsIDUsIFwiXFx1NkZDMVxcdTZGQzNcIiwgNSwgXCJcXHU2RkNBXCIsIDYsIFwiXFx1NkZEM1wiLCAxMCwgXCJcXHU2RkRGXFx1NkZFMlxcdTZGRTNcXHU2RkU0XFx1NkZFNVwiXSxcbiAgICAgIFtcIjllNDBcIiwgXCJcXHU2RkU2XCIsIDcsIFwiXFx1NkZGMFwiLCAzMiwgXCJcXHU3MDEyXCIsIDcsIFwiXFx1NzAxQ1wiLCA2LCBcIlxcdTcwMjRcIiwgNl0sXG4gICAgICBbXCI5ZTgwXCIsIFwiXFx1NzAyQlwiLCA5LCBcIlxcdTcwMzZcXHU3MDM3XFx1NzAzOFxcdTcwM0FcIiwgMTcsIFwiXFx1NzA0RFxcdTcwNEVcXHU3MDUwXCIsIDEzLCBcIlxcdTcwNUZcIiwgMTEsIFwiXFx1NzA2RVxcdTcwNzFcXHU3MDcyXFx1NzA3M1xcdTcwNzRcXHU3MDc3XFx1NzA3OVxcdTcwN0FcXHU3MDdCXFx1NzA3RFxcdTcwODFcXHU3MDgyXFx1NzA4M1xcdTcwODRcXHU3MDg2XFx1NzA4N1xcdTcwODhcXHU3MDhCXFx1NzA4Q1xcdTcwOERcXHU3MDhGXFx1NzA5MFxcdTcwOTFcXHU3MDkzXFx1NzA5N1xcdTcwOThcXHU3MDlBXFx1NzA5QlxcdTcwOUVcIiwgMTIsIFwiXFx1NzBCMFxcdTcwQjJcXHU3MEI0XFx1NzBCNVxcdTcwQjZcXHU3MEJBXFx1NzBCRVxcdTcwQkZcXHU3MEM0XFx1NzBDNVxcdTcwQzZcXHU3MEM3XFx1NzBDOVxcdTcwQ0JcIiwgMTIsIFwiXFx1NzBEQVwiXSxcbiAgICAgIFtcIjlmNDBcIiwgXCJcXHU3MERDXFx1NzBERFxcdTcwREVcXHU3MEUwXFx1NzBFMVxcdTcwRTJcXHU3MEUzXFx1NzBFNVxcdTcwRUFcXHU3MEVFXFx1NzBGMFwiLCA2LCBcIlxcdTcwRjhcXHU3MEZBXFx1NzBGQlxcdTcwRkNcXHU3MEZFXCIsIDEwLCBcIlxcdTcxMEJcIiwgNCwgXCJcXHU3MTExXFx1NzExMlxcdTcxMTRcXHU3MTE3XFx1NzExQlwiLCAxMCwgXCJcXHU3MTI3XCIsIDcsIFwiXFx1NzEzMlxcdTcxMzNcXHU3MTM0XCJdLFxuICAgICAgW1wiOWY4MFwiLCBcIlxcdTcxMzVcXHU3MTM3XCIsIDEzLCBcIlxcdTcxNDZcXHU3MTQ3XFx1NzE0OFxcdTcxNDlcXHU3MTRCXFx1NzE0RFxcdTcxNEZcIiwgMTIsIFwiXFx1NzE1RFxcdTcxNUZcIiwgNCwgXCJcXHU3MTY1XFx1NzE2OVwiLCA0LCBcIlxcdTcxNkZcXHU3MTcwXFx1NzE3MVxcdTcxNzRcXHU3MTc1XFx1NzE3NlxcdTcxNzdcXHU3MTc5XFx1NzE3QlxcdTcxN0NcXHU3MTdFXCIsIDUsIFwiXFx1NzE4NVwiLCA0LCBcIlxcdTcxOEJcXHU3MThDXFx1NzE4RFxcdTcxOEVcXHU3MTkwXFx1NzE5MVxcdTcxOTJcXHU3MTkzXFx1NzE5NVxcdTcxOTZcXHU3MTk3XFx1NzE5QVwiLCA0LCBcIlxcdTcxQTFcIiwgNiwgXCJcXHU3MUE5XFx1NzFBQVxcdTcxQUJcXHU3MUFEXCIsIDUsIFwiXFx1NzFCNFxcdTcxQjZcXHU3MUI3XFx1NzFCOFxcdTcxQkFcIiwgOCwgXCJcXHU3MUM0XCIsIDksIFwiXFx1NzFDRlwiLCA0XSxcbiAgICAgIFtcImEwNDBcIiwgXCJcXHU3MUQ2XCIsIDksIFwiXFx1NzFFMVxcdTcxRTJcXHU3MUUzXFx1NzFFNFxcdTcxRTZcXHU3MUU4XCIsIDUsIFwiXFx1NzFFRlwiLCA5LCBcIlxcdTcxRkFcIiwgMTEsIFwiXFx1NzIwN1wiLCAxOV0sXG4gICAgICBbXCJhMDgwXCIsIFwiXFx1NzIxQlxcdTcyMUNcXHU3MjFFXCIsIDksIFwiXFx1NzIyOVxcdTcyMkJcXHU3MjJEXFx1NzIyRVxcdTcyMkZcXHU3MjMyXFx1NzIzM1xcdTcyMzRcXHU3MjNBXFx1NzIzQ1xcdTcyM0VcXHU3MjQwXCIsIDYsIFwiXFx1NzI0OVxcdTcyNEFcXHU3MjRCXFx1NzI0RVxcdTcyNEZcXHU3MjUwXFx1NzI1MVxcdTcyNTNcXHU3MjU0XFx1NzI1NVxcdTcyNTdcXHU3MjU4XFx1NzI1QVxcdTcyNUNcXHU3MjVFXFx1NzI2MFxcdTcyNjNcXHU3MjY0XFx1NzI2NVxcdTcyNjhcXHU3MjZBXFx1NzI2QlxcdTcyNkNcXHU3MjZEXFx1NzI3MFxcdTcyNzFcXHU3MjczXFx1NzI3NFxcdTcyNzZcXHU3Mjc3XFx1NzI3OFxcdTcyN0JcXHU3MjdDXFx1NzI3RFxcdTcyODJcXHU3MjgzXFx1NzI4NVwiLCA0LCBcIlxcdTcyOENcXHU3MjhFXFx1NzI5MFxcdTcyOTFcXHU3MjkzXCIsIDExLCBcIlxcdTcyQTBcIiwgMTEsIFwiXFx1NzJBRVxcdTcyQjFcXHU3MkIyXFx1NzJCM1xcdTcyQjVcXHU3MkJBXCIsIDYsIFwiXFx1NzJDNVxcdTcyQzZcXHU3MkM3XFx1NzJDOVxcdTcyQ0FcXHU3MkNCXFx1NzJDQ1xcdTcyQ0ZcXHU3MkQxXFx1NzJEM1xcdTcyRDRcXHU3MkQ1XFx1NzJENlxcdTcyRDhcXHU3MkRBXFx1NzJEQlwiXSxcbiAgICAgIFtcImExYTFcIiwgXCJcXHUzMDAwXFx1MzAwMVxcdTMwMDJcXHhCN1xcdTAyQzlcXHUwMkM3XFx4QThcXHUzMDAzXFx1MzAwNVxcdTIwMTRcXHVGRjVFXFx1MjAxNlxcdTIwMjZcXHUyMDE4XFx1MjAxOVxcdTIwMUNcXHUyMDFEXFx1MzAxNFxcdTMwMTVcXHUzMDA4XCIsIDcsIFwiXFx1MzAxNlxcdTMwMTdcXHUzMDEwXFx1MzAxMVxceEIxXFx4RDdcXHhGN1xcdTIyMzZcXHUyMjI3XFx1MjIyOFxcdTIyMTFcXHUyMjBGXFx1MjIyQVxcdTIyMjlcXHUyMjA4XFx1MjIzN1xcdTIyMUFcXHUyMkE1XFx1MjIyNVxcdTIyMjBcXHUyMzEyXFx1MjI5OVxcdTIyMkJcXHUyMjJFXFx1MjI2MVxcdTIyNENcXHUyMjQ4XFx1MjIzRFxcdTIyMURcXHUyMjYwXFx1MjI2RVxcdTIyNkZcXHUyMjY0XFx1MjI2NVxcdTIyMUVcXHUyMjM1XFx1MjIzNFxcdTI2NDJcXHUyNjQwXFx4QjBcXHUyMDMyXFx1MjAzM1xcdTIxMDNcXHVGRjA0XFx4QTRcXHVGRkUwXFx1RkZFMVxcdTIwMzBcXHhBN1xcdTIxMTZcXHUyNjA2XFx1MjYwNVxcdTI1Q0JcXHUyNUNGXFx1MjVDRVxcdTI1QzdcXHUyNUM2XFx1MjVBMVxcdTI1QTBcXHUyNUIzXFx1MjVCMlxcdTIwM0JcXHUyMTkyXFx1MjE5MFxcdTIxOTFcXHUyMTkzXFx1MzAxM1wiXSxcbiAgICAgIFtcImEyYTFcIiwgXCJcXHUyMTcwXCIsIDldLFxuICAgICAgW1wiYTJiMVwiLCBcIlxcdTI0ODhcIiwgMTksIFwiXFx1MjQ3NFwiLCAxOSwgXCJcXHUyNDYwXCIsIDldLFxuICAgICAgW1wiYTJlNVwiLCBcIlxcdTMyMjBcIiwgOV0sXG4gICAgICBbXCJhMmYxXCIsIFwiXFx1MjE2MFwiLCAxMV0sXG4gICAgICBbXCJhM2ExXCIsIFwiXFx1RkYwMVxcdUZGMDJcXHVGRjAzXFx1RkZFNVxcdUZGMDVcIiwgODgsIFwiXFx1RkZFM1wiXSxcbiAgICAgIFtcImE0YTFcIiwgXCJcXHUzMDQxXCIsIDgyXSxcbiAgICAgIFtcImE1YTFcIiwgXCJcXHUzMEExXCIsIDg1XSxcbiAgICAgIFtcImE2YTFcIiwgXCJcXHUwMzkxXCIsIDE2LCBcIlxcdTAzQTNcIiwgNl0sXG4gICAgICBbXCJhNmMxXCIsIFwiXFx1MDNCMVwiLCAxNiwgXCJcXHUwM0MzXCIsIDZdLFxuICAgICAgW1wiYTZlMFwiLCBcIlxcdUZFMzVcXHVGRTM2XFx1RkUzOVxcdUZFM0FcXHVGRTNGXFx1RkU0MFxcdUZFM0RcXHVGRTNFXFx1RkU0MVxcdUZFNDJcXHVGRTQzXFx1RkU0NFwiXSxcbiAgICAgIFtcImE2ZWVcIiwgXCJcXHVGRTNCXFx1RkUzQ1xcdUZFMzdcXHVGRTM4XFx1RkUzMVwiXSxcbiAgICAgIFtcImE2ZjRcIiwgXCJcXHVGRTMzXFx1RkUzNFwiXSxcbiAgICAgIFtcImE3YTFcIiwgXCJcXHUwNDEwXCIsIDUsIFwiXFx1MDQwMVxcdTA0MTZcIiwgMjVdLFxuICAgICAgW1wiYTdkMVwiLCBcIlxcdTA0MzBcIiwgNSwgXCJcXHUwNDUxXFx1MDQzNlwiLCAyNV0sXG4gICAgICBbXCJhODQwXCIsIFwiXFx1MDJDQVxcdTAyQ0JcXHUwMkQ5XFx1MjAxM1xcdTIwMTVcXHUyMDI1XFx1MjAzNVxcdTIxMDVcXHUyMTA5XFx1MjE5NlxcdTIxOTdcXHUyMTk4XFx1MjE5OVxcdTIyMTVcXHUyMjFGXFx1MjIyM1xcdTIyNTJcXHUyMjY2XFx1MjI2N1xcdTIyQkZcXHUyNTUwXCIsIDM1LCBcIlxcdTI1ODFcIiwgNl0sXG4gICAgICBbXCJhODgwXCIsIFwiXFx1MjU4OFwiLCA3LCBcIlxcdTI1OTNcXHUyNTk0XFx1MjU5NVxcdTI1QkNcXHUyNUJEXFx1MjVFMlxcdTI1RTNcXHUyNUU0XFx1MjVFNVxcdTI2MDlcXHUyMjk1XFx1MzAxMlxcdTMwMURcXHUzMDFFXCJdLFxuICAgICAgW1wiYThhMVwiLCBcIlxcdTAxMDFcXHhFMVxcdTAxQ0VcXHhFMFxcdTAxMTNcXHhFOVxcdTAxMUJcXHhFOFxcdTAxMkJcXHhFRFxcdTAxRDBcXHhFQ1xcdTAxNERcXHhGM1xcdTAxRDJcXHhGMlxcdTAxNkJcXHhGQVxcdTAxRDRcXHhGOVxcdTAxRDZcXHUwMUQ4XFx1MDFEQVxcdTAxRENcXHhGQ1xceEVBXFx1MDI1MVwiXSxcbiAgICAgIFtcImE4YmRcIiwgXCJcXHUwMTQ0XFx1MDE0OFwiXSxcbiAgICAgIFtcImE4YzBcIiwgXCJcXHUwMjYxXCJdLFxuICAgICAgW1wiYThjNVwiLCBcIlxcdTMxMDVcIiwgMzZdLFxuICAgICAgW1wiYTk0MFwiLCBcIlxcdTMwMjFcIiwgOCwgXCJcXHUzMkEzXFx1MzM4RVxcdTMzOEZcXHUzMzlDXFx1MzM5RFxcdTMzOUVcXHUzM0ExXFx1MzNDNFxcdTMzQ0VcXHUzM0QxXFx1MzNEMlxcdTMzRDVcXHVGRTMwXFx1RkZFMlxcdUZGRTRcIl0sXG4gICAgICBbXCJhOTU5XCIsIFwiXFx1MjEyMVxcdTMyMzFcIl0sXG4gICAgICBbXCJhOTVjXCIsIFwiXFx1MjAxMFwiXSxcbiAgICAgIFtcImE5NjBcIiwgXCJcXHUzMEZDXFx1MzA5QlxcdTMwOUNcXHUzMEZEXFx1MzBGRVxcdTMwMDZcXHUzMDlEXFx1MzA5RVxcdUZFNDlcIiwgOSwgXCJcXHVGRTU0XFx1RkU1NVxcdUZFNTZcXHVGRTU3XFx1RkU1OVwiLCA4XSxcbiAgICAgIFtcImE5ODBcIiwgXCJcXHVGRTYyXCIsIDQsIFwiXFx1RkU2OFxcdUZFNjlcXHVGRTZBXFx1RkU2QlwiXSxcbiAgICAgIFtcImE5OTZcIiwgXCJcXHUzMDA3XCJdLFxuICAgICAgW1wiYTlhNFwiLCBcIlxcdTI1MDBcIiwgNzVdLFxuICAgICAgW1wiYWE0MFwiLCBcIlxcdTcyRENcXHU3MkREXFx1NzJERlxcdTcyRTJcIiwgNSwgXCJcXHU3MkVBXFx1NzJFQlxcdTcyRjVcXHU3MkY2XFx1NzJGOVxcdTcyRkRcXHU3MkZFXFx1NzJGRlxcdTczMDBcXHU3MzAyXFx1NzMwNFwiLCA1LCBcIlxcdTczMEJcXHU3MzBDXFx1NzMwRFxcdTczMEZcXHU3MzEwXFx1NzMxMVxcdTczMTJcXHU3MzE0XFx1NzMxOFxcdTczMTlcXHU3MzFBXFx1NzMxRlxcdTczMjBcXHU3MzIzXFx1NzMyNFxcdTczMjZcXHU3MzI3XFx1NzMyOFxcdTczMkRcXHU3MzJGXFx1NzMzMFxcdTczMzJcXHU3MzMzXFx1NzMzNVxcdTczMzZcXHU3MzNBXFx1NzMzQlxcdTczM0NcXHU3MzNEXFx1NzM0MFwiLCA4XSxcbiAgICAgIFtcImFhODBcIiwgXCJcXHU3MzQ5XFx1NzM0QVxcdTczNEJcXHU3MzRDXFx1NzM0RVxcdTczNEZcXHU3MzUxXFx1NzM1M1xcdTczNTRcXHU3MzU1XFx1NzM1NlxcdTczNThcIiwgNywgXCJcXHU3MzYxXCIsIDEwLCBcIlxcdTczNkVcXHU3MzcwXFx1NzM3MVwiXSxcbiAgICAgIFtcImFiNDBcIiwgXCJcXHU3MzcyXCIsIDExLCBcIlxcdTczN0ZcIiwgNCwgXCJcXHU3Mzg1XFx1NzM4NlxcdTczODhcXHU3MzhBXFx1NzM4Q1xcdTczOERcXHU3MzhGXFx1NzM5MFxcdTczOTJcXHU3MzkzXFx1NzM5NFxcdTczOTVcXHU3Mzk3XFx1NzM5OFxcdTczOTlcXHU3MzlBXFx1NzM5Q1xcdTczOURcXHU3MzlFXFx1NzNBMFxcdTczQTFcXHU3M0EzXCIsIDUsIFwiXFx1NzNBQVxcdTczQUNcXHU3M0FEXFx1NzNCMVxcdTczQjRcXHU3M0I1XFx1NzNCNlxcdTczQjhcXHU3M0I5XFx1NzNCQ1xcdTczQkRcXHU3M0JFXFx1NzNCRlxcdTczQzFcXHU3M0MzXCIsIDRdLFxuICAgICAgW1wiYWI4MFwiLCBcIlxcdTczQ0JcXHU3M0NDXFx1NzNDRVxcdTczRDJcIiwgNiwgXCJcXHU3M0RBXFx1NzNEQlxcdTczRENcXHU3M0REXFx1NzNERlxcdTczRTFcXHU3M0UyXFx1NzNFM1xcdTczRTRcXHU3M0U2XFx1NzNFOFxcdTczRUFcXHU3M0VCXFx1NzNFQ1xcdTczRUVcXHU3M0VGXFx1NzNGMFxcdTczRjFcXHU3M0YzXCIsIDRdLFxuICAgICAgW1wiYWM0MFwiLCBcIlxcdTczRjhcIiwgMTAsIFwiXFx1NzQwNFxcdTc0MDdcXHU3NDA4XFx1NzQwQlxcdTc0MENcXHU3NDBEXFx1NzQwRVxcdTc0MTFcIiwgOCwgXCJcXHU3NDFDXCIsIDUsIFwiXFx1NzQyM1xcdTc0MjRcXHU3NDI3XFx1NzQyOVxcdTc0MkJcXHU3NDJEXFx1NzQyRlxcdTc0MzFcXHU3NDMyXFx1NzQzN1wiLCA0LCBcIlxcdTc0M0RcXHU3NDNFXFx1NzQzRlxcdTc0NDBcXHU3NDQyXCIsIDExXSxcbiAgICAgIFtcImFjODBcIiwgXCJcXHU3NDRFXCIsIDYsIFwiXFx1NzQ1NlxcdTc0NThcXHU3NDVEXFx1NzQ2MFwiLCAxMiwgXCJcXHU3NDZFXFx1NzQ2RlxcdTc0NzFcIiwgNCwgXCJcXHU3NDc4XFx1NzQ3OVxcdTc0N0FcIl0sXG4gICAgICBbXCJhZDQwXCIsIFwiXFx1NzQ3QlxcdTc0N0NcXHU3NDdEXFx1NzQ3RlxcdTc0ODJcXHU3NDg0XFx1NzQ4NVxcdTc0ODZcXHU3NDg4XFx1NzQ4OVxcdTc0OEFcXHU3NDhDXFx1NzQ4RFxcdTc0OEZcXHU3NDkxXCIsIDEwLCBcIlxcdTc0OURcXHU3NDlGXCIsIDcsIFwiXFx1NzRBQVwiLCAxNSwgXCJcXHU3NEJCXCIsIDEyXSxcbiAgICAgIFtcImFkODBcIiwgXCJcXHU3NEM4XCIsIDksIFwiXFx1NzREM1wiLCA4LCBcIlxcdTc0RERcXHU3NERGXFx1NzRFMVxcdTc0RTVcXHU3NEU3XCIsIDYsIFwiXFx1NzRGMFxcdTc0RjFcXHU3NEYyXCJdLFxuICAgICAgW1wiYWU0MFwiLCBcIlxcdTc0RjNcXHU3NEY1XFx1NzRGOFwiLCA2LCBcIlxcdTc1MDBcXHU3NTAxXFx1NzUwMlxcdTc1MDNcXHU3NTA1XCIsIDcsIFwiXFx1NzUwRVxcdTc1MTBcXHU3NTEyXFx1NzUxNFxcdTc1MTVcXHU3NTE2XFx1NzUxN1xcdTc1MUJcXHU3NTFEXFx1NzUxRVxcdTc1MjBcIiwgNCwgXCJcXHU3NTI2XFx1NzUyN1xcdTc1MkFcXHU3NTJFXFx1NzUzNFxcdTc1MzZcXHU3NTM5XFx1NzUzQ1xcdTc1M0RcXHU3NTNGXFx1NzU0MVxcdTc1NDJcXHU3NTQzXFx1NzU0NFxcdTc1NDZcXHU3NTQ3XFx1NzU0OVxcdTc1NEFcXHU3NTREXFx1NzU1MFxcdTc1NTFcXHU3NTUyXFx1NzU1M1xcdTc1NTVcXHU3NTU2XFx1NzU1N1xcdTc1NThcIl0sXG4gICAgICBbXCJhZTgwXCIsIFwiXFx1NzU1RFwiLCA3LCBcIlxcdTc1NjdcXHU3NTY4XFx1NzU2OVxcdTc1NkJcIiwgNiwgXCJcXHU3NTczXFx1NzU3NVxcdTc1NzZcXHU3NTc3XFx1NzU3QVwiLCA0LCBcIlxcdTc1ODBcXHU3NTgxXFx1NzU4MlxcdTc1ODRcXHU3NTg1XFx1NzU4N1wiXSxcbiAgICAgIFtcImFmNDBcIiwgXCJcXHU3NTg4XFx1NzU4OVxcdTc1OEFcXHU3NThDXFx1NzU4RFxcdTc1OEVcXHU3NTkwXFx1NzU5M1xcdTc1OTVcXHU3NTk4XFx1NzU5QlxcdTc1OUNcXHU3NTlFXFx1NzVBMlxcdTc1QTZcIiwgNCwgXCJcXHU3NUFEXFx1NzVCNlxcdTc1QjdcXHU3NUJBXFx1NzVCQlxcdTc1QkZcXHU3NUMwXFx1NzVDMVxcdTc1QzZcXHU3NUNCXFx1NzVDQ1xcdTc1Q0VcXHU3NUNGXFx1NzVEMFxcdTc1RDFcXHU3NUQzXFx1NzVEN1xcdTc1RDlcXHU3NURBXFx1NzVEQ1xcdTc1RERcXHU3NURGXFx1NzVFMFxcdTc1RTFcXHU3NUU1XFx1NzVFOVxcdTc1RUNcXHU3NUVEXFx1NzVFRVxcdTc1RUZcXHU3NUYyXFx1NzVGM1xcdTc1RjVcXHU3NUY2XFx1NzVGN1xcdTc1RjhcXHU3NUZBXFx1NzVGQlxcdTc1RkRcXHU3NUZFXFx1NzYwMlxcdTc2MDRcXHU3NjA2XFx1NzYwN1wiXSxcbiAgICAgIFtcImFmODBcIiwgXCJcXHU3NjA4XFx1NzYwOVxcdTc2MEJcXHU3NjBEXFx1NzYwRVxcdTc2MEZcXHU3NjExXFx1NzYxMlxcdTc2MTNcXHU3NjE0XFx1NzYxNlxcdTc2MUFcXHU3NjFDXFx1NzYxRFxcdTc2MUVcXHU3NjIxXFx1NzYyM1xcdTc2MjdcXHU3NjI4XFx1NzYyQ1xcdTc2MkVcXHU3NjJGXFx1NzYzMVxcdTc2MzJcXHU3NjM2XFx1NzYzN1xcdTc2MzlcXHU3NjNBXFx1NzYzQlxcdTc2M0RcXHU3NjQxXFx1NzY0MlxcdTc2NDRcIl0sXG4gICAgICBbXCJiMDQwXCIsIFwiXFx1NzY0NVwiLCA2LCBcIlxcdTc2NEVcIiwgNSwgXCJcXHU3NjU1XFx1NzY1N1wiLCA0LCBcIlxcdTc2NURcXHU3NjVGXFx1NzY2MFxcdTc2NjFcXHU3NjYyXFx1NzY2NFwiLCA2LCBcIlxcdTc2NkNcXHU3NjZEXFx1NzY2RVxcdTc2NzBcIiwgNywgXCJcXHU3Njc5XFx1NzY3QVxcdTc2N0NcXHU3NjdGXFx1NzY4MFxcdTc2ODFcXHU3NjgzXFx1NzY4NVxcdTc2ODlcXHU3NjhBXFx1NzY4Q1xcdTc2OERcXHU3NjhGXFx1NzY5MFxcdTc2OTJcXHU3Njk0XFx1NzY5NVxcdTc2OTdcXHU3Njk4XFx1NzY5QVxcdTc2OUJcIl0sXG4gICAgICBbXCJiMDgwXCIsIFwiXFx1NzY5Q1wiLCA3LCBcIlxcdTc2QTVcIiwgOCwgXCJcXHU3NkFGXFx1NzZCMFxcdTc2QjNcXHU3NkI1XCIsIDksIFwiXFx1NzZDMFxcdTc2QzFcXHU3NkMzXFx1NTU0QVxcdTk2M0ZcXHU1N0MzXFx1NjMyOFxcdTU0Q0VcXHU1NTA5XFx1NTRDMFxcdTc2OTFcXHU3NjRDXFx1ODUzQ1xcdTc3RUVcXHU4MjdFXFx1Nzg4RFxcdTcyMzFcXHU5Njk4XFx1OTc4RFxcdTZDMjhcXHU1Qjg5XFx1NEZGQVxcdTYzMDlcXHU2Njk3XFx1NUNCOFxcdTgwRkFcXHU2ODQ4XFx1ODBBRVxcdTY2MDJcXHU3NkNFXFx1NTFGOVxcdTY1NTZcXHU3MUFDXFx1N0ZGMVxcdTg4ODRcXHU1MEIyXFx1NTk2NVxcdTYxQ0FcXHU2RkIzXFx1ODJBRFxcdTYzNENcXHU2MjUyXFx1NTNFRFxcdTU0MjdcXHU3QjA2XFx1NTE2QlxcdTc1QTRcXHU1REY0XFx1NjJENFxcdThEQ0JcXHU5Nzc2XFx1NjI4QVxcdTgwMTlcXHU1NzVEXFx1OTczOFxcdTdGNjJcXHU3MjM4XFx1NzY3RFxcdTY3Q0ZcXHU3NjdFXFx1NjQ0NlxcdTRGNzBcXHU4RDI1XFx1NjJEQ1xcdTdBMTdcXHU2NTkxXFx1NzNFRFxcdTY0MkNcXHU2MjczXFx1ODIyQ1xcdTk4ODFcXHU2NzdGXFx1NzI0OFxcdTYyNkVcXHU2MkNDXFx1NEYzNFxcdTc0RTNcXHU1MzRBXFx1NTI5RVxcdTdFQ0FcXHU5MEE2XFx1NUUyRVxcdTY4ODZcXHU2OTlDXFx1ODE4MFxcdTdFRDFcXHU2OEQyXFx1NzhDNVxcdTg2OENcXHU5NTUxXFx1NTA4RFxcdThDMjRcXHU4MkRFXFx1ODBERVxcdTUzMDVcXHU4OTEyXFx1NTI2NVwiXSxcbiAgICAgIFtcImIxNDBcIiwgXCJcXHU3NkM0XFx1NzZDN1xcdTc2QzlcXHU3NkNCXFx1NzZDQ1xcdTc2RDNcXHU3NkQ1XFx1NzZEOVxcdTc2REFcXHU3NkRDXFx1NzZERFxcdTc2REVcXHU3NkUwXCIsIDQsIFwiXFx1NzZFNlwiLCA3LCBcIlxcdTc2RjBcXHU3NkYzXFx1NzZGNVxcdTc2RjZcXHU3NkY3XFx1NzZGQVxcdTc2RkJcXHU3NkZEXFx1NzZGRlxcdTc3MDBcXHU3NzAyXFx1NzcwM1xcdTc3MDVcXHU3NzA2XFx1NzcwQVxcdTc3MENcXHU3NzBFXCIsIDEwLCBcIlxcdTc3MUJcXHU3NzFDXFx1NzcxRFxcdTc3MUVcXHU3NzIxXFx1NzcyM1xcdTc3MjRcXHU3NzI1XFx1NzcyN1xcdTc3MkFcXHU3NzJCXCJdLFxuICAgICAgW1wiYjE4MFwiLCBcIlxcdTc3MkNcXHU3NzJFXFx1NzczMFwiLCA0LCBcIlxcdTc3MzlcXHU3NzNCXFx1NzczRFxcdTc3M0VcXHU3NzNGXFx1Nzc0MlxcdTc3NDRcXHU3NzQ1XFx1Nzc0NlxcdTc3NDhcIiwgNywgXCJcXHU3NzUyXCIsIDcsIFwiXFx1Nzc1Q1xcdTg1ODRcXHU5NkY5XFx1NEZERFxcdTU4MjFcXHU5OTcxXFx1NUI5RFxcdTYyQjFcXHU2MkE1XFx1NjZCNFxcdThDNzlcXHU5QzhEXFx1NzIwNlxcdTY3NkZcXHU3ODkxXFx1NjBCMlxcdTUzNTFcXHU1MzE3XFx1OEY4OFxcdTgwQ0NcXHU4RDFEXFx1OTRBMVxcdTUwMERcXHU3MkM4XFx1NTkwN1xcdTYwRUJcXHU3MTE5XFx1ODhBQlxcdTU5NTRcXHU4MkVGXFx1NjcyQ1xcdTdCMjhcXHU1RDI5XFx1N0VGN1xcdTc1MkRcXHU2Q0Y1XFx1OEU2NlxcdThGRjhcXHU5MDNDXFx1OUYzQlxcdTZCRDRcXHU5MTE5XFx1N0IxNFxcdTVGN0NcXHU3OEE3XFx1ODRENlxcdTg1M0RcXHU2QkQ1XFx1NkJEOVxcdTZCRDZcXHU1RTAxXFx1NUU4N1xcdTc1RjlcXHU5NUVEXFx1NjU1RFxcdTVGMEFcXHU1RkM1XFx1OEY5RlxcdTU4QzFcXHU4MUMyXFx1OTA3RlxcdTk2NUJcXHU5N0FEXFx1OEZCOVxcdTdGMTZcXHU4RDJDXFx1NjI0MVxcdTRGQkZcXHU1M0Q4XFx1NTM1RVxcdThGQThcXHU4RkE5XFx1OEZBQlxcdTkwNERcXHU2ODA3XFx1NUY2QVxcdTgxOThcXHU4ODY4XFx1OUNENlxcdTYxOEJcXHU1MjJCXFx1NzYyQVxcdTVGNkNcXHU2NThDXFx1NkZEMlxcdTZFRThcXHU1QkJFXFx1NjQ0OFxcdTUxNzVcXHU1MUIwXFx1NjdDNFxcdTRFMTlcXHU3OUM5XFx1OTk3Q1xcdTcwQjNcIl0sXG4gICAgICBbXCJiMjQwXCIsIFwiXFx1Nzc1RFxcdTc3NUVcXHU3NzVGXFx1Nzc2MFxcdTc3NjRcXHU3NzY3XFx1Nzc2OVxcdTc3NkFcXHU3NzZEXCIsIDExLCBcIlxcdTc3N0FcXHU3NzdCXFx1Nzc3Q1xcdTc3ODFcXHU3NzgyXFx1Nzc4M1xcdTc3ODZcIiwgNSwgXCJcXHU3NzhGXFx1Nzc5MFxcdTc3OTNcIiwgMTEsIFwiXFx1NzdBMVxcdTc3QTNcXHU3N0E0XFx1NzdBNlxcdTc3QThcXHU3N0FCXFx1NzdBRFxcdTc3QUVcXHU3N0FGXFx1NzdCMVxcdTc3QjJcXHU3N0I0XFx1NzdCNlwiLCA0XSxcbiAgICAgIFtcImIyODBcIiwgXCJcXHU3N0JDXFx1NzdCRVxcdTc3QzBcIiwgMTIsIFwiXFx1NzdDRVwiLCA4LCBcIlxcdTc3RDhcXHU3N0Q5XFx1NzdEQVxcdTc3RERcIiwgNCwgXCJcXHU3N0U0XFx1NzVDNVxcdTVFNzZcXHU3M0JCXFx1ODNFMFxcdTY0QURcXHU2MkU4XFx1OTRCNVxcdTZDRTJcXHU1MzVBXFx1NTJDM1xcdTY0MEZcXHU5NEMyXFx1N0I5NFxcdTRGMkZcXHU1RTFCXFx1ODIzNlxcdTgxMTZcXHU4MThBXFx1NkUyNFxcdTZDQ0FcXHU5QTczXFx1NjM1NVxcdTUzNUNcXHU1NEZBXFx1ODg2NVxcdTU3RTBcXHU0RTBEXFx1NUUwM1xcdTZCNjVcXHU3QzNGXFx1OTBFOFxcdTYwMTZcXHU2NEU2XFx1NzMxQ1xcdTg4QzFcXHU2NzUwXFx1NjI0RFxcdThEMjJcXHU3NzZDXFx1OEUyOVxcdTkxQzdcXHU1RjY5XFx1ODNEQ1xcdTg1MjFcXHU5OTEwXFx1NTNDMlxcdTg2OTVcXHU2QjhCXFx1NjBFRFxcdTYwRThcXHU3MDdGXFx1ODJDRFxcdTgyMzFcXHU0RUQzXFx1NkNBN1xcdTg1Q0ZcXHU2NENEXFx1N0NEOVxcdTY5RkRcXHU2NkY5XFx1ODM0OVxcdTUzOTVcXHU3QjU2XFx1NEZBN1xcdTUxOENcXHU2RDRCXFx1NUM0MlxcdThFNkRcXHU2M0QyXFx1NTNDOVxcdTgzMkNcXHU4MzM2XFx1NjdFNVxcdTc4QjRcXHU2NDNEXFx1NUJERlxcdTVDOTRcXHU1REVFXFx1OEJFN1xcdTYyQzZcXHU2N0Y0XFx1OEM3QVxcdTY0MDBcXHU2M0JBXFx1ODc0OVxcdTk5OEJcXHU4QzE3XFx1N0YyMFxcdTk0RjJcXHU0RUE3XFx1OTYxMFxcdTk4QTRcXHU2NjBDXFx1NzMxNlwiXSxcbiAgICAgIFtcImIzNDBcIiwgXCJcXHU3N0U2XFx1NzdFOFxcdTc3RUFcXHU3N0VGXFx1NzdGMFxcdTc3RjFcXHU3N0YyXFx1NzdGNFxcdTc3RjVcXHU3N0Y3XFx1NzdGOVxcdTc3RkFcXHU3N0ZCXFx1NzdGQ1xcdTc4MDNcIiwgNSwgXCJcXHU3ODBBXFx1NzgwQlxcdTc4MEVcXHU3ODBGXFx1NzgxMFxcdTc4MTNcXHU3ODE1XFx1NzgxOVxcdTc4MUJcXHU3ODFFXFx1NzgyMFxcdTc4MjFcXHU3ODIyXFx1NzgyNFxcdTc4MjhcXHU3ODJBXFx1NzgyQlxcdTc4MkVcXHU3ODJGXFx1NzgzMVxcdTc4MzJcXHU3ODMzXFx1NzgzNVxcdTc4MzZcXHU3ODNEXFx1NzgzRlxcdTc4NDFcXHU3ODQyXFx1Nzg0M1xcdTc4NDRcXHU3ODQ2XFx1Nzg0OFxcdTc4NDlcXHU3ODRBXFx1Nzg0QlxcdTc4NERcXHU3ODRGXFx1Nzg1MVxcdTc4NTNcXHU3ODU0XFx1Nzg1OFxcdTc4NTlcXHU3ODVBXCJdLFxuICAgICAgW1wiYjM4MFwiLCBcIlxcdTc4NUJcXHU3ODVDXFx1Nzg1RVwiLCAxMSwgXCJcXHU3ODZGXCIsIDcsIFwiXFx1Nzg3OFxcdTc4NzlcXHU3ODdBXFx1Nzg3QlxcdTc4N0RcIiwgNiwgXCJcXHU1NzNBXFx1NUMxRFxcdTVFMzhcXHU5NTdGXFx1NTA3RlxcdTgwQTBcXHU1MzgyXFx1NjU1RVxcdTc1NDVcXHU1NTMxXFx1NTAyMVxcdThEODVcXHU2Mjg0XFx1OTQ5RVxcdTY3MURcXHU1NjMyXFx1NkY2RVxcdTVERTJcXHU1NDM1XFx1NzA5MlxcdThGNjZcXHU2MjZGXFx1NjRBNFxcdTYzQTNcXHU1RjdCXFx1NkY4OFxcdTkwRjRcXHU4MUUzXFx1OEZCMFxcdTVDMThcXHU2NjY4XFx1NUZGMVxcdTZDODlcXHU5NjQ4XFx1OEQ4MVxcdTg4NkNcXHU2NDkxXFx1NzlGMFxcdTU3Q0VcXHU2QTU5XFx1NjIxMFxcdTU0NDhcXHU0RTU4XFx1N0EwQlxcdTYwRTlcXHU2Rjg0XFx1OEJEQVxcdTYyN0ZcXHU5MDFFXFx1OUE4QlxcdTc5RTRcXHU1NDAzXFx1NzVGNFxcdTYzMDFcXHU1MzE5XFx1NkM2MFxcdThGREZcXHU1RjFCXFx1OUE3MFxcdTgwM0JcXHU5RjdGXFx1NEY4OFxcdTVDM0FcXHU4RDY0XFx1N0ZDNVxcdTY1QTVcXHU3MEJEXFx1NTE0NVxcdTUxQjJcXHU4NjZCXFx1NUQwN1xcdTVCQTBcXHU2MkJEXFx1OTE2Q1xcdTc1NzRcXHU4RTBDXFx1N0EyMFxcdTYxMDFcXHU3Qjc5XFx1NEVDN1xcdTdFRjhcXHU3Nzg1XFx1NEUxMVxcdTgxRURcXHU1MjFEXFx1NTFGQVxcdTZBNzFcXHU1M0E4XFx1OEU4N1xcdTk1MDRcXHU5NkNGXFx1NkVDMVxcdTk2NjRcXHU2OTVBXCJdLFxuICAgICAgW1wiYjQ0MFwiLCBcIlxcdTc4ODRcXHU3ODg1XFx1Nzg4NlxcdTc4ODhcXHU3ODhBXFx1Nzg4QlxcdTc4OEZcXHU3ODkwXFx1Nzg5MlxcdTc4OTRcXHU3ODk1XFx1Nzg5NlxcdTc4OTlcXHU3ODlEXFx1Nzg5RVxcdTc4QTBcXHU3OEEyXFx1NzhBNFxcdTc4QTZcXHU3OEE4XCIsIDcsIFwiXFx1NzhCNVxcdTc4QjZcXHU3OEI3XFx1NzhCOFxcdTc4QkFcXHU3OEJCXFx1NzhCQ1xcdTc4QkRcXHU3OEJGXFx1NzhDMFxcdTc4QzJcXHU3OEMzXFx1NzhDNFxcdTc4QzZcXHU3OEM3XFx1NzhDOFxcdTc4Q0NcXHU3OENEXFx1NzhDRVxcdTc4Q0ZcXHU3OEQxXFx1NzhEMlxcdTc4RDNcXHU3OEQ2XFx1NzhEN1xcdTc4RDhcXHU3OERBXCIsIDldLFxuICAgICAgW1wiYjQ4MFwiLCBcIlxcdTc4RTRcXHU3OEU1XFx1NzhFNlxcdTc4RTdcXHU3OEU5XFx1NzhFQVxcdTc4RUJcXHU3OEVEXCIsIDQsIFwiXFx1NzhGM1xcdTc4RjVcXHU3OEY2XFx1NzhGOFxcdTc4RjlcXHU3OEZCXCIsIDUsIFwiXFx1NzkwMlxcdTc5MDNcXHU3OTA0XFx1NzkwNlwiLCA2LCBcIlxcdTc4NDBcXHU1MEE4XFx1NzdEN1xcdTY0MTBcXHU4OUU2XFx1NTkwNFxcdTYzRTNcXHU1REREXFx1N0E3RlxcdTY5M0RcXHU0RjIwXFx1ODIzOVxcdTU1OThcXHU0RTMyXFx1NzVBRVxcdTdBOTdcXHU1RTYyXFx1NUU4QVxcdTk1RUZcXHU1MjFCXFx1NTQzOVxcdTcwOEFcXHU2Mzc2XFx1OTUyNFxcdTU3ODJcXHU2NjI1XFx1NjkzRlxcdTkxODdcXHU1NTA3XFx1NkRGM1xcdTdFQUZcXHU4ODIyXFx1NjIzM1xcdTdFRjBcXHU3NUI1XFx1ODMyOFxcdTc4QzFcXHU5NkNDXFx1OEY5RVxcdTYxNDhcXHU3NEY3XFx1OEJDRFxcdTZCNjRcXHU1MjNBXFx1OEQ1MFxcdTZCMjFcXHU4MDZBXFx1ODQ3MVxcdTU2RjFcXHU1MzA2XFx1NEVDRVxcdTRFMUJcXHU1MUQxXFx1N0M5N1xcdTkxOEJcXHU3QzA3XFx1NEZDM1xcdThFN0ZcXHU3QkUxXFx1N0E5Q1xcdTY0NjdcXHU1RDE0XFx1NTBBQ1xcdTgxMDZcXHU3NjAxXFx1N0NCOVxcdTZERUNcXHU3RkUwXFx1Njc1MVxcdTVCNThcXHU1QkY4XFx1NzhDQlxcdTY0QUVcXHU2NDEzXFx1NjNBQVxcdTYzMkJcXHU5NTE5XFx1NjQyRFxcdThGQkVcXHU3QjU0XFx1NzYyOVxcdTYyNTNcXHU1OTI3XFx1NTQ0NlxcdTZCNzlcXHU1MEEzXFx1NjIzNFxcdTVFMjZcXHU2Qjg2XFx1NEVFM1xcdThEMzdcXHU4ODhCXFx1NUY4NVxcdTkwMkVcIl0sXG4gICAgICBbXCJiNTQwXCIsIFwiXFx1NzkwRFwiLCA1LCBcIlxcdTc5MTRcIiwgOSwgXCJcXHU3OTFGXCIsIDQsIFwiXFx1NzkyNVwiLCAxNCwgXCJcXHU3OTM1XCIsIDQsIFwiXFx1NzkzRFxcdTc5M0ZcXHU3OTQyXFx1Nzk0M1xcdTc5NDRcXHU3OTQ1XFx1Nzk0N1xcdTc5NEFcIiwgOCwgXCJcXHU3OTU0XFx1Nzk1NVxcdTc5NThcXHU3OTU5XFx1Nzk2MVxcdTc5NjNcIl0sXG4gICAgICBbXCJiNTgwXCIsIFwiXFx1Nzk2NFxcdTc5NjZcXHU3OTY5XFx1Nzk2QVxcdTc5NkJcXHU3OTZDXFx1Nzk2RVxcdTc5NzBcIiwgNiwgXCJcXHU3OTc5XFx1Nzk3QlwiLCA0LCBcIlxcdTc5ODJcXHU3OTgzXFx1Nzk4NlxcdTc5ODdcXHU3OTg4XFx1Nzk4OVxcdTc5OEJcXHU3OThDXFx1Nzk4RFxcdTc5OEVcXHU3OTkwXFx1Nzk5MVxcdTc5OTJcXHU2MDIwXFx1ODAzRFxcdTYyQzVcXHU0RTM5XFx1NTM1NVxcdTkwRjhcXHU2M0I4XFx1ODBDNlxcdTY1RTZcXHU2QzJFXFx1NEY0NlxcdTYwRUVcXHU2REUxXFx1OEJERVxcdTVGMzlcXHU4NkNCXFx1NUY1M1xcdTYzMjFcXHU1MTVBXFx1ODM2MVxcdTY4NjNcXHU1MjAwXFx1NjM2M1xcdThFNDhcXHU1MDEyXFx1NUM5QlxcdTc5NzdcXHU1QkZDXFx1NTIzMFxcdTdBM0JcXHU2MEJDXFx1OTA1M1xcdTc2RDdcXHU1RkI3XFx1NUY5N1xcdTc2ODRcXHU4RTZDXFx1NzA2RlxcdTc2N0JcXHU3QjQ5XFx1NzdBQVxcdTUxRjNcXHU5MDkzXFx1NTgyNFxcdTRGNEVcXHU2RUY0XFx1OEZFQVxcdTY1NENcXHU3QjFCXFx1NzJDNFxcdTZEQTRcXHU3RkRGXFx1NUFFMVxcdTYyQjVcXHU1RTk1XFx1NTczMFxcdTg0ODJcXHU3QjJDXFx1NUUxRFxcdTVGMUZcXHU5MDEyXFx1N0YxNFxcdTk4QTBcXHU2MzgyXFx1NkVDN1xcdTc4OThcXHU3MEI5XFx1NTE3OFxcdTk3NUJcXHU1N0FCXFx1NzUzNVxcdTRGNDNcXHU3NTM4XFx1NUU5N1xcdTYwRTZcXHU1OTYwXFx1NkRDMFxcdTZCQkZcXHU3ODg5XFx1NTNGQ1xcdTk2RDVcXHU1MUNCXFx1NTIwMVxcdTYzODlcXHU1NDBBXFx1OTQ5M1xcdThDMDNcXHU4RENDXFx1NzIzOVxcdTc4OUZcXHU4Nzc2XFx1OEZFRFxcdThDMERcXHU1M0UwXCJdLFxuICAgICAgW1wiYjY0MFwiLCBcIlxcdTc5OTNcIiwgNiwgXCJcXHU3OTlCXCIsIDExLCBcIlxcdTc5QThcIiwgMTAsIFwiXFx1NzlCNFwiLCA0LCBcIlxcdTc5QkNcXHU3OUJGXFx1NzlDMlxcdTc5QzRcXHU3OUM1XFx1NzlDN1xcdTc5QzhcXHU3OUNBXFx1NzlDQ1xcdTc5Q0VcXHU3OUNGXFx1NzlEMFxcdTc5RDNcXHU3OUQ0XFx1NzlENlxcdTc5RDdcXHU3OUQ5XCIsIDUsIFwiXFx1NzlFMFxcdTc5RTFcXHU3OUUyXFx1NzlFNVxcdTc5RThcXHU3OUVBXCJdLFxuICAgICAgW1wiYjY4MFwiLCBcIlxcdTc5RUNcXHU3OUVFXFx1NzlGMVwiLCA2LCBcIlxcdTc5RjlcXHU3OUZBXFx1NzlGQ1xcdTc5RkVcXHU3OUZGXFx1N0EwMVxcdTdBMDRcXHU3QTA1XFx1N0EwN1xcdTdBMDhcXHU3QTA5XFx1N0EwQVxcdTdBMENcXHU3QTBGXCIsIDQsIFwiXFx1N0ExNVxcdTdBMTZcXHU3QTE4XFx1N0ExOVxcdTdBMUJcXHU3QTFDXFx1NEUwMVxcdTc2RUZcXHU1M0VFXFx1OTQ4OVxcdTk4NzZcXHU5RjBFXFx1OTUyRFxcdTVCOUFcXHU4QkEyXFx1NEUyMlxcdTRFMUNcXHU1MUFDXFx1ODQ2M1xcdTYxQzJcXHU1MkE4XFx1NjgwQlxcdTRGOTdcXHU2MDZCXFx1NTFCQlxcdTZEMUVcXHU1MTVDXFx1NjI5NlxcdTY1OTdcXHU5NjYxXFx1OEM0NlxcdTkwMTdcXHU3NUQ4XFx1OTBGRFxcdTc3NjNcXHU2QkQyXFx1NzI4QVxcdTcyRUNcXHU4QkZCXFx1NTgzNVxcdTc3NzlcXHU4RDRDXFx1Njc1Q1xcdTk1NDBcXHU4MDlBXFx1NUVBNlxcdTZFMjFcXHU1OTkyXFx1N0FFRlxcdTc3RURcXHU5NTNCXFx1NkJCNVxcdTY1QURcXHU3RjBFXFx1NTgwNlxcdTUxNTFcXHU5NjFGXFx1NUJGOVxcdTU4QTlcXHU1NDI4XFx1OEU3MlxcdTY1NjZcXHU5ODdGXFx1NTZFNFxcdTk0OURcXHU3NkZFXFx1OTA0MVxcdTYzODdcXHU1NEM2XFx1NTkxQVxcdTU5M0FcXHU1NzlCXFx1OEVCMlxcdTY3MzVcXHU4REZBXFx1ODIzNVxcdTUyNDFcXHU2MEYwXFx1NTgxNVxcdTg2RkVcXHU1Q0U4XFx1OUU0NVxcdTRGQzRcXHU5ODlEXFx1OEJCOVxcdTVBMjVcXHU2MDc2XFx1NTM4NFxcdTYyN0NcXHU5MDRGXFx1OTEwMlxcdTk5N0ZcXHU2MDY5XFx1ODAwQ1xcdTUxM0ZcXHU4MDMzXFx1NUMxNFxcdTk5NzVcXHU2RDMxXFx1NEU4Q1wiXSxcbiAgICAgIFtcImI3NDBcIiwgXCJcXHU3QTFEXFx1N0ExRlxcdTdBMjFcXHU3QTIyXFx1N0EyNFwiLCAxNCwgXCJcXHU3QTM0XFx1N0EzNVxcdTdBMzZcXHU3QTM4XFx1N0EzQVxcdTdBM0VcXHU3QTQwXCIsIDUsIFwiXFx1N0E0N1wiLCA5LCBcIlxcdTdBNTJcIiwgNCwgXCJcXHU3QTU4XCIsIDE2XSxcbiAgICAgIFtcImI3ODBcIiwgXCJcXHU3QTY5XCIsIDYsIFwiXFx1N0E3MVxcdTdBNzJcXHU3QTczXFx1N0E3NVxcdTdBN0JcXHU3QTdDXFx1N0E3RFxcdTdBN0VcXHU3QTgyXFx1N0E4NVxcdTdBODdcXHU3QTg5XFx1N0E4QVxcdTdBOEJcXHU3QThDXFx1N0E4RVxcdTdBOEZcXHU3QTkwXFx1N0E5M1xcdTdBOTRcXHU3QTk5XFx1N0E5QVxcdTdBOUJcXHU3QTlFXFx1N0FBMVxcdTdBQTJcXHU4RDMwXFx1NTNEMVxcdTdGNUFcXHU3QjRGXFx1NEYxMFxcdTRFNEZcXHU5NjAwXFx1NkNENVxcdTczRDBcXHU4NUU5XFx1NUUwNlxcdTc1NkFcXHU3RkZCXFx1NkEwQVxcdTc3RkVcXHU5NDkyXFx1N0U0MVxcdTUxRTFcXHU3MEU2XFx1NTNDRFxcdThGRDRcXHU4MzAzXFx1OEQyOVxcdTcyQUZcXHU5OTZEXFx1NkNEQlxcdTU3NEFcXHU4MkIzXFx1NjVCOVxcdTgwQUFcXHU2MjNGXFx1OTYzMlxcdTU5QThcXHU0RUZGXFx1OEJCRlxcdTdFQkFcXHU2NTNFXFx1ODNGMlxcdTk3NUVcXHU1NTYxXFx1OThERVxcdTgwQTVcXHU1MzJBXFx1OEJGRFxcdTU0MjBcXHU4MEJBXFx1NUU5RlxcdTZDQjhcXHU4RDM5XFx1ODJBQ1xcdTkxNUFcXHU1NDI5XFx1NkMxQlxcdTUyMDZcXHU3RUI3XFx1NTc1RlxcdTcxMUFcXHU2QzdFXFx1N0M4OVxcdTU5NEJcXHU0RUZEXFx1NUZGRlxcdTYxMjRcXHU3Q0FBXFx1NEUzMFxcdTVDMDFcXHU2N0FCXFx1ODcwMlxcdTVDRjBcXHU5NTBCXFx1OThDRVxcdTc1QUZcXHU3MEZEXFx1OTAyMlxcdTUxQUZcXHU3RjFEXFx1OEJCRFxcdTU5NDlcXHU1MUU0XFx1NEY1QlxcdTU0MjZcXHU1OTJCXFx1NjU3N1xcdTgwQTRcXHU1Qjc1XFx1NjI3NlxcdTYyQzJcXHU4RjkwXFx1NUU0NVxcdTZDMUZcXHU3QjI2XFx1NEYwRlxcdTRGRDhcXHU2NzBEXCJdLFxuICAgICAgW1wiYjg0MFwiLCBcIlxcdTdBQTNcXHU3QUE0XFx1N0FBN1xcdTdBQTlcXHU3QUFBXFx1N0FBQlxcdTdBQUVcIiwgNCwgXCJcXHU3QUI0XCIsIDEwLCBcIlxcdTdBQzBcIiwgMTAsIFwiXFx1N0FDQ1wiLCA5LCBcIlxcdTdBRDdcXHU3QUQ4XFx1N0FEQVxcdTdBREJcXHU3QURDXFx1N0FERFxcdTdBRTFcXHU3QUUyXFx1N0FFNFxcdTdBRTdcIiwgNSwgXCJcXHU3QUVFXFx1N0FGMFxcdTdBRjFcXHU3QUYyXFx1N0FGM1wiXSxcbiAgICAgIFtcImI4ODBcIiwgXCJcXHU3QUY0XCIsIDQsIFwiXFx1N0FGQlxcdTdBRkNcXHU3QUZFXFx1N0IwMFxcdTdCMDFcXHU3QjAyXFx1N0IwNVxcdTdCMDdcXHU3QjA5XFx1N0IwQ1xcdTdCMERcXHU3QjBFXFx1N0IxMFxcdTdCMTJcXHU3QjEzXFx1N0IxNlxcdTdCMTdcXHU3QjE4XFx1N0IxQVxcdTdCMUNcXHU3QjFEXFx1N0IxRlxcdTdCMjFcXHU3QjIyXFx1N0IyM1xcdTdCMjdcXHU3QjI5XFx1N0IyRFxcdTZENkVcXHU2REFBXFx1Nzk4RlxcdTg4QjFcXHU1RjE3XFx1NzUyQlxcdTYyOUFcXHU4Rjg1XFx1NEZFRlxcdTkxRENcXHU2NUE3XFx1ODEyRlxcdTgxNTFcXHU1RTlDXFx1ODE1MFxcdThENzRcXHU1MjZGXFx1ODk4NlxcdThENEJcXHU1OTBEXFx1NTA4NVxcdTRFRDhcXHU5NjFDXFx1NzIzNlxcdTgxNzlcXHU4RDFGXFx1NUJDQ1xcdThCQTNcXHU5NjQ0XFx1NTk4N1xcdTdGMUFcXHU1NDkwXFx1NTY3NlxcdTU2MEVcXHU4QkU1XFx1NjUzOVxcdTY5ODJcXHU5NDk5XFx1NzZENlxcdTZFODlcXHU1RTcyXFx1NzUxOFxcdTY3NDZcXHU2N0QxXFx1N0FGRlxcdTgwOURcXHU4RDc2XFx1NjExRlxcdTc5QzZcXHU2NTYyXFx1OEQ2M1xcdTUxODhcXHU1MjFBXFx1OTRBMlxcdTdGMzhcXHU4MDlCXFx1N0VCMlxcdTVDOTdcXHU2RTJGXFx1Njc2MFxcdTdCRDlcXHU3NjhCXFx1OUFEOFxcdTgxOEZcXHU3Rjk0XFx1N0NENVxcdTY0MUVcXHU5NTUwXFx1N0EzRlxcdTU0NEFcXHU1NEU1XFx1NkI0Q1xcdTY0MDFcXHU2MjA4XFx1OUUzRFxcdTgwRjNcXHU3NTk5XFx1NTI3MlxcdTk3NjlcXHU4NDVCXFx1NjgzQ1xcdTg2RTRcXHU5NjAxXFx1OTY5NFxcdTk0RUNcXHU0RTJBXFx1NTQwNFxcdTdFRDlcXHU2ODM5XFx1OERERlxcdTgwMTVcXHU2NkY0XFx1NUU5QVxcdTdGQjlcIl0sXG4gICAgICBbXCJiOTQwXCIsIFwiXFx1N0IyRlxcdTdCMzBcXHU3QjMyXFx1N0IzNFxcdTdCMzVcXHU3QjM2XFx1N0IzN1xcdTdCMzlcXHU3QjNCXFx1N0IzRFxcdTdCM0ZcIiwgNSwgXCJcXHU3QjQ2XFx1N0I0OFxcdTdCNEFcXHU3QjREXFx1N0I0RVxcdTdCNTNcXHU3QjU1XFx1N0I1N1xcdTdCNTlcXHU3QjVDXFx1N0I1RVxcdTdCNUZcXHU3QjYxXFx1N0I2M1wiLCAxMCwgXCJcXHU3QjZGXFx1N0I3MFxcdTdCNzNcXHU3Qjc0XFx1N0I3NlxcdTdCNzhcXHU3QjdBXFx1N0I3Q1xcdTdCN0RcXHU3QjdGXFx1N0I4MVxcdTdCODJcXHU3QjgzXFx1N0I4NFxcdTdCODZcIiwgNiwgXCJcXHU3QjhFXFx1N0I4RlwiXSxcbiAgICAgIFtcImI5ODBcIiwgXCJcXHU3QjkxXFx1N0I5MlxcdTdCOTNcXHU3Qjk2XFx1N0I5OFxcdTdCOTlcXHU3QjlBXFx1N0I5QlxcdTdCOUVcXHU3QjlGXFx1N0JBMFxcdTdCQTNcXHU3QkE0XFx1N0JBNVxcdTdCQUVcXHU3QkFGXFx1N0JCMFxcdTdCQjJcXHU3QkIzXFx1N0JCNVxcdTdCQjZcXHU3QkI3XFx1N0JCOVwiLCA3LCBcIlxcdTdCQzJcXHU3QkMzXFx1N0JDNFxcdTU3QzJcXHU4MDNGXFx1Njg5N1xcdTVERTVcXHU2NTNCXFx1NTI5RlxcdTYwNkRcXHU5RjlBXFx1NEY5QlxcdThFQUNcXHU1MTZDXFx1NUJBQlxcdTVGMTNcXHU1REU5XFx1NkM1RVxcdTYyRjFcXHU4RDIxXFx1NTE3MVxcdTk0QTlcXHU1MkZFXFx1NkM5RlxcdTgyREZcXHU3MkQ3XFx1NTdBMlxcdTY3ODRcXHU4RDJEXFx1NTkxRlxcdThGOUNcXHU4M0M3XFx1NTQ5NVxcdTdCOERcXHU0RjMwXFx1NkNCRFxcdTVCNjRcXHU1OUQxXFx1OUYxM1xcdTUzRTRcXHU4NkNBXFx1OUFBOFxcdThDMzdcXHU4MEExXFx1NjU0NVxcdTk4N0VcXHU1NkZBXFx1OTZDN1xcdTUyMkVcXHU3NERDXFx1NTI1MFxcdTVCRTFcXHU2MzAyXFx1ODkwMlxcdTRFNTZcXHU2MkQwXFx1NjAyQVxcdTY4RkFcXHU1MTczXFx1NUI5OFxcdTUxQTBcXHU4OUMyXFx1N0JBMVxcdTk5ODZcXHU3RjUwXFx1NjBFRlxcdTcwNENcXHU4RDJGXFx1NTE0OVxcdTVFN0ZcXHU5MDFCXFx1NzQ3MFxcdTg5QzRcXHU1NzJEXFx1Nzg0NVxcdTVGNTJcXHU5RjlGXFx1OTVGQVxcdThGNjhcXHU5QjNDXFx1OEJFMVxcdTc2NzhcXHU2ODQyXFx1NjdEQ1xcdThERUFcXHU4RDM1XFx1NTIzRFxcdThGOEFcXHU2RURBXFx1NjhDRFxcdTk1MDVcXHU5MEVEXFx1NTZGRFxcdTY3OUNcXHU4OEY5XFx1OEZDN1xcdTU0QzhcIl0sXG4gICAgICBbXCJiYTQwXCIsIFwiXFx1N0JDNVxcdTdCQzhcXHU3QkM5XFx1N0JDQVxcdTdCQ0JcXHU3QkNEXFx1N0JDRVxcdTdCQ0ZcXHU3QkQwXFx1N0JEMlxcdTdCRDRcIiwgNCwgXCJcXHU3QkRCXFx1N0JEQ1xcdTdCREVcXHU3QkRGXFx1N0JFMFxcdTdCRTJcXHU3QkUzXFx1N0JFNFxcdTdCRTdcXHU3QkU4XFx1N0JFOVxcdTdCRUJcXHU3QkVDXFx1N0JFRFxcdTdCRUZcXHU3QkYwXFx1N0JGMlwiLCA0LCBcIlxcdTdCRjhcXHU3QkY5XFx1N0JGQVxcdTdCRkJcXHU3QkZEXFx1N0JGRlwiLCA3LCBcIlxcdTdDMDhcXHU3QzA5XFx1N0MwQVxcdTdDMERcXHU3QzBFXFx1N0MxMFwiLCA1LCBcIlxcdTdDMTdcXHU3QzE4XFx1N0MxOVwiXSxcbiAgICAgIFtcImJhODBcIiwgXCJcXHU3QzFBXCIsIDQsIFwiXFx1N0MyMFwiLCA1LCBcIlxcdTdDMjhcXHU3QzI5XFx1N0MyQlwiLCAxMiwgXCJcXHU3QzM5XCIsIDUsIFwiXFx1N0M0MlxcdTlBQjhcXHU1QjY5XFx1NkQ3N1xcdTZDMjZcXHU0RUE1XFx1NUJCM1xcdTlBODdcXHU5MTYzXFx1NjFBOFxcdTkwQUZcXHU5N0U5XFx1NTQyQlxcdTZEQjVcXHU1QkQyXFx1NTFGRFxcdTU1OEFcXHU3RjU1XFx1N0ZGMFxcdTY0QkNcXHU2MzREXFx1NjVGMVxcdTYxQkVcXHU2MDhEXFx1NzEwQVxcdTZDNTdcXHU2QzQ5XFx1NTkyRlxcdTY3NkRcXHU4MjJBXFx1NThENVxcdTU2OEVcXHU4QzZBXFx1NkJFQlxcdTkwRERcXHU1OTdEXFx1ODAxN1xcdTUzRjdcXHU2RDY5XFx1NTQ3NVxcdTU1OURcXHU4Mzc3XFx1ODNDRlxcdTY4MzhcXHU3OUJFXFx1NTQ4Q1xcdTRGNTVcXHU1NDA4XFx1NzZEMlxcdThDODlcXHU5NjAyXFx1NkNCM1xcdTZEQjhcXHU4RDZCXFx1ODkxMFxcdTlFNjRcXHU4RDNBXFx1NTYzRlxcdTlFRDFcXHU3NUQ1XFx1NUY4OFxcdTcyRTBcXHU2MDY4XFx1NTRGQ1xcdTRFQThcXHU2QTJBXFx1ODg2MVxcdTYwNTJcXHU4RjcwXFx1NTRDNFxcdTcwRDhcXHU4Njc5XFx1OUUzRlxcdTZEMkFcXHU1QjhGXFx1NUYxOFxcdTdFQTJcXHU1NTg5XFx1NEZBRlxcdTczMzRcXHU1NDNDXFx1NTM5QVxcdTUwMTlcXHU1NDBFXFx1NTQ3Q1xcdTRFNEVcXHU1RkZEXFx1NzQ1QVxcdTU4RjZcXHU4NDZCXFx1ODBFMVxcdTg3NzRcXHU3MkQwXFx1N0NDQVxcdTZFNTZcIl0sXG4gICAgICBbXCJiYjQwXCIsIFwiXFx1N0M0M1wiLCA5LCBcIlxcdTdDNEVcIiwgMzYsIFwiXFx1N0M3NVwiLCA1LCBcIlxcdTdDN0VcIiwgOV0sXG4gICAgICBbXCJiYjgwXCIsIFwiXFx1N0M4OFxcdTdDOEFcIiwgNiwgXCJcXHU3QzkzXFx1N0M5NFxcdTdDOTZcXHU3Qzk5XFx1N0M5QVxcdTdDOUJcXHU3Q0EwXFx1N0NBMVxcdTdDQTNcXHU3Q0E2XFx1N0NBN1xcdTdDQThcXHU3Q0E5XFx1N0NBQlxcdTdDQUNcXHU3Q0FEXFx1N0NBRlxcdTdDQjBcXHU3Q0I0XCIsIDQsIFwiXFx1N0NCQVxcdTdDQkJcXHU1RjI3XFx1ODY0RVxcdTU1MkNcXHU2MkE0XFx1NEU5MlxcdTZDQUFcXHU2MjM3XFx1ODJCMVxcdTU0RDdcXHU1MzRFXFx1NzMzRVxcdTZFRDFcXHU3NTNCXFx1NTIxMlxcdTUzMTZcXHU4QkREXFx1NjlEMFxcdTVGOEFcXHU2MDAwXFx1NkRFRVxcdTU3NEZcXHU2QjIyXFx1NzNBRlxcdTY4NTNcXHU4RkQ4XFx1N0YxM1xcdTYzNjJcXHU2MEEzXFx1NTUyNFxcdTc1RUFcXHU4QzYyXFx1NzExNVxcdTZEQTNcXHU1QkE2XFx1NUU3QlxcdTgzNTJcXHU2MTRDXFx1OUVDNFxcdTc4RkFcXHU4NzU3XFx1N0MyN1xcdTc2ODdcXHU1MUYwXFx1NjBGNlxcdTcxNENcXHU2NjQzXFx1NUU0Q1xcdTYwNERcXHU4QzBFXFx1NzA3MFxcdTYzMjVcXHU4Rjg5XFx1NUZCRFxcdTYwNjJcXHU4NkQ0XFx1NTZERVxcdTZCQzFcXHU2MDk0XFx1NjE2N1xcdTUzNDlcXHU2MEUwXFx1NjY2NlxcdThEM0ZcXHU3OUZEXFx1NEYxQVxcdTcwRTlcXHU2QzQ3XFx1OEJCM1xcdThCRjJcXHU3RUQ4XFx1ODM2NFxcdTY2MEZcXHU1QTVBXFx1OUI0MlxcdTZENTFcXHU2REY3XFx1OEM0MVxcdTZEM0JcXHU0RjE5XFx1NzA2QlxcdTgzQjdcXHU2MjE2XFx1NjBEMVxcdTk3MERcXHU4RDI3XFx1Nzk3OFxcdTUxRkJcXHU1NzNFXFx1NTdGQVxcdTY3M0FcXHU3NTc4XFx1N0EzRFxcdTc5RUZcXHU3Qjk1XCJdLFxuICAgICAgW1wiYmM0MFwiLCBcIlxcdTdDQkZcXHU3Q0MwXFx1N0NDMlxcdTdDQzNcXHU3Q0M0XFx1N0NDNlxcdTdDQzlcXHU3Q0NCXFx1N0NDRVwiLCA2LCBcIlxcdTdDRDhcXHU3Q0RBXFx1N0NEQlxcdTdDRERcXHU3Q0RFXFx1N0NFMVwiLCA2LCBcIlxcdTdDRTlcIiwgNSwgXCJcXHU3Q0YwXCIsIDcsIFwiXFx1N0NGOVxcdTdDRkFcXHU3Q0ZDXCIsIDEzLCBcIlxcdTdEMEJcIiwgNV0sXG4gICAgICBbXCJiYzgwXCIsIFwiXFx1N0QxMVwiLCAxNCwgXCJcXHU3RDIxXFx1N0QyM1xcdTdEMjRcXHU3RDI1XFx1N0QyNlxcdTdEMjhcXHU3RDI5XFx1N0QyQVxcdTdEMkNcXHU3RDJEXFx1N0QyRVxcdTdEMzBcIiwgNiwgXCJcXHU4MDhDXFx1OTk2NVxcdThGRjlcXHU2RkMwXFx1OEJBNVxcdTlFMjFcXHU1OUVDXFx1N0VFOVxcdTdGMDlcXHU1NDA5XFx1Njc4MVxcdTY4RDhcXHU4RjkxXFx1N0M0RFxcdTk2QzZcXHU1M0NBXFx1NjAyNVxcdTc1QkVcXHU2QzcyXFx1NTM3M1xcdTVBQzlcXHU3RUE3XFx1NjMyNFxcdTUxRTBcXHU4MTBBXFx1NURGMVxcdTg0REZcXHU2MjgwXFx1NTE4MFxcdTVCNjNcXHU0RjBFXFx1Nzk2RFxcdTUyNDJcXHU2MEI4XFx1NkQ0RVxcdTVCQzRcXHU1QkMyXFx1OEJBMVxcdThCQjBcXHU2NUUyXFx1NUZDQ1xcdTk2NDVcXHU1OTkzXFx1N0VFN1xcdTdFQUFcXHU1NjA5XFx1NjdCN1xcdTU5MzlcXHU0RjczXFx1NUJCNlxcdTUyQTBcXHU4MzVBXFx1OTg4QVxcdThEM0VcXHU3NTMyXFx1OTRCRVxcdTUwNDdcXHU3QTNDXFx1NEVGN1xcdTY3QjZcXHU5QTdFXFx1NUFDMVxcdTZCN0NcXHU3NkQxXFx1NTc1QVxcdTVDMTZcXHU3QjNBXFx1OTVGNFxcdTcxNEVcXHU1MTdDXFx1ODBBOVxcdTgyNzBcXHU1OTc4XFx1N0YwNFxcdTgzMjdcXHU2OEMwXFx1NjdFQ1xcdTc4QjFcXHU3ODc3XFx1NjJFM1xcdTYzNjFcXHU3QjgwXFx1NEZFRFxcdTUyNkFcXHU1MUNGXFx1ODM1MFxcdTY5REJcXHU5Mjc0XFx1OERGNVxcdThEMzFcXHU4OUMxXFx1OTUyRVxcdTdCQURcXHU0RUY2XCJdLFxuICAgICAgW1wiYmQ0MFwiLCBcIlxcdTdEMzdcIiwgNTQsIFwiXFx1N0Q2RlwiLCA3XSxcbiAgICAgIFtcImJkODBcIiwgXCJcXHU3RDc4XCIsIDMyLCBcIlxcdTUwNjVcXHU4MjMwXFx1NTI1MVxcdTk5NkZcXHU2RTEwXFx1NkU4NVxcdTZEQTdcXHU1RUZBXFx1NTBGNVxcdTU5RENcXHU1QzA2XFx1NkQ0NlxcdTZDNUZcXHU3NTg2XFx1ODQ4QlxcdTY4NjhcXHU1OTU2XFx1OEJCMlxcdTUzMjBcXHU5MTcxXFx1OTY0RFxcdTg1NDlcXHU2OTEyXFx1NzkwMVxcdTcxMjZcXHU4MEY2XFx1NEVBNFxcdTkwQ0FcXHU2RDQ3XFx1OUE4NFxcdTVBMDdcXHU1NkJDXFx1NjQwNVxcdTk0RjBcXHU3N0VCXFx1NEZBNVxcdTgxMUFcXHU3MkUxXFx1ODlEMlxcdTk5N0FcXHU3RjM0XFx1N0VERVxcdTUyN0ZcXHU2NTU5XFx1OTE3NVxcdThGN0ZcXHU4RjgzXFx1NTNFQlxcdTdBOTZcXHU2M0VEXFx1NjNBNVxcdTc2ODZcXHU3OUY4XFx1ODg1N1xcdTk2MzZcXHU2MjJBXFx1NTJBQlxcdTgyODJcXHU2ODU0XFx1Njc3MFxcdTYzNzdcXHU3NzZCXFx1N0FFRFxcdTZEMDFcXHU3RUQzXFx1ODlFM1xcdTU5RDBcXHU2MjEyXFx1ODVDOVxcdTgyQTVcXHU3NTRDXFx1NTAxRlxcdTRFQ0JcXHU3NUE1XFx1OEJFQlxcdTVDNEFcXHU1REZFXFx1N0I0QlxcdTY1QTRcXHU5MUQxXFx1NEVDQVxcdTZEMjVcXHU4OTVGXFx1N0QyN1xcdTk1MjZcXHU0RUM1XFx1OEMyOFxcdThGREJcXHU5NzczXFx1NjY0QlxcdTc5ODFcXHU4RkQxXFx1NzBFQ1xcdTZENzhcIl0sXG4gICAgICBbXCJiZTQwXCIsIFwiXFx1N0Q5OVwiLCAxMiwgXCJcXHU3REE3XCIsIDYsIFwiXFx1N0RBRlwiLCA0Ml0sXG4gICAgICBbXCJiZTgwXCIsIFwiXFx1N0REQVwiLCAzMiwgXCJcXHU1QzNEXFx1NTJCMlxcdTgzNDZcXHU1MTYyXFx1ODMwRVxcdTc3NUJcXHU2Njc2XFx1OUNCOFxcdTRFQUNcXHU2MENBXFx1N0NCRVxcdTdDQjNcXHU3RUNGXFx1NEU5NVxcdThCNjZcXHU2NjZGXFx1OTg4OFxcdTk3NTlcXHU1ODgzXFx1NjU2Q1xcdTk1NUNcXHU1Rjg0XFx1NzVDOVxcdTk3NTZcXHU3QURGXFx1N0FERVxcdTUxQzBcXHU3MEFGXFx1N0E5OFxcdTYzRUFcXHU3QTc2XFx1N0VBMFxcdTczOTZcXHU5N0VEXFx1NEU0NVxcdTcwNzhcXHU0RTVEXFx1OTE1MlxcdTUzQTlcXHU2NTUxXFx1NjVFN1xcdTgxRkNcXHU4MjA1XFx1NTQ4RVxcdTVDMzFcXHU3NTlBXFx1OTdBMFxcdTYyRDhcXHU3MkQ5XFx1NzVCRFxcdTVDNDVcXHU5QTc5XFx1ODNDQVxcdTVDNDBcXHU1NDgwXFx1NzdFOVxcdTRFM0VcXHU2Q0FFXFx1ODA1QVxcdTYyRDJcXHU2MzZFXFx1NURFOFxcdTUxNzdcXHU4REREXFx1OEUxRVxcdTk1MkZcXHU0RkYxXFx1NTNFNVxcdTYwRTdcXHU3MEFDXFx1NTI2N1xcdTYzNTBcXHU5RTQzXFx1NUExRlxcdTUwMjZcXHU3NzM3XFx1NTM3N1xcdTdFRTJcXHU2NDg1XFx1NjUyQlxcdTYyODlcXHU2Mzk4XFx1NTAxNFxcdTcyMzVcXHU4OUM5XFx1NTFCM1xcdThCQzBcXHU3RUREXFx1NTc0N1xcdTgzQ0NcXHU5NEE3XFx1NTE5QlxcdTU0MUJcXHU1Q0ZCXCJdLFxuICAgICAgW1wiYmY0MFwiLCBcIlxcdTdERkJcIiwgNjJdLFxuICAgICAgW1wiYmY4MFwiLCBcIlxcdTdFM0FcXHU3RTNDXCIsIDQsIFwiXFx1N0U0MlwiLCA0LCBcIlxcdTdFNDhcIiwgMjEsIFwiXFx1NEZDQVxcdTdBRTNcXHU2RDVBXFx1OTBFMVxcdTlBOEZcXHU1NTgwXFx1NTQ5NlxcdTUzNjFcXHU1NEFGXFx1NUYwMFxcdTYzRTlcXHU2OTc3XFx1NTFFRlxcdTYxNjhcXHU1MjBBXFx1NTgyQVxcdTUyRDhcXHU1NzRFXFx1NzgwRFxcdTc3MEJcXHU1RUI3XFx1NjE3N1xcdTdDRTBcXHU2MjVCXFx1NjI5N1xcdTRFQTJcXHU3MDk1XFx1ODAwM1xcdTYyRjdcXHU3MEU0XFx1OTc2MFxcdTU3NzdcXHU4MkRCXFx1NjdFRlxcdTY4RjVcXHU3OEQ1XFx1OTg5N1xcdTc5RDFcXHU1OEYzXFx1NTRCM1xcdTUzRUZcXHU2RTM0XFx1NTE0QlxcdTUyM0JcXHU1QkEyXFx1OEJGRVxcdTgwQUZcXHU1NTQzXFx1NTdBNlxcdTYwNzNcXHU1NzUxXFx1NTQyRFxcdTdBN0FcXHU2MDUwXFx1NUI1NFxcdTYzQTdcXHU2MkEwXFx1NTNFM1xcdTYyNjNcXHU1QkM3XFx1NjdBRlxcdTU0RURcXHU3QTlGXFx1ODJFNlxcdTkxNzdcXHU1RTkzXFx1ODhFNFxcdTU5MzhcXHU1N0FFXFx1NjMwRVxcdThERThcXHU4MEVGXFx1NTc1N1xcdTdCNzdcXHU0RkE5XFx1NUZFQlxcdTVCQkRcXHU2QjNFXFx1NTMyMVxcdTdCNTBcXHU3MkMyXFx1Njg0NlxcdTc3RkZcXHU3NzM2XFx1NjVGN1xcdTUxQjVcXHU0RThGXFx1NzZENFxcdTVDQkZcXHU3QUE1XFx1ODQ3NVxcdTU5NEVcXHU5QjQxXFx1NTA4MFwiXSxcbiAgICAgIFtcImMwNDBcIiwgXCJcXHU3RTVFXCIsIDM1LCBcIlxcdTdFODNcIiwgMjMsIFwiXFx1N0U5Q1xcdTdFOURcXHU3RTlFXCJdLFxuICAgICAgW1wiYzA4MFwiLCBcIlxcdTdFQUVcXHU3RUI0XFx1N0VCQlxcdTdFQkNcXHU3RUQ2XFx1N0VFNFxcdTdFRUNcXHU3RUY5XFx1N0YwQVxcdTdGMTBcXHU3RjFFXFx1N0YzN1xcdTdGMzlcXHU3RjNCXCIsIDYsIFwiXFx1N0Y0M1xcdTdGNDZcIiwgOSwgXCJcXHU3RjUyXFx1N0Y1M1xcdTk5ODhcXHU2MTI3XFx1NkU4M1xcdTU3NjRcXHU2NjA2XFx1NjM0NlxcdTU2RjBcXHU2MkVDXFx1NjI2OVxcdTVFRDNcXHU5NjE0XFx1NTc4M1xcdTYyQzlcXHU1NTg3XFx1ODcyMVxcdTgxNEFcXHU4RkEzXFx1NTU2NlxcdTgzQjFcXHU2NzY1XFx1OEQ1NlxcdTg0RERcXHU1QTZBXFx1NjgwRlxcdTYyRTZcXHU3QkVFXFx1OTYxMVxcdTUxNzBcXHU2RjlDXFx1OEMzMFxcdTYzRkRcXHU4OUM4XFx1NjFEMlxcdTdGMDZcXHU3MEMyXFx1NkVFNVxcdTc0MDVcXHU2OTk0XFx1NzJGQ1xcdTVFQ0FcXHU5MENFXFx1NjcxN1xcdTZENkFcXHU2MzVFXFx1NTJCM1xcdTcyNjJcXHU4MDAxXFx1NEY2Q1xcdTU5RTVcXHU5MTZBXFx1NzBEOVxcdTZEOURcXHU1MkQyXFx1NEU1MFxcdTk2RjdcXHU5NTZEXFx1ODU3RVxcdTc4Q0FcXHU3RDJGXFx1NTEyMVxcdTU3OTJcXHU2NEMyXFx1ODA4QlxcdTdDN0JcXHU2Q0VBXFx1NjhGMVxcdTY5NUVcXHU1MUI3XFx1NTM5OFxcdTY4QThcXHU3MjgxXFx1OUVDRVxcdTdCRjFcXHU3MkY4XFx1NzlCQlxcdTZGMTNcXHU3NDA2XFx1Njc0RVxcdTkxQ0NcXHU5Q0E0XFx1NzkzQ1xcdTgzODlcXHU4MzU0XFx1NTQwRlxcdTY4MTdcXHU0RTNEXFx1NTM4OVxcdTUyQjFcXHU3ODNFXFx1NTM4NlxcdTUyMjlcXHU1MDg4XFx1NEY4QlxcdTRGRDBcIl0sXG4gICAgICBbXCJjMTQwXCIsIFwiXFx1N0Y1NlxcdTdGNTlcXHU3RjVCXFx1N0Y1Q1xcdTdGNURcXHU3RjVFXFx1N0Y2MFxcdTdGNjNcIiwgNCwgXCJcXHU3RjZCXFx1N0Y2Q1xcdTdGNkRcXHU3RjZGXFx1N0Y3MFxcdTdGNzNcXHU3Rjc1XFx1N0Y3NlxcdTdGNzdcXHU3Rjc4XFx1N0Y3QVxcdTdGN0JcXHU3RjdDXFx1N0Y3RFxcdTdGN0ZcXHU3RjgwXFx1N0Y4MlwiLCA3LCBcIlxcdTdGOEJcXHU3RjhEXFx1N0Y4RlwiLCA0LCBcIlxcdTdGOTVcIiwgNCwgXCJcXHU3RjlCXFx1N0Y5Q1xcdTdGQTBcXHU3RkEyXFx1N0ZBM1xcdTdGQTVcXHU3RkE2XFx1N0ZBOFwiLCA2LCBcIlxcdTdGQjFcIl0sXG4gICAgICBbXCJjMTgwXCIsIFwiXFx1N0ZCM1wiLCA0LCBcIlxcdTdGQkFcXHU3RkJCXFx1N0ZCRVxcdTdGQzBcXHU3RkMyXFx1N0ZDM1xcdTdGQzRcXHU3RkM2XFx1N0ZDN1xcdTdGQzhcXHU3RkM5XFx1N0ZDQlxcdTdGQ0RcXHU3RkNGXCIsIDQsIFwiXFx1N0ZENlxcdTdGRDdcXHU3RkQ5XCIsIDUsIFwiXFx1N0ZFMlxcdTdGRTNcXHU3NUUyXFx1N0FDQlxcdTdDOTJcXHU2Q0E1XFx1OTZCNlxcdTUyOUJcXHU3NDgzXFx1NTRFOVxcdTRGRTlcXHU4MDU0XFx1ODNCMlxcdThGREVcXHU5NTcwXFx1NUVDOVxcdTYwMUNcXHU2RDlGXFx1NUUxOFxcdTY1NUJcXHU4MTM4XFx1OTRGRVxcdTYwNEJcXHU3MEJDXFx1N0VDM1xcdTdDQUVcXHU1MUM5XFx1Njg4MVxcdTdDQjFcXHU4MjZGXFx1NEUyNFxcdThGODZcXHU5MUNGXFx1NjY3RVxcdTRFQUVcXHU4QzA1XFx1NjRBOVxcdTgwNEFcXHU1MERBXFx1NzU5N1xcdTcxQ0VcXHU1QkU1XFx1OEZCRFxcdTZGNjZcXHU0RTg2XFx1NjQ4MlxcdTk1NjNcXHU1RUQ2XFx1NjU5OVxcdTUyMTdcXHU4OEMyXFx1NzBDOFxcdTUyQTNcXHU3MzBFXFx1NzQzM1xcdTY3OTdcXHU3OEY3XFx1OTcxNlxcdTRFMzRcXHU5MEJCXFx1OUNERVxcdTZEQ0JcXHU1MURCXFx1OEQ0MVxcdTU0MURcXHU2MkNFXFx1NzNCMlxcdTgzRjFcXHU5NkY2XFx1OUY4NFxcdTk0QzNcXHU0RjM2XFx1N0Y5QVxcdTUxQ0NcXHU3MDc1XFx1OTY3NVxcdTVDQURcXHU5ODg2XFx1NTNFNlxcdTRFRTRcXHU2RTlDXFx1NzQwOVxcdTY5QjRcXHU3ODZCXFx1OTk4RlxcdTc1NTlcXHU1MjE4XFx1NzYyNFxcdTZENDFcXHU2N0YzXFx1NTE2RFxcdTlGOTlcXHU4MDRCXFx1NTQ5OVxcdTdCM0NcXHU3QUJGXCJdLFxuICAgICAgW1wiYzI0MFwiLCBcIlxcdTdGRTRcXHU3RkU3XFx1N0ZFOFxcdTdGRUFcXHU3RkVCXFx1N0ZFQ1xcdTdGRURcXHU3RkVGXFx1N0ZGMlxcdTdGRjRcIiwgNiwgXCJcXHU3RkZEXFx1N0ZGRVxcdTdGRkZcXHU4MDAyXFx1ODAwN1xcdTgwMDhcXHU4MDA5XFx1ODAwQVxcdTgwMEVcXHU4MDBGXFx1ODAxMVxcdTgwMTNcXHU4MDFBXFx1ODAxQlxcdTgwMURcXHU4MDFFXFx1ODAxRlxcdTgwMjFcXHU4MDIzXFx1ODAyNFxcdTgwMkJcIiwgNSwgXCJcXHU4MDMyXFx1ODAzNFxcdTgwMzlcXHU4MDNBXFx1ODAzQ1xcdTgwM0VcXHU4MDQwXFx1ODA0MVxcdTgwNDRcXHU4MDQ1XFx1ODA0N1xcdTgwNDhcXHU4MDQ5XFx1ODA0RVxcdTgwNEZcXHU4MDUwXFx1ODA1MVxcdTgwNTNcXHU4MDU1XFx1ODA1NlxcdTgwNTdcIl0sXG4gICAgICBbXCJjMjgwXCIsIFwiXFx1ODA1OVxcdTgwNUJcIiwgMTMsIFwiXFx1ODA2QlwiLCA1LCBcIlxcdTgwNzJcIiwgMTEsIFwiXFx1OTY4NlxcdTU3ODRcXHU2MkUyXFx1OTY0N1xcdTY5N0NcXHU1QTA0XFx1NjQwMlxcdTdCRDNcXHU2RjBGXFx1OTY0QlxcdTgyQTZcXHU1MzYyXFx1OTg4NVxcdTVFOTBcXHU3MDg5XFx1NjNCM1xcdTUzNjRcXHU4NjRGXFx1OUM4MVxcdTlFOTNcXHU3ODhDXFx1OTczMlxcdThERUZcXHU4RDQyXFx1OUU3RlxcdTZGNUVcXHU3OTg0XFx1NUY1NVxcdTk2NDZcXHU2MjJFXFx1OUE3NFxcdTU0MTVcXHU5NEREXFx1NEZBM1xcdTY1QzVcXHU1QzY1XFx1NUM2MVxcdTdGMTVcXHU4NjUxXFx1NkMyRlxcdTVGOEJcXHU3Mzg3XFx1NkVFNFxcdTdFRkZcXHU1Q0U2XFx1NjMxQlxcdTVCNkFcXHU2RUU2XFx1NTM3NVxcdTRFNzFcXHU2M0EwXFx1NzU2NVxcdTYyQTFcXHU4RjZFXFx1NEYyNlxcdTRFRDFcXHU2Q0E2XFx1N0VCNlxcdThCQkFcXHU4NDFEXFx1ODdCQVxcdTdGNTdcXHU5MDNCXFx1OTUyM1xcdTdCQTlcXHU5QUExXFx1ODhGOFxcdTg0M0RcXHU2RDFCXFx1OUE4NlxcdTdFRENcXHU1OTg4XFx1OUVCQlxcdTczOUJcXHU3ODAxXFx1ODY4MlxcdTlBNkNcXHU5QTgyXFx1NTYxQlxcdTU0MTdcXHU1N0NCXFx1NEU3MFxcdTlFQTZcXHU1MzU2XFx1OEZDOFxcdTgxMDlcXHU3NzkyXFx1OTk5MlxcdTg2RUVcXHU2RUUxXFx1ODUxM1xcdTY2RkNcXHU2MTYyXFx1NkYyQlwiXSxcbiAgICAgIFtcImMzNDBcIiwgXCJcXHU4MDdFXFx1ODA4MVxcdTgwODJcXHU4MDg1XFx1ODA4OFxcdTgwOEFcXHU4MDhEXCIsIDUsIFwiXFx1ODA5NFxcdTgwOTVcXHU4MDk3XFx1ODA5OVxcdTgwOUVcXHU4MEEzXFx1ODBBNlxcdTgwQTdcXHU4MEE4XFx1ODBBQ1xcdTgwQjBcXHU4MEIzXFx1ODBCNVxcdTgwQjZcXHU4MEI4XFx1ODBCOVxcdTgwQkJcXHU4MEM1XFx1ODBDN1wiLCA0LCBcIlxcdTgwQ0ZcIiwgNiwgXCJcXHU4MEQ4XFx1ODBERlxcdTgwRTBcXHU4MEUyXFx1ODBFM1xcdTgwRTZcXHU4MEVFXFx1ODBGNVxcdTgwRjdcXHU4MEY5XFx1ODBGQlxcdTgwRkVcXHU4MEZGXFx1ODEwMFxcdTgxMDFcXHU4MTAzXFx1ODEwNFxcdTgxMDVcXHU4MTA3XFx1ODEwOFxcdTgxMEJcIl0sXG4gICAgICBbXCJjMzgwXCIsIFwiXFx1ODEwQ1xcdTgxMTVcXHU4MTE3XFx1ODExOVxcdTgxMUJcXHU4MTFDXFx1ODExRFxcdTgxMUZcIiwgMTIsIFwiXFx1ODEyRFxcdTgxMkVcXHU4MTMwXFx1ODEzM1xcdTgxMzRcXHU4MTM1XFx1ODEzN1xcdTgxMzlcIiwgNCwgXCJcXHU4MTNGXFx1OEMyOVxcdTgyOTJcXHU4MzJCXFx1NzZGMlxcdTZDMTNcXHU1RkQ5XFx1ODNCRFxcdTczMkJcXHU4MzA1XFx1OTUxQVxcdTZCREJcXHU3N0RCXFx1OTRDNlxcdTUzNkZcXHU4MzAyXFx1NTE5MlxcdTVFM0RcXHU4QzhDXFx1OEQzOFxcdTRFNDhcXHU3M0FCXFx1Njc5QVxcdTY4ODVcXHU5MTc2XFx1OTcwOVxcdTcxNjRcXHU2Q0ExXFx1NzcwOVxcdTVBOTJcXHU5NTQxXFx1NkJDRlxcdTdGOEVcXHU2NjI3XFx1NUJEMFxcdTU5QjlcXHU1QTlBXFx1OTVFOFxcdTk1RjdcXHU0RUVDXFx1ODQwQ1xcdTg0OTlcXHU2QUFDXFx1NzZERlxcdTk1MzBcXHU3MzFCXFx1NjhBNlxcdTVCNUZcXHU3NzJGXFx1OTE5QVxcdTk3NjFcXHU3Q0RDXFx1OEZGN1xcdThDMUNcXHU1RjI1XFx1N0M3M1xcdTc5RDhcXHU4OUM1XFx1NkNDQ1xcdTg3MUNcXHU1QkM2XFx1NUU0MlxcdTY4QzlcXHU3NzIwXFx1N0VGNVxcdTUxOTVcXHU1MTREXFx1NTJDOVxcdTVBMjlcXHU3RjA1XFx1OTc2MlxcdTgyRDdcXHU2M0NGXFx1Nzc4NFxcdTg1RDBcXHU3OUQyXFx1NkUzQVxcdTVFOTlcXHU1OTk5XFx1ODUxMVxcdTcwNkRcXHU2QzExXFx1NjJCRlxcdTc2QkZcXHU2NTRGXFx1NjBBRlxcdTk1RkRcXHU2NjBFXFx1ODc5RlxcdTlFMjNcXHU5NEVEXFx1NTQwRFxcdTU0N0RcXHU4QzJDXFx1NjQ3OFwiXSxcbiAgICAgIFtcImM0NDBcIiwgXCJcXHU4MTQwXCIsIDUsIFwiXFx1ODE0N1xcdTgxNDlcXHU4MTREXFx1ODE0RVxcdTgxNEZcXHU4MTUyXFx1ODE1NlxcdTgxNTdcXHU4MTU4XFx1ODE1QlwiLCA0LCBcIlxcdTgxNjFcXHU4MTYyXFx1ODE2M1xcdTgxNjRcXHU4MTY2XFx1ODE2OFxcdTgxNkFcXHU4MTZCXFx1ODE2Q1xcdTgxNkZcXHU4MTcyXFx1ODE3M1xcdTgxNzVcXHU4MTc2XFx1ODE3N1xcdTgxNzhcXHU4MTgxXFx1ODE4M1wiLCA0LCBcIlxcdTgxODlcXHU4MThCXFx1ODE4Q1xcdTgxOERcXHU4MThFXFx1ODE5MFxcdTgxOTJcIiwgNSwgXCJcXHU4MTk5XFx1ODE5QVxcdTgxOUVcIiwgNCwgXCJcXHU4MUE0XFx1ODFBNVwiXSxcbiAgICAgIFtcImM0ODBcIiwgXCJcXHU4MUE3XFx1ODFBOVxcdTgxQUJcIiwgNywgXCJcXHU4MUI0XCIsIDUsIFwiXFx1ODFCQ1xcdTgxQkRcXHU4MUJFXFx1ODFCRlxcdTgxQzRcXHU4MUM1XFx1ODFDN1xcdTgxQzhcXHU4MUM5XFx1ODFDQlxcdTgxQ0RcIiwgNiwgXCJcXHU2NDc5XFx1ODYxMVxcdTZBMjFcXHU4MTlDXFx1NzhFOFxcdTY0NjlcXHU5QjU0XFx1NjJCOVxcdTY3MkJcXHU4M0FCXFx1NThBOFxcdTlFRDhcXHU2Q0FCXFx1NkYyMFxcdTVCREVcXHU5NjRDXFx1OEMwQlxcdTcyNUZcXHU2N0QwXFx1NjJDN1xcdTcyNjFcXHU0RUE5XFx1NTlDNlxcdTZCQ0RcXHU1ODkzXFx1NjZBRVxcdTVFNTVcXHU1MkRGXFx1NjE1NVxcdTY3MjhcXHU3NkVFXFx1Nzc2NlxcdTcyNjdcXHU3QTQ2XFx1NjJGRlxcdTU0RUFcXHU1NDUwXFx1OTRBMFxcdTkwQTNcXHU1QTFDXFx1N0VCM1xcdTZDMTZcXHU0RTQzXFx1NTk3NlxcdTgwMTBcXHU1OTQ4XFx1NTM1N1xcdTc1MzdcXHU5NkJFXFx1NTZDQVxcdTYzMjBcXHU4MTExXFx1NjA3Q1xcdTk1RjlcXHU2REQ2XFx1NTQ2MlxcdTk5ODFcXHU1MTg1XFx1NUFFOVxcdTgwRkRcXHU1OUFFXFx1OTcxM1xcdTUwMkFcXHU2Q0U1XFx1NUMzQ1xcdTYyREZcXHU0RjYwXFx1NTMzRlxcdTgxN0JcXHU5MDA2XFx1NkVCQVxcdTg1MkJcXHU2MkM4XFx1NUU3NFxcdTc4QkVcXHU2NEI1XFx1NjM3QlxcdTVGRjVcXHU1QTE4XFx1OTE3RlxcdTlFMUZcXHU1QzNGXFx1NjM0RlxcdTgwNDJcXHU1QjdEXFx1NTU2RVxcdTk1NEFcXHU5NTREXFx1NkQ4NVxcdTYwQThcXHU2N0UwXFx1NzJERVxcdTUxRERcXHU1QjgxXCJdLFxuICAgICAgW1wiYzU0MFwiLCBcIlxcdTgxRDRcIiwgMTQsIFwiXFx1ODFFNFxcdTgxRTVcXHU4MUU2XFx1ODFFOFxcdTgxRTlcXHU4MUVCXFx1ODFFRVwiLCA0LCBcIlxcdTgxRjVcIiwgNSwgXCJcXHU4MUZEXFx1ODFGRlxcdTgyMDNcXHU4MjA3XCIsIDQsIFwiXFx1ODIwRVxcdTgyMEZcXHU4MjExXFx1ODIxM1xcdTgyMTVcIiwgNSwgXCJcXHU4MjFEXFx1ODIyMFxcdTgyMjRcXHU4MjI1XFx1ODIyNlxcdTgyMjdcXHU4MjI5XFx1ODIyRVxcdTgyMzJcXHU4MjNBXFx1ODIzQ1xcdTgyM0RcXHU4MjNGXCJdLFxuICAgICAgW1wiYzU4MFwiLCBcIlxcdTgyNDBcXHU4MjQxXFx1ODI0MlxcdTgyNDNcXHU4MjQ1XFx1ODI0NlxcdTgyNDhcXHU4MjRBXFx1ODI0Q1xcdTgyNERcXHU4MjRFXFx1ODI1MFwiLCA3LCBcIlxcdTgyNTlcXHU4MjVCXFx1ODI1Q1xcdTgyNURcXHU4MjVFXFx1ODI2MFwiLCA3LCBcIlxcdTgyNjlcXHU2MkU3XFx1NkNERVxcdTcyNUJcXHU2MjZEXFx1OTRBRVxcdTdFQkRcXHU4MTEzXFx1NkQ1M1xcdTUxOUNcXHU1RjA0XFx1NTk3NFxcdTUyQUFcXHU2MDEyXFx1NTk3M1xcdTY2OTZcXHU4NjUwXFx1NzU5RlxcdTYzMkFcXHU2MUU2XFx1N0NFRlxcdThCRkFcXHU1NEU2XFx1NkIyN1xcdTlFMjVcXHU2QkI0XFx1ODVENVxcdTU0NTVcXHU1MDc2XFx1NkNBNFxcdTU1NkFcXHU4REI0XFx1NzIyQ1xcdTVFMTVcXHU2MDE1XFx1NzQzNlxcdTYyQ0RcXHU2MzkyXFx1NzI0Q1xcdTVGOThcXHU2RTQzXFx1NkQzRVxcdTY1MDBcXHU2RjU4XFx1NzZEOFxcdTc4RDBcXHU3NkZDXFx1NzU1NFxcdTUyMjRcXHU1M0RCXFx1NEU1M1xcdTVFOUVcXHU2NUMxXFx1ODAyQVxcdTgwRDZcXHU2MjlCXFx1NTQ4NlxcdTUyMjhcXHU3MEFFXFx1ODg4RFxcdThERDFcXHU2Q0UxXFx1NTQ3OFxcdTgwREFcXHU1N0Y5XFx1ODhGNFxcdThENTRcXHU5NjZBXFx1OTE0RFxcdTRGNjlcXHU2QzlCXFx1NTVCN1xcdTc2QzZcXHU3ODMwXFx1NjJBOFxcdTcwRjlcXHU2RjhFXFx1NUY2RFxcdTg0RUNcXHU2OERBXFx1Nzg3Q1xcdTdCRjdcXHU4MUE4XFx1NjcwQlxcdTlFNEZcXHU2MzY3XFx1NzhCMFxcdTU3NkZcXHU3ODEyXFx1OTczOVxcdTYyNzlcXHU2MkFCXFx1NTI4OFxcdTc0MzVcXHU2QkQ3XCJdLFxuICAgICAgW1wiYzY0MFwiLCBcIlxcdTgyNkFcXHU4MjZCXFx1ODI2Q1xcdTgyNkRcXHU4MjcxXFx1ODI3NVxcdTgyNzZcXHU4Mjc3XFx1ODI3OFxcdTgyN0JcXHU4MjdDXFx1ODI4MFxcdTgyODFcXHU4MjgzXFx1ODI4NVxcdTgyODZcXHU4Mjg3XFx1ODI4OVxcdTgyOENcXHU4MjkwXFx1ODI5M1xcdTgyOTRcXHU4Mjk1XFx1ODI5NlxcdTgyOUFcXHU4MjlCXFx1ODI5RVxcdTgyQTBcXHU4MkEyXFx1ODJBM1xcdTgyQTdcXHU4MkIyXFx1ODJCNVxcdTgyQjZcXHU4MkJBXFx1ODJCQlxcdTgyQkNcXHU4MkJGXFx1ODJDMFxcdTgyQzJcXHU4MkMzXFx1ODJDNVxcdTgyQzZcXHU4MkM5XFx1ODJEMFxcdTgyRDZcXHU4MkQ5XFx1ODJEQVxcdTgyRERcXHU4MkUyXFx1ODJFN1xcdTgyRThcXHU4MkU5XFx1ODJFQVxcdTgyRUNcXHU4MkVEXFx1ODJFRVxcdTgyRjBcXHU4MkYyXFx1ODJGM1xcdTgyRjVcXHU4MkY2XFx1ODJGOFwiXSxcbiAgICAgIFtcImM2ODBcIiwgXCJcXHU4MkZBXFx1ODJGQ1wiLCA0LCBcIlxcdTgzMEFcXHU4MzBCXFx1ODMwRFxcdTgzMTBcXHU4MzEyXFx1ODMxM1xcdTgzMTZcXHU4MzE4XFx1ODMxOVxcdTgzMURcIiwgOSwgXCJcXHU4MzI5XFx1ODMyQVxcdTgzMkVcXHU4MzMwXFx1ODMzMlxcdTgzMzdcXHU4MzNCXFx1ODMzRFxcdTU1NjRcXHU4MTNFXFx1NzVCMlxcdTc2QUVcXHU1MzM5XFx1NzVERVxcdTUwRkJcXHU1QzQxXFx1OEI2Q1xcdTdCQzdcXHU1MDRGXFx1NzI0N1xcdTlBOTdcXHU5OEQ4XFx1NkYwMlxcdTc0RTJcXHU3OTY4XFx1NjQ4N1xcdTc3QTVcXHU2MkZDXFx1OTg5MVxcdThEMkJcXHU1NEMxXFx1ODA1OFxcdTRFNTJcXHU1NzZBXFx1ODJGOVxcdTg0MERcXHU1RTczXFx1NTFFRFxcdTc0RjZcXHU4QkM0XFx1NUM0RlxcdTU3NjFcXHU2Q0ZDXFx1OTg4N1xcdTVBNDZcXHU3ODM0XFx1OUI0NFxcdThGRUJcXHU3Qzk1XFx1NTI1NlxcdTYyNTFcXHU5NEZBXFx1NEVDNlxcdTgzODZcXHU4NDYxXFx1ODNFOVxcdTg0QjJcXHU1N0Q0XFx1NjczNFxcdTU3MDNcXHU2NjZFXFx1NkQ2NlxcdThDMzFcXHU2NkREXFx1NzAxMVxcdTY3MUZcXHU2QjNBXFx1NjgxNlxcdTYyMUFcXHU1OUJCXFx1NEUwM1xcdTUxQzRcXHU2RjA2XFx1NjdEMlxcdTZDOEZcXHU1MTc2XFx1NjhDQlxcdTU5NDdcXHU2QjY3XFx1NzU2NlxcdTVEMEVcXHU4MTEwXFx1OUY1MFxcdTY1RDdcXHU3OTQ4XFx1Nzk0MVxcdTlBOTFcXHU4RDc3XFx1NUM4MlxcdTRFNUVcXHU0RjAxXFx1NTQyRlxcdTU5NTFcXHU3ODBDXFx1NTY2OFxcdTZDMTRcXHU4RkM0XFx1NUYwM1xcdTZDN0RcXHU2Q0UzXFx1OEJBQlxcdTYzOTBcIl0sXG4gICAgICBbXCJjNzQwXCIsIFwiXFx1ODMzRVxcdTgzM0ZcXHU4MzQxXFx1ODM0MlxcdTgzNDRcXHU4MzQ1XFx1ODM0OFxcdTgzNEFcIiwgNCwgXCJcXHU4MzUzXFx1ODM1NVwiLCA0LCBcIlxcdTgzNURcXHU4MzYyXFx1ODM3MFwiLCA2LCBcIlxcdTgzNzlcXHU4MzdBXFx1ODM3RVwiLCA2LCBcIlxcdTgzODdcXHU4Mzg4XFx1ODM4QVxcdTgzOEJcXHU4MzhDXFx1ODM4RFxcdTgzOEZcXHU4MzkwXFx1ODM5MVxcdTgzOTRcXHU4Mzk1XFx1ODM5NlxcdTgzOTdcXHU4Mzk5XFx1ODM5QVxcdTgzOURcXHU4MzlGXFx1ODNBMVwiLCA2LCBcIlxcdTgzQUNcXHU4M0FEXFx1ODNBRVwiXSxcbiAgICAgIFtcImM3ODBcIiwgXCJcXHU4M0FGXFx1ODNCNVxcdTgzQkJcXHU4M0JFXFx1ODNCRlxcdTgzQzJcXHU4M0MzXFx1ODNDNFxcdTgzQzZcXHU4M0M4XFx1ODNDOVxcdTgzQ0JcXHU4M0NEXFx1ODNDRVxcdTgzRDBcXHU4M0QxXFx1ODNEMlxcdTgzRDNcXHU4M0Q1XFx1ODNEN1xcdTgzRDlcXHU4M0RBXFx1ODNEQlxcdTgzREVcXHU4M0UyXFx1ODNFM1xcdTgzRTRcXHU4M0U2XFx1ODNFN1xcdTgzRThcXHU4M0VCXFx1ODNFQ1xcdTgzRURcXHU2MDcwXFx1NkQzRFxcdTcyNzVcXHU2MjY2XFx1OTQ4RVxcdTk0QzVcXHU1MzQzXFx1OEZDMVxcdTdCN0VcXHU0RURGXFx1OEMyNlxcdTRFN0VcXHU5RUQ0XFx1OTRCMVxcdTk0QjNcXHU1MjREXFx1NkY1Q1xcdTkwNjNcXHU2RDQ1XFx1OEMzNFxcdTU4MTFcXHU1RDRDXFx1NkIyMFxcdTZCNDlcXHU2N0FBXFx1NTQ1QlxcdTgxNTRcXHU3RjhDXFx1NTg5OVxcdTg1MzdcXHU1RjNBXFx1NjJBMlxcdTZBNDdcXHU5NTM5XFx1NjU3MlxcdTYwODRcXHU2ODY1XFx1NzdBN1xcdTRFNTRcXHU0RkE4XFx1NURFN1xcdTk3OThcXHU2NEFDXFx1N0ZEOFxcdTVDRURcXHU0RkNGXFx1N0E4RFxcdTUyMDdcXHU4MzA0XFx1NEUxNFxcdTYwMkZcXHU3QTgzXFx1OTRBNlxcdTRGQjVcXHU0RUIyXFx1NzlFNlxcdTc0MzRcXHU1MkU0XFx1ODJCOVxcdTY0RDJcXHU3OUJEXFx1NUJERFxcdTZDODFcXHU5NzUyXFx1OEY3QlxcdTZDMjJcXHU1MDNFXFx1NTM3RlxcdTZFMDVcXHU2NENFXFx1NjY3NFxcdTZDMzBcXHU2MEM1XFx1OTg3N1xcdThCRjdcXHU1RTg2XFx1NzQzQ1xcdTdBNzdcXHU3OUNCXFx1NEUxOFxcdTkwQjFcXHU3NDAzXFx1NkM0MlxcdTU2REFcXHU5MTRCXFx1NkNDNVxcdThEOEJcXHU1MzNBXFx1ODZDNlxcdTY2RjJcXHU4RUFGXFx1NUM0OFxcdTlBNzFcXHU2RTIwXCJdLFxuICAgICAgW1wiYzg0MFwiLCBcIlxcdTgzRUVcXHU4M0VGXFx1ODNGM1wiLCA0LCBcIlxcdTgzRkFcXHU4M0ZCXFx1ODNGQ1xcdTgzRkVcXHU4M0ZGXFx1ODQwMFxcdTg0MDJcXHU4NDA1XFx1ODQwN1xcdTg0MDhcXHU4NDA5XFx1ODQwQVxcdTg0MTBcXHU4NDEyXCIsIDUsIFwiXFx1ODQxOVxcdTg0MUFcXHU4NDFCXFx1ODQxRVwiLCA1LCBcIlxcdTg0MjlcIiwgNywgXCJcXHU4NDMyXCIsIDUsIFwiXFx1ODQzOVxcdTg0M0FcXHU4NDNCXFx1ODQzRVwiLCA3LCBcIlxcdTg0NDdcXHU4NDQ4XFx1ODQ0OVwiXSxcbiAgICAgIFtcImM4ODBcIiwgXCJcXHU4NDRBXCIsIDYsIFwiXFx1ODQ1MlwiLCA0LCBcIlxcdTg0NThcXHU4NDVEXFx1ODQ1RVxcdTg0NUZcXHU4NDYwXFx1ODQ2MlxcdTg0NjRcIiwgNCwgXCJcXHU4NDZBXFx1ODQ2RVxcdTg0NkZcXHU4NDcwXFx1ODQ3MlxcdTg0NzRcXHU4NDc3XFx1ODQ3OVxcdTg0N0JcXHU4NDdDXFx1NTNENlxcdTVBMzZcXHU5RjhCXFx1OERBM1xcdTUzQkJcXHU1NzA4XFx1OThBN1xcdTY3NDNcXHU5MTlCXFx1NkNDOVxcdTUxNjhcXHU3NUNBXFx1NjJGM1xcdTcyQUNcXHU1MjM4XFx1NTI5RFxcdTdGM0FcXHU3MDk0XFx1NzYzOFxcdTUzNzRcXHU5RTRBXFx1NjlCN1xcdTc4NkVcXHU5NkMwXFx1ODhEOVxcdTdGQTRcXHU3MTM2XFx1NzFDM1xcdTUxODlcXHU2N0QzXFx1NzRFNFxcdTU4RTRcXHU2NTE4XFx1NTZCN1xcdThCQTlcXHU5OTc2XFx1NjI3MFxcdTdFRDVcXHU2MEY5XFx1NzBFRFxcdTU4RUNcXHU0RUMxXFx1NEVCQVxcdTVGQ0RcXHU5N0U3XFx1NEVGQlxcdThCQTRcXHU1MjAzXFx1NTk4QVxcdTdFQUJcXHU2MjU0XFx1NEVDRFxcdTY1RTVcXHU2MjBFXFx1ODMzOFxcdTg0QzlcXHU4MzYzXFx1ODc4RFxcdTcxOTRcXHU2RUI2XFx1NUJCOVxcdTdFRDJcXHU1MTk3XFx1NjNDOVxcdTY3RDRcXHU4MDg5XFx1ODMzOVxcdTg4MTVcXHU1MTEyXFx1NUI3QVxcdTU5ODJcXHU4RkIxXFx1NEU3M1xcdTZDNURcXHU1MTY1XFx1ODkyNVxcdThGNkZcXHU5NjJFXFx1ODU0QVxcdTc0NUVcXHU5NTEwXFx1OTVGMFxcdTZEQTZcXHU4MkU1XFx1NUYzMVxcdTY0OTJcXHU2RDEyXFx1ODQyOFxcdTgxNkVcXHU5Q0MzXFx1NTg1RVxcdThENUJcXHU0RTA5XFx1NTNDMVwiXSxcbiAgICAgIFtcImM5NDBcIiwgXCJcXHU4NDdEXCIsIDQsIFwiXFx1ODQ4M1xcdTg0ODRcXHU4NDg1XFx1ODQ4NlxcdTg0OEFcXHU4NDhEXFx1ODQ4RlwiLCA3LCBcIlxcdTg0OThcXHU4NDlBXFx1ODQ5QlxcdTg0OURcXHU4NDlFXFx1ODQ5RlxcdTg0QTBcXHU4NEEyXCIsIDEyLCBcIlxcdTg0QjBcXHU4NEIxXFx1ODRCM1xcdTg0QjVcXHU4NEI2XFx1ODRCN1xcdTg0QkJcXHU4NEJDXFx1ODRCRVxcdTg0QzBcXHU4NEMyXFx1ODRDM1xcdTg0QzVcXHU4NEM2XFx1ODRDN1xcdTg0QzhcXHU4NENCXFx1ODRDQ1xcdTg0Q0VcXHU4NENGXFx1ODREMlxcdTg0RDRcXHU4NEQ1XFx1ODREN1wiXSxcbiAgICAgIFtcImM5ODBcIiwgXCJcXHU4NEQ4XCIsIDQsIFwiXFx1ODRERVxcdTg0RTFcXHU4NEUyXFx1ODRFNFxcdTg0RTdcIiwgNCwgXCJcXHU4NEVEXFx1ODRFRVxcdTg0RUZcXHU4NEYxXCIsIDEwLCBcIlxcdTg0RkRcXHU4NEZFXFx1ODUwMFxcdTg1MDFcXHU4NTAyXFx1NEYxRVxcdTY1NjNcXHU2ODUxXFx1NTVEM1xcdTRFMjdcXHU2NDE0XFx1OUE5QVxcdTYyNkJcXHU1QUMyXFx1NzQ1RlxcdTgyNzJcXHU2REE5XFx1NjhFRVxcdTUwRTdcXHU4MzhFXFx1NzgwMlxcdTY3NDBcXHU1MjM5XFx1NkM5OVxcdTdFQjFcXHU1MEJCXFx1NTU2NVxcdTcxNUVcXHU3QjVCXFx1NjY1MlxcdTczQ0FcXHU4MkVCXFx1Njc0OVxcdTVDNzFcXHU1MjIwXFx1NzE3RFxcdTg4NkJcXHU5NUVBXFx1OTY1NVxcdTY0QzVcXHU4RDYxXFx1ODFCM1xcdTU1ODRcXHU2QzU1XFx1NjI0N1xcdTdGMkVcXHU1ODkyXFx1NEYyNFxcdTU1NDZcXHU4RDRGXFx1NjY0Q1xcdTRFMEFcXHU1QzFBXFx1ODhGM1xcdTY4QTJcXHU2MzRFXFx1N0EwRFxcdTcwRTdcXHU4MjhEXFx1NTJGQVxcdTk3RjZcXHU1QzExXFx1NTRFOFxcdTkwQjVcXHU3RUNEXFx1NTk2MlxcdThENEFcXHU4NkM3XFx1ODIwQ1xcdTgyMERcXHU4RDY2XFx1NjQ0NFxcdTVDMDRcXHU2MTUxXFx1NkQ4OVxcdTc5M0VcXHU4QkJFXFx1NzgzN1xcdTc1MzNcXHU1NDdCXFx1NEYzOFxcdThFQUJcXHU2REYxXFx1NUEyMFxcdTdFQzVcXHU3OTVFXFx1NkM4OFxcdTVCQTFcXHU1QTc2XFx1NzUxQVxcdTgwQkVcXHU2MTRFXFx1NkUxN1xcdTU4RjBcXHU3NTFGXFx1NzUyNVxcdTcyNzJcXHU1MzQ3XFx1N0VGM1wiXSxcbiAgICAgIFtcImNhNDBcIiwgXCJcXHU4NTAzXCIsIDgsIFwiXFx1ODUwRFxcdTg1MEVcXHU4NTBGXFx1ODUxMFxcdTg1MTJcXHU4NTE0XFx1ODUxNVxcdTg1MTZcXHU4NTE4XFx1ODUxOVxcdTg1MUJcXHU4NTFDXFx1ODUxRFxcdTg1MUVcXHU4NTIwXFx1ODUyMlwiLCA4LCBcIlxcdTg1MkRcIiwgOSwgXCJcXHU4NTNFXCIsIDQsIFwiXFx1ODU0NFxcdTg1NDVcXHU4NTQ2XFx1ODU0N1xcdTg1NEJcIiwgMTBdLFxuICAgICAgW1wiY2E4MFwiLCBcIlxcdTg1NTdcXHU4NTU4XFx1ODU1QVxcdTg1NUJcXHU4NTVDXFx1ODU1RFxcdTg1NUZcIiwgNCwgXCJcXHU4NTY1XFx1ODU2NlxcdTg1NjdcXHU4NTY5XCIsIDgsIFwiXFx1ODU3M1xcdTg1NzVcXHU4NTc2XFx1ODU3N1xcdTg1NzhcXHU4NTdDXFx1ODU3RFxcdTg1N0ZcXHU4NTgwXFx1ODU4MVxcdTc3MDFcXHU3NkRCXFx1NTI2OVxcdTgwRENcXHU1NzIzXFx1NUUwOFxcdTU5MzFcXHU3MkVFXFx1NjVCRFxcdTZFN0ZcXHU4QkQ3XFx1NUMzOFxcdTg2NzFcXHU1MzQxXFx1NzdGM1xcdTYyRkVcXHU2NUY2XFx1NEVDMFxcdTk4REZcXHU4NjgwXFx1NUI5RVxcdThCQzZcXHU1M0YyXFx1NzdFMlxcdTRGN0ZcXHU1QzRFXFx1OUE3NlxcdTU5Q0JcXHU1RjBGXFx1NzkzQVxcdTU4RUJcXHU0RTE2XFx1NjdGRlxcdTRFOEJcXHU2MkVEXFx1OEE5M1xcdTkwMURcXHU1MkJGXFx1NjYyRlxcdTU1RENcXHU1NjZDXFx1OTAwMlxcdTRFRDVcXHU0RjhEXFx1OTFDQVxcdTk5NzBcXHU2QzBGXFx1NUUwMlxcdTYwNDNcXHU1QkE0XFx1ODlDNlxcdThCRDVcXHU2NTM2XFx1NjI0QlxcdTk5OTZcXHU1Qjg4XFx1NUJGRlxcdTYzODhcXHU1NTJFXFx1NTNEN1xcdTc2MjZcXHU1MTdEXFx1ODUyQ1xcdTY3QTJcXHU2OEIzXFx1NkI4QVxcdTYyOTJcXHU4RjkzXFx1NTNENFxcdTgyMTJcXHU2REQxXFx1NzU4RlxcdTRFNjZcXHU4RDRFXFx1NUI3MFxcdTcxOUZcXHU4NUFGXFx1NjY5MVxcdTY2RDlcXHU3RjcyXFx1ODcwMFxcdTlFQ0RcXHU5RjIwXFx1NUM1RVxcdTY3MkZcXHU4RkYwXFx1NjgxMVxcdTY3NUZcXHU2MjBEXFx1N0FENlxcdTU4ODVcXHU1RUI2XFx1NjU3MFxcdTZGMzFcIl0sXG4gICAgICBbXCJjYjQwXCIsIFwiXFx1ODU4MlxcdTg1ODNcXHU4NTg2XFx1ODU4OFwiLCA2LCBcIlxcdTg1OTBcIiwgMTAsIFwiXFx1ODU5RFwiLCA2LCBcIlxcdTg1QTVcXHU4NUE2XFx1ODVBN1xcdTg1QTlcXHU4NUFCXFx1ODVBQ1xcdTg1QURcXHU4NUIxXCIsIDUsIFwiXFx1ODVCOFxcdTg1QkFcIiwgNiwgXCJcXHU4NUMyXCIsIDYsIFwiXFx1ODVDQVwiLCA0LCBcIlxcdTg1RDFcXHU4NUQyXCJdLFxuICAgICAgW1wiY2I4MFwiLCBcIlxcdTg1RDRcXHU4NUQ2XCIsIDUsIFwiXFx1ODVERFwiLCA2LCBcIlxcdTg1RTVcXHU4NUU2XFx1ODVFN1xcdTg1RThcXHU4NUVBXCIsIDE0LCBcIlxcdTYwNTVcXHU1MjM3XFx1ODAwRFxcdTY0NTRcXHU4ODcwXFx1NzUyOVxcdTVFMDVcXHU2ODEzXFx1NjJGNFxcdTk3MUNcXHU1M0NDXFx1NzIzRFxcdThDMDFcXHU2QzM0XFx1Nzc2MVxcdTdBMEVcXHU1NDJFXFx1NzdBQ1xcdTk4N0FcXHU4MjFDXFx1OEJGNFxcdTc4NTVcXHU2NzE0XFx1NzBDMVxcdTY1QUZcXHU2NDk1XFx1NTYzNlxcdTYwMURcXHU3OUMxXFx1NTNGOFxcdTRFMURcXHU2QjdCXFx1ODA4NlxcdTVCRkFcXHU1NUUzXFx1NTZEQlxcdTRGM0FcXHU0RjNDXFx1OTk3MlxcdTVERjNcXHU2NzdFXFx1ODAzOFxcdTYwMDJcXHU5ODgyXFx1OTAwMVxcdTVCOEJcXHU4QkJDXFx1OEJGNVxcdTY0MUNcXHU4MjU4XFx1NjRERVxcdTU1RkRcXHU4MkNGXFx1OTE2NVxcdTRGRDdcXHU3RDIwXFx1OTAxRlxcdTdDOUZcXHU1MEYzXFx1NTg1MVxcdTZFQUZcXHU1QkJGXFx1OEJDOVxcdTgwODNcXHU5MTc4XFx1ODQ5Q1xcdTdCOTdcXHU4NjdEXFx1OTY4QlxcdTk2OEZcXHU3RUU1XFx1OUFEM1xcdTc4OEVcXHU1QzgxXFx1N0E1N1xcdTkwNDJcXHU5NkE3XFx1Nzk1RlxcdTVCNTlcXHU2MzVGXFx1N0IwQlxcdTg0RDFcXHU2OEFEXFx1NTUwNlxcdTdGMjlcXHU3NDEwXFx1N0QyMlxcdTk1MDFcXHU2MjQwXFx1NTg0Q1xcdTRFRDZcXHU1QjgzXFx1NTk3OVxcdTU4NTRcIl0sXG4gICAgICBbXCJjYzQwXCIsIFwiXFx1ODVGOVxcdTg1RkFcXHU4NUZDXFx1ODVGRFxcdTg1RkVcXHU4NjAwXCIsIDQsIFwiXFx1ODYwNlwiLCAxMCwgXCJcXHU4NjEyXFx1ODYxM1xcdTg2MTRcXHU4NjE1XFx1ODYxN1wiLCAxNSwgXCJcXHU4NjI4XFx1ODYyQVwiLCAxMywgXCJcXHU4NjM5XFx1ODYzQVxcdTg2M0JcXHU4NjNEXFx1ODYzRVxcdTg2M0ZcXHU4NjQwXCJdLFxuICAgICAgW1wiY2M4MFwiLCBcIlxcdTg2NDFcIiwgMTEsIFwiXFx1ODY1MlxcdTg2NTNcXHU4NjU1XCIsIDQsIFwiXFx1ODY1QlxcdTg2NUNcXHU4NjVEXFx1ODY1RlxcdTg2NjBcXHU4NjYxXFx1ODY2M1wiLCA3LCBcIlxcdTczNkRcXHU2MzFFXFx1OEU0QlxcdThFMEZcXHU4MENFXFx1ODJENFxcdTYyQUNcXHU1M0YwXFx1NkNGMFxcdTkxNUVcXHU1OTJBXFx1NjAwMVxcdTZDNzBcXHU1NzREXFx1NjQ0QVxcdThEMkFcXHU3NjJCXFx1NkVFOVxcdTU3NUJcXHU2QTgwXFx1NzVGMFxcdTZGNkRcXHU4QzJEXFx1OEMwOFxcdTU3NjZcXHU2QkVGXFx1ODg5MlxcdTc4QjNcXHU2M0EyXFx1NTNGOVxcdTcwQURcXHU2QzY0XFx1NTg1OFxcdTY0MkFcXHU1ODAyXFx1NjhFMFxcdTgxOUJcXHU1NTEwXFx1N0NENlxcdTUwMThcXHU4RUJBXFx1NkRDQ1xcdThEOUZcXHU3MEVCXFx1NjM4RlxcdTZEOUJcXHU2RUQ0XFx1N0VFNlxcdTg0MDRcXHU2ODQzXFx1OTAwM1xcdTZERDhcXHU5Njc2XFx1OEJBOFxcdTU5NTdcXHU3Mjc5XFx1ODVFNFxcdTgxN0VcXHU3NUJDXFx1OEE4QVxcdTY4QUZcXHU1MjU0XFx1OEUyMlxcdTk1MTFcXHU2M0QwXFx1OTg5OFxcdThFNDRcXHU1NTdDXFx1NEY1M1xcdTY2RkZcXHU1NjhGXFx1NjBENVxcdTZEOTVcXHU1MjQzXFx1NUM0OVxcdTU5MjlcXHU2REZCXFx1NTg2QlxcdTc1MzBcXHU3NTFDXFx1NjA2Q1xcdTgyMTRcXHU4MTQ2XFx1NjMxMVxcdTY3NjFcXHU4RkUyXFx1NzczQVxcdThERjNcXHU4RDM0XFx1OTRDMVxcdTVFMTZcXHU1Mzg1XFx1NTQyQ1xcdTcwQzNcIl0sXG4gICAgICBbXCJjZDQwXCIsIFwiXFx1ODY2RFxcdTg2NkZcXHU4NjcwXFx1ODY3MlwiLCA2LCBcIlxcdTg2ODNcIiwgNiwgXCJcXHU4NjhFXCIsIDQsIFwiXFx1ODY5NFxcdTg2OTZcIiwgNSwgXCJcXHU4NjlFXCIsIDQsIFwiXFx1ODZBNVxcdTg2QTZcXHU4NkFCXFx1ODZBRFxcdTg2QUVcXHU4NkIyXFx1ODZCM1xcdTg2QjdcXHU4NkI4XFx1ODZCOVxcdTg2QkJcIiwgNCwgXCJcXHU4NkMxXFx1ODZDMlxcdTg2QzNcXHU4NkM1XFx1ODZDOFxcdTg2Q0NcXHU4NkNEXFx1ODZEMlxcdTg2RDNcXHU4NkQ1XFx1ODZENlxcdTg2RDdcXHU4NkRBXFx1ODZEQ1wiXSxcbiAgICAgIFtcImNkODBcIiwgXCJcXHU4NkREXFx1ODZFMFxcdTg2RTFcXHU4NkUyXFx1ODZFM1xcdTg2RTVcXHU4NkU2XFx1ODZFN1xcdTg2RThcXHU4NkVBXFx1ODZFQlxcdTg2RUNcXHU4NkVGXFx1ODZGNVxcdTg2RjZcXHU4NkY3XFx1ODZGQVxcdTg2RkJcXHU4NkZDXFx1ODZGRFxcdTg2RkZcXHU4NzAxXFx1ODcwNFxcdTg3MDVcXHU4NzA2XFx1ODcwQlxcdTg3MENcXHU4NzBFXFx1ODcwRlxcdTg3MTBcXHU4NzExXFx1ODcxNFxcdTg3MTZcXHU2QzQwXFx1NUVGN1xcdTUwNUNcXHU0RUFEXFx1NUVBRFxcdTYzM0FcXHU4MjQ3XFx1OTAxQVxcdTY4NTBcXHU5MTZFXFx1NzdCM1xcdTU0MENcXHU5NERDXFx1NUY2NFxcdTdBRTVcXHU2ODc2XFx1NjM0NVxcdTdCNTJcXHU3RURGXFx1NzVEQlxcdTUwNzdcXHU2Mjk1XFx1NTkzNFxcdTkwMEZcXHU1MUY4XFx1NzlDM1xcdTdBODFcXHU1NkZFXFx1NUY5MlxcdTkwMTRcXHU2RDgyXFx1NUM2MFxcdTU3MUZcXHU1NDEwXFx1NTE1NFxcdTZFNERcXHU1NkUyXFx1NjNBOFxcdTk4OTNcXHU4MTdGXFx1ODcxNVxcdTg5MkFcXHU5MDAwXFx1NTQxRVxcdTVDNkZcXHU4MUMwXFx1NjJENlxcdTYyNThcXHU4MTMxXFx1OUUzNVxcdTk2NDBcXHU5QTZFXFx1OUE3Q1xcdTY5MkRcXHU1OUE1XFx1NjJEM1xcdTU1M0VcXHU2MzE2XFx1NTRDN1xcdTg2RDlcXHU2RDNDXFx1NUEwM1xcdTc0RTZcXHU4ODlDXFx1NkI2QVxcdTU5MTZcXHU4QzRDXFx1NUYyRlxcdTZFN0VcXHU3M0E5XFx1OTg3RFxcdTRFMzhcXHU3MEY3XFx1NUI4Q1xcdTc4OTdcXHU2MzNEXFx1NjY1QVxcdTc2OTZcXHU2MENCXFx1NUI5QlxcdTVBNDlcXHU0RTA3XFx1ODE1NVxcdTZDNkFcXHU3MzhCXFx1NEVBMVxcdTY3ODlcXHU3RjUxXFx1NUY4MFxcdTY1RkFcXHU2NzFCXFx1NUZEOFxcdTU5ODRcXHU1QTAxXCJdLFxuICAgICAgW1wiY2U0MFwiLCBcIlxcdTg3MTlcXHU4NzFCXFx1ODcxRFxcdTg3MUZcXHU4NzIwXFx1ODcyNFxcdTg3MjZcXHU4NzI3XFx1ODcyOFxcdTg3MkFcXHU4NzJCXFx1ODcyQ1xcdTg3MkRcXHU4NzJGXFx1ODczMFxcdTg3MzJcXHU4NzMzXFx1ODczNVxcdTg3MzZcXHU4NzM4XFx1ODczOVxcdTg3M0FcXHU4NzNDXFx1ODczRFxcdTg3NDBcIiwgNiwgXCJcXHU4NzRBXFx1ODc0QlxcdTg3NERcXHU4NzRGXFx1ODc1MFxcdTg3NTFcXHU4NzUyXFx1ODc1NFxcdTg3NTVcXHU4NzU2XFx1ODc1OFxcdTg3NUFcIiwgNSwgXCJcXHU4NzYxXFx1ODc2MlxcdTg3NjZcIiwgNywgXCJcXHU4NzZGXFx1ODc3MVxcdTg3NzJcXHU4NzczXFx1ODc3NVwiXSxcbiAgICAgIFtcImNlODBcIiwgXCJcXHU4Nzc3XFx1ODc3OFxcdTg3NzlcXHU4NzdBXFx1ODc3RlxcdTg3ODBcXHU4NzgxXFx1ODc4NFxcdTg3ODZcXHU4Nzg3XFx1ODc4OVxcdTg3OEFcXHU4NzhDXFx1ODc4RVwiLCA0LCBcIlxcdTg3OTRcXHU4Nzk1XFx1ODc5NlxcdTg3OThcIiwgNiwgXCJcXHU4N0EwXCIsIDQsIFwiXFx1NURDRFxcdTVGQUVcXHU1MzcxXFx1OTdFNlxcdThGRERcXHU2ODQ1XFx1NTZGNFxcdTU1MkZcXHU2MERGXFx1NEUzQVxcdTZGNERcXHU3RUY0XFx1ODJDN1xcdTg0MEVcXHU1OUQ0XFx1NEYxRlxcdTRGMkFcXHU1QzNFXFx1N0VBQ1xcdTY3MkFcXHU4NTFBXFx1NTQ3M1xcdTc1NEZcXHU4MEMzXFx1NTU4MlxcdTlCNEZcXHU0RjREXFx1NkUyRFxcdThDMTNcXHU1QzA5XFx1NjE3MFxcdTUzNkJcXHU3NjFGXFx1NkUyOVxcdTg2OEFcXHU2NTg3XFx1OTVGQlxcdTdFQjlcXHU1NDNCXFx1N0EzM1xcdTdEMEFcXHU5NUVFXFx1NTVFMVxcdTdGQzFcXHU3NEVFXFx1NjMxRFxcdTg3MTdcXHU2REExXFx1N0E5RFxcdTYyMTFcXHU2NUExXFx1NTM2N1xcdTYzRTFcXHU2QzgzXFx1NURFQlxcdTU0NUNcXHU5NEE4XFx1NEU0Q1xcdTZDNjFcXHU4QkVDXFx1NUM0QlxcdTY1RTBcXHU4MjlDXFx1NjhBN1xcdTU0M0VcXHU1NDM0XFx1NkJDQlxcdTZCNjZcXHU0RTk0XFx1NjM0MlxcdTUzNDhcXHU4MjFFXFx1NEYwRFxcdTRGQUVcXHU1NzVFXFx1NjIwQVxcdTk2RkVcXHU2NjY0XFx1NzI2OVxcdTUyRkZcXHU1MkExXFx1NjA5RlxcdThCRUZcXHU2NjE0XFx1NzE5OVxcdTY3OTBcXHU4OTdGXFx1Nzg1MlxcdTc3RkRcXHU2NjcwXFx1NTYzQlxcdTU0MzhcXHU5NTIxXFx1NzI3QVwiXSxcbiAgICAgIFtcImNmNDBcIiwgXCJcXHU4N0E1XFx1ODdBNlxcdTg3QTdcXHU4N0E5XFx1ODdBQVxcdTg3QUVcXHU4N0IwXFx1ODdCMVxcdTg3QjJcXHU4N0I0XFx1ODdCNlxcdTg3QjdcXHU4N0I4XFx1ODdCOVxcdTg3QkJcXHU4N0JDXFx1ODdCRVxcdTg3QkZcXHU4N0MxXCIsIDQsIFwiXFx1ODdDN1xcdTg3QzhcXHU4N0M5XFx1ODdDQ1wiLCA0LCBcIlxcdTg3RDRcIiwgNiwgXCJcXHU4N0RDXFx1ODdERFxcdTg3REVcXHU4N0RGXFx1ODdFMVxcdTg3RTJcXHU4N0UzXFx1ODdFNFxcdTg3RTZcXHU4N0U3XFx1ODdFOFxcdTg3RTlcXHU4N0VCXFx1ODdFQ1xcdTg3RURcXHU4N0VGXCIsIDldLFxuICAgICAgW1wiY2Y4MFwiLCBcIlxcdTg3RkFcXHU4N0ZCXFx1ODdGQ1xcdTg3RkRcXHU4N0ZGXFx1ODgwMFxcdTg4MDFcXHU4ODAyXFx1ODgwNFwiLCA1LCBcIlxcdTg4MEJcIiwgNywgXCJcXHU4ODE0XFx1ODgxN1xcdTg4MThcXHU4ODE5XFx1ODgxQVxcdTg4MUNcIiwgNCwgXCJcXHU4ODIzXFx1N0EwMFxcdTYwNkZcXHU1RTBDXFx1NjA4OVxcdTgxOURcXHU1OTE1XFx1NjBEQ1xcdTcxODRcXHU3MEVGXFx1NkVBQVxcdTZDNTBcXHU3MjgwXFx1NkE4NFxcdTg4QURcXHU1RTJEXFx1NEU2MFxcdTVBQjNcXHU1NTlDXFx1OTRFM1xcdTZEMTdcXHU3Q0ZCXFx1OTY5OVxcdTYyMEZcXHU3RUM2XFx1Nzc4RVxcdTg2N0VcXHU1MzIzXFx1OTcxRVxcdThGOTZcXHU2Njg3XFx1NUNFMVxcdTRGQTBcXHU3MkVEXFx1NEUwQlxcdTUzQTZcXHU1OTBGXFx1NTQxM1xcdTYzODBcXHU5NTI4XFx1NTE0OFxcdTRFRDlcXHU5QzlDXFx1N0VBNFxcdTU0QjhcXHU4RDI0XFx1ODg1NFxcdTgyMzdcXHU5NUYyXFx1NkQ4RVxcdTVGMjZcXHU1QUNDXFx1NjYzRVxcdTk2NjlcXHU3M0IwXFx1NzMyRVxcdTUzQkZcXHU4MTdBXFx1OTk4NVxcdTdGQTFcXHU1QkFBXFx1OTY3N1xcdTk2NTBcXHU3RUJGXFx1NzZGOFxcdTUzQTJcXHU5NTc2XFx1OTk5OVxcdTdCQjFcXHU4OTQ0XFx1NkU1OFxcdTRFNjFcXHU3RkQ0XFx1Nzk2NVxcdThCRTZcXHU2MEYzXFx1NTRDRFxcdTRFQUJcXHU5ODc5XFx1NURGN1xcdTZBNjFcXHU1MENGXFx1NTQxMVxcdThDNjFcXHU4NDI3XFx1Nzg1RFxcdTk3MDRcXHU1MjRBXFx1NTRFRVxcdTU2QTNcXHU5NTAwXFx1NkQ4OFxcdTVCQjVcXHU2REM2XFx1NjY1M1wiXSxcbiAgICAgIFtcImQwNDBcIiwgXCJcXHU4ODI0XCIsIDEzLCBcIlxcdTg4MzNcIiwgNSwgXCJcXHU4ODNBXFx1ODgzQlxcdTg4M0RcXHU4ODNFXFx1ODgzRlxcdTg4NDFcXHU4ODQyXFx1ODg0M1xcdTg4NDZcIiwgNSwgXCJcXHU4ODRFXCIsIDUsIFwiXFx1ODg1NVxcdTg4NTZcXHU4ODU4XFx1ODg1QVwiLCA2LCBcIlxcdTg4NjZcXHU4ODY3XFx1ODg2QVxcdTg4NkRcXHU4ODZGXFx1ODg3MVxcdTg4NzNcXHU4ODc0XFx1ODg3NVxcdTg4NzZcXHU4ODc4XFx1ODg3OVxcdTg4N0FcIl0sXG4gICAgICBbXCJkMDgwXCIsIFwiXFx1ODg3QlxcdTg4N0NcXHU4ODgwXFx1ODg4M1xcdTg4ODZcXHU4ODg3XFx1ODg4OVxcdTg4OEFcXHU4ODhDXFx1ODg4RVxcdTg4OEZcXHU4ODkwXFx1ODg5MVxcdTg4OTNcXHU4ODk0XFx1ODg5NVxcdTg4OTdcIiwgNCwgXCJcXHU4ODlEXCIsIDQsIFwiXFx1ODhBM1xcdTg4QTVcIiwgNSwgXCJcXHU1QzBGXFx1NUI1RFxcdTY4MjFcXHU4MDk2XFx1NTU3OFxcdTdCMTFcXHU2NTQ4XFx1Njk1NFxcdTRFOUJcXHU2QjQ3XFx1ODc0RVxcdTk3OEJcXHU1MzRGXFx1NjMxRlxcdTY0M0FcXHU5MEFBXFx1NjU5Q1xcdTgwQzFcXHU4QzEwXFx1NTE5OVxcdTY4QjBcXHU1Mzc4XFx1ODdGOVxcdTYxQzhcXHU2Q0M0XFx1NkNGQlxcdThDMjJcXHU1QzUxXFx1ODVBQVxcdTgyQUZcXHU5NTBDXFx1NkIyM1xcdThGOUJcXHU2NUIwXFx1NUZGQlxcdTVGQzNcXHU0RkUxXFx1ODg0NVxcdTY2MUZcXHU4MTY1XFx1NzMyOVxcdTYwRkFcXHU1MTc0XFx1NTIxMVxcdTU3OEJcXHU1RjYyXFx1OTBBMlxcdTg4NENcXHU5MTkyXFx1NUU3OFxcdTY3NEZcXHU2MDI3XFx1NTlEM1xcdTUxNDRcXHU1MUY2XFx1ODBGOFxcdTUzMDhcXHU2Qzc5XFx1OTZDNFxcdTcxOEFcXHU0RjExXFx1NEZFRVxcdTdGOUVcXHU2NzNEXFx1NTVDNVxcdTk1MDhcXHU3OUMwXFx1ODg5NlxcdTdFRTNcXHU1ODlGXFx1NjIwQ1xcdTk3MDBcXHU4NjVBXFx1NTYxOFxcdTk4N0JcXHU1RjkwXFx1OEJCOFxcdTg0QzRcXHU5MTU3XFx1NTNEOVxcdTY1RURcXHU1RThGXFx1NzU1Q1xcdTYwNjRcXHU3RDZFXFx1NUE3RlxcdTdFRUFcXHU3RUVEXFx1OEY2OVxcdTU1QTdcXHU1QkEzXFx1NjBBQ1xcdTY1Q0JcXHU3Mzg0XCJdLFxuICAgICAgW1wiZDE0MFwiLCBcIlxcdTg4QUNcXHU4OEFFXFx1ODhBRlxcdTg4QjBcXHU4OEIyXCIsIDQsIFwiXFx1ODhCOFxcdTg4QjlcXHU4OEJBXFx1ODhCQlxcdTg4QkRcXHU4OEJFXFx1ODhCRlxcdTg4QzBcXHU4OEMzXFx1ODhDNFxcdTg4QzdcXHU4OEM4XFx1ODhDQVxcdTg4Q0JcXHU4OENDXFx1ODhDRFxcdTg4Q0ZcXHU4OEQwXFx1ODhEMVxcdTg4RDNcXHU4OEQ2XFx1ODhEN1xcdTg4REFcIiwgNCwgXCJcXHU4OEUwXFx1ODhFMVxcdTg4RTZcXHU4OEU3XFx1ODhFOVwiLCA2LCBcIlxcdTg4RjJcXHU4OEY1XFx1ODhGNlxcdTg4RjdcXHU4OEZBXFx1ODhGQlxcdTg4RkRcXHU4OEZGXFx1ODkwMFxcdTg5MDFcXHU4OTAzXCIsIDVdLFxuICAgICAgW1wiZDE4MFwiLCBcIlxcdTg5MDlcXHU4OTBCXCIsIDQsIFwiXFx1ODkxMVxcdTg5MTRcIiwgNCwgXCJcXHU4OTFDXCIsIDQsIFwiXFx1ODkyMlxcdTg5MjNcXHU4OTI0XFx1ODkyNlxcdTg5MjdcXHU4OTI4XFx1ODkyOVxcdTg5MkNcXHU4OTJEXFx1ODkyRVxcdTg5MkZcXHU4OTMxXFx1ODkzMlxcdTg5MzNcXHU4OTM1XFx1ODkzN1xcdTkwMDlcXHU3NjYzXFx1NzcyOVxcdTdFREFcXHU5Nzc0XFx1ODU5QlxcdTVCNjZcXHU3QTc0XFx1OTZFQVxcdTg4NDBcXHU1MkNCXFx1NzE4RlxcdTVGQUFcXHU2NUVDXFx1OEJFMlxcdTVCRkJcXHU5QTZGXFx1NURFMVxcdTZCODlcXHU2QzVCXFx1OEJBRFxcdThCQUZcXHU5MDBBXFx1OEZDNVxcdTUzOEJcXHU2MkJDXFx1OUUyNlxcdTlFMkRcXHU1NDQwXFx1NEUyQlxcdTgyQkRcXHU3MjU5XFx1ODY5Q1xcdTVEMTZcXHU4ODU5XFx1NkRBRlxcdTk2QzVcXHU1NEQxXFx1NEU5QVxcdThCQjZcXHU3MTA5XFx1NTRCRFxcdTk2MDlcXHU3MERGXFx1NkRGOVxcdTc2RDBcXHU0RTI1XFx1NzgxNFxcdTg3MTJcXHU1Q0E5XFx1NUVGNlxcdThBMDBcXHU5ODlDXFx1OTYwRVxcdTcwOEVcXHU2Q0JGXFx1NTk0NFxcdTYzQTlcXHU3NzNDXFx1ODg0RFxcdTZGMTRcXHU4MjczXFx1NTgzMFxcdTcxRDVcXHU1MzhDXFx1NzgxQVxcdTk2QzFcXHU1NTAxXFx1NUY2NlxcdTcxMzBcXHU1QkI0XFx1OEMxQVxcdTlBOENcXHU2QjgzXFx1NTkyRVxcdTlFMkZcXHU3OUU3XFx1Njc2OFxcdTYyNkNcXHU0RjZGXFx1NzVBMVxcdTdGOEFcXHU2RDBCXFx1OTYzM1xcdTZDMjdcXHU0RUYwXFx1NzVEMlxcdTUxN0JcXHU2ODM3XFx1NkYzRVxcdTkwODBcXHU4MTcwXFx1NTk5NlxcdTc0NzZcIl0sXG4gICAgICBbXCJkMjQwXCIsIFwiXFx1ODkzOFwiLCA4LCBcIlxcdTg5NDJcXHU4OTQzXFx1ODk0NVwiLCAyNCwgXCJcXHU4OTYwXCIsIDUsIFwiXFx1ODk2N1wiLCAxOSwgXCJcXHU4OTdDXCJdLFxuICAgICAgW1wiZDI4MFwiLCBcIlxcdTg5N0RcXHU4OTdFXFx1ODk4MFxcdTg5ODJcXHU4OTg0XFx1ODk4NVxcdTg5ODdcIiwgMjYsIFwiXFx1NjQ0N1xcdTVDMjdcXHU5MDY1XFx1N0E5MVxcdThDMjNcXHU1OURBXFx1NTRBQ1xcdTgyMDBcXHU4MzZGXFx1ODk4MVxcdTgwMDBcXHU2OTMwXFx1NTY0RVxcdTgwMzZcXHU3MjM3XFx1OTFDRVxcdTUxQjZcXHU0RTVGXFx1OTg3NVxcdTYzOTZcXHU0RTFBXFx1NTNGNlxcdTY2RjNcXHU4MTRCXFx1NTkxQ1xcdTZEQjJcXHU0RTAwXFx1NThGOVxcdTUzM0JcXHU2M0Q2XFx1OTRGMVxcdTRGOURcXHU0RjBBXFx1ODg2M1xcdTk4OTBcXHU1OTM3XFx1OTA1N1xcdTc5RkJcXHU0RUVBXFx1ODBGMFxcdTc1OTFcXHU2QzgyXFx1NUI5Q1xcdTU5RThcXHU1RjVEXFx1NjkwNVxcdTg2ODFcXHU1MDFBXFx1NURGMlxcdTRFNTlcXHU3N0UzXFx1NEVFNVxcdTgyN0FcXHU2MjkxXFx1NjYxM1xcdTkwOTFcXHU1Qzc5XFx1NEVCRlxcdTVGNzlcXHU4MUM2XFx1OTAzOFxcdTgwODRcXHU3NUFCXFx1NEVBNlxcdTg4RDRcXHU2MTBGXFx1NkJDNVxcdTVGQzZcXHU0RTQ5XFx1NzZDQVxcdTZFQTJcXHU4QkUzXFx1OEJBRVxcdThDMEFcXHU4QkQxXFx1NUYwMlxcdTdGRkNcXHU3RkNDXFx1N0VDRVxcdTgzMzVcXHU4MzZCXFx1NTZFMFxcdTZCQjdcXHU5N0YzXFx1OTYzNFxcdTU5RkJcXHU1NDFGXFx1OTRGNlxcdTZERUJcXHU1QkM1XFx1OTk2RVxcdTVDMzlcXHU1RjE1XFx1OTY5MFwiXSxcbiAgICAgIFtcImQzNDBcIiwgXCJcXHU4OUEyXCIsIDMwLCBcIlxcdTg5QzNcXHU4OUNEXFx1ODlEM1xcdTg5RDRcXHU4OUQ1XFx1ODlEN1xcdTg5RDhcXHU4OUQ5XFx1ODlEQlxcdTg5RERcXHU4OURGXFx1ODlFMFxcdTg5RTFcXHU4OUUyXFx1ODlFNFxcdTg5RTdcXHU4OUU4XFx1ODlFOVxcdTg5RUFcXHU4OUVDXFx1ODlFRFxcdTg5RUVcXHU4OUYwXFx1ODlGMVxcdTg5RjJcXHU4OUY0XCIsIDZdLFxuICAgICAgW1wiZDM4MFwiLCBcIlxcdTg5RkJcIiwgNCwgXCJcXHU4QTAxXCIsIDUsIFwiXFx1OEEwOFwiLCAyMSwgXCJcXHU1MzcwXFx1ODJGMVxcdTZBMzFcXHU1QTc0XFx1OUU3MFxcdTVFOTRcXHU3RjI4XFx1ODNCOVxcdTg0MjRcXHU4NDI1XFx1ODM2N1xcdTg3NDdcXHU4RkNFXFx1OEQ2MlxcdTc2QzhcXHU1RjcxXFx1OTg5NlxcdTc4NkNcXHU2NjIwXFx1NTRERlxcdTYyRTVcXHU0RjYzXFx1ODFDM1xcdTc1QzhcXHU1RUI4XFx1OTZDRFxcdThFMEFcXHU4NkY5XFx1NTQ4RlxcdTZDRjNcXHU2RDhDXFx1NkMzOFxcdTYwN0ZcXHU1MkM3XFx1NzUyOFxcdTVFN0RcXHU0RjE4XFx1NjBBMFxcdTVGRTdcXHU1QzI0XFx1NzUzMVxcdTkwQUVcXHU5NEMwXFx1NzJCOVxcdTZDQjlcXHU2RTM4XFx1OTE0OVxcdTY3MDlcXHU1M0NCXFx1NTNGM1xcdTRGNTFcXHU5MUM5XFx1OEJGMVxcdTUzQzhcXHU1RTdDXFx1OEZDMlxcdTZERTRcXHU0RThFXFx1NzZDMlxcdTY5ODZcXHU4NjVFXFx1NjExQVxcdTgyMDZcXHU0RjU5XFx1NEZERVxcdTkwM0VcXHU5QzdDXFx1NjEwOVxcdTZFMURcXHU2RTE0XFx1OTY4NVxcdTRFODhcXHU1QTMxXFx1OTZFOFxcdTRFMEVcXHU1QzdGXFx1NzlCOVxcdTVCODdcXHU4QkVEXFx1N0ZCRFxcdTczODlcXHU1N0RGXFx1ODI4QlxcdTkwQzFcXHU1NDAxXFx1OTA0N1xcdTU1QkJcXHU1Q0VBXFx1NUZBMVxcdTYxMDhcXHU2QjMyXFx1NzJGMVxcdTgwQjJcXHU4QTg5XCJdLFxuICAgICAgW1wiZDQ0MFwiLCBcIlxcdThBMUVcIiwgMzEsIFwiXFx1OEEzRlwiLCA4LCBcIlxcdThBNDlcIiwgMjFdLFxuICAgICAgW1wiZDQ4MFwiLCBcIlxcdThBNUZcIiwgMjUsIFwiXFx1OEE3QVwiLCA2LCBcIlxcdTZENzRcXHU1QkQzXFx1ODhENVxcdTk4ODRcXHU4QzZCXFx1OUE2RFxcdTlFMzNcXHU2RTBBXFx1NTFBNFxcdTUxNDNcXHU1N0EzXFx1ODg4MVxcdTUzOUZcXHU2M0Y0XFx1OEY5NVxcdTU2RURcXHU1NDU4XFx1NTcwNlxcdTczM0ZcXHU2RTkwXFx1N0YxOFxcdThGRENcXHU4MkQxXFx1NjEzRlxcdTYwMjhcXHU5NjYyXFx1NjZGMFxcdTdFQTZcXHU4RDhBXFx1OERDM1xcdTk0QTVcXHU1Q0IzXFx1N0NBNFxcdTY3MDhcXHU2MEE2XFx1OTYwNVxcdTgwMThcXHU0RTkxXFx1OTBFN1xcdTUzMDBcXHU5NjY4XFx1NTE0MVxcdThGRDBcXHU4NTc0XFx1OTE1RFxcdTY2NTVcXHU5N0Y1XFx1NUI1NVxcdTUzMURcXHU3ODM4XFx1Njc0MlxcdTY4M0RcXHU1NEM5XFx1NzA3RVxcdTVCQjBcXHU4RjdEXFx1NTE4RFxcdTU3MjhcXHU1NEIxXFx1NjUxMlxcdTY2ODJcXHU4RDVFXFx1OEQ0M1xcdTgxMEZcXHU4NDZDXFx1OTA2RFxcdTdDREZcXHU1MUZGXFx1ODVGQlxcdTY3QTNcXHU2NUU5XFx1NkZBMVxcdTg2QTRcXHU4RTgxXFx1NTY2QVxcdTkwMjBcXHU3NjgyXFx1NzA3NlxcdTcxRTVcXHU4RDIzXFx1NjJFOVxcdTUyMTlcXHU2Q0ZEXFx1OEQzQ1xcdTYwMEVcXHU1ODlFXFx1NjE4RVxcdTY2RkVcXHU4RDYwXFx1NjI0RVxcdTU1QjNcXHU2RTIzXFx1NjcyRFxcdThGNjdcIl0sXG4gICAgICBbXCJkNTQwXCIsIFwiXFx1OEE4MVwiLCA3LCBcIlxcdThBOEJcIiwgNywgXCJcXHU4QTk0XCIsIDQ2XSxcbiAgICAgIFtcImQ1ODBcIiwgXCJcXHU4QUMzXCIsIDMyLCBcIlxcdTk0RTFcXHU5NUY4XFx1NzcyOFxcdTY4MDVcXHU2OUE4XFx1NTQ4QlxcdTRFNERcXHU3MEI4XFx1OEJDOFxcdTY0NThcXHU2NThCXFx1NUI4NVxcdTdBODRcXHU1MDNBXFx1NUJFOFxcdTc3QkJcXHU2QkUxXFx1OEE3OVxcdTdDOThcXHU2Q0JFXFx1NzZDRlxcdTY1QTlcXHU4Rjk3XFx1NUQyRFxcdTVDNTVcXHU4NjM4XFx1NjgwOFxcdTUzNjBcXHU2MjE4XFx1N0FEOVxcdTZFNUJcXHU3RUZEXFx1NkExRlxcdTdBRTBcXHU1RjcwXFx1NkYzM1xcdTVGMjBcXHU2MzhDXFx1NkRBOFxcdTY3NTZcXHU0RTA4XFx1NUUxMFxcdThEMjZcXHU0RUQ3XFx1ODBDMFxcdTc2MzRcXHU5NjlDXFx1NjJEQlxcdTY2MkRcXHU2MjdFXFx1NkNCQ1xcdThENzVcXHU3MTY3XFx1N0Y2OVxcdTUxNDZcXHU4MDg3XFx1NTNFQ1xcdTkwNkVcXHU2Mjk4XFx1NTRGMlxcdTg2RjBcXHU4Rjk5XFx1ODAwNVxcdTk1MTdcXHU4NTE3XFx1OEZEOVxcdTZENTlcXHU3M0NEXFx1NjU5RlxcdTc3MUZcXHU3NTA0XFx1NzgyN1xcdTgxRkJcXHU4RDFFXFx1OTQ4OFxcdTRGQTZcXHU2Nzk1XFx1NzVCOVxcdThCQ0FcXHU5NzA3XFx1NjMyRlxcdTk1NDdcXHU5NjM1XFx1ODRCOFxcdTYzMjNcXHU3NzQxXFx1NUY4MVxcdTcyRjBcXHU0RTg5XFx1NjAxNFxcdTY1NzRcXHU2MkVGXFx1NkI2M1xcdTY1M0ZcIl0sXG4gICAgICBbXCJkNjQwXCIsIFwiXFx1OEFFNFwiLCAzNCwgXCJcXHU4QjA4XCIsIDI3XSxcbiAgICAgIFtcImQ2ODBcIiwgXCJcXHU4QjI0XFx1OEIyNVxcdThCMjdcIiwgMzAsIFwiXFx1NUUyN1xcdTc1QzdcXHU5MEQxXFx1OEJDMVxcdTgyOURcXHU2NzlEXFx1NjUyRlxcdTU0MzFcXHU4NzE4XFx1NzdFNVxcdTgwQTJcXHU4MTAyXFx1NkM0MVxcdTRFNEJcXHU3RUM3XFx1ODA0Q1xcdTc2RjRcXHU2OTBEXFx1NkI5NlxcdTYyNjdcXHU1MDNDXFx1NEY4NFxcdTU3NDBcXHU2MzA3XFx1NkI2MlxcdThEQkVcXHU1M0VBXFx1NjVFOFxcdTdFQjhcXHU1RkQ3XFx1NjMxQVxcdTYzQjdcXHU4MUYzXFx1ODFGNFxcdTdGNkVcXHU1RTFDXFx1NUNEOVxcdTUyMzZcXHU2NjdBXFx1NzlFOVxcdTdBMUFcXHU4RDI4XFx1NzA5OVxcdTc1RDRcXHU2RURFXFx1NkNCQlxcdTdBOTJcXHU0RTJEXFx1NzZDNVxcdTVGRTBcXHU5NDlGXFx1ODg3N1xcdTdFQzhcXHU3OUNEXFx1ODBCRlxcdTkxQ0RcXHU0RUYyXFx1NEYxN1xcdTgyMUZcXHU1NDY4XFx1NURERVxcdTZEMzJcXHU4QkNDXFx1N0NBNVxcdThGNzRcXHU4MDk4XFx1NUUxQVxcdTU0OTJcXHU3NkIxXFx1NUI5OVxcdTY2M0NcXHU5QUE0XFx1NzNFMFxcdTY4MkFcXHU4NkRCXFx1NjczMVxcdTczMkFcXHU4QkY4XFx1OEJEQlxcdTkwMTBcXHU3QUY5XFx1NzBEQlxcdTcxNkVcXHU2MkM0XFx1NzdBOVxcdTU2MzFcXHU0RTNCXFx1ODQ1N1xcdTY3RjFcXHU1MkE5XFx1ODZDMFxcdThEMkVcXHU5NEY4XFx1N0I1MVwiXSxcbiAgICAgIFtcImQ3NDBcIiwgXCJcXHU4QjQ2XCIsIDMxLCBcIlxcdThCNjdcIiwgNCwgXCJcXHU4QjZEXCIsIDI1XSxcbiAgICAgIFtcImQ3ODBcIiwgXCJcXHU4Qjg3XCIsIDI0LCBcIlxcdThCQUNcXHU4QkIxXFx1OEJCQlxcdThCQzdcXHU4QkQwXFx1OEJFQVxcdThDMDlcXHU4QzFFXFx1NEY0RlxcdTZDRThcXHU3OTVEXFx1OUE3QlxcdTYyOTNcXHU3MjJBXFx1NjJGRFxcdTRFMTNcXHU3ODE2XFx1OEY2Q1xcdTY0QjBcXHU4RDVBXFx1N0JDNlxcdTY4NjlcXHU1RTg0XFx1ODhDNVxcdTU5ODZcXHU2NDlFXFx1NThFRVxcdTcyQjZcXHU2OTBFXFx1OTUyNVxcdThGRkRcXHU4RDU4XFx1NTc2MFxcdTdGMDBcXHU4QzA2XFx1NTFDNlxcdTYzNDlcXHU2MkQ5XFx1NTM1M1xcdTY4NENcXHU3NDIyXFx1ODMwMVxcdTkxNENcXHU1NTQ0XFx1Nzc0MFxcdTcwN0NcXHU2RDRBXFx1NTE3OVxcdTU0QThcXHU4RDQ0XFx1NTlGRlxcdTZFQ0JcXHU2REM0XFx1NUI1Q1xcdTdEMkJcXHU0RUQ0XFx1N0M3RFxcdTZFRDNcXHU1QjUwXFx1ODFFQVxcdTZFMERcXHU1QjU3XFx1OUIwM1xcdTY4RDVcXHU4RTJBXFx1NUI5N1xcdTdFRkNcXHU2MDNCXFx1N0VCNVxcdTkwQjlcXHU4RDcwXFx1NTk0RlxcdTYzQ0RcXHU3OURGXFx1OERCM1xcdTUzNTJcXHU2NUNGXFx1Nzk1NlxcdThCQzVcXHU5NjNCXFx1N0VDNFxcdTk0QkJcXHU3RTgyXFx1NTYzNFxcdTkxODlcXHU2NzAwXFx1N0Y2QVxcdTVDMEFcXHU5MDc1XFx1NjYyOFxcdTVERTZcXHU0RjUwXFx1NjdERVxcdTUwNUFcXHU0RjVDXFx1NTc1MFxcdTVFQTdcIl0sXG4gICAgICBbXCJkODQwXCIsIFwiXFx1OEMzOFwiLCA4LCBcIlxcdThDNDJcXHU4QzQzXFx1OEM0NFxcdThDNDVcXHU4QzQ4XFx1OEM0QVxcdThDNEJcXHU4QzREXCIsIDcsIFwiXFx1OEM1NlxcdThDNTdcXHU4QzU4XFx1OEM1OVxcdThDNUJcIiwgNSwgXCJcXHU4QzYzXCIsIDYsIFwiXFx1OEM2Q1wiLCA2LCBcIlxcdThDNzRcXHU4Qzc1XFx1OEM3NlxcdThDNzdcXHU4QzdCXCIsIDYsIFwiXFx1OEM4M1xcdThDODRcXHU4Qzg2XFx1OEM4N1wiXSxcbiAgICAgIFtcImQ4ODBcIiwgXCJcXHU4Qzg4XFx1OEM4QlxcdThDOERcIiwgNiwgXCJcXHU4Qzk1XFx1OEM5NlxcdThDOTdcXHU4Qzk5XCIsIDIwLCBcIlxcdTRFOERcXHU0RTBDXFx1NTE0MFxcdTRFMTBcXHU1RUZGXFx1NTM0NVxcdTRFMTVcXHU0RTk4XFx1NEUxRVxcdTlCMzJcXHU1QjZDXFx1NTY2OVxcdTRFMjhcXHU3OUJBXFx1NEUzRlxcdTUzMTVcXHU0RTQ3XFx1NTkyRFxcdTcyM0JcXHU1MzZFXFx1NkMxMFxcdTU2REZcXHU4MEU0XFx1OTk5N1xcdTZCRDNcXHU3NzdFXFx1OUYxN1xcdTRFMzZcXHU0RTlGXFx1OUYxMFxcdTRFNUNcXHU0RTY5XFx1NEU5M1xcdTgyODhcXHU1QjVCXFx1NTU2Q1xcdTU2MEZcXHU0RUM0XFx1NTM4RFxcdTUzOURcXHU1M0EzXFx1NTNBNVxcdTUzQUVcXHU5NzY1XFx1OEQ1RFxcdTUzMUFcXHU1M0Y1XFx1NTMyNlxcdTUzMkVcXHU1MzNFXFx1OEQ1Q1xcdTUzNjZcXHU1MzYzXFx1NTIwMlxcdTUyMDhcXHU1MjBFXFx1NTIyRFxcdTUyMzNcXHU1MjNGXFx1NTI0MFxcdTUyNENcXHU1MjVFXFx1NTI2MVxcdTUyNUNcXHU4NEFGXFx1NTI3RFxcdTUyODJcXHU1MjgxXFx1NTI5MFxcdTUyOTNcXHU1MTgyXFx1N0Y1NFxcdTRFQkJcXHU0RUMzXFx1NEVDOVxcdTRFQzJcXHU0RUU4XFx1NEVFMVxcdTRFRUJcXHU0RURFXFx1NEYxQlxcdTRFRjNcXHU0RjIyXFx1NEY2NFxcdTRFRjVcXHU0RjI1XFx1NEYyN1xcdTRGMDlcXHU0RjJCXFx1NEY1RVxcdTRGNjdcXHU2NTM4XFx1NEY1QVxcdTRGNURcIl0sXG4gICAgICBbXCJkOTQwXCIsIFwiXFx1OENBRVwiLCA2Ml0sXG4gICAgICBbXCJkOTgwXCIsIFwiXFx1OENFRFwiLCAzMiwgXCJcXHU0RjVGXFx1NEY1N1xcdTRGMzJcXHU0RjNEXFx1NEY3NlxcdTRGNzRcXHU0RjkxXFx1NEY4OVxcdTRGODNcXHU0RjhGXFx1NEY3RVxcdTRGN0JcXHU0RkFBXFx1NEY3Q1xcdTRGQUNcXHU0Rjk0XFx1NEZFNlxcdTRGRThcXHU0RkVBXFx1NEZDNVxcdTRGREFcXHU0RkUzXFx1NEZEQ1xcdTRGRDFcXHU0RkRGXFx1NEZGOFxcdTUwMjlcXHU1MDRDXFx1NEZGM1xcdTUwMkNcXHU1MDBGXFx1NTAyRVxcdTUwMkRcXHU0RkZFXFx1NTAxQ1xcdTUwMENcXHU1MDI1XFx1NTAyOFxcdTUwN0VcXHU1MDQzXFx1NTA1NVxcdTUwNDhcXHU1MDRFXFx1NTA2Q1xcdTUwN0JcXHU1MEE1XFx1NTBBN1xcdTUwQTlcXHU1MEJBXFx1NTBENlxcdTUxMDZcXHU1MEVEXFx1NTBFQ1xcdTUwRTZcXHU1MEVFXFx1NTEwN1xcdTUxMEJcXHU0RUREXFx1NkMzRFxcdTRGNThcXHU0RjY1XFx1NEZDRVxcdTlGQTBcXHU2QzQ2XFx1N0M3NFxcdTUxNkVcXHU1REZEXFx1OUVDOVxcdTk5OThcXHU1MTgxXFx1NTkxNFxcdTUyRjlcXHU1MzBEXFx1OEEwN1xcdTUzMTBcXHU1MUVCXFx1NTkxOVxcdTUxNTVcXHU0RUEwXFx1NTE1NlxcdTRFQjNcXHU4ODZFXFx1ODhBNFxcdTRFQjVcXHU4MTE0XFx1ODhEMlxcdTc5ODBcXHU1QjM0XFx1ODgwM1xcdTdGQjhcXHU1MUFCXFx1NTFCMVxcdTUxQkRcXHU1MUJDXCJdLFxuICAgICAgW1wiZGE0MFwiLCBcIlxcdThEMEVcIiwgMTQsIFwiXFx1OEQyMFxcdThENTFcXHU4RDUyXFx1OEQ1N1xcdThENUZcXHU4RDY1XFx1OEQ2OFxcdThENjlcXHU4RDZBXFx1OEQ2Q1xcdThENkVcXHU4RDZGXFx1OEQ3MVxcdThENzJcXHU4RDc4XCIsIDgsIFwiXFx1OEQ4MlxcdThEODNcXHU4RDg2XFx1OEQ4N1xcdThEODhcXHU4RDg5XFx1OEQ4Q1wiLCA0LCBcIlxcdThEOTJcXHU4RDkzXFx1OEQ5NVwiLCA5LCBcIlxcdThEQTBcXHU4REExXCJdLFxuICAgICAgW1wiZGE4MFwiLCBcIlxcdThEQTJcXHU4REE0XCIsIDEyLCBcIlxcdThEQjJcXHU4REI2XFx1OERCN1xcdThEQjlcXHU4REJCXFx1OERCRFxcdThEQzBcXHU4REMxXFx1OERDMlxcdThEQzVcXHU4REM3XFx1OERDOFxcdThEQzlcXHU4RENBXFx1OERDRFxcdThERDBcXHU4REQyXFx1OEREM1xcdThERDRcXHU1MUM3XFx1NTE5NlxcdTUxQTJcXHU1MUE1XFx1OEJBMFxcdThCQTZcXHU4QkE3XFx1OEJBQVxcdThCQjRcXHU4QkI1XFx1OEJCN1xcdThCQzJcXHU4QkMzXFx1OEJDQlxcdThCQ0ZcXHU4QkNFXFx1OEJEMlxcdThCRDNcXHU4QkQ0XFx1OEJENlxcdThCRDhcXHU4QkQ5XFx1OEJEQ1xcdThCREZcXHU4QkUwXFx1OEJFNFxcdThCRThcXHU4QkU5XFx1OEJFRVxcdThCRjBcXHU4QkYzXFx1OEJGNlxcdThCRjlcXHU4QkZDXFx1OEJGRlxcdThDMDBcXHU4QzAyXFx1OEMwNFxcdThDMDdcXHU4QzBDXFx1OEMwRlxcdThDMTFcXHU4QzEyXFx1OEMxNFxcdThDMTVcXHU4QzE2XFx1OEMxOVxcdThDMUJcXHU4QzE4XFx1OEMxRFxcdThDMUZcXHU4QzIwXFx1OEMyMVxcdThDMjVcXHU4QzI3XFx1OEMyQVxcdThDMkJcXHU4QzJFXFx1OEMyRlxcdThDMzJcXHU4QzMzXFx1OEMzNVxcdThDMzZcXHU1MzY5XFx1NTM3QVxcdTk2MURcXHU5NjIyXFx1OTYyMVxcdTk2MzFcXHU5NjJBXFx1OTYzRFxcdTk2M0NcXHU5NjQyXFx1OTY0OVxcdTk2NTRcXHU5NjVGXFx1OTY2N1xcdTk2NkNcXHU5NjcyXFx1OTY3NFxcdTk2ODhcXHU5NjhEXFx1OTY5N1xcdTk2QjBcXHU5MDk3XFx1OTA5QlxcdTkwOURcXHU5MDk5XFx1OTBBQ1xcdTkwQTFcXHU5MEI0XFx1OTBCM1xcdTkwQjZcXHU5MEJBXCJdLFxuICAgICAgW1wiZGI0MFwiLCBcIlxcdThERDVcXHU4REQ4XFx1OEREOVxcdThERENcXHU4REUwXFx1OERFMVxcdThERTJcXHU4REU1XFx1OERFNlxcdThERTdcXHU4REU5XFx1OERFRFxcdThERUVcXHU4REYwXFx1OERGMVxcdThERjJcXHU4REY0XFx1OERGNlxcdThERkNcXHU4REZFXCIsIDYsIFwiXFx1OEUwNlxcdThFMDdcXHU4RTA4XFx1OEUwQlxcdThFMERcXHU4RTBFXFx1OEUxMFxcdThFMTFcXHU4RTEyXFx1OEUxM1xcdThFMTVcIiwgNywgXCJcXHU4RTIwXFx1OEUyMVxcdThFMjRcIiwgNCwgXCJcXHU4RTJCXFx1OEUyRFxcdThFMzBcXHU4RTMyXFx1OEUzM1xcdThFMzRcXHU4RTM2XFx1OEUzN1xcdThFMzhcXHU4RTNCXFx1OEUzQ1xcdThFM0VcIl0sXG4gICAgICBbXCJkYjgwXCIsIFwiXFx1OEUzRlxcdThFNDNcXHU4RTQ1XFx1OEU0NlxcdThFNENcIiwgNCwgXCJcXHU4RTUzXCIsIDUsIFwiXFx1OEU1QVwiLCAxMSwgXCJcXHU4RTY3XFx1OEU2OFxcdThFNkFcXHU4RTZCXFx1OEU2RVxcdThFNzFcXHU5MEI4XFx1OTBCMFxcdTkwQ0ZcXHU5MEM1XFx1OTBCRVxcdTkwRDBcXHU5MEM0XFx1OTBDN1xcdTkwRDNcXHU5MEU2XFx1OTBFMlxcdTkwRENcXHU5MEQ3XFx1OTBEQlxcdTkwRUJcXHU5MEVGXFx1OTBGRVxcdTkxMDRcXHU5MTIyXFx1OTExRVxcdTkxMjNcXHU5MTMxXFx1OTEyRlxcdTkxMzlcXHU5MTQzXFx1OTE0NlxcdTUyMERcXHU1OTQyXFx1NTJBMlxcdTUyQUNcXHU1MkFEXFx1NTJCRVxcdTU0RkZcXHU1MkQwXFx1NTJENlxcdTUyRjBcXHU1M0RGXFx1NzFFRVxcdTc3Q0RcXHU1RUY0XFx1NTFGNVxcdTUxRkNcXHU5QjJGXFx1NTNCNlxcdTVGMDFcXHU3NTVBXFx1NURFRlxcdTU3NENcXHU1N0E5XFx1NTdBMVxcdTU4N0VcXHU1OEJDXFx1NThDNVxcdTU4RDFcXHU1NzI5XFx1NTcyQ1xcdTU3MkFcXHU1NzMzXFx1NTczOVxcdTU3MkVcXHU1NzJGXFx1NTc1Q1xcdTU3M0JcXHU1NzQyXFx1NTc2OVxcdTU3ODVcXHU1NzZCXFx1NTc4NlxcdTU3N0NcXHU1NzdCXFx1NTc2OFxcdTU3NkRcXHU1Nzc2XFx1NTc3M1xcdTU3QURcXHU1N0E0XFx1NTc4Q1xcdTU3QjJcXHU1N0NGXFx1NTdBN1xcdTU3QjRcXHU1NzkzXFx1NTdBMFxcdTU3RDVcXHU1N0Q4XFx1NTdEQVxcdTU3RDlcXHU1N0QyXFx1NTdCOFxcdTU3RjRcXHU1N0VGXFx1NTdGOFxcdTU3RTRcXHU1N0REXCJdLFxuICAgICAgW1wiZGM0MFwiLCBcIlxcdThFNzNcXHU4RTc1XFx1OEU3N1wiLCA0LCBcIlxcdThFN0RcXHU4RTdFXFx1OEU4MFxcdThFODJcXHU4RTgzXFx1OEU4NFxcdThFODZcXHU4RTg4XCIsIDYsIFwiXFx1OEU5MVxcdThFOTJcXHU4RTkzXFx1OEU5NVwiLCA2LCBcIlxcdThFOURcXHU4RTlGXCIsIDExLCBcIlxcdThFQURcXHU4RUFFXFx1OEVCMFxcdThFQjFcXHU4RUIzXCIsIDYsIFwiXFx1OEVCQlwiLCA3XSxcbiAgICAgIFtcImRjODBcIiwgXCJcXHU4RUMzXCIsIDEwLCBcIlxcdThFQ0ZcIiwgMjEsIFwiXFx1NTgwQlxcdTU4MERcXHU1N0ZEXFx1NTdFRFxcdTU4MDBcXHU1ODFFXFx1NTgxOVxcdTU4NDRcXHU1ODIwXFx1NTg2NVxcdTU4NkNcXHU1ODgxXFx1NTg4OVxcdTU4OUFcXHU1ODgwXFx1OTlBOFxcdTlGMTlcXHU2MUZGXFx1ODI3OVxcdTgyN0RcXHU4MjdGXFx1ODI4RlxcdTgyOEFcXHU4MkE4XFx1ODI4NFxcdTgyOEVcXHU4MjkxXFx1ODI5N1xcdTgyOTlcXHU4MkFCXFx1ODJCOFxcdTgyQkVcXHU4MkIwXFx1ODJDOFxcdTgyQ0FcXHU4MkUzXFx1ODI5OFxcdTgyQjdcXHU4MkFFXFx1ODJDQlxcdTgyQ0NcXHU4MkMxXFx1ODJBOVxcdTgyQjRcXHU4MkExXFx1ODJBQVxcdTgyOUZcXHU4MkM0XFx1ODJDRVxcdTgyQTRcXHU4MkUxXFx1ODMwOVxcdTgyRjdcXHU4MkU0XFx1ODMwRlxcdTgzMDdcXHU4MkRDXFx1ODJGNFxcdTgyRDJcXHU4MkQ4XFx1ODMwQ1xcdTgyRkJcXHU4MkQzXFx1ODMxMVxcdTgzMUFcXHU4MzA2XFx1ODMxNFxcdTgzMTVcXHU4MkUwXFx1ODJENVxcdTgzMUNcXHU4MzUxXFx1ODM1QlxcdTgzNUNcXHU4MzA4XFx1ODM5MlxcdTgzM0NcXHU4MzM0XFx1ODMzMVxcdTgzOUJcXHU4MzVFXFx1ODMyRlxcdTgzNEZcXHU4MzQ3XFx1ODM0M1xcdTgzNUZcXHU4MzQwXFx1ODMxN1xcdTgzNjBcXHU4MzJEXFx1ODMzQVxcdTgzMzNcXHU4MzY2XFx1ODM2NVwiXSxcbiAgICAgIFtcImRkNDBcIiwgXCJcXHU4RUU1XCIsIDYyXSxcbiAgICAgIFtcImRkODBcIiwgXCJcXHU4RjI0XCIsIDMyLCBcIlxcdTgzNjhcXHU4MzFCXFx1ODM2OVxcdTgzNkNcXHU4MzZBXFx1ODM2RFxcdTgzNkVcXHU4M0IwXFx1ODM3OFxcdTgzQjNcXHU4M0I0XFx1ODNBMFxcdTgzQUFcXHU4MzkzXFx1ODM5Q1xcdTgzODVcXHU4MzdDXFx1ODNCNlxcdTgzQTlcXHU4MzdEXFx1ODNCOFxcdTgzN0JcXHU4Mzk4XFx1ODM5RVxcdTgzQThcXHU4M0JBXFx1ODNCQ1xcdTgzQzFcXHU4NDAxXFx1ODNFNVxcdTgzRDhcXHU1ODA3XFx1ODQxOFxcdTg0MEJcXHU4M0REXFx1ODNGRFxcdTgzRDZcXHU4NDFDXFx1ODQzOFxcdTg0MTFcXHU4NDA2XFx1ODNENFxcdTgzREZcXHU4NDBGXFx1ODQwM1xcdTgzRjhcXHU4M0Y5XFx1ODNFQVxcdTgzQzVcXHU4M0MwXFx1ODQyNlxcdTgzRjBcXHU4M0UxXFx1ODQ1Q1xcdTg0NTFcXHU4NDVBXFx1ODQ1OVxcdTg0NzNcXHU4NDg3XFx1ODQ4OFxcdTg0N0FcXHU4NDg5XFx1ODQ3OFxcdTg0M0NcXHU4NDQ2XFx1ODQ2OVxcdTg0NzZcXHU4NDhDXFx1ODQ4RVxcdTg0MzFcXHU4NDZEXFx1ODRDMVxcdTg0Q0RcXHU4NEQwXFx1ODRFNlxcdTg0QkRcXHU4NEQzXFx1ODRDQVxcdTg0QkZcXHU4NEJBXFx1ODRFMFxcdTg0QTFcXHU4NEI5XFx1ODRCNFxcdTg0OTdcXHU4NEU1XFx1ODRFM1xcdTg1MENcXHU3NTBEXFx1ODUzOFxcdTg0RjBcXHU4NTM5XFx1ODUxRlxcdTg1M0FcIl0sXG4gICAgICBbXCJkZTQwXCIsIFwiXFx1OEY0NVwiLCAzMiwgXCJcXHU4RjZBXFx1OEY4MFxcdThGOENcXHU4RjkyXFx1OEY5RFxcdThGQTBcXHU4RkExXFx1OEZBMlxcdThGQTRcXHU4RkE1XFx1OEZBNlxcdThGQTdcXHU4RkFBXFx1OEZBQ1xcdThGQURcXHU4RkFFXFx1OEZBRlxcdThGQjJcXHU4RkIzXFx1OEZCNFxcdThGQjVcXHU4RkI3XFx1OEZCOFxcdThGQkFcXHU4RkJCXFx1OEZCQ1xcdThGQkZcXHU4RkMwXFx1OEZDM1xcdThGQzZcIl0sXG4gICAgICBbXCJkZTgwXCIsIFwiXFx1OEZDOVwiLCA0LCBcIlxcdThGQ0ZcXHU4RkQyXFx1OEZENlxcdThGRDdcXHU4RkRBXFx1OEZFMFxcdThGRTFcXHU4RkUzXFx1OEZFN1xcdThGRUNcXHU4RkVGXFx1OEZGMVxcdThGRjJcXHU4RkY0XFx1OEZGNVxcdThGRjZcXHU4RkZBXFx1OEZGQlxcdThGRkNcXHU4RkZFXFx1OEZGRlxcdTkwMDdcXHU5MDA4XFx1OTAwQ1xcdTkwMEVcXHU5MDEzXFx1OTAxNVxcdTkwMThcXHU4NTU2XFx1ODUzQlxcdTg0RkZcXHU4NEZDXFx1ODU1OVxcdTg1NDhcXHU4NTY4XFx1ODU2NFxcdTg1NUVcXHU4NTdBXFx1NzdBMlxcdTg1NDNcXHU4NTcyXFx1ODU3QlxcdTg1QTRcXHU4NUE4XFx1ODU4N1xcdTg1OEZcXHU4NTc5XFx1ODVBRVxcdTg1OUNcXHU4NTg1XFx1ODVCOVxcdTg1QjdcXHU4NUIwXFx1ODVEM1xcdTg1QzFcXHU4NURDXFx1ODVGRlxcdTg2MjdcXHU4NjA1XFx1ODYyOVxcdTg2MTZcXHU4NjNDXFx1NUVGRVxcdTVGMDhcXHU1OTNDXFx1NTk0MVxcdTgwMzdcXHU1OTU1XFx1NTk1QVxcdTU5NThcXHU1MzBGXFx1NUMyMlxcdTVDMjVcXHU1QzJDXFx1NUMzNFxcdTYyNENcXHU2MjZBXFx1NjI5RlxcdTYyQkJcXHU2MkNBXFx1NjJEQVxcdTYyRDdcXHU2MkVFXFx1NjMyMlxcdTYyRjZcXHU2MzM5XFx1NjM0QlxcdTYzNDNcXHU2M0FEXFx1NjNGNlxcdTYzNzFcXHU2MzdBXFx1NjM4RVxcdTYzQjRcXHU2MzZEXFx1NjNBQ1xcdTYzOEFcXHU2MzY5XFx1NjNBRVxcdTYzQkNcXHU2M0YyXFx1NjNGOFxcdTYzRTBcXHU2M0ZGXFx1NjNDNFxcdTYzREVcXHU2M0NFXFx1NjQ1MlxcdTYzQzZcXHU2M0JFXFx1NjQ0NVxcdTY0NDFcXHU2NDBCXFx1NjQxQlxcdTY0MjBcXHU2NDBDXFx1NjQyNlxcdTY0MjFcXHU2NDVFXFx1NjQ4NFxcdTY0NkRcXHU2NDk2XCJdLFxuICAgICAgW1wiZGY0MFwiLCBcIlxcdTkwMTlcXHU5MDFDXFx1OTAyM1xcdTkwMjRcXHU5MDI1XFx1OTAyN1wiLCA1LCBcIlxcdTkwMzBcIiwgNCwgXCJcXHU5MDM3XFx1OTAzOVxcdTkwM0FcXHU5MDNEXFx1OTAzRlxcdTkwNDBcXHU5MDQzXFx1OTA0NVxcdTkwNDZcXHU5MDQ4XCIsIDQsIFwiXFx1OTA0RVxcdTkwNTRcXHU5MDU1XFx1OTA1NlxcdTkwNTlcXHU5MDVBXFx1OTA1Q1wiLCA1LCBcIlxcdTkwNjRcXHU5MDY2XFx1OTA2N1xcdTkwNjlcXHU5MDZBXFx1OTA2QlxcdTkwNkNcXHU5MDZGXCIsIDQsIFwiXFx1OTA3NlwiLCA2LCBcIlxcdTkwN0VcXHU5MDgxXCJdLFxuICAgICAgW1wiZGY4MFwiLCBcIlxcdTkwODRcXHU5MDg1XFx1OTA4NlxcdTkwODdcXHU5MDg5XFx1OTA4QVxcdTkwOENcIiwgNCwgXCJcXHU5MDkyXFx1OTA5NFxcdTkwOTZcXHU5MDk4XFx1OTA5QVxcdTkwOUNcXHU5MDlFXFx1OTA5RlxcdTkwQTBcXHU5MEE0XFx1OTBBNVxcdTkwQTdcXHU5MEE4XFx1OTBBOVxcdTkwQUJcXHU5MEFEXFx1OTBCMlxcdTkwQjdcXHU5MEJDXFx1OTBCRFxcdTkwQkZcXHU5MEMwXFx1NjQ3QVxcdTY0QjdcXHU2NEI4XFx1NjQ5OVxcdTY0QkFcXHU2NEMwXFx1NjREMFxcdTY0RDdcXHU2NEU0XFx1NjRFMlxcdTY1MDlcXHU2NTI1XFx1NjUyRVxcdTVGMEJcXHU1RkQyXFx1NzUxOVxcdTVGMTFcXHU1MzVGXFx1NTNGMVxcdTUzRkRcXHU1M0U5XFx1NTNFOFxcdTUzRkJcXHU1NDEyXFx1NTQxNlxcdTU0MDZcXHU1NDRCXFx1NTQ1MlxcdTU0NTNcXHU1NDU0XFx1NTQ1NlxcdTU0NDNcXHU1NDIxXFx1NTQ1N1xcdTU0NTlcXHU1NDIzXFx1NTQzMlxcdTU0ODJcXHU1NDk0XFx1NTQ3N1xcdTU0NzFcXHU1NDY0XFx1NTQ5QVxcdTU0OUJcXHU1NDg0XFx1NTQ3NlxcdTU0NjZcXHU1NDlEXFx1NTREMFxcdTU0QURcXHU1NEMyXFx1NTRCNFxcdTU0RDJcXHU1NEE3XFx1NTRBNlxcdTU0RDNcXHU1NEQ0XFx1NTQ3MlxcdTU0QTNcXHU1NEQ1XFx1NTRCQlxcdTU0QkZcXHU1NENDXFx1NTREOVxcdTU0REFcXHU1NERDXFx1NTRBOVxcdTU0QUFcXHU1NEE0XFx1NTRERFxcdTU0Q0ZcXHU1NERFXFx1NTUxQlxcdTU0RTdcXHU1NTIwXFx1NTRGRFxcdTU1MTRcXHU1NEYzXFx1NTUyMlxcdTU1MjNcXHU1NTBGXFx1NTUxMVxcdTU1MjdcXHU1NTJBXFx1NTU2N1xcdTU1OEZcXHU1NUI1XFx1NTU0OVxcdTU1NkRcXHU1NTQxXFx1NTU1NVxcdTU1M0ZcXHU1NTUwXFx1NTUzQ1wiXSxcbiAgICAgIFtcImUwNDBcIiwgXCJcXHU5MEMyXFx1OTBDM1xcdTkwQzZcXHU5MEM4XFx1OTBDOVxcdTkwQ0JcXHU5MENDXFx1OTBDRFxcdTkwRDJcXHU5MEQ0XFx1OTBENVxcdTkwRDZcXHU5MEQ4XFx1OTBEOVxcdTkwREFcXHU5MERFXFx1OTBERlxcdTkwRTBcXHU5MEUzXFx1OTBFNFxcdTkwRTVcXHU5MEU5XFx1OTBFQVxcdTkwRUNcXHU5MEVFXFx1OTBGMFxcdTkwRjFcXHU5MEYyXFx1OTBGM1xcdTkwRjVcXHU5MEY2XFx1OTBGN1xcdTkwRjlcXHU5MEZBXFx1OTBGQlxcdTkwRkNcXHU5MEZGXFx1OTEwMFxcdTkxMDFcXHU5MTAzXFx1OTEwNVwiLCAxOSwgXCJcXHU5MTFBXFx1OTExQlxcdTkxMUNcIl0sXG4gICAgICBbXCJlMDgwXCIsIFwiXFx1OTExRFxcdTkxMUZcXHU5MTIwXFx1OTEyMVxcdTkxMjRcIiwgMTAsIFwiXFx1OTEzMFxcdTkxMzJcIiwgNiwgXCJcXHU5MTNBXCIsIDgsIFwiXFx1OTE0NFxcdTU1MzdcXHU1NTU2XFx1NTU3NVxcdTU1NzZcXHU1NTc3XFx1NTUzM1xcdTU1MzBcXHU1NTVDXFx1NTU4QlxcdTU1RDJcXHU1NTgzXFx1NTVCMVxcdTU1QjlcXHU1NTg4XFx1NTU4MVxcdTU1OUZcXHU1NTdFXFx1NTVENlxcdTU1OTFcXHU1NTdCXFx1NTVERlxcdTU1QkRcXHU1NUJFXFx1NTU5NFxcdTU1OTlcXHU1NUVBXFx1NTVGN1xcdTU1QzlcXHU1NjFGXFx1NTVEMVxcdTU1RUJcXHU1NUVDXFx1NTVENFxcdTU1RTZcXHU1NUREXFx1NTVDNFxcdTU1RUZcXHU1NUU1XFx1NTVGMlxcdTU1RjNcXHU1NUNDXFx1NTVDRFxcdTU1RThcXHU1NUY1XFx1NTVFNFxcdThGOTRcXHU1NjFFXFx1NTYwOFxcdTU2MENcXHU1NjAxXFx1NTYyNFxcdTU2MjNcXHU1NUZFXFx1NTYwMFxcdTU2MjdcXHU1NjJEXFx1NTY1OFxcdTU2MzlcXHU1NjU3XFx1NTYyQ1xcdTU2NERcXHU1NjYyXFx1NTY1OVxcdTU2NUNcXHU1NjRDXFx1NTY1NFxcdTU2ODZcXHU1NjY0XFx1NTY3MVxcdTU2NkJcXHU1NjdCXFx1NTY3Q1xcdTU2ODVcXHU1NjkzXFx1NTZBRlxcdTU2RDRcXHU1NkQ3XFx1NTZERFxcdTU2RTFcXHU1NkY1XFx1NTZFQlxcdTU2RjlcXHU1NkZGXFx1NTcwNFxcdTU3MEFcXHU1NzA5XFx1NTcxQ1xcdTVFMEZcXHU1RTE5XFx1NUUxNFxcdTVFMTFcXHU1RTMxXFx1NUUzQlxcdTVFM0NcIl0sXG4gICAgICBbXCJlMTQwXCIsIFwiXFx1OTE0NVxcdTkxNDdcXHU5MTQ4XFx1OTE1MVxcdTkxNTNcXHU5MTU0XFx1OTE1NVxcdTkxNTZcXHU5MTU4XFx1OTE1OVxcdTkxNUJcXHU5MTVDXFx1OTE1RlxcdTkxNjBcXHU5MTY2XFx1OTE2N1xcdTkxNjhcXHU5MTZCXFx1OTE2RFxcdTkxNzNcXHU5MTdBXFx1OTE3QlxcdTkxN0NcXHU5MTgwXCIsIDQsIFwiXFx1OTE4NlxcdTkxODhcXHU5MThBXFx1OTE4RVxcdTkxOEZcXHU5MTkzXCIsIDYsIFwiXFx1OTE5Q1wiLCA1LCBcIlxcdTkxQTRcIiwgNSwgXCJcXHU5MUFCXFx1OTFBQ1xcdTkxQjBcXHU5MUIxXFx1OTFCMlxcdTkxQjNcXHU5MUI2XFx1OTFCN1xcdTkxQjhcXHU5MUI5XFx1OTFCQlwiXSxcbiAgICAgIFtcImUxODBcIiwgXCJcXHU5MUJDXCIsIDEwLCBcIlxcdTkxQzhcXHU5MUNCXFx1OTFEMFxcdTkxRDJcIiwgOSwgXCJcXHU5MUREXCIsIDgsIFwiXFx1NUUzN1xcdTVFNDRcXHU1RTU0XFx1NUU1QlxcdTVFNUVcXHU1RTYxXFx1NUM4Q1xcdTVDN0FcXHU1QzhEXFx1NUM5MFxcdTVDOTZcXHU1Qzg4XFx1NUM5OFxcdTVDOTlcXHU1QzkxXFx1NUM5QVxcdTVDOUNcXHU1Q0I1XFx1NUNBMlxcdTVDQkRcXHU1Q0FDXFx1NUNBQlxcdTVDQjFcXHU1Q0EzXFx1NUNDMVxcdTVDQjdcXHU1Q0M0XFx1NUNEMlxcdTVDRTRcXHU1Q0NCXFx1NUNFNVxcdTVEMDJcXHU1RDAzXFx1NUQyN1xcdTVEMjZcXHU1RDJFXFx1NUQyNFxcdTVEMUVcXHU1RDA2XFx1NUQxQlxcdTVENThcXHU1RDNFXFx1NUQzNFxcdTVEM0RcXHU1RDZDXFx1NUQ1QlxcdTVENkZcXHU1RDVEXFx1NUQ2QlxcdTVENEJcXHU1RDRBXFx1NUQ2OVxcdTVENzRcXHU1RDgyXFx1NUQ5OVxcdTVEOURcXHU4QzczXFx1NURCN1xcdTVEQzVcXHU1RjczXFx1NUY3N1xcdTVGODJcXHU1Rjg3XFx1NUY4OVxcdTVGOENcXHU1Rjk1XFx1NUY5OVxcdTVGOUNcXHU1RkE4XFx1NUZBRFxcdTVGQjVcXHU1RkJDXFx1ODg2MlxcdTVGNjFcXHU3MkFEXFx1NzJCMFxcdTcyQjRcXHU3MkI3XFx1NzJCOFxcdTcyQzNcXHU3MkMxXFx1NzJDRVxcdTcyQ0RcXHU3MkQyXFx1NzJFOFxcdTcyRUZcXHU3MkU5XFx1NzJGMlxcdTcyRjRcXHU3MkY3XFx1NzMwMVxcdTcyRjNcXHU3MzAzXFx1NzJGQVwiXSxcbiAgICAgIFtcImUyNDBcIiwgXCJcXHU5MUU2XCIsIDYyXSxcbiAgICAgIFtcImUyODBcIiwgXCJcXHU5MjI1XCIsIDMyLCBcIlxcdTcyRkJcXHU3MzE3XFx1NzMxM1xcdTczMjFcXHU3MzBBXFx1NzMxRVxcdTczMURcXHU3MzE1XFx1NzMyMlxcdTczMzlcXHU3MzI1XFx1NzMyQ1xcdTczMzhcXHU3MzMxXFx1NzM1MFxcdTczNERcXHU3MzU3XFx1NzM2MFxcdTczNkNcXHU3MzZGXFx1NzM3RVxcdTgyMUJcXHU1OTI1XFx1OThFN1xcdTU5MjRcXHU1OTAyXFx1OTk2M1xcdTk5NjdcIiwgNSwgXCJcXHU5OTc0XFx1OTk3N1xcdTk5N0RcXHU5OTgwXFx1OTk4NFxcdTk5ODdcXHU5OThBXFx1OTk4RFxcdTk5OTBcXHU5OTkxXFx1OTk5M1xcdTk5OTRcXHU5OTk1XFx1NUU4MFxcdTVFOTFcXHU1RThCXFx1NUU5NlxcdTVFQTVcXHU1RUEwXFx1NUVCOVxcdTVFQjVcXHU1RUJFXFx1NUVCM1xcdThENTNcXHU1RUQyXFx1NUVEMVxcdTVFREJcXHU1RUU4XFx1NUVFQVxcdTgxQkFcXHU1RkM0XFx1NUZDOVxcdTVGRDZcXHU1RkNGXFx1NjAwM1xcdTVGRUVcXHU2MDA0XFx1NUZFMVxcdTVGRTRcXHU1RkZFXFx1NjAwNVxcdTYwMDZcXHU1RkVBXFx1NUZFRFxcdTVGRjhcXHU2MDE5XFx1NjAzNVxcdTYwMjZcXHU2MDFCXFx1NjAwRlxcdTYwMERcXHU2MDI5XFx1NjAyQlxcdTYwMEFcXHU2MDNGXFx1NjAyMVxcdTYwNzhcXHU2MDc5XFx1NjA3QlxcdTYwN0FcXHU2MDQyXCJdLFxuICAgICAgW1wiZTM0MFwiLCBcIlxcdTkyNDZcIiwgNDUsIFwiXFx1OTI3NVwiLCAxNl0sXG4gICAgICBbXCJlMzgwXCIsIFwiXFx1OTI4NlwiLCA3LCBcIlxcdTkyOEZcIiwgMjQsIFwiXFx1NjA2QVxcdTYwN0RcXHU2MDk2XFx1NjA5QVxcdTYwQURcXHU2MDlEXFx1NjA4M1xcdTYwOTJcXHU2MDhDXFx1NjA5QlxcdTYwRUNcXHU2MEJCXFx1NjBCMVxcdTYwRERcXHU2MEQ4XFx1NjBDNlxcdTYwREFcXHU2MEI0XFx1NjEyMFxcdTYxMjZcXHU2MTE1XFx1NjEyM1xcdTYwRjRcXHU2MTAwXFx1NjEwRVxcdTYxMkJcXHU2MTRBXFx1NjE3NVxcdTYxQUNcXHU2MTk0XFx1NjFBN1xcdTYxQjdcXHU2MUQ0XFx1NjFGNVxcdTVGRERcXHU5NkIzXFx1OTVFOVxcdTk1RUJcXHU5NUYxXFx1OTVGM1xcdTk1RjVcXHU5NUY2XFx1OTVGQ1xcdTk1RkVcXHU5NjAzXFx1OTYwNFxcdTk2MDZcXHU5NjA4XFx1OTYwQVxcdTk2MEJcXHU5NjBDXFx1OTYwRFxcdTk2MEZcXHU5NjEyXFx1OTYxNVxcdTk2MTZcXHU5NjE3XFx1OTYxOVxcdTk2MUFcXHU0RTJDXFx1NzIzRlxcdTYyMTVcXHU2QzM1XFx1NkM1NFxcdTZDNUNcXHU2QzRBXFx1NkNBM1xcdTZDODVcXHU2QzkwXFx1NkM5NFxcdTZDOENcXHU2QzY4XFx1NkM2OVxcdTZDNzRcXHU2Qzc2XFx1NkM4NlxcdTZDQTlcXHU2Q0QwXFx1NkNENFxcdTZDQURcXHU2Q0Y3XFx1NkNGOFxcdTZDRjFcXHU2Q0Q3XFx1NkNCMlxcdTZDRTBcXHU2Q0Q2XFx1NkNGQVxcdTZDRUJcXHU2Q0VFXFx1NkNCMVxcdTZDRDNcXHU2Q0VGXFx1NkNGRVwiXSxcbiAgICAgIFtcImU0NDBcIiwgXCJcXHU5MkE4XCIsIDUsIFwiXFx1OTJBRlwiLCAyNCwgXCJcXHU5MkM5XCIsIDMxXSxcbiAgICAgIFtcImU0ODBcIiwgXCJcXHU5MkU5XCIsIDMyLCBcIlxcdTZEMzlcXHU2RDI3XFx1NkQwQ1xcdTZENDNcXHU2RDQ4XFx1NkQwN1xcdTZEMDRcXHU2RDE5XFx1NkQwRVxcdTZEMkJcXHU2RDREXFx1NkQyRVxcdTZEMzVcXHU2RDFBXFx1NkQ0RlxcdTZENTJcXHU2RDU0XFx1NkQzM1xcdTZEOTFcXHU2RDZGXFx1NkQ5RVxcdTZEQTBcXHU2RDVFXFx1NkQ5M1xcdTZEOTRcXHU2RDVDXFx1NkQ2MFxcdTZEN0NcXHU2RDYzXFx1NkUxQVxcdTZEQzdcXHU2REM1XFx1NkRERVxcdTZFMEVcXHU2REJGXFx1NkRFMFxcdTZFMTFcXHU2REU2XFx1NkRERFxcdTZERDlcXHU2RTE2XFx1NkRBQlxcdTZFMENcXHU2REFFXFx1NkUyQlxcdTZFNkVcXHU2RTRFXFx1NkU2QlxcdTZFQjJcXHU2RTVGXFx1NkU4NlxcdTZFNTNcXHU2RTU0XFx1NkUzMlxcdTZFMjVcXHU2RTQ0XFx1NkVERlxcdTZFQjFcXHU2RTk4XFx1NkVFMFxcdTZGMkRcXHU2RUUyXFx1NkVBNVxcdTZFQTdcXHU2RUJEXFx1NkVCQlxcdTZFQjdcXHU2RUQ3XFx1NkVCNFxcdTZFQ0ZcXHU2RThGXFx1NkVDMlxcdTZFOUZcXHU2RjYyXFx1NkY0NlxcdTZGNDdcXHU2RjI0XFx1NkYxNVxcdTZFRjlcXHU2RjJGXFx1NkYzNlxcdTZGNEJcXHU2Rjc0XFx1NkYyQVxcdTZGMDlcXHU2RjI5XFx1NkY4OVxcdTZGOERcXHU2RjhDXFx1NkY3OFxcdTZGNzJcXHU2RjdDXFx1NkY3QVxcdTZGRDFcIl0sXG4gICAgICBbXCJlNTQwXCIsIFwiXFx1OTMwQVwiLCA1MSwgXCJcXHU5MzNGXCIsIDEwXSxcbiAgICAgIFtcImU1ODBcIiwgXCJcXHU5MzRBXCIsIDMxLCBcIlxcdTkzNkJcXHU2RkM5XFx1NkZBN1xcdTZGQjlcXHU2RkI2XFx1NkZDMlxcdTZGRTFcXHU2RkVFXFx1NkZERVxcdTZGRTBcXHU2RkVGXFx1NzAxQVxcdTcwMjNcXHU3MDFCXFx1NzAzOVxcdTcwMzVcXHU3MDRGXFx1NzA1RVxcdTVCODBcXHU1Qjg0XFx1NUI5NVxcdTVCOTNcXHU1QkE1XFx1NUJCOFxcdTc1MkZcXHU5QTlFXFx1NjQzNFxcdTVCRTRcXHU1QkVFXFx1ODkzMFxcdTVCRjBcXHU4RTQ3XFx1OEIwN1xcdThGQjZcXHU4RkQzXFx1OEZENVxcdThGRTVcXHU4RkVFXFx1OEZFNFxcdThGRTlcXHU4RkU2XFx1OEZGM1xcdThGRThcXHU5MDA1XFx1OTAwNFxcdTkwMEJcXHU5MDI2XFx1OTAxMVxcdTkwMERcXHU5MDE2XFx1OTAyMVxcdTkwMzVcXHU5MDM2XFx1OTAyRFxcdTkwMkZcXHU5MDQ0XFx1OTA1MVxcdTkwNTJcXHU5MDUwXFx1OTA2OFxcdTkwNThcXHU5MDYyXFx1OTA1QlxcdTY2QjlcXHU5MDc0XFx1OTA3RFxcdTkwODJcXHU5MDg4XFx1OTA4M1xcdTkwOEJcXHU1RjUwXFx1NUY1N1xcdTVGNTZcXHU1RjU4XFx1NUMzQlxcdTU0QUJcXHU1QzUwXFx1NUM1OVxcdTVCNzFcXHU1QzYzXFx1NUM2NlxcdTdGQkNcXHU1RjJBXFx1NUYyOVxcdTVGMkRcXHU4Mjc0XFx1NUYzQ1xcdTlCM0JcXHU1QzZFXFx1NTk4MVxcdTU5ODNcXHU1OThEXFx1NTlBOVxcdTU5QUFcXHU1OUEzXCJdLFxuICAgICAgW1wiZTY0MFwiLCBcIlxcdTkzNkNcIiwgMzQsIFwiXFx1OTM5MFwiLCAyN10sXG4gICAgICBbXCJlNjgwXCIsIFwiXFx1OTNBQ1wiLCAyOSwgXCJcXHU5M0NCXFx1OTNDQ1xcdTkzQ0RcXHU1OTk3XFx1NTlDQVxcdTU5QUJcXHU1OTlFXFx1NTlBNFxcdTU5RDJcXHU1OUIyXFx1NTlBRlxcdTU5RDdcXHU1OUJFXFx1NUEwNVxcdTVBMDZcXHU1OUREXFx1NUEwOFxcdTU5RTNcXHU1OUQ4XFx1NTlGOVxcdTVBMENcXHU1QTA5XFx1NUEzMlxcdTVBMzRcXHU1QTExXFx1NUEyM1xcdTVBMTNcXHU1QTQwXFx1NUE2N1xcdTVBNEFcXHU1QTU1XFx1NUEzQ1xcdTVBNjJcXHU1QTc1XFx1ODBFQ1xcdTVBQUFcXHU1QTlCXFx1NUE3N1xcdTVBN0FcXHU1QUJFXFx1NUFFQlxcdTVBQjJcXHU1QUQyXFx1NUFENFxcdTVBQjhcXHU1QUUwXFx1NUFFM1xcdTVBRjFcXHU1QUQ2XFx1NUFFNlxcdTVBRDhcXHU1QURDXFx1NUIwOVxcdTVCMTdcXHU1QjE2XFx1NUIzMlxcdTVCMzdcXHU1QjQwXFx1NUMxNVxcdTVDMUNcXHU1QjVBXFx1NUI2NVxcdTVCNzNcXHU1QjUxXFx1NUI1M1xcdTVCNjJcXHU5QTc1XFx1OUE3N1xcdTlBNzhcXHU5QTdBXFx1OUE3RlxcdTlBN0RcXHU5QTgwXFx1OUE4MVxcdTlBODVcXHU5QTg4XFx1OUE4QVxcdTlBOTBcXHU5QTkyXFx1OUE5M1xcdTlBOTZcXHU5QTk4XFx1OUE5QlxcdTlBOUNcXHU5QTlEXFx1OUE5RlxcdTlBQTBcXHU5QUEyXFx1OUFBM1xcdTlBQTVcXHU5QUE3XFx1N0U5RlxcdTdFQTFcXHU3RUEzXFx1N0VBNVxcdTdFQThcXHU3RUE5XCJdLFxuICAgICAgW1wiZTc0MFwiLCBcIlxcdTkzQ0VcIiwgNywgXCJcXHU5M0Q3XCIsIDU0XSxcbiAgICAgIFtcImU3ODBcIiwgXCJcXHU5NDBFXCIsIDMyLCBcIlxcdTdFQURcXHU3RUIwXFx1N0VCRVxcdTdFQzBcXHU3RUMxXFx1N0VDMlxcdTdFQzlcXHU3RUNCXFx1N0VDQ1xcdTdFRDBcXHU3RUQ0XFx1N0VEN1xcdTdFREJcXHU3RUUwXFx1N0VFMVxcdTdFRThcXHU3RUVCXFx1N0VFRVxcdTdFRUZcXHU3RUYxXFx1N0VGMlxcdTdGMERcXHU3RUY2XFx1N0VGQVxcdTdFRkJcXHU3RUZFXFx1N0YwMVxcdTdGMDJcXHU3RjAzXFx1N0YwN1xcdTdGMDhcXHU3RjBCXFx1N0YwQ1xcdTdGMEZcXHU3RjExXFx1N0YxMlxcdTdGMTdcXHU3RjE5XFx1N0YxQ1xcdTdGMUJcXHU3RjFGXFx1N0YyMVwiLCA2LCBcIlxcdTdGMkFcXHU3RjJCXFx1N0YyQ1xcdTdGMkRcXHU3RjJGXCIsIDQsIFwiXFx1N0YzNVxcdTVFN0FcXHU3NTdGXFx1NUREQlxcdTc1M0VcXHU5MDk1XFx1NzM4RVxcdTczOTFcXHU3M0FFXFx1NzNBMlxcdTczOUZcXHU3M0NGXFx1NzNDMlxcdTczRDFcXHU3M0I3XFx1NzNCM1xcdTczQzBcXHU3M0M5XFx1NzNDOFxcdTczRTVcXHU3M0Q5XFx1OTg3Q1xcdTc0MEFcXHU3M0U5XFx1NzNFN1xcdTczREVcXHU3M0JBXFx1NzNGMlxcdTc0MEZcXHU3NDJBXFx1NzQ1QlxcdTc0MjZcXHU3NDI1XFx1NzQyOFxcdTc0MzBcXHU3NDJFXFx1NzQyQ1wiXSxcbiAgICAgIFtcImU4NDBcIiwgXCJcXHU5NDJGXCIsIDE0LCBcIlxcdTk0M0ZcIiwgNDMsIFwiXFx1OTQ2Q1xcdTk0NkRcXHU5NDZFXFx1OTQ2RlwiXSxcbiAgICAgIFtcImU4ODBcIiwgXCJcXHU5NDcwXCIsIDIwLCBcIlxcdTk0OTFcXHU5NDk2XFx1OTQ5OFxcdTk0QzdcXHU5NENGXFx1OTREM1xcdTk0RDRcXHU5NERBXFx1OTRFNlxcdTk0RkJcXHU5NTFDXFx1OTUyMFxcdTc0MUJcXHU3NDFBXFx1NzQ0MVxcdTc0NUNcXHU3NDU3XFx1NzQ1NVxcdTc0NTlcXHU3NDc3XFx1NzQ2RFxcdTc0N0VcXHU3NDlDXFx1NzQ4RVxcdTc0ODBcXHU3NDgxXFx1NzQ4N1xcdTc0OEJcXHU3NDlFXFx1NzRBOFxcdTc0QTlcXHU3NDkwXFx1NzRBN1xcdTc0RDJcXHU3NEJBXFx1OTdFQVxcdTk3RUJcXHU5N0VDXFx1Njc0Q1xcdTY3NTNcXHU2NzVFXFx1Njc0OFxcdTY3NjlcXHU2N0E1XFx1Njc4N1xcdTY3NkFcXHU2NzczXFx1Njc5OFxcdTY3QTdcXHU2Nzc1XFx1NjdBOFxcdTY3OUVcXHU2N0FEXFx1Njc4QlxcdTY3NzdcXHU2NzdDXFx1NjdGMFxcdTY4MDlcXHU2N0Q4XFx1NjgwQVxcdTY3RTlcXHU2N0IwXFx1NjgwQ1xcdTY3RDlcXHU2N0I1XFx1NjdEQVxcdTY3QjNcXHU2N0REXFx1NjgwMFxcdTY3QzNcXHU2N0I4XFx1NjdFMlxcdTY4MEVcXHU2N0MxXFx1NjdGRFxcdTY4MzJcXHU2ODMzXFx1Njg2MFxcdTY4NjFcXHU2ODRFXFx1Njg2MlxcdTY4NDRcXHU2ODY0XFx1Njg4M1xcdTY4MURcXHU2ODU1XFx1Njg2NlxcdTY4NDFcXHU2ODY3XFx1Njg0MFxcdTY4M0VcXHU2ODRBXFx1Njg0OVxcdTY4MjlcXHU2OEI1XFx1Njg4RlxcdTY4NzRcXHU2ODc3XFx1Njg5M1xcdTY4NkJcXHU2OEMyXFx1Njk2RVxcdTY4RkNcXHU2OTFGXFx1NjkyMFxcdTY4RjlcIl0sXG4gICAgICBbXCJlOTQwXCIsIFwiXFx1OTUyN1xcdTk1MzNcXHU5NTNEXFx1OTU0M1xcdTk1NDhcXHU5NTRCXFx1OTU1NVxcdTk1NUFcXHU5NTYwXFx1OTU2RVxcdTk1NzRcXHU5NTc1XFx1OTU3N1wiLCA3LCBcIlxcdTk1ODBcIiwgNDJdLFxuICAgICAgW1wiZTk4MFwiLCBcIlxcdTk1QUJcIiwgMzIsIFwiXFx1NjkyNFxcdTY4RjBcXHU2OTBCXFx1NjkwMVxcdTY5NTdcXHU2OEUzXFx1NjkxMFxcdTY5NzFcXHU2OTM5XFx1Njk2MFxcdTY5NDJcXHU2OTVEXFx1Njk4NFxcdTY5NkJcXHU2OTgwXFx1Njk5OFxcdTY5NzhcXHU2OTM0XFx1NjlDQ1xcdTY5ODdcXHU2OTg4XFx1NjlDRVxcdTY5ODlcXHU2OTY2XFx1Njk2M1xcdTY5NzlcXHU2OTlCXFx1NjlBN1xcdTY5QkJcXHU2OUFCXFx1NjlBRFxcdTY5RDRcXHU2OUIxXFx1NjlDMVxcdTY5Q0FcXHU2OURGXFx1Njk5NVxcdTY5RTBcXHU2OThEXFx1NjlGRlxcdTZBMkZcXHU2OUVEXFx1NkExN1xcdTZBMThcXHU2QTY1XFx1NjlGMlxcdTZBNDRcXHU2QTNFXFx1NkFBMFxcdTZBNTBcXHU2QTVCXFx1NkEzNVxcdTZBOEVcXHU2QTc5XFx1NkEzRFxcdTZBMjhcXHU2QTU4XFx1NkE3Q1xcdTZBOTFcXHU2QTkwXFx1NkFBOVxcdTZBOTdcXHU2QUFCXFx1NzMzN1xcdTczNTJcXHU2QjgxXFx1NkI4MlxcdTZCODdcXHU2Qjg0XFx1NkI5MlxcdTZCOTNcXHU2QjhEXFx1NkI5QVxcdTZCOUJcXHU2QkExXFx1NkJBQVxcdThGNkJcXHU4RjZEXFx1OEY3MVxcdThGNzJcXHU4RjczXFx1OEY3NVxcdThGNzZcXHU4Rjc4XFx1OEY3N1xcdThGNzlcXHU4RjdBXFx1OEY3Q1xcdThGN0VcXHU4RjgxXFx1OEY4MlxcdThGODRcXHU4Rjg3XFx1OEY4QlwiXSxcbiAgICAgIFtcImVhNDBcIiwgXCJcXHU5NUNDXCIsIDI3LCBcIlxcdTk1RUNcXHU5NUZGXFx1OTYwN1xcdTk2MTNcXHU5NjE4XFx1OTYxQlxcdTk2MUVcXHU5NjIwXFx1OTYyM1wiLCA2LCBcIlxcdTk2MkJcXHU5NjJDXFx1OTYyRFxcdTk2MkZcXHU5NjMwXFx1OTYzN1xcdTk2MzhcXHU5NjM5XFx1OTYzQVxcdTk2M0VcXHU5NjQxXFx1OTY0M1xcdTk2NEFcXHU5NjRFXFx1OTY0RlxcdTk2NTFcXHU5NjUyXFx1OTY1M1xcdTk2NTZcXHU5NjU3XCJdLFxuICAgICAgW1wiZWE4MFwiLCBcIlxcdTk2NThcXHU5NjU5XFx1OTY1QVxcdTk2NUNcXHU5NjVEXFx1OTY1RVxcdTk2NjBcXHU5NjYzXFx1OTY2NVxcdTk2NjZcXHU5NjZCXFx1OTY2RFwiLCA0LCBcIlxcdTk2NzNcXHU5Njc4XCIsIDEyLCBcIlxcdTk2ODdcXHU5Njg5XFx1OTY4QVxcdThGOERcXHU4RjhFXFx1OEY4RlxcdThGOThcXHU4RjlBXFx1OEVDRVxcdTYyMEJcXHU2MjE3XFx1NjIxQlxcdTYyMUZcXHU2MjIyXFx1NjIyMVxcdTYyMjVcXHU2MjI0XFx1NjIyQ1xcdTgxRTdcXHU3NEVGXFx1NzRGNFxcdTc0RkZcXHU3NTBGXFx1NzUxMVxcdTc1MTNcXHU2NTM0XFx1NjVFRVxcdTY1RUZcXHU2NUYwXFx1NjYwQVxcdTY2MTlcXHU2NzcyXFx1NjYwM1xcdTY2MTVcXHU2NjAwXFx1NzA4NVxcdTY2RjdcXHU2NjFEXFx1NjYzNFxcdTY2MzFcXHU2NjM2XFx1NjYzNVxcdTgwMDZcXHU2NjVGXFx1NjY1NFxcdTY2NDFcXHU2NjRGXFx1NjY1NlxcdTY2NjFcXHU2NjU3XFx1NjY3N1xcdTY2ODRcXHU2NjhDXFx1NjZBN1xcdTY2OURcXHU2NkJFXFx1NjZEQlxcdTY2RENcXHU2NkU2XFx1NjZFOVxcdThEMzJcXHU4RDMzXFx1OEQzNlxcdThEM0JcXHU4RDNEXFx1OEQ0MFxcdThENDVcXHU4RDQ2XFx1OEQ0OFxcdThENDlcXHU4RDQ3XFx1OEQ0RFxcdThENTVcXHU4RDU5XFx1ODlDN1xcdTg5Q0FcXHU4OUNCXFx1ODlDQ1xcdTg5Q0VcXHU4OUNGXFx1ODlEMFxcdTg5RDFcXHU3MjZFXFx1NzI5RlxcdTcyNURcXHU3MjY2XFx1NzI2RlxcdTcyN0VcXHU3MjdGXFx1NzI4NFxcdTcyOEJcXHU3MjhEXFx1NzI4RlxcdTcyOTJcXHU2MzA4XFx1NjMzMlxcdTYzQjBcIl0sXG4gICAgICBbXCJlYjQwXCIsIFwiXFx1OTY4Q1xcdTk2OEVcXHU5NjkxXFx1OTY5MlxcdTk2OTNcXHU5Njk1XFx1OTY5NlxcdTk2OUFcXHU5NjlCXFx1OTY5RFwiLCA5LCBcIlxcdTk2QThcIiwgNywgXCJcXHU5NkIxXFx1OTZCMlxcdTk2QjRcXHU5NkI1XFx1OTZCN1xcdTk2QjhcXHU5NkJBXFx1OTZCQlxcdTk2QkZcXHU5NkMyXFx1OTZDM1xcdTk2QzhcXHU5NkNBXFx1OTZDQlxcdTk2RDBcXHU5NkQxXFx1OTZEM1xcdTk2RDRcXHU5NkQ2XCIsIDksIFwiXFx1OTZFMVwiLCA2LCBcIlxcdTk2RUJcIl0sXG4gICAgICBbXCJlYjgwXCIsIFwiXFx1OTZFQ1xcdTk2RURcXHU5NkVFXFx1OTZGMFxcdTk2RjFcXHU5NkYyXFx1OTZGNFxcdTk2RjVcXHU5NkY4XFx1OTZGQVxcdTk2RkJcXHU5NkZDXFx1OTZGRFxcdTk2RkZcXHU5NzAyXFx1OTcwM1xcdTk3MDVcXHU5NzBBXFx1OTcwQlxcdTk3MENcXHU5NzEwXFx1OTcxMVxcdTk3MTJcXHU5NzE0XFx1OTcxNVxcdTk3MTdcIiwgNCwgXCJcXHU5NzFEXFx1OTcxRlxcdTk3MjBcXHU2NDNGXFx1NjREOFxcdTgwMDRcXHU2QkVBXFx1NkJGM1xcdTZCRkRcXHU2QkY1XFx1NkJGOVxcdTZDMDVcXHU2QzA3XFx1NkMwNlxcdTZDMERcXHU2QzE1XFx1NkMxOFxcdTZDMTlcXHU2QzFBXFx1NkMyMVxcdTZDMjlcXHU2QzI0XFx1NkMyQVxcdTZDMzJcXHU2NTM1XFx1NjU1NVxcdTY1NkJcXHU3MjREXFx1NzI1MlxcdTcyNTZcXHU3MjMwXFx1ODY2MlxcdTUyMTZcXHU4MDlGXFx1ODA5Q1xcdTgwOTNcXHU4MEJDXFx1NjcwQVxcdTgwQkRcXHU4MEIxXFx1ODBBQlxcdTgwQURcXHU4MEI0XFx1ODBCN1xcdTgwRTdcXHU4MEU4XFx1ODBFOVxcdTgwRUFcXHU4MERCXFx1ODBDMlxcdTgwQzRcXHU4MEQ5XFx1ODBDRFxcdTgwRDdcXHU2NzEwXFx1ODBERFxcdTgwRUJcXHU4MEYxXFx1ODBGNFxcdTgwRURcXHU4MTBEXFx1ODEwRVxcdTgwRjJcXHU4MEZDXFx1NjcxNVxcdTgxMTJcXHU4QzVBXFx1ODEzNlxcdTgxMUVcXHU4MTJDXFx1ODExOFxcdTgxMzJcXHU4MTQ4XFx1ODE0Q1xcdTgxNTNcXHU4MTc0XFx1ODE1OVxcdTgxNUFcXHU4MTcxXFx1ODE2MFxcdTgxNjlcXHU4MTdDXFx1ODE3RFxcdTgxNkRcXHU4MTY3XFx1NTg0RFxcdTVBQjVcXHU4MTg4XFx1ODE4MlxcdTgxOTFcXHU2RUQ1XFx1ODFBM1xcdTgxQUFcXHU4MUNDXFx1NjcyNlxcdTgxQ0FcXHU4MUJCXCJdLFxuICAgICAgW1wiZWM0MFwiLCBcIlxcdTk3MjFcIiwgOCwgXCJcXHU5NzJCXFx1OTcyQ1xcdTk3MkVcXHU5NzJGXFx1OTczMVxcdTk3MzNcIiwgNCwgXCJcXHU5NzNBXFx1OTczQlxcdTk3M0NcXHU5NzNEXFx1OTczRlwiLCAxOCwgXCJcXHU5NzU0XFx1OTc1NVxcdTk3NTdcXHU5NzU4XFx1OTc1QVxcdTk3NUNcXHU5NzVEXFx1OTc1RlxcdTk3NjNcXHU5NzY0XFx1OTc2NlxcdTk3NjdcXHU5NzY4XFx1OTc2QVwiLCA3XSxcbiAgICAgIFtcImVjODBcIiwgXCJcXHU5NzcyXFx1OTc3NVxcdTk3NzdcIiwgNCwgXCJcXHU5NzdEXCIsIDcsIFwiXFx1OTc4NlwiLCA0LCBcIlxcdTk3OENcXHU5NzhFXFx1OTc4RlxcdTk3OTBcXHU5NzkzXFx1OTc5NVxcdTk3OTZcXHU5Nzk3XFx1OTc5OVwiLCA0LCBcIlxcdTgxQzFcXHU4MUE2XFx1NkIyNFxcdTZCMzdcXHU2QjM5XFx1NkI0M1xcdTZCNDZcXHU2QjU5XFx1OThEMVxcdTk4RDJcXHU5OEQzXFx1OThENVxcdTk4RDlcXHU5OERBXFx1NkJCM1xcdTVGNDBcXHU2QkMyXFx1ODlGM1xcdTY1OTBcXHU5RjUxXFx1NjU5M1xcdTY1QkNcXHU2NUM2XFx1NjVDNFxcdTY1QzNcXHU2NUNDXFx1NjVDRVxcdTY1RDJcXHU2NUQ2XFx1NzA4MFxcdTcwOUNcXHU3MDk2XFx1NzA5RFxcdTcwQkJcXHU3MEMwXFx1NzBCN1xcdTcwQUJcXHU3MEIxXFx1NzBFOFxcdTcwQ0FcXHU3MTEwXFx1NzExM1xcdTcxMTZcXHU3MTJGXFx1NzEzMVxcdTcxNzNcXHU3MTVDXFx1NzE2OFxcdTcxNDVcXHU3MTcyXFx1NzE0QVxcdTcxNzhcXHU3MTdBXFx1NzE5OFxcdTcxQjNcXHU3MUI1XFx1NzFBOFxcdTcxQTBcXHU3MUUwXFx1NzFENFxcdTcxRTdcXHU3MUY5XFx1NzIxRFxcdTcyMjhcXHU3MDZDXFx1NzExOFxcdTcxNjZcXHU3MUI5XFx1NjIzRVxcdTYyM0RcXHU2MjQzXFx1NjI0OFxcdTYyNDlcXHU3OTNCXFx1Nzk0MFxcdTc5NDZcXHU3OTQ5XFx1Nzk1QlxcdTc5NUNcXHU3OTUzXFx1Nzk1QVxcdTc5NjJcXHU3OTU3XFx1Nzk2MFxcdTc5NkZcXHU3OTY3XFx1Nzk3QVxcdTc5ODVcXHU3OThBXFx1Nzk5QVxcdTc5QTdcXHU3OUIzXFx1NUZEMVxcdTVGRDBcIl0sXG4gICAgICBbXCJlZDQwXCIsIFwiXFx1OTc5RVxcdTk3OUZcXHU5N0ExXFx1OTdBMlxcdTk3QTRcIiwgNiwgXCJcXHU5N0FDXFx1OTdBRVxcdTk3QjBcXHU5N0IxXFx1OTdCM1xcdTk3QjVcIiwgNDZdLFxuICAgICAgW1wiZWQ4MFwiLCBcIlxcdTk3RTRcXHU5N0U1XFx1OTdFOFxcdTk3RUVcIiwgNCwgXCJcXHU5N0Y0XFx1OTdGN1wiLCAyMywgXCJcXHU2MDNDXFx1NjA1RFxcdTYwNUFcXHU2MDY3XFx1NjA0MVxcdTYwNTlcXHU2MDYzXFx1NjBBQlxcdTYxMDZcXHU2MTBEXFx1NjE1RFxcdTYxQTlcXHU2MTlEXFx1NjFDQlxcdTYxRDFcXHU2MjA2XFx1ODA4MFxcdTgwN0ZcXHU2QzkzXFx1NkNGNlxcdTZERkNcXHU3N0Y2XFx1NzdGOFxcdTc4MDBcXHU3ODA5XFx1NzgxN1xcdTc4MThcXHU3ODExXFx1NjVBQlxcdTc4MkRcXHU3ODFDXFx1NzgxRFxcdTc4MzlcXHU3ODNBXFx1NzgzQlxcdTc4MUZcXHU3ODNDXFx1NzgyNVxcdTc4MkNcXHU3ODIzXFx1NzgyOVxcdTc4NEVcXHU3ODZEXFx1Nzg1NlxcdTc4NTdcXHU3ODI2XFx1Nzg1MFxcdTc4NDdcXHU3ODRDXFx1Nzg2QVxcdTc4OUJcXHU3ODkzXFx1Nzg5QVxcdTc4ODdcXHU3ODlDXFx1NzhBMVxcdTc4QTNcXHU3OEIyXFx1NzhCOVxcdTc4QTVcXHU3OEQ0XFx1NzhEOVxcdTc4QzlcXHU3OEVDXFx1NzhGMlxcdTc5MDVcXHU3OEY0XFx1NzkxM1xcdTc5MjRcXHU3OTFFXFx1NzkzNFxcdTlGOUJcXHU5RUY5XFx1OUVGQlxcdTlFRkNcXHU3NkYxXFx1NzcwNFxcdTc3MERcXHU3NkY5XFx1NzcwN1xcdTc3MDhcXHU3NzFBXFx1NzcyMlxcdTc3MTlcXHU3NzJEXFx1NzcyNlxcdTc3MzVcXHU3NzM4XFx1Nzc1MFxcdTc3NTFcXHU3NzQ3XFx1Nzc0M1xcdTc3NUFcXHU3NzY4XCJdLFxuICAgICAgW1wiZWU0MFwiLCBcIlxcdTk4MEZcIiwgNjJdLFxuICAgICAgW1wiZWU4MFwiLCBcIlxcdTk4NEVcIiwgMzIsIFwiXFx1Nzc2MlxcdTc3NjVcXHU3NzdGXFx1Nzc4RFxcdTc3N0RcXHU3NzgwXFx1Nzc4Q1xcdTc3OTFcXHU3NzlGXFx1NzdBMFxcdTc3QjBcXHU3N0I1XFx1NzdCRFxcdTc1M0FcXHU3NTQwXFx1NzU0RVxcdTc1NEJcXHU3NTQ4XFx1NzU1QlxcdTc1NzJcXHU3NTc5XFx1NzU4M1xcdTdGNThcXHU3RjYxXFx1N0Y1RlxcdThBNDhcXHU3RjY4XFx1N0Y3NFxcdTdGNzFcXHU3Rjc5XFx1N0Y4MVxcdTdGN0VcXHU3NkNEXFx1NzZFNVxcdTg4MzJcXHU5NDg1XFx1OTQ4NlxcdTk0ODdcXHU5NDhCXFx1OTQ4QVxcdTk0OENcXHU5NDhEXFx1OTQ4RlxcdTk0OTBcXHU5NDk0XFx1OTQ5N1xcdTk0OTVcXHU5NDlBXFx1OTQ5QlxcdTk0OUNcXHU5NEEzXFx1OTRBNFxcdTk0QUJcXHU5NEFBXFx1OTRBRFxcdTk0QUNcXHU5NEFGXFx1OTRCMFxcdTk0QjJcXHU5NEI0XFx1OTRCNlwiLCA0LCBcIlxcdTk0QkNcXHU5NEJEXFx1OTRCRlxcdTk0QzRcXHU5NEM4XCIsIDYsIFwiXFx1OTREMFxcdTk0RDFcXHU5NEQyXFx1OTRENVxcdTk0RDZcXHU5NEQ3XFx1OTREOVxcdTk0RDhcXHU5NERCXFx1OTRERVxcdTk0REZcXHU5NEUwXFx1OTRFMlxcdTk0RTRcXHU5NEU1XFx1OTRFN1xcdTk0RThcXHU5NEVBXCJdLFxuICAgICAgW1wiZWY0MFwiLCBcIlxcdTk4NkZcIiwgNSwgXCJcXHU5ODhCXFx1OTg4RVxcdTk4OTJcXHU5ODk1XFx1OTg5OVxcdTk4QTNcXHU5OEE4XCIsIDM3LCBcIlxcdTk4Q0ZcXHU5OEQwXFx1OThENFxcdTk4RDZcXHU5OEQ3XFx1OThEQlxcdTk4RENcXHU5OEREXFx1OThFMFwiLCA0XSxcbiAgICAgIFtcImVmODBcIiwgXCJcXHU5OEU1XFx1OThFNlxcdTk4RTlcIiwgMzAsIFwiXFx1OTRFOVxcdTk0RUJcXHU5NEVFXFx1OTRFRlxcdTk0RjNcXHU5NEY0XFx1OTRGNVxcdTk0RjdcXHU5NEY5XFx1OTRGQ1xcdTk0RkRcXHU5NEZGXFx1OTUwM1xcdTk1MDJcXHU5NTA2XFx1OTUwN1xcdTk1MDlcXHU5NTBBXFx1OTUwRFxcdTk1MEVcXHU5NTBGXFx1OTUxMlwiLCA0LCBcIlxcdTk1MThcXHU5NTFCXFx1OTUxRFxcdTk1MUVcXHU5NTFGXFx1OTUyMlxcdTk1MkFcXHU5NTJCXFx1OTUyOVxcdTk1MkNcXHU5NTMxXFx1OTUzMlxcdTk1MzRcXHU5NTM2XFx1OTUzN1xcdTk1MzhcXHU5NTNDXFx1OTUzRVxcdTk1M0ZcXHU5NTQyXFx1OTUzNVxcdTk1NDRcXHU5NTQ1XFx1OTU0NlxcdTk1NDlcXHU5NTRDXFx1OTU0RVxcdTk1NEZcXHU5NTUyXFx1OTU1M1xcdTk1NTRcXHU5NTU2XFx1OTU1N1xcdTk1NThcXHU5NTU5XFx1OTU1QlxcdTk1NUVcXHU5NTVGXFx1OTU1RFxcdTk1NjFcXHU5NTYyXFx1OTU2NFwiLCA4LCBcIlxcdTk1NkZcXHU5NTcxXFx1OTU3MlxcdTk1NzNcXHU5NTNBXFx1NzdFN1xcdTc3RUNcXHU5NkM5XFx1NzlENVxcdTc5RURcXHU3OUUzXFx1NzlFQlxcdTdBMDZcXHU1RDQ3XFx1N0EwM1xcdTdBMDJcXHU3QTFFXFx1N0ExNFwiXSxcbiAgICAgIFtcImYwNDBcIiwgXCJcXHU5OTA4XCIsIDQsIFwiXFx1OTkwRVxcdTk5MEZcXHU5OTExXCIsIDI4LCBcIlxcdTk5MkZcIiwgMjZdLFxuICAgICAgW1wiZjA4MFwiLCBcIlxcdTk5NEFcIiwgOSwgXCJcXHU5OTU2XCIsIDEyLCBcIlxcdTk5NjRcXHU5OTY2XFx1OTk3M1xcdTk5NzhcXHU5OTc5XFx1OTk3QlxcdTk5N0VcXHU5OTgyXFx1OTk4M1xcdTk5ODlcXHU3QTM5XFx1N0EzN1xcdTdBNTFcXHU5RUNGXFx1OTlBNVxcdTdBNzBcXHU3Njg4XFx1NzY4RVxcdTc2OTNcXHU3Njk5XFx1NzZBNFxcdTc0REVcXHU3NEUwXFx1NzUyQ1xcdTlFMjBcXHU5RTIyXFx1OUUyOFwiLCA0LCBcIlxcdTlFMzJcXHU5RTMxXFx1OUUzNlxcdTlFMzhcXHU5RTM3XFx1OUUzOVxcdTlFM0FcXHU5RTNFXFx1OUU0MVxcdTlFNDJcXHU5RTQ0XFx1OUU0NlxcdTlFNDdcXHU5RTQ4XFx1OUU0OVxcdTlFNEJcXHU5RTRDXFx1OUU0RVxcdTlFNTFcXHU5RTU1XFx1OUU1N1xcdTlFNUFcXHU5RTVCXFx1OUU1Q1xcdTlFNUVcXHU5RTYzXFx1OUU2NlwiLCA2LCBcIlxcdTlFNzFcXHU5RTZEXFx1OUU3M1xcdTc1OTJcXHU3NTk0XFx1NzU5NlxcdTc1QTBcXHU3NTlEXFx1NzVBQ1xcdTc1QTNcXHU3NUIzXFx1NzVCNFxcdTc1QjhcXHU3NUM0XFx1NzVCMVxcdTc1QjBcXHU3NUMzXFx1NzVDMlxcdTc1RDZcXHU3NUNEXFx1NzVFM1xcdTc1RThcXHU3NUU2XFx1NzVFNFxcdTc1RUJcXHU3NUU3XFx1NzYwM1xcdTc1RjFcXHU3NUZDXFx1NzVGRlxcdTc2MTBcXHU3NjAwXFx1NzYwNVxcdTc2MENcXHU3NjE3XFx1NzYwQVxcdTc2MjVcXHU3NjE4XFx1NzYxNVxcdTc2MTlcIl0sXG4gICAgICBbXCJmMTQwXCIsIFwiXFx1OTk4Q1xcdTk5OEVcXHU5OTlBXCIsIDEwLCBcIlxcdTk5QTZcXHU5OUE3XFx1OTlBOVwiLCA0N10sXG4gICAgICBbXCJmMTgwXCIsIFwiXFx1OTlEOVwiLCAzMiwgXCJcXHU3NjFCXFx1NzYzQ1xcdTc2MjJcXHU3NjIwXFx1NzY0MFxcdTc2MkRcXHU3NjMwXFx1NzYzRlxcdTc2MzVcXHU3NjQzXFx1NzYzRVxcdTc2MzNcXHU3NjREXFx1NzY1RVxcdTc2NTRcXHU3NjVDXFx1NzY1NlxcdTc2NkJcXHU3NjZGXFx1N0ZDQVxcdTdBRTZcXHU3QTc4XFx1N0E3OVxcdTdBODBcXHU3QTg2XFx1N0E4OFxcdTdBOTVcXHU3QUE2XFx1N0FBMFxcdTdBQUNcXHU3QUE4XFx1N0FBRFxcdTdBQjNcXHU4ODY0XFx1ODg2OVxcdTg4NzJcXHU4ODdEXFx1ODg3RlxcdTg4ODJcXHU4OEEyXFx1ODhDNlxcdTg4QjdcXHU4OEJDXFx1ODhDOVxcdTg4RTJcXHU4OENFXFx1ODhFM1xcdTg4RTVcXHU4OEYxXFx1ODkxQVxcdTg4RkNcXHU4OEU4XFx1ODhGRVxcdTg4RjBcXHU4OTIxXFx1ODkxOVxcdTg5MTNcXHU4OTFCXFx1ODkwQVxcdTg5MzRcXHU4OTJCXFx1ODkzNlxcdTg5NDFcXHU4OTY2XFx1ODk3QlxcdTc1OEJcXHU4MEU1XFx1NzZCMlxcdTc2QjRcXHU3N0RDXFx1ODAxMlxcdTgwMTRcXHU4MDE2XFx1ODAxQ1xcdTgwMjBcXHU4MDIyXFx1ODAyNVxcdTgwMjZcXHU4MDI3XFx1ODAyOVxcdTgwMjhcXHU4MDMxXFx1ODAwQlxcdTgwMzVcXHU4MDQzXFx1ODA0NlxcdTgwNERcXHU4MDUyXFx1ODA2OVxcdTgwNzFcXHU4OTgzXFx1OTg3OFxcdTk4ODBcXHU5ODgzXCJdLFxuICAgICAgW1wiZjI0MFwiLCBcIlxcdTk5RkFcIiwgNjJdLFxuICAgICAgW1wiZjI4MFwiLCBcIlxcdTlBMzlcIiwgMzIsIFwiXFx1OTg4OVxcdTk4OENcXHU5ODhEXFx1OTg4RlxcdTk4OTRcXHU5ODlBXFx1OTg5QlxcdTk4OUVcXHU5ODlGXFx1OThBMVxcdTk4QTJcXHU5OEE1XFx1OThBNlxcdTg2NERcXHU4NjU0XFx1ODY2Q1xcdTg2NkVcXHU4NjdGXFx1ODY3QVxcdTg2N0NcXHU4NjdCXFx1ODZBOFxcdTg2OERcXHU4NjhCXFx1ODZBQ1xcdTg2OURcXHU4NkE3XFx1ODZBM1xcdTg2QUFcXHU4NjkzXFx1ODZBOVxcdTg2QjZcXHU4NkM0XFx1ODZCNVxcdTg2Q0VcXHU4NkIwXFx1ODZCQVxcdTg2QjFcXHU4NkFGXFx1ODZDOVxcdTg2Q0ZcXHU4NkI0XFx1ODZFOVxcdTg2RjFcXHU4NkYyXFx1ODZFRFxcdTg2RjNcXHU4NkQwXFx1ODcxM1xcdTg2REVcXHU4NkY0XFx1ODZERlxcdTg2RDhcXHU4NkQxXFx1ODcwM1xcdTg3MDdcXHU4NkY4XFx1ODcwOFxcdTg3MEFcXHU4NzBEXFx1ODcwOVxcdTg3MjNcXHU4NzNCXFx1ODcxRVxcdTg3MjVcXHU4NzJFXFx1ODcxQVxcdTg3M0VcXHU4NzQ4XFx1ODczNFxcdTg3MzFcXHU4NzI5XFx1ODczN1xcdTg3M0ZcXHU4NzgyXFx1ODcyMlxcdTg3N0RcXHU4NzdFXFx1ODc3QlxcdTg3NjBcXHU4NzcwXFx1ODc0Q1xcdTg3NkVcXHU4NzhCXFx1ODc1M1xcdTg3NjNcXHU4NzdDXFx1ODc2NFxcdTg3NTlcXHU4NzY1XFx1ODc5M1xcdTg3QUZcXHU4N0E4XFx1ODdEMlwiXSxcbiAgICAgIFtcImYzNDBcIiwgXCJcXHU5QTVBXCIsIDE3LCBcIlxcdTlBNzJcXHU5QTgzXFx1OUE4OVxcdTlBOERcXHU5QThFXFx1OUE5NFxcdTlBOTVcXHU5QTk5XFx1OUFBNlxcdTlBQTlcIiwgNiwgXCJcXHU5QUIyXFx1OUFCM1xcdTlBQjRcXHU5QUI1XFx1OUFCOVxcdTlBQkJcXHU5QUJEXFx1OUFCRVxcdTlBQkZcXHU5QUMzXFx1OUFDNFxcdTlBQzZcIiwgNCwgXCJcXHU5QUNEXFx1OUFDRVxcdTlBQ0ZcXHU5QUQwXFx1OUFEMlxcdTlBRDRcXHU5QUQ1XFx1OUFENlxcdTlBRDdcXHU5QUQ5XFx1OUFEQVxcdTlBREJcXHU5QURDXCJdLFxuICAgICAgW1wiZjM4MFwiLCBcIlxcdTlBRERcXHU5QURFXFx1OUFFMFxcdTlBRTJcXHU5QUUzXFx1OUFFNFxcdTlBRTVcXHU5QUU3XFx1OUFFOFxcdTlBRTlcXHU5QUVBXFx1OUFFQ1xcdTlBRUVcXHU5QUYwXCIsIDgsIFwiXFx1OUFGQVxcdTlBRkNcIiwgNiwgXCJcXHU5QjA0XFx1OUIwNVxcdTlCMDZcXHU4N0M2XFx1ODc4OFxcdTg3ODVcXHU4N0FEXFx1ODc5N1xcdTg3ODNcXHU4N0FCXFx1ODdFNVxcdTg3QUNcXHU4N0I1XFx1ODdCM1xcdTg3Q0JcXHU4N0QzXFx1ODdCRFxcdTg3RDFcXHU4N0MwXFx1ODdDQVxcdTg3REJcXHU4N0VBXFx1ODdFMFxcdTg3RUVcXHU4ODE2XFx1ODgxM1xcdTg3RkVcXHU4ODBBXFx1ODgxQlxcdTg4MjFcXHU4ODM5XFx1ODgzQ1xcdTdGMzZcXHU3RjQyXFx1N0Y0NFxcdTdGNDVcXHU4MjEwXFx1N0FGQVxcdTdBRkRcXHU3QjA4XFx1N0IwM1xcdTdCMDRcXHU3QjE1XFx1N0IwQVxcdTdCMkJcXHU3QjBGXFx1N0I0N1xcdTdCMzhcXHU3QjJBXFx1N0IxOVxcdTdCMkVcXHU3QjMxXFx1N0IyMFxcdTdCMjVcXHU3QjI0XFx1N0IzM1xcdTdCM0VcXHU3QjFFXFx1N0I1OFxcdTdCNUFcXHU3QjQ1XFx1N0I3NVxcdTdCNENcXHU3QjVEXFx1N0I2MFxcdTdCNkVcXHU3QjdCXFx1N0I2MlxcdTdCNzJcXHU3QjcxXFx1N0I5MFxcdTdCQTZcXHU3QkE3XFx1N0JCOFxcdTdCQUNcXHU3QjlEXFx1N0JBOFxcdTdCODVcXHU3QkFBXFx1N0I5Q1xcdTdCQTJcXHU3QkFCXFx1N0JCNFxcdTdCRDFcXHU3QkMxXFx1N0JDQ1xcdTdCRERcXHU3QkRBXFx1N0JFNVxcdTdCRTZcXHU3QkVBXFx1N0MwQ1xcdTdCRkVcXHU3QkZDXFx1N0MwRlxcdTdDMTZcXHU3QzBCXCJdLFxuICAgICAgW1wiZjQ0MFwiLCBcIlxcdTlCMDdcXHU5QjA5XCIsIDUsIFwiXFx1OUIxMFxcdTlCMTFcXHU5QjEyXFx1OUIxNFwiLCAxMCwgXCJcXHU5QjIwXFx1OUIyMVxcdTlCMjJcXHU5QjI0XCIsIDEwLCBcIlxcdTlCMzBcXHU5QjMxXFx1OUIzM1wiLCA3LCBcIlxcdTlCM0RcXHU5QjNFXFx1OUIzRlxcdTlCNDBcXHU5QjQ2XFx1OUI0QVxcdTlCNEJcXHU5QjRDXFx1OUI0RVxcdTlCNTBcXHU5QjUyXFx1OUI1M1xcdTlCNTVcIiwgNV0sXG4gICAgICBbXCJmNDgwXCIsIFwiXFx1OUI1QlwiLCAzMiwgXCJcXHU3QzFGXFx1N0MyQVxcdTdDMjZcXHU3QzM4XFx1N0M0MVxcdTdDNDBcXHU4MUZFXFx1ODIwMVxcdTgyMDJcXHU4MjA0XFx1ODFFQ1xcdTg4NDRcXHU4MjIxXFx1ODIyMlxcdTgyMjNcXHU4MjJEXFx1ODIyRlxcdTgyMjhcXHU4MjJCXFx1ODIzOFxcdTgyM0JcXHU4MjMzXFx1ODIzNFxcdTgyM0VcXHU4MjQ0XFx1ODI0OVxcdTgyNEJcXHU4MjRGXFx1ODI1QVxcdTgyNUZcXHU4MjY4XFx1ODg3RVxcdTg4ODVcXHU4ODg4XFx1ODhEOFxcdTg4REZcXHU4OTVFXFx1N0Y5RFxcdTdGOUZcXHU3RkE3XFx1N0ZBRlxcdTdGQjBcXHU3RkIyXFx1N0M3Q1xcdTY1NDlcXHU3QzkxXFx1N0M5RFxcdTdDOUNcXHU3QzlFXFx1N0NBMlxcdTdDQjJcXHU3Q0JDXFx1N0NCRFxcdTdDQzFcXHU3Q0M3XFx1N0NDQ1xcdTdDQ0RcXHU3Q0M4XFx1N0NDNVxcdTdDRDdcXHU3Q0U4XFx1ODI2RVxcdTY2QThcXHU3RkJGXFx1N0ZDRVxcdTdGRDVcXHU3RkU1XFx1N0ZFMVxcdTdGRTZcXHU3RkU5XFx1N0ZFRVxcdTdGRjNcXHU3Q0Y4XFx1N0Q3N1xcdTdEQTZcXHU3REFFXFx1N0U0N1xcdTdFOUJcXHU5RUI4XFx1OUVCNFxcdThENzNcXHU4RDg0XFx1OEQ5NFxcdThEOTFcXHU4REIxXFx1OEQ2N1xcdThENkRcXHU4QzQ3XFx1OEM0OVxcdTkxNEFcXHU5MTUwXFx1OTE0RVxcdTkxNEZcXHU5MTY0XCJdLFxuICAgICAgW1wiZjU0MFwiLCBcIlxcdTlCN0NcIiwgNjJdLFxuICAgICAgW1wiZjU4MFwiLCBcIlxcdTlCQkJcIiwgMzIsIFwiXFx1OTE2MlxcdTkxNjFcXHU5MTcwXFx1OTE2OVxcdTkxNkZcXHU5MTdEXFx1OTE3RVxcdTkxNzJcXHU5MTc0XFx1OTE3OVxcdTkxOENcXHU5MTg1XFx1OTE5MFxcdTkxOERcXHU5MTkxXFx1OTFBMlxcdTkxQTNcXHU5MUFBXFx1OTFBRFxcdTkxQUVcXHU5MUFGXFx1OTFCNVxcdTkxQjRcXHU5MUJBXFx1OEM1NVxcdTlFN0VcXHU4REI4XFx1OERFQlxcdThFMDVcXHU4RTU5XFx1OEU2OVxcdThEQjVcXHU4REJGXFx1OERCQ1xcdThEQkFcXHU4REM0XFx1OERENlxcdThERDdcXHU4RERBXFx1OERERVxcdThEQ0VcXHU4RENGXFx1OEREQlxcdThEQzZcXHU4REVDXFx1OERGN1xcdThERjhcXHU4REUzXFx1OERGOVxcdThERkJcXHU4REU0XFx1OEUwOVxcdThERkRcXHU4RTE0XFx1OEUxRFxcdThFMUZcXHU4RTJDXFx1OEUyRVxcdThFMjNcXHU4RTJGXFx1OEUzQVxcdThFNDBcXHU4RTM5XFx1OEUzNVxcdThFM0RcXHU4RTMxXFx1OEU0OVxcdThFNDFcXHU4RTQyXFx1OEU1MVxcdThFNTJcXHU4RTRBXFx1OEU3MFxcdThFNzZcXHU4RTdDXFx1OEU2RlxcdThFNzRcXHU4RTg1XFx1OEU4RlxcdThFOTRcXHU4RTkwXFx1OEU5Q1xcdThFOUVcXHU4Qzc4XFx1OEM4MlxcdThDOEFcXHU4Qzg1XFx1OEM5OFxcdThDOTRcXHU2NTlCXFx1ODlENlxcdTg5REVcXHU4OURBXFx1ODlEQ1wiXSxcbiAgICAgIFtcImY2NDBcIiwgXCJcXHU5QkRDXCIsIDYyXSxcbiAgICAgIFtcImY2ODBcIiwgXCJcXHU5QzFCXCIsIDMyLCBcIlxcdTg5RTVcXHU4OUVCXFx1ODlFRlxcdThBM0VcXHU4QjI2XFx1OTc1M1xcdTk2RTlcXHU5NkYzXFx1OTZFRlxcdTk3MDZcXHU5NzAxXFx1OTcwOFxcdTk3MEZcXHU5NzBFXFx1OTcyQVxcdTk3MkRcXHU5NzMwXFx1OTczRVxcdTlGODBcXHU5RjgzXFx1OUY4NVwiLCA1LCBcIlxcdTlGOENcXHU5RUZFXFx1OUYwQlxcdTlGMERcXHU5NkI5XFx1OTZCQ1xcdTk2QkRcXHU5NkNFXFx1OTZEMlxcdTc3QkZcXHU5NkUwXFx1OTI4RVxcdTkyQUVcXHU5MkM4XFx1OTMzRVxcdTkzNkFcXHU5M0NBXFx1OTM4RlxcdTk0M0VcXHU5NDZCXFx1OUM3RlxcdTlDODJcXHU5Qzg1XFx1OUM4NlxcdTlDODdcXHU5Qzg4XFx1N0EyM1xcdTlDOEJcXHU5QzhFXFx1OUM5MFxcdTlDOTFcXHU5QzkyXFx1OUM5NFxcdTlDOTVcXHU5QzlBXFx1OUM5QlxcdTlDOUVcIiwgNSwgXCJcXHU5Q0E1XCIsIDQsIFwiXFx1OUNBQlxcdTlDQURcXHU5Q0FFXFx1OUNCMFwiLCA3LCBcIlxcdTlDQkFcXHU5Q0JCXFx1OUNCQ1xcdTlDQkRcXHU5Q0M0XFx1OUNDNVxcdTlDQzZcXHU5Q0M3XFx1OUNDQVxcdTlDQ0JcIl0sXG4gICAgICBbXCJmNzQwXCIsIFwiXFx1OUMzQ1wiLCA2Ml0sXG4gICAgICBbXCJmNzgwXCIsIFwiXFx1OUM3QlxcdTlDN0RcXHU5QzdFXFx1OUM4MFxcdTlDODNcXHU5Qzg0XFx1OUM4OVxcdTlDOEFcXHU5QzhDXFx1OUM4RlxcdTlDOTNcXHU5Qzk2XFx1OUM5N1xcdTlDOThcXHU5Qzk5XFx1OUM5RFxcdTlDQUFcXHU5Q0FDXFx1OUNBRlxcdTlDQjlcXHU5Q0JFXCIsIDQsIFwiXFx1OUNDOFxcdTlDQzlcXHU5Q0QxXFx1OUNEMlxcdTlDREFcXHU5Q0RCXFx1OUNFMFxcdTlDRTFcXHU5Q0NDXCIsIDQsIFwiXFx1OUNEM1xcdTlDRDRcXHU5Q0Q1XFx1OUNEN1xcdTlDRDhcXHU5Q0Q5XFx1OUNEQ1xcdTlDRERcXHU5Q0RGXFx1OUNFMlxcdTk3N0NcXHU5Nzg1XFx1OTc5MVxcdTk3OTJcXHU5Nzk0XFx1OTdBRlxcdTk3QUJcXHU5N0EzXFx1OTdCMlxcdTk3QjRcXHU5QUIxXFx1OUFCMFxcdTlBQjdcXHU5RTU4XFx1OUFCNlxcdTlBQkFcXHU5QUJDXFx1OUFDMVxcdTlBQzBcXHU5QUM1XFx1OUFDMlxcdTlBQ0JcXHU5QUNDXFx1OUFEMVxcdTlCNDVcXHU5QjQzXFx1OUI0N1xcdTlCNDlcXHU5QjQ4XFx1OUI0RFxcdTlCNTFcXHU5OEU4XFx1OTkwRFxcdTk5MkVcXHU5OTU1XFx1OTk1NFxcdTlBREZcXHU5QUUxXFx1OUFFNlxcdTlBRUZcXHU5QUVCXFx1OUFGQlxcdTlBRURcXHU5QUY5XFx1OUIwOFxcdTlCMEZcXHU5QjEzXFx1OUIxRlxcdTlCMjNcXHU5RUJEXFx1OUVCRVxcdTdFM0JcXHU5RTgyXFx1OUU4N1xcdTlFODhcXHU5RThCXFx1OUU5MlxcdTkzRDZcXHU5RTlEXFx1OUU5RlxcdTlFREJcXHU5RURDXFx1OUVERFxcdTlFRTBcXHU5RURGXFx1OUVFMlxcdTlFRTlcXHU5RUU3XFx1OUVFNVxcdTlFRUFcXHU5RUVGXFx1OUYyMlxcdTlGMkNcXHU5RjJGXFx1OUYzOVxcdTlGMzdcXHU5RjNEXFx1OUYzRVxcdTlGNDRcIl0sXG4gICAgICBbXCJmODQwXCIsIFwiXFx1OUNFM1wiLCA2Ml0sXG4gICAgICBbXCJmODgwXCIsIFwiXFx1OUQyMlwiLCAzMl0sXG4gICAgICBbXCJmOTQwXCIsIFwiXFx1OUQ0M1wiLCA2Ml0sXG4gICAgICBbXCJmOTgwXCIsIFwiXFx1OUQ4MlwiLCAzMl0sXG4gICAgICBbXCJmYTQwXCIsIFwiXFx1OURBM1wiLCA2Ml0sXG4gICAgICBbXCJmYTgwXCIsIFwiXFx1OURFMlwiLCAzMl0sXG4gICAgICBbXCJmYjQwXCIsIFwiXFx1OUUwM1wiLCAyNywgXCJcXHU5RTI0XFx1OUUyN1xcdTlFMkVcXHU5RTMwXFx1OUUzNFxcdTlFM0JcXHU5RTNDXFx1OUU0MFxcdTlFNERcXHU5RTUwXFx1OUU1MlxcdTlFNTNcXHU5RTU0XFx1OUU1NlxcdTlFNTlcXHU5RTVEXFx1OUU1RlxcdTlFNjBcXHU5RTYxXFx1OUU2MlxcdTlFNjVcXHU5RTZFXFx1OUU2RlxcdTlFNzJcXHU5RTc0XCIsIDksIFwiXFx1OUU4MFwiXSxcbiAgICAgIFtcImZiODBcIiwgXCJcXHU5RTgxXFx1OUU4M1xcdTlFODRcXHU5RTg1XFx1OUU4NlxcdTlFODlcXHU5RThBXFx1OUU4Q1wiLCA1LCBcIlxcdTlFOTRcIiwgOCwgXCJcXHU5RTlFXFx1OUVBMFwiLCA1LCBcIlxcdTlFQTdcXHU5RUE4XFx1OUVBOVxcdTlFQUFcIl0sXG4gICAgICBbXCJmYzQwXCIsIFwiXFx1OUVBQlwiLCA4LCBcIlxcdTlFQjVcXHU5RUI2XFx1OUVCN1xcdTlFQjlcXHU5RUJBXFx1OUVCQ1xcdTlFQkZcIiwgNCwgXCJcXHU5RUM1XFx1OUVDNlxcdTlFQzdcXHU5RUM4XFx1OUVDQVxcdTlFQ0JcXHU5RUNDXFx1OUVEMFxcdTlFRDJcXHU5RUQzXFx1OUVENVxcdTlFRDZcXHU5RUQ3XFx1OUVEOVxcdTlFREFcXHU5RURFXFx1OUVFMVxcdTlFRTNcXHU5RUU0XFx1OUVFNlxcdTlFRThcXHU5RUVCXFx1OUVFQ1xcdTlFRURcXHU5RUVFXFx1OUVGMFwiLCA4LCBcIlxcdTlFRkFcXHU5RUZEXFx1OUVGRlwiLCA2XSxcbiAgICAgIFtcImZjODBcIiwgXCJcXHU5RjA2XCIsIDQsIFwiXFx1OUYwQ1xcdTlGMEZcXHU5RjExXFx1OUYxMlxcdTlGMTRcXHU5RjE1XFx1OUYxNlxcdTlGMThcXHU5RjFBXCIsIDUsIFwiXFx1OUYyMVxcdTlGMjNcIiwgOCwgXCJcXHU5RjJEXFx1OUYyRVxcdTlGMzBcXHU5RjMxXCJdLFxuICAgICAgW1wiZmQ0MFwiLCBcIlxcdTlGMzJcIiwgNCwgXCJcXHU5RjM4XFx1OUYzQVxcdTlGM0NcXHU5RjNGXCIsIDQsIFwiXFx1OUY0NVwiLCAxMCwgXCJcXHU5RjUyXCIsIDM4XSxcbiAgICAgIFtcImZkODBcIiwgXCJcXHU5Rjc5XCIsIDUsIFwiXFx1OUY4MVxcdTlGODJcXHU5RjhEXCIsIDExLCBcIlxcdTlGOUNcXHU5RjlEXFx1OUY5RVxcdTlGQTFcIiwgNCwgXCJcXHVGOTJDXFx1Rjk3OVxcdUY5OTVcXHVGOUU3XFx1RjlGMVwiXSxcbiAgICAgIFtcImZlNDBcIiwgXCJcXHVGQTBDXFx1RkEwRFxcdUZBMEVcXHVGQTBGXFx1RkExMVxcdUZBMTNcXHVGQTE0XFx1RkExOFxcdUZBMUZcXHVGQTIwXFx1RkEyMVxcdUZBMjNcXHVGQTI0XFx1RkEyN1xcdUZBMjhcXHVGQTI5XCJdXG4gICAgXTtcbiAgfVxufSk7XG5cbi8vIG5vZGVfbW9kdWxlcy9yYXctYm9keS9ub2RlX21vZHVsZXMvaWNvbnYtbGl0ZS9lbmNvZGluZ3MvdGFibGVzL2diay1hZGRlZC5qc29uXG52YXIgcmVxdWlyZV9nYmtfYWRkZWQgPSBfX2NvbW1vbkpTKHtcbiAgXCJub2RlX21vZHVsZXMvcmF3LWJvZHkvbm9kZV9tb2R1bGVzL2ljb252LWxpdGUvZW5jb2RpbmdzL3RhYmxlcy9nYmstYWRkZWQuanNvblwiKGV4cG9ydHMyLCBtb2R1bGUyKSB7XG4gICAgbW9kdWxlMi5leHBvcnRzID0gW1xuICAgICAgW1wiYTE0MFwiLCBcIlxcdUU0QzZcIiwgNjJdLFxuICAgICAgW1wiYTE4MFwiLCBcIlxcdUU1MDVcIiwgMzJdLFxuICAgICAgW1wiYTI0MFwiLCBcIlxcdUU1MjZcIiwgNjJdLFxuICAgICAgW1wiYTI4MFwiLCBcIlxcdUU1NjVcIiwgMzJdLFxuICAgICAgW1wiYTJhYlwiLCBcIlxcdUU3NjZcIiwgNV0sXG4gICAgICBbXCJhMmUzXCIsIFwiXFx1MjBBQ1xcdUU3NkRcIl0sXG4gICAgICBbXCJhMmVmXCIsIFwiXFx1RTc2RVxcdUU3NkZcIl0sXG4gICAgICBbXCJhMmZkXCIsIFwiXFx1RTc3MFxcdUU3NzFcIl0sXG4gICAgICBbXCJhMzQwXCIsIFwiXFx1RTU4NlwiLCA2Ml0sXG4gICAgICBbXCJhMzgwXCIsIFwiXFx1RTVDNVwiLCAzMSwgXCJcXHUzMDAwXCJdLFxuICAgICAgW1wiYTQ0MFwiLCBcIlxcdUU1RTZcIiwgNjJdLFxuICAgICAgW1wiYTQ4MFwiLCBcIlxcdUU2MjVcIiwgMzJdLFxuICAgICAgW1wiYTRmNFwiLCBcIlxcdUU3NzJcIiwgMTBdLFxuICAgICAgW1wiYTU0MFwiLCBcIlxcdUU2NDZcIiwgNjJdLFxuICAgICAgW1wiYTU4MFwiLCBcIlxcdUU2ODVcIiwgMzJdLFxuICAgICAgW1wiYTVmN1wiLCBcIlxcdUU3N0RcIiwgN10sXG4gICAgICBbXCJhNjQwXCIsIFwiXFx1RTZBNlwiLCA2Ml0sXG4gICAgICBbXCJhNjgwXCIsIFwiXFx1RTZFNVwiLCAzMl0sXG4gICAgICBbXCJhNmI5XCIsIFwiXFx1RTc4NVwiLCA3XSxcbiAgICAgIFtcImE2ZDlcIiwgXCJcXHVFNzhEXCIsIDZdLFxuICAgICAgW1wiYTZlY1wiLCBcIlxcdUU3OTRcXHVFNzk1XCJdLFxuICAgICAgW1wiYTZmM1wiLCBcIlxcdUU3OTZcIl0sXG4gICAgICBbXCJhNmY2XCIsIFwiXFx1RTc5N1wiLCA4XSxcbiAgICAgIFtcImE3NDBcIiwgXCJcXHVFNzA2XCIsIDYyXSxcbiAgICAgIFtcImE3ODBcIiwgXCJcXHVFNzQ1XCIsIDMyXSxcbiAgICAgIFtcImE3YzJcIiwgXCJcXHVFN0EwXCIsIDE0XSxcbiAgICAgIFtcImE3ZjJcIiwgXCJcXHVFN0FGXCIsIDEyXSxcbiAgICAgIFtcImE4OTZcIiwgXCJcXHVFN0JDXCIsIDEwXSxcbiAgICAgIFtcImE4YmNcIiwgXCJcXHUxRTNGXCJdLFxuICAgICAgW1wiYThiZlwiLCBcIlxcdTAxRjlcIl0sXG4gICAgICBbXCJhOGMxXCIsIFwiXFx1RTdDOVxcdUU3Q0FcXHVFN0NCXFx1RTdDQ1wiXSxcbiAgICAgIFtcImE4ZWFcIiwgXCJcXHVFN0NEXCIsIDIwXSxcbiAgICAgIFtcImE5NThcIiwgXCJcXHVFN0UyXCJdLFxuICAgICAgW1wiYTk1YlwiLCBcIlxcdUU3RTNcIl0sXG4gICAgICBbXCJhOTVkXCIsIFwiXFx1RTdFNFxcdUU3RTVcXHVFN0U2XCJdLFxuICAgICAgW1wiYTk4OVwiLCBcIlxcdTMwM0VcXHUyRkYwXCIsIDExXSxcbiAgICAgIFtcImE5OTdcIiwgXCJcXHVFN0Y0XCIsIDEyXSxcbiAgICAgIFtcImE5ZjBcIiwgXCJcXHVFODAxXCIsIDE0XSxcbiAgICAgIFtcImFhYTFcIiwgXCJcXHVFMDAwXCIsIDkzXSxcbiAgICAgIFtcImFiYTFcIiwgXCJcXHVFMDVFXCIsIDkzXSxcbiAgICAgIFtcImFjYTFcIiwgXCJcXHVFMEJDXCIsIDkzXSxcbiAgICAgIFtcImFkYTFcIiwgXCJcXHVFMTFBXCIsIDkzXSxcbiAgICAgIFtcImFlYTFcIiwgXCJcXHVFMTc4XCIsIDkzXSxcbiAgICAgIFtcImFmYTFcIiwgXCJcXHVFMUQ2XCIsIDkzXSxcbiAgICAgIFtcImQ3ZmFcIiwgXCJcXHVFODEwXCIsIDRdLFxuICAgICAgW1wiZjhhMVwiLCBcIlxcdUUyMzRcIiwgOTNdLFxuICAgICAgW1wiZjlhMVwiLCBcIlxcdUUyOTJcIiwgOTNdLFxuICAgICAgW1wiZmFhMVwiLCBcIlxcdUUyRjBcIiwgOTNdLFxuICAgICAgW1wiZmJhMVwiLCBcIlxcdUUzNEVcIiwgOTNdLFxuICAgICAgW1wiZmNhMVwiLCBcIlxcdUUzQUNcIiwgOTNdLFxuICAgICAgW1wiZmRhMVwiLCBcIlxcdUU0MEFcIiwgOTNdLFxuICAgICAgW1wiZmU1MFwiLCBcIlxcdTJFODFcXHVFODE2XFx1RTgxN1xcdUU4MThcXHUyRTg0XFx1MzQ3M1xcdTM0NDdcXHUyRTg4XFx1MkU4QlxcdUU4MUVcXHUzNTlFXFx1MzYxQVxcdTM2MEVcXHUyRThDXFx1MkU5N1xcdTM5NkVcXHUzOTE4XFx1RTgyNlxcdTM5Q0ZcXHUzOURGXFx1M0E3M1xcdTM5RDBcXHVFODJCXFx1RTgyQ1xcdTNCNEVcXHUzQzZFXFx1M0NFMFxcdTJFQTdcXHVFODMxXFx1RTgzMlxcdTJFQUFcXHU0MDU2XFx1NDE1RlxcdTJFQUVcXHU0MzM3XFx1MkVCM1xcdTJFQjZcXHUyRUI3XFx1RTgzQlxcdTQzQjFcXHU0M0FDXFx1MkVCQlxcdTQzRERcXHU0NEQ2XFx1NDY2MVxcdTQ2NENcXHVFODQzXCJdLFxuICAgICAgW1wiZmU4MFwiLCBcIlxcdTQ3MjNcXHU0NzI5XFx1NDc3Q1xcdTQ3OERcXHUyRUNBXFx1NDk0N1xcdTQ5N0FcXHU0OTdEXFx1NDk4MlxcdTQ5ODNcXHU0OTg1XFx1NDk4NlxcdTQ5OUZcXHU0OTlCXFx1NDlCN1xcdTQ5QjZcXHVFODU0XFx1RTg1NVxcdTRDQTNcXHU0QzlGXFx1NENBMFxcdTRDQTFcXHU0Qzc3XFx1NENBMlxcdTREMTNcIiwgNiwgXCJcXHU0REFFXFx1RTg2NFxcdUU0NjhcIiwgOTNdLFxuICAgICAgW1wiODEzNWY0MzdcIiwgXCJcXHVFN0M3XCJdXG4gICAgXTtcbiAgfVxufSk7XG5cbi8vIG5vZGVfbW9kdWxlcy9yYXctYm9keS9ub2RlX21vZHVsZXMvaWNvbnYtbGl0ZS9lbmNvZGluZ3MvdGFibGVzL2diMTgwMzAtcmFuZ2VzLmpzb25cbnZhciByZXF1aXJlX2diMTgwMzBfcmFuZ2VzID0gX19jb21tb25KUyh7XG4gIFwibm9kZV9tb2R1bGVzL3Jhdy1ib2R5L25vZGVfbW9kdWxlcy9pY29udi1saXRlL2VuY29kaW5ncy90YWJsZXMvZ2IxODAzMC1yYW5nZXMuanNvblwiKGV4cG9ydHMyLCBtb2R1bGUyKSB7XG4gICAgbW9kdWxlMi5leHBvcnRzID0geyB1Q2hhcnM6IFsxMjgsIDE2NSwgMTY5LCAxNzgsIDE4NCwgMjE2LCAyMjYsIDIzNSwgMjM4LCAyNDQsIDI0OCwgMjUxLCAyNTMsIDI1OCwgMjc2LCAyODQsIDMwMCwgMzI1LCAzMjksIDMzNCwgMzY0LCA0NjMsIDQ2NSwgNDY3LCA0NjksIDQ3MSwgNDczLCA0NzUsIDQ3NywgNTA2LCA1OTQsIDYxMCwgNzEyLCA3MTYsIDczMCwgOTMwLCA5MzgsIDk2MiwgOTcwLCAxMDI2LCAxMTA0LCAxMTA2LCA4MjA5LCA4MjE1LCA4MjE4LCA4MjIyLCA4MjMxLCA4MjQxLCA4MjQ0LCA4MjQ2LCA4MjUyLCA4MzY1LCA4NDUyLCA4NDU0LCA4NDU4LCA4NDcxLCA4NDgyLCA4NTU2LCA4NTcwLCA4NTk2LCA4NjAyLCA4NzEzLCA4NzIwLCA4NzIyLCA4NzI2LCA4NzMxLCA4NzM3LCA4NzQwLCA4NzQyLCA4NzQ4LCA4NzUxLCA4NzYwLCA4NzY2LCA4Nzc3LCA4NzgxLCA4Nzg3LCA4ODAyLCA4ODA4LCA4ODE2LCA4ODU0LCA4ODU4LCA4ODcwLCA4ODk2LCA4OTc5LCA5MzIyLCA5MzcyLCA5NTQ4LCA5NTg4LCA5NjE2LCA5NjIyLCA5NjM0LCA5NjUyLCA5NjYyLCA5NjcyLCA5Njc2LCA5NjgwLCA5NzAyLCA5NzM1LCA5NzM4LCA5NzkzLCA5Nzk1LCAxMTkwNiwgMTE5MDksIDExOTEzLCAxMTkxNywgMTE5MjgsIDExOTQ0LCAxMTk0NywgMTE5NTEsIDExOTU2LCAxMTk2MCwgMTE5NjQsIDExOTc5LCAxMjI4NCwgMTIyOTIsIDEyMzEyLCAxMjMxOSwgMTIzMzAsIDEyMzUxLCAxMjQzNiwgMTI0NDcsIDEyNTM1LCAxMjU0MywgMTI1ODYsIDEyODQyLCAxMjg1MCwgMTI5NjQsIDEzMjAwLCAxMzIxNSwgMTMyMTgsIDEzMjUzLCAxMzI2MywgMTMyNjcsIDEzMjcwLCAxMzM4NCwgMTM0MjgsIDEzNzI3LCAxMzgzOSwgMTM4NTEsIDE0NjE3LCAxNDcwMywgMTQ4MDEsIDE0ODE2LCAxNDk2NCwgMTUxODMsIDE1NDcxLCAxNTU4NSwgMTY0NzEsIDE2NzM2LCAxNzIwOCwgMTczMjUsIDE3MzMwLCAxNzM3NCwgMTc2MjMsIDE3OTk3LCAxODAxOCwgMTgyMTIsIDE4MjE4LCAxODMwMSwgMTgzMTgsIDE4NzYwLCAxODgxMSwgMTg4MTQsIDE4ODIwLCAxODgyMywgMTg4NDQsIDE4ODQ4LCAxODg3MiwgMTk1NzYsIDE5NjIwLCAxOTczOCwgMTk4ODcsIDQwODcwLCA1OTI0NCwgNTkzMzYsIDU5MzY3LCA1OTQxMywgNTk0MTcsIDU5NDIzLCA1OTQzMSwgNTk0MzcsIDU5NDQzLCA1OTQ1MiwgNTk0NjAsIDU5NDc4LCA1OTQ5MywgNjM3ODksIDYzODY2LCA2Mzg5NCwgNjM5NzYsIDYzOTg2LCA2NDAxNiwgNjQwMTgsIDY0MDIxLCA2NDAyNSwgNjQwMzQsIDY0MDM3LCA2NDA0MiwgNjUwNzQsIDY1MDkzLCA2NTEwNywgNjUxMTIsIDY1MTI3LCA2NTEzMiwgNjUzNzUsIDY1NTEwLCA2NTUzNl0sIGdiQ2hhcnM6IFswLCAzNiwgMzgsIDQ1LCA1MCwgODEsIDg5LCA5NSwgOTYsIDEwMCwgMTAzLCAxMDQsIDEwNSwgMTA5LCAxMjYsIDEzMywgMTQ4LCAxNzIsIDE3NSwgMTc5LCAyMDgsIDMwNiwgMzA3LCAzMDgsIDMwOSwgMzEwLCAzMTEsIDMxMiwgMzEzLCAzNDEsIDQyOCwgNDQzLCA1NDQsIDU0NSwgNTU4LCA3NDEsIDc0MiwgNzQ5LCA3NTAsIDgwNSwgODE5LCA4MjAsIDc5MjIsIDc5MjQsIDc5MjUsIDc5MjcsIDc5MzQsIDc5NDMsIDc5NDQsIDc5NDUsIDc5NTAsIDgwNjIsIDgxNDgsIDgxNDksIDgxNTIsIDgxNjQsIDgxNzQsIDgyMzYsIDgyNDAsIDgyNjIsIDgyNjQsIDgzNzQsIDgzODAsIDgzODEsIDgzODQsIDgzODgsIDgzOTAsIDgzOTIsIDgzOTMsIDgzOTQsIDgzOTYsIDg0MDEsIDg0MDYsIDg0MTYsIDg0MTksIDg0MjQsIDg0MzcsIDg0MzksIDg0NDUsIDg0ODIsIDg0ODUsIDg0OTYsIDg1MjEsIDg2MDMsIDg5MzYsIDg5NDYsIDkwNDYsIDkwNTAsIDkwNjMsIDkwNjYsIDkwNzYsIDkwOTIsIDkxMDAsIDkxMDgsIDkxMTEsIDkxMTMsIDkxMzEsIDkxNjIsIDkxNjQsIDkyMTgsIDkyMTksIDExMzI5LCAxMTMzMSwgMTEzMzQsIDExMzM2LCAxMTM0NiwgMTEzNjEsIDExMzYzLCAxMTM2NiwgMTEzNzAsIDExMzcyLCAxMTM3NSwgMTEzODksIDExNjgyLCAxMTY4NiwgMTE2ODcsIDExNjkyLCAxMTY5NCwgMTE3MTQsIDExNzE2LCAxMTcyMywgMTE3MjUsIDExNzMwLCAxMTczNiwgMTE5ODIsIDExOTg5LCAxMjEwMiwgMTIzMzYsIDEyMzQ4LCAxMjM1MCwgMTIzODQsIDEyMzkzLCAxMjM5NSwgMTIzOTcsIDEyNTEwLCAxMjU1MywgMTI4NTEsIDEyOTYyLCAxMjk3MywgMTM3MzgsIDEzODIzLCAxMzkxOSwgMTM5MzMsIDE0MDgwLCAxNDI5OCwgMTQ1ODUsIDE0Njk4LCAxNTU4MywgMTU4NDcsIDE2MzE4LCAxNjQzNCwgMTY0MzgsIDE2NDgxLCAxNjcyOSwgMTcxMDIsIDE3MTIyLCAxNzMxNSwgMTczMjAsIDE3NDAyLCAxNzQxOCwgMTc4NTksIDE3OTA5LCAxNzkxMSwgMTc5MTUsIDE3OTE2LCAxNzkzNiwgMTc5MzksIDE3OTYxLCAxODY2NCwgMTg3MDMsIDE4ODE0LCAxODk2MiwgMTkwNDMsIDMzNDY5LCAzMzQ3MCwgMzM0NzEsIDMzNDg0LCAzMzQ4NSwgMzM0OTAsIDMzNDk3LCAzMzUwMSwgMzM1MDUsIDMzNTEzLCAzMzUyMCwgMzM1MzYsIDMzNTUwLCAzNzg0NSwgMzc5MjEsIDM3OTQ4LCAzODAyOSwgMzgwMzgsIDM4MDY0LCAzODA2NSwgMzgwNjYsIDM4MDY5LCAzODA3NSwgMzgwNzYsIDM4MDc4LCAzOTEwOCwgMzkxMDksIDM5MTEzLCAzOTExNCwgMzkxMTUsIDM5MTE2LCAzOTI2NSwgMzkzOTQsIDE4OWUzXSB9O1xuICB9XG59KTtcblxuLy8gbm9kZV9tb2R1bGVzL3Jhdy1ib2R5L25vZGVfbW9kdWxlcy9pY29udi1saXRlL2VuY29kaW5ncy90YWJsZXMvY3A5NDkuanNvblxudmFyIHJlcXVpcmVfY3A5NDkgPSBfX2NvbW1vbkpTKHtcbiAgXCJub2RlX21vZHVsZXMvcmF3LWJvZHkvbm9kZV9tb2R1bGVzL2ljb252LWxpdGUvZW5jb2RpbmdzL3RhYmxlcy9jcDk0OS5qc29uXCIoZXhwb3J0czIsIG1vZHVsZTIpIHtcbiAgICBtb2R1bGUyLmV4cG9ydHMgPSBbXG4gICAgICBbXCIwXCIsIFwiXFwwXCIsIDEyN10sXG4gICAgICBbXCI4MTQxXCIsIFwiXFx1QUMwMlxcdUFDMDNcXHVBQzA1XFx1QUMwNlxcdUFDMEJcIiwgNCwgXCJcXHVBQzE4XFx1QUMxRVxcdUFDMUZcXHVBQzIxXFx1QUMyMlxcdUFDMjNcXHVBQzI1XCIsIDYsIFwiXFx1QUMyRVxcdUFDMzJcXHVBQzMzXFx1QUMzNFwiXSxcbiAgICAgIFtcIjgxNjFcIiwgXCJcXHVBQzM1XFx1QUMzNlxcdUFDMzdcXHVBQzNBXFx1QUMzQlxcdUFDM0RcXHVBQzNFXFx1QUMzRlxcdUFDNDFcIiwgOSwgXCJcXHVBQzRDXFx1QUM0RVwiLCA1LCBcIlxcdUFDNTVcIl0sXG4gICAgICBbXCI4MTgxXCIsIFwiXFx1QUM1NlxcdUFDNTdcXHVBQzU5XFx1QUM1QVxcdUFDNUJcXHVBQzVEXCIsIDE4LCBcIlxcdUFDNzJcXHVBQzczXFx1QUM3NVxcdUFDNzZcXHVBQzc5XFx1QUM3QlwiLCA0LCBcIlxcdUFDODJcXHVBQzg3XFx1QUM4OFxcdUFDOERcXHVBQzhFXFx1QUM4RlxcdUFDOTFcXHVBQzkyXFx1QUM5M1xcdUFDOTVcIiwgNiwgXCJcXHVBQzlFXFx1QUNBMlwiLCA1LCBcIlxcdUFDQUJcXHVBQ0FEXFx1QUNBRVxcdUFDQjFcIiwgNiwgXCJcXHVBQ0JBXFx1QUNCRVxcdUFDQkZcXHVBQ0MwXFx1QUNDMlxcdUFDQzNcXHVBQ0M1XFx1QUNDNlxcdUFDQzdcXHVBQ0M5XFx1QUNDQVxcdUFDQ0JcXHVBQ0NEXCIsIDcsIFwiXFx1QUNENlxcdUFDRDhcIiwgNywgXCJcXHVBQ0UyXFx1QUNFM1xcdUFDRTVcXHVBQ0U2XFx1QUNFOVxcdUFDRUJcXHVBQ0VEXFx1QUNFRVxcdUFDRjJcXHVBQ0Y0XFx1QUNGN1wiLCA0LCBcIlxcdUFDRkVcXHVBQ0ZGXFx1QUQwMVxcdUFEMDJcXHVBRDAzXFx1QUQwNVxcdUFEMDdcIiwgNCwgXCJcXHVBRDBFXFx1QUQxMFxcdUFEMTJcXHVBRDEzXCJdLFxuICAgICAgW1wiODI0MVwiLCBcIlxcdUFEMTRcXHVBRDE1XFx1QUQxNlxcdUFEMTdcXHVBRDE5XFx1QUQxQVxcdUFEMUJcXHVBRDFEXFx1QUQxRVxcdUFEMUZcXHVBRDIxXCIsIDcsIFwiXFx1QUQyQVxcdUFEMkJcXHVBRDJFXCIsIDVdLFxuICAgICAgW1wiODI2MVwiLCBcIlxcdUFEMzZcXHVBRDM3XFx1QUQzOVxcdUFEM0FcXHVBRDNCXFx1QUQzRFwiLCA2LCBcIlxcdUFENDZcXHVBRDQ4XFx1QUQ0QVwiLCA1LCBcIlxcdUFENTFcXHVBRDUyXFx1QUQ1M1xcdUFENTVcXHVBRDU2XFx1QUQ1N1wiXSxcbiAgICAgIFtcIjgyODFcIiwgXCJcXHVBRDU5XCIsIDcsIFwiXFx1QUQ2MlxcdUFENjRcIiwgNywgXCJcXHVBRDZFXFx1QUQ2RlxcdUFENzFcXHVBRDcyXFx1QUQ3N1xcdUFENzhcXHVBRDc5XFx1QUQ3QVxcdUFEN0VcXHVBRDgwXFx1QUQ4M1wiLCA0LCBcIlxcdUFEOEFcXHVBRDhCXFx1QUQ4RFxcdUFEOEVcXHVBRDhGXFx1QUQ5MVwiLCAxMCwgXCJcXHVBRDlFXCIsIDUsIFwiXFx1QURBNVwiLCAxNywgXCJcXHVBREI4XCIsIDcsIFwiXFx1QURDMlxcdUFEQzNcXHVBREM1XFx1QURDNlxcdUFEQzdcXHVBREM5XCIsIDYsIFwiXFx1QUREMlxcdUFERDRcIiwgNywgXCJcXHVBREREXFx1QURERVxcdUFEREZcXHVBREUxXFx1QURFMlxcdUFERTNcXHVBREU1XCIsIDE4XSxcbiAgICAgIFtcIjgzNDFcIiwgXCJcXHVBREZBXFx1QURGQlxcdUFERkRcXHVBREZFXFx1QUUwMlwiLCA1LCBcIlxcdUFFMEFcXHVBRTBDXFx1QUUwRVwiLCA1LCBcIlxcdUFFMTVcIiwgN10sXG4gICAgICBbXCI4MzYxXCIsIFwiXFx1QUUxRFwiLCAxOCwgXCJcXHVBRTMyXFx1QUUzM1xcdUFFMzVcXHVBRTM2XFx1QUUzOVxcdUFFM0JcXHVBRTNDXCJdLFxuICAgICAgW1wiODM4MVwiLCBcIlxcdUFFM0RcXHVBRTNFXFx1QUUzRlxcdUFFNDJcXHVBRTQ0XFx1QUU0N1xcdUFFNDhcXHVBRTQ5XFx1QUU0QlxcdUFFNEZcXHVBRTUxXFx1QUU1MlxcdUFFNTNcXHVBRTU1XFx1QUU1N1wiLCA0LCBcIlxcdUFFNUVcXHVBRTYyXFx1QUU2M1xcdUFFNjRcXHVBRTY2XFx1QUU2N1xcdUFFNkFcXHVBRTZCXFx1QUU2RFxcdUFFNkVcXHVBRTZGXFx1QUU3MVwiLCA2LCBcIlxcdUFFN0FcXHVBRTdFXCIsIDUsIFwiXFx1QUU4NlwiLCA1LCBcIlxcdUFFOERcIiwgNDYsIFwiXFx1QUVCRlxcdUFFQzFcXHVBRUMyXFx1QUVDM1xcdUFFQzVcIiwgNiwgXCJcXHVBRUNFXFx1QUVEMlwiLCA1LCBcIlxcdUFFREFcXHVBRURCXFx1QUVERFwiLCA4XSxcbiAgICAgIFtcIjg0NDFcIiwgXCJcXHVBRUU2XFx1QUVFN1xcdUFFRTlcXHVBRUVBXFx1QUVFQ1xcdUFFRUVcIiwgNSwgXCJcXHVBRUY1XFx1QUVGNlxcdUFFRjdcXHVBRUY5XFx1QUVGQVxcdUFFRkJcXHVBRUZEXCIsIDhdLFxuICAgICAgW1wiODQ2MVwiLCBcIlxcdUFGMDZcXHVBRjA5XFx1QUYwQVxcdUFGMEJcXHVBRjBDXFx1QUYwRVxcdUFGMEZcXHVBRjExXCIsIDE4XSxcbiAgICAgIFtcIjg0ODFcIiwgXCJcXHVBRjI0XCIsIDcsIFwiXFx1QUYyRVxcdUFGMkZcXHVBRjMxXFx1QUYzM1xcdUFGMzVcIiwgNiwgXCJcXHVBRjNFXFx1QUY0MFxcdUFGNDRcXHVBRjQ1XFx1QUY0NlxcdUFGNDdcXHVBRjRBXCIsIDUsIFwiXFx1QUY1MVwiLCAxMCwgXCJcXHVBRjVFXCIsIDUsIFwiXFx1QUY2NlwiLCAxOCwgXCJcXHVBRjdBXCIsIDUsIFwiXFx1QUY4MVxcdUFGODJcXHVBRjgzXFx1QUY4NVxcdUFGODZcXHVBRjg3XFx1QUY4OVwiLCA2LCBcIlxcdUFGOTJcXHVBRjkzXFx1QUY5NFxcdUFGOTZcIiwgNSwgXCJcXHVBRjlEXCIsIDI2LCBcIlxcdUFGQkFcXHVBRkJCXFx1QUZCRFxcdUFGQkVcIl0sXG4gICAgICBbXCI4NTQxXCIsIFwiXFx1QUZCRlxcdUFGQzFcIiwgNSwgXCJcXHVBRkNBXFx1QUZDQ1xcdUFGQ0ZcIiwgNCwgXCJcXHVBRkQ1XCIsIDYsIFwiXFx1QUZERFwiLCA0XSxcbiAgICAgIFtcIjg1NjFcIiwgXCJcXHVBRkUyXCIsIDUsIFwiXFx1QUZFQVwiLCA1LCBcIlxcdUFGRjJcXHVBRkYzXFx1QUZGNVxcdUFGRjZcXHVBRkY3XFx1QUZGOVwiLCA2LCBcIlxcdUIwMDJcXHVCMDAzXCJdLFxuICAgICAgW1wiODU4MVwiLCBcIlxcdUIwMDVcIiwgNiwgXCJcXHVCMDBEXFx1QjAwRVxcdUIwMEZcXHVCMDExXFx1QjAxMlxcdUIwMTNcXHVCMDE1XCIsIDYsIFwiXFx1QjAxRVwiLCA5LCBcIlxcdUIwMjlcIiwgMjYsIFwiXFx1QjA0NlxcdUIwNDdcXHVCMDQ5XFx1QjA0QlxcdUIwNERcXHVCMDRGXFx1QjA1MFxcdUIwNTFcXHVCMDUyXFx1QjA1NlxcdUIwNThcXHVCMDVBXFx1QjA1QlxcdUIwNUNcXHVCMDVFXCIsIDI5LCBcIlxcdUIwN0VcXHVCMDdGXFx1QjA4MVxcdUIwODJcXHVCMDgzXFx1QjA4NVwiLCA2LCBcIlxcdUIwOEVcXHVCMDkwXFx1QjA5MlwiLCA1LCBcIlxcdUIwOUJcXHVCMDlEXFx1QjA5RVxcdUIwQTNcXHVCMEE0XCJdLFxuICAgICAgW1wiODY0MVwiLCBcIlxcdUIwQTVcXHVCMEE2XFx1QjBBN1xcdUIwQUFcXHVCMEIwXFx1QjBCMlxcdUIwQjZcXHVCMEI3XFx1QjBCOVxcdUIwQkFcXHVCMEJCXFx1QjBCRFwiLCA2LCBcIlxcdUIwQzZcXHVCMENBXCIsIDUsIFwiXFx1QjBEMlwiXSxcbiAgICAgIFtcIjg2NjFcIiwgXCJcXHVCMEQzXFx1QjBENVxcdUIwRDZcXHVCMEQ3XFx1QjBEOVwiLCA2LCBcIlxcdUIwRTFcXHVCMEUyXFx1QjBFM1xcdUIwRTRcXHVCMEU2XCIsIDEwXSxcbiAgICAgIFtcIjg2ODFcIiwgXCJcXHVCMEYxXCIsIDIyLCBcIlxcdUIxMEFcXHVCMTBEXFx1QjEwRVxcdUIxMEZcXHVCMTExXFx1QjExNFxcdUIxMTVcXHVCMTE2XFx1QjExN1xcdUIxMUFcXHVCMTFFXCIsIDQsIFwiXFx1QjEyNlxcdUIxMjdcXHVCMTI5XFx1QjEyQVxcdUIxMkJcXHVCMTJEXCIsIDYsIFwiXFx1QjEzNlxcdUIxM0FcIiwgNSwgXCJcXHVCMTQyXFx1QjE0M1xcdUIxNDVcXHVCMTQ2XFx1QjE0N1xcdUIxNDlcIiwgNiwgXCJcXHVCMTUyXFx1QjE1M1xcdUIxNTZcXHVCMTU3XFx1QjE1OVxcdUIxNUFcXHVCMTVCXFx1QjE1RFxcdUIxNUVcXHVCMTVGXFx1QjE2MVwiLCAyMiwgXCJcXHVCMTdBXFx1QjE3QlxcdUIxN0RcXHVCMTdFXFx1QjE3RlxcdUIxODFcXHVCMTgzXCIsIDQsIFwiXFx1QjE4QVxcdUIxOENcXHVCMThFXFx1QjE4RlxcdUIxOTBcXHVCMTkxXFx1QjE5NVxcdUIxOTZcXHVCMTk3XFx1QjE5OVxcdUIxOUFcXHVCMTlCXFx1QjE5RFwiXSxcbiAgICAgIFtcIjg3NDFcIiwgXCJcXHVCMTlFXCIsIDksIFwiXFx1QjFBOVwiLCAxNV0sXG4gICAgICBbXCI4NzYxXCIsIFwiXFx1QjFCOVwiLCAxOCwgXCJcXHVCMUNEXFx1QjFDRVxcdUIxQ0ZcXHVCMUQxXFx1QjFEMlxcdUIxRDNcXHVCMUQ1XCJdLFxuICAgICAgW1wiODc4MVwiLCBcIlxcdUIxRDZcIiwgNSwgXCJcXHVCMURFXFx1QjFFMFwiLCA3LCBcIlxcdUIxRUFcXHVCMUVCXFx1QjFFRFxcdUIxRUVcXHVCMUVGXFx1QjFGMVwiLCA3LCBcIlxcdUIxRkFcXHVCMUZDXFx1QjFGRVwiLCA1LCBcIlxcdUIyMDZcXHVCMjA3XFx1QjIwOVxcdUIyMEFcXHVCMjBEXCIsIDYsIFwiXFx1QjIxNlxcdUIyMThcXHVCMjFBXCIsIDUsIFwiXFx1QjIyMVwiLCAxOCwgXCJcXHVCMjM1XCIsIDYsIFwiXFx1QjIzRFwiLCAyNiwgXCJcXHVCMjU5XFx1QjI1QVxcdUIyNUJcXHVCMjVEXFx1QjI1RVxcdUIyNUZcXHVCMjYxXCIsIDYsIFwiXFx1QjI2QVwiLCA0XSxcbiAgICAgIFtcIjg4NDFcIiwgXCJcXHVCMjZGXCIsIDQsIFwiXFx1QjI3NlwiLCA1LCBcIlxcdUIyN0RcIiwgNiwgXCJcXHVCMjg2XFx1QjI4N1xcdUIyODhcXHVCMjhBXCIsIDRdLFxuICAgICAgW1wiODg2MVwiLCBcIlxcdUIyOEZcXHVCMjkyXFx1QjI5M1xcdUIyOTVcXHVCMjk2XFx1QjI5N1xcdUIyOUJcIiwgNCwgXCJcXHVCMkEyXFx1QjJBNFxcdUIyQTdcXHVCMkE4XFx1QjJBOVxcdUIyQUJcXHVCMkFEXFx1QjJBRVxcdUIyQUZcXHVCMkIxXFx1QjJCMlxcdUIyQjNcXHVCMkI1XFx1QjJCNlxcdUIyQjdcIl0sXG4gICAgICBbXCI4ODgxXCIsIFwiXFx1QjJCOFwiLCAxNSwgXCJcXHVCMkNBXFx1QjJDQlxcdUIyQ0RcXHVCMkNFXFx1QjJDRlxcdUIyRDFcXHVCMkQzXCIsIDQsIFwiXFx1QjJEQVxcdUIyRENcXHVCMkRFXFx1QjJERlxcdUIyRTBcXHVCMkUxXFx1QjJFM1xcdUIyRTdcXHVCMkU5XFx1QjJFQVxcdUIyRjBcXHVCMkYxXFx1QjJGMlxcdUIyRjZcXHVCMkZDXFx1QjJGRFxcdUIyRkVcXHVCMzAyXFx1QjMwM1xcdUIzMDVcXHVCMzA2XFx1QjMwN1xcdUIzMDlcIiwgNiwgXCJcXHVCMzEyXFx1QjMxNlwiLCA1LCBcIlxcdUIzMURcIiwgNTQsIFwiXFx1QjM1N1xcdUIzNTlcXHVCMzVBXFx1QjM1RFxcdUIzNjBcXHVCMzYxXFx1QjM2MlxcdUIzNjNcIl0sXG4gICAgICBbXCI4OTQxXCIsIFwiXFx1QjM2NlxcdUIzNjhcXHVCMzZBXFx1QjM2Q1xcdUIzNkRcXHVCMzZGXFx1QjM3MlxcdUIzNzNcXHVCMzc1XFx1QjM3NlxcdUIzNzdcXHVCMzc5XCIsIDYsIFwiXFx1QjM4MlxcdUIzODZcIiwgNSwgXCJcXHVCMzhEXCJdLFxuICAgICAgW1wiODk2MVwiLCBcIlxcdUIzOEVcXHVCMzhGXFx1QjM5MVxcdUIzOTJcXHVCMzkzXFx1QjM5NVwiLCAxMCwgXCJcXHVCM0EyXCIsIDUsIFwiXFx1QjNBOVxcdUIzQUFcXHVCM0FCXFx1QjNBRFwiXSxcbiAgICAgIFtcIjg5ODFcIiwgXCJcXHVCM0FFXCIsIDIxLCBcIlxcdUIzQzZcXHVCM0M3XFx1QjNDOVxcdUIzQ0FcXHVCM0NEXFx1QjNDRlxcdUIzRDFcXHVCM0QyXFx1QjNEM1xcdUIzRDZcXHVCM0Q4XFx1QjNEQVxcdUIzRENcXHVCM0RFXFx1QjNERlxcdUIzRTFcXHVCM0UyXFx1QjNFM1xcdUIzRTVcXHVCM0U2XFx1QjNFN1xcdUIzRTlcIiwgMTgsIFwiXFx1QjNGRFwiLCAxOCwgXCJcXHVCNDExXCIsIDYsIFwiXFx1QjQxOVxcdUI0MUFcXHVCNDFCXFx1QjQxRFxcdUI0MUVcXHVCNDFGXFx1QjQyMVwiLCA2LCBcIlxcdUI0MkFcXHVCNDJDXCIsIDcsIFwiXFx1QjQzNVwiLCAxNV0sXG4gICAgICBbXCI4YTQxXCIsIFwiXFx1QjQ0NVwiLCAxMCwgXCJcXHVCNDUyXFx1QjQ1M1xcdUI0NTVcXHVCNDU2XFx1QjQ1N1xcdUI0NTlcIiwgNiwgXCJcXHVCNDYyXFx1QjQ2NFxcdUI0NjZcIl0sXG4gICAgICBbXCI4YTYxXCIsIFwiXFx1QjQ2N1wiLCA0LCBcIlxcdUI0NkRcIiwgMTgsIFwiXFx1QjQ4MVxcdUI0ODJcIl0sXG4gICAgICBbXCI4YTgxXCIsIFwiXFx1QjQ4M1wiLCA0LCBcIlxcdUI0ODlcIiwgMTksIFwiXFx1QjQ5RVwiLCA1LCBcIlxcdUI0QTVcXHVCNEE2XFx1QjRBN1xcdUI0QTlcXHVCNEFBXFx1QjRBQlxcdUI0QURcIiwgNywgXCJcXHVCNEI2XFx1QjRCOFxcdUI0QkFcIiwgNSwgXCJcXHVCNEMxXFx1QjRDMlxcdUI0QzNcXHVCNEM1XFx1QjRDNlxcdUI0QzdcXHVCNEM5XCIsIDYsIFwiXFx1QjREMVxcdUI0RDJcXHVCNEQzXFx1QjRENFxcdUI0RDZcIiwgNSwgXCJcXHVCNERFXFx1QjRERlxcdUI0RTFcXHVCNEUyXFx1QjRFNVxcdUI0RTdcIiwgNCwgXCJcXHVCNEVFXFx1QjRGMFxcdUI0RjJcIiwgNSwgXCJcXHVCNEY5XCIsIDI2LCBcIlxcdUI1MTZcXHVCNTE3XFx1QjUxOVxcdUI1MUFcXHVCNTFEXCJdLFxuICAgICAgW1wiOGI0MVwiLCBcIlxcdUI1MUVcIiwgNSwgXCJcXHVCNTI2XFx1QjUyQlwiLCA0LCBcIlxcdUI1MzJcXHVCNTMzXFx1QjUzNVxcdUI1MzZcXHVCNTM3XFx1QjUzOVwiLCA2LCBcIlxcdUI1NDJcXHVCNTQ2XCJdLFxuICAgICAgW1wiOGI2MVwiLCBcIlxcdUI1NDdcXHVCNTQ4XFx1QjU0OVxcdUI1NEFcXHVCNTRFXFx1QjU0RlxcdUI1NTFcXHVCNTUyXFx1QjU1M1xcdUI1NTVcIiwgNiwgXCJcXHVCNTVFXFx1QjU2MlwiLCA4XSxcbiAgICAgIFtcIjhiODFcIiwgXCJcXHVCNTZCXCIsIDUyLCBcIlxcdUI1QTJcXHVCNUEzXFx1QjVBNVxcdUI1QTZcXHVCNUE3XFx1QjVBOVxcdUI1QUNcXHVCNUFEXFx1QjVBRVxcdUI1QUZcXHVCNUIyXFx1QjVCNlwiLCA0LCBcIlxcdUI1QkVcXHVCNUJGXFx1QjVDMVxcdUI1QzJcXHVCNUMzXFx1QjVDNVwiLCA2LCBcIlxcdUI1Q0VcXHVCNUQyXCIsIDUsIFwiXFx1QjVEOVwiLCAxOCwgXCJcXHVCNUVEXCIsIDE4XSxcbiAgICAgIFtcIjhjNDFcIiwgXCJcXHVCNjAwXCIsIDE1LCBcIlxcdUI2MTJcXHVCNjEzXFx1QjYxNVxcdUI2MTZcXHVCNjE3XFx1QjYxOVwiLCA0XSxcbiAgICAgIFtcIjhjNjFcIiwgXCJcXHVCNjFFXCIsIDYsIFwiXFx1QjYyNlwiLCA1LCBcIlxcdUI2MkRcIiwgNiwgXCJcXHVCNjM1XCIsIDVdLFxuICAgICAgW1wiOGM4MVwiLCBcIlxcdUI2M0JcIiwgMTIsIFwiXFx1QjY0OVwiLCAyNiwgXCJcXHVCNjY1XFx1QjY2NlxcdUI2NjdcXHVCNjY5XCIsIDUwLCBcIlxcdUI2OUVcXHVCNjlGXFx1QjZBMVxcdUI2QTJcXHVCNkEzXFx1QjZBNVwiLCA1LCBcIlxcdUI2QURcXHVCNkFFXFx1QjZBRlxcdUI2QjBcXHVCNkIyXCIsIDE2XSxcbiAgICAgIFtcIjhkNDFcIiwgXCJcXHVCNkMzXCIsIDE2LCBcIlxcdUI2RDVcIiwgOF0sXG4gICAgICBbXCI4ZDYxXCIsIFwiXFx1QjZERVwiLCAxNywgXCJcXHVCNkYxXFx1QjZGMlxcdUI2RjNcXHVCNkY1XFx1QjZGNlxcdUI2RjdcXHVCNkY5XFx1QjZGQVwiXSxcbiAgICAgIFtcIjhkODFcIiwgXCJcXHVCNkZCXCIsIDQsIFwiXFx1QjcwMlxcdUI3MDNcXHVCNzA0XFx1QjcwNlwiLCAzMywgXCJcXHVCNzJBXFx1QjcyQlxcdUI3MkRcXHVCNzJFXFx1QjczMVwiLCA2LCBcIlxcdUI3M0FcXHVCNzNDXCIsIDcsIFwiXFx1Qjc0NVxcdUI3NDZcXHVCNzQ3XFx1Qjc0OVxcdUI3NEFcXHVCNzRCXFx1Qjc0RFwiLCA2LCBcIlxcdUI3NTZcIiwgOSwgXCJcXHVCNzYxXFx1Qjc2MlxcdUI3NjNcXHVCNzY1XFx1Qjc2NlxcdUI3NjdcXHVCNzY5XCIsIDYsIFwiXFx1Qjc3MlxcdUI3NzRcXHVCNzc2XCIsIDUsIFwiXFx1Qjc3RVxcdUI3N0ZcXHVCNzgxXFx1Qjc4MlxcdUI3ODNcXHVCNzg1XCIsIDYsIFwiXFx1Qjc4RVxcdUI3OTNcXHVCNzk0XFx1Qjc5NVxcdUI3OUFcXHVCNzlCXFx1Qjc5RFxcdUI3OUVcIl0sXG4gICAgICBbXCI4ZTQxXCIsIFwiXFx1Qjc5RlxcdUI3QTFcIiwgNiwgXCJcXHVCN0FBXFx1QjdBRVwiLCA1LCBcIlxcdUI3QjZcXHVCN0I3XFx1QjdCOVwiLCA4XSxcbiAgICAgIFtcIjhlNjFcIiwgXCJcXHVCN0MyXCIsIDQsIFwiXFx1QjdDOFxcdUI3Q0FcIiwgMTldLFxuICAgICAgW1wiOGU4MVwiLCBcIlxcdUI3REVcIiwgMTMsIFwiXFx1QjdFRVxcdUI3RUZcXHVCN0YxXFx1QjdGMlxcdUI3RjNcXHVCN0Y1XCIsIDYsIFwiXFx1QjdGRVxcdUI4MDJcIiwgNCwgXCJcXHVCODBBXFx1QjgwQlxcdUI4MERcXHVCODBFXFx1QjgwRlxcdUI4MTFcIiwgNiwgXCJcXHVCODFBXFx1QjgxQ1xcdUI4MUVcIiwgNSwgXCJcXHVCODI2XFx1QjgyN1xcdUI4MjlcXHVCODJBXFx1QjgyQlxcdUI4MkRcIiwgNiwgXCJcXHVCODM2XFx1QjgzQVwiLCA1LCBcIlxcdUI4NDFcXHVCODQyXFx1Qjg0M1xcdUI4NDVcIiwgMTEsIFwiXFx1Qjg1MlxcdUI4NTRcIiwgNywgXCJcXHVCODVFXFx1Qjg1RlxcdUI4NjFcXHVCODYyXFx1Qjg2M1xcdUI4NjVcIiwgNiwgXCJcXHVCODZFXFx1Qjg3MFxcdUI4NzJcIiwgNSwgXCJcXHVCODc5XFx1Qjg3QVxcdUI4N0JcXHVCODdEXCIsIDddLFxuICAgICAgW1wiOGY0MVwiLCBcIlxcdUI4ODVcIiwgNywgXCJcXHVCODhFXCIsIDE3XSxcbiAgICAgIFtcIjhmNjFcIiwgXCJcXHVCOEEwXCIsIDcsIFwiXFx1QjhBOVwiLCA2LCBcIlxcdUI4QjFcXHVCOEIyXFx1QjhCM1xcdUI4QjVcXHVCOEI2XFx1QjhCN1xcdUI4QjlcIiwgNF0sXG4gICAgICBbXCI4ZjgxXCIsIFwiXFx1QjhCRVxcdUI4QkZcXHVCOEMyXFx1QjhDNFxcdUI4QzZcIiwgNSwgXCJcXHVCOENEXFx1QjhDRVxcdUI4Q0ZcXHVCOEQxXFx1QjhEMlxcdUI4RDNcXHVCOEQ1XCIsIDcsIFwiXFx1QjhERVxcdUI4RTBcXHVCOEUyXCIsIDUsIFwiXFx1QjhFQVxcdUI4RUJcXHVCOEVEXFx1QjhFRVxcdUI4RUZcXHVCOEYxXCIsIDYsIFwiXFx1QjhGQVxcdUI4RkNcXHVCOEZFXCIsIDUsIFwiXFx1QjkwNVwiLCAxOCwgXCJcXHVCOTE5XCIsIDYsIFwiXFx1QjkyMVwiLCAyNiwgXCJcXHVCOTNFXFx1QjkzRlxcdUI5NDFcXHVCOTQyXFx1Qjk0M1xcdUI5NDVcIiwgNiwgXCJcXHVCOTREXFx1Qjk0RVxcdUI5NTBcXHVCOTUyXCIsIDVdLFxuICAgICAgW1wiOTA0MVwiLCBcIlxcdUI5NUFcXHVCOTVCXFx1Qjk1RFxcdUI5NUVcXHVCOTVGXFx1Qjk2MVwiLCA2LCBcIlxcdUI5NkFcXHVCOTZDXFx1Qjk2RVwiLCA1LCBcIlxcdUI5NzZcXHVCOTc3XFx1Qjk3OVxcdUI5N0FcXHVCOTdCXFx1Qjk3RFwiXSxcbiAgICAgIFtcIjkwNjFcIiwgXCJcXHVCOTdFXCIsIDUsIFwiXFx1Qjk4NlxcdUI5ODhcXHVCOThCXFx1Qjk4Q1xcdUI5OEZcIiwgMTVdLFxuICAgICAgW1wiOTA4MVwiLCBcIlxcdUI5OUZcIiwgMTIsIFwiXFx1QjlBRVxcdUI5QUZcXHVCOUIxXFx1QjlCMlxcdUI5QjNcXHVCOUI1XCIsIDYsIFwiXFx1QjlCRVxcdUI5QzBcXHVCOUMyXCIsIDUsIFwiXFx1QjlDQVxcdUI5Q0JcXHVCOUNEXFx1QjlEM1wiLCA0LCBcIlxcdUI5REFcXHVCOURDXFx1QjlERlxcdUI5RTBcXHVCOUUyXFx1QjlFNlxcdUI5RTdcXHVCOUU5XFx1QjlFQVxcdUI5RUJcXHVCOUVEXCIsIDYsIFwiXFx1QjlGNlxcdUI5RkJcIiwgNCwgXCJcXHVCQTAyXCIsIDUsIFwiXFx1QkEwOVwiLCAxMSwgXCJcXHVCQTE2XCIsIDMzLCBcIlxcdUJBM0FcXHVCQTNCXFx1QkEzRFxcdUJBM0VcXHVCQTNGXFx1QkE0MVxcdUJBNDNcXHVCQTQ0XFx1QkE0NVxcdUJBNDZcIl0sXG4gICAgICBbXCI5MTQxXCIsIFwiXFx1QkE0N1xcdUJBNEFcXHVCQTRDXFx1QkE0RlxcdUJBNTBcXHVCQTUxXFx1QkE1MlxcdUJBNTZcXHVCQTU3XFx1QkE1OVxcdUJBNUFcXHVCQTVCXFx1QkE1RFwiLCA2LCBcIlxcdUJBNjZcXHVCQTZBXCIsIDVdLFxuICAgICAgW1wiOTE2MVwiLCBcIlxcdUJBNzJcXHVCQTczXFx1QkE3NVxcdUJBNzZcXHVCQTc3XFx1QkE3OVwiLCA5LCBcIlxcdUJBODZcXHVCQTg4XFx1QkE4OVxcdUJBOEFcXHVCQThCXFx1QkE4RFwiLCA1XSxcbiAgICAgIFtcIjkxODFcIiwgXCJcXHVCQTkzXCIsIDIwLCBcIlxcdUJBQUFcXHVCQUFEXFx1QkFBRVxcdUJBQUZcXHVCQUIxXFx1QkFCM1wiLCA0LCBcIlxcdUJBQkFcXHVCQUJDXFx1QkFCRVwiLCA1LCBcIlxcdUJBQzVcXHVCQUM2XFx1QkFDN1xcdUJBQzlcIiwgMTQsIFwiXFx1QkFEQVwiLCAzMywgXCJcXHVCQUZEXFx1QkFGRVxcdUJBRkZcXHVCQjAxXFx1QkIwMlxcdUJCMDNcXHVCQjA1XCIsIDcsIFwiXFx1QkIwRVxcdUJCMTBcXHVCQjEyXCIsIDUsIFwiXFx1QkIxOVxcdUJCMUFcXHVCQjFCXFx1QkIxRFxcdUJCMUVcXHVCQjFGXFx1QkIyMVwiLCA2XSxcbiAgICAgIFtcIjkyNDFcIiwgXCJcXHVCQjI4XFx1QkIyQVxcdUJCMkNcIiwgNywgXCJcXHVCQjM3XFx1QkIzOVxcdUJCM0FcXHVCQjNGXCIsIDQsIFwiXFx1QkI0NlxcdUJCNDhcXHVCQjRBXFx1QkI0QlxcdUJCNENcXHVCQjRFXFx1QkI1MVxcdUJCNTJcIl0sXG4gICAgICBbXCI5MjYxXCIsIFwiXFx1QkI1M1xcdUJCNTVcXHVCQjU2XFx1QkI1N1xcdUJCNTlcIiwgNywgXCJcXHVCQjYyXFx1QkI2NFwiLCA3LCBcIlxcdUJCNkRcIiwgNF0sXG4gICAgICBbXCI5MjgxXCIsIFwiXFx1QkI3MlwiLCAyMSwgXCJcXHVCQjg5XFx1QkI4QVxcdUJCOEJcXHVCQjhEXFx1QkI4RVxcdUJCOEZcXHVCQjkxXCIsIDE4LCBcIlxcdUJCQTVcXHVCQkE2XFx1QkJBN1xcdUJCQTlcXHVCQkFBXFx1QkJBQlxcdUJCQURcIiwgNiwgXCJcXHVCQkI1XFx1QkJCNlxcdUJCQjhcIiwgNywgXCJcXHVCQkMxXFx1QkJDMlxcdUJCQzNcXHVCQkM1XFx1QkJDNlxcdUJCQzdcXHVCQkM5XCIsIDYsIFwiXFx1QkJEMVxcdUJCRDJcXHVCQkQ0XCIsIDM1LCBcIlxcdUJCRkFcXHVCQkZCXFx1QkJGRFxcdUJCRkVcXHVCQzAxXCJdLFxuICAgICAgW1wiOTM0MVwiLCBcIlxcdUJDMDNcIiwgNCwgXCJcXHVCQzBBXFx1QkMwRVxcdUJDMTBcXHVCQzEyXFx1QkMxM1xcdUJDMTlcXHVCQzFBXFx1QkMyMFxcdUJDMjFcXHVCQzIyXFx1QkMyM1xcdUJDMjZcXHVCQzI4XFx1QkMyQVxcdUJDMkJcXHVCQzJDXFx1QkMyRVxcdUJDMkZcXHVCQzMyXFx1QkMzM1xcdUJDMzVcIl0sXG4gICAgICBbXCI5MzYxXCIsIFwiXFx1QkMzNlxcdUJDMzdcXHVCQzM5XCIsIDYsIFwiXFx1QkM0MlxcdUJDNDZcXHVCQzQ3XFx1QkM0OFxcdUJDNEFcXHVCQzRCXFx1QkM0RVxcdUJDNEZcXHVCQzUxXCIsIDhdLFxuICAgICAgW1wiOTM4MVwiLCBcIlxcdUJDNUFcXHVCQzVCXFx1QkM1Q1xcdUJDNUVcIiwgMzcsIFwiXFx1QkM4NlxcdUJDODdcXHVCQzg5XFx1QkM4QVxcdUJDOERcXHVCQzhGXCIsIDQsIFwiXFx1QkM5NlxcdUJDOThcXHVCQzlCXCIsIDQsIFwiXFx1QkNBMlxcdUJDQTNcXHVCQ0E1XFx1QkNBNlxcdUJDQTlcIiwgNiwgXCJcXHVCQ0IyXFx1QkNCNlwiLCA1LCBcIlxcdUJDQkVcXHVCQ0JGXFx1QkNDMVxcdUJDQzJcXHVCQ0MzXFx1QkNDNVwiLCA3LCBcIlxcdUJDQ0VcXHVCQ0QyXFx1QkNEM1xcdUJDRDRcXHVCQ0Q2XFx1QkNEN1xcdUJDRDlcXHVCQ0RBXFx1QkNEQlxcdUJDRERcIiwgMjIsIFwiXFx1QkNGN1xcdUJDRjlcXHVCQ0ZBXFx1QkNGQlxcdUJDRkRcIl0sXG4gICAgICBbXCI5NDQxXCIsIFwiXFx1QkNGRVwiLCA1LCBcIlxcdUJEMDZcXHVCRDA4XFx1QkQwQVwiLCA1LCBcIlxcdUJEMTFcXHVCRDEyXFx1QkQxM1xcdUJEMTVcIiwgOF0sXG4gICAgICBbXCI5NDYxXCIsIFwiXFx1QkQxRVwiLCA1LCBcIlxcdUJEMjVcIiwgNiwgXCJcXHVCRDJEXCIsIDEyXSxcbiAgICAgIFtcIjk0ODFcIiwgXCJcXHVCRDNBXCIsIDUsIFwiXFx1QkQ0MVwiLCA2LCBcIlxcdUJENEFcXHVCRDRCXFx1QkQ0RFxcdUJENEVcXHVCRDRGXFx1QkQ1MVwiLCA2LCBcIlxcdUJENUFcIiwgOSwgXCJcXHVCRDY1XFx1QkQ2NlxcdUJENjdcXHVCRDY5XCIsIDIyLCBcIlxcdUJEODJcXHVCRDgzXFx1QkQ4NVxcdUJEODZcXHVCRDhCXCIsIDQsIFwiXFx1QkQ5MlxcdUJEOTRcXHVCRDk2XFx1QkQ5N1xcdUJEOThcXHVCRDlCXFx1QkQ5RFwiLCA2LCBcIlxcdUJEQTVcIiwgMTAsIFwiXFx1QkRCMVwiLCA2LCBcIlxcdUJEQjlcIiwgMjRdLFxuICAgICAgW1wiOTU0MVwiLCBcIlxcdUJERDJcXHVCREQzXFx1QkRENlxcdUJERDdcXHVCREQ5XFx1QkREQVxcdUJEREJcXHVCREREXCIsIDExLCBcIlxcdUJERUFcIiwgNSwgXCJcXHVCREYxXCJdLFxuICAgICAgW1wiOTU2MVwiLCBcIlxcdUJERjJcXHVCREYzXFx1QkRGNVxcdUJERjZcXHVCREY3XFx1QkRGOVwiLCA2LCBcIlxcdUJFMDFcXHVCRTAyXFx1QkUwNFxcdUJFMDZcIiwgNSwgXCJcXHVCRTBFXFx1QkUwRlxcdUJFMTFcXHVCRTEyXFx1QkUxM1wiXSxcbiAgICAgIFtcIjk1ODFcIiwgXCJcXHVCRTE1XCIsIDYsIFwiXFx1QkUxRVxcdUJFMjBcIiwgMzUsIFwiXFx1QkU0NlxcdUJFNDdcXHVCRTQ5XFx1QkU0QVxcdUJFNEJcXHVCRTREXFx1QkU0RlwiLCA0LCBcIlxcdUJFNTZcXHVCRTU4XFx1QkU1Q1xcdUJFNURcXHVCRTVFXFx1QkU1RlxcdUJFNjJcXHVCRTYzXFx1QkU2NVxcdUJFNjZcXHVCRTY3XFx1QkU2OVxcdUJFNkJcIiwgNCwgXCJcXHVCRTcyXFx1QkU3NlwiLCA0LCBcIlxcdUJFN0VcXHVCRTdGXFx1QkU4MVxcdUJFODJcXHVCRTgzXFx1QkU4NVwiLCA2LCBcIlxcdUJFOEVcXHVCRTkyXCIsIDUsIFwiXFx1QkU5QVwiLCAxMywgXCJcXHVCRUE5XCIsIDE0XSxcbiAgICAgIFtcIjk2NDFcIiwgXCJcXHVCRUI4XCIsIDIzLCBcIlxcdUJFRDJcXHVCRUQzXCJdLFxuICAgICAgW1wiOTY2MVwiLCBcIlxcdUJFRDVcXHVCRUQ2XFx1QkVEOVwiLCA2LCBcIlxcdUJFRTFcXHVCRUUyXFx1QkVFNlwiLCA1LCBcIlxcdUJFRURcIiwgOF0sXG4gICAgICBbXCI5NjgxXCIsIFwiXFx1QkVGNlwiLCAxMCwgXCJcXHVCRjAyXCIsIDUsIFwiXFx1QkYwQVwiLCAxMywgXCJcXHVCRjFBXFx1QkYxRVwiLCAzMywgXCJcXHVCRjQyXFx1QkY0M1xcdUJGNDVcXHVCRjQ2XFx1QkY0N1xcdUJGNDlcIiwgNiwgXCJcXHVCRjUyXFx1QkY1M1xcdUJGNTRcXHVCRjU2XCIsIDQ0XSxcbiAgICAgIFtcIjk3NDFcIiwgXCJcXHVCRjgzXCIsIDE2LCBcIlxcdUJGOTVcIiwgOF0sXG4gICAgICBbXCI5NzYxXCIsIFwiXFx1QkY5RVwiLCAxNywgXCJcXHVCRkIxXCIsIDddLFxuICAgICAgW1wiOTc4MVwiLCBcIlxcdUJGQjlcIiwgMTEsIFwiXFx1QkZDNlwiLCA1LCBcIlxcdUJGQ0VcXHVCRkNGXFx1QkZEMVxcdUJGRDJcXHVCRkQzXFx1QkZENVwiLCA2LCBcIlxcdUJGRERcXHVCRkRFXFx1QkZFMFxcdUJGRTJcIiwgODksIFwiXFx1QzAzRFxcdUMwM0VcXHVDMDNGXCJdLFxuICAgICAgW1wiOTg0MVwiLCBcIlxcdUMwNDBcIiwgMTYsIFwiXFx1QzA1MlwiLCA1LCBcIlxcdUMwNTlcXHVDMDVBXFx1QzA1QlwiXSxcbiAgICAgIFtcIjk4NjFcIiwgXCJcXHVDMDVEXFx1QzA1RVxcdUMwNUZcXHVDMDYxXCIsIDYsIFwiXFx1QzA2QVwiLCAxNV0sXG4gICAgICBbXCI5ODgxXCIsIFwiXFx1QzA3QVwiLCAyMSwgXCJcXHVDMDkyXFx1QzA5M1xcdUMwOTVcXHVDMDk2XFx1QzA5N1xcdUMwOTlcIiwgNiwgXCJcXHVDMEEyXFx1QzBBNFxcdUMwQTZcIiwgNSwgXCJcXHVDMEFFXFx1QzBCMVxcdUMwQjJcXHVDMEI3XCIsIDQsIFwiXFx1QzBCRVxcdUMwQzJcXHVDMEMzXFx1QzBDNFxcdUMwQzZcXHVDMEM3XFx1QzBDQVxcdUMwQ0JcXHVDMENEXFx1QzBDRVxcdUMwQ0ZcXHVDMEQxXCIsIDYsIFwiXFx1QzBEQVxcdUMwREVcIiwgNSwgXCJcXHVDMEU2XFx1QzBFN1xcdUMwRTlcXHVDMEVBXFx1QzBFQlxcdUMwRURcIiwgNiwgXCJcXHVDMEY2XFx1QzBGOFxcdUMwRkFcIiwgNSwgXCJcXHVDMTAxXFx1QzEwMlxcdUMxMDNcXHVDMTA1XFx1QzEwNlxcdUMxMDdcXHVDMTA5XCIsIDYsIFwiXFx1QzExMVxcdUMxMTJcXHVDMTEzXFx1QzExNFxcdUMxMTZcIiwgNSwgXCJcXHVDMTIxXFx1QzEyMlxcdUMxMjVcXHVDMTI4XFx1QzEyOVxcdUMxMkFcXHVDMTJCXFx1QzEyRVwiXSxcbiAgICAgIFtcIjk5NDFcIiwgXCJcXHVDMTMyXFx1QzEzM1xcdUMxMzRcXHVDMTM1XFx1QzEzN1xcdUMxM0FcXHVDMTNCXFx1QzEzRFxcdUMxM0VcXHVDMTNGXFx1QzE0MVwiLCA2LCBcIlxcdUMxNEFcXHVDMTRFXCIsIDUsIFwiXFx1QzE1NlxcdUMxNTdcIl0sXG4gICAgICBbXCI5OTYxXCIsIFwiXFx1QzE1OVxcdUMxNUFcXHVDMTVCXFx1QzE1RFwiLCA2LCBcIlxcdUMxNjZcXHVDMTZBXCIsIDUsIFwiXFx1QzE3MVxcdUMxNzJcXHVDMTczXFx1QzE3NVxcdUMxNzZcXHVDMTc3XFx1QzE3OVxcdUMxN0FcXHVDMTdCXCJdLFxuICAgICAgW1wiOTk4MVwiLCBcIlxcdUMxN0NcIiwgOCwgXCJcXHVDMTg2XCIsIDUsIFwiXFx1QzE4RlxcdUMxOTFcXHVDMTkyXFx1QzE5M1xcdUMxOTVcXHVDMTk3XCIsIDQsIFwiXFx1QzE5RVxcdUMxQTBcXHVDMUEyXFx1QzFBM1xcdUMxQTRcXHVDMUE2XFx1QzFBN1xcdUMxQUFcXHVDMUFCXFx1QzFBRFxcdUMxQUVcXHVDMUFGXFx1QzFCMVwiLCAxMSwgXCJcXHVDMUJFXCIsIDUsIFwiXFx1QzFDNVxcdUMxQzZcXHVDMUM3XFx1QzFDOVxcdUMxQ0FcXHVDMUNCXFx1QzFDRFwiLCA2LCBcIlxcdUMxRDVcXHVDMUQ2XFx1QzFEOVwiLCA2LCBcIlxcdUMxRTFcXHVDMUUyXFx1QzFFM1xcdUMxRTVcXHVDMUU2XFx1QzFFN1xcdUMxRTlcIiwgNiwgXCJcXHVDMUYyXFx1QzFGNFwiLCA3LCBcIlxcdUMxRkVcXHVDMUZGXFx1QzIwMVxcdUMyMDJcXHVDMjAzXFx1QzIwNVwiLCA2LCBcIlxcdUMyMEVcXHVDMjEwXFx1QzIxMlwiLCA1LCBcIlxcdUMyMUFcXHVDMjFCXFx1QzIxRFxcdUMyMUVcXHVDMjIxXFx1QzIyMlxcdUMyMjNcIl0sXG4gICAgICBbXCI5YTQxXCIsIFwiXFx1QzIyNFxcdUMyMjVcXHVDMjI2XFx1QzIyN1xcdUMyMkFcXHVDMjJDXFx1QzIyRVxcdUMyMzBcXHVDMjMzXFx1QzIzNVwiLCAxNl0sXG4gICAgICBbXCI5YTYxXCIsIFwiXFx1QzI0NlxcdUMyNDdcXHVDMjQ5XCIsIDYsIFwiXFx1QzI1MlxcdUMyNTNcXHVDMjU1XFx1QzI1NlxcdUMyNTdcXHVDMjU5XCIsIDYsIFwiXFx1QzI2MVxcdUMyNjJcXHVDMjYzXFx1QzI2NFxcdUMyNjZcIl0sXG4gICAgICBbXCI5YTgxXCIsIFwiXFx1QzI2N1wiLCA0LCBcIlxcdUMyNkVcXHVDMjZGXFx1QzI3MVxcdUMyNzJcXHVDMjczXFx1QzI3NVwiLCA2LCBcIlxcdUMyN0VcXHVDMjgwXFx1QzI4MlwiLCA1LCBcIlxcdUMyOEFcIiwgNSwgXCJcXHVDMjkxXCIsIDYsIFwiXFx1QzI5OVxcdUMyOUFcXHVDMjlDXFx1QzI5RVwiLCA1LCBcIlxcdUMyQTZcXHVDMkE3XFx1QzJBOVxcdUMyQUFcXHVDMkFCXFx1QzJBRVwiLCA1LCBcIlxcdUMyQjZcXHVDMkI4XFx1QzJCQVwiLCAzMywgXCJcXHVDMkRFXFx1QzJERlxcdUMyRTFcXHVDMkUyXFx1QzJFNVwiLCA1LCBcIlxcdUMyRUVcXHVDMkYwXFx1QzJGMlxcdUMyRjNcXHVDMkY0XFx1QzJGNVxcdUMyRjdcXHVDMkZBXFx1QzJGRFxcdUMyRkVcXHVDMkZGXFx1QzMwMVwiLCA2LCBcIlxcdUMzMEFcXHVDMzBCXFx1QzMwRVxcdUMzMEZcIl0sXG4gICAgICBbXCI5YjQxXCIsIFwiXFx1QzMxMFxcdUMzMTFcXHVDMzEyXFx1QzMxNlxcdUMzMTdcXHVDMzE5XFx1QzMxQVxcdUMzMUJcXHVDMzFEXCIsIDYsIFwiXFx1QzMyNlxcdUMzMjdcXHVDMzJBXCIsIDhdLFxuICAgICAgW1wiOWI2MVwiLCBcIlxcdUMzMzNcIiwgMTcsIFwiXFx1QzM0NlwiLCA3XSxcbiAgICAgIFtcIjliODFcIiwgXCJcXHVDMzRFXCIsIDI1LCBcIlxcdUMzNkFcXHVDMzZCXFx1QzM2RFxcdUMzNkVcXHVDMzZGXFx1QzM3MVxcdUMzNzNcIiwgNCwgXCJcXHVDMzdBXFx1QzM3QlxcdUMzN0VcIiwgNSwgXCJcXHVDMzg1XFx1QzM4NlxcdUMzODdcXHVDMzg5XFx1QzM4QVxcdUMzOEJcXHVDMzhEXCIsIDUwLCBcIlxcdUMzQzFcIiwgMjIsIFwiXFx1QzNEQVwiXSxcbiAgICAgIFtcIjljNDFcIiwgXCJcXHVDM0RCXFx1QzNERFxcdUMzREVcXHVDM0UxXFx1QzNFM1wiLCA0LCBcIlxcdUMzRUFcXHVDM0VCXFx1QzNFQ1xcdUMzRUVcIiwgNSwgXCJcXHVDM0Y2XFx1QzNGN1xcdUMzRjlcIiwgNV0sXG4gICAgICBbXCI5YzYxXCIsIFwiXFx1QzNGRlwiLCA4LCBcIlxcdUM0MDlcIiwgNiwgXCJcXHVDNDExXCIsIDldLFxuICAgICAgW1wiOWM4MVwiLCBcIlxcdUM0MUJcIiwgOCwgXCJcXHVDNDI1XCIsIDYsIFwiXFx1QzQyRFxcdUM0MkVcXHVDNDJGXFx1QzQzMVxcdUM0MzJcXHVDNDMzXFx1QzQzNVwiLCA2LCBcIlxcdUM0M0VcIiwgOSwgXCJcXHVDNDQ5XCIsIDI2LCBcIlxcdUM0NjZcXHVDNDY3XFx1QzQ2OVxcdUM0NkFcXHVDNDZCXFx1QzQ2RFwiLCA2LCBcIlxcdUM0NzZcXHVDNDc3XFx1QzQ3OFxcdUM0N0FcIiwgNSwgXCJcXHVDNDgxXCIsIDE4LCBcIlxcdUM0OTVcIiwgNiwgXCJcXHVDNDlEXCIsIDEyXSxcbiAgICAgIFtcIjlkNDFcIiwgXCJcXHVDNEFBXCIsIDEzLCBcIlxcdUM0QjlcXHVDNEJBXFx1QzRCQlxcdUM0QkRcIiwgOF0sXG4gICAgICBbXCI5ZDYxXCIsIFwiXFx1QzRDNlwiLCAyNV0sXG4gICAgICBbXCI5ZDgxXCIsIFwiXFx1QzRFMFwiLCA4LCBcIlxcdUM0RUFcIiwgNSwgXCJcXHVDNEYyXFx1QzRGM1xcdUM0RjVcXHVDNEY2XFx1QzRGN1xcdUM0RjlcXHVDNEZCXFx1QzRGQ1xcdUM0RkRcXHVDNEZFXFx1QzUwMlwiLCA5LCBcIlxcdUM1MERcXHVDNTBFXFx1QzUwRlxcdUM1MTFcXHVDNTEyXFx1QzUxM1xcdUM1MTVcIiwgNiwgXCJcXHVDNTFEXCIsIDEwLCBcIlxcdUM1MkFcXHVDNTJCXFx1QzUyRFxcdUM1MkVcXHVDNTJGXFx1QzUzMVwiLCA2LCBcIlxcdUM1M0FcXHVDNTNDXFx1QzUzRVwiLCA1LCBcIlxcdUM1NDZcXHVDNTQ3XFx1QzU0QlxcdUM1NEZcXHVDNTUwXFx1QzU1MVxcdUM1NTJcXHVDNTU2XFx1QzU1QVxcdUM1NUJcXHVDNTVDXFx1QzU1RlxcdUM1NjJcXHVDNTYzXFx1QzU2NVxcdUM1NjZcXHVDNTY3XFx1QzU2OVwiLCA2LCBcIlxcdUM1NzJcXHVDNTc2XCIsIDUsIFwiXFx1QzU3RVxcdUM1N0ZcXHVDNTgxXFx1QzU4MlxcdUM1ODNcXHVDNTg1XFx1QzU4NlxcdUM1ODhcXHVDNTg5XFx1QzU4QVxcdUM1OEJcXHVDNThFXFx1QzU5MFxcdUM1OTJcXHVDNTkzXFx1QzU5NFwiXSxcbiAgICAgIFtcIjllNDFcIiwgXCJcXHVDNTk2XFx1QzU5OVxcdUM1OUFcXHVDNTlCXFx1QzU5RFxcdUM1OUVcXHVDNTlGXFx1QzVBMVwiLCA3LCBcIlxcdUM1QUFcIiwgOSwgXCJcXHVDNUI2XCJdLFxuICAgICAgW1wiOWU2MVwiLCBcIlxcdUM1QjdcXHVDNUJBXFx1QzVCRlwiLCA0LCBcIlxcdUM1Q0JcXHVDNUNEXFx1QzVDRlxcdUM1RDJcXHVDNUQzXFx1QzVENVxcdUM1RDZcXHVDNUQ3XFx1QzVEOVwiLCA2LCBcIlxcdUM1RTJcXHVDNUU0XFx1QzVFNlxcdUM1RTdcIl0sXG4gICAgICBbXCI5ZTgxXCIsIFwiXFx1QzVFOFxcdUM1RTlcXHVDNUVBXFx1QzVFQlxcdUM1RUZcXHVDNUYxXFx1QzVGMlxcdUM1RjNcXHVDNUY1XFx1QzVGOFxcdUM1RjlcXHVDNUZBXFx1QzVGQlxcdUM2MDJcXHVDNjAzXFx1QzYwNFxcdUM2MDlcXHVDNjBBXFx1QzYwQlxcdUM2MERcXHVDNjBFXFx1QzYwRlxcdUM2MTFcIiwgNiwgXCJcXHVDNjFBXFx1QzYxRFwiLCA2LCBcIlxcdUM2MjZcXHVDNjI3XFx1QzYyOVxcdUM2MkFcXHVDNjJCXFx1QzYyRlxcdUM2MzFcXHVDNjMyXFx1QzYzNlxcdUM2MzhcXHVDNjNBXFx1QzYzQ1xcdUM2M0RcXHVDNjNFXFx1QzYzRlxcdUM2NDJcXHVDNjQzXFx1QzY0NVxcdUM2NDZcXHVDNjQ3XFx1QzY0OVwiLCA2LCBcIlxcdUM2NTJcXHVDNjU2XCIsIDUsIFwiXFx1QzY1RVxcdUM2NUZcXHVDNjYxXCIsIDEwLCBcIlxcdUM2NkRcXHVDNjZFXFx1QzY3MFxcdUM2NzJcIiwgNSwgXCJcXHVDNjdBXFx1QzY3QlxcdUM2N0RcXHVDNjdFXFx1QzY3RlxcdUM2ODFcIiwgNiwgXCJcXHVDNjhBXFx1QzY4Q1xcdUM2OEVcIiwgNSwgXCJcXHVDNjk2XFx1QzY5N1xcdUM2OTlcXHVDNjlBXFx1QzY5QlxcdUM2OURcIiwgNiwgXCJcXHVDNkE2XCJdLFxuICAgICAgW1wiOWY0MVwiLCBcIlxcdUM2QThcXHVDNkFBXCIsIDUsIFwiXFx1QzZCMlxcdUM2QjNcXHVDNkI1XFx1QzZCNlxcdUM2QjdcXHVDNkJCXCIsIDQsIFwiXFx1QzZDMlxcdUM2QzRcXHVDNkM2XCIsIDUsIFwiXFx1QzZDRVwiXSxcbiAgICAgIFtcIjlmNjFcIiwgXCJcXHVDNkNGXFx1QzZEMVxcdUM2RDJcXHVDNkQzXFx1QzZENVwiLCA2LCBcIlxcdUM2REVcXHVDNkRGXFx1QzZFMlwiLCA1LCBcIlxcdUM2RUFcXHVDNkVCXFx1QzZFRFxcdUM2RUVcXHVDNkVGXFx1QzZGMVxcdUM2RjJcIl0sXG4gICAgICBbXCI5ZjgxXCIsIFwiXFx1QzZGM1wiLCA0LCBcIlxcdUM2RkFcXHVDNkZCXFx1QzZGQ1xcdUM2RkVcIiwgNSwgXCJcXHVDNzA2XFx1QzcwN1xcdUM3MDlcXHVDNzBBXFx1QzcwQlxcdUM3MERcIiwgNiwgXCJcXHVDNzE2XFx1QzcxOFxcdUM3MUFcIiwgNSwgXCJcXHVDNzIyXFx1QzcyM1xcdUM3MjVcXHVDNzI2XFx1QzcyN1xcdUM3MjlcIiwgNiwgXCJcXHVDNzMyXFx1QzczNFxcdUM3MzZcXHVDNzM4XFx1QzczOVxcdUM3M0FcXHVDNzNCXFx1QzczRVxcdUM3M0ZcXHVDNzQxXFx1Qzc0MlxcdUM3NDNcXHVDNzQ1XCIsIDQsIFwiXFx1Qzc0QlxcdUM3NEVcXHVDNzUwXFx1Qzc1OVxcdUM3NUFcXHVDNzVCXFx1Qzc1RFxcdUM3NUVcXHVDNzVGXFx1Qzc2MVwiLCA2LCBcIlxcdUM3NjlcXHVDNzZBXFx1Qzc2Q1wiLCA3LCBcIlxcdUM3NzZcXHVDNzc3XFx1Qzc3OVxcdUM3N0FcXHVDNzdCXFx1Qzc3RlxcdUM3ODBcXHVDNzgxXFx1Qzc4MlxcdUM3ODZcXHVDNzhCXFx1Qzc4Q1xcdUM3OERcXHVDNzhGXFx1Qzc5MlxcdUM3OTNcXHVDNzk1XFx1Qzc5OVxcdUM3OUJcIiwgNCwgXCJcXHVDN0EyXFx1QzdBN1wiLCA0LCBcIlxcdUM3QUVcXHVDN0FGXFx1QzdCMVxcdUM3QjJcXHVDN0IzXFx1QzdCNVxcdUM3QjZcXHVDN0I3XCJdLFxuICAgICAgW1wiYTA0MVwiLCBcIlxcdUM3QjhcXHVDN0I5XFx1QzdCQVxcdUM3QkJcXHVDN0JFXFx1QzdDMlwiLCA1LCBcIlxcdUM3Q0FcXHVDN0NCXFx1QzdDRFxcdUM3Q0ZcXHVDN0QxXCIsIDYsIFwiXFx1QzdEOVxcdUM3REFcXHVDN0RCXFx1QzdEQ1wiXSxcbiAgICAgIFtcImEwNjFcIiwgXCJcXHVDN0RFXCIsIDUsIFwiXFx1QzdFNVxcdUM3RTZcXHVDN0U3XFx1QzdFOVxcdUM3RUFcXHVDN0VCXFx1QzdFRFwiLCAxM10sXG4gICAgICBbXCJhMDgxXCIsIFwiXFx1QzdGQlwiLCA0LCBcIlxcdUM4MDJcXHVDODAzXFx1QzgwNVxcdUM4MDZcXHVDODA3XFx1QzgwOVxcdUM4MEJcIiwgNCwgXCJcXHVDODEyXFx1QzgxNFxcdUM4MTdcIiwgNCwgXCJcXHVDODFFXFx1QzgxRlxcdUM4MjFcXHVDODIyXFx1QzgyM1xcdUM4MjVcIiwgNiwgXCJcXHVDODJFXFx1QzgzMFxcdUM4MzJcIiwgNSwgXCJcXHVDODM5XFx1QzgzQVxcdUM4M0JcXHVDODNEXFx1QzgzRVxcdUM4M0ZcXHVDODQxXCIsIDYsIFwiXFx1Qzg0QVxcdUM4NEJcXHVDODRFXCIsIDUsIFwiXFx1Qzg1NVwiLCAyNiwgXCJcXHVDODcyXFx1Qzg3M1xcdUM4NzVcXHVDODc2XFx1Qzg3N1xcdUM4NzlcXHVDODdCXCIsIDQsIFwiXFx1Qzg4MlxcdUM4ODRcXHVDODg4XFx1Qzg4OVxcdUM4OEFcXHVDODhFXCIsIDUsIFwiXFx1Qzg5NVwiLCA3LCBcIlxcdUM4OUVcXHVDOEEwXFx1QzhBMlxcdUM4QTNcXHVDOEE0XCJdLFxuICAgICAgW1wiYTE0MVwiLCBcIlxcdUM4QTVcXHVDOEE2XFx1QzhBN1xcdUM4QTlcIiwgMTgsIFwiXFx1QzhCRVxcdUM4QkZcXHVDOEMwXFx1QzhDMVwiXSxcbiAgICAgIFtcImExNjFcIiwgXCJcXHVDOEMyXFx1QzhDM1xcdUM4QzVcXHVDOEM2XFx1QzhDN1xcdUM4QzlcXHVDOENBXFx1QzhDQlxcdUM4Q0RcIiwgNiwgXCJcXHVDOEQ2XFx1QzhEOFxcdUM4REFcIiwgNSwgXCJcXHVDOEUyXFx1QzhFM1xcdUM4RTVcIl0sXG4gICAgICBbXCJhMTgxXCIsIFwiXFx1QzhFNlwiLCAxNCwgXCJcXHVDOEY2XCIsIDUsIFwiXFx1QzhGRVxcdUM4RkZcXHVDOTAxXFx1QzkwMlxcdUM5MDNcXHVDOTA3XCIsIDQsIFwiXFx1QzkwRVxcdTMwMDBcXHUzMDAxXFx1MzAwMlxceEI3XFx1MjAyNVxcdTIwMjZcXHhBOFxcdTMwMDNcXHhBRFxcdTIwMTVcXHUyMjI1XFx1RkYzQ1xcdTIyM0NcXHUyMDE4XFx1MjAxOVxcdTIwMUNcXHUyMDFEXFx1MzAxNFxcdTMwMTVcXHUzMDA4XCIsIDksIFwiXFx4QjFcXHhEN1xceEY3XFx1MjI2MFxcdTIyNjRcXHUyMjY1XFx1MjIxRVxcdTIyMzRcXHhCMFxcdTIwMzJcXHUyMDMzXFx1MjEwM1xcdTIxMkJcXHVGRkUwXFx1RkZFMVxcdUZGRTVcXHUyNjQyXFx1MjY0MFxcdTIyMjBcXHUyMkE1XFx1MjMxMlxcdTIyMDJcXHUyMjA3XFx1MjI2MVxcdTIyNTJcXHhBN1xcdTIwM0JcXHUyNjA2XFx1MjYwNVxcdTI1Q0JcXHUyNUNGXFx1MjVDRVxcdTI1QzdcXHUyNUM2XFx1MjVBMVxcdTI1QTBcXHUyNUIzXFx1MjVCMlxcdTI1QkRcXHUyNUJDXFx1MjE5MlxcdTIxOTBcXHUyMTkxXFx1MjE5M1xcdTIxOTRcXHUzMDEzXFx1MjI2QVxcdTIyNkJcXHUyMjFBXFx1MjIzRFxcdTIyMURcXHUyMjM1XFx1MjIyQlxcdTIyMkNcXHUyMjA4XFx1MjIwQlxcdTIyODZcXHUyMjg3XFx1MjI4MlxcdTIyODNcXHUyMjJBXFx1MjIyOVxcdTIyMjdcXHUyMjI4XFx1RkZFMlwiXSxcbiAgICAgIFtcImEyNDFcIiwgXCJcXHVDOTEwXFx1QzkxMlwiLCA1LCBcIlxcdUM5MTlcIiwgMThdLFxuICAgICAgW1wiYTI2MVwiLCBcIlxcdUM5MkRcIiwgNiwgXCJcXHVDOTM1XCIsIDE4XSxcbiAgICAgIFtcImEyODFcIiwgXCJcXHVDOTQ4XCIsIDcsIFwiXFx1Qzk1MlxcdUM5NTNcXHVDOTU1XFx1Qzk1NlxcdUM5NTdcXHVDOTU5XCIsIDYsIFwiXFx1Qzk2MlxcdUM5NjRcIiwgNywgXCJcXHVDOTZEXFx1Qzk2RVxcdUM5NkZcXHUyMUQyXFx1MjFENFxcdTIyMDBcXHUyMjAzXFx4QjRcXHVGRjVFXFx1MDJDN1xcdTAyRDhcXHUwMkREXFx1MDJEQVxcdTAyRDlcXHhCOFxcdTAyREJcXHhBMVxceEJGXFx1MDJEMFxcdTIyMkVcXHUyMjExXFx1MjIwRlxceEE0XFx1MjEwOVxcdTIwMzBcXHUyNUMxXFx1MjVDMFxcdTI1QjdcXHUyNUI2XFx1MjY2NFxcdTI2NjBcXHUyNjYxXFx1MjY2NVxcdTI2NjdcXHUyNjYzXFx1MjI5OVxcdTI1QzhcXHUyNUEzXFx1MjVEMFxcdTI1RDFcXHUyNTkyXFx1MjVBNFxcdTI1QTVcXHUyNUE4XFx1MjVBN1xcdTI1QTZcXHUyNUE5XFx1MjY2OFxcdTI2MEZcXHUyNjBFXFx1MjYxQ1xcdTI2MUVcXHhCNlxcdTIwMjBcXHUyMDIxXFx1MjE5NVxcdTIxOTdcXHUyMTk5XFx1MjE5NlxcdTIxOThcXHUyNjZEXFx1MjY2OVxcdTI2NkFcXHUyNjZDXFx1MzI3RlxcdTMyMUNcXHUyMTE2XFx1MzNDN1xcdTIxMjJcXHUzM0MyXFx1MzNEOFxcdTIxMjFcXHUyMEFDXFx4QUVcIl0sXG4gICAgICBbXCJhMzQxXCIsIFwiXFx1Qzk3MVxcdUM5NzJcXHVDOTczXFx1Qzk3NVwiLCA2LCBcIlxcdUM5N0RcIiwgMTAsIFwiXFx1Qzk4QVxcdUM5OEJcXHVDOThEXFx1Qzk4RVxcdUM5OEZcIl0sXG4gICAgICBbXCJhMzYxXCIsIFwiXFx1Qzk5MVwiLCA2LCBcIlxcdUM5OUFcXHVDOTlDXFx1Qzk5RVwiLCAxNl0sXG4gICAgICBbXCJhMzgxXCIsIFwiXFx1QzlBRlwiLCAxNiwgXCJcXHVDOUMyXFx1QzlDM1xcdUM5QzVcXHVDOUM2XFx1QzlDOVxcdUM5Q0JcIiwgNCwgXCJcXHVDOUQyXFx1QzlENFxcdUM5RDdcXHVDOUQ4XFx1QzlEQlxcdUZGMDFcIiwgNTgsIFwiXFx1RkZFNlxcdUZGM0RcIiwgMzIsIFwiXFx1RkZFM1wiXSxcbiAgICAgIFtcImE0NDFcIiwgXCJcXHVDOURFXFx1QzlERlxcdUM5RTFcXHVDOUUzXFx1QzlFNVxcdUM5RTZcXHVDOUU4XFx1QzlFOVxcdUM5RUFcXHVDOUVCXFx1QzlFRVxcdUM5RjJcIiwgNSwgXCJcXHVDOUZBXFx1QzlGQlxcdUM5RkRcXHVDOUZFXFx1QzlGRlxcdUNBMDFcXHVDQTAyXFx1Q0EwM1xcdUNBMDRcIl0sXG4gICAgICBbXCJhNDYxXCIsIFwiXFx1Q0EwNVxcdUNBMDZcXHVDQTA3XFx1Q0EwQVxcdUNBMEVcIiwgNSwgXCJcXHVDQTE1XFx1Q0ExNlxcdUNBMTdcXHVDQTE5XCIsIDEyXSxcbiAgICAgIFtcImE0ODFcIiwgXCJcXHVDQTI2XFx1Q0EyN1xcdUNBMjhcXHVDQTJBXCIsIDI4LCBcIlxcdTMxMzFcIiwgOTNdLFxuICAgICAgW1wiYTU0MVwiLCBcIlxcdUNBNDdcIiwgNCwgXCJcXHVDQTRFXFx1Q0E0RlxcdUNBNTFcXHVDQTUyXFx1Q0E1M1xcdUNBNTVcIiwgNiwgXCJcXHVDQTVFXFx1Q0E2MlwiLCA1LCBcIlxcdUNBNjlcXHVDQTZBXCJdLFxuICAgICAgW1wiYTU2MVwiLCBcIlxcdUNBNkJcIiwgMTcsIFwiXFx1Q0E3RVwiLCA1LCBcIlxcdUNBODVcXHVDQTg2XCJdLFxuICAgICAgW1wiYTU4MVwiLCBcIlxcdUNBODdcIiwgMTYsIFwiXFx1Q0E5OVwiLCAxNCwgXCJcXHUyMTcwXCIsIDldLFxuICAgICAgW1wiYTViMFwiLCBcIlxcdTIxNjBcIiwgOV0sXG4gICAgICBbXCJhNWMxXCIsIFwiXFx1MDM5MVwiLCAxNiwgXCJcXHUwM0EzXCIsIDZdLFxuICAgICAgW1wiYTVlMVwiLCBcIlxcdTAzQjFcIiwgMTYsIFwiXFx1MDNDM1wiLCA2XSxcbiAgICAgIFtcImE2NDFcIiwgXCJcXHVDQUE4XCIsIDE5LCBcIlxcdUNBQkVcXHVDQUJGXFx1Q0FDMVxcdUNBQzJcXHVDQUMzXFx1Q0FDNVwiXSxcbiAgICAgIFtcImE2NjFcIiwgXCJcXHVDQUM2XCIsIDUsIFwiXFx1Q0FDRVxcdUNBRDBcXHVDQUQyXFx1Q0FENFxcdUNBRDVcXHVDQUQ2XFx1Q0FEN1xcdUNBREFcIiwgNSwgXCJcXHVDQUUxXCIsIDZdLFxuICAgICAgW1wiYTY4MVwiLCBcIlxcdUNBRThcXHVDQUU5XFx1Q0FFQVxcdUNBRUJcXHVDQUVEXCIsIDYsIFwiXFx1Q0FGNVwiLCAxOCwgXCJcXHVDQjA5XFx1Q0IwQVxcdTI1MDBcXHUyNTAyXFx1MjUwQ1xcdTI1MTBcXHUyNTE4XFx1MjUxNFxcdTI1MUNcXHUyNTJDXFx1MjUyNFxcdTI1MzRcXHUyNTNDXFx1MjUwMVxcdTI1MDNcXHUyNTBGXFx1MjUxM1xcdTI1MUJcXHUyNTE3XFx1MjUyM1xcdTI1MzNcXHUyNTJCXFx1MjUzQlxcdTI1NEJcXHUyNTIwXFx1MjUyRlxcdTI1MjhcXHUyNTM3XFx1MjUzRlxcdTI1MURcXHUyNTMwXFx1MjUyNVxcdTI1MzhcXHUyNTQyXFx1MjUxMlxcdTI1MTFcXHUyNTFBXFx1MjUxOVxcdTI1MTZcXHUyNTE1XFx1MjUwRVxcdTI1MERcXHUyNTFFXFx1MjUxRlxcdTI1MjFcXHUyNTIyXFx1MjUyNlxcdTI1MjdcXHUyNTI5XFx1MjUyQVxcdTI1MkRcXHUyNTJFXFx1MjUzMVxcdTI1MzJcXHUyNTM1XFx1MjUzNlxcdTI1MzlcXHUyNTNBXFx1MjUzRFxcdTI1M0VcXHUyNTQwXFx1MjU0MVxcdTI1NDNcIiwgN10sXG4gICAgICBbXCJhNzQxXCIsIFwiXFx1Q0IwQlwiLCA0LCBcIlxcdUNCMTFcXHVDQjEyXFx1Q0IxM1xcdUNCMTVcXHVDQjE2XFx1Q0IxN1xcdUNCMTlcIiwgNiwgXCJcXHVDQjIyXCIsIDddLFxuICAgICAgW1wiYTc2MVwiLCBcIlxcdUNCMkFcIiwgMjIsIFwiXFx1Q0I0MlxcdUNCNDNcXHVDQjQ0XCJdLFxuICAgICAgW1wiYTc4MVwiLCBcIlxcdUNCNDVcXHVDQjQ2XFx1Q0I0N1xcdUNCNEFcXHVDQjRCXFx1Q0I0RFxcdUNCNEVcXHVDQjRGXFx1Q0I1MVwiLCA2LCBcIlxcdUNCNUFcXHVDQjVCXFx1Q0I1Q1xcdUNCNUVcIiwgNSwgXCJcXHVDQjY1XCIsIDcsIFwiXFx1MzM5NVxcdTMzOTZcXHUzMzk3XFx1MjExM1xcdTMzOThcXHUzM0M0XFx1MzNBM1xcdTMzQTRcXHUzM0E1XFx1MzNBNlxcdTMzOTlcIiwgOSwgXCJcXHUzM0NBXFx1MzM4RFxcdTMzOEVcXHUzMzhGXFx1MzNDRlxcdTMzODhcXHUzMzg5XFx1MzNDOFxcdTMzQTdcXHUzM0E4XFx1MzNCMFwiLCA5LCBcIlxcdTMzODBcIiwgNCwgXCJcXHUzM0JBXCIsIDUsIFwiXFx1MzM5MFwiLCA0LCBcIlxcdTIxMjZcXHUzM0MwXFx1MzNDMVxcdTMzOEFcXHUzMzhCXFx1MzM4Q1xcdTMzRDZcXHUzM0M1XFx1MzNBRFxcdTMzQUVcXHUzM0FGXFx1MzNEQlxcdTMzQTlcXHUzM0FBXFx1MzNBQlxcdTMzQUNcXHUzM0REXFx1MzNEMFxcdTMzRDNcXHUzM0MzXFx1MzNDOVxcdTMzRENcXHUzM0M2XCJdLFxuICAgICAgW1wiYTg0MVwiLCBcIlxcdUNCNkRcIiwgMTAsIFwiXFx1Q0I3QVwiLCAxNF0sXG4gICAgICBbXCJhODYxXCIsIFwiXFx1Q0I4OVwiLCAxOCwgXCJcXHVDQjlEXCIsIDZdLFxuICAgICAgW1wiYTg4MVwiLCBcIlxcdUNCQTRcIiwgMTksIFwiXFx1Q0JCOVwiLCAxMSwgXCJcXHhDNlxceEQwXFx4QUFcXHUwMTI2XCJdLFxuICAgICAgW1wiYThhNlwiLCBcIlxcdTAxMzJcIl0sXG4gICAgICBbXCJhOGE4XCIsIFwiXFx1MDEzRlxcdTAxNDFcXHhEOFxcdTAxNTJcXHhCQVxceERFXFx1MDE2NlxcdTAxNEFcIl0sXG4gICAgICBbXCJhOGIxXCIsIFwiXFx1MzI2MFwiLCAyNywgXCJcXHUyNEQwXCIsIDI1LCBcIlxcdTI0NjBcIiwgMTQsIFwiXFx4QkRcXHUyMTUzXFx1MjE1NFxceEJDXFx4QkVcXHUyMTVCXFx1MjE1Q1xcdTIxNURcXHUyMTVFXCJdLFxuICAgICAgW1wiYTk0MVwiLCBcIlxcdUNCQzVcIiwgMTQsIFwiXFx1Q0JENVwiLCAxMF0sXG4gICAgICBbXCJhOTYxXCIsIFwiXFx1Q0JFMFxcdUNCRTFcXHVDQkUyXFx1Q0JFM1xcdUNCRTVcXHVDQkU2XFx1Q0JFOFxcdUNCRUFcIiwgMThdLFxuICAgICAgW1wiYTk4MVwiLCBcIlxcdUNCRkRcIiwgMTQsIFwiXFx1Q0MwRVxcdUNDMEZcXHVDQzExXFx1Q0MxMlxcdUNDMTNcXHVDQzE1XCIsIDYsIFwiXFx1Q0MxRVxcdUNDMUZcXHVDQzIwXFx1Q0MyM1xcdUNDMjRcXHhFNlxcdTAxMTFcXHhGMFxcdTAxMjdcXHUwMTMxXFx1MDEzM1xcdTAxMzhcXHUwMTQwXFx1MDE0MlxceEY4XFx1MDE1M1xceERGXFx4RkVcXHUwMTY3XFx1MDE0QlxcdTAxNDlcXHUzMjAwXCIsIDI3LCBcIlxcdTI0OUNcIiwgMjUsIFwiXFx1MjQ3NFwiLCAxNCwgXCJcXHhCOVxceEIyXFx4QjNcXHUyMDc0XFx1MjA3RlxcdTIwODFcXHUyMDgyXFx1MjA4M1xcdTIwODRcIl0sXG4gICAgICBbXCJhYTQxXCIsIFwiXFx1Q0MyNVxcdUNDMjZcXHVDQzJBXFx1Q0MyQlxcdUNDMkRcXHVDQzJGXFx1Q0MzMVwiLCA2LCBcIlxcdUNDM0FcXHVDQzNGXCIsIDQsIFwiXFx1Q0M0NlxcdUNDNDdcXHVDQzQ5XFx1Q0M0QVxcdUNDNEJcXHVDQzREXFx1Q0M0RVwiXSxcbiAgICAgIFtcImFhNjFcIiwgXCJcXHVDQzRGXCIsIDQsIFwiXFx1Q0M1NlxcdUNDNUFcIiwgNSwgXCJcXHVDQzYxXFx1Q0M2MlxcdUNDNjNcXHVDQzY1XFx1Q0M2N1xcdUNDNjlcIiwgNiwgXCJcXHVDQzcxXFx1Q0M3MlwiXSxcbiAgICAgIFtcImFhODFcIiwgXCJcXHVDQzczXFx1Q0M3NFxcdUNDNzZcIiwgMjksIFwiXFx1MzA0MVwiLCA4Ml0sXG4gICAgICBbXCJhYjQxXCIsIFwiXFx1Q0M5NFxcdUNDOTVcXHVDQzk2XFx1Q0M5N1xcdUNDOUFcXHVDQzlCXFx1Q0M5RFxcdUNDOUVcXHVDQzlGXFx1Q0NBMVwiLCA2LCBcIlxcdUNDQUFcXHVDQ0FFXCIsIDUsIFwiXFx1Q0NCNlxcdUNDQjdcXHVDQ0I5XCJdLFxuICAgICAgW1wiYWI2MVwiLCBcIlxcdUNDQkFcXHVDQ0JCXFx1Q0NCRFwiLCA2LCBcIlxcdUNDQzZcXHVDQ0M4XFx1Q0NDQVwiLCA1LCBcIlxcdUNDRDFcXHVDQ0QyXFx1Q0NEM1xcdUNDRDVcIiwgNV0sXG4gICAgICBbXCJhYjgxXCIsIFwiXFx1Q0NEQlwiLCA4LCBcIlxcdUNDRTVcIiwgNiwgXCJcXHVDQ0VEXFx1Q0NFRVxcdUNDRUZcXHVDQ0YxXCIsIDEyLCBcIlxcdTMwQTFcIiwgODVdLFxuICAgICAgW1wiYWM0MVwiLCBcIlxcdUNDRkVcXHVDQ0ZGXFx1Q0QwMFxcdUNEMDJcIiwgNSwgXCJcXHVDRDBBXFx1Q0QwQlxcdUNEMERcXHVDRDBFXFx1Q0QwRlxcdUNEMTFcIiwgNiwgXCJcXHVDRDFBXFx1Q0QxQ1xcdUNEMUVcXHVDRDFGXFx1Q0QyMFwiXSxcbiAgICAgIFtcImFjNjFcIiwgXCJcXHVDRDIxXFx1Q0QyMlxcdUNEMjNcXHVDRDI1XFx1Q0QyNlxcdUNEMjdcXHVDRDI5XFx1Q0QyQVxcdUNEMkJcXHVDRDJEXCIsIDExLCBcIlxcdUNEM0FcIiwgNF0sXG4gICAgICBbXCJhYzgxXCIsIFwiXFx1Q0QzRlwiLCAyOCwgXCJcXHVDRDVEXFx1Q0Q1RVxcdUNENUZcXHUwNDEwXCIsIDUsIFwiXFx1MDQwMVxcdTA0MTZcIiwgMjVdLFxuICAgICAgW1wiYWNkMVwiLCBcIlxcdTA0MzBcIiwgNSwgXCJcXHUwNDUxXFx1MDQzNlwiLCAyNV0sXG4gICAgICBbXCJhZDQxXCIsIFwiXFx1Q0Q2MVxcdUNENjJcXHVDRDYzXFx1Q0Q2NVwiLCA2LCBcIlxcdUNENkVcXHVDRDcwXFx1Q0Q3MlwiLCA1LCBcIlxcdUNENzlcIiwgN10sXG4gICAgICBbXCJhZDYxXCIsIFwiXFx1Q0Q4MVwiLCA2LCBcIlxcdUNEODlcIiwgMTAsIFwiXFx1Q0Q5NlxcdUNEOTdcXHVDRDk5XFx1Q0Q5QVxcdUNEOUJcXHVDRDlEXFx1Q0Q5RVxcdUNEOUZcIl0sXG4gICAgICBbXCJhZDgxXCIsIFwiXFx1Q0RBMFxcdUNEQTFcXHVDREEyXFx1Q0RBM1xcdUNEQTZcXHVDREE4XFx1Q0RBQVwiLCA1LCBcIlxcdUNEQjFcIiwgMTgsIFwiXFx1Q0RDNVwiXSxcbiAgICAgIFtcImFlNDFcIiwgXCJcXHVDREM2XCIsIDUsIFwiXFx1Q0RDRFxcdUNEQ0VcXHVDRENGXFx1Q0REMVwiLCAxNl0sXG4gICAgICBbXCJhZTYxXCIsIFwiXFx1Q0RFMlwiLCA1LCBcIlxcdUNERTlcXHVDREVBXFx1Q0RFQlxcdUNERURcXHVDREVFXFx1Q0RFRlxcdUNERjFcIiwgNiwgXCJcXHVDREZBXFx1Q0RGQ1xcdUNERkVcIiwgNF0sXG4gICAgICBbXCJhZTgxXCIsIFwiXFx1Q0UwM1xcdUNFMDVcXHVDRTA2XFx1Q0UwN1xcdUNFMDlcXHVDRTBBXFx1Q0UwQlxcdUNFMERcIiwgNiwgXCJcXHVDRTE1XFx1Q0UxNlxcdUNFMTdcXHVDRTE4XFx1Q0UxQVwiLCA1LCBcIlxcdUNFMjJcXHVDRTIzXFx1Q0UyNVxcdUNFMjZcXHVDRTI3XFx1Q0UyOVxcdUNFMkFcXHVDRTJCXCJdLFxuICAgICAgW1wiYWY0MVwiLCBcIlxcdUNFMkNcXHVDRTJEXFx1Q0UyRVxcdUNFMkZcXHVDRTMyXFx1Q0UzNFxcdUNFMzZcIiwgMTldLFxuICAgICAgW1wiYWY2MVwiLCBcIlxcdUNFNEFcIiwgMTMsIFwiXFx1Q0U1QVxcdUNFNUJcXHVDRTVEXFx1Q0U1RVxcdUNFNjJcIiwgNSwgXCJcXHVDRTZBXFx1Q0U2Q1wiXSxcbiAgICAgIFtcImFmODFcIiwgXCJcXHVDRTZFXCIsIDUsIFwiXFx1Q0U3NlxcdUNFNzdcXHVDRTc5XFx1Q0U3QVxcdUNFN0JcXHVDRTdEXCIsIDYsIFwiXFx1Q0U4NlxcdUNFODhcXHVDRThBXCIsIDUsIFwiXFx1Q0U5MlxcdUNFOTNcXHVDRTk1XFx1Q0U5NlxcdUNFOTdcXHVDRTk5XCJdLFxuICAgICAgW1wiYjA0MVwiLCBcIlxcdUNFOUFcIiwgNSwgXCJcXHVDRUEyXFx1Q0VBNlwiLCA1LCBcIlxcdUNFQUVcIiwgMTJdLFxuICAgICAgW1wiYjA2MVwiLCBcIlxcdUNFQkJcIiwgNSwgXCJcXHVDRUMyXCIsIDE5XSxcbiAgICAgIFtcImIwODFcIiwgXCJcXHVDRUQ2XCIsIDEzLCBcIlxcdUNFRTZcXHVDRUU3XFx1Q0VFOVxcdUNFRUFcXHVDRUVEXCIsIDYsIFwiXFx1Q0VGNlxcdUNFRkFcIiwgNSwgXCJcXHVBQzAwXFx1QUMwMVxcdUFDMDRcXHVBQzA3XFx1QUMwOFxcdUFDMDlcXHVBQzBBXFx1QUMxMFwiLCA3LCBcIlxcdUFDMTlcIiwgNCwgXCJcXHVBQzIwXFx1QUMyNFxcdUFDMkNcXHVBQzJEXFx1QUMyRlxcdUFDMzBcXHVBQzMxXFx1QUMzOFxcdUFDMzlcXHVBQzNDXFx1QUM0MFxcdUFDNEJcXHVBQzREXFx1QUM1NFxcdUFDNThcXHVBQzVDXFx1QUM3MFxcdUFDNzFcXHVBQzc0XFx1QUM3N1xcdUFDNzhcXHVBQzdBXFx1QUM4MFxcdUFDODFcXHVBQzgzXFx1QUM4NFxcdUFDODVcXHVBQzg2XFx1QUM4OVxcdUFDOEFcXHVBQzhCXFx1QUM4Q1xcdUFDOTBcXHVBQzk0XFx1QUM5Q1xcdUFDOURcXHVBQzlGXFx1QUNBMFxcdUFDQTFcXHVBQ0E4XFx1QUNBOVxcdUFDQUFcXHVBQ0FDXFx1QUNBRlxcdUFDQjBcXHVBQ0I4XFx1QUNCOVxcdUFDQkJcXHVBQ0JDXFx1QUNCRFxcdUFDQzFcXHVBQ0M0XFx1QUNDOFxcdUFDQ0NcXHVBQ0Q1XFx1QUNEN1xcdUFDRTBcXHVBQ0UxXFx1QUNFNFxcdUFDRTdcXHVBQ0U4XFx1QUNFQVxcdUFDRUNcXHVBQ0VGXFx1QUNGMFxcdUFDRjFcXHVBQ0YzXFx1QUNGNVxcdUFDRjZcXHVBQ0ZDXFx1QUNGRFxcdUFEMDBcXHVBRDA0XFx1QUQwNlwiXSxcbiAgICAgIFtcImIxNDFcIiwgXCJcXHVDRjAyXFx1Q0YwM1xcdUNGMDVcXHVDRjA2XFx1Q0YwN1xcdUNGMDlcIiwgNiwgXCJcXHVDRjEyXFx1Q0YxNFxcdUNGMTZcIiwgNSwgXCJcXHVDRjFEXFx1Q0YxRVxcdUNGMUZcXHVDRjIxXFx1Q0YyMlxcdUNGMjNcIl0sXG4gICAgICBbXCJiMTYxXCIsIFwiXFx1Q0YyNVwiLCA2LCBcIlxcdUNGMkVcXHVDRjMyXCIsIDUsIFwiXFx1Q0YzOVwiLCAxMV0sXG4gICAgICBbXCJiMTgxXCIsIFwiXFx1Q0Y0NVwiLCAxNCwgXCJcXHVDRjU2XFx1Q0Y1N1xcdUNGNTlcXHVDRjVBXFx1Q0Y1QlxcdUNGNURcIiwgNiwgXCJcXHVDRjY2XFx1Q0Y2OFxcdUNGNkFcXHVDRjZCXFx1Q0Y2Q1xcdUFEMENcXHVBRDBEXFx1QUQwRlxcdUFEMTFcXHVBRDE4XFx1QUQxQ1xcdUFEMjBcXHVBRDI5XFx1QUQyQ1xcdUFEMkRcXHVBRDM0XFx1QUQzNVxcdUFEMzhcXHVBRDNDXFx1QUQ0NFxcdUFENDVcXHVBRDQ3XFx1QUQ0OVxcdUFENTBcXHVBRDU0XFx1QUQ1OFxcdUFENjFcXHVBRDYzXFx1QUQ2Q1xcdUFENkRcXHVBRDcwXFx1QUQ3M1xcdUFENzRcXHVBRDc1XFx1QUQ3NlxcdUFEN0JcXHVBRDdDXFx1QUQ3RFxcdUFEN0ZcXHVBRDgxXFx1QUQ4MlxcdUFEODhcXHVBRDg5XFx1QUQ4Q1xcdUFEOTBcXHVBRDlDXFx1QUQ5RFxcdUFEQTRcXHVBREI3XFx1QURDMFxcdUFEQzFcXHVBREM0XFx1QURDOFxcdUFERDBcXHVBREQxXFx1QUREM1xcdUFERENcXHVBREUwXFx1QURFNFxcdUFERjhcXHVBREY5XFx1QURGQ1xcdUFERkZcXHVBRTAwXFx1QUUwMVxcdUFFMDhcXHVBRTA5XFx1QUUwQlxcdUFFMERcXHVBRTE0XFx1QUUzMFxcdUFFMzFcXHVBRTM0XFx1QUUzN1xcdUFFMzhcXHVBRTNBXFx1QUU0MFxcdUFFNDFcXHVBRTQzXFx1QUU0NVxcdUFFNDZcXHVBRTRBXFx1QUU0Q1xcdUFFNERcXHVBRTRFXFx1QUU1MFxcdUFFNTRcXHVBRTU2XFx1QUU1Q1xcdUFFNURcXHVBRTVGXFx1QUU2MFxcdUFFNjFcXHVBRTY1XFx1QUU2OFxcdUFFNjlcXHVBRTZDXFx1QUU3MFxcdUFFNzhcIl0sXG4gICAgICBbXCJiMjQxXCIsIFwiXFx1Q0Y2RFxcdUNGNkVcXHVDRjZGXFx1Q0Y3MlxcdUNGNzNcXHVDRjc1XFx1Q0Y3NlxcdUNGNzdcXHVDRjc5XCIsIDYsIFwiXFx1Q0Y4MVxcdUNGODJcXHVDRjgzXFx1Q0Y4NFxcdUNGODZcIiwgNSwgXCJcXHVDRjhEXCJdLFxuICAgICAgW1wiYjI2MVwiLCBcIlxcdUNGOEVcIiwgMTgsIFwiXFx1Q0ZBMlwiLCA1LCBcIlxcdUNGQTlcIl0sXG4gICAgICBbXCJiMjgxXCIsIFwiXFx1Q0ZBQVwiLCA1LCBcIlxcdUNGQjFcIiwgMTgsIFwiXFx1Q0ZDNVwiLCA2LCBcIlxcdUFFNzlcXHVBRTdCXFx1QUU3Q1xcdUFFN0RcXHVBRTg0XFx1QUU4NVxcdUFFOENcXHVBRUJDXFx1QUVCRFxcdUFFQkVcXHVBRUMwXFx1QUVDNFxcdUFFQ0NcXHVBRUNEXFx1QUVDRlxcdUFFRDBcXHVBRUQxXFx1QUVEOFxcdUFFRDlcXHVBRURDXFx1QUVFOFxcdUFFRUJcXHVBRUVEXFx1QUVGNFxcdUFFRjhcXHVBRUZDXFx1QUYwN1xcdUFGMDhcXHVBRjBEXFx1QUYxMFxcdUFGMkNcXHVBRjJEXFx1QUYzMFxcdUFGMzJcXHVBRjM0XFx1QUYzQ1xcdUFGM0RcXHVBRjNGXFx1QUY0MVxcdUFGNDJcXHVBRjQzXFx1QUY0OFxcdUFGNDlcXHVBRjUwXFx1QUY1Q1xcdUFGNURcXHVBRjY0XFx1QUY2NVxcdUFGNzlcXHVBRjgwXFx1QUY4NFxcdUFGODhcXHVBRjkwXFx1QUY5MVxcdUFGOTVcXHVBRjlDXFx1QUZCOFxcdUFGQjlcXHVBRkJDXFx1QUZDMFxcdUFGQzdcXHVBRkM4XFx1QUZDOVxcdUFGQ0JcXHVBRkNEXFx1QUZDRVxcdUFGRDRcXHVBRkRDXFx1QUZFOFxcdUFGRTlcXHVBRkYwXFx1QUZGMVxcdUFGRjRcXHVBRkY4XFx1QjAwMFxcdUIwMDFcXHVCMDA0XFx1QjAwQ1xcdUIwMTBcXHVCMDE0XFx1QjAxQ1xcdUIwMURcXHVCMDI4XFx1QjA0NFxcdUIwNDVcXHVCMDQ4XFx1QjA0QVxcdUIwNENcXHVCMDRFXFx1QjA1M1xcdUIwNTRcXHVCMDU1XFx1QjA1N1xcdUIwNTlcIl0sXG4gICAgICBbXCJiMzQxXCIsIFwiXFx1Q0ZDQ1wiLCAxOSwgXCJcXHVDRkUyXFx1Q0ZFM1xcdUNGRTVcXHVDRkU2XFx1Q0ZFN1xcdUNGRTlcIl0sXG4gICAgICBbXCJiMzYxXCIsIFwiXFx1Q0ZFQVwiLCA1LCBcIlxcdUNGRjJcXHVDRkY0XFx1Q0ZGNlwiLCA1LCBcIlxcdUNGRkRcXHVDRkZFXFx1Q0ZGRlxcdUQwMDFcXHVEMDAyXFx1RDAwM1xcdUQwMDVcIiwgNV0sXG4gICAgICBbXCJiMzgxXCIsIFwiXFx1RDAwQlwiLCA1LCBcIlxcdUQwMTJcIiwgNSwgXCJcXHVEMDE5XCIsIDE5LCBcIlxcdUIwNURcXHVCMDdDXFx1QjA3RFxcdUIwODBcXHVCMDg0XFx1QjA4Q1xcdUIwOERcXHVCMDhGXFx1QjA5MVxcdUIwOThcXHVCMDk5XFx1QjA5QVxcdUIwOUNcXHVCMDlGXFx1QjBBMFxcdUIwQTFcXHVCMEEyXFx1QjBBOFxcdUIwQTlcXHVCMEFCXCIsIDQsIFwiXFx1QjBCMVxcdUIwQjNcXHVCMEI0XFx1QjBCNVxcdUIwQjhcXHVCMEJDXFx1QjBDNFxcdUIwQzVcXHVCMEM3XFx1QjBDOFxcdUIwQzlcXHVCMEQwXFx1QjBEMVxcdUIwRDRcXHVCMEQ4XFx1QjBFMFxcdUIwRTVcXHVCMTA4XFx1QjEwOVxcdUIxMEJcXHVCMTBDXFx1QjExMFxcdUIxMTJcXHVCMTEzXFx1QjExOFxcdUIxMTlcXHVCMTFCXFx1QjExQ1xcdUIxMURcXHVCMTIzXFx1QjEyNFxcdUIxMjVcXHVCMTI4XFx1QjEyQ1xcdUIxMzRcXHVCMTM1XFx1QjEzN1xcdUIxMzhcXHVCMTM5XFx1QjE0MFxcdUIxNDFcXHVCMTQ0XFx1QjE0OFxcdUIxNTBcXHVCMTUxXFx1QjE1NFxcdUIxNTVcXHVCMTU4XFx1QjE1Q1xcdUIxNjBcXHVCMTc4XFx1QjE3OVxcdUIxN0NcXHVCMTgwXFx1QjE4MlxcdUIxODhcXHVCMTg5XFx1QjE4QlxcdUIxOERcXHVCMTkyXFx1QjE5M1xcdUIxOTRcXHVCMTk4XFx1QjE5Q1xcdUIxQThcXHVCMUNDXFx1QjFEMFxcdUIxRDRcXHVCMURDXFx1QjFERFwiXSxcbiAgICAgIFtcImI0NDFcIiwgXCJcXHVEMDJFXCIsIDUsIFwiXFx1RDAzNlxcdUQwMzdcXHVEMDM5XFx1RDAzQVxcdUQwM0JcXHVEMDNEXCIsIDYsIFwiXFx1RDA0NlxcdUQwNDhcXHVEMDRBXCIsIDVdLFxuICAgICAgW1wiYjQ2MVwiLCBcIlxcdUQwNTFcXHVEMDUyXFx1RDA1M1xcdUQwNTVcXHVEMDU2XFx1RDA1N1xcdUQwNTlcIiwgNiwgXCJcXHVEMDYxXCIsIDEwLCBcIlxcdUQwNkVcXHVEMDZGXCJdLFxuICAgICAgW1wiYjQ4MVwiLCBcIlxcdUQwNzFcXHVEMDcyXFx1RDA3M1xcdUQwNzVcIiwgNiwgXCJcXHVEMDdFXFx1RDA3RlxcdUQwODBcXHVEMDgyXCIsIDE4LCBcIlxcdUIxREZcXHVCMUU4XFx1QjFFOVxcdUIxRUNcXHVCMUYwXFx1QjFGOVxcdUIxRkJcXHVCMUZEXFx1QjIwNFxcdUIyMDVcXHVCMjA4XFx1QjIwQlxcdUIyMENcXHVCMjE0XFx1QjIxNVxcdUIyMTdcXHVCMjE5XFx1QjIyMFxcdUIyMzRcXHVCMjNDXFx1QjI1OFxcdUIyNUNcXHVCMjYwXFx1QjI2OFxcdUIyNjlcXHVCMjc0XFx1QjI3NVxcdUIyN0NcXHVCMjg0XFx1QjI4NVxcdUIyODlcXHVCMjkwXFx1QjI5MVxcdUIyOTRcXHVCMjk4XFx1QjI5OVxcdUIyOUFcXHVCMkEwXFx1QjJBMVxcdUIyQTNcXHVCMkE1XFx1QjJBNlxcdUIyQUFcXHVCMkFDXFx1QjJCMFxcdUIyQjRcXHVCMkM4XFx1QjJDOVxcdUIyQ0NcXHVCMkQwXFx1QjJEMlxcdUIyRDhcXHVCMkQ5XFx1QjJEQlxcdUIyRERcXHVCMkUyXFx1QjJFNFxcdUIyRTVcXHVCMkU2XFx1QjJFOFxcdUIyRUJcIiwgNCwgXCJcXHVCMkYzXFx1QjJGNFxcdUIyRjVcXHVCMkY3XCIsIDQsIFwiXFx1QjJGRlxcdUIzMDBcXHVCMzAxXFx1QjMwNFxcdUIzMDhcXHVCMzEwXFx1QjMxMVxcdUIzMTNcXHVCMzE0XFx1QjMxNVxcdUIzMUNcXHVCMzU0XFx1QjM1NVxcdUIzNTZcXHVCMzU4XFx1QjM1QlxcdUIzNUNcXHVCMzVFXFx1QjM1RlxcdUIzNjRcXHVCMzY1XCJdLFxuICAgICAgW1wiYjU0MVwiLCBcIlxcdUQwOTVcIiwgMTQsIFwiXFx1RDBBNlxcdUQwQTdcXHVEMEE5XFx1RDBBQVxcdUQwQUJcXHVEMEFEXCIsIDVdLFxuICAgICAgW1wiYjU2MVwiLCBcIlxcdUQwQjNcXHVEMEI2XFx1RDBCOFxcdUQwQkFcIiwgNSwgXCJcXHVEMEMyXFx1RDBDM1xcdUQwQzVcXHVEMEM2XFx1RDBDN1xcdUQwQ0FcIiwgNSwgXCJcXHVEMEQyXFx1RDBENlwiLCA0XSxcbiAgICAgIFtcImI1ODFcIiwgXCJcXHVEMERCXFx1RDBERVxcdUQwREZcXHVEMEUxXFx1RDBFMlxcdUQwRTNcXHVEMEU1XCIsIDYsIFwiXFx1RDBFRVxcdUQwRjJcIiwgNSwgXCJcXHVEMEY5XCIsIDExLCBcIlxcdUIzNjdcXHVCMzY5XFx1QjM2QlxcdUIzNkVcXHVCMzcwXFx1QjM3MVxcdUIzNzRcXHVCMzc4XFx1QjM4MFxcdUIzODFcXHVCMzgzXFx1QjM4NFxcdUIzODVcXHVCMzhDXFx1QjM5MFxcdUIzOTRcXHVCM0EwXFx1QjNBMVxcdUIzQThcXHVCM0FDXFx1QjNDNFxcdUIzQzVcXHVCM0M4XFx1QjNDQlxcdUIzQ0NcXHVCM0NFXFx1QjNEMFxcdUIzRDRcXHVCM0Q1XFx1QjNEN1xcdUIzRDlcXHVCM0RCXFx1QjNERFxcdUIzRTBcXHVCM0U0XFx1QjNFOFxcdUIzRkNcXHVCNDEwXFx1QjQxOFxcdUI0MUNcXHVCNDIwXFx1QjQyOFxcdUI0MjlcXHVCNDJCXFx1QjQzNFxcdUI0NTBcXHVCNDUxXFx1QjQ1NFxcdUI0NThcXHVCNDYwXFx1QjQ2MVxcdUI0NjNcXHVCNDY1XFx1QjQ2Q1xcdUI0ODBcXHVCNDg4XFx1QjQ5RFxcdUI0QTRcXHVCNEE4XFx1QjRBQ1xcdUI0QjVcXHVCNEI3XFx1QjRCOVxcdUI0QzBcXHVCNEM0XFx1QjRDOFxcdUI0RDBcXHVCNEQ1XFx1QjREQ1xcdUI0RERcXHVCNEUwXFx1QjRFM1xcdUI0RTRcXHVCNEU2XFx1QjRFQ1xcdUI0RURcXHVCNEVGXFx1QjRGMVxcdUI0RjhcXHVCNTE0XFx1QjUxNVxcdUI1MThcXHVCNTFCXFx1QjUxQ1xcdUI1MjRcXHVCNTI1XFx1QjUyN1xcdUI1MjhcXHVCNTI5XFx1QjUyQVxcdUI1MzBcXHVCNTMxXFx1QjUzNFxcdUI1MzhcIl0sXG4gICAgICBbXCJiNjQxXCIsIFwiXFx1RDEwNVwiLCA3LCBcIlxcdUQxMEVcIiwgMTddLFxuICAgICAgW1wiYjY2MVwiLCBcIlxcdUQxMjBcIiwgMTUsIFwiXFx1RDEzMlxcdUQxMzNcXHVEMTM1XFx1RDEzNlxcdUQxMzdcXHVEMTM5XFx1RDEzQlxcdUQxM0NcXHVEMTNEXFx1RDEzRVwiXSxcbiAgICAgIFtcImI2ODFcIiwgXCJcXHVEMTNGXFx1RDE0MlxcdUQxNDZcIiwgNSwgXCJcXHVEMTRFXFx1RDE0RlxcdUQxNTFcXHVEMTUyXFx1RDE1M1xcdUQxNTVcIiwgNiwgXCJcXHVEMTVFXFx1RDE2MFxcdUQxNjJcIiwgNSwgXCJcXHVEMTY5XFx1RDE2QVxcdUQxNkJcXHVEMTZEXFx1QjU0MFxcdUI1NDFcXHVCNTQzXFx1QjU0NFxcdUI1NDVcXHVCNTRCXFx1QjU0Q1xcdUI1NERcXHVCNTUwXFx1QjU1NFxcdUI1NUNcXHVCNTVEXFx1QjU1RlxcdUI1NjBcXHVCNTYxXFx1QjVBMFxcdUI1QTFcXHVCNUE0XFx1QjVBOFxcdUI1QUFcXHVCNUFCXFx1QjVCMFxcdUI1QjFcXHVCNUIzXFx1QjVCNFxcdUI1QjVcXHVCNUJCXFx1QjVCQ1xcdUI1QkRcXHVCNUMwXFx1QjVDNFxcdUI1Q0NcXHVCNUNEXFx1QjVDRlxcdUI1RDBcXHVCNUQxXFx1QjVEOFxcdUI1RUNcXHVCNjEwXFx1QjYxMVxcdUI2MTRcXHVCNjE4XFx1QjYyNVxcdUI2MkNcXHVCNjM0XFx1QjY0OFxcdUI2NjRcXHVCNjY4XFx1QjY5Q1xcdUI2OURcXHVCNkEwXFx1QjZBNFxcdUI2QUJcXHVCNkFDXFx1QjZCMVxcdUI2RDRcXHVCNkYwXFx1QjZGNFxcdUI2RjhcXHVCNzAwXFx1QjcwMVxcdUI3MDVcXHVCNzI4XFx1QjcyOVxcdUI3MkNcXHVCNzJGXFx1QjczMFxcdUI3MzhcXHVCNzM5XFx1QjczQlxcdUI3NDRcXHVCNzQ4XFx1Qjc0Q1xcdUI3NTRcXHVCNzU1XFx1Qjc2MFxcdUI3NjRcXHVCNzY4XFx1Qjc3MFxcdUI3NzFcXHVCNzczXFx1Qjc3NVxcdUI3N0NcXHVCNzdEXFx1Qjc4MFxcdUI3ODRcXHVCNzhDXFx1Qjc4RFxcdUI3OEZcXHVCNzkwXFx1Qjc5MVxcdUI3OTJcXHVCNzk2XFx1Qjc5N1wiXSxcbiAgICAgIFtcImI3NDFcIiwgXCJcXHVEMTZFXCIsIDEzLCBcIlxcdUQxN0RcIiwgNiwgXCJcXHVEMTg1XFx1RDE4NlxcdUQxODdcXHVEMTg5XFx1RDE4QVwiXSxcbiAgICAgIFtcImI3NjFcIiwgXCJcXHVEMThCXCIsIDIwLCBcIlxcdUQxQTJcXHVEMUEzXFx1RDFBNVxcdUQxQTZcXHVEMUE3XCJdLFxuICAgICAgW1wiYjc4MVwiLCBcIlxcdUQxQTlcIiwgNiwgXCJcXHVEMUIyXFx1RDFCNFxcdUQxQjZcXHVEMUI3XFx1RDFCOFxcdUQxQjlcXHVEMUJCXFx1RDFCRFxcdUQxQkVcXHVEMUJGXFx1RDFDMVwiLCAxNCwgXCJcXHVCNzk4XFx1Qjc5OVxcdUI3OUNcXHVCN0EwXFx1QjdBOFxcdUI3QTlcXHVCN0FCXFx1QjdBQ1xcdUI3QURcXHVCN0I0XFx1QjdCNVxcdUI3QjhcXHVCN0M3XFx1QjdDOVxcdUI3RUNcXHVCN0VEXFx1QjdGMFxcdUI3RjRcXHVCN0ZDXFx1QjdGRFxcdUI3RkZcXHVCODAwXFx1QjgwMVxcdUI4MDdcXHVCODA4XFx1QjgwOVxcdUI4MENcXHVCODEwXFx1QjgxOFxcdUI4MTlcXHVCODFCXFx1QjgxRFxcdUI4MjRcXHVCODI1XFx1QjgyOFxcdUI4MkNcXHVCODM0XFx1QjgzNVxcdUI4MzdcXHVCODM4XFx1QjgzOVxcdUI4NDBcXHVCODQ0XFx1Qjg1MVxcdUI4NTNcXHVCODVDXFx1Qjg1RFxcdUI4NjBcXHVCODY0XFx1Qjg2Q1xcdUI4NkRcXHVCODZGXFx1Qjg3MVxcdUI4NzhcXHVCODdDXFx1Qjg4RFxcdUI4QThcXHVCOEIwXFx1QjhCNFxcdUI4QjhcXHVCOEMwXFx1QjhDMVxcdUI4QzNcXHVCOEM1XFx1QjhDQ1xcdUI4RDBcXHVCOEQ0XFx1QjhERFxcdUI4REZcXHVCOEUxXFx1QjhFOFxcdUI4RTlcXHVCOEVDXFx1QjhGMFxcdUI4RjhcXHVCOEY5XFx1QjhGQlxcdUI4RkRcXHVCOTA0XFx1QjkxOFxcdUI5MjBcXHVCOTNDXFx1QjkzRFxcdUI5NDBcXHVCOTQ0XFx1Qjk0Q1xcdUI5NEZcXHVCOTUxXFx1Qjk1OFxcdUI5NTlcXHVCOTVDXFx1Qjk2MFxcdUI5NjhcXHVCOTY5XCJdLFxuICAgICAgW1wiYjg0MVwiLCBcIlxcdUQxRDBcIiwgNywgXCJcXHVEMUQ5XCIsIDE3XSxcbiAgICAgIFtcImI4NjFcIiwgXCJcXHVEMUVCXCIsIDgsIFwiXFx1RDFGNVxcdUQxRjZcXHVEMUY3XFx1RDFGOVwiLCAxM10sXG4gICAgICBbXCJiODgxXCIsIFwiXFx1RDIwOFxcdUQyMEFcIiwgNSwgXCJcXHVEMjExXCIsIDI0LCBcIlxcdUI5NkJcXHVCOTZEXFx1Qjk3NFxcdUI5NzVcXHVCOTc4XFx1Qjk3Q1xcdUI5ODRcXHVCOTg1XFx1Qjk4N1xcdUI5ODlcXHVCOThBXFx1Qjk4RFxcdUI5OEVcXHVCOUFDXFx1QjlBRFxcdUI5QjBcXHVCOUI0XFx1QjlCQ1xcdUI5QkRcXHVCOUJGXFx1QjlDMVxcdUI5QzhcXHVCOUM5XFx1QjlDQ1xcdUI5Q0VcIiwgNCwgXCJcXHVCOUQ4XFx1QjlEOVxcdUI5REJcXHVCOUREXFx1QjlERVxcdUI5RTFcXHVCOUUzXFx1QjlFNFxcdUI5RTVcXHVCOUU4XFx1QjlFQ1xcdUI5RjRcXHVCOUY1XFx1QjlGN1xcdUI5RjhcXHVCOUY5XFx1QjlGQVxcdUJBMDBcXHVCQTAxXFx1QkEwOFxcdUJBMTVcXHVCQTM4XFx1QkEzOVxcdUJBM0NcXHVCQTQwXFx1QkE0MlxcdUJBNDhcXHVCQTQ5XFx1QkE0QlxcdUJBNERcXHVCQTRFXFx1QkE1M1xcdUJBNTRcXHVCQTU1XFx1QkE1OFxcdUJBNUNcXHVCQTY0XFx1QkE2NVxcdUJBNjdcXHVCQTY4XFx1QkE2OVxcdUJBNzBcXHVCQTcxXFx1QkE3NFxcdUJBNzhcXHVCQTgzXFx1QkE4NFxcdUJBODVcXHVCQTg3XFx1QkE4Q1xcdUJBQThcXHVCQUE5XFx1QkFBQlxcdUJBQUNcXHVCQUIwXFx1QkFCMlxcdUJBQjhcXHVCQUI5XFx1QkFCQlxcdUJBQkRcXHVCQUM0XFx1QkFDOFxcdUJBRDhcXHVCQUQ5XFx1QkFGQ1wiXSxcbiAgICAgIFtcImI5NDFcIiwgXCJcXHVEMjJBXFx1RDIyQlxcdUQyMkVcXHVEMjJGXFx1RDIzMVxcdUQyMzJcXHVEMjMzXFx1RDIzNVwiLCA2LCBcIlxcdUQyM0VcXHVEMjQwXFx1RDI0MlwiLCA1LCBcIlxcdUQyNDlcXHVEMjRBXFx1RDI0QlxcdUQyNENcIl0sXG4gICAgICBbXCJiOTYxXCIsIFwiXFx1RDI0RFwiLCAxNCwgXCJcXHVEMjVEXCIsIDYsIFwiXFx1RDI2NVxcdUQyNjZcXHVEMjY3XFx1RDI2OFwiXSxcbiAgICAgIFtcImI5ODFcIiwgXCJcXHVEMjY5XCIsIDIyLCBcIlxcdUQyODJcXHVEMjgzXFx1RDI4NVxcdUQyODZcXHVEMjg3XFx1RDI4OVxcdUQyOEFcXHVEMjhCXFx1RDI4Q1xcdUJCMDBcXHVCQjA0XFx1QkIwRFxcdUJCMEZcXHVCQjExXFx1QkIxOFxcdUJCMUNcXHVCQjIwXFx1QkIyOVxcdUJCMkJcXHVCQjM0XFx1QkIzNVxcdUJCMzZcXHVCQjM4XFx1QkIzQlxcdUJCM0NcXHVCQjNEXFx1QkIzRVxcdUJCNDRcXHVCQjQ1XFx1QkI0N1xcdUJCNDlcXHVCQjREXFx1QkI0RlxcdUJCNTBcXHVCQjU0XFx1QkI1OFxcdUJCNjFcXHVCQjYzXFx1QkI2Q1xcdUJCODhcXHVCQjhDXFx1QkI5MFxcdUJCQTRcXHVCQkE4XFx1QkJBQ1xcdUJCQjRcXHVCQkI3XFx1QkJDMFxcdUJCQzRcXHVCQkM4XFx1QkJEMFxcdUJCRDNcXHVCQkY4XFx1QkJGOVxcdUJCRkNcXHVCQkZGXFx1QkMwMFxcdUJDMDJcXHVCQzA4XFx1QkMwOVxcdUJDMEJcXHVCQzBDXFx1QkMwRFxcdUJDMEZcXHVCQzExXFx1QkMxNFwiLCA0LCBcIlxcdUJDMUJcIiwgNCwgXCJcXHVCQzI0XFx1QkMyNVxcdUJDMjdcXHVCQzI5XFx1QkMyRFxcdUJDMzBcXHVCQzMxXFx1QkMzNFxcdUJDMzhcXHVCQzQwXFx1QkM0MVxcdUJDNDNcXHVCQzQ0XFx1QkM0NVxcdUJDNDlcXHVCQzRDXFx1QkM0RFxcdUJDNTBcXHVCQzVEXFx1QkM4NFxcdUJDODVcXHVCQzg4XFx1QkM4QlxcdUJDOENcXHVCQzhFXFx1QkM5NFxcdUJDOTVcXHVCQzk3XCJdLFxuICAgICAgW1wiYmE0MVwiLCBcIlxcdUQyOERcXHVEMjhFXFx1RDI4RlxcdUQyOTJcXHVEMjkzXFx1RDI5NFxcdUQyOTZcIiwgNSwgXCJcXHVEMjlEXFx1RDI5RVxcdUQyOUZcXHVEMkExXFx1RDJBMlxcdUQyQTNcXHVEMkE1XCIsIDYsIFwiXFx1RDJBRFwiXSxcbiAgICAgIFtcImJhNjFcIiwgXCJcXHVEMkFFXFx1RDJBRlxcdUQyQjBcXHVEMkIyXCIsIDUsIFwiXFx1RDJCQVxcdUQyQkJcXHVEMkJEXFx1RDJCRVxcdUQyQzFcXHVEMkMzXCIsIDQsIFwiXFx1RDJDQVxcdUQyQ0NcIiwgNV0sXG4gICAgICBbXCJiYTgxXCIsIFwiXFx1RDJEMlxcdUQyRDNcXHVEMkQ1XFx1RDJENlxcdUQyRDdcXHVEMkQ5XFx1RDJEQVxcdUQyREJcXHVEMkREXCIsIDYsIFwiXFx1RDJFNlwiLCA5LCBcIlxcdUQyRjJcXHVEMkYzXFx1RDJGNVxcdUQyRjZcXHVEMkY3XFx1RDJGOVxcdUQyRkFcXHVCQzk5XFx1QkM5QVxcdUJDQTBcXHVCQ0ExXFx1QkNBNFxcdUJDQTdcXHVCQ0E4XFx1QkNCMFxcdUJDQjFcXHVCQ0IzXFx1QkNCNFxcdUJDQjVcXHVCQ0JDXFx1QkNCRFxcdUJDQzBcXHVCQ0M0XFx1QkNDRFxcdUJDQ0ZcXHVCQ0QwXFx1QkNEMVxcdUJDRDVcXHVCQ0Q4XFx1QkNEQ1xcdUJDRjRcXHVCQ0Y1XFx1QkNGNlxcdUJDRjhcXHVCQ0ZDXFx1QkQwNFxcdUJEMDVcXHVCRDA3XFx1QkQwOVxcdUJEMTBcXHVCRDE0XFx1QkQyNFxcdUJEMkNcXHVCRDQwXFx1QkQ0OFxcdUJENDlcXHVCRDRDXFx1QkQ1MFxcdUJENThcXHVCRDU5XFx1QkQ2NFxcdUJENjhcXHVCRDgwXFx1QkQ4MVxcdUJEODRcXHVCRDg3XFx1QkQ4OFxcdUJEODlcXHVCRDhBXFx1QkQ5MFxcdUJEOTFcXHVCRDkzXFx1QkQ5NVxcdUJEOTlcXHVCRDlBXFx1QkQ5Q1xcdUJEQTRcXHVCREIwXFx1QkRCOFxcdUJERDRcXHVCREQ1XFx1QkREOFxcdUJERENcXHVCREU5XFx1QkRGMFxcdUJERjRcXHVCREY4XFx1QkUwMFxcdUJFMDNcXHVCRTA1XFx1QkUwQ1xcdUJFMERcXHVCRTEwXFx1QkUxNFxcdUJFMUNcXHVCRTFEXFx1QkUxRlxcdUJFNDRcXHVCRTQ1XFx1QkU0OFxcdUJFNENcXHVCRTRFXFx1QkU1NFxcdUJFNTVcXHVCRTU3XFx1QkU1OVxcdUJFNUFcXHVCRTVCXFx1QkU2MFxcdUJFNjFcXHVCRTY0XCJdLFxuICAgICAgW1wiYmI0MVwiLCBcIlxcdUQyRkJcIiwgNCwgXCJcXHVEMzAyXFx1RDMwNFxcdUQzMDZcIiwgNSwgXCJcXHVEMzBGXFx1RDMxMVxcdUQzMTJcXHVEMzEzXFx1RDMxNVxcdUQzMTdcIiwgNCwgXCJcXHVEMzFFXFx1RDMyMlxcdUQzMjNcIl0sXG4gICAgICBbXCJiYjYxXCIsIFwiXFx1RDMyNFxcdUQzMjZcXHVEMzI3XFx1RDMyQVxcdUQzMkJcXHVEMzJEXFx1RDMyRVxcdUQzMkZcXHVEMzMxXCIsIDYsIFwiXFx1RDMzQVxcdUQzM0VcIiwgNSwgXCJcXHVEMzQ2XFx1RDM0N1xcdUQzNDhcXHVEMzQ5XCJdLFxuICAgICAgW1wiYmI4MVwiLCBcIlxcdUQzNEFcIiwgMzEsIFwiXFx1QkU2OFxcdUJFNkFcXHVCRTcwXFx1QkU3MVxcdUJFNzNcXHVCRTc0XFx1QkU3NVxcdUJFN0JcXHVCRTdDXFx1QkU3RFxcdUJFODBcXHVCRTg0XFx1QkU4Q1xcdUJFOERcXHVCRThGXFx1QkU5MFxcdUJFOTFcXHVCRTk4XFx1QkU5OVxcdUJFQThcXHVCRUQwXFx1QkVEMVxcdUJFRDRcXHVCRUQ3XFx1QkVEOFxcdUJFRTBcXHVCRUUzXFx1QkVFNFxcdUJFRTVcXHVCRUVDXFx1QkYwMVxcdUJGMDhcXHVCRjA5XFx1QkYxOFxcdUJGMTlcXHVCRjFCXFx1QkYxQ1xcdUJGMURcXHVCRjQwXFx1QkY0MVxcdUJGNDRcXHVCRjQ4XFx1QkY1MFxcdUJGNTFcXHVCRjU1XFx1QkY5NFxcdUJGQjBcXHVCRkM1XFx1QkZDQ1xcdUJGQ0RcXHVCRkQwXFx1QkZENFxcdUJGRENcXHVCRkRGXFx1QkZFMVxcdUMwM0NcXHVDMDUxXFx1QzA1OFxcdUMwNUNcXHVDMDYwXFx1QzA2OFxcdUMwNjlcXHVDMDkwXFx1QzA5MVxcdUMwOTRcXHVDMDk4XFx1QzBBMFxcdUMwQTFcXHVDMEEzXFx1QzBBNVxcdUMwQUNcXHVDMEFEXFx1QzBBRlxcdUMwQjBcXHVDMEIzXFx1QzBCNFxcdUMwQjVcXHVDMEI2XFx1QzBCQ1xcdUMwQkRcXHVDMEJGXFx1QzBDMFxcdUMwQzFcXHVDMEM1XFx1QzBDOFxcdUMwQzlcXHVDMENDXFx1QzBEMFxcdUMwRDhcXHVDMEQ5XFx1QzBEQlxcdUMwRENcXHVDMEREXFx1QzBFNFwiXSxcbiAgICAgIFtcImJjNDFcIiwgXCJcXHVEMzZBXCIsIDE3LCBcIlxcdUQzN0VcXHVEMzdGXFx1RDM4MVxcdUQzODJcXHVEMzgzXFx1RDM4NVxcdUQzODZcXHVEMzg3XCJdLFxuICAgICAgW1wiYmM2MVwiLCBcIlxcdUQzODhcXHVEMzg5XFx1RDM4QVxcdUQzOEJcXHVEMzhFXFx1RDM5MlwiLCA1LCBcIlxcdUQzOUFcXHVEMzlCXFx1RDM5RFxcdUQzOUVcXHVEMzlGXFx1RDNBMVwiLCA2LCBcIlxcdUQzQUFcXHVEM0FDXFx1RDNBRVwiXSxcbiAgICAgIFtcImJjODFcIiwgXCJcXHVEM0FGXCIsIDQsIFwiXFx1RDNCNVxcdUQzQjZcXHVEM0I3XFx1RDNCOVxcdUQzQkFcXHVEM0JCXFx1RDNCRFwiLCA2LCBcIlxcdUQzQzZcXHVEM0M3XFx1RDNDQVwiLCA1LCBcIlxcdUQzRDFcIiwgNSwgXCJcXHVDMEU1XFx1QzBFOFxcdUMwRUNcXHVDMEY0XFx1QzBGNVxcdUMwRjdcXHVDMEY5XFx1QzEwMFxcdUMxMDRcXHVDMTA4XFx1QzExMFxcdUMxMTVcXHVDMTFDXCIsIDQsIFwiXFx1QzEyM1xcdUMxMjRcXHVDMTI2XFx1QzEyN1xcdUMxMkNcXHVDMTJEXFx1QzEyRlxcdUMxMzBcXHVDMTMxXFx1QzEzNlxcdUMxMzhcXHVDMTM5XFx1QzEzQ1xcdUMxNDBcXHVDMTQ4XFx1QzE0OVxcdUMxNEJcXHVDMTRDXFx1QzE0RFxcdUMxNTRcXHVDMTU1XFx1QzE1OFxcdUMxNUNcXHVDMTY0XFx1QzE2NVxcdUMxNjdcXHVDMTY4XFx1QzE2OVxcdUMxNzBcXHVDMTc0XFx1QzE3OFxcdUMxODVcXHVDMThDXFx1QzE4RFxcdUMxOEVcXHVDMTkwXFx1QzE5NFxcdUMxOTZcXHVDMTlDXFx1QzE5RFxcdUMxOUZcXHVDMUExXFx1QzFBNVxcdUMxQThcXHVDMUE5XFx1QzFBQ1xcdUMxQjBcXHVDMUJEXFx1QzFDNFxcdUMxQzhcXHVDMUNDXFx1QzFENFxcdUMxRDdcXHVDMUQ4XFx1QzFFMFxcdUMxRTRcXHVDMUU4XFx1QzFGMFxcdUMxRjFcXHVDMUYzXFx1QzFGQ1xcdUMxRkRcXHVDMjAwXFx1QzIwNFxcdUMyMENcXHVDMjBEXFx1QzIwRlxcdUMyMTFcXHVDMjE4XFx1QzIxOVxcdUMyMUNcXHVDMjFGXFx1QzIyMFxcdUMyMjhcXHVDMjI5XFx1QzIyQlxcdUMyMkRcIl0sXG4gICAgICBbXCJiZDQxXCIsIFwiXFx1RDNEN1xcdUQzRDlcIiwgNywgXCJcXHVEM0UyXFx1RDNFNFwiLCA3LCBcIlxcdUQzRUVcXHVEM0VGXFx1RDNGMVxcdUQzRjJcXHVEM0YzXFx1RDNGNVxcdUQzRjZcXHVEM0Y3XCJdLFxuICAgICAgW1wiYmQ2MVwiLCBcIlxcdUQzRjhcXHVEM0Y5XFx1RDNGQVxcdUQzRkJcXHVEM0ZFXFx1RDQwMFxcdUQ0MDJcIiwgNSwgXCJcXHVENDA5XCIsIDEzXSxcbiAgICAgIFtcImJkODFcIiwgXCJcXHVENDE3XCIsIDUsIFwiXFx1RDQxRVwiLCAyNSwgXCJcXHVDMjJGXFx1QzIzMVxcdUMyMzJcXHVDMjM0XFx1QzI0OFxcdUMyNTBcXHVDMjUxXFx1QzI1NFxcdUMyNThcXHVDMjYwXFx1QzI2NVxcdUMyNkNcXHVDMjZEXFx1QzI3MFxcdUMyNzRcXHVDMjdDXFx1QzI3RFxcdUMyN0ZcXHVDMjgxXFx1QzI4OFxcdUMyODlcXHVDMjkwXFx1QzI5OFxcdUMyOUJcXHVDMjlEXFx1QzJBNFxcdUMyQTVcXHVDMkE4XFx1QzJBQ1xcdUMyQURcXHVDMkI0XFx1QzJCNVxcdUMyQjdcXHVDMkI5XFx1QzJEQ1xcdUMyRERcXHVDMkUwXFx1QzJFM1xcdUMyRTRcXHVDMkVCXFx1QzJFQ1xcdUMyRURcXHVDMkVGXFx1QzJGMVxcdUMyRjZcXHVDMkY4XFx1QzJGOVxcdUMyRkJcXHVDMkZDXFx1QzMwMFxcdUMzMDhcXHVDMzA5XFx1QzMwQ1xcdUMzMERcXHVDMzEzXFx1QzMxNFxcdUMzMTVcXHVDMzE4XFx1QzMxQ1xcdUMzMjRcXHVDMzI1XFx1QzMyOFxcdUMzMjlcXHVDMzQ1XFx1QzM2OFxcdUMzNjlcXHVDMzZDXFx1QzM3MFxcdUMzNzJcXHVDMzc4XFx1QzM3OVxcdUMzN0NcXHVDMzdEXFx1QzM4NFxcdUMzODhcXHVDMzhDXFx1QzNDMFxcdUMzRDhcXHVDM0Q5XFx1QzNEQ1xcdUMzREZcXHVDM0UwXFx1QzNFMlxcdUMzRThcXHVDM0U5XFx1QzNFRFxcdUMzRjRcXHVDM0Y1XFx1QzNGOFxcdUM0MDhcXHVDNDEwXFx1QzQyNFxcdUM0MkNcXHVDNDMwXCJdLFxuICAgICAgW1wiYmU0MVwiLCBcIlxcdUQ0MzhcIiwgNywgXCJcXHVENDQxXFx1RDQ0MlxcdUQ0NDNcXHVENDQ1XCIsIDE0XSxcbiAgICAgIFtcImJlNjFcIiwgXCJcXHVENDU0XCIsIDcsIFwiXFx1RDQ1RFxcdUQ0NUVcXHVENDVGXFx1RDQ2MVxcdUQ0NjJcXHVENDYzXFx1RDQ2NVwiLCA3LCBcIlxcdUQ0NkVcXHVENDcwXFx1RDQ3MVxcdUQ0NzJcIl0sXG4gICAgICBbXCJiZTgxXCIsIFwiXFx1RDQ3M1wiLCA0LCBcIlxcdUQ0N0FcXHVENDdCXFx1RDQ3RFxcdUQ0N0VcXHVENDgxXFx1RDQ4M1wiLCA0LCBcIlxcdUQ0OEFcXHVENDhDXFx1RDQ4RVwiLCA1LCBcIlxcdUQ0OTVcIiwgOCwgXCJcXHVDNDM0XFx1QzQzQ1xcdUM0M0RcXHVDNDQ4XFx1QzQ2NFxcdUM0NjVcXHVDNDY4XFx1QzQ2Q1xcdUM0NzRcXHVDNDc1XFx1QzQ3OVxcdUM0ODBcXHVDNDk0XFx1QzQ5Q1xcdUM0QjhcXHVDNEJDXFx1QzRFOVxcdUM0RjBcXHVDNEYxXFx1QzRGNFxcdUM0RjhcXHVDNEZBXFx1QzRGRlxcdUM1MDBcXHVDNTAxXFx1QzUwQ1xcdUM1MTBcXHVDNTE0XFx1QzUxQ1xcdUM1MjhcXHVDNTI5XFx1QzUyQ1xcdUM1MzBcXHVDNTM4XFx1QzUzOVxcdUM1M0JcXHVDNTNEXFx1QzU0NFxcdUM1NDVcXHVDNTQ4XFx1QzU0OVxcdUM1NEFcXHVDNTRDXFx1QzU0RFxcdUM1NEVcXHVDNTUzXFx1QzU1NFxcdUM1NTVcXHVDNTU3XFx1QzU1OFxcdUM1NTlcXHVDNTVEXFx1QzU1RVxcdUM1NjBcXHVDNTYxXFx1QzU2NFxcdUM1NjhcXHVDNTcwXFx1QzU3MVxcdUM1NzNcXHVDNTc0XFx1QzU3NVxcdUM1N0NcXHVDNTdEXFx1QzU4MFxcdUM1ODRcXHVDNTg3XFx1QzU4Q1xcdUM1OERcXHVDNThGXFx1QzU5MVxcdUM1OTVcXHVDNTk3XFx1QzU5OFxcdUM1OUNcXHVDNUEwXFx1QzVBOVxcdUM1QjRcXHVDNUI1XFx1QzVCOFxcdUM1QjlcXHVDNUJCXFx1QzVCQ1xcdUM1QkRcXHVDNUJFXFx1QzVDNFwiLCA2LCBcIlxcdUM1Q0NcXHVDNUNFXCJdLFxuICAgICAgW1wiYmY0MVwiLCBcIlxcdUQ0OUVcIiwgMTAsIFwiXFx1RDRBQVwiLCAxNF0sXG4gICAgICBbXCJiZjYxXCIsIFwiXFx1RDRCOVwiLCAxOCwgXCJcXHVENENEXFx1RDRDRVxcdUQ0Q0ZcXHVENEQxXFx1RDREMlxcdUQ0RDNcXHVENEQ1XCJdLFxuICAgICAgW1wiYmY4MVwiLCBcIlxcdUQ0RDZcIiwgNSwgXCJcXHVENEREXFx1RDRERVxcdUQ0RTBcIiwgNywgXCJcXHVENEU5XFx1RDRFQVxcdUQ0RUJcXHVENEVEXFx1RDRFRVxcdUQ0RUZcXHVENEYxXCIsIDYsIFwiXFx1RDRGOVxcdUQ0RkFcXHVENEZDXFx1QzVEMFxcdUM1RDFcXHVDNUQ0XFx1QzVEOFxcdUM1RTBcXHVDNUUxXFx1QzVFM1xcdUM1RTVcXHVDNUVDXFx1QzVFRFxcdUM1RUVcXHVDNUYwXFx1QzVGNFxcdUM1RjZcXHVDNUY3XFx1QzVGQ1wiLCA1LCBcIlxcdUM2MDVcXHVDNjA2XFx1QzYwN1xcdUM2MDhcXHVDNjBDXFx1QzYxMFxcdUM2MThcXHVDNjE5XFx1QzYxQlxcdUM2MUNcXHVDNjI0XFx1QzYyNVxcdUM2MjhcXHVDNjJDXFx1QzYyRFxcdUM2MkVcXHVDNjMwXFx1QzYzM1xcdUM2MzRcXHVDNjM1XFx1QzYzN1xcdUM2MzlcXHVDNjNCXFx1QzY0MFxcdUM2NDFcXHVDNjQ0XFx1QzY0OFxcdUM2NTBcXHVDNjUxXFx1QzY1M1xcdUM2NTRcXHVDNjU1XFx1QzY1Q1xcdUM2NURcXHVDNjYwXFx1QzY2Q1xcdUM2NkZcXHVDNjcxXFx1QzY3OFxcdUM2NzlcXHVDNjdDXFx1QzY4MFxcdUM2ODhcXHVDNjg5XFx1QzY4QlxcdUM2OERcXHVDNjk0XFx1QzY5NVxcdUM2OThcXHVDNjlDXFx1QzZBNFxcdUM2QTVcXHVDNkE3XFx1QzZBOVxcdUM2QjBcXHVDNkIxXFx1QzZCNFxcdUM2QjhcXHVDNkI5XFx1QzZCQVxcdUM2QzBcXHVDNkMxXFx1QzZDM1xcdUM2QzVcXHVDNkNDXFx1QzZDRFxcdUM2RDBcXHVDNkQ0XFx1QzZEQ1xcdUM2RERcXHVDNkUwXFx1QzZFMVxcdUM2RThcIl0sXG4gICAgICBbXCJjMDQxXCIsIFwiXFx1RDRGRVwiLCA1LCBcIlxcdUQ1MDVcXHVENTA2XFx1RDUwN1xcdUQ1MDlcXHVENTBBXFx1RDUwQlxcdUQ1MERcIiwgNiwgXCJcXHVENTE2XFx1RDUxOFwiLCA1XSxcbiAgICAgIFtcImMwNjFcIiwgXCJcXHVENTFFXCIsIDI1XSxcbiAgICAgIFtcImMwODFcIiwgXCJcXHVENTM4XFx1RDUzOVxcdUQ1M0FcXHVENTNCXFx1RDUzRVxcdUQ1M0ZcXHVENTQxXFx1RDU0MlxcdUQ1NDNcXHVENTQ1XCIsIDYsIFwiXFx1RDU0RVxcdUQ1NTBcXHVENTUyXCIsIDUsIFwiXFx1RDU1QVxcdUQ1NUJcXHVENTVEXFx1RDU1RVxcdUQ1NUZcXHVENTYxXFx1RDU2MlxcdUQ1NjNcXHVDNkU5XFx1QzZFQ1xcdUM2RjBcXHVDNkY4XFx1QzZGOVxcdUM2RkRcXHVDNzA0XFx1QzcwNVxcdUM3MDhcXHVDNzBDXFx1QzcxNFxcdUM3MTVcXHVDNzE3XFx1QzcxOVxcdUM3MjBcXHVDNzIxXFx1QzcyNFxcdUM3MjhcXHVDNzMwXFx1QzczMVxcdUM3MzNcXHVDNzM1XFx1QzczN1xcdUM3M0NcXHVDNzNEXFx1Qzc0MFxcdUM3NDRcXHVDNzRBXFx1Qzc0Q1xcdUM3NERcXHVDNzRGXFx1Qzc1MVwiLCA3LCBcIlxcdUM3NUNcXHVDNzYwXFx1Qzc2OFxcdUM3NkJcXHVDNzc0XFx1Qzc3NVxcdUM3NzhcXHVDNzdDXFx1Qzc3RFxcdUM3N0VcXHVDNzgzXFx1Qzc4NFxcdUM3ODVcXHVDNzg3XFx1Qzc4OFxcdUM3ODlcXHVDNzhBXFx1Qzc4RVxcdUM3OTBcXHVDNzkxXFx1Qzc5NFxcdUM3OTZcXHVDNzk3XFx1Qzc5OFxcdUM3OUFcXHVDN0EwXFx1QzdBMVxcdUM3QTNcXHVDN0E0XFx1QzdBNVxcdUM3QTZcXHVDN0FDXFx1QzdBRFxcdUM3QjBcXHVDN0I0XFx1QzdCQ1xcdUM3QkRcXHVDN0JGXFx1QzdDMFxcdUM3QzFcXHVDN0M4XFx1QzdDOVxcdUM3Q0NcXHVDN0NFXFx1QzdEMFxcdUM3RDhcXHVDN0REXFx1QzdFNFxcdUM3RThcXHVDN0VDXFx1QzgwMFxcdUM4MDFcXHVDODA0XFx1QzgwOFxcdUM4MEFcIl0sXG4gICAgICBbXCJjMTQxXCIsIFwiXFx1RDU2NFxcdUQ1NjZcXHVENTY3XFx1RDU2QVxcdUQ1NkNcXHVENTZFXCIsIDUsIFwiXFx1RDU3NlxcdUQ1NzdcXHVENTc5XFx1RDU3QVxcdUQ1N0JcXHVENTdEXCIsIDYsIFwiXFx1RDU4NlxcdUQ1OEFcXHVENThCXCJdLFxuICAgICAgW1wiYzE2MVwiLCBcIlxcdUQ1OENcXHVENThEXFx1RDU4RVxcdUQ1OEZcXHVENTkxXCIsIDE5LCBcIlxcdUQ1QTZcXHVENUE3XCJdLFxuICAgICAgW1wiYzE4MVwiLCBcIlxcdUQ1QThcIiwgMzEsIFwiXFx1QzgxMFxcdUM4MTFcXHVDODEzXFx1QzgxNVxcdUM4MTZcXHVDODFDXFx1QzgxRFxcdUM4MjBcXHVDODI0XFx1QzgyQ1xcdUM4MkRcXHVDODJGXFx1QzgzMVxcdUM4MzhcXHVDODNDXFx1Qzg0MFxcdUM4NDhcXHVDODQ5XFx1Qzg0Q1xcdUM4NERcXHVDODU0XFx1Qzg3MFxcdUM4NzFcXHVDODc0XFx1Qzg3OFxcdUM4N0FcXHVDODgwXFx1Qzg4MVxcdUM4ODNcXHVDODg1XFx1Qzg4NlxcdUM4ODdcXHVDODhCXFx1Qzg4Q1xcdUM4OERcXHVDODk0XFx1Qzg5RFxcdUM4OUZcXHVDOEExXFx1QzhBOFxcdUM4QkNcXHVDOEJEXFx1QzhDNFxcdUM4QzhcXHVDOENDXFx1QzhENFxcdUM4RDVcXHVDOEQ3XFx1QzhEOVxcdUM4RTBcXHVDOEUxXFx1QzhFNFxcdUM4RjVcXHVDOEZDXFx1QzhGRFxcdUM5MDBcXHVDOTA0XFx1QzkwNVxcdUM5MDZcXHVDOTBDXFx1QzkwRFxcdUM5MEZcXHVDOTExXFx1QzkxOFxcdUM5MkNcXHVDOTM0XFx1Qzk1MFxcdUM5NTFcXHVDOTU0XFx1Qzk1OFxcdUM5NjBcXHVDOTYxXFx1Qzk2M1xcdUM5NkNcXHVDOTcwXFx1Qzk3NFxcdUM5N0NcXHVDOTg4XFx1Qzk4OVxcdUM5OENcXHVDOTkwXFx1Qzk5OFxcdUM5OTlcXHVDOTlCXFx1Qzk5RFxcdUM5QzBcXHVDOUMxXFx1QzlDNFxcdUM5QzdcXHVDOUM4XFx1QzlDQVxcdUM5RDBcXHVDOUQxXFx1QzlEM1wiXSxcbiAgICAgIFtcImMyNDFcIiwgXCJcXHVENUNBXFx1RDVDQlxcdUQ1Q0RcXHVENUNFXFx1RDVDRlxcdUQ1RDFcXHVENUQzXCIsIDQsIFwiXFx1RDVEQVxcdUQ1RENcXHVENURFXCIsIDUsIFwiXFx1RDVFNlxcdUQ1RTdcXHVENUU5XFx1RDVFQVxcdUQ1RUJcXHVENUVEXFx1RDVFRVwiXSxcbiAgICAgIFtcImMyNjFcIiwgXCJcXHVENUVGXCIsIDQsIFwiXFx1RDVGNlxcdUQ1RjhcXHVENUZBXCIsIDUsIFwiXFx1RDYwMlxcdUQ2MDNcXHVENjA1XFx1RDYwNlxcdUQ2MDdcXHVENjA5XCIsIDYsIFwiXFx1RDYxMlwiXSxcbiAgICAgIFtcImMyODFcIiwgXCJcXHVENjE2XCIsIDUsIFwiXFx1RDYxRFxcdUQ2MUVcXHVENjFGXFx1RDYyMVxcdUQ2MjJcXHVENjIzXFx1RDYyNVwiLCA3LCBcIlxcdUQ2MkVcIiwgOSwgXCJcXHVENjNBXFx1RDYzQlxcdUM5RDVcXHVDOUQ2XFx1QzlEOVxcdUM5REFcXHVDOURDXFx1QzlERFxcdUM5RTBcXHVDOUUyXFx1QzlFNFxcdUM5RTdcXHVDOUVDXFx1QzlFRFxcdUM5RUZcXHVDOUYwXFx1QzlGMVxcdUM5RjhcXHVDOUY5XFx1QzlGQ1xcdUNBMDBcXHVDQTA4XFx1Q0EwOVxcdUNBMEJcXHVDQTBDXFx1Q0EwRFxcdUNBMTRcXHVDQTE4XFx1Q0EyOVxcdUNBNENcXHVDQTREXFx1Q0E1MFxcdUNBNTRcXHVDQTVDXFx1Q0E1RFxcdUNBNUZcXHVDQTYwXFx1Q0E2MVxcdUNBNjhcXHVDQTdEXFx1Q0E4NFxcdUNBOThcXHVDQUJDXFx1Q0FCRFxcdUNBQzBcXHVDQUM0XFx1Q0FDQ1xcdUNBQ0RcXHVDQUNGXFx1Q0FEMVxcdUNBRDNcXHVDQUQ4XFx1Q0FEOVxcdUNBRTBcXHVDQUVDXFx1Q0FGNFxcdUNCMDhcXHVDQjEwXFx1Q0IxNFxcdUNCMThcXHVDQjIwXFx1Q0IyMVxcdUNCNDFcXHVDQjQ4XFx1Q0I0OVxcdUNCNENcXHVDQjUwXFx1Q0I1OFxcdUNCNTlcXHVDQjVEXFx1Q0I2NFxcdUNCNzhcXHVDQjc5XFx1Q0I5Q1xcdUNCQjhcXHVDQkQ0XFx1Q0JFNFxcdUNCRTdcXHVDQkU5XFx1Q0MwQ1xcdUNDMERcXHVDQzEwXFx1Q0MxNFxcdUNDMUNcXHVDQzFEXFx1Q0MyMVxcdUNDMjJcXHVDQzI3XFx1Q0MyOFxcdUNDMjlcXHVDQzJDXFx1Q0MyRVxcdUNDMzBcXHVDQzM4XFx1Q0MzOVxcdUNDM0JcIl0sXG4gICAgICBbXCJjMzQxXCIsIFwiXFx1RDYzRFxcdUQ2M0VcXHVENjNGXFx1RDY0MVxcdUQ2NDJcXHVENjQzXFx1RDY0NFxcdUQ2NDZcXHVENjQ3XFx1RDY0QVxcdUQ2NENcXHVENjRFXFx1RDY0RlxcdUQ2NTBcXHVENjUyXFx1RDY1M1xcdUQ2NTZcXHVENjU3XFx1RDY1OVxcdUQ2NUFcXHVENjVCXFx1RDY1RFwiLCA0XSxcbiAgICAgIFtcImMzNjFcIiwgXCJcXHVENjYyXCIsIDQsIFwiXFx1RDY2OFxcdUQ2NkFcIiwgNSwgXCJcXHVENjcyXFx1RDY3M1xcdUQ2NzVcIiwgMTFdLFxuICAgICAgW1wiYzM4MVwiLCBcIlxcdUQ2ODFcXHVENjgyXFx1RDY4NFxcdUQ2ODZcIiwgNSwgXCJcXHVENjhFXFx1RDY4RlxcdUQ2OTFcXHVENjkyXFx1RDY5M1xcdUQ2OTVcIiwgNywgXCJcXHVENjlFXFx1RDZBMFxcdUQ2QTJcIiwgNSwgXCJcXHVENkE5XFx1RDZBQVxcdUNDM0NcXHVDQzNEXFx1Q0MzRVxcdUNDNDRcXHVDQzQ1XFx1Q0M0OFxcdUNDNENcXHVDQzU0XFx1Q0M1NVxcdUNDNTdcXHVDQzU4XFx1Q0M1OVxcdUNDNjBcXHVDQzY0XFx1Q0M2NlxcdUNDNjhcXHVDQzcwXFx1Q0M3NVxcdUNDOThcXHVDQzk5XFx1Q0M5Q1xcdUNDQTBcXHVDQ0E4XFx1Q0NBOVxcdUNDQUJcXHVDQ0FDXFx1Q0NBRFxcdUNDQjRcXHVDQ0I1XFx1Q0NCOFxcdUNDQkNcXHVDQ0M0XFx1Q0NDNVxcdUNDQzdcXHVDQ0M5XFx1Q0NEMFxcdUNDRDRcXHVDQ0U0XFx1Q0NFQ1xcdUNDRjBcXHVDRDAxXFx1Q0QwOFxcdUNEMDlcXHVDRDBDXFx1Q0QxMFxcdUNEMThcXHVDRDE5XFx1Q0QxQlxcdUNEMURcXHVDRDI0XFx1Q0QyOFxcdUNEMkNcXHVDRDM5XFx1Q0Q1Q1xcdUNENjBcXHVDRDY0XFx1Q0Q2Q1xcdUNENkRcXHVDRDZGXFx1Q0Q3MVxcdUNENzhcXHVDRDg4XFx1Q0Q5NFxcdUNEOTVcXHVDRDk4XFx1Q0Q5Q1xcdUNEQTRcXHVDREE1XFx1Q0RBN1xcdUNEQTlcXHVDREIwXFx1Q0RDNFxcdUNEQ0NcXHVDREQwXFx1Q0RFOFxcdUNERUNcXHVDREYwXFx1Q0RGOFxcdUNERjlcXHVDREZCXFx1Q0RGRFxcdUNFMDRcXHVDRTA4XFx1Q0UwQ1xcdUNFMTRcXHVDRTE5XFx1Q0UyMFxcdUNFMjFcXHVDRTI0XFx1Q0UyOFxcdUNFMzBcXHVDRTMxXFx1Q0UzM1xcdUNFMzVcIl0sXG4gICAgICBbXCJjNDQxXCIsIFwiXFx1RDZBQlxcdUQ2QURcXHVENkFFXFx1RDZBRlxcdUQ2QjFcIiwgNywgXCJcXHVENkJBXFx1RDZCQ1wiLCA3LCBcIlxcdUQ2QzZcXHVENkM3XFx1RDZDOVxcdUQ2Q0FcXHVENkNCXCJdLFxuICAgICAgW1wiYzQ2MVwiLCBcIlxcdUQ2Q0RcXHVENkNFXFx1RDZDRlxcdUQ2RDBcXHVENkQyXFx1RDZEM1xcdUQ2RDVcXHVENkQ2XFx1RDZEOFxcdUQ2REFcIiwgNSwgXCJcXHVENkUxXFx1RDZFMlxcdUQ2RTNcXHVENkU1XFx1RDZFNlxcdUQ2RTdcXHVENkU5XCIsIDRdLFxuICAgICAgW1wiYzQ4MVwiLCBcIlxcdUQ2RUVcXHVENkVGXFx1RDZGMVxcdUQ2RjJcXHVENkYzXFx1RDZGNFxcdUQ2RjZcIiwgNSwgXCJcXHVENkZFXFx1RDZGRlxcdUQ3MDFcXHVENzAyXFx1RDcwM1xcdUQ3MDVcIiwgMTEsIFwiXFx1RDcxMlxcdUQ3MTNcXHVENzE0XFx1Q0U1OFxcdUNFNTlcXHVDRTVDXFx1Q0U1RlxcdUNFNjBcXHVDRTYxXFx1Q0U2OFxcdUNFNjlcXHVDRTZCXFx1Q0U2RFxcdUNFNzRcXHVDRTc1XFx1Q0U3OFxcdUNFN0NcXHVDRTg0XFx1Q0U4NVxcdUNFODdcXHVDRTg5XFx1Q0U5MFxcdUNFOTFcXHVDRTk0XFx1Q0U5OFxcdUNFQTBcXHVDRUExXFx1Q0VBM1xcdUNFQTRcXHVDRUE1XFx1Q0VBQ1xcdUNFQURcXHVDRUMxXFx1Q0VFNFxcdUNFRTVcXHVDRUU4XFx1Q0VFQlxcdUNFRUNcXHVDRUY0XFx1Q0VGNVxcdUNFRjdcXHVDRUY4XFx1Q0VGOVxcdUNGMDBcXHVDRjAxXFx1Q0YwNFxcdUNGMDhcXHVDRjEwXFx1Q0YxMVxcdUNGMTNcXHVDRjE1XFx1Q0YxQ1xcdUNGMjBcXHVDRjI0XFx1Q0YyQ1xcdUNGMkRcXHVDRjJGXFx1Q0YzMFxcdUNGMzFcXHVDRjM4XFx1Q0Y1NFxcdUNGNTVcXHVDRjU4XFx1Q0Y1Q1xcdUNGNjRcXHVDRjY1XFx1Q0Y2N1xcdUNGNjlcXHVDRjcwXFx1Q0Y3MVxcdUNGNzRcXHVDRjc4XFx1Q0Y4MFxcdUNGODVcXHVDRjhDXFx1Q0ZBMVxcdUNGQThcXHVDRkIwXFx1Q0ZDNFxcdUNGRTBcXHVDRkUxXFx1Q0ZFNFxcdUNGRThcXHVDRkYwXFx1Q0ZGMVxcdUNGRjNcXHVDRkY1XFx1Q0ZGQ1xcdUQwMDBcXHVEMDA0XFx1RDAxMVxcdUQwMThcXHVEMDJEXFx1RDAzNFxcdUQwMzVcXHVEMDM4XFx1RDAzQ1wiXSxcbiAgICAgIFtcImM1NDFcIiwgXCJcXHVENzE1XFx1RDcxNlxcdUQ3MTdcXHVENzFBXFx1RDcxQlxcdUQ3MURcXHVENzFFXFx1RDcxRlxcdUQ3MjFcIiwgNiwgXCJcXHVENzJBXFx1RDcyQ1xcdUQ3MkVcIiwgNSwgXCJcXHVENzM2XFx1RDczN1xcdUQ3MzlcIl0sXG4gICAgICBbXCJjNTYxXCIsIFwiXFx1RDczQVxcdUQ3M0JcXHVENzNEXCIsIDYsIFwiXFx1RDc0NVxcdUQ3NDZcXHVENzQ4XFx1RDc0QVwiLCA1LCBcIlxcdUQ3NTJcXHVENzUzXFx1RDc1NVxcdUQ3NUFcIiwgNF0sXG4gICAgICBbXCJjNTgxXCIsIFwiXFx1RDc1RlxcdUQ3NjJcXHVENzY0XFx1RDc2NlxcdUQ3NjdcXHVENzY4XFx1RDc2QVxcdUQ3NkJcXHVENzZEXFx1RDc2RVxcdUQ3NkZcXHVENzcxXFx1RDc3MlxcdUQ3NzNcXHVENzc1XCIsIDYsIFwiXFx1RDc3RVxcdUQ3N0ZcXHVENzgwXFx1RDc4MlwiLCA1LCBcIlxcdUQ3OEFcXHVENzhCXFx1RDA0NFxcdUQwNDVcXHVEMDQ3XFx1RDA0OVxcdUQwNTBcXHVEMDU0XFx1RDA1OFxcdUQwNjBcXHVEMDZDXFx1RDA2RFxcdUQwNzBcXHVEMDc0XFx1RDA3Q1xcdUQwN0RcXHVEMDgxXFx1RDBBNFxcdUQwQTVcXHVEMEE4XFx1RDBBQ1xcdUQwQjRcXHVEMEI1XFx1RDBCN1xcdUQwQjlcXHVEMEMwXFx1RDBDMVxcdUQwQzRcXHVEMEM4XFx1RDBDOVxcdUQwRDBcXHVEMEQxXFx1RDBEM1xcdUQwRDRcXHVEMEQ1XFx1RDBEQ1xcdUQwRERcXHVEMEUwXFx1RDBFNFxcdUQwRUNcXHVEMEVEXFx1RDBFRlxcdUQwRjBcXHVEMEYxXFx1RDBGOFxcdUQxMERcXHVEMTMwXFx1RDEzMVxcdUQxMzRcXHVEMTM4XFx1RDEzQVxcdUQxNDBcXHVEMTQxXFx1RDE0M1xcdUQxNDRcXHVEMTQ1XFx1RDE0Q1xcdUQxNERcXHVEMTUwXFx1RDE1NFxcdUQxNUNcXHVEMTVEXFx1RDE1RlxcdUQxNjFcXHVEMTY4XFx1RDE2Q1xcdUQxN0NcXHVEMTg0XFx1RDE4OFxcdUQxQTBcXHVEMUExXFx1RDFBNFxcdUQxQThcXHVEMUIwXFx1RDFCMVxcdUQxQjNcXHVEMUI1XFx1RDFCQVxcdUQxQkNcXHVEMUMwXFx1RDFEOFxcdUQxRjRcXHVEMUY4XFx1RDIwN1xcdUQyMDlcXHVEMjEwXFx1RDIyQ1xcdUQyMkRcXHVEMjMwXFx1RDIzNFxcdUQyM0NcXHVEMjNEXFx1RDIzRlxcdUQyNDFcXHVEMjQ4XFx1RDI1Q1wiXSxcbiAgICAgIFtcImM2NDFcIiwgXCJcXHVENzhEXFx1RDc4RVxcdUQ3OEZcXHVENzkxXCIsIDYsIFwiXFx1RDc5QVxcdUQ3OUNcXHVENzlFXCIsIDVdLFxuICAgICAgW1wiYzZhMVwiLCBcIlxcdUQyNjRcXHVEMjgwXFx1RDI4MVxcdUQyODRcXHVEMjg4XFx1RDI5MFxcdUQyOTFcXHVEMjk1XFx1RDI5Q1xcdUQyQTBcXHVEMkE0XFx1RDJBQ1xcdUQyQjFcXHVEMkI4XFx1RDJCOVxcdUQyQkNcXHVEMkJGXFx1RDJDMFxcdUQyQzJcXHVEMkM4XFx1RDJDOVxcdUQyQ0JcXHVEMkQ0XFx1RDJEOFxcdUQyRENcXHVEMkU0XFx1RDJFNVxcdUQyRjBcXHVEMkYxXFx1RDJGNFxcdUQyRjhcXHVEMzAwXFx1RDMwMVxcdUQzMDNcXHVEMzA1XFx1RDMwQ1xcdUQzMERcXHVEMzBFXFx1RDMxMFxcdUQzMTRcXHVEMzE2XFx1RDMxQ1xcdUQzMURcXHVEMzFGXFx1RDMyMFxcdUQzMjFcXHVEMzI1XFx1RDMyOFxcdUQzMjlcXHVEMzJDXFx1RDMzMFxcdUQzMzhcXHVEMzM5XFx1RDMzQlxcdUQzM0NcXHVEMzNEXFx1RDM0NFxcdUQzNDVcXHVEMzdDXFx1RDM3RFxcdUQzODBcXHVEMzg0XFx1RDM4Q1xcdUQzOERcXHVEMzhGXFx1RDM5MFxcdUQzOTFcXHVEMzk4XFx1RDM5OVxcdUQzOUNcXHVEM0EwXFx1RDNBOFxcdUQzQTlcXHVEM0FCXFx1RDNBRFxcdUQzQjRcXHVEM0I4XFx1RDNCQ1xcdUQzQzRcXHVEM0M1XFx1RDNDOFxcdUQzQzlcXHVEM0QwXFx1RDNEOFxcdUQzRTFcXHVEM0UzXFx1RDNFQ1xcdUQzRURcXHVEM0YwXFx1RDNGNFxcdUQzRkNcXHVEM0ZEXFx1RDNGRlxcdUQ0MDFcIl0sXG4gICAgICBbXCJjN2ExXCIsIFwiXFx1RDQwOFxcdUQ0MURcXHVENDQwXFx1RDQ0NFxcdUQ0NUNcXHVENDYwXFx1RDQ2NFxcdUQ0NkRcXHVENDZGXFx1RDQ3OFxcdUQ0NzlcXHVENDdDXFx1RDQ3RlxcdUQ0ODBcXHVENDgyXFx1RDQ4OFxcdUQ0ODlcXHVENDhCXFx1RDQ4RFxcdUQ0OTRcXHVENEE5XFx1RDRDQ1xcdUQ0RDBcXHVENEQ0XFx1RDREQ1xcdUQ0REZcXHVENEU4XFx1RDRFQ1xcdUQ0RjBcXHVENEY4XFx1RDRGQlxcdUQ0RkRcXHVENTA0XFx1RDUwOFxcdUQ1MENcXHVENTE0XFx1RDUxNVxcdUQ1MTdcXHVENTNDXFx1RDUzRFxcdUQ1NDBcXHVENTQ0XFx1RDU0Q1xcdUQ1NERcXHVENTRGXFx1RDU1MVxcdUQ1NThcXHVENTU5XFx1RDU1Q1xcdUQ1NjBcXHVENTY1XFx1RDU2OFxcdUQ1NjlcXHVENTZCXFx1RDU2RFxcdUQ1NzRcXHVENTc1XFx1RDU3OFxcdUQ1N0NcXHVENTg0XFx1RDU4NVxcdUQ1ODdcXHVENTg4XFx1RDU4OVxcdUQ1OTBcXHVENUE1XFx1RDVDOFxcdUQ1QzlcXHVENUNDXFx1RDVEMFxcdUQ1RDJcXHVENUQ4XFx1RDVEOVxcdUQ1REJcXHVENUREXFx1RDVFNFxcdUQ1RTVcXHVENUU4XFx1RDVFQ1xcdUQ1RjRcXHVENUY1XFx1RDVGN1xcdUQ1RjlcXHVENjAwXFx1RDYwMVxcdUQ2MDRcXHVENjA4XFx1RDYxMFxcdUQ2MTFcXHVENjEzXFx1RDYxNFxcdUQ2MTVcXHVENjFDXFx1RDYyMFwiXSxcbiAgICAgIFtcImM4YTFcIiwgXCJcXHVENjI0XFx1RDYyRFxcdUQ2MzhcXHVENjM5XFx1RDYzQ1xcdUQ2NDBcXHVENjQ1XFx1RDY0OFxcdUQ2NDlcXHVENjRCXFx1RDY0RFxcdUQ2NTFcXHVENjU0XFx1RDY1NVxcdUQ2NThcXHVENjVDXFx1RDY2N1xcdUQ2NjlcXHVENjcwXFx1RDY3MVxcdUQ2NzRcXHVENjgzXFx1RDY4NVxcdUQ2OENcXHVENjhEXFx1RDY5MFxcdUQ2OTRcXHVENjlEXFx1RDY5RlxcdUQ2QTFcXHVENkE4XFx1RDZBQ1xcdUQ2QjBcXHVENkI5XFx1RDZCQlxcdUQ2QzRcXHVENkM1XFx1RDZDOFxcdUQ2Q0NcXHVENkQxXFx1RDZENFxcdUQ2RDdcXHVENkQ5XFx1RDZFMFxcdUQ2RTRcXHVENkU4XFx1RDZGMFxcdUQ2RjVcXHVENkZDXFx1RDZGRFxcdUQ3MDBcXHVENzA0XFx1RDcxMVxcdUQ3MThcXHVENzE5XFx1RDcxQ1xcdUQ3MjBcXHVENzI4XFx1RDcyOVxcdUQ3MkJcXHVENzJEXFx1RDczNFxcdUQ3MzVcXHVENzM4XFx1RDczQ1xcdUQ3NDRcXHVENzQ3XFx1RDc0OVxcdUQ3NTBcXHVENzUxXFx1RDc1NFxcdUQ3NTZcXHVENzU3XFx1RDc1OFxcdUQ3NTlcXHVENzYwXFx1RDc2MVxcdUQ3NjNcXHVENzY1XFx1RDc2OVxcdUQ3NkNcXHVENzcwXFx1RDc3NFxcdUQ3N0NcXHVENzdEXFx1RDc4MVxcdUQ3ODhcXHVENzg5XFx1RDc4Q1xcdUQ3OTBcXHVENzk4XFx1RDc5OVxcdUQ3OUJcXHVENzlEXCJdLFxuICAgICAgW1wiY2FhMVwiLCBcIlxcdTRGM0RcXHU0RjczXFx1NTA0N1xcdTUwRjlcXHU1MkEwXFx1NTNFRlxcdTU0NzVcXHU1NEU1XFx1NTYwOVxcdTVBQzFcXHU1QkI2XFx1NjY4N1xcdTY3QjZcXHU2N0I3XFx1NjdFRlxcdTZCNENcXHU3M0MyXFx1NzVDMlxcdTdBM0NcXHU4MkRCXFx1ODMwNFxcdTg4NTdcXHU4ODg4XFx1OEEzNlxcdThDQzhcXHU4RENGXFx1OEVGQlxcdThGRTZcXHU5OUQ1XFx1NTIzQlxcdTUzNzRcXHU1NDA0XFx1NjA2QVxcdTYxNjRcXHU2QkJDXFx1NzNDRlxcdTgxMUFcXHU4OUJBXFx1ODlEMlxcdTk1QTNcXHU0RjgzXFx1NTIwQVxcdTU4QkVcXHU1OTc4XFx1NTlFNlxcdTVFNzJcXHU1RTc5XFx1NjFDN1xcdTYzQzBcXHU2NzQ2XFx1NjdFQ1xcdTY4N0ZcXHU2Rjk3XFx1NzY0RVxcdTc3MEJcXHU3OEY1XFx1N0EwOFxcdTdBRkZcXHU3QzIxXFx1ODA5RFxcdTgyNkVcXHU4MjcxXFx1OEFFQlxcdTk1OTNcXHU0RTZCXFx1NTU5RFxcdTY2RjdcXHU2RTM0XFx1NzhBM1xcdTdBRURcXHU4NDVCXFx1ODkxMFxcdTg3NEVcXHU5N0E4XFx1NTJEOFxcdTU3NEVcXHU1ODJBXFx1NUQ0Q1xcdTYxMUZcXHU2MUJFXFx1NjIyMVxcdTY1NjJcXHU2N0QxXFx1NkE0NFxcdTZFMUJcXHU3NTE4XFx1NzVCM1xcdTc2RTNcXHU3N0IwXFx1N0QzQVxcdTkwQUZcXHU5NDUxXFx1OTQ1MlxcdTlGOTVcIl0sXG4gICAgICBbXCJjYmExXCIsIFwiXFx1NTMyM1xcdTVDQUNcXHU3NTMyXFx1ODBEQlxcdTkyNDBcXHU5NTk4XFx1NTI1QlxcdTU4MDhcXHU1OURDXFx1NUNBMVxcdTVEMTdcXHU1RUI3XFx1NUYzQVxcdTVGNEFcXHU2MTc3XFx1NkM1RlxcdTc1N0FcXHU3NTg2XFx1N0NFMFxcdTdENzNcXHU3REIxXFx1N0Y4Q1xcdTgxNTRcXHU4MjIxXFx1ODU5MVxcdTg5NDFcXHU4QjFCXFx1OTJGQ1xcdTk2NERcXHU5QzQ3XFx1NEVDQlxcdTRFRjdcXHU1MDBCXFx1NTFGMVxcdTU4NEZcXHU2MTM3XFx1NjEzRVxcdTYxNjhcXHU2NTM5XFx1NjlFQVxcdTZGMTFcXHU3NUE1XFx1NzY4NlxcdTc2RDZcXHU3Qjg3XFx1ODJBNVxcdTg0Q0JcXHVGOTAwXFx1OTNBN1xcdTk1OEJcXHU1NTgwXFx1NUJBMlxcdTU3NTFcXHVGOTAxXFx1N0NCM1xcdTdGQjlcXHU5MUI1XFx1NTAyOFxcdTUzQkJcXHU1QzQ1XFx1NURFOFxcdTYyRDJcXHU2MzZFXFx1NjREQVxcdTY0RTdcXHU2RTIwXFx1NzBBQ1xcdTc5NUJcXHU4REREXFx1OEUxRVxcdUY5MDJcXHU5MDdEXFx1OTI0NVxcdTkyRjhcXHU0RTdFXFx1NEVGNlxcdTUwNjVcXHU1REZFXFx1NUVGQVxcdTYxMDZcXHU2OTU3XFx1ODE3MVxcdTg2NTRcXHU4RTQ3XFx1OTM3NVxcdTlBMkJcXHU0RTVFXFx1NTA5MVxcdTY3NzBcXHU2ODQwXFx1NTEwOVxcdTUyOERcXHU1MjkyXFx1NkFBMlwiXSxcbiAgICAgIFtcImNjYTFcIiwgXCJcXHU3N0JDXFx1OTIxMFxcdTlFRDRcXHU1MkFCXFx1NjAyRlxcdThGRjJcXHU1MDQ4XFx1NjFBOVxcdTYzRURcXHU2NENBXFx1NjgzQ1xcdTZBODRcXHU2RkMwXFx1ODE4OFxcdTg5QTFcXHU5Njk0XFx1NTgwNVxcdTcyN0RcXHU3MkFDXFx1NzUwNFxcdTdENzlcXHU3RTZEXFx1ODBBOVxcdTg5OEJcXHU4Qjc0XFx1OTA2M1xcdTlENTFcXHU2Mjg5XFx1NkM3QVxcdTZGNTRcXHU3RDUwXFx1N0YzQVxcdThBMjNcXHU1MTdDXFx1NjE0QVxcdTdCOURcXHU4QjE5XFx1OTI1N1xcdTkzOENcXHU0RUFDXFx1NEZEM1xcdTUwMUVcXHU1MEJFXFx1NTEwNlxcdTUyQzFcXHU1MkNEXFx1NTM3RlxcdTU3NzBcXHU1ODgzXFx1NUU5QVxcdTVGOTFcXHU2MTc2XFx1NjFBQ1xcdTY0Q0VcXHU2NTZDXFx1NjY2RlxcdTY2QkJcXHU2NkY0XFx1Njg5N1xcdTZEODdcXHU3MDg1XFx1NzBGMVxcdTc0OUZcXHU3NEE1XFx1NzRDQVxcdTc1RDlcXHU3ODZDXFx1NzhFQ1xcdTdBREZcXHU3QUY2XFx1N0Q0NVxcdTdEOTNcXHU4MDE1XFx1ODAzRlxcdTgxMUJcXHU4Mzk2XFx1OEI2NlxcdThGMTVcXHU5MDE1XFx1OTNFMVxcdTk4MDNcXHU5ODM4XFx1OUE1QVxcdTlCRThcXHU0RkMyXFx1NTU1M1xcdTU4M0FcXHU1OTUxXFx1NUI2M1xcdTVDNDZcXHU2MEI4XFx1NjIxMlxcdTY4NDJcXHU2OEIwXCJdLFxuICAgICAgW1wiY2RhMVwiLCBcIlxcdTY4RThcXHU2RUFBXFx1NzU0Q1xcdTc2NzhcXHU3OENFXFx1N0EzRFxcdTdDRkJcXHU3RTZCXFx1N0U3Q1xcdThBMDhcXHU4QUExXFx1OEMzRlxcdTk2OEVcXHU5REM0XFx1NTNFNFxcdTUzRTlcXHU1NDRBXFx1NTQ3MVxcdTU2RkFcXHU1OUQxXFx1NUI2NFxcdTVDM0JcXHU1RUFCXFx1NjJGN1xcdTY1MzdcXHU2NTQ1XFx1NjU3MlxcdTY2QTBcXHU2N0FGXFx1NjlDMVxcdTZDQkRcXHU3NUZDXFx1NzY5MFxcdTc3N0VcXHU3QTNGXFx1N0Y5NFxcdTgwMDNcXHU4MEExXFx1ODE4RlxcdTgyRTZcXHU4MkZEXFx1ODNGMFxcdTg1QzFcXHU4ODMxXFx1ODhCNFxcdThBQTVcXHVGOTAzXFx1OEY5Q1xcdTkzMkVcXHU5NkM3XFx1OTg2N1xcdTlBRDhcXHU5RjEzXFx1NTRFRFxcdTY1OUJcXHU2NkYyXFx1Njg4RlxcdTdBNDBcXHU4QzM3XFx1OUQ2MFxcdTU2RjBcXHU1NzY0XFx1NUQxMVxcdTY2MDZcXHU2OEIxXFx1NjhDRFxcdTZFRkVcXHU3NDI4XFx1ODg5RVxcdTlCRTRcXHU2QzY4XFx1RjkwNFxcdTlBQThcXHU0RjlCXFx1NTE2Q1xcdTUxNzFcXHU1MjlGXFx1NUI1NFxcdTVERTVcXHU2MDUwXFx1NjA2RFxcdTYyRjFcXHU2M0E3XFx1NjUzQlxcdTczRDlcXHU3QTdBXFx1ODZBM1xcdThDQTJcXHU5NzhGXFx1NEUzMlxcdTVCRTFcXHU2MjA4XFx1Njc5Q1xcdTc0RENcIl0sXG4gICAgICBbXCJjZWExXCIsIFwiXFx1NzlEMVxcdTgzRDNcXHU4QTg3XFx1OEFCMlxcdThERThcXHU5MDRFXFx1OTM0QlxcdTk4NDZcXHU1RUQzXFx1NjlFOFxcdTg1RkZcXHU5MEVEXFx1RjkwNVxcdTUxQTBcXHU1Qjk4XFx1NUJFQ1xcdTYxNjNcXHU2OEZBXFx1NkIzRVxcdTcwNENcXHU3NDJGXFx1NzREOFxcdTdCQTFcXHU3RjUwXFx1ODNDNVxcdTg5QzBcXHU4Q0FCXFx1OTVEQ1xcdTk5MjhcXHU1MjJFXFx1NjA1RFxcdTYyRUNcXHU5MDAyXFx1NEY4QVxcdTUxNDlcXHU1MzIxXFx1NThEOVxcdTVFRTNcXHU2NkUwXFx1NkQzOFxcdTcwOUFcXHU3MkMyXFx1NzNENlxcdTdCNTBcXHU4MEYxXFx1OTQ1QlxcdTUzNjZcXHU2MzlCXFx1N0Y2QlxcdTRFNTZcXHU1MDgwXFx1NTg0QVxcdTU4REVcXHU2MDJBXFx1NjEyN1xcdTYyRDBcXHU2OUQwXFx1OUI0MVxcdTVCOEZcXHU3RDE4XFx1ODBCMVxcdThGNUZcXHU0RUE0XFx1NTBEMVxcdTU0QUNcXHU1NUFDXFx1NUIwQ1xcdTVEQTBcXHU1REU3XFx1NjUyQVxcdTY1NEVcXHU2ODIxXFx1NkE0QlxcdTcyRTFcXHU3NjhFXFx1NzdFRlxcdTdENUVcXHU3RkY5XFx1ODFBMFxcdTg1NEVcXHU4NkRGXFx1OEYwM1xcdThGNEVcXHU5MENBXFx1OTkwM1xcdTlBNTVcXHU5QkFCXFx1NEUxOFxcdTRFNDVcXHU0RTVEXFx1NEVDN1xcdTRGRjFcXHU1MTc3XFx1NTJGRVwiXSxcbiAgICAgIFtcImNmYTFcIiwgXCJcXHU1MzQwXFx1NTNFM1xcdTUzRTVcXHU1NDhFXFx1NTYxNFxcdTU3NzVcXHU1N0EyXFx1NUJDN1xcdTVEODdcXHU1RUQwXFx1NjFGQ1xcdTYyRDhcXHU2NTUxXFx1NjdCOFxcdTY3RTlcXHU2OUNCXFx1NkI1MFxcdTZCQzZcXHU2QkVDXFx1NkM0MlxcdTZFOURcXHU3MDc4XFx1NzJEN1xcdTczOTZcXHU3NDAzXFx1NzdCRlxcdTc3RTlcXHU3QTc2XFx1N0Q3RlxcdTgwMDlcXHU4MUZDXFx1ODIwNVxcdTgyMEFcXHU4MkRGXFx1ODg2MlxcdThCMzNcXHU4Q0ZDXFx1OEVDMFxcdTkwMTFcXHU5MEIxXFx1OTI2NFxcdTkyQjZcXHU5OUQyXFx1OUE0NVxcdTlDRTlcXHU5REQ3XFx1OUY5Q1xcdTU3MEJcXHU1QzQwXFx1ODNDQVxcdTk3QTBcXHU5N0FCXFx1OUVCNFxcdTU0MUJcXHU3QTk4XFx1N0ZBNFxcdTg4RDlcXHU4RUNEXFx1OTBFMVxcdTU4MDBcXHU1QzQ4XFx1NjM5OFxcdTdBOUZcXHU1QkFFXFx1NUYxM1xcdTdBNzlcXHU3QUFFXFx1ODI4RVxcdThFQUNcXHU1MDI2XFx1NTIzOFxcdTUyRjhcXHU1Mzc3XFx1NTcwOFxcdTYyRjNcXHU2MzcyXFx1NkIwQVxcdTZEQzNcXHU3NzM3XFx1NTNBNVxcdTczNTdcXHU4NTY4XFx1OEU3NlxcdTk1RDVcXHU2NzNBXFx1NkFDM1xcdTZGNzBcXHU4QTZEXFx1OEVDQ1xcdTk5NEJcXHVGOTA2XFx1NjY3N1xcdTZCNzhcXHU4Q0I0XCJdLFxuICAgICAgW1wiZDBhMVwiLCBcIlxcdTlCM0NcXHVGOTA3XFx1NTNFQlxcdTU3MkRcXHU1OTRFXFx1NjNDNlxcdTY5RkJcXHU3M0VBXFx1Nzg0NVxcdTdBQkFcXHU3QUM1XFx1N0NGRVxcdTg0NzVcXHU4OThGXFx1OEQ3M1xcdTkwMzVcXHU5NUE4XFx1NTJGQlxcdTU3NDdcXHU3NTQ3XFx1N0I2MFxcdTgzQ0NcXHU5MjFFXFx1RjkwOFxcdTZBNThcXHU1MTRCXFx1NTI0QlxcdTUyODdcXHU2MjFGXFx1NjhEOFxcdTY5NzVcXHU5Njk5XFx1NTBDNVxcdTUyQTRcXHU1MkU0XFx1NjFDM1xcdTY1QTRcXHU2ODM5XFx1NjlGRlxcdTc0N0VcXHU3QjRCXFx1ODJCOVxcdTgzRUJcXHU4OUIyXFx1OEIzOVxcdThGRDFcXHU5OTQ5XFx1RjkwOVxcdTRFQ0FcXHU1OTk3XFx1NjREMlxcdTY2MTFcXHU2QThFXFx1NzQzNFxcdTc5ODFcXHU3OUJEXFx1ODJBOVxcdTg4N0VcXHU4ODdGXFx1ODk1RlxcdUY5MEFcXHU5MzI2XFx1NEYwQlxcdTUzQ0FcXHU2MDI1XFx1NjI3MVxcdTZDNzJcXHU3RDFBXFx1N0Q2NlxcdTRFOThcXHU1MTYyXFx1NzdEQ1xcdTgwQUZcXHU0RjAxXFx1NEYwRVxcdTUxNzZcXHU1MTgwXFx1NTVEQ1xcdTU2NjhcXHU1NzNCXFx1NTdGQVxcdTU3RkNcXHU1OTE0XFx1NTk0N1xcdTU5OTNcXHU1QkM0XFx1NUM5MFxcdTVEMEVcXHU1REYxXFx1NUU3RVxcdTVGQ0NcXHU2MjgwXFx1NjVEN1xcdTY1RTNcIl0sXG4gICAgICBbXCJkMWExXCIsIFwiXFx1NjcxRVxcdTY3MUZcXHU2NzVFXFx1NjhDQlxcdTY4QzRcXHU2QTVGXFx1NkIzQVxcdTZDMjNcXHU2QzdEXFx1NkM4MlxcdTZEQzdcXHU3Mzk4XFx1NzQyNlxcdTc0MkFcXHU3NDgyXFx1NzRBM1xcdTc1NzhcXHU3NTdGXFx1Nzg4MVxcdTc4RUZcXHU3OTQxXFx1Nzk0N1xcdTc5NDhcXHU3OTdBXFx1N0I5NVxcdTdEMDBcXHU3REJBXFx1N0Y4OFxcdTgwMDZcXHU4MDJEXFx1ODA4Q1xcdThBMThcXHU4QjRGXFx1OEM0OFxcdThENzdcXHU5MzIxXFx1OTMyNFxcdTk4RTJcXHU5OTUxXFx1OUEwRVxcdTlBMEZcXHU5QTY1XFx1OUU5MlxcdTdEQ0FcXHU0Rjc2XFx1NTQwOVxcdTYyRUVcXHU2ODU0XFx1OTFEMVxcdTU1QUJcXHU1MTNBXFx1RjkwQlxcdUY5MENcXHU1QTFDXFx1NjFFNlxcdUY5MERcXHU2MkNGXFx1NjJGRlxcdUY5MEVcIiwgNSwgXCJcXHU5MEEzXFx1RjkxNFwiLCA0LCBcIlxcdThBRkVcXHVGOTE5XFx1RjkxQVxcdUY5MUJcXHVGOTFDXFx1NjY5NlxcdUY5MURcXHU3MTU2XFx1RjkxRVxcdUY5MUZcXHU5NkUzXFx1RjkyMFxcdTYzNEZcXHU2MzdBXFx1NTM1N1xcdUY5MjFcXHU2NzhGXFx1Njk2MFxcdTZFNzNcXHVGOTIyXFx1NzUzN1xcdUY5MjNcXHVGOTI0XFx1RjkyNVwiXSxcbiAgICAgIFtcImQyYTFcIiwgXCJcXHU3RDBEXFx1RjkyNlxcdUY5MjdcXHU4ODcyXFx1NTZDQVxcdTVBMThcXHVGOTI4XCIsIDQsIFwiXFx1NEU0M1xcdUY5MkRcXHU1MTY3XFx1NTk0OFxcdTY3RjBcXHU4MDEwXFx1RjkyRVxcdTU5NzNcXHU1RTc0XFx1NjQ5QVxcdTc5Q0FcXHU1RkY1XFx1NjA2Q1xcdTYyQzhcXHU2MzdCXFx1NUJFN1xcdTVCRDdcXHU1MkFBXFx1RjkyRlxcdTU5NzRcXHU1RjI5XFx1NjAxMlxcdUY5MzBcXHVGOTMxXFx1RjkzMlxcdTc0NTlcXHVGOTMzXCIsIDUsIFwiXFx1OTlEMVxcdUY5MzlcIiwgMTAsIFwiXFx1NkZDM1xcdUY5NDRcXHVGOTQ1XFx1ODFCRlxcdThGQjJcXHU2MEYxXFx1Rjk0NlxcdUY5NDdcXHU4MTY2XFx1Rjk0OFxcdUY5NDlcXHU1QzNGXFx1Rjk0QVwiLCA3LCBcIlxcdTVBRTlcXHU4QTI1XFx1Njc3QlxcdTdEMTBcXHVGOTUyXCIsIDUsIFwiXFx1ODBGRFxcdUY5NThcXHVGOTU5XFx1NUMzQ1xcdTZDRTVcXHU1MzNGXFx1NkVCQVxcdTU5MUFcXHU4MzM2XCJdLFxuICAgICAgW1wiZDNhMVwiLCBcIlxcdTRFMzlcXHU0RUI2XFx1NEY0NlxcdTU1QUVcXHU1NzE4XFx1NThDN1xcdTVGNTZcXHU2NUI3XFx1NjVFNlxcdTZBODBcXHU2QkI1XFx1NkU0RFxcdTc3RURcXHU3QUVGXFx1N0MxRVxcdTdEREVcXHU4NkNCXFx1ODg5MlxcdTkxMzJcXHU5MzVCXFx1NjRCQlxcdTZGQkVcXHU3MzdBXFx1NzVCOFxcdTkwNTRcXHU1NTU2XFx1NTc0RFxcdTYxQkFcXHU2NEQ0XFx1NjZDN1xcdTZERTFcXHU2RTVCXFx1NkY2RFxcdTZGQjlcXHU3NUYwXFx1ODA0M1xcdTgxQkRcXHU4NTQxXFx1ODk4M1xcdThBQzdcXHU4QjVBXFx1OTMxRlxcdTZDOTNcXHU3NTUzXFx1N0I1NFxcdThFMEZcXHU5MDVEXFx1NTUxMFxcdTU4MDJcXHU1ODU4XFx1NUU2MlxcdTYyMDdcXHU2NDlFXFx1NjhFMFxcdTc1NzZcXHU3Q0Q2XFx1ODdCM1xcdTlFRThcXHU0RUUzXFx1NTc4OFxcdTU3NkVcXHU1OTI3XFx1NUMwRFxcdTVDQjFcXHU1RTM2XFx1NUY4NVxcdTYyMzRcXHU2NEUxXFx1NzNCM1xcdTgxRkFcXHU4ODhCXFx1OENCOFxcdTk2OEFcXHU5RURCXFx1NUI4NVxcdTVGQjdcXHU2MEIzXFx1NTAxMlxcdTUyMDBcXHU1MjMwXFx1NTcxNlxcdTU4MzVcXHU1ODU3XFx1NUMwRVxcdTVDNjBcXHU1Q0Y2XFx1NUQ4QlxcdTVFQTZcXHU1RjkyXFx1NjBCQ1xcdTYzMTFcXHU2Mzg5XFx1NjQxN1xcdTY4NDNcIl0sXG4gICAgICBbXCJkNGExXCIsIFwiXFx1NjhGOVxcdTZBQzJcXHU2REQ4XFx1NkUyMVxcdTZFRDRcXHU2RkU0XFx1NzFGRVxcdTc2RENcXHU3Nzc5XFx1NzlCMVxcdTdBM0JcXHU4NDA0XFx1ODlBOVxcdThDRURcXHU4REYzXFx1OEU0OFxcdTkwMDNcXHU5MDE0XFx1OTA1M1xcdTkwRkRcXHU5MzREXFx1OTY3NlxcdTk3RENcXHU2QkQyXFx1NzAwNlxcdTcyNThcXHU3MkEyXFx1NzM2OFxcdTc3NjNcXHU3OUJGXFx1N0JFNFxcdTdFOUJcXHU4QjgwXFx1NThBOVxcdTYwQzdcXHU2NTY2XFx1NjVGRFxcdTY2QkVcXHU2QzhDXFx1NzExRVxcdTcxQzlcXHU4QzVBXFx1OTgxM1xcdTRFNkRcXHU3QTgxXFx1NEVERFxcdTUxQUNcXHU1MUNEXFx1NTJENVxcdTU0MENcXHU2MUE3XFx1Njc3MVxcdTY4NTBcXHU2OERGXFx1NkQxRVxcdTZGN0NcXHU3NUJDXFx1NzdCM1xcdTdBRTVcXHU4MEY0XFx1ODQ2M1xcdTkyODVcXHU1MTVDXFx1NjU5N1xcdTY3NUNcXHU2NzkzXFx1NzVEOFxcdTdBQzdcXHU4MzczXFx1Rjk1QVxcdThDNDZcXHU5MDE3XFx1OTgyRFxcdTVDNkZcXHU4MUMwXFx1ODI5QVxcdTkwNDFcXHU5MDZGXFx1OTIwRFxcdTVGOTdcXHU1RDlEXFx1NkE1OVxcdTcxQzhcXHU3NjdCXFx1N0I0OVxcdTg1RTRcXHU4QjA0XFx1OTEyN1xcdTlBMzBcXHU1NTg3XFx1NjFGNlxcdUY5NUJcXHU3NjY5XFx1N0Y4NVwiXSxcbiAgICAgIFtcImQ1YTFcIiwgXCJcXHU4NjNGXFx1ODdCQVxcdTg4RjhcXHU5MDhGXFx1Rjk1Q1xcdTZEMUJcXHU3MEQ5XFx1NzNERVxcdTdENjFcXHU4NDNEXFx1Rjk1RFxcdTkxNkFcXHU5OUYxXFx1Rjk1RVxcdTRFODJcXHU1Mzc1XFx1NkIwNFxcdTZCMTJcXHU3MDNFXFx1NzIxQlxcdTg2MkRcXHU5RTFFXFx1NTI0Q1xcdThGQTNcXHU1RDUwXFx1NjRFNVxcdTY1MkNcXHU2QjE2XFx1NkZFQlxcdTdDNDNcXHU3RTlDXFx1ODVDRFxcdTg5NjRcXHU4OUJEXFx1NjJDOVxcdTgxRDhcXHU4ODFGXFx1NUVDQVxcdTY3MTdcXHU2RDZBXFx1NzJGQ1xcdTc0MDVcXHU3NDZGXFx1ODc4MlxcdTkwREVcXHU0Rjg2XFx1NUQwRFxcdTVGQTBcXHU4NDBBXFx1NTFCN1xcdTYzQTBcXHU3NTY1XFx1NEVBRVxcdTUwMDZcXHU1MTY5XFx1NTFDOVxcdTY4ODFcXHU2QTExXFx1N0NBRVxcdTdDQjFcXHU3Q0U3XFx1ODI2RlxcdThBRDJcXHU4RjFCXFx1OTFDRlxcdTRGQjZcXHU1MTM3XFx1NTJGNVxcdTU0NDJcXHU1RUVDXFx1NjE2RVxcdTYyM0VcXHU2NUM1XFx1NkFEQVxcdTZGRkVcXHU3OTJBXFx1ODVEQ1xcdTg4MjNcXHU5NUFEXFx1OUE2MlxcdTlBNkFcXHU5RTk3XFx1OUVDRVxcdTUyOUJcXHU2NkM2XFx1NkI3N1xcdTcwMURcXHU3OTJCXFx1OEY2MlxcdTk3NDJcXHU2MTkwXFx1NjIwMFxcdTY1MjNcXHU2RjIzXCJdLFxuICAgICAgW1wiZDZhMVwiLCBcIlxcdTcxNDlcXHU3NDg5XFx1N0RGNFxcdTgwNkZcXHU4NEVFXFx1OEYyNlxcdTkwMjNcXHU5MzRBXFx1NTFCRFxcdTUyMTdcXHU1MkEzXFx1NkQwQ1xcdTcwQzhcXHU4OEMyXFx1NUVDOVxcdTY1ODJcXHU2QkFFXFx1NkZDMlxcdTdDM0VcXHU3Mzc1XFx1NEVFNFxcdTRGMzZcXHU1NkY5XFx1Rjk1RlxcdTVDQkFcXHU1REJBXFx1NjAxQ1xcdTczQjJcXHU3QjJEXFx1N0Y5QVxcdTdGQ0VcXHU4MDQ2XFx1OTAxRVxcdTkyMzRcXHU5NkY2XFx1OTc0OFxcdTk4MThcXHU5RjYxXFx1NEY4QlxcdTZGQTdcXHU3OUFFXFx1OTFCNFxcdTk2QjdcXHU1MkRFXFx1Rjk2MFxcdTY0ODhcXHU2NEM0XFx1NkFEM1xcdTZGNUVcXHU3MDE4XFx1NzIxMFxcdTc2RTdcXHU4MDAxXFx1ODYwNlxcdTg2NUNcXHU4REVGXFx1OEYwNVxcdTk3MzJcXHU5QjZGXFx1OURGQVxcdTlFNzVcXHU3ODhDXFx1Nzk3RlxcdTdEQTBcXHU4M0M5XFx1OTMwNFxcdTlFN0ZcXHU5RTkzXFx1OEFENlxcdTU4REZcXHU1RjA0XFx1NjcyN1xcdTcwMjdcXHU3NENGXFx1N0M2MFxcdTgwN0VcXHU1MTIxXFx1NzAyOFxcdTcyNjJcXHU3OENBXFx1OENDMlxcdThDREFcXHU4Q0Y0XFx1OTZGN1xcdTRFODZcXHU1MERBXFx1NUJFRVxcdTVFRDZcXHU2NTk5XFx1NzFDRVxcdTc2NDJcXHU3N0FEXFx1ODA0QVxcdTg0RkNcIl0sXG4gICAgICBbXCJkN2ExXCIsIFwiXFx1OTA3Q1xcdTlCMjdcXHU5RjhEXFx1NThEOFxcdTVBNDFcXHU1QzYyXFx1NkExM1xcdTZEREFcXHU2RjBGXFx1NzYzQlxcdTdEMkZcXHU3RTM3XFx1ODUxRVxcdTg5MzhcXHU5M0U0XFx1OTY0QlxcdTUyODlcXHU2NUQyXFx1NjdGM1xcdTY5QjRcXHU2RDQxXFx1NkU5Q1xcdTcwMEZcXHU3NDA5XFx1NzQ2MFxcdTc1NTlcXHU3NjI0XFx1Nzg2QlxcdThCMkNcXHU5ODVFXFx1NTE2RFxcdTYyMkVcXHU5Njc4XFx1NEY5NlxcdTUwMkJcXHU1RDE5XFx1NkRFQVxcdTdEQjhcXHU4RjJBXFx1NUY4QlxcdTYxNDRcXHU2ODE3XFx1Rjk2MVxcdTk2ODZcXHU1MkQyXFx1ODA4QlxcdTUxRENcXHU1MUNDXFx1Njk1RVxcdTdBMUNcXHU3REJFXFx1ODNGMVxcdTk2NzVcXHU0RkRBXFx1NTIyOVxcdTUzOThcXHU1NDBGXFx1NTUwRVxcdTVDNjVcXHU2MEE3XFx1Njc0RVxcdTY4QThcXHU2RDZDXFx1NzI4MVxcdTcyRjhcXHU3NDA2XFx1NzQ4M1xcdUY5NjJcXHU3NUUyXFx1N0M2Q1xcdTdGNzlcXHU3RkI4XFx1ODM4OVxcdTg4Q0ZcXHU4OEUxXFx1OTFDQ1xcdTkxRDBcXHU5NkUyXFx1OUJDOVxcdTU0MURcXHU2RjdFXFx1NzFEMFxcdTc0OThcXHU4NUZBXFx1OEVBQVxcdTk2QTNcXHU5QzU3XFx1OUU5RlxcdTY3OTdcXHU2RENCXFx1NzQzM1xcdTgxRThcXHU5NzE2XFx1NzgyQ1wiXSxcbiAgICAgIFtcImQ4YTFcIiwgXCJcXHU3QUNCXFx1N0IyMFxcdTdDOTJcXHU2NDY5XFx1NzQ2QVxcdTc1RjJcXHU3OEJDXFx1NzhFOFxcdTk5QUNcXHU5QjU0XFx1OUVCQlxcdTVCREVcXHU1RTU1XFx1NkYyMFxcdTgxOUNcXHU4M0FCXFx1OTA4OFxcdTRFMDdcXHU1MzREXFx1NUEyOVxcdTVERDJcXHU1RjRFXFx1NjE2MlxcdTYzM0RcXHU2NjY5XFx1NjZGQ1xcdTZFRkZcXHU2RjJCXFx1NzA2M1xcdTc3OUVcXHU4NDJDXFx1ODUxM1xcdTg4M0JcXHU4RjEzXFx1OTk0NVxcdTlDM0JcXHU1NTFDXFx1NjJCOVxcdTY3MkJcXHU2Q0FCXFx1ODMwOVxcdTg5NkFcXHU5NzdBXFx1NEVBMVxcdTU5ODRcXHU1RkQ4XFx1NUZEOVxcdTY3MUJcXHU3REIyXFx1N0Y1NFxcdTgyOTJcXHU4MzJCXFx1ODNCRFxcdThGMUVcXHU5MDk5XFx1NTdDQlxcdTU5QjlcXHU1QTkyXFx1NUJEMFxcdTY2MjdcXHU2NzlBXFx1Njg4NVxcdTZCQ0ZcXHU3MTY0XFx1N0Y3NVxcdThDQjdcXHU4Q0UzXFx1OTA4MVxcdTlCNDVcXHU4MTA4XFx1OEM4QVxcdTk2NENcXHU5QTQwXFx1OUVBNVxcdTVCNUZcXHU2QzEzXFx1NzMxQlxcdTc2RjJcXHU3NkRGXFx1ODQwQ1xcdTUxQUFcXHU4OTkzXFx1NTE0RFxcdTUxOTVcXHU1MkM5XFx1NjhDOVxcdTZDOTRcXHU3NzA0XFx1NzcyMFxcdTdEQkZcXHU3REVDXFx1OTc2MlxcdTlFQjVcXHU2RUM1XCJdLFxuICAgICAgW1wiZDlhMVwiLCBcIlxcdTg1MTFcXHU1MUE1XFx1NTQwRFxcdTU0N0RcXHU2NjBFXFx1NjY5RFxcdTY5MjdcXHU2RTlGXFx1NzZCRlxcdTc3OTFcXHU4MzE3XFx1ODRDMlxcdTg3OUZcXHU5MTY5XFx1OTI5OFxcdTlDRjRcXHU4ODgyXFx1NEZBRVxcdTUxOTJcXHU1MkRGXFx1NTlDNlxcdTVFM0RcXHU2MTU1XFx1NjQ3OFxcdTY0NzlcXHU2NkFFXFx1NjdEMFxcdTZBMjFcXHU2QkNEXFx1NkJEQlxcdTcyNUZcXHU3MjYxXFx1NzQ0MVxcdTc3MzhcXHU3N0RCXFx1ODAxN1xcdTgyQkNcXHU4MzA1XFx1OEIwMFxcdThCMjhcXHU4QzhDXFx1NjcyOFxcdTZDOTBcXHU3MjY3XFx1NzZFRVxcdTc3NjZcXHU3QTQ2XFx1OURBOVxcdTZCN0ZcXHU2QzkyXFx1NTkyMlxcdTY3MjZcXHU4NDk5XFx1NTM2RlxcdTU4OTNcXHU1OTk5XFx1NUVERlxcdTYzQ0ZcXHU2NjM0XFx1Njc3M1xcdTZFM0FcXHU3MzJCXFx1N0FEN1xcdTgyRDdcXHU5MzI4XFx1NTJEOVxcdTVERUJcXHU2MUFFXFx1NjFDQlxcdTYyMEFcXHU2MkM3XFx1NjRBQlxcdTY1RTBcXHU2OTU5XFx1NkI2NlxcdTZCQ0JcXHU3MTIxXFx1NzNGN1xcdTc1NURcXHU3RTQ2XFx1ODIxRVxcdTgzMDJcXHU4NTZBXFx1OEFBM1xcdThDQkZcXHU5NzI3XFx1OUQ2MVxcdTU4QThcXHU5RUQ4XFx1NTAxMVxcdTUyMEVcXHU1NDNCXFx1NTU0RlxcdTY1ODdcIl0sXG4gICAgICBbXCJkYWExXCIsIFwiXFx1NkM3NlxcdTdEMEFcXHU3RDBCXFx1ODA1RVxcdTg2OEFcXHU5NTgwXFx1OTZFRlxcdTUyRkZcXHU2Qzk1XFx1NzI2OVxcdTU0NzNcXHU1QTlBXFx1NUMzRVxcdTVENEJcXHU1RjRDXFx1NUZBRVxcdTY3MkFcXHU2OEI2XFx1Njk2M1xcdTZFM0NcXHU2RTQ0XFx1NzcwOVxcdTdDNzNcXHU3RjhFXFx1ODU4N1xcdThCMEVcXHU4RkY3XFx1OTc2MVxcdTlFRjRcXHU1Q0I3XFx1NjBCNlxcdTYxMERcXHU2MUFCXFx1NjU0RlxcdTY1RkJcXHU2NUZDXFx1NkMxMVxcdTZDRUZcXHU3MzlGXFx1NzNDOVxcdTdERTFcXHU5NTk0XFx1NUJDNlxcdTg3MUNcXHU4QjEwXFx1NTI1RFxcdTUzNUFcXHU2MkNEXFx1NjQwRlxcdTY0QjJcXHU2NzM0XFx1NkEzOFxcdTZDQ0FcXHU3M0MwXFx1NzQ5RVxcdTdCOTRcXHU3Qzk1XFx1N0UxQlxcdTgxOEFcXHU4MjM2XFx1ODU4NFxcdThGRUJcXHU5NkY5XFx1OTlDMVxcdTRGMzRcXHU1MzRBXFx1NTNDRFxcdTUzREJcXHU2MkNDXFx1NjQyQ1xcdTY1MDBcXHU2NTkxXFx1NjlDM1xcdTZDRUVcXHU2RjU4XFx1NzNFRFxcdTc1NTRcXHU3NjIyXFx1NzZFNFxcdTc2RkNcXHU3OEQwXFx1NzhGQlxcdTc5MkNcXHU3RDQ2XFx1ODIyQ1xcdTg3RTBcXHU4RkQ0XFx1OTgxMlxcdTk4RUZcXHU1MkMzXFx1NjJENFxcdTY0QTVcXHU2RTI0XFx1NkY1MVwiXSxcbiAgICAgIFtcImRiYTFcIiwgXCJcXHU3NjdDXFx1OERDQlxcdTkxQjFcXHU5MjYyXFx1OUFFRVxcdTlCNDNcXHU1MDIzXFx1NTA4RFxcdTU3NEFcXHU1OUE4XFx1NUMyOFxcdTVFNDdcXHU1Rjc3XFx1NjIzRlxcdTY1M0VcXHU2NUI5XFx1NjVDMVxcdTY2MDlcXHU2NzhCXFx1Njk5Q1xcdTZFQzJcXHU3OEM1XFx1N0QyMVxcdTgwQUFcXHU4MTgwXFx1ODIyQlxcdTgyQjNcXHU4NEExXFx1ODY4Q1xcdThBMkFcXHU4QjE3XFx1OTBBNlxcdTk2MzJcXHU5RjkwXFx1NTAwRFxcdTRGRjNcXHVGOTYzXFx1NTdGOVxcdTVGOThcXHU2MkRDXFx1NjM5MlxcdTY3NkZcXHU2RTQzXFx1NzExOVxcdTc2QzNcXHU4MENDXFx1ODBEQVxcdTg4RjRcXHU4OEY1XFx1ODkxOVxcdThDRTBcXHU4RjI5XFx1OTE0RFxcdTk2NkFcXHU0RjJGXFx1NEY3MFxcdTVFMUJcXHU2N0NGXFx1NjgyMlxcdTc2N0RcXHU3NjdFXFx1OUI0NFxcdTVFNjFcXHU2QTBBXFx1NzE2OVxcdTcxRDRcXHU3NTZBXFx1Rjk2NFxcdTdFNDFcXHU4NTQzXFx1ODVFOVxcdTk4RENcXHU0RjEwXFx1N0I0RlxcdTdGNzBcXHU5NUE1XFx1NTFFMVxcdTVFMDZcXHU2OEI1XFx1NkMzRVxcdTZDNEVcXHU2Q0RCXFx1NzJBRlxcdTdCQzRcXHU4MzAzXFx1NkNENVxcdTc0M0FcXHU1MEZCXFx1NTI4OFxcdTU4QzFcXHU2NEQ4XFx1NkE5N1xcdTc0QTdcXHU3NjU2XCJdLFxuICAgICAgW1wiZGNhMVwiLCBcIlxcdTc4QTdcXHU4NjE3XFx1OTVFMlxcdTk3MzlcXHVGOTY1XFx1NTM1RVxcdTVGMDFcXHU4QjhBXFx1OEZBOFxcdThGQUZcXHU5MDhBXFx1NTIyNVxcdTc3QTVcXHU5QzQ5XFx1OUYwOFxcdTRFMTlcXHU1MDAyXFx1NTE3NVxcdTVDNUJcXHU1RTc3XFx1NjYxRVxcdTY2M0FcXHU2N0M0XFx1NjhDNVxcdTcwQjNcXHU3NTAxXFx1NzVDNVxcdTc5QzlcXHU3QUREXFx1OEYyN1xcdTk5MjBcXHU5QTA4XFx1NEZERFxcdTU4MjFcXHU1ODMxXFx1NUJGNlxcdTY2NkVcXHU2QjY1XFx1NkQxMVxcdTZFN0FcXHU2RjdEXFx1NzNFNFxcdTc1MkJcXHU4M0U5XFx1ODhEQ1xcdTg5MTNcXHU4QjVDXFx1OEYxNFxcdTRGMEZcXHU1MEQ1XFx1NTMxMFxcdTUzNUNcXHU1QjkzXFx1NUZBOVxcdTY3MERcXHU3OThGXFx1ODE3OVxcdTgzMkZcXHU4NTE0XFx1ODkwN1xcdTg5ODZcXHU4RjM5XFx1OEYzQlxcdTk5QTVcXHU5QzEyXFx1NjcyQ1xcdTRFNzZcXHU0RkY4XFx1NTk0OVxcdTVDMDFcXHU1Q0VGXFx1NUNGMFxcdTYzNjdcXHU2OEQyXFx1NzBGRFxcdTcxQTJcXHU3NDJCXFx1N0UyQlxcdTg0RUNcXHU4NzAyXFx1OTAyMlxcdTkyRDJcXHU5Q0YzXFx1NEUwRFxcdTRFRDhcXHU0RkVGXFx1NTA4NVxcdTUyNTZcXHU1MjZGXFx1NTQyNlxcdTU0OTBcXHU1N0UwXFx1NTkyQlxcdTVBNjZcIl0sXG4gICAgICBbXCJkZGExXCIsIFwiXFx1NUI1QVxcdTVCNzVcXHU1QkNDXFx1NUU5Q1xcdUY5NjZcXHU2Mjc2XFx1NjU3N1xcdTY1QTdcXHU2RDZFXFx1NkVBNVxcdTcyMzZcXHU3QjI2XFx1N0MzRlxcdTdGMzZcXHU4MTUwXFx1ODE1MVxcdTgxOUFcXHU4MjQwXFx1ODI5OVxcdTgzQTlcXHU4QTAzXFx1OENBMFxcdThDRTZcXHU4Q0ZCXFx1OEQ3NFxcdThEQkFcXHU5MEU4XFx1OTFEQ1xcdTk2MUNcXHU5NjQ0XFx1OTlEOVxcdTlDRTdcXHU1MzE3XFx1NTIwNlxcdTU0MjlcXHU1Njc0XFx1NThCM1xcdTU5NTRcXHU1OTZFXFx1NUZGRlxcdTYxQTRcXHU2MjZFXFx1NjYxMFxcdTZDN0VcXHU3MTFBXFx1NzZDNlxcdTdDODlcXHU3Q0RFXFx1N0QxQlxcdTgyQUNcXHU4Q0MxXFx1OTZGMFxcdUY5NjdcXHU0RjVCXFx1NUYxN1xcdTVGN0ZcXHU2MkMyXFx1NUQyOVxcdTY3MEJcXHU2OERBXFx1Nzg3Q1xcdTdFNDNcXHU5RDZDXFx1NEUxNVxcdTUwOTlcXHU1MzE1XFx1NTMyQVxcdTUzNTFcXHU1OTgzXFx1NUE2MlxcdTVFODdcXHU2MEIyXFx1NjE4QVxcdTYyNDlcXHU2Mjc5XFx1NjU5MFxcdTY3ODdcXHU2OUE3XFx1NkJENFxcdTZCRDZcXHU2QkQ3XFx1NkJEOFxcdTZDQjhcXHVGOTY4XFx1NzQzNVxcdTc1RkFcXHU3ODEyXFx1Nzg5MVxcdTc5RDVcXHU3OUQ4XFx1N0M4M1xcdTdEQ0JcXHU3RkUxXFx1ODBBNVwiXSxcbiAgICAgIFtcImRlYTFcIiwgXCJcXHU4MTNFXFx1ODFDMlxcdTgzRjJcXHU4NzFBXFx1ODhFOFxcdThBQjlcXHU4QjZDXFx1OENCQlxcdTkxMTlcXHU5NzVFXFx1OThEQlxcdTlGM0JcXHU1NkFDXFx1NUIyQVxcdTVGNkNcXHU2NThDXFx1NkFCM1xcdTZCQUZcXHU2RDVDXFx1NkZGMVxcdTcwMTVcXHU3MjVEXFx1NzNBRFxcdThDQTdcXHU4Q0QzXFx1OTgzQlxcdTYxOTFcXHU2QzM3XFx1ODA1OFxcdTlBMDFcXHU0RTREXFx1NEU4QlxcdTRFOUJcXHU0RUQ1XFx1NEYzQVxcdTRGM0NcXHU0RjdGXFx1NEZERlxcdTUwRkZcXHU1M0YyXFx1NTNGOFxcdTU1MDZcXHU1NUUzXFx1NTZEQlxcdTU4RUJcXHU1OTYyXFx1NUExMVxcdTVCRUJcXHU1QkZBXFx1NUMwNFxcdTVERjNcXHU1RTJCXFx1NUY5OVxcdTYwMURcXHU2MzY4XFx1NjU5Q1xcdTY1QUZcXHU2N0Y2XFx1NjdGQlxcdTY4QURcXHU2QjdCXFx1NkM5OVxcdTZDRDdcXHU2RTIzXFx1NzAwOVxcdTczNDVcXHU3ODAyXFx1NzkzRVxcdTc5NDBcXHU3OTYwXFx1NzlDMVxcdTdCRTlcXHU3RDE3XFx1N0Q3MlxcdTgwODZcXHU4MjBEXFx1ODM4RVxcdTg0RDFcXHU4NkM3XFx1ODhERlxcdThBNTBcXHU4QTVFXFx1OEIxRFxcdThDRENcXHU4RDY2XFx1OEZBRFxcdTkwQUFcXHU5OEZDXFx1OTlERlxcdTlFOURcXHU1MjRBXFx1Rjk2OVxcdTY3MTRcXHVGOTZBXCJdLFxuICAgICAgW1wiZGZhMVwiLCBcIlxcdTUwOThcXHU1MjJBXFx1NUM3MVxcdTY1NjNcXHU2QzU1XFx1NzNDQVxcdTc1MjNcXHU3NTlEXFx1N0I5N1xcdTg0OUNcXHU5MTc4XFx1OTczMFxcdTRFNzdcXHU2NDkyXFx1NkJCQVxcdTcxNUVcXHU4NUE5XFx1NEUwOVxcdUY5NkJcXHU2NzQ5XFx1NjhFRVxcdTZFMTdcXHU4MjlGXFx1ODUxOFxcdTg4NkJcXHU2M0Y3XFx1NkY4MVxcdTkyMTJcXHU5OEFGXFx1NEUwQVxcdTUwQjdcXHU1MENGXFx1NTExRlxcdTU1NDZcXHU1NUFBXFx1NTYxN1xcdTVCNDBcXHU1QzE5XFx1NUNFMFxcdTVFMzhcXHU1RThBXFx1NUVBMFxcdTVFQzJcXHU2MEYzXFx1Njg1MVxcdTZBNjFcXHU2RTU4XFx1NzIzRFxcdTcyNDBcXHU3MkMwXFx1NzZGOFxcdTc5NjVcXHU3QkIxXFx1N0ZENFxcdTg4RjNcXHU4OUY0XFx1OEE3M1xcdThDNjFcXHU4Q0RFXFx1OTcxQ1xcdTU4NUVcXHU3NEJEXFx1OENGRFxcdTU1QzdcXHVGOTZDXFx1N0E2MVxcdTdEMjJcXHU4MjcyXFx1NzI3MlxcdTc1MUZcXHU3NTI1XFx1Rjk2RFxcdTdCMTlcXHU1ODg1XFx1NThGQlxcdTVEQkNcXHU1RThGXFx1NUVCNlxcdTVGOTBcXHU2MDU1XFx1NjI5MlxcdTYzN0ZcXHU2NTREXFx1NjY5MVxcdTY2RDlcXHU2NkY4XFx1NjgxNlxcdTY4RjJcXHU3MjgwXFx1NzQ1RVxcdTdCNkVcXHU3RDZFXFx1N0RENlxcdTdGNzJcIl0sXG4gICAgICBbXCJlMGExXCIsIFwiXFx1ODBFNVxcdTgyMTJcXHU4NUFGXFx1ODk3RlxcdThBOTNcXHU5MDFEXFx1OTJFNFxcdTlFQ0RcXHU5RjIwXFx1NTkxNVxcdTU5NkRcXHU1RTJEXFx1NjBEQ1xcdTY2MTRcXHU2NjczXFx1Njc5MFxcdTZDNTBcXHU2REM1XFx1NkY1RlxcdTc3RjNcXHU3OEE5XFx1ODRDNlxcdTkxQ0JcXHU5MzJCXFx1NEVEOVxcdTUwQ0FcXHU1MTQ4XFx1NTU4NFxcdTVCMEJcXHU1QkEzXFx1NjI0N1xcdTY1N0VcXHU2NUNCXFx1NkUzMlxcdTcxN0RcXHU3NDAxXFx1NzQ0NFxcdTc0ODdcXHU3NEJGXFx1NzY2Q1xcdTc5QUFcXHU3RERBXFx1N0U1NVxcdTdGQThcXHU4MTdBXFx1ODFCM1xcdTgyMzlcXHU4NjFBXFx1ODdFQ1xcdThBNzVcXHU4REUzXFx1OTA3OFxcdTkyOTFcXHU5NDI1XFx1OTk0RFxcdTlCQUVcXHU1MzY4XFx1NUM1MVxcdTY5NTRcXHU2Q0M0XFx1NkQyOVxcdTZFMkJcXHU4MjBDXFx1ODU5QlxcdTg5M0JcXHU4QTJEXFx1OEFBQVxcdTk2RUFcXHU5RjY3XFx1NTI2MVxcdTY2QjlcXHU2QkIyXFx1N0U5NlxcdTg3RkVcXHU4RDBEXFx1OTU4M1xcdTk2NURcXHU2NTFEXFx1NkQ4OVxcdTcxRUVcXHVGOTZFXFx1NTdDRVxcdTU5RDNcXHU1QkFDXFx1NjAyN1xcdTYwRkFcXHU2MjEwXFx1NjYxRlxcdTY2NUZcXHU3MzI5XFx1NzNGOVxcdTc2REJcXHU3NzAxXFx1N0I2Q1wiXSxcbiAgICAgIFtcImUxYTFcIiwgXCJcXHU4MDU2XFx1ODA3MlxcdTgxNjVcXHU4QUEwXFx1OTE5MlxcdTRFMTZcXHU1MkUyXFx1NkI3MlxcdTZEMTdcXHU3QTA1XFx1N0IzOVxcdTdEMzBcXHVGOTZGXFx1OENCMFxcdTUzRUNcXHU1NjJGXFx1NTg1MVxcdTVCQjVcXHU1QzBGXFx1NUMxMVxcdTVERTJcXHU2MjQwXFx1NjM4M1xcdTY0MTRcXHU2NjJEXFx1NjhCM1xcdTZDQkNcXHU2RDg4XFx1NkVBRlxcdTcwMUZcXHU3MEE0XFx1NzFEMlxcdTc1MjZcXHU3NThGXFx1NzU4RVxcdTc2MTlcXHU3QjExXFx1N0JFMFxcdTdDMkJcXHU3RDIwXFx1N0QzOVxcdTg1MkNcXHU4NTZEXFx1ODYwN1xcdThBMzRcXHU5MDBEXFx1OTA2MVxcdTkwQjVcXHU5MkI3XFx1OTdGNlxcdTlBMzdcXHU0RkQ3XFx1NUM2Q1xcdTY3NUZcXHU2RDkxXFx1N0M5RlxcdTdFOENcXHU4QjE2XFx1OEQxNlxcdTkwMUZcXHU1QjZCXFx1NURGRFxcdTY0MERcXHU4NEMwXFx1OTA1Q1xcdTk4RTFcXHU3Mzg3XFx1NUI4QlxcdTYwOUFcXHU2NzdFXFx1NkRERVxcdThBMUZcXHU4QUE2XFx1OTAwMVxcdTk4MENcXHU1MjM3XFx1Rjk3MFxcdTcwNTFcXHU3ODhFXFx1OTM5NlxcdTg4NzBcXHU5MUQ3XFx1NEZFRVxcdTUzRDdcXHU1NUZEXFx1NTZEQVxcdTU3ODJcXHU1OEZEXFx1NUFDMlxcdTVCODhcXHU1Q0FCXFx1NUNDMFxcdTVFMjVcXHU2MTAxXCJdLFxuICAgICAgW1wiZTJhMVwiLCBcIlxcdTYyMERcXHU2MjRCXFx1NjM4OFxcdTY0MUNcXHU2NTM2XFx1NjU3OFxcdTZBMzlcXHU2QjhBXFx1NkMzNFxcdTZEMTlcXHU2RjMxXFx1NzFFN1xcdTcyRTlcXHU3Mzc4XFx1NzQwN1xcdTc0QjJcXHU3NjI2XFx1Nzc2MVxcdTc5QzBcXHU3QTU3XFx1N0FFQVxcdTdDQjlcXHU3RDhGXFx1N0RBQ1xcdTdFNjFcXHU3RjlFXFx1ODEyOVxcdTgzMzFcXHU4NDkwXFx1ODREQVxcdTg1RUFcXHU4ODk2XFx1OEFCMFxcdThCOTBcXHU4RjM4XFx1OTA0MlxcdTkwODNcXHU5MTZDXFx1OTI5NlxcdTkyQjlcXHU5NjhCXFx1OTZBN1xcdTk2QThcXHU5NkQ2XFx1OTcwMFxcdTk4MDhcXHU5OTk2XFx1OUFEM1xcdTlCMUFcXHU1M0Q0XFx1NTg3RVxcdTU5MTlcXHU1QjcwXFx1NUJCRlxcdTZERDFcXHU2RjVBXFx1NzE5RlxcdTc0MjFcXHU3NEI5XFx1ODA4NVxcdTgzRkRcXHU1REUxXFx1NUY4N1xcdTVGQUFcXHU2MDQyXFx1NjVFQ1xcdTY4MTJcXHU2OTZGXFx1NkE1M1xcdTZCODlcXHU2RDM1XFx1NkRGM1xcdTczRTNcXHU3NkZFXFx1NzdBQ1xcdTdCNERcXHU3RDE0XFx1ODEyM1xcdTgyMUNcXHU4MzQwXFx1ODRGNFxcdTg1NjNcXHU4QTYyXFx1OEFDNFxcdTkxODdcXHU5MzFFXFx1OTgwNlxcdTk5QjRcXHU2MjBDXFx1ODg1M1xcdThGRjBcXHU5MjY1XFx1NUQwN1xcdTVEMjdcIl0sXG4gICAgICBbXCJlM2ExXCIsIFwiXFx1NUQ2OVxcdTc0NUZcXHU4MTlEXFx1ODc2OFxcdTZGRDVcXHU2MkZFXFx1N0ZEMlxcdTg5MzZcXHU4OTcyXFx1NEUxRVxcdTRFNThcXHU1MEU3XFx1NTJERFxcdTUzNDdcXHU2MjdGXFx1NjYwN1xcdTdFNjlcXHU4ODA1XFx1OTY1RVxcdTRGOERcXHU1MzE5XFx1NTYzNlxcdTU5Q0JcXHU1QUE0XFx1NUMzOFxcdTVDNEVcXHU1QzREXFx1NUUwMlxcdTVGMTFcXHU2MDQzXFx1NjVCRFxcdTY2MkZcXHU2NjQyXFx1NjdCRVxcdTY3RjRcXHU3MzFDXFx1NzdFMlxcdTc5M0FcXHU3RkM1XFx1ODQ5NFxcdTg0Q0RcXHU4OTk2XFx1OEE2NlxcdThBNjlcXHU4QUUxXFx1OEM1NVxcdThDN0FcXHU1N0Y0XFx1NUJENFxcdTVGMEZcXHU2MDZGXFx1NjJFRFxcdTY5MERcXHU2Qjk2XFx1NkU1Q1xcdTcxODRcXHU3QkQyXFx1ODc1NVxcdThCNThcXHU4RUZFXFx1OThERlxcdTk4RkVcXHU0RjM4XFx1NEY4MVxcdTRGRTFcXHU1NDdCXFx1NUEyMFxcdTVCQjhcXHU2MTNDXFx1NjVCMFxcdTY2NjhcXHU3MUZDXFx1NzUzM1xcdTc5NUVcXHU3RDMzXFx1ODE0RVxcdTgxRTNcXHU4Mzk4XFx1ODVBQVxcdTg1Q0VcXHU4NzAzXFx1OEEwQVxcdThFQUJcXHU4RjlCXFx1Rjk3MVxcdThGQzVcXHU1OTMxXFx1NUJBNFxcdTVCRTZcXHU2MDg5XFx1NUJFOVxcdTVDMEJcXHU1RkMzXFx1NkM4MVwiXSxcbiAgICAgIFtcImU0YTFcIiwgXCJcXHVGOTcyXFx1NkRGMVxcdTcwMEJcXHU3NTFBXFx1ODJBRlxcdThBRjZcXHU0RUMwXFx1NTM0MVxcdUY5NzNcXHU5NkQ5XFx1NkMwRlxcdTRFOUVcXHU0RkM0XFx1NTE1MlxcdTU1NUVcXHU1QTI1XFx1NUNFOFxcdTYyMTFcXHU3MjU5XFx1ODJCRFxcdTgzQUFcXHU4NkZFXFx1ODg1OVxcdThBMURcXHU5NjNGXFx1OTZDNVxcdTk5MTNcXHU5RDA5XFx1OUQ1RFxcdTU4MEFcXHU1Q0IzXFx1NURCRFxcdTVFNDRcXHU2MEUxXFx1NjExNVxcdTYzRTFcXHU2QTAyXFx1NkUyNVxcdTkxMDJcXHU5MzU0XFx1OTg0RVxcdTlDMTBcXHU5Rjc3XFx1NUI4OVxcdTVDQjhcXHU2MzA5XFx1NjY0RlxcdTY4NDhcXHU3NzNDXFx1OTZDMVxcdTk3OERcXHU5ODU0XFx1OUI5RlxcdTY1QTFcXHU4QjAxXFx1OEVDQlxcdTk1QkNcXHU1NTM1XFx1NUNBOVxcdTVERDZcXHU1RUI1XFx1NjY5N1xcdTc2NENcXHU4M0Y0XFx1OTVDN1xcdTU4RDNcXHU2MkJDXFx1NzJDRVxcdTlEMjhcXHU0RUYwXFx1NTkyRVxcdTYwMEZcXHU2NjNCXFx1NkI4M1xcdTc5RTdcXHU5RDI2XFx1NTM5M1xcdTU0QzBcXHU1N0MzXFx1NUQxNlxcdTYxMUJcXHU2NkQ2XFx1NkRBRlxcdTc4OERcXHU4MjdFXFx1OTY5OFxcdTk3NDRcXHU1Mzg0XFx1NjI3Q1xcdTYzOTZcXHU2REIyXFx1N0UwQVxcdTgxNEJcXHU5ODREXCJdLFxuICAgICAgW1wiZTVhMVwiLCBcIlxcdTZBRkJcXHU3RjRDXFx1OURBRlxcdTlFMUFcXHU0RTVGXFx1NTAzQlxcdTUxQjZcXHU1OTFDXFx1NjBGOVxcdTYzRjZcXHU2OTMwXFx1NzIzQVxcdTgwMzZcXHVGOTc0XFx1OTFDRVxcdTVGMzFcXHVGOTc1XFx1Rjk3NlxcdTdEMDRcXHU4MkU1XFx1ODQ2RlxcdTg0QkJcXHU4NUU1XFx1OEU4RFxcdUY5NzdcXHU0RjZGXFx1Rjk3OFxcdUY5NzlcXHU1OEU0XFx1NUI0M1xcdTYwNTlcXHU2M0RBXFx1NjUxOFxcdTY1NkRcXHU2Njk4XFx1Rjk3QVxcdTY5NEFcXHU2QTIzXFx1NkQwQlxcdTcwMDFcXHU3MTZDXFx1NzVEMlxcdTc2MERcXHU3OUIzXFx1N0E3MFxcdUY5N0JcXHU3RjhBXFx1Rjk3Q1xcdTg5NDRcXHVGOTdEXFx1OEI5M1xcdTkxQzBcXHU5NjdEXFx1Rjk3RVxcdTk5MEFcXHU1NzA0XFx1NUZBMVxcdTY1QkNcXHU2RjAxXFx1NzYwMFxcdTc5QTZcXHU4QTlFXFx1OTlBRFxcdTlCNUFcXHU5RjZDXFx1NTEwNFxcdTYxQjZcXHU2MjkxXFx1NkE4RFxcdTgxQzZcXHU1MDQzXFx1NTgzMFxcdTVGNjZcXHU3MTA5XFx1OEEwMFxcdThBRkFcXHU1QjdDXFx1ODYxNlxcdTRGRkFcXHU1MTNDXFx1NTZCNFxcdTU5NDRcXHU2M0E5XFx1NkRGOVxcdTVEQUFcXHU2OTZEXFx1NTE4NlxcdTRFODhcXHU0RjU5XFx1Rjk3RlxcdUY5ODBcXHVGOTgxXFx1NTk4MlxcdUY5ODJcIl0sXG4gICAgICBbXCJlNmExXCIsIFwiXFx1Rjk4M1xcdTZCNUZcXHU2QzVEXFx1Rjk4NFxcdTc0QjVcXHU3OTE2XFx1Rjk4NVxcdTgyMDdcXHU4MjQ1XFx1ODMzOVxcdThGM0ZcXHU4RjVEXFx1Rjk4NlxcdTk5MThcXHVGOTg3XFx1Rjk4OFxcdUY5ODlcXHU0RUE2XFx1Rjk4QVxcdTU3REZcXHU1Rjc5XFx1NjYxM1xcdUY5OEJcXHVGOThDXFx1NzVBQlxcdTdFNzlcXHU4QjZGXFx1Rjk4RFxcdTkwMDZcXHU5QTVCXFx1NTZBNVxcdTU4MjdcXHU1OUY4XFx1NUExRlxcdTVCQjRcXHVGOThFXFx1NUVGNlxcdUY5OEZcXHVGOTkwXFx1NjM1MFxcdTYzM0JcXHVGOTkxXFx1NjkzRFxcdTZDODdcXHU2Q0JGXFx1NkQ4RVxcdTZEOTNcXHU2REY1XFx1NkYxNFxcdUY5OTJcXHU3MERGXFx1NzEzNlxcdTcxNTlcXHVGOTkzXFx1NzFDM1xcdTcxRDVcXHVGOTk0XFx1Nzg0RlxcdTc4NkZcXHVGOTk1XFx1N0I3NVxcdTdERTNcXHVGOTk2XFx1N0UyRlxcdUY5OTdcXHU4ODREXFx1OEVERlxcdUY5OThcXHVGOTk5XFx1Rjk5QVxcdTkyNUJcXHVGOTlCXFx1OUNGNlxcdUY5OUNcXHVGOTlEXFx1Rjk5RVxcdTYwODVcXHU2RDg1XFx1Rjk5RlxcdTcxQjFcXHVGOUEwXFx1RjlBMVxcdTk1QjFcXHU1M0FEXFx1RjlBMlxcdUY5QTNcXHVGOUE0XFx1NjdEM1xcdUY5QTVcXHU3MDhFXFx1NzEzMFxcdTc0MzBcXHU4Mjc2XFx1ODJEMlwiXSxcbiAgICAgIFtcImU3YTFcIiwgXCJcXHVGOUE2XFx1OTVCQlxcdTlBRTVcXHU5RTdEXFx1NjZDNFxcdUY5QTdcXHU3MUMxXFx1ODQ0OVxcdUY5QThcXHVGOUE5XFx1NTg0QlxcdUY5QUFcXHVGOUFCXFx1NURCOFxcdTVGNzFcXHVGOUFDXFx1NjYyMFxcdTY2OEVcXHU2OTc5XFx1NjlBRVxcdTZDMzhcXHU2Q0YzXFx1NkUzNlxcdTZGNDFcXHU2RkRBXFx1NzAxQlxcdTcwMkZcXHU3MTUwXFx1NzFERlxcdTczNzBcXHVGOUFEXFx1NzQ1QlxcdUY5QUVcXHU3NEQ0XFx1NzZDOFxcdTdBNEVcXHU3RTkzXFx1RjlBRlxcdUY5QjBcXHU4MkYxXFx1OEE2MFxcdThGQ0VcXHVGOUIxXFx1OTM0OFxcdUY5QjJcXHU5NzE5XFx1RjlCM1xcdUY5QjRcXHU0RTQyXFx1NTAyQVxcdUY5QjVcXHU1MjA4XFx1NTNFMVxcdTY2RjNcXHU2QzZEXFx1NkZDQVxcdTczMEFcXHU3NzdGXFx1N0E2MlxcdTgyQUVcXHU4NUREXFx1ODYwMlxcdUY5QjZcXHU4OEQ0XFx1OEE2M1xcdThCN0RcXHU4QzZCXFx1RjlCN1xcdTkyQjNcXHVGOUI4XFx1OTcxM1xcdTk4MTBcXHU0RTk0XFx1NEYwRFxcdTRGQzlcXHU1MEIyXFx1NTM0OFxcdTU0M0VcXHU1NDMzXFx1NTVEQVxcdTU4NjJcXHU1OEJBXFx1NTk2N1xcdTVBMUJcXHU1QkU0XFx1NjA5RlxcdUY5QjlcXHU2MUNBXFx1NjU1NlxcdTY1RkZcXHU2NjY0XFx1NjhBN1xcdTZDNUFcXHU2RkIzXCJdLFxuICAgICAgW1wiZThhMVwiLCBcIlxcdTcwQ0ZcXHU3MUFDXFx1NzM1MlxcdTdCN0RcXHU4NzA4XFx1OEFBNFxcdTlDMzJcXHU5RjA3XFx1NUM0QlxcdTZDODNcXHU3MzQ0XFx1NzM4OVxcdTkyM0FcXHU2RUFCXFx1NzQ2NVxcdTc2MUZcXHU3QTY5XFx1N0UxNVxcdTg2MEFcXHU1MTQwXFx1NThDNVxcdTY0QzFcXHU3NEVFXFx1NzUxNVxcdTc2NzBcXHU3RkMxXFx1OTA5NVxcdTk2Q0RcXHU5OTU0XFx1NkUyNlxcdTc0RTZcXHU3QUE5XFx1N0FBQVxcdTgxRTVcXHU4NkQ5XFx1ODc3OFxcdThBMUJcXHU1QTQ5XFx1NUI4Q1xcdTVCOUJcXHU2OEExXFx1NjkwMFxcdTZENjNcXHU3M0E5XFx1NzQxM1xcdTc0MkNcXHU3ODk3XFx1N0RFOVxcdTdGRUJcXHU4MTE4XFx1ODE1NVxcdTgzOUVcXHU4QzRDXFx1OTYyRVxcdTk4MTFcXHU2NkYwXFx1NUY4MFxcdTY1RkFcXHU2Nzg5XFx1NkM2QVxcdTczOEJcXHU1MDJEXFx1NUEwM1xcdTZCNkFcXHU3N0VFXFx1NTkxNlxcdTVENkNcXHU1RENEXFx1NzMyNVxcdTc1NEZcXHVGOUJBXFx1RjlCQlxcdTUwRTVcXHU1MUY5XFx1NTgyRlxcdTU5MkRcXHU1OTk2XFx1NTlEQVxcdTVCRTVcXHVGOUJDXFx1RjlCRFxcdTVEQTJcXHU2MkQ3XFx1NjQxNlxcdTY0OTNcXHU2NEZFXFx1RjlCRVxcdTY2RENcXHVGOUJGXFx1NkE0OFxcdUY5QzBcXHU3MUZGXFx1NzQ2NFxcdUY5QzFcIl0sXG4gICAgICBbXCJlOWExXCIsIFwiXFx1N0E4OFxcdTdBQUZcXHU3RTQ3XFx1N0U1RVxcdTgwMDBcXHU4MTcwXFx1RjlDMlxcdTg3RUZcXHU4OTgxXFx1OEIyMFxcdTkwNTlcXHVGOUMzXFx1OTA4MFxcdTk5NTJcXHU2MTdFXFx1NkIzMlxcdTZENzRcXHU3RTFGXFx1ODkyNVxcdThGQjFcXHU0RkQxXFx1NTBBRFxcdTUxOTdcXHU1MkM3XFx1NTdDN1xcdTU4ODlcXHU1QkI5XFx1NUVCOFxcdTYxNDJcXHU2OTk1XFx1NkQ4Q1xcdTZFNjdcXHU2RUI2XFx1NzE5NFxcdTc0NjJcXHU3NTI4XFx1NzUyQ1xcdTgwNzNcXHU4MzM4XFx1ODRDOVxcdThFMEFcXHU5Mzk0XFx1OTNERVxcdUY5QzRcXHU0RThFXFx1NEY1MVxcdTUwNzZcXHU1MTJBXFx1NTNDOFxcdTUzQ0JcXHU1M0YzXFx1NUI4N1xcdTVCRDNcXHU1QzI0XFx1NjExQVxcdTYxODJcXHU2NUY0XFx1NzI1QlxcdTczOTdcXHU3NDQwXFx1NzZDMlxcdTc5NTBcXHU3OTkxXFx1NzlCOVxcdTdEMDZcXHU3RkJEXFx1ODI4QlxcdTg1RDVcXHU4NjVFXFx1OEZDMlxcdTkwNDdcXHU5MEY1XFx1OTFFQVxcdTk2ODVcXHU5NkU4XFx1OTZFOVxcdTUyRDZcXHU1RjY3XFx1NjVFRFxcdTY2MzFcXHU2ODJGXFx1NzE1Q1xcdTdBMzZcXHU5MEMxXFx1OTgwQVxcdTRFOTFcXHVGOUM1XFx1NkE1MlxcdTZCOUVcXHU2RjkwXFx1NzE4OVxcdTgwMThcXHU4MkI4XFx1ODU1M1wiXSxcbiAgICAgIFtcImVhYTFcIiwgXCJcXHU5MDRCXFx1OTY5NVxcdTk2RjJcXHU5N0ZCXFx1ODUxQVxcdTlCMzFcXHU0RTkwXFx1NzE4QVxcdTk2QzRcXHU1MTQzXFx1NTM5RlxcdTU0RTFcXHU1NzEzXFx1NTcxMlxcdTU3QTNcXHU1QTlCXFx1NUFDNFxcdTVCQzNcXHU2MDI4XFx1NjEzRlxcdTYzRjRcXHU2Qzg1XFx1NkQzOVxcdTZFNzJcXHU2RTkwXFx1NzIzMFxcdTczM0ZcXHU3NDU3XFx1ODJEMVxcdTg4ODFcXHU4RjQ1XFx1OTA2MFxcdUY5QzZcXHU5NjYyXFx1OTg1OFxcdTlEMUJcXHU2NzA4XFx1OEQ4QVxcdTkyNUVcXHU0RjREXFx1NTA0OVxcdTUwREVcXHU1MzcxXFx1NTcwRFxcdTU5RDRcXHU1QTAxXFx1NUMwOVxcdTYxNzBcXHU2NjkwXFx1NkUyRFxcdTcyMzJcXHU3NDRCXFx1N0RFRlxcdTgwQzNcXHU4NDBFXFx1ODQ2NlxcdTg1M0ZcXHU4NzVGXFx1ODg1QlxcdTg5MThcXHU4QjAyXFx1OTA1NVxcdTk3Q0JcXHU5QjRGXFx1NEU3M1xcdTRGOTFcXHU1MTEyXFx1NTE2QVxcdUY5QzdcXHU1NTJGXFx1NTVBOVxcdTVCN0FcXHU1QkE1XFx1NUU3Q1xcdTVFN0RcXHU1RUJFXFx1NjBBMFxcdTYwREZcXHU2MTA4XFx1NjEwOVxcdTYzQzRcXHU2NTM4XFx1NjcwOVxcdUY5QzhcXHU2N0Q0XFx1NjdEQVxcdUY5QzlcXHU2OTYxXFx1Njk2MlxcdTZDQjlcXHU2RDI3XFx1RjlDQVxcdTZFMzhcXHVGOUNCXCJdLFxuICAgICAgW1wiZWJhMVwiLCBcIlxcdTZGRTFcXHU3MzM2XFx1NzMzN1xcdUY5Q0NcXHU3NDVDXFx1NzUzMVxcdUY5Q0RcXHU3NjUyXFx1RjlDRVxcdUY5Q0ZcXHU3REFEXFx1ODFGRVxcdTg0MzhcXHU4OEQ1XFx1OEE5OFxcdThBREJcXHU4QUVEXFx1OEUzMFxcdThFNDJcXHU5MDRBXFx1OTAzRVxcdTkwN0FcXHU5MTQ5XFx1OTFDOVxcdTkzNkVcXHVGOUQwXFx1RjlEMVxcdTU4MDlcXHVGOUQyXFx1NkJEM1xcdTgwODlcXHU4MEIyXFx1RjlEM1xcdUY5RDRcXHU1MTQxXFx1NTk2QlxcdTVDMzlcXHVGOUQ1XFx1RjlENlxcdTZGNjRcXHU3M0E3XFx1ODBFNFxcdThEMDdcXHVGOUQ3XFx1OTIxN1xcdTk1OEZcXHVGOUQ4XFx1RjlEOVxcdUY5REFcXHVGOURCXFx1ODA3RlxcdTYyMEVcXHU3MDFDXFx1N0Q2OFxcdTg3OERcXHVGOURDXFx1NTdBMFxcdTYwNjlcXHU2MTQ3XFx1NkJCN1xcdThBQkVcXHU5MjgwXFx1OTZCMVxcdTRFNTlcXHU1NDFGXFx1NkRFQlxcdTg1MkRcXHU5NjcwXFx1OTdGM1xcdTk4RUVcXHU2M0Q2XFx1NkNFM1xcdTkwOTFcXHU1MUREXFx1NjFDOVxcdTgxQkFcXHU5REY5XFx1NEY5RFxcdTUwMUFcXHU1MTAwXFx1NUI5Q1xcdTYxMEZcXHU2MUZGXFx1NjRFQ1xcdTY5MDVcXHU2QkM1XFx1NzU5MVxcdTc3RTNcXHU3RkE5XFx1ODI2NFxcdTg1OEZcXHU4N0ZCXFx1ODg2M1xcdThBQkNcIl0sXG4gICAgICBbXCJlY2ExXCIsIFwiXFx1OEI3MFxcdTkxQUJcXHU0RThDXFx1NEVFNVxcdTRGMEFcXHVGOUREXFx1RjlERVxcdTU5MzdcXHU1OUU4XFx1RjlERlxcdTVERjJcXHU1RjFCXFx1NUY1QlxcdTYwMjFcXHVGOUUwXFx1RjlFMVxcdUY5RTJcXHVGOUUzXFx1NzIzRVxcdTczRTVcXHVGOUU0XFx1NzU3MFxcdTc1Q0RcXHVGOUU1XFx1NzlGQlxcdUY5RTZcXHU4MDBDXFx1ODAzM1xcdTgwODRcXHU4MkUxXFx1ODM1MVxcdUY5RTdcXHVGOUU4XFx1OENCRFxcdThDQjNcXHU5MDg3XFx1RjlFOVxcdUY5RUFcXHU5OEY0XFx1OTkwQ1xcdUY5RUJcXHVGOUVDXFx1NzAzN1xcdTc2Q0FcXHU3RkNBXFx1N0ZDQ1xcdTdGRkNcXHU4QjFBXFx1NEVCQVxcdTRFQzFcXHU1MjAzXFx1NTM3MFxcdUY5RURcXHU1NEJEXFx1NTZFMFxcdTU5RkJcXHU1QkM1XFx1NUYxNVxcdTVGQ0RcXHU2RTZFXFx1RjlFRVxcdUY5RUZcXHU3RDZBXFx1ODMzNVxcdUY5RjBcXHU4NjkzXFx1OEE4RFxcdUY5RjFcXHU5NzZEXFx1OTc3N1xcdUY5RjJcXHVGOUYzXFx1NEUwMFxcdTRGNUFcXHU0RjdFXFx1NThGOVxcdTY1RTVcXHU2RUEyXFx1OTAzOFxcdTkzQjBcXHU5OUI5XFx1NEVGQlxcdTU4RUNcXHU1OThBXFx1NTlEOVxcdTYwNDFcXHVGOUY0XFx1RjlGNVxcdTdBMTRcXHVGOUY2XFx1ODM0RlxcdThDQzNcXHU1MTY1XFx1NTM0NFwiXSxcbiAgICAgIFtcImVkYTFcIiwgXCJcXHVGOUY3XFx1RjlGOFxcdUY5RjlcXHU0RUNEXFx1NTI2OVxcdTVCNTVcXHU4MkJGXFx1NEVENFxcdTUyM0FcXHU1NEE4XFx1NTlDOVxcdTU5RkZcXHU1QjUwXFx1NUI1N1xcdTVCNUNcXHU2MDYzXFx1NjE0OFxcdTZFQ0JcXHU3MDk5XFx1NzE2RVxcdTczODZcXHU3NEY3XFx1NzVCNVxcdTc4QzFcXHU3RDJCXFx1ODAwNVxcdTgxRUFcXHU4MzI4XFx1ODUxN1xcdTg1QzlcXHU4QUVFXFx1OENDN1xcdTk2Q0NcXHU0RjVDXFx1NTJGQVxcdTU2QkNcXHU2NUFCXFx1NjYyOFxcdTcwN0NcXHU3MEI4XFx1NzIzNVxcdTdEQkRcXHU4MjhEXFx1OTE0Q1xcdTk2QzBcXHU5RDcyXFx1NUI3MVxcdTY4RTdcXHU2Qjk4XFx1NkY3QVxcdTc2REVcXHU1QzkxXFx1NjZBQlxcdTZGNUJcXHU3QkI0XFx1N0MyQVxcdTg4MzZcXHU5NkRDXFx1NEUwOFxcdTRFRDdcXHU1MzIwXFx1NTgzNFxcdTU4QkJcXHU1OEVGXFx1NTk2Q1xcdTVDMDdcXHU1RTMzXFx1NUU4NFxcdTVGMzVcXHU2MzhDXFx1NjZCMlxcdTY3NTZcXHU2QTFGXFx1NkFBM1xcdTZCMENcXHU2RjNGXFx1NzI0NlxcdUY5RkFcXHU3MzUwXFx1NzQ4QlxcdTdBRTBcXHU3Q0E3XFx1ODE3OFxcdTgxREZcXHU4MUU3XFx1ODM4QVxcdTg0NkNcXHU4NTIzXFx1ODU5NFxcdTg1Q0ZcXHU4OEREXFx1OEQxM1xcdTkxQUNcXHU5NTc3XCJdLFxuICAgICAgW1wiZWVhMVwiLCBcIlxcdTk2OUNcXHU1MThEXFx1NTRDOVxcdTU3MjhcXHU1QkIwXFx1NjI0RFxcdTY3NTBcXHU2ODNEXFx1Njg5M1xcdTZFM0RcXHU2RUQzXFx1NzA3RFxcdTdFMjFcXHU4OEMxXFx1OENBMVxcdThGMDlcXHU5RjRCXFx1OUY0RVxcdTcyMkRcXHU3QjhGXFx1OEFDRFxcdTkzMUFcXHU0RjQ3XFx1NEY0RVxcdTUxMzJcXHU1NDgwXFx1NTlEMFxcdTVFOTVcXHU2MkI1XFx1Njc3NVxcdTY5NkVcXHU2QTE3XFx1NkNBRVxcdTZFMUFcXHU3MkQ5XFx1NzMyQVxcdTc1QkRcXHU3QkI4XFx1N0QzNVxcdTgyRTdcXHU4M0Y5XFx1ODQ1N1xcdTg1RjdcXHU4QTVCXFx1OENBRlxcdThFODdcXHU5MDE5XFx1OTBCOFxcdTk2Q0VcXHU5RjVGXFx1NTJFM1xcdTU0MEFcXHU1QUUxXFx1NUJDMlxcdTY0NThcXHU2NTc1XFx1NkVGNFxcdTcyQzRcXHVGOUZCXFx1NzY4NFxcdTdBNERcXHU3QjFCXFx1N0M0RFxcdTdFM0VcXHU3RkRGXFx1ODM3QlxcdThCMkJcXHU4Q0NBXFx1OEQ2NFxcdThERTFcXHU4RTVGXFx1OEZFQVxcdThGRjlcXHU5MDY5XFx1OTNEMVxcdTRGNDNcXHU0RjdBXFx1NTBCM1xcdTUxNjhcXHU1MTc4XFx1NTI0RFxcdTUyNkFcXHU1ODYxXFx1NTg3Q1xcdTU5NjBcXHU1QzA4XFx1NUM1NVxcdTVFREJcXHU2MDlCXFx1NjIzMFxcdTY4MTNcXHU2QkJGXFx1NkMwOFxcdTZGQjFcIl0sXG4gICAgICBbXCJlZmExXCIsIFwiXFx1NzE0RVxcdTc0MjBcXHU3NTMwXFx1NzUzOFxcdTc1NTFcXHU3NjcyXFx1N0I0Q1xcdTdCOEJcXHU3QkFEXFx1N0JDNlxcdTdFOEZcXHU4QTZFXFx1OEYzRVxcdThGNDlcXHU5MjNGXFx1OTI5M1xcdTkzMjJcXHU5NDJCXFx1OTZGQlxcdTk4NUFcXHU5ODZCXFx1OTkxRVxcdTUyMDdcXHU2MjJBXFx1NjI5OFxcdTZENTlcXHU3NjY0XFx1N0FDQVxcdTdCQzBcXHU3RDc2XFx1NTM2MFxcdTVDQkVcXHU1RTk3XFx1NkYzOFxcdTcwQjlcXHU3Qzk4XFx1OTcxMVxcdTlCOEVcXHU5RURFXFx1NjNBNVxcdTY0N0FcXHU4Nzc2XFx1NEUwMVxcdTRFOTVcXHU0RUFEXFx1NTA1Q1xcdTUwNzVcXHU1NDQ4XFx1NTlDM1xcdTVCOUFcXHU1RTQwXFx1NUVBRFxcdTVFRjdcXHU1RjgxXFx1NjBDNVxcdTYzM0FcXHU2NTNGXFx1NjU3NFxcdTY1Q0NcXHU2Njc2XFx1NjY3OFxcdTY3RkVcXHU2OTY4XFx1NkE4OVxcdTZCNjNcXHU2QzQwXFx1NkRDMFxcdTZERThcXHU2RTFGXFx1NkU1RVxcdTcwMUVcXHU3MEExXFx1NzM4RVxcdTczRkRcXHU3NTNBXFx1Nzc1QlxcdTc4ODdcXHU3OThFXFx1N0EwQlxcdTdBN0RcXHU3Q0JFXFx1N0Q4RVxcdTgyNDdcXHU4QTAyXFx1OEFFQVxcdThDOUVcXHU5MTJEXFx1OTE0QVxcdTkxRDhcXHU5MjY2XFx1OTJDQ1xcdTkzMjBcXHU5NzA2XFx1OTc1NlwiXSxcbiAgICAgIFtcImYwYTFcIiwgXCJcXHU5NzVDXFx1OTgwMlxcdTlGMEVcXHU1MjM2XFx1NTI5MVxcdTU1N0NcXHU1ODI0XFx1NUUxRFxcdTVGMUZcXHU2MDhDXFx1NjNEMFxcdTY4QUZcXHU2RkRGXFx1Nzk2RFxcdTdCMkNcXHU4MUNEXFx1ODVCQVxcdTg4RkRcXHU4QUY4XFx1OEU0NFxcdTkxOERcXHU5NjY0XFx1OTY5QlxcdTk3M0RcXHU5ODRDXFx1OUY0QVxcdTRGQ0VcXHU1MTQ2XFx1NTFDQlxcdTUyQTlcXHU1NjMyXFx1NUYxNFxcdTVGNkJcXHU2M0FBXFx1NjRDRFxcdTY1RTlcXHU2NjQxXFx1NjZGQVxcdTY2RjlcXHU2NzFEXFx1Njg5RFxcdTY4RDdcXHU2OUZEXFx1NkYxNVxcdTZGNkVcXHU3MTY3XFx1NzFFNVxcdTcyMkFcXHU3NEFBXFx1NzczQVxcdTc5NTZcXHU3OTVBXFx1NzlERlxcdTdBMjBcXHU3QTk1XFx1N0M5N1xcdTdDREZcXHU3RDQ0XFx1N0U3MFxcdTgwODdcXHU4NUZCXFx1ODZBNFxcdThBNTRcXHU4QUJGXFx1OEQ5OVxcdThFODFcXHU5MDIwXFx1OTA2RFxcdTkxRTNcXHU5NjNCXFx1OTZENVxcdTlDRTVcXHU2NUNGXFx1N0MwN1xcdThEQjNcXHU5M0MzXFx1NUI1OFxcdTVDMEFcXHU1MzUyXFx1NjJEOVxcdTczMURcXHU1MDI3XFx1NUI5N1xcdTVGOUVcXHU2MEIwXFx1NjE2QlxcdTY4RDVcXHU2REQ5XFx1NzQyRVxcdTdBMkVcXHU3RDQyXFx1N0Q5Q1xcdTdFMzFcXHU4MTZCXCJdLFxuICAgICAgW1wiZjFhMVwiLCBcIlxcdThFMkFcXHU4RTM1XFx1OTM3RVxcdTk0MThcXHU0RjUwXFx1NTc1MFxcdTVERTZcXHU1RUE3XFx1NjMyQlxcdTdGNkFcXHU0RTNCXFx1NEY0RlxcdTRGOEZcXHU1MDVBXFx1NTlERFxcdTgwQzRcXHU1NDZBXFx1NTQ2OFxcdTU1RkVcXHU1OTRGXFx1NUI5OVxcdTVEREVcXHU1RURBXFx1NjY1RFxcdTY3MzFcXHU2N0YxXFx1NjgyQVxcdTZDRThcXHU2RDMyXFx1NkU0QVxcdTZGOERcXHU3MEI3XFx1NzNFMFxcdTc1ODdcXHU3QzRDXFx1N0QwMlxcdTdEMkNcXHU3REEyXFx1ODIxRlxcdTg2REJcXHU4QTNCXFx1OEE4NVxcdThENzBcXHU4RThBXFx1OEYzM1xcdTkwMzFcXHU5MTRFXFx1OTE1MlxcdTk0NDRcXHU5OUQwXFx1N0FGOVxcdTdDQTVcXHU0RkNBXFx1NTEwMVxcdTUxQzZcXHU1N0M4XFx1NUJFRlxcdTVDRkJcXHU2NjU5XFx1NkEzRFxcdTZENUFcXHU2RTk2XFx1NkZFQ1xcdTcxMENcXHU3NTZGXFx1N0FFM1xcdTg4MjJcXHU5MDIxXFx1OTA3NVxcdTk2Q0JcXHU5OUZGXFx1ODMwMVxcdTRFMkRcXHU0RUYyXFx1ODg0NlxcdTkxQ0RcXHU1MzdEXFx1NkFEQlxcdTY5NkJcXHU2QzQxXFx1ODQ3QVxcdTU4OUVcXHU2MThFXFx1NjZGRVxcdTYyRUZcXHU3MEREXFx1NzUxMVxcdTc1QzdcXHU3RTUyXFx1ODRCOFxcdThCNDlcXHU4RDA4XFx1NEU0QlxcdTUzRUFcIl0sXG4gICAgICBbXCJmMmExXCIsIFwiXFx1NTRBQlxcdTU3MzBcXHU1NzQwXFx1NUZEN1xcdTYzMDFcXHU2MzA3XFx1NjQ2RlxcdTY1MkZcXHU2NUU4XFx1NjY3QVxcdTY3OURcXHU2N0IzXFx1NkI2MlxcdTZDNjBcXHU2QzlBXFx1NkYyQ1xcdTc3RTVcXHU3ODI1XFx1Nzk0OVxcdTc5NTdcXHU3RDE5XFx1ODBBMlxcdTgxMDJcXHU4MUYzXFx1ODI5RFxcdTgyQjdcXHU4NzE4XFx1OEE4Q1xcdUY5RkNcXHU4RDA0XFx1OERCRVxcdTkwNzJcXHU3NkY0XFx1N0ExOVxcdTdBMzdcXHU3RTU0XFx1ODA3N1xcdTU1MDdcXHU1NUQ0XFx1NTg3NVxcdTYzMkZcXHU2NDIyXFx1NjY0OVxcdTY2NEJcXHU2ODZEXFx1Njk5QlxcdTZCODRcXHU2RDI1XFx1NkVCMVxcdTczQ0RcXHU3NDY4XFx1NzRBMVxcdTc1NUJcXHU3NUI5XFx1NzZFMVxcdTc3MUVcXHU3NzhCXFx1NzlFNlxcdTdFMDlcXHU3RTFEXFx1ODFGQlxcdTg1MkZcXHU4ODk3XFx1OEEzQVxcdThDRDFcXHU4RUVCXFx1OEZCMFxcdTkwMzJcXHU5M0FEXFx1OTY2M1xcdTk2NzNcXHU5NzA3XFx1NEY4NFxcdTUzRjFcXHU1OUVBXFx1NUFDOVxcdTVFMTlcXHU2ODRFXFx1NzRDNlxcdTc1QkVcXHU3OUU5XFx1N0E5MlxcdTgxQTNcXHU4NkVEXFx1OENFQVxcdThEQ0NcXHU4RkVEXFx1NjU5RlxcdTY3MTVcXHVGOUZEXFx1NTdGN1xcdTZGNTdcXHU3REREXFx1OEYyRlwiXSxcbiAgICAgIFtcImYzYTFcIiwgXCJcXHU5M0Y2XFx1OTZDNlxcdTVGQjVcXHU2MUYyXFx1NkY4NFxcdTRFMTRcXHU0Rjk4XFx1NTAxRlxcdTUzQzlcXHU1NURGXFx1NUQ2RlxcdTVERUVcXHU2QjIxXFx1NkI2NFxcdTc4Q0JcXHU3QjlBXFx1RjlGRVxcdThFNDlcXHU4RUNBXFx1OTA2RVxcdTYzNDlcXHU2NDNFXFx1Nzc0MFxcdTdBODRcXHU5MzJGXFx1OTQ3RlxcdTlGNkFcXHU2NEIwXFx1NkZBRlxcdTcxRTZcXHU3NEE4XFx1NzREQVxcdTdBQzRcXHU3QzEyXFx1N0U4MlxcdTdDQjJcXHU3RTk4XFx1OEI5QVxcdThEMEFcXHU5NDdEXFx1OTkxMFxcdTk5NENcXHU1MjM5XFx1NUJERlxcdTY0RTZcXHU2NzJEXFx1N0QyRVxcdTUwRURcXHU1M0MzXFx1NTg3OVxcdTYxNThcXHU2MTU5XFx1NjFGQVxcdTY1QUNcXHU3QUQ5XFx1OEI5MlxcdThCOTZcXHU1MDA5XFx1NTAyMVxcdTUyNzVcXHU1NTMxXFx1NUEzQ1xcdTVFRTBcXHU1RjcwXFx1NjEzNFxcdTY1NUVcXHU2NjBDXFx1NjYzNlxcdTY2QTJcXHU2OUNEXFx1NkVDNFxcdTZGMzJcXHU3MzE2XFx1NzYyMVxcdTdBOTNcXHU4MTM5XFx1ODI1OVxcdTgzRDZcXHU4NEJDXFx1NTBCNVxcdTU3RjBcXHU1QkMwXFx1NUJFOFxcdTVGNjlcXHU2M0ExXFx1NzgyNlxcdTdEQjVcXHU4M0RDXFx1ODUyMVxcdTkxQzdcXHU5MUY1XFx1NTE4QVxcdTY3RjVcXHU3QjU2XCJdLFxuICAgICAgW1wiZjRhMVwiLCBcIlxcdThDQUNcXHU1MUM0XFx1NTlCQlxcdTYwQkRcXHU4NjU1XFx1NTAxQ1xcdUY5RkZcXHU1MjU0XFx1NUMzQVxcdTYxN0RcXHU2MjFBXFx1NjJEM1xcdTY0RjJcXHU2NUE1XFx1NkVDQ1xcdTc2MjBcXHU4MTBBXFx1OEU2MFxcdTk2NUZcXHU5NkJCXFx1NEVERlxcdTUzNDNcXHU1NTk4XFx1NTkyOVxcdTVERERcXHU2NEM1XFx1NkNDOVxcdTZERkFcXHU3Mzk0XFx1N0E3RlxcdTgyMUJcXHU4NUE2XFx1OENFNFxcdThFMTBcXHU5MDc3XFx1OTFFN1xcdTk1RTFcXHU5NjIxXFx1OTdDNlxcdTUxRjhcXHU1NEYyXFx1NTU4NlxcdTVGQjlcXHU2NEE0XFx1NkY4OFxcdTdEQjRcXHU4RjFGXFx1OEY0RFxcdTk0MzVcXHU1MEM5XFx1NUMxNlxcdTZDQkVcXHU2REZCXFx1NzUxQlxcdTc3QkJcXHU3QzNEXFx1N0M2NFxcdThBNzlcXHU4QUMyXFx1NTgxRVxcdTU5QkVcXHU1RTE2XFx1NjM3N1xcdTcyNTJcXHU3NThBXFx1Nzc2QlxcdThBRENcXHU4Q0JDXFx1OEYxMlxcdTVFRjNcXHU2Njc0XFx1NkRGOFxcdTgwN0RcXHU4M0MxXFx1OEFDQlxcdTk3NTFcXHU5QkQ2XFx1RkEwMFxcdTUyNDNcXHU2NkZGXFx1NkQ5NVxcdTZFRUZcXHU3REUwXFx1OEFFNlxcdTkwMkVcXHU5MDVFXFx1OUFENFxcdTUyMURcXHU1MjdGXFx1NTRFOFxcdTYxOTRcXHU2Mjg0XFx1NjJEQlxcdTY4QTJcIl0sXG4gICAgICBbXCJmNWExXCIsIFwiXFx1NjkxMlxcdTY5NUFcXHU2QTM1XFx1NzA5MlxcdTcxMjZcXHU3ODVEXFx1NzkwMVxcdTc5MEVcXHU3OUQyXFx1N0EwRFxcdTgwOTZcXHU4Mjc4XFx1ODJENVxcdTgzNDlcXHU4NTQ5XFx1OEM4MlxcdThEODVcXHU5MTYyXFx1OTE4QlxcdTkxQUVcXHU0RkMzXFx1NTZEMVxcdTcxRURcXHU3N0Q3XFx1ODcwMFxcdTg5RjhcXHU1QkY4XFx1NUZENlxcdTY3NTFcXHU5MEE4XFx1NTNFMlxcdTU4NUFcXHU1QkY1XFx1NjBBNFxcdTYxODFcXHU2NDYwXFx1N0UzRFxcdTgwNzBcXHU4NTI1XFx1OTI4M1xcdTY0QUVcXHU1MEFDXFx1NUQxNFxcdTY3MDBcXHU1ODlDXFx1NjJCRFxcdTYzQThcXHU2OTBFXFx1Njk3OFxcdTZBMUVcXHU2RTZCXFx1NzZCQVxcdTc5Q0JcXHU4MkJCXFx1ODQyOVxcdThBQ0ZcXHU4REE4XFx1OEZGRFxcdTkxMTJcXHU5MTRCXFx1OTE5Q1xcdTkzMTBcXHU5MzE4XFx1OTM5QVxcdTk2REJcXHU5QTM2XFx1OUMwRFxcdTRFMTFcXHU3NTVDXFx1Nzk1RFxcdTdBRkFcXHU3QjUxXFx1N0JDOVxcdTdFMkVcXHU4NEM0XFx1OEU1OVxcdThFNzRcXHU4RUY4XFx1OTAxMFxcdTY2MjVcXHU2OTNGXFx1NzQ0M1xcdTUxRkFcXHU2NzJFXFx1OUVEQ1xcdTUxNDVcXHU1RkUwXFx1NkM5NlxcdTg3RjJcXHU4ODVEXFx1ODg3N1xcdTYwQjRcXHU4MUI1XFx1ODQwM1wiXSxcbiAgICAgIFtcImY2YTFcIiwgXCJcXHU4RDA1XFx1NTNENlxcdTU0MzlcXHU1NjM0XFx1NUEzNlxcdTVDMzFcXHU3MDhBXFx1N0ZFMFxcdTgwNUFcXHU4MTA2XFx1ODFFRFxcdThEQTNcXHU5MTg5XFx1OUE1RlxcdTlERjJcXHU1MDc0XFx1NEVDNFxcdTUzQTBcXHU2MEZCXFx1NkUyQ1xcdTVDNjRcXHU0Rjg4XFx1NTAyNFxcdTU1RTRcXHU1Q0Q5XFx1NUU1RlxcdTYwNjVcXHU2ODk0XFx1NkNCQlxcdTZEQzRcXHU3MUJFXFx1NzVENFxcdTc1RjRcXHU3NjYxXFx1N0ExQVxcdTdBNDlcXHU3REM3XFx1N0RGQlxcdTdGNkVcXHU4MUY0XFx1ODZBOVxcdThGMUNcXHU5NkM5XFx1OTlCM1xcdTlGNTJcXHU1MjQ3XFx1NTJDNVxcdTk4RURcXHU4OUFBXFx1NEUwM1xcdTY3RDJcXHU2RjA2XFx1NEZCNVxcdTVCRTJcXHU2Nzk1XFx1NkM4OFxcdTZENzhcXHU3NDFCXFx1NzgyN1xcdTkxRERcXHU5MzdDXFx1ODdDNFxcdTc5RTRcXHU3QTMxXFx1NUZFQlxcdTRFRDZcXHU1NEE0XFx1NTUzRVxcdTU4QUVcXHU1OUE1XFx1NjBGMFxcdTYyNTNcXHU2MkQ2XFx1NjczNlxcdTY5NTVcXHU4MjM1XFx1OTY0MFxcdTk5QjFcXHU5OUREXFx1NTAyQ1xcdTUzNTNcXHU1NTQ0XFx1NTc3Q1xcdUZBMDFcXHU2MjU4XFx1RkEwMlxcdTY0RTJcXHU2NjZCXFx1NjdERFxcdTZGQzFcXHU2RkVGXFx1NzQyMlxcdTc0MzhcXHU4QTE3XCJdLFxuICAgICAgW1wiZjdhMVwiLCBcIlxcdTk0MzhcXHU1NDUxXFx1NTYwNlxcdTU3NjZcXHU1RjQ4XFx1NjE5QVxcdTZCNEVcXHU3MDU4XFx1NzBBRFxcdTdEQkJcXHU4QTk1XFx1NTk2QVxcdTgxMkJcXHU2M0EyXFx1NzcwOFxcdTgwM0RcXHU4Q0FBXFx1NTg1NFxcdTY0MkRcXHU2OUJCXFx1NUI5NVxcdTVFMTFcXHU2RTZGXFx1RkEwM1xcdTg1NjlcXHU1MTRDXFx1NTNGMFxcdTU5MkFcXHU2MDIwXFx1NjE0QlxcdTZCODZcXHU2QzcwXFx1NkNGMFxcdTdCMUVcXHU4MENFXFx1ODJENFxcdThEQzZcXHU5MEIwXFx1OThCMVxcdUZBMDRcXHU2NEM3XFx1NkZBNFxcdTY0OTFcXHU2NTA0XFx1NTE0RVxcdTU0MTBcXHU1NzFGXFx1OEEwRVxcdTYxNUZcXHU2ODc2XFx1RkEwNVxcdTc1REJcXHU3QjUyXFx1N0Q3MVxcdTkwMUFcXHU1ODA2XFx1NjlDQ1xcdTgxN0ZcXHU4OTJBXFx1OTAwMFxcdTk4MzlcXHU1MDc4XFx1NTk1N1xcdTU5QUNcXHU2Mjk1XFx1OTAwRlxcdTlCMkFcXHU2MTVEXFx1NzI3OVxcdTk1RDZcXHU1NzYxXFx1NUE0NlxcdTVERjRcXHU2MjhBXFx1NjRBRFxcdTY0RkFcXHU2Nzc3XFx1NkNFMlxcdTZEM0VcXHU3MjJDXFx1NzQzNlxcdTc4MzRcXHU3Rjc3XFx1ODJBRFxcdThEREJcXHU5ODE3XFx1NTIyNFxcdTU3NDJcXHU2NzdGXFx1NzI0OFxcdTc0RTNcXHU4Q0E5XFx1OEZBNlxcdTkyMTFcIl0sXG4gICAgICBbXCJmOGExXCIsIFwiXFx1OTYyQVxcdTUxNkJcXHU1M0VEXFx1NjM0Q1xcdTRGNjlcXHU1NTA0XFx1NjA5NlxcdTY1NTdcXHU2QzlCXFx1NkQ3RlxcdTcyNENcXHU3MkZEXFx1N0ExN1xcdTg5ODdcXHU4QzlEXFx1NUY2RFxcdTZGOEVcXHU3MEY5XFx1ODFBOFxcdTYxMEVcXHU0RkJGXFx1NTA0RlxcdTYyNDFcXHU3MjQ3XFx1N0JDN1xcdTdERThcXHU3RkU5XFx1OTA0RFxcdTk3QURcXHU5QTE5XFx1OENCNlxcdTU3NkFcXHU1RTczXFx1NjdCMFxcdTg0MERcXHU4QTU1XFx1NTQyMFxcdTVCMTZcXHU1RTYzXFx1NUVFMlxcdTVGMEFcXHU2NTgzXFx1ODBCQVxcdTg1M0RcXHU5NTg5XFx1OTY1QlxcdTRGNDhcXHU1MzA1XFx1NTMwRFxcdTUzMEZcXHU1NDg2XFx1NTRGQVxcdTU3MDNcXHU1RTAzXFx1NjAxNlxcdTYyOUJcXHU2MkIxXFx1NjM1NVxcdUZBMDZcXHU2Q0UxXFx1NkQ2NlxcdTc1QjFcXHU3ODMyXFx1ODBERVxcdTgxMkZcXHU4MkRFXFx1ODQ2MVxcdTg0QjJcXHU4ODhEXFx1ODkxMlxcdTkwMEJcXHU5MkVBXFx1OThGRFxcdTlCOTFcXHU1RTQ1XFx1NjZCNFxcdTY2RERcXHU3MDExXFx1NzIwNlxcdUZBMDdcXHU0RkY1XFx1NTI3RFxcdTVGNkFcXHU2MTUzXFx1Njc1M1xcdTZBMTlcXHU2RjAyXFx1NzRFMlxcdTc5NjhcXHU4ODY4XFx1OEM3OVxcdTk4QzdcXHU5OEM0XFx1OUE0M1wiXSxcbiAgICAgIFtcImY5YTFcIiwgXCJcXHU1NEMxXFx1N0ExRlxcdTY5NTNcXHU4QUY3XFx1OEM0QVxcdTk4QThcXHU5OUFFXFx1NUY3Q1xcdTYyQUJcXHU3NUIyXFx1NzZBRVxcdTg4QUJcXHU5MDdGXFx1OTY0MlxcdTUzMzlcXHU1RjNDXFx1NUZDNVxcdTZDQ0NcXHU3M0NDXFx1NzU2MlxcdTc1OEJcXHU3QjQ2XFx1ODJGRVxcdTk5OURcXHU0RTRGXFx1OTAzQ1xcdTRFMEJcXHU0RjU1XFx1NTNBNlxcdTU5MEZcXHU1RUM4XFx1NjYzMFxcdTZDQjNcXHU3NDU1XFx1ODM3N1xcdTg3NjZcXHU4Q0MwXFx1OTA1MFxcdTk3MUVcXHU5QzE1XFx1NThEMVxcdTVCNzhcXHU4NjUwXFx1OEIxNFxcdTlEQjRcXHU1QkQyXFx1NjA2OFxcdTYwOERcXHU2NUYxXFx1NkM1N1xcdTZGMjJcXHU2RkEzXFx1NzAxQVxcdTdGNTVcXHU3RkYwXFx1OTU5MVxcdTk1OTJcXHU5NjUwXFx1OTdEM1xcdTUyNzJcXHU4RjQ0XFx1NTFGRFxcdTU0MkJcXHU1NEI4XFx1NTU2M1xcdTU1OEFcXHU2QUJCXFx1NkRCNVxcdTdERDhcXHU4MjY2XFx1OTI5Q1xcdTk2NzdcXHU5RTc5XFx1NTQwOFxcdTU0QzhcXHU3NkQyXFx1ODZFNFxcdTk1QTRcXHU5NUQ0XFx1OTY1Q1xcdTRFQTJcXHU0RjA5XFx1NTlFRVxcdTVBRTZcXHU1REY3XFx1NjA1MlxcdTYyOTdcXHU2NzZEXFx1Njg0MVxcdTZDODZcXHU2RTJGXFx1N0YzOFxcdTgwOUJcXHU4MjJBXCJdLFxuICAgICAgW1wiZmFhMVwiLCBcIlxcdUZBMDhcXHVGQTA5XFx1OTgwNVxcdTRFQTVcXHU1MDU1XFx1NTRCM1xcdTU3OTNcXHU1OTVBXFx1NUI2OVxcdTVCQjNcXHU2MUM4XFx1Njk3N1xcdTZENzdcXHU3MDIzXFx1ODdGOVxcdTg5RTNcXHU4QTcyXFx1OEFFN1xcdTkwODJcXHU5OUVEXFx1OUFCOFxcdTUyQkVcXHU2ODM4XFx1NTAxNlxcdTVFNzhcXHU2NzRGXFx1ODM0N1xcdTg4NENcXHU0RUFCXFx1NTQxMVxcdTU2QUVcXHU3M0U2XFx1OTExNVxcdTk3RkZcXHU5OTA5XFx1OTk1N1xcdTk5OTlcXHU1NjUzXFx1NTg5RlxcdTg2NUJcXHU4QTMxXFx1NjFCMlxcdTZBRjZcXHU3MzdCXFx1OEVEMlxcdTZCNDdcXHU5NkFBXFx1OUE1N1xcdTU5NTVcXHU3MjAwXFx1OEQ2QlxcdTk3NjlcXHU0RkQ0XFx1NUNGNFxcdTVGMjZcXHU2MUY4XFx1NjY1QlxcdTZDRUJcXHU3MEFCXFx1NzM4NFxcdTczQjlcXHU3M0ZFXFx1NzcyOVxcdTc3NERcXHU3RDQzXFx1N0Q2MlxcdTdFMjNcXHU4MjM3XFx1ODg1MlxcdUZBMEFcXHU4Q0UyXFx1OTI0OVxcdTk4NkZcXHU1QjUxXFx1N0E3NFxcdTg4NDBcXHU5ODAxXFx1NUFDQ1xcdTRGRTBcXHU1MzU0XFx1NTkzRVxcdTVDRkRcXHU2MzNFXFx1NkQ3OVxcdTcyRjlcXHU4MTA1XFx1ODEwN1xcdTgzQTJcXHU5MkNGXFx1OTgzMFxcdTRFQThcXHU1MTQ0XFx1NTIxMVxcdTU3OEJcIl0sXG4gICAgICBbXCJmYmExXCIsIFwiXFx1NUY2MlxcdTZDQzJcXHU2RUNFXFx1NzAwNVxcdTcwNTBcXHU3MEFGXFx1NzE5MlxcdTczRTlcXHU3NDY5XFx1ODM0QVxcdTg3QTJcXHU4ODYxXFx1OTAwOFxcdTkwQTJcXHU5M0EzXFx1OTlBOFxcdTUxNkVcXHU1RjU3XFx1NjBFMFxcdTYxNjdcXHU2NkIzXFx1ODU1OVxcdThFNEFcXHU5MUFGXFx1OTc4QlxcdTRFNEVcXHU0RTkyXFx1NTQ3Q1xcdTU4RDVcXHU1OEZBXFx1NTk3RFxcdTVDQjVcXHU1RjI3XFx1NjIzNlxcdTYyNDhcXHU2NjBBXFx1NjY2N1xcdTZCRUJcXHU2RDY5XFx1NkRDRlxcdTZFNTZcXHU2RUY4XFx1NkY5NFxcdTZGRTBcXHU2RkU5XFx1NzA1RFxcdTcyRDBcXHU3NDI1XFx1NzQ1QVxcdTc0RTBcXHU3NjkzXFx1Nzk1Q1xcdTdDQ0FcXHU3RTFFXFx1ODBFMVxcdTgyQTZcXHU4NDZCXFx1ODRCRlxcdTg2NEVcXHU4NjVGXFx1ODc3NFxcdThCNzdcXHU4QzZBXFx1OTNBQ1xcdTk4MDBcXHU5ODY1XFx1NjBEMVxcdTYyMTZcXHU5MTc3XFx1NUE1QVxcdTY2MEZcXHU2REY3XFx1NkUzRVxcdTc0M0ZcXHU5QjQyXFx1NUZGRFxcdTYwREFcXHU3QjBGXFx1NTRDNFxcdTVGMThcXHU2QzVFXFx1NkNEM1xcdTZEMkFcXHU3MEQ4XFx1N0QwNVxcdTg2NzlcXHU4QTBDXFx1OUQzQlxcdTUzMTZcXHU1NDhDXFx1NUIwNVxcdTZBM0FcXHU3MDZCXFx1NzU3NVwiXSxcbiAgICAgIFtcImZjYTFcIiwgXCJcXHU3OThEXFx1NzlCRVxcdTgyQjFcXHU4M0VGXFx1OEE3MVxcdThCNDFcXHU4Q0E4XFx1OTc3NFxcdUZBMEJcXHU2NEY0XFx1NjUyQlxcdTc4QkFcXHU3OEJCXFx1N0E2QlxcdTRFMzhcXHU1NTlBXFx1NTk1MFxcdTVCQTZcXHU1RTdCXFx1NjBBM1xcdTYzREJcXHU2QjYxXFx1NjY2NVxcdTY4NTNcXHU2RTE5XFx1NzE2NVxcdTc0QjBcXHU3RDA4XFx1OTA4NFxcdTlBNjlcXHU5QzI1XFx1NkQzQlxcdTZFRDFcXHU3MzNFXFx1OEM0MVxcdTk1Q0FcXHU1MUYwXFx1NUU0Q1xcdTVGQThcXHU2MDREXFx1NjBGNlxcdTYxMzBcXHU2MTRDXFx1NjY0M1xcdTY2NDRcXHU2OUE1XFx1NkNDMVxcdTZFNUZcXHU2RUM5XFx1NkY2MlxcdTcxNENcXHU3NDlDXFx1NzY4N1xcdTdCQzFcXHU3QzI3XFx1ODM1MlxcdTg3NTdcXHU5MDUxXFx1OTY4RFxcdTlFQzNcXHU1MzJGXFx1NTZERVxcdTVFRkJcXHU1RjhBXFx1NjA2MlxcdTYwOTRcXHU2MUY3XFx1NjY2NlxcdTY3MDNcXHU2QTlDXFx1NkRFRVxcdTZGQUVcXHU3MDcwXFx1NzM2QVxcdTdFNkFcXHU4MUJFXFx1ODMzNFxcdTg2RDRcXHU4QUE4XFx1OENDNFxcdTUyODNcXHU3MzcyXFx1NUI5NlxcdTZBNkJcXHU5NDA0XFx1NTRFRVxcdTU2ODZcXHU1QjVEXFx1NjU0OFxcdTY1ODVcXHU2NkM5XFx1Njg5RlxcdTZEOERcXHU2REM2XCJdLFxuICAgICAgW1wiZmRhMVwiLCBcIlxcdTcyM0JcXHU4MEI0XFx1OTE3NVxcdTlBNERcXHU0RkFGXFx1NTAxOVxcdTUzOUFcXHU1NDBFXFx1NTQzQ1xcdTU1ODlcXHU1NUM1XFx1NUUzRlxcdTVGOENcXHU2NzNEXFx1NzE2NlxcdTczRERcXHU5MDA1XFx1NTJEQlxcdTUyRjNcXHU1ODY0XFx1NThDRVxcdTcxMDRcXHU3MThGXFx1NzFGQlxcdTg1QjBcXHU4QTEzXFx1NjY4OFxcdTg1QThcXHU1NUE3XFx1NjY4NFxcdTcxNEFcXHU4NDMxXFx1NTM0OVxcdTU1OTlcXHU2QkMxXFx1NUY1OVxcdTVGQkRcXHU2M0VFXFx1NjY4OVxcdTcxNDdcXHU4QUYxXFx1OEYxRFxcdTlFQkVcXHU0RjExXFx1NjQzQVxcdTcwQ0JcXHU3NTY2XFx1ODY2N1xcdTYwNjRcXHU4QjRFXFx1OURGOFxcdTUxNDdcXHU1MUY2XFx1NTMwOFxcdTZEMzZcXHU4MEY4XFx1OUVEMVxcdTY2MTVcXHU2QjIzXFx1NzA5OFxcdTc1RDVcXHU1NDAzXFx1NUM3OVxcdTdEMDdcXHU4QTE2XFx1NkIyMFxcdTZCM0RcXHU2QjQ2XFx1NTQzOFxcdTYwNzBcXHU2RDNEXFx1N0ZENVxcdTgyMDhcXHU1MEQ2XFx1NTFERVxcdTU1OUNcXHU1NjZCXFx1NTZDRFxcdTU5RUNcXHU1QjA5XFx1NUUwQ1xcdTYxOTlcXHU2MTk4XFx1NjIzMVxcdTY2NUVcXHU2NkU2XFx1NzE5OVxcdTcxQjlcXHU3MUJBXFx1NzJBN1xcdTc5QTdcXHU3QTAwXFx1N0ZCMlxcdThBNzBcIl1cbiAgICBdO1xuICB9XG59KTtcblxuLy8gbm9kZV9tb2R1bGVzL3Jhdy1ib2R5L25vZGVfbW9kdWxlcy9pY29udi1saXRlL2VuY29kaW5ncy90YWJsZXMvY3A5NTAuanNvblxudmFyIHJlcXVpcmVfY3A5NTAgPSBfX2NvbW1vbkpTKHtcbiAgXCJub2RlX21vZHVsZXMvcmF3LWJvZHkvbm9kZV9tb2R1bGVzL2ljb252LWxpdGUvZW5jb2RpbmdzL3RhYmxlcy9jcDk1MC5qc29uXCIoZXhwb3J0czIsIG1vZHVsZTIpIHtcbiAgICBtb2R1bGUyLmV4cG9ydHMgPSBbXG4gICAgICBbXCIwXCIsIFwiXFwwXCIsIDEyN10sXG4gICAgICBbXCJhMTQwXCIsIFwiXFx1MzAwMFxcdUZGMENcXHUzMDAxXFx1MzAwMlxcdUZGMEVcXHUyMDI3XFx1RkYxQlxcdUZGMUFcXHVGRjFGXFx1RkYwMVxcdUZFMzBcXHUyMDI2XFx1MjAyNVxcdUZFNTBcXHVGRTUxXFx1RkU1MlxceEI3XFx1RkU1NFxcdUZFNTVcXHVGRTU2XFx1RkU1N1xcdUZGNUNcXHUyMDEzXFx1RkUzMVxcdTIwMTRcXHVGRTMzXFx1MjU3NFxcdUZFMzRcXHVGRTRGXFx1RkYwOFxcdUZGMDlcXHVGRTM1XFx1RkUzNlxcdUZGNUJcXHVGRjVEXFx1RkUzN1xcdUZFMzhcXHUzMDE0XFx1MzAxNVxcdUZFMzlcXHVGRTNBXFx1MzAxMFxcdTMwMTFcXHVGRTNCXFx1RkUzQ1xcdTMwMEFcXHUzMDBCXFx1RkUzRFxcdUZFM0VcXHUzMDA4XFx1MzAwOVxcdUZFM0ZcXHVGRTQwXFx1MzAwQ1xcdTMwMERcXHVGRTQxXFx1RkU0MlxcdTMwMEVcXHUzMDBGXFx1RkU0M1xcdUZFNDRcXHVGRTU5XFx1RkU1QVwiXSxcbiAgICAgIFtcImExYTFcIiwgXCJcXHVGRTVCXFx1RkU1Q1xcdUZFNURcXHVGRTVFXFx1MjAxOFxcdTIwMTlcXHUyMDFDXFx1MjAxRFxcdTMwMURcXHUzMDFFXFx1MjAzNVxcdTIwMzJcXHVGRjAzXFx1RkYwNlxcdUZGMEFcXHUyMDNCXFx4QTdcXHUzMDAzXFx1MjVDQlxcdTI1Q0ZcXHUyNUIzXFx1MjVCMlxcdTI1Q0VcXHUyNjA2XFx1MjYwNVxcdTI1QzdcXHUyNUM2XFx1MjVBMVxcdTI1QTBcXHUyNUJEXFx1MjVCQ1xcdTMyQTNcXHUyMTA1XFx4QUZcXHVGRkUzXFx1RkYzRlxcdTAyQ0RcXHVGRTQ5XFx1RkU0QVxcdUZFNERcXHVGRTRFXFx1RkU0QlxcdUZFNENcXHVGRTVGXFx1RkU2MFxcdUZFNjFcXHVGRjBCXFx1RkYwRFxceEQ3XFx4RjdcXHhCMVxcdTIyMUFcXHVGRjFDXFx1RkYxRVxcdUZGMURcXHUyMjY2XFx1MjI2N1xcdTIyNjBcXHUyMjFFXFx1MjI1MlxcdTIyNjFcXHVGRTYyXCIsIDQsIFwiXFx1RkY1RVxcdTIyMjlcXHUyMjJBXFx1MjJBNVxcdTIyMjBcXHUyMjFGXFx1MjJCRlxcdTMzRDJcXHUzM0QxXFx1MjIyQlxcdTIyMkVcXHUyMjM1XFx1MjIzNFxcdTI2NDBcXHUyNjQyXFx1MjI5NVxcdTIyOTlcXHUyMTkxXFx1MjE5M1xcdTIxOTBcXHUyMTkyXFx1MjE5NlxcdTIxOTdcXHUyMTk5XFx1MjE5OFxcdTIyMjVcXHUyMjIzXFx1RkYwRlwiXSxcbiAgICAgIFtcImEyNDBcIiwgXCJcXHVGRjNDXFx1MjIxNVxcdUZFNjhcXHVGRjA0XFx1RkZFNVxcdTMwMTJcXHVGRkUwXFx1RkZFMVxcdUZGMDVcXHVGRjIwXFx1MjEwM1xcdTIxMDlcXHVGRTY5XFx1RkU2QVxcdUZFNkJcXHUzM0Q1XFx1MzM5Q1xcdTMzOURcXHUzMzlFXFx1MzNDRVxcdTMzQTFcXHUzMzhFXFx1MzM4RlxcdTMzQzRcXHhCMFxcdTUxNTlcXHU1MTVCXFx1NTE1RVxcdTUxNURcXHU1MTYxXFx1NTE2M1xcdTU1RTdcXHU3NEU5XFx1N0NDRVxcdTI1ODFcIiwgNywgXCJcXHUyNThGXFx1MjU4RVxcdTI1OERcXHUyNThDXFx1MjU4QlxcdTI1OEFcXHUyNTg5XFx1MjUzQ1xcdTI1MzRcXHUyNTJDXFx1MjUyNFxcdTI1MUNcXHUyNTk0XFx1MjUwMFxcdTI1MDJcXHUyNTk1XFx1MjUwQ1xcdTI1MTBcXHUyNTE0XFx1MjUxOFxcdTI1NkRcIl0sXG4gICAgICBbXCJhMmExXCIsIFwiXFx1MjU2RVxcdTI1NzBcXHUyNTZGXFx1MjU1MFxcdTI1NUVcXHUyNTZBXFx1MjU2MVxcdTI1RTJcXHUyNUUzXFx1MjVFNVxcdTI1RTRcXHUyNTcxXFx1MjU3MlxcdTI1NzNcXHVGRjEwXCIsIDksIFwiXFx1MjE2MFwiLCA5LCBcIlxcdTMwMjFcIiwgOCwgXCJcXHU1MzQxXFx1NTM0NFxcdTUzNDVcXHVGRjIxXCIsIDI1LCBcIlxcdUZGNDFcIiwgMjFdLFxuICAgICAgW1wiYTM0MFwiLCBcIlxcdUZGNTdcXHVGRjU4XFx1RkY1OVxcdUZGNUFcXHUwMzkxXCIsIDE2LCBcIlxcdTAzQTNcIiwgNiwgXCJcXHUwM0IxXCIsIDE2LCBcIlxcdTAzQzNcIiwgNiwgXCJcXHUzMTA1XCIsIDEwXSxcbiAgICAgIFtcImEzYTFcIiwgXCJcXHUzMTEwXCIsIDI1LCBcIlxcdTAyRDlcXHUwMkM5XFx1MDJDQVxcdTAyQzdcXHUwMkNCXCJdLFxuICAgICAgW1wiYTNlMVwiLCBcIlxcdTIwQUNcIl0sXG4gICAgICBbXCJhNDQwXCIsIFwiXFx1NEUwMFxcdTRFNTlcXHU0RTAxXFx1NEUwM1xcdTRFNDNcXHU0RTVEXFx1NEU4NlxcdTRFOENcXHU0RUJBXFx1NTEzRlxcdTUxNjVcXHU1MTZCXFx1NTFFMFxcdTUyMDBcXHU1MjAxXFx1NTI5QlxcdTUzMTVcXHU1MzQxXFx1NTM1Q1xcdTUzQzhcXHU0RTA5XFx1NEUwQlxcdTRFMDhcXHU0RTBBXFx1NEUyQlxcdTRFMzhcXHU1MUUxXFx1NEU0NVxcdTRFNDhcXHU0RTVGXFx1NEU1RVxcdTRFOEVcXHU0RUExXFx1NTE0MFxcdTUyMDNcXHU1MkZBXFx1NTM0M1xcdTUzQzlcXHU1M0UzXFx1NTcxRlxcdTU4RUJcXHU1OTE1XFx1NTkyN1xcdTU5NzNcXHU1QjUwXFx1NUI1MVxcdTVCNTNcXHU1QkY4XFx1NUMwRlxcdTVDMjJcXHU1QzM4XFx1NUM3MVxcdTVERERcXHU1REU1XFx1NURGMVxcdTVERjJcXHU1REYzXFx1NURGRVxcdTVFNzJcXHU1RUZFXFx1NUYwQlxcdTVGMTNcXHU2MjREXCJdLFxuICAgICAgW1wiYTRhMVwiLCBcIlxcdTRFMTFcXHU0RTEwXFx1NEUwRFxcdTRFMkRcXHU0RTMwXFx1NEUzOVxcdTRFNEJcXHU1QzM5XFx1NEU4OFxcdTRFOTFcXHU0RTk1XFx1NEU5MlxcdTRFOTRcXHU0RUEyXFx1NEVDMVxcdTRFQzBcXHU0RUMzXFx1NEVDNlxcdTRFQzdcXHU0RUNEXFx1NEVDQVxcdTRFQ0JcXHU0RUM0XFx1NTE0M1xcdTUxNDFcXHU1MTY3XFx1NTE2RFxcdTUxNkVcXHU1MTZDXFx1NTE5N1xcdTUxRjZcXHU1MjA2XFx1NTIwN1xcdTUyMDhcXHU1MkZCXFx1NTJGRVxcdTUyRkZcXHU1MzE2XFx1NTMzOVxcdTUzNDhcXHU1MzQ3XFx1NTM0NVxcdTUzNUVcXHU1Mzg0XFx1NTNDQlxcdTUzQ0FcXHU1M0NEXFx1NThFQ1xcdTU5MjlcXHU1OTJCXFx1NTkyQVxcdTU5MkRcXHU1QjU0XFx1NUMxMVxcdTVDMjRcXHU1QzNBXFx1NUM2RlxcdTVERjRcXHU1RTdCXFx1NUVGRlxcdTVGMTRcXHU1RjE1XFx1NUZDM1xcdTYyMDhcXHU2MjM2XFx1NjI0QlxcdTYyNEVcXHU2NTJGXFx1NjU4N1xcdTY1OTdcXHU2NUE0XFx1NjVCOVxcdTY1RTVcXHU2NkYwXFx1NjcwOFxcdTY3MjhcXHU2QjIwXFx1NkI2MlxcdTZCNzlcXHU2QkNCXFx1NkJENFxcdTZCREJcXHU2QzBGXFx1NkMzNFxcdTcwNkJcXHU3MjJBXFx1NzIzNlxcdTcyM0JcXHU3MjQ3XFx1NzI1OVxcdTcyNUJcXHU3MkFDXFx1NzM4QlxcdTRFMTlcIl0sXG4gICAgICBbXCJhNTQwXCIsIFwiXFx1NEUxNlxcdTRFMTVcXHU0RTE0XFx1NEUxOFxcdTRFM0JcXHU0RTREXFx1NEU0RlxcdTRFNEVcXHU0RUU1XFx1NEVEOFxcdTRFRDRcXHU0RUQ1XFx1NEVENlxcdTRFRDdcXHU0RUUzXFx1NEVFNFxcdTRFRDlcXHU0RURFXFx1NTE0NVxcdTUxNDRcXHU1MTg5XFx1NTE4QVxcdTUxQUNcXHU1MUY5XFx1NTFGQVxcdTUxRjhcXHU1MjBBXFx1NTJBMFxcdTUyOUZcXHU1MzA1XFx1NTMwNlxcdTUzMTdcXHU1MzFEXFx1NEVERlxcdTUzNEFcXHU1MzQ5XFx1NTM2MVxcdTUzNjBcXHU1MzZGXFx1NTM2RVxcdTUzQkJcXHU1M0VGXFx1NTNFNFxcdTUzRjNcXHU1M0VDXFx1NTNFRVxcdTUzRTlcXHU1M0U4XFx1NTNGQ1xcdTUzRjhcXHU1M0Y1XFx1NTNFQlxcdTUzRTZcXHU1M0VBXFx1NTNGMlxcdTUzRjFcXHU1M0YwXFx1NTNFNVxcdTUzRURcXHU1M0ZCXFx1NTZEQlxcdTU2REFcXHU1OTE2XCJdLFxuICAgICAgW1wiYTVhMVwiLCBcIlxcdTU5MkVcXHU1OTMxXFx1NTk3NFxcdTU5NzZcXHU1QjU1XFx1NUI4M1xcdTVDM0NcXHU1REU4XFx1NURFN1xcdTVERTZcXHU1RTAyXFx1NUUwM1xcdTVFNzNcXHU1RTdDXFx1NUYwMVxcdTVGMThcXHU1RjE3XFx1NUZDNVxcdTYyMEFcXHU2MjUzXFx1NjI1NFxcdTYyNTJcXHU2MjUxXFx1NjVBNVxcdTY1RTZcXHU2NzJFXFx1NjcyQ1xcdTY3MkFcXHU2NzJCXFx1NjcyRFxcdTZCNjNcXHU2QkNEXFx1NkMxMVxcdTZDMTBcXHU2QzM4XFx1NkM0MVxcdTZDNDBcXHU2QzNFXFx1NzJBRlxcdTczODRcXHU3Mzg5XFx1NzREQ1xcdTc0RTZcXHU3NTE4XFx1NzUxRlxcdTc1MjhcXHU3NTI5XFx1NzUzMFxcdTc1MzFcXHU3NTMyXFx1NzUzM1xcdTc1OEJcXHU3NjdEXFx1NzZBRVxcdTc2QkZcXHU3NkVFXFx1NzdEQlxcdTc3RTJcXHU3N0YzXFx1NzkzQVxcdTc5QkVcXHU3QTc0XFx1N0FDQlxcdTRFMUVcXHU0RTFGXFx1NEU1MlxcdTRFNTNcXHU0RTY5XFx1NEU5OVxcdTRFQTRcXHU0RUE2XFx1NEVBNVxcdTRFRkZcXHU0RjA5XFx1NEYxOVxcdTRGMEFcXHU0RjE1XFx1NEYwRFxcdTRGMTBcXHU0RjExXFx1NEYwRlxcdTRFRjJcXHU0RUY2XFx1NEVGQlxcdTRFRjBcXHU0RUYzXFx1NEVGRFxcdTRGMDFcXHU0RjBCXFx1NTE0OVxcdTUxNDdcXHU1MTQ2XFx1NTE0OFxcdTUxNjhcIl0sXG4gICAgICBbXCJhNjQwXCIsIFwiXFx1NTE3MVxcdTUxOERcXHU1MUIwXFx1NTIxN1xcdTUyMTFcXHU1MjEyXFx1NTIwRVxcdTUyMTZcXHU1MkEzXFx1NTMwOFxcdTUzMjFcXHU1MzIwXFx1NTM3MFxcdTUzNzFcXHU1NDA5XFx1NTQwRlxcdTU0MENcXHU1NDBBXFx1NTQxMFxcdTU0MDFcXHU1NDBCXFx1NTQwNFxcdTU0MTFcXHU1NDBEXFx1NTQwOFxcdTU0MDNcXHU1NDBFXFx1NTQwNlxcdTU0MTJcXHU1NkUwXFx1NTZERVxcdTU2RERcXHU1NzMzXFx1NTczMFxcdTU3MjhcXHU1NzJEXFx1NTcyQ1xcdTU3MkZcXHU1NzI5XFx1NTkxOVxcdTU5MUFcXHU1OTM3XFx1NTkzOFxcdTU5ODRcXHU1OTc4XFx1NTk4M1xcdTU5N0RcXHU1OTc5XFx1NTk4MlxcdTU5ODFcXHU1QjU3XFx1NUI1OFxcdTVCODdcXHU1Qjg4XFx1NUI4NVxcdTVCODlcXHU1QkZBXFx1NUMxNlxcdTVDNzlcXHU1RERFXFx1NUUwNlxcdTVFNzZcXHU1RTc0XCJdLFxuICAgICAgW1wiYTZhMVwiLCBcIlxcdTVGMEZcXHU1RjFCXFx1NUZEOVxcdTVGRDZcXHU2MjBFXFx1NjIwQ1xcdTYyMERcXHU2MjEwXFx1NjI2M1xcdTYyNUJcXHU2MjU4XFx1NjUzNlxcdTY1RTlcXHU2NUU4XFx1NjVFQ1xcdTY1RURcXHU2NkYyXFx1NjZGM1xcdTY3MDlcXHU2NzNEXFx1NjczNFxcdTY3MzFcXHU2NzM1XFx1NkIyMVxcdTZCNjRcXHU2QjdCXFx1NkMxNlxcdTZDNURcXHU2QzU3XFx1NkM1OVxcdTZDNUZcXHU2QzYwXFx1NkM1MFxcdTZDNTVcXHU2QzYxXFx1NkM1QlxcdTZDNERcXHU2QzRFXFx1NzA3MFxcdTcyNUZcXHU3MjVEXFx1NzY3RVxcdTdBRjlcXHU3QzczXFx1N0NGOFxcdTdGMzZcXHU3RjhBXFx1N0ZCRFxcdTgwMDFcXHU4MDAzXFx1ODAwQ1xcdTgwMTJcXHU4MDMzXFx1ODA3RlxcdTgwODlcXHU4MDhCXFx1ODA4Q1xcdTgxRTNcXHU4MUVBXFx1ODFGM1xcdTgxRkNcXHU4MjBDXFx1ODIxQlxcdTgyMUZcXHU4MjZFXFx1ODI3MlxcdTgyN0VcXHU4NjZCXFx1ODg0MFxcdTg4NENcXHU4ODYzXFx1ODk3RlxcdTk2MjFcXHU0RTMyXFx1NEVBOFxcdTRGNERcXHU0RjRGXFx1NEY0N1xcdTRGNTdcXHU0RjVFXFx1NEYzNFxcdTRGNUJcXHU0RjU1XFx1NEYzMFxcdTRGNTBcXHU0RjUxXFx1NEYzRFxcdTRGM0FcXHU0RjM4XFx1NEY0M1xcdTRGNTRcXHU0RjNDXFx1NEY0NlxcdTRGNjNcIl0sXG4gICAgICBbXCJhNzQwXCIsIFwiXFx1NEY1Q1xcdTRGNjBcXHU0RjJGXFx1NEY0RVxcdTRGMzZcXHU0RjU5XFx1NEY1RFxcdTRGNDhcXHU0RjVBXFx1NTE0Q1xcdTUxNEJcXHU1MTREXFx1NTE3NVxcdTUxQjZcXHU1MUI3XFx1NTIyNVxcdTUyMjRcXHU1MjI5XFx1NTIyQVxcdTUyMjhcXHU1MkFCXFx1NTJBOVxcdTUyQUFcXHU1MkFDXFx1NTMyM1xcdTUzNzNcXHU1Mzc1XFx1NTQxRFxcdTU0MkRcXHU1NDFFXFx1NTQzRVxcdTU0MjZcXHU1NDRFXFx1NTQyN1xcdTU0NDZcXHU1NDQzXFx1NTQzM1xcdTU0NDhcXHU1NDQyXFx1NTQxQlxcdTU0MjlcXHU1NDRBXFx1NTQzOVxcdTU0M0JcXHU1NDM4XFx1NTQyRVxcdTU0MzVcXHU1NDM2XFx1NTQyMFxcdTU0M0NcXHU1NDQwXFx1NTQzMVxcdTU0MkJcXHU1NDFGXFx1NTQyQ1xcdTU2RUFcXHU1NkYwXFx1NTZFNFxcdTU2RUJcXHU1NzRBXFx1NTc1MVxcdTU3NDBcXHU1NzREXCJdLFxuICAgICAgW1wiYTdhMVwiLCBcIlxcdTU3NDdcXHU1NzRFXFx1NTczRVxcdTU3NTBcXHU1NzRGXFx1NTczQlxcdTU4RUZcXHU1OTNFXFx1NTk5RFxcdTU5OTJcXHU1OUE4XFx1NTk5RVxcdTU5QTNcXHU1OTk5XFx1NTk5NlxcdTU5OERcXHU1OUE0XFx1NTk5M1xcdTU5OEFcXHU1OUE1XFx1NUI1RFxcdTVCNUNcXHU1QjVBXFx1NUI1QlxcdTVCOENcXHU1QjhCXFx1NUI4RlxcdTVDMkNcXHU1QzQwXFx1NUM0MVxcdTVDM0ZcXHU1QzNFXFx1NUM5MFxcdTVDOTFcXHU1Qzk0XFx1NUM4Q1xcdTVERUJcXHU1RTBDXFx1NUU4RlxcdTVFODdcXHU1RThBXFx1NUVGN1xcdTVGMDRcXHU1RjFGXFx1NUY2NFxcdTVGNjJcXHU1Rjc3XFx1NUY3OVxcdTVGRDhcXHU1RkNDXFx1NUZEN1xcdTVGQ0RcXHU1RkYxXFx1NUZFQlxcdTVGRjhcXHU1RkVBXFx1NjIxMlxcdTYyMTFcXHU2Mjg0XFx1NjI5N1xcdTYyOTZcXHU2MjgwXFx1NjI3NlxcdTYyODlcXHU2MjZEXFx1NjI4QVxcdTYyN0NcXHU2MjdFXFx1NjI3OVxcdTYyNzNcXHU2MjkyXFx1NjI2RlxcdTYyOThcXHU2MjZFXFx1NjI5NVxcdTYyOTNcXHU2MjkxXFx1NjI4NlxcdTY1MzlcXHU2NTNCXFx1NjUzOFxcdTY1RjFcXHU2NkY0XFx1Njc1RlxcdTY3NEVcXHU2NzRGXFx1Njc1MFxcdTY3NTFcXHU2NzVDXFx1Njc1NlxcdTY3NUVcXHU2NzQ5XFx1Njc0NlxcdTY3NjBcIl0sXG4gICAgICBbXCJhODQwXCIsIFwiXFx1Njc1M1xcdTY3NTdcXHU2QjY1XFx1NkJDRlxcdTZDNDJcXHU2QzVFXFx1NkM5OVxcdTZDODFcXHU2Qzg4XFx1NkM4OVxcdTZDODVcXHU2QzlCXFx1NkM2QVxcdTZDN0FcXHU2QzkwXFx1NkM3MFxcdTZDOENcXHU2QzY4XFx1NkM5NlxcdTZDOTJcXHU2QzdEXFx1NkM4M1xcdTZDNzJcXHU2QzdFXFx1NkM3NFxcdTZDODZcXHU2Qzc2XFx1NkM4RFxcdTZDOTRcXHU2Qzk4XFx1NkM4MlxcdTcwNzZcXHU3MDdDXFx1NzA3RFxcdTcwNzhcXHU3MjYyXFx1NzI2MVxcdTcyNjBcXHU3MkM0XFx1NzJDMlxcdTczOTZcXHU3NTJDXFx1NzUyQlxcdTc1MzdcXHU3NTM4XFx1NzY4MlxcdTc2RUZcXHU3N0UzXFx1NzlDMVxcdTc5QzBcXHU3OUJGXFx1N0E3NlxcdTdDRkJcXHU3RjU1XFx1ODA5NlxcdTgwOTNcXHU4MDlEXFx1ODA5OFxcdTgwOUJcXHU4MDlBXFx1ODBCMlxcdTgyNkZcXHU4MjkyXCJdLFxuICAgICAgW1wiYThhMVwiLCBcIlxcdTgyOEJcXHU4MjhEXFx1ODk4QlxcdTg5RDJcXHU4QTAwXFx1OEMzN1xcdThDNDZcXHU4QzU1XFx1OEM5RFxcdThENjRcXHU4RDcwXFx1OERCM1xcdThFQUJcXHU4RUNBXFx1OEY5QlxcdThGQjBcXHU4RkMyXFx1OEZDNlxcdThGQzVcXHU4RkM0XFx1NURFMVxcdTkwOTFcXHU5MEEyXFx1OTBBQVxcdTkwQTZcXHU5MEEzXFx1OTE0OVxcdTkxQzZcXHU5MUNDXFx1OTYzMlxcdTk2MkVcXHU5NjMxXFx1OTYyQVxcdTk2MkNcXHU0RTI2XFx1NEU1NlxcdTRFNzNcXHU0RThCXFx1NEU5QlxcdTRFOUVcXHU0RUFCXFx1NEVBQ1xcdTRGNkZcXHU0RjlEXFx1NEY4RFxcdTRGNzNcXHU0RjdGXFx1NEY2Q1xcdTRGOUJcXHU0RjhCXFx1NEY4NlxcdTRGODNcXHU0RjcwXFx1NEY3NVxcdTRGODhcXHU0RjY5XFx1NEY3QlxcdTRGOTZcXHU0RjdFXFx1NEY4RlxcdTRGOTFcXHU0RjdBXFx1NTE1NFxcdTUxNTJcXHU1MTU1XFx1NTE2OVxcdTUxNzdcXHU1MTc2XFx1NTE3OFxcdTUxQkRcXHU1MUZEXFx1NTIzQlxcdTUyMzhcXHU1MjM3XFx1NTIzQVxcdTUyMzBcXHU1MjJFXFx1NTIzNlxcdTUyNDFcXHU1MkJFXFx1NTJCQlxcdTUzNTJcXHU1MzU0XFx1NTM1M1xcdTUzNTFcXHU1MzY2XFx1NTM3N1xcdTUzNzhcXHU1Mzc5XFx1NTNENlxcdTUzRDRcXHU1M0Q3XFx1NTQ3M1xcdTU0NzVcIl0sXG4gICAgICBbXCJhOTQwXCIsIFwiXFx1NTQ5NlxcdTU0NzhcXHU1NDk1XFx1NTQ4MFxcdTU0N0JcXHU1NDc3XFx1NTQ4NFxcdTU0OTJcXHU1NDg2XFx1NTQ3Q1xcdTU0OTBcXHU1NDcxXFx1NTQ3NlxcdTU0OENcXHU1NDlBXFx1NTQ2MlxcdTU0NjhcXHU1NDhCXFx1NTQ3RFxcdTU0OEVcXHU1NkZBXFx1NTc4M1xcdTU3NzdcXHU1NzZBXFx1NTc2OVxcdTU3NjFcXHU1NzY2XFx1NTc2NFxcdTU3N0NcXHU1OTFDXFx1NTk0OVxcdTU5NDdcXHU1OTQ4XFx1NTk0NFxcdTU5NTRcXHU1OUJFXFx1NTlCQlxcdTU5RDRcXHU1OUI5XFx1NTlBRVxcdTU5RDFcXHU1OUM2XFx1NTlEMFxcdTU5Q0RcXHU1OUNCXFx1NTlEM1xcdTU5Q0FcXHU1OUFGXFx1NTlCM1xcdTU5RDJcXHU1OUM1XFx1NUI1RlxcdTVCNjRcXHU1QjYzXFx1NUI5N1xcdTVCOUFcXHU1Qjk4XFx1NUI5Q1xcdTVCOTlcXHU1QjlCXFx1NUMxQVxcdTVDNDhcXHU1QzQ1XCJdLFxuICAgICAgW1wiYTlhMVwiLCBcIlxcdTVDNDZcXHU1Q0I3XFx1NUNBMVxcdTVDQjhcXHU1Q0E5XFx1NUNBQlxcdTVDQjFcXHU1Q0IzXFx1NUUxOFxcdTVFMUFcXHU1RTE2XFx1NUUxNVxcdTVFMUJcXHU1RTExXFx1NUU3OFxcdTVFOUFcXHU1RTk3XFx1NUU5Q1xcdTVFOTVcXHU1RTk2XFx1NUVGNlxcdTVGMjZcXHU1RjI3XFx1NUYyOVxcdTVGODBcXHU1RjgxXFx1NUY3RlxcdTVGN0NcXHU1RkREXFx1NUZFMFxcdTVGRkRcXHU1RkY1XFx1NUZGRlxcdTYwMEZcXHU2MDE0XFx1NjAyRlxcdTYwMzVcXHU2MDE2XFx1NjAyQVxcdTYwMTVcXHU2MDIxXFx1NjAyN1xcdTYwMjlcXHU2MDJCXFx1NjAxQlxcdTYyMTZcXHU2MjE1XFx1NjIzRlxcdTYyM0VcXHU2MjQwXFx1NjI3RlxcdTYyQzlcXHU2MkNDXFx1NjJDNFxcdTYyQkZcXHU2MkMyXFx1NjJCOVxcdTYyRDJcXHU2MkRCXFx1NjJBQlxcdTYyRDNcXHU2MkQ0XFx1NjJDQlxcdTYyQzhcXHU2MkE4XFx1NjJCRFxcdTYyQkNcXHU2MkQwXFx1NjJEOVxcdTYyQzdcXHU2MkNEXFx1NjJCNVxcdTYyREFcXHU2MkIxXFx1NjJEOFxcdTYyRDZcXHU2MkQ3XFx1NjJDNlxcdTYyQUNcXHU2MkNFXFx1NjUzRVxcdTY1QTdcXHU2NUJDXFx1NjVGQVxcdTY2MTRcXHU2NjEzXFx1NjYwQ1xcdTY2MDZcXHU2NjAyXFx1NjYwRVxcdTY2MDBcXHU2NjBGXFx1NjYxNVxcdTY2MEFcIl0sXG4gICAgICBbXCJhYTQwXCIsIFwiXFx1NjYwN1xcdTY3MERcXHU2NzBCXFx1Njc2RFxcdTY3OEJcXHU2Nzk1XFx1Njc3MVxcdTY3OUNcXHU2NzczXFx1Njc3N1xcdTY3ODdcXHU2NzlEXFx1Njc5N1xcdTY3NkZcXHU2NzcwXFx1Njc3RlxcdTY3ODlcXHU2NzdFXFx1Njc5MFxcdTY3NzVcXHU2NzlBXFx1Njc5M1xcdTY3N0NcXHU2NzZBXFx1Njc3MlxcdTZCMjNcXHU2QjY2XFx1NkI2N1xcdTZCN0ZcXHU2QzEzXFx1NkMxQlxcdTZDRTNcXHU2Q0U4XFx1NkNGM1xcdTZDQjFcXHU2Q0NDXFx1NkNFNVxcdTZDQjNcXHU2Q0JEXFx1NkNCRVxcdTZDQkNcXHU2Q0UyXFx1NkNBQlxcdTZDRDVcXHU2Q0QzXFx1NkNCOFxcdTZDQzRcXHU2Q0I5XFx1NkNDMVxcdTZDQUVcXHU2Q0Q3XFx1NkNDNVxcdTZDRjFcXHU2Q0JGXFx1NkNCQlxcdTZDRTFcXHU2Q0RCXFx1NkNDQVxcdTZDQUNcXHU2Q0VGXFx1NkNEQ1xcdTZDRDZcXHU2Q0UwXCJdLFxuICAgICAgW1wiYWFhMVwiLCBcIlxcdTcwOTVcXHU3MDhFXFx1NzA5MlxcdTcwOEFcXHU3MDk5XFx1NzIyQ1xcdTcyMkRcXHU3MjM4XFx1NzI0OFxcdTcyNjdcXHU3MjY5XFx1NzJDMFxcdTcyQ0VcXHU3MkQ5XFx1NzJEN1xcdTcyRDBcXHU3M0E5XFx1NzNBOFxcdTczOUZcXHU3M0FCXFx1NzNBNVxcdTc1M0RcXHU3NTlEXFx1NzU5OVxcdTc1OUFcXHU3Njg0XFx1NzZDMlxcdTc2RjJcXHU3NkY0XFx1NzdFNVxcdTc3RkRcXHU3OTNFXFx1Nzk0MFxcdTc5NDFcXHU3OUM5XFx1NzlDOFxcdTdBN0FcXHU3QTc5XFx1N0FGQVxcdTdDRkVcXHU3RjU0XFx1N0Y4Q1xcdTdGOEJcXHU4MDA1XFx1ODBCQVxcdTgwQTVcXHU4MEEyXFx1ODBCMVxcdTgwQTFcXHU4MEFCXFx1ODBBOVxcdTgwQjRcXHU4MEFBXFx1ODBBRlxcdTgxRTVcXHU4MUZFXFx1ODIwRFxcdTgyQjNcXHU4MjlEXFx1ODI5OVxcdTgyQURcXHU4MkJEXFx1ODI5RlxcdTgyQjlcXHU4MkIxXFx1ODJBQ1xcdTgyQTVcXHU4MkFGXFx1ODJCOFxcdTgyQTNcXHU4MkIwXFx1ODJCRVxcdTgyQjdcXHU4NjRFXFx1ODY3MVxcdTUyMURcXHU4ODY4XFx1OEVDQlxcdThGQ0VcXHU4RkQ0XFx1OEZEMVxcdTkwQjVcXHU5MEI4XFx1OTBCMVxcdTkwQjZcXHU5MUM3XFx1OTFEMVxcdTk1NzdcXHU5NTgwXFx1OTYxQ1xcdTk2NDBcXHU5NjNGXFx1OTYzQlxcdTk2NDRcIl0sXG4gICAgICBbXCJhYjQwXCIsIFwiXFx1OTY0MlxcdTk2QjlcXHU5NkU4XFx1OTc1MlxcdTk3NUVcXHU0RTlGXFx1NEVBRFxcdTRFQUVcXHU0RkUxXFx1NEZCNVxcdTRGQUZcXHU0RkJGXFx1NEZFMFxcdTRGRDFcXHU0RkNGXFx1NEZERFxcdTRGQzNcXHU0RkI2XFx1NEZEOFxcdTRGREZcXHU0RkNBXFx1NEZEN1xcdTRGQUVcXHU0RkQwXFx1NEZDNFxcdTRGQzJcXHU0RkRBXFx1NEZDRVxcdTRGREVcXHU0RkI3XFx1NTE1N1xcdTUxOTJcXHU1MTkxXFx1NTFBMFxcdTUyNEVcXHU1MjQzXFx1NTI0QVxcdTUyNERcXHU1MjRDXFx1NTI0QlxcdTUyNDdcXHU1MkM3XFx1NTJDOVxcdTUyQzNcXHU1MkMxXFx1NTMwRFxcdTUzNTdcXHU1MzdCXFx1NTM5QVxcdTUzREJcXHU1NEFDXFx1NTRDMFxcdTU0QThcXHU1NENFXFx1NTRDOVxcdTU0QjhcXHU1NEE2XFx1NTRCM1xcdTU0QzdcXHU1NEMyXFx1NTRCRFxcdTU0QUFcXHU1NEMxXCJdLFxuICAgICAgW1wiYWJhMVwiLCBcIlxcdTU0QzRcXHU1NEM4XFx1NTRBRlxcdTU0QUJcXHU1NEIxXFx1NTRCQlxcdTU0QTlcXHU1NEE3XFx1NTRCRlxcdTU2RkZcXHU1NzgyXFx1NTc4QlxcdTU3QTBcXHU1N0EzXFx1NTdBMlxcdTU3Q0VcXHU1N0FFXFx1NTc5M1xcdTU5NTVcXHU1OTUxXFx1NTk0RlxcdTU5NEVcXHU1OTUwXFx1NTlEQ1xcdTU5RDhcXHU1OUZGXFx1NTlFM1xcdTU5RThcXHU1QTAzXFx1NTlFNVxcdTU5RUFcXHU1OURBXFx1NTlFNlxcdTVBMDFcXHU1OUZCXFx1NUI2OVxcdTVCQTNcXHU1QkE2XFx1NUJBNFxcdTVCQTJcXHU1QkE1XFx1NUMwMVxcdTVDNEVcXHU1QzRGXFx1NUM0RFxcdTVDNEJcXHU1Q0Q5XFx1NUNEMlxcdTVERjdcXHU1RTFEXFx1NUUyNVxcdTVFMUZcXHU1RTdEXFx1NUVBMFxcdTVFQTZcXHU1RUZBXFx1NUYwOFxcdTVGMkRcXHU1RjY1XFx1NUY4OFxcdTVGODVcXHU1RjhBXFx1NUY4QlxcdTVGODdcXHU1RjhDXFx1NUY4OVxcdTYwMTJcXHU2MDFEXFx1NjAyMFxcdTYwMjVcXHU2MDBFXFx1NjAyOFxcdTYwNERcXHU2MDcwXFx1NjA2OFxcdTYwNjJcXHU2MDQ2XFx1NjA0M1xcdTYwNkNcXHU2MDZCXFx1NjA2QVxcdTYwNjRcXHU2MjQxXFx1NjJEQ1xcdTYzMTZcXHU2MzA5XFx1NjJGQ1xcdTYyRURcXHU2MzAxXFx1NjJFRVxcdTYyRkRcXHU2MzA3XFx1NjJGMVxcdTYyRjdcIl0sXG4gICAgICBbXCJhYzQwXCIsIFwiXFx1NjJFRlxcdTYyRUNcXHU2MkZFXFx1NjJGNFxcdTYzMTFcXHU2MzAyXFx1NjUzRlxcdTY1NDVcXHU2NUFCXFx1NjVCRFxcdTY1RTJcXHU2NjI1XFx1NjYyRFxcdTY2MjBcXHU2NjI3XFx1NjYyRlxcdTY2MUZcXHU2NjI4XFx1NjYzMVxcdTY2MjRcXHU2NkY3XFx1NjdGRlxcdTY3RDNcXHU2N0YxXFx1NjdENFxcdTY3RDBcXHU2N0VDXFx1NjdCNlxcdTY3QUZcXHU2N0Y1XFx1NjdFOVxcdTY3RUZcXHU2N0M0XFx1NjdEMVxcdTY3QjRcXHU2N0RBXFx1NjdFNVxcdTY3QjhcXHU2N0NGXFx1NjdERVxcdTY3RjNcXHU2N0IwXFx1NjdEOVxcdTY3RTJcXHU2N0REXFx1NjdEMlxcdTZCNkFcXHU2QjgzXFx1NkI4NlxcdTZCQjVcXHU2QkQyXFx1NkJEN1xcdTZDMUZcXHU2Q0M5XFx1NkQwQlxcdTZEMzJcXHU2RDJBXFx1NkQ0MVxcdTZEMjVcXHU2RDBDXFx1NkQzMVxcdTZEMUVcXHU2RDE3XCJdLFxuICAgICAgW1wiYWNhMVwiLCBcIlxcdTZEM0JcXHU2RDNEXFx1NkQzRVxcdTZEMzZcXHU2RDFCXFx1NkNGNVxcdTZEMzlcXHU2RDI3XFx1NkQzOFxcdTZEMjlcXHU2RDJFXFx1NkQzNVxcdTZEMEVcXHU2RDJCXFx1NzBBQlxcdTcwQkFcXHU3MEIzXFx1NzBBQ1xcdTcwQUZcXHU3MEFEXFx1NzBCOFxcdTcwQUVcXHU3MEE0XFx1NzIzMFxcdTcyNzJcXHU3MjZGXFx1NzI3NFxcdTcyRTlcXHU3MkUwXFx1NzJFMVxcdTczQjdcXHU3M0NBXFx1NzNCQlxcdTczQjJcXHU3M0NEXFx1NzNDMFxcdTczQjNcXHU3NTFBXFx1NzUyRFxcdTc1NEZcXHU3NTRDXFx1NzU0RVxcdTc1NEJcXHU3NUFCXFx1NzVBNFxcdTc1QTVcXHU3NUEyXFx1NzVBM1xcdTc2NzhcXHU3Njg2XFx1NzY4N1xcdTc2ODhcXHU3NkM4XFx1NzZDNlxcdTc2QzNcXHU3NkM1XFx1NzcwMVxcdTc2RjlcXHU3NkY4XFx1NzcwOVxcdTc3MEJcXHU3NkZFXFx1NzZGQ1xcdTc3MDdcXHU3N0RDXFx1NzgwMlxcdTc4MTRcXHU3ODBDXFx1NzgwRFxcdTc5NDZcXHU3OTQ5XFx1Nzk0OFxcdTc5NDdcXHU3OUI5XFx1NzlCQVxcdTc5RDFcXHU3OUQyXFx1NzlDQlxcdTdBN0ZcXHU3QTgxXFx1N0FGRlxcdTdBRkRcXHU3QzdEXFx1N0QwMlxcdTdEMDVcXHU3RDAwXFx1N0QwOVxcdTdEMDdcXHU3RDA0XFx1N0QwNlxcdTdGMzhcXHU3RjhFXFx1N0ZCRlxcdTgwMDRcIl0sXG4gICAgICBbXCJhZDQwXCIsIFwiXFx1ODAxMFxcdTgwMERcXHU4MDExXFx1ODAzNlxcdTgwRDZcXHU4MEU1XFx1ODBEQVxcdTgwQzNcXHU4MEM0XFx1ODBDQ1xcdTgwRTFcXHU4MERCXFx1ODBDRVxcdTgwREVcXHU4MEU0XFx1ODBERFxcdTgxRjRcXHU4MjIyXFx1ODJFN1xcdTgzMDNcXHU4MzA1XFx1ODJFM1xcdTgyREJcXHU4MkU2XFx1ODMwNFxcdTgyRTVcXHU4MzAyXFx1ODMwOVxcdTgyRDJcXHU4MkQ3XFx1ODJGMVxcdTgzMDFcXHU4MkRDXFx1ODJENFxcdTgyRDFcXHU4MkRFXFx1ODJEM1xcdTgyREZcXHU4MkVGXFx1ODMwNlxcdTg2NTBcXHU4Njc5XFx1ODY3QlxcdTg2N0FcXHU4ODREXFx1ODg2QlxcdTg5ODFcXHU4OUQ0XFx1OEEwOFxcdThBMDJcXHU4QTAzXFx1OEM5RVxcdThDQTBcXHU4RDc0XFx1OEQ3M1xcdThEQjRcXHU4RUNEXFx1OEVDQ1xcdThGRjBcXHU4RkU2XFx1OEZFMlxcdThGRUFcXHU4RkU1XCJdLFxuICAgICAgW1wiYWRhMVwiLCBcIlxcdThGRURcXHU4RkVCXFx1OEZFNFxcdThGRThcXHU5MENBXFx1OTBDRVxcdTkwQzFcXHU5MEMzXFx1OTE0QlxcdTkxNEFcXHU5MUNEXFx1OTU4MlxcdTk2NTBcXHU5NjRCXFx1OTY0Q1xcdTk2NERcXHU5NzYyXFx1OTc2OVxcdTk3Q0JcXHU5N0VEXFx1OTdGM1xcdTk4MDFcXHU5OEE4XFx1OThEQlxcdTk4REZcXHU5OTk2XFx1OTk5OVxcdTRFNThcXHU0RUIzXFx1NTAwQ1xcdTUwMERcXHU1MDIzXFx1NEZFRlxcdTUwMjZcXHU1MDI1XFx1NEZGOFxcdTUwMjlcXHU1MDE2XFx1NTAwNlxcdTUwM0NcXHU1MDFGXFx1NTAxQVxcdTUwMTJcXHU1MDExXFx1NEZGQVxcdTUwMDBcXHU1MDE0XFx1NTAyOFxcdTRGRjFcXHU1MDIxXFx1NTAwQlxcdTUwMTlcXHU1MDE4XFx1NEZGM1xcdTRGRUVcXHU1MDJEXFx1NTAyQVxcdTRGRkVcXHU1MDJCXFx1NTAwOVxcdTUxN0NcXHU1MUE0XFx1NTFBNVxcdTUxQTJcXHU1MUNEXFx1NTFDQ1xcdTUxQzZcXHU1MUNCXFx1NTI1NlxcdTUyNUNcXHU1MjU0XFx1NTI1QlxcdTUyNURcXHU1MzJBXFx1NTM3RlxcdTUzOUZcXHU1MzlEXFx1NTNERlxcdTU0RThcXHU1NTEwXFx1NTUwMVxcdTU1MzdcXHU1NEZDXFx1NTRFNVxcdTU0RjJcXHU1NTA2XFx1NTRGQVxcdTU1MTRcXHU1NEU5XFx1NTRFRFxcdTU0RTFcXHU1NTA5XFx1NTRFRVxcdTU0RUFcIl0sXG4gICAgICBbXCJhZTQwXCIsIFwiXFx1NTRFNlxcdTU1MjdcXHU1NTA3XFx1NTRGRFxcdTU1MEZcXHU1NzAzXFx1NTcwNFxcdTU3QzJcXHU1N0Q0XFx1NTdDQlxcdTU3QzNcXHU1ODA5XFx1NTkwRlxcdTU5NTdcXHU1OTU4XFx1NTk1QVxcdTVBMTFcXHU1QTE4XFx1NUExQ1xcdTVBMUZcXHU1QTFCXFx1NUExM1xcdTU5RUNcXHU1QTIwXFx1NUEyM1xcdTVBMjlcXHU1QTI1XFx1NUEwQ1xcdTVBMDlcXHU1QjZCXFx1NUM1OFxcdTVCQjBcXHU1QkIzXFx1NUJCNlxcdTVCQjRcXHU1QkFFXFx1NUJCNVxcdTVCQjlcXHU1QkI4XFx1NUMwNFxcdTVDNTFcXHU1QzU1XFx1NUM1MFxcdTVDRURcXHU1Q0ZEXFx1NUNGQlxcdTVDRUFcXHU1Q0U4XFx1NUNGMFxcdTVDRjZcXHU1RDAxXFx1NUNGNFxcdTVERUVcXHU1RTJEXFx1NUUyQlxcdTVFQUJcXHU1RUFEXFx1NUVBN1xcdTVGMzFcXHU1RjkyXFx1NUY5MVxcdTVGOTBcXHU2MDU5XCJdLFxuICAgICAgW1wiYWVhMVwiLCBcIlxcdTYwNjNcXHU2MDY1XFx1NjA1MFxcdTYwNTVcXHU2MDZEXFx1NjA2OVxcdTYwNkZcXHU2MDg0XFx1NjA5RlxcdTYwOUFcXHU2MDhEXFx1NjA5NFxcdTYwOENcXHU2MDg1XFx1NjA5NlxcdTYyNDdcXHU2MkYzXFx1NjMwOFxcdTYyRkZcXHU2MzRFXFx1NjMzRVxcdTYzMkZcXHU2MzU1XFx1NjM0MlxcdTYzNDZcXHU2MzRGXFx1NjM0OVxcdTYzM0FcXHU2MzUwXFx1NjMzRFxcdTYzMkFcXHU2MzJCXFx1NjMyOFxcdTYzNERcXHU2MzRDXFx1NjU0OFxcdTY1NDlcXHU2NTk5XFx1NjVDMVxcdTY1QzVcXHU2NjQyXFx1NjY0OVxcdTY2NEZcXHU2NjQzXFx1NjY1MlxcdTY2NENcXHU2NjQ1XFx1NjY0MVxcdTY2RjhcXHU2NzE0XFx1NjcxNVxcdTY3MTdcXHU2ODIxXFx1NjgzOFxcdTY4NDhcXHU2ODQ2XFx1Njg1M1xcdTY4MzlcXHU2ODQyXFx1Njg1NFxcdTY4MjlcXHU2OEIzXFx1NjgxN1xcdTY4NENcXHU2ODUxXFx1NjgzRFxcdTY3RjRcXHU2ODUwXFx1Njg0MFxcdTY4M0NcXHU2ODQzXFx1NjgyQVxcdTY4NDVcXHU2ODEzXFx1NjgxOFxcdTY4NDFcXHU2QjhBXFx1NkI4OVxcdTZCQjdcXHU2QzIzXFx1NkMyN1xcdTZDMjhcXHU2QzI2XFx1NkMyNFxcdTZDRjBcXHU2RDZBXFx1NkQ5NVxcdTZEODhcXHU2RDg3XFx1NkQ2NlxcdTZENzhcXHU2RDc3XFx1NkQ1OVxcdTZEOTNcIl0sXG4gICAgICBbXCJhZjQwXCIsIFwiXFx1NkQ2Q1xcdTZEODlcXHU2RDZFXFx1NkQ1QVxcdTZENzRcXHU2RDY5XFx1NkQ4Q1xcdTZEOEFcXHU2RDc5XFx1NkQ4NVxcdTZENjVcXHU2RDk0XFx1NzBDQVxcdTcwRDhcXHU3MEU0XFx1NzBEOVxcdTcwQzhcXHU3MENGXFx1NzIzOVxcdTcyNzlcXHU3MkZDXFx1NzJGOVxcdTcyRkRcXHU3MkY4XFx1NzJGN1xcdTczODZcXHU3M0VEXFx1NzQwOVxcdTczRUVcXHU3M0UwXFx1NzNFQVxcdTczREVcXHU3NTU0XFx1NzU1RFxcdTc1NUNcXHU3NTVBXFx1NzU1OVxcdTc1QkVcXHU3NUM1XFx1NzVDN1xcdTc1QjJcXHU3NUIzXFx1NzVCRFxcdTc1QkNcXHU3NUI5XFx1NzVDMlxcdTc1QjhcXHU3NjhCXFx1NzZCMFxcdTc2Q0FcXHU3NkNEXFx1NzZDRVxcdTc3MjlcXHU3NzFGXFx1NzcyMFxcdTc3MjhcXHU3N0U5XFx1NzgzMFxcdTc4MjdcXHU3ODM4XFx1NzgxRFxcdTc4MzRcXHU3ODM3XCJdLFxuICAgICAgW1wiYWZhMVwiLCBcIlxcdTc4MjVcXHU3ODJEXFx1NzgyMFxcdTc4MUZcXHU3ODMyXFx1Nzk1NVxcdTc5NTBcXHU3OTYwXFx1Nzk1RlxcdTc5NTZcXHU3OTVFXFx1Nzk1RFxcdTc5NTdcXHU3OTVBXFx1NzlFNFxcdTc5RTNcXHU3OUU3XFx1NzlERlxcdTc5RTZcXHU3OUU5XFx1NzlEOFxcdTdBODRcXHU3QTg4XFx1N0FEOVxcdTdCMDZcXHU3QjExXFx1N0M4OVxcdTdEMjFcXHU3RDE3XFx1N0QwQlxcdTdEMEFcXHU3RDIwXFx1N0QyMlxcdTdEMTRcXHU3RDEwXFx1N0QxNVxcdTdEMUFcXHU3RDFDXFx1N0QwRFxcdTdEMTlcXHU3RDFCXFx1N0YzQVxcdTdGNUZcXHU3Rjk0XFx1N0ZDNVxcdTdGQzFcXHU4MDA2XFx1ODAxOFxcdTgwMTVcXHU4MDE5XFx1ODAxN1xcdTgwM0RcXHU4MDNGXFx1ODBGMVxcdTgxMDJcXHU4MEYwXFx1ODEwNVxcdTgwRURcXHU4MEY0XFx1ODEwNlxcdTgwRjhcXHU4MEYzXFx1ODEwOFxcdTgwRkRcXHU4MTBBXFx1ODBGQ1xcdTgwRUZcXHU4MUVEXFx1ODFFQ1xcdTgyMDBcXHU4MjEwXFx1ODIyQVxcdTgyMkJcXHU4MjI4XFx1ODIyQ1xcdTgyQkJcXHU4MzJCXFx1ODM1MlxcdTgzNTRcXHU4MzRBXFx1ODMzOFxcdTgzNTBcXHU4MzQ5XFx1ODMzNVxcdTgzMzRcXHU4MzRGXFx1ODMzMlxcdTgzMzlcXHU4MzM2XFx1ODMxN1xcdTgzNDBcXHU4MzMxXFx1ODMyOFxcdTgzNDNcIl0sXG4gICAgICBbXCJiMDQwXCIsIFwiXFx1ODY1NFxcdTg2OEFcXHU4NkFBXFx1ODY5M1xcdTg2QTRcXHU4NkE5XFx1ODY4Q1xcdTg2QTNcXHU4NjlDXFx1ODg3MFxcdTg4NzdcXHU4ODgxXFx1ODg4MlxcdTg4N0RcXHU4ODc5XFx1OEExOFxcdThBMTBcXHU4QTBFXFx1OEEwQ1xcdThBMTVcXHU4QTBBXFx1OEExN1xcdThBMTNcXHU4QTE2XFx1OEEwRlxcdThBMTFcXHU4QzQ4XFx1OEM3QVxcdThDNzlcXHU4Q0ExXFx1OENBMlxcdThENzdcXHU4RUFDXFx1OEVEMlxcdThFRDRcXHU4RUNGXFx1OEZCMVxcdTkwMDFcXHU5MDA2XFx1OEZGN1xcdTkwMDBcXHU4RkZBXFx1OEZGNFxcdTkwMDNcXHU4RkZEXFx1OTAwNVxcdThGRjhcXHU5MDk1XFx1OTBFMVxcdTkwRERcXHU5MEUyXFx1OTE1MlxcdTkxNERcXHU5MTRDXFx1OTFEOFxcdTkxRERcXHU5MUQ3XFx1OTFEQ1xcdTkxRDlcXHU5NTgzXFx1OTY2MlxcdTk2NjNcXHU5NjYxXCJdLFxuICAgICAgW1wiYjBhMVwiLCBcIlxcdTk2NUJcXHU5NjVEXFx1OTY2NFxcdTk2NThcXHU5NjVFXFx1OTZCQlxcdTk4RTJcXHU5OUFDXFx1OUFBOFxcdTlBRDhcXHU5QjI1XFx1OUIzMlxcdTlCM0NcXHU0RTdFXFx1NTA3QVxcdTUwN0RcXHU1MDVDXFx1NTA0N1xcdTUwNDNcXHU1MDRDXFx1NTA1QVxcdTUwNDlcXHU1MDY1XFx1NTA3NlxcdTUwNEVcXHU1MDU1XFx1NTA3NVxcdTUwNzRcXHU1MDc3XFx1NTA0RlxcdTUwMEZcXHU1MDZGXFx1NTA2RFxcdTUxNUNcXHU1MTk1XFx1NTFGMFxcdTUyNkFcXHU1MjZGXFx1NTJEMlxcdTUyRDlcXHU1MkQ4XFx1NTJENVxcdTUzMTBcXHU1MzBGXFx1NTMxOVxcdTUzM0ZcXHU1MzQwXFx1NTMzRVxcdTUzQzNcXHU2NkZDXFx1NTU0NlxcdTU1NkFcXHU1NTY2XFx1NTU0NFxcdTU1NUVcXHU1NTYxXFx1NTU0M1xcdTU1NEFcXHU1NTMxXFx1NTU1NlxcdTU1NEZcXHU1NTU1XFx1NTUyRlxcdTU1NjRcXHU1NTM4XFx1NTUyRVxcdTU1NUNcXHU1NTJDXFx1NTU2M1xcdTU1MzNcXHU1NTQxXFx1NTU1N1xcdTU3MDhcXHU1NzBCXFx1NTcwOVxcdTU3REZcXHU1ODA1XFx1NTgwQVxcdTU4MDZcXHU1N0UwXFx1NTdFNFxcdTU3RkFcXHU1ODAyXFx1NTgzNVxcdTU3RjdcXHU1N0Y5XFx1NTkyMFxcdTU5NjJcXHU1QTM2XFx1NUE0MVxcdTVBNDlcXHU1QTY2XFx1NUE2QVxcdTVBNDBcIl0sXG4gICAgICBbXCJiMTQwXCIsIFwiXFx1NUEzQ1xcdTVBNjJcXHU1QTVBXFx1NUE0NlxcdTVBNEFcXHU1QjcwXFx1NUJDN1xcdTVCQzVcXHU1QkM0XFx1NUJDMlxcdTVCQkZcXHU1QkM2XFx1NUMwOVxcdTVDMDhcXHU1QzA3XFx1NUM2MFxcdTVDNUNcXHU1QzVEXFx1NUQwN1xcdTVEMDZcXHU1RDBFXFx1NUQxQlxcdTVEMTZcXHU1RDIyXFx1NUQxMVxcdTVEMjlcXHU1RDE0XFx1NUQxOVxcdTVEMjRcXHU1RDI3XFx1NUQxN1xcdTVERTJcXHU1RTM4XFx1NUUzNlxcdTVFMzNcXHU1RTM3XFx1NUVCN1xcdTVFQjhcXHU1RUI2XFx1NUVCNVxcdTVFQkVcXHU1RjM1XFx1NUYzN1xcdTVGNTdcXHU1RjZDXFx1NUY2OVxcdTVGNkJcXHU1Rjk3XFx1NUY5OVxcdTVGOUVcXHU1Rjk4XFx1NUZBMVxcdTVGQTBcXHU1RjlDXFx1NjA3RlxcdTYwQTNcXHU2MDg5XFx1NjBBMFxcdTYwQThcXHU2MENCXFx1NjBCNFxcdTYwRTZcXHU2MEJEXCJdLFxuICAgICAgW1wiYjFhMVwiLCBcIlxcdTYwQzVcXHU2MEJCXFx1NjBCNVxcdTYwRENcXHU2MEJDXFx1NjBEOFxcdTYwRDVcXHU2MEM2XFx1NjBERlxcdTYwQjhcXHU2MERBXFx1NjBDN1xcdTYyMUFcXHU2MjFCXFx1NjI0OFxcdTYzQTBcXHU2M0E3XFx1NjM3MlxcdTYzOTZcXHU2M0EyXFx1NjNBNVxcdTYzNzdcXHU2MzY3XFx1NjM5OFxcdTYzQUFcXHU2MzcxXFx1NjNBOVxcdTYzODlcXHU2MzgzXFx1NjM5QlxcdTYzNkJcXHU2M0E4XFx1NjM4NFxcdTYzODhcXHU2Mzk5XFx1NjNBMVxcdTYzQUNcXHU2MzkyXFx1NjM4RlxcdTYzODBcXHU2MzdCXFx1NjM2OVxcdTYzNjhcXHU2MzdBXFx1NjU1RFxcdTY1NTZcXHU2NTUxXFx1NjU1OVxcdTY1NTdcXHU1NTVGXFx1NjU0RlxcdTY1NThcXHU2NTU1XFx1NjU1NFxcdTY1OUNcXHU2NTlCXFx1NjVBQ1xcdTY1Q0ZcXHU2NUNCXFx1NjVDQ1xcdTY1Q0VcXHU2NjVEXFx1NjY1QVxcdTY2NjRcXHU2NjY4XFx1NjY2NlxcdTY2NUVcXHU2NkY5XFx1NTJEN1xcdTY3MUJcXHU2ODgxXFx1NjhBRlxcdTY4QTJcXHU2ODkzXFx1NjhCNVxcdTY4N0ZcXHU2ODc2XFx1NjhCMVxcdTY4QTdcXHU2ODk3XFx1NjhCMFxcdTY4ODNcXHU2OEM0XFx1NjhBRFxcdTY4ODZcXHU2ODg1XFx1Njg5NFxcdTY4OURcXHU2OEE4XFx1Njg5RlxcdTY4QTFcXHU2ODgyXFx1NkIzMlxcdTZCQkFcIl0sXG4gICAgICBbXCJiMjQwXCIsIFwiXFx1NkJFQlxcdTZCRUNcXHU2QzJCXFx1NkQ4RVxcdTZEQkNcXHU2REYzXFx1NkREOVxcdTZEQjJcXHU2REUxXFx1NkRDQ1xcdTZERTRcXHU2REZCXFx1NkRGQVxcdTZFMDVcXHU2REM3XFx1NkRDQlxcdTZEQUZcXHU2REQxXFx1NkRBRVxcdTZEREVcXHU2REY5XFx1NkRCOFxcdTZERjdcXHU2REY1XFx1NkRDNVxcdTZERDJcXHU2RTFBXFx1NkRCNVxcdTZEREFcXHU2REVCXFx1NkREOFxcdTZERUFcXHU2REYxXFx1NkRFRVxcdTZERThcXHU2REM2XFx1NkRDNFxcdTZEQUFcXHU2REVDXFx1NkRCRlxcdTZERTZcXHU3MEY5XFx1NzEwOVxcdTcxMEFcXHU3MEZEXFx1NzBFRlxcdTcyM0RcXHU3MjdEXFx1NzI4MVxcdTczMUNcXHU3MzFCXFx1NzMxNlxcdTczMTNcXHU3MzE5XFx1NzM4N1xcdTc0MDVcXHU3NDBBXFx1NzQwM1xcdTc0MDZcXHU3M0ZFXFx1NzQwRFxcdTc0RTBcXHU3NEY2XCJdLFxuICAgICAgW1wiYjJhMVwiLCBcIlxcdTc0RjdcXHU3NTFDXFx1NzUyMlxcdTc1NjVcXHU3NTY2XFx1NzU2MlxcdTc1NzBcXHU3NThGXFx1NzVENFxcdTc1RDVcXHU3NUI1XFx1NzVDQVxcdTc1Q0RcXHU3NjhFXFx1NzZENFxcdTc2RDJcXHU3NkRCXFx1NzczN1xcdTc3M0VcXHU3NzNDXFx1NzczNlxcdTc3MzhcXHU3NzNBXFx1Nzg2QlxcdTc4NDNcXHU3ODRFXFx1Nzk2NVxcdTc5NjhcXHU3OTZEXFx1NzlGQlxcdTdBOTJcXHU3QTk1XFx1N0IyMFxcdTdCMjhcXHU3QjFCXFx1N0IyQ1xcdTdCMjZcXHU3QjE5XFx1N0IxRVxcdTdCMkVcXHU3QzkyXFx1N0M5N1xcdTdDOTVcXHU3RDQ2XFx1N0Q0M1xcdTdENzFcXHU3RDJFXFx1N0QzOVxcdTdEM0NcXHU3RDQwXFx1N0QzMFxcdTdEMzNcXHU3RDQ0XFx1N0QyRlxcdTdENDJcXHU3RDMyXFx1N0QzMVxcdTdGM0RcXHU3RjlFXFx1N0Y5QVxcdTdGQ0NcXHU3RkNFXFx1N0ZEMlxcdTgwMUNcXHU4MDRBXFx1ODA0NlxcdTgxMkZcXHU4MTE2XFx1ODEyM1xcdTgxMkJcXHU4MTI5XFx1ODEzMFxcdTgxMjRcXHU4MjAyXFx1ODIzNVxcdTgyMzdcXHU4MjM2XFx1ODIzOVxcdTgzOEVcXHU4MzlFXFx1ODM5OFxcdTgzNzhcXHU4M0EyXFx1ODM5NlxcdTgzQkRcXHU4M0FCXFx1ODM5MlxcdTgzOEFcXHU4MzkzXFx1ODM4OVxcdTgzQTBcXHU4Mzc3XFx1ODM3QlxcdTgzN0NcIl0sXG4gICAgICBbXCJiMzQwXCIsIFwiXFx1ODM4NlxcdTgzQTdcXHU4NjU1XFx1NUY2QVxcdTg2QzdcXHU4NkMwXFx1ODZCNlxcdTg2QzRcXHU4NkI1XFx1ODZDNlxcdTg2Q0JcXHU4NkIxXFx1ODZBRlxcdTg2QzlcXHU4ODUzXFx1ODg5RVxcdTg4ODhcXHU4OEFCXFx1ODg5MlxcdTg4OTZcXHU4ODhEXFx1ODg4QlxcdTg5OTNcXHU4OThGXFx1OEEyQVxcdThBMURcXHU4QTIzXFx1OEEyNVxcdThBMzFcXHU4QTJEXFx1OEExRlxcdThBMUJcXHU4QTIyXFx1OEM0OVxcdThDNUFcXHU4Q0E5XFx1OENBQ1xcdThDQUJcXHU4Q0E4XFx1OENBQVxcdThDQTdcXHU4RDY3XFx1OEQ2NlxcdThEQkVcXHU4REJBXFx1OEVEQlxcdThFREZcXHU5MDE5XFx1OTAwRFxcdTkwMUFcXHU5MDE3XFx1OTAyM1xcdTkwMUZcXHU5MDFEXFx1OTAxMFxcdTkwMTVcXHU5MDFFXFx1OTAyMFxcdTkwMEZcXHU5MDIyXFx1OTAxNlxcdTkwMUJcXHU5MDE0XCJdLFxuICAgICAgW1wiYjNhMVwiLCBcIlxcdTkwRThcXHU5MEVEXFx1OTBGRFxcdTkxNTdcXHU5MUNFXFx1OTFGNVxcdTkxRTZcXHU5MUUzXFx1OTFFN1xcdTkxRURcXHU5MUU5XFx1OTU4OVxcdTk2NkFcXHU5Njc1XFx1OTY3M1xcdTk2NzhcXHU5NjcwXFx1OTY3NFxcdTk2NzZcXHU5Njc3XFx1OTY2Q1xcdTk2QzBcXHU5NkVBXFx1OTZFOVxcdTdBRTBcXHU3QURGXFx1OTgwMlxcdTk4MDNcXHU5QjVBXFx1OUNFNVxcdTlFNzVcXHU5RTdGXFx1OUVBNVxcdTlFQkJcXHU1MEEyXFx1NTA4RFxcdTUwODVcXHU1MDk5XFx1NTA5MVxcdTUwODBcXHU1MDk2XFx1NTA5OFxcdTUwOUFcXHU2NzAwXFx1NTFGMVxcdTUyNzJcXHU1Mjc0XFx1NTI3NVxcdTUyNjlcXHU1MkRFXFx1NTJERFxcdTUyREJcXHU1MzVBXFx1NTNBNVxcdTU1N0JcXHU1NTgwXFx1NTVBN1xcdTU1N0NcXHU1NThBXFx1NTU5RFxcdTU1OThcXHU1NTgyXFx1NTU5Q1xcdTU1QUFcXHU1NTk0XFx1NTU4N1xcdTU1OEJcXHU1NTgzXFx1NTVCM1xcdTU1QUVcXHU1NTlGXFx1NTUzRVxcdTU1QjJcXHU1NTlBXFx1NTVCQlxcdTU1QUNcXHU1NUIxXFx1NTU3RVxcdTU1ODlcXHU1NUFCXFx1NTU5OVxcdTU3MERcXHU1ODJGXFx1NTgyQVxcdTU4MzRcXHU1ODI0XFx1NTgzMFxcdTU4MzFcXHU1ODIxXFx1NTgxRFxcdTU4MjBcXHU1OEY5XFx1NThGQVxcdTU5NjBcIl0sXG4gICAgICBbXCJiNDQwXCIsIFwiXFx1NUE3N1xcdTVBOUFcXHU1QTdGXFx1NUE5MlxcdTVBOUJcXHU1QUE3XFx1NUI3M1xcdTVCNzFcXHU1QkQyXFx1NUJDQ1xcdTVCRDNcXHU1QkQwXFx1NUMwQVxcdTVDMEJcXHU1QzMxXFx1NUQ0Q1xcdTVENTBcXHU1RDM0XFx1NUQ0N1xcdTVERkRcXHU1RTQ1XFx1NUUzRFxcdTVFNDBcXHU1RTQzXFx1NUU3RVxcdTVFQ0FcXHU1RUMxXFx1NUVDMlxcdTVFQzRcXHU1RjNDXFx1NUY2RFxcdTVGQTlcXHU1RkFBXFx1NUZBOFxcdTYwRDFcXHU2MEUxXFx1NjBCMlxcdTYwQjZcXHU2MEUwXFx1NjExQ1xcdTYxMjNcXHU2MEZBXFx1NjExNVxcdTYwRjBcXHU2MEZCXFx1NjBGNFxcdTYxNjhcXHU2MEYxXFx1NjEwRVxcdTYwRjZcXHU2MTA5XFx1NjEwMFxcdTYxMTJcXHU2MjFGXFx1NjI0OVxcdTYzQTNcXHU2MzhDXFx1NjNDRlxcdTYzQzBcXHU2M0U5XFx1NjNDOVxcdTYzQzZcXHU2M0NEXCJdLFxuICAgICAgW1wiYjRhMVwiLCBcIlxcdTYzRDJcXHU2M0UzXFx1NjNEMFxcdTYzRTFcXHU2M0Q2XFx1NjNFRFxcdTYzRUVcXHU2Mzc2XFx1NjNGNFxcdTYzRUFcXHU2M0RCXFx1NjQ1MlxcdTYzREFcXHU2M0Y5XFx1NjU1RVxcdTY1NjZcXHU2NTYyXFx1NjU2M1xcdTY1OTFcXHU2NTkwXFx1NjVBRlxcdTY2NkVcXHU2NjcwXFx1NjY3NFxcdTY2NzZcXHU2NjZGXFx1NjY5MVxcdTY2N0FcXHU2NjdFXFx1NjY3N1xcdTY2RkVcXHU2NkZGXFx1NjcxRlxcdTY3MURcXHU2OEZBXFx1NjhENVxcdTY4RTBcXHU2OEQ4XFx1NjhEN1xcdTY5MDVcXHU2OERGXFx1NjhGNVxcdTY4RUVcXHU2OEU3XFx1NjhGOVxcdTY4RDJcXHU2OEYyXFx1NjhFM1xcdTY4Q0JcXHU2OENEXFx1NjkwRFxcdTY5MTJcXHU2OTBFXFx1NjhDOVxcdTY4REFcXHU2OTZFXFx1NjhGQlxcdTZCM0VcXHU2QjNBXFx1NkIzRFxcdTZCOThcXHU2Qjk2XFx1NkJCQ1xcdTZCRUZcXHU2QzJFXFx1NkMyRlxcdTZDMkNcXHU2RTJGXFx1NkUzOFxcdTZFNTRcXHU2RTIxXFx1NkUzMlxcdTZFNjdcXHU2RTRBXFx1NkUyMFxcdTZFMjVcXHU2RTIzXFx1NkUxQlxcdTZFNUJcXHU2RTU4XFx1NkUyNFxcdTZFNTZcXHU2RTZFXFx1NkUyRFxcdTZFMjZcXHU2RTZGXFx1NkUzNFxcdTZFNERcXHU2RTNBXFx1NkUyQ1xcdTZFNDNcXHU2RTFEXFx1NkUzRVxcdTZFQ0JcIl0sXG4gICAgICBbXCJiNTQwXCIsIFwiXFx1NkU4OVxcdTZFMTlcXHU2RTRFXFx1NkU2M1xcdTZFNDRcXHU2RTcyXFx1NkU2OVxcdTZFNUZcXHU3MTE5XFx1NzExQVxcdTcxMjZcXHU3MTMwXFx1NzEyMVxcdTcxMzZcXHU3MTZFXFx1NzExQ1xcdTcyNENcXHU3Mjg0XFx1NzI4MFxcdTczMzZcXHU3MzI1XFx1NzMzNFxcdTczMjlcXHU3NDNBXFx1NzQyQVxcdTc0MzNcXHU3NDIyXFx1NzQyNVxcdTc0MzVcXHU3NDM2XFx1NzQzNFxcdTc0MkZcXHU3NDFCXFx1NzQyNlxcdTc0MjhcXHU3NTI1XFx1NzUyNlxcdTc1NkJcXHU3NTZBXFx1NzVFMlxcdTc1REJcXHU3NUUzXFx1NzVEOVxcdTc1RDhcXHU3NURFXFx1NzVFMFxcdTc2N0JcXHU3NjdDXFx1NzY5NlxcdTc2OTNcXHU3NkI0XFx1NzZEQ1xcdTc3NEZcXHU3N0VEXFx1Nzg1RFxcdTc4NkNcXHU3ODZGXFx1N0EwRFxcdTdBMDhcXHU3QTBCXFx1N0EwNVxcdTdBMDBcXHU3QTk4XCJdLFxuICAgICAgW1wiYjVhMVwiLCBcIlxcdTdBOTdcXHU3QTk2XFx1N0FFNVxcdTdBRTNcXHU3QjQ5XFx1N0I1NlxcdTdCNDZcXHU3QjUwXFx1N0I1MlxcdTdCNTRcXHU3QjREXFx1N0I0QlxcdTdCNEZcXHU3QjUxXFx1N0M5RlxcdTdDQTVcXHU3RDVFXFx1N0Q1MFxcdTdENjhcXHU3RDU1XFx1N0QyQlxcdTdENkVcXHU3RDcyXFx1N0Q2MVxcdTdENjZcXHU3RDYyXFx1N0Q3MFxcdTdENzNcXHU1NTg0XFx1N0ZENFxcdTdGRDVcXHU4MDBCXFx1ODA1MlxcdTgwODVcXHU4MTU1XFx1ODE1NFxcdTgxNEJcXHU4MTUxXFx1ODE0RVxcdTgxMzlcXHU4MTQ2XFx1ODEzRVxcdTgxNENcXHU4MTUzXFx1ODE3NFxcdTgyMTJcXHU4MjFDXFx1ODNFOVxcdTg0MDNcXHU4M0Y4XFx1ODQwRFxcdTgzRTBcXHU4M0M1XFx1ODQwQlxcdTgzQzFcXHU4M0VGXFx1ODNGMVxcdTgzRjRcXHU4NDU3XFx1ODQwQVxcdTgzRjBcXHU4NDBDXFx1ODNDQ1xcdTgzRkRcXHU4M0YyXFx1ODNDQVxcdTg0MzhcXHU4NDBFXFx1ODQwNFxcdTgzRENcXHU4NDA3XFx1ODNENFxcdTgzREZcXHU4NjVCXFx1ODZERlxcdTg2RDlcXHU4NkVEXFx1ODZENFxcdTg2REJcXHU4NkU0XFx1ODZEMFxcdTg2REVcXHU4ODU3XFx1ODhDMVxcdTg4QzJcXHU4OEIxXFx1ODk4M1xcdTg5OTZcXHU4QTNCXFx1OEE2MFxcdThBNTVcXHU4QTVFXFx1OEEzQ1xcdThBNDFcIl0sXG4gICAgICBbXCJiNjQwXCIsIFwiXFx1OEE1NFxcdThBNUJcXHU4QTUwXFx1OEE0NlxcdThBMzRcXHU4QTNBXFx1OEEzNlxcdThBNTZcXHU4QzYxXFx1OEM4MlxcdThDQUZcXHU4Q0JDXFx1OENCM1xcdThDQkRcXHU4Q0MxXFx1OENCQlxcdThDQzBcXHU4Q0I0XFx1OENCN1xcdThDQjZcXHU4Q0JGXFx1OENCOFxcdThEOEFcXHU4RDg1XFx1OEQ4MVxcdThEQ0VcXHU4REREXFx1OERDQlxcdThEREFcXHU4REQxXFx1OERDQ1xcdThEREJcXHU4REM2XFx1OEVGQlxcdThFRjhcXHU4RUZDXFx1OEY5Q1xcdTkwMkVcXHU5MDM1XFx1OTAzMVxcdTkwMzhcXHU5MDMyXFx1OTAzNlxcdTkxMDJcXHU5MEY1XFx1OTEwOVxcdTkwRkVcXHU5MTYzXFx1OTE2NVxcdTkxQ0ZcXHU5MjE0XFx1OTIxNVxcdTkyMjNcXHU5MjA5XFx1OTIxRVxcdTkyMERcXHU5MjEwXFx1OTIwN1xcdTkyMTFcXHU5NTk0XFx1OTU4RlxcdTk1OEJcXHU5NTkxXCJdLFxuICAgICAgW1wiYjZhMVwiLCBcIlxcdTk1OTNcXHU5NTkyXFx1OTU4RVxcdTk2OEFcXHU5NjhFXFx1OTY4QlxcdTk2N0RcXHU5Njg1XFx1OTY4NlxcdTk2OERcXHU5NjcyXFx1OTY4NFxcdTk2QzFcXHU5NkM1XFx1OTZDNFxcdTk2QzZcXHU5NkM3XFx1OTZFRlxcdTk2RjJcXHU5N0NDXFx1OTgwNVxcdTk4MDZcXHU5ODA4XFx1OThFN1xcdTk4RUFcXHU5OEVGXFx1OThFOVxcdTk4RjJcXHU5OEVEXFx1OTlBRVxcdTk5QURcXHU5RUMzXFx1OUVDRFxcdTlFRDFcXHU0RTgyXFx1NTBBRFxcdTUwQjVcXHU1MEIyXFx1NTBCM1xcdTUwQzVcXHU1MEJFXFx1NTBBQ1xcdTUwQjdcXHU1MEJCXFx1NTBBRlxcdTUwQzdcXHU1MjdGXFx1NTI3N1xcdTUyN0RcXHU1MkRGXFx1NTJFNlxcdTUyRTRcXHU1MkUyXFx1NTJFM1xcdTUzMkZcXHU1NURGXFx1NTVFOFxcdTU1RDNcXHU1NUU2XFx1NTVDRVxcdTU1RENcXHU1NUM3XFx1NTVEMVxcdTU1RTNcXHU1NUU0XFx1NTVFRlxcdTU1REFcXHU1NUUxXFx1NTVDNVxcdTU1QzZcXHU1NUU1XFx1NTVDOVxcdTU3MTJcXHU1NzEzXFx1NTg1RVxcdTU4NTFcXHU1ODU4XFx1NTg1N1xcdTU4NUFcXHU1ODU0XFx1NTg2QlxcdTU4NENcXHU1ODZEXFx1NTg0QVxcdTU4NjJcXHU1ODUyXFx1NTg0QlxcdTU5NjdcXHU1QUMxXFx1NUFDOVxcdTVBQ0NcXHU1QUJFXFx1NUFCRFxcdTVBQkNcIl0sXG4gICAgICBbXCJiNzQwXCIsIFwiXFx1NUFCM1xcdTVBQzJcXHU1QUIyXFx1NUQ2OVxcdTVENkZcXHU1RTRDXFx1NUU3OVxcdTVFQzlcXHU1RUM4XFx1NUYxMlxcdTVGNTlcXHU1RkFDXFx1NUZBRVxcdTYxMUFcXHU2MTBGXFx1NjE0OFxcdTYxMUZcXHU2MEYzXFx1NjExQlxcdTYwRjlcXHU2MTAxXFx1NjEwOFxcdTYxNEVcXHU2MTRDXFx1NjE0NFxcdTYxNERcXHU2MTNFXFx1NjEzNFxcdTYxMjdcXHU2MTBEXFx1NjEwNlxcdTYxMzdcXHU2MjIxXFx1NjIyMlxcdTY0MTNcXHU2NDNFXFx1NjQxRVxcdTY0MkFcXHU2NDJEXFx1NjQzRFxcdTY0MkNcXHU2NDBGXFx1NjQxQ1xcdTY0MTRcXHU2NDBEXFx1NjQzNlxcdTY0MTZcXHU2NDE3XFx1NjQwNlxcdTY1NkNcXHU2NTlGXFx1NjVCMFxcdTY2OTdcXHU2Njg5XFx1NjY4N1xcdTY2ODhcXHU2Njk2XFx1NjY4NFxcdTY2OThcXHU2NjhEXFx1NjcwM1xcdTY5OTRcXHU2OTZEXCJdLFxuICAgICAgW1wiYjdhMVwiLCBcIlxcdTY5NUFcXHU2OTc3XFx1Njk2MFxcdTY5NTRcXHU2OTc1XFx1NjkzMFxcdTY5ODJcXHU2OTRBXFx1Njk2OFxcdTY5NkJcXHU2OTVFXFx1Njk1M1xcdTY5NzlcXHU2OTg2XFx1Njk1RFxcdTY5NjNcXHU2OTVCXFx1NkI0N1xcdTZCNzJcXHU2QkMwXFx1NkJCRlxcdTZCRDNcXHU2QkZEXFx1NkVBMlxcdTZFQUZcXHU2RUQzXFx1NkVCNlxcdTZFQzJcXHU2RTkwXFx1NkU5RFxcdTZFQzdcXHU2RUM1XFx1NkVBNVxcdTZFOThcXHU2RUJDXFx1NkVCQVxcdTZFQUJcXHU2RUQxXFx1NkU5NlxcdTZFOUNcXHU2RUM0XFx1NkVENFxcdTZFQUFcXHU2RUE3XFx1NkVCNFxcdTcxNEVcXHU3MTU5XFx1NzE2OVxcdTcxNjRcXHU3MTQ5XFx1NzE2N1xcdTcxNUNcXHU3MTZDXFx1NzE2NlxcdTcxNENcXHU3MTY1XFx1NzE1RVxcdTcxNDZcXHU3MTY4XFx1NzE1NlxcdTcyM0FcXHU3MjUyXFx1NzMzN1xcdTczNDVcXHU3MzNGXFx1NzMzRVxcdTc0NkZcXHU3NDVBXFx1NzQ1NVxcdTc0NUZcXHU3NDVFXFx1NzQ0MVxcdTc0M0ZcXHU3NDU5XFx1NzQ1QlxcdTc0NUNcXHU3NTc2XFx1NzU3OFxcdTc2MDBcXHU3NUYwXFx1NzYwMVxcdTc1RjJcXHU3NUYxXFx1NzVGQVxcdTc1RkZcXHU3NUY0XFx1NzVGM1xcdTc2REVcXHU3NkRGXFx1Nzc1QlxcdTc3NkJcXHU3NzY2XFx1Nzc1RVxcdTc3NjNcIl0sXG4gICAgICBbXCJiODQwXCIsIFwiXFx1Nzc3OVxcdTc3NkFcXHU3NzZDXFx1Nzc1Q1xcdTc3NjVcXHU3NzY4XFx1Nzc2MlxcdTc3RUVcXHU3ODhFXFx1NzhCMFxcdTc4OTdcXHU3ODk4XFx1Nzg4Q1xcdTc4ODlcXHU3ODdDXFx1Nzg5MVxcdTc4OTNcXHU3ODdGXFx1Nzk3QVxcdTc5N0ZcXHU3OTgxXFx1ODQyQ1xcdTc5QkRcXHU3QTFDXFx1N0ExQVxcdTdBMjBcXHU3QTE0XFx1N0ExRlxcdTdBMUVcXHU3QTlGXFx1N0FBMFxcdTdCNzdcXHU3QkMwXFx1N0I2MFxcdTdCNkVcXHU3QjY3XFx1N0NCMVxcdTdDQjNcXHU3Q0I1XFx1N0Q5M1xcdTdENzlcXHU3RDkxXFx1N0Q4MVxcdTdEOEZcXHU3RDVCXFx1N0Y2RVxcdTdGNjlcXHU3RjZBXFx1N0Y3MlxcdTdGQTlcXHU3RkE4XFx1N0ZBNFxcdTgwNTZcXHU4MDU4XFx1ODA4NlxcdTgwODRcXHU4MTcxXFx1ODE3MFxcdTgxNzhcXHU4MTY1XFx1ODE2RVxcdTgxNzNcXHU4MTZCXCJdLFxuICAgICAgW1wiYjhhMVwiLCBcIlxcdTgxNzlcXHU4MTdBXFx1ODE2NlxcdTgyMDVcXHU4MjQ3XFx1ODQ4MlxcdTg0NzdcXHU4NDNEXFx1ODQzMVxcdTg0NzVcXHU4NDY2XFx1ODQ2QlxcdTg0NDlcXHU4NDZDXFx1ODQ1QlxcdTg0M0NcXHU4NDM1XFx1ODQ2MVxcdTg0NjNcXHU4NDY5XFx1ODQ2RFxcdTg0NDZcXHU4NjVFXFx1ODY1Q1xcdTg2NUZcXHU4NkY5XFx1ODcxM1xcdTg3MDhcXHU4NzA3XFx1ODcwMFxcdTg2RkVcXHU4NkZCXFx1ODcwMlxcdTg3MDNcXHU4NzA2XFx1ODcwQVxcdTg4NTlcXHU4OERGXFx1ODhENFxcdTg4RDlcXHU4OERDXFx1ODhEOFxcdTg4RERcXHU4OEUxXFx1ODhDQVxcdTg4RDVcXHU4OEQyXFx1ODk5Q1xcdTg5RTNcXHU4QTZCXFx1OEE3MlxcdThBNzNcXHU4QTY2XFx1OEE2OVxcdThBNzBcXHU4QTg3XFx1OEE3Q1xcdThBNjNcXHU4QUEwXFx1OEE3MVxcdThBODVcXHU4QTZEXFx1OEE2MlxcdThBNkVcXHU4QTZDXFx1OEE3OVxcdThBN0JcXHU4QTNFXFx1OEE2OFxcdThDNjJcXHU4QzhBXFx1OEM4OVxcdThDQ0FcXHU4Q0M3XFx1OENDOFxcdThDQzRcXHU4Q0IyXFx1OENDM1xcdThDQzJcXHU4Q0M1XFx1OERFMVxcdThEREZcXHU4REU4XFx1OERFRlxcdThERjNcXHU4REZBXFx1OERFQVxcdThERTRcXHU4REU2XFx1OEVCMlxcdThGMDNcXHU4RjA5XFx1OEVGRVxcdThGMEFcIl0sXG4gICAgICBbXCJiOTQwXCIsIFwiXFx1OEY5RlxcdThGQjJcXHU5MDRCXFx1OTA0QVxcdTkwNTNcXHU5MDQyXFx1OTA1NFxcdTkwM0NcXHU5MDU1XFx1OTA1MFxcdTkwNDdcXHU5MDRGXFx1OTA0RVxcdTkwNERcXHU5MDUxXFx1OTAzRVxcdTkwNDFcXHU5MTEyXFx1OTExN1xcdTkxNkNcXHU5MTZBXFx1OTE2OVxcdTkxQzlcXHU5MjM3XFx1OTI1N1xcdTkyMzhcXHU5MjNEXFx1OTI0MFxcdTkyM0VcXHU5MjVCXFx1OTI0QlxcdTkyNjRcXHU5MjUxXFx1OTIzNFxcdTkyNDlcXHU5MjREXFx1OTI0NVxcdTkyMzlcXHU5MjNGXFx1OTI1QVxcdTk1OThcXHU5Njk4XFx1OTY5NFxcdTk2OTVcXHU5NkNEXFx1OTZDQlxcdTk2QzlcXHU5NkNBXFx1OTZGN1xcdTk2RkJcXHU5NkY5XFx1OTZGNlxcdTk3NTZcXHU5Nzc0XFx1OTc3NlxcdTk4MTBcXHU5ODExXFx1OTgxM1xcdTk4MEFcXHU5ODEyXFx1OTgwQ1xcdTk4RkNcXHU5OEY0XCJdLFxuICAgICAgW1wiYjlhMVwiLCBcIlxcdTk4RkRcXHU5OEZFXFx1OTlCM1xcdTk5QjFcXHU5OUI0XFx1OUFFMVxcdTlDRTlcXHU5RTgyXFx1OUYwRVxcdTlGMTNcXHU5RjIwXFx1NTBFN1xcdTUwRUVcXHU1MEU1XFx1NTBENlxcdTUwRURcXHU1MERBXFx1NTBENVxcdTUwQ0ZcXHU1MEQxXFx1NTBGMVxcdTUwQ0VcXHU1MEU5XFx1NTE2MlxcdTUxRjNcXHU1MjgzXFx1NTI4MlxcdTUzMzFcXHU1M0FEXFx1NTVGRVxcdTU2MDBcXHU1NjFCXFx1NTYxN1xcdTU1RkRcXHU1NjE0XFx1NTYwNlxcdTU2MDlcXHU1NjBEXFx1NTYwRVxcdTU1RjdcXHU1NjE2XFx1NTYxRlxcdTU2MDhcXHU1NjEwXFx1NTVGNlxcdTU3MThcXHU1NzE2XFx1NTg3NVxcdTU4N0VcXHU1ODgzXFx1NTg5M1xcdTU4OEFcXHU1ODc5XFx1NTg4NVxcdTU4N0RcXHU1OEZEXFx1NTkyNVxcdTU5MjJcXHU1OTI0XFx1NTk2QVxcdTU5NjlcXHU1QUUxXFx1NUFFNlxcdTVBRTlcXHU1QUQ3XFx1NUFENlxcdTVBRDhcXHU1QUUzXFx1NUI3NVxcdTVCREVcXHU1QkU3XFx1NUJFMVxcdTVCRTVcXHU1QkU2XFx1NUJFOFxcdTVCRTJcXHU1QkU0XFx1NUJERlxcdTVDMERcXHU1QzYyXFx1NUQ4NFxcdTVEODdcXHU1RTVCXFx1NUU2M1xcdTVFNTVcXHU1RTU3XFx1NUU1NFxcdTVFRDNcXHU1RUQ2XFx1NUYwQVxcdTVGNDZcXHU1RjcwXFx1NUZCOVxcdTYxNDdcIl0sXG4gICAgICBbXCJiYTQwXCIsIFwiXFx1NjEzRlxcdTYxNEJcXHU2MTc3XFx1NjE2MlxcdTYxNjNcXHU2MTVGXFx1NjE1QVxcdTYxNThcXHU2MTc1XFx1NjIyQVxcdTY0ODdcXHU2NDU4XFx1NjQ1NFxcdTY0QTRcXHU2NDc4XFx1NjQ1RlxcdTY0N0FcXHU2NDUxXFx1NjQ2N1xcdTY0MzRcXHU2NDZEXFx1NjQ3QlxcdTY1NzJcXHU2NUExXFx1NjVEN1xcdTY1RDZcXHU2NkEyXFx1NjZBOFxcdTY2OURcXHU2OTlDXFx1NjlBOFxcdTY5OTVcXHU2OUMxXFx1NjlBRVxcdTY5RDNcXHU2OUNCXFx1Njk5QlxcdTY5QjdcXHU2OUJCXFx1NjlBQlxcdTY5QjRcXHU2OUQwXFx1NjlDRFxcdTY5QURcXHU2OUNDXFx1NjlBNlxcdTY5QzNcXHU2OUEzXFx1NkI0OVxcdTZCNENcXHU2QzMzXFx1NkYzM1xcdTZGMTRcXHU2RUZFXFx1NkYxM1xcdTZFRjRcXHU2RjI5XFx1NkYzRVxcdTZGMjBcXHU2RjJDXFx1NkYwRlxcdTZGMDJcXHU2RjIyXCJdLFxuICAgICAgW1wiYmFhMVwiLCBcIlxcdTZFRkZcXHU2RUVGXFx1NkYwNlxcdTZGMzFcXHU2RjM4XFx1NkYzMlxcdTZGMjNcXHU2RjE1XFx1NkYyQlxcdTZGMkZcXHU2Rjg4XFx1NkYyQVxcdTZFRUNcXHU2RjAxXFx1NkVGMlxcdTZFQ0NcXHU2RUY3XFx1NzE5NFxcdTcxOTlcXHU3MTdEXFx1NzE4QVxcdTcxODRcXHU3MTkyXFx1NzIzRVxcdTcyOTJcXHU3Mjk2XFx1NzM0NFxcdTczNTBcXHU3NDY0XFx1NzQ2M1xcdTc0NkFcXHU3NDcwXFx1NzQ2RFxcdTc1MDRcXHU3NTkxXFx1NzYyN1xcdTc2MERcXHU3NjBCXFx1NzYwOVxcdTc2MTNcXHU3NkUxXFx1NzZFM1xcdTc3ODRcXHU3NzdEXFx1Nzc3RlxcdTc3NjFcXHU3OEMxXFx1Nzg5RlxcdTc4QTdcXHU3OEIzXFx1NzhBOVxcdTc4QTNcXHU3OThFXFx1Nzk4RlxcdTc5OERcXHU3QTJFXFx1N0EzMVxcdTdBQUFcXHU3QUE5XFx1N0FFRFxcdTdBRUZcXHU3QkExXFx1N0I5NVxcdTdCOEJcXHU3Qjc1XFx1N0I5N1xcdTdCOURcXHU3Qjk0XFx1N0I4RlxcdTdCQjhcXHU3Qjg3XFx1N0I4NFxcdTdDQjlcXHU3Q0JEXFx1N0NCRVxcdTdEQkJcXHU3REIwXFx1N0Q5Q1xcdTdEQkRcXHU3REJFXFx1N0RBMFxcdTdEQ0FcXHU3REI0XFx1N0RCMlxcdTdEQjFcXHU3REJBXFx1N0RBMlxcdTdEQkZcXHU3REI1XFx1N0RCOFxcdTdEQURcXHU3REQyXFx1N0RDN1xcdTdEQUNcIl0sXG4gICAgICBbXCJiYjQwXCIsIFwiXFx1N0Y3MFxcdTdGRTBcXHU3RkUxXFx1N0ZERlxcdTgwNUVcXHU4MDVBXFx1ODA4N1xcdTgxNTBcXHU4MTgwXFx1ODE4RlxcdTgxODhcXHU4MThBXFx1ODE3RlxcdTgxODJcXHU4MUU3XFx1ODFGQVxcdTgyMDdcXHU4MjE0XFx1ODIxRVxcdTgyNEJcXHU4NEM5XFx1ODRCRlxcdTg0QzZcXHU4NEM0XFx1ODQ5OVxcdTg0OUVcXHU4NEIyXFx1ODQ5Q1xcdTg0Q0JcXHU4NEI4XFx1ODRDMFxcdTg0RDNcXHU4NDkwXFx1ODRCQ1xcdTg0RDFcXHU4NENBXFx1ODczRlxcdTg3MUNcXHU4NzNCXFx1ODcyMlxcdTg3MjVcXHU4NzM0XFx1ODcxOFxcdTg3NTVcXHU4NzM3XFx1ODcyOVxcdTg4RjNcXHU4OTAyXFx1ODhGNFxcdTg4RjlcXHU4OEY4XFx1ODhGRFxcdTg4RThcXHU4OTFBXFx1ODhFRlxcdThBQTZcXHU4QThDXFx1OEE5RVxcdThBQTNcXHU4QThEXFx1OEFBMVxcdThBOTNcXHU4QUE0XCJdLFxuICAgICAgW1wiYmJhMVwiLCBcIlxcdThBQUFcXHU4QUE1XFx1OEFBOFxcdThBOThcXHU4QTkxXFx1OEE5QVxcdThBQTdcXHU4QzZBXFx1OEM4RFxcdThDOENcXHU4Q0QzXFx1OENEMVxcdThDRDJcXHU4RDZCXFx1OEQ5OVxcdThEOTVcXHU4REZDXFx1OEYxNFxcdThGMTJcXHU4RjE1XFx1OEYxM1xcdThGQTNcXHU5MDYwXFx1OTA1OFxcdTkwNUNcXHU5MDYzXFx1OTA1OVxcdTkwNUVcXHU5MDYyXFx1OTA1RFxcdTkwNUJcXHU5MTE5XFx1OTExOFxcdTkxMUVcXHU5MTc1XFx1OTE3OFxcdTkxNzdcXHU5MTc0XFx1OTI3OFxcdTkyODBcXHU5Mjg1XFx1OTI5OFxcdTkyOTZcXHU5MjdCXFx1OTI5M1xcdTkyOUNcXHU5MkE4XFx1OTI3Q1xcdTkyOTFcXHU5NUExXFx1OTVBOFxcdTk1QTlcXHU5NUEzXFx1OTVBNVxcdTk1QTRcXHU5Njk5XFx1OTY5Q1xcdTk2OUJcXHU5NkNDXFx1OTZEMlxcdTk3MDBcXHU5NzdDXFx1OTc4NVxcdTk3RjZcXHU5ODE3XFx1OTgxOFxcdTk4QUZcXHU5OEIxXFx1OTkwM1xcdTk5MDVcXHU5OTBDXFx1OTkwOVxcdTk5QzFcXHU5QUFGXFx1OUFCMFxcdTlBRTZcXHU5QjQxXFx1OUI0MlxcdTlDRjRcXHU5Q0Y2XFx1OUNGM1xcdTlFQkNcXHU5RjNCXFx1OUY0QVxcdTUxMDRcXHU1MTAwXFx1NTBGQlxcdTUwRjVcXHU1MEY5XFx1NTEwMlxcdTUxMDhcXHU1MTA5XFx1NTEwNVxcdTUxRENcIl0sXG4gICAgICBbXCJiYzQwXCIsIFwiXFx1NTI4N1xcdTUyODhcXHU1Mjg5XFx1NTI4RFxcdTUyOEFcXHU1MkYwXFx1NTNCMlxcdTU2MkVcXHU1NjNCXFx1NTYzOVxcdTU2MzJcXHU1NjNGXFx1NTYzNFxcdTU2MjlcXHU1NjUzXFx1NTY0RVxcdTU2NTdcXHU1Njc0XFx1NTYzNlxcdTU2MkZcXHU1NjMwXFx1NTg4MFxcdTU4OUZcXHU1ODlFXFx1NThCM1xcdTU4OUNcXHU1OEFFXFx1NThBOVxcdTU4QTZcXHU1OTZEXFx1NUIwOVxcdTVBRkJcXHU1QjBCXFx1NUFGNVxcdTVCMENcXHU1QjA4XFx1NUJFRVxcdTVCRUNcXHU1QkU5XFx1NUJFQlxcdTVDNjRcXHU1QzY1XFx1NUQ5RFxcdTVEOTRcXHU1RTYyXFx1NUU1RlxcdTVFNjFcXHU1RUUyXFx1NUVEQVxcdTVFREZcXHU1RUREXFx1NUVFM1xcdTVFRTBcXHU1RjQ4XFx1NUY3MVxcdTVGQjdcXHU1RkI1XFx1NjE3NlxcdTYxNjdcXHU2MTZFXFx1NjE1RFxcdTYxNTVcXHU2MTgyXCJdLFxuICAgICAgW1wiYmNhMVwiLCBcIlxcdTYxN0NcXHU2MTcwXFx1NjE2QlxcdTYxN0VcXHU2MUE3XFx1NjE5MFxcdTYxQUJcXHU2MThFXFx1NjFBQ1xcdTYxOUFcXHU2MUE0XFx1NjE5NFxcdTYxQUVcXHU2MjJFXFx1NjQ2OVxcdTY0NkZcXHU2NDc5XFx1NjQ5RVxcdTY0QjJcXHU2NDg4XFx1NjQ5MFxcdTY0QjBcXHU2NEE1XFx1NjQ5M1xcdTY0OTVcXHU2NEE5XFx1NjQ5MlxcdTY0QUVcXHU2NEFEXFx1NjRBQlxcdTY0OUFcXHU2NEFDXFx1NjQ5OVxcdTY0QTJcXHU2NEIzXFx1NjU3NVxcdTY1NzdcXHU2NTc4XFx1NjZBRVxcdTY2QUJcXHU2NkI0XFx1NjZCMVxcdTZBMjNcXHU2QTFGXFx1NjlFOFxcdTZBMDFcXHU2QTFFXFx1NkExOVxcdTY5RkRcXHU2QTIxXFx1NkExM1xcdTZBMEFcXHU2OUYzXFx1NkEwMlxcdTZBMDVcXHU2OUVEXFx1NkExMVxcdTZCNTBcXHU2QjRFXFx1NkJBNFxcdTZCQzVcXHU2QkM2XFx1NkYzRlxcdTZGN0NcXHU2Rjg0XFx1NkY1MVxcdTZGNjZcXHU2RjU0XFx1NkY4NlxcdTZGNkRcXHU2RjVCXFx1NkY3OFxcdTZGNkVcXHU2RjhFXFx1NkY3QVxcdTZGNzBcXHU2RjY0XFx1NkY5N1xcdTZGNThcXHU2RUQ1XFx1NkY2RlxcdTZGNjBcXHU2RjVGXFx1NzE5RlxcdTcxQUNcXHU3MUIxXFx1NzFBOFxcdTcyNTZcXHU3MjlCXFx1NzM0RVxcdTczNTdcXHU3NDY5XFx1NzQ4QlxcdTc0ODNcIl0sXG4gICAgICBbXCJiZDQwXCIsIFwiXFx1NzQ3RVxcdTc0ODBcXHU3NTdGXFx1NzYyMFxcdTc2MjlcXHU3NjFGXFx1NzYyNFxcdTc2MjZcXHU3NjIxXFx1NzYyMlxcdTc2OUFcXHU3NkJBXFx1NzZFNFxcdTc3OEVcXHU3Nzg3XFx1Nzc4Q1xcdTc3OTFcXHU3NzhCXFx1NzhDQlxcdTc4QzVcXHU3OEJBXFx1NzhDQVxcdTc4QkVcXHU3OEQ1XFx1NzhCQ1xcdTc4RDBcXHU3QTNGXFx1N0EzQ1xcdTdBNDBcXHU3QTNEXFx1N0EzN1xcdTdBM0JcXHU3QUFGXFx1N0FBRVxcdTdCQURcXHU3QkIxXFx1N0JDNFxcdTdCQjRcXHU3QkM2XFx1N0JDN1xcdTdCQzFcXHU3QkEwXFx1N0JDQ1xcdTdDQ0FcXHU3REUwXFx1N0RGNFxcdTdERUZcXHU3REZCXFx1N0REOFxcdTdERUNcXHU3REREXFx1N0RFOFxcdTdERTNcXHU3RERBXFx1N0RERVxcdTdERTlcXHU3RDlFXFx1N0REOVxcdTdERjJcXHU3REY5XFx1N0Y3NVxcdTdGNzdcXHU3RkFGXCJdLFxuICAgICAgW1wiYmRhMVwiLCBcIlxcdTdGRTlcXHU4MDI2XFx1ODE5QlxcdTgxOUNcXHU4MTlEXFx1ODFBMFxcdTgxOUFcXHU4MTk4XFx1ODUxN1xcdTg1M0RcXHU4NTFBXFx1ODRFRVxcdTg1MkNcXHU4NTJEXFx1ODUxM1xcdTg1MTFcXHU4NTIzXFx1ODUyMVxcdTg1MTRcXHU4NEVDXFx1ODUyNVxcdTg0RkZcXHU4NTA2XFx1ODc4MlxcdTg3NzRcXHU4Nzc2XFx1ODc2MFxcdTg3NjZcXHU4Nzc4XFx1ODc2OFxcdTg3NTlcXHU4NzU3XFx1ODc0Q1xcdTg3NTNcXHU4ODVCXFx1ODg1RFxcdTg5MTBcXHU4OTA3XFx1ODkxMlxcdTg5MTNcXHU4OTE1XFx1ODkwQVxcdThBQkNcXHU4QUQyXFx1OEFDN1xcdThBQzRcXHU4QTk1XFx1OEFDQlxcdThBRjhcXHU4QUIyXFx1OEFDOVxcdThBQzJcXHU4QUJGXFx1OEFCMFxcdThBRDZcXHU4QUNEXFx1OEFCNlxcdThBQjlcXHU4QURCXFx1OEM0Q1xcdThDNEVcXHU4QzZDXFx1OENFMFxcdThDREVcXHU4Q0U2XFx1OENFNFxcdThDRUNcXHU4Q0VEXFx1OENFMlxcdThDRTNcXHU4Q0RDXFx1OENFQVxcdThDRTFcXHU4RDZEXFx1OEQ5RlxcdThEQTNcXHU4RTJCXFx1OEUxMFxcdThFMURcXHU4RTIyXFx1OEUwRlxcdThFMjlcXHU4RTFGXFx1OEUyMVxcdThFMUVcXHU4RUJBXFx1OEYxRFxcdThGMUJcXHU4RjFGXFx1OEYyOVxcdThGMjZcXHU4RjJBXFx1OEYxQ1xcdThGMUVcIl0sXG4gICAgICBbXCJiZTQwXCIsIFwiXFx1OEYyNVxcdTkwNjlcXHU5MDZFXFx1OTA2OFxcdTkwNkRcXHU5MDc3XFx1OTEzMFxcdTkxMkRcXHU5MTI3XFx1OTEzMVxcdTkxODdcXHU5MTg5XFx1OTE4QlxcdTkxODNcXHU5MkM1XFx1OTJCQlxcdTkyQjdcXHU5MkVBXFx1OTJBQ1xcdTkyRTRcXHU5MkMxXFx1OTJCM1xcdTkyQkNcXHU5MkQyXFx1OTJDN1xcdTkyRjBcXHU5MkIyXFx1OTVBRFxcdTk1QjFcXHU5NzA0XFx1OTcwNlxcdTk3MDdcXHU5NzA5XFx1OTc2MFxcdTk3OERcXHU5NzhCXFx1OTc4RlxcdTk4MjFcXHU5ODJCXFx1OTgxQ1xcdTk4QjNcXHU5OTBBXFx1OTkxM1xcdTk5MTJcXHU5OTE4XFx1OTlERFxcdTk5RDBcXHU5OURGXFx1OTlEQlxcdTk5RDFcXHU5OUQ1XFx1OTlEMlxcdTk5RDlcXHU5QUI3XFx1OUFFRVxcdTlBRUZcXHU5QjI3XFx1OUI0NVxcdTlCNDRcXHU5Qjc3XFx1OUI2RlxcdTlEMDZcXHU5RDA5XCJdLFxuICAgICAgW1wiYmVhMVwiLCBcIlxcdTlEMDNcXHU5RUE5XFx1OUVCRVxcdTlFQ0VcXHU1OEE4XFx1OUY1MlxcdTUxMTJcXHU1MTE4XFx1NTExNFxcdTUxMTBcXHU1MTE1XFx1NTE4MFxcdTUxQUFcXHU1MUREXFx1NTI5MVxcdTUyOTNcXHU1MkYzXFx1NTY1OVxcdTU2NkJcXHU1Njc5XFx1NTY2OVxcdTU2NjRcXHU1Njc4XFx1NTY2QVxcdTU2NjhcXHU1NjY1XFx1NTY3MVxcdTU2NkZcXHU1NjZDXFx1NTY2MlxcdTU2NzZcXHU1OEMxXFx1NThCRVxcdTU4QzdcXHU1OEM1XFx1NTk2RVxcdTVCMURcXHU1QjM0XFx1NUI3OFxcdTVCRjBcXHU1QzBFXFx1NUY0QVxcdTYxQjJcXHU2MTkxXFx1NjFBOVxcdTYxOEFcXHU2MUNEXFx1NjFCNlxcdTYxQkVcXHU2MUNBXFx1NjFDOFxcdTYyMzBcXHU2NEM1XFx1NjRDMVxcdTY0Q0JcXHU2NEJCXFx1NjRCQ1xcdTY0REFcXHU2NEM0XFx1NjRDN1xcdTY0QzJcXHU2NENEXFx1NjRCRlxcdTY0RDJcXHU2NEQ0XFx1NjRCRVxcdTY1NzRcXHU2NkM2XFx1NjZDOVxcdTY2QjlcXHU2NkM0XFx1NjZDN1xcdTY2QjhcXHU2QTNEXFx1NkEzOFxcdTZBM0FcXHU2QTU5XFx1NkE2QlxcdTZBNThcXHU2QTM5XFx1NkE0NFxcdTZBNjJcXHU2QTYxXFx1NkE0QlxcdTZBNDdcXHU2QTM1XFx1NkE1RlxcdTZBNDhcXHU2QjU5XFx1NkI3N1xcdTZDMDVcXHU2RkMyXFx1NkZCMVxcdTZGQTFcIl0sXG4gICAgICBbXCJiZjQwXCIsIFwiXFx1NkZDM1xcdTZGQTRcXHU2RkMxXFx1NkZBN1xcdTZGQjNcXHU2RkMwXFx1NkZCOVxcdTZGQjZcXHU2RkE2XFx1NkZBMFxcdTZGQjRcXHU3MUJFXFx1NzFDOVxcdTcxRDBcXHU3MUQyXFx1NzFDOFxcdTcxRDVcXHU3MUI5XFx1NzFDRVxcdTcxRDlcXHU3MURDXFx1NzFDM1xcdTcxQzRcXHU3MzY4XFx1NzQ5Q1xcdTc0QTNcXHU3NDk4XFx1NzQ5RlxcdTc0OUVcXHU3NEUyXFx1NzUwQ1xcdTc1MERcXHU3NjM0XFx1NzYzOFxcdTc2M0FcXHU3NkU3XFx1NzZFNVxcdTc3QTBcXHU3NzlFXFx1Nzc5RlxcdTc3QTVcXHU3OEU4XFx1NzhEQVxcdTc4RUNcXHU3OEU3XFx1NzlBNlxcdTdBNERcXHU3QTRFXFx1N0E0NlxcdTdBNENcXHU3QTRCXFx1N0FCQVxcdTdCRDlcXHU3QzExXFx1N0JDOVxcdTdCRTRcXHU3QkRCXFx1N0JFMVxcdTdCRTlcXHU3QkU2XFx1N0NENVxcdTdDRDZcXHU3RTBBXCJdLFxuICAgICAgW1wiYmZhMVwiLCBcIlxcdTdFMTFcXHU3RTA4XFx1N0UxQlxcdTdFMjNcXHU3RTFFXFx1N0UxRFxcdTdFMDlcXHU3RTEwXFx1N0Y3OVxcdTdGQjJcXHU3RkYwXFx1N0ZGMVxcdTdGRUVcXHU4MDI4XFx1ODFCM1xcdTgxQTlcXHU4MUE4XFx1ODFGQlxcdTgyMDhcXHU4MjU4XFx1ODI1OVxcdTg1NEFcXHU4NTU5XFx1ODU0OFxcdTg1NjhcXHU4NTY5XFx1ODU0M1xcdTg1NDlcXHU4NTZEXFx1ODU2QVxcdTg1NUVcXHU4NzgzXFx1ODc5RlxcdTg3OUVcXHU4N0EyXFx1ODc4RFxcdTg4NjFcXHU4OTJBXFx1ODkzMlxcdTg5MjVcXHU4OTJCXFx1ODkyMVxcdTg5QUFcXHU4OUE2XFx1OEFFNlxcdThBRkFcXHU4QUVCXFx1OEFGMVxcdThCMDBcXHU4QURDXFx1OEFFN1xcdThBRUVcXHU4QUZFXFx1OEIwMVxcdThCMDJcXHU4QUY3XFx1OEFFRFxcdThBRjNcXHU4QUY2XFx1OEFGQ1xcdThDNkJcXHU4QzZEXFx1OEM5M1xcdThDRjRcXHU4RTQ0XFx1OEUzMVxcdThFMzRcXHU4RTQyXFx1OEUzOVxcdThFMzVcXHU4RjNCXFx1OEYyRlxcdThGMzhcXHU4RjMzXFx1OEZBOFxcdThGQTZcXHU5MDc1XFx1OTA3NFxcdTkwNzhcXHU5MDcyXFx1OTA3Q1xcdTkwN0FcXHU5MTM0XFx1OTE5MlxcdTkzMjBcXHU5MzM2XFx1OTJGOFxcdTkzMzNcXHU5MzJGXFx1OTMyMlxcdTkyRkNcXHU5MzJCXFx1OTMwNFxcdTkzMUFcIl0sXG4gICAgICBbXCJjMDQwXCIsIFwiXFx1OTMxMFxcdTkzMjZcXHU5MzIxXFx1OTMxNVxcdTkzMkVcXHU5MzE5XFx1OTVCQlxcdTk2QTdcXHU5NkE4XFx1OTZBQVxcdTk2RDVcXHU5NzBFXFx1OTcxMVxcdTk3MTZcXHU5NzBEXFx1OTcxM1xcdTk3MEZcXHU5NzVCXFx1OTc1Q1xcdTk3NjZcXHU5Nzk4XFx1OTgzMFxcdTk4MzhcXHU5ODNCXFx1OTgzN1xcdTk4MkRcXHU5ODM5XFx1OTgyNFxcdTk5MTBcXHU5OTI4XFx1OTkxRVxcdTk5MUJcXHU5OTIxXFx1OTkxQVxcdTk5RURcXHU5OUUyXFx1OTlGMVxcdTlBQjhcXHU5QUJDXFx1OUFGQlxcdTlBRURcXHU5QjI4XFx1OUI5MVxcdTlEMTVcXHU5RDIzXFx1OUQyNlxcdTlEMjhcXHU5RDEyXFx1OUQxQlxcdTlFRDhcXHU5RUQ0XFx1OUY4RFxcdTlGOUNcXHU1MTJBXFx1NTExRlxcdTUxMjFcXHU1MTMyXFx1NTJGNVxcdTU2OEVcXHU1NjgwXFx1NTY5MFxcdTU2ODVcXHU1Njg3XCJdLFxuICAgICAgW1wiYzBhMVwiLCBcIlxcdTU2OEZcXHU1OEQ1XFx1NThEM1xcdTU4RDFcXHU1OENFXFx1NUIzMFxcdTVCMkFcXHU1QjI0XFx1NUI3QVxcdTVDMzdcXHU1QzY4XFx1NURCQ1xcdTVEQkFcXHU1REJEXFx1NURCOFxcdTVFNkJcXHU1RjRDXFx1NUZCRFxcdTYxQzlcXHU2MUMyXFx1NjFDN1xcdTYxRTZcXHU2MUNCXFx1NjIzMlxcdTYyMzRcXHU2NENFXFx1NjRDQVxcdTY0RDhcXHU2NEUwXFx1NjRGMFxcdTY0RTZcXHU2NEVDXFx1NjRGMVxcdTY0RTJcXHU2NEVEXFx1NjU4MlxcdTY1ODNcXHU2NkQ5XFx1NjZENlxcdTZBODBcXHU2QTk0XFx1NkE4NFxcdTZBQTJcXHU2QTlDXFx1NkFEQlxcdTZBQTNcXHU2QTdFXFx1NkE5N1xcdTZBOTBcXHU2QUEwXFx1NkI1Q1xcdTZCQUVcXHU2QkRBXFx1NkMwOFxcdTZGRDhcXHU2RkYxXFx1NkZERlxcdTZGRTBcXHU2RkRCXFx1NkZFNFxcdTZGRUJcXHU2RkVGXFx1NkY4MFxcdTZGRUNcXHU2RkUxXFx1NkZFOVxcdTZGRDVcXHU2RkVFXFx1NkZGMFxcdTcxRTdcXHU3MURGXFx1NzFFRVxcdTcxRTZcXHU3MUU1XFx1NzFFRFxcdTcxRUNcXHU3MUY0XFx1NzFFMFxcdTcyMzVcXHU3MjQ2XFx1NzM3MFxcdTczNzJcXHU3NEE5XFx1NzRCMFxcdTc0QTZcXHU3NEE4XFx1NzY0NlxcdTc2NDJcXHU3NjRDXFx1NzZFQVxcdTc3QjNcXHU3N0FBXFx1NzdCMFxcdTc3QUNcIl0sXG4gICAgICBbXCJjMTQwXCIsIFwiXFx1NzdBN1xcdTc3QURcXHU3N0VGXFx1NzhGN1xcdTc4RkFcXHU3OEY0XFx1NzhFRlxcdTc5MDFcXHU3OUE3XFx1NzlBQVxcdTdBNTdcXHU3QUJGXFx1N0MwN1xcdTdDMERcXHU3QkZFXFx1N0JGN1xcdTdDMENcXHU3QkUwXFx1N0NFMFxcdTdDRENcXHU3Q0RFXFx1N0NFMlxcdTdDREZcXHU3Q0Q5XFx1N0NERFxcdTdFMkVcXHU3RTNFXFx1N0U0NlxcdTdFMzdcXHU3RTMyXFx1N0U0M1xcdTdFMkJcXHU3RTNEXFx1N0UzMVxcdTdFNDVcXHU3RTQxXFx1N0UzNFxcdTdFMzlcXHU3RTQ4XFx1N0UzNVxcdTdFM0ZcXHU3RTJGXFx1N0Y0NFxcdTdGRjNcXHU3RkZDXFx1ODA3MVxcdTgwNzJcXHU4MDcwXFx1ODA2RlxcdTgwNzNcXHU4MUM2XFx1ODFDM1xcdTgxQkFcXHU4MUMyXFx1ODFDMFxcdTgxQkZcXHU4MUJEXFx1ODFDOVxcdTgxQkVcXHU4MUU4XFx1ODIwOVxcdTgyNzFcXHU4NUFBXCJdLFxuICAgICAgW1wiYzFhMVwiLCBcIlxcdTg1ODRcXHU4NTdFXFx1ODU5Q1xcdTg1OTFcXHU4NTk0XFx1ODVBRlxcdTg1OUJcXHU4NTg3XFx1ODVBOFxcdTg1OEFcXHU4NjY3XFx1ODdDMFxcdTg3RDFcXHU4N0IzXFx1ODdEMlxcdTg3QzZcXHU4N0FCXFx1ODdCQlxcdTg3QkFcXHU4N0M4XFx1ODdDQlxcdTg5M0JcXHU4OTM2XFx1ODk0NFxcdTg5MzhcXHU4OTNEXFx1ODlBQ1xcdThCMEVcXHU4QjE3XFx1OEIxOVxcdThCMUJcXHU4QjBBXFx1OEIyMFxcdThCMURcXHU4QjA0XFx1OEIxMFxcdThDNDFcXHU4QzNGXFx1OEM3M1xcdThDRkFcXHU4Q0ZEXFx1OENGQ1xcdThDRjhcXHU4Q0ZCXFx1OERBOFxcdThFNDlcXHU4RTRCXFx1OEU0OFxcdThFNEFcXHU4RjQ0XFx1OEYzRVxcdThGNDJcXHU4RjQ1XFx1OEYzRlxcdTkwN0ZcXHU5MDdEXFx1OTA4NFxcdTkwODFcXHU5MDgyXFx1OTA4MFxcdTkxMzlcXHU5MUEzXFx1OTE5RVxcdTkxOUNcXHU5MzREXFx1OTM4MlxcdTkzMjhcXHU5Mzc1XFx1OTM0QVxcdTkzNjVcXHU5MzRCXFx1OTMxOFxcdTkzN0VcXHU5MzZDXFx1OTM1QlxcdTkzNzBcXHU5MzVBXFx1OTM1NFxcdTk1Q0FcXHU5NUNCXFx1OTVDQ1xcdTk1QzhcXHU5NUM2XFx1OTZCMVxcdTk2QjhcXHU5NkQ2XFx1OTcxQ1xcdTk3MUVcXHU5N0EwXFx1OTdEM1xcdTk4NDZcXHU5OEI2XFx1OTkzNVxcdTlBMDFcIl0sXG4gICAgICBbXCJjMjQwXCIsIFwiXFx1OTlGRlxcdTlCQUVcXHU5QkFCXFx1OUJBQVxcdTlCQURcXHU5RDNCXFx1OUQzRlxcdTlFOEJcXHU5RUNGXFx1OUVERVxcdTlFRENcXHU5RUREXFx1OUVEQlxcdTlGM0VcXHU5RjRCXFx1NTNFMlxcdTU2OTVcXHU1NkFFXFx1NThEOVxcdTU4RDhcXHU1QjM4XFx1NUY1RFxcdTYxRTNcXHU2MjMzXFx1NjRGNFxcdTY0RjJcXHU2NEZFXFx1NjUwNlxcdTY0RkFcXHU2NEZCXFx1NjRGN1xcdTY1QjdcXHU2NkRDXFx1NjcyNlxcdTZBQjNcXHU2QUFDXFx1NkFDM1xcdTZBQkJcXHU2QUI4XFx1NkFDMlxcdTZBQUVcXHU2QUFGXFx1NkI1RlxcdTZCNzhcXHU2QkFGXFx1NzAwOVxcdTcwMEJcXHU2RkZFXFx1NzAwNlxcdTZGRkFcXHU3MDExXFx1NzAwRlxcdTcxRkJcXHU3MUZDXFx1NzFGRVxcdTcxRjhcXHU3Mzc3XFx1NzM3NVxcdTc0QTdcXHU3NEJGXFx1NzUxNVxcdTc2NTZcXHU3NjU4XCJdLFxuICAgICAgW1wiYzJhMVwiLCBcIlxcdTc2NTJcXHU3N0JEXFx1NzdCRlxcdTc3QkJcXHU3N0JDXFx1NzkwRVxcdTc5QUVcXHU3QTYxXFx1N0E2MlxcdTdBNjBcXHU3QUM0XFx1N0FDNVxcdTdDMkJcXHU3QzI3XFx1N0MyQVxcdTdDMUVcXHU3QzIzXFx1N0MyMVxcdTdDRTdcXHU3RTU0XFx1N0U1NVxcdTdFNUVcXHU3RTVBXFx1N0U2MVxcdTdFNTJcXHU3RTU5XFx1N0Y0OFxcdTdGRjlcXHU3RkZCXFx1ODA3N1xcdTgwNzZcXHU4MUNEXFx1ODFDRlxcdTgyMEFcXHU4NUNGXFx1ODVBOVxcdTg1Q0RcXHU4NUQwXFx1ODVDOVxcdTg1QjBcXHU4NUJBXFx1ODVCOVxcdTg1QTZcXHU4N0VGXFx1ODdFQ1xcdTg3RjJcXHU4N0UwXFx1ODk4NlxcdTg5QjJcXHU4OUY0XFx1OEIyOFxcdThCMzlcXHU4QjJDXFx1OEIyQlxcdThDNTBcXHU4RDA1XFx1OEU1OVxcdThFNjNcXHU4RTY2XFx1OEU2NFxcdThFNUZcXHU4RTU1XFx1OEVDMFxcdThGNDlcXHU4RjREXFx1OTA4N1xcdTkwODNcXHU5MDg4XFx1OTFBQlxcdTkxQUNcXHU5MUQwXFx1OTM5NFxcdTkzOEFcXHU5Mzk2XFx1OTNBMlxcdTkzQjNcXHU5M0FFXFx1OTNBQ1xcdTkzQjBcXHU5Mzk4XFx1OTM5QVxcdTkzOTdcXHU5NUQ0XFx1OTVENlxcdTk1RDBcXHU5NUQ1XFx1OTZFMlxcdTk2RENcXHU5NkQ5XFx1OTZEQlxcdTk2REVcXHU5NzI0XFx1OTdBM1xcdTk3QTZcIl0sXG4gICAgICBbXCJjMzQwXCIsIFwiXFx1OTdBRFxcdTk3RjlcXHU5ODREXFx1OTg0RlxcdTk4NENcXHU5ODRFXFx1OTg1M1xcdTk4QkFcXHU5OTNFXFx1OTkzRlxcdTk5M0RcXHU5OTJFXFx1OTlBNVxcdTlBMEVcXHU5QUMxXFx1OUIwM1xcdTlCMDZcXHU5QjRGXFx1OUI0RVxcdTlCNERcXHU5QkNBXFx1OUJDOVxcdTlCRkRcXHU5QkM4XFx1OUJDMFxcdTlENTFcXHU5RDVEXFx1OUQ2MFxcdTlFRTBcXHU5RjE1XFx1OUYyQ1xcdTUxMzNcXHU1NkE1XFx1NThERVxcdTU4REZcXHU1OEUyXFx1NUJGNVxcdTlGOTBcXHU1RUVDXFx1NjFGMlxcdTYxRjdcXHU2MUY2XFx1NjFGNVxcdTY1MDBcXHU2NTBGXFx1NjZFMFxcdTY2RERcXHU2QUU1XFx1NkFERFxcdTZBREFcXHU2QUQzXFx1NzAxQlxcdTcwMUZcXHU3MDI4XFx1NzAxQVxcdTcwMURcXHU3MDE1XFx1NzAxOFxcdTcyMDZcXHU3MjBEXFx1NzI1OFxcdTcyQTJcXHU3Mzc4XCJdLFxuICAgICAgW1wiYzNhMVwiLCBcIlxcdTczN0FcXHU3NEJEXFx1NzRDQVxcdTc0RTNcXHU3NTg3XFx1NzU4NlxcdTc2NUZcXHU3NjYxXFx1NzdDN1xcdTc5MTlcXHU3OUIxXFx1N0E2QlxcdTdBNjlcXHU3QzNFXFx1N0MzRlxcdTdDMzhcXHU3QzNEXFx1N0MzN1xcdTdDNDBcXHU3RTZCXFx1N0U2RFxcdTdFNzlcXHU3RTY5XFx1N0U2QVxcdTdGODVcXHU3RTczXFx1N0ZCNlxcdTdGQjlcXHU3RkI4XFx1ODFEOFxcdTg1RTlcXHU4NUREXFx1ODVFQVxcdTg1RDVcXHU4NUU0XFx1ODVFNVxcdTg1RjdcXHU4N0ZCXFx1ODgwNVxcdTg4MERcXHU4N0Y5XFx1ODdGRVxcdTg5NjBcXHU4OTVGXFx1ODk1NlxcdTg5NUVcXHU4QjQxXFx1OEI1Q1xcdThCNThcXHU4QjQ5XFx1OEI1QVxcdThCNEVcXHU4QjRGXFx1OEI0NlxcdThCNTlcXHU4RDA4XFx1OEQwQVxcdThFN0NcXHU4RTcyXFx1OEU4N1xcdThFNzZcXHU4RTZDXFx1OEU3QVxcdThFNzRcXHU4RjU0XFx1OEY0RVxcdThGQURcXHU5MDhBXFx1OTA4QlxcdTkxQjFcXHU5MUFFXFx1OTNFMVxcdTkzRDFcXHU5M0RGXFx1OTNDM1xcdTkzQzhcXHU5M0RDXFx1OTNERFxcdTkzRDZcXHU5M0UyXFx1OTNDRFxcdTkzRDhcXHU5M0U0XFx1OTNEN1xcdTkzRThcXHU5NURDXFx1OTZCNFxcdTk2RTNcXHU5NzJBXFx1OTcyN1xcdTk3NjFcXHU5N0RDXFx1OTdGQlxcdTk4NUVcIl0sXG4gICAgICBbXCJjNDQwXCIsIFwiXFx1OTg1OFxcdTk4NUJcXHU5OEJDXFx1OTk0NVxcdTk5NDlcXHU5QTE2XFx1OUExOVxcdTlCMERcXHU5QkU4XFx1OUJFN1xcdTlCRDZcXHU5QkRCXFx1OUQ4OVxcdTlENjFcXHU5RDcyXFx1OUQ2QVxcdTlENkNcXHU5RTkyXFx1OUU5N1xcdTlFOTNcXHU5RUI0XFx1NTJGOFxcdTU2QThcXHU1NkI3XFx1NTZCNlxcdTU2QjRcXHU1NkJDXFx1NThFNFxcdTVCNDBcXHU1QjQzXFx1NUI3RFxcdTVCRjZcXHU1REM5XFx1NjFGOFxcdTYxRkFcXHU2NTE4XFx1NjUxNFxcdTY1MTlcXHU2NkU2XFx1NjcyN1xcdTZBRUNcXHU3MDNFXFx1NzAzMFxcdTcwMzJcXHU3MjEwXFx1NzM3QlxcdTc0Q0ZcXHU3NjYyXFx1NzY2NVxcdTc5MjZcXHU3OTJBXFx1NzkyQ1xcdTc5MkJcXHU3QUM3XFx1N0FGNlxcdTdDNENcXHU3QzQzXFx1N0M0RFxcdTdDRUZcXHU3Q0YwXFx1OEZBRVxcdTdFN0RcXHU3RTdDXCJdLFxuICAgICAgW1wiYzRhMVwiLCBcIlxcdTdFODJcXHU3RjRDXFx1ODAwMFxcdTgxREFcXHU4MjY2XFx1ODVGQlxcdTg1RjlcXHU4NjExXFx1ODVGQVxcdTg2MDZcXHU4NjBCXFx1ODYwN1xcdTg2MEFcXHU4ODE0XFx1ODgxNVxcdTg5NjRcXHU4OUJBXFx1ODlGOFxcdThCNzBcXHU4QjZDXFx1OEI2NlxcdThCNkZcXHU4QjVGXFx1OEI2QlxcdThEMEZcXHU4RDBEXFx1OEU4OVxcdThFODFcXHU4RTg1XFx1OEU4MlxcdTkxQjRcXHU5MUNCXFx1OTQxOFxcdTk0MDNcXHU5M0ZEXFx1OTVFMVxcdTk3MzBcXHU5OEM0XFx1OTk1MlxcdTk5NTFcXHU5OUE4XFx1OUEyQlxcdTlBMzBcXHU5QTM3XFx1OUEzNVxcdTlDMTNcXHU5QzBEXFx1OUU3OVxcdTlFQjVcXHU5RUU4XFx1OUYyRlxcdTlGNUZcXHU5RjYzXFx1OUY2MVxcdTUxMzdcXHU1MTM4XFx1NTZDMVxcdTU2QzBcXHU1NkMyXFx1NTkxNFxcdTVDNkNcXHU1RENEXFx1NjFGQ1xcdTYxRkVcXHU2NTFEXFx1NjUxQ1xcdTY1OTVcXHU2NkU5XFx1NkFGQlxcdTZCMDRcXHU2QUZBXFx1NkJCMlxcdTcwNENcXHU3MjFCXFx1NzJBN1xcdTc0RDZcXHU3NEQ0XFx1NzY2OVxcdTc3RDNcXHU3QzUwXFx1N0U4RlxcdTdFOENcXHU3RkJDXFx1ODYxN1xcdTg2MkRcXHU4NjFBXFx1ODgyM1xcdTg4MjJcXHU4ODIxXFx1ODgxRlxcdTg5NkFcXHU4OTZDXFx1ODlCRFxcdThCNzRcIl0sXG4gICAgICBbXCJjNTQwXCIsIFwiXFx1OEI3N1xcdThCN0RcXHU4RDEzXFx1OEU4QVxcdThFOERcXHU4RThCXFx1OEY1RlxcdThGQUZcXHU5MUJBXFx1OTQyRVxcdTk0MzNcXHU5NDM1XFx1OTQzQVxcdTk0MzhcXHU5NDMyXFx1OTQyQlxcdTk1RTJcXHU5NzM4XFx1OTczOVxcdTk3MzJcXHU5N0ZGXFx1OTg2N1xcdTk4NjVcXHU5OTU3XFx1OUE0NVxcdTlBNDNcXHU5QTQwXFx1OUEzRVxcdTlBQ0ZcXHU5QjU0XFx1OUI1MVxcdTlDMkRcXHU5QzI1XFx1OURBRlxcdTlEQjRcXHU5REMyXFx1OURCOFxcdTlFOURcXHU5RUVGXFx1OUYxOVxcdTlGNUNcXHU5RjY2XFx1OUY2N1xcdTUxM0NcXHU1MTNCXFx1NTZDOFxcdTU2Q0FcXHU1NkM5XFx1NUI3RlxcdTVERDRcXHU1REQyXFx1NUY0RVxcdTYxRkZcXHU2NTI0XFx1NkIwQVxcdTZCNjFcXHU3MDUxXFx1NzA1OFxcdTczODBcXHU3NEU0XFx1NzU4QVxcdTc2NkVcXHU3NjZDXCJdLFxuICAgICAgW1wiYzVhMVwiLCBcIlxcdTc5QjNcXHU3QzYwXFx1N0M1RlxcdTgwN0VcXHU4MDdEXFx1ODFERlxcdTg5NzJcXHU4OTZGXFx1ODlGQ1xcdThCODBcXHU4RDE2XFx1OEQxN1xcdThFOTFcXHU4RTkzXFx1OEY2MVxcdTkxNDhcXHU5NDQ0XFx1OTQ1MVxcdTk0NTJcXHU5NzNEXFx1OTczRVxcdTk3QzNcXHU5N0MxXFx1OTg2QlxcdTk5NTVcXHU5QTU1XFx1OUE0RFxcdTlBRDJcXHU5QjFBXFx1OUM0OVxcdTlDMzFcXHU5QzNFXFx1OUMzQlxcdTlERDNcXHU5REQ3XFx1OUYzNFxcdTlGNkNcXHU5RjZBXFx1OUY5NFxcdTU2Q0NcXHU1REQ2XFx1NjIwMFxcdTY1MjNcXHU2NTJCXFx1NjUyQVxcdTY2RUNcXHU2QjEwXFx1NzREQVxcdTdBQ0FcXHU3QzY0XFx1N0M2M1xcdTdDNjVcXHU3RTkzXFx1N0U5NlxcdTdFOTRcXHU4MUUyXFx1ODYzOFxcdTg2M0ZcXHU4ODMxXFx1OEI4QVxcdTkwOTBcXHU5MDhGXFx1OTQ2M1xcdTk0NjBcXHU5NDY0XFx1OTc2OFxcdTk4NkZcXHU5OTVDXFx1OUE1QVxcdTlBNUJcXHU5QTU3XFx1OUFEM1xcdTlBRDRcXHU5QUQxXFx1OUM1NFxcdTlDNTdcXHU5QzU2XFx1OURFNVxcdTlFOUZcXHU5RUY0XFx1NTZEMVxcdTU4RTlcXHU2NTJDXFx1NzA1RVxcdTc2NzFcXHU3NjcyXFx1NzdEN1xcdTdGNTBcXHU3Rjg4XFx1ODgzNlxcdTg4MzlcXHU4ODYyXFx1OEI5M1xcdThCOTJcIl0sXG4gICAgICBbXCJjNjQwXCIsIFwiXFx1OEI5NlxcdTgyNzdcXHU4RDFCXFx1OTFDMFxcdTk0NkFcXHU5NzQyXFx1OTc0OFxcdTk3NDRcXHU5N0M2XFx1OTg3MFxcdTlBNUZcXHU5QjIyXFx1OUI1OFxcdTlDNUZcXHU5REY5XFx1OURGQVxcdTlFN0NcXHU5RTdEXFx1OUYwN1xcdTlGNzdcXHU5RjcyXFx1NUVGM1xcdTZCMTZcXHU3MDYzXFx1N0M2Q1xcdTdDNkVcXHU4ODNCXFx1ODlDMFxcdThFQTFcXHU5MUMxXFx1OTQ3MlxcdTk0NzBcXHU5ODcxXFx1OTk1RVxcdTlBRDZcXHU5QjIzXFx1OUVDQ1xcdTcwNjRcXHU3N0RBXFx1OEI5QVxcdTk0NzdcXHU5N0M5XFx1OUE2MlxcdTlBNjVcXHU3RTlDXFx1OEI5Q1xcdThFQUFcXHU5MUM1XFx1OTQ3RFxcdTk0N0VcXHU5NDdDXFx1OUM3N1xcdTlDNzhcXHU5RUY3XFx1OEM1NFxcdTk0N0ZcXHU5RTFBXFx1NzIyOFxcdTlBNkFcXHU5QjMxXFx1OUUxQlxcdTlFMUVcXHU3QzcyXCJdLFxuICAgICAgW1wiYzk0MFwiLCBcIlxcdTRFNDJcXHU0RTVDXFx1NTFGNVxcdTUzMUFcXHU1MzgyXFx1NEUwN1xcdTRFMENcXHU0RTQ3XFx1NEU4RFxcdTU2RDdcXHVGQTBDXFx1NUM2RVxcdTVGNzNcXHU0RTBGXFx1NTE4N1xcdTRFMEVcXHU0RTJFXFx1NEU5M1xcdTRFQzJcXHU0RUM5XFx1NEVDOFxcdTUxOThcXHU1MkZDXFx1NTM2Q1xcdTUzQjlcXHU1NzIwXFx1NTkwM1xcdTU5MkNcXHU1QzEwXFx1NURGRlxcdTY1RTFcXHU2QkIzXFx1NkJDQ1xcdTZDMTRcXHU3MjNGXFx1NEUzMVxcdTRFM0NcXHU0RUU4XFx1NEVEQ1xcdTRFRTlcXHU0RUUxXFx1NEVERFxcdTRFREFcXHU1MjBDXFx1NTMxQ1xcdTUzNENcXHU1NzIyXFx1NTcyM1xcdTU5MTdcXHU1OTJGXFx1NUI4MVxcdTVCODRcXHU1QzEyXFx1NUMzQlxcdTVDNzRcXHU1QzczXFx1NUUwNFxcdTVFODBcXHU1RTgyXFx1NUZDOVxcdTYyMDlcXHU2MjUwXFx1NkMxNVwiXSxcbiAgICAgIFtcImM5YTFcIiwgXCJcXHU2QzM2XFx1NkM0M1xcdTZDM0ZcXHU2QzNCXFx1NzJBRVxcdTcyQjBcXHU3MzhBXFx1NzlCOFxcdTgwOEFcXHU5NjFFXFx1NEYwRVxcdTRGMThcXHU0RjJDXFx1NEVGNVxcdTRGMTRcXHU0RUYxXFx1NEYwMFxcdTRFRjdcXHU0RjA4XFx1NEYxRFxcdTRGMDJcXHU0RjA1XFx1NEYyMlxcdTRGMTNcXHU0RjA0XFx1NEVGNFxcdTRGMTJcXHU1MUIxXFx1NTIxM1xcdTUyMDlcXHU1MjEwXFx1NTJBNlxcdTUzMjJcXHU1MzFGXFx1NTM0RFxcdTUzOEFcXHU1NDA3XFx1NTZFMVxcdTU2REZcXHU1NzJFXFx1NTcyQVxcdTU3MzRcXHU1OTNDXFx1NTk4MFxcdTU5N0NcXHU1OTg1XFx1NTk3QlxcdTU5N0VcXHU1OTc3XFx1NTk3RlxcdTVCNTZcXHU1QzE1XFx1NUMyNVxcdTVDN0NcXHU1QzdBXFx1NUM3QlxcdTVDN0VcXHU1RERGXFx1NUU3NVxcdTVFODRcXHU1RjAyXFx1NUYxQVxcdTVGNzRcXHU1RkQ1XFx1NUZENFxcdTVGQ0ZcXHU2MjVDXFx1NjI1RVxcdTYyNjRcXHU2MjYxXFx1NjI2NlxcdTYyNjJcXHU2MjU5XFx1NjI2MFxcdTYyNUFcXHU2MjY1XFx1NjVFRlxcdTY1RUVcXHU2NzNFXFx1NjczOVxcdTY3MzhcXHU2NzNCXFx1NjczQVxcdTY3M0ZcXHU2NzNDXFx1NjczM1xcdTZDMThcXHU2QzQ2XFx1NkM1MlxcdTZDNUNcXHU2QzRGXFx1NkM0QVxcdTZDNTRcXHU2QzRCXCJdLFxuICAgICAgW1wiY2E0MFwiLCBcIlxcdTZDNENcXHU3MDcxXFx1NzI1RVxcdTcyQjRcXHU3MkI1XFx1NzM4RVxcdTc1MkFcXHU3NjdGXFx1N0E3NVxcdTdGNTFcXHU4Mjc4XFx1ODI3Q1xcdTgyODBcXHU4MjdEXFx1ODI3RlxcdTg2NERcXHU4OTdFXFx1OTA5OVxcdTkwOTdcXHU5MDk4XFx1OTA5QlxcdTkwOTRcXHU5NjIyXFx1OTYyNFxcdTk2MjBcXHU5NjIzXFx1NEY1NlxcdTRGM0JcXHU0RjYyXFx1NEY0OVxcdTRGNTNcXHU0RjY0XFx1NEYzRVxcdTRGNjdcXHU0RjUyXFx1NEY1RlxcdTRGNDFcXHU0RjU4XFx1NEYyRFxcdTRGMzNcXHU0RjNGXFx1NEY2MVxcdTUxOEZcXHU1MUI5XFx1NTIxQ1xcdTUyMUVcXHU1MjIxXFx1NTJBRFxcdTUyQUVcXHU1MzA5XFx1NTM2M1xcdTUzNzJcXHU1MzhFXFx1NTM4RlxcdTU0MzBcXHU1NDM3XFx1NTQyQVxcdTU0NTRcXHU1NDQ1XFx1NTQxOVxcdTU0MUNcXHU1NDI1XFx1NTQxOFwiXSxcbiAgICAgIFtcImNhYTFcIiwgXCJcXHU1NDNEXFx1NTQ0RlxcdTU0NDFcXHU1NDI4XFx1NTQyNFxcdTU0NDdcXHU1NkVFXFx1NTZFN1xcdTU2RTVcXHU1NzQxXFx1NTc0NVxcdTU3NENcXHU1NzQ5XFx1NTc0QlxcdTU3NTJcXHU1OTA2XFx1NTk0MFxcdTU5QTZcXHU1OTk4XFx1NTlBMFxcdTU5OTdcXHU1OThFXFx1NTlBMlxcdTU5OTBcXHU1OThGXFx1NTlBN1xcdTU5QTFcXHU1QjhFXFx1NUI5MlxcdTVDMjhcXHU1QzJBXFx1NUM4RFxcdTVDOEZcXHU1Qzg4XFx1NUM4QlxcdTVDODlcXHU1QzkyXFx1NUM4QVxcdTVDODZcXHU1QzkzXFx1NUM5NVxcdTVERTBcXHU1RTBBXFx1NUUwRVxcdTVFOEJcXHU1RTg5XFx1NUU4Q1xcdTVFODhcXHU1RThEXFx1NUYwNVxcdTVGMURcXHU1Rjc4XFx1NUY3NlxcdTVGRDJcXHU1RkQxXFx1NUZEMFxcdTVGRURcXHU1RkU4XFx1NUZFRVxcdTVGRjNcXHU1RkUxXFx1NUZFNFxcdTVGRTNcXHU1RkZBXFx1NUZFRlxcdTVGRjdcXHU1RkZCXFx1NjAwMFxcdTVGRjRcXHU2MjNBXFx1NjI4M1xcdTYyOENcXHU2MjhFXFx1NjI4RlxcdTYyOTRcXHU2Mjg3XFx1NjI3MVxcdTYyN0JcXHU2MjdBXFx1NjI3MFxcdTYyODFcXHU2Mjg4XFx1NjI3N1xcdTYyN0RcXHU2MjcyXFx1NjI3NFxcdTY1MzdcXHU2NUYwXFx1NjVGNFxcdTY1RjNcXHU2NUYyXFx1NjVGNVxcdTY3NDVcXHU2NzQ3XCJdLFxuICAgICAgW1wiY2I0MFwiLCBcIlxcdTY3NTlcXHU2NzU1XFx1Njc0Q1xcdTY3NDhcXHU2NzVEXFx1Njc0RFxcdTY3NUFcXHU2NzRCXFx1NkJEMFxcdTZDMTlcXHU2QzFBXFx1NkM3OFxcdTZDNjdcXHU2QzZCXFx1NkM4NFxcdTZDOEJcXHU2QzhGXFx1NkM3MVxcdTZDNkZcXHU2QzY5XFx1NkM5QVxcdTZDNkRcXHU2Qzg3XFx1NkM5NVxcdTZDOUNcXHU2QzY2XFx1NkM3M1xcdTZDNjVcXHU2QzdCXFx1NkM4RVxcdTcwNzRcXHU3MDdBXFx1NzI2M1xcdTcyQkZcXHU3MkJEXFx1NzJDM1xcdTcyQzZcXHU3MkMxXFx1NzJCQVxcdTcyQzVcXHU3Mzk1XFx1NzM5N1xcdTczOTNcXHU3Mzk0XFx1NzM5MlxcdTc1M0FcXHU3NTM5XFx1NzU5NFxcdTc1OTVcXHU3NjgxXFx1NzkzRFxcdTgwMzRcXHU4MDk1XFx1ODA5OVxcdTgwOTBcXHU4MDkyXFx1ODA5Q1xcdTgyOTBcXHU4MjhGXFx1ODI4NVxcdTgyOEVcXHU4MjkxXFx1ODI5M1wiXSxcbiAgICAgIFtcImNiYTFcIiwgXCJcXHU4MjhBXFx1ODI4M1xcdTgyODRcXHU4Qzc4XFx1OEZDOVxcdThGQkZcXHU5MDlGXFx1OTBBMVxcdTkwQTVcXHU5MDlFXFx1OTBBN1xcdTkwQTBcXHU5NjMwXFx1OTYyOFxcdTk2MkZcXHU5NjJEXFx1NEUzM1xcdTRGOThcXHU0RjdDXFx1NEY4NVxcdTRGN0RcXHU0RjgwXFx1NEY4N1xcdTRGNzZcXHU0Rjc0XFx1NEY4OVxcdTRGODRcXHU0Rjc3XFx1NEY0Q1xcdTRGOTdcXHU0RjZBXFx1NEY5QVxcdTRGNzlcXHU0RjgxXFx1NEY3OFxcdTRGOTBcXHU0RjlDXFx1NEY5NFxcdTRGOUVcXHU0RjkyXFx1NEY4MlxcdTRGOTVcXHU0RjZCXFx1NEY2RVxcdTUxOUVcXHU1MUJDXFx1NTFCRVxcdTUyMzVcXHU1MjMyXFx1NTIzM1xcdTUyNDZcXHU1MjMxXFx1NTJCQ1xcdTUzMEFcXHU1MzBCXFx1NTMzQ1xcdTUzOTJcXHU1Mzk0XFx1NTQ4N1xcdTU0N0ZcXHU1NDgxXFx1NTQ5MVxcdTU0ODJcXHU1NDg4XFx1NTQ2QlxcdTU0N0FcXHU1NDdFXFx1NTQ2NVxcdTU0NkNcXHU1NDc0XFx1NTQ2NlxcdTU0OERcXHU1NDZGXFx1NTQ2MVxcdTU0NjBcXHU1NDk4XFx1NTQ2M1xcdTU0NjdcXHU1NDY0XFx1NTZGN1xcdTU2RjlcXHU1NzZGXFx1NTc3MlxcdTU3NkRcXHU1NzZCXFx1NTc3MVxcdTU3NzBcXHU1Nzc2XFx1NTc4MFxcdTU3NzVcXHU1NzdCXFx1NTc3M1xcdTU3NzRcXHU1NzYyXCJdLFxuICAgICAgW1wiY2M0MFwiLCBcIlxcdTU3NjhcXHU1NzdEXFx1NTkwQ1xcdTU5NDVcXHU1OUI1XFx1NTlCQVxcdTU5Q0ZcXHU1OUNFXFx1NTlCMlxcdTU5Q0NcXHU1OUMxXFx1NTlCNlxcdTU5QkNcXHU1OUMzXFx1NTlENlxcdTU5QjFcXHU1OUJEXFx1NTlDMFxcdTU5QzhcXHU1OUI0XFx1NTlDN1xcdTVCNjJcXHU1QjY1XFx1NUI5M1xcdTVCOTVcXHU1QzQ0XFx1NUM0N1xcdTVDQUVcXHU1Q0E0XFx1NUNBMFxcdTVDQjVcXHU1Q0FGXFx1NUNBOFxcdTVDQUNcXHU1QzlGXFx1NUNBM1xcdTVDQURcXHU1Q0EyXFx1NUNBQVxcdTVDQTdcXHU1QzlEXFx1NUNBNVxcdTVDQjZcXHU1Q0IwXFx1NUNBNlxcdTVFMTdcXHU1RTE0XFx1NUUxOVxcdTVGMjhcXHU1RjIyXFx1NUYyM1xcdTVGMjRcXHU1RjU0XFx1NUY4MlxcdTVGN0VcXHU1RjdEXFx1NUZERVxcdTVGRTVcXHU2MDJEXFx1NjAyNlxcdTYwMTlcXHU2MDMyXFx1NjAwQlwiXSxcbiAgICAgIFtcImNjYTFcIiwgXCJcXHU2MDM0XFx1NjAwQVxcdTYwMTdcXHU2MDMzXFx1NjAxQVxcdTYwMUVcXHU2MDJDXFx1NjAyMlxcdTYwMERcXHU2MDEwXFx1NjAyRVxcdTYwMTNcXHU2MDExXFx1NjAwQ1xcdTYwMDlcXHU2MDFDXFx1NjIxNFxcdTYyM0RcXHU2MkFEXFx1NjJCNFxcdTYyRDFcXHU2MkJFXFx1NjJBQVxcdTYyQjZcXHU2MkNBXFx1NjJBRVxcdTYyQjNcXHU2MkFGXFx1NjJCQlxcdTYyQTlcXHU2MkIwXFx1NjJCOFxcdTY1M0RcXHU2NUE4XFx1NjVCQlxcdTY2MDlcXHU2NUZDXFx1NjYwNFxcdTY2MTJcXHU2NjA4XFx1NjVGQlxcdTY2MDNcXHU2NjBCXFx1NjYwRFxcdTY2MDVcXHU2NUZEXFx1NjYxMVxcdTY2MTBcXHU2NkY2XFx1NjcwQVxcdTY3ODVcXHU2NzZDXFx1Njc4RVxcdTY3OTJcXHU2Nzc2XFx1Njc3QlxcdTY3OThcXHU2Nzg2XFx1Njc4NFxcdTY3NzRcXHU2NzhEXFx1Njc4Q1xcdTY3N0FcXHU2NzlGXFx1Njc5MVxcdTY3OTlcXHU2NzgzXFx1Njc3RFxcdTY3ODFcXHU2Nzc4XFx1Njc3OVxcdTY3OTRcXHU2QjI1XFx1NkI4MFxcdTZCN0VcXHU2QkRFXFx1NkMxRFxcdTZDOTNcXHU2Q0VDXFx1NkNFQlxcdTZDRUVcXHU2Q0Q5XFx1NkNCNlxcdTZDRDRcXHU2Q0FEXFx1NkNFN1xcdTZDQjdcXHU2Q0QwXFx1NkNDMlxcdTZDQkFcXHU2Q0MzXFx1NkNDNlxcdTZDRURcXHU2Q0YyXCJdLFxuICAgICAgW1wiY2Q0MFwiLCBcIlxcdTZDRDJcXHU2Q0REXFx1NkNCNFxcdTZDOEFcXHU2QzlEXFx1NkM4MFxcdTZDREVcXHU2Q0MwXFx1NkQzMFxcdTZDQ0RcXHU2Q0M3XFx1NkNCMFxcdTZDRjlcXHU2Q0NGXFx1NkNFOVxcdTZDRDFcXHU3MDk0XFx1NzA5OFxcdTcwODVcXHU3MDkzXFx1NzA4NlxcdTcwODRcXHU3MDkxXFx1NzA5NlxcdTcwODJcXHU3MDlBXFx1NzA4M1xcdTcyNkFcXHU3MkQ2XFx1NzJDQlxcdTcyRDhcXHU3MkM5XFx1NzJEQ1xcdTcyRDJcXHU3MkQ0XFx1NzJEQVxcdTcyQ0NcXHU3MkQxXFx1NzNBNFxcdTczQTFcXHU3M0FEXFx1NzNBNlxcdTczQTJcXHU3M0EwXFx1NzNBQ1xcdTczOURcXHU3NEREXFx1NzRFOFxcdTc1M0ZcXHU3NTQwXFx1NzUzRVxcdTc1OENcXHU3NTk4XFx1NzZBRlxcdTc2RjNcXHU3NkYxXFx1NzZGMFxcdTc2RjVcXHU3N0Y4XFx1NzdGQ1xcdTc3RjlcXHU3N0ZCXFx1NzdGQVwiXSxcbiAgICAgIFtcImNkYTFcIiwgXCJcXHU3N0Y3XFx1Nzk0MlxcdTc5M0ZcXHU3OUM1XFx1N0E3OFxcdTdBN0JcXHU3QUZCXFx1N0M3NVxcdTdDRkRcXHU4MDM1XFx1ODA4RlxcdTgwQUVcXHU4MEEzXFx1ODBCOFxcdTgwQjVcXHU4MEFEXFx1ODIyMFxcdTgyQTBcXHU4MkMwXFx1ODJBQlxcdTgyOUFcXHU4Mjk4XFx1ODI5QlxcdTgyQjVcXHU4MkE3XFx1ODJBRVxcdTgyQkNcXHU4MjlFXFx1ODJCQVxcdTgyQjRcXHU4MkE4XFx1ODJBMVxcdTgyQTlcXHU4MkMyXFx1ODJBNFxcdTgyQzNcXHU4MkI2XFx1ODJBMlxcdTg2NzBcXHU4NjZGXFx1ODY2RFxcdTg2NkVcXHU4QzU2XFx1OEZEMlxcdThGQ0JcXHU4RkQzXFx1OEZDRFxcdThGRDZcXHU4RkQ1XFx1OEZEN1xcdTkwQjJcXHU5MEI0XFx1OTBBRlxcdTkwQjNcXHU5MEIwXFx1OTYzOVxcdTk2M0RcXHU5NjNDXFx1OTYzQVxcdTk2NDNcXHU0RkNEXFx1NEZDNVxcdTRGRDNcXHU0RkIyXFx1NEZDOVxcdTRGQ0JcXHU0RkMxXFx1NEZENFxcdTRGRENcXHU0RkQ5XFx1NEZCQlxcdTRGQjNcXHU0RkRCXFx1NEZDN1xcdTRGRDZcXHU0RkJBXFx1NEZDMFxcdTRGQjlcXHU0RkVDXFx1NTI0NFxcdTUyNDlcXHU1MkMwXFx1NTJDMlxcdTUzM0RcXHU1MzdDXFx1NTM5N1xcdTUzOTZcXHU1Mzk5XFx1NTM5OFxcdTU0QkFcXHU1NEExXFx1NTRBRFxcdTU0QTVcXHU1NENGXCJdLFxuICAgICAgW1wiY2U0MFwiLCBcIlxcdTU0QzNcXHU4MzBEXFx1NTRCN1xcdTU0QUVcXHU1NEQ2XFx1NTRCNlxcdTU0QzVcXHU1NEM2XFx1NTRBMFxcdTU0NzBcXHU1NEJDXFx1NTRBMlxcdTU0QkVcXHU1NDcyXFx1NTRERVxcdTU0QjBcXHU1N0I1XFx1NTc5RVxcdTU3OUZcXHU1N0E0XFx1NTc4Q1xcdTU3OTdcXHU1NzlEXFx1NTc5QlxcdTU3OTRcXHU1Nzk4XFx1NTc4RlxcdTU3OTlcXHU1N0E1XFx1NTc5QVxcdTU3OTVcXHU1OEY0XFx1NTkwRFxcdTU5NTNcXHU1OUUxXFx1NTlERVxcdTU5RUVcXHU1QTAwXFx1NTlGMVxcdTU5RERcXHU1OUZBXFx1NTlGRFxcdTU5RkNcXHU1OUY2XFx1NTlFNFxcdTU5RjJcXHU1OUY3XFx1NTlEQlxcdTU5RTlcXHU1OUYzXFx1NTlGNVxcdTU5RTBcXHU1OUZFXFx1NTlGNFxcdTU5RURcXHU1QkE4XFx1NUM0Q1xcdTVDRDBcXHU1Q0Q4XFx1NUNDQ1xcdTVDRDdcXHU1Q0NCXFx1NUNEQlwiXSxcbiAgICAgIFtcImNlYTFcIiwgXCJcXHU1Q0RFXFx1NUNEQVxcdTVDQzlcXHU1Q0M3XFx1NUNDQVxcdTVDRDZcXHU1Q0QzXFx1NUNENFxcdTVDQ0ZcXHU1Q0M4XFx1NUNDNlxcdTVDQ0VcXHU1Q0RGXFx1NUNGOFxcdTVERjlcXHU1RTIxXFx1NUUyMlxcdTVFMjNcXHU1RTIwXFx1NUUyNFxcdTVFQjBcXHU1RUE0XFx1NUVBMlxcdTVFOUJcXHU1RUEzXFx1NUVBNVxcdTVGMDdcXHU1RjJFXFx1NUY1NlxcdTVGODZcXHU2MDM3XFx1NjAzOVxcdTYwNTRcXHU2MDcyXFx1NjA1RVxcdTYwNDVcXHU2MDUzXFx1NjA0N1xcdTYwNDlcXHU2MDVCXFx1NjA0Q1xcdTYwNDBcXHU2MDQyXFx1NjA1RlxcdTYwMjRcXHU2MDQ0XFx1NjA1OFxcdTYwNjZcXHU2MDZFXFx1NjI0MlxcdTYyNDNcXHU2MkNGXFx1NjMwRFxcdTYzMEJcXHU2MkY1XFx1NjMwRVxcdTYzMDNcXHU2MkVCXFx1NjJGOVxcdTYzMEZcXHU2MzBDXFx1NjJGOFxcdTYyRjZcXHU2MzAwXFx1NjMxM1xcdTYzMTRcXHU2MkZBXFx1NjMxNVxcdTYyRkJcXHU2MkYwXFx1NjU0MVxcdTY1NDNcXHU2NUFBXFx1NjVCRlxcdTY2MzZcXHU2NjIxXFx1NjYzMlxcdTY2MzVcXHU2NjFDXFx1NjYyNlxcdTY2MjJcXHU2NjMzXFx1NjYyQlxcdTY2M0FcXHU2NjFEXFx1NjYzNFxcdTY2MzlcXHU2NjJFXFx1NjcwRlxcdTY3MTBcXHU2N0MxXFx1NjdGMlxcdTY3QzhcXHU2N0JBXCJdLFxuICAgICAgW1wiY2Y0MFwiLCBcIlxcdTY3RENcXHU2N0JCXFx1NjdGOFxcdTY3RDhcXHU2N0MwXFx1NjdCN1xcdTY3QzVcXHU2N0VCXFx1NjdFNFxcdTY3REZcXHU2N0I1XFx1NjdDRFxcdTY3QjNcXHU2N0Y3XFx1NjdGNlxcdTY3RUVcXHU2N0UzXFx1NjdDMlxcdTY3QjlcXHU2N0NFXFx1NjdFN1xcdTY3RjBcXHU2N0IyXFx1NjdGQ1xcdTY3QzZcXHU2N0VEXFx1NjdDQ1xcdTY3QUVcXHU2N0U2XFx1NjdEQlxcdTY3RkFcXHU2N0M5XFx1NjdDQVxcdTY3QzNcXHU2N0VBXFx1NjdDQlxcdTZCMjhcXHU2QjgyXFx1NkI4NFxcdTZCQjZcXHU2QkQ2XFx1NkJEOFxcdTZCRTBcXHU2QzIwXFx1NkMyMVxcdTZEMjhcXHU2RDM0XFx1NkQyRFxcdTZEMUZcXHU2RDNDXFx1NkQzRlxcdTZEMTJcXHU2RDBBXFx1NkNEQVxcdTZEMzNcXHU2RDA0XFx1NkQxOVxcdTZEM0FcXHU2RDFBXFx1NkQxMVxcdTZEMDBcXHU2RDFEXFx1NkQ0MlwiXSxcbiAgICAgIFtcImNmYTFcIiwgXCJcXHU2RDAxXFx1NkQxOFxcdTZEMzdcXHU2RDAzXFx1NkQwRlxcdTZENDBcXHU2RDA3XFx1NkQyMFxcdTZEMkNcXHU2RDA4XFx1NkQyMlxcdTZEMDlcXHU2RDEwXFx1NzBCN1xcdTcwOUZcXHU3MEJFXFx1NzBCMVxcdTcwQjBcXHU3MEExXFx1NzBCNFxcdTcwQjVcXHU3MEE5XFx1NzI0MVxcdTcyNDlcXHU3MjRBXFx1NzI2Q1xcdTcyNzBcXHU3MjczXFx1NzI2RVxcdTcyQ0FcXHU3MkU0XFx1NzJFOFxcdTcyRUJcXHU3MkRGXFx1NzJFQVxcdTcyRTZcXHU3MkUzXFx1NzM4NVxcdTczQ0NcXHU3M0MyXFx1NzNDOFxcdTczQzVcXHU3M0I5XFx1NzNCNlxcdTczQjVcXHU3M0I0XFx1NzNFQlxcdTczQkZcXHU3M0M3XFx1NzNCRVxcdTczQzNcXHU3M0M2XFx1NzNCOFxcdTczQ0JcXHU3NEVDXFx1NzRFRVxcdTc1MkVcXHU3NTQ3XFx1NzU0OFxcdTc1QTdcXHU3NUFBXFx1NzY3OVxcdTc2QzRcXHU3NzA4XFx1NzcwM1xcdTc3MDRcXHU3NzA1XFx1NzcwQVxcdTc2RjdcXHU3NkZCXFx1NzZGQVxcdTc3RTdcXHU3N0U4XFx1NzgwNlxcdTc4MTFcXHU3ODEyXFx1NzgwNVxcdTc4MTBcXHU3ODBGXFx1NzgwRVxcdTc4MDlcXHU3ODAzXFx1NzgxM1xcdTc5NEFcXHU3OTRDXFx1Nzk0QlxcdTc5NDVcXHU3OTQ0XFx1NzlENVxcdTc5Q0RcXHU3OUNGXFx1NzlENlxcdTc5Q0VcXHU3QTgwXCJdLFxuICAgICAgW1wiZDA0MFwiLCBcIlxcdTdBN0VcXHU3QUQxXFx1N0IwMFxcdTdCMDFcXHU3QzdBXFx1N0M3OFxcdTdDNzlcXHU3QzdGXFx1N0M4MFxcdTdDODFcXHU3RDAzXFx1N0QwOFxcdTdEMDFcXHU3RjU4XFx1N0Y5MVxcdTdGOERcXHU3RkJFXFx1ODAwN1xcdTgwMEVcXHU4MDBGXFx1ODAxNFxcdTgwMzdcXHU4MEQ4XFx1ODBDN1xcdTgwRTBcXHU4MEQxXFx1ODBDOFxcdTgwQzJcXHU4MEQwXFx1ODBDNVxcdTgwRTNcXHU4MEQ5XFx1ODBEQ1xcdTgwQ0FcXHU4MEQ1XFx1ODBDOVxcdTgwQ0ZcXHU4MEQ3XFx1ODBFNlxcdTgwQ0RcXHU4MUZGXFx1ODIyMVxcdTgyOTRcXHU4MkQ5XFx1ODJGRVxcdTgyRjlcXHU4MzA3XFx1ODJFOFxcdTgzMDBcXHU4MkQ1XFx1ODMzQVxcdTgyRUJcXHU4MkQ2XFx1ODJGNFxcdTgyRUNcXHU4MkUxXFx1ODJGMlxcdTgyRjVcXHU4MzBDXFx1ODJGQlxcdTgyRjZcXHU4MkYwXFx1ODJFQVwiXSxcbiAgICAgIFtcImQwYTFcIiwgXCJcXHU4MkU0XFx1ODJFMFxcdTgyRkFcXHU4MkYzXFx1ODJFRFxcdTg2NzdcXHU4Njc0XFx1ODY3Q1xcdTg2NzNcXHU4ODQxXFx1ODg0RVxcdTg4NjdcXHU4ODZBXFx1ODg2OVxcdTg5RDNcXHU4QTA0XFx1OEEwN1xcdThENzJcXHU4RkUzXFx1OEZFMVxcdThGRUVcXHU4RkUwXFx1OTBGMVxcdTkwQkRcXHU5MEJGXFx1OTBENVxcdTkwQzVcXHU5MEJFXFx1OTBDN1xcdTkwQ0JcXHU5MEM4XFx1OTFENFxcdTkxRDNcXHU5NjU0XFx1OTY0RlxcdTk2NTFcXHU5NjUzXFx1OTY0QVxcdTk2NEVcXHU1MDFFXFx1NTAwNVxcdTUwMDdcXHU1MDEzXFx1NTAyMlxcdTUwMzBcXHU1MDFCXFx1NEZGNVxcdTRGRjRcXHU1MDMzXFx1NTAzN1xcdTUwMkNcXHU0RkY2XFx1NEZGN1xcdTUwMTdcXHU1MDFDXFx1NTAyMFxcdTUwMjdcXHU1MDM1XFx1NTAyRlxcdTUwMzFcXHU1MDBFXFx1NTE1QVxcdTUxOTRcXHU1MTkzXFx1NTFDQVxcdTUxQzRcXHU1MUM1XFx1NTFDOFxcdTUxQ0VcXHU1MjYxXFx1NTI1QVxcdTUyNTJcXHU1MjVFXFx1NTI1RlxcdTUyNTVcXHU1MjYyXFx1NTJDRFxcdTUzMEVcXHU1MzlFXFx1NTUyNlxcdTU0RTJcXHU1NTE3XFx1NTUxMlxcdTU0RTdcXHU1NEYzXFx1NTRFNFxcdTU1MUFcXHU1NEZGXFx1NTUwNFxcdTU1MDhcXHU1NEVCXFx1NTUxMVxcdTU1MDVcXHU1NEYxXCJdLFxuICAgICAgW1wiZDE0MFwiLCBcIlxcdTU1MEFcXHU1NEZCXFx1NTRGN1xcdTU0RjhcXHU1NEUwXFx1NTUwRVxcdTU1MDNcXHU1NTBCXFx1NTcwMVxcdTU3MDJcXHU1N0NDXFx1NTgzMlxcdTU3RDVcXHU1N0QyXFx1NTdCQVxcdTU3QzZcXHU1N0JEXFx1NTdCQ1xcdTU3QjhcXHU1N0I2XFx1NTdCRlxcdTU3QzdcXHU1N0QwXFx1NTdCOVxcdTU3QzFcXHU1OTBFXFx1NTk0QVxcdTVBMTlcXHU1QTE2XFx1NUEyRFxcdTVBMkVcXHU1QTE1XFx1NUEwRlxcdTVBMTdcXHU1QTBBXFx1NUExRVxcdTVBMzNcXHU1QjZDXFx1NUJBN1xcdTVCQURcXHU1QkFDXFx1NUMwM1xcdTVDNTZcXHU1QzU0XFx1NUNFQ1xcdTVDRkZcXHU1Q0VFXFx1NUNGMVxcdTVDRjdcXHU1RDAwXFx1NUNGOVxcdTVFMjlcXHU1RTI4XFx1NUVBOFxcdTVFQUVcXHU1RUFBXFx1NUVBQ1xcdTVGMzNcXHU1RjMwXFx1NUY2N1xcdTYwNURcXHU2MDVBXFx1NjA2N1wiXSxcbiAgICAgIFtcImQxYTFcIiwgXCJcXHU2MDQxXFx1NjBBMlxcdTYwODhcXHU2MDgwXFx1NjA5MlxcdTYwODFcXHU2MDlEXFx1NjA4M1xcdTYwOTVcXHU2MDlCXFx1NjA5N1xcdTYwODdcXHU2MDlDXFx1NjA4RVxcdTYyMTlcXHU2MjQ2XFx1NjJGMlxcdTYzMTBcXHU2MzU2XFx1NjMyQ1xcdTYzNDRcXHU2MzQ1XFx1NjMzNlxcdTYzNDNcXHU2M0U0XFx1NjMzOVxcdTYzNEJcXHU2MzRBXFx1NjMzQ1xcdTYzMjlcXHU2MzQxXFx1NjMzNFxcdTYzNThcXHU2MzU0XFx1NjM1OVxcdTYzMkRcXHU2MzQ3XFx1NjMzM1xcdTYzNUFcXHU2MzUxXFx1NjMzOFxcdTYzNTdcXHU2MzQwXFx1NjM0OFxcdTY1NEFcXHU2NTQ2XFx1NjVDNlxcdTY1QzNcXHU2NUM0XFx1NjVDMlxcdTY2NEFcXHU2NjVGXFx1NjY0N1xcdTY2NTFcXHU2NzEyXFx1NjcxM1xcdTY4MUZcXHU2ODFBXFx1Njg0OVxcdTY4MzJcXHU2ODMzXFx1NjgzQlxcdTY4NEJcXHU2ODRGXFx1NjgxNlxcdTY4MzFcXHU2ODFDXFx1NjgzNVxcdTY4MkJcXHU2ODJEXFx1NjgyRlxcdTY4NEVcXHU2ODQ0XFx1NjgzNFxcdTY4MURcXHU2ODEyXFx1NjgxNFxcdTY4MjZcXHU2ODI4XFx1NjgyRVxcdTY4NERcXHU2ODNBXFx1NjgyNVxcdTY4MjBcXHU2QjJDXFx1NkIyRlxcdTZCMkRcXHU2QjMxXFx1NkIzNFxcdTZCNkRcXHU4MDgyXFx1NkI4OFxcdTZCRTZcXHU2QkU0XCJdLFxuICAgICAgW1wiZDI0MFwiLCBcIlxcdTZCRThcXHU2QkUzXFx1NkJFMlxcdTZCRTdcXHU2QzI1XFx1NkQ3QVxcdTZENjNcXHU2RDY0XFx1NkQ3NlxcdTZEMERcXHU2RDYxXFx1NkQ5MlxcdTZENThcXHU2RDYyXFx1NkQ2RFxcdTZENkZcXHU2RDkxXFx1NkQ4RFxcdTZERUZcXHU2RDdGXFx1NkQ4NlxcdTZENUVcXHU2RDY3XFx1NkQ2MFxcdTZEOTdcXHU2RDcwXFx1NkQ3Q1xcdTZENUZcXHU2RDgyXFx1NkQ5OFxcdTZEMkZcXHU2RDY4XFx1NkQ4QlxcdTZEN0VcXHU2RDgwXFx1NkQ4NFxcdTZEMTZcXHU2RDgzXFx1NkQ3QlxcdTZEN0RcXHU2RDc1XFx1NkQ5MFxcdTcwRENcXHU3MEQzXFx1NzBEMVxcdTcwRERcXHU3MENCXFx1N0YzOVxcdTcwRTJcXHU3MEQ3XFx1NzBEMlxcdTcwREVcXHU3MEUwXFx1NzBENFxcdTcwQ0RcXHU3MEM1XFx1NzBDNlxcdTcwQzdcXHU3MERBXFx1NzBDRVxcdTcwRTFcXHU3MjQyXFx1NzI3OFwiXSxcbiAgICAgIFtcImQyYTFcIiwgXCJcXHU3Mjc3XFx1NzI3NlxcdTczMDBcXHU3MkZBXFx1NzJGNFxcdTcyRkVcXHU3MkY2XFx1NzJGM1xcdTcyRkJcXHU3MzAxXFx1NzNEM1xcdTczRDlcXHU3M0U1XFx1NzNENlxcdTczQkNcXHU3M0U3XFx1NzNFM1xcdTczRTlcXHU3M0RDXFx1NzNEMlxcdTczREJcXHU3M0Q0XFx1NzNERFxcdTczREFcXHU3M0Q3XFx1NzNEOFxcdTczRThcXHU3NERFXFx1NzRERlxcdTc0RjRcXHU3NEY1XFx1NzUyMVxcdTc1NUJcXHU3NTVGXFx1NzVCMFxcdTc1QzFcXHU3NUJCXFx1NzVDNFxcdTc1QzBcXHU3NUJGXFx1NzVCNlxcdTc1QkFcXHU3NjhBXFx1NzZDOVxcdTc3MURcXHU3NzFCXFx1NzcxMFxcdTc3MTNcXHU3NzEyXFx1NzcyM1xcdTc3MTFcXHU3NzE1XFx1NzcxOVxcdTc3MUFcXHU3NzIyXFx1NzcyN1xcdTc4MjNcXHU3ODJDXFx1NzgyMlxcdTc4MzVcXHU3ODJGXFx1NzgyOFxcdTc4MkVcXHU3ODJCXFx1NzgyMVxcdTc4MjlcXHU3ODMzXFx1NzgyQVxcdTc4MzFcXHU3OTU0XFx1Nzk1QlxcdTc5NEZcXHU3OTVDXFx1Nzk1M1xcdTc5NTJcXHU3OTUxXFx1NzlFQlxcdTc5RUNcXHU3OUUwXFx1NzlFRVxcdTc5RURcXHU3OUVBXFx1NzlEQ1xcdTc5REVcXHU3OUREXFx1N0E4NlxcdTdBODlcXHU3QTg1XFx1N0E4QlxcdTdBOENcXHU3QThBXFx1N0E4N1xcdTdBRDhcXHU3QjEwXCJdLFxuICAgICAgW1wiZDM0MFwiLCBcIlxcdTdCMDRcXHU3QjEzXFx1N0IwNVxcdTdCMEZcXHU3QjA4XFx1N0IwQVxcdTdCMEVcXHU3QjA5XFx1N0IxMlxcdTdDODRcXHU3QzkxXFx1N0M4QVxcdTdDOENcXHU3Qzg4XFx1N0M4RFxcdTdDODVcXHU3RDFFXFx1N0QxRFxcdTdEMTFcXHU3RDBFXFx1N0QxOFxcdTdEMTZcXHU3RDEzXFx1N0QxRlxcdTdEMTJcXHU3RDBGXFx1N0QwQ1xcdTdGNUNcXHU3RjYxXFx1N0Y1RVxcdTdGNjBcXHU3RjVEXFx1N0Y1QlxcdTdGOTZcXHU3RjkyXFx1N0ZDM1xcdTdGQzJcXHU3RkMwXFx1ODAxNlxcdTgwM0VcXHU4MDM5XFx1ODBGQVxcdTgwRjJcXHU4MEY5XFx1ODBGNVxcdTgxMDFcXHU4MEZCXFx1ODEwMFxcdTgyMDFcXHU4MjJGXFx1ODIyNVxcdTgzMzNcXHU4MzJEXFx1ODM0NFxcdTgzMTlcXHU4MzUxXFx1ODMyNVxcdTgzNTZcXHU4MzNGXFx1ODM0MVxcdTgzMjZcXHU4MzFDXFx1ODMyMlwiXSxcbiAgICAgIFtcImQzYTFcIiwgXCJcXHU4MzQyXFx1ODM0RVxcdTgzMUJcXHU4MzJBXFx1ODMwOFxcdTgzM0NcXHU4MzREXFx1ODMxNlxcdTgzMjRcXHU4MzIwXFx1ODMzN1xcdTgzMkZcXHU4MzI5XFx1ODM0N1xcdTgzNDVcXHU4MzRDXFx1ODM1M1xcdTgzMUVcXHU4MzJDXFx1ODM0QlxcdTgzMjdcXHU4MzQ4XFx1ODY1M1xcdTg2NTJcXHU4NkEyXFx1ODZBOFxcdTg2OTZcXHU4NjhEXFx1ODY5MVxcdTg2OUVcXHU4Njg3XFx1ODY5N1xcdTg2ODZcXHU4NjhCXFx1ODY5QVxcdTg2ODVcXHU4NkE1XFx1ODY5OVxcdTg2QTFcXHU4NkE3XFx1ODY5NVxcdTg2OThcXHU4NjhFXFx1ODY5RFxcdTg2OTBcXHU4Njk0XFx1ODg0M1xcdTg4NDRcXHU4ODZEXFx1ODg3NVxcdTg4NzZcXHU4ODcyXFx1ODg4MFxcdTg4NzFcXHU4ODdGXFx1ODg2RlxcdTg4ODNcXHU4ODdFXFx1ODg3NFxcdTg4N0NcXHU4QTEyXFx1OEM0N1xcdThDNTdcXHU4QzdCXFx1OENBNFxcdThDQTNcXHU4RDc2XFx1OEQ3OFxcdThEQjVcXHU4REI3XFx1OERCNlxcdThFRDFcXHU4RUQzXFx1OEZGRVxcdThGRjVcXHU5MDAyXFx1OEZGRlxcdThGRkJcXHU5MDA0XFx1OEZGQ1xcdThGRjZcXHU5MEQ2XFx1OTBFMFxcdTkwRDlcXHU5MERBXFx1OTBFM1xcdTkwREZcXHU5MEU1XFx1OTBEOFxcdTkwREJcXHU5MEQ3XFx1OTBEQ1xcdTkwRTRcXHU5MTUwXCJdLFxuICAgICAgW1wiZDQ0MFwiLCBcIlxcdTkxNEVcXHU5MTRGXFx1OTFENVxcdTkxRTJcXHU5MURBXFx1OTY1Q1xcdTk2NUZcXHU5NkJDXFx1OThFM1xcdTlBREZcXHU5QjJGXFx1NEU3RlxcdTUwNzBcXHU1MDZBXFx1NTA2MVxcdTUwNUVcXHU1MDYwXFx1NTA1M1xcdTUwNEJcXHU1MDVEXFx1NTA3MlxcdTUwNDhcXHU1MDREXFx1NTA0MVxcdTUwNUJcXHU1MDRBXFx1NTA2MlxcdTUwMTVcXHU1MDQ1XFx1NTA1RlxcdTUwNjlcXHU1MDZCXFx1NTA2M1xcdTUwNjRcXHU1MDQ2XFx1NTA0MFxcdTUwNkVcXHU1MDczXFx1NTA1N1xcdTUwNTFcXHU1MUQwXFx1NTI2QlxcdTUyNkRcXHU1MjZDXFx1NTI2RVxcdTUyRDZcXHU1MkQzXFx1NTMyRFxcdTUzOUNcXHU1NTc1XFx1NTU3NlxcdTU1M0NcXHU1NTREXFx1NTU1MFxcdTU1MzRcXHU1NTJBXFx1NTU1MVxcdTU1NjJcXHU1NTM2XFx1NTUzNVxcdTU1MzBcXHU1NTUyXFx1NTU0NVwiXSxcbiAgICAgIFtcImQ0YTFcIiwgXCJcXHU1NTBDXFx1NTUzMlxcdTU1NjVcXHU1NTRFXFx1NTUzOVxcdTU1NDhcXHU1NTJEXFx1NTUzQlxcdTU1NDBcXHU1NTRCXFx1NTcwQVxcdTU3MDdcXHU1N0ZCXFx1NTgxNFxcdTU3RTJcXHU1N0Y2XFx1NTdEQ1xcdTU3RjRcXHU1ODAwXFx1NTdFRFxcdTU3RkRcXHU1ODA4XFx1NTdGOFxcdTU4MEJcXHU1N0YzXFx1NTdDRlxcdTU4MDdcXHU1N0VFXFx1NTdFM1xcdTU3RjJcXHU1N0U1XFx1NTdFQ1xcdTU3RTFcXHU1ODBFXFx1NTdGQ1xcdTU4MTBcXHU1N0U3XFx1NTgwMVxcdTU4MENcXHU1N0YxXFx1NTdFOVxcdTU3RjBcXHU1ODBEXFx1NTgwNFxcdTU5NUNcXHU1QTYwXFx1NUE1OFxcdTVBNTVcXHU1QTY3XFx1NUE1RVxcdTVBMzhcXHU1QTM1XFx1NUE2RFxcdTVBNTBcXHU1QTVGXFx1NUE2NVxcdTVBNkNcXHU1QTUzXFx1NUE2NFxcdTVBNTdcXHU1QTQzXFx1NUE1RFxcdTVBNTJcXHU1QTQ0XFx1NUE1QlxcdTVBNDhcXHU1QThFXFx1NUEzRVxcdTVBNERcXHU1QTM5XFx1NUE0Q1xcdTVBNzBcXHU1QTY5XFx1NUE0N1xcdTVBNTFcXHU1QTU2XFx1NUE0MlxcdTVBNUNcXHU1QjcyXFx1NUI2RVxcdTVCQzFcXHU1QkMwXFx1NUM1OVxcdTVEMUVcXHU1RDBCXFx1NUQxRFxcdTVEMUFcXHU1RDIwXFx1NUQwQ1xcdTVEMjhcXHU1RDBEXFx1NUQyNlxcdTVEMjVcXHU1RDBGXCJdLFxuICAgICAgW1wiZDU0MFwiLCBcIlxcdTVEMzBcXHU1RDEyXFx1NUQyM1xcdTVEMUZcXHU1RDJFXFx1NUUzRVxcdTVFMzRcXHU1RUIxXFx1NUVCNFxcdTVFQjlcXHU1RUIyXFx1NUVCM1xcdTVGMzZcXHU1RjM4XFx1NUY5QlxcdTVGOTZcXHU1RjlGXFx1NjA4QVxcdTYwOTBcXHU2MDg2XFx1NjBCRVxcdTYwQjBcXHU2MEJBXFx1NjBEM1xcdTYwRDRcXHU2MENGXFx1NjBFNFxcdTYwRDlcXHU2MEREXFx1NjBDOFxcdTYwQjFcXHU2MERCXFx1NjBCN1xcdTYwQ0FcXHU2MEJGXFx1NjBDM1xcdTYwQ0RcXHU2MEMwXFx1NjMzMlxcdTYzNjVcXHU2MzhBXFx1NjM4MlxcdTYzN0RcXHU2M0JEXFx1NjM5RVxcdTYzQURcXHU2MzlEXFx1NjM5N1xcdTYzQUJcXHU2MzhFXFx1NjM2RlxcdTYzODdcXHU2MzkwXFx1NjM2RVxcdTYzQUZcXHU2Mzc1XFx1NjM5Q1xcdTYzNkRcXHU2M0FFXFx1NjM3Q1xcdTYzQTRcXHU2MzNCXFx1NjM5RlwiXSxcbiAgICAgIFtcImQ1YTFcIiwgXCJcXHU2Mzc4XFx1NjM4NVxcdTYzODFcXHU2MzkxXFx1NjM4RFxcdTYzNzBcXHU2NTUzXFx1NjVDRFxcdTY2NjVcXHU2NjYxXFx1NjY1QlxcdTY2NTlcXHU2NjVDXFx1NjY2MlxcdTY3MThcXHU2ODc5XFx1Njg4N1xcdTY4OTBcXHU2ODlDXFx1Njg2RFxcdTY4NkVcXHU2OEFFXFx1NjhBQlxcdTY5NTZcXHU2ODZGXFx1NjhBM1xcdTY4QUNcXHU2OEE5XFx1Njg3NVxcdTY4NzRcXHU2OEIyXFx1Njg4RlxcdTY4NzdcXHU2ODkyXFx1Njg3Q1xcdTY4NkJcXHU2ODcyXFx1NjhBQVxcdTY4ODBcXHU2ODcxXFx1Njg3RVxcdTY4OUJcXHU2ODk2XFx1Njg4QlxcdTY4QTBcXHU2ODg5XFx1NjhBNFxcdTY4NzhcXHU2ODdCXFx1Njg5MVxcdTY4OENcXHU2ODhBXFx1Njg3RFxcdTZCMzZcXHU2QjMzXFx1NkIzN1xcdTZCMzhcXHU2QjkxXFx1NkI4RlxcdTZCOERcXHU2QjhFXFx1NkI4Q1xcdTZDMkFcXHU2REMwXFx1NkRBQlxcdTZEQjRcXHU2REIzXFx1NkU3NFxcdTZEQUNcXHU2REU5XFx1NkRFMlxcdTZEQjdcXHU2REY2XFx1NkRENFxcdTZFMDBcXHU2REM4XFx1NkRFMFxcdTZEREZcXHU2REQ2XFx1NkRCRVxcdTZERTVcXHU2RERDXFx1NkRERFxcdTZEREJcXHU2REY0XFx1NkRDQVxcdTZEQkRcXHU2REVEXFx1NkRGMFxcdTZEQkFcXHU2REQ1XFx1NkRDMlxcdTZEQ0ZcXHU2REM5XCJdLFxuICAgICAgW1wiZDY0MFwiLCBcIlxcdTZERDBcXHU2REYyXFx1NkREM1xcdTZERkRcXHU2REQ3XFx1NkRDRFxcdTZERTNcXHU2REJCXFx1NzBGQVxcdTcxMERcXHU3MEY3XFx1NzExN1xcdTcwRjRcXHU3MTBDXFx1NzBGMFxcdTcxMDRcXHU3MEYzXFx1NzExMFxcdTcwRkNcXHU3MEZGXFx1NzEwNlxcdTcxMTNcXHU3MTAwXFx1NzBGOFxcdTcwRjZcXHU3MTBCXFx1NzEwMlxcdTcxMEVcXHU3MjdFXFx1NzI3QlxcdTcyN0NcXHU3MjdGXFx1NzMxRFxcdTczMTdcXHU3MzA3XFx1NzMxMVxcdTczMThcXHU3MzBBXFx1NzMwOFxcdTcyRkZcXHU3MzBGXFx1NzMxRVxcdTczODhcXHU3M0Y2XFx1NzNGOFxcdTczRjVcXHU3NDA0XFx1NzQwMVxcdTczRkRcXHU3NDA3XFx1NzQwMFxcdTczRkFcXHU3M0ZDXFx1NzNGRlxcdTc0MENcXHU3NDBCXFx1NzNGNFxcdTc0MDhcXHU3NTY0XFx1NzU2M1xcdTc1Q0VcXHU3NUQyXFx1NzVDRlwiXSxcbiAgICAgIFtcImQ2YTFcIiwgXCJcXHU3NUNCXFx1NzVDQ1xcdTc1RDFcXHU3NUQwXFx1NzY4RlxcdTc2ODlcXHU3NkQzXFx1NzczOVxcdTc3MkZcXHU3NzJEXFx1NzczMVxcdTc3MzJcXHU3NzM0XFx1NzczM1xcdTc3M0RcXHU3NzI1XFx1NzczQlxcdTc3MzVcXHU3ODQ4XFx1Nzg1MlxcdTc4NDlcXHU3ODREXFx1Nzg0QVxcdTc4NENcXHU3ODI2XFx1Nzg0NVxcdTc4NTBcXHU3OTY0XFx1Nzk2N1xcdTc5NjlcXHU3OTZBXFx1Nzk2M1xcdTc5NkJcXHU3OTYxXFx1NzlCQlxcdTc5RkFcXHU3OUY4XFx1NzlGNlxcdTc5RjdcXHU3QThGXFx1N0E5NFxcdTdBOTBcXHU3QjM1XFx1N0I0N1xcdTdCMzRcXHU3QjI1XFx1N0IzMFxcdTdCMjJcXHU3QjI0XFx1N0IzM1xcdTdCMThcXHU3QjJBXFx1N0IxRFxcdTdCMzFcXHU3QjJCXFx1N0IyRFxcdTdCMkZcXHU3QjMyXFx1N0IzOFxcdTdCMUFcXHU3QjIzXFx1N0M5NFxcdTdDOThcXHU3Qzk2XFx1N0NBM1xcdTdEMzVcXHU3RDNEXFx1N0QzOFxcdTdEMzZcXHU3RDNBXFx1N0Q0NVxcdTdEMkNcXHU3RDI5XFx1N0Q0MVxcdTdENDdcXHU3RDNFXFx1N0QzRlxcdTdENEFcXHU3RDNCXFx1N0QyOFxcdTdGNjNcXHU3Rjk1XFx1N0Y5Q1xcdTdGOURcXHU3RjlCXFx1N0ZDQVxcdTdGQ0JcXHU3RkNEXFx1N0ZEMFxcdTdGRDFcXHU3RkM3XFx1N0ZDRlxcdTdGQzlcXHU4MDFGXCJdLFxuICAgICAgW1wiZDc0MFwiLCBcIlxcdTgwMUVcXHU4MDFCXFx1ODA0N1xcdTgwNDNcXHU4MDQ4XFx1ODExOFxcdTgxMjVcXHU4MTE5XFx1ODExQlxcdTgxMkRcXHU4MTFGXFx1ODEyQ1xcdTgxMUVcXHU4MTIxXFx1ODExNVxcdTgxMjdcXHU4MTFEXFx1ODEyMlxcdTgyMTFcXHU4MjM4XFx1ODIzM1xcdTgyM0FcXHU4MjM0XFx1ODIzMlxcdTgyNzRcXHU4MzkwXFx1ODNBM1xcdTgzQThcXHU4MzhEXFx1ODM3QVxcdTgzNzNcXHU4M0E0XFx1ODM3NFxcdTgzOEZcXHU4MzgxXFx1ODM5NVxcdTgzOTlcXHU4Mzc1XFx1ODM5NFxcdTgzQTlcXHU4MzdEXFx1ODM4M1xcdTgzOENcXHU4MzlEXFx1ODM5QlxcdTgzQUFcXHU4MzhCXFx1ODM3RVxcdTgzQTVcXHU4M0FGXFx1ODM4OFxcdTgzOTdcXHU4M0IwXFx1ODM3RlxcdTgzQTZcXHU4Mzg3XFx1ODNBRVxcdTgzNzZcXHU4MzlBXFx1ODY1OVxcdTg2NTZcXHU4NkJGXFx1ODZCN1wiXSxcbiAgICAgIFtcImQ3YTFcIiwgXCJcXHU4NkMyXFx1ODZDMVxcdTg2QzVcXHU4NkJBXFx1ODZCMFxcdTg2QzhcXHU4NkI5XFx1ODZCM1xcdTg2QjhcXHU4NkNDXFx1ODZCNFxcdTg2QkJcXHU4NkJDXFx1ODZDM1xcdTg2QkRcXHU4NkJFXFx1ODg1MlxcdTg4ODlcXHU4ODk1XFx1ODhBOFxcdTg4QTJcXHU4OEFBXFx1ODg5QVxcdTg4OTFcXHU4OEExXFx1ODg5RlxcdTg4OThcXHU4OEE3XFx1ODg5OVxcdTg4OUJcXHU4ODk3XFx1ODhBNFxcdTg4QUNcXHU4ODhDXFx1ODg5M1xcdTg4OEVcXHU4OTgyXFx1ODlENlxcdTg5RDlcXHU4OUQ1XFx1OEEzMFxcdThBMjdcXHU4QTJDXFx1OEExRVxcdThDMzlcXHU4QzNCXFx1OEM1Q1xcdThDNURcXHU4QzdEXFx1OENBNVxcdThEN0RcXHU4RDdCXFx1OEQ3OVxcdThEQkNcXHU4REMyXFx1OERCOVxcdThEQkZcXHU4REMxXFx1OEVEOFxcdThFREVcXHU4RUREXFx1OEVEQ1xcdThFRDdcXHU4RUUwXFx1OEVFMVxcdTkwMjRcXHU5MDBCXFx1OTAxMVxcdTkwMUNcXHU5MDBDXFx1OTAyMVxcdTkwRUZcXHU5MEVBXFx1OTBGMFxcdTkwRjRcXHU5MEYyXFx1OTBGM1xcdTkwRDRcXHU5MEVCXFx1OTBFQ1xcdTkwRTlcXHU5MTU2XFx1OTE1OFxcdTkxNUFcXHU5MTUzXFx1OTE1NVxcdTkxRUNcXHU5MUY0XFx1OTFGMVxcdTkxRjNcXHU5MUY4XFx1OTFFNFxcdTkxRjlcXHU5MUVBXCJdLFxuICAgICAgW1wiZDg0MFwiLCBcIlxcdTkxRUJcXHU5MUY3XFx1OTFFOFxcdTkxRUVcXHU5NTdBXFx1OTU4NlxcdTk1ODhcXHU5NjdDXFx1OTY2RFxcdTk2NkJcXHU5NjcxXFx1OTY2RlxcdTk2QkZcXHU5NzZBXFx1OTgwNFxcdTk4RTVcXHU5OTk3XFx1NTA5QlxcdTUwOTVcXHU1MDk0XFx1NTA5RVxcdTUwOEJcXHU1MEEzXFx1NTA4M1xcdTUwOENcXHU1MDhFXFx1NTA5RFxcdTUwNjhcXHU1MDlDXFx1NTA5MlxcdTUwODJcXHU1MDg3XFx1NTE1RlxcdTUxRDRcXHU1MzEyXFx1NTMxMVxcdTUzQTRcXHU1M0E3XFx1NTU5MVxcdTU1QThcXHU1NUE1XFx1NTVBRFxcdTU1NzdcXHU1NjQ1XFx1NTVBMlxcdTU1OTNcXHU1NTg4XFx1NTU4RlxcdTU1QjVcXHU1NTgxXFx1NTVBM1xcdTU1OTJcXHU1NUE0XFx1NTU3RFxcdTU1OENcXHU1NUE2XFx1NTU3RlxcdTU1OTVcXHU1NUExXFx1NTU4RVxcdTU3MENcXHU1ODI5XFx1NTgzN1wiXSxcbiAgICAgIFtcImQ4YTFcIiwgXCJcXHU1ODE5XFx1NTgxRVxcdTU4MjdcXHU1ODIzXFx1NTgyOFxcdTU3RjVcXHU1ODQ4XFx1NTgyNVxcdTU4MUNcXHU1ODFCXFx1NTgzM1xcdTU4M0ZcXHU1ODM2XFx1NTgyRVxcdTU4MzlcXHU1ODM4XFx1NTgyRFxcdTU4MkNcXHU1ODNCXFx1NTk2MVxcdTVBQUZcXHU1QTk0XFx1NUE5RlxcdTVBN0FcXHU1QUEyXFx1NUE5RVxcdTVBNzhcXHU1QUE2XFx1NUE3Q1xcdTVBQTVcXHU1QUFDXFx1NUE5NVxcdTVBQUVcXHU1QTM3XFx1NUE4NFxcdTVBOEFcXHU1QTk3XFx1NUE4M1xcdTVBOEJcXHU1QUE5XFx1NUE3QlxcdTVBN0RcXHU1QThDXFx1NUE5Q1xcdTVBOEZcXHU1QTkzXFx1NUE5RFxcdTVCRUFcXHU1QkNEXFx1NUJDQlxcdTVCRDRcXHU1QkQxXFx1NUJDQVxcdTVCQ0VcXHU1QzBDXFx1NUMzMFxcdTVEMzdcXHU1RDQzXFx1NUQ2QlxcdTVENDFcXHU1RDRCXFx1NUQzRlxcdTVEMzVcXHU1RDUxXFx1NUQ0RVxcdTVENTVcXHU1RDMzXFx1NUQzQVxcdTVENTJcXHU1RDNEXFx1NUQzMVxcdTVENTlcXHU1RDQyXFx1NUQzOVxcdTVENDlcXHU1RDM4XFx1NUQzQ1xcdTVEMzJcXHU1RDM2XFx1NUQ0MFxcdTVENDVcXHU1RTQ0XFx1NUU0MVxcdTVGNThcXHU1RkE2XFx1NUZBNVxcdTVGQUJcXHU2MEM5XFx1NjBCOVxcdTYwQ0NcXHU2MEUyXFx1NjBDRVxcdTYwQzRcXHU2MTE0XCJdLFxuICAgICAgW1wiZDk0MFwiLCBcIlxcdTYwRjJcXHU2MTBBXFx1NjExNlxcdTYxMDVcXHU2MEY1XFx1NjExM1xcdTYwRjhcXHU2MEZDXFx1NjBGRVxcdTYwQzFcXHU2MTAzXFx1NjExOFxcdTYxMURcXHU2MTEwXFx1NjBGRlxcdTYxMDRcXHU2MTBCXFx1NjI0QVxcdTYzOTRcXHU2M0IxXFx1NjNCMFxcdTYzQ0VcXHU2M0U1XFx1NjNFOFxcdTYzRUZcXHU2M0MzXFx1NjQ5RFxcdTYzRjNcXHU2M0NBXFx1NjNFMFxcdTYzRjZcXHU2M0Q1XFx1NjNGMlxcdTYzRjVcXHU2NDYxXFx1NjNERlxcdTYzQkVcXHU2M0REXFx1NjNEQ1xcdTYzQzRcXHU2M0Q4XFx1NjNEM1xcdTYzQzJcXHU2M0M3XFx1NjNDQ1xcdTYzQ0JcXHU2M0M4XFx1NjNGMFxcdTYzRDdcXHU2M0Q5XFx1NjUzMlxcdTY1NjdcXHU2NTZBXFx1NjU2NFxcdTY1NUNcXHU2NTY4XFx1NjU2NVxcdTY1OENcXHU2NTlEXFx1NjU5RVxcdTY1QUVcXHU2NUQwXFx1NjVEMlwiXSxcbiAgICAgIFtcImQ5YTFcIiwgXCJcXHU2NjdDXFx1NjY2Q1xcdTY2N0JcXHU2NjgwXFx1NjY3MVxcdTY2NzlcXHU2NjZBXFx1NjY3MlxcdTY3MDFcXHU2OTBDXFx1NjhEM1xcdTY5MDRcXHU2OERDXFx1NjkyQVxcdTY4RUNcXHU2OEVBXFx1NjhGMVxcdTY5MEZcXHU2OEQ2XFx1NjhGN1xcdTY4RUJcXHU2OEU0XFx1NjhGNlxcdTY5MTNcXHU2OTEwXFx1NjhGM1xcdTY4RTFcXHU2OTA3XFx1NjhDQ1xcdTY5MDhcXHU2OTcwXFx1NjhCNFxcdTY5MTFcXHU2OEVGXFx1NjhDNlxcdTY5MTRcXHU2OEY4XFx1NjhEMFxcdTY4RkRcXHU2OEZDXFx1NjhFOFxcdTY5MEJcXHU2OTBBXFx1NjkxN1xcdTY4Q0VcXHU2OEM4XFx1NjhERFxcdTY4REVcXHU2OEU2XFx1NjhGNFxcdTY4RDFcXHU2OTA2XFx1NjhENFxcdTY4RTlcXHU2OTE1XFx1NjkyNVxcdTY4QzdcXHU2QjM5XFx1NkIzQlxcdTZCM0ZcXHU2QjNDXFx1NkI5NFxcdTZCOTdcXHU2Qjk5XFx1NkI5NVxcdTZCQkRcXHU2QkYwXFx1NkJGMlxcdTZCRjNcXHU2QzMwXFx1NkRGQ1xcdTZFNDZcXHU2RTQ3XFx1NkUxRlxcdTZFNDlcXHU2RTg4XFx1NkUzQ1xcdTZFM0RcXHU2RTQ1XFx1NkU2MlxcdTZFMkJcXHU2RTNGXFx1NkU0MVxcdTZFNURcXHU2RTczXFx1NkUxQ1xcdTZFMzNcXHU2RTRCXFx1NkU0MFxcdTZFNTFcXHU2RTNCXFx1NkUwM1xcdTZFMkVcXHU2RTVFXCJdLFxuICAgICAgW1wiZGE0MFwiLCBcIlxcdTZFNjhcXHU2RTVDXFx1NkU2MVxcdTZFMzFcXHU2RTI4XFx1NkU2MFxcdTZFNzFcXHU2RTZCXFx1NkUzOVxcdTZFMjJcXHU2RTMwXFx1NkU1M1xcdTZFNjVcXHU2RTI3XFx1NkU3OFxcdTZFNjRcXHU2RTc3XFx1NkU1NVxcdTZFNzlcXHU2RTUyXFx1NkU2NlxcdTZFMzVcXHU2RTM2XFx1NkU1QVxcdTcxMjBcXHU3MTFFXFx1NzEyRlxcdTcwRkJcXHU3MTJFXFx1NzEzMVxcdTcxMjNcXHU3MTI1XFx1NzEyMlxcdTcxMzJcXHU3MTFGXFx1NzEyOFxcdTcxM0FcXHU3MTFCXFx1NzI0QlxcdTcyNUFcXHU3Mjg4XFx1NzI4OVxcdTcyODZcXHU3Mjg1XFx1NzI4QlxcdTczMTJcXHU3MzBCXFx1NzMzMFxcdTczMjJcXHU3MzMxXFx1NzMzM1xcdTczMjdcXHU3MzMyXFx1NzMyRFxcdTczMjZcXHU3MzIzXFx1NzMzNVxcdTczMENcXHU3NDJFXFx1NzQyQ1xcdTc0MzBcXHU3NDJCXFx1NzQxNlwiXSxcbiAgICAgIFtcImRhYTFcIiwgXCJcXHU3NDFBXFx1NzQyMVxcdTc0MkRcXHU3NDMxXFx1NzQyNFxcdTc0MjNcXHU3NDFEXFx1NzQyOVxcdTc0MjBcXHU3NDMyXFx1NzRGQlxcdTc1MkZcXHU3NTZGXFx1NzU2Q1xcdTc1RTdcXHU3NURBXFx1NzVFMVxcdTc1RTZcXHU3NUREXFx1NzVERlxcdTc1RTRcXHU3NUQ3XFx1NzY5NVxcdTc2OTJcXHU3NkRBXFx1Nzc0NlxcdTc3NDdcXHU3NzQ0XFx1Nzc0RFxcdTc3NDVcXHU3NzRBXFx1Nzc0RVxcdTc3NEJcXHU3NzRDXFx1NzdERVxcdTc3RUNcXHU3ODYwXFx1Nzg2NFxcdTc4NjVcXHU3ODVDXFx1Nzg2RFxcdTc4NzFcXHU3ODZBXFx1Nzg2RVxcdTc4NzBcXHU3ODY5XFx1Nzg2OFxcdTc4NUVcXHU3ODYyXFx1Nzk3NFxcdTc5NzNcXHU3OTcyXFx1Nzk3MFxcdTdBMDJcXHU3QTBBXFx1N0EwM1xcdTdBMENcXHU3QTA0XFx1N0E5OVxcdTdBRTZcXHU3QUU0XFx1N0I0QVxcdTdCM0JcXHU3QjQ0XFx1N0I0OFxcdTdCNENcXHU3QjRFXFx1N0I0MFxcdTdCNThcXHU3QjQ1XFx1N0NBMlxcdTdDOUVcXHU3Q0E4XFx1N0NBMVxcdTdENThcXHU3RDZGXFx1N0Q2M1xcdTdENTNcXHU3RDU2XFx1N0Q2N1xcdTdENkFcXHU3RDRGXFx1N0Q2RFxcdTdENUNcXHU3RDZCXFx1N0Q1MlxcdTdENTRcXHU3RDY5XFx1N0Q1MVxcdTdENUZcXHU3RDRFXFx1N0YzRVxcdTdGM0ZcXHU3RjY1XCJdLFxuICAgICAgW1wiZGI0MFwiLCBcIlxcdTdGNjZcXHU3RkEyXFx1N0ZBMFxcdTdGQTFcXHU3RkQ3XFx1ODA1MVxcdTgwNEZcXHU4MDUwXFx1ODBGRVxcdTgwRDRcXHU4MTQzXFx1ODE0QVxcdTgxNTJcXHU4MTRGXFx1ODE0N1xcdTgxM0RcXHU4MTREXFx1ODEzQVxcdTgxRTZcXHU4MUVFXFx1ODFGN1xcdTgxRjhcXHU4MUY5XFx1ODIwNFxcdTgyM0NcXHU4MjNEXFx1ODIzRlxcdTgyNzVcXHU4MzNCXFx1ODNDRlxcdTgzRjlcXHU4NDIzXFx1ODNDMFxcdTgzRThcXHU4NDEyXFx1ODNFN1xcdTgzRTRcXHU4M0ZDXFx1ODNGNlxcdTg0MTBcXHU4M0M2XFx1ODNDOFxcdTgzRUJcXHU4M0UzXFx1ODNCRlxcdTg0MDFcXHU4M0REXFx1ODNFNVxcdTgzRDhcXHU4M0ZGXFx1ODNFMVxcdTgzQ0JcXHU4M0NFXFx1ODNENlxcdTgzRjVcXHU4M0M5XFx1ODQwOVxcdTg0MEZcXHU4M0RFXFx1ODQxMVxcdTg0MDZcXHU4M0MyXFx1ODNGM1wiXSxcbiAgICAgIFtcImRiYTFcIiwgXCJcXHU4M0Q1XFx1ODNGQVxcdTgzQzdcXHU4M0QxXFx1ODNFQVxcdTg0MTNcXHU4M0MzXFx1ODNFQ1xcdTgzRUVcXHU4M0M0XFx1ODNGQlxcdTgzRDdcXHU4M0UyXFx1ODQxQlxcdTgzREJcXHU4M0ZFXFx1ODZEOFxcdTg2RTJcXHU4NkU2XFx1ODZEM1xcdTg2RTNcXHU4NkRBXFx1ODZFQVxcdTg2RERcXHU4NkVCXFx1ODZEQ1xcdTg2RUNcXHU4NkU5XFx1ODZEN1xcdTg2RThcXHU4NkQxXFx1ODg0OFxcdTg4NTZcXHU4ODU1XFx1ODhCQVxcdTg4RDdcXHU4OEI5XFx1ODhCOFxcdTg4QzBcXHU4OEJFXFx1ODhCNlxcdTg4QkNcXHU4OEI3XFx1ODhCRFxcdTg4QjJcXHU4OTAxXFx1ODhDOVxcdTg5OTVcXHU4OTk4XFx1ODk5N1xcdTg5RERcXHU4OURBXFx1ODlEQlxcdThBNEVcXHU4QTREXFx1OEEzOVxcdThBNTlcXHU4QTQwXFx1OEE1N1xcdThBNThcXHU4QTQ0XFx1OEE0NVxcdThBNTJcXHU4QTQ4XFx1OEE1MVxcdThBNEFcXHU4QTRDXFx1OEE0RlxcdThDNUZcXHU4QzgxXFx1OEM4MFxcdThDQkFcXHU4Q0JFXFx1OENCMFxcdThDQjlcXHU4Q0I1XFx1OEQ4NFxcdThEODBcXHU4RDg5XFx1OEREOFxcdThERDNcXHU4RENEXFx1OERDN1xcdThERDZcXHU4RERDXFx1OERDRlxcdThERDVcXHU4REQ5XFx1OERDOFxcdThERDdcXHU4REM1XFx1OEVFRlxcdThFRjdcXHU4RUZBXCJdLFxuICAgICAgW1wiZGM0MFwiLCBcIlxcdThFRjlcXHU4RUU2XFx1OEVFRVxcdThFRTVcXHU4RUY1XFx1OEVFN1xcdThFRThcXHU4RUY2XFx1OEVFQlxcdThFRjFcXHU4RUVDXFx1OEVGNFxcdThFRTlcXHU5MDJEXFx1OTAzNFxcdTkwMkZcXHU5MTA2XFx1OTEyQ1xcdTkxMDRcXHU5MEZGXFx1OTBGQ1xcdTkxMDhcXHU5MEY5XFx1OTBGQlxcdTkxMDFcXHU5MTAwXFx1OTEwN1xcdTkxMDVcXHU5MTAzXFx1OTE2MVxcdTkxNjRcXHU5MTVGXFx1OTE2MlxcdTkxNjBcXHU5MjAxXFx1OTIwQVxcdTkyMjVcXHU5MjAzXFx1OTIxQVxcdTkyMjZcXHU5MjBGXFx1OTIwQ1xcdTkyMDBcXHU5MjEyXFx1OTFGRlxcdTkxRkRcXHU5MjA2XFx1OTIwNFxcdTkyMjdcXHU5MjAyXFx1OTIxQ1xcdTkyMjRcXHU5MjE5XFx1OTIxN1xcdTkyMDVcXHU5MjE2XFx1OTU3QlxcdTk1OERcXHU5NThDXFx1OTU5MFxcdTk2ODdcXHU5NjdFXFx1OTY4OFwiXSxcbiAgICAgIFtcImRjYTFcIiwgXCJcXHU5Njg5XFx1OTY4M1xcdTk2ODBcXHU5NkMyXFx1OTZDOFxcdTk2QzNcXHU5NkYxXFx1OTZGMFxcdTk3NkNcXHU5NzcwXFx1OTc2RVxcdTk4MDdcXHU5OEE5XFx1OThFQlxcdTlDRTZcXHU5RUY5XFx1NEU4M1xcdTRFODRcXHU0RUI2XFx1NTBCRFxcdTUwQkZcXHU1MEM2XFx1NTBBRVxcdTUwQzRcXHU1MENBXFx1NTBCNFxcdTUwQzhcXHU1MEMyXFx1NTBCMFxcdTUwQzFcXHU1MEJBXFx1NTBCMVxcdTUwQ0JcXHU1MEM5XFx1NTBCNlxcdTUwQjhcXHU1MUQ3XFx1NTI3QVxcdTUyNzhcXHU1MjdCXFx1NTI3Q1xcdTU1QzNcXHU1NURCXFx1NTVDQ1xcdTU1RDBcXHU1NUNCXFx1NTVDQVxcdTU1RERcXHU1NUMwXFx1NTVENFxcdTU1QzRcXHU1NUU5XFx1NTVCRlxcdTU1RDJcXHU1NThEXFx1NTVDRlxcdTU1RDVcXHU1NUUyXFx1NTVENlxcdTU1QzhcXHU1NUYyXFx1NTVDRFxcdTU1RDlcXHU1NUMyXFx1NTcxNFxcdTU4NTNcXHU1ODY4XFx1NTg2NFxcdTU4NEZcXHU1ODREXFx1NTg0OVxcdTU4NkZcXHU1ODU1XFx1NTg0RVxcdTU4NURcXHU1ODU5XFx1NTg2NVxcdTU4NUJcXHU1ODNEXFx1NTg2M1xcdTU4NzFcXHU1OEZDXFx1NUFDN1xcdTVBQzRcXHU1QUNCXFx1NUFCQVxcdTVBQjhcXHU1QUIxXFx1NUFCNVxcdTVBQjBcXHU1QUJGXFx1NUFDOFxcdTVBQkJcXHU1QUM2XCJdLFxuICAgICAgW1wiZGQ0MFwiLCBcIlxcdTVBQjdcXHU1QUMwXFx1NUFDQVxcdTVBQjRcXHU1QUI2XFx1NUFDRFxcdTVBQjlcXHU1QTkwXFx1NUJENlxcdTVCRDhcXHU1QkQ5XFx1NUMxRlxcdTVDMzNcXHU1RDcxXFx1NUQ2M1xcdTVENEFcXHU1RDY1XFx1NUQ3MlxcdTVENkNcXHU1RDVFXFx1NUQ2OFxcdTVENjdcXHU1RDYyXFx1NURGMFxcdTVFNEZcXHU1RTRFXFx1NUU0QVxcdTVFNERcXHU1RTRCXFx1NUVDNVxcdTVFQ0NcXHU1RUM2XFx1NUVDQlxcdTVFQzdcXHU1RjQwXFx1NUZBRlxcdTVGQURcXHU2MEY3XFx1NjE0OVxcdTYxNEFcXHU2MTJCXFx1NjE0NVxcdTYxMzZcXHU2MTMyXFx1NjEyRVxcdTYxNDZcXHU2MTJGXFx1NjE0RlxcdTYxMjlcXHU2MTQwXFx1NjIyMFxcdTkxNjhcXHU2MjIzXFx1NjIyNVxcdTYyMjRcXHU2M0M1XFx1NjNGMVxcdTYzRUJcXHU2NDEwXFx1NjQxMlxcdTY0MDlcXHU2NDIwXFx1NjQyNFwiXSxcbiAgICAgIFtcImRkYTFcIiwgXCJcXHU2NDMzXFx1NjQ0M1xcdTY0MUZcXHU2NDE1XFx1NjQxOFxcdTY0MzlcXHU2NDM3XFx1NjQyMlxcdTY0MjNcXHU2NDBDXFx1NjQyNlxcdTY0MzBcXHU2NDI4XFx1NjQ0MVxcdTY0MzVcXHU2NDJGXFx1NjQwQVxcdTY0MUFcXHU2NDQwXFx1NjQyNVxcdTY0MjdcXHU2NDBCXFx1NjNFN1xcdTY0MUJcXHU2NDJFXFx1NjQyMVxcdTY0MEVcXHU2NTZGXFx1NjU5MlxcdTY1RDNcXHU2Njg2XFx1NjY4Q1xcdTY2OTVcXHU2NjkwXFx1NjY4QlxcdTY2OEFcXHU2Njk5XFx1NjY5NFxcdTY2NzhcXHU2NzIwXFx1Njk2NlxcdTY5NUZcXHU2OTM4XFx1Njk0RVxcdTY5NjJcXHU2OTcxXFx1NjkzRlxcdTY5NDVcXHU2OTZBXFx1NjkzOVxcdTY5NDJcXHU2OTU3XFx1Njk1OVxcdTY5N0FcXHU2OTQ4XFx1Njk0OVxcdTY5MzVcXHU2OTZDXFx1NjkzM1xcdTY5M0RcXHU2OTY1XFx1NjhGMFxcdTY5NzhcXHU2OTM0XFx1Njk2OVxcdTY5NDBcXHU2OTZGXFx1Njk0NFxcdTY5NzZcXHU2OTU4XFx1Njk0MVxcdTY5NzRcXHU2OTRDXFx1NjkzQlxcdTY5NEJcXHU2OTM3XFx1Njk1Q1xcdTY5NEZcXHU2OTUxXFx1NjkzMlxcdTY5NTJcXHU2OTJGXFx1Njk3QlxcdTY5M0NcXHU2QjQ2XFx1NkI0NVxcdTZCNDNcXHU2QjQyXFx1NkI0OFxcdTZCNDFcXHU2QjlCXFx1RkEwRFxcdTZCRkJcXHU2QkZDXCJdLFxuICAgICAgW1wiZGU0MFwiLCBcIlxcdTZCRjlcXHU2QkY3XFx1NkJGOFxcdTZFOUJcXHU2RUQ2XFx1NkVDOFxcdTZFOEZcXHU2RUMwXFx1NkU5RlxcdTZFOTNcXHU2RTk0XFx1NkVBMFxcdTZFQjFcXHU2RUI5XFx1NkVDNlxcdTZFRDJcXHU2RUJEXFx1NkVDMVxcdTZFOUVcXHU2RUM5XFx1NkVCN1xcdTZFQjBcXHU2RUNEXFx1NkVBNlxcdTZFQ0ZcXHU2RUIyXFx1NkVCRVxcdTZFQzNcXHU2RURDXFx1NkVEOFxcdTZFOTlcXHU2RTkyXFx1NkU4RVxcdTZFOERcXHU2RUE0XFx1NkVBMVxcdTZFQkZcXHU2RUIzXFx1NkVEMFxcdTZFQ0FcXHU2RTk3XFx1NkVBRVxcdTZFQTNcXHU3MTQ3XFx1NzE1NFxcdTcxNTJcXHU3MTYzXFx1NzE2MFxcdTcxNDFcXHU3MTVEXFx1NzE2MlxcdTcxNzJcXHU3MTc4XFx1NzE2QVxcdTcxNjFcXHU3MTQyXFx1NzE1OFxcdTcxNDNcXHU3MTRCXFx1NzE3MFxcdTcxNUZcXHU3MTUwXFx1NzE1M1wiXSxcbiAgICAgIFtcImRlYTFcIiwgXCJcXHU3MTQ0XFx1NzE0RFxcdTcxNUFcXHU3MjRGXFx1NzI4RFxcdTcyOENcXHU3MjkxXFx1NzI5MFxcdTcyOEVcXHU3MzNDXFx1NzM0MlxcdTczM0JcXHU3MzNBXFx1NzM0MFxcdTczNEFcXHU3MzQ5XFx1NzQ0NFxcdTc0NEFcXHU3NDRCXFx1NzQ1MlxcdTc0NTFcXHU3NDU3XFx1NzQ0MFxcdTc0NEZcXHU3NDUwXFx1NzQ0RVxcdTc0NDJcXHU3NDQ2XFx1NzQ0RFxcdTc0NTRcXHU3NEUxXFx1NzRGRlxcdTc0RkVcXHU3NEZEXFx1NzUxRFxcdTc1NzlcXHU3NTc3XFx1Njk4M1xcdTc1RUZcXHU3NjBGXFx1NzYwM1xcdTc1RjdcXHU3NUZFXFx1NzVGQ1xcdTc1RjlcXHU3NUY4XFx1NzYxMFxcdTc1RkJcXHU3NUY2XFx1NzVFRFxcdTc1RjVcXHU3NUZEXFx1NzY5OVxcdTc2QjVcXHU3NkREXFx1Nzc1NVxcdTc3NUZcXHU3NzYwXFx1Nzc1MlxcdTc3NTZcXHU3NzVBXFx1Nzc2OVxcdTc3NjdcXHU3NzU0XFx1Nzc1OVxcdTc3NkRcXHU3N0UwXFx1Nzg4N1xcdTc4OUFcXHU3ODk0XFx1Nzg4RlxcdTc4ODRcXHU3ODk1XFx1Nzg4NVxcdTc4ODZcXHU3OEExXFx1Nzg4M1xcdTc4NzlcXHU3ODk5XFx1Nzg4MFxcdTc4OTZcXHU3ODdCXFx1Nzk3Q1xcdTc5ODJcXHU3OTdEXFx1Nzk3OVxcdTdBMTFcXHU3QTE4XFx1N0ExOVxcdTdBMTJcXHU3QTE3XFx1N0ExNVxcdTdBMjJcXHU3QTEzXCJdLFxuICAgICAgW1wiZGY0MFwiLCBcIlxcdTdBMUJcXHU3QTEwXFx1N0FBM1xcdTdBQTJcXHU3QTlFXFx1N0FFQlxcdTdCNjZcXHU3QjY0XFx1N0I2RFxcdTdCNzRcXHU3QjY5XFx1N0I3MlxcdTdCNjVcXHU3QjczXFx1N0I3MVxcdTdCNzBcXHU3QjYxXFx1N0I3OFxcdTdCNzZcXHU3QjYzXFx1N0NCMlxcdTdDQjRcXHU3Q0FGXFx1N0Q4OFxcdTdEODZcXHU3RDgwXFx1N0Q4RFxcdTdEN0ZcXHU3RDg1XFx1N0Q3QVxcdTdEOEVcXHU3RDdCXFx1N0Q4M1xcdTdEN0NcXHU3RDhDXFx1N0Q5NFxcdTdEODRcXHU3RDdEXFx1N0Q5MlxcdTdGNkRcXHU3RjZCXFx1N0Y2N1xcdTdGNjhcXHU3RjZDXFx1N0ZBNlxcdTdGQTVcXHU3RkE3XFx1N0ZEQlxcdTdGRENcXHU4MDIxXFx1ODE2NFxcdTgxNjBcXHU4MTc3XFx1ODE1Q1xcdTgxNjlcXHU4MTVCXFx1ODE2MlxcdTgxNzJcXHU2NzIxXFx1ODE1RVxcdTgxNzZcXHU4MTY3XFx1ODE2RlwiXSxcbiAgICAgIFtcImRmYTFcIiwgXCJcXHU4MTQ0XFx1ODE2MVxcdTgyMURcXHU4MjQ5XFx1ODI0NFxcdTgyNDBcXHU4MjQyXFx1ODI0NVxcdTg0RjFcXHU4NDNGXFx1ODQ1NlxcdTg0NzZcXHU4NDc5XFx1ODQ4RlxcdTg0OERcXHU4NDY1XFx1ODQ1MVxcdTg0NDBcXHU4NDg2XFx1ODQ2N1xcdTg0MzBcXHU4NDREXFx1ODQ3RFxcdTg0NUFcXHU4NDU5XFx1ODQ3NFxcdTg0NzNcXHU4NDVEXFx1ODUwN1xcdTg0NUVcXHU4NDM3XFx1ODQzQVxcdTg0MzRcXHU4NDdBXFx1ODQ0M1xcdTg0NzhcXHU4NDMyXFx1ODQ0NVxcdTg0MjlcXHU4M0Q5XFx1ODQ0QlxcdTg0MkZcXHU4NDQyXFx1ODQyRFxcdTg0NUZcXHU4NDcwXFx1ODQzOVxcdTg0NEVcXHU4NDRDXFx1ODQ1MlxcdTg0NkZcXHU4NEM1XFx1ODQ4RVxcdTg0M0JcXHU4NDQ3XFx1ODQzNlxcdTg0MzNcXHU4NDY4XFx1ODQ3RVxcdTg0NDRcXHU4NDJCXFx1ODQ2MFxcdTg0NTRcXHU4NDZFXFx1ODQ1MFxcdTg3MEJcXHU4NzA0XFx1ODZGN1xcdTg3MENcXHU4NkZBXFx1ODZENlxcdTg2RjVcXHU4NzREXFx1ODZGOFxcdTg3MEVcXHU4NzA5XFx1ODcwMVxcdTg2RjZcXHU4NzBEXFx1ODcwNVxcdTg4RDZcXHU4OENCXFx1ODhDRFxcdTg4Q0VcXHU4OERFXFx1ODhEQlxcdTg4REFcXHU4OENDXFx1ODhEMFxcdTg5ODVcXHU4OTlCXFx1ODlERlxcdTg5RTVcXHU4OUU0XCJdLFxuICAgICAgW1wiZTA0MFwiLCBcIlxcdTg5RTFcXHU4OUUwXFx1ODlFMlxcdTg5RENcXHU4OUU2XFx1OEE3NlxcdThBODZcXHU4QTdGXFx1OEE2MVxcdThBM0ZcXHU4QTc3XFx1OEE4MlxcdThBODRcXHU4QTc1XFx1OEE4M1xcdThBODFcXHU4QTc0XFx1OEE3QVxcdThDM0NcXHU4QzRCXFx1OEM0QVxcdThDNjVcXHU4QzY0XFx1OEM2NlxcdThDODZcXHU4Qzg0XFx1OEM4NVxcdThDQ0NcXHU4RDY4XFx1OEQ2OVxcdThEOTFcXHU4RDhDXFx1OEQ4RVxcdThEOEZcXHU4RDhEXFx1OEQ5M1xcdThEOTRcXHU4RDkwXFx1OEQ5MlxcdThERjBcXHU4REUwXFx1OERFQ1xcdThERjFcXHU4REVFXFx1OEREMFxcdThERTlcXHU4REUzXFx1OERFMlxcdThERTdcXHU4REYyXFx1OERFQlxcdThERjRcXHU4RjA2XFx1OEVGRlxcdThGMDFcXHU4RjAwXFx1OEYwNVxcdThGMDdcXHU4RjA4XFx1OEYwMlxcdThGMEJcXHU5MDUyXFx1OTAzRlwiXSxcbiAgICAgIFtcImUwYTFcIiwgXCJcXHU5MDQ0XFx1OTA0OVxcdTkwM0RcXHU5MTEwXFx1OTEwRFxcdTkxMEZcXHU5MTExXFx1OTExNlxcdTkxMTRcXHU5MTBCXFx1OTEwRVxcdTkxNkVcXHU5MTZGXFx1OTI0OFxcdTkyNTJcXHU5MjMwXFx1OTIzQVxcdTkyNjZcXHU5MjMzXFx1OTI2NVxcdTkyNUVcXHU5MjgzXFx1OTIyRVxcdTkyNEFcXHU5MjQ2XFx1OTI2RFxcdTkyNkNcXHU5MjRGXFx1OTI2MFxcdTkyNjdcXHU5MjZGXFx1OTIzNlxcdTkyNjFcXHU5MjcwXFx1OTIzMVxcdTkyNTRcXHU5MjYzXFx1OTI1MFxcdTkyNzJcXHU5MjRFXFx1OTI1M1xcdTkyNENcXHU5MjU2XFx1OTIzMlxcdTk1OUZcXHU5NTlDXFx1OTU5RVxcdTk1OUJcXHU5NjkyXFx1OTY5M1xcdTk2OTFcXHU5Njk3XFx1OTZDRVxcdTk2RkFcXHU5NkZEXFx1OTZGOFxcdTk2RjVcXHU5NzczXFx1OTc3N1xcdTk3NzhcXHU5NzcyXFx1OTgwRlxcdTk4MERcXHU5ODBFXFx1OThBQ1xcdTk4RjZcXHU5OEY5XFx1OTlBRlxcdTk5QjJcXHU5OUIwXFx1OTlCNVxcdTlBQURcXHU5QUFCXFx1OUI1QlxcdTlDRUFcXHU5Q0VEXFx1OUNFN1xcdTlFODBcXHU5RUZEXFx1NTBFNlxcdTUwRDRcXHU1MEQ3XFx1NTBFOFxcdTUwRjNcXHU1MERCXFx1NTBFQVxcdTUwRERcXHU1MEU0XFx1NTBEM1xcdTUwRUNcXHU1MEYwXFx1NTBFRlxcdTUwRTNcXHU1MEUwXCJdLFxuICAgICAgW1wiZTE0MFwiLCBcIlxcdTUxRDhcXHU1MjgwXFx1NTI4MVxcdTUyRTlcXHU1MkVCXFx1NTMzMFxcdTUzQUNcXHU1NjI3XFx1NTYxNVxcdTU2MENcXHU1NjEyXFx1NTVGQ1xcdTU2MEZcXHU1NjFDXFx1NTYwMVxcdTU2MTNcXHU1NjAyXFx1NTVGQVxcdTU2MURcXHU1NjA0XFx1NTVGRlxcdTU1RjlcXHU1ODg5XFx1NTg3Q1xcdTU4OTBcXHU1ODk4XFx1NTg4NlxcdTU4ODFcXHU1ODdGXFx1NTg3NFxcdTU4OEJcXHU1ODdBXFx1NTg4N1xcdTU4OTFcXHU1ODhFXFx1NTg3NlxcdTU4ODJcXHU1ODg4XFx1NTg3QlxcdTU4OTRcXHU1ODhGXFx1NThGRVxcdTU5NkJcXHU1QURDXFx1NUFFRVxcdTVBRTVcXHU1QUQ1XFx1NUFFQVxcdTVBREFcXHU1QUVEXFx1NUFFQlxcdTVBRjNcXHU1QUUyXFx1NUFFMFxcdTVBREJcXHU1QUVDXFx1NUFERVxcdTVBRERcXHU1QUQ5XFx1NUFFOFxcdTVBREZcXHU1Qjc3XFx1NUJFMFwiXSxcbiAgICAgIFtcImUxYTFcIiwgXCJcXHU1QkUzXFx1NUM2M1xcdTVEODJcXHU1RDgwXFx1NUQ3RFxcdTVEODZcXHU1RDdBXFx1NUQ4MVxcdTVENzdcXHU1RDhBXFx1NUQ4OVxcdTVEODhcXHU1RDdFXFx1NUQ3Q1xcdTVEOERcXHU1RDc5XFx1NUQ3RlxcdTVFNThcXHU1RTU5XFx1NUU1M1xcdTVFRDhcXHU1RUQxXFx1NUVEN1xcdTVFQ0VcXHU1RURDXFx1NUVENVxcdTVFRDlcXHU1RUQyXFx1NUVENFxcdTVGNDRcXHU1RjQzXFx1NUY2RlxcdTVGQjZcXHU2MTJDXFx1NjEyOFxcdTYxNDFcXHU2MTVFXFx1NjE3MVxcdTYxNzNcXHU2MTUyXFx1NjE1M1xcdTYxNzJcXHU2MTZDXFx1NjE4MFxcdTYxNzRcXHU2MTU0XFx1NjE3QVxcdTYxNUJcXHU2MTY1XFx1NjEzQlxcdTYxNkFcXHU2MTYxXFx1NjE1NlxcdTYyMjlcXHU2MjI3XFx1NjIyQlxcdTY0MkJcXHU2NDREXFx1NjQ1QlxcdTY0NURcXHU2NDc0XFx1NjQ3NlxcdTY0NzJcXHU2NDczXFx1NjQ3RFxcdTY0NzVcXHU2NDY2XFx1NjRBNlxcdTY0NEVcXHU2NDgyXFx1NjQ1RVxcdTY0NUNcXHU2NDRCXFx1NjQ1M1xcdTY0NjBcXHU2NDUwXFx1NjQ3RlxcdTY0M0ZcXHU2NDZDXFx1NjQ2QlxcdTY0NTlcXHU2NDY1XFx1NjQ3N1xcdTY1NzNcXHU2NUEwXFx1NjZBMVxcdTY2QTBcXHU2NjlGXFx1NjcwNVxcdTY3MDRcXHU2NzIyXFx1NjlCMVxcdTY5QjZcXHU2OUM5XCJdLFxuICAgICAgW1wiZTI0MFwiLCBcIlxcdTY5QTBcXHU2OUNFXFx1Njk5NlxcdTY5QjBcXHU2OUFDXFx1NjlCQ1xcdTY5OTFcXHU2OTk5XFx1Njk4RVxcdTY5QTdcXHU2OThEXFx1NjlBOVxcdTY5QkVcXHU2OUFGXFx1NjlCRlxcdTY5QzRcXHU2OUJEXFx1NjlBNFxcdTY5RDRcXHU2OUI5XFx1NjlDQVxcdTY5OUFcXHU2OUNGXFx1NjlCM1xcdTY5OTNcXHU2OUFBXFx1NjlBMVxcdTY5OUVcXHU2OUQ5XFx1Njk5N1xcdTY5OTBcXHU2OUMyXFx1NjlCNVxcdTY5QTVcXHU2OUM2XFx1NkI0QVxcdTZCNERcXHU2QjRCXFx1NkI5RVxcdTZCOUZcXHU2QkEwXFx1NkJDM1xcdTZCQzRcXHU2QkZFXFx1NkVDRVxcdTZFRjVcXHU2RUYxXFx1NkYwM1xcdTZGMjVcXHU2RUY4XFx1NkYzN1xcdTZFRkJcXHU2RjJFXFx1NkYwOVxcdTZGNEVcXHU2RjE5XFx1NkYxQVxcdTZGMjdcXHU2RjE4XFx1NkYzQlxcdTZGMTJcXHU2RUVEXFx1NkYwQVwiXSxcbiAgICAgIFtcImUyYTFcIiwgXCJcXHU2RjM2XFx1NkY3M1xcdTZFRjlcXHU2RUVFXFx1NkYyRFxcdTZGNDBcXHU2RjMwXFx1NkYzQ1xcdTZGMzVcXHU2RUVCXFx1NkYwN1xcdTZGMEVcXHU2RjQzXFx1NkYwNVxcdTZFRkRcXHU2RUY2XFx1NkYzOVxcdTZGMUNcXHU2RUZDXFx1NkYzQVxcdTZGMUZcXHU2RjBEXFx1NkYxRVxcdTZGMDhcXHU2RjIxXFx1NzE4N1xcdTcxOTBcXHU3MTg5XFx1NzE4MFxcdTcxODVcXHU3MTgyXFx1NzE4RlxcdTcxN0JcXHU3MTg2XFx1NzE4MVxcdTcxOTdcXHU3MjQ0XFx1NzI1M1xcdTcyOTdcXHU3Mjk1XFx1NzI5M1xcdTczNDNcXHU3MzREXFx1NzM1MVxcdTczNENcXHU3NDYyXFx1NzQ3M1xcdTc0NzFcXHU3NDc1XFx1NzQ3MlxcdTc0NjdcXHU3NDZFXFx1NzUwMFxcdTc1MDJcXHU3NTAzXFx1NzU3RFxcdTc1OTBcXHU3NjE2XFx1NzYwOFxcdTc2MENcXHU3NjE1XFx1NzYxMVxcdTc2MEFcXHU3NjE0XFx1NzZCOFxcdTc3ODFcXHU3NzdDXFx1Nzc4NVxcdTc3ODJcXHU3NzZFXFx1Nzc4MFxcdTc3NkZcXHU3NzdFXFx1Nzc4M1xcdTc4QjJcXHU3OEFBXFx1NzhCNFxcdTc4QURcXHU3OEE4XFx1Nzg3RVxcdTc4QUJcXHU3ODlFXFx1NzhBNVxcdTc4QTBcXHU3OEFDXFx1NzhBMlxcdTc4QTRcXHU3OTk4XFx1Nzk4QVxcdTc5OEJcXHU3OTk2XFx1Nzk5NVxcdTc5OTRcXHU3OTkzXCJdLFxuICAgICAgW1wiZTM0MFwiLCBcIlxcdTc5OTdcXHU3OTg4XFx1Nzk5MlxcdTc5OTBcXHU3QTJCXFx1N0E0QVxcdTdBMzBcXHU3QTJGXFx1N0EyOFxcdTdBMjZcXHU3QUE4XFx1N0FBQlxcdTdBQUNcXHU3QUVFXFx1N0I4OFxcdTdCOUNcXHU3QjhBXFx1N0I5MVxcdTdCOTBcXHU3Qjk2XFx1N0I4RFxcdTdCOENcXHU3QjlCXFx1N0I4RVxcdTdCODVcXHU3Qjk4XFx1NTI4NFxcdTdCOTlcXHU3QkE0XFx1N0I4MlxcdTdDQkJcXHU3Q0JGXFx1N0NCQ1xcdTdDQkFcXHU3REE3XFx1N0RCN1xcdTdEQzJcXHU3REEzXFx1N0RBQVxcdTdEQzFcXHU3REMwXFx1N0RDNVxcdTdEOURcXHU3RENFXFx1N0RDNFxcdTdEQzZcXHU3RENCXFx1N0RDQ1xcdTdEQUZcXHU3REI5XFx1N0Q5NlxcdTdEQkNcXHU3RDlGXFx1N0RBNlxcdTdEQUVcXHU3REE5XFx1N0RBMVxcdTdEQzlcXHU3RjczXFx1N0ZFMlxcdTdGRTNcXHU3RkU1XFx1N0ZERVwiXSxcbiAgICAgIFtcImUzYTFcIiwgXCJcXHU4MDI0XFx1ODA1RFxcdTgwNUNcXHU4MTg5XFx1ODE4NlxcdTgxODNcXHU4MTg3XFx1ODE4RFxcdTgxOENcXHU4MThCXFx1ODIxNVxcdTg0OTdcXHU4NEE0XFx1ODRBMVxcdTg0OUZcXHU4NEJBXFx1ODRDRVxcdTg0QzJcXHU4NEFDXFx1ODRBRVxcdTg0QUJcXHU4NEI5XFx1ODRCNFxcdTg0QzFcXHU4NENEXFx1ODRBQVxcdTg0OUFcXHU4NEIxXFx1ODREMFxcdTg0OURcXHU4NEE3XFx1ODRCQlxcdTg0QTJcXHU4NDk0XFx1ODRDN1xcdTg0Q0NcXHU4NDlCXFx1ODRBOVxcdTg0QUZcXHU4NEE4XFx1ODRENlxcdTg0OThcXHU4NEI2XFx1ODRDRlxcdTg0QTBcXHU4NEQ3XFx1ODRENFxcdTg0RDJcXHU4NERCXFx1ODRCMFxcdTg0OTFcXHU4NjYxXFx1ODczM1xcdTg3MjNcXHU4NzI4XFx1ODc2QlxcdTg3NDBcXHU4NzJFXFx1ODcxRVxcdTg3MjFcXHU4NzE5XFx1ODcxQlxcdTg3NDNcXHU4NzJDXFx1ODc0MVxcdTg3M0VcXHU4NzQ2XFx1ODcyMFxcdTg3MzJcXHU4NzJBXFx1ODcyRFxcdTg3M0NcXHU4NzEyXFx1ODczQVxcdTg3MzFcXHU4NzM1XFx1ODc0MlxcdTg3MjZcXHU4NzI3XFx1ODczOFxcdTg3MjRcXHU4NzFBXFx1ODczMFxcdTg3MTFcXHU4OEY3XFx1ODhFN1xcdTg4RjFcXHU4OEYyXFx1ODhGQVxcdTg4RkVcXHU4OEVFXFx1ODhGQ1xcdTg4RjZcXHU4OEZCXCJdLFxuICAgICAgW1wiZTQ0MFwiLCBcIlxcdTg4RjBcXHU4OEVDXFx1ODhFQlxcdTg5OURcXHU4OUExXFx1ODk5RlxcdTg5OUVcXHU4OUU5XFx1ODlFQlxcdTg5RThcXHU4QUFCXFx1OEE5OVxcdThBOEJcXHU4QTkyXFx1OEE4RlxcdThBOTZcXHU4QzNEXFx1OEM2OFxcdThDNjlcXHU4Q0Q1XFx1OENDRlxcdThDRDdcXHU4RDk2XFx1OEUwOVxcdThFMDJcXHU4REZGXFx1OEUwRFxcdThERkRcXHU4RTBBXFx1OEUwM1xcdThFMDdcXHU4RTA2XFx1OEUwNVxcdThERkVcXHU4RTAwXFx1OEUwNFxcdThGMTBcXHU4RjExXFx1OEYwRVxcdThGMERcXHU5MTIzXFx1OTExQ1xcdTkxMjBcXHU5MTIyXFx1OTExRlxcdTkxMURcXHU5MTFBXFx1OTEyNFxcdTkxMjFcXHU5MTFCXFx1OTE3QVxcdTkxNzJcXHU5MTc5XFx1OTE3M1xcdTkyQTVcXHU5MkE0XFx1OTI3NlxcdTkyOUJcXHU5MjdBXFx1OTJBMFxcdTkyOTRcXHU5MkFBXFx1OTI4RFwiXSxcbiAgICAgIFtcImU0YTFcIiwgXCJcXHU5MkE2XFx1OTI5QVxcdTkyQUJcXHU5Mjc5XFx1OTI5N1xcdTkyN0ZcXHU5MkEzXFx1OTJFRVxcdTkyOEVcXHU5MjgyXFx1OTI5NVxcdTkyQTJcXHU5MjdEXFx1OTI4OFxcdTkyQTFcXHU5MjhBXFx1OTI4NlxcdTkyOENcXHU5Mjk5XFx1OTJBN1xcdTkyN0VcXHU5Mjg3XFx1OTJBOVxcdTkyOURcXHU5MjhCXFx1OTIyRFxcdTk2OUVcXHU5NkExXFx1OTZGRlxcdTk3NThcXHU5NzdEXFx1OTc3QVxcdTk3N0VcXHU5NzgzXFx1OTc4MFxcdTk3ODJcXHU5NzdCXFx1OTc4NFxcdTk3ODFcXHU5NzdGXFx1OTdDRVxcdTk3Q0RcXHU5ODE2XFx1OThBRFxcdTk4QUVcXHU5OTAyXFx1OTkwMFxcdTk5MDdcXHU5OTlEXFx1OTk5Q1xcdTk5QzNcXHU5OUI5XFx1OTlCQlxcdTk5QkFcXHU5OUMyXFx1OTlCRFxcdTk5QzdcXHU5QUIxXFx1OUFFM1xcdTlBRTdcXHU5QjNFXFx1OUIzRlxcdTlCNjBcXHU5QjYxXFx1OUI1RlxcdTlDRjFcXHU5Q0YyXFx1OUNGNVxcdTlFQTdcXHU1MEZGXFx1NTEwM1xcdTUxMzBcXHU1MEY4XFx1NTEwNlxcdTUxMDdcXHU1MEY2XFx1NTBGRVxcdTUxMEJcXHU1MTBDXFx1NTBGRFxcdTUxMEFcXHU1MjhCXFx1NTI4Q1xcdTUyRjFcXHU1MkVGXFx1NTY0OFxcdTU2NDJcXHU1NjRDXFx1NTYzNVxcdTU2NDFcXHU1NjRBXFx1NTY0OVxcdTU2NDZcXHU1NjU4XCJdLFxuICAgICAgW1wiZTU0MFwiLCBcIlxcdTU2NUFcXHU1NjQwXFx1NTYzM1xcdTU2M0RcXHU1NjJDXFx1NTYzRVxcdTU2MzhcXHU1NjJBXFx1NTYzQVxcdTU3MUFcXHU1OEFCXFx1NTg5RFxcdTU4QjFcXHU1OEEwXFx1NThBM1xcdTU4QUZcXHU1OEFDXFx1NThBNVxcdTU4QTFcXHU1OEZGXFx1NUFGRlxcdTVBRjRcXHU1QUZEXFx1NUFGN1xcdTVBRjZcXHU1QjAzXFx1NUFGOFxcdTVCMDJcXHU1QUY5XFx1NUIwMVxcdTVCMDdcXHU1QjA1XFx1NUIwRlxcdTVDNjdcXHU1RDk5XFx1NUQ5N1xcdTVEOUZcXHU1RDkyXFx1NURBMlxcdTVEOTNcXHU1RDk1XFx1NURBMFxcdTVEOUNcXHU1REExXFx1NUQ5QVxcdTVEOUVcXHU1RTY5XFx1NUU1RFxcdTVFNjBcXHU1RTVDXFx1N0RGM1xcdTVFREJcXHU1RURFXFx1NUVFMVxcdTVGNDlcXHU1RkIyXFx1NjE4QlxcdTYxODNcXHU2MTc5XFx1NjFCMVxcdTYxQjBcXHU2MUEyXFx1NjE4OVwiXSxcbiAgICAgIFtcImU1YTFcIiwgXCJcXHU2MTlCXFx1NjE5M1xcdTYxQUZcXHU2MUFEXFx1NjE5RlxcdTYxOTJcXHU2MUFBXFx1NjFBMVxcdTYxOERcXHU2MTY2XFx1NjFCM1xcdTYyMkRcXHU2NDZFXFx1NjQ3MFxcdTY0OTZcXHU2NEEwXFx1NjQ4NVxcdTY0OTdcXHU2NDlDXFx1NjQ4RlxcdTY0OEJcXHU2NDhBXFx1NjQ4Q1xcdTY0QTNcXHU2NDlGXFx1NjQ2OFxcdTY0QjFcXHU2NDk4XFx1NjU3NlxcdTY1N0FcXHU2NTc5XFx1NjU3QlxcdTY1QjJcXHU2NUIzXFx1NjZCNVxcdTY2QjBcXHU2NkE5XFx1NjZCMlxcdTY2QjdcXHU2NkFBXFx1NjZBRlxcdTZBMDBcXHU2QTA2XFx1NkExN1xcdTY5RTVcXHU2OUY4XFx1NkExNVxcdTY5RjFcXHU2OUU0XFx1NkEyMFxcdTY5RkZcXHU2OUVDXFx1NjlFMlxcdTZBMUJcXHU2QTFEXFx1NjlGRVxcdTZBMjdcXHU2OUYyXFx1NjlFRVxcdTZBMTRcXHU2OUY3XFx1NjlFN1xcdTZBNDBcXHU2QTA4XFx1NjlFNlxcdTY5RkJcXHU2QTBEXFx1NjlGQ1xcdTY5RUJcXHU2QTA5XFx1NkEwNFxcdTZBMThcXHU2QTI1XFx1NkEwRlxcdTY5RjZcXHU2QTI2XFx1NkEwN1xcdTY5RjRcXHU2QTE2XFx1NkI1MVxcdTZCQTVcXHU2QkEzXFx1NkJBMlxcdTZCQTZcXHU2QzAxXFx1NkMwMFxcdTZCRkZcXHU2QzAyXFx1NkY0MVxcdTZGMjZcXHU2RjdFXFx1NkY4N1xcdTZGQzZcXHU2RjkyXCJdLFxuICAgICAgW1wiZTY0MFwiLCBcIlxcdTZGOERcXHU2Rjg5XFx1NkY4Q1xcdTZGNjJcXHU2RjRGXFx1NkY4NVxcdTZGNUFcXHU2Rjk2XFx1NkY3NlxcdTZGNkNcXHU2RjgyXFx1NkY1NVxcdTZGNzJcXHU2RjUyXFx1NkY1MFxcdTZGNTdcXHU2Rjk0XFx1NkY5M1xcdTZGNURcXHU2RjAwXFx1NkY2MVxcdTZGNkJcXHU2RjdEXFx1NkY2N1xcdTZGOTBcXHU2RjUzXFx1NkY4QlxcdTZGNjlcXHU2RjdGXFx1NkY5NVxcdTZGNjNcXHU2Rjc3XFx1NkY2QVxcdTZGN0JcXHU3MUIyXFx1NzFBRlxcdTcxOUJcXHU3MUIwXFx1NzFBMFxcdTcxOUFcXHU3MUE5XFx1NzFCNVxcdTcxOURcXHU3MUE1XFx1NzE5RVxcdTcxQTRcXHU3MUExXFx1NzFBQVxcdTcxOUNcXHU3MUE3XFx1NzFCM1xcdTcyOThcXHU3MjlBXFx1NzM1OFxcdTczNTJcXHU3MzVFXFx1NzM1RlxcdTczNjBcXHU3MzVEXFx1NzM1QlxcdTczNjFcXHU3MzVBXFx1NzM1OVwiXSxcbiAgICAgIFtcImU2YTFcIiwgXCJcXHU3MzYyXFx1NzQ4N1xcdTc0ODlcXHU3NDhBXFx1NzQ4NlxcdTc0ODFcXHU3NDdEXFx1NzQ4NVxcdTc0ODhcXHU3NDdDXFx1NzQ3OVxcdTc1MDhcXHU3NTA3XFx1NzU3RVxcdTc2MjVcXHU3NjFFXFx1NzYxOVxcdTc2MURcXHU3NjFDXFx1NzYyM1xcdTc2MUFcXHU3NjI4XFx1NzYxQlxcdTc2OUNcXHU3NjlEXFx1NzY5RVxcdTc2OUJcXHU3NzhEXFx1Nzc4RlxcdTc3ODlcXHU3Nzg4XFx1NzhDRFxcdTc4QkJcXHU3OENGXFx1NzhDQ1xcdTc4RDFcXHU3OENFXFx1NzhENFxcdTc4QzhcXHU3OEMzXFx1NzhDNFxcdTc4QzlcXHU3OTlBXFx1NzlBMVxcdTc5QTBcXHU3OTlDXFx1NzlBMlxcdTc5OUJcXHU2Qjc2XFx1N0EzOVxcdTdBQjJcXHU3QUI0XFx1N0FCM1xcdTdCQjdcXHU3QkNCXFx1N0JCRVxcdTdCQUNcXHU3QkNFXFx1N0JBRlxcdTdCQjlcXHU3QkNBXFx1N0JCNVxcdTdDQzVcXHU3Q0M4XFx1N0NDQ1xcdTdDQ0JcXHU3REY3XFx1N0REQlxcdTdERUFcXHU3REU3XFx1N0REN1xcdTdERTFcXHU3RTAzXFx1N0RGQVxcdTdERTZcXHU3REY2XFx1N0RGMVxcdTdERjBcXHU3REVFXFx1N0RERlxcdTdGNzZcXHU3RkFDXFx1N0ZCMFxcdTdGQURcXHU3RkVEXFx1N0ZFQlxcdTdGRUFcXHU3RkVDXFx1N0ZFNlxcdTdGRThcXHU4MDY0XFx1ODA2N1xcdTgxQTNcXHU4MTlGXCJdLFxuICAgICAgW1wiZTc0MFwiLCBcIlxcdTgxOUVcXHU4MTk1XFx1ODFBMlxcdTgxOTlcXHU4MTk3XFx1ODIxNlxcdTgyNEZcXHU4MjUzXFx1ODI1MlxcdTgyNTBcXHU4MjRFXFx1ODI1MVxcdTg1MjRcXHU4NTNCXFx1ODUwRlxcdTg1MDBcXHU4NTI5XFx1ODUwRVxcdTg1MDlcXHU4NTBEXFx1ODUxRlxcdTg1MEFcXHU4NTI3XFx1ODUxQ1xcdTg0RkJcXHU4NTJCXFx1ODRGQVxcdTg1MDhcXHU4NTBDXFx1ODRGNFxcdTg1MkFcXHU4NEYyXFx1ODUxNVxcdTg0RjdcXHU4NEVCXFx1ODRGM1xcdTg0RkNcXHU4NTEyXFx1ODRFQVxcdTg0RTlcXHU4NTE2XFx1ODRGRVxcdTg1MjhcXHU4NTFEXFx1ODUyRVxcdTg1MDJcXHU4NEZEXFx1ODUxRVxcdTg0RjZcXHU4NTMxXFx1ODUyNlxcdTg0RTdcXHU4NEU4XFx1ODRGMFxcdTg0RUZcXHU4NEY5XFx1ODUxOFxcdTg1MjBcXHU4NTMwXFx1ODUwQlxcdTg1MTlcXHU4NTJGXFx1ODY2MlwiXSxcbiAgICAgIFtcImU3YTFcIiwgXCJcXHU4NzU2XFx1ODc2M1xcdTg3NjRcXHU4Nzc3XFx1ODdFMVxcdTg3NzNcXHU4NzU4XFx1ODc1NFxcdTg3NUJcXHU4NzUyXFx1ODc2MVxcdTg3NUFcXHU4NzUxXFx1ODc1RVxcdTg3NkRcXHU4NzZBXFx1ODc1MFxcdTg3NEVcXHU4NzVGXFx1ODc1RFxcdTg3NkZcXHU4NzZDXFx1ODc3QVxcdTg3NkVcXHU4NzVDXFx1ODc2NVxcdTg3NEZcXHU4NzdCXFx1ODc3NVxcdTg3NjJcXHU4NzY3XFx1ODc2OVxcdTg4NUFcXHU4OTA1XFx1ODkwQ1xcdTg5MTRcXHU4OTBCXFx1ODkxN1xcdTg5MThcXHU4OTE5XFx1ODkwNlxcdTg5MTZcXHU4OTExXFx1ODkwRVxcdTg5MDlcXHU4OUEyXFx1ODlBNFxcdTg5QTNcXHU4OUVEXFx1ODlGMFxcdTg5RUNcXHU4QUNGXFx1OEFDNlxcdThBQjhcXHU4QUQzXFx1OEFEMVxcdThBRDRcXHU4QUQ1XFx1OEFCQlxcdThBRDdcXHU4QUJFXFx1OEFDMFxcdThBQzVcXHU4QUQ4XFx1OEFDM1xcdThBQkFcXHU4QUJEXFx1OEFEOVxcdThDM0VcXHU4QzREXFx1OEM4RlxcdThDRTVcXHU4Q0RGXFx1OENEOVxcdThDRThcXHU4Q0RBXFx1OENERFxcdThDRTdcXHU4REEwXFx1OEQ5Q1xcdThEQTFcXHU4RDlCXFx1OEUyMFxcdThFMjNcXHU4RTI1XFx1OEUyNFxcdThFMkVcXHU4RTE1XFx1OEUxQlxcdThFMTZcXHU4RTExXFx1OEUxOVxcdThFMjZcXHU4RTI3XCJdLFxuICAgICAgW1wiZTg0MFwiLCBcIlxcdThFMTRcXHU4RTEyXFx1OEUxOFxcdThFMTNcXHU4RTFDXFx1OEUxN1xcdThFMUFcXHU4RjJDXFx1OEYyNFxcdThGMThcXHU4RjFBXFx1OEYyMFxcdThGMjNcXHU4RjE2XFx1OEYxN1xcdTkwNzNcXHU5MDcwXFx1OTA2RlxcdTkwNjdcXHU5MDZCXFx1OTEyRlxcdTkxMkJcXHU5MTI5XFx1OTEyQVxcdTkxMzJcXHU5MTI2XFx1OTEyRVxcdTkxODVcXHU5MTg2XFx1OTE4QVxcdTkxODFcXHU5MTgyXFx1OTE4NFxcdTkxODBcXHU5MkQwXFx1OTJDM1xcdTkyQzRcXHU5MkMwXFx1OTJEOVxcdTkyQjZcXHU5MkNGXFx1OTJGMVxcdTkyREZcXHU5MkQ4XFx1OTJFOVxcdTkyRDdcXHU5MkREXFx1OTJDQ1xcdTkyRUZcXHU5MkMyXFx1OTJFOFxcdTkyQ0FcXHU5MkM4XFx1OTJDRVxcdTkyRTZcXHU5MkNEXFx1OTJENVxcdTkyQzlcXHU5MkUwXFx1OTJERVxcdTkyRTdcXHU5MkQxXFx1OTJEM1wiXSxcbiAgICAgIFtcImU4YTFcIiwgXCJcXHU5MkI1XFx1OTJFMVxcdTkyQzZcXHU5MkI0XFx1OTU3Q1xcdTk1QUNcXHU5NUFCXFx1OTVBRVxcdTk1QjBcXHU5NkE0XFx1OTZBMlxcdTk2RDNcXHU5NzA1XFx1OTcwOFxcdTk3MDJcXHU5NzVBXFx1OTc4QVxcdTk3OEVcXHU5Nzg4XFx1OTdEMFxcdTk3Q0ZcXHU5ODFFXFx1OTgxRFxcdTk4MjZcXHU5ODI5XFx1OTgyOFxcdTk4MjBcXHU5ODFCXFx1OTgyN1xcdTk4QjJcXHU5OTA4XFx1OThGQVxcdTk5MTFcXHU5OTE0XFx1OTkxNlxcdTk5MTdcXHU5OTE1XFx1OTlEQ1xcdTk5Q0RcXHU5OUNGXFx1OTlEM1xcdTk5RDRcXHU5OUNFXFx1OTlDOVxcdTk5RDZcXHU5OUQ4XFx1OTlDQlxcdTk5RDdcXHU5OUNDXFx1OUFCM1xcdTlBRUNcXHU5QUVCXFx1OUFGM1xcdTlBRjJcXHU5QUYxXFx1OUI0NlxcdTlCNDNcXHU5QjY3XFx1OUI3NFxcdTlCNzFcXHU5QjY2XFx1OUI3NlxcdTlCNzVcXHU5QjcwXFx1OUI2OFxcdTlCNjRcXHU5QjZDXFx1OUNGQ1xcdTlDRkFcXHU5Q0ZEXFx1OUNGRlxcdTlDRjdcXHU5RDA3XFx1OUQwMFxcdTlDRjlcXHU5Q0ZCXFx1OUQwOFxcdTlEMDVcXHU5RDA0XFx1OUU4M1xcdTlFRDNcXHU5RjBGXFx1OUYxMFxcdTUxMUNcXHU1MTEzXFx1NTExN1xcdTUxMUFcXHU1MTExXFx1NTFERVxcdTUzMzRcXHU1M0UxXFx1NTY3MFxcdTU2NjBcXHU1NjZFXCJdLFxuICAgICAgW1wiZTk0MFwiLCBcIlxcdTU2NzNcXHU1NjY2XFx1NTY2M1xcdTU2NkRcXHU1NjcyXFx1NTY1RVxcdTU2NzdcXHU1NzFDXFx1NTcxQlxcdTU4QzhcXHU1OEJEXFx1NThDOVxcdTU4QkZcXHU1OEJBXFx1NThDMlxcdTU4QkNcXHU1OEM2XFx1NUIxN1xcdTVCMTlcXHU1QjFCXFx1NUIyMVxcdTVCMTRcXHU1QjEzXFx1NUIxMFxcdTVCMTZcXHU1QjI4XFx1NUIxQVxcdTVCMjBcXHU1QjFFXFx1NUJFRlxcdTVEQUNcXHU1REIxXFx1NURBOVxcdTVEQTdcXHU1REI1XFx1NURCMFxcdTVEQUVcXHU1REFBXFx1NURBOFxcdTVEQjJcXHU1REFEXFx1NURBRlxcdTVEQjRcXHU1RTY3XFx1NUU2OFxcdTVFNjZcXHU1RTZGXFx1NUVFOVxcdTVFRTdcXHU1RUU2XFx1NUVFOFxcdTVFRTVcXHU1RjRCXFx1NUZCQ1xcdTYxOURcXHU2MUE4XFx1NjE5NlxcdTYxQzVcXHU2MUI0XFx1NjFDNlxcdTYxQzFcXHU2MUNDXFx1NjFCQVwiXSxcbiAgICAgIFtcImU5YTFcIiwgXCJcXHU2MUJGXFx1NjFCOFxcdTYxOENcXHU2NEQ3XFx1NjRENlxcdTY0RDBcXHU2NENGXFx1NjRDOVxcdTY0QkRcXHU2NDg5XFx1NjRDM1xcdTY0REJcXHU2NEYzXFx1NjREOVxcdTY1MzNcXHU2NTdGXFx1NjU3Q1xcdTY1QTJcXHU2NkM4XFx1NjZCRVxcdTY2QzBcXHU2NkNBXFx1NjZDQlxcdTY2Q0ZcXHU2NkJEXFx1NjZCQlxcdTY2QkFcXHU2NkNDXFx1NjcyM1xcdTZBMzRcXHU2QTY2XFx1NkE0OVxcdTZBNjdcXHU2QTMyXFx1NkE2OFxcdTZBM0VcXHU2QTVEXFx1NkE2RFxcdTZBNzZcXHU2QTVCXFx1NkE1MVxcdTZBMjhcXHU2QTVBXFx1NkEzQlxcdTZBM0ZcXHU2QTQxXFx1NkE2QVxcdTZBNjRcXHU2QTUwXFx1NkE0RlxcdTZBNTRcXHU2QTZGXFx1NkE2OVxcdTZBNjBcXHU2QTNDXFx1NkE1RVxcdTZBNTZcXHU2QTU1XFx1NkE0RFxcdTZBNEVcXHU2QTQ2XFx1NkI1NVxcdTZCNTRcXHU2QjU2XFx1NkJBN1xcdTZCQUFcXHU2QkFCXFx1NkJDOFxcdTZCQzdcXHU2QzA0XFx1NkMwM1xcdTZDMDZcXHU2RkFEXFx1NkZDQlxcdTZGQTNcXHU2RkM3XFx1NkZCQ1xcdTZGQ0VcXHU2RkM4XFx1NkY1RVxcdTZGQzRcXHU2RkJEXFx1NkY5RVxcdTZGQ0FcXHU2RkE4XFx1NzAwNFxcdTZGQTVcXHU2RkFFXFx1NkZCQVxcdTZGQUNcXHU2RkFBXFx1NkZDRlxcdTZGQkZcXHU2RkI4XCJdLFxuICAgICAgW1wiZWE0MFwiLCBcIlxcdTZGQTJcXHU2RkM5XFx1NkZBQlxcdTZGQ0RcXHU2RkFGXFx1NkZCMlxcdTZGQjBcXHU3MUM1XFx1NzFDMlxcdTcxQkZcXHU3MUI4XFx1NzFENlxcdTcxQzBcXHU3MUMxXFx1NzFDQlxcdTcxRDRcXHU3MUNBXFx1NzFDN1xcdTcxQ0ZcXHU3MUJEXFx1NzFEOFxcdTcxQkNcXHU3MUM2XFx1NzFEQVxcdTcxREJcXHU3MjlEXFx1NzI5RVxcdTczNjlcXHU3MzY2XFx1NzM2N1xcdTczNkNcXHU3MzY1XFx1NzM2QlxcdTczNkFcXHU3NDdGXFx1NzQ5QVxcdTc0QTBcXHU3NDk0XFx1NzQ5MlxcdTc0OTVcXHU3NEExXFx1NzUwQlxcdTc1ODBcXHU3NjJGXFx1NzYyRFxcdTc2MzFcXHU3NjNEXFx1NzYzM1xcdTc2M0NcXHU3NjM1XFx1NzYzMlxcdTc2MzBcXHU3NkJCXFx1NzZFNlxcdTc3OUFcXHU3NzlEXFx1NzdBMVxcdTc3OUNcXHU3NzlCXFx1NzdBMlxcdTc3QTNcXHU3Nzk1XFx1Nzc5OVwiXSxcbiAgICAgIFtcImVhYTFcIiwgXCJcXHU3Nzk3XFx1NzhERFxcdTc4RTlcXHU3OEU1XFx1NzhFQVxcdTc4REVcXHU3OEUzXFx1NzhEQlxcdTc4RTFcXHU3OEUyXFx1NzhFRFxcdTc4REZcXHU3OEUwXFx1NzlBNFxcdTdBNDRcXHU3QTQ4XFx1N0E0N1xcdTdBQjZcXHU3QUI4XFx1N0FCNVxcdTdBQjFcXHU3QUI3XFx1N0JERVxcdTdCRTNcXHU3QkU3XFx1N0JERFxcdTdCRDVcXHU3QkU1XFx1N0JEQVxcdTdCRThcXHU3QkY5XFx1N0JENFxcdTdCRUFcXHU3QkUyXFx1N0JEQ1xcdTdCRUJcXHU3QkQ4XFx1N0JERlxcdTdDRDJcXHU3Q0Q0XFx1N0NEN1xcdTdDRDBcXHU3Q0QxXFx1N0UxMlxcdTdFMjFcXHU3RTE3XFx1N0UwQ1xcdTdFMUZcXHU3RTIwXFx1N0UxM1xcdTdFMEVcXHU3RTFDXFx1N0UxNVxcdTdFMUFcXHU3RTIyXFx1N0UwQlxcdTdFMEZcXHU3RTE2XFx1N0UwRFxcdTdFMTRcXHU3RTI1XFx1N0UyNFxcdTdGNDNcXHU3RjdCXFx1N0Y3Q1xcdTdGN0FcXHU3RkIxXFx1N0ZFRlxcdTgwMkFcXHU4MDI5XFx1ODA2Q1xcdTgxQjFcXHU4MUE2XFx1ODFBRVxcdTgxQjlcXHU4MUI1XFx1ODFBQlxcdTgxQjBcXHU4MUFDXFx1ODFCNFxcdTgxQjJcXHU4MUI3XFx1ODFBN1xcdTgxRjJcXHU4MjU1XFx1ODI1NlxcdTgyNTdcXHU4NTU2XFx1ODU0NVxcdTg1NkJcXHU4NTREXFx1ODU1M1xcdTg1NjFcXHU4NTU4XCJdLFxuICAgICAgW1wiZWI0MFwiLCBcIlxcdTg1NDBcXHU4NTQ2XFx1ODU2NFxcdTg1NDFcXHU4NTYyXFx1ODU0NFxcdTg1NTFcXHU4NTQ3XFx1ODU2M1xcdTg1M0VcXHU4NTVCXFx1ODU3MVxcdTg1NEVcXHU4NTZFXFx1ODU3NVxcdTg1NTVcXHU4NTY3XFx1ODU2MFxcdTg1OENcXHU4NTY2XFx1ODU1RFxcdTg1NTRcXHU4NTY1XFx1ODU2Q1xcdTg2NjNcXHU4NjY1XFx1ODY2NFxcdTg3OUJcXHU4NzhGXFx1ODc5N1xcdTg3OTNcXHU4NzkyXFx1ODc4OFxcdTg3ODFcXHU4Nzk2XFx1ODc5OFxcdTg3NzlcXHU4Nzg3XFx1ODdBM1xcdTg3ODVcXHU4NzkwXFx1ODc5MVxcdTg3OURcXHU4Nzg0XFx1ODc5NFxcdTg3OUNcXHU4NzlBXFx1ODc4OVxcdTg5MUVcXHU4OTI2XFx1ODkzMFxcdTg5MkRcXHU4OTJFXFx1ODkyN1xcdTg5MzFcXHU4OTIyXFx1ODkyOVxcdTg5MjNcXHU4OTJGXFx1ODkyQ1xcdTg5MUZcXHU4OUYxXFx1OEFFMFwiXSxcbiAgICAgIFtcImViYTFcIiwgXCJcXHU4QUUyXFx1OEFGMlxcdThBRjRcXHU4QUY1XFx1OEFERFxcdThCMTRcXHU4QUU0XFx1OEFERlxcdThBRjBcXHU4QUM4XFx1OEFERVxcdThBRTFcXHU4QUU4XFx1OEFGRlxcdThBRUZcXHU4QUZCXFx1OEM5MVxcdThDOTJcXHU4QzkwXFx1OENGNVxcdThDRUVcXHU4Q0YxXFx1OENGMFxcdThDRjNcXHU4RDZDXFx1OEQ2RVxcdThEQTVcXHU4REE3XFx1OEUzM1xcdThFM0VcXHU4RTM4XFx1OEU0MFxcdThFNDVcXHU4RTM2XFx1OEUzQ1xcdThFM0RcXHU4RTQxXFx1OEUzMFxcdThFM0ZcXHU4RUJEXFx1OEYzNlxcdThGMkVcXHU4RjM1XFx1OEYzMlxcdThGMzlcXHU4RjM3XFx1OEYzNFxcdTkwNzZcXHU5MDc5XFx1OTA3QlxcdTkwODZcXHU5MEZBXFx1OTEzM1xcdTkxMzVcXHU5MTM2XFx1OTE5M1xcdTkxOTBcXHU5MTkxXFx1OTE4RFxcdTkxOEZcXHU5MzI3XFx1OTMxRVxcdTkzMDhcXHU5MzFGXFx1OTMwNlxcdTkzMEZcXHU5MzdBXFx1OTMzOFxcdTkzM0NcXHU5MzFCXFx1OTMyM1xcdTkzMTJcXHU5MzAxXFx1OTM0NlxcdTkzMkRcXHU5MzBFXFx1OTMwRFxcdTkyQ0JcXHU5MzFEXFx1OTJGQVxcdTkzMjVcXHU5MzEzXFx1OTJGOVxcdTkyRjdcXHU5MzM0XFx1OTMwMlxcdTkzMjRcXHU5MkZGXFx1OTMyOVxcdTkzMzlcXHU5MzM1XFx1OTMyQVxcdTkzMTRcXHU5MzBDXCJdLFxuICAgICAgW1wiZWM0MFwiLCBcIlxcdTkzMEJcXHU5MkZFXFx1OTMwOVxcdTkzMDBcXHU5MkZCXFx1OTMxNlxcdTk1QkNcXHU5NUNEXFx1OTVCRVxcdTk1QjlcXHU5NUJBXFx1OTVCNlxcdTk1QkZcXHU5NUI1XFx1OTVCRFxcdTk2QTlcXHU5NkQ0XFx1OTcwQlxcdTk3MTJcXHU5NzEwXFx1OTc5OVxcdTk3OTdcXHU5Nzk0XFx1OTdGMFxcdTk3RjhcXHU5ODM1XFx1OTgyRlxcdTk4MzJcXHU5OTI0XFx1OTkxRlxcdTk5MjdcXHU5OTI5XFx1OTk5RVxcdTk5RUVcXHU5OUVDXFx1OTlFNVxcdTk5RTRcXHU5OUYwXFx1OTlFM1xcdTk5RUFcXHU5OUU5XFx1OTlFN1xcdTlBQjlcXHU5QUJGXFx1OUFCNFxcdTlBQkJcXHU5QUY2XFx1OUFGQVxcdTlBRjlcXHU5QUY3XFx1OUIzM1xcdTlCODBcXHU5Qjg1XFx1OUI4N1xcdTlCN0NcXHU5QjdFXFx1OUI3QlxcdTlCODJcXHU5QjkzXFx1OUI5MlxcdTlCOTBcXHU5QjdBXFx1OUI5NVwiXSxcbiAgICAgIFtcImVjYTFcIiwgXCJcXHU5QjdEXFx1OUI4OFxcdTlEMjVcXHU5RDE3XFx1OUQyMFxcdTlEMUVcXHU5RDE0XFx1OUQyOVxcdTlEMURcXHU5RDE4XFx1OUQyMlxcdTlEMTBcXHU5RDE5XFx1OUQxRlxcdTlFODhcXHU5RTg2XFx1OUU4N1xcdTlFQUVcXHU5RUFEXFx1OUVENVxcdTlFRDZcXHU5RUZBXFx1OUYxMlxcdTlGM0RcXHU1MTI2XFx1NTEyNVxcdTUxMjJcXHU1MTI0XFx1NTEyMFxcdTUxMjlcXHU1MkY0XFx1NTY5M1xcdTU2OENcXHU1NjhEXFx1NTY4NlxcdTU2ODRcXHU1NjgzXFx1NTY3RVxcdTU2ODJcXHU1NjdGXFx1NTY4MVxcdTU4RDZcXHU1OEQ0XFx1NThDRlxcdTU4RDJcXHU1QjJEXFx1NUIyNVxcdTVCMzJcXHU1QjIzXFx1NUIyQ1xcdTVCMjdcXHU1QjI2XFx1NUIyRlxcdTVCMkVcXHU1QjdCXFx1NUJGMVxcdTVCRjJcXHU1REI3XFx1NUU2Q1xcdTVFNkFcXHU1RkJFXFx1NUZCQlxcdTYxQzNcXHU2MUI1XFx1NjFCQ1xcdTYxRTdcXHU2MUUwXFx1NjFFNVxcdTYxRTRcXHU2MUU4XFx1NjFERVxcdTY0RUZcXHU2NEU5XFx1NjRFM1xcdTY0RUJcXHU2NEU0XFx1NjRFOFxcdTY1ODFcXHU2NTgwXFx1NjVCNlxcdTY1REFcXHU2NkQyXFx1NkE4RFxcdTZBOTZcXHU2QTgxXFx1NkFBNVxcdTZBODlcXHU2QTlGXFx1NkE5QlxcdTZBQTFcXHU2QTlFXFx1NkE4N1xcdTZBOTNcXHU2QThFXCJdLFxuICAgICAgW1wiZWQ0MFwiLCBcIlxcdTZBOTVcXHU2QTgzXFx1NkFBOFxcdTZBQTRcXHU2QTkxXFx1NkE3RlxcdTZBQTZcXHU2QTlBXFx1NkE4NVxcdTZBOENcXHU2QTkyXFx1NkI1QlxcdTZCQURcXHU2QzA5XFx1NkZDQ1xcdTZGQTlcXHU2RkY0XFx1NkZENFxcdTZGRTNcXHU2RkRDXFx1NkZFRFxcdTZGRTdcXHU2RkU2XFx1NkZERVxcdTZGRjJcXHU2RkREXFx1NkZFMlxcdTZGRThcXHU3MUUxXFx1NzFGMVxcdTcxRThcXHU3MUYyXFx1NzFFNFxcdTcxRjBcXHU3MUUyXFx1NzM3M1xcdTczNkVcXHU3MzZGXFx1NzQ5N1xcdTc0QjJcXHU3NEFCXFx1NzQ5MFxcdTc0QUFcXHU3NEFEXFx1NzRCMVxcdTc0QTVcXHU3NEFGXFx1NzUxMFxcdTc1MTFcXHU3NTEyXFx1NzUwRlxcdTc1ODRcXHU3NjQzXFx1NzY0OFxcdTc2NDlcXHU3NjQ3XFx1NzZBNFxcdTc2RTlcXHU3N0I1XFx1NzdBQlxcdTc3QjJcXHU3N0I3XFx1NzdCNlwiXSxcbiAgICAgIFtcImVkYTFcIiwgXCJcXHU3N0I0XFx1NzdCMVxcdTc3QThcXHU3N0YwXFx1NzhGM1xcdTc4RkRcXHU3OTAyXFx1NzhGQlxcdTc4RkNcXHU3OEYyXFx1NzkwNVxcdTc4RjlcXHU3OEZFXFx1NzkwNFxcdTc5QUJcXHU3OUE4XFx1N0E1Q1xcdTdBNUJcXHU3QTU2XFx1N0E1OFxcdTdBNTRcXHU3QTVBXFx1N0FCRVxcdTdBQzBcXHU3QUMxXFx1N0MwNVxcdTdDMEZcXHU3QkYyXFx1N0MwMFxcdTdCRkZcXHU3QkZCXFx1N0MwRVxcdTdCRjRcXHU3QzBCXFx1N0JGM1xcdTdDMDJcXHU3QzA5XFx1N0MwM1xcdTdDMDFcXHU3QkY4XFx1N0JGRFxcdTdDMDZcXHU3QkYwXFx1N0JGMVxcdTdDMTBcXHU3QzBBXFx1N0NFOFxcdTdFMkRcXHU3RTNDXFx1N0U0MlxcdTdFMzNcXHU5ODQ4XFx1N0UzOFxcdTdFMkFcXHU3RTQ5XFx1N0U0MFxcdTdFNDdcXHU3RTI5XFx1N0U0Q1xcdTdFMzBcXHU3RTNCXFx1N0UzNlxcdTdFNDRcXHU3RTNBXFx1N0Y0NVxcdTdGN0ZcXHU3RjdFXFx1N0Y3RFxcdTdGRjRcXHU3RkYyXFx1ODAyQ1xcdTgxQkJcXHU4MUM0XFx1ODFDQ1xcdTgxQ0FcXHU4MUM1XFx1ODFDN1xcdTgxQkNcXHU4MUU5XFx1ODI1QlxcdTgyNUFcXHU4MjVDXFx1ODU4M1xcdTg1ODBcXHU4NThGXFx1ODVBN1xcdTg1OTVcXHU4NUEwXFx1ODU4QlxcdTg1QTNcXHU4NTdCXFx1ODVBNFxcdTg1OUFcXHU4NTlFXCJdLFxuICAgICAgW1wiZWU0MFwiLCBcIlxcdTg1NzdcXHU4NTdDXFx1ODU4OVxcdTg1QTFcXHU4NTdBXFx1ODU3OFxcdTg1NTdcXHU4NThFXFx1ODU5NlxcdTg1ODZcXHU4NThEXFx1ODU5OVxcdTg1OURcXHU4NTgxXFx1ODVBMlxcdTg1ODJcXHU4NTg4XFx1ODU4NVxcdTg1NzlcXHU4NTc2XFx1ODU5OFxcdTg1OTBcXHU4NTlGXFx1ODY2OFxcdTg3QkVcXHU4N0FBXFx1ODdBRFxcdTg3QzVcXHU4N0IwXFx1ODdBQ1xcdTg3QjlcXHU4N0I1XFx1ODdCQ1xcdTg3QUVcXHU4N0M5XFx1ODdDM1xcdTg3QzJcXHU4N0NDXFx1ODdCN1xcdTg3QUZcXHU4N0M0XFx1ODdDQVxcdTg3QjRcXHU4N0I2XFx1ODdCRlxcdTg3QjhcXHU4N0JEXFx1ODdERVxcdTg3QjJcXHU4OTM1XFx1ODkzM1xcdTg5M0NcXHU4OTNFXFx1ODk0MVxcdTg5NTJcXHU4OTM3XFx1ODk0MlxcdTg5QURcXHU4OUFGXFx1ODlBRVxcdTg5RjJcXHU4OUYzXFx1OEIxRVwiXSxcbiAgICAgIFtcImVlYTFcIiwgXCJcXHU4QjE4XFx1OEIxNlxcdThCMTFcXHU4QjA1XFx1OEIwQlxcdThCMjJcXHU4QjBGXFx1OEIxMlxcdThCMTVcXHU4QjA3XFx1OEIwRFxcdThCMDhcXHU4QjA2XFx1OEIxQ1xcdThCMTNcXHU4QjFBXFx1OEM0RlxcdThDNzBcXHU4QzcyXFx1OEM3MVxcdThDNkZcXHU4Qzk1XFx1OEM5NFxcdThDRjlcXHU4RDZGXFx1OEU0RVxcdThFNERcXHU4RTUzXFx1OEU1MFxcdThFNENcXHU4RTQ3XFx1OEY0M1xcdThGNDBcXHU5MDg1XFx1OTA3RVxcdTkxMzhcXHU5MTlBXFx1OTFBMlxcdTkxOUJcXHU5MTk5XFx1OTE5RlxcdTkxQTFcXHU5MTlEXFx1OTFBMFxcdTkzQTFcXHU5MzgzXFx1OTNBRlxcdTkzNjRcXHU5MzU2XFx1OTM0N1xcdTkzN0NcXHU5MzU4XFx1OTM1Q1xcdTkzNzZcXHU5MzQ5XFx1OTM1MFxcdTkzNTFcXHU5MzYwXFx1OTM2RFxcdTkzOEZcXHU5MzRDXFx1OTM2QVxcdTkzNzlcXHU5MzU3XFx1OTM1NVxcdTkzNTJcXHU5MzRGXFx1OTM3MVxcdTkzNzdcXHU5MzdCXFx1OTM2MVxcdTkzNUVcXHU5MzYzXFx1OTM2N1xcdTkzODBcXHU5MzRFXFx1OTM1OVxcdTk1QzdcXHU5NUMwXFx1OTVDOVxcdTk1QzNcXHU5NUM1XFx1OTVCN1xcdTk2QUVcXHU5NkIwXFx1OTZBQ1xcdTk3MjBcXHU5NzFGXFx1OTcxOFxcdTk3MURcXHU5NzE5XFx1OTc5QVxcdTk3QTFcXHU5NzlDXCJdLFxuICAgICAgW1wiZWY0MFwiLCBcIlxcdTk3OUVcXHU5NzlEXFx1OTdENVxcdTk3RDRcXHU5N0YxXFx1OTg0MVxcdTk4NDRcXHU5ODRBXFx1OTg0OVxcdTk4NDVcXHU5ODQzXFx1OTkyNVxcdTk5MkJcXHU5OTJDXFx1OTkyQVxcdTk5MzNcXHU5OTMyXFx1OTkyRlxcdTk5MkRcXHU5OTMxXFx1OTkzMFxcdTk5OThcXHU5OUEzXFx1OTlBMVxcdTlBMDJcXHU5OUZBXFx1OTlGNFxcdTk5RjdcXHU5OUY5XFx1OTlGOFxcdTk5RjZcXHU5OUZCXFx1OTlGRFxcdTk5RkVcXHU5OUZDXFx1OUEwM1xcdTlBQkVcXHU5QUZFXFx1OUFGRFxcdTlCMDFcXHU5QUZDXFx1OUI0OFxcdTlCOUFcXHU5QkE4XFx1OUI5RVxcdTlCOUJcXHU5QkE2XFx1OUJBMVxcdTlCQTVcXHU5QkE0XFx1OUI4NlxcdTlCQTJcXHU5QkEwXFx1OUJBRlxcdTlEMzNcXHU5RDQxXFx1OUQ2N1xcdTlEMzZcXHU5RDJFXFx1OUQyRlxcdTlEMzFcXHU5RDM4XFx1OUQzMFwiXSxcbiAgICAgIFtcImVmYTFcIiwgXCJcXHU5RDQ1XFx1OUQ0MlxcdTlENDNcXHU5RDNFXFx1OUQzN1xcdTlENDBcXHU5RDNEXFx1N0ZGNVxcdTlEMkRcXHU5RThBXFx1OUU4OVxcdTlFOERcXHU5RUIwXFx1OUVDOFxcdTlFREFcXHU5RUZCXFx1OUVGRlxcdTlGMjRcXHU5RjIzXFx1OUYyMlxcdTlGNTRcXHU5RkEwXFx1NTEzMVxcdTUxMkRcXHU1MTJFXFx1NTY5OFxcdTU2OUNcXHU1Njk3XFx1NTY5QVxcdTU2OURcXHU1Njk5XFx1NTk3MFxcdTVCM0NcXHU1QzY5XFx1NUM2QVxcdTVEQzBcXHU1RTZEXFx1NUU2RVxcdTYxRDhcXHU2MURGXFx1NjFFRFxcdTYxRUVcXHU2MUYxXFx1NjFFQVxcdTYxRjBcXHU2MUVCXFx1NjFENlxcdTYxRTlcXHU2NEZGXFx1NjUwNFxcdTY0RkRcXHU2NEY4XFx1NjUwMVxcdTY1MDNcXHU2NEZDXFx1NjU5NFxcdTY1REJcXHU2NkRBXFx1NjZEQlxcdTY2RDhcXHU2QUM1XFx1NkFCOVxcdTZBQkRcXHU2QUUxXFx1NkFDNlxcdTZBQkFcXHU2QUI2XFx1NkFCN1xcdTZBQzdcXHU2QUI0XFx1NkFBRFxcdTZCNUVcXHU2QkM5XFx1NkMwQlxcdTcwMDdcXHU3MDBDXFx1NzAwRFxcdTcwMDFcXHU3MDA1XFx1NzAxNFxcdTcwMEVcXHU2RkZGXFx1NzAwMFxcdTZGRkJcXHU3MDI2XFx1NkZGQ1xcdTZGRjdcXHU3MDBBXFx1NzIwMVxcdTcxRkZcXHU3MUY5XFx1NzIwM1xcdTcxRkRcXHU3Mzc2XCJdLFxuICAgICAgW1wiZjA0MFwiLCBcIlxcdTc0QjhcXHU3NEMwXFx1NzRCNVxcdTc0QzFcXHU3NEJFXFx1NzRCNlxcdTc0QkJcXHU3NEMyXFx1NzUxNFxcdTc1MTNcXHU3NjVDXFx1NzY2NFxcdTc2NTlcXHU3NjUwXFx1NzY1M1xcdTc2NTdcXHU3NjVBXFx1NzZBNlxcdTc2QkRcXHU3NkVDXFx1NzdDMlxcdTc3QkFcXHU3OEZGXFx1NzkwQ1xcdTc5MTNcXHU3OTE0XFx1NzkwOVxcdTc5MTBcXHU3OTEyXFx1NzkxMVxcdTc5QURcXHU3OUFDXFx1N0E1RlxcdTdDMUNcXHU3QzI5XFx1N0MxOVxcdTdDMjBcXHU3QzFGXFx1N0MyRFxcdTdDMURcXHU3QzI2XFx1N0MyOFxcdTdDMjJcXHU3QzI1XFx1N0MzMFxcdTdFNUNcXHU3RTUwXFx1N0U1NlxcdTdFNjNcXHU3RTU4XFx1N0U2MlxcdTdFNUZcXHU3RTUxXFx1N0U2MFxcdTdFNTdcXHU3RTUzXFx1N0ZCNVxcdTdGQjNcXHU3RkY3XFx1N0ZGOFxcdTgwNzVcXHU4MUQxXFx1ODFEMlwiXSxcbiAgICAgIFtcImYwYTFcIiwgXCJcXHU4MUQwXFx1ODI1RlxcdTgyNUVcXHU4NUI0XFx1ODVDNlxcdTg1QzBcXHU4NUMzXFx1ODVDMlxcdTg1QjNcXHU4NUI1XFx1ODVCRFxcdTg1QzdcXHU4NUM0XFx1ODVCRlxcdTg1Q0JcXHU4NUNFXFx1ODVDOFxcdTg1QzVcXHU4NUIxXFx1ODVCNlxcdTg1RDJcXHU4NjI0XFx1ODVCOFxcdTg1QjdcXHU4NUJFXFx1ODY2OVxcdTg3RTdcXHU4N0U2XFx1ODdFMlxcdTg3REJcXHU4N0VCXFx1ODdFQVxcdTg3RTVcXHU4N0RGXFx1ODdGM1xcdTg3RTRcXHU4N0Q0XFx1ODdEQ1xcdTg3RDNcXHU4N0VEXFx1ODdEOFxcdTg3RTNcXHU4N0E0XFx1ODdEN1xcdTg3RDlcXHU4ODAxXFx1ODdGNFxcdTg3RThcXHU4N0REXFx1ODk1M1xcdTg5NEJcXHU4OTRGXFx1ODk0Q1xcdTg5NDZcXHU4OTUwXFx1ODk1MVxcdTg5NDlcXHU4QjJBXFx1OEIyN1xcdThCMjNcXHU4QjMzXFx1OEIzMFxcdThCMzVcXHU4QjQ3XFx1OEIyRlxcdThCM0NcXHU4QjNFXFx1OEIzMVxcdThCMjVcXHU4QjM3XFx1OEIyNlxcdThCMzZcXHU4QjJFXFx1OEIyNFxcdThCM0JcXHU4QjNEXFx1OEIzQVxcdThDNDJcXHU4Qzc1XFx1OEM5OVxcdThDOThcXHU4Qzk3XFx1OENGRVxcdThEMDRcXHU4RDAyXFx1OEQwMFxcdThFNUNcXHU4RTYyXFx1OEU2MFxcdThFNTdcXHU4RTU2XFx1OEU1RVxcdThFNjVcXHU4RTY3XCJdLFxuICAgICAgW1wiZjE0MFwiLCBcIlxcdThFNUJcXHU4RTVBXFx1OEU2MVxcdThFNURcXHU4RTY5XFx1OEU1NFxcdThGNDZcXHU4RjQ3XFx1OEY0OFxcdThGNEJcXHU5MTI4XFx1OTEzQVxcdTkxM0JcXHU5MTNFXFx1OTFBOFxcdTkxQTVcXHU5MUE3XFx1OTFBRlxcdTkxQUFcXHU5M0I1XFx1OTM4Q1xcdTkzOTJcXHU5M0I3XFx1OTM5QlxcdTkzOURcXHU5Mzg5XFx1OTNBN1xcdTkzOEVcXHU5M0FBXFx1OTM5RVxcdTkzQTZcXHU5Mzk1XFx1OTM4OFxcdTkzOTlcXHU5MzlGXFx1OTM4RFxcdTkzQjFcXHU5MzkxXFx1OTNCMlxcdTkzQTRcXHU5M0E4XFx1OTNCNFxcdTkzQTNcXHU5M0E1XFx1OTVEMlxcdTk1RDNcXHU5NUQxXFx1OTZCM1xcdTk2RDdcXHU5NkRBXFx1NURDMlxcdTk2REZcXHU5NkQ4XFx1OTZERFxcdTk3MjNcXHU5NzIyXFx1OTcyNVxcdTk3QUNcXHU5N0FFXFx1OTdBOFxcdTk3QUJcXHU5N0E0XFx1OTdBQVwiXSxcbiAgICAgIFtcImYxYTFcIiwgXCJcXHU5N0EyXFx1OTdBNVxcdTk3RDdcXHU5N0Q5XFx1OTdENlxcdTk3RDhcXHU5N0ZBXFx1OTg1MFxcdTk4NTFcXHU5ODUyXFx1OThCOFxcdTk5NDFcXHU5OTNDXFx1OTkzQVxcdTlBMEZcXHU5QTBCXFx1OUEwOVxcdTlBMERcXHU5QTA0XFx1OUExMVxcdTlBMEFcXHU5QTA1XFx1OUEwN1xcdTlBMDZcXHU5QUMwXFx1OUFEQ1xcdTlCMDhcXHU5QjA0XFx1OUIwNVxcdTlCMjlcXHU5QjM1XFx1OUI0QVxcdTlCNENcXHU5QjRCXFx1OUJDN1xcdTlCQzZcXHU5QkMzXFx1OUJCRlxcdTlCQzFcXHU5QkI1XFx1OUJCOFxcdTlCRDNcXHU5QkI2XFx1OUJDNFxcdTlCQjlcXHU5QkJEXFx1OUQ1Q1xcdTlENTNcXHU5RDRGXFx1OUQ0QVxcdTlENUJcXHU5RDRCXFx1OUQ1OVxcdTlENTZcXHU5RDRDXFx1OUQ1N1xcdTlENTJcXHU5RDU0XFx1OUQ1RlxcdTlENThcXHU5RDVBXFx1OUU4RVxcdTlFOENcXHU5RURGXFx1OUYwMVxcdTlGMDBcXHU5RjE2XFx1OUYyNVxcdTlGMkJcXHU5RjJBXFx1OUYyOVxcdTlGMjhcXHU5RjRDXFx1OUY1NVxcdTUxMzRcXHU1MTM1XFx1NTI5NlxcdTUyRjdcXHU1M0I0XFx1NTZBQlxcdTU2QURcXHU1NkE2XFx1NTZBN1xcdTU2QUFcXHU1NkFDXFx1NThEQVxcdTU4RERcXHU1OERCXFx1NTkxMlxcdTVCM0RcXHU1QjNFXFx1NUIzRlxcdTVEQzNcXHU1RTcwXCJdLFxuICAgICAgW1wiZjI0MFwiLCBcIlxcdTVGQkZcXHU2MUZCXFx1NjUwN1xcdTY1MTBcXHU2NTBEXFx1NjUwOVxcdTY1MENcXHU2NTBFXFx1NjU4NFxcdTY1REVcXHU2NUREXFx1NjZERVxcdTZBRTdcXHU2QUUwXFx1NkFDQ1xcdTZBRDFcXHU2QUQ5XFx1NkFDQlxcdTZBREZcXHU2QURDXFx1NkFEMFxcdTZBRUJcXHU2QUNGXFx1NkFDRFxcdTZBREVcXHU2QjYwXFx1NkJCMFxcdTZDMENcXHU3MDE5XFx1NzAyN1xcdTcwMjBcXHU3MDE2XFx1NzAyQlxcdTcwMjFcXHU3MDIyXFx1NzAyM1xcdTcwMjlcXHU3MDE3XFx1NzAyNFxcdTcwMUNcXHU3MDJBXFx1NzIwQ1xcdTcyMEFcXHU3MjA3XFx1NzIwMlxcdTcyMDVcXHU3MkE1XFx1NzJBNlxcdTcyQTRcXHU3MkEzXFx1NzJBMVxcdTc0Q0JcXHU3NEM1XFx1NzRCN1xcdTc0QzNcXHU3NTE2XFx1NzY2MFxcdTc3QzlcXHU3N0NBXFx1NzdDNFxcdTc3RjFcXHU3OTFEXFx1NzkxQlwiXSxcbiAgICAgIFtcImYyYTFcIiwgXCJcXHU3OTIxXFx1NzkxQ1xcdTc5MTdcXHU3OTFFXFx1NzlCMFxcdTdBNjdcXHU3QTY4XFx1N0MzM1xcdTdDM0NcXHU3QzM5XFx1N0MyQ1xcdTdDM0JcXHU3Q0VDXFx1N0NFQVxcdTdFNzZcXHU3RTc1XFx1N0U3OFxcdTdFNzBcXHU3RTc3XFx1N0U2RlxcdTdFN0FcXHU3RTcyXFx1N0U3NFxcdTdFNjhcXHU3RjRCXFx1N0Y0QVxcdTdGODNcXHU3Rjg2XFx1N0ZCN1xcdTdGRkRcXHU3RkZFXFx1ODA3OFxcdTgxRDdcXHU4MUQ1XFx1ODI2NFxcdTgyNjFcXHU4MjYzXFx1ODVFQlxcdTg1RjFcXHU4NUVEXFx1ODVEOVxcdTg1RTFcXHU4NUU4XFx1ODVEQVxcdTg1RDdcXHU4NUVDXFx1ODVGMlxcdTg1RjhcXHU4NUQ4XFx1ODVERlxcdTg1RTNcXHU4NURDXFx1ODVEMVxcdTg1RjBcXHU4NUU2XFx1ODVFRlxcdTg1REVcXHU4NUUyXFx1ODgwMFxcdTg3RkFcXHU4ODAzXFx1ODdGNlxcdTg3RjdcXHU4ODA5XFx1ODgwQ1xcdTg4MEJcXHU4ODA2XFx1ODdGQ1xcdTg4MDhcXHU4N0ZGXFx1ODgwQVxcdTg4MDJcXHU4OTYyXFx1ODk1QVxcdTg5NUJcXHU4OTU3XFx1ODk2MVxcdTg5NUNcXHU4OTU4XFx1ODk1RFxcdTg5NTlcXHU4OTg4XFx1ODlCN1xcdTg5QjZcXHU4OUY2XFx1OEI1MFxcdThCNDhcXHU4QjRBXFx1OEI0MFxcdThCNTNcXHU4QjU2XFx1OEI1NFxcdThCNEJcXHU4QjU1XCJdLFxuICAgICAgW1wiZjM0MFwiLCBcIlxcdThCNTFcXHU4QjQyXFx1OEI1MlxcdThCNTdcXHU4QzQzXFx1OEM3N1xcdThDNzZcXHU4QzlBXFx1OEQwNlxcdThEMDdcXHU4RDA5XFx1OERBQ1xcdThEQUFcXHU4REFEXFx1OERBQlxcdThFNkRcXHU4RTc4XFx1OEU3M1xcdThFNkFcXHU4RTZGXFx1OEU3QlxcdThFQzJcXHU4RjUyXFx1OEY1MVxcdThGNEZcXHU4RjUwXFx1OEY1M1xcdThGQjRcXHU5MTQwXFx1OTEzRlxcdTkxQjBcXHU5MUFEXFx1OTNERVxcdTkzQzdcXHU5M0NGXFx1OTNDMlxcdTkzREFcXHU5M0QwXFx1OTNGOVxcdTkzRUNcXHU5M0NDXFx1OTNEOVxcdTkzQTlcXHU5M0U2XFx1OTNDQVxcdTkzRDRcXHU5M0VFXFx1OTNFM1xcdTkzRDVcXHU5M0M0XFx1OTNDRVxcdTkzQzBcXHU5M0QyXFx1OTNFN1xcdTk1N0RcXHU5NURBXFx1OTVEQlxcdTk2RTFcXHU5NzI5XFx1OTcyQlxcdTk3MkNcXHU5NzI4XFx1OTcyNlwiXSxcbiAgICAgIFtcImYzYTFcIiwgXCJcXHU5N0IzXFx1OTdCN1xcdTk3QjZcXHU5N0REXFx1OTdERVxcdTk3REZcXHU5ODVDXFx1OTg1OVxcdTk4NURcXHU5ODU3XFx1OThCRlxcdTk4QkRcXHU5OEJCXFx1OThCRVxcdTk5NDhcXHU5OTQ3XFx1OTk0M1xcdTk5QTZcXHU5OUE3XFx1OUExQVxcdTlBMTVcXHU5QTI1XFx1OUExRFxcdTlBMjRcXHU5QTFCXFx1OUEyMlxcdTlBMjBcXHU5QTI3XFx1OUEyM1xcdTlBMUVcXHU5QTFDXFx1OUExNFxcdTlBQzJcXHU5QjBCXFx1OUIwQVxcdTlCMEVcXHU5QjBDXFx1OUIzN1xcdTlCRUFcXHU5QkVCXFx1OUJFMFxcdTlCREVcXHU5QkU0XFx1OUJFNlxcdTlCRTJcXHU5QkYwXFx1OUJENFxcdTlCRDdcXHU5QkVDXFx1OUJEQ1xcdTlCRDlcXHU5QkU1XFx1OUJENVxcdTlCRTFcXHU5QkRBXFx1OUQ3N1xcdTlEODFcXHU5RDhBXFx1OUQ4NFxcdTlEODhcXHU5RDcxXFx1OUQ4MFxcdTlENzhcXHU5RDg2XFx1OUQ4QlxcdTlEOENcXHU5RDdEXFx1OUQ2QlxcdTlENzRcXHU5RDc1XFx1OUQ3MFxcdTlENjlcXHU5RDg1XFx1OUQ3M1xcdTlEN0JcXHU5RDgyXFx1OUQ2RlxcdTlENzlcXHU5RDdGXFx1OUQ4N1xcdTlENjhcXHU5RTk0XFx1OUU5MVxcdTlFQzBcXHU5RUZDXFx1OUYyRFxcdTlGNDBcXHU5RjQxXFx1OUY0RFxcdTlGNTZcXHU5RjU3XFx1OUY1OFxcdTUzMzdcXHU1NkIyXCJdLFxuICAgICAgW1wiZjQ0MFwiLCBcIlxcdTU2QjVcXHU1NkIzXFx1NThFM1xcdTVCNDVcXHU1REM2XFx1NURDN1xcdTVFRUVcXHU1RUVGXFx1NUZDMFxcdTVGQzFcXHU2MUY5XFx1NjUxN1xcdTY1MTZcXHU2NTE1XFx1NjUxM1xcdTY1REZcXHU2NkU4XFx1NjZFM1xcdTY2RTRcXHU2QUYzXFx1NkFGMFxcdTZBRUFcXHU2QUU4XFx1NkFGOVxcdTZBRjFcXHU2QUVFXFx1NkFFRlxcdTcwM0NcXHU3MDM1XFx1NzAyRlxcdTcwMzdcXHU3MDM0XFx1NzAzMVxcdTcwNDJcXHU3MDM4XFx1NzAzRlxcdTcwM0FcXHU3MDM5XFx1NzA0MFxcdTcwM0JcXHU3MDMzXFx1NzA0MVxcdTcyMTNcXHU3MjE0XFx1NzJBOFxcdTczN0RcXHU3MzdDXFx1NzRCQVxcdTc2QUJcXHU3NkFBXFx1NzZCRVxcdTc2RURcXHU3N0NDXFx1NzdDRVxcdTc3Q0ZcXHU3N0NEXFx1NzdGMlxcdTc5MjVcXHU3OTIzXFx1NzkyN1xcdTc5MjhcXHU3OTI0XFx1NzkyOVwiXSxcbiAgICAgIFtcImY0YTFcIiwgXCJcXHU3OUIyXFx1N0E2RVxcdTdBNkNcXHU3QTZEXFx1N0FGN1xcdTdDNDlcXHU3QzQ4XFx1N0M0QVxcdTdDNDdcXHU3QzQ1XFx1N0NFRVxcdTdFN0JcXHU3RTdFXFx1N0U4MVxcdTdFODBcXHU3RkJBXFx1N0ZGRlxcdTgwNzlcXHU4MURCXFx1ODFEOVxcdTgyMEJcXHU4MjY4XFx1ODI2OVxcdTg2MjJcXHU4NUZGXFx1ODYwMVxcdTg1RkVcXHU4NjFCXFx1ODYwMFxcdTg1RjZcXHU4NjA0XFx1ODYwOVxcdTg2MDVcXHU4NjBDXFx1ODVGRFxcdTg4MTlcXHU4ODEwXFx1ODgxMVxcdTg4MTdcXHU4ODEzXFx1ODgxNlxcdTg5NjNcXHU4OTY2XFx1ODlCOVxcdTg5RjdcXHU4QjYwXFx1OEI2QVxcdThCNURcXHU4QjY4XFx1OEI2M1xcdThCNjVcXHU4QjY3XFx1OEI2RFxcdThEQUVcXHU4RTg2XFx1OEU4OFxcdThFODRcXHU4RjU5XFx1OEY1NlxcdThGNTdcXHU4RjU1XFx1OEY1OFxcdThGNUFcXHU5MDhEXFx1OTE0M1xcdTkxNDFcXHU5MUI3XFx1OTFCNVxcdTkxQjJcXHU5MUIzXFx1OTQwQlxcdTk0MTNcXHU5M0ZCXFx1OTQyMFxcdTk0MEZcXHU5NDE0XFx1OTNGRVxcdTk0MTVcXHU5NDEwXFx1OTQyOFxcdTk0MTlcXHU5NDBEXFx1OTNGNVxcdTk0MDBcXHU5M0Y3XFx1OTQwN1xcdTk0MEVcXHU5NDE2XFx1OTQxMlxcdTkzRkFcXHU5NDA5XFx1OTNGOFxcdTk0MEFcXHU5M0ZGXCJdLFxuICAgICAgW1wiZjU0MFwiLCBcIlxcdTkzRkNcXHU5NDBDXFx1OTNGNlxcdTk0MTFcXHU5NDA2XFx1OTVERVxcdTk1RTBcXHU5NURGXFx1OTcyRVxcdTk3MkZcXHU5N0I5XFx1OTdCQlxcdTk3RkRcXHU5N0ZFXFx1OTg2MFxcdTk4NjJcXHU5ODYzXFx1OTg1RlxcdTk4QzFcXHU5OEMyXFx1OTk1MFxcdTk5NEVcXHU5OTU5XFx1OTk0Q1xcdTk5NEJcXHU5OTUzXFx1OUEzMlxcdTlBMzRcXHU5QTMxXFx1OUEyQ1xcdTlBMkFcXHU5QTM2XFx1OUEyOVxcdTlBMkVcXHU5QTM4XFx1OUEyRFxcdTlBQzdcXHU5QUNBXFx1OUFDNlxcdTlCMTBcXHU5QjEyXFx1OUIxMVxcdTlDMEJcXHU5QzA4XFx1OUJGN1xcdTlDMDVcXHU5QzEyXFx1OUJGOFxcdTlDNDBcXHU5QzA3XFx1OUMwRVxcdTlDMDZcXHU5QzE3XFx1OUMxNFxcdTlDMDlcXHU5RDlGXFx1OUQ5OVxcdTlEQTRcXHU5RDlEXFx1OUQ5MlxcdTlEOThcXHU5RDkwXFx1OUQ5QlwiXSxcbiAgICAgIFtcImY1YTFcIiwgXCJcXHU5REEwXFx1OUQ5NFxcdTlEOUNcXHU5REFBXFx1OUQ5N1xcdTlEQTFcXHU5RDlBXFx1OURBMlxcdTlEQThcXHU5RDlFXFx1OURBM1xcdTlEQkZcXHU5REE5XFx1OUQ5NlxcdTlEQTZcXHU5REE3XFx1OUU5OVxcdTlFOUJcXHU5RTlBXFx1OUVFNVxcdTlFRTRcXHU5RUU3XFx1OUVFNlxcdTlGMzBcXHU5RjJFXFx1OUY1QlxcdTlGNjBcXHU5RjVFXFx1OUY1RFxcdTlGNTlcXHU5RjkxXFx1NTEzQVxcdTUxMzlcXHU1Mjk4XFx1NTI5N1xcdTU2QzNcXHU1NkJEXFx1NTZCRVxcdTVCNDhcXHU1QjQ3XFx1NURDQlxcdTVEQ0ZcXHU1RUYxXFx1NjFGRFxcdTY1MUJcXHU2QjAyXFx1NkFGQ1xcdTZCMDNcXHU2QUY4XFx1NkIwMFxcdTcwNDNcXHU3MDQ0XFx1NzA0QVxcdTcwNDhcXHU3MDQ5XFx1NzA0NVxcdTcwNDZcXHU3MjFEXFx1NzIxQVxcdTcyMTlcXHU3MzdFXFx1NzUxN1xcdTc2NkFcXHU3N0QwXFx1NzkyRFxcdTc5MzFcXHU3OTJGXFx1N0M1NFxcdTdDNTNcXHU3Q0YyXFx1N0U4QVxcdTdFODdcXHU3RTg4XFx1N0U4QlxcdTdFODZcXHU3RThEXFx1N0Y0RFxcdTdGQkJcXHU4MDMwXFx1ODFERFxcdTg2MThcXHU4NjJBXFx1ODYyNlxcdTg2MUZcXHU4NjIzXFx1ODYxQ1xcdTg2MTlcXHU4NjI3XFx1ODYyRVxcdTg2MjFcXHU4NjIwXFx1ODYyOVxcdTg2MUVcXHU4NjI1XCJdLFxuICAgICAgW1wiZjY0MFwiLCBcIlxcdTg4MjlcXHU4ODFEXFx1ODgxQlxcdTg4MjBcXHU4ODI0XFx1ODgxQ1xcdTg4MkJcXHU4ODRBXFx1ODk2RFxcdTg5NjlcXHU4OTZFXFx1ODk2QlxcdTg5RkFcXHU4Qjc5XFx1OEI3OFxcdThCNDVcXHU4QjdBXFx1OEI3QlxcdThEMTBcXHU4RDE0XFx1OERBRlxcdThFOEVcXHU4RThDXFx1OEY1RVxcdThGNUJcXHU4RjVEXFx1OTE0NlxcdTkxNDRcXHU5MTQ1XFx1OTFCOVxcdTk0M0ZcXHU5NDNCXFx1OTQzNlxcdTk0MjlcXHU5NDNEXFx1OTQzQ1xcdTk0MzBcXHU5NDM5XFx1OTQyQVxcdTk0MzdcXHU5NDJDXFx1OTQ0MFxcdTk0MzFcXHU5NUU1XFx1OTVFNFxcdTk1RTNcXHU5NzM1XFx1OTczQVxcdTk3QkZcXHU5N0UxXFx1OTg2NFxcdTk4QzlcXHU5OEM2XFx1OThDMFxcdTk5NThcXHU5OTU2XFx1OUEzOVxcdTlBM0RcXHU5QTQ2XFx1OUE0NFxcdTlBNDJcXHU5QTQxXFx1OUEzQVwiXSxcbiAgICAgIFtcImY2YTFcIiwgXCJcXHU5QTNGXFx1OUFDRFxcdTlCMTVcXHU5QjE3XFx1OUIxOFxcdTlCMTZcXHU5QjNBXFx1OUI1MlxcdTlDMkJcXHU5QzFEXFx1OUMxQ1xcdTlDMkNcXHU5QzIzXFx1OUMyOFxcdTlDMjlcXHU5QzI0XFx1OUMyMVxcdTlEQjdcXHU5REI2XFx1OURCQ1xcdTlEQzFcXHU5REM3XFx1OURDQVxcdTlEQ0ZcXHU5REJFXFx1OURDNVxcdTlEQzNcXHU5REJCXFx1OURCNVxcdTlEQ0VcXHU5REI5XFx1OURCQVxcdTlEQUNcXHU5REM4XFx1OURCMVxcdTlEQURcXHU5RENDXFx1OURCM1xcdTlEQ0RcXHU5REIyXFx1OUU3QVxcdTlFOUNcXHU5RUVCXFx1OUVFRVxcdTlFRURcXHU5RjFCXFx1OUYxOFxcdTlGMUFcXHU5RjMxXFx1OUY0RVxcdTlGNjVcXHU5RjY0XFx1OUY5MlxcdTRFQjlcXHU1NkM2XFx1NTZDNVxcdTU2Q0JcXHU1OTcxXFx1NUI0QlxcdTVCNENcXHU1REQ1XFx1NUREMVxcdTVFRjJcXHU2NTIxXFx1NjUyMFxcdTY1MjZcXHU2NTIyXFx1NkIwQlxcdTZCMDhcXHU2QjA5XFx1NkMwRFxcdTcwNTVcXHU3MDU2XFx1NzA1N1xcdTcwNTJcXHU3MjFFXFx1NzIxRlxcdTcyQTlcXHU3MzdGXFx1NzREOFxcdTc0RDVcXHU3NEQ5XFx1NzREN1xcdTc2NkRcXHU3NkFEXFx1NzkzNVxcdTc5QjRcXHU3QTcwXFx1N0E3MVxcdTdDNTdcXHU3QzVDXFx1N0M1OVxcdTdDNUJcXHU3QzVBXCJdLFxuICAgICAgW1wiZjc0MFwiLCBcIlxcdTdDRjRcXHU3Q0YxXFx1N0U5MVxcdTdGNEZcXHU3Rjg3XFx1ODFERVxcdTgyNkJcXHU4NjM0XFx1ODYzNVxcdTg2MzNcXHU4NjJDXFx1ODYzMlxcdTg2MzZcXHU4ODJDXFx1ODgyOFxcdTg4MjZcXHU4ODJBXFx1ODgyNVxcdTg5NzFcXHU4OUJGXFx1ODlCRVxcdTg5RkJcXHU4QjdFXFx1OEI4NFxcdThCODJcXHU4Qjg2XFx1OEI4NVxcdThCN0ZcXHU4RDE1XFx1OEU5NVxcdThFOTRcXHU4RTlBXFx1OEU5MlxcdThFOTBcXHU4RTk2XFx1OEU5N1xcdThGNjBcXHU4RjYyXFx1OTE0N1xcdTk0NENcXHU5NDUwXFx1OTQ0QVxcdTk0NEJcXHU5NDRGXFx1OTQ0N1xcdTk0NDVcXHU5NDQ4XFx1OTQ0OVxcdTk0NDZcXHU5NzNGXFx1OTdFM1xcdTk4NkFcXHU5ODY5XFx1OThDQlxcdTk5NTRcXHU5OTVCXFx1OUE0RVxcdTlBNTNcXHU5QTU0XFx1OUE0Q1xcdTlBNEZcXHU5QTQ4XFx1OUE0QVwiXSxcbiAgICAgIFtcImY3YTFcIiwgXCJcXHU5QTQ5XFx1OUE1MlxcdTlBNTBcXHU5QUQwXFx1OUIxOVxcdTlCMkJcXHU5QjNCXFx1OUI1NlxcdTlCNTVcXHU5QzQ2XFx1OUM0OFxcdTlDM0ZcXHU5QzQ0XFx1OUMzOVxcdTlDMzNcXHU5QzQxXFx1OUMzQ1xcdTlDMzdcXHU5QzM0XFx1OUMzMlxcdTlDM0RcXHU5QzM2XFx1OUREQlxcdTlERDJcXHU5RERFXFx1OUREQVxcdTlEQ0JcXHU5REQwXFx1OUREQ1xcdTlERDFcXHU5RERGXFx1OURFOVxcdTlERDlcXHU5REQ4XFx1OURENlxcdTlERjVcXHU5REQ1XFx1OURERFxcdTlFQjZcXHU5RUYwXFx1OUYzNVxcdTlGMzNcXHU5RjMyXFx1OUY0MlxcdTlGNkJcXHU5Rjk1XFx1OUZBMlxcdTUxM0RcXHU1Mjk5XFx1NThFOFxcdTU4RTdcXHU1OTcyXFx1NUI0RFxcdTVERDhcXHU4ODJGXFx1NUY0RlxcdTYyMDFcXHU2MjAzXFx1NjIwNFxcdTY1MjlcXHU2NTI1XFx1NjU5NlxcdTY2RUJcXHU2QjExXFx1NkIxMlxcdTZCMEZcXHU2QkNBXFx1NzA1QlxcdTcwNUFcXHU3MjIyXFx1NzM4MlxcdTczODFcXHU3MzgzXFx1NzY3MFxcdTc3RDRcXHU3QzY3XFx1N0M2NlxcdTdFOTVcXHU4MjZDXFx1ODYzQVxcdTg2NDBcXHU4NjM5XFx1ODYzQ1xcdTg2MzFcXHU4NjNCXFx1ODYzRVxcdTg4MzBcXHU4ODMyXFx1ODgyRVxcdTg4MzNcXHU4OTc2XFx1ODk3NFxcdTg5NzNcXHU4OUZFXCJdLFxuICAgICAgW1wiZjg0MFwiLCBcIlxcdThCOENcXHU4QjhFXFx1OEI4QlxcdThCODhcXHU4QzQ1XFx1OEQxOVxcdThFOThcXHU4RjY0XFx1OEY2M1xcdTkxQkNcXHU5NDYyXFx1OTQ1NVxcdTk0NURcXHU5NDU3XFx1OTQ1RVxcdTk3QzRcXHU5N0M1XFx1OTgwMFxcdTlBNTZcXHU5QTU5XFx1OUIxRVxcdTlCMUZcXHU5QjIwXFx1OUM1MlxcdTlDNThcXHU5QzUwXFx1OUM0QVxcdTlDNERcXHU5QzRCXFx1OUM1NVxcdTlDNTlcXHU5QzRDXFx1OUM0RVxcdTlERkJcXHU5REY3XFx1OURFRlxcdTlERTNcXHU5REVCXFx1OURGOFxcdTlERTRcXHU5REY2XFx1OURFMVxcdTlERUVcXHU5REU2XFx1OURGMlxcdTlERjBcXHU5REUyXFx1OURFQ1xcdTlERjRcXHU5REYzXFx1OURFOFxcdTlERURcXHU5RUMyXFx1OUVEMFxcdTlFRjJcXHU5RUYzXFx1OUYwNlxcdTlGMUNcXHU5RjM4XFx1OUYzN1xcdTlGMzZcXHU5RjQzXFx1OUY0RlwiXSxcbiAgICAgIFtcImY4YTFcIiwgXCJcXHU5RjcxXFx1OUY3MFxcdTlGNkVcXHU5RjZGXFx1NTZEM1xcdTU2Q0RcXHU1QjRFXFx1NUM2RFxcdTY1MkRcXHU2NkVEXFx1NjZFRVxcdTZCMTNcXHU3MDVGXFx1NzA2MVxcdTcwNURcXHU3MDYwXFx1NzIyM1xcdTc0REJcXHU3NEU1XFx1NzdENVxcdTc5MzhcXHU3OUI3XFx1NzlCNlxcdTdDNkFcXHU3RTk3XFx1N0Y4OVxcdTgyNkRcXHU4NjQzXFx1ODgzOFxcdTg4MzdcXHU4ODM1XFx1ODg0QlxcdThCOTRcXHU4Qjk1XFx1OEU5RVxcdThFOUZcXHU4RUEwXFx1OEU5RFxcdTkxQkVcXHU5MUJEXFx1OTFDMlxcdTk0NkJcXHU5NDY4XFx1OTQ2OVxcdTk2RTVcXHU5NzQ2XFx1OTc0M1xcdTk3NDdcXHU5N0M3XFx1OTdFNVxcdTlBNUVcXHU5QUQ1XFx1OUI1OVxcdTlDNjNcXHU5QzY3XFx1OUM2NlxcdTlDNjJcXHU5QzVFXFx1OUM2MFxcdTlFMDJcXHU5REZFXFx1OUUwN1xcdTlFMDNcXHU5RTA2XFx1OUUwNVxcdTlFMDBcXHU5RTAxXFx1OUUwOVxcdTlERkZcXHU5REZEXFx1OUUwNFxcdTlFQTBcXHU5RjFFXFx1OUY0NlxcdTlGNzRcXHU5Rjc1XFx1OUY3NlxcdTU2RDRcXHU2NTJFXFx1NjVCOFxcdTZCMThcXHU2QjE5XFx1NkIxN1xcdTZCMUFcXHU3MDYyXFx1NzIyNlxcdTcyQUFcXHU3N0Q4XFx1NzdEOVxcdTc5MzlcXHU3QzY5XFx1N0M2QlxcdTdDRjZcXHU3RTlBXCJdLFxuICAgICAgW1wiZjk0MFwiLCBcIlxcdTdFOThcXHU3RTlCXFx1N0U5OVxcdTgxRTBcXHU4MUUxXFx1ODY0NlxcdTg2NDdcXHU4NjQ4XFx1ODk3OVxcdTg5N0FcXHU4OTdDXFx1ODk3QlxcdTg5RkZcXHU4Qjk4XFx1OEI5OVxcdThFQTVcXHU4RUE0XFx1OEVBM1xcdTk0NkVcXHU5NDZEXFx1OTQ2RlxcdTk0NzFcXHU5NDczXFx1OTc0OVxcdTk4NzJcXHU5OTVGXFx1OUM2OFxcdTlDNkVcXHU5QzZEXFx1OUUwQlxcdTlFMERcXHU5RTEwXFx1OUUwRlxcdTlFMTJcXHU5RTExXFx1OUVBMVxcdTlFRjVcXHU5RjA5XFx1OUY0N1xcdTlGNzhcXHU5RjdCXFx1OUY3QVxcdTlGNzlcXHU1NzFFXFx1NzA2NlxcdTdDNkZcXHU4ODNDXFx1OERCMlxcdThFQTZcXHU5MUMzXFx1OTQ3NFxcdTk0NzhcXHU5NDc2XFx1OTQ3NVxcdTlBNjBcXHU5Qzc0XFx1OUM3M1xcdTlDNzFcXHU5Qzc1XFx1OUUxNFxcdTlFMTNcXHU5RUY2XFx1OUYwQVwiXSxcbiAgICAgIFtcImY5YTFcIiwgXCJcXHU5RkE0XFx1NzA2OFxcdTcwNjVcXHU3Q0Y3XFx1ODY2QVxcdTg4M0VcXHU4ODNEXFx1ODgzRlxcdThCOUVcXHU4QzlDXFx1OEVBOVxcdThFQzlcXHU5NzRCXFx1OTg3M1xcdTk4NzRcXHU5OENDXFx1OTk2MVxcdTk5QUJcXHU5QTY0XFx1OUE2NlxcdTlBNjdcXHU5QjI0XFx1OUUxNVxcdTlFMTdcXHU5RjQ4XFx1NjIwN1xcdTZCMUVcXHU3MjI3XFx1ODY0Q1xcdThFQThcXHU5NDgyXFx1OTQ4MFxcdTk0ODFcXHU5QTY5XFx1OUE2OFxcdTlCMkVcXHU5RTE5XFx1NzIyOVxcdTg2NEJcXHU4QjlGXFx1OTQ4M1xcdTlDNzlcXHU5RUI3XFx1NzY3NVxcdTlBNkJcXHU5QzdBXFx1OUUxRFxcdTcwNjlcXHU3MDZBXFx1OUVBNFxcdTlGN0VcXHU5RjQ5XFx1OUY5OFxcdTc4ODFcXHU5MkI5XFx1ODhDRlxcdTU4QkJcXHU2MDUyXFx1N0NBN1xcdTVBRkFcXHUyNTU0XFx1MjU2NlxcdTI1NTdcXHUyNTYwXFx1MjU2Q1xcdTI1NjNcXHUyNTVBXFx1MjU2OVxcdTI1NURcXHUyNTUyXFx1MjU2NFxcdTI1NTVcXHUyNTVFXFx1MjU2QVxcdTI1NjFcXHUyNTU4XFx1MjU2N1xcdTI1NUJcXHUyNTUzXFx1MjU2NVxcdTI1NTZcXHUyNTVGXFx1MjU2QlxcdTI1NjJcXHUyNTU5XFx1MjU2OFxcdTI1NUNcXHUyNTUxXFx1MjU1MFxcdTI1NkRcXHUyNTZFXFx1MjU3MFxcdTI1NkZcXHUyNTkzXCJdXG4gICAgXTtcbiAgfVxufSk7XG5cbi8vIG5vZGVfbW9kdWxlcy9yYXctYm9keS9ub2RlX21vZHVsZXMvaWNvbnYtbGl0ZS9lbmNvZGluZ3MvdGFibGVzL2JpZzUtYWRkZWQuanNvblxudmFyIHJlcXVpcmVfYmlnNV9hZGRlZCA9IF9fY29tbW9uSlMoe1xuICBcIm5vZGVfbW9kdWxlcy9yYXctYm9keS9ub2RlX21vZHVsZXMvaWNvbnYtbGl0ZS9lbmNvZGluZ3MvdGFibGVzL2JpZzUtYWRkZWQuanNvblwiKGV4cG9ydHMyLCBtb2R1bGUyKSB7XG4gICAgbW9kdWxlMi5leHBvcnRzID0gW1xuICAgICAgW1wiODc0MFwiLCBcIlxcdTQzRjBcXHU0QzMyXFx1NDYwM1xcdTQ1QTZcXHU0NTc4XFx1ezI3MjY3fVxcdTRENzdcXHU0NUIzXFx1ezI3Q0IxfVxcdTRDRTJcXHV7MjdDQzV9XFx1M0I5NVxcdTQ3MzZcXHU0NzQ0XFx1NEM0N1xcdTRDNDBcXHV7MjQyQkZ9XFx1ezIzNjE3fVxcdXsyNzM1Mn1cXHV7MjZFOEJ9XFx1ezI3MEQyfVxcdTRDNTdcXHV7MkEzNTF9XFx1NDc0RlxcdTQ1REFcXHU0Qzg1XFx1ezI3QzZDfVxcdTREMDdcXHU0QUE0XFx1NDZBMVxcdXsyNkIyM31cXHU3MjI1XFx1ezI1QTU0fVxcdXsyMUE2M31cXHV7MjNFMDZ9XFx1ezIzRjYxfVxcdTY2NERcXHU1NkZCXCJdLFxuICAgICAgW1wiODc2N1wiLCBcIlxcdTdEOTVcXHU1OTFEXFx1ezI4QkI5fVxcdTNERjRcXHU5NzM0XFx1ezI3QkVGfVxcdTVCREJcXHV7MjFENUV9XFx1NUFBNFxcdTM2MjVcXHV7MjlFQjB9XFx1NUFEMVxcdTVCQjdcXHU1Q0ZDXFx1Njc2RVxcdTg1OTNcXHV7Mjk5NDV9XFx1NzQ2MVxcdTc0OURcXHUzODc1XFx1ezIxRDUzfVxcdXsyMzY5RX1cXHV7MjYwMjF9XFx1M0VFQ1wiXSxcbiAgICAgIFtcIjg3YTFcIiwgXCJcXHV7MjU4REV9XFx1M0FGNVxcdTdBRkNcXHU5Rjk3XFx1ezI0MTYxfVxcdXsyODkwRH1cXHV7MjMxRUF9XFx1ezIwQThBfVxcdXsyMzI1RX1cXHU0MzBBXFx1ODQ4NFxcdTlGOTZcXHU5NDJGXFx1NDkzMFxcdTg2MTNcXHU1ODk2XFx1OTc0QVxcdTkyMThcXHU3OUQwXFx1N0EzMlxcdTY2NjBcXHU2QTI5XFx1ODg5RFxcdTc0NENcXHU3QkM1XFx1Njc4MlxcdTdBMkNcXHU1MjRGXFx1OTA0NlxcdTM0RTZcXHU3M0M0XFx1ezI1REI5fVxcdTc0QzZcXHU5RkM3XFx1NTdCM1xcdTQ5MkZcXHU1NDRDXFx1NDEzMVxcdXsyMzY4RX1cXHU1ODE4XFx1N0E3MlxcdXsyN0I2NX1cXHU4QjhGXFx1NDZBRVxcdXsyNkU4OH1cXHU0MTgxXFx1ezI1RDk5fVxcdTdCQUVcXHV7MjI0QkN9XFx1OUZDOFxcdXsyMjRDMX1cXHV7MjI0Qzl9XFx1ezIyNENDfVxcdTlGQzlcXHU4NTA0XFx1ezIzNUJCfVxcdTQwQjRcXHU5RkNBXFx1NDRFMVxcdXsyQURGRn1cXHU2MkMxXFx1NzA2RVxcdTlGQ0JcIl0sXG4gICAgICBbXCI4ODQwXCIsIFwiXFx1MzFDMFwiLCA0LCBcIlxcdXsyMDEwQ31cXHUzMUM1XFx1ezIwMEQxfVxcdXsyMDBDRH1cXHUzMUM2XFx1MzFDN1xcdXsyMDBDQn1cXHV7MjFGRTh9XFx1MzFDOFxcdXsyMDBDQX1cXHUzMUM5XFx1MzFDQVxcdTMxQ0JcXHUzMUNDXFx1ezIwMTBFfVxcdTMxQ0RcXHUzMUNFXFx1MDEwMFxceEMxXFx1MDFDRFxceEMwXFx1MDExMlxceEM5XFx1MDExQVxceEM4XFx1MDE0Q1xceEQzXFx1MDFEMVxceEQyXFx1MEZGRlxceENBXFx1MDMwNFxcdTFFQkVcXHUwRkZGXFx4Q0FcXHUwMzBDXFx1MUVDMFxceENBXFx1MDEwMVxceEUxXFx1MDFDRVxceEUwXFx1MDI1MVxcdTAxMTNcXHhFOVxcdTAxMUJcXHhFOFxcdTAxMkJcXHhFRFxcdTAxRDBcXHhFQ1xcdTAxNERcXHhGM1xcdTAxRDJcXHhGMlxcdTAxNkJcXHhGQVxcdTAxRDRcXHhGOVxcdTAxRDZcXHUwMUQ4XFx1MDFEQVwiXSxcbiAgICAgIFtcIjg4YTFcIiwgXCJcXHUwMURDXFx4RkNcXHUwRkZGXFx4RUFcXHUwMzA0XFx1MUVCRlxcdTBGRkZcXHhFQVxcdTAzMENcXHUxRUMxXFx4RUFcXHUwMjYxXFx1MjNEQVxcdTIzREJcIl0sXG4gICAgICBbXCI4OTQwXCIsIFwiXFx1ezJBM0E5fVxcdXsyMTE0NX1cIl0sXG4gICAgICBbXCI4OTQzXCIsIFwiXFx1NjUwQVwiXSxcbiAgICAgIFtcIjg5NDZcIiwgXCJcXHU0RTNEXFx1NkVERFxcdTlENEVcXHU5MURGXCJdLFxuICAgICAgW1wiODk0Y1wiLCBcIlxcdXsyNzczNX1cXHU2NDkxXFx1NEYxQVxcdTRGMjhcXHU0RkE4XFx1NTE1NlxcdTUxNzRcXHU1MTlDXFx1NTFFNFxcdTUyQTFcXHU1MkE4XFx1NTMzQlxcdTUzNEVcXHU1M0QxXFx1NTNEOFxcdTU2RTJcXHU1OEYwXFx1NTkwNFxcdTU5MDdcXHU1OTMyXFx1NTkzNFxcdTVCNjZcXHU1QjlFXFx1NUI5RlxcdTVDOUFcXHU1RTg2XFx1NjAzQlxcdTY1ODlcXHU2N0ZFXFx1NjgwNFxcdTY4NjVcXHU2RDRFXFx1NzBCQ1xcdTc1MzVcXHU3RUE0XFx1N0VBQ1xcdTdFQkFcXHU3RUM3XFx1N0VDRlxcdTdFREZcXHU3RjA2XFx1N0YzN1xcdTgyN0FcXHU4MkNGXFx1ODM2RlxcdTg5QzZcXHU4QkJFXFx1OEJFMlxcdThGNjZcXHU4RjY3XFx1OEY2RVwiXSxcbiAgICAgIFtcIjg5YTFcIiwgXCJcXHU3NDExXFx1N0NGQ1xcdTdEQ0RcXHU2OTQ2XFx1N0FDOVxcdTUyMjdcIl0sXG4gICAgICBbXCI4OWFiXCIsIFwiXFx1OTE4Q1xcdTc4QjhcXHU5MTVFXFx1ODBCQ1wiXSxcbiAgICAgIFtcIjg5YjBcIiwgXCJcXHU4RDBCXFx1ODBGNlxcdXsyMDlFN31cIl0sXG4gICAgICBbXCI4OWI1XCIsIFwiXFx1ODA5RlxcdTlFQzdcXHU0Q0NEXFx1OURDOVxcdTlFMENcXHU0QzNFXFx1ezI5REY2fVxcdXsyNzAwRX1cXHU5RTBBXFx1ezJBMTMzfVxcdTM1QzFcIl0sXG4gICAgICBbXCI4OWMxXCIsIFwiXFx1NkU5QVxcdTgyM0VcXHU3NTE5XCJdLFxuICAgICAgW1wiODljNVwiLCBcIlxcdTQ5MTFcXHU5QTZDXFx1OUE4RlxcdTlGOTlcXHU3OTg3XFx1ezI4NDZDfVxcdXsyMURDQX1cXHV7MjA1RDB9XFx1ezIyQUU2fVxcdTRFMjRcXHU0RTgxXFx1NEU4MFxcdTRFODdcXHU0RUJGXFx1NEVFQlxcdTRGMzdcXHUzNDRDXFx1NEZCRFxcdTNFNDhcXHU1MDAzXFx1NTA4OFxcdTM0N0RcXHUzNDkzXFx1MzRBNVxcdTUxODZcXHU1OTA1XFx1NTFEQlxcdTUxRkNcXHU1MjA1XFx1NEU4OVxcdTUyNzlcXHU1MjkwXFx1NTMyN1xcdTM1QzdcXHU1M0E5XFx1MzU1MVxcdTUzQjBcXHUzNTUzXFx1NTNDMlxcdTU0MjNcXHUzNTZEXFx1MzU3MlxcdTM2ODFcXHU1NDkzXFx1NTRBM1xcdTU0QjRcXHU1NEI5XFx1NTREMFxcdTU0RUZcXHU1NTE4XFx1NTUyM1xcdTU1MjhcXHUzNTk4XFx1NTUzRlxcdTM1QTVcXHUzNUJGXFx1NTVEN1xcdTM1QzVcIl0sXG4gICAgICBbXCI4YTQwXCIsIFwiXFx1ezI3RDg0fVxcdTU1MjVcIl0sXG4gICAgICBbXCI4YTQzXCIsIFwiXFx1ezIwQzQyfVxcdXsyMEQxNX1cXHV7MjUxMkJ9XFx1NTU5MFxcdXsyMkNDNn1cXHUzOUVDXFx1ezIwMzQxfVxcdThFNDZcXHV7MjREQjh9XFx1ezI5NEU1fVxcdTQwNTNcXHV7MjgwQkV9XFx1Nzc3QVxcdXsyMkMzOH1cXHUzQTM0XFx1NDdENVxcdXsyODE1RH1cXHV7MjY5RjJ9XFx1ezI0REVBfVxcdTY0RERcXHV7MjBEN0N9XFx1ezIwRkI0fVxcdXsyMENENX1cXHV7MjEwRjR9XFx1NjQ4RFxcdThFN0VcXHV7MjBFOTZ9XFx1ezIwQzBCfVxcdXsyMEY2NH1cXHV7MjJDQTl9XFx1ezI4MjU2fVxcdXsyNDREM31cIl0sXG4gICAgICBbXCI4YTY0XCIsIFwiXFx1ezIwRDQ2fVxcdXsyOUE0RH1cXHV7MjgwRTl9XFx1NDdGNFxcdXsyNEVBN31cXHV7MjJDQzJ9XFx1OUFCMlxcdTNBNjdcXHV7Mjk1RjR9XFx1M0ZFRFxcdTM1MDZcXHV7MjUyQzd9XFx1ezI5N0Q0fVxcdXsyNzhDOH1cXHV7MjJENDR9XFx1OUQ2RVxcdTk4MTVcIl0sXG4gICAgICBbXCI4YTc2XCIsIFwiXFx1NDNEOVxcdXsyNjBBNX1cXHU2NEI0XFx1NTRFM1xcdXsyMkQ0Q31cXHV7MjJCQ0F9XFx1ezIxMDc3fVxcdTM5RkJcXHV7MjEwNkZ9XCJdLFxuICAgICAgW1wiOGFhMVwiLCBcIlxcdXsyNjZEQX1cXHV7MjY3MTZ9XFx1ezI3OUEwfVxcdTY0RUFcXHV7MjUwNTJ9XFx1ezIwQzQzfVxcdThFNjhcXHV7MjIxQTF9XFx1ezI4QjRDfVxcdXsyMDczMX1cIl0sXG4gICAgICBbXCI4YWFjXCIsIFwiXFx1NDgwQlxcdXsyMDFBOX1cXHUzRkZBXFx1NTg3M1xcdXsyMkQ4RH1cIl0sXG4gICAgICBbXCI4YWIyXCIsIFwiXFx1ezI0NUM4fVxcdXsyMDRGQ31cXHV7MjYwOTd9XFx1ezIwRjRDfVxcdXsyMEQ5Nn1cXHU1NTc5XFx1NDBCQlxcdTQzQkFcIl0sXG4gICAgICBbXCI4YWJiXCIsIFwiXFx1NEFCNFxcdXsyMkE2Nn1cXHV7MjEwOUR9XFx1ODFBQVxcdTk4RjVcXHV7MjBEOUN9XFx1NjM3OVxcdTM5RkVcXHV7MjI3NzV9XFx1OERDMFxcdTU2QTFcXHU2NDdDXFx1M0U0M1wiXSxcbiAgICAgIFtcIjhhYzlcIiwgXCJcXHV7MkE2MDF9XFx1ezIwRTA5fVxcdXsyMkFDRn1cXHV7MjJDQzl9XCJdLFxuICAgICAgW1wiOGFjZVwiLCBcIlxcdXsyMTBDOH1cXHV7MjM5QzJ9XFx1Mzk5MlxcdTNBMDZcXHV7MjgyOUJ9XFx1MzU3OFxcdXsyNUU0OX1cXHV7MjIwQzd9XFx1NTY1MlxcdXsyMEYzMX1cXHV7MjJDQjJ9XFx1ezI5NzIwfVxcdTM0QkNcXHU2QzNEXFx1ezI0RTNCfVwiXSxcbiAgICAgIFtcIjhhZGZcIiwgXCJcXHV7Mjc1NzR9XFx1ezIyRThCfVxcdXsyMjIwOH1cXHV7MkE2NUJ9XFx1ezI4Q0NEfVxcdXsyMEU3QX1cXHV7MjBDMzR9XFx1ezI2ODFDfVxcdTdGOTNcXHV7MjEwQ0Z9XFx1ezIyODAzfVxcdXsyMjkzOX1cXHUzNUZCXFx1ezI1MUUzfVxcdXsyMEU4Q31cXHV7MjBGOER9XFx1ezIwRUFBfVxcdTNGOTNcXHV7MjBGMzB9XFx1ezIwRDQ3fVxcdXsyMTE0Rn1cXHV7MjBFNEN9XCJdLFxuICAgICAgW1wiOGFmNlwiLCBcIlxcdXsyMEVBQn1cXHV7MjBCQTl9XFx1ezIwRDQ4fVxcdXsyMTBDMH1cXHV7MjExM0R9XFx1M0ZGOVxcdXsyMjY5Nn1cXHU2NDMyXFx1ezIwRkFEfVwiXSxcbiAgICAgIFtcIjhiNDBcIiwgXCJcXHV7MjMzRjR9XFx1ezI3NjM5fVxcdXsyMkJDRX1cXHV7MjBEN0V9XFx1ezIwRDdGfVxcdXsyMkM1MX1cXHV7MjJDNTV9XFx1M0ExOFxcdXsyMEU5OH1cXHV7MjEwQzd9XFx1ezIwRjJFfVxcdXsyQTYzMn1cXHV7MjZCNTB9XFx1ezI4Q0QyfVxcdXsyOEQ5OX1cXHV7MjhDQ0F9XFx1OTVBQVxcdTU0Q0NcXHU4MkM0XFx1NTVCOVwiXSxcbiAgICAgIFtcIjhiNTVcIiwgXCJcXHV7MjlFQzN9XFx1OUMyNlxcdTlBQjZcXHV7Mjc3NUV9XFx1ezIyREVFfVxcdTcxNDBcXHU4MTZEXFx1ODBFQ1xcdTVDMUNcXHV7MjY1NzJ9XFx1ODEzNFxcdTM3OTdcXHU1MzVGXFx1ezI4MEJEfVxcdTkxQjZcXHV7MjBFRkF9XFx1ezIwRTBGfVxcdXsyMEU3N31cXHV7MjBFRkJ9XFx1MzVERFxcdXsyNERFQn1cXHUzNjA5XFx1ezIwQ0Q2fVxcdTU2QUZcXHV7MjI3QjV9XFx1ezIxMEM5fVxcdXsyMEUxMH1cXHV7MjBFNzh9XFx1ezIxMDc4fVxcdXsyMTE0OH1cXHV7MjgyMDd9XFx1ezIxNDU1fVxcdXsyMEU3OX1cXHV7MjRFNTB9XFx1ezIyREE0fVxcdTVBNTRcXHV7MjEwMUR9XFx1ezIxMDFFfVxcdXsyMTBGNX1cXHV7MjEwRjZ9XFx1NTc5Q1xcdXsyMEUxMX1cIl0sXG4gICAgICBbXCI4YmExXCIsIFwiXFx1ezI3Njk0fVxcdXsyODJDRH1cXHV7MjBGQjV9XFx1ezIwRTdCfVxcdXsyNTE3RX1cXHUzNzAzXFx1ezIwRkI2fVxcdXsyMTE4MH1cXHV7MjUyRDh9XFx1ezJBMkJEfVxcdXsyNDlEQX1cXHV7MjE4M0F9XFx1ezI0MTc3fVxcdXsyODI3Q31cXHU1ODk5XFx1NTI2OFxcdTM2MUFcXHV7MjU3M0R9XFx1N0JCMlxcdTVCNjhcXHU0ODAwXFx1NEIyQ1xcdTlGMjdcXHU0OUU3XFx1OUMxRlxcdTlCOERcXHV7MjVCNzR9XFx1ezIzMTNEfVxcdTU1RkJcXHUzNUYyXFx1NTY4OVxcdTRFMjhcXHU1OTAyXFx1ezIxQkMxfVxcdXsyRjg3OH1cXHU5NzUxXFx1ezIwMDg2fVxcdTRFNUJcXHU0RUJCXFx1MzUzRVxcdTVDMjNcXHU1RjUxXFx1NUZDNFxcdTM4RkFcXHU2MjRDXFx1NjUzNVxcdTZCN0FcXHU2QzM1XFx1NkMzQVxcdTcwNkNcXHU3MjJCXFx1NEUyQ1xcdTcyQURcXHV7MjQ4RTl9XFx1N0Y1MlxcdTc5M0JcXHU3Q0Y5XFx1N0Y1M1xcdXsyNjI2QX1cXHUzNEMxXCJdLFxuICAgICAgW1wiOGJkZVwiLCBcIlxcdXsyNjM0Qn1cXHU4MDAyXFx1ODA4MFxcdXsyNjYxMn1cXHV7MjY5NTF9XFx1NTM1RFxcdTg4NjRcXHU4OUMxXFx1ezI3OEIyfVxcdThCQTBcXHU4RDFEXFx1OTQ4NVxcdTk1NzhcXHU5NTdGXFx1OTVFOFxcdXsyOEUwRn1cXHU5N0U2XFx1OTg3NVxcdTk4Q0VcXHU5OERFXFx1OTk2M1xcdXsyOTgxMH1cXHU5QzdDXFx1OUUxRlxcdTlFQzRcXHU2QjZGXFx1RjkwN1xcdTRFMzdcXHV7MjAwODd9XFx1OTYxRFxcdTYyMzdcXHU5NEEyXCJdLFxuICAgICAgW1wiOGM0MFwiLCBcIlxcdTUwM0JcXHU2REZFXFx1ezI5QzczfVxcdTlGQTZcXHUzREM5XFx1ODg4RlxcdXsyNDE0RX1cXHU3MDc3XFx1NUNGNVxcdTRCMjBcXHV7MjUxQ0R9XFx1MzU1OVxcdXsyNUQzMH1cXHU2MTIyXFx1ezI4QTMyfVxcdThGQTdcXHU5MUY2XFx1NzE5MVxcdTY3MTlcXHU3M0JBXFx1ezIzMjgxfVxcdXsyQTEwN31cXHUzQzhCXFx1ezIxOTgwfVxcdTRCMTBcXHU3OEU0XFx1NzQwMlxcdTUxQUVcXHV7Mjg3MEZ9XFx1NDAwOVxcdTZBNjNcXHV7MkEyQkF9XFx1NDIyM1xcdTg2MEZcXHV7MjBBNkZ9XFx1N0EyQVxcdXsyOTk0N31cXHV7MjhBRUF9XFx1OTc1NVxcdTcwNERcXHU1MzI0XFx1ezIyMDdFfVxcdTkzRjRcXHU3NkQ5XFx1ezI4OUUzfVxcdTlGQTdcXHU3N0REXFx1NEVBM1xcdTRGRjBcXHU1MEJDXFx1NEUyRlxcdTRGMTdcXHU5RkE4XFx1NTQzNFxcdTdEOEJcXHU1ODkyXFx1NThEMFxcdXsyMURCNn1cXHU1RTkyXFx1NUU5OVxcdTVGQzJcXHV7MjI3MTJ9XFx1NjU4QlwiXSxcbiAgICAgIFtcIjhjYTFcIiwgXCJcXHV7MjMzRjl9XFx1NjkxOVxcdTZBNDNcXHV7MjNDNjN9XFx1NkNGRlwiXSxcbiAgICAgIFtcIjhjYTdcIiwgXCJcXHU3MjAwXFx1ezI0NTA1fVxcdTczOENcXHUzRURCXFx1ezI0QTEzfVxcdTVCMTVcXHU3NEI5XFx1OEI4M1xcdXsyNUNBNH1cXHV7MjU2OTV9XFx1N0E5M1xcdTdCRUNcXHU3Q0MzXFx1N0U2Q1xcdTgyRjhcXHU4NTk3XFx1OUZBOVxcdTg4OTBcXHU5RkFBXFx1OEVCOVxcdTlGQUJcXHU4RkNGXFx1ODU1RlxcdTk5RTBcXHU5MjIxXFx1OUZBQ1xcdXsyOERCOX1cXHV7MjE0M0Z9XFx1NDA3MVxcdTQyQTJcXHU1QTFBXCJdLFxuICAgICAgW1wiOGNjOVwiLCBcIlxcdTk4NjhcXHU2NzZCXFx1NDI3NlxcdTU3M0RcIl0sXG4gICAgICBbXCI4Y2NlXCIsIFwiXFx1ODVENlxcdXsyNDk3Qn1cXHU4MkJGXFx1ezI3MTBEfVxcdTRDODFcXHV7MjZENzR9XFx1NUQ3QlxcdXsyNkIxNX1cXHV7MjZGQkV9XFx1OUZBRFxcdTlGQUVcXHU1Qjk2XFx1OUZBRlxcdTY2RTdcXHU3RTVCXFx1NkU1N1xcdTc5Q0FcXHUzRDg4XFx1NDRDM1xcdXsyMzI1Nn1cXHV7MjI3OTZ9XFx1NDM5QVxcdTQ1MzZcIl0sXG4gICAgICBbXCI4Y2U2XCIsIFwiXFx1NUNENVxcdXsyM0IxQX1cXHU4QUY5XFx1NUM3OFxcdTNEMTJcXHV7MjM1NTF9XFx1NUQ3OFxcdTlGQjJcXHU3MTU3XFx1NDU1OFxcdXsyNDBFQ31cXHV7MjFFMjN9XFx1NEM3N1xcdTM5NzhcXHUzNDRBXFx1ezIwMUE0fVxcdXsyNkM0MX1cXHU4QUNDXFx1NEZCNFxcdXsyMDIzOX1cXHU1OUJGXFx1ODE2Q1xcdTk4NTZcXHV7Mjk4RkF9XFx1NUYzQlwiXSxcbiAgICAgIFtcIjhkNDBcIiwgXCJcXHV7MjBCOUZ9XCJdLFxuICAgICAgW1wiOGQ0MlwiLCBcIlxcdXsyMjFDMX1cXHV7Mjg5NkR9XFx1NDEwMlxcdTQ2QkJcXHV7MjkwNzl9XFx1M0YwN1xcdTlGQjNcXHV7MkExQjV9XFx1NDBGOFxcdTM3RDZcXHU0NkY3XFx1ezI2QzQ2fVxcdTQxN0NcXHV7Mjg2QjJ9XFx1ezI3M0ZGfVxcdTQ1NkRcXHUzOEQ0XFx1ezI1NDlBfVxcdTQ1NjFcXHU0NTFCXFx1NEQ4OVxcdTRDN0JcXHU0RDc2XFx1NDVFQVxcdTNGQzhcXHV7MjRCMEZ9XFx1MzY2MVxcdTQ0REVcXHU0NEJEXFx1NDFFRFxcdTVEM0VcXHU1RDQ4XFx1NUQ1NlxcdTNERkNcXHUzODBGXFx1NURBNFxcdTVEQjlcXHUzODIwXFx1MzgzOFxcdTVFNDJcXHU1RUJEXFx1NUYyNVxcdTVGODNcXHUzOTA4XFx1MzkxNFxcdTM5M0ZcXHUzOTREXFx1NjBEN1xcdTYxM0RcXHU1Q0U1XFx1Mzk4OVxcdTYxQjdcXHU2MUI5XFx1NjFDRlxcdTM5QjhcXHU2MjJDXFx1NjI5MFxcdTYyRTVcXHU2MzE4XFx1MzlGOFxcdTU2QjFcIl0sXG4gICAgICBbXCI4ZGExXCIsIFwiXFx1M0EwM1xcdTYzRTJcXHU2M0ZCXFx1NjQwN1xcdTY0NUFcXHUzQTRCXFx1NjRDMFxcdTVEMTVcXHU1NjIxXFx1OUY5RlxcdTNBOTdcXHU2NTg2XFx1M0FCRFxcdTY1RkZcXHU2NjUzXFx1M0FGMlxcdTY2OTJcXHUzQjIyXFx1NjcxNlxcdTNCNDJcXHU2N0E0XFx1NjgwMFxcdTNCNThcXHU2ODRBXFx1Njg4NFxcdTNCNzJcXHUzQjcxXFx1M0I3QlxcdTY5MDlcXHU2OTQzXFx1NzI1Q1xcdTY5NjRcXHU2OTlGXFx1Njk4NVxcdTNCQkNcXHU2OUQ2XFx1M0JERFxcdTZBNjVcXHU2QTc0XFx1NkE3MVxcdTZBODJcXHUzQkVDXFx1NkE5OVxcdTNCRjJcXHU2QUFCXFx1NkFCNVxcdTZBRDRcXHU2QUY2XFx1NkI4MVxcdTZCQzFcXHU2QkVBXFx1NkM3NVxcdTZDQUFcXHUzQ0NCXFx1NkQwMlxcdTZEMDZcXHU2RDI2XFx1NkQ4MVxcdTNDRUZcXHU2REE0XFx1NkRCMVxcdTZFMTVcXHU2RTE4XFx1NkUyOVxcdTZFODZcXHV7Mjg5QzB9XFx1NkVCQlxcdTZFRTJcXHU2RURBXFx1OUY3RlxcdTZFRThcXHU2RUU5XFx1NkYyNFxcdTZGMzRcXHUzRDQ2XFx1ezIzRjQxfVxcdTZGODFcXHU2RkJFXFx1M0Q2QVxcdTNENzVcXHU3MUI3XFx1NUM5OVxcdTNEOEFcXHU3MDJDXFx1M0Q5MVxcdTcwNTBcXHU3MDU0XFx1NzA2RlxcdTcwN0ZcXHU3MDg5XFx1ezIwMzI1fVxcdTQzQzFcXHUzNUYxXFx1ezIwRUQ4fVwiXSxcbiAgICAgIFtcIjhlNDBcIiwgXCJcXHV7MjNFRDd9XFx1NTdCRVxcdXsyNkVEM31cXHU3MTNFXFx1ezI1N0UwfVxcdTM2NEVcXHU2OUEyXFx1ezI4QkU5fVxcdTVCNzRcXHU3QTQ5XFx1ezI1OEUxfVxcdXsyOTREOX1cXHU3QTY1XFx1N0E3RFxcdXsyNTlBQ31cXHU3QUJCXFx1N0FCMFxcdTdBQzJcXHU3QUMzXFx1NzFEMVxcdXsyNjQ4RH1cXHU0MUNBXFx1N0FEQVxcdTdBRERcXHU3QUVBXFx1NDFFRlxcdTU0QjJcXHV7MjVDMDF9XFx1N0IwQlxcdTdCNTVcXHU3QjI5XFx1ezI1MzBFfVxcdXsyNUNGRX1cXHU3QkEyXFx1N0I2RlxcdTgzOUNcXHV7MjVCQjR9XFx1ezI2QzdGfVxcdTdCRDBcXHU4NDIxXFx1N0I5MlxcdTdCQjhcXHV7MjVEMjB9XFx1M0RBRFxcdXsyNUM2NX1cXHU4NDkyXFx1N0JGQVxcdTdDMDZcXHU3QzM1XFx1ezI1Q0MxfVxcdTdDNDRcXHU3QzgzXFx1ezI0ODgyfVxcdTdDQTZcXHU2NjdEXFx1ezI0NTc4fVxcdTdDQzlcXHU3Q0M3XFx1N0NFNlxcdTdDNzRcXHU3Q0YzXFx1N0NGNVxcdTdDQ0VcIl0sXG4gICAgICBbXCI4ZWExXCIsIFwiXFx1N0U2N1xcdTQ1MURcXHV7MjZFNDR9XFx1N0Q1RFxcdXsyNkVENn1cXHU3NDhEXFx1N0Q4OVxcdTdEQUJcXHU3MTM1XFx1N0RCM1xcdTdERDJcXHV7MjQwNTd9XFx1ezI2MDI5fVxcdTdERTRcXHUzRDEzXFx1N0RGNVxcdXsyMTdGOX1cXHU3REU1XFx1ezI4MzZEfVxcdTdFMURcXHV7MjYxMjF9XFx1ezI2MTVBfVxcdTdFNkVcXHU3RTkyXFx1NDMyQlxcdTk0NkNcXHU3RTI3XFx1N0Y0MFxcdTdGNDFcXHU3RjQ3XFx1NzkzNlxcdXsyNjJEMH1cXHU5OUUxXFx1N0Y5N1xcdXsyNjM1MX1cXHU3RkEzXFx1ezIxNjYxfVxcdXsyMDA2OH1cXHU0NTVDXFx1ezIzNzY2fVxcdTQ1MDNcXHV7MjgzM0F9XFx1N0ZGQVxcdXsyNjQ4OX1cXHU4MDA1XFx1ODAwOFxcdTgwMURcXHU4MDI4XFx1ODAyRlxcdXsyQTA4N31cXHV7MjZDQzN9XFx1ODAzQlxcdTgwM0NcXHU4MDYxXFx1ezIyNzE0fVxcdTQ5ODlcXHV7MjY2MjZ9XFx1ezIzREUzfVxcdXsyNjZFOH1cXHU2NzI1XFx1ODBBN1xcdXsyOEE0OH1cXHU4MTA3XFx1ODExQVxcdTU4QjBcXHV7MjI2RjZ9XFx1NkM3RlxcdXsyNjQ5OH1cXHV7MjRGQjh9XFx1NjRFN1xcdXsyMTQ4QX1cXHU4MjE4XFx1ezIxODVFfVxcdTZBNTNcXHV7MjRBNjV9XFx1ezI0QTk1fVxcdTQ0N0FcXHU4MjI5XFx1ezIwQjBEfVxcdXsyNkE1Mn1cXHV7MjNEN0V9XFx1NEZGOVxcdXsyMTRGRH1cXHU4NEUyXFx1ODM2MlxcdXsyNkIwQX1cXHV7MjQ5QTd9XFx1ezIzNTMwfVxcdXsyMTc3M31cXHV7MjNERjh9XFx1ODJBQVxcdTY5MUJcXHV7MkY5OTR9XFx1NDFEQlwiXSxcbiAgICAgIFtcIjhmNDBcIiwgXCJcXHU4NTRCXFx1ODJEMFxcdTgzMUFcXHV7MjBFMTZ9XFx1ezIxN0I0fVxcdTM2QzFcXHV7MjMxN0R9XFx1ezIzNTVBfVxcdTgyN0JcXHU4MkUyXFx1ODMxOFxcdXsyM0U4Qn1cXHV7MjZEQTN9XFx1ezI2QjA1fVxcdXsyNkI5N31cXHV7MjM1Q0V9XFx1M0RCRlxcdTgzMURcXHU1NUVDXFx1ODM4NVxcdTQ1MEJcXHV7MjZEQTV9XFx1ODNBQ1xcdTgzQzFcXHU4M0QzXFx1MzQ3RVxcdXsyNkVENH1cXHU2QTU3XFx1ODU1QVxcdTM0OTZcXHV7MjZFNDJ9XFx1ezIyRUVGfVxcdTg0NThcXHV7MjVCRTR9XFx1ODQ3MVxcdTNERDNcXHU0NEU0XFx1NkFBN1xcdTg0NEFcXHV7MjNDQjV9XFx1Nzk1OFxcdTg0QThcXHV7MjZCOTZ9XFx1ezI2RTc3fVxcdXsyNkU0M31cXHU4NERFXFx1ODQwRlxcdTgzOTFcXHU0NEEwXFx1ODQ5M1xcdTg0RTRcXHV7MjVDOTF9XFx1NDI0MFxcdXsyNUNDMH1cXHU0NTQzXFx1ODUzNFxcdTVBRjJcXHV7MjZFOTl9XFx1NDUyN1xcdTg1NzNcXHU0NTE2XFx1NjdCRlxcdTg2MTZcIl0sXG4gICAgICBbXCI4ZmExXCIsIFwiXFx1ezI4NjI1fVxcdXsyODYzQn1cXHU4NUMxXFx1ezI3MDg4fVxcdTg2MDJcXHV7MjE1ODJ9XFx1ezI3MENEfVxcdXsyRjlCMn1cXHU0NTZBXFx1ODYyOFxcdTM2NDhcXHV7MjE4QTJ9XFx1NTNGN1xcdXsyNzM5QX1cXHU4NjdFXFx1ODc3MVxcdXsyQTBGOH1cXHU4N0VFXFx1ezIyQzI3fVxcdTg3QjFcXHU4N0RBXFx1ODgwRlxcdTU2NjFcXHU4NjZDXFx1Njg1NlxcdTQ2MEZcXHU4ODQ1XFx1ODg0NlxcdXsyNzVFMH1cXHV7MjNEQjl9XFx1ezI3NUU0fVxcdTg4NUVcXHU4ODlDXFx1NDY1QlxcdTg4QjRcXHU4OEI1XFx1NjNDMVxcdTg4QzVcXHU3Nzc3XFx1ezI3NzBGfVxcdTg5ODdcXHU4OThBXFx1ODlBNlxcdTg5QTlcXHU4OUE3XFx1ODlCQ1xcdXsyOEEyNX1cXHU4OUU3XFx1ezI3OTI0fVxcdXsyN0FCRH1cXHU4QTlDXFx1Nzc5M1xcdTkxRkVcXHU4QTkwXFx1ezI3QTU5fVxcdTdBRTlcXHV7MjdCM0F9XFx1ezIzRjhGfVxcdTQ3MTNcXHV7MjdCMzh9XFx1NzE3Q1xcdThCMENcXHU4QjFGXFx1ezI1NDMwfVxcdXsyNTU2NX1cXHU4QjNGXFx1OEI0Q1xcdThCNERcXHU4QUE5XFx1ezI0QTdBfVxcdThCOTBcXHU4QjlCXFx1OEFBRlxcdXsyMTZERn1cXHU0NjE1XFx1ODg0RlxcdThDOUJcXHV7MjdENTR9XFx1ezI3RDhGfVxcdXsyRjlENH1cXHUzNzI1XFx1ezI3RDUzfVxcdThDRDZcXHV7MjdEOTh9XFx1ezI3REJEfVxcdThEMTJcXHU4RDAzXFx1ezIxOTEwfVxcdThDREJcXHU3MDVDXFx1OEQxMVxcdXsyNENDOX1cXHUzRUQwXFx1OEQ3N1wiXSxcbiAgICAgIFtcIjkwNDBcIiwgXCJcXHU4REE5XFx1ezI4MDAyfVxcdXsyMTAxNH1cXHV7MjQ5OEF9XFx1M0I3Q1xcdXsyODFCQ31cXHV7MjcxMEN9XFx1N0FFN1xcdThFQURcXHU4RUI2XFx1OEVDM1xcdTkyRDRcXHU4RjE5XFx1OEYyRFxcdXsyODM2NX1cXHV7Mjg0MTJ9XFx1OEZBNVxcdTkzMDNcXHV7MkEyOUZ9XFx1ezIwQTUwfVxcdThGQjNcXHU0OTJBXFx1ezI4OURFfVxcdXsyODUzRH1cXHV7MjNEQkJ9XFx1NUVGOFxcdXsyMzI2Mn1cXHU4RkY5XFx1ezJBMDE0fVxcdXsyODZCQ31cXHV7Mjg1MDF9XFx1ezIyMzI1fVxcdTM5ODBcXHV7MjZFRDd9XFx1OTAzN1xcdXsyODUzQ31cXHV7MjdBQkV9XFx1OTA2MVxcdXsyODU2Q31cXHV7Mjg2MEJ9XFx1OTBBOFxcdXsyODcxM31cXHU5MEM0XFx1ezI4NkU2fVxcdTkwQUVcXHU5MEZEXFx1OTE2N1xcdTNBRjBcXHU5MUE5XFx1OTFDNFxcdTdDQUNcXHV7Mjg5MzN9XFx1ezIxRTg5fVxcdTkyMEVcXHU2QzlGXFx1OTI0MVxcdTkyNjJcXHV7MjU1Qjl9XFx1OTJCOVxcdXsyOEFDNn1cXHV7MjNDOUJ9XFx1ezI4QjBDfVxcdXsyNTVEQn1cIl0sXG4gICAgICBbXCI5MGExXCIsIFwiXFx1ezIwRDMxfVxcdTkzMkNcXHU5MzZCXFx1ezI4QUUxfVxcdXsyOEJFQn1cXHU3MDhGXFx1NUFDM1xcdXsyOEFFMn1cXHV7MjhBRTV9XFx1NDk2NVxcdTkyNDRcXHV7MjhCRUN9XFx1ezI4QzM5fVxcdXsyOEJGRn1cXHU5MzczXFx1OTQ1QlxcdThFQkNcXHU5NTg1XFx1OTVBNlxcdTk0MjZcXHU5NUEwXFx1NkZGNlxcdTQyQjlcXHV7MjI2N0F9XFx1ezI4NkQ4fVxcdXsyMTI3Q31cXHV7MjNFMkV9XFx1NDlERlxcdTZDMUNcXHU5NjdCXFx1OTY5NlxcdTQxNkNcXHU5NkEzXFx1ezI2RUQ1fVxcdTYxREFcXHU5NkI2XFx1NzhGNVxcdXsyOEFFMH1cXHU5NkJEXFx1NTNDQ1xcdTQ5QTFcXHV7MjZDQjh9XFx1ezIwMjc0fVxcdXsyNjQxMH1cXHV7MjkwQUZ9XFx1ezI5MEU1fVxcdXsyNEFEMX1cXHV7MjE5MTV9XFx1ezIzMzBBfVxcdTk3MzFcXHU4NjQyXFx1OTczNlxcdTRBMEZcXHU0NTNEXFx1NDU4NVxcdXsyNEFFOX1cXHU3MDc1XFx1NUI0MVxcdTk3MUJcXHU5NzVDXFx1ezI5MUQ1fVxcdTk3NTdcXHU1QjRBXFx1ezI5MUVCfVxcdTk3NUZcXHU5NDI1XFx1NTBEMFxcdXsyMzBCN31cXHV7MjMwQkN9XFx1OTc4OVxcdTk3OUZcXHU5N0IxXFx1OTdCRVxcdTk3QzBcXHU5N0QyXFx1OTdFMFxcdXsyNTQ2Q31cXHU5N0VFXFx1NzQxQ1xcdXsyOTQzM31cXHU5N0ZGXFx1OTdGNVxcdXsyOTQxRH1cXHV7Mjc5N0F9XFx1NEFEMVxcdTk4MzRcXHU5ODMzXFx1OTg0QlxcdTk4NjZcXHUzQjBFXFx1ezI3MTc1fVxcdTNENTFcXHV7MjA2MzB9XFx1ezI0MTVDfVwiXSxcbiAgICAgIFtcIjkxNDBcIiwgXCJcXHV7MjU3MDZ9XFx1OThDQVxcdTk4QjdcXHU5OEM4XFx1OThDN1xcdTRBRkZcXHV7MjZEMjd9XFx1ezIxNkQzfVxcdTU1QjBcXHU5OEUxXFx1OThFNlxcdTk4RUNcXHU5Mzc4XFx1OTkzOVxcdXsyNEEyOX1cXHU0QjcyXFx1ezI5ODU3fVxcdXsyOTkwNX1cXHU5OUY1XFx1OUEwQ1xcdTlBM0JcXHU5QTEwXFx1OUE1OFxcdXsyNTcyNX1cXHUzNkM0XFx1ezI5MEIxfVxcdXsyOUJENX1cXHU5QUUwXFx1OUFFMlxcdXsyOUIwNX1cXHU5QUY0XFx1NEMwRVxcdTlCMTRcXHU5QjJEXFx1ezI4NjAwfVxcdTUwMzRcXHU5QjM0XFx1ezI2OUE4fVxcdTM4QzNcXHV7MjMwN0R9XFx1OUI1MFxcdTlCNDBcXHV7MjlEM0V9XFx1NUE0NVxcdXsyMTg2M31cXHU5QjhFXFx1ezI0MjRCfVxcdTlDMDJcXHU5QkZGXFx1OUMwQ1xcdXsyOUU2OH1cXHU5REQ0XFx1ezI5RkI3fVxcdXsyQTE5Mn1cXHV7MkExQUJ9XFx1ezJBMEUxfVxcdXsyQTEyM31cXHV7MkExREZ9XFx1OUQ3RVxcdTlEODNcXHV7MkExMzR9XFx1OUUwRVxcdTY4ODhcIl0sXG4gICAgICBbXCI5MWExXCIsIFwiXFx1OURDNFxcdXsyMjE1Qn1cXHV7MkExOTN9XFx1ezJBMjIwfVxcdXsyMTkzQn1cXHV7MkEyMzN9XFx1OUQzOVxcdXsyQTBCOX1cXHV7MkEyQjR9XFx1OUU5MFxcdTlFOTVcXHU5RTlFXFx1OUVBMlxcdTREMzRcXHU5RUFBXFx1OUVBRlxcdXsyNDM2NH1cXHU5RUMxXFx1M0I2MFxcdTM5RTVcXHUzRDFEXFx1NEYzMlxcdTM3QkVcXHV7MjhDMkJ9XFx1OUYwMlxcdTlGMDhcXHU0Qjk2XFx1OTQyNFxcdXsyNkRBMn1cXHU5RjE3XFx1OUYxNlxcdTlGMzlcXHU1NjlGXFx1NTY4QVxcdTlGNDVcXHU5OUI4XFx1ezI5MDhCfVxcdTk3RjJcXHU4NDdGXFx1OUY2MlxcdTlGNjlcXHU3QURDXFx1OUY4RVxcdTcyMTZcXHU0QkJFXFx1ezI0OTc1fVxcdXsyNDlCQn1cXHU3MTc3XFx1ezI0OUY4fVxcdXsyNDM0OH1cXHV7MjRBNTF9XFx1NzM5RVxcdXsyOEJEQX1cXHV7MjE4RkF9XFx1Nzk5RlxcdXsyODk3RX1cXHV7MjhFMzZ9XFx1OTM2OVxcdTkzRjNcXHV7MjhBNDR9XFx1OTJFQ1xcdTkzODFcXHU5M0NCXFx1ezI4OTZDfVxcdXsyNDRCOX1cXHU3MjE3XFx1M0VFQlxcdTc3NzJcXHU3QTQzXFx1NzBEMFxcdXsyNDQ3M31cXHV7MjQzRjh9XFx1NzE3RVxcdXsyMTdFRn1cXHU3MEEzXFx1ezIxOEJFfVxcdXsyMzU5OX1cXHUzRUM3XFx1ezIxODg1fVxcdXsyNTQyRn1cXHV7MjE3Rjh9XFx1MzcyMlxcdXsyMTZGQn1cXHV7MjE4Mzl9XFx1MzZFMVxcdXsyMTc3NH1cXHV7MjE4RDF9XFx1ezI1RjRCfVxcdTM3MjNcXHV7MjE2QzB9XFx1NTc1QlxcdXsyNEEyNX1cXHV7MjEzRkV9XFx1ezIxMkE4fVwiXSxcbiAgICAgIFtcIjkyNDBcIiwgXCJcXHV7MjEzQzZ9XFx1ezIxNEI2fVxcdTg1MDNcXHV7MjM2QTZ9XFx1ODUwM1xcdTg0NTVcXHV7MjQ5OTR9XFx1ezI3MTY1fVxcdXsyM0UzMX1cXHV7MjU1NUN9XFx1ezIzRUZCfVxcdXsyNzA1Mn1cXHU0NEY0XFx1ezIzNkVFfVxcdXsyOTk5RH1cXHV7MjZGMjZ9XFx1NjdGOVxcdTM3MzNcXHUzQzE1XFx1M0RFN1xcdTU4NkNcXHV7MjE5MjJ9XFx1NjgxMFxcdTQwNTdcXHV7MjM3M0Z9XFx1ezI0MEUxfVxcdXsyNDA4Qn1cXHV7MjQxMEZ9XFx1ezI2QzIxfVxcdTU0Q0JcXHU1NjlFXFx1ezI2NkIxfVxcdTU2OTJcXHV7MjBGREZ9XFx1ezIwQkE4fVxcdXsyMEUwRH1cXHU5M0M2XFx1ezI4QjEzfVxcdTkzOUNcXHU0RUY4XFx1NTEyQlxcdTM4MTlcXHV7MjQ0MzZ9XFx1NEVCQ1xcdXsyMDQ2NX1cXHV7MjAzN0Z9XFx1NEY0QlxcdTRGOEFcXHV7MjU2NTF9XFx1NUE2OFxcdXsyMDFBQn1cXHV7MjAzQ0J9XFx1Mzk5OVxcdXsyMDMwQX1cXHV7MjA0MTR9XFx1MzQzNVxcdTRGMjlcXHV7MjAyQzB9XFx1ezI4RUIzfVxcdXsyMDI3NX1cXHU4QURBXFx1ezIwMjBDfVxcdTRFOThcIl0sXG4gICAgICBbXCI5MmExXCIsIFwiXFx1NTBDRFxcdTUxMERcXHU0RkEyXFx1NEYwM1xcdXsyNEEwRX1cXHV7MjNFOEF9XFx1NEY0MlxcdTUwMkVcXHU1MDZDXFx1NTA4MVxcdTRGQ0NcXHU0RkU1XFx1NTA1OFxcdTUwRkNcXHU1MTU5XFx1NTE1QlxcdTUxNURcXHU1MTVFXFx1NkU3NlxcdXsyMzU5NX1cXHV7MjNFMzl9XFx1ezIzRUJGfVxcdTZENzJcXHV7MjE4ODR9XFx1ezIzRTg5fVxcdTUxQThcXHU1MUMzXFx1ezIwNUUwfVxcdTQ0RERcXHV7MjA0QTN9XFx1ezIwNDkyfVxcdXsyMDQ5MX1cXHU4RDdBXFx1ezI4QTlDfVxcdXsyMDcwRX1cXHU1MjU5XFx1NTJBNFxcdXsyMDg3M31cXHU1MkUxXFx1OTM2RVxcdTQ2N0FcXHU3MThDXFx1ezI0MzhDfVxcdXsyMEMyMH1cXHV7MjQ5QUN9XFx1ezIxMEU0fVxcdTY5RDFcXHV7MjBFMUR9XFx1NzQ3OVxcdTNFREVcXHU3NDk5XFx1NzQxNFxcdTc0NTZcXHU3Mzk4XFx1NEI4RVxcdXsyNEFCQ31cXHV7MjQwOER9XFx1NTNEMFxcdTM1ODRcXHU3MjBGXFx1ezI0MEM5fVxcdTU1QjRcXHV7MjAzNDV9XFx1NTRDRFxcdXsyMEJDNn1cXHU1NzFEXFx1OTI1RFxcdTk2RjRcXHU5MzY2XFx1NTdERFxcdTU3OERcXHU1NzdGXFx1MzYzRVxcdTU4Q0JcXHU1QTk5XFx1ezI4QTQ2fVxcdXsyMTZGQX1cXHV7MjE3NkZ9XFx1ezIxNzEwfVxcdTVBMkNcXHU1OUI4XFx1OTI4RlxcdTVBN0VcXHU1QUNGXFx1NUExMlxcdXsyNTk0Nn1cXHV7MjE5RjN9XFx1ezIxODYxfVxcdXsyNDI5NX1cXHUzNkY1XFx1NkQwNVxcdTc0NDNcXHU1QTIxXFx1ezI1RTgzfVwiXSxcbiAgICAgIFtcIjkzNDBcIiwgXCJcXHU1QTgxXFx1ezI4QkQ3fVxcdXsyMDQxM31cXHU5M0UwXFx1NzQ4Q1xcdXsyMTMwM31cXHU3MTA1XFx1NDk3MlxcdTk0MDhcXHV7Mjg5RkJ9XFx1OTNCRFxcdTM3QTBcXHU1QzFFXFx1NUM5RVxcdTVFNUVcXHU1RTQ4XFx1ezIxOTk2fVxcdXsyMTk3Q31cXHV7MjNBRUV9XFx1NUVDRFxcdTVCNEZcXHV7MjE5MDN9XFx1ezIxOTA0fVxcdTM3MDFcXHV7MjE4QTB9XFx1MzZERFxcdXsyMTZGRX1cXHUzNkQzXFx1ODEyQVxcdXsyOEE0N31cXHV7MjFEQkF9XFx1ezIzNDcyfVxcdXsyODlBOH1cXHU1RjBDXFx1NUYwRVxcdXsyMTkyN31cXHV7MjE3QUJ9XFx1NUE2QlxcdXsyMTczQn1cXHU1QjQ0XFx1ODYxNFxcdXsyNzVGRH1cXHU4ODYwXFx1NjA3RVxcdXsyMjg2MH1cXHV7MjI2MkJ9XFx1NUZEQlxcdTNFQjhcXHV7MjI1QUZ9XFx1ezIyNUJFfVxcdXsyOTA4OH1cXHV7MjZGNzN9XFx1NjFDMFxcdXsyMDAzRX1cXHV7MjAwNDZ9XFx1ezIyNjFCfVxcdTYxOTlcXHU2MTk4XFx1NjA3NVxcdXsyMkM5Qn1cXHV7MjJEMDd9XFx1ezI0NkQ0fVxcdXsyOTE0RH1cIl0sXG4gICAgICBbXCI5M2ExXCIsIFwiXFx1NjQ3MVxcdXsyNDY2NX1cXHV7MjJCNkF9XFx1M0EyOVxcdXsyMkIyMn1cXHV7MjM0NTB9XFx1ezI5OEVBfVxcdXsyMkU3OH1cXHU2MzM3XFx1ezJBNDVCfVxcdTY0QjZcXHU2MzMxXFx1NjNEMVxcdXsyNDlFM31cXHV7MjJENjd9XFx1NjJBNFxcdXsyMkNBMX1cXHU2NDNCXFx1NjU2QlxcdTY5NzJcXHUzQkY0XFx1ezIzMDhFfVxcdXsyMzJBRH1cXHV7MjQ5ODl9XFx1ezIzMkFCfVxcdTU1MERcXHV7MjMyRTB9XFx1ezIxOEQ5fVxcdXsyOTQzRn1cXHU2NkNFXFx1ezIzMjg5fVxcdXsyMzFCM31cXHUzQUUwXFx1NDE5MFxcdXsyNTU4NH1cXHV7MjhCMjJ9XFx1ezI1NThGfVxcdXsyMTZGQ31cXHV7MjU1NUJ9XFx1ezI1NDI1fVxcdTc4RUVcXHV7MjMxMDN9XFx1ezIxODJBfVxcdXsyMzIzNH1cXHUzNDY0XFx1ezIzMjBGfVxcdXsyMzE4Mn1cXHV7MjQyQzl9XFx1NjY4RVxcdXsyNkQyNH1cXHU2NjZCXFx1NEI5M1xcdTY2MzBcXHV7Mjc4NzB9XFx1ezIxREVCfVxcdTY2NjNcXHV7MjMyRDJ9XFx1ezIzMkUxfVxcdTY2MUVcXHV7MjU4NzJ9XFx1MzhEMVxcdXsyMzgzQX1cXHV7MjM3QkN9XFx1M0I5OVxcdXsyMzdBMn1cXHV7MjMzRkV9XFx1NzREMFxcdTNCOTZcXHU2NzhGXFx1ezI0NjJBfVxcdTY4QjZcXHU2ODFFXFx1M0JDNFxcdTZBQkVcXHUzODYzXFx1ezIzN0Q1fVxcdXsyNDQ4N31cXHU2QTMzXFx1NkE1MlxcdTZBQzlcXHU2QjA1XFx1ezIxOTEyfVxcdTY1MTFcXHU2ODk4XFx1NkE0Q1xcdTNCRDdcXHU2QTdBXFx1NkI1N1xcdXsyM0ZDMH1cXHV7MjNDOUF9XFx1OTNBMFxcdTkyRjJcXHV7MjhCRUF9XFx1ezI4QUNCfVwiXSxcbiAgICAgIFtcIjk0NDBcIiwgXCJcXHU5Mjg5XFx1ezI4MDFFfVxcdXsyODlEQ31cXHU5NDY3XFx1NkRBNVxcdTZGMEJcXHV7MjQ5RUN9XFx1NkQ2N1xcdXsyM0Y3Rn1cXHUzRDhGXFx1NkUwNFxcdXsyNDAzQ31cXHU1QTNEXFx1NkUwQVxcdTU4NDdcXHU2RDI0XFx1Nzg0MlxcdTcxM0JcXHV7MjQzMUF9XFx1ezI0Mjc2fVxcdTcwRjFcXHU3MjUwXFx1NzI4N1xcdTcyOTRcXHV7MjQ3OEZ9XFx1ezI0NzI1fVxcdTUxNzlcXHV7MjRBQTR9XFx1ezIwNUVCfVxcdTc0N0FcXHV7MjNFRjh9XFx1ezIzNjVGfVxcdXsyNEE0QX1cXHV7MjQ5MTd9XFx1ezI1RkUxfVxcdTNGMDZcXHUzRUIxXFx1ezI0QURGfVxcdXsyOEMyM31cXHV7MjNGMzV9XFx1NjBBN1xcdTNFRjNcXHU3NENDXFx1NzQzQ1xcdTkzODdcXHU3NDM3XFx1NDQ5RlxcdXsyNkRFQX1cXHU0NTUxXFx1NzU4M1xcdTNGNjNcXHV7MjRDRDl9XFx1ezI0RDA2fVxcdTNGNThcXHU3NTU1XFx1NzY3M1xcdXsyQTVDNn1cXHUzQjE5XFx1NzQ2OFxcdXsyOEFDQ31cXHV7MjQ5QUJ9XFx1ezI0OThFfVxcdTNBRkJcIl0sXG4gICAgICBbXCI5NGExXCIsIFwiXFx1M0RDRFxcdXsyNEE0RX1cXHUzRUZGXFx1ezI0OUM1fVxcdXsyNDhGM31cXHU5MUZBXFx1NTczMlxcdTkzNDJcXHV7MjhBRTN9XFx1ezIxODY0fVxcdTUwREZcXHV7MjUyMjF9XFx1ezI1MUU3fVxcdTc3NzhcXHV7MjMyMzJ9XFx1NzcwRVxcdTc3MEZcXHU3NzdCXFx1ezI0Njk3fVxcdXsyMzc4MX1cXHUzQTVFXFx1ezI0OEYwfVxcdTc0MzhcXHU3NDlCXFx1M0VCRlxcdXsyNEFCQX1cXHV7MjRBQzd9XFx1NDBDOFxcdXsyNEE5Nn1cXHV7MjYxQUV9XFx1OTMwN1xcdXsyNTU4MX1cXHU3ODFFXFx1Nzg4RFxcdTc4ODhcXHU3OEQyXFx1NzNEMFxcdTc5NTlcXHV7Mjc3NDF9XFx1ezI1NkUzfVxcdTQxMEVcXHU3OTlCXFx1ODQ5NlxcdTc5QTVcXHU2QTJEXFx1ezIzRUZBfVxcdTdBM0FcXHU3OUY0XFx1NDE2RVxcdXsyMTZFNn1cXHU0MTMyXFx1OTIzNVxcdTc5RjFcXHV7MjBENEN9XFx1ezI0OThDfVxcdXsyMDI5OX1cXHV7MjNEQkF9XFx1ezIxNzZFfVxcdTM1OTdcXHU1NTZCXFx1MzU3MFxcdTM2QUFcXHV7MjAxRDR9XFx1ezIwQzBEfVxcdTdBRTJcXHU1QTU5XFx1ezIyNkY1fVxcdXsyNUFBRn1cXHV7MjVBOUN9XFx1NUEwRFxcdXsyMDI1Qn1cXHU3OEYwXFx1NUEyQVxcdXsyNUJDNn1cXHU3QUZFXFx1NDFGOVxcdTdDNURcXHU3QzZEXFx1NDIxMVxcdXsyNUJCM31cXHV7MjVFQkN9XFx1ezI1RUE2fVxcdTdDQ0RcXHV7MjQ5Rjl9XFx1ezIxN0IwfVxcdTdDOEVcXHU3QzdDXFx1N0NBRVxcdTZBQjJcXHU3RERDXFx1N0UwN1xcdTdERDNcXHU3RjRFXFx1ezI2MjYxfVwiXSxcbiAgICAgIFtcIjk1NDBcIiwgXCJcXHV7MjYxNUN9XFx1ezI3QjQ4fVxcdTdEOTdcXHV7MjVFODJ9XFx1NDI2QVxcdXsyNkI3NX1cXHV7MjA5MTZ9XFx1NjdENlxcdXsyMDA0RX1cXHV7MjM1Q0Z9XFx1NTdDNFxcdXsyNjQxMn1cXHV7MjYzRjh9XFx1ezI0OTYyfVxcdTdGRERcXHU3QjI3XFx1ezIwODJDfVxcdXsyNUFFOX1cXHV7MjVENDN9XFx1N0IwQ1xcdXsyNUUwRX1cXHU5OUU2XFx1ODY0NVxcdTlBNjNcXHU2QTFDXFx1ezIzNDNGfVxcdTM5RTJcXHV7MjQ5Rjd9XFx1ezI2NUFEfVxcdTlBMUZcXHV7MjY1QTB9XFx1ODQ4MFxcdXsyNzEyN31cXHV7MjZDRDF9XFx1NDRFQVxcdTgxMzdcXHU0NDAyXFx1ODBDNlxcdTgxMDlcXHU4MTQyXFx1ezI2N0I0fVxcdTk4QzNcXHV7MjZBNDJ9XFx1ODI2MlxcdTgyNjVcXHV7MjZBNTF9XFx1ODQ1M1xcdXsyNkRBN31cXHU4NjEwXFx1ezI3MjFCfVxcdTVBODZcXHU0MTdGXFx1ezIxODQwfVxcdTVCMkJcXHV7MjE4QTF9XFx1NUFFNFxcdXsyMThEOH1cXHU4NkEwXFx1ezJGOUJDfVxcdXsyM0Q4Rn1cXHU4ODJEXFx1ezI3NDIyfVxcdTVBMDJcIl0sXG4gICAgICBbXCI5NWExXCIsIFwiXFx1ODg2RVxcdTRGNDVcXHU4ODg3XFx1ODhCRlxcdTg4RTZcXHU4OTY1XFx1ODk0RFxcdXsyNTY4M31cXHU4OTU0XFx1ezI3Nzg1fVxcdXsyNzc4NH1cXHV7MjhCRjV9XFx1ezI4QkQ5fVxcdXsyOEI5Q31cXHV7Mjg5Rjl9XFx1M0VBRFxcdTg0QTNcXHU0NkY1XFx1NDZDRlxcdTM3RjJcXHU4QTNEXFx1OEExQ1xcdXsyOTQ0OH1cXHU1RjREXFx1OTIyQlxcdXsyNDI4NH1cXHU2NUQ0XFx1NzEyOVxcdTcwQzRcXHV7MjE4NDV9XFx1OUQ2RFxcdThDOUZcXHU4Q0U5XFx1ezI3RERDfVxcdTU5OUFcXHU3N0MzXFx1NTlGMFxcdTQzNkVcXHUzNkQ0XFx1OEUyQVxcdThFQTdcXHV7MjRDMDl9XFx1OEYzMFxcdThGNEFcXHU0MkY0XFx1NkM1OFxcdTZGQkJcXHV7MjIzMjF9XFx1NDg5QlxcdTZGNzlcXHU2RThCXFx1ezIxN0RBfVxcdTlCRTlcXHUzNkI1XFx1ezI0OTJGfVxcdTkwQkJcXHU5MDk3XFx1NTU3MVxcdTQ5MDZcXHU5MUJCXFx1OTQwNFxcdXsyOEE0Qn1cXHU0MDYyXFx1ezI4QUZDfVxcdTk0MjdcXHV7MjhDMUR9XFx1ezI4QzNCfVxcdTg0RTVcXHU4QTJCXFx1OTU5OVxcdTk1QTdcXHU5NTk3XFx1OTU5NlxcdXsyOEQzNH1cXHU3NDQ1XFx1M0VDMlxcdXsyNDhGRn1cXHV7MjRBNDJ9XFx1ezI0M0VBfVxcdTNFRTdcXHV7MjMyMjV9XFx1OTY4RlxcdXsyOEVFN31cXHV7MjhFNjZ9XFx1ezI4RTY1fVxcdTNFQ0NcXHV7MjQ5RUR9XFx1ezI0QTc4fVxcdXsyM0ZFRX1cXHU3NDEyXFx1NzQ2QlxcdTNFRkNcXHU5NzQxXFx1ezI5MEIwfVwiXSxcbiAgICAgIFtcIjk2NDBcIiwgXCJcXHU2ODQ3XFx1NEExRFxcdXsyOTA5M31cXHV7MjU3REZ9XFx1OTc1RFxcdTkzNjhcXHV7Mjg5ODl9XFx1ezI4QzI2fVxcdXsyOEIyRn1cXHV7MjYzQkV9XFx1OTJCQVxcdTVCMTFcXHU4QjY5XFx1NDkzQ1xcdTczRjlcXHV7MjQyMUJ9XFx1OTc5QlxcdTk3NzFcXHU5OTM4XFx1ezIwRjI2fVxcdTVEQzFcXHV7MjhCQzV9XFx1ezI0QUIyfVxcdTk4MUZcXHV7Mjk0REF9XFx1OTJGNlxcdXsyOTVEN31cXHU5MUU1XFx1NDRDMFxcdXsyOEI1MH1cXHV7MjRBNjd9XFx1ezI4QjY0fVxcdTk4RENcXHV7MjhBNDV9XFx1M0YwMFxcdTkyMkFcXHU0OTI1XFx1ODQxNFxcdTk5M0JcXHU5OTREXFx1ezI3QjA2fVxcdTNERkRcXHU5OTlCXFx1NEI2RlxcdTk5QUFcXHU5QTVDXFx1ezI4QjY1fVxcdXsyNThDOH1cXHU2QThGXFx1OUEyMVxcdTVBRkVcXHU5QTJGXFx1ezI5OEYxfVxcdTRCOTBcXHV7Mjk5NDh9XFx1OTlCQ1xcdTRCQkRcXHU0Qjk3XFx1OTM3RFxcdTU4NzJcXHV7MjEzMDJ9XFx1NTgyMlxcdXsyNDlCOH1cIl0sXG4gICAgICBbXCI5NmExXCIsIFwiXFx1ezIxNEU4fVxcdTc4NDRcXHV7MjI3MUZ9XFx1ezIzREI4fVxcdTY4QzVcXHUzRDdEXFx1OTQ1OFxcdTM5MjdcXHU2MTUwXFx1ezIyNzgxfVxcdXsyMjk2Qn1cXHU2MTA3XFx1OUM0RlxcdTlDNTNcXHU5QzdCXFx1OUMzNVxcdTlDMTBcXHU5QjdGXFx1OUJDRlxcdXsyOUUyRH1cXHU5QjlGXFx1ezJBMUY1fVxcdXsyQTBGRX1cXHU5RDIxXFx1NENBRVxcdXsyNDEwNH1cXHU5RTE4XFx1NENCMFxcdTlEMENcXHV7MkExQjR9XFx1ezJBMEVEfVxcdXsyQTBGM31cXHV7Mjk5MkZ9XFx1OURBNVxcdTg0QkRcXHV7MjZFMTJ9XFx1ezI2RkRGfVxcdXsyNkI4Mn1cXHU4NUZDXFx1NDUzM1xcdXsyNkRBNH1cXHV7MjZFODR9XFx1ezI2REYwfVxcdTg0MjBcXHU4NUVFXFx1ezI2RTAwfVxcdXsyMzdEN31cXHV7MjYwNjR9XFx1NzlFMlxcdXsyMzU5Q31cXHV7MjM2NDB9XFx1NDkyRFxcdXsyNDlERX1cXHUzRDYyXFx1OTNEQlxcdTkyQkVcXHU5MzQ4XFx1ezIwMkJGfVxcdTc4QjlcXHU5Mjc3XFx1OTQ0RFxcdTRGRTRcXHUzNDQwXFx1OTA2NFxcdXsyNTU1RH1cXHU3ODNEXFx1Nzg1NFxcdTc4QjZcXHU3ODRCXFx1ezIxNzU3fVxcdXsyMzFDOX1cXHV7MjQ5NDF9XFx1MzY5QVxcdTRGNzJcXHU2RkRBXFx1NkZEOVxcdTcwMUVcXHU3MDFFXFx1NTQxNFxcdXsyNDFCNX1cXHU1N0JCXFx1NThGM1xcdTU3OEFcXHU5RDE2XFx1NTdEN1xcdTcxMzRcXHUzNEFGXFx1ezI0MUFDfVxcdTcxRUJcXHV7MjZDNDB9XFx1ezI0Rjk3fVxcdTVCMjhcXHV7MjE3QjV9XFx1ezI4QTQ5fVwiXSxcbiAgICAgIFtcIjk3NDBcIiwgXCJcXHU2MTBDXFx1NUFDRVxcdTVBMEJcXHU0MkJDXFx1ezI0NDg4fVxcdTM3MkNcXHU0QjdCXFx1ezI4OUZDfVxcdTkzQkJcXHU5M0I4XFx1ezIxOEQ2fVxcdXsyMEYxRH1cXHU4NDcyXFx1ezI2Q0MwfVxcdXsyMTQxM31cXHV7MjQyRkF9XFx1ezIyQzI2fVxcdXsyNDNDMX1cXHU1OTk0XFx1ezIzREI3fVxcdXsyNjc0MX1cXHU3REE4XFx1ezI2MTVCfVxcdXsyNjBBNH1cXHV7MjQ5Qjl9XFx1ezI0OThCfVxcdXsyODlGQX1cXHU5MkU1XFx1NzNFMlxcdTNFRTlcXHU3NEI0XFx1ezI4QjYzfVxcdXsyMTg5Rn1cXHUzRUUxXFx1ezI0QUIzfVxcdTZBRDhcXHU3M0YzXFx1NzNGQlxcdTNFRDZcXHV7MjRBM0V9XFx1ezI0QTk0fVxcdXsyMTdEOX1cXHV7MjRBNjZ9XFx1ezIwM0E3fVxcdXsyMTQyNH1cXHV7MjQ5RTV9XFx1NzQ0OFxcdXsyNDkxNn1cXHU3MEE1XFx1ezI0OTc2fVxcdTkyODRcXHU3M0U2XFx1OTM1RlxcdXsyMDRGRX1cXHU5MzMxXFx1ezI4QUNFfVxcdXsyOEExNn1cXHU5Mzg2XFx1ezI4QkU3fVxcdXsyNTVENX1cXHU0OTM1XFx1ezI4QTgyfVxcdTcxNkJcIl0sXG4gICAgICBbXCI5N2ExXCIsIFwiXFx1ezI0OTQzfVxcdXsyMENGRn1cXHU1NkE0XFx1ezIwNjFBfVxcdXsyMEJFQn1cXHV7MjBDQjh9XFx1NTUwMlxcdTc5QzRcXHV7MjE3RkF9XFx1N0RGRVxcdXsyMTZDMn1cXHV7MjRBNTB9XFx1ezIxODUyfVxcdTQ1MkVcXHU5NDAxXFx1MzcwQVxcdXsyOEFDMH1cXHV7MjQ5QUR9XFx1NTlCMFxcdXsyMThCRn1cXHV7MjE4ODN9XFx1ezI3NDg0fVxcdTVBQTFcXHUzNkUyXFx1ezIzRDVCfVxcdTM2QjBcXHU5MjVGXFx1NUE3OVxcdXsyOEE4MX1cXHV7MjE4NjJ9XFx1OTM3NFxcdTNDQ0RcXHV7MjBBQjR9XFx1NEE5NlxcdTM5OEFcXHU1MEY0XFx1M0Q2OVxcdTNENENcXHV7MjEzOUN9XFx1NzE3NVxcdTQyRkJcXHV7MjgyMTh9XFx1NkUwRlxcdXsyOTBFNH1cXHU0NEVCXFx1NkQ1N1xcdXsyN0U0Rn1cXHU3MDY3XFx1NkNBRlxcdTNDRDZcXHV7MjNGRUR9XFx1ezIzRTJEfVxcdTZFMDJcXHU2RjBDXFx1M0Q2RlxcdXsyMDNGNX1cXHU3NTUxXFx1MzZCQ1xcdTM0QzhcXHU0NjgwXFx1M0VEQVxcdTQ4NzFcXHU1OUM0XFx1OTI2RVxcdTQ5M0VcXHU4RjQxXFx1ezI4QzFDfVxcdXsyNkJDMH1cXHU1ODEyXFx1NTdDOFxcdTM2RDZcXHV7MjE0NTJ9XFx1NzBGRVxcdXsyNDM2Mn1cXHV7MjRBNzF9XFx1ezIyRkUzfVxcdXsyMTJCMH1cXHV7MjIzQkR9XFx1NjhCOVxcdTY5NjdcXHV7MjEzOTh9XFx1ezIzNEU1fVxcdXsyN0JGNH1cXHV7MjM2REZ9XFx1ezI4QTgzfVxcdXsyMzdENn1cXHV7MjMzRkF9XFx1ezI0QzlGfVxcdTZBMUFcXHV7MjM2QUR9XFx1ezI2Q0I3fVxcdTg0M0VcXHU0NERGXFx1NDRDRVwiXSxcbiAgICAgIFtcIjk4NDBcIiwgXCJcXHV7MjZEMjZ9XFx1ezI2RDUxfVxcdXsyNkM4Mn1cXHV7MjZGREV9XFx1NkYxN1xcdXsyNzEwOX1cXHU4MzNEXFx1ezIxNzNBfVxcdTgzRURcXHV7MjZDODB9XFx1ezI3MDUzfVxcdXsyMTdEQn1cXHU1OTg5XFx1NUE4MlxcdXsyMTdCM31cXHU1QTYxXFx1NUE3MVxcdXsyMTkwNX1cXHV7MjQxRkN9XFx1MzcyRFxcdTU5RUZcXHV7MjE3M0N9XFx1MzZDN1xcdTcxOEVcXHU5MzkwXFx1NjY5QVxcdXsyNDJBNX1cXHU1QTZFXFx1NUEyQlxcdXsyNDI5M31cXHU2QTJCXFx1ezIzRUY5fVxcdXsyNzczNn1cXHV7MjQ0NUJ9XFx1ezI0MkNBfVxcdTcxMURcXHV7MjQyNTl9XFx1ezI4OUUxfVxcdTRGQjBcXHV7MjZEMjh9XFx1NUNDMlxcdXsyNDRDRX1cXHV7MjdFNER9XFx1ezI0M0JEfVxcdTZBMENcXHV7MjQyNTZ9XFx1ezIxMzA0fVxcdTcwQTZcXHU3MTMzXFx1ezI0M0U5fVxcdTNEQTVcXHU2Q0RGXFx1ezJGODI1fVxcdXsyNEE0Rn1cXHU3RTY1XFx1NTlFQlxcdTVEMkZcXHUzREYzXFx1NUY1Q1xcdXsyNEE1RH1cXHV7MjE3REZ9XFx1N0RBNFxcdTg0MjZcIl0sXG4gICAgICBbXCI5OGExXCIsIFwiXFx1NTQ4NVxcdXsyM0FGQX1cXHV7MjMzMDB9XFx1ezIwMjE0fVxcdTU3N0VcXHV7MjA4RDV9XFx1ezIwNjE5fVxcdTNGRTVcXHV7MjFGOUV9XFx1ezJBMkI2fVxcdTcwMDNcXHV7MjkxNUJ9XFx1NUQ3MFxcdTczOEZcXHU3Q0QzXFx1ezI4QTU5fVxcdXsyOTQyMH1cXHU0RkM4XFx1N0ZFN1xcdTcyQ0RcXHU3MzEwXFx1ezI3QUY0fVxcdTczMzhcXHU3MzM5XFx1ezI1NkY2fVxcdTczNDFcXHU3MzQ4XFx1M0VBOVxcdXsyN0IxOH1cXHU5MDZDXFx1NzFGNVxcdXsyNDhGMn1cXHU3M0UxXFx1ODFGNlxcdTNFQ0FcXHU3NzBDXFx1M0VEMVxcdTZDQTJcXHU1NkZEXFx1NzQxOVxcdTc0MUVcXHU3NDFGXFx1M0VFMlxcdTNFRjBcXHUzRUY0XFx1M0VGQVxcdTc0RDNcXHUzRjBFXFx1M0Y1M1xcdTc1NDJcXHU3NTZEXFx1NzU3MlxcdTc1OERcXHUzRjdDXFx1NzVDOFxcdTc1RENcXHUzRkMwXFx1NzY0RFxcdTNGRDdcXHU3Njc0XFx1M0ZEQ1xcdTc2N0FcXHV7MjRGNUN9XFx1NzE4OFxcdTU2MjNcXHU4OTgwXFx1NTg2OVxcdTQwMURcXHU3NzQzXFx1NDAzOVxcdTY3NjFcXHU0MDQ1XFx1MzVEQlxcdTc3OThcXHU0MDZBXFx1NDA2RlxcdTVDNUVcXHU3N0JFXFx1NzdDQlxcdTU4RjJcXHU3ODE4XFx1NzBCOVxcdTc4MUNcXHU0MEE4XFx1NzgzOVxcdTc4NDdcXHU3ODUxXFx1Nzg2NlxcdTg0NDhcXHV7MjU1MzV9XFx1NzkzM1xcdTY4MDNcXHU3OTMyXFx1NDEwM1wiXSxcbiAgICAgIFtcIjk5NDBcIiwgXCJcXHU0MTA5XFx1Nzk5MVxcdTc5OTlcXHU4RkJCXFx1N0EwNlxcdThGQkNcXHU0MTY3XFx1N0E5MVxcdTQxQjJcXHU3QUJDXFx1ODI3OVxcdTQxQzRcXHU3QUNGXFx1N0FEQlxcdTQxQ0ZcXHU0RTIxXFx1N0I2MlxcdTdCNkNcXHU3QjdCXFx1N0MxMlxcdTdDMUJcXHU0MjYwXFx1NDI3QVxcdTdDN0JcXHU3QzlDXFx1NDI4Q1xcdTdDQjhcXHU0Mjk0XFx1N0NFRFxcdThGOTNcXHU3MEMwXFx1ezIwQ0NGfVxcdTdEQ0ZcXHU3REQ0XFx1N0REMFxcdTdERkRcXHU3RkFFXFx1N0ZCNFxcdTcyOUZcXHU0Mzk3XFx1ODAyMFxcdTgwMjVcXHU3QjM5XFx1ODAyRVxcdTgwMzFcXHU4MDU0XFx1M0RDQ1xcdTU3QjRcXHU3MEEwXFx1ODBCN1xcdTgwRTlcXHU0M0VEXFx1ODEwQ1xcdTczMkFcXHU4MTBFXFx1ODExMlxcdTc1NjBcXHU4MTE0XFx1NDQwMVxcdTNCMzlcXHU4MTU2XFx1ODE1OVxcdTgxNUFcIl0sXG4gICAgICBbXCI5OWExXCIsIFwiXFx1NDQxM1xcdTU4M0FcXHU4MTdDXFx1ODE4NFxcdTQ0MjVcXHU4MTkzXFx1NDQyRFxcdTgxQTVcXHU1N0VGXFx1ODFDMVxcdTgxRTRcXHU4MjU0XFx1NDQ4RlxcdTgyQTZcXHU4Mjc2XFx1ODJDQVxcdTgyRDhcXHU4MkZGXFx1NDRCMFxcdTgzNTdcXHU5NjY5XFx1Njk4QVxcdTg0MDVcXHU3MEY1XFx1ODQ2NFxcdTYwRTNcXHU4NDg4XFx1NDUwNFxcdTg0QkVcXHU4NEUxXFx1ODRGOFxcdTg1MTBcXHU4NTM4XFx1ODU1MlxcdTQ1M0JcXHU4NTZGXFx1ODU3MFxcdTg1RTBcXHU0NTc3XFx1ODY3MlxcdTg2OTJcXHU4NkIyXFx1ODZFRlxcdTk2NDVcXHU4NzhCXFx1NDYwNlxcdTQ2MTdcXHU4OEFFXFx1ODhGRlxcdTg5MjRcXHU4OTQ3XFx1ODk5MVxcdXsyNzk2N31cXHU4QTI5XFx1OEEzOFxcdThBOTRcXHU4QUI0XFx1OEM1MVxcdThDRDRcXHU4Q0YyXFx1OEQxQ1xcdTQ3OThcXHU1ODVGXFx1OERDM1xcdTQ3RURcXHU0RUVFXFx1OEUzQVxcdTU1RDhcXHU1NzU0XFx1OEU3MVxcdTU1RjVcXHU4RUIwXFx1NDgzN1xcdThFQ0VcXHU4RUUyXFx1OEVFNFxcdThFRURcXHU4RUYyXFx1OEZCN1xcdThGQzFcXHU4RkNBXFx1OEZDQ1xcdTkwMzNcXHU5OUM0XFx1NDhBRFxcdTk4RTBcXHU5MjEzXFx1NDkxRVxcdTkyMjhcXHU5MjU4XFx1OTI2QlxcdTkyQjFcXHU5MkFFXFx1OTJCRlwiXSxcbiAgICAgIFtcIjlhNDBcIiwgXCJcXHU5MkUzXFx1OTJFQlxcdTkyRjNcXHU5MkY0XFx1OTJGRFxcdTkzNDNcXHU5Mzg0XFx1OTNBRFxcdTQ5NDVcXHU0OTUxXFx1OUVCRlxcdTk0MTdcXHU1MzAxXFx1OTQxRFxcdTk0MkRcXHU5NDNFXFx1NDk2QVxcdTk0NTRcXHU5NDc5XFx1OTUyRFxcdTk1QTJcXHU0OUE3XFx1OTVGNFxcdTk2MzNcXHU0OUU1XFx1NjdBMFxcdTRBMjRcXHU5NzQwXFx1NEEzNVxcdTk3QjJcXHU5N0MyXFx1NTY1NFxcdTRBRTRcXHU2MEU4XFx1OThCOVxcdTRCMTlcXHU5OEYxXFx1NTg0NFxcdTk5MEVcXHU5OTE5XFx1NTFCNFxcdTk5MUNcXHU5OTM3XFx1OTk0MlxcdTk5NURcXHU5OTYyXFx1NEI3MFxcdTk5QzVcXHU0QjlEXFx1OUEzQ1xcdTlCMEZcXHU3QTgzXFx1OUI2OVxcdTlCODFcXHU5QkREXFx1OUJGMVxcdTlCRjRcXHU0QzZEXFx1OUMyMFxcdTM3NkZcXHV7MjFCQzJ9XFx1OUQ0OVxcdTlDM0FcIl0sXG4gICAgICBbXCI5YWExXCIsIFwiXFx1OUVGRVxcdTU2NTBcXHU5RDkzXFx1OURCRFxcdTlEQzBcXHU5REZDXFx1OTRGNlxcdThGQjZcXHU5RTdCXFx1OUVBQ1xcdTlFQjFcXHU5RUJEXFx1OUVDNlxcdTk0RENcXHU5RUUyXFx1OUVGMVxcdTlFRjhcXHU3QUM4XFx1OUY0NFxcdXsyMDA5NH1cXHV7MjAyQjd9XFx1ezIwM0EwfVxcdTY5MUFcXHU5NEMzXFx1NTlBQ1xcdXsyMDREN31cXHU1ODQwXFx1OTRDMVxcdTM3QjlcXHV7MjA1RDV9XFx1ezIwNjE1fVxcdXsyMDY3Nn1cXHV7MjE2QkF9XFx1NTc1N1xcdTcxNzNcXHV7MjBBQzJ9XFx1ezIwQUNEfVxcdXsyMEJCRn1cXHU1NDZBXFx1ezJGODNCfVxcdXsyMEJDQn1cXHU1NDlFXFx1ezIwQkZCfVxcdXsyMEMzQn1cXHV7MjBDNTN9XFx1ezIwQzY1fVxcdXsyMEM3Q31cXHU2MEU3XFx1ezIwQzhEfVxcdTU2N0FcXHV7MjBDQjV9XFx1ezIwQ0REfVxcdXsyMENFRH1cXHV7MjBENkZ9XFx1ezIwREIyfVxcdXsyMERDOH1cXHU2OTU1XFx1OUMyRlxcdTg3QTVcXHV7MjBFMDR9XFx1ezIwRTBFfVxcdXsyMEVEN31cXHV7MjBGOTB9XFx1ezIwRjJEfVxcdXsyMEU3M31cXHU1QzIwXFx1ezIwRkJDfVxcdTVFMEJcXHV7MjEwNUN9XFx1ezIxMDRGfVxcdXsyMTA3Nn1cXHU2NzFFXFx1ezIxMDdCfVxcdXsyMTA4OH1cXHV7MjEwOTZ9XFx1MzY0N1xcdXsyMTBCRn1cXHV7MjEwRDN9XFx1ezIxMTJGfVxcdXsyMTEzQn1cXHU1MzY0XFx1ODRBRFxcdXsyMTJFM31cXHV7MjEzNzV9XFx1ezIxMzM2fVxcdThCODFcXHV7MjE1Nzd9XFx1ezIxNjE5fVxcdXsyMTdDM31cXHV7MjE3Qzd9XFx1NEU3OFxcdTcwQkJcXHV7MjE4MkR9XFx1ezIxOTZBfVwiXSxcbiAgICAgIFtcIjliNDBcIiwgXCJcXHV7MjFBMkR9XFx1ezIxQTQ1fVxcdXsyMUMyQX1cXHV7MjFDNzB9XFx1ezIxQ0FDfVxcdXsyMUVDOH1cXHU2MkMzXFx1ezIxRUQ1fVxcdXsyMUYxNX1cXHU3MTk4XFx1Njg1NVxcdXsyMjA0NX1cXHU2OUU5XFx1MzZDOFxcdXsyMjI3Q31cXHV7MjIzRDd9XFx1ezIyM0ZBfVxcdXsyMjcyQX1cXHV7MjI4NzF9XFx1ezIyOTRGfVxcdTgyRkRcXHV7MjI5Njd9XFx1ezIyOTkzfVxcdXsyMkFENX1cXHU4OUE1XFx1ezIyQUU4fVxcdThGQTBcXHV7MjJCMEV9XFx1OTdCOFxcdXsyMkIzRn1cXHU5ODQ3XFx1OUFCRFxcdXsyMkM0Q31cIl0sXG4gICAgICBbXCI5YjYyXCIsIFwiXFx1ezIyQzg4fVxcdXsyMkNCN31cXHV7MjVCRTh9XFx1ezIyRDA4fVxcdXsyMkQxMn1cXHV7MjJEQjd9XFx1ezIyRDk1fVxcdXsyMkU0Mn1cXHV7MjJGNzR9XFx1ezIyRkNDfVxcdXsyMzAzM31cXHV7MjMwNjZ9XFx1ezIzMzFGfVxcdXsyMzNERX1cXHU1RkIxXFx1NjY0OFxcdTY2QkZcXHV7MjdBNzl9XFx1ezIzNTY3fVxcdXsyMzVGM31cXHU3MjAxXFx1ezI0OUJBfVxcdTc3RDdcXHV7MjM2MUF9XFx1ezIzNzE2fVxcdTdFODdcXHV7MjAzNDZ9XFx1NThCNVxcdTY3MEVcIl0sXG4gICAgICBbXCI5YmExXCIsIFwiXFx1NjkxOFxcdXsyM0FBN31cXHV7Mjc2NTd9XFx1ezI1RkUyfVxcdXsyM0UxMX1cXHV7MjNFQjl9XFx1ezI3NUZFfVxcdXsyMjA5QX1cXHU0OEQwXFx1NEFCOFxcdXsyNDExOX1cXHV7MjhBOUF9XFx1ezI0MkVFfVxcdXsyNDMwRH1cXHV7MjQwM0J9XFx1ezI0MzM0fVxcdXsyNDM5Nn1cXHV7MjRBNDV9XFx1ezIwNUNBfVxcdTUxRDJcXHV7MjA2MTF9XFx1NTk5RlxcdXsyMUVBOH1cXHUzQkJFXFx1ezIzQ0ZGfVxcdXsyNDQwNH1cXHV7MjQ0RDZ9XFx1NTc4OFxcdXsyNDY3NH1cXHUzOTlCXFx1ezI0NzJGfVxcdXsyODVFOH1cXHV7Mjk5Qzl9XFx1Mzc2MlxcdXsyMjFDM31cXHU4QjVFXFx1ezI4QjRFfVxcdTk5RDZcXHV7MjQ4MTJ9XFx1ezI0OEZCfVxcdXsyNEExNX1cXHU3MjA5XFx1ezI0QUMwfVxcdXsyMEM3OH1cXHU1OTY1XFx1ezI0RUE1fVxcdXsyNEY4Nn1cXHV7MjA3Nzl9XFx1OEVEQVxcdXsyNTAyQ31cXHU1MjhGXFx1NTczRlxcdTcxNzFcXHV7MjUyOTl9XFx1ezI1NDE5fVxcdXsyM0Y0QX1cXHV7MjRBQTd9XFx1NTVCQ1xcdXsyNTQ0Nn1cXHV7MjU0NkV9XFx1ezI2QjUyfVxcdTkxRDRcXHUzNDczXFx1ezI1NTNGfVxcdXsyNzYzMn1cXHV7MjU1NUV9XFx1NDcxOFxcdXsyNTU2Mn1cXHV7MjU1NjZ9XFx1ezI1N0M3fVxcdXsyNDkzRn1cXHV7MjU4NUR9XFx1NTA2NlxcdTM0RkJcXHV7MjMzQ0N9XFx1NjBERVxcdXsyNTkwM31cXHU0NzdDXFx1ezI4OTQ4fVxcdXsyNUFBRX1cXHV7MjVCODl9XFx1ezI1QzA2fVxcdXsyMUQ5MH1cXHU1N0ExXFx1NzE1MVxcdTZGQjZcXHV7MjYxMDJ9XFx1ezI3QzEyfVxcdTkwNTZcXHV7MjYxQjJ9XFx1ezI0RjlBfVxcdThCNjJcXHV7MjY0MDJ9XFx1ezI2NDRBfVwiXSxcbiAgICAgIFtcIjljNDBcIiwgXCJcXHU1RDVCXFx1ezI2QkY3fVxcdThGMzZcXHV7MjY0ODR9XFx1ezIxOTFDfVxcdThBRUFcXHV7MjQ5RjZ9XFx1ezI2NDg4fVxcdXsyM0ZFRn1cXHV7MjY1MTJ9XFx1NEJDMFxcdXsyNjVCRn1cXHV7MjY2QjV9XFx1ezIyNzFCfVxcdTk0NjVcXHV7MjU3RTF9XFx1NjE5NVxcdTVBMjdcXHV7MkY4Q0R9XFx1NEZCQlxcdTU2QjlcXHV7MjQ1MjF9XFx1ezI2NkZDfVxcdTRFNkFcXHV7MjQ5MzR9XFx1OTY1NlxcdTZEOEZcXHV7MjZDQkR9XFx1MzYxOFxcdTg5NzdcXHV7MjY3OTl9XFx1ezI2ODZFfVxcdXsyNjQxMX1cXHV7MjY4NUV9XFx1NzFERlxcdXsyNjhDN31cXHU3QjQyXFx1ezI5MEMwfVxcdXsyMEExMX1cXHV7MjY5MjZ9XFx1OTEwNFxcdXsyNjkzOX1cXHU3QTQ1XFx1OURGMFxcdXsyNjlGQX1cXHU5QTI2XFx1ezI2QTJEfVxcdTM2NUZcXHV7MjY0Njl9XFx1ezIwMDIxfVxcdTc5ODNcXHV7MjZBMzR9XFx1ezI2QjVCfVxcdTVEMkNcXHV7MjM1MTl9XFx1ODNDRlxcdXsyNkI5RH1cXHU0NkQwXFx1ezI2Q0E0fVxcdTc1M0JcXHU4ODY1XFx1ezI2REFFfVxcdTU4QjZcIl0sXG4gICAgICBbXCI5Y2ExXCIsIFwiXFx1MzcxQ1xcdXsyMjU4RH1cXHV7MjcwNEJ9XFx1ezI3MUNEfVxcdTNDNTRcXHV7MjcyODB9XFx1ezI3Mjg1fVxcdTkyODFcXHV7MjIxN0F9XFx1ezI3MjhCfVxcdTkzMzBcXHV7MjcyRTZ9XFx1ezI0OUQwfVxcdTZDMzlcXHU5NDlGXFx1ezI3NDUwfVxcdXsyMEVGOH1cXHU4ODI3XFx1ODhGNVxcdXsyMjkyNn1cXHV7Mjg0NzN9XFx1ezIxN0IxfVxcdTZFQjhcXHV7MjRBMkF9XFx1ezIxODIwfVxcdTM5QTRcXHUzNkI5XFx1NUMxMFxcdTc5RTNcXHU0NTNGXFx1NjZCNlxcdXsyOUNBRH1cXHV7Mjk4QTR9XFx1ODk0M1xcdXsyNzdDQ31cXHV7Mjc4NTh9XFx1NTZENlxcdTQwREZcXHV7MjE2MEF9XFx1MzlBMVxcdXsyMzcyRn1cXHV7MjgwRTh9XFx1ezIxM0M1fVxcdTcxQURcXHU4MzY2XFx1ezI3OUREfVxcdXsyOTFBOH1cXHU1QTY3XFx1NENCN1xcdXsyNzBBRn1cXHV7Mjg5QUJ9XFx1ezI3OUZEfVxcdXsyN0EwQX1cXHV7MjdCMEJ9XFx1ezI3RDY2fVxcdXsyNDE3QX1cXHU3QjQzXFx1Nzk3RVxcdXsyODAwOX1cXHU2RkI1XFx1ezJBMkRGfVxcdTZBMDNcXHV7MjgzMTh9XFx1NTNBMlxcdXsyNkUwN31cXHU5M0JGXFx1NjgzNlxcdTk3NURcXHV7MjgxNkZ9XFx1ezI4MDIzfVxcdXsyNjlCNX1cXHV7MjEzRUR9XFx1ezIzMjJGfVxcdXsyODA0OH1cXHU1RDg1XFx1ezI4QzMwfVxcdXsyODA4M31cXHU1NzE1XFx1OTgyM1xcdXsyODk0OX1cXHU1REFCXFx1ezI0OTg4fVxcdTY1QkVcXHU2OUQ1XFx1NTNEMlxcdXsyNEFBNX1cXHV7MjNGODF9XFx1M0MxMVxcdTY3MzZcXHV7MjgwOTB9XFx1ezI4MEY0fVxcdXsyODEyRX1cXHV7MjFGQTF9XFx1ezI4MTRGfVwiXSxcbiAgICAgIFtcIjlkNDBcIiwgXCJcXHV7MjgxODl9XFx1ezI4MUFGfVxcdXsyODIxQX1cXHV7MjgzMDZ9XFx1ezI4MzJGfVxcdXsyODM4QX1cXHUzNUNBXFx1ezI4NDY4fVxcdXsyODZBQX1cXHU0OEZBXFx1NjNFNlxcdXsyODk1Nn1cXHU3ODA4XFx1OTI1NVxcdXsyODlCOH1cXHU0M0YyXFx1ezI4OUU3fVxcdTQzREZcXHV7Mjg5RTh9XFx1ezI4QjQ2fVxcdXsyOEJENH1cXHU1OUY4XFx1ezI4QzA5fVxcdThGMEJcXHV7MjhGQzV9XFx1ezI5MEVDfVxcdTdCNTFcXHV7MjkxMTB9XFx1ezI5MTNDfVxcdTNERjdcXHV7MjkxNUV9XFx1ezI0QUNBfVxcdThGRDBcXHU3MjhGXFx1NTY4QlxcdXsyOTRFN31cXHV7Mjk1RTl9XFx1ezI5NUIwfVxcdXsyOTVCOH1cXHV7Mjk3MzJ9XFx1ezI5OEQxfVxcdXsyOTk0OX1cXHV7Mjk5NkF9XFx1ezI5OUMzfVxcdXsyOUEyOH1cXHV7MjlCMEV9XFx1ezI5RDVBfVxcdXsyOUQ5Qn1cXHU3RTlGXFx1ezI5RUY4fVxcdXsyOUYyM31cXHU0Q0E0XFx1OTU0N1xcdXsyQTI5M31cXHU3MUEyXFx1ezJBMkZGfVxcdTREOTFcXHU5MDEyXFx1ezJBNUNCfVxcdTREOUNcXHV7MjBDOUN9XFx1OEZCRVxcdTU1QzFcIl0sXG4gICAgICBbXCI5ZGExXCIsIFwiXFx1OEZCQVxcdXsyMjRCMH1cXHU4RkI5XFx1ezI0QTkzfVxcdTQ1MDlcXHU3RTdGXFx1NkY1NlxcdTZBQjFcXHU0RUVBXFx1MzRFNFxcdXsyOEIyQ31cXHV7Mjc4OUR9XFx1MzczQVxcdThFODBcXHV7MjE3RjV9XFx1ezI4MDI0fVxcdXsyOEI2Q31cXHV7MjhCOTl9XFx1ezI3QTNFfVxcdXsyNjZBRn1cXHUzREVCXFx1ezI3NjU1fVxcdXsyM0NCN31cXHV7MjU2MzV9XFx1ezI1OTU2fVxcdTRFOUFcXHV7MjVFODF9XFx1ezI2MjU4fVxcdTU2QkZcXHV7MjBFNkR9XFx1OEUwRVxcdTVCNkRcXHV7MjNFODh9XFx1ezI0QzlFfVxcdTYzREVcXHU2MkQwXFx1ezIxN0Y2fVxcdXsyMTg3Qn1cXHU2NTMwXFx1NTYyRFxcdXsyNUM0QX1cXHU1NDFBXFx1ezI1MzExfVxcdTNEQzZcXHV7MjlEOTh9XFx1NEM3RFxcdTU2MjJcXHU1NjFFXFx1N0Y0OVxcdXsyNUVEOH1cXHU1OTc1XFx1ezIzRDQwfVxcdTg3NzBcXHU0RTFDXFx1ezIwRkVBfVxcdXsyMEQ0OX1cXHV7MjM2QkF9XFx1ODExN1xcdTlENUVcXHU4RDE4XFx1NzYzQlxcdTlDNDVcXHU3NjRFXFx1NzdCOVxcdTkzNDVcXHU1NDMyXFx1ODE0OFxcdTgyRjdcXHU1NjI1XFx1ODEzMlxcdTg0MThcXHU4MEJEXFx1NTVFQVxcdTc5NjJcXHU1NjQzXFx1NTQxNlxcdXsyMEU5RH1cXHUzNUNFXFx1NTYwNVxcdTU1RjFcXHU2NkYxXFx1ezI4MkUyfVxcdTM2MkRcXHU3NTM0XFx1NTVGMFxcdTU1QkFcXHU1NDk3XFx1NTU3MlxcdXsyMEM0MX1cXHV7MjBDOTZ9XFx1NUVEMFxcdXsyNTE0OH1cXHV7MjBFNzZ9XFx1ezIyQzYyfVwiXSxcbiAgICAgIFtcIjllNDBcIiwgXCJcXHV7MjBFQTJ9XFx1OUVBQlxcdTdENUFcXHU1NURFXFx1ezIxMDc1fVxcdTYyOURcXHU5NzZEXFx1NTQ5NFxcdThDQ0RcXHU3MUY2XFx1OTE3NlxcdTYzRkNcXHU2M0I5XFx1NjNGRVxcdTU1NjlcXHV7MjJCNDN9XFx1OUM3MlxcdXsyMkVCM31cXHU1MTlBXFx1MzRERlxcdXsyMERBN31cXHU1MUE3XFx1NTQ0RFxcdTU1MUVcXHU1NTEzXFx1NzY2NlxcdThFMkRcXHV7MjY4OEF9XFx1NzVCMVxcdTgwQjZcXHU4ODA0XFx1ODc4NlxcdTg4QzdcXHU4MUI2XFx1ODQxQ1xcdXsyMTBDMX1cXHU0NEVDXFx1NzMwNFxcdXsyNDcwNn1cXHU1QjkwXFx1ODMwQlxcdXsyNjg5M31cXHU1NjdCXFx1ezIyNkY0fVxcdXsyN0QyRn1cXHV7MjQxQTN9XFx1ezI3RDczfVxcdXsyNkVEMH1cXHV7MjcyQjZ9XFx1OTE3MFxcdXsyMTFEOX1cXHU5MjA4XFx1ezIzQ0ZDfVxcdXsyQTZBOX1cXHV7MjBFQUN9XFx1ezIwRUY5fVxcdTcyNjZcXHV7MjFDQTJ9XFx1NDc0RVxcdXsyNEZDMn1cXHV7MjdGRjl9XFx1ezIwRkVCfVxcdTQwRkFcIl0sXG4gICAgICBbXCI5ZWExXCIsIFwiXFx1OUM1RFxcdTY1MUZcXHV7MjJEQTB9XFx1NDhGM1xcdXsyNDdFMH1cXHV7MjlEN0N9XFx1ezIwRkVDfVxcdXsyMEUwQX1cXHU2MDYyXFx1ezI3NUEzfVxcdXsyMEZFRH1cIl0sXG4gICAgICBbXCI5ZWFkXCIsIFwiXFx1ezI2MDQ4fVxcdXsyMTE4N31cXHU3MUEzXFx1N0U4RVxcdTlENTBcXHU0RTFBXFx1NEUwNFxcdTM1NzdcXHU1QjBEXFx1NkNCMlxcdTUzNjdcXHUzNkFDXFx1MzlEQ1xcdTUzN0RcXHUzNkE1XFx1ezI0NjE4fVxcdTU4OUFcXHV7MjRCNkV9XFx1ODIyRFxcdTU0NEJcXHU1N0FBXFx1ezI1QTk1fVxcdXsyMDk3OX1cIl0sXG4gICAgICBbXCI5ZWM1XCIsIFwiXFx1M0E1MlxcdXsyMjQ2NX1cXHU3Mzc0XFx1ezI5RUFDfVxcdTREMDlcXHU5QkVEXFx1ezIzQ0ZFfVxcdXsyOUYzMH1cXHU0QzVCXFx1ezI0RkE5fVxcdXsyOTU5RX1cXHV7MjlGREV9XFx1ODQ1Q1xcdXsyM0RCNn1cXHV7MjcyQjJ9XFx1ezI2N0IzfVxcdXsyMzcyMH1cXHU2MzJFXFx1N0QyNVxcdXsyM0VGN31cXHV7MjNFMkN9XFx1M0EyQVxcdTkwMDhcXHU1MkNDXFx1M0U3NFxcdTM2N0FcXHU0NUU5XFx1ezIwNDhFfVxcdTc2NDBcXHU1QUYwXFx1ezIwRUI2fVxcdTc4N0FcXHV7MjdGMkV9XFx1NThBN1xcdTQwQkZcXHU1NjdDXFx1OUI4QlxcdTVENzRcXHU3NjU0XFx1ezJBNDM0fVxcdTlFODVcXHU0Q0UxXFx1NzVGOVxcdTM3RkJcXHU2MTE5XFx1ezIzMERBfVxcdXsyNDNGMn1cIl0sXG4gICAgICBbXCI5ZWY1XCIsIFwiXFx1NTY1RFxcdXsyMTJBOX1cXHU1N0E3XFx1ezI0OTYzfVxcdXsyOUUwNn1cXHU1MjM0XFx1ezI3MEFFfVxcdTM1QURcXHU2QzRBXFx1OUQ3Q1wiXSxcbiAgICAgIFtcIjlmNDBcIiwgXCJcXHU3QzU2XFx1OUIzOVxcdTU3REVcXHV7MjE3NkN9XFx1NUM1M1xcdTY0RDNcXHV7Mjk0RDB9XFx1ezI2MzM1fVxcdXsyNzE2NH1cXHU4NkFEXFx1ezIwRDI4fVxcdXsyNkQyMn1cXHV7MjRBRTJ9XFx1ezIwRDcxfVwiXSxcbiAgICAgIFtcIjlmNGZcIiwgXCJcXHU1MUZFXFx1ezIxRjBGfVxcdTVEOEVcXHU5NzAzXFx1ezIxREQxfVxcdTlFODFcXHU5MDRDXFx1N0IxRlxcdTlCMDJcXHU1Q0QxXFx1N0JBM1xcdTYyNjhcXHU2MzM1XFx1OUFGRlxcdTdCQ0ZcXHU5QjJBXFx1N0M3RVxcdTlCMkVcXHU3QzQyXFx1N0M4NlxcdTlDMTVcXHU3QkZDXFx1OUIwOVxcdTlGMTdcXHU5QzFCXFx1ezI0OTNFfVxcdTlGNUFcXHU1NTczXFx1NUJDM1xcdTRGRkRcXHU5RTk4XFx1NEZGMlxcdTUyNjBcXHUzRTA2XFx1NTJEMVxcdTU3NjdcXHU1MDU2XFx1NTlCN1xcdTVFMTJcXHU5N0M4XFx1OURBQlxcdThGNUNcXHU1NDY5XFx1OTdCNFxcdTk5NDBcXHU5N0JBXFx1NTMyQ1xcdTYxMzBcIl0sXG4gICAgICBbXCI5ZmExXCIsIFwiXFx1NjkyQ1xcdTUzREFcXHU5QzBBXFx1OUQwMlxcdTRDM0JcXHU5NjQxXFx1Njk4MFxcdTUwQTZcXHU3NTQ2XFx1ezIxNzZEfVxcdTk5REFcXHU1MjczXCJdLFxuICAgICAgW1wiOWZhZVwiLCBcIlxcdTkxNTlcXHU5NjgxXFx1OTE1Q1wiXSxcbiAgICAgIFtcIjlmYjJcIiwgXCJcXHU5MTUxXFx1ezI4RTk3fVxcdTYzN0ZcXHV7MjZEMjN9XFx1NkFDQVxcdTU2MTFcXHU5MThFXFx1NzU3QVxcdTYyODVcXHV7MjAzRkN9XFx1NzM0RlxcdTdDNzBcXHV7MjVDMjF9XFx1ezIzQ0ZEfVwiXSxcbiAgICAgIFtcIjlmYzFcIiwgXCJcXHV7MjQ5MTl9XFx1NzZENlxcdTlCOURcXHU0RTJBXFx1ezIwQ0Q0fVxcdTgzQkVcXHU4ODQyXCJdLFxuICAgICAgW1wiOWZjOVwiLCBcIlxcdTVDNEFcXHU2OUMwXFx1NTBFRFxcdTU3N0FcXHU1MjFGXFx1NURGNVxcdTRFQ0VcXHU2QzMxXFx1ezIwMUYyfVxcdTRGMzlcXHU1NDlDXFx1NTREQVxcdTUyOUFcXHU4RDgyXFx1MzVGRVxcdTVGMENcXHUzNUYzXCJdLFxuICAgICAgW1wiOWZkYlwiLCBcIlxcdTZCNTJcXHU5MTdDXFx1OUZBNVxcdTlCOTdcXHU5ODJFXFx1OThCNFxcdTlBQkFcXHU5RUE4XFx1OUU4NFxcdTcxN0FcXHU3QjE0XCJdLFxuICAgICAgW1wiOWZlN1wiLCBcIlxcdTZCRkFcXHU4ODE4XFx1N0Y3OFwiXSxcbiAgICAgIFtcIjlmZWJcIiwgXCJcXHU1NjIwXFx1ezJBNjRBfVxcdThFNzdcXHU5RjUzXCJdLFxuICAgICAgW1wiOWZmMFwiLCBcIlxcdThERDRcXHU4RTRGXFx1OUUxQ1xcdThFMDFcXHU2MjgyXFx1ezI4MzdEfVxcdThFMjhcXHU4RTc1XFx1N0FEM1xcdXsyNEE3N31cXHU3QTNFXFx1NzhEOFxcdTZDRUFcXHU4QTY3XFx1NzYwN1wiXSxcbiAgICAgIFtcImEwNDBcIiwgXCJcXHV7MjhBNUF9XFx1OUYyNlxcdTZDQ0VcXHU4N0Q2XFx1NzVDM1xcdXsyQTJCMn1cXHU3ODUzXFx1ezJGODQwfVxcdThEMENcXHU3MkUyXFx1NzM3MVxcdThCMkRcXHU3MzAyXFx1NzRGMVxcdThDRUJcXHV7MjRBQkJ9XFx1ODYyRlxcdTVGQkFcXHU4OEEwXFx1NDRCN1wiXSxcbiAgICAgIFtcImEwNTVcIiwgXCJcXHV7MjE4M0J9XFx1ezI2RTA1fVwiXSxcbiAgICAgIFtcImEwNThcIiwgXCJcXHU4QTdFXFx1ezIyNTFCfVwiXSxcbiAgICAgIFtcImEwNWJcIiwgXCJcXHU2MEZEXFx1NzY2N1xcdTlBRDdcXHU5RDQ0XFx1OTM2RVxcdTlCOEZcXHU4N0Y1XCJdLFxuICAgICAgW1wiYTA2M1wiLCBcIlxcdTg4MEZcXHU4Q0Y3XFx1NzMyQ1xcdTk3MjFcXHU5QkIwXFx1MzVENlxcdTcyQjJcXHU0QzA3XFx1N0M1MVxcdTk5NEFcXHV7MjYxNTl9XFx1NjE1OVxcdTRDMDRcXHU5RTk2XFx1NjE3RFwiXSxcbiAgICAgIFtcImEwNzNcIiwgXCJcXHU1NzVGXFx1NjE2RlxcdTYyQTZcXHU2MjM5XFx1NjJDRVxcdTNBNUNcXHU2MUUyXFx1NTNBQVxcdXsyMzNGNX1cXHU2MzY0XFx1NjgwMlxcdTM1RDJcIl0sXG4gICAgICBbXCJhMGExXCIsIFwiXFx1NUQ1N1xcdXsyOEJDMn1cXHU4RkRBXFx1ezI4RTM5fVwiXSxcbiAgICAgIFtcImEwYTZcIiwgXCJcXHU1MEQ5XFx1ezIxRDQ2fVxcdTc5MDZcXHU1MzMyXFx1OTYzOFxcdXsyMEYzQn1cXHU0MDY1XCJdLFxuICAgICAgW1wiYTBhZVwiLCBcIlxcdTc3RkVcIl0sXG4gICAgICBbXCJhMGIwXCIsIFwiXFx1N0NDMlxcdXsyNUYxQX1cXHU3Q0RBXFx1N0EyRFxcdTgwNjZcXHU4MDYzXFx1N0Q0RFxcdTc1MDVcXHU3NEYyXFx1ODk5NFxcdTgyMUFcXHU2NzBDXFx1ODA2MlxcdXsyNzQ4Nn1cXHU4MDVCXFx1NzRGMFxcdTgxMDNcXHU3NzI0XFx1ODk4OVxcdXsyNjdDQ31cXHU3NTUzXFx1ezI2RUQxfVxcdTg3QTlcXHU4N0NFXFx1ODFDOFxcdTg3OENcXHU4QTQ5XFx1OENBRFxcdThCNDNcXHU3NzJCXFx1NzRGOFxcdTg0REFcXHUzNjM1XFx1NjlCMlxcdThEQTZcIl0sXG4gICAgICBbXCJhMGQ0XCIsIFwiXFx1ODlBOVxcdTc0NjhcXHU2REI5XFx1ODdDMVxcdXsyNDAxMX1cXHU3NEU3XFx1M0REQlxcdTcxNzZcXHU2MEE0XFx1NjE5Q1xcdTNDRDFcXHU3MTYyXFx1NjA3N1wiXSxcbiAgICAgIFtcImEwZTJcIiwgXCJcXHU3RjcxXFx1ezI4QjJEfVxcdTcyNTBcXHU2MEU5XFx1NEI3RVxcdTUyMjBcXHUzQzE4XFx1ezIzQ0M3fVxcdXsyNUVEN31cXHV7Mjc2NTZ9XFx1ezI1NTMxfVxcdXsyMTk0NH1cXHV7MjEyRkV9XFx1ezI5OTAzfVxcdXsyNkREQ31cXHV7MjcwQUR9XFx1NUNDMVxcdXsyNjFBRH1cXHV7MjhBMEZ9XFx1ezIzNjc3fVxcdXsyMDBFRX1cXHV7MjY4NDZ9XFx1ezI0RjBFfVxcdTQ1NjJcXHU1QjFGXFx1ezI2MzRDfVxcdTlGNTBcXHU5RUE2XFx1ezI2MjZCfVwiXSxcbiAgICAgIFtcImEzYzBcIiwgXCJcXHUyNDAwXCIsIDMxLCBcIlxcdTI0MjFcIl0sXG4gICAgICBbXCJjNmExXCIsIFwiXFx1MjQ2MFwiLCA5LCBcIlxcdTI0NzRcIiwgOSwgXCJcXHUyMTcwXCIsIDksIFwiXFx1NEUzNlxcdTRFM0ZcXHU0RTg1XFx1NEVBMFxcdTUxODJcXHU1MTk2XFx1NTFBQlxcdTUyRjlcXHU1MzM4XFx1NTM2OVxcdTUzQjZcXHU1OTBBXFx1NUI4MFxcdTVEREJcXHUyRjMzXFx1NUU3RlxcdTVFRjRcXHU1RjUwXFx1NUY2MVxcdTY1MzRcXHU2NUUwXFx1NzU5MlxcdTc2NzZcXHU4RkI1XFx1OTZCNlxceEE4XFx1MDJDNlxcdTMwRkRcXHUzMEZFXFx1MzA5RFxcdTMwOUVcXHUzMDAzXFx1NEVERFxcdTMwMDVcXHUzMDA2XFx1MzAwN1xcdTMwRkNcXHVGRjNCXFx1RkYzRFxcdTI3M0RcXHUzMDQxXCIsIDIzXSxcbiAgICAgIFtcImM3NDBcIiwgXCJcXHUzMDU5XCIsIDU4LCBcIlxcdTMwQTFcXHUzMEEyXFx1MzBBM1xcdTMwQTRcIl0sXG4gICAgICBbXCJjN2ExXCIsIFwiXFx1MzBBNVwiLCA4MSwgXCJcXHUwNDEwXCIsIDUsIFwiXFx1MDQwMVxcdTA0MTZcIiwgNF0sXG4gICAgICBbXCJjODQwXCIsIFwiXFx1MDQxQlwiLCAyNiwgXCJcXHUwNDUxXFx1MDQzNlwiLCAyNSwgXCJcXHUyMUU3XFx1MjFCOFxcdTIxQjlcXHUzMUNGXFx1ezIwMENDfVxcdTRFNUFcXHV7MjAwOEF9XFx1NTIwMlxcdTQ0OTFcIl0sXG4gICAgICBbXCJjOGExXCIsIFwiXFx1OUZCMFxcdTUxODhcXHU5RkIxXFx1ezI3NjA3fVwiXSxcbiAgICAgIFtcImM4Y2RcIiwgXCJcXHVGRkUyXFx1RkZFNFxcdUZGMDdcXHVGRjAyXFx1MzIzMVxcdTIxMTZcXHUyMTIxXFx1MzA5QlxcdTMwOUNcXHUyRTgwXFx1MkU4NFxcdTJFODZcXHUyRTg3XFx1MkU4OFxcdTJFOEFcXHUyRThDXFx1MkU4RFxcdTJFOTVcXHUyRTlDXFx1MkU5RFxcdTJFQTVcXHUyRUE3XFx1MkVBQVxcdTJFQUNcXHUyRUFFXFx1MkVCNlxcdTJFQkNcXHUyRUJFXFx1MkVDNlxcdTJFQ0FcXHUyRUNDXFx1MkVDRFxcdTJFQ0ZcXHUyRUQ2XFx1MkVEN1xcdTJFREVcXHUyRUUzXCJdLFxuICAgICAgW1wiYzhmNVwiLCBcIlxcdTAyODNcXHUwMjUwXFx1MDI1QlxcdTAyNTRcXHUwMjc1XFx1MDE1M1xceEY4XFx1MDE0QlxcdTAyOEFcXHUwMjZBXCJdLFxuICAgICAgW1wiZjlmZVwiLCBcIlxcdUZGRURcIl0sXG4gICAgICBbXCJmYTQwXCIsIFwiXFx1ezIwNTQ3fVxcdTkyREJcXHV7MjA1REZ9XFx1ezIzRkM1fVxcdTg1NENcXHU0MkI1XFx1NzNFRlxcdTUxQjVcXHUzNjQ5XFx1ezI0OTQyfVxcdXsyODlFNH1cXHU5MzQ0XFx1ezIxOURCfVxcdTgyRUVcXHV7MjNDQzh9XFx1NzgzQ1xcdTY3NDRcXHU2MkRGXFx1ezI0OTMzfVxcdXsyODlBQX1cXHV7MjAyQTB9XFx1ezI2QkIzfVxcdXsyMTMwNX1cXHU0RkFCXFx1ezIyNEVEfVxcdTUwMDhcXHV7MjZEMjl9XFx1ezI3QTg0fVxcdXsyMzYwMH1cXHV7MjRBQjF9XFx1ezIyNTEzfVxcdTUwMjlcXHV7MjAzN0V9XFx1NUZBNFxcdXsyMDM4MH1cXHV7MjAzNDd9XFx1NkVEQlxcdXsyMDQxRn1cXHU1MDdEXFx1NTEwMVxcdTM0N0FcXHU1MTBFXFx1OTg2Q1xcdTM3NDNcXHU4NDE2XFx1ezI0OUE0fVxcdXsyMDQ4N31cXHU1MTYwXFx1ezIzM0I0fVxcdTUxNkFcXHV7MjBCRkZ9XFx1ezIyMEZDfVxcdXsyMDJFNX1cXHV7MjI1MzB9XFx1ezIwNThFfVxcdXsyMzIzM31cXHV7MjE5ODN9XFx1NUI4MlxcdTg3N0RcXHV7MjA1QjN9XFx1ezIzQzk5fVxcdTUxQjJcXHU1MUI4XCJdLFxuICAgICAgW1wiZmFhMVwiLCBcIlxcdTlEMzRcXHU1MUM5XFx1NTFDRlxcdTUxRDFcXHUzQ0RDXFx1NTFEM1xcdXsyNEFBNn1cXHU1MUIzXFx1NTFFMlxcdTUzNDJcXHU1MUVEXFx1ODNDRFxcdTY5M0VcXHV7MjM3MkR9XFx1NUY3QlxcdTUyMEJcXHU1MjI2XFx1NTIzQ1xcdTUyQjVcXHU1MjU3XFx1NTI5NFxcdTUyQjlcXHU1MkM1XFx1N0MxNVxcdTg1NDJcXHU1MkUwXFx1ODYwRFxcdXsyNkIxM31cXHU1MzA1XFx1ezI4QURFfVxcdTU1NDlcXHU2RUQ5XFx1ezIzRjgwfVxcdXsyMDk1NH1cXHV7MjNGRUN9XFx1NTMzM1xcdTUzNDRcXHV7MjBCRTJ9XFx1NkNDQlxcdXsyMTcyNn1cXHU2ODFCXFx1NzNENVxcdTYwNEFcXHUzRUFBXFx1MzhDQ1xcdXsyMTZFOH1cXHU3MUREXFx1NDRBMlxcdTUzNkRcXHU1Mzc0XFx1ezI4NkFCfVxcdTUzN0VcXHU1MzdGXFx1ezIxNTk2fVxcdXsyMTYxM31cXHU3N0U2XFx1NTM5M1xcdXsyOEE5Qn1cXHU1M0EwXFx1NTNBQlxcdTUzQUVcXHU3M0E3XFx1ezI1NzcyfVxcdTNGNTlcXHU3MzlDXFx1NTNDMVxcdTUzQzVcXHU2QzQ5XFx1NEU0OVxcdTU3RkVcXHU1M0Q5XFx1M0FBQlxcdXsyMEI4Rn1cXHU1M0UwXFx1ezIzRkVCfVxcdXsyMkRBM31cXHU1M0Y2XFx1ezIwQzc3fVxcdTU0MTNcXHU3MDc5XFx1NTUyQlxcdTY2NTdcXHU2RDVCXFx1NTQ2RFxcdXsyNkI1M31cXHV7MjBENzR9XFx1NTU1RFxcdTU0OEZcXHU1NEE0XFx1NDdBNlxcdXsyMTcwRH1cXHV7MjBFRER9XFx1M0RCNFxcdXsyMEQ0RH1cIl0sXG4gICAgICBbXCJmYjQwXCIsIFwiXFx1ezI4OUJDfVxcdXsyMjY5OH1cXHU1NTQ3XFx1NENFRFxcdTU0MkZcXHU3NDE3XFx1NTU4NlxcdTU1QTlcXHU1NjA1XFx1ezIxOEQ3fVxcdXsyNDAzQX1cXHU0NTUyXFx1ezI0NDM1fVxcdTY2QjNcXHV7MjEwQjR9XFx1NTYzN1xcdTY2Q0RcXHV7MjMyOEF9XFx1NjZBNFxcdTY2QURcXHU1NjREXFx1NTY0RlxcdTc4RjFcXHU1NkYxXFx1OTc4N1xcdTUzRkVcXHU1NzAwXFx1NTZFRlxcdTU2RURcXHV7MjhCNjZ9XFx1MzYyM1xcdXsyMTI0Rn1cXHU1NzQ2XFx1ezI0MUE1fVxcdTZDNkVcXHU3MDhCXFx1NTc0MlxcdTM2QjFcXHV7MjZDN0V9XFx1NTdFNlxcdXsyMTQxNn1cXHU1ODAzXFx1ezIxNDU0fVxcdXsyNDM2M31cXHU1ODI2XFx1ezI0QkY1fVxcdTU4NUNcXHU1OEFBXFx1MzU2MVxcdTU4RTBcXHU1OERDXFx1ezIxMjNDfVxcdTU4RkJcXHU1QkZGXFx1NTc0M1xcdXsyQTE1MH1cXHV7MjQyNzh9XFx1OTNEM1xcdTM1QTFcXHU1OTFGXFx1NjhBNlxcdTM2QzNcXHU2RTU5XCJdLFxuICAgICAgW1wiZmJhMVwiLCBcIlxcdXsyMTYzRX1cXHU1QTI0XFx1NTU1M1xcdXsyMTY5Mn1cXHU4NTA1XFx1NTlDOVxcdXsyMEQ0RX1cXHV7MjZDODF9XFx1ezI2RDJBfVxcdXsyMTdEQ31cXHU1OUQ5XFx1ezIxN0ZCfVxcdXsyMTdCMn1cXHV7MjZEQTZ9XFx1NkQ3MVxcdXsyMTgyOH1cXHV7MjE2RDV9XFx1NTlGOVxcdXsyNkU0NX1cXHU1QUFCXFx1NUE2M1xcdTM2RTZcXHV7MjQ5QTl9XFx1NUE3N1xcdTM3MDhcXHU1QTk2XFx1NzQ2NVxcdTVBRDNcXHV7MjZGQTF9XFx1ezIyNTU0fVxcdTNEODVcXHV7MjE5MTF9XFx1MzczMlxcdXsyMTZCOH1cXHU1RTgzXFx1NTJEMFxcdTVCNzZcXHU2NTg4XFx1NUI3Q1xcdXsyN0EwRX1cXHU0MDA0XFx1NDg1RFxcdXsyMDIwNH1cXHU1QkQ1XFx1NjE2MFxcdXsyMUEzNH1cXHV7MjU5Q0N9XFx1ezIwNUE1fVxcdTVCRjNcXHU1QjlEXFx1NEQxMFxcdTVDMDVcXHV7MjFCNDR9XFx1NUMxM1xcdTczQ0VcXHU1QzE0XFx1ezIxQ0E1fVxcdXsyNkIyOH1cXHU1QzQ5XFx1NDhERFxcdTVDODVcXHU1Q0U5XFx1NUNFRlxcdTVEOEJcXHV7MjFERjl9XFx1ezIxRTM3fVxcdTVEMTBcXHU1RDE4XFx1NUQ0NlxcdXsyMUVBNH1cXHU1Q0JBXFx1NUREN1xcdTgyRkNcXHUzODJEXFx1ezI0OTAxfVxcdXsyMjA0OX1cXHV7MjIxNzN9XFx1ODI4N1xcdTM4MzZcXHUzQkMyXFx1NUUyRVxcdTZBOEFcXHU1RTc1XFx1NUU3QVxcdXsyNDRCQ31cXHV7MjBDRDN9XFx1NTNBNlxcdTRFQjdcXHU1RUQwXFx1NTNBOFxcdXsyMTc3MX1cXHU1RTA5XFx1NUVGNFxcdXsyODQ4Mn1cIl0sXG4gICAgICBbXCJmYzQwXCIsIFwiXFx1NUVGOVxcdTVFRkJcXHUzOEEwXFx1NUVGQ1xcdTY4M0VcXHU5NDFCXFx1NUYwRFxcdXsyMDFDMX1cXHV7MkY4OTR9XFx1M0FERVxcdTQ4QUVcXHV7MjEzM0F9XFx1NUYzQVxcdXsyNjg4OH1cXHV7MjIzRDB9XFx1NUY1OFxcdXsyMjQ3MX1cXHU1RjYzXFx1OTdCRFxcdXsyNkU2RX1cXHU1RjcyXFx1OTM0MFxcdXsyOEEzNn1cXHU1RkE3XFx1NURCNlxcdTNENUZcXHV7MjUyNTB9XFx1ezIxRjZBfVxcdXsyNzBGOH1cXHV7MjI2Njh9XFx1OTFENlxcdXsyMDI5RX1cXHV7MjhBMjl9XFx1NjAzMVxcdTY2ODVcXHV7MjE4Nzd9XFx1Mzk2M1xcdTNEQzdcXHUzNjM5XFx1NTc5MFxcdXsyMjdCNH1cXHU3OTcxXFx1M0U0MFxcdTYwOUVcXHU2MEE0XFx1NjBCM1xcdXsyNDk4Mn1cXHV7MjQ5OEZ9XFx1ezI3QTUzfVxcdTc0QTRcXHU1MEUxXFx1NUFBMFxcdTYxNjRcXHU4NDI0XFx1NjE0MlxcdXsyRjhBNn1cXHV7MjZFRDJ9XFx1NjE4MVxcdTUxRjRcXHV7MjA2NTZ9XFx1NjE4N1xcdTVCQUFcXHV7MjNGQjd9XCJdLFxuICAgICAgW1wiZmNhMVwiLCBcIlxcdXsyMjg1Rn1cXHU2MUQzXFx1ezI4QjlEfVxcdXsyOTk1RH1cXHU2MUQwXFx1MzkzMlxcdXsyMjk4MH1cXHV7MjI4QzF9XFx1NjAyM1xcdTYxNUNcXHU2NTFFXFx1NjM4QlxcdXsyMDExOH1cXHU2MkM1XFx1ezIxNzcwfVxcdTYyRDVcXHV7MjJFMER9XFx1NjM2Q1xcdXsyNDlERn1cXHUzQTE3XFx1NjQzOFxcdTYzRjhcXHV7MjEzOEV9XFx1ezIxN0ZDfVxcdTY0OTBcXHU2RjhBXFx1ezIyRTM2fVxcdTk4MTRcXHV7MjQwOEN9XFx1ezI1NzFEfVxcdTY0RTFcXHU2NEU1XFx1OTQ3QlxcdTNBNjZcXHU2NDNBXFx1M0E1N1xcdTY1NERcXHU2RjE2XFx1ezI0QTI4fVxcdXsyNEEyM31cXHU2NTg1XFx1NjU2RFxcdTY1NUZcXHV7MjMwN0V9XFx1NjVCNVxcdXsyNDk0MH1cXHU0QjM3XFx1NjVEMVxcdTQwRDhcXHV7MjE4Mjl9XFx1NjVFMFxcdTY1RTNcXHU1RkRGXFx1ezIzNDAwfVxcdTY2MThcXHV7MjMxRjd9XFx1ezIzMUY4fVxcdTY2NDRcXHV7MjMxQTR9XFx1ezIzMUE1fVxcdTY2NEJcXHV7MjBFNzV9XFx1NjY2N1xcdXsyNTFFNn1cXHU2NjczXFx1NjY3NFxcdXsyMUUzRH1cXHV7MjMyMzF9XFx1ezI4NUY0fVxcdXsyMzFDOH1cXHV7MjUzMTN9XFx1NzdDNVxcdXsyMjhGN31cXHU5OUE0XFx1NjcwMlxcdXsyNDM5Q31cXHV7MjRBMjF9XFx1M0IyQlxcdTY5RkFcXHV7MjM3QzJ9XFx1Njc1RVxcdTY3NjdcXHU2NzYyXFx1ezI0MUNEfVxcdXsyOTBFRH1cXHU2N0Q3XFx1NDRFOVxcdTY4MjJcXHU2RTUwXFx1OTIzQ1xcdTY4MDFcXHV7MjMzRTZ9XFx1ezI2REEwfVxcdTY4NURcIl0sXG4gICAgICBbXCJmZDQwXCIsIFwiXFx1ezIzNDZGfVxcdTY5RTFcXHU2QTBCXFx1ezI4QURGfVxcdTY5NzNcXHU2OEMzXFx1ezIzNUNEfVxcdTY5MDFcXHU2OTAwXFx1M0QzMlxcdTNBMDFcXHV7MjM2M0N9XFx1M0I4MFxcdTY3QUNcXHU2OTYxXFx1ezI4QTRBfVxcdTQyRkNcXHU2OTM2XFx1Njk5OFxcdTNCQTFcXHV7MjAzQzl9XFx1ODM2M1xcdTUwOTBcXHU2OUY5XFx1ezIzNjU5fVxcdXsyMjEyQX1cXHU2QTQ1XFx1ezIzNzAzfVxcdTZBOURcXHUzQkYzXFx1NjdCMVxcdTZBQzhcXHV7MjkxOUN9XFx1M0MwRFxcdTZCMURcXHV7MjA5MjN9XFx1NjBERVxcdTZCMzVcXHU2Qjc0XFx1ezIyN0NEfVxcdTZFQjVcXHV7MjNBREJ9XFx1ezIwM0I1fVxcdXsyMTk1OH1cXHUzNzQwXFx1NTQyMVxcdXsyM0I1QX1cXHU2QkUxXFx1ezIzRUZDfVxcdTZCRENcXHU2QzM3XFx1ezIyNDhCfVxcdXsyNDhGMX1cXHV7MjZCNTF9XFx1NkM1QVxcdTgyMjZcXHU2Qzc5XFx1ezIzREJDfVxcdTQ0QzVcXHV7MjNEQkR9XFx1ezI0MUE0fVxcdXsyNDkwQ31cXHV7MjQ5MDB9XCJdLFxuICAgICAgW1wiZmRhMVwiLCBcIlxcdXsyM0NDOX1cXHUzNkU1XFx1M0NFQlxcdXsyMEQzMn1cXHU5QjgzXFx1ezIzMUY5fVxcdXsyMjQ5MX1cXHU3RjhGXFx1NjgzN1xcdXsyNkQyNX1cXHV7MjZEQTF9XFx1ezI2REVCfVxcdTZEOTZcXHU2RDVDXFx1NkU3Q1xcdTZGMDRcXHV7MjQ5N0Z9XFx1ezI0MDg1fVxcdXsyNkU3Mn1cXHU4NTMzXFx1ezI2Rjc0fVxcdTUxQzdcXHU2QzlDXFx1NkUxRFxcdTg0MkVcXHV7MjhCMjF9XFx1NkUyRlxcdXsyM0UyRn1cXHU3NDUzXFx1ezIzRjgyfVxcdTc5Q0NcXHU2RTRGXFx1NUE5MVxcdXsyMzA0Qn1cXHU2RkY4XFx1MzcwRFxcdTZGOURcXHV7MjNFMzB9XFx1NkVGQVxcdXsyMTQ5N31cXHV7MjQwM0R9XFx1NDU1NVxcdTkzRjBcXHU2RjQ0XFx1NkY1Q1xcdTNENEVcXHU2Rjc0XFx1ezI5MTcwfVxcdTNEM0JcXHU2RjlGXFx1ezI0MTQ0fVxcdTZGRDNcXHV7MjQwOTF9XFx1ezI0MTU1fVxcdXsyNDAzOX1cXHV7MjNGRjB9XFx1ezIzRkI0fVxcdXsyNDEzRn1cXHU1MURGXFx1ezI0MTU2fVxcdXsyNDE1N31cXHV7MjQxNDB9XFx1ezI2MUREfVxcdTcwNEJcXHU3MDdFXFx1NzBBN1xcdTcwODFcXHU3MENDXFx1NzBENVxcdTcwRDZcXHU3MERGXFx1NDEwNFxcdTNERThcXHU3MUI0XFx1NzE5NlxcdXsyNDI3N31cXHU3MTJCXFx1NzE0NVxcdTVBODhcXHU3MTRBXFx1NzE2RVxcdTVDOUNcXHV7MjQzNjV9XFx1NzE0RlxcdTkzNjJcXHV7MjQyQzF9XFx1NzEyQ1xcdXsyNDQ1QX1cXHV7MjRBMjd9XFx1ezI0QTIyfVxcdTcxQkFcXHV7MjhCRTh9XFx1NzBCRFxcdTcyMEVcIl0sXG4gICAgICBbXCJmZTQwXCIsIFwiXFx1OTQ0MlxcdTcyMTVcXHU1OTExXFx1OTQ0M1xcdTcyMjRcXHU5MzQxXFx1ezI1NjA1fVxcdTcyMkVcXHU3MjQwXFx1ezI0OTc0fVxcdTY4QkRcXHU3MjU1XFx1NzI1N1xcdTNFNTVcXHV7MjMwNDR9XFx1NjgwRFxcdTZGM0RcXHU3MjgyXFx1NzMyQVxcdTczMkJcXHV7MjQ4MjN9XFx1ezI4ODJCfVxcdTQ4RURcXHV7Mjg4MDR9XFx1NzMyOFxcdTczMkVcXHU3M0NGXFx1NzNBQVxcdXsyMEMzQX1cXHV7MjZBMkV9XFx1NzNDOVxcdTc0NDlcXHV7MjQxRTJ9XFx1ezIxNkU3fVxcdXsyNEEyNH1cXHU2NjIzXFx1MzZDNVxcdXsyNDlCN31cXHV7MjQ5OER9XFx1ezI0OUZCfVxcdTczRjdcXHU3NDE1XFx1NjkwM1xcdXsyNEEyNn1cXHU3NDM5XFx1ezIwNUMzfVxcdTNFRDdcXHU3NDVDXFx1ezIyOEFEfVxcdTc0NjBcXHV7MjhFQjJ9XFx1NzQ0N1xcdTczRTRcXHU3NDc2XFx1ODNCOVxcdTc0NkNcXHUzNzMwXFx1NzQ3NFxcdTkzRjFcXHU2QTJDXFx1NzQ4MlxcdTQ5NTNcXHV7MjRBOEN9XCJdLFxuICAgICAgW1wiZmVhMVwiLCBcIlxcdXsyNDE1Rn1cXHV7MjRBNzl9XFx1ezI4QjhGfVxcdTVCNDZcXHV7MjhDMDN9XFx1ezIxODlFfVxcdTc0QzhcXHV7MjE5ODh9XFx1NzUwRVxcdTc0RTlcXHU3NTFFXFx1ezI4RUQ5fVxcdXsyMUE0Qn1cXHU1QkQ3XFx1ezI4RUFDfVxcdTkzODVcXHU3NTREXFx1NzU0QVxcdTc1NjdcXHU3NTZFXFx1ezI0RjgyfVxcdTNGMDRcXHV7MjREMTN9XFx1NzU4RVxcdTc0NURcXHU3NTlFXFx1NzVCNFxcdTc2MDJcXHU3NjJDXFx1NzY1MVxcdTc2NEZcXHU3NjZGXFx1NzY3NlxcdXsyNjNGNX1cXHU3NjkwXFx1ODFFRlxcdTM3RjhcXHV7MjY5MTF9XFx1ezI2OTBFfVxcdTc2QTFcXHU3NkE1XFx1NzZCN1xcdTc2Q0NcXHV7MjZGOUZ9XFx1ODQ2MlxcdXsyNTA5RH1cXHV7MjUxN0R9XFx1ezIxRTFDfVxcdTc3MUVcXHU3NzI2XFx1Nzc0MFxcdTY0QUZcXHV7MjUyMjB9XFx1Nzc1OFxcdXsyMzJBQ31cXHU3N0FGXFx1ezI4OTY0fVxcdXsyODk2OH1cXHV7MjE2QzF9XFx1NzdGNFxcdTc4MDlcXHV7MjEzNzZ9XFx1ezI0QTEyfVxcdTY4Q0FcXHU3OEFGXFx1NzhDN1xcdTc4RDNcXHU5NkE1XFx1NzkyRVxcdXsyNTVFMH1cXHU3OEQ3XFx1NzkzNFxcdTc4QjFcXHV7Mjc2MEN9XFx1OEZCOFxcdTg4ODRcXHV7MjhCMkJ9XFx1ezI2MDgzfVxcdXsyMjYxQ31cXHU3OTg2XFx1ODkwMFxcdTY5MDJcXHU3OTgwXFx1ezI1ODU3fVxcdTc5OURcXHV7MjdCMzl9XFx1NzkzQ1xcdTc5QTlcXHU2RTJBXFx1ezI3MTI2fVxcdTNFQThcXHU3OUM2XFx1ezI5MTBEfVxcdTc5RDRcIl1cbiAgICBdO1xuICB9XG59KTtcblxuLy8gbm9kZV9tb2R1bGVzL3Jhdy1ib2R5L25vZGVfbW9kdWxlcy9pY29udi1saXRlL2VuY29kaW5ncy9kYmNzLWRhdGEuanNcbnZhciByZXF1aXJlX2RiY3NfZGF0YSA9IF9fY29tbW9uSlMoe1xuICBcIm5vZGVfbW9kdWxlcy9yYXctYm9keS9ub2RlX21vZHVsZXMvaWNvbnYtbGl0ZS9lbmNvZGluZ3MvZGJjcy1kYXRhLmpzXCIoZXhwb3J0czIsIG1vZHVsZTIpIHtcbiAgICBcInVzZSBzdHJpY3RcIjtcbiAgICBtb2R1bGUyLmV4cG9ydHMgPSB7XG4gICAgICAvLyA9PSBKYXBhbmVzZS9TaGlmdEpJUyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICAgICAvLyBBbGwgamFwYW5lc2UgZW5jb2RpbmdzIGFyZSBiYXNlZCBvbiBKSVMgWCBzZXQgb2Ygc3RhbmRhcmRzOlxuICAgICAgLy8gSklTIFggMDIwMSAtIFNpbmdsZS1ieXRlIGVuY29kaW5nIG9mIEFTQ0lJICsgXHUwMEE1ICsgS2FuYSBjaGFycyBhdCAweEExLTB4REYuXG4gICAgICAvLyBKSVMgWCAwMjA4IC0gTWFpbiBzZXQgb2YgNjg3OSBjaGFyYWN0ZXJzLCBwbGFjZWQgaW4gOTR4OTQgcGxhbmUsIHRvIGJlIGVuY29kZWQgYnkgMiBieXRlcy4gXG4gICAgICAvLyAgICAgICAgICAgICAgSGFzIHNldmVyYWwgdmFyaWF0aW9ucyBpbiAxOTc4LCAxOTgzLCAxOTkwIGFuZCAxOTk3LlxuICAgICAgLy8gSklTIFggMDIxMiAtIFN1cHBsZW1lbnRhcnkgcGxhbmUgb2YgNjA2NyBjaGFycyBpbiA5NHg5NCBwbGFuZS4gMTk5MC4gRWZmZWN0aXZlbHkgZGVhZC5cbiAgICAgIC8vIEpJUyBYIDAyMTMgLSBFeHRlbnNpb24gYW5kIG1vZGVybiByZXBsYWNlbWVudCBvZiAwMjA4IGFuZCAwMjEyLiBUb3RhbCBjaGFyczogMTEyMzMuXG4gICAgICAvLyAgICAgICAgICAgICAgMiBwbGFuZXMsIGZpcnN0IGlzIHN1cGVyc2V0IG9mIDAyMDgsIHNlY29uZCAtIHJldmlzZWQgMDIxMi5cbiAgICAgIC8vICAgICAgICAgICAgICBJbnRyb2R1Y2VkIGluIDIwMDAsIHJldmlzZWQgMjAwNC4gU29tZSBjaGFyYWN0ZXJzIGFyZSBpbiBVbmljb2RlIFBsYW5lIDIgKDB4Mnh4eHgpXG4gICAgICAvLyBCeXRlIGVuY29kaW5ncyBhcmU6XG4gICAgICAvLyAgKiBTaGlmdF9KSVM6IENvbXBhdGlibGUgd2l0aCAwMjAxLCB1c2VzIG5vdCBkZWZpbmVkIGNoYXJzIGluIHRvcCBoYWxmIGFzIGxlYWQgYnl0ZXMgZm9yIGRvdWJsZS1ieXRlXG4gICAgICAvLyAgICAgICAgICAgICAgIGVuY29kaW5nIG9mIDAyMDguIExlYWQgYnl0ZSByYW5nZXM6IDB4ODEtMHg5RiwgMHhFMC0weEVGOyBUcmFpbCBieXRlIHJhbmdlczogMHg0MC0weDdFLCAweDgwLTB4OUUsIDB4OUYtMHhGQy5cbiAgICAgIC8vICAgICAgICAgICAgICAgV2luZG93cyBDUDkzMiBpcyBhIHN1cGVyc2V0IG9mIFNoaWZ0X0pJUy4gU29tZSBjb21wYW5pZXMgYWRkZWQgbW9yZSBjaGFycywgbm90YWJseSBLRERJLlxuICAgICAgLy8gICogRVVDLUpQOiAgICBVcCB0byAzIGJ5dGVzIHBlciBjaGFyYWN0ZXIuIFVzZWQgbW9zdGx5IG9uICpuaXhlcy5cbiAgICAgIC8vICAgICAgICAgICAgICAgMHgwMC0weDdGICAgICAgIC0gbG93ZXIgcGFydCBvZiAwMjAxXG4gICAgICAvLyAgICAgICAgICAgICAgIDB4OEUsIDB4QTEtMHhERiAtIHVwcGVyIHBhcnQgb2YgMDIwMVxuICAgICAgLy8gICAgICAgICAgICAgICAoMHhBMS0weEZFKXgyICAgLSAwMjA4IHBsYW5lICg5NHg5NCkuXG4gICAgICAvLyAgICAgICAgICAgICAgIDB4OEYsICgweEExLTB4RkUpeDIgLSAwMjEyIHBsYW5lICg5NHg5NCkuXG4gICAgICAvLyAgKiBKSVMgWCAyMDg6IDctYml0LCBkaXJlY3QgZW5jb2Rpbmcgb2YgMDIwOC4gQnl0ZSByYW5nZXM6IDB4MjEtMHg3RSAoOTQgdmFsdWVzKS4gVW5jb21tb24uXG4gICAgICAvLyAgICAgICAgICAgICAgIFVzZWQgYXMtaXMgaW4gSVNPMjAyMiBmYW1pbHkuXG4gICAgICAvLyAgKiBJU08yMDIyLUpQOiBTdGF0ZWZ1bCBlbmNvZGluZywgd2l0aCBlc2NhcGUgc2VxdWVuY2VzIHRvIHN3aXRjaCBiZXR3ZWVuIEFTQ0lJLCBcbiAgICAgIC8vICAgICAgICAgICAgICAgIDAyMDEtMTk3NiBSb21hbiwgMDIwOC0xOTc4LCAwMjA4LTE5ODMuXG4gICAgICAvLyAgKiBJU08yMDIyLUpQLTE6IEFkZHMgZXNjIHNlcSBmb3IgMDIxMi0xOTkwLlxuICAgICAgLy8gICogSVNPMjAyMi1KUC0yOiBBZGRzIGVzYyBzZXEgZm9yIEdCMjMxMy0xOTgwLCBLU1gxMDAxLTE5OTIsIElTTzg4NTktMSwgSVNPODg1OS03LlxuICAgICAgLy8gICogSVNPMjAyMi1KUC0zOiBBZGRzIGVzYyBzZXEgZm9yIDAyMDEtMTk3NiBLYW5hIHNldCwgMDIxMy0yMDAwIFBsYW5lcyAxLCAyLlxuICAgICAgLy8gICogSVNPMjAyMi1KUC0yMDA0OiBBZGRzIDAyMTMtMjAwNCBQbGFuZSAxLlxuICAgICAgLy9cbiAgICAgIC8vIEFmdGVyIEpJUyBYIDAyMTMgYXBwZWFyZWQsIFNoaWZ0X0pJUy0yMDA0LCBFVUMtSklTWDAyMTMgYW5kIElTTzIwMjItSlAtMjAwNCBmb2xsb3dlZCwgd2l0aCBqdXN0IGNoYW5naW5nIHRoZSBwbGFuZXMuXG4gICAgICAvL1xuICAgICAgLy8gT3ZlcmFsbCwgaXQgc2VlbXMgdGhhdCBpdCdzIGEgbWVzcyA6KCBodHRwOi8vd3d3OC5wbGFsYS5vci5qcC90a3Vib3RhMS91bmljb2RlLXN5bWJvbHMtbWFwMi5odG1sXG4gICAgICBcInNoaWZ0amlzXCI6IHtcbiAgICAgICAgdHlwZTogXCJfZGJjc1wiLFxuICAgICAgICB0YWJsZTogZnVuY3Rpb24oKSB7XG4gICAgICAgICAgcmV0dXJuIHJlcXVpcmVfc2hpZnRqaXMoKTtcbiAgICAgICAgfSxcbiAgICAgICAgZW5jb2RlQWRkOiB7IFwiXFx4QTVcIjogOTIsIFwiXFx1MjAzRVwiOiAxMjYgfSxcbiAgICAgICAgZW5jb2RlU2tpcFZhbHM6IFt7IGZyb206IDYwNzM2LCB0bzogNjM4MDggfV1cbiAgICAgIH0sXG4gICAgICBcImNzc2hpZnRqaXNcIjogXCJzaGlmdGppc1wiLFxuICAgICAgXCJtc2thbmppXCI6IFwic2hpZnRqaXNcIixcbiAgICAgIFwic2ppc1wiOiBcInNoaWZ0amlzXCIsXG4gICAgICBcIndpbmRvd3MzMWpcIjogXCJzaGlmdGppc1wiLFxuICAgICAgXCJtczMxalwiOiBcInNoaWZ0amlzXCIsXG4gICAgICBcInhzamlzXCI6IFwic2hpZnRqaXNcIixcbiAgICAgIFwid2luZG93czkzMlwiOiBcInNoaWZ0amlzXCIsXG4gICAgICBcIm1zOTMyXCI6IFwic2hpZnRqaXNcIixcbiAgICAgIFwiOTMyXCI6IFwic2hpZnRqaXNcIixcbiAgICAgIFwiY3A5MzJcIjogXCJzaGlmdGppc1wiLFxuICAgICAgXCJldWNqcFwiOiB7XG4gICAgICAgIHR5cGU6IFwiX2RiY3NcIixcbiAgICAgICAgdGFibGU6IGZ1bmN0aW9uKCkge1xuICAgICAgICAgIHJldHVybiByZXF1aXJlX2V1Y2pwKCk7XG4gICAgICAgIH0sXG4gICAgICAgIGVuY29kZUFkZDogeyBcIlxceEE1XCI6IDkyLCBcIlxcdTIwM0VcIjogMTI2IH1cbiAgICAgIH0sXG4gICAgICAvLyBUT0RPOiBLRERJIGV4dGVuc2lvbiB0byBTaGlmdF9KSVNcbiAgICAgIC8vIFRPRE86IElCTSBDQ1NJRCA5NDIgPSBDUDkzMiwgYnV0IEYwLUY5IGN1c3RvbSBjaGFycyBhbmQgb3RoZXIgY2hhciBjaGFuZ2VzLlxuICAgICAgLy8gVE9ETzogSUJNIENDU0lEIDk0MyA9IFNoaWZ0X0pJUyA9IENQOTMyIHdpdGggb3JpZ2luYWwgU2hpZnRfSklTIGxvd2VyIDEyOCBjaGFycy5cbiAgICAgIC8vID09IENoaW5lc2UvR0JLID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgICAgIC8vIGh0dHA6Ly9lbi53aWtpcGVkaWEub3JnL3dpa2kvR0JLXG4gICAgICAvLyBXZSBtb3N0bHkgaW1wbGVtZW50IFczQyByZWNvbW1lbmRhdGlvbjogaHR0cHM6Ly93d3cudzMub3JnL1RSL2VuY29kaW5nLyNnYmstZW5jb2RlclxuICAgICAgLy8gT2xkZXN0IEdCMjMxMiAoMTk4MSwgfjc2MDAgY2hhcnMpIGlzIGEgc3Vic2V0IG9mIENQOTM2XG4gICAgICBcImdiMjMxMlwiOiBcImNwOTM2XCIsXG4gICAgICBcImdiMjMxMjgwXCI6IFwiY3A5MzZcIixcbiAgICAgIFwiZ2IyMzEyMTk4MFwiOiBcImNwOTM2XCIsXG4gICAgICBcImNzZ2IyMzEyXCI6IFwiY3A5MzZcIixcbiAgICAgIFwiY3Npc281OGdiMjMxMjgwXCI6IFwiY3A5MzZcIixcbiAgICAgIFwiZXVjY25cIjogXCJjcDkzNlwiLFxuICAgICAgLy8gTWljcm9zb2Z0J3MgQ1A5MzYgaXMgYSBzdWJzZXQgYW5kIGFwcHJveGltYXRpb24gb2YgR0JLLlxuICAgICAgXCJ3aW5kb3dzOTM2XCI6IFwiY3A5MzZcIixcbiAgICAgIFwibXM5MzZcIjogXCJjcDkzNlwiLFxuICAgICAgXCI5MzZcIjogXCJjcDkzNlwiLFxuICAgICAgXCJjcDkzNlwiOiB7XG4gICAgICAgIHR5cGU6IFwiX2RiY3NcIixcbiAgICAgICAgdGFibGU6IGZ1bmN0aW9uKCkge1xuICAgICAgICAgIHJldHVybiByZXF1aXJlX2NwOTM2KCk7XG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgICAvLyBHQksgKH4yMjAwMCBjaGFycykgaXMgYW4gZXh0ZW5zaW9uIG9mIENQOTM2IHRoYXQgYWRkZWQgdXNlci1tYXBwZWQgY2hhcnMgYW5kIHNvbWUgb3RoZXIuXG4gICAgICBcImdia1wiOiB7XG4gICAgICAgIHR5cGU6IFwiX2RiY3NcIixcbiAgICAgICAgdGFibGU6IGZ1bmN0aW9uKCkge1xuICAgICAgICAgIHJldHVybiByZXF1aXJlX2NwOTM2KCkuY29uY2F0KHJlcXVpcmVfZ2JrX2FkZGVkKCkpO1xuICAgICAgICB9XG4gICAgICB9LFxuICAgICAgXCJ4Z2JrXCI6IFwiZ2JrXCIsXG4gICAgICBcImlzb2lyNThcIjogXCJnYmtcIixcbiAgICAgIC8vIEdCMTgwMzAgaXMgYW4gYWxnb3JpdGhtaWMgZXh0ZW5zaW9uIG9mIEdCSy5cbiAgICAgIC8vIE1haW4gc291cmNlOiBodHRwczovL3d3dy53My5vcmcvVFIvZW5jb2RpbmcvI2diay1lbmNvZGVyXG4gICAgICAvLyBodHRwOi8vaWN1LXByb2plY3Qub3JnL2RvY3MvcGFwZXJzL2diMTgwMzAuaHRtbFxuICAgICAgLy8gaHR0cDovL3NvdXJjZS5pY3UtcHJvamVjdC5vcmcvcmVwb3MvaWN1L2RhdGEvdHJ1bmsvY2hhcnNldC9kYXRhL3htbC9nYi0xODAzMC0yMDAwLnhtbFxuICAgICAgLy8gaHR0cDovL3d3dy5raG5nYWkuY29tL2NoaW5lc2UvY2hhcm1hcC90YmxnYmsucGhwP3BhZ2U9MFxuICAgICAgXCJnYjE4MDMwXCI6IHtcbiAgICAgICAgdHlwZTogXCJfZGJjc1wiLFxuICAgICAgICB0YWJsZTogZnVuY3Rpb24oKSB7XG4gICAgICAgICAgcmV0dXJuIHJlcXVpcmVfY3A5MzYoKS5jb25jYXQocmVxdWlyZV9nYmtfYWRkZWQoKSk7XG4gICAgICAgIH0sXG4gICAgICAgIGdiMTgwMzA6IGZ1bmN0aW9uKCkge1xuICAgICAgICAgIHJldHVybiByZXF1aXJlX2diMTgwMzBfcmFuZ2VzKCk7XG4gICAgICAgIH0sXG4gICAgICAgIGVuY29kZVNraXBWYWxzOiBbMTI4XSxcbiAgICAgICAgZW5jb2RlQWRkOiB7IFwiXFx1MjBBQ1wiOiA0MTY5OSB9XG4gICAgICB9LFxuICAgICAgXCJjaGluZXNlXCI6IFwiZ2IxODAzMFwiLFxuICAgICAgLy8gPT0gS29yZWFuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgICAgLy8gRVVDLUtSLCBLU19DXzU2MDEgYW5kIEtTIFggMTAwMSBhcmUgZXhhY3RseSB0aGUgc2FtZS5cbiAgICAgIFwid2luZG93czk0OVwiOiBcImNwOTQ5XCIsXG4gICAgICBcIm1zOTQ5XCI6IFwiY3A5NDlcIixcbiAgICAgIFwiOTQ5XCI6IFwiY3A5NDlcIixcbiAgICAgIFwiY3A5NDlcIjoge1xuICAgICAgICB0eXBlOiBcIl9kYmNzXCIsXG4gICAgICAgIHRhYmxlOiBmdW5jdGlvbigpIHtcbiAgICAgICAgICByZXR1cm4gcmVxdWlyZV9jcDk0OSgpO1xuICAgICAgICB9XG4gICAgICB9LFxuICAgICAgXCJjc2V1Y2tyXCI6IFwiY3A5NDlcIixcbiAgICAgIFwiY3Nrc2M1NjAxMTk4N1wiOiBcImNwOTQ5XCIsXG4gICAgICBcImV1Y2tyXCI6IFwiY3A5NDlcIixcbiAgICAgIFwiaXNvaXIxNDlcIjogXCJjcDk0OVwiLFxuICAgICAgXCJrb3JlYW5cIjogXCJjcDk0OVwiLFxuICAgICAgXCJrc2M1NjAxMTk4N1wiOiBcImNwOTQ5XCIsXG4gICAgICBcImtzYzU2MDExOTg5XCI6IFwiY3A5NDlcIixcbiAgICAgIFwia3NjNTYwMVwiOiBcImNwOTQ5XCIsXG4gICAgICAvLyA9PSBCaWc1L1RhaXdhbi9Ib25nIEtvbmcgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICAgICAvLyBUaGVyZSBhcmUgbG90cyBvZiB0YWJsZXMgZm9yIEJpZzUgYW5kIGNwOTUwLiBQbGVhc2Ugc2VlIHRoZSBmb2xsb3dpbmcgbGlua3MgZm9yIGhpc3Rvcnk6XG4gICAgICAvLyBodHRwOi8vbW96dHcub3JnL2RvY3MvYmlnNS8gIGh0dHA6Ly93d3cuaGFpYmxlLmRlL2JydW5vL2NoYXJzZXRzL2NvbnZlcnNpb24tdGFibGVzL0JpZzUuaHRtbFxuICAgICAgLy8gVmFyaWF0aW9ucywgaW4gcm91Z2hseSBudW1iZXIgb2YgZGVmaW5lZCBjaGFyczpcbiAgICAgIC8vICAqIFdpbmRvd3MgQ1AgOTUwOiBNaWNyb3NvZnQgdmFyaWFudCBvZiBCaWc1LiBDYW5vbmljYWw6IGh0dHA6Ly93d3cudW5pY29kZS5vcmcvUHVibGljL01BUFBJTkdTL1ZFTkRPUlMvTUlDU0ZUL1dJTkRPV1MvQ1A5NTAuVFhUXG4gICAgICAvLyAgKiBXaW5kb3dzIENQIDk1MTogTWljcm9zb2Z0IHZhcmlhbnQgb2YgQmlnNS1IS1NDUy0yMDAxLiBTZWVtcyB0byBiZSBuZXZlciBwdWJsaWMuIGh0dHA6Ly9tZS5hYmVsY2hldW5nLm9yZy9hcnRpY2xlcy9yZXNlYXJjaC93aGF0LWlzLWNwOTUxL1xuICAgICAgLy8gICogQmlnNS0yMDAzIChUYWl3YW4gc3RhbmRhcmQpIGFsbW9zdCBzdXBlcnNldCBvZiBjcDk1MC5cbiAgICAgIC8vICAqIFVuaWNvZGUtYXQtb24gKFVBTykgLyBNb3ppbGxhIDEuOC4gRmFsbGluZyBvdXQgb2YgdXNlIG9uIHRoZSBXZWIuIE5vdCBzdXBwb3J0ZWQgYnkgb3RoZXIgYnJvd3NlcnMuXG4gICAgICAvLyAgKiBCaWc1LUhLU0NTICgtMjAwMSwgLTIwMDQsIC0yMDA4KS4gSG9uZyBLb25nIHN0YW5kYXJkLiBcbiAgICAgIC8vICAgIG1hbnkgdW5pY29kZSBjb2RlIHBvaW50cyBtb3ZlZCBmcm9tIFBVQSB0byBTdXBwbGVtZW50YXJ5IHBsYW5lIChVKzJYWFhYKSBvdmVyIHRoZSB5ZWFycy5cbiAgICAgIC8vICAgIFBsdXMsIGl0IGhhcyA0IGNvbWJpbmluZyBzZXF1ZW5jZXMuXG4gICAgICAvLyAgICBTZWVtcyB0aGF0IE1vemlsbGEgcmVmdXNlZCB0byBzdXBwb3J0IGl0IGZvciAxMCB5cnMuIGh0dHBzOi8vYnVnemlsbGEubW96aWxsYS5vcmcvc2hvd19idWcuY2dpP2lkPTE2MjQzMSBodHRwczovL2J1Z3ppbGxhLm1vemlsbGEub3JnL3Nob3dfYnVnLmNnaT9pZD0zMTAyOTlcbiAgICAgIC8vICAgIGJlY2F1c2UgYmlnNS1oa3NjcyBpcyB0aGUgb25seSBlbmNvZGluZyB0byBpbmNsdWRlIGFzdHJhbCBjaGFyYWN0ZXJzIGluIG5vbi1hbGdvcml0aG1pYyB3YXkuXG4gICAgICAvLyAgICBJbXBsZW1lbnRhdGlvbnMgYXJlIG5vdCBjb25zaXN0ZW50IHdpdGhpbiBicm93c2Vyczsgc29tZXRpbWVzIGxhYmVsZWQgYXMganVzdCBiaWc1LlxuICAgICAgLy8gICAgTVMgSW50ZXJuZXQgRXhwbG9yZXIgc3dpdGNoZXMgZnJvbSBiaWc1IHRvIGJpZzUtaGtzY3Mgd2hlbiBhIHBhdGNoIGFwcGxpZWQuXG4gICAgICAvLyAgICBHcmVhdCBkaXNjdXNzaW9uICYgcmVjYXAgb2Ygd2hhdCdzIGdvaW5nIG9uIGh0dHBzOi8vYnVnemlsbGEubW96aWxsYS5vcmcvc2hvd19idWcuY2dpP2lkPTkxMjQ3MCNjMzFcbiAgICAgIC8vICAgIEluIHRoZSBlbmNvZGVyLCBpdCBtaWdodCBtYWtlIHNlbnNlIHRvIHN1cHBvcnQgZW5jb2Rpbmcgb2xkIFBVQSBtYXBwaW5ncyB0byBCaWc1IGJ5dGVzIHNlcS1zLlxuICAgICAgLy8gICAgT2ZmaWNpYWwgc3BlYzogaHR0cDovL3d3dy5vZ2Npby5nb3YuaGsvZW4vYnVzaW5lc3MvdGVjaF9wcm9tb3Rpb24vY2NsaS90ZXJtcy9kb2MvMjAwM2NtcF8yMDA4LnR4dFxuICAgICAgLy8gICAgICAgICAgICAgICAgICAgaHR0cDovL3d3dy5vZ2Npby5nb3YuaGsvdGMvYnVzaW5lc3MvdGVjaF9wcm9tb3Rpb24vY2NsaS90ZXJtcy9kb2MvaGtzY3MtMjAwOC1iaWc1LWlzby50eHRcbiAgICAgIC8vIFxuICAgICAgLy8gQ3VycmVudCB1bmRlcnN0YW5kaW5nIG9mIGhvdyB0byBkZWFsIHdpdGggQmlnNSgtSEtTQ1MpIGlzIGluIHRoZSBFbmNvZGluZyBTdGFuZGFyZCwgaHR0cDovL2VuY29kaW5nLnNwZWMud2hhdHdnLm9yZy8jYmlnNS1lbmNvZGVyXG4gICAgICAvLyBVbmljb2RlIG1hcHBpbmcgKGh0dHA6Ly93d3cudW5pY29kZS5vcmcvUHVibGljL01BUFBJTkdTL09CU09MRVRFL0VBU1RBU0lBL09USEVSL0JJRzUuVFhUKSBpcyBzYWlkIHRvIGJlIHdyb25nLlxuICAgICAgXCJ3aW5kb3dzOTUwXCI6IFwiY3A5NTBcIixcbiAgICAgIFwibXM5NTBcIjogXCJjcDk1MFwiLFxuICAgICAgXCI5NTBcIjogXCJjcDk1MFwiLFxuICAgICAgXCJjcDk1MFwiOiB7XG4gICAgICAgIHR5cGU6IFwiX2RiY3NcIixcbiAgICAgICAgdGFibGU6IGZ1bmN0aW9uKCkge1xuICAgICAgICAgIHJldHVybiByZXF1aXJlX2NwOTUwKCk7XG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgICAvLyBCaWc1IGhhcyBtYW55IHZhcmlhdGlvbnMgYW5kIGlzIGFuIGV4dGVuc2lvbiBvZiBjcDk1MC4gV2UgdXNlIEVuY29kaW5nIFN0YW5kYXJkJ3MgYXMgYSBjb25zZW5zdXMuXG4gICAgICBcImJpZzVcIjogXCJiaWc1aGtzY3NcIixcbiAgICAgIFwiYmlnNWhrc2NzXCI6IHtcbiAgICAgICAgdHlwZTogXCJfZGJjc1wiLFxuICAgICAgICB0YWJsZTogZnVuY3Rpb24oKSB7XG4gICAgICAgICAgcmV0dXJuIHJlcXVpcmVfY3A5NTAoKS5jb25jYXQocmVxdWlyZV9iaWc1X2FkZGVkKCkpO1xuICAgICAgICB9LFxuICAgICAgICBlbmNvZGVTa2lwVmFsczogW1xuICAgICAgICAgIC8vIEFsdGhvdWdoIEVuY29kaW5nIFN0YW5kYXJkIHNheXMgd2Ugc2hvdWxkIGF2b2lkIGVuY29kaW5nIHRvIEhLU0NTIGFyZWEgKFNlZSBTdGVwIDEgb2ZcbiAgICAgICAgICAvLyBodHRwczovL2VuY29kaW5nLnNwZWMud2hhdHdnLm9yZy8jaW5kZXgtYmlnNS1wb2ludGVyKSwgd2Ugc3RpbGwgZG8gaXQgdG8gaW5jcmVhc2UgY29tcGF0aWJpbGl0eSB3aXRoIElDVS5cbiAgICAgICAgICAvLyBCdXQgaWYgYSBzaW5nbGUgdW5pY29kZSBwb2ludCBjYW4gYmUgZW5jb2RlZCBib3RoIGFzIEhLU0NTIGFuZCByZWd1bGFyIEJpZzUsIHdlIHByZWZlciB0aGUgbGF0dGVyLlxuICAgICAgICAgIDM2NDU3LFxuICAgICAgICAgIDM2NDYzLFxuICAgICAgICAgIDM2NDc4LFxuICAgICAgICAgIDM2NTIzLFxuICAgICAgICAgIDM2NTMyLFxuICAgICAgICAgIDM2NTU3LFxuICAgICAgICAgIDM2NTYwLFxuICAgICAgICAgIDM2Njk1LFxuICAgICAgICAgIDM2NzEzLFxuICAgICAgICAgIDM2NzE4LFxuICAgICAgICAgIDM2ODExLFxuICAgICAgICAgIDM2ODYyLFxuICAgICAgICAgIDM2OTczLFxuICAgICAgICAgIDM2OTg2LFxuICAgICAgICAgIDM3MDYwLFxuICAgICAgICAgIDM3MDg0LFxuICAgICAgICAgIDM3MTA1LFxuICAgICAgICAgIDM3MzExLFxuICAgICAgICAgIDM3NTUxLFxuICAgICAgICAgIDM3NTUyLFxuICAgICAgICAgIDM3NTUzLFxuICAgICAgICAgIDM3NTU0LFxuICAgICAgICAgIDM3NTg1LFxuICAgICAgICAgIDM3OTU5LFxuICAgICAgICAgIDM4MDkwLFxuICAgICAgICAgIDM4MzYxLFxuICAgICAgICAgIDM4NjUyLFxuICAgICAgICAgIDM5Mjg1LFxuICAgICAgICAgIDM5Nzk4LFxuICAgICAgICAgIDM5ODAwLFxuICAgICAgICAgIDM5ODAzLFxuICAgICAgICAgIDM5ODc4LFxuICAgICAgICAgIDM5OTAyLFxuICAgICAgICAgIDM5OTE2LFxuICAgICAgICAgIDM5OTI2LFxuICAgICAgICAgIDQwMDAyLFxuICAgICAgICAgIDQwMDE5LFxuICAgICAgICAgIDQwMDM0LFxuICAgICAgICAgIDQwMDQwLFxuICAgICAgICAgIDQwMDQzLFxuICAgICAgICAgIDQwMDU1LFxuICAgICAgICAgIDQwMTI0LFxuICAgICAgICAgIDQwMTI1LFxuICAgICAgICAgIDQwMTQ0LFxuICAgICAgICAgIDQwMjc5LFxuICAgICAgICAgIDQwMjgyLFxuICAgICAgICAgIDQwMzg4LFxuICAgICAgICAgIDQwNDMxLFxuICAgICAgICAgIDQwNDQzLFxuICAgICAgICAgIDQwNjE3LFxuICAgICAgICAgIDQwNjg3LFxuICAgICAgICAgIDQwNzAxLFxuICAgICAgICAgIDQwODAwLFxuICAgICAgICAgIDQwOTA3LFxuICAgICAgICAgIDQxMDc5LFxuICAgICAgICAgIDQxMTgwLFxuICAgICAgICAgIDQxMTgzLFxuICAgICAgICAgIDM2ODEyLFxuICAgICAgICAgIDM3NTc2LFxuICAgICAgICAgIDM4NDY4LFxuICAgICAgICAgIDM4NjM3LFxuICAgICAgICAgIC8vIFN0ZXAgMiBvZiBodHRwczovL2VuY29kaW5nLnNwZWMud2hhdHdnLm9yZy8jaW5kZXgtYmlnNS1wb2ludGVyOiBVc2UgbGFzdCBwb2ludGVyIGZvciBVKzI1NTAsIFUrMjU1RSwgVSsyNTYxLCBVKzI1NkEsIFUrNTM0MSwgb3IgVSs1MzQ1XG4gICAgICAgICAgNDE2MzYsXG4gICAgICAgICAgNDE2MzcsXG4gICAgICAgICAgNDE2MzksXG4gICAgICAgICAgNDE2MzgsXG4gICAgICAgICAgNDE2NzYsXG4gICAgICAgICAgNDE2NzhcbiAgICAgICAgXVxuICAgICAgfSxcbiAgICAgIFwiY25iaWc1XCI6IFwiYmlnNWhrc2NzXCIsXG4gICAgICBcImNzYmlnNVwiOiBcImJpZzVoa3Njc1wiLFxuICAgICAgXCJ4eGJpZzVcIjogXCJiaWc1aGtzY3NcIlxuICAgIH07XG4gIH1cbn0pO1xuXG4vLyBub2RlX21vZHVsZXMvcmF3LWJvZHkvbm9kZV9tb2R1bGVzL2ljb252LWxpdGUvZW5jb2RpbmdzL2luZGV4LmpzXG52YXIgcmVxdWlyZV9lbmNvZGluZ3MgPSBfX2NvbW1vbkpTKHtcbiAgXCJub2RlX21vZHVsZXMvcmF3LWJvZHkvbm9kZV9tb2R1bGVzL2ljb252LWxpdGUvZW5jb2RpbmdzL2luZGV4LmpzXCIoZXhwb3J0czIsIG1vZHVsZTIpIHtcbiAgICBcInVzZSBzdHJpY3RcIjtcbiAgICB2YXIgbW9kdWxlcyA9IFtcbiAgICAgIHJlcXVpcmVfaW50ZXJuYWwoKSxcbiAgICAgIHJlcXVpcmVfdXRmMzIoKSxcbiAgICAgIHJlcXVpcmVfdXRmMTYoKSxcbiAgICAgIHJlcXVpcmVfdXRmNygpLFxuICAgICAgcmVxdWlyZV9zYmNzX2NvZGVjKCksXG4gICAgICByZXF1aXJlX3NiY3NfZGF0YSgpLFxuICAgICAgcmVxdWlyZV9zYmNzX2RhdGFfZ2VuZXJhdGVkKCksXG4gICAgICByZXF1aXJlX2RiY3NfY29kZWMoKSxcbiAgICAgIHJlcXVpcmVfZGJjc19kYXRhKClcbiAgICBdO1xuICAgIGZvciAoaSA9IDA7IGkgPCBtb2R1bGVzLmxlbmd0aDsgaSsrKSB7XG4gICAgICBtb2R1bGUyID0gbW9kdWxlc1tpXTtcbiAgICAgIGZvciAoZW5jIGluIG1vZHVsZTIpXG4gICAgICAgIGlmIChPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwobW9kdWxlMiwgZW5jKSlcbiAgICAgICAgICBleHBvcnRzMltlbmNdID0gbW9kdWxlMltlbmNdO1xuICAgIH1cbiAgICB2YXIgbW9kdWxlMjtcbiAgICB2YXIgZW5jO1xuICAgIHZhciBpO1xuICB9XG59KTtcblxuLy8gbm9kZV9tb2R1bGVzL3Jhdy1ib2R5L25vZGVfbW9kdWxlcy9pY29udi1saXRlL2xpYi9zdHJlYW1zLmpzXG52YXIgcmVxdWlyZV9zdHJlYW1zID0gX19jb21tb25KUyh7XG4gIFwibm9kZV9tb2R1bGVzL3Jhdy1ib2R5L25vZGVfbW9kdWxlcy9pY29udi1saXRlL2xpYi9zdHJlYW1zLmpzXCIoZXhwb3J0czIsIG1vZHVsZTIpIHtcbiAgICBcInVzZSBzdHJpY3RcIjtcbiAgICB2YXIgQnVmZmVyMiA9IHJlcXVpcmVfc2FmZXIoKS5CdWZmZXI7XG4gICAgbW9kdWxlMi5leHBvcnRzID0gZnVuY3Rpb24oc3RyZWFtX21vZHVsZSkge1xuICAgICAgdmFyIFRyYW5zZm9ybSA9IHN0cmVhbV9tb2R1bGUuVHJhbnNmb3JtO1xuICAgICAgZnVuY3Rpb24gSWNvbnZMaXRlRW5jb2RlclN0cmVhbShjb252LCBvcHRpb25zKSB7XG4gICAgICAgIHRoaXMuY29udiA9IGNvbnY7XG4gICAgICAgIG9wdGlvbnMgPSBvcHRpb25zIHx8IHt9O1xuICAgICAgICBvcHRpb25zLmRlY29kZVN0cmluZ3MgPSBmYWxzZTtcbiAgICAgICAgVHJhbnNmb3JtLmNhbGwodGhpcywgb3B0aW9ucyk7XG4gICAgICB9XG4gICAgICBJY29udkxpdGVFbmNvZGVyU3RyZWFtLnByb3RvdHlwZSA9IE9iamVjdC5jcmVhdGUoVHJhbnNmb3JtLnByb3RvdHlwZSwge1xuICAgICAgICBjb25zdHJ1Y3RvcjogeyB2YWx1ZTogSWNvbnZMaXRlRW5jb2RlclN0cmVhbSB9XG4gICAgICB9KTtcbiAgICAgIEljb252TGl0ZUVuY29kZXJTdHJlYW0ucHJvdG90eXBlLl90cmFuc2Zvcm0gPSBmdW5jdGlvbihjaHVuaywgZW5jb2RpbmcsIGRvbmUpIHtcbiAgICAgICAgaWYgKHR5cGVvZiBjaHVuayAhPSBcInN0cmluZ1wiKVxuICAgICAgICAgIHJldHVybiBkb25lKG5ldyBFcnJvcihcIkljb252IGVuY29kaW5nIHN0cmVhbSBuZWVkcyBzdHJpbmdzIGFzIGl0cyBpbnB1dC5cIikpO1xuICAgICAgICB0cnkge1xuICAgICAgICAgIHZhciByZXMgPSB0aGlzLmNvbnYud3JpdGUoY2h1bmspO1xuICAgICAgICAgIGlmIChyZXMgJiYgcmVzLmxlbmd0aCkgdGhpcy5wdXNoKHJlcyk7XG4gICAgICAgICAgZG9uZSgpO1xuICAgICAgICB9IGNhdGNoIChlKSB7XG4gICAgICAgICAgZG9uZShlKTtcbiAgICAgICAgfVxuICAgICAgfTtcbiAgICAgIEljb252TGl0ZUVuY29kZXJTdHJlYW0ucHJvdG90eXBlLl9mbHVzaCA9IGZ1bmN0aW9uKGRvbmUpIHtcbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICB2YXIgcmVzID0gdGhpcy5jb252LmVuZCgpO1xuICAgICAgICAgIGlmIChyZXMgJiYgcmVzLmxlbmd0aCkgdGhpcy5wdXNoKHJlcyk7XG4gICAgICAgICAgZG9uZSgpO1xuICAgICAgICB9IGNhdGNoIChlKSB7XG4gICAgICAgICAgZG9uZShlKTtcbiAgICAgICAgfVxuICAgICAgfTtcbiAgICAgIEljb252TGl0ZUVuY29kZXJTdHJlYW0ucHJvdG90eXBlLmNvbGxlY3QgPSBmdW5jdGlvbihjYikge1xuICAgICAgICB2YXIgY2h1bmtzID0gW107XG4gICAgICAgIHRoaXMub24oXCJlcnJvclwiLCBjYik7XG4gICAgICAgIHRoaXMub24oXCJkYXRhXCIsIGZ1bmN0aW9uKGNodW5rKSB7XG4gICAgICAgICAgY2h1bmtzLnB1c2goY2h1bmspO1xuICAgICAgICB9KTtcbiAgICAgICAgdGhpcy5vbihcImVuZFwiLCBmdW5jdGlvbigpIHtcbiAgICAgICAgICBjYihudWxsLCBCdWZmZXIyLmNvbmNhdChjaHVua3MpKTtcbiAgICAgICAgfSk7XG4gICAgICAgIHJldHVybiB0aGlzO1xuICAgICAgfTtcbiAgICAgIGZ1bmN0aW9uIEljb252TGl0ZURlY29kZXJTdHJlYW0oY29udiwgb3B0aW9ucykge1xuICAgICAgICB0aGlzLmNvbnYgPSBjb252O1xuICAgICAgICBvcHRpb25zID0gb3B0aW9ucyB8fCB7fTtcbiAgICAgICAgb3B0aW9ucy5lbmNvZGluZyA9IHRoaXMuZW5jb2RpbmcgPSBcInV0ZjhcIjtcbiAgICAgICAgVHJhbnNmb3JtLmNhbGwodGhpcywgb3B0aW9ucyk7XG4gICAgICB9XG4gICAgICBJY29udkxpdGVEZWNvZGVyU3RyZWFtLnByb3RvdHlwZSA9IE9iamVjdC5jcmVhdGUoVHJhbnNmb3JtLnByb3RvdHlwZSwge1xuICAgICAgICBjb25zdHJ1Y3RvcjogeyB2YWx1ZTogSWNvbnZMaXRlRGVjb2RlclN0cmVhbSB9XG4gICAgICB9KTtcbiAgICAgIEljb252TGl0ZURlY29kZXJTdHJlYW0ucHJvdG90eXBlLl90cmFuc2Zvcm0gPSBmdW5jdGlvbihjaHVuaywgZW5jb2RpbmcsIGRvbmUpIHtcbiAgICAgICAgaWYgKCFCdWZmZXIyLmlzQnVmZmVyKGNodW5rKSAmJiAhKGNodW5rIGluc3RhbmNlb2YgVWludDhBcnJheSkpXG4gICAgICAgICAgcmV0dXJuIGRvbmUobmV3IEVycm9yKFwiSWNvbnYgZGVjb2Rpbmcgc3RyZWFtIG5lZWRzIGJ1ZmZlcnMgYXMgaXRzIGlucHV0LlwiKSk7XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgdmFyIHJlcyA9IHRoaXMuY29udi53cml0ZShjaHVuayk7XG4gICAgICAgICAgaWYgKHJlcyAmJiByZXMubGVuZ3RoKSB0aGlzLnB1c2gocmVzLCB0aGlzLmVuY29kaW5nKTtcbiAgICAgICAgICBkb25lKCk7XG4gICAgICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgICAgICBkb25lKGUpO1xuICAgICAgICB9XG4gICAgICB9O1xuICAgICAgSWNvbnZMaXRlRGVjb2RlclN0cmVhbS5wcm90b3R5cGUuX2ZsdXNoID0gZnVuY3Rpb24oZG9uZSkge1xuICAgICAgICB0cnkge1xuICAgICAgICAgIHZhciByZXMgPSB0aGlzLmNvbnYuZW5kKCk7XG4gICAgICAgICAgaWYgKHJlcyAmJiByZXMubGVuZ3RoKSB0aGlzLnB1c2gocmVzLCB0aGlzLmVuY29kaW5nKTtcbiAgICAgICAgICBkb25lKCk7XG4gICAgICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgICAgICBkb25lKGUpO1xuICAgICAgICB9XG4gICAgICB9O1xuICAgICAgSWNvbnZMaXRlRGVjb2RlclN0cmVhbS5wcm90b3R5cGUuY29sbGVjdCA9IGZ1bmN0aW9uKGNiKSB7XG4gICAgICAgIHZhciByZXMgPSBcIlwiO1xuICAgICAgICB0aGlzLm9uKFwiZXJyb3JcIiwgY2IpO1xuICAgICAgICB0aGlzLm9uKFwiZGF0YVwiLCBmdW5jdGlvbihjaHVuaykge1xuICAgICAgICAgIHJlcyArPSBjaHVuaztcbiAgICAgICAgfSk7XG4gICAgICAgIHRoaXMub24oXCJlbmRcIiwgZnVuY3Rpb24oKSB7XG4gICAgICAgICAgY2IobnVsbCwgcmVzKTtcbiAgICAgICAgfSk7XG4gICAgICAgIHJldHVybiB0aGlzO1xuICAgICAgfTtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIEljb252TGl0ZUVuY29kZXJTdHJlYW0sXG4gICAgICAgIEljb252TGl0ZURlY29kZXJTdHJlYW1cbiAgICAgIH07XG4gICAgfTtcbiAgfVxufSk7XG5cbi8vIG5vZGVfbW9kdWxlcy9yYXctYm9keS9ub2RlX21vZHVsZXMvaWNvbnYtbGl0ZS9saWIvaW5kZXguanNcbnZhciByZXF1aXJlX2xpYiA9IF9fY29tbW9uSlMoe1xuICBcIm5vZGVfbW9kdWxlcy9yYXctYm9keS9ub2RlX21vZHVsZXMvaWNvbnYtbGl0ZS9saWIvaW5kZXguanNcIihleHBvcnRzMiwgbW9kdWxlMikge1xuICAgIFwidXNlIHN0cmljdFwiO1xuICAgIHZhciBCdWZmZXIyID0gcmVxdWlyZV9zYWZlcigpLkJ1ZmZlcjtcbiAgICB2YXIgYm9tSGFuZGxpbmcgPSByZXF1aXJlX2JvbV9oYW5kbGluZygpO1xuICAgIHZhciBpY29udiA9IG1vZHVsZTIuZXhwb3J0cztcbiAgICBpY29udi5lbmNvZGluZ3MgPSBudWxsO1xuICAgIGljb252LmRlZmF1bHRDaGFyVW5pY29kZSA9IFwiXFx1RkZGRFwiO1xuICAgIGljb252LmRlZmF1bHRDaGFyU2luZ2xlQnl0ZSA9IFwiP1wiO1xuICAgIGljb252LmVuY29kZSA9IGZ1bmN0aW9uIGVuY29kZShzdHIsIGVuY29kaW5nLCBvcHRpb25zKSB7XG4gICAgICBzdHIgPSBcIlwiICsgKHN0ciB8fCBcIlwiKTtcbiAgICAgIHZhciBlbmNvZGVyID0gaWNvbnYuZ2V0RW5jb2RlcihlbmNvZGluZywgb3B0aW9ucyk7XG4gICAgICB2YXIgcmVzID0gZW5jb2Rlci53cml0ZShzdHIpO1xuICAgICAgdmFyIHRyYWlsID0gZW5jb2Rlci5lbmQoKTtcbiAgICAgIHJldHVybiB0cmFpbCAmJiB0cmFpbC5sZW5ndGggPiAwID8gQnVmZmVyMi5jb25jYXQoW3JlcywgdHJhaWxdKSA6IHJlcztcbiAgICB9O1xuICAgIGljb252LmRlY29kZSA9IGZ1bmN0aW9uIGRlY29kZShidWYsIGVuY29kaW5nLCBvcHRpb25zKSB7XG4gICAgICBpZiAodHlwZW9mIGJ1ZiA9PT0gXCJzdHJpbmdcIikge1xuICAgICAgICBpZiAoIWljb252LnNraXBEZWNvZGVXYXJuaW5nKSB7XG4gICAgICAgICAgY29uc29sZS5lcnJvcihcIkljb252LWxpdGUgd2FybmluZzogZGVjb2RlKCktaW5nIHN0cmluZ3MgaXMgZGVwcmVjYXRlZC4gUmVmZXIgdG8gaHR0cHM6Ly9naXRodWIuY29tL2FzaHR1Y2hraW4vaWNvbnYtbGl0ZS93aWtpL1VzZS1CdWZmZXJzLXdoZW4tZGVjb2RpbmdcIik7XG4gICAgICAgICAgaWNvbnYuc2tpcERlY29kZVdhcm5pbmcgPSB0cnVlO1xuICAgICAgICB9XG4gICAgICAgIGJ1ZiA9IEJ1ZmZlcjIuZnJvbShcIlwiICsgKGJ1ZiB8fCBcIlwiKSwgXCJiaW5hcnlcIik7XG4gICAgICB9XG4gICAgICB2YXIgZGVjb2RlciA9IGljb252LmdldERlY29kZXIoZW5jb2RpbmcsIG9wdGlvbnMpO1xuICAgICAgdmFyIHJlcyA9IGRlY29kZXIud3JpdGUoYnVmKTtcbiAgICAgIHZhciB0cmFpbCA9IGRlY29kZXIuZW5kKCk7XG4gICAgICByZXR1cm4gdHJhaWwgPyByZXMgKyB0cmFpbCA6IHJlcztcbiAgICB9O1xuICAgIGljb252LmVuY29kaW5nRXhpc3RzID0gZnVuY3Rpb24gZW5jb2RpbmdFeGlzdHMoZW5jKSB7XG4gICAgICB0cnkge1xuICAgICAgICBpY29udi5nZXRDb2RlYyhlbmMpO1xuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgfVxuICAgIH07XG4gICAgaWNvbnYudG9FbmNvZGluZyA9IGljb252LmVuY29kZTtcbiAgICBpY29udi5mcm9tRW5jb2RpbmcgPSBpY29udi5kZWNvZGU7XG4gICAgaWNvbnYuX2NvZGVjRGF0YUNhY2hlID0ge307XG4gICAgaWNvbnYuZ2V0Q29kZWMgPSBmdW5jdGlvbiBnZXRDb2RlYyhlbmNvZGluZykge1xuICAgICAgaWYgKCFpY29udi5lbmNvZGluZ3MpXG4gICAgICAgIGljb252LmVuY29kaW5ncyA9IHJlcXVpcmVfZW5jb2RpbmdzKCk7XG4gICAgICB2YXIgZW5jID0gaWNvbnYuX2Nhbm9uaWNhbGl6ZUVuY29kaW5nKGVuY29kaW5nKTtcbiAgICAgIHZhciBjb2RlY09wdGlvbnMgPSB7fTtcbiAgICAgIHdoaWxlICh0cnVlKSB7XG4gICAgICAgIHZhciBjb2RlYyA9IGljb252Ll9jb2RlY0RhdGFDYWNoZVtlbmNdO1xuICAgICAgICBpZiAoY29kZWMpXG4gICAgICAgICAgcmV0dXJuIGNvZGVjO1xuICAgICAgICB2YXIgY29kZWNEZWYgPSBpY29udi5lbmNvZGluZ3NbZW5jXTtcbiAgICAgICAgc3dpdGNoICh0eXBlb2YgY29kZWNEZWYpIHtcbiAgICAgICAgICBjYXNlIFwic3RyaW5nXCI6XG4gICAgICAgICAgICBlbmMgPSBjb2RlY0RlZjtcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgIGNhc2UgXCJvYmplY3RcIjpcbiAgICAgICAgICAgIGZvciAodmFyIGtleSBpbiBjb2RlY0RlZilcbiAgICAgICAgICAgICAgY29kZWNPcHRpb25zW2tleV0gPSBjb2RlY0RlZltrZXldO1xuICAgICAgICAgICAgaWYgKCFjb2RlY09wdGlvbnMuZW5jb2RpbmdOYW1lKVxuICAgICAgICAgICAgICBjb2RlY09wdGlvbnMuZW5jb2RpbmdOYW1lID0gZW5jO1xuICAgICAgICAgICAgZW5jID0gY29kZWNEZWYudHlwZTtcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgIGNhc2UgXCJmdW5jdGlvblwiOlxuICAgICAgICAgICAgaWYgKCFjb2RlY09wdGlvbnMuZW5jb2RpbmdOYW1lKVxuICAgICAgICAgICAgICBjb2RlY09wdGlvbnMuZW5jb2RpbmdOYW1lID0gZW5jO1xuICAgICAgICAgICAgY29kZWMgPSBuZXcgY29kZWNEZWYoY29kZWNPcHRpb25zLCBpY29udik7XG4gICAgICAgICAgICBpY29udi5fY29kZWNEYXRhQ2FjaGVbY29kZWNPcHRpb25zLmVuY29kaW5nTmFtZV0gPSBjb2RlYztcbiAgICAgICAgICAgIHJldHVybiBjb2RlYztcbiAgICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKFwiRW5jb2Rpbmcgbm90IHJlY29nbml6ZWQ6ICdcIiArIGVuY29kaW5nICsgXCInIChzZWFyY2hlZCBhczogJ1wiICsgZW5jICsgXCInKVwiKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH07XG4gICAgaWNvbnYuX2Nhbm9uaWNhbGl6ZUVuY29kaW5nID0gZnVuY3Rpb24oZW5jb2RpbmcpIHtcbiAgICAgIHJldHVybiAoXCJcIiArIGVuY29kaW5nKS50b0xvd2VyQ2FzZSgpLnJlcGxhY2UoLzpcXGR7NH0kfFteMC05YS16XS9nLCBcIlwiKTtcbiAgICB9O1xuICAgIGljb252LmdldEVuY29kZXIgPSBmdW5jdGlvbiBnZXRFbmNvZGVyKGVuY29kaW5nLCBvcHRpb25zKSB7XG4gICAgICB2YXIgY29kZWMgPSBpY29udi5nZXRDb2RlYyhlbmNvZGluZyksIGVuY29kZXIgPSBuZXcgY29kZWMuZW5jb2RlcihvcHRpb25zLCBjb2RlYyk7XG4gICAgICBpZiAoY29kZWMuYm9tQXdhcmUgJiYgb3B0aW9ucyAmJiBvcHRpb25zLmFkZEJPTSlcbiAgICAgICAgZW5jb2RlciA9IG5ldyBib21IYW5kbGluZy5QcmVwZW5kQk9NKGVuY29kZXIsIG9wdGlvbnMpO1xuICAgICAgcmV0dXJuIGVuY29kZXI7XG4gICAgfTtcbiAgICBpY29udi5nZXREZWNvZGVyID0gZnVuY3Rpb24gZ2V0RGVjb2RlcihlbmNvZGluZywgb3B0aW9ucykge1xuICAgICAgdmFyIGNvZGVjID0gaWNvbnYuZ2V0Q29kZWMoZW5jb2RpbmcpLCBkZWNvZGVyID0gbmV3IGNvZGVjLmRlY29kZXIob3B0aW9ucywgY29kZWMpO1xuICAgICAgaWYgKGNvZGVjLmJvbUF3YXJlICYmICEob3B0aW9ucyAmJiBvcHRpb25zLnN0cmlwQk9NID09PSBmYWxzZSkpXG4gICAgICAgIGRlY29kZXIgPSBuZXcgYm9tSGFuZGxpbmcuU3RyaXBCT00oZGVjb2Rlciwgb3B0aW9ucyk7XG4gICAgICByZXR1cm4gZGVjb2RlcjtcbiAgICB9O1xuICAgIGljb252LmVuYWJsZVN0cmVhbWluZ0FQSSA9IGZ1bmN0aW9uIGVuYWJsZVN0cmVhbWluZ0FQSShzdHJlYW1fbW9kdWxlMikge1xuICAgICAgaWYgKGljb252LnN1cHBvcnRzU3RyZWFtcylcbiAgICAgICAgcmV0dXJuO1xuICAgICAgdmFyIHN0cmVhbXMgPSByZXF1aXJlX3N0cmVhbXMoKShzdHJlYW1fbW9kdWxlMik7XG4gICAgICBpY29udi5JY29udkxpdGVFbmNvZGVyU3RyZWFtID0gc3RyZWFtcy5JY29udkxpdGVFbmNvZGVyU3RyZWFtO1xuICAgICAgaWNvbnYuSWNvbnZMaXRlRGVjb2RlclN0cmVhbSA9IHN0cmVhbXMuSWNvbnZMaXRlRGVjb2RlclN0cmVhbTtcbiAgICAgIGljb252LmVuY29kZVN0cmVhbSA9IGZ1bmN0aW9uIGVuY29kZVN0cmVhbShlbmNvZGluZywgb3B0aW9ucykge1xuICAgICAgICByZXR1cm4gbmV3IGljb252Lkljb252TGl0ZUVuY29kZXJTdHJlYW0oaWNvbnYuZ2V0RW5jb2RlcihlbmNvZGluZywgb3B0aW9ucyksIG9wdGlvbnMpO1xuICAgICAgfTtcbiAgICAgIGljb252LmRlY29kZVN0cmVhbSA9IGZ1bmN0aW9uIGRlY29kZVN0cmVhbShlbmNvZGluZywgb3B0aW9ucykge1xuICAgICAgICByZXR1cm4gbmV3IGljb252Lkljb252TGl0ZURlY29kZXJTdHJlYW0oaWNvbnYuZ2V0RGVjb2RlcihlbmNvZGluZywgb3B0aW9ucyksIG9wdGlvbnMpO1xuICAgICAgfTtcbiAgICAgIGljb252LnN1cHBvcnRzU3RyZWFtcyA9IHRydWU7XG4gICAgfTtcbiAgICB2YXIgc3RyZWFtX21vZHVsZTtcbiAgICB0cnkge1xuICAgICAgc3RyZWFtX21vZHVsZSA9IHJlcXVpcmUoXCJzdHJlYW1cIik7XG4gICAgfSBjYXRjaCAoZSkge1xuICAgIH1cbiAgICBpZiAoc3RyZWFtX21vZHVsZSAmJiBzdHJlYW1fbW9kdWxlLlRyYW5zZm9ybSkge1xuICAgICAgaWNvbnYuZW5hYmxlU3RyZWFtaW5nQVBJKHN0cmVhbV9tb2R1bGUpO1xuICAgIH0gZWxzZSB7XG4gICAgICBpY29udi5lbmNvZGVTdHJlYW0gPSBpY29udi5kZWNvZGVTdHJlYW0gPSBmdW5jdGlvbigpIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKFwiaWNvbnYtbGl0ZSBTdHJlYW1pbmcgQVBJIGlzIG5vdCBlbmFibGVkLiBVc2UgaWNvbnYuZW5hYmxlU3RyZWFtaW5nQVBJKHJlcXVpcmUoJ3N0cmVhbScpKTsgdG8gZW5hYmxlIGl0LlwiKTtcbiAgICAgIH07XG4gICAgfVxuICAgIGlmIChmYWxzZSkge1xuICAgICAgY29uc29sZS5lcnJvcihcImljb252LWxpdGUgd2FybmluZzoganMgZmlsZXMgdXNlIG5vbi11dGY4IGVuY29kaW5nLiBTZWUgaHR0cHM6Ly9naXRodWIuY29tL2FzaHR1Y2hraW4vaWNvbnYtbGl0ZS93aWtpL0phdmFzY3JpcHQtc291cmNlLWZpbGUtZW5jb2RpbmdzIGZvciBtb3JlIGluZm8uXCIpO1xuICAgIH1cbiAgfVxufSk7XG5cbi8vIG5vZGVfbW9kdWxlcy91bnBpcGUvaW5kZXguanNcbnZhciByZXF1aXJlX3VucGlwZSA9IF9fY29tbW9uSlMoe1xuICBcIm5vZGVfbW9kdWxlcy91bnBpcGUvaW5kZXguanNcIihleHBvcnRzMiwgbW9kdWxlMikge1xuICAgIFwidXNlIHN0cmljdFwiO1xuICAgIG1vZHVsZTIuZXhwb3J0cyA9IHVucGlwZTtcbiAgICBmdW5jdGlvbiBoYXNQaXBlRGF0YUxpc3RlbmVycyhzdHJlYW0pIHtcbiAgICAgIHZhciBsaXN0ZW5lcnMgPSBzdHJlYW0ubGlzdGVuZXJzKFwiZGF0YVwiKTtcbiAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgbGlzdGVuZXJzLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgIGlmIChsaXN0ZW5lcnNbaV0ubmFtZSA9PT0gXCJvbmRhdGFcIikge1xuICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuICAgIGZ1bmN0aW9uIHVucGlwZShzdHJlYW0pIHtcbiAgICAgIGlmICghc3RyZWFtKSB7XG4gICAgICAgIHRocm93IG5ldyBUeXBlRXJyb3IoXCJhcmd1bWVudCBzdHJlYW0gaXMgcmVxdWlyZWRcIik7XG4gICAgICB9XG4gICAgICBpZiAodHlwZW9mIHN0cmVhbS51bnBpcGUgPT09IFwiZnVuY3Rpb25cIikge1xuICAgICAgICBzdHJlYW0udW5waXBlKCk7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cbiAgICAgIGlmICghaGFzUGlwZURhdGFMaXN0ZW5lcnMoc3RyZWFtKSkge1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG4gICAgICB2YXIgbGlzdGVuZXI7XG4gICAgICB2YXIgbGlzdGVuZXJzID0gc3RyZWFtLmxpc3RlbmVycyhcImNsb3NlXCIpO1xuICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBsaXN0ZW5lcnMubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgbGlzdGVuZXIgPSBsaXN0ZW5lcnNbaV07XG4gICAgICAgIGlmIChsaXN0ZW5lci5uYW1lICE9PSBcImNsZWFudXBcIiAmJiBsaXN0ZW5lci5uYW1lICE9PSBcIm9uY2xvc2VcIikge1xuICAgICAgICAgIGNvbnRpbnVlO1xuICAgICAgICB9XG4gICAgICAgIGxpc3RlbmVyLmNhbGwoc3RyZWFtKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn0pO1xuXG4vLyBub2RlX21vZHVsZXMvcmF3LWJvZHkvaW5kZXguanNcbnZhciByZXF1aXJlX3Jhd19ib2R5ID0gX19jb21tb25KUyh7XG4gIFwibm9kZV9tb2R1bGVzL3Jhdy1ib2R5L2luZGV4LmpzXCIoZXhwb3J0czIsIG1vZHVsZTIpIHtcbiAgICBcInVzZSBzdHJpY3RcIjtcbiAgICB2YXIgYXN5bmNIb29rcyA9IHRyeVJlcXVpcmVBc3luY0hvb2tzKCk7XG4gICAgdmFyIGJ5dGVzID0gcmVxdWlyZV9ieXRlcygpO1xuICAgIHZhciBjcmVhdGVFcnJvciA9IHJlcXVpcmVfaHR0cF9lcnJvcnMoKTtcbiAgICB2YXIgaWNvbnYgPSByZXF1aXJlX2xpYigpO1xuICAgIHZhciB1bnBpcGUgPSByZXF1aXJlX3VucGlwZSgpO1xuICAgIG1vZHVsZTIuZXhwb3J0cyA9IGdldFJhd0JvZHkyO1xuICAgIHZhciBJQ09OVl9FTkNPRElOR19NRVNTQUdFX1JFR0VYUCA9IC9eRW5jb2Rpbmcgbm90IHJlY29nbml6ZWQ6IC87XG4gICAgZnVuY3Rpb24gZ2V0RGVjb2RlcihlbmNvZGluZykge1xuICAgICAgaWYgKCFlbmNvZGluZykgcmV0dXJuIG51bGw7XG4gICAgICB0cnkge1xuICAgICAgICByZXR1cm4gaWNvbnYuZ2V0RGVjb2RlcihlbmNvZGluZyk7XG4gICAgICB9IGNhdGNoIChlKSB7XG4gICAgICAgIGlmICghSUNPTlZfRU5DT0RJTkdfTUVTU0FHRV9SRUdFWFAudGVzdChlLm1lc3NhZ2UpKSB0aHJvdyBlO1xuICAgICAgICB0aHJvdyBjcmVhdGVFcnJvcig0MTUsIFwic3BlY2lmaWVkIGVuY29kaW5nIHVuc3VwcG9ydGVkXCIsIHtcbiAgICAgICAgICBlbmNvZGluZyxcbiAgICAgICAgICB0eXBlOiBcImVuY29kaW5nLnVuc3VwcG9ydGVkXCJcbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgfVxuICAgIGZ1bmN0aW9uIGdldFJhd0JvZHkyKHN0cmVhbSwgb3B0aW9ucywgY2FsbGJhY2spIHtcbiAgICAgIHZhciBkb25lID0gY2FsbGJhY2s7XG4gICAgICB2YXIgb3B0cyA9IG9wdGlvbnMgfHwge307XG4gICAgICBpZiAoc3RyZWFtID09PSB2b2lkIDApIHtcbiAgICAgICAgdGhyb3cgbmV3IFR5cGVFcnJvcihcImFyZ3VtZW50IHN0cmVhbSBpcyByZXF1aXJlZFwiKTtcbiAgICAgIH0gZWxzZSBpZiAodHlwZW9mIHN0cmVhbSAhPT0gXCJvYmplY3RcIiB8fCBzdHJlYW0gPT09IG51bGwgfHwgdHlwZW9mIHN0cmVhbS5vbiAhPT0gXCJmdW5jdGlvblwiKSB7XG4gICAgICAgIHRocm93IG5ldyBUeXBlRXJyb3IoXCJhcmd1bWVudCBzdHJlYW0gbXVzdCBiZSBhIHN0cmVhbVwiKTtcbiAgICAgIH1cbiAgICAgIGlmIChvcHRpb25zID09PSB0cnVlIHx8IHR5cGVvZiBvcHRpb25zID09PSBcInN0cmluZ1wiKSB7XG4gICAgICAgIG9wdHMgPSB7XG4gICAgICAgICAgZW5jb2Rpbmc6IG9wdGlvbnNcbiAgICAgICAgfTtcbiAgICAgIH1cbiAgICAgIGlmICh0eXBlb2Ygb3B0aW9ucyA9PT0gXCJmdW5jdGlvblwiKSB7XG4gICAgICAgIGRvbmUgPSBvcHRpb25zO1xuICAgICAgICBvcHRzID0ge307XG4gICAgICB9XG4gICAgICBpZiAoZG9uZSAhPT0gdm9pZCAwICYmIHR5cGVvZiBkb25lICE9PSBcImZ1bmN0aW9uXCIpIHtcbiAgICAgICAgdGhyb3cgbmV3IFR5cGVFcnJvcihcImFyZ3VtZW50IGNhbGxiYWNrIG11c3QgYmUgYSBmdW5jdGlvblwiKTtcbiAgICAgIH1cbiAgICAgIGlmICghZG9uZSAmJiAhZ2xvYmFsLlByb21pc2UpIHtcbiAgICAgICAgdGhyb3cgbmV3IFR5cGVFcnJvcihcImFyZ3VtZW50IGNhbGxiYWNrIGlzIHJlcXVpcmVkXCIpO1xuICAgICAgfVxuICAgICAgdmFyIGVuY29kaW5nID0gb3B0cy5lbmNvZGluZyAhPT0gdHJ1ZSA/IG9wdHMuZW5jb2RpbmcgOiBcInV0Zi04XCI7XG4gICAgICB2YXIgbGltaXQgPSBieXRlcy5wYXJzZShvcHRzLmxpbWl0KTtcbiAgICAgIHZhciBsZW5ndGggPSBvcHRzLmxlbmd0aCAhPSBudWxsICYmICFpc05hTihvcHRzLmxlbmd0aCkgPyBwYXJzZUludChvcHRzLmxlbmd0aCwgMTApIDogbnVsbDtcbiAgICAgIGlmIChkb25lKSB7XG4gICAgICAgIHJldHVybiByZWFkU3RyZWFtKHN0cmVhbSwgZW5jb2RpbmcsIGxlbmd0aCwgbGltaXQsIHdyYXAoZG9uZSkpO1xuICAgICAgfVxuICAgICAgcmV0dXJuIG5ldyBQcm9taXNlKGZ1bmN0aW9uIGV4ZWN1dG9yKHJlc29sdmUsIHJlamVjdCkge1xuICAgICAgICByZWFkU3RyZWFtKHN0cmVhbSwgZW5jb2RpbmcsIGxlbmd0aCwgbGltaXQsIGZ1bmN0aW9uIG9uUmVhZChlcnIyLCBidWYpIHtcbiAgICAgICAgICBpZiAoZXJyMikgcmV0dXJuIHJlamVjdChlcnIyKTtcbiAgICAgICAgICByZXNvbHZlKGJ1Zik7XG4gICAgICAgIH0pO1xuICAgICAgfSk7XG4gICAgfVxuICAgIGZ1bmN0aW9uIGhhbHQoc3RyZWFtKSB7XG4gICAgICB1bnBpcGUoc3RyZWFtKTtcbiAgICAgIGlmICh0eXBlb2Ygc3RyZWFtLnBhdXNlID09PSBcImZ1bmN0aW9uXCIpIHtcbiAgICAgICAgc3RyZWFtLnBhdXNlKCk7XG4gICAgICB9XG4gICAgfVxuICAgIGZ1bmN0aW9uIHJlYWRTdHJlYW0oc3RyZWFtLCBlbmNvZGluZywgbGVuZ3RoLCBsaW1pdCwgY2FsbGJhY2spIHtcbiAgICAgIHZhciBjb21wbGV0ZSA9IGZhbHNlO1xuICAgICAgdmFyIHN5bmMgPSB0cnVlO1xuICAgICAgaWYgKGxpbWl0ICE9PSBudWxsICYmIGxlbmd0aCAhPT0gbnVsbCAmJiBsZW5ndGggPiBsaW1pdCkge1xuICAgICAgICByZXR1cm4gZG9uZShjcmVhdGVFcnJvcig0MTMsIFwicmVxdWVzdCBlbnRpdHkgdG9vIGxhcmdlXCIsIHtcbiAgICAgICAgICBleHBlY3RlZDogbGVuZ3RoLFxuICAgICAgICAgIGxlbmd0aCxcbiAgICAgICAgICBsaW1pdCxcbiAgICAgICAgICB0eXBlOiBcImVudGl0eS50b28ubGFyZ2VcIlxuICAgICAgICB9KSk7XG4gICAgICB9XG4gICAgICB2YXIgc3RhdGUgPSBzdHJlYW0uX3JlYWRhYmxlU3RhdGU7XG4gICAgICBpZiAoc3RyZWFtLl9kZWNvZGVyIHx8IHN0YXRlICYmIChzdGF0ZS5lbmNvZGluZyB8fCBzdGF0ZS5kZWNvZGVyKSkge1xuICAgICAgICByZXR1cm4gZG9uZShjcmVhdGVFcnJvcig1MDAsIFwic3RyZWFtIGVuY29kaW5nIHNob3VsZCBub3QgYmUgc2V0XCIsIHtcbiAgICAgICAgICB0eXBlOiBcInN0cmVhbS5lbmNvZGluZy5zZXRcIlxuICAgICAgICB9KSk7XG4gICAgICB9XG4gICAgICBpZiAodHlwZW9mIHN0cmVhbS5yZWFkYWJsZSAhPT0gXCJ1bmRlZmluZWRcIiAmJiAhc3RyZWFtLnJlYWRhYmxlKSB7XG4gICAgICAgIHJldHVybiBkb25lKGNyZWF0ZUVycm9yKDUwMCwgXCJzdHJlYW0gaXMgbm90IHJlYWRhYmxlXCIsIHtcbiAgICAgICAgICB0eXBlOiBcInN0cmVhbS5ub3QucmVhZGFibGVcIlxuICAgICAgICB9KSk7XG4gICAgICB9XG4gICAgICB2YXIgcmVjZWl2ZWQgPSAwO1xuICAgICAgdmFyIGRlY29kZXI7XG4gICAgICB0cnkge1xuICAgICAgICBkZWNvZGVyID0gZ2V0RGVjb2RlcihlbmNvZGluZyk7XG4gICAgICB9IGNhdGNoIChlcnIyKSB7XG4gICAgICAgIHJldHVybiBkb25lKGVycjIpO1xuICAgICAgfVxuICAgICAgdmFyIGJ1ZmZlciA9IGRlY29kZXIgPyBcIlwiIDogW107XG4gICAgICBzdHJlYW0ub24oXCJhYm9ydGVkXCIsIG9uQWJvcnRlZCk7XG4gICAgICBzdHJlYW0ub24oXCJjbG9zZVwiLCBjbGVhbnVwKTtcbiAgICAgIHN0cmVhbS5vbihcImRhdGFcIiwgb25EYXRhKTtcbiAgICAgIHN0cmVhbS5vbihcImVuZFwiLCBvbkVuZCk7XG4gICAgICBzdHJlYW0ub24oXCJlcnJvclwiLCBvbkVuZCk7XG4gICAgICBzeW5jID0gZmFsc2U7XG4gICAgICBmdW5jdGlvbiBkb25lKCkge1xuICAgICAgICB2YXIgYXJncyA9IG5ldyBBcnJheShhcmd1bWVudHMubGVuZ3RoKTtcbiAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBhcmdzLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgICAgYXJnc1tpXSA9IGFyZ3VtZW50c1tpXTtcbiAgICAgICAgfVxuICAgICAgICBjb21wbGV0ZSA9IHRydWU7XG4gICAgICAgIGlmIChzeW5jKSB7XG4gICAgICAgICAgcHJvY2Vzcy5uZXh0VGljayhpbnZva2VDYWxsYmFjayk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgaW52b2tlQ2FsbGJhY2soKTtcbiAgICAgICAgfVxuICAgICAgICBmdW5jdGlvbiBpbnZva2VDYWxsYmFjaygpIHtcbiAgICAgICAgICBjbGVhbnVwKCk7XG4gICAgICAgICAgaWYgKGFyZ3NbMF0pIHtcbiAgICAgICAgICAgIGhhbHQoc3RyZWFtKTtcbiAgICAgICAgICB9XG4gICAgICAgICAgY2FsbGJhY2suYXBwbHkobnVsbCwgYXJncyk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIGZ1bmN0aW9uIG9uQWJvcnRlZCgpIHtcbiAgICAgICAgaWYgKGNvbXBsZXRlKSByZXR1cm47XG4gICAgICAgIGRvbmUoY3JlYXRlRXJyb3IoNDAwLCBcInJlcXVlc3QgYWJvcnRlZFwiLCB7XG4gICAgICAgICAgY29kZTogXCJFQ09OTkFCT1JURURcIixcbiAgICAgICAgICBleHBlY3RlZDogbGVuZ3RoLFxuICAgICAgICAgIGxlbmd0aCxcbiAgICAgICAgICByZWNlaXZlZCxcbiAgICAgICAgICB0eXBlOiBcInJlcXVlc3QuYWJvcnRlZFwiXG4gICAgICAgIH0pKTtcbiAgICAgIH1cbiAgICAgIGZ1bmN0aW9uIG9uRGF0YShjaHVuaykge1xuICAgICAgICBpZiAoY29tcGxldGUpIHJldHVybjtcbiAgICAgICAgcmVjZWl2ZWQgKz0gY2h1bmsubGVuZ3RoO1xuICAgICAgICBpZiAobGltaXQgIT09IG51bGwgJiYgcmVjZWl2ZWQgPiBsaW1pdCkge1xuICAgICAgICAgIGRvbmUoY3JlYXRlRXJyb3IoNDEzLCBcInJlcXVlc3QgZW50aXR5IHRvbyBsYXJnZVwiLCB7XG4gICAgICAgICAgICBsaW1pdCxcbiAgICAgICAgICAgIHJlY2VpdmVkLFxuICAgICAgICAgICAgdHlwZTogXCJlbnRpdHkudG9vLmxhcmdlXCJcbiAgICAgICAgICB9KSk7XG4gICAgICAgIH0gZWxzZSBpZiAoZGVjb2Rlcikge1xuICAgICAgICAgIGJ1ZmZlciArPSBkZWNvZGVyLndyaXRlKGNodW5rKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBidWZmZXIucHVzaChjaHVuayk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIGZ1bmN0aW9uIG9uRW5kKGVycjIpIHtcbiAgICAgICAgaWYgKGNvbXBsZXRlKSByZXR1cm47XG4gICAgICAgIGlmIChlcnIyKSByZXR1cm4gZG9uZShlcnIyKTtcbiAgICAgICAgaWYgKGxlbmd0aCAhPT0gbnVsbCAmJiByZWNlaXZlZCAhPT0gbGVuZ3RoKSB7XG4gICAgICAgICAgZG9uZShjcmVhdGVFcnJvcig0MDAsIFwicmVxdWVzdCBzaXplIGRpZCBub3QgbWF0Y2ggY29udGVudCBsZW5ndGhcIiwge1xuICAgICAgICAgICAgZXhwZWN0ZWQ6IGxlbmd0aCxcbiAgICAgICAgICAgIGxlbmd0aCxcbiAgICAgICAgICAgIHJlY2VpdmVkLFxuICAgICAgICAgICAgdHlwZTogXCJyZXF1ZXN0LnNpemUuaW52YWxpZFwiXG4gICAgICAgICAgfSkpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHZhciBzdHJpbmcgPSBkZWNvZGVyID8gYnVmZmVyICsgKGRlY29kZXIuZW5kKCkgfHwgXCJcIikgOiBCdWZmZXIuY29uY2F0KGJ1ZmZlcik7XG4gICAgICAgICAgZG9uZShudWxsLCBzdHJpbmcpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICBmdW5jdGlvbiBjbGVhbnVwKCkge1xuICAgICAgICBidWZmZXIgPSBudWxsO1xuICAgICAgICBzdHJlYW0ucmVtb3ZlTGlzdGVuZXIoXCJhYm9ydGVkXCIsIG9uQWJvcnRlZCk7XG4gICAgICAgIHN0cmVhbS5yZW1vdmVMaXN0ZW5lcihcImRhdGFcIiwgb25EYXRhKTtcbiAgICAgICAgc3RyZWFtLnJlbW92ZUxpc3RlbmVyKFwiZW5kXCIsIG9uRW5kKTtcbiAgICAgICAgc3RyZWFtLnJlbW92ZUxpc3RlbmVyKFwiZXJyb3JcIiwgb25FbmQpO1xuICAgICAgICBzdHJlYW0ucmVtb3ZlTGlzdGVuZXIoXCJjbG9zZVwiLCBjbGVhbnVwKTtcbiAgICAgIH1cbiAgICB9XG4gICAgZnVuY3Rpb24gdHJ5UmVxdWlyZUFzeW5jSG9va3MoKSB7XG4gICAgICB0cnkge1xuICAgICAgICByZXR1cm4gcmVxdWlyZShcImFzeW5jX2hvb2tzXCIpO1xuICAgICAgfSBjYXRjaCAoZSkge1xuICAgICAgICByZXR1cm4ge307XG4gICAgICB9XG4gICAgfVxuICAgIGZ1bmN0aW9uIHdyYXAoZm4pIHtcbiAgICAgIHZhciByZXM7XG4gICAgICBpZiAoYXN5bmNIb29rcy5Bc3luY1Jlc291cmNlKSB7XG4gICAgICAgIHJlcyA9IG5ldyBhc3luY0hvb2tzLkFzeW5jUmVzb3VyY2UoZm4ubmFtZSB8fCBcImJvdW5kLWFub255bW91cy1mblwiKTtcbiAgICAgIH1cbiAgICAgIGlmICghcmVzIHx8ICFyZXMucnVuSW5Bc3luY1Njb3BlKSB7XG4gICAgICAgIHJldHVybiBmbjtcbiAgICAgIH1cbiAgICAgIHJldHVybiByZXMucnVuSW5Bc3luY1Njb3BlLmJpbmQocmVzLCBmbiwgbnVsbCk7XG4gICAgfVxuICB9XG59KTtcblxuLy8gbm9kZV9tb2R1bGVzL2NvbnRlbnQtdHlwZS9pbmRleC5qc1xudmFyIHJlcXVpcmVfY29udGVudF90eXBlID0gX19jb21tb25KUyh7XG4gIFwibm9kZV9tb2R1bGVzL2NvbnRlbnQtdHlwZS9pbmRleC5qc1wiKGV4cG9ydHMyKSB7XG4gICAgXCJ1c2Ugc3RyaWN0XCI7XG4gICAgdmFyIFBBUkFNX1JFR0VYUCA9IC87ICooWyEjJCUmJyorLl5fYHx+MC05QS1aYS16LV0rKSAqPSAqKFwiKD86W1xcdTAwMGJcXHUwMDIwXFx1MDAyMVxcdTAwMjMtXFx1MDA1YlxcdTAwNWQtXFx1MDA3ZVxcdTAwODAtXFx1MDBmZl18XFxcXFtcXHUwMDBiXFx1MDAyMC1cXHUwMGZmXSkqXCJ8WyEjJCUmJyorLl5fYHx+MC05QS1aYS16LV0rKSAqL2c7XG4gICAgdmFyIFRFWFRfUkVHRVhQID0gL15bXFx1MDAwYlxcdTAwMjAtXFx1MDA3ZVxcdTAwODAtXFx1MDBmZl0rJC87XG4gICAgdmFyIFRPS0VOX1JFR0VYUCA9IC9eWyEjJCUmJyorLl5fYHx+MC05QS1aYS16LV0rJC87XG4gICAgdmFyIFFFU0NfUkVHRVhQID0gL1xcXFwoW1xcdTAwMGJcXHUwMDIwLVxcdTAwZmZdKS9nO1xuICAgIHZhciBRVU9URV9SRUdFWFAgPSAvKFtcXFxcXCJdKS9nO1xuICAgIHZhciBUWVBFX1JFR0VYUCA9IC9eWyEjJCUmJyorLl5fYHx+MC05QS1aYS16LV0rXFwvWyEjJCUmJyorLl5fYHx+MC05QS1aYS16LV0rJC87XG4gICAgZXhwb3J0czIuZm9ybWF0ID0gZm9ybWF0O1xuICAgIGV4cG9ydHMyLnBhcnNlID0gcGFyc2U7XG4gICAgZnVuY3Rpb24gZm9ybWF0KG9iaikge1xuICAgICAgaWYgKCFvYmogfHwgdHlwZW9mIG9iaiAhPT0gXCJvYmplY3RcIikge1xuICAgICAgICB0aHJvdyBuZXcgVHlwZUVycm9yKFwiYXJndW1lbnQgb2JqIGlzIHJlcXVpcmVkXCIpO1xuICAgICAgfVxuICAgICAgdmFyIHBhcmFtZXRlcnMgPSBvYmoucGFyYW1ldGVycztcbiAgICAgIHZhciB0eXBlID0gb2JqLnR5cGU7XG4gICAgICBpZiAoIXR5cGUgfHwgIVRZUEVfUkVHRVhQLnRlc3QodHlwZSkpIHtcbiAgICAgICAgdGhyb3cgbmV3IFR5cGVFcnJvcihcImludmFsaWQgdHlwZVwiKTtcbiAgICAgIH1cbiAgICAgIHZhciBzdHJpbmcgPSB0eXBlO1xuICAgICAgaWYgKHBhcmFtZXRlcnMgJiYgdHlwZW9mIHBhcmFtZXRlcnMgPT09IFwib2JqZWN0XCIpIHtcbiAgICAgICAgdmFyIHBhcmFtO1xuICAgICAgICB2YXIgcGFyYW1zID0gT2JqZWN0LmtleXMocGFyYW1ldGVycykuc29ydCgpO1xuICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IHBhcmFtcy5sZW5ndGg7IGkrKykge1xuICAgICAgICAgIHBhcmFtID0gcGFyYW1zW2ldO1xuICAgICAgICAgIGlmICghVE9LRU5fUkVHRVhQLnRlc3QocGFyYW0pKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgVHlwZUVycm9yKFwiaW52YWxpZCBwYXJhbWV0ZXIgbmFtZVwiKTtcbiAgICAgICAgICB9XG4gICAgICAgICAgc3RyaW5nICs9IFwiOyBcIiArIHBhcmFtICsgXCI9XCIgKyBxc3RyaW5nKHBhcmFtZXRlcnNbcGFyYW1dKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgcmV0dXJuIHN0cmluZztcbiAgICB9XG4gICAgZnVuY3Rpb24gcGFyc2Uoc3RyaW5nKSB7XG4gICAgICBpZiAoIXN0cmluZykge1xuICAgICAgICB0aHJvdyBuZXcgVHlwZUVycm9yKFwiYXJndW1lbnQgc3RyaW5nIGlzIHJlcXVpcmVkXCIpO1xuICAgICAgfVxuICAgICAgdmFyIGhlYWRlciA9IHR5cGVvZiBzdHJpbmcgPT09IFwib2JqZWN0XCIgPyBnZXRjb250ZW50dHlwZShzdHJpbmcpIDogc3RyaW5nO1xuICAgICAgaWYgKHR5cGVvZiBoZWFkZXIgIT09IFwic3RyaW5nXCIpIHtcbiAgICAgICAgdGhyb3cgbmV3IFR5cGVFcnJvcihcImFyZ3VtZW50IHN0cmluZyBpcyByZXF1aXJlZCB0byBiZSBhIHN0cmluZ1wiKTtcbiAgICAgIH1cbiAgICAgIHZhciBpbmRleCA9IGhlYWRlci5pbmRleE9mKFwiO1wiKTtcbiAgICAgIHZhciB0eXBlID0gaW5kZXggIT09IC0xID8gaGVhZGVyLnNsaWNlKDAsIGluZGV4KS50cmltKCkgOiBoZWFkZXIudHJpbSgpO1xuICAgICAgaWYgKCFUWVBFX1JFR0VYUC50ZXN0KHR5cGUpKSB7XG4gICAgICAgIHRocm93IG5ldyBUeXBlRXJyb3IoXCJpbnZhbGlkIG1lZGlhIHR5cGVcIik7XG4gICAgICB9XG4gICAgICB2YXIgb2JqID0gbmV3IENvbnRlbnRUeXBlKHR5cGUudG9Mb3dlckNhc2UoKSk7XG4gICAgICBpZiAoaW5kZXggIT09IC0xKSB7XG4gICAgICAgIHZhciBrZXk7XG4gICAgICAgIHZhciBtYXRjaDtcbiAgICAgICAgdmFyIHZhbHVlO1xuICAgICAgICBQQVJBTV9SRUdFWFAubGFzdEluZGV4ID0gaW5kZXg7XG4gICAgICAgIHdoaWxlIChtYXRjaCA9IFBBUkFNX1JFR0VYUC5leGVjKGhlYWRlcikpIHtcbiAgICAgICAgICBpZiAobWF0Y2guaW5kZXggIT09IGluZGV4KSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgVHlwZUVycm9yKFwiaW52YWxpZCBwYXJhbWV0ZXIgZm9ybWF0XCIpO1xuICAgICAgICAgIH1cbiAgICAgICAgICBpbmRleCArPSBtYXRjaFswXS5sZW5ndGg7XG4gICAgICAgICAga2V5ID0gbWF0Y2hbMV0udG9Mb3dlckNhc2UoKTtcbiAgICAgICAgICB2YWx1ZSA9IG1hdGNoWzJdO1xuICAgICAgICAgIGlmICh2YWx1ZS5jaGFyQ29kZUF0KDApID09PSAzNCkge1xuICAgICAgICAgICAgdmFsdWUgPSB2YWx1ZS5zbGljZSgxLCAtMSk7XG4gICAgICAgICAgICBpZiAodmFsdWUuaW5kZXhPZihcIlxcXFxcIikgIT09IC0xKSB7XG4gICAgICAgICAgICAgIHZhbHVlID0gdmFsdWUucmVwbGFjZShRRVNDX1JFR0VYUCwgXCIkMVwiKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgICAgb2JqLnBhcmFtZXRlcnNba2V5XSA9IHZhbHVlO1xuICAgICAgICB9XG4gICAgICAgIGlmIChpbmRleCAhPT0gaGVhZGVyLmxlbmd0aCkge1xuICAgICAgICAgIHRocm93IG5ldyBUeXBlRXJyb3IoXCJpbnZhbGlkIHBhcmFtZXRlciBmb3JtYXRcIik7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIHJldHVybiBvYmo7XG4gICAgfVxuICAgIGZ1bmN0aW9uIGdldGNvbnRlbnR0eXBlKG9iaikge1xuICAgICAgdmFyIGhlYWRlcjtcbiAgICAgIGlmICh0eXBlb2Ygb2JqLmdldEhlYWRlciA9PT0gXCJmdW5jdGlvblwiKSB7XG4gICAgICAgIGhlYWRlciA9IG9iai5nZXRIZWFkZXIoXCJjb250ZW50LXR5cGVcIik7XG4gICAgICB9IGVsc2UgaWYgKHR5cGVvZiBvYmouaGVhZGVycyA9PT0gXCJvYmplY3RcIikge1xuICAgICAgICBoZWFkZXIgPSBvYmouaGVhZGVycyAmJiBvYmouaGVhZGVyc1tcImNvbnRlbnQtdHlwZVwiXTtcbiAgICAgIH1cbiAgICAgIGlmICh0eXBlb2YgaGVhZGVyICE9PSBcInN0cmluZ1wiKSB7XG4gICAgICAgIHRocm93IG5ldyBUeXBlRXJyb3IoXCJjb250ZW50LXR5cGUgaGVhZGVyIGlzIG1pc3NpbmcgZnJvbSBvYmplY3RcIik7XG4gICAgICB9XG4gICAgICByZXR1cm4gaGVhZGVyO1xuICAgIH1cbiAgICBmdW5jdGlvbiBxc3RyaW5nKHZhbCkge1xuICAgICAgdmFyIHN0ciA9IFN0cmluZyh2YWwpO1xuICAgICAgaWYgKFRPS0VOX1JFR0VYUC50ZXN0KHN0cikpIHtcbiAgICAgICAgcmV0dXJuIHN0cjtcbiAgICAgIH1cbiAgICAgIGlmIChzdHIubGVuZ3RoID4gMCAmJiAhVEVYVF9SRUdFWFAudGVzdChzdHIpKSB7XG4gICAgICAgIHRocm93IG5ldyBUeXBlRXJyb3IoXCJpbnZhbGlkIHBhcmFtZXRlciB2YWx1ZVwiKTtcbiAgICAgIH1cbiAgICAgIHJldHVybiAnXCInICsgc3RyLnJlcGxhY2UoUVVPVEVfUkVHRVhQLCBcIlxcXFwkMVwiKSArICdcIic7XG4gICAgfVxuICAgIGZ1bmN0aW9uIENvbnRlbnRUeXBlKHR5cGUpIHtcbiAgICAgIHRoaXMucGFyYW1ldGVycyA9IC8qIEBfX1BVUkVfXyAqLyBPYmplY3QuY3JlYXRlKG51bGwpO1xuICAgICAgdGhpcy50eXBlID0gdHlwZTtcbiAgICB9XG4gIH1cbn0pO1xuXG4vLyBub2RlX21vZHVsZXMvbXMvaW5kZXguanNcbnZhciByZXF1aXJlX21zID0gX19jb21tb25KUyh7XG4gIFwibm9kZV9tb2R1bGVzL21zL2luZGV4LmpzXCIoZXhwb3J0czIsIG1vZHVsZTIpIHtcbiAgICB2YXIgcyA9IDFlMztcbiAgICB2YXIgbSA9IHMgKiA2MDtcbiAgICB2YXIgaCA9IG0gKiA2MDtcbiAgICB2YXIgZCA9IGggKiAyNDtcbiAgICB2YXIgdyA9IGQgKiA3O1xuICAgIHZhciB5ID0gZCAqIDM2NS4yNTtcbiAgICBtb2R1bGUyLmV4cG9ydHMgPSBmdW5jdGlvbih2YWwsIG9wdGlvbnMpIHtcbiAgICAgIG9wdGlvbnMgPSBvcHRpb25zIHx8IHt9O1xuICAgICAgdmFyIHR5cGUgPSB0eXBlb2YgdmFsO1xuICAgICAgaWYgKHR5cGUgPT09IFwic3RyaW5nXCIgJiYgdmFsLmxlbmd0aCA+IDApIHtcbiAgICAgICAgcmV0dXJuIHBhcnNlKHZhbCk7XG4gICAgICB9IGVsc2UgaWYgKHR5cGUgPT09IFwibnVtYmVyXCIgJiYgaXNGaW5pdGUodmFsKSkge1xuICAgICAgICByZXR1cm4gb3B0aW9ucy5sb25nID8gZm10TG9uZyh2YWwpIDogZm10U2hvcnQodmFsKTtcbiAgICAgIH1cbiAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgXCJ2YWwgaXMgbm90IGEgbm9uLWVtcHR5IHN0cmluZyBvciBhIHZhbGlkIG51bWJlci4gdmFsPVwiICsgSlNPTi5zdHJpbmdpZnkodmFsKVxuICAgICAgKTtcbiAgICB9O1xuICAgIGZ1bmN0aW9uIHBhcnNlKHN0cikge1xuICAgICAgc3RyID0gU3RyaW5nKHN0cik7XG4gICAgICBpZiAoc3RyLmxlbmd0aCA+IDEwMCkge1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG4gICAgICB2YXIgbWF0Y2ggPSAvXigtPyg/OlxcZCspP1xcLj9cXGQrKSAqKG1pbGxpc2Vjb25kcz98bXNlY3M/fG1zfHNlY29uZHM/fHNlY3M/fHN8bWludXRlcz98bWlucz98bXxob3Vycz98aHJzP3xofGRheXM/fGR8d2Vla3M/fHd8eWVhcnM/fHlycz98eSk/JC9pLmV4ZWMoXG4gICAgICAgIHN0clxuICAgICAgKTtcbiAgICAgIGlmICghbWF0Y2gpIHtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuICAgICAgdmFyIG4gPSBwYXJzZUZsb2F0KG1hdGNoWzFdKTtcbiAgICAgIHZhciB0eXBlID0gKG1hdGNoWzJdIHx8IFwibXNcIikudG9Mb3dlckNhc2UoKTtcbiAgICAgIHN3aXRjaCAodHlwZSkge1xuICAgICAgICBjYXNlIFwieWVhcnNcIjpcbiAgICAgICAgY2FzZSBcInllYXJcIjpcbiAgICAgICAgY2FzZSBcInlyc1wiOlxuICAgICAgICBjYXNlIFwieXJcIjpcbiAgICAgICAgY2FzZSBcInlcIjpcbiAgICAgICAgICByZXR1cm4gbiAqIHk7XG4gICAgICAgIGNhc2UgXCJ3ZWVrc1wiOlxuICAgICAgICBjYXNlIFwid2Vla1wiOlxuICAgICAgICBjYXNlIFwid1wiOlxuICAgICAgICAgIHJldHVybiBuICogdztcbiAgICAgICAgY2FzZSBcImRheXNcIjpcbiAgICAgICAgY2FzZSBcImRheVwiOlxuICAgICAgICBjYXNlIFwiZFwiOlxuICAgICAgICAgIHJldHVybiBuICogZDtcbiAgICAgICAgY2FzZSBcImhvdXJzXCI6XG4gICAgICAgIGNhc2UgXCJob3VyXCI6XG4gICAgICAgIGNhc2UgXCJocnNcIjpcbiAgICAgICAgY2FzZSBcImhyXCI6XG4gICAgICAgIGNhc2UgXCJoXCI6XG4gICAgICAgICAgcmV0dXJuIG4gKiBoO1xuICAgICAgICBjYXNlIFwibWludXRlc1wiOlxuICAgICAgICBjYXNlIFwibWludXRlXCI6XG4gICAgICAgIGNhc2UgXCJtaW5zXCI6XG4gICAgICAgIGNhc2UgXCJtaW5cIjpcbiAgICAgICAgY2FzZSBcIm1cIjpcbiAgICAgICAgICByZXR1cm4gbiAqIG07XG4gICAgICAgIGNhc2UgXCJzZWNvbmRzXCI6XG4gICAgICAgIGNhc2UgXCJzZWNvbmRcIjpcbiAgICAgICAgY2FzZSBcInNlY3NcIjpcbiAgICAgICAgY2FzZSBcInNlY1wiOlxuICAgICAgICBjYXNlIFwic1wiOlxuICAgICAgICAgIHJldHVybiBuICogcztcbiAgICAgICAgY2FzZSBcIm1pbGxpc2Vjb25kc1wiOlxuICAgICAgICBjYXNlIFwibWlsbGlzZWNvbmRcIjpcbiAgICAgICAgY2FzZSBcIm1zZWNzXCI6XG4gICAgICAgIGNhc2UgXCJtc2VjXCI6XG4gICAgICAgIGNhc2UgXCJtc1wiOlxuICAgICAgICAgIHJldHVybiBuO1xuICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgIHJldHVybiB2b2lkIDA7XG4gICAgICB9XG4gICAgfVxuICAgIGZ1bmN0aW9uIGZtdFNob3J0KG1zKSB7XG4gICAgICB2YXIgbXNBYnMgPSBNYXRoLmFicyhtcyk7XG4gICAgICBpZiAobXNBYnMgPj0gZCkge1xuICAgICAgICByZXR1cm4gTWF0aC5yb3VuZChtcyAvIGQpICsgXCJkXCI7XG4gICAgICB9XG4gICAgICBpZiAobXNBYnMgPj0gaCkge1xuICAgICAgICByZXR1cm4gTWF0aC5yb3VuZChtcyAvIGgpICsgXCJoXCI7XG4gICAgICB9XG4gICAgICBpZiAobXNBYnMgPj0gbSkge1xuICAgICAgICByZXR1cm4gTWF0aC5yb3VuZChtcyAvIG0pICsgXCJtXCI7XG4gICAgICB9XG4gICAgICBpZiAobXNBYnMgPj0gcykge1xuICAgICAgICByZXR1cm4gTWF0aC5yb3VuZChtcyAvIHMpICsgXCJzXCI7XG4gICAgICB9XG4gICAgICByZXR1cm4gbXMgKyBcIm1zXCI7XG4gICAgfVxuICAgIGZ1bmN0aW9uIGZtdExvbmcobXMpIHtcbiAgICAgIHZhciBtc0FicyA9IE1hdGguYWJzKG1zKTtcbiAgICAgIGlmIChtc0FicyA+PSBkKSB7XG4gICAgICAgIHJldHVybiBwbHVyYWwobXMsIG1zQWJzLCBkLCBcImRheVwiKTtcbiAgICAgIH1cbiAgICAgIGlmIChtc0FicyA+PSBoKSB7XG4gICAgICAgIHJldHVybiBwbHVyYWwobXMsIG1zQWJzLCBoLCBcImhvdXJcIik7XG4gICAgICB9XG4gICAgICBpZiAobXNBYnMgPj0gbSkge1xuICAgICAgICByZXR1cm4gcGx1cmFsKG1zLCBtc0FicywgbSwgXCJtaW51dGVcIik7XG4gICAgICB9XG4gICAgICBpZiAobXNBYnMgPj0gcykge1xuICAgICAgICByZXR1cm4gcGx1cmFsKG1zLCBtc0FicywgcywgXCJzZWNvbmRcIik7XG4gICAgICB9XG4gICAgICByZXR1cm4gbXMgKyBcIiBtc1wiO1xuICAgIH1cbiAgICBmdW5jdGlvbiBwbHVyYWwobXMsIG1zQWJzLCBuLCBuYW1lKSB7XG4gICAgICB2YXIgaXNQbHVyYWwgPSBtc0FicyA+PSBuICogMS41O1xuICAgICAgcmV0dXJuIE1hdGgucm91bmQobXMgLyBuKSArIFwiIFwiICsgbmFtZSArIChpc1BsdXJhbCA/IFwic1wiIDogXCJcIik7XG4gICAgfVxuICB9XG59KTtcblxuLy8gbm9kZV9tb2R1bGVzL2RlYnVnL3NyYy9jb21tb24uanNcbnZhciByZXF1aXJlX2NvbW1vbiA9IF9fY29tbW9uSlMoe1xuICBcIm5vZGVfbW9kdWxlcy9kZWJ1Zy9zcmMvY29tbW9uLmpzXCIoZXhwb3J0czIsIG1vZHVsZTIpIHtcbiAgICBmdW5jdGlvbiBzZXR1cChlbnYpIHtcbiAgICAgIGNyZWF0ZURlYnVnLmRlYnVnID0gY3JlYXRlRGVidWc7XG4gICAgICBjcmVhdGVEZWJ1Zy5kZWZhdWx0ID0gY3JlYXRlRGVidWc7XG4gICAgICBjcmVhdGVEZWJ1Zy5jb2VyY2UgPSBjb2VyY2UyO1xuICAgICAgY3JlYXRlRGVidWcuZGlzYWJsZSA9IGRpc2FibGU7XG4gICAgICBjcmVhdGVEZWJ1Zy5lbmFibGUgPSBlbmFibGU7XG4gICAgICBjcmVhdGVEZWJ1Zy5lbmFibGVkID0gZW5hYmxlZDtcbiAgICAgIGNyZWF0ZURlYnVnLmh1bWFuaXplID0gcmVxdWlyZV9tcygpO1xuICAgICAgY3JlYXRlRGVidWcuZGVzdHJveSA9IGRlc3Ryb3k7XG4gICAgICBPYmplY3Qua2V5cyhlbnYpLmZvckVhY2goKGtleSkgPT4ge1xuICAgICAgICBjcmVhdGVEZWJ1Z1trZXldID0gZW52W2tleV07XG4gICAgICB9KTtcbiAgICAgIGNyZWF0ZURlYnVnLm5hbWVzID0gW107XG4gICAgICBjcmVhdGVEZWJ1Zy5za2lwcyA9IFtdO1xuICAgICAgY3JlYXRlRGVidWcuZm9ybWF0dGVycyA9IHt9O1xuICAgICAgZnVuY3Rpb24gc2VsZWN0Q29sb3IobmFtZXNwYWNlKSB7XG4gICAgICAgIGxldCBoYXNoID0gMDtcbiAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBuYW1lc3BhY2UubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgICBoYXNoID0gKGhhc2ggPDwgNSkgLSBoYXNoICsgbmFtZXNwYWNlLmNoYXJDb2RlQXQoaSk7XG4gICAgICAgICAgaGFzaCB8PSAwO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBjcmVhdGVEZWJ1Zy5jb2xvcnNbTWF0aC5hYnMoaGFzaCkgJSBjcmVhdGVEZWJ1Zy5jb2xvcnMubGVuZ3RoXTtcbiAgICAgIH1cbiAgICAgIGNyZWF0ZURlYnVnLnNlbGVjdENvbG9yID0gc2VsZWN0Q29sb3I7XG4gICAgICBmdW5jdGlvbiBjcmVhdGVEZWJ1ZyhuYW1lc3BhY2UpIHtcbiAgICAgICAgbGV0IHByZXZUaW1lO1xuICAgICAgICBsZXQgZW5hYmxlT3ZlcnJpZGUgPSBudWxsO1xuICAgICAgICBsZXQgbmFtZXNwYWNlc0NhY2hlO1xuICAgICAgICBsZXQgZW5hYmxlZENhY2hlO1xuICAgICAgICBmdW5jdGlvbiBkZWJ1ZyguLi5hcmdzKSB7XG4gICAgICAgICAgaWYgKCFkZWJ1Zy5lbmFibGVkKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgfVxuICAgICAgICAgIGNvbnN0IHNlbGYyID0gZGVidWc7XG4gICAgICAgICAgY29uc3QgY3VyciA9IE51bWJlcigvKiBAX19QVVJFX18gKi8gbmV3IERhdGUoKSk7XG4gICAgICAgICAgY29uc3QgbXMgPSBjdXJyIC0gKHByZXZUaW1lIHx8IGN1cnIpO1xuICAgICAgICAgIHNlbGYyLmRpZmYgPSBtcztcbiAgICAgICAgICBzZWxmMi5wcmV2ID0gcHJldlRpbWU7XG4gICAgICAgICAgc2VsZjIuY3VyciA9IGN1cnI7XG4gICAgICAgICAgcHJldlRpbWUgPSBjdXJyO1xuICAgICAgICAgIGFyZ3NbMF0gPSBjcmVhdGVEZWJ1Zy5jb2VyY2UoYXJnc1swXSk7XG4gICAgICAgICAgaWYgKHR5cGVvZiBhcmdzWzBdICE9PSBcInN0cmluZ1wiKSB7XG4gICAgICAgICAgICBhcmdzLnVuc2hpZnQoXCIlT1wiKTtcbiAgICAgICAgICB9XG4gICAgICAgICAgbGV0IGluZGV4ID0gMDtcbiAgICAgICAgICBhcmdzWzBdID0gYXJnc1swXS5yZXBsYWNlKC8lKFthLXpBLVolXSkvZywgKG1hdGNoLCBmb3JtYXQpID0+IHtcbiAgICAgICAgICAgIGlmIChtYXRjaCA9PT0gXCIlJVwiKSB7XG4gICAgICAgICAgICAgIHJldHVybiBcIiVcIjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGluZGV4Kys7XG4gICAgICAgICAgICBjb25zdCBmb3JtYXR0ZXIgPSBjcmVhdGVEZWJ1Zy5mb3JtYXR0ZXJzW2Zvcm1hdF07XG4gICAgICAgICAgICBpZiAodHlwZW9mIGZvcm1hdHRlciA9PT0gXCJmdW5jdGlvblwiKSB7XG4gICAgICAgICAgICAgIGNvbnN0IHZhbCA9IGFyZ3NbaW5kZXhdO1xuICAgICAgICAgICAgICBtYXRjaCA9IGZvcm1hdHRlci5jYWxsKHNlbGYyLCB2YWwpO1xuICAgICAgICAgICAgICBhcmdzLnNwbGljZShpbmRleCwgMSk7XG4gICAgICAgICAgICAgIGluZGV4LS07XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXR1cm4gbWF0Y2g7XG4gICAgICAgICAgfSk7XG4gICAgICAgICAgY3JlYXRlRGVidWcuZm9ybWF0QXJncy5jYWxsKHNlbGYyLCBhcmdzKTtcbiAgICAgICAgICBjb25zdCBsb2dGbiA9IHNlbGYyLmxvZyB8fCBjcmVhdGVEZWJ1Zy5sb2c7XG4gICAgICAgICAgbG9nRm4uYXBwbHkoc2VsZjIsIGFyZ3MpO1xuICAgICAgICB9XG4gICAgICAgIGRlYnVnLm5hbWVzcGFjZSA9IG5hbWVzcGFjZTtcbiAgICAgICAgZGVidWcudXNlQ29sb3JzID0gY3JlYXRlRGVidWcudXNlQ29sb3JzKCk7XG4gICAgICAgIGRlYnVnLmNvbG9yID0gY3JlYXRlRGVidWcuc2VsZWN0Q29sb3IobmFtZXNwYWNlKTtcbiAgICAgICAgZGVidWcuZXh0ZW5kID0gZXh0ZW5kO1xuICAgICAgICBkZWJ1Zy5kZXN0cm95ID0gY3JlYXRlRGVidWcuZGVzdHJveTtcbiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGRlYnVnLCBcImVuYWJsZWRcIiwge1xuICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsXG4gICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZSxcbiAgICAgICAgICBnZXQ6ICgpID0+IHtcbiAgICAgICAgICAgIGlmIChlbmFibGVPdmVycmlkZSAhPT0gbnVsbCkge1xuICAgICAgICAgICAgICByZXR1cm4gZW5hYmxlT3ZlcnJpZGU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAobmFtZXNwYWNlc0NhY2hlICE9PSBjcmVhdGVEZWJ1Zy5uYW1lc3BhY2VzKSB7XG4gICAgICAgICAgICAgIG5hbWVzcGFjZXNDYWNoZSA9IGNyZWF0ZURlYnVnLm5hbWVzcGFjZXM7XG4gICAgICAgICAgICAgIGVuYWJsZWRDYWNoZSA9IGNyZWF0ZURlYnVnLmVuYWJsZWQobmFtZXNwYWNlKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVybiBlbmFibGVkQ2FjaGU7XG4gICAgICAgICAgfSxcbiAgICAgICAgICBzZXQ6ICh2KSA9PiB7XG4gICAgICAgICAgICBlbmFibGVPdmVycmlkZSA9IHY7XG4gICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICAgICAgaWYgKHR5cGVvZiBjcmVhdGVEZWJ1Zy5pbml0ID09PSBcImZ1bmN0aW9uXCIpIHtcbiAgICAgICAgICBjcmVhdGVEZWJ1Zy5pbml0KGRlYnVnKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gZGVidWc7XG4gICAgICB9XG4gICAgICBmdW5jdGlvbiBleHRlbmQobmFtZXNwYWNlLCBkZWxpbWl0ZXIpIHtcbiAgICAgICAgY29uc3QgbmV3RGVidWcgPSBjcmVhdGVEZWJ1Zyh0aGlzLm5hbWVzcGFjZSArICh0eXBlb2YgZGVsaW1pdGVyID09PSBcInVuZGVmaW5lZFwiID8gXCI6XCIgOiBkZWxpbWl0ZXIpICsgbmFtZXNwYWNlKTtcbiAgICAgICAgbmV3RGVidWcubG9nID0gdGhpcy5sb2c7XG4gICAgICAgIHJldHVybiBuZXdEZWJ1ZztcbiAgICAgIH1cbiAgICAgIGZ1bmN0aW9uIGVuYWJsZShuYW1lc3BhY2VzKSB7XG4gICAgICAgIGNyZWF0ZURlYnVnLnNhdmUobmFtZXNwYWNlcyk7XG4gICAgICAgIGNyZWF0ZURlYnVnLm5hbWVzcGFjZXMgPSBuYW1lc3BhY2VzO1xuICAgICAgICBjcmVhdGVEZWJ1Zy5uYW1lcyA9IFtdO1xuICAgICAgICBjcmVhdGVEZWJ1Zy5za2lwcyA9IFtdO1xuICAgICAgICBjb25zdCBzcGxpdCA9ICh0eXBlb2YgbmFtZXNwYWNlcyA9PT0gXCJzdHJpbmdcIiA/IG5hbWVzcGFjZXMgOiBcIlwiKS50cmltKCkucmVwbGFjZSgvXFxzKy9nLCBcIixcIikuc3BsaXQoXCIsXCIpLmZpbHRlcihCb29sZWFuKTtcbiAgICAgICAgZm9yIChjb25zdCBucyBvZiBzcGxpdCkge1xuICAgICAgICAgIGlmIChuc1swXSA9PT0gXCItXCIpIHtcbiAgICAgICAgICAgIGNyZWF0ZURlYnVnLnNraXBzLnB1c2gobnMuc2xpY2UoMSkpO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBjcmVhdGVEZWJ1Zy5uYW1lcy5wdXNoKG5zKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIGZ1bmN0aW9uIG1hdGNoZXNUZW1wbGF0ZShzZWFyY2gsIHRlbXBsYXRlKSB7XG4gICAgICAgIGxldCBzZWFyY2hJbmRleCA9IDA7XG4gICAgICAgIGxldCB0ZW1wbGF0ZUluZGV4ID0gMDtcbiAgICAgICAgbGV0IHN0YXJJbmRleCA9IC0xO1xuICAgICAgICBsZXQgbWF0Y2hJbmRleCA9IDA7XG4gICAgICAgIHdoaWxlIChzZWFyY2hJbmRleCA8IHNlYXJjaC5sZW5ndGgpIHtcbiAgICAgICAgICBpZiAodGVtcGxhdGVJbmRleCA8IHRlbXBsYXRlLmxlbmd0aCAmJiAodGVtcGxhdGVbdGVtcGxhdGVJbmRleF0gPT09IHNlYXJjaFtzZWFyY2hJbmRleF0gfHwgdGVtcGxhdGVbdGVtcGxhdGVJbmRleF0gPT09IFwiKlwiKSkge1xuICAgICAgICAgICAgaWYgKHRlbXBsYXRlW3RlbXBsYXRlSW5kZXhdID09PSBcIipcIikge1xuICAgICAgICAgICAgICBzdGFySW5kZXggPSB0ZW1wbGF0ZUluZGV4O1xuICAgICAgICAgICAgICBtYXRjaEluZGV4ID0gc2VhcmNoSW5kZXg7XG4gICAgICAgICAgICAgIHRlbXBsYXRlSW5kZXgrKztcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgIHNlYXJjaEluZGV4Kys7XG4gICAgICAgICAgICAgIHRlbXBsYXRlSW5kZXgrKztcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9IGVsc2UgaWYgKHN0YXJJbmRleCAhPT0gLTEpIHtcbiAgICAgICAgICAgIHRlbXBsYXRlSW5kZXggPSBzdGFySW5kZXggKyAxO1xuICAgICAgICAgICAgbWF0Y2hJbmRleCsrO1xuICAgICAgICAgICAgc2VhcmNoSW5kZXggPSBtYXRjaEluZGV4O1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHdoaWxlICh0ZW1wbGF0ZUluZGV4IDwgdGVtcGxhdGUubGVuZ3RoICYmIHRlbXBsYXRlW3RlbXBsYXRlSW5kZXhdID09PSBcIipcIikge1xuICAgICAgICAgIHRlbXBsYXRlSW5kZXgrKztcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gdGVtcGxhdGVJbmRleCA9PT0gdGVtcGxhdGUubGVuZ3RoO1xuICAgICAgfVxuICAgICAgZnVuY3Rpb24gZGlzYWJsZSgpIHtcbiAgICAgICAgY29uc3QgbmFtZXNwYWNlcyA9IFtcbiAgICAgICAgICAuLi5jcmVhdGVEZWJ1Zy5uYW1lcyxcbiAgICAgICAgICAuLi5jcmVhdGVEZWJ1Zy5za2lwcy5tYXAoKG5hbWVzcGFjZSkgPT4gXCItXCIgKyBuYW1lc3BhY2UpXG4gICAgICAgIF0uam9pbihcIixcIik7XG4gICAgICAgIGNyZWF0ZURlYnVnLmVuYWJsZShcIlwiKTtcbiAgICAgICAgcmV0dXJuIG5hbWVzcGFjZXM7XG4gICAgICB9XG4gICAgICBmdW5jdGlvbiBlbmFibGVkKG5hbWUpIHtcbiAgICAgICAgZm9yIChjb25zdCBza2lwIG9mIGNyZWF0ZURlYnVnLnNraXBzKSB7XG4gICAgICAgICAgaWYgKG1hdGNoZXNUZW1wbGF0ZShuYW1lLCBza2lwKSkge1xuICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBmb3IgKGNvbnN0IG5zIG9mIGNyZWF0ZURlYnVnLm5hbWVzKSB7XG4gICAgICAgICAgaWYgKG1hdGNoZXNUZW1wbGF0ZShuYW1lLCBucykpIHtcbiAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICB9XG4gICAgICBmdW5jdGlvbiBjb2VyY2UyKHZhbCkge1xuICAgICAgICBpZiAodmFsIGluc3RhbmNlb2YgRXJyb3IpIHtcbiAgICAgICAgICByZXR1cm4gdmFsLnN0YWNrIHx8IHZhbC5tZXNzYWdlO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiB2YWw7XG4gICAgICB9XG4gICAgICBmdW5jdGlvbiBkZXN0cm95KCkge1xuICAgICAgICBjb25zb2xlLndhcm4oXCJJbnN0YW5jZSBtZXRob2QgYGRlYnVnLmRlc3Ryb3koKWAgaXMgZGVwcmVjYXRlZCBhbmQgbm8gbG9uZ2VyIGRvZXMgYW55dGhpbmcuIEl0IHdpbGwgYmUgcmVtb3ZlZCBpbiB0aGUgbmV4dCBtYWpvciB2ZXJzaW9uIG9mIGBkZWJ1Z2AuXCIpO1xuICAgICAgfVxuICAgICAgY3JlYXRlRGVidWcuZW5hYmxlKGNyZWF0ZURlYnVnLmxvYWQoKSk7XG4gICAgICByZXR1cm4gY3JlYXRlRGVidWc7XG4gICAgfVxuICAgIG1vZHVsZTIuZXhwb3J0cyA9IHNldHVwO1xuICB9XG59KTtcblxuLy8gbm9kZV9tb2R1bGVzL2RlYnVnL3NyYy9icm93c2VyLmpzXG52YXIgcmVxdWlyZV9icm93c2VyID0gX19jb21tb25KUyh7XG4gIFwibm9kZV9tb2R1bGVzL2RlYnVnL3NyYy9icm93c2VyLmpzXCIoZXhwb3J0czIsIG1vZHVsZTIpIHtcbiAgICBleHBvcnRzMi5mb3JtYXRBcmdzID0gZm9ybWF0QXJncztcbiAgICBleHBvcnRzMi5zYXZlID0gc2F2ZTtcbiAgICBleHBvcnRzMi5sb2FkID0gbG9hZDtcbiAgICBleHBvcnRzMi51c2VDb2xvcnMgPSB1c2VDb2xvcnM7XG4gICAgZXhwb3J0czIuc3RvcmFnZSA9IGxvY2Fsc3RvcmFnZSgpO1xuICAgIGV4cG9ydHMyLmRlc3Ryb3kgPSAvKiBAX19QVVJFX18gKi8gKCgpID0+IHtcbiAgICAgIGxldCB3YXJuZWQgPSBmYWxzZTtcbiAgICAgIHJldHVybiAoKSA9PiB7XG4gICAgICAgIGlmICghd2FybmVkKSB7XG4gICAgICAgICAgd2FybmVkID0gdHJ1ZTtcbiAgICAgICAgICBjb25zb2xlLndhcm4oXCJJbnN0YW5jZSBtZXRob2QgYGRlYnVnLmRlc3Ryb3koKWAgaXMgZGVwcmVjYXRlZCBhbmQgbm8gbG9uZ2VyIGRvZXMgYW55dGhpbmcuIEl0IHdpbGwgYmUgcmVtb3ZlZCBpbiB0aGUgbmV4dCBtYWpvciB2ZXJzaW9uIG9mIGBkZWJ1Z2AuXCIpO1xuICAgICAgICB9XG4gICAgICB9O1xuICAgIH0pKCk7XG4gICAgZXhwb3J0czIuY29sb3JzID0gW1xuICAgICAgXCIjMDAwMENDXCIsXG4gICAgICBcIiMwMDAwRkZcIixcbiAgICAgIFwiIzAwMzNDQ1wiLFxuICAgICAgXCIjMDAzM0ZGXCIsXG4gICAgICBcIiMwMDY2Q0NcIixcbiAgICAgIFwiIzAwNjZGRlwiLFxuICAgICAgXCIjMDA5OUNDXCIsXG4gICAgICBcIiMwMDk5RkZcIixcbiAgICAgIFwiIzAwQ0MwMFwiLFxuICAgICAgXCIjMDBDQzMzXCIsXG4gICAgICBcIiMwMENDNjZcIixcbiAgICAgIFwiIzAwQ0M5OVwiLFxuICAgICAgXCIjMDBDQ0NDXCIsXG4gICAgICBcIiMwMENDRkZcIixcbiAgICAgIFwiIzMzMDBDQ1wiLFxuICAgICAgXCIjMzMwMEZGXCIsXG4gICAgICBcIiMzMzMzQ0NcIixcbiAgICAgIFwiIzMzMzNGRlwiLFxuICAgICAgXCIjMzM2NkNDXCIsXG4gICAgICBcIiMzMzY2RkZcIixcbiAgICAgIFwiIzMzOTlDQ1wiLFxuICAgICAgXCIjMzM5OUZGXCIsXG4gICAgICBcIiMzM0NDMDBcIixcbiAgICAgIFwiIzMzQ0MzM1wiLFxuICAgICAgXCIjMzNDQzY2XCIsXG4gICAgICBcIiMzM0NDOTlcIixcbiAgICAgIFwiIzMzQ0NDQ1wiLFxuICAgICAgXCIjMzNDQ0ZGXCIsXG4gICAgICBcIiM2NjAwQ0NcIixcbiAgICAgIFwiIzY2MDBGRlwiLFxuICAgICAgXCIjNjYzM0NDXCIsXG4gICAgICBcIiM2NjMzRkZcIixcbiAgICAgIFwiIzY2Q0MwMFwiLFxuICAgICAgXCIjNjZDQzMzXCIsXG4gICAgICBcIiM5OTAwQ0NcIixcbiAgICAgIFwiIzk5MDBGRlwiLFxuICAgICAgXCIjOTkzM0NDXCIsXG4gICAgICBcIiM5OTMzRkZcIixcbiAgICAgIFwiIzk5Q0MwMFwiLFxuICAgICAgXCIjOTlDQzMzXCIsXG4gICAgICBcIiNDQzAwMDBcIixcbiAgICAgIFwiI0NDMDAzM1wiLFxuICAgICAgXCIjQ0MwMDY2XCIsXG4gICAgICBcIiNDQzAwOTlcIixcbiAgICAgIFwiI0NDMDBDQ1wiLFxuICAgICAgXCIjQ0MwMEZGXCIsXG4gICAgICBcIiNDQzMzMDBcIixcbiAgICAgIFwiI0NDMzMzM1wiLFxuICAgICAgXCIjQ0MzMzY2XCIsXG4gICAgICBcIiNDQzMzOTlcIixcbiAgICAgIFwiI0NDMzNDQ1wiLFxuICAgICAgXCIjQ0MzM0ZGXCIsXG4gICAgICBcIiNDQzY2MDBcIixcbiAgICAgIFwiI0NDNjYzM1wiLFxuICAgICAgXCIjQ0M5OTAwXCIsXG4gICAgICBcIiNDQzk5MzNcIixcbiAgICAgIFwiI0NDQ0MwMFwiLFxuICAgICAgXCIjQ0NDQzMzXCIsXG4gICAgICBcIiNGRjAwMDBcIixcbiAgICAgIFwiI0ZGMDAzM1wiLFxuICAgICAgXCIjRkYwMDY2XCIsXG4gICAgICBcIiNGRjAwOTlcIixcbiAgICAgIFwiI0ZGMDBDQ1wiLFxuICAgICAgXCIjRkYwMEZGXCIsXG4gICAgICBcIiNGRjMzMDBcIixcbiAgICAgIFwiI0ZGMzMzM1wiLFxuICAgICAgXCIjRkYzMzY2XCIsXG4gICAgICBcIiNGRjMzOTlcIixcbiAgICAgIFwiI0ZGMzNDQ1wiLFxuICAgICAgXCIjRkYzM0ZGXCIsXG4gICAgICBcIiNGRjY2MDBcIixcbiAgICAgIFwiI0ZGNjYzM1wiLFxuICAgICAgXCIjRkY5OTAwXCIsXG4gICAgICBcIiNGRjk5MzNcIixcbiAgICAgIFwiI0ZGQ0MwMFwiLFxuICAgICAgXCIjRkZDQzMzXCJcbiAgICBdO1xuICAgIGZ1bmN0aW9uIHVzZUNvbG9ycygpIHtcbiAgICAgIGlmICh0eXBlb2Ygd2luZG93ICE9PSBcInVuZGVmaW5lZFwiICYmIHdpbmRvdy5wcm9jZXNzICYmICh3aW5kb3cucHJvY2Vzcy50eXBlID09PSBcInJlbmRlcmVyXCIgfHwgd2luZG93LnByb2Nlc3MuX19ud2pzKSkge1xuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgIH1cbiAgICAgIGlmICh0eXBlb2YgbmF2aWdhdG9yICE9PSBcInVuZGVmaW5lZFwiICYmIG5hdmlnYXRvci51c2VyQWdlbnQgJiYgbmF2aWdhdG9yLnVzZXJBZ2VudC50b0xvd2VyQ2FzZSgpLm1hdGNoKC8oZWRnZXx0cmlkZW50KVxcLyhcXGQrKS8pKSB7XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgIH1cbiAgICAgIGxldCBtO1xuICAgICAgcmV0dXJuIHR5cGVvZiBkb2N1bWVudCAhPT0gXCJ1bmRlZmluZWRcIiAmJiBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQgJiYgZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LnN0eWxlICYmIGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5zdHlsZS5XZWJraXRBcHBlYXJhbmNlIHx8IC8vIElzIGZpcmVidWc/IGh0dHA6Ly9zdGFja292ZXJmbG93LmNvbS9hLzM5ODEyMC8zNzY3NzNcbiAgICAgIHR5cGVvZiB3aW5kb3cgIT09IFwidW5kZWZpbmVkXCIgJiYgd2luZG93LmNvbnNvbGUgJiYgKHdpbmRvdy5jb25zb2xlLmZpcmVidWcgfHwgd2luZG93LmNvbnNvbGUuZXhjZXB0aW9uICYmIHdpbmRvdy5jb25zb2xlLnRhYmxlKSB8fCAvLyBJcyBmaXJlZm94ID49IHYzMT9cbiAgICAgIC8vIGh0dHBzOi8vZGV2ZWxvcGVyLm1vemlsbGEub3JnL2VuLVVTL2RvY3MvVG9vbHMvV2ViX0NvbnNvbGUjU3R5bGluZ19tZXNzYWdlc1xuICAgICAgdHlwZW9mIG5hdmlnYXRvciAhPT0gXCJ1bmRlZmluZWRcIiAmJiBuYXZpZ2F0b3IudXNlckFnZW50ICYmIChtID0gbmF2aWdhdG9yLnVzZXJBZ2VudC50b0xvd2VyQ2FzZSgpLm1hdGNoKC9maXJlZm94XFwvKFxcZCspLykpICYmIHBhcnNlSW50KG1bMV0sIDEwKSA+PSAzMSB8fCAvLyBEb3VibGUgY2hlY2sgd2Via2l0IGluIHVzZXJBZ2VudCBqdXN0IGluIGNhc2Ugd2UgYXJlIGluIGEgd29ya2VyXG4gICAgICB0eXBlb2YgbmF2aWdhdG9yICE9PSBcInVuZGVmaW5lZFwiICYmIG5hdmlnYXRvci51c2VyQWdlbnQgJiYgbmF2aWdhdG9yLnVzZXJBZ2VudC50b0xvd2VyQ2FzZSgpLm1hdGNoKC9hcHBsZXdlYmtpdFxcLyhcXGQrKS8pO1xuICAgIH1cbiAgICBmdW5jdGlvbiBmb3JtYXRBcmdzKGFyZ3MpIHtcbiAgICAgIGFyZ3NbMF0gPSAodGhpcy51c2VDb2xvcnMgPyBcIiVjXCIgOiBcIlwiKSArIHRoaXMubmFtZXNwYWNlICsgKHRoaXMudXNlQ29sb3JzID8gXCIgJWNcIiA6IFwiIFwiKSArIGFyZ3NbMF0gKyAodGhpcy51c2VDb2xvcnMgPyBcIiVjIFwiIDogXCIgXCIpICsgXCIrXCIgKyBtb2R1bGUyLmV4cG9ydHMuaHVtYW5pemUodGhpcy5kaWZmKTtcbiAgICAgIGlmICghdGhpcy51c2VDb2xvcnMpIHtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuICAgICAgY29uc3QgYyA9IFwiY29sb3I6IFwiICsgdGhpcy5jb2xvcjtcbiAgICAgIGFyZ3Muc3BsaWNlKDEsIDAsIGMsIFwiY29sb3I6IGluaGVyaXRcIik7XG4gICAgICBsZXQgaW5kZXggPSAwO1xuICAgICAgbGV0IGxhc3RDID0gMDtcbiAgICAgIGFyZ3NbMF0ucmVwbGFjZSgvJVthLXpBLVolXS9nLCAobWF0Y2gpID0+IHtcbiAgICAgICAgaWYgKG1hdGNoID09PSBcIiUlXCIpIHtcbiAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgaW5kZXgrKztcbiAgICAgICAgaWYgKG1hdGNoID09PSBcIiVjXCIpIHtcbiAgICAgICAgICBsYXN0QyA9IGluZGV4O1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICAgIGFyZ3Muc3BsaWNlKGxhc3RDLCAwLCBjKTtcbiAgICB9XG4gICAgZXhwb3J0czIubG9nID0gY29uc29sZS5kZWJ1ZyB8fCBjb25zb2xlLmxvZyB8fCAoKCkgPT4ge1xuICAgIH0pO1xuICAgIGZ1bmN0aW9uIHNhdmUobmFtZXNwYWNlcykge1xuICAgICAgdHJ5IHtcbiAgICAgICAgaWYgKG5hbWVzcGFjZXMpIHtcbiAgICAgICAgICBleHBvcnRzMi5zdG9yYWdlLnNldEl0ZW0oXCJkZWJ1Z1wiLCBuYW1lc3BhY2VzKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBleHBvcnRzMi5zdG9yYWdlLnJlbW92ZUl0ZW0oXCJkZWJ1Z1wiKTtcbiAgICAgICAgfVxuICAgICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgIH1cbiAgICB9XG4gICAgZnVuY3Rpb24gbG9hZCgpIHtcbiAgICAgIGxldCByO1xuICAgICAgdHJ5IHtcbiAgICAgICAgciA9IGV4cG9ydHMyLnN0b3JhZ2UuZ2V0SXRlbShcImRlYnVnXCIpIHx8IGV4cG9ydHMyLnN0b3JhZ2UuZ2V0SXRlbShcIkRFQlVHXCIpO1xuICAgICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgIH1cbiAgICAgIGlmICghciAmJiB0eXBlb2YgcHJvY2VzcyAhPT0gXCJ1bmRlZmluZWRcIiAmJiBcImVudlwiIGluIHByb2Nlc3MpIHtcbiAgICAgICAgciA9IHByb2Nlc3MuZW52LkRFQlVHO1xuICAgICAgfVxuICAgICAgcmV0dXJuIHI7XG4gICAgfVxuICAgIGZ1bmN0aW9uIGxvY2Fsc3RvcmFnZSgpIHtcbiAgICAgIHRyeSB7XG4gICAgICAgIHJldHVybiBsb2NhbFN0b3JhZ2U7XG4gICAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgfVxuICAgIH1cbiAgICBtb2R1bGUyLmV4cG9ydHMgPSByZXF1aXJlX2NvbW1vbigpKGV4cG9ydHMyKTtcbiAgICB2YXIgeyBmb3JtYXR0ZXJzIH0gPSBtb2R1bGUyLmV4cG9ydHM7XG4gICAgZm9ybWF0dGVycy5qID0gZnVuY3Rpb24odikge1xuICAgICAgdHJ5IHtcbiAgICAgICAgcmV0dXJuIEpTT04uc3RyaW5naWZ5KHYpO1xuICAgICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgcmV0dXJuIFwiW1VuZXhwZWN0ZWRKU09OUGFyc2VFcnJvcl06IFwiICsgZXJyb3IubWVzc2FnZTtcbiAgICAgIH1cbiAgICB9O1xuICB9XG59KTtcblxuLy8gbm9kZV9tb2R1bGVzL2hhcy1mbGFnL2luZGV4LmpzXG52YXIgcmVxdWlyZV9oYXNfZmxhZyA9IF9fY29tbW9uSlMoe1xuICBcIm5vZGVfbW9kdWxlcy9oYXMtZmxhZy9pbmRleC5qc1wiKGV4cG9ydHMyLCBtb2R1bGUyKSB7XG4gICAgXCJ1c2Ugc3RyaWN0XCI7XG4gICAgbW9kdWxlMi5leHBvcnRzID0gKGZsYWcsIGFyZ3YgPSBwcm9jZXNzLmFyZ3YpID0+IHtcbiAgICAgIGNvbnN0IHByZWZpeCA9IGZsYWcuc3RhcnRzV2l0aChcIi1cIikgPyBcIlwiIDogZmxhZy5sZW5ndGggPT09IDEgPyBcIi1cIiA6IFwiLS1cIjtcbiAgICAgIGNvbnN0IHBvc2l0aW9uID0gYXJndi5pbmRleE9mKHByZWZpeCArIGZsYWcpO1xuICAgICAgY29uc3QgdGVybWluYXRvclBvc2l0aW9uID0gYXJndi5pbmRleE9mKFwiLS1cIik7XG4gICAgICByZXR1cm4gcG9zaXRpb24gIT09IC0xICYmICh0ZXJtaW5hdG9yUG9zaXRpb24gPT09IC0xIHx8IHBvc2l0aW9uIDwgdGVybWluYXRvclBvc2l0aW9uKTtcbiAgICB9O1xuICB9XG59KTtcblxuLy8gbm9kZV9tb2R1bGVzL3N1cHBvcnRzLWNvbG9yL2luZGV4LmpzXG52YXIgcmVxdWlyZV9zdXBwb3J0c19jb2xvciA9IF9fY29tbW9uSlMoe1xuICBcIm5vZGVfbW9kdWxlcy9zdXBwb3J0cy1jb2xvci9pbmRleC5qc1wiKGV4cG9ydHMyLCBtb2R1bGUyKSB7XG4gICAgXCJ1c2Ugc3RyaWN0XCI7XG4gICAgdmFyIG9zID0gcmVxdWlyZShcIm9zXCIpO1xuICAgIHZhciB0dHkgPSByZXF1aXJlKFwidHR5XCIpO1xuICAgIHZhciBoYXNGbGFnID0gcmVxdWlyZV9oYXNfZmxhZygpO1xuICAgIHZhciB7IGVudiB9ID0gcHJvY2VzcztcbiAgICB2YXIgZm9yY2VDb2xvcjtcbiAgICBpZiAoaGFzRmxhZyhcIm5vLWNvbG9yXCIpIHx8IGhhc0ZsYWcoXCJuby1jb2xvcnNcIikgfHwgaGFzRmxhZyhcImNvbG9yPWZhbHNlXCIpIHx8IGhhc0ZsYWcoXCJjb2xvcj1uZXZlclwiKSkge1xuICAgICAgZm9yY2VDb2xvciA9IDA7XG4gICAgfSBlbHNlIGlmIChoYXNGbGFnKFwiY29sb3JcIikgfHwgaGFzRmxhZyhcImNvbG9yc1wiKSB8fCBoYXNGbGFnKFwiY29sb3I9dHJ1ZVwiKSB8fCBoYXNGbGFnKFwiY29sb3I9YWx3YXlzXCIpKSB7XG4gICAgICBmb3JjZUNvbG9yID0gMTtcbiAgICB9XG4gICAgaWYgKFwiRk9SQ0VfQ09MT1JcIiBpbiBlbnYpIHtcbiAgICAgIGlmIChlbnYuRk9SQ0VfQ09MT1IgPT09IFwidHJ1ZVwiKSB7XG4gICAgICAgIGZvcmNlQ29sb3IgPSAxO1xuICAgICAgfSBlbHNlIGlmIChlbnYuRk9SQ0VfQ09MT1IgPT09IFwiZmFsc2VcIikge1xuICAgICAgICBmb3JjZUNvbG9yID0gMDtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGZvcmNlQ29sb3IgPSBlbnYuRk9SQ0VfQ09MT1IubGVuZ3RoID09PSAwID8gMSA6IE1hdGgubWluKHBhcnNlSW50KGVudi5GT1JDRV9DT0xPUiwgMTApLCAzKTtcbiAgICAgIH1cbiAgICB9XG4gICAgZnVuY3Rpb24gdHJhbnNsYXRlTGV2ZWwobGV2ZWwpIHtcbiAgICAgIGlmIChsZXZlbCA9PT0gMCkge1xuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICB9XG4gICAgICByZXR1cm4ge1xuICAgICAgICBsZXZlbCxcbiAgICAgICAgaGFzQmFzaWM6IHRydWUsXG4gICAgICAgIGhhczI1NjogbGV2ZWwgPj0gMixcbiAgICAgICAgaGFzMTZtOiBsZXZlbCA+PSAzXG4gICAgICB9O1xuICAgIH1cbiAgICBmdW5jdGlvbiBzdXBwb3J0c0NvbG9yKGhhdmVTdHJlYW0sIHN0cmVhbUlzVFRZKSB7XG4gICAgICBpZiAoZm9yY2VDb2xvciA9PT0gMCkge1xuICAgICAgICByZXR1cm4gMDtcbiAgICAgIH1cbiAgICAgIGlmIChoYXNGbGFnKFwiY29sb3I9MTZtXCIpIHx8IGhhc0ZsYWcoXCJjb2xvcj1mdWxsXCIpIHx8IGhhc0ZsYWcoXCJjb2xvcj10cnVlY29sb3JcIikpIHtcbiAgICAgICAgcmV0dXJuIDM7XG4gICAgICB9XG4gICAgICBpZiAoaGFzRmxhZyhcImNvbG9yPTI1NlwiKSkge1xuICAgICAgICByZXR1cm4gMjtcbiAgICAgIH1cbiAgICAgIGlmIChoYXZlU3RyZWFtICYmICFzdHJlYW1Jc1RUWSAmJiBmb3JjZUNvbG9yID09PSB2b2lkIDApIHtcbiAgICAgICAgcmV0dXJuIDA7XG4gICAgICB9XG4gICAgICBjb25zdCBtaW4gPSBmb3JjZUNvbG9yIHx8IDA7XG4gICAgICBpZiAoZW52LlRFUk0gPT09IFwiZHVtYlwiKSB7XG4gICAgICAgIHJldHVybiBtaW47XG4gICAgICB9XG4gICAgICBpZiAocHJvY2Vzcy5wbGF0Zm9ybSA9PT0gXCJ3aW4zMlwiKSB7XG4gICAgICAgIGNvbnN0IG9zUmVsZWFzZSA9IG9zLnJlbGVhc2UoKS5zcGxpdChcIi5cIik7XG4gICAgICAgIGlmIChOdW1iZXIob3NSZWxlYXNlWzBdKSA+PSAxMCAmJiBOdW1iZXIob3NSZWxlYXNlWzJdKSA+PSAxMDU4Nikge1xuICAgICAgICAgIHJldHVybiBOdW1iZXIob3NSZWxlYXNlWzJdKSA+PSAxNDkzMSA/IDMgOiAyO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiAxO1xuICAgICAgfVxuICAgICAgaWYgKFwiQ0lcIiBpbiBlbnYpIHtcbiAgICAgICAgaWYgKFtcIlRSQVZJU1wiLCBcIkNJUkNMRUNJXCIsIFwiQVBQVkVZT1JcIiwgXCJHSVRMQUJfQ0lcIiwgXCJHSVRIVUJfQUNUSU9OU1wiLCBcIkJVSUxES0lURVwiXS5zb21lKChzaWduKSA9PiBzaWduIGluIGVudikgfHwgZW52LkNJX05BTUUgPT09IFwiY29kZXNoaXBcIikge1xuICAgICAgICAgIHJldHVybiAxO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBtaW47XG4gICAgICB9XG4gICAgICBpZiAoXCJURUFNQ0lUWV9WRVJTSU9OXCIgaW4gZW52KSB7XG4gICAgICAgIHJldHVybiAvXig5XFwuKDAqWzEtOV1cXGQqKVxcLnxcXGR7Mix9XFwuKS8udGVzdChlbnYuVEVBTUNJVFlfVkVSU0lPTikgPyAxIDogMDtcbiAgICAgIH1cbiAgICAgIGlmIChlbnYuQ09MT1JURVJNID09PSBcInRydWVjb2xvclwiKSB7XG4gICAgICAgIHJldHVybiAzO1xuICAgICAgfVxuICAgICAgaWYgKFwiVEVSTV9QUk9HUkFNXCIgaW4gZW52KSB7XG4gICAgICAgIGNvbnN0IHZlcnNpb24gPSBwYXJzZUludCgoZW52LlRFUk1fUFJPR1JBTV9WRVJTSU9OIHx8IFwiXCIpLnNwbGl0KFwiLlwiKVswXSwgMTApO1xuICAgICAgICBzd2l0Y2ggKGVudi5URVJNX1BST0dSQU0pIHtcbiAgICAgICAgICBjYXNlIFwiaVRlcm0uYXBwXCI6XG4gICAgICAgICAgICByZXR1cm4gdmVyc2lvbiA+PSAzID8gMyA6IDI7XG4gICAgICAgICAgY2FzZSBcIkFwcGxlX1Rlcm1pbmFsXCI6XG4gICAgICAgICAgICByZXR1cm4gMjtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgaWYgKC8tMjU2KGNvbG9yKT8kL2kudGVzdChlbnYuVEVSTSkpIHtcbiAgICAgICAgcmV0dXJuIDI7XG4gICAgICB9XG4gICAgICBpZiAoL15zY3JlZW58Xnh0ZXJtfF52dDEwMHxednQyMjB8XnJ4dnR8Y29sb3J8YW5zaXxjeWd3aW58bGludXgvaS50ZXN0KGVudi5URVJNKSkge1xuICAgICAgICByZXR1cm4gMTtcbiAgICAgIH1cbiAgICAgIGlmIChcIkNPTE9SVEVSTVwiIGluIGVudikge1xuICAgICAgICByZXR1cm4gMTtcbiAgICAgIH1cbiAgICAgIHJldHVybiBtaW47XG4gICAgfVxuICAgIGZ1bmN0aW9uIGdldFN1cHBvcnRMZXZlbChzdHJlYW0pIHtcbiAgICAgIGNvbnN0IGxldmVsID0gc3VwcG9ydHNDb2xvcihzdHJlYW0sIHN0cmVhbSAmJiBzdHJlYW0uaXNUVFkpO1xuICAgICAgcmV0dXJuIHRyYW5zbGF0ZUxldmVsKGxldmVsKTtcbiAgICB9XG4gICAgbW9kdWxlMi5leHBvcnRzID0ge1xuICAgICAgc3VwcG9ydHNDb2xvcjogZ2V0U3VwcG9ydExldmVsLFxuICAgICAgc3Rkb3V0OiB0cmFuc2xhdGVMZXZlbChzdXBwb3J0c0NvbG9yKHRydWUsIHR0eS5pc2F0dHkoMSkpKSxcbiAgICAgIHN0ZGVycjogdHJhbnNsYXRlTGV2ZWwoc3VwcG9ydHNDb2xvcih0cnVlLCB0dHkuaXNhdHR5KDIpKSlcbiAgICB9O1xuICB9XG59KTtcblxuLy8gbm9kZV9tb2R1bGVzL2RlYnVnL3NyYy9ub2RlLmpzXG52YXIgcmVxdWlyZV9ub2RlID0gX19jb21tb25KUyh7XG4gIFwibm9kZV9tb2R1bGVzL2RlYnVnL3NyYy9ub2RlLmpzXCIoZXhwb3J0czIsIG1vZHVsZTIpIHtcbiAgICB2YXIgdHR5ID0gcmVxdWlyZShcInR0eVwiKTtcbiAgICB2YXIgdXRpbDIgPSByZXF1aXJlKFwidXRpbFwiKTtcbiAgICBleHBvcnRzMi5pbml0ID0gaW5pdDtcbiAgICBleHBvcnRzMi5sb2cgPSBsb2c7XG4gICAgZXhwb3J0czIuZm9ybWF0QXJncyA9IGZvcm1hdEFyZ3M7XG4gICAgZXhwb3J0czIuc2F2ZSA9IHNhdmU7XG4gICAgZXhwb3J0czIubG9hZCA9IGxvYWQ7XG4gICAgZXhwb3J0czIudXNlQ29sb3JzID0gdXNlQ29sb3JzO1xuICAgIGV4cG9ydHMyLmRlc3Ryb3kgPSB1dGlsMi5kZXByZWNhdGUoXG4gICAgICAoKSA9PiB7XG4gICAgICB9LFxuICAgICAgXCJJbnN0YW5jZSBtZXRob2QgYGRlYnVnLmRlc3Ryb3koKWAgaXMgZGVwcmVjYXRlZCBhbmQgbm8gbG9uZ2VyIGRvZXMgYW55dGhpbmcuIEl0IHdpbGwgYmUgcmVtb3ZlZCBpbiB0aGUgbmV4dCBtYWpvciB2ZXJzaW9uIG9mIGBkZWJ1Z2AuXCJcbiAgICApO1xuICAgIGV4cG9ydHMyLmNvbG9ycyA9IFs2LCAyLCAzLCA0LCA1LCAxXTtcbiAgICB0cnkge1xuICAgICAgY29uc3Qgc3VwcG9ydHNDb2xvciA9IHJlcXVpcmVfc3VwcG9ydHNfY29sb3IoKTtcbiAgICAgIGlmIChzdXBwb3J0c0NvbG9yICYmIChzdXBwb3J0c0NvbG9yLnN0ZGVyciB8fCBzdXBwb3J0c0NvbG9yKS5sZXZlbCA+PSAyKSB7XG4gICAgICAgIGV4cG9ydHMyLmNvbG9ycyA9IFtcbiAgICAgICAgICAyMCxcbiAgICAgICAgICAyMSxcbiAgICAgICAgICAyNixcbiAgICAgICAgICAyNyxcbiAgICAgICAgICAzMixcbiAgICAgICAgICAzMyxcbiAgICAgICAgICAzOCxcbiAgICAgICAgICAzOSxcbiAgICAgICAgICA0MCxcbiAgICAgICAgICA0MSxcbiAgICAgICAgICA0MixcbiAgICAgICAgICA0MyxcbiAgICAgICAgICA0NCxcbiAgICAgICAgICA0NSxcbiAgICAgICAgICA1NixcbiAgICAgICAgICA1NyxcbiAgICAgICAgICA2MixcbiAgICAgICAgICA2MyxcbiAgICAgICAgICA2OCxcbiAgICAgICAgICA2OSxcbiAgICAgICAgICA3NCxcbiAgICAgICAgICA3NSxcbiAgICAgICAgICA3NixcbiAgICAgICAgICA3NyxcbiAgICAgICAgICA3OCxcbiAgICAgICAgICA3OSxcbiAgICAgICAgICA4MCxcbiAgICAgICAgICA4MSxcbiAgICAgICAgICA5MixcbiAgICAgICAgICA5MyxcbiAgICAgICAgICA5OCxcbiAgICAgICAgICA5OSxcbiAgICAgICAgICAxMTIsXG4gICAgICAgICAgMTEzLFxuICAgICAgICAgIDEyOCxcbiAgICAgICAgICAxMjksXG4gICAgICAgICAgMTM0LFxuICAgICAgICAgIDEzNSxcbiAgICAgICAgICAxNDgsXG4gICAgICAgICAgMTQ5LFxuICAgICAgICAgIDE2MCxcbiAgICAgICAgICAxNjEsXG4gICAgICAgICAgMTYyLFxuICAgICAgICAgIDE2MyxcbiAgICAgICAgICAxNjQsXG4gICAgICAgICAgMTY1LFxuICAgICAgICAgIDE2NixcbiAgICAgICAgICAxNjcsXG4gICAgICAgICAgMTY4LFxuICAgICAgICAgIDE2OSxcbiAgICAgICAgICAxNzAsXG4gICAgICAgICAgMTcxLFxuICAgICAgICAgIDE3MixcbiAgICAgICAgICAxNzMsXG4gICAgICAgICAgMTc4LFxuICAgICAgICAgIDE3OSxcbiAgICAgICAgICAxODQsXG4gICAgICAgICAgMTg1LFxuICAgICAgICAgIDE5NixcbiAgICAgICAgICAxOTcsXG4gICAgICAgICAgMTk4LFxuICAgICAgICAgIDE5OSxcbiAgICAgICAgICAyMDAsXG4gICAgICAgICAgMjAxLFxuICAgICAgICAgIDIwMixcbiAgICAgICAgICAyMDMsXG4gICAgICAgICAgMjA0LFxuICAgICAgICAgIDIwNSxcbiAgICAgICAgICAyMDYsXG4gICAgICAgICAgMjA3LFxuICAgICAgICAgIDIwOCxcbiAgICAgICAgICAyMDksXG4gICAgICAgICAgMjE0LFxuICAgICAgICAgIDIxNSxcbiAgICAgICAgICAyMjAsXG4gICAgICAgICAgMjIxXG4gICAgICAgIF07XG4gICAgICB9XG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICB9XG4gICAgZXhwb3J0czIuaW5zcGVjdE9wdHMgPSBPYmplY3Qua2V5cyhwcm9jZXNzLmVudikuZmlsdGVyKChrZXkpID0+IHtcbiAgICAgIHJldHVybiAvXmRlYnVnXy9pLnRlc3Qoa2V5KTtcbiAgICB9KS5yZWR1Y2UoKG9iaiwga2V5KSA9PiB7XG4gICAgICBjb25zdCBwcm9wID0ga2V5LnN1YnN0cmluZyg2KS50b0xvd2VyQ2FzZSgpLnJlcGxhY2UoL18oW2Etel0pL2csIChfMiwgaykgPT4ge1xuICAgICAgICByZXR1cm4gay50b1VwcGVyQ2FzZSgpO1xuICAgICAgfSk7XG4gICAgICBsZXQgdmFsID0gcHJvY2Vzcy5lbnZba2V5XTtcbiAgICAgIGlmICgvXih5ZXN8b258dHJ1ZXxlbmFibGVkKSQvaS50ZXN0KHZhbCkpIHtcbiAgICAgICAgdmFsID0gdHJ1ZTtcbiAgICAgIH0gZWxzZSBpZiAoL14obm98b2ZmfGZhbHNlfGRpc2FibGVkKSQvaS50ZXN0KHZhbCkpIHtcbiAgICAgICAgdmFsID0gZmFsc2U7XG4gICAgICB9IGVsc2UgaWYgKHZhbCA9PT0gXCJudWxsXCIpIHtcbiAgICAgICAgdmFsID0gbnVsbDtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHZhbCA9IE51bWJlcih2YWwpO1xuICAgICAgfVxuICAgICAgb2JqW3Byb3BdID0gdmFsO1xuICAgICAgcmV0dXJuIG9iajtcbiAgICB9LCB7fSk7XG4gICAgZnVuY3Rpb24gdXNlQ29sb3JzKCkge1xuICAgICAgcmV0dXJuIFwiY29sb3JzXCIgaW4gZXhwb3J0czIuaW5zcGVjdE9wdHMgPyBCb29sZWFuKGV4cG9ydHMyLmluc3BlY3RPcHRzLmNvbG9ycykgOiB0dHkuaXNhdHR5KHByb2Nlc3Muc3RkZXJyLmZkKTtcbiAgICB9XG4gICAgZnVuY3Rpb24gZm9ybWF0QXJncyhhcmdzKSB7XG4gICAgICBjb25zdCB7IG5hbWVzcGFjZTogbmFtZSwgdXNlQ29sb3JzOiB1c2VDb2xvcnMyIH0gPSB0aGlzO1xuICAgICAgaWYgKHVzZUNvbG9yczIpIHtcbiAgICAgICAgY29uc3QgYyA9IHRoaXMuY29sb3I7XG4gICAgICAgIGNvbnN0IGNvbG9yQ29kZSA9IFwiXFx4MUJbM1wiICsgKGMgPCA4ID8gYyA6IFwiODs1O1wiICsgYyk7XG4gICAgICAgIGNvbnN0IHByZWZpeCA9IGAgICR7Y29sb3JDb2RlfTsxbSR7bmFtZX0gXFx4MUJbMG1gO1xuICAgICAgICBhcmdzWzBdID0gcHJlZml4ICsgYXJnc1swXS5zcGxpdChcIlxcblwiKS5qb2luKFwiXFxuXCIgKyBwcmVmaXgpO1xuICAgICAgICBhcmdzLnB1c2goY29sb3JDb2RlICsgXCJtK1wiICsgbW9kdWxlMi5leHBvcnRzLmh1bWFuaXplKHRoaXMuZGlmZikgKyBcIlxceDFCWzBtXCIpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgYXJnc1swXSA9IGdldERhdGUoKSArIG5hbWUgKyBcIiBcIiArIGFyZ3NbMF07XG4gICAgICB9XG4gICAgfVxuICAgIGZ1bmN0aW9uIGdldERhdGUoKSB7XG4gICAgICBpZiAoZXhwb3J0czIuaW5zcGVjdE9wdHMuaGlkZURhdGUpIHtcbiAgICAgICAgcmV0dXJuIFwiXCI7XG4gICAgICB9XG4gICAgICByZXR1cm4gKC8qIEBfX1BVUkVfXyAqLyBuZXcgRGF0ZSgpKS50b0lTT1N0cmluZygpICsgXCIgXCI7XG4gICAgfVxuICAgIGZ1bmN0aW9uIGxvZyguLi5hcmdzKSB7XG4gICAgICByZXR1cm4gcHJvY2Vzcy5zdGRlcnIud3JpdGUodXRpbDIuZm9ybWF0V2l0aE9wdGlvbnMoZXhwb3J0czIuaW5zcGVjdE9wdHMsIC4uLmFyZ3MpICsgXCJcXG5cIik7XG4gICAgfVxuICAgIGZ1bmN0aW9uIHNhdmUobmFtZXNwYWNlcykge1xuICAgICAgaWYgKG5hbWVzcGFjZXMpIHtcbiAgICAgICAgcHJvY2Vzcy5lbnYuREVCVUcgPSBuYW1lc3BhY2VzO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgZGVsZXRlIHByb2Nlc3MuZW52LkRFQlVHO1xuICAgICAgfVxuICAgIH1cbiAgICBmdW5jdGlvbiBsb2FkKCkge1xuICAgICAgcmV0dXJuIHByb2Nlc3MuZW52LkRFQlVHO1xuICAgIH1cbiAgICBmdW5jdGlvbiBpbml0KGRlYnVnKSB7XG4gICAgICBkZWJ1Zy5pbnNwZWN0T3B0cyA9IHt9O1xuICAgICAgY29uc3Qga2V5cyA9IE9iamVjdC5rZXlzKGV4cG9ydHMyLmluc3BlY3RPcHRzKTtcbiAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwga2V5cy5sZW5ndGg7IGkrKykge1xuICAgICAgICBkZWJ1Zy5pbnNwZWN0T3B0c1trZXlzW2ldXSA9IGV4cG9ydHMyLmluc3BlY3RPcHRzW2tleXNbaV1dO1xuICAgICAgfVxuICAgIH1cbiAgICBtb2R1bGUyLmV4cG9ydHMgPSByZXF1aXJlX2NvbW1vbigpKGV4cG9ydHMyKTtcbiAgICB2YXIgeyBmb3JtYXR0ZXJzIH0gPSBtb2R1bGUyLmV4cG9ydHM7XG4gICAgZm9ybWF0dGVycy5vID0gZnVuY3Rpb24odikge1xuICAgICAgdGhpcy5pbnNwZWN0T3B0cy5jb2xvcnMgPSB0aGlzLnVzZUNvbG9ycztcbiAgICAgIHJldHVybiB1dGlsMi5pbnNwZWN0KHYsIHRoaXMuaW5zcGVjdE9wdHMpLnNwbGl0KFwiXFxuXCIpLm1hcCgoc3RyKSA9PiBzdHIudHJpbSgpKS5qb2luKFwiIFwiKTtcbiAgICB9O1xuICAgIGZvcm1hdHRlcnMuTyA9IGZ1bmN0aW9uKHYpIHtcbiAgICAgIHRoaXMuaW5zcGVjdE9wdHMuY29sb3JzID0gdGhpcy51c2VDb2xvcnM7XG4gICAgICByZXR1cm4gdXRpbDIuaW5zcGVjdCh2LCB0aGlzLmluc3BlY3RPcHRzKTtcbiAgICB9O1xuICB9XG59KTtcblxuLy8gbm9kZV9tb2R1bGVzL2RlYnVnL3NyYy9pbmRleC5qc1xudmFyIHJlcXVpcmVfc3JjID0gX19jb21tb25KUyh7XG4gIFwibm9kZV9tb2R1bGVzL2RlYnVnL3NyYy9pbmRleC5qc1wiKGV4cG9ydHMyLCBtb2R1bGUyKSB7XG4gICAgaWYgKHR5cGVvZiBwcm9jZXNzID09PSBcInVuZGVmaW5lZFwiIHx8IHByb2Nlc3MudHlwZSA9PT0gXCJyZW5kZXJlclwiIHx8IHByb2Nlc3MuYnJvd3NlciA9PT0gdHJ1ZSB8fCBwcm9jZXNzLl9fbndqcykge1xuICAgICAgbW9kdWxlMi5leHBvcnRzID0gcmVxdWlyZV9icm93c2VyKCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIG1vZHVsZTIuZXhwb3J0cyA9IHJlcXVpcmVfbm9kZSgpO1xuICAgIH1cbiAgfVxufSk7XG5cbi8vIG5vZGVfbW9kdWxlcy9lZS1maXJzdC9pbmRleC5qc1xudmFyIHJlcXVpcmVfZWVfZmlyc3QgPSBfX2NvbW1vbkpTKHtcbiAgXCJub2RlX21vZHVsZXMvZWUtZmlyc3QvaW5kZXguanNcIihleHBvcnRzMiwgbW9kdWxlMikge1xuICAgIFwidXNlIHN0cmljdFwiO1xuICAgIG1vZHVsZTIuZXhwb3J0cyA9IGZpcnN0O1xuICAgIGZ1bmN0aW9uIGZpcnN0KHN0dWZmLCBkb25lKSB7XG4gICAgICBpZiAoIUFycmF5LmlzQXJyYXkoc3R1ZmYpKVxuICAgICAgICB0aHJvdyBuZXcgVHlwZUVycm9yKFwiYXJnIG11c3QgYmUgYW4gYXJyYXkgb2YgW2VlLCBldmVudHMuLi5dIGFycmF5c1wiKTtcbiAgICAgIHZhciBjbGVhbnVwcyA9IFtdO1xuICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBzdHVmZi5sZW5ndGg7IGkrKykge1xuICAgICAgICB2YXIgYXJyID0gc3R1ZmZbaV07XG4gICAgICAgIGlmICghQXJyYXkuaXNBcnJheShhcnIpIHx8IGFyci5sZW5ndGggPCAyKVxuICAgICAgICAgIHRocm93IG5ldyBUeXBlRXJyb3IoXCJlYWNoIGFycmF5IG1lbWJlciBtdXN0IGJlIFtlZSwgZXZlbnRzLi4uXVwiKTtcbiAgICAgICAgdmFyIGVlID0gYXJyWzBdO1xuICAgICAgICBmb3IgKHZhciBqID0gMTsgaiA8IGFyci5sZW5ndGg7IGorKykge1xuICAgICAgICAgIHZhciBldmVudCA9IGFycltqXTtcbiAgICAgICAgICB2YXIgZm4gPSBsaXN0ZW5lcihldmVudCwgY2FsbGJhY2spO1xuICAgICAgICAgIGVlLm9uKGV2ZW50LCBmbik7XG4gICAgICAgICAgY2xlYW51cHMucHVzaCh7XG4gICAgICAgICAgICBlZSxcbiAgICAgICAgICAgIGV2ZW50LFxuICAgICAgICAgICAgZm5cbiAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgZnVuY3Rpb24gY2FsbGJhY2soKSB7XG4gICAgICAgIGNsZWFudXAoKTtcbiAgICAgICAgZG9uZS5hcHBseShudWxsLCBhcmd1bWVudHMpO1xuICAgICAgfVxuICAgICAgZnVuY3Rpb24gY2xlYW51cCgpIHtcbiAgICAgICAgdmFyIHg7XG4gICAgICAgIGZvciAodmFyIGkyID0gMDsgaTIgPCBjbGVhbnVwcy5sZW5ndGg7IGkyKyspIHtcbiAgICAgICAgICB4ID0gY2xlYW51cHNbaTJdO1xuICAgICAgICAgIHguZWUucmVtb3ZlTGlzdGVuZXIoeC5ldmVudCwgeC5mbik7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIGZ1bmN0aW9uIHRodW5rKGZuMikge1xuICAgICAgICBkb25lID0gZm4yO1xuICAgICAgfVxuICAgICAgdGh1bmsuY2FuY2VsID0gY2xlYW51cDtcbiAgICAgIHJldHVybiB0aHVuaztcbiAgICB9XG4gICAgZnVuY3Rpb24gbGlzdGVuZXIoZXZlbnQsIGRvbmUpIHtcbiAgICAgIHJldHVybiBmdW5jdGlvbiBvbmV2ZW50KGFyZzEpIHtcbiAgICAgICAgdmFyIGFyZ3MgPSBuZXcgQXJyYXkoYXJndW1lbnRzLmxlbmd0aCk7XG4gICAgICAgIHZhciBlZSA9IHRoaXM7XG4gICAgICAgIHZhciBlcnIyID0gZXZlbnQgPT09IFwiZXJyb3JcIiA/IGFyZzEgOiBudWxsO1xuICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IGFyZ3MubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgICBhcmdzW2ldID0gYXJndW1lbnRzW2ldO1xuICAgICAgICB9XG4gICAgICAgIGRvbmUoZXJyMiwgZWUsIGV2ZW50LCBhcmdzKTtcbiAgICAgIH07XG4gICAgfVxuICB9XG59KTtcblxuLy8gbm9kZV9tb2R1bGVzL29uLWZpbmlzaGVkL2luZGV4LmpzXG52YXIgcmVxdWlyZV9vbl9maW5pc2hlZCA9IF9fY29tbW9uSlMoe1xuICBcIm5vZGVfbW9kdWxlcy9vbi1maW5pc2hlZC9pbmRleC5qc1wiKGV4cG9ydHMyLCBtb2R1bGUyKSB7XG4gICAgXCJ1c2Ugc3RyaWN0XCI7XG4gICAgbW9kdWxlMi5leHBvcnRzID0gb25GaW5pc2hlZDtcbiAgICBtb2R1bGUyLmV4cG9ydHMuaXNGaW5pc2hlZCA9IGlzRmluaXNoZWQ7XG4gICAgdmFyIGFzeW5jSG9va3MgPSB0cnlSZXF1aXJlQXN5bmNIb29rcygpO1xuICAgIHZhciBmaXJzdCA9IHJlcXVpcmVfZWVfZmlyc3QoKTtcbiAgICB2YXIgZGVmZXIgPSB0eXBlb2Ygc2V0SW1tZWRpYXRlID09PSBcImZ1bmN0aW9uXCIgPyBzZXRJbW1lZGlhdGUgOiBmdW5jdGlvbihmbikge1xuICAgICAgcHJvY2Vzcy5uZXh0VGljayhmbi5iaW5kLmFwcGx5KGZuLCBhcmd1bWVudHMpKTtcbiAgICB9O1xuICAgIGZ1bmN0aW9uIG9uRmluaXNoZWQobXNnLCBsaXN0ZW5lcikge1xuICAgICAgaWYgKGlzRmluaXNoZWQobXNnKSAhPT0gZmFsc2UpIHtcbiAgICAgICAgZGVmZXIobGlzdGVuZXIsIG51bGwsIG1zZyk7XG4gICAgICAgIHJldHVybiBtc2c7XG4gICAgICB9XG4gICAgICBhdHRhY2hMaXN0ZW5lcihtc2csIHdyYXAobGlzdGVuZXIpKTtcbiAgICAgIHJldHVybiBtc2c7XG4gICAgfVxuICAgIGZ1bmN0aW9uIGlzRmluaXNoZWQobXNnKSB7XG4gICAgICB2YXIgc29ja2V0ID0gbXNnLnNvY2tldDtcbiAgICAgIGlmICh0eXBlb2YgbXNnLmZpbmlzaGVkID09PSBcImJvb2xlYW5cIikge1xuICAgICAgICByZXR1cm4gQm9vbGVhbihtc2cuZmluaXNoZWQgfHwgc29ja2V0ICYmICFzb2NrZXQud3JpdGFibGUpO1xuICAgICAgfVxuICAgICAgaWYgKHR5cGVvZiBtc2cuY29tcGxldGUgPT09IFwiYm9vbGVhblwiKSB7XG4gICAgICAgIHJldHVybiBCb29sZWFuKG1zZy51cGdyYWRlIHx8ICFzb2NrZXQgfHwgIXNvY2tldC5yZWFkYWJsZSB8fCBtc2cuY29tcGxldGUgJiYgIW1zZy5yZWFkYWJsZSk7XG4gICAgICB9XG4gICAgICByZXR1cm4gdm9pZCAwO1xuICAgIH1cbiAgICBmdW5jdGlvbiBhdHRhY2hGaW5pc2hlZExpc3RlbmVyKG1zZywgY2FsbGJhY2spIHtcbiAgICAgIHZhciBlZU1zZztcbiAgICAgIHZhciBlZVNvY2tldDtcbiAgICAgIHZhciBmaW5pc2hlZCA9IGZhbHNlO1xuICAgICAgZnVuY3Rpb24gb25GaW5pc2goZXJyb3IpIHtcbiAgICAgICAgZWVNc2cuY2FuY2VsKCk7XG4gICAgICAgIGVlU29ja2V0LmNhbmNlbCgpO1xuICAgICAgICBmaW5pc2hlZCA9IHRydWU7XG4gICAgICAgIGNhbGxiYWNrKGVycm9yKTtcbiAgICAgIH1cbiAgICAgIGVlTXNnID0gZWVTb2NrZXQgPSBmaXJzdChbW21zZywgXCJlbmRcIiwgXCJmaW5pc2hcIl1dLCBvbkZpbmlzaCk7XG4gICAgICBmdW5jdGlvbiBvblNvY2tldChzb2NrZXQpIHtcbiAgICAgICAgbXNnLnJlbW92ZUxpc3RlbmVyKFwic29ja2V0XCIsIG9uU29ja2V0KTtcbiAgICAgICAgaWYgKGZpbmlzaGVkKSByZXR1cm47XG4gICAgICAgIGlmIChlZU1zZyAhPT0gZWVTb2NrZXQpIHJldHVybjtcbiAgICAgICAgZWVTb2NrZXQgPSBmaXJzdChbW3NvY2tldCwgXCJlcnJvclwiLCBcImNsb3NlXCJdXSwgb25GaW5pc2gpO1xuICAgICAgfVxuICAgICAgaWYgKG1zZy5zb2NrZXQpIHtcbiAgICAgICAgb25Tb2NrZXQobXNnLnNvY2tldCk7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cbiAgICAgIG1zZy5vbihcInNvY2tldFwiLCBvblNvY2tldCk7XG4gICAgICBpZiAobXNnLnNvY2tldCA9PT0gdm9pZCAwKSB7XG4gICAgICAgIHBhdGNoQXNzaWduU29ja2V0KG1zZywgb25Tb2NrZXQpO1xuICAgICAgfVxuICAgIH1cbiAgICBmdW5jdGlvbiBhdHRhY2hMaXN0ZW5lcihtc2csIGxpc3RlbmVyKSB7XG4gICAgICB2YXIgYXR0YWNoZWQgPSBtc2cuX19vbkZpbmlzaGVkO1xuICAgICAgaWYgKCFhdHRhY2hlZCB8fCAhYXR0YWNoZWQucXVldWUpIHtcbiAgICAgICAgYXR0YWNoZWQgPSBtc2cuX19vbkZpbmlzaGVkID0gY3JlYXRlTGlzdGVuZXIobXNnKTtcbiAgICAgICAgYXR0YWNoRmluaXNoZWRMaXN0ZW5lcihtc2csIGF0dGFjaGVkKTtcbiAgICAgIH1cbiAgICAgIGF0dGFjaGVkLnF1ZXVlLnB1c2gobGlzdGVuZXIpO1xuICAgIH1cbiAgICBmdW5jdGlvbiBjcmVhdGVMaXN0ZW5lcihtc2cpIHtcbiAgICAgIGZ1bmN0aW9uIGxpc3RlbmVyKGVycjIpIHtcbiAgICAgICAgaWYgKG1zZy5fX29uRmluaXNoZWQgPT09IGxpc3RlbmVyKSBtc2cuX19vbkZpbmlzaGVkID0gbnVsbDtcbiAgICAgICAgaWYgKCFsaXN0ZW5lci5xdWV1ZSkgcmV0dXJuO1xuICAgICAgICB2YXIgcXVldWUgPSBsaXN0ZW5lci5xdWV1ZTtcbiAgICAgICAgbGlzdGVuZXIucXVldWUgPSBudWxsO1xuICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IHF1ZXVlLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgICAgcXVldWVbaV0oZXJyMiwgbXNnKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgbGlzdGVuZXIucXVldWUgPSBbXTtcbiAgICAgIHJldHVybiBsaXN0ZW5lcjtcbiAgICB9XG4gICAgZnVuY3Rpb24gcGF0Y2hBc3NpZ25Tb2NrZXQocmVzLCBjYWxsYmFjaykge1xuICAgICAgdmFyIGFzc2lnblNvY2tldCA9IHJlcy5hc3NpZ25Tb2NrZXQ7XG4gICAgICBpZiAodHlwZW9mIGFzc2lnblNvY2tldCAhPT0gXCJmdW5jdGlvblwiKSByZXR1cm47XG4gICAgICByZXMuYXNzaWduU29ja2V0ID0gZnVuY3Rpb24gX2Fzc2lnblNvY2tldChzb2NrZXQpIHtcbiAgICAgICAgYXNzaWduU29ja2V0LmNhbGwodGhpcywgc29ja2V0KTtcbiAgICAgICAgY2FsbGJhY2soc29ja2V0KTtcbiAgICAgIH07XG4gICAgfVxuICAgIGZ1bmN0aW9uIHRyeVJlcXVpcmVBc3luY0hvb2tzKCkge1xuICAgICAgdHJ5IHtcbiAgICAgICAgcmV0dXJuIHJlcXVpcmUoXCJhc3luY19ob29rc1wiKTtcbiAgICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgICAgcmV0dXJuIHt9O1xuICAgICAgfVxuICAgIH1cbiAgICBmdW5jdGlvbiB3cmFwKGZuKSB7XG4gICAgICB2YXIgcmVzO1xuICAgICAgaWYgKGFzeW5jSG9va3MuQXN5bmNSZXNvdXJjZSkge1xuICAgICAgICByZXMgPSBuZXcgYXN5bmNIb29rcy5Bc3luY1Jlc291cmNlKGZuLm5hbWUgfHwgXCJib3VuZC1hbm9ueW1vdXMtZm5cIik7XG4gICAgICB9XG4gICAgICBpZiAoIXJlcyB8fCAhcmVzLnJ1bkluQXN5bmNTY29wZSkge1xuICAgICAgICByZXR1cm4gZm47XG4gICAgICB9XG4gICAgICByZXR1cm4gcmVzLnJ1bkluQXN5bmNTY29wZS5iaW5kKHJlcywgZm4sIG51bGwpO1xuICAgIH1cbiAgfVxufSk7XG5cbi8vIG5vZGVfbW9kdWxlcy9ib2R5LXBhcnNlci9ub2RlX21vZHVsZXMvaWNvbnYtbGl0ZS9saWIvYm9tLWhhbmRsaW5nLmpzXG52YXIgcmVxdWlyZV9ib21faGFuZGxpbmcyID0gX19jb21tb25KUyh7XG4gIFwibm9kZV9tb2R1bGVzL2JvZHktcGFyc2VyL25vZGVfbW9kdWxlcy9pY29udi1saXRlL2xpYi9ib20taGFuZGxpbmcuanNcIihleHBvcnRzMikge1xuICAgIFwidXNlIHN0cmljdFwiO1xuICAgIHZhciBCT01DaGFyID0gXCJcXHVGRUZGXCI7XG4gICAgZXhwb3J0czIuUHJlcGVuZEJPTSA9IFByZXBlbmRCT01XcmFwcGVyO1xuICAgIGZ1bmN0aW9uIFByZXBlbmRCT01XcmFwcGVyKGVuY29kZXIsIG9wdGlvbnMpIHtcbiAgICAgIHRoaXMuZW5jb2RlciA9IGVuY29kZXI7XG4gICAgICB0aGlzLmFkZEJPTSA9IHRydWU7XG4gICAgfVxuICAgIFByZXBlbmRCT01XcmFwcGVyLnByb3RvdHlwZS53cml0ZSA9IGZ1bmN0aW9uKHN0cikge1xuICAgICAgaWYgKHRoaXMuYWRkQk9NKSB7XG4gICAgICAgIHN0ciA9IEJPTUNoYXIgKyBzdHI7XG4gICAgICAgIHRoaXMuYWRkQk9NID0gZmFsc2U7XG4gICAgICB9XG4gICAgICByZXR1cm4gdGhpcy5lbmNvZGVyLndyaXRlKHN0cik7XG4gICAgfTtcbiAgICBQcmVwZW5kQk9NV3JhcHBlci5wcm90b3R5cGUuZW5kID0gZnVuY3Rpb24oKSB7XG4gICAgICByZXR1cm4gdGhpcy5lbmNvZGVyLmVuZCgpO1xuICAgIH07XG4gICAgZXhwb3J0czIuU3RyaXBCT00gPSBTdHJpcEJPTVdyYXBwZXI7XG4gICAgZnVuY3Rpb24gU3RyaXBCT01XcmFwcGVyKGRlY29kZXIsIG9wdGlvbnMpIHtcbiAgICAgIHRoaXMuZGVjb2RlciA9IGRlY29kZXI7XG4gICAgICB0aGlzLnBhc3MgPSBmYWxzZTtcbiAgICAgIHRoaXMub3B0aW9ucyA9IG9wdGlvbnMgfHwge307XG4gICAgfVxuICAgIFN0cmlwQk9NV3JhcHBlci5wcm90b3R5cGUud3JpdGUgPSBmdW5jdGlvbihidWYpIHtcbiAgICAgIHZhciByZXMgPSB0aGlzLmRlY29kZXIud3JpdGUoYnVmKTtcbiAgICAgIGlmICh0aGlzLnBhc3MgfHwgIXJlcylcbiAgICAgICAgcmV0dXJuIHJlcztcbiAgICAgIGlmIChyZXNbMF0gPT09IEJPTUNoYXIpIHtcbiAgICAgICAgcmVzID0gcmVzLnNsaWNlKDEpO1xuICAgICAgICBpZiAodHlwZW9mIHRoaXMub3B0aW9ucy5zdHJpcEJPTSA9PT0gXCJmdW5jdGlvblwiKVxuICAgICAgICAgIHRoaXMub3B0aW9ucy5zdHJpcEJPTSgpO1xuICAgICAgfVxuICAgICAgdGhpcy5wYXNzID0gdHJ1ZTtcbiAgICAgIHJldHVybiByZXM7XG4gICAgfTtcbiAgICBTdHJpcEJPTVdyYXBwZXIucHJvdG90eXBlLmVuZCA9IGZ1bmN0aW9uKCkge1xuICAgICAgcmV0dXJuIHRoaXMuZGVjb2Rlci5lbmQoKTtcbiAgICB9O1xuICB9XG59KTtcblxuLy8gbm9kZV9tb2R1bGVzL2JvZHktcGFyc2VyL25vZGVfbW9kdWxlcy9pY29udi1saXRlL2VuY29kaW5ncy9pbnRlcm5hbC5qc1xudmFyIHJlcXVpcmVfaW50ZXJuYWwyID0gX19jb21tb25KUyh7XG4gIFwibm9kZV9tb2R1bGVzL2JvZHktcGFyc2VyL25vZGVfbW9kdWxlcy9pY29udi1saXRlL2VuY29kaW5ncy9pbnRlcm5hbC5qc1wiKGV4cG9ydHMyLCBtb2R1bGUyKSB7XG4gICAgXCJ1c2Ugc3RyaWN0XCI7XG4gICAgdmFyIEJ1ZmZlcjIgPSByZXF1aXJlX3NhZmVyKCkuQnVmZmVyO1xuICAgIG1vZHVsZTIuZXhwb3J0cyA9IHtcbiAgICAgIC8vIEVuY29kaW5nc1xuICAgICAgdXRmODogeyB0eXBlOiBcIl9pbnRlcm5hbFwiLCBib21Bd2FyZTogdHJ1ZSB9LFxuICAgICAgY2VzdTg6IHsgdHlwZTogXCJfaW50ZXJuYWxcIiwgYm9tQXdhcmU6IHRydWUgfSxcbiAgICAgIHVuaWNvZGUxMXV0Zjg6IFwidXRmOFwiLFxuICAgICAgdWNzMjogeyB0eXBlOiBcIl9pbnRlcm5hbFwiLCBib21Bd2FyZTogdHJ1ZSB9LFxuICAgICAgdXRmMTZsZTogXCJ1Y3MyXCIsXG4gICAgICBiaW5hcnk6IHsgdHlwZTogXCJfaW50ZXJuYWxcIiB9LFxuICAgICAgYmFzZTY0OiB7IHR5cGU6IFwiX2ludGVybmFsXCIgfSxcbiAgICAgIGhleDogeyB0eXBlOiBcIl9pbnRlcm5hbFwiIH0sXG4gICAgICAvLyBDb2RlYy5cbiAgICAgIF9pbnRlcm5hbDogSW50ZXJuYWxDb2RlY1xuICAgIH07XG4gICAgZnVuY3Rpb24gSW50ZXJuYWxDb2RlYyhjb2RlY09wdGlvbnMsIGljb252KSB7XG4gICAgICB0aGlzLmVuYyA9IGNvZGVjT3B0aW9ucy5lbmNvZGluZ05hbWU7XG4gICAgICB0aGlzLmJvbUF3YXJlID0gY29kZWNPcHRpb25zLmJvbUF3YXJlO1xuICAgICAgaWYgKHRoaXMuZW5jID09PSBcImJhc2U2NFwiKVxuICAgICAgICB0aGlzLmVuY29kZXIgPSBJbnRlcm5hbEVuY29kZXJCYXNlNjQ7XG4gICAgICBlbHNlIGlmICh0aGlzLmVuYyA9PT0gXCJjZXN1OFwiKSB7XG4gICAgICAgIHRoaXMuZW5jID0gXCJ1dGY4XCI7XG4gICAgICAgIHRoaXMuZW5jb2RlciA9IEludGVybmFsRW5jb2RlckNlc3U4O1xuICAgICAgICBpZiAoQnVmZmVyMi5mcm9tKFwiZWRhMGJkZWRiMmE5XCIsIFwiaGV4XCIpLnRvU3RyaW5nKCkgIT09IFwiXFx1ezFGNEE5fVwiKSB7XG4gICAgICAgICAgdGhpcy5kZWNvZGVyID0gSW50ZXJuYWxEZWNvZGVyQ2VzdTg7XG4gICAgICAgICAgdGhpcy5kZWZhdWx0Q2hhclVuaWNvZGUgPSBpY29udi5kZWZhdWx0Q2hhclVuaWNvZGU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgSW50ZXJuYWxDb2RlYy5wcm90b3R5cGUuZW5jb2RlciA9IEludGVybmFsRW5jb2RlcjtcbiAgICBJbnRlcm5hbENvZGVjLnByb3RvdHlwZS5kZWNvZGVyID0gSW50ZXJuYWxEZWNvZGVyO1xuICAgIHZhciBTdHJpbmdEZWNvZGVyID0gcmVxdWlyZShcInN0cmluZ19kZWNvZGVyXCIpLlN0cmluZ0RlY29kZXI7XG4gICAgaWYgKCFTdHJpbmdEZWNvZGVyLnByb3RvdHlwZS5lbmQpXG4gICAgICBTdHJpbmdEZWNvZGVyLnByb3RvdHlwZS5lbmQgPSBmdW5jdGlvbigpIHtcbiAgICAgIH07XG4gICAgZnVuY3Rpb24gSW50ZXJuYWxEZWNvZGVyKG9wdGlvbnMsIGNvZGVjKSB7XG4gICAgICB0aGlzLmRlY29kZXIgPSBuZXcgU3RyaW5nRGVjb2Rlcihjb2RlYy5lbmMpO1xuICAgIH1cbiAgICBJbnRlcm5hbERlY29kZXIucHJvdG90eXBlLndyaXRlID0gZnVuY3Rpb24oYnVmKSB7XG4gICAgICBpZiAoIUJ1ZmZlcjIuaXNCdWZmZXIoYnVmKSkge1xuICAgICAgICBidWYgPSBCdWZmZXIyLmZyb20oYnVmKTtcbiAgICAgIH1cbiAgICAgIHJldHVybiB0aGlzLmRlY29kZXIud3JpdGUoYnVmKTtcbiAgICB9O1xuICAgIEludGVybmFsRGVjb2Rlci5wcm90b3R5cGUuZW5kID0gZnVuY3Rpb24oKSB7XG4gICAgICByZXR1cm4gdGhpcy5kZWNvZGVyLmVuZCgpO1xuICAgIH07XG4gICAgZnVuY3Rpb24gSW50ZXJuYWxFbmNvZGVyKG9wdGlvbnMsIGNvZGVjKSB7XG4gICAgICB0aGlzLmVuYyA9IGNvZGVjLmVuYztcbiAgICB9XG4gICAgSW50ZXJuYWxFbmNvZGVyLnByb3RvdHlwZS53cml0ZSA9IGZ1bmN0aW9uKHN0cikge1xuICAgICAgcmV0dXJuIEJ1ZmZlcjIuZnJvbShzdHIsIHRoaXMuZW5jKTtcbiAgICB9O1xuICAgIEludGVybmFsRW5jb2Rlci5wcm90b3R5cGUuZW5kID0gZnVuY3Rpb24oKSB7XG4gICAgfTtcbiAgICBmdW5jdGlvbiBJbnRlcm5hbEVuY29kZXJCYXNlNjQob3B0aW9ucywgY29kZWMpIHtcbiAgICAgIHRoaXMucHJldlN0ciA9IFwiXCI7XG4gICAgfVxuICAgIEludGVybmFsRW5jb2RlckJhc2U2NC5wcm90b3R5cGUud3JpdGUgPSBmdW5jdGlvbihzdHIpIHtcbiAgICAgIHN0ciA9IHRoaXMucHJldlN0ciArIHN0cjtcbiAgICAgIHZhciBjb21wbGV0ZVF1YWRzID0gc3RyLmxlbmd0aCAtIHN0ci5sZW5ndGggJSA0O1xuICAgICAgdGhpcy5wcmV2U3RyID0gc3RyLnNsaWNlKGNvbXBsZXRlUXVhZHMpO1xuICAgICAgc3RyID0gc3RyLnNsaWNlKDAsIGNvbXBsZXRlUXVhZHMpO1xuICAgICAgcmV0dXJuIEJ1ZmZlcjIuZnJvbShzdHIsIFwiYmFzZTY0XCIpO1xuICAgIH07XG4gICAgSW50ZXJuYWxFbmNvZGVyQmFzZTY0LnByb3RvdHlwZS5lbmQgPSBmdW5jdGlvbigpIHtcbiAgICAgIHJldHVybiBCdWZmZXIyLmZyb20odGhpcy5wcmV2U3RyLCBcImJhc2U2NFwiKTtcbiAgICB9O1xuICAgIGZ1bmN0aW9uIEludGVybmFsRW5jb2RlckNlc3U4KG9wdGlvbnMsIGNvZGVjKSB7XG4gICAgfVxuICAgIEludGVybmFsRW5jb2RlckNlc3U4LnByb3RvdHlwZS53cml0ZSA9IGZ1bmN0aW9uKHN0cikge1xuICAgICAgdmFyIGJ1ZiA9IEJ1ZmZlcjIuYWxsb2Moc3RyLmxlbmd0aCAqIDMpLCBidWZJZHggPSAwO1xuICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBzdHIubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgdmFyIGNoYXJDb2RlID0gc3RyLmNoYXJDb2RlQXQoaSk7XG4gICAgICAgIGlmIChjaGFyQ29kZSA8IDEyOClcbiAgICAgICAgICBidWZbYnVmSWR4KytdID0gY2hhckNvZGU7XG4gICAgICAgIGVsc2UgaWYgKGNoYXJDb2RlIDwgMjA0OCkge1xuICAgICAgICAgIGJ1ZltidWZJZHgrK10gPSAxOTIgKyAoY2hhckNvZGUgPj4+IDYpO1xuICAgICAgICAgIGJ1ZltidWZJZHgrK10gPSAxMjggKyAoY2hhckNvZGUgJiA2Myk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgYnVmW2J1ZklkeCsrXSA9IDIyNCArIChjaGFyQ29kZSA+Pj4gMTIpO1xuICAgICAgICAgIGJ1ZltidWZJZHgrK10gPSAxMjggKyAoY2hhckNvZGUgPj4+IDYgJiA2Myk7XG4gICAgICAgICAgYnVmW2J1ZklkeCsrXSA9IDEyOCArIChjaGFyQ29kZSAmIDYzKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgcmV0dXJuIGJ1Zi5zbGljZSgwLCBidWZJZHgpO1xuICAgIH07XG4gICAgSW50ZXJuYWxFbmNvZGVyQ2VzdTgucHJvdG90eXBlLmVuZCA9IGZ1bmN0aW9uKCkge1xuICAgIH07XG4gICAgZnVuY3Rpb24gSW50ZXJuYWxEZWNvZGVyQ2VzdTgob3B0aW9ucywgY29kZWMpIHtcbiAgICAgIHRoaXMuYWNjID0gMDtcbiAgICAgIHRoaXMuY29udEJ5dGVzID0gMDtcbiAgICAgIHRoaXMuYWNjQnl0ZXMgPSAwO1xuICAgICAgdGhpcy5kZWZhdWx0Q2hhclVuaWNvZGUgPSBjb2RlYy5kZWZhdWx0Q2hhclVuaWNvZGU7XG4gICAgfVxuICAgIEludGVybmFsRGVjb2RlckNlc3U4LnByb3RvdHlwZS53cml0ZSA9IGZ1bmN0aW9uKGJ1Zikge1xuICAgICAgdmFyIGFjYyA9IHRoaXMuYWNjLCBjb250Qnl0ZXMgPSB0aGlzLmNvbnRCeXRlcywgYWNjQnl0ZXMgPSB0aGlzLmFjY0J5dGVzLCByZXMgPSBcIlwiO1xuICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBidWYubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgdmFyIGN1ckJ5dGUgPSBidWZbaV07XG4gICAgICAgIGlmICgoY3VyQnl0ZSAmIDE5MikgIT09IDEyOCkge1xuICAgICAgICAgIGlmIChjb250Qnl0ZXMgPiAwKSB7XG4gICAgICAgICAgICByZXMgKz0gdGhpcy5kZWZhdWx0Q2hhclVuaWNvZGU7XG4gICAgICAgICAgICBjb250Qnl0ZXMgPSAwO1xuICAgICAgICAgIH1cbiAgICAgICAgICBpZiAoY3VyQnl0ZSA8IDEyOCkge1xuICAgICAgICAgICAgcmVzICs9IFN0cmluZy5mcm9tQ2hhckNvZGUoY3VyQnl0ZSk7XG4gICAgICAgICAgfSBlbHNlIGlmIChjdXJCeXRlIDwgMjI0KSB7XG4gICAgICAgICAgICBhY2MgPSBjdXJCeXRlICYgMzE7XG4gICAgICAgICAgICBjb250Qnl0ZXMgPSAxO1xuICAgICAgICAgICAgYWNjQnl0ZXMgPSAxO1xuICAgICAgICAgIH0gZWxzZSBpZiAoY3VyQnl0ZSA8IDI0MCkge1xuICAgICAgICAgICAgYWNjID0gY3VyQnl0ZSAmIDE1O1xuICAgICAgICAgICAgY29udEJ5dGVzID0gMjtcbiAgICAgICAgICAgIGFjY0J5dGVzID0gMTtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgcmVzICs9IHRoaXMuZGVmYXVsdENoYXJVbmljb2RlO1xuICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBpZiAoY29udEJ5dGVzID4gMCkge1xuICAgICAgICAgICAgYWNjID0gYWNjIDw8IDYgfCBjdXJCeXRlICYgNjM7XG4gICAgICAgICAgICBjb250Qnl0ZXMtLTtcbiAgICAgICAgICAgIGFjY0J5dGVzKys7XG4gICAgICAgICAgICBpZiAoY29udEJ5dGVzID09PSAwKSB7XG4gICAgICAgICAgICAgIGlmIChhY2NCeXRlcyA9PT0gMiAmJiBhY2MgPCAxMjggJiYgYWNjID4gMClcbiAgICAgICAgICAgICAgICByZXMgKz0gdGhpcy5kZWZhdWx0Q2hhclVuaWNvZGU7XG4gICAgICAgICAgICAgIGVsc2UgaWYgKGFjY0J5dGVzID09PSAzICYmIGFjYyA8IDIwNDgpXG4gICAgICAgICAgICAgICAgcmVzICs9IHRoaXMuZGVmYXVsdENoYXJVbmljb2RlO1xuICAgICAgICAgICAgICBlbHNlXG4gICAgICAgICAgICAgICAgcmVzICs9IFN0cmluZy5mcm9tQ2hhckNvZGUoYWNjKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgcmVzICs9IHRoaXMuZGVmYXVsdENoYXJVbmljb2RlO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgdGhpcy5hY2MgPSBhY2M7XG4gICAgICB0aGlzLmNvbnRCeXRlcyA9IGNvbnRCeXRlcztcbiAgICAgIHRoaXMuYWNjQnl0ZXMgPSBhY2NCeXRlcztcbiAgICAgIHJldHVybiByZXM7XG4gICAgfTtcbiAgICBJbnRlcm5hbERlY29kZXJDZXN1OC5wcm90b3R5cGUuZW5kID0gZnVuY3Rpb24oKSB7XG4gICAgICB2YXIgcmVzID0gMDtcbiAgICAgIGlmICh0aGlzLmNvbnRCeXRlcyA+IDApXG4gICAgICAgIHJlcyArPSB0aGlzLmRlZmF1bHRDaGFyVW5pY29kZTtcbiAgICAgIHJldHVybiByZXM7XG4gICAgfTtcbiAgfVxufSk7XG5cbi8vIG5vZGVfbW9kdWxlcy9ib2R5LXBhcnNlci9ub2RlX21vZHVsZXMvaWNvbnYtbGl0ZS9lbmNvZGluZ3MvdXRmMzIuanNcbnZhciByZXF1aXJlX3V0ZjMyMiA9IF9fY29tbW9uSlMoe1xuICBcIm5vZGVfbW9kdWxlcy9ib2R5LXBhcnNlci9ub2RlX21vZHVsZXMvaWNvbnYtbGl0ZS9lbmNvZGluZ3MvdXRmMzIuanNcIihleHBvcnRzMikge1xuICAgIFwidXNlIHN0cmljdFwiO1xuICAgIHZhciBCdWZmZXIyID0gcmVxdWlyZV9zYWZlcigpLkJ1ZmZlcjtcbiAgICBleHBvcnRzMi5fdXRmMzIgPSBVdGYzMkNvZGVjO1xuICAgIGZ1bmN0aW9uIFV0ZjMyQ29kZWMoY29kZWNPcHRpb25zLCBpY29udikge1xuICAgICAgdGhpcy5pY29udiA9IGljb252O1xuICAgICAgdGhpcy5ib21Bd2FyZSA9IHRydWU7XG4gICAgICB0aGlzLmlzTEUgPSBjb2RlY09wdGlvbnMuaXNMRTtcbiAgICB9XG4gICAgZXhwb3J0czIudXRmMzJsZSA9IHsgdHlwZTogXCJfdXRmMzJcIiwgaXNMRTogdHJ1ZSB9O1xuICAgIGV4cG9ydHMyLnV0ZjMyYmUgPSB7IHR5cGU6IFwiX3V0ZjMyXCIsIGlzTEU6IGZhbHNlIH07XG4gICAgZXhwb3J0czIudWNzNGxlID0gXCJ1dGYzMmxlXCI7XG4gICAgZXhwb3J0czIudWNzNGJlID0gXCJ1dGYzMmJlXCI7XG4gICAgVXRmMzJDb2RlYy5wcm90b3R5cGUuZW5jb2RlciA9IFV0ZjMyRW5jb2RlcjtcbiAgICBVdGYzMkNvZGVjLnByb3RvdHlwZS5kZWNvZGVyID0gVXRmMzJEZWNvZGVyO1xuICAgIGZ1bmN0aW9uIFV0ZjMyRW5jb2RlcihvcHRpb25zLCBjb2RlYykge1xuICAgICAgdGhpcy5pc0xFID0gY29kZWMuaXNMRTtcbiAgICAgIHRoaXMuaGlnaFN1cnJvZ2F0ZSA9IDA7XG4gICAgfVxuICAgIFV0ZjMyRW5jb2Rlci5wcm90b3R5cGUud3JpdGUgPSBmdW5jdGlvbihzdHIpIHtcbiAgICAgIHZhciBzcmMgPSBCdWZmZXIyLmZyb20oc3RyLCBcInVjczJcIik7XG4gICAgICB2YXIgZHN0ID0gQnVmZmVyMi5hbGxvYyhzcmMubGVuZ3RoICogMik7XG4gICAgICB2YXIgd3JpdGUzMiA9IHRoaXMuaXNMRSA/IGRzdC53cml0ZVVJbnQzMkxFIDogZHN0LndyaXRlVUludDMyQkU7XG4gICAgICB2YXIgb2Zmc2V0ID0gMDtcbiAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgc3JjLmxlbmd0aDsgaSArPSAyKSB7XG4gICAgICAgIHZhciBjb2RlID0gc3JjLnJlYWRVSW50MTZMRShpKTtcbiAgICAgICAgdmFyIGlzSGlnaFN1cnJvZ2F0ZSA9IDU1Mjk2IDw9IGNvZGUgJiYgY29kZSA8IDU2MzIwO1xuICAgICAgICB2YXIgaXNMb3dTdXJyb2dhdGUgPSA1NjMyMCA8PSBjb2RlICYmIGNvZGUgPCA1NzM0NDtcbiAgICAgICAgaWYgKHRoaXMuaGlnaFN1cnJvZ2F0ZSkge1xuICAgICAgICAgIGlmIChpc0hpZ2hTdXJyb2dhdGUgfHwgIWlzTG93U3Vycm9nYXRlKSB7XG4gICAgICAgICAgICB3cml0ZTMyLmNhbGwoZHN0LCB0aGlzLmhpZ2hTdXJyb2dhdGUsIG9mZnNldCk7XG4gICAgICAgICAgICBvZmZzZXQgKz0gNDtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdmFyIGNvZGVwb2ludCA9ICh0aGlzLmhpZ2hTdXJyb2dhdGUgLSA1NTI5NiA8PCAxMCB8IGNvZGUgLSA1NjMyMCkgKyA2NTUzNjtcbiAgICAgICAgICAgIHdyaXRlMzIuY2FsbChkc3QsIGNvZGVwb2ludCwgb2Zmc2V0KTtcbiAgICAgICAgICAgIG9mZnNldCArPSA0O1xuICAgICAgICAgICAgdGhpcy5oaWdoU3Vycm9nYXRlID0gMDtcbiAgICAgICAgICAgIGNvbnRpbnVlO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBpZiAoaXNIaWdoU3Vycm9nYXRlKVxuICAgICAgICAgIHRoaXMuaGlnaFN1cnJvZ2F0ZSA9IGNvZGU7XG4gICAgICAgIGVsc2Uge1xuICAgICAgICAgIHdyaXRlMzIuY2FsbChkc3QsIGNvZGUsIG9mZnNldCk7XG4gICAgICAgICAgb2Zmc2V0ICs9IDQ7XG4gICAgICAgICAgdGhpcy5oaWdoU3Vycm9nYXRlID0gMDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgaWYgKG9mZnNldCA8IGRzdC5sZW5ndGgpXG4gICAgICAgIGRzdCA9IGRzdC5zbGljZSgwLCBvZmZzZXQpO1xuICAgICAgcmV0dXJuIGRzdDtcbiAgICB9O1xuICAgIFV0ZjMyRW5jb2Rlci5wcm90b3R5cGUuZW5kID0gZnVuY3Rpb24oKSB7XG4gICAgICBpZiAoIXRoaXMuaGlnaFN1cnJvZ2F0ZSlcbiAgICAgICAgcmV0dXJuO1xuICAgICAgdmFyIGJ1ZiA9IEJ1ZmZlcjIuYWxsb2MoNCk7XG4gICAgICBpZiAodGhpcy5pc0xFKVxuICAgICAgICBidWYud3JpdGVVSW50MzJMRSh0aGlzLmhpZ2hTdXJyb2dhdGUsIDApO1xuICAgICAgZWxzZVxuICAgICAgICBidWYud3JpdGVVSW50MzJCRSh0aGlzLmhpZ2hTdXJyb2dhdGUsIDApO1xuICAgICAgdGhpcy5oaWdoU3Vycm9nYXRlID0gMDtcbiAgICAgIHJldHVybiBidWY7XG4gICAgfTtcbiAgICBmdW5jdGlvbiBVdGYzMkRlY29kZXIob3B0aW9ucywgY29kZWMpIHtcbiAgICAgIHRoaXMuaXNMRSA9IGNvZGVjLmlzTEU7XG4gICAgICB0aGlzLmJhZENoYXIgPSBjb2RlYy5pY29udi5kZWZhdWx0Q2hhclVuaWNvZGUuY2hhckNvZGVBdCgwKTtcbiAgICAgIHRoaXMub3ZlcmZsb3cgPSBbXTtcbiAgICB9XG4gICAgVXRmMzJEZWNvZGVyLnByb3RvdHlwZS53cml0ZSA9IGZ1bmN0aW9uKHNyYykge1xuICAgICAgaWYgKHNyYy5sZW5ndGggPT09IDApXG4gICAgICAgIHJldHVybiBcIlwiO1xuICAgICAgdmFyIGkgPSAwO1xuICAgICAgdmFyIGNvZGVwb2ludCA9IDA7XG4gICAgICB2YXIgZHN0ID0gQnVmZmVyMi5hbGxvYyhzcmMubGVuZ3RoICsgNCk7XG4gICAgICB2YXIgb2Zmc2V0ID0gMDtcbiAgICAgIHZhciBpc0xFID0gdGhpcy5pc0xFO1xuICAgICAgdmFyIG92ZXJmbG93ID0gdGhpcy5vdmVyZmxvdztcbiAgICAgIHZhciBiYWRDaGFyID0gdGhpcy5iYWRDaGFyO1xuICAgICAgaWYgKG92ZXJmbG93Lmxlbmd0aCA+IDApIHtcbiAgICAgICAgZm9yICg7IGkgPCBzcmMubGVuZ3RoICYmIG92ZXJmbG93Lmxlbmd0aCA8IDQ7IGkrKylcbiAgICAgICAgICBvdmVyZmxvdy5wdXNoKHNyY1tpXSk7XG4gICAgICAgIGlmIChvdmVyZmxvdy5sZW5ndGggPT09IDQpIHtcbiAgICAgICAgICBpZiAoaXNMRSkge1xuICAgICAgICAgICAgY29kZXBvaW50ID0gb3ZlcmZsb3dbaV0gfCBvdmVyZmxvd1tpICsgMV0gPDwgOCB8IG92ZXJmbG93W2kgKyAyXSA8PCAxNiB8IG92ZXJmbG93W2kgKyAzXSA8PCAyNDtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgY29kZXBvaW50ID0gb3ZlcmZsb3dbaSArIDNdIHwgb3ZlcmZsb3dbaSArIDJdIDw8IDggfCBvdmVyZmxvd1tpICsgMV0gPDwgMTYgfCBvdmVyZmxvd1tpXSA8PCAyNDtcbiAgICAgICAgICB9XG4gICAgICAgICAgb3ZlcmZsb3cubGVuZ3RoID0gMDtcbiAgICAgICAgICBvZmZzZXQgPSBfd3JpdGVDb2RlcG9pbnQoZHN0LCBvZmZzZXQsIGNvZGVwb2ludCwgYmFkQ2hhcik7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIGZvciAoOyBpIDwgc3JjLmxlbmd0aCAtIDM7IGkgKz0gNCkge1xuICAgICAgICBpZiAoaXNMRSkge1xuICAgICAgICAgIGNvZGVwb2ludCA9IHNyY1tpXSB8IHNyY1tpICsgMV0gPDwgOCB8IHNyY1tpICsgMl0gPDwgMTYgfCBzcmNbaSArIDNdIDw8IDI0O1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGNvZGVwb2ludCA9IHNyY1tpICsgM10gfCBzcmNbaSArIDJdIDw8IDggfCBzcmNbaSArIDFdIDw8IDE2IHwgc3JjW2ldIDw8IDI0O1xuICAgICAgICB9XG4gICAgICAgIG9mZnNldCA9IF93cml0ZUNvZGVwb2ludChkc3QsIG9mZnNldCwgY29kZXBvaW50LCBiYWRDaGFyKTtcbiAgICAgIH1cbiAgICAgIGZvciAoOyBpIDwgc3JjLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgIG92ZXJmbG93LnB1c2goc3JjW2ldKTtcbiAgICAgIH1cbiAgICAgIHJldHVybiBkc3Quc2xpY2UoMCwgb2Zmc2V0KS50b1N0cmluZyhcInVjczJcIik7XG4gICAgfTtcbiAgICBmdW5jdGlvbiBfd3JpdGVDb2RlcG9pbnQoZHN0LCBvZmZzZXQsIGNvZGVwb2ludCwgYmFkQ2hhcikge1xuICAgICAgaWYgKGNvZGVwb2ludCA8IDAgfHwgY29kZXBvaW50ID4gMTExNDExMSkge1xuICAgICAgICBjb2RlcG9pbnQgPSBiYWRDaGFyO1xuICAgICAgfVxuICAgICAgaWYgKGNvZGVwb2ludCA+PSA2NTUzNikge1xuICAgICAgICBjb2RlcG9pbnQgLT0gNjU1MzY7XG4gICAgICAgIHZhciBoaWdoID0gNTUyOTYgfCBjb2RlcG9pbnQgPj4gMTA7XG4gICAgICAgIGRzdFtvZmZzZXQrK10gPSBoaWdoICYgMjU1O1xuICAgICAgICBkc3Rbb2Zmc2V0KytdID0gaGlnaCA+PiA4O1xuICAgICAgICB2YXIgY29kZXBvaW50ID0gNTYzMjAgfCBjb2RlcG9pbnQgJiAxMDIzO1xuICAgICAgfVxuICAgICAgZHN0W29mZnNldCsrXSA9IGNvZGVwb2ludCAmIDI1NTtcbiAgICAgIGRzdFtvZmZzZXQrK10gPSBjb2RlcG9pbnQgPj4gODtcbiAgICAgIHJldHVybiBvZmZzZXQ7XG4gICAgfVxuICAgIFV0ZjMyRGVjb2Rlci5wcm90b3R5cGUuZW5kID0gZnVuY3Rpb24oKSB7XG4gICAgICB0aGlzLm92ZXJmbG93Lmxlbmd0aCA9IDA7XG4gICAgfTtcbiAgICBleHBvcnRzMi51dGYzMiA9IFV0ZjMyQXV0b0NvZGVjO1xuICAgIGV4cG9ydHMyLnVjczQgPSBcInV0ZjMyXCI7XG4gICAgZnVuY3Rpb24gVXRmMzJBdXRvQ29kZWMob3B0aW9ucywgaWNvbnYpIHtcbiAgICAgIHRoaXMuaWNvbnYgPSBpY29udjtcbiAgICB9XG4gICAgVXRmMzJBdXRvQ29kZWMucHJvdG90eXBlLmVuY29kZXIgPSBVdGYzMkF1dG9FbmNvZGVyO1xuICAgIFV0ZjMyQXV0b0NvZGVjLnByb3RvdHlwZS5kZWNvZGVyID0gVXRmMzJBdXRvRGVjb2RlcjtcbiAgICBmdW5jdGlvbiBVdGYzMkF1dG9FbmNvZGVyKG9wdGlvbnMsIGNvZGVjKSB7XG4gICAgICBvcHRpb25zID0gb3B0aW9ucyB8fCB7fTtcbiAgICAgIGlmIChvcHRpb25zLmFkZEJPTSA9PT0gdm9pZCAwKVxuICAgICAgICBvcHRpb25zLmFkZEJPTSA9IHRydWU7XG4gICAgICB0aGlzLmVuY29kZXIgPSBjb2RlYy5pY29udi5nZXRFbmNvZGVyKG9wdGlvbnMuZGVmYXVsdEVuY29kaW5nIHx8IFwidXRmLTMybGVcIiwgb3B0aW9ucyk7XG4gICAgfVxuICAgIFV0ZjMyQXV0b0VuY29kZXIucHJvdG90eXBlLndyaXRlID0gZnVuY3Rpb24oc3RyKSB7XG4gICAgICByZXR1cm4gdGhpcy5lbmNvZGVyLndyaXRlKHN0cik7XG4gICAgfTtcbiAgICBVdGYzMkF1dG9FbmNvZGVyLnByb3RvdHlwZS5lbmQgPSBmdW5jdGlvbigpIHtcbiAgICAgIHJldHVybiB0aGlzLmVuY29kZXIuZW5kKCk7XG4gICAgfTtcbiAgICBmdW5jdGlvbiBVdGYzMkF1dG9EZWNvZGVyKG9wdGlvbnMsIGNvZGVjKSB7XG4gICAgICB0aGlzLmRlY29kZXIgPSBudWxsO1xuICAgICAgdGhpcy5pbml0aWFsQnVmcyA9IFtdO1xuICAgICAgdGhpcy5pbml0aWFsQnVmc0xlbiA9IDA7XG4gICAgICB0aGlzLm9wdGlvbnMgPSBvcHRpb25zIHx8IHt9O1xuICAgICAgdGhpcy5pY29udiA9IGNvZGVjLmljb252O1xuICAgIH1cbiAgICBVdGYzMkF1dG9EZWNvZGVyLnByb3RvdHlwZS53cml0ZSA9IGZ1bmN0aW9uKGJ1Zikge1xuICAgICAgaWYgKCF0aGlzLmRlY29kZXIpIHtcbiAgICAgICAgdGhpcy5pbml0aWFsQnVmcy5wdXNoKGJ1Zik7XG4gICAgICAgIHRoaXMuaW5pdGlhbEJ1ZnNMZW4gKz0gYnVmLmxlbmd0aDtcbiAgICAgICAgaWYgKHRoaXMuaW5pdGlhbEJ1ZnNMZW4gPCAzMilcbiAgICAgICAgICByZXR1cm4gXCJcIjtcbiAgICAgICAgdmFyIGVuY29kaW5nID0gZGV0ZWN0RW5jb2RpbmcodGhpcy5pbml0aWFsQnVmcywgdGhpcy5vcHRpb25zLmRlZmF1bHRFbmNvZGluZyk7XG4gICAgICAgIHRoaXMuZGVjb2RlciA9IHRoaXMuaWNvbnYuZ2V0RGVjb2RlcihlbmNvZGluZywgdGhpcy5vcHRpb25zKTtcbiAgICAgICAgdmFyIHJlc1N0ciA9IFwiXCI7XG4gICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgdGhpcy5pbml0aWFsQnVmcy5sZW5ndGg7IGkrKylcbiAgICAgICAgICByZXNTdHIgKz0gdGhpcy5kZWNvZGVyLndyaXRlKHRoaXMuaW5pdGlhbEJ1ZnNbaV0pO1xuICAgICAgICB0aGlzLmluaXRpYWxCdWZzLmxlbmd0aCA9IHRoaXMuaW5pdGlhbEJ1ZnNMZW4gPSAwO1xuICAgICAgICByZXR1cm4gcmVzU3RyO1xuICAgICAgfVxuICAgICAgcmV0dXJuIHRoaXMuZGVjb2Rlci53cml0ZShidWYpO1xuICAgIH07XG4gICAgVXRmMzJBdXRvRGVjb2Rlci5wcm90b3R5cGUuZW5kID0gZnVuY3Rpb24oKSB7XG4gICAgICBpZiAoIXRoaXMuZGVjb2Rlcikge1xuICAgICAgICB2YXIgZW5jb2RpbmcgPSBkZXRlY3RFbmNvZGluZyh0aGlzLmluaXRpYWxCdWZzLCB0aGlzLm9wdGlvbnMuZGVmYXVsdEVuY29kaW5nKTtcbiAgICAgICAgdGhpcy5kZWNvZGVyID0gdGhpcy5pY29udi5nZXREZWNvZGVyKGVuY29kaW5nLCB0aGlzLm9wdGlvbnMpO1xuICAgICAgICB2YXIgcmVzU3RyID0gXCJcIjtcbiAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCB0aGlzLmluaXRpYWxCdWZzLmxlbmd0aDsgaSsrKVxuICAgICAgICAgIHJlc1N0ciArPSB0aGlzLmRlY29kZXIud3JpdGUodGhpcy5pbml0aWFsQnVmc1tpXSk7XG4gICAgICAgIHZhciB0cmFpbCA9IHRoaXMuZGVjb2Rlci5lbmQoKTtcbiAgICAgICAgaWYgKHRyYWlsKVxuICAgICAgICAgIHJlc1N0ciArPSB0cmFpbDtcbiAgICAgICAgdGhpcy5pbml0aWFsQnVmcy5sZW5ndGggPSB0aGlzLmluaXRpYWxCdWZzTGVuID0gMDtcbiAgICAgICAgcmV0dXJuIHJlc1N0cjtcbiAgICAgIH1cbiAgICAgIHJldHVybiB0aGlzLmRlY29kZXIuZW5kKCk7XG4gICAgfTtcbiAgICBmdW5jdGlvbiBkZXRlY3RFbmNvZGluZyhidWZzLCBkZWZhdWx0RW5jb2RpbmcpIHtcbiAgICAgIHZhciBiID0gW107XG4gICAgICB2YXIgY2hhcnNQcm9jZXNzZWQgPSAwO1xuICAgICAgdmFyIGludmFsaWRMRSA9IDAsIGludmFsaWRCRSA9IDA7XG4gICAgICB2YXIgYm1wQ2hhcnNMRSA9IDAsIGJtcENoYXJzQkUgPSAwO1xuICAgICAgb3V0ZXJfbG9vcDpcbiAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBidWZzLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgICAgdmFyIGJ1ZiA9IGJ1ZnNbaV07XG4gICAgICAgICAgZm9yICh2YXIgaiA9IDA7IGogPCBidWYubGVuZ3RoOyBqKyspIHtcbiAgICAgICAgICAgIGIucHVzaChidWZbal0pO1xuICAgICAgICAgICAgaWYgKGIubGVuZ3RoID09PSA0KSB7XG4gICAgICAgICAgICAgIGlmIChjaGFyc1Byb2Nlc3NlZCA9PT0gMCkge1xuICAgICAgICAgICAgICAgIGlmIChiWzBdID09PSAyNTUgJiYgYlsxXSA9PT0gMjU0ICYmIGJbMl0gPT09IDAgJiYgYlszXSA9PT0gMCkge1xuICAgICAgICAgICAgICAgICAgcmV0dXJuIFwidXRmLTMybGVcIjtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaWYgKGJbMF0gPT09IDAgJiYgYlsxXSA9PT0gMCAmJiBiWzJdID09PSAyNTQgJiYgYlszXSA9PT0gMjU1KSB7XG4gICAgICAgICAgICAgICAgICByZXR1cm4gXCJ1dGYtMzJiZVwiO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICBpZiAoYlswXSAhPT0gMCB8fCBiWzFdID4gMTYpIGludmFsaWRCRSsrO1xuICAgICAgICAgICAgICBpZiAoYlszXSAhPT0gMCB8fCBiWzJdID4gMTYpIGludmFsaWRMRSsrO1xuICAgICAgICAgICAgICBpZiAoYlswXSA9PT0gMCAmJiBiWzFdID09PSAwICYmIChiWzJdICE9PSAwIHx8IGJbM10gIT09IDApKSBibXBDaGFyc0JFKys7XG4gICAgICAgICAgICAgIGlmICgoYlswXSAhPT0gMCB8fCBiWzFdICE9PSAwKSAmJiBiWzJdID09PSAwICYmIGJbM10gPT09IDApIGJtcENoYXJzTEUrKztcbiAgICAgICAgICAgICAgYi5sZW5ndGggPSAwO1xuICAgICAgICAgICAgICBjaGFyc1Byb2Nlc3NlZCsrO1xuICAgICAgICAgICAgICBpZiAoY2hhcnNQcm9jZXNzZWQgPj0gMTAwKSB7XG4gICAgICAgICAgICAgICAgYnJlYWsgb3V0ZXJfbG9vcDtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgaWYgKGJtcENoYXJzQkUgLSBpbnZhbGlkQkUgPiBibXBDaGFyc0xFIC0gaW52YWxpZExFKSByZXR1cm4gXCJ1dGYtMzJiZVwiO1xuICAgICAgaWYgKGJtcENoYXJzQkUgLSBpbnZhbGlkQkUgPCBibXBDaGFyc0xFIC0gaW52YWxpZExFKSByZXR1cm4gXCJ1dGYtMzJsZVwiO1xuICAgICAgcmV0dXJuIGRlZmF1bHRFbmNvZGluZyB8fCBcInV0Zi0zMmxlXCI7XG4gICAgfVxuICB9XG59KTtcblxuLy8gbm9kZV9tb2R1bGVzL2JvZHktcGFyc2VyL25vZGVfbW9kdWxlcy9pY29udi1saXRlL2VuY29kaW5ncy91dGYxNi5qc1xudmFyIHJlcXVpcmVfdXRmMTYyID0gX19jb21tb25KUyh7XG4gIFwibm9kZV9tb2R1bGVzL2JvZHktcGFyc2VyL25vZGVfbW9kdWxlcy9pY29udi1saXRlL2VuY29kaW5ncy91dGYxNi5qc1wiKGV4cG9ydHMyKSB7XG4gICAgXCJ1c2Ugc3RyaWN0XCI7XG4gICAgdmFyIEJ1ZmZlcjIgPSByZXF1aXJlX3NhZmVyKCkuQnVmZmVyO1xuICAgIGV4cG9ydHMyLnV0ZjE2YmUgPSBVdGYxNkJFQ29kZWM7XG4gICAgZnVuY3Rpb24gVXRmMTZCRUNvZGVjKCkge1xuICAgIH1cbiAgICBVdGYxNkJFQ29kZWMucHJvdG90eXBlLmVuY29kZXIgPSBVdGYxNkJFRW5jb2RlcjtcbiAgICBVdGYxNkJFQ29kZWMucHJvdG90eXBlLmRlY29kZXIgPSBVdGYxNkJFRGVjb2RlcjtcbiAgICBVdGYxNkJFQ29kZWMucHJvdG90eXBlLmJvbUF3YXJlID0gdHJ1ZTtcbiAgICBmdW5jdGlvbiBVdGYxNkJFRW5jb2RlcigpIHtcbiAgICB9XG4gICAgVXRmMTZCRUVuY29kZXIucHJvdG90eXBlLndyaXRlID0gZnVuY3Rpb24oc3RyKSB7XG4gICAgICB2YXIgYnVmID0gQnVmZmVyMi5mcm9tKHN0ciwgXCJ1Y3MyXCIpO1xuICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBidWYubGVuZ3RoOyBpICs9IDIpIHtcbiAgICAgICAgdmFyIHRtcCA9IGJ1ZltpXTtcbiAgICAgICAgYnVmW2ldID0gYnVmW2kgKyAxXTtcbiAgICAgICAgYnVmW2kgKyAxXSA9IHRtcDtcbiAgICAgIH1cbiAgICAgIHJldHVybiBidWY7XG4gICAgfTtcbiAgICBVdGYxNkJFRW5jb2Rlci5wcm90b3R5cGUuZW5kID0gZnVuY3Rpb24oKSB7XG4gICAgfTtcbiAgICBmdW5jdGlvbiBVdGYxNkJFRGVjb2RlcigpIHtcbiAgICAgIHRoaXMub3ZlcmZsb3dCeXRlID0gLTE7XG4gICAgfVxuICAgIFV0ZjE2QkVEZWNvZGVyLnByb3RvdHlwZS53cml0ZSA9IGZ1bmN0aW9uKGJ1Zikge1xuICAgICAgaWYgKGJ1Zi5sZW5ndGggPT0gMClcbiAgICAgICAgcmV0dXJuIFwiXCI7XG4gICAgICB2YXIgYnVmMiA9IEJ1ZmZlcjIuYWxsb2MoYnVmLmxlbmd0aCArIDEpLCBpID0gMCwgaiA9IDA7XG4gICAgICBpZiAodGhpcy5vdmVyZmxvd0J5dGUgIT09IC0xKSB7XG4gICAgICAgIGJ1ZjJbMF0gPSBidWZbMF07XG4gICAgICAgIGJ1ZjJbMV0gPSB0aGlzLm92ZXJmbG93Qnl0ZTtcbiAgICAgICAgaSA9IDE7XG4gICAgICAgIGogPSAyO1xuICAgICAgfVxuICAgICAgZm9yICg7IGkgPCBidWYubGVuZ3RoIC0gMTsgaSArPSAyLCBqICs9IDIpIHtcbiAgICAgICAgYnVmMltqXSA9IGJ1ZltpICsgMV07XG4gICAgICAgIGJ1ZjJbaiArIDFdID0gYnVmW2ldO1xuICAgICAgfVxuICAgICAgdGhpcy5vdmVyZmxvd0J5dGUgPSBpID09IGJ1Zi5sZW5ndGggLSAxID8gYnVmW2J1Zi5sZW5ndGggLSAxXSA6IC0xO1xuICAgICAgcmV0dXJuIGJ1ZjIuc2xpY2UoMCwgaikudG9TdHJpbmcoXCJ1Y3MyXCIpO1xuICAgIH07XG4gICAgVXRmMTZCRURlY29kZXIucHJvdG90eXBlLmVuZCA9IGZ1bmN0aW9uKCkge1xuICAgICAgdGhpcy5vdmVyZmxvd0J5dGUgPSAtMTtcbiAgICB9O1xuICAgIGV4cG9ydHMyLnV0ZjE2ID0gVXRmMTZDb2RlYztcbiAgICBmdW5jdGlvbiBVdGYxNkNvZGVjKGNvZGVjT3B0aW9ucywgaWNvbnYpIHtcbiAgICAgIHRoaXMuaWNvbnYgPSBpY29udjtcbiAgICB9XG4gICAgVXRmMTZDb2RlYy5wcm90b3R5cGUuZW5jb2RlciA9IFV0ZjE2RW5jb2RlcjtcbiAgICBVdGYxNkNvZGVjLnByb3RvdHlwZS5kZWNvZGVyID0gVXRmMTZEZWNvZGVyO1xuICAgIGZ1bmN0aW9uIFV0ZjE2RW5jb2RlcihvcHRpb25zLCBjb2RlYykge1xuICAgICAgb3B0aW9ucyA9IG9wdGlvbnMgfHwge307XG4gICAgICBpZiAob3B0aW9ucy5hZGRCT00gPT09IHZvaWQgMClcbiAgICAgICAgb3B0aW9ucy5hZGRCT00gPSB0cnVlO1xuICAgICAgdGhpcy5lbmNvZGVyID0gY29kZWMuaWNvbnYuZ2V0RW5jb2RlcihcInV0Zi0xNmxlXCIsIG9wdGlvbnMpO1xuICAgIH1cbiAgICBVdGYxNkVuY29kZXIucHJvdG90eXBlLndyaXRlID0gZnVuY3Rpb24oc3RyKSB7XG4gICAgICByZXR1cm4gdGhpcy5lbmNvZGVyLndyaXRlKHN0cik7XG4gICAgfTtcbiAgICBVdGYxNkVuY29kZXIucHJvdG90eXBlLmVuZCA9IGZ1bmN0aW9uKCkge1xuICAgICAgcmV0dXJuIHRoaXMuZW5jb2Rlci5lbmQoKTtcbiAgICB9O1xuICAgIGZ1bmN0aW9uIFV0ZjE2RGVjb2RlcihvcHRpb25zLCBjb2RlYykge1xuICAgICAgdGhpcy5kZWNvZGVyID0gbnVsbDtcbiAgICAgIHRoaXMuaW5pdGlhbEJ1ZnMgPSBbXTtcbiAgICAgIHRoaXMuaW5pdGlhbEJ1ZnNMZW4gPSAwO1xuICAgICAgdGhpcy5vcHRpb25zID0gb3B0aW9ucyB8fCB7fTtcbiAgICAgIHRoaXMuaWNvbnYgPSBjb2RlYy5pY29udjtcbiAgICB9XG4gICAgVXRmMTZEZWNvZGVyLnByb3RvdHlwZS53cml0ZSA9IGZ1bmN0aW9uKGJ1Zikge1xuICAgICAgaWYgKCF0aGlzLmRlY29kZXIpIHtcbiAgICAgICAgdGhpcy5pbml0aWFsQnVmcy5wdXNoKGJ1Zik7XG4gICAgICAgIHRoaXMuaW5pdGlhbEJ1ZnNMZW4gKz0gYnVmLmxlbmd0aDtcbiAgICAgICAgaWYgKHRoaXMuaW5pdGlhbEJ1ZnNMZW4gPCAxNilcbiAgICAgICAgICByZXR1cm4gXCJcIjtcbiAgICAgICAgdmFyIGVuY29kaW5nID0gZGV0ZWN0RW5jb2RpbmcodGhpcy5pbml0aWFsQnVmcywgdGhpcy5vcHRpb25zLmRlZmF1bHRFbmNvZGluZyk7XG4gICAgICAgIHRoaXMuZGVjb2RlciA9IHRoaXMuaWNvbnYuZ2V0RGVjb2RlcihlbmNvZGluZywgdGhpcy5vcHRpb25zKTtcbiAgICAgICAgdmFyIHJlc1N0ciA9IFwiXCI7XG4gICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgdGhpcy5pbml0aWFsQnVmcy5sZW5ndGg7IGkrKylcbiAgICAgICAgICByZXNTdHIgKz0gdGhpcy5kZWNvZGVyLndyaXRlKHRoaXMuaW5pdGlhbEJ1ZnNbaV0pO1xuICAgICAgICB0aGlzLmluaXRpYWxCdWZzLmxlbmd0aCA9IHRoaXMuaW5pdGlhbEJ1ZnNMZW4gPSAwO1xuICAgICAgICByZXR1cm4gcmVzU3RyO1xuICAgICAgfVxuICAgICAgcmV0dXJuIHRoaXMuZGVjb2Rlci53cml0ZShidWYpO1xuICAgIH07XG4gICAgVXRmMTZEZWNvZGVyLnByb3RvdHlwZS5lbmQgPSBmdW5jdGlvbigpIHtcbiAgICAgIGlmICghdGhpcy5kZWNvZGVyKSB7XG4gICAgICAgIHZhciBlbmNvZGluZyA9IGRldGVjdEVuY29kaW5nKHRoaXMuaW5pdGlhbEJ1ZnMsIHRoaXMub3B0aW9ucy5kZWZhdWx0RW5jb2RpbmcpO1xuICAgICAgICB0aGlzLmRlY29kZXIgPSB0aGlzLmljb252LmdldERlY29kZXIoZW5jb2RpbmcsIHRoaXMub3B0aW9ucyk7XG4gICAgICAgIHZhciByZXNTdHIgPSBcIlwiO1xuICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IHRoaXMuaW5pdGlhbEJ1ZnMubGVuZ3RoOyBpKyspXG4gICAgICAgICAgcmVzU3RyICs9IHRoaXMuZGVjb2Rlci53cml0ZSh0aGlzLmluaXRpYWxCdWZzW2ldKTtcbiAgICAgICAgdmFyIHRyYWlsID0gdGhpcy5kZWNvZGVyLmVuZCgpO1xuICAgICAgICBpZiAodHJhaWwpXG4gICAgICAgICAgcmVzU3RyICs9IHRyYWlsO1xuICAgICAgICB0aGlzLmluaXRpYWxCdWZzLmxlbmd0aCA9IHRoaXMuaW5pdGlhbEJ1ZnNMZW4gPSAwO1xuICAgICAgICByZXR1cm4gcmVzU3RyO1xuICAgICAgfVxuICAgICAgcmV0dXJuIHRoaXMuZGVjb2Rlci5lbmQoKTtcbiAgICB9O1xuICAgIGZ1bmN0aW9uIGRldGVjdEVuY29kaW5nKGJ1ZnMsIGRlZmF1bHRFbmNvZGluZykge1xuICAgICAgdmFyIGIgPSBbXTtcbiAgICAgIHZhciBjaGFyc1Byb2Nlc3NlZCA9IDA7XG4gICAgICB2YXIgYXNjaWlDaGFyc0xFID0gMCwgYXNjaWlDaGFyc0JFID0gMDtcbiAgICAgIG91dGVyX2xvb3A6XG4gICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgYnVmcy5sZW5ndGg7IGkrKykge1xuICAgICAgICAgIHZhciBidWYgPSBidWZzW2ldO1xuICAgICAgICAgIGZvciAodmFyIGogPSAwOyBqIDwgYnVmLmxlbmd0aDsgaisrKSB7XG4gICAgICAgICAgICBiLnB1c2goYnVmW2pdKTtcbiAgICAgICAgICAgIGlmIChiLmxlbmd0aCA9PT0gMikge1xuICAgICAgICAgICAgICBpZiAoY2hhcnNQcm9jZXNzZWQgPT09IDApIHtcbiAgICAgICAgICAgICAgICBpZiAoYlswXSA9PT0gMjU1ICYmIGJbMV0gPT09IDI1NCkgcmV0dXJuIFwidXRmLTE2bGVcIjtcbiAgICAgICAgICAgICAgICBpZiAoYlswXSA9PT0gMjU0ICYmIGJbMV0gPT09IDI1NSkgcmV0dXJuIFwidXRmLTE2YmVcIjtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICBpZiAoYlswXSA9PT0gMCAmJiBiWzFdICE9PSAwKSBhc2NpaUNoYXJzQkUrKztcbiAgICAgICAgICAgICAgaWYgKGJbMF0gIT09IDAgJiYgYlsxXSA9PT0gMCkgYXNjaWlDaGFyc0xFKys7XG4gICAgICAgICAgICAgIGIubGVuZ3RoID0gMDtcbiAgICAgICAgICAgICAgY2hhcnNQcm9jZXNzZWQrKztcbiAgICAgICAgICAgICAgaWYgKGNoYXJzUHJvY2Vzc2VkID49IDEwMCkge1xuICAgICAgICAgICAgICAgIGJyZWFrIG91dGVyX2xvb3A7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIGlmIChhc2NpaUNoYXJzQkUgPiBhc2NpaUNoYXJzTEUpIHJldHVybiBcInV0Zi0xNmJlXCI7XG4gICAgICBpZiAoYXNjaWlDaGFyc0JFIDwgYXNjaWlDaGFyc0xFKSByZXR1cm4gXCJ1dGYtMTZsZVwiO1xuICAgICAgcmV0dXJuIGRlZmF1bHRFbmNvZGluZyB8fCBcInV0Zi0xNmxlXCI7XG4gICAgfVxuICB9XG59KTtcblxuLy8gbm9kZV9tb2R1bGVzL2JvZHktcGFyc2VyL25vZGVfbW9kdWxlcy9pY29udi1saXRlL2VuY29kaW5ncy91dGY3LmpzXG52YXIgcmVxdWlyZV91dGY3MiA9IF9fY29tbW9uSlMoe1xuICBcIm5vZGVfbW9kdWxlcy9ib2R5LXBhcnNlci9ub2RlX21vZHVsZXMvaWNvbnYtbGl0ZS9lbmNvZGluZ3MvdXRmNy5qc1wiKGV4cG9ydHMyKSB7XG4gICAgXCJ1c2Ugc3RyaWN0XCI7XG4gICAgdmFyIEJ1ZmZlcjIgPSByZXF1aXJlX3NhZmVyKCkuQnVmZmVyO1xuICAgIGV4cG9ydHMyLnV0ZjcgPSBVdGY3Q29kZWM7XG4gICAgZXhwb3J0czIudW5pY29kZTExdXRmNyA9IFwidXRmN1wiO1xuICAgIGZ1bmN0aW9uIFV0ZjdDb2RlYyhjb2RlY09wdGlvbnMsIGljb252KSB7XG4gICAgICB0aGlzLmljb252ID0gaWNvbnY7XG4gICAgfVxuICAgIFV0ZjdDb2RlYy5wcm90b3R5cGUuZW5jb2RlciA9IFV0ZjdFbmNvZGVyO1xuICAgIFV0ZjdDb2RlYy5wcm90b3R5cGUuZGVjb2RlciA9IFV0ZjdEZWNvZGVyO1xuICAgIFV0ZjdDb2RlYy5wcm90b3R5cGUuYm9tQXdhcmUgPSB0cnVlO1xuICAgIHZhciBub25EaXJlY3RDaGFycyA9IC9bXkEtWmEtejAtOSdcXChcXCksLVxcLlxcLzpcXD8gXFxuXFxyXFx0XSsvZztcbiAgICBmdW5jdGlvbiBVdGY3RW5jb2RlcihvcHRpb25zLCBjb2RlYykge1xuICAgICAgdGhpcy5pY29udiA9IGNvZGVjLmljb252O1xuICAgIH1cbiAgICBVdGY3RW5jb2Rlci5wcm90b3R5cGUud3JpdGUgPSBmdW5jdGlvbihzdHIpIHtcbiAgICAgIHJldHVybiBCdWZmZXIyLmZyb20oc3RyLnJlcGxhY2Uobm9uRGlyZWN0Q2hhcnMsIGZ1bmN0aW9uKGNodW5rKSB7XG4gICAgICAgIHJldHVybiBcIitcIiArIChjaHVuayA9PT0gXCIrXCIgPyBcIlwiIDogdGhpcy5pY29udi5lbmNvZGUoY2h1bmssIFwidXRmMTYtYmVcIikudG9TdHJpbmcoXCJiYXNlNjRcIikucmVwbGFjZSgvPSskLywgXCJcIikpICsgXCItXCI7XG4gICAgICB9LmJpbmQodGhpcykpKTtcbiAgICB9O1xuICAgIFV0ZjdFbmNvZGVyLnByb3RvdHlwZS5lbmQgPSBmdW5jdGlvbigpIHtcbiAgICB9O1xuICAgIGZ1bmN0aW9uIFV0ZjdEZWNvZGVyKG9wdGlvbnMsIGNvZGVjKSB7XG4gICAgICB0aGlzLmljb252ID0gY29kZWMuaWNvbnY7XG4gICAgICB0aGlzLmluQmFzZTY0ID0gZmFsc2U7XG4gICAgICB0aGlzLmJhc2U2NEFjY3VtID0gXCJcIjtcbiAgICB9XG4gICAgdmFyIGJhc2U2NFJlZ2V4MiA9IC9bQS1aYS16MC05XFwvK10vO1xuICAgIHZhciBiYXNlNjRDaGFycyA9IFtdO1xuICAgIGZvciAoaSA9IDA7IGkgPCAyNTY7IGkrKylcbiAgICAgIGJhc2U2NENoYXJzW2ldID0gYmFzZTY0UmVnZXgyLnRlc3QoU3RyaW5nLmZyb21DaGFyQ29kZShpKSk7XG4gICAgdmFyIGk7XG4gICAgdmFyIHBsdXNDaGFyID0gXCIrXCIuY2hhckNvZGVBdCgwKTtcbiAgICB2YXIgbWludXNDaGFyID0gXCItXCIuY2hhckNvZGVBdCgwKTtcbiAgICB2YXIgYW5kQ2hhciA9IFwiJlwiLmNoYXJDb2RlQXQoMCk7XG4gICAgVXRmN0RlY29kZXIucHJvdG90eXBlLndyaXRlID0gZnVuY3Rpb24oYnVmKSB7XG4gICAgICB2YXIgcmVzID0gXCJcIiwgbGFzdEkgPSAwLCBpbkJhc2U2NCA9IHRoaXMuaW5CYXNlNjQsIGJhc2U2NEFjY3VtID0gdGhpcy5iYXNlNjRBY2N1bTtcbiAgICAgIGZvciAodmFyIGkyID0gMDsgaTIgPCBidWYubGVuZ3RoOyBpMisrKSB7XG4gICAgICAgIGlmICghaW5CYXNlNjQpIHtcbiAgICAgICAgICBpZiAoYnVmW2kyXSA9PSBwbHVzQ2hhcikge1xuICAgICAgICAgICAgcmVzICs9IHRoaXMuaWNvbnYuZGVjb2RlKGJ1Zi5zbGljZShsYXN0SSwgaTIpLCBcImFzY2lpXCIpO1xuICAgICAgICAgICAgbGFzdEkgPSBpMiArIDE7XG4gICAgICAgICAgICBpbkJhc2U2NCA9IHRydWU7XG4gICAgICAgICAgfVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGlmICghYmFzZTY0Q2hhcnNbYnVmW2kyXV0pIHtcbiAgICAgICAgICAgIGlmIChpMiA9PSBsYXN0SSAmJiBidWZbaTJdID09IG1pbnVzQ2hhcikge1xuICAgICAgICAgICAgICByZXMgKz0gXCIrXCI7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICB2YXIgYjY0c3RyID0gYmFzZTY0QWNjdW0gKyB0aGlzLmljb252LmRlY29kZShidWYuc2xpY2UobGFzdEksIGkyKSwgXCJhc2NpaVwiKTtcbiAgICAgICAgICAgICAgcmVzICs9IHRoaXMuaWNvbnYuZGVjb2RlKEJ1ZmZlcjIuZnJvbShiNjRzdHIsIFwiYmFzZTY0XCIpLCBcInV0ZjE2LWJlXCIpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKGJ1ZltpMl0gIT0gbWludXNDaGFyKVxuICAgICAgICAgICAgICBpMi0tO1xuICAgICAgICAgICAgbGFzdEkgPSBpMiArIDE7XG4gICAgICAgICAgICBpbkJhc2U2NCA9IGZhbHNlO1xuICAgICAgICAgICAgYmFzZTY0QWNjdW0gPSBcIlwiO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgaWYgKCFpbkJhc2U2NCkge1xuICAgICAgICByZXMgKz0gdGhpcy5pY29udi5kZWNvZGUoYnVmLnNsaWNlKGxhc3RJKSwgXCJhc2NpaVwiKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHZhciBiNjRzdHIgPSBiYXNlNjRBY2N1bSArIHRoaXMuaWNvbnYuZGVjb2RlKGJ1Zi5zbGljZShsYXN0SSksIFwiYXNjaWlcIik7XG4gICAgICAgIHZhciBjYW5CZURlY29kZWQgPSBiNjRzdHIubGVuZ3RoIC0gYjY0c3RyLmxlbmd0aCAlIDg7XG4gICAgICAgIGJhc2U2NEFjY3VtID0gYjY0c3RyLnNsaWNlKGNhbkJlRGVjb2RlZCk7XG4gICAgICAgIGI2NHN0ciA9IGI2NHN0ci5zbGljZSgwLCBjYW5CZURlY29kZWQpO1xuICAgICAgICByZXMgKz0gdGhpcy5pY29udi5kZWNvZGUoQnVmZmVyMi5mcm9tKGI2NHN0ciwgXCJiYXNlNjRcIiksIFwidXRmMTYtYmVcIik7XG4gICAgICB9XG4gICAgICB0aGlzLmluQmFzZTY0ID0gaW5CYXNlNjQ7XG4gICAgICB0aGlzLmJhc2U2NEFjY3VtID0gYmFzZTY0QWNjdW07XG4gICAgICByZXR1cm4gcmVzO1xuICAgIH07XG4gICAgVXRmN0RlY29kZXIucHJvdG90eXBlLmVuZCA9IGZ1bmN0aW9uKCkge1xuICAgICAgdmFyIHJlcyA9IFwiXCI7XG4gICAgICBpZiAodGhpcy5pbkJhc2U2NCAmJiB0aGlzLmJhc2U2NEFjY3VtLmxlbmd0aCA+IDApXG4gICAgICAgIHJlcyA9IHRoaXMuaWNvbnYuZGVjb2RlKEJ1ZmZlcjIuZnJvbSh0aGlzLmJhc2U2NEFjY3VtLCBcImJhc2U2NFwiKSwgXCJ1dGYxNi1iZVwiKTtcbiAgICAgIHRoaXMuaW5CYXNlNjQgPSBmYWxzZTtcbiAgICAgIHRoaXMuYmFzZTY0QWNjdW0gPSBcIlwiO1xuICAgICAgcmV0dXJuIHJlcztcbiAgICB9O1xuICAgIGV4cG9ydHMyLnV0ZjdpbWFwID0gVXRmN0lNQVBDb2RlYztcbiAgICBmdW5jdGlvbiBVdGY3SU1BUENvZGVjKGNvZGVjT3B0aW9ucywgaWNvbnYpIHtcbiAgICAgIHRoaXMuaWNvbnYgPSBpY29udjtcbiAgICB9XG4gICAgVXRmN0lNQVBDb2RlYy5wcm90b3R5cGUuZW5jb2RlciA9IFV0ZjdJTUFQRW5jb2RlcjtcbiAgICBVdGY3SU1BUENvZGVjLnByb3RvdHlwZS5kZWNvZGVyID0gVXRmN0lNQVBEZWNvZGVyO1xuICAgIFV0ZjdJTUFQQ29kZWMucHJvdG90eXBlLmJvbUF3YXJlID0gdHJ1ZTtcbiAgICBmdW5jdGlvbiBVdGY3SU1BUEVuY29kZXIob3B0aW9ucywgY29kZWMpIHtcbiAgICAgIHRoaXMuaWNvbnYgPSBjb2RlYy5pY29udjtcbiAgICAgIHRoaXMuaW5CYXNlNjQgPSBmYWxzZTtcbiAgICAgIHRoaXMuYmFzZTY0QWNjdW0gPSBCdWZmZXIyLmFsbG9jKDYpO1xuICAgICAgdGhpcy5iYXNlNjRBY2N1bUlkeCA9IDA7XG4gICAgfVxuICAgIFV0ZjdJTUFQRW5jb2Rlci5wcm90b3R5cGUud3JpdGUgPSBmdW5jdGlvbihzdHIpIHtcbiAgICAgIHZhciBpbkJhc2U2NCA9IHRoaXMuaW5CYXNlNjQsIGJhc2U2NEFjY3VtID0gdGhpcy5iYXNlNjRBY2N1bSwgYmFzZTY0QWNjdW1JZHggPSB0aGlzLmJhc2U2NEFjY3VtSWR4LCBidWYgPSBCdWZmZXIyLmFsbG9jKHN0ci5sZW5ndGggKiA1ICsgMTApLCBidWZJZHggPSAwO1xuICAgICAgZm9yICh2YXIgaTIgPSAwOyBpMiA8IHN0ci5sZW5ndGg7IGkyKyspIHtcbiAgICAgICAgdmFyIHVDaGFyID0gc3RyLmNoYXJDb2RlQXQoaTIpO1xuICAgICAgICBpZiAoMzIgPD0gdUNoYXIgJiYgdUNoYXIgPD0gMTI2KSB7XG4gICAgICAgICAgaWYgKGluQmFzZTY0KSB7XG4gICAgICAgICAgICBpZiAoYmFzZTY0QWNjdW1JZHggPiAwKSB7XG4gICAgICAgICAgICAgIGJ1ZklkeCArPSBidWYud3JpdGUoYmFzZTY0QWNjdW0uc2xpY2UoMCwgYmFzZTY0QWNjdW1JZHgpLnRvU3RyaW5nKFwiYmFzZTY0XCIpLnJlcGxhY2UoL1xcLy9nLCBcIixcIikucmVwbGFjZSgvPSskLywgXCJcIiksIGJ1ZklkeCk7XG4gICAgICAgICAgICAgIGJhc2U2NEFjY3VtSWR4ID0gMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGJ1ZltidWZJZHgrK10gPSBtaW51c0NoYXI7XG4gICAgICAgICAgICBpbkJhc2U2NCA9IGZhbHNlO1xuICAgICAgICAgIH1cbiAgICAgICAgICBpZiAoIWluQmFzZTY0KSB7XG4gICAgICAgICAgICBidWZbYnVmSWR4KytdID0gdUNoYXI7XG4gICAgICAgICAgICBpZiAodUNoYXIgPT09IGFuZENoYXIpXG4gICAgICAgICAgICAgIGJ1ZltidWZJZHgrK10gPSBtaW51c0NoYXI7XG4gICAgICAgICAgfVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGlmICghaW5CYXNlNjQpIHtcbiAgICAgICAgICAgIGJ1ZltidWZJZHgrK10gPSBhbmRDaGFyO1xuICAgICAgICAgICAgaW5CYXNlNjQgPSB0cnVlO1xuICAgICAgICAgIH1cbiAgICAgICAgICBpZiAoaW5CYXNlNjQpIHtcbiAgICAgICAgICAgIGJhc2U2NEFjY3VtW2Jhc2U2NEFjY3VtSWR4KytdID0gdUNoYXIgPj4gODtcbiAgICAgICAgICAgIGJhc2U2NEFjY3VtW2Jhc2U2NEFjY3VtSWR4KytdID0gdUNoYXIgJiAyNTU7XG4gICAgICAgICAgICBpZiAoYmFzZTY0QWNjdW1JZHggPT0gYmFzZTY0QWNjdW0ubGVuZ3RoKSB7XG4gICAgICAgICAgICAgIGJ1ZklkeCArPSBidWYud3JpdGUoYmFzZTY0QWNjdW0udG9TdHJpbmcoXCJiYXNlNjRcIikucmVwbGFjZSgvXFwvL2csIFwiLFwiKSwgYnVmSWR4KTtcbiAgICAgICAgICAgICAgYmFzZTY0QWNjdW1JZHggPSAwO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgdGhpcy5pbkJhc2U2NCA9IGluQmFzZTY0O1xuICAgICAgdGhpcy5iYXNlNjRBY2N1bUlkeCA9IGJhc2U2NEFjY3VtSWR4O1xuICAgICAgcmV0dXJuIGJ1Zi5zbGljZSgwLCBidWZJZHgpO1xuICAgIH07XG4gICAgVXRmN0lNQVBFbmNvZGVyLnByb3RvdHlwZS5lbmQgPSBmdW5jdGlvbigpIHtcbiAgICAgIHZhciBidWYgPSBCdWZmZXIyLmFsbG9jKDEwKSwgYnVmSWR4ID0gMDtcbiAgICAgIGlmICh0aGlzLmluQmFzZTY0KSB7XG4gICAgICAgIGlmICh0aGlzLmJhc2U2NEFjY3VtSWR4ID4gMCkge1xuICAgICAgICAgIGJ1ZklkeCArPSBidWYud3JpdGUodGhpcy5iYXNlNjRBY2N1bS5zbGljZSgwLCB0aGlzLmJhc2U2NEFjY3VtSWR4KS50b1N0cmluZyhcImJhc2U2NFwiKS5yZXBsYWNlKC9cXC8vZywgXCIsXCIpLnJlcGxhY2UoLz0rJC8sIFwiXCIpLCBidWZJZHgpO1xuICAgICAgICAgIHRoaXMuYmFzZTY0QWNjdW1JZHggPSAwO1xuICAgICAgICB9XG4gICAgICAgIGJ1ZltidWZJZHgrK10gPSBtaW51c0NoYXI7XG4gICAgICAgIHRoaXMuaW5CYXNlNjQgPSBmYWxzZTtcbiAgICAgIH1cbiAgICAgIHJldHVybiBidWYuc2xpY2UoMCwgYnVmSWR4KTtcbiAgICB9O1xuICAgIGZ1bmN0aW9uIFV0ZjdJTUFQRGVjb2RlcihvcHRpb25zLCBjb2RlYykge1xuICAgICAgdGhpcy5pY29udiA9IGNvZGVjLmljb252O1xuICAgICAgdGhpcy5pbkJhc2U2NCA9IGZhbHNlO1xuICAgICAgdGhpcy5iYXNlNjRBY2N1bSA9IFwiXCI7XG4gICAgfVxuICAgIHZhciBiYXNlNjRJTUFQQ2hhcnMgPSBiYXNlNjRDaGFycy5zbGljZSgpO1xuICAgIGJhc2U2NElNQVBDaGFyc1tcIixcIi5jaGFyQ29kZUF0KDApXSA9IHRydWU7XG4gICAgVXRmN0lNQVBEZWNvZGVyLnByb3RvdHlwZS53cml0ZSA9IGZ1bmN0aW9uKGJ1Zikge1xuICAgICAgdmFyIHJlcyA9IFwiXCIsIGxhc3RJID0gMCwgaW5CYXNlNjQgPSB0aGlzLmluQmFzZTY0LCBiYXNlNjRBY2N1bSA9IHRoaXMuYmFzZTY0QWNjdW07XG4gICAgICBmb3IgKHZhciBpMiA9IDA7IGkyIDwgYnVmLmxlbmd0aDsgaTIrKykge1xuICAgICAgICBpZiAoIWluQmFzZTY0KSB7XG4gICAgICAgICAgaWYgKGJ1ZltpMl0gPT0gYW5kQ2hhcikge1xuICAgICAgICAgICAgcmVzICs9IHRoaXMuaWNvbnYuZGVjb2RlKGJ1Zi5zbGljZShsYXN0SSwgaTIpLCBcImFzY2lpXCIpO1xuICAgICAgICAgICAgbGFzdEkgPSBpMiArIDE7XG4gICAgICAgICAgICBpbkJhc2U2NCA9IHRydWU7XG4gICAgICAgICAgfVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGlmICghYmFzZTY0SU1BUENoYXJzW2J1ZltpMl1dKSB7XG4gICAgICAgICAgICBpZiAoaTIgPT0gbGFzdEkgJiYgYnVmW2kyXSA9PSBtaW51c0NoYXIpIHtcbiAgICAgICAgICAgICAgcmVzICs9IFwiJlwiO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgdmFyIGI2NHN0ciA9IGJhc2U2NEFjY3VtICsgdGhpcy5pY29udi5kZWNvZGUoYnVmLnNsaWNlKGxhc3RJLCBpMiksIFwiYXNjaWlcIikucmVwbGFjZSgvLC9nLCBcIi9cIik7XG4gICAgICAgICAgICAgIHJlcyArPSB0aGlzLmljb252LmRlY29kZShCdWZmZXIyLmZyb20oYjY0c3RyLCBcImJhc2U2NFwiKSwgXCJ1dGYxNi1iZVwiKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmIChidWZbaTJdICE9IG1pbnVzQ2hhcilcbiAgICAgICAgICAgICAgaTItLTtcbiAgICAgICAgICAgIGxhc3RJID0gaTIgKyAxO1xuICAgICAgICAgICAgaW5CYXNlNjQgPSBmYWxzZTtcbiAgICAgICAgICAgIGJhc2U2NEFjY3VtID0gXCJcIjtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIGlmICghaW5CYXNlNjQpIHtcbiAgICAgICAgcmVzICs9IHRoaXMuaWNvbnYuZGVjb2RlKGJ1Zi5zbGljZShsYXN0SSksIFwiYXNjaWlcIik7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB2YXIgYjY0c3RyID0gYmFzZTY0QWNjdW0gKyB0aGlzLmljb252LmRlY29kZShidWYuc2xpY2UobGFzdEkpLCBcImFzY2lpXCIpLnJlcGxhY2UoLywvZywgXCIvXCIpO1xuICAgICAgICB2YXIgY2FuQmVEZWNvZGVkID0gYjY0c3RyLmxlbmd0aCAtIGI2NHN0ci5sZW5ndGggJSA4O1xuICAgICAgICBiYXNlNjRBY2N1bSA9IGI2NHN0ci5zbGljZShjYW5CZURlY29kZWQpO1xuICAgICAgICBiNjRzdHIgPSBiNjRzdHIuc2xpY2UoMCwgY2FuQmVEZWNvZGVkKTtcbiAgICAgICAgcmVzICs9IHRoaXMuaWNvbnYuZGVjb2RlKEJ1ZmZlcjIuZnJvbShiNjRzdHIsIFwiYmFzZTY0XCIpLCBcInV0ZjE2LWJlXCIpO1xuICAgICAgfVxuICAgICAgdGhpcy5pbkJhc2U2NCA9IGluQmFzZTY0O1xuICAgICAgdGhpcy5iYXNlNjRBY2N1bSA9IGJhc2U2NEFjY3VtO1xuICAgICAgcmV0dXJuIHJlcztcbiAgICB9O1xuICAgIFV0ZjdJTUFQRGVjb2Rlci5wcm90b3R5cGUuZW5kID0gZnVuY3Rpb24oKSB7XG4gICAgICB2YXIgcmVzID0gXCJcIjtcbiAgICAgIGlmICh0aGlzLmluQmFzZTY0ICYmIHRoaXMuYmFzZTY0QWNjdW0ubGVuZ3RoID4gMClcbiAgICAgICAgcmVzID0gdGhpcy5pY29udi5kZWNvZGUoQnVmZmVyMi5mcm9tKHRoaXMuYmFzZTY0QWNjdW0sIFwiYmFzZTY0XCIpLCBcInV0ZjE2LWJlXCIpO1xuICAgICAgdGhpcy5pbkJhc2U2NCA9IGZhbHNlO1xuICAgICAgdGhpcy5iYXNlNjRBY2N1bSA9IFwiXCI7XG4gICAgICByZXR1cm4gcmVzO1xuICAgIH07XG4gIH1cbn0pO1xuXG4vLyBub2RlX21vZHVsZXMvYm9keS1wYXJzZXIvbm9kZV9tb2R1bGVzL2ljb252LWxpdGUvZW5jb2RpbmdzL3NiY3MtY29kZWMuanNcbnZhciByZXF1aXJlX3NiY3NfY29kZWMyID0gX19jb21tb25KUyh7XG4gIFwibm9kZV9tb2R1bGVzL2JvZHktcGFyc2VyL25vZGVfbW9kdWxlcy9pY29udi1saXRlL2VuY29kaW5ncy9zYmNzLWNvZGVjLmpzXCIoZXhwb3J0czIpIHtcbiAgICBcInVzZSBzdHJpY3RcIjtcbiAgICB2YXIgQnVmZmVyMiA9IHJlcXVpcmVfc2FmZXIoKS5CdWZmZXI7XG4gICAgZXhwb3J0czIuX3NiY3MgPSBTQkNTQ29kZWM7XG4gICAgZnVuY3Rpb24gU0JDU0NvZGVjKGNvZGVjT3B0aW9ucywgaWNvbnYpIHtcbiAgICAgIGlmICghY29kZWNPcHRpb25zKVxuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXCJTQkNTIGNvZGVjIGlzIGNhbGxlZCB3aXRob3V0IHRoZSBkYXRhLlwiKTtcbiAgICAgIGlmICghY29kZWNPcHRpb25zLmNoYXJzIHx8IGNvZGVjT3B0aW9ucy5jaGFycy5sZW5ndGggIT09IDEyOCAmJiBjb2RlY09wdGlvbnMuY2hhcnMubGVuZ3RoICE9PSAyNTYpXG4gICAgICAgIHRocm93IG5ldyBFcnJvcihcIkVuY29kaW5nICdcIiArIGNvZGVjT3B0aW9ucy50eXBlICsgXCInIGhhcyBpbmNvcnJlY3QgJ2NoYXJzJyAobXVzdCBiZSBvZiBsZW4gMTI4IG9yIDI1NilcIik7XG4gICAgICBpZiAoY29kZWNPcHRpb25zLmNoYXJzLmxlbmd0aCA9PT0gMTI4KSB7XG4gICAgICAgIHZhciBhc2NpaVN0cmluZyA9IFwiXCI7XG4gICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgMTI4OyBpKyspXG4gICAgICAgICAgYXNjaWlTdHJpbmcgKz0gU3RyaW5nLmZyb21DaGFyQ29kZShpKTtcbiAgICAgICAgY29kZWNPcHRpb25zLmNoYXJzID0gYXNjaWlTdHJpbmcgKyBjb2RlY09wdGlvbnMuY2hhcnM7XG4gICAgICB9XG4gICAgICB0aGlzLmRlY29kZUJ1ZiA9IEJ1ZmZlcjIuZnJvbShjb2RlY09wdGlvbnMuY2hhcnMsIFwidWNzMlwiKTtcbiAgICAgIHZhciBlbmNvZGVCdWYgPSBCdWZmZXIyLmFsbG9jKDY1NTM2LCBpY29udi5kZWZhdWx0Q2hhclNpbmdsZUJ5dGUuY2hhckNvZGVBdCgwKSk7XG4gICAgICBmb3IgKHZhciBpID0gMDsgaSA8IGNvZGVjT3B0aW9ucy5jaGFycy5sZW5ndGg7IGkrKylcbiAgICAgICAgZW5jb2RlQnVmW2NvZGVjT3B0aW9ucy5jaGFycy5jaGFyQ29kZUF0KGkpXSA9IGk7XG4gICAgICB0aGlzLmVuY29kZUJ1ZiA9IGVuY29kZUJ1ZjtcbiAgICB9XG4gICAgU0JDU0NvZGVjLnByb3RvdHlwZS5lbmNvZGVyID0gU0JDU0VuY29kZXI7XG4gICAgU0JDU0NvZGVjLnByb3RvdHlwZS5kZWNvZGVyID0gU0JDU0RlY29kZXI7XG4gICAgZnVuY3Rpb24gU0JDU0VuY29kZXIob3B0aW9ucywgY29kZWMpIHtcbiAgICAgIHRoaXMuZW5jb2RlQnVmID0gY29kZWMuZW5jb2RlQnVmO1xuICAgIH1cbiAgICBTQkNTRW5jb2Rlci5wcm90b3R5cGUud3JpdGUgPSBmdW5jdGlvbihzdHIpIHtcbiAgICAgIHZhciBidWYgPSBCdWZmZXIyLmFsbG9jKHN0ci5sZW5ndGgpO1xuICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBzdHIubGVuZ3RoOyBpKyspXG4gICAgICAgIGJ1ZltpXSA9IHRoaXMuZW5jb2RlQnVmW3N0ci5jaGFyQ29kZUF0KGkpXTtcbiAgICAgIHJldHVybiBidWY7XG4gICAgfTtcbiAgICBTQkNTRW5jb2Rlci5wcm90b3R5cGUuZW5kID0gZnVuY3Rpb24oKSB7XG4gICAgfTtcbiAgICBmdW5jdGlvbiBTQkNTRGVjb2RlcihvcHRpb25zLCBjb2RlYykge1xuICAgICAgdGhpcy5kZWNvZGVCdWYgPSBjb2RlYy5kZWNvZGVCdWY7XG4gICAgfVxuICAgIFNCQ1NEZWNvZGVyLnByb3RvdHlwZS53cml0ZSA9IGZ1bmN0aW9uKGJ1Zikge1xuICAgICAgdmFyIGRlY29kZUJ1ZiA9IHRoaXMuZGVjb2RlQnVmO1xuICAgICAgdmFyIG5ld0J1ZiA9IEJ1ZmZlcjIuYWxsb2MoYnVmLmxlbmd0aCAqIDIpO1xuICAgICAgdmFyIGlkeDEgPSAwLCBpZHgyID0gMDtcbiAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgYnVmLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgIGlkeDEgPSBidWZbaV0gKiAyO1xuICAgICAgICBpZHgyID0gaSAqIDI7XG4gICAgICAgIG5ld0J1ZltpZHgyXSA9IGRlY29kZUJ1ZltpZHgxXTtcbiAgICAgICAgbmV3QnVmW2lkeDIgKyAxXSA9IGRlY29kZUJ1ZltpZHgxICsgMV07XG4gICAgICB9XG4gICAgICByZXR1cm4gbmV3QnVmLnRvU3RyaW5nKFwidWNzMlwiKTtcbiAgICB9O1xuICAgIFNCQ1NEZWNvZGVyLnByb3RvdHlwZS5lbmQgPSBmdW5jdGlvbigpIHtcbiAgICB9O1xuICB9XG59KTtcblxuLy8gbm9kZV9tb2R1bGVzL2JvZHktcGFyc2VyL25vZGVfbW9kdWxlcy9pY29udi1saXRlL2VuY29kaW5ncy9zYmNzLWRhdGEuanNcbnZhciByZXF1aXJlX3NiY3NfZGF0YTIgPSBfX2NvbW1vbkpTKHtcbiAgXCJub2RlX21vZHVsZXMvYm9keS1wYXJzZXIvbm9kZV9tb2R1bGVzL2ljb252LWxpdGUvZW5jb2RpbmdzL3NiY3MtZGF0YS5qc1wiKGV4cG9ydHMyLCBtb2R1bGUyKSB7XG4gICAgXCJ1c2Ugc3RyaWN0XCI7XG4gICAgbW9kdWxlMi5leHBvcnRzID0ge1xuICAgICAgLy8gTm90IHN1cHBvcnRlZCBieSBpY29udiwgbm90IHN1cmUgd2h5LlxuICAgICAgXCIxMDAyOVwiOiBcIm1hY2NlbnRldXJvXCIsXG4gICAgICBcIm1hY2NlbnRldXJvXCI6IHtcbiAgICAgICAgXCJ0eXBlXCI6IFwiX3NiY3NcIixcbiAgICAgICAgXCJjaGFyc1wiOiBcIlxceEM0XFx1MDEwMFxcdTAxMDFcXHhDOVxcdTAxMDRcXHhENlxceERDXFx4RTFcXHUwMTA1XFx1MDEwQ1xceEU0XFx1MDEwRFxcdTAxMDZcXHUwMTA3XFx4RTlcXHUwMTc5XFx1MDE3QVxcdTAxMEVcXHhFRFxcdTAxMEZcXHUwMTEyXFx1MDExM1xcdTAxMTZcXHhGM1xcdTAxMTdcXHhGNFxceEY2XFx4RjVcXHhGQVxcdTAxMUFcXHUwMTFCXFx4RkNcXHUyMDIwXFx4QjBcXHUwMTE4XFx4QTNcXHhBN1xcdTIwMjJcXHhCNlxceERGXFx4QUVcXHhBOVxcdTIxMjJcXHUwMTE5XFx4QThcXHUyMjYwXFx1MDEyM1xcdTAxMkVcXHUwMTJGXFx1MDEyQVxcdTIyNjRcXHUyMjY1XFx1MDEyQlxcdTAxMzZcXHUyMjAyXFx1MjIxMVxcdTAxNDJcXHUwMTNCXFx1MDEzQ1xcdTAxM0RcXHUwMTNFXFx1MDEzOVxcdTAxM0FcXHUwMTQ1XFx1MDE0NlxcdTAxNDNcXHhBQ1xcdTIyMUFcXHUwMTQ0XFx1MDE0N1xcdTIyMDZcXHhBQlxceEJCXFx1MjAyNlxceEEwXFx1MDE0OFxcdTAxNTBcXHhENVxcdTAxNTFcXHUwMTRDXFx1MjAxM1xcdTIwMTRcXHUyMDFDXFx1MjAxRFxcdTIwMThcXHUyMDE5XFx4RjdcXHUyNUNBXFx1MDE0RFxcdTAxNTRcXHUwMTU1XFx1MDE1OFxcdTIwMzlcXHUyMDNBXFx1MDE1OVxcdTAxNTZcXHUwMTU3XFx1MDE2MFxcdTIwMUFcXHUyMDFFXFx1MDE2MVxcdTAxNUFcXHUwMTVCXFx4QzFcXHUwMTY0XFx1MDE2NVxceENEXFx1MDE3RFxcdTAxN0VcXHUwMTZBXFx4RDNcXHhENFxcdTAxNkJcXHUwMTZFXFx4REFcXHUwMTZGXFx1MDE3MFxcdTAxNzFcXHUwMTcyXFx1MDE3M1xceEREXFx4RkRcXHUwMTM3XFx1MDE3QlxcdTAxNDFcXHUwMTdDXFx1MDEyMlxcdTAyQzdcIlxuICAgICAgfSxcbiAgICAgIFwiODA4XCI6IFwiY3A4MDhcIixcbiAgICAgIFwiaWJtODA4XCI6IFwiY3A4MDhcIixcbiAgICAgIFwiY3A4MDhcIjoge1xuICAgICAgICBcInR5cGVcIjogXCJfc2Jjc1wiLFxuICAgICAgICBcImNoYXJzXCI6IFwiXFx1MDQxMFxcdTA0MTFcXHUwNDEyXFx1MDQxM1xcdTA0MTRcXHUwNDE1XFx1MDQxNlxcdTA0MTdcXHUwNDE4XFx1MDQxOVxcdTA0MUFcXHUwNDFCXFx1MDQxQ1xcdTA0MURcXHUwNDFFXFx1MDQxRlxcdTA0MjBcXHUwNDIxXFx1MDQyMlxcdTA0MjNcXHUwNDI0XFx1MDQyNVxcdTA0MjZcXHUwNDI3XFx1MDQyOFxcdTA0MjlcXHUwNDJBXFx1MDQyQlxcdTA0MkNcXHUwNDJEXFx1MDQyRVxcdTA0MkZcXHUwNDMwXFx1MDQzMVxcdTA0MzJcXHUwNDMzXFx1MDQzNFxcdTA0MzVcXHUwNDM2XFx1MDQzN1xcdTA0MzhcXHUwNDM5XFx1MDQzQVxcdTA0M0JcXHUwNDNDXFx1MDQzRFxcdTA0M0VcXHUwNDNGXFx1MjU5MVxcdTI1OTJcXHUyNTkzXFx1MjUwMlxcdTI1MjRcXHUyNTYxXFx1MjU2MlxcdTI1NTZcXHUyNTU1XFx1MjU2M1xcdTI1NTFcXHUyNTU3XFx1MjU1RFxcdTI1NUNcXHUyNTVCXFx1MjUxMFxcdTI1MTRcXHUyNTM0XFx1MjUyQ1xcdTI1MUNcXHUyNTAwXFx1MjUzQ1xcdTI1NUVcXHUyNTVGXFx1MjU1QVxcdTI1NTRcXHUyNTY5XFx1MjU2NlxcdTI1NjBcXHUyNTUwXFx1MjU2Q1xcdTI1NjdcXHUyNTY4XFx1MjU2NFxcdTI1NjVcXHUyNTU5XFx1MjU1OFxcdTI1NTJcXHUyNTUzXFx1MjU2QlxcdTI1NkFcXHUyNTE4XFx1MjUwQ1xcdTI1ODhcXHUyNTg0XFx1MjU4Q1xcdTI1OTBcXHUyNTgwXFx1MDQ0MFxcdTA0NDFcXHUwNDQyXFx1MDQ0M1xcdTA0NDRcXHUwNDQ1XFx1MDQ0NlxcdTA0NDdcXHUwNDQ4XFx1MDQ0OVxcdTA0NEFcXHUwNDRCXFx1MDQ0Q1xcdTA0NERcXHUwNDRFXFx1MDQ0RlxcdTA0MDFcXHUwNDUxXFx1MDQwNFxcdTA0NTRcXHUwNDA3XFx1MDQ1N1xcdTA0MEVcXHUwNDVFXFx4QjBcXHUyMjE5XFx4QjdcXHUyMjFBXFx1MjExNlxcdTIwQUNcXHUyNUEwXFx4QTBcIlxuICAgICAgfSxcbiAgICAgIFwibWlrXCI6IHtcbiAgICAgICAgXCJ0eXBlXCI6IFwiX3NiY3NcIixcbiAgICAgICAgXCJjaGFyc1wiOiBcIlxcdTA0MTBcXHUwNDExXFx1MDQxMlxcdTA0MTNcXHUwNDE0XFx1MDQxNVxcdTA0MTZcXHUwNDE3XFx1MDQxOFxcdTA0MTlcXHUwNDFBXFx1MDQxQlxcdTA0MUNcXHUwNDFEXFx1MDQxRVxcdTA0MUZcXHUwNDIwXFx1MDQyMVxcdTA0MjJcXHUwNDIzXFx1MDQyNFxcdTA0MjVcXHUwNDI2XFx1MDQyN1xcdTA0MjhcXHUwNDI5XFx1MDQyQVxcdTA0MkJcXHUwNDJDXFx1MDQyRFxcdTA0MkVcXHUwNDJGXFx1MDQzMFxcdTA0MzFcXHUwNDMyXFx1MDQzM1xcdTA0MzRcXHUwNDM1XFx1MDQzNlxcdTA0MzdcXHUwNDM4XFx1MDQzOVxcdTA0M0FcXHUwNDNCXFx1MDQzQ1xcdTA0M0RcXHUwNDNFXFx1MDQzRlxcdTA0NDBcXHUwNDQxXFx1MDQ0MlxcdTA0NDNcXHUwNDQ0XFx1MDQ0NVxcdTA0NDZcXHUwNDQ3XFx1MDQ0OFxcdTA0NDlcXHUwNDRBXFx1MDQ0QlxcdTA0NENcXHUwNDREXFx1MDQ0RVxcdTA0NEZcXHUyNTE0XFx1MjUzNFxcdTI1MkNcXHUyNTFDXFx1MjUwMFxcdTI1M0NcXHUyNTYzXFx1MjU1MVxcdTI1NUFcXHUyNTU0XFx1MjU2OVxcdTI1NjZcXHUyNTYwXFx1MjU1MFxcdTI1NkNcXHUyNTEwXFx1MjU5MVxcdTI1OTJcXHUyNTkzXFx1MjUwMlxcdTI1MjRcXHUyMTE2XFx4QTdcXHUyNTU3XFx1MjU1RFxcdTI1MThcXHUyNTBDXFx1MjU4OFxcdTI1ODRcXHUyNThDXFx1MjU5MFxcdTI1ODBcXHUwM0IxXFx4REZcXHUwMzkzXFx1MDNDMFxcdTAzQTNcXHUwM0MzXFx4QjVcXHUwM0M0XFx1MDNBNlxcdTAzOThcXHUwM0E5XFx1MDNCNFxcdTIyMUVcXHUwM0M2XFx1MDNCNVxcdTIyMjlcXHUyMjYxXFx4QjFcXHUyMjY1XFx1MjI2NFxcdTIzMjBcXHUyMzIxXFx4RjdcXHUyMjQ4XFx4QjBcXHUyMjE5XFx4QjdcXHUyMjFBXFx1MjA3RlxceEIyXFx1MjVBMFxceEEwXCJcbiAgICAgIH0sXG4gICAgICBcImNwNzIwXCI6IHtcbiAgICAgICAgXCJ0eXBlXCI6IFwiX3NiY3NcIixcbiAgICAgICAgXCJjaGFyc1wiOiBcIlxceDgwXFx4ODFcXHhFOVxceEUyXFx4ODRcXHhFMFxceDg2XFx4RTdcXHhFQVxceEVCXFx4RThcXHhFRlxceEVFXFx4OERcXHg4RVxceDhGXFx4OTBcXHUwNjUxXFx1MDY1MlxceEY0XFx4QTRcXHUwNjQwXFx4RkJcXHhGOVxcdTA2MjFcXHUwNjIyXFx1MDYyM1xcdTA2MjRcXHhBM1xcdTA2MjVcXHUwNjI2XFx1MDYyN1xcdTA2MjhcXHUwNjI5XFx1MDYyQVxcdTA2MkJcXHUwNjJDXFx1MDYyRFxcdTA2MkVcXHUwNjJGXFx1MDYzMFxcdTA2MzFcXHUwNjMyXFx1MDYzM1xcdTA2MzRcXHUwNjM1XFx4QUJcXHhCQlxcdTI1OTFcXHUyNTkyXFx1MjU5M1xcdTI1MDJcXHUyNTI0XFx1MjU2MVxcdTI1NjJcXHUyNTU2XFx1MjU1NVxcdTI1NjNcXHUyNTUxXFx1MjU1N1xcdTI1NURcXHUyNTVDXFx1MjU1QlxcdTI1MTBcXHUyNTE0XFx1MjUzNFxcdTI1MkNcXHUyNTFDXFx1MjUwMFxcdTI1M0NcXHUyNTVFXFx1MjU1RlxcdTI1NUFcXHUyNTU0XFx1MjU2OVxcdTI1NjZcXHUyNTYwXFx1MjU1MFxcdTI1NkNcXHUyNTY3XFx1MjU2OFxcdTI1NjRcXHUyNTY1XFx1MjU1OVxcdTI1NThcXHUyNTUyXFx1MjU1M1xcdTI1NkJcXHUyNTZBXFx1MjUxOFxcdTI1MENcXHUyNTg4XFx1MjU4NFxcdTI1OENcXHUyNTkwXFx1MjU4MFxcdTA2MzZcXHUwNjM3XFx1MDYzOFxcdTA2MzlcXHUwNjNBXFx1MDY0MVxceEI1XFx1MDY0MlxcdTA2NDNcXHUwNjQ0XFx1MDY0NVxcdTA2NDZcXHUwNjQ3XFx1MDY0OFxcdTA2NDlcXHUwNjRBXFx1MjI2MVxcdTA2NEJcXHUwNjRDXFx1MDY0RFxcdTA2NEVcXHUwNjRGXFx1MDY1MFxcdTIyNDhcXHhCMFxcdTIyMTlcXHhCN1xcdTIyMUFcXHUyMDdGXFx4QjJcXHUyNUEwXFx4QTBcIlxuICAgICAgfSxcbiAgICAgIC8vIEFsaWFzZXMgb2YgZ2VuZXJhdGVkIGVuY29kaW5ncy5cbiAgICAgIFwiYXNjaWk4Yml0XCI6IFwiYXNjaWlcIixcbiAgICAgIFwidXNhc2NpaVwiOiBcImFzY2lpXCIsXG4gICAgICBcImFuc2l4MzRcIjogXCJhc2NpaVwiLFxuICAgICAgXCJhbnNpeDM0MTk2OFwiOiBcImFzY2lpXCIsXG4gICAgICBcImFuc2l4MzQxOTg2XCI6IFwiYXNjaWlcIixcbiAgICAgIFwiY3Nhc2NpaVwiOiBcImFzY2lpXCIsXG4gICAgICBcImNwMzY3XCI6IFwiYXNjaWlcIixcbiAgICAgIFwiaWJtMzY3XCI6IFwiYXNjaWlcIixcbiAgICAgIFwiaXNvaXI2XCI6IFwiYXNjaWlcIixcbiAgICAgIFwiaXNvNjQ2dXNcIjogXCJhc2NpaVwiLFxuICAgICAgXCJpc282NDZpcnZcIjogXCJhc2NpaVwiLFxuICAgICAgXCJ1c1wiOiBcImFzY2lpXCIsXG4gICAgICBcImxhdGluMVwiOiBcImlzbzg4NTkxXCIsXG4gICAgICBcImxhdGluMlwiOiBcImlzbzg4NTkyXCIsXG4gICAgICBcImxhdGluM1wiOiBcImlzbzg4NTkzXCIsXG4gICAgICBcImxhdGluNFwiOiBcImlzbzg4NTk0XCIsXG4gICAgICBcImxhdGluNVwiOiBcImlzbzg4NTk5XCIsXG4gICAgICBcImxhdGluNlwiOiBcImlzbzg4NTkxMFwiLFxuICAgICAgXCJsYXRpbjdcIjogXCJpc284ODU5MTNcIixcbiAgICAgIFwibGF0aW44XCI6IFwiaXNvODg1OTE0XCIsXG4gICAgICBcImxhdGluOVwiOiBcImlzbzg4NTkxNVwiLFxuICAgICAgXCJsYXRpbjEwXCI6IFwiaXNvODg1OTE2XCIsXG4gICAgICBcImNzaXNvbGF0aW4xXCI6IFwiaXNvODg1OTFcIixcbiAgICAgIFwiY3Npc29sYXRpbjJcIjogXCJpc284ODU5MlwiLFxuICAgICAgXCJjc2lzb2xhdGluM1wiOiBcImlzbzg4NTkzXCIsXG4gICAgICBcImNzaXNvbGF0aW40XCI6IFwiaXNvODg1OTRcIixcbiAgICAgIFwiY3Npc29sYXRpbmN5cmlsbGljXCI6IFwiaXNvODg1OTVcIixcbiAgICAgIFwiY3Npc29sYXRpbmFyYWJpY1wiOiBcImlzbzg4NTk2XCIsXG4gICAgICBcImNzaXNvbGF0aW5ncmVla1wiOiBcImlzbzg4NTk3XCIsXG4gICAgICBcImNzaXNvbGF0aW5oZWJyZXdcIjogXCJpc284ODU5OFwiLFxuICAgICAgXCJjc2lzb2xhdGluNVwiOiBcImlzbzg4NTk5XCIsXG4gICAgICBcImNzaXNvbGF0aW42XCI6IFwiaXNvODg1OTEwXCIsXG4gICAgICBcImwxXCI6IFwiaXNvODg1OTFcIixcbiAgICAgIFwibDJcIjogXCJpc284ODU5MlwiLFxuICAgICAgXCJsM1wiOiBcImlzbzg4NTkzXCIsXG4gICAgICBcImw0XCI6IFwiaXNvODg1OTRcIixcbiAgICAgIFwibDVcIjogXCJpc284ODU5OVwiLFxuICAgICAgXCJsNlwiOiBcImlzbzg4NTkxMFwiLFxuICAgICAgXCJsN1wiOiBcImlzbzg4NTkxM1wiLFxuICAgICAgXCJsOFwiOiBcImlzbzg4NTkxNFwiLFxuICAgICAgXCJsOVwiOiBcImlzbzg4NTkxNVwiLFxuICAgICAgXCJsMTBcIjogXCJpc284ODU5MTZcIixcbiAgICAgIFwiaXNvaXIxNFwiOiBcImlzbzY0NmpwXCIsXG4gICAgICBcImlzb2lyNTdcIjogXCJpc282NDZjblwiLFxuICAgICAgXCJpc29pcjEwMFwiOiBcImlzbzg4NTkxXCIsXG4gICAgICBcImlzb2lyMTAxXCI6IFwiaXNvODg1OTJcIixcbiAgICAgIFwiaXNvaXIxMDlcIjogXCJpc284ODU5M1wiLFxuICAgICAgXCJpc29pcjExMFwiOiBcImlzbzg4NTk0XCIsXG4gICAgICBcImlzb2lyMTQ0XCI6IFwiaXNvODg1OTVcIixcbiAgICAgIFwiaXNvaXIxMjdcIjogXCJpc284ODU5NlwiLFxuICAgICAgXCJpc29pcjEyNlwiOiBcImlzbzg4NTk3XCIsXG4gICAgICBcImlzb2lyMTM4XCI6IFwiaXNvODg1OThcIixcbiAgICAgIFwiaXNvaXIxNDhcIjogXCJpc284ODU5OVwiLFxuICAgICAgXCJpc29pcjE1N1wiOiBcImlzbzg4NTkxMFwiLFxuICAgICAgXCJpc29pcjE2NlwiOiBcInRpczYyMFwiLFxuICAgICAgXCJpc29pcjE3OVwiOiBcImlzbzg4NTkxM1wiLFxuICAgICAgXCJpc29pcjE5OVwiOiBcImlzbzg4NTkxNFwiLFxuICAgICAgXCJpc29pcjIwM1wiOiBcImlzbzg4NTkxNVwiLFxuICAgICAgXCJpc29pcjIyNlwiOiBcImlzbzg4NTkxNlwiLFxuICAgICAgXCJjcDgxOVwiOiBcImlzbzg4NTkxXCIsXG4gICAgICBcImlibTgxOVwiOiBcImlzbzg4NTkxXCIsXG4gICAgICBcImN5cmlsbGljXCI6IFwiaXNvODg1OTVcIixcbiAgICAgIFwiYXJhYmljXCI6IFwiaXNvODg1OTZcIixcbiAgICAgIFwiYXJhYmljOFwiOiBcImlzbzg4NTk2XCIsXG4gICAgICBcImVjbWExMTRcIjogXCJpc284ODU5NlwiLFxuICAgICAgXCJhc21vNzA4XCI6IFwiaXNvODg1OTZcIixcbiAgICAgIFwiZ3JlZWtcIjogXCJpc284ODU5N1wiLFxuICAgICAgXCJncmVlazhcIjogXCJpc284ODU5N1wiLFxuICAgICAgXCJlY21hMTE4XCI6IFwiaXNvODg1OTdcIixcbiAgICAgIFwiZWxvdDkyOFwiOiBcImlzbzg4NTk3XCIsXG4gICAgICBcImhlYnJld1wiOiBcImlzbzg4NTk4XCIsXG4gICAgICBcImhlYnJldzhcIjogXCJpc284ODU5OFwiLFxuICAgICAgXCJ0dXJraXNoXCI6IFwiaXNvODg1OTlcIixcbiAgICAgIFwidHVya2lzaDhcIjogXCJpc284ODU5OVwiLFxuICAgICAgXCJ0aGFpXCI6IFwiaXNvODg1OTExXCIsXG4gICAgICBcInRoYWk4XCI6IFwiaXNvODg1OTExXCIsXG4gICAgICBcImNlbHRpY1wiOiBcImlzbzg4NTkxNFwiLFxuICAgICAgXCJjZWx0aWM4XCI6IFwiaXNvODg1OTE0XCIsXG4gICAgICBcImlzb2NlbHRpY1wiOiBcImlzbzg4NTkxNFwiLFxuICAgICAgXCJ0aXM2MjAwXCI6IFwidGlzNjIwXCIsXG4gICAgICBcInRpczYyMDI1MjkxXCI6IFwidGlzNjIwXCIsXG4gICAgICBcInRpczYyMDI1MzMwXCI6IFwidGlzNjIwXCIsXG4gICAgICBcIjEwMDAwXCI6IFwibWFjcm9tYW5cIixcbiAgICAgIFwiMTAwMDZcIjogXCJtYWNncmVla1wiLFxuICAgICAgXCIxMDAwN1wiOiBcIm1hY2N5cmlsbGljXCIsXG4gICAgICBcIjEwMDc5XCI6IFwibWFjaWNlbGFuZFwiLFxuICAgICAgXCIxMDA4MVwiOiBcIm1hY3R1cmtpc2hcIixcbiAgICAgIFwiY3NwYzhjb2RlcGFnZTQzN1wiOiBcImNwNDM3XCIsXG4gICAgICBcImNzcGM3NzViYWx0aWNcIjogXCJjcDc3NVwiLFxuICAgICAgXCJjc3BjODUwbXVsdGlsaW5ndWFsXCI6IFwiY3A4NTBcIixcbiAgICAgIFwiY3NwY3A4NTJcIjogXCJjcDg1MlwiLFxuICAgICAgXCJjc3BjODYybGF0aW5oZWJyZXdcIjogXCJjcDg2MlwiLFxuICAgICAgXCJjcGdyXCI6IFwiY3A4NjlcIixcbiAgICAgIFwibXNlZVwiOiBcImNwMTI1MFwiLFxuICAgICAgXCJtc2N5cmxcIjogXCJjcDEyNTFcIixcbiAgICAgIFwibXNhbnNpXCI6IFwiY3AxMjUyXCIsXG4gICAgICBcIm1zZ3JlZWtcIjogXCJjcDEyNTNcIixcbiAgICAgIFwibXN0dXJrXCI6IFwiY3AxMjU0XCIsXG4gICAgICBcIm1zaGViclwiOiBcImNwMTI1NVwiLFxuICAgICAgXCJtc2FyYWJcIjogXCJjcDEyNTZcIixcbiAgICAgIFwid2luYmFsdHJpbVwiOiBcImNwMTI1N1wiLFxuICAgICAgXCJjcDIwODY2XCI6IFwia29pOHJcIixcbiAgICAgIFwiMjA4NjZcIjogXCJrb2k4clwiLFxuICAgICAgXCJpYm04NzhcIjogXCJrb2k4clwiLFxuICAgICAgXCJjc2tvaThyXCI6IFwia29pOHJcIixcbiAgICAgIFwiY3AyMTg2NlwiOiBcImtvaTh1XCIsXG4gICAgICBcIjIxODY2XCI6IFwia29pOHVcIixcbiAgICAgIFwiaWJtMTE2OFwiOiBcImtvaTh1XCIsXG4gICAgICBcInN0cmsxMDQ4MjAwMlwiOiBcInJrMTA0OFwiLFxuICAgICAgXCJ0Y3ZuNTcxMlwiOiBcInRjdm5cIixcbiAgICAgIFwidGN2bjU3MTIxXCI6IFwidGN2blwiLFxuICAgICAgXCJnYjE5ODg4MFwiOiBcImlzbzY0NmNuXCIsXG4gICAgICBcImNuXCI6IFwiaXNvNjQ2Y25cIixcbiAgICAgIFwiY3Npc28xNGppc2M2MjIwcm9cIjogXCJpc282NDZqcFwiLFxuICAgICAgXCJqaXNjNjIyMDE5Njlyb1wiOiBcImlzbzY0NmpwXCIsXG4gICAgICBcImpwXCI6IFwiaXNvNjQ2anBcIixcbiAgICAgIFwiY3NocHJvbWFuOFwiOiBcImhwcm9tYW44XCIsXG4gICAgICBcInI4XCI6IFwiaHByb21hbjhcIixcbiAgICAgIFwicm9tYW44XCI6IFwiaHByb21hbjhcIixcbiAgICAgIFwieHJvbWFuOFwiOiBcImhwcm9tYW44XCIsXG4gICAgICBcImlibTEwNTFcIjogXCJocHJvbWFuOFwiLFxuICAgICAgXCJtYWNcIjogXCJtYWNpbnRvc2hcIixcbiAgICAgIFwiY3NtYWNpbnRvc2hcIjogXCJtYWNpbnRvc2hcIlxuICAgIH07XG4gIH1cbn0pO1xuXG4vLyBub2RlX21vZHVsZXMvYm9keS1wYXJzZXIvbm9kZV9tb2R1bGVzL2ljb252LWxpdGUvZW5jb2RpbmdzL3NiY3MtZGF0YS1nZW5lcmF0ZWQuanNcbnZhciByZXF1aXJlX3NiY3NfZGF0YV9nZW5lcmF0ZWQyID0gX19jb21tb25KUyh7XG4gIFwibm9kZV9tb2R1bGVzL2JvZHktcGFyc2VyL25vZGVfbW9kdWxlcy9pY29udi1saXRlL2VuY29kaW5ncy9zYmNzLWRhdGEtZ2VuZXJhdGVkLmpzXCIoZXhwb3J0czIsIG1vZHVsZTIpIHtcbiAgICBcInVzZSBzdHJpY3RcIjtcbiAgICBtb2R1bGUyLmV4cG9ydHMgPSB7XG4gICAgICBcIjQzN1wiOiBcImNwNDM3XCIsXG4gICAgICBcIjczN1wiOiBcImNwNzM3XCIsXG4gICAgICBcIjc3NVwiOiBcImNwNzc1XCIsXG4gICAgICBcIjg1MFwiOiBcImNwODUwXCIsXG4gICAgICBcIjg1MlwiOiBcImNwODUyXCIsXG4gICAgICBcIjg1NVwiOiBcImNwODU1XCIsXG4gICAgICBcIjg1NlwiOiBcImNwODU2XCIsXG4gICAgICBcIjg1N1wiOiBcImNwODU3XCIsXG4gICAgICBcIjg1OFwiOiBcImNwODU4XCIsXG4gICAgICBcIjg2MFwiOiBcImNwODYwXCIsXG4gICAgICBcIjg2MVwiOiBcImNwODYxXCIsXG4gICAgICBcIjg2MlwiOiBcImNwODYyXCIsXG4gICAgICBcIjg2M1wiOiBcImNwODYzXCIsXG4gICAgICBcIjg2NFwiOiBcImNwODY0XCIsXG4gICAgICBcIjg2NVwiOiBcImNwODY1XCIsXG4gICAgICBcIjg2NlwiOiBcImNwODY2XCIsXG4gICAgICBcIjg2OVwiOiBcImNwODY5XCIsXG4gICAgICBcIjg3NFwiOiBcIndpbmRvd3M4NzRcIixcbiAgICAgIFwiOTIyXCI6IFwiY3A5MjJcIixcbiAgICAgIFwiMTA0NlwiOiBcImNwMTA0NlwiLFxuICAgICAgXCIxMTI0XCI6IFwiY3AxMTI0XCIsXG4gICAgICBcIjExMjVcIjogXCJjcDExMjVcIixcbiAgICAgIFwiMTEyOVwiOiBcImNwMTEyOVwiLFxuICAgICAgXCIxMTMzXCI6IFwiY3AxMTMzXCIsXG4gICAgICBcIjExNjFcIjogXCJjcDExNjFcIixcbiAgICAgIFwiMTE2MlwiOiBcImNwMTE2MlwiLFxuICAgICAgXCIxMTYzXCI6IFwiY3AxMTYzXCIsXG4gICAgICBcIjEyNTBcIjogXCJ3aW5kb3dzMTI1MFwiLFxuICAgICAgXCIxMjUxXCI6IFwid2luZG93czEyNTFcIixcbiAgICAgIFwiMTI1MlwiOiBcIndpbmRvd3MxMjUyXCIsXG4gICAgICBcIjEyNTNcIjogXCJ3aW5kb3dzMTI1M1wiLFxuICAgICAgXCIxMjU0XCI6IFwid2luZG93czEyNTRcIixcbiAgICAgIFwiMTI1NVwiOiBcIndpbmRvd3MxMjU1XCIsXG4gICAgICBcIjEyNTZcIjogXCJ3aW5kb3dzMTI1NlwiLFxuICAgICAgXCIxMjU3XCI6IFwid2luZG93czEyNTdcIixcbiAgICAgIFwiMTI1OFwiOiBcIndpbmRvd3MxMjU4XCIsXG4gICAgICBcIjI4NTkxXCI6IFwiaXNvODg1OTFcIixcbiAgICAgIFwiMjg1OTJcIjogXCJpc284ODU5MlwiLFxuICAgICAgXCIyODU5M1wiOiBcImlzbzg4NTkzXCIsXG4gICAgICBcIjI4NTk0XCI6IFwiaXNvODg1OTRcIixcbiAgICAgIFwiMjg1OTVcIjogXCJpc284ODU5NVwiLFxuICAgICAgXCIyODU5NlwiOiBcImlzbzg4NTk2XCIsXG4gICAgICBcIjI4NTk3XCI6IFwiaXNvODg1OTdcIixcbiAgICAgIFwiMjg1OThcIjogXCJpc284ODU5OFwiLFxuICAgICAgXCIyODU5OVwiOiBcImlzbzg4NTk5XCIsXG4gICAgICBcIjI4NjAwXCI6IFwiaXNvODg1OTEwXCIsXG4gICAgICBcIjI4NjAxXCI6IFwiaXNvODg1OTExXCIsXG4gICAgICBcIjI4NjAzXCI6IFwiaXNvODg1OTEzXCIsXG4gICAgICBcIjI4NjA0XCI6IFwiaXNvODg1OTE0XCIsXG4gICAgICBcIjI4NjA1XCI6IFwiaXNvODg1OTE1XCIsXG4gICAgICBcIjI4NjA2XCI6IFwiaXNvODg1OTE2XCIsXG4gICAgICBcIndpbmRvd3M4NzRcIjoge1xuICAgICAgICBcInR5cGVcIjogXCJfc2Jjc1wiLFxuICAgICAgICBcImNoYXJzXCI6IFwiXFx1MjBBQ1xcdUZGRkRcXHVGRkZEXFx1RkZGRFxcdUZGRkRcXHUyMDI2XFx1RkZGRFxcdUZGRkRcXHVGRkZEXFx1RkZGRFxcdUZGRkRcXHVGRkZEXFx1RkZGRFxcdUZGRkRcXHVGRkZEXFx1RkZGRFxcdUZGRkRcXHUyMDE4XFx1MjAxOVxcdTIwMUNcXHUyMDFEXFx1MjAyMlxcdTIwMTNcXHUyMDE0XFx1RkZGRFxcdUZGRkRcXHVGRkZEXFx1RkZGRFxcdUZGRkRcXHVGRkZEXFx1RkZGRFxcdUZGRkRcXHhBMFxcdTBFMDFcXHUwRTAyXFx1MEUwM1xcdTBFMDRcXHUwRTA1XFx1MEUwNlxcdTBFMDdcXHUwRTA4XFx1MEUwOVxcdTBFMEFcXHUwRTBCXFx1MEUwQ1xcdTBFMERcXHUwRTBFXFx1MEUwRlxcdTBFMTBcXHUwRTExXFx1MEUxMlxcdTBFMTNcXHUwRTE0XFx1MEUxNVxcdTBFMTZcXHUwRTE3XFx1MEUxOFxcdTBFMTlcXHUwRTFBXFx1MEUxQlxcdTBFMUNcXHUwRTFEXFx1MEUxRVxcdTBFMUZcXHUwRTIwXFx1MEUyMVxcdTBFMjJcXHUwRTIzXFx1MEUyNFxcdTBFMjVcXHUwRTI2XFx1MEUyN1xcdTBFMjhcXHUwRTI5XFx1MEUyQVxcdTBFMkJcXHUwRTJDXFx1MEUyRFxcdTBFMkVcXHUwRTJGXFx1MEUzMFxcdTBFMzFcXHUwRTMyXFx1MEUzM1xcdTBFMzRcXHUwRTM1XFx1MEUzNlxcdTBFMzdcXHUwRTM4XFx1MEUzOVxcdTBFM0FcXHVGRkZEXFx1RkZGRFxcdUZGRkRcXHVGRkZEXFx1MEUzRlxcdTBFNDBcXHUwRTQxXFx1MEU0MlxcdTBFNDNcXHUwRTQ0XFx1MEU0NVxcdTBFNDZcXHUwRTQ3XFx1MEU0OFxcdTBFNDlcXHUwRTRBXFx1MEU0QlxcdTBFNENcXHUwRTREXFx1MEU0RVxcdTBFNEZcXHUwRTUwXFx1MEU1MVxcdTBFNTJcXHUwRTUzXFx1MEU1NFxcdTBFNTVcXHUwRTU2XFx1MEU1N1xcdTBFNThcXHUwRTU5XFx1MEU1QVxcdTBFNUJcXHVGRkZEXFx1RkZGRFxcdUZGRkRcXHVGRkZEXCJcbiAgICAgIH0sXG4gICAgICBcIndpbjg3NFwiOiBcIndpbmRvd3M4NzRcIixcbiAgICAgIFwiY3A4NzRcIjogXCJ3aW5kb3dzODc0XCIsXG4gICAgICBcIndpbmRvd3MxMjUwXCI6IHtcbiAgICAgICAgXCJ0eXBlXCI6IFwiX3NiY3NcIixcbiAgICAgICAgXCJjaGFyc1wiOiBcIlxcdTIwQUNcXHVGRkZEXFx1MjAxQVxcdUZGRkRcXHUyMDFFXFx1MjAyNlxcdTIwMjBcXHUyMDIxXFx1RkZGRFxcdTIwMzBcXHUwMTYwXFx1MjAzOVxcdTAxNUFcXHUwMTY0XFx1MDE3RFxcdTAxNzlcXHVGRkZEXFx1MjAxOFxcdTIwMTlcXHUyMDFDXFx1MjAxRFxcdTIwMjJcXHUyMDEzXFx1MjAxNFxcdUZGRkRcXHUyMTIyXFx1MDE2MVxcdTIwM0FcXHUwMTVCXFx1MDE2NVxcdTAxN0VcXHUwMTdBXFx4QTBcXHUwMkM3XFx1MDJEOFxcdTAxNDFcXHhBNFxcdTAxMDRcXHhBNlxceEE3XFx4QThcXHhBOVxcdTAxNUVcXHhBQlxceEFDXFx4QURcXHhBRVxcdTAxN0JcXHhCMFxceEIxXFx1MDJEQlxcdTAxNDJcXHhCNFxceEI1XFx4QjZcXHhCN1xceEI4XFx1MDEwNVxcdTAxNUZcXHhCQlxcdTAxM0RcXHUwMkREXFx1MDEzRVxcdTAxN0NcXHUwMTU0XFx4QzFcXHhDMlxcdTAxMDJcXHhDNFxcdTAxMzlcXHUwMTA2XFx4QzdcXHUwMTBDXFx4QzlcXHUwMTE4XFx4Q0JcXHUwMTFBXFx4Q0RcXHhDRVxcdTAxMEVcXHUwMTEwXFx1MDE0M1xcdTAxNDdcXHhEM1xceEQ0XFx1MDE1MFxceEQ2XFx4RDdcXHUwMTU4XFx1MDE2RVxceERBXFx1MDE3MFxceERDXFx4RERcXHUwMTYyXFx4REZcXHUwMTU1XFx4RTFcXHhFMlxcdTAxMDNcXHhFNFxcdTAxM0FcXHUwMTA3XFx4RTdcXHUwMTBEXFx4RTlcXHUwMTE5XFx4RUJcXHUwMTFCXFx4RURcXHhFRVxcdTAxMEZcXHUwMTExXFx1MDE0NFxcdTAxNDhcXHhGM1xceEY0XFx1MDE1MVxceEY2XFx4RjdcXHUwMTU5XFx1MDE2RlxceEZBXFx1MDE3MVxceEZDXFx4RkRcXHUwMTYzXFx1MDJEOVwiXG4gICAgICB9LFxuICAgICAgXCJ3aW4xMjUwXCI6IFwid2luZG93czEyNTBcIixcbiAgICAgIFwiY3AxMjUwXCI6IFwid2luZG93czEyNTBcIixcbiAgICAgIFwid2luZG93czEyNTFcIjoge1xuICAgICAgICBcInR5cGVcIjogXCJfc2Jjc1wiLFxuICAgICAgICBcImNoYXJzXCI6IFwiXFx1MDQwMlxcdTA0MDNcXHUyMDFBXFx1MDQ1M1xcdTIwMUVcXHUyMDI2XFx1MjAyMFxcdTIwMjFcXHUyMEFDXFx1MjAzMFxcdTA0MDlcXHUyMDM5XFx1MDQwQVxcdTA0MENcXHUwNDBCXFx1MDQwRlxcdTA0NTJcXHUyMDE4XFx1MjAxOVxcdTIwMUNcXHUyMDFEXFx1MjAyMlxcdTIwMTNcXHUyMDE0XFx1RkZGRFxcdTIxMjJcXHUwNDU5XFx1MjAzQVxcdTA0NUFcXHUwNDVDXFx1MDQ1QlxcdTA0NUZcXHhBMFxcdTA0MEVcXHUwNDVFXFx1MDQwOFxceEE0XFx1MDQ5MFxceEE2XFx4QTdcXHUwNDAxXFx4QTlcXHUwNDA0XFx4QUJcXHhBQ1xceEFEXFx4QUVcXHUwNDA3XFx4QjBcXHhCMVxcdTA0MDZcXHUwNDU2XFx1MDQ5MVxceEI1XFx4QjZcXHhCN1xcdTA0NTFcXHUyMTE2XFx1MDQ1NFxceEJCXFx1MDQ1OFxcdTA0MDVcXHUwNDU1XFx1MDQ1N1xcdTA0MTBcXHUwNDExXFx1MDQxMlxcdTA0MTNcXHUwNDE0XFx1MDQxNVxcdTA0MTZcXHUwNDE3XFx1MDQxOFxcdTA0MTlcXHUwNDFBXFx1MDQxQlxcdTA0MUNcXHUwNDFEXFx1MDQxRVxcdTA0MUZcXHUwNDIwXFx1MDQyMVxcdTA0MjJcXHUwNDIzXFx1MDQyNFxcdTA0MjVcXHUwNDI2XFx1MDQyN1xcdTA0MjhcXHUwNDI5XFx1MDQyQVxcdTA0MkJcXHUwNDJDXFx1MDQyRFxcdTA0MkVcXHUwNDJGXFx1MDQzMFxcdTA0MzFcXHUwNDMyXFx1MDQzM1xcdTA0MzRcXHUwNDM1XFx1MDQzNlxcdTA0MzdcXHUwNDM4XFx1MDQzOVxcdTA0M0FcXHUwNDNCXFx1MDQzQ1xcdTA0M0RcXHUwNDNFXFx1MDQzRlxcdTA0NDBcXHUwNDQxXFx1MDQ0MlxcdTA0NDNcXHUwNDQ0XFx1MDQ0NVxcdTA0NDZcXHUwNDQ3XFx1MDQ0OFxcdTA0NDlcXHUwNDRBXFx1MDQ0QlxcdTA0NENcXHUwNDREXFx1MDQ0RVxcdTA0NEZcIlxuICAgICAgfSxcbiAgICAgIFwid2luMTI1MVwiOiBcIndpbmRvd3MxMjUxXCIsXG4gICAgICBcImNwMTI1MVwiOiBcIndpbmRvd3MxMjUxXCIsXG4gICAgICBcIndpbmRvd3MxMjUyXCI6IHtcbiAgICAgICAgXCJ0eXBlXCI6IFwiX3NiY3NcIixcbiAgICAgICAgXCJjaGFyc1wiOiBcIlxcdTIwQUNcXHVGRkZEXFx1MjAxQVxcdTAxOTJcXHUyMDFFXFx1MjAyNlxcdTIwMjBcXHUyMDIxXFx1MDJDNlxcdTIwMzBcXHUwMTYwXFx1MjAzOVxcdTAxNTJcXHVGRkZEXFx1MDE3RFxcdUZGRkRcXHVGRkZEXFx1MjAxOFxcdTIwMTlcXHUyMDFDXFx1MjAxRFxcdTIwMjJcXHUyMDEzXFx1MjAxNFxcdTAyRENcXHUyMTIyXFx1MDE2MVxcdTIwM0FcXHUwMTUzXFx1RkZGRFxcdTAxN0VcXHUwMTc4XFx4QTBcXHhBMVxceEEyXFx4QTNcXHhBNFxceEE1XFx4QTZcXHhBN1xceEE4XFx4QTlcXHhBQVxceEFCXFx4QUNcXHhBRFxceEFFXFx4QUZcXHhCMFxceEIxXFx4QjJcXHhCM1xceEI0XFx4QjVcXHhCNlxceEI3XFx4QjhcXHhCOVxceEJBXFx4QkJcXHhCQ1xceEJEXFx4QkVcXHhCRlxceEMwXFx4QzFcXHhDMlxceEMzXFx4QzRcXHhDNVxceEM2XFx4QzdcXHhDOFxceEM5XFx4Q0FcXHhDQlxceENDXFx4Q0RcXHhDRVxceENGXFx4RDBcXHhEMVxceEQyXFx4RDNcXHhENFxceEQ1XFx4RDZcXHhEN1xceEQ4XFx4RDlcXHhEQVxceERCXFx4RENcXHhERFxceERFXFx4REZcXHhFMFxceEUxXFx4RTJcXHhFM1xceEU0XFx4RTVcXHhFNlxceEU3XFx4RThcXHhFOVxceEVBXFx4RUJcXHhFQ1xceEVEXFx4RUVcXHhFRlxceEYwXFx4RjFcXHhGMlxceEYzXFx4RjRcXHhGNVxceEY2XFx4RjdcXHhGOFxceEY5XFx4RkFcXHhGQlxceEZDXFx4RkRcXHhGRVxceEZGXCJcbiAgICAgIH0sXG4gICAgICBcIndpbjEyNTJcIjogXCJ3aW5kb3dzMTI1MlwiLFxuICAgICAgXCJjcDEyNTJcIjogXCJ3aW5kb3dzMTI1MlwiLFxuICAgICAgXCJ3aW5kb3dzMTI1M1wiOiB7XG4gICAgICAgIFwidHlwZVwiOiBcIl9zYmNzXCIsXG4gICAgICAgIFwiY2hhcnNcIjogXCJcXHUyMEFDXFx1RkZGRFxcdTIwMUFcXHUwMTkyXFx1MjAxRVxcdTIwMjZcXHUyMDIwXFx1MjAyMVxcdUZGRkRcXHUyMDMwXFx1RkZGRFxcdTIwMzlcXHVGRkZEXFx1RkZGRFxcdUZGRkRcXHVGRkZEXFx1RkZGRFxcdTIwMThcXHUyMDE5XFx1MjAxQ1xcdTIwMURcXHUyMDIyXFx1MjAxM1xcdTIwMTRcXHVGRkZEXFx1MjEyMlxcdUZGRkRcXHUyMDNBXFx1RkZGRFxcdUZGRkRcXHVGRkZEXFx1RkZGRFxceEEwXFx1MDM4NVxcdTAzODZcXHhBM1xceEE0XFx4QTVcXHhBNlxceEE3XFx4QThcXHhBOVxcdUZGRkRcXHhBQlxceEFDXFx4QURcXHhBRVxcdTIwMTVcXHhCMFxceEIxXFx4QjJcXHhCM1xcdTAzODRcXHhCNVxceEI2XFx4QjdcXHUwMzg4XFx1MDM4OVxcdTAzOEFcXHhCQlxcdTAzOENcXHhCRFxcdTAzOEVcXHUwMzhGXFx1MDM5MFxcdTAzOTFcXHUwMzkyXFx1MDM5M1xcdTAzOTRcXHUwMzk1XFx1MDM5NlxcdTAzOTdcXHUwMzk4XFx1MDM5OVxcdTAzOUFcXHUwMzlCXFx1MDM5Q1xcdTAzOURcXHUwMzlFXFx1MDM5RlxcdTAzQTBcXHUwM0ExXFx1RkZGRFxcdTAzQTNcXHUwM0E0XFx1MDNBNVxcdTAzQTZcXHUwM0E3XFx1MDNBOFxcdTAzQTlcXHUwM0FBXFx1MDNBQlxcdTAzQUNcXHUwM0FEXFx1MDNBRVxcdTAzQUZcXHUwM0IwXFx1MDNCMVxcdTAzQjJcXHUwM0IzXFx1MDNCNFxcdTAzQjVcXHUwM0I2XFx1MDNCN1xcdTAzQjhcXHUwM0I5XFx1MDNCQVxcdTAzQkJcXHUwM0JDXFx1MDNCRFxcdTAzQkVcXHUwM0JGXFx1MDNDMFxcdTAzQzFcXHUwM0MyXFx1MDNDM1xcdTAzQzRcXHUwM0M1XFx1MDNDNlxcdTAzQzdcXHUwM0M4XFx1MDNDOVxcdTAzQ0FcXHUwM0NCXFx1MDNDQ1xcdTAzQ0RcXHUwM0NFXFx1RkZGRFwiXG4gICAgICB9LFxuICAgICAgXCJ3aW4xMjUzXCI6IFwid2luZG93czEyNTNcIixcbiAgICAgIFwiY3AxMjUzXCI6IFwid2luZG93czEyNTNcIixcbiAgICAgIFwid2luZG93czEyNTRcIjoge1xuICAgICAgICBcInR5cGVcIjogXCJfc2Jjc1wiLFxuICAgICAgICBcImNoYXJzXCI6IFwiXFx1MjBBQ1xcdUZGRkRcXHUyMDFBXFx1MDE5MlxcdTIwMUVcXHUyMDI2XFx1MjAyMFxcdTIwMjFcXHUwMkM2XFx1MjAzMFxcdTAxNjBcXHUyMDM5XFx1MDE1MlxcdUZGRkRcXHVGRkZEXFx1RkZGRFxcdUZGRkRcXHUyMDE4XFx1MjAxOVxcdTIwMUNcXHUyMDFEXFx1MjAyMlxcdTIwMTNcXHUyMDE0XFx1MDJEQ1xcdTIxMjJcXHUwMTYxXFx1MjAzQVxcdTAxNTNcXHVGRkZEXFx1RkZGRFxcdTAxNzhcXHhBMFxceEExXFx4QTJcXHhBM1xceEE0XFx4QTVcXHhBNlxceEE3XFx4QThcXHhBOVxceEFBXFx4QUJcXHhBQ1xceEFEXFx4QUVcXHhBRlxceEIwXFx4QjFcXHhCMlxceEIzXFx4QjRcXHhCNVxceEI2XFx4QjdcXHhCOFxceEI5XFx4QkFcXHhCQlxceEJDXFx4QkRcXHhCRVxceEJGXFx4QzBcXHhDMVxceEMyXFx4QzNcXHhDNFxceEM1XFx4QzZcXHhDN1xceEM4XFx4QzlcXHhDQVxceENCXFx4Q0NcXHhDRFxceENFXFx4Q0ZcXHUwMTFFXFx4RDFcXHhEMlxceEQzXFx4RDRcXHhENVxceEQ2XFx4RDdcXHhEOFxceEQ5XFx4REFcXHhEQlxceERDXFx1MDEzMFxcdTAxNUVcXHhERlxceEUwXFx4RTFcXHhFMlxceEUzXFx4RTRcXHhFNVxceEU2XFx4RTdcXHhFOFxceEU5XFx4RUFcXHhFQlxceEVDXFx4RURcXHhFRVxceEVGXFx1MDExRlxceEYxXFx4RjJcXHhGM1xceEY0XFx4RjVcXHhGNlxceEY3XFx4RjhcXHhGOVxceEZBXFx4RkJcXHhGQ1xcdTAxMzFcXHUwMTVGXFx4RkZcIlxuICAgICAgfSxcbiAgICAgIFwid2luMTI1NFwiOiBcIndpbmRvd3MxMjU0XCIsXG4gICAgICBcImNwMTI1NFwiOiBcIndpbmRvd3MxMjU0XCIsXG4gICAgICBcIndpbmRvd3MxMjU1XCI6IHtcbiAgICAgICAgXCJ0eXBlXCI6IFwiX3NiY3NcIixcbiAgICAgICAgXCJjaGFyc1wiOiBcIlxcdTIwQUNcXHVGRkZEXFx1MjAxQVxcdTAxOTJcXHUyMDFFXFx1MjAyNlxcdTIwMjBcXHUyMDIxXFx1MDJDNlxcdTIwMzBcXHVGRkZEXFx1MjAzOVxcdUZGRkRcXHVGRkZEXFx1RkZGRFxcdUZGRkRcXHVGRkZEXFx1MjAxOFxcdTIwMTlcXHUyMDFDXFx1MjAxRFxcdTIwMjJcXHUyMDEzXFx1MjAxNFxcdTAyRENcXHUyMTIyXFx1RkZGRFxcdTIwM0FcXHVGRkZEXFx1RkZGRFxcdUZGRkRcXHVGRkZEXFx4QTBcXHhBMVxceEEyXFx4QTNcXHUyMEFBXFx4QTVcXHhBNlxceEE3XFx4QThcXHhBOVxceEQ3XFx4QUJcXHhBQ1xceEFEXFx4QUVcXHhBRlxceEIwXFx4QjFcXHhCMlxceEIzXFx4QjRcXHhCNVxceEI2XFx4QjdcXHhCOFxceEI5XFx4RjdcXHhCQlxceEJDXFx4QkRcXHhCRVxceEJGXFx1MDVCMFxcdTA1QjFcXHUwNUIyXFx1MDVCM1xcdTA1QjRcXHUwNUI1XFx1MDVCNlxcdTA1QjdcXHUwNUI4XFx1MDVCOVxcdTA1QkFcXHUwNUJCXFx1MDVCQ1xcdTA1QkRcXHUwNUJFXFx1MDVCRlxcdTA1QzBcXHUwNUMxXFx1MDVDMlxcdTA1QzNcXHUwNUYwXFx1MDVGMVxcdTA1RjJcXHUwNUYzXFx1MDVGNFxcdUZGRkRcXHVGRkZEXFx1RkZGRFxcdUZGRkRcXHVGRkZEXFx1RkZGRFxcdUZGRkRcXHUwNUQwXFx1MDVEMVxcdTA1RDJcXHUwNUQzXFx1MDVENFxcdTA1RDVcXHUwNUQ2XFx1MDVEN1xcdTA1RDhcXHUwNUQ5XFx1MDVEQVxcdTA1REJcXHUwNURDXFx1MDVERFxcdTA1REVcXHUwNURGXFx1MDVFMFxcdTA1RTFcXHUwNUUyXFx1MDVFM1xcdTA1RTRcXHUwNUU1XFx1MDVFNlxcdTA1RTdcXHUwNUU4XFx1MDVFOVxcdTA1RUFcXHVGRkZEXFx1RkZGRFxcdTIwMEVcXHUyMDBGXFx1RkZGRFwiXG4gICAgICB9LFxuICAgICAgXCJ3aW4xMjU1XCI6IFwid2luZG93czEyNTVcIixcbiAgICAgIFwiY3AxMjU1XCI6IFwid2luZG93czEyNTVcIixcbiAgICAgIFwid2luZG93czEyNTZcIjoge1xuICAgICAgICBcInR5cGVcIjogXCJfc2Jjc1wiLFxuICAgICAgICBcImNoYXJzXCI6IFwiXFx1MjBBQ1xcdTA2N0VcXHUyMDFBXFx1MDE5MlxcdTIwMUVcXHUyMDI2XFx1MjAyMFxcdTIwMjFcXHUwMkM2XFx1MjAzMFxcdTA2NzlcXHUyMDM5XFx1MDE1MlxcdTA2ODZcXHUwNjk4XFx1MDY4OFxcdTA2QUZcXHUyMDE4XFx1MjAxOVxcdTIwMUNcXHUyMDFEXFx1MjAyMlxcdTIwMTNcXHUyMDE0XFx1MDZBOVxcdTIxMjJcXHUwNjkxXFx1MjAzQVxcdTAxNTNcXHUyMDBDXFx1MjAwRFxcdTA2QkFcXHhBMFxcdTA2MENcXHhBMlxceEEzXFx4QTRcXHhBNVxceEE2XFx4QTdcXHhBOFxceEE5XFx1MDZCRVxceEFCXFx4QUNcXHhBRFxceEFFXFx4QUZcXHhCMFxceEIxXFx4QjJcXHhCM1xceEI0XFx4QjVcXHhCNlxceEI3XFx4QjhcXHhCOVxcdTA2MUJcXHhCQlxceEJDXFx4QkRcXHhCRVxcdTA2MUZcXHUwNkMxXFx1MDYyMVxcdTA2MjJcXHUwNjIzXFx1MDYyNFxcdTA2MjVcXHUwNjI2XFx1MDYyN1xcdTA2MjhcXHUwNjI5XFx1MDYyQVxcdTA2MkJcXHUwNjJDXFx1MDYyRFxcdTA2MkVcXHUwNjJGXFx1MDYzMFxcdTA2MzFcXHUwNjMyXFx1MDYzM1xcdTA2MzRcXHUwNjM1XFx1MDYzNlxceEQ3XFx1MDYzN1xcdTA2MzhcXHUwNjM5XFx1MDYzQVxcdTA2NDBcXHUwNjQxXFx1MDY0MlxcdTA2NDNcXHhFMFxcdTA2NDRcXHhFMlxcdTA2NDVcXHUwNjQ2XFx1MDY0N1xcdTA2NDhcXHhFN1xceEU4XFx4RTlcXHhFQVxceEVCXFx1MDY0OVxcdTA2NEFcXHhFRVxceEVGXFx1MDY0QlxcdTA2NENcXHUwNjREXFx1MDY0RVxceEY0XFx1MDY0RlxcdTA2NTBcXHhGN1xcdTA2NTFcXHhGOVxcdTA2NTJcXHhGQlxceEZDXFx1MjAwRVxcdTIwMEZcXHUwNkQyXCJcbiAgICAgIH0sXG4gICAgICBcIndpbjEyNTZcIjogXCJ3aW5kb3dzMTI1NlwiLFxuICAgICAgXCJjcDEyNTZcIjogXCJ3aW5kb3dzMTI1NlwiLFxuICAgICAgXCJ3aW5kb3dzMTI1N1wiOiB7XG4gICAgICAgIFwidHlwZVwiOiBcIl9zYmNzXCIsXG4gICAgICAgIFwiY2hhcnNcIjogXCJcXHUyMEFDXFx1RkZGRFxcdTIwMUFcXHVGRkZEXFx1MjAxRVxcdTIwMjZcXHUyMDIwXFx1MjAyMVxcdUZGRkRcXHUyMDMwXFx1RkZGRFxcdTIwMzlcXHVGRkZEXFx4QThcXHUwMkM3XFx4QjhcXHVGRkZEXFx1MjAxOFxcdTIwMTlcXHUyMDFDXFx1MjAxRFxcdTIwMjJcXHUyMDEzXFx1MjAxNFxcdUZGRkRcXHUyMTIyXFx1RkZGRFxcdTIwM0FcXHVGRkZEXFx4QUZcXHUwMkRCXFx1RkZGRFxceEEwXFx1RkZGRFxceEEyXFx4QTNcXHhBNFxcdUZGRkRcXHhBNlxceEE3XFx4RDhcXHhBOVxcdTAxNTZcXHhBQlxceEFDXFx4QURcXHhBRVxceEM2XFx4QjBcXHhCMVxceEIyXFx4QjNcXHhCNFxceEI1XFx4QjZcXHhCN1xceEY4XFx4QjlcXHUwMTU3XFx4QkJcXHhCQ1xceEJEXFx4QkVcXHhFNlxcdTAxMDRcXHUwMTJFXFx1MDEwMFxcdTAxMDZcXHhDNFxceEM1XFx1MDExOFxcdTAxMTJcXHUwMTBDXFx4QzlcXHUwMTc5XFx1MDExNlxcdTAxMjJcXHUwMTM2XFx1MDEyQVxcdTAxM0JcXHUwMTYwXFx1MDE0M1xcdTAxNDVcXHhEM1xcdTAxNENcXHhENVxceEQ2XFx4RDdcXHUwMTcyXFx1MDE0MVxcdTAxNUFcXHUwMTZBXFx4RENcXHUwMTdCXFx1MDE3RFxceERGXFx1MDEwNVxcdTAxMkZcXHUwMTAxXFx1MDEwN1xceEU0XFx4RTVcXHUwMTE5XFx1MDExM1xcdTAxMERcXHhFOVxcdTAxN0FcXHUwMTE3XFx1MDEyM1xcdTAxMzdcXHUwMTJCXFx1MDEzQ1xcdTAxNjFcXHUwMTQ0XFx1MDE0NlxceEYzXFx1MDE0RFxceEY1XFx4RjZcXHhGN1xcdTAxNzNcXHUwMTQyXFx1MDE1QlxcdTAxNkJcXHhGQ1xcdTAxN0NcXHUwMTdFXFx1MDJEOVwiXG4gICAgICB9LFxuICAgICAgXCJ3aW4xMjU3XCI6IFwid2luZG93czEyNTdcIixcbiAgICAgIFwiY3AxMjU3XCI6IFwid2luZG93czEyNTdcIixcbiAgICAgIFwid2luZG93czEyNThcIjoge1xuICAgICAgICBcInR5cGVcIjogXCJfc2Jjc1wiLFxuICAgICAgICBcImNoYXJzXCI6IFwiXFx1MjBBQ1xcdUZGRkRcXHUyMDFBXFx1MDE5MlxcdTIwMUVcXHUyMDI2XFx1MjAyMFxcdTIwMjFcXHUwMkM2XFx1MjAzMFxcdUZGRkRcXHUyMDM5XFx1MDE1MlxcdUZGRkRcXHVGRkZEXFx1RkZGRFxcdUZGRkRcXHUyMDE4XFx1MjAxOVxcdTIwMUNcXHUyMDFEXFx1MjAyMlxcdTIwMTNcXHUyMDE0XFx1MDJEQ1xcdTIxMjJcXHVGRkZEXFx1MjAzQVxcdTAxNTNcXHVGRkZEXFx1RkZGRFxcdTAxNzhcXHhBMFxceEExXFx4QTJcXHhBM1xceEE0XFx4QTVcXHhBNlxceEE3XFx4QThcXHhBOVxceEFBXFx4QUJcXHhBQ1xceEFEXFx4QUVcXHhBRlxceEIwXFx4QjFcXHhCMlxceEIzXFx4QjRcXHhCNVxceEI2XFx4QjdcXHhCOFxceEI5XFx4QkFcXHhCQlxceEJDXFx4QkRcXHhCRVxceEJGXFx4QzBcXHhDMVxceEMyXFx1MDEwMlxceEM0XFx4QzVcXHhDNlxceEM3XFx4QzhcXHhDOVxceENBXFx4Q0JcXHUwMzAwXFx4Q0RcXHhDRVxceENGXFx1MDExMFxceEQxXFx1MDMwOVxceEQzXFx4RDRcXHUwMUEwXFx4RDZcXHhEN1xceEQ4XFx4RDlcXHhEQVxceERCXFx4RENcXHUwMUFGXFx1MDMwM1xceERGXFx4RTBcXHhFMVxceEUyXFx1MDEwM1xceEU0XFx4RTVcXHhFNlxceEU3XFx4RThcXHhFOVxceEVBXFx4RUJcXHUwMzAxXFx4RURcXHhFRVxceEVGXFx1MDExMVxceEYxXFx1MDMyM1xceEYzXFx4RjRcXHUwMUExXFx4RjZcXHhGN1xceEY4XFx4RjlcXHhGQVxceEZCXFx4RkNcXHUwMUIwXFx1MjBBQlxceEZGXCJcbiAgICAgIH0sXG4gICAgICBcIndpbjEyNThcIjogXCJ3aW5kb3dzMTI1OFwiLFxuICAgICAgXCJjcDEyNThcIjogXCJ3aW5kb3dzMTI1OFwiLFxuICAgICAgXCJpc284ODU5MVwiOiB7XG4gICAgICAgIFwidHlwZVwiOiBcIl9zYmNzXCIsXG4gICAgICAgIFwiY2hhcnNcIjogXCJcXHg4MFxceDgxXFx4ODJcXHg4M1xceDg0XFx4ODVcXHg4NlxceDg3XFx4ODhcXHg4OVxceDhBXFx4OEJcXHg4Q1xceDhEXFx4OEVcXHg4RlxceDkwXFx4OTFcXHg5MlxceDkzXFx4OTRcXHg5NVxceDk2XFx4OTdcXHg5OFxceDk5XFx4OUFcXHg5QlxceDlDXFx4OURcXHg5RVxceDlGXFx4QTBcXHhBMVxceEEyXFx4QTNcXHhBNFxceEE1XFx4QTZcXHhBN1xceEE4XFx4QTlcXHhBQVxceEFCXFx4QUNcXHhBRFxceEFFXFx4QUZcXHhCMFxceEIxXFx4QjJcXHhCM1xceEI0XFx4QjVcXHhCNlxceEI3XFx4QjhcXHhCOVxceEJBXFx4QkJcXHhCQ1xceEJEXFx4QkVcXHhCRlxceEMwXFx4QzFcXHhDMlxceEMzXFx4QzRcXHhDNVxceEM2XFx4QzdcXHhDOFxceEM5XFx4Q0FcXHhDQlxceENDXFx4Q0RcXHhDRVxceENGXFx4RDBcXHhEMVxceEQyXFx4RDNcXHhENFxceEQ1XFx4RDZcXHhEN1xceEQ4XFx4RDlcXHhEQVxceERCXFx4RENcXHhERFxceERFXFx4REZcXHhFMFxceEUxXFx4RTJcXHhFM1xceEU0XFx4RTVcXHhFNlxceEU3XFx4RThcXHhFOVxceEVBXFx4RUJcXHhFQ1xceEVEXFx4RUVcXHhFRlxceEYwXFx4RjFcXHhGMlxceEYzXFx4RjRcXHhGNVxceEY2XFx4RjdcXHhGOFxceEY5XFx4RkFcXHhGQlxceEZDXFx4RkRcXHhGRVxceEZGXCJcbiAgICAgIH0sXG4gICAgICBcImNwMjg1OTFcIjogXCJpc284ODU5MVwiLFxuICAgICAgXCJpc284ODU5MlwiOiB7XG4gICAgICAgIFwidHlwZVwiOiBcIl9zYmNzXCIsXG4gICAgICAgIFwiY2hhcnNcIjogXCJcXHg4MFxceDgxXFx4ODJcXHg4M1xceDg0XFx4ODVcXHg4NlxceDg3XFx4ODhcXHg4OVxceDhBXFx4OEJcXHg4Q1xceDhEXFx4OEVcXHg4RlxceDkwXFx4OTFcXHg5MlxceDkzXFx4OTRcXHg5NVxceDk2XFx4OTdcXHg5OFxceDk5XFx4OUFcXHg5QlxceDlDXFx4OURcXHg5RVxceDlGXFx4QTBcXHUwMTA0XFx1MDJEOFxcdTAxNDFcXHhBNFxcdTAxM0RcXHUwMTVBXFx4QTdcXHhBOFxcdTAxNjBcXHUwMTVFXFx1MDE2NFxcdTAxNzlcXHhBRFxcdTAxN0RcXHUwMTdCXFx4QjBcXHUwMTA1XFx1MDJEQlxcdTAxNDJcXHhCNFxcdTAxM0VcXHUwMTVCXFx1MDJDN1xceEI4XFx1MDE2MVxcdTAxNUZcXHUwMTY1XFx1MDE3QVxcdTAyRERcXHUwMTdFXFx1MDE3Q1xcdTAxNTRcXHhDMVxceEMyXFx1MDEwMlxceEM0XFx1MDEzOVxcdTAxMDZcXHhDN1xcdTAxMENcXHhDOVxcdTAxMThcXHhDQlxcdTAxMUFcXHhDRFxceENFXFx1MDEwRVxcdTAxMTBcXHUwMTQzXFx1MDE0N1xceEQzXFx4RDRcXHUwMTUwXFx4RDZcXHhEN1xcdTAxNThcXHUwMTZFXFx4REFcXHUwMTcwXFx4RENcXHhERFxcdTAxNjJcXHhERlxcdTAxNTVcXHhFMVxceEUyXFx1MDEwM1xceEU0XFx1MDEzQVxcdTAxMDdcXHhFN1xcdTAxMERcXHhFOVxcdTAxMTlcXHhFQlxcdTAxMUJcXHhFRFxceEVFXFx1MDEwRlxcdTAxMTFcXHUwMTQ0XFx1MDE0OFxceEYzXFx4RjRcXHUwMTUxXFx4RjZcXHhGN1xcdTAxNTlcXHUwMTZGXFx4RkFcXHUwMTcxXFx4RkNcXHhGRFxcdTAxNjNcXHUwMkQ5XCJcbiAgICAgIH0sXG4gICAgICBcImNwMjg1OTJcIjogXCJpc284ODU5MlwiLFxuICAgICAgXCJpc284ODU5M1wiOiB7XG4gICAgICAgIFwidHlwZVwiOiBcIl9zYmNzXCIsXG4gICAgICAgIFwiY2hhcnNcIjogXCJcXHg4MFxceDgxXFx4ODJcXHg4M1xceDg0XFx4ODVcXHg4NlxceDg3XFx4ODhcXHg4OVxceDhBXFx4OEJcXHg4Q1xceDhEXFx4OEVcXHg4RlxceDkwXFx4OTFcXHg5MlxceDkzXFx4OTRcXHg5NVxceDk2XFx4OTdcXHg5OFxceDk5XFx4OUFcXHg5QlxceDlDXFx4OURcXHg5RVxceDlGXFx4QTBcXHUwMTI2XFx1MDJEOFxceEEzXFx4QTRcXHVGRkZEXFx1MDEyNFxceEE3XFx4QThcXHUwMTMwXFx1MDE1RVxcdTAxMUVcXHUwMTM0XFx4QURcXHVGRkZEXFx1MDE3QlxceEIwXFx1MDEyN1xceEIyXFx4QjNcXHhCNFxceEI1XFx1MDEyNVxceEI3XFx4QjhcXHUwMTMxXFx1MDE1RlxcdTAxMUZcXHUwMTM1XFx4QkRcXHVGRkZEXFx1MDE3Q1xceEMwXFx4QzFcXHhDMlxcdUZGRkRcXHhDNFxcdTAxMEFcXHUwMTA4XFx4QzdcXHhDOFxceEM5XFx4Q0FcXHhDQlxceENDXFx4Q0RcXHhDRVxceENGXFx1RkZGRFxceEQxXFx4RDJcXHhEM1xceEQ0XFx1MDEyMFxceEQ2XFx4RDdcXHUwMTFDXFx4RDlcXHhEQVxceERCXFx4RENcXHUwMTZDXFx1MDE1Q1xceERGXFx4RTBcXHhFMVxceEUyXFx1RkZGRFxceEU0XFx1MDEwQlxcdTAxMDlcXHhFN1xceEU4XFx4RTlcXHhFQVxceEVCXFx4RUNcXHhFRFxceEVFXFx4RUZcXHVGRkZEXFx4RjFcXHhGMlxceEYzXFx4RjRcXHUwMTIxXFx4RjZcXHhGN1xcdTAxMURcXHhGOVxceEZBXFx4RkJcXHhGQ1xcdTAxNkRcXHUwMTVEXFx1MDJEOVwiXG4gICAgICB9LFxuICAgICAgXCJjcDI4NTkzXCI6IFwiaXNvODg1OTNcIixcbiAgICAgIFwiaXNvODg1OTRcIjoge1xuICAgICAgICBcInR5cGVcIjogXCJfc2Jjc1wiLFxuICAgICAgICBcImNoYXJzXCI6IFwiXFx4ODBcXHg4MVxceDgyXFx4ODNcXHg4NFxceDg1XFx4ODZcXHg4N1xceDg4XFx4ODlcXHg4QVxceDhCXFx4OENcXHg4RFxceDhFXFx4OEZcXHg5MFxceDkxXFx4OTJcXHg5M1xceDk0XFx4OTVcXHg5NlxceDk3XFx4OThcXHg5OVxceDlBXFx4OUJcXHg5Q1xceDlEXFx4OUVcXHg5RlxceEEwXFx1MDEwNFxcdTAxMzhcXHUwMTU2XFx4QTRcXHUwMTI4XFx1MDEzQlxceEE3XFx4QThcXHUwMTYwXFx1MDExMlxcdTAxMjJcXHUwMTY2XFx4QURcXHUwMTdEXFx4QUZcXHhCMFxcdTAxMDVcXHUwMkRCXFx1MDE1N1xceEI0XFx1MDEyOVxcdTAxM0NcXHUwMkM3XFx4QjhcXHUwMTYxXFx1MDExM1xcdTAxMjNcXHUwMTY3XFx1MDE0QVxcdTAxN0VcXHUwMTRCXFx1MDEwMFxceEMxXFx4QzJcXHhDM1xceEM0XFx4QzVcXHhDNlxcdTAxMkVcXHUwMTBDXFx4QzlcXHUwMTE4XFx4Q0JcXHUwMTE2XFx4Q0RcXHhDRVxcdTAxMkFcXHUwMTEwXFx1MDE0NVxcdTAxNENcXHUwMTM2XFx4RDRcXHhENVxceEQ2XFx4RDdcXHhEOFxcdTAxNzJcXHhEQVxceERCXFx4RENcXHUwMTY4XFx1MDE2QVxceERGXFx1MDEwMVxceEUxXFx4RTJcXHhFM1xceEU0XFx4RTVcXHhFNlxcdTAxMkZcXHUwMTBEXFx4RTlcXHUwMTE5XFx4RUJcXHUwMTE3XFx4RURcXHhFRVxcdTAxMkJcXHUwMTExXFx1MDE0NlxcdTAxNERcXHUwMTM3XFx4RjRcXHhGNVxceEY2XFx4RjdcXHhGOFxcdTAxNzNcXHhGQVxceEZCXFx4RkNcXHUwMTY5XFx1MDE2QlxcdTAyRDlcIlxuICAgICAgfSxcbiAgICAgIFwiY3AyODU5NFwiOiBcImlzbzg4NTk0XCIsXG4gICAgICBcImlzbzg4NTk1XCI6IHtcbiAgICAgICAgXCJ0eXBlXCI6IFwiX3NiY3NcIixcbiAgICAgICAgXCJjaGFyc1wiOiBcIlxceDgwXFx4ODFcXHg4MlxceDgzXFx4ODRcXHg4NVxceDg2XFx4ODdcXHg4OFxceDg5XFx4OEFcXHg4QlxceDhDXFx4OERcXHg4RVxceDhGXFx4OTBcXHg5MVxceDkyXFx4OTNcXHg5NFxceDk1XFx4OTZcXHg5N1xceDk4XFx4OTlcXHg5QVxceDlCXFx4OUNcXHg5RFxceDlFXFx4OUZcXHhBMFxcdTA0MDFcXHUwNDAyXFx1MDQwM1xcdTA0MDRcXHUwNDA1XFx1MDQwNlxcdTA0MDdcXHUwNDA4XFx1MDQwOVxcdTA0MEFcXHUwNDBCXFx1MDQwQ1xceEFEXFx1MDQwRVxcdTA0MEZcXHUwNDEwXFx1MDQxMVxcdTA0MTJcXHUwNDEzXFx1MDQxNFxcdTA0MTVcXHUwNDE2XFx1MDQxN1xcdTA0MThcXHUwNDE5XFx1MDQxQVxcdTA0MUJcXHUwNDFDXFx1MDQxRFxcdTA0MUVcXHUwNDFGXFx1MDQyMFxcdTA0MjFcXHUwNDIyXFx1MDQyM1xcdTA0MjRcXHUwNDI1XFx1MDQyNlxcdTA0MjdcXHUwNDI4XFx1MDQyOVxcdTA0MkFcXHUwNDJCXFx1MDQyQ1xcdTA0MkRcXHUwNDJFXFx1MDQyRlxcdTA0MzBcXHUwNDMxXFx1MDQzMlxcdTA0MzNcXHUwNDM0XFx1MDQzNVxcdTA0MzZcXHUwNDM3XFx1MDQzOFxcdTA0MzlcXHUwNDNBXFx1MDQzQlxcdTA0M0NcXHUwNDNEXFx1MDQzRVxcdTA0M0ZcXHUwNDQwXFx1MDQ0MVxcdTA0NDJcXHUwNDQzXFx1MDQ0NFxcdTA0NDVcXHUwNDQ2XFx1MDQ0N1xcdTA0NDhcXHUwNDQ5XFx1MDQ0QVxcdTA0NEJcXHUwNDRDXFx1MDQ0RFxcdTA0NEVcXHUwNDRGXFx1MjExNlxcdTA0NTFcXHUwNDUyXFx1MDQ1M1xcdTA0NTRcXHUwNDU1XFx1MDQ1NlxcdTA0NTdcXHUwNDU4XFx1MDQ1OVxcdTA0NUFcXHUwNDVCXFx1MDQ1Q1xceEE3XFx1MDQ1RVxcdTA0NUZcIlxuICAgICAgfSxcbiAgICAgIFwiY3AyODU5NVwiOiBcImlzbzg4NTk1XCIsXG4gICAgICBcImlzbzg4NTk2XCI6IHtcbiAgICAgICAgXCJ0eXBlXCI6IFwiX3NiY3NcIixcbiAgICAgICAgXCJjaGFyc1wiOiBcIlxceDgwXFx4ODFcXHg4MlxceDgzXFx4ODRcXHg4NVxceDg2XFx4ODdcXHg4OFxceDg5XFx4OEFcXHg4QlxceDhDXFx4OERcXHg4RVxceDhGXFx4OTBcXHg5MVxceDkyXFx4OTNcXHg5NFxceDk1XFx4OTZcXHg5N1xceDk4XFx4OTlcXHg5QVxceDlCXFx4OUNcXHg5RFxceDlFXFx4OUZcXHhBMFxcdUZGRkRcXHVGRkZEXFx1RkZGRFxceEE0XFx1RkZGRFxcdUZGRkRcXHVGRkZEXFx1RkZGRFxcdUZGRkRcXHVGRkZEXFx1RkZGRFxcdTA2MENcXHhBRFxcdUZGRkRcXHVGRkZEXFx1RkZGRFxcdUZGRkRcXHVGRkZEXFx1RkZGRFxcdUZGRkRcXHVGRkZEXFx1RkZGRFxcdUZGRkRcXHVGRkZEXFx1RkZGRFxcdUZGRkRcXHUwNjFCXFx1RkZGRFxcdUZGRkRcXHVGRkZEXFx1MDYxRlxcdUZGRkRcXHUwNjIxXFx1MDYyMlxcdTA2MjNcXHUwNjI0XFx1MDYyNVxcdTA2MjZcXHUwNjI3XFx1MDYyOFxcdTA2MjlcXHUwNjJBXFx1MDYyQlxcdTA2MkNcXHUwNjJEXFx1MDYyRVxcdTA2MkZcXHUwNjMwXFx1MDYzMVxcdTA2MzJcXHUwNjMzXFx1MDYzNFxcdTA2MzVcXHUwNjM2XFx1MDYzN1xcdTA2MzhcXHUwNjM5XFx1MDYzQVxcdUZGRkRcXHVGRkZEXFx1RkZGRFxcdUZGRkRcXHVGRkZEXFx1MDY0MFxcdTA2NDFcXHUwNjQyXFx1MDY0M1xcdTA2NDRcXHUwNjQ1XFx1MDY0NlxcdTA2NDdcXHUwNjQ4XFx1MDY0OVxcdTA2NEFcXHUwNjRCXFx1MDY0Q1xcdTA2NERcXHUwNjRFXFx1MDY0RlxcdTA2NTBcXHUwNjUxXFx1MDY1MlxcdUZGRkRcXHVGRkZEXFx1RkZGRFxcdUZGRkRcXHVGRkZEXFx1RkZGRFxcdUZGRkRcXHVGRkZEXFx1RkZGRFxcdUZGRkRcXHVGRkZEXFx1RkZGRFxcdUZGRkRcIlxuICAgICAgfSxcbiAgICAgIFwiY3AyODU5NlwiOiBcImlzbzg4NTk2XCIsXG4gICAgICBcImlzbzg4NTk3XCI6IHtcbiAgICAgICAgXCJ0eXBlXCI6IFwiX3NiY3NcIixcbiAgICAgICAgXCJjaGFyc1wiOiBcIlxceDgwXFx4ODFcXHg4MlxceDgzXFx4ODRcXHg4NVxceDg2XFx4ODdcXHg4OFxceDg5XFx4OEFcXHg4QlxceDhDXFx4OERcXHg4RVxceDhGXFx4OTBcXHg5MVxceDkyXFx4OTNcXHg5NFxceDk1XFx4OTZcXHg5N1xceDk4XFx4OTlcXHg5QVxceDlCXFx4OUNcXHg5RFxceDlFXFx4OUZcXHhBMFxcdTIwMThcXHUyMDE5XFx4QTNcXHUyMEFDXFx1MjBBRlxceEE2XFx4QTdcXHhBOFxceEE5XFx1MDM3QVxceEFCXFx4QUNcXHhBRFxcdUZGRkRcXHUyMDE1XFx4QjBcXHhCMVxceEIyXFx4QjNcXHUwMzg0XFx1MDM4NVxcdTAzODZcXHhCN1xcdTAzODhcXHUwMzg5XFx1MDM4QVxceEJCXFx1MDM4Q1xceEJEXFx1MDM4RVxcdTAzOEZcXHUwMzkwXFx1MDM5MVxcdTAzOTJcXHUwMzkzXFx1MDM5NFxcdTAzOTVcXHUwMzk2XFx1MDM5N1xcdTAzOThcXHUwMzk5XFx1MDM5QVxcdTAzOUJcXHUwMzlDXFx1MDM5RFxcdTAzOUVcXHUwMzlGXFx1MDNBMFxcdTAzQTFcXHVGRkZEXFx1MDNBM1xcdTAzQTRcXHUwM0E1XFx1MDNBNlxcdTAzQTdcXHUwM0E4XFx1MDNBOVxcdTAzQUFcXHUwM0FCXFx1MDNBQ1xcdTAzQURcXHUwM0FFXFx1MDNBRlxcdTAzQjBcXHUwM0IxXFx1MDNCMlxcdTAzQjNcXHUwM0I0XFx1MDNCNVxcdTAzQjZcXHUwM0I3XFx1MDNCOFxcdTAzQjlcXHUwM0JBXFx1MDNCQlxcdTAzQkNcXHUwM0JEXFx1MDNCRVxcdTAzQkZcXHUwM0MwXFx1MDNDMVxcdTAzQzJcXHUwM0MzXFx1MDNDNFxcdTAzQzVcXHUwM0M2XFx1MDNDN1xcdTAzQzhcXHUwM0M5XFx1MDNDQVxcdTAzQ0JcXHUwM0NDXFx1MDNDRFxcdTAzQ0VcXHVGRkZEXCJcbiAgICAgIH0sXG4gICAgICBcImNwMjg1OTdcIjogXCJpc284ODU5N1wiLFxuICAgICAgXCJpc284ODU5OFwiOiB7XG4gICAgICAgIFwidHlwZVwiOiBcIl9zYmNzXCIsXG4gICAgICAgIFwiY2hhcnNcIjogXCJcXHg4MFxceDgxXFx4ODJcXHg4M1xceDg0XFx4ODVcXHg4NlxceDg3XFx4ODhcXHg4OVxceDhBXFx4OEJcXHg4Q1xceDhEXFx4OEVcXHg4RlxceDkwXFx4OTFcXHg5MlxceDkzXFx4OTRcXHg5NVxceDk2XFx4OTdcXHg5OFxceDk5XFx4OUFcXHg5QlxceDlDXFx4OURcXHg5RVxceDlGXFx4QTBcXHVGRkZEXFx4QTJcXHhBM1xceEE0XFx4QTVcXHhBNlxceEE3XFx4QThcXHhBOVxceEQ3XFx4QUJcXHhBQ1xceEFEXFx4QUVcXHhBRlxceEIwXFx4QjFcXHhCMlxceEIzXFx4QjRcXHhCNVxceEI2XFx4QjdcXHhCOFxceEI5XFx4RjdcXHhCQlxceEJDXFx4QkRcXHhCRVxcdUZGRkRcXHVGRkZEXFx1RkZGRFxcdUZGRkRcXHVGRkZEXFx1RkZGRFxcdUZGRkRcXHVGRkZEXFx1RkZGRFxcdUZGRkRcXHVGRkZEXFx1RkZGRFxcdUZGRkRcXHVGRkZEXFx1RkZGRFxcdUZGRkRcXHVGRkZEXFx1RkZGRFxcdUZGRkRcXHVGRkZEXFx1RkZGRFxcdUZGRkRcXHVGRkZEXFx1RkZGRFxcdUZGRkRcXHVGRkZEXFx1RkZGRFxcdUZGRkRcXHVGRkZEXFx1RkZGRFxcdUZGRkRcXHVGRkZEXFx1MjAxN1xcdTA1RDBcXHUwNUQxXFx1MDVEMlxcdTA1RDNcXHUwNUQ0XFx1MDVENVxcdTA1RDZcXHUwNUQ3XFx1MDVEOFxcdTA1RDlcXHUwNURBXFx1MDVEQlxcdTA1RENcXHUwNUREXFx1MDVERVxcdTA1REZcXHUwNUUwXFx1MDVFMVxcdTA1RTJcXHUwNUUzXFx1MDVFNFxcdTA1RTVcXHUwNUU2XFx1MDVFN1xcdTA1RThcXHUwNUU5XFx1MDVFQVxcdUZGRkRcXHVGRkZEXFx1MjAwRVxcdTIwMEZcXHVGRkZEXCJcbiAgICAgIH0sXG4gICAgICBcImNwMjg1OThcIjogXCJpc284ODU5OFwiLFxuICAgICAgXCJpc284ODU5OVwiOiB7XG4gICAgICAgIFwidHlwZVwiOiBcIl9zYmNzXCIsXG4gICAgICAgIFwiY2hhcnNcIjogXCJcXHg4MFxceDgxXFx4ODJcXHg4M1xceDg0XFx4ODVcXHg4NlxceDg3XFx4ODhcXHg4OVxceDhBXFx4OEJcXHg4Q1xceDhEXFx4OEVcXHg4RlxceDkwXFx4OTFcXHg5MlxceDkzXFx4OTRcXHg5NVxceDk2XFx4OTdcXHg5OFxceDk5XFx4OUFcXHg5QlxceDlDXFx4OURcXHg5RVxceDlGXFx4QTBcXHhBMVxceEEyXFx4QTNcXHhBNFxceEE1XFx4QTZcXHhBN1xceEE4XFx4QTlcXHhBQVxceEFCXFx4QUNcXHhBRFxceEFFXFx4QUZcXHhCMFxceEIxXFx4QjJcXHhCM1xceEI0XFx4QjVcXHhCNlxceEI3XFx4QjhcXHhCOVxceEJBXFx4QkJcXHhCQ1xceEJEXFx4QkVcXHhCRlxceEMwXFx4QzFcXHhDMlxceEMzXFx4QzRcXHhDNVxceEM2XFx4QzdcXHhDOFxceEM5XFx4Q0FcXHhDQlxceENDXFx4Q0RcXHhDRVxceENGXFx1MDExRVxceEQxXFx4RDJcXHhEM1xceEQ0XFx4RDVcXHhENlxceEQ3XFx4RDhcXHhEOVxceERBXFx4REJcXHhEQ1xcdTAxMzBcXHUwMTVFXFx4REZcXHhFMFxceEUxXFx4RTJcXHhFM1xceEU0XFx4RTVcXHhFNlxceEU3XFx4RThcXHhFOVxceEVBXFx4RUJcXHhFQ1xceEVEXFx4RUVcXHhFRlxcdTAxMUZcXHhGMVxceEYyXFx4RjNcXHhGNFxceEY1XFx4RjZcXHhGN1xceEY4XFx4RjlcXHhGQVxceEZCXFx4RkNcXHUwMTMxXFx1MDE1RlxceEZGXCJcbiAgICAgIH0sXG4gICAgICBcImNwMjg1OTlcIjogXCJpc284ODU5OVwiLFxuICAgICAgXCJpc284ODU5MTBcIjoge1xuICAgICAgICBcInR5cGVcIjogXCJfc2Jjc1wiLFxuICAgICAgICBcImNoYXJzXCI6IFwiXFx4ODBcXHg4MVxceDgyXFx4ODNcXHg4NFxceDg1XFx4ODZcXHg4N1xceDg4XFx4ODlcXHg4QVxceDhCXFx4OENcXHg4RFxceDhFXFx4OEZcXHg5MFxceDkxXFx4OTJcXHg5M1xceDk0XFx4OTVcXHg5NlxceDk3XFx4OThcXHg5OVxceDlBXFx4OUJcXHg5Q1xceDlEXFx4OUVcXHg5RlxceEEwXFx1MDEwNFxcdTAxMTJcXHUwMTIyXFx1MDEyQVxcdTAxMjhcXHUwMTM2XFx4QTdcXHUwMTNCXFx1MDExMFxcdTAxNjBcXHUwMTY2XFx1MDE3RFxceEFEXFx1MDE2QVxcdTAxNEFcXHhCMFxcdTAxMDVcXHUwMTEzXFx1MDEyM1xcdTAxMkJcXHUwMTI5XFx1MDEzN1xceEI3XFx1MDEzQ1xcdTAxMTFcXHUwMTYxXFx1MDE2N1xcdTAxN0VcXHUyMDE1XFx1MDE2QlxcdTAxNEJcXHUwMTAwXFx4QzFcXHhDMlxceEMzXFx4QzRcXHhDNVxceEM2XFx1MDEyRVxcdTAxMENcXHhDOVxcdTAxMThcXHhDQlxcdTAxMTZcXHhDRFxceENFXFx4Q0ZcXHhEMFxcdTAxNDVcXHUwMTRDXFx4RDNcXHhENFxceEQ1XFx4RDZcXHUwMTY4XFx4RDhcXHUwMTcyXFx4REFcXHhEQlxceERDXFx4RERcXHhERVxceERGXFx1MDEwMVxceEUxXFx4RTJcXHhFM1xceEU0XFx4RTVcXHhFNlxcdTAxMkZcXHUwMTBEXFx4RTlcXHUwMTE5XFx4RUJcXHUwMTE3XFx4RURcXHhFRVxceEVGXFx4RjBcXHUwMTQ2XFx1MDE0RFxceEYzXFx4RjRcXHhGNVxceEY2XFx1MDE2OVxceEY4XFx1MDE3M1xceEZBXFx4RkJcXHhGQ1xceEZEXFx4RkVcXHUwMTM4XCJcbiAgICAgIH0sXG4gICAgICBcImNwMjg2MDBcIjogXCJpc284ODU5MTBcIixcbiAgICAgIFwiaXNvODg1OTExXCI6IHtcbiAgICAgICAgXCJ0eXBlXCI6IFwiX3NiY3NcIixcbiAgICAgICAgXCJjaGFyc1wiOiBcIlxceDgwXFx4ODFcXHg4MlxceDgzXFx4ODRcXHg4NVxceDg2XFx4ODdcXHg4OFxceDg5XFx4OEFcXHg4QlxceDhDXFx4OERcXHg4RVxceDhGXFx4OTBcXHg5MVxceDkyXFx4OTNcXHg5NFxceDk1XFx4OTZcXHg5N1xceDk4XFx4OTlcXHg5QVxceDlCXFx4OUNcXHg5RFxceDlFXFx4OUZcXHhBMFxcdTBFMDFcXHUwRTAyXFx1MEUwM1xcdTBFMDRcXHUwRTA1XFx1MEUwNlxcdTBFMDdcXHUwRTA4XFx1MEUwOVxcdTBFMEFcXHUwRTBCXFx1MEUwQ1xcdTBFMERcXHUwRTBFXFx1MEUwRlxcdTBFMTBcXHUwRTExXFx1MEUxMlxcdTBFMTNcXHUwRTE0XFx1MEUxNVxcdTBFMTZcXHUwRTE3XFx1MEUxOFxcdTBFMTlcXHUwRTFBXFx1MEUxQlxcdTBFMUNcXHUwRTFEXFx1MEUxRVxcdTBFMUZcXHUwRTIwXFx1MEUyMVxcdTBFMjJcXHUwRTIzXFx1MEUyNFxcdTBFMjVcXHUwRTI2XFx1MEUyN1xcdTBFMjhcXHUwRTI5XFx1MEUyQVxcdTBFMkJcXHUwRTJDXFx1MEUyRFxcdTBFMkVcXHUwRTJGXFx1MEUzMFxcdTBFMzFcXHUwRTMyXFx1MEUzM1xcdTBFMzRcXHUwRTM1XFx1MEUzNlxcdTBFMzdcXHUwRTM4XFx1MEUzOVxcdTBFM0FcXHVGRkZEXFx1RkZGRFxcdUZGRkRcXHVGRkZEXFx1MEUzRlxcdTBFNDBcXHUwRTQxXFx1MEU0MlxcdTBFNDNcXHUwRTQ0XFx1MEU0NVxcdTBFNDZcXHUwRTQ3XFx1MEU0OFxcdTBFNDlcXHUwRTRBXFx1MEU0QlxcdTBFNENcXHUwRTREXFx1MEU0RVxcdTBFNEZcXHUwRTUwXFx1MEU1MVxcdTBFNTJcXHUwRTUzXFx1MEU1NFxcdTBFNTVcXHUwRTU2XFx1MEU1N1xcdTBFNThcXHUwRTU5XFx1MEU1QVxcdTBFNUJcXHVGRkZEXFx1RkZGRFxcdUZGRkRcXHVGRkZEXCJcbiAgICAgIH0sXG4gICAgICBcImNwMjg2MDFcIjogXCJpc284ODU5MTFcIixcbiAgICAgIFwiaXNvODg1OTEzXCI6IHtcbiAgICAgICAgXCJ0eXBlXCI6IFwiX3NiY3NcIixcbiAgICAgICAgXCJjaGFyc1wiOiBcIlxceDgwXFx4ODFcXHg4MlxceDgzXFx4ODRcXHg4NVxceDg2XFx4ODdcXHg4OFxceDg5XFx4OEFcXHg4QlxceDhDXFx4OERcXHg4RVxceDhGXFx4OTBcXHg5MVxceDkyXFx4OTNcXHg5NFxceDk1XFx4OTZcXHg5N1xceDk4XFx4OTlcXHg5QVxceDlCXFx4OUNcXHg5RFxceDlFXFx4OUZcXHhBMFxcdTIwMURcXHhBMlxceEEzXFx4QTRcXHUyMDFFXFx4QTZcXHhBN1xceEQ4XFx4QTlcXHUwMTU2XFx4QUJcXHhBQ1xceEFEXFx4QUVcXHhDNlxceEIwXFx4QjFcXHhCMlxceEIzXFx1MjAxQ1xceEI1XFx4QjZcXHhCN1xceEY4XFx4QjlcXHUwMTU3XFx4QkJcXHhCQ1xceEJEXFx4QkVcXHhFNlxcdTAxMDRcXHUwMTJFXFx1MDEwMFxcdTAxMDZcXHhDNFxceEM1XFx1MDExOFxcdTAxMTJcXHUwMTBDXFx4QzlcXHUwMTc5XFx1MDExNlxcdTAxMjJcXHUwMTM2XFx1MDEyQVxcdTAxM0JcXHUwMTYwXFx1MDE0M1xcdTAxNDVcXHhEM1xcdTAxNENcXHhENVxceEQ2XFx4RDdcXHUwMTcyXFx1MDE0MVxcdTAxNUFcXHUwMTZBXFx4RENcXHUwMTdCXFx1MDE3RFxceERGXFx1MDEwNVxcdTAxMkZcXHUwMTAxXFx1MDEwN1xceEU0XFx4RTVcXHUwMTE5XFx1MDExM1xcdTAxMERcXHhFOVxcdTAxN0FcXHUwMTE3XFx1MDEyM1xcdTAxMzdcXHUwMTJCXFx1MDEzQ1xcdTAxNjFcXHUwMTQ0XFx1MDE0NlxceEYzXFx1MDE0RFxceEY1XFx4RjZcXHhGN1xcdTAxNzNcXHUwMTQyXFx1MDE1QlxcdTAxNkJcXHhGQ1xcdTAxN0NcXHUwMTdFXFx1MjAxOVwiXG4gICAgICB9LFxuICAgICAgXCJjcDI4NjAzXCI6IFwiaXNvODg1OTEzXCIsXG4gICAgICBcImlzbzg4NTkxNFwiOiB7XG4gICAgICAgIFwidHlwZVwiOiBcIl9zYmNzXCIsXG4gICAgICAgIFwiY2hhcnNcIjogXCJcXHg4MFxceDgxXFx4ODJcXHg4M1xceDg0XFx4ODVcXHg4NlxceDg3XFx4ODhcXHg4OVxceDhBXFx4OEJcXHg4Q1xceDhEXFx4OEVcXHg4RlxceDkwXFx4OTFcXHg5MlxceDkzXFx4OTRcXHg5NVxceDk2XFx4OTdcXHg5OFxceDk5XFx4OUFcXHg5QlxceDlDXFx4OURcXHg5RVxceDlGXFx4QTBcXHUxRTAyXFx1MUUwM1xceEEzXFx1MDEwQVxcdTAxMEJcXHUxRTBBXFx4QTdcXHUxRTgwXFx4QTlcXHUxRTgyXFx1MUUwQlxcdTFFRjJcXHhBRFxceEFFXFx1MDE3OFxcdTFFMUVcXHUxRTFGXFx1MDEyMFxcdTAxMjFcXHUxRTQwXFx1MUU0MVxceEI2XFx1MUU1NlxcdTFFODFcXHUxRTU3XFx1MUU4M1xcdTFFNjBcXHUxRUYzXFx1MUU4NFxcdTFFODVcXHUxRTYxXFx4QzBcXHhDMVxceEMyXFx4QzNcXHhDNFxceEM1XFx4QzZcXHhDN1xceEM4XFx4QzlcXHhDQVxceENCXFx4Q0NcXHhDRFxceENFXFx4Q0ZcXHUwMTc0XFx4RDFcXHhEMlxceEQzXFx4RDRcXHhENVxceEQ2XFx1MUU2QVxceEQ4XFx4RDlcXHhEQVxceERCXFx4RENcXHhERFxcdTAxNzZcXHhERlxceEUwXFx4RTFcXHhFMlxceEUzXFx4RTRcXHhFNVxceEU2XFx4RTdcXHhFOFxceEU5XFx4RUFcXHhFQlxceEVDXFx4RURcXHhFRVxceEVGXFx1MDE3NVxceEYxXFx4RjJcXHhGM1xceEY0XFx4RjVcXHhGNlxcdTFFNkJcXHhGOFxceEY5XFx4RkFcXHhGQlxceEZDXFx4RkRcXHUwMTc3XFx4RkZcIlxuICAgICAgfSxcbiAgICAgIFwiY3AyODYwNFwiOiBcImlzbzg4NTkxNFwiLFxuICAgICAgXCJpc284ODU5MTVcIjoge1xuICAgICAgICBcInR5cGVcIjogXCJfc2Jjc1wiLFxuICAgICAgICBcImNoYXJzXCI6IFwiXFx4ODBcXHg4MVxceDgyXFx4ODNcXHg4NFxceDg1XFx4ODZcXHg4N1xceDg4XFx4ODlcXHg4QVxceDhCXFx4OENcXHg4RFxceDhFXFx4OEZcXHg5MFxceDkxXFx4OTJcXHg5M1xceDk0XFx4OTVcXHg5NlxceDk3XFx4OThcXHg5OVxceDlBXFx4OUJcXHg5Q1xceDlEXFx4OUVcXHg5RlxceEEwXFx4QTFcXHhBMlxceEEzXFx1MjBBQ1xceEE1XFx1MDE2MFxceEE3XFx1MDE2MVxceEE5XFx4QUFcXHhBQlxceEFDXFx4QURcXHhBRVxceEFGXFx4QjBcXHhCMVxceEIyXFx4QjNcXHUwMTdEXFx4QjVcXHhCNlxceEI3XFx1MDE3RVxceEI5XFx4QkFcXHhCQlxcdTAxNTJcXHUwMTUzXFx1MDE3OFxceEJGXFx4QzBcXHhDMVxceEMyXFx4QzNcXHhDNFxceEM1XFx4QzZcXHhDN1xceEM4XFx4QzlcXHhDQVxceENCXFx4Q0NcXHhDRFxceENFXFx4Q0ZcXHhEMFxceEQxXFx4RDJcXHhEM1xceEQ0XFx4RDVcXHhENlxceEQ3XFx4RDhcXHhEOVxceERBXFx4REJcXHhEQ1xceEREXFx4REVcXHhERlxceEUwXFx4RTFcXHhFMlxceEUzXFx4RTRcXHhFNVxceEU2XFx4RTdcXHhFOFxceEU5XFx4RUFcXHhFQlxceEVDXFx4RURcXHhFRVxceEVGXFx4RjBcXHhGMVxceEYyXFx4RjNcXHhGNFxceEY1XFx4RjZcXHhGN1xceEY4XFx4RjlcXHhGQVxceEZCXFx4RkNcXHhGRFxceEZFXFx4RkZcIlxuICAgICAgfSxcbiAgICAgIFwiY3AyODYwNVwiOiBcImlzbzg4NTkxNVwiLFxuICAgICAgXCJpc284ODU5MTZcIjoge1xuICAgICAgICBcInR5cGVcIjogXCJfc2Jjc1wiLFxuICAgICAgICBcImNoYXJzXCI6IFwiXFx4ODBcXHg4MVxceDgyXFx4ODNcXHg4NFxceDg1XFx4ODZcXHg4N1xceDg4XFx4ODlcXHg4QVxceDhCXFx4OENcXHg4RFxceDhFXFx4OEZcXHg5MFxceDkxXFx4OTJcXHg5M1xceDk0XFx4OTVcXHg5NlxceDk3XFx4OThcXHg5OVxceDlBXFx4OUJcXHg5Q1xceDlEXFx4OUVcXHg5RlxceEEwXFx1MDEwNFxcdTAxMDVcXHUwMTQxXFx1MjBBQ1xcdTIwMUVcXHUwMTYwXFx4QTdcXHUwMTYxXFx4QTlcXHUwMjE4XFx4QUJcXHUwMTc5XFx4QURcXHUwMTdBXFx1MDE3QlxceEIwXFx4QjFcXHUwMTBDXFx1MDE0MlxcdTAxN0RcXHUyMDFEXFx4QjZcXHhCN1xcdTAxN0VcXHUwMTBEXFx1MDIxOVxceEJCXFx1MDE1MlxcdTAxNTNcXHUwMTc4XFx1MDE3Q1xceEMwXFx4QzFcXHhDMlxcdTAxMDJcXHhDNFxcdTAxMDZcXHhDNlxceEM3XFx4QzhcXHhDOVxceENBXFx4Q0JcXHhDQ1xceENEXFx4Q0VcXHhDRlxcdTAxMTBcXHUwMTQzXFx4RDJcXHhEM1xceEQ0XFx1MDE1MFxceEQ2XFx1MDE1QVxcdTAxNzBcXHhEOVxceERBXFx4REJcXHhEQ1xcdTAxMThcXHUwMjFBXFx4REZcXHhFMFxceEUxXFx4RTJcXHUwMTAzXFx4RTRcXHUwMTA3XFx4RTZcXHhFN1xceEU4XFx4RTlcXHhFQVxceEVCXFx4RUNcXHhFRFxceEVFXFx4RUZcXHUwMTExXFx1MDE0NFxceEYyXFx4RjNcXHhGNFxcdTAxNTFcXHhGNlxcdTAxNUJcXHUwMTcxXFx4RjlcXHhGQVxceEZCXFx4RkNcXHUwMTE5XFx1MDIxQlxceEZGXCJcbiAgICAgIH0sXG4gICAgICBcImNwMjg2MDZcIjogXCJpc284ODU5MTZcIixcbiAgICAgIFwiY3A0MzdcIjoge1xuICAgICAgICBcInR5cGVcIjogXCJfc2Jjc1wiLFxuICAgICAgICBcImNoYXJzXCI6IFwiXFx4QzdcXHhGQ1xceEU5XFx4RTJcXHhFNFxceEUwXFx4RTVcXHhFN1xceEVBXFx4RUJcXHhFOFxceEVGXFx4RUVcXHhFQ1xceEM0XFx4QzVcXHhDOVxceEU2XFx4QzZcXHhGNFxceEY2XFx4RjJcXHhGQlxceEY5XFx4RkZcXHhENlxceERDXFx4QTJcXHhBM1xceEE1XFx1MjBBN1xcdTAxOTJcXHhFMVxceEVEXFx4RjNcXHhGQVxceEYxXFx4RDFcXHhBQVxceEJBXFx4QkZcXHUyMzEwXFx4QUNcXHhCRFxceEJDXFx4QTFcXHhBQlxceEJCXFx1MjU5MVxcdTI1OTJcXHUyNTkzXFx1MjUwMlxcdTI1MjRcXHUyNTYxXFx1MjU2MlxcdTI1NTZcXHUyNTU1XFx1MjU2M1xcdTI1NTFcXHUyNTU3XFx1MjU1RFxcdTI1NUNcXHUyNTVCXFx1MjUxMFxcdTI1MTRcXHUyNTM0XFx1MjUyQ1xcdTI1MUNcXHUyNTAwXFx1MjUzQ1xcdTI1NUVcXHUyNTVGXFx1MjU1QVxcdTI1NTRcXHUyNTY5XFx1MjU2NlxcdTI1NjBcXHUyNTUwXFx1MjU2Q1xcdTI1NjdcXHUyNTY4XFx1MjU2NFxcdTI1NjVcXHUyNTU5XFx1MjU1OFxcdTI1NTJcXHUyNTUzXFx1MjU2QlxcdTI1NkFcXHUyNTE4XFx1MjUwQ1xcdTI1ODhcXHUyNTg0XFx1MjU4Q1xcdTI1OTBcXHUyNTgwXFx1MDNCMVxceERGXFx1MDM5M1xcdTAzQzBcXHUwM0EzXFx1MDNDM1xceEI1XFx1MDNDNFxcdTAzQTZcXHUwMzk4XFx1MDNBOVxcdTAzQjRcXHUyMjFFXFx1MDNDNlxcdTAzQjVcXHUyMjI5XFx1MjI2MVxceEIxXFx1MjI2NVxcdTIyNjRcXHUyMzIwXFx1MjMyMVxceEY3XFx1MjI0OFxceEIwXFx1MjIxOVxceEI3XFx1MjIxQVxcdTIwN0ZcXHhCMlxcdTI1QTBcXHhBMFwiXG4gICAgICB9LFxuICAgICAgXCJpYm00MzdcIjogXCJjcDQzN1wiLFxuICAgICAgXCJjc2libTQzN1wiOiBcImNwNDM3XCIsXG4gICAgICBcImNwNzM3XCI6IHtcbiAgICAgICAgXCJ0eXBlXCI6IFwiX3NiY3NcIixcbiAgICAgICAgXCJjaGFyc1wiOiBcIlxcdTAzOTFcXHUwMzkyXFx1MDM5M1xcdTAzOTRcXHUwMzk1XFx1MDM5NlxcdTAzOTdcXHUwMzk4XFx1MDM5OVxcdTAzOUFcXHUwMzlCXFx1MDM5Q1xcdTAzOURcXHUwMzlFXFx1MDM5RlxcdTAzQTBcXHUwM0ExXFx1MDNBM1xcdTAzQTRcXHUwM0E1XFx1MDNBNlxcdTAzQTdcXHUwM0E4XFx1MDNBOVxcdTAzQjFcXHUwM0IyXFx1MDNCM1xcdTAzQjRcXHUwM0I1XFx1MDNCNlxcdTAzQjdcXHUwM0I4XFx1MDNCOVxcdTAzQkFcXHUwM0JCXFx1MDNCQ1xcdTAzQkRcXHUwM0JFXFx1MDNCRlxcdTAzQzBcXHUwM0MxXFx1MDNDM1xcdTAzQzJcXHUwM0M0XFx1MDNDNVxcdTAzQzZcXHUwM0M3XFx1MDNDOFxcdTI1OTFcXHUyNTkyXFx1MjU5M1xcdTI1MDJcXHUyNTI0XFx1MjU2MVxcdTI1NjJcXHUyNTU2XFx1MjU1NVxcdTI1NjNcXHUyNTUxXFx1MjU1N1xcdTI1NURcXHUyNTVDXFx1MjU1QlxcdTI1MTBcXHUyNTE0XFx1MjUzNFxcdTI1MkNcXHUyNTFDXFx1MjUwMFxcdTI1M0NcXHUyNTVFXFx1MjU1RlxcdTI1NUFcXHUyNTU0XFx1MjU2OVxcdTI1NjZcXHUyNTYwXFx1MjU1MFxcdTI1NkNcXHUyNTY3XFx1MjU2OFxcdTI1NjRcXHUyNTY1XFx1MjU1OVxcdTI1NThcXHUyNTUyXFx1MjU1M1xcdTI1NkJcXHUyNTZBXFx1MjUxOFxcdTI1MENcXHUyNTg4XFx1MjU4NFxcdTI1OENcXHUyNTkwXFx1MjU4MFxcdTAzQzlcXHUwM0FDXFx1MDNBRFxcdTAzQUVcXHUwM0NBXFx1MDNBRlxcdTAzQ0NcXHUwM0NEXFx1MDNDQlxcdTAzQ0VcXHUwMzg2XFx1MDM4OFxcdTAzODlcXHUwMzhBXFx1MDM4Q1xcdTAzOEVcXHUwMzhGXFx4QjFcXHUyMjY1XFx1MjI2NFxcdTAzQUFcXHUwM0FCXFx4RjdcXHUyMjQ4XFx4QjBcXHUyMjE5XFx4QjdcXHUyMjFBXFx1MjA3RlxceEIyXFx1MjVBMFxceEEwXCJcbiAgICAgIH0sXG4gICAgICBcImlibTczN1wiOiBcImNwNzM3XCIsXG4gICAgICBcImNzaWJtNzM3XCI6IFwiY3A3MzdcIixcbiAgICAgIFwiY3A3NzVcIjoge1xuICAgICAgICBcInR5cGVcIjogXCJfc2Jjc1wiLFxuICAgICAgICBcImNoYXJzXCI6IFwiXFx1MDEwNlxceEZDXFx4RTlcXHUwMTAxXFx4RTRcXHUwMTIzXFx4RTVcXHUwMTA3XFx1MDE0MlxcdTAxMTNcXHUwMTU2XFx1MDE1N1xcdTAxMkJcXHUwMTc5XFx4QzRcXHhDNVxceEM5XFx4RTZcXHhDNlxcdTAxNERcXHhGNlxcdTAxMjJcXHhBMlxcdTAxNUFcXHUwMTVCXFx4RDZcXHhEQ1xceEY4XFx4QTNcXHhEOFxceEQ3XFx4QTRcXHUwMTAwXFx1MDEyQVxceEYzXFx1MDE3QlxcdTAxN0NcXHUwMTdBXFx1MjAxRFxceEE2XFx4QTlcXHhBRVxceEFDXFx4QkRcXHhCQ1xcdTAxNDFcXHhBQlxceEJCXFx1MjU5MVxcdTI1OTJcXHUyNTkzXFx1MjUwMlxcdTI1MjRcXHUwMTA0XFx1MDEwQ1xcdTAxMThcXHUwMTE2XFx1MjU2M1xcdTI1NTFcXHUyNTU3XFx1MjU1RFxcdTAxMkVcXHUwMTYwXFx1MjUxMFxcdTI1MTRcXHUyNTM0XFx1MjUyQ1xcdTI1MUNcXHUyNTAwXFx1MjUzQ1xcdTAxNzJcXHUwMTZBXFx1MjU1QVxcdTI1NTRcXHUyNTY5XFx1MjU2NlxcdTI1NjBcXHUyNTUwXFx1MjU2Q1xcdTAxN0RcXHUwMTA1XFx1MDEwRFxcdTAxMTlcXHUwMTE3XFx1MDEyRlxcdTAxNjFcXHUwMTczXFx1MDE2QlxcdTAxN0VcXHUyNTE4XFx1MjUwQ1xcdTI1ODhcXHUyNTg0XFx1MjU4Q1xcdTI1OTBcXHUyNTgwXFx4RDNcXHhERlxcdTAxNENcXHUwMTQzXFx4RjVcXHhENVxceEI1XFx1MDE0NFxcdTAxMzZcXHUwMTM3XFx1MDEzQlxcdTAxM0NcXHUwMTQ2XFx1MDExMlxcdTAxNDVcXHUyMDE5XFx4QURcXHhCMVxcdTIwMUNcXHhCRVxceEI2XFx4QTdcXHhGN1xcdTIwMUVcXHhCMFxcdTIyMTlcXHhCN1xceEI5XFx4QjNcXHhCMlxcdTI1QTBcXHhBMFwiXG4gICAgICB9LFxuICAgICAgXCJpYm03NzVcIjogXCJjcDc3NVwiLFxuICAgICAgXCJjc2libTc3NVwiOiBcImNwNzc1XCIsXG4gICAgICBcImNwODUwXCI6IHtcbiAgICAgICAgXCJ0eXBlXCI6IFwiX3NiY3NcIixcbiAgICAgICAgXCJjaGFyc1wiOiBcIlxceEM3XFx4RkNcXHhFOVxceEUyXFx4RTRcXHhFMFxceEU1XFx4RTdcXHhFQVxceEVCXFx4RThcXHhFRlxceEVFXFx4RUNcXHhDNFxceEM1XFx4QzlcXHhFNlxceEM2XFx4RjRcXHhGNlxceEYyXFx4RkJcXHhGOVxceEZGXFx4RDZcXHhEQ1xceEY4XFx4QTNcXHhEOFxceEQ3XFx1MDE5MlxceEUxXFx4RURcXHhGM1xceEZBXFx4RjFcXHhEMVxceEFBXFx4QkFcXHhCRlxceEFFXFx4QUNcXHhCRFxceEJDXFx4QTFcXHhBQlxceEJCXFx1MjU5MVxcdTI1OTJcXHUyNTkzXFx1MjUwMlxcdTI1MjRcXHhDMVxceEMyXFx4QzBcXHhBOVxcdTI1NjNcXHUyNTUxXFx1MjU1N1xcdTI1NURcXHhBMlxceEE1XFx1MjUxMFxcdTI1MTRcXHUyNTM0XFx1MjUyQ1xcdTI1MUNcXHUyNTAwXFx1MjUzQ1xceEUzXFx4QzNcXHUyNTVBXFx1MjU1NFxcdTI1NjlcXHUyNTY2XFx1MjU2MFxcdTI1NTBcXHUyNTZDXFx4QTRcXHhGMFxceEQwXFx4Q0FcXHhDQlxceEM4XFx1MDEzMVxceENEXFx4Q0VcXHhDRlxcdTI1MThcXHUyNTBDXFx1MjU4OFxcdTI1ODRcXHhBNlxceENDXFx1MjU4MFxceEQzXFx4REZcXHhENFxceEQyXFx4RjVcXHhENVxceEI1XFx4RkVcXHhERVxceERBXFx4REJcXHhEOVxceEZEXFx4RERcXHhBRlxceEI0XFx4QURcXHhCMVxcdTIwMTdcXHhCRVxceEI2XFx4QTdcXHhGN1xceEI4XFx4QjBcXHhBOFxceEI3XFx4QjlcXHhCM1xceEIyXFx1MjVBMFxceEEwXCJcbiAgICAgIH0sXG4gICAgICBcImlibTg1MFwiOiBcImNwODUwXCIsXG4gICAgICBcImNzaWJtODUwXCI6IFwiY3A4NTBcIixcbiAgICAgIFwiY3A4NTJcIjoge1xuICAgICAgICBcInR5cGVcIjogXCJfc2Jjc1wiLFxuICAgICAgICBcImNoYXJzXCI6IFwiXFx4QzdcXHhGQ1xceEU5XFx4RTJcXHhFNFxcdTAxNkZcXHUwMTA3XFx4RTdcXHUwMTQyXFx4RUJcXHUwMTUwXFx1MDE1MVxceEVFXFx1MDE3OVxceEM0XFx1MDEwNlxceEM5XFx1MDEzOVxcdTAxM0FcXHhGNFxceEY2XFx1MDEzRFxcdTAxM0VcXHUwMTVBXFx1MDE1QlxceEQ2XFx4RENcXHUwMTY0XFx1MDE2NVxcdTAxNDFcXHhEN1xcdTAxMERcXHhFMVxceEVEXFx4RjNcXHhGQVxcdTAxMDRcXHUwMTA1XFx1MDE3RFxcdTAxN0VcXHUwMTE4XFx1MDExOVxceEFDXFx1MDE3QVxcdTAxMENcXHUwMTVGXFx4QUJcXHhCQlxcdTI1OTFcXHUyNTkyXFx1MjU5M1xcdTI1MDJcXHUyNTI0XFx4QzFcXHhDMlxcdTAxMUFcXHUwMTVFXFx1MjU2M1xcdTI1NTFcXHUyNTU3XFx1MjU1RFxcdTAxN0JcXHUwMTdDXFx1MjUxMFxcdTI1MTRcXHUyNTM0XFx1MjUyQ1xcdTI1MUNcXHUyNTAwXFx1MjUzQ1xcdTAxMDJcXHUwMTAzXFx1MjU1QVxcdTI1NTRcXHUyNTY5XFx1MjU2NlxcdTI1NjBcXHUyNTUwXFx1MjU2Q1xceEE0XFx1MDExMVxcdTAxMTBcXHUwMTBFXFx4Q0JcXHUwMTBGXFx1MDE0N1xceENEXFx4Q0VcXHUwMTFCXFx1MjUxOFxcdTI1MENcXHUyNTg4XFx1MjU4NFxcdTAxNjJcXHUwMTZFXFx1MjU4MFxceEQzXFx4REZcXHhENFxcdTAxNDNcXHUwMTQ0XFx1MDE0OFxcdTAxNjBcXHUwMTYxXFx1MDE1NFxceERBXFx1MDE1NVxcdTAxNzBcXHhGRFxceEREXFx1MDE2M1xceEI0XFx4QURcXHUwMkREXFx1MDJEQlxcdTAyQzdcXHUwMkQ4XFx4QTdcXHhGN1xceEI4XFx4QjBcXHhBOFxcdTAyRDlcXHUwMTcxXFx1MDE1OFxcdTAxNTlcXHUyNUEwXFx4QTBcIlxuICAgICAgfSxcbiAgICAgIFwiaWJtODUyXCI6IFwiY3A4NTJcIixcbiAgICAgIFwiY3NpYm04NTJcIjogXCJjcDg1MlwiLFxuICAgICAgXCJjcDg1NVwiOiB7XG4gICAgICAgIFwidHlwZVwiOiBcIl9zYmNzXCIsXG4gICAgICAgIFwiY2hhcnNcIjogXCJcXHUwNDUyXFx1MDQwMlxcdTA0NTNcXHUwNDAzXFx1MDQ1MVxcdTA0MDFcXHUwNDU0XFx1MDQwNFxcdTA0NTVcXHUwNDA1XFx1MDQ1NlxcdTA0MDZcXHUwNDU3XFx1MDQwN1xcdTA0NThcXHUwNDA4XFx1MDQ1OVxcdTA0MDlcXHUwNDVBXFx1MDQwQVxcdTA0NUJcXHUwNDBCXFx1MDQ1Q1xcdTA0MENcXHUwNDVFXFx1MDQwRVxcdTA0NUZcXHUwNDBGXFx1MDQ0RVxcdTA0MkVcXHUwNDRBXFx1MDQyQVxcdTA0MzBcXHUwNDEwXFx1MDQzMVxcdTA0MTFcXHUwNDQ2XFx1MDQyNlxcdTA0MzRcXHUwNDE0XFx1MDQzNVxcdTA0MTVcXHUwNDQ0XFx1MDQyNFxcdTA0MzNcXHUwNDEzXFx4QUJcXHhCQlxcdTI1OTFcXHUyNTkyXFx1MjU5M1xcdTI1MDJcXHUyNTI0XFx1MDQ0NVxcdTA0MjVcXHUwNDM4XFx1MDQxOFxcdTI1NjNcXHUyNTUxXFx1MjU1N1xcdTI1NURcXHUwNDM5XFx1MDQxOVxcdTI1MTBcXHUyNTE0XFx1MjUzNFxcdTI1MkNcXHUyNTFDXFx1MjUwMFxcdTI1M0NcXHUwNDNBXFx1MDQxQVxcdTI1NUFcXHUyNTU0XFx1MjU2OVxcdTI1NjZcXHUyNTYwXFx1MjU1MFxcdTI1NkNcXHhBNFxcdTA0M0JcXHUwNDFCXFx1MDQzQ1xcdTA0MUNcXHUwNDNEXFx1MDQxRFxcdTA0M0VcXHUwNDFFXFx1MDQzRlxcdTI1MThcXHUyNTBDXFx1MjU4OFxcdTI1ODRcXHUwNDFGXFx1MDQ0RlxcdTI1ODBcXHUwNDJGXFx1MDQ0MFxcdTA0MjBcXHUwNDQxXFx1MDQyMVxcdTA0NDJcXHUwNDIyXFx1MDQ0M1xcdTA0MjNcXHUwNDM2XFx1MDQxNlxcdTA0MzJcXHUwNDEyXFx1MDQ0Q1xcdTA0MkNcXHUyMTE2XFx4QURcXHUwNDRCXFx1MDQyQlxcdTA0MzdcXHUwNDE3XFx1MDQ0OFxcdTA0MjhcXHUwNDREXFx1MDQyRFxcdTA0NDlcXHUwNDI5XFx1MDQ0N1xcdTA0MjdcXHhBN1xcdTI1QTBcXHhBMFwiXG4gICAgICB9LFxuICAgICAgXCJpYm04NTVcIjogXCJjcDg1NVwiLFxuICAgICAgXCJjc2libTg1NVwiOiBcImNwODU1XCIsXG4gICAgICBcImNwODU2XCI6IHtcbiAgICAgICAgXCJ0eXBlXCI6IFwiX3NiY3NcIixcbiAgICAgICAgXCJjaGFyc1wiOiBcIlxcdTA1RDBcXHUwNUQxXFx1MDVEMlxcdTA1RDNcXHUwNUQ0XFx1MDVENVxcdTA1RDZcXHUwNUQ3XFx1MDVEOFxcdTA1RDlcXHUwNURBXFx1MDVEQlxcdTA1RENcXHUwNUREXFx1MDVERVxcdTA1REZcXHUwNUUwXFx1MDVFMVxcdTA1RTJcXHUwNUUzXFx1MDVFNFxcdTA1RTVcXHUwNUU2XFx1MDVFN1xcdTA1RThcXHUwNUU5XFx1MDVFQVxcdUZGRkRcXHhBM1xcdUZGRkRcXHhEN1xcdUZGRkRcXHVGRkZEXFx1RkZGRFxcdUZGRkRcXHVGRkZEXFx1RkZGRFxcdUZGRkRcXHVGRkZEXFx1RkZGRFxcdUZGRkRcXHhBRVxceEFDXFx4QkRcXHhCQ1xcdUZGRkRcXHhBQlxceEJCXFx1MjU5MVxcdTI1OTJcXHUyNTkzXFx1MjUwMlxcdTI1MjRcXHVGRkZEXFx1RkZGRFxcdUZGRkRcXHhBOVxcdTI1NjNcXHUyNTUxXFx1MjU1N1xcdTI1NURcXHhBMlxceEE1XFx1MjUxMFxcdTI1MTRcXHUyNTM0XFx1MjUyQ1xcdTI1MUNcXHUyNTAwXFx1MjUzQ1xcdUZGRkRcXHVGRkZEXFx1MjU1QVxcdTI1NTRcXHUyNTY5XFx1MjU2NlxcdTI1NjBcXHUyNTUwXFx1MjU2Q1xceEE0XFx1RkZGRFxcdUZGRkRcXHVGRkZEXFx1RkZGRFxcdUZGRkRcXHVGRkZEXFx1RkZGRFxcdUZGRkRcXHVGRkZEXFx1MjUxOFxcdTI1MENcXHUyNTg4XFx1MjU4NFxceEE2XFx1RkZGRFxcdTI1ODBcXHVGRkZEXFx1RkZGRFxcdUZGRkRcXHVGRkZEXFx1RkZGRFxcdUZGRkRcXHhCNVxcdUZGRkRcXHVGRkZEXFx1RkZGRFxcdUZGRkRcXHVGRkZEXFx1RkZGRFxcdUZGRkRcXHhBRlxceEI0XFx4QURcXHhCMVxcdTIwMTdcXHhCRVxceEI2XFx4QTdcXHhGN1xceEI4XFx4QjBcXHhBOFxceEI3XFx4QjlcXHhCM1xceEIyXFx1MjVBMFxceEEwXCJcbiAgICAgIH0sXG4gICAgICBcImlibTg1NlwiOiBcImNwODU2XCIsXG4gICAgICBcImNzaWJtODU2XCI6IFwiY3A4NTZcIixcbiAgICAgIFwiY3A4NTdcIjoge1xuICAgICAgICBcInR5cGVcIjogXCJfc2Jjc1wiLFxuICAgICAgICBcImNoYXJzXCI6IFwiXFx4QzdcXHhGQ1xceEU5XFx4RTJcXHhFNFxceEUwXFx4RTVcXHhFN1xceEVBXFx4RUJcXHhFOFxceEVGXFx4RUVcXHUwMTMxXFx4QzRcXHhDNVxceEM5XFx4RTZcXHhDNlxceEY0XFx4RjZcXHhGMlxceEZCXFx4RjlcXHUwMTMwXFx4RDZcXHhEQ1xceEY4XFx4QTNcXHhEOFxcdTAxNUVcXHUwMTVGXFx4RTFcXHhFRFxceEYzXFx4RkFcXHhGMVxceEQxXFx1MDExRVxcdTAxMUZcXHhCRlxceEFFXFx4QUNcXHhCRFxceEJDXFx4QTFcXHhBQlxceEJCXFx1MjU5MVxcdTI1OTJcXHUyNTkzXFx1MjUwMlxcdTI1MjRcXHhDMVxceEMyXFx4QzBcXHhBOVxcdTI1NjNcXHUyNTUxXFx1MjU1N1xcdTI1NURcXHhBMlxceEE1XFx1MjUxMFxcdTI1MTRcXHUyNTM0XFx1MjUyQ1xcdTI1MUNcXHUyNTAwXFx1MjUzQ1xceEUzXFx4QzNcXHUyNTVBXFx1MjU1NFxcdTI1NjlcXHUyNTY2XFx1MjU2MFxcdTI1NTBcXHUyNTZDXFx4QTRcXHhCQVxceEFBXFx4Q0FcXHhDQlxceEM4XFx1RkZGRFxceENEXFx4Q0VcXHhDRlxcdTI1MThcXHUyNTBDXFx1MjU4OFxcdTI1ODRcXHhBNlxceENDXFx1MjU4MFxceEQzXFx4REZcXHhENFxceEQyXFx4RjVcXHhENVxceEI1XFx1RkZGRFxceEQ3XFx4REFcXHhEQlxceEQ5XFx4RUNcXHhGRlxceEFGXFx4QjRcXHhBRFxceEIxXFx1RkZGRFxceEJFXFx4QjZcXHhBN1xceEY3XFx4QjhcXHhCMFxceEE4XFx4QjdcXHhCOVxceEIzXFx4QjJcXHUyNUEwXFx4QTBcIlxuICAgICAgfSxcbiAgICAgIFwiaWJtODU3XCI6IFwiY3A4NTdcIixcbiAgICAgIFwiY3NpYm04NTdcIjogXCJjcDg1N1wiLFxuICAgICAgXCJjcDg1OFwiOiB7XG4gICAgICAgIFwidHlwZVwiOiBcIl9zYmNzXCIsXG4gICAgICAgIFwiY2hhcnNcIjogXCJcXHhDN1xceEZDXFx4RTlcXHhFMlxceEU0XFx4RTBcXHhFNVxceEU3XFx4RUFcXHhFQlxceEU4XFx4RUZcXHhFRVxceEVDXFx4QzRcXHhDNVxceEM5XFx4RTZcXHhDNlxceEY0XFx4RjZcXHhGMlxceEZCXFx4RjlcXHhGRlxceEQ2XFx4RENcXHhGOFxceEEzXFx4RDhcXHhEN1xcdTAxOTJcXHhFMVxceEVEXFx4RjNcXHhGQVxceEYxXFx4RDFcXHhBQVxceEJBXFx4QkZcXHhBRVxceEFDXFx4QkRcXHhCQ1xceEExXFx4QUJcXHhCQlxcdTI1OTFcXHUyNTkyXFx1MjU5M1xcdTI1MDJcXHUyNTI0XFx4QzFcXHhDMlxceEMwXFx4QTlcXHUyNTYzXFx1MjU1MVxcdTI1NTdcXHUyNTVEXFx4QTJcXHhBNVxcdTI1MTBcXHUyNTE0XFx1MjUzNFxcdTI1MkNcXHUyNTFDXFx1MjUwMFxcdTI1M0NcXHhFM1xceEMzXFx1MjU1QVxcdTI1NTRcXHUyNTY5XFx1MjU2NlxcdTI1NjBcXHUyNTUwXFx1MjU2Q1xceEE0XFx4RjBcXHhEMFxceENBXFx4Q0JcXHhDOFxcdTIwQUNcXHhDRFxceENFXFx4Q0ZcXHUyNTE4XFx1MjUwQ1xcdTI1ODhcXHUyNTg0XFx4QTZcXHhDQ1xcdTI1ODBcXHhEM1xceERGXFx4RDRcXHhEMlxceEY1XFx4RDVcXHhCNVxceEZFXFx4REVcXHhEQVxceERCXFx4RDlcXHhGRFxceEREXFx4QUZcXHhCNFxceEFEXFx4QjFcXHUyMDE3XFx4QkVcXHhCNlxceEE3XFx4RjdcXHhCOFxceEIwXFx4QThcXHhCN1xceEI5XFx4QjNcXHhCMlxcdTI1QTBcXHhBMFwiXG4gICAgICB9LFxuICAgICAgXCJpYm04NThcIjogXCJjcDg1OFwiLFxuICAgICAgXCJjc2libTg1OFwiOiBcImNwODU4XCIsXG4gICAgICBcImNwODYwXCI6IHtcbiAgICAgICAgXCJ0eXBlXCI6IFwiX3NiY3NcIixcbiAgICAgICAgXCJjaGFyc1wiOiBcIlxceEM3XFx4RkNcXHhFOVxceEUyXFx4RTNcXHhFMFxceEMxXFx4RTdcXHhFQVxceENBXFx4RThcXHhDRFxceEQ0XFx4RUNcXHhDM1xceEMyXFx4QzlcXHhDMFxceEM4XFx4RjRcXHhGNVxceEYyXFx4REFcXHhGOVxceENDXFx4RDVcXHhEQ1xceEEyXFx4QTNcXHhEOVxcdTIwQTdcXHhEM1xceEUxXFx4RURcXHhGM1xceEZBXFx4RjFcXHhEMVxceEFBXFx4QkFcXHhCRlxceEQyXFx4QUNcXHhCRFxceEJDXFx4QTFcXHhBQlxceEJCXFx1MjU5MVxcdTI1OTJcXHUyNTkzXFx1MjUwMlxcdTI1MjRcXHUyNTYxXFx1MjU2MlxcdTI1NTZcXHUyNTU1XFx1MjU2M1xcdTI1NTFcXHUyNTU3XFx1MjU1RFxcdTI1NUNcXHUyNTVCXFx1MjUxMFxcdTI1MTRcXHUyNTM0XFx1MjUyQ1xcdTI1MUNcXHUyNTAwXFx1MjUzQ1xcdTI1NUVcXHUyNTVGXFx1MjU1QVxcdTI1NTRcXHUyNTY5XFx1MjU2NlxcdTI1NjBcXHUyNTUwXFx1MjU2Q1xcdTI1NjdcXHUyNTY4XFx1MjU2NFxcdTI1NjVcXHUyNTU5XFx1MjU1OFxcdTI1NTJcXHUyNTUzXFx1MjU2QlxcdTI1NkFcXHUyNTE4XFx1MjUwQ1xcdTI1ODhcXHUyNTg0XFx1MjU4Q1xcdTI1OTBcXHUyNTgwXFx1MDNCMVxceERGXFx1MDM5M1xcdTAzQzBcXHUwM0EzXFx1MDNDM1xceEI1XFx1MDNDNFxcdTAzQTZcXHUwMzk4XFx1MDNBOVxcdTAzQjRcXHUyMjFFXFx1MDNDNlxcdTAzQjVcXHUyMjI5XFx1MjI2MVxceEIxXFx1MjI2NVxcdTIyNjRcXHUyMzIwXFx1MjMyMVxceEY3XFx1MjI0OFxceEIwXFx1MjIxOVxceEI3XFx1MjIxQVxcdTIwN0ZcXHhCMlxcdTI1QTBcXHhBMFwiXG4gICAgICB9LFxuICAgICAgXCJpYm04NjBcIjogXCJjcDg2MFwiLFxuICAgICAgXCJjc2libTg2MFwiOiBcImNwODYwXCIsXG4gICAgICBcImNwODYxXCI6IHtcbiAgICAgICAgXCJ0eXBlXCI6IFwiX3NiY3NcIixcbiAgICAgICAgXCJjaGFyc1wiOiBcIlxceEM3XFx4RkNcXHhFOVxceEUyXFx4RTRcXHhFMFxceEU1XFx4RTdcXHhFQVxceEVCXFx4RThcXHhEMFxceEYwXFx4REVcXHhDNFxceEM1XFx4QzlcXHhFNlxceEM2XFx4RjRcXHhGNlxceEZFXFx4RkJcXHhERFxceEZEXFx4RDZcXHhEQ1xceEY4XFx4QTNcXHhEOFxcdTIwQTdcXHUwMTkyXFx4RTFcXHhFRFxceEYzXFx4RkFcXHhDMVxceENEXFx4RDNcXHhEQVxceEJGXFx1MjMxMFxceEFDXFx4QkRcXHhCQ1xceEExXFx4QUJcXHhCQlxcdTI1OTFcXHUyNTkyXFx1MjU5M1xcdTI1MDJcXHUyNTI0XFx1MjU2MVxcdTI1NjJcXHUyNTU2XFx1MjU1NVxcdTI1NjNcXHUyNTUxXFx1MjU1N1xcdTI1NURcXHUyNTVDXFx1MjU1QlxcdTI1MTBcXHUyNTE0XFx1MjUzNFxcdTI1MkNcXHUyNTFDXFx1MjUwMFxcdTI1M0NcXHUyNTVFXFx1MjU1RlxcdTI1NUFcXHUyNTU0XFx1MjU2OVxcdTI1NjZcXHUyNTYwXFx1MjU1MFxcdTI1NkNcXHUyNTY3XFx1MjU2OFxcdTI1NjRcXHUyNTY1XFx1MjU1OVxcdTI1NThcXHUyNTUyXFx1MjU1M1xcdTI1NkJcXHUyNTZBXFx1MjUxOFxcdTI1MENcXHUyNTg4XFx1MjU4NFxcdTI1OENcXHUyNTkwXFx1MjU4MFxcdTAzQjFcXHhERlxcdTAzOTNcXHUwM0MwXFx1MDNBM1xcdTAzQzNcXHhCNVxcdTAzQzRcXHUwM0E2XFx1MDM5OFxcdTAzQTlcXHUwM0I0XFx1MjIxRVxcdTAzQzZcXHUwM0I1XFx1MjIyOVxcdTIyNjFcXHhCMVxcdTIyNjVcXHUyMjY0XFx1MjMyMFxcdTIzMjFcXHhGN1xcdTIyNDhcXHhCMFxcdTIyMTlcXHhCN1xcdTIyMUFcXHUyMDdGXFx4QjJcXHUyNUEwXFx4QTBcIlxuICAgICAgfSxcbiAgICAgIFwiaWJtODYxXCI6IFwiY3A4NjFcIixcbiAgICAgIFwiY3NpYm04NjFcIjogXCJjcDg2MVwiLFxuICAgICAgXCJjcDg2MlwiOiB7XG4gICAgICAgIFwidHlwZVwiOiBcIl9zYmNzXCIsXG4gICAgICAgIFwiY2hhcnNcIjogXCJcXHUwNUQwXFx1MDVEMVxcdTA1RDJcXHUwNUQzXFx1MDVENFxcdTA1RDVcXHUwNUQ2XFx1MDVEN1xcdTA1RDhcXHUwNUQ5XFx1MDVEQVxcdTA1REJcXHUwNURDXFx1MDVERFxcdTA1REVcXHUwNURGXFx1MDVFMFxcdTA1RTFcXHUwNUUyXFx1MDVFM1xcdTA1RTRcXHUwNUU1XFx1MDVFNlxcdTA1RTdcXHUwNUU4XFx1MDVFOVxcdTA1RUFcXHhBMlxceEEzXFx4QTVcXHUyMEE3XFx1MDE5MlxceEUxXFx4RURcXHhGM1xceEZBXFx4RjFcXHhEMVxceEFBXFx4QkFcXHhCRlxcdTIzMTBcXHhBQ1xceEJEXFx4QkNcXHhBMVxceEFCXFx4QkJcXHUyNTkxXFx1MjU5MlxcdTI1OTNcXHUyNTAyXFx1MjUyNFxcdTI1NjFcXHUyNTYyXFx1MjU1NlxcdTI1NTVcXHUyNTYzXFx1MjU1MVxcdTI1NTdcXHUyNTVEXFx1MjU1Q1xcdTI1NUJcXHUyNTEwXFx1MjUxNFxcdTI1MzRcXHUyNTJDXFx1MjUxQ1xcdTI1MDBcXHUyNTNDXFx1MjU1RVxcdTI1NUZcXHUyNTVBXFx1MjU1NFxcdTI1NjlcXHUyNTY2XFx1MjU2MFxcdTI1NTBcXHUyNTZDXFx1MjU2N1xcdTI1NjhcXHUyNTY0XFx1MjU2NVxcdTI1NTlcXHUyNTU4XFx1MjU1MlxcdTI1NTNcXHUyNTZCXFx1MjU2QVxcdTI1MThcXHUyNTBDXFx1MjU4OFxcdTI1ODRcXHUyNThDXFx1MjU5MFxcdTI1ODBcXHUwM0IxXFx4REZcXHUwMzkzXFx1MDNDMFxcdTAzQTNcXHUwM0MzXFx4QjVcXHUwM0M0XFx1MDNBNlxcdTAzOThcXHUwM0E5XFx1MDNCNFxcdTIyMUVcXHUwM0M2XFx1MDNCNVxcdTIyMjlcXHUyMjYxXFx4QjFcXHUyMjY1XFx1MjI2NFxcdTIzMjBcXHUyMzIxXFx4RjdcXHUyMjQ4XFx4QjBcXHUyMjE5XFx4QjdcXHUyMjFBXFx1MjA3RlxceEIyXFx1MjVBMFxceEEwXCJcbiAgICAgIH0sXG4gICAgICBcImlibTg2MlwiOiBcImNwODYyXCIsXG4gICAgICBcImNzaWJtODYyXCI6IFwiY3A4NjJcIixcbiAgICAgIFwiY3A4NjNcIjoge1xuICAgICAgICBcInR5cGVcIjogXCJfc2Jjc1wiLFxuICAgICAgICBcImNoYXJzXCI6IFwiXFx4QzdcXHhGQ1xceEU5XFx4RTJcXHhDMlxceEUwXFx4QjZcXHhFN1xceEVBXFx4RUJcXHhFOFxceEVGXFx4RUVcXHUyMDE3XFx4QzBcXHhBN1xceEM5XFx4QzhcXHhDQVxceEY0XFx4Q0JcXHhDRlxceEZCXFx4RjlcXHhBNFxceEQ0XFx4RENcXHhBMlxceEEzXFx4RDlcXHhEQlxcdTAxOTJcXHhBNlxceEI0XFx4RjNcXHhGQVxceEE4XFx4QjhcXHhCM1xceEFGXFx4Q0VcXHUyMzEwXFx4QUNcXHhCRFxceEJDXFx4QkVcXHhBQlxceEJCXFx1MjU5MVxcdTI1OTJcXHUyNTkzXFx1MjUwMlxcdTI1MjRcXHUyNTYxXFx1MjU2MlxcdTI1NTZcXHUyNTU1XFx1MjU2M1xcdTI1NTFcXHUyNTU3XFx1MjU1RFxcdTI1NUNcXHUyNTVCXFx1MjUxMFxcdTI1MTRcXHUyNTM0XFx1MjUyQ1xcdTI1MUNcXHUyNTAwXFx1MjUzQ1xcdTI1NUVcXHUyNTVGXFx1MjU1QVxcdTI1NTRcXHUyNTY5XFx1MjU2NlxcdTI1NjBcXHUyNTUwXFx1MjU2Q1xcdTI1NjdcXHUyNTY4XFx1MjU2NFxcdTI1NjVcXHUyNTU5XFx1MjU1OFxcdTI1NTJcXHUyNTUzXFx1MjU2QlxcdTI1NkFcXHUyNTE4XFx1MjUwQ1xcdTI1ODhcXHUyNTg0XFx1MjU4Q1xcdTI1OTBcXHUyNTgwXFx1MDNCMVxceERGXFx1MDM5M1xcdTAzQzBcXHUwM0EzXFx1MDNDM1xceEI1XFx1MDNDNFxcdTAzQTZcXHUwMzk4XFx1MDNBOVxcdTAzQjRcXHUyMjFFXFx1MDNDNlxcdTAzQjVcXHUyMjI5XFx1MjI2MVxceEIxXFx1MjI2NVxcdTIyNjRcXHUyMzIwXFx1MjMyMVxceEY3XFx1MjI0OFxceEIwXFx1MjIxOVxceEI3XFx1MjIxQVxcdTIwN0ZcXHhCMlxcdTI1QTBcXHhBMFwiXG4gICAgICB9LFxuICAgICAgXCJpYm04NjNcIjogXCJjcDg2M1wiLFxuICAgICAgXCJjc2libTg2M1wiOiBcImNwODYzXCIsXG4gICAgICBcImNwODY0XCI6IHtcbiAgICAgICAgXCJ0eXBlXCI6IFwiX3NiY3NcIixcbiAgICAgICAgXCJjaGFyc1wiOiBcIlxcMFx1MDAwMVx1MDAwMlx1MDAwM1x1MDAwNFx1MDAwNVx1MDAwNlxceDA3XFxiXHRcXG5cXHZcXGZcXHJcdTAwMEVcdTAwMEZcdTAwMTBcdTAwMTFcdTAwMTJcdTAwMTNcdTAwMTRcdTAwMTVcdTAwMTZcdTAwMTdcdTAwMThcdTAwMTlcdTAwMUFcXHgxQlx1MDAxQ1x1MDAxRFx1MDAxRVx1MDAxRiAhXFxcIiMkXFx1MDY2QSYnKCkqKywtLi8wMTIzNDU2Nzg5Ojs8PT4/QEFCQ0RFRkdISUpLTE1OT1BRUlNUVVZXWFlaW1xcXFxdXl9gYWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXp7fH1+XFx4N0ZcXHhCMFxceEI3XFx1MjIxOVxcdTIyMUFcXHUyNTkyXFx1MjUwMFxcdTI1MDJcXHUyNTNDXFx1MjUyNFxcdTI1MkNcXHUyNTFDXFx1MjUzNFxcdTI1MTBcXHUyNTBDXFx1MjUxNFxcdTI1MThcXHUwM0IyXFx1MjIxRVxcdTAzQzZcXHhCMVxceEJEXFx4QkNcXHUyMjQ4XFx4QUJcXHhCQlxcdUZFRjdcXHVGRUY4XFx1RkZGRFxcdUZGRkRcXHVGRUZCXFx1RkVGQ1xcdUZGRkRcXHhBMFxceEFEXFx1RkU4MlxceEEzXFx4QTRcXHVGRTg0XFx1RkZGRFxcdUZGRkRcXHVGRThFXFx1RkU4RlxcdUZFOTVcXHVGRTk5XFx1MDYwQ1xcdUZFOURcXHVGRUExXFx1RkVBNVxcdTA2NjBcXHUwNjYxXFx1MDY2MlxcdTA2NjNcXHUwNjY0XFx1MDY2NVxcdTA2NjZcXHUwNjY3XFx1MDY2OFxcdTA2NjlcXHVGRUQxXFx1MDYxQlxcdUZFQjFcXHVGRUI1XFx1RkVCOVxcdTA2MUZcXHhBMlxcdUZFODBcXHVGRTgxXFx1RkU4M1xcdUZFODVcXHVGRUNBXFx1RkU4QlxcdUZFOERcXHVGRTkxXFx1RkU5M1xcdUZFOTdcXHVGRTlCXFx1RkU5RlxcdUZFQTNcXHVGRUE3XFx1RkVBOVxcdUZFQUJcXHVGRUFEXFx1RkVBRlxcdUZFQjNcXHVGRUI3XFx1RkVCQlxcdUZFQkZcXHVGRUMxXFx1RkVDNVxcdUZFQ0JcXHVGRUNGXFx4QTZcXHhBQ1xceEY3XFx4RDdcXHVGRUM5XFx1MDY0MFxcdUZFRDNcXHVGRUQ3XFx1RkVEQlxcdUZFREZcXHVGRUUzXFx1RkVFN1xcdUZFRUJcXHVGRUVEXFx1RkVFRlxcdUZFRjNcXHVGRUJEXFx1RkVDQ1xcdUZFQ0VcXHVGRUNEXFx1RkVFMVxcdUZFN0RcXHUwNjUxXFx1RkVFNVxcdUZFRTlcXHVGRUVDXFx1RkVGMFxcdUZFRjJcXHVGRUQwXFx1RkVENVxcdUZFRjVcXHVGRUY2XFx1RkVERFxcdUZFRDlcXHVGRUYxXFx1MjVBMFxcdUZGRkRcIlxuICAgICAgfSxcbiAgICAgIFwiaWJtODY0XCI6IFwiY3A4NjRcIixcbiAgICAgIFwiY3NpYm04NjRcIjogXCJjcDg2NFwiLFxuICAgICAgXCJjcDg2NVwiOiB7XG4gICAgICAgIFwidHlwZVwiOiBcIl9zYmNzXCIsXG4gICAgICAgIFwiY2hhcnNcIjogXCJcXHhDN1xceEZDXFx4RTlcXHhFMlxceEU0XFx4RTBcXHhFNVxceEU3XFx4RUFcXHhFQlxceEU4XFx4RUZcXHhFRVxceEVDXFx4QzRcXHhDNVxceEM5XFx4RTZcXHhDNlxceEY0XFx4RjZcXHhGMlxceEZCXFx4RjlcXHhGRlxceEQ2XFx4RENcXHhGOFxceEEzXFx4RDhcXHUyMEE3XFx1MDE5MlxceEUxXFx4RURcXHhGM1xceEZBXFx4RjFcXHhEMVxceEFBXFx4QkFcXHhCRlxcdTIzMTBcXHhBQ1xceEJEXFx4QkNcXHhBMVxceEFCXFx4QTRcXHUyNTkxXFx1MjU5MlxcdTI1OTNcXHUyNTAyXFx1MjUyNFxcdTI1NjFcXHUyNTYyXFx1MjU1NlxcdTI1NTVcXHUyNTYzXFx1MjU1MVxcdTI1NTdcXHUyNTVEXFx1MjU1Q1xcdTI1NUJcXHUyNTEwXFx1MjUxNFxcdTI1MzRcXHUyNTJDXFx1MjUxQ1xcdTI1MDBcXHUyNTNDXFx1MjU1RVxcdTI1NUZcXHUyNTVBXFx1MjU1NFxcdTI1NjlcXHUyNTY2XFx1MjU2MFxcdTI1NTBcXHUyNTZDXFx1MjU2N1xcdTI1NjhcXHUyNTY0XFx1MjU2NVxcdTI1NTlcXHUyNTU4XFx1MjU1MlxcdTI1NTNcXHUyNTZCXFx1MjU2QVxcdTI1MThcXHUyNTBDXFx1MjU4OFxcdTI1ODRcXHUyNThDXFx1MjU5MFxcdTI1ODBcXHUwM0IxXFx4REZcXHUwMzkzXFx1MDNDMFxcdTAzQTNcXHUwM0MzXFx4QjVcXHUwM0M0XFx1MDNBNlxcdTAzOThcXHUwM0E5XFx1MDNCNFxcdTIyMUVcXHUwM0M2XFx1MDNCNVxcdTIyMjlcXHUyMjYxXFx4QjFcXHUyMjY1XFx1MjI2NFxcdTIzMjBcXHUyMzIxXFx4RjdcXHUyMjQ4XFx4QjBcXHUyMjE5XFx4QjdcXHUyMjFBXFx1MjA3RlxceEIyXFx1MjVBMFxceEEwXCJcbiAgICAgIH0sXG4gICAgICBcImlibTg2NVwiOiBcImNwODY1XCIsXG4gICAgICBcImNzaWJtODY1XCI6IFwiY3A4NjVcIixcbiAgICAgIFwiY3A4NjZcIjoge1xuICAgICAgICBcInR5cGVcIjogXCJfc2Jjc1wiLFxuICAgICAgICBcImNoYXJzXCI6IFwiXFx1MDQxMFxcdTA0MTFcXHUwNDEyXFx1MDQxM1xcdTA0MTRcXHUwNDE1XFx1MDQxNlxcdTA0MTdcXHUwNDE4XFx1MDQxOVxcdTA0MUFcXHUwNDFCXFx1MDQxQ1xcdTA0MURcXHUwNDFFXFx1MDQxRlxcdTA0MjBcXHUwNDIxXFx1MDQyMlxcdTA0MjNcXHUwNDI0XFx1MDQyNVxcdTA0MjZcXHUwNDI3XFx1MDQyOFxcdTA0MjlcXHUwNDJBXFx1MDQyQlxcdTA0MkNcXHUwNDJEXFx1MDQyRVxcdTA0MkZcXHUwNDMwXFx1MDQzMVxcdTA0MzJcXHUwNDMzXFx1MDQzNFxcdTA0MzVcXHUwNDM2XFx1MDQzN1xcdTA0MzhcXHUwNDM5XFx1MDQzQVxcdTA0M0JcXHUwNDNDXFx1MDQzRFxcdTA0M0VcXHUwNDNGXFx1MjU5MVxcdTI1OTJcXHUyNTkzXFx1MjUwMlxcdTI1MjRcXHUyNTYxXFx1MjU2MlxcdTI1NTZcXHUyNTU1XFx1MjU2M1xcdTI1NTFcXHUyNTU3XFx1MjU1RFxcdTI1NUNcXHUyNTVCXFx1MjUxMFxcdTI1MTRcXHUyNTM0XFx1MjUyQ1xcdTI1MUNcXHUyNTAwXFx1MjUzQ1xcdTI1NUVcXHUyNTVGXFx1MjU1QVxcdTI1NTRcXHUyNTY5XFx1MjU2NlxcdTI1NjBcXHUyNTUwXFx1MjU2Q1xcdTI1NjdcXHUyNTY4XFx1MjU2NFxcdTI1NjVcXHUyNTU5XFx1MjU1OFxcdTI1NTJcXHUyNTUzXFx1MjU2QlxcdTI1NkFcXHUyNTE4XFx1MjUwQ1xcdTI1ODhcXHUyNTg0XFx1MjU4Q1xcdTI1OTBcXHUyNTgwXFx1MDQ0MFxcdTA0NDFcXHUwNDQyXFx1MDQ0M1xcdTA0NDRcXHUwNDQ1XFx1MDQ0NlxcdTA0NDdcXHUwNDQ4XFx1MDQ0OVxcdTA0NEFcXHUwNDRCXFx1MDQ0Q1xcdTA0NERcXHUwNDRFXFx1MDQ0RlxcdTA0MDFcXHUwNDUxXFx1MDQwNFxcdTA0NTRcXHUwNDA3XFx1MDQ1N1xcdTA0MEVcXHUwNDVFXFx4QjBcXHUyMjE5XFx4QjdcXHUyMjFBXFx1MjExNlxceEE0XFx1MjVBMFxceEEwXCJcbiAgICAgIH0sXG4gICAgICBcImlibTg2NlwiOiBcImNwODY2XCIsXG4gICAgICBcImNzaWJtODY2XCI6IFwiY3A4NjZcIixcbiAgICAgIFwiY3A4NjlcIjoge1xuICAgICAgICBcInR5cGVcIjogXCJfc2Jjc1wiLFxuICAgICAgICBcImNoYXJzXCI6IFwiXFx1RkZGRFxcdUZGRkRcXHVGRkZEXFx1RkZGRFxcdUZGRkRcXHVGRkZEXFx1MDM4NlxcdUZGRkRcXHhCN1xceEFDXFx4QTZcXHUyMDE4XFx1MjAxOVxcdTAzODhcXHUyMDE1XFx1MDM4OVxcdTAzOEFcXHUwM0FBXFx1MDM4Q1xcdUZGRkRcXHVGRkZEXFx1MDM4RVxcdTAzQUJcXHhBOVxcdTAzOEZcXHhCMlxceEIzXFx1MDNBQ1xceEEzXFx1MDNBRFxcdTAzQUVcXHUwM0FGXFx1MDNDQVxcdTAzOTBcXHUwM0NDXFx1MDNDRFxcdTAzOTFcXHUwMzkyXFx1MDM5M1xcdTAzOTRcXHUwMzk1XFx1MDM5NlxcdTAzOTdcXHhCRFxcdTAzOThcXHUwMzk5XFx4QUJcXHhCQlxcdTI1OTFcXHUyNTkyXFx1MjU5M1xcdTI1MDJcXHUyNTI0XFx1MDM5QVxcdTAzOUJcXHUwMzlDXFx1MDM5RFxcdTI1NjNcXHUyNTUxXFx1MjU1N1xcdTI1NURcXHUwMzlFXFx1MDM5RlxcdTI1MTBcXHUyNTE0XFx1MjUzNFxcdTI1MkNcXHUyNTFDXFx1MjUwMFxcdTI1M0NcXHUwM0EwXFx1MDNBMVxcdTI1NUFcXHUyNTU0XFx1MjU2OVxcdTI1NjZcXHUyNTYwXFx1MjU1MFxcdTI1NkNcXHUwM0EzXFx1MDNBNFxcdTAzQTVcXHUwM0E2XFx1MDNBN1xcdTAzQThcXHUwM0E5XFx1MDNCMVxcdTAzQjJcXHUwM0IzXFx1MjUxOFxcdTI1MENcXHUyNTg4XFx1MjU4NFxcdTAzQjRcXHUwM0I1XFx1MjU4MFxcdTAzQjZcXHUwM0I3XFx1MDNCOFxcdTAzQjlcXHUwM0JBXFx1MDNCQlxcdTAzQkNcXHUwM0JEXFx1MDNCRVxcdTAzQkZcXHUwM0MwXFx1MDNDMVxcdTAzQzNcXHUwM0MyXFx1MDNDNFxcdTAzODRcXHhBRFxceEIxXFx1MDNDNVxcdTAzQzZcXHUwM0M3XFx4QTdcXHUwM0M4XFx1MDM4NVxceEIwXFx4QThcXHUwM0M5XFx1MDNDQlxcdTAzQjBcXHUwM0NFXFx1MjVBMFxceEEwXCJcbiAgICAgIH0sXG4gICAgICBcImlibTg2OVwiOiBcImNwODY5XCIsXG4gICAgICBcImNzaWJtODY5XCI6IFwiY3A4NjlcIixcbiAgICAgIFwiY3A5MjJcIjoge1xuICAgICAgICBcInR5cGVcIjogXCJfc2Jjc1wiLFxuICAgICAgICBcImNoYXJzXCI6IFwiXFx4ODBcXHg4MVxceDgyXFx4ODNcXHg4NFxceDg1XFx4ODZcXHg4N1xceDg4XFx4ODlcXHg4QVxceDhCXFx4OENcXHg4RFxceDhFXFx4OEZcXHg5MFxceDkxXFx4OTJcXHg5M1xceDk0XFx4OTVcXHg5NlxceDk3XFx4OThcXHg5OVxceDlBXFx4OUJcXHg5Q1xceDlEXFx4OUVcXHg5RlxceEEwXFx4QTFcXHhBMlxceEEzXFx4QTRcXHhBNVxceEE2XFx4QTdcXHhBOFxceEE5XFx4QUFcXHhBQlxceEFDXFx4QURcXHhBRVxcdTIwM0VcXHhCMFxceEIxXFx4QjJcXHhCM1xceEI0XFx4QjVcXHhCNlxceEI3XFx4QjhcXHhCOVxceEJBXFx4QkJcXHhCQ1xceEJEXFx4QkVcXHhCRlxceEMwXFx4QzFcXHhDMlxceEMzXFx4QzRcXHhDNVxceEM2XFx4QzdcXHhDOFxceEM5XFx4Q0FcXHhDQlxceENDXFx4Q0RcXHhDRVxceENGXFx1MDE2MFxceEQxXFx4RDJcXHhEM1xceEQ0XFx4RDVcXHhENlxceEQ3XFx4RDhcXHhEOVxceERBXFx4REJcXHhEQ1xceEREXFx1MDE3RFxceERGXFx4RTBcXHhFMVxceEUyXFx4RTNcXHhFNFxceEU1XFx4RTZcXHhFN1xceEU4XFx4RTlcXHhFQVxceEVCXFx4RUNcXHhFRFxceEVFXFx4RUZcXHUwMTYxXFx4RjFcXHhGMlxceEYzXFx4RjRcXHhGNVxceEY2XFx4RjdcXHhGOFxceEY5XFx4RkFcXHhGQlxceEZDXFx4RkRcXHUwMTdFXFx4RkZcIlxuICAgICAgfSxcbiAgICAgIFwiaWJtOTIyXCI6IFwiY3A5MjJcIixcbiAgICAgIFwiY3NpYm05MjJcIjogXCJjcDkyMlwiLFxuICAgICAgXCJjcDEwNDZcIjoge1xuICAgICAgICBcInR5cGVcIjogXCJfc2Jjc1wiLFxuICAgICAgICBcImNoYXJzXCI6IFwiXFx1RkU4OFxceEQ3XFx4RjdcXHVGOEY2XFx1RjhGNVxcdUY4RjRcXHVGOEY3XFx1RkU3MVxceDg4XFx1MjVBMFxcdTI1MDJcXHUyNTAwXFx1MjUxMFxcdTI1MENcXHUyNTE0XFx1MjUxOFxcdUZFNzlcXHVGRTdCXFx1RkU3RFxcdUZFN0ZcXHVGRTc3XFx1RkU4QVxcdUZFRjBcXHVGRUYzXFx1RkVGMlxcdUZFQ0VcXHVGRUNGXFx1RkVEMFxcdUZFRjZcXHVGRUY4XFx1RkVGQVxcdUZFRkNcXHhBMFxcdUY4RkFcXHVGOEY5XFx1RjhGOFxceEE0XFx1RjhGQlxcdUZFOEJcXHVGRTkxXFx1RkU5N1xcdUZFOUJcXHVGRTlGXFx1RkVBM1xcdTA2MENcXHhBRFxcdUZFQTdcXHVGRUIzXFx1MDY2MFxcdTA2NjFcXHUwNjYyXFx1MDY2M1xcdTA2NjRcXHUwNjY1XFx1MDY2NlxcdTA2NjdcXHUwNjY4XFx1MDY2OVxcdUZFQjdcXHUwNjFCXFx1RkVCQlxcdUZFQkZcXHVGRUNBXFx1MDYxRlxcdUZFQ0JcXHUwNjIxXFx1MDYyMlxcdTA2MjNcXHUwNjI0XFx1MDYyNVxcdTA2MjZcXHUwNjI3XFx1MDYyOFxcdTA2MjlcXHUwNjJBXFx1MDYyQlxcdTA2MkNcXHUwNjJEXFx1MDYyRVxcdTA2MkZcXHUwNjMwXFx1MDYzMVxcdTA2MzJcXHUwNjMzXFx1MDYzNFxcdTA2MzVcXHUwNjM2XFx1MDYzN1xcdUZFQzdcXHUwNjM5XFx1MDYzQVxcdUZFQ0NcXHVGRTgyXFx1RkU4NFxcdUZFOEVcXHVGRUQzXFx1MDY0MFxcdTA2NDFcXHUwNjQyXFx1MDY0M1xcdTA2NDRcXHUwNjQ1XFx1MDY0NlxcdTA2NDdcXHUwNjQ4XFx1MDY0OVxcdTA2NEFcXHUwNjRCXFx1MDY0Q1xcdTA2NERcXHUwNjRFXFx1MDY0RlxcdTA2NTBcXHUwNjUxXFx1MDY1MlxcdUZFRDdcXHVGRURCXFx1RkVERlxcdUY4RkNcXHVGRUY1XFx1RkVGN1xcdUZFRjlcXHVGRUZCXFx1RkVFM1xcdUZFRTdcXHVGRUVDXFx1RkVFOVxcdUZGRkRcIlxuICAgICAgfSxcbiAgICAgIFwiaWJtMTA0NlwiOiBcImNwMTA0NlwiLFxuICAgICAgXCJjc2libTEwNDZcIjogXCJjcDEwNDZcIixcbiAgICAgIFwiY3AxMTI0XCI6IHtcbiAgICAgICAgXCJ0eXBlXCI6IFwiX3NiY3NcIixcbiAgICAgICAgXCJjaGFyc1wiOiBcIlxceDgwXFx4ODFcXHg4MlxceDgzXFx4ODRcXHg4NVxceDg2XFx4ODdcXHg4OFxceDg5XFx4OEFcXHg4QlxceDhDXFx4OERcXHg4RVxceDhGXFx4OTBcXHg5MVxceDkyXFx4OTNcXHg5NFxceDk1XFx4OTZcXHg5N1xceDk4XFx4OTlcXHg5QVxceDlCXFx4OUNcXHg5RFxceDlFXFx4OUZcXHhBMFxcdTA0MDFcXHUwNDAyXFx1MDQ5MFxcdTA0MDRcXHUwNDA1XFx1MDQwNlxcdTA0MDdcXHUwNDA4XFx1MDQwOVxcdTA0MEFcXHUwNDBCXFx1MDQwQ1xceEFEXFx1MDQwRVxcdTA0MEZcXHUwNDEwXFx1MDQxMVxcdTA0MTJcXHUwNDEzXFx1MDQxNFxcdTA0MTVcXHUwNDE2XFx1MDQxN1xcdTA0MThcXHUwNDE5XFx1MDQxQVxcdTA0MUJcXHUwNDFDXFx1MDQxRFxcdTA0MUVcXHUwNDFGXFx1MDQyMFxcdTA0MjFcXHUwNDIyXFx1MDQyM1xcdTA0MjRcXHUwNDI1XFx1MDQyNlxcdTA0MjdcXHUwNDI4XFx1MDQyOVxcdTA0MkFcXHUwNDJCXFx1MDQyQ1xcdTA0MkRcXHUwNDJFXFx1MDQyRlxcdTA0MzBcXHUwNDMxXFx1MDQzMlxcdTA0MzNcXHUwNDM0XFx1MDQzNVxcdTA0MzZcXHUwNDM3XFx1MDQzOFxcdTA0MzlcXHUwNDNBXFx1MDQzQlxcdTA0M0NcXHUwNDNEXFx1MDQzRVxcdTA0M0ZcXHUwNDQwXFx1MDQ0MVxcdTA0NDJcXHUwNDQzXFx1MDQ0NFxcdTA0NDVcXHUwNDQ2XFx1MDQ0N1xcdTA0NDhcXHUwNDQ5XFx1MDQ0QVxcdTA0NEJcXHUwNDRDXFx1MDQ0RFxcdTA0NEVcXHUwNDRGXFx1MjExNlxcdTA0NTFcXHUwNDUyXFx1MDQ5MVxcdTA0NTRcXHUwNDU1XFx1MDQ1NlxcdTA0NTdcXHUwNDU4XFx1MDQ1OVxcdTA0NUFcXHUwNDVCXFx1MDQ1Q1xceEE3XFx1MDQ1RVxcdTA0NUZcIlxuICAgICAgfSxcbiAgICAgIFwiaWJtMTEyNFwiOiBcImNwMTEyNFwiLFxuICAgICAgXCJjc2libTExMjRcIjogXCJjcDExMjRcIixcbiAgICAgIFwiY3AxMTI1XCI6IHtcbiAgICAgICAgXCJ0eXBlXCI6IFwiX3NiY3NcIixcbiAgICAgICAgXCJjaGFyc1wiOiBcIlxcdTA0MTBcXHUwNDExXFx1MDQxMlxcdTA0MTNcXHUwNDE0XFx1MDQxNVxcdTA0MTZcXHUwNDE3XFx1MDQxOFxcdTA0MTlcXHUwNDFBXFx1MDQxQlxcdTA0MUNcXHUwNDFEXFx1MDQxRVxcdTA0MUZcXHUwNDIwXFx1MDQyMVxcdTA0MjJcXHUwNDIzXFx1MDQyNFxcdTA0MjVcXHUwNDI2XFx1MDQyN1xcdTA0MjhcXHUwNDI5XFx1MDQyQVxcdTA0MkJcXHUwNDJDXFx1MDQyRFxcdTA0MkVcXHUwNDJGXFx1MDQzMFxcdTA0MzFcXHUwNDMyXFx1MDQzM1xcdTA0MzRcXHUwNDM1XFx1MDQzNlxcdTA0MzdcXHUwNDM4XFx1MDQzOVxcdTA0M0FcXHUwNDNCXFx1MDQzQ1xcdTA0M0RcXHUwNDNFXFx1MDQzRlxcdTI1OTFcXHUyNTkyXFx1MjU5M1xcdTI1MDJcXHUyNTI0XFx1MjU2MVxcdTI1NjJcXHUyNTU2XFx1MjU1NVxcdTI1NjNcXHUyNTUxXFx1MjU1N1xcdTI1NURcXHUyNTVDXFx1MjU1QlxcdTI1MTBcXHUyNTE0XFx1MjUzNFxcdTI1MkNcXHUyNTFDXFx1MjUwMFxcdTI1M0NcXHUyNTVFXFx1MjU1RlxcdTI1NUFcXHUyNTU0XFx1MjU2OVxcdTI1NjZcXHUyNTYwXFx1MjU1MFxcdTI1NkNcXHUyNTY3XFx1MjU2OFxcdTI1NjRcXHUyNTY1XFx1MjU1OVxcdTI1NThcXHUyNTUyXFx1MjU1M1xcdTI1NkJcXHUyNTZBXFx1MjUxOFxcdTI1MENcXHUyNTg4XFx1MjU4NFxcdTI1OENcXHUyNTkwXFx1MjU4MFxcdTA0NDBcXHUwNDQxXFx1MDQ0MlxcdTA0NDNcXHUwNDQ0XFx1MDQ0NVxcdTA0NDZcXHUwNDQ3XFx1MDQ0OFxcdTA0NDlcXHUwNDRBXFx1MDQ0QlxcdTA0NENcXHUwNDREXFx1MDQ0RVxcdTA0NEZcXHUwNDAxXFx1MDQ1MVxcdTA0OTBcXHUwNDkxXFx1MDQwNFxcdTA0NTRcXHUwNDA2XFx1MDQ1NlxcdTA0MDdcXHUwNDU3XFx4QjdcXHUyMjFBXFx1MjExNlxceEE0XFx1MjVBMFxceEEwXCJcbiAgICAgIH0sXG4gICAgICBcImlibTExMjVcIjogXCJjcDExMjVcIixcbiAgICAgIFwiY3NpYm0xMTI1XCI6IFwiY3AxMTI1XCIsXG4gICAgICBcImNwMTEyOVwiOiB7XG4gICAgICAgIFwidHlwZVwiOiBcIl9zYmNzXCIsXG4gICAgICAgIFwiY2hhcnNcIjogXCJcXHg4MFxceDgxXFx4ODJcXHg4M1xceDg0XFx4ODVcXHg4NlxceDg3XFx4ODhcXHg4OVxceDhBXFx4OEJcXHg4Q1xceDhEXFx4OEVcXHg4RlxceDkwXFx4OTFcXHg5MlxceDkzXFx4OTRcXHg5NVxceDk2XFx4OTdcXHg5OFxceDk5XFx4OUFcXHg5QlxceDlDXFx4OURcXHg5RVxceDlGXFx4QTBcXHhBMVxceEEyXFx4QTNcXHhBNFxceEE1XFx4QTZcXHhBN1xcdTAxNTNcXHhBOVxceEFBXFx4QUJcXHhBQ1xceEFEXFx4QUVcXHhBRlxceEIwXFx4QjFcXHhCMlxceEIzXFx1MDE3OFxceEI1XFx4QjZcXHhCN1xcdTAxNTJcXHhCOVxceEJBXFx4QkJcXHhCQ1xceEJEXFx4QkVcXHhCRlxceEMwXFx4QzFcXHhDMlxcdTAxMDJcXHhDNFxceEM1XFx4QzZcXHhDN1xceEM4XFx4QzlcXHhDQVxceENCXFx1MDMwMFxceENEXFx4Q0VcXHhDRlxcdTAxMTBcXHhEMVxcdTAzMDlcXHhEM1xceEQ0XFx1MDFBMFxceEQ2XFx4RDdcXHhEOFxceEQ5XFx4REFcXHhEQlxceERDXFx1MDFBRlxcdTAzMDNcXHhERlxceEUwXFx4RTFcXHhFMlxcdTAxMDNcXHhFNFxceEU1XFx4RTZcXHhFN1xceEU4XFx4RTlcXHhFQVxceEVCXFx1MDMwMVxceEVEXFx4RUVcXHhFRlxcdTAxMTFcXHhGMVxcdTAzMjNcXHhGM1xceEY0XFx1MDFBMVxceEY2XFx4RjdcXHhGOFxceEY5XFx4RkFcXHhGQlxceEZDXFx1MDFCMFxcdTIwQUJcXHhGRlwiXG4gICAgICB9LFxuICAgICAgXCJpYm0xMTI5XCI6IFwiY3AxMTI5XCIsXG4gICAgICBcImNzaWJtMTEyOVwiOiBcImNwMTEyOVwiLFxuICAgICAgXCJjcDExMzNcIjoge1xuICAgICAgICBcInR5cGVcIjogXCJfc2Jjc1wiLFxuICAgICAgICBcImNoYXJzXCI6IFwiXFx4ODBcXHg4MVxceDgyXFx4ODNcXHg4NFxceDg1XFx4ODZcXHg4N1xceDg4XFx4ODlcXHg4QVxceDhCXFx4OENcXHg4RFxceDhFXFx4OEZcXHg5MFxceDkxXFx4OTJcXHg5M1xceDk0XFx4OTVcXHg5NlxceDk3XFx4OThcXHg5OVxceDlBXFx4OUJcXHg5Q1xceDlEXFx4OUVcXHg5RlxceEEwXFx1MEU4MVxcdTBFODJcXHUwRTg0XFx1MEU4N1xcdTBFODhcXHUwRUFBXFx1MEU4QVxcdTBFOERcXHUwRTk0XFx1MEU5NVxcdTBFOTZcXHUwRTk3XFx1MEU5OVxcdTBFOUFcXHUwRTlCXFx1MEU5Q1xcdTBFOURcXHUwRTlFXFx1MEU5RlxcdTBFQTFcXHUwRUEyXFx1MEVBM1xcdTBFQTVcXHUwRUE3XFx1MEVBQlxcdTBFQURcXHUwRUFFXFx1RkZGRFxcdUZGRkRcXHVGRkZEXFx1MEVBRlxcdTBFQjBcXHUwRUIyXFx1MEVCM1xcdTBFQjRcXHUwRUI1XFx1MEVCNlxcdTBFQjdcXHUwRUI4XFx1MEVCOVxcdTBFQkNcXHUwRUIxXFx1MEVCQlxcdTBFQkRcXHVGRkZEXFx1RkZGRFxcdUZGRkRcXHUwRUMwXFx1MEVDMVxcdTBFQzJcXHUwRUMzXFx1MEVDNFxcdTBFQzhcXHUwRUM5XFx1MEVDQVxcdTBFQ0JcXHUwRUNDXFx1MEVDRFxcdTBFQzZcXHVGRkZEXFx1MEVEQ1xcdTBFRERcXHUyMEFEXFx1RkZGRFxcdUZGRkRcXHVGRkZEXFx1RkZGRFxcdUZGRkRcXHVGRkZEXFx1RkZGRFxcdUZGRkRcXHVGRkZEXFx1RkZGRFxcdUZGRkRcXHVGRkZEXFx1RkZGRFxcdUZGRkRcXHVGRkZEXFx1RkZGRFxcdTBFRDBcXHUwRUQxXFx1MEVEMlxcdTBFRDNcXHUwRUQ0XFx1MEVENVxcdTBFRDZcXHUwRUQ3XFx1MEVEOFxcdTBFRDlcXHVGRkZEXFx1RkZGRFxceEEyXFx4QUNcXHhBNlxcdUZGRkRcIlxuICAgICAgfSxcbiAgICAgIFwiaWJtMTEzM1wiOiBcImNwMTEzM1wiLFxuICAgICAgXCJjc2libTExMzNcIjogXCJjcDExMzNcIixcbiAgICAgIFwiY3AxMTYxXCI6IHtcbiAgICAgICAgXCJ0eXBlXCI6IFwiX3NiY3NcIixcbiAgICAgICAgXCJjaGFyc1wiOiBcIlxcdUZGRkRcXHVGRkZEXFx1RkZGRFxcdUZGRkRcXHVGRkZEXFx1RkZGRFxcdUZGRkRcXHVGRkZEXFx1RkZGRFxcdUZGRkRcXHVGRkZEXFx1RkZGRFxcdUZGRkRcXHVGRkZEXFx1RkZGRFxcdUZGRkRcXHVGRkZEXFx1RkZGRFxcdUZGRkRcXHVGRkZEXFx1RkZGRFxcdUZGRkRcXHVGRkZEXFx1RkZGRFxcdUZGRkRcXHVGRkZEXFx1RkZGRFxcdUZGRkRcXHVGRkZEXFx1RkZGRFxcdUZGRkRcXHVGRkZEXFx1MEU0OFxcdTBFMDFcXHUwRTAyXFx1MEUwM1xcdTBFMDRcXHUwRTA1XFx1MEUwNlxcdTBFMDdcXHUwRTA4XFx1MEUwOVxcdTBFMEFcXHUwRTBCXFx1MEUwQ1xcdTBFMERcXHUwRTBFXFx1MEUwRlxcdTBFMTBcXHUwRTExXFx1MEUxMlxcdTBFMTNcXHUwRTE0XFx1MEUxNVxcdTBFMTZcXHUwRTE3XFx1MEUxOFxcdTBFMTlcXHUwRTFBXFx1MEUxQlxcdTBFMUNcXHUwRTFEXFx1MEUxRVxcdTBFMUZcXHUwRTIwXFx1MEUyMVxcdTBFMjJcXHUwRTIzXFx1MEUyNFxcdTBFMjVcXHUwRTI2XFx1MEUyN1xcdTBFMjhcXHUwRTI5XFx1MEUyQVxcdTBFMkJcXHUwRTJDXFx1MEUyRFxcdTBFMkVcXHUwRTJGXFx1MEUzMFxcdTBFMzFcXHUwRTMyXFx1MEUzM1xcdTBFMzRcXHUwRTM1XFx1MEUzNlxcdTBFMzdcXHUwRTM4XFx1MEUzOVxcdTBFM0FcXHUwRTQ5XFx1MEU0QVxcdTBFNEJcXHUyMEFDXFx1MEUzRlxcdTBFNDBcXHUwRTQxXFx1MEU0MlxcdTBFNDNcXHUwRTQ0XFx1MEU0NVxcdTBFNDZcXHUwRTQ3XFx1MEU0OFxcdTBFNDlcXHUwRTRBXFx1MEU0QlxcdTBFNENcXHUwRTREXFx1MEU0RVxcdTBFNEZcXHUwRTUwXFx1MEU1MVxcdTBFNTJcXHUwRTUzXFx1MEU1NFxcdTBFNTVcXHUwRTU2XFx1MEU1N1xcdTBFNThcXHUwRTU5XFx1MEU1QVxcdTBFNUJcXHhBMlxceEFDXFx4QTZcXHhBMFwiXG4gICAgICB9LFxuICAgICAgXCJpYm0xMTYxXCI6IFwiY3AxMTYxXCIsXG4gICAgICBcImNzaWJtMTE2MVwiOiBcImNwMTE2MVwiLFxuICAgICAgXCJjcDExNjJcIjoge1xuICAgICAgICBcInR5cGVcIjogXCJfc2Jjc1wiLFxuICAgICAgICBcImNoYXJzXCI6IFwiXFx1MjBBQ1xceDgxXFx4ODJcXHg4M1xceDg0XFx1MjAyNlxceDg2XFx4ODdcXHg4OFxceDg5XFx4OEFcXHg4QlxceDhDXFx4OERcXHg4RVxceDhGXFx4OTBcXHUyMDE4XFx1MjAxOVxcdTIwMUNcXHUyMDFEXFx1MjAyMlxcdTIwMTNcXHUyMDE0XFx4OThcXHg5OVxceDlBXFx4OUJcXHg5Q1xceDlEXFx4OUVcXHg5RlxceEEwXFx1MEUwMVxcdTBFMDJcXHUwRTAzXFx1MEUwNFxcdTBFMDVcXHUwRTA2XFx1MEUwN1xcdTBFMDhcXHUwRTA5XFx1MEUwQVxcdTBFMEJcXHUwRTBDXFx1MEUwRFxcdTBFMEVcXHUwRTBGXFx1MEUxMFxcdTBFMTFcXHUwRTEyXFx1MEUxM1xcdTBFMTRcXHUwRTE1XFx1MEUxNlxcdTBFMTdcXHUwRTE4XFx1MEUxOVxcdTBFMUFcXHUwRTFCXFx1MEUxQ1xcdTBFMURcXHUwRTFFXFx1MEUxRlxcdTBFMjBcXHUwRTIxXFx1MEUyMlxcdTBFMjNcXHUwRTI0XFx1MEUyNVxcdTBFMjZcXHUwRTI3XFx1MEUyOFxcdTBFMjlcXHUwRTJBXFx1MEUyQlxcdTBFMkNcXHUwRTJEXFx1MEUyRVxcdTBFMkZcXHUwRTMwXFx1MEUzMVxcdTBFMzJcXHUwRTMzXFx1MEUzNFxcdTBFMzVcXHUwRTM2XFx1MEUzN1xcdTBFMzhcXHUwRTM5XFx1MEUzQVxcdUZGRkRcXHVGRkZEXFx1RkZGRFxcdUZGRkRcXHUwRTNGXFx1MEU0MFxcdTBFNDFcXHUwRTQyXFx1MEU0M1xcdTBFNDRcXHUwRTQ1XFx1MEU0NlxcdTBFNDdcXHUwRTQ4XFx1MEU0OVxcdTBFNEFcXHUwRTRCXFx1MEU0Q1xcdTBFNERcXHUwRTRFXFx1MEU0RlxcdTBFNTBcXHUwRTUxXFx1MEU1MlxcdTBFNTNcXHUwRTU0XFx1MEU1NVxcdTBFNTZcXHUwRTU3XFx1MEU1OFxcdTBFNTlcXHUwRTVBXFx1MEU1QlxcdUZGRkRcXHVGRkZEXFx1RkZGRFxcdUZGRkRcIlxuICAgICAgfSxcbiAgICAgIFwiaWJtMTE2MlwiOiBcImNwMTE2MlwiLFxuICAgICAgXCJjc2libTExNjJcIjogXCJjcDExNjJcIixcbiAgICAgIFwiY3AxMTYzXCI6IHtcbiAgICAgICAgXCJ0eXBlXCI6IFwiX3NiY3NcIixcbiAgICAgICAgXCJjaGFyc1wiOiBcIlxceDgwXFx4ODFcXHg4MlxceDgzXFx4ODRcXHg4NVxceDg2XFx4ODdcXHg4OFxceDg5XFx4OEFcXHg4QlxceDhDXFx4OERcXHg4RVxceDhGXFx4OTBcXHg5MVxceDkyXFx4OTNcXHg5NFxceDk1XFx4OTZcXHg5N1xceDk4XFx4OTlcXHg5QVxceDlCXFx4OUNcXHg5RFxceDlFXFx4OUZcXHhBMFxceEExXFx4QTJcXHhBM1xcdTIwQUNcXHhBNVxceEE2XFx4QTdcXHUwMTUzXFx4QTlcXHhBQVxceEFCXFx4QUNcXHhBRFxceEFFXFx4QUZcXHhCMFxceEIxXFx4QjJcXHhCM1xcdTAxNzhcXHhCNVxceEI2XFx4QjdcXHUwMTUyXFx4QjlcXHhCQVxceEJCXFx4QkNcXHhCRFxceEJFXFx4QkZcXHhDMFxceEMxXFx4QzJcXHUwMTAyXFx4QzRcXHhDNVxceEM2XFx4QzdcXHhDOFxceEM5XFx4Q0FcXHhDQlxcdTAzMDBcXHhDRFxceENFXFx4Q0ZcXHUwMTEwXFx4RDFcXHUwMzA5XFx4RDNcXHhENFxcdTAxQTBcXHhENlxceEQ3XFx4RDhcXHhEOVxceERBXFx4REJcXHhEQ1xcdTAxQUZcXHUwMzAzXFx4REZcXHhFMFxceEUxXFx4RTJcXHUwMTAzXFx4RTRcXHhFNVxceEU2XFx4RTdcXHhFOFxceEU5XFx4RUFcXHhFQlxcdTAzMDFcXHhFRFxceEVFXFx4RUZcXHUwMTExXFx4RjFcXHUwMzIzXFx4RjNcXHhGNFxcdTAxQTFcXHhGNlxceEY3XFx4RjhcXHhGOVxceEZBXFx4RkJcXHhGQ1xcdTAxQjBcXHUyMEFCXFx4RkZcIlxuICAgICAgfSxcbiAgICAgIFwiaWJtMTE2M1wiOiBcImNwMTE2M1wiLFxuICAgICAgXCJjc2libTExNjNcIjogXCJjcDExNjNcIixcbiAgICAgIFwibWFjY3JvYXRpYW5cIjoge1xuICAgICAgICBcInR5cGVcIjogXCJfc2Jjc1wiLFxuICAgICAgICBcImNoYXJzXCI6IFwiXFx4QzRcXHhDNVxceEM3XFx4QzlcXHhEMVxceEQ2XFx4RENcXHhFMVxceEUwXFx4RTJcXHhFNFxceEUzXFx4RTVcXHhFN1xceEU5XFx4RThcXHhFQVxceEVCXFx4RURcXHhFQ1xceEVFXFx4RUZcXHhGMVxceEYzXFx4RjJcXHhGNFxceEY2XFx4RjVcXHhGQVxceEY5XFx4RkJcXHhGQ1xcdTIwMjBcXHhCMFxceEEyXFx4QTNcXHhBN1xcdTIwMjJcXHhCNlxceERGXFx4QUVcXHUwMTYwXFx1MjEyMlxceEI0XFx4QThcXHUyMjYwXFx1MDE3RFxceEQ4XFx1MjIxRVxceEIxXFx1MjI2NFxcdTIyNjVcXHUyMjA2XFx4QjVcXHUyMjAyXFx1MjIxMVxcdTIyMEZcXHUwMTYxXFx1MjIyQlxceEFBXFx4QkFcXHUyMTI2XFx1MDE3RVxceEY4XFx4QkZcXHhBMVxceEFDXFx1MjIxQVxcdTAxOTJcXHUyMjQ4XFx1MDEwNlxceEFCXFx1MDEwQ1xcdTIwMjZcXHhBMFxceEMwXFx4QzNcXHhENVxcdTAxNTJcXHUwMTUzXFx1MDExMFxcdTIwMTRcXHUyMDFDXFx1MjAxRFxcdTIwMThcXHUyMDE5XFx4RjdcXHUyNUNBXFx1RkZGRFxceEE5XFx1MjA0NFxceEE0XFx1MjAzOVxcdTIwM0FcXHhDNlxceEJCXFx1MjAxM1xceEI3XFx1MjAxQVxcdTIwMUVcXHUyMDMwXFx4QzJcXHUwMTA3XFx4QzFcXHUwMTBEXFx4QzhcXHhDRFxceENFXFx4Q0ZcXHhDQ1xceEQzXFx4RDRcXHUwMTExXFx4RDJcXHhEQVxceERCXFx4RDlcXHUwMTMxXFx1MDJDNlxcdTAyRENcXHhBRlxcdTAzQzBcXHhDQlxcdTAyREFcXHhCOFxceENBXFx4RTZcXHUwMkM3XCJcbiAgICAgIH0sXG4gICAgICBcIm1hY2N5cmlsbGljXCI6IHtcbiAgICAgICAgXCJ0eXBlXCI6IFwiX3NiY3NcIixcbiAgICAgICAgXCJjaGFyc1wiOiBcIlxcdTA0MTBcXHUwNDExXFx1MDQxMlxcdTA0MTNcXHUwNDE0XFx1MDQxNVxcdTA0MTZcXHUwNDE3XFx1MDQxOFxcdTA0MTlcXHUwNDFBXFx1MDQxQlxcdTA0MUNcXHUwNDFEXFx1MDQxRVxcdTA0MUZcXHUwNDIwXFx1MDQyMVxcdTA0MjJcXHUwNDIzXFx1MDQyNFxcdTA0MjVcXHUwNDI2XFx1MDQyN1xcdTA0MjhcXHUwNDI5XFx1MDQyQVxcdTA0MkJcXHUwNDJDXFx1MDQyRFxcdTA0MkVcXHUwNDJGXFx1MjAyMFxceEIwXFx4QTJcXHhBM1xceEE3XFx1MjAyMlxceEI2XFx1MDQwNlxceEFFXFx4QTlcXHUyMTIyXFx1MDQwMlxcdTA0NTJcXHUyMjYwXFx1MDQwM1xcdTA0NTNcXHUyMjFFXFx4QjFcXHUyMjY0XFx1MjI2NVxcdTA0NTZcXHhCNVxcdTIyMDJcXHUwNDA4XFx1MDQwNFxcdTA0NTRcXHUwNDA3XFx1MDQ1N1xcdTA0MDlcXHUwNDU5XFx1MDQwQVxcdTA0NUFcXHUwNDU4XFx1MDQwNVxceEFDXFx1MjIxQVxcdTAxOTJcXHUyMjQ4XFx1MjIwNlxceEFCXFx4QkJcXHUyMDI2XFx4QTBcXHUwNDBCXFx1MDQ1QlxcdTA0MENcXHUwNDVDXFx1MDQ1NVxcdTIwMTNcXHUyMDE0XFx1MjAxQ1xcdTIwMURcXHUyMDE4XFx1MjAxOVxceEY3XFx1MjAxRVxcdTA0MEVcXHUwNDVFXFx1MDQwRlxcdTA0NUZcXHUyMTE2XFx1MDQwMVxcdTA0NTFcXHUwNDRGXFx1MDQzMFxcdTA0MzFcXHUwNDMyXFx1MDQzM1xcdTA0MzRcXHUwNDM1XFx1MDQzNlxcdTA0MzdcXHUwNDM4XFx1MDQzOVxcdTA0M0FcXHUwNDNCXFx1MDQzQ1xcdTA0M0RcXHUwNDNFXFx1MDQzRlxcdTA0NDBcXHUwNDQxXFx1MDQ0MlxcdTA0NDNcXHUwNDQ0XFx1MDQ0NVxcdTA0NDZcXHUwNDQ3XFx1MDQ0OFxcdTA0NDlcXHUwNDRBXFx1MDQ0QlxcdTA0NENcXHUwNDREXFx1MDQ0RVxceEE0XCJcbiAgICAgIH0sXG4gICAgICBcIm1hY2dyZWVrXCI6IHtcbiAgICAgICAgXCJ0eXBlXCI6IFwiX3NiY3NcIixcbiAgICAgICAgXCJjaGFyc1wiOiBcIlxceEM0XFx4QjlcXHhCMlxceEM5XFx4QjNcXHhENlxceERDXFx1MDM4NVxceEUwXFx4RTJcXHhFNFxcdTAzODRcXHhBOFxceEU3XFx4RTlcXHhFOFxceEVBXFx4RUJcXHhBM1xcdTIxMjJcXHhFRVxceEVGXFx1MjAyMlxceEJEXFx1MjAzMFxceEY0XFx4RjZcXHhBNlxceEFEXFx4RjlcXHhGQlxceEZDXFx1MjAyMFxcdTAzOTNcXHUwMzk0XFx1MDM5OFxcdTAzOUJcXHUwMzlFXFx1MDNBMFxceERGXFx4QUVcXHhBOVxcdTAzQTNcXHUwM0FBXFx4QTdcXHUyMjYwXFx4QjBcXHUwMzg3XFx1MDM5MVxceEIxXFx1MjI2NFxcdTIyNjVcXHhBNVxcdTAzOTJcXHUwMzk1XFx1MDM5NlxcdTAzOTdcXHUwMzk5XFx1MDM5QVxcdTAzOUNcXHUwM0E2XFx1MDNBQlxcdTAzQThcXHUwM0E5XFx1MDNBQ1xcdTAzOURcXHhBQ1xcdTAzOUZcXHUwM0ExXFx1MjI0OFxcdTAzQTRcXHhBQlxceEJCXFx1MjAyNlxceEEwXFx1MDNBNVxcdTAzQTdcXHUwMzg2XFx1MDM4OFxcdTAxNTNcXHUyMDEzXFx1MjAxNVxcdTIwMUNcXHUyMDFEXFx1MjAxOFxcdTIwMTlcXHhGN1xcdTAzODlcXHUwMzhBXFx1MDM4Q1xcdTAzOEVcXHUwM0FEXFx1MDNBRVxcdTAzQUZcXHUwM0NDXFx1MDM4RlxcdTAzQ0RcXHUwM0IxXFx1MDNCMlxcdTAzQzhcXHUwM0I0XFx1MDNCNVxcdTAzQzZcXHUwM0IzXFx1MDNCN1xcdTAzQjlcXHUwM0JFXFx1MDNCQVxcdTAzQkJcXHUwM0JDXFx1MDNCRFxcdTAzQkZcXHUwM0MwXFx1MDNDRVxcdTAzQzFcXHUwM0MzXFx1MDNDNFxcdTAzQjhcXHUwM0M5XFx1MDNDMlxcdTAzQzdcXHUwM0M1XFx1MDNCNlxcdTAzQ0FcXHUwM0NCXFx1MDM5MFxcdTAzQjBcXHVGRkZEXCJcbiAgICAgIH0sXG4gICAgICBcIm1hY2ljZWxhbmRcIjoge1xuICAgICAgICBcInR5cGVcIjogXCJfc2Jjc1wiLFxuICAgICAgICBcImNoYXJzXCI6IFwiXFx4QzRcXHhDNVxceEM3XFx4QzlcXHhEMVxceEQ2XFx4RENcXHhFMVxceEUwXFx4RTJcXHhFNFxceEUzXFx4RTVcXHhFN1xceEU5XFx4RThcXHhFQVxceEVCXFx4RURcXHhFQ1xceEVFXFx4RUZcXHhGMVxceEYzXFx4RjJcXHhGNFxceEY2XFx4RjVcXHhGQVxceEY5XFx4RkJcXHhGQ1xceEREXFx4QjBcXHhBMlxceEEzXFx4QTdcXHUyMDIyXFx4QjZcXHhERlxceEFFXFx4QTlcXHUyMTIyXFx4QjRcXHhBOFxcdTIyNjBcXHhDNlxceEQ4XFx1MjIxRVxceEIxXFx1MjI2NFxcdTIyNjVcXHhBNVxceEI1XFx1MjIwMlxcdTIyMTFcXHUyMjBGXFx1MDNDMFxcdTIyMkJcXHhBQVxceEJBXFx1MjEyNlxceEU2XFx4RjhcXHhCRlxceEExXFx4QUNcXHUyMjFBXFx1MDE5MlxcdTIyNDhcXHUyMjA2XFx4QUJcXHhCQlxcdTIwMjZcXHhBMFxceEMwXFx4QzNcXHhENVxcdTAxNTJcXHUwMTUzXFx1MjAxM1xcdTIwMTRcXHUyMDFDXFx1MjAxRFxcdTIwMThcXHUyMDE5XFx4RjdcXHUyNUNBXFx4RkZcXHUwMTc4XFx1MjA0NFxceEE0XFx4RDBcXHhGMFxceERFXFx4RkVcXHhGRFxceEI3XFx1MjAxQVxcdTIwMUVcXHUyMDMwXFx4QzJcXHhDQVxceEMxXFx4Q0JcXHhDOFxceENEXFx4Q0VcXHhDRlxceENDXFx4RDNcXHhENFxcdUZGRkRcXHhEMlxceERBXFx4REJcXHhEOVxcdTAxMzFcXHUwMkM2XFx1MDJEQ1xceEFGXFx1MDJEOFxcdTAyRDlcXHUwMkRBXFx4QjhcXHUwMkREXFx1MDJEQlxcdTAyQzdcIlxuICAgICAgfSxcbiAgICAgIFwibWFjcm9tYW5cIjoge1xuICAgICAgICBcInR5cGVcIjogXCJfc2Jjc1wiLFxuICAgICAgICBcImNoYXJzXCI6IFwiXFx4QzRcXHhDNVxceEM3XFx4QzlcXHhEMVxceEQ2XFx4RENcXHhFMVxceEUwXFx4RTJcXHhFNFxceEUzXFx4RTVcXHhFN1xceEU5XFx4RThcXHhFQVxceEVCXFx4RURcXHhFQ1xceEVFXFx4RUZcXHhGMVxceEYzXFx4RjJcXHhGNFxceEY2XFx4RjVcXHhGQVxceEY5XFx4RkJcXHhGQ1xcdTIwMjBcXHhCMFxceEEyXFx4QTNcXHhBN1xcdTIwMjJcXHhCNlxceERGXFx4QUVcXHhBOVxcdTIxMjJcXHhCNFxceEE4XFx1MjI2MFxceEM2XFx4RDhcXHUyMjFFXFx4QjFcXHUyMjY0XFx1MjI2NVxceEE1XFx4QjVcXHUyMjAyXFx1MjIxMVxcdTIyMEZcXHUwM0MwXFx1MjIyQlxceEFBXFx4QkFcXHUyMTI2XFx4RTZcXHhGOFxceEJGXFx4QTFcXHhBQ1xcdTIyMUFcXHUwMTkyXFx1MjI0OFxcdTIyMDZcXHhBQlxceEJCXFx1MjAyNlxceEEwXFx4QzBcXHhDM1xceEQ1XFx1MDE1MlxcdTAxNTNcXHUyMDEzXFx1MjAxNFxcdTIwMUNcXHUyMDFEXFx1MjAxOFxcdTIwMTlcXHhGN1xcdTI1Q0FcXHhGRlxcdTAxNzhcXHUyMDQ0XFx4QTRcXHUyMDM5XFx1MjAzQVxcdUZCMDFcXHVGQjAyXFx1MjAyMVxceEI3XFx1MjAxQVxcdTIwMUVcXHUyMDMwXFx4QzJcXHhDQVxceEMxXFx4Q0JcXHhDOFxceENEXFx4Q0VcXHhDRlxceENDXFx4RDNcXHhENFxcdUZGRkRcXHhEMlxceERBXFx4REJcXHhEOVxcdTAxMzFcXHUwMkM2XFx1MDJEQ1xceEFGXFx1MDJEOFxcdTAyRDlcXHUwMkRBXFx4QjhcXHUwMkREXFx1MDJEQlxcdTAyQzdcIlxuICAgICAgfSxcbiAgICAgIFwibWFjcm9tYW5pYVwiOiB7XG4gICAgICAgIFwidHlwZVwiOiBcIl9zYmNzXCIsXG4gICAgICAgIFwiY2hhcnNcIjogXCJcXHhDNFxceEM1XFx4QzdcXHhDOVxceEQxXFx4RDZcXHhEQ1xceEUxXFx4RTBcXHhFMlxceEU0XFx4RTNcXHhFNVxceEU3XFx4RTlcXHhFOFxceEVBXFx4RUJcXHhFRFxceEVDXFx4RUVcXHhFRlxceEYxXFx4RjNcXHhGMlxceEY0XFx4RjZcXHhGNVxceEZBXFx4RjlcXHhGQlxceEZDXFx1MjAyMFxceEIwXFx4QTJcXHhBM1xceEE3XFx1MjAyMlxceEI2XFx4REZcXHhBRVxceEE5XFx1MjEyMlxceEI0XFx4QThcXHUyMjYwXFx1MDEwMlxcdTAxNUVcXHUyMjFFXFx4QjFcXHUyMjY0XFx1MjI2NVxceEE1XFx4QjVcXHUyMjAyXFx1MjIxMVxcdTIyMEZcXHUwM0MwXFx1MjIyQlxceEFBXFx4QkFcXHUyMTI2XFx1MDEwM1xcdTAxNUZcXHhCRlxceEExXFx4QUNcXHUyMjFBXFx1MDE5MlxcdTIyNDhcXHUyMjA2XFx4QUJcXHhCQlxcdTIwMjZcXHhBMFxceEMwXFx4QzNcXHhENVxcdTAxNTJcXHUwMTUzXFx1MjAxM1xcdTIwMTRcXHUyMDFDXFx1MjAxRFxcdTIwMThcXHUyMDE5XFx4RjdcXHUyNUNBXFx4RkZcXHUwMTc4XFx1MjA0NFxceEE0XFx1MjAzOVxcdTIwM0FcXHUwMTYyXFx1MDE2M1xcdTIwMjFcXHhCN1xcdTIwMUFcXHUyMDFFXFx1MjAzMFxceEMyXFx4Q0FcXHhDMVxceENCXFx4QzhcXHhDRFxceENFXFx4Q0ZcXHhDQ1xceEQzXFx4RDRcXHVGRkZEXFx4RDJcXHhEQVxceERCXFx4RDlcXHUwMTMxXFx1MDJDNlxcdTAyRENcXHhBRlxcdTAyRDhcXHUwMkQ5XFx1MDJEQVxceEI4XFx1MDJERFxcdTAyREJcXHUwMkM3XCJcbiAgICAgIH0sXG4gICAgICBcIm1hY3RoYWlcIjoge1xuICAgICAgICBcInR5cGVcIjogXCJfc2Jjc1wiLFxuICAgICAgICBcImNoYXJzXCI6IFwiXFx4QUJcXHhCQlxcdTIwMjZcXHVGODhDXFx1Rjg4RlxcdUY4OTJcXHVGODk1XFx1Rjg5OFxcdUY4OEJcXHVGODhFXFx1Rjg5MVxcdUY4OTRcXHVGODk3XFx1MjAxQ1xcdTIwMURcXHVGODk5XFx1RkZGRFxcdTIwMjJcXHVGODg0XFx1Rjg4OVxcdUY4ODVcXHVGODg2XFx1Rjg4N1xcdUY4ODhcXHVGODhBXFx1Rjg4RFxcdUY4OTBcXHVGODkzXFx1Rjg5NlxcdTIwMThcXHUyMDE5XFx1RkZGRFxceEEwXFx1MEUwMVxcdTBFMDJcXHUwRTAzXFx1MEUwNFxcdTBFMDVcXHUwRTA2XFx1MEUwN1xcdTBFMDhcXHUwRTA5XFx1MEUwQVxcdTBFMEJcXHUwRTBDXFx1MEUwRFxcdTBFMEVcXHUwRTBGXFx1MEUxMFxcdTBFMTFcXHUwRTEyXFx1MEUxM1xcdTBFMTRcXHUwRTE1XFx1MEUxNlxcdTBFMTdcXHUwRTE4XFx1MEUxOVxcdTBFMUFcXHUwRTFCXFx1MEUxQ1xcdTBFMURcXHUwRTFFXFx1MEUxRlxcdTBFMjBcXHUwRTIxXFx1MEUyMlxcdTBFMjNcXHUwRTI0XFx1MEUyNVxcdTBFMjZcXHUwRTI3XFx1MEUyOFxcdTBFMjlcXHUwRTJBXFx1MEUyQlxcdTBFMkNcXHUwRTJEXFx1MEUyRVxcdTBFMkZcXHUwRTMwXFx1MEUzMVxcdTBFMzJcXHUwRTMzXFx1MEUzNFxcdTBFMzVcXHUwRTM2XFx1MEUzN1xcdTBFMzhcXHUwRTM5XFx1MEUzQVxcdUZFRkZcXHUyMDBCXFx1MjAxM1xcdTIwMTRcXHUwRTNGXFx1MEU0MFxcdTBFNDFcXHUwRTQyXFx1MEU0M1xcdTBFNDRcXHUwRTQ1XFx1MEU0NlxcdTBFNDdcXHUwRTQ4XFx1MEU0OVxcdTBFNEFcXHUwRTRCXFx1MEU0Q1xcdTBFNERcXHUyMTIyXFx1MEU0RlxcdTBFNTBcXHUwRTUxXFx1MEU1MlxcdTBFNTNcXHUwRTU0XFx1MEU1NVxcdTBFNTZcXHUwRTU3XFx1MEU1OFxcdTBFNTlcXHhBRVxceEE5XFx1RkZGRFxcdUZGRkRcXHVGRkZEXFx1RkZGRFwiXG4gICAgICB9LFxuICAgICAgXCJtYWN0dXJraXNoXCI6IHtcbiAgICAgICAgXCJ0eXBlXCI6IFwiX3NiY3NcIixcbiAgICAgICAgXCJjaGFyc1wiOiBcIlxceEM0XFx4QzVcXHhDN1xceEM5XFx4RDFcXHhENlxceERDXFx4RTFcXHhFMFxceEUyXFx4RTRcXHhFM1xceEU1XFx4RTdcXHhFOVxceEU4XFx4RUFcXHhFQlxceEVEXFx4RUNcXHhFRVxceEVGXFx4RjFcXHhGM1xceEYyXFx4RjRcXHhGNlxceEY1XFx4RkFcXHhGOVxceEZCXFx4RkNcXHUyMDIwXFx4QjBcXHhBMlxceEEzXFx4QTdcXHUyMDIyXFx4QjZcXHhERlxceEFFXFx4QTlcXHUyMTIyXFx4QjRcXHhBOFxcdTIyNjBcXHhDNlxceEQ4XFx1MjIxRVxceEIxXFx1MjI2NFxcdTIyNjVcXHhBNVxceEI1XFx1MjIwMlxcdTIyMTFcXHUyMjBGXFx1MDNDMFxcdTIyMkJcXHhBQVxceEJBXFx1MjEyNlxceEU2XFx4RjhcXHhCRlxceEExXFx4QUNcXHUyMjFBXFx1MDE5MlxcdTIyNDhcXHUyMjA2XFx4QUJcXHhCQlxcdTIwMjZcXHhBMFxceEMwXFx4QzNcXHhENVxcdTAxNTJcXHUwMTUzXFx1MjAxM1xcdTIwMTRcXHUyMDFDXFx1MjAxRFxcdTIwMThcXHUyMDE5XFx4RjdcXHUyNUNBXFx4RkZcXHUwMTc4XFx1MDExRVxcdTAxMUZcXHUwMTMwXFx1MDEzMVxcdTAxNUVcXHUwMTVGXFx1MjAyMVxceEI3XFx1MjAxQVxcdTIwMUVcXHUyMDMwXFx4QzJcXHhDQVxceEMxXFx4Q0JcXHhDOFxceENEXFx4Q0VcXHhDRlxceENDXFx4RDNcXHhENFxcdUZGRkRcXHhEMlxceERBXFx4REJcXHhEOVxcdUZGRkRcXHUwMkM2XFx1MDJEQ1xceEFGXFx1MDJEOFxcdTAyRDlcXHUwMkRBXFx4QjhcXHUwMkREXFx1MDJEQlxcdTAyQzdcIlxuICAgICAgfSxcbiAgICAgIFwibWFjdWtyYWluZVwiOiB7XG4gICAgICAgIFwidHlwZVwiOiBcIl9zYmNzXCIsXG4gICAgICAgIFwiY2hhcnNcIjogXCJcXHUwNDEwXFx1MDQxMVxcdTA0MTJcXHUwNDEzXFx1MDQxNFxcdTA0MTVcXHUwNDE2XFx1MDQxN1xcdTA0MThcXHUwNDE5XFx1MDQxQVxcdTA0MUJcXHUwNDFDXFx1MDQxRFxcdTA0MUVcXHUwNDFGXFx1MDQyMFxcdTA0MjFcXHUwNDIyXFx1MDQyM1xcdTA0MjRcXHUwNDI1XFx1MDQyNlxcdTA0MjdcXHUwNDI4XFx1MDQyOVxcdTA0MkFcXHUwNDJCXFx1MDQyQ1xcdTA0MkRcXHUwNDJFXFx1MDQyRlxcdTIwMjBcXHhCMFxcdTA0OTBcXHhBM1xceEE3XFx1MjAyMlxceEI2XFx1MDQwNlxceEFFXFx4QTlcXHUyMTIyXFx1MDQwMlxcdTA0NTJcXHUyMjYwXFx1MDQwM1xcdTA0NTNcXHUyMjFFXFx4QjFcXHUyMjY0XFx1MjI2NVxcdTA0NTZcXHhCNVxcdTA0OTFcXHUwNDA4XFx1MDQwNFxcdTA0NTRcXHUwNDA3XFx1MDQ1N1xcdTA0MDlcXHUwNDU5XFx1MDQwQVxcdTA0NUFcXHUwNDU4XFx1MDQwNVxceEFDXFx1MjIxQVxcdTAxOTJcXHUyMjQ4XFx1MjIwNlxceEFCXFx4QkJcXHUyMDI2XFx4QTBcXHUwNDBCXFx1MDQ1QlxcdTA0MENcXHUwNDVDXFx1MDQ1NVxcdTIwMTNcXHUyMDE0XFx1MjAxQ1xcdTIwMURcXHUyMDE4XFx1MjAxOVxceEY3XFx1MjAxRVxcdTA0MEVcXHUwNDVFXFx1MDQwRlxcdTA0NUZcXHUyMTE2XFx1MDQwMVxcdTA0NTFcXHUwNDRGXFx1MDQzMFxcdTA0MzFcXHUwNDMyXFx1MDQzM1xcdTA0MzRcXHUwNDM1XFx1MDQzNlxcdTA0MzdcXHUwNDM4XFx1MDQzOVxcdTA0M0FcXHUwNDNCXFx1MDQzQ1xcdTA0M0RcXHUwNDNFXFx1MDQzRlxcdTA0NDBcXHUwNDQxXFx1MDQ0MlxcdTA0NDNcXHUwNDQ0XFx1MDQ0NVxcdTA0NDZcXHUwNDQ3XFx1MDQ0OFxcdTA0NDlcXHUwNDRBXFx1MDQ0QlxcdTA0NENcXHUwNDREXFx1MDQ0RVxceEE0XCJcbiAgICAgIH0sXG4gICAgICBcImtvaThyXCI6IHtcbiAgICAgICAgXCJ0eXBlXCI6IFwiX3NiY3NcIixcbiAgICAgICAgXCJjaGFyc1wiOiBcIlxcdTI1MDBcXHUyNTAyXFx1MjUwQ1xcdTI1MTBcXHUyNTE0XFx1MjUxOFxcdTI1MUNcXHUyNTI0XFx1MjUyQ1xcdTI1MzRcXHUyNTNDXFx1MjU4MFxcdTI1ODRcXHUyNTg4XFx1MjU4Q1xcdTI1OTBcXHUyNTkxXFx1MjU5MlxcdTI1OTNcXHUyMzIwXFx1MjVBMFxcdTIyMTlcXHUyMjFBXFx1MjI0OFxcdTIyNjRcXHUyMjY1XFx4QTBcXHUyMzIxXFx4QjBcXHhCMlxceEI3XFx4RjdcXHUyNTUwXFx1MjU1MVxcdTI1NTJcXHUwNDUxXFx1MjU1M1xcdTI1NTRcXHUyNTU1XFx1MjU1NlxcdTI1NTdcXHUyNTU4XFx1MjU1OVxcdTI1NUFcXHUyNTVCXFx1MjU1Q1xcdTI1NURcXHUyNTVFXFx1MjU1RlxcdTI1NjBcXHUyNTYxXFx1MDQwMVxcdTI1NjJcXHUyNTYzXFx1MjU2NFxcdTI1NjVcXHUyNTY2XFx1MjU2N1xcdTI1NjhcXHUyNTY5XFx1MjU2QVxcdTI1NkJcXHUyNTZDXFx4QTlcXHUwNDRFXFx1MDQzMFxcdTA0MzFcXHUwNDQ2XFx1MDQzNFxcdTA0MzVcXHUwNDQ0XFx1MDQzM1xcdTA0NDVcXHUwNDM4XFx1MDQzOVxcdTA0M0FcXHUwNDNCXFx1MDQzQ1xcdTA0M0RcXHUwNDNFXFx1MDQzRlxcdTA0NEZcXHUwNDQwXFx1MDQ0MVxcdTA0NDJcXHUwNDQzXFx1MDQzNlxcdTA0MzJcXHUwNDRDXFx1MDQ0QlxcdTA0MzdcXHUwNDQ4XFx1MDQ0RFxcdTA0NDlcXHUwNDQ3XFx1MDQ0QVxcdTA0MkVcXHUwNDEwXFx1MDQxMVxcdTA0MjZcXHUwNDE0XFx1MDQxNVxcdTA0MjRcXHUwNDEzXFx1MDQyNVxcdTA0MThcXHUwNDE5XFx1MDQxQVxcdTA0MUJcXHUwNDFDXFx1MDQxRFxcdTA0MUVcXHUwNDFGXFx1MDQyRlxcdTA0MjBcXHUwNDIxXFx1MDQyMlxcdTA0MjNcXHUwNDE2XFx1MDQxMlxcdTA0MkNcXHUwNDJCXFx1MDQxN1xcdTA0MjhcXHUwNDJEXFx1MDQyOVxcdTA0MjdcXHUwNDJBXCJcbiAgICAgIH0sXG4gICAgICBcImtvaTh1XCI6IHtcbiAgICAgICAgXCJ0eXBlXCI6IFwiX3NiY3NcIixcbiAgICAgICAgXCJjaGFyc1wiOiBcIlxcdTI1MDBcXHUyNTAyXFx1MjUwQ1xcdTI1MTBcXHUyNTE0XFx1MjUxOFxcdTI1MUNcXHUyNTI0XFx1MjUyQ1xcdTI1MzRcXHUyNTNDXFx1MjU4MFxcdTI1ODRcXHUyNTg4XFx1MjU4Q1xcdTI1OTBcXHUyNTkxXFx1MjU5MlxcdTI1OTNcXHUyMzIwXFx1MjVBMFxcdTIyMTlcXHUyMjFBXFx1MjI0OFxcdTIyNjRcXHUyMjY1XFx4QTBcXHUyMzIxXFx4QjBcXHhCMlxceEI3XFx4RjdcXHUyNTUwXFx1MjU1MVxcdTI1NTJcXHUwNDUxXFx1MDQ1NFxcdTI1NTRcXHUwNDU2XFx1MDQ1N1xcdTI1NTdcXHUyNTU4XFx1MjU1OVxcdTI1NUFcXHUyNTVCXFx1MDQ5MVxcdTI1NURcXHUyNTVFXFx1MjU1RlxcdTI1NjBcXHUyNTYxXFx1MDQwMVxcdTA0MDRcXHUyNTYzXFx1MDQwNlxcdTA0MDdcXHUyNTY2XFx1MjU2N1xcdTI1NjhcXHUyNTY5XFx1MjU2QVxcdTA0OTBcXHUyNTZDXFx4QTlcXHUwNDRFXFx1MDQzMFxcdTA0MzFcXHUwNDQ2XFx1MDQzNFxcdTA0MzVcXHUwNDQ0XFx1MDQzM1xcdTA0NDVcXHUwNDM4XFx1MDQzOVxcdTA0M0FcXHUwNDNCXFx1MDQzQ1xcdTA0M0RcXHUwNDNFXFx1MDQzRlxcdTA0NEZcXHUwNDQwXFx1MDQ0MVxcdTA0NDJcXHUwNDQzXFx1MDQzNlxcdTA0MzJcXHUwNDRDXFx1MDQ0QlxcdTA0MzdcXHUwNDQ4XFx1MDQ0RFxcdTA0NDlcXHUwNDQ3XFx1MDQ0QVxcdTA0MkVcXHUwNDEwXFx1MDQxMVxcdTA0MjZcXHUwNDE0XFx1MDQxNVxcdTA0MjRcXHUwNDEzXFx1MDQyNVxcdTA0MThcXHUwNDE5XFx1MDQxQVxcdTA0MUJcXHUwNDFDXFx1MDQxRFxcdTA0MUVcXHUwNDFGXFx1MDQyRlxcdTA0MjBcXHUwNDIxXFx1MDQyMlxcdTA0MjNcXHUwNDE2XFx1MDQxMlxcdTA0MkNcXHUwNDJCXFx1MDQxN1xcdTA0MjhcXHUwNDJEXFx1MDQyOVxcdTA0MjdcXHUwNDJBXCJcbiAgICAgIH0sXG4gICAgICBcImtvaThydVwiOiB7XG4gICAgICAgIFwidHlwZVwiOiBcIl9zYmNzXCIsXG4gICAgICAgIFwiY2hhcnNcIjogXCJcXHUyNTAwXFx1MjUwMlxcdTI1MENcXHUyNTEwXFx1MjUxNFxcdTI1MThcXHUyNTFDXFx1MjUyNFxcdTI1MkNcXHUyNTM0XFx1MjUzQ1xcdTI1ODBcXHUyNTg0XFx1MjU4OFxcdTI1OENcXHUyNTkwXFx1MjU5MVxcdTI1OTJcXHUyNTkzXFx1MjMyMFxcdTI1QTBcXHUyMjE5XFx1MjIxQVxcdTIyNDhcXHUyMjY0XFx1MjI2NVxceEEwXFx1MjMyMVxceEIwXFx4QjJcXHhCN1xceEY3XFx1MjU1MFxcdTI1NTFcXHUyNTUyXFx1MDQ1MVxcdTA0NTRcXHUyNTU0XFx1MDQ1NlxcdTA0NTdcXHUyNTU3XFx1MjU1OFxcdTI1NTlcXHUyNTVBXFx1MjU1QlxcdTA0OTFcXHUwNDVFXFx1MjU1RVxcdTI1NUZcXHUyNTYwXFx1MjU2MVxcdTA0MDFcXHUwNDA0XFx1MjU2M1xcdTA0MDZcXHUwNDA3XFx1MjU2NlxcdTI1NjdcXHUyNTY4XFx1MjU2OVxcdTI1NkFcXHUwNDkwXFx1MDQwRVxceEE5XFx1MDQ0RVxcdTA0MzBcXHUwNDMxXFx1MDQ0NlxcdTA0MzRcXHUwNDM1XFx1MDQ0NFxcdTA0MzNcXHUwNDQ1XFx1MDQzOFxcdTA0MzlcXHUwNDNBXFx1MDQzQlxcdTA0M0NcXHUwNDNEXFx1MDQzRVxcdTA0M0ZcXHUwNDRGXFx1MDQ0MFxcdTA0NDFcXHUwNDQyXFx1MDQ0M1xcdTA0MzZcXHUwNDMyXFx1MDQ0Q1xcdTA0NEJcXHUwNDM3XFx1MDQ0OFxcdTA0NERcXHUwNDQ5XFx1MDQ0N1xcdTA0NEFcXHUwNDJFXFx1MDQxMFxcdTA0MTFcXHUwNDI2XFx1MDQxNFxcdTA0MTVcXHUwNDI0XFx1MDQxM1xcdTA0MjVcXHUwNDE4XFx1MDQxOVxcdTA0MUFcXHUwNDFCXFx1MDQxQ1xcdTA0MURcXHUwNDFFXFx1MDQxRlxcdTA0MkZcXHUwNDIwXFx1MDQyMVxcdTA0MjJcXHUwNDIzXFx1MDQxNlxcdTA0MTJcXHUwNDJDXFx1MDQyQlxcdTA0MTdcXHUwNDI4XFx1MDQyRFxcdTA0MjlcXHUwNDI3XFx1MDQyQVwiXG4gICAgICB9LFxuICAgICAgXCJrb2k4dFwiOiB7XG4gICAgICAgIFwidHlwZVwiOiBcIl9zYmNzXCIsXG4gICAgICAgIFwiY2hhcnNcIjogXCJcXHUwNDlCXFx1MDQ5M1xcdTIwMUFcXHUwNDkyXFx1MjAxRVxcdTIwMjZcXHUyMDIwXFx1MjAyMVxcdUZGRkRcXHUyMDMwXFx1MDRCM1xcdTIwMzlcXHUwNEIyXFx1MDRCN1xcdTA0QjZcXHVGRkZEXFx1MDQ5QVxcdTIwMThcXHUyMDE5XFx1MjAxQ1xcdTIwMURcXHUyMDIyXFx1MjAxM1xcdTIwMTRcXHVGRkZEXFx1MjEyMlxcdUZGRkRcXHUyMDNBXFx1RkZGRFxcdUZGRkRcXHVGRkZEXFx1RkZGRFxcdUZGRkRcXHUwNEVGXFx1MDRFRVxcdTA0NTFcXHhBNFxcdTA0RTNcXHhBNlxceEE3XFx1RkZGRFxcdUZGRkRcXHVGRkZEXFx4QUJcXHhBQ1xceEFEXFx4QUVcXHVGRkZEXFx4QjBcXHhCMVxceEIyXFx1MDQwMVxcdUZGRkRcXHUwNEUyXFx4QjZcXHhCN1xcdUZGRkRcXHUyMTE2XFx1RkZGRFxceEJCXFx1RkZGRFxcdUZGRkRcXHVGRkZEXFx4QTlcXHUwNDRFXFx1MDQzMFxcdTA0MzFcXHUwNDQ2XFx1MDQzNFxcdTA0MzVcXHUwNDQ0XFx1MDQzM1xcdTA0NDVcXHUwNDM4XFx1MDQzOVxcdTA0M0FcXHUwNDNCXFx1MDQzQ1xcdTA0M0RcXHUwNDNFXFx1MDQzRlxcdTA0NEZcXHUwNDQwXFx1MDQ0MVxcdTA0NDJcXHUwNDQzXFx1MDQzNlxcdTA0MzJcXHUwNDRDXFx1MDQ0QlxcdTA0MzdcXHUwNDQ4XFx1MDQ0RFxcdTA0NDlcXHUwNDQ3XFx1MDQ0QVxcdTA0MkVcXHUwNDEwXFx1MDQxMVxcdTA0MjZcXHUwNDE0XFx1MDQxNVxcdTA0MjRcXHUwNDEzXFx1MDQyNVxcdTA0MThcXHUwNDE5XFx1MDQxQVxcdTA0MUJcXHUwNDFDXFx1MDQxRFxcdTA0MUVcXHUwNDFGXFx1MDQyRlxcdTA0MjBcXHUwNDIxXFx1MDQyMlxcdTA0MjNcXHUwNDE2XFx1MDQxMlxcdTA0MkNcXHUwNDJCXFx1MDQxN1xcdTA0MjhcXHUwNDJEXFx1MDQyOVxcdTA0MjdcXHUwNDJBXCJcbiAgICAgIH0sXG4gICAgICBcImFybXNjaWk4XCI6IHtcbiAgICAgICAgXCJ0eXBlXCI6IFwiX3NiY3NcIixcbiAgICAgICAgXCJjaGFyc1wiOiBcIlxceDgwXFx4ODFcXHg4MlxceDgzXFx4ODRcXHg4NVxceDg2XFx4ODdcXHg4OFxceDg5XFx4OEFcXHg4QlxceDhDXFx4OERcXHg4RVxceDhGXFx4OTBcXHg5MVxceDkyXFx4OTNcXHg5NFxceDk1XFx4OTZcXHg5N1xceDk4XFx4OTlcXHg5QVxceDlCXFx4OUNcXHg5RFxceDlFXFx4OUZcXHhBMFxcdUZGRkRcXHUwNTg3XFx1MDU4OSkoXFx4QkJcXHhBQlxcdTIwMTQuXFx1MDU1RCwtXFx1MDU4QVxcdTIwMjZcXHUwNTVDXFx1MDU1QlxcdTA1NUVcXHUwNTMxXFx1MDU2MVxcdTA1MzJcXHUwNTYyXFx1MDUzM1xcdTA1NjNcXHUwNTM0XFx1MDU2NFxcdTA1MzVcXHUwNTY1XFx1MDUzNlxcdTA1NjZcXHUwNTM3XFx1MDU2N1xcdTA1MzhcXHUwNTY4XFx1MDUzOVxcdTA1NjlcXHUwNTNBXFx1MDU2QVxcdTA1M0JcXHUwNTZCXFx1MDUzQ1xcdTA1NkNcXHUwNTNEXFx1MDU2RFxcdTA1M0VcXHUwNTZFXFx1MDUzRlxcdTA1NkZcXHUwNTQwXFx1MDU3MFxcdTA1NDFcXHUwNTcxXFx1MDU0MlxcdTA1NzJcXHUwNTQzXFx1MDU3M1xcdTA1NDRcXHUwNTc0XFx1MDU0NVxcdTA1NzVcXHUwNTQ2XFx1MDU3NlxcdTA1NDdcXHUwNTc3XFx1MDU0OFxcdTA1NzhcXHUwNTQ5XFx1MDU3OVxcdTA1NEFcXHUwNTdBXFx1MDU0QlxcdTA1N0JcXHUwNTRDXFx1MDU3Q1xcdTA1NERcXHUwNTdEXFx1MDU0RVxcdTA1N0VcXHUwNTRGXFx1MDU3RlxcdTA1NTBcXHUwNTgwXFx1MDU1MVxcdTA1ODFcXHUwNTUyXFx1MDU4MlxcdTA1NTNcXHUwNTgzXFx1MDU1NFxcdTA1ODRcXHUwNTU1XFx1MDU4NVxcdTA1NTZcXHUwNTg2XFx1MDU1QVxcdUZGRkRcIlxuICAgICAgfSxcbiAgICAgIFwicmsxMDQ4XCI6IHtcbiAgICAgICAgXCJ0eXBlXCI6IFwiX3NiY3NcIixcbiAgICAgICAgXCJjaGFyc1wiOiBcIlxcdTA0MDJcXHUwNDAzXFx1MjAxQVxcdTA0NTNcXHUyMDFFXFx1MjAyNlxcdTIwMjBcXHUyMDIxXFx1MjBBQ1xcdTIwMzBcXHUwNDA5XFx1MjAzOVxcdTA0MEFcXHUwNDlBXFx1MDRCQVxcdTA0MEZcXHUwNDUyXFx1MjAxOFxcdTIwMTlcXHUyMDFDXFx1MjAxRFxcdTIwMjJcXHUyMDEzXFx1MjAxNFxcdUZGRkRcXHUyMTIyXFx1MDQ1OVxcdTIwM0FcXHUwNDVBXFx1MDQ5QlxcdTA0QkJcXHUwNDVGXFx4QTBcXHUwNEIwXFx1MDRCMVxcdTA0RDhcXHhBNFxcdTA0RThcXHhBNlxceEE3XFx1MDQwMVxceEE5XFx1MDQ5MlxceEFCXFx4QUNcXHhBRFxceEFFXFx1MDRBRVxceEIwXFx4QjFcXHUwNDA2XFx1MDQ1NlxcdTA0RTlcXHhCNVxceEI2XFx4QjdcXHUwNDUxXFx1MjExNlxcdTA0OTNcXHhCQlxcdTA0RDlcXHUwNEEyXFx1MDRBM1xcdTA0QUZcXHUwNDEwXFx1MDQxMVxcdTA0MTJcXHUwNDEzXFx1MDQxNFxcdTA0MTVcXHUwNDE2XFx1MDQxN1xcdTA0MThcXHUwNDE5XFx1MDQxQVxcdTA0MUJcXHUwNDFDXFx1MDQxRFxcdTA0MUVcXHUwNDFGXFx1MDQyMFxcdTA0MjFcXHUwNDIyXFx1MDQyM1xcdTA0MjRcXHUwNDI1XFx1MDQyNlxcdTA0MjdcXHUwNDI4XFx1MDQyOVxcdTA0MkFcXHUwNDJCXFx1MDQyQ1xcdTA0MkRcXHUwNDJFXFx1MDQyRlxcdTA0MzBcXHUwNDMxXFx1MDQzMlxcdTA0MzNcXHUwNDM0XFx1MDQzNVxcdTA0MzZcXHUwNDM3XFx1MDQzOFxcdTA0MzlcXHUwNDNBXFx1MDQzQlxcdTA0M0NcXHUwNDNEXFx1MDQzRVxcdTA0M0ZcXHUwNDQwXFx1MDQ0MVxcdTA0NDJcXHUwNDQzXFx1MDQ0NFxcdTA0NDVcXHUwNDQ2XFx1MDQ0N1xcdTA0NDhcXHUwNDQ5XFx1MDQ0QVxcdTA0NEJcXHUwNDRDXFx1MDQ0RFxcdTA0NEVcXHUwNDRGXCJcbiAgICAgIH0sXG4gICAgICBcInRjdm5cIjoge1xuICAgICAgICBcInR5cGVcIjogXCJfc2Jjc1wiLFxuICAgICAgICBcImNoYXJzXCI6IFwiXFwwXFx4REFcXHUxRUU0XHUwMDAzXFx1MUVFQVxcdTFFRUNcXHUxRUVFXFx4MDdcXGJcdFxcblxcdlxcZlxcclx1MDAwRVx1MDAwRlx1MDAxMFxcdTFFRThcXHUxRUYwXFx1MUVGMlxcdTFFRjZcXHUxRUY4XFx4RERcXHUxRUY0XHUwMDE4XHUwMDE5XHUwMDFBXFx4MUJcdTAwMUNcdTAwMURcdTAwMUVcdTAwMUYgIVxcXCIjJCUmJygpKissLS4vMDEyMzQ1Njc4OTo7PD0+P0BBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWltcXFxcXV5fYGFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6e3x9flxceDdGXFx4QzBcXHUxRUEyXFx4QzNcXHhDMVxcdTFFQTBcXHUxRUI2XFx1MUVBQ1xceEM4XFx1MUVCQVxcdTFFQkNcXHhDOVxcdTFFQjhcXHUxRUM2XFx4Q0NcXHUxRUM4XFx1MDEyOFxceENEXFx1MUVDQVxceEQyXFx1MUVDRVxceEQ1XFx4RDNcXHUxRUNDXFx1MUVEOFxcdTFFRENcXHUxRURFXFx1MUVFMFxcdTFFREFcXHUxRUUyXFx4RDlcXHUxRUU2XFx1MDE2OFxceEEwXFx1MDEwMlxceEMyXFx4Q0FcXHhENFxcdTAxQTBcXHUwMUFGXFx1MDExMFxcdTAxMDNcXHhFMlxceEVBXFx4RjRcXHUwMUExXFx1MDFCMFxcdTAxMTFcXHUxRUIwXFx1MDMwMFxcdTAzMDlcXHUwMzAzXFx1MDMwMVxcdTAzMjNcXHhFMFxcdTFFQTNcXHhFM1xceEUxXFx1MUVBMVxcdTFFQjJcXHUxRUIxXFx1MUVCM1xcdTFFQjVcXHUxRUFGXFx1MUVCNFxcdTFFQUVcXHUxRUE2XFx1MUVBOFxcdTFFQUFcXHUxRUE0XFx1MUVDMFxcdTFFQjdcXHUxRUE3XFx1MUVBOVxcdTFFQUJcXHUxRUE1XFx1MUVBRFxceEU4XFx1MUVDMlxcdTFFQkJcXHUxRUJEXFx4RTlcXHUxRUI5XFx1MUVDMVxcdTFFQzNcXHUxRUM1XFx1MUVCRlxcdTFFQzdcXHhFQ1xcdTFFQzlcXHUxRUM0XFx1MUVCRVxcdTFFRDJcXHUwMTI5XFx4RURcXHUxRUNCXFx4RjJcXHUxRUQ0XFx1MUVDRlxceEY1XFx4RjNcXHUxRUNEXFx1MUVEM1xcdTFFRDVcXHUxRUQ3XFx1MUVEMVxcdTFFRDlcXHUxRUREXFx1MUVERlxcdTFFRTFcXHUxRURCXFx1MUVFM1xceEY5XFx1MUVENlxcdTFFRTdcXHUwMTY5XFx4RkFcXHUxRUU1XFx1MUVFQlxcdTFFRURcXHUxRUVGXFx1MUVFOVxcdTFFRjFcXHUxRUYzXFx1MUVGN1xcdTFFRjlcXHhGRFxcdTFFRjVcXHUxRUQwXCJcbiAgICAgIH0sXG4gICAgICBcImdlb3JnaWFuYWNhZGVteVwiOiB7XG4gICAgICAgIFwidHlwZVwiOiBcIl9zYmNzXCIsXG4gICAgICAgIFwiY2hhcnNcIjogXCJcXHg4MFxceDgxXFx1MjAxQVxcdTAxOTJcXHUyMDFFXFx1MjAyNlxcdTIwMjBcXHUyMDIxXFx1MDJDNlxcdTIwMzBcXHUwMTYwXFx1MjAzOVxcdTAxNTJcXHg4RFxceDhFXFx4OEZcXHg5MFxcdTIwMThcXHUyMDE5XFx1MjAxQ1xcdTIwMURcXHUyMDIyXFx1MjAxM1xcdTIwMTRcXHUwMkRDXFx1MjEyMlxcdTAxNjFcXHUyMDNBXFx1MDE1M1xceDlEXFx4OUVcXHUwMTc4XFx4QTBcXHhBMVxceEEyXFx4QTNcXHhBNFxceEE1XFx4QTZcXHhBN1xceEE4XFx4QTlcXHhBQVxceEFCXFx4QUNcXHhBRFxceEFFXFx4QUZcXHhCMFxceEIxXFx4QjJcXHhCM1xceEI0XFx4QjVcXHhCNlxceEI3XFx4QjhcXHhCOVxceEJBXFx4QkJcXHhCQ1xceEJEXFx4QkVcXHhCRlxcdTEwRDBcXHUxMEQxXFx1MTBEMlxcdTEwRDNcXHUxMEQ0XFx1MTBENVxcdTEwRDZcXHUxMEQ3XFx1MTBEOFxcdTEwRDlcXHUxMERBXFx1MTBEQlxcdTEwRENcXHUxMEREXFx1MTBERVxcdTEwREZcXHUxMEUwXFx1MTBFMVxcdTEwRTJcXHUxMEUzXFx1MTBFNFxcdTEwRTVcXHUxMEU2XFx1MTBFN1xcdTEwRThcXHUxMEU5XFx1MTBFQVxcdTEwRUJcXHUxMEVDXFx1MTBFRFxcdTEwRUVcXHUxMEVGXFx1MTBGMFxcdTEwRjFcXHUxMEYyXFx1MTBGM1xcdTEwRjRcXHUxMEY1XFx1MTBGNlxceEU3XFx4RThcXHhFOVxceEVBXFx4RUJcXHhFQ1xceEVEXFx4RUVcXHhFRlxceEYwXFx4RjFcXHhGMlxceEYzXFx4RjRcXHhGNVxceEY2XFx4RjdcXHhGOFxceEY5XFx4RkFcXHhGQlxceEZDXFx4RkRcXHhGRVxceEZGXCJcbiAgICAgIH0sXG4gICAgICBcImdlb3JnaWFucHNcIjoge1xuICAgICAgICBcInR5cGVcIjogXCJfc2Jjc1wiLFxuICAgICAgICBcImNoYXJzXCI6IFwiXFx4ODBcXHg4MVxcdTIwMUFcXHUwMTkyXFx1MjAxRVxcdTIwMjZcXHUyMDIwXFx1MjAyMVxcdTAyQzZcXHUyMDMwXFx1MDE2MFxcdTIwMzlcXHUwMTUyXFx4OERcXHg4RVxceDhGXFx4OTBcXHUyMDE4XFx1MjAxOVxcdTIwMUNcXHUyMDFEXFx1MjAyMlxcdTIwMTNcXHUyMDE0XFx1MDJEQ1xcdTIxMjJcXHUwMTYxXFx1MjAzQVxcdTAxNTNcXHg5RFxceDlFXFx1MDE3OFxceEEwXFx4QTFcXHhBMlxceEEzXFx4QTRcXHhBNVxceEE2XFx4QTdcXHhBOFxceEE5XFx4QUFcXHhBQlxceEFDXFx4QURcXHhBRVxceEFGXFx4QjBcXHhCMVxceEIyXFx4QjNcXHhCNFxceEI1XFx4QjZcXHhCN1xceEI4XFx4QjlcXHhCQVxceEJCXFx4QkNcXHhCRFxceEJFXFx4QkZcXHUxMEQwXFx1MTBEMVxcdTEwRDJcXHUxMEQzXFx1MTBENFxcdTEwRDVcXHUxMEQ2XFx1MTBGMVxcdTEwRDdcXHUxMEQ4XFx1MTBEOVxcdTEwREFcXHUxMERCXFx1MTBEQ1xcdTEwRjJcXHUxMEREXFx1MTBERVxcdTEwREZcXHUxMEUwXFx1MTBFMVxcdTEwRTJcXHUxMEYzXFx1MTBFM1xcdTEwRTRcXHUxMEU1XFx1MTBFNlxcdTEwRTdcXHUxMEU4XFx1MTBFOVxcdTEwRUFcXHUxMEVCXFx1MTBFQ1xcdTEwRURcXHUxMEVFXFx1MTBGNFxcdTEwRUZcXHUxMEYwXFx1MTBGNVxceEU2XFx4RTdcXHhFOFxceEU5XFx4RUFcXHhFQlxceEVDXFx4RURcXHhFRVxceEVGXFx4RjBcXHhGMVxceEYyXFx4RjNcXHhGNFxceEY1XFx4RjZcXHhGN1xceEY4XFx4RjlcXHhGQVxceEZCXFx4RkNcXHhGRFxceEZFXFx4RkZcIlxuICAgICAgfSxcbiAgICAgIFwicHQxNTRcIjoge1xuICAgICAgICBcInR5cGVcIjogXCJfc2Jjc1wiLFxuICAgICAgICBcImNoYXJzXCI6IFwiXFx1MDQ5NlxcdTA0OTJcXHUwNEVFXFx1MDQ5M1xcdTIwMUVcXHUyMDI2XFx1MDRCNlxcdTA0QUVcXHUwNEIyXFx1MDRBRlxcdTA0QTBcXHUwNEUyXFx1MDRBMlxcdTA0OUFcXHUwNEJBXFx1MDRCOFxcdTA0OTdcXHUyMDE4XFx1MjAxOVxcdTIwMUNcXHUyMDFEXFx1MjAyMlxcdTIwMTNcXHUyMDE0XFx1MDRCM1xcdTA0QjdcXHUwNEExXFx1MDRFM1xcdTA0QTNcXHUwNDlCXFx1MDRCQlxcdTA0QjlcXHhBMFxcdTA0MEVcXHUwNDVFXFx1MDQwOFxcdTA0RThcXHUwNDk4XFx1MDRCMFxceEE3XFx1MDQwMVxceEE5XFx1MDREOFxceEFCXFx4QUNcXHUwNEVGXFx4QUVcXHUwNDlDXFx4QjBcXHUwNEIxXFx1MDQwNlxcdTA0NTZcXHUwNDk5XFx1MDRFOVxceEI2XFx4QjdcXHUwNDUxXFx1MjExNlxcdTA0RDlcXHhCQlxcdTA0NThcXHUwNEFBXFx1MDRBQlxcdTA0OURcXHUwNDEwXFx1MDQxMVxcdTA0MTJcXHUwNDEzXFx1MDQxNFxcdTA0MTVcXHUwNDE2XFx1MDQxN1xcdTA0MThcXHUwNDE5XFx1MDQxQVxcdTA0MUJcXHUwNDFDXFx1MDQxRFxcdTA0MUVcXHUwNDFGXFx1MDQyMFxcdTA0MjFcXHUwNDIyXFx1MDQyM1xcdTA0MjRcXHUwNDI1XFx1MDQyNlxcdTA0MjdcXHUwNDI4XFx1MDQyOVxcdTA0MkFcXHUwNDJCXFx1MDQyQ1xcdTA0MkRcXHUwNDJFXFx1MDQyRlxcdTA0MzBcXHUwNDMxXFx1MDQzMlxcdTA0MzNcXHUwNDM0XFx1MDQzNVxcdTA0MzZcXHUwNDM3XFx1MDQzOFxcdTA0MzlcXHUwNDNBXFx1MDQzQlxcdTA0M0NcXHUwNDNEXFx1MDQzRVxcdTA0M0ZcXHUwNDQwXFx1MDQ0MVxcdTA0NDJcXHUwNDQzXFx1MDQ0NFxcdTA0NDVcXHUwNDQ2XFx1MDQ0N1xcdTA0NDhcXHUwNDQ5XFx1MDQ0QVxcdTA0NEJcXHUwNDRDXFx1MDQ0RFxcdTA0NEVcXHUwNDRGXCJcbiAgICAgIH0sXG4gICAgICBcInZpc2NpaVwiOiB7XG4gICAgICAgIFwidHlwZVwiOiBcIl9zYmNzXCIsXG4gICAgICAgIFwiY2hhcnNcIjogXCJcXDBcdTAwMDFcXHUxRUIyXHUwMDAzXHUwMDA0XFx1MUVCNFxcdTFFQUFcXHgwN1xcYlx0XFxuXFx2XFxmXFxyXHUwMDBFXHUwMDBGXHUwMDEwXHUwMDExXHUwMDEyXHUwMDEzXFx1MUVGNlx1MDAxNVx1MDAxNlx1MDAxN1x1MDAxOFxcdTFFRjhcdTAwMUFcXHgxQlx1MDAxQ1x1MDAxRFxcdTFFRjRcdTAwMUYgIVxcXCIjJCUmJygpKissLS4vMDEyMzQ1Njc4OTo7PD0+P0BBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWltcXFxcXV5fYGFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6e3x9flxceDdGXFx1MUVBMFxcdTFFQUVcXHUxRUIwXFx1MUVCNlxcdTFFQTRcXHUxRUE2XFx1MUVBOFxcdTFFQUNcXHUxRUJDXFx1MUVCOFxcdTFFQkVcXHUxRUMwXFx1MUVDMlxcdTFFQzRcXHUxRUM2XFx1MUVEMFxcdTFFRDJcXHUxRUQ0XFx1MUVENlxcdTFFRDhcXHUxRUUyXFx1MUVEQVxcdTFFRENcXHUxRURFXFx1MUVDQVxcdTFFQ0VcXHUxRUNDXFx1MUVDOFxcdTFFRTZcXHUwMTY4XFx1MUVFNFxcdTFFRjJcXHhENVxcdTFFQUZcXHUxRUIxXFx1MUVCN1xcdTFFQTVcXHUxRUE3XFx1MUVBOVxcdTFFQURcXHUxRUJEXFx1MUVCOVxcdTFFQkZcXHUxRUMxXFx1MUVDM1xcdTFFQzVcXHUxRUM3XFx1MUVEMVxcdTFFRDNcXHUxRUQ1XFx1MUVEN1xcdTFFRTBcXHUwMUEwXFx1MUVEOVxcdTFFRERcXHUxRURGXFx1MUVDQlxcdTFFRjBcXHUxRUU4XFx1MUVFQVxcdTFFRUNcXHUwMUExXFx1MUVEQlxcdTAxQUZcXHhDMFxceEMxXFx4QzJcXHhDM1xcdTFFQTJcXHUwMTAyXFx1MUVCM1xcdTFFQjVcXHhDOFxceEM5XFx4Q0FcXHUxRUJBXFx4Q0NcXHhDRFxcdTAxMjhcXHUxRUYzXFx1MDExMFxcdTFFRTlcXHhEMlxceEQzXFx4RDRcXHUxRUExXFx1MUVGN1xcdTFFRUJcXHUxRUVEXFx4RDlcXHhEQVxcdTFFRjlcXHUxRUY1XFx4RERcXHUxRUUxXFx1MDFCMFxceEUwXFx4RTFcXHhFMlxceEUzXFx1MUVBM1xcdTAxMDNcXHUxRUVGXFx1MUVBQlxceEU4XFx4RTlcXHhFQVxcdTFFQkJcXHhFQ1xceEVEXFx1MDEyOVxcdTFFQzlcXHUwMTExXFx1MUVGMVxceEYyXFx4RjNcXHhGNFxceEY1XFx1MUVDRlxcdTFFQ0RcXHUxRUU1XFx4RjlcXHhGQVxcdTAxNjlcXHUxRUU3XFx4RkRcXHUxRUUzXFx1MUVFRVwiXG4gICAgICB9LFxuICAgICAgXCJpc282NDZjblwiOiB7XG4gICAgICAgIFwidHlwZVwiOiBcIl9zYmNzXCIsXG4gICAgICAgIFwiY2hhcnNcIjogXCJcXDBcdTAwMDFcdTAwMDJcdTAwMDNcdTAwMDRcdTAwMDVcdTAwMDZcXHgwN1xcYlx0XFxuXFx2XFxmXFxyXHUwMDBFXHUwMDBGXHUwMDEwXHUwMDExXHUwMDEyXHUwMDEzXHUwMDE0XHUwMDE1XHUwMDE2XHUwMDE3XHUwMDE4XHUwMDE5XHUwMDFBXFx4MUJcdTAwMUNcdTAwMURcdTAwMUVcdTAwMUYgIVxcXCIjXFx4QTUlJicoKSorLC0uLzAxMjM0NTY3ODk6Ozw9Pj9AQUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVpbXFxcXF1eX2BhYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ent8fVxcdTIwM0VcXHg3RlxcdUZGRkRcXHVGRkZEXFx1RkZGRFxcdUZGRkRcXHVGRkZEXFx1RkZGRFxcdUZGRkRcXHVGRkZEXFx1RkZGRFxcdUZGRkRcXHVGRkZEXFx1RkZGRFxcdUZGRkRcXHVGRkZEXFx1RkZGRFxcdUZGRkRcXHVGRkZEXFx1RkZGRFxcdUZGRkRcXHVGRkZEXFx1RkZGRFxcdUZGRkRcXHVGRkZEXFx1RkZGRFxcdUZGRkRcXHVGRkZEXFx1RkZGRFxcdUZGRkRcXHVGRkZEXFx1RkZGRFxcdUZGRkRcXHVGRkZEXFx1RkZGRFxcdUZGRkRcXHVGRkZEXFx1RkZGRFxcdUZGRkRcXHVGRkZEXFx1RkZGRFxcdUZGRkRcXHVGRkZEXFx1RkZGRFxcdUZGRkRcXHVGRkZEXFx1RkZGRFxcdUZGRkRcXHVGRkZEXFx1RkZGRFxcdUZGRkRcXHVGRkZEXFx1RkZGRFxcdUZGRkRcXHVGRkZEXFx1RkZGRFxcdUZGRkRcXHVGRkZEXFx1RkZGRFxcdUZGRkRcXHVGRkZEXFx1RkZGRFxcdUZGRkRcXHVGRkZEXFx1RkZGRFxcdUZGRkRcXHVGRkZEXFx1RkZGRFxcdUZGRkRcXHVGRkZEXFx1RkZGRFxcdUZGRkRcXHVGRkZEXFx1RkZGRFxcdUZGRkRcXHVGRkZEXFx1RkZGRFxcdUZGRkRcXHVGRkZEXFx1RkZGRFxcdUZGRkRcXHVGRkZEXFx1RkZGRFxcdUZGRkRcXHVGRkZEXFx1RkZGRFxcdUZGRkRcXHVGRkZEXFx1RkZGRFxcdUZGRkRcXHVGRkZEXFx1RkZGRFxcdUZGRkRcXHVGRkZEXFx1RkZGRFxcdUZGRkRcXHVGRkZEXFx1RkZGRFxcdUZGRkRcXHVGRkZEXFx1RkZGRFxcdUZGRkRcXHVGRkZEXFx1RkZGRFxcdUZGRkRcXHVGRkZEXFx1RkZGRFxcdUZGRkRcXHVGRkZEXFx1RkZGRFxcdUZGRkRcXHVGRkZEXFx1RkZGRFxcdUZGRkRcXHVGRkZEXFx1RkZGRFxcdUZGRkRcXHVGRkZEXFx1RkZGRFxcdUZGRkRcXHVGRkZEXFx1RkZGRFxcdUZGRkRcXHVGRkZEXFx1RkZGRFxcdUZGRkRcXHVGRkZEXFx1RkZGRFxcdUZGRkRcXHVGRkZEXCJcbiAgICAgIH0sXG4gICAgICBcImlzbzY0NmpwXCI6IHtcbiAgICAgICAgXCJ0eXBlXCI6IFwiX3NiY3NcIixcbiAgICAgICAgXCJjaGFyc1wiOiBcIlxcMFx1MDAwMVx1MDAwMlx1MDAwM1x1MDAwNFx1MDAwNVx1MDAwNlxceDA3XFxiXHRcXG5cXHZcXGZcXHJcdTAwMEVcdTAwMEZcdTAwMTBcdTAwMTFcdTAwMTJcdTAwMTNcdTAwMTRcdTAwMTVcdTAwMTZcdTAwMTdcdTAwMThcdTAwMTlcdTAwMUFcXHgxQlx1MDAxQ1x1MDAxRFx1MDAxRVx1MDAxRiAhXFxcIiMkJSYnKCkqKywtLi8wMTIzNDU2Nzg5Ojs8PT4/QEFCQ0RFRkdISUpLTE1OT1BRUlNUVVZXWFlaW1xceEE1XV5fYGFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6e3x9XFx1MjAzRVxceDdGXFx1RkZGRFxcdUZGRkRcXHVGRkZEXFx1RkZGRFxcdUZGRkRcXHVGRkZEXFx1RkZGRFxcdUZGRkRcXHVGRkZEXFx1RkZGRFxcdUZGRkRcXHVGRkZEXFx1RkZGRFxcdUZGRkRcXHVGRkZEXFx1RkZGRFxcdUZGRkRcXHVGRkZEXFx1RkZGRFxcdUZGRkRcXHVGRkZEXFx1RkZGRFxcdUZGRkRcXHVGRkZEXFx1RkZGRFxcdUZGRkRcXHVGRkZEXFx1RkZGRFxcdUZGRkRcXHVGRkZEXFx1RkZGRFxcdUZGRkRcXHVGRkZEXFx1RkZGRFxcdUZGRkRcXHVGRkZEXFx1RkZGRFxcdUZGRkRcXHVGRkZEXFx1RkZGRFxcdUZGRkRcXHVGRkZEXFx1RkZGRFxcdUZGRkRcXHVGRkZEXFx1RkZGRFxcdUZGRkRcXHVGRkZEXFx1RkZGRFxcdUZGRkRcXHVGRkZEXFx1RkZGRFxcdUZGRkRcXHVGRkZEXFx1RkZGRFxcdUZGRkRcXHVGRkZEXFx1RkZGRFxcdUZGRkRcXHVGRkZEXFx1RkZGRFxcdUZGRkRcXHVGRkZEXFx1RkZGRFxcdUZGRkRcXHVGRkZEXFx1RkZGRFxcdUZGRkRcXHVGRkZEXFx1RkZGRFxcdUZGRkRcXHVGRkZEXFx1RkZGRFxcdUZGRkRcXHVGRkZEXFx1RkZGRFxcdUZGRkRcXHVGRkZEXFx1RkZGRFxcdUZGRkRcXHVGRkZEXFx1RkZGRFxcdUZGRkRcXHVGRkZEXFx1RkZGRFxcdUZGRkRcXHVGRkZEXFx1RkZGRFxcdUZGRkRcXHVGRkZEXFx1RkZGRFxcdUZGRkRcXHVGRkZEXFx1RkZGRFxcdUZGRkRcXHVGRkZEXFx1RkZGRFxcdUZGRkRcXHVGRkZEXFx1RkZGRFxcdUZGRkRcXHVGRkZEXFx1RkZGRFxcdUZGRkRcXHVGRkZEXFx1RkZGRFxcdUZGRkRcXHVGRkZEXFx1RkZGRFxcdUZGRkRcXHVGRkZEXFx1RkZGRFxcdUZGRkRcXHVGRkZEXFx1RkZGRFxcdUZGRkRcXHVGRkZEXFx1RkZGRFxcdUZGRkRcXHVGRkZEXFx1RkZGRFxcdUZGRkRcXHVGRkZEXFx1RkZGRFxcdUZGRkRcXHVGRkZEXFx1RkZGRFxcdUZGRkRcIlxuICAgICAgfSxcbiAgICAgIFwiaHByb21hbjhcIjoge1xuICAgICAgICBcInR5cGVcIjogXCJfc2Jjc1wiLFxuICAgICAgICBcImNoYXJzXCI6IFwiXFx4ODBcXHg4MVxceDgyXFx4ODNcXHg4NFxceDg1XFx4ODZcXHg4N1xceDg4XFx4ODlcXHg4QVxceDhCXFx4OENcXHg4RFxceDhFXFx4OEZcXHg5MFxceDkxXFx4OTJcXHg5M1xceDk0XFx4OTVcXHg5NlxceDk3XFx4OThcXHg5OVxceDlBXFx4OUJcXHg5Q1xceDlEXFx4OUVcXHg5RlxceEEwXFx4QzBcXHhDMlxceEM4XFx4Q0FcXHhDQlxceENFXFx4Q0ZcXHhCNFxcdTAyQ0JcXHUwMkM2XFx4QThcXHUwMkRDXFx4RDlcXHhEQlxcdTIwQTRcXHhBRlxceEREXFx4RkRcXHhCMFxceEM3XFx4RTdcXHhEMVxceEYxXFx4QTFcXHhCRlxceEE0XFx4QTNcXHhBNVxceEE3XFx1MDE5MlxceEEyXFx4RTJcXHhFQVxceEY0XFx4RkJcXHhFMVxceEU5XFx4RjNcXHhGQVxceEUwXFx4RThcXHhGMlxceEY5XFx4RTRcXHhFQlxceEY2XFx4RkNcXHhDNVxceEVFXFx4RDhcXHhDNlxceEU1XFx4RURcXHhGOFxceEU2XFx4QzRcXHhFQ1xceEQ2XFx4RENcXHhDOVxceEVGXFx4REZcXHhENFxceEMxXFx4QzNcXHhFM1xceEQwXFx4RjBcXHhDRFxceENDXFx4RDNcXHhEMlxceEQ1XFx4RjVcXHUwMTYwXFx1MDE2MVxceERBXFx1MDE3OFxceEZGXFx4REVcXHhGRVxceEI3XFx4QjVcXHhCNlxceEJFXFx1MjAxNFxceEJDXFx4QkRcXHhBQVxceEJBXFx4QUJcXHUyNUEwXFx4QkJcXHhCMVxcdUZGRkRcIlxuICAgICAgfSxcbiAgICAgIFwibWFjaW50b3NoXCI6IHtcbiAgICAgICAgXCJ0eXBlXCI6IFwiX3NiY3NcIixcbiAgICAgICAgXCJjaGFyc1wiOiBcIlxceEM0XFx4QzVcXHhDN1xceEM5XFx4RDFcXHhENlxceERDXFx4RTFcXHhFMFxceEUyXFx4RTRcXHhFM1xceEU1XFx4RTdcXHhFOVxceEU4XFx4RUFcXHhFQlxceEVEXFx4RUNcXHhFRVxceEVGXFx4RjFcXHhGM1xceEYyXFx4RjRcXHhGNlxceEY1XFx4RkFcXHhGOVxceEZCXFx4RkNcXHUyMDIwXFx4QjBcXHhBMlxceEEzXFx4QTdcXHUyMDIyXFx4QjZcXHhERlxceEFFXFx4QTlcXHUyMTIyXFx4QjRcXHhBOFxcdTIyNjBcXHhDNlxceEQ4XFx1MjIxRVxceEIxXFx1MjI2NFxcdTIyNjVcXHhBNVxceEI1XFx1MjIwMlxcdTIyMTFcXHUyMjBGXFx1MDNDMFxcdTIyMkJcXHhBQVxceEJBXFx1MjEyNlxceEU2XFx4RjhcXHhCRlxceEExXFx4QUNcXHUyMjFBXFx1MDE5MlxcdTIyNDhcXHUyMjA2XFx4QUJcXHhCQlxcdTIwMjZcXHhBMFxceEMwXFx4QzNcXHhENVxcdTAxNTJcXHUwMTUzXFx1MjAxM1xcdTIwMTRcXHUyMDFDXFx1MjAxRFxcdTIwMThcXHUyMDE5XFx4RjdcXHUyNUNBXFx4RkZcXHUwMTc4XFx1MjA0NFxceEE0XFx1MjAzOVxcdTIwM0FcXHVGQjAxXFx1RkIwMlxcdTIwMjFcXHhCN1xcdTIwMUFcXHUyMDFFXFx1MjAzMFxceEMyXFx4Q0FcXHhDMVxceENCXFx4QzhcXHhDRFxceENFXFx4Q0ZcXHhDQ1xceEQzXFx4RDRcXHVGRkZEXFx4RDJcXHhEQVxceERCXFx4RDlcXHUwMTMxXFx1MDJDNlxcdTAyRENcXHhBRlxcdTAyRDhcXHUwMkQ5XFx1MDJEQVxceEI4XFx1MDJERFxcdTAyREJcXHUwMkM3XCJcbiAgICAgIH0sXG4gICAgICBcImFzY2lpXCI6IHtcbiAgICAgICAgXCJ0eXBlXCI6IFwiX3NiY3NcIixcbiAgICAgICAgXCJjaGFyc1wiOiBcIlxcdUZGRkRcXHVGRkZEXFx1RkZGRFxcdUZGRkRcXHVGRkZEXFx1RkZGRFxcdUZGRkRcXHVGRkZEXFx1RkZGRFxcdUZGRkRcXHVGRkZEXFx1RkZGRFxcdUZGRkRcXHVGRkZEXFx1RkZGRFxcdUZGRkRcXHVGRkZEXFx1RkZGRFxcdUZGRkRcXHVGRkZEXFx1RkZGRFxcdUZGRkRcXHVGRkZEXFx1RkZGRFxcdUZGRkRcXHVGRkZEXFx1RkZGRFxcdUZGRkRcXHVGRkZEXFx1RkZGRFxcdUZGRkRcXHVGRkZEXFx1RkZGRFxcdUZGRkRcXHVGRkZEXFx1RkZGRFxcdUZGRkRcXHVGRkZEXFx1RkZGRFxcdUZGRkRcXHVGRkZEXFx1RkZGRFxcdUZGRkRcXHVGRkZEXFx1RkZGRFxcdUZGRkRcXHVGRkZEXFx1RkZGRFxcdUZGRkRcXHVGRkZEXFx1RkZGRFxcdUZGRkRcXHVGRkZEXFx1RkZGRFxcdUZGRkRcXHVGRkZEXFx1RkZGRFxcdUZGRkRcXHVGRkZEXFx1RkZGRFxcdUZGRkRcXHVGRkZEXFx1RkZGRFxcdUZGRkRcXHVGRkZEXFx1RkZGRFxcdUZGRkRcXHVGRkZEXFx1RkZGRFxcdUZGRkRcXHVGRkZEXFx1RkZGRFxcdUZGRkRcXHVGRkZEXFx1RkZGRFxcdUZGRkRcXHVGRkZEXFx1RkZGRFxcdUZGRkRcXHVGRkZEXFx1RkZGRFxcdUZGRkRcXHVGRkZEXFx1RkZGRFxcdUZGRkRcXHVGRkZEXFx1RkZGRFxcdUZGRkRcXHVGRkZEXFx1RkZGRFxcdUZGRkRcXHVGRkZEXFx1RkZGRFxcdUZGRkRcXHVGRkZEXFx1RkZGRFxcdUZGRkRcXHVGRkZEXFx1RkZGRFxcdUZGRkRcXHVGRkZEXFx1RkZGRFxcdUZGRkRcXHVGRkZEXFx1RkZGRFxcdUZGRkRcXHVGRkZEXFx1RkZGRFxcdUZGRkRcXHVGRkZEXFx1RkZGRFxcdUZGRkRcXHVGRkZEXFx1RkZGRFxcdUZGRkRcXHVGRkZEXFx1RkZGRFxcdUZGRkRcXHVGRkZEXFx1RkZGRFxcdUZGRkRcXHVGRkZEXFx1RkZGRFxcdUZGRkRcXHVGRkZEXFx1RkZGRFxcdUZGRkRcXHVGRkZEXCJcbiAgICAgIH0sXG4gICAgICBcInRpczYyMFwiOiB7XG4gICAgICAgIFwidHlwZVwiOiBcIl9zYmNzXCIsXG4gICAgICAgIFwiY2hhcnNcIjogXCJcXHVGRkZEXFx1RkZGRFxcdUZGRkRcXHVGRkZEXFx1RkZGRFxcdUZGRkRcXHVGRkZEXFx1RkZGRFxcdUZGRkRcXHVGRkZEXFx1RkZGRFxcdUZGRkRcXHVGRkZEXFx1RkZGRFxcdUZGRkRcXHVGRkZEXFx1RkZGRFxcdUZGRkRcXHVGRkZEXFx1RkZGRFxcdUZGRkRcXHVGRkZEXFx1RkZGRFxcdUZGRkRcXHVGRkZEXFx1RkZGRFxcdUZGRkRcXHVGRkZEXFx1RkZGRFxcdUZGRkRcXHVGRkZEXFx1RkZGRFxcdUZGRkRcXHUwRTAxXFx1MEUwMlxcdTBFMDNcXHUwRTA0XFx1MEUwNVxcdTBFMDZcXHUwRTA3XFx1MEUwOFxcdTBFMDlcXHUwRTBBXFx1MEUwQlxcdTBFMENcXHUwRTBEXFx1MEUwRVxcdTBFMEZcXHUwRTEwXFx1MEUxMVxcdTBFMTJcXHUwRTEzXFx1MEUxNFxcdTBFMTVcXHUwRTE2XFx1MEUxN1xcdTBFMThcXHUwRTE5XFx1MEUxQVxcdTBFMUJcXHUwRTFDXFx1MEUxRFxcdTBFMUVcXHUwRTFGXFx1MEUyMFxcdTBFMjFcXHUwRTIyXFx1MEUyM1xcdTBFMjRcXHUwRTI1XFx1MEUyNlxcdTBFMjdcXHUwRTI4XFx1MEUyOVxcdTBFMkFcXHUwRTJCXFx1MEUyQ1xcdTBFMkRcXHUwRTJFXFx1MEUyRlxcdTBFMzBcXHUwRTMxXFx1MEUzMlxcdTBFMzNcXHUwRTM0XFx1MEUzNVxcdTBFMzZcXHUwRTM3XFx1MEUzOFxcdTBFMzlcXHUwRTNBXFx1RkZGRFxcdUZGRkRcXHVGRkZEXFx1RkZGRFxcdTBFM0ZcXHUwRTQwXFx1MEU0MVxcdTBFNDJcXHUwRTQzXFx1MEU0NFxcdTBFNDVcXHUwRTQ2XFx1MEU0N1xcdTBFNDhcXHUwRTQ5XFx1MEU0QVxcdTBFNEJcXHUwRTRDXFx1MEU0RFxcdTBFNEVcXHUwRTRGXFx1MEU1MFxcdTBFNTFcXHUwRTUyXFx1MEU1M1xcdTBFNTRcXHUwRTU1XFx1MEU1NlxcdTBFNTdcXHUwRTU4XFx1MEU1OVxcdTBFNUFcXHUwRTVCXFx1RkZGRFxcdUZGRkRcXHVGRkZEXFx1RkZGRFwiXG4gICAgICB9XG4gICAgfTtcbiAgfVxufSk7XG5cbi8vIG5vZGVfbW9kdWxlcy9ib2R5LXBhcnNlci9ub2RlX21vZHVsZXMvaWNvbnYtbGl0ZS9lbmNvZGluZ3MvZGJjcy1jb2RlYy5qc1xudmFyIHJlcXVpcmVfZGJjc19jb2RlYzIgPSBfX2NvbW1vbkpTKHtcbiAgXCJub2RlX21vZHVsZXMvYm9keS1wYXJzZXIvbm9kZV9tb2R1bGVzL2ljb252LWxpdGUvZW5jb2RpbmdzL2RiY3MtY29kZWMuanNcIihleHBvcnRzMikge1xuICAgIFwidXNlIHN0cmljdFwiO1xuICAgIHZhciBCdWZmZXIyID0gcmVxdWlyZV9zYWZlcigpLkJ1ZmZlcjtcbiAgICBleHBvcnRzMi5fZGJjcyA9IERCQ1NDb2RlYztcbiAgICB2YXIgVU5BU1NJR05FRCA9IC0xO1xuICAgIHZhciBHQjE4MDMwX0NPREUgPSAtMjtcbiAgICB2YXIgU0VRX1NUQVJUID0gLTEwO1xuICAgIHZhciBOT0RFX1NUQVJUID0gLTFlMztcbiAgICB2YXIgVU5BU1NJR05FRF9OT0RFID0gbmV3IEFycmF5KDI1Nik7XG4gICAgdmFyIERFRl9DSEFSID0gLTE7XG4gICAgZm9yIChpID0gMDsgaSA8IDI1NjsgaSsrKVxuICAgICAgVU5BU1NJR05FRF9OT0RFW2ldID0gVU5BU1NJR05FRDtcbiAgICB2YXIgaTtcbiAgICBmdW5jdGlvbiBEQkNTQ29kZWMoY29kZWNPcHRpb25zLCBpY29udikge1xuICAgICAgdGhpcy5lbmNvZGluZ05hbWUgPSBjb2RlY09wdGlvbnMuZW5jb2RpbmdOYW1lO1xuICAgICAgaWYgKCFjb2RlY09wdGlvbnMpXG4gICAgICAgIHRocm93IG5ldyBFcnJvcihcIkRCQ1MgY29kZWMgaXMgY2FsbGVkIHdpdGhvdXQgdGhlIGRhdGEuXCIpO1xuICAgICAgaWYgKCFjb2RlY09wdGlvbnMudGFibGUpXG4gICAgICAgIHRocm93IG5ldyBFcnJvcihcIkVuY29kaW5nICdcIiArIHRoaXMuZW5jb2RpbmdOYW1lICsgXCInIGhhcyBubyBkYXRhLlwiKTtcbiAgICAgIHZhciBtYXBwaW5nVGFibGUgPSBjb2RlY09wdGlvbnMudGFibGUoKTtcbiAgICAgIHRoaXMuZGVjb2RlVGFibGVzID0gW107XG4gICAgICB0aGlzLmRlY29kZVRhYmxlc1swXSA9IFVOQVNTSUdORURfTk9ERS5zbGljZSgwKTtcbiAgICAgIHRoaXMuZGVjb2RlVGFibGVTZXEgPSBbXTtcbiAgICAgIGZvciAodmFyIGkyID0gMDsgaTIgPCBtYXBwaW5nVGFibGUubGVuZ3RoOyBpMisrKVxuICAgICAgICB0aGlzLl9hZGREZWNvZGVDaHVuayhtYXBwaW5nVGFibGVbaTJdKTtcbiAgICAgIGlmICh0eXBlb2YgY29kZWNPcHRpb25zLmdiMTgwMzAgPT09IFwiZnVuY3Rpb25cIikge1xuICAgICAgICB0aGlzLmdiMTgwMzAgPSBjb2RlY09wdGlvbnMuZ2IxODAzMCgpO1xuICAgICAgICB2YXIgY29tbW9uVGhpcmRCeXRlTm9kZUlkeCA9IHRoaXMuZGVjb2RlVGFibGVzLmxlbmd0aDtcbiAgICAgICAgdGhpcy5kZWNvZGVUYWJsZXMucHVzaChVTkFTU0lHTkVEX05PREUuc2xpY2UoMCkpO1xuICAgICAgICB2YXIgY29tbW9uRm91cnRoQnl0ZU5vZGVJZHggPSB0aGlzLmRlY29kZVRhYmxlcy5sZW5ndGg7XG4gICAgICAgIHRoaXMuZGVjb2RlVGFibGVzLnB1c2goVU5BU1NJR05FRF9OT0RFLnNsaWNlKDApKTtcbiAgICAgICAgdmFyIGZpcnN0Qnl0ZU5vZGUgPSB0aGlzLmRlY29kZVRhYmxlc1swXTtcbiAgICAgICAgZm9yICh2YXIgaTIgPSAxMjk7IGkyIDw9IDI1NDsgaTIrKykge1xuICAgICAgICAgIHZhciBzZWNvbmRCeXRlTm9kZSA9IHRoaXMuZGVjb2RlVGFibGVzW05PREVfU1RBUlQgLSBmaXJzdEJ5dGVOb2RlW2kyXV07XG4gICAgICAgICAgZm9yICh2YXIgaiA9IDQ4OyBqIDw9IDU3OyBqKyspIHtcbiAgICAgICAgICAgIGlmIChzZWNvbmRCeXRlTm9kZVtqXSA9PT0gVU5BU1NJR05FRCkge1xuICAgICAgICAgICAgICBzZWNvbmRCeXRlTm9kZVtqXSA9IE5PREVfU1RBUlQgLSBjb21tb25UaGlyZEJ5dGVOb2RlSWR4O1xuICAgICAgICAgICAgfSBlbHNlIGlmIChzZWNvbmRCeXRlTm9kZVtqXSA+IE5PREVfU1RBUlQpIHtcbiAgICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKFwiZ2IxODAzMCBkZWNvZGUgdGFibGVzIGNvbmZsaWN0IGF0IGJ5dGUgMlwiKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHZhciB0aGlyZEJ5dGVOb2RlID0gdGhpcy5kZWNvZGVUYWJsZXNbTk9ERV9TVEFSVCAtIHNlY29uZEJ5dGVOb2RlW2pdXTtcbiAgICAgICAgICAgIGZvciAodmFyIGsgPSAxMjk7IGsgPD0gMjU0OyBrKyspIHtcbiAgICAgICAgICAgICAgaWYgKHRoaXJkQnl0ZU5vZGVba10gPT09IFVOQVNTSUdORUQpIHtcbiAgICAgICAgICAgICAgICB0aGlyZEJ5dGVOb2RlW2tdID0gTk9ERV9TVEFSVCAtIGNvbW1vbkZvdXJ0aEJ5dGVOb2RlSWR4O1xuICAgICAgICAgICAgICB9IGVsc2UgaWYgKHRoaXJkQnl0ZU5vZGVba10gPT09IE5PREVfU1RBUlQgLSBjb21tb25Gb3VydGhCeXRlTm9kZUlkeCkge1xuICAgICAgICAgICAgICAgIGNvbnRpbnVlO1xuICAgICAgICAgICAgICB9IGVsc2UgaWYgKHRoaXJkQnl0ZU5vZGVba10gPiBOT0RFX1NUQVJUKSB7XG4gICAgICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKFwiZ2IxODAzMCBkZWNvZGUgdGFibGVzIGNvbmZsaWN0IGF0IGJ5dGUgM1wiKTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB2YXIgZm91cnRoQnl0ZU5vZGUgPSB0aGlzLmRlY29kZVRhYmxlc1tOT0RFX1NUQVJUIC0gdGhpcmRCeXRlTm9kZVtrXV07XG4gICAgICAgICAgICAgIGZvciAodmFyIGwgPSA0ODsgbCA8PSA1NzsgbCsrKSB7XG4gICAgICAgICAgICAgICAgaWYgKGZvdXJ0aEJ5dGVOb2RlW2xdID09PSBVTkFTU0lHTkVEKVxuICAgICAgICAgICAgICAgICAgZm91cnRoQnl0ZU5vZGVbbF0gPSBHQjE4MDMwX0NPREU7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIHRoaXMuZGVmYXVsdENoYXJVbmljb2RlID0gaWNvbnYuZGVmYXVsdENoYXJVbmljb2RlO1xuICAgICAgdGhpcy5lbmNvZGVUYWJsZSA9IFtdO1xuICAgICAgdGhpcy5lbmNvZGVUYWJsZVNlcSA9IFtdO1xuICAgICAgdmFyIHNraXBFbmNvZGVDaGFycyA9IHt9O1xuICAgICAgaWYgKGNvZGVjT3B0aW9ucy5lbmNvZGVTa2lwVmFscylcbiAgICAgICAgZm9yICh2YXIgaTIgPSAwOyBpMiA8IGNvZGVjT3B0aW9ucy5lbmNvZGVTa2lwVmFscy5sZW5ndGg7IGkyKyspIHtcbiAgICAgICAgICB2YXIgdmFsID0gY29kZWNPcHRpb25zLmVuY29kZVNraXBWYWxzW2kyXTtcbiAgICAgICAgICBpZiAodHlwZW9mIHZhbCA9PT0gXCJudW1iZXJcIilcbiAgICAgICAgICAgIHNraXBFbmNvZGVDaGFyc1t2YWxdID0gdHJ1ZTtcbiAgICAgICAgICBlbHNlXG4gICAgICAgICAgICBmb3IgKHZhciBqID0gdmFsLmZyb207IGogPD0gdmFsLnRvOyBqKyspXG4gICAgICAgICAgICAgIHNraXBFbmNvZGVDaGFyc1tqXSA9IHRydWU7XG4gICAgICAgIH1cbiAgICAgIHRoaXMuX2ZpbGxFbmNvZGVUYWJsZSgwLCAwLCBza2lwRW5jb2RlQ2hhcnMpO1xuICAgICAgaWYgKGNvZGVjT3B0aW9ucy5lbmNvZGVBZGQpIHtcbiAgICAgICAgZm9yICh2YXIgdUNoYXIgaW4gY29kZWNPcHRpb25zLmVuY29kZUFkZClcbiAgICAgICAgICBpZiAoT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKGNvZGVjT3B0aW9ucy5lbmNvZGVBZGQsIHVDaGFyKSlcbiAgICAgICAgICAgIHRoaXMuX3NldEVuY29kZUNoYXIodUNoYXIuY2hhckNvZGVBdCgwKSwgY29kZWNPcHRpb25zLmVuY29kZUFkZFt1Q2hhcl0pO1xuICAgICAgfVxuICAgICAgdGhpcy5kZWZDaGFyU0IgPSB0aGlzLmVuY29kZVRhYmxlWzBdW2ljb252LmRlZmF1bHRDaGFyU2luZ2xlQnl0ZS5jaGFyQ29kZUF0KDApXTtcbiAgICAgIGlmICh0aGlzLmRlZkNoYXJTQiA9PT0gVU5BU1NJR05FRCkgdGhpcy5kZWZDaGFyU0IgPSB0aGlzLmVuY29kZVRhYmxlWzBdW1wiP1wiXTtcbiAgICAgIGlmICh0aGlzLmRlZkNoYXJTQiA9PT0gVU5BU1NJR05FRCkgdGhpcy5kZWZDaGFyU0IgPSBcIj9cIi5jaGFyQ29kZUF0KDApO1xuICAgIH1cbiAgICBEQkNTQ29kZWMucHJvdG90eXBlLmVuY29kZXIgPSBEQkNTRW5jb2RlcjtcbiAgICBEQkNTQ29kZWMucHJvdG90eXBlLmRlY29kZXIgPSBEQkNTRGVjb2RlcjtcbiAgICBEQkNTQ29kZWMucHJvdG90eXBlLl9nZXREZWNvZGVUcmllTm9kZSA9IGZ1bmN0aW9uKGFkZHIpIHtcbiAgICAgIHZhciBieXRlcyA9IFtdO1xuICAgICAgZm9yICg7IGFkZHIgPiAwOyBhZGRyID4+Pj0gOClcbiAgICAgICAgYnl0ZXMucHVzaChhZGRyICYgMjU1KTtcbiAgICAgIGlmIChieXRlcy5sZW5ndGggPT0gMClcbiAgICAgICAgYnl0ZXMucHVzaCgwKTtcbiAgICAgIHZhciBub2RlID0gdGhpcy5kZWNvZGVUYWJsZXNbMF07XG4gICAgICBmb3IgKHZhciBpMiA9IGJ5dGVzLmxlbmd0aCAtIDE7IGkyID4gMDsgaTItLSkge1xuICAgICAgICB2YXIgdmFsID0gbm9kZVtieXRlc1tpMl1dO1xuICAgICAgICBpZiAodmFsID09IFVOQVNTSUdORUQpIHtcbiAgICAgICAgICBub2RlW2J5dGVzW2kyXV0gPSBOT0RFX1NUQVJUIC0gdGhpcy5kZWNvZGVUYWJsZXMubGVuZ3RoO1xuICAgICAgICAgIHRoaXMuZGVjb2RlVGFibGVzLnB1c2gobm9kZSA9IFVOQVNTSUdORURfTk9ERS5zbGljZSgwKSk7XG4gICAgICAgIH0gZWxzZSBpZiAodmFsIDw9IE5PREVfU1RBUlQpIHtcbiAgICAgICAgICBub2RlID0gdGhpcy5kZWNvZGVUYWJsZXNbTk9ERV9TVEFSVCAtIHZhbF07XG4gICAgICAgIH0gZWxzZVxuICAgICAgICAgIHRocm93IG5ldyBFcnJvcihcIk92ZXJ3cml0ZSBieXRlIGluIFwiICsgdGhpcy5lbmNvZGluZ05hbWUgKyBcIiwgYWRkcjogXCIgKyBhZGRyLnRvU3RyaW5nKDE2KSk7XG4gICAgICB9XG4gICAgICByZXR1cm4gbm9kZTtcbiAgICB9O1xuICAgIERCQ1NDb2RlYy5wcm90b3R5cGUuX2FkZERlY29kZUNodW5rID0gZnVuY3Rpb24oY2h1bmspIHtcbiAgICAgIHZhciBjdXJBZGRyID0gcGFyc2VJbnQoY2h1bmtbMF0sIDE2KTtcbiAgICAgIHZhciB3cml0ZVRhYmxlID0gdGhpcy5fZ2V0RGVjb2RlVHJpZU5vZGUoY3VyQWRkcik7XG4gICAgICBjdXJBZGRyID0gY3VyQWRkciAmIDI1NTtcbiAgICAgIGZvciAodmFyIGsgPSAxOyBrIDwgY2h1bmsubGVuZ3RoOyBrKyspIHtcbiAgICAgICAgdmFyIHBhcnQgPSBjaHVua1trXTtcbiAgICAgICAgaWYgKHR5cGVvZiBwYXJ0ID09PSBcInN0cmluZ1wiKSB7XG4gICAgICAgICAgZm9yICh2YXIgbCA9IDA7IGwgPCBwYXJ0Lmxlbmd0aDsgKSB7XG4gICAgICAgICAgICB2YXIgY29kZSA9IHBhcnQuY2hhckNvZGVBdChsKyspO1xuICAgICAgICAgICAgaWYgKDU1Mjk2IDw9IGNvZGUgJiYgY29kZSA8IDU2MzIwKSB7XG4gICAgICAgICAgICAgIHZhciBjb2RlVHJhaWwgPSBwYXJ0LmNoYXJDb2RlQXQobCsrKTtcbiAgICAgICAgICAgICAgaWYgKDU2MzIwIDw9IGNvZGVUcmFpbCAmJiBjb2RlVHJhaWwgPCA1NzM0NClcbiAgICAgICAgICAgICAgICB3cml0ZVRhYmxlW2N1ckFkZHIrK10gPSA2NTUzNiArIChjb2RlIC0gNTUyOTYpICogMTAyNCArIChjb2RlVHJhaWwgLSA1NjMyMCk7XG4gICAgICAgICAgICAgIGVsc2VcbiAgICAgICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXCJJbmNvcnJlY3Qgc3Vycm9nYXRlIHBhaXIgaW4gXCIgKyB0aGlzLmVuY29kaW5nTmFtZSArIFwiIGF0IGNodW5rIFwiICsgY2h1bmtbMF0pO1xuICAgICAgICAgICAgfSBlbHNlIGlmICg0MDgwIDwgY29kZSAmJiBjb2RlIDw9IDQwOTUpIHtcbiAgICAgICAgICAgICAgdmFyIGxlbiA9IDQwOTUgLSBjb2RlICsgMjtcbiAgICAgICAgICAgICAgdmFyIHNlcSA9IFtdO1xuICAgICAgICAgICAgICBmb3IgKHZhciBtID0gMDsgbSA8IGxlbjsgbSsrKVxuICAgICAgICAgICAgICAgIHNlcS5wdXNoKHBhcnQuY2hhckNvZGVBdChsKyspKTtcbiAgICAgICAgICAgICAgd3JpdGVUYWJsZVtjdXJBZGRyKytdID0gU0VRX1NUQVJUIC0gdGhpcy5kZWNvZGVUYWJsZVNlcS5sZW5ndGg7XG4gICAgICAgICAgICAgIHRoaXMuZGVjb2RlVGFibGVTZXEucHVzaChzZXEpO1xuICAgICAgICAgICAgfSBlbHNlXG4gICAgICAgICAgICAgIHdyaXRlVGFibGVbY3VyQWRkcisrXSA9IGNvZGU7XG4gICAgICAgICAgfVxuICAgICAgICB9IGVsc2UgaWYgKHR5cGVvZiBwYXJ0ID09PSBcIm51bWJlclwiKSB7XG4gICAgICAgICAgdmFyIGNoYXJDb2RlID0gd3JpdGVUYWJsZVtjdXJBZGRyIC0gMV0gKyAxO1xuICAgICAgICAgIGZvciAodmFyIGwgPSAwOyBsIDwgcGFydDsgbCsrKVxuICAgICAgICAgICAgd3JpdGVUYWJsZVtjdXJBZGRyKytdID0gY2hhckNvZGUrKztcbiAgICAgICAgfSBlbHNlXG4gICAgICAgICAgdGhyb3cgbmV3IEVycm9yKFwiSW5jb3JyZWN0IHR5cGUgJ1wiICsgdHlwZW9mIHBhcnQgKyBcIicgZ2l2ZW4gaW4gXCIgKyB0aGlzLmVuY29kaW5nTmFtZSArIFwiIGF0IGNodW5rIFwiICsgY2h1bmtbMF0pO1xuICAgICAgfVxuICAgICAgaWYgKGN1ckFkZHIgPiAyNTUpXG4gICAgICAgIHRocm93IG5ldyBFcnJvcihcIkluY29ycmVjdCBjaHVuayBpbiBcIiArIHRoaXMuZW5jb2RpbmdOYW1lICsgXCIgYXQgYWRkciBcIiArIGNodW5rWzBdICsgXCI6IHRvbyBsb25nXCIgKyBjdXJBZGRyKTtcbiAgICB9O1xuICAgIERCQ1NDb2RlYy5wcm90b3R5cGUuX2dldEVuY29kZUJ1Y2tldCA9IGZ1bmN0aW9uKHVDb2RlKSB7XG4gICAgICB2YXIgaGlnaCA9IHVDb2RlID4+IDg7XG4gICAgICBpZiAodGhpcy5lbmNvZGVUYWJsZVtoaWdoXSA9PT0gdm9pZCAwKVxuICAgICAgICB0aGlzLmVuY29kZVRhYmxlW2hpZ2hdID0gVU5BU1NJR05FRF9OT0RFLnNsaWNlKDApO1xuICAgICAgcmV0dXJuIHRoaXMuZW5jb2RlVGFibGVbaGlnaF07XG4gICAgfTtcbiAgICBEQkNTQ29kZWMucHJvdG90eXBlLl9zZXRFbmNvZGVDaGFyID0gZnVuY3Rpb24odUNvZGUsIGRiY3NDb2RlKSB7XG4gICAgICB2YXIgYnVja2V0ID0gdGhpcy5fZ2V0RW5jb2RlQnVja2V0KHVDb2RlKTtcbiAgICAgIHZhciBsb3cgPSB1Q29kZSAmIDI1NTtcbiAgICAgIGlmIChidWNrZXRbbG93XSA8PSBTRVFfU1RBUlQpXG4gICAgICAgIHRoaXMuZW5jb2RlVGFibGVTZXFbU0VRX1NUQVJUIC0gYnVja2V0W2xvd11dW0RFRl9DSEFSXSA9IGRiY3NDb2RlO1xuICAgICAgZWxzZSBpZiAoYnVja2V0W2xvd10gPT0gVU5BU1NJR05FRClcbiAgICAgICAgYnVja2V0W2xvd10gPSBkYmNzQ29kZTtcbiAgICB9O1xuICAgIERCQ1NDb2RlYy5wcm90b3R5cGUuX3NldEVuY29kZVNlcXVlbmNlID0gZnVuY3Rpb24oc2VxLCBkYmNzQ29kZSkge1xuICAgICAgdmFyIHVDb2RlID0gc2VxWzBdO1xuICAgICAgdmFyIGJ1Y2tldCA9IHRoaXMuX2dldEVuY29kZUJ1Y2tldCh1Q29kZSk7XG4gICAgICB2YXIgbG93ID0gdUNvZGUgJiAyNTU7XG4gICAgICB2YXIgbm9kZTtcbiAgICAgIGlmIChidWNrZXRbbG93XSA8PSBTRVFfU1RBUlQpIHtcbiAgICAgICAgbm9kZSA9IHRoaXMuZW5jb2RlVGFibGVTZXFbU0VRX1NUQVJUIC0gYnVja2V0W2xvd11dO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgbm9kZSA9IHt9O1xuICAgICAgICBpZiAoYnVja2V0W2xvd10gIT09IFVOQVNTSUdORUQpIG5vZGVbREVGX0NIQVJdID0gYnVja2V0W2xvd107XG4gICAgICAgIGJ1Y2tldFtsb3ddID0gU0VRX1NUQVJUIC0gdGhpcy5lbmNvZGVUYWJsZVNlcS5sZW5ndGg7XG4gICAgICAgIHRoaXMuZW5jb2RlVGFibGVTZXEucHVzaChub2RlKTtcbiAgICAgIH1cbiAgICAgIGZvciAodmFyIGogPSAxOyBqIDwgc2VxLmxlbmd0aCAtIDE7IGorKykge1xuICAgICAgICB2YXIgb2xkVmFsID0gbm9kZVt1Q29kZV07XG4gICAgICAgIGlmICh0eXBlb2Ygb2xkVmFsID09PSBcIm9iamVjdFwiKVxuICAgICAgICAgIG5vZGUgPSBvbGRWYWw7XG4gICAgICAgIGVsc2Uge1xuICAgICAgICAgIG5vZGUgPSBub2RlW3VDb2RlXSA9IHt9O1xuICAgICAgICAgIGlmIChvbGRWYWwgIT09IHZvaWQgMClcbiAgICAgICAgICAgIG5vZGVbREVGX0NIQVJdID0gb2xkVmFsO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICB1Q29kZSA9IHNlcVtzZXEubGVuZ3RoIC0gMV07XG4gICAgICBub2RlW3VDb2RlXSA9IGRiY3NDb2RlO1xuICAgIH07XG4gICAgREJDU0NvZGVjLnByb3RvdHlwZS5fZmlsbEVuY29kZVRhYmxlID0gZnVuY3Rpb24obm9kZUlkeCwgcHJlZml4LCBza2lwRW5jb2RlQ2hhcnMpIHtcbiAgICAgIHZhciBub2RlID0gdGhpcy5kZWNvZGVUYWJsZXNbbm9kZUlkeF07XG4gICAgICB2YXIgaGFzVmFsdWVzID0gZmFsc2U7XG4gICAgICB2YXIgc3ViTm9kZUVtcHR5ID0ge307XG4gICAgICBmb3IgKHZhciBpMiA9IDA7IGkyIDwgMjU2OyBpMisrKSB7XG4gICAgICAgIHZhciB1Q29kZSA9IG5vZGVbaTJdO1xuICAgICAgICB2YXIgbWJDb2RlID0gcHJlZml4ICsgaTI7XG4gICAgICAgIGlmIChza2lwRW5jb2RlQ2hhcnNbbWJDb2RlXSlcbiAgICAgICAgICBjb250aW51ZTtcbiAgICAgICAgaWYgKHVDb2RlID49IDApIHtcbiAgICAgICAgICB0aGlzLl9zZXRFbmNvZGVDaGFyKHVDb2RlLCBtYkNvZGUpO1xuICAgICAgICAgIGhhc1ZhbHVlcyA9IHRydWU7XG4gICAgICAgIH0gZWxzZSBpZiAodUNvZGUgPD0gTk9ERV9TVEFSVCkge1xuICAgICAgICAgIHZhciBzdWJOb2RlSWR4ID0gTk9ERV9TVEFSVCAtIHVDb2RlO1xuICAgICAgICAgIGlmICghc3ViTm9kZUVtcHR5W3N1Yk5vZGVJZHhdKSB7XG4gICAgICAgICAgICB2YXIgbmV3UHJlZml4ID0gbWJDb2RlIDw8IDggPj4+IDA7XG4gICAgICAgICAgICBpZiAodGhpcy5fZmlsbEVuY29kZVRhYmxlKHN1Yk5vZGVJZHgsIG5ld1ByZWZpeCwgc2tpcEVuY29kZUNoYXJzKSlcbiAgICAgICAgICAgICAgaGFzVmFsdWVzID0gdHJ1ZTtcbiAgICAgICAgICAgIGVsc2VcbiAgICAgICAgICAgICAgc3ViTm9kZUVtcHR5W3N1Yk5vZGVJZHhdID0gdHJ1ZTtcbiAgICAgICAgICB9XG4gICAgICAgIH0gZWxzZSBpZiAodUNvZGUgPD0gU0VRX1NUQVJUKSB7XG4gICAgICAgICAgdGhpcy5fc2V0RW5jb2RlU2VxdWVuY2UodGhpcy5kZWNvZGVUYWJsZVNlcVtTRVFfU1RBUlQgLSB1Q29kZV0sIG1iQ29kZSk7XG4gICAgICAgICAgaGFzVmFsdWVzID0gdHJ1ZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgcmV0dXJuIGhhc1ZhbHVlcztcbiAgICB9O1xuICAgIGZ1bmN0aW9uIERCQ1NFbmNvZGVyKG9wdGlvbnMsIGNvZGVjKSB7XG4gICAgICB0aGlzLmxlYWRTdXJyb2dhdGUgPSAtMTtcbiAgICAgIHRoaXMuc2VxT2JqID0gdm9pZCAwO1xuICAgICAgdGhpcy5lbmNvZGVUYWJsZSA9IGNvZGVjLmVuY29kZVRhYmxlO1xuICAgICAgdGhpcy5lbmNvZGVUYWJsZVNlcSA9IGNvZGVjLmVuY29kZVRhYmxlU2VxO1xuICAgICAgdGhpcy5kZWZhdWx0Q2hhclNpbmdsZUJ5dGUgPSBjb2RlYy5kZWZDaGFyU0I7XG4gICAgICB0aGlzLmdiMTgwMzAgPSBjb2RlYy5nYjE4MDMwO1xuICAgIH1cbiAgICBEQkNTRW5jb2Rlci5wcm90b3R5cGUud3JpdGUgPSBmdW5jdGlvbihzdHIpIHtcbiAgICAgIHZhciBuZXdCdWYgPSBCdWZmZXIyLmFsbG9jKHN0ci5sZW5ndGggKiAodGhpcy5nYjE4MDMwID8gNCA6IDMpKSwgbGVhZFN1cnJvZ2F0ZSA9IHRoaXMubGVhZFN1cnJvZ2F0ZSwgc2VxT2JqID0gdGhpcy5zZXFPYmosIG5leHRDaGFyID0gLTEsIGkyID0gMCwgaiA9IDA7XG4gICAgICB3aGlsZSAodHJ1ZSkge1xuICAgICAgICBpZiAobmV4dENoYXIgPT09IC0xKSB7XG4gICAgICAgICAgaWYgKGkyID09IHN0ci5sZW5ndGgpIGJyZWFrO1xuICAgICAgICAgIHZhciB1Q29kZSA9IHN0ci5jaGFyQ29kZUF0KGkyKyspO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHZhciB1Q29kZSA9IG5leHRDaGFyO1xuICAgICAgICAgIG5leHRDaGFyID0gLTE7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKDU1Mjk2IDw9IHVDb2RlICYmIHVDb2RlIDwgNTczNDQpIHtcbiAgICAgICAgICBpZiAodUNvZGUgPCA1NjMyMCkge1xuICAgICAgICAgICAgaWYgKGxlYWRTdXJyb2dhdGUgPT09IC0xKSB7XG4gICAgICAgICAgICAgIGxlYWRTdXJyb2dhdGUgPSB1Q29kZTtcbiAgICAgICAgICAgICAgY29udGludWU7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICBsZWFkU3Vycm9nYXRlID0gdUNvZGU7XG4gICAgICAgICAgICAgIHVDb2RlID0gVU5BU1NJR05FRDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgaWYgKGxlYWRTdXJyb2dhdGUgIT09IC0xKSB7XG4gICAgICAgICAgICAgIHVDb2RlID0gNjU1MzYgKyAobGVhZFN1cnJvZ2F0ZSAtIDU1Mjk2KSAqIDEwMjQgKyAodUNvZGUgLSA1NjMyMCk7XG4gICAgICAgICAgICAgIGxlYWRTdXJyb2dhdGUgPSAtMTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgIHVDb2RlID0gVU5BU1NJR05FRDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH0gZWxzZSBpZiAobGVhZFN1cnJvZ2F0ZSAhPT0gLTEpIHtcbiAgICAgICAgICBuZXh0Q2hhciA9IHVDb2RlO1xuICAgICAgICAgIHVDb2RlID0gVU5BU1NJR05FRDtcbiAgICAgICAgICBsZWFkU3Vycm9nYXRlID0gLTE7XG4gICAgICAgIH1cbiAgICAgICAgdmFyIGRiY3NDb2RlID0gVU5BU1NJR05FRDtcbiAgICAgICAgaWYgKHNlcU9iaiAhPT0gdm9pZCAwICYmIHVDb2RlICE9IFVOQVNTSUdORUQpIHtcbiAgICAgICAgICB2YXIgcmVzQ29kZSA9IHNlcU9ialt1Q29kZV07XG4gICAgICAgICAgaWYgKHR5cGVvZiByZXNDb2RlID09PSBcIm9iamVjdFwiKSB7XG4gICAgICAgICAgICBzZXFPYmogPSByZXNDb2RlO1xuICAgICAgICAgICAgY29udGludWU7XG4gICAgICAgICAgfSBlbHNlIGlmICh0eXBlb2YgcmVzQ29kZSA9PSBcIm51bWJlclwiKSB7XG4gICAgICAgICAgICBkYmNzQ29kZSA9IHJlc0NvZGU7XG4gICAgICAgICAgfSBlbHNlIGlmIChyZXNDb2RlID09IHZvaWQgMCkge1xuICAgICAgICAgICAgcmVzQ29kZSA9IHNlcU9ialtERUZfQ0hBUl07XG4gICAgICAgICAgICBpZiAocmVzQ29kZSAhPT0gdm9pZCAwKSB7XG4gICAgICAgICAgICAgIGRiY3NDb2RlID0gcmVzQ29kZTtcbiAgICAgICAgICAgICAgbmV4dENoYXIgPSB1Q29kZTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICAgIHNlcU9iaiA9IHZvaWQgMDtcbiAgICAgICAgfSBlbHNlIGlmICh1Q29kZSA+PSAwKSB7XG4gICAgICAgICAgdmFyIHN1YnRhYmxlID0gdGhpcy5lbmNvZGVUYWJsZVt1Q29kZSA+PiA4XTtcbiAgICAgICAgICBpZiAoc3VidGFibGUgIT09IHZvaWQgMClcbiAgICAgICAgICAgIGRiY3NDb2RlID0gc3VidGFibGVbdUNvZGUgJiAyNTVdO1xuICAgICAgICAgIGlmIChkYmNzQ29kZSA8PSBTRVFfU1RBUlQpIHtcbiAgICAgICAgICAgIHNlcU9iaiA9IHRoaXMuZW5jb2RlVGFibGVTZXFbU0VRX1NUQVJUIC0gZGJjc0NvZGVdO1xuICAgICAgICAgICAgY29udGludWU7XG4gICAgICAgICAgfVxuICAgICAgICAgIGlmIChkYmNzQ29kZSA9PSBVTkFTU0lHTkVEICYmIHRoaXMuZ2IxODAzMCkge1xuICAgICAgICAgICAgdmFyIGlkeCA9IGZpbmRJZHgodGhpcy5nYjE4MDMwLnVDaGFycywgdUNvZGUpO1xuICAgICAgICAgICAgaWYgKGlkeCAhPSAtMSkge1xuICAgICAgICAgICAgICB2YXIgZGJjc0NvZGUgPSB0aGlzLmdiMTgwMzAuZ2JDaGFyc1tpZHhdICsgKHVDb2RlIC0gdGhpcy5nYjE4MDMwLnVDaGFyc1tpZHhdKTtcbiAgICAgICAgICAgICAgbmV3QnVmW2orK10gPSAxMjkgKyBNYXRoLmZsb29yKGRiY3NDb2RlIC8gMTI2MDApO1xuICAgICAgICAgICAgICBkYmNzQ29kZSA9IGRiY3NDb2RlICUgMTI2MDA7XG4gICAgICAgICAgICAgIG5ld0J1ZltqKytdID0gNDggKyBNYXRoLmZsb29yKGRiY3NDb2RlIC8gMTI2MCk7XG4gICAgICAgICAgICAgIGRiY3NDb2RlID0gZGJjc0NvZGUgJSAxMjYwO1xuICAgICAgICAgICAgICBuZXdCdWZbaisrXSA9IDEyOSArIE1hdGguZmxvb3IoZGJjc0NvZGUgLyAxMCk7XG4gICAgICAgICAgICAgIGRiY3NDb2RlID0gZGJjc0NvZGUgJSAxMDtcbiAgICAgICAgICAgICAgbmV3QnVmW2orK10gPSA0OCArIGRiY3NDb2RlO1xuICAgICAgICAgICAgICBjb250aW51ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGRiY3NDb2RlID09PSBVTkFTU0lHTkVEKVxuICAgICAgICAgIGRiY3NDb2RlID0gdGhpcy5kZWZhdWx0Q2hhclNpbmdsZUJ5dGU7XG4gICAgICAgIGlmIChkYmNzQ29kZSA8IDI1Nikge1xuICAgICAgICAgIG5ld0J1ZltqKytdID0gZGJjc0NvZGU7XG4gICAgICAgIH0gZWxzZSBpZiAoZGJjc0NvZGUgPCA2NTUzNikge1xuICAgICAgICAgIG5ld0J1ZltqKytdID0gZGJjc0NvZGUgPj4gODtcbiAgICAgICAgICBuZXdCdWZbaisrXSA9IGRiY3NDb2RlICYgMjU1O1xuICAgICAgICB9IGVsc2UgaWYgKGRiY3NDb2RlIDwgMTY3NzcyMTYpIHtcbiAgICAgICAgICBuZXdCdWZbaisrXSA9IGRiY3NDb2RlID4+IDE2O1xuICAgICAgICAgIG5ld0J1ZltqKytdID0gZGJjc0NvZGUgPj4gOCAmIDI1NTtcbiAgICAgICAgICBuZXdCdWZbaisrXSA9IGRiY3NDb2RlICYgMjU1O1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIG5ld0J1ZltqKytdID0gZGJjc0NvZGUgPj4+IDI0O1xuICAgICAgICAgIG5ld0J1ZltqKytdID0gZGJjc0NvZGUgPj4+IDE2ICYgMjU1O1xuICAgICAgICAgIG5ld0J1ZltqKytdID0gZGJjc0NvZGUgPj4+IDggJiAyNTU7XG4gICAgICAgICAgbmV3QnVmW2orK10gPSBkYmNzQ29kZSAmIDI1NTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgdGhpcy5zZXFPYmogPSBzZXFPYmo7XG4gICAgICB0aGlzLmxlYWRTdXJyb2dhdGUgPSBsZWFkU3Vycm9nYXRlO1xuICAgICAgcmV0dXJuIG5ld0J1Zi5zbGljZSgwLCBqKTtcbiAgICB9O1xuICAgIERCQ1NFbmNvZGVyLnByb3RvdHlwZS5lbmQgPSBmdW5jdGlvbigpIHtcbiAgICAgIGlmICh0aGlzLmxlYWRTdXJyb2dhdGUgPT09IC0xICYmIHRoaXMuc2VxT2JqID09PSB2b2lkIDApXG4gICAgICAgIHJldHVybjtcbiAgICAgIHZhciBuZXdCdWYgPSBCdWZmZXIyLmFsbG9jKDEwKSwgaiA9IDA7XG4gICAgICBpZiAodGhpcy5zZXFPYmopIHtcbiAgICAgICAgdmFyIGRiY3NDb2RlID0gdGhpcy5zZXFPYmpbREVGX0NIQVJdO1xuICAgICAgICBpZiAoZGJjc0NvZGUgIT09IHZvaWQgMCkge1xuICAgICAgICAgIGlmIChkYmNzQ29kZSA8IDI1Nikge1xuICAgICAgICAgICAgbmV3QnVmW2orK10gPSBkYmNzQ29kZTtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgbmV3QnVmW2orK10gPSBkYmNzQ29kZSA+PiA4O1xuICAgICAgICAgICAgbmV3QnVmW2orK10gPSBkYmNzQ29kZSAmIDI1NTtcbiAgICAgICAgICB9XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5zZXFPYmogPSB2b2lkIDA7XG4gICAgICB9XG4gICAgICBpZiAodGhpcy5sZWFkU3Vycm9nYXRlICE9PSAtMSkge1xuICAgICAgICBuZXdCdWZbaisrXSA9IHRoaXMuZGVmYXVsdENoYXJTaW5nbGVCeXRlO1xuICAgICAgICB0aGlzLmxlYWRTdXJyb2dhdGUgPSAtMTtcbiAgICAgIH1cbiAgICAgIHJldHVybiBuZXdCdWYuc2xpY2UoMCwgaik7XG4gICAgfTtcbiAgICBEQkNTRW5jb2Rlci5wcm90b3R5cGUuZmluZElkeCA9IGZpbmRJZHg7XG4gICAgZnVuY3Rpb24gREJDU0RlY29kZXIob3B0aW9ucywgY29kZWMpIHtcbiAgICAgIHRoaXMubm9kZUlkeCA9IDA7XG4gICAgICB0aGlzLnByZXZCeXRlcyA9IFtdO1xuICAgICAgdGhpcy5kZWNvZGVUYWJsZXMgPSBjb2RlYy5kZWNvZGVUYWJsZXM7XG4gICAgICB0aGlzLmRlY29kZVRhYmxlU2VxID0gY29kZWMuZGVjb2RlVGFibGVTZXE7XG4gICAgICB0aGlzLmRlZmF1bHRDaGFyVW5pY29kZSA9IGNvZGVjLmRlZmF1bHRDaGFyVW5pY29kZTtcbiAgICAgIHRoaXMuZ2IxODAzMCA9IGNvZGVjLmdiMTgwMzA7XG4gICAgfVxuICAgIERCQ1NEZWNvZGVyLnByb3RvdHlwZS53cml0ZSA9IGZ1bmN0aW9uKGJ1Zikge1xuICAgICAgdmFyIG5ld0J1ZiA9IEJ1ZmZlcjIuYWxsb2MoYnVmLmxlbmd0aCAqIDIpLCBub2RlSWR4ID0gdGhpcy5ub2RlSWR4LCBwcmV2Qnl0ZXMgPSB0aGlzLnByZXZCeXRlcywgcHJldk9mZnNldCA9IHRoaXMucHJldkJ5dGVzLmxlbmd0aCwgc2VxU3RhcnQgPSAtdGhpcy5wcmV2Qnl0ZXMubGVuZ3RoLCB1Q29kZTtcbiAgICAgIGZvciAodmFyIGkyID0gMCwgaiA9IDA7IGkyIDwgYnVmLmxlbmd0aDsgaTIrKykge1xuICAgICAgICB2YXIgY3VyQnl0ZSA9IGkyID49IDAgPyBidWZbaTJdIDogcHJldkJ5dGVzW2kyICsgcHJldk9mZnNldF07XG4gICAgICAgIHZhciB1Q29kZSA9IHRoaXMuZGVjb2RlVGFibGVzW25vZGVJZHhdW2N1ckJ5dGVdO1xuICAgICAgICBpZiAodUNvZGUgPj0gMCkge1xuICAgICAgICB9IGVsc2UgaWYgKHVDb2RlID09PSBVTkFTU0lHTkVEKSB7XG4gICAgICAgICAgdUNvZGUgPSB0aGlzLmRlZmF1bHRDaGFyVW5pY29kZS5jaGFyQ29kZUF0KDApO1xuICAgICAgICAgIGkyID0gc2VxU3RhcnQ7XG4gICAgICAgIH0gZWxzZSBpZiAodUNvZGUgPT09IEdCMTgwMzBfQ09ERSkge1xuICAgICAgICAgIGlmIChpMiA+PSAzKSB7XG4gICAgICAgICAgICB2YXIgcHRyID0gKGJ1ZltpMiAtIDNdIC0gMTI5KSAqIDEyNjAwICsgKGJ1ZltpMiAtIDJdIC0gNDgpICogMTI2MCArIChidWZbaTIgLSAxXSAtIDEyOSkgKiAxMCArIChjdXJCeXRlIC0gNDgpO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB2YXIgcHRyID0gKHByZXZCeXRlc1tpMiAtIDMgKyBwcmV2T2Zmc2V0XSAtIDEyOSkgKiAxMjYwMCArICgoaTIgLSAyID49IDAgPyBidWZbaTIgLSAyXSA6IHByZXZCeXRlc1tpMiAtIDIgKyBwcmV2T2Zmc2V0XSkgLSA0OCkgKiAxMjYwICsgKChpMiAtIDEgPj0gMCA/IGJ1ZltpMiAtIDFdIDogcHJldkJ5dGVzW2kyIC0gMSArIHByZXZPZmZzZXRdKSAtIDEyOSkgKiAxMCArIChjdXJCeXRlIC0gNDgpO1xuICAgICAgICAgIH1cbiAgICAgICAgICB2YXIgaWR4ID0gZmluZElkeCh0aGlzLmdiMTgwMzAuZ2JDaGFycywgcHRyKTtcbiAgICAgICAgICB1Q29kZSA9IHRoaXMuZ2IxODAzMC51Q2hhcnNbaWR4XSArIHB0ciAtIHRoaXMuZ2IxODAzMC5nYkNoYXJzW2lkeF07XG4gICAgICAgIH0gZWxzZSBpZiAodUNvZGUgPD0gTk9ERV9TVEFSVCkge1xuICAgICAgICAgIG5vZGVJZHggPSBOT0RFX1NUQVJUIC0gdUNvZGU7XG4gICAgICAgICAgY29udGludWU7XG4gICAgICAgIH0gZWxzZSBpZiAodUNvZGUgPD0gU0VRX1NUQVJUKSB7XG4gICAgICAgICAgdmFyIHNlcSA9IHRoaXMuZGVjb2RlVGFibGVTZXFbU0VRX1NUQVJUIC0gdUNvZGVdO1xuICAgICAgICAgIGZvciAodmFyIGsgPSAwOyBrIDwgc2VxLmxlbmd0aCAtIDE7IGsrKykge1xuICAgICAgICAgICAgdUNvZGUgPSBzZXFba107XG4gICAgICAgICAgICBuZXdCdWZbaisrXSA9IHVDb2RlICYgMjU1O1xuICAgICAgICAgICAgbmV3QnVmW2orK10gPSB1Q29kZSA+PiA4O1xuICAgICAgICAgIH1cbiAgICAgICAgICB1Q29kZSA9IHNlcVtzZXEubGVuZ3RoIC0gMV07XG4gICAgICAgIH0gZWxzZVxuICAgICAgICAgIHRocm93IG5ldyBFcnJvcihcImljb252LWxpdGUgaW50ZXJuYWwgZXJyb3I6IGludmFsaWQgZGVjb2RpbmcgdGFibGUgdmFsdWUgXCIgKyB1Q29kZSArIFwiIGF0IFwiICsgbm9kZUlkeCArIFwiL1wiICsgY3VyQnl0ZSk7XG4gICAgICAgIGlmICh1Q29kZSA+PSA2NTUzNikge1xuICAgICAgICAgIHVDb2RlIC09IDY1NTM2O1xuICAgICAgICAgIHZhciB1Q29kZUxlYWQgPSA1NTI5NiB8IHVDb2RlID4+IDEwO1xuICAgICAgICAgIG5ld0J1ZltqKytdID0gdUNvZGVMZWFkICYgMjU1O1xuICAgICAgICAgIG5ld0J1ZltqKytdID0gdUNvZGVMZWFkID4+IDg7XG4gICAgICAgICAgdUNvZGUgPSA1NjMyMCB8IHVDb2RlICYgMTAyMztcbiAgICAgICAgfVxuICAgICAgICBuZXdCdWZbaisrXSA9IHVDb2RlICYgMjU1O1xuICAgICAgICBuZXdCdWZbaisrXSA9IHVDb2RlID4+IDg7XG4gICAgICAgIG5vZGVJZHggPSAwO1xuICAgICAgICBzZXFTdGFydCA9IGkyICsgMTtcbiAgICAgIH1cbiAgICAgIHRoaXMubm9kZUlkeCA9IG5vZGVJZHg7XG4gICAgICB0aGlzLnByZXZCeXRlcyA9IHNlcVN0YXJ0ID49IDAgPyBBcnJheS5wcm90b3R5cGUuc2xpY2UuY2FsbChidWYsIHNlcVN0YXJ0KSA6IHByZXZCeXRlcy5zbGljZShzZXFTdGFydCArIHByZXZPZmZzZXQpLmNvbmNhdChBcnJheS5wcm90b3R5cGUuc2xpY2UuY2FsbChidWYpKTtcbiAgICAgIHJldHVybiBuZXdCdWYuc2xpY2UoMCwgaikudG9TdHJpbmcoXCJ1Y3MyXCIpO1xuICAgIH07XG4gICAgREJDU0RlY29kZXIucHJvdG90eXBlLmVuZCA9IGZ1bmN0aW9uKCkge1xuICAgICAgdmFyIHJldCA9IFwiXCI7XG4gICAgICB3aGlsZSAodGhpcy5wcmV2Qnl0ZXMubGVuZ3RoID4gMCkge1xuICAgICAgICByZXQgKz0gdGhpcy5kZWZhdWx0Q2hhclVuaWNvZGU7XG4gICAgICAgIHZhciBieXRlc0FyciA9IHRoaXMucHJldkJ5dGVzLnNsaWNlKDEpO1xuICAgICAgICB0aGlzLnByZXZCeXRlcyA9IFtdO1xuICAgICAgICB0aGlzLm5vZGVJZHggPSAwO1xuICAgICAgICBpZiAoYnl0ZXNBcnIubGVuZ3RoID4gMClcbiAgICAgICAgICByZXQgKz0gdGhpcy53cml0ZShieXRlc0Fycik7XG4gICAgICB9XG4gICAgICB0aGlzLnByZXZCeXRlcyA9IFtdO1xuICAgICAgdGhpcy5ub2RlSWR4ID0gMDtcbiAgICAgIHJldHVybiByZXQ7XG4gICAgfTtcbiAgICBmdW5jdGlvbiBmaW5kSWR4KHRhYmxlLCB2YWwpIHtcbiAgICAgIGlmICh0YWJsZVswXSA+IHZhbClcbiAgICAgICAgcmV0dXJuIC0xO1xuICAgICAgdmFyIGwgPSAwLCByID0gdGFibGUubGVuZ3RoO1xuICAgICAgd2hpbGUgKGwgPCByIC0gMSkge1xuICAgICAgICB2YXIgbWlkID0gbCArIChyIC0gbCArIDEgPj4gMSk7XG4gICAgICAgIGlmICh0YWJsZVttaWRdIDw9IHZhbClcbiAgICAgICAgICBsID0gbWlkO1xuICAgICAgICBlbHNlXG4gICAgICAgICAgciA9IG1pZDtcbiAgICAgIH1cbiAgICAgIHJldHVybiBsO1xuICAgIH1cbiAgfVxufSk7XG5cbi8vIG5vZGVfbW9kdWxlcy9ib2R5LXBhcnNlci9ub2RlX21vZHVsZXMvaWNvbnYtbGl0ZS9lbmNvZGluZ3MvdGFibGVzL3NoaWZ0amlzLmpzb25cbnZhciByZXF1aXJlX3NoaWZ0amlzMiA9IF9fY29tbW9uSlMoe1xuICBcIm5vZGVfbW9kdWxlcy9ib2R5LXBhcnNlci9ub2RlX21vZHVsZXMvaWNvbnYtbGl0ZS9lbmNvZGluZ3MvdGFibGVzL3NoaWZ0amlzLmpzb25cIihleHBvcnRzMiwgbW9kdWxlMikge1xuICAgIG1vZHVsZTIuZXhwb3J0cyA9IFtcbiAgICAgIFtcIjBcIiwgXCJcXDBcIiwgMTI4XSxcbiAgICAgIFtcImExXCIsIFwiXFx1RkY2MVwiLCA2Ml0sXG4gICAgICBbXCI4MTQwXCIsIFwiXFx1MzAwMFxcdTMwMDFcXHUzMDAyXFx1RkYwQ1xcdUZGMEVcXHUzMEZCXFx1RkYxQVxcdUZGMUJcXHVGRjFGXFx1RkYwMVxcdTMwOUJcXHUzMDlDXFx4QjRcXHVGRjQwXFx4QThcXHVGRjNFXFx1RkZFM1xcdUZGM0ZcXHUzMEZEXFx1MzBGRVxcdTMwOURcXHUzMDlFXFx1MzAwM1xcdTRFRERcXHUzMDA1XFx1MzAwNlxcdTMwMDdcXHUzMEZDXFx1MjAxNVxcdTIwMTBcXHVGRjBGXFx1RkYzQ1xcdUZGNUVcXHUyMjI1XFx1RkY1Q1xcdTIwMjZcXHUyMDI1XFx1MjAxOFxcdTIwMTlcXHUyMDFDXFx1MjAxRFxcdUZGMDhcXHVGRjA5XFx1MzAxNFxcdTMwMTVcXHVGRjNCXFx1RkYzRFxcdUZGNUJcXHVGRjVEXFx1MzAwOFwiLCA5LCBcIlxcdUZGMEJcXHVGRjBEXFx4QjFcXHhEN1wiXSxcbiAgICAgIFtcIjgxODBcIiwgXCJcXHhGN1xcdUZGMURcXHUyMjYwXFx1RkYxQ1xcdUZGMUVcXHUyMjY2XFx1MjI2N1xcdTIyMUVcXHUyMjM0XFx1MjY0MlxcdTI2NDBcXHhCMFxcdTIwMzJcXHUyMDMzXFx1MjEwM1xcdUZGRTVcXHVGRjA0XFx1RkZFMFxcdUZGRTFcXHVGRjA1XFx1RkYwM1xcdUZGMDZcXHVGRjBBXFx1RkYyMFxceEE3XFx1MjYwNlxcdTI2MDVcXHUyNUNCXFx1MjVDRlxcdTI1Q0VcXHUyNUM3XFx1MjVDNlxcdTI1QTFcXHUyNUEwXFx1MjVCM1xcdTI1QjJcXHUyNUJEXFx1MjVCQ1xcdTIwM0JcXHUzMDEyXFx1MjE5MlxcdTIxOTBcXHUyMTkxXFx1MjE5M1xcdTMwMTNcIl0sXG4gICAgICBbXCI4MWI4XCIsIFwiXFx1MjIwOFxcdTIyMEJcXHUyMjg2XFx1MjI4N1xcdTIyODJcXHUyMjgzXFx1MjIyQVxcdTIyMjlcIl0sXG4gICAgICBbXCI4MWM4XCIsIFwiXFx1MjIyN1xcdTIyMjhcXHVGRkUyXFx1MjFEMlxcdTIxRDRcXHUyMjAwXFx1MjIwM1wiXSxcbiAgICAgIFtcIjgxZGFcIiwgXCJcXHUyMjIwXFx1MjJBNVxcdTIzMTJcXHUyMjAyXFx1MjIwN1xcdTIyNjFcXHUyMjUyXFx1MjI2QVxcdTIyNkJcXHUyMjFBXFx1MjIzRFxcdTIyMURcXHUyMjM1XFx1MjIyQlxcdTIyMkNcIl0sXG4gICAgICBbXCI4MWYwXCIsIFwiXFx1MjEyQlxcdTIwMzBcXHUyNjZGXFx1MjY2RFxcdTI2NkFcXHUyMDIwXFx1MjAyMVxceEI2XCJdLFxuICAgICAgW1wiODFmY1wiLCBcIlxcdTI1RUZcIl0sXG4gICAgICBbXCI4MjRmXCIsIFwiXFx1RkYxMFwiLCA5XSxcbiAgICAgIFtcIjgyNjBcIiwgXCJcXHVGRjIxXCIsIDI1XSxcbiAgICAgIFtcIjgyODFcIiwgXCJcXHVGRjQxXCIsIDI1XSxcbiAgICAgIFtcIjgyOWZcIiwgXCJcXHUzMDQxXCIsIDgyXSxcbiAgICAgIFtcIjgzNDBcIiwgXCJcXHUzMEExXCIsIDYyXSxcbiAgICAgIFtcIjgzODBcIiwgXCJcXHUzMEUwXCIsIDIyXSxcbiAgICAgIFtcIjgzOWZcIiwgXCJcXHUwMzkxXCIsIDE2LCBcIlxcdTAzQTNcIiwgNl0sXG4gICAgICBbXCI4M2JmXCIsIFwiXFx1MDNCMVwiLCAxNiwgXCJcXHUwM0MzXCIsIDZdLFxuICAgICAgW1wiODQ0MFwiLCBcIlxcdTA0MTBcIiwgNSwgXCJcXHUwNDAxXFx1MDQxNlwiLCAyNV0sXG4gICAgICBbXCI4NDcwXCIsIFwiXFx1MDQzMFwiLCA1LCBcIlxcdTA0NTFcXHUwNDM2XCIsIDddLFxuICAgICAgW1wiODQ4MFwiLCBcIlxcdTA0M0VcIiwgMTddLFxuICAgICAgW1wiODQ5ZlwiLCBcIlxcdTI1MDBcXHUyNTAyXFx1MjUwQ1xcdTI1MTBcXHUyNTE4XFx1MjUxNFxcdTI1MUNcXHUyNTJDXFx1MjUyNFxcdTI1MzRcXHUyNTNDXFx1MjUwMVxcdTI1MDNcXHUyNTBGXFx1MjUxM1xcdTI1MUJcXHUyNTE3XFx1MjUyM1xcdTI1MzNcXHUyNTJCXFx1MjUzQlxcdTI1NEJcXHUyNTIwXFx1MjUyRlxcdTI1MjhcXHUyNTM3XFx1MjUzRlxcdTI1MURcXHUyNTMwXFx1MjUyNVxcdTI1MzhcXHUyNTQyXCJdLFxuICAgICAgW1wiODc0MFwiLCBcIlxcdTI0NjBcIiwgMTksIFwiXFx1MjE2MFwiLCA5XSxcbiAgICAgIFtcIjg3NWZcIiwgXCJcXHUzMzQ5XFx1MzMxNFxcdTMzMjJcXHUzMzREXFx1MzMxOFxcdTMzMjdcXHUzMzAzXFx1MzMzNlxcdTMzNTFcXHUzMzU3XFx1MzMwRFxcdTMzMjZcXHUzMzIzXFx1MzMyQlxcdTMzNEFcXHUzMzNCXFx1MzM5Q1xcdTMzOURcXHUzMzlFXFx1MzM4RVxcdTMzOEZcXHUzM0M0XFx1MzNBMVwiXSxcbiAgICAgIFtcIjg3N2VcIiwgXCJcXHUzMzdCXCJdLFxuICAgICAgW1wiODc4MFwiLCBcIlxcdTMwMURcXHUzMDFGXFx1MjExNlxcdTMzQ0RcXHUyMTIxXFx1MzJBNFwiLCA0LCBcIlxcdTMyMzFcXHUzMjMyXFx1MzIzOVxcdTMzN0VcXHUzMzdEXFx1MzM3Q1xcdTIyNTJcXHUyMjYxXFx1MjIyQlxcdTIyMkVcXHUyMjExXFx1MjIxQVxcdTIyQTVcXHUyMjIwXFx1MjIxRlxcdTIyQkZcXHUyMjM1XFx1MjIyOVxcdTIyMkFcIl0sXG4gICAgICBbXCI4ODlmXCIsIFwiXFx1NEU5Q1xcdTU1MTZcXHU1QTAzXFx1OTYzRlxcdTU0QzBcXHU2MTFCXFx1NjMyOFxcdTU5RjZcXHU5MDIyXFx1ODQ3NVxcdTgzMUNcXHU3QTUwXFx1NjBBQVxcdTYzRTFcXHU2RTI1XFx1NjVFRFxcdTg0NjZcXHU4MkE2XFx1OUJGNVxcdTY4OTNcXHU1NzI3XFx1NjVBMVxcdTYyNzFcXHU1QjlCXFx1NTlEMFxcdTg2N0JcXHU5OEY0XFx1N0Q2MlxcdTdEQkVcXHU5QjhFXFx1NjIxNlxcdTdDOUZcXHU4OEI3XFx1NUI4OVxcdTVFQjVcXHU2MzA5XFx1NjY5N1xcdTY4NDhcXHU5NUM3XFx1OTc4RFxcdTY3NEZcXHU0RUU1XFx1NEYwQVxcdTRGNERcXHU0RjlEXFx1NTA0OVxcdTU2RjJcXHU1OTM3XFx1NTlENFxcdTVBMDFcXHU1QzA5XFx1NjBERlxcdTYxMEZcXHU2MTcwXFx1NjYxM1xcdTY5MDVcXHU3MEJBXFx1NzU0RlxcdTc1NzBcXHU3OUZCXFx1N0RBRFxcdTdERUZcXHU4MEMzXFx1ODQwRVxcdTg4NjNcXHU4QjAyXFx1OTA1NVxcdTkwN0FcXHU1MzNCXFx1NEU5NVxcdTRFQTVcXHU1N0RGXFx1ODBCMlxcdTkwQzFcXHU3OEVGXFx1NEUwMFxcdTU4RjFcXHU2RUEyXFx1OTAzOFxcdTdBMzJcXHU4MzI4XFx1ODI4QlxcdTlDMkZcXHU1MTQxXFx1NTM3MFxcdTU0QkRcXHU1NEUxXFx1NTZFMFxcdTU5RkJcXHU1RjE1XFx1OThGMlxcdTZERUJcXHU4MEU0XFx1ODUyRFwiXSxcbiAgICAgIFtcIjg5NDBcIiwgXCJcXHU5NjYyXFx1OTY3MFxcdTk2QTBcXHU5N0ZCXFx1NTQwQlxcdTUzRjNcXHU1Qjg3XFx1NzBDRlxcdTdGQkRcXHU4RkMyXFx1OTZFOFxcdTUzNkZcXHU5RDVDXFx1N0FCQVxcdTRFMTFcXHU3ODkzXFx1ODFGQ1xcdTZFMjZcXHU1NjE4XFx1NTUwNFxcdTZCMURcXHU4NTFBXFx1OUMzQlxcdTU5RTVcXHU1M0E5XFx1NkQ2NlxcdTc0RENcXHU5NThGXFx1NTY0MlxcdTRFOTFcXHU5MDRCXFx1OTZGMlxcdTgzNEZcXHU5OTBDXFx1NTNFMVxcdTU1QjZcXHU1QjMwXFx1NUY3MVxcdTY2MjBcXHU2NkYzXFx1NjgwNFxcdTZDMzhcXHU2Q0YzXFx1NkQyOVxcdTc0NUJcXHU3NkM4XFx1N0E0RVxcdTk4MzRcXHU4MkYxXFx1ODg1QlxcdThBNjBcXHU5MkVEXFx1NkRCMlxcdTc1QUJcXHU3NkNBXFx1OTlDNVxcdTYwQTZcXHU4QjAxXFx1OEQ4QVxcdTk1QjJcXHU2OThFXFx1NTNBRFxcdTUxODZcIl0sXG4gICAgICBbXCI4OTgwXCIsIFwiXFx1NTcxMlxcdTU4MzBcXHU1OTQ0XFx1NUJCNFxcdTVFRjZcXHU2MDI4XFx1NjNBOVxcdTYzRjRcXHU2Q0JGXFx1NkYxNFxcdTcwOEVcXHU3MTE0XFx1NzE1OVxcdTcxRDVcXHU3MzNGXFx1N0UwMVxcdTgyNzZcXHU4MkQxXFx1ODU5N1xcdTkwNjBcXHU5MjVCXFx1OUQxQlxcdTU4NjlcXHU2NUJDXFx1NkM1QVxcdTc1MjVcXHU1MUY5XFx1NTkyRVxcdTU5NjVcXHU1RjgwXFx1NUZEQ1xcdTYyQkNcXHU2NUZBXFx1NkEyQVxcdTZCMjdcXHU2QkI0XFx1NzM4QlxcdTdGQzFcXHU4OTU2XFx1OUQyQ1xcdTlEMEVcXHU5RUM0XFx1NUNBMVxcdTZDOTZcXHU4MzdCXFx1NTEwNFxcdTVDNEJcXHU2MUI2XFx1ODFDNlxcdTY4NzZcXHU3MjYxXFx1NEU1OVxcdTRGRkFcXHU1Mzc4XFx1NjA2OVxcdTZFMjlcXHU3QTRGXFx1OTdGM1xcdTRFMEJcXHU1MzE2XFx1NEVFRVxcdTRGNTVcXHU0RjNEXFx1NEZBMVxcdTRGNzNcXHU1MkEwXFx1NTNFRlxcdTU2MDlcXHU1OTBGXFx1NUFDMVxcdTVCQjZcXHU1QkUxXFx1NzlEMVxcdTY2ODdcXHU2NzlDXFx1NjdCNlxcdTZCNENcXHU2Q0IzXFx1NzA2QlxcdTczQzJcXHU3OThEXFx1NzlCRVxcdTdBM0NcXHU3Qjg3XFx1ODJCMVxcdTgyREJcXHU4MzA0XFx1ODM3N1xcdTgzRUZcXHU4M0QzXFx1ODc2NlxcdThBQjJcXHU1NjI5XFx1OENBOFxcdThGRTZcXHU5MDRFXFx1OTcxRVxcdTg2OEFcXHU0RkM0XFx1NUNFOFxcdTYyMTFcXHU3MjU5XFx1NzUzQlxcdTgxRTVcXHU4MkJEXFx1ODZGRVxcdThDQzBcXHU5NkM1XFx1OTkxM1xcdTk5RDVcXHU0RUNCXFx1NEYxQVxcdTg5RTNcXHU1NkRFXFx1NTg0QVxcdTU4Q0FcXHU1RUZCXFx1NUZFQlxcdTYwMkFcXHU2MDk0XFx1NjA2MlxcdTYxRDBcXHU2MjEyXFx1NjJEMFxcdTY1MzlcIl0sXG4gICAgICBbXCI4YTQwXCIsIFwiXFx1OUI0MVxcdTY2NjZcXHU2OEIwXFx1NkQ3N1xcdTcwNzBcXHU3NTRDXFx1NzY4NlxcdTdENzVcXHU4MkE1XFx1ODdGOVxcdTk1OEJcXHU5NjhFXFx1OEM5RFxcdTUxRjFcXHU1MkJFXFx1NTkxNlxcdTU0QjNcXHU1QkIzXFx1NUQxNlxcdTYxNjhcXHU2OTgyXFx1NkRBRlxcdTc4OERcXHU4NENCXFx1ODg1N1xcdThBNzJcXHU5M0E3XFx1OUFCOFxcdTZENkNcXHU5OUE4XFx1ODZEOVxcdTU3QTNcXHU2N0ZGXFx1ODZDRVxcdTkyMEVcXHU1MjgzXFx1NTY4N1xcdTU0MDRcXHU1RUQzXFx1NjJFMVxcdTY0QjlcXHU2ODNDXFx1NjgzOFxcdTZCQkJcXHU3MzcyXFx1NzhCQVxcdTdBNkJcXHU4OTlBXFx1ODlEMlxcdThENkJcXHU4RjAzXFx1OTBFRFxcdTk1QTNcXHU5Njk0XFx1OTc2OVxcdTVCNjZcXHU1Q0IzXFx1Njk3RFxcdTk4NERcXHU5ODRFXFx1NjM5QlxcdTdCMjBcXHU2QTJCXCJdLFxuICAgICAgW1wiOGE4MFwiLCBcIlxcdTZBN0ZcXHU2OEI2XFx1OUMwRFxcdTZGNUZcXHU1MjcyXFx1NTU5RFxcdTYwNzBcXHU2MkVDXFx1NkQzQlxcdTZFMDdcXHU2RUQxXFx1ODQ1QlxcdTg5MTBcXHU4RjQ0XFx1NEUxNFxcdTlDMzlcXHU1M0Y2XFx1NjkxQlxcdTZBM0FcXHU5Nzg0XFx1NjgyQVxcdTUxNUNcXHU3QUMzXFx1ODRCMlxcdTkxRENcXHU5MzhDXFx1NTY1QlxcdTlEMjhcXHU2ODIyXFx1ODMwNVxcdTg0MzFcXHU3Q0E1XFx1NTIwOFxcdTgyQzVcXHU3NEU2XFx1NEU3RVxcdTRGODNcXHU1MUEwXFx1NUJEMlxcdTUyMEFcXHU1MkQ4XFx1NTJFN1xcdTVERkJcXHU1NTlBXFx1NTgyQVxcdTU5RTZcXHU1QjhDXFx1NUI5OFxcdTVCREJcXHU1RTcyXFx1NUU3OVxcdTYwQTNcXHU2MTFGXFx1NjE2M1xcdTYxQkVcXHU2M0RCXFx1NjU2MlxcdTY3RDFcXHU2ODUzXFx1NjhGQVxcdTZCM0VcXHU2QjUzXFx1NkM1N1xcdTZGMjJcXHU2Rjk3XFx1NkY0NVxcdTc0QjBcXHU3NTE4XFx1NzZFM1xcdTc3MEJcXHU3QUZGXFx1N0JBMVxcdTdDMjFcXHU3REU5XFx1N0YzNlxcdTdGRjBcXHU4MDlEXFx1ODI2NlxcdTgzOUVcXHU4OUIzXFx1OEFDQ1xcdThDQUJcXHU5MDg0XFx1OTQ1MVxcdTk1OTNcXHU5NTkxXFx1OTVBMlxcdTk2NjVcXHU5N0QzXFx1OTkyOFxcdTgyMThcXHU0RTM4XFx1NTQyQlxcdTVDQjhcXHU1RENDXFx1NzNBOVxcdTc2NENcXHU3NzNDXFx1NUNBOVxcdTdGRUJcXHU4RDBCXFx1OTZDMVxcdTk4MTFcXHU5ODU0XFx1OTg1OFxcdTRGMDFcXHU0RjBFXFx1NTM3MVxcdTU1OUNcXHU1NjY4XFx1NTdGQVxcdTU5NDdcXHU1QjA5XFx1NUJDNFxcdTVDOTBcXHU1RTBDXFx1NUU3RVxcdTVGQ0NcXHU2M0VFXFx1NjczQVxcdTY1RDdcXHU2NUUyXFx1NjcxRlxcdTY4Q0JcXHU2OEM0XCJdLFxuICAgICAgW1wiOGI0MFwiLCBcIlxcdTZBNUZcXHU1RTMwXFx1NkJDNVxcdTZDMTdcXHU2QzdEXFx1NzU3RlxcdTc5NDhcXHU1QjYzXFx1N0EwMFxcdTdEMDBcXHU1RkJEXFx1ODk4RlxcdThBMThcXHU4Q0I0XFx1OEQ3N1xcdThFQ0NcXHU4RjFEXFx1OThFMlxcdTlBMEVcXHU5QjNDXFx1NEU4MFxcdTUwN0RcXHU1MTAwXFx1NTk5M1xcdTVCOUNcXHU2MjJGXFx1NjI4MFxcdTY0RUNcXHU2QjNBXFx1NzJBMFxcdTc1OTFcXHU3OTQ3XFx1N0ZBOVxcdTg3RkJcXHU4QUJDXFx1OEI3MFxcdTYzQUNcXHU4M0NBXFx1OTdBMFxcdTU0MDlcXHU1NDAzXFx1NTVBQlxcdTY4NTRcXHU2QTU4XFx1OEE3MFxcdTc4MjdcXHU2Nzc1XFx1OUVDRFxcdTUzNzRcXHU1QkEyXFx1ODExQVxcdTg2NTBcXHU5MDA2XFx1NEUxOFxcdTRFNDVcXHU0RUM3XFx1NEYxMVxcdTUzQ0FcXHU1NDM4XFx1NUJBRVxcdTVGMTNcXHU2MDI1XFx1NjU1MVwiXSxcbiAgICAgIFtcIjhiODBcIiwgXCJcXHU2NzNEXFx1NkM0MlxcdTZDNzJcXHU2Q0UzXFx1NzA3OFxcdTc0MDNcXHU3QTc2XFx1N0FBRVxcdTdCMDhcXHU3RDFBXFx1N0NGRVxcdTdENjZcXHU2NUU3XFx1NzI1QlxcdTUzQkJcXHU1QzQ1XFx1NURFOFxcdTYyRDJcXHU2MkUwXFx1NjMxOVxcdTZFMjBcXHU4NjVBXFx1OEEzMVxcdThERERcXHU5MkY4XFx1NkYwMVxcdTc5QTZcXHU5QjVBXFx1NEVBOFxcdTRFQUJcXHU0RUFDXFx1NEY5QlxcdTRGQTBcXHU1MEQxXFx1NTE0N1xcdTdBRjZcXHU1MTcxXFx1NTFGNlxcdTUzNTRcXHU1MzIxXFx1NTM3RlxcdTUzRUJcXHU1NUFDXFx1NTg4M1xcdTVDRTFcXHU1RjM3XFx1NUY0QVxcdTYwMkZcXHU2MDUwXFx1NjA2RFxcdTYzMUZcXHU2NTU5XFx1NkE0QlxcdTZDQzFcXHU3MkMyXFx1NzJFRFxcdTc3RUZcXHU4MEY4XFx1ODEwNVxcdTgyMDhcXHU4NTRFXFx1OTBGN1xcdTkzRTFcXHU5N0ZGXFx1OTk1N1xcdTlBNUFcXHU0RUYwXFx1NTFERFxcdTVDMkRcXHU2NjgxXFx1Njk2RFxcdTVDNDBcXHU2NkYyXFx1Njk3NVxcdTczODlcXHU2ODUwXFx1N0M4MVxcdTUwQzVcXHU1MkU0XFx1NTc0N1xcdTVERkVcXHU5MzI2XFx1NjVBNFxcdTZCMjNcXHU2QjNEXFx1NzQzNFxcdTc5ODFcXHU3OUJEXFx1N0I0QlxcdTdEQ0FcXHU4MkI5XFx1ODNDQ1xcdTg4N0ZcXHU4OTVGXFx1OEIzOVxcdThGRDFcXHU5MUQxXFx1NTQxRlxcdTkyODBcXHU0RTVEXFx1NTAzNlxcdTUzRTVcXHU1MzNBXFx1NzJEN1xcdTczOTZcXHU3N0U5XFx1ODJFNlxcdThFQUZcXHU5OUM2XFx1OTlDOFxcdTk5RDJcXHU1MTc3XFx1NjExQVxcdTg2NUVcXHU1NUIwXFx1N0E3QVxcdTUwNzZcXHU1QkQzXFx1OTA0N1xcdTk2ODVcXHU0RTMyXFx1NkFEQlxcdTkxRTdcXHU1QzUxXFx1NUM0OFwiXSxcbiAgICAgIFtcIjhjNDBcIiwgXCJcXHU2Mzk4XFx1N0E5RlxcdTZDOTNcXHU5Nzc0XFx1OEY2MVxcdTdBQUFcXHU3MThBXFx1OTY4OFxcdTdDODJcXHU2ODE3XFx1N0U3MFxcdTY4NTFcXHU5MzZDXFx1NTJGMlxcdTU0MUJcXHU4NUFCXFx1OEExM1xcdTdGQTRcXHU4RUNEXFx1OTBFMVxcdTUzNjZcXHU4ODg4XFx1Nzk0MVxcdTRGQzJcXHU1MEJFXFx1NTIxMVxcdTUxNDRcXHU1NTUzXFx1NTcyRFxcdTczRUFcXHU1NzhCXFx1NTk1MVxcdTVGNjJcXHU1Rjg0XFx1NjA3NVxcdTYxNzZcXHU2MTY3XFx1NjFBOVxcdTYzQjJcXHU2NDNBXFx1NjU2Q1xcdTY2NkZcXHU2ODQyXFx1NkUxM1xcdTc1NjZcXHU3QTNEXFx1N0NGQlxcdTdENENcXHU3RDk5XFx1N0U0QlxcdTdGNkJcXHU4MzBFXFx1ODM0QVxcdTg2Q0RcXHU4QTA4XFx1OEE2M1xcdThCNjZcXHU4RUZEXFx1OTgxQVxcdTlEOEZcXHU4MkI4XFx1OEZDRVxcdTlCRThcIl0sXG4gICAgICBbXCI4YzgwXCIsIFwiXFx1NTI4N1xcdTYyMUZcXHU2NDgzXFx1NkZDMFxcdTk2OTlcXHU2ODQxXFx1NTA5MVxcdTZCMjBcXHU2QzdBXFx1NkY1NFxcdTdBNzRcXHU3RDUwXFx1ODg0MFxcdThBMjNcXHU2NzA4XFx1NEVGNlxcdTUwMzlcXHU1MDI2XFx1NTA2NVxcdTUxN0NcXHU1MjM4XFx1NTI2M1xcdTU1QTdcXHU1NzBGXFx1NTgwNVxcdTVBQ0NcXHU1RUZBXFx1NjFCMlxcdTYxRjhcXHU2MkYzXFx1NjM3MlxcdTY5MUNcXHU2QTI5XFx1NzI3RFxcdTcyQUNcXHU3MzJFXFx1NzgxNFxcdTc4NkZcXHU3RDc5XFx1NzcwQ1xcdTgwQTlcXHU4OThCXFx1OEIxOVxcdThDRTJcXHU4RUQyXFx1OTA2M1xcdTkzNzVcXHU5NjdBXFx1OTg1NVxcdTlBMTNcXHU5RTc4XFx1NTE0M1xcdTUzOUZcXHU1M0IzXFx1NUU3QlxcdTVGMjZcXHU2RTFCXFx1NkU5MFxcdTczODRcXHU3M0ZFXFx1N0Q0M1xcdTgyMzdcXHU4QTAwXFx1OEFGQVxcdTk2NTBcXHU0RTRFXFx1NTAwQlxcdTUzRTRcXHU1NDdDXFx1NTZGQVxcdTU5RDFcXHU1QjY0XFx1NURGMVxcdTVFQUJcXHU1RjI3XFx1NjIzOFxcdTY1NDVcXHU2N0FGXFx1NkU1NlxcdTcyRDBcXHU3Q0NBXFx1ODhCNFxcdTgwQTFcXHU4MEUxXFx1ODNGMFxcdTg2NEVcXHU4QTg3XFx1OERFOFxcdTkyMzdcXHU5NkM3XFx1OTg2N1xcdTlGMTNcXHU0RTk0XFx1NEU5MlxcdTRGMERcXHU1MzQ4XFx1NTQ0OVxcdTU0M0VcXHU1QTJGXFx1NUY4Q1xcdTVGQTFcXHU2MDlGXFx1NjhBN1xcdTZBOEVcXHU3NDVBXFx1Nzg4MVxcdThBOUVcXHU4QUE0XFx1OEI3N1xcdTkxOTBcXHU0RTVFXFx1OUJDOVxcdTRFQTRcXHU0RjdDXFx1NEZBRlxcdTUwMTlcXHU1MDE2XFx1NTE0OVxcdTUxNkNcXHU1MjlGXFx1NTJCOVxcdTUyRkVcXHU1MzlBXFx1NTNFM1xcdTU0MTFcIl0sXG4gICAgICBbXCI4ZDQwXCIsIFwiXFx1NTQwRVxcdTU1ODlcXHU1NzUxXFx1NTdBMlxcdTU5N0RcXHU1QjU0XFx1NUI1RFxcdTVCOEZcXHU1REU1XFx1NURFN1xcdTVERjdcXHU1RTc4XFx1NUU4M1xcdTVFOUFcXHU1RUI3XFx1NUYxOFxcdTYwNTJcXHU2MTRDXFx1NjI5N1xcdTYyRDhcXHU2M0E3XFx1NjUzQlxcdTY2MDJcXHU2NjQzXFx1NjZGNFxcdTY3NkRcXHU2ODIxXFx1Njg5N1xcdTY5Q0JcXHU2QzVGXFx1NkQyQVxcdTZENjlcXHU2RTJGXFx1NkU5RFxcdTc1MzJcXHU3Njg3XFx1Nzg2Q1xcdTdBM0ZcXHU3Q0UwXFx1N0QwNVxcdTdEMThcXHU3RDVFXFx1N0RCMVxcdTgwMTVcXHU4MDAzXFx1ODBBRlxcdTgwQjFcXHU4MTU0XFx1ODE4RlxcdTgyMkFcXHU4MzUyXFx1ODg0Q1xcdTg4NjFcXHU4QjFCXFx1OENBMlxcdThDRkNcXHU5MENBXFx1OTE3NVxcdTkyNzFcXHU3ODNGXFx1OTJGQ1xcdTk1QTRcXHU5NjREXCJdLFxuICAgICAgW1wiOGQ4MFwiLCBcIlxcdTk4MDVcXHU5OTk5XFx1OUFEOFxcdTlEM0JcXHU1MjVCXFx1NTJBQlxcdTUzRjdcXHU1NDA4XFx1NThENVxcdTYyRjdcXHU2RkUwXFx1OEM2QVxcdThGNUZcXHU5RUI5XFx1NTE0QlxcdTUyM0JcXHU1NDRBXFx1NTZGRFxcdTdBNDBcXHU5MTc3XFx1OUQ2MFxcdTlFRDJcXHU3MzQ0XFx1NkYwOVxcdTgxNzBcXHU3NTExXFx1NUZGRFxcdTYwREFcXHU5QUE4XFx1NzJEQlxcdThGQkNcXHU2QjY0XFx1OTgwM1xcdTRFQ0FcXHU1NkYwXFx1NTc2NFxcdTU4QkVcXHU1QTVBXFx1NjA2OFxcdTYxQzdcXHU2NjBGXFx1NjYwNlxcdTY4MzlcXHU2OEIxXFx1NkRGN1xcdTc1RDVcXHU3RDNBXFx1ODI2RVxcdTlCNDJcXHU0RTlCXFx1NEY1MFxcdTUzQzlcXHU1NTA2XFx1NUQ2RlxcdTVERTZcXHU1REVFXFx1NjdGQlxcdTZDOTlcXHU3NDczXFx1NzgwMlxcdThBNTBcXHU5Mzk2XFx1ODhERlxcdTU3NTBcXHU1RUE3XFx1NjMyQlxcdTUwQjVcXHU1MEFDXFx1NTE4RFxcdTY3MDBcXHU1NEM5XFx1NTg1RVxcdTU5QkJcXHU1QkIwXFx1NUY2OVxcdTYyNERcXHU2M0ExXFx1NjgzRFxcdTZCNzNcXHU2RTA4XFx1NzA3RFxcdTkxQzdcXHU3MjgwXFx1NzgxNVxcdTc4MjZcXHU3OTZEXFx1NjU4RVxcdTdEMzBcXHU4M0RDXFx1ODhDMVxcdThGMDlcXHU5NjlCXFx1NTI2NFxcdTU3MjhcXHU2NzUwXFx1N0Y2QVxcdThDQTFcXHU1MUI0XFx1NTc0MlxcdTk2MkFcXHU1ODNBXFx1Njk4QVxcdTgwQjRcXHU1NEIyXFx1NUQwRVxcdTU3RkNcXHU3ODk1XFx1OURGQVxcdTRGNUNcXHU1MjRBXFx1NTQ4QlxcdTY0M0VcXHU2NjI4XFx1NjcxNFxcdTY3RjVcXHU3QTg0XFx1N0I1NlxcdTdEMjJcXHU5MzJGXFx1Njg1Q1xcdTlCQURcXHU3QjM5XFx1NTMxOVxcdTUxOEFcXHU1MjM3XCJdLFxuICAgICAgW1wiOGU0MFwiLCBcIlxcdTVCREZcXHU2MkY2XFx1NjRBRVxcdTY0RTZcXHU2NzJEXFx1NkJCQVxcdTg1QTlcXHU5NkQxXFx1NzY5MFxcdTlCRDZcXHU2MzRDXFx1OTMwNlxcdTlCQUJcXHU3NkJGXFx1NjY1MlxcdTRFMDlcXHU1MDk4XFx1NTNDMlxcdTVDNzFcXHU2MEU4XFx1NjQ5MlxcdTY1NjNcXHU2ODVGXFx1NzFFNlxcdTczQ0FcXHU3NTIzXFx1N0I5N1xcdTdFODJcXHU4Njk1XFx1OEI4M1xcdThDREJcXHU5MTc4XFx1OTkxMFxcdTY1QUNcXHU2NkFCXFx1NkI4QlxcdTRFRDVcXHU0RUQ0XFx1NEYzQVxcdTRGN0ZcXHU1MjNBXFx1NTNGOFxcdTUzRjJcXHU1NUUzXFx1NTZEQlxcdTU4RUJcXHU1OUNCXFx1NTlDOVxcdTU5RkZcXHU1QjUwXFx1NUM0RFxcdTVFMDJcXHU1RTJCXFx1NUZEN1xcdTYwMURcXHU2MzA3XFx1NjUyRlxcdTVCNUNcXHU2NUFGXFx1NjVCRFxcdTY1RThcXHU2NzlEXFx1NkI2MlwiXSxcbiAgICAgIFtcIjhlODBcIiwgXCJcXHU2QjdCXFx1NkMwRlxcdTczNDVcXHU3OTQ5XFx1NzlDMVxcdTdDRjhcXHU3RDE5XFx1N0QyQlxcdTgwQTJcXHU4MTAyXFx1ODFGM1xcdTg5OTZcXHU4QTVFXFx1OEE2OVxcdThBNjZcXHU4QThDXFx1OEFFRVxcdThDQzdcXHU4Q0RDXFx1OTZDQ1xcdTk4RkNcXHU2QjZGXFx1NEU4QlxcdTRGM0NcXHU0RjhEXFx1NTE1MFxcdTVCNTdcXHU1QkZBXFx1NjE0OFxcdTYzMDFcXHU2NjQyXFx1NkIyMVxcdTZFQ0JcXHU2Q0JCXFx1NzIzRVxcdTc0QkRcXHU3NUQ0XFx1NzhDMVxcdTc5M0FcXHU4MDBDXFx1ODAzM1xcdTgxRUFcXHU4NDk0XFx1OEY5RVxcdTZDNTBcXHU5RTdGXFx1NUYwRlxcdThCNThcXHU5RDJCXFx1N0FGQVxcdThFRjhcXHU1QjhEXFx1OTZFQlxcdTRFMDNcXHU1M0YxXFx1NTdGN1xcdTU5MzFcXHU1QUM5XFx1NUJBNFxcdTYwODlcXHU2RTdGXFx1NkYwNlxcdTc1QkVcXHU4Q0VBXFx1NUI5RlxcdTg1MDBcXHU3QkUwXFx1NTA3MlxcdTY3RjRcXHU4MjlEXFx1NUM2MVxcdTg1NEFcXHU3RTFFXFx1ODIwRVxcdTUxOTlcXHU1QzA0XFx1NjM2OFxcdThENjZcXHU2NTlDXFx1NzE2RVxcdTc5M0VcXHU3RDE3XFx1ODAwNVxcdThCMURcXHU4RUNBXFx1OTA2RVxcdTg2QzdcXHU5MEFBXFx1NTAxRlxcdTUyRkFcXHU1QzNBXFx1Njc1M1xcdTcwN0NcXHU3MjM1XFx1OTE0Q1xcdTkxQzhcXHU5MzJCXFx1ODJFNVxcdTVCQzJcXHU1RjMxXFx1NjBGOVxcdTRFM0JcXHU1M0Q2XFx1NUI4OFxcdTYyNEJcXHU2NzMxXFx1NkI4QVxcdTcyRTlcXHU3M0UwXFx1N0EyRVxcdTgxNkJcXHU4REEzXFx1OTE1MlxcdTk5OTZcXHU1MTEyXFx1NTNEN1xcdTU0NkFcXHU1QkZGXFx1NjM4OFxcdTZBMzlcXHU3REFDXFx1OTcwMFxcdTU2REFcXHU1M0NFXFx1NTQ2OFwiXSxcbiAgICAgIFtcIjhmNDBcIiwgXCJcXHU1Qjk3XFx1NUMzMVxcdTVEREVcXHU0RkVFXFx1NjEwMVxcdTYyRkVcXHU2RDMyXFx1NzlDMFxcdTc5Q0JcXHU3RDQyXFx1N0U0RFxcdTdGRDJcXHU4MUVEXFx1ODIxRlxcdTg0OTBcXHU4ODQ2XFx1ODk3MlxcdThCOTBcXHU4RTc0XFx1OEYyRlxcdTkwMzFcXHU5MTRCXFx1OTE2Q1xcdTk2QzZcXHU5MTlDXFx1NEVDMFxcdTRGNEZcXHU1MTQ1XFx1NTM0MVxcdTVGOTNcXHU2MjBFXFx1NjdENFxcdTZDNDFcXHU2RTBCXFx1NzM2M1xcdTdFMjZcXHU5MUNEXFx1OTI4M1xcdTUzRDRcXHU1OTE5XFx1NUJCRlxcdTZERDFcXHU3OTVEXFx1N0UyRVxcdTdDOUJcXHU1ODdFXFx1NzE5RlxcdTUxRkFcXHU4ODUzXFx1OEZGMFxcdTRGQ0FcXHU1Q0ZCXFx1NjYyNVxcdTc3QUNcXHU3QUUzXFx1ODIxQ1xcdTk5RkZcXHU1MUM2XFx1NUZBQVxcdTY1RUNcXHU2OTZGXFx1NkI4OVxcdTZERjNcIl0sXG4gICAgICBbXCI4ZjgwXCIsIFwiXFx1NkU5NlxcdTZGNjRcXHU3NkZFXFx1N0QxNFxcdTVERTFcXHU5MDc1XFx1OTE4N1xcdTk4MDZcXHU1MUU2XFx1NTIxRFxcdTYyNDBcXHU2NjkxXFx1NjZEOVxcdTZFMUFcXHU1RUI2XFx1N0REMlxcdTdGNzJcXHU2NkY4XFx1ODVBRlxcdTg1RjdcXHU4QUY4XFx1NTJBOVxcdTUzRDlcXHU1OTczXFx1NUU4RlxcdTVGOTBcXHU2MDU1XFx1OTJFNFxcdTk2NjRcXHU1MEI3XFx1NTExRlxcdTUyRERcXHU1MzIwXFx1NTM0N1xcdTUzRUNcXHU1NEU4XFx1NTU0NlxcdTU1MzFcXHU1NjE3XFx1NTk2OFxcdTU5QkVcXHU1QTNDXFx1NUJCNVxcdTVDMDZcXHU1QzBGXFx1NUMxMVxcdTVDMUFcXHU1RTg0XFx1NUU4QVxcdTVFRTBcXHU1RjcwXFx1NjI3RlxcdTYyODRcXHU2MkRCXFx1NjM4Q1xcdTYzNzdcXHU2NjA3XFx1NjYwQ1xcdTY2MkRcXHU2Njc2XFx1Njc3RVxcdTY4QTJcXHU2QTFGXFx1NkEzNVxcdTZDQkNcXHU2RDg4XFx1NkUwOVxcdTZFNThcXHU3MTNDXFx1NzEyNlxcdTcxNjdcXHU3NUM3XFx1NzcwMVxcdTc4NURcXHU3OTAxXFx1Nzk2NVxcdTc5RjBcXHU3QUUwXFx1N0IxMVxcdTdDQTdcXHU3RDM5XFx1ODA5NlxcdTgzRDZcXHU4NDhCXFx1ODU0OVxcdTg4NURcXHU4OEYzXFx1OEExRlxcdThBM0NcXHU4QTU0XFx1OEE3M1xcdThDNjFcXHU4Q0RFXFx1OTFBNFxcdTkyNjZcXHU5MzdFXFx1OTQxOFxcdTk2OUNcXHU5Nzk4XFx1NEUwQVxcdTRFMDhcXHU0RTFFXFx1NEU1N1xcdTUxOTdcXHU1MjcwXFx1NTdDRVxcdTU4MzRcXHU1OENDXFx1NUIyMlxcdTVFMzhcXHU2MEM1XFx1NjRGRVxcdTY3NjFcXHU2NzU2XFx1NkQ0NFxcdTcyQjZcXHU3NTczXFx1N0E2M1xcdTg0QjhcXHU4QjcyXFx1OTFCOFxcdTkzMjBcXHU1NjMxXFx1NTdGNFxcdTk4RkVcIl0sXG4gICAgICBbXCI5MDQwXCIsIFwiXFx1NjJFRFxcdTY5MERcXHU2Qjk2XFx1NzFFRFxcdTdFNTRcXHU4MDc3XFx1ODI3MlxcdTg5RTZcXHU5OERGXFx1ODc1NVxcdThGQjFcXHU1QzNCXFx1NEYzOFxcdTRGRTFcXHU0RkI1XFx1NTUwN1xcdTVBMjBcXHU1QkREXFx1NUJFOVxcdTVGQzNcXHU2MTRFXFx1NjMyRlxcdTY1QjBcXHU2NjRCXFx1NjhFRVxcdTY5OUJcXHU2RDc4XFx1NkRGMVxcdTc1MzNcXHU3NUI5XFx1NzcxRlxcdTc5NUVcXHU3OUU2XFx1N0QzM1xcdTgxRTNcXHU4MkFGXFx1ODVBQVxcdTg5QUFcXHU4QTNBXFx1OEVBQlxcdThGOUJcXHU5MDMyXFx1OTFERFxcdTk3MDdcXHU0RUJBXFx1NEVDMVxcdTUyMDNcXHU1ODc1XFx1NThFQ1xcdTVDMEJcXHU3NTFBXFx1NUMzRFxcdTgxNEVcXHU4QTBBXFx1OEZDNVxcdTk2NjNcXHU5NzZEXFx1N0IyNVxcdThBQ0ZcXHU5ODA4XFx1OTE2MlxcdTU2RjNcXHU1M0E4XCJdLFxuICAgICAgW1wiOTA4MFwiLCBcIlxcdTkwMTdcXHU1NDM5XFx1NTc4MlxcdTVFMjVcXHU2M0E4XFx1NkMzNFxcdTcwOEFcXHU3NzYxXFx1N0M4QlxcdTdGRTBcXHU4ODcwXFx1OTA0MlxcdTkxNTRcXHU5MzEwXFx1OTMxOFxcdTk2OEZcXHU3NDVFXFx1OUFDNFxcdTVEMDdcXHU1RDY5XFx1NjU3MFxcdTY3QTJcXHU4REE4XFx1OTZEQlxcdTYzNkVcXHU2NzQ5XFx1NjkxOVxcdTgzQzVcXHU5ODE3XFx1OTZDMFxcdTg4RkVcXHU2Rjg0XFx1NjQ3QVxcdTVCRjhcXHU0RTE2XFx1NzAyQ1xcdTc1NURcXHU2NjJGXFx1NTFDNFxcdTUyMzZcXHU1MkUyXFx1NTlEM1xcdTVGODFcXHU2MDI3XFx1NjIxMFxcdTY1M0ZcXHU2NTc0XFx1NjYxRlxcdTY2NzRcXHU2OEYyXFx1NjgxNlxcdTZCNjNcXHU2RTA1XFx1NzI3MlxcdTc1MUZcXHU3NkRCXFx1N0NCRVxcdTgwNTZcXHU1OEYwXFx1ODhGRFxcdTg5N0ZcXHU4QUEwXFx1OEE5M1xcdThBQ0JcXHU5MDFEXFx1OTE5MlxcdTk3NTJcXHU5NzU5XFx1NjU4OVxcdTdBMEVcXHU4MTA2XFx1OTZCQlxcdTVFMkRcXHU2MERDXFx1NjIxQVxcdTY1QTVcXHU2NjE0XFx1Njc5MFxcdTc3RjNcXHU3QTREXFx1N0M0RFxcdTdFM0VcXHU4MTBBXFx1OENBQ1xcdThENjRcXHU4REUxXFx1OEU1RlxcdTc4QTlcXHU1MjA3XFx1NjJEOVxcdTYzQTVcXHU2NDQyXFx1NjI5OFxcdThBMkRcXHU3QTgzXFx1N0JDMFxcdThBQUNcXHU5NkVBXFx1N0Q3NlxcdTgyMENcXHU4NzQ5XFx1NEVEOVxcdTUxNDhcXHU1MzQzXFx1NTM2MFxcdTVCQTNcXHU1QzAyXFx1NUMxNlxcdTVERERcXHU2MjI2XFx1NjI0N1xcdTY0QjBcXHU2ODEzXFx1NjgzNFxcdTZDQzlcXHU2RDQ1XFx1NkQxN1xcdTY3RDNcXHU2RjVDXFx1NzE0RVxcdTcxN0RcXHU2NUNCXFx1N0E3RlxcdTdCQURcXHU3RERBXCJdLFxuICAgICAgW1wiOTE0MFwiLCBcIlxcdTdFNEFcXHU3RkE4XFx1ODE3QVxcdTgyMUJcXHU4MjM5XFx1ODVBNlxcdThBNkVcXHU4Q0NFXFx1OERGNVxcdTkwNzhcXHU5MDc3XFx1OTJBRFxcdTkyOTFcXHU5NTgzXFx1OUJBRVxcdTUyNERcXHU1NTg0XFx1NkYzOFxcdTcxMzZcXHU1MTY4XFx1Nzk4NVxcdTdFNTVcXHU4MUIzXFx1N0NDRVxcdTU2NENcXHU1ODUxXFx1NUNBOFxcdTYzQUFcXHU2NkZFXFx1NjZGRFxcdTY5NUFcXHU3MkQ5XFx1NzU4RlxcdTc1OEVcXHU3OTBFXFx1Nzk1NlxcdTc5REZcXHU3Qzk3XFx1N0QyMFxcdTdENDRcXHU4NjA3XFx1OEEzNFxcdTk2M0JcXHU5MDYxXFx1OUYyMFxcdTUwRTdcXHU1Mjc1XFx1NTNDQ1xcdTUzRTJcXHU1MDA5XFx1NTVBQVxcdTU4RUVcXHU1OTRGXFx1NzIzRFxcdTVCOEJcXHU1QzY0XFx1NTMxRFxcdTYwRTNcXHU2MEYzXFx1NjM1Q1xcdTYzODNcXHU2MzNGXFx1NjNCQlwiXSxcbiAgICAgIFtcIjkxODBcIiwgXCJcXHU2NENEXFx1NjVFOVxcdTY2RjlcXHU1REUzXFx1NjlDRFxcdTY5RkRcXHU2RjE1XFx1NzFFNVxcdTRFODlcXHU3NUU5XFx1NzZGOFxcdTdBOTNcXHU3Q0RGXFx1N0RDRlxcdTdEOUNcXHU4MDYxXFx1ODM0OVxcdTgzNThcXHU4NDZDXFx1ODRCQ1xcdTg1RkJcXHU4OEM1XFx1OEQ3MFxcdTkwMDFcXHU5MDZEXFx1OTM5N1xcdTk3MUNcXHU5QTEyXFx1NTBDRlxcdTU4OTdcXHU2MThFXFx1ODFEM1xcdTg1MzVcXHU4RDA4XFx1OTAyMFxcdTRGQzNcXHU1MDc0XFx1NTI0N1xcdTUzNzNcXHU2MDZGXFx1NjM0OVxcdTY3NUZcXHU2RTJDXFx1OERCM1xcdTkwMUZcXHU0RkQ3XFx1NUM1RVxcdThDQ0FcXHU2NUNGXFx1N0Q5QVxcdTUzNTJcXHU4ODk2XFx1NTE3NlxcdTYzQzNcXHU1QjU4XFx1NUI2QlxcdTVDMEFcXHU2NDBEXFx1Njc1MVxcdTkwNUNcXHU0RUQ2XFx1NTkxQVxcdTU5MkFcXHU2QzcwXFx1OEE1MVxcdTU1M0VcXHU1ODE1XFx1NTlBNVxcdTYwRjBcXHU2MjUzXFx1NjdDMVxcdTgyMzVcXHU2OTU1XFx1OTY0MFxcdTk5QzRcXHU5QTI4XFx1NEY1M1xcdTU4MDZcXHU1QkZFXFx1ODAxMFxcdTVDQjFcXHU1RTJGXFx1NUY4NVxcdTYwMjBcXHU2MTRCXFx1NjIzNFxcdTY2RkZcXHU2Q0YwXFx1NkVERVxcdTgwQ0VcXHU4MTdGXFx1ODJENFxcdTg4OEJcXHU4Q0I4XFx1OTAwMFxcdTkwMkVcXHU5NjhBXFx1OUVEQlxcdTlCREJcXHU0RUUzXFx1NTNGMFxcdTU5MjdcXHU3QjJDXFx1OTE4RFxcdTk4NENcXHU5REY5XFx1NkVERFxcdTcwMjdcXHU1MzUzXFx1NTU0NFxcdTVCODVcXHU2MjU4XFx1NjI5RVxcdTYyRDNcXHU2Q0EyXFx1NkZFRlxcdTc0MjJcXHU4QTE3XFx1OTQzOFxcdTZGQzFcXHU4QUZFXFx1ODMzOFxcdTUxRTdcXHU4NkY4XFx1NTNFQVwiXSxcbiAgICAgIFtcIjkyNDBcIiwgXCJcXHU1M0U5XFx1NEY0NlxcdTkwNTRcXHU4RkIwXFx1NTk2QVxcdTgxMzFcXHU1REZEXFx1N0FFQVxcdThGQkZcXHU2OERBXFx1OEMzN1xcdTcyRjhcXHU5QzQ4XFx1NkEzRFxcdThBQjBcXHU0RTM5XFx1NTM1OFxcdTU2MDZcXHU1NzY2XFx1NjJDNVxcdTYzQTJcXHU2NUU2XFx1NkI0RVxcdTZERTFcXHU2RTVCXFx1NzBBRFxcdTc3RURcXHU3QUVGXFx1N0JBQVxcdTdEQkJcXHU4MDNEXFx1ODBDNlxcdTg2Q0JcXHU4QTk1XFx1OTM1QlxcdTU2RTNcXHU1OEM3XFx1NUYzRVxcdTY1QURcXHU2Njk2XFx1NkE4MFxcdTZCQjVcXHU3NTM3XFx1OEFDN1xcdTUwMjRcXHU3N0U1XFx1NTczMFxcdTVGMUJcXHU2MDY1XFx1NjY3QVxcdTZDNjBcXHU3NUY0XFx1N0ExQVxcdTdGNkVcXHU4MUY0XFx1ODcxOFxcdTkwNDVcXHU5OUIzXFx1N0JDOVxcdTc1NUNcXHU3QUY5XFx1N0I1MVxcdTg0QzRcIl0sXG4gICAgICBbXCI5MjgwXCIsIFwiXFx1OTAxMFxcdTc5RTlcXHU3QTkyXFx1ODMzNlxcdTVBRTFcXHU3NzQwXFx1NEUyRFxcdTRFRjJcXHU1Qjk5XFx1NUZFMFxcdTYyQkRcXHU2NjNDXFx1NjdGMVxcdTZDRThcXHU4NjZCXFx1ODg3N1xcdThBM0JcXHU5MTRFXFx1OTJGM1xcdTk5RDBcXHU2QTE3XFx1NzAyNlxcdTczMkFcXHU4MkU3XFx1ODQ1N1xcdThDQUZcXHU0RTAxXFx1NTE0NlxcdTUxQ0JcXHU1NThCXFx1NUJGNVxcdTVFMTZcXHU1RTMzXFx1NUU4MVxcdTVGMTRcXHU1RjM1XFx1NUY2QlxcdTVGQjRcXHU2MUYyXFx1NjMxMVxcdTY2QTJcXHU2NzFEXFx1NkY2RVxcdTcyNTJcXHU3NTNBXFx1NzczQVxcdTgwNzRcXHU4MTM5XFx1ODE3OFxcdTg3NzZcXHU4QUJGXFx1OEFEQ1xcdThEODVcXHU4REYzXFx1OTI5QVxcdTk1NzdcXHU5ODAyXFx1OUNFNVxcdTUyQzVcXHU2MzU3XFx1NzZGNFxcdTY3MTVcXHU2Qzg4XFx1NzNDRFxcdThDQzNcXHU5M0FFXFx1OTY3M1xcdTZEMjVcXHU1ODlDXFx1NjkwRVxcdTY5Q0NcXHU4RkZEXFx1OTM5QVxcdTc1REJcXHU5MDFBXFx1NTg1QVxcdTY4MDJcXHU2M0I0XFx1NjlGQlxcdTRGNDNcXHU2RjJDXFx1NjdEOFxcdThGQkJcXHU4NTI2XFx1N0RCNFxcdTkzNTRcXHU2OTNGXFx1NkY3MFxcdTU3NkFcXHU1OEY3XFx1NUIyQ1xcdTdEMkNcXHU3MjJBXFx1NTQwQVxcdTkxRTNcXHU5REI0XFx1NEVBRFxcdTRGNEVcXHU1MDVDXFx1NTA3NVxcdTUyNDNcXHU4QzlFXFx1NTQ0OFxcdTU4MjRcXHU1QjlBXFx1NUUxRFxcdTVFOTVcXHU1RUFEXFx1NUVGN1xcdTVGMUZcXHU2MDhDXFx1NjJCNVxcdTYzM0FcXHU2M0QwXFx1NjhBRlxcdTZDNDBcXHU3ODg3XFx1Nzk4RVxcdTdBMEJcXHU3REUwXFx1ODI0N1xcdThBMDJcXHU4QUU2XFx1OEU0NFxcdTkwMTNcIl0sXG4gICAgICBbXCI5MzQwXCIsIFwiXFx1OTBCOFxcdTkxMkRcXHU5MUQ4XFx1OUYwRVxcdTZDRTVcXHU2NDU4XFx1NjRFMlxcdTY1NzVcXHU2RUY0XFx1NzY4NFxcdTdCMUJcXHU5MDY5XFx1OTNEMVxcdTZFQkFcXHU1NEYyXFx1NUZCOVxcdTY0QTRcXHU4RjREXFx1OEZFRFxcdTkyNDRcXHU1MTc4XFx1NTg2QlxcdTU5MjlcXHU1QzU1XFx1NUU5N1xcdTZERkJcXHU3RThGXFx1NzUxQ1xcdThDQkNcXHU4RUUyXFx1OTg1QlxcdTcwQjlcXHU0RjFEXFx1NkJCRlxcdTZGQjFcXHU3NTMwXFx1OTZGQlxcdTUxNEVcXHU1NDEwXFx1NTgzNVxcdTU4NTdcXHU1OUFDXFx1NUM2MFxcdTVGOTJcXHU2NTk3XFx1Njc1Q1xcdTZFMjFcXHU3NjdCXFx1ODNERlxcdThDRURcXHU5MDE0XFx1OTBGRFxcdTkzNERcXHU3ODI1XFx1NzgzQVxcdTUyQUFcXHU1RUE2XFx1NTcxRlxcdTU5NzRcXHU2MDEyXFx1NTAxMlxcdTUxNUFcXHU1MUFDXCJdLFxuICAgICAgW1wiOTM4MFwiLCBcIlxcdTUxQ0RcXHU1MjAwXFx1NTUxMFxcdTU4NTRcXHU1ODU4XFx1NTk1N1xcdTVCOTVcXHU1Q0Y2XFx1NUQ4QlxcdTYwQkNcXHU2Mjk1XFx1NjQyRFxcdTY3NzFcXHU2ODQzXFx1NjhCQ1xcdTY4REZcXHU3NkQ3XFx1NkREOFxcdTZFNkZcXHU2RDlCXFx1NzA2RlxcdTcxQzhcXHU1RjUzXFx1NzVEOFxcdTc5NzdcXHU3QjQ5XFx1N0I1NFxcdTdCNTJcXHU3Q0Q2XFx1N0Q3MVxcdTUyMzBcXHU4NDYzXFx1ODU2OVxcdTg1RTRcXHU4QTBFXFx1OEIwNFxcdThDNDZcXHU4RTBGXFx1OTAwM1xcdTkwMEZcXHU5NDE5XFx1OTY3NlxcdTk4MkRcXHU5QTMwXFx1OTVEOFxcdTUwQ0RcXHU1MkQ1XFx1NTQwQ1xcdTU4MDJcXHU1QzBFXFx1NjFBN1xcdTY0OUVcXHU2RDFFXFx1NzdCM1xcdTdBRTVcXHU4MEY0XFx1ODQwNFxcdTkwNTNcXHU5Mjg1XFx1NUNFMFxcdTlEMDdcXHU1MzNGXFx1NUY5N1xcdTVGQjNcXHU2RDlDXFx1NzI3OVxcdTc3NjNcXHU3OUJGXFx1N0JFNFxcdTZCRDJcXHU3MkVDXFx1OEFBRFxcdTY4MDNcXHU2QTYxXFx1NTFGOFxcdTdBODFcXHU2OTM0XFx1NUM0QVxcdTlDRjZcXHU4MkVCXFx1NUJDNVxcdTkxNDlcXHU3MDFFXFx1NTY3OFxcdTVDNkZcXHU2MEM3XFx1NjU2NlxcdTZDOENcXHU4QzVBXFx1OTA0MVxcdTk4MTNcXHU1NDUxXFx1NjZDN1xcdTkyMERcXHU1OTQ4XFx1OTBBM1xcdTUxODVcXHU0RTREXFx1NTFFQVxcdTg1OTlcXHU4QjBFXFx1NzA1OFxcdTYzN0FcXHU5MzRCXFx1Njk2MlxcdTk5QjRcXHU3RTA0XFx1NzU3N1xcdTUzNTdcXHU2OTYwXFx1OEVERlxcdTk2RTNcXHU2QzVEXFx1NEU4Q1xcdTVDM0NcXHU1RjEwXFx1OEZFOVxcdTUzMDJcXHU4Q0QxXFx1ODA4OVxcdTg2NzlcXHU1RUZGXFx1NjVFNVxcdTRFNzNcXHU1MTY1XCJdLFxuICAgICAgW1wiOTQ0MFwiLCBcIlxcdTU5ODJcXHU1QzNGXFx1OTdFRVxcdTRFRkJcXHU1OThBXFx1NUZDRFxcdThBOERcXHU2RkUxXFx1NzlCMFxcdTc5NjJcXHU1QkU3XFx1ODQ3MVxcdTczMkJcXHU3MUIxXFx1NUU3NFxcdTVGRjVcXHU2MzdCXFx1NjQ5QVxcdTcxQzNcXHU3Qzk4XFx1NEU0M1xcdTVFRkNcXHU0RTRCXFx1NTdEQ1xcdTU2QTJcXHU2MEE5XFx1NkZDM1xcdTdEMERcXHU4MEZEXFx1ODEzM1xcdTgxQkZcXHU4RkIyXFx1ODk5N1xcdTg2QTRcXHU1REY0XFx1NjI4QVxcdTY0QURcXHU4OTg3XFx1Njc3N1xcdTZDRTJcXHU2RDNFXFx1NzQzNlxcdTc4MzRcXHU1QTQ2XFx1N0Y3NVxcdTgyQURcXHU5OUFDXFx1NEZGM1xcdTVFQzNcXHU2MkREXFx1NjM5MlxcdTY1NTdcXHU2NzZGXFx1NzZDM1xcdTcyNENcXHU4MENDXFx1ODBCQVxcdThGMjlcXHU5MTREXFx1NTAwRFxcdTU3RjlcXHU1QTkyXFx1Njg4NVwiXSxcbiAgICAgIFtcIjk0ODBcIiwgXCJcXHU2OTczXFx1NzE2NFxcdTcyRkRcXHU4Q0I3XFx1NThGMlxcdThDRTBcXHU5NjZBXFx1OTAxOVxcdTg3N0ZcXHU3OUU0XFx1NzdFN1xcdTg0MjlcXHU0RjJGXFx1NTI2NVxcdTUzNUFcXHU2MkNEXFx1NjdDRlxcdTZDQ0FcXHU3NjdEXFx1N0I5NFxcdTdDOTVcXHU4MjM2XFx1ODU4NFxcdThGRUJcXHU2NkREXFx1NkYyMFxcdTcyMDZcXHU3RTFCXFx1ODNBQlxcdTk5QzFcXHU5RUE2XFx1NTFGRFxcdTdCQjFcXHU3ODcyXFx1N0JCOFxcdTgwODdcXHU3QjQ4XFx1NkFFOFxcdTVFNjFcXHU4MDhDXFx1NzU1MVxcdTc1NjBcXHU1MTZCXFx1OTI2MlxcdTZFOENcXHU3NjdBXFx1OTE5N1xcdTlBRUFcXHU0RjEwXFx1N0Y3MFxcdTYyOUNcXHU3QjRGXFx1OTVBNVxcdTlDRTlcXHU1NjdBXFx1NTg1OVxcdTg2RTRcXHU5NkJDXFx1NEYzNFxcdTUyMjRcXHU1MzRBXFx1NTNDRFxcdTUzREJcXHU1RTA2XFx1NjQyQ1xcdTY1OTFcXHU2NzdGXFx1NkMzRVxcdTZDNEVcXHU3MjQ4XFx1NzJBRlxcdTczRURcXHU3NTU0XFx1N0U0MVxcdTgyMkNcXHU4NUU5XFx1OENBOVxcdTdCQzRcXHU5MUM2XFx1NzE2OVxcdTk4MTJcXHU5OEVGXFx1NjMzRFxcdTY2NjlcXHU3NTZBXFx1NzZFNFxcdTc4RDBcXHU4NTQzXFx1ODZFRVxcdTUzMkFcXHU1MzUxXFx1NTQyNlxcdTU5ODNcXHU1RTg3XFx1NUY3Q1xcdTYwQjJcXHU2MjQ5XFx1NjI3OVxcdTYyQUJcXHU2NTkwXFx1NkJENFxcdTZDQ0NcXHU3NUIyXFx1NzZBRVxcdTc4OTFcXHU3OUQ4XFx1N0RDQlxcdTdGNzdcXHU4MEE1XFx1ODhBQlxcdThBQjlcXHU4Q0JCXFx1OTA3RlxcdTk3NUVcXHU5OERCXFx1NkEwQlxcdTdDMzhcXHU1MDk5XFx1NUMzRVxcdTVGQUVcXHU2Nzg3XFx1NkJEOFxcdTc0MzVcXHU3NzA5XFx1N0Y4RVwiXSxcbiAgICAgIFtcIjk1NDBcIiwgXCJcXHU5RjNCXFx1NjdDQVxcdTdBMTdcXHU1MzM5XFx1NzU4QlxcdTlBRURcXHU1RjY2XFx1ODE5RFxcdTgzRjFcXHU4MDk4XFx1NUYzQ1xcdTVGQzVcXHU3NTYyXFx1N0I0NlxcdTkwM0NcXHU2ODY3XFx1NTlFQlxcdTVBOUJcXHU3RDEwXFx1NzY3RVxcdThCMkNcXHU0RkY1XFx1NUY2QVxcdTZBMTlcXHU2QzM3XFx1NkYwMlxcdTc0RTJcXHU3OTY4XFx1ODg2OFxcdThBNTVcXHU4Qzc5XFx1NUVERlxcdTYzQ0ZcXHU3NUM1XFx1NzlEMlxcdTgyRDdcXHU5MzI4XFx1OTJGMlxcdTg0OUNcXHU4NkVEXFx1OUMyRFxcdTU0QzFcXHU1RjZDXFx1NjU4Q1xcdTZENUNcXHU3MDE1XFx1OENBN1xcdThDRDNcXHU5ODNCXFx1NjU0RlxcdTc0RjZcXHU0RTBEXFx1NEVEOFxcdTU3RTBcXHU1OTJCXFx1NUE2NlxcdTVCQ0NcXHU1MUE4XFx1NUUwM1xcdTVFOUNcXHU2MDE2XFx1NjI3NlxcdTY1NzdcIl0sXG4gICAgICBbXCI5NTgwXCIsIFwiXFx1NjVBN1xcdTY2NkVcXHU2RDZFXFx1NzIzNlxcdTdCMjZcXHU4MTUwXFx1ODE5QVxcdTgyOTlcXHU4QjVDXFx1OENBMFxcdThDRTZcXHU4RDc0XFx1OTYxQ1xcdTk2NDRcXHU0RkFFXFx1NjRBQlxcdTZCNjZcXHU4MjFFXFx1ODQ2MVxcdTg1NkFcXHU5MEU4XFx1NUMwMVxcdTY5NTNcXHU5OEE4XFx1ODQ3QVxcdTg1NTdcXHU0RjBGXFx1NTI2RlxcdTVGQTlcXHU1RTQ1XFx1NjcwRFxcdTc5OEZcXHU4MTc5XFx1ODkwN1xcdTg5ODZcXHU2REY1XFx1NUYxN1xcdTYyNTVcXHU2Q0I4XFx1NEVDRlxcdTcyNjlcXHU5QjkyXFx1NTIwNlxcdTU0M0JcXHU1Njc0XFx1NThCM1xcdTYxQTRcXHU2MjZFXFx1NzExQVxcdTU5NkVcXHU3Qzg5XFx1N0NERVxcdTdEMUJcXHU5NkYwXFx1NjU4N1xcdTgwNUVcXHU0RTE5XFx1NEY3NVxcdTUxNzVcXHU1ODQwXFx1NUU2M1xcdTVFNzNcXHU1RjBBXFx1NjdDNFxcdTRFMjZcXHU4NTNEXFx1OTU4OVxcdTk2NUJcXHU3QzczXFx1OTgwMVxcdTUwRkJcXHU1OEMxXFx1NzY1NlxcdTc4QTdcXHU1MjI1XFx1NzdBNVxcdTg1MTFcXHU3Qjg2XFx1NTA0RlxcdTU5MDlcXHU3MjQ3XFx1N0JDN1xcdTdERThcXHU4RkJBXFx1OEZENFxcdTkwNERcXHU0RkJGXFx1NTJDOVxcdTVBMjlcXHU1RjAxXFx1OTdBRFxcdTRGRERcXHU4MjE3XFx1OTJFQVxcdTU3MDNcXHU2MzU1XFx1NkI2OVxcdTc1MkJcXHU4OERDXFx1OEYxNFxcdTdBNDJcXHU1MkRGXFx1NTg5M1xcdTYxNTVcXHU2MjBBXFx1NjZBRVxcdTZCQ0RcXHU3QzNGXFx1ODNFOVxcdTUwMjNcXHU0RkY4XFx1NTMwNVxcdTU0NDZcXHU1ODMxXFx1NTk0OVxcdTVCOURcXHU1Q0YwXFx1NUNFRlxcdTVEMjlcXHU1RTk2XFx1NjJCMVxcdTYzNjdcXHU2NTNFXFx1NjVCOVxcdTY3MEJcIl0sXG4gICAgICBbXCI5NjQwXCIsIFwiXFx1NkNENVxcdTZDRTFcXHU3MEY5XFx1NzgzMlxcdTdFMkJcXHU4MERFXFx1ODJCM1xcdTg0MENcXHU4NEVDXFx1ODcwMlxcdTg5MTJcXHU4QTJBXFx1OEM0QVxcdTkwQTZcXHU5MkQyXFx1OThGRFxcdTlDRjNcXHU5RDZDXFx1NEU0RlxcdTRFQTFcXHU1MDhEXFx1NTI1NlxcdTU3NEFcXHU1OUE4XFx1NUUzRFxcdTVGRDhcXHU1RkQ5XFx1NjIzRlxcdTY2QjRcXHU2NzFCXFx1NjdEMFxcdTY4RDJcXHU1MTkyXFx1N0QyMVxcdTgwQUFcXHU4MUE4XFx1OEIwMFxcdThDOENcXHU4Q0JGXFx1OTI3RVxcdTk2MzJcXHU1NDIwXFx1OTgyQ1xcdTUzMTdcXHU1MEQ1XFx1NTM1Q1xcdTU4QThcXHU2NEIyXFx1NjczNFxcdTcyNjdcXHU3NzY2XFx1N0E0NlxcdTkxRTZcXHU1MkMzXFx1NkNBMVxcdTZCODZcXHU1ODAwXFx1NUU0Q1xcdTU5NTRcXHU2NzJDXFx1N0ZGQlxcdTUxRTFcXHU3NkM2XCJdLFxuICAgICAgW1wiOTY4MFwiLCBcIlxcdTY0NjlcXHU3OEU4XFx1OUI1NFxcdTlFQkJcXHU1N0NCXFx1NTlCOVxcdTY2MjdcXHU2NzlBXFx1NkJDRVxcdTU0RTlcXHU2OUQ5XFx1NUU1NVxcdTgxOUNcXHU2Nzk1XFx1OUJBQVxcdTY3RkVcXHU5QzUyXFx1Njg1RFxcdTRFQTZcXHU0RkUzXFx1NTNDOFxcdTYyQjlcXHU2NzJCXFx1NkNBQlxcdThGQzRcXHU0RkFEXFx1N0U2RFxcdTlFQkZcXHU0RTA3XFx1NjE2MlxcdTZFODBcXHU2RjJCXFx1ODUxM1xcdTU0NzNcXHU2NzJBXFx1OUI0NVxcdTVERjNcXHU3Qjk1XFx1NUNBQ1xcdTVCQzZcXHU4NzFDXFx1NkU0QVxcdTg0RDFcXHU3QTE0XFx1ODEwOFxcdTU5OTlcXHU3QzhEXFx1NkMxMVxcdTc3MjBcXHU1MkQ5XFx1NTkyMlxcdTcxMjFcXHU3MjVGXFx1NzdEQlxcdTk3MjdcXHU5RDYxXFx1NjkwQlxcdTVBN0ZcXHU1QTE4XFx1NTFBNVxcdTU0MERcXHU1NDdEXFx1NjYwRVxcdTc2REZcXHU4RkY3XFx1OTI5OFxcdTlDRjRcXHU1OUVBXFx1NzI1RFxcdTZFQzVcXHU1MTREXFx1NjhDOVxcdTdEQkZcXHU3REVDXFx1OTc2MlxcdTlFQkFcXHU2NDc4XFx1NkEyMVxcdTgzMDJcXHU1OTg0XFx1NUI1RlxcdTZCREJcXHU3MzFCXFx1NzZGMlxcdTdEQjJcXHU4MDE3XFx1ODQ5OVxcdTUxMzJcXHU2NzI4XFx1OUVEOVxcdTc2RUVcXHU2NzYyXFx1NTJGRlxcdTk5MDVcXHU1QzI0XFx1NjIzQlxcdTdDN0VcXHU4Q0IwXFx1NTU0RlxcdTYwQjZcXHU3RDBCXFx1OTU4MFxcdTUzMDFcXHU0RTVGXFx1NTFCNlxcdTU5MUNcXHU3MjNBXFx1ODAzNlxcdTkxQ0VcXHU1RjI1XFx1NzdFMlxcdTUzODRcXHU1Rjc5XFx1N0QwNFxcdTg1QUNcXHU4QTMzXFx1OEU4RFxcdTk3NTZcXHU2N0YzXFx1ODVBRVxcdTk0NTNcXHU2MTA5XFx1NjEwOFxcdTZDQjlcXHU3NjUyXCJdLFxuICAgICAgW1wiOTc0MFwiLCBcIlxcdThBRURcXHU4RjM4XFx1NTUyRlxcdTRGNTFcXHU1MTJBXFx1NTJDN1xcdTUzQ0JcXHU1QkE1XFx1NUU3RFxcdTYwQTBcXHU2MTgyXFx1NjNENlxcdTY3MDlcXHU2N0RBXFx1NkU2N1xcdTZEOENcXHU3MzM2XFx1NzMzN1xcdTc1MzFcXHU3OTUwXFx1ODhENVxcdThBOThcXHU5MDRBXFx1OTA5MVxcdTkwRjVcXHU5NkM0XFx1ODc4RFxcdTU5MTVcXHU0RTg4XFx1NEY1OVxcdTRFMEVcXHU4QTg5XFx1OEYzRlxcdTk4MTBcXHU1MEFEXFx1NUU3Q1xcdTU5OTZcXHU1QkI5XFx1NUVCOFxcdTYzREFcXHU2M0ZBXFx1NjRDMVxcdTY2RENcXHU2OTRBXFx1NjlEOFxcdTZEMEJcXHU2RUI2XFx1NzE5NFxcdTc1MjhcXHU3QUFGXFx1N0Y4QVxcdTgwMDBcXHU4NDQ5XFx1ODRDOVxcdTg5ODFcXHU4QjIxXFx1OEUwQVxcdTkwNjVcXHU5NjdEXFx1OTkwQVxcdTYxN0VcXHU2MjkxXFx1NkIzMlwiXSxcbiAgICAgIFtcIjk3ODBcIiwgXCJcXHU2QzgzXFx1NkQ3NFxcdTdGQ0NcXHU3RkZDXFx1NkRDMFxcdTdGODVcXHU4N0JBXFx1ODhGOFxcdTY3NjVcXHU4M0IxXFx1OTgzQ1xcdTk2RjdcXHU2RDFCXFx1N0Q2MVxcdTg0M0RcXHU5MTZBXFx1NEU3MVxcdTUzNzVcXHU1RDUwXFx1NkIwNFxcdTZGRUJcXHU4NUNEXFx1ODYyRFxcdTg5QTdcXHU1MjI5XFx1NTQwRlxcdTVDNjVcXHU2NzRFXFx1NjhBOFxcdTc0MDZcXHU3NDgzXFx1NzVFMlxcdTg4Q0ZcXHU4OEUxXFx1OTFDQ1xcdTk2RTJcXHU5Njc4XFx1NUY4QlxcdTczODdcXHU3QUNCXFx1ODQ0RVxcdTYzQTBcXHU3NTY1XFx1NTI4OVxcdTZENDFcXHU2RTlDXFx1NzQwOVxcdTc1NTlcXHU3ODZCXFx1N0M5MlxcdTk2ODZcXHU3QURDXFx1OUY4RFxcdTRGQjZcXHU2MTZFXFx1NjVDNVxcdTg2NUNcXHU0RTg2XFx1NEVBRVxcdTUwREFcXHU0RTIxXFx1NTFDQ1xcdTVCRUVcXHU2NTk5XFx1Njg4MVxcdTZEQkNcXHU3MzFGXFx1NzY0MlxcdTc3QURcXHU3QTFDXFx1N0NFN1xcdTgyNkZcXHU4QUQyXFx1OTA3Q1xcdTkxQ0ZcXHU5Njc1XFx1OTgxOFxcdTUyOUJcXHU3REQxXFx1NTAyQlxcdTUzOThcXHU2Nzk3XFx1NkRDQlxcdTcxRDBcXHU3NDMzXFx1ODFFOFxcdThGMkFcXHU5NkEzXFx1OUM1N1xcdTlFOUZcXHU3NDYwXFx1NTg0MVxcdTZEOTlcXHU3RDJGXFx1OTg1RVxcdTRFRTRcXHU0RjM2XFx1NEY4QlxcdTUxQjdcXHU1MkIxXFx1NURCQVxcdTYwMUNcXHU3M0IyXFx1NzkzQ1xcdTgyRDNcXHU5MjM0XFx1OTZCN1xcdTk2RjZcXHU5NzBBXFx1OUU5N1xcdTlGNjJcXHU2NkE2XFx1NkI3NFxcdTUyMTdcXHU1MkEzXFx1NzBDOFxcdTg4QzJcXHU1RUM5XFx1NjA0QlxcdTYxOTBcXHU2RjIzXFx1NzE0OVxcdTdDM0VcXHU3REY0XFx1ODA2RlwiXSxcbiAgICAgIFtcIjk4NDBcIiwgXCJcXHU4NEVFXFx1OTAyM1xcdTkzMkNcXHU1NDQyXFx1OUI2RlxcdTZBRDNcXHU3MDg5XFx1OENDMlxcdThERUZcXHU5NzMyXFx1NTJCNFxcdTVBNDFcXHU1RUNBXFx1NUYwNFxcdTY3MTdcXHU2OTdDXFx1Njk5NFxcdTZENkFcXHU2RjBGXFx1NzI2MlxcdTcyRkNcXHU3QkVEXFx1ODAwMVxcdTgwN0VcXHU4NzRCXFx1OTBDRVxcdTUxNkRcXHU5RTkzXFx1Nzk4NFxcdTgwOEJcXHU5MzMyXFx1OEFENlxcdTUwMkRcXHU1NDhDXFx1OEE3MVxcdTZCNkFcXHU4Q0M0XFx1ODEwN1xcdTYwRDFcXHU2N0EwXFx1OURGMlxcdTRFOTlcXHU0RTk4XFx1OUMxMFxcdThBNkJcXHU4NUMxXFx1ODU2OFxcdTY5MDBcXHU2RTdFXFx1Nzg5N1xcdTgxNTVcIl0sXG4gICAgICBbXCI5ODlmXCIsIFwiXFx1NUYwQ1xcdTRFMTBcXHU0RTE1XFx1NEUyQVxcdTRFMzFcXHU0RTM2XFx1NEUzQ1xcdTRFM0ZcXHU0RTQyXFx1NEU1NlxcdTRFNThcXHU0RTgyXFx1NEU4NVxcdThDNkJcXHU0RThBXFx1ODIxMlxcdTVGMERcXHU0RThFXFx1NEU5RVxcdTRFOUZcXHU0RUEwXFx1NEVBMlxcdTRFQjBcXHU0RUIzXFx1NEVCNlxcdTRFQ0VcXHU0RUNEXFx1NEVDNFxcdTRFQzZcXHU0RUMyXFx1NEVEN1xcdTRFREVcXHU0RUVEXFx1NEVERlxcdTRFRjdcXHU0RjA5XFx1NEY1QVxcdTRGMzBcXHU0RjVCXFx1NEY1RFxcdTRGNTdcXHU0RjQ3XFx1NEY3NlxcdTRGODhcXHU0RjhGXFx1NEY5OFxcdTRGN0JcXHU0RjY5XFx1NEY3MFxcdTRGOTFcXHU0RjZGXFx1NEY4NlxcdTRGOTZcXHU1MTE4XFx1NEZENFxcdTRGREZcXHU0RkNFXFx1NEZEOFxcdTRGREJcXHU0RkQxXFx1NEZEQVxcdTRGRDBcXHU0RkU0XFx1NEZFNVxcdTUwMUFcXHU1MDI4XFx1NTAxNFxcdTUwMkFcXHU1MDI1XFx1NTAwNVxcdTRGMUNcXHU0RkY2XFx1NTAyMVxcdTUwMjlcXHU1MDJDXFx1NEZGRVxcdTRGRUZcXHU1MDExXFx1NTAwNlxcdTUwNDNcXHU1MDQ3XFx1NjcwM1xcdTUwNTVcXHU1MDUwXFx1NTA0OFxcdTUwNUFcXHU1MDU2XFx1NTA2Q1xcdTUwNzhcXHU1MDgwXFx1NTA5QVxcdTUwODVcXHU1MEI0XFx1NTBCMlwiXSxcbiAgICAgIFtcIjk5NDBcIiwgXCJcXHU1MEM5XFx1NTBDQVxcdTUwQjNcXHU1MEMyXFx1NTBENlxcdTUwREVcXHU1MEU1XFx1NTBFRFxcdTUwRTNcXHU1MEVFXFx1NTBGOVxcdTUwRjVcXHU1MTA5XFx1NTEwMVxcdTUxMDJcXHU1MTE2XFx1NTExNVxcdTUxMTRcXHU1MTFBXFx1NTEyMVxcdTUxM0FcXHU1MTM3XFx1NTEzQ1xcdTUxM0JcXHU1MTNGXFx1NTE0MFxcdTUxNTJcXHU1MTRDXFx1NTE1NFxcdTUxNjJcXHU3QUY4XFx1NTE2OVxcdTUxNkFcXHU1MTZFXFx1NTE4MFxcdTUxODJcXHU1NkQ4XFx1NTE4Q1xcdTUxODlcXHU1MThGXFx1NTE5MVxcdTUxOTNcXHU1MTk1XFx1NTE5NlxcdTUxQTRcXHU1MUE2XFx1NTFBMlxcdTUxQTlcXHU1MUFBXFx1NTFBQlxcdTUxQjNcXHU1MUIxXFx1NTFCMlxcdTUxQjBcXHU1MUI1XFx1NTFCRFxcdTUxQzVcXHU1MUM5XFx1NTFEQlxcdTUxRTBcXHU4NjU1XFx1NTFFOVxcdTUxRURcIl0sXG4gICAgICBbXCI5OTgwXCIsIFwiXFx1NTFGMFxcdTUxRjVcXHU1MUZFXFx1NTIwNFxcdTUyMEJcXHU1MjE0XFx1NTIwRVxcdTUyMjdcXHU1MjJBXFx1NTIyRVxcdTUyMzNcXHU1MjM5XFx1NTI0RlxcdTUyNDRcXHU1MjRCXFx1NTI0Q1xcdTUyNUVcXHU1MjU0XFx1NTI2QVxcdTUyNzRcXHU1MjY5XFx1NTI3M1xcdTUyN0ZcXHU1MjdEXFx1NTI4RFxcdTUyOTRcXHU1MjkyXFx1NTI3MVxcdTUyODhcXHU1MjkxXFx1OEZBOFxcdThGQTdcXHU1MkFDXFx1NTJBRFxcdTUyQkNcXHU1MkI1XFx1NTJDMVxcdTUyQ0RcXHU1MkQ3XFx1NTJERVxcdTUyRTNcXHU1MkU2XFx1OThFRFxcdTUyRTBcXHU1MkYzXFx1NTJGNVxcdTUyRjhcXHU1MkY5XFx1NTMwNlxcdTUzMDhcXHU3NTM4XFx1NTMwRFxcdTUzMTBcXHU1MzBGXFx1NTMxNVxcdTUzMUFcXHU1MzIzXFx1NTMyRlxcdTUzMzFcXHU1MzMzXFx1NTMzOFxcdTUzNDBcXHU1MzQ2XFx1NTM0NVxcdTRFMTdcXHU1MzQ5XFx1NTM0RFxcdTUxRDZcXHU1MzVFXFx1NTM2OVxcdTUzNkVcXHU1OTE4XFx1NTM3QlxcdTUzNzdcXHU1MzgyXFx1NTM5NlxcdTUzQTBcXHU1M0E2XFx1NTNBNVxcdTUzQUVcXHU1M0IwXFx1NTNCNlxcdTUzQzNcXHU3QzEyXFx1OTZEOVxcdTUzREZcXHU2NkZDXFx1NzFFRVxcdTUzRUVcXHU1M0U4XFx1NTNFRFxcdTUzRkFcXHU1NDAxXFx1NTQzRFxcdTU0NDBcXHU1NDJDXFx1NTQyRFxcdTU0M0NcXHU1NDJFXFx1NTQzNlxcdTU0MjlcXHU1NDFEXFx1NTQ0RVxcdTU0OEZcXHU1NDc1XFx1NTQ4RVxcdTU0NUZcXHU1NDcxXFx1NTQ3N1xcdTU0NzBcXHU1NDkyXFx1NTQ3QlxcdTU0ODBcXHU1NDc2XFx1NTQ4NFxcdTU0OTBcXHU1NDg2XFx1NTRDN1xcdTU0QTJcXHU1NEI4XFx1NTRBNVxcdTU0QUNcXHU1NEM0XFx1NTRDOFxcdTU0QThcIl0sXG4gICAgICBbXCI5YTQwXCIsIFwiXFx1NTRBQlxcdTU0QzJcXHU1NEE0XFx1NTRCRVxcdTU0QkNcXHU1NEQ4XFx1NTRFNVxcdTU0RTZcXHU1NTBGXFx1NTUxNFxcdTU0RkRcXHU1NEVFXFx1NTRFRFxcdTU0RkFcXHU1NEUyXFx1NTUzOVxcdTU1NDBcXHU1NTYzXFx1NTU0Q1xcdTU1MkVcXHU1NTVDXFx1NTU0NVxcdTU1NTZcXHU1NTU3XFx1NTUzOFxcdTU1MzNcXHU1NTVEXFx1NTU5OVxcdTU1ODBcXHU1NEFGXFx1NTU4QVxcdTU1OUZcXHU1NTdCXFx1NTU3RVxcdTU1OThcXHU1NTlFXFx1NTVBRVxcdTU1N0NcXHU1NTgzXFx1NTVBOVxcdTU1ODdcXHU1NUE4XFx1NTVEQVxcdTU1QzVcXHU1NURGXFx1NTVDNFxcdTU1RENcXHU1NUU0XFx1NTVENFxcdTU2MTRcXHU1NUY3XFx1NTYxNlxcdTU1RkVcXHU1NUZEXFx1NTYxQlxcdTU1RjlcXHU1NjRFXFx1NTY1MFxcdTcxREZcXHU1NjM0XFx1NTYzNlxcdTU2MzJcXHU1NjM4XCJdLFxuICAgICAgW1wiOWE4MFwiLCBcIlxcdTU2NkJcXHU1NjY0XFx1NTYyRlxcdTU2NkNcXHU1NjZBXFx1NTY4NlxcdTU2ODBcXHU1NjhBXFx1NTZBMFxcdTU2OTRcXHU1NjhGXFx1NTZBNVxcdTU2QUVcXHU1NkI2XFx1NTZCNFxcdTU2QzJcXHU1NkJDXFx1NTZDMVxcdTU2QzNcXHU1NkMwXFx1NTZDOFxcdTU2Q0VcXHU1NkQxXFx1NTZEM1xcdTU2RDdcXHU1NkVFXFx1NTZGOVxcdTU3MDBcXHU1NkZGXFx1NTcwNFxcdTU3MDlcXHU1NzA4XFx1NTcwQlxcdTU3MERcXHU1NzEzXFx1NTcxOFxcdTU3MTZcXHU1NUM3XFx1NTcxQ1xcdTU3MjZcXHU1NzM3XFx1NTczOFxcdTU3NEVcXHU1NzNCXFx1NTc0MFxcdTU3NEZcXHU1NzY5XFx1NTdDMFxcdTU3ODhcXHU1NzYxXFx1NTc3RlxcdTU3ODlcXHU1NzkzXFx1NTdBMFxcdTU3QjNcXHU1N0E0XFx1NTdBQVxcdTU3QjBcXHU1N0MzXFx1NTdDNlxcdTU3RDRcXHU1N0QyXFx1NTdEM1xcdTU4MEFcXHU1N0Q2XFx1NTdFM1xcdTU4MEJcXHU1ODE5XFx1NTgxRFxcdTU4NzJcXHU1ODIxXFx1NTg2MlxcdTU4NEJcXHU1ODcwXFx1NkJDMFxcdTU4NTJcXHU1ODNEXFx1NTg3OVxcdTU4ODVcXHU1OEI5XFx1NTg5RlxcdTU4QUJcXHU1OEJBXFx1NThERVxcdTU4QkJcXHU1OEI4XFx1NThBRVxcdTU4QzVcXHU1OEQzXFx1NThEMVxcdTU4RDdcXHU1OEQ5XFx1NThEOFxcdTU4RTVcXHU1OERDXFx1NThFNFxcdTU4REZcXHU1OEVGXFx1NThGQVxcdTU4RjlcXHU1OEZCXFx1NThGQ1xcdTU4RkRcXHU1OTAyXFx1NTkwQVxcdTU5MTBcXHU1OTFCXFx1NjhBNlxcdTU5MjVcXHU1OTJDXFx1NTkyRFxcdTU5MzJcXHU1OTM4XFx1NTkzRVxcdTdBRDJcXHU1OTU1XFx1NTk1MFxcdTU5NEVcXHU1OTVBXFx1NTk1OFxcdTU5NjJcXHU1OTYwXFx1NTk2N1xcdTU5NkNcXHU1OTY5XCJdLFxuICAgICAgW1wiOWI0MFwiLCBcIlxcdTU5NzhcXHU1OTgxXFx1NTk5RFxcdTRGNUVcXHU0RkFCXFx1NTlBM1xcdTU5QjJcXHU1OUM2XFx1NTlFOFxcdTU5RENcXHU1OThEXFx1NTlEOVxcdTU5REFcXHU1QTI1XFx1NUExRlxcdTVBMTFcXHU1QTFDXFx1NUEwOVxcdTVBMUFcXHU1QTQwXFx1NUE2Q1xcdTVBNDlcXHU1QTM1XFx1NUEzNlxcdTVBNjJcXHU1QTZBXFx1NUE5QVxcdTVBQkNcXHU1QUJFXFx1NUFDQlxcdTVBQzJcXHU1QUJEXFx1NUFFM1xcdTVBRDdcXHU1QUU2XFx1NUFFOVxcdTVBRDZcXHU1QUZBXFx1NUFGQlxcdTVCMENcXHU1QjBCXFx1NUIxNlxcdTVCMzJcXHU1QUQwXFx1NUIyQVxcdTVCMzZcXHU1QjNFXFx1NUI0M1xcdTVCNDVcXHU1QjQwXFx1NUI1MVxcdTVCNTVcXHU1QjVBXFx1NUI1QlxcdTVCNjVcXHU1QjY5XFx1NUI3MFxcdTVCNzNcXHU1Qjc1XFx1NUI3OFxcdTY1ODhcXHU1QjdBXFx1NUI4MFwiXSxcbiAgICAgIFtcIjliODBcIiwgXCJcXHU1QjgzXFx1NUJBNlxcdTVCQjhcXHU1QkMzXFx1NUJDN1xcdTVCQzlcXHU1QkQ0XFx1NUJEMFxcdTVCRTRcXHU1QkU2XFx1NUJFMlxcdTVCREVcXHU1QkU1XFx1NUJFQlxcdTVCRjBcXHU1QkY2XFx1NUJGM1xcdTVDMDVcXHU1QzA3XFx1NUMwOFxcdTVDMERcXHU1QzEzXFx1NUMyMFxcdTVDMjJcXHU1QzI4XFx1NUMzOFxcdTVDMzlcXHU1QzQxXFx1NUM0NlxcdTVDNEVcXHU1QzUzXFx1NUM1MFxcdTVDNEZcXHU1QjcxXFx1NUM2Q1xcdTVDNkVcXHU0RTYyXFx1NUM3NlxcdTVDNzlcXHU1QzhDXFx1NUM5MVxcdTVDOTRcXHU1OTlCXFx1NUNBQlxcdTVDQkJcXHU1Q0I2XFx1NUNCQ1xcdTVDQjdcXHU1Q0M1XFx1NUNCRVxcdTVDQzdcXHU1Q0Q5XFx1NUNFOVxcdTVDRkRcXHU1Q0ZBXFx1NUNFRFxcdTVEOENcXHU1Q0VBXFx1NUQwQlxcdTVEMTVcXHU1RDE3XFx1NUQ1Q1xcdTVEMUZcXHU1RDFCXFx1NUQxMVxcdTVEMTRcXHU1RDIyXFx1NUQxQVxcdTVEMTlcXHU1RDE4XFx1NUQ0Q1xcdTVENTJcXHU1RDRFXFx1NUQ0QlxcdTVENkNcXHU1RDczXFx1NUQ3NlxcdTVEODdcXHU1RDg0XFx1NUQ4MlxcdTVEQTJcXHU1RDlEXFx1NURBQ1xcdTVEQUVcXHU1REJEXFx1NUQ5MFxcdTVEQjdcXHU1REJDXFx1NURDOVxcdTVEQ0RcXHU1REQzXFx1NUREMlxcdTVERDZcXHU1RERCXFx1NURFQlxcdTVERjJcXHU1REY1XFx1NUUwQlxcdTVFMUFcXHU1RTE5XFx1NUUxMVxcdTVFMUJcXHU1RTM2XFx1NUUzN1xcdTVFNDRcXHU1RTQzXFx1NUU0MFxcdTVFNEVcXHU1RTU3XFx1NUU1NFxcdTVFNUZcXHU1RTYyXFx1NUU2NFxcdTVFNDdcXHU1RTc1XFx1NUU3NlxcdTVFN0FcXHU5RUJDXFx1NUU3RlxcdTVFQTBcXHU1RUMxXFx1NUVDMlxcdTVFQzhcXHU1RUQwXFx1NUVDRlwiXSxcbiAgICAgIFtcIjljNDBcIiwgXCJcXHU1RUQ2XFx1NUVFM1xcdTVFRERcXHU1RURBXFx1NUVEQlxcdTVFRTJcXHU1RUUxXFx1NUVFOFxcdTVFRTlcXHU1RUVDXFx1NUVGMVxcdTVFRjNcXHU1RUYwXFx1NUVGNFxcdTVFRjhcXHU1RUZFXFx1NUYwM1xcdTVGMDlcXHU1RjVEXFx1NUY1Q1xcdTVGMEJcXHU1RjExXFx1NUYxNlxcdTVGMjlcXHU1RjJEXFx1NUYzOFxcdTVGNDFcXHU1RjQ4XFx1NUY0Q1xcdTVGNEVcXHU1RjJGXFx1NUY1MVxcdTVGNTZcXHU1RjU3XFx1NUY1OVxcdTVGNjFcXHU1RjZEXFx1NUY3M1xcdTVGNzdcXHU1RjgzXFx1NUY4MlxcdTVGN0ZcXHU1RjhBXFx1NUY4OFxcdTVGOTFcXHU1Rjg3XFx1NUY5RVxcdTVGOTlcXHU1Rjk4XFx1NUZBMFxcdTVGQThcXHU1RkFEXFx1NUZCQ1xcdTVGRDZcXHU1RkZCXFx1NUZFNFxcdTVGRjhcXHU1RkYxXFx1NUZERFxcdTYwQjNcXHU1RkZGXFx1NjAyMVxcdTYwNjBcIl0sXG4gICAgICBbXCI5YzgwXCIsIFwiXFx1NjAxOVxcdTYwMTBcXHU2MDI5XFx1NjAwRVxcdTYwMzFcXHU2MDFCXFx1NjAxNVxcdTYwMkJcXHU2MDI2XFx1NjAwRlxcdTYwM0FcXHU2MDVBXFx1NjA0MVxcdTYwNkFcXHU2MDc3XFx1NjA1RlxcdTYwNEFcXHU2MDQ2XFx1NjA0RFxcdTYwNjNcXHU2MDQzXFx1NjA2NFxcdTYwNDJcXHU2MDZDXFx1NjA2QlxcdTYwNTlcXHU2MDgxXFx1NjA4RFxcdTYwRTdcXHU2MDgzXFx1NjA5QVxcdTYwODRcXHU2MDlCXFx1NjA5NlxcdTYwOTdcXHU2MDkyXFx1NjBBN1xcdTYwOEJcXHU2MEUxXFx1NjBCOFxcdTYwRTBcXHU2MEQzXFx1NjBCNFxcdTVGRjBcXHU2MEJEXFx1NjBDNlxcdTYwQjVcXHU2MEQ4XFx1NjE0RFxcdTYxMTVcXHU2MTA2XFx1NjBGNlxcdTYwRjdcXHU2MTAwXFx1NjBGNFxcdTYwRkFcXHU2MTAzXFx1NjEyMVxcdTYwRkJcXHU2MEYxXFx1NjEwRFxcdTYxMEVcXHU2MTQ3XFx1NjEzRVxcdTYxMjhcXHU2MTI3XFx1NjE0QVxcdTYxM0ZcXHU2MTNDXFx1NjEyQ1xcdTYxMzRcXHU2MTNEXFx1NjE0MlxcdTYxNDRcXHU2MTczXFx1NjE3N1xcdTYxNThcXHU2MTU5XFx1NjE1QVxcdTYxNkJcXHU2MTc0XFx1NjE2RlxcdTYxNjVcXHU2MTcxXFx1NjE1RlxcdTYxNURcXHU2MTUzXFx1NjE3NVxcdTYxOTlcXHU2MTk2XFx1NjE4N1xcdTYxQUNcXHU2MTk0XFx1NjE5QVxcdTYxOEFcXHU2MTkxXFx1NjFBQlxcdTYxQUVcXHU2MUNDXFx1NjFDQVxcdTYxQzlcXHU2MUY3XFx1NjFDOFxcdTYxQzNcXHU2MUM2XFx1NjFCQVxcdTYxQ0JcXHU3Rjc5XFx1NjFDRFxcdTYxRTZcXHU2MUUzXFx1NjFGNlxcdTYxRkFcXHU2MUY0XFx1NjFGRlxcdTYxRkRcXHU2MUZDXFx1NjFGRVxcdTYyMDBcXHU2MjA4XFx1NjIwOVxcdTYyMERcXHU2MjBDXFx1NjIxNFxcdTYyMUJcIl0sXG4gICAgICBbXCI5ZDQwXCIsIFwiXFx1NjIxRVxcdTYyMjFcXHU2MjJBXFx1NjIyRVxcdTYyMzBcXHU2MjMyXFx1NjIzM1xcdTYyNDFcXHU2MjRFXFx1NjI1RVxcdTYyNjNcXHU2MjVCXFx1NjI2MFxcdTYyNjhcXHU2MjdDXFx1NjI4MlxcdTYyODlcXHU2MjdFXFx1NjI5MlxcdTYyOTNcXHU2Mjk2XFx1NjJENFxcdTYyODNcXHU2Mjk0XFx1NjJEN1xcdTYyRDFcXHU2MkJCXFx1NjJDRlxcdTYyRkZcXHU2MkM2XFx1NjRENFxcdTYyQzhcXHU2MkRDXFx1NjJDQ1xcdTYyQ0FcXHU2MkMyXFx1NjJDN1xcdTYyOUJcXHU2MkM5XFx1NjMwQ1xcdTYyRUVcXHU2MkYxXFx1NjMyN1xcdTYzMDJcXHU2MzA4XFx1NjJFRlxcdTYyRjVcXHU2MzUwXFx1NjMzRVxcdTYzNERcXHU2NDFDXFx1NjM0RlxcdTYzOTZcXHU2MzhFXFx1NjM4MFxcdTYzQUJcXHU2Mzc2XFx1NjNBM1xcdTYzOEZcXHU2Mzg5XFx1NjM5RlxcdTYzQjVcXHU2MzZCXCJdLFxuICAgICAgW1wiOWQ4MFwiLCBcIlxcdTYzNjlcXHU2M0JFXFx1NjNFOVxcdTYzQzBcXHU2M0M2XFx1NjNFM1xcdTYzQzlcXHU2M0QyXFx1NjNGNlxcdTYzQzRcXHU2NDE2XFx1NjQzNFxcdTY0MDZcXHU2NDEzXFx1NjQyNlxcdTY0MzZcXHU2NTFEXFx1NjQxN1xcdTY0MjhcXHU2NDBGXFx1NjQ2N1xcdTY0NkZcXHU2NDc2XFx1NjQ0RVxcdTY1MkFcXHU2NDk1XFx1NjQ5M1xcdTY0QTVcXHU2NEE5XFx1NjQ4OFxcdTY0QkNcXHU2NERBXFx1NjREMlxcdTY0QzVcXHU2NEM3XFx1NjRCQlxcdTY0RDhcXHU2NEMyXFx1NjRGMVxcdTY0RTdcXHU4MjA5XFx1NjRFMFxcdTY0RTFcXHU2MkFDXFx1NjRFM1xcdTY0RUZcXHU2NTJDXFx1NjRGNlxcdTY0RjRcXHU2NEYyXFx1NjRGQVxcdTY1MDBcXHU2NEZEXFx1NjUxOFxcdTY1MUNcXHU2NTA1XFx1NjUyNFxcdTY1MjNcXHU2NTJCXFx1NjUzNFxcdTY1MzVcXHU2NTM3XFx1NjUzNlxcdTY1MzhcXHU3NTRCXFx1NjU0OFxcdTY1NTZcXHU2NTU1XFx1NjU0RFxcdTY1NThcXHU2NTVFXFx1NjU1RFxcdTY1NzJcXHU2NTc4XFx1NjU4MlxcdTY1ODNcXHU4QjhBXFx1NjU5QlxcdTY1OUZcXHU2NUFCXFx1NjVCN1xcdTY1QzNcXHU2NUM2XFx1NjVDMVxcdTY1QzRcXHU2NUNDXFx1NjVEMlxcdTY1REJcXHU2NUQ5XFx1NjVFMFxcdTY1RTFcXHU2NUYxXFx1Njc3MlxcdTY2MEFcXHU2NjAzXFx1NjVGQlxcdTY3NzNcXHU2NjM1XFx1NjYzNlxcdTY2MzRcXHU2NjFDXFx1NjY0RlxcdTY2NDRcXHU2NjQ5XFx1NjY0MVxcdTY2NUVcXHU2NjVEXFx1NjY2NFxcdTY2NjdcXHU2NjY4XFx1NjY1RlxcdTY2NjJcXHU2NjcwXFx1NjY4M1xcdTY2ODhcXHU2NjhFXFx1NjY4OVxcdTY2ODRcXHU2Njk4XFx1NjY5RFxcdTY2QzFcXHU2NkI5XFx1NjZDOVxcdTY2QkVcXHU2NkJDXCJdLFxuICAgICAgW1wiOWU0MFwiLCBcIlxcdTY2QzRcXHU2NkI4XFx1NjZENlxcdTY2REFcXHU2NkUwXFx1NjYzRlxcdTY2RTZcXHU2NkU5XFx1NjZGMFxcdTY2RjVcXHU2NkY3XFx1NjcwRlxcdTY3MTZcXHU2NzFFXFx1NjcyNlxcdTY3MjdcXHU5NzM4XFx1NjcyRVxcdTY3M0ZcXHU2NzM2XFx1Njc0MVxcdTY3MzhcXHU2NzM3XFx1Njc0NlxcdTY3NUVcXHU2NzYwXFx1Njc1OVxcdTY3NjNcXHU2NzY0XFx1Njc4OVxcdTY3NzBcXHU2N0E5XFx1Njc3Q1xcdTY3NkFcXHU2NzhDXFx1Njc4QlxcdTY3QTZcXHU2N0ExXFx1Njc4NVxcdTY3QjdcXHU2N0VGXFx1NjdCNFxcdTY3RUNcXHU2N0IzXFx1NjdFOVxcdTY3QjhcXHU2N0U0XFx1NjdERVxcdTY3RERcXHU2N0UyXFx1NjdFRVxcdTY3QjlcXHU2N0NFXFx1NjdDNlxcdTY3RTdcXHU2QTlDXFx1NjgxRVxcdTY4NDZcXHU2ODI5XFx1Njg0MFxcdTY4NERcXHU2ODMyXFx1Njg0RVwiXSxcbiAgICAgIFtcIjllODBcIiwgXCJcXHU2OEIzXFx1NjgyQlxcdTY4NTlcXHU2ODYzXFx1Njg3N1xcdTY4N0ZcXHU2ODlGXFx1Njg4RlxcdTY4QURcXHU2ODk0XFx1Njg5RFxcdTY4OUJcXHU2ODgzXFx1NkFBRVxcdTY4QjlcXHU2ODc0XFx1NjhCNVxcdTY4QTBcXHU2OEJBXFx1NjkwRlxcdTY4OERcXHU2ODdFXFx1NjkwMVxcdTY4Q0FcXHU2OTA4XFx1NjhEOFxcdTY5MjJcXHU2OTI2XFx1NjhFMVxcdTY5MENcXHU2OENEXFx1NjhENFxcdTY4RTdcXHU2OEQ1XFx1NjkzNlxcdTY5MTJcXHU2OTA0XFx1NjhEN1xcdTY4RTNcXHU2OTI1XFx1NjhGOVxcdTY4RTBcXHU2OEVGXFx1NjkyOFxcdTY5MkFcXHU2OTFBXFx1NjkyM1xcdTY5MjFcXHU2OEM2XFx1Njk3OVxcdTY5NzdcXHU2OTVDXFx1Njk3OFxcdTY5NkJcXHU2OTU0XFx1Njk3RVxcdTY5NkVcXHU2OTM5XFx1Njk3NFxcdTY5M0RcXHU2OTU5XFx1NjkzMFxcdTY5NjFcXHU2OTVFXFx1Njk1RFxcdTY5ODFcXHU2OTZBXFx1NjlCMlxcdTY5QUVcXHU2OUQwXFx1NjlCRlxcdTY5QzFcXHU2OUQzXFx1NjlCRVxcdTY5Q0VcXHU1QkU4XFx1NjlDQVxcdTY5RERcXHU2OUJCXFx1NjlDM1xcdTY5QTdcXHU2QTJFXFx1Njk5MVxcdTY5QTBcXHU2OTlDXFx1Njk5NVxcdTY5QjRcXHU2OURFXFx1NjlFOFxcdTZBMDJcXHU2QTFCXFx1NjlGRlxcdTZCMEFcXHU2OUY5XFx1NjlGMlxcdTY5RTdcXHU2QTA1XFx1NjlCMVxcdTZBMUVcXHU2OUVEXFx1NkExNFxcdTY5RUJcXHU2QTBBXFx1NkExMlxcdTZBQzFcXHU2QTIzXFx1NkExM1xcdTZBNDRcXHU2QTBDXFx1NkE3MlxcdTZBMzZcXHU2QTc4XFx1NkE0N1xcdTZBNjJcXHU2QTU5XFx1NkE2NlxcdTZBNDhcXHU2QTM4XFx1NkEyMlxcdTZBOTBcXHU2QThEXFx1NkFBMFxcdTZBODRcXHU2QUEyXFx1NkFBM1wiXSxcbiAgICAgIFtcIjlmNDBcIiwgXCJcXHU2QTk3XFx1ODYxN1xcdTZBQkJcXHU2QUMzXFx1NkFDMlxcdTZBQjhcXHU2QUIzXFx1NkFBQ1xcdTZBREVcXHU2QUQxXFx1NkFERlxcdTZBQUFcXHU2QURBXFx1NkFFQVxcdTZBRkJcXHU2QjA1XFx1ODYxNlxcdTZBRkFcXHU2QjEyXFx1NkIxNlxcdTlCMzFcXHU2QjFGXFx1NkIzOFxcdTZCMzdcXHU3NkRDXFx1NkIzOVxcdTk4RUVcXHU2QjQ3XFx1NkI0M1xcdTZCNDlcXHU2QjUwXFx1NkI1OVxcdTZCNTRcXHU2QjVCXFx1NkI1RlxcdTZCNjFcXHU2Qjc4XFx1NkI3OVxcdTZCN0ZcXHU2QjgwXFx1NkI4NFxcdTZCODNcXHU2QjhEXFx1NkI5OFxcdTZCOTVcXHU2QjlFXFx1NkJBNFxcdTZCQUFcXHU2QkFCXFx1NkJBRlxcdTZCQjJcXHU2QkIxXFx1NkJCM1xcdTZCQjdcXHU2QkJDXFx1NkJDNlxcdTZCQ0JcXHU2QkQzXFx1NkJERlxcdTZCRUNcXHU2QkVCXFx1NkJGM1xcdTZCRUZcIl0sXG4gICAgICBbXCI5ZjgwXCIsIFwiXFx1OUVCRVxcdTZDMDhcXHU2QzEzXFx1NkMxNFxcdTZDMUJcXHU2QzI0XFx1NkMyM1xcdTZDNUVcXHU2QzU1XFx1NkM2MlxcdTZDNkFcXHU2QzgyXFx1NkM4RFxcdTZDOUFcXHU2QzgxXFx1NkM5QlxcdTZDN0VcXHU2QzY4XFx1NkM3M1xcdTZDOTJcXHU2QzkwXFx1NkNDNFxcdTZDRjFcXHU2Q0QzXFx1NkNCRFxcdTZDRDdcXHU2Q0M1XFx1NkNERFxcdTZDQUVcXHU2Q0IxXFx1NkNCRVxcdTZDQkFcXHU2Q0RCXFx1NkNFRlxcdTZDRDlcXHU2Q0VBXFx1NkQxRlxcdTg4NERcXHU2RDM2XFx1NkQyQlxcdTZEM0RcXHU2RDM4XFx1NkQxOVxcdTZEMzVcXHU2RDMzXFx1NkQxMlxcdTZEMENcXHU2RDYzXFx1NkQ5M1xcdTZENjRcXHU2RDVBXFx1NkQ3OVxcdTZENTlcXHU2RDhFXFx1NkQ5NVxcdTZGRTRcXHU2RDg1XFx1NkRGOVxcdTZFMTVcXHU2RTBBXFx1NkRCNVxcdTZEQzdcXHU2REU2XFx1NkRCOFxcdTZEQzZcXHU2REVDXFx1NkRERVxcdTZEQ0NcXHU2REU4XFx1NkREMlxcdTZEQzVcXHU2REZBXFx1NkREOVxcdTZERTRcXHU2REQ1XFx1NkRFQVxcdTZERUVcXHU2RTJEXFx1NkU2RVxcdTZFMkVcXHU2RTE5XFx1NkU3MlxcdTZFNUZcXHU2RTNFXFx1NkUyM1xcdTZFNkJcXHU2RTJCXFx1NkU3NlxcdTZFNERcXHU2RTFGXFx1NkU0M1xcdTZFM0FcXHU2RTRFXFx1NkUyNFxcdTZFRkZcXHU2RTFEXFx1NkUzOFxcdTZFODJcXHU2RUFBXFx1NkU5OFxcdTZFQzlcXHU2RUI3XFx1NkVEM1xcdTZFQkRcXHU2RUFGXFx1NkVDNFxcdTZFQjJcXHU2RUQ0XFx1NkVENVxcdTZFOEZcXHU2RUE1XFx1NkVDMlxcdTZFOUZcXHU2RjQxXFx1NkYxMVxcdTcwNENcXHU2RUVDXFx1NkVGOFxcdTZFRkVcXHU2RjNGXFx1NkVGMlxcdTZGMzFcXHU2RUVGXFx1NkYzMlxcdTZFQ0NcIl0sXG4gICAgICBbXCJlMDQwXCIsIFwiXFx1NkYzRVxcdTZGMTNcXHU2RUY3XFx1NkY4NlxcdTZGN0FcXHU2Rjc4XFx1NkY4MVxcdTZGODBcXHU2RjZGXFx1NkY1QlxcdTZGRjNcXHU2RjZEXFx1NkY4MlxcdTZGN0NcXHU2RjU4XFx1NkY4RVxcdTZGOTFcXHU2RkMyXFx1NkY2NlxcdTZGQjNcXHU2RkEzXFx1NkZBMVxcdTZGQTRcXHU2RkI5XFx1NkZDNlxcdTZGQUFcXHU2RkRGXFx1NkZENVxcdTZGRUNcXHU2RkQ0XFx1NkZEOFxcdTZGRjFcXHU2RkVFXFx1NkZEQlxcdTcwMDlcXHU3MDBCXFx1NkZGQVxcdTcwMTFcXHU3MDAxXFx1NzAwRlxcdTZGRkVcXHU3MDFCXFx1NzAxQVxcdTZGNzRcXHU3MDFEXFx1NzAxOFxcdTcwMUZcXHU3MDMwXFx1NzAzRVxcdTcwMzJcXHU3MDUxXFx1NzA2M1xcdTcwOTlcXHU3MDkyXFx1NzBBRlxcdTcwRjFcXHU3MEFDXFx1NzBCOFxcdTcwQjNcXHU3MEFFXFx1NzBERlxcdTcwQ0JcXHU3MEREXCJdLFxuICAgICAgW1wiZTA4MFwiLCBcIlxcdTcwRDlcXHU3MTA5XFx1NzBGRFxcdTcxMUNcXHU3MTE5XFx1NzE2NVxcdTcxNTVcXHU3MTg4XFx1NzE2NlxcdTcxNjJcXHU3MTRDXFx1NzE1NlxcdTcxNkNcXHU3MThGXFx1NzFGQlxcdTcxODRcXHU3MTk1XFx1NzFBOFxcdTcxQUNcXHU3MUQ3XFx1NzFCOVxcdTcxQkVcXHU3MUQyXFx1NzFDOVxcdTcxRDRcXHU3MUNFXFx1NzFFMFxcdTcxRUNcXHU3MUU3XFx1NzFGNVxcdTcxRkNcXHU3MUY5XFx1NzFGRlxcdTcyMERcXHU3MjEwXFx1NzIxQlxcdTcyMjhcXHU3MjJEXFx1NzIyQ1xcdTcyMzBcXHU3MjMyXFx1NzIzQlxcdTcyM0NcXHU3MjNGXFx1NzI0MFxcdTcyNDZcXHU3MjRCXFx1NzI1OFxcdTcyNzRcXHU3MjdFXFx1NzI4MlxcdTcyODFcXHU3Mjg3XFx1NzI5MlxcdTcyOTZcXHU3MkEyXFx1NzJBN1xcdTcyQjlcXHU3MkIyXFx1NzJDM1xcdTcyQzZcXHU3MkM0XFx1NzJDRVxcdTcyRDJcXHU3MkUyXFx1NzJFMFxcdTcyRTFcXHU3MkY5XFx1NzJGN1xcdTUwMEZcXHU3MzE3XFx1NzMwQVxcdTczMUNcXHU3MzE2XFx1NzMxRFxcdTczMzRcXHU3MzJGXFx1NzMyOVxcdTczMjVcXHU3MzNFXFx1NzM0RVxcdTczNEZcXHU5RUQ4XFx1NzM1N1xcdTczNkFcXHU3MzY4XFx1NzM3MFxcdTczNzhcXHU3Mzc1XFx1NzM3QlxcdTczN0FcXHU3M0M4XFx1NzNCM1xcdTczQ0VcXHU3M0JCXFx1NzNDMFxcdTczRTVcXHU3M0VFXFx1NzNERVxcdTc0QTJcXHU3NDA1XFx1NzQ2RlxcdTc0MjVcXHU3M0Y4XFx1NzQzMlxcdTc0M0FcXHU3NDU1XFx1NzQzRlxcdTc0NUZcXHU3NDU5XFx1NzQ0MVxcdTc0NUNcXHU3NDY5XFx1NzQ3MFxcdTc0NjNcXHU3NDZBXFx1NzQ3NlxcdTc0N0VcXHU3NDhCXFx1NzQ5RVxcdTc0QTdcXHU3NENBXFx1NzRDRlxcdTc0RDRcXHU3M0YxXCJdLFxuICAgICAgW1wiZTE0MFwiLCBcIlxcdTc0RTBcXHU3NEUzXFx1NzRFN1xcdTc0RTlcXHU3NEVFXFx1NzRGMlxcdTc0RjBcXHU3NEYxXFx1NzRGOFxcdTc0RjdcXHU3NTA0XFx1NzUwM1xcdTc1MDVcXHU3NTBDXFx1NzUwRVxcdTc1MERcXHU3NTE1XFx1NzUxM1xcdTc1MUVcXHU3NTI2XFx1NzUyQ1xcdTc1M0NcXHU3NTQ0XFx1NzU0RFxcdTc1NEFcXHU3NTQ5XFx1NzU1QlxcdTc1NDZcXHU3NTVBXFx1NzU2OVxcdTc1NjRcXHU3NTY3XFx1NzU2QlxcdTc1NkRcXHU3NTc4XFx1NzU3NlxcdTc1ODZcXHU3NTg3XFx1NzU3NFxcdTc1OEFcXHU3NTg5XFx1NzU4MlxcdTc1OTRcXHU3NTlBXFx1NzU5RFxcdTc1QTVcXHU3NUEzXFx1NzVDMlxcdTc1QjNcXHU3NUMzXFx1NzVCNVxcdTc1QkRcXHU3NUI4XFx1NzVCQ1xcdTc1QjFcXHU3NUNEXFx1NzVDQVxcdTc1RDJcXHU3NUQ5XFx1NzVFM1xcdTc1REVcXHU3NUZFXFx1NzVGRlwiXSxcbiAgICAgIFtcImUxODBcIiwgXCJcXHU3NUZDXFx1NzYwMVxcdTc1RjBcXHU3NUZBXFx1NzVGMlxcdTc1RjNcXHU3NjBCXFx1NzYwRFxcdTc2MDlcXHU3NjFGXFx1NzYyN1xcdTc2MjBcXHU3NjIxXFx1NzYyMlxcdTc2MjRcXHU3NjM0XFx1NzYzMFxcdTc2M0JcXHU3NjQ3XFx1NzY0OFxcdTc2NDZcXHU3NjVDXFx1NzY1OFxcdTc2NjFcXHU3NjYyXFx1NzY2OFxcdTc2NjlcXHU3NjZBXFx1NzY2N1xcdTc2NkNcXHU3NjcwXFx1NzY3MlxcdTc2NzZcXHU3Njc4XFx1NzY3Q1xcdTc2ODBcXHU3NjgzXFx1NzY4OFxcdTc2OEJcXHU3NjhFXFx1NzY5NlxcdTc2OTNcXHU3Njk5XFx1NzY5QVxcdTc2QjBcXHU3NkI0XFx1NzZCOFxcdTc2QjlcXHU3NkJBXFx1NzZDMlxcdTc2Q0RcXHU3NkQ2XFx1NzZEMlxcdTc2REVcXHU3NkUxXFx1NzZFNVxcdTc2RTdcXHU3NkVBXFx1ODYyRlxcdTc2RkJcXHU3NzA4XFx1NzcwN1xcdTc3MDRcXHU3NzI5XFx1NzcyNFxcdTc3MUVcXHU3NzI1XFx1NzcyNlxcdTc3MUJcXHU3NzM3XFx1NzczOFxcdTc3NDdcXHU3NzVBXFx1Nzc2OFxcdTc3NkJcXHU3NzVCXFx1Nzc2NVxcdTc3N0ZcXHU3NzdFXFx1Nzc3OVxcdTc3OEVcXHU3NzhCXFx1Nzc5MVxcdTc3QTBcXHU3NzlFXFx1NzdCMFxcdTc3QjZcXHU3N0I5XFx1NzdCRlxcdTc3QkNcXHU3N0JEXFx1NzdCQlxcdTc3QzdcXHU3N0NEXFx1NzdEN1xcdTc3REFcXHU3N0RDXFx1NzdFM1xcdTc3RUVcXHU3N0ZDXFx1NzgwQ1xcdTc4MTJcXHU3OTI2XFx1NzgyMFxcdTc5MkFcXHU3ODQ1XFx1Nzg4RVxcdTc4NzRcXHU3ODg2XFx1Nzg3Q1xcdTc4OUFcXHU3ODhDXFx1NzhBM1xcdTc4QjVcXHU3OEFBXFx1NzhBRlxcdTc4RDFcXHU3OEM2XFx1NzhDQlxcdTc4RDRcXHU3OEJFXFx1NzhCQ1xcdTc4QzVcXHU3OENBXFx1NzhFQ1wiXSxcbiAgICAgIFtcImUyNDBcIiwgXCJcXHU3OEU3XFx1NzhEQVxcdTc4RkRcXHU3OEY0XFx1NzkwN1xcdTc5MTJcXHU3OTExXFx1NzkxOVxcdTc5MkNcXHU3OTJCXFx1Nzk0MFxcdTc5NjBcXHU3OTU3XFx1Nzk1RlxcdTc5NUFcXHU3OTU1XFx1Nzk1M1xcdTc5N0FcXHU3OTdGXFx1Nzk4QVxcdTc5OURcXHU3OUE3XFx1OUY0QlxcdTc5QUFcXHU3OUFFXFx1NzlCM1xcdTc5QjlcXHU3OUJBXFx1NzlDOVxcdTc5RDVcXHU3OUU3XFx1NzlFQ1xcdTc5RTFcXHU3OUUzXFx1N0EwOFxcdTdBMERcXHU3QTE4XFx1N0ExOVxcdTdBMjBcXHU3QTFGXFx1Nzk4MFxcdTdBMzFcXHU3QTNCXFx1N0EzRVxcdTdBMzdcXHU3QTQzXFx1N0E1N1xcdTdBNDlcXHU3QTYxXFx1N0E2MlxcdTdBNjlcXHU5RjlEXFx1N0E3MFxcdTdBNzlcXHU3QTdEXFx1N0E4OFxcdTdBOTdcXHU3QTk1XFx1N0E5OFxcdTdBOTZcXHU3QUE5XFx1N0FDOFxcdTdBQjBcIl0sXG4gICAgICBbXCJlMjgwXCIsIFwiXFx1N0FCNlxcdTdBQzVcXHU3QUM0XFx1N0FCRlxcdTkwODNcXHU3QUM3XFx1N0FDQVxcdTdBQ0RcXHU3QUNGXFx1N0FENVxcdTdBRDNcXHU3QUQ5XFx1N0FEQVxcdTdBRERcXHU3QUUxXFx1N0FFMlxcdTdBRTZcXHU3QUVEXFx1N0FGMFxcdTdCMDJcXHU3QjBGXFx1N0IwQVxcdTdCMDZcXHU3QjMzXFx1N0IxOFxcdTdCMTlcXHU3QjFFXFx1N0IzNVxcdTdCMjhcXHU3QjM2XFx1N0I1MFxcdTdCN0FcXHU3QjA0XFx1N0I0RFxcdTdCMEJcXHU3QjRDXFx1N0I0NVxcdTdCNzVcXHU3QjY1XFx1N0I3NFxcdTdCNjdcXHU3QjcwXFx1N0I3MVxcdTdCNkNcXHU3QjZFXFx1N0I5RFxcdTdCOThcXHU3QjlGXFx1N0I4RFxcdTdCOUNcXHU3QjlBXFx1N0I4QlxcdTdCOTJcXHU3QjhGXFx1N0I1RFxcdTdCOTlcXHU3QkNCXFx1N0JDMVxcdTdCQ0NcXHU3QkNGXFx1N0JCNFxcdTdCQzZcXHU3QkREXFx1N0JFOVxcdTdDMTFcXHU3QzE0XFx1N0JFNlxcdTdCRTVcXHU3QzYwXFx1N0MwMFxcdTdDMDdcXHU3QzEzXFx1N0JGM1xcdTdCRjdcXHU3QzE3XFx1N0MwRFxcdTdCRjZcXHU3QzIzXFx1N0MyN1xcdTdDMkFcXHU3QzFGXFx1N0MzN1xcdTdDMkJcXHU3QzNEXFx1N0M0Q1xcdTdDNDNcXHU3QzU0XFx1N0M0RlxcdTdDNDBcXHU3QzUwXFx1N0M1OFxcdTdDNUZcXHU3QzY0XFx1N0M1NlxcdTdDNjVcXHU3QzZDXFx1N0M3NVxcdTdDODNcXHU3QzkwXFx1N0NBNFxcdTdDQURcXHU3Q0EyXFx1N0NBQlxcdTdDQTFcXHU3Q0E4XFx1N0NCM1xcdTdDQjJcXHU3Q0IxXFx1N0NBRVxcdTdDQjlcXHU3Q0JEXFx1N0NDMFxcdTdDQzVcXHU3Q0MyXFx1N0NEOFxcdTdDRDJcXHU3Q0RDXFx1N0NFMlxcdTlCM0JcXHU3Q0VGXFx1N0NGMlxcdTdDRjRcXHU3Q0Y2XFx1N0NGQVxcdTdEMDZcIl0sXG4gICAgICBbXCJlMzQwXCIsIFwiXFx1N0QwMlxcdTdEMUNcXHU3RDE1XFx1N0QwQVxcdTdENDVcXHU3RDRCXFx1N0QyRVxcdTdEMzJcXHU3RDNGXFx1N0QzNVxcdTdENDZcXHU3RDczXFx1N0Q1NlxcdTdENEVcXHU3RDcyXFx1N0Q2OFxcdTdENkVcXHU3RDRGXFx1N0Q2M1xcdTdEOTNcXHU3RDg5XFx1N0Q1QlxcdTdEOEZcXHU3RDdEXFx1N0Q5QlxcdTdEQkFcXHU3REFFXFx1N0RBM1xcdTdEQjVcXHU3REM3XFx1N0RCRFxcdTdEQUJcXHU3RTNEXFx1N0RBMlxcdTdEQUZcXHU3RERDXFx1N0RCOFxcdTdEOUZcXHU3REIwXFx1N0REOFxcdTdERERcXHU3REU0XFx1N0RERVxcdTdERkJcXHU3REYyXFx1N0RFMVxcdTdFMDVcXHU3RTBBXFx1N0UyM1xcdTdFMjFcXHU3RTEyXFx1N0UzMVxcdTdFMUZcXHU3RTA5XFx1N0UwQlxcdTdFMjJcXHU3RTQ2XFx1N0U2NlxcdTdFM0JcXHU3RTM1XFx1N0UzOVxcdTdFNDNcXHU3RTM3XCJdLFxuICAgICAgW1wiZTM4MFwiLCBcIlxcdTdFMzJcXHU3RTNBXFx1N0U2N1xcdTdFNURcXHU3RTU2XFx1N0U1RVxcdTdFNTlcXHU3RTVBXFx1N0U3OVxcdTdFNkFcXHU3RTY5XFx1N0U3Q1xcdTdFN0JcXHU3RTgzXFx1N0RENVxcdTdFN0RcXHU4RkFFXFx1N0U3RlxcdTdFODhcXHU3RTg5XFx1N0U4Q1xcdTdFOTJcXHU3RTkwXFx1N0U5M1xcdTdFOTRcXHU3RTk2XFx1N0U4RVxcdTdFOUJcXHU3RTlDXFx1N0YzOFxcdTdGM0FcXHU3RjQ1XFx1N0Y0Q1xcdTdGNERcXHU3RjRFXFx1N0Y1MFxcdTdGNTFcXHU3RjU1XFx1N0Y1NFxcdTdGNThcXHU3RjVGXFx1N0Y2MFxcdTdGNjhcXHU3RjY5XFx1N0Y2N1xcdTdGNzhcXHU3RjgyXFx1N0Y4NlxcdTdGODNcXHU3Rjg4XFx1N0Y4N1xcdTdGOENcXHU3Rjk0XFx1N0Y5RVxcdTdGOURcXHU3RjlBXFx1N0ZBM1xcdTdGQUZcXHU3RkIyXFx1N0ZCOVxcdTdGQUVcXHU3RkI2XFx1N0ZCOFxcdThCNzFcXHU3RkM1XFx1N0ZDNlxcdTdGQ0FcXHU3RkQ1XFx1N0ZENFxcdTdGRTFcXHU3RkU2XFx1N0ZFOVxcdTdGRjNcXHU3RkY5XFx1OThEQ1xcdTgwMDZcXHU4MDA0XFx1ODAwQlxcdTgwMTJcXHU4MDE4XFx1ODAxOVxcdTgwMUNcXHU4MDIxXFx1ODAyOFxcdTgwM0ZcXHU4MDNCXFx1ODA0QVxcdTgwNDZcXHU4MDUyXFx1ODA1OFxcdTgwNUFcXHU4MDVGXFx1ODA2MlxcdTgwNjhcXHU4MDczXFx1ODA3MlxcdTgwNzBcXHU4MDc2XFx1ODA3OVxcdTgwN0RcXHU4MDdGXFx1ODA4NFxcdTgwODZcXHU4MDg1XFx1ODA5QlxcdTgwOTNcXHU4MDlBXFx1ODBBRFxcdTUxOTBcXHU4MEFDXFx1ODBEQlxcdTgwRTVcXHU4MEQ5XFx1ODBERFxcdTgwQzRcXHU4MERBXFx1ODBENlxcdTgxMDlcXHU4MEVGXFx1ODBGMVxcdTgxMUJcXHU4MTI5XFx1ODEyM1xcdTgxMkZcXHU4MTRCXCJdLFxuICAgICAgW1wiZTQ0MFwiLCBcIlxcdTk2OEJcXHU4MTQ2XFx1ODEzRVxcdTgxNTNcXHU4MTUxXFx1ODBGQ1xcdTgxNzFcXHU4MTZFXFx1ODE2NVxcdTgxNjZcXHU4MTc0XFx1ODE4M1xcdTgxODhcXHU4MThBXFx1ODE4MFxcdTgxODJcXHU4MUEwXFx1ODE5NVxcdTgxQTRcXHU4MUEzXFx1ODE1RlxcdTgxOTNcXHU4MUE5XFx1ODFCMFxcdTgxQjVcXHU4MUJFXFx1ODFCOFxcdTgxQkRcXHU4MUMwXFx1ODFDMlxcdTgxQkFcXHU4MUM5XFx1ODFDRFxcdTgxRDFcXHU4MUQ5XFx1ODFEOFxcdTgxQzhcXHU4MURBXFx1ODFERlxcdTgxRTBcXHU4MUU3XFx1ODFGQVxcdTgxRkJcXHU4MUZFXFx1ODIwMVxcdTgyMDJcXHU4MjA1XFx1ODIwN1xcdTgyMEFcXHU4MjBEXFx1ODIxMFxcdTgyMTZcXHU4MjI5XFx1ODIyQlxcdTgyMzhcXHU4MjMzXFx1ODI0MFxcdTgyNTlcXHU4MjU4XFx1ODI1RFxcdTgyNUFcXHU4MjVGXFx1ODI2NFwiXSxcbiAgICAgIFtcImU0ODBcIiwgXCJcXHU4MjYyXFx1ODI2OFxcdTgyNkFcXHU4MjZCXFx1ODIyRVxcdTgyNzFcXHU4Mjc3XFx1ODI3OFxcdTgyN0VcXHU4MjhEXFx1ODI5MlxcdTgyQUJcXHU4MjlGXFx1ODJCQlxcdTgyQUNcXHU4MkUxXFx1ODJFM1xcdTgyREZcXHU4MkQyXFx1ODJGNFxcdTgyRjNcXHU4MkZBXFx1ODM5M1xcdTgzMDNcXHU4MkZCXFx1ODJGOVxcdTgyREVcXHU4MzA2XFx1ODJEQ1xcdTgzMDlcXHU4MkQ5XFx1ODMzNVxcdTgzMzRcXHU4MzE2XFx1ODMzMlxcdTgzMzFcXHU4MzQwXFx1ODMzOVxcdTgzNTBcXHU4MzQ1XFx1ODMyRlxcdTgzMkJcXHU4MzE3XFx1ODMxOFxcdTgzODVcXHU4MzlBXFx1ODNBQVxcdTgzOUZcXHU4M0EyXFx1ODM5NlxcdTgzMjNcXHU4MzhFXFx1ODM4N1xcdTgzOEFcXHU4MzdDXFx1ODNCNVxcdTgzNzNcXHU4Mzc1XFx1ODNBMFxcdTgzODlcXHU4M0E4XFx1ODNGNFxcdTg0MTNcXHU4M0VCXFx1ODNDRVxcdTgzRkRcXHU4NDAzXFx1ODNEOFxcdTg0MEJcXHU4M0MxXFx1ODNGN1xcdTg0MDdcXHU4M0UwXFx1ODNGMlxcdTg0MERcXHU4NDIyXFx1ODQyMFxcdTgzQkRcXHU4NDM4XFx1ODUwNlxcdTgzRkJcXHU4NDZEXFx1ODQyQVxcdTg0M0NcXHU4NTVBXFx1ODQ4NFxcdTg0NzdcXHU4NDZCXFx1ODRBRFxcdTg0NkVcXHU4NDgyXFx1ODQ2OVxcdTg0NDZcXHU4NDJDXFx1ODQ2RlxcdTg0NzlcXHU4NDM1XFx1ODRDQVxcdTg0NjJcXHU4NEI5XFx1ODRCRlxcdTg0OUZcXHU4NEQ5XFx1ODRDRFxcdTg0QkJcXHU4NERBXFx1ODREMFxcdTg0QzFcXHU4NEM2XFx1ODRENlxcdTg0QTFcXHU4NTIxXFx1ODRGRlxcdTg0RjRcXHU4NTE3XFx1ODUxOFxcdTg1MkNcXHU4NTFGXFx1ODUxNVxcdTg1MTRcXHU4NEZDXFx1ODU0MFxcdTg1NjNcXHU4NTU4XFx1ODU0OFwiXSxcbiAgICAgIFtcImU1NDBcIiwgXCJcXHU4NTQxXFx1ODYwMlxcdTg1NEJcXHU4NTU1XFx1ODU4MFxcdTg1QTRcXHU4NTg4XFx1ODU5MVxcdTg1OEFcXHU4NUE4XFx1ODU2RFxcdTg1OTRcXHU4NTlCXFx1ODVFQVxcdTg1ODdcXHU4NTlDXFx1ODU3N1xcdTg1N0VcXHU4NTkwXFx1ODVDOVxcdTg1QkFcXHU4NUNGXFx1ODVCOVxcdTg1RDBcXHU4NUQ1XFx1ODVERFxcdTg1RTVcXHU4NURDXFx1ODVGOVxcdTg2MEFcXHU4NjEzXFx1ODYwQlxcdTg1RkVcXHU4NUZBXFx1ODYwNlxcdTg2MjJcXHU4NjFBXFx1ODYzMFxcdTg2M0ZcXHU4NjREXFx1NEU1NVxcdTg2NTRcXHU4NjVGXFx1ODY2N1xcdTg2NzFcXHU4NjkzXFx1ODZBM1xcdTg2QTlcXHU4NkFBXFx1ODY4QlxcdTg2OENcXHU4NkI2XFx1ODZBRlxcdTg2QzRcXHU4NkM2XFx1ODZCMFxcdTg2QzlcXHU4ODIzXFx1ODZBQlxcdTg2RDRcXHU4NkRFXFx1ODZFOVxcdTg2RUNcIl0sXG4gICAgICBbXCJlNTgwXCIsIFwiXFx1ODZERlxcdTg2REJcXHU4NkVGXFx1ODcxMlxcdTg3MDZcXHU4NzA4XFx1ODcwMFxcdTg3MDNcXHU4NkZCXFx1ODcxMVxcdTg3MDlcXHU4NzBEXFx1ODZGOVxcdTg3MEFcXHU4NzM0XFx1ODczRlxcdTg3MzdcXHU4NzNCXFx1ODcyNVxcdTg3MjlcXHU4NzFBXFx1ODc2MFxcdTg3NUZcXHU4Nzc4XFx1ODc0Q1xcdTg3NEVcXHU4Nzc0XFx1ODc1N1xcdTg3NjhcXHU4NzZFXFx1ODc1OVxcdTg3NTNcXHU4NzYzXFx1ODc2QVxcdTg4MDVcXHU4N0EyXFx1ODc5RlxcdTg3ODJcXHU4N0FGXFx1ODdDQlxcdTg3QkRcXHU4N0MwXFx1ODdEMFxcdTk2RDZcXHU4N0FCXFx1ODdDNFxcdTg3QjNcXHU4N0M3XFx1ODdDNlxcdTg3QkJcXHU4N0VGXFx1ODdGMlxcdTg3RTBcXHU4ODBGXFx1ODgwRFxcdTg3RkVcXHU4N0Y2XFx1ODdGN1xcdTg4MEVcXHU4N0QyXFx1ODgxMVxcdTg4MTZcXHU4ODE1XFx1ODgyMlxcdTg4MjFcXHU4ODMxXFx1ODgzNlxcdTg4MzlcXHU4ODI3XFx1ODgzQlxcdTg4NDRcXHU4ODQyXFx1ODg1MlxcdTg4NTlcXHU4ODVFXFx1ODg2MlxcdTg4NkJcXHU4ODgxXFx1ODg3RVxcdTg4OUVcXHU4ODc1XFx1ODg3RFxcdTg4QjVcXHU4ODcyXFx1ODg4MlxcdTg4OTdcXHU4ODkyXFx1ODhBRVxcdTg4OTlcXHU4OEEyXFx1ODg4RFxcdTg4QTRcXHU4OEIwXFx1ODhCRlxcdTg4QjFcXHU4OEMzXFx1ODhDNFxcdTg4RDRcXHU4OEQ4XFx1ODhEOVxcdTg4RERcXHU4OEY5XFx1ODkwMlxcdTg4RkNcXHU4OEY0XFx1ODhFOFxcdTg4RjJcXHU4OTA0XFx1ODkwQ1xcdTg5MEFcXHU4OTEzXFx1ODk0M1xcdTg5MUVcXHU4OTI1XFx1ODkyQVxcdTg5MkJcXHU4OTQxXFx1ODk0NFxcdTg5M0JcXHU4OTM2XFx1ODkzOFxcdTg5NENcXHU4OTFEXFx1ODk2MFxcdTg5NUVcIl0sXG4gICAgICBbXCJlNjQwXCIsIFwiXFx1ODk2NlxcdTg5NjRcXHU4OTZEXFx1ODk2QVxcdTg5NkZcXHU4OTc0XFx1ODk3N1xcdTg5N0VcXHU4OTgzXFx1ODk4OFxcdTg5OEFcXHU4OTkzXFx1ODk5OFxcdTg5QTFcXHU4OUE5XFx1ODlBNlxcdTg5QUNcXHU4OUFGXFx1ODlCMlxcdTg5QkFcXHU4OUJEXFx1ODlCRlxcdTg5QzBcXHU4OURBXFx1ODlEQ1xcdTg5RERcXHU4OUU3XFx1ODlGNFxcdTg5RjhcXHU4QTAzXFx1OEExNlxcdThBMTBcXHU4QTBDXFx1OEExQlxcdThBMURcXHU4QTI1XFx1OEEzNlxcdThBNDFcXHU4QTVCXFx1OEE1MlxcdThBNDZcXHU4QTQ4XFx1OEE3Q1xcdThBNkRcXHU4QTZDXFx1OEE2MlxcdThBODVcXHU4QTgyXFx1OEE4NFxcdThBQThcXHU4QUExXFx1OEE5MVxcdThBQTVcXHU4QUE2XFx1OEE5QVxcdThBQTNcXHU4QUM0XFx1OEFDRFxcdThBQzJcXHU4QURBXFx1OEFFQlxcdThBRjNcXHU4QUU3XCJdLFxuICAgICAgW1wiZTY4MFwiLCBcIlxcdThBRTRcXHU4QUYxXFx1OEIxNFxcdThBRTBcXHU4QUUyXFx1OEFGN1xcdThBREVcXHU4QURCXFx1OEIwQ1xcdThCMDdcXHU4QjFBXFx1OEFFMVxcdThCMTZcXHU4QjEwXFx1OEIxN1xcdThCMjBcXHU4QjMzXFx1OTdBQlxcdThCMjZcXHU4QjJCXFx1OEIzRVxcdThCMjhcXHU4QjQxXFx1OEI0Q1xcdThCNEZcXHU4QjRFXFx1OEI0OVxcdThCNTZcXHU4QjVCXFx1OEI1QVxcdThCNkJcXHU4QjVGXFx1OEI2Q1xcdThCNkZcXHU4Qjc0XFx1OEI3RFxcdThCODBcXHU4QjhDXFx1OEI4RVxcdThCOTJcXHU4QjkzXFx1OEI5NlxcdThCOTlcXHU4QjlBXFx1OEMzQVxcdThDNDFcXHU4QzNGXFx1OEM0OFxcdThDNENcXHU4QzRFXFx1OEM1MFxcdThDNTVcXHU4QzYyXFx1OEM2Q1xcdThDNzhcXHU4QzdBXFx1OEM4MlxcdThDODlcXHU4Qzg1XFx1OEM4QVxcdThDOERcXHU4QzhFXFx1OEM5NFxcdThDN0NcXHU4Qzk4XFx1NjIxRFxcdThDQURcXHU4Q0FBXFx1OENCRFxcdThDQjJcXHU4Q0IzXFx1OENBRVxcdThDQjZcXHU4Q0M4XFx1OENDMVxcdThDRTRcXHU4Q0UzXFx1OENEQVxcdThDRkRcXHU4Q0ZBXFx1OENGQlxcdThEMDRcXHU4RDA1XFx1OEQwQVxcdThEMDdcXHU4RDBGXFx1OEQwRFxcdThEMTBcXHU5RjRFXFx1OEQxM1xcdThDQ0RcXHU4RDE0XFx1OEQxNlxcdThENjdcXHU4RDZEXFx1OEQ3MVxcdThENzNcXHU4RDgxXFx1OEQ5OVxcdThEQzJcXHU4REJFXFx1OERCQVxcdThEQ0ZcXHU4RERBXFx1OERENlxcdThEQ0NcXHU4RERCXFx1OERDQlxcdThERUFcXHU4REVCXFx1OERERlxcdThERTNcXHU4REZDXFx1OEUwOFxcdThFMDlcXHU4REZGXFx1OEUxRFxcdThFMUVcXHU4RTEwXFx1OEUxRlxcdThFNDJcXHU4RTM1XFx1OEUzMFxcdThFMzRcXHU4RTRBXCJdLFxuICAgICAgW1wiZTc0MFwiLCBcIlxcdThFNDdcXHU4RTQ5XFx1OEU0Q1xcdThFNTBcXHU4RTQ4XFx1OEU1OVxcdThFNjRcXHU4RTYwXFx1OEUyQVxcdThFNjNcXHU4RTU1XFx1OEU3NlxcdThFNzJcXHU4RTdDXFx1OEU4MVxcdThFODdcXHU4RTg1XFx1OEU4NFxcdThFOEJcXHU4RThBXFx1OEU5M1xcdThFOTFcXHU4RTk0XFx1OEU5OVxcdThFQUFcXHU4RUExXFx1OEVBQ1xcdThFQjBcXHU4RUM2XFx1OEVCMVxcdThFQkVcXHU4RUM1XFx1OEVDOFxcdThFQ0JcXHU4RURCXFx1OEVFM1xcdThFRkNcXHU4RUZCXFx1OEVFQlxcdThFRkVcXHU4RjBBXFx1OEYwNVxcdThGMTVcXHU4RjEyXFx1OEYxOVxcdThGMTNcXHU4RjFDXFx1OEYxRlxcdThGMUJcXHU4RjBDXFx1OEYyNlxcdThGMzNcXHU4RjNCXFx1OEYzOVxcdThGNDVcXHU4RjQyXFx1OEYzRVxcdThGNENcXHU4RjQ5XFx1OEY0NlxcdThGNEVcXHU4RjU3XFx1OEY1Q1wiXSxcbiAgICAgIFtcImU3ODBcIiwgXCJcXHU4RjYyXFx1OEY2M1xcdThGNjRcXHU4RjlDXFx1OEY5RlxcdThGQTNcXHU4RkFEXFx1OEZBRlxcdThGQjdcXHU4RkRBXFx1OEZFNVxcdThGRTJcXHU4RkVBXFx1OEZFRlxcdTkwODdcXHU4RkY0XFx1OTAwNVxcdThGRjlcXHU4RkZBXFx1OTAxMVxcdTkwMTVcXHU5MDIxXFx1OTAwRFxcdTkwMUVcXHU5MDE2XFx1OTAwQlxcdTkwMjdcXHU5MDM2XFx1OTAzNVxcdTkwMzlcXHU4RkY4XFx1OTA0RlxcdTkwNTBcXHU5MDUxXFx1OTA1MlxcdTkwMEVcXHU5MDQ5XFx1OTAzRVxcdTkwNTZcXHU5MDU4XFx1OTA1RVxcdTkwNjhcXHU5MDZGXFx1OTA3NlxcdTk2QThcXHU5MDcyXFx1OTA4MlxcdTkwN0RcXHU5MDgxXFx1OTA4MFxcdTkwOEFcXHU5MDg5XFx1OTA4RlxcdTkwQThcXHU5MEFGXFx1OTBCMVxcdTkwQjVcXHU5MEUyXFx1OTBFNFxcdTYyNDhcXHU5MERCXFx1OTEwMlxcdTkxMTJcXHU5MTE5XFx1OTEzMlxcdTkxMzBcXHU5MTRBXFx1OTE1NlxcdTkxNThcXHU5MTYzXFx1OTE2NVxcdTkxNjlcXHU5MTczXFx1OTE3MlxcdTkxOEJcXHU5MTg5XFx1OTE4MlxcdTkxQTJcXHU5MUFCXFx1OTFBRlxcdTkxQUFcXHU5MUI1XFx1OTFCNFxcdTkxQkFcXHU5MUMwXFx1OTFDMVxcdTkxQzlcXHU5MUNCXFx1OTFEMFxcdTkxRDZcXHU5MURGXFx1OTFFMVxcdTkxREJcXHU5MUZDXFx1OTFGNVxcdTkxRjZcXHU5MjFFXFx1OTFGRlxcdTkyMTRcXHU5MjJDXFx1OTIxNVxcdTkyMTFcXHU5MjVFXFx1OTI1N1xcdTkyNDVcXHU5MjQ5XFx1OTI2NFxcdTkyNDhcXHU5Mjk1XFx1OTIzRlxcdTkyNEJcXHU5MjUwXFx1OTI5Q1xcdTkyOTZcXHU5MjkzXFx1OTI5QlxcdTkyNUFcXHU5MkNGXFx1OTJCOVxcdTkyQjdcXHU5MkU5XFx1OTMwRlxcdTkyRkFcXHU5MzQ0XFx1OTMyRVwiXSxcbiAgICAgIFtcImU4NDBcIiwgXCJcXHU5MzE5XFx1OTMyMlxcdTkzMUFcXHU5MzIzXFx1OTMzQVxcdTkzMzVcXHU5MzNCXFx1OTM1Q1xcdTkzNjBcXHU5MzdDXFx1OTM2RVxcdTkzNTZcXHU5M0IwXFx1OTNBQ1xcdTkzQURcXHU5Mzk0XFx1OTNCOVxcdTkzRDZcXHU5M0Q3XFx1OTNFOFxcdTkzRTVcXHU5M0Q4XFx1OTNDM1xcdTkzRERcXHU5M0QwXFx1OTNDOFxcdTkzRTRcXHU5NDFBXFx1OTQxNFxcdTk0MTNcXHU5NDAzXFx1OTQwN1xcdTk0MTBcXHU5NDM2XFx1OTQyQlxcdTk0MzVcXHU5NDIxXFx1OTQzQVxcdTk0NDFcXHU5NDUyXFx1OTQ0NFxcdTk0NUJcXHU5NDYwXFx1OTQ2MlxcdTk0NUVcXHU5NDZBXFx1OTIyOVxcdTk0NzBcXHU5NDc1XFx1OTQ3N1xcdTk0N0RcXHU5NDVBXFx1OTQ3Q1xcdTk0N0VcXHU5NDgxXFx1OTQ3RlxcdTk1ODJcXHU5NTg3XFx1OTU4QVxcdTk1OTRcXHU5NTk2XFx1OTU5OFxcdTk1OTlcIl0sXG4gICAgICBbXCJlODgwXCIsIFwiXFx1OTVBMFxcdTk1QThcXHU5NUE3XFx1OTVBRFxcdTk1QkNcXHU5NUJCXFx1OTVCOVxcdTk1QkVcXHU5NUNBXFx1NkZGNlxcdTk1QzNcXHU5NUNEXFx1OTVDQ1xcdTk1RDVcXHU5NUQ0XFx1OTVENlxcdTk1RENcXHU5NUUxXFx1OTVFNVxcdTk1RTJcXHU5NjIxXFx1OTYyOFxcdTk2MkVcXHU5NjJGXFx1OTY0MlxcdTk2NENcXHU5NjRGXFx1OTY0QlxcdTk2NzdcXHU5NjVDXFx1OTY1RVxcdTk2NURcXHU5NjVGXFx1OTY2NlxcdTk2NzJcXHU5NjZDXFx1OTY4RFxcdTk2OThcXHU5Njk1XFx1OTY5N1xcdTk2QUFcXHU5NkE3XFx1OTZCMVxcdTk2QjJcXHU5NkIwXFx1OTZCNFxcdTk2QjZcXHU5NkI4XFx1OTZCOVxcdTk2Q0VcXHU5NkNCXFx1OTZDOVxcdTk2Q0RcXHU4OTREXFx1OTZEQ1xcdTk3MERcXHU5NkQ1XFx1OTZGOVxcdTk3MDRcXHU5NzA2XFx1OTcwOFxcdTk3MTNcXHU5NzBFXFx1OTcxMVxcdTk3MEZcXHU5NzE2XFx1OTcxOVxcdTk3MjRcXHU5NzJBXFx1OTczMFxcdTk3MzlcXHU5NzNEXFx1OTczRVxcdTk3NDRcXHU5NzQ2XFx1OTc0OFxcdTk3NDJcXHU5NzQ5XFx1OTc1Q1xcdTk3NjBcXHU5NzY0XFx1OTc2NlxcdTk3NjhcXHU1MkQyXFx1OTc2QlxcdTk3NzFcXHU5Nzc5XFx1OTc4NVxcdTk3N0NcXHU5NzgxXFx1OTc3QVxcdTk3ODZcXHU5NzhCXFx1OTc4RlxcdTk3OTBcXHU5NzlDXFx1OTdBOFxcdTk3QTZcXHU5N0EzXFx1OTdCM1xcdTk3QjRcXHU5N0MzXFx1OTdDNlxcdTk3QzhcXHU5N0NCXFx1OTdEQ1xcdTk3RURcXHU5RjRGXFx1OTdGMlxcdTdBREZcXHU5N0Y2XFx1OTdGNVxcdTk4MEZcXHU5ODBDXFx1OTgzOFxcdTk4MjRcXHU5ODIxXFx1OTgzN1xcdTk4M0RcXHU5ODQ2XFx1OTg0RlxcdTk4NEJcXHU5ODZCXFx1OTg2RlxcdTk4NzBcIl0sXG4gICAgICBbXCJlOTQwXCIsIFwiXFx1OTg3MVxcdTk4NzRcXHU5ODczXFx1OThBQVxcdTk4QUZcXHU5OEIxXFx1OThCNlxcdTk4QzRcXHU5OEMzXFx1OThDNlxcdTk4RTlcXHU5OEVCXFx1OTkwM1xcdTk5MDlcXHU5OTEyXFx1OTkxNFxcdTk5MThcXHU5OTIxXFx1OTkxRFxcdTk5MUVcXHU5OTI0XFx1OTkyMFxcdTk5MkNcXHU5OTJFXFx1OTkzRFxcdTk5M0VcXHU5OTQyXFx1OTk0OVxcdTk5NDVcXHU5OTUwXFx1OTk0QlxcdTk5NTFcXHU5OTUyXFx1OTk0Q1xcdTk5NTVcXHU5OTk3XFx1OTk5OFxcdTk5QTVcXHU5OUFEXFx1OTlBRVxcdTk5QkNcXHU5OURGXFx1OTlEQlxcdTk5RERcXHU5OUQ4XFx1OTlEMVxcdTk5RURcXHU5OUVFXFx1OTlGMVxcdTk5RjJcXHU5OUZCXFx1OTlGOFxcdTlBMDFcXHU5QTBGXFx1OUEwNVxcdTk5RTJcXHU5QTE5XFx1OUEyQlxcdTlBMzdcXHU5QTQ1XFx1OUE0MlxcdTlBNDBcXHU5QTQzXCJdLFxuICAgICAgW1wiZTk4MFwiLCBcIlxcdTlBM0VcXHU5QTU1XFx1OUE0RFxcdTlBNUJcXHU5QTU3XFx1OUE1RlxcdTlBNjJcXHU5QTY1XFx1OUE2NFxcdTlBNjlcXHU5QTZCXFx1OUE2QVxcdTlBQURcXHU5QUIwXFx1OUFCQ1xcdTlBQzBcXHU5QUNGXFx1OUFEMVxcdTlBRDNcXHU5QUQ0XFx1OUFERVxcdTlBREZcXHU5QUUyXFx1OUFFM1xcdTlBRTZcXHU5QUVGXFx1OUFFQlxcdTlBRUVcXHU5QUY0XFx1OUFGMVxcdTlBRjdcXHU5QUZCXFx1OUIwNlxcdTlCMThcXHU5QjFBXFx1OUIxRlxcdTlCMjJcXHU5QjIzXFx1OUIyNVxcdTlCMjdcXHU5QjI4XFx1OUIyOVxcdTlCMkFcXHU5QjJFXFx1OUIyRlxcdTlCMzJcXHU5QjQ0XFx1OUI0M1xcdTlCNEZcXHU5QjREXFx1OUI0RVxcdTlCNTFcXHU5QjU4XFx1OUI3NFxcdTlCOTNcXHU5QjgzXFx1OUI5MVxcdTlCOTZcXHU5Qjk3XFx1OUI5RlxcdTlCQTBcXHU5QkE4XFx1OUJCNFxcdTlCQzBcXHU5QkNBXFx1OUJCOVxcdTlCQzZcXHU5QkNGXFx1OUJEMVxcdTlCRDJcXHU5QkUzXFx1OUJFMlxcdTlCRTRcXHU5QkQ0XFx1OUJFMVxcdTlDM0FcXHU5QkYyXFx1OUJGMVxcdTlCRjBcXHU5QzE1XFx1OUMxNFxcdTlDMDlcXHU5QzEzXFx1OUMwQ1xcdTlDMDZcXHU5QzA4XFx1OUMxMlxcdTlDMEFcXHU5QzA0XFx1OUMyRVxcdTlDMUJcXHU5QzI1XFx1OUMyNFxcdTlDMjFcXHU5QzMwXFx1OUM0N1xcdTlDMzJcXHU5QzQ2XFx1OUMzRVxcdTlDNUFcXHU5QzYwXFx1OUM2N1xcdTlDNzZcXHU5Qzc4XFx1OUNFN1xcdTlDRUNcXHU5Q0YwXFx1OUQwOVxcdTlEMDhcXHU5Q0VCXFx1OUQwM1xcdTlEMDZcXHU5RDJBXFx1OUQyNlxcdTlEQUZcXHU5RDIzXFx1OUQxRlxcdTlENDRcXHU5RDE1XFx1OUQxMlxcdTlENDFcXHU5RDNGXFx1OUQzRVxcdTlENDZcXHU5RDQ4XCJdLFxuICAgICAgW1wiZWE0MFwiLCBcIlxcdTlENURcXHU5RDVFXFx1OUQ2NFxcdTlENTFcXHU5RDUwXFx1OUQ1OVxcdTlENzJcXHU5RDg5XFx1OUQ4N1xcdTlEQUJcXHU5RDZGXFx1OUQ3QVxcdTlEOUFcXHU5REE0XFx1OURBOVxcdTlEQjJcXHU5REM0XFx1OURDMVxcdTlEQkJcXHU5REI4XFx1OURCQVxcdTlEQzZcXHU5RENGXFx1OURDMlxcdTlERDlcXHU5REQzXFx1OURGOFxcdTlERTZcXHU5REVEXFx1OURFRlxcdTlERkRcXHU5RTFBXFx1OUUxQlxcdTlFMUVcXHU5RTc1XFx1OUU3OVxcdTlFN0RcXHU5RTgxXFx1OUU4OFxcdTlFOEJcXHU5RThDXFx1OUU5MlxcdTlFOTVcXHU5RTkxXFx1OUU5RFxcdTlFQTVcXHU5RUE5XFx1OUVCOFxcdTlFQUFcXHU5RUFEXFx1OTc2MVxcdTlFQ0NcXHU5RUNFXFx1OUVDRlxcdTlFRDBcXHU5RUQ0XFx1OUVEQ1xcdTlFREVcXHU5RUREXFx1OUVFMFxcdTlFRTVcXHU5RUU4XFx1OUVFRlwiXSxcbiAgICAgIFtcImVhODBcIiwgXCJcXHU5RUY0XFx1OUVGNlxcdTlFRjdcXHU5RUY5XFx1OUVGQlxcdTlFRkNcXHU5RUZEXFx1OUYwN1xcdTlGMDhcXHU3NkI3XFx1OUYxNVxcdTlGMjFcXHU5RjJDXFx1OUYzRVxcdTlGNEFcXHU5RjUyXFx1OUY1NFxcdTlGNjNcXHU5RjVGXFx1OUY2MFxcdTlGNjFcXHU5RjY2XFx1OUY2N1xcdTlGNkNcXHU5RjZBXFx1OUY3N1xcdTlGNzJcXHU5Rjc2XFx1OUY5NVxcdTlGOUNcXHU5RkEwXFx1NTgyRlxcdTY5QzdcXHU5MDU5XFx1NzQ2NFxcdTUxRENcXHU3MTk5XCJdLFxuICAgICAgW1wiZWQ0MFwiLCBcIlxcdTdFOEFcXHU4OTFDXFx1OTM0OFxcdTkyODhcXHU4NERDXFx1NEZDOVxcdTcwQkJcXHU2NjMxXFx1NjhDOFxcdTkyRjlcXHU2NkZCXFx1NUY0NVxcdTRFMjhcXHU0RUUxXFx1NEVGQ1xcdTRGMDBcXHU0RjAzXFx1NEYzOVxcdTRGNTZcXHU0RjkyXFx1NEY4QVxcdTRGOUFcXHU0Rjk0XFx1NEZDRFxcdTUwNDBcXHU1MDIyXFx1NEZGRlxcdTUwMUVcXHU1MDQ2XFx1NTA3MFxcdTUwNDJcXHU1MDk0XFx1NTBGNFxcdTUwRDhcXHU1MTRBXFx1NTE2NFxcdTUxOURcXHU1MUJFXFx1NTFFQ1xcdTUyMTVcXHU1MjlDXFx1NTJBNlxcdTUyQzBcXHU1MkRCXFx1NTMwMFxcdTUzMDdcXHU1MzI0XFx1NTM3MlxcdTUzOTNcXHU1M0IyXFx1NTNERFxcdUZBMEVcXHU1NDlDXFx1NTQ4QVxcdTU0QTlcXHU1NEZGXFx1NTU4NlxcdTU3NTlcXHU1NzY1XFx1NTdBQ1xcdTU3QzhcXHU1N0M3XFx1RkEwRlwiXSxcbiAgICAgIFtcImVkODBcIiwgXCJcXHVGQTEwXFx1NTg5RVxcdTU4QjJcXHU1OTBCXFx1NTk1M1xcdTU5NUJcXHU1OTVEXFx1NTk2M1xcdTU5QTRcXHU1OUJBXFx1NUI1NlxcdTVCQzBcXHU3NTJGXFx1NUJEOFxcdTVCRUNcXHU1QzFFXFx1NUNBNlxcdTVDQkFcXHU1Q0Y1XFx1NUQyN1xcdTVENTNcXHVGQTExXFx1NUQ0MlxcdTVENkRcXHU1REI4XFx1NURCOVxcdTVERDBcXHU1RjIxXFx1NUYzNFxcdTVGNjdcXHU1RkI3XFx1NUZERVxcdTYwNURcXHU2MDg1XFx1NjA4QVxcdTYwREVcXHU2MEQ1XFx1NjEyMFxcdTYwRjJcXHU2MTExXFx1NjEzN1xcdTYxMzBcXHU2MTk4XFx1NjIxM1xcdTYyQTZcXHU2M0Y1XFx1NjQ2MFxcdTY0OURcXHU2NENFXFx1NjU0RVxcdTY2MDBcXHU2NjE1XFx1NjYzQlxcdTY2MDlcXHU2NjJFXFx1NjYxRVxcdTY2MjRcXHU2NjY1XFx1NjY1N1xcdTY2NTlcXHVGQTEyXFx1NjY3M1xcdTY2OTlcXHU2NkEwXFx1NjZCMlxcdTY2QkZcXHU2NkZBXFx1NjcwRVxcdUY5MjlcXHU2NzY2XFx1NjdCQlxcdTY4NTJcXHU2N0MwXFx1NjgwMVxcdTY4NDRcXHU2OENGXFx1RkExM1xcdTY5NjhcXHVGQTE0XFx1Njk5OFxcdTY5RTJcXHU2QTMwXFx1NkE2QlxcdTZBNDZcXHU2QTczXFx1NkE3RVxcdTZBRTJcXHU2QUU0XFx1NkJENlxcdTZDM0ZcXHU2QzVDXFx1NkM4NlxcdTZDNkZcXHU2Q0RBXFx1NkQwNFxcdTZEODdcXHU2RDZGXFx1NkQ5NlxcdTZEQUNcXHU2RENGXFx1NkRGOFxcdTZERjJcXHU2REZDXFx1NkUzOVxcdTZFNUNcXHU2RTI3XFx1NkUzQ1xcdTZFQkZcXHU2Rjg4XFx1NkZCNVxcdTZGRjVcXHU3MDA1XFx1NzAwN1xcdTcwMjhcXHU3MDg1XFx1NzBBQlxcdTcxMEZcXHU3MTA0XFx1NzE1Q1xcdTcxNDZcXHU3MTQ3XFx1RkExNVxcdTcxQzFcXHU3MUZFXFx1NzJCMVwiXSxcbiAgICAgIFtcImVlNDBcIiwgXCJcXHU3MkJFXFx1NzMyNFxcdUZBMTZcXHU3Mzc3XFx1NzNCRFxcdTczQzlcXHU3M0Q2XFx1NzNFM1xcdTczRDJcXHU3NDA3XFx1NzNGNVxcdTc0MjZcXHU3NDJBXFx1NzQyOVxcdTc0MkVcXHU3NDYyXFx1NzQ4OVxcdTc0OUZcXHU3NTAxXFx1NzU2RlxcdTc2ODJcXHU3NjlDXFx1NzY5RVxcdTc2OUJcXHU3NkE2XFx1RkExN1xcdTc3NDZcXHU1MkFGXFx1NzgyMVxcdTc4NEVcXHU3ODY0XFx1Nzg3QVxcdTc5MzBcXHVGQTE4XFx1RkExOVxcdUZBMUFcXHU3OTk0XFx1RkExQlxcdTc5OUJcXHU3QUQxXFx1N0FFN1xcdUZBMUNcXHU3QUVCXFx1N0I5RVxcdUZBMURcXHU3RDQ4XFx1N0Q1Q1xcdTdEQjdcXHU3REEwXFx1N0RENlxcdTdFNTJcXHU3RjQ3XFx1N0ZBMVxcdUZBMUVcXHU4MzAxXFx1ODM2MlxcdTgzN0ZcXHU4M0M3XFx1ODNGNlxcdTg0NDhcXHU4NEI0XFx1ODU1M1xcdTg1NTlcIl0sXG4gICAgICBbXCJlZTgwXCIsIFwiXFx1ODU2QlxcdUZBMUZcXHU4NUIwXFx1RkEyMFxcdUZBMjFcXHU4ODA3XFx1ODhGNVxcdThBMTJcXHU4QTM3XFx1OEE3OVxcdThBQTdcXHU4QUJFXFx1OEFERlxcdUZBMjJcXHU4QUY2XFx1OEI1M1xcdThCN0ZcXHU4Q0YwXFx1OENGNFxcdThEMTJcXHU4RDc2XFx1RkEyM1xcdThFQ0ZcXHVGQTI0XFx1RkEyNVxcdTkwNjdcXHU5MERFXFx1RkEyNlxcdTkxMTVcXHU5MTI3XFx1OTFEQVxcdTkxRDdcXHU5MURFXFx1OTFFRFxcdTkxRUVcXHU5MUU0XFx1OTFFNVxcdTkyMDZcXHU5MjEwXFx1OTIwQVxcdTkyM0FcXHU5MjQwXFx1OTIzQ1xcdTkyNEVcXHU5MjU5XFx1OTI1MVxcdTkyMzlcXHU5MjY3XFx1OTJBN1xcdTkyNzdcXHU5Mjc4XFx1OTJFN1xcdTkyRDdcXHU5MkQ5XFx1OTJEMFxcdUZBMjdcXHU5MkQ1XFx1OTJFMFxcdTkyRDNcXHU5MzI1XFx1OTMyMVxcdTkyRkJcXHVGQTI4XFx1OTMxRVxcdTkyRkZcXHU5MzFEXFx1OTMwMlxcdTkzNzBcXHU5MzU3XFx1OTNBNFxcdTkzQzZcXHU5M0RFXFx1OTNGOFxcdTk0MzFcXHU5NDQ1XFx1OTQ0OFxcdTk1OTJcXHVGOURDXFx1RkEyOVxcdTk2OURcXHU5NkFGXFx1OTczM1xcdTk3M0JcXHU5NzQzXFx1OTc0RFxcdTk3NEZcXHU5NzUxXFx1OTc1NVxcdTk4NTdcXHU5ODY1XFx1RkEyQVxcdUZBMkJcXHU5OTI3XFx1RkEyQ1xcdTk5OUVcXHU5QTRFXFx1OUFEOVxcdTlBRENcXHU5Qjc1XFx1OUI3MlxcdTlCOEZcXHU5QkIxXFx1OUJCQlxcdTlDMDBcXHU5RDcwXFx1OUQ2QlxcdUZBMkRcXHU5RTE5XFx1OUVEMVwiXSxcbiAgICAgIFtcImVlZWZcIiwgXCJcXHUyMTcwXCIsIDksIFwiXFx1RkZFMlxcdUZGRTRcXHVGRjA3XFx1RkYwMlwiXSxcbiAgICAgIFtcImYwNDBcIiwgXCJcXHVFMDAwXCIsIDYyXSxcbiAgICAgIFtcImYwODBcIiwgXCJcXHVFMDNGXCIsIDEyNF0sXG4gICAgICBbXCJmMTQwXCIsIFwiXFx1RTBCQ1wiLCA2Ml0sXG4gICAgICBbXCJmMTgwXCIsIFwiXFx1RTBGQlwiLCAxMjRdLFxuICAgICAgW1wiZjI0MFwiLCBcIlxcdUUxNzhcIiwgNjJdLFxuICAgICAgW1wiZjI4MFwiLCBcIlxcdUUxQjdcIiwgMTI0XSxcbiAgICAgIFtcImYzNDBcIiwgXCJcXHVFMjM0XCIsIDYyXSxcbiAgICAgIFtcImYzODBcIiwgXCJcXHVFMjczXCIsIDEyNF0sXG4gICAgICBbXCJmNDQwXCIsIFwiXFx1RTJGMFwiLCA2Ml0sXG4gICAgICBbXCJmNDgwXCIsIFwiXFx1RTMyRlwiLCAxMjRdLFxuICAgICAgW1wiZjU0MFwiLCBcIlxcdUUzQUNcIiwgNjJdLFxuICAgICAgW1wiZjU4MFwiLCBcIlxcdUUzRUJcIiwgMTI0XSxcbiAgICAgIFtcImY2NDBcIiwgXCJcXHVFNDY4XCIsIDYyXSxcbiAgICAgIFtcImY2ODBcIiwgXCJcXHVFNEE3XCIsIDEyNF0sXG4gICAgICBbXCJmNzQwXCIsIFwiXFx1RTUyNFwiLCA2Ml0sXG4gICAgICBbXCJmNzgwXCIsIFwiXFx1RTU2M1wiLCAxMjRdLFxuICAgICAgW1wiZjg0MFwiLCBcIlxcdUU1RTBcIiwgNjJdLFxuICAgICAgW1wiZjg4MFwiLCBcIlxcdUU2MUZcIiwgMTI0XSxcbiAgICAgIFtcImY5NDBcIiwgXCJcXHVFNjlDXCJdLFxuICAgICAgW1wiZmE0MFwiLCBcIlxcdTIxNzBcIiwgOSwgXCJcXHUyMTYwXCIsIDksIFwiXFx1RkZFMlxcdUZGRTRcXHVGRjA3XFx1RkYwMlxcdTMyMzFcXHUyMTE2XFx1MjEyMVxcdTIyMzVcXHU3RThBXFx1ODkxQ1xcdTkzNDhcXHU5Mjg4XFx1ODREQ1xcdTRGQzlcXHU3MEJCXFx1NjYzMVxcdTY4QzhcXHU5MkY5XFx1NjZGQlxcdTVGNDVcXHU0RTI4XFx1NEVFMVxcdTRFRkNcXHU0RjAwXFx1NEYwM1xcdTRGMzlcXHU0RjU2XFx1NEY5MlxcdTRGOEFcXHU0RjlBXFx1NEY5NFxcdTRGQ0RcXHU1MDQwXFx1NTAyMlxcdTRGRkZcXHU1MDFFXFx1NTA0NlxcdTUwNzBcXHU1MDQyXFx1NTA5NFxcdTUwRjRcXHU1MEQ4XFx1NTE0QVwiXSxcbiAgICAgIFtcImZhODBcIiwgXCJcXHU1MTY0XFx1NTE5RFxcdTUxQkVcXHU1MUVDXFx1NTIxNVxcdTUyOUNcXHU1MkE2XFx1NTJDMFxcdTUyREJcXHU1MzAwXFx1NTMwN1xcdTUzMjRcXHU1MzcyXFx1NTM5M1xcdTUzQjJcXHU1M0REXFx1RkEwRVxcdTU0OUNcXHU1NDhBXFx1NTRBOVxcdTU0RkZcXHU1NTg2XFx1NTc1OVxcdTU3NjVcXHU1N0FDXFx1NTdDOFxcdTU3QzdcXHVGQTBGXFx1RkExMFxcdTU4OUVcXHU1OEIyXFx1NTkwQlxcdTU5NTNcXHU1OTVCXFx1NTk1RFxcdTU5NjNcXHU1OUE0XFx1NTlCQVxcdTVCNTZcXHU1QkMwXFx1NzUyRlxcdTVCRDhcXHU1QkVDXFx1NUMxRVxcdTVDQTZcXHU1Q0JBXFx1NUNGNVxcdTVEMjdcXHU1RDUzXFx1RkExMVxcdTVENDJcXHU1RDZEXFx1NURCOFxcdTVEQjlcXHU1REQwXFx1NUYyMVxcdTVGMzRcXHU1RjY3XFx1NUZCN1xcdTVGREVcXHU2MDVEXFx1NjA4NVxcdTYwOEFcXHU2MERFXFx1NjBENVxcdTYxMjBcXHU2MEYyXFx1NjExMVxcdTYxMzdcXHU2MTMwXFx1NjE5OFxcdTYyMTNcXHU2MkE2XFx1NjNGNVxcdTY0NjBcXHU2NDlEXFx1NjRDRVxcdTY1NEVcXHU2NjAwXFx1NjYxNVxcdTY2M0JcXHU2NjA5XFx1NjYyRVxcdTY2MUVcXHU2NjI0XFx1NjY2NVxcdTY2NTdcXHU2NjU5XFx1RkExMlxcdTY2NzNcXHU2Njk5XFx1NjZBMFxcdTY2QjJcXHU2NkJGXFx1NjZGQVxcdTY3MEVcXHVGOTI5XFx1Njc2NlxcdTY3QkJcXHU2ODUyXFx1NjdDMFxcdTY4MDFcXHU2ODQ0XFx1NjhDRlxcdUZBMTNcXHU2OTY4XFx1RkExNFxcdTY5OThcXHU2OUUyXFx1NkEzMFxcdTZBNkJcXHU2QTQ2XFx1NkE3M1xcdTZBN0VcXHU2QUUyXFx1NkFFNFxcdTZCRDZcXHU2QzNGXFx1NkM1Q1xcdTZDODZcXHU2QzZGXFx1NkNEQVxcdTZEMDRcXHU2RDg3XFx1NkQ2RlwiXSxcbiAgICAgIFtcImZiNDBcIiwgXCJcXHU2RDk2XFx1NkRBQ1xcdTZEQ0ZcXHU2REY4XFx1NkRGMlxcdTZERkNcXHU2RTM5XFx1NkU1Q1xcdTZFMjdcXHU2RTNDXFx1NkVCRlxcdTZGODhcXHU2RkI1XFx1NkZGNVxcdTcwMDVcXHU3MDA3XFx1NzAyOFxcdTcwODVcXHU3MEFCXFx1NzEwRlxcdTcxMDRcXHU3MTVDXFx1NzE0NlxcdTcxNDdcXHVGQTE1XFx1NzFDMVxcdTcxRkVcXHU3MkIxXFx1NzJCRVxcdTczMjRcXHVGQTE2XFx1NzM3N1xcdTczQkRcXHU3M0M5XFx1NzNENlxcdTczRTNcXHU3M0QyXFx1NzQwN1xcdTczRjVcXHU3NDI2XFx1NzQyQVxcdTc0MjlcXHU3NDJFXFx1NzQ2MlxcdTc0ODlcXHU3NDlGXFx1NzUwMVxcdTc1NkZcXHU3NjgyXFx1NzY5Q1xcdTc2OUVcXHU3NjlCXFx1NzZBNlxcdUZBMTdcXHU3NzQ2XFx1NTJBRlxcdTc4MjFcXHU3ODRFXFx1Nzg2NFxcdTc4N0FcXHU3OTMwXFx1RkExOFxcdUZBMTlcIl0sXG4gICAgICBbXCJmYjgwXCIsIFwiXFx1RkExQVxcdTc5OTRcXHVGQTFCXFx1Nzk5QlxcdTdBRDFcXHU3QUU3XFx1RkExQ1xcdTdBRUJcXHU3QjlFXFx1RkExRFxcdTdENDhcXHU3RDVDXFx1N0RCN1xcdTdEQTBcXHU3REQ2XFx1N0U1MlxcdTdGNDdcXHU3RkExXFx1RkExRVxcdTgzMDFcXHU4MzYyXFx1ODM3RlxcdTgzQzdcXHU4M0Y2XFx1ODQ0OFxcdTg0QjRcXHU4NTUzXFx1ODU1OVxcdTg1NkJcXHVGQTFGXFx1ODVCMFxcdUZBMjBcXHVGQTIxXFx1ODgwN1xcdTg4RjVcXHU4QTEyXFx1OEEzN1xcdThBNzlcXHU4QUE3XFx1OEFCRVxcdThBREZcXHVGQTIyXFx1OEFGNlxcdThCNTNcXHU4QjdGXFx1OENGMFxcdThDRjRcXHU4RDEyXFx1OEQ3NlxcdUZBMjNcXHU4RUNGXFx1RkEyNFxcdUZBMjVcXHU5MDY3XFx1OTBERVxcdUZBMjZcXHU5MTE1XFx1OTEyN1xcdTkxREFcXHU5MUQ3XFx1OTFERVxcdTkxRURcXHU5MUVFXFx1OTFFNFxcdTkxRTVcXHU5MjA2XFx1OTIxMFxcdTkyMEFcXHU5MjNBXFx1OTI0MFxcdTkyM0NcXHU5MjRFXFx1OTI1OVxcdTkyNTFcXHU5MjM5XFx1OTI2N1xcdTkyQTdcXHU5Mjc3XFx1OTI3OFxcdTkyRTdcXHU5MkQ3XFx1OTJEOVxcdTkyRDBcXHVGQTI3XFx1OTJENVxcdTkyRTBcXHU5MkQzXFx1OTMyNVxcdTkzMjFcXHU5MkZCXFx1RkEyOFxcdTkzMUVcXHU5MkZGXFx1OTMxRFxcdTkzMDJcXHU5MzcwXFx1OTM1N1xcdTkzQTRcXHU5M0M2XFx1OTNERVxcdTkzRjhcXHU5NDMxXFx1OTQ0NVxcdTk0NDhcXHU5NTkyXFx1RjlEQ1xcdUZBMjlcXHU5NjlEXFx1OTZBRlxcdTk3MzNcXHU5NzNCXFx1OTc0M1xcdTk3NERcXHU5NzRGXFx1OTc1MVxcdTk3NTVcXHU5ODU3XFx1OTg2NVxcdUZBMkFcXHVGQTJCXFx1OTkyN1xcdUZBMkNcXHU5OTlFXFx1OUE0RVxcdTlBRDlcIl0sXG4gICAgICBbXCJmYzQwXCIsIFwiXFx1OUFEQ1xcdTlCNzVcXHU5QjcyXFx1OUI4RlxcdTlCQjFcXHU5QkJCXFx1OUMwMFxcdTlENzBcXHU5RDZCXFx1RkEyRFxcdTlFMTlcXHU5RUQxXCJdXG4gICAgXTtcbiAgfVxufSk7XG5cbi8vIG5vZGVfbW9kdWxlcy9ib2R5LXBhcnNlci9ub2RlX21vZHVsZXMvaWNvbnYtbGl0ZS9lbmNvZGluZ3MvdGFibGVzL2V1Y2pwLmpzb25cbnZhciByZXF1aXJlX2V1Y2pwMiA9IF9fY29tbW9uSlMoe1xuICBcIm5vZGVfbW9kdWxlcy9ib2R5LXBhcnNlci9ub2RlX21vZHVsZXMvaWNvbnYtbGl0ZS9lbmNvZGluZ3MvdGFibGVzL2V1Y2pwLmpzb25cIihleHBvcnRzMiwgbW9kdWxlMikge1xuICAgIG1vZHVsZTIuZXhwb3J0cyA9IFtcbiAgICAgIFtcIjBcIiwgXCJcXDBcIiwgMTI3XSxcbiAgICAgIFtcIjhlYTFcIiwgXCJcXHVGRjYxXCIsIDYyXSxcbiAgICAgIFtcImExYTFcIiwgXCJcXHUzMDAwXFx1MzAwMVxcdTMwMDJcXHVGRjBDXFx1RkYwRVxcdTMwRkJcXHVGRjFBXFx1RkYxQlxcdUZGMUZcXHVGRjAxXFx1MzA5QlxcdTMwOUNcXHhCNFxcdUZGNDBcXHhBOFxcdUZGM0VcXHVGRkUzXFx1RkYzRlxcdTMwRkRcXHUzMEZFXFx1MzA5RFxcdTMwOUVcXHUzMDAzXFx1NEVERFxcdTMwMDVcXHUzMDA2XFx1MzAwN1xcdTMwRkNcXHUyMDE1XFx1MjAxMFxcdUZGMEZcXHVGRjNDXFx1RkY1RVxcdTIyMjVcXHVGRjVDXFx1MjAyNlxcdTIwMjVcXHUyMDE4XFx1MjAxOVxcdTIwMUNcXHUyMDFEXFx1RkYwOFxcdUZGMDlcXHUzMDE0XFx1MzAxNVxcdUZGM0JcXHVGRjNEXFx1RkY1QlxcdUZGNURcXHUzMDA4XCIsIDksIFwiXFx1RkYwQlxcdUZGMERcXHhCMVxceEQ3XFx4RjdcXHVGRjFEXFx1MjI2MFxcdUZGMUNcXHVGRjFFXFx1MjI2NlxcdTIyNjdcXHUyMjFFXFx1MjIzNFxcdTI2NDJcXHUyNjQwXFx4QjBcXHUyMDMyXFx1MjAzM1xcdTIxMDNcXHVGRkU1XFx1RkYwNFxcdUZGRTBcXHVGRkUxXFx1RkYwNVxcdUZGMDNcXHVGRjA2XFx1RkYwQVxcdUZGMjBcXHhBN1xcdTI2MDZcXHUyNjA1XFx1MjVDQlxcdTI1Q0ZcXHUyNUNFXFx1MjVDN1wiXSxcbiAgICAgIFtcImEyYTFcIiwgXCJcXHUyNUM2XFx1MjVBMVxcdTI1QTBcXHUyNUIzXFx1MjVCMlxcdTI1QkRcXHUyNUJDXFx1MjAzQlxcdTMwMTJcXHUyMTkyXFx1MjE5MFxcdTIxOTFcXHUyMTkzXFx1MzAxM1wiXSxcbiAgICAgIFtcImEyYmFcIiwgXCJcXHUyMjA4XFx1MjIwQlxcdTIyODZcXHUyMjg3XFx1MjI4MlxcdTIyODNcXHUyMjJBXFx1MjIyOVwiXSxcbiAgICAgIFtcImEyY2FcIiwgXCJcXHUyMjI3XFx1MjIyOFxcdUZGRTJcXHUyMUQyXFx1MjFENFxcdTIyMDBcXHUyMjAzXCJdLFxuICAgICAgW1wiYTJkY1wiLCBcIlxcdTIyMjBcXHUyMkE1XFx1MjMxMlxcdTIyMDJcXHUyMjA3XFx1MjI2MVxcdTIyNTJcXHUyMjZBXFx1MjI2QlxcdTIyMUFcXHUyMjNEXFx1MjIxRFxcdTIyMzVcXHUyMjJCXFx1MjIyQ1wiXSxcbiAgICAgIFtcImEyZjJcIiwgXCJcXHUyMTJCXFx1MjAzMFxcdTI2NkZcXHUyNjZEXFx1MjY2QVxcdTIwMjBcXHUyMDIxXFx4QjZcIl0sXG4gICAgICBbXCJhMmZlXCIsIFwiXFx1MjVFRlwiXSxcbiAgICAgIFtcImEzYjBcIiwgXCJcXHVGRjEwXCIsIDldLFxuICAgICAgW1wiYTNjMVwiLCBcIlxcdUZGMjFcIiwgMjVdLFxuICAgICAgW1wiYTNlMVwiLCBcIlxcdUZGNDFcIiwgMjVdLFxuICAgICAgW1wiYTRhMVwiLCBcIlxcdTMwNDFcIiwgODJdLFxuICAgICAgW1wiYTVhMVwiLCBcIlxcdTMwQTFcIiwgODVdLFxuICAgICAgW1wiYTZhMVwiLCBcIlxcdTAzOTFcIiwgMTYsIFwiXFx1MDNBM1wiLCA2XSxcbiAgICAgIFtcImE2YzFcIiwgXCJcXHUwM0IxXCIsIDE2LCBcIlxcdTAzQzNcIiwgNl0sXG4gICAgICBbXCJhN2ExXCIsIFwiXFx1MDQxMFwiLCA1LCBcIlxcdTA0MDFcXHUwNDE2XCIsIDI1XSxcbiAgICAgIFtcImE3ZDFcIiwgXCJcXHUwNDMwXCIsIDUsIFwiXFx1MDQ1MVxcdTA0MzZcIiwgMjVdLFxuICAgICAgW1wiYThhMVwiLCBcIlxcdTI1MDBcXHUyNTAyXFx1MjUwQ1xcdTI1MTBcXHUyNTE4XFx1MjUxNFxcdTI1MUNcXHUyNTJDXFx1MjUyNFxcdTI1MzRcXHUyNTNDXFx1MjUwMVxcdTI1MDNcXHUyNTBGXFx1MjUxM1xcdTI1MUJcXHUyNTE3XFx1MjUyM1xcdTI1MzNcXHUyNTJCXFx1MjUzQlxcdTI1NEJcXHUyNTIwXFx1MjUyRlxcdTI1MjhcXHUyNTM3XFx1MjUzRlxcdTI1MURcXHUyNTMwXFx1MjUyNVxcdTI1MzhcXHUyNTQyXCJdLFxuICAgICAgW1wiYWRhMVwiLCBcIlxcdTI0NjBcIiwgMTksIFwiXFx1MjE2MFwiLCA5XSxcbiAgICAgIFtcImFkYzBcIiwgXCJcXHUzMzQ5XFx1MzMxNFxcdTMzMjJcXHUzMzREXFx1MzMxOFxcdTMzMjdcXHUzMzAzXFx1MzMzNlxcdTMzNTFcXHUzMzU3XFx1MzMwRFxcdTMzMjZcXHUzMzIzXFx1MzMyQlxcdTMzNEFcXHUzMzNCXFx1MzM5Q1xcdTMzOURcXHUzMzlFXFx1MzM4RVxcdTMzOEZcXHUzM0M0XFx1MzNBMVwiXSxcbiAgICAgIFtcImFkZGZcIiwgXCJcXHUzMzdCXFx1MzAxRFxcdTMwMUZcXHUyMTE2XFx1MzNDRFxcdTIxMjFcXHUzMkE0XCIsIDQsIFwiXFx1MzIzMVxcdTMyMzJcXHUzMjM5XFx1MzM3RVxcdTMzN0RcXHUzMzdDXFx1MjI1MlxcdTIyNjFcXHUyMjJCXFx1MjIyRVxcdTIyMTFcXHUyMjFBXFx1MjJBNVxcdTIyMjBcXHUyMjFGXFx1MjJCRlxcdTIyMzVcXHUyMjI5XFx1MjIyQVwiXSxcbiAgICAgIFtcImIwYTFcIiwgXCJcXHU0RTlDXFx1NTUxNlxcdTVBMDNcXHU5NjNGXFx1NTRDMFxcdTYxMUJcXHU2MzI4XFx1NTlGNlxcdTkwMjJcXHU4NDc1XFx1ODMxQ1xcdTdBNTBcXHU2MEFBXFx1NjNFMVxcdTZFMjVcXHU2NUVEXFx1ODQ2NlxcdTgyQTZcXHU5QkY1XFx1Njg5M1xcdTU3MjdcXHU2NUExXFx1NjI3MVxcdTVCOUJcXHU1OUQwXFx1ODY3QlxcdTk4RjRcXHU3RDYyXFx1N0RCRVxcdTlCOEVcXHU2MjE2XFx1N0M5RlxcdTg4QjdcXHU1Qjg5XFx1NUVCNVxcdTYzMDlcXHU2Njk3XFx1Njg0OFxcdTk1QzdcXHU5NzhEXFx1Njc0RlxcdTRFRTVcXHU0RjBBXFx1NEY0RFxcdTRGOURcXHU1MDQ5XFx1NTZGMlxcdTU5MzdcXHU1OUQ0XFx1NUEwMVxcdTVDMDlcXHU2MERGXFx1NjEwRlxcdTYxNzBcXHU2NjEzXFx1NjkwNVxcdTcwQkFcXHU3NTRGXFx1NzU3MFxcdTc5RkJcXHU3REFEXFx1N0RFRlxcdTgwQzNcXHU4NDBFXFx1ODg2M1xcdThCMDJcXHU5MDU1XFx1OTA3QVxcdTUzM0JcXHU0RTk1XFx1NEVBNVxcdTU3REZcXHU4MEIyXFx1OTBDMVxcdTc4RUZcXHU0RTAwXFx1NThGMVxcdTZFQTJcXHU5MDM4XFx1N0EzMlxcdTgzMjhcXHU4MjhCXFx1OUMyRlxcdTUxNDFcXHU1MzcwXFx1NTRCRFxcdTU0RTFcXHU1NkUwXFx1NTlGQlxcdTVGMTVcXHU5OEYyXFx1NkRFQlxcdTgwRTRcXHU4NTJEXCJdLFxuICAgICAgW1wiYjFhMVwiLCBcIlxcdTk2NjJcXHU5NjcwXFx1OTZBMFxcdTk3RkJcXHU1NDBCXFx1NTNGM1xcdTVCODdcXHU3MENGXFx1N0ZCRFxcdThGQzJcXHU5NkU4XFx1NTM2RlxcdTlENUNcXHU3QUJBXFx1NEUxMVxcdTc4OTNcXHU4MUZDXFx1NkUyNlxcdTU2MThcXHU1NTA0XFx1NkIxRFxcdTg1MUFcXHU5QzNCXFx1NTlFNVxcdTUzQTlcXHU2RDY2XFx1NzREQ1xcdTk1OEZcXHU1NjQyXFx1NEU5MVxcdTkwNEJcXHU5NkYyXFx1ODM0RlxcdTk5MENcXHU1M0UxXFx1NTVCNlxcdTVCMzBcXHU1RjcxXFx1NjYyMFxcdTY2RjNcXHU2ODA0XFx1NkMzOFxcdTZDRjNcXHU2RDI5XFx1NzQ1QlxcdTc2QzhcXHU3QTRFXFx1OTgzNFxcdTgyRjFcXHU4ODVCXFx1OEE2MFxcdTkyRURcXHU2REIyXFx1NzVBQlxcdTc2Q0FcXHU5OUM1XFx1NjBBNlxcdThCMDFcXHU4RDhBXFx1OTVCMlxcdTY5OEVcXHU1M0FEXFx1NTE4NlxcdTU3MTJcXHU1ODMwXFx1NTk0NFxcdTVCQjRcXHU1RUY2XFx1NjAyOFxcdTYzQTlcXHU2M0Y0XFx1NkNCRlxcdTZGMTRcXHU3MDhFXFx1NzExNFxcdTcxNTlcXHU3MUQ1XFx1NzMzRlxcdTdFMDFcXHU4Mjc2XFx1ODJEMVxcdTg1OTdcXHU5MDYwXFx1OTI1QlxcdTlEMUJcXHU1ODY5XFx1NjVCQ1xcdTZDNUFcXHU3NTI1XFx1NTFGOVxcdTU5MkVcXHU1OTY1XFx1NUY4MFxcdTVGRENcIl0sXG4gICAgICBbXCJiMmExXCIsIFwiXFx1NjJCQ1xcdTY1RkFcXHU2QTJBXFx1NkIyN1xcdTZCQjRcXHU3MzhCXFx1N0ZDMVxcdTg5NTZcXHU5RDJDXFx1OUQwRVxcdTlFQzRcXHU1Q0ExXFx1NkM5NlxcdTgzN0JcXHU1MTA0XFx1NUM0QlxcdTYxQjZcXHU4MUM2XFx1Njg3NlxcdTcyNjFcXHU0RTU5XFx1NEZGQVxcdTUzNzhcXHU2MDY5XFx1NkUyOVxcdTdBNEZcXHU5N0YzXFx1NEUwQlxcdTUzMTZcXHU0RUVFXFx1NEY1NVxcdTRGM0RcXHU0RkExXFx1NEY3M1xcdTUyQTBcXHU1M0VGXFx1NTYwOVxcdTU5MEZcXHU1QUMxXFx1NUJCNlxcdTVCRTFcXHU3OUQxXFx1NjY4N1xcdTY3OUNcXHU2N0I2XFx1NkI0Q1xcdTZDQjNcXHU3MDZCXFx1NzNDMlxcdTc5OERcXHU3OUJFXFx1N0EzQ1xcdTdCODdcXHU4MkIxXFx1ODJEQlxcdTgzMDRcXHU4Mzc3XFx1ODNFRlxcdTgzRDNcXHU4NzY2XFx1OEFCMlxcdTU2MjlcXHU4Q0E4XFx1OEZFNlxcdTkwNEVcXHU5NzFFXFx1ODY4QVxcdTRGQzRcXHU1Q0U4XFx1NjIxMVxcdTcyNTlcXHU3NTNCXFx1ODFFNVxcdTgyQkRcXHU4NkZFXFx1OENDMFxcdTk2QzVcXHU5OTEzXFx1OTlENVxcdTRFQ0JcXHU0RjFBXFx1ODlFM1xcdTU2REVcXHU1ODRBXFx1NThDQVxcdTVFRkJcXHU1RkVCXFx1NjAyQVxcdTYwOTRcXHU2MDYyXFx1NjFEMFxcdTYyMTJcXHU2MkQwXFx1NjUzOVwiXSxcbiAgICAgIFtcImIzYTFcIiwgXCJcXHU5QjQxXFx1NjY2NlxcdTY4QjBcXHU2RDc3XFx1NzA3MFxcdTc1NENcXHU3Njg2XFx1N0Q3NVxcdTgyQTVcXHU4N0Y5XFx1OTU4QlxcdTk2OEVcXHU4QzlEXFx1NTFGMVxcdTUyQkVcXHU1OTE2XFx1NTRCM1xcdTVCQjNcXHU1RDE2XFx1NjE2OFxcdTY5ODJcXHU2REFGXFx1Nzg4RFxcdTg0Q0JcXHU4ODU3XFx1OEE3MlxcdTkzQTdcXHU5QUI4XFx1NkQ2Q1xcdTk5QThcXHU4NkQ5XFx1NTdBM1xcdTY3RkZcXHU4NkNFXFx1OTIwRVxcdTUyODNcXHU1Njg3XFx1NTQwNFxcdTVFRDNcXHU2MkUxXFx1NjRCOVxcdTY4M0NcXHU2ODM4XFx1NkJCQlxcdTczNzJcXHU3OEJBXFx1N0E2QlxcdTg5OUFcXHU4OUQyXFx1OEQ2QlxcdThGMDNcXHU5MEVEXFx1OTVBM1xcdTk2OTRcXHU5NzY5XFx1NUI2NlxcdTVDQjNcXHU2OTdEXFx1OTg0RFxcdTk4NEVcXHU2MzlCXFx1N0IyMFxcdTZBMkJcXHU2QTdGXFx1NjhCNlxcdTlDMERcXHU2RjVGXFx1NTI3MlxcdTU1OURcXHU2MDcwXFx1NjJFQ1xcdTZEM0JcXHU2RTA3XFx1NkVEMVxcdTg0NUJcXHU4OTEwXFx1OEY0NFxcdTRFMTRcXHU5QzM5XFx1NTNGNlxcdTY5MUJcXHU2QTNBXFx1OTc4NFxcdTY4MkFcXHU1MTVDXFx1N0FDM1xcdTg0QjJcXHU5MURDXFx1OTM4Q1xcdTU2NUJcXHU5RDI4XFx1NjgyMlxcdTgzMDVcXHU4NDMxXCJdLFxuICAgICAgW1wiYjRhMVwiLCBcIlxcdTdDQTVcXHU1MjA4XFx1ODJDNVxcdTc0RTZcXHU0RTdFXFx1NEY4M1xcdTUxQTBcXHU1QkQyXFx1NTIwQVxcdTUyRDhcXHU1MkU3XFx1NURGQlxcdTU1OUFcXHU1ODJBXFx1NTlFNlxcdTVCOENcXHU1Qjk4XFx1NUJEQlxcdTVFNzJcXHU1RTc5XFx1NjBBM1xcdTYxMUZcXHU2MTYzXFx1NjFCRVxcdTYzREJcXHU2NTYyXFx1NjdEMVxcdTY4NTNcXHU2OEZBXFx1NkIzRVxcdTZCNTNcXHU2QzU3XFx1NkYyMlxcdTZGOTdcXHU2RjQ1XFx1NzRCMFxcdTc1MThcXHU3NkUzXFx1NzcwQlxcdTdBRkZcXHU3QkExXFx1N0MyMVxcdTdERTlcXHU3RjM2XFx1N0ZGMFxcdTgwOURcXHU4MjY2XFx1ODM5RVxcdTg5QjNcXHU4QUNDXFx1OENBQlxcdTkwODRcXHU5NDUxXFx1OTU5M1xcdTk1OTFcXHU5NUEyXFx1OTY2NVxcdTk3RDNcXHU5OTI4XFx1ODIxOFxcdTRFMzhcXHU1NDJCXFx1NUNCOFxcdTVEQ0NcXHU3M0E5XFx1NzY0Q1xcdTc3M0NcXHU1Q0E5XFx1N0ZFQlxcdThEMEJcXHU5NkMxXFx1OTgxMVxcdTk4NTRcXHU5ODU4XFx1NEYwMVxcdTRGMEVcXHU1MzcxXFx1NTU5Q1xcdTU2NjhcXHU1N0ZBXFx1NTk0N1xcdTVCMDlcXHU1QkM0XFx1NUM5MFxcdTVFMENcXHU1RTdFXFx1NUZDQ1xcdTYzRUVcXHU2NzNBXFx1NjVEN1xcdTY1RTJcXHU2NzFGXFx1NjhDQlxcdTY4QzRcIl0sXG4gICAgICBbXCJiNWExXCIsIFwiXFx1NkE1RlxcdTVFMzBcXHU2QkM1XFx1NkMxN1xcdTZDN0RcXHU3NTdGXFx1Nzk0OFxcdTVCNjNcXHU3QTAwXFx1N0QwMFxcdTVGQkRcXHU4OThGXFx1OEExOFxcdThDQjRcXHU4RDc3XFx1OEVDQ1xcdThGMURcXHU5OEUyXFx1OUEwRVxcdTlCM0NcXHU0RTgwXFx1NTA3RFxcdTUxMDBcXHU1OTkzXFx1NUI5Q1xcdTYyMkZcXHU2MjgwXFx1NjRFQ1xcdTZCM0FcXHU3MkEwXFx1NzU5MVxcdTc5NDdcXHU3RkE5XFx1ODdGQlxcdThBQkNcXHU4QjcwXFx1NjNBQ1xcdTgzQ0FcXHU5N0EwXFx1NTQwOVxcdTU0MDNcXHU1NUFCXFx1Njg1NFxcdTZBNThcXHU4QTcwXFx1NzgyN1xcdTY3NzVcXHU5RUNEXFx1NTM3NFxcdTVCQTJcXHU4MTFBXFx1ODY1MFxcdTkwMDZcXHU0RTE4XFx1NEU0NVxcdTRFQzdcXHU0RjExXFx1NTNDQVxcdTU0MzhcXHU1QkFFXFx1NUYxM1xcdTYwMjVcXHU2NTUxXFx1NjczRFxcdTZDNDJcXHU2QzcyXFx1NkNFM1xcdTcwNzhcXHU3NDAzXFx1N0E3NlxcdTdBQUVcXHU3QjA4XFx1N0QxQVxcdTdDRkVcXHU3RDY2XFx1NjVFN1xcdTcyNUJcXHU1M0JCXFx1NUM0NVxcdTVERThcXHU2MkQyXFx1NjJFMFxcdTYzMTlcXHU2RTIwXFx1ODY1QVxcdThBMzFcXHU4REREXFx1OTJGOFxcdTZGMDFcXHU3OUE2XFx1OUI1QVxcdTRFQThcXHU0RUFCXFx1NEVBQ1wiXSxcbiAgICAgIFtcImI2YTFcIiwgXCJcXHU0RjlCXFx1NEZBMFxcdTUwRDFcXHU1MTQ3XFx1N0FGNlxcdTUxNzFcXHU1MUY2XFx1NTM1NFxcdTUzMjFcXHU1MzdGXFx1NTNFQlxcdTU1QUNcXHU1ODgzXFx1NUNFMVxcdTVGMzdcXHU1RjRBXFx1NjAyRlxcdTYwNTBcXHU2MDZEXFx1NjMxRlxcdTY1NTlcXHU2QTRCXFx1NkNDMVxcdTcyQzJcXHU3MkVEXFx1NzdFRlxcdTgwRjhcXHU4MTA1XFx1ODIwOFxcdTg1NEVcXHU5MEY3XFx1OTNFMVxcdTk3RkZcXHU5OTU3XFx1OUE1QVxcdTRFRjBcXHU1MUREXFx1NUMyRFxcdTY2ODFcXHU2OTZEXFx1NUM0MFxcdTY2RjJcXHU2OTc1XFx1NzM4OVxcdTY4NTBcXHU3QzgxXFx1NTBDNVxcdTUyRTRcXHU1NzQ3XFx1NURGRVxcdTkzMjZcXHU2NUE0XFx1NkIyM1xcdTZCM0RcXHU3NDM0XFx1Nzk4MVxcdTc5QkRcXHU3QjRCXFx1N0RDQVxcdTgyQjlcXHU4M0NDXFx1ODg3RlxcdTg5NUZcXHU4QjM5XFx1OEZEMVxcdTkxRDFcXHU1NDFGXFx1OTI4MFxcdTRFNURcXHU1MDM2XFx1NTNFNVxcdTUzM0FcXHU3MkQ3XFx1NzM5NlxcdTc3RTlcXHU4MkU2XFx1OEVBRlxcdTk5QzZcXHU5OUM4XFx1OTlEMlxcdTUxNzdcXHU2MTFBXFx1ODY1RVxcdTU1QjBcXHU3QTdBXFx1NTA3NlxcdTVCRDNcXHU5MDQ3XFx1OTY4NVxcdTRFMzJcXHU2QURCXFx1OTFFN1xcdTVDNTFcXHU1QzQ4XCJdLFxuICAgICAgW1wiYjdhMVwiLCBcIlxcdTYzOThcXHU3QTlGXFx1NkM5M1xcdTk3NzRcXHU4RjYxXFx1N0FBQVxcdTcxOEFcXHU5Njg4XFx1N0M4MlxcdTY4MTdcXHU3RTcwXFx1Njg1MVxcdTkzNkNcXHU1MkYyXFx1NTQxQlxcdTg1QUJcXHU4QTEzXFx1N0ZBNFxcdThFQ0RcXHU5MEUxXFx1NTM2NlxcdTg4ODhcXHU3OTQxXFx1NEZDMlxcdTUwQkVcXHU1MjExXFx1NTE0NFxcdTU1NTNcXHU1NzJEXFx1NzNFQVxcdTU3OEJcXHU1OTUxXFx1NUY2MlxcdTVGODRcXHU2MDc1XFx1NjE3NlxcdTYxNjdcXHU2MUE5XFx1NjNCMlxcdTY0M0FcXHU2NTZDXFx1NjY2RlxcdTY4NDJcXHU2RTEzXFx1NzU2NlxcdTdBM0RcXHU3Q0ZCXFx1N0Q0Q1xcdTdEOTlcXHU3RTRCXFx1N0Y2QlxcdTgzMEVcXHU4MzRBXFx1ODZDRFxcdThBMDhcXHU4QTYzXFx1OEI2NlxcdThFRkRcXHU5ODFBXFx1OUQ4RlxcdTgyQjhcXHU4RkNFXFx1OUJFOFxcdTUyODdcXHU2MjFGXFx1NjQ4M1xcdTZGQzBcXHU5Njk5XFx1Njg0MVxcdTUwOTFcXHU2QjIwXFx1NkM3QVxcdTZGNTRcXHU3QTc0XFx1N0Q1MFxcdTg4NDBcXHU4QTIzXFx1NjcwOFxcdTRFRjZcXHU1MDM5XFx1NTAyNlxcdTUwNjVcXHU1MTdDXFx1NTIzOFxcdTUyNjNcXHU1NUE3XFx1NTcwRlxcdTU4MDVcXHU1QUNDXFx1NUVGQVxcdTYxQjJcXHU2MUY4XFx1NjJGM1xcdTYzNzJcIl0sXG4gICAgICBbXCJiOGExXCIsIFwiXFx1NjkxQ1xcdTZBMjlcXHU3MjdEXFx1NzJBQ1xcdTczMkVcXHU3ODE0XFx1Nzg2RlxcdTdENzlcXHU3NzBDXFx1ODBBOVxcdTg5OEJcXHU4QjE5XFx1OENFMlxcdThFRDJcXHU5MDYzXFx1OTM3NVxcdTk2N0FcXHU5ODU1XFx1OUExM1xcdTlFNzhcXHU1MTQzXFx1NTM5RlxcdTUzQjNcXHU1RTdCXFx1NUYyNlxcdTZFMUJcXHU2RTkwXFx1NzM4NFxcdTczRkVcXHU3RDQzXFx1ODIzN1xcdThBMDBcXHU4QUZBXFx1OTY1MFxcdTRFNEVcXHU1MDBCXFx1NTNFNFxcdTU0N0NcXHU1NkZBXFx1NTlEMVxcdTVCNjRcXHU1REYxXFx1NUVBQlxcdTVGMjdcXHU2MjM4XFx1NjU0NVxcdTY3QUZcXHU2RTU2XFx1NzJEMFxcdTdDQ0FcXHU4OEI0XFx1ODBBMVxcdTgwRTFcXHU4M0YwXFx1ODY0RVxcdThBODdcXHU4REU4XFx1OTIzN1xcdTk2QzdcXHU5ODY3XFx1OUYxM1xcdTRFOTRcXHU0RTkyXFx1NEYwRFxcdTUzNDhcXHU1NDQ5XFx1NTQzRVxcdTVBMkZcXHU1RjhDXFx1NUZBMVxcdTYwOUZcXHU2OEE3XFx1NkE4RVxcdTc0NUFcXHU3ODgxXFx1OEE5RVxcdThBQTRcXHU4Qjc3XFx1OTE5MFxcdTRFNUVcXHU5QkM5XFx1NEVBNFxcdTRGN0NcXHU0RkFGXFx1NTAxOVxcdTUwMTZcXHU1MTQ5XFx1NTE2Q1xcdTUyOUZcXHU1MkI5XFx1NTJGRVxcdTUzOUFcXHU1M0UzXFx1NTQxMVwiXSxcbiAgICAgIFtcImI5YTFcIiwgXCJcXHU1NDBFXFx1NTU4OVxcdTU3NTFcXHU1N0EyXFx1NTk3RFxcdTVCNTRcXHU1QjVEXFx1NUI4RlxcdTVERTVcXHU1REU3XFx1NURGN1xcdTVFNzhcXHU1RTgzXFx1NUU5QVxcdTVFQjdcXHU1RjE4XFx1NjA1MlxcdTYxNENcXHU2Mjk3XFx1NjJEOFxcdTYzQTdcXHU2NTNCXFx1NjYwMlxcdTY2NDNcXHU2NkY0XFx1Njc2RFxcdTY4MjFcXHU2ODk3XFx1NjlDQlxcdTZDNUZcXHU2RDJBXFx1NkQ2OVxcdTZFMkZcXHU2RTlEXFx1NzUzMlxcdTc2ODdcXHU3ODZDXFx1N0EzRlxcdTdDRTBcXHU3RDA1XFx1N0QxOFxcdTdENUVcXHU3REIxXFx1ODAxNVxcdTgwMDNcXHU4MEFGXFx1ODBCMVxcdTgxNTRcXHU4MThGXFx1ODIyQVxcdTgzNTJcXHU4ODRDXFx1ODg2MVxcdThCMUJcXHU4Q0EyXFx1OENGQ1xcdTkwQ0FcXHU5MTc1XFx1OTI3MVxcdTc4M0ZcXHU5MkZDXFx1OTVBNFxcdTk2NERcXHU5ODA1XFx1OTk5OVxcdTlBRDhcXHU5RDNCXFx1NTI1QlxcdTUyQUJcXHU1M0Y3XFx1NTQwOFxcdTU4RDVcXHU2MkY3XFx1NkZFMFxcdThDNkFcXHU4RjVGXFx1OUVCOVxcdTUxNEJcXHU1MjNCXFx1NTQ0QVxcdTU2RkRcXHU3QTQwXFx1OTE3N1xcdTlENjBcXHU5RUQyXFx1NzM0NFxcdTZGMDlcXHU4MTcwXFx1NzUxMVxcdTVGRkRcXHU2MERBXFx1OUFBOFxcdTcyREJcXHU4RkJDXCJdLFxuICAgICAgW1wiYmFhMVwiLCBcIlxcdTZCNjRcXHU5ODAzXFx1NEVDQVxcdTU2RjBcXHU1NzY0XFx1NThCRVxcdTVBNUFcXHU2MDY4XFx1NjFDN1xcdTY2MEZcXHU2NjA2XFx1NjgzOVxcdTY4QjFcXHU2REY3XFx1NzVENVxcdTdEM0FcXHU4MjZFXFx1OUI0MlxcdTRFOUJcXHU0RjUwXFx1NTNDOVxcdTU1MDZcXHU1RDZGXFx1NURFNlxcdTVERUVcXHU2N0ZCXFx1NkM5OVxcdTc0NzNcXHU3ODAyXFx1OEE1MFxcdTkzOTZcXHU4OERGXFx1NTc1MFxcdTVFQTdcXHU2MzJCXFx1NTBCNVxcdTUwQUNcXHU1MThEXFx1NjcwMFxcdTU0QzlcXHU1ODVFXFx1NTlCQlxcdTVCQjBcXHU1RjY5XFx1NjI0RFxcdTYzQTFcXHU2ODNEXFx1NkI3M1xcdTZFMDhcXHU3MDdEXFx1OTFDN1xcdTcyODBcXHU3ODE1XFx1NzgyNlxcdTc5NkRcXHU2NThFXFx1N0QzMFxcdTgzRENcXHU4OEMxXFx1OEYwOVxcdTk2OUJcXHU1MjY0XFx1NTcyOFxcdTY3NTBcXHU3RjZBXFx1OENBMVxcdTUxQjRcXHU1NzQyXFx1OTYyQVxcdTU4M0FcXHU2OThBXFx1ODBCNFxcdTU0QjJcXHU1RDBFXFx1NTdGQ1xcdTc4OTVcXHU5REZBXFx1NEY1Q1xcdTUyNEFcXHU1NDhCXFx1NjQzRVxcdTY2MjhcXHU2NzE0XFx1NjdGNVxcdTdBODRcXHU3QjU2XFx1N0QyMlxcdTkzMkZcXHU2ODVDXFx1OUJBRFxcdTdCMzlcXHU1MzE5XFx1NTE4QVxcdTUyMzdcIl0sXG4gICAgICBbXCJiYmExXCIsIFwiXFx1NUJERlxcdTYyRjZcXHU2NEFFXFx1NjRFNlxcdTY3MkRcXHU2QkJBXFx1ODVBOVxcdTk2RDFcXHU3NjkwXFx1OUJENlxcdTYzNENcXHU5MzA2XFx1OUJBQlxcdTc2QkZcXHU2NjUyXFx1NEUwOVxcdTUwOThcXHU1M0MyXFx1NUM3MVxcdTYwRThcXHU2NDkyXFx1NjU2M1xcdTY4NUZcXHU3MUU2XFx1NzNDQVxcdTc1MjNcXHU3Qjk3XFx1N0U4MlxcdTg2OTVcXHU4QjgzXFx1OENEQlxcdTkxNzhcXHU5OTEwXFx1NjVBQ1xcdTY2QUJcXHU2QjhCXFx1NEVENVxcdTRFRDRcXHU0RjNBXFx1NEY3RlxcdTUyM0FcXHU1M0Y4XFx1NTNGMlxcdTU1RTNcXHU1NkRCXFx1NThFQlxcdTU5Q0JcXHU1OUM5XFx1NTlGRlxcdTVCNTBcXHU1QzREXFx1NUUwMlxcdTVFMkJcXHU1RkQ3XFx1NjAxRFxcdTYzMDdcXHU2NTJGXFx1NUI1Q1xcdTY1QUZcXHU2NUJEXFx1NjVFOFxcdTY3OURcXHU2QjYyXFx1NkI3QlxcdTZDMEZcXHU3MzQ1XFx1Nzk0OVxcdTc5QzFcXHU3Q0Y4XFx1N0QxOVxcdTdEMkJcXHU4MEEyXFx1ODEwMlxcdTgxRjNcXHU4OTk2XFx1OEE1RVxcdThBNjlcXHU4QTY2XFx1OEE4Q1xcdThBRUVcXHU4Q0M3XFx1OENEQ1xcdTk2Q0NcXHU5OEZDXFx1NkI2RlxcdTRFOEJcXHU0RjNDXFx1NEY4RFxcdTUxNTBcXHU1QjU3XFx1NUJGQVxcdTYxNDhcXHU2MzAxXFx1NjY0MlwiXSxcbiAgICAgIFtcImJjYTFcIiwgXCJcXHU2QjIxXFx1NkVDQlxcdTZDQkJcXHU3MjNFXFx1NzRCRFxcdTc1RDRcXHU3OEMxXFx1NzkzQVxcdTgwMENcXHU4MDMzXFx1ODFFQVxcdTg0OTRcXHU4RjlFXFx1NkM1MFxcdTlFN0ZcXHU1RjBGXFx1OEI1OFxcdTlEMkJcXHU3QUZBXFx1OEVGOFxcdTVCOERcXHU5NkVCXFx1NEUwM1xcdTUzRjFcXHU1N0Y3XFx1NTkzMVxcdTVBQzlcXHU1QkE0XFx1NjA4OVxcdTZFN0ZcXHU2RjA2XFx1NzVCRVxcdThDRUFcXHU1QjlGXFx1ODUwMFxcdTdCRTBcXHU1MDcyXFx1NjdGNFxcdTgyOURcXHU1QzYxXFx1ODU0QVxcdTdFMUVcXHU4MjBFXFx1NTE5OVxcdTVDMDRcXHU2MzY4XFx1OEQ2NlxcdTY1OUNcXHU3MTZFXFx1NzkzRVxcdTdEMTdcXHU4MDA1XFx1OEIxRFxcdThFQ0FcXHU5MDZFXFx1ODZDN1xcdTkwQUFcXHU1MDFGXFx1NTJGQVxcdTVDM0FcXHU2NzUzXFx1NzA3Q1xcdTcyMzVcXHU5MTRDXFx1OTFDOFxcdTkzMkJcXHU4MkU1XFx1NUJDMlxcdTVGMzFcXHU2MEY5XFx1NEUzQlxcdTUzRDZcXHU1Qjg4XFx1NjI0QlxcdTY3MzFcXHU2QjhBXFx1NzJFOVxcdTczRTBcXHU3QTJFXFx1ODE2QlxcdThEQTNcXHU5MTUyXFx1OTk5NlxcdTUxMTJcXHU1M0Q3XFx1NTQ2QVxcdTVCRkZcXHU2Mzg4XFx1NkEzOVxcdTdEQUNcXHU5NzAwXFx1NTZEQVxcdTUzQ0VcXHU1NDY4XCJdLFxuICAgICAgW1wiYmRhMVwiLCBcIlxcdTVCOTdcXHU1QzMxXFx1NURERVxcdTRGRUVcXHU2MTAxXFx1NjJGRVxcdTZEMzJcXHU3OUMwXFx1NzlDQlxcdTdENDJcXHU3RTREXFx1N0ZEMlxcdTgxRURcXHU4MjFGXFx1ODQ5MFxcdTg4NDZcXHU4OTcyXFx1OEI5MFxcdThFNzRcXHU4RjJGXFx1OTAzMVxcdTkxNEJcXHU5MTZDXFx1OTZDNlxcdTkxOUNcXHU0RUMwXFx1NEY0RlxcdTUxNDVcXHU1MzQxXFx1NUY5M1xcdTYyMEVcXHU2N0Q0XFx1NkM0MVxcdTZFMEJcXHU3MzYzXFx1N0UyNlxcdTkxQ0RcXHU5MjgzXFx1NTNENFxcdTU5MTlcXHU1QkJGXFx1NkREMVxcdTc5NURcXHU3RTJFXFx1N0M5QlxcdTU4N0VcXHU3MTlGXFx1NTFGQVxcdTg4NTNcXHU4RkYwXFx1NEZDQVxcdTVDRkJcXHU2NjI1XFx1NzdBQ1xcdTdBRTNcXHU4MjFDXFx1OTlGRlxcdTUxQzZcXHU1RkFBXFx1NjVFQ1xcdTY5NkZcXHU2Qjg5XFx1NkRGM1xcdTZFOTZcXHU2RjY0XFx1NzZGRVxcdTdEMTRcXHU1REUxXFx1OTA3NVxcdTkxODdcXHU5ODA2XFx1NTFFNlxcdTUyMURcXHU2MjQwXFx1NjY5MVxcdTY2RDlcXHU2RTFBXFx1NUVCNlxcdTdERDJcXHU3RjcyXFx1NjZGOFxcdTg1QUZcXHU4NUY3XFx1OEFGOFxcdTUyQTlcXHU1M0Q5XFx1NTk3M1xcdTVFOEZcXHU1RjkwXFx1NjA1NVxcdTkyRTRcXHU5NjY0XFx1NTBCN1xcdTUxMUZcIl0sXG4gICAgICBbXCJiZWExXCIsIFwiXFx1NTJERFxcdTUzMjBcXHU1MzQ3XFx1NTNFQ1xcdTU0RThcXHU1NTQ2XFx1NTUzMVxcdTU2MTdcXHU1OTY4XFx1NTlCRVxcdTVBM0NcXHU1QkI1XFx1NUMwNlxcdTVDMEZcXHU1QzExXFx1NUMxQVxcdTVFODRcXHU1RThBXFx1NUVFMFxcdTVGNzBcXHU2MjdGXFx1NjI4NFxcdTYyREJcXHU2MzhDXFx1NjM3N1xcdTY2MDdcXHU2NjBDXFx1NjYyRFxcdTY2NzZcXHU2NzdFXFx1NjhBMlxcdTZBMUZcXHU2QTM1XFx1NkNCQ1xcdTZEODhcXHU2RTA5XFx1NkU1OFxcdTcxM0NcXHU3MTI2XFx1NzE2N1xcdTc1QzdcXHU3NzAxXFx1Nzg1RFxcdTc5MDFcXHU3OTY1XFx1NzlGMFxcdTdBRTBcXHU3QjExXFx1N0NBN1xcdTdEMzlcXHU4MDk2XFx1ODNENlxcdTg0OEJcXHU4NTQ5XFx1ODg1RFxcdTg4RjNcXHU4QTFGXFx1OEEzQ1xcdThBNTRcXHU4QTczXFx1OEM2MVxcdThDREVcXHU5MUE0XFx1OTI2NlxcdTkzN0VcXHU5NDE4XFx1OTY5Q1xcdTk3OThcXHU0RTBBXFx1NEUwOFxcdTRFMUVcXHU0RTU3XFx1NTE5N1xcdTUyNzBcXHU1N0NFXFx1NTgzNFxcdTU4Q0NcXHU1QjIyXFx1NUUzOFxcdTYwQzVcXHU2NEZFXFx1Njc2MVxcdTY3NTZcXHU2RDQ0XFx1NzJCNlxcdTc1NzNcXHU3QTYzXFx1ODRCOFxcdThCNzJcXHU5MUI4XFx1OTMyMFxcdTU2MzFcXHU1N0Y0XFx1OThGRVwiXSxcbiAgICAgIFtcImJmYTFcIiwgXCJcXHU2MkVEXFx1NjkwRFxcdTZCOTZcXHU3MUVEXFx1N0U1NFxcdTgwNzdcXHU4MjcyXFx1ODlFNlxcdTk4REZcXHU4NzU1XFx1OEZCMVxcdTVDM0JcXHU0RjM4XFx1NEZFMVxcdTRGQjVcXHU1NTA3XFx1NUEyMFxcdTVCRERcXHU1QkU5XFx1NUZDM1xcdTYxNEVcXHU2MzJGXFx1NjVCMFxcdTY2NEJcXHU2OEVFXFx1Njk5QlxcdTZENzhcXHU2REYxXFx1NzUzM1xcdTc1QjlcXHU3NzFGXFx1Nzk1RVxcdTc5RTZcXHU3RDMzXFx1ODFFM1xcdTgyQUZcXHU4NUFBXFx1ODlBQVxcdThBM0FcXHU4RUFCXFx1OEY5QlxcdTkwMzJcXHU5MUREXFx1OTcwN1xcdTRFQkFcXHU0RUMxXFx1NTIwM1xcdTU4NzVcXHU1OEVDXFx1NUMwQlxcdTc1MUFcXHU1QzNEXFx1ODE0RVxcdThBMEFcXHU4RkM1XFx1OTY2M1xcdTk3NkRcXHU3QjI1XFx1OEFDRlxcdTk4MDhcXHU5MTYyXFx1NTZGM1xcdTUzQThcXHU5MDE3XFx1NTQzOVxcdTU3ODJcXHU1RTI1XFx1NjNBOFxcdTZDMzRcXHU3MDhBXFx1Nzc2MVxcdTdDOEJcXHU3RkUwXFx1ODg3MFxcdTkwNDJcXHU5MTU0XFx1OTMxMFxcdTkzMThcXHU5NjhGXFx1NzQ1RVxcdTlBQzRcXHU1RDA3XFx1NUQ2OVxcdTY1NzBcXHU2N0EyXFx1OERBOFxcdTk2REJcXHU2MzZFXFx1Njc0OVxcdTY5MTlcXHU4M0M1XFx1OTgxN1xcdTk2QzBcXHU4OEZFXCJdLFxuICAgICAgW1wiYzBhMVwiLCBcIlxcdTZGODRcXHU2NDdBXFx1NUJGOFxcdTRFMTZcXHU3MDJDXFx1NzU1RFxcdTY2MkZcXHU1MUM0XFx1NTIzNlxcdTUyRTJcXHU1OUQzXFx1NUY4MVxcdTYwMjdcXHU2MjEwXFx1NjUzRlxcdTY1NzRcXHU2NjFGXFx1NjY3NFxcdTY4RjJcXHU2ODE2XFx1NkI2M1xcdTZFMDVcXHU3MjcyXFx1NzUxRlxcdTc2REJcXHU3Q0JFXFx1ODA1NlxcdTU4RjBcXHU4OEZEXFx1ODk3RlxcdThBQTBcXHU4QTkzXFx1OEFDQlxcdTkwMURcXHU5MTkyXFx1OTc1MlxcdTk3NTlcXHU2NTg5XFx1N0EwRVxcdTgxMDZcXHU5NkJCXFx1NUUyRFxcdTYwRENcXHU2MjFBXFx1NjVBNVxcdTY2MTRcXHU2NzkwXFx1NzdGM1xcdTdBNERcXHU3QzREXFx1N0UzRVxcdTgxMEFcXHU4Q0FDXFx1OEQ2NFxcdThERTFcXHU4RTVGXFx1NzhBOVxcdTUyMDdcXHU2MkQ5XFx1NjNBNVxcdTY0NDJcXHU2Mjk4XFx1OEEyRFxcdTdBODNcXHU3QkMwXFx1OEFBQ1xcdTk2RUFcXHU3RDc2XFx1ODIwQ1xcdTg3NDlcXHU0RUQ5XFx1NTE0OFxcdTUzNDNcXHU1MzYwXFx1NUJBM1xcdTVDMDJcXHU1QzE2XFx1NURERFxcdTYyMjZcXHU2MjQ3XFx1NjRCMFxcdTY4MTNcXHU2ODM0XFx1NkNDOVxcdTZENDVcXHU2RDE3XFx1NjdEM1xcdTZGNUNcXHU3MTRFXFx1NzE3RFxcdTY1Q0JcXHU3QTdGXFx1N0JBRFxcdTdEREFcIl0sXG4gICAgICBbXCJjMWExXCIsIFwiXFx1N0U0QVxcdTdGQThcXHU4MTdBXFx1ODIxQlxcdTgyMzlcXHU4NUE2XFx1OEE2RVxcdThDQ0VcXHU4REY1XFx1OTA3OFxcdTkwNzdcXHU5MkFEXFx1OTI5MVxcdTk1ODNcXHU5QkFFXFx1NTI0RFxcdTU1ODRcXHU2RjM4XFx1NzEzNlxcdTUxNjhcXHU3OTg1XFx1N0U1NVxcdTgxQjNcXHU3Q0NFXFx1NTY0Q1xcdTU4NTFcXHU1Q0E4XFx1NjNBQVxcdTY2RkVcXHU2NkZEXFx1Njk1QVxcdTcyRDlcXHU3NThGXFx1NzU4RVxcdTc5MEVcXHU3OTU2XFx1NzlERlxcdTdDOTdcXHU3RDIwXFx1N0Q0NFxcdTg2MDdcXHU4QTM0XFx1OTYzQlxcdTkwNjFcXHU5RjIwXFx1NTBFN1xcdTUyNzVcXHU1M0NDXFx1NTNFMlxcdTUwMDlcXHU1NUFBXFx1NThFRVxcdTU5NEZcXHU3MjNEXFx1NUI4QlxcdTVDNjRcXHU1MzFEXFx1NjBFM1xcdTYwRjNcXHU2MzVDXFx1NjM4M1xcdTYzM0ZcXHU2M0JCXFx1NjRDRFxcdTY1RTlcXHU2NkY5XFx1NURFM1xcdTY5Q0RcXHU2OUZEXFx1NkYxNVxcdTcxRTVcXHU0RTg5XFx1NzVFOVxcdTc2RjhcXHU3QTkzXFx1N0NERlxcdTdEQ0ZcXHU3RDlDXFx1ODA2MVxcdTgzNDlcXHU4MzU4XFx1ODQ2Q1xcdTg0QkNcXHU4NUZCXFx1ODhDNVxcdThENzBcXHU5MDAxXFx1OTA2RFxcdTkzOTdcXHU5NzFDXFx1OUExMlxcdTUwQ0ZcXHU1ODk3XFx1NjE4RVwiXSxcbiAgICAgIFtcImMyYTFcIiwgXCJcXHU4MUQzXFx1ODUzNVxcdThEMDhcXHU5MDIwXFx1NEZDM1xcdTUwNzRcXHU1MjQ3XFx1NTM3M1xcdTYwNkZcXHU2MzQ5XFx1Njc1RlxcdTZFMkNcXHU4REIzXFx1OTAxRlxcdTRGRDdcXHU1QzVFXFx1OENDQVxcdTY1Q0ZcXHU3RDlBXFx1NTM1MlxcdTg4OTZcXHU1MTc2XFx1NjNDM1xcdTVCNThcXHU1QjZCXFx1NUMwQVxcdTY0MERcXHU2NzUxXFx1OTA1Q1xcdTRFRDZcXHU1OTFBXFx1NTkyQVxcdTZDNzBcXHU4QTUxXFx1NTUzRVxcdTU4MTVcXHU1OUE1XFx1NjBGMFxcdTYyNTNcXHU2N0MxXFx1ODIzNVxcdTY5NTVcXHU5NjQwXFx1OTlDNFxcdTlBMjhcXHU0RjUzXFx1NTgwNlxcdTVCRkVcXHU4MDEwXFx1NUNCMVxcdTVFMkZcXHU1Rjg1XFx1NjAyMFxcdTYxNEJcXHU2MjM0XFx1NjZGRlxcdTZDRjBcXHU2RURFXFx1ODBDRVxcdTgxN0ZcXHU4MkQ0XFx1ODg4QlxcdThDQjhcXHU5MDAwXFx1OTAyRVxcdTk2OEFcXHU5RURCXFx1OUJEQlxcdTRFRTNcXHU1M0YwXFx1NTkyN1xcdTdCMkNcXHU5MThEXFx1OTg0Q1xcdTlERjlcXHU2RUREXFx1NzAyN1xcdTUzNTNcXHU1NTQ0XFx1NUI4NVxcdTYyNThcXHU2MjlFXFx1NjJEM1xcdTZDQTJcXHU2RkVGXFx1NzQyMlxcdThBMTdcXHU5NDM4XFx1NkZDMVxcdThBRkVcXHU4MzM4XFx1NTFFN1xcdTg2RjhcXHU1M0VBXCJdLFxuICAgICAgW1wiYzNhMVwiLCBcIlxcdTUzRTlcXHU0RjQ2XFx1OTA1NFxcdThGQjBcXHU1OTZBXFx1ODEzMVxcdTVERkRcXHU3QUVBXFx1OEZCRlxcdTY4REFcXHU4QzM3XFx1NzJGOFxcdTlDNDhcXHU2QTNEXFx1OEFCMFxcdTRFMzlcXHU1MzU4XFx1NTYwNlxcdTU3NjZcXHU2MkM1XFx1NjNBMlxcdTY1RTZcXHU2QjRFXFx1NkRFMVxcdTZFNUJcXHU3MEFEXFx1NzdFRFxcdTdBRUZcXHU3QkFBXFx1N0RCQlxcdTgwM0RcXHU4MEM2XFx1ODZDQlxcdThBOTVcXHU5MzVCXFx1NTZFM1xcdTU4QzdcXHU1RjNFXFx1NjVBRFxcdTY2OTZcXHU2QTgwXFx1NkJCNVxcdTc1MzdcXHU4QUM3XFx1NTAyNFxcdTc3RTVcXHU1NzMwXFx1NUYxQlxcdTYwNjVcXHU2NjdBXFx1NkM2MFxcdTc1RjRcXHU3QTFBXFx1N0Y2RVxcdTgxRjRcXHU4NzE4XFx1OTA0NVxcdTk5QjNcXHU3QkM5XFx1NzU1Q1xcdTdBRjlcXHU3QjUxXFx1ODRDNFxcdTkwMTBcXHU3OUU5XFx1N0E5MlxcdTgzMzZcXHU1QUUxXFx1Nzc0MFxcdTRFMkRcXHU0RUYyXFx1NUI5OVxcdTVGRTBcXHU2MkJEXFx1NjYzQ1xcdTY3RjFcXHU2Q0U4XFx1ODY2QlxcdTg4NzdcXHU4QTNCXFx1OTE0RVxcdTkyRjNcXHU5OUQwXFx1NkExN1xcdTcwMjZcXHU3MzJBXFx1ODJFN1xcdTg0NTdcXHU4Q0FGXFx1NEUwMVxcdTUxNDZcXHU1MUNCXFx1NTU4QlxcdTVCRjVcIl0sXG4gICAgICBbXCJjNGExXCIsIFwiXFx1NUUxNlxcdTVFMzNcXHU1RTgxXFx1NUYxNFxcdTVGMzVcXHU1RjZCXFx1NUZCNFxcdTYxRjJcXHU2MzExXFx1NjZBMlxcdTY3MURcXHU2RjZFXFx1NzI1MlxcdTc1M0FcXHU3NzNBXFx1ODA3NFxcdTgxMzlcXHU4MTc4XFx1ODc3NlxcdThBQkZcXHU4QURDXFx1OEQ4NVxcdThERjNcXHU5MjlBXFx1OTU3N1xcdTk4MDJcXHU5Q0U1XFx1NTJDNVxcdTYzNTdcXHU3NkY0XFx1NjcxNVxcdTZDODhcXHU3M0NEXFx1OENDM1xcdTkzQUVcXHU5NjczXFx1NkQyNVxcdTU4OUNcXHU2OTBFXFx1NjlDQ1xcdThGRkRcXHU5MzlBXFx1NzVEQlxcdTkwMUFcXHU1ODVBXFx1NjgwMlxcdTYzQjRcXHU2OUZCXFx1NEY0M1xcdTZGMkNcXHU2N0Q4XFx1OEZCQlxcdTg1MjZcXHU3REI0XFx1OTM1NFxcdTY5M0ZcXHU2RjcwXFx1NTc2QVxcdTU4RjdcXHU1QjJDXFx1N0QyQ1xcdTcyMkFcXHU1NDBBXFx1OTFFM1xcdTlEQjRcXHU0RUFEXFx1NEY0RVxcdTUwNUNcXHU1MDc1XFx1NTI0M1xcdThDOUVcXHU1NDQ4XFx1NTgyNFxcdTVCOUFcXHU1RTFEXFx1NUU5NVxcdTVFQURcXHU1RUY3XFx1NUYxRlxcdTYwOENcXHU2MkI1XFx1NjMzQVxcdTYzRDBcXHU2OEFGXFx1NkM0MFxcdTc4ODdcXHU3OThFXFx1N0EwQlxcdTdERTBcXHU4MjQ3XFx1OEEwMlxcdThBRTZcXHU4RTQ0XFx1OTAxM1wiXSxcbiAgICAgIFtcImM1YTFcIiwgXCJcXHU5MEI4XFx1OTEyRFxcdTkxRDhcXHU5RjBFXFx1NkNFNVxcdTY0NThcXHU2NEUyXFx1NjU3NVxcdTZFRjRcXHU3Njg0XFx1N0IxQlxcdTkwNjlcXHU5M0QxXFx1NkVCQVxcdTU0RjJcXHU1RkI5XFx1NjRBNFxcdThGNERcXHU4RkVEXFx1OTI0NFxcdTUxNzhcXHU1ODZCXFx1NTkyOVxcdTVDNTVcXHU1RTk3XFx1NkRGQlxcdTdFOEZcXHU3NTFDXFx1OENCQ1xcdThFRTJcXHU5ODVCXFx1NzBCOVxcdTRGMURcXHU2QkJGXFx1NkZCMVxcdTc1MzBcXHU5NkZCXFx1NTE0RVxcdTU0MTBcXHU1ODM1XFx1NTg1N1xcdTU5QUNcXHU1QzYwXFx1NUY5MlxcdTY1OTdcXHU2NzVDXFx1NkUyMVxcdTc2N0JcXHU4M0RGXFx1OENFRFxcdTkwMTRcXHU5MEZEXFx1OTM0RFxcdTc4MjVcXHU3ODNBXFx1NTJBQVxcdTVFQTZcXHU1NzFGXFx1NTk3NFxcdTYwMTJcXHU1MDEyXFx1NTE1QVxcdTUxQUNcXHU1MUNEXFx1NTIwMFxcdTU1MTBcXHU1ODU0XFx1NTg1OFxcdTU5NTdcXHU1Qjk1XFx1NUNGNlxcdTVEOEJcXHU2MEJDXFx1NjI5NVxcdTY0MkRcXHU2NzcxXFx1Njg0M1xcdTY4QkNcXHU2OERGXFx1NzZEN1xcdTZERDhcXHU2RTZGXFx1NkQ5QlxcdTcwNkZcXHU3MUM4XFx1NUY1M1xcdTc1RDhcXHU3OTc3XFx1N0I0OVxcdTdCNTRcXHU3QjUyXFx1N0NENlxcdTdENzFcXHU1MjMwXCJdLFxuICAgICAgW1wiYzZhMVwiLCBcIlxcdTg0NjNcXHU4NTY5XFx1ODVFNFxcdThBMEVcXHU4QjA0XFx1OEM0NlxcdThFMEZcXHU5MDAzXFx1OTAwRlxcdTk0MTlcXHU5Njc2XFx1OTgyRFxcdTlBMzBcXHU5NUQ4XFx1NTBDRFxcdTUyRDVcXHU1NDBDXFx1NTgwMlxcdTVDMEVcXHU2MUE3XFx1NjQ5RVxcdTZEMUVcXHU3N0IzXFx1N0FFNVxcdTgwRjRcXHU4NDA0XFx1OTA1M1xcdTkyODVcXHU1Q0UwXFx1OUQwN1xcdTUzM0ZcXHU1Rjk3XFx1NUZCM1xcdTZEOUNcXHU3Mjc5XFx1Nzc2M1xcdTc5QkZcXHU3QkU0XFx1NkJEMlxcdTcyRUNcXHU4QUFEXFx1NjgwM1xcdTZBNjFcXHU1MUY4XFx1N0E4MVxcdTY5MzRcXHU1QzRBXFx1OUNGNlxcdTgyRUJcXHU1QkM1XFx1OTE0OVxcdTcwMUVcXHU1Njc4XFx1NUM2RlxcdTYwQzdcXHU2NTY2XFx1NkM4Q1xcdThDNUFcXHU5MDQxXFx1OTgxM1xcdTU0NTFcXHU2NkM3XFx1OTIwRFxcdTU5NDhcXHU5MEEzXFx1NTE4NVxcdTRFNERcXHU1MUVBXFx1ODU5OVxcdThCMEVcXHU3MDU4XFx1NjM3QVxcdTkzNEJcXHU2OTYyXFx1OTlCNFxcdTdFMDRcXHU3NTc3XFx1NTM1N1xcdTY5NjBcXHU4RURGXFx1OTZFM1xcdTZDNURcXHU0RThDXFx1NUMzQ1xcdTVGMTBcXHU4RkU5XFx1NTMwMlxcdThDRDFcXHU4MDg5XFx1ODY3OVxcdTVFRkZcXHU2NUU1XFx1NEU3M1xcdTUxNjVcIl0sXG4gICAgICBbXCJjN2ExXCIsIFwiXFx1NTk4MlxcdTVDM0ZcXHU5N0VFXFx1NEVGQlxcdTU5OEFcXHU1RkNEXFx1OEE4RFxcdTZGRTFcXHU3OUIwXFx1Nzk2MlxcdTVCRTdcXHU4NDcxXFx1NzMyQlxcdTcxQjFcXHU1RTc0XFx1NUZGNVxcdTYzN0JcXHU2NDlBXFx1NzFDM1xcdTdDOThcXHU0RTQzXFx1NUVGQ1xcdTRFNEJcXHU1N0RDXFx1NTZBMlxcdTYwQTlcXHU2RkMzXFx1N0QwRFxcdTgwRkRcXHU4MTMzXFx1ODFCRlxcdThGQjJcXHU4OTk3XFx1ODZBNFxcdTVERjRcXHU2MjhBXFx1NjRBRFxcdTg5ODdcXHU2Nzc3XFx1NkNFMlxcdTZEM0VcXHU3NDM2XFx1NzgzNFxcdTVBNDZcXHU3Rjc1XFx1ODJBRFxcdTk5QUNcXHU0RkYzXFx1NUVDM1xcdTYyRERcXHU2MzkyXFx1NjU1N1xcdTY3NkZcXHU3NkMzXFx1NzI0Q1xcdTgwQ0NcXHU4MEJBXFx1OEYyOVxcdTkxNERcXHU1MDBEXFx1NTdGOVxcdTVBOTJcXHU2ODg1XFx1Njk3M1xcdTcxNjRcXHU3MkZEXFx1OENCN1xcdTU4RjJcXHU4Q0UwXFx1OTY2QVxcdTkwMTlcXHU4NzdGXFx1NzlFNFxcdTc3RTdcXHU4NDI5XFx1NEYyRlxcdTUyNjVcXHU1MzVBXFx1NjJDRFxcdTY3Q0ZcXHU2Q0NBXFx1NzY3RFxcdTdCOTRcXHU3Qzk1XFx1ODIzNlxcdTg1ODRcXHU4RkVCXFx1NjZERFxcdTZGMjBcXHU3MjA2XFx1N0UxQlxcdTgzQUJcXHU5OUMxXFx1OUVBNlwiXSxcbiAgICAgIFtcImM4YTFcIiwgXCJcXHU1MUZEXFx1N0JCMVxcdTc4NzJcXHU3QkI4XFx1ODA4N1xcdTdCNDhcXHU2QUU4XFx1NUU2MVxcdTgwOENcXHU3NTUxXFx1NzU2MFxcdTUxNkJcXHU5MjYyXFx1NkU4Q1xcdTc2N0FcXHU5MTk3XFx1OUFFQVxcdTRGMTBcXHU3RjcwXFx1NjI5Q1xcdTdCNEZcXHU5NUE1XFx1OUNFOVxcdTU2N0FcXHU1ODU5XFx1ODZFNFxcdTk2QkNcXHU0RjM0XFx1NTIyNFxcdTUzNEFcXHU1M0NEXFx1NTNEQlxcdTVFMDZcXHU2NDJDXFx1NjU5MVxcdTY3N0ZcXHU2QzNFXFx1NkM0RVxcdTcyNDhcXHU3MkFGXFx1NzNFRFxcdTc1NTRcXHU3RTQxXFx1ODIyQ1xcdTg1RTlcXHU4Q0E5XFx1N0JDNFxcdTkxQzZcXHU3MTY5XFx1OTgxMlxcdTk4RUZcXHU2MzNEXFx1NjY2OVxcdTc1NkFcXHU3NkU0XFx1NzhEMFxcdTg1NDNcXHU4NkVFXFx1NTMyQVxcdTUzNTFcXHU1NDI2XFx1NTk4M1xcdTVFODdcXHU1RjdDXFx1NjBCMlxcdTYyNDlcXHU2Mjc5XFx1NjJBQlxcdTY1OTBcXHU2QkQ0XFx1NkNDQ1xcdTc1QjJcXHU3NkFFXFx1Nzg5MVxcdTc5RDhcXHU3RENCXFx1N0Y3N1xcdTgwQTVcXHU4OEFCXFx1OEFCOVxcdThDQkJcXHU5MDdGXFx1OTc1RVxcdTk4REJcXHU2QTBCXFx1N0MzOFxcdTUwOTlcXHU1QzNFXFx1NUZBRVxcdTY3ODdcXHU2QkQ4XFx1NzQzNVxcdTc3MDlcXHU3RjhFXCJdLFxuICAgICAgW1wiYzlhMVwiLCBcIlxcdTlGM0JcXHU2N0NBXFx1N0ExN1xcdTUzMzlcXHU3NThCXFx1OUFFRFxcdTVGNjZcXHU4MTlEXFx1ODNGMVxcdTgwOThcXHU1RjNDXFx1NUZDNVxcdTc1NjJcXHU3QjQ2XFx1OTAzQ1xcdTY4NjdcXHU1OUVCXFx1NUE5QlxcdTdEMTBcXHU3NjdFXFx1OEIyQ1xcdTRGRjVcXHU1RjZBXFx1NkExOVxcdTZDMzdcXHU2RjAyXFx1NzRFMlxcdTc5NjhcXHU4ODY4XFx1OEE1NVxcdThDNzlcXHU1RURGXFx1NjNDRlxcdTc1QzVcXHU3OUQyXFx1ODJEN1xcdTkzMjhcXHU5MkYyXFx1ODQ5Q1xcdTg2RURcXHU5QzJEXFx1NTRDMVxcdTVGNkNcXHU2NThDXFx1NkQ1Q1xcdTcwMTVcXHU4Q0E3XFx1OENEM1xcdTk4M0JcXHU2NTRGXFx1NzRGNlxcdTRFMERcXHU0RUQ4XFx1NTdFMFxcdTU5MkJcXHU1QTY2XFx1NUJDQ1xcdTUxQThcXHU1RTAzXFx1NUU5Q1xcdTYwMTZcXHU2Mjc2XFx1NjU3N1xcdTY1QTdcXHU2NjZFXFx1NkQ2RVxcdTcyMzZcXHU3QjI2XFx1ODE1MFxcdTgxOUFcXHU4Mjk5XFx1OEI1Q1xcdThDQTBcXHU4Q0U2XFx1OEQ3NFxcdTk2MUNcXHU5NjQ0XFx1NEZBRVxcdTY0QUJcXHU2QjY2XFx1ODIxRVxcdTg0NjFcXHU4NTZBXFx1OTBFOFxcdTVDMDFcXHU2OTUzXFx1OThBOFxcdTg0N0FcXHU4NTU3XFx1NEYwRlxcdTUyNkZcXHU1RkE5XFx1NUU0NVxcdTY3MERcIl0sXG4gICAgICBbXCJjYWExXCIsIFwiXFx1Nzk4RlxcdTgxNzlcXHU4OTA3XFx1ODk4NlxcdTZERjVcXHU1RjE3XFx1NjI1NVxcdTZDQjhcXHU0RUNGXFx1NzI2OVxcdTlCOTJcXHU1MjA2XFx1NTQzQlxcdTU2NzRcXHU1OEIzXFx1NjFBNFxcdTYyNkVcXHU3MTFBXFx1NTk2RVxcdTdDODlcXHU3Q0RFXFx1N0QxQlxcdTk2RjBcXHU2NTg3XFx1ODA1RVxcdTRFMTlcXHU0Rjc1XFx1NTE3NVxcdTU4NDBcXHU1RTYzXFx1NUU3M1xcdTVGMEFcXHU2N0M0XFx1NEUyNlxcdTg1M0RcXHU5NTg5XFx1OTY1QlxcdTdDNzNcXHU5ODAxXFx1NTBGQlxcdTU4QzFcXHU3NjU2XFx1NzhBN1xcdTUyMjVcXHU3N0E1XFx1ODUxMVxcdTdCODZcXHU1MDRGXFx1NTkwOVxcdTcyNDdcXHU3QkM3XFx1N0RFOFxcdThGQkFcXHU4RkQ0XFx1OTA0RFxcdTRGQkZcXHU1MkM5XFx1NUEyOVxcdTVGMDFcXHU5N0FEXFx1NEZERFxcdTgyMTdcXHU5MkVBXFx1NTcwM1xcdTYzNTVcXHU2QjY5XFx1NzUyQlxcdTg4RENcXHU4RjE0XFx1N0E0MlxcdTUyREZcXHU1ODkzXFx1NjE1NVxcdTYyMEFcXHU2NkFFXFx1NkJDRFxcdTdDM0ZcXHU4M0U5XFx1NTAyM1xcdTRGRjhcXHU1MzA1XFx1NTQ0NlxcdTU4MzFcXHU1OTQ5XFx1NUI5RFxcdTVDRjBcXHU1Q0VGXFx1NUQyOVxcdTVFOTZcXHU2MkIxXFx1NjM2N1xcdTY1M0VcXHU2NUI5XFx1NjcwQlwiXSxcbiAgICAgIFtcImNiYTFcIiwgXCJcXHU2Q0Q1XFx1NkNFMVxcdTcwRjlcXHU3ODMyXFx1N0UyQlxcdTgwREVcXHU4MkIzXFx1ODQwQ1xcdTg0RUNcXHU4NzAyXFx1ODkxMlxcdThBMkFcXHU4QzRBXFx1OTBBNlxcdTkyRDJcXHU5OEZEXFx1OUNGM1xcdTlENkNcXHU0RTRGXFx1NEVBMVxcdTUwOERcXHU1MjU2XFx1NTc0QVxcdTU5QThcXHU1RTNEXFx1NUZEOFxcdTVGRDlcXHU2MjNGXFx1NjZCNFxcdTY3MUJcXHU2N0QwXFx1NjhEMlxcdTUxOTJcXHU3RDIxXFx1ODBBQVxcdTgxQThcXHU4QjAwXFx1OEM4Q1xcdThDQkZcXHU5MjdFXFx1OTYzMlxcdTU0MjBcXHU5ODJDXFx1NTMxN1xcdTUwRDVcXHU1MzVDXFx1NThBOFxcdTY0QjJcXHU2NzM0XFx1NzI2N1xcdTc3NjZcXHU3QTQ2XFx1OTFFNlxcdTUyQzNcXHU2Q0ExXFx1NkI4NlxcdTU4MDBcXHU1RTRDXFx1NTk1NFxcdTY3MkNcXHU3RkZCXFx1NTFFMVxcdTc2QzZcXHU2NDY5XFx1NzhFOFxcdTlCNTRcXHU5RUJCXFx1NTdDQlxcdTU5QjlcXHU2NjI3XFx1Njc5QVxcdTZCQ0VcXHU1NEU5XFx1NjlEOVxcdTVFNTVcXHU4MTlDXFx1Njc5NVxcdTlCQUFcXHU2N0ZFXFx1OUM1MlxcdTY4NURcXHU0RUE2XFx1NEZFM1xcdTUzQzhcXHU2MkI5XFx1NjcyQlxcdTZDQUJcXHU4RkM0XFx1NEZBRFxcdTdFNkRcXHU5RUJGXFx1NEUwN1xcdTYxNjJcXHU2RTgwXCJdLFxuICAgICAgW1wiY2NhMVwiLCBcIlxcdTZGMkJcXHU4NTEzXFx1NTQ3M1xcdTY3MkFcXHU5QjQ1XFx1NURGM1xcdTdCOTVcXHU1Q0FDXFx1NUJDNlxcdTg3MUNcXHU2RTRBXFx1ODREMVxcdTdBMTRcXHU4MTA4XFx1NTk5OVxcdTdDOERcXHU2QzExXFx1NzcyMFxcdTUyRDlcXHU1OTIyXFx1NzEyMVxcdTcyNUZcXHU3N0RCXFx1OTcyN1xcdTlENjFcXHU2OTBCXFx1NUE3RlxcdTVBMThcXHU1MUE1XFx1NTQwRFxcdTU0N0RcXHU2NjBFXFx1NzZERlxcdThGRjdcXHU5Mjk4XFx1OUNGNFxcdTU5RUFcXHU3MjVEXFx1NkVDNVxcdTUxNERcXHU2OEM5XFx1N0RCRlxcdTdERUNcXHU5NzYyXFx1OUVCQVxcdTY0NzhcXHU2QTIxXFx1ODMwMlxcdTU5ODRcXHU1QjVGXFx1NkJEQlxcdTczMUJcXHU3NkYyXFx1N0RCMlxcdTgwMTdcXHU4NDk5XFx1NTEzMlxcdTY3MjhcXHU5RUQ5XFx1NzZFRVxcdTY3NjJcXHU1MkZGXFx1OTkwNVxcdTVDMjRcXHU2MjNCXFx1N0M3RVxcdThDQjBcXHU1NTRGXFx1NjBCNlxcdTdEMEJcXHU5NTgwXFx1NTMwMVxcdTRFNUZcXHU1MUI2XFx1NTkxQ1xcdTcyM0FcXHU4MDM2XFx1OTFDRVxcdTVGMjVcXHU3N0UyXFx1NTM4NFxcdTVGNzlcXHU3RDA0XFx1ODVBQ1xcdThBMzNcXHU4RThEXFx1OTc1NlxcdTY3RjNcXHU4NUFFXFx1OTQ1M1xcdTYxMDlcXHU2MTA4XFx1NkNCOVxcdTc2NTJcIl0sXG4gICAgICBbXCJjZGExXCIsIFwiXFx1OEFFRFxcdThGMzhcXHU1NTJGXFx1NEY1MVxcdTUxMkFcXHU1MkM3XFx1NTNDQlxcdTVCQTVcXHU1RTdEXFx1NjBBMFxcdTYxODJcXHU2M0Q2XFx1NjcwOVxcdTY3REFcXHU2RTY3XFx1NkQ4Q1xcdTczMzZcXHU3MzM3XFx1NzUzMVxcdTc5NTBcXHU4OEQ1XFx1OEE5OFxcdTkwNEFcXHU5MDkxXFx1OTBGNVxcdTk2QzRcXHU4NzhEXFx1NTkxNVxcdTRFODhcXHU0RjU5XFx1NEUwRVxcdThBODlcXHU4RjNGXFx1OTgxMFxcdTUwQURcXHU1RTdDXFx1NTk5NlxcdTVCQjlcXHU1RUI4XFx1NjNEQVxcdTYzRkFcXHU2NEMxXFx1NjZEQ1xcdTY5NEFcXHU2OUQ4XFx1NkQwQlxcdTZFQjZcXHU3MTk0XFx1NzUyOFxcdTdBQUZcXHU3RjhBXFx1ODAwMFxcdTg0NDlcXHU4NEM5XFx1ODk4MVxcdThCMjFcXHU4RTBBXFx1OTA2NVxcdTk2N0RcXHU5OTBBXFx1NjE3RVxcdTYyOTFcXHU2QjMyXFx1NkM4M1xcdTZENzRcXHU3RkNDXFx1N0ZGQ1xcdTZEQzBcXHU3Rjg1XFx1ODdCQVxcdTg4RjhcXHU2NzY1XFx1ODNCMVxcdTk4M0NcXHU5NkY3XFx1NkQxQlxcdTdENjFcXHU4NDNEXFx1OTE2QVxcdTRFNzFcXHU1Mzc1XFx1NUQ1MFxcdTZCMDRcXHU2RkVCXFx1ODVDRFxcdTg2MkRcXHU4OUE3XFx1NTIyOVxcdTU0MEZcXHU1QzY1XFx1Njc0RVxcdTY4QThcXHU3NDA2XFx1NzQ4M1wiXSxcbiAgICAgIFtcImNlYTFcIiwgXCJcXHU3NUUyXFx1ODhDRlxcdTg4RTFcXHU5MUNDXFx1OTZFMlxcdTk2NzhcXHU1RjhCXFx1NzM4N1xcdTdBQ0JcXHU4NDRFXFx1NjNBMFxcdTc1NjVcXHU1Mjg5XFx1NkQ0MVxcdTZFOUNcXHU3NDA5XFx1NzU1OVxcdTc4NkJcXHU3QzkyXFx1OTY4NlxcdTdBRENcXHU5RjhEXFx1NEZCNlxcdTYxNkVcXHU2NUM1XFx1ODY1Q1xcdTRFODZcXHU0RUFFXFx1NTBEQVxcdTRFMjFcXHU1MUNDXFx1NUJFRVxcdTY1OTlcXHU2ODgxXFx1NkRCQ1xcdTczMUZcXHU3NjQyXFx1NzdBRFxcdTdBMUNcXHU3Q0U3XFx1ODI2RlxcdThBRDJcXHU5MDdDXFx1OTFDRlxcdTk2NzVcXHU5ODE4XFx1NTI5QlxcdTdERDFcXHU1MDJCXFx1NTM5OFxcdTY3OTdcXHU2RENCXFx1NzFEMFxcdTc0MzNcXHU4MUU4XFx1OEYyQVxcdTk2QTNcXHU5QzU3XFx1OUU5RlxcdTc0NjBcXHU1ODQxXFx1NkQ5OVxcdTdEMkZcXHU5ODVFXFx1NEVFNFxcdTRGMzZcXHU0RjhCXFx1NTFCN1xcdTUyQjFcXHU1REJBXFx1NjAxQ1xcdTczQjJcXHU3OTNDXFx1ODJEM1xcdTkyMzRcXHU5NkI3XFx1OTZGNlxcdTk3MEFcXHU5RTk3XFx1OUY2MlxcdTY2QTZcXHU2Qjc0XFx1NTIxN1xcdTUyQTNcXHU3MEM4XFx1ODhDMlxcdTVFQzlcXHU2MDRCXFx1NjE5MFxcdTZGMjNcXHU3MTQ5XFx1N0MzRVxcdTdERjRcXHU4MDZGXCJdLFxuICAgICAgW1wiY2ZhMVwiLCBcIlxcdTg0RUVcXHU5MDIzXFx1OTMyQ1xcdTU0NDJcXHU5QjZGXFx1NkFEM1xcdTcwODlcXHU4Q0MyXFx1OERFRlxcdTk3MzJcXHU1MkI0XFx1NUE0MVxcdTVFQ0FcXHU1RjA0XFx1NjcxN1xcdTY5N0NcXHU2OTk0XFx1NkQ2QVxcdTZGMEZcXHU3MjYyXFx1NzJGQ1xcdTdCRURcXHU4MDAxXFx1ODA3RVxcdTg3NEJcXHU5MENFXFx1NTE2RFxcdTlFOTNcXHU3OTg0XFx1ODA4QlxcdTkzMzJcXHU4QUQ2XFx1NTAyRFxcdTU0OENcXHU4QTcxXFx1NkI2QVxcdThDQzRcXHU4MTA3XFx1NjBEMVxcdTY3QTBcXHU5REYyXFx1NEU5OVxcdTRFOThcXHU5QzEwXFx1OEE2QlxcdTg1QzFcXHU4NTY4XFx1NjkwMFxcdTZFN0VcXHU3ODk3XFx1ODE1NVwiXSxcbiAgICAgIFtcImQwYTFcIiwgXCJcXHU1RjBDXFx1NEUxMFxcdTRFMTVcXHU0RTJBXFx1NEUzMVxcdTRFMzZcXHU0RTNDXFx1NEUzRlxcdTRFNDJcXHU0RTU2XFx1NEU1OFxcdTRFODJcXHU0RTg1XFx1OEM2QlxcdTRFOEFcXHU4MjEyXFx1NUYwRFxcdTRFOEVcXHU0RTlFXFx1NEU5RlxcdTRFQTBcXHU0RUEyXFx1NEVCMFxcdTRFQjNcXHU0RUI2XFx1NEVDRVxcdTRFQ0RcXHU0RUM0XFx1NEVDNlxcdTRFQzJcXHU0RUQ3XFx1NEVERVxcdTRFRURcXHU0RURGXFx1NEVGN1xcdTRGMDlcXHU0RjVBXFx1NEYzMFxcdTRGNUJcXHU0RjVEXFx1NEY1N1xcdTRGNDdcXHU0Rjc2XFx1NEY4OFxcdTRGOEZcXHU0Rjk4XFx1NEY3QlxcdTRGNjlcXHU0RjcwXFx1NEY5MVxcdTRGNkZcXHU0Rjg2XFx1NEY5NlxcdTUxMThcXHU0RkQ0XFx1NEZERlxcdTRGQ0VcXHU0RkQ4XFx1NEZEQlxcdTRGRDFcXHU0RkRBXFx1NEZEMFxcdTRGRTRcXHU0RkU1XFx1NTAxQVxcdTUwMjhcXHU1MDE0XFx1NTAyQVxcdTUwMjVcXHU1MDA1XFx1NEYxQ1xcdTRGRjZcXHU1MDIxXFx1NTAyOVxcdTUwMkNcXHU0RkZFXFx1NEZFRlxcdTUwMTFcXHU1MDA2XFx1NTA0M1xcdTUwNDdcXHU2NzAzXFx1NTA1NVxcdTUwNTBcXHU1MDQ4XFx1NTA1QVxcdTUwNTZcXHU1MDZDXFx1NTA3OFxcdTUwODBcXHU1MDlBXFx1NTA4NVxcdTUwQjRcXHU1MEIyXCJdLFxuICAgICAgW1wiZDFhMVwiLCBcIlxcdTUwQzlcXHU1MENBXFx1NTBCM1xcdTUwQzJcXHU1MEQ2XFx1NTBERVxcdTUwRTVcXHU1MEVEXFx1NTBFM1xcdTUwRUVcXHU1MEY5XFx1NTBGNVxcdTUxMDlcXHU1MTAxXFx1NTEwMlxcdTUxMTZcXHU1MTE1XFx1NTExNFxcdTUxMUFcXHU1MTIxXFx1NTEzQVxcdTUxMzdcXHU1MTNDXFx1NTEzQlxcdTUxM0ZcXHU1MTQwXFx1NTE1MlxcdTUxNENcXHU1MTU0XFx1NTE2MlxcdTdBRjhcXHU1MTY5XFx1NTE2QVxcdTUxNkVcXHU1MTgwXFx1NTE4MlxcdTU2RDhcXHU1MThDXFx1NTE4OVxcdTUxOEZcXHU1MTkxXFx1NTE5M1xcdTUxOTVcXHU1MTk2XFx1NTFBNFxcdTUxQTZcXHU1MUEyXFx1NTFBOVxcdTUxQUFcXHU1MUFCXFx1NTFCM1xcdTUxQjFcXHU1MUIyXFx1NTFCMFxcdTUxQjVcXHU1MUJEXFx1NTFDNVxcdTUxQzlcXHU1MURCXFx1NTFFMFxcdTg2NTVcXHU1MUU5XFx1NTFFRFxcdTUxRjBcXHU1MUY1XFx1NTFGRVxcdTUyMDRcXHU1MjBCXFx1NTIxNFxcdTUyMEVcXHU1MjI3XFx1NTIyQVxcdTUyMkVcXHU1MjMzXFx1NTIzOVxcdTUyNEZcXHU1MjQ0XFx1NTI0QlxcdTUyNENcXHU1MjVFXFx1NTI1NFxcdTUyNkFcXHU1Mjc0XFx1NTI2OVxcdTUyNzNcXHU1MjdGXFx1NTI3RFxcdTUyOERcXHU1Mjk0XFx1NTI5MlxcdTUyNzFcXHU1Mjg4XFx1NTI5MVxcdThGQThcIl0sXG4gICAgICBbXCJkMmExXCIsIFwiXFx1OEZBN1xcdTUyQUNcXHU1MkFEXFx1NTJCQ1xcdTUyQjVcXHU1MkMxXFx1NTJDRFxcdTUyRDdcXHU1MkRFXFx1NTJFM1xcdTUyRTZcXHU5OEVEXFx1NTJFMFxcdTUyRjNcXHU1MkY1XFx1NTJGOFxcdTUyRjlcXHU1MzA2XFx1NTMwOFxcdTc1MzhcXHU1MzBEXFx1NTMxMFxcdTUzMEZcXHU1MzE1XFx1NTMxQVxcdTUzMjNcXHU1MzJGXFx1NTMzMVxcdTUzMzNcXHU1MzM4XFx1NTM0MFxcdTUzNDZcXHU1MzQ1XFx1NEUxN1xcdTUzNDlcXHU1MzREXFx1NTFENlxcdTUzNUVcXHU1MzY5XFx1NTM2RVxcdTU5MThcXHU1MzdCXFx1NTM3N1xcdTUzODJcXHU1Mzk2XFx1NTNBMFxcdTUzQTZcXHU1M0E1XFx1NTNBRVxcdTUzQjBcXHU1M0I2XFx1NTNDM1xcdTdDMTJcXHU5NkQ5XFx1NTNERlxcdTY2RkNcXHU3MUVFXFx1NTNFRVxcdTUzRThcXHU1M0VEXFx1NTNGQVxcdTU0MDFcXHU1NDNEXFx1NTQ0MFxcdTU0MkNcXHU1NDJEXFx1NTQzQ1xcdTU0MkVcXHU1NDM2XFx1NTQyOVxcdTU0MURcXHU1NDRFXFx1NTQ4RlxcdTU0NzVcXHU1NDhFXFx1NTQ1RlxcdTU0NzFcXHU1NDc3XFx1NTQ3MFxcdTU0OTJcXHU1NDdCXFx1NTQ4MFxcdTU0NzZcXHU1NDg0XFx1NTQ5MFxcdTU0ODZcXHU1NEM3XFx1NTRBMlxcdTU0QjhcXHU1NEE1XFx1NTRBQ1xcdTU0QzRcXHU1NEM4XFx1NTRBOFwiXSxcbiAgICAgIFtcImQzYTFcIiwgXCJcXHU1NEFCXFx1NTRDMlxcdTU0QTRcXHU1NEJFXFx1NTRCQ1xcdTU0RDhcXHU1NEU1XFx1NTRFNlxcdTU1MEZcXHU1NTE0XFx1NTRGRFxcdTU0RUVcXHU1NEVEXFx1NTRGQVxcdTU0RTJcXHU1NTM5XFx1NTU0MFxcdTU1NjNcXHU1NTRDXFx1NTUyRVxcdTU1NUNcXHU1NTQ1XFx1NTU1NlxcdTU1NTdcXHU1NTM4XFx1NTUzM1xcdTU1NURcXHU1NTk5XFx1NTU4MFxcdTU0QUZcXHU1NThBXFx1NTU5RlxcdTU1N0JcXHU1NTdFXFx1NTU5OFxcdTU1OUVcXHU1NUFFXFx1NTU3Q1xcdTU1ODNcXHU1NUE5XFx1NTU4N1xcdTU1QThcXHU1NURBXFx1NTVDNVxcdTU1REZcXHU1NUM0XFx1NTVEQ1xcdTU1RTRcXHU1NUQ0XFx1NTYxNFxcdTU1RjdcXHU1NjE2XFx1NTVGRVxcdTU1RkRcXHU1NjFCXFx1NTVGOVxcdTU2NEVcXHU1NjUwXFx1NzFERlxcdTU2MzRcXHU1NjM2XFx1NTYzMlxcdTU2MzhcXHU1NjZCXFx1NTY2NFxcdTU2MkZcXHU1NjZDXFx1NTY2QVxcdTU2ODZcXHU1NjgwXFx1NTY4QVxcdTU2QTBcXHU1Njk0XFx1NTY4RlxcdTU2QTVcXHU1NkFFXFx1NTZCNlxcdTU2QjRcXHU1NkMyXFx1NTZCQ1xcdTU2QzFcXHU1NkMzXFx1NTZDMFxcdTU2QzhcXHU1NkNFXFx1NTZEMVxcdTU2RDNcXHU1NkQ3XFx1NTZFRVxcdTU2RjlcXHU1NzAwXFx1NTZGRlxcdTU3MDRcXHU1NzA5XCJdLFxuICAgICAgW1wiZDRhMVwiLCBcIlxcdTU3MDhcXHU1NzBCXFx1NTcwRFxcdTU3MTNcXHU1NzE4XFx1NTcxNlxcdTU1QzdcXHU1NzFDXFx1NTcyNlxcdTU3MzdcXHU1NzM4XFx1NTc0RVxcdTU3M0JcXHU1NzQwXFx1NTc0RlxcdTU3NjlcXHU1N0MwXFx1NTc4OFxcdTU3NjFcXHU1NzdGXFx1NTc4OVxcdTU3OTNcXHU1N0EwXFx1NTdCM1xcdTU3QTRcXHU1N0FBXFx1NTdCMFxcdTU3QzNcXHU1N0M2XFx1NTdENFxcdTU3RDJcXHU1N0QzXFx1NTgwQVxcdTU3RDZcXHU1N0UzXFx1NTgwQlxcdTU4MTlcXHU1ODFEXFx1NTg3MlxcdTU4MjFcXHU1ODYyXFx1NTg0QlxcdTU4NzBcXHU2QkMwXFx1NTg1MlxcdTU4M0RcXHU1ODc5XFx1NTg4NVxcdTU4QjlcXHU1ODlGXFx1NThBQlxcdTU4QkFcXHU1OERFXFx1NThCQlxcdTU4QjhcXHU1OEFFXFx1NThDNVxcdTU4RDNcXHU1OEQxXFx1NThEN1xcdTU4RDlcXHU1OEQ4XFx1NThFNVxcdTU4RENcXHU1OEU0XFx1NThERlxcdTU4RUZcXHU1OEZBXFx1NThGOVxcdTU4RkJcXHU1OEZDXFx1NThGRFxcdTU5MDJcXHU1OTBBXFx1NTkxMFxcdTU5MUJcXHU2OEE2XFx1NTkyNVxcdTU5MkNcXHU1OTJEXFx1NTkzMlxcdTU5MzhcXHU1OTNFXFx1N0FEMlxcdTU5NTVcXHU1OTUwXFx1NTk0RVxcdTU5NUFcXHU1OTU4XFx1NTk2MlxcdTU5NjBcXHU1OTY3XFx1NTk2Q1xcdTU5NjlcIl0sXG4gICAgICBbXCJkNWExXCIsIFwiXFx1NTk3OFxcdTU5ODFcXHU1OTlEXFx1NEY1RVxcdTRGQUJcXHU1OUEzXFx1NTlCMlxcdTU5QzZcXHU1OUU4XFx1NTlEQ1xcdTU5OERcXHU1OUQ5XFx1NTlEQVxcdTVBMjVcXHU1QTFGXFx1NUExMVxcdTVBMUNcXHU1QTA5XFx1NUExQVxcdTVBNDBcXHU1QTZDXFx1NUE0OVxcdTVBMzVcXHU1QTM2XFx1NUE2MlxcdTVBNkFcXHU1QTlBXFx1NUFCQ1xcdTVBQkVcXHU1QUNCXFx1NUFDMlxcdTVBQkRcXHU1QUUzXFx1NUFEN1xcdTVBRTZcXHU1QUU5XFx1NUFENlxcdTVBRkFcXHU1QUZCXFx1NUIwQ1xcdTVCMEJcXHU1QjE2XFx1NUIzMlxcdTVBRDBcXHU1QjJBXFx1NUIzNlxcdTVCM0VcXHU1QjQzXFx1NUI0NVxcdTVCNDBcXHU1QjUxXFx1NUI1NVxcdTVCNUFcXHU1QjVCXFx1NUI2NVxcdTVCNjlcXHU1QjcwXFx1NUI3M1xcdTVCNzVcXHU1Qjc4XFx1NjU4OFxcdTVCN0FcXHU1QjgwXFx1NUI4M1xcdTVCQTZcXHU1QkI4XFx1NUJDM1xcdTVCQzdcXHU1QkM5XFx1NUJENFxcdTVCRDBcXHU1QkU0XFx1NUJFNlxcdTVCRTJcXHU1QkRFXFx1NUJFNVxcdTVCRUJcXHU1QkYwXFx1NUJGNlxcdTVCRjNcXHU1QzA1XFx1NUMwN1xcdTVDMDhcXHU1QzBEXFx1NUMxM1xcdTVDMjBcXHU1QzIyXFx1NUMyOFxcdTVDMzhcXHU1QzM5XFx1NUM0MVxcdTVDNDZcXHU1QzRFXFx1NUM1M1wiXSxcbiAgICAgIFtcImQ2YTFcIiwgXCJcXHU1QzUwXFx1NUM0RlxcdTVCNzFcXHU1QzZDXFx1NUM2RVxcdTRFNjJcXHU1Qzc2XFx1NUM3OVxcdTVDOENcXHU1QzkxXFx1NUM5NFxcdTU5OUJcXHU1Q0FCXFx1NUNCQlxcdTVDQjZcXHU1Q0JDXFx1NUNCN1xcdTVDQzVcXHU1Q0JFXFx1NUNDN1xcdTVDRDlcXHU1Q0U5XFx1NUNGRFxcdTVDRkFcXHU1Q0VEXFx1NUQ4Q1xcdTVDRUFcXHU1RDBCXFx1NUQxNVxcdTVEMTdcXHU1RDVDXFx1NUQxRlxcdTVEMUJcXHU1RDExXFx1NUQxNFxcdTVEMjJcXHU1RDFBXFx1NUQxOVxcdTVEMThcXHU1RDRDXFx1NUQ1MlxcdTVENEVcXHU1RDRCXFx1NUQ2Q1xcdTVENzNcXHU1RDc2XFx1NUQ4N1xcdTVEODRcXHU1RDgyXFx1NURBMlxcdTVEOURcXHU1REFDXFx1NURBRVxcdTVEQkRcXHU1RDkwXFx1NURCN1xcdTVEQkNcXHU1REM5XFx1NURDRFxcdTVERDNcXHU1REQyXFx1NURENlxcdTVEREJcXHU1REVCXFx1NURGMlxcdTVERjVcXHU1RTBCXFx1NUUxQVxcdTVFMTlcXHU1RTExXFx1NUUxQlxcdTVFMzZcXHU1RTM3XFx1NUU0NFxcdTVFNDNcXHU1RTQwXFx1NUU0RVxcdTVFNTdcXHU1RTU0XFx1NUU1RlxcdTVFNjJcXHU1RTY0XFx1NUU0N1xcdTVFNzVcXHU1RTc2XFx1NUU3QVxcdTlFQkNcXHU1RTdGXFx1NUVBMFxcdTVFQzFcXHU1RUMyXFx1NUVDOFxcdTVFRDBcXHU1RUNGXCJdLFxuICAgICAgW1wiZDdhMVwiLCBcIlxcdTVFRDZcXHU1RUUzXFx1NUVERFxcdTVFREFcXHU1RURCXFx1NUVFMlxcdTVFRTFcXHU1RUU4XFx1NUVFOVxcdTVFRUNcXHU1RUYxXFx1NUVGM1xcdTVFRjBcXHU1RUY0XFx1NUVGOFxcdTVFRkVcXHU1RjAzXFx1NUYwOVxcdTVGNURcXHU1RjVDXFx1NUYwQlxcdTVGMTFcXHU1RjE2XFx1NUYyOVxcdTVGMkRcXHU1RjM4XFx1NUY0MVxcdTVGNDhcXHU1RjRDXFx1NUY0RVxcdTVGMkZcXHU1RjUxXFx1NUY1NlxcdTVGNTdcXHU1RjU5XFx1NUY2MVxcdTVGNkRcXHU1RjczXFx1NUY3N1xcdTVGODNcXHU1RjgyXFx1NUY3RlxcdTVGOEFcXHU1Rjg4XFx1NUY5MVxcdTVGODdcXHU1RjlFXFx1NUY5OVxcdTVGOThcXHU1RkEwXFx1NUZBOFxcdTVGQURcXHU1RkJDXFx1NUZENlxcdTVGRkJcXHU1RkU0XFx1NUZGOFxcdTVGRjFcXHU1RkREXFx1NjBCM1xcdTVGRkZcXHU2MDIxXFx1NjA2MFxcdTYwMTlcXHU2MDEwXFx1NjAyOVxcdTYwMEVcXHU2MDMxXFx1NjAxQlxcdTYwMTVcXHU2MDJCXFx1NjAyNlxcdTYwMEZcXHU2MDNBXFx1NjA1QVxcdTYwNDFcXHU2MDZBXFx1NjA3N1xcdTYwNUZcXHU2MDRBXFx1NjA0NlxcdTYwNERcXHU2MDYzXFx1NjA0M1xcdTYwNjRcXHU2MDQyXFx1NjA2Q1xcdTYwNkJcXHU2MDU5XFx1NjA4MVxcdTYwOERcXHU2MEU3XFx1NjA4M1xcdTYwOUFcIl0sXG4gICAgICBbXCJkOGExXCIsIFwiXFx1NjA4NFxcdTYwOUJcXHU2MDk2XFx1NjA5N1xcdTYwOTJcXHU2MEE3XFx1NjA4QlxcdTYwRTFcXHU2MEI4XFx1NjBFMFxcdTYwRDNcXHU2MEI0XFx1NUZGMFxcdTYwQkRcXHU2MEM2XFx1NjBCNVxcdTYwRDhcXHU2MTREXFx1NjExNVxcdTYxMDZcXHU2MEY2XFx1NjBGN1xcdTYxMDBcXHU2MEY0XFx1NjBGQVxcdTYxMDNcXHU2MTIxXFx1NjBGQlxcdTYwRjFcXHU2MTBEXFx1NjEwRVxcdTYxNDdcXHU2MTNFXFx1NjEyOFxcdTYxMjdcXHU2MTRBXFx1NjEzRlxcdTYxM0NcXHU2MTJDXFx1NjEzNFxcdTYxM0RcXHU2MTQyXFx1NjE0NFxcdTYxNzNcXHU2MTc3XFx1NjE1OFxcdTYxNTlcXHU2MTVBXFx1NjE2QlxcdTYxNzRcXHU2MTZGXFx1NjE2NVxcdTYxNzFcXHU2MTVGXFx1NjE1RFxcdTYxNTNcXHU2MTc1XFx1NjE5OVxcdTYxOTZcXHU2MTg3XFx1NjFBQ1xcdTYxOTRcXHU2MTlBXFx1NjE4QVxcdTYxOTFcXHU2MUFCXFx1NjFBRVxcdTYxQ0NcXHU2MUNBXFx1NjFDOVxcdTYxRjdcXHU2MUM4XFx1NjFDM1xcdTYxQzZcXHU2MUJBXFx1NjFDQlxcdTdGNzlcXHU2MUNEXFx1NjFFNlxcdTYxRTNcXHU2MUY2XFx1NjFGQVxcdTYxRjRcXHU2MUZGXFx1NjFGRFxcdTYxRkNcXHU2MUZFXFx1NjIwMFxcdTYyMDhcXHU2MjA5XFx1NjIwRFxcdTYyMENcXHU2MjE0XFx1NjIxQlwiXSxcbiAgICAgIFtcImQ5YTFcIiwgXCJcXHU2MjFFXFx1NjIyMVxcdTYyMkFcXHU2MjJFXFx1NjIzMFxcdTYyMzJcXHU2MjMzXFx1NjI0MVxcdTYyNEVcXHU2MjVFXFx1NjI2M1xcdTYyNUJcXHU2MjYwXFx1NjI2OFxcdTYyN0NcXHU2MjgyXFx1NjI4OVxcdTYyN0VcXHU2MjkyXFx1NjI5M1xcdTYyOTZcXHU2MkQ0XFx1NjI4M1xcdTYyOTRcXHU2MkQ3XFx1NjJEMVxcdTYyQkJcXHU2MkNGXFx1NjJGRlxcdTYyQzZcXHU2NEQ0XFx1NjJDOFxcdTYyRENcXHU2MkNDXFx1NjJDQVxcdTYyQzJcXHU2MkM3XFx1NjI5QlxcdTYyQzlcXHU2MzBDXFx1NjJFRVxcdTYyRjFcXHU2MzI3XFx1NjMwMlxcdTYzMDhcXHU2MkVGXFx1NjJGNVxcdTYzNTBcXHU2MzNFXFx1NjM0RFxcdTY0MUNcXHU2MzRGXFx1NjM5NlxcdTYzOEVcXHU2MzgwXFx1NjNBQlxcdTYzNzZcXHU2M0EzXFx1NjM4RlxcdTYzODlcXHU2MzlGXFx1NjNCNVxcdTYzNkJcXHU2MzY5XFx1NjNCRVxcdTYzRTlcXHU2M0MwXFx1NjNDNlxcdTYzRTNcXHU2M0M5XFx1NjNEMlxcdTYzRjZcXHU2M0M0XFx1NjQxNlxcdTY0MzRcXHU2NDA2XFx1NjQxM1xcdTY0MjZcXHU2NDM2XFx1NjUxRFxcdTY0MTdcXHU2NDI4XFx1NjQwRlxcdTY0NjdcXHU2NDZGXFx1NjQ3NlxcdTY0NEVcXHU2NTJBXFx1NjQ5NVxcdTY0OTNcXHU2NEE1XFx1NjRBOVxcdTY0ODhcXHU2NEJDXCJdLFxuICAgICAgW1wiZGFhMVwiLCBcIlxcdTY0REFcXHU2NEQyXFx1NjRDNVxcdTY0QzdcXHU2NEJCXFx1NjREOFxcdTY0QzJcXHU2NEYxXFx1NjRFN1xcdTgyMDlcXHU2NEUwXFx1NjRFMVxcdTYyQUNcXHU2NEUzXFx1NjRFRlxcdTY1MkNcXHU2NEY2XFx1NjRGNFxcdTY0RjJcXHU2NEZBXFx1NjUwMFxcdTY0RkRcXHU2NTE4XFx1NjUxQ1xcdTY1MDVcXHU2NTI0XFx1NjUyM1xcdTY1MkJcXHU2NTM0XFx1NjUzNVxcdTY1MzdcXHU2NTM2XFx1NjUzOFxcdTc1NEJcXHU2NTQ4XFx1NjU1NlxcdTY1NTVcXHU2NTREXFx1NjU1OFxcdTY1NUVcXHU2NTVEXFx1NjU3MlxcdTY1NzhcXHU2NTgyXFx1NjU4M1xcdThCOEFcXHU2NTlCXFx1NjU5RlxcdTY1QUJcXHU2NUI3XFx1NjVDM1xcdTY1QzZcXHU2NUMxXFx1NjVDNFxcdTY1Q0NcXHU2NUQyXFx1NjVEQlxcdTY1RDlcXHU2NUUwXFx1NjVFMVxcdTY1RjFcXHU2NzcyXFx1NjYwQVxcdTY2MDNcXHU2NUZCXFx1Njc3M1xcdTY2MzVcXHU2NjM2XFx1NjYzNFxcdTY2MUNcXHU2NjRGXFx1NjY0NFxcdTY2NDlcXHU2NjQxXFx1NjY1RVxcdTY2NURcXHU2NjY0XFx1NjY2N1xcdTY2NjhcXHU2NjVGXFx1NjY2MlxcdTY2NzBcXHU2NjgzXFx1NjY4OFxcdTY2OEVcXHU2Njg5XFx1NjY4NFxcdTY2OThcXHU2NjlEXFx1NjZDMVxcdTY2QjlcXHU2NkM5XFx1NjZCRVxcdTY2QkNcIl0sXG4gICAgICBbXCJkYmExXCIsIFwiXFx1NjZDNFxcdTY2QjhcXHU2NkQ2XFx1NjZEQVxcdTY2RTBcXHU2NjNGXFx1NjZFNlxcdTY2RTlcXHU2NkYwXFx1NjZGNVxcdTY2RjdcXHU2NzBGXFx1NjcxNlxcdTY3MUVcXHU2NzI2XFx1NjcyN1xcdTk3MzhcXHU2NzJFXFx1NjczRlxcdTY3MzZcXHU2NzQxXFx1NjczOFxcdTY3MzdcXHU2NzQ2XFx1Njc1RVxcdTY3NjBcXHU2NzU5XFx1Njc2M1xcdTY3NjRcXHU2Nzg5XFx1Njc3MFxcdTY3QTlcXHU2NzdDXFx1Njc2QVxcdTY3OENcXHU2NzhCXFx1NjdBNlxcdTY3QTFcXHU2Nzg1XFx1NjdCN1xcdTY3RUZcXHU2N0I0XFx1NjdFQ1xcdTY3QjNcXHU2N0U5XFx1NjdCOFxcdTY3RTRcXHU2N0RFXFx1NjdERFxcdTY3RTJcXHU2N0VFXFx1NjdCOVxcdTY3Q0VcXHU2N0M2XFx1NjdFN1xcdTZBOUNcXHU2ODFFXFx1Njg0NlxcdTY4MjlcXHU2ODQwXFx1Njg0RFxcdTY4MzJcXHU2ODRFXFx1NjhCM1xcdTY4MkJcXHU2ODU5XFx1Njg2M1xcdTY4NzdcXHU2ODdGXFx1Njg5RlxcdTY4OEZcXHU2OEFEXFx1Njg5NFxcdTY4OURcXHU2ODlCXFx1Njg4M1xcdTZBQUVcXHU2OEI5XFx1Njg3NFxcdTY4QjVcXHU2OEEwXFx1NjhCQVxcdTY5MEZcXHU2ODhEXFx1Njg3RVxcdTY5MDFcXHU2OENBXFx1NjkwOFxcdTY4RDhcXHU2OTIyXFx1NjkyNlxcdTY4RTFcXHU2OTBDXFx1NjhDRFwiXSxcbiAgICAgIFtcImRjYTFcIiwgXCJcXHU2OEQ0XFx1NjhFN1xcdTY4RDVcXHU2OTM2XFx1NjkxMlxcdTY5MDRcXHU2OEQ3XFx1NjhFM1xcdTY5MjVcXHU2OEY5XFx1NjhFMFxcdTY4RUZcXHU2OTI4XFx1NjkyQVxcdTY5MUFcXHU2OTIzXFx1NjkyMVxcdTY4QzZcXHU2OTc5XFx1Njk3N1xcdTY5NUNcXHU2OTc4XFx1Njk2QlxcdTY5NTRcXHU2OTdFXFx1Njk2RVxcdTY5MzlcXHU2OTc0XFx1NjkzRFxcdTY5NTlcXHU2OTMwXFx1Njk2MVxcdTY5NUVcXHU2OTVEXFx1Njk4MVxcdTY5NkFcXHU2OUIyXFx1NjlBRVxcdTY5RDBcXHU2OUJGXFx1NjlDMVxcdTY5RDNcXHU2OUJFXFx1NjlDRVxcdTVCRThcXHU2OUNBXFx1NjlERFxcdTY5QkJcXHU2OUMzXFx1NjlBN1xcdTZBMkVcXHU2OTkxXFx1NjlBMFxcdTY5OUNcXHU2OTk1XFx1NjlCNFxcdTY5REVcXHU2OUU4XFx1NkEwMlxcdTZBMUJcXHU2OUZGXFx1NkIwQVxcdTY5RjlcXHU2OUYyXFx1NjlFN1xcdTZBMDVcXHU2OUIxXFx1NkExRVxcdTY5RURcXHU2QTE0XFx1NjlFQlxcdTZBMEFcXHU2QTEyXFx1NkFDMVxcdTZBMjNcXHU2QTEzXFx1NkE0NFxcdTZBMENcXHU2QTcyXFx1NkEzNlxcdTZBNzhcXHU2QTQ3XFx1NkE2MlxcdTZBNTlcXHU2QTY2XFx1NkE0OFxcdTZBMzhcXHU2QTIyXFx1NkE5MFxcdTZBOERcXHU2QUEwXFx1NkE4NFxcdTZBQTJcXHU2QUEzXCJdLFxuICAgICAgW1wiZGRhMVwiLCBcIlxcdTZBOTdcXHU4NjE3XFx1NkFCQlxcdTZBQzNcXHU2QUMyXFx1NkFCOFxcdTZBQjNcXHU2QUFDXFx1NkFERVxcdTZBRDFcXHU2QURGXFx1NkFBQVxcdTZBREFcXHU2QUVBXFx1NkFGQlxcdTZCMDVcXHU4NjE2XFx1NkFGQVxcdTZCMTJcXHU2QjE2XFx1OUIzMVxcdTZCMUZcXHU2QjM4XFx1NkIzN1xcdTc2RENcXHU2QjM5XFx1OThFRVxcdTZCNDdcXHU2QjQzXFx1NkI0OVxcdTZCNTBcXHU2QjU5XFx1NkI1NFxcdTZCNUJcXHU2QjVGXFx1NkI2MVxcdTZCNzhcXHU2Qjc5XFx1NkI3RlxcdTZCODBcXHU2Qjg0XFx1NkI4M1xcdTZCOERcXHU2Qjk4XFx1NkI5NVxcdTZCOUVcXHU2QkE0XFx1NkJBQVxcdTZCQUJcXHU2QkFGXFx1NkJCMlxcdTZCQjFcXHU2QkIzXFx1NkJCN1xcdTZCQkNcXHU2QkM2XFx1NkJDQlxcdTZCRDNcXHU2QkRGXFx1NkJFQ1xcdTZCRUJcXHU2QkYzXFx1NkJFRlxcdTlFQkVcXHU2QzA4XFx1NkMxM1xcdTZDMTRcXHU2QzFCXFx1NkMyNFxcdTZDMjNcXHU2QzVFXFx1NkM1NVxcdTZDNjJcXHU2QzZBXFx1NkM4MlxcdTZDOERcXHU2QzlBXFx1NkM4MVxcdTZDOUJcXHU2QzdFXFx1NkM2OFxcdTZDNzNcXHU2QzkyXFx1NkM5MFxcdTZDQzRcXHU2Q0YxXFx1NkNEM1xcdTZDQkRcXHU2Q0Q3XFx1NkNDNVxcdTZDRERcXHU2Q0FFXFx1NkNCMVxcdTZDQkVcIl0sXG4gICAgICBbXCJkZWExXCIsIFwiXFx1NkNCQVxcdTZDREJcXHU2Q0VGXFx1NkNEOVxcdTZDRUFcXHU2RDFGXFx1ODg0RFxcdTZEMzZcXHU2RDJCXFx1NkQzRFxcdTZEMzhcXHU2RDE5XFx1NkQzNVxcdTZEMzNcXHU2RDEyXFx1NkQwQ1xcdTZENjNcXHU2RDkzXFx1NkQ2NFxcdTZENUFcXHU2RDc5XFx1NkQ1OVxcdTZEOEVcXHU2RDk1XFx1NkZFNFxcdTZEODVcXHU2REY5XFx1NkUxNVxcdTZFMEFcXHU2REI1XFx1NkRDN1xcdTZERTZcXHU2REI4XFx1NkRDNlxcdTZERUNcXHU2RERFXFx1NkRDQ1xcdTZERThcXHU2REQyXFx1NkRDNVxcdTZERkFcXHU2REQ5XFx1NkRFNFxcdTZERDVcXHU2REVBXFx1NkRFRVxcdTZFMkRcXHU2RTZFXFx1NkUyRVxcdTZFMTlcXHU2RTcyXFx1NkU1RlxcdTZFM0VcXHU2RTIzXFx1NkU2QlxcdTZFMkJcXHU2RTc2XFx1NkU0RFxcdTZFMUZcXHU2RTQzXFx1NkUzQVxcdTZFNEVcXHU2RTI0XFx1NkVGRlxcdTZFMURcXHU2RTM4XFx1NkU4MlxcdTZFQUFcXHU2RTk4XFx1NkVDOVxcdTZFQjdcXHU2RUQzXFx1NkVCRFxcdTZFQUZcXHU2RUM0XFx1NkVCMlxcdTZFRDRcXHU2RUQ1XFx1NkU4RlxcdTZFQTVcXHU2RUMyXFx1NkU5RlxcdTZGNDFcXHU2RjExXFx1NzA0Q1xcdTZFRUNcXHU2RUY4XFx1NkVGRVxcdTZGM0ZcXHU2RUYyXFx1NkYzMVxcdTZFRUZcXHU2RjMyXFx1NkVDQ1wiXSxcbiAgICAgIFtcImRmYTFcIiwgXCJcXHU2RjNFXFx1NkYxM1xcdTZFRjdcXHU2Rjg2XFx1NkY3QVxcdTZGNzhcXHU2RjgxXFx1NkY4MFxcdTZGNkZcXHU2RjVCXFx1NkZGM1xcdTZGNkRcXHU2RjgyXFx1NkY3Q1xcdTZGNThcXHU2RjhFXFx1NkY5MVxcdTZGQzJcXHU2RjY2XFx1NkZCM1xcdTZGQTNcXHU2RkExXFx1NkZBNFxcdTZGQjlcXHU2RkM2XFx1NkZBQVxcdTZGREZcXHU2RkQ1XFx1NkZFQ1xcdTZGRDRcXHU2RkQ4XFx1NkZGMVxcdTZGRUVcXHU2RkRCXFx1NzAwOVxcdTcwMEJcXHU2RkZBXFx1NzAxMVxcdTcwMDFcXHU3MDBGXFx1NkZGRVxcdTcwMUJcXHU3MDFBXFx1NkY3NFxcdTcwMURcXHU3MDE4XFx1NzAxRlxcdTcwMzBcXHU3MDNFXFx1NzAzMlxcdTcwNTFcXHU3MDYzXFx1NzA5OVxcdTcwOTJcXHU3MEFGXFx1NzBGMVxcdTcwQUNcXHU3MEI4XFx1NzBCM1xcdTcwQUVcXHU3MERGXFx1NzBDQlxcdTcwRERcXHU3MEQ5XFx1NzEwOVxcdTcwRkRcXHU3MTFDXFx1NzExOVxcdTcxNjVcXHU3MTU1XFx1NzE4OFxcdTcxNjZcXHU3MTYyXFx1NzE0Q1xcdTcxNTZcXHU3MTZDXFx1NzE4RlxcdTcxRkJcXHU3MTg0XFx1NzE5NVxcdTcxQThcXHU3MUFDXFx1NzFEN1xcdTcxQjlcXHU3MUJFXFx1NzFEMlxcdTcxQzlcXHU3MUQ0XFx1NzFDRVxcdTcxRTBcXHU3MUVDXFx1NzFFN1xcdTcxRjVcXHU3MUZDXCJdLFxuICAgICAgW1wiZTBhMVwiLCBcIlxcdTcxRjlcXHU3MUZGXFx1NzIwRFxcdTcyMTBcXHU3MjFCXFx1NzIyOFxcdTcyMkRcXHU3MjJDXFx1NzIzMFxcdTcyMzJcXHU3MjNCXFx1NzIzQ1xcdTcyM0ZcXHU3MjQwXFx1NzI0NlxcdTcyNEJcXHU3MjU4XFx1NzI3NFxcdTcyN0VcXHU3MjgyXFx1NzI4MVxcdTcyODdcXHU3MjkyXFx1NzI5NlxcdTcyQTJcXHU3MkE3XFx1NzJCOVxcdTcyQjJcXHU3MkMzXFx1NzJDNlxcdTcyQzRcXHU3MkNFXFx1NzJEMlxcdTcyRTJcXHU3MkUwXFx1NzJFMVxcdTcyRjlcXHU3MkY3XFx1NTAwRlxcdTczMTdcXHU3MzBBXFx1NzMxQ1xcdTczMTZcXHU3MzFEXFx1NzMzNFxcdTczMkZcXHU3MzI5XFx1NzMyNVxcdTczM0VcXHU3MzRFXFx1NzM0RlxcdTlFRDhcXHU3MzU3XFx1NzM2QVxcdTczNjhcXHU3MzcwXFx1NzM3OFxcdTczNzVcXHU3MzdCXFx1NzM3QVxcdTczQzhcXHU3M0IzXFx1NzNDRVxcdTczQkJcXHU3M0MwXFx1NzNFNVxcdTczRUVcXHU3M0RFXFx1NzRBMlxcdTc0MDVcXHU3NDZGXFx1NzQyNVxcdTczRjhcXHU3NDMyXFx1NzQzQVxcdTc0NTVcXHU3NDNGXFx1NzQ1RlxcdTc0NTlcXHU3NDQxXFx1NzQ1Q1xcdTc0NjlcXHU3NDcwXFx1NzQ2M1xcdTc0NkFcXHU3NDc2XFx1NzQ3RVxcdTc0OEJcXHU3NDlFXFx1NzRBN1xcdTc0Q0FcXHU3NENGXFx1NzRENFxcdTczRjFcIl0sXG4gICAgICBbXCJlMWExXCIsIFwiXFx1NzRFMFxcdTc0RTNcXHU3NEU3XFx1NzRFOVxcdTc0RUVcXHU3NEYyXFx1NzRGMFxcdTc0RjFcXHU3NEY4XFx1NzRGN1xcdTc1MDRcXHU3NTAzXFx1NzUwNVxcdTc1MENcXHU3NTBFXFx1NzUwRFxcdTc1MTVcXHU3NTEzXFx1NzUxRVxcdTc1MjZcXHU3NTJDXFx1NzUzQ1xcdTc1NDRcXHU3NTREXFx1NzU0QVxcdTc1NDlcXHU3NTVCXFx1NzU0NlxcdTc1NUFcXHU3NTY5XFx1NzU2NFxcdTc1NjdcXHU3NTZCXFx1NzU2RFxcdTc1NzhcXHU3NTc2XFx1NzU4NlxcdTc1ODdcXHU3NTc0XFx1NzU4QVxcdTc1ODlcXHU3NTgyXFx1NzU5NFxcdTc1OUFcXHU3NTlEXFx1NzVBNVxcdTc1QTNcXHU3NUMyXFx1NzVCM1xcdTc1QzNcXHU3NUI1XFx1NzVCRFxcdTc1QjhcXHU3NUJDXFx1NzVCMVxcdTc1Q0RcXHU3NUNBXFx1NzVEMlxcdTc1RDlcXHU3NUUzXFx1NzVERVxcdTc1RkVcXHU3NUZGXFx1NzVGQ1xcdTc2MDFcXHU3NUYwXFx1NzVGQVxcdTc1RjJcXHU3NUYzXFx1NzYwQlxcdTc2MERcXHU3NjA5XFx1NzYxRlxcdTc2MjdcXHU3NjIwXFx1NzYyMVxcdTc2MjJcXHU3NjI0XFx1NzYzNFxcdTc2MzBcXHU3NjNCXFx1NzY0N1xcdTc2NDhcXHU3NjQ2XFx1NzY1Q1xcdTc2NThcXHU3NjYxXFx1NzY2MlxcdTc2NjhcXHU3NjY5XFx1NzY2QVxcdTc2NjdcXHU3NjZDXFx1NzY3MFwiXSxcbiAgICAgIFtcImUyYTFcIiwgXCJcXHU3NjcyXFx1NzY3NlxcdTc2NzhcXHU3NjdDXFx1NzY4MFxcdTc2ODNcXHU3Njg4XFx1NzY4QlxcdTc2OEVcXHU3Njk2XFx1NzY5M1xcdTc2OTlcXHU3NjlBXFx1NzZCMFxcdTc2QjRcXHU3NkI4XFx1NzZCOVxcdTc2QkFcXHU3NkMyXFx1NzZDRFxcdTc2RDZcXHU3NkQyXFx1NzZERVxcdTc2RTFcXHU3NkU1XFx1NzZFN1xcdTc2RUFcXHU4NjJGXFx1NzZGQlxcdTc3MDhcXHU3NzA3XFx1NzcwNFxcdTc3MjlcXHU3NzI0XFx1NzcxRVxcdTc3MjVcXHU3NzI2XFx1NzcxQlxcdTc3MzdcXHU3NzM4XFx1Nzc0N1xcdTc3NUFcXHU3NzY4XFx1Nzc2QlxcdTc3NUJcXHU3NzY1XFx1Nzc3RlxcdTc3N0VcXHU3Nzc5XFx1Nzc4RVxcdTc3OEJcXHU3NzkxXFx1NzdBMFxcdTc3OUVcXHU3N0IwXFx1NzdCNlxcdTc3QjlcXHU3N0JGXFx1NzdCQ1xcdTc3QkRcXHU3N0JCXFx1NzdDN1xcdTc3Q0RcXHU3N0Q3XFx1NzdEQVxcdTc3RENcXHU3N0UzXFx1NzdFRVxcdTc3RkNcXHU3ODBDXFx1NzgxMlxcdTc5MjZcXHU3ODIwXFx1NzkyQVxcdTc4NDVcXHU3ODhFXFx1Nzg3NFxcdTc4ODZcXHU3ODdDXFx1Nzg5QVxcdTc4OENcXHU3OEEzXFx1NzhCNVxcdTc4QUFcXHU3OEFGXFx1NzhEMVxcdTc4QzZcXHU3OENCXFx1NzhENFxcdTc4QkVcXHU3OEJDXFx1NzhDNVxcdTc4Q0FcXHU3OEVDXCJdLFxuICAgICAgW1wiZTNhMVwiLCBcIlxcdTc4RTdcXHU3OERBXFx1NzhGRFxcdTc4RjRcXHU3OTA3XFx1NzkxMlxcdTc5MTFcXHU3OTE5XFx1NzkyQ1xcdTc5MkJcXHU3OTQwXFx1Nzk2MFxcdTc5NTdcXHU3OTVGXFx1Nzk1QVxcdTc5NTVcXHU3OTUzXFx1Nzk3QVxcdTc5N0ZcXHU3OThBXFx1Nzk5RFxcdTc5QTdcXHU5RjRCXFx1NzlBQVxcdTc5QUVcXHU3OUIzXFx1NzlCOVxcdTc5QkFcXHU3OUM5XFx1NzlENVxcdTc5RTdcXHU3OUVDXFx1NzlFMVxcdTc5RTNcXHU3QTA4XFx1N0EwRFxcdTdBMThcXHU3QTE5XFx1N0EyMFxcdTdBMUZcXHU3OTgwXFx1N0EzMVxcdTdBM0JcXHU3QTNFXFx1N0EzN1xcdTdBNDNcXHU3QTU3XFx1N0E0OVxcdTdBNjFcXHU3QTYyXFx1N0E2OVxcdTlGOURcXHU3QTcwXFx1N0E3OVxcdTdBN0RcXHU3QTg4XFx1N0E5N1xcdTdBOTVcXHU3QTk4XFx1N0E5NlxcdTdBQTlcXHU3QUM4XFx1N0FCMFxcdTdBQjZcXHU3QUM1XFx1N0FDNFxcdTdBQkZcXHU5MDgzXFx1N0FDN1xcdTdBQ0FcXHU3QUNEXFx1N0FDRlxcdTdBRDVcXHU3QUQzXFx1N0FEOVxcdTdBREFcXHU3QUREXFx1N0FFMVxcdTdBRTJcXHU3QUU2XFx1N0FFRFxcdTdBRjBcXHU3QjAyXFx1N0IwRlxcdTdCMEFcXHU3QjA2XFx1N0IzM1xcdTdCMThcXHU3QjE5XFx1N0IxRVxcdTdCMzVcXHU3QjI4XFx1N0IzNlxcdTdCNTBcIl0sXG4gICAgICBbXCJlNGExXCIsIFwiXFx1N0I3QVxcdTdCMDRcXHU3QjREXFx1N0IwQlxcdTdCNENcXHU3QjQ1XFx1N0I3NVxcdTdCNjVcXHU3Qjc0XFx1N0I2N1xcdTdCNzBcXHU3QjcxXFx1N0I2Q1xcdTdCNkVcXHU3QjlEXFx1N0I5OFxcdTdCOUZcXHU3QjhEXFx1N0I5Q1xcdTdCOUFcXHU3QjhCXFx1N0I5MlxcdTdCOEZcXHU3QjVEXFx1N0I5OVxcdTdCQ0JcXHU3QkMxXFx1N0JDQ1xcdTdCQ0ZcXHU3QkI0XFx1N0JDNlxcdTdCRERcXHU3QkU5XFx1N0MxMVxcdTdDMTRcXHU3QkU2XFx1N0JFNVxcdTdDNjBcXHU3QzAwXFx1N0MwN1xcdTdDMTNcXHU3QkYzXFx1N0JGN1xcdTdDMTdcXHU3QzBEXFx1N0JGNlxcdTdDMjNcXHU3QzI3XFx1N0MyQVxcdTdDMUZcXHU3QzM3XFx1N0MyQlxcdTdDM0RcXHU3QzRDXFx1N0M0M1xcdTdDNTRcXHU3QzRGXFx1N0M0MFxcdTdDNTBcXHU3QzU4XFx1N0M1RlxcdTdDNjRcXHU3QzU2XFx1N0M2NVxcdTdDNkNcXHU3Qzc1XFx1N0M4M1xcdTdDOTBcXHU3Q0E0XFx1N0NBRFxcdTdDQTJcXHU3Q0FCXFx1N0NBMVxcdTdDQThcXHU3Q0IzXFx1N0NCMlxcdTdDQjFcXHU3Q0FFXFx1N0NCOVxcdTdDQkRcXHU3Q0MwXFx1N0NDNVxcdTdDQzJcXHU3Q0Q4XFx1N0NEMlxcdTdDRENcXHU3Q0UyXFx1OUIzQlxcdTdDRUZcXHU3Q0YyXFx1N0NGNFxcdTdDRjZcXHU3Q0ZBXFx1N0QwNlwiXSxcbiAgICAgIFtcImU1YTFcIiwgXCJcXHU3RDAyXFx1N0QxQ1xcdTdEMTVcXHU3RDBBXFx1N0Q0NVxcdTdENEJcXHU3RDJFXFx1N0QzMlxcdTdEM0ZcXHU3RDM1XFx1N0Q0NlxcdTdENzNcXHU3RDU2XFx1N0Q0RVxcdTdENzJcXHU3RDY4XFx1N0Q2RVxcdTdENEZcXHU3RDYzXFx1N0Q5M1xcdTdEODlcXHU3RDVCXFx1N0Q4RlxcdTdEN0RcXHU3RDlCXFx1N0RCQVxcdTdEQUVcXHU3REEzXFx1N0RCNVxcdTdEQzdcXHU3REJEXFx1N0RBQlxcdTdFM0RcXHU3REEyXFx1N0RBRlxcdTdERENcXHU3REI4XFx1N0Q5RlxcdTdEQjBcXHU3REQ4XFx1N0RERFxcdTdERTRcXHU3RERFXFx1N0RGQlxcdTdERjJcXHU3REUxXFx1N0UwNVxcdTdFMEFcXHU3RTIzXFx1N0UyMVxcdTdFMTJcXHU3RTMxXFx1N0UxRlxcdTdFMDlcXHU3RTBCXFx1N0UyMlxcdTdFNDZcXHU3RTY2XFx1N0UzQlxcdTdFMzVcXHU3RTM5XFx1N0U0M1xcdTdFMzdcXHU3RTMyXFx1N0UzQVxcdTdFNjdcXHU3RTVEXFx1N0U1NlxcdTdFNUVcXHU3RTU5XFx1N0U1QVxcdTdFNzlcXHU3RTZBXFx1N0U2OVxcdTdFN0NcXHU3RTdCXFx1N0U4M1xcdTdERDVcXHU3RTdEXFx1OEZBRVxcdTdFN0ZcXHU3RTg4XFx1N0U4OVxcdTdFOENcXHU3RTkyXFx1N0U5MFxcdTdFOTNcXHU3RTk0XFx1N0U5NlxcdTdFOEVcXHU3RTlCXFx1N0U5Q1xcdTdGMzhcXHU3RjNBXCJdLFxuICAgICAgW1wiZTZhMVwiLCBcIlxcdTdGNDVcXHU3RjRDXFx1N0Y0RFxcdTdGNEVcXHU3RjUwXFx1N0Y1MVxcdTdGNTVcXHU3RjU0XFx1N0Y1OFxcdTdGNUZcXHU3RjYwXFx1N0Y2OFxcdTdGNjlcXHU3RjY3XFx1N0Y3OFxcdTdGODJcXHU3Rjg2XFx1N0Y4M1xcdTdGODhcXHU3Rjg3XFx1N0Y4Q1xcdTdGOTRcXHU3RjlFXFx1N0Y5RFxcdTdGOUFcXHU3RkEzXFx1N0ZBRlxcdTdGQjJcXHU3RkI5XFx1N0ZBRVxcdTdGQjZcXHU3RkI4XFx1OEI3MVxcdTdGQzVcXHU3RkM2XFx1N0ZDQVxcdTdGRDVcXHU3RkQ0XFx1N0ZFMVxcdTdGRTZcXHU3RkU5XFx1N0ZGM1xcdTdGRjlcXHU5OERDXFx1ODAwNlxcdTgwMDRcXHU4MDBCXFx1ODAxMlxcdTgwMThcXHU4MDE5XFx1ODAxQ1xcdTgwMjFcXHU4MDI4XFx1ODAzRlxcdTgwM0JcXHU4MDRBXFx1ODA0NlxcdTgwNTJcXHU4MDU4XFx1ODA1QVxcdTgwNUZcXHU4MDYyXFx1ODA2OFxcdTgwNzNcXHU4MDcyXFx1ODA3MFxcdTgwNzZcXHU4MDc5XFx1ODA3RFxcdTgwN0ZcXHU4MDg0XFx1ODA4NlxcdTgwODVcXHU4MDlCXFx1ODA5M1xcdTgwOUFcXHU4MEFEXFx1NTE5MFxcdTgwQUNcXHU4MERCXFx1ODBFNVxcdTgwRDlcXHU4MEREXFx1ODBDNFxcdTgwREFcXHU4MEQ2XFx1ODEwOVxcdTgwRUZcXHU4MEYxXFx1ODExQlxcdTgxMjlcXHU4MTIzXFx1ODEyRlxcdTgxNEJcIl0sXG4gICAgICBbXCJlN2ExXCIsIFwiXFx1OTY4QlxcdTgxNDZcXHU4MTNFXFx1ODE1M1xcdTgxNTFcXHU4MEZDXFx1ODE3MVxcdTgxNkVcXHU4MTY1XFx1ODE2NlxcdTgxNzRcXHU4MTgzXFx1ODE4OFxcdTgxOEFcXHU4MTgwXFx1ODE4MlxcdTgxQTBcXHU4MTk1XFx1ODFBNFxcdTgxQTNcXHU4MTVGXFx1ODE5M1xcdTgxQTlcXHU4MUIwXFx1ODFCNVxcdTgxQkVcXHU4MUI4XFx1ODFCRFxcdTgxQzBcXHU4MUMyXFx1ODFCQVxcdTgxQzlcXHU4MUNEXFx1ODFEMVxcdTgxRDlcXHU4MUQ4XFx1ODFDOFxcdTgxREFcXHU4MURGXFx1ODFFMFxcdTgxRTdcXHU4MUZBXFx1ODFGQlxcdTgxRkVcXHU4MjAxXFx1ODIwMlxcdTgyMDVcXHU4MjA3XFx1ODIwQVxcdTgyMERcXHU4MjEwXFx1ODIxNlxcdTgyMjlcXHU4MjJCXFx1ODIzOFxcdTgyMzNcXHU4MjQwXFx1ODI1OVxcdTgyNThcXHU4MjVEXFx1ODI1QVxcdTgyNUZcXHU4MjY0XFx1ODI2MlxcdTgyNjhcXHU4MjZBXFx1ODI2QlxcdTgyMkVcXHU4MjcxXFx1ODI3N1xcdTgyNzhcXHU4MjdFXFx1ODI4RFxcdTgyOTJcXHU4MkFCXFx1ODI5RlxcdTgyQkJcXHU4MkFDXFx1ODJFMVxcdTgyRTNcXHU4MkRGXFx1ODJEMlxcdTgyRjRcXHU4MkYzXFx1ODJGQVxcdTgzOTNcXHU4MzAzXFx1ODJGQlxcdTgyRjlcXHU4MkRFXFx1ODMwNlxcdTgyRENcXHU4MzA5XFx1ODJEOVwiXSxcbiAgICAgIFtcImU4YTFcIiwgXCJcXHU4MzM1XFx1ODMzNFxcdTgzMTZcXHU4MzMyXFx1ODMzMVxcdTgzNDBcXHU4MzM5XFx1ODM1MFxcdTgzNDVcXHU4MzJGXFx1ODMyQlxcdTgzMTdcXHU4MzE4XFx1ODM4NVxcdTgzOUFcXHU4M0FBXFx1ODM5RlxcdTgzQTJcXHU4Mzk2XFx1ODMyM1xcdTgzOEVcXHU4Mzg3XFx1ODM4QVxcdTgzN0NcXHU4M0I1XFx1ODM3M1xcdTgzNzVcXHU4M0EwXFx1ODM4OVxcdTgzQThcXHU4M0Y0XFx1ODQxM1xcdTgzRUJcXHU4M0NFXFx1ODNGRFxcdTg0MDNcXHU4M0Q4XFx1ODQwQlxcdTgzQzFcXHU4M0Y3XFx1ODQwN1xcdTgzRTBcXHU4M0YyXFx1ODQwRFxcdTg0MjJcXHU4NDIwXFx1ODNCRFxcdTg0MzhcXHU4NTA2XFx1ODNGQlxcdTg0NkRcXHU4NDJBXFx1ODQzQ1xcdTg1NUFcXHU4NDg0XFx1ODQ3N1xcdTg0NkJcXHU4NEFEXFx1ODQ2RVxcdTg0ODJcXHU4NDY5XFx1ODQ0NlxcdTg0MkNcXHU4NDZGXFx1ODQ3OVxcdTg0MzVcXHU4NENBXFx1ODQ2MlxcdTg0QjlcXHU4NEJGXFx1ODQ5RlxcdTg0RDlcXHU4NENEXFx1ODRCQlxcdTg0REFcXHU4NEQwXFx1ODRDMVxcdTg0QzZcXHU4NEQ2XFx1ODRBMVxcdTg1MjFcXHU4NEZGXFx1ODRGNFxcdTg1MTdcXHU4NTE4XFx1ODUyQ1xcdTg1MUZcXHU4NTE1XFx1ODUxNFxcdTg0RkNcXHU4NTQwXFx1ODU2M1xcdTg1NThcXHU4NTQ4XCJdLFxuICAgICAgW1wiZTlhMVwiLCBcIlxcdTg1NDFcXHU4NjAyXFx1ODU0QlxcdTg1NTVcXHU4NTgwXFx1ODVBNFxcdTg1ODhcXHU4NTkxXFx1ODU4QVxcdTg1QThcXHU4NTZEXFx1ODU5NFxcdTg1OUJcXHU4NUVBXFx1ODU4N1xcdTg1OUNcXHU4NTc3XFx1ODU3RVxcdTg1OTBcXHU4NUM5XFx1ODVCQVxcdTg1Q0ZcXHU4NUI5XFx1ODVEMFxcdTg1RDVcXHU4NUREXFx1ODVFNVxcdTg1RENcXHU4NUY5XFx1ODYwQVxcdTg2MTNcXHU4NjBCXFx1ODVGRVxcdTg1RkFcXHU4NjA2XFx1ODYyMlxcdTg2MUFcXHU4NjMwXFx1ODYzRlxcdTg2NERcXHU0RTU1XFx1ODY1NFxcdTg2NUZcXHU4NjY3XFx1ODY3MVxcdTg2OTNcXHU4NkEzXFx1ODZBOVxcdTg2QUFcXHU4NjhCXFx1ODY4Q1xcdTg2QjZcXHU4NkFGXFx1ODZDNFxcdTg2QzZcXHU4NkIwXFx1ODZDOVxcdTg4MjNcXHU4NkFCXFx1ODZENFxcdTg2REVcXHU4NkU5XFx1ODZFQ1xcdTg2REZcXHU4NkRCXFx1ODZFRlxcdTg3MTJcXHU4NzA2XFx1ODcwOFxcdTg3MDBcXHU4NzAzXFx1ODZGQlxcdTg3MTFcXHU4NzA5XFx1ODcwRFxcdTg2RjlcXHU4NzBBXFx1ODczNFxcdTg3M0ZcXHU4NzM3XFx1ODczQlxcdTg3MjVcXHU4NzI5XFx1ODcxQVxcdTg3NjBcXHU4NzVGXFx1ODc3OFxcdTg3NENcXHU4NzRFXFx1ODc3NFxcdTg3NTdcXHU4NzY4XFx1ODc2RVxcdTg3NTlcIl0sXG4gICAgICBbXCJlYWExXCIsIFwiXFx1ODc1M1xcdTg3NjNcXHU4NzZBXFx1ODgwNVxcdTg3QTJcXHU4NzlGXFx1ODc4MlxcdTg3QUZcXHU4N0NCXFx1ODdCRFxcdTg3QzBcXHU4N0QwXFx1OTZENlxcdTg3QUJcXHU4N0M0XFx1ODdCM1xcdTg3QzdcXHU4N0M2XFx1ODdCQlxcdTg3RUZcXHU4N0YyXFx1ODdFMFxcdTg4MEZcXHU4ODBEXFx1ODdGRVxcdTg3RjZcXHU4N0Y3XFx1ODgwRVxcdTg3RDJcXHU4ODExXFx1ODgxNlxcdTg4MTVcXHU4ODIyXFx1ODgyMVxcdTg4MzFcXHU4ODM2XFx1ODgzOVxcdTg4MjdcXHU4ODNCXFx1ODg0NFxcdTg4NDJcXHU4ODUyXFx1ODg1OVxcdTg4NUVcXHU4ODYyXFx1ODg2QlxcdTg4ODFcXHU4ODdFXFx1ODg5RVxcdTg4NzVcXHU4ODdEXFx1ODhCNVxcdTg4NzJcXHU4ODgyXFx1ODg5N1xcdTg4OTJcXHU4OEFFXFx1ODg5OVxcdTg4QTJcXHU4ODhEXFx1ODhBNFxcdTg4QjBcXHU4OEJGXFx1ODhCMVxcdTg4QzNcXHU4OEM0XFx1ODhENFxcdTg4RDhcXHU4OEQ5XFx1ODhERFxcdTg4RjlcXHU4OTAyXFx1ODhGQ1xcdTg4RjRcXHU4OEU4XFx1ODhGMlxcdTg5MDRcXHU4OTBDXFx1ODkwQVxcdTg5MTNcXHU4OTQzXFx1ODkxRVxcdTg5MjVcXHU4OTJBXFx1ODkyQlxcdTg5NDFcXHU4OTQ0XFx1ODkzQlxcdTg5MzZcXHU4OTM4XFx1ODk0Q1xcdTg5MURcXHU4OTYwXFx1ODk1RVwiXSxcbiAgICAgIFtcImViYTFcIiwgXCJcXHU4OTY2XFx1ODk2NFxcdTg5NkRcXHU4OTZBXFx1ODk2RlxcdTg5NzRcXHU4OTc3XFx1ODk3RVxcdTg5ODNcXHU4OTg4XFx1ODk4QVxcdTg5OTNcXHU4OTk4XFx1ODlBMVxcdTg5QTlcXHU4OUE2XFx1ODlBQ1xcdTg5QUZcXHU4OUIyXFx1ODlCQVxcdTg5QkRcXHU4OUJGXFx1ODlDMFxcdTg5REFcXHU4OURDXFx1ODlERFxcdTg5RTdcXHU4OUY0XFx1ODlGOFxcdThBMDNcXHU4QTE2XFx1OEExMFxcdThBMENcXHU4QTFCXFx1OEExRFxcdThBMjVcXHU4QTM2XFx1OEE0MVxcdThBNUJcXHU4QTUyXFx1OEE0NlxcdThBNDhcXHU4QTdDXFx1OEE2RFxcdThBNkNcXHU4QTYyXFx1OEE4NVxcdThBODJcXHU4QTg0XFx1OEFBOFxcdThBQTFcXHU4QTkxXFx1OEFBNVxcdThBQTZcXHU4QTlBXFx1OEFBM1xcdThBQzRcXHU4QUNEXFx1OEFDMlxcdThBREFcXHU4QUVCXFx1OEFGM1xcdThBRTdcXHU4QUU0XFx1OEFGMVxcdThCMTRcXHU4QUUwXFx1OEFFMlxcdThBRjdcXHU4QURFXFx1OEFEQlxcdThCMENcXHU4QjA3XFx1OEIxQVxcdThBRTFcXHU4QjE2XFx1OEIxMFxcdThCMTdcXHU4QjIwXFx1OEIzM1xcdTk3QUJcXHU4QjI2XFx1OEIyQlxcdThCM0VcXHU4QjI4XFx1OEI0MVxcdThCNENcXHU4QjRGXFx1OEI0RVxcdThCNDlcXHU4QjU2XFx1OEI1QlxcdThCNUFcXHU4QjZCXCJdLFxuICAgICAgW1wiZWNhMVwiLCBcIlxcdThCNUZcXHU4QjZDXFx1OEI2RlxcdThCNzRcXHU4QjdEXFx1OEI4MFxcdThCOENcXHU4QjhFXFx1OEI5MlxcdThCOTNcXHU4Qjk2XFx1OEI5OVxcdThCOUFcXHU4QzNBXFx1OEM0MVxcdThDM0ZcXHU4QzQ4XFx1OEM0Q1xcdThDNEVcXHU4QzUwXFx1OEM1NVxcdThDNjJcXHU4QzZDXFx1OEM3OFxcdThDN0FcXHU4QzgyXFx1OEM4OVxcdThDODVcXHU4QzhBXFx1OEM4RFxcdThDOEVcXHU4Qzk0XFx1OEM3Q1xcdThDOThcXHU2MjFEXFx1OENBRFxcdThDQUFcXHU4Q0JEXFx1OENCMlxcdThDQjNcXHU4Q0FFXFx1OENCNlxcdThDQzhcXHU4Q0MxXFx1OENFNFxcdThDRTNcXHU4Q0RBXFx1OENGRFxcdThDRkFcXHU4Q0ZCXFx1OEQwNFxcdThEMDVcXHU4RDBBXFx1OEQwN1xcdThEMEZcXHU4RDBEXFx1OEQxMFxcdTlGNEVcXHU4RDEzXFx1OENDRFxcdThEMTRcXHU4RDE2XFx1OEQ2N1xcdThENkRcXHU4RDcxXFx1OEQ3M1xcdThEODFcXHU4RDk5XFx1OERDMlxcdThEQkVcXHU4REJBXFx1OERDRlxcdThEREFcXHU4REQ2XFx1OERDQ1xcdThEREJcXHU4RENCXFx1OERFQVxcdThERUJcXHU4RERGXFx1OERFM1xcdThERkNcXHU4RTA4XFx1OEUwOVxcdThERkZcXHU4RTFEXFx1OEUxRVxcdThFMTBcXHU4RTFGXFx1OEU0MlxcdThFMzVcXHU4RTMwXFx1OEUzNFxcdThFNEFcIl0sXG4gICAgICBbXCJlZGExXCIsIFwiXFx1OEU0N1xcdThFNDlcXHU4RTRDXFx1OEU1MFxcdThFNDhcXHU4RTU5XFx1OEU2NFxcdThFNjBcXHU4RTJBXFx1OEU2M1xcdThFNTVcXHU4RTc2XFx1OEU3MlxcdThFN0NcXHU4RTgxXFx1OEU4N1xcdThFODVcXHU4RTg0XFx1OEU4QlxcdThFOEFcXHU4RTkzXFx1OEU5MVxcdThFOTRcXHU4RTk5XFx1OEVBQVxcdThFQTFcXHU4RUFDXFx1OEVCMFxcdThFQzZcXHU4RUIxXFx1OEVCRVxcdThFQzVcXHU4RUM4XFx1OEVDQlxcdThFREJcXHU4RUUzXFx1OEVGQ1xcdThFRkJcXHU4RUVCXFx1OEVGRVxcdThGMEFcXHU4RjA1XFx1OEYxNVxcdThGMTJcXHU4RjE5XFx1OEYxM1xcdThGMUNcXHU4RjFGXFx1OEYxQlxcdThGMENcXHU4RjI2XFx1OEYzM1xcdThGM0JcXHU4RjM5XFx1OEY0NVxcdThGNDJcXHU4RjNFXFx1OEY0Q1xcdThGNDlcXHU4RjQ2XFx1OEY0RVxcdThGNTdcXHU4RjVDXFx1OEY2MlxcdThGNjNcXHU4RjY0XFx1OEY5Q1xcdThGOUZcXHU4RkEzXFx1OEZBRFxcdThGQUZcXHU4RkI3XFx1OEZEQVxcdThGRTVcXHU4RkUyXFx1OEZFQVxcdThGRUZcXHU5MDg3XFx1OEZGNFxcdTkwMDVcXHU4RkY5XFx1OEZGQVxcdTkwMTFcXHU5MDE1XFx1OTAyMVxcdTkwMERcXHU5MDFFXFx1OTAxNlxcdTkwMEJcXHU5MDI3XFx1OTAzNlxcdTkwMzVcXHU5MDM5XFx1OEZGOFwiXSxcbiAgICAgIFtcImVlYTFcIiwgXCJcXHU5MDRGXFx1OTA1MFxcdTkwNTFcXHU5MDUyXFx1OTAwRVxcdTkwNDlcXHU5MDNFXFx1OTA1NlxcdTkwNThcXHU5MDVFXFx1OTA2OFxcdTkwNkZcXHU5MDc2XFx1OTZBOFxcdTkwNzJcXHU5MDgyXFx1OTA3RFxcdTkwODFcXHU5MDgwXFx1OTA4QVxcdTkwODlcXHU5MDhGXFx1OTBBOFxcdTkwQUZcXHU5MEIxXFx1OTBCNVxcdTkwRTJcXHU5MEU0XFx1NjI0OFxcdTkwREJcXHU5MTAyXFx1OTExMlxcdTkxMTlcXHU5MTMyXFx1OTEzMFxcdTkxNEFcXHU5MTU2XFx1OTE1OFxcdTkxNjNcXHU5MTY1XFx1OTE2OVxcdTkxNzNcXHU5MTcyXFx1OTE4QlxcdTkxODlcXHU5MTgyXFx1OTFBMlxcdTkxQUJcXHU5MUFGXFx1OTFBQVxcdTkxQjVcXHU5MUI0XFx1OTFCQVxcdTkxQzBcXHU5MUMxXFx1OTFDOVxcdTkxQ0JcXHU5MUQwXFx1OTFENlxcdTkxREZcXHU5MUUxXFx1OTFEQlxcdTkxRkNcXHU5MUY1XFx1OTFGNlxcdTkyMUVcXHU5MUZGXFx1OTIxNFxcdTkyMkNcXHU5MjE1XFx1OTIxMVxcdTkyNUVcXHU5MjU3XFx1OTI0NVxcdTkyNDlcXHU5MjY0XFx1OTI0OFxcdTkyOTVcXHU5MjNGXFx1OTI0QlxcdTkyNTBcXHU5MjlDXFx1OTI5NlxcdTkyOTNcXHU5MjlCXFx1OTI1QVxcdTkyQ0ZcXHU5MkI5XFx1OTJCN1xcdTkyRTlcXHU5MzBGXFx1OTJGQVxcdTkzNDRcXHU5MzJFXCJdLFxuICAgICAgW1wiZWZhMVwiLCBcIlxcdTkzMTlcXHU5MzIyXFx1OTMxQVxcdTkzMjNcXHU5MzNBXFx1OTMzNVxcdTkzM0JcXHU5MzVDXFx1OTM2MFxcdTkzN0NcXHU5MzZFXFx1OTM1NlxcdTkzQjBcXHU5M0FDXFx1OTNBRFxcdTkzOTRcXHU5M0I5XFx1OTNENlxcdTkzRDdcXHU5M0U4XFx1OTNFNVxcdTkzRDhcXHU5M0MzXFx1OTNERFxcdTkzRDBcXHU5M0M4XFx1OTNFNFxcdTk0MUFcXHU5NDE0XFx1OTQxM1xcdTk0MDNcXHU5NDA3XFx1OTQxMFxcdTk0MzZcXHU5NDJCXFx1OTQzNVxcdTk0MjFcXHU5NDNBXFx1OTQ0MVxcdTk0NTJcXHU5NDQ0XFx1OTQ1QlxcdTk0NjBcXHU5NDYyXFx1OTQ1RVxcdTk0NkFcXHU5MjI5XFx1OTQ3MFxcdTk0NzVcXHU5NDc3XFx1OTQ3RFxcdTk0NUFcXHU5NDdDXFx1OTQ3RVxcdTk0ODFcXHU5NDdGXFx1OTU4MlxcdTk1ODdcXHU5NThBXFx1OTU5NFxcdTk1OTZcXHU5NTk4XFx1OTU5OVxcdTk1QTBcXHU5NUE4XFx1OTVBN1xcdTk1QURcXHU5NUJDXFx1OTVCQlxcdTk1QjlcXHU5NUJFXFx1OTVDQVxcdTZGRjZcXHU5NUMzXFx1OTVDRFxcdTk1Q0NcXHU5NUQ1XFx1OTVENFxcdTk1RDZcXHU5NURDXFx1OTVFMVxcdTk1RTVcXHU5NUUyXFx1OTYyMVxcdTk2MjhcXHU5NjJFXFx1OTYyRlxcdTk2NDJcXHU5NjRDXFx1OTY0RlxcdTk2NEJcXHU5Njc3XFx1OTY1Q1xcdTk2NUVcIl0sXG4gICAgICBbXCJmMGExXCIsIFwiXFx1OTY1RFxcdTk2NUZcXHU5NjY2XFx1OTY3MlxcdTk2NkNcXHU5NjhEXFx1OTY5OFxcdTk2OTVcXHU5Njk3XFx1OTZBQVxcdTk2QTdcXHU5NkIxXFx1OTZCMlxcdTk2QjBcXHU5NkI0XFx1OTZCNlxcdTk2QjhcXHU5NkI5XFx1OTZDRVxcdTk2Q0JcXHU5NkM5XFx1OTZDRFxcdTg5NERcXHU5NkRDXFx1OTcwRFxcdTk2RDVcXHU5NkY5XFx1OTcwNFxcdTk3MDZcXHU5NzA4XFx1OTcxM1xcdTk3MEVcXHU5NzExXFx1OTcwRlxcdTk3MTZcXHU5NzE5XFx1OTcyNFxcdTk3MkFcXHU5NzMwXFx1OTczOVxcdTk3M0RcXHU5NzNFXFx1OTc0NFxcdTk3NDZcXHU5NzQ4XFx1OTc0MlxcdTk3NDlcXHU5NzVDXFx1OTc2MFxcdTk3NjRcXHU5NzY2XFx1OTc2OFxcdTUyRDJcXHU5NzZCXFx1OTc3MVxcdTk3NzlcXHU5Nzg1XFx1OTc3Q1xcdTk3ODFcXHU5NzdBXFx1OTc4NlxcdTk3OEJcXHU5NzhGXFx1OTc5MFxcdTk3OUNcXHU5N0E4XFx1OTdBNlxcdTk3QTNcXHU5N0IzXFx1OTdCNFxcdTk3QzNcXHU5N0M2XFx1OTdDOFxcdTk3Q0JcXHU5N0RDXFx1OTdFRFxcdTlGNEZcXHU5N0YyXFx1N0FERlxcdTk3RjZcXHU5N0Y1XFx1OTgwRlxcdTk4MENcXHU5ODM4XFx1OTgyNFxcdTk4MjFcXHU5ODM3XFx1OTgzRFxcdTk4NDZcXHU5ODRGXFx1OTg0QlxcdTk4NkJcXHU5ODZGXFx1OTg3MFwiXSxcbiAgICAgIFtcImYxYTFcIiwgXCJcXHU5ODcxXFx1OTg3NFxcdTk4NzNcXHU5OEFBXFx1OThBRlxcdTk4QjFcXHU5OEI2XFx1OThDNFxcdTk4QzNcXHU5OEM2XFx1OThFOVxcdTk4RUJcXHU5OTAzXFx1OTkwOVxcdTk5MTJcXHU5OTE0XFx1OTkxOFxcdTk5MjFcXHU5OTFEXFx1OTkxRVxcdTk5MjRcXHU5OTIwXFx1OTkyQ1xcdTk5MkVcXHU5OTNEXFx1OTkzRVxcdTk5NDJcXHU5OTQ5XFx1OTk0NVxcdTk5NTBcXHU5OTRCXFx1OTk1MVxcdTk5NTJcXHU5OTRDXFx1OTk1NVxcdTk5OTdcXHU5OTk4XFx1OTlBNVxcdTk5QURcXHU5OUFFXFx1OTlCQ1xcdTk5REZcXHU5OURCXFx1OTlERFxcdTk5RDhcXHU5OUQxXFx1OTlFRFxcdTk5RUVcXHU5OUYxXFx1OTlGMlxcdTk5RkJcXHU5OUY4XFx1OUEwMVxcdTlBMEZcXHU5QTA1XFx1OTlFMlxcdTlBMTlcXHU5QTJCXFx1OUEzN1xcdTlBNDVcXHU5QTQyXFx1OUE0MFxcdTlBNDNcXHU5QTNFXFx1OUE1NVxcdTlBNERcXHU5QTVCXFx1OUE1N1xcdTlBNUZcXHU5QTYyXFx1OUE2NVxcdTlBNjRcXHU5QTY5XFx1OUE2QlxcdTlBNkFcXHU5QUFEXFx1OUFCMFxcdTlBQkNcXHU5QUMwXFx1OUFDRlxcdTlBRDFcXHU5QUQzXFx1OUFENFxcdTlBREVcXHU5QURGXFx1OUFFMlxcdTlBRTNcXHU5QUU2XFx1OUFFRlxcdTlBRUJcXHU5QUVFXFx1OUFGNFxcdTlBRjFcXHU5QUY3XCJdLFxuICAgICAgW1wiZjJhMVwiLCBcIlxcdTlBRkJcXHU5QjA2XFx1OUIxOFxcdTlCMUFcXHU5QjFGXFx1OUIyMlxcdTlCMjNcXHU5QjI1XFx1OUIyN1xcdTlCMjhcXHU5QjI5XFx1OUIyQVxcdTlCMkVcXHU5QjJGXFx1OUIzMlxcdTlCNDRcXHU5QjQzXFx1OUI0RlxcdTlCNERcXHU5QjRFXFx1OUI1MVxcdTlCNThcXHU5Qjc0XFx1OUI5M1xcdTlCODNcXHU5QjkxXFx1OUI5NlxcdTlCOTdcXHU5QjlGXFx1OUJBMFxcdTlCQThcXHU5QkI0XFx1OUJDMFxcdTlCQ0FcXHU5QkI5XFx1OUJDNlxcdTlCQ0ZcXHU5QkQxXFx1OUJEMlxcdTlCRTNcXHU5QkUyXFx1OUJFNFxcdTlCRDRcXHU5QkUxXFx1OUMzQVxcdTlCRjJcXHU5QkYxXFx1OUJGMFxcdTlDMTVcXHU5QzE0XFx1OUMwOVxcdTlDMTNcXHU5QzBDXFx1OUMwNlxcdTlDMDhcXHU5QzEyXFx1OUMwQVxcdTlDMDRcXHU5QzJFXFx1OUMxQlxcdTlDMjVcXHU5QzI0XFx1OUMyMVxcdTlDMzBcXHU5QzQ3XFx1OUMzMlxcdTlDNDZcXHU5QzNFXFx1OUM1QVxcdTlDNjBcXHU5QzY3XFx1OUM3NlxcdTlDNzhcXHU5Q0U3XFx1OUNFQ1xcdTlDRjBcXHU5RDA5XFx1OUQwOFxcdTlDRUJcXHU5RDAzXFx1OUQwNlxcdTlEMkFcXHU5RDI2XFx1OURBRlxcdTlEMjNcXHU5RDFGXFx1OUQ0NFxcdTlEMTVcXHU5RDEyXFx1OUQ0MVxcdTlEM0ZcXHU5RDNFXFx1OUQ0NlxcdTlENDhcIl0sXG4gICAgICBbXCJmM2ExXCIsIFwiXFx1OUQ1RFxcdTlENUVcXHU5RDY0XFx1OUQ1MVxcdTlENTBcXHU5RDU5XFx1OUQ3MlxcdTlEODlcXHU5RDg3XFx1OURBQlxcdTlENkZcXHU5RDdBXFx1OUQ5QVxcdTlEQTRcXHU5REE5XFx1OURCMlxcdTlEQzRcXHU5REMxXFx1OURCQlxcdTlEQjhcXHU5REJBXFx1OURDNlxcdTlEQ0ZcXHU5REMyXFx1OUREOVxcdTlERDNcXHU5REY4XFx1OURFNlxcdTlERURcXHU5REVGXFx1OURGRFxcdTlFMUFcXHU5RTFCXFx1OUUxRVxcdTlFNzVcXHU5RTc5XFx1OUU3RFxcdTlFODFcXHU5RTg4XFx1OUU4QlxcdTlFOENcXHU5RTkyXFx1OUU5NVxcdTlFOTFcXHU5RTlEXFx1OUVBNVxcdTlFQTlcXHU5RUI4XFx1OUVBQVxcdTlFQURcXHU5NzYxXFx1OUVDQ1xcdTlFQ0VcXHU5RUNGXFx1OUVEMFxcdTlFRDRcXHU5RURDXFx1OUVERVxcdTlFRERcXHU5RUUwXFx1OUVFNVxcdTlFRThcXHU5RUVGXFx1OUVGNFxcdTlFRjZcXHU5RUY3XFx1OUVGOVxcdTlFRkJcXHU5RUZDXFx1OUVGRFxcdTlGMDdcXHU5RjA4XFx1NzZCN1xcdTlGMTVcXHU5RjIxXFx1OUYyQ1xcdTlGM0VcXHU5RjRBXFx1OUY1MlxcdTlGNTRcXHU5RjYzXFx1OUY1RlxcdTlGNjBcXHU5RjYxXFx1OUY2NlxcdTlGNjdcXHU5RjZDXFx1OUY2QVxcdTlGNzdcXHU5RjcyXFx1OUY3NlxcdTlGOTVcXHU5RjlDXFx1OUZBMFwiXSxcbiAgICAgIFtcImY0YTFcIiwgXCJcXHU1ODJGXFx1NjlDN1xcdTkwNTlcXHU3NDY0XFx1NTFEQ1xcdTcxOTlcIl0sXG4gICAgICBbXCJmOWExXCIsIFwiXFx1N0U4QVxcdTg5MUNcXHU5MzQ4XFx1OTI4OFxcdTg0RENcXHU0RkM5XFx1NzBCQlxcdTY2MzFcXHU2OEM4XFx1OTJGOVxcdTY2RkJcXHU1RjQ1XFx1NEUyOFxcdTRFRTFcXHU0RUZDXFx1NEYwMFxcdTRGMDNcXHU0RjM5XFx1NEY1NlxcdTRGOTJcXHU0RjhBXFx1NEY5QVxcdTRGOTRcXHU0RkNEXFx1NTA0MFxcdTUwMjJcXHU0RkZGXFx1NTAxRVxcdTUwNDZcXHU1MDcwXFx1NTA0MlxcdTUwOTRcXHU1MEY0XFx1NTBEOFxcdTUxNEFcXHU1MTY0XFx1NTE5RFxcdTUxQkVcXHU1MUVDXFx1NTIxNVxcdTUyOUNcXHU1MkE2XFx1NTJDMFxcdTUyREJcXHU1MzAwXFx1NTMwN1xcdTUzMjRcXHU1MzcyXFx1NTM5M1xcdTUzQjJcXHU1M0REXFx1RkEwRVxcdTU0OUNcXHU1NDhBXFx1NTRBOVxcdTU0RkZcXHU1NTg2XFx1NTc1OVxcdTU3NjVcXHU1N0FDXFx1NTdDOFxcdTU3QzdcXHVGQTBGXFx1RkExMFxcdTU4OUVcXHU1OEIyXFx1NTkwQlxcdTU5NTNcXHU1OTVCXFx1NTk1RFxcdTU5NjNcXHU1OUE0XFx1NTlCQVxcdTVCNTZcXHU1QkMwXFx1NzUyRlxcdTVCRDhcXHU1QkVDXFx1NUMxRVxcdTVDQTZcXHU1Q0JBXFx1NUNGNVxcdTVEMjdcXHU1RDUzXFx1RkExMVxcdTVENDJcXHU1RDZEXFx1NURCOFxcdTVEQjlcXHU1REQwXFx1NUYyMVxcdTVGMzRcXHU1RjY3XFx1NUZCN1wiXSxcbiAgICAgIFtcImZhYTFcIiwgXCJcXHU1RkRFXFx1NjA1RFxcdTYwODVcXHU2MDhBXFx1NjBERVxcdTYwRDVcXHU2MTIwXFx1NjBGMlxcdTYxMTFcXHU2MTM3XFx1NjEzMFxcdTYxOThcXHU2MjEzXFx1NjJBNlxcdTYzRjVcXHU2NDYwXFx1NjQ5RFxcdTY0Q0VcXHU2NTRFXFx1NjYwMFxcdTY2MTVcXHU2NjNCXFx1NjYwOVxcdTY2MkVcXHU2NjFFXFx1NjYyNFxcdTY2NjVcXHU2NjU3XFx1NjY1OVxcdUZBMTJcXHU2NjczXFx1NjY5OVxcdTY2QTBcXHU2NkIyXFx1NjZCRlxcdTY2RkFcXHU2NzBFXFx1RjkyOVxcdTY3NjZcXHU2N0JCXFx1Njg1MlxcdTY3QzBcXHU2ODAxXFx1Njg0NFxcdTY4Q0ZcXHVGQTEzXFx1Njk2OFxcdUZBMTRcXHU2OTk4XFx1NjlFMlxcdTZBMzBcXHU2QTZCXFx1NkE0NlxcdTZBNzNcXHU2QTdFXFx1NkFFMlxcdTZBRTRcXHU2QkQ2XFx1NkMzRlxcdTZDNUNcXHU2Qzg2XFx1NkM2RlxcdTZDREFcXHU2RDA0XFx1NkQ4N1xcdTZENkZcXHU2RDk2XFx1NkRBQ1xcdTZEQ0ZcXHU2REY4XFx1NkRGMlxcdTZERkNcXHU2RTM5XFx1NkU1Q1xcdTZFMjdcXHU2RTNDXFx1NkVCRlxcdTZGODhcXHU2RkI1XFx1NkZGNVxcdTcwMDVcXHU3MDA3XFx1NzAyOFxcdTcwODVcXHU3MEFCXFx1NzEwRlxcdTcxMDRcXHU3MTVDXFx1NzE0NlxcdTcxNDdcXHVGQTE1XFx1NzFDMVxcdTcxRkVcXHU3MkIxXCJdLFxuICAgICAgW1wiZmJhMVwiLCBcIlxcdTcyQkVcXHU3MzI0XFx1RkExNlxcdTczNzdcXHU3M0JEXFx1NzNDOVxcdTczRDZcXHU3M0UzXFx1NzNEMlxcdTc0MDdcXHU3M0Y1XFx1NzQyNlxcdTc0MkFcXHU3NDI5XFx1NzQyRVxcdTc0NjJcXHU3NDg5XFx1NzQ5RlxcdTc1MDFcXHU3NTZGXFx1NzY4MlxcdTc2OUNcXHU3NjlFXFx1NzY5QlxcdTc2QTZcXHVGQTE3XFx1Nzc0NlxcdTUyQUZcXHU3ODIxXFx1Nzg0RVxcdTc4NjRcXHU3ODdBXFx1NzkzMFxcdUZBMThcXHVGQTE5XFx1RkExQVxcdTc5OTRcXHVGQTFCXFx1Nzk5QlxcdTdBRDFcXHU3QUU3XFx1RkExQ1xcdTdBRUJcXHU3QjlFXFx1RkExRFxcdTdENDhcXHU3RDVDXFx1N0RCN1xcdTdEQTBcXHU3REQ2XFx1N0U1MlxcdTdGNDdcXHU3RkExXFx1RkExRVxcdTgzMDFcXHU4MzYyXFx1ODM3RlxcdTgzQzdcXHU4M0Y2XFx1ODQ0OFxcdTg0QjRcXHU4NTUzXFx1ODU1OVxcdTg1NkJcXHVGQTFGXFx1ODVCMFxcdUZBMjBcXHVGQTIxXFx1ODgwN1xcdTg4RjVcXHU4QTEyXFx1OEEzN1xcdThBNzlcXHU4QUE3XFx1OEFCRVxcdThBREZcXHVGQTIyXFx1OEFGNlxcdThCNTNcXHU4QjdGXFx1OENGMFxcdThDRjRcXHU4RDEyXFx1OEQ3NlxcdUZBMjNcXHU4RUNGXFx1RkEyNFxcdUZBMjVcXHU5MDY3XFx1OTBERVxcdUZBMjZcXHU5MTE1XFx1OTEyN1xcdTkxREFcIl0sXG4gICAgICBbXCJmY2ExXCIsIFwiXFx1OTFEN1xcdTkxREVcXHU5MUVEXFx1OTFFRVxcdTkxRTRcXHU5MUU1XFx1OTIwNlxcdTkyMTBcXHU5MjBBXFx1OTIzQVxcdTkyNDBcXHU5MjNDXFx1OTI0RVxcdTkyNTlcXHU5MjUxXFx1OTIzOVxcdTkyNjdcXHU5MkE3XFx1OTI3N1xcdTkyNzhcXHU5MkU3XFx1OTJEN1xcdTkyRDlcXHU5MkQwXFx1RkEyN1xcdTkyRDVcXHU5MkUwXFx1OTJEM1xcdTkzMjVcXHU5MzIxXFx1OTJGQlxcdUZBMjhcXHU5MzFFXFx1OTJGRlxcdTkzMURcXHU5MzAyXFx1OTM3MFxcdTkzNTdcXHU5M0E0XFx1OTNDNlxcdTkzREVcXHU5M0Y4XFx1OTQzMVxcdTk0NDVcXHU5NDQ4XFx1OTU5MlxcdUY5RENcXHVGQTI5XFx1OTY5RFxcdTk2QUZcXHU5NzMzXFx1OTczQlxcdTk3NDNcXHU5NzREXFx1OTc0RlxcdTk3NTFcXHU5NzU1XFx1OTg1N1xcdTk4NjVcXHVGQTJBXFx1RkEyQlxcdTk5MjdcXHVGQTJDXFx1OTk5RVxcdTlBNEVcXHU5QUQ5XFx1OUFEQ1xcdTlCNzVcXHU5QjcyXFx1OUI4RlxcdTlCQjFcXHU5QkJCXFx1OUMwMFxcdTlENzBcXHU5RDZCXFx1RkEyRFxcdTlFMTlcXHU5RUQxXCJdLFxuICAgICAgW1wiZmNmMVwiLCBcIlxcdTIxNzBcIiwgOSwgXCJcXHVGRkUyXFx1RkZFNFxcdUZGMDdcXHVGRjAyXCJdLFxuICAgICAgW1wiOGZhMmFmXCIsIFwiXFx1MDJEOFxcdTAyQzdcXHhCOFxcdTAyRDlcXHUwMkREXFx4QUZcXHUwMkRCXFx1MDJEQVxcdUZGNUVcXHUwMzg0XFx1MDM4NVwiXSxcbiAgICAgIFtcIjhmYTJjMlwiLCBcIlxceEExXFx4QTZcXHhCRlwiXSxcbiAgICAgIFtcIjhmYTJlYlwiLCBcIlxceEJBXFx4QUFcXHhBOVxceEFFXFx1MjEyMlxceEE0XFx1MjExNlwiXSxcbiAgICAgIFtcIjhmYTZlMVwiLCBcIlxcdTAzODZcXHUwMzg4XFx1MDM4OVxcdTAzOEFcXHUwM0FBXCJdLFxuICAgICAgW1wiOGZhNmU3XCIsIFwiXFx1MDM4Q1wiXSxcbiAgICAgIFtcIjhmYTZlOVwiLCBcIlxcdTAzOEVcXHUwM0FCXCJdLFxuICAgICAgW1wiOGZhNmVjXCIsIFwiXFx1MDM4RlwiXSxcbiAgICAgIFtcIjhmYTZmMVwiLCBcIlxcdTAzQUNcXHUwM0FEXFx1MDNBRVxcdTAzQUZcXHUwM0NBXFx1MDM5MFxcdTAzQ0NcXHUwM0MyXFx1MDNDRFxcdTAzQ0JcXHUwM0IwXFx1MDNDRVwiXSxcbiAgICAgIFtcIjhmYTdjMlwiLCBcIlxcdTA0MDJcIiwgMTAsIFwiXFx1MDQwRVxcdTA0MEZcIl0sXG4gICAgICBbXCI4ZmE3ZjJcIiwgXCJcXHUwNDUyXCIsIDEwLCBcIlxcdTA0NUVcXHUwNDVGXCJdLFxuICAgICAgW1wiOGZhOWExXCIsIFwiXFx4QzZcXHUwMTEwXCJdLFxuICAgICAgW1wiOGZhOWE0XCIsIFwiXFx1MDEyNlwiXSxcbiAgICAgIFtcIjhmYTlhNlwiLCBcIlxcdTAxMzJcIl0sXG4gICAgICBbXCI4ZmE5YThcIiwgXCJcXHUwMTQxXFx1MDEzRlwiXSxcbiAgICAgIFtcIjhmYTlhYlwiLCBcIlxcdTAxNEFcXHhEOFxcdTAxNTJcIl0sXG4gICAgICBbXCI4ZmE5YWZcIiwgXCJcXHUwMTY2XFx4REVcIl0sXG4gICAgICBbXCI4ZmE5YzFcIiwgXCJcXHhFNlxcdTAxMTFcXHhGMFxcdTAxMjdcXHUwMTMxXFx1MDEzM1xcdTAxMzhcXHUwMTQyXFx1MDE0MFxcdTAxNDlcXHUwMTRCXFx4RjhcXHUwMTUzXFx4REZcXHUwMTY3XFx4RkVcIl0sXG4gICAgICBbXCI4ZmFhYTFcIiwgXCJcXHhDMVxceEMwXFx4QzRcXHhDMlxcdTAxMDJcXHUwMUNEXFx1MDEwMFxcdTAxMDRcXHhDNVxceEMzXFx1MDEwNlxcdTAxMDhcXHUwMTBDXFx4QzdcXHUwMTBBXFx1MDEwRVxceEM5XFx4QzhcXHhDQlxceENBXFx1MDExQVxcdTAxMTZcXHUwMTEyXFx1MDExOFwiXSxcbiAgICAgIFtcIjhmYWFiYVwiLCBcIlxcdTAxMUNcXHUwMTFFXFx1MDEyMlxcdTAxMjBcXHUwMTI0XFx4Q0RcXHhDQ1xceENGXFx4Q0VcXHUwMUNGXFx1MDEzMFxcdTAxMkFcXHUwMTJFXFx1MDEyOFxcdTAxMzRcXHUwMTM2XFx1MDEzOVxcdTAxM0RcXHUwMTNCXFx1MDE0M1xcdTAxNDdcXHUwMTQ1XFx4RDFcXHhEM1xceEQyXFx4RDZcXHhENFxcdTAxRDFcXHUwMTUwXFx1MDE0Q1xceEQ1XFx1MDE1NFxcdTAxNThcXHUwMTU2XFx1MDE1QVxcdTAxNUNcXHUwMTYwXFx1MDE1RVxcdTAxNjRcXHUwMTYyXFx4REFcXHhEOVxceERDXFx4REJcXHUwMTZDXFx1MDFEM1xcdTAxNzBcXHUwMTZBXFx1MDE3MlxcdTAxNkVcXHUwMTY4XFx1MDFEN1xcdTAxREJcXHUwMUQ5XFx1MDFENVxcdTAxNzRcXHhERFxcdTAxNzhcXHUwMTc2XFx1MDE3OVxcdTAxN0RcXHUwMTdCXCJdLFxuICAgICAgW1wiOGZhYmExXCIsIFwiXFx4RTFcXHhFMFxceEU0XFx4RTJcXHUwMTAzXFx1MDFDRVxcdTAxMDFcXHUwMTA1XFx4RTVcXHhFM1xcdTAxMDdcXHUwMTA5XFx1MDEwRFxceEU3XFx1MDEwQlxcdTAxMEZcXHhFOVxceEU4XFx4RUJcXHhFQVxcdTAxMUJcXHUwMTE3XFx1MDExM1xcdTAxMTlcXHUwMUY1XFx1MDExRFxcdTAxMUZcIl0sXG4gICAgICBbXCI4ZmFiYmRcIiwgXCJcXHUwMTIxXFx1MDEyNVxceEVEXFx4RUNcXHhFRlxceEVFXFx1MDFEMFwiXSxcbiAgICAgIFtcIjhmYWJjNVwiLCBcIlxcdTAxMkJcXHUwMTJGXFx1MDEyOVxcdTAxMzVcXHUwMTM3XFx1MDEzQVxcdTAxM0VcXHUwMTNDXFx1MDE0NFxcdTAxNDhcXHUwMTQ2XFx4RjFcXHhGM1xceEYyXFx4RjZcXHhGNFxcdTAxRDJcXHUwMTUxXFx1MDE0RFxceEY1XFx1MDE1NVxcdTAxNTlcXHUwMTU3XFx1MDE1QlxcdTAxNURcXHUwMTYxXFx1MDE1RlxcdTAxNjVcXHUwMTYzXFx4RkFcXHhGOVxceEZDXFx4RkJcXHUwMTZEXFx1MDFENFxcdTAxNzFcXHUwMTZCXFx1MDE3M1xcdTAxNkZcXHUwMTY5XFx1MDFEOFxcdTAxRENcXHUwMURBXFx1MDFENlxcdTAxNzVcXHhGRFxceEZGXFx1MDE3N1xcdTAxN0FcXHUwMTdFXFx1MDE3Q1wiXSxcbiAgICAgIFtcIjhmYjBhMVwiLCBcIlxcdTRFMDJcXHU0RTA0XFx1NEUwNVxcdTRFMENcXHU0RTEyXFx1NEUxRlxcdTRFMjNcXHU0RTI0XFx1NEUyOFxcdTRFMkJcXHU0RTJFXFx1NEUyRlxcdTRFMzBcXHU0RTM1XFx1NEU0MFxcdTRFNDFcXHU0RTQ0XFx1NEU0N1xcdTRFNTFcXHU0RTVBXFx1NEU1Q1xcdTRFNjNcXHU0RTY4XFx1NEU2OVxcdTRFNzRcXHU0RTc1XFx1NEU3OVxcdTRFN0ZcXHU0RThEXFx1NEU5NlxcdTRFOTdcXHU0RTlEXFx1NEVBRlxcdTRFQjlcXHU0RUMzXFx1NEVEMFxcdTRFREFcXHU0RURCXFx1NEVFMFxcdTRFRTFcXHU0RUUyXFx1NEVFOFxcdTRFRUZcXHU0RUYxXFx1NEVGM1xcdTRFRjVcXHU0RUZEXFx1NEVGRVxcdTRFRkZcXHU0RjAwXFx1NEYwMlxcdTRGMDNcXHU0RjA4XFx1NEYwQlxcdTRGMENcXHU0RjEyXFx1NEYxNVxcdTRGMTZcXHU0RjE3XFx1NEYxOVxcdTRGMkVcXHU0RjMxXFx1NEY2MFxcdTRGMzNcXHU0RjM1XFx1NEYzN1xcdTRGMzlcXHU0RjNCXFx1NEYzRVxcdTRGNDBcXHU0RjQyXFx1NEY0OFxcdTRGNDlcXHU0RjRCXFx1NEY0Q1xcdTRGNTJcXHU0RjU0XFx1NEY1NlxcdTRGNThcXHU0RjVGXFx1NEY2M1xcdTRGNkFcXHU0RjZDXFx1NEY2RVxcdTRGNzFcXHU0Rjc3XFx1NEY3OFxcdTRGNzlcXHU0RjdBXFx1NEY3RFxcdTRGN0VcXHU0RjgxXFx1NEY4MlxcdTRGODRcIl0sXG4gICAgICBbXCI4ZmIxYTFcIiwgXCJcXHU0Rjg1XFx1NEY4OVxcdTRGOEFcXHU0RjhDXFx1NEY4RVxcdTRGOTBcXHU0RjkyXFx1NEY5M1xcdTRGOTRcXHU0Rjk3XFx1NEY5OVxcdTRGOUFcXHU0RjlFXFx1NEY5RlxcdTRGQjJcXHU0RkI3XFx1NEZCOVxcdTRGQkJcXHU0RkJDXFx1NEZCRFxcdTRGQkVcXHU0RkMwXFx1NEZDMVxcdTRGQzVcXHU0RkM2XFx1NEZDOFxcdTRGQzlcXHU0RkNCXFx1NEZDQ1xcdTRGQ0RcXHU0RkNGXFx1NEZEMlxcdTRGRENcXHU0RkUwXFx1NEZFMlxcdTRGRjBcXHU0RkYyXFx1NEZGQ1xcdTRGRkRcXHU0RkZGXFx1NTAwMFxcdTUwMDFcXHU1MDA0XFx1NTAwN1xcdTUwMEFcXHU1MDBDXFx1NTAwRVxcdTUwMTBcXHU1MDEzXFx1NTAxN1xcdTUwMThcXHU1MDFCXFx1NTAxQ1xcdTUwMURcXHU1MDFFXFx1NTAyMlxcdTUwMjdcXHU1MDJFXFx1NTAzMFxcdTUwMzJcXHU1MDMzXFx1NTAzNVxcdTUwNDBcXHU1MDQxXFx1NTA0MlxcdTUwNDVcXHU1MDQ2XFx1NTA0QVxcdTUwNENcXHU1MDRFXFx1NTA1MVxcdTUwNTJcXHU1MDUzXFx1NTA1N1xcdTUwNTlcXHU1MDVGXFx1NTA2MFxcdTUwNjJcXHU1MDYzXFx1NTA2NlxcdTUwNjdcXHU1MDZBXFx1NTA2RFxcdTUwNzBcXHU1MDcxXFx1NTAzQlxcdTUwODFcXHU1MDgzXFx1NTA4NFxcdTUwODZcXHU1MDhBXFx1NTA4RVxcdTUwOEZcXHU1MDkwXCJdLFxuICAgICAgW1wiOGZiMmExXCIsIFwiXFx1NTA5MlxcdTUwOTNcXHU1MDk0XFx1NTA5NlxcdTUwOUJcXHU1MDlDXFx1NTA5RVwiLCA0LCBcIlxcdTUwQUFcXHU1MEFGXFx1NTBCMFxcdTUwQjlcXHU1MEJBXFx1NTBCRFxcdTUwQzBcXHU1MEMzXFx1NTBDNFxcdTUwQzdcXHU1MENDXFx1NTBDRVxcdTUwRDBcXHU1MEQzXFx1NTBENFxcdTUwRDhcXHU1MERDXFx1NTBERFxcdTUwREZcXHU1MEUyXFx1NTBFNFxcdTUwRTZcXHU1MEU4XFx1NTBFOVxcdTUwRUZcXHU1MEYxXFx1NTBGNlxcdTUwRkFcXHU1MEZFXFx1NTEwM1xcdTUxMDZcXHU1MTA3XFx1NTEwOFxcdTUxMEJcXHU1MTBDXFx1NTEwRFxcdTUxMEVcXHU1MEYyXFx1NTExMFxcdTUxMTdcXHU1MTE5XFx1NTExQlxcdTUxMUNcXHU1MTFEXFx1NTExRVxcdTUxMjNcXHU1MTI3XFx1NTEyOFxcdTUxMkNcXHU1MTJEXFx1NTEyRlxcdTUxMzFcXHU1MTMzXFx1NTEzNFxcdTUxMzVcXHU1MTM4XFx1NTEzOVxcdTUxNDJcXHU1MTRBXFx1NTE0RlxcdTUxNTNcXHU1MTU1XFx1NTE1N1xcdTUxNThcXHU1MTVGXFx1NTE2NFxcdTUxNjZcXHU1MTdFXFx1NTE4M1xcdTUxODRcXHU1MThCXFx1NTE4RVxcdTUxOThcXHU1MTlEXFx1NTFBMVxcdTUxQTNcXHU1MUFEXFx1NTFCOFxcdTUxQkFcXHU1MUJDXFx1NTFCRVxcdTUxQkZcXHU1MUMyXCJdLFxuICAgICAgW1wiOGZiM2ExXCIsIFwiXFx1NTFDOFxcdTUxQ0ZcXHU1MUQxXFx1NTFEMlxcdTUxRDNcXHU1MUQ1XFx1NTFEOFxcdTUxREVcXHU1MUUyXFx1NTFFNVxcdTUxRUVcXHU1MUYyXFx1NTFGM1xcdTUxRjRcXHU1MUY3XFx1NTIwMVxcdTUyMDJcXHU1MjA1XFx1NTIxMlxcdTUyMTNcXHU1MjE1XFx1NTIxNlxcdTUyMThcXHU1MjIyXFx1NTIyOFxcdTUyMzFcXHU1MjMyXFx1NTIzNVxcdTUyM0NcXHU1MjQ1XFx1NTI0OVxcdTUyNTVcXHU1MjU3XFx1NTI1OFxcdTUyNUFcXHU1MjVDXFx1NTI1RlxcdTUyNjBcXHU1MjYxXFx1NTI2NlxcdTUyNkVcXHU1Mjc3XFx1NTI3OFxcdTUyNzlcXHU1MjgwXFx1NTI4MlxcdTUyODVcXHU1MjhBXFx1NTI4Q1xcdTUyOTNcXHU1Mjk1XFx1NTI5NlxcdTUyOTdcXHU1Mjk4XFx1NTI5QVxcdTUyOUNcXHU1MkE0XFx1NTJBNVxcdTUyQTZcXHU1MkE3XFx1NTJBRlxcdTUyQjBcXHU1MkI2XFx1NTJCN1xcdTUyQjhcXHU1MkJBXFx1NTJCQlxcdTUyQkRcXHU1MkMwXFx1NTJDNFxcdTUyQzZcXHU1MkM4XFx1NTJDQ1xcdTUyQ0ZcXHU1MkQxXFx1NTJENFxcdTUyRDZcXHU1MkRCXFx1NTJEQ1xcdTUyRTFcXHU1MkU1XFx1NTJFOFxcdTUyRTlcXHU1MkVBXFx1NTJFQ1xcdTUyRjBcXHU1MkYxXFx1NTJGNFxcdTUyRjZcXHU1MkY3XFx1NTMwMFxcdTUzMDNcXHU1MzBBXFx1NTMwQlwiXSxcbiAgICAgIFtcIjhmYjRhMVwiLCBcIlxcdTUzMENcXHU1MzExXFx1NTMxM1xcdTUzMThcXHU1MzFCXFx1NTMxQ1xcdTUzMUVcXHU1MzFGXFx1NTMyNVxcdTUzMjdcXHU1MzI4XFx1NTMyOVxcdTUzMkJcXHU1MzJDXFx1NTMyRFxcdTUzMzBcXHU1MzMyXFx1NTMzNVxcdTUzM0NcXHU1MzNEXFx1NTMzRVxcdTUzNDJcXHU1MzRDXFx1NTM0QlxcdTUzNTlcXHU1MzVCXFx1NTM2MVxcdTUzNjNcXHU1MzY1XFx1NTM2Q1xcdTUzNkRcXHU1MzcyXFx1NTM3OVxcdTUzN0VcXHU1MzgzXFx1NTM4N1xcdTUzODhcXHU1MzhFXFx1NTM5M1xcdTUzOTRcXHU1Mzk5XFx1NTM5RFxcdTUzQTFcXHU1M0E0XFx1NTNBQVxcdTUzQUJcXHU1M0FGXFx1NTNCMlxcdTUzQjRcXHU1M0I1XFx1NTNCN1xcdTUzQjhcXHU1M0JBXFx1NTNCRFxcdTUzQzBcXHU1M0M1XFx1NTNDRlxcdTUzRDJcXHU1M0QzXFx1NTNENVxcdTUzREFcXHU1M0REXFx1NTNERVxcdTUzRTBcXHU1M0U2XFx1NTNFN1xcdTUzRjVcXHU1NDAyXFx1NTQxM1xcdTU0MUFcXHU1NDIxXFx1NTQyN1xcdTU0MjhcXHU1NDJBXFx1NTQyRlxcdTU0MzFcXHU1NDM0XFx1NTQzNVxcdTU0NDNcXHU1NDQ0XFx1NTQ0N1xcdTU0NERcXHU1NDRGXFx1NTQ1RVxcdTU0NjJcXHU1NDY0XFx1NTQ2NlxcdTU0NjdcXHU1NDY5XFx1NTQ2QlxcdTU0NkRcXHU1NDZFXFx1NTQ3NFxcdTU0N0ZcIl0sXG4gICAgICBbXCI4ZmI1YTFcIiwgXCJcXHU1NDgxXFx1NTQ4M1xcdTU0ODVcXHU1NDg4XFx1NTQ4OVxcdTU0OERcXHU1NDkxXFx1NTQ5NVxcdTU0OTZcXHU1NDlDXFx1NTQ5RlxcdTU0QTFcXHU1NEE2XFx1NTRBN1xcdTU0QTlcXHU1NEFBXFx1NTRBRFxcdTU0QUVcXHU1NEIxXFx1NTRCN1xcdTU0QjlcXHU1NEJBXFx1NTRCQlxcdTU0QkZcXHU1NEM2XFx1NTRDQVxcdTU0Q0RcXHU1NENFXFx1NTRFMFxcdTU0RUFcXHU1NEVDXFx1NTRFRlxcdTU0RjZcXHU1NEZDXFx1NTRGRVxcdTU0RkZcXHU1NTAwXFx1NTUwMVxcdTU1MDVcXHU1NTA4XFx1NTUwOVxcdTU1MENcXHU1NTBEXFx1NTUwRVxcdTU1MTVcXHU1NTJBXFx1NTUyQlxcdTU1MzJcXHU1NTM1XFx1NTUzNlxcdTU1M0JcXHU1NTNDXFx1NTUzRFxcdTU1NDFcXHU1NTQ3XFx1NTU0OVxcdTU1NEFcXHU1NTREXFx1NTU1MFxcdTU1NTFcXHU1NTU4XFx1NTU1QVxcdTU1NUJcXHU1NTVFXFx1NTU2MFxcdTU1NjFcXHU1NTY0XFx1NTU2NlxcdTU1N0ZcXHU1NTgxXFx1NTU4MlxcdTU1ODZcXHU1NTg4XFx1NTU4RVxcdTU1OEZcXHU1NTkxXFx1NTU5MlxcdTU1OTNcXHU1NTk0XFx1NTU5N1xcdTU1QTNcXHU1NUE0XFx1NTVBRFxcdTU1QjJcXHU1NUJGXFx1NTVDMVxcdTU1QzNcXHU1NUM2XFx1NTVDOVxcdTU1Q0JcXHU1NUNDXFx1NTVDRVxcdTU1RDFcXHU1NUQyXCJdLFxuICAgICAgW1wiOGZiNmExXCIsIFwiXFx1NTVEM1xcdTU1RDdcXHU1NUQ4XFx1NTVEQlxcdTU1REVcXHU1NUUyXFx1NTVFOVxcdTU1RjZcXHU1NUZGXFx1NTYwNVxcdTU2MDhcXHU1NjBBXFx1NTYwRFwiLCA1LCBcIlxcdTU2MTlcXHU1NjJDXFx1NTYzMFxcdTU2MzNcXHU1NjM1XFx1NTYzN1xcdTU2MzlcXHU1NjNCXFx1NTYzQ1xcdTU2M0RcXHU1NjNGXFx1NTY0MFxcdTU2NDFcXHU1NjQzXFx1NTY0NFxcdTU2NDZcXHU1NjQ5XFx1NTY0QlxcdTU2NERcXHU1NjRGXFx1NTY1NFxcdTU2NUVcXHU1NjYwXFx1NTY2MVxcdTU2NjJcXHU1NjYzXFx1NTY2NlxcdTU2NjlcXHU1NjZEXFx1NTY2RlxcdTU2NzFcXHU1NjcyXFx1NTY3NVxcdTU2ODRcXHU1Njg1XFx1NTY4OFxcdTU2OEJcXHU1NjhDXFx1NTY5NVxcdTU2OTlcXHU1NjlBXFx1NTY5RFxcdTU2OUVcXHU1NjlGXFx1NTZBNlxcdTU2QTdcXHU1NkE4XFx1NTZBOVxcdTU2QUJcXHU1NkFDXFx1NTZBRFxcdTU2QjFcXHU1NkIzXFx1NTZCN1xcdTU2QkVcXHU1NkM1XFx1NTZDOVxcdTU2Q0FcXHU1NkNCXFx1NTZDRlxcdTU2RDBcXHU1NkNDXFx1NTZDRFxcdTU2RDlcXHU1NkRDXFx1NTZERFxcdTU2REZcXHU1NkUxXFx1NTZFNFwiLCA0LCBcIlxcdTU2RjFcXHU1NkVCXFx1NTZFRFwiXSxcbiAgICAgIFtcIjhmYjdhMVwiLCBcIlxcdTU2RjZcXHU1NkY3XFx1NTcwMVxcdTU3MDJcXHU1NzA3XFx1NTcwQVxcdTU3MENcXHU1NzExXFx1NTcxNVxcdTU3MUFcXHU1NzFCXFx1NTcxRFxcdTU3MjBcXHU1NzIyXFx1NTcyM1xcdTU3MjRcXHU1NzI1XFx1NTcyOVxcdTU3MkFcXHU1NzJDXFx1NTcyRVxcdTU3MkZcXHU1NzMzXFx1NTczNFxcdTU3M0RcXHU1NzNFXFx1NTczRlxcdTU3NDVcXHU1NzQ2XFx1NTc0Q1xcdTU3NERcXHU1NzUyXFx1NTc2MlxcdTU3NjVcXHU1NzY3XFx1NTc2OFxcdTU3NkJcXHU1NzZEXCIsIDQsIFwiXFx1NTc3M1xcdTU3NzRcXHU1Nzc1XFx1NTc3N1xcdTU3NzlcXHU1NzdBXFx1NTc3QlxcdTU3N0NcXHU1NzdFXFx1NTc4MVxcdTU3ODNcXHU1NzhDXFx1NTc5NFxcdTU3OTdcXHU1Nzk5XFx1NTc5QVxcdTU3OUNcXHU1NzlEXFx1NTc5RVxcdTU3OUZcXHU1N0ExXFx1NTc5NVxcdTU3QTdcXHU1N0E4XFx1NTdBOVxcdTU3QUNcXHU1N0I4XFx1NTdCRFxcdTU3QzdcXHU1N0M4XFx1NTdDQ1xcdTU3Q0ZcXHU1N0Q1XFx1NTdERFxcdTU3REVcXHU1N0U0XFx1NTdFNlxcdTU3RTdcXHU1N0U5XFx1NTdFRFxcdTU3RjBcXHU1N0Y1XFx1NTdGNlxcdTU3RjhcXHU1N0ZEXFx1NTdGRVxcdTU3RkZcXHU1ODAzXFx1NTgwNFxcdTU4MDhcXHU1ODA5XFx1NTdFMVwiXSxcbiAgICAgIFtcIjhmYjhhMVwiLCBcIlxcdTU4MENcXHU1ODBEXFx1NTgxQlxcdTU4MUVcXHU1ODFGXFx1NTgyMFxcdTU4MjZcXHU1ODI3XFx1NTgyRFxcdTU4MzJcXHU1ODM5XFx1NTgzRlxcdTU4NDlcXHU1ODRDXFx1NTg0RFxcdTU4NEZcXHU1ODUwXFx1NTg1NVxcdTU4NUZcXHU1ODYxXFx1NTg2NFxcdTU4NjdcXHU1ODY4XFx1NTg3OFxcdTU4N0NcXHU1ODdGXFx1NTg4MFxcdTU4ODFcXHU1ODg3XFx1NTg4OFxcdTU4ODlcXHU1ODhBXFx1NTg4Q1xcdTU4OERcXHU1ODhGXFx1NTg5MFxcdTU4OTRcXHU1ODk2XFx1NTg5RFxcdTU4QTBcXHU1OEExXFx1NThBMlxcdTU4QTZcXHU1OEE5XFx1NThCMVxcdTU4QjJcXHU1OEM0XFx1NThCQ1xcdTU4QzJcXHU1OEM4XFx1NThDRFxcdTU4Q0VcXHU1OEQwXFx1NThEMlxcdTU4RDRcXHU1OEQ2XFx1NThEQVxcdTU4RERcXHU1OEUxXFx1NThFMlxcdTU4RTlcXHU1OEYzXFx1NTkwNVxcdTU5MDZcXHU1OTBCXFx1NTkwQ1xcdTU5MTJcXHU1OTEzXFx1NTkxNFxcdTg2NDFcXHU1OTFEXFx1NTkyMVxcdTU5MjNcXHU1OTI0XFx1NTkyOFxcdTU5MkZcXHU1OTMwXFx1NTkzM1xcdTU5MzVcXHU1OTM2XFx1NTkzRlxcdTU5NDNcXHU1OTQ2XFx1NTk1MlxcdTU5NTNcXHU1OTU5XFx1NTk1QlxcdTU5NURcXHU1OTVFXFx1NTk1RlxcdTU5NjFcXHU1OTYzXFx1NTk2QlxcdTU5NkRcIl0sXG4gICAgICBbXCI4ZmI5YTFcIiwgXCJcXHU1OTZGXFx1NTk3MlxcdTU5NzVcXHU1OTc2XFx1NTk3OVxcdTU5N0JcXHU1OTdDXFx1NTk4QlxcdTU5OENcXHU1OThFXFx1NTk5MlxcdTU5OTVcXHU1OTk3XFx1NTk5RlxcdTU5QTRcXHU1OUE3XFx1NTlBRFxcdTU5QUVcXHU1OUFGXFx1NTlCMFxcdTU5QjNcXHU1OUI3XFx1NTlCQVxcdTU5QkNcXHU1OUMxXFx1NTlDM1xcdTU5QzRcXHU1OUM4XFx1NTlDQVxcdTU5Q0RcXHU1OUQyXFx1NTlERFxcdTU5REVcXHU1OURGXFx1NTlFM1xcdTU5RTRcXHU1OUU3XFx1NTlFRVxcdTU5RUZcXHU1OUYxXFx1NTlGMlxcdTU5RjRcXHU1OUY3XFx1NUEwMFxcdTVBMDRcXHU1QTBDXFx1NUEwRFxcdTVBMEVcXHU1QTEyXFx1NUExM1xcdTVBMUVcXHU1QTIzXFx1NUEyNFxcdTVBMjdcXHU1QTI4XFx1NUEyQVxcdTVBMkRcXHU1QTMwXFx1NUE0NFxcdTVBNDVcXHU1QTQ3XFx1NUE0OFxcdTVBNENcXHU1QTUwXFx1NUE1NVxcdTVBNUVcXHU1QTYzXFx1NUE2NVxcdTVBNjdcXHU1QTZEXFx1NUE3N1xcdTVBN0FcXHU1QTdCXFx1NUE3RVxcdTVBOEJcXHU1QTkwXFx1NUE5M1xcdTVBOTZcXHU1QTk5XFx1NUE5Q1xcdTVBOUVcXHU1QTlGXFx1NUFBMFxcdTVBQTJcXHU1QUE3XFx1NUFBQ1xcdTVBQjFcXHU1QUIyXFx1NUFCM1xcdTVBQjVcXHU1QUI4XFx1NUFCQVxcdTVBQkJcXHU1QUJGXCJdLFxuICAgICAgW1wiOGZiYWExXCIsIFwiXFx1NUFDNFxcdTVBQzZcXHU1QUM4XFx1NUFDRlxcdTVBREFcXHU1QURDXFx1NUFFMFxcdTVBRTVcXHU1QUVBXFx1NUFFRVxcdTVBRjVcXHU1QUY2XFx1NUFGRFxcdTVCMDBcXHU1QjAxXFx1NUIwOFxcdTVCMTdcXHU1QjM0XFx1NUIxOVxcdTVCMUJcXHU1QjFEXFx1NUIyMVxcdTVCMjVcXHU1QjJEXFx1NUIzOFxcdTVCNDFcXHU1QjRCXFx1NUI0Q1xcdTVCNTJcXHU1QjU2XFx1NUI1RVxcdTVCNjhcXHU1QjZFXFx1NUI2RlxcdTVCN0NcXHU1QjdEXFx1NUI3RVxcdTVCN0ZcXHU1QjgxXFx1NUI4NFxcdTVCODZcXHU1QjhBXFx1NUI4RVxcdTVCOTBcXHU1QjkxXFx1NUI5M1xcdTVCOTRcXHU1Qjk2XFx1NUJBOFxcdTVCQTlcXHU1QkFDXFx1NUJBRFxcdTVCQUZcXHU1QkIxXFx1NUJCMlxcdTVCQjdcXHU1QkJBXFx1NUJCQ1xcdTVCQzBcXHU1QkMxXFx1NUJDRFxcdTVCQ0ZcXHU1QkQ2XCIsIDQsIFwiXFx1NUJFMFxcdTVCRUZcXHU1QkYxXFx1NUJGNFxcdTVCRkRcXHU1QzBDXFx1NUMxN1xcdTVDMUVcXHU1QzFGXFx1NUMyM1xcdTVDMjZcXHU1QzI5XFx1NUMyQlxcdTVDMkNcXHU1QzJFXFx1NUMzMFxcdTVDMzJcXHU1QzM1XFx1NUMzNlxcdTVDNTlcXHU1QzVBXFx1NUM1Q1xcdTVDNjJcXHU1QzYzXFx1NUM2N1xcdTVDNjhcXHU1QzY5XCJdLFxuICAgICAgW1wiOGZiYmExXCIsIFwiXFx1NUM2RFxcdTVDNzBcXHU1Qzc0XFx1NUM3NVxcdTVDN0FcXHU1QzdCXFx1NUM3Q1xcdTVDN0RcXHU1Qzg3XFx1NUM4OFxcdTVDOEFcXHU1QzhGXFx1NUM5MlxcdTVDOURcXHU1QzlGXFx1NUNBMFxcdTVDQTJcXHU1Q0EzXFx1NUNBNlxcdTVDQUFcXHU1Q0IyXFx1NUNCNFxcdTVDQjVcXHU1Q0JBXFx1NUNDOVxcdTVDQ0JcXHU1Q0QyXFx1NUNERFxcdTVDRDdcXHU1Q0VFXFx1NUNGMVxcdTVDRjJcXHU1Q0Y0XFx1NUQwMVxcdTVEMDZcXHU1RDBEXFx1NUQxMlxcdTVEMkJcXHU1RDIzXFx1NUQyNFxcdTVEMjZcXHU1RDI3XFx1NUQzMVxcdTVEMzRcXHU1RDM5XFx1NUQzRFxcdTVEM0ZcXHU1RDQyXFx1NUQ0M1xcdTVENDZcXHU1RDQ4XFx1NUQ1NVxcdTVENTFcXHU1RDU5XFx1NUQ0QVxcdTVENUZcXHU1RDYwXFx1NUQ2MVxcdTVENjJcXHU1RDY0XFx1NUQ2QVxcdTVENkRcXHU1RDcwXFx1NUQ3OVxcdTVEN0FcXHU1RDdFXFx1NUQ3RlxcdTVEODFcXHU1RDgzXFx1NUQ4OFxcdTVEOEFcXHU1RDkyXFx1NUQ5M1xcdTVEOTRcXHU1RDk1XFx1NUQ5OVxcdTVEOUJcXHU1RDlGXFx1NURBMFxcdTVEQTdcXHU1REFCXFx1NURCMFxcdTVEQjRcXHU1REI4XFx1NURCOVxcdTVEQzNcXHU1REM3XFx1NURDQlxcdTVERDBcXHU1RENFXFx1NUREOFxcdTVERDlcXHU1REUwXFx1NURFNFwiXSxcbiAgICAgIFtcIjhmYmNhMVwiLCBcIlxcdTVERTlcXHU1REY4XFx1NURGOVxcdTVFMDBcXHU1RTA3XFx1NUUwRFxcdTVFMTJcXHU1RTE0XFx1NUUxNVxcdTVFMThcXHU1RTFGXFx1NUUyMFxcdTVFMkVcXHU1RTI4XFx1NUUzMlxcdTVFMzVcXHU1RTNFXFx1NUU0QlxcdTVFNTBcXHU1RTQ5XFx1NUU1MVxcdTVFNTZcXHU1RTU4XFx1NUU1QlxcdTVFNUNcXHU1RTVFXFx1NUU2OFxcdTVFNkFcIiwgNCwgXCJcXHU1RTcwXFx1NUU4MFxcdTVFOEJcXHU1RThFXFx1NUVBMlxcdTVFQTRcXHU1RUE1XFx1NUVBOFxcdTVFQUFcXHU1RUFDXFx1NUVCMVxcdTVFQjNcXHU1RUJEXFx1NUVCRVxcdTVFQkZcXHU1RUM2XFx1NUVDQ1xcdTVFQ0JcXHU1RUNFXFx1NUVEMVxcdTVFRDJcXHU1RUQ0XFx1NUVENVxcdTVFRENcXHU1RURFXFx1NUVFNVxcdTVFRUJcXHU1RjAyXFx1NUYwNlxcdTVGMDdcXHU1RjA4XFx1NUYwRVxcdTVGMTlcXHU1RjFDXFx1NUYxRFxcdTVGMjFcXHU1RjIyXFx1NUYyM1xcdTVGMjRcXHU1RjI4XFx1NUYyQlxcdTVGMkNcXHU1RjJFXFx1NUYzMFxcdTVGMzRcXHU1RjM2XFx1NUYzQlxcdTVGM0RcXHU1RjNGXFx1NUY0MFxcdTVGNDRcXHU1RjQ1XFx1NUY0N1xcdTVGNERcXHU1RjUwXFx1NUY1NFxcdTVGNThcXHU1RjVCXFx1NUY2MFxcdTVGNjNcXHU1RjY0XFx1NUY2N1wiXSxcbiAgICAgIFtcIjhmYmRhMVwiLCBcIlxcdTVGNkZcXHU1RjcyXFx1NUY3NFxcdTVGNzVcXHU1Rjc4XFx1NUY3QVxcdTVGN0RcXHU1RjdFXFx1NUY4OVxcdTVGOERcXHU1RjhGXFx1NUY5NlxcdTVGOUNcXHU1RjlEXFx1NUZBMlxcdTVGQTdcXHU1RkFCXFx1NUZBNFxcdTVGQUNcXHU1RkFGXFx1NUZCMFxcdTVGQjFcXHU1RkI4XFx1NUZDNFxcdTVGQzdcXHU1RkM4XFx1NUZDOVxcdTVGQ0JcXHU1RkQwXCIsIDQsIFwiXFx1NUZERVxcdTVGRTFcXHU1RkUyXFx1NUZFOFxcdTVGRTlcXHU1RkVBXFx1NUZFQ1xcdTVGRURcXHU1RkVFXFx1NUZFRlxcdTVGRjJcXHU1RkYzXFx1NUZGNlxcdTVGRkFcXHU1RkZDXFx1NjAwN1xcdTYwMEFcXHU2MDBEXFx1NjAxM1xcdTYwMTRcXHU2MDE3XFx1NjAxOFxcdTYwMUFcXHU2MDFGXFx1NjAyNFxcdTYwMkRcXHU2MDMzXFx1NjAzNVxcdTYwNDBcXHU2MDQ3XFx1NjA0OFxcdTYwNDlcXHU2MDRDXFx1NjA1MVxcdTYwNTRcXHU2MDU2XFx1NjA1N1xcdTYwNURcXHU2MDYxXFx1NjA2N1xcdTYwNzFcXHU2MDdFXFx1NjA3RlxcdTYwODJcXHU2MDg2XFx1NjA4OFxcdTYwOEFcXHU2MDhFXFx1NjA5MVxcdTYwOTNcXHU2MDk1XFx1NjA5OFxcdTYwOURcXHU2MDlFXFx1NjBBMlxcdTYwQTRcXHU2MEE1XFx1NjBBOFxcdTYwQjBcXHU2MEIxXFx1NjBCN1wiXSxcbiAgICAgIFtcIjhmYmVhMVwiLCBcIlxcdTYwQkJcXHU2MEJFXFx1NjBDMlxcdTYwQzRcXHU2MEM4XFx1NjBDOVxcdTYwQ0FcXHU2MENCXFx1NjBDRVxcdTYwQ0ZcXHU2MEQ0XFx1NjBENVxcdTYwRDlcXHU2MERCXFx1NjBERFxcdTYwREVcXHU2MEUyXFx1NjBFNVxcdTYwRjJcXHU2MEY1XFx1NjBGOFxcdTYwRkNcXHU2MEZEXFx1NjEwMlxcdTYxMDdcXHU2MTBBXFx1NjEwQ1xcdTYxMTBcIiwgNCwgXCJcXHU2MTE2XFx1NjExN1xcdTYxMTlcXHU2MTFDXFx1NjExRVxcdTYxMjJcXHU2MTJBXFx1NjEyQlxcdTYxMzBcXHU2MTMxXFx1NjEzNVxcdTYxMzZcXHU2MTM3XFx1NjEzOVxcdTYxNDFcXHU2MTQ1XFx1NjE0NlxcdTYxNDlcXHU2MTVFXFx1NjE2MFxcdTYxNkNcXHU2MTcyXFx1NjE3OFxcdTYxN0JcXHU2MTdDXFx1NjE3RlxcdTYxODBcXHU2MTgxXFx1NjE4M1xcdTYxODRcXHU2MThCXFx1NjE4RFxcdTYxOTJcXHU2MTkzXFx1NjE5N1xcdTYxOThcXHU2MTlDXFx1NjE5RFxcdTYxOUZcXHU2MUEwXFx1NjFBNVxcdTYxQThcXHU2MUFBXFx1NjFBRFxcdTYxQjhcXHU2MUI5XFx1NjFCQ1xcdTYxQzBcXHU2MUMxXFx1NjFDMlxcdTYxQ0VcXHU2MUNGXFx1NjFENVxcdTYxRENcXHU2MUREXFx1NjFERVxcdTYxREZcXHU2MUUxXFx1NjFFMlxcdTYxRTdcXHU2MUU5XFx1NjFFNVwiXSxcbiAgICAgIFtcIjhmYmZhMVwiLCBcIlxcdTYxRUNcXHU2MUVEXFx1NjFFRlxcdTYyMDFcXHU2MjAzXFx1NjIwNFxcdTYyMDdcXHU2MjEzXFx1NjIxNVxcdTYyMUNcXHU2MjIwXFx1NjIyMlxcdTYyMjNcXHU2MjI3XFx1NjIyOVxcdTYyMkJcXHU2MjM5XFx1NjIzRFxcdTYyNDJcXHU2MjQzXFx1NjI0NFxcdTYyNDZcXHU2MjRDXFx1NjI1MFxcdTYyNTFcXHU2MjUyXFx1NjI1NFxcdTYyNTZcXHU2MjVBXFx1NjI1Q1xcdTYyNjRcXHU2MjZEXFx1NjI2RlxcdTYyNzNcXHU2MjdBXFx1NjI3RFxcdTYyOERcXHU2MjhFXFx1NjI4RlxcdTYyOTBcXHU2MkE2XFx1NjJBOFxcdTYyQjNcXHU2MkI2XFx1NjJCN1xcdTYyQkFcXHU2MkJFXFx1NjJCRlxcdTYyQzRcXHU2MkNFXFx1NjJENVxcdTYyRDZcXHU2MkRBXFx1NjJFQVxcdTYyRjJcXHU2MkY0XFx1NjJGQ1xcdTYyRkRcXHU2MzAzXFx1NjMwNFxcdTYzMEFcXHU2MzBCXFx1NjMwRFxcdTYzMTBcXHU2MzEzXFx1NjMxNlxcdTYzMThcXHU2MzI5XFx1NjMyQVxcdTYzMkRcXHU2MzM1XFx1NjMzNlxcdTYzMzlcXHU2MzNDXFx1NjM0MVxcdTYzNDJcXHU2MzQzXFx1NjM0NFxcdTYzNDZcXHU2MzRBXFx1NjM0QlxcdTYzNEVcXHU2MzUyXFx1NjM1M1xcdTYzNTRcXHU2MzU4XFx1NjM1QlxcdTYzNjVcXHU2MzY2XFx1NjM2Q1xcdTYzNkRcXHU2MzcxXFx1NjM3NFxcdTYzNzVcIl0sXG4gICAgICBbXCI4ZmMwYTFcIiwgXCJcXHU2Mzc4XFx1NjM3Q1xcdTYzN0RcXHU2MzdGXFx1NjM4MlxcdTYzODRcXHU2Mzg3XFx1NjM4QVxcdTYzOTBcXHU2Mzk0XFx1NjM5NVxcdTYzOTlcXHU2MzlBXFx1NjM5RVxcdTYzQTRcXHU2M0E2XFx1NjNBRFxcdTYzQUVcXHU2M0FGXFx1NjNCRFxcdTYzQzFcXHU2M0M1XFx1NjNDOFxcdTYzQ0VcXHU2M0QxXFx1NjNEM1xcdTYzRDRcXHU2M0Q1XFx1NjNEQ1xcdTYzRTBcXHU2M0U1XFx1NjNFQVxcdTYzRUNcXHU2M0YyXFx1NjNGM1xcdTYzRjVcXHU2M0Y4XFx1NjNGOVxcdTY0MDlcXHU2NDBBXFx1NjQxMFxcdTY0MTJcXHU2NDE0XFx1NjQxOFxcdTY0MUVcXHU2NDIwXFx1NjQyMlxcdTY0MjRcXHU2NDI1XFx1NjQyOVxcdTY0MkFcXHU2NDJGXFx1NjQzMFxcdTY0MzVcXHU2NDNEXFx1NjQzRlxcdTY0NEJcXHU2NDRGXFx1NjQ1MVxcdTY0NTJcXHU2NDUzXFx1NjQ1NFxcdTY0NUFcXHU2NDVCXFx1NjQ1Q1xcdTY0NURcXHU2NDVGXFx1NjQ2MFxcdTY0NjFcXHU2NDYzXFx1NjQ2RFxcdTY0NzNcXHU2NDc0XFx1NjQ3QlxcdTY0N0RcXHU2NDg1XFx1NjQ4N1xcdTY0OEZcXHU2NDkwXFx1NjQ5MVxcdTY0OThcXHU2NDk5XFx1NjQ5QlxcdTY0OURcXHU2NDlGXFx1NjRBMVxcdTY0QTNcXHU2NEE2XFx1NjRBOFxcdTY0QUNcXHU2NEIzXFx1NjRCRFxcdTY0QkVcXHU2NEJGXCJdLFxuICAgICAgW1wiOGZjMWExXCIsIFwiXFx1NjRDNFxcdTY0QzlcXHU2NENBXFx1NjRDQlxcdTY0Q0NcXHU2NENFXFx1NjREMFxcdTY0RDFcXHU2NEQ1XFx1NjREN1xcdTY0RTRcXHU2NEU1XFx1NjRFOVxcdTY0RUFcXHU2NEVEXFx1NjRGMFxcdTY0RjVcXHU2NEY3XFx1NjRGQlxcdTY0RkZcXHU2NTAxXFx1NjUwNFxcdTY1MDhcXHU2NTA5XFx1NjUwQVxcdTY1MEZcXHU2NTEzXFx1NjUxNFxcdTY1MTZcXHU2NTE5XFx1NjUxQlxcdTY1MUVcXHU2NTFGXFx1NjUyMlxcdTY1MjZcXHU2NTI5XFx1NjUyRVxcdTY1MzFcXHU2NTNBXFx1NjUzQ1xcdTY1M0RcXHU2NTQzXFx1NjU0N1xcdTY1NDlcXHU2NTUwXFx1NjU1MlxcdTY1NTRcXHU2NTVGXFx1NjU2MFxcdTY1NjdcXHU2NTZCXFx1NjU3QVxcdTY1N0RcXHU2NTgxXFx1NjU4NVxcdTY1OEFcXHU2NTkyXFx1NjU5NVxcdTY1OThcXHU2NTlEXFx1NjVBMFxcdTY1QTNcXHU2NUE2XFx1NjVBRVxcdTY1QjJcXHU2NUIzXFx1NjVCNFxcdTY1QkZcXHU2NUMyXFx1NjVDOFxcdTY1QzlcXHU2NUNFXFx1NjVEMFxcdTY1RDRcXHU2NUQ2XFx1NjVEOFxcdTY1REZcXHU2NUYwXFx1NjVGMlxcdTY1RjRcXHU2NUY1XFx1NjVGOVxcdTY1RkVcXHU2NUZGXFx1NjYwMFxcdTY2MDRcXHU2NjA4XFx1NjYwOVxcdTY2MERcXHU2NjExXFx1NjYxMlxcdTY2MTVcXHU2NjE2XFx1NjYxRFwiXSxcbiAgICAgIFtcIjhmYzJhMVwiLCBcIlxcdTY2MUVcXHU2NjIxXFx1NjYyMlxcdTY2MjNcXHU2NjI0XFx1NjYyNlxcdTY2MjlcXHU2NjJBXFx1NjYyQlxcdTY2MkNcXHU2NjJFXFx1NjYzMFxcdTY2MzFcXHU2NjMzXFx1NjYzOVxcdTY2MzdcXHU2NjQwXFx1NjY0NVxcdTY2NDZcXHU2NjRBXFx1NjY0Q1xcdTY2NTFcXHU2NjRFXFx1NjY1N1xcdTY2NThcXHU2NjU5XFx1NjY1QlxcdTY2NUNcXHU2NjYwXFx1NjY2MVxcdTY2RkJcXHU2NjZBXFx1NjY2QlxcdTY2NkNcXHU2NjdFXFx1NjY3M1xcdTY2NzVcXHU2NjdGXFx1NjY3N1xcdTY2NzhcXHU2Njc5XFx1NjY3QlxcdTY2ODBcXHU2NjdDXFx1NjY4QlxcdTY2OENcXHU2NjhEXFx1NjY5MFxcdTY2OTJcXHU2Njk5XFx1NjY5QVxcdTY2OUJcXHU2NjlDXFx1NjY5RlxcdTY2QTBcXHU2NkE0XFx1NjZBRFxcdTY2QjFcXHU2NkIyXFx1NjZCNVxcdTY2QkJcXHU2NkJGXFx1NjZDMFxcdTY2QzJcXHU2NkMzXFx1NjZDOFxcdTY2Q0NcXHU2NkNFXFx1NjZDRlxcdTY2RDRcXHU2NkRCXFx1NjZERlxcdTY2RThcXHU2NkVCXFx1NjZFQ1xcdTY2RUVcXHU2NkZBXFx1NjcwNVxcdTY3MDdcXHU2NzBFXFx1NjcxM1xcdTY3MTlcXHU2NzFDXFx1NjcyMFxcdTY3MjJcXHU2NzMzXFx1NjczRVxcdTY3NDVcXHU2NzQ3XFx1Njc0OFxcdTY3NENcXHU2NzU0XFx1Njc1NVxcdTY3NURcIl0sXG4gICAgICBbXCI4ZmMzYTFcIiwgXCJcXHU2NzY2XFx1Njc2Q1xcdTY3NkVcXHU2Nzc0XFx1Njc3NlxcdTY3N0JcXHU2NzgxXFx1Njc4NFxcdTY3OEVcXHU2NzhGXFx1Njc5MVxcdTY3OTNcXHU2Nzk2XFx1Njc5OFxcdTY3OTlcXHU2NzlCXFx1NjdCMFxcdTY3QjFcXHU2N0IyXFx1NjdCNVxcdTY3QkJcXHU2N0JDXFx1NjdCRFxcdTY3RjlcXHU2N0MwXFx1NjdDMlxcdTY3QzNcXHU2N0M1XFx1NjdDOFxcdTY3QzlcXHU2N0QyXFx1NjdEN1xcdTY3RDlcXHU2N0RDXFx1NjdFMVxcdTY3RTZcXHU2N0YwXFx1NjdGMlxcdTY3RjZcXHU2N0Y3XFx1Njg1MlxcdTY4MTRcXHU2ODE5XFx1NjgxRFxcdTY4MUZcXHU2ODI4XFx1NjgyN1xcdTY4MkNcXHU2ODJEXFx1NjgyRlxcdTY4MzBcXHU2ODMxXFx1NjgzM1xcdTY4M0JcXHU2ODNGXFx1Njg0NFxcdTY4NDVcXHU2ODRBXFx1Njg0Q1xcdTY4NTVcXHU2ODU3XFx1Njg1OFxcdTY4NUJcXHU2ODZCXFx1Njg2RVwiLCA0LCBcIlxcdTY4NzVcXHU2ODc5XFx1Njg3QVxcdTY4N0JcXHU2ODdDXFx1Njg4MlxcdTY4ODRcXHU2ODg2XFx1Njg4OFxcdTY4OTZcXHU2ODk4XFx1Njg5QVxcdTY4OUNcXHU2OEExXFx1NjhBM1xcdTY4QTVcXHU2OEE5XFx1NjhBQVxcdTY4QUVcXHU2OEIyXFx1NjhCQlxcdTY4QzVcXHU2OEM4XFx1NjhDQ1xcdTY4Q0ZcIl0sXG4gICAgICBbXCI4ZmM0YTFcIiwgXCJcXHU2OEQwXFx1NjhEMVxcdTY4RDNcXHU2OEQ2XFx1NjhEOVxcdTY4RENcXHU2OEREXFx1NjhFNVxcdTY4RThcXHU2OEVBXFx1NjhFQlxcdTY4RUNcXHU2OEVEXFx1NjhGMFxcdTY4RjFcXHU2OEY1XFx1NjhGNlxcdTY4RkJcXHU2OEZDXFx1NjhGRFxcdTY5MDZcXHU2OTA5XFx1NjkwQVxcdTY5MTBcXHU2OTExXFx1NjkxM1xcdTY5MTZcXHU2OTE3XFx1NjkzMVxcdTY5MzNcXHU2OTM1XFx1NjkzOFxcdTY5M0JcXHU2OTQyXFx1Njk0NVxcdTY5NDlcXHU2OTRFXFx1Njk1N1xcdTY5NUJcXHU2OTYzXFx1Njk2NFxcdTY5NjVcXHU2OTY2XFx1Njk2OFxcdTY5NjlcXHU2OTZDXFx1Njk3MFxcdTY5NzFcXHU2OTcyXFx1Njk3QVxcdTY5N0JcXHU2OTdGXFx1Njk4MFxcdTY5OERcXHU2OTkyXFx1Njk5NlxcdTY5OThcXHU2OUExXFx1NjlBNVxcdTY5QTZcXHU2OUE4XFx1NjlBQlxcdTY5QURcXHU2OUFGXFx1NjlCN1xcdTY5QjhcXHU2OUJBXFx1NjlCQ1xcdTY5QzVcXHU2OUM4XFx1NjlEMVxcdTY5RDZcXHU2OUQ3XFx1NjlFMlxcdTY5RTVcXHU2OUVFXFx1NjlFRlxcdTY5RjFcXHU2OUYzXFx1NjlGNVxcdTY5RkVcXHU2QTAwXFx1NkEwMVxcdTZBMDNcXHU2QTBGXFx1NkExMVxcdTZBMTVcXHU2QTFBXFx1NkExRFxcdTZBMjBcXHU2QTI0XFx1NkEyOFxcdTZBMzBcXHU2QTMyXCJdLFxuICAgICAgW1wiOGZjNWExXCIsIFwiXFx1NkEzNFxcdTZBMzdcXHU2QTNCXFx1NkEzRVxcdTZBM0ZcXHU2QTQ1XFx1NkE0NlxcdTZBNDlcXHU2QTRBXFx1NkE0RVxcdTZBNTBcXHU2QTUxXFx1NkE1MlxcdTZBNTVcXHU2QTU2XFx1NkE1QlxcdTZBNjRcXHU2QTY3XFx1NkE2QVxcdTZBNzFcXHU2QTczXFx1NkE3RVxcdTZBODFcXHU2QTgzXFx1NkE4NlxcdTZBODdcXHU2QTg5XFx1NkE4QlxcdTZBOTFcXHU2QTlCXFx1NkE5RFxcdTZBOUVcXHU2QTlGXFx1NkFBNVxcdTZBQUJcXHU2QUFGXFx1NkFCMFxcdTZBQjFcXHU2QUI0XFx1NkFCRFxcdTZBQkVcXHU2QUJGXFx1NkFDNlxcdTZBQzlcXHU2QUM4XFx1NkFDQ1xcdTZBRDBcXHU2QUQ0XFx1NkFENVxcdTZBRDZcXHU2QURDXFx1NkFERFxcdTZBRTRcXHU2QUU3XFx1NkFFQ1xcdTZBRjBcXHU2QUYxXFx1NkFGMlxcdTZBRkNcXHU2QUZEXFx1NkIwMlxcdTZCMDNcXHU2QjA2XFx1NkIwN1xcdTZCMDlcXHU2QjBGXFx1NkIxMFxcdTZCMTFcXHU2QjE3XFx1NkIxQlxcdTZCMUVcXHU2QjI0XFx1NkIyOFxcdTZCMkJcXHU2QjJDXFx1NkIyRlxcdTZCMzVcXHU2QjM2XFx1NkIzQlxcdTZCM0ZcXHU2QjQ2XFx1NkI0QVxcdTZCNERcXHU2QjUyXFx1NkI1NlxcdTZCNThcXHU2QjVEXFx1NkI2MFxcdTZCNjdcXHU2QjZCXFx1NkI2RVxcdTZCNzBcXHU2Qjc1XFx1NkI3RFwiXSxcbiAgICAgIFtcIjhmYzZhMVwiLCBcIlxcdTZCN0VcXHU2QjgyXFx1NkI4NVxcdTZCOTdcXHU2QjlCXFx1NkI5RlxcdTZCQTBcXHU2QkEyXFx1NkJBM1xcdTZCQThcXHU2QkE5XFx1NkJBQ1xcdTZCQURcXHU2QkFFXFx1NkJCMFxcdTZCQjhcXHU2QkI5XFx1NkJCRFxcdTZCQkVcXHU2QkMzXFx1NkJDNFxcdTZCQzlcXHU2QkNDXFx1NkJENlxcdTZCREFcXHU2QkUxXFx1NkJFM1xcdTZCRTZcXHU2QkU3XFx1NkJFRVxcdTZCRjFcXHU2QkY3XFx1NkJGOVxcdTZCRkZcXHU2QzAyXFx1NkMwNFxcdTZDMDVcXHU2QzA5XFx1NkMwRFxcdTZDMEVcXHU2QzEwXFx1NkMxMlxcdTZDMTlcXHU2QzFGXFx1NkMyNlxcdTZDMjdcXHU2QzI4XFx1NkMyQ1xcdTZDMkVcXHU2QzMzXFx1NkMzNVxcdTZDMzZcXHU2QzNBXFx1NkMzQlxcdTZDM0ZcXHU2QzRBXFx1NkM0QlxcdTZDNERcXHU2QzRGXFx1NkM1MlxcdTZDNTRcXHU2QzU5XFx1NkM1QlxcdTZDNUNcXHU2QzZCXFx1NkM2RFxcdTZDNkZcXHU2Qzc0XFx1NkM3NlxcdTZDNzhcXHU2Qzc5XFx1NkM3QlxcdTZDODVcXHU2Qzg2XFx1NkM4N1xcdTZDODlcXHU2Qzk0XFx1NkM5NVxcdTZDOTdcXHU2Qzk4XFx1NkM5Q1xcdTZDOUZcXHU2Q0IwXFx1NkNCMlxcdTZDQjRcXHU2Q0MyXFx1NkNDNlxcdTZDQ0RcXHU2Q0NGXFx1NkNEMFxcdTZDRDFcXHU2Q0QyXFx1NkNENFxcdTZDRDZcIl0sXG4gICAgICBbXCI4ZmM3YTFcIiwgXCJcXHU2Q0RBXFx1NkNEQ1xcdTZDRTBcXHU2Q0U3XFx1NkNFOVxcdTZDRUJcXHU2Q0VDXFx1NkNFRVxcdTZDRjJcXHU2Q0Y0XFx1NkQwNFxcdTZEMDdcXHU2RDBBXFx1NkQwRVxcdTZEMEZcXHU2RDExXFx1NkQxM1xcdTZEMUFcXHU2RDI2XFx1NkQyN1xcdTZEMjhcXHU2QzY3XFx1NkQyRVxcdTZEMkZcXHU2RDMxXFx1NkQzOVxcdTZEM0NcXHU2RDNGXFx1NkQ1N1xcdTZENUVcXHU2RDVGXFx1NkQ2MVxcdTZENjVcXHU2RDY3XFx1NkQ2RlxcdTZENzBcXHU2RDdDXFx1NkQ4MlxcdTZEODdcXHU2RDkxXFx1NkQ5MlxcdTZEOTRcXHU2RDk2XFx1NkQ5N1xcdTZEOThcXHU2REFBXFx1NkRBQ1xcdTZEQjRcXHU2REI3XFx1NkRCOVxcdTZEQkRcXHU2REJGXFx1NkRDNFxcdTZEQzhcXHU2RENBXFx1NkRDRVxcdTZEQ0ZcXHU2REQ2XFx1NkREQlxcdTZERERcXHU2RERGXFx1NkRFMFxcdTZERTJcXHU2REU1XFx1NkRFOVxcdTZERUZcXHU2REYwXFx1NkRGNFxcdTZERjZcXHU2REZDXFx1NkUwMFxcdTZFMDRcXHU2RTFFXFx1NkUyMlxcdTZFMjdcXHU2RTMyXFx1NkUzNlxcdTZFMzlcXHU2RTNCXFx1NkUzQ1xcdTZFNDRcXHU2RTQ1XFx1NkU0OFxcdTZFNDlcXHU2RTRCXFx1NkU0RlxcdTZFNTFcXHU2RTUyXFx1NkU1M1xcdTZFNTRcXHU2RTU3XFx1NkU1Q1xcdTZFNURcXHU2RTVFXCJdLFxuICAgICAgW1wiOGZjOGExXCIsIFwiXFx1NkU2MlxcdTZFNjNcXHU2RTY4XFx1NkU3M1xcdTZFN0JcXHU2RTdEXFx1NkU4RFxcdTZFOTNcXHU2RTk5XFx1NkVBMFxcdTZFQTdcXHU2RUFEXFx1NkVBRVxcdTZFQjFcXHU2RUIzXFx1NkVCQlxcdTZFQkZcXHU2RUMwXFx1NkVDMVxcdTZFQzNcXHU2RUM3XFx1NkVDOFxcdTZFQ0FcXHU2RUNEXFx1NkVDRVxcdTZFQ0ZcXHU2RUVCXFx1NkVFRFxcdTZFRUVcXHU2RUY5XFx1NkVGQlxcdTZFRkRcXHU2RjA0XFx1NkYwOFxcdTZGMEFcXHU2RjBDXFx1NkYwRFxcdTZGMTZcXHU2RjE4XFx1NkYxQVxcdTZGMUJcXHU2RjI2XFx1NkYyOVxcdTZGMkFcXHU2RjJGXFx1NkYzMFxcdTZGMzNcXHU2RjM2XFx1NkYzQlxcdTZGM0NcXHU2RjJEXFx1NkY0RlxcdTZGNTFcXHU2RjUyXFx1NkY1M1xcdTZGNTdcXHU2RjU5XFx1NkY1QVxcdTZGNURcXHU2RjVFXFx1NkY2MVxcdTZGNjJcXHU2RjY4XFx1NkY2Q1xcdTZGN0RcXHU2RjdFXFx1NkY4M1xcdTZGODdcXHU2Rjg4XFx1NkY4QlxcdTZGOENcXHU2RjhEXFx1NkY5MFxcdTZGOTJcXHU2RjkzXFx1NkY5NFxcdTZGOTZcXHU2RjlBXFx1NkY5RlxcdTZGQTBcXHU2RkE1XFx1NkZBNlxcdTZGQTdcXHU2RkE4XFx1NkZBRVxcdTZGQUZcXHU2RkIwXFx1NkZCNVxcdTZGQjZcXHU2RkJDXFx1NkZDNVxcdTZGQzdcXHU2RkM4XFx1NkZDQVwiXSxcbiAgICAgIFtcIjhmYzlhMVwiLCBcIlxcdTZGREFcXHU2RkRFXFx1NkZFOFxcdTZGRTlcXHU2RkYwXFx1NkZGNVxcdTZGRjlcXHU2RkZDXFx1NkZGRFxcdTcwMDBcXHU3MDA1XFx1NzAwNlxcdTcwMDdcXHU3MDBEXFx1NzAxN1xcdTcwMjBcXHU3MDIzXFx1NzAyRlxcdTcwMzRcXHU3MDM3XFx1NzAzOVxcdTcwM0NcXHU3MDQzXFx1NzA0NFxcdTcwNDhcXHU3MDQ5XFx1NzA0QVxcdTcwNEJcXHU3MDU0XFx1NzA1NVxcdTcwNURcXHU3MDVFXFx1NzA0RVxcdTcwNjRcXHU3MDY1XFx1NzA2Q1xcdTcwNkVcXHU3MDc1XFx1NzA3NlxcdTcwN0VcXHU3MDgxXFx1NzA4NVxcdTcwODZcXHU3MDk0XCIsIDQsIFwiXFx1NzA5QlxcdTcwQTRcXHU3MEFCXFx1NzBCMFxcdTcwQjFcXHU3MEI0XFx1NzBCN1xcdTcwQ0FcXHU3MEQxXFx1NzBEM1xcdTcwRDRcXHU3MEQ1XFx1NzBENlxcdTcwRDhcXHU3MERDXFx1NzBFNFxcdTcwRkFcXHU3MTAzXCIsIDQsIFwiXFx1NzEwQlxcdTcxMENcXHU3MTBGXFx1NzExRVxcdTcxMjBcXHU3MTJCXFx1NzEyRFxcdTcxMkZcXHU3MTMwXFx1NzEzMVxcdTcxMzhcXHU3MTQxXFx1NzE0NVxcdTcxNDZcXHU3MTQ3XFx1NzE0QVxcdTcxNEJcXHU3MTUwXFx1NzE1MlxcdTcxNTdcXHU3MTVBXFx1NzE1Q1xcdTcxNUVcXHU3MTYwXCJdLFxuICAgICAgW1wiOGZjYWExXCIsIFwiXFx1NzE2OFxcdTcxNzlcXHU3MTgwXFx1NzE4NVxcdTcxODdcXHU3MThDXFx1NzE5MlxcdTcxOUFcXHU3MTlCXFx1NzFBMFxcdTcxQTJcXHU3MUFGXFx1NzFCMFxcdTcxQjJcXHU3MUIzXFx1NzFCQVxcdTcxQkZcXHU3MUMwXFx1NzFDMVxcdTcxQzRcXHU3MUNCXFx1NzFDQ1xcdTcxRDNcXHU3MUQ2XFx1NzFEOVxcdTcxREFcXHU3MURDXFx1NzFGOFxcdTcxRkVcXHU3MjAwXFx1NzIwN1xcdTcyMDhcXHU3MjA5XFx1NzIxM1xcdTcyMTdcXHU3MjFBXFx1NzIxRFxcdTcyMUZcXHU3MjI0XFx1NzIyQlxcdTcyMkZcXHU3MjM0XFx1NzIzOFxcdTcyMzlcXHU3MjQxXFx1NzI0MlxcdTcyNDNcXHU3MjQ1XFx1NzI0RVxcdTcyNEZcXHU3MjUwXFx1NzI1M1xcdTcyNTVcXHU3MjU2XFx1NzI1QVxcdTcyNUNcXHU3MjVFXFx1NzI2MFxcdTcyNjNcXHU3MjY4XFx1NzI2QlxcdTcyNkVcXHU3MjZGXFx1NzI3MVxcdTcyNzdcXHU3Mjc4XFx1NzI3QlxcdTcyN0NcXHU3MjdGXFx1NzI4NFxcdTcyODlcXHU3MjhEXFx1NzI4RVxcdTcyOTNcXHU3MjlCXFx1NzJBOFxcdTcyQURcXHU3MkFFXFx1NzJCMVxcdTcyQjRcXHU3MkJFXFx1NzJDMVxcdTcyQzdcXHU3MkM5XFx1NzJDQ1xcdTcyRDVcXHU3MkQ2XFx1NzJEOFxcdTcyREZcXHU3MkU1XFx1NzJGM1xcdTcyRjRcXHU3MkZBXFx1NzJGQlwiXSxcbiAgICAgIFtcIjhmY2JhMVwiLCBcIlxcdTcyRkVcXHU3MzAyXFx1NzMwNFxcdTczMDVcXHU3MzA3XFx1NzMwQlxcdTczMERcXHU3MzEyXFx1NzMxM1xcdTczMThcXHU3MzE5XFx1NzMxRVxcdTczMjJcXHU3MzI0XFx1NzMyN1xcdTczMjhcXHU3MzJDXFx1NzMzMVxcdTczMzJcXHU3MzM1XFx1NzMzQVxcdTczM0JcXHU3MzNEXFx1NzM0M1xcdTczNERcXHU3MzUwXFx1NzM1MlxcdTczNTZcXHU3MzU4XFx1NzM1RFxcdTczNUVcXHU3MzVGXFx1NzM2MFxcdTczNjZcXHU3MzY3XFx1NzM2OVxcdTczNkJcXHU3MzZDXFx1NzM2RVxcdTczNkZcXHU3MzcxXFx1NzM3N1xcdTczNzlcXHU3MzdDXFx1NzM4MFxcdTczODFcXHU3MzgzXFx1NzM4NVxcdTczODZcXHU3MzhFXFx1NzM5MFxcdTczOTNcXHU3Mzk1XFx1NzM5N1xcdTczOThcXHU3MzlDXFx1NzM5RVxcdTczOUZcXHU3M0EwXFx1NzNBMlxcdTczQTVcXHU3M0E2XFx1NzNBQVxcdTczQUJcXHU3M0FEXFx1NzNCNVxcdTczQjdcXHU3M0I5XFx1NzNCQ1xcdTczQkRcXHU3M0JGXFx1NzNDNVxcdTczQzZcXHU3M0M5XFx1NzNDQlxcdTczQ0NcXHU3M0NGXFx1NzNEMlxcdTczRDNcXHU3M0Q2XFx1NzNEOVxcdTczRERcXHU3M0UxXFx1NzNFM1xcdTczRTZcXHU3M0U3XFx1NzNFOVxcdTczRjRcXHU3M0Y1XFx1NzNGN1xcdTczRjlcXHU3M0ZBXFx1NzNGQlxcdTczRkRcIl0sXG4gICAgICBbXCI4ZmNjYTFcIiwgXCJcXHU3M0ZGXFx1NzQwMFxcdTc0MDFcXHU3NDA0XFx1NzQwN1xcdTc0MEFcXHU3NDExXFx1NzQxQVxcdTc0MUJcXHU3NDI0XFx1NzQyNlxcdTc0MjhcIiwgOSwgXCJcXHU3NDM5XFx1NzQ0MFxcdTc0NDNcXHU3NDQ0XFx1NzQ0NlxcdTc0NDdcXHU3NDRCXFx1NzQ0RFxcdTc0NTFcXHU3NDUyXFx1NzQ1N1xcdTc0NURcXHU3NDYyXFx1NzQ2NlxcdTc0NjdcXHU3NDY4XFx1NzQ2QlxcdTc0NkRcXHU3NDZFXFx1NzQ3MVxcdTc0NzJcXHU3NDgwXFx1NzQ4MVxcdTc0ODVcXHU3NDg2XFx1NzQ4N1xcdTc0ODlcXHU3NDhGXFx1NzQ5MFxcdTc0OTFcXHU3NDkyXFx1NzQ5OFxcdTc0OTlcXHU3NDlBXFx1NzQ5Q1xcdTc0OUZcXHU3NEEwXFx1NzRBMVxcdTc0QTNcXHU3NEE2XFx1NzRBOFxcdTc0QTlcXHU3NEFBXFx1NzRBQlxcdTc0QUVcXHU3NEFGXFx1NzRCMVxcdTc0QjJcXHU3NEI1XFx1NzRCOVxcdTc0QkJcXHU3NEJGXFx1NzRDOFxcdTc0QzlcXHU3NENDXFx1NzREMFxcdTc0RDNcXHU3NEQ4XFx1NzREQVxcdTc0REJcXHU3NERFXFx1NzRERlxcdTc0RTRcXHU3NEU4XFx1NzRFQVxcdTc0RUJcXHU3NEVGXFx1NzRGNFxcdTc0RkFcXHU3NEZCXFx1NzRGQ1xcdTc0RkZcXHU3NTA2XCJdLFxuICAgICAgW1wiOGZjZGExXCIsIFwiXFx1NzUxMlxcdTc1MTZcXHU3NTE3XFx1NzUyMFxcdTc1MjFcXHU3NTI0XFx1NzUyN1xcdTc1MjlcXHU3NTJBXFx1NzUyRlxcdTc1MzZcXHU3NTM5XFx1NzUzRFxcdTc1M0VcXHU3NTNGXFx1NzU0MFxcdTc1NDNcXHU3NTQ3XFx1NzU0OFxcdTc1NEVcXHU3NTUwXFx1NzU1MlxcdTc1NTdcXHU3NTVFXFx1NzU1RlxcdTc1NjFcXHU3NTZGXFx1NzU3MVxcdTc1NzlcIiwgNSwgXCJcXHU3NTgxXFx1NzU4NVxcdTc1OTBcXHU3NTkyXFx1NzU5M1xcdTc1OTVcXHU3NTk5XFx1NzU5Q1xcdTc1QTJcXHU3NUE0XFx1NzVCNFxcdTc1QkFcXHU3NUJGXFx1NzVDMFxcdTc1QzFcXHU3NUM0XFx1NzVDNlxcdTc1Q0NcXHU3NUNFXFx1NzVDRlxcdTc1RDdcXHU3NURDXFx1NzVERlxcdTc1RTBcXHU3NUUxXFx1NzVFNFxcdTc1RTdcXHU3NUVDXFx1NzVFRVxcdTc1RUZcXHU3NUYxXFx1NzVGOVxcdTc2MDBcXHU3NjAyXFx1NzYwM1xcdTc2MDRcXHU3NjA3XFx1NzYwOFxcdTc2MEFcXHU3NjBDXFx1NzYwRlxcdTc2MTJcXHU3NjEzXFx1NzYxNVxcdTc2MTZcXHU3NjE5XFx1NzYxQlxcdTc2MUNcXHU3NjFEXFx1NzYxRVxcdTc2MjNcXHU3NjI1XFx1NzYyNlxcdTc2MjlcXHU3NjJEXFx1NzYzMlxcdTc2MzNcXHU3NjM1XFx1NzYzOFxcdTc2MzlcIl0sXG4gICAgICBbXCI4ZmNlYTFcIiwgXCJcXHU3NjNBXFx1NzYzQ1xcdTc2NEFcXHU3NjQwXFx1NzY0MVxcdTc2NDNcXHU3NjQ0XFx1NzY0NVxcdTc2NDlcXHU3NjRCXFx1NzY1NVxcdTc2NTlcXHU3NjVGXFx1NzY2NFxcdTc2NjVcXHU3NjZEXFx1NzY2RVxcdTc2NkZcXHU3NjcxXFx1NzY3NFxcdTc2ODFcXHU3Njg1XFx1NzY4Q1xcdTc2OERcXHU3Njk1XFx1NzY5QlxcdTc2OUNcXHU3NjlEXFx1NzY5RlxcdTc2QTBcXHU3NkEyXCIsIDYsIFwiXFx1NzZBQVxcdTc2QURcXHU3NkJEXFx1NzZDMVxcdTc2QzVcXHU3NkM5XFx1NzZDQlxcdTc2Q0NcXHU3NkNFXFx1NzZENFxcdTc2RDlcXHU3NkUwXFx1NzZFNlxcdTc2RThcXHU3NkVDXFx1NzZGMFxcdTc2RjFcXHU3NkY2XFx1NzZGOVxcdTc2RkNcXHU3NzAwXFx1NzcwNlxcdTc3MEFcXHU3NzBFXFx1NzcxMlxcdTc3MTRcXHU3NzE1XFx1NzcxN1xcdTc3MTlcXHU3NzFBXFx1NzcxQ1xcdTc3MjJcXHU3NzI4XFx1NzcyRFxcdTc3MkVcXHU3NzJGXFx1NzczNFxcdTc3MzVcXHU3NzM2XFx1NzczOVxcdTc3M0RcXHU3NzNFXFx1Nzc0MlxcdTc3NDVcXHU3NzQ2XFx1Nzc0QVxcdTc3NERcXHU3NzRFXFx1Nzc0RlxcdTc3NTJcXHU3NzU2XFx1Nzc1N1xcdTc3NUNcXHU3NzVFXFx1Nzc1RlxcdTc3NjBcXHU3NzYyXCJdLFxuICAgICAgW1wiOGZjZmExXCIsIFwiXFx1Nzc2NFxcdTc3NjdcXHU3NzZBXFx1Nzc2Q1xcdTc3NzBcXHU3NzcyXFx1Nzc3M1xcdTc3NzRcXHU3NzdBXFx1Nzc3RFxcdTc3ODBcXHU3Nzg0XFx1Nzc4Q1xcdTc3OERcXHU3Nzk0XFx1Nzc5NVxcdTc3OTZcXHU3NzlBXFx1Nzc5RlxcdTc3QTJcXHU3N0E3XFx1NzdBQVxcdTc3QUVcXHU3N0FGXFx1NzdCMVxcdTc3QjVcXHU3N0JFXFx1NzdDM1xcdTc3QzlcXHU3N0QxXFx1NzdEMlxcdTc3RDVcXHU3N0Q5XFx1NzdERVxcdTc3REZcXHU3N0UwXFx1NzdFNFxcdTc3RTZcXHU3N0VBXFx1NzdFQ1xcdTc3RjBcXHU3N0YxXFx1NzdGNFxcdTc3RjhcXHU3N0ZCXFx1NzgwNVxcdTc4MDZcXHU3ODA5XFx1NzgwRFxcdTc4MEVcXHU3ODExXFx1NzgxRFxcdTc4MjFcXHU3ODIyXFx1NzgyM1xcdTc4MkRcXHU3ODJFXFx1NzgzMFxcdTc4MzVcXHU3ODM3XFx1Nzg0M1xcdTc4NDRcXHU3ODQ3XFx1Nzg0OFxcdTc4NENcXHU3ODRFXFx1Nzg1MlxcdTc4NUNcXHU3ODVFXFx1Nzg2MFxcdTc4NjFcXHU3ODYzXFx1Nzg2NFxcdTc4NjhcXHU3ODZBXFx1Nzg2RVxcdTc4N0FcXHU3ODdFXFx1Nzg4QVxcdTc4OEZcXHU3ODk0XFx1Nzg5OFxcdTc4QTFcXHU3ODlEXFx1Nzg5RVxcdTc4OUZcXHU3OEE0XFx1NzhBOFxcdTc4QUNcXHU3OEFEXFx1NzhCMFxcdTc4QjFcXHU3OEIyXFx1NzhCM1wiXSxcbiAgICAgIFtcIjhmZDBhMVwiLCBcIlxcdTc4QkJcXHU3OEJEXFx1NzhCRlxcdTc4QzdcXHU3OEM4XFx1NzhDOVxcdTc4Q0NcXHU3OENFXFx1NzhEMlxcdTc4RDNcXHU3OEQ1XFx1NzhENlxcdTc4RTRcXHU3OERCXFx1NzhERlxcdTc4RTBcXHU3OEUxXFx1NzhFNlxcdTc4RUFcXHU3OEYyXFx1NzhGM1xcdTc5MDBcXHU3OEY2XFx1NzhGN1xcdTc4RkFcXHU3OEZCXFx1NzhGRlxcdTc5MDZcXHU3OTBDXFx1NzkxMFxcdTc5MUFcXHU3OTFDXFx1NzkxRVxcdTc5MUZcXHU3OTIwXFx1NzkyNVxcdTc5MjdcXHU3OTI5XFx1NzkyRFxcdTc5MzFcXHU3OTM0XFx1NzkzNVxcdTc5M0JcXHU3OTNEXFx1NzkzRlxcdTc5NDRcXHU3OTQ1XFx1Nzk0NlxcdTc5NEFcXHU3OTRCXFx1Nzk0RlxcdTc5NTFcXHU3OTU0XFx1Nzk1OFxcdTc5NUJcXHU3OTVDXFx1Nzk2N1xcdTc5NjlcXHU3OTZCXFx1Nzk3MlxcdTc5NzlcXHU3OTdCXFx1Nzk3Q1xcdTc5N0VcXHU3OThCXFx1Nzk4Q1xcdTc5OTFcXHU3OTkzXFx1Nzk5NFxcdTc5OTVcXHU3OTk2XFx1Nzk5OFxcdTc5OUJcXHU3OTlDXFx1NzlBMVxcdTc5QThcXHU3OUE5XFx1NzlBQlxcdTc5QUZcXHU3OUIxXFx1NzlCNFxcdTc5QjhcXHU3OUJCXFx1NzlDMlxcdTc5QzRcXHU3OUM3XFx1NzlDOFxcdTc5Q0FcXHU3OUNGXFx1NzlENFxcdTc5RDZcXHU3OURBXFx1NzlERFxcdTc5REVcIl0sXG4gICAgICBbXCI4ZmQxYTFcIiwgXCJcXHU3OUUwXFx1NzlFMlxcdTc5RTVcXHU3OUVBXFx1NzlFQlxcdTc5RURcXHU3OUYxXFx1NzlGOFxcdTc5RkNcXHU3QTAyXFx1N0EwM1xcdTdBMDdcXHU3QTA5XFx1N0EwQVxcdTdBMENcXHU3QTExXFx1N0ExNVxcdTdBMUJcXHU3QTFFXFx1N0EyMVxcdTdBMjdcXHU3QTJCXFx1N0EyRFxcdTdBMkZcXHU3QTMwXFx1N0EzNFxcdTdBMzVcXHU3QTM4XFx1N0EzOVxcdTdBM0FcXHU3QTQ0XFx1N0E0NVxcdTdBNDdcXHU3QTQ4XFx1N0E0Q1xcdTdBNTVcXHU3QTU2XFx1N0E1OVxcdTdBNUNcXHU3QTVEXFx1N0E1RlxcdTdBNjBcXHU3QTY1XFx1N0E2N1xcdTdBNkFcXHU3QTZEXFx1N0E3NVxcdTdBNzhcXHU3QTdFXFx1N0E4MFxcdTdBODJcXHU3QTg1XFx1N0E4NlxcdTdBOEFcXHU3QThCXFx1N0E5MFxcdTdBOTFcXHU3QTk0XFx1N0E5RVxcdTdBQTBcXHU3QUEzXFx1N0FBQ1xcdTdBQjNcXHU3QUI1XFx1N0FCOVxcdTdBQkJcXHU3QUJDXFx1N0FDNlxcdTdBQzlcXHU3QUNDXFx1N0FDRVxcdTdBRDFcXHU3QURCXFx1N0FFOFxcdTdBRTlcXHU3QUVCXFx1N0FFQ1xcdTdBRjFcXHU3QUY0XFx1N0FGQlxcdTdBRkRcXHU3QUZFXFx1N0IwN1xcdTdCMTRcXHU3QjFGXFx1N0IyM1xcdTdCMjdcXHU3QjI5XFx1N0IyQVxcdTdCMkJcXHU3QjJEXFx1N0IyRVxcdTdCMkZcXHU3QjMwXCJdLFxuICAgICAgW1wiOGZkMmExXCIsIFwiXFx1N0IzMVxcdTdCMzRcXHU3QjNEXFx1N0IzRlxcdTdCNDBcXHU3QjQxXFx1N0I0N1xcdTdCNEVcXHU3QjU1XFx1N0I2MFxcdTdCNjRcXHU3QjY2XFx1N0I2OVxcdTdCNkFcXHU3QjZEXFx1N0I2RlxcdTdCNzJcXHU3QjczXFx1N0I3N1xcdTdCODRcXHU3Qjg5XFx1N0I4RVxcdTdCOTBcXHU3QjkxXFx1N0I5NlxcdTdCOUJcXHU3QjlFXFx1N0JBMFxcdTdCQTVcXHU3QkFDXFx1N0JBRlxcdTdCQjBcXHU3QkIyXFx1N0JCNVxcdTdCQjZcXHU3QkJBXFx1N0JCQlxcdTdCQkNcXHU3QkJEXFx1N0JDMlxcdTdCQzVcXHU3QkM4XFx1N0JDQVxcdTdCRDRcXHU3QkQ2XFx1N0JEN1xcdTdCRDlcXHU3QkRBXFx1N0JEQlxcdTdCRThcXHU3QkVBXFx1N0JGMlxcdTdCRjRcXHU3QkY1XFx1N0JGOFxcdTdCRjlcXHU3QkZBXFx1N0JGQ1xcdTdCRkVcXHU3QzAxXFx1N0MwMlxcdTdDMDNcXHU3QzA0XFx1N0MwNlxcdTdDMDlcXHU3QzBCXFx1N0MwQ1xcdTdDMEVcXHU3QzBGXFx1N0MxOVxcdTdDMUJcXHU3QzIwXFx1N0MyNVxcdTdDMjZcXHU3QzI4XFx1N0MyQ1xcdTdDMzFcXHU3QzMzXFx1N0MzNFxcdTdDMzZcXHU3QzM5XFx1N0MzQVxcdTdDNDZcXHU3QzRBXFx1N0M1NVxcdTdDNTFcXHU3QzUyXFx1N0M1M1xcdTdDNTlcIiwgNV0sXG4gICAgICBbXCI4ZmQzYTFcIiwgXCJcXHU3QzYxXFx1N0M2M1xcdTdDNjdcXHU3QzY5XFx1N0M2RFxcdTdDNkVcXHU3QzcwXFx1N0M3MlxcdTdDNzlcXHU3QzdDXFx1N0M3RFxcdTdDODZcXHU3Qzg3XFx1N0M4RlxcdTdDOTRcXHU3QzlFXFx1N0NBMFxcdTdDQTZcXHU3Q0IwXFx1N0NCNlxcdTdDQjdcXHU3Q0JBXFx1N0NCQlxcdTdDQkNcXHU3Q0JGXFx1N0NDNFxcdTdDQzdcXHU3Q0M4XFx1N0NDOVxcdTdDQ0RcXHU3Q0NGXFx1N0NEM1xcdTdDRDRcXHU3Q0Q1XFx1N0NEN1xcdTdDRDlcXHU3Q0RBXFx1N0NERFxcdTdDRTZcXHU3Q0U5XFx1N0NFQlxcdTdDRjVcXHU3RDAzXFx1N0QwN1xcdTdEMDhcXHU3RDA5XFx1N0QwRlxcdTdEMTFcXHU3RDEyXFx1N0QxM1xcdTdEMTZcXHU3RDFEXFx1N0QxRVxcdTdEMjNcXHU3RDI2XFx1N0QyQVxcdTdEMkRcXHU3RDMxXFx1N0QzQ1xcdTdEM0RcXHU3RDNFXFx1N0Q0MFxcdTdENDFcXHU3RDQ3XFx1N0Q0OFxcdTdENERcXHU3RDUxXFx1N0Q1M1xcdTdENTdcXHU3RDU5XFx1N0Q1QVxcdTdENUNcXHU3RDVEXFx1N0Q2NVxcdTdENjdcXHU3RDZBXFx1N0Q3MFxcdTdENzhcXHU3RDdBXFx1N0Q3QlxcdTdEN0ZcXHU3RDgxXFx1N0Q4MlxcdTdEODNcXHU3RDg1XFx1N0Q4NlxcdTdEODhcXHU3RDhCXFx1N0Q4Q1xcdTdEOERcXHU3RDkxXFx1N0Q5NlxcdTdEOTdcXHU3RDlEXCJdLFxuICAgICAgW1wiOGZkNGExXCIsIFwiXFx1N0Q5RVxcdTdEQTZcXHU3REE3XFx1N0RBQVxcdTdEQjNcXHU3REI2XFx1N0RCN1xcdTdEQjlcXHU3REMyXCIsIDQsIFwiXFx1N0RDQ1xcdTdEQ0RcXHU3RENFXFx1N0REN1xcdTdERDlcXHU3RTAwXFx1N0RFMlxcdTdERTVcXHU3REU2XFx1N0RFQVxcdTdERUJcXHU3REVEXFx1N0RGMVxcdTdERjVcXHU3REY2XFx1N0RGOVxcdTdERkFcXHU3RTA4XFx1N0UxMFxcdTdFMTFcXHU3RTE1XFx1N0UxN1xcdTdFMUNcXHU3RTFEXFx1N0UyMFxcdTdFMjdcXHU3RTI4XFx1N0UyQ1xcdTdFMkRcXHU3RTJGXFx1N0UzM1xcdTdFMzZcXHU3RTNGXFx1N0U0NFxcdTdFNDVcXHU3RTQ3XFx1N0U0RVxcdTdFNTBcXHU3RTUyXFx1N0U1OFxcdTdFNUZcXHU3RTYxXFx1N0U2MlxcdTdFNjVcXHU3RTZCXFx1N0U2RVxcdTdFNkZcXHU3RTczXFx1N0U3OFxcdTdFN0VcXHU3RTgxXFx1N0U4NlxcdTdFODdcXHU3RThBXFx1N0U4RFxcdTdFOTFcXHU3RTk1XFx1N0U5OFxcdTdFOUFcXHU3RTlEXFx1N0U5RVxcdTdGM0NcXHU3RjNCXFx1N0YzRFxcdTdGM0VcXHU3RjNGXFx1N0Y0M1xcdTdGNDRcXHU3RjQ3XFx1N0Y0RlxcdTdGNTJcXHU3RjUzXFx1N0Y1QlxcdTdGNUNcXHU3RjVEXFx1N0Y2MVxcdTdGNjNcXHU3RjY0XFx1N0Y2NVxcdTdGNjZcXHU3RjZEXCJdLFxuICAgICAgW1wiOGZkNWExXCIsIFwiXFx1N0Y3MVxcdTdGN0RcXHU3RjdFXFx1N0Y3RlxcdTdGODBcXHU3RjhCXFx1N0Y4RFxcdTdGOEZcXHU3RjkwXFx1N0Y5MVxcdTdGOTZcXHU3Rjk3XFx1N0Y5Q1xcdTdGQTFcXHU3RkEyXFx1N0ZBNlxcdTdGQUFcXHU3RkFEXFx1N0ZCNFxcdTdGQkNcXHU3RkJGXFx1N0ZDMFxcdTdGQzNcXHU3RkM4XFx1N0ZDRVxcdTdGQ0ZcXHU3RkRCXFx1N0ZERlxcdTdGRTNcXHU3RkU1XFx1N0ZFOFxcdTdGRUNcXHU3RkVFXFx1N0ZFRlxcdTdGRjJcXHU3RkZBXFx1N0ZGRFxcdTdGRkVcXHU3RkZGXFx1ODAwN1xcdTgwMDhcXHU4MDBBXFx1ODAwRFxcdTgwMEVcXHU4MDBGXFx1ODAxMVxcdTgwMTNcXHU4MDE0XFx1ODAxNlxcdTgwMURcXHU4MDFFXFx1ODAxRlxcdTgwMjBcXHU4MDI0XFx1ODAyNlxcdTgwMkNcXHU4MDJFXFx1ODAzMFxcdTgwMzRcXHU4MDM1XFx1ODAzN1xcdTgwMzlcXHU4MDNBXFx1ODAzQ1xcdTgwM0VcXHU4MDQwXFx1ODA0NFxcdTgwNjBcXHU4MDY0XFx1ODA2NlxcdTgwNkRcXHU4MDcxXFx1ODA3NVxcdTgwODFcXHU4MDg4XFx1ODA4RVxcdTgwOUNcXHU4MDlFXFx1ODBBNlxcdTgwQTdcXHU4MEFCXFx1ODBCOFxcdTgwQjlcXHU4MEM4XFx1ODBDRFxcdTgwQ0ZcXHU4MEQyXFx1ODBENFxcdTgwRDVcXHU4MEQ3XFx1ODBEOFxcdTgwRTBcXHU4MEVEXFx1ODBFRVwiXSxcbiAgICAgIFtcIjhmZDZhMVwiLCBcIlxcdTgwRjBcXHU4MEYyXFx1ODBGM1xcdTgwRjZcXHU4MEY5XFx1ODBGQVxcdTgwRkVcXHU4MTAzXFx1ODEwQlxcdTgxMTZcXHU4MTE3XFx1ODExOFxcdTgxMUNcXHU4MTFFXFx1ODEyMFxcdTgxMjRcXHU4MTI3XFx1ODEyQ1xcdTgxMzBcXHU4MTM1XFx1ODEzQVxcdTgxM0NcXHU4MTQ1XFx1ODE0N1xcdTgxNEFcXHU4MTRDXFx1ODE1MlxcdTgxNTdcXHU4MTYwXFx1ODE2MVxcdTgxNjdcXHU4MTY4XFx1ODE2OVxcdTgxNkRcXHU4MTZGXFx1ODE3N1xcdTgxODFcXHU4MTkwXFx1ODE4NFxcdTgxODVcXHU4MTg2XFx1ODE4QlxcdTgxOEVcXHU4MTk2XFx1ODE5OFxcdTgxOUJcXHU4MTlFXFx1ODFBMlxcdTgxQUVcXHU4MUIyXFx1ODFCNFxcdTgxQkJcXHU4MUNCXFx1ODFDM1xcdTgxQzVcXHU4MUNBXFx1ODFDRVxcdTgxQ0ZcXHU4MUQ1XFx1ODFEN1xcdTgxREJcXHU4MUREXFx1ODFERVxcdTgxRTFcXHU4MUU0XFx1ODFFQlxcdTgxRUNcXHU4MUYwXFx1ODFGMVxcdTgxRjJcXHU4MUY1XFx1ODFGNlxcdTgxRjhcXHU4MUY5XFx1ODFGRFxcdTgxRkZcXHU4MjAwXFx1ODIwM1xcdTgyMEZcXHU4MjEzXFx1ODIxNFxcdTgyMTlcXHU4MjFBXFx1ODIxRFxcdTgyMjFcXHU4MjIyXFx1ODIyOFxcdTgyMzJcXHU4MjM0XFx1ODIzQVxcdTgyNDNcXHU4MjQ0XFx1ODI0NVxcdTgyNDZcIl0sXG4gICAgICBbXCI4ZmQ3YTFcIiwgXCJcXHU4MjRCXFx1ODI0RVxcdTgyNEZcXHU4MjUxXFx1ODI1NlxcdTgyNUNcXHU4MjYwXFx1ODI2M1xcdTgyNjdcXHU4MjZEXFx1ODI3NFxcdTgyN0JcXHU4MjdEXFx1ODI3RlxcdTgyODBcXHU4MjgxXFx1ODI4M1xcdTgyODRcXHU4Mjg3XFx1ODI4OVxcdTgyOEFcXHU4MjhFXFx1ODI5MVxcdTgyOTRcXHU4Mjk2XFx1ODI5OFxcdTgyOUFcXHU4MjlCXFx1ODJBMFxcdTgyQTFcXHU4MkEzXFx1ODJBNFxcdTgyQTdcXHU4MkE4XFx1ODJBOVxcdTgyQUFcXHU4MkFFXFx1ODJCMFxcdTgyQjJcXHU4MkI0XFx1ODJCN1xcdTgyQkFcXHU4MkJDXFx1ODJCRVxcdTgyQkZcXHU4MkM2XFx1ODJEMFxcdTgyRDVcXHU4MkRBXFx1ODJFMFxcdTgyRTJcXHU4MkU0XFx1ODJFOFxcdTgyRUFcXHU4MkVEXFx1ODJFRlxcdTgyRjZcXHU4MkY3XFx1ODJGRFxcdTgyRkVcXHU4MzAwXFx1ODMwMVxcdTgzMDdcXHU4MzA4XFx1ODMwQVxcdTgzMEJcXHU4MzU0XFx1ODMxQlxcdTgzMURcXHU4MzFFXFx1ODMxRlxcdTgzMjFcXHU4MzIyXFx1ODMyQ1xcdTgzMkRcXHU4MzJFXFx1ODMzMFxcdTgzMzNcXHU4MzM3XFx1ODMzQVxcdTgzM0NcXHU4MzNEXFx1ODM0MlxcdTgzNDNcXHU4MzQ0XFx1ODM0N1xcdTgzNERcXHU4MzRFXFx1ODM1MVxcdTgzNTVcXHU4MzU2XFx1ODM1N1xcdTgzNzBcXHU4Mzc4XCJdLFxuICAgICAgW1wiOGZkOGExXCIsIFwiXFx1ODM3RFxcdTgzN0ZcXHU4MzgwXFx1ODM4MlxcdTgzODRcXHU4Mzg2XFx1ODM4RFxcdTgzOTJcXHU4Mzk0XFx1ODM5NVxcdTgzOThcXHU4Mzk5XFx1ODM5QlxcdTgzOUNcXHU4MzlEXFx1ODNBNlxcdTgzQTdcXHU4M0E5XFx1ODNBQ1xcdTgzQkVcXHU4M0JGXFx1ODNDMFxcdTgzQzdcXHU4M0M5XFx1ODNDRlxcdTgzRDBcXHU4M0QxXFx1ODNENFxcdTgzRERcXHU4MzUzXFx1ODNFOFxcdTgzRUFcXHU4M0Y2XFx1ODNGOFxcdTgzRjlcXHU4M0ZDXFx1ODQwMVxcdTg0MDZcXHU4NDBBXFx1ODQwRlxcdTg0MTFcXHU4NDE1XFx1ODQxOVxcdTgzQURcXHU4NDJGXFx1ODQzOVxcdTg0NDVcXHU4NDQ3XFx1ODQ0OFxcdTg0NEFcXHU4NDREXFx1ODQ0RlxcdTg0NTFcXHU4NDUyXFx1ODQ1NlxcdTg0NThcXHU4NDU5XFx1ODQ1QVxcdTg0NUNcXHU4NDYwXFx1ODQ2NFxcdTg0NjVcXHU4NDY3XFx1ODQ2QVxcdTg0NzBcXHU4NDczXFx1ODQ3NFxcdTg0NzZcXHU4NDc4XFx1ODQ3Q1xcdTg0N0RcXHU4NDgxXFx1ODQ4NVxcdTg0OTJcXHU4NDkzXFx1ODQ5NVxcdTg0OUVcXHU4NEE2XFx1ODRBOFxcdTg0QTlcXHU4NEFBXFx1ODRBRlxcdTg0QjFcXHU4NEI0XFx1ODRCQVxcdTg0QkRcXHU4NEJFXFx1ODRDMFxcdTg0QzJcXHU4NEM3XFx1ODRDOFxcdTg0Q0NcXHU4NENGXFx1ODREM1wiXSxcbiAgICAgIFtcIjhmZDlhMVwiLCBcIlxcdTg0RENcXHU4NEU3XFx1ODRFQVxcdTg0RUZcXHU4NEYwXFx1ODRGMVxcdTg0RjJcXHU4NEY3XFx1ODUzMlxcdTg0RkFcXHU4NEZCXFx1ODRGRFxcdTg1MDJcXHU4NTAzXFx1ODUwN1xcdTg1MENcXHU4NTBFXFx1ODUxMFxcdTg1MUNcXHU4NTFFXFx1ODUyMlxcdTg1MjNcXHU4NTI0XFx1ODUyNVxcdTg1MjdcXHU4NTJBXFx1ODUyQlxcdTg1MkZcXHU4NTMzXFx1ODUzNFxcdTg1MzZcXHU4NTNGXFx1ODU0NlxcdTg1NEZcIiwgNCwgXCJcXHU4NTU2XFx1ODU1OVxcdTg1NUNcIiwgNiwgXCJcXHU4NTY0XFx1ODU2QlxcdTg1NkZcXHU4NTc5XFx1ODU3QVxcdTg1N0JcXHU4NTdEXFx1ODU3RlxcdTg1ODFcXHU4NTg1XFx1ODU4NlxcdTg1ODlcXHU4NThCXFx1ODU4Q1xcdTg1OEZcXHU4NTkzXFx1ODU5OFxcdTg1OURcXHU4NTlGXFx1ODVBMFxcdTg1QTJcXHU4NUE1XFx1ODVBN1xcdTg1QjRcXHU4NUI2XFx1ODVCN1xcdTg1QjhcXHU4NUJDXFx1ODVCRFxcdTg1QkVcXHU4NUJGXFx1ODVDMlxcdTg1QzdcXHU4NUNBXFx1ODVDQlxcdTg1Q0VcXHU4NUFEXFx1ODVEOFxcdTg1REFcXHU4NURGXFx1ODVFMFxcdTg1RTZcXHU4NUU4XFx1ODVFRFxcdTg1RjNcXHU4NUY2XFx1ODVGQ1wiXSxcbiAgICAgIFtcIjhmZGFhMVwiLCBcIlxcdTg1RkZcXHU4NjAwXFx1ODYwNFxcdTg2MDVcXHU4NjBEXFx1ODYwRVxcdTg2MTBcXHU4NjExXFx1ODYxMlxcdTg2MThcXHU4NjE5XFx1ODYxQlxcdTg2MUVcXHU4NjIxXFx1ODYyN1xcdTg2MjlcXHU4NjM2XFx1ODYzOFxcdTg2M0FcXHU4NjNDXFx1ODYzRFxcdTg2NDBcXHU4NjQyXFx1ODY0NlxcdTg2NTJcXHU4NjUzXFx1ODY1NlxcdTg2NTdcXHU4NjU4XFx1ODY1OVxcdTg2NURcXHU4NjYwXCIsIDQsIFwiXFx1ODY2OVxcdTg2NkNcXHU4NjZGXFx1ODY3NVxcdTg2NzZcXHU4Njc3XFx1ODY3QVxcdTg2OERcXHU4NjkxXFx1ODY5NlxcdTg2OThcXHU4NjlBXFx1ODY5Q1xcdTg2QTFcXHU4NkE2XFx1ODZBN1xcdTg2QThcXHU4NkFEXFx1ODZCMVxcdTg2QjNcXHU4NkI0XFx1ODZCNVxcdTg2QjdcXHU4NkI4XFx1ODZCOVxcdTg2QkZcXHU4NkMwXFx1ODZDMVxcdTg2QzNcXHU4NkM1XFx1ODZEMVxcdTg2RDJcXHU4NkQ1XFx1ODZEN1xcdTg2REFcXHU4NkRDXFx1ODZFMFxcdTg2RTNcXHU4NkU1XFx1ODZFN1xcdTg2ODhcXHU4NkZBXFx1ODZGQ1xcdTg2RkRcXHU4NzA0XFx1ODcwNVxcdTg3MDdcXHU4NzBCXFx1ODcwRVxcdTg3MEZcXHU4NzEwXFx1ODcxM1xcdTg3MTRcXHU4NzE5XFx1ODcxRVxcdTg3MUZcXHU4NzIxXFx1ODcyM1wiXSxcbiAgICAgIFtcIjhmZGJhMVwiLCBcIlxcdTg3MjhcXHU4NzJFXFx1ODcyRlxcdTg3MzFcXHU4NzMyXFx1ODczOVxcdTg3M0FcXHU4NzNDXFx1ODczRFxcdTg3M0VcXHU4NzQwXFx1ODc0M1xcdTg3NDVcXHU4NzREXFx1ODc1OFxcdTg3NURcXHU4NzYxXFx1ODc2NFxcdTg3NjVcXHU4NzZGXFx1ODc3MVxcdTg3NzJcXHU4NzdCXFx1ODc4M1wiLCA2LCBcIlxcdTg3OEJcXHU4NzhDXFx1ODc5MFxcdTg3OTNcXHU4Nzk1XFx1ODc5N1xcdTg3OThcXHU4Nzk5XFx1ODc5RVxcdTg3QTBcXHU4N0EzXFx1ODdBN1xcdTg3QUNcXHU4N0FEXFx1ODdBRVxcdTg3QjFcXHU4N0I1XFx1ODdCRVxcdTg3QkZcXHU4N0MxXFx1ODdDOFxcdTg3QzlcXHU4N0NBXFx1ODdDRVxcdTg3RDVcXHU4N0Q2XFx1ODdEOVxcdTg3REFcXHU4N0RDXFx1ODdERlxcdTg3RTJcXHU4N0UzXFx1ODdFNFxcdTg3RUFcXHU4N0VCXFx1ODdFRFxcdTg3RjFcXHU4N0YzXFx1ODdGOFxcdTg3RkFcXHU4N0ZGXFx1ODgwMVxcdTg4MDNcXHU4ODA2XFx1ODgwOVxcdTg4MEFcXHU4ODBCXFx1ODgxMFxcdTg4MTlcXHU4ODEyXFx1ODgxM1xcdTg4MTRcXHU4ODE4XFx1ODgxQVxcdTg4MUJcXHU4ODFDXFx1ODgxRVxcdTg4MUZcXHU4ODI4XFx1ODgyRFxcdTg4MkVcXHU4ODMwXFx1ODgzMlxcdTg4MzVcIl0sXG4gICAgICBbXCI4ZmRjYTFcIiwgXCJcXHU4ODNBXFx1ODgzQ1xcdTg4NDFcXHU4ODQzXFx1ODg0NVxcdTg4NDhcXHU4ODQ5XFx1ODg0QVxcdTg4NEJcXHU4ODRFXFx1ODg1MVxcdTg4NTVcXHU4ODU2XFx1ODg1OFxcdTg4NUFcXHU4ODVDXFx1ODg1RlxcdTg4NjBcXHU4ODY0XFx1ODg2OVxcdTg4NzFcXHU4ODc5XFx1ODg3QlxcdTg4ODBcXHU4ODk4XFx1ODg5QVxcdTg4OUJcXHU4ODlDXFx1ODg5RlxcdTg4QTBcXHU4OEE4XFx1ODhBQVxcdTg4QkFcXHU4OEJEXFx1ODhCRVxcdTg4QzBcXHU4OENBXCIsIDQsIFwiXFx1ODhEMVxcdTg4RDJcXHU4OEQzXFx1ODhEQlxcdTg4REVcXHU4OEU3XFx1ODhFRlxcdTg4RjBcXHU4OEYxXFx1ODhGNVxcdTg4RjdcXHU4OTAxXFx1ODkwNlxcdTg5MERcXHU4OTBFXFx1ODkwRlxcdTg5MTVcXHU4OTE2XFx1ODkxOFxcdTg5MTlcXHU4OTFBXFx1ODkxQ1xcdTg5MjBcXHU4OTI2XFx1ODkyN1xcdTg5MjhcXHU4OTMwXFx1ODkzMVxcdTg5MzJcXHU4OTM1XFx1ODkzOVxcdTg5M0FcXHU4OTNFXFx1ODk0MFxcdTg5NDJcXHU4OTQ1XFx1ODk0NlxcdTg5NDlcXHU4OTRGXFx1ODk1MlxcdTg5NTdcXHU4OTVBXFx1ODk1QlxcdTg5NUNcXHU4OTYxXFx1ODk2MlxcdTg5NjNcXHU4OTZCXFx1ODk2RVxcdTg5NzBcXHU4OTczXFx1ODk3NVxcdTg5N0FcIl0sXG4gICAgICBbXCI4ZmRkYTFcIiwgXCJcXHU4OTdCXFx1ODk3Q1xcdTg5N0RcXHU4OTg5XFx1ODk4RFxcdTg5OTBcXHU4OTk0XFx1ODk5NVxcdTg5OUJcXHU4OTlDXFx1ODk5RlxcdTg5QTBcXHU4OUE1XFx1ODlCMFxcdTg5QjRcXHU4OUI1XFx1ODlCNlxcdTg5QjdcXHU4OUJDXFx1ODlENFwiLCA0LCBcIlxcdTg5RTVcXHU4OUU5XFx1ODlFQlxcdTg5RURcXHU4OUYxXFx1ODlGM1xcdTg5RjZcXHU4OUY5XFx1ODlGRFxcdTg5RkZcXHU4QTA0XFx1OEEwNVxcdThBMDdcXHU4QTBGXFx1OEExMVxcdThBMTJcXHU4QTE0XFx1OEExNVxcdThBMUVcXHU4QTIwXFx1OEEyMlxcdThBMjRcXHU4QTI2XFx1OEEyQlxcdThBMkNcXHU4QTJGXFx1OEEzNVxcdThBMzdcXHU4QTNEXFx1OEEzRVxcdThBNDBcXHU4QTQzXFx1OEE0NVxcdThBNDdcXHU4QTQ5XFx1OEE0RFxcdThBNEVcXHU4QTUzXFx1OEE1NlxcdThBNTdcXHU4QTU4XFx1OEE1Q1xcdThBNURcXHU4QTYxXFx1OEE2NVxcdThBNjdcXHU4QTc1XFx1OEE3NlxcdThBNzdcXHU4QTc5XFx1OEE3QVxcdThBN0JcXHU4QTdFXFx1OEE3RlxcdThBODBcXHU4QTgzXFx1OEE4NlxcdThBOEJcXHU4QThGXFx1OEE5MFxcdThBOTJcXHU4QTk2XFx1OEE5N1xcdThBOTlcXHU4QTlGXFx1OEFBN1xcdThBQTlcXHU4QUFFXFx1OEFBRlxcdThBQjNcIl0sXG4gICAgICBbXCI4ZmRlYTFcIiwgXCJcXHU4QUI2XFx1OEFCN1xcdThBQkJcXHU4QUJFXFx1OEFDM1xcdThBQzZcXHU4QUM4XFx1OEFDOVxcdThBQ0FcXHU4QUQxXFx1OEFEM1xcdThBRDRcXHU4QUQ1XFx1OEFEN1xcdThBRERcXHU4QURGXFx1OEFFQ1xcdThBRjBcXHU4QUY0XFx1OEFGNVxcdThBRjZcXHU4QUZDXFx1OEFGRlxcdThCMDVcXHU4QjA2XFx1OEIwQlxcdThCMTFcXHU4QjFDXFx1OEIxRVxcdThCMUZcXHU4QjBBXFx1OEIyRFxcdThCMzBcXHU4QjM3XFx1OEIzQ1xcdThCNDJcIiwgNCwgXCJcXHU4QjQ4XFx1OEI1MlxcdThCNTNcXHU4QjU0XFx1OEI1OVxcdThCNERcXHU4QjVFXFx1OEI2M1xcdThCNkRcXHU4Qjc2XFx1OEI3OFxcdThCNzlcXHU4QjdDXFx1OEI3RVxcdThCODFcXHU4Qjg0XFx1OEI4NVxcdThCOEJcXHU4QjhEXFx1OEI4RlxcdThCOTRcXHU4Qjk1XFx1OEI5Q1xcdThCOUVcXHU4QjlGXFx1OEMzOFxcdThDMzlcXHU4QzNEXFx1OEMzRVxcdThDNDVcXHU4QzQ3XFx1OEM0OVxcdThDNEJcXHU4QzRGXFx1OEM1MVxcdThDNTNcXHU4QzU0XFx1OEM1N1xcdThDNThcXHU4QzVCXFx1OEM1RFxcdThDNTlcXHU4QzYzXFx1OEM2NFxcdThDNjZcXHU4QzY4XFx1OEM2OVxcdThDNkRcXHU4QzczXFx1OEM3NVxcdThDNzZcXHU4QzdCXFx1OEM3RVxcdThDODZcIl0sXG4gICAgICBbXCI4ZmRmYTFcIiwgXCJcXHU4Qzg3XFx1OEM4QlxcdThDOTBcXHU4QzkyXFx1OEM5M1xcdThDOTlcXHU4QzlCXFx1OEM5Q1xcdThDQTRcXHU4Q0I5XFx1OENCQVxcdThDQzVcXHU4Q0M2XFx1OENDOVxcdThDQ0JcXHU4Q0NGXFx1OENENlxcdThDRDVcXHU4Q0Q5XFx1OENERFxcdThDRTFcXHU4Q0U4XFx1OENFQ1xcdThDRUZcXHU4Q0YwXFx1OENGMlxcdThDRjVcXHU4Q0Y3XFx1OENGOFxcdThDRkVcXHU4Q0ZGXFx1OEQwMVxcdThEMDNcXHU4RDA5XFx1OEQxMlxcdThEMTdcXHU4RDFCXFx1OEQ2NVxcdThENjlcXHU4RDZDXFx1OEQ2RVxcdThEN0ZcXHU4RDgyXFx1OEQ4NFxcdThEODhcXHU4RDhEXFx1OEQ5MFxcdThEOTFcXHU4RDk1XFx1OEQ5RVxcdThEOUZcXHU4REEwXFx1OERBNlxcdThEQUJcXHU4REFDXFx1OERBRlxcdThEQjJcXHU4REI1XFx1OERCN1xcdThEQjlcXHU4REJCXFx1OERDMFxcdThEQzVcXHU4REM2XFx1OERDN1xcdThEQzhcXHU4RENBXFx1OERDRVxcdThERDFcXHU4REQ0XFx1OERENVxcdThERDdcXHU4REQ5XFx1OERFNFxcdThERTVcXHU4REU3XFx1OERFQ1xcdThERjBcXHU4REJDXFx1OERGMVxcdThERjJcXHU4REY0XFx1OERGRFxcdThFMDFcXHU4RTA0XFx1OEUwNVxcdThFMDZcXHU4RTBCXFx1OEUxMVxcdThFMTRcXHU4RTE2XFx1OEUyMFxcdThFMjFcXHU4RTIyXCJdLFxuICAgICAgW1wiOGZlMGExXCIsIFwiXFx1OEUyM1xcdThFMjZcXHU4RTI3XFx1OEUzMVxcdThFMzNcXHU4RTM2XFx1OEUzN1xcdThFMzhcXHU4RTM5XFx1OEUzRFxcdThFNDBcXHU4RTQxXFx1OEU0QlxcdThFNERcXHU4RTRFXFx1OEU0RlxcdThFNTRcXHU4RTVCXFx1OEU1Q1xcdThFNURcXHU4RTVFXFx1OEU2MVxcdThFNjJcXHU4RTY5XFx1OEU2Q1xcdThFNkRcXHU4RTZGXFx1OEU3MFxcdThFNzFcXHU4RTc5XFx1OEU3QVxcdThFN0JcXHU4RTgyXFx1OEU4M1xcdThFODlcXHU4RTkwXFx1OEU5MlxcdThFOTVcXHU4RTlBXFx1OEU5QlxcdThFOURcXHU4RTlFXFx1OEVBMlxcdThFQTdcXHU4RUE5XFx1OEVBRFxcdThFQUVcXHU4RUIzXFx1OEVCNVxcdThFQkFcXHU4RUJCXFx1OEVDMFxcdThFQzFcXHU4RUMzXFx1OEVDNFxcdThFQzdcXHU4RUNGXFx1OEVEMVxcdThFRDRcXHU4RURDXFx1OEVFOFxcdThFRUVcXHU4RUYwXFx1OEVGMVxcdThFRjdcXHU4RUY5XFx1OEVGQVxcdThFRURcXHU4RjAwXFx1OEYwMlxcdThGMDdcXHU4RjA4XFx1OEYwRlxcdThGMTBcXHU4RjE2XFx1OEYxN1xcdThGMThcXHU4RjFFXFx1OEYyMFxcdThGMjFcXHU4RjIzXFx1OEYyNVxcdThGMjdcXHU4RjI4XFx1OEYyQ1xcdThGMkRcXHU4RjJFXFx1OEYzNFxcdThGMzVcXHU4RjM2XFx1OEYzN1xcdThGM0FcXHU4RjQwXFx1OEY0MVwiXSxcbiAgICAgIFtcIjhmZTFhMVwiLCBcIlxcdThGNDNcXHU4RjQ3XFx1OEY0RlxcdThGNTFcIiwgNCwgXCJcXHU4RjU4XFx1OEY1RFxcdThGNUVcXHU4RjY1XFx1OEY5RFxcdThGQTBcXHU4RkExXFx1OEZBNFxcdThGQTVcXHU4RkE2XFx1OEZCNVxcdThGQjZcXHU4RkI4XFx1OEZCRVxcdThGQzBcXHU4RkMxXFx1OEZDNlxcdThGQ0FcXHU4RkNCXFx1OEZDRFxcdThGRDBcXHU4RkQyXFx1OEZEM1xcdThGRDVcXHU4RkUwXFx1OEZFM1xcdThGRTRcXHU4RkU4XFx1OEZFRVxcdThGRjFcXHU4RkY1XFx1OEZGNlxcdThGRkJcXHU4RkZFXFx1OTAwMlxcdTkwMDRcXHU5MDA4XFx1OTAwQ1xcdTkwMThcXHU5MDFCXFx1OTAyOFxcdTkwMjlcXHU5MDJGXFx1OTAyQVxcdTkwMkNcXHU5MDJEXFx1OTAzM1xcdTkwMzRcXHU5MDM3XFx1OTAzRlxcdTkwNDNcXHU5MDQ0XFx1OTA0Q1xcdTkwNUJcXHU5MDVEXFx1OTA2MlxcdTkwNjZcXHU5MDY3XFx1OTA2Q1xcdTkwNzBcXHU5MDc0XFx1OTA3OVxcdTkwODVcXHU5MDg4XFx1OTA4QlxcdTkwOENcXHU5MDhFXFx1OTA5MFxcdTkwOTVcXHU5MDk3XFx1OTA5OFxcdTkwOTlcXHU5MDlCXFx1OTBBMFxcdTkwQTFcXHU5MEEyXFx1OTBBNVxcdTkwQjBcXHU5MEIyXFx1OTBCM1xcdTkwQjRcXHU5MEI2XFx1OTBCRFxcdTkwQ0NcXHU5MEJFXFx1OTBDM1wiXSxcbiAgICAgIFtcIjhmZTJhMVwiLCBcIlxcdTkwQzRcXHU5MEM1XFx1OTBDN1xcdTkwQzhcXHU5MEQ1XFx1OTBEN1xcdTkwRDhcXHU5MEQ5XFx1OTBEQ1xcdTkwRERcXHU5MERGXFx1OTBFNVxcdTkwRDJcXHU5MEY2XFx1OTBFQlxcdTkwRUZcXHU5MEYwXFx1OTBGNFxcdTkwRkVcXHU5MEZGXFx1OTEwMFxcdTkxMDRcXHU5MTA1XFx1OTEwNlxcdTkxMDhcXHU5MTBEXFx1OTExMFxcdTkxMTRcXHU5MTE2XFx1OTExN1xcdTkxMThcXHU5MTFBXFx1OTExQ1xcdTkxMUVcXHU5MTIwXFx1OTEyNVxcdTkxMjJcXHU5MTIzXFx1OTEyN1xcdTkxMjlcXHU5MTJFXFx1OTEyRlxcdTkxMzFcXHU5MTM0XFx1OTEzNlxcdTkxMzdcXHU5MTM5XFx1OTEzQVxcdTkxM0NcXHU5MTNEXFx1OTE0M1xcdTkxNDdcXHU5MTQ4XFx1OTE0RlxcdTkxNTNcXHU5MTU3XFx1OTE1OVxcdTkxNUFcXHU5MTVCXFx1OTE2MVxcdTkxNjRcXHU5MTY3XFx1OTE2RFxcdTkxNzRcXHU5MTc5XFx1OTE3QVxcdTkxN0JcXHU5MTgxXFx1OTE4M1xcdTkxODVcXHU5MTg2XFx1OTE4QVxcdTkxOEVcXHU5MTkxXFx1OTE5M1xcdTkxOTRcXHU5MTk1XFx1OTE5OFxcdTkxOUVcXHU5MUExXFx1OTFBNlxcdTkxQThcXHU5MUFDXFx1OTFBRFxcdTkxQUVcXHU5MUIwXFx1OTFCMVxcdTkxQjJcXHU5MUIzXFx1OTFCNlxcdTkxQkJcXHU5MUJDXFx1OTFCRFxcdTkxQkZcIl0sXG4gICAgICBbXCI4ZmUzYTFcIiwgXCJcXHU5MUMyXFx1OTFDM1xcdTkxQzVcXHU5MUQzXFx1OTFENFxcdTkxRDdcXHU5MUQ5XFx1OTFEQVxcdTkxREVcXHU5MUU0XFx1OTFFNVxcdTkxRTlcXHU5MUVBXFx1OTFFQ1wiLCA1LCBcIlxcdTkxRjdcXHU5MUY5XFx1OTFGQlxcdTkxRkRcXHU5MjAwXFx1OTIwMVxcdTkyMDRcXHU5MjA1XFx1OTIwNlxcdTkyMDdcXHU5MjA5XFx1OTIwQVxcdTkyMENcXHU5MjEwXFx1OTIxMlxcdTkyMTNcXHU5MjE2XFx1OTIxOFxcdTkyMUNcXHU5MjFEXFx1OTIyM1xcdTkyMjRcXHU5MjI1XFx1OTIyNlxcdTkyMjhcXHU5MjJFXFx1OTIyRlxcdTkyMzBcXHU5MjMzXFx1OTIzNVxcdTkyMzZcXHU5MjM4XFx1OTIzOVxcdTkyM0FcXHU5MjNDXFx1OTIzRVxcdTkyNDBcXHU5MjQyXFx1OTI0M1xcdTkyNDZcXHU5MjQ3XFx1OTI0QVxcdTkyNERcXHU5MjRFXFx1OTI0RlxcdTkyNTFcXHU5MjU4XFx1OTI1OVxcdTkyNUNcXHU5MjVEXFx1OTI2MFxcdTkyNjFcXHU5MjY1XFx1OTI2N1xcdTkyNjhcXHU5MjY5XFx1OTI2RVxcdTkyNkZcXHU5MjcwXFx1OTI3NVwiLCA0LCBcIlxcdTkyN0JcXHU5MjdDXFx1OTI3RFxcdTkyN0ZcXHU5Mjg4XFx1OTI4OVxcdTkyOEFcXHU5MjhEXFx1OTI4RVxcdTkyOTJcXHU5Mjk3XCJdLFxuICAgICAgW1wiOGZlNGExXCIsIFwiXFx1OTI5OVxcdTkyOUZcXHU5MkEwXFx1OTJBNFxcdTkyQTVcXHU5MkE3XFx1OTJBOFxcdTkyQUJcXHU5MkFGXFx1OTJCMlxcdTkyQjZcXHU5MkI4XFx1OTJCQVxcdTkyQkJcXHU5MkJDXFx1OTJCRFxcdTkyQkZcIiwgNCwgXCJcXHU5MkM1XFx1OTJDNlxcdTkyQzdcXHU5MkM4XFx1OTJDQlxcdTkyQ0NcXHU5MkNEXFx1OTJDRVxcdTkyRDBcXHU5MkQzXFx1OTJENVxcdTkyRDdcXHU5MkQ4XFx1OTJEOVxcdTkyRENcXHU5MkREXFx1OTJERlxcdTkyRTBcXHU5MkUxXFx1OTJFM1xcdTkyRTVcXHU5MkU3XFx1OTJFOFxcdTkyRUNcXHU5MkVFXFx1OTJGMFxcdTkyRjlcXHU5MkZCXFx1OTJGRlxcdTkzMDBcXHU5MzAyXFx1OTMwOFxcdTkzMERcXHU5MzExXFx1OTMxNFxcdTkzMTVcXHU5MzFDXFx1OTMxRFxcdTkzMUVcXHU5MzFGXFx1OTMyMVxcdTkzMjRcXHU5MzI1XFx1OTMyN1xcdTkzMjlcXHU5MzJBXFx1OTMzM1xcdTkzMzRcXHU5MzM2XFx1OTMzN1xcdTkzNDdcXHU5MzQ4XFx1OTM0OVxcdTkzNTBcXHU5MzUxXFx1OTM1MlxcdTkzNTVcXHU5MzU3XFx1OTM1OFxcdTkzNUFcXHU5MzVFXFx1OTM2NFxcdTkzNjVcXHU5MzY3XFx1OTM2OVxcdTkzNkFcXHU5MzZEXFx1OTM2RlxcdTkzNzBcXHU5MzcxXFx1OTM3M1xcdTkzNzRcXHU5Mzc2XCJdLFxuICAgICAgW1wiOGZlNWExXCIsIFwiXFx1OTM3QVxcdTkzN0RcXHU5MzdGXFx1OTM4MFxcdTkzODFcXHU5MzgyXFx1OTM4OFxcdTkzOEFcXHU5MzhCXFx1OTM4RFxcdTkzOEZcXHU5MzkyXFx1OTM5NVxcdTkzOThcXHU5MzlCXFx1OTM5RVxcdTkzQTFcXHU5M0EzXFx1OTNBNFxcdTkzQTZcXHU5M0E4XFx1OTNBQlxcdTkzQjRcXHU5M0I1XFx1OTNCNlxcdTkzQkFcXHU5M0E5XFx1OTNDMVxcdTkzQzRcXHU5M0M1XFx1OTNDNlxcdTkzQzdcXHU5M0M5XCIsIDQsIFwiXFx1OTNEM1xcdTkzRDlcXHU5M0RDXFx1OTNERVxcdTkzREZcXHU5M0UyXFx1OTNFNlxcdTkzRTdcXHU5M0Y5XFx1OTNGN1xcdTkzRjhcXHU5M0ZBXFx1OTNGQlxcdTkzRkRcXHU5NDAxXFx1OTQwMlxcdTk0MDRcXHU5NDA4XFx1OTQwOVxcdTk0MERcXHU5NDBFXFx1OTQwRlxcdTk0MTVcXHU5NDE2XFx1OTQxN1xcdTk0MUZcXHU5NDJFXFx1OTQyRlxcdTk0MzFcXHU5NDMyXFx1OTQzM1xcdTk0MzRcXHU5NDNCXFx1OTQzRlxcdTk0M0RcXHU5NDQzXFx1OTQ0NVxcdTk0NDhcXHU5NDRBXFx1OTQ0Q1xcdTk0NTVcXHU5NDU5XFx1OTQ1Q1xcdTk0NUZcXHU5NDYxXFx1OTQ2M1xcdTk0NjhcXHU5NDZCXFx1OTQ2RFxcdTk0NkVcXHU5NDZGXFx1OTQ3MVxcdTk0NzJcXHU5NDg0XFx1OTQ4M1xcdTk1NzhcXHU5NTc5XCJdLFxuICAgICAgW1wiOGZlNmExXCIsIFwiXFx1OTU3RVxcdTk1ODRcXHU5NTg4XFx1OTU4Q1xcdTk1OERcXHU5NThFXFx1OTU5RFxcdTk1OUVcXHU5NTlGXFx1OTVBMVxcdTk1QTZcXHU5NUE5XFx1OTVBQlxcdTk1QUNcXHU5NUI0XFx1OTVCNlxcdTk1QkFcXHU5NUJEXFx1OTVCRlxcdTk1QzZcXHU5NUM4XFx1OTVDOVxcdTk1Q0JcXHU5NUQwXFx1OTVEMVxcdTk1RDJcXHU5NUQzXFx1OTVEOVxcdTk1REFcXHU5NUREXFx1OTVERVxcdTk1REZcXHU5NUUwXFx1OTVFNFxcdTk1RTZcXHU5NjFEXFx1OTYxRVxcdTk2MjJcXHU5NjI0XFx1OTYyNVxcdTk2MjZcXHU5NjJDXFx1OTYzMVxcdTk2MzNcXHU5NjM3XFx1OTYzOFxcdTk2MzlcXHU5NjNBXFx1OTYzQ1xcdTk2M0RcXHU5NjQxXFx1OTY1MlxcdTk2NTRcXHU5NjU2XFx1OTY1N1xcdTk2NThcXHU5NjYxXFx1OTY2RVxcdTk2NzRcXHU5NjdCXFx1OTY3Q1xcdTk2N0VcXHU5NjdGXFx1OTY4MVxcdTk2ODJcXHU5NjgzXFx1OTY4NFxcdTk2ODlcXHU5NjkxXFx1OTY5NlxcdTk2OUFcXHU5NjlEXFx1OTY5RlxcdTk2QTRcXHU5NkE1XFx1OTZBNlxcdTk2QTlcXHU5NkFFXFx1OTZBRlxcdTk2QjNcXHU5NkJBXFx1OTZDQVxcdTk2RDJcXHU1REIyXFx1OTZEOFxcdTk2REFcXHU5NkREXFx1OTZERVxcdTk2REZcXHU5NkU5XFx1OTZFRlxcdTk2RjFcXHU5NkZBXFx1OTcwMlwiXSxcbiAgICAgIFtcIjhmZTdhMVwiLCBcIlxcdTk3MDNcXHU5NzA1XFx1OTcwOVxcdTk3MUFcXHU5NzFCXFx1OTcxRFxcdTk3MjFcXHU5NzIyXFx1OTcyM1xcdTk3MjhcXHU5NzMxXFx1OTczM1xcdTk3NDFcXHU5NzQzXFx1OTc0QVxcdTk3NEVcXHU5NzRGXFx1OTc1NVxcdTk3NTdcXHU5NzU4XFx1OTc1QVxcdTk3NUJcXHU5NzYzXFx1OTc2N1xcdTk3NkFcXHU5NzZFXFx1OTc3M1xcdTk3NzZcXHU5Nzc3XFx1OTc3OFxcdTk3N0JcXHU5NzdEXFx1OTc3RlxcdTk3ODBcXHU5Nzg5XFx1OTc5NVxcdTk3OTZcXHU5Nzk3XFx1OTc5OVxcdTk3OUFcXHU5NzlFXFx1OTc5RlxcdTk3QTJcXHU5N0FDXFx1OTdBRVxcdTk3QjFcXHU5N0IyXFx1OTdCNVxcdTk3QjZcXHU5N0I4XFx1OTdCOVxcdTk3QkFcXHU5N0JDXFx1OTdCRVxcdTk3QkZcXHU5N0MxXFx1OTdDNFxcdTk3QzVcXHU5N0M3XFx1OTdDOVxcdTk3Q0FcXHU5N0NDXFx1OTdDRFxcdTk3Q0VcXHU5N0QwXFx1OTdEMVxcdTk3RDRcXHU5N0Q3XFx1OTdEOFxcdTk3RDlcXHU5N0REXFx1OTdERVxcdTk3RTBcXHU5N0RCXFx1OTdFMVxcdTk3RTRcXHU5N0VGXFx1OTdGMVxcdTk3RjRcXHU5N0Y3XFx1OTdGOFxcdTk3RkFcXHU5ODA3XFx1OTgwQVxcdTk4MTlcXHU5ODBEXFx1OTgwRVxcdTk4MTRcXHU5ODE2XFx1OTgxQ1xcdTk4MUVcXHU5ODIwXFx1OTgyM1xcdTk4MjZcIl0sXG4gICAgICBbXCI4ZmU4YTFcIiwgXCJcXHU5ODJCXFx1OTgyRVxcdTk4MkZcXHU5ODMwXFx1OTgzMlxcdTk4MzNcXHU5ODM1XFx1OTgyNVxcdTk4M0VcXHU5ODQ0XFx1OTg0N1xcdTk4NEFcXHU5ODUxXFx1OTg1MlxcdTk4NTNcXHU5ODU2XFx1OTg1N1xcdTk4NTlcXHU5ODVBXFx1OTg2MlxcdTk4NjNcXHU5ODY1XFx1OTg2NlxcdTk4NkFcXHU5ODZDXFx1OThBQlxcdTk4QURcXHU5OEFFXFx1OThCMFxcdTk4QjRcXHU5OEI3XFx1OThCOFxcdTk4QkFcXHU5OEJCXFx1OThCRlxcdTk4QzJcXHU5OEM1XFx1OThDOFxcdTk4Q0NcXHU5OEUxXFx1OThFM1xcdTk4RTVcXHU5OEU2XFx1OThFN1xcdTk4RUFcXHU5OEYzXFx1OThGNlxcdTk5MDJcXHU5OTA3XFx1OTkwOFxcdTk5MTFcXHU5OTE1XFx1OTkxNlxcdTk5MTdcXHU5OTFBXFx1OTkxQlxcdTk5MUNcXHU5OTFGXFx1OTkyMlxcdTk5MjZcXHU5OTI3XFx1OTkyQlxcdTk5MzFcIiwgNCwgXCJcXHU5OTM5XFx1OTkzQVxcdTk5M0JcXHU5OTNDXFx1OTk0MFxcdTk5NDFcXHU5OTQ2XFx1OTk0N1xcdTk5NDhcXHU5OTREXFx1OTk0RVxcdTk5NTRcXHU5OTU4XFx1OTk1OVxcdTk5NUJcXHU5OTVDXFx1OTk1RVxcdTk5NUZcXHU5OTYwXFx1OTk5QlxcdTk5OURcXHU5OTlGXFx1OTlBNlxcdTk5QjBcXHU5OUIxXFx1OTlCMlxcdTk5QjVcIl0sXG4gICAgICBbXCI4ZmU5YTFcIiwgXCJcXHU5OUI5XFx1OTlCQVxcdTk5QkRcXHU5OUJGXFx1OTlDM1xcdTk5QzlcXHU5OUQzXFx1OTlENFxcdTk5RDlcXHU5OURBXFx1OTlEQ1xcdTk5REVcXHU5OUU3XFx1OTlFQVxcdTk5RUJcXHU5OUVDXFx1OTlGMFxcdTk5RjRcXHU5OUY1XFx1OTlGOVxcdTk5RkRcXHU5OUZFXFx1OUEwMlxcdTlBMDNcXHU5QTA0XFx1OUEwQlxcdTlBMENcXHU5QTEwXFx1OUExMVxcdTlBMTZcXHU5QTFFXFx1OUEyMFxcdTlBMjJcXHU5QTIzXFx1OUEyNFxcdTlBMjdcXHU5QTJEXFx1OUEyRVxcdTlBMzNcXHU5QTM1XFx1OUEzNlxcdTlBMzhcXHU5QTQ3XFx1OUE0MVxcdTlBNDRcXHU5QTRBXFx1OUE0QlxcdTlBNENcXHU5QTRFXFx1OUE1MVxcdTlBNTRcXHU5QTU2XFx1OUE1RFxcdTlBQUFcXHU5QUFDXFx1OUFBRVxcdTlBQUZcXHU5QUIyXFx1OUFCNFxcdTlBQjVcXHU5QUI2XFx1OUFCOVxcdTlBQkJcXHU5QUJFXFx1OUFCRlxcdTlBQzFcXHU5QUMzXFx1OUFDNlxcdTlBQzhcXHU5QUNFXFx1OUFEMFxcdTlBRDJcXHU5QUQ1XFx1OUFENlxcdTlBRDdcXHU5QURCXFx1OUFEQ1xcdTlBRTBcXHU5QUU0XFx1OUFFNVxcdTlBRTdcXHU5QUU5XFx1OUFFQ1xcdTlBRjJcXHU5QUYzXFx1OUFGNVxcdTlBRjlcXHU5QUZBXFx1OUFGRFxcdTlBRkZcIiwgNF0sXG4gICAgICBbXCI4ZmVhYTFcIiwgXCJcXHU5QjA0XFx1OUIwNVxcdTlCMDhcXHU5QjA5XFx1OUIwQlxcdTlCMENcXHU5QjBEXFx1OUIwRVxcdTlCMTBcXHU5QjEyXFx1OUIxNlxcdTlCMTlcXHU5QjFCXFx1OUIxQ1xcdTlCMjBcXHU5QjI2XFx1OUIyQlxcdTlCMkRcXHU5QjMzXFx1OUIzNFxcdTlCMzVcXHU5QjM3XFx1OUIzOVxcdTlCM0FcXHU5QjNEXFx1OUI0OFxcdTlCNEJcXHU5QjRDXFx1OUI1NVxcdTlCNTZcXHU5QjU3XFx1OUI1QlxcdTlCNUVcXHU5QjYxXFx1OUI2M1xcdTlCNjVcXHU5QjY2XFx1OUI2OFxcdTlCNkFcIiwgNCwgXCJcXHU5QjczXFx1OUI3NVxcdTlCNzdcXHU5Qjc4XFx1OUI3OVxcdTlCN0ZcXHU5QjgwXFx1OUI4NFxcdTlCODVcXHU5Qjg2XFx1OUI4N1xcdTlCODlcXHU5QjhBXFx1OUI4QlxcdTlCOERcXHU5QjhGXFx1OUI5MFxcdTlCOTRcXHU5QjlBXFx1OUI5RFxcdTlCOUVcXHU5QkE2XFx1OUJBN1xcdTlCQTlcXHU5QkFDXFx1OUJCMFxcdTlCQjFcXHU5QkIyXFx1OUJCN1xcdTlCQjhcXHU5QkJCXFx1OUJCQ1xcdTlCQkVcXHU5QkJGXFx1OUJDMVxcdTlCQzdcXHU5QkM4XFx1OUJDRVxcdTlCRDBcXHU5QkQ3XFx1OUJEOFxcdTlCRERcXHU5QkRGXFx1OUJFNVxcdTlCRTdcXHU5QkVBXFx1OUJFQlxcdTlCRUZcXHU5QkYzXFx1OUJGN1xcdTlCRjhcIl0sXG4gICAgICBbXCI4ZmViYTFcIiwgXCJcXHU5QkY5XFx1OUJGQVxcdTlCRkRcXHU5QkZGXFx1OUMwMFxcdTlDMDJcXHU5QzBCXFx1OUMwRlxcdTlDMTFcXHU5QzE2XFx1OUMxOFxcdTlDMTlcXHU5QzFBXFx1OUMxQ1xcdTlDMUVcXHU5QzIyXFx1OUMyM1xcdTlDMjZcIiwgNCwgXCJcXHU5QzMxXFx1OUMzNVxcdTlDMzZcXHU5QzM3XFx1OUMzRFxcdTlDNDFcXHU5QzQzXFx1OUM0NFxcdTlDNDVcXHU5QzQ5XFx1OUM0QVxcdTlDNEVcXHU5QzRGXFx1OUM1MFxcdTlDNTNcXHU5QzU0XFx1OUM1NlxcdTlDNThcXHU5QzVCXFx1OUM1RFxcdTlDNUVcXHU5QzVGXFx1OUM2M1xcdTlDNjlcXHU5QzZBXFx1OUM1Q1xcdTlDNkJcXHU5QzY4XFx1OUM2RVxcdTlDNzBcXHU5QzcyXFx1OUM3NVxcdTlDNzdcXHU5QzdCXFx1OUNFNlxcdTlDRjJcXHU5Q0Y3XFx1OUNGOVxcdTlEMEJcXHU5RDAyXFx1OUQxMVxcdTlEMTdcXHU5RDE4XFx1OUQxQ1xcdTlEMURcXHU5RDFFXFx1OUQyRlxcdTlEMzBcXHU5RDMyXFx1OUQzM1xcdTlEMzRcXHU5RDNBXFx1OUQzQ1xcdTlENDVcXHU5RDNEXFx1OUQ0MlxcdTlENDNcXHU5RDQ3XFx1OUQ0QVxcdTlENTNcXHU5RDU0XFx1OUQ1RlxcdTlENjNcXHU5RDYyXFx1OUQ2NVxcdTlENjlcXHU5RDZBXFx1OUQ2QlxcdTlENzBcXHU5RDc2XFx1OUQ3N1xcdTlEN0JcIl0sXG4gICAgICBbXCI4ZmVjYTFcIiwgXCJcXHU5RDdDXFx1OUQ3RVxcdTlEODNcXHU5RDg0XFx1OUQ4NlxcdTlEOEFcXHU5RDhEXFx1OUQ4RVxcdTlEOTJcXHU5RDkzXFx1OUQ5NVxcdTlEOTZcXHU5RDk3XFx1OUQ5OFxcdTlEQTFcXHU5REFBXFx1OURBQ1xcdTlEQUVcXHU5REIxXFx1OURCNVxcdTlEQjlcXHU5REJDXFx1OURCRlxcdTlEQzNcXHU5REM3XFx1OURDOVxcdTlEQ0FcXHU5REQ0XFx1OURENVxcdTlERDZcXHU5REQ3XFx1OUREQVxcdTlEREVcXHU5RERGXFx1OURFMFxcdTlERTVcXHU5REU3XFx1OURFOVxcdTlERUJcXHU5REVFXFx1OURGMFxcdTlERjNcXHU5REY0XFx1OURGRVxcdTlFMEFcXHU5RTAyXFx1OUUwN1xcdTlFMEVcXHU5RTEwXFx1OUUxMVxcdTlFMTJcXHU5RTE1XFx1OUUxNlxcdTlFMTlcXHU5RTFDXFx1OUUxRFxcdTlFN0FcXHU5RTdCXFx1OUU3Q1xcdTlFODBcXHU5RTgyXFx1OUU4M1xcdTlFODRcXHU5RTg1XFx1OUU4N1xcdTlFOEVcXHU5RThGXFx1OUU5NlxcdTlFOThcXHU5RTlCXFx1OUU5RVxcdTlFQTRcXHU5RUE4XFx1OUVBQ1xcdTlFQUVcXHU5RUFGXFx1OUVCMFxcdTlFQjNcXHU5RUI0XFx1OUVCNVxcdTlFQzZcXHU5RUM4XFx1OUVDQlxcdTlFRDVcXHU5RURGXFx1OUVFNFxcdTlFRTdcXHU5RUVDXFx1OUVFRFxcdTlFRUVcXHU5RUYwXFx1OUVGMVxcdTlFRjJcXHU5RUY1XCJdLFxuICAgICAgW1wiOGZlZGExXCIsIFwiXFx1OUVGOFxcdTlFRkZcXHU5RjAyXFx1OUYwM1xcdTlGMDlcXHU5RjBGXFx1OUYxMFxcdTlGMTFcXHU5RjEyXFx1OUYxNFxcdTlGMTZcXHU5RjE3XFx1OUYxOVxcdTlGMUFcXHU5RjFCXFx1OUYxRlxcdTlGMjJcXHU5RjI2XFx1OUYyQVxcdTlGMkJcXHU5RjJGXFx1OUYzMVxcdTlGMzJcXHU5RjM0XFx1OUYzN1xcdTlGMzlcXHU5RjNBXFx1OUYzQ1xcdTlGM0RcXHU5RjNGXFx1OUY0MVxcdTlGNDNcIiwgNCwgXCJcXHU5RjUzXFx1OUY1NVxcdTlGNTZcXHU5RjU3XFx1OUY1OFxcdTlGNUFcXHU5RjVEXFx1OUY1RVxcdTlGNjhcXHU5RjY5XFx1OUY2RFwiLCA0LCBcIlxcdTlGNzNcXHU5Rjc1XFx1OUY3QVxcdTlGN0RcXHU5RjhGXFx1OUY5MFxcdTlGOTFcXHU5RjkyXFx1OUY5NFxcdTlGOTZcXHU5Rjk3XFx1OUY5RVxcdTlGQTFcXHU5RkEyXFx1OUZBM1xcdTlGQTVcIl1cbiAgICBdO1xuICB9XG59KTtcblxuLy8gbm9kZV9tb2R1bGVzL2JvZHktcGFyc2VyL25vZGVfbW9kdWxlcy9pY29udi1saXRlL2VuY29kaW5ncy90YWJsZXMvY3A5MzYuanNvblxudmFyIHJlcXVpcmVfY3A5MzYyID0gX19jb21tb25KUyh7XG4gIFwibm9kZV9tb2R1bGVzL2JvZHktcGFyc2VyL25vZGVfbW9kdWxlcy9pY29udi1saXRlL2VuY29kaW5ncy90YWJsZXMvY3A5MzYuanNvblwiKGV4cG9ydHMyLCBtb2R1bGUyKSB7XG4gICAgbW9kdWxlMi5leHBvcnRzID0gW1xuICAgICAgW1wiMFwiLCBcIlxcMFwiLCAxMjcsIFwiXFx1MjBBQ1wiXSxcbiAgICAgIFtcIjgxNDBcIiwgXCJcXHU0RTAyXFx1NEUwNFxcdTRFMDVcXHU0RTA2XFx1NEUwRlxcdTRFMTJcXHU0RTE3XFx1NEUxRlxcdTRFMjBcXHU0RTIxXFx1NEUyM1xcdTRFMjZcXHU0RTI5XFx1NEUyRVxcdTRFMkZcXHU0RTMxXFx1NEUzM1xcdTRFMzVcXHU0RTM3XFx1NEUzQ1xcdTRFNDBcXHU0RTQxXFx1NEU0MlxcdTRFNDRcXHU0RTQ2XFx1NEU0QVxcdTRFNTFcXHU0RTU1XFx1NEU1N1xcdTRFNUFcXHU0RTVCXFx1NEU2MlxcdTRFNjNcXHU0RTY0XFx1NEU2NVxcdTRFNjdcXHU0RTY4XFx1NEU2QVwiLCA1LCBcIlxcdTRFNzJcXHU0RTc0XCIsIDksIFwiXFx1NEU3RlwiLCA2LCBcIlxcdTRFODdcXHU0RThBXCJdLFxuICAgICAgW1wiODE4MFwiLCBcIlxcdTRFOTBcXHU0RTk2XFx1NEU5N1xcdTRFOTlcXHU0RTlDXFx1NEU5RFxcdTRFOUVcXHU0RUEzXFx1NEVBQVxcdTRFQUZcXHU0RUIwXFx1NEVCMVxcdTRFQjRcXHU0RUI2XFx1NEVCN1xcdTRFQjhcXHU0RUI5XFx1NEVCQ1xcdTRFQkRcXHU0RUJFXFx1NEVDOFxcdTRFQ0NcXHU0RUNGXFx1NEVEMFxcdTRFRDJcXHU0RURBXFx1NEVEQlxcdTRFRENcXHU0RUUwXFx1NEVFMlxcdTRFRTZcXHU0RUU3XFx1NEVFOVxcdTRFRURcXHU0RUVFXFx1NEVFRlxcdTRFRjFcXHU0RUY0XFx1NEVGOFxcdTRFRjlcXHU0RUZBXFx1NEVGQ1xcdTRFRkVcXHU0RjAwXFx1NEYwMlwiLCA2LCBcIlxcdTRGMEJcXHU0RjBDXFx1NEYxMlwiLCA0LCBcIlxcdTRGMUNcXHU0RjFEXFx1NEYyMVxcdTRGMjNcXHU0RjI4XFx1NEYyOVxcdTRGMkNcXHU0RjJEXFx1NEYyRVxcdTRGMzFcXHU0RjMzXFx1NEYzNVxcdTRGMzdcXHU0RjM5XFx1NEYzQlxcdTRGM0VcIiwgNCwgXCJcXHU0RjQ0XFx1NEY0NVxcdTRGNDdcIiwgNSwgXCJcXHU0RjUyXFx1NEY1NFxcdTRGNTZcXHU0RjYxXFx1NEY2MlxcdTRGNjZcXHU0RjY4XFx1NEY2QVxcdTRGNkJcXHU0RjZEXFx1NEY2RVxcdTRGNzFcXHU0RjcyXFx1NEY3NVxcdTRGNzdcXHU0Rjc4XFx1NEY3OVxcdTRGN0FcXHU0RjdEXFx1NEY4MFxcdTRGODFcXHU0RjgyXFx1NEY4NVxcdTRGODZcXHU0Rjg3XFx1NEY4QVxcdTRGOENcXHU0RjhFXFx1NEY5MFxcdTRGOTJcXHU0RjkzXFx1NEY5NVxcdTRGOTZcXHU0Rjk4XFx1NEY5OVxcdTRGOUFcXHU0RjlDXFx1NEY5RVxcdTRGOUZcXHU0RkExXFx1NEZBMlwiXSxcbiAgICAgIFtcIjgyNDBcIiwgXCJcXHU0RkE0XFx1NEZBQlxcdTRGQURcXHU0RkIwXCIsIDQsIFwiXFx1NEZCNlwiLCA4LCBcIlxcdTRGQzBcXHU0RkMxXFx1NEZDMlxcdTRGQzZcXHU0RkM3XFx1NEZDOFxcdTRGQzlcXHU0RkNCXFx1NEZDQ1xcdTRGQ0RcXHU0RkQyXCIsIDQsIFwiXFx1NEZEOVxcdTRGREJcXHU0RkUwXFx1NEZFMlxcdTRGRTRcXHU0RkU1XFx1NEZFN1xcdTRGRUJcXHU0RkVDXFx1NEZGMFxcdTRGRjJcXHU0RkY0XFx1NEZGNVxcdTRGRjZcXHU0RkY3XFx1NEZGOVxcdTRGRkJcXHU0RkZDXFx1NEZGRFxcdTRGRkZcIiwgMTFdLFxuICAgICAgW1wiODI4MFwiLCBcIlxcdTUwMEJcXHU1MDBFXFx1NTAxMFxcdTUwMTFcXHU1MDEzXFx1NTAxNVxcdTUwMTZcXHU1MDE3XFx1NTAxQlxcdTUwMURcXHU1MDFFXFx1NTAyMFxcdTUwMjJcXHU1MDIzXFx1NTAyNFxcdTUwMjdcXHU1MDJCXFx1NTAyRlwiLCAxMCwgXCJcXHU1MDNCXFx1NTAzRFxcdTUwM0ZcXHU1MDQwXFx1NTA0MVxcdTUwNDJcXHU1MDQ0XFx1NTA0NVxcdTUwNDZcXHU1MDQ5XFx1NTA0QVxcdTUwNEJcXHU1MDREXFx1NTA1MFwiLCA0LCBcIlxcdTUwNTZcXHU1MDU3XFx1NTA1OFxcdTUwNTlcXHU1MDVCXFx1NTA1RFwiLCA3LCBcIlxcdTUwNjZcIiwgNSwgXCJcXHU1MDZEXCIsIDgsIFwiXFx1NTA3OFxcdTUwNzlcXHU1MDdBXFx1NTA3Q1xcdTUwN0RcXHU1MDgxXFx1NTA4MlxcdTUwODNcXHU1MDg0XFx1NTA4NlxcdTUwODdcXHU1MDg5XFx1NTA4QVxcdTUwOEJcXHU1MDhDXFx1NTA4RVwiLCAyMCwgXCJcXHU1MEE0XFx1NTBBNlxcdTUwQUFcXHU1MEFCXFx1NTBBRFwiLCA0LCBcIlxcdTUwQjNcIiwgNiwgXCJcXHU1MEJDXCJdLFxuICAgICAgW1wiODM0MFwiLCBcIlxcdTUwQkRcIiwgMTcsIFwiXFx1NTBEMFwiLCA1LCBcIlxcdTUwRDdcXHU1MEQ4XFx1NTBEOVxcdTUwREJcIiwgMTAsIFwiXFx1NTBFOFxcdTUwRTlcXHU1MEVBXFx1NTBFQlxcdTUwRUZcXHU1MEYwXFx1NTBGMVxcdTUwRjJcXHU1MEY0XFx1NTBGNlwiLCA0LCBcIlxcdTUwRkNcIiwgOSwgXCJcXHU1MTA4XCJdLFxuICAgICAgW1wiODM4MFwiLCBcIlxcdTUxMDlcXHU1MTBBXFx1NTEwQ1wiLCA1LCBcIlxcdTUxMTNcIiwgMTMsIFwiXFx1NTEyMlwiLCAyOCwgXCJcXHU1MTQyXFx1NTE0N1xcdTUxNEFcXHU1MTRDXFx1NTE0RVxcdTUxNEZcXHU1MTUwXFx1NTE1MlxcdTUxNTNcXHU1MTU3XFx1NTE1OFxcdTUxNTlcXHU1MTVCXFx1NTE1RFwiLCA0LCBcIlxcdTUxNjNcXHU1MTY0XFx1NTE2NlxcdTUxNjdcXHU1MTY5XFx1NTE2QVxcdTUxNkZcXHU1MTcyXFx1NTE3QVxcdTUxN0VcXHU1MTdGXFx1NTE4M1xcdTUxODRcXHU1MTg2XFx1NTE4N1xcdTUxOEFcXHU1MThCXFx1NTE4RVxcdTUxOEZcXHU1MTkwXFx1NTE5MVxcdTUxOTNcXHU1MTk0XFx1NTE5OFxcdTUxOUFcXHU1MTlEXFx1NTE5RVxcdTUxOUZcXHU1MUExXFx1NTFBM1xcdTUxQTZcIiwgNCwgXCJcXHU1MUFEXFx1NTFBRVxcdTUxQjRcXHU1MUI4XFx1NTFCOVxcdTUxQkFcXHU1MUJFXFx1NTFCRlxcdTUxQzFcXHU1MUMyXFx1NTFDM1xcdTUxQzVcXHU1MUM4XFx1NTFDQVxcdTUxQ0RcXHU1MUNFXFx1NTFEMFxcdTUxRDJcIiwgNV0sXG4gICAgICBbXCI4NDQwXCIsIFwiXFx1NTFEOFxcdTUxRDlcXHU1MURBXFx1NTFEQ1xcdTUxREVcXHU1MURGXFx1NTFFMlxcdTUxRTNcXHU1MUU1XCIsIDUsIFwiXFx1NTFFQ1xcdTUxRUVcXHU1MUYxXFx1NTFGMlxcdTUxRjRcXHU1MUY3XFx1NTFGRVxcdTUyMDRcXHU1MjA1XFx1NTIwOVxcdTUyMEJcXHU1MjBDXFx1NTIwRlxcdTUyMTBcXHU1MjEzXFx1NTIxNFxcdTUyMTVcXHU1MjFDXFx1NTIxRVxcdTUyMUZcXHU1MjIxXFx1NTIyMlxcdTUyMjNcXHU1MjI1XFx1NTIyNlxcdTUyMjdcXHU1MjJBXFx1NTIyQ1xcdTUyMkZcXHU1MjMxXFx1NTIzMlxcdTUyMzRcXHU1MjM1XFx1NTIzQ1xcdTUyM0VcXHU1MjQ0XCIsIDUsIFwiXFx1NTI0QlxcdTUyNEVcXHU1MjRGXFx1NTI1MlxcdTUyNTNcXHU1MjU1XFx1NTI1N1xcdTUyNThcIl0sXG4gICAgICBbXCI4NDgwXCIsIFwiXFx1NTI1OVxcdTUyNUFcXHU1MjVCXFx1NTI1RFxcdTUyNUZcXHU1MjYwXFx1NTI2MlxcdTUyNjNcXHU1MjY0XFx1NTI2NlxcdTUyNjhcXHU1MjZCXFx1NTI2Q1xcdTUyNkRcXHU1MjZFXFx1NTI3MFxcdTUyNzFcXHU1MjczXCIsIDksIFwiXFx1NTI3RVxcdTUyODBcXHU1MjgzXCIsIDQsIFwiXFx1NTI4OVwiLCA2LCBcIlxcdTUyOTFcXHU1MjkyXFx1NTI5NFwiLCA2LCBcIlxcdTUyOUNcXHU1MkE0XFx1NTJBNVxcdTUyQTZcXHU1MkE3XFx1NTJBRVxcdTUyQUZcXHU1MkIwXFx1NTJCNFwiLCA5LCBcIlxcdTUyQzBcXHU1MkMxXFx1NTJDMlxcdTUyQzRcXHU1MkM1XFx1NTJDNlxcdTUyQzhcXHU1MkNBXFx1NTJDQ1xcdTUyQ0RcXHU1MkNFXFx1NTJDRlxcdTUyRDFcXHU1MkQzXFx1NTJENFxcdTUyRDVcXHU1MkQ3XFx1NTJEOVwiLCA1LCBcIlxcdTUyRTBcXHU1MkUxXFx1NTJFMlxcdTUyRTNcXHU1MkU1XCIsIDEwLCBcIlxcdTUyRjFcIiwgNywgXCJcXHU1MkZCXFx1NTJGQ1xcdTUyRkRcXHU1MzAxXFx1NTMwMlxcdTUzMDNcXHU1MzA0XFx1NTMwN1xcdTUzMDlcXHU1MzBBXFx1NTMwQlxcdTUzMENcXHU1MzBFXCJdLFxuICAgICAgW1wiODU0MFwiLCBcIlxcdTUzMTFcXHU1MzEyXFx1NTMxM1xcdTUzMTRcXHU1MzE4XFx1NTMxQlxcdTUzMUNcXHU1MzFFXFx1NTMxRlxcdTUzMjJcXHU1MzI0XFx1NTMyNVxcdTUzMjdcXHU1MzI4XFx1NTMyOVxcdTUzMkJcXHU1MzJDXFx1NTMyRFxcdTUzMkZcIiwgOSwgXCJcXHU1MzNDXFx1NTMzRFxcdTUzNDBcXHU1MzQyXFx1NTM0NFxcdTUzNDZcXHU1MzRCXFx1NTM0Q1xcdTUzNERcXHU1MzUwXFx1NTM1NFxcdTUzNThcXHU1MzU5XFx1NTM1QlxcdTUzNURcXHU1MzY1XFx1NTM2OFxcdTUzNkFcXHU1MzZDXFx1NTM2RFxcdTUzNzJcXHU1Mzc2XFx1NTM3OVxcdTUzN0JcXHU1MzdDXFx1NTM3RFxcdTUzN0VcXHU1MzgwXFx1NTM4MVxcdTUzODNcXHU1Mzg3XFx1NTM4OFxcdTUzOEFcXHU1MzhFXFx1NTM4RlwiXSxcbiAgICAgIFtcIjg1ODBcIiwgXCJcXHU1MzkwXCIsIDQsIFwiXFx1NTM5NlxcdTUzOTdcXHU1Mzk5XFx1NTM5QlxcdTUzOUNcXHU1MzlFXFx1NTNBMFxcdTUzQTFcXHU1M0E0XFx1NTNBN1xcdTUzQUFcXHU1M0FCXFx1NTNBQ1xcdTUzQURcXHU1M0FGXCIsIDYsIFwiXFx1NTNCN1xcdTUzQjhcXHU1M0I5XFx1NTNCQVxcdTUzQkNcXHU1M0JEXFx1NTNCRVxcdTUzQzBcXHU1M0MzXCIsIDQsIFwiXFx1NTNDRVxcdTUzQ0ZcXHU1M0QwXFx1NTNEMlxcdTUzRDNcXHU1M0Q1XFx1NTNEQVxcdTUzRENcXHU1M0REXFx1NTNERVxcdTUzRTFcXHU1M0UyXFx1NTNFN1xcdTUzRjRcXHU1M0ZBXFx1NTNGRVxcdTUzRkZcXHU1NDAwXFx1NTQwMlxcdTU0MDVcXHU1NDA3XFx1NTQwQlxcdTU0MTRcXHU1NDE4XFx1NTQxOVxcdTU0MUFcXHU1NDFDXFx1NTQyMlxcdTU0MjRcXHU1NDI1XFx1NTQyQVxcdTU0MzBcXHU1NDMzXFx1NTQzNlxcdTU0MzdcXHU1NDNBXFx1NTQzRFxcdTU0M0ZcXHU1NDQxXFx1NTQ0MlxcdTU0NDRcXHU1NDQ1XFx1NTQ0N1xcdTU0NDlcXHU1NDRDXFx1NTQ0RFxcdTU0NEVcXHU1NDRGXFx1NTQ1MVxcdTU0NUFcXHU1NDVEXCIsIDQsIFwiXFx1NTQ2M1xcdTU0NjVcXHU1NDY3XFx1NTQ2OVwiLCA3LCBcIlxcdTU0NzRcXHU1NDc5XFx1NTQ3QVxcdTU0N0VcXHU1NDdGXFx1NTQ4MVxcdTU0ODNcXHU1NDg1XFx1NTQ4N1xcdTU0ODhcXHU1NDg5XFx1NTQ4QVxcdTU0OERcXHU1NDkxXFx1NTQ5M1xcdTU0OTdcXHU1NDk4XFx1NTQ5Q1xcdTU0OUVcXHU1NDlGXFx1NTRBMFxcdTU0QTFcIl0sXG4gICAgICBbXCI4NjQwXCIsIFwiXFx1NTRBMlxcdTU0QTVcXHU1NEFFXFx1NTRCMFxcdTU0QjJcXHU1NEI1XFx1NTRCNlxcdTU0QjdcXHU1NEI5XFx1NTRCQVxcdTU0QkNcXHU1NEJFXFx1NTRDM1xcdTU0QzVcXHU1NENBXFx1NTRDQlxcdTU0RDZcXHU1NEQ4XFx1NTREQlxcdTU0RTBcIiwgNCwgXCJcXHU1NEVCXFx1NTRFQ1xcdTU0RUZcXHU1NEYwXFx1NTRGMVxcdTU0RjRcIiwgNSwgXCJcXHU1NEZCXFx1NTRGRVxcdTU1MDBcXHU1NTAyXFx1NTUwM1xcdTU1MDRcXHU1NTA1XFx1NTUwOFxcdTU1MEFcIiwgNCwgXCJcXHU1NTEyXFx1NTUxM1xcdTU1MTVcIiwgNSwgXCJcXHU1NTFDXFx1NTUxRFxcdTU1MUVcXHU1NTFGXFx1NTUyMVxcdTU1MjVcXHU1NTI2XCJdLFxuICAgICAgW1wiODY4MFwiLCBcIlxcdTU1MjhcXHU1NTI5XFx1NTUyQlxcdTU1MkRcXHU1NTMyXFx1NTUzNFxcdTU1MzVcXHU1NTM2XFx1NTUzOFxcdTU1MzlcXHU1NTNBXFx1NTUzQlxcdTU1M0RcXHU1NTQwXFx1NTU0MlxcdTU1NDVcXHU1NTQ3XFx1NTU0OFxcdTU1NEJcIiwgNCwgXCJcXHU1NTUxXFx1NTU1MlxcdTU1NTNcXHU1NTU0XFx1NTU1N1wiLCA0LCBcIlxcdTU1NURcXHU1NTVFXFx1NTU1RlxcdTU1NjBcXHU1NTYyXFx1NTU2M1xcdTU1NjhcXHU1NTY5XFx1NTU2QlxcdTU1NkZcIiwgNSwgXCJcXHU1NTc5XFx1NTU3QVxcdTU1N0RcXHU1NTdGXFx1NTU4NVxcdTU1ODZcXHU1NThDXFx1NTU4RFxcdTU1OEVcXHU1NTkwXFx1NTU5MlxcdTU1OTNcXHU1NTk1XFx1NTU5NlxcdTU1OTdcXHU1NTlBXFx1NTU5QlxcdTU1OUVcXHU1NUEwXCIsIDYsIFwiXFx1NTVBOFwiLCA4LCBcIlxcdTU1QjJcXHU1NUI0XFx1NTVCNlxcdTU1QjhcXHU1NUJBXFx1NTVCQ1xcdTU1QkZcIiwgNCwgXCJcXHU1NUM2XFx1NTVDN1xcdTU1QzhcXHU1NUNBXFx1NTVDQlxcdTU1Q0VcXHU1NUNGXFx1NTVEMFxcdTU1RDVcXHU1NUQ3XCIsIDQsIFwiXFx1NTVERVxcdTU1RTBcXHU1NUUyXFx1NTVFN1xcdTU1RTlcXHU1NUVEXFx1NTVFRVxcdTU1RjBcXHU1NUYxXFx1NTVGNFxcdTU1RjZcXHU1NUY4XCIsIDQsIFwiXFx1NTVGRlxcdTU2MDJcXHU1NjAzXFx1NTYwNFxcdTU2MDVcIl0sXG4gICAgICBbXCI4NzQwXCIsIFwiXFx1NTYwNlxcdTU2MDdcXHU1NjBBXFx1NTYwQlxcdTU2MERcXHU1NjEwXCIsIDcsIFwiXFx1NTYxOVxcdTU2MUFcXHU1NjFDXFx1NTYxRFxcdTU2MjBcXHU1NjIxXFx1NTYyMlxcdTU2MjVcXHU1NjI2XFx1NTYyOFxcdTU2MjlcXHU1NjJBXFx1NTYyQlxcdTU2MkVcXHU1NjJGXFx1NTYzMFxcdTU2MzNcXHU1NjM1XFx1NTYzN1xcdTU2MzhcXHU1NjNBXFx1NTYzQ1xcdTU2M0RcXHU1NjNFXFx1NTY0MFwiLCAxMSwgXCJcXHU1NjRGXCIsIDQsIFwiXFx1NTY1NVxcdTU2NTZcXHU1NjVBXFx1NTY1QlxcdTU2NURcIiwgNF0sXG4gICAgICBbXCI4NzgwXCIsIFwiXFx1NTY2M1xcdTU2NjVcXHU1NjY2XFx1NTY2N1xcdTU2NkRcXHU1NjZFXFx1NTY2RlxcdTU2NzBcXHU1NjcyXFx1NTY3M1xcdTU2NzRcXHU1Njc1XFx1NTY3N1xcdTU2NzhcXHU1Njc5XFx1NTY3QVxcdTU2N0RcIiwgNywgXCJcXHU1Njg3XCIsIDYsIFwiXFx1NTY5MFxcdTU2OTFcXHU1NjkyXFx1NTY5NFwiLCAxNCwgXCJcXHU1NkE0XCIsIDEwLCBcIlxcdTU2QjBcIiwgNiwgXCJcXHU1NkI4XFx1NTZCOVxcdTU2QkFcXHU1NkJCXFx1NTZCRFwiLCAxMiwgXCJcXHU1NkNCXCIsIDgsIFwiXFx1NTZENVxcdTU2RDZcXHU1NkQ4XFx1NTZEOVxcdTU2RENcXHU1NkUzXFx1NTZFNVwiLCA1LCBcIlxcdTU2RUNcXHU1NkVFXFx1NTZFRlxcdTU2RjJcXHU1NkYzXFx1NTZGNlxcdTU2RjdcXHU1NkY4XFx1NTZGQlxcdTU2RkNcXHU1NzAwXFx1NTcwMVxcdTU3MDJcXHU1NzA1XFx1NTcwN1xcdTU3MEJcIiwgNl0sXG4gICAgICBbXCI4ODQwXCIsIFwiXFx1NTcxMlwiLCA5LCBcIlxcdTU3MURcXHU1NzFFXFx1NTcyMFxcdTU3MjFcXHU1NzIyXFx1NTcyNFxcdTU3MjVcXHU1NzI2XFx1NTcyN1xcdTU3MkJcXHU1NzMxXFx1NTczMlxcdTU3MzRcIiwgNCwgXCJcXHU1NzNDXFx1NTczRFxcdTU3M0ZcXHU1NzQxXFx1NTc0M1xcdTU3NDRcXHU1NzQ1XFx1NTc0NlxcdTU3NDhcXHU1NzQ5XFx1NTc0QlxcdTU3NTJcIiwgNCwgXCJcXHU1NzU4XFx1NTc1OVxcdTU3NjJcXHU1NzYzXFx1NTc2NVxcdTU3NjdcXHU1NzZDXFx1NTc2RVxcdTU3NzBcXHU1NzcxXFx1NTc3MlxcdTU3NzRcXHU1Nzc1XFx1NTc3OFxcdTU3NzlcXHU1NzdBXFx1NTc3RFxcdTU3N0VcXHU1NzdGXFx1NTc4MFwiXSxcbiAgICAgIFtcIjg4ODBcIiwgXCJcXHU1NzgxXFx1NTc4N1xcdTU3ODhcXHU1Nzg5XFx1NTc4QVxcdTU3OERcIiwgNCwgXCJcXHU1Nzk0XCIsIDYsIFwiXFx1NTc5Q1xcdTU3OURcXHU1NzlFXFx1NTc5RlxcdTU3QTVcXHU1N0E4XFx1NTdBQVxcdTU3QUNcXHU1N0FGXFx1NTdCMFxcdTU3QjFcXHU1N0IzXFx1NTdCNVxcdTU3QjZcXHU1N0I3XFx1NTdCOVwiLCA4LCBcIlxcdTU3QzRcIiwgNiwgXCJcXHU1N0NDXFx1NTdDRFxcdTU3RDBcXHU1N0QxXFx1NTdEM1xcdTU3RDZcXHU1N0Q3XFx1NTdEQlxcdTU3RENcXHU1N0RFXFx1NTdFMVxcdTU3RTJcXHU1N0UzXFx1NTdFNVwiLCA3LCBcIlxcdTU3RUVcXHU1N0YwXFx1NTdGMVxcdTU3RjJcXHU1N0YzXFx1NTdGNVxcdTU3RjZcXHU1N0Y3XFx1NTdGQlxcdTU3RkNcXHU1N0ZFXFx1NTdGRlxcdTU4MDFcXHU1ODAzXFx1NTgwNFxcdTU4MDVcXHU1ODA4XFx1NTgwOVxcdTU4MEFcXHU1ODBDXFx1NTgwRVxcdTU4MEZcXHU1ODEwXFx1NTgxMlxcdTU4MTNcXHU1ODE0XFx1NTgxNlxcdTU4MTdcXHU1ODE4XFx1NTgxQVxcdTU4MUJcXHU1ODFDXFx1NTgxRFxcdTU4MUZcXHU1ODIyXFx1NTgyM1xcdTU4MjVcIiwgNCwgXCJcXHU1ODJCXCIsIDQsIFwiXFx1NTgzMVxcdTU4MzJcXHU1ODMzXFx1NTgzNFxcdTU4MzZcIiwgN10sXG4gICAgICBbXCI4OTQwXCIsIFwiXFx1NTgzRVwiLCA1LCBcIlxcdTU4NDVcIiwgNiwgXCJcXHU1ODRFXFx1NTg0RlxcdTU4NTBcXHU1ODUyXFx1NTg1M1xcdTU4NTVcXHU1ODU2XFx1NTg1N1xcdTU4NTlcIiwgNCwgXCJcXHU1ODVGXCIsIDUsIFwiXFx1NTg2NlwiLCA0LCBcIlxcdTU4NkRcIiwgMTYsIFwiXFx1NTg3RlxcdTU4ODJcXHU1ODg0XFx1NTg4NlxcdTU4ODdcXHU1ODg4XFx1NTg4QVxcdTU4OEJcXHU1ODhDXCJdLFxuICAgICAgW1wiODk4MFwiLCBcIlxcdTU4OERcIiwgNCwgXCJcXHU1ODk0XCIsIDQsIFwiXFx1NTg5QlxcdTU4OUNcXHU1ODlEXFx1NThBMFwiLCA3LCBcIlxcdTU4QUFcIiwgMTcsIFwiXFx1NThCRFxcdTU4QkVcXHU1OEJGXFx1NThDMFxcdTU4QzJcXHU1OEMzXFx1NThDNFxcdTU4QzZcIiwgMTAsIFwiXFx1NThEMlxcdTU4RDNcXHU1OEQ0XFx1NThENlwiLCAxMywgXCJcXHU1OEU1XCIsIDUsIFwiXFx1NThFRFxcdTU4RUZcXHU1OEYxXFx1NThGMlxcdTU4RjRcXHU1OEY1XFx1NThGN1xcdTU4RjhcXHU1OEZBXCIsIDcsIFwiXFx1NTkwM1xcdTU5MDVcXHU1OTA2XFx1NTkwOFwiLCA0LCBcIlxcdTU5MEVcXHU1OTEwXFx1NTkxMVxcdTU5MTJcXHU1OTEzXFx1NTkxN1xcdTU5MThcXHU1OTFCXFx1NTkxRFxcdTU5MUVcXHU1OTIwXFx1NTkyMVxcdTU5MjJcXHU1OTIzXFx1NTkyNlxcdTU5MjhcXHU1OTJDXFx1NTkzMFxcdTU5MzJcXHU1OTMzXFx1NTkzNVxcdTU5MzZcXHU1OTNCXCJdLFxuICAgICAgW1wiOGE0MFwiLCBcIlxcdTU5M0RcXHU1OTNFXFx1NTkzRlxcdTU5NDBcXHU1OTQzXFx1NTk0NVxcdTU5NDZcXHU1OTRBXFx1NTk0Q1xcdTU5NERcXHU1OTUwXFx1NTk1MlxcdTU5NTNcXHU1OTU5XFx1NTk1QlwiLCA0LCBcIlxcdTU5NjFcXHU1OTYzXFx1NTk2NFxcdTU5NjZcIiwgMTIsIFwiXFx1NTk3NVxcdTU5NzdcXHU1OTdBXFx1NTk3QlxcdTU5N0NcXHU1OTdFXFx1NTk3RlxcdTU5ODBcXHU1OTg1XFx1NTk4OVxcdTU5OEJcXHU1OThDXFx1NTk4RVxcdTU5OEZcXHU1OTkwXFx1NTk5MVxcdTU5OTRcXHU1OTk1XFx1NTk5OFxcdTU5OUFcXHU1OTlCXFx1NTk5Q1xcdTU5OURcXHU1OTlGXFx1NTlBMFxcdTU5QTFcXHU1OUEyXFx1NTlBNlwiXSxcbiAgICAgIFtcIjhhODBcIiwgXCJcXHU1OUE3XFx1NTlBQ1xcdTU5QURcXHU1OUIwXFx1NTlCMVxcdTU5QjNcIiwgNSwgXCJcXHU1OUJBXFx1NTlCQ1xcdTU5QkRcXHU1OUJGXCIsIDYsIFwiXFx1NTlDN1xcdTU5QzhcXHU1OUM5XFx1NTlDQ1xcdTU5Q0RcXHU1OUNFXFx1NTlDRlxcdTU5RDVcXHU1OUQ2XFx1NTlEOVxcdTU5REJcXHU1OURFXCIsIDQsIFwiXFx1NTlFNFxcdTU5RTZcXHU1OUU3XFx1NTlFOVxcdTU5RUFcXHU1OUVCXFx1NTlFRFwiLCAxMSwgXCJcXHU1OUZBXFx1NTlGQ1xcdTU5RkRcXHU1OUZFXFx1NUEwMFxcdTVBMDJcXHU1QTBBXFx1NUEwQlxcdTVBMERcXHU1QTBFXFx1NUEwRlxcdTVBMTBcXHU1QTEyXFx1NUExNFxcdTVBMTVcXHU1QTE2XFx1NUExN1xcdTVBMTlcXHU1QTFBXFx1NUExQlxcdTVBMURcXHU1QTFFXFx1NUEyMVxcdTVBMjJcXHU1QTI0XFx1NUEyNlxcdTVBMjdcXHU1QTI4XFx1NUEyQVwiLCA2LCBcIlxcdTVBMzNcXHU1QTM1XFx1NUEzN1wiLCA0LCBcIlxcdTVBM0RcXHU1QTNFXFx1NUEzRlxcdTVBNDFcIiwgNCwgXCJcXHU1QTQ3XFx1NUE0OFxcdTVBNEJcIiwgOSwgXCJcXHU1QTU2XFx1NUE1N1xcdTVBNThcXHU1QTU5XFx1NUE1QlwiLCA1XSxcbiAgICAgIFtcIjhiNDBcIiwgXCJcXHU1QTYxXFx1NUE2M1xcdTVBNjRcXHU1QTY1XFx1NUE2NlxcdTVBNjhcXHU1QTY5XFx1NUE2QlwiLCA4LCBcIlxcdTVBNzhcXHU1QTc5XFx1NUE3QlxcdTVBN0NcXHU1QTdEXFx1NUE3RVxcdTVBODBcIiwgMTcsIFwiXFx1NUE5M1wiLCA2LCBcIlxcdTVBOUNcIiwgMTMsIFwiXFx1NUFBQlxcdTVBQUNcIl0sXG4gICAgICBbXCI4YjgwXCIsIFwiXFx1NUFBRFwiLCA0LCBcIlxcdTVBQjRcXHU1QUI2XFx1NUFCN1xcdTVBQjlcIiwgNCwgXCJcXHU1QUJGXFx1NUFDMFxcdTVBQzNcIiwgNSwgXCJcXHU1QUNBXFx1NUFDQlxcdTVBQ0RcIiwgNCwgXCJcXHU1QUQzXFx1NUFENVxcdTVBRDdcXHU1QUQ5XFx1NUFEQVxcdTVBREJcXHU1QUREXFx1NUFERVxcdTVBREZcXHU1QUUyXFx1NUFFNFxcdTVBRTVcXHU1QUU3XFx1NUFFOFxcdTVBRUFcXHU1QUVDXCIsIDQsIFwiXFx1NUFGMlwiLCAyMiwgXCJcXHU1QjBBXCIsIDExLCBcIlxcdTVCMThcIiwgMjUsIFwiXFx1NUIzM1xcdTVCMzVcXHU1QjM2XFx1NUIzOFwiLCA3LCBcIlxcdTVCNDFcIiwgNl0sXG4gICAgICBbXCI4YzQwXCIsIFwiXFx1NUI0OFwiLCA3LCBcIlxcdTVCNTJcXHU1QjU2XFx1NUI1RVxcdTVCNjBcXHU1QjYxXFx1NUI2N1xcdTVCNjhcXHU1QjZCXFx1NUI2RFxcdTVCNkVcXHU1QjZGXFx1NUI3MlxcdTVCNzRcXHU1Qjc2XFx1NUI3N1xcdTVCNzhcXHU1Qjc5XFx1NUI3QlxcdTVCN0NcXHU1QjdFXFx1NUI3RlxcdTVCODJcXHU1Qjg2XFx1NUI4QVxcdTVCOERcXHU1QjhFXFx1NUI5MFxcdTVCOTFcXHU1QjkyXFx1NUI5NFxcdTVCOTZcXHU1QjlGXFx1NUJBN1xcdTVCQThcXHU1QkE5XFx1NUJBQ1xcdTVCQURcXHU1QkFFXFx1NUJBRlxcdTVCQjFcXHU1QkIyXFx1NUJCN1xcdTVCQkFcXHU1QkJCXFx1NUJCQ1xcdTVCQzBcXHU1QkMxXFx1NUJDM1xcdTVCQzhcXHU1QkM5XFx1NUJDQVxcdTVCQ0JcXHU1QkNEXFx1NUJDRVxcdTVCQ0ZcIl0sXG4gICAgICBbXCI4YzgwXCIsIFwiXFx1NUJEMVxcdTVCRDRcIiwgOCwgXCJcXHU1QkUwXFx1NUJFMlxcdTVCRTNcXHU1QkU2XFx1NUJFN1xcdTVCRTlcIiwgNCwgXCJcXHU1QkVGXFx1NUJGMVwiLCA2LCBcIlxcdTVCRkRcXHU1QkZFXFx1NUMwMFxcdTVDMDJcXHU1QzAzXFx1NUMwNVxcdTVDMDdcXHU1QzA4XFx1NUMwQlxcdTVDMENcXHU1QzBEXFx1NUMwRVxcdTVDMTBcXHU1QzEyXFx1NUMxM1xcdTVDMTdcXHU1QzE5XFx1NUMxQlxcdTVDMUVcXHU1QzFGXFx1NUMyMFxcdTVDMjFcXHU1QzIzXFx1NUMyNlxcdTVDMjhcXHU1QzI5XFx1NUMyQVxcdTVDMkJcXHU1QzJEXFx1NUMyRVxcdTVDMkZcXHU1QzMwXFx1NUMzMlxcdTVDMzNcXHU1QzM1XFx1NUMzNlxcdTVDMzdcXHU1QzQzXFx1NUM0NFxcdTVDNDZcXHU1QzQ3XFx1NUM0Q1xcdTVDNERcXHU1QzUyXFx1NUM1M1xcdTVDNTRcXHU1QzU2XFx1NUM1N1xcdTVDNThcXHU1QzVBXFx1NUM1QlxcdTVDNUNcXHU1QzVEXFx1NUM1RlxcdTVDNjJcXHU1QzY0XFx1NUM2N1wiLCA2LCBcIlxcdTVDNzBcXHU1QzcyXCIsIDYsIFwiXFx1NUM3QlxcdTVDN0NcXHU1QzdEXFx1NUM3RVxcdTVDODBcXHU1QzgzXCIsIDQsIFwiXFx1NUM4OVxcdTVDOEFcXHU1QzhCXFx1NUM4RVxcdTVDOEZcXHU1QzkyXFx1NUM5M1xcdTVDOTVcXHU1QzlEXCIsIDQsIFwiXFx1NUNBNFwiLCA0XSxcbiAgICAgIFtcIjhkNDBcIiwgXCJcXHU1Q0FBXFx1NUNBRVxcdTVDQUZcXHU1Q0IwXFx1NUNCMlxcdTVDQjRcXHU1Q0I2XFx1NUNCOVxcdTVDQkFcXHU1Q0JCXFx1NUNCQ1xcdTVDQkVcXHU1Q0MwXFx1NUNDMlxcdTVDQzNcXHU1Q0M1XCIsIDUsIFwiXFx1NUNDQ1wiLCA1LCBcIlxcdTVDRDNcIiwgNSwgXCJcXHU1Q0RBXCIsIDYsIFwiXFx1NUNFMlxcdTVDRTNcXHU1Q0U3XFx1NUNFOVxcdTVDRUJcXHU1Q0VDXFx1NUNFRVxcdTVDRUZcXHU1Q0YxXCIsIDksIFwiXFx1NUNGQ1wiLCA0XSxcbiAgICAgIFtcIjhkODBcIiwgXCJcXHU1RDAxXFx1NUQwNFxcdTVEMDVcXHU1RDA4XCIsIDUsIFwiXFx1NUQwRlwiLCA0LCBcIlxcdTVEMTVcXHU1RDE3XFx1NUQxOFxcdTVEMTlcXHU1RDFBXFx1NUQxQ1xcdTVEMURcXHU1RDFGXCIsIDQsIFwiXFx1NUQyNVxcdTVEMjhcXHU1RDJBXFx1NUQyQlxcdTVEMkNcXHU1RDJGXCIsIDQsIFwiXFx1NUQzNVwiLCA3LCBcIlxcdTVEM0ZcIiwgNywgXCJcXHU1RDQ4XFx1NUQ0OVxcdTVENERcIiwgMTAsIFwiXFx1NUQ1OVxcdTVENUFcXHU1RDVDXFx1NUQ1RVwiLCAxMCwgXCJcXHU1RDZBXFx1NUQ2RFxcdTVENkVcXHU1RDcwXFx1NUQ3MVxcdTVENzJcXHU1RDczXFx1NUQ3NVwiLCAxMiwgXCJcXHU1RDgzXCIsIDIxLCBcIlxcdTVEOUFcXHU1RDlCXFx1NUQ5Q1xcdTVEOUVcXHU1RDlGXFx1NURBMFwiXSxcbiAgICAgIFtcIjhlNDBcIiwgXCJcXHU1REExXCIsIDIxLCBcIlxcdTVEQjhcIiwgMTIsIFwiXFx1NURDNlwiLCA2LCBcIlxcdTVEQ0VcIiwgMTIsIFwiXFx1NUREQ1xcdTVEREZcXHU1REUwXFx1NURFM1xcdTVERTRcXHU1REVBXFx1NURFQ1xcdTVERURcIl0sXG4gICAgICBbXCI4ZTgwXCIsIFwiXFx1NURGMFxcdTVERjVcXHU1REY2XFx1NURGOFwiLCA0LCBcIlxcdTVERkZcXHU1RTAwXFx1NUUwNFxcdTVFMDdcXHU1RTA5XFx1NUUwQVxcdTVFMEJcXHU1RTBEXFx1NUUwRVxcdTVFMTJcXHU1RTEzXFx1NUUxN1xcdTVFMUVcIiwgNywgXCJcXHU1RTI4XCIsIDQsIFwiXFx1NUUyRlxcdTVFMzBcXHU1RTMyXCIsIDQsIFwiXFx1NUUzOVxcdTVFM0FcXHU1RTNFXFx1NUUzRlxcdTVFNDBcXHU1RTQxXFx1NUU0M1xcdTVFNDZcIiwgNSwgXCJcXHU1RTREXCIsIDYsIFwiXFx1NUU1NlwiLCA0LCBcIlxcdTVFNUNcXHU1RTVEXFx1NUU1RlxcdTVFNjBcXHU1RTYzXCIsIDE0LCBcIlxcdTVFNzVcXHU1RTc3XFx1NUU3OVxcdTVFN0VcXHU1RTgxXFx1NUU4MlxcdTVFODNcXHU1RTg1XFx1NUU4OFxcdTVFODlcXHU1RThDXFx1NUU4RFxcdTVFOEVcXHU1RTkyXFx1NUU5OFxcdTVFOUJcXHU1RTlEXFx1NUVBMVxcdTVFQTJcXHU1RUEzXFx1NUVBNFxcdTVFQThcIiwgNCwgXCJcXHU1RUFFXCIsIDQsIFwiXFx1NUVCNFxcdTVFQkFcXHU1RUJCXFx1NUVCQ1xcdTVFQkRcXHU1RUJGXCIsIDZdLFxuICAgICAgW1wiOGY0MFwiLCBcIlxcdTVFQzZcXHU1RUM3XFx1NUVDOFxcdTVFQ0JcIiwgNSwgXCJcXHU1RUQ0XFx1NUVENVxcdTVFRDdcXHU1RUQ4XFx1NUVEOVxcdTVFREFcXHU1RURDXCIsIDExLCBcIlxcdTVFRTlcXHU1RUVCXCIsIDgsIFwiXFx1NUVGNVxcdTVFRjhcXHU1RUY5XFx1NUVGQlxcdTVFRkNcXHU1RUZEXFx1NUYwNVxcdTVGMDZcXHU1RjA3XFx1NUYwOVxcdTVGMENcXHU1RjBEXFx1NUYwRVxcdTVGMTBcXHU1RjEyXFx1NUYxNFxcdTVGMTZcXHU1RjE5XFx1NUYxQVxcdTVGMUNcXHU1RjFEXFx1NUYxRVxcdTVGMjFcXHU1RjIyXFx1NUYyM1xcdTVGMjRcIl0sXG4gICAgICBbXCI4ZjgwXCIsIFwiXFx1NUYyOFxcdTVGMkJcXHU1RjJDXFx1NUYyRVxcdTVGMzBcXHU1RjMyXCIsIDYsIFwiXFx1NUYzQlxcdTVGM0RcXHU1RjNFXFx1NUYzRlxcdTVGNDFcIiwgMTQsIFwiXFx1NUY1MVxcdTVGNTRcXHU1RjU5XFx1NUY1QVxcdTVGNUJcXHU1RjVDXFx1NUY1RVxcdTVGNUZcXHU1RjYwXFx1NUY2M1xcdTVGNjVcXHU1RjY3XFx1NUY2OFxcdTVGNkJcXHU1RjZFXFx1NUY2RlxcdTVGNzJcXHU1Rjc0XFx1NUY3NVxcdTVGNzZcXHU1Rjc4XFx1NUY3QVxcdTVGN0RcXHU1RjdFXFx1NUY3RlxcdTVGODNcXHU1Rjg2XFx1NUY4RFxcdTVGOEVcXHU1RjhGXFx1NUY5MVxcdTVGOTNcXHU1Rjk0XFx1NUY5NlxcdTVGOUFcXHU1RjlCXFx1NUY5RFxcdTVGOUVcXHU1RjlGXFx1NUZBMFxcdTVGQTJcIiwgNSwgXCJcXHU1RkE5XFx1NUZBQlxcdTVGQUNcXHU1RkFGXCIsIDUsIFwiXFx1NUZCNlxcdTVGQjhcXHU1RkI5XFx1NUZCQVxcdTVGQkJcXHU1RkJFXCIsIDQsIFwiXFx1NUZDN1xcdTVGQzhcXHU1RkNBXFx1NUZDQlxcdTVGQ0VcXHU1RkQzXFx1NUZENFxcdTVGRDVcXHU1RkRBXFx1NUZEQlxcdTVGRENcXHU1RkRFXFx1NUZERlxcdTVGRTJcXHU1RkUzXFx1NUZFNVxcdTVGRTZcXHU1RkU4XFx1NUZFOVxcdTVGRUNcXHU1RkVGXFx1NUZGMFxcdTVGRjJcXHU1RkYzXFx1NUZGNFxcdTVGRjZcXHU1RkY3XFx1NUZGOVxcdTVGRkFcXHU1RkZDXFx1NjAwN1wiXSxcbiAgICAgIFtcIjkwNDBcIiwgXCJcXHU2MDA4XFx1NjAwOVxcdTYwMEJcXHU2MDBDXFx1NjAxMFxcdTYwMTFcXHU2MDEzXFx1NjAxN1xcdTYwMThcXHU2MDFBXFx1NjAxRVxcdTYwMUZcXHU2MDIyXFx1NjAyM1xcdTYwMjRcXHU2MDJDXFx1NjAyRFxcdTYwMkVcXHU2MDMwXCIsIDQsIFwiXFx1NjAzNlwiLCA0LCBcIlxcdTYwM0RcXHU2MDNFXFx1NjA0MFxcdTYwNDRcIiwgNiwgXCJcXHU2MDRDXFx1NjA0RVxcdTYwNEZcXHU2MDUxXFx1NjA1M1xcdTYwNTRcXHU2MDU2XFx1NjA1N1xcdTYwNThcXHU2MDVCXFx1NjA1Q1xcdTYwNUVcXHU2MDVGXFx1NjA2MFxcdTYwNjFcXHU2MDY1XFx1NjA2NlxcdTYwNkVcXHU2MDcxXFx1NjA3MlxcdTYwNzRcXHU2MDc1XFx1NjA3N1xcdTYwN0VcXHU2MDgwXCJdLFxuICAgICAgW1wiOTA4MFwiLCBcIlxcdTYwODFcXHU2MDgyXFx1NjA4NVxcdTYwODZcXHU2MDg3XFx1NjA4OFxcdTYwOEFcXHU2MDhCXFx1NjA4RVxcdTYwOEZcXHU2MDkwXFx1NjA5MVxcdTYwOTNcXHU2MDk1XFx1NjA5N1xcdTYwOThcXHU2MDk5XFx1NjA5Q1xcdTYwOUVcXHU2MEExXFx1NjBBMlxcdTYwQTRcXHU2MEE1XFx1NjBBN1xcdTYwQTlcXHU2MEFBXFx1NjBBRVxcdTYwQjBcXHU2MEIzXFx1NjBCNVxcdTYwQjZcXHU2MEI3XFx1NjBCOVxcdTYwQkFcXHU2MEJEXCIsIDcsIFwiXFx1NjBDN1xcdTYwQzhcXHU2MEM5XFx1NjBDQ1wiLCA0LCBcIlxcdTYwRDJcXHU2MEQzXFx1NjBENFxcdTYwRDZcXHU2MEQ3XFx1NjBEOVxcdTYwREJcXHU2MERFXFx1NjBFMVwiLCA0LCBcIlxcdTYwRUFcXHU2MEYxXFx1NjBGMlxcdTYwRjVcXHU2MEY3XFx1NjBGOFxcdTYwRkJcIiwgNCwgXCJcXHU2MTAyXFx1NjEwM1xcdTYxMDRcXHU2MTA1XFx1NjEwN1xcdTYxMEFcXHU2MTBCXFx1NjEwQ1xcdTYxMTBcIiwgNCwgXCJcXHU2MTE2XFx1NjExN1xcdTYxMThcXHU2MTE5XFx1NjExQlxcdTYxMUNcXHU2MTFEXFx1NjExRVxcdTYxMjFcXHU2MTIyXFx1NjEyNVxcdTYxMjhcXHU2MTI5XFx1NjEyQVxcdTYxMkNcIiwgMTgsIFwiXFx1NjE0MFwiLCA2XSxcbiAgICAgIFtcIjkxNDBcIiwgXCJcXHU2MTQ3XFx1NjE0OVxcdTYxNEJcXHU2MTREXFx1NjE0RlxcdTYxNTBcXHU2MTUyXFx1NjE1M1xcdTYxNTRcXHU2MTU2XCIsIDYsIFwiXFx1NjE1RVxcdTYxNUZcXHU2MTYwXFx1NjE2MVxcdTYxNjNcXHU2MTY0XFx1NjE2NVxcdTYxNjZcXHU2MTY5XCIsIDYsIFwiXFx1NjE3MVxcdTYxNzJcXHU2MTczXFx1NjE3NFxcdTYxNzZcXHU2MTc4XCIsIDE4LCBcIlxcdTYxOENcXHU2MThEXFx1NjE4RlwiLCA0LCBcIlxcdTYxOTVcIl0sXG4gICAgICBbXCI5MTgwXCIsIFwiXFx1NjE5NlwiLCA2LCBcIlxcdTYxOUVcIiwgOCwgXCJcXHU2MUFBXFx1NjFBQlxcdTYxQURcIiwgOSwgXCJcXHU2MUI4XCIsIDUsIFwiXFx1NjFCRlxcdTYxQzBcXHU2MUMxXFx1NjFDM1wiLCA0LCBcIlxcdTYxQzlcXHU2MUNDXCIsIDQsIFwiXFx1NjFEM1xcdTYxRDVcIiwgMTYsIFwiXFx1NjFFN1wiLCAxMywgXCJcXHU2MUY2XCIsIDgsIFwiXFx1NjIwMFwiLCA1LCBcIlxcdTYyMDdcXHU2MjA5XFx1NjIxM1xcdTYyMTRcXHU2MjE5XFx1NjIxQ1xcdTYyMURcXHU2MjFFXFx1NjIyMFxcdTYyMjNcXHU2MjI2XFx1NjIyN1xcdTYyMjhcXHU2MjI5XFx1NjIyQlxcdTYyMkRcXHU2MjJGXFx1NjIzMFxcdTYyMzFcXHU2MjMyXFx1NjIzNVxcdTYyMzZcXHU2MjM4XCIsIDQsIFwiXFx1NjI0MlxcdTYyNDRcXHU2MjQ1XFx1NjI0NlxcdTYyNEFcIl0sXG4gICAgICBbXCI5MjQwXCIsIFwiXFx1NjI0RlxcdTYyNTBcXHU2MjU1XFx1NjI1NlxcdTYyNTdcXHU2MjU5XFx1NjI1QVxcdTYyNUNcIiwgNiwgXCJcXHU2MjY0XFx1NjI2NVxcdTYyNjhcXHU2MjcxXFx1NjI3MlxcdTYyNzRcXHU2Mjc1XFx1NjI3N1xcdTYyNzhcXHU2MjdBXFx1NjI3QlxcdTYyN0RcXHU2MjgxXFx1NjI4MlxcdTYyODNcXHU2Mjg1XFx1NjI4NlxcdTYyODdcXHU2Mjg4XFx1NjI4QlwiLCA1LCBcIlxcdTYyOTRcXHU2Mjk5XFx1NjI5Q1xcdTYyOURcXHU2MjlFXFx1NjJBM1xcdTYyQTZcXHU2MkE3XFx1NjJBOVxcdTYyQUFcXHU2MkFEXFx1NjJBRVxcdTYyQUZcXHU2MkIwXFx1NjJCMlxcdTYyQjNcXHU2MkI0XFx1NjJCNlxcdTYyQjdcXHU2MkI4XFx1NjJCQVxcdTYyQkVcXHU2MkMwXFx1NjJDMVwiXSxcbiAgICAgIFtcIjkyODBcIiwgXCJcXHU2MkMzXFx1NjJDQlxcdTYyQ0ZcXHU2MkQxXFx1NjJENVxcdTYyRERcXHU2MkRFXFx1NjJFMFxcdTYyRTFcXHU2MkU0XFx1NjJFQVxcdTYyRUJcXHU2MkYwXFx1NjJGMlxcdTYyRjVcXHU2MkY4XFx1NjJGOVxcdTYyRkFcXHU2MkZCXFx1NjMwMFxcdTYzMDNcXHU2MzA0XFx1NjMwNVxcdTYzMDZcXHU2MzBBXFx1NjMwQlxcdTYzMENcXHU2MzBEXFx1NjMwRlxcdTYzMTBcXHU2MzEyXFx1NjMxM1xcdTYzMTRcXHU2MzE1XFx1NjMxN1xcdTYzMThcXHU2MzE5XFx1NjMxQ1xcdTYzMjZcXHU2MzI3XFx1NjMyOVxcdTYzMkNcXHU2MzJEXFx1NjMyRVxcdTYzMzBcXHU2MzMxXFx1NjMzM1wiLCA1LCBcIlxcdTYzM0JcXHU2MzNDXFx1NjMzRVxcdTYzM0ZcXHU2MzQwXFx1NjM0MVxcdTYzNDRcXHU2MzQ3XFx1NjM0OFxcdTYzNEFcXHU2MzUxXFx1NjM1MlxcdTYzNTNcXHU2MzU0XFx1NjM1NlwiLCA3LCBcIlxcdTYzNjBcXHU2MzY0XFx1NjM2NVxcdTYzNjZcXHU2MzY4XFx1NjM2QVxcdTYzNkJcXHU2MzZDXFx1NjM2RlxcdTYzNzBcXHU2MzcyXFx1NjM3M1xcdTYzNzRcXHU2Mzc1XFx1NjM3OFxcdTYzNzlcXHU2MzdDXFx1NjM3RFxcdTYzN0VcXHU2MzdGXFx1NjM4MVxcdTYzODNcXHU2Mzg0XFx1NjM4NVxcdTYzODZcXHU2MzhCXFx1NjM4RFxcdTYzOTFcXHU2MzkzXFx1NjM5NFxcdTYzOTVcXHU2Mzk3XFx1NjM5OVwiLCA2LCBcIlxcdTYzQTFcXHU2M0E0XFx1NjNBNlxcdTYzQUJcXHU2M0FGXFx1NjNCMVxcdTYzQjJcXHU2M0I1XFx1NjNCNlxcdTYzQjlcXHU2M0JCXFx1NjNCRFxcdTYzQkZcXHU2M0MwXCJdLFxuICAgICAgW1wiOTM0MFwiLCBcIlxcdTYzQzFcXHU2M0MyXFx1NjNDM1xcdTYzQzVcXHU2M0M3XFx1NjNDOFxcdTYzQ0FcXHU2M0NCXFx1NjNDQ1xcdTYzRDFcXHU2M0QzXFx1NjNENFxcdTYzRDVcXHU2M0Q3XCIsIDYsIFwiXFx1NjNERlxcdTYzRTJcXHU2M0U0XCIsIDQsIFwiXFx1NjNFQlxcdTYzRUNcXHU2M0VFXFx1NjNFRlxcdTYzRjBcXHU2M0YxXFx1NjNGM1xcdTYzRjVcXHU2M0Y3XFx1NjNGOVxcdTYzRkFcXHU2M0ZCXFx1NjNGQ1xcdTYzRkVcXHU2NDAzXFx1NjQwNFxcdTY0MDZcIiwgNCwgXCJcXHU2NDBEXFx1NjQwRVxcdTY0MTFcXHU2NDEyXFx1NjQxNVwiLCA1LCBcIlxcdTY0MURcXHU2NDFGXFx1NjQyMlxcdTY0MjNcXHU2NDI0XCJdLFxuICAgICAgW1wiOTM4MFwiLCBcIlxcdTY0MjVcXHU2NDI3XFx1NjQyOFxcdTY0MjlcXHU2NDJCXFx1NjQyRVwiLCA1LCBcIlxcdTY0MzVcIiwgNCwgXCJcXHU2NDNCXFx1NjQzQ1xcdTY0M0VcXHU2NDQwXFx1NjQ0MlxcdTY0NDNcXHU2NDQ5XFx1NjQ0QlwiLCA2LCBcIlxcdTY0NTNcXHU2NDU1XFx1NjQ1NlxcdTY0NTdcXHU2NDU5XCIsIDQsIFwiXFx1NjQ1RlwiLCA3LCBcIlxcdTY0NjhcXHU2NDZBXFx1NjQ2QlxcdTY0NkNcXHU2NDZFXCIsIDksIFwiXFx1NjQ3QlwiLCA2LCBcIlxcdTY0ODNcXHU2NDg2XFx1NjQ4OFwiLCA4LCBcIlxcdTY0OTNcXHU2NDk0XFx1NjQ5N1xcdTY0OThcXHU2NDlBXFx1NjQ5QlxcdTY0OUNcXHU2NDlEXFx1NjQ5RlwiLCA0LCBcIlxcdTY0QTVcXHU2NEE2XFx1NjRBN1xcdTY0QThcXHU2NEFBXFx1NjRBQlxcdTY0QUZcXHU2NEIxXFx1NjRCMlxcdTY0QjNcXHU2NEI0XFx1NjRCNlxcdTY0QjlcXHU2NEJCXFx1NjRCRFxcdTY0QkVcXHU2NEJGXFx1NjRDMVxcdTY0QzNcXHU2NEM0XFx1NjRDNlwiLCA2LCBcIlxcdTY0Q0ZcXHU2NEQxXFx1NjREM1xcdTY0RDRcXHU2NEQ1XFx1NjRENlxcdTY0RDlcXHU2NERBXCJdLFxuICAgICAgW1wiOTQ0MFwiLCBcIlxcdTY0REJcXHU2NERDXFx1NjRERFxcdTY0REZcXHU2NEUwXFx1NjRFMVxcdTY0RTNcXHU2NEU1XFx1NjRFN1wiLCAyNCwgXCJcXHU2NTAxXCIsIDcsIFwiXFx1NjUwQVwiLCA3LCBcIlxcdTY1MTNcIiwgNCwgXCJcXHU2NTE5XCIsIDhdLFxuICAgICAgW1wiOTQ4MFwiLCBcIlxcdTY1MjJcXHU2NTIzXFx1NjUyNFxcdTY1MjZcIiwgNCwgXCJcXHU2NTJDXFx1NjUyRFxcdTY1MzBcXHU2NTMxXFx1NjUzMlxcdTY1MzNcXHU2NTM3XFx1NjUzQVxcdTY1M0NcXHU2NTNEXFx1NjU0MFwiLCA0LCBcIlxcdTY1NDZcXHU2NTQ3XFx1NjU0QVxcdTY1NEJcXHU2NTREXFx1NjU0RVxcdTY1NTBcXHU2NTUyXFx1NjU1M1xcdTY1NTRcXHU2NTU3XFx1NjU1OFxcdTY1NUFcXHU2NTVDXFx1NjU1RlxcdTY1NjBcXHU2NTYxXFx1NjU2NFxcdTY1NjVcXHU2NTY3XFx1NjU2OFxcdTY1NjlcXHU2NTZBXFx1NjU2RFxcdTY1NkVcXHU2NTZGXFx1NjU3MVxcdTY1NzNcXHU2NTc1XFx1NjU3NlxcdTY1NzhcIiwgMTQsIFwiXFx1NjU4OFxcdTY1ODlcXHU2NThBXFx1NjU4RFxcdTY1OEVcXHU2NThGXFx1NjU5MlxcdTY1OTRcXHU2NTk1XFx1NjU5NlxcdTY1OThcXHU2NTlBXFx1NjU5RFxcdTY1OUVcXHU2NUEwXFx1NjVBMlxcdTY1QTNcXHU2NUE2XFx1NjVBOFxcdTY1QUFcXHU2NUFDXFx1NjVBRVxcdTY1QjFcIiwgNywgXCJcXHU2NUJBXFx1NjVCQlxcdTY1QkVcXHU2NUJGXFx1NjVDMFxcdTY1QzJcXHU2NUM3XFx1NjVDOFxcdTY1QzlcXHU2NUNBXFx1NjVDRFxcdTY1RDBcXHU2NUQxXFx1NjVEM1xcdTY1RDRcXHU2NUQ1XFx1NjVEOFwiLCA3LCBcIlxcdTY1RTFcXHU2NUUzXFx1NjVFNFxcdTY1RUFcXHU2NUVCXCJdLFxuICAgICAgW1wiOTU0MFwiLCBcIlxcdTY1RjJcXHU2NUYzXFx1NjVGNFxcdTY1RjVcXHU2NUY4XFx1NjVGOVxcdTY1RkJcIiwgNCwgXCJcXHU2NjAxXFx1NjYwNFxcdTY2MDVcXHU2NjA3XFx1NjYwOFxcdTY2MDlcXHU2NjBCXFx1NjYwRFxcdTY2MTBcXHU2NjExXFx1NjYxMlxcdTY2MTZcXHU2NjE3XFx1NjYxOFxcdTY2MUFcXHU2NjFCXFx1NjYxQ1xcdTY2MUVcXHU2NjIxXFx1NjYyMlxcdTY2MjNcXHU2NjI0XFx1NjYyNlxcdTY2MjlcXHU2NjJBXFx1NjYyQlxcdTY2MkNcXHU2NjJFXFx1NjYzMFxcdTY2MzJcXHU2NjMzXFx1NjYzN1wiLCA0LCBcIlxcdTY2M0RcXHU2NjNGXFx1NjY0MFxcdTY2NDJcXHU2NjQ0XCIsIDYsIFwiXFx1NjY0RFxcdTY2NEVcXHU2NjUwXFx1NjY1MVxcdTY2NThcIl0sXG4gICAgICBbXCI5NTgwXCIsIFwiXFx1NjY1OVxcdTY2NUJcXHU2NjVDXFx1NjY1RFxcdTY2NUVcXHU2NjYwXFx1NjY2MlxcdTY2NjNcXHU2NjY1XFx1NjY2N1xcdTY2NjlcIiwgNCwgXCJcXHU2NjcxXFx1NjY3MlxcdTY2NzNcXHU2Njc1XFx1NjY3OFxcdTY2NzlcXHU2NjdCXFx1NjY3Q1xcdTY2N0RcXHU2NjdGXFx1NjY4MFxcdTY2ODFcXHU2NjgzXFx1NjY4NVxcdTY2ODZcXHU2Njg4XFx1NjY4OVxcdTY2OEFcXHU2NjhCXFx1NjY4RFxcdTY2OEVcXHU2NjhGXFx1NjY5MFxcdTY2OTJcXHU2NjkzXFx1NjY5NFxcdTY2OTVcXHU2Njk4XCIsIDQsIFwiXFx1NjY5RVwiLCA4LCBcIlxcdTY2QTlcIiwgNCwgXCJcXHU2NkFGXCIsIDQsIFwiXFx1NjZCNVxcdTY2QjZcXHU2NkI3XFx1NjZCOFxcdTY2QkFcXHU2NkJCXFx1NjZCQ1xcdTY2QkRcXHU2NkJGXCIsIDI1LCBcIlxcdTY2REFcXHU2NkRFXCIsIDcsIFwiXFx1NjZFN1xcdTY2RThcXHU2NkVBXCIsIDUsIFwiXFx1NjZGMVxcdTY2RjVcXHU2NkY2XFx1NjZGOFxcdTY2RkFcXHU2NkZCXFx1NjZGRFxcdTY3MDFcXHU2NzAyXFx1NjcwM1wiXSxcbiAgICAgIFtcIjk2NDBcIiwgXCJcXHU2NzA0XFx1NjcwNVxcdTY3MDZcXHU2NzA3XFx1NjcwQ1xcdTY3MEVcXHU2NzBGXFx1NjcxMVxcdTY3MTJcXHU2NzEzXFx1NjcxNlxcdTY3MThcXHU2NzE5XFx1NjcxQVxcdTY3MUNcXHU2NzFFXFx1NjcyMFwiLCA1LCBcIlxcdTY3MjdcXHU2NzI5XFx1NjcyRVxcdTY3MzBcXHU2NzMyXFx1NjczM1xcdTY3MzZcXHU2NzM3XFx1NjczOFxcdTY3MzlcXHU2NzNCXFx1NjczQ1xcdTY3M0VcXHU2NzNGXFx1Njc0MVxcdTY3NDRcXHU2NzQ1XFx1Njc0N1xcdTY3NEFcXHU2NzRCXFx1Njc0RFxcdTY3NTJcXHU2NzU0XFx1Njc1NVxcdTY3NTdcIiwgNCwgXCJcXHU2NzVEXFx1Njc2MlxcdTY3NjNcXHU2NzY0XFx1Njc2NlxcdTY3NjdcXHU2NzZCXFx1Njc2Q1xcdTY3NkVcXHU2NzcxXFx1Njc3NFxcdTY3NzZcIl0sXG4gICAgICBbXCI5NjgwXCIsIFwiXFx1Njc3OFxcdTY3NzlcXHU2NzdBXFx1Njc3QlxcdTY3N0RcXHU2NzgwXFx1Njc4MlxcdTY3ODNcXHU2Nzg1XFx1Njc4NlxcdTY3ODhcXHU2NzhBXFx1Njc4Q1xcdTY3OERcXHU2NzhFXFx1Njc4RlxcdTY3OTFcXHU2NzkyXFx1Njc5M1xcdTY3OTRcXHU2Nzk2XFx1Njc5OVxcdTY3OUJcXHU2NzlGXFx1NjdBMFxcdTY3QTFcXHU2N0E0XFx1NjdBNlxcdTY3QTlcXHU2N0FDXFx1NjdBRVxcdTY3QjFcXHU2N0IyXFx1NjdCNFxcdTY3QjlcIiwgNywgXCJcXHU2N0MyXFx1NjdDNVwiLCA5LCBcIlxcdTY3RDVcXHU2N0Q2XFx1NjdEN1xcdTY3REJcXHU2N0RGXFx1NjdFMVxcdTY3RTNcXHU2N0U0XFx1NjdFNlxcdTY3RTdcXHU2N0U4XFx1NjdFQVxcdTY3RUJcXHU2N0VEXFx1NjdFRVxcdTY3RjJcXHU2N0Y1XCIsIDcsIFwiXFx1NjdGRVxcdTY4MDFcXHU2ODAyXFx1NjgwM1xcdTY4MDRcXHU2ODA2XFx1NjgwRFxcdTY4MTBcXHU2ODEyXFx1NjgxNFxcdTY4MTVcXHU2ODE4XCIsIDQsIFwiXFx1NjgxRVxcdTY4MUZcXHU2ODIwXFx1NjgyMlwiLCA2LCBcIlxcdTY4MkJcIiwgNiwgXCJcXHU2ODM0XFx1NjgzNVxcdTY4MzZcXHU2ODNBXFx1NjgzQlxcdTY4M0ZcXHU2ODQ3XFx1Njg0QlxcdTY4NERcXHU2ODRGXFx1Njg1MlxcdTY4NTZcIiwgNV0sXG4gICAgICBbXCI5NzQwXCIsIFwiXFx1Njg1Q1xcdTY4NURcXHU2ODVFXFx1Njg1RlxcdTY4NkFcXHU2ODZDXCIsIDcsIFwiXFx1Njg3NVxcdTY4NzhcIiwgOCwgXCJcXHU2ODgyXFx1Njg4NFxcdTY4ODdcIiwgNywgXCJcXHU2ODkwXFx1Njg5MVxcdTY4OTJcXHU2ODk0XFx1Njg5NVxcdTY4OTZcXHU2ODk4XCIsIDksIFwiXFx1NjhBM1xcdTY4QTRcXHU2OEE1XFx1NjhBOVxcdTY4QUFcXHU2OEFCXFx1NjhBQ1xcdTY4QUVcXHU2OEIxXFx1NjhCMlxcdTY4QjRcXHU2OEI2XFx1NjhCN1xcdTY4QjhcIl0sXG4gICAgICBbXCI5NzgwXCIsIFwiXFx1NjhCOVwiLCA2LCBcIlxcdTY4QzFcXHU2OEMzXCIsIDUsIFwiXFx1NjhDQVxcdTY4Q0NcXHU2OENFXFx1NjhDRlxcdTY4RDBcXHU2OEQxXFx1NjhEM1xcdTY4RDRcXHU2OEQ2XFx1NjhEN1xcdTY4RDlcXHU2OERCXCIsIDQsIFwiXFx1NjhFMVxcdTY4RTJcXHU2OEU0XCIsIDksIFwiXFx1NjhFRlxcdTY4RjJcXHU2OEYzXFx1NjhGNFxcdTY4RjZcXHU2OEY3XFx1NjhGOFxcdTY4RkJcXHU2OEZEXFx1NjhGRVxcdTY4RkZcXHU2OTAwXFx1NjkwMlxcdTY5MDNcXHU2OTA0XFx1NjkwNlwiLCA0LCBcIlxcdTY5MENcXHU2OTBGXFx1NjkxMVxcdTY5MTNcIiwgMTEsIFwiXFx1NjkyMVxcdTY5MjJcXHU2OTIzXFx1NjkyNVwiLCA3LCBcIlxcdTY5MkVcXHU2OTJGXFx1NjkzMVxcdTY5MzJcXHU2OTMzXFx1NjkzNVxcdTY5MzZcXHU2OTM3XFx1NjkzOFxcdTY5M0FcXHU2OTNCXFx1NjkzQ1xcdTY5M0VcXHU2OTQwXFx1Njk0MVxcdTY5NDNcIiwgMTYsIFwiXFx1Njk1NVxcdTY5NTZcXHU2OTU4XFx1Njk1OVxcdTY5NUJcXHU2OTVDXFx1Njk1RlwiXSxcbiAgICAgIFtcIjk4NDBcIiwgXCJcXHU2OTYxXFx1Njk2MlxcdTY5NjRcXHU2OTY1XFx1Njk2N1xcdTY5NjhcXHU2OTY5XFx1Njk2QVxcdTY5NkNcXHU2OTZEXFx1Njk2RlxcdTY5NzBcXHU2OTcyXCIsIDQsIFwiXFx1Njk3QVxcdTY5N0JcXHU2OTdEXFx1Njk3RVxcdTY5N0ZcXHU2OTgxXFx1Njk4M1xcdTY5ODVcXHU2OThBXFx1Njk4QlxcdTY5OENcXHU2OThFXCIsIDUsIFwiXFx1Njk5NlxcdTY5OTdcXHU2OTk5XFx1Njk5QVxcdTY5OURcIiwgOSwgXCJcXHU2OUE5XFx1NjlBQVxcdTY5QUNcXHU2OUFFXFx1NjlBRlxcdTY5QjBcXHU2OUIyXFx1NjlCM1xcdTY5QjVcXHU2OUI2XFx1NjlCOFxcdTY5QjlcXHU2OUJBXFx1NjlCQ1xcdTY5QkRcIl0sXG4gICAgICBbXCI5ODgwXCIsIFwiXFx1NjlCRVxcdTY5QkZcXHU2OUMwXFx1NjlDMlwiLCA3LCBcIlxcdTY5Q0JcXHU2OUNEXFx1NjlDRlxcdTY5RDFcXHU2OUQyXFx1NjlEM1xcdTY5RDVcIiwgNSwgXCJcXHU2OURDXFx1NjlERFxcdTY5REVcXHU2OUUxXCIsIDExLCBcIlxcdTY5RUVcXHU2OUVGXFx1NjlGMFxcdTY5RjFcXHU2OUYzXCIsIDksIFwiXFx1NjlGRVxcdTZBMDBcIiwgOSwgXCJcXHU2QTBCXCIsIDExLCBcIlxcdTZBMTlcIiwgNSwgXCJcXHU2QTIwXFx1NkEyMlwiLCA1LCBcIlxcdTZBMjlcXHU2QTJCXFx1NkEyQ1xcdTZBMkRcXHU2QTJFXFx1NkEzMFxcdTZBMzJcXHU2QTMzXFx1NkEzNFxcdTZBMzZcIiwgNiwgXCJcXHU2QTNGXCIsIDQsIFwiXFx1NkE0NVxcdTZBNDZcXHU2QTQ4XCIsIDcsIFwiXFx1NkE1MVwiLCA2LCBcIlxcdTZBNUFcIl0sXG4gICAgICBbXCI5OTQwXCIsIFwiXFx1NkE1Q1wiLCA0LCBcIlxcdTZBNjJcXHU2QTYzXFx1NkE2NFxcdTZBNjZcIiwgMTAsIFwiXFx1NkE3MlwiLCA2LCBcIlxcdTZBN0FcXHU2QTdCXFx1NkE3RFxcdTZBN0VcXHU2QTdGXFx1NkE4MVxcdTZBODJcXHU2QTgzXFx1NkE4NVwiLCA4LCBcIlxcdTZBOEZcXHU2QTkyXCIsIDQsIFwiXFx1NkE5OFwiLCA3LCBcIlxcdTZBQTFcIiwgNV0sXG4gICAgICBbXCI5OTgwXCIsIFwiXFx1NkFBN1xcdTZBQThcXHU2QUFBXFx1NkFBRFwiLCAxMTQsIFwiXFx1NkIyNVxcdTZCMjZcXHU2QjI4XCIsIDZdLFxuICAgICAgW1wiOWE0MFwiLCBcIlxcdTZCMkZcXHU2QjMwXFx1NkIzMVxcdTZCMzNcXHU2QjM0XFx1NkIzNVxcdTZCMzZcXHU2QjM4XFx1NkIzQlxcdTZCM0NcXHU2QjNEXFx1NkIzRlxcdTZCNDBcXHU2QjQxXFx1NkI0MlxcdTZCNDRcXHU2QjQ1XFx1NkI0OFxcdTZCNEFcXHU2QjRCXFx1NkI0RFwiLCAxMSwgXCJcXHU2QjVBXCIsIDcsIFwiXFx1NkI2OFxcdTZCNjlcXHU2QjZCXCIsIDEzLCBcIlxcdTZCN0FcXHU2QjdEXFx1NkI3RVxcdTZCN0ZcXHU2QjgwXFx1NkI4NVxcdTZCODhcIl0sXG4gICAgICBbXCI5YTgwXCIsIFwiXFx1NkI4Q1xcdTZCOEVcXHU2QjhGXFx1NkI5MFxcdTZCOTFcXHU2Qjk0XFx1NkI5NVxcdTZCOTdcXHU2Qjk4XFx1NkI5OVxcdTZCOUNcIiwgNCwgXCJcXHU2QkEyXCIsIDcsIFwiXFx1NkJBQlwiLCA3LCBcIlxcdTZCQjZcXHU2QkI4XCIsIDYsIFwiXFx1NkJDMFxcdTZCQzNcXHU2QkM0XFx1NkJDNlwiLCA0LCBcIlxcdTZCQ0NcXHU2QkNFXFx1NkJEMFxcdTZCRDFcXHU2QkQ4XFx1NkJEQVxcdTZCRENcIiwgNCwgXCJcXHU2QkUyXCIsIDcsIFwiXFx1NkJFQ1xcdTZCRURcXHU2QkVFXFx1NkJGMFxcdTZCRjFcXHU2QkYyXFx1NkJGNFxcdTZCRjZcXHU2QkY3XFx1NkJGOFxcdTZCRkFcXHU2QkZCXFx1NkJGQ1xcdTZCRkVcIiwgNiwgXCJcXHU2QzA4XCIsIDQsIFwiXFx1NkMwRVxcdTZDMTJcXHU2QzE3XFx1NkMxQ1xcdTZDMURcXHU2QzFFXFx1NkMyMFxcdTZDMjNcXHU2QzI1XFx1NkMyQlxcdTZDMkNcXHU2QzJEXFx1NkMzMVxcdTZDMzNcXHU2QzM2XFx1NkMzN1xcdTZDMzlcXHU2QzNBXFx1NkMzQlxcdTZDM0NcXHU2QzNFXFx1NkMzRlxcdTZDNDNcXHU2QzQ0XFx1NkM0NVxcdTZDNDhcXHU2QzRCXCIsIDQsIFwiXFx1NkM1MVxcdTZDNTJcXHU2QzUzXFx1NkM1NlxcdTZDNThcIl0sXG4gICAgICBbXCI5YjQwXCIsIFwiXFx1NkM1OVxcdTZDNUFcXHU2QzYyXFx1NkM2M1xcdTZDNjVcXHU2QzY2XFx1NkM2N1xcdTZDNkJcIiwgNCwgXCJcXHU2QzcxXFx1NkM3M1xcdTZDNzVcXHU2Qzc3XFx1NkM3OFxcdTZDN0FcXHU2QzdCXFx1NkM3Q1xcdTZDN0ZcXHU2QzgwXFx1NkM4NFxcdTZDODdcXHU2QzhBXFx1NkM4QlxcdTZDOERcXHU2QzhFXFx1NkM5MVxcdTZDOTJcXHU2Qzk1XFx1NkM5NlxcdTZDOTdcXHU2Qzk4XFx1NkM5QVxcdTZDOUNcXHU2QzlEXFx1NkM5RVxcdTZDQTBcXHU2Q0EyXFx1NkNBOFxcdTZDQUNcXHU2Q0FGXFx1NkNCMFxcdTZDQjRcXHU2Q0I1XFx1NkNCNlxcdTZDQjdcXHU2Q0JBXFx1NkNDMFxcdTZDQzFcXHU2Q0MyXFx1NkNDM1xcdTZDQzZcXHU2Q0M3XFx1NkNDOFxcdTZDQ0JcXHU2Q0NEXFx1NkNDRVxcdTZDQ0ZcXHU2Q0QxXFx1NkNEMlxcdTZDRDhcIl0sXG4gICAgICBbXCI5YjgwXCIsIFwiXFx1NkNEOVxcdTZDREFcXHU2Q0RDXFx1NkNERFxcdTZDREZcXHU2Q0U0XFx1NkNFNlxcdTZDRTdcXHU2Q0U5XFx1NkNFQ1xcdTZDRURcXHU2Q0YyXFx1NkNGNFxcdTZDRjlcXHU2Q0ZGXFx1NkQwMFxcdTZEMDJcXHU2RDAzXFx1NkQwNVxcdTZEMDZcXHU2RDA4XFx1NkQwOVxcdTZEMEFcXHU2RDBEXFx1NkQwRlxcdTZEMTBcXHU2RDExXFx1NkQxM1xcdTZEMTRcXHU2RDE1XFx1NkQxNlxcdTZEMThcXHU2RDFDXFx1NkQxRFxcdTZEMUZcIiwgNSwgXCJcXHU2RDI2XFx1NkQyOFxcdTZEMjlcXHU2RDJDXFx1NkQyRFxcdTZEMkZcXHU2RDMwXFx1NkQzNFxcdTZEMzZcXHU2RDM3XFx1NkQzOFxcdTZEM0FcXHU2RDNGXFx1NkQ0MFxcdTZENDJcXHU2RDQ0XFx1NkQ0OVxcdTZENENcXHU2RDUwXFx1NkQ1NVxcdTZENTZcXHU2RDU3XFx1NkQ1OFxcdTZENUJcXHU2RDVEXFx1NkQ1RlxcdTZENjFcXHU2RDYyXFx1NkQ2NFxcdTZENjVcXHU2RDY3XFx1NkQ2OFxcdTZENkJcXHU2RDZDXFx1NkQ2RFxcdTZENzBcXHU2RDcxXFx1NkQ3MlxcdTZENzNcXHU2RDc1XFx1NkQ3NlxcdTZENzlcXHU2RDdBXFx1NkQ3QlxcdTZEN0RcIiwgNCwgXCJcXHU2RDgzXFx1NkQ4NFxcdTZEODZcXHU2RDg3XFx1NkQ4QVxcdTZEOEJcXHU2RDhEXFx1NkQ4RlxcdTZEOTBcXHU2RDkyXFx1NkQ5NlwiLCA0LCBcIlxcdTZEOUNcXHU2REEyXFx1NkRBNVxcdTZEQUNcXHU2REFEXFx1NkRCMFxcdTZEQjFcXHU2REIzXFx1NkRCNFxcdTZEQjZcXHU2REI3XFx1NkRCOVwiLCA1LCBcIlxcdTZEQzFcXHU2REMyXFx1NkRDM1xcdTZEQzhcXHU2REM5XFx1NkRDQVwiXSxcbiAgICAgIFtcIjljNDBcIiwgXCJcXHU2RENEXFx1NkRDRVxcdTZEQ0ZcXHU2REQwXFx1NkREMlxcdTZERDNcXHU2REQ0XFx1NkRENVxcdTZERDdcXHU2RERBXFx1NkREQlxcdTZERENcXHU2RERGXFx1NkRFMlxcdTZERTNcXHU2REU1XFx1NkRFN1xcdTZERThcXHU2REU5XFx1NkRFQVxcdTZERURcXHU2REVGXFx1NkRGMFxcdTZERjJcXHU2REY0XFx1NkRGNVxcdTZERjZcXHU2REY4XFx1NkRGQVxcdTZERkRcIiwgNywgXCJcXHU2RTA2XFx1NkUwN1xcdTZFMDhcXHU2RTA5XFx1NkUwQlxcdTZFMEZcXHU2RTEyXFx1NkUxM1xcdTZFMTVcXHU2RTE4XFx1NkUxOVxcdTZFMUJcXHU2RTFDXFx1NkUxRVxcdTZFMUZcXHU2RTIyXFx1NkUyNlxcdTZFMjdcXHU2RTI4XFx1NkUyQVxcdTZFMkNcXHU2RTJFXFx1NkUzMFxcdTZFMzFcXHU2RTMzXFx1NkUzNVwiXSxcbiAgICAgIFtcIjljODBcIiwgXCJcXHU2RTM2XFx1NkUzN1xcdTZFMzlcXHU2RTNCXCIsIDcsIFwiXFx1NkU0NVwiLCA3LCBcIlxcdTZFNEZcXHU2RTUwXFx1NkU1MVxcdTZFNTJcXHU2RTU1XFx1NkU1N1xcdTZFNTlcXHU2RTVBXFx1NkU1Q1xcdTZFNURcXHU2RTVFXFx1NkU2MFwiLCAxMCwgXCJcXHU2RTZDXFx1NkU2RFxcdTZFNkZcIiwgMTQsIFwiXFx1NkU4MFxcdTZFODFcXHU2RTgyXFx1NkU4NFxcdTZFODdcXHU2RTg4XFx1NkU4QVwiLCA0LCBcIlxcdTZFOTFcIiwgNiwgXCJcXHU2RTk5XFx1NkU5QVxcdTZFOUJcXHU2RTlEXFx1NkU5RVxcdTZFQTBcXHU2RUExXFx1NkVBM1xcdTZFQTRcXHU2RUE2XFx1NkVBOFxcdTZFQTlcXHU2RUFCXFx1NkVBQ1xcdTZFQURcXHU2RUFFXFx1NkVCMFxcdTZFQjNcXHU2RUI1XFx1NkVCOFxcdTZFQjlcXHU2RUJDXFx1NkVCRVxcdTZFQkZcXHU2RUMwXFx1NkVDM1xcdTZFQzRcXHU2RUM1XFx1NkVDNlxcdTZFQzhcXHU2RUM5XFx1NkVDQVxcdTZFQ0NcXHU2RUNEXFx1NkVDRVxcdTZFRDBcXHU2RUQyXFx1NkVENlxcdTZFRDhcXHU2RUQ5XFx1NkVEQlxcdTZFRENcXHU2RUREXFx1NkVFM1xcdTZFRTdcXHU2RUVBXCIsIDVdLFxuICAgICAgW1wiOWQ0MFwiLCBcIlxcdTZFRjBcXHU2RUYxXFx1NkVGMlxcdTZFRjNcXHU2RUY1XFx1NkVGNlxcdTZFRjdcXHU2RUY4XFx1NkVGQVwiLCA3LCBcIlxcdTZGMDNcXHU2RjA0XFx1NkYwNVxcdTZGMDdcXHU2RjA4XFx1NkYwQVwiLCA0LCBcIlxcdTZGMTBcXHU2RjExXFx1NkYxMlxcdTZGMTZcIiwgOSwgXCJcXHU2RjIxXFx1NkYyMlxcdTZGMjNcXHU2RjI1XFx1NkYyNlxcdTZGMjdcXHU2RjI4XFx1NkYyQ1xcdTZGMkVcXHU2RjMwXFx1NkYzMlxcdTZGMzRcXHU2RjM1XFx1NkYzN1wiLCA2LCBcIlxcdTZGM0ZcXHU2RjQwXFx1NkY0MVxcdTZGNDJcIl0sXG4gICAgICBbXCI5ZDgwXCIsIFwiXFx1NkY0M1xcdTZGNDRcXHU2RjQ1XFx1NkY0OFxcdTZGNDlcXHU2RjRBXFx1NkY0Q1xcdTZGNEVcIiwgOSwgXCJcXHU2RjU5XFx1NkY1QVxcdTZGNUJcXHU2RjVEXFx1NkY1RlxcdTZGNjBcXHU2RjYxXFx1NkY2M1xcdTZGNjRcXHU2RjY1XFx1NkY2N1wiLCA1LCBcIlxcdTZGNkZcXHU2RjcwXFx1NkY3MVxcdTZGNzNcXHU2Rjc1XFx1NkY3NlxcdTZGNzdcXHU2Rjc5XFx1NkY3QlxcdTZGN0RcIiwgNiwgXCJcXHU2Rjg1XFx1NkY4NlxcdTZGODdcXHU2RjhBXFx1NkY4QlxcdTZGOEZcIiwgMTIsIFwiXFx1NkY5RFxcdTZGOUVcXHU2RjlGXFx1NkZBMFxcdTZGQTJcIiwgNCwgXCJcXHU2RkE4XCIsIDEwLCBcIlxcdTZGQjRcXHU2RkI1XFx1NkZCN1xcdTZGQjhcXHU2RkJBXCIsIDUsIFwiXFx1NkZDMVxcdTZGQzNcIiwgNSwgXCJcXHU2RkNBXCIsIDYsIFwiXFx1NkZEM1wiLCAxMCwgXCJcXHU2RkRGXFx1NkZFMlxcdTZGRTNcXHU2RkU0XFx1NkZFNVwiXSxcbiAgICAgIFtcIjllNDBcIiwgXCJcXHU2RkU2XCIsIDcsIFwiXFx1NkZGMFwiLCAzMiwgXCJcXHU3MDEyXCIsIDcsIFwiXFx1NzAxQ1wiLCA2LCBcIlxcdTcwMjRcIiwgNl0sXG4gICAgICBbXCI5ZTgwXCIsIFwiXFx1NzAyQlwiLCA5LCBcIlxcdTcwMzZcXHU3MDM3XFx1NzAzOFxcdTcwM0FcIiwgMTcsIFwiXFx1NzA0RFxcdTcwNEVcXHU3MDUwXCIsIDEzLCBcIlxcdTcwNUZcIiwgMTEsIFwiXFx1NzA2RVxcdTcwNzFcXHU3MDcyXFx1NzA3M1xcdTcwNzRcXHU3MDc3XFx1NzA3OVxcdTcwN0FcXHU3MDdCXFx1NzA3RFxcdTcwODFcXHU3MDgyXFx1NzA4M1xcdTcwODRcXHU3MDg2XFx1NzA4N1xcdTcwODhcXHU3MDhCXFx1NzA4Q1xcdTcwOERcXHU3MDhGXFx1NzA5MFxcdTcwOTFcXHU3MDkzXFx1NzA5N1xcdTcwOThcXHU3MDlBXFx1NzA5QlxcdTcwOUVcIiwgMTIsIFwiXFx1NzBCMFxcdTcwQjJcXHU3MEI0XFx1NzBCNVxcdTcwQjZcXHU3MEJBXFx1NzBCRVxcdTcwQkZcXHU3MEM0XFx1NzBDNVxcdTcwQzZcXHU3MEM3XFx1NzBDOVxcdTcwQ0JcIiwgMTIsIFwiXFx1NzBEQVwiXSxcbiAgICAgIFtcIjlmNDBcIiwgXCJcXHU3MERDXFx1NzBERFxcdTcwREVcXHU3MEUwXFx1NzBFMVxcdTcwRTJcXHU3MEUzXFx1NzBFNVxcdTcwRUFcXHU3MEVFXFx1NzBGMFwiLCA2LCBcIlxcdTcwRjhcXHU3MEZBXFx1NzBGQlxcdTcwRkNcXHU3MEZFXCIsIDEwLCBcIlxcdTcxMEJcIiwgNCwgXCJcXHU3MTExXFx1NzExMlxcdTcxMTRcXHU3MTE3XFx1NzExQlwiLCAxMCwgXCJcXHU3MTI3XCIsIDcsIFwiXFx1NzEzMlxcdTcxMzNcXHU3MTM0XCJdLFxuICAgICAgW1wiOWY4MFwiLCBcIlxcdTcxMzVcXHU3MTM3XCIsIDEzLCBcIlxcdTcxNDZcXHU3MTQ3XFx1NzE0OFxcdTcxNDlcXHU3MTRCXFx1NzE0RFxcdTcxNEZcIiwgMTIsIFwiXFx1NzE1RFxcdTcxNUZcIiwgNCwgXCJcXHU3MTY1XFx1NzE2OVwiLCA0LCBcIlxcdTcxNkZcXHU3MTcwXFx1NzE3MVxcdTcxNzRcXHU3MTc1XFx1NzE3NlxcdTcxNzdcXHU3MTc5XFx1NzE3QlxcdTcxN0NcXHU3MTdFXCIsIDUsIFwiXFx1NzE4NVwiLCA0LCBcIlxcdTcxOEJcXHU3MThDXFx1NzE4RFxcdTcxOEVcXHU3MTkwXFx1NzE5MVxcdTcxOTJcXHU3MTkzXFx1NzE5NVxcdTcxOTZcXHU3MTk3XFx1NzE5QVwiLCA0LCBcIlxcdTcxQTFcIiwgNiwgXCJcXHU3MUE5XFx1NzFBQVxcdTcxQUJcXHU3MUFEXCIsIDUsIFwiXFx1NzFCNFxcdTcxQjZcXHU3MUI3XFx1NzFCOFxcdTcxQkFcIiwgOCwgXCJcXHU3MUM0XCIsIDksIFwiXFx1NzFDRlwiLCA0XSxcbiAgICAgIFtcImEwNDBcIiwgXCJcXHU3MUQ2XCIsIDksIFwiXFx1NzFFMVxcdTcxRTJcXHU3MUUzXFx1NzFFNFxcdTcxRTZcXHU3MUU4XCIsIDUsIFwiXFx1NzFFRlwiLCA5LCBcIlxcdTcxRkFcIiwgMTEsIFwiXFx1NzIwN1wiLCAxOV0sXG4gICAgICBbXCJhMDgwXCIsIFwiXFx1NzIxQlxcdTcyMUNcXHU3MjFFXCIsIDksIFwiXFx1NzIyOVxcdTcyMkJcXHU3MjJEXFx1NzIyRVxcdTcyMkZcXHU3MjMyXFx1NzIzM1xcdTcyMzRcXHU3MjNBXFx1NzIzQ1xcdTcyM0VcXHU3MjQwXCIsIDYsIFwiXFx1NzI0OVxcdTcyNEFcXHU3MjRCXFx1NzI0RVxcdTcyNEZcXHU3MjUwXFx1NzI1MVxcdTcyNTNcXHU3MjU0XFx1NzI1NVxcdTcyNTdcXHU3MjU4XFx1NzI1QVxcdTcyNUNcXHU3MjVFXFx1NzI2MFxcdTcyNjNcXHU3MjY0XFx1NzI2NVxcdTcyNjhcXHU3MjZBXFx1NzI2QlxcdTcyNkNcXHU3MjZEXFx1NzI3MFxcdTcyNzFcXHU3MjczXFx1NzI3NFxcdTcyNzZcXHU3Mjc3XFx1NzI3OFxcdTcyN0JcXHU3MjdDXFx1NzI3RFxcdTcyODJcXHU3MjgzXFx1NzI4NVwiLCA0LCBcIlxcdTcyOENcXHU3MjhFXFx1NzI5MFxcdTcyOTFcXHU3MjkzXCIsIDExLCBcIlxcdTcyQTBcIiwgMTEsIFwiXFx1NzJBRVxcdTcyQjFcXHU3MkIyXFx1NzJCM1xcdTcyQjVcXHU3MkJBXCIsIDYsIFwiXFx1NzJDNVxcdTcyQzZcXHU3MkM3XFx1NzJDOVxcdTcyQ0FcXHU3MkNCXFx1NzJDQ1xcdTcyQ0ZcXHU3MkQxXFx1NzJEM1xcdTcyRDRcXHU3MkQ1XFx1NzJENlxcdTcyRDhcXHU3MkRBXFx1NzJEQlwiXSxcbiAgICAgIFtcImExYTFcIiwgXCJcXHUzMDAwXFx1MzAwMVxcdTMwMDJcXHhCN1xcdTAyQzlcXHUwMkM3XFx4QThcXHUzMDAzXFx1MzAwNVxcdTIwMTRcXHVGRjVFXFx1MjAxNlxcdTIwMjZcXHUyMDE4XFx1MjAxOVxcdTIwMUNcXHUyMDFEXFx1MzAxNFxcdTMwMTVcXHUzMDA4XCIsIDcsIFwiXFx1MzAxNlxcdTMwMTdcXHUzMDEwXFx1MzAxMVxceEIxXFx4RDdcXHhGN1xcdTIyMzZcXHUyMjI3XFx1MjIyOFxcdTIyMTFcXHUyMjBGXFx1MjIyQVxcdTIyMjlcXHUyMjA4XFx1MjIzN1xcdTIyMUFcXHUyMkE1XFx1MjIyNVxcdTIyMjBcXHUyMzEyXFx1MjI5OVxcdTIyMkJcXHUyMjJFXFx1MjI2MVxcdTIyNENcXHUyMjQ4XFx1MjIzRFxcdTIyMURcXHUyMjYwXFx1MjI2RVxcdTIyNkZcXHUyMjY0XFx1MjI2NVxcdTIyMUVcXHUyMjM1XFx1MjIzNFxcdTI2NDJcXHUyNjQwXFx4QjBcXHUyMDMyXFx1MjAzM1xcdTIxMDNcXHVGRjA0XFx4QTRcXHVGRkUwXFx1RkZFMVxcdTIwMzBcXHhBN1xcdTIxMTZcXHUyNjA2XFx1MjYwNVxcdTI1Q0JcXHUyNUNGXFx1MjVDRVxcdTI1QzdcXHUyNUM2XFx1MjVBMVxcdTI1QTBcXHUyNUIzXFx1MjVCMlxcdTIwM0JcXHUyMTkyXFx1MjE5MFxcdTIxOTFcXHUyMTkzXFx1MzAxM1wiXSxcbiAgICAgIFtcImEyYTFcIiwgXCJcXHUyMTcwXCIsIDldLFxuICAgICAgW1wiYTJiMVwiLCBcIlxcdTI0ODhcIiwgMTksIFwiXFx1MjQ3NFwiLCAxOSwgXCJcXHUyNDYwXCIsIDldLFxuICAgICAgW1wiYTJlNVwiLCBcIlxcdTMyMjBcIiwgOV0sXG4gICAgICBbXCJhMmYxXCIsIFwiXFx1MjE2MFwiLCAxMV0sXG4gICAgICBbXCJhM2ExXCIsIFwiXFx1RkYwMVxcdUZGMDJcXHVGRjAzXFx1RkZFNVxcdUZGMDVcIiwgODgsIFwiXFx1RkZFM1wiXSxcbiAgICAgIFtcImE0YTFcIiwgXCJcXHUzMDQxXCIsIDgyXSxcbiAgICAgIFtcImE1YTFcIiwgXCJcXHUzMEExXCIsIDg1XSxcbiAgICAgIFtcImE2YTFcIiwgXCJcXHUwMzkxXCIsIDE2LCBcIlxcdTAzQTNcIiwgNl0sXG4gICAgICBbXCJhNmMxXCIsIFwiXFx1MDNCMVwiLCAxNiwgXCJcXHUwM0MzXCIsIDZdLFxuICAgICAgW1wiYTZlMFwiLCBcIlxcdUZFMzVcXHVGRTM2XFx1RkUzOVxcdUZFM0FcXHVGRTNGXFx1RkU0MFxcdUZFM0RcXHVGRTNFXFx1RkU0MVxcdUZFNDJcXHVGRTQzXFx1RkU0NFwiXSxcbiAgICAgIFtcImE2ZWVcIiwgXCJcXHVGRTNCXFx1RkUzQ1xcdUZFMzdcXHVGRTM4XFx1RkUzMVwiXSxcbiAgICAgIFtcImE2ZjRcIiwgXCJcXHVGRTMzXFx1RkUzNFwiXSxcbiAgICAgIFtcImE3YTFcIiwgXCJcXHUwNDEwXCIsIDUsIFwiXFx1MDQwMVxcdTA0MTZcIiwgMjVdLFxuICAgICAgW1wiYTdkMVwiLCBcIlxcdTA0MzBcIiwgNSwgXCJcXHUwNDUxXFx1MDQzNlwiLCAyNV0sXG4gICAgICBbXCJhODQwXCIsIFwiXFx1MDJDQVxcdTAyQ0JcXHUwMkQ5XFx1MjAxM1xcdTIwMTVcXHUyMDI1XFx1MjAzNVxcdTIxMDVcXHUyMTA5XFx1MjE5NlxcdTIxOTdcXHUyMTk4XFx1MjE5OVxcdTIyMTVcXHUyMjFGXFx1MjIyM1xcdTIyNTJcXHUyMjY2XFx1MjI2N1xcdTIyQkZcXHUyNTUwXCIsIDM1LCBcIlxcdTI1ODFcIiwgNl0sXG4gICAgICBbXCJhODgwXCIsIFwiXFx1MjU4OFwiLCA3LCBcIlxcdTI1OTNcXHUyNTk0XFx1MjU5NVxcdTI1QkNcXHUyNUJEXFx1MjVFMlxcdTI1RTNcXHUyNUU0XFx1MjVFNVxcdTI2MDlcXHUyMjk1XFx1MzAxMlxcdTMwMURcXHUzMDFFXCJdLFxuICAgICAgW1wiYThhMVwiLCBcIlxcdTAxMDFcXHhFMVxcdTAxQ0VcXHhFMFxcdTAxMTNcXHhFOVxcdTAxMUJcXHhFOFxcdTAxMkJcXHhFRFxcdTAxRDBcXHhFQ1xcdTAxNERcXHhGM1xcdTAxRDJcXHhGMlxcdTAxNkJcXHhGQVxcdTAxRDRcXHhGOVxcdTAxRDZcXHUwMUQ4XFx1MDFEQVxcdTAxRENcXHhGQ1xceEVBXFx1MDI1MVwiXSxcbiAgICAgIFtcImE4YmRcIiwgXCJcXHUwMTQ0XFx1MDE0OFwiXSxcbiAgICAgIFtcImE4YzBcIiwgXCJcXHUwMjYxXCJdLFxuICAgICAgW1wiYThjNVwiLCBcIlxcdTMxMDVcIiwgMzZdLFxuICAgICAgW1wiYTk0MFwiLCBcIlxcdTMwMjFcIiwgOCwgXCJcXHUzMkEzXFx1MzM4RVxcdTMzOEZcXHUzMzlDXFx1MzM5RFxcdTMzOUVcXHUzM0ExXFx1MzNDNFxcdTMzQ0VcXHUzM0QxXFx1MzNEMlxcdTMzRDVcXHVGRTMwXFx1RkZFMlxcdUZGRTRcIl0sXG4gICAgICBbXCJhOTU5XCIsIFwiXFx1MjEyMVxcdTMyMzFcIl0sXG4gICAgICBbXCJhOTVjXCIsIFwiXFx1MjAxMFwiXSxcbiAgICAgIFtcImE5NjBcIiwgXCJcXHUzMEZDXFx1MzA5QlxcdTMwOUNcXHUzMEZEXFx1MzBGRVxcdTMwMDZcXHUzMDlEXFx1MzA5RVxcdUZFNDlcIiwgOSwgXCJcXHVGRTU0XFx1RkU1NVxcdUZFNTZcXHVGRTU3XFx1RkU1OVwiLCA4XSxcbiAgICAgIFtcImE5ODBcIiwgXCJcXHVGRTYyXCIsIDQsIFwiXFx1RkU2OFxcdUZFNjlcXHVGRTZBXFx1RkU2QlwiXSxcbiAgICAgIFtcImE5OTZcIiwgXCJcXHUzMDA3XCJdLFxuICAgICAgW1wiYTlhNFwiLCBcIlxcdTI1MDBcIiwgNzVdLFxuICAgICAgW1wiYWE0MFwiLCBcIlxcdTcyRENcXHU3MkREXFx1NzJERlxcdTcyRTJcIiwgNSwgXCJcXHU3MkVBXFx1NzJFQlxcdTcyRjVcXHU3MkY2XFx1NzJGOVxcdTcyRkRcXHU3MkZFXFx1NzJGRlxcdTczMDBcXHU3MzAyXFx1NzMwNFwiLCA1LCBcIlxcdTczMEJcXHU3MzBDXFx1NzMwRFxcdTczMEZcXHU3MzEwXFx1NzMxMVxcdTczMTJcXHU3MzE0XFx1NzMxOFxcdTczMTlcXHU3MzFBXFx1NzMxRlxcdTczMjBcXHU3MzIzXFx1NzMyNFxcdTczMjZcXHU3MzI3XFx1NzMyOFxcdTczMkRcXHU3MzJGXFx1NzMzMFxcdTczMzJcXHU3MzMzXFx1NzMzNVxcdTczMzZcXHU3MzNBXFx1NzMzQlxcdTczM0NcXHU3MzNEXFx1NzM0MFwiLCA4XSxcbiAgICAgIFtcImFhODBcIiwgXCJcXHU3MzQ5XFx1NzM0QVxcdTczNEJcXHU3MzRDXFx1NzM0RVxcdTczNEZcXHU3MzUxXFx1NzM1M1xcdTczNTRcXHU3MzU1XFx1NzM1NlxcdTczNThcIiwgNywgXCJcXHU3MzYxXCIsIDEwLCBcIlxcdTczNkVcXHU3MzcwXFx1NzM3MVwiXSxcbiAgICAgIFtcImFiNDBcIiwgXCJcXHU3MzcyXCIsIDExLCBcIlxcdTczN0ZcIiwgNCwgXCJcXHU3Mzg1XFx1NzM4NlxcdTczODhcXHU3MzhBXFx1NzM4Q1xcdTczOERcXHU3MzhGXFx1NzM5MFxcdTczOTJcXHU3MzkzXFx1NzM5NFxcdTczOTVcXHU3Mzk3XFx1NzM5OFxcdTczOTlcXHU3MzlBXFx1NzM5Q1xcdTczOURcXHU3MzlFXFx1NzNBMFxcdTczQTFcXHU3M0EzXCIsIDUsIFwiXFx1NzNBQVxcdTczQUNcXHU3M0FEXFx1NzNCMVxcdTczQjRcXHU3M0I1XFx1NzNCNlxcdTczQjhcXHU3M0I5XFx1NzNCQ1xcdTczQkRcXHU3M0JFXFx1NzNCRlxcdTczQzFcXHU3M0MzXCIsIDRdLFxuICAgICAgW1wiYWI4MFwiLCBcIlxcdTczQ0JcXHU3M0NDXFx1NzNDRVxcdTczRDJcIiwgNiwgXCJcXHU3M0RBXFx1NzNEQlxcdTczRENcXHU3M0REXFx1NzNERlxcdTczRTFcXHU3M0UyXFx1NzNFM1xcdTczRTRcXHU3M0U2XFx1NzNFOFxcdTczRUFcXHU3M0VCXFx1NzNFQ1xcdTczRUVcXHU3M0VGXFx1NzNGMFxcdTczRjFcXHU3M0YzXCIsIDRdLFxuICAgICAgW1wiYWM0MFwiLCBcIlxcdTczRjhcIiwgMTAsIFwiXFx1NzQwNFxcdTc0MDdcXHU3NDA4XFx1NzQwQlxcdTc0MENcXHU3NDBEXFx1NzQwRVxcdTc0MTFcIiwgOCwgXCJcXHU3NDFDXCIsIDUsIFwiXFx1NzQyM1xcdTc0MjRcXHU3NDI3XFx1NzQyOVxcdTc0MkJcXHU3NDJEXFx1NzQyRlxcdTc0MzFcXHU3NDMyXFx1NzQzN1wiLCA0LCBcIlxcdTc0M0RcXHU3NDNFXFx1NzQzRlxcdTc0NDBcXHU3NDQyXCIsIDExXSxcbiAgICAgIFtcImFjODBcIiwgXCJcXHU3NDRFXCIsIDYsIFwiXFx1NzQ1NlxcdTc0NThcXHU3NDVEXFx1NzQ2MFwiLCAxMiwgXCJcXHU3NDZFXFx1NzQ2RlxcdTc0NzFcIiwgNCwgXCJcXHU3NDc4XFx1NzQ3OVxcdTc0N0FcIl0sXG4gICAgICBbXCJhZDQwXCIsIFwiXFx1NzQ3QlxcdTc0N0NcXHU3NDdEXFx1NzQ3RlxcdTc0ODJcXHU3NDg0XFx1NzQ4NVxcdTc0ODZcXHU3NDg4XFx1NzQ4OVxcdTc0OEFcXHU3NDhDXFx1NzQ4RFxcdTc0OEZcXHU3NDkxXCIsIDEwLCBcIlxcdTc0OURcXHU3NDlGXCIsIDcsIFwiXFx1NzRBQVwiLCAxNSwgXCJcXHU3NEJCXCIsIDEyXSxcbiAgICAgIFtcImFkODBcIiwgXCJcXHU3NEM4XCIsIDksIFwiXFx1NzREM1wiLCA4LCBcIlxcdTc0RERcXHU3NERGXFx1NzRFMVxcdTc0RTVcXHU3NEU3XCIsIDYsIFwiXFx1NzRGMFxcdTc0RjFcXHU3NEYyXCJdLFxuICAgICAgW1wiYWU0MFwiLCBcIlxcdTc0RjNcXHU3NEY1XFx1NzRGOFwiLCA2LCBcIlxcdTc1MDBcXHU3NTAxXFx1NzUwMlxcdTc1MDNcXHU3NTA1XCIsIDcsIFwiXFx1NzUwRVxcdTc1MTBcXHU3NTEyXFx1NzUxNFxcdTc1MTVcXHU3NTE2XFx1NzUxN1xcdTc1MUJcXHU3NTFEXFx1NzUxRVxcdTc1MjBcIiwgNCwgXCJcXHU3NTI2XFx1NzUyN1xcdTc1MkFcXHU3NTJFXFx1NzUzNFxcdTc1MzZcXHU3NTM5XFx1NzUzQ1xcdTc1M0RcXHU3NTNGXFx1NzU0MVxcdTc1NDJcXHU3NTQzXFx1NzU0NFxcdTc1NDZcXHU3NTQ3XFx1NzU0OVxcdTc1NEFcXHU3NTREXFx1NzU1MFxcdTc1NTFcXHU3NTUyXFx1NzU1M1xcdTc1NTVcXHU3NTU2XFx1NzU1N1xcdTc1NThcIl0sXG4gICAgICBbXCJhZTgwXCIsIFwiXFx1NzU1RFwiLCA3LCBcIlxcdTc1NjdcXHU3NTY4XFx1NzU2OVxcdTc1NkJcIiwgNiwgXCJcXHU3NTczXFx1NzU3NVxcdTc1NzZcXHU3NTc3XFx1NzU3QVwiLCA0LCBcIlxcdTc1ODBcXHU3NTgxXFx1NzU4MlxcdTc1ODRcXHU3NTg1XFx1NzU4N1wiXSxcbiAgICAgIFtcImFmNDBcIiwgXCJcXHU3NTg4XFx1NzU4OVxcdTc1OEFcXHU3NThDXFx1NzU4RFxcdTc1OEVcXHU3NTkwXFx1NzU5M1xcdTc1OTVcXHU3NTk4XFx1NzU5QlxcdTc1OUNcXHU3NTlFXFx1NzVBMlxcdTc1QTZcIiwgNCwgXCJcXHU3NUFEXFx1NzVCNlxcdTc1QjdcXHU3NUJBXFx1NzVCQlxcdTc1QkZcXHU3NUMwXFx1NzVDMVxcdTc1QzZcXHU3NUNCXFx1NzVDQ1xcdTc1Q0VcXHU3NUNGXFx1NzVEMFxcdTc1RDFcXHU3NUQzXFx1NzVEN1xcdTc1RDlcXHU3NURBXFx1NzVEQ1xcdTc1RERcXHU3NURGXFx1NzVFMFxcdTc1RTFcXHU3NUU1XFx1NzVFOVxcdTc1RUNcXHU3NUVEXFx1NzVFRVxcdTc1RUZcXHU3NUYyXFx1NzVGM1xcdTc1RjVcXHU3NUY2XFx1NzVGN1xcdTc1RjhcXHU3NUZBXFx1NzVGQlxcdTc1RkRcXHU3NUZFXFx1NzYwMlxcdTc2MDRcXHU3NjA2XFx1NzYwN1wiXSxcbiAgICAgIFtcImFmODBcIiwgXCJcXHU3NjA4XFx1NzYwOVxcdTc2MEJcXHU3NjBEXFx1NzYwRVxcdTc2MEZcXHU3NjExXFx1NzYxMlxcdTc2MTNcXHU3NjE0XFx1NzYxNlxcdTc2MUFcXHU3NjFDXFx1NzYxRFxcdTc2MUVcXHU3NjIxXFx1NzYyM1xcdTc2MjdcXHU3NjI4XFx1NzYyQ1xcdTc2MkVcXHU3NjJGXFx1NzYzMVxcdTc2MzJcXHU3NjM2XFx1NzYzN1xcdTc2MzlcXHU3NjNBXFx1NzYzQlxcdTc2M0RcXHU3NjQxXFx1NzY0MlxcdTc2NDRcIl0sXG4gICAgICBbXCJiMDQwXCIsIFwiXFx1NzY0NVwiLCA2LCBcIlxcdTc2NEVcIiwgNSwgXCJcXHU3NjU1XFx1NzY1N1wiLCA0LCBcIlxcdTc2NURcXHU3NjVGXFx1NzY2MFxcdTc2NjFcXHU3NjYyXFx1NzY2NFwiLCA2LCBcIlxcdTc2NkNcXHU3NjZEXFx1NzY2RVxcdTc2NzBcIiwgNywgXCJcXHU3Njc5XFx1NzY3QVxcdTc2N0NcXHU3NjdGXFx1NzY4MFxcdTc2ODFcXHU3NjgzXFx1NzY4NVxcdTc2ODlcXHU3NjhBXFx1NzY4Q1xcdTc2OERcXHU3NjhGXFx1NzY5MFxcdTc2OTJcXHU3Njk0XFx1NzY5NVxcdTc2OTdcXHU3Njk4XFx1NzY5QVxcdTc2OUJcIl0sXG4gICAgICBbXCJiMDgwXCIsIFwiXFx1NzY5Q1wiLCA3LCBcIlxcdTc2QTVcIiwgOCwgXCJcXHU3NkFGXFx1NzZCMFxcdTc2QjNcXHU3NkI1XCIsIDksIFwiXFx1NzZDMFxcdTc2QzFcXHU3NkMzXFx1NTU0QVxcdTk2M0ZcXHU1N0MzXFx1NjMyOFxcdTU0Q0VcXHU1NTA5XFx1NTRDMFxcdTc2OTFcXHU3NjRDXFx1ODUzQ1xcdTc3RUVcXHU4MjdFXFx1Nzg4RFxcdTcyMzFcXHU5Njk4XFx1OTc4RFxcdTZDMjhcXHU1Qjg5XFx1NEZGQVxcdTYzMDlcXHU2Njk3XFx1NUNCOFxcdTgwRkFcXHU2ODQ4XFx1ODBBRVxcdTY2MDJcXHU3NkNFXFx1NTFGOVxcdTY1NTZcXHU3MUFDXFx1N0ZGMVxcdTg4ODRcXHU1MEIyXFx1NTk2NVxcdTYxQ0FcXHU2RkIzXFx1ODJBRFxcdTYzNENcXHU2MjUyXFx1NTNFRFxcdTU0MjdcXHU3QjA2XFx1NTE2QlxcdTc1QTRcXHU1REY0XFx1NjJENFxcdThEQ0JcXHU5Nzc2XFx1NjI4QVxcdTgwMTlcXHU1NzVEXFx1OTczOFxcdTdGNjJcXHU3MjM4XFx1NzY3RFxcdTY3Q0ZcXHU3NjdFXFx1NjQ0NlxcdTRGNzBcXHU4RDI1XFx1NjJEQ1xcdTdBMTdcXHU2NTkxXFx1NzNFRFxcdTY0MkNcXHU2MjczXFx1ODIyQ1xcdTk4ODFcXHU2NzdGXFx1NzI0OFxcdTYyNkVcXHU2MkNDXFx1NEYzNFxcdTc0RTNcXHU1MzRBXFx1NTI5RVxcdTdFQ0FcXHU5MEE2XFx1NUUyRVxcdTY4ODZcXHU2OTlDXFx1ODE4MFxcdTdFRDFcXHU2OEQyXFx1NzhDNVxcdTg2OENcXHU5NTUxXFx1NTA4RFxcdThDMjRcXHU4MkRFXFx1ODBERVxcdTUzMDVcXHU4OTEyXFx1NTI2NVwiXSxcbiAgICAgIFtcImIxNDBcIiwgXCJcXHU3NkM0XFx1NzZDN1xcdTc2QzlcXHU3NkNCXFx1NzZDQ1xcdTc2RDNcXHU3NkQ1XFx1NzZEOVxcdTc2REFcXHU3NkRDXFx1NzZERFxcdTc2REVcXHU3NkUwXCIsIDQsIFwiXFx1NzZFNlwiLCA3LCBcIlxcdTc2RjBcXHU3NkYzXFx1NzZGNVxcdTc2RjZcXHU3NkY3XFx1NzZGQVxcdTc2RkJcXHU3NkZEXFx1NzZGRlxcdTc3MDBcXHU3NzAyXFx1NzcwM1xcdTc3MDVcXHU3NzA2XFx1NzcwQVxcdTc3MENcXHU3NzBFXCIsIDEwLCBcIlxcdTc3MUJcXHU3NzFDXFx1NzcxRFxcdTc3MUVcXHU3NzIxXFx1NzcyM1xcdTc3MjRcXHU3NzI1XFx1NzcyN1xcdTc3MkFcXHU3NzJCXCJdLFxuICAgICAgW1wiYjE4MFwiLCBcIlxcdTc3MkNcXHU3NzJFXFx1NzczMFwiLCA0LCBcIlxcdTc3MzlcXHU3NzNCXFx1NzczRFxcdTc3M0VcXHU3NzNGXFx1Nzc0MlxcdTc3NDRcXHU3NzQ1XFx1Nzc0NlxcdTc3NDhcIiwgNywgXCJcXHU3NzUyXCIsIDcsIFwiXFx1Nzc1Q1xcdTg1ODRcXHU5NkY5XFx1NEZERFxcdTU4MjFcXHU5OTcxXFx1NUI5RFxcdTYyQjFcXHU2MkE1XFx1NjZCNFxcdThDNzlcXHU5QzhEXFx1NzIwNlxcdTY3NkZcXHU3ODkxXFx1NjBCMlxcdTUzNTFcXHU1MzE3XFx1OEY4OFxcdTgwQ0NcXHU4RDFEXFx1OTRBMVxcdTUwMERcXHU3MkM4XFx1NTkwN1xcdTYwRUJcXHU3MTE5XFx1ODhBQlxcdTU5NTRcXHU4MkVGXFx1NjcyQ1xcdTdCMjhcXHU1RDI5XFx1N0VGN1xcdTc1MkRcXHU2Q0Y1XFx1OEU2NlxcdThGRjhcXHU5MDNDXFx1OUYzQlxcdTZCRDRcXHU5MTE5XFx1N0IxNFxcdTVGN0NcXHU3OEE3XFx1ODRENlxcdTg1M0RcXHU2QkQ1XFx1NkJEOVxcdTZCRDZcXHU1RTAxXFx1NUU4N1xcdTc1RjlcXHU5NUVEXFx1NjU1RFxcdTVGMEFcXHU1RkM1XFx1OEY5RlxcdTU4QzFcXHU4MUMyXFx1OTA3RlxcdTk2NUJcXHU5N0FEXFx1OEZCOVxcdTdGMTZcXHU4RDJDXFx1NjI0MVxcdTRGQkZcXHU1M0Q4XFx1NTM1RVxcdThGQThcXHU4RkE5XFx1OEZBQlxcdTkwNERcXHU2ODA3XFx1NUY2QVxcdTgxOThcXHU4ODY4XFx1OUNENlxcdTYxOEJcXHU1MjJCXFx1NzYyQVxcdTVGNkNcXHU2NThDXFx1NkZEMlxcdTZFRThcXHU1QkJFXFx1NjQ0OFxcdTUxNzVcXHU1MUIwXFx1NjdDNFxcdTRFMTlcXHU3OUM5XFx1OTk3Q1xcdTcwQjNcIl0sXG4gICAgICBbXCJiMjQwXCIsIFwiXFx1Nzc1RFxcdTc3NUVcXHU3NzVGXFx1Nzc2MFxcdTc3NjRcXHU3NzY3XFx1Nzc2OVxcdTc3NkFcXHU3NzZEXCIsIDExLCBcIlxcdTc3N0FcXHU3NzdCXFx1Nzc3Q1xcdTc3ODFcXHU3NzgyXFx1Nzc4M1xcdTc3ODZcIiwgNSwgXCJcXHU3NzhGXFx1Nzc5MFxcdTc3OTNcIiwgMTEsIFwiXFx1NzdBMVxcdTc3QTNcXHU3N0E0XFx1NzdBNlxcdTc3QThcXHU3N0FCXFx1NzdBRFxcdTc3QUVcXHU3N0FGXFx1NzdCMVxcdTc3QjJcXHU3N0I0XFx1NzdCNlwiLCA0XSxcbiAgICAgIFtcImIyODBcIiwgXCJcXHU3N0JDXFx1NzdCRVxcdTc3QzBcIiwgMTIsIFwiXFx1NzdDRVwiLCA4LCBcIlxcdTc3RDhcXHU3N0Q5XFx1NzdEQVxcdTc3RERcIiwgNCwgXCJcXHU3N0U0XFx1NzVDNVxcdTVFNzZcXHU3M0JCXFx1ODNFMFxcdTY0QURcXHU2MkU4XFx1OTRCNVxcdTZDRTJcXHU1MzVBXFx1NTJDM1xcdTY0MEZcXHU5NEMyXFx1N0I5NFxcdTRGMkZcXHU1RTFCXFx1ODIzNlxcdTgxMTZcXHU4MThBXFx1NkUyNFxcdTZDQ0FcXHU5QTczXFx1NjM1NVxcdTUzNUNcXHU1NEZBXFx1ODg2NVxcdTU3RTBcXHU0RTBEXFx1NUUwM1xcdTZCNjVcXHU3QzNGXFx1OTBFOFxcdTYwMTZcXHU2NEU2XFx1NzMxQ1xcdTg4QzFcXHU2NzUwXFx1NjI0RFxcdThEMjJcXHU3NzZDXFx1OEUyOVxcdTkxQzdcXHU1RjY5XFx1ODNEQ1xcdTg1MjFcXHU5OTEwXFx1NTNDMlxcdTg2OTVcXHU2QjhCXFx1NjBFRFxcdTYwRThcXHU3MDdGXFx1ODJDRFxcdTgyMzFcXHU0RUQzXFx1NkNBN1xcdTg1Q0ZcXHU2NENEXFx1N0NEOVxcdTY5RkRcXHU2NkY5XFx1ODM0OVxcdTUzOTVcXHU3QjU2XFx1NEZBN1xcdTUxOENcXHU2RDRCXFx1NUM0MlxcdThFNkRcXHU2M0QyXFx1NTNDOVxcdTgzMkNcXHU4MzM2XFx1NjdFNVxcdTc4QjRcXHU2NDNEXFx1NUJERlxcdTVDOTRcXHU1REVFXFx1OEJFN1xcdTYyQzZcXHU2N0Y0XFx1OEM3QVxcdTY0MDBcXHU2M0JBXFx1ODc0OVxcdTk5OEJcXHU4QzE3XFx1N0YyMFxcdTk0RjJcXHU0RUE3XFx1OTYxMFxcdTk4QTRcXHU2NjBDXFx1NzMxNlwiXSxcbiAgICAgIFtcImIzNDBcIiwgXCJcXHU3N0U2XFx1NzdFOFxcdTc3RUFcXHU3N0VGXFx1NzdGMFxcdTc3RjFcXHU3N0YyXFx1NzdGNFxcdTc3RjVcXHU3N0Y3XFx1NzdGOVxcdTc3RkFcXHU3N0ZCXFx1NzdGQ1xcdTc4MDNcIiwgNSwgXCJcXHU3ODBBXFx1NzgwQlxcdTc4MEVcXHU3ODBGXFx1NzgxMFxcdTc4MTNcXHU3ODE1XFx1NzgxOVxcdTc4MUJcXHU3ODFFXFx1NzgyMFxcdTc4MjFcXHU3ODIyXFx1NzgyNFxcdTc4MjhcXHU3ODJBXFx1NzgyQlxcdTc4MkVcXHU3ODJGXFx1NzgzMVxcdTc4MzJcXHU3ODMzXFx1NzgzNVxcdTc4MzZcXHU3ODNEXFx1NzgzRlxcdTc4NDFcXHU3ODQyXFx1Nzg0M1xcdTc4NDRcXHU3ODQ2XFx1Nzg0OFxcdTc4NDlcXHU3ODRBXFx1Nzg0QlxcdTc4NERcXHU3ODRGXFx1Nzg1MVxcdTc4NTNcXHU3ODU0XFx1Nzg1OFxcdTc4NTlcXHU3ODVBXCJdLFxuICAgICAgW1wiYjM4MFwiLCBcIlxcdTc4NUJcXHU3ODVDXFx1Nzg1RVwiLCAxMSwgXCJcXHU3ODZGXCIsIDcsIFwiXFx1Nzg3OFxcdTc4NzlcXHU3ODdBXFx1Nzg3QlxcdTc4N0RcIiwgNiwgXCJcXHU1NzNBXFx1NUMxRFxcdTVFMzhcXHU5NTdGXFx1NTA3RlxcdTgwQTBcXHU1MzgyXFx1NjU1RVxcdTc1NDVcXHU1NTMxXFx1NTAyMVxcdThEODVcXHU2Mjg0XFx1OTQ5RVxcdTY3MURcXHU1NjMyXFx1NkY2RVxcdTVERTJcXHU1NDM1XFx1NzA5MlxcdThGNjZcXHU2MjZGXFx1NjRBNFxcdTYzQTNcXHU1RjdCXFx1NkY4OFxcdTkwRjRcXHU4MUUzXFx1OEZCMFxcdTVDMThcXHU2NjY4XFx1NUZGMVxcdTZDODlcXHU5NjQ4XFx1OEQ4MVxcdTg4NkNcXHU2NDkxXFx1NzlGMFxcdTU3Q0VcXHU2QTU5XFx1NjIxMFxcdTU0NDhcXHU0RTU4XFx1N0EwQlxcdTYwRTlcXHU2Rjg0XFx1OEJEQVxcdTYyN0ZcXHU5MDFFXFx1OUE4QlxcdTc5RTRcXHU1NDAzXFx1NzVGNFxcdTYzMDFcXHU1MzE5XFx1NkM2MFxcdThGREZcXHU1RjFCXFx1OUE3MFxcdTgwM0JcXHU5RjdGXFx1NEY4OFxcdTVDM0FcXHU4RDY0XFx1N0ZDNVxcdTY1QTVcXHU3MEJEXFx1NTE0NVxcdTUxQjJcXHU4NjZCXFx1NUQwN1xcdTVCQTBcXHU2MkJEXFx1OTE2Q1xcdTc1NzRcXHU4RTBDXFx1N0EyMFxcdTYxMDFcXHU3Qjc5XFx1NEVDN1xcdTdFRjhcXHU3Nzg1XFx1NEUxMVxcdTgxRURcXHU1MjFEXFx1NTFGQVxcdTZBNzFcXHU1M0E4XFx1OEU4N1xcdTk1MDRcXHU5NkNGXFx1NkVDMVxcdTk2NjRcXHU2OTVBXCJdLFxuICAgICAgW1wiYjQ0MFwiLCBcIlxcdTc4ODRcXHU3ODg1XFx1Nzg4NlxcdTc4ODhcXHU3ODhBXFx1Nzg4QlxcdTc4OEZcXHU3ODkwXFx1Nzg5MlxcdTc4OTRcXHU3ODk1XFx1Nzg5NlxcdTc4OTlcXHU3ODlEXFx1Nzg5RVxcdTc4QTBcXHU3OEEyXFx1NzhBNFxcdTc4QTZcXHU3OEE4XCIsIDcsIFwiXFx1NzhCNVxcdTc4QjZcXHU3OEI3XFx1NzhCOFxcdTc4QkFcXHU3OEJCXFx1NzhCQ1xcdTc4QkRcXHU3OEJGXFx1NzhDMFxcdTc4QzJcXHU3OEMzXFx1NzhDNFxcdTc4QzZcXHU3OEM3XFx1NzhDOFxcdTc4Q0NcXHU3OENEXFx1NzhDRVxcdTc4Q0ZcXHU3OEQxXFx1NzhEMlxcdTc4RDNcXHU3OEQ2XFx1NzhEN1xcdTc4RDhcXHU3OERBXCIsIDldLFxuICAgICAgW1wiYjQ4MFwiLCBcIlxcdTc4RTRcXHU3OEU1XFx1NzhFNlxcdTc4RTdcXHU3OEU5XFx1NzhFQVxcdTc4RUJcXHU3OEVEXCIsIDQsIFwiXFx1NzhGM1xcdTc4RjVcXHU3OEY2XFx1NzhGOFxcdTc4RjlcXHU3OEZCXCIsIDUsIFwiXFx1NzkwMlxcdTc5MDNcXHU3OTA0XFx1NzkwNlwiLCA2LCBcIlxcdTc4NDBcXHU1MEE4XFx1NzdEN1xcdTY0MTBcXHU4OUU2XFx1NTkwNFxcdTYzRTNcXHU1REREXFx1N0E3RlxcdTY5M0RcXHU0RjIwXFx1ODIzOVxcdTU1OThcXHU0RTMyXFx1NzVBRVxcdTdBOTdcXHU1RTYyXFx1NUU4QVxcdTk1RUZcXHU1MjFCXFx1NTQzOVxcdTcwOEFcXHU2Mzc2XFx1OTUyNFxcdTU3ODJcXHU2NjI1XFx1NjkzRlxcdTkxODdcXHU1NTA3XFx1NkRGM1xcdTdFQUZcXHU4ODIyXFx1NjIzM1xcdTdFRjBcXHU3NUI1XFx1ODMyOFxcdTc4QzFcXHU5NkNDXFx1OEY5RVxcdTYxNDhcXHU3NEY3XFx1OEJDRFxcdTZCNjRcXHU1MjNBXFx1OEQ1MFxcdTZCMjFcXHU4MDZBXFx1ODQ3MVxcdTU2RjFcXHU1MzA2XFx1NEVDRVxcdTRFMUJcXHU1MUQxXFx1N0M5N1xcdTkxOEJcXHU3QzA3XFx1NEZDM1xcdThFN0ZcXHU3QkUxXFx1N0E5Q1xcdTY0NjdcXHU1RDE0XFx1NTBBQ1xcdTgxMDZcXHU3NjAxXFx1N0NCOVxcdTZERUNcXHU3RkUwXFx1Njc1MVxcdTVCNThcXHU1QkY4XFx1NzhDQlxcdTY0QUVcXHU2NDEzXFx1NjNBQVxcdTYzMkJcXHU5NTE5XFx1NjQyRFxcdThGQkVcXHU3QjU0XFx1NzYyOVxcdTYyNTNcXHU1OTI3XFx1NTQ0NlxcdTZCNzlcXHU1MEEzXFx1NjIzNFxcdTVFMjZcXHU2Qjg2XFx1NEVFM1xcdThEMzdcXHU4ODhCXFx1NUY4NVxcdTkwMkVcIl0sXG4gICAgICBbXCJiNTQwXCIsIFwiXFx1NzkwRFwiLCA1LCBcIlxcdTc5MTRcIiwgOSwgXCJcXHU3OTFGXCIsIDQsIFwiXFx1NzkyNVwiLCAxNCwgXCJcXHU3OTM1XCIsIDQsIFwiXFx1NzkzRFxcdTc5M0ZcXHU3OTQyXFx1Nzk0M1xcdTc5NDRcXHU3OTQ1XFx1Nzk0N1xcdTc5NEFcIiwgOCwgXCJcXHU3OTU0XFx1Nzk1NVxcdTc5NThcXHU3OTU5XFx1Nzk2MVxcdTc5NjNcIl0sXG4gICAgICBbXCJiNTgwXCIsIFwiXFx1Nzk2NFxcdTc5NjZcXHU3OTY5XFx1Nzk2QVxcdTc5NkJcXHU3OTZDXFx1Nzk2RVxcdTc5NzBcIiwgNiwgXCJcXHU3OTc5XFx1Nzk3QlwiLCA0LCBcIlxcdTc5ODJcXHU3OTgzXFx1Nzk4NlxcdTc5ODdcXHU3OTg4XFx1Nzk4OVxcdTc5OEJcXHU3OThDXFx1Nzk4RFxcdTc5OEVcXHU3OTkwXFx1Nzk5MVxcdTc5OTJcXHU2MDIwXFx1ODAzRFxcdTYyQzVcXHU0RTM5XFx1NTM1NVxcdTkwRjhcXHU2M0I4XFx1ODBDNlxcdTY1RTZcXHU2QzJFXFx1NEY0NlxcdTYwRUVcXHU2REUxXFx1OEJERVxcdTVGMzlcXHU4NkNCXFx1NUY1M1xcdTYzMjFcXHU1MTVBXFx1ODM2MVxcdTY4NjNcXHU1MjAwXFx1NjM2M1xcdThFNDhcXHU1MDEyXFx1NUM5QlxcdTc5NzdcXHU1QkZDXFx1NTIzMFxcdTdBM0JcXHU2MEJDXFx1OTA1M1xcdTc2RDdcXHU1RkI3XFx1NUY5N1xcdTc2ODRcXHU4RTZDXFx1NzA2RlxcdTc2N0JcXHU3QjQ5XFx1NzdBQVxcdTUxRjNcXHU5MDkzXFx1NTgyNFxcdTRGNEVcXHU2RUY0XFx1OEZFQVxcdTY1NENcXHU3QjFCXFx1NzJDNFxcdTZEQTRcXHU3RkRGXFx1NUFFMVxcdTYyQjVcXHU1RTk1XFx1NTczMFxcdTg0ODJcXHU3QjJDXFx1NUUxRFxcdTVGMUZcXHU5MDEyXFx1N0YxNFxcdTk4QTBcXHU2MzgyXFx1NkVDN1xcdTc4OThcXHU3MEI5XFx1NTE3OFxcdTk3NUJcXHU1N0FCXFx1NzUzNVxcdTRGNDNcXHU3NTM4XFx1NUU5N1xcdTYwRTZcXHU1OTYwXFx1NkRDMFxcdTZCQkZcXHU3ODg5XFx1NTNGQ1xcdTk2RDVcXHU1MUNCXFx1NTIwMVxcdTYzODlcXHU1NDBBXFx1OTQ5M1xcdThDMDNcXHU4RENDXFx1NzIzOVxcdTc4OUZcXHU4Nzc2XFx1OEZFRFxcdThDMERcXHU1M0UwXCJdLFxuICAgICAgW1wiYjY0MFwiLCBcIlxcdTc5OTNcIiwgNiwgXCJcXHU3OTlCXCIsIDExLCBcIlxcdTc5QThcIiwgMTAsIFwiXFx1NzlCNFwiLCA0LCBcIlxcdTc5QkNcXHU3OUJGXFx1NzlDMlxcdTc5QzRcXHU3OUM1XFx1NzlDN1xcdTc5QzhcXHU3OUNBXFx1NzlDQ1xcdTc5Q0VcXHU3OUNGXFx1NzlEMFxcdTc5RDNcXHU3OUQ0XFx1NzlENlxcdTc5RDdcXHU3OUQ5XCIsIDUsIFwiXFx1NzlFMFxcdTc5RTFcXHU3OUUyXFx1NzlFNVxcdTc5RThcXHU3OUVBXCJdLFxuICAgICAgW1wiYjY4MFwiLCBcIlxcdTc5RUNcXHU3OUVFXFx1NzlGMVwiLCA2LCBcIlxcdTc5RjlcXHU3OUZBXFx1NzlGQ1xcdTc5RkVcXHU3OUZGXFx1N0EwMVxcdTdBMDRcXHU3QTA1XFx1N0EwN1xcdTdBMDhcXHU3QTA5XFx1N0EwQVxcdTdBMENcXHU3QTBGXCIsIDQsIFwiXFx1N0ExNVxcdTdBMTZcXHU3QTE4XFx1N0ExOVxcdTdBMUJcXHU3QTFDXFx1NEUwMVxcdTc2RUZcXHU1M0VFXFx1OTQ4OVxcdTk4NzZcXHU5RjBFXFx1OTUyRFxcdTVCOUFcXHU4QkEyXFx1NEUyMlxcdTRFMUNcXHU1MUFDXFx1ODQ2M1xcdTYxQzJcXHU1MkE4XFx1NjgwQlxcdTRGOTdcXHU2MDZCXFx1NTFCQlxcdTZEMUVcXHU1MTVDXFx1NjI5NlxcdTY1OTdcXHU5NjYxXFx1OEM0NlxcdTkwMTdcXHU3NUQ4XFx1OTBGRFxcdTc3NjNcXHU2QkQyXFx1NzI4QVxcdTcyRUNcXHU4QkZCXFx1NTgzNVxcdTc3NzlcXHU4RDRDXFx1Njc1Q1xcdTk1NDBcXHU4MDlBXFx1NUVBNlxcdTZFMjFcXHU1OTkyXFx1N0FFRlxcdTc3RURcXHU5NTNCXFx1NkJCNVxcdTY1QURcXHU3RjBFXFx1NTgwNlxcdTUxNTFcXHU5NjFGXFx1NUJGOVxcdTU4QTlcXHU1NDI4XFx1OEU3MlxcdTY1NjZcXHU5ODdGXFx1NTZFNFxcdTk0OURcXHU3NkZFXFx1OTA0MVxcdTYzODdcXHU1NEM2XFx1NTkxQVxcdTU5M0FcXHU1NzlCXFx1OEVCMlxcdTY3MzVcXHU4REZBXFx1ODIzNVxcdTUyNDFcXHU2MEYwXFx1NTgxNVxcdTg2RkVcXHU1Q0U4XFx1OUU0NVxcdTRGQzRcXHU5ODlEXFx1OEJCOVxcdTVBMjVcXHU2MDc2XFx1NTM4NFxcdTYyN0NcXHU5MDRGXFx1OTEwMlxcdTk5N0ZcXHU2MDY5XFx1ODAwQ1xcdTUxM0ZcXHU4MDMzXFx1NUMxNFxcdTk5NzVcXHU2RDMxXFx1NEU4Q1wiXSxcbiAgICAgIFtcImI3NDBcIiwgXCJcXHU3QTFEXFx1N0ExRlxcdTdBMjFcXHU3QTIyXFx1N0EyNFwiLCAxNCwgXCJcXHU3QTM0XFx1N0EzNVxcdTdBMzZcXHU3QTM4XFx1N0EzQVxcdTdBM0VcXHU3QTQwXCIsIDUsIFwiXFx1N0E0N1wiLCA5LCBcIlxcdTdBNTJcIiwgNCwgXCJcXHU3QTU4XCIsIDE2XSxcbiAgICAgIFtcImI3ODBcIiwgXCJcXHU3QTY5XCIsIDYsIFwiXFx1N0E3MVxcdTdBNzJcXHU3QTczXFx1N0E3NVxcdTdBN0JcXHU3QTdDXFx1N0E3RFxcdTdBN0VcXHU3QTgyXFx1N0E4NVxcdTdBODdcXHU3QTg5XFx1N0E4QVxcdTdBOEJcXHU3QThDXFx1N0E4RVxcdTdBOEZcXHU3QTkwXFx1N0E5M1xcdTdBOTRcXHU3QTk5XFx1N0E5QVxcdTdBOUJcXHU3QTlFXFx1N0FBMVxcdTdBQTJcXHU4RDMwXFx1NTNEMVxcdTdGNUFcXHU3QjRGXFx1NEYxMFxcdTRFNEZcXHU5NjAwXFx1NkNENVxcdTczRDBcXHU4NUU5XFx1NUUwNlxcdTc1NkFcXHU3RkZCXFx1NkEwQVxcdTc3RkVcXHU5NDkyXFx1N0U0MVxcdTUxRTFcXHU3MEU2XFx1NTNDRFxcdThGRDRcXHU4MzAzXFx1OEQyOVxcdTcyQUZcXHU5OTZEXFx1NkNEQlxcdTU3NEFcXHU4MkIzXFx1NjVCOVxcdTgwQUFcXHU2MjNGXFx1OTYzMlxcdTU5QThcXHU0RUZGXFx1OEJCRlxcdTdFQkFcXHU2NTNFXFx1ODNGMlxcdTk3NUVcXHU1NTYxXFx1OThERVxcdTgwQTVcXHU1MzJBXFx1OEJGRFxcdTU0MjBcXHU4MEJBXFx1NUU5RlxcdTZDQjhcXHU4RDM5XFx1ODJBQ1xcdTkxNUFcXHU1NDI5XFx1NkMxQlxcdTUyMDZcXHU3RUI3XFx1NTc1RlxcdTcxMUFcXHU2QzdFXFx1N0M4OVxcdTU5NEJcXHU0RUZEXFx1NUZGRlxcdTYxMjRcXHU3Q0FBXFx1NEUzMFxcdTVDMDFcXHU2N0FCXFx1ODcwMlxcdTVDRjBcXHU5NTBCXFx1OThDRVxcdTc1QUZcXHU3MEZEXFx1OTAyMlxcdTUxQUZcXHU3RjFEXFx1OEJCRFxcdTU5NDlcXHU1MUU0XFx1NEY1QlxcdTU0MjZcXHU1OTJCXFx1NjU3N1xcdTgwQTRcXHU1Qjc1XFx1NjI3NlxcdTYyQzJcXHU4RjkwXFx1NUU0NVxcdTZDMUZcXHU3QjI2XFx1NEYwRlxcdTRGRDhcXHU2NzBEXCJdLFxuICAgICAgW1wiYjg0MFwiLCBcIlxcdTdBQTNcXHU3QUE0XFx1N0FBN1xcdTdBQTlcXHU3QUFBXFx1N0FBQlxcdTdBQUVcIiwgNCwgXCJcXHU3QUI0XCIsIDEwLCBcIlxcdTdBQzBcIiwgMTAsIFwiXFx1N0FDQ1wiLCA5LCBcIlxcdTdBRDdcXHU3QUQ4XFx1N0FEQVxcdTdBREJcXHU3QURDXFx1N0FERFxcdTdBRTFcXHU3QUUyXFx1N0FFNFxcdTdBRTdcIiwgNSwgXCJcXHU3QUVFXFx1N0FGMFxcdTdBRjFcXHU3QUYyXFx1N0FGM1wiXSxcbiAgICAgIFtcImI4ODBcIiwgXCJcXHU3QUY0XCIsIDQsIFwiXFx1N0FGQlxcdTdBRkNcXHU3QUZFXFx1N0IwMFxcdTdCMDFcXHU3QjAyXFx1N0IwNVxcdTdCMDdcXHU3QjA5XFx1N0IwQ1xcdTdCMERcXHU3QjBFXFx1N0IxMFxcdTdCMTJcXHU3QjEzXFx1N0IxNlxcdTdCMTdcXHU3QjE4XFx1N0IxQVxcdTdCMUNcXHU3QjFEXFx1N0IxRlxcdTdCMjFcXHU3QjIyXFx1N0IyM1xcdTdCMjdcXHU3QjI5XFx1N0IyRFxcdTZENkVcXHU2REFBXFx1Nzk4RlxcdTg4QjFcXHU1RjE3XFx1NzUyQlxcdTYyOUFcXHU4Rjg1XFx1NEZFRlxcdTkxRENcXHU2NUE3XFx1ODEyRlxcdTgxNTFcXHU1RTlDXFx1ODE1MFxcdThENzRcXHU1MjZGXFx1ODk4NlxcdThENEJcXHU1OTBEXFx1NTA4NVxcdTRFRDhcXHU5NjFDXFx1NzIzNlxcdTgxNzlcXHU4RDFGXFx1NUJDQ1xcdThCQTNcXHU5NjQ0XFx1NTk4N1xcdTdGMUFcXHU1NDkwXFx1NTY3NlxcdTU2MEVcXHU4QkU1XFx1NjUzOVxcdTY5ODJcXHU5NDk5XFx1NzZENlxcdTZFODlcXHU1RTcyXFx1NzUxOFxcdTY3NDZcXHU2N0QxXFx1N0FGRlxcdTgwOURcXHU4RDc2XFx1NjExRlxcdTc5QzZcXHU2NTYyXFx1OEQ2M1xcdTUxODhcXHU1MjFBXFx1OTRBMlxcdTdGMzhcXHU4MDlCXFx1N0VCMlxcdTVDOTdcXHU2RTJGXFx1Njc2MFxcdTdCRDlcXHU3NjhCXFx1OUFEOFxcdTgxOEZcXHU3Rjk0XFx1N0NENVxcdTY0MUVcXHU5NTUwXFx1N0EzRlxcdTU0NEFcXHU1NEU1XFx1NkI0Q1xcdTY0MDFcXHU2MjA4XFx1OUUzRFxcdTgwRjNcXHU3NTk5XFx1NTI3MlxcdTk3NjlcXHU4NDVCXFx1NjgzQ1xcdTg2RTRcXHU5NjAxXFx1OTY5NFxcdTk0RUNcXHU0RTJBXFx1NTQwNFxcdTdFRDlcXHU2ODM5XFx1OERERlxcdTgwMTVcXHU2NkY0XFx1NUU5QVxcdTdGQjlcIl0sXG4gICAgICBbXCJiOTQwXCIsIFwiXFx1N0IyRlxcdTdCMzBcXHU3QjMyXFx1N0IzNFxcdTdCMzVcXHU3QjM2XFx1N0IzN1xcdTdCMzlcXHU3QjNCXFx1N0IzRFxcdTdCM0ZcIiwgNSwgXCJcXHU3QjQ2XFx1N0I0OFxcdTdCNEFcXHU3QjREXFx1N0I0RVxcdTdCNTNcXHU3QjU1XFx1N0I1N1xcdTdCNTlcXHU3QjVDXFx1N0I1RVxcdTdCNUZcXHU3QjYxXFx1N0I2M1wiLCAxMCwgXCJcXHU3QjZGXFx1N0I3MFxcdTdCNzNcXHU3Qjc0XFx1N0I3NlxcdTdCNzhcXHU3QjdBXFx1N0I3Q1xcdTdCN0RcXHU3QjdGXFx1N0I4MVxcdTdCODJcXHU3QjgzXFx1N0I4NFxcdTdCODZcIiwgNiwgXCJcXHU3QjhFXFx1N0I4RlwiXSxcbiAgICAgIFtcImI5ODBcIiwgXCJcXHU3QjkxXFx1N0I5MlxcdTdCOTNcXHU3Qjk2XFx1N0I5OFxcdTdCOTlcXHU3QjlBXFx1N0I5QlxcdTdCOUVcXHU3QjlGXFx1N0JBMFxcdTdCQTNcXHU3QkE0XFx1N0JBNVxcdTdCQUVcXHU3QkFGXFx1N0JCMFxcdTdCQjJcXHU3QkIzXFx1N0JCNVxcdTdCQjZcXHU3QkI3XFx1N0JCOVwiLCA3LCBcIlxcdTdCQzJcXHU3QkMzXFx1N0JDNFxcdTU3QzJcXHU4MDNGXFx1Njg5N1xcdTVERTVcXHU2NTNCXFx1NTI5RlxcdTYwNkRcXHU5RjlBXFx1NEY5QlxcdThFQUNcXHU1MTZDXFx1NUJBQlxcdTVGMTNcXHU1REU5XFx1NkM1RVxcdTYyRjFcXHU4RDIxXFx1NTE3MVxcdTk0QTlcXHU1MkZFXFx1NkM5RlxcdTgyREZcXHU3MkQ3XFx1NTdBMlxcdTY3ODRcXHU4RDJEXFx1NTkxRlxcdThGOUNcXHU4M0M3XFx1NTQ5NVxcdTdCOERcXHU0RjMwXFx1NkNCRFxcdTVCNjRcXHU1OUQxXFx1OUYxM1xcdTUzRTRcXHU4NkNBXFx1OUFBOFxcdThDMzdcXHU4MEExXFx1NjU0NVxcdTk4N0VcXHU1NkZBXFx1OTZDN1xcdTUyMkVcXHU3NERDXFx1NTI1MFxcdTVCRTFcXHU2MzAyXFx1ODkwMlxcdTRFNTZcXHU2MkQwXFx1NjAyQVxcdTY4RkFcXHU1MTczXFx1NUI5OFxcdTUxQTBcXHU4OUMyXFx1N0JBMVxcdTk5ODZcXHU3RjUwXFx1NjBFRlxcdTcwNENcXHU4RDJGXFx1NTE0OVxcdTVFN0ZcXHU5MDFCXFx1NzQ3MFxcdTg5QzRcXHU1NzJEXFx1Nzg0NVxcdTVGNTJcXHU5RjlGXFx1OTVGQVxcdThGNjhcXHU5QjNDXFx1OEJFMVxcdTc2NzhcXHU2ODQyXFx1NjdEQ1xcdThERUFcXHU4RDM1XFx1NTIzRFxcdThGOEFcXHU2RURBXFx1NjhDRFxcdTk1MDVcXHU5MEVEXFx1NTZGRFxcdTY3OUNcXHU4OEY5XFx1OEZDN1xcdTU0QzhcIl0sXG4gICAgICBbXCJiYTQwXCIsIFwiXFx1N0JDNVxcdTdCQzhcXHU3QkM5XFx1N0JDQVxcdTdCQ0JcXHU3QkNEXFx1N0JDRVxcdTdCQ0ZcXHU3QkQwXFx1N0JEMlxcdTdCRDRcIiwgNCwgXCJcXHU3QkRCXFx1N0JEQ1xcdTdCREVcXHU3QkRGXFx1N0JFMFxcdTdCRTJcXHU3QkUzXFx1N0JFNFxcdTdCRTdcXHU3QkU4XFx1N0JFOVxcdTdCRUJcXHU3QkVDXFx1N0JFRFxcdTdCRUZcXHU3QkYwXFx1N0JGMlwiLCA0LCBcIlxcdTdCRjhcXHU3QkY5XFx1N0JGQVxcdTdCRkJcXHU3QkZEXFx1N0JGRlwiLCA3LCBcIlxcdTdDMDhcXHU3QzA5XFx1N0MwQVxcdTdDMERcXHU3QzBFXFx1N0MxMFwiLCA1LCBcIlxcdTdDMTdcXHU3QzE4XFx1N0MxOVwiXSxcbiAgICAgIFtcImJhODBcIiwgXCJcXHU3QzFBXCIsIDQsIFwiXFx1N0MyMFwiLCA1LCBcIlxcdTdDMjhcXHU3QzI5XFx1N0MyQlwiLCAxMiwgXCJcXHU3QzM5XCIsIDUsIFwiXFx1N0M0MlxcdTlBQjhcXHU1QjY5XFx1NkQ3N1xcdTZDMjZcXHU0RUE1XFx1NUJCM1xcdTlBODdcXHU5MTYzXFx1NjFBOFxcdTkwQUZcXHU5N0U5XFx1NTQyQlxcdTZEQjVcXHU1QkQyXFx1NTFGRFxcdTU1OEFcXHU3RjU1XFx1N0ZGMFxcdTY0QkNcXHU2MzREXFx1NjVGMVxcdTYxQkVcXHU2MDhEXFx1NzEwQVxcdTZDNTdcXHU2QzQ5XFx1NTkyRlxcdTY3NkRcXHU4MjJBXFx1NThENVxcdTU2OEVcXHU4QzZBXFx1NkJFQlxcdTkwRERcXHU1OTdEXFx1ODAxN1xcdTUzRjdcXHU2RDY5XFx1NTQ3NVxcdTU1OURcXHU4Mzc3XFx1ODNDRlxcdTY4MzhcXHU3OUJFXFx1NTQ4Q1xcdTRGNTVcXHU1NDA4XFx1NzZEMlxcdThDODlcXHU5NjAyXFx1NkNCM1xcdTZEQjhcXHU4RDZCXFx1ODkxMFxcdTlFNjRcXHU4RDNBXFx1NTYzRlxcdTlFRDFcXHU3NUQ1XFx1NUY4OFxcdTcyRTBcXHU2MDY4XFx1NTRGQ1xcdTRFQThcXHU2QTJBXFx1ODg2MVxcdTYwNTJcXHU4RjcwXFx1NTRDNFxcdTcwRDhcXHU4Njc5XFx1OUUzRlxcdTZEMkFcXHU1QjhGXFx1NUYxOFxcdTdFQTJcXHU1NTg5XFx1NEZBRlxcdTczMzRcXHU1NDNDXFx1NTM5QVxcdTUwMTlcXHU1NDBFXFx1NTQ3Q1xcdTRFNEVcXHU1RkZEXFx1NzQ1QVxcdTU4RjZcXHU4NDZCXFx1ODBFMVxcdTg3NzRcXHU3MkQwXFx1N0NDQVxcdTZFNTZcIl0sXG4gICAgICBbXCJiYjQwXCIsIFwiXFx1N0M0M1wiLCA5LCBcIlxcdTdDNEVcIiwgMzYsIFwiXFx1N0M3NVwiLCA1LCBcIlxcdTdDN0VcIiwgOV0sXG4gICAgICBbXCJiYjgwXCIsIFwiXFx1N0M4OFxcdTdDOEFcIiwgNiwgXCJcXHU3QzkzXFx1N0M5NFxcdTdDOTZcXHU3Qzk5XFx1N0M5QVxcdTdDOUJcXHU3Q0EwXFx1N0NBMVxcdTdDQTNcXHU3Q0E2XFx1N0NBN1xcdTdDQThcXHU3Q0E5XFx1N0NBQlxcdTdDQUNcXHU3Q0FEXFx1N0NBRlxcdTdDQjBcXHU3Q0I0XCIsIDQsIFwiXFx1N0NCQVxcdTdDQkJcXHU1RjI3XFx1ODY0RVxcdTU1MkNcXHU2MkE0XFx1NEU5MlxcdTZDQUFcXHU2MjM3XFx1ODJCMVxcdTU0RDdcXHU1MzRFXFx1NzMzRVxcdTZFRDFcXHU3NTNCXFx1NTIxMlxcdTUzMTZcXHU4QkREXFx1NjlEMFxcdTVGOEFcXHU2MDAwXFx1NkRFRVxcdTU3NEZcXHU2QjIyXFx1NzNBRlxcdTY4NTNcXHU4RkQ4XFx1N0YxM1xcdTYzNjJcXHU2MEEzXFx1NTUyNFxcdTc1RUFcXHU4QzYyXFx1NzExNVxcdTZEQTNcXHU1QkE2XFx1NUU3QlxcdTgzNTJcXHU2MTRDXFx1OUVDNFxcdTc4RkFcXHU4NzU3XFx1N0MyN1xcdTc2ODdcXHU1MUYwXFx1NjBGNlxcdTcxNENcXHU2NjQzXFx1NUU0Q1xcdTYwNERcXHU4QzBFXFx1NzA3MFxcdTYzMjVcXHU4Rjg5XFx1NUZCRFxcdTYwNjJcXHU4NkQ0XFx1NTZERVxcdTZCQzFcXHU2MDk0XFx1NjE2N1xcdTUzNDlcXHU2MEUwXFx1NjY2NlxcdThEM0ZcXHU3OUZEXFx1NEYxQVxcdTcwRTlcXHU2QzQ3XFx1OEJCM1xcdThCRjJcXHU3RUQ4XFx1ODM2NFxcdTY2MEZcXHU1QTVBXFx1OUI0MlxcdTZENTFcXHU2REY3XFx1OEM0MVxcdTZEM0JcXHU0RjE5XFx1NzA2QlxcdTgzQjdcXHU2MjE2XFx1NjBEMVxcdTk3MERcXHU4RDI3XFx1Nzk3OFxcdTUxRkJcXHU1NzNFXFx1NTdGQVxcdTY3M0FcXHU3NTc4XFx1N0EzRFxcdTc5RUZcXHU3Qjk1XCJdLFxuICAgICAgW1wiYmM0MFwiLCBcIlxcdTdDQkZcXHU3Q0MwXFx1N0NDMlxcdTdDQzNcXHU3Q0M0XFx1N0NDNlxcdTdDQzlcXHU3Q0NCXFx1N0NDRVwiLCA2LCBcIlxcdTdDRDhcXHU3Q0RBXFx1N0NEQlxcdTdDRERcXHU3Q0RFXFx1N0NFMVwiLCA2LCBcIlxcdTdDRTlcIiwgNSwgXCJcXHU3Q0YwXCIsIDcsIFwiXFx1N0NGOVxcdTdDRkFcXHU3Q0ZDXCIsIDEzLCBcIlxcdTdEMEJcIiwgNV0sXG4gICAgICBbXCJiYzgwXCIsIFwiXFx1N0QxMVwiLCAxNCwgXCJcXHU3RDIxXFx1N0QyM1xcdTdEMjRcXHU3RDI1XFx1N0QyNlxcdTdEMjhcXHU3RDI5XFx1N0QyQVxcdTdEMkNcXHU3RDJEXFx1N0QyRVxcdTdEMzBcIiwgNiwgXCJcXHU4MDhDXFx1OTk2NVxcdThGRjlcXHU2RkMwXFx1OEJBNVxcdTlFMjFcXHU1OUVDXFx1N0VFOVxcdTdGMDlcXHU1NDA5XFx1Njc4MVxcdTY4RDhcXHU4RjkxXFx1N0M0RFxcdTk2QzZcXHU1M0NBXFx1NjAyNVxcdTc1QkVcXHU2QzcyXFx1NTM3M1xcdTVBQzlcXHU3RUE3XFx1NjMyNFxcdTUxRTBcXHU4MTBBXFx1NURGMVxcdTg0REZcXHU2MjgwXFx1NTE4MFxcdTVCNjNcXHU0RjBFXFx1Nzk2RFxcdTUyNDJcXHU2MEI4XFx1NkQ0RVxcdTVCQzRcXHU1QkMyXFx1OEJBMVxcdThCQjBcXHU2NUUyXFx1NUZDQ1xcdTk2NDVcXHU1OTkzXFx1N0VFN1xcdTdFQUFcXHU1NjA5XFx1NjdCN1xcdTU5MzlcXHU0RjczXFx1NUJCNlxcdTUyQTBcXHU4MzVBXFx1OTg4QVxcdThEM0VcXHU3NTMyXFx1OTRCRVxcdTUwNDdcXHU3QTNDXFx1NEVGN1xcdTY3QjZcXHU5QTdFXFx1NUFDMVxcdTZCN0NcXHU3NkQxXFx1NTc1QVxcdTVDMTZcXHU3QjNBXFx1OTVGNFxcdTcxNEVcXHU1MTdDXFx1ODBBOVxcdTgyNzBcXHU1OTc4XFx1N0YwNFxcdTgzMjdcXHU2OEMwXFx1NjdFQ1xcdTc4QjFcXHU3ODc3XFx1NjJFM1xcdTYzNjFcXHU3QjgwXFx1NEZFRFxcdTUyNkFcXHU1MUNGXFx1ODM1MFxcdTY5REJcXHU5Mjc0XFx1OERGNVxcdThEMzFcXHU4OUMxXFx1OTUyRVxcdTdCQURcXHU0RUY2XCJdLFxuICAgICAgW1wiYmQ0MFwiLCBcIlxcdTdEMzdcIiwgNTQsIFwiXFx1N0Q2RlwiLCA3XSxcbiAgICAgIFtcImJkODBcIiwgXCJcXHU3RDc4XCIsIDMyLCBcIlxcdTUwNjVcXHU4MjMwXFx1NTI1MVxcdTk5NkZcXHU2RTEwXFx1NkU4NVxcdTZEQTdcXHU1RUZBXFx1NTBGNVxcdTU5RENcXHU1QzA2XFx1NkQ0NlxcdTZDNUZcXHU3NTg2XFx1ODQ4QlxcdTY4NjhcXHU1OTU2XFx1OEJCMlxcdTUzMjBcXHU5MTcxXFx1OTY0RFxcdTg1NDlcXHU2OTEyXFx1NzkwMVxcdTcxMjZcXHU4MEY2XFx1NEVBNFxcdTkwQ0FcXHU2RDQ3XFx1OUE4NFxcdTVBMDdcXHU1NkJDXFx1NjQwNVxcdTk0RjBcXHU3N0VCXFx1NEZBNVxcdTgxMUFcXHU3MkUxXFx1ODlEMlxcdTk5N0FcXHU3RjM0XFx1N0VERVxcdTUyN0ZcXHU2NTU5XFx1OTE3NVxcdThGN0ZcXHU4RjgzXFx1NTNFQlxcdTdBOTZcXHU2M0VEXFx1NjNBNVxcdTc2ODZcXHU3OUY4XFx1ODg1N1xcdTk2MzZcXHU2MjJBXFx1NTJBQlxcdTgyODJcXHU2ODU0XFx1Njc3MFxcdTYzNzdcXHU3NzZCXFx1N0FFRFxcdTZEMDFcXHU3RUQzXFx1ODlFM1xcdTU5RDBcXHU2MjEyXFx1ODVDOVxcdTgyQTVcXHU3NTRDXFx1NTAxRlxcdTRFQ0JcXHU3NUE1XFx1OEJFQlxcdTVDNEFcXHU1REZFXFx1N0I0QlxcdTY1QTRcXHU5MUQxXFx1NEVDQVxcdTZEMjVcXHU4OTVGXFx1N0QyN1xcdTk1MjZcXHU0RUM1XFx1OEMyOFxcdThGREJcXHU5NzczXFx1NjY0QlxcdTc5ODFcXHU4RkQxXFx1NzBFQ1xcdTZENzhcIl0sXG4gICAgICBbXCJiZTQwXCIsIFwiXFx1N0Q5OVwiLCAxMiwgXCJcXHU3REE3XCIsIDYsIFwiXFx1N0RBRlwiLCA0Ml0sXG4gICAgICBbXCJiZTgwXCIsIFwiXFx1N0REQVwiLCAzMiwgXCJcXHU1QzNEXFx1NTJCMlxcdTgzNDZcXHU1MTYyXFx1ODMwRVxcdTc3NUJcXHU2Njc2XFx1OUNCOFxcdTRFQUNcXHU2MENBXFx1N0NCRVxcdTdDQjNcXHU3RUNGXFx1NEU5NVxcdThCNjZcXHU2NjZGXFx1OTg4OFxcdTk3NTlcXHU1ODgzXFx1NjU2Q1xcdTk1NUNcXHU1Rjg0XFx1NzVDOVxcdTk3NTZcXHU3QURGXFx1N0FERVxcdTUxQzBcXHU3MEFGXFx1N0E5OFxcdTYzRUFcXHU3QTc2XFx1N0VBMFxcdTczOTZcXHU5N0VEXFx1NEU0NVxcdTcwNzhcXHU0RTVEXFx1OTE1MlxcdTUzQTlcXHU2NTUxXFx1NjVFN1xcdTgxRkNcXHU4MjA1XFx1NTQ4RVxcdTVDMzFcXHU3NTlBXFx1OTdBMFxcdTYyRDhcXHU3MkQ5XFx1NzVCRFxcdTVDNDVcXHU5QTc5XFx1ODNDQVxcdTVDNDBcXHU1NDgwXFx1NzdFOVxcdTRFM0VcXHU2Q0FFXFx1ODA1QVxcdTYyRDJcXHU2MzZFXFx1NURFOFxcdTUxNzdcXHU4REREXFx1OEUxRVxcdTk1MkZcXHU0RkYxXFx1NTNFNVxcdTYwRTdcXHU3MEFDXFx1NTI2N1xcdTYzNTBcXHU5RTQzXFx1NUExRlxcdTUwMjZcXHU3NzM3XFx1NTM3N1xcdTdFRTJcXHU2NDg1XFx1NjUyQlxcdTYyODlcXHU2Mzk4XFx1NTAxNFxcdTcyMzVcXHU4OUM5XFx1NTFCM1xcdThCQzBcXHU3RUREXFx1NTc0N1xcdTgzQ0NcXHU5NEE3XFx1NTE5QlxcdTU0MUJcXHU1Q0ZCXCJdLFxuICAgICAgW1wiYmY0MFwiLCBcIlxcdTdERkJcIiwgNjJdLFxuICAgICAgW1wiYmY4MFwiLCBcIlxcdTdFM0FcXHU3RTNDXCIsIDQsIFwiXFx1N0U0MlwiLCA0LCBcIlxcdTdFNDhcIiwgMjEsIFwiXFx1NEZDQVxcdTdBRTNcXHU2RDVBXFx1OTBFMVxcdTlBOEZcXHU1NTgwXFx1NTQ5NlxcdTUzNjFcXHU1NEFGXFx1NUYwMFxcdTYzRTlcXHU2OTc3XFx1NTFFRlxcdTYxNjhcXHU1MjBBXFx1NTgyQVxcdTUyRDhcXHU1NzRFXFx1NzgwRFxcdTc3MEJcXHU1RUI3XFx1NjE3N1xcdTdDRTBcXHU2MjVCXFx1NjI5N1xcdTRFQTJcXHU3MDk1XFx1ODAwM1xcdTYyRjdcXHU3MEU0XFx1OTc2MFxcdTU3NzdcXHU4MkRCXFx1NjdFRlxcdTY4RjVcXHU3OEQ1XFx1OTg5N1xcdTc5RDFcXHU1OEYzXFx1NTRCM1xcdTUzRUZcXHU2RTM0XFx1NTE0QlxcdTUyM0JcXHU1QkEyXFx1OEJGRVxcdTgwQUZcXHU1NTQzXFx1NTdBNlxcdTYwNzNcXHU1NzUxXFx1NTQyRFxcdTdBN0FcXHU2MDUwXFx1NUI1NFxcdTYzQTdcXHU2MkEwXFx1NTNFM1xcdTYyNjNcXHU1QkM3XFx1NjdBRlxcdTU0RURcXHU3QTlGXFx1ODJFNlxcdTkxNzdcXHU1RTkzXFx1ODhFNFxcdTU5MzhcXHU1N0FFXFx1NjMwRVxcdThERThcXHU4MEVGXFx1NTc1N1xcdTdCNzdcXHU0RkE5XFx1NUZFQlxcdTVCQkRcXHU2QjNFXFx1NTMyMVxcdTdCNTBcXHU3MkMyXFx1Njg0NlxcdTc3RkZcXHU3NzM2XFx1NjVGN1xcdTUxQjVcXHU0RThGXFx1NzZENFxcdTVDQkZcXHU3QUE1XFx1ODQ3NVxcdTU5NEVcXHU5QjQxXFx1NTA4MFwiXSxcbiAgICAgIFtcImMwNDBcIiwgXCJcXHU3RTVFXCIsIDM1LCBcIlxcdTdFODNcIiwgMjMsIFwiXFx1N0U5Q1xcdTdFOURcXHU3RTlFXCJdLFxuICAgICAgW1wiYzA4MFwiLCBcIlxcdTdFQUVcXHU3RUI0XFx1N0VCQlxcdTdFQkNcXHU3RUQ2XFx1N0VFNFxcdTdFRUNcXHU3RUY5XFx1N0YwQVxcdTdGMTBcXHU3RjFFXFx1N0YzN1xcdTdGMzlcXHU3RjNCXCIsIDYsIFwiXFx1N0Y0M1xcdTdGNDZcIiwgOSwgXCJcXHU3RjUyXFx1N0Y1M1xcdTk5ODhcXHU2MTI3XFx1NkU4M1xcdTU3NjRcXHU2NjA2XFx1NjM0NlxcdTU2RjBcXHU2MkVDXFx1NjI2OVxcdTVFRDNcXHU5NjE0XFx1NTc4M1xcdTYyQzlcXHU1NTg3XFx1ODcyMVxcdTgxNEFcXHU4RkEzXFx1NTU2NlxcdTgzQjFcXHU2NzY1XFx1OEQ1NlxcdTg0RERcXHU1QTZBXFx1NjgwRlxcdTYyRTZcXHU3QkVFXFx1OTYxMVxcdTUxNzBcXHU2RjlDXFx1OEMzMFxcdTYzRkRcXHU4OUM4XFx1NjFEMlxcdTdGMDZcXHU3MEMyXFx1NkVFNVxcdTc0MDVcXHU2OTk0XFx1NzJGQ1xcdTVFQ0FcXHU5MENFXFx1NjcxN1xcdTZENkFcXHU2MzVFXFx1NTJCM1xcdTcyNjJcXHU4MDAxXFx1NEY2Q1xcdTU5RTVcXHU5MTZBXFx1NzBEOVxcdTZEOURcXHU1MkQyXFx1NEU1MFxcdTk2RjdcXHU5NTZEXFx1ODU3RVxcdTc4Q0FcXHU3RDJGXFx1NTEyMVxcdTU3OTJcXHU2NEMyXFx1ODA4QlxcdTdDN0JcXHU2Q0VBXFx1NjhGMVxcdTY5NUVcXHU1MUI3XFx1NTM5OFxcdTY4QThcXHU3MjgxXFx1OUVDRVxcdTdCRjFcXHU3MkY4XFx1NzlCQlxcdTZGMTNcXHU3NDA2XFx1Njc0RVxcdTkxQ0NcXHU5Q0E0XFx1NzkzQ1xcdTgzODlcXHU4MzU0XFx1NTQwRlxcdTY4MTdcXHU0RTNEXFx1NTM4OVxcdTUyQjFcXHU3ODNFXFx1NTM4NlxcdTUyMjlcXHU1MDg4XFx1NEY4QlxcdTRGRDBcIl0sXG4gICAgICBbXCJjMTQwXCIsIFwiXFx1N0Y1NlxcdTdGNTlcXHU3RjVCXFx1N0Y1Q1xcdTdGNURcXHU3RjVFXFx1N0Y2MFxcdTdGNjNcIiwgNCwgXCJcXHU3RjZCXFx1N0Y2Q1xcdTdGNkRcXHU3RjZGXFx1N0Y3MFxcdTdGNzNcXHU3Rjc1XFx1N0Y3NlxcdTdGNzdcXHU3Rjc4XFx1N0Y3QVxcdTdGN0JcXHU3RjdDXFx1N0Y3RFxcdTdGN0ZcXHU3RjgwXFx1N0Y4MlwiLCA3LCBcIlxcdTdGOEJcXHU3RjhEXFx1N0Y4RlwiLCA0LCBcIlxcdTdGOTVcIiwgNCwgXCJcXHU3RjlCXFx1N0Y5Q1xcdTdGQTBcXHU3RkEyXFx1N0ZBM1xcdTdGQTVcXHU3RkE2XFx1N0ZBOFwiLCA2LCBcIlxcdTdGQjFcIl0sXG4gICAgICBbXCJjMTgwXCIsIFwiXFx1N0ZCM1wiLCA0LCBcIlxcdTdGQkFcXHU3RkJCXFx1N0ZCRVxcdTdGQzBcXHU3RkMyXFx1N0ZDM1xcdTdGQzRcXHU3RkM2XFx1N0ZDN1xcdTdGQzhcXHU3RkM5XFx1N0ZDQlxcdTdGQ0RcXHU3RkNGXCIsIDQsIFwiXFx1N0ZENlxcdTdGRDdcXHU3RkQ5XCIsIDUsIFwiXFx1N0ZFMlxcdTdGRTNcXHU3NUUyXFx1N0FDQlxcdTdDOTJcXHU2Q0E1XFx1OTZCNlxcdTUyOUJcXHU3NDgzXFx1NTRFOVxcdTRGRTlcXHU4MDU0XFx1ODNCMlxcdThGREVcXHU5NTcwXFx1NUVDOVxcdTYwMUNcXHU2RDlGXFx1NUUxOFxcdTY1NUJcXHU4MTM4XFx1OTRGRVxcdTYwNEJcXHU3MEJDXFx1N0VDM1xcdTdDQUVcXHU1MUM5XFx1Njg4MVxcdTdDQjFcXHU4MjZGXFx1NEUyNFxcdThGODZcXHU5MUNGXFx1NjY3RVxcdTRFQUVcXHU4QzA1XFx1NjRBOVxcdTgwNEFcXHU1MERBXFx1NzU5N1xcdTcxQ0VcXHU1QkU1XFx1OEZCRFxcdTZGNjZcXHU0RTg2XFx1NjQ4MlxcdTk1NjNcXHU1RUQ2XFx1NjU5OVxcdTUyMTdcXHU4OEMyXFx1NzBDOFxcdTUyQTNcXHU3MzBFXFx1NzQzM1xcdTY3OTdcXHU3OEY3XFx1OTcxNlxcdTRFMzRcXHU5MEJCXFx1OUNERVxcdTZEQ0JcXHU1MURCXFx1OEQ0MVxcdTU0MURcXHU2MkNFXFx1NzNCMlxcdTgzRjFcXHU5NkY2XFx1OUY4NFxcdTk0QzNcXHU0RjM2XFx1N0Y5QVxcdTUxQ0NcXHU3MDc1XFx1OTY3NVxcdTVDQURcXHU5ODg2XFx1NTNFNlxcdTRFRTRcXHU2RTlDXFx1NzQwOVxcdTY5QjRcXHU3ODZCXFx1OTk4RlxcdTc1NTlcXHU1MjE4XFx1NzYyNFxcdTZENDFcXHU2N0YzXFx1NTE2RFxcdTlGOTlcXHU4MDRCXFx1NTQ5OVxcdTdCM0NcXHU3QUJGXCJdLFxuICAgICAgW1wiYzI0MFwiLCBcIlxcdTdGRTRcXHU3RkU3XFx1N0ZFOFxcdTdGRUFcXHU3RkVCXFx1N0ZFQ1xcdTdGRURcXHU3RkVGXFx1N0ZGMlxcdTdGRjRcIiwgNiwgXCJcXHU3RkZEXFx1N0ZGRVxcdTdGRkZcXHU4MDAyXFx1ODAwN1xcdTgwMDhcXHU4MDA5XFx1ODAwQVxcdTgwMEVcXHU4MDBGXFx1ODAxMVxcdTgwMTNcXHU4MDFBXFx1ODAxQlxcdTgwMURcXHU4MDFFXFx1ODAxRlxcdTgwMjFcXHU4MDIzXFx1ODAyNFxcdTgwMkJcIiwgNSwgXCJcXHU4MDMyXFx1ODAzNFxcdTgwMzlcXHU4MDNBXFx1ODAzQ1xcdTgwM0VcXHU4MDQwXFx1ODA0MVxcdTgwNDRcXHU4MDQ1XFx1ODA0N1xcdTgwNDhcXHU4MDQ5XFx1ODA0RVxcdTgwNEZcXHU4MDUwXFx1ODA1MVxcdTgwNTNcXHU4MDU1XFx1ODA1NlxcdTgwNTdcIl0sXG4gICAgICBbXCJjMjgwXCIsIFwiXFx1ODA1OVxcdTgwNUJcIiwgMTMsIFwiXFx1ODA2QlwiLCA1LCBcIlxcdTgwNzJcIiwgMTEsIFwiXFx1OTY4NlxcdTU3ODRcXHU2MkUyXFx1OTY0N1xcdTY5N0NcXHU1QTA0XFx1NjQwMlxcdTdCRDNcXHU2RjBGXFx1OTY0QlxcdTgyQTZcXHU1MzYyXFx1OTg4NVxcdTVFOTBcXHU3MDg5XFx1NjNCM1xcdTUzNjRcXHU4NjRGXFx1OUM4MVxcdTlFOTNcXHU3ODhDXFx1OTczMlxcdThERUZcXHU4RDQyXFx1OUU3RlxcdTZGNUVcXHU3OTg0XFx1NUY1NVxcdTk2NDZcXHU2MjJFXFx1OUE3NFxcdTU0MTVcXHU5NEREXFx1NEZBM1xcdTY1QzVcXHU1QzY1XFx1NUM2MVxcdTdGMTVcXHU4NjUxXFx1NkMyRlxcdTVGOEJcXHU3Mzg3XFx1NkVFNFxcdTdFRkZcXHU1Q0U2XFx1NjMxQlxcdTVCNkFcXHU2RUU2XFx1NTM3NVxcdTRFNzFcXHU2M0EwXFx1NzU2NVxcdTYyQTFcXHU4RjZFXFx1NEYyNlxcdTRFRDFcXHU2Q0E2XFx1N0VCNlxcdThCQkFcXHU4NDFEXFx1ODdCQVxcdTdGNTdcXHU5MDNCXFx1OTUyM1xcdTdCQTlcXHU5QUExXFx1ODhGOFxcdTg0M0RcXHU2RDFCXFx1OUE4NlxcdTdFRENcXHU1OTg4XFx1OUVCQlxcdTczOUJcXHU3ODAxXFx1ODY4MlxcdTlBNkNcXHU5QTgyXFx1NTYxQlxcdTU0MTdcXHU1N0NCXFx1NEU3MFxcdTlFQTZcXHU1MzU2XFx1OEZDOFxcdTgxMDlcXHU3NzkyXFx1OTk5MlxcdTg2RUVcXHU2RUUxXFx1ODUxM1xcdTY2RkNcXHU2MTYyXFx1NkYyQlwiXSxcbiAgICAgIFtcImMzNDBcIiwgXCJcXHU4MDdFXFx1ODA4MVxcdTgwODJcXHU4MDg1XFx1ODA4OFxcdTgwOEFcXHU4MDhEXCIsIDUsIFwiXFx1ODA5NFxcdTgwOTVcXHU4MDk3XFx1ODA5OVxcdTgwOUVcXHU4MEEzXFx1ODBBNlxcdTgwQTdcXHU4MEE4XFx1ODBBQ1xcdTgwQjBcXHU4MEIzXFx1ODBCNVxcdTgwQjZcXHU4MEI4XFx1ODBCOVxcdTgwQkJcXHU4MEM1XFx1ODBDN1wiLCA0LCBcIlxcdTgwQ0ZcIiwgNiwgXCJcXHU4MEQ4XFx1ODBERlxcdTgwRTBcXHU4MEUyXFx1ODBFM1xcdTgwRTZcXHU4MEVFXFx1ODBGNVxcdTgwRjdcXHU4MEY5XFx1ODBGQlxcdTgwRkVcXHU4MEZGXFx1ODEwMFxcdTgxMDFcXHU4MTAzXFx1ODEwNFxcdTgxMDVcXHU4MTA3XFx1ODEwOFxcdTgxMEJcIl0sXG4gICAgICBbXCJjMzgwXCIsIFwiXFx1ODEwQ1xcdTgxMTVcXHU4MTE3XFx1ODExOVxcdTgxMUJcXHU4MTFDXFx1ODExRFxcdTgxMUZcIiwgMTIsIFwiXFx1ODEyRFxcdTgxMkVcXHU4MTMwXFx1ODEzM1xcdTgxMzRcXHU4MTM1XFx1ODEzN1xcdTgxMzlcIiwgNCwgXCJcXHU4MTNGXFx1OEMyOVxcdTgyOTJcXHU4MzJCXFx1NzZGMlxcdTZDMTNcXHU1RkQ5XFx1ODNCRFxcdTczMkJcXHU4MzA1XFx1OTUxQVxcdTZCREJcXHU3N0RCXFx1OTRDNlxcdTUzNkZcXHU4MzAyXFx1NTE5MlxcdTVFM0RcXHU4QzhDXFx1OEQzOFxcdTRFNDhcXHU3M0FCXFx1Njc5QVxcdTY4ODVcXHU5MTc2XFx1OTcwOVxcdTcxNjRcXHU2Q0ExXFx1NzcwOVxcdTVBOTJcXHU5NTQxXFx1NkJDRlxcdTdGOEVcXHU2NjI3XFx1NUJEMFxcdTU5QjlcXHU1QTlBXFx1OTVFOFxcdTk1RjdcXHU0RUVDXFx1ODQwQ1xcdTg0OTlcXHU2QUFDXFx1NzZERlxcdTk1MzBcXHU3MzFCXFx1NjhBNlxcdTVCNUZcXHU3NzJGXFx1OTE5QVxcdTk3NjFcXHU3Q0RDXFx1OEZGN1xcdThDMUNcXHU1RjI1XFx1N0M3M1xcdTc5RDhcXHU4OUM1XFx1NkNDQ1xcdTg3MUNcXHU1QkM2XFx1NUU0MlxcdTY4QzlcXHU3NzIwXFx1N0VGNVxcdTUxOTVcXHU1MTREXFx1NTJDOVxcdTVBMjlcXHU3RjA1XFx1OTc2MlxcdTgyRDdcXHU2M0NGXFx1Nzc4NFxcdTg1RDBcXHU3OUQyXFx1NkUzQVxcdTVFOTlcXHU1OTk5XFx1ODUxMVxcdTcwNkRcXHU2QzExXFx1NjJCRlxcdTc2QkZcXHU2NTRGXFx1NjBBRlxcdTk1RkRcXHU2NjBFXFx1ODc5RlxcdTlFMjNcXHU5NEVEXFx1NTQwRFxcdTU0N0RcXHU4QzJDXFx1NjQ3OFwiXSxcbiAgICAgIFtcImM0NDBcIiwgXCJcXHU4MTQwXCIsIDUsIFwiXFx1ODE0N1xcdTgxNDlcXHU4MTREXFx1ODE0RVxcdTgxNEZcXHU4MTUyXFx1ODE1NlxcdTgxNTdcXHU4MTU4XFx1ODE1QlwiLCA0LCBcIlxcdTgxNjFcXHU4MTYyXFx1ODE2M1xcdTgxNjRcXHU4MTY2XFx1ODE2OFxcdTgxNkFcXHU4MTZCXFx1ODE2Q1xcdTgxNkZcXHU4MTcyXFx1ODE3M1xcdTgxNzVcXHU4MTc2XFx1ODE3N1xcdTgxNzhcXHU4MTgxXFx1ODE4M1wiLCA0LCBcIlxcdTgxODlcXHU4MThCXFx1ODE4Q1xcdTgxOERcXHU4MThFXFx1ODE5MFxcdTgxOTJcIiwgNSwgXCJcXHU4MTk5XFx1ODE5QVxcdTgxOUVcIiwgNCwgXCJcXHU4MUE0XFx1ODFBNVwiXSxcbiAgICAgIFtcImM0ODBcIiwgXCJcXHU4MUE3XFx1ODFBOVxcdTgxQUJcIiwgNywgXCJcXHU4MUI0XCIsIDUsIFwiXFx1ODFCQ1xcdTgxQkRcXHU4MUJFXFx1ODFCRlxcdTgxQzRcXHU4MUM1XFx1ODFDN1xcdTgxQzhcXHU4MUM5XFx1ODFDQlxcdTgxQ0RcIiwgNiwgXCJcXHU2NDc5XFx1ODYxMVxcdTZBMjFcXHU4MTlDXFx1NzhFOFxcdTY0NjlcXHU5QjU0XFx1NjJCOVxcdTY3MkJcXHU4M0FCXFx1NThBOFxcdTlFRDhcXHU2Q0FCXFx1NkYyMFxcdTVCREVcXHU5NjRDXFx1OEMwQlxcdTcyNUZcXHU2N0QwXFx1NjJDN1xcdTcyNjFcXHU0RUE5XFx1NTlDNlxcdTZCQ0RcXHU1ODkzXFx1NjZBRVxcdTVFNTVcXHU1MkRGXFx1NjE1NVxcdTY3MjhcXHU3NkVFXFx1Nzc2NlxcdTcyNjdcXHU3QTQ2XFx1NjJGRlxcdTU0RUFcXHU1NDUwXFx1OTRBMFxcdTkwQTNcXHU1QTFDXFx1N0VCM1xcdTZDMTZcXHU0RTQzXFx1NTk3NlxcdTgwMTBcXHU1OTQ4XFx1NTM1N1xcdTc1MzdcXHU5NkJFXFx1NTZDQVxcdTYzMjBcXHU4MTExXFx1NjA3Q1xcdTk1RjlcXHU2REQ2XFx1NTQ2MlxcdTk5ODFcXHU1MTg1XFx1NUFFOVxcdTgwRkRcXHU1OUFFXFx1OTcxM1xcdTUwMkFcXHU2Q0U1XFx1NUMzQ1xcdTYyREZcXHU0RjYwXFx1NTMzRlxcdTgxN0JcXHU5MDA2XFx1NkVCQVxcdTg1MkJcXHU2MkM4XFx1NUU3NFxcdTc4QkVcXHU2NEI1XFx1NjM3QlxcdTVGRjVcXHU1QTE4XFx1OTE3RlxcdTlFMUZcXHU1QzNGXFx1NjM0RlxcdTgwNDJcXHU1QjdEXFx1NTU2RVxcdTk1NEFcXHU5NTREXFx1NkQ4NVxcdTYwQThcXHU2N0UwXFx1NzJERVxcdTUxRERcXHU1QjgxXCJdLFxuICAgICAgW1wiYzU0MFwiLCBcIlxcdTgxRDRcIiwgMTQsIFwiXFx1ODFFNFxcdTgxRTVcXHU4MUU2XFx1ODFFOFxcdTgxRTlcXHU4MUVCXFx1ODFFRVwiLCA0LCBcIlxcdTgxRjVcIiwgNSwgXCJcXHU4MUZEXFx1ODFGRlxcdTgyMDNcXHU4MjA3XCIsIDQsIFwiXFx1ODIwRVxcdTgyMEZcXHU4MjExXFx1ODIxM1xcdTgyMTVcIiwgNSwgXCJcXHU4MjFEXFx1ODIyMFxcdTgyMjRcXHU4MjI1XFx1ODIyNlxcdTgyMjdcXHU4MjI5XFx1ODIyRVxcdTgyMzJcXHU4MjNBXFx1ODIzQ1xcdTgyM0RcXHU4MjNGXCJdLFxuICAgICAgW1wiYzU4MFwiLCBcIlxcdTgyNDBcXHU4MjQxXFx1ODI0MlxcdTgyNDNcXHU4MjQ1XFx1ODI0NlxcdTgyNDhcXHU4MjRBXFx1ODI0Q1xcdTgyNERcXHU4MjRFXFx1ODI1MFwiLCA3LCBcIlxcdTgyNTlcXHU4MjVCXFx1ODI1Q1xcdTgyNURcXHU4MjVFXFx1ODI2MFwiLCA3LCBcIlxcdTgyNjlcXHU2MkU3XFx1NkNERVxcdTcyNUJcXHU2MjZEXFx1OTRBRVxcdTdFQkRcXHU4MTEzXFx1NkQ1M1xcdTUxOUNcXHU1RjA0XFx1NTk3NFxcdTUyQUFcXHU2MDEyXFx1NTk3M1xcdTY2OTZcXHU4NjUwXFx1NzU5RlxcdTYzMkFcXHU2MUU2XFx1N0NFRlxcdThCRkFcXHU1NEU2XFx1NkIyN1xcdTlFMjVcXHU2QkI0XFx1ODVENVxcdTU0NTVcXHU1MDc2XFx1NkNBNFxcdTU1NkFcXHU4REI0XFx1NzIyQ1xcdTVFMTVcXHU2MDE1XFx1NzQzNlxcdTYyQ0RcXHU2MzkyXFx1NzI0Q1xcdTVGOThcXHU2RTQzXFx1NkQzRVxcdTY1MDBcXHU2RjU4XFx1NzZEOFxcdTc4RDBcXHU3NkZDXFx1NzU1NFxcdTUyMjRcXHU1M0RCXFx1NEU1M1xcdTVFOUVcXHU2NUMxXFx1ODAyQVxcdTgwRDZcXHU2MjlCXFx1NTQ4NlxcdTUyMjhcXHU3MEFFXFx1ODg4RFxcdThERDFcXHU2Q0UxXFx1NTQ3OFxcdTgwREFcXHU1N0Y5XFx1ODhGNFxcdThENTRcXHU5NjZBXFx1OTE0RFxcdTRGNjlcXHU2QzlCXFx1NTVCN1xcdTc2QzZcXHU3ODMwXFx1NjJBOFxcdTcwRjlcXHU2RjhFXFx1NUY2RFxcdTg0RUNcXHU2OERBXFx1Nzg3Q1xcdTdCRjdcXHU4MUE4XFx1NjcwQlxcdTlFNEZcXHU2MzY3XFx1NzhCMFxcdTU3NkZcXHU3ODEyXFx1OTczOVxcdTYyNzlcXHU2MkFCXFx1NTI4OFxcdTc0MzVcXHU2QkQ3XCJdLFxuICAgICAgW1wiYzY0MFwiLCBcIlxcdTgyNkFcXHU4MjZCXFx1ODI2Q1xcdTgyNkRcXHU4MjcxXFx1ODI3NVxcdTgyNzZcXHU4Mjc3XFx1ODI3OFxcdTgyN0JcXHU4MjdDXFx1ODI4MFxcdTgyODFcXHU4MjgzXFx1ODI4NVxcdTgyODZcXHU4Mjg3XFx1ODI4OVxcdTgyOENcXHU4MjkwXFx1ODI5M1xcdTgyOTRcXHU4Mjk1XFx1ODI5NlxcdTgyOUFcXHU4MjlCXFx1ODI5RVxcdTgyQTBcXHU4MkEyXFx1ODJBM1xcdTgyQTdcXHU4MkIyXFx1ODJCNVxcdTgyQjZcXHU4MkJBXFx1ODJCQlxcdTgyQkNcXHU4MkJGXFx1ODJDMFxcdTgyQzJcXHU4MkMzXFx1ODJDNVxcdTgyQzZcXHU4MkM5XFx1ODJEMFxcdTgyRDZcXHU4MkQ5XFx1ODJEQVxcdTgyRERcXHU4MkUyXFx1ODJFN1xcdTgyRThcXHU4MkU5XFx1ODJFQVxcdTgyRUNcXHU4MkVEXFx1ODJFRVxcdTgyRjBcXHU4MkYyXFx1ODJGM1xcdTgyRjVcXHU4MkY2XFx1ODJGOFwiXSxcbiAgICAgIFtcImM2ODBcIiwgXCJcXHU4MkZBXFx1ODJGQ1wiLCA0LCBcIlxcdTgzMEFcXHU4MzBCXFx1ODMwRFxcdTgzMTBcXHU4MzEyXFx1ODMxM1xcdTgzMTZcXHU4MzE4XFx1ODMxOVxcdTgzMURcIiwgOSwgXCJcXHU4MzI5XFx1ODMyQVxcdTgzMkVcXHU4MzMwXFx1ODMzMlxcdTgzMzdcXHU4MzNCXFx1ODMzRFxcdTU1NjRcXHU4MTNFXFx1NzVCMlxcdTc2QUVcXHU1MzM5XFx1NzVERVxcdTUwRkJcXHU1QzQxXFx1OEI2Q1xcdTdCQzdcXHU1MDRGXFx1NzI0N1xcdTlBOTdcXHU5OEQ4XFx1NkYwMlxcdTc0RTJcXHU3OTY4XFx1NjQ4N1xcdTc3QTVcXHU2MkZDXFx1OTg5MVxcdThEMkJcXHU1NEMxXFx1ODA1OFxcdTRFNTJcXHU1NzZBXFx1ODJGOVxcdTg0MERcXHU1RTczXFx1NTFFRFxcdTc0RjZcXHU4QkM0XFx1NUM0RlxcdTU3NjFcXHU2Q0ZDXFx1OTg4N1xcdTVBNDZcXHU3ODM0XFx1OUI0NFxcdThGRUJcXHU3Qzk1XFx1NTI1NlxcdTYyNTFcXHU5NEZBXFx1NEVDNlxcdTgzODZcXHU4NDYxXFx1ODNFOVxcdTg0QjJcXHU1N0Q0XFx1NjczNFxcdTU3MDNcXHU2NjZFXFx1NkQ2NlxcdThDMzFcXHU2NkREXFx1NzAxMVxcdTY3MUZcXHU2QjNBXFx1NjgxNlxcdTYyMUFcXHU1OUJCXFx1NEUwM1xcdTUxQzRcXHU2RjA2XFx1NjdEMlxcdTZDOEZcXHU1MTc2XFx1NjhDQlxcdTU5NDdcXHU2QjY3XFx1NzU2NlxcdTVEMEVcXHU4MTEwXFx1OUY1MFxcdTY1RDdcXHU3OTQ4XFx1Nzk0MVxcdTlBOTFcXHU4RDc3XFx1NUM4MlxcdTRFNUVcXHU0RjAxXFx1NTQyRlxcdTU5NTFcXHU3ODBDXFx1NTY2OFxcdTZDMTRcXHU4RkM0XFx1NUYwM1xcdTZDN0RcXHU2Q0UzXFx1OEJBQlxcdTYzOTBcIl0sXG4gICAgICBbXCJjNzQwXCIsIFwiXFx1ODMzRVxcdTgzM0ZcXHU4MzQxXFx1ODM0MlxcdTgzNDRcXHU4MzQ1XFx1ODM0OFxcdTgzNEFcIiwgNCwgXCJcXHU4MzUzXFx1ODM1NVwiLCA0LCBcIlxcdTgzNURcXHU4MzYyXFx1ODM3MFwiLCA2LCBcIlxcdTgzNzlcXHU4MzdBXFx1ODM3RVwiLCA2LCBcIlxcdTgzODdcXHU4Mzg4XFx1ODM4QVxcdTgzOEJcXHU4MzhDXFx1ODM4RFxcdTgzOEZcXHU4MzkwXFx1ODM5MVxcdTgzOTRcXHU4Mzk1XFx1ODM5NlxcdTgzOTdcXHU4Mzk5XFx1ODM5QVxcdTgzOURcXHU4MzlGXFx1ODNBMVwiLCA2LCBcIlxcdTgzQUNcXHU4M0FEXFx1ODNBRVwiXSxcbiAgICAgIFtcImM3ODBcIiwgXCJcXHU4M0FGXFx1ODNCNVxcdTgzQkJcXHU4M0JFXFx1ODNCRlxcdTgzQzJcXHU4M0MzXFx1ODNDNFxcdTgzQzZcXHU4M0M4XFx1ODNDOVxcdTgzQ0JcXHU4M0NEXFx1ODNDRVxcdTgzRDBcXHU4M0QxXFx1ODNEMlxcdTgzRDNcXHU4M0Q1XFx1ODNEN1xcdTgzRDlcXHU4M0RBXFx1ODNEQlxcdTgzREVcXHU4M0UyXFx1ODNFM1xcdTgzRTRcXHU4M0U2XFx1ODNFN1xcdTgzRThcXHU4M0VCXFx1ODNFQ1xcdTgzRURcXHU2MDcwXFx1NkQzRFxcdTcyNzVcXHU2MjY2XFx1OTQ4RVxcdTk0QzVcXHU1MzQzXFx1OEZDMVxcdTdCN0VcXHU0RURGXFx1OEMyNlxcdTRFN0VcXHU5RUQ0XFx1OTRCMVxcdTk0QjNcXHU1MjREXFx1NkY1Q1xcdTkwNjNcXHU2RDQ1XFx1OEMzNFxcdTU4MTFcXHU1RDRDXFx1NkIyMFxcdTZCNDlcXHU2N0FBXFx1NTQ1QlxcdTgxNTRcXHU3RjhDXFx1NTg5OVxcdTg1MzdcXHU1RjNBXFx1NjJBMlxcdTZBNDdcXHU5NTM5XFx1NjU3MlxcdTYwODRcXHU2ODY1XFx1NzdBN1xcdTRFNTRcXHU0RkE4XFx1NURFN1xcdTk3OThcXHU2NEFDXFx1N0ZEOFxcdTVDRURcXHU0RkNGXFx1N0E4RFxcdTUyMDdcXHU4MzA0XFx1NEUxNFxcdTYwMkZcXHU3QTgzXFx1OTRBNlxcdTRGQjVcXHU0RUIyXFx1NzlFNlxcdTc0MzRcXHU1MkU0XFx1ODJCOVxcdTY0RDJcXHU3OUJEXFx1NUJERFxcdTZDODFcXHU5NzUyXFx1OEY3QlxcdTZDMjJcXHU1MDNFXFx1NTM3RlxcdTZFMDVcXHU2NENFXFx1NjY3NFxcdTZDMzBcXHU2MEM1XFx1OTg3N1xcdThCRjdcXHU1RTg2XFx1NzQzQ1xcdTdBNzdcXHU3OUNCXFx1NEUxOFxcdTkwQjFcXHU3NDAzXFx1NkM0MlxcdTU2REFcXHU5MTRCXFx1NkNDNVxcdThEOEJcXHU1MzNBXFx1ODZDNlxcdTY2RjJcXHU4RUFGXFx1NUM0OFxcdTlBNzFcXHU2RTIwXCJdLFxuICAgICAgW1wiYzg0MFwiLCBcIlxcdTgzRUVcXHU4M0VGXFx1ODNGM1wiLCA0LCBcIlxcdTgzRkFcXHU4M0ZCXFx1ODNGQ1xcdTgzRkVcXHU4M0ZGXFx1ODQwMFxcdTg0MDJcXHU4NDA1XFx1ODQwN1xcdTg0MDhcXHU4NDA5XFx1ODQwQVxcdTg0MTBcXHU4NDEyXCIsIDUsIFwiXFx1ODQxOVxcdTg0MUFcXHU4NDFCXFx1ODQxRVwiLCA1LCBcIlxcdTg0MjlcIiwgNywgXCJcXHU4NDMyXCIsIDUsIFwiXFx1ODQzOVxcdTg0M0FcXHU4NDNCXFx1ODQzRVwiLCA3LCBcIlxcdTg0NDdcXHU4NDQ4XFx1ODQ0OVwiXSxcbiAgICAgIFtcImM4ODBcIiwgXCJcXHU4NDRBXCIsIDYsIFwiXFx1ODQ1MlwiLCA0LCBcIlxcdTg0NThcXHU4NDVEXFx1ODQ1RVxcdTg0NUZcXHU4NDYwXFx1ODQ2MlxcdTg0NjRcIiwgNCwgXCJcXHU4NDZBXFx1ODQ2RVxcdTg0NkZcXHU4NDcwXFx1ODQ3MlxcdTg0NzRcXHU4NDc3XFx1ODQ3OVxcdTg0N0JcXHU4NDdDXFx1NTNENlxcdTVBMzZcXHU5RjhCXFx1OERBM1xcdTUzQkJcXHU1NzA4XFx1OThBN1xcdTY3NDNcXHU5MTlCXFx1NkNDOVxcdTUxNjhcXHU3NUNBXFx1NjJGM1xcdTcyQUNcXHU1MjM4XFx1NTI5RFxcdTdGM0FcXHU3MDk0XFx1NzYzOFxcdTUzNzRcXHU5RTRBXFx1NjlCN1xcdTc4NkVcXHU5NkMwXFx1ODhEOVxcdTdGQTRcXHU3MTM2XFx1NzFDM1xcdTUxODlcXHU2N0QzXFx1NzRFNFxcdTU4RTRcXHU2NTE4XFx1NTZCN1xcdThCQTlcXHU5OTc2XFx1NjI3MFxcdTdFRDVcXHU2MEY5XFx1NzBFRFxcdTU4RUNcXHU0RUMxXFx1NEVCQVxcdTVGQ0RcXHU5N0U3XFx1NEVGQlxcdThCQTRcXHU1MjAzXFx1NTk4QVxcdTdFQUJcXHU2MjU0XFx1NEVDRFxcdTY1RTVcXHU2MjBFXFx1ODMzOFxcdTg0QzlcXHU4MzYzXFx1ODc4RFxcdTcxOTRcXHU2RUI2XFx1NUJCOVxcdTdFRDJcXHU1MTk3XFx1NjNDOVxcdTY3RDRcXHU4MDg5XFx1ODMzOVxcdTg4MTVcXHU1MTEyXFx1NUI3QVxcdTU5ODJcXHU4RkIxXFx1NEU3M1xcdTZDNURcXHU1MTY1XFx1ODkyNVxcdThGNkZcXHU5NjJFXFx1ODU0QVxcdTc0NUVcXHU5NTEwXFx1OTVGMFxcdTZEQTZcXHU4MkU1XFx1NUYzMVxcdTY0OTJcXHU2RDEyXFx1ODQyOFxcdTgxNkVcXHU5Q0MzXFx1NTg1RVxcdThENUJcXHU0RTA5XFx1NTNDMVwiXSxcbiAgICAgIFtcImM5NDBcIiwgXCJcXHU4NDdEXCIsIDQsIFwiXFx1ODQ4M1xcdTg0ODRcXHU4NDg1XFx1ODQ4NlxcdTg0OEFcXHU4NDhEXFx1ODQ4RlwiLCA3LCBcIlxcdTg0OThcXHU4NDlBXFx1ODQ5QlxcdTg0OURcXHU4NDlFXFx1ODQ5RlxcdTg0QTBcXHU4NEEyXCIsIDEyLCBcIlxcdTg0QjBcXHU4NEIxXFx1ODRCM1xcdTg0QjVcXHU4NEI2XFx1ODRCN1xcdTg0QkJcXHU4NEJDXFx1ODRCRVxcdTg0QzBcXHU4NEMyXFx1ODRDM1xcdTg0QzVcXHU4NEM2XFx1ODRDN1xcdTg0QzhcXHU4NENCXFx1ODRDQ1xcdTg0Q0VcXHU4NENGXFx1ODREMlxcdTg0RDRcXHU4NEQ1XFx1ODREN1wiXSxcbiAgICAgIFtcImM5ODBcIiwgXCJcXHU4NEQ4XCIsIDQsIFwiXFx1ODRERVxcdTg0RTFcXHU4NEUyXFx1ODRFNFxcdTg0RTdcIiwgNCwgXCJcXHU4NEVEXFx1ODRFRVxcdTg0RUZcXHU4NEYxXCIsIDEwLCBcIlxcdTg0RkRcXHU4NEZFXFx1ODUwMFxcdTg1MDFcXHU4NTAyXFx1NEYxRVxcdTY1NjNcXHU2ODUxXFx1NTVEM1xcdTRFMjdcXHU2NDE0XFx1OUE5QVxcdTYyNkJcXHU1QUMyXFx1NzQ1RlxcdTgyNzJcXHU2REE5XFx1NjhFRVxcdTUwRTdcXHU4MzhFXFx1NzgwMlxcdTY3NDBcXHU1MjM5XFx1NkM5OVxcdTdFQjFcXHU1MEJCXFx1NTU2NVxcdTcxNUVcXHU3QjVCXFx1NjY1MlxcdTczQ0FcXHU4MkVCXFx1Njc0OVxcdTVDNzFcXHU1MjIwXFx1NzE3RFxcdTg4NkJcXHU5NUVBXFx1OTY1NVxcdTY0QzVcXHU4RDYxXFx1ODFCM1xcdTU1ODRcXHU2QzU1XFx1NjI0N1xcdTdGMkVcXHU1ODkyXFx1NEYyNFxcdTU1NDZcXHU4RDRGXFx1NjY0Q1xcdTRFMEFcXHU1QzFBXFx1ODhGM1xcdTY4QTJcXHU2MzRFXFx1N0EwRFxcdTcwRTdcXHU4MjhEXFx1NTJGQVxcdTk3RjZcXHU1QzExXFx1NTRFOFxcdTkwQjVcXHU3RUNEXFx1NTk2MlxcdThENEFcXHU4NkM3XFx1ODIwQ1xcdTgyMERcXHU4RDY2XFx1NjQ0NFxcdTVDMDRcXHU2MTUxXFx1NkQ4OVxcdTc5M0VcXHU4QkJFXFx1NzgzN1xcdTc1MzNcXHU1NDdCXFx1NEYzOFxcdThFQUJcXHU2REYxXFx1NUEyMFxcdTdFQzVcXHU3OTVFXFx1NkM4OFxcdTVCQTFcXHU1QTc2XFx1NzUxQVxcdTgwQkVcXHU2MTRFXFx1NkUxN1xcdTU4RjBcXHU3NTFGXFx1NzUyNVxcdTcyNzJcXHU1MzQ3XFx1N0VGM1wiXSxcbiAgICAgIFtcImNhNDBcIiwgXCJcXHU4NTAzXCIsIDgsIFwiXFx1ODUwRFxcdTg1MEVcXHU4NTBGXFx1ODUxMFxcdTg1MTJcXHU4NTE0XFx1ODUxNVxcdTg1MTZcXHU4NTE4XFx1ODUxOVxcdTg1MUJcXHU4NTFDXFx1ODUxRFxcdTg1MUVcXHU4NTIwXFx1ODUyMlwiLCA4LCBcIlxcdTg1MkRcIiwgOSwgXCJcXHU4NTNFXCIsIDQsIFwiXFx1ODU0NFxcdTg1NDVcXHU4NTQ2XFx1ODU0N1xcdTg1NEJcIiwgMTBdLFxuICAgICAgW1wiY2E4MFwiLCBcIlxcdTg1NTdcXHU4NTU4XFx1ODU1QVxcdTg1NUJcXHU4NTVDXFx1ODU1RFxcdTg1NUZcIiwgNCwgXCJcXHU4NTY1XFx1ODU2NlxcdTg1NjdcXHU4NTY5XCIsIDgsIFwiXFx1ODU3M1xcdTg1NzVcXHU4NTc2XFx1ODU3N1xcdTg1NzhcXHU4NTdDXFx1ODU3RFxcdTg1N0ZcXHU4NTgwXFx1ODU4MVxcdTc3MDFcXHU3NkRCXFx1NTI2OVxcdTgwRENcXHU1NzIzXFx1NUUwOFxcdTU5MzFcXHU3MkVFXFx1NjVCRFxcdTZFN0ZcXHU4QkQ3XFx1NUMzOFxcdTg2NzFcXHU1MzQxXFx1NzdGM1xcdTYyRkVcXHU2NUY2XFx1NEVDMFxcdTk4REZcXHU4NjgwXFx1NUI5RVxcdThCQzZcXHU1M0YyXFx1NzdFMlxcdTRGN0ZcXHU1QzRFXFx1OUE3NlxcdTU5Q0JcXHU1RjBGXFx1NzkzQVxcdTU4RUJcXHU0RTE2XFx1NjdGRlxcdTRFOEJcXHU2MkVEXFx1OEE5M1xcdTkwMURcXHU1MkJGXFx1NjYyRlxcdTU1RENcXHU1NjZDXFx1OTAwMlxcdTRFRDVcXHU0RjhEXFx1OTFDQVxcdTk5NzBcXHU2QzBGXFx1NUUwMlxcdTYwNDNcXHU1QkE0XFx1ODlDNlxcdThCRDVcXHU2NTM2XFx1NjI0QlxcdTk5OTZcXHU1Qjg4XFx1NUJGRlxcdTYzODhcXHU1NTJFXFx1NTNEN1xcdTc2MjZcXHU1MTdEXFx1ODUyQ1xcdTY3QTJcXHU2OEIzXFx1NkI4QVxcdTYyOTJcXHU4RjkzXFx1NTNENFxcdTgyMTJcXHU2REQxXFx1NzU4RlxcdTRFNjZcXHU4RDRFXFx1NUI3MFxcdTcxOUZcXHU4NUFGXFx1NjY5MVxcdTY2RDlcXHU3RjcyXFx1ODcwMFxcdTlFQ0RcXHU5RjIwXFx1NUM1RVxcdTY3MkZcXHU4RkYwXFx1NjgxMVxcdTY3NUZcXHU2MjBEXFx1N0FENlxcdTU4ODVcXHU1RUI2XFx1NjU3MFxcdTZGMzFcIl0sXG4gICAgICBbXCJjYjQwXCIsIFwiXFx1ODU4MlxcdTg1ODNcXHU4NTg2XFx1ODU4OFwiLCA2LCBcIlxcdTg1OTBcIiwgMTAsIFwiXFx1ODU5RFwiLCA2LCBcIlxcdTg1QTVcXHU4NUE2XFx1ODVBN1xcdTg1QTlcXHU4NUFCXFx1ODVBQ1xcdTg1QURcXHU4NUIxXCIsIDUsIFwiXFx1ODVCOFxcdTg1QkFcIiwgNiwgXCJcXHU4NUMyXCIsIDYsIFwiXFx1ODVDQVwiLCA0LCBcIlxcdTg1RDFcXHU4NUQyXCJdLFxuICAgICAgW1wiY2I4MFwiLCBcIlxcdTg1RDRcXHU4NUQ2XCIsIDUsIFwiXFx1ODVERFwiLCA2LCBcIlxcdTg1RTVcXHU4NUU2XFx1ODVFN1xcdTg1RThcXHU4NUVBXCIsIDE0LCBcIlxcdTYwNTVcXHU1MjM3XFx1ODAwRFxcdTY0NTRcXHU4ODcwXFx1NzUyOVxcdTVFMDVcXHU2ODEzXFx1NjJGNFxcdTk3MUNcXHU1M0NDXFx1NzIzRFxcdThDMDFcXHU2QzM0XFx1Nzc2MVxcdTdBMEVcXHU1NDJFXFx1NzdBQ1xcdTk4N0FcXHU4MjFDXFx1OEJGNFxcdTc4NTVcXHU2NzE0XFx1NzBDMVxcdTY1QUZcXHU2NDk1XFx1NTYzNlxcdTYwMURcXHU3OUMxXFx1NTNGOFxcdTRFMURcXHU2QjdCXFx1ODA4NlxcdTVCRkFcXHU1NUUzXFx1NTZEQlxcdTRGM0FcXHU0RjNDXFx1OTk3MlxcdTVERjNcXHU2NzdFXFx1ODAzOFxcdTYwMDJcXHU5ODgyXFx1OTAwMVxcdTVCOEJcXHU4QkJDXFx1OEJGNVxcdTY0MUNcXHU4MjU4XFx1NjRERVxcdTU1RkRcXHU4MkNGXFx1OTE2NVxcdTRGRDdcXHU3RDIwXFx1OTAxRlxcdTdDOUZcXHU1MEYzXFx1NTg1MVxcdTZFQUZcXHU1QkJGXFx1OEJDOVxcdTgwODNcXHU5MTc4XFx1ODQ5Q1xcdTdCOTdcXHU4NjdEXFx1OTY4QlxcdTk2OEZcXHU3RUU1XFx1OUFEM1xcdTc4OEVcXHU1QzgxXFx1N0E1N1xcdTkwNDJcXHU5NkE3XFx1Nzk1RlxcdTVCNTlcXHU2MzVGXFx1N0IwQlxcdTg0RDFcXHU2OEFEXFx1NTUwNlxcdTdGMjlcXHU3NDEwXFx1N0QyMlxcdTk1MDFcXHU2MjQwXFx1NTg0Q1xcdTRFRDZcXHU1QjgzXFx1NTk3OVxcdTU4NTRcIl0sXG4gICAgICBbXCJjYzQwXCIsIFwiXFx1ODVGOVxcdTg1RkFcXHU4NUZDXFx1ODVGRFxcdTg1RkVcXHU4NjAwXCIsIDQsIFwiXFx1ODYwNlwiLCAxMCwgXCJcXHU4NjEyXFx1ODYxM1xcdTg2MTRcXHU4NjE1XFx1ODYxN1wiLCAxNSwgXCJcXHU4NjI4XFx1ODYyQVwiLCAxMywgXCJcXHU4NjM5XFx1ODYzQVxcdTg2M0JcXHU4NjNEXFx1ODYzRVxcdTg2M0ZcXHU4NjQwXCJdLFxuICAgICAgW1wiY2M4MFwiLCBcIlxcdTg2NDFcIiwgMTEsIFwiXFx1ODY1MlxcdTg2NTNcXHU4NjU1XCIsIDQsIFwiXFx1ODY1QlxcdTg2NUNcXHU4NjVEXFx1ODY1RlxcdTg2NjBcXHU4NjYxXFx1ODY2M1wiLCA3LCBcIlxcdTczNkRcXHU2MzFFXFx1OEU0QlxcdThFMEZcXHU4MENFXFx1ODJENFxcdTYyQUNcXHU1M0YwXFx1NkNGMFxcdTkxNUVcXHU1OTJBXFx1NjAwMVxcdTZDNzBcXHU1NzREXFx1NjQ0QVxcdThEMkFcXHU3NjJCXFx1NkVFOVxcdTU3NUJcXHU2QTgwXFx1NzVGMFxcdTZGNkRcXHU4QzJEXFx1OEMwOFxcdTU3NjZcXHU2QkVGXFx1ODg5MlxcdTc4QjNcXHU2M0EyXFx1NTNGOVxcdTcwQURcXHU2QzY0XFx1NTg1OFxcdTY0MkFcXHU1ODAyXFx1NjhFMFxcdTgxOUJcXHU1NTEwXFx1N0NENlxcdTUwMThcXHU4RUJBXFx1NkRDQ1xcdThEOUZcXHU3MEVCXFx1NjM4RlxcdTZEOUJcXHU2RUQ0XFx1N0VFNlxcdTg0MDRcXHU2ODQzXFx1OTAwM1xcdTZERDhcXHU5Njc2XFx1OEJBOFxcdTU5NTdcXHU3Mjc5XFx1ODVFNFxcdTgxN0VcXHU3NUJDXFx1OEE4QVxcdTY4QUZcXHU1MjU0XFx1OEUyMlxcdTk1MTFcXHU2M0QwXFx1OTg5OFxcdThFNDRcXHU1NTdDXFx1NEY1M1xcdTY2RkZcXHU1NjhGXFx1NjBENVxcdTZEOTVcXHU1MjQzXFx1NUM0OVxcdTU5MjlcXHU2REZCXFx1NTg2QlxcdTc1MzBcXHU3NTFDXFx1NjA2Q1xcdTgyMTRcXHU4MTQ2XFx1NjMxMVxcdTY3NjFcXHU4RkUyXFx1NzczQVxcdThERjNcXHU4RDM0XFx1OTRDMVxcdTVFMTZcXHU1Mzg1XFx1NTQyQ1xcdTcwQzNcIl0sXG4gICAgICBbXCJjZDQwXCIsIFwiXFx1ODY2RFxcdTg2NkZcXHU4NjcwXFx1ODY3MlwiLCA2LCBcIlxcdTg2ODNcIiwgNiwgXCJcXHU4NjhFXCIsIDQsIFwiXFx1ODY5NFxcdTg2OTZcIiwgNSwgXCJcXHU4NjlFXCIsIDQsIFwiXFx1ODZBNVxcdTg2QTZcXHU4NkFCXFx1ODZBRFxcdTg2QUVcXHU4NkIyXFx1ODZCM1xcdTg2QjdcXHU4NkI4XFx1ODZCOVxcdTg2QkJcIiwgNCwgXCJcXHU4NkMxXFx1ODZDMlxcdTg2QzNcXHU4NkM1XFx1ODZDOFxcdTg2Q0NcXHU4NkNEXFx1ODZEMlxcdTg2RDNcXHU4NkQ1XFx1ODZENlxcdTg2RDdcXHU4NkRBXFx1ODZEQ1wiXSxcbiAgICAgIFtcImNkODBcIiwgXCJcXHU4NkREXFx1ODZFMFxcdTg2RTFcXHU4NkUyXFx1ODZFM1xcdTg2RTVcXHU4NkU2XFx1ODZFN1xcdTg2RThcXHU4NkVBXFx1ODZFQlxcdTg2RUNcXHU4NkVGXFx1ODZGNVxcdTg2RjZcXHU4NkY3XFx1ODZGQVxcdTg2RkJcXHU4NkZDXFx1ODZGRFxcdTg2RkZcXHU4NzAxXFx1ODcwNFxcdTg3MDVcXHU4NzA2XFx1ODcwQlxcdTg3MENcXHU4NzBFXFx1ODcwRlxcdTg3MTBcXHU4NzExXFx1ODcxNFxcdTg3MTZcXHU2QzQwXFx1NUVGN1xcdTUwNUNcXHU0RUFEXFx1NUVBRFxcdTYzM0FcXHU4MjQ3XFx1OTAxQVxcdTY4NTBcXHU5MTZFXFx1NzdCM1xcdTU0MENcXHU5NERDXFx1NUY2NFxcdTdBRTVcXHU2ODc2XFx1NjM0NVxcdTdCNTJcXHU3RURGXFx1NzVEQlxcdTUwNzdcXHU2Mjk1XFx1NTkzNFxcdTkwMEZcXHU1MUY4XFx1NzlDM1xcdTdBODFcXHU1NkZFXFx1NUY5MlxcdTkwMTRcXHU2RDgyXFx1NUM2MFxcdTU3MUZcXHU1NDEwXFx1NTE1NFxcdTZFNERcXHU1NkUyXFx1NjNBOFxcdTk4OTNcXHU4MTdGXFx1ODcxNVxcdTg5MkFcXHU5MDAwXFx1NTQxRVxcdTVDNkZcXHU4MUMwXFx1NjJENlxcdTYyNThcXHU4MTMxXFx1OUUzNVxcdTk2NDBcXHU5QTZFXFx1OUE3Q1xcdTY5MkRcXHU1OUE1XFx1NjJEM1xcdTU1M0VcXHU2MzE2XFx1NTRDN1xcdTg2RDlcXHU2RDNDXFx1NUEwM1xcdTc0RTZcXHU4ODlDXFx1NkI2QVxcdTU5MTZcXHU4QzRDXFx1NUYyRlxcdTZFN0VcXHU3M0E5XFx1OTg3RFxcdTRFMzhcXHU3MEY3XFx1NUI4Q1xcdTc4OTdcXHU2MzNEXFx1NjY1QVxcdTc2OTZcXHU2MENCXFx1NUI5QlxcdTVBNDlcXHU0RTA3XFx1ODE1NVxcdTZDNkFcXHU3MzhCXFx1NEVBMVxcdTY3ODlcXHU3RjUxXFx1NUY4MFxcdTY1RkFcXHU2NzFCXFx1NUZEOFxcdTU5ODRcXHU1QTAxXCJdLFxuICAgICAgW1wiY2U0MFwiLCBcIlxcdTg3MTlcXHU4NzFCXFx1ODcxRFxcdTg3MUZcXHU4NzIwXFx1ODcyNFxcdTg3MjZcXHU4NzI3XFx1ODcyOFxcdTg3MkFcXHU4NzJCXFx1ODcyQ1xcdTg3MkRcXHU4NzJGXFx1ODczMFxcdTg3MzJcXHU4NzMzXFx1ODczNVxcdTg3MzZcXHU4NzM4XFx1ODczOVxcdTg3M0FcXHU4NzNDXFx1ODczRFxcdTg3NDBcIiwgNiwgXCJcXHU4NzRBXFx1ODc0QlxcdTg3NERcXHU4NzRGXFx1ODc1MFxcdTg3NTFcXHU4NzUyXFx1ODc1NFxcdTg3NTVcXHU4NzU2XFx1ODc1OFxcdTg3NUFcIiwgNSwgXCJcXHU4NzYxXFx1ODc2MlxcdTg3NjZcIiwgNywgXCJcXHU4NzZGXFx1ODc3MVxcdTg3NzJcXHU4NzczXFx1ODc3NVwiXSxcbiAgICAgIFtcImNlODBcIiwgXCJcXHU4Nzc3XFx1ODc3OFxcdTg3NzlcXHU4NzdBXFx1ODc3RlxcdTg3ODBcXHU4NzgxXFx1ODc4NFxcdTg3ODZcXHU4Nzg3XFx1ODc4OVxcdTg3OEFcXHU4NzhDXFx1ODc4RVwiLCA0LCBcIlxcdTg3OTRcXHU4Nzk1XFx1ODc5NlxcdTg3OThcIiwgNiwgXCJcXHU4N0EwXCIsIDQsIFwiXFx1NURDRFxcdTVGQUVcXHU1MzcxXFx1OTdFNlxcdThGRERcXHU2ODQ1XFx1NTZGNFxcdTU1MkZcXHU2MERGXFx1NEUzQVxcdTZGNERcXHU3RUY0XFx1ODJDN1xcdTg0MEVcXHU1OUQ0XFx1NEYxRlxcdTRGMkFcXHU1QzNFXFx1N0VBQ1xcdTY3MkFcXHU4NTFBXFx1NTQ3M1xcdTc1NEZcXHU4MEMzXFx1NTU4MlxcdTlCNEZcXHU0RjREXFx1NkUyRFxcdThDMTNcXHU1QzA5XFx1NjE3MFxcdTUzNkJcXHU3NjFGXFx1NkUyOVxcdTg2OEFcXHU2NTg3XFx1OTVGQlxcdTdFQjlcXHU1NDNCXFx1N0EzM1xcdTdEMEFcXHU5NUVFXFx1NTVFMVxcdTdGQzFcXHU3NEVFXFx1NjMxRFxcdTg3MTdcXHU2REExXFx1N0E5RFxcdTYyMTFcXHU2NUExXFx1NTM2N1xcdTYzRTFcXHU2QzgzXFx1NURFQlxcdTU0NUNcXHU5NEE4XFx1NEU0Q1xcdTZDNjFcXHU4QkVDXFx1NUM0QlxcdTY1RTBcXHU4MjlDXFx1NjhBN1xcdTU0M0VcXHU1NDM0XFx1NkJDQlxcdTZCNjZcXHU0RTk0XFx1NjM0MlxcdTUzNDhcXHU4MjFFXFx1NEYwRFxcdTRGQUVcXHU1NzVFXFx1NjIwQVxcdTk2RkVcXHU2NjY0XFx1NzI2OVxcdTUyRkZcXHU1MkExXFx1NjA5RlxcdThCRUZcXHU2NjE0XFx1NzE5OVxcdTY3OTBcXHU4OTdGXFx1Nzg1MlxcdTc3RkRcXHU2NjcwXFx1NTYzQlxcdTU0MzhcXHU5NTIxXFx1NzI3QVwiXSxcbiAgICAgIFtcImNmNDBcIiwgXCJcXHU4N0E1XFx1ODdBNlxcdTg3QTdcXHU4N0E5XFx1ODdBQVxcdTg3QUVcXHU4N0IwXFx1ODdCMVxcdTg3QjJcXHU4N0I0XFx1ODdCNlxcdTg3QjdcXHU4N0I4XFx1ODdCOVxcdTg3QkJcXHU4N0JDXFx1ODdCRVxcdTg3QkZcXHU4N0MxXCIsIDQsIFwiXFx1ODdDN1xcdTg3QzhcXHU4N0M5XFx1ODdDQ1wiLCA0LCBcIlxcdTg3RDRcIiwgNiwgXCJcXHU4N0RDXFx1ODdERFxcdTg3REVcXHU4N0RGXFx1ODdFMVxcdTg3RTJcXHU4N0UzXFx1ODdFNFxcdTg3RTZcXHU4N0U3XFx1ODdFOFxcdTg3RTlcXHU4N0VCXFx1ODdFQ1xcdTg3RURcXHU4N0VGXCIsIDldLFxuICAgICAgW1wiY2Y4MFwiLCBcIlxcdTg3RkFcXHU4N0ZCXFx1ODdGQ1xcdTg3RkRcXHU4N0ZGXFx1ODgwMFxcdTg4MDFcXHU4ODAyXFx1ODgwNFwiLCA1LCBcIlxcdTg4MEJcIiwgNywgXCJcXHU4ODE0XFx1ODgxN1xcdTg4MThcXHU4ODE5XFx1ODgxQVxcdTg4MUNcIiwgNCwgXCJcXHU4ODIzXFx1N0EwMFxcdTYwNkZcXHU1RTBDXFx1NjA4OVxcdTgxOURcXHU1OTE1XFx1NjBEQ1xcdTcxODRcXHU3MEVGXFx1NkVBQVxcdTZDNTBcXHU3MjgwXFx1NkE4NFxcdTg4QURcXHU1RTJEXFx1NEU2MFxcdTVBQjNcXHU1NTlDXFx1OTRFM1xcdTZEMTdcXHU3Q0ZCXFx1OTY5OVxcdTYyMEZcXHU3RUM2XFx1Nzc4RVxcdTg2N0VcXHU1MzIzXFx1OTcxRVxcdThGOTZcXHU2Njg3XFx1NUNFMVxcdTRGQTBcXHU3MkVEXFx1NEUwQlxcdTUzQTZcXHU1OTBGXFx1NTQxM1xcdTYzODBcXHU5NTI4XFx1NTE0OFxcdTRFRDlcXHU5QzlDXFx1N0VBNFxcdTU0QjhcXHU4RDI0XFx1ODg1NFxcdTgyMzdcXHU5NUYyXFx1NkQ4RVxcdTVGMjZcXHU1QUNDXFx1NjYzRVxcdTk2NjlcXHU3M0IwXFx1NzMyRVxcdTUzQkZcXHU4MTdBXFx1OTk4NVxcdTdGQTFcXHU1QkFBXFx1OTY3N1xcdTk2NTBcXHU3RUJGXFx1NzZGOFxcdTUzQTJcXHU5NTc2XFx1OTk5OVxcdTdCQjFcXHU4OTQ0XFx1NkU1OFxcdTRFNjFcXHU3RkQ0XFx1Nzk2NVxcdThCRTZcXHU2MEYzXFx1NTRDRFxcdTRFQUJcXHU5ODc5XFx1NURGN1xcdTZBNjFcXHU1MENGXFx1NTQxMVxcdThDNjFcXHU4NDI3XFx1Nzg1RFxcdTk3MDRcXHU1MjRBXFx1NTRFRVxcdTU2QTNcXHU5NTAwXFx1NkQ4OFxcdTVCQjVcXHU2REM2XFx1NjY1M1wiXSxcbiAgICAgIFtcImQwNDBcIiwgXCJcXHU4ODI0XCIsIDEzLCBcIlxcdTg4MzNcIiwgNSwgXCJcXHU4ODNBXFx1ODgzQlxcdTg4M0RcXHU4ODNFXFx1ODgzRlxcdTg4NDFcXHU4ODQyXFx1ODg0M1xcdTg4NDZcIiwgNSwgXCJcXHU4ODRFXCIsIDUsIFwiXFx1ODg1NVxcdTg4NTZcXHU4ODU4XFx1ODg1QVwiLCA2LCBcIlxcdTg4NjZcXHU4ODY3XFx1ODg2QVxcdTg4NkRcXHU4ODZGXFx1ODg3MVxcdTg4NzNcXHU4ODc0XFx1ODg3NVxcdTg4NzZcXHU4ODc4XFx1ODg3OVxcdTg4N0FcIl0sXG4gICAgICBbXCJkMDgwXCIsIFwiXFx1ODg3QlxcdTg4N0NcXHU4ODgwXFx1ODg4M1xcdTg4ODZcXHU4ODg3XFx1ODg4OVxcdTg4OEFcXHU4ODhDXFx1ODg4RVxcdTg4OEZcXHU4ODkwXFx1ODg5MVxcdTg4OTNcXHU4ODk0XFx1ODg5NVxcdTg4OTdcIiwgNCwgXCJcXHU4ODlEXCIsIDQsIFwiXFx1ODhBM1xcdTg4QTVcIiwgNSwgXCJcXHU1QzBGXFx1NUI1RFxcdTY4MjFcXHU4MDk2XFx1NTU3OFxcdTdCMTFcXHU2NTQ4XFx1Njk1NFxcdTRFOUJcXHU2QjQ3XFx1ODc0RVxcdTk3OEJcXHU1MzRGXFx1NjMxRlxcdTY0M0FcXHU5MEFBXFx1NjU5Q1xcdTgwQzFcXHU4QzEwXFx1NTE5OVxcdTY4QjBcXHU1Mzc4XFx1ODdGOVxcdTYxQzhcXHU2Q0M0XFx1NkNGQlxcdThDMjJcXHU1QzUxXFx1ODVBQVxcdTgyQUZcXHU5NTBDXFx1NkIyM1xcdThGOUJcXHU2NUIwXFx1NUZGQlxcdTVGQzNcXHU0RkUxXFx1ODg0NVxcdTY2MUZcXHU4MTY1XFx1NzMyOVxcdTYwRkFcXHU1MTc0XFx1NTIxMVxcdTU3OEJcXHU1RjYyXFx1OTBBMlxcdTg4NENcXHU5MTkyXFx1NUU3OFxcdTY3NEZcXHU2MDI3XFx1NTlEM1xcdTUxNDRcXHU1MUY2XFx1ODBGOFxcdTUzMDhcXHU2Qzc5XFx1OTZDNFxcdTcxOEFcXHU0RjExXFx1NEZFRVxcdTdGOUVcXHU2NzNEXFx1NTVDNVxcdTk1MDhcXHU3OUMwXFx1ODg5NlxcdTdFRTNcXHU1ODlGXFx1NjIwQ1xcdTk3MDBcXHU4NjVBXFx1NTYxOFxcdTk4N0JcXHU1RjkwXFx1OEJCOFxcdTg0QzRcXHU5MTU3XFx1NTNEOVxcdTY1RURcXHU1RThGXFx1NzU1Q1xcdTYwNjRcXHU3RDZFXFx1NUE3RlxcdTdFRUFcXHU3RUVEXFx1OEY2OVxcdTU1QTdcXHU1QkEzXFx1NjBBQ1xcdTY1Q0JcXHU3Mzg0XCJdLFxuICAgICAgW1wiZDE0MFwiLCBcIlxcdTg4QUNcXHU4OEFFXFx1ODhBRlxcdTg4QjBcXHU4OEIyXCIsIDQsIFwiXFx1ODhCOFxcdTg4QjlcXHU4OEJBXFx1ODhCQlxcdTg4QkRcXHU4OEJFXFx1ODhCRlxcdTg4QzBcXHU4OEMzXFx1ODhDNFxcdTg4QzdcXHU4OEM4XFx1ODhDQVxcdTg4Q0JcXHU4OENDXFx1ODhDRFxcdTg4Q0ZcXHU4OEQwXFx1ODhEMVxcdTg4RDNcXHU4OEQ2XFx1ODhEN1xcdTg4REFcIiwgNCwgXCJcXHU4OEUwXFx1ODhFMVxcdTg4RTZcXHU4OEU3XFx1ODhFOVwiLCA2LCBcIlxcdTg4RjJcXHU4OEY1XFx1ODhGNlxcdTg4RjdcXHU4OEZBXFx1ODhGQlxcdTg4RkRcXHU4OEZGXFx1ODkwMFxcdTg5MDFcXHU4OTAzXCIsIDVdLFxuICAgICAgW1wiZDE4MFwiLCBcIlxcdTg5MDlcXHU4OTBCXCIsIDQsIFwiXFx1ODkxMVxcdTg5MTRcIiwgNCwgXCJcXHU4OTFDXCIsIDQsIFwiXFx1ODkyMlxcdTg5MjNcXHU4OTI0XFx1ODkyNlxcdTg5MjdcXHU4OTI4XFx1ODkyOVxcdTg5MkNcXHU4OTJEXFx1ODkyRVxcdTg5MkZcXHU4OTMxXFx1ODkzMlxcdTg5MzNcXHU4OTM1XFx1ODkzN1xcdTkwMDlcXHU3NjYzXFx1NzcyOVxcdTdFREFcXHU5Nzc0XFx1ODU5QlxcdTVCNjZcXHU3QTc0XFx1OTZFQVxcdTg4NDBcXHU1MkNCXFx1NzE4RlxcdTVGQUFcXHU2NUVDXFx1OEJFMlxcdTVCRkJcXHU5QTZGXFx1NURFMVxcdTZCODlcXHU2QzVCXFx1OEJBRFxcdThCQUZcXHU5MDBBXFx1OEZDNVxcdTUzOEJcXHU2MkJDXFx1OUUyNlxcdTlFMkRcXHU1NDQwXFx1NEUyQlxcdTgyQkRcXHU3MjU5XFx1ODY5Q1xcdTVEMTZcXHU4ODU5XFx1NkRBRlxcdTk2QzVcXHU1NEQxXFx1NEU5QVxcdThCQjZcXHU3MTA5XFx1NTRCRFxcdTk2MDlcXHU3MERGXFx1NkRGOVxcdTc2RDBcXHU0RTI1XFx1NzgxNFxcdTg3MTJcXHU1Q0E5XFx1NUVGNlxcdThBMDBcXHU5ODlDXFx1OTYwRVxcdTcwOEVcXHU2Q0JGXFx1NTk0NFxcdTYzQTlcXHU3NzNDXFx1ODg0RFxcdTZGMTRcXHU4MjczXFx1NTgzMFxcdTcxRDVcXHU1MzhDXFx1NzgxQVxcdTk2QzFcXHU1NTAxXFx1NUY2NlxcdTcxMzBcXHU1QkI0XFx1OEMxQVxcdTlBOENcXHU2QjgzXFx1NTkyRVxcdTlFMkZcXHU3OUU3XFx1Njc2OFxcdTYyNkNcXHU0RjZGXFx1NzVBMVxcdTdGOEFcXHU2RDBCXFx1OTYzM1xcdTZDMjdcXHU0RUYwXFx1NzVEMlxcdTUxN0JcXHU2ODM3XFx1NkYzRVxcdTkwODBcXHU4MTcwXFx1NTk5NlxcdTc0NzZcIl0sXG4gICAgICBbXCJkMjQwXCIsIFwiXFx1ODkzOFwiLCA4LCBcIlxcdTg5NDJcXHU4OTQzXFx1ODk0NVwiLCAyNCwgXCJcXHU4OTYwXCIsIDUsIFwiXFx1ODk2N1wiLCAxOSwgXCJcXHU4OTdDXCJdLFxuICAgICAgW1wiZDI4MFwiLCBcIlxcdTg5N0RcXHU4OTdFXFx1ODk4MFxcdTg5ODJcXHU4OTg0XFx1ODk4NVxcdTg5ODdcIiwgMjYsIFwiXFx1NjQ0N1xcdTVDMjdcXHU5MDY1XFx1N0E5MVxcdThDMjNcXHU1OURBXFx1NTRBQ1xcdTgyMDBcXHU4MzZGXFx1ODk4MVxcdTgwMDBcXHU2OTMwXFx1NTY0RVxcdTgwMzZcXHU3MjM3XFx1OTFDRVxcdTUxQjZcXHU0RTVGXFx1OTg3NVxcdTYzOTZcXHU0RTFBXFx1NTNGNlxcdTY2RjNcXHU4MTRCXFx1NTkxQ1xcdTZEQjJcXHU0RTAwXFx1NThGOVxcdTUzM0JcXHU2M0Q2XFx1OTRGMVxcdTRGOURcXHU0RjBBXFx1ODg2M1xcdTk4OTBcXHU1OTM3XFx1OTA1N1xcdTc5RkJcXHU0RUVBXFx1ODBGMFxcdTc1OTFcXHU2QzgyXFx1NUI5Q1xcdTU5RThcXHU1RjVEXFx1NjkwNVxcdTg2ODFcXHU1MDFBXFx1NURGMlxcdTRFNTlcXHU3N0UzXFx1NEVFNVxcdTgyN0FcXHU2MjkxXFx1NjYxM1xcdTkwOTFcXHU1Qzc5XFx1NEVCRlxcdTVGNzlcXHU4MUM2XFx1OTAzOFxcdTgwODRcXHU3NUFCXFx1NEVBNlxcdTg4RDRcXHU2MTBGXFx1NkJDNVxcdTVGQzZcXHU0RTQ5XFx1NzZDQVxcdTZFQTJcXHU4QkUzXFx1OEJBRVxcdThDMEFcXHU4QkQxXFx1NUYwMlxcdTdGRkNcXHU3RkNDXFx1N0VDRVxcdTgzMzVcXHU4MzZCXFx1NTZFMFxcdTZCQjdcXHU5N0YzXFx1OTYzNFxcdTU5RkJcXHU1NDFGXFx1OTRGNlxcdTZERUJcXHU1QkM1XFx1OTk2RVxcdTVDMzlcXHU1RjE1XFx1OTY5MFwiXSxcbiAgICAgIFtcImQzNDBcIiwgXCJcXHU4OUEyXCIsIDMwLCBcIlxcdTg5QzNcXHU4OUNEXFx1ODlEM1xcdTg5RDRcXHU4OUQ1XFx1ODlEN1xcdTg5RDhcXHU4OUQ5XFx1ODlEQlxcdTg5RERcXHU4OURGXFx1ODlFMFxcdTg5RTFcXHU4OUUyXFx1ODlFNFxcdTg5RTdcXHU4OUU4XFx1ODlFOVxcdTg5RUFcXHU4OUVDXFx1ODlFRFxcdTg5RUVcXHU4OUYwXFx1ODlGMVxcdTg5RjJcXHU4OUY0XCIsIDZdLFxuICAgICAgW1wiZDM4MFwiLCBcIlxcdTg5RkJcIiwgNCwgXCJcXHU4QTAxXCIsIDUsIFwiXFx1OEEwOFwiLCAyMSwgXCJcXHU1MzcwXFx1ODJGMVxcdTZBMzFcXHU1QTc0XFx1OUU3MFxcdTVFOTRcXHU3RjI4XFx1ODNCOVxcdTg0MjRcXHU4NDI1XFx1ODM2N1xcdTg3NDdcXHU4RkNFXFx1OEQ2MlxcdTc2QzhcXHU1RjcxXFx1OTg5NlxcdTc4NkNcXHU2NjIwXFx1NTRERlxcdTYyRTVcXHU0RjYzXFx1ODFDM1xcdTc1QzhcXHU1RUI4XFx1OTZDRFxcdThFMEFcXHU4NkY5XFx1NTQ4RlxcdTZDRjNcXHU2RDhDXFx1NkMzOFxcdTYwN0ZcXHU1MkM3XFx1NzUyOFxcdTVFN0RcXHU0RjE4XFx1NjBBMFxcdTVGRTdcXHU1QzI0XFx1NzUzMVxcdTkwQUVcXHU5NEMwXFx1NzJCOVxcdTZDQjlcXHU2RTM4XFx1OTE0OVxcdTY3MDlcXHU1M0NCXFx1NTNGM1xcdTRGNTFcXHU5MUM5XFx1OEJGMVxcdTUzQzhcXHU1RTdDXFx1OEZDMlxcdTZERTRcXHU0RThFXFx1NzZDMlxcdTY5ODZcXHU4NjVFXFx1NjExQVxcdTgyMDZcXHU0RjU5XFx1NEZERVxcdTkwM0VcXHU5QzdDXFx1NjEwOVxcdTZFMURcXHU2RTE0XFx1OTY4NVxcdTRFODhcXHU1QTMxXFx1OTZFOFxcdTRFMEVcXHU1QzdGXFx1NzlCOVxcdTVCODdcXHU4QkVEXFx1N0ZCRFxcdTczODlcXHU1N0RGXFx1ODI4QlxcdTkwQzFcXHU1NDAxXFx1OTA0N1xcdTU1QkJcXHU1Q0VBXFx1NUZBMVxcdTYxMDhcXHU2QjMyXFx1NzJGMVxcdTgwQjJcXHU4QTg5XCJdLFxuICAgICAgW1wiZDQ0MFwiLCBcIlxcdThBMUVcIiwgMzEsIFwiXFx1OEEzRlwiLCA4LCBcIlxcdThBNDlcIiwgMjFdLFxuICAgICAgW1wiZDQ4MFwiLCBcIlxcdThBNUZcIiwgMjUsIFwiXFx1OEE3QVwiLCA2LCBcIlxcdTZENzRcXHU1QkQzXFx1ODhENVxcdTk4ODRcXHU4QzZCXFx1OUE2RFxcdTlFMzNcXHU2RTBBXFx1NTFBNFxcdTUxNDNcXHU1N0EzXFx1ODg4MVxcdTUzOUZcXHU2M0Y0XFx1OEY5NVxcdTU2RURcXHU1NDU4XFx1NTcwNlxcdTczM0ZcXHU2RTkwXFx1N0YxOFxcdThGRENcXHU4MkQxXFx1NjEzRlxcdTYwMjhcXHU5NjYyXFx1NjZGMFxcdTdFQTZcXHU4RDhBXFx1OERDM1xcdTk0QTVcXHU1Q0IzXFx1N0NBNFxcdTY3MDhcXHU2MEE2XFx1OTYwNVxcdTgwMThcXHU0RTkxXFx1OTBFN1xcdTUzMDBcXHU5NjY4XFx1NTE0MVxcdThGRDBcXHU4NTc0XFx1OTE1RFxcdTY2NTVcXHU5N0Y1XFx1NUI1NVxcdTUzMURcXHU3ODM4XFx1Njc0MlxcdTY4M0RcXHU1NEM5XFx1NzA3RVxcdTVCQjBcXHU4RjdEXFx1NTE4RFxcdTU3MjhcXHU1NEIxXFx1NjUxMlxcdTY2ODJcXHU4RDVFXFx1OEQ0M1xcdTgxMEZcXHU4NDZDXFx1OTA2RFxcdTdDREZcXHU1MUZGXFx1ODVGQlxcdTY3QTNcXHU2NUU5XFx1NkZBMVxcdTg2QTRcXHU4RTgxXFx1NTY2QVxcdTkwMjBcXHU3NjgyXFx1NzA3NlxcdTcxRTVcXHU4RDIzXFx1NjJFOVxcdTUyMTlcXHU2Q0ZEXFx1OEQzQ1xcdTYwMEVcXHU1ODlFXFx1NjE4RVxcdTY2RkVcXHU4RDYwXFx1NjI0RVxcdTU1QjNcXHU2RTIzXFx1NjcyRFxcdThGNjdcIl0sXG4gICAgICBbXCJkNTQwXCIsIFwiXFx1OEE4MVwiLCA3LCBcIlxcdThBOEJcIiwgNywgXCJcXHU4QTk0XCIsIDQ2XSxcbiAgICAgIFtcImQ1ODBcIiwgXCJcXHU4QUMzXCIsIDMyLCBcIlxcdTk0RTFcXHU5NUY4XFx1NzcyOFxcdTY4MDVcXHU2OUE4XFx1NTQ4QlxcdTRFNERcXHU3MEI4XFx1OEJDOFxcdTY0NThcXHU2NThCXFx1NUI4NVxcdTdBODRcXHU1MDNBXFx1NUJFOFxcdTc3QkJcXHU2QkUxXFx1OEE3OVxcdTdDOThcXHU2Q0JFXFx1NzZDRlxcdTY1QTlcXHU4Rjk3XFx1NUQyRFxcdTVDNTVcXHU4NjM4XFx1NjgwOFxcdTUzNjBcXHU2MjE4XFx1N0FEOVxcdTZFNUJcXHU3RUZEXFx1NkExRlxcdTdBRTBcXHU1RjcwXFx1NkYzM1xcdTVGMjBcXHU2MzhDXFx1NkRBOFxcdTY3NTZcXHU0RTA4XFx1NUUxMFxcdThEMjZcXHU0RUQ3XFx1ODBDMFxcdTc2MzRcXHU5NjlDXFx1NjJEQlxcdTY2MkRcXHU2MjdFXFx1NkNCQ1xcdThENzVcXHU3MTY3XFx1N0Y2OVxcdTUxNDZcXHU4MDg3XFx1NTNFQ1xcdTkwNkVcXHU2Mjk4XFx1NTRGMlxcdTg2RjBcXHU4Rjk5XFx1ODAwNVxcdTk1MTdcXHU4NTE3XFx1OEZEOVxcdTZENTlcXHU3M0NEXFx1NjU5RlxcdTc3MUZcXHU3NTA0XFx1NzgyN1xcdTgxRkJcXHU4RDFFXFx1OTQ4OFxcdTRGQTZcXHU2Nzk1XFx1NzVCOVxcdThCQ0FcXHU5NzA3XFx1NjMyRlxcdTk1NDdcXHU5NjM1XFx1ODRCOFxcdTYzMjNcXHU3NzQxXFx1NUY4MVxcdTcyRjBcXHU0RTg5XFx1NjAxNFxcdTY1NzRcXHU2MkVGXFx1NkI2M1xcdTY1M0ZcIl0sXG4gICAgICBbXCJkNjQwXCIsIFwiXFx1OEFFNFwiLCAzNCwgXCJcXHU4QjA4XCIsIDI3XSxcbiAgICAgIFtcImQ2ODBcIiwgXCJcXHU4QjI0XFx1OEIyNVxcdThCMjdcIiwgMzAsIFwiXFx1NUUyN1xcdTc1QzdcXHU5MEQxXFx1OEJDMVxcdTgyOURcXHU2NzlEXFx1NjUyRlxcdTU0MzFcXHU4NzE4XFx1NzdFNVxcdTgwQTJcXHU4MTAyXFx1NkM0MVxcdTRFNEJcXHU3RUM3XFx1ODA0Q1xcdTc2RjRcXHU2OTBEXFx1NkI5NlxcdTYyNjdcXHU1MDNDXFx1NEY4NFxcdTU3NDBcXHU2MzA3XFx1NkI2MlxcdThEQkVcXHU1M0VBXFx1NjVFOFxcdTdFQjhcXHU1RkQ3XFx1NjMxQVxcdTYzQjdcXHU4MUYzXFx1ODFGNFxcdTdGNkVcXHU1RTFDXFx1NUNEOVxcdTUyMzZcXHU2NjdBXFx1NzlFOVxcdTdBMUFcXHU4RDI4XFx1NzA5OVxcdTc1RDRcXHU2RURFXFx1NkNCQlxcdTdBOTJcXHU0RTJEXFx1NzZDNVxcdTVGRTBcXHU5NDlGXFx1ODg3N1xcdTdFQzhcXHU3OUNEXFx1ODBCRlxcdTkxQ0RcXHU0RUYyXFx1NEYxN1xcdTgyMUZcXHU1NDY4XFx1NURERVxcdTZEMzJcXHU4QkNDXFx1N0NBNVxcdThGNzRcXHU4MDk4XFx1NUUxQVxcdTU0OTJcXHU3NkIxXFx1NUI5OVxcdTY2M0NcXHU5QUE0XFx1NzNFMFxcdTY4MkFcXHU4NkRCXFx1NjczMVxcdTczMkFcXHU4QkY4XFx1OEJEQlxcdTkwMTBcXHU3QUY5XFx1NzBEQlxcdTcxNkVcXHU2MkM0XFx1NzdBOVxcdTU2MzFcXHU0RTNCXFx1ODQ1N1xcdTY3RjFcXHU1MkE5XFx1ODZDMFxcdThEMkVcXHU5NEY4XFx1N0I1MVwiXSxcbiAgICAgIFtcImQ3NDBcIiwgXCJcXHU4QjQ2XCIsIDMxLCBcIlxcdThCNjdcIiwgNCwgXCJcXHU4QjZEXCIsIDI1XSxcbiAgICAgIFtcImQ3ODBcIiwgXCJcXHU4Qjg3XCIsIDI0LCBcIlxcdThCQUNcXHU4QkIxXFx1OEJCQlxcdThCQzdcXHU4QkQwXFx1OEJFQVxcdThDMDlcXHU4QzFFXFx1NEY0RlxcdTZDRThcXHU3OTVEXFx1OUE3QlxcdTYyOTNcXHU3MjJBXFx1NjJGRFxcdTRFMTNcXHU3ODE2XFx1OEY2Q1xcdTY0QjBcXHU4RDVBXFx1N0JDNlxcdTY4NjlcXHU1RTg0XFx1ODhDNVxcdTU5ODZcXHU2NDlFXFx1NThFRVxcdTcyQjZcXHU2OTBFXFx1OTUyNVxcdThGRkRcXHU4RDU4XFx1NTc2MFxcdTdGMDBcXHU4QzA2XFx1NTFDNlxcdTYzNDlcXHU2MkQ5XFx1NTM1M1xcdTY4NENcXHU3NDIyXFx1ODMwMVxcdTkxNENcXHU1NTQ0XFx1Nzc0MFxcdTcwN0NcXHU2RDRBXFx1NTE3OVxcdTU0QThcXHU4RDQ0XFx1NTlGRlxcdTZFQ0JcXHU2REM0XFx1NUI1Q1xcdTdEMkJcXHU0RUQ0XFx1N0M3RFxcdTZFRDNcXHU1QjUwXFx1ODFFQVxcdTZFMERcXHU1QjU3XFx1OUIwM1xcdTY4RDVcXHU4RTJBXFx1NUI5N1xcdTdFRkNcXHU2MDNCXFx1N0VCNVxcdTkwQjlcXHU4RDcwXFx1NTk0RlxcdTYzQ0RcXHU3OURGXFx1OERCM1xcdTUzNTJcXHU2NUNGXFx1Nzk1NlxcdThCQzVcXHU5NjNCXFx1N0VDNFxcdTk0QkJcXHU3RTgyXFx1NTYzNFxcdTkxODlcXHU2NzAwXFx1N0Y2QVxcdTVDMEFcXHU5MDc1XFx1NjYyOFxcdTVERTZcXHU0RjUwXFx1NjdERVxcdTUwNUFcXHU0RjVDXFx1NTc1MFxcdTVFQTdcIl0sXG4gICAgICBbXCJkODQwXCIsIFwiXFx1OEMzOFwiLCA4LCBcIlxcdThDNDJcXHU4QzQzXFx1OEM0NFxcdThDNDVcXHU4QzQ4XFx1OEM0QVxcdThDNEJcXHU4QzREXCIsIDcsIFwiXFx1OEM1NlxcdThDNTdcXHU4QzU4XFx1OEM1OVxcdThDNUJcIiwgNSwgXCJcXHU4QzYzXCIsIDYsIFwiXFx1OEM2Q1wiLCA2LCBcIlxcdThDNzRcXHU4Qzc1XFx1OEM3NlxcdThDNzdcXHU4QzdCXCIsIDYsIFwiXFx1OEM4M1xcdThDODRcXHU4Qzg2XFx1OEM4N1wiXSxcbiAgICAgIFtcImQ4ODBcIiwgXCJcXHU4Qzg4XFx1OEM4QlxcdThDOERcIiwgNiwgXCJcXHU4Qzk1XFx1OEM5NlxcdThDOTdcXHU4Qzk5XCIsIDIwLCBcIlxcdTRFOERcXHU0RTBDXFx1NTE0MFxcdTRFMTBcXHU1RUZGXFx1NTM0NVxcdTRFMTVcXHU0RTk4XFx1NEUxRVxcdTlCMzJcXHU1QjZDXFx1NTY2OVxcdTRFMjhcXHU3OUJBXFx1NEUzRlxcdTUzMTVcXHU0RTQ3XFx1NTkyRFxcdTcyM0JcXHU1MzZFXFx1NkMxMFxcdTU2REZcXHU4MEU0XFx1OTk5N1xcdTZCRDNcXHU3NzdFXFx1OUYxN1xcdTRFMzZcXHU0RTlGXFx1OUYxMFxcdTRFNUNcXHU0RTY5XFx1NEU5M1xcdTgyODhcXHU1QjVCXFx1NTU2Q1xcdTU2MEZcXHU0RUM0XFx1NTM4RFxcdTUzOURcXHU1M0EzXFx1NTNBNVxcdTUzQUVcXHU5NzY1XFx1OEQ1RFxcdTUzMUFcXHU1M0Y1XFx1NTMyNlxcdTUzMkVcXHU1MzNFXFx1OEQ1Q1xcdTUzNjZcXHU1MzYzXFx1NTIwMlxcdTUyMDhcXHU1MjBFXFx1NTIyRFxcdTUyMzNcXHU1MjNGXFx1NTI0MFxcdTUyNENcXHU1MjVFXFx1NTI2MVxcdTUyNUNcXHU4NEFGXFx1NTI3RFxcdTUyODJcXHU1MjgxXFx1NTI5MFxcdTUyOTNcXHU1MTgyXFx1N0Y1NFxcdTRFQkJcXHU0RUMzXFx1NEVDOVxcdTRFQzJcXHU0RUU4XFx1NEVFMVxcdTRFRUJcXHU0RURFXFx1NEYxQlxcdTRFRjNcXHU0RjIyXFx1NEY2NFxcdTRFRjVcXHU0RjI1XFx1NEYyN1xcdTRGMDlcXHU0RjJCXFx1NEY1RVxcdTRGNjdcXHU2NTM4XFx1NEY1QVxcdTRGNURcIl0sXG4gICAgICBbXCJkOTQwXCIsIFwiXFx1OENBRVwiLCA2Ml0sXG4gICAgICBbXCJkOTgwXCIsIFwiXFx1OENFRFwiLCAzMiwgXCJcXHU0RjVGXFx1NEY1N1xcdTRGMzJcXHU0RjNEXFx1NEY3NlxcdTRGNzRcXHU0RjkxXFx1NEY4OVxcdTRGODNcXHU0RjhGXFx1NEY3RVxcdTRGN0JcXHU0RkFBXFx1NEY3Q1xcdTRGQUNcXHU0Rjk0XFx1NEZFNlxcdTRGRThcXHU0RkVBXFx1NEZDNVxcdTRGREFcXHU0RkUzXFx1NEZEQ1xcdTRGRDFcXHU0RkRGXFx1NEZGOFxcdTUwMjlcXHU1MDRDXFx1NEZGM1xcdTUwMkNcXHU1MDBGXFx1NTAyRVxcdTUwMkRcXHU0RkZFXFx1NTAxQ1xcdTUwMENcXHU1MDI1XFx1NTAyOFxcdTUwN0VcXHU1MDQzXFx1NTA1NVxcdTUwNDhcXHU1MDRFXFx1NTA2Q1xcdTUwN0JcXHU1MEE1XFx1NTBBN1xcdTUwQTlcXHU1MEJBXFx1NTBENlxcdTUxMDZcXHU1MEVEXFx1NTBFQ1xcdTUwRTZcXHU1MEVFXFx1NTEwN1xcdTUxMEJcXHU0RUREXFx1NkMzRFxcdTRGNThcXHU0RjY1XFx1NEZDRVxcdTlGQTBcXHU2QzQ2XFx1N0M3NFxcdTUxNkVcXHU1REZEXFx1OUVDOVxcdTk5OThcXHU1MTgxXFx1NTkxNFxcdTUyRjlcXHU1MzBEXFx1OEEwN1xcdTUzMTBcXHU1MUVCXFx1NTkxOVxcdTUxNTVcXHU0RUEwXFx1NTE1NlxcdTRFQjNcXHU4ODZFXFx1ODhBNFxcdTRFQjVcXHU4MTE0XFx1ODhEMlxcdTc5ODBcXHU1QjM0XFx1ODgwM1xcdTdGQjhcXHU1MUFCXFx1NTFCMVxcdTUxQkRcXHU1MUJDXCJdLFxuICAgICAgW1wiZGE0MFwiLCBcIlxcdThEMEVcIiwgMTQsIFwiXFx1OEQyMFxcdThENTFcXHU4RDUyXFx1OEQ1N1xcdThENUZcXHU4RDY1XFx1OEQ2OFxcdThENjlcXHU4RDZBXFx1OEQ2Q1xcdThENkVcXHU4RDZGXFx1OEQ3MVxcdThENzJcXHU4RDc4XCIsIDgsIFwiXFx1OEQ4MlxcdThEODNcXHU4RDg2XFx1OEQ4N1xcdThEODhcXHU4RDg5XFx1OEQ4Q1wiLCA0LCBcIlxcdThEOTJcXHU4RDkzXFx1OEQ5NVwiLCA5LCBcIlxcdThEQTBcXHU4REExXCJdLFxuICAgICAgW1wiZGE4MFwiLCBcIlxcdThEQTJcXHU4REE0XCIsIDEyLCBcIlxcdThEQjJcXHU4REI2XFx1OERCN1xcdThEQjlcXHU4REJCXFx1OERCRFxcdThEQzBcXHU4REMxXFx1OERDMlxcdThEQzVcXHU4REM3XFx1OERDOFxcdThEQzlcXHU4RENBXFx1OERDRFxcdThERDBcXHU4REQyXFx1OEREM1xcdThERDRcXHU1MUM3XFx1NTE5NlxcdTUxQTJcXHU1MUE1XFx1OEJBMFxcdThCQTZcXHU4QkE3XFx1OEJBQVxcdThCQjRcXHU4QkI1XFx1OEJCN1xcdThCQzJcXHU4QkMzXFx1OEJDQlxcdThCQ0ZcXHU4QkNFXFx1OEJEMlxcdThCRDNcXHU4QkQ0XFx1OEJENlxcdThCRDhcXHU4QkQ5XFx1OEJEQ1xcdThCREZcXHU4QkUwXFx1OEJFNFxcdThCRThcXHU4QkU5XFx1OEJFRVxcdThCRjBcXHU4QkYzXFx1OEJGNlxcdThCRjlcXHU4QkZDXFx1OEJGRlxcdThDMDBcXHU4QzAyXFx1OEMwNFxcdThDMDdcXHU4QzBDXFx1OEMwRlxcdThDMTFcXHU4QzEyXFx1OEMxNFxcdThDMTVcXHU4QzE2XFx1OEMxOVxcdThDMUJcXHU4QzE4XFx1OEMxRFxcdThDMUZcXHU4QzIwXFx1OEMyMVxcdThDMjVcXHU4QzI3XFx1OEMyQVxcdThDMkJcXHU4QzJFXFx1OEMyRlxcdThDMzJcXHU4QzMzXFx1OEMzNVxcdThDMzZcXHU1MzY5XFx1NTM3QVxcdTk2MURcXHU5NjIyXFx1OTYyMVxcdTk2MzFcXHU5NjJBXFx1OTYzRFxcdTk2M0NcXHU5NjQyXFx1OTY0OVxcdTk2NTRcXHU5NjVGXFx1OTY2N1xcdTk2NkNcXHU5NjcyXFx1OTY3NFxcdTk2ODhcXHU5NjhEXFx1OTY5N1xcdTk2QjBcXHU5MDk3XFx1OTA5QlxcdTkwOURcXHU5MDk5XFx1OTBBQ1xcdTkwQTFcXHU5MEI0XFx1OTBCM1xcdTkwQjZcXHU5MEJBXCJdLFxuICAgICAgW1wiZGI0MFwiLCBcIlxcdThERDVcXHU4REQ4XFx1OEREOVxcdThERENcXHU4REUwXFx1OERFMVxcdThERTJcXHU4REU1XFx1OERFNlxcdThERTdcXHU4REU5XFx1OERFRFxcdThERUVcXHU4REYwXFx1OERGMVxcdThERjJcXHU4REY0XFx1OERGNlxcdThERkNcXHU4REZFXCIsIDYsIFwiXFx1OEUwNlxcdThFMDdcXHU4RTA4XFx1OEUwQlxcdThFMERcXHU4RTBFXFx1OEUxMFxcdThFMTFcXHU4RTEyXFx1OEUxM1xcdThFMTVcIiwgNywgXCJcXHU4RTIwXFx1OEUyMVxcdThFMjRcIiwgNCwgXCJcXHU4RTJCXFx1OEUyRFxcdThFMzBcXHU4RTMyXFx1OEUzM1xcdThFMzRcXHU4RTM2XFx1OEUzN1xcdThFMzhcXHU4RTNCXFx1OEUzQ1xcdThFM0VcIl0sXG4gICAgICBbXCJkYjgwXCIsIFwiXFx1OEUzRlxcdThFNDNcXHU4RTQ1XFx1OEU0NlxcdThFNENcIiwgNCwgXCJcXHU4RTUzXCIsIDUsIFwiXFx1OEU1QVwiLCAxMSwgXCJcXHU4RTY3XFx1OEU2OFxcdThFNkFcXHU4RTZCXFx1OEU2RVxcdThFNzFcXHU5MEI4XFx1OTBCMFxcdTkwQ0ZcXHU5MEM1XFx1OTBCRVxcdTkwRDBcXHU5MEM0XFx1OTBDN1xcdTkwRDNcXHU5MEU2XFx1OTBFMlxcdTkwRENcXHU5MEQ3XFx1OTBEQlxcdTkwRUJcXHU5MEVGXFx1OTBGRVxcdTkxMDRcXHU5MTIyXFx1OTExRVxcdTkxMjNcXHU5MTMxXFx1OTEyRlxcdTkxMzlcXHU5MTQzXFx1OTE0NlxcdTUyMERcXHU1OTQyXFx1NTJBMlxcdTUyQUNcXHU1MkFEXFx1NTJCRVxcdTU0RkZcXHU1MkQwXFx1NTJENlxcdTUyRjBcXHU1M0RGXFx1NzFFRVxcdTc3Q0RcXHU1RUY0XFx1NTFGNVxcdTUxRkNcXHU5QjJGXFx1NTNCNlxcdTVGMDFcXHU3NTVBXFx1NURFRlxcdTU3NENcXHU1N0E5XFx1NTdBMVxcdTU4N0VcXHU1OEJDXFx1NThDNVxcdTU4RDFcXHU1NzI5XFx1NTcyQ1xcdTU3MkFcXHU1NzMzXFx1NTczOVxcdTU3MkVcXHU1NzJGXFx1NTc1Q1xcdTU3M0JcXHU1NzQyXFx1NTc2OVxcdTU3ODVcXHU1NzZCXFx1NTc4NlxcdTU3N0NcXHU1NzdCXFx1NTc2OFxcdTU3NkRcXHU1Nzc2XFx1NTc3M1xcdTU3QURcXHU1N0E0XFx1NTc4Q1xcdTU3QjJcXHU1N0NGXFx1NTdBN1xcdTU3QjRcXHU1NzkzXFx1NTdBMFxcdTU3RDVcXHU1N0Q4XFx1NTdEQVxcdTU3RDlcXHU1N0QyXFx1NTdCOFxcdTU3RjRcXHU1N0VGXFx1NTdGOFxcdTU3RTRcXHU1N0REXCJdLFxuICAgICAgW1wiZGM0MFwiLCBcIlxcdThFNzNcXHU4RTc1XFx1OEU3N1wiLCA0LCBcIlxcdThFN0RcXHU4RTdFXFx1OEU4MFxcdThFODJcXHU4RTgzXFx1OEU4NFxcdThFODZcXHU4RTg4XCIsIDYsIFwiXFx1OEU5MVxcdThFOTJcXHU4RTkzXFx1OEU5NVwiLCA2LCBcIlxcdThFOURcXHU4RTlGXCIsIDExLCBcIlxcdThFQURcXHU4RUFFXFx1OEVCMFxcdThFQjFcXHU4RUIzXCIsIDYsIFwiXFx1OEVCQlwiLCA3XSxcbiAgICAgIFtcImRjODBcIiwgXCJcXHU4RUMzXCIsIDEwLCBcIlxcdThFQ0ZcIiwgMjEsIFwiXFx1NTgwQlxcdTU4MERcXHU1N0ZEXFx1NTdFRFxcdTU4MDBcXHU1ODFFXFx1NTgxOVxcdTU4NDRcXHU1ODIwXFx1NTg2NVxcdTU4NkNcXHU1ODgxXFx1NTg4OVxcdTU4OUFcXHU1ODgwXFx1OTlBOFxcdTlGMTlcXHU2MUZGXFx1ODI3OVxcdTgyN0RcXHU4MjdGXFx1ODI4RlxcdTgyOEFcXHU4MkE4XFx1ODI4NFxcdTgyOEVcXHU4MjkxXFx1ODI5N1xcdTgyOTlcXHU4MkFCXFx1ODJCOFxcdTgyQkVcXHU4MkIwXFx1ODJDOFxcdTgyQ0FcXHU4MkUzXFx1ODI5OFxcdTgyQjdcXHU4MkFFXFx1ODJDQlxcdTgyQ0NcXHU4MkMxXFx1ODJBOVxcdTgyQjRcXHU4MkExXFx1ODJBQVxcdTgyOUZcXHU4MkM0XFx1ODJDRVxcdTgyQTRcXHU4MkUxXFx1ODMwOVxcdTgyRjdcXHU4MkU0XFx1ODMwRlxcdTgzMDdcXHU4MkRDXFx1ODJGNFxcdTgyRDJcXHU4MkQ4XFx1ODMwQ1xcdTgyRkJcXHU4MkQzXFx1ODMxMVxcdTgzMUFcXHU4MzA2XFx1ODMxNFxcdTgzMTVcXHU4MkUwXFx1ODJENVxcdTgzMUNcXHU4MzUxXFx1ODM1QlxcdTgzNUNcXHU4MzA4XFx1ODM5MlxcdTgzM0NcXHU4MzM0XFx1ODMzMVxcdTgzOUJcXHU4MzVFXFx1ODMyRlxcdTgzNEZcXHU4MzQ3XFx1ODM0M1xcdTgzNUZcXHU4MzQwXFx1ODMxN1xcdTgzNjBcXHU4MzJEXFx1ODMzQVxcdTgzMzNcXHU4MzY2XFx1ODM2NVwiXSxcbiAgICAgIFtcImRkNDBcIiwgXCJcXHU4RUU1XCIsIDYyXSxcbiAgICAgIFtcImRkODBcIiwgXCJcXHU4RjI0XCIsIDMyLCBcIlxcdTgzNjhcXHU4MzFCXFx1ODM2OVxcdTgzNkNcXHU4MzZBXFx1ODM2RFxcdTgzNkVcXHU4M0IwXFx1ODM3OFxcdTgzQjNcXHU4M0I0XFx1ODNBMFxcdTgzQUFcXHU4MzkzXFx1ODM5Q1xcdTgzODVcXHU4MzdDXFx1ODNCNlxcdTgzQTlcXHU4MzdEXFx1ODNCOFxcdTgzN0JcXHU4Mzk4XFx1ODM5RVxcdTgzQThcXHU4M0JBXFx1ODNCQ1xcdTgzQzFcXHU4NDAxXFx1ODNFNVxcdTgzRDhcXHU1ODA3XFx1ODQxOFxcdTg0MEJcXHU4M0REXFx1ODNGRFxcdTgzRDZcXHU4NDFDXFx1ODQzOFxcdTg0MTFcXHU4NDA2XFx1ODNENFxcdTgzREZcXHU4NDBGXFx1ODQwM1xcdTgzRjhcXHU4M0Y5XFx1ODNFQVxcdTgzQzVcXHU4M0MwXFx1ODQyNlxcdTgzRjBcXHU4M0UxXFx1ODQ1Q1xcdTg0NTFcXHU4NDVBXFx1ODQ1OVxcdTg0NzNcXHU4NDg3XFx1ODQ4OFxcdTg0N0FcXHU4NDg5XFx1ODQ3OFxcdTg0M0NcXHU4NDQ2XFx1ODQ2OVxcdTg0NzZcXHU4NDhDXFx1ODQ4RVxcdTg0MzFcXHU4NDZEXFx1ODRDMVxcdTg0Q0RcXHU4NEQwXFx1ODRFNlxcdTg0QkRcXHU4NEQzXFx1ODRDQVxcdTg0QkZcXHU4NEJBXFx1ODRFMFxcdTg0QTFcXHU4NEI5XFx1ODRCNFxcdTg0OTdcXHU4NEU1XFx1ODRFM1xcdTg1MENcXHU3NTBEXFx1ODUzOFxcdTg0RjBcXHU4NTM5XFx1ODUxRlxcdTg1M0FcIl0sXG4gICAgICBbXCJkZTQwXCIsIFwiXFx1OEY0NVwiLCAzMiwgXCJcXHU4RjZBXFx1OEY4MFxcdThGOENcXHU4RjkyXFx1OEY5RFxcdThGQTBcXHU4RkExXFx1OEZBMlxcdThGQTRcXHU4RkE1XFx1OEZBNlxcdThGQTdcXHU4RkFBXFx1OEZBQ1xcdThGQURcXHU4RkFFXFx1OEZBRlxcdThGQjJcXHU4RkIzXFx1OEZCNFxcdThGQjVcXHU4RkI3XFx1OEZCOFxcdThGQkFcXHU4RkJCXFx1OEZCQ1xcdThGQkZcXHU4RkMwXFx1OEZDM1xcdThGQzZcIl0sXG4gICAgICBbXCJkZTgwXCIsIFwiXFx1OEZDOVwiLCA0LCBcIlxcdThGQ0ZcXHU4RkQyXFx1OEZENlxcdThGRDdcXHU4RkRBXFx1OEZFMFxcdThGRTFcXHU4RkUzXFx1OEZFN1xcdThGRUNcXHU4RkVGXFx1OEZGMVxcdThGRjJcXHU4RkY0XFx1OEZGNVxcdThGRjZcXHU4RkZBXFx1OEZGQlxcdThGRkNcXHU4RkZFXFx1OEZGRlxcdTkwMDdcXHU5MDA4XFx1OTAwQ1xcdTkwMEVcXHU5MDEzXFx1OTAxNVxcdTkwMThcXHU4NTU2XFx1ODUzQlxcdTg0RkZcXHU4NEZDXFx1ODU1OVxcdTg1NDhcXHU4NTY4XFx1ODU2NFxcdTg1NUVcXHU4NTdBXFx1NzdBMlxcdTg1NDNcXHU4NTcyXFx1ODU3QlxcdTg1QTRcXHU4NUE4XFx1ODU4N1xcdTg1OEZcXHU4NTc5XFx1ODVBRVxcdTg1OUNcXHU4NTg1XFx1ODVCOVxcdTg1QjdcXHU4NUIwXFx1ODVEM1xcdTg1QzFcXHU4NURDXFx1ODVGRlxcdTg2MjdcXHU4NjA1XFx1ODYyOVxcdTg2MTZcXHU4NjNDXFx1NUVGRVxcdTVGMDhcXHU1OTNDXFx1NTk0MVxcdTgwMzdcXHU1OTU1XFx1NTk1QVxcdTU5NThcXHU1MzBGXFx1NUMyMlxcdTVDMjVcXHU1QzJDXFx1NUMzNFxcdTYyNENcXHU2MjZBXFx1NjI5RlxcdTYyQkJcXHU2MkNBXFx1NjJEQVxcdTYyRDdcXHU2MkVFXFx1NjMyMlxcdTYyRjZcXHU2MzM5XFx1NjM0QlxcdTYzNDNcXHU2M0FEXFx1NjNGNlxcdTYzNzFcXHU2MzdBXFx1NjM4RVxcdTYzQjRcXHU2MzZEXFx1NjNBQ1xcdTYzOEFcXHU2MzY5XFx1NjNBRVxcdTYzQkNcXHU2M0YyXFx1NjNGOFxcdTYzRTBcXHU2M0ZGXFx1NjNDNFxcdTYzREVcXHU2M0NFXFx1NjQ1MlxcdTYzQzZcXHU2M0JFXFx1NjQ0NVxcdTY0NDFcXHU2NDBCXFx1NjQxQlxcdTY0MjBcXHU2NDBDXFx1NjQyNlxcdTY0MjFcXHU2NDVFXFx1NjQ4NFxcdTY0NkRcXHU2NDk2XCJdLFxuICAgICAgW1wiZGY0MFwiLCBcIlxcdTkwMTlcXHU5MDFDXFx1OTAyM1xcdTkwMjRcXHU5MDI1XFx1OTAyN1wiLCA1LCBcIlxcdTkwMzBcIiwgNCwgXCJcXHU5MDM3XFx1OTAzOVxcdTkwM0FcXHU5MDNEXFx1OTAzRlxcdTkwNDBcXHU5MDQzXFx1OTA0NVxcdTkwNDZcXHU5MDQ4XCIsIDQsIFwiXFx1OTA0RVxcdTkwNTRcXHU5MDU1XFx1OTA1NlxcdTkwNTlcXHU5MDVBXFx1OTA1Q1wiLCA1LCBcIlxcdTkwNjRcXHU5MDY2XFx1OTA2N1xcdTkwNjlcXHU5MDZBXFx1OTA2QlxcdTkwNkNcXHU5MDZGXCIsIDQsIFwiXFx1OTA3NlwiLCA2LCBcIlxcdTkwN0VcXHU5MDgxXCJdLFxuICAgICAgW1wiZGY4MFwiLCBcIlxcdTkwODRcXHU5MDg1XFx1OTA4NlxcdTkwODdcXHU5MDg5XFx1OTA4QVxcdTkwOENcIiwgNCwgXCJcXHU5MDkyXFx1OTA5NFxcdTkwOTZcXHU5MDk4XFx1OTA5QVxcdTkwOUNcXHU5MDlFXFx1OTA5RlxcdTkwQTBcXHU5MEE0XFx1OTBBNVxcdTkwQTdcXHU5MEE4XFx1OTBBOVxcdTkwQUJcXHU5MEFEXFx1OTBCMlxcdTkwQjdcXHU5MEJDXFx1OTBCRFxcdTkwQkZcXHU5MEMwXFx1NjQ3QVxcdTY0QjdcXHU2NEI4XFx1NjQ5OVxcdTY0QkFcXHU2NEMwXFx1NjREMFxcdTY0RDdcXHU2NEU0XFx1NjRFMlxcdTY1MDlcXHU2NTI1XFx1NjUyRVxcdTVGMEJcXHU1RkQyXFx1NzUxOVxcdTVGMTFcXHU1MzVGXFx1NTNGMVxcdTUzRkRcXHU1M0U5XFx1NTNFOFxcdTUzRkJcXHU1NDEyXFx1NTQxNlxcdTU0MDZcXHU1NDRCXFx1NTQ1MlxcdTU0NTNcXHU1NDU0XFx1NTQ1NlxcdTU0NDNcXHU1NDIxXFx1NTQ1N1xcdTU0NTlcXHU1NDIzXFx1NTQzMlxcdTU0ODJcXHU1NDk0XFx1NTQ3N1xcdTU0NzFcXHU1NDY0XFx1NTQ5QVxcdTU0OUJcXHU1NDg0XFx1NTQ3NlxcdTU0NjZcXHU1NDlEXFx1NTREMFxcdTU0QURcXHU1NEMyXFx1NTRCNFxcdTU0RDJcXHU1NEE3XFx1NTRBNlxcdTU0RDNcXHU1NEQ0XFx1NTQ3MlxcdTU0QTNcXHU1NEQ1XFx1NTRCQlxcdTU0QkZcXHU1NENDXFx1NTREOVxcdTU0REFcXHU1NERDXFx1NTRBOVxcdTU0QUFcXHU1NEE0XFx1NTRERFxcdTU0Q0ZcXHU1NERFXFx1NTUxQlxcdTU0RTdcXHU1NTIwXFx1NTRGRFxcdTU1MTRcXHU1NEYzXFx1NTUyMlxcdTU1MjNcXHU1NTBGXFx1NTUxMVxcdTU1MjdcXHU1NTJBXFx1NTU2N1xcdTU1OEZcXHU1NUI1XFx1NTU0OVxcdTU1NkRcXHU1NTQxXFx1NTU1NVxcdTU1M0ZcXHU1NTUwXFx1NTUzQ1wiXSxcbiAgICAgIFtcImUwNDBcIiwgXCJcXHU5MEMyXFx1OTBDM1xcdTkwQzZcXHU5MEM4XFx1OTBDOVxcdTkwQ0JcXHU5MENDXFx1OTBDRFxcdTkwRDJcXHU5MEQ0XFx1OTBENVxcdTkwRDZcXHU5MEQ4XFx1OTBEOVxcdTkwREFcXHU5MERFXFx1OTBERlxcdTkwRTBcXHU5MEUzXFx1OTBFNFxcdTkwRTVcXHU5MEU5XFx1OTBFQVxcdTkwRUNcXHU5MEVFXFx1OTBGMFxcdTkwRjFcXHU5MEYyXFx1OTBGM1xcdTkwRjVcXHU5MEY2XFx1OTBGN1xcdTkwRjlcXHU5MEZBXFx1OTBGQlxcdTkwRkNcXHU5MEZGXFx1OTEwMFxcdTkxMDFcXHU5MTAzXFx1OTEwNVwiLCAxOSwgXCJcXHU5MTFBXFx1OTExQlxcdTkxMUNcIl0sXG4gICAgICBbXCJlMDgwXCIsIFwiXFx1OTExRFxcdTkxMUZcXHU5MTIwXFx1OTEyMVxcdTkxMjRcIiwgMTAsIFwiXFx1OTEzMFxcdTkxMzJcIiwgNiwgXCJcXHU5MTNBXCIsIDgsIFwiXFx1OTE0NFxcdTU1MzdcXHU1NTU2XFx1NTU3NVxcdTU1NzZcXHU1NTc3XFx1NTUzM1xcdTU1MzBcXHU1NTVDXFx1NTU4QlxcdTU1RDJcXHU1NTgzXFx1NTVCMVxcdTU1QjlcXHU1NTg4XFx1NTU4MVxcdTU1OUZcXHU1NTdFXFx1NTVENlxcdTU1OTFcXHU1NTdCXFx1NTVERlxcdTU1QkRcXHU1NUJFXFx1NTU5NFxcdTU1OTlcXHU1NUVBXFx1NTVGN1xcdTU1QzlcXHU1NjFGXFx1NTVEMVxcdTU1RUJcXHU1NUVDXFx1NTVENFxcdTU1RTZcXHU1NUREXFx1NTVDNFxcdTU1RUZcXHU1NUU1XFx1NTVGMlxcdTU1RjNcXHU1NUNDXFx1NTVDRFxcdTU1RThcXHU1NUY1XFx1NTVFNFxcdThGOTRcXHU1NjFFXFx1NTYwOFxcdTU2MENcXHU1NjAxXFx1NTYyNFxcdTU2MjNcXHU1NUZFXFx1NTYwMFxcdTU2MjdcXHU1NjJEXFx1NTY1OFxcdTU2MzlcXHU1NjU3XFx1NTYyQ1xcdTU2NERcXHU1NjYyXFx1NTY1OVxcdTU2NUNcXHU1NjRDXFx1NTY1NFxcdTU2ODZcXHU1NjY0XFx1NTY3MVxcdTU2NkJcXHU1NjdCXFx1NTY3Q1xcdTU2ODVcXHU1NjkzXFx1NTZBRlxcdTU2RDRcXHU1NkQ3XFx1NTZERFxcdTU2RTFcXHU1NkY1XFx1NTZFQlxcdTU2RjlcXHU1NkZGXFx1NTcwNFxcdTU3MEFcXHU1NzA5XFx1NTcxQ1xcdTVFMEZcXHU1RTE5XFx1NUUxNFxcdTVFMTFcXHU1RTMxXFx1NUUzQlxcdTVFM0NcIl0sXG4gICAgICBbXCJlMTQwXCIsIFwiXFx1OTE0NVxcdTkxNDdcXHU5MTQ4XFx1OTE1MVxcdTkxNTNcXHU5MTU0XFx1OTE1NVxcdTkxNTZcXHU5MTU4XFx1OTE1OVxcdTkxNUJcXHU5MTVDXFx1OTE1RlxcdTkxNjBcXHU5MTY2XFx1OTE2N1xcdTkxNjhcXHU5MTZCXFx1OTE2RFxcdTkxNzNcXHU5MTdBXFx1OTE3QlxcdTkxN0NcXHU5MTgwXCIsIDQsIFwiXFx1OTE4NlxcdTkxODhcXHU5MThBXFx1OTE4RVxcdTkxOEZcXHU5MTkzXCIsIDYsIFwiXFx1OTE5Q1wiLCA1LCBcIlxcdTkxQTRcIiwgNSwgXCJcXHU5MUFCXFx1OTFBQ1xcdTkxQjBcXHU5MUIxXFx1OTFCMlxcdTkxQjNcXHU5MUI2XFx1OTFCN1xcdTkxQjhcXHU5MUI5XFx1OTFCQlwiXSxcbiAgICAgIFtcImUxODBcIiwgXCJcXHU5MUJDXCIsIDEwLCBcIlxcdTkxQzhcXHU5MUNCXFx1OTFEMFxcdTkxRDJcIiwgOSwgXCJcXHU5MUREXCIsIDgsIFwiXFx1NUUzN1xcdTVFNDRcXHU1RTU0XFx1NUU1QlxcdTVFNUVcXHU1RTYxXFx1NUM4Q1xcdTVDN0FcXHU1QzhEXFx1NUM5MFxcdTVDOTZcXHU1Qzg4XFx1NUM5OFxcdTVDOTlcXHU1QzkxXFx1NUM5QVxcdTVDOUNcXHU1Q0I1XFx1NUNBMlxcdTVDQkRcXHU1Q0FDXFx1NUNBQlxcdTVDQjFcXHU1Q0EzXFx1NUNDMVxcdTVDQjdcXHU1Q0M0XFx1NUNEMlxcdTVDRTRcXHU1Q0NCXFx1NUNFNVxcdTVEMDJcXHU1RDAzXFx1NUQyN1xcdTVEMjZcXHU1RDJFXFx1NUQyNFxcdTVEMUVcXHU1RDA2XFx1NUQxQlxcdTVENThcXHU1RDNFXFx1NUQzNFxcdTVEM0RcXHU1RDZDXFx1NUQ1QlxcdTVENkZcXHU1RDVEXFx1NUQ2QlxcdTVENEJcXHU1RDRBXFx1NUQ2OVxcdTVENzRcXHU1RDgyXFx1NUQ5OVxcdTVEOURcXHU4QzczXFx1NURCN1xcdTVEQzVcXHU1RjczXFx1NUY3N1xcdTVGODJcXHU1Rjg3XFx1NUY4OVxcdTVGOENcXHU1Rjk1XFx1NUY5OVxcdTVGOUNcXHU1RkE4XFx1NUZBRFxcdTVGQjVcXHU1RkJDXFx1ODg2MlxcdTVGNjFcXHU3MkFEXFx1NzJCMFxcdTcyQjRcXHU3MkI3XFx1NzJCOFxcdTcyQzNcXHU3MkMxXFx1NzJDRVxcdTcyQ0RcXHU3MkQyXFx1NzJFOFxcdTcyRUZcXHU3MkU5XFx1NzJGMlxcdTcyRjRcXHU3MkY3XFx1NzMwMVxcdTcyRjNcXHU3MzAzXFx1NzJGQVwiXSxcbiAgICAgIFtcImUyNDBcIiwgXCJcXHU5MUU2XCIsIDYyXSxcbiAgICAgIFtcImUyODBcIiwgXCJcXHU5MjI1XCIsIDMyLCBcIlxcdTcyRkJcXHU3MzE3XFx1NzMxM1xcdTczMjFcXHU3MzBBXFx1NzMxRVxcdTczMURcXHU3MzE1XFx1NzMyMlxcdTczMzlcXHU3MzI1XFx1NzMyQ1xcdTczMzhcXHU3MzMxXFx1NzM1MFxcdTczNERcXHU3MzU3XFx1NzM2MFxcdTczNkNcXHU3MzZGXFx1NzM3RVxcdTgyMUJcXHU1OTI1XFx1OThFN1xcdTU5MjRcXHU1OTAyXFx1OTk2M1xcdTk5NjdcIiwgNSwgXCJcXHU5OTc0XFx1OTk3N1xcdTk5N0RcXHU5OTgwXFx1OTk4NFxcdTk5ODdcXHU5OThBXFx1OTk4RFxcdTk5OTBcXHU5OTkxXFx1OTk5M1xcdTk5OTRcXHU5OTk1XFx1NUU4MFxcdTVFOTFcXHU1RThCXFx1NUU5NlxcdTVFQTVcXHU1RUEwXFx1NUVCOVxcdTVFQjVcXHU1RUJFXFx1NUVCM1xcdThENTNcXHU1RUQyXFx1NUVEMVxcdTVFREJcXHU1RUU4XFx1NUVFQVxcdTgxQkFcXHU1RkM0XFx1NUZDOVxcdTVGRDZcXHU1RkNGXFx1NjAwM1xcdTVGRUVcXHU2MDA0XFx1NUZFMVxcdTVGRTRcXHU1RkZFXFx1NjAwNVxcdTYwMDZcXHU1RkVBXFx1NUZFRFxcdTVGRjhcXHU2MDE5XFx1NjAzNVxcdTYwMjZcXHU2MDFCXFx1NjAwRlxcdTYwMERcXHU2MDI5XFx1NjAyQlxcdTYwMEFcXHU2MDNGXFx1NjAyMVxcdTYwNzhcXHU2MDc5XFx1NjA3QlxcdTYwN0FcXHU2MDQyXCJdLFxuICAgICAgW1wiZTM0MFwiLCBcIlxcdTkyNDZcIiwgNDUsIFwiXFx1OTI3NVwiLCAxNl0sXG4gICAgICBbXCJlMzgwXCIsIFwiXFx1OTI4NlwiLCA3LCBcIlxcdTkyOEZcIiwgMjQsIFwiXFx1NjA2QVxcdTYwN0RcXHU2MDk2XFx1NjA5QVxcdTYwQURcXHU2MDlEXFx1NjA4M1xcdTYwOTJcXHU2MDhDXFx1NjA5QlxcdTYwRUNcXHU2MEJCXFx1NjBCMVxcdTYwRERcXHU2MEQ4XFx1NjBDNlxcdTYwREFcXHU2MEI0XFx1NjEyMFxcdTYxMjZcXHU2MTE1XFx1NjEyM1xcdTYwRjRcXHU2MTAwXFx1NjEwRVxcdTYxMkJcXHU2MTRBXFx1NjE3NVxcdTYxQUNcXHU2MTk0XFx1NjFBN1xcdTYxQjdcXHU2MUQ0XFx1NjFGNVxcdTVGRERcXHU5NkIzXFx1OTVFOVxcdTk1RUJcXHU5NUYxXFx1OTVGM1xcdTk1RjVcXHU5NUY2XFx1OTVGQ1xcdTk1RkVcXHU5NjAzXFx1OTYwNFxcdTk2MDZcXHU5NjA4XFx1OTYwQVxcdTk2MEJcXHU5NjBDXFx1OTYwRFxcdTk2MEZcXHU5NjEyXFx1OTYxNVxcdTk2MTZcXHU5NjE3XFx1OTYxOVxcdTk2MUFcXHU0RTJDXFx1NzIzRlxcdTYyMTVcXHU2QzM1XFx1NkM1NFxcdTZDNUNcXHU2QzRBXFx1NkNBM1xcdTZDODVcXHU2QzkwXFx1NkM5NFxcdTZDOENcXHU2QzY4XFx1NkM2OVxcdTZDNzRcXHU2Qzc2XFx1NkM4NlxcdTZDQTlcXHU2Q0QwXFx1NkNENFxcdTZDQURcXHU2Q0Y3XFx1NkNGOFxcdTZDRjFcXHU2Q0Q3XFx1NkNCMlxcdTZDRTBcXHU2Q0Q2XFx1NkNGQVxcdTZDRUJcXHU2Q0VFXFx1NkNCMVxcdTZDRDNcXHU2Q0VGXFx1NkNGRVwiXSxcbiAgICAgIFtcImU0NDBcIiwgXCJcXHU5MkE4XCIsIDUsIFwiXFx1OTJBRlwiLCAyNCwgXCJcXHU5MkM5XCIsIDMxXSxcbiAgICAgIFtcImU0ODBcIiwgXCJcXHU5MkU5XCIsIDMyLCBcIlxcdTZEMzlcXHU2RDI3XFx1NkQwQ1xcdTZENDNcXHU2RDQ4XFx1NkQwN1xcdTZEMDRcXHU2RDE5XFx1NkQwRVxcdTZEMkJcXHU2RDREXFx1NkQyRVxcdTZEMzVcXHU2RDFBXFx1NkQ0RlxcdTZENTJcXHU2RDU0XFx1NkQzM1xcdTZEOTFcXHU2RDZGXFx1NkQ5RVxcdTZEQTBcXHU2RDVFXFx1NkQ5M1xcdTZEOTRcXHU2RDVDXFx1NkQ2MFxcdTZEN0NcXHU2RDYzXFx1NkUxQVxcdTZEQzdcXHU2REM1XFx1NkRERVxcdTZFMEVcXHU2REJGXFx1NkRFMFxcdTZFMTFcXHU2REU2XFx1NkRERFxcdTZERDlcXHU2RTE2XFx1NkRBQlxcdTZFMENcXHU2REFFXFx1NkUyQlxcdTZFNkVcXHU2RTRFXFx1NkU2QlxcdTZFQjJcXHU2RTVGXFx1NkU4NlxcdTZFNTNcXHU2RTU0XFx1NkUzMlxcdTZFMjVcXHU2RTQ0XFx1NkVERlxcdTZFQjFcXHU2RTk4XFx1NkVFMFxcdTZGMkRcXHU2RUUyXFx1NkVBNVxcdTZFQTdcXHU2RUJEXFx1NkVCQlxcdTZFQjdcXHU2RUQ3XFx1NkVCNFxcdTZFQ0ZcXHU2RThGXFx1NkVDMlxcdTZFOUZcXHU2RjYyXFx1NkY0NlxcdTZGNDdcXHU2RjI0XFx1NkYxNVxcdTZFRjlcXHU2RjJGXFx1NkYzNlxcdTZGNEJcXHU2Rjc0XFx1NkYyQVxcdTZGMDlcXHU2RjI5XFx1NkY4OVxcdTZGOERcXHU2RjhDXFx1NkY3OFxcdTZGNzJcXHU2RjdDXFx1NkY3QVxcdTZGRDFcIl0sXG4gICAgICBbXCJlNTQwXCIsIFwiXFx1OTMwQVwiLCA1MSwgXCJcXHU5MzNGXCIsIDEwXSxcbiAgICAgIFtcImU1ODBcIiwgXCJcXHU5MzRBXCIsIDMxLCBcIlxcdTkzNkJcXHU2RkM5XFx1NkZBN1xcdTZGQjlcXHU2RkI2XFx1NkZDMlxcdTZGRTFcXHU2RkVFXFx1NkZERVxcdTZGRTBcXHU2RkVGXFx1NzAxQVxcdTcwMjNcXHU3MDFCXFx1NzAzOVxcdTcwMzVcXHU3MDRGXFx1NzA1RVxcdTVCODBcXHU1Qjg0XFx1NUI5NVxcdTVCOTNcXHU1QkE1XFx1NUJCOFxcdTc1MkZcXHU5QTlFXFx1NjQzNFxcdTVCRTRcXHU1QkVFXFx1ODkzMFxcdTVCRjBcXHU4RTQ3XFx1OEIwN1xcdThGQjZcXHU4RkQzXFx1OEZENVxcdThGRTVcXHU4RkVFXFx1OEZFNFxcdThGRTlcXHU4RkU2XFx1OEZGM1xcdThGRThcXHU5MDA1XFx1OTAwNFxcdTkwMEJcXHU5MDI2XFx1OTAxMVxcdTkwMERcXHU5MDE2XFx1OTAyMVxcdTkwMzVcXHU5MDM2XFx1OTAyRFxcdTkwMkZcXHU5MDQ0XFx1OTA1MVxcdTkwNTJcXHU5MDUwXFx1OTA2OFxcdTkwNThcXHU5MDYyXFx1OTA1QlxcdTY2QjlcXHU5MDc0XFx1OTA3RFxcdTkwODJcXHU5MDg4XFx1OTA4M1xcdTkwOEJcXHU1RjUwXFx1NUY1N1xcdTVGNTZcXHU1RjU4XFx1NUMzQlxcdTU0QUJcXHU1QzUwXFx1NUM1OVxcdTVCNzFcXHU1QzYzXFx1NUM2NlxcdTdGQkNcXHU1RjJBXFx1NUYyOVxcdTVGMkRcXHU4Mjc0XFx1NUYzQ1xcdTlCM0JcXHU1QzZFXFx1NTk4MVxcdTU5ODNcXHU1OThEXFx1NTlBOVxcdTU5QUFcXHU1OUEzXCJdLFxuICAgICAgW1wiZTY0MFwiLCBcIlxcdTkzNkNcIiwgMzQsIFwiXFx1OTM5MFwiLCAyN10sXG4gICAgICBbXCJlNjgwXCIsIFwiXFx1OTNBQ1wiLCAyOSwgXCJcXHU5M0NCXFx1OTNDQ1xcdTkzQ0RcXHU1OTk3XFx1NTlDQVxcdTU5QUJcXHU1OTlFXFx1NTlBNFxcdTU5RDJcXHU1OUIyXFx1NTlBRlxcdTU5RDdcXHU1OUJFXFx1NUEwNVxcdTVBMDZcXHU1OUREXFx1NUEwOFxcdTU5RTNcXHU1OUQ4XFx1NTlGOVxcdTVBMENcXHU1QTA5XFx1NUEzMlxcdTVBMzRcXHU1QTExXFx1NUEyM1xcdTVBMTNcXHU1QTQwXFx1NUE2N1xcdTVBNEFcXHU1QTU1XFx1NUEzQ1xcdTVBNjJcXHU1QTc1XFx1ODBFQ1xcdTVBQUFcXHU1QTlCXFx1NUE3N1xcdTVBN0FcXHU1QUJFXFx1NUFFQlxcdTVBQjJcXHU1QUQyXFx1NUFENFxcdTVBQjhcXHU1QUUwXFx1NUFFM1xcdTVBRjFcXHU1QUQ2XFx1NUFFNlxcdTVBRDhcXHU1QURDXFx1NUIwOVxcdTVCMTdcXHU1QjE2XFx1NUIzMlxcdTVCMzdcXHU1QjQwXFx1NUMxNVxcdTVDMUNcXHU1QjVBXFx1NUI2NVxcdTVCNzNcXHU1QjUxXFx1NUI1M1xcdTVCNjJcXHU5QTc1XFx1OUE3N1xcdTlBNzhcXHU5QTdBXFx1OUE3RlxcdTlBN0RcXHU5QTgwXFx1OUE4MVxcdTlBODVcXHU5QTg4XFx1OUE4QVxcdTlBOTBcXHU5QTkyXFx1OUE5M1xcdTlBOTZcXHU5QTk4XFx1OUE5QlxcdTlBOUNcXHU5QTlEXFx1OUE5RlxcdTlBQTBcXHU5QUEyXFx1OUFBM1xcdTlBQTVcXHU5QUE3XFx1N0U5RlxcdTdFQTFcXHU3RUEzXFx1N0VBNVxcdTdFQThcXHU3RUE5XCJdLFxuICAgICAgW1wiZTc0MFwiLCBcIlxcdTkzQ0VcIiwgNywgXCJcXHU5M0Q3XCIsIDU0XSxcbiAgICAgIFtcImU3ODBcIiwgXCJcXHU5NDBFXCIsIDMyLCBcIlxcdTdFQURcXHU3RUIwXFx1N0VCRVxcdTdFQzBcXHU3RUMxXFx1N0VDMlxcdTdFQzlcXHU3RUNCXFx1N0VDQ1xcdTdFRDBcXHU3RUQ0XFx1N0VEN1xcdTdFREJcXHU3RUUwXFx1N0VFMVxcdTdFRThcXHU3RUVCXFx1N0VFRVxcdTdFRUZcXHU3RUYxXFx1N0VGMlxcdTdGMERcXHU3RUY2XFx1N0VGQVxcdTdFRkJcXHU3RUZFXFx1N0YwMVxcdTdGMDJcXHU3RjAzXFx1N0YwN1xcdTdGMDhcXHU3RjBCXFx1N0YwQ1xcdTdGMEZcXHU3RjExXFx1N0YxMlxcdTdGMTdcXHU3RjE5XFx1N0YxQ1xcdTdGMUJcXHU3RjFGXFx1N0YyMVwiLCA2LCBcIlxcdTdGMkFcXHU3RjJCXFx1N0YyQ1xcdTdGMkRcXHU3RjJGXCIsIDQsIFwiXFx1N0YzNVxcdTVFN0FcXHU3NTdGXFx1NUREQlxcdTc1M0VcXHU5MDk1XFx1NzM4RVxcdTczOTFcXHU3M0FFXFx1NzNBMlxcdTczOUZcXHU3M0NGXFx1NzNDMlxcdTczRDFcXHU3M0I3XFx1NzNCM1xcdTczQzBcXHU3M0M5XFx1NzNDOFxcdTczRTVcXHU3M0Q5XFx1OTg3Q1xcdTc0MEFcXHU3M0U5XFx1NzNFN1xcdTczREVcXHU3M0JBXFx1NzNGMlxcdTc0MEZcXHU3NDJBXFx1NzQ1QlxcdTc0MjZcXHU3NDI1XFx1NzQyOFxcdTc0MzBcXHU3NDJFXFx1NzQyQ1wiXSxcbiAgICAgIFtcImU4NDBcIiwgXCJcXHU5NDJGXCIsIDE0LCBcIlxcdTk0M0ZcIiwgNDMsIFwiXFx1OTQ2Q1xcdTk0NkRcXHU5NDZFXFx1OTQ2RlwiXSxcbiAgICAgIFtcImU4ODBcIiwgXCJcXHU5NDcwXCIsIDIwLCBcIlxcdTk0OTFcXHU5NDk2XFx1OTQ5OFxcdTk0QzdcXHU5NENGXFx1OTREM1xcdTk0RDRcXHU5NERBXFx1OTRFNlxcdTk0RkJcXHU5NTFDXFx1OTUyMFxcdTc0MUJcXHU3NDFBXFx1NzQ0MVxcdTc0NUNcXHU3NDU3XFx1NzQ1NVxcdTc0NTlcXHU3NDc3XFx1NzQ2RFxcdTc0N0VcXHU3NDlDXFx1NzQ4RVxcdTc0ODBcXHU3NDgxXFx1NzQ4N1xcdTc0OEJcXHU3NDlFXFx1NzRBOFxcdTc0QTlcXHU3NDkwXFx1NzRBN1xcdTc0RDJcXHU3NEJBXFx1OTdFQVxcdTk3RUJcXHU5N0VDXFx1Njc0Q1xcdTY3NTNcXHU2NzVFXFx1Njc0OFxcdTY3NjlcXHU2N0E1XFx1Njc4N1xcdTY3NkFcXHU2NzczXFx1Njc5OFxcdTY3QTdcXHU2Nzc1XFx1NjdBOFxcdTY3OUVcXHU2N0FEXFx1Njc4QlxcdTY3NzdcXHU2NzdDXFx1NjdGMFxcdTY4MDlcXHU2N0Q4XFx1NjgwQVxcdTY3RTlcXHU2N0IwXFx1NjgwQ1xcdTY3RDlcXHU2N0I1XFx1NjdEQVxcdTY3QjNcXHU2N0REXFx1NjgwMFxcdTY3QzNcXHU2N0I4XFx1NjdFMlxcdTY4MEVcXHU2N0MxXFx1NjdGRFxcdTY4MzJcXHU2ODMzXFx1Njg2MFxcdTY4NjFcXHU2ODRFXFx1Njg2MlxcdTY4NDRcXHU2ODY0XFx1Njg4M1xcdTY4MURcXHU2ODU1XFx1Njg2NlxcdTY4NDFcXHU2ODY3XFx1Njg0MFxcdTY4M0VcXHU2ODRBXFx1Njg0OVxcdTY4MjlcXHU2OEI1XFx1Njg4RlxcdTY4NzRcXHU2ODc3XFx1Njg5M1xcdTY4NkJcXHU2OEMyXFx1Njk2RVxcdTY4RkNcXHU2OTFGXFx1NjkyMFxcdTY4RjlcIl0sXG4gICAgICBbXCJlOTQwXCIsIFwiXFx1OTUyN1xcdTk1MzNcXHU5NTNEXFx1OTU0M1xcdTk1NDhcXHU5NTRCXFx1OTU1NVxcdTk1NUFcXHU5NTYwXFx1OTU2RVxcdTk1NzRcXHU5NTc1XFx1OTU3N1wiLCA3LCBcIlxcdTk1ODBcIiwgNDJdLFxuICAgICAgW1wiZTk4MFwiLCBcIlxcdTk1QUJcIiwgMzIsIFwiXFx1NjkyNFxcdTY4RjBcXHU2OTBCXFx1NjkwMVxcdTY5NTdcXHU2OEUzXFx1NjkxMFxcdTY5NzFcXHU2OTM5XFx1Njk2MFxcdTY5NDJcXHU2OTVEXFx1Njk4NFxcdTY5NkJcXHU2OTgwXFx1Njk5OFxcdTY5NzhcXHU2OTM0XFx1NjlDQ1xcdTY5ODdcXHU2OTg4XFx1NjlDRVxcdTY5ODlcXHU2OTY2XFx1Njk2M1xcdTY5NzlcXHU2OTlCXFx1NjlBN1xcdTY5QkJcXHU2OUFCXFx1NjlBRFxcdTY5RDRcXHU2OUIxXFx1NjlDMVxcdTY5Q0FcXHU2OURGXFx1Njk5NVxcdTY5RTBcXHU2OThEXFx1NjlGRlxcdTZBMkZcXHU2OUVEXFx1NkExN1xcdTZBMThcXHU2QTY1XFx1NjlGMlxcdTZBNDRcXHU2QTNFXFx1NkFBMFxcdTZBNTBcXHU2QTVCXFx1NkEzNVxcdTZBOEVcXHU2QTc5XFx1NkEzRFxcdTZBMjhcXHU2QTU4XFx1NkE3Q1xcdTZBOTFcXHU2QTkwXFx1NkFBOVxcdTZBOTdcXHU2QUFCXFx1NzMzN1xcdTczNTJcXHU2QjgxXFx1NkI4MlxcdTZCODdcXHU2Qjg0XFx1NkI5MlxcdTZCOTNcXHU2QjhEXFx1NkI5QVxcdTZCOUJcXHU2QkExXFx1NkJBQVxcdThGNkJcXHU4RjZEXFx1OEY3MVxcdThGNzJcXHU4RjczXFx1OEY3NVxcdThGNzZcXHU4Rjc4XFx1OEY3N1xcdThGNzlcXHU4RjdBXFx1OEY3Q1xcdThGN0VcXHU4RjgxXFx1OEY4MlxcdThGODRcXHU4Rjg3XFx1OEY4QlwiXSxcbiAgICAgIFtcImVhNDBcIiwgXCJcXHU5NUNDXCIsIDI3LCBcIlxcdTk1RUNcXHU5NUZGXFx1OTYwN1xcdTk2MTNcXHU5NjE4XFx1OTYxQlxcdTk2MUVcXHU5NjIwXFx1OTYyM1wiLCA2LCBcIlxcdTk2MkJcXHU5NjJDXFx1OTYyRFxcdTk2MkZcXHU5NjMwXFx1OTYzN1xcdTk2MzhcXHU5NjM5XFx1OTYzQVxcdTk2M0VcXHU5NjQxXFx1OTY0M1xcdTk2NEFcXHU5NjRFXFx1OTY0RlxcdTk2NTFcXHU5NjUyXFx1OTY1M1xcdTk2NTZcXHU5NjU3XCJdLFxuICAgICAgW1wiZWE4MFwiLCBcIlxcdTk2NThcXHU5NjU5XFx1OTY1QVxcdTk2NUNcXHU5NjVEXFx1OTY1RVxcdTk2NjBcXHU5NjYzXFx1OTY2NVxcdTk2NjZcXHU5NjZCXFx1OTY2RFwiLCA0LCBcIlxcdTk2NzNcXHU5Njc4XCIsIDEyLCBcIlxcdTk2ODdcXHU5Njg5XFx1OTY4QVxcdThGOERcXHU4RjhFXFx1OEY4RlxcdThGOThcXHU4RjlBXFx1OEVDRVxcdTYyMEJcXHU2MjE3XFx1NjIxQlxcdTYyMUZcXHU2MjIyXFx1NjIyMVxcdTYyMjVcXHU2MjI0XFx1NjIyQ1xcdTgxRTdcXHU3NEVGXFx1NzRGNFxcdTc0RkZcXHU3NTBGXFx1NzUxMVxcdTc1MTNcXHU2NTM0XFx1NjVFRVxcdTY1RUZcXHU2NUYwXFx1NjYwQVxcdTY2MTlcXHU2NzcyXFx1NjYwM1xcdTY2MTVcXHU2NjAwXFx1NzA4NVxcdTY2RjdcXHU2NjFEXFx1NjYzNFxcdTY2MzFcXHU2NjM2XFx1NjYzNVxcdTgwMDZcXHU2NjVGXFx1NjY1NFxcdTY2NDFcXHU2NjRGXFx1NjY1NlxcdTY2NjFcXHU2NjU3XFx1NjY3N1xcdTY2ODRcXHU2NjhDXFx1NjZBN1xcdTY2OURcXHU2NkJFXFx1NjZEQlxcdTY2RENcXHU2NkU2XFx1NjZFOVxcdThEMzJcXHU4RDMzXFx1OEQzNlxcdThEM0JcXHU4RDNEXFx1OEQ0MFxcdThENDVcXHU4RDQ2XFx1OEQ0OFxcdThENDlcXHU4RDQ3XFx1OEQ0RFxcdThENTVcXHU4RDU5XFx1ODlDN1xcdTg5Q0FcXHU4OUNCXFx1ODlDQ1xcdTg5Q0VcXHU4OUNGXFx1ODlEMFxcdTg5RDFcXHU3MjZFXFx1NzI5RlxcdTcyNURcXHU3MjY2XFx1NzI2RlxcdTcyN0VcXHU3MjdGXFx1NzI4NFxcdTcyOEJcXHU3MjhEXFx1NzI4RlxcdTcyOTJcXHU2MzA4XFx1NjMzMlxcdTYzQjBcIl0sXG4gICAgICBbXCJlYjQwXCIsIFwiXFx1OTY4Q1xcdTk2OEVcXHU5NjkxXFx1OTY5MlxcdTk2OTNcXHU5Njk1XFx1OTY5NlxcdTk2OUFcXHU5NjlCXFx1OTY5RFwiLCA5LCBcIlxcdTk2QThcIiwgNywgXCJcXHU5NkIxXFx1OTZCMlxcdTk2QjRcXHU5NkI1XFx1OTZCN1xcdTk2QjhcXHU5NkJBXFx1OTZCQlxcdTk2QkZcXHU5NkMyXFx1OTZDM1xcdTk2QzhcXHU5NkNBXFx1OTZDQlxcdTk2RDBcXHU5NkQxXFx1OTZEM1xcdTk2RDRcXHU5NkQ2XCIsIDksIFwiXFx1OTZFMVwiLCA2LCBcIlxcdTk2RUJcIl0sXG4gICAgICBbXCJlYjgwXCIsIFwiXFx1OTZFQ1xcdTk2RURcXHU5NkVFXFx1OTZGMFxcdTk2RjFcXHU5NkYyXFx1OTZGNFxcdTk2RjVcXHU5NkY4XFx1OTZGQVxcdTk2RkJcXHU5NkZDXFx1OTZGRFxcdTk2RkZcXHU5NzAyXFx1OTcwM1xcdTk3MDVcXHU5NzBBXFx1OTcwQlxcdTk3MENcXHU5NzEwXFx1OTcxMVxcdTk3MTJcXHU5NzE0XFx1OTcxNVxcdTk3MTdcIiwgNCwgXCJcXHU5NzFEXFx1OTcxRlxcdTk3MjBcXHU2NDNGXFx1NjREOFxcdTgwMDRcXHU2QkVBXFx1NkJGM1xcdTZCRkRcXHU2QkY1XFx1NkJGOVxcdTZDMDVcXHU2QzA3XFx1NkMwNlxcdTZDMERcXHU2QzE1XFx1NkMxOFxcdTZDMTlcXHU2QzFBXFx1NkMyMVxcdTZDMjlcXHU2QzI0XFx1NkMyQVxcdTZDMzJcXHU2NTM1XFx1NjU1NVxcdTY1NkJcXHU3MjREXFx1NzI1MlxcdTcyNTZcXHU3MjMwXFx1ODY2MlxcdTUyMTZcXHU4MDlGXFx1ODA5Q1xcdTgwOTNcXHU4MEJDXFx1NjcwQVxcdTgwQkRcXHU4MEIxXFx1ODBBQlxcdTgwQURcXHU4MEI0XFx1ODBCN1xcdTgwRTdcXHU4MEU4XFx1ODBFOVxcdTgwRUFcXHU4MERCXFx1ODBDMlxcdTgwQzRcXHU4MEQ5XFx1ODBDRFxcdTgwRDdcXHU2NzEwXFx1ODBERFxcdTgwRUJcXHU4MEYxXFx1ODBGNFxcdTgwRURcXHU4MTBEXFx1ODEwRVxcdTgwRjJcXHU4MEZDXFx1NjcxNVxcdTgxMTJcXHU4QzVBXFx1ODEzNlxcdTgxMUVcXHU4MTJDXFx1ODExOFxcdTgxMzJcXHU4MTQ4XFx1ODE0Q1xcdTgxNTNcXHU4MTc0XFx1ODE1OVxcdTgxNUFcXHU4MTcxXFx1ODE2MFxcdTgxNjlcXHU4MTdDXFx1ODE3RFxcdTgxNkRcXHU4MTY3XFx1NTg0RFxcdTVBQjVcXHU4MTg4XFx1ODE4MlxcdTgxOTFcXHU2RUQ1XFx1ODFBM1xcdTgxQUFcXHU4MUNDXFx1NjcyNlxcdTgxQ0FcXHU4MUJCXCJdLFxuICAgICAgW1wiZWM0MFwiLCBcIlxcdTk3MjFcIiwgOCwgXCJcXHU5NzJCXFx1OTcyQ1xcdTk3MkVcXHU5NzJGXFx1OTczMVxcdTk3MzNcIiwgNCwgXCJcXHU5NzNBXFx1OTczQlxcdTk3M0NcXHU5NzNEXFx1OTczRlwiLCAxOCwgXCJcXHU5NzU0XFx1OTc1NVxcdTk3NTdcXHU5NzU4XFx1OTc1QVxcdTk3NUNcXHU5NzVEXFx1OTc1RlxcdTk3NjNcXHU5NzY0XFx1OTc2NlxcdTk3NjdcXHU5NzY4XFx1OTc2QVwiLCA3XSxcbiAgICAgIFtcImVjODBcIiwgXCJcXHU5NzcyXFx1OTc3NVxcdTk3NzdcIiwgNCwgXCJcXHU5NzdEXCIsIDcsIFwiXFx1OTc4NlwiLCA0LCBcIlxcdTk3OENcXHU5NzhFXFx1OTc4RlxcdTk3OTBcXHU5NzkzXFx1OTc5NVxcdTk3OTZcXHU5Nzk3XFx1OTc5OVwiLCA0LCBcIlxcdTgxQzFcXHU4MUE2XFx1NkIyNFxcdTZCMzdcXHU2QjM5XFx1NkI0M1xcdTZCNDZcXHU2QjU5XFx1OThEMVxcdTk4RDJcXHU5OEQzXFx1OThENVxcdTk4RDlcXHU5OERBXFx1NkJCM1xcdTVGNDBcXHU2QkMyXFx1ODlGM1xcdTY1OTBcXHU5RjUxXFx1NjU5M1xcdTY1QkNcXHU2NUM2XFx1NjVDNFxcdTY1QzNcXHU2NUNDXFx1NjVDRVxcdTY1RDJcXHU2NUQ2XFx1NzA4MFxcdTcwOUNcXHU3MDk2XFx1NzA5RFxcdTcwQkJcXHU3MEMwXFx1NzBCN1xcdTcwQUJcXHU3MEIxXFx1NzBFOFxcdTcwQ0FcXHU3MTEwXFx1NzExM1xcdTcxMTZcXHU3MTJGXFx1NzEzMVxcdTcxNzNcXHU3MTVDXFx1NzE2OFxcdTcxNDVcXHU3MTcyXFx1NzE0QVxcdTcxNzhcXHU3MTdBXFx1NzE5OFxcdTcxQjNcXHU3MUI1XFx1NzFBOFxcdTcxQTBcXHU3MUUwXFx1NzFENFxcdTcxRTdcXHU3MUY5XFx1NzIxRFxcdTcyMjhcXHU3MDZDXFx1NzExOFxcdTcxNjZcXHU3MUI5XFx1NjIzRVxcdTYyM0RcXHU2MjQzXFx1NjI0OFxcdTYyNDlcXHU3OTNCXFx1Nzk0MFxcdTc5NDZcXHU3OTQ5XFx1Nzk1QlxcdTc5NUNcXHU3OTUzXFx1Nzk1QVxcdTc5NjJcXHU3OTU3XFx1Nzk2MFxcdTc5NkZcXHU3OTY3XFx1Nzk3QVxcdTc5ODVcXHU3OThBXFx1Nzk5QVxcdTc5QTdcXHU3OUIzXFx1NUZEMVxcdTVGRDBcIl0sXG4gICAgICBbXCJlZDQwXCIsIFwiXFx1OTc5RVxcdTk3OUZcXHU5N0ExXFx1OTdBMlxcdTk3QTRcIiwgNiwgXCJcXHU5N0FDXFx1OTdBRVxcdTk3QjBcXHU5N0IxXFx1OTdCM1xcdTk3QjVcIiwgNDZdLFxuICAgICAgW1wiZWQ4MFwiLCBcIlxcdTk3RTRcXHU5N0U1XFx1OTdFOFxcdTk3RUVcIiwgNCwgXCJcXHU5N0Y0XFx1OTdGN1wiLCAyMywgXCJcXHU2MDNDXFx1NjA1RFxcdTYwNUFcXHU2MDY3XFx1NjA0MVxcdTYwNTlcXHU2MDYzXFx1NjBBQlxcdTYxMDZcXHU2MTBEXFx1NjE1RFxcdTYxQTlcXHU2MTlEXFx1NjFDQlxcdTYxRDFcXHU2MjA2XFx1ODA4MFxcdTgwN0ZcXHU2QzkzXFx1NkNGNlxcdTZERkNcXHU3N0Y2XFx1NzdGOFxcdTc4MDBcXHU3ODA5XFx1NzgxN1xcdTc4MThcXHU3ODExXFx1NjVBQlxcdTc4MkRcXHU3ODFDXFx1NzgxRFxcdTc4MzlcXHU3ODNBXFx1NzgzQlxcdTc4MUZcXHU3ODNDXFx1NzgyNVxcdTc4MkNcXHU3ODIzXFx1NzgyOVxcdTc4NEVcXHU3ODZEXFx1Nzg1NlxcdTc4NTdcXHU3ODI2XFx1Nzg1MFxcdTc4NDdcXHU3ODRDXFx1Nzg2QVxcdTc4OUJcXHU3ODkzXFx1Nzg5QVxcdTc4ODdcXHU3ODlDXFx1NzhBMVxcdTc4QTNcXHU3OEIyXFx1NzhCOVxcdTc4QTVcXHU3OEQ0XFx1NzhEOVxcdTc4QzlcXHU3OEVDXFx1NzhGMlxcdTc5MDVcXHU3OEY0XFx1NzkxM1xcdTc5MjRcXHU3OTFFXFx1NzkzNFxcdTlGOUJcXHU5RUY5XFx1OUVGQlxcdTlFRkNcXHU3NkYxXFx1NzcwNFxcdTc3MERcXHU3NkY5XFx1NzcwN1xcdTc3MDhcXHU3NzFBXFx1NzcyMlxcdTc3MTlcXHU3NzJEXFx1NzcyNlxcdTc3MzVcXHU3NzM4XFx1Nzc1MFxcdTc3NTFcXHU3NzQ3XFx1Nzc0M1xcdTc3NUFcXHU3NzY4XCJdLFxuICAgICAgW1wiZWU0MFwiLCBcIlxcdTk4MEZcIiwgNjJdLFxuICAgICAgW1wiZWU4MFwiLCBcIlxcdTk4NEVcIiwgMzIsIFwiXFx1Nzc2MlxcdTc3NjVcXHU3NzdGXFx1Nzc4RFxcdTc3N0RcXHU3NzgwXFx1Nzc4Q1xcdTc3OTFcXHU3NzlGXFx1NzdBMFxcdTc3QjBcXHU3N0I1XFx1NzdCRFxcdTc1M0FcXHU3NTQwXFx1NzU0RVxcdTc1NEJcXHU3NTQ4XFx1NzU1QlxcdTc1NzJcXHU3NTc5XFx1NzU4M1xcdTdGNThcXHU3RjYxXFx1N0Y1RlxcdThBNDhcXHU3RjY4XFx1N0Y3NFxcdTdGNzFcXHU3Rjc5XFx1N0Y4MVxcdTdGN0VcXHU3NkNEXFx1NzZFNVxcdTg4MzJcXHU5NDg1XFx1OTQ4NlxcdTk0ODdcXHU5NDhCXFx1OTQ4QVxcdTk0OENcXHU5NDhEXFx1OTQ4RlxcdTk0OTBcXHU5NDk0XFx1OTQ5N1xcdTk0OTVcXHU5NDlBXFx1OTQ5QlxcdTk0OUNcXHU5NEEzXFx1OTRBNFxcdTk0QUJcXHU5NEFBXFx1OTRBRFxcdTk0QUNcXHU5NEFGXFx1OTRCMFxcdTk0QjJcXHU5NEI0XFx1OTRCNlwiLCA0LCBcIlxcdTk0QkNcXHU5NEJEXFx1OTRCRlxcdTk0QzRcXHU5NEM4XCIsIDYsIFwiXFx1OTREMFxcdTk0RDFcXHU5NEQyXFx1OTRENVxcdTk0RDZcXHU5NEQ3XFx1OTREOVxcdTk0RDhcXHU5NERCXFx1OTRERVxcdTk0REZcXHU5NEUwXFx1OTRFMlxcdTk0RTRcXHU5NEU1XFx1OTRFN1xcdTk0RThcXHU5NEVBXCJdLFxuICAgICAgW1wiZWY0MFwiLCBcIlxcdTk4NkZcIiwgNSwgXCJcXHU5ODhCXFx1OTg4RVxcdTk4OTJcXHU5ODk1XFx1OTg5OVxcdTk4QTNcXHU5OEE4XCIsIDM3LCBcIlxcdTk4Q0ZcXHU5OEQwXFx1OThENFxcdTk4RDZcXHU5OEQ3XFx1OThEQlxcdTk4RENcXHU5OEREXFx1OThFMFwiLCA0XSxcbiAgICAgIFtcImVmODBcIiwgXCJcXHU5OEU1XFx1OThFNlxcdTk4RTlcIiwgMzAsIFwiXFx1OTRFOVxcdTk0RUJcXHU5NEVFXFx1OTRFRlxcdTk0RjNcXHU5NEY0XFx1OTRGNVxcdTk0RjdcXHU5NEY5XFx1OTRGQ1xcdTk0RkRcXHU5NEZGXFx1OTUwM1xcdTk1MDJcXHU5NTA2XFx1OTUwN1xcdTk1MDlcXHU5NTBBXFx1OTUwRFxcdTk1MEVcXHU5NTBGXFx1OTUxMlwiLCA0LCBcIlxcdTk1MThcXHU5NTFCXFx1OTUxRFxcdTk1MUVcXHU5NTFGXFx1OTUyMlxcdTk1MkFcXHU5NTJCXFx1OTUyOVxcdTk1MkNcXHU5NTMxXFx1OTUzMlxcdTk1MzRcXHU5NTM2XFx1OTUzN1xcdTk1MzhcXHU5NTNDXFx1OTUzRVxcdTk1M0ZcXHU5NTQyXFx1OTUzNVxcdTk1NDRcXHU5NTQ1XFx1OTU0NlxcdTk1NDlcXHU5NTRDXFx1OTU0RVxcdTk1NEZcXHU5NTUyXFx1OTU1M1xcdTk1NTRcXHU5NTU2XFx1OTU1N1xcdTk1NThcXHU5NTU5XFx1OTU1QlxcdTk1NUVcXHU5NTVGXFx1OTU1RFxcdTk1NjFcXHU5NTYyXFx1OTU2NFwiLCA4LCBcIlxcdTk1NkZcXHU5NTcxXFx1OTU3MlxcdTk1NzNcXHU5NTNBXFx1NzdFN1xcdTc3RUNcXHU5NkM5XFx1NzlENVxcdTc5RURcXHU3OUUzXFx1NzlFQlxcdTdBMDZcXHU1RDQ3XFx1N0EwM1xcdTdBMDJcXHU3QTFFXFx1N0ExNFwiXSxcbiAgICAgIFtcImYwNDBcIiwgXCJcXHU5OTA4XCIsIDQsIFwiXFx1OTkwRVxcdTk5MEZcXHU5OTExXCIsIDI4LCBcIlxcdTk5MkZcIiwgMjZdLFxuICAgICAgW1wiZjA4MFwiLCBcIlxcdTk5NEFcIiwgOSwgXCJcXHU5OTU2XCIsIDEyLCBcIlxcdTk5NjRcXHU5OTY2XFx1OTk3M1xcdTk5NzhcXHU5OTc5XFx1OTk3QlxcdTk5N0VcXHU5OTgyXFx1OTk4M1xcdTk5ODlcXHU3QTM5XFx1N0EzN1xcdTdBNTFcXHU5RUNGXFx1OTlBNVxcdTdBNzBcXHU3Njg4XFx1NzY4RVxcdTc2OTNcXHU3Njk5XFx1NzZBNFxcdTc0REVcXHU3NEUwXFx1NzUyQ1xcdTlFMjBcXHU5RTIyXFx1OUUyOFwiLCA0LCBcIlxcdTlFMzJcXHU5RTMxXFx1OUUzNlxcdTlFMzhcXHU5RTM3XFx1OUUzOVxcdTlFM0FcXHU5RTNFXFx1OUU0MVxcdTlFNDJcXHU5RTQ0XFx1OUU0NlxcdTlFNDdcXHU5RTQ4XFx1OUU0OVxcdTlFNEJcXHU5RTRDXFx1OUU0RVxcdTlFNTFcXHU5RTU1XFx1OUU1N1xcdTlFNUFcXHU5RTVCXFx1OUU1Q1xcdTlFNUVcXHU5RTYzXFx1OUU2NlwiLCA2LCBcIlxcdTlFNzFcXHU5RTZEXFx1OUU3M1xcdTc1OTJcXHU3NTk0XFx1NzU5NlxcdTc1QTBcXHU3NTlEXFx1NzVBQ1xcdTc1QTNcXHU3NUIzXFx1NzVCNFxcdTc1QjhcXHU3NUM0XFx1NzVCMVxcdTc1QjBcXHU3NUMzXFx1NzVDMlxcdTc1RDZcXHU3NUNEXFx1NzVFM1xcdTc1RThcXHU3NUU2XFx1NzVFNFxcdTc1RUJcXHU3NUU3XFx1NzYwM1xcdTc1RjFcXHU3NUZDXFx1NzVGRlxcdTc2MTBcXHU3NjAwXFx1NzYwNVxcdTc2MENcXHU3NjE3XFx1NzYwQVxcdTc2MjVcXHU3NjE4XFx1NzYxNVxcdTc2MTlcIl0sXG4gICAgICBbXCJmMTQwXCIsIFwiXFx1OTk4Q1xcdTk5OEVcXHU5OTlBXCIsIDEwLCBcIlxcdTk5QTZcXHU5OUE3XFx1OTlBOVwiLCA0N10sXG4gICAgICBbXCJmMTgwXCIsIFwiXFx1OTlEOVwiLCAzMiwgXCJcXHU3NjFCXFx1NzYzQ1xcdTc2MjJcXHU3NjIwXFx1NzY0MFxcdTc2MkRcXHU3NjMwXFx1NzYzRlxcdTc2MzVcXHU3NjQzXFx1NzYzRVxcdTc2MzNcXHU3NjREXFx1NzY1RVxcdTc2NTRcXHU3NjVDXFx1NzY1NlxcdTc2NkJcXHU3NjZGXFx1N0ZDQVxcdTdBRTZcXHU3QTc4XFx1N0E3OVxcdTdBODBcXHU3QTg2XFx1N0E4OFxcdTdBOTVcXHU3QUE2XFx1N0FBMFxcdTdBQUNcXHU3QUE4XFx1N0FBRFxcdTdBQjNcXHU4ODY0XFx1ODg2OVxcdTg4NzJcXHU4ODdEXFx1ODg3RlxcdTg4ODJcXHU4OEEyXFx1ODhDNlxcdTg4QjdcXHU4OEJDXFx1ODhDOVxcdTg4RTJcXHU4OENFXFx1ODhFM1xcdTg4RTVcXHU4OEYxXFx1ODkxQVxcdTg4RkNcXHU4OEU4XFx1ODhGRVxcdTg4RjBcXHU4OTIxXFx1ODkxOVxcdTg5MTNcXHU4OTFCXFx1ODkwQVxcdTg5MzRcXHU4OTJCXFx1ODkzNlxcdTg5NDFcXHU4OTY2XFx1ODk3QlxcdTc1OEJcXHU4MEU1XFx1NzZCMlxcdTc2QjRcXHU3N0RDXFx1ODAxMlxcdTgwMTRcXHU4MDE2XFx1ODAxQ1xcdTgwMjBcXHU4MDIyXFx1ODAyNVxcdTgwMjZcXHU4MDI3XFx1ODAyOVxcdTgwMjhcXHU4MDMxXFx1ODAwQlxcdTgwMzVcXHU4MDQzXFx1ODA0NlxcdTgwNERcXHU4MDUyXFx1ODA2OVxcdTgwNzFcXHU4OTgzXFx1OTg3OFxcdTk4ODBcXHU5ODgzXCJdLFxuICAgICAgW1wiZjI0MFwiLCBcIlxcdTk5RkFcIiwgNjJdLFxuICAgICAgW1wiZjI4MFwiLCBcIlxcdTlBMzlcIiwgMzIsIFwiXFx1OTg4OVxcdTk4OENcXHU5ODhEXFx1OTg4RlxcdTk4OTRcXHU5ODlBXFx1OTg5QlxcdTk4OUVcXHU5ODlGXFx1OThBMVxcdTk4QTJcXHU5OEE1XFx1OThBNlxcdTg2NERcXHU4NjU0XFx1ODY2Q1xcdTg2NkVcXHU4NjdGXFx1ODY3QVxcdTg2N0NcXHU4NjdCXFx1ODZBOFxcdTg2OERcXHU4NjhCXFx1ODZBQ1xcdTg2OURcXHU4NkE3XFx1ODZBM1xcdTg2QUFcXHU4NjkzXFx1ODZBOVxcdTg2QjZcXHU4NkM0XFx1ODZCNVxcdTg2Q0VcXHU4NkIwXFx1ODZCQVxcdTg2QjFcXHU4NkFGXFx1ODZDOVxcdTg2Q0ZcXHU4NkI0XFx1ODZFOVxcdTg2RjFcXHU4NkYyXFx1ODZFRFxcdTg2RjNcXHU4NkQwXFx1ODcxM1xcdTg2REVcXHU4NkY0XFx1ODZERlxcdTg2RDhcXHU4NkQxXFx1ODcwM1xcdTg3MDdcXHU4NkY4XFx1ODcwOFxcdTg3MEFcXHU4NzBEXFx1ODcwOVxcdTg3MjNcXHU4NzNCXFx1ODcxRVxcdTg3MjVcXHU4NzJFXFx1ODcxQVxcdTg3M0VcXHU4NzQ4XFx1ODczNFxcdTg3MzFcXHU4NzI5XFx1ODczN1xcdTg3M0ZcXHU4NzgyXFx1ODcyMlxcdTg3N0RcXHU4NzdFXFx1ODc3QlxcdTg3NjBcXHU4NzcwXFx1ODc0Q1xcdTg3NkVcXHU4NzhCXFx1ODc1M1xcdTg3NjNcXHU4NzdDXFx1ODc2NFxcdTg3NTlcXHU4NzY1XFx1ODc5M1xcdTg3QUZcXHU4N0E4XFx1ODdEMlwiXSxcbiAgICAgIFtcImYzNDBcIiwgXCJcXHU5QTVBXCIsIDE3LCBcIlxcdTlBNzJcXHU5QTgzXFx1OUE4OVxcdTlBOERcXHU5QThFXFx1OUE5NFxcdTlBOTVcXHU5QTk5XFx1OUFBNlxcdTlBQTlcIiwgNiwgXCJcXHU5QUIyXFx1OUFCM1xcdTlBQjRcXHU5QUI1XFx1OUFCOVxcdTlBQkJcXHU5QUJEXFx1OUFCRVxcdTlBQkZcXHU5QUMzXFx1OUFDNFxcdTlBQzZcIiwgNCwgXCJcXHU5QUNEXFx1OUFDRVxcdTlBQ0ZcXHU5QUQwXFx1OUFEMlxcdTlBRDRcXHU5QUQ1XFx1OUFENlxcdTlBRDdcXHU5QUQ5XFx1OUFEQVxcdTlBREJcXHU5QURDXCJdLFxuICAgICAgW1wiZjM4MFwiLCBcIlxcdTlBRERcXHU5QURFXFx1OUFFMFxcdTlBRTJcXHU5QUUzXFx1OUFFNFxcdTlBRTVcXHU5QUU3XFx1OUFFOFxcdTlBRTlcXHU5QUVBXFx1OUFFQ1xcdTlBRUVcXHU5QUYwXCIsIDgsIFwiXFx1OUFGQVxcdTlBRkNcIiwgNiwgXCJcXHU5QjA0XFx1OUIwNVxcdTlCMDZcXHU4N0M2XFx1ODc4OFxcdTg3ODVcXHU4N0FEXFx1ODc5N1xcdTg3ODNcXHU4N0FCXFx1ODdFNVxcdTg3QUNcXHU4N0I1XFx1ODdCM1xcdTg3Q0JcXHU4N0QzXFx1ODdCRFxcdTg3RDFcXHU4N0MwXFx1ODdDQVxcdTg3REJcXHU4N0VBXFx1ODdFMFxcdTg3RUVcXHU4ODE2XFx1ODgxM1xcdTg3RkVcXHU4ODBBXFx1ODgxQlxcdTg4MjFcXHU4ODM5XFx1ODgzQ1xcdTdGMzZcXHU3RjQyXFx1N0Y0NFxcdTdGNDVcXHU4MjEwXFx1N0FGQVxcdTdBRkRcXHU3QjA4XFx1N0IwM1xcdTdCMDRcXHU3QjE1XFx1N0IwQVxcdTdCMkJcXHU3QjBGXFx1N0I0N1xcdTdCMzhcXHU3QjJBXFx1N0IxOVxcdTdCMkVcXHU3QjMxXFx1N0IyMFxcdTdCMjVcXHU3QjI0XFx1N0IzM1xcdTdCM0VcXHU3QjFFXFx1N0I1OFxcdTdCNUFcXHU3QjQ1XFx1N0I3NVxcdTdCNENcXHU3QjVEXFx1N0I2MFxcdTdCNkVcXHU3QjdCXFx1N0I2MlxcdTdCNzJcXHU3QjcxXFx1N0I5MFxcdTdCQTZcXHU3QkE3XFx1N0JCOFxcdTdCQUNcXHU3QjlEXFx1N0JBOFxcdTdCODVcXHU3QkFBXFx1N0I5Q1xcdTdCQTJcXHU3QkFCXFx1N0JCNFxcdTdCRDFcXHU3QkMxXFx1N0JDQ1xcdTdCRERcXHU3QkRBXFx1N0JFNVxcdTdCRTZcXHU3QkVBXFx1N0MwQ1xcdTdCRkVcXHU3QkZDXFx1N0MwRlxcdTdDMTZcXHU3QzBCXCJdLFxuICAgICAgW1wiZjQ0MFwiLCBcIlxcdTlCMDdcXHU5QjA5XCIsIDUsIFwiXFx1OUIxMFxcdTlCMTFcXHU5QjEyXFx1OUIxNFwiLCAxMCwgXCJcXHU5QjIwXFx1OUIyMVxcdTlCMjJcXHU5QjI0XCIsIDEwLCBcIlxcdTlCMzBcXHU5QjMxXFx1OUIzM1wiLCA3LCBcIlxcdTlCM0RcXHU5QjNFXFx1OUIzRlxcdTlCNDBcXHU5QjQ2XFx1OUI0QVxcdTlCNEJcXHU5QjRDXFx1OUI0RVxcdTlCNTBcXHU5QjUyXFx1OUI1M1xcdTlCNTVcIiwgNV0sXG4gICAgICBbXCJmNDgwXCIsIFwiXFx1OUI1QlwiLCAzMiwgXCJcXHU3QzFGXFx1N0MyQVxcdTdDMjZcXHU3QzM4XFx1N0M0MVxcdTdDNDBcXHU4MUZFXFx1ODIwMVxcdTgyMDJcXHU4MjA0XFx1ODFFQ1xcdTg4NDRcXHU4MjIxXFx1ODIyMlxcdTgyMjNcXHU4MjJEXFx1ODIyRlxcdTgyMjhcXHU4MjJCXFx1ODIzOFxcdTgyM0JcXHU4MjMzXFx1ODIzNFxcdTgyM0VcXHU4MjQ0XFx1ODI0OVxcdTgyNEJcXHU4MjRGXFx1ODI1QVxcdTgyNUZcXHU4MjY4XFx1ODg3RVxcdTg4ODVcXHU4ODg4XFx1ODhEOFxcdTg4REZcXHU4OTVFXFx1N0Y5RFxcdTdGOUZcXHU3RkE3XFx1N0ZBRlxcdTdGQjBcXHU3RkIyXFx1N0M3Q1xcdTY1NDlcXHU3QzkxXFx1N0M5RFxcdTdDOUNcXHU3QzlFXFx1N0NBMlxcdTdDQjJcXHU3Q0JDXFx1N0NCRFxcdTdDQzFcXHU3Q0M3XFx1N0NDQ1xcdTdDQ0RcXHU3Q0M4XFx1N0NDNVxcdTdDRDdcXHU3Q0U4XFx1ODI2RVxcdTY2QThcXHU3RkJGXFx1N0ZDRVxcdTdGRDVcXHU3RkU1XFx1N0ZFMVxcdTdGRTZcXHU3RkU5XFx1N0ZFRVxcdTdGRjNcXHU3Q0Y4XFx1N0Q3N1xcdTdEQTZcXHU3REFFXFx1N0U0N1xcdTdFOUJcXHU5RUI4XFx1OUVCNFxcdThENzNcXHU4RDg0XFx1OEQ5NFxcdThEOTFcXHU4REIxXFx1OEQ2N1xcdThENkRcXHU4QzQ3XFx1OEM0OVxcdTkxNEFcXHU5MTUwXFx1OTE0RVxcdTkxNEZcXHU5MTY0XCJdLFxuICAgICAgW1wiZjU0MFwiLCBcIlxcdTlCN0NcIiwgNjJdLFxuICAgICAgW1wiZjU4MFwiLCBcIlxcdTlCQkJcIiwgMzIsIFwiXFx1OTE2MlxcdTkxNjFcXHU5MTcwXFx1OTE2OVxcdTkxNkZcXHU5MTdEXFx1OTE3RVxcdTkxNzJcXHU5MTc0XFx1OTE3OVxcdTkxOENcXHU5MTg1XFx1OTE5MFxcdTkxOERcXHU5MTkxXFx1OTFBMlxcdTkxQTNcXHU5MUFBXFx1OTFBRFxcdTkxQUVcXHU5MUFGXFx1OTFCNVxcdTkxQjRcXHU5MUJBXFx1OEM1NVxcdTlFN0VcXHU4REI4XFx1OERFQlxcdThFMDVcXHU4RTU5XFx1OEU2OVxcdThEQjVcXHU4REJGXFx1OERCQ1xcdThEQkFcXHU4REM0XFx1OERENlxcdThERDdcXHU4RERBXFx1OERERVxcdThEQ0VcXHU4RENGXFx1OEREQlxcdThEQzZcXHU4REVDXFx1OERGN1xcdThERjhcXHU4REUzXFx1OERGOVxcdThERkJcXHU4REU0XFx1OEUwOVxcdThERkRcXHU4RTE0XFx1OEUxRFxcdThFMUZcXHU4RTJDXFx1OEUyRVxcdThFMjNcXHU4RTJGXFx1OEUzQVxcdThFNDBcXHU4RTM5XFx1OEUzNVxcdThFM0RcXHU4RTMxXFx1OEU0OVxcdThFNDFcXHU4RTQyXFx1OEU1MVxcdThFNTJcXHU4RTRBXFx1OEU3MFxcdThFNzZcXHU4RTdDXFx1OEU2RlxcdThFNzRcXHU4RTg1XFx1OEU4RlxcdThFOTRcXHU4RTkwXFx1OEU5Q1xcdThFOUVcXHU4Qzc4XFx1OEM4MlxcdThDOEFcXHU4Qzg1XFx1OEM5OFxcdThDOTRcXHU2NTlCXFx1ODlENlxcdTg5REVcXHU4OURBXFx1ODlEQ1wiXSxcbiAgICAgIFtcImY2NDBcIiwgXCJcXHU5QkRDXCIsIDYyXSxcbiAgICAgIFtcImY2ODBcIiwgXCJcXHU5QzFCXCIsIDMyLCBcIlxcdTg5RTVcXHU4OUVCXFx1ODlFRlxcdThBM0VcXHU4QjI2XFx1OTc1M1xcdTk2RTlcXHU5NkYzXFx1OTZFRlxcdTk3MDZcXHU5NzAxXFx1OTcwOFxcdTk3MEZcXHU5NzBFXFx1OTcyQVxcdTk3MkRcXHU5NzMwXFx1OTczRVxcdTlGODBcXHU5RjgzXFx1OUY4NVwiLCA1LCBcIlxcdTlGOENcXHU5RUZFXFx1OUYwQlxcdTlGMERcXHU5NkI5XFx1OTZCQ1xcdTk2QkRcXHU5NkNFXFx1OTZEMlxcdTc3QkZcXHU5NkUwXFx1OTI4RVxcdTkyQUVcXHU5MkM4XFx1OTMzRVxcdTkzNkFcXHU5M0NBXFx1OTM4RlxcdTk0M0VcXHU5NDZCXFx1OUM3RlxcdTlDODJcXHU5Qzg1XFx1OUM4NlxcdTlDODdcXHU5Qzg4XFx1N0EyM1xcdTlDOEJcXHU5QzhFXFx1OUM5MFxcdTlDOTFcXHU5QzkyXFx1OUM5NFxcdTlDOTVcXHU5QzlBXFx1OUM5QlxcdTlDOUVcIiwgNSwgXCJcXHU5Q0E1XCIsIDQsIFwiXFx1OUNBQlxcdTlDQURcXHU5Q0FFXFx1OUNCMFwiLCA3LCBcIlxcdTlDQkFcXHU5Q0JCXFx1OUNCQ1xcdTlDQkRcXHU5Q0M0XFx1OUNDNVxcdTlDQzZcXHU5Q0M3XFx1OUNDQVxcdTlDQ0JcIl0sXG4gICAgICBbXCJmNzQwXCIsIFwiXFx1OUMzQ1wiLCA2Ml0sXG4gICAgICBbXCJmNzgwXCIsIFwiXFx1OUM3QlxcdTlDN0RcXHU5QzdFXFx1OUM4MFxcdTlDODNcXHU5Qzg0XFx1OUM4OVxcdTlDOEFcXHU5QzhDXFx1OUM4RlxcdTlDOTNcXHU5Qzk2XFx1OUM5N1xcdTlDOThcXHU5Qzk5XFx1OUM5RFxcdTlDQUFcXHU5Q0FDXFx1OUNBRlxcdTlDQjlcXHU5Q0JFXCIsIDQsIFwiXFx1OUNDOFxcdTlDQzlcXHU5Q0QxXFx1OUNEMlxcdTlDREFcXHU5Q0RCXFx1OUNFMFxcdTlDRTFcXHU5Q0NDXCIsIDQsIFwiXFx1OUNEM1xcdTlDRDRcXHU5Q0Q1XFx1OUNEN1xcdTlDRDhcXHU5Q0Q5XFx1OUNEQ1xcdTlDRERcXHU5Q0RGXFx1OUNFMlxcdTk3N0NcXHU5Nzg1XFx1OTc5MVxcdTk3OTJcXHU5Nzk0XFx1OTdBRlxcdTk3QUJcXHU5N0EzXFx1OTdCMlxcdTk3QjRcXHU5QUIxXFx1OUFCMFxcdTlBQjdcXHU5RTU4XFx1OUFCNlxcdTlBQkFcXHU5QUJDXFx1OUFDMVxcdTlBQzBcXHU5QUM1XFx1OUFDMlxcdTlBQ0JcXHU5QUNDXFx1OUFEMVxcdTlCNDVcXHU5QjQzXFx1OUI0N1xcdTlCNDlcXHU5QjQ4XFx1OUI0RFxcdTlCNTFcXHU5OEU4XFx1OTkwRFxcdTk5MkVcXHU5OTU1XFx1OTk1NFxcdTlBREZcXHU5QUUxXFx1OUFFNlxcdTlBRUZcXHU5QUVCXFx1OUFGQlxcdTlBRURcXHU5QUY5XFx1OUIwOFxcdTlCMEZcXHU5QjEzXFx1OUIxRlxcdTlCMjNcXHU5RUJEXFx1OUVCRVxcdTdFM0JcXHU5RTgyXFx1OUU4N1xcdTlFODhcXHU5RThCXFx1OUU5MlxcdTkzRDZcXHU5RTlEXFx1OUU5RlxcdTlFREJcXHU5RURDXFx1OUVERFxcdTlFRTBcXHU5RURGXFx1OUVFMlxcdTlFRTlcXHU5RUU3XFx1OUVFNVxcdTlFRUFcXHU5RUVGXFx1OUYyMlxcdTlGMkNcXHU5RjJGXFx1OUYzOVxcdTlGMzdcXHU5RjNEXFx1OUYzRVxcdTlGNDRcIl0sXG4gICAgICBbXCJmODQwXCIsIFwiXFx1OUNFM1wiLCA2Ml0sXG4gICAgICBbXCJmODgwXCIsIFwiXFx1OUQyMlwiLCAzMl0sXG4gICAgICBbXCJmOTQwXCIsIFwiXFx1OUQ0M1wiLCA2Ml0sXG4gICAgICBbXCJmOTgwXCIsIFwiXFx1OUQ4MlwiLCAzMl0sXG4gICAgICBbXCJmYTQwXCIsIFwiXFx1OURBM1wiLCA2Ml0sXG4gICAgICBbXCJmYTgwXCIsIFwiXFx1OURFMlwiLCAzMl0sXG4gICAgICBbXCJmYjQwXCIsIFwiXFx1OUUwM1wiLCAyNywgXCJcXHU5RTI0XFx1OUUyN1xcdTlFMkVcXHU5RTMwXFx1OUUzNFxcdTlFM0JcXHU5RTNDXFx1OUU0MFxcdTlFNERcXHU5RTUwXFx1OUU1MlxcdTlFNTNcXHU5RTU0XFx1OUU1NlxcdTlFNTlcXHU5RTVEXFx1OUU1RlxcdTlFNjBcXHU5RTYxXFx1OUU2MlxcdTlFNjVcXHU5RTZFXFx1OUU2RlxcdTlFNzJcXHU5RTc0XCIsIDksIFwiXFx1OUU4MFwiXSxcbiAgICAgIFtcImZiODBcIiwgXCJcXHU5RTgxXFx1OUU4M1xcdTlFODRcXHU5RTg1XFx1OUU4NlxcdTlFODlcXHU5RThBXFx1OUU4Q1wiLCA1LCBcIlxcdTlFOTRcIiwgOCwgXCJcXHU5RTlFXFx1OUVBMFwiLCA1LCBcIlxcdTlFQTdcXHU5RUE4XFx1OUVBOVxcdTlFQUFcIl0sXG4gICAgICBbXCJmYzQwXCIsIFwiXFx1OUVBQlwiLCA4LCBcIlxcdTlFQjVcXHU5RUI2XFx1OUVCN1xcdTlFQjlcXHU5RUJBXFx1OUVCQ1xcdTlFQkZcIiwgNCwgXCJcXHU5RUM1XFx1OUVDNlxcdTlFQzdcXHU5RUM4XFx1OUVDQVxcdTlFQ0JcXHU5RUNDXFx1OUVEMFxcdTlFRDJcXHU5RUQzXFx1OUVENVxcdTlFRDZcXHU5RUQ3XFx1OUVEOVxcdTlFREFcXHU5RURFXFx1OUVFMVxcdTlFRTNcXHU5RUU0XFx1OUVFNlxcdTlFRThcXHU5RUVCXFx1OUVFQ1xcdTlFRURcXHU5RUVFXFx1OUVGMFwiLCA4LCBcIlxcdTlFRkFcXHU5RUZEXFx1OUVGRlwiLCA2XSxcbiAgICAgIFtcImZjODBcIiwgXCJcXHU5RjA2XCIsIDQsIFwiXFx1OUYwQ1xcdTlGMEZcXHU5RjExXFx1OUYxMlxcdTlGMTRcXHU5RjE1XFx1OUYxNlxcdTlGMThcXHU5RjFBXCIsIDUsIFwiXFx1OUYyMVxcdTlGMjNcIiwgOCwgXCJcXHU5RjJEXFx1OUYyRVxcdTlGMzBcXHU5RjMxXCJdLFxuICAgICAgW1wiZmQ0MFwiLCBcIlxcdTlGMzJcIiwgNCwgXCJcXHU5RjM4XFx1OUYzQVxcdTlGM0NcXHU5RjNGXCIsIDQsIFwiXFx1OUY0NVwiLCAxMCwgXCJcXHU5RjUyXCIsIDM4XSxcbiAgICAgIFtcImZkODBcIiwgXCJcXHU5Rjc5XCIsIDUsIFwiXFx1OUY4MVxcdTlGODJcXHU5RjhEXCIsIDExLCBcIlxcdTlGOUNcXHU5RjlEXFx1OUY5RVxcdTlGQTFcIiwgNCwgXCJcXHVGOTJDXFx1Rjk3OVxcdUY5OTVcXHVGOUU3XFx1RjlGMVwiXSxcbiAgICAgIFtcImZlNDBcIiwgXCJcXHVGQTBDXFx1RkEwRFxcdUZBMEVcXHVGQTBGXFx1RkExMVxcdUZBMTNcXHVGQTE0XFx1RkExOFxcdUZBMUZcXHVGQTIwXFx1RkEyMVxcdUZBMjNcXHVGQTI0XFx1RkEyN1xcdUZBMjhcXHVGQTI5XCJdXG4gICAgXTtcbiAgfVxufSk7XG5cbi8vIG5vZGVfbW9kdWxlcy9ib2R5LXBhcnNlci9ub2RlX21vZHVsZXMvaWNvbnYtbGl0ZS9lbmNvZGluZ3MvdGFibGVzL2diay1hZGRlZC5qc29uXG52YXIgcmVxdWlyZV9nYmtfYWRkZWQyID0gX19jb21tb25KUyh7XG4gIFwibm9kZV9tb2R1bGVzL2JvZHktcGFyc2VyL25vZGVfbW9kdWxlcy9pY29udi1saXRlL2VuY29kaW5ncy90YWJsZXMvZ2JrLWFkZGVkLmpzb25cIihleHBvcnRzMiwgbW9kdWxlMikge1xuICAgIG1vZHVsZTIuZXhwb3J0cyA9IFtcbiAgICAgIFtcImExNDBcIiwgXCJcXHVFNEM2XCIsIDYyXSxcbiAgICAgIFtcImExODBcIiwgXCJcXHVFNTA1XCIsIDMyXSxcbiAgICAgIFtcImEyNDBcIiwgXCJcXHVFNTI2XCIsIDYyXSxcbiAgICAgIFtcImEyODBcIiwgXCJcXHVFNTY1XCIsIDMyXSxcbiAgICAgIFtcImEyYWJcIiwgXCJcXHVFNzY2XCIsIDVdLFxuICAgICAgW1wiYTJlM1wiLCBcIlxcdTIwQUNcXHVFNzZEXCJdLFxuICAgICAgW1wiYTJlZlwiLCBcIlxcdUU3NkVcXHVFNzZGXCJdLFxuICAgICAgW1wiYTJmZFwiLCBcIlxcdUU3NzBcXHVFNzcxXCJdLFxuICAgICAgW1wiYTM0MFwiLCBcIlxcdUU1ODZcIiwgNjJdLFxuICAgICAgW1wiYTM4MFwiLCBcIlxcdUU1QzVcIiwgMzEsIFwiXFx1MzAwMFwiXSxcbiAgICAgIFtcImE0NDBcIiwgXCJcXHVFNUU2XCIsIDYyXSxcbiAgICAgIFtcImE0ODBcIiwgXCJcXHVFNjI1XCIsIDMyXSxcbiAgICAgIFtcImE0ZjRcIiwgXCJcXHVFNzcyXCIsIDEwXSxcbiAgICAgIFtcImE1NDBcIiwgXCJcXHVFNjQ2XCIsIDYyXSxcbiAgICAgIFtcImE1ODBcIiwgXCJcXHVFNjg1XCIsIDMyXSxcbiAgICAgIFtcImE1ZjdcIiwgXCJcXHVFNzdEXCIsIDddLFxuICAgICAgW1wiYTY0MFwiLCBcIlxcdUU2QTZcIiwgNjJdLFxuICAgICAgW1wiYTY4MFwiLCBcIlxcdUU2RTVcIiwgMzJdLFxuICAgICAgW1wiYTZiOVwiLCBcIlxcdUU3ODVcIiwgN10sXG4gICAgICBbXCJhNmQ5XCIsIFwiXFx1RTc4RFwiLCA2XSxcbiAgICAgIFtcImE2ZWNcIiwgXCJcXHVFNzk0XFx1RTc5NVwiXSxcbiAgICAgIFtcImE2ZjNcIiwgXCJcXHVFNzk2XCJdLFxuICAgICAgW1wiYTZmNlwiLCBcIlxcdUU3OTdcIiwgOF0sXG4gICAgICBbXCJhNzQwXCIsIFwiXFx1RTcwNlwiLCA2Ml0sXG4gICAgICBbXCJhNzgwXCIsIFwiXFx1RTc0NVwiLCAzMl0sXG4gICAgICBbXCJhN2MyXCIsIFwiXFx1RTdBMFwiLCAxNF0sXG4gICAgICBbXCJhN2YyXCIsIFwiXFx1RTdBRlwiLCAxMl0sXG4gICAgICBbXCJhODk2XCIsIFwiXFx1RTdCQ1wiLCAxMF0sXG4gICAgICBbXCJhOGJjXCIsIFwiXFx1MUUzRlwiXSxcbiAgICAgIFtcImE4YmZcIiwgXCJcXHUwMUY5XCJdLFxuICAgICAgW1wiYThjMVwiLCBcIlxcdUU3QzlcXHVFN0NBXFx1RTdDQlxcdUU3Q0NcIl0sXG4gICAgICBbXCJhOGVhXCIsIFwiXFx1RTdDRFwiLCAyMF0sXG4gICAgICBbXCJhOTU4XCIsIFwiXFx1RTdFMlwiXSxcbiAgICAgIFtcImE5NWJcIiwgXCJcXHVFN0UzXCJdLFxuICAgICAgW1wiYTk1ZFwiLCBcIlxcdUU3RTRcXHVFN0U1XFx1RTdFNlwiXSxcbiAgICAgIFtcImE5ODlcIiwgXCJcXHUzMDNFXFx1MkZGMFwiLCAxMV0sXG4gICAgICBbXCJhOTk3XCIsIFwiXFx1RTdGNFwiLCAxMl0sXG4gICAgICBbXCJhOWYwXCIsIFwiXFx1RTgwMVwiLCAxNF0sXG4gICAgICBbXCJhYWExXCIsIFwiXFx1RTAwMFwiLCA5M10sXG4gICAgICBbXCJhYmExXCIsIFwiXFx1RTA1RVwiLCA5M10sXG4gICAgICBbXCJhY2ExXCIsIFwiXFx1RTBCQ1wiLCA5M10sXG4gICAgICBbXCJhZGExXCIsIFwiXFx1RTExQVwiLCA5M10sXG4gICAgICBbXCJhZWExXCIsIFwiXFx1RTE3OFwiLCA5M10sXG4gICAgICBbXCJhZmExXCIsIFwiXFx1RTFENlwiLCA5M10sXG4gICAgICBbXCJkN2ZhXCIsIFwiXFx1RTgxMFwiLCA0XSxcbiAgICAgIFtcImY4YTFcIiwgXCJcXHVFMjM0XCIsIDkzXSxcbiAgICAgIFtcImY5YTFcIiwgXCJcXHVFMjkyXCIsIDkzXSxcbiAgICAgIFtcImZhYTFcIiwgXCJcXHVFMkYwXCIsIDkzXSxcbiAgICAgIFtcImZiYTFcIiwgXCJcXHVFMzRFXCIsIDkzXSxcbiAgICAgIFtcImZjYTFcIiwgXCJcXHVFM0FDXCIsIDkzXSxcbiAgICAgIFtcImZkYTFcIiwgXCJcXHVFNDBBXCIsIDkzXSxcbiAgICAgIFtcImZlNTBcIiwgXCJcXHUyRTgxXFx1RTgxNlxcdUU4MTdcXHVFODE4XFx1MkU4NFxcdTM0NzNcXHUzNDQ3XFx1MkU4OFxcdTJFOEJcXHVFODFFXFx1MzU5RVxcdTM2MUFcXHUzNjBFXFx1MkU4Q1xcdTJFOTdcXHUzOTZFXFx1MzkxOFxcdUU4MjZcXHUzOUNGXFx1MzlERlxcdTNBNzNcXHUzOUQwXFx1RTgyQlxcdUU4MkNcXHUzQjRFXFx1M0M2RVxcdTNDRTBcXHUyRUE3XFx1RTgzMVxcdUU4MzJcXHUyRUFBXFx1NDA1NlxcdTQxNUZcXHUyRUFFXFx1NDMzN1xcdTJFQjNcXHUyRUI2XFx1MkVCN1xcdUU4M0JcXHU0M0IxXFx1NDNBQ1xcdTJFQkJcXHU0M0REXFx1NDRENlxcdTQ2NjFcXHU0NjRDXFx1RTg0M1wiXSxcbiAgICAgIFtcImZlODBcIiwgXCJcXHU0NzIzXFx1NDcyOVxcdTQ3N0NcXHU0NzhEXFx1MkVDQVxcdTQ5NDdcXHU0OTdBXFx1NDk3RFxcdTQ5ODJcXHU0OTgzXFx1NDk4NVxcdTQ5ODZcXHU0OTlGXFx1NDk5QlxcdTQ5QjdcXHU0OUI2XFx1RTg1NFxcdUU4NTVcXHU0Q0EzXFx1NEM5RlxcdTRDQTBcXHU0Q0ExXFx1NEM3N1xcdTRDQTJcXHU0RDEzXCIsIDYsIFwiXFx1NERBRVxcdUU4NjRcXHVFNDY4XCIsIDkzXSxcbiAgICAgIFtcIjgxMzVmNDM3XCIsIFwiXFx1RTdDN1wiXVxuICAgIF07XG4gIH1cbn0pO1xuXG4vLyBub2RlX21vZHVsZXMvYm9keS1wYXJzZXIvbm9kZV9tb2R1bGVzL2ljb252LWxpdGUvZW5jb2RpbmdzL3RhYmxlcy9nYjE4MDMwLXJhbmdlcy5qc29uXG52YXIgcmVxdWlyZV9nYjE4MDMwX3JhbmdlczIgPSBfX2NvbW1vbkpTKHtcbiAgXCJub2RlX21vZHVsZXMvYm9keS1wYXJzZXIvbm9kZV9tb2R1bGVzL2ljb252LWxpdGUvZW5jb2RpbmdzL3RhYmxlcy9nYjE4MDMwLXJhbmdlcy5qc29uXCIoZXhwb3J0czIsIG1vZHVsZTIpIHtcbiAgICBtb2R1bGUyLmV4cG9ydHMgPSB7IHVDaGFyczogWzEyOCwgMTY1LCAxNjksIDE3OCwgMTg0LCAyMTYsIDIyNiwgMjM1LCAyMzgsIDI0NCwgMjQ4LCAyNTEsIDI1MywgMjU4LCAyNzYsIDI4NCwgMzAwLCAzMjUsIDMyOSwgMzM0LCAzNjQsIDQ2MywgNDY1LCA0NjcsIDQ2OSwgNDcxLCA0NzMsIDQ3NSwgNDc3LCA1MDYsIDU5NCwgNjEwLCA3MTIsIDcxNiwgNzMwLCA5MzAsIDkzOCwgOTYyLCA5NzAsIDEwMjYsIDExMDQsIDExMDYsIDgyMDksIDgyMTUsIDgyMTgsIDgyMjIsIDgyMzEsIDgyNDEsIDgyNDQsIDgyNDYsIDgyNTIsIDgzNjUsIDg0NTIsIDg0NTQsIDg0NTgsIDg0NzEsIDg0ODIsIDg1NTYsIDg1NzAsIDg1OTYsIDg2MDIsIDg3MTMsIDg3MjAsIDg3MjIsIDg3MjYsIDg3MzEsIDg3MzcsIDg3NDAsIDg3NDIsIDg3NDgsIDg3NTEsIDg3NjAsIDg3NjYsIDg3NzcsIDg3ODEsIDg3ODcsIDg4MDIsIDg4MDgsIDg4MTYsIDg4NTQsIDg4NTgsIDg4NzAsIDg4OTYsIDg5NzksIDkzMjIsIDkzNzIsIDk1NDgsIDk1ODgsIDk2MTYsIDk2MjIsIDk2MzQsIDk2NTIsIDk2NjIsIDk2NzIsIDk2NzYsIDk2ODAsIDk3MDIsIDk3MzUsIDk3MzgsIDk3OTMsIDk3OTUsIDExOTA2LCAxMTkwOSwgMTE5MTMsIDExOTE3LCAxMTkyOCwgMTE5NDQsIDExOTQ3LCAxMTk1MSwgMTE5NTYsIDExOTYwLCAxMTk2NCwgMTE5NzksIDEyMjg0LCAxMjI5MiwgMTIzMTIsIDEyMzE5LCAxMjMzMCwgMTIzNTEsIDEyNDM2LCAxMjQ0NywgMTI1MzUsIDEyNTQzLCAxMjU4NiwgMTI4NDIsIDEyODUwLCAxMjk2NCwgMTMyMDAsIDEzMjE1LCAxMzIxOCwgMTMyNTMsIDEzMjYzLCAxMzI2NywgMTMyNzAsIDEzMzg0LCAxMzQyOCwgMTM3MjcsIDEzODM5LCAxMzg1MSwgMTQ2MTcsIDE0NzAzLCAxNDgwMSwgMTQ4MTYsIDE0OTY0LCAxNTE4MywgMTU0NzEsIDE1NTg1LCAxNjQ3MSwgMTY3MzYsIDE3MjA4LCAxNzMyNSwgMTczMzAsIDE3Mzc0LCAxNzYyMywgMTc5OTcsIDE4MDE4LCAxODIxMiwgMTgyMTgsIDE4MzAxLCAxODMxOCwgMTg3NjAsIDE4ODExLCAxODgxNCwgMTg4MjAsIDE4ODIzLCAxODg0NCwgMTg4NDgsIDE4ODcyLCAxOTU3NiwgMTk2MjAsIDE5NzM4LCAxOTg4NywgNDA4NzAsIDU5MjQ0LCA1OTMzNiwgNTkzNjcsIDU5NDEzLCA1OTQxNywgNTk0MjMsIDU5NDMxLCA1OTQzNywgNTk0NDMsIDU5NDUyLCA1OTQ2MCwgNTk0NzgsIDU5NDkzLCA2Mzc4OSwgNjM4NjYsIDYzODk0LCA2Mzk3NiwgNjM5ODYsIDY0MDE2LCA2NDAxOCwgNjQwMjEsIDY0MDI1LCA2NDAzNCwgNjQwMzcsIDY0MDQyLCA2NTA3NCwgNjUwOTMsIDY1MTA3LCA2NTExMiwgNjUxMjcsIDY1MTMyLCA2NTM3NSwgNjU1MTAsIDY1NTM2XSwgZ2JDaGFyczogWzAsIDM2LCAzOCwgNDUsIDUwLCA4MSwgODksIDk1LCA5NiwgMTAwLCAxMDMsIDEwNCwgMTA1LCAxMDksIDEyNiwgMTMzLCAxNDgsIDE3MiwgMTc1LCAxNzksIDIwOCwgMzA2LCAzMDcsIDMwOCwgMzA5LCAzMTAsIDMxMSwgMzEyLCAzMTMsIDM0MSwgNDI4LCA0NDMsIDU0NCwgNTQ1LCA1NTgsIDc0MSwgNzQyLCA3NDksIDc1MCwgODA1LCA4MTksIDgyMCwgNzkyMiwgNzkyNCwgNzkyNSwgNzkyNywgNzkzNCwgNzk0MywgNzk0NCwgNzk0NSwgNzk1MCwgODA2MiwgODE0OCwgODE0OSwgODE1MiwgODE2NCwgODE3NCwgODIzNiwgODI0MCwgODI2MiwgODI2NCwgODM3NCwgODM4MCwgODM4MSwgODM4NCwgODM4OCwgODM5MCwgODM5MiwgODM5MywgODM5NCwgODM5NiwgODQwMSwgODQwNiwgODQxNiwgODQxOSwgODQyNCwgODQzNywgODQzOSwgODQ0NSwgODQ4MiwgODQ4NSwgODQ5NiwgODUyMSwgODYwMywgODkzNiwgODk0NiwgOTA0NiwgOTA1MCwgOTA2MywgOTA2NiwgOTA3NiwgOTA5MiwgOTEwMCwgOTEwOCwgOTExMSwgOTExMywgOTEzMSwgOTE2MiwgOTE2NCwgOTIxOCwgOTIxOSwgMTEzMjksIDExMzMxLCAxMTMzNCwgMTEzMzYsIDExMzQ2LCAxMTM2MSwgMTEzNjMsIDExMzY2LCAxMTM3MCwgMTEzNzIsIDExMzc1LCAxMTM4OSwgMTE2ODIsIDExNjg2LCAxMTY4NywgMTE2OTIsIDExNjk0LCAxMTcxNCwgMTE3MTYsIDExNzIzLCAxMTcyNSwgMTE3MzAsIDExNzM2LCAxMTk4MiwgMTE5ODksIDEyMTAyLCAxMjMzNiwgMTIzNDgsIDEyMzUwLCAxMjM4NCwgMTIzOTMsIDEyMzk1LCAxMjM5NywgMTI1MTAsIDEyNTUzLCAxMjg1MSwgMTI5NjIsIDEyOTczLCAxMzczOCwgMTM4MjMsIDEzOTE5LCAxMzkzMywgMTQwODAsIDE0Mjk4LCAxNDU4NSwgMTQ2OTgsIDE1NTgzLCAxNTg0NywgMTYzMTgsIDE2NDM0LCAxNjQzOCwgMTY0ODEsIDE2NzI5LCAxNzEwMiwgMTcxMjIsIDE3MzE1LCAxNzMyMCwgMTc0MDIsIDE3NDE4LCAxNzg1OSwgMTc5MDksIDE3OTExLCAxNzkxNSwgMTc5MTYsIDE3OTM2LCAxNzkzOSwgMTc5NjEsIDE4NjY0LCAxODcwMywgMTg4MTQsIDE4OTYyLCAxOTA0MywgMzM0NjksIDMzNDcwLCAzMzQ3MSwgMzM0ODQsIDMzNDg1LCAzMzQ5MCwgMzM0OTcsIDMzNTAxLCAzMzUwNSwgMzM1MTMsIDMzNTIwLCAzMzUzNiwgMzM1NTAsIDM3ODQ1LCAzNzkyMSwgMzc5NDgsIDM4MDI5LCAzODAzOCwgMzgwNjQsIDM4MDY1LCAzODA2NiwgMzgwNjksIDM4MDc1LCAzODA3NiwgMzgwNzgsIDM5MTA4LCAzOTEwOSwgMzkxMTMsIDM5MTE0LCAzOTExNSwgMzkxMTYsIDM5MjY1LCAzOTM5NCwgMTg5ZTNdIH07XG4gIH1cbn0pO1xuXG4vLyBub2RlX21vZHVsZXMvYm9keS1wYXJzZXIvbm9kZV9tb2R1bGVzL2ljb252LWxpdGUvZW5jb2RpbmdzL3RhYmxlcy9jcDk0OS5qc29uXG52YXIgcmVxdWlyZV9jcDk0OTIgPSBfX2NvbW1vbkpTKHtcbiAgXCJub2RlX21vZHVsZXMvYm9keS1wYXJzZXIvbm9kZV9tb2R1bGVzL2ljb252LWxpdGUvZW5jb2RpbmdzL3RhYmxlcy9jcDk0OS5qc29uXCIoZXhwb3J0czIsIG1vZHVsZTIpIHtcbiAgICBtb2R1bGUyLmV4cG9ydHMgPSBbXG4gICAgICBbXCIwXCIsIFwiXFwwXCIsIDEyN10sXG4gICAgICBbXCI4MTQxXCIsIFwiXFx1QUMwMlxcdUFDMDNcXHVBQzA1XFx1QUMwNlxcdUFDMEJcIiwgNCwgXCJcXHVBQzE4XFx1QUMxRVxcdUFDMUZcXHVBQzIxXFx1QUMyMlxcdUFDMjNcXHVBQzI1XCIsIDYsIFwiXFx1QUMyRVxcdUFDMzJcXHVBQzMzXFx1QUMzNFwiXSxcbiAgICAgIFtcIjgxNjFcIiwgXCJcXHVBQzM1XFx1QUMzNlxcdUFDMzdcXHVBQzNBXFx1QUMzQlxcdUFDM0RcXHVBQzNFXFx1QUMzRlxcdUFDNDFcIiwgOSwgXCJcXHVBQzRDXFx1QUM0RVwiLCA1LCBcIlxcdUFDNTVcIl0sXG4gICAgICBbXCI4MTgxXCIsIFwiXFx1QUM1NlxcdUFDNTdcXHVBQzU5XFx1QUM1QVxcdUFDNUJcXHVBQzVEXCIsIDE4LCBcIlxcdUFDNzJcXHVBQzczXFx1QUM3NVxcdUFDNzZcXHVBQzc5XFx1QUM3QlwiLCA0LCBcIlxcdUFDODJcXHVBQzg3XFx1QUM4OFxcdUFDOERcXHVBQzhFXFx1QUM4RlxcdUFDOTFcXHVBQzkyXFx1QUM5M1xcdUFDOTVcIiwgNiwgXCJcXHVBQzlFXFx1QUNBMlwiLCA1LCBcIlxcdUFDQUJcXHVBQ0FEXFx1QUNBRVxcdUFDQjFcIiwgNiwgXCJcXHVBQ0JBXFx1QUNCRVxcdUFDQkZcXHVBQ0MwXFx1QUNDMlxcdUFDQzNcXHVBQ0M1XFx1QUNDNlxcdUFDQzdcXHVBQ0M5XFx1QUNDQVxcdUFDQ0JcXHVBQ0NEXCIsIDcsIFwiXFx1QUNENlxcdUFDRDhcIiwgNywgXCJcXHVBQ0UyXFx1QUNFM1xcdUFDRTVcXHVBQ0U2XFx1QUNFOVxcdUFDRUJcXHVBQ0VEXFx1QUNFRVxcdUFDRjJcXHVBQ0Y0XFx1QUNGN1wiLCA0LCBcIlxcdUFDRkVcXHVBQ0ZGXFx1QUQwMVxcdUFEMDJcXHVBRDAzXFx1QUQwNVxcdUFEMDdcIiwgNCwgXCJcXHVBRDBFXFx1QUQxMFxcdUFEMTJcXHVBRDEzXCJdLFxuICAgICAgW1wiODI0MVwiLCBcIlxcdUFEMTRcXHVBRDE1XFx1QUQxNlxcdUFEMTdcXHVBRDE5XFx1QUQxQVxcdUFEMUJcXHVBRDFEXFx1QUQxRVxcdUFEMUZcXHVBRDIxXCIsIDcsIFwiXFx1QUQyQVxcdUFEMkJcXHVBRDJFXCIsIDVdLFxuICAgICAgW1wiODI2MVwiLCBcIlxcdUFEMzZcXHVBRDM3XFx1QUQzOVxcdUFEM0FcXHVBRDNCXFx1QUQzRFwiLCA2LCBcIlxcdUFENDZcXHVBRDQ4XFx1QUQ0QVwiLCA1LCBcIlxcdUFENTFcXHVBRDUyXFx1QUQ1M1xcdUFENTVcXHVBRDU2XFx1QUQ1N1wiXSxcbiAgICAgIFtcIjgyODFcIiwgXCJcXHVBRDU5XCIsIDcsIFwiXFx1QUQ2MlxcdUFENjRcIiwgNywgXCJcXHVBRDZFXFx1QUQ2RlxcdUFENzFcXHVBRDcyXFx1QUQ3N1xcdUFENzhcXHVBRDc5XFx1QUQ3QVxcdUFEN0VcXHVBRDgwXFx1QUQ4M1wiLCA0LCBcIlxcdUFEOEFcXHVBRDhCXFx1QUQ4RFxcdUFEOEVcXHVBRDhGXFx1QUQ5MVwiLCAxMCwgXCJcXHVBRDlFXCIsIDUsIFwiXFx1QURBNVwiLCAxNywgXCJcXHVBREI4XCIsIDcsIFwiXFx1QURDMlxcdUFEQzNcXHVBREM1XFx1QURDNlxcdUFEQzdcXHVBREM5XCIsIDYsIFwiXFx1QUREMlxcdUFERDRcIiwgNywgXCJcXHVBREREXFx1QURERVxcdUFEREZcXHVBREUxXFx1QURFMlxcdUFERTNcXHVBREU1XCIsIDE4XSxcbiAgICAgIFtcIjgzNDFcIiwgXCJcXHVBREZBXFx1QURGQlxcdUFERkRcXHVBREZFXFx1QUUwMlwiLCA1LCBcIlxcdUFFMEFcXHVBRTBDXFx1QUUwRVwiLCA1LCBcIlxcdUFFMTVcIiwgN10sXG4gICAgICBbXCI4MzYxXCIsIFwiXFx1QUUxRFwiLCAxOCwgXCJcXHVBRTMyXFx1QUUzM1xcdUFFMzVcXHVBRTM2XFx1QUUzOVxcdUFFM0JcXHVBRTNDXCJdLFxuICAgICAgW1wiODM4MVwiLCBcIlxcdUFFM0RcXHVBRTNFXFx1QUUzRlxcdUFFNDJcXHVBRTQ0XFx1QUU0N1xcdUFFNDhcXHVBRTQ5XFx1QUU0QlxcdUFFNEZcXHVBRTUxXFx1QUU1MlxcdUFFNTNcXHVBRTU1XFx1QUU1N1wiLCA0LCBcIlxcdUFFNUVcXHVBRTYyXFx1QUU2M1xcdUFFNjRcXHVBRTY2XFx1QUU2N1xcdUFFNkFcXHVBRTZCXFx1QUU2RFxcdUFFNkVcXHVBRTZGXFx1QUU3MVwiLCA2LCBcIlxcdUFFN0FcXHVBRTdFXCIsIDUsIFwiXFx1QUU4NlwiLCA1LCBcIlxcdUFFOERcIiwgNDYsIFwiXFx1QUVCRlxcdUFFQzFcXHVBRUMyXFx1QUVDM1xcdUFFQzVcIiwgNiwgXCJcXHVBRUNFXFx1QUVEMlwiLCA1LCBcIlxcdUFFREFcXHVBRURCXFx1QUVERFwiLCA4XSxcbiAgICAgIFtcIjg0NDFcIiwgXCJcXHVBRUU2XFx1QUVFN1xcdUFFRTlcXHVBRUVBXFx1QUVFQ1xcdUFFRUVcIiwgNSwgXCJcXHVBRUY1XFx1QUVGNlxcdUFFRjdcXHVBRUY5XFx1QUVGQVxcdUFFRkJcXHVBRUZEXCIsIDhdLFxuICAgICAgW1wiODQ2MVwiLCBcIlxcdUFGMDZcXHVBRjA5XFx1QUYwQVxcdUFGMEJcXHVBRjBDXFx1QUYwRVxcdUFGMEZcXHVBRjExXCIsIDE4XSxcbiAgICAgIFtcIjg0ODFcIiwgXCJcXHVBRjI0XCIsIDcsIFwiXFx1QUYyRVxcdUFGMkZcXHVBRjMxXFx1QUYzM1xcdUFGMzVcIiwgNiwgXCJcXHVBRjNFXFx1QUY0MFxcdUFGNDRcXHVBRjQ1XFx1QUY0NlxcdUFGNDdcXHVBRjRBXCIsIDUsIFwiXFx1QUY1MVwiLCAxMCwgXCJcXHVBRjVFXCIsIDUsIFwiXFx1QUY2NlwiLCAxOCwgXCJcXHVBRjdBXCIsIDUsIFwiXFx1QUY4MVxcdUFGODJcXHVBRjgzXFx1QUY4NVxcdUFGODZcXHVBRjg3XFx1QUY4OVwiLCA2LCBcIlxcdUFGOTJcXHVBRjkzXFx1QUY5NFxcdUFGOTZcIiwgNSwgXCJcXHVBRjlEXCIsIDI2LCBcIlxcdUFGQkFcXHVBRkJCXFx1QUZCRFxcdUFGQkVcIl0sXG4gICAgICBbXCI4NTQxXCIsIFwiXFx1QUZCRlxcdUFGQzFcIiwgNSwgXCJcXHVBRkNBXFx1QUZDQ1xcdUFGQ0ZcIiwgNCwgXCJcXHVBRkQ1XCIsIDYsIFwiXFx1QUZERFwiLCA0XSxcbiAgICAgIFtcIjg1NjFcIiwgXCJcXHVBRkUyXCIsIDUsIFwiXFx1QUZFQVwiLCA1LCBcIlxcdUFGRjJcXHVBRkYzXFx1QUZGNVxcdUFGRjZcXHVBRkY3XFx1QUZGOVwiLCA2LCBcIlxcdUIwMDJcXHVCMDAzXCJdLFxuICAgICAgW1wiODU4MVwiLCBcIlxcdUIwMDVcIiwgNiwgXCJcXHVCMDBEXFx1QjAwRVxcdUIwMEZcXHVCMDExXFx1QjAxMlxcdUIwMTNcXHVCMDE1XCIsIDYsIFwiXFx1QjAxRVwiLCA5LCBcIlxcdUIwMjlcIiwgMjYsIFwiXFx1QjA0NlxcdUIwNDdcXHVCMDQ5XFx1QjA0QlxcdUIwNERcXHVCMDRGXFx1QjA1MFxcdUIwNTFcXHVCMDUyXFx1QjA1NlxcdUIwNThcXHVCMDVBXFx1QjA1QlxcdUIwNUNcXHVCMDVFXCIsIDI5LCBcIlxcdUIwN0VcXHVCMDdGXFx1QjA4MVxcdUIwODJcXHVCMDgzXFx1QjA4NVwiLCA2LCBcIlxcdUIwOEVcXHVCMDkwXFx1QjA5MlwiLCA1LCBcIlxcdUIwOUJcXHVCMDlEXFx1QjA5RVxcdUIwQTNcXHVCMEE0XCJdLFxuICAgICAgW1wiODY0MVwiLCBcIlxcdUIwQTVcXHVCMEE2XFx1QjBBN1xcdUIwQUFcXHVCMEIwXFx1QjBCMlxcdUIwQjZcXHVCMEI3XFx1QjBCOVxcdUIwQkFcXHVCMEJCXFx1QjBCRFwiLCA2LCBcIlxcdUIwQzZcXHVCMENBXCIsIDUsIFwiXFx1QjBEMlwiXSxcbiAgICAgIFtcIjg2NjFcIiwgXCJcXHVCMEQzXFx1QjBENVxcdUIwRDZcXHVCMEQ3XFx1QjBEOVwiLCA2LCBcIlxcdUIwRTFcXHVCMEUyXFx1QjBFM1xcdUIwRTRcXHVCMEU2XCIsIDEwXSxcbiAgICAgIFtcIjg2ODFcIiwgXCJcXHVCMEYxXCIsIDIyLCBcIlxcdUIxMEFcXHVCMTBEXFx1QjEwRVxcdUIxMEZcXHVCMTExXFx1QjExNFxcdUIxMTVcXHVCMTE2XFx1QjExN1xcdUIxMUFcXHVCMTFFXCIsIDQsIFwiXFx1QjEyNlxcdUIxMjdcXHVCMTI5XFx1QjEyQVxcdUIxMkJcXHVCMTJEXCIsIDYsIFwiXFx1QjEzNlxcdUIxM0FcIiwgNSwgXCJcXHVCMTQyXFx1QjE0M1xcdUIxNDVcXHVCMTQ2XFx1QjE0N1xcdUIxNDlcIiwgNiwgXCJcXHVCMTUyXFx1QjE1M1xcdUIxNTZcXHVCMTU3XFx1QjE1OVxcdUIxNUFcXHVCMTVCXFx1QjE1RFxcdUIxNUVcXHVCMTVGXFx1QjE2MVwiLCAyMiwgXCJcXHVCMTdBXFx1QjE3QlxcdUIxN0RcXHVCMTdFXFx1QjE3RlxcdUIxODFcXHVCMTgzXCIsIDQsIFwiXFx1QjE4QVxcdUIxOENcXHVCMThFXFx1QjE4RlxcdUIxOTBcXHVCMTkxXFx1QjE5NVxcdUIxOTZcXHVCMTk3XFx1QjE5OVxcdUIxOUFcXHVCMTlCXFx1QjE5RFwiXSxcbiAgICAgIFtcIjg3NDFcIiwgXCJcXHVCMTlFXCIsIDksIFwiXFx1QjFBOVwiLCAxNV0sXG4gICAgICBbXCI4NzYxXCIsIFwiXFx1QjFCOVwiLCAxOCwgXCJcXHVCMUNEXFx1QjFDRVxcdUIxQ0ZcXHVCMUQxXFx1QjFEMlxcdUIxRDNcXHVCMUQ1XCJdLFxuICAgICAgW1wiODc4MVwiLCBcIlxcdUIxRDZcIiwgNSwgXCJcXHVCMURFXFx1QjFFMFwiLCA3LCBcIlxcdUIxRUFcXHVCMUVCXFx1QjFFRFxcdUIxRUVcXHVCMUVGXFx1QjFGMVwiLCA3LCBcIlxcdUIxRkFcXHVCMUZDXFx1QjFGRVwiLCA1LCBcIlxcdUIyMDZcXHVCMjA3XFx1QjIwOVxcdUIyMEFcXHVCMjBEXCIsIDYsIFwiXFx1QjIxNlxcdUIyMThcXHVCMjFBXCIsIDUsIFwiXFx1QjIyMVwiLCAxOCwgXCJcXHVCMjM1XCIsIDYsIFwiXFx1QjIzRFwiLCAyNiwgXCJcXHVCMjU5XFx1QjI1QVxcdUIyNUJcXHVCMjVEXFx1QjI1RVxcdUIyNUZcXHVCMjYxXCIsIDYsIFwiXFx1QjI2QVwiLCA0XSxcbiAgICAgIFtcIjg4NDFcIiwgXCJcXHVCMjZGXCIsIDQsIFwiXFx1QjI3NlwiLCA1LCBcIlxcdUIyN0RcIiwgNiwgXCJcXHVCMjg2XFx1QjI4N1xcdUIyODhcXHVCMjhBXCIsIDRdLFxuICAgICAgW1wiODg2MVwiLCBcIlxcdUIyOEZcXHVCMjkyXFx1QjI5M1xcdUIyOTVcXHVCMjk2XFx1QjI5N1xcdUIyOUJcIiwgNCwgXCJcXHVCMkEyXFx1QjJBNFxcdUIyQTdcXHVCMkE4XFx1QjJBOVxcdUIyQUJcXHVCMkFEXFx1QjJBRVxcdUIyQUZcXHVCMkIxXFx1QjJCMlxcdUIyQjNcXHVCMkI1XFx1QjJCNlxcdUIyQjdcIl0sXG4gICAgICBbXCI4ODgxXCIsIFwiXFx1QjJCOFwiLCAxNSwgXCJcXHVCMkNBXFx1QjJDQlxcdUIyQ0RcXHVCMkNFXFx1QjJDRlxcdUIyRDFcXHVCMkQzXCIsIDQsIFwiXFx1QjJEQVxcdUIyRENcXHVCMkRFXFx1QjJERlxcdUIyRTBcXHVCMkUxXFx1QjJFM1xcdUIyRTdcXHVCMkU5XFx1QjJFQVxcdUIyRjBcXHVCMkYxXFx1QjJGMlxcdUIyRjZcXHVCMkZDXFx1QjJGRFxcdUIyRkVcXHVCMzAyXFx1QjMwM1xcdUIzMDVcXHVCMzA2XFx1QjMwN1xcdUIzMDlcIiwgNiwgXCJcXHVCMzEyXFx1QjMxNlwiLCA1LCBcIlxcdUIzMURcIiwgNTQsIFwiXFx1QjM1N1xcdUIzNTlcXHVCMzVBXFx1QjM1RFxcdUIzNjBcXHVCMzYxXFx1QjM2MlxcdUIzNjNcIl0sXG4gICAgICBbXCI4OTQxXCIsIFwiXFx1QjM2NlxcdUIzNjhcXHVCMzZBXFx1QjM2Q1xcdUIzNkRcXHVCMzZGXFx1QjM3MlxcdUIzNzNcXHVCMzc1XFx1QjM3NlxcdUIzNzdcXHVCMzc5XCIsIDYsIFwiXFx1QjM4MlxcdUIzODZcIiwgNSwgXCJcXHVCMzhEXCJdLFxuICAgICAgW1wiODk2MVwiLCBcIlxcdUIzOEVcXHVCMzhGXFx1QjM5MVxcdUIzOTJcXHVCMzkzXFx1QjM5NVwiLCAxMCwgXCJcXHVCM0EyXCIsIDUsIFwiXFx1QjNBOVxcdUIzQUFcXHVCM0FCXFx1QjNBRFwiXSxcbiAgICAgIFtcIjg5ODFcIiwgXCJcXHVCM0FFXCIsIDIxLCBcIlxcdUIzQzZcXHVCM0M3XFx1QjNDOVxcdUIzQ0FcXHVCM0NEXFx1QjNDRlxcdUIzRDFcXHVCM0QyXFx1QjNEM1xcdUIzRDZcXHVCM0Q4XFx1QjNEQVxcdUIzRENcXHVCM0RFXFx1QjNERlxcdUIzRTFcXHVCM0UyXFx1QjNFM1xcdUIzRTVcXHVCM0U2XFx1QjNFN1xcdUIzRTlcIiwgMTgsIFwiXFx1QjNGRFwiLCAxOCwgXCJcXHVCNDExXCIsIDYsIFwiXFx1QjQxOVxcdUI0MUFcXHVCNDFCXFx1QjQxRFxcdUI0MUVcXHVCNDFGXFx1QjQyMVwiLCA2LCBcIlxcdUI0MkFcXHVCNDJDXCIsIDcsIFwiXFx1QjQzNVwiLCAxNV0sXG4gICAgICBbXCI4YTQxXCIsIFwiXFx1QjQ0NVwiLCAxMCwgXCJcXHVCNDUyXFx1QjQ1M1xcdUI0NTVcXHVCNDU2XFx1QjQ1N1xcdUI0NTlcIiwgNiwgXCJcXHVCNDYyXFx1QjQ2NFxcdUI0NjZcIl0sXG4gICAgICBbXCI4YTYxXCIsIFwiXFx1QjQ2N1wiLCA0LCBcIlxcdUI0NkRcIiwgMTgsIFwiXFx1QjQ4MVxcdUI0ODJcIl0sXG4gICAgICBbXCI4YTgxXCIsIFwiXFx1QjQ4M1wiLCA0LCBcIlxcdUI0ODlcIiwgMTksIFwiXFx1QjQ5RVwiLCA1LCBcIlxcdUI0QTVcXHVCNEE2XFx1QjRBN1xcdUI0QTlcXHVCNEFBXFx1QjRBQlxcdUI0QURcIiwgNywgXCJcXHVCNEI2XFx1QjRCOFxcdUI0QkFcIiwgNSwgXCJcXHVCNEMxXFx1QjRDMlxcdUI0QzNcXHVCNEM1XFx1QjRDNlxcdUI0QzdcXHVCNEM5XCIsIDYsIFwiXFx1QjREMVxcdUI0RDJcXHVCNEQzXFx1QjRENFxcdUI0RDZcIiwgNSwgXCJcXHVCNERFXFx1QjRERlxcdUI0RTFcXHVCNEUyXFx1QjRFNVxcdUI0RTdcIiwgNCwgXCJcXHVCNEVFXFx1QjRGMFxcdUI0RjJcIiwgNSwgXCJcXHVCNEY5XCIsIDI2LCBcIlxcdUI1MTZcXHVCNTE3XFx1QjUxOVxcdUI1MUFcXHVCNTFEXCJdLFxuICAgICAgW1wiOGI0MVwiLCBcIlxcdUI1MUVcIiwgNSwgXCJcXHVCNTI2XFx1QjUyQlwiLCA0LCBcIlxcdUI1MzJcXHVCNTMzXFx1QjUzNVxcdUI1MzZcXHVCNTM3XFx1QjUzOVwiLCA2LCBcIlxcdUI1NDJcXHVCNTQ2XCJdLFxuICAgICAgW1wiOGI2MVwiLCBcIlxcdUI1NDdcXHVCNTQ4XFx1QjU0OVxcdUI1NEFcXHVCNTRFXFx1QjU0RlxcdUI1NTFcXHVCNTUyXFx1QjU1M1xcdUI1NTVcIiwgNiwgXCJcXHVCNTVFXFx1QjU2MlwiLCA4XSxcbiAgICAgIFtcIjhiODFcIiwgXCJcXHVCNTZCXCIsIDUyLCBcIlxcdUI1QTJcXHVCNUEzXFx1QjVBNVxcdUI1QTZcXHVCNUE3XFx1QjVBOVxcdUI1QUNcXHVCNUFEXFx1QjVBRVxcdUI1QUZcXHVCNUIyXFx1QjVCNlwiLCA0LCBcIlxcdUI1QkVcXHVCNUJGXFx1QjVDMVxcdUI1QzJcXHVCNUMzXFx1QjVDNVwiLCA2LCBcIlxcdUI1Q0VcXHVCNUQyXCIsIDUsIFwiXFx1QjVEOVwiLCAxOCwgXCJcXHVCNUVEXCIsIDE4XSxcbiAgICAgIFtcIjhjNDFcIiwgXCJcXHVCNjAwXCIsIDE1LCBcIlxcdUI2MTJcXHVCNjEzXFx1QjYxNVxcdUI2MTZcXHVCNjE3XFx1QjYxOVwiLCA0XSxcbiAgICAgIFtcIjhjNjFcIiwgXCJcXHVCNjFFXCIsIDYsIFwiXFx1QjYyNlwiLCA1LCBcIlxcdUI2MkRcIiwgNiwgXCJcXHVCNjM1XCIsIDVdLFxuICAgICAgW1wiOGM4MVwiLCBcIlxcdUI2M0JcIiwgMTIsIFwiXFx1QjY0OVwiLCAyNiwgXCJcXHVCNjY1XFx1QjY2NlxcdUI2NjdcXHVCNjY5XCIsIDUwLCBcIlxcdUI2OUVcXHVCNjlGXFx1QjZBMVxcdUI2QTJcXHVCNkEzXFx1QjZBNVwiLCA1LCBcIlxcdUI2QURcXHVCNkFFXFx1QjZBRlxcdUI2QjBcXHVCNkIyXCIsIDE2XSxcbiAgICAgIFtcIjhkNDFcIiwgXCJcXHVCNkMzXCIsIDE2LCBcIlxcdUI2RDVcIiwgOF0sXG4gICAgICBbXCI4ZDYxXCIsIFwiXFx1QjZERVwiLCAxNywgXCJcXHVCNkYxXFx1QjZGMlxcdUI2RjNcXHVCNkY1XFx1QjZGNlxcdUI2RjdcXHVCNkY5XFx1QjZGQVwiXSxcbiAgICAgIFtcIjhkODFcIiwgXCJcXHVCNkZCXCIsIDQsIFwiXFx1QjcwMlxcdUI3MDNcXHVCNzA0XFx1QjcwNlwiLCAzMywgXCJcXHVCNzJBXFx1QjcyQlxcdUI3MkRcXHVCNzJFXFx1QjczMVwiLCA2LCBcIlxcdUI3M0FcXHVCNzNDXCIsIDcsIFwiXFx1Qjc0NVxcdUI3NDZcXHVCNzQ3XFx1Qjc0OVxcdUI3NEFcXHVCNzRCXFx1Qjc0RFwiLCA2LCBcIlxcdUI3NTZcIiwgOSwgXCJcXHVCNzYxXFx1Qjc2MlxcdUI3NjNcXHVCNzY1XFx1Qjc2NlxcdUI3NjdcXHVCNzY5XCIsIDYsIFwiXFx1Qjc3MlxcdUI3NzRcXHVCNzc2XCIsIDUsIFwiXFx1Qjc3RVxcdUI3N0ZcXHVCNzgxXFx1Qjc4MlxcdUI3ODNcXHVCNzg1XCIsIDYsIFwiXFx1Qjc4RVxcdUI3OTNcXHVCNzk0XFx1Qjc5NVxcdUI3OUFcXHVCNzlCXFx1Qjc5RFxcdUI3OUVcIl0sXG4gICAgICBbXCI4ZTQxXCIsIFwiXFx1Qjc5RlxcdUI3QTFcIiwgNiwgXCJcXHVCN0FBXFx1QjdBRVwiLCA1LCBcIlxcdUI3QjZcXHVCN0I3XFx1QjdCOVwiLCA4XSxcbiAgICAgIFtcIjhlNjFcIiwgXCJcXHVCN0MyXCIsIDQsIFwiXFx1QjdDOFxcdUI3Q0FcIiwgMTldLFxuICAgICAgW1wiOGU4MVwiLCBcIlxcdUI3REVcIiwgMTMsIFwiXFx1QjdFRVxcdUI3RUZcXHVCN0YxXFx1QjdGMlxcdUI3RjNcXHVCN0Y1XCIsIDYsIFwiXFx1QjdGRVxcdUI4MDJcIiwgNCwgXCJcXHVCODBBXFx1QjgwQlxcdUI4MERcXHVCODBFXFx1QjgwRlxcdUI4MTFcIiwgNiwgXCJcXHVCODFBXFx1QjgxQ1xcdUI4MUVcIiwgNSwgXCJcXHVCODI2XFx1QjgyN1xcdUI4MjlcXHVCODJBXFx1QjgyQlxcdUI4MkRcIiwgNiwgXCJcXHVCODM2XFx1QjgzQVwiLCA1LCBcIlxcdUI4NDFcXHVCODQyXFx1Qjg0M1xcdUI4NDVcIiwgMTEsIFwiXFx1Qjg1MlxcdUI4NTRcIiwgNywgXCJcXHVCODVFXFx1Qjg1RlxcdUI4NjFcXHVCODYyXFx1Qjg2M1xcdUI4NjVcIiwgNiwgXCJcXHVCODZFXFx1Qjg3MFxcdUI4NzJcIiwgNSwgXCJcXHVCODc5XFx1Qjg3QVxcdUI4N0JcXHVCODdEXCIsIDddLFxuICAgICAgW1wiOGY0MVwiLCBcIlxcdUI4ODVcIiwgNywgXCJcXHVCODhFXCIsIDE3XSxcbiAgICAgIFtcIjhmNjFcIiwgXCJcXHVCOEEwXCIsIDcsIFwiXFx1QjhBOVwiLCA2LCBcIlxcdUI4QjFcXHVCOEIyXFx1QjhCM1xcdUI4QjVcXHVCOEI2XFx1QjhCN1xcdUI4QjlcIiwgNF0sXG4gICAgICBbXCI4ZjgxXCIsIFwiXFx1QjhCRVxcdUI4QkZcXHVCOEMyXFx1QjhDNFxcdUI4QzZcIiwgNSwgXCJcXHVCOENEXFx1QjhDRVxcdUI4Q0ZcXHVCOEQxXFx1QjhEMlxcdUI4RDNcXHVCOEQ1XCIsIDcsIFwiXFx1QjhERVxcdUI4RTBcXHVCOEUyXCIsIDUsIFwiXFx1QjhFQVxcdUI4RUJcXHVCOEVEXFx1QjhFRVxcdUI4RUZcXHVCOEYxXCIsIDYsIFwiXFx1QjhGQVxcdUI4RkNcXHVCOEZFXCIsIDUsIFwiXFx1QjkwNVwiLCAxOCwgXCJcXHVCOTE5XCIsIDYsIFwiXFx1QjkyMVwiLCAyNiwgXCJcXHVCOTNFXFx1QjkzRlxcdUI5NDFcXHVCOTQyXFx1Qjk0M1xcdUI5NDVcIiwgNiwgXCJcXHVCOTREXFx1Qjk0RVxcdUI5NTBcXHVCOTUyXCIsIDVdLFxuICAgICAgW1wiOTA0MVwiLCBcIlxcdUI5NUFcXHVCOTVCXFx1Qjk1RFxcdUI5NUVcXHVCOTVGXFx1Qjk2MVwiLCA2LCBcIlxcdUI5NkFcXHVCOTZDXFx1Qjk2RVwiLCA1LCBcIlxcdUI5NzZcXHVCOTc3XFx1Qjk3OVxcdUI5N0FcXHVCOTdCXFx1Qjk3RFwiXSxcbiAgICAgIFtcIjkwNjFcIiwgXCJcXHVCOTdFXCIsIDUsIFwiXFx1Qjk4NlxcdUI5ODhcXHVCOThCXFx1Qjk4Q1xcdUI5OEZcIiwgMTVdLFxuICAgICAgW1wiOTA4MVwiLCBcIlxcdUI5OUZcIiwgMTIsIFwiXFx1QjlBRVxcdUI5QUZcXHVCOUIxXFx1QjlCMlxcdUI5QjNcXHVCOUI1XCIsIDYsIFwiXFx1QjlCRVxcdUI5QzBcXHVCOUMyXCIsIDUsIFwiXFx1QjlDQVxcdUI5Q0JcXHVCOUNEXFx1QjlEM1wiLCA0LCBcIlxcdUI5REFcXHVCOURDXFx1QjlERlxcdUI5RTBcXHVCOUUyXFx1QjlFNlxcdUI5RTdcXHVCOUU5XFx1QjlFQVxcdUI5RUJcXHVCOUVEXCIsIDYsIFwiXFx1QjlGNlxcdUI5RkJcIiwgNCwgXCJcXHVCQTAyXCIsIDUsIFwiXFx1QkEwOVwiLCAxMSwgXCJcXHVCQTE2XCIsIDMzLCBcIlxcdUJBM0FcXHVCQTNCXFx1QkEzRFxcdUJBM0VcXHVCQTNGXFx1QkE0MVxcdUJBNDNcXHVCQTQ0XFx1QkE0NVxcdUJBNDZcIl0sXG4gICAgICBbXCI5MTQxXCIsIFwiXFx1QkE0N1xcdUJBNEFcXHVCQTRDXFx1QkE0RlxcdUJBNTBcXHVCQTUxXFx1QkE1MlxcdUJBNTZcXHVCQTU3XFx1QkE1OVxcdUJBNUFcXHVCQTVCXFx1QkE1RFwiLCA2LCBcIlxcdUJBNjZcXHVCQTZBXCIsIDVdLFxuICAgICAgW1wiOTE2MVwiLCBcIlxcdUJBNzJcXHVCQTczXFx1QkE3NVxcdUJBNzZcXHVCQTc3XFx1QkE3OVwiLCA5LCBcIlxcdUJBODZcXHVCQTg4XFx1QkE4OVxcdUJBOEFcXHVCQThCXFx1QkE4RFwiLCA1XSxcbiAgICAgIFtcIjkxODFcIiwgXCJcXHVCQTkzXCIsIDIwLCBcIlxcdUJBQUFcXHVCQUFEXFx1QkFBRVxcdUJBQUZcXHVCQUIxXFx1QkFCM1wiLCA0LCBcIlxcdUJBQkFcXHVCQUJDXFx1QkFCRVwiLCA1LCBcIlxcdUJBQzVcXHVCQUM2XFx1QkFDN1xcdUJBQzlcIiwgMTQsIFwiXFx1QkFEQVwiLCAzMywgXCJcXHVCQUZEXFx1QkFGRVxcdUJBRkZcXHVCQjAxXFx1QkIwMlxcdUJCMDNcXHVCQjA1XCIsIDcsIFwiXFx1QkIwRVxcdUJCMTBcXHVCQjEyXCIsIDUsIFwiXFx1QkIxOVxcdUJCMUFcXHVCQjFCXFx1QkIxRFxcdUJCMUVcXHVCQjFGXFx1QkIyMVwiLCA2XSxcbiAgICAgIFtcIjkyNDFcIiwgXCJcXHVCQjI4XFx1QkIyQVxcdUJCMkNcIiwgNywgXCJcXHVCQjM3XFx1QkIzOVxcdUJCM0FcXHVCQjNGXCIsIDQsIFwiXFx1QkI0NlxcdUJCNDhcXHVCQjRBXFx1QkI0QlxcdUJCNENcXHVCQjRFXFx1QkI1MVxcdUJCNTJcIl0sXG4gICAgICBbXCI5MjYxXCIsIFwiXFx1QkI1M1xcdUJCNTVcXHVCQjU2XFx1QkI1N1xcdUJCNTlcIiwgNywgXCJcXHVCQjYyXFx1QkI2NFwiLCA3LCBcIlxcdUJCNkRcIiwgNF0sXG4gICAgICBbXCI5MjgxXCIsIFwiXFx1QkI3MlwiLCAyMSwgXCJcXHVCQjg5XFx1QkI4QVxcdUJCOEJcXHVCQjhEXFx1QkI4RVxcdUJCOEZcXHVCQjkxXCIsIDE4LCBcIlxcdUJCQTVcXHVCQkE2XFx1QkJBN1xcdUJCQTlcXHVCQkFBXFx1QkJBQlxcdUJCQURcIiwgNiwgXCJcXHVCQkI1XFx1QkJCNlxcdUJCQjhcIiwgNywgXCJcXHVCQkMxXFx1QkJDMlxcdUJCQzNcXHVCQkM1XFx1QkJDNlxcdUJCQzdcXHVCQkM5XCIsIDYsIFwiXFx1QkJEMVxcdUJCRDJcXHVCQkQ0XCIsIDM1LCBcIlxcdUJCRkFcXHVCQkZCXFx1QkJGRFxcdUJCRkVcXHVCQzAxXCJdLFxuICAgICAgW1wiOTM0MVwiLCBcIlxcdUJDMDNcIiwgNCwgXCJcXHVCQzBBXFx1QkMwRVxcdUJDMTBcXHVCQzEyXFx1QkMxM1xcdUJDMTlcXHVCQzFBXFx1QkMyMFxcdUJDMjFcXHVCQzIyXFx1QkMyM1xcdUJDMjZcXHVCQzI4XFx1QkMyQVxcdUJDMkJcXHVCQzJDXFx1QkMyRVxcdUJDMkZcXHVCQzMyXFx1QkMzM1xcdUJDMzVcIl0sXG4gICAgICBbXCI5MzYxXCIsIFwiXFx1QkMzNlxcdUJDMzdcXHVCQzM5XCIsIDYsIFwiXFx1QkM0MlxcdUJDNDZcXHVCQzQ3XFx1QkM0OFxcdUJDNEFcXHVCQzRCXFx1QkM0RVxcdUJDNEZcXHVCQzUxXCIsIDhdLFxuICAgICAgW1wiOTM4MVwiLCBcIlxcdUJDNUFcXHVCQzVCXFx1QkM1Q1xcdUJDNUVcIiwgMzcsIFwiXFx1QkM4NlxcdUJDODdcXHVCQzg5XFx1QkM4QVxcdUJDOERcXHVCQzhGXCIsIDQsIFwiXFx1QkM5NlxcdUJDOThcXHVCQzlCXCIsIDQsIFwiXFx1QkNBMlxcdUJDQTNcXHVCQ0E1XFx1QkNBNlxcdUJDQTlcIiwgNiwgXCJcXHVCQ0IyXFx1QkNCNlwiLCA1LCBcIlxcdUJDQkVcXHVCQ0JGXFx1QkNDMVxcdUJDQzJcXHVCQ0MzXFx1QkNDNVwiLCA3LCBcIlxcdUJDQ0VcXHVCQ0QyXFx1QkNEM1xcdUJDRDRcXHVCQ0Q2XFx1QkNEN1xcdUJDRDlcXHVCQ0RBXFx1QkNEQlxcdUJDRERcIiwgMjIsIFwiXFx1QkNGN1xcdUJDRjlcXHVCQ0ZBXFx1QkNGQlxcdUJDRkRcIl0sXG4gICAgICBbXCI5NDQxXCIsIFwiXFx1QkNGRVwiLCA1LCBcIlxcdUJEMDZcXHVCRDA4XFx1QkQwQVwiLCA1LCBcIlxcdUJEMTFcXHVCRDEyXFx1QkQxM1xcdUJEMTVcIiwgOF0sXG4gICAgICBbXCI5NDYxXCIsIFwiXFx1QkQxRVwiLCA1LCBcIlxcdUJEMjVcIiwgNiwgXCJcXHVCRDJEXCIsIDEyXSxcbiAgICAgIFtcIjk0ODFcIiwgXCJcXHVCRDNBXCIsIDUsIFwiXFx1QkQ0MVwiLCA2LCBcIlxcdUJENEFcXHVCRDRCXFx1QkQ0RFxcdUJENEVcXHVCRDRGXFx1QkQ1MVwiLCA2LCBcIlxcdUJENUFcIiwgOSwgXCJcXHVCRDY1XFx1QkQ2NlxcdUJENjdcXHVCRDY5XCIsIDIyLCBcIlxcdUJEODJcXHVCRDgzXFx1QkQ4NVxcdUJEODZcXHVCRDhCXCIsIDQsIFwiXFx1QkQ5MlxcdUJEOTRcXHVCRDk2XFx1QkQ5N1xcdUJEOThcXHVCRDlCXFx1QkQ5RFwiLCA2LCBcIlxcdUJEQTVcIiwgMTAsIFwiXFx1QkRCMVwiLCA2LCBcIlxcdUJEQjlcIiwgMjRdLFxuICAgICAgW1wiOTU0MVwiLCBcIlxcdUJERDJcXHVCREQzXFx1QkRENlxcdUJERDdcXHVCREQ5XFx1QkREQVxcdUJEREJcXHVCREREXCIsIDExLCBcIlxcdUJERUFcIiwgNSwgXCJcXHVCREYxXCJdLFxuICAgICAgW1wiOTU2MVwiLCBcIlxcdUJERjJcXHVCREYzXFx1QkRGNVxcdUJERjZcXHVCREY3XFx1QkRGOVwiLCA2LCBcIlxcdUJFMDFcXHVCRTAyXFx1QkUwNFxcdUJFMDZcIiwgNSwgXCJcXHVCRTBFXFx1QkUwRlxcdUJFMTFcXHVCRTEyXFx1QkUxM1wiXSxcbiAgICAgIFtcIjk1ODFcIiwgXCJcXHVCRTE1XCIsIDYsIFwiXFx1QkUxRVxcdUJFMjBcIiwgMzUsIFwiXFx1QkU0NlxcdUJFNDdcXHVCRTQ5XFx1QkU0QVxcdUJFNEJcXHVCRTREXFx1QkU0RlwiLCA0LCBcIlxcdUJFNTZcXHVCRTU4XFx1QkU1Q1xcdUJFNURcXHVCRTVFXFx1QkU1RlxcdUJFNjJcXHVCRTYzXFx1QkU2NVxcdUJFNjZcXHVCRTY3XFx1QkU2OVxcdUJFNkJcIiwgNCwgXCJcXHVCRTcyXFx1QkU3NlwiLCA0LCBcIlxcdUJFN0VcXHVCRTdGXFx1QkU4MVxcdUJFODJcXHVCRTgzXFx1QkU4NVwiLCA2LCBcIlxcdUJFOEVcXHVCRTkyXCIsIDUsIFwiXFx1QkU5QVwiLCAxMywgXCJcXHVCRUE5XCIsIDE0XSxcbiAgICAgIFtcIjk2NDFcIiwgXCJcXHVCRUI4XCIsIDIzLCBcIlxcdUJFRDJcXHVCRUQzXCJdLFxuICAgICAgW1wiOTY2MVwiLCBcIlxcdUJFRDVcXHVCRUQ2XFx1QkVEOVwiLCA2LCBcIlxcdUJFRTFcXHVCRUUyXFx1QkVFNlwiLCA1LCBcIlxcdUJFRURcIiwgOF0sXG4gICAgICBbXCI5NjgxXCIsIFwiXFx1QkVGNlwiLCAxMCwgXCJcXHVCRjAyXCIsIDUsIFwiXFx1QkYwQVwiLCAxMywgXCJcXHVCRjFBXFx1QkYxRVwiLCAzMywgXCJcXHVCRjQyXFx1QkY0M1xcdUJGNDVcXHVCRjQ2XFx1QkY0N1xcdUJGNDlcIiwgNiwgXCJcXHVCRjUyXFx1QkY1M1xcdUJGNTRcXHVCRjU2XCIsIDQ0XSxcbiAgICAgIFtcIjk3NDFcIiwgXCJcXHVCRjgzXCIsIDE2LCBcIlxcdUJGOTVcIiwgOF0sXG4gICAgICBbXCI5NzYxXCIsIFwiXFx1QkY5RVwiLCAxNywgXCJcXHVCRkIxXCIsIDddLFxuICAgICAgW1wiOTc4MVwiLCBcIlxcdUJGQjlcIiwgMTEsIFwiXFx1QkZDNlwiLCA1LCBcIlxcdUJGQ0VcXHVCRkNGXFx1QkZEMVxcdUJGRDJcXHVCRkQzXFx1QkZENVwiLCA2LCBcIlxcdUJGRERcXHVCRkRFXFx1QkZFMFxcdUJGRTJcIiwgODksIFwiXFx1QzAzRFxcdUMwM0VcXHVDMDNGXCJdLFxuICAgICAgW1wiOTg0MVwiLCBcIlxcdUMwNDBcIiwgMTYsIFwiXFx1QzA1MlwiLCA1LCBcIlxcdUMwNTlcXHVDMDVBXFx1QzA1QlwiXSxcbiAgICAgIFtcIjk4NjFcIiwgXCJcXHVDMDVEXFx1QzA1RVxcdUMwNUZcXHVDMDYxXCIsIDYsIFwiXFx1QzA2QVwiLCAxNV0sXG4gICAgICBbXCI5ODgxXCIsIFwiXFx1QzA3QVwiLCAyMSwgXCJcXHVDMDkyXFx1QzA5M1xcdUMwOTVcXHVDMDk2XFx1QzA5N1xcdUMwOTlcIiwgNiwgXCJcXHVDMEEyXFx1QzBBNFxcdUMwQTZcIiwgNSwgXCJcXHVDMEFFXFx1QzBCMVxcdUMwQjJcXHVDMEI3XCIsIDQsIFwiXFx1QzBCRVxcdUMwQzJcXHVDMEMzXFx1QzBDNFxcdUMwQzZcXHVDMEM3XFx1QzBDQVxcdUMwQ0JcXHVDMENEXFx1QzBDRVxcdUMwQ0ZcXHVDMEQxXCIsIDYsIFwiXFx1QzBEQVxcdUMwREVcIiwgNSwgXCJcXHVDMEU2XFx1QzBFN1xcdUMwRTlcXHVDMEVBXFx1QzBFQlxcdUMwRURcIiwgNiwgXCJcXHVDMEY2XFx1QzBGOFxcdUMwRkFcIiwgNSwgXCJcXHVDMTAxXFx1QzEwMlxcdUMxMDNcXHVDMTA1XFx1QzEwNlxcdUMxMDdcXHVDMTA5XCIsIDYsIFwiXFx1QzExMVxcdUMxMTJcXHVDMTEzXFx1QzExNFxcdUMxMTZcIiwgNSwgXCJcXHVDMTIxXFx1QzEyMlxcdUMxMjVcXHVDMTI4XFx1QzEyOVxcdUMxMkFcXHVDMTJCXFx1QzEyRVwiXSxcbiAgICAgIFtcIjk5NDFcIiwgXCJcXHVDMTMyXFx1QzEzM1xcdUMxMzRcXHVDMTM1XFx1QzEzN1xcdUMxM0FcXHVDMTNCXFx1QzEzRFxcdUMxM0VcXHVDMTNGXFx1QzE0MVwiLCA2LCBcIlxcdUMxNEFcXHVDMTRFXCIsIDUsIFwiXFx1QzE1NlxcdUMxNTdcIl0sXG4gICAgICBbXCI5OTYxXCIsIFwiXFx1QzE1OVxcdUMxNUFcXHVDMTVCXFx1QzE1RFwiLCA2LCBcIlxcdUMxNjZcXHVDMTZBXCIsIDUsIFwiXFx1QzE3MVxcdUMxNzJcXHVDMTczXFx1QzE3NVxcdUMxNzZcXHVDMTc3XFx1QzE3OVxcdUMxN0FcXHVDMTdCXCJdLFxuICAgICAgW1wiOTk4MVwiLCBcIlxcdUMxN0NcIiwgOCwgXCJcXHVDMTg2XCIsIDUsIFwiXFx1QzE4RlxcdUMxOTFcXHVDMTkyXFx1QzE5M1xcdUMxOTVcXHVDMTk3XCIsIDQsIFwiXFx1QzE5RVxcdUMxQTBcXHVDMUEyXFx1QzFBM1xcdUMxQTRcXHVDMUE2XFx1QzFBN1xcdUMxQUFcXHVDMUFCXFx1QzFBRFxcdUMxQUVcXHVDMUFGXFx1QzFCMVwiLCAxMSwgXCJcXHVDMUJFXCIsIDUsIFwiXFx1QzFDNVxcdUMxQzZcXHVDMUM3XFx1QzFDOVxcdUMxQ0FcXHVDMUNCXFx1QzFDRFwiLCA2LCBcIlxcdUMxRDVcXHVDMUQ2XFx1QzFEOVwiLCA2LCBcIlxcdUMxRTFcXHVDMUUyXFx1QzFFM1xcdUMxRTVcXHVDMUU2XFx1QzFFN1xcdUMxRTlcIiwgNiwgXCJcXHVDMUYyXFx1QzFGNFwiLCA3LCBcIlxcdUMxRkVcXHVDMUZGXFx1QzIwMVxcdUMyMDJcXHVDMjAzXFx1QzIwNVwiLCA2LCBcIlxcdUMyMEVcXHVDMjEwXFx1QzIxMlwiLCA1LCBcIlxcdUMyMUFcXHVDMjFCXFx1QzIxRFxcdUMyMUVcXHVDMjIxXFx1QzIyMlxcdUMyMjNcIl0sXG4gICAgICBbXCI5YTQxXCIsIFwiXFx1QzIyNFxcdUMyMjVcXHVDMjI2XFx1QzIyN1xcdUMyMkFcXHVDMjJDXFx1QzIyRVxcdUMyMzBcXHVDMjMzXFx1QzIzNVwiLCAxNl0sXG4gICAgICBbXCI5YTYxXCIsIFwiXFx1QzI0NlxcdUMyNDdcXHVDMjQ5XCIsIDYsIFwiXFx1QzI1MlxcdUMyNTNcXHVDMjU1XFx1QzI1NlxcdUMyNTdcXHVDMjU5XCIsIDYsIFwiXFx1QzI2MVxcdUMyNjJcXHVDMjYzXFx1QzI2NFxcdUMyNjZcIl0sXG4gICAgICBbXCI5YTgxXCIsIFwiXFx1QzI2N1wiLCA0LCBcIlxcdUMyNkVcXHVDMjZGXFx1QzI3MVxcdUMyNzJcXHVDMjczXFx1QzI3NVwiLCA2LCBcIlxcdUMyN0VcXHVDMjgwXFx1QzI4MlwiLCA1LCBcIlxcdUMyOEFcIiwgNSwgXCJcXHVDMjkxXCIsIDYsIFwiXFx1QzI5OVxcdUMyOUFcXHVDMjlDXFx1QzI5RVwiLCA1LCBcIlxcdUMyQTZcXHVDMkE3XFx1QzJBOVxcdUMyQUFcXHVDMkFCXFx1QzJBRVwiLCA1LCBcIlxcdUMyQjZcXHVDMkI4XFx1QzJCQVwiLCAzMywgXCJcXHVDMkRFXFx1QzJERlxcdUMyRTFcXHVDMkUyXFx1QzJFNVwiLCA1LCBcIlxcdUMyRUVcXHVDMkYwXFx1QzJGMlxcdUMyRjNcXHVDMkY0XFx1QzJGNVxcdUMyRjdcXHVDMkZBXFx1QzJGRFxcdUMyRkVcXHVDMkZGXFx1QzMwMVwiLCA2LCBcIlxcdUMzMEFcXHVDMzBCXFx1QzMwRVxcdUMzMEZcIl0sXG4gICAgICBbXCI5YjQxXCIsIFwiXFx1QzMxMFxcdUMzMTFcXHVDMzEyXFx1QzMxNlxcdUMzMTdcXHVDMzE5XFx1QzMxQVxcdUMzMUJcXHVDMzFEXCIsIDYsIFwiXFx1QzMyNlxcdUMzMjdcXHVDMzJBXCIsIDhdLFxuICAgICAgW1wiOWI2MVwiLCBcIlxcdUMzMzNcIiwgMTcsIFwiXFx1QzM0NlwiLCA3XSxcbiAgICAgIFtcIjliODFcIiwgXCJcXHVDMzRFXCIsIDI1LCBcIlxcdUMzNkFcXHVDMzZCXFx1QzM2RFxcdUMzNkVcXHVDMzZGXFx1QzM3MVxcdUMzNzNcIiwgNCwgXCJcXHVDMzdBXFx1QzM3QlxcdUMzN0VcIiwgNSwgXCJcXHVDMzg1XFx1QzM4NlxcdUMzODdcXHVDMzg5XFx1QzM4QVxcdUMzOEJcXHVDMzhEXCIsIDUwLCBcIlxcdUMzQzFcIiwgMjIsIFwiXFx1QzNEQVwiXSxcbiAgICAgIFtcIjljNDFcIiwgXCJcXHVDM0RCXFx1QzNERFxcdUMzREVcXHVDM0UxXFx1QzNFM1wiLCA0LCBcIlxcdUMzRUFcXHVDM0VCXFx1QzNFQ1xcdUMzRUVcIiwgNSwgXCJcXHVDM0Y2XFx1QzNGN1xcdUMzRjlcIiwgNV0sXG4gICAgICBbXCI5YzYxXCIsIFwiXFx1QzNGRlwiLCA4LCBcIlxcdUM0MDlcIiwgNiwgXCJcXHVDNDExXCIsIDldLFxuICAgICAgW1wiOWM4MVwiLCBcIlxcdUM0MUJcIiwgOCwgXCJcXHVDNDI1XCIsIDYsIFwiXFx1QzQyRFxcdUM0MkVcXHVDNDJGXFx1QzQzMVxcdUM0MzJcXHVDNDMzXFx1QzQzNVwiLCA2LCBcIlxcdUM0M0VcIiwgOSwgXCJcXHVDNDQ5XCIsIDI2LCBcIlxcdUM0NjZcXHVDNDY3XFx1QzQ2OVxcdUM0NkFcXHVDNDZCXFx1QzQ2RFwiLCA2LCBcIlxcdUM0NzZcXHVDNDc3XFx1QzQ3OFxcdUM0N0FcIiwgNSwgXCJcXHVDNDgxXCIsIDE4LCBcIlxcdUM0OTVcIiwgNiwgXCJcXHVDNDlEXCIsIDEyXSxcbiAgICAgIFtcIjlkNDFcIiwgXCJcXHVDNEFBXCIsIDEzLCBcIlxcdUM0QjlcXHVDNEJBXFx1QzRCQlxcdUM0QkRcIiwgOF0sXG4gICAgICBbXCI5ZDYxXCIsIFwiXFx1QzRDNlwiLCAyNV0sXG4gICAgICBbXCI5ZDgxXCIsIFwiXFx1QzRFMFwiLCA4LCBcIlxcdUM0RUFcIiwgNSwgXCJcXHVDNEYyXFx1QzRGM1xcdUM0RjVcXHVDNEY2XFx1QzRGN1xcdUM0RjlcXHVDNEZCXFx1QzRGQ1xcdUM0RkRcXHVDNEZFXFx1QzUwMlwiLCA5LCBcIlxcdUM1MERcXHVDNTBFXFx1QzUwRlxcdUM1MTFcXHVDNTEyXFx1QzUxM1xcdUM1MTVcIiwgNiwgXCJcXHVDNTFEXCIsIDEwLCBcIlxcdUM1MkFcXHVDNTJCXFx1QzUyRFxcdUM1MkVcXHVDNTJGXFx1QzUzMVwiLCA2LCBcIlxcdUM1M0FcXHVDNTNDXFx1QzUzRVwiLCA1LCBcIlxcdUM1NDZcXHVDNTQ3XFx1QzU0QlxcdUM1NEZcXHVDNTUwXFx1QzU1MVxcdUM1NTJcXHVDNTU2XFx1QzU1QVxcdUM1NUJcXHVDNTVDXFx1QzU1RlxcdUM1NjJcXHVDNTYzXFx1QzU2NVxcdUM1NjZcXHVDNTY3XFx1QzU2OVwiLCA2LCBcIlxcdUM1NzJcXHVDNTc2XCIsIDUsIFwiXFx1QzU3RVxcdUM1N0ZcXHVDNTgxXFx1QzU4MlxcdUM1ODNcXHVDNTg1XFx1QzU4NlxcdUM1ODhcXHVDNTg5XFx1QzU4QVxcdUM1OEJcXHVDNThFXFx1QzU5MFxcdUM1OTJcXHVDNTkzXFx1QzU5NFwiXSxcbiAgICAgIFtcIjllNDFcIiwgXCJcXHVDNTk2XFx1QzU5OVxcdUM1OUFcXHVDNTlCXFx1QzU5RFxcdUM1OUVcXHVDNTlGXFx1QzVBMVwiLCA3LCBcIlxcdUM1QUFcIiwgOSwgXCJcXHVDNUI2XCJdLFxuICAgICAgW1wiOWU2MVwiLCBcIlxcdUM1QjdcXHVDNUJBXFx1QzVCRlwiLCA0LCBcIlxcdUM1Q0JcXHVDNUNEXFx1QzVDRlxcdUM1RDJcXHVDNUQzXFx1QzVENVxcdUM1RDZcXHVDNUQ3XFx1QzVEOVwiLCA2LCBcIlxcdUM1RTJcXHVDNUU0XFx1QzVFNlxcdUM1RTdcIl0sXG4gICAgICBbXCI5ZTgxXCIsIFwiXFx1QzVFOFxcdUM1RTlcXHVDNUVBXFx1QzVFQlxcdUM1RUZcXHVDNUYxXFx1QzVGMlxcdUM1RjNcXHVDNUY1XFx1QzVGOFxcdUM1RjlcXHVDNUZBXFx1QzVGQlxcdUM2MDJcXHVDNjAzXFx1QzYwNFxcdUM2MDlcXHVDNjBBXFx1QzYwQlxcdUM2MERcXHVDNjBFXFx1QzYwRlxcdUM2MTFcIiwgNiwgXCJcXHVDNjFBXFx1QzYxRFwiLCA2LCBcIlxcdUM2MjZcXHVDNjI3XFx1QzYyOVxcdUM2MkFcXHVDNjJCXFx1QzYyRlxcdUM2MzFcXHVDNjMyXFx1QzYzNlxcdUM2MzhcXHVDNjNBXFx1QzYzQ1xcdUM2M0RcXHVDNjNFXFx1QzYzRlxcdUM2NDJcXHVDNjQzXFx1QzY0NVxcdUM2NDZcXHVDNjQ3XFx1QzY0OVwiLCA2LCBcIlxcdUM2NTJcXHVDNjU2XCIsIDUsIFwiXFx1QzY1RVxcdUM2NUZcXHVDNjYxXCIsIDEwLCBcIlxcdUM2NkRcXHVDNjZFXFx1QzY3MFxcdUM2NzJcIiwgNSwgXCJcXHVDNjdBXFx1QzY3QlxcdUM2N0RcXHVDNjdFXFx1QzY3RlxcdUM2ODFcIiwgNiwgXCJcXHVDNjhBXFx1QzY4Q1xcdUM2OEVcIiwgNSwgXCJcXHVDNjk2XFx1QzY5N1xcdUM2OTlcXHVDNjlBXFx1QzY5QlxcdUM2OURcIiwgNiwgXCJcXHVDNkE2XCJdLFxuICAgICAgW1wiOWY0MVwiLCBcIlxcdUM2QThcXHVDNkFBXCIsIDUsIFwiXFx1QzZCMlxcdUM2QjNcXHVDNkI1XFx1QzZCNlxcdUM2QjdcXHVDNkJCXCIsIDQsIFwiXFx1QzZDMlxcdUM2QzRcXHVDNkM2XCIsIDUsIFwiXFx1QzZDRVwiXSxcbiAgICAgIFtcIjlmNjFcIiwgXCJcXHVDNkNGXFx1QzZEMVxcdUM2RDJcXHVDNkQzXFx1QzZENVwiLCA2LCBcIlxcdUM2REVcXHVDNkRGXFx1QzZFMlwiLCA1LCBcIlxcdUM2RUFcXHVDNkVCXFx1QzZFRFxcdUM2RUVcXHVDNkVGXFx1QzZGMVxcdUM2RjJcIl0sXG4gICAgICBbXCI5ZjgxXCIsIFwiXFx1QzZGM1wiLCA0LCBcIlxcdUM2RkFcXHVDNkZCXFx1QzZGQ1xcdUM2RkVcIiwgNSwgXCJcXHVDNzA2XFx1QzcwN1xcdUM3MDlcXHVDNzBBXFx1QzcwQlxcdUM3MERcIiwgNiwgXCJcXHVDNzE2XFx1QzcxOFxcdUM3MUFcIiwgNSwgXCJcXHVDNzIyXFx1QzcyM1xcdUM3MjVcXHVDNzI2XFx1QzcyN1xcdUM3MjlcIiwgNiwgXCJcXHVDNzMyXFx1QzczNFxcdUM3MzZcXHVDNzM4XFx1QzczOVxcdUM3M0FcXHVDNzNCXFx1QzczRVxcdUM3M0ZcXHVDNzQxXFx1Qzc0MlxcdUM3NDNcXHVDNzQ1XCIsIDQsIFwiXFx1Qzc0QlxcdUM3NEVcXHVDNzUwXFx1Qzc1OVxcdUM3NUFcXHVDNzVCXFx1Qzc1RFxcdUM3NUVcXHVDNzVGXFx1Qzc2MVwiLCA2LCBcIlxcdUM3NjlcXHVDNzZBXFx1Qzc2Q1wiLCA3LCBcIlxcdUM3NzZcXHVDNzc3XFx1Qzc3OVxcdUM3N0FcXHVDNzdCXFx1Qzc3RlxcdUM3ODBcXHVDNzgxXFx1Qzc4MlxcdUM3ODZcXHVDNzhCXFx1Qzc4Q1xcdUM3OERcXHVDNzhGXFx1Qzc5MlxcdUM3OTNcXHVDNzk1XFx1Qzc5OVxcdUM3OUJcIiwgNCwgXCJcXHVDN0EyXFx1QzdBN1wiLCA0LCBcIlxcdUM3QUVcXHVDN0FGXFx1QzdCMVxcdUM3QjJcXHVDN0IzXFx1QzdCNVxcdUM3QjZcXHVDN0I3XCJdLFxuICAgICAgW1wiYTA0MVwiLCBcIlxcdUM3QjhcXHVDN0I5XFx1QzdCQVxcdUM3QkJcXHVDN0JFXFx1QzdDMlwiLCA1LCBcIlxcdUM3Q0FcXHVDN0NCXFx1QzdDRFxcdUM3Q0ZcXHVDN0QxXCIsIDYsIFwiXFx1QzdEOVxcdUM3REFcXHVDN0RCXFx1QzdEQ1wiXSxcbiAgICAgIFtcImEwNjFcIiwgXCJcXHVDN0RFXCIsIDUsIFwiXFx1QzdFNVxcdUM3RTZcXHVDN0U3XFx1QzdFOVxcdUM3RUFcXHVDN0VCXFx1QzdFRFwiLCAxM10sXG4gICAgICBbXCJhMDgxXCIsIFwiXFx1QzdGQlwiLCA0LCBcIlxcdUM4MDJcXHVDODAzXFx1QzgwNVxcdUM4MDZcXHVDODA3XFx1QzgwOVxcdUM4MEJcIiwgNCwgXCJcXHVDODEyXFx1QzgxNFxcdUM4MTdcIiwgNCwgXCJcXHVDODFFXFx1QzgxRlxcdUM4MjFcXHVDODIyXFx1QzgyM1xcdUM4MjVcIiwgNiwgXCJcXHVDODJFXFx1QzgzMFxcdUM4MzJcIiwgNSwgXCJcXHVDODM5XFx1QzgzQVxcdUM4M0JcXHVDODNEXFx1QzgzRVxcdUM4M0ZcXHVDODQxXCIsIDYsIFwiXFx1Qzg0QVxcdUM4NEJcXHVDODRFXCIsIDUsIFwiXFx1Qzg1NVwiLCAyNiwgXCJcXHVDODcyXFx1Qzg3M1xcdUM4NzVcXHVDODc2XFx1Qzg3N1xcdUM4NzlcXHVDODdCXCIsIDQsIFwiXFx1Qzg4MlxcdUM4ODRcXHVDODg4XFx1Qzg4OVxcdUM4OEFcXHVDODhFXCIsIDUsIFwiXFx1Qzg5NVwiLCA3LCBcIlxcdUM4OUVcXHVDOEEwXFx1QzhBMlxcdUM4QTNcXHVDOEE0XCJdLFxuICAgICAgW1wiYTE0MVwiLCBcIlxcdUM4QTVcXHVDOEE2XFx1QzhBN1xcdUM4QTlcIiwgMTgsIFwiXFx1QzhCRVxcdUM4QkZcXHVDOEMwXFx1QzhDMVwiXSxcbiAgICAgIFtcImExNjFcIiwgXCJcXHVDOEMyXFx1QzhDM1xcdUM4QzVcXHVDOEM2XFx1QzhDN1xcdUM4QzlcXHVDOENBXFx1QzhDQlxcdUM4Q0RcIiwgNiwgXCJcXHVDOEQ2XFx1QzhEOFxcdUM4REFcIiwgNSwgXCJcXHVDOEUyXFx1QzhFM1xcdUM4RTVcIl0sXG4gICAgICBbXCJhMTgxXCIsIFwiXFx1QzhFNlwiLCAxNCwgXCJcXHVDOEY2XCIsIDUsIFwiXFx1QzhGRVxcdUM4RkZcXHVDOTAxXFx1QzkwMlxcdUM5MDNcXHVDOTA3XCIsIDQsIFwiXFx1QzkwRVxcdTMwMDBcXHUzMDAxXFx1MzAwMlxceEI3XFx1MjAyNVxcdTIwMjZcXHhBOFxcdTMwMDNcXHhBRFxcdTIwMTVcXHUyMjI1XFx1RkYzQ1xcdTIyM0NcXHUyMDE4XFx1MjAxOVxcdTIwMUNcXHUyMDFEXFx1MzAxNFxcdTMwMTVcXHUzMDA4XCIsIDksIFwiXFx4QjFcXHhEN1xceEY3XFx1MjI2MFxcdTIyNjRcXHUyMjY1XFx1MjIxRVxcdTIyMzRcXHhCMFxcdTIwMzJcXHUyMDMzXFx1MjEwM1xcdTIxMkJcXHVGRkUwXFx1RkZFMVxcdUZGRTVcXHUyNjQyXFx1MjY0MFxcdTIyMjBcXHUyMkE1XFx1MjMxMlxcdTIyMDJcXHUyMjA3XFx1MjI2MVxcdTIyNTJcXHhBN1xcdTIwM0JcXHUyNjA2XFx1MjYwNVxcdTI1Q0JcXHUyNUNGXFx1MjVDRVxcdTI1QzdcXHUyNUM2XFx1MjVBMVxcdTI1QTBcXHUyNUIzXFx1MjVCMlxcdTI1QkRcXHUyNUJDXFx1MjE5MlxcdTIxOTBcXHUyMTkxXFx1MjE5M1xcdTIxOTRcXHUzMDEzXFx1MjI2QVxcdTIyNkJcXHUyMjFBXFx1MjIzRFxcdTIyMURcXHUyMjM1XFx1MjIyQlxcdTIyMkNcXHUyMjA4XFx1MjIwQlxcdTIyODZcXHUyMjg3XFx1MjI4MlxcdTIyODNcXHUyMjJBXFx1MjIyOVxcdTIyMjdcXHUyMjI4XFx1RkZFMlwiXSxcbiAgICAgIFtcImEyNDFcIiwgXCJcXHVDOTEwXFx1QzkxMlwiLCA1LCBcIlxcdUM5MTlcIiwgMThdLFxuICAgICAgW1wiYTI2MVwiLCBcIlxcdUM5MkRcIiwgNiwgXCJcXHVDOTM1XCIsIDE4XSxcbiAgICAgIFtcImEyODFcIiwgXCJcXHVDOTQ4XCIsIDcsIFwiXFx1Qzk1MlxcdUM5NTNcXHVDOTU1XFx1Qzk1NlxcdUM5NTdcXHVDOTU5XCIsIDYsIFwiXFx1Qzk2MlxcdUM5NjRcIiwgNywgXCJcXHVDOTZEXFx1Qzk2RVxcdUM5NkZcXHUyMUQyXFx1MjFENFxcdTIyMDBcXHUyMjAzXFx4QjRcXHVGRjVFXFx1MDJDN1xcdTAyRDhcXHUwMkREXFx1MDJEQVxcdTAyRDlcXHhCOFxcdTAyREJcXHhBMVxceEJGXFx1MDJEMFxcdTIyMkVcXHUyMjExXFx1MjIwRlxceEE0XFx1MjEwOVxcdTIwMzBcXHUyNUMxXFx1MjVDMFxcdTI1QjdcXHUyNUI2XFx1MjY2NFxcdTI2NjBcXHUyNjYxXFx1MjY2NVxcdTI2NjdcXHUyNjYzXFx1MjI5OVxcdTI1QzhcXHUyNUEzXFx1MjVEMFxcdTI1RDFcXHUyNTkyXFx1MjVBNFxcdTI1QTVcXHUyNUE4XFx1MjVBN1xcdTI1QTZcXHUyNUE5XFx1MjY2OFxcdTI2MEZcXHUyNjBFXFx1MjYxQ1xcdTI2MUVcXHhCNlxcdTIwMjBcXHUyMDIxXFx1MjE5NVxcdTIxOTdcXHUyMTk5XFx1MjE5NlxcdTIxOThcXHUyNjZEXFx1MjY2OVxcdTI2NkFcXHUyNjZDXFx1MzI3RlxcdTMyMUNcXHUyMTE2XFx1MzNDN1xcdTIxMjJcXHUzM0MyXFx1MzNEOFxcdTIxMjFcXHUyMEFDXFx4QUVcIl0sXG4gICAgICBbXCJhMzQxXCIsIFwiXFx1Qzk3MVxcdUM5NzJcXHVDOTczXFx1Qzk3NVwiLCA2LCBcIlxcdUM5N0RcIiwgMTAsIFwiXFx1Qzk4QVxcdUM5OEJcXHVDOThEXFx1Qzk4RVxcdUM5OEZcIl0sXG4gICAgICBbXCJhMzYxXCIsIFwiXFx1Qzk5MVwiLCA2LCBcIlxcdUM5OUFcXHVDOTlDXFx1Qzk5RVwiLCAxNl0sXG4gICAgICBbXCJhMzgxXCIsIFwiXFx1QzlBRlwiLCAxNiwgXCJcXHVDOUMyXFx1QzlDM1xcdUM5QzVcXHVDOUM2XFx1QzlDOVxcdUM5Q0JcIiwgNCwgXCJcXHVDOUQyXFx1QzlENFxcdUM5RDdcXHVDOUQ4XFx1QzlEQlxcdUZGMDFcIiwgNTgsIFwiXFx1RkZFNlxcdUZGM0RcIiwgMzIsIFwiXFx1RkZFM1wiXSxcbiAgICAgIFtcImE0NDFcIiwgXCJcXHVDOURFXFx1QzlERlxcdUM5RTFcXHVDOUUzXFx1QzlFNVxcdUM5RTZcXHVDOUU4XFx1QzlFOVxcdUM5RUFcXHVDOUVCXFx1QzlFRVxcdUM5RjJcIiwgNSwgXCJcXHVDOUZBXFx1QzlGQlxcdUM5RkRcXHVDOUZFXFx1QzlGRlxcdUNBMDFcXHVDQTAyXFx1Q0EwM1xcdUNBMDRcIl0sXG4gICAgICBbXCJhNDYxXCIsIFwiXFx1Q0EwNVxcdUNBMDZcXHVDQTA3XFx1Q0EwQVxcdUNBMEVcIiwgNSwgXCJcXHVDQTE1XFx1Q0ExNlxcdUNBMTdcXHVDQTE5XCIsIDEyXSxcbiAgICAgIFtcImE0ODFcIiwgXCJcXHVDQTI2XFx1Q0EyN1xcdUNBMjhcXHVDQTJBXCIsIDI4LCBcIlxcdTMxMzFcIiwgOTNdLFxuICAgICAgW1wiYTU0MVwiLCBcIlxcdUNBNDdcIiwgNCwgXCJcXHVDQTRFXFx1Q0E0RlxcdUNBNTFcXHVDQTUyXFx1Q0E1M1xcdUNBNTVcIiwgNiwgXCJcXHVDQTVFXFx1Q0E2MlwiLCA1LCBcIlxcdUNBNjlcXHVDQTZBXCJdLFxuICAgICAgW1wiYTU2MVwiLCBcIlxcdUNBNkJcIiwgMTcsIFwiXFx1Q0E3RVwiLCA1LCBcIlxcdUNBODVcXHVDQTg2XCJdLFxuICAgICAgW1wiYTU4MVwiLCBcIlxcdUNBODdcIiwgMTYsIFwiXFx1Q0E5OVwiLCAxNCwgXCJcXHUyMTcwXCIsIDldLFxuICAgICAgW1wiYTViMFwiLCBcIlxcdTIxNjBcIiwgOV0sXG4gICAgICBbXCJhNWMxXCIsIFwiXFx1MDM5MVwiLCAxNiwgXCJcXHUwM0EzXCIsIDZdLFxuICAgICAgW1wiYTVlMVwiLCBcIlxcdTAzQjFcIiwgMTYsIFwiXFx1MDNDM1wiLCA2XSxcbiAgICAgIFtcImE2NDFcIiwgXCJcXHVDQUE4XCIsIDE5LCBcIlxcdUNBQkVcXHVDQUJGXFx1Q0FDMVxcdUNBQzJcXHVDQUMzXFx1Q0FDNVwiXSxcbiAgICAgIFtcImE2NjFcIiwgXCJcXHVDQUM2XCIsIDUsIFwiXFx1Q0FDRVxcdUNBRDBcXHVDQUQyXFx1Q0FENFxcdUNBRDVcXHVDQUQ2XFx1Q0FEN1xcdUNBREFcIiwgNSwgXCJcXHVDQUUxXCIsIDZdLFxuICAgICAgW1wiYTY4MVwiLCBcIlxcdUNBRThcXHVDQUU5XFx1Q0FFQVxcdUNBRUJcXHVDQUVEXCIsIDYsIFwiXFx1Q0FGNVwiLCAxOCwgXCJcXHVDQjA5XFx1Q0IwQVxcdTI1MDBcXHUyNTAyXFx1MjUwQ1xcdTI1MTBcXHUyNTE4XFx1MjUxNFxcdTI1MUNcXHUyNTJDXFx1MjUyNFxcdTI1MzRcXHUyNTNDXFx1MjUwMVxcdTI1MDNcXHUyNTBGXFx1MjUxM1xcdTI1MUJcXHUyNTE3XFx1MjUyM1xcdTI1MzNcXHUyNTJCXFx1MjUzQlxcdTI1NEJcXHUyNTIwXFx1MjUyRlxcdTI1MjhcXHUyNTM3XFx1MjUzRlxcdTI1MURcXHUyNTMwXFx1MjUyNVxcdTI1MzhcXHUyNTQyXFx1MjUxMlxcdTI1MTFcXHUyNTFBXFx1MjUxOVxcdTI1MTZcXHUyNTE1XFx1MjUwRVxcdTI1MERcXHUyNTFFXFx1MjUxRlxcdTI1MjFcXHUyNTIyXFx1MjUyNlxcdTI1MjdcXHUyNTI5XFx1MjUyQVxcdTI1MkRcXHUyNTJFXFx1MjUzMVxcdTI1MzJcXHUyNTM1XFx1MjUzNlxcdTI1MzlcXHUyNTNBXFx1MjUzRFxcdTI1M0VcXHUyNTQwXFx1MjU0MVxcdTI1NDNcIiwgN10sXG4gICAgICBbXCJhNzQxXCIsIFwiXFx1Q0IwQlwiLCA0LCBcIlxcdUNCMTFcXHVDQjEyXFx1Q0IxM1xcdUNCMTVcXHVDQjE2XFx1Q0IxN1xcdUNCMTlcIiwgNiwgXCJcXHVDQjIyXCIsIDddLFxuICAgICAgW1wiYTc2MVwiLCBcIlxcdUNCMkFcIiwgMjIsIFwiXFx1Q0I0MlxcdUNCNDNcXHVDQjQ0XCJdLFxuICAgICAgW1wiYTc4MVwiLCBcIlxcdUNCNDVcXHVDQjQ2XFx1Q0I0N1xcdUNCNEFcXHVDQjRCXFx1Q0I0RFxcdUNCNEVcXHVDQjRGXFx1Q0I1MVwiLCA2LCBcIlxcdUNCNUFcXHVDQjVCXFx1Q0I1Q1xcdUNCNUVcIiwgNSwgXCJcXHVDQjY1XCIsIDcsIFwiXFx1MzM5NVxcdTMzOTZcXHUzMzk3XFx1MjExM1xcdTMzOThcXHUzM0M0XFx1MzNBM1xcdTMzQTRcXHUzM0E1XFx1MzNBNlxcdTMzOTlcIiwgOSwgXCJcXHUzM0NBXFx1MzM4RFxcdTMzOEVcXHUzMzhGXFx1MzNDRlxcdTMzODhcXHUzMzg5XFx1MzNDOFxcdTMzQTdcXHUzM0E4XFx1MzNCMFwiLCA5LCBcIlxcdTMzODBcIiwgNCwgXCJcXHUzM0JBXCIsIDUsIFwiXFx1MzM5MFwiLCA0LCBcIlxcdTIxMjZcXHUzM0MwXFx1MzNDMVxcdTMzOEFcXHUzMzhCXFx1MzM4Q1xcdTMzRDZcXHUzM0M1XFx1MzNBRFxcdTMzQUVcXHUzM0FGXFx1MzNEQlxcdTMzQTlcXHUzM0FBXFx1MzNBQlxcdTMzQUNcXHUzM0REXFx1MzNEMFxcdTMzRDNcXHUzM0MzXFx1MzNDOVxcdTMzRENcXHUzM0M2XCJdLFxuICAgICAgW1wiYTg0MVwiLCBcIlxcdUNCNkRcIiwgMTAsIFwiXFx1Q0I3QVwiLCAxNF0sXG4gICAgICBbXCJhODYxXCIsIFwiXFx1Q0I4OVwiLCAxOCwgXCJcXHVDQjlEXCIsIDZdLFxuICAgICAgW1wiYTg4MVwiLCBcIlxcdUNCQTRcIiwgMTksIFwiXFx1Q0JCOVwiLCAxMSwgXCJcXHhDNlxceEQwXFx4QUFcXHUwMTI2XCJdLFxuICAgICAgW1wiYThhNlwiLCBcIlxcdTAxMzJcIl0sXG4gICAgICBbXCJhOGE4XCIsIFwiXFx1MDEzRlxcdTAxNDFcXHhEOFxcdTAxNTJcXHhCQVxceERFXFx1MDE2NlxcdTAxNEFcIl0sXG4gICAgICBbXCJhOGIxXCIsIFwiXFx1MzI2MFwiLCAyNywgXCJcXHUyNEQwXCIsIDI1LCBcIlxcdTI0NjBcIiwgMTQsIFwiXFx4QkRcXHUyMTUzXFx1MjE1NFxceEJDXFx4QkVcXHUyMTVCXFx1MjE1Q1xcdTIxNURcXHUyMTVFXCJdLFxuICAgICAgW1wiYTk0MVwiLCBcIlxcdUNCQzVcIiwgMTQsIFwiXFx1Q0JENVwiLCAxMF0sXG4gICAgICBbXCJhOTYxXCIsIFwiXFx1Q0JFMFxcdUNCRTFcXHVDQkUyXFx1Q0JFM1xcdUNCRTVcXHVDQkU2XFx1Q0JFOFxcdUNCRUFcIiwgMThdLFxuICAgICAgW1wiYTk4MVwiLCBcIlxcdUNCRkRcIiwgMTQsIFwiXFx1Q0MwRVxcdUNDMEZcXHVDQzExXFx1Q0MxMlxcdUNDMTNcXHVDQzE1XCIsIDYsIFwiXFx1Q0MxRVxcdUNDMUZcXHVDQzIwXFx1Q0MyM1xcdUNDMjRcXHhFNlxcdTAxMTFcXHhGMFxcdTAxMjdcXHUwMTMxXFx1MDEzM1xcdTAxMzhcXHUwMTQwXFx1MDE0MlxceEY4XFx1MDE1M1xceERGXFx4RkVcXHUwMTY3XFx1MDE0QlxcdTAxNDlcXHUzMjAwXCIsIDI3LCBcIlxcdTI0OUNcIiwgMjUsIFwiXFx1MjQ3NFwiLCAxNCwgXCJcXHhCOVxceEIyXFx4QjNcXHUyMDc0XFx1MjA3RlxcdTIwODFcXHUyMDgyXFx1MjA4M1xcdTIwODRcIl0sXG4gICAgICBbXCJhYTQxXCIsIFwiXFx1Q0MyNVxcdUNDMjZcXHVDQzJBXFx1Q0MyQlxcdUNDMkRcXHVDQzJGXFx1Q0MzMVwiLCA2LCBcIlxcdUNDM0FcXHVDQzNGXCIsIDQsIFwiXFx1Q0M0NlxcdUNDNDdcXHVDQzQ5XFx1Q0M0QVxcdUNDNEJcXHVDQzREXFx1Q0M0RVwiXSxcbiAgICAgIFtcImFhNjFcIiwgXCJcXHVDQzRGXCIsIDQsIFwiXFx1Q0M1NlxcdUNDNUFcIiwgNSwgXCJcXHVDQzYxXFx1Q0M2MlxcdUNDNjNcXHVDQzY1XFx1Q0M2N1xcdUNDNjlcIiwgNiwgXCJcXHVDQzcxXFx1Q0M3MlwiXSxcbiAgICAgIFtcImFhODFcIiwgXCJcXHVDQzczXFx1Q0M3NFxcdUNDNzZcIiwgMjksIFwiXFx1MzA0MVwiLCA4Ml0sXG4gICAgICBbXCJhYjQxXCIsIFwiXFx1Q0M5NFxcdUNDOTVcXHVDQzk2XFx1Q0M5N1xcdUNDOUFcXHVDQzlCXFx1Q0M5RFxcdUNDOUVcXHVDQzlGXFx1Q0NBMVwiLCA2LCBcIlxcdUNDQUFcXHVDQ0FFXCIsIDUsIFwiXFx1Q0NCNlxcdUNDQjdcXHVDQ0I5XCJdLFxuICAgICAgW1wiYWI2MVwiLCBcIlxcdUNDQkFcXHVDQ0JCXFx1Q0NCRFwiLCA2LCBcIlxcdUNDQzZcXHVDQ0M4XFx1Q0NDQVwiLCA1LCBcIlxcdUNDRDFcXHVDQ0QyXFx1Q0NEM1xcdUNDRDVcIiwgNV0sXG4gICAgICBbXCJhYjgxXCIsIFwiXFx1Q0NEQlwiLCA4LCBcIlxcdUNDRTVcIiwgNiwgXCJcXHVDQ0VEXFx1Q0NFRVxcdUNDRUZcXHVDQ0YxXCIsIDEyLCBcIlxcdTMwQTFcIiwgODVdLFxuICAgICAgW1wiYWM0MVwiLCBcIlxcdUNDRkVcXHVDQ0ZGXFx1Q0QwMFxcdUNEMDJcIiwgNSwgXCJcXHVDRDBBXFx1Q0QwQlxcdUNEMERcXHVDRDBFXFx1Q0QwRlxcdUNEMTFcIiwgNiwgXCJcXHVDRDFBXFx1Q0QxQ1xcdUNEMUVcXHVDRDFGXFx1Q0QyMFwiXSxcbiAgICAgIFtcImFjNjFcIiwgXCJcXHVDRDIxXFx1Q0QyMlxcdUNEMjNcXHVDRDI1XFx1Q0QyNlxcdUNEMjdcXHVDRDI5XFx1Q0QyQVxcdUNEMkJcXHVDRDJEXCIsIDExLCBcIlxcdUNEM0FcIiwgNF0sXG4gICAgICBbXCJhYzgxXCIsIFwiXFx1Q0QzRlwiLCAyOCwgXCJcXHVDRDVEXFx1Q0Q1RVxcdUNENUZcXHUwNDEwXCIsIDUsIFwiXFx1MDQwMVxcdTA0MTZcIiwgMjVdLFxuICAgICAgW1wiYWNkMVwiLCBcIlxcdTA0MzBcIiwgNSwgXCJcXHUwNDUxXFx1MDQzNlwiLCAyNV0sXG4gICAgICBbXCJhZDQxXCIsIFwiXFx1Q0Q2MVxcdUNENjJcXHVDRDYzXFx1Q0Q2NVwiLCA2LCBcIlxcdUNENkVcXHVDRDcwXFx1Q0Q3MlwiLCA1LCBcIlxcdUNENzlcIiwgN10sXG4gICAgICBbXCJhZDYxXCIsIFwiXFx1Q0Q4MVwiLCA2LCBcIlxcdUNEODlcIiwgMTAsIFwiXFx1Q0Q5NlxcdUNEOTdcXHVDRDk5XFx1Q0Q5QVxcdUNEOUJcXHVDRDlEXFx1Q0Q5RVxcdUNEOUZcIl0sXG4gICAgICBbXCJhZDgxXCIsIFwiXFx1Q0RBMFxcdUNEQTFcXHVDREEyXFx1Q0RBM1xcdUNEQTZcXHVDREE4XFx1Q0RBQVwiLCA1LCBcIlxcdUNEQjFcIiwgMTgsIFwiXFx1Q0RDNVwiXSxcbiAgICAgIFtcImFlNDFcIiwgXCJcXHVDREM2XCIsIDUsIFwiXFx1Q0RDRFxcdUNEQ0VcXHVDRENGXFx1Q0REMVwiLCAxNl0sXG4gICAgICBbXCJhZTYxXCIsIFwiXFx1Q0RFMlwiLCA1LCBcIlxcdUNERTlcXHVDREVBXFx1Q0RFQlxcdUNERURcXHVDREVFXFx1Q0RFRlxcdUNERjFcIiwgNiwgXCJcXHVDREZBXFx1Q0RGQ1xcdUNERkVcIiwgNF0sXG4gICAgICBbXCJhZTgxXCIsIFwiXFx1Q0UwM1xcdUNFMDVcXHVDRTA2XFx1Q0UwN1xcdUNFMDlcXHVDRTBBXFx1Q0UwQlxcdUNFMERcIiwgNiwgXCJcXHVDRTE1XFx1Q0UxNlxcdUNFMTdcXHVDRTE4XFx1Q0UxQVwiLCA1LCBcIlxcdUNFMjJcXHVDRTIzXFx1Q0UyNVxcdUNFMjZcXHVDRTI3XFx1Q0UyOVxcdUNFMkFcXHVDRTJCXCJdLFxuICAgICAgW1wiYWY0MVwiLCBcIlxcdUNFMkNcXHVDRTJEXFx1Q0UyRVxcdUNFMkZcXHVDRTMyXFx1Q0UzNFxcdUNFMzZcIiwgMTldLFxuICAgICAgW1wiYWY2MVwiLCBcIlxcdUNFNEFcIiwgMTMsIFwiXFx1Q0U1QVxcdUNFNUJcXHVDRTVEXFx1Q0U1RVxcdUNFNjJcIiwgNSwgXCJcXHVDRTZBXFx1Q0U2Q1wiXSxcbiAgICAgIFtcImFmODFcIiwgXCJcXHVDRTZFXCIsIDUsIFwiXFx1Q0U3NlxcdUNFNzdcXHVDRTc5XFx1Q0U3QVxcdUNFN0JcXHVDRTdEXCIsIDYsIFwiXFx1Q0U4NlxcdUNFODhcXHVDRThBXCIsIDUsIFwiXFx1Q0U5MlxcdUNFOTNcXHVDRTk1XFx1Q0U5NlxcdUNFOTdcXHVDRTk5XCJdLFxuICAgICAgW1wiYjA0MVwiLCBcIlxcdUNFOUFcIiwgNSwgXCJcXHVDRUEyXFx1Q0VBNlwiLCA1LCBcIlxcdUNFQUVcIiwgMTJdLFxuICAgICAgW1wiYjA2MVwiLCBcIlxcdUNFQkJcIiwgNSwgXCJcXHVDRUMyXCIsIDE5XSxcbiAgICAgIFtcImIwODFcIiwgXCJcXHVDRUQ2XCIsIDEzLCBcIlxcdUNFRTZcXHVDRUU3XFx1Q0VFOVxcdUNFRUFcXHVDRUVEXCIsIDYsIFwiXFx1Q0VGNlxcdUNFRkFcIiwgNSwgXCJcXHVBQzAwXFx1QUMwMVxcdUFDMDRcXHVBQzA3XFx1QUMwOFxcdUFDMDlcXHVBQzBBXFx1QUMxMFwiLCA3LCBcIlxcdUFDMTlcIiwgNCwgXCJcXHVBQzIwXFx1QUMyNFxcdUFDMkNcXHVBQzJEXFx1QUMyRlxcdUFDMzBcXHVBQzMxXFx1QUMzOFxcdUFDMzlcXHVBQzNDXFx1QUM0MFxcdUFDNEJcXHVBQzREXFx1QUM1NFxcdUFDNThcXHVBQzVDXFx1QUM3MFxcdUFDNzFcXHVBQzc0XFx1QUM3N1xcdUFDNzhcXHVBQzdBXFx1QUM4MFxcdUFDODFcXHVBQzgzXFx1QUM4NFxcdUFDODVcXHVBQzg2XFx1QUM4OVxcdUFDOEFcXHVBQzhCXFx1QUM4Q1xcdUFDOTBcXHVBQzk0XFx1QUM5Q1xcdUFDOURcXHVBQzlGXFx1QUNBMFxcdUFDQTFcXHVBQ0E4XFx1QUNBOVxcdUFDQUFcXHVBQ0FDXFx1QUNBRlxcdUFDQjBcXHVBQ0I4XFx1QUNCOVxcdUFDQkJcXHVBQ0JDXFx1QUNCRFxcdUFDQzFcXHVBQ0M0XFx1QUNDOFxcdUFDQ0NcXHVBQ0Q1XFx1QUNEN1xcdUFDRTBcXHVBQ0UxXFx1QUNFNFxcdUFDRTdcXHVBQ0U4XFx1QUNFQVxcdUFDRUNcXHVBQ0VGXFx1QUNGMFxcdUFDRjFcXHVBQ0YzXFx1QUNGNVxcdUFDRjZcXHVBQ0ZDXFx1QUNGRFxcdUFEMDBcXHVBRDA0XFx1QUQwNlwiXSxcbiAgICAgIFtcImIxNDFcIiwgXCJcXHVDRjAyXFx1Q0YwM1xcdUNGMDVcXHVDRjA2XFx1Q0YwN1xcdUNGMDlcIiwgNiwgXCJcXHVDRjEyXFx1Q0YxNFxcdUNGMTZcIiwgNSwgXCJcXHVDRjFEXFx1Q0YxRVxcdUNGMUZcXHVDRjIxXFx1Q0YyMlxcdUNGMjNcIl0sXG4gICAgICBbXCJiMTYxXCIsIFwiXFx1Q0YyNVwiLCA2LCBcIlxcdUNGMkVcXHVDRjMyXCIsIDUsIFwiXFx1Q0YzOVwiLCAxMV0sXG4gICAgICBbXCJiMTgxXCIsIFwiXFx1Q0Y0NVwiLCAxNCwgXCJcXHVDRjU2XFx1Q0Y1N1xcdUNGNTlcXHVDRjVBXFx1Q0Y1QlxcdUNGNURcIiwgNiwgXCJcXHVDRjY2XFx1Q0Y2OFxcdUNGNkFcXHVDRjZCXFx1Q0Y2Q1xcdUFEMENcXHVBRDBEXFx1QUQwRlxcdUFEMTFcXHVBRDE4XFx1QUQxQ1xcdUFEMjBcXHVBRDI5XFx1QUQyQ1xcdUFEMkRcXHVBRDM0XFx1QUQzNVxcdUFEMzhcXHVBRDNDXFx1QUQ0NFxcdUFENDVcXHVBRDQ3XFx1QUQ0OVxcdUFENTBcXHVBRDU0XFx1QUQ1OFxcdUFENjFcXHVBRDYzXFx1QUQ2Q1xcdUFENkRcXHVBRDcwXFx1QUQ3M1xcdUFENzRcXHVBRDc1XFx1QUQ3NlxcdUFEN0JcXHVBRDdDXFx1QUQ3RFxcdUFEN0ZcXHVBRDgxXFx1QUQ4MlxcdUFEODhcXHVBRDg5XFx1QUQ4Q1xcdUFEOTBcXHVBRDlDXFx1QUQ5RFxcdUFEQTRcXHVBREI3XFx1QURDMFxcdUFEQzFcXHVBREM0XFx1QURDOFxcdUFERDBcXHVBREQxXFx1QUREM1xcdUFERENcXHVBREUwXFx1QURFNFxcdUFERjhcXHVBREY5XFx1QURGQ1xcdUFERkZcXHVBRTAwXFx1QUUwMVxcdUFFMDhcXHVBRTA5XFx1QUUwQlxcdUFFMERcXHVBRTE0XFx1QUUzMFxcdUFFMzFcXHVBRTM0XFx1QUUzN1xcdUFFMzhcXHVBRTNBXFx1QUU0MFxcdUFFNDFcXHVBRTQzXFx1QUU0NVxcdUFFNDZcXHVBRTRBXFx1QUU0Q1xcdUFFNERcXHVBRTRFXFx1QUU1MFxcdUFFNTRcXHVBRTU2XFx1QUU1Q1xcdUFFNURcXHVBRTVGXFx1QUU2MFxcdUFFNjFcXHVBRTY1XFx1QUU2OFxcdUFFNjlcXHVBRTZDXFx1QUU3MFxcdUFFNzhcIl0sXG4gICAgICBbXCJiMjQxXCIsIFwiXFx1Q0Y2RFxcdUNGNkVcXHVDRjZGXFx1Q0Y3MlxcdUNGNzNcXHVDRjc1XFx1Q0Y3NlxcdUNGNzdcXHVDRjc5XCIsIDYsIFwiXFx1Q0Y4MVxcdUNGODJcXHVDRjgzXFx1Q0Y4NFxcdUNGODZcIiwgNSwgXCJcXHVDRjhEXCJdLFxuICAgICAgW1wiYjI2MVwiLCBcIlxcdUNGOEVcIiwgMTgsIFwiXFx1Q0ZBMlwiLCA1LCBcIlxcdUNGQTlcIl0sXG4gICAgICBbXCJiMjgxXCIsIFwiXFx1Q0ZBQVwiLCA1LCBcIlxcdUNGQjFcIiwgMTgsIFwiXFx1Q0ZDNVwiLCA2LCBcIlxcdUFFNzlcXHVBRTdCXFx1QUU3Q1xcdUFFN0RcXHVBRTg0XFx1QUU4NVxcdUFFOENcXHVBRUJDXFx1QUVCRFxcdUFFQkVcXHVBRUMwXFx1QUVDNFxcdUFFQ0NcXHVBRUNEXFx1QUVDRlxcdUFFRDBcXHVBRUQxXFx1QUVEOFxcdUFFRDlcXHVBRURDXFx1QUVFOFxcdUFFRUJcXHVBRUVEXFx1QUVGNFxcdUFFRjhcXHVBRUZDXFx1QUYwN1xcdUFGMDhcXHVBRjBEXFx1QUYxMFxcdUFGMkNcXHVBRjJEXFx1QUYzMFxcdUFGMzJcXHVBRjM0XFx1QUYzQ1xcdUFGM0RcXHVBRjNGXFx1QUY0MVxcdUFGNDJcXHVBRjQzXFx1QUY0OFxcdUFGNDlcXHVBRjUwXFx1QUY1Q1xcdUFGNURcXHVBRjY0XFx1QUY2NVxcdUFGNzlcXHVBRjgwXFx1QUY4NFxcdUFGODhcXHVBRjkwXFx1QUY5MVxcdUFGOTVcXHVBRjlDXFx1QUZCOFxcdUFGQjlcXHVBRkJDXFx1QUZDMFxcdUFGQzdcXHVBRkM4XFx1QUZDOVxcdUFGQ0JcXHVBRkNEXFx1QUZDRVxcdUFGRDRcXHVBRkRDXFx1QUZFOFxcdUFGRTlcXHVBRkYwXFx1QUZGMVxcdUFGRjRcXHVBRkY4XFx1QjAwMFxcdUIwMDFcXHVCMDA0XFx1QjAwQ1xcdUIwMTBcXHVCMDE0XFx1QjAxQ1xcdUIwMURcXHVCMDI4XFx1QjA0NFxcdUIwNDVcXHVCMDQ4XFx1QjA0QVxcdUIwNENcXHVCMDRFXFx1QjA1M1xcdUIwNTRcXHVCMDU1XFx1QjA1N1xcdUIwNTlcIl0sXG4gICAgICBbXCJiMzQxXCIsIFwiXFx1Q0ZDQ1wiLCAxOSwgXCJcXHVDRkUyXFx1Q0ZFM1xcdUNGRTVcXHVDRkU2XFx1Q0ZFN1xcdUNGRTlcIl0sXG4gICAgICBbXCJiMzYxXCIsIFwiXFx1Q0ZFQVwiLCA1LCBcIlxcdUNGRjJcXHVDRkY0XFx1Q0ZGNlwiLCA1LCBcIlxcdUNGRkRcXHVDRkZFXFx1Q0ZGRlxcdUQwMDFcXHVEMDAyXFx1RDAwM1xcdUQwMDVcIiwgNV0sXG4gICAgICBbXCJiMzgxXCIsIFwiXFx1RDAwQlwiLCA1LCBcIlxcdUQwMTJcIiwgNSwgXCJcXHVEMDE5XCIsIDE5LCBcIlxcdUIwNURcXHVCMDdDXFx1QjA3RFxcdUIwODBcXHVCMDg0XFx1QjA4Q1xcdUIwOERcXHVCMDhGXFx1QjA5MVxcdUIwOThcXHVCMDk5XFx1QjA5QVxcdUIwOUNcXHVCMDlGXFx1QjBBMFxcdUIwQTFcXHVCMEEyXFx1QjBBOFxcdUIwQTlcXHVCMEFCXCIsIDQsIFwiXFx1QjBCMVxcdUIwQjNcXHVCMEI0XFx1QjBCNVxcdUIwQjhcXHVCMEJDXFx1QjBDNFxcdUIwQzVcXHVCMEM3XFx1QjBDOFxcdUIwQzlcXHVCMEQwXFx1QjBEMVxcdUIwRDRcXHVCMEQ4XFx1QjBFMFxcdUIwRTVcXHVCMTA4XFx1QjEwOVxcdUIxMEJcXHVCMTBDXFx1QjExMFxcdUIxMTJcXHVCMTEzXFx1QjExOFxcdUIxMTlcXHVCMTFCXFx1QjExQ1xcdUIxMURcXHVCMTIzXFx1QjEyNFxcdUIxMjVcXHVCMTI4XFx1QjEyQ1xcdUIxMzRcXHVCMTM1XFx1QjEzN1xcdUIxMzhcXHVCMTM5XFx1QjE0MFxcdUIxNDFcXHVCMTQ0XFx1QjE0OFxcdUIxNTBcXHVCMTUxXFx1QjE1NFxcdUIxNTVcXHVCMTU4XFx1QjE1Q1xcdUIxNjBcXHVCMTc4XFx1QjE3OVxcdUIxN0NcXHVCMTgwXFx1QjE4MlxcdUIxODhcXHVCMTg5XFx1QjE4QlxcdUIxOERcXHVCMTkyXFx1QjE5M1xcdUIxOTRcXHVCMTk4XFx1QjE5Q1xcdUIxQThcXHVCMUNDXFx1QjFEMFxcdUIxRDRcXHVCMURDXFx1QjFERFwiXSxcbiAgICAgIFtcImI0NDFcIiwgXCJcXHVEMDJFXCIsIDUsIFwiXFx1RDAzNlxcdUQwMzdcXHVEMDM5XFx1RDAzQVxcdUQwM0JcXHVEMDNEXCIsIDYsIFwiXFx1RDA0NlxcdUQwNDhcXHVEMDRBXCIsIDVdLFxuICAgICAgW1wiYjQ2MVwiLCBcIlxcdUQwNTFcXHVEMDUyXFx1RDA1M1xcdUQwNTVcXHVEMDU2XFx1RDA1N1xcdUQwNTlcIiwgNiwgXCJcXHVEMDYxXCIsIDEwLCBcIlxcdUQwNkVcXHVEMDZGXCJdLFxuICAgICAgW1wiYjQ4MVwiLCBcIlxcdUQwNzFcXHVEMDcyXFx1RDA3M1xcdUQwNzVcIiwgNiwgXCJcXHVEMDdFXFx1RDA3RlxcdUQwODBcXHVEMDgyXCIsIDE4LCBcIlxcdUIxREZcXHVCMUU4XFx1QjFFOVxcdUIxRUNcXHVCMUYwXFx1QjFGOVxcdUIxRkJcXHVCMUZEXFx1QjIwNFxcdUIyMDVcXHVCMjA4XFx1QjIwQlxcdUIyMENcXHVCMjE0XFx1QjIxNVxcdUIyMTdcXHVCMjE5XFx1QjIyMFxcdUIyMzRcXHVCMjNDXFx1QjI1OFxcdUIyNUNcXHVCMjYwXFx1QjI2OFxcdUIyNjlcXHVCMjc0XFx1QjI3NVxcdUIyN0NcXHVCMjg0XFx1QjI4NVxcdUIyODlcXHVCMjkwXFx1QjI5MVxcdUIyOTRcXHVCMjk4XFx1QjI5OVxcdUIyOUFcXHVCMkEwXFx1QjJBMVxcdUIyQTNcXHVCMkE1XFx1QjJBNlxcdUIyQUFcXHVCMkFDXFx1QjJCMFxcdUIyQjRcXHVCMkM4XFx1QjJDOVxcdUIyQ0NcXHVCMkQwXFx1QjJEMlxcdUIyRDhcXHVCMkQ5XFx1QjJEQlxcdUIyRERcXHVCMkUyXFx1QjJFNFxcdUIyRTVcXHVCMkU2XFx1QjJFOFxcdUIyRUJcIiwgNCwgXCJcXHVCMkYzXFx1QjJGNFxcdUIyRjVcXHVCMkY3XCIsIDQsIFwiXFx1QjJGRlxcdUIzMDBcXHVCMzAxXFx1QjMwNFxcdUIzMDhcXHVCMzEwXFx1QjMxMVxcdUIzMTNcXHVCMzE0XFx1QjMxNVxcdUIzMUNcXHVCMzU0XFx1QjM1NVxcdUIzNTZcXHVCMzU4XFx1QjM1QlxcdUIzNUNcXHVCMzVFXFx1QjM1RlxcdUIzNjRcXHVCMzY1XCJdLFxuICAgICAgW1wiYjU0MVwiLCBcIlxcdUQwOTVcIiwgMTQsIFwiXFx1RDBBNlxcdUQwQTdcXHVEMEE5XFx1RDBBQVxcdUQwQUJcXHVEMEFEXCIsIDVdLFxuICAgICAgW1wiYjU2MVwiLCBcIlxcdUQwQjNcXHVEMEI2XFx1RDBCOFxcdUQwQkFcIiwgNSwgXCJcXHVEMEMyXFx1RDBDM1xcdUQwQzVcXHVEMEM2XFx1RDBDN1xcdUQwQ0FcIiwgNSwgXCJcXHVEMEQyXFx1RDBENlwiLCA0XSxcbiAgICAgIFtcImI1ODFcIiwgXCJcXHVEMERCXFx1RDBERVxcdUQwREZcXHVEMEUxXFx1RDBFMlxcdUQwRTNcXHVEMEU1XCIsIDYsIFwiXFx1RDBFRVxcdUQwRjJcIiwgNSwgXCJcXHVEMEY5XCIsIDExLCBcIlxcdUIzNjdcXHVCMzY5XFx1QjM2QlxcdUIzNkVcXHVCMzcwXFx1QjM3MVxcdUIzNzRcXHVCMzc4XFx1QjM4MFxcdUIzODFcXHVCMzgzXFx1QjM4NFxcdUIzODVcXHVCMzhDXFx1QjM5MFxcdUIzOTRcXHVCM0EwXFx1QjNBMVxcdUIzQThcXHVCM0FDXFx1QjNDNFxcdUIzQzVcXHVCM0M4XFx1QjNDQlxcdUIzQ0NcXHVCM0NFXFx1QjNEMFxcdUIzRDRcXHVCM0Q1XFx1QjNEN1xcdUIzRDlcXHVCM0RCXFx1QjNERFxcdUIzRTBcXHVCM0U0XFx1QjNFOFxcdUIzRkNcXHVCNDEwXFx1QjQxOFxcdUI0MUNcXHVCNDIwXFx1QjQyOFxcdUI0MjlcXHVCNDJCXFx1QjQzNFxcdUI0NTBcXHVCNDUxXFx1QjQ1NFxcdUI0NThcXHVCNDYwXFx1QjQ2MVxcdUI0NjNcXHVCNDY1XFx1QjQ2Q1xcdUI0ODBcXHVCNDg4XFx1QjQ5RFxcdUI0QTRcXHVCNEE4XFx1QjRBQ1xcdUI0QjVcXHVCNEI3XFx1QjRCOVxcdUI0QzBcXHVCNEM0XFx1QjRDOFxcdUI0RDBcXHVCNEQ1XFx1QjREQ1xcdUI0RERcXHVCNEUwXFx1QjRFM1xcdUI0RTRcXHVCNEU2XFx1QjRFQ1xcdUI0RURcXHVCNEVGXFx1QjRGMVxcdUI0RjhcXHVCNTE0XFx1QjUxNVxcdUI1MThcXHVCNTFCXFx1QjUxQ1xcdUI1MjRcXHVCNTI1XFx1QjUyN1xcdUI1MjhcXHVCNTI5XFx1QjUyQVxcdUI1MzBcXHVCNTMxXFx1QjUzNFxcdUI1MzhcIl0sXG4gICAgICBbXCJiNjQxXCIsIFwiXFx1RDEwNVwiLCA3LCBcIlxcdUQxMEVcIiwgMTddLFxuICAgICAgW1wiYjY2MVwiLCBcIlxcdUQxMjBcIiwgMTUsIFwiXFx1RDEzMlxcdUQxMzNcXHVEMTM1XFx1RDEzNlxcdUQxMzdcXHVEMTM5XFx1RDEzQlxcdUQxM0NcXHVEMTNEXFx1RDEzRVwiXSxcbiAgICAgIFtcImI2ODFcIiwgXCJcXHVEMTNGXFx1RDE0MlxcdUQxNDZcIiwgNSwgXCJcXHVEMTRFXFx1RDE0RlxcdUQxNTFcXHVEMTUyXFx1RDE1M1xcdUQxNTVcIiwgNiwgXCJcXHVEMTVFXFx1RDE2MFxcdUQxNjJcIiwgNSwgXCJcXHVEMTY5XFx1RDE2QVxcdUQxNkJcXHVEMTZEXFx1QjU0MFxcdUI1NDFcXHVCNTQzXFx1QjU0NFxcdUI1NDVcXHVCNTRCXFx1QjU0Q1xcdUI1NERcXHVCNTUwXFx1QjU1NFxcdUI1NUNcXHVCNTVEXFx1QjU1RlxcdUI1NjBcXHVCNTYxXFx1QjVBMFxcdUI1QTFcXHVCNUE0XFx1QjVBOFxcdUI1QUFcXHVCNUFCXFx1QjVCMFxcdUI1QjFcXHVCNUIzXFx1QjVCNFxcdUI1QjVcXHVCNUJCXFx1QjVCQ1xcdUI1QkRcXHVCNUMwXFx1QjVDNFxcdUI1Q0NcXHVCNUNEXFx1QjVDRlxcdUI1RDBcXHVCNUQxXFx1QjVEOFxcdUI1RUNcXHVCNjEwXFx1QjYxMVxcdUI2MTRcXHVCNjE4XFx1QjYyNVxcdUI2MkNcXHVCNjM0XFx1QjY0OFxcdUI2NjRcXHVCNjY4XFx1QjY5Q1xcdUI2OURcXHVCNkEwXFx1QjZBNFxcdUI2QUJcXHVCNkFDXFx1QjZCMVxcdUI2RDRcXHVCNkYwXFx1QjZGNFxcdUI2RjhcXHVCNzAwXFx1QjcwMVxcdUI3MDVcXHVCNzI4XFx1QjcyOVxcdUI3MkNcXHVCNzJGXFx1QjczMFxcdUI3MzhcXHVCNzM5XFx1QjczQlxcdUI3NDRcXHVCNzQ4XFx1Qjc0Q1xcdUI3NTRcXHVCNzU1XFx1Qjc2MFxcdUI3NjRcXHVCNzY4XFx1Qjc3MFxcdUI3NzFcXHVCNzczXFx1Qjc3NVxcdUI3N0NcXHVCNzdEXFx1Qjc4MFxcdUI3ODRcXHVCNzhDXFx1Qjc4RFxcdUI3OEZcXHVCNzkwXFx1Qjc5MVxcdUI3OTJcXHVCNzk2XFx1Qjc5N1wiXSxcbiAgICAgIFtcImI3NDFcIiwgXCJcXHVEMTZFXCIsIDEzLCBcIlxcdUQxN0RcIiwgNiwgXCJcXHVEMTg1XFx1RDE4NlxcdUQxODdcXHVEMTg5XFx1RDE4QVwiXSxcbiAgICAgIFtcImI3NjFcIiwgXCJcXHVEMThCXCIsIDIwLCBcIlxcdUQxQTJcXHVEMUEzXFx1RDFBNVxcdUQxQTZcXHVEMUE3XCJdLFxuICAgICAgW1wiYjc4MVwiLCBcIlxcdUQxQTlcIiwgNiwgXCJcXHVEMUIyXFx1RDFCNFxcdUQxQjZcXHVEMUI3XFx1RDFCOFxcdUQxQjlcXHVEMUJCXFx1RDFCRFxcdUQxQkVcXHVEMUJGXFx1RDFDMVwiLCAxNCwgXCJcXHVCNzk4XFx1Qjc5OVxcdUI3OUNcXHVCN0EwXFx1QjdBOFxcdUI3QTlcXHVCN0FCXFx1QjdBQ1xcdUI3QURcXHVCN0I0XFx1QjdCNVxcdUI3QjhcXHVCN0M3XFx1QjdDOVxcdUI3RUNcXHVCN0VEXFx1QjdGMFxcdUI3RjRcXHVCN0ZDXFx1QjdGRFxcdUI3RkZcXHVCODAwXFx1QjgwMVxcdUI4MDdcXHVCODA4XFx1QjgwOVxcdUI4MENcXHVCODEwXFx1QjgxOFxcdUI4MTlcXHVCODFCXFx1QjgxRFxcdUI4MjRcXHVCODI1XFx1QjgyOFxcdUI4MkNcXHVCODM0XFx1QjgzNVxcdUI4MzdcXHVCODM4XFx1QjgzOVxcdUI4NDBcXHVCODQ0XFx1Qjg1MVxcdUI4NTNcXHVCODVDXFx1Qjg1RFxcdUI4NjBcXHVCODY0XFx1Qjg2Q1xcdUI4NkRcXHVCODZGXFx1Qjg3MVxcdUI4NzhcXHVCODdDXFx1Qjg4RFxcdUI4QThcXHVCOEIwXFx1QjhCNFxcdUI4QjhcXHVCOEMwXFx1QjhDMVxcdUI4QzNcXHVCOEM1XFx1QjhDQ1xcdUI4RDBcXHVCOEQ0XFx1QjhERFxcdUI4REZcXHVCOEUxXFx1QjhFOFxcdUI4RTlcXHVCOEVDXFx1QjhGMFxcdUI4RjhcXHVCOEY5XFx1QjhGQlxcdUI4RkRcXHVCOTA0XFx1QjkxOFxcdUI5MjBcXHVCOTNDXFx1QjkzRFxcdUI5NDBcXHVCOTQ0XFx1Qjk0Q1xcdUI5NEZcXHVCOTUxXFx1Qjk1OFxcdUI5NTlcXHVCOTVDXFx1Qjk2MFxcdUI5NjhcXHVCOTY5XCJdLFxuICAgICAgW1wiYjg0MVwiLCBcIlxcdUQxRDBcIiwgNywgXCJcXHVEMUQ5XCIsIDE3XSxcbiAgICAgIFtcImI4NjFcIiwgXCJcXHVEMUVCXCIsIDgsIFwiXFx1RDFGNVxcdUQxRjZcXHVEMUY3XFx1RDFGOVwiLCAxM10sXG4gICAgICBbXCJiODgxXCIsIFwiXFx1RDIwOFxcdUQyMEFcIiwgNSwgXCJcXHVEMjExXCIsIDI0LCBcIlxcdUI5NkJcXHVCOTZEXFx1Qjk3NFxcdUI5NzVcXHVCOTc4XFx1Qjk3Q1xcdUI5ODRcXHVCOTg1XFx1Qjk4N1xcdUI5ODlcXHVCOThBXFx1Qjk4RFxcdUI5OEVcXHVCOUFDXFx1QjlBRFxcdUI5QjBcXHVCOUI0XFx1QjlCQ1xcdUI5QkRcXHVCOUJGXFx1QjlDMVxcdUI5QzhcXHVCOUM5XFx1QjlDQ1xcdUI5Q0VcIiwgNCwgXCJcXHVCOUQ4XFx1QjlEOVxcdUI5REJcXHVCOUREXFx1QjlERVxcdUI5RTFcXHVCOUUzXFx1QjlFNFxcdUI5RTVcXHVCOUU4XFx1QjlFQ1xcdUI5RjRcXHVCOUY1XFx1QjlGN1xcdUI5RjhcXHVCOUY5XFx1QjlGQVxcdUJBMDBcXHVCQTAxXFx1QkEwOFxcdUJBMTVcXHVCQTM4XFx1QkEzOVxcdUJBM0NcXHVCQTQwXFx1QkE0MlxcdUJBNDhcXHVCQTQ5XFx1QkE0QlxcdUJBNERcXHVCQTRFXFx1QkE1M1xcdUJBNTRcXHVCQTU1XFx1QkE1OFxcdUJBNUNcXHVCQTY0XFx1QkE2NVxcdUJBNjdcXHVCQTY4XFx1QkE2OVxcdUJBNzBcXHVCQTcxXFx1QkE3NFxcdUJBNzhcXHVCQTgzXFx1QkE4NFxcdUJBODVcXHVCQTg3XFx1QkE4Q1xcdUJBQThcXHVCQUE5XFx1QkFBQlxcdUJBQUNcXHVCQUIwXFx1QkFCMlxcdUJBQjhcXHVCQUI5XFx1QkFCQlxcdUJBQkRcXHVCQUM0XFx1QkFDOFxcdUJBRDhcXHVCQUQ5XFx1QkFGQ1wiXSxcbiAgICAgIFtcImI5NDFcIiwgXCJcXHVEMjJBXFx1RDIyQlxcdUQyMkVcXHVEMjJGXFx1RDIzMVxcdUQyMzJcXHVEMjMzXFx1RDIzNVwiLCA2LCBcIlxcdUQyM0VcXHVEMjQwXFx1RDI0MlwiLCA1LCBcIlxcdUQyNDlcXHVEMjRBXFx1RDI0QlxcdUQyNENcIl0sXG4gICAgICBbXCJiOTYxXCIsIFwiXFx1RDI0RFwiLCAxNCwgXCJcXHVEMjVEXCIsIDYsIFwiXFx1RDI2NVxcdUQyNjZcXHVEMjY3XFx1RDI2OFwiXSxcbiAgICAgIFtcImI5ODFcIiwgXCJcXHVEMjY5XCIsIDIyLCBcIlxcdUQyODJcXHVEMjgzXFx1RDI4NVxcdUQyODZcXHVEMjg3XFx1RDI4OVxcdUQyOEFcXHVEMjhCXFx1RDI4Q1xcdUJCMDBcXHVCQjA0XFx1QkIwRFxcdUJCMEZcXHVCQjExXFx1QkIxOFxcdUJCMUNcXHVCQjIwXFx1QkIyOVxcdUJCMkJcXHVCQjM0XFx1QkIzNVxcdUJCMzZcXHVCQjM4XFx1QkIzQlxcdUJCM0NcXHVCQjNEXFx1QkIzRVxcdUJCNDRcXHVCQjQ1XFx1QkI0N1xcdUJCNDlcXHVCQjREXFx1QkI0RlxcdUJCNTBcXHVCQjU0XFx1QkI1OFxcdUJCNjFcXHVCQjYzXFx1QkI2Q1xcdUJCODhcXHVCQjhDXFx1QkI5MFxcdUJCQTRcXHVCQkE4XFx1QkJBQ1xcdUJCQjRcXHVCQkI3XFx1QkJDMFxcdUJCQzRcXHVCQkM4XFx1QkJEMFxcdUJCRDNcXHVCQkY4XFx1QkJGOVxcdUJCRkNcXHVCQkZGXFx1QkMwMFxcdUJDMDJcXHVCQzA4XFx1QkMwOVxcdUJDMEJcXHVCQzBDXFx1QkMwRFxcdUJDMEZcXHVCQzExXFx1QkMxNFwiLCA0LCBcIlxcdUJDMUJcIiwgNCwgXCJcXHVCQzI0XFx1QkMyNVxcdUJDMjdcXHVCQzI5XFx1QkMyRFxcdUJDMzBcXHVCQzMxXFx1QkMzNFxcdUJDMzhcXHVCQzQwXFx1QkM0MVxcdUJDNDNcXHVCQzQ0XFx1QkM0NVxcdUJDNDlcXHVCQzRDXFx1QkM0RFxcdUJDNTBcXHVCQzVEXFx1QkM4NFxcdUJDODVcXHVCQzg4XFx1QkM4QlxcdUJDOENcXHVCQzhFXFx1QkM5NFxcdUJDOTVcXHVCQzk3XCJdLFxuICAgICAgW1wiYmE0MVwiLCBcIlxcdUQyOERcXHVEMjhFXFx1RDI4RlxcdUQyOTJcXHVEMjkzXFx1RDI5NFxcdUQyOTZcIiwgNSwgXCJcXHVEMjlEXFx1RDI5RVxcdUQyOUZcXHVEMkExXFx1RDJBMlxcdUQyQTNcXHVEMkE1XCIsIDYsIFwiXFx1RDJBRFwiXSxcbiAgICAgIFtcImJhNjFcIiwgXCJcXHVEMkFFXFx1RDJBRlxcdUQyQjBcXHVEMkIyXCIsIDUsIFwiXFx1RDJCQVxcdUQyQkJcXHVEMkJEXFx1RDJCRVxcdUQyQzFcXHVEMkMzXCIsIDQsIFwiXFx1RDJDQVxcdUQyQ0NcIiwgNV0sXG4gICAgICBbXCJiYTgxXCIsIFwiXFx1RDJEMlxcdUQyRDNcXHVEMkQ1XFx1RDJENlxcdUQyRDdcXHVEMkQ5XFx1RDJEQVxcdUQyREJcXHVEMkREXCIsIDYsIFwiXFx1RDJFNlwiLCA5LCBcIlxcdUQyRjJcXHVEMkYzXFx1RDJGNVxcdUQyRjZcXHVEMkY3XFx1RDJGOVxcdUQyRkFcXHVCQzk5XFx1QkM5QVxcdUJDQTBcXHVCQ0ExXFx1QkNBNFxcdUJDQTdcXHVCQ0E4XFx1QkNCMFxcdUJDQjFcXHVCQ0IzXFx1QkNCNFxcdUJDQjVcXHVCQ0JDXFx1QkNCRFxcdUJDQzBcXHVCQ0M0XFx1QkNDRFxcdUJDQ0ZcXHVCQ0QwXFx1QkNEMVxcdUJDRDVcXHVCQ0Q4XFx1QkNEQ1xcdUJDRjRcXHVCQ0Y1XFx1QkNGNlxcdUJDRjhcXHVCQ0ZDXFx1QkQwNFxcdUJEMDVcXHVCRDA3XFx1QkQwOVxcdUJEMTBcXHVCRDE0XFx1QkQyNFxcdUJEMkNcXHVCRDQwXFx1QkQ0OFxcdUJENDlcXHVCRDRDXFx1QkQ1MFxcdUJENThcXHVCRDU5XFx1QkQ2NFxcdUJENjhcXHVCRDgwXFx1QkQ4MVxcdUJEODRcXHVCRDg3XFx1QkQ4OFxcdUJEODlcXHVCRDhBXFx1QkQ5MFxcdUJEOTFcXHVCRDkzXFx1QkQ5NVxcdUJEOTlcXHVCRDlBXFx1QkQ5Q1xcdUJEQTRcXHVCREIwXFx1QkRCOFxcdUJERDRcXHVCREQ1XFx1QkREOFxcdUJERENcXHVCREU5XFx1QkRGMFxcdUJERjRcXHVCREY4XFx1QkUwMFxcdUJFMDNcXHVCRTA1XFx1QkUwQ1xcdUJFMERcXHVCRTEwXFx1QkUxNFxcdUJFMUNcXHVCRTFEXFx1QkUxRlxcdUJFNDRcXHVCRTQ1XFx1QkU0OFxcdUJFNENcXHVCRTRFXFx1QkU1NFxcdUJFNTVcXHVCRTU3XFx1QkU1OVxcdUJFNUFcXHVCRTVCXFx1QkU2MFxcdUJFNjFcXHVCRTY0XCJdLFxuICAgICAgW1wiYmI0MVwiLCBcIlxcdUQyRkJcIiwgNCwgXCJcXHVEMzAyXFx1RDMwNFxcdUQzMDZcIiwgNSwgXCJcXHVEMzBGXFx1RDMxMVxcdUQzMTJcXHVEMzEzXFx1RDMxNVxcdUQzMTdcIiwgNCwgXCJcXHVEMzFFXFx1RDMyMlxcdUQzMjNcIl0sXG4gICAgICBbXCJiYjYxXCIsIFwiXFx1RDMyNFxcdUQzMjZcXHVEMzI3XFx1RDMyQVxcdUQzMkJcXHVEMzJEXFx1RDMyRVxcdUQzMkZcXHVEMzMxXCIsIDYsIFwiXFx1RDMzQVxcdUQzM0VcIiwgNSwgXCJcXHVEMzQ2XFx1RDM0N1xcdUQzNDhcXHVEMzQ5XCJdLFxuICAgICAgW1wiYmI4MVwiLCBcIlxcdUQzNEFcIiwgMzEsIFwiXFx1QkU2OFxcdUJFNkFcXHVCRTcwXFx1QkU3MVxcdUJFNzNcXHVCRTc0XFx1QkU3NVxcdUJFN0JcXHVCRTdDXFx1QkU3RFxcdUJFODBcXHVCRTg0XFx1QkU4Q1xcdUJFOERcXHVCRThGXFx1QkU5MFxcdUJFOTFcXHVCRTk4XFx1QkU5OVxcdUJFQThcXHVCRUQwXFx1QkVEMVxcdUJFRDRcXHVCRUQ3XFx1QkVEOFxcdUJFRTBcXHVCRUUzXFx1QkVFNFxcdUJFRTVcXHVCRUVDXFx1QkYwMVxcdUJGMDhcXHVCRjA5XFx1QkYxOFxcdUJGMTlcXHVCRjFCXFx1QkYxQ1xcdUJGMURcXHVCRjQwXFx1QkY0MVxcdUJGNDRcXHVCRjQ4XFx1QkY1MFxcdUJGNTFcXHVCRjU1XFx1QkY5NFxcdUJGQjBcXHVCRkM1XFx1QkZDQ1xcdUJGQ0RcXHVCRkQwXFx1QkZENFxcdUJGRENcXHVCRkRGXFx1QkZFMVxcdUMwM0NcXHVDMDUxXFx1QzA1OFxcdUMwNUNcXHVDMDYwXFx1QzA2OFxcdUMwNjlcXHVDMDkwXFx1QzA5MVxcdUMwOTRcXHVDMDk4XFx1QzBBMFxcdUMwQTFcXHVDMEEzXFx1QzBBNVxcdUMwQUNcXHVDMEFEXFx1QzBBRlxcdUMwQjBcXHVDMEIzXFx1QzBCNFxcdUMwQjVcXHVDMEI2XFx1QzBCQ1xcdUMwQkRcXHVDMEJGXFx1QzBDMFxcdUMwQzFcXHVDMEM1XFx1QzBDOFxcdUMwQzlcXHVDMENDXFx1QzBEMFxcdUMwRDhcXHVDMEQ5XFx1QzBEQlxcdUMwRENcXHVDMEREXFx1QzBFNFwiXSxcbiAgICAgIFtcImJjNDFcIiwgXCJcXHVEMzZBXCIsIDE3LCBcIlxcdUQzN0VcXHVEMzdGXFx1RDM4MVxcdUQzODJcXHVEMzgzXFx1RDM4NVxcdUQzODZcXHVEMzg3XCJdLFxuICAgICAgW1wiYmM2MVwiLCBcIlxcdUQzODhcXHVEMzg5XFx1RDM4QVxcdUQzOEJcXHVEMzhFXFx1RDM5MlwiLCA1LCBcIlxcdUQzOUFcXHVEMzlCXFx1RDM5RFxcdUQzOUVcXHVEMzlGXFx1RDNBMVwiLCA2LCBcIlxcdUQzQUFcXHVEM0FDXFx1RDNBRVwiXSxcbiAgICAgIFtcImJjODFcIiwgXCJcXHVEM0FGXCIsIDQsIFwiXFx1RDNCNVxcdUQzQjZcXHVEM0I3XFx1RDNCOVxcdUQzQkFcXHVEM0JCXFx1RDNCRFwiLCA2LCBcIlxcdUQzQzZcXHVEM0M3XFx1RDNDQVwiLCA1LCBcIlxcdUQzRDFcIiwgNSwgXCJcXHVDMEU1XFx1QzBFOFxcdUMwRUNcXHVDMEY0XFx1QzBGNVxcdUMwRjdcXHVDMEY5XFx1QzEwMFxcdUMxMDRcXHVDMTA4XFx1QzExMFxcdUMxMTVcXHVDMTFDXCIsIDQsIFwiXFx1QzEyM1xcdUMxMjRcXHVDMTI2XFx1QzEyN1xcdUMxMkNcXHVDMTJEXFx1QzEyRlxcdUMxMzBcXHVDMTMxXFx1QzEzNlxcdUMxMzhcXHVDMTM5XFx1QzEzQ1xcdUMxNDBcXHVDMTQ4XFx1QzE0OVxcdUMxNEJcXHVDMTRDXFx1QzE0RFxcdUMxNTRcXHVDMTU1XFx1QzE1OFxcdUMxNUNcXHVDMTY0XFx1QzE2NVxcdUMxNjdcXHVDMTY4XFx1QzE2OVxcdUMxNzBcXHVDMTc0XFx1QzE3OFxcdUMxODVcXHVDMThDXFx1QzE4RFxcdUMxOEVcXHVDMTkwXFx1QzE5NFxcdUMxOTZcXHVDMTlDXFx1QzE5RFxcdUMxOUZcXHVDMUExXFx1QzFBNVxcdUMxQThcXHVDMUE5XFx1QzFBQ1xcdUMxQjBcXHVDMUJEXFx1QzFDNFxcdUMxQzhcXHVDMUNDXFx1QzFENFxcdUMxRDdcXHVDMUQ4XFx1QzFFMFxcdUMxRTRcXHVDMUU4XFx1QzFGMFxcdUMxRjFcXHVDMUYzXFx1QzFGQ1xcdUMxRkRcXHVDMjAwXFx1QzIwNFxcdUMyMENcXHVDMjBEXFx1QzIwRlxcdUMyMTFcXHVDMjE4XFx1QzIxOVxcdUMyMUNcXHVDMjFGXFx1QzIyMFxcdUMyMjhcXHVDMjI5XFx1QzIyQlxcdUMyMkRcIl0sXG4gICAgICBbXCJiZDQxXCIsIFwiXFx1RDNEN1xcdUQzRDlcIiwgNywgXCJcXHVEM0UyXFx1RDNFNFwiLCA3LCBcIlxcdUQzRUVcXHVEM0VGXFx1RDNGMVxcdUQzRjJcXHVEM0YzXFx1RDNGNVxcdUQzRjZcXHVEM0Y3XCJdLFxuICAgICAgW1wiYmQ2MVwiLCBcIlxcdUQzRjhcXHVEM0Y5XFx1RDNGQVxcdUQzRkJcXHVEM0ZFXFx1RDQwMFxcdUQ0MDJcIiwgNSwgXCJcXHVENDA5XCIsIDEzXSxcbiAgICAgIFtcImJkODFcIiwgXCJcXHVENDE3XCIsIDUsIFwiXFx1RDQxRVwiLCAyNSwgXCJcXHVDMjJGXFx1QzIzMVxcdUMyMzJcXHVDMjM0XFx1QzI0OFxcdUMyNTBcXHVDMjUxXFx1QzI1NFxcdUMyNThcXHVDMjYwXFx1QzI2NVxcdUMyNkNcXHVDMjZEXFx1QzI3MFxcdUMyNzRcXHVDMjdDXFx1QzI3RFxcdUMyN0ZcXHVDMjgxXFx1QzI4OFxcdUMyODlcXHVDMjkwXFx1QzI5OFxcdUMyOUJcXHVDMjlEXFx1QzJBNFxcdUMyQTVcXHVDMkE4XFx1QzJBQ1xcdUMyQURcXHVDMkI0XFx1QzJCNVxcdUMyQjdcXHVDMkI5XFx1QzJEQ1xcdUMyRERcXHVDMkUwXFx1QzJFM1xcdUMyRTRcXHVDMkVCXFx1QzJFQ1xcdUMyRURcXHVDMkVGXFx1QzJGMVxcdUMyRjZcXHVDMkY4XFx1QzJGOVxcdUMyRkJcXHVDMkZDXFx1QzMwMFxcdUMzMDhcXHVDMzA5XFx1QzMwQ1xcdUMzMERcXHVDMzEzXFx1QzMxNFxcdUMzMTVcXHVDMzE4XFx1QzMxQ1xcdUMzMjRcXHVDMzI1XFx1QzMyOFxcdUMzMjlcXHVDMzQ1XFx1QzM2OFxcdUMzNjlcXHVDMzZDXFx1QzM3MFxcdUMzNzJcXHVDMzc4XFx1QzM3OVxcdUMzN0NcXHVDMzdEXFx1QzM4NFxcdUMzODhcXHVDMzhDXFx1QzNDMFxcdUMzRDhcXHVDM0Q5XFx1QzNEQ1xcdUMzREZcXHVDM0UwXFx1QzNFMlxcdUMzRThcXHVDM0U5XFx1QzNFRFxcdUMzRjRcXHVDM0Y1XFx1QzNGOFxcdUM0MDhcXHVDNDEwXFx1QzQyNFxcdUM0MkNcXHVDNDMwXCJdLFxuICAgICAgW1wiYmU0MVwiLCBcIlxcdUQ0MzhcIiwgNywgXCJcXHVENDQxXFx1RDQ0MlxcdUQ0NDNcXHVENDQ1XCIsIDE0XSxcbiAgICAgIFtcImJlNjFcIiwgXCJcXHVENDU0XCIsIDcsIFwiXFx1RDQ1RFxcdUQ0NUVcXHVENDVGXFx1RDQ2MVxcdUQ0NjJcXHVENDYzXFx1RDQ2NVwiLCA3LCBcIlxcdUQ0NkVcXHVENDcwXFx1RDQ3MVxcdUQ0NzJcIl0sXG4gICAgICBbXCJiZTgxXCIsIFwiXFx1RDQ3M1wiLCA0LCBcIlxcdUQ0N0FcXHVENDdCXFx1RDQ3RFxcdUQ0N0VcXHVENDgxXFx1RDQ4M1wiLCA0LCBcIlxcdUQ0OEFcXHVENDhDXFx1RDQ4RVwiLCA1LCBcIlxcdUQ0OTVcIiwgOCwgXCJcXHVDNDM0XFx1QzQzQ1xcdUM0M0RcXHVDNDQ4XFx1QzQ2NFxcdUM0NjVcXHVDNDY4XFx1QzQ2Q1xcdUM0NzRcXHVDNDc1XFx1QzQ3OVxcdUM0ODBcXHVDNDk0XFx1QzQ5Q1xcdUM0QjhcXHVDNEJDXFx1QzRFOVxcdUM0RjBcXHVDNEYxXFx1QzRGNFxcdUM0RjhcXHVDNEZBXFx1QzRGRlxcdUM1MDBcXHVDNTAxXFx1QzUwQ1xcdUM1MTBcXHVDNTE0XFx1QzUxQ1xcdUM1MjhcXHVDNTI5XFx1QzUyQ1xcdUM1MzBcXHVDNTM4XFx1QzUzOVxcdUM1M0JcXHVDNTNEXFx1QzU0NFxcdUM1NDVcXHVDNTQ4XFx1QzU0OVxcdUM1NEFcXHVDNTRDXFx1QzU0RFxcdUM1NEVcXHVDNTUzXFx1QzU1NFxcdUM1NTVcXHVDNTU3XFx1QzU1OFxcdUM1NTlcXHVDNTVEXFx1QzU1RVxcdUM1NjBcXHVDNTYxXFx1QzU2NFxcdUM1NjhcXHVDNTcwXFx1QzU3MVxcdUM1NzNcXHVDNTc0XFx1QzU3NVxcdUM1N0NcXHVDNTdEXFx1QzU4MFxcdUM1ODRcXHVDNTg3XFx1QzU4Q1xcdUM1OERcXHVDNThGXFx1QzU5MVxcdUM1OTVcXHVDNTk3XFx1QzU5OFxcdUM1OUNcXHVDNUEwXFx1QzVBOVxcdUM1QjRcXHVDNUI1XFx1QzVCOFxcdUM1QjlcXHVDNUJCXFx1QzVCQ1xcdUM1QkRcXHVDNUJFXFx1QzVDNFwiLCA2LCBcIlxcdUM1Q0NcXHVDNUNFXCJdLFxuICAgICAgW1wiYmY0MVwiLCBcIlxcdUQ0OUVcIiwgMTAsIFwiXFx1RDRBQVwiLCAxNF0sXG4gICAgICBbXCJiZjYxXCIsIFwiXFx1RDRCOVwiLCAxOCwgXCJcXHVENENEXFx1RDRDRVxcdUQ0Q0ZcXHVENEQxXFx1RDREMlxcdUQ0RDNcXHVENEQ1XCJdLFxuICAgICAgW1wiYmY4MVwiLCBcIlxcdUQ0RDZcIiwgNSwgXCJcXHVENEREXFx1RDRERVxcdUQ0RTBcIiwgNywgXCJcXHVENEU5XFx1RDRFQVxcdUQ0RUJcXHVENEVEXFx1RDRFRVxcdUQ0RUZcXHVENEYxXCIsIDYsIFwiXFx1RDRGOVxcdUQ0RkFcXHVENEZDXFx1QzVEMFxcdUM1RDFcXHVDNUQ0XFx1QzVEOFxcdUM1RTBcXHVDNUUxXFx1QzVFM1xcdUM1RTVcXHVDNUVDXFx1QzVFRFxcdUM1RUVcXHVDNUYwXFx1QzVGNFxcdUM1RjZcXHVDNUY3XFx1QzVGQ1wiLCA1LCBcIlxcdUM2MDVcXHVDNjA2XFx1QzYwN1xcdUM2MDhcXHVDNjBDXFx1QzYxMFxcdUM2MThcXHVDNjE5XFx1QzYxQlxcdUM2MUNcXHVDNjI0XFx1QzYyNVxcdUM2MjhcXHVDNjJDXFx1QzYyRFxcdUM2MkVcXHVDNjMwXFx1QzYzM1xcdUM2MzRcXHVDNjM1XFx1QzYzN1xcdUM2MzlcXHVDNjNCXFx1QzY0MFxcdUM2NDFcXHVDNjQ0XFx1QzY0OFxcdUM2NTBcXHVDNjUxXFx1QzY1M1xcdUM2NTRcXHVDNjU1XFx1QzY1Q1xcdUM2NURcXHVDNjYwXFx1QzY2Q1xcdUM2NkZcXHVDNjcxXFx1QzY3OFxcdUM2NzlcXHVDNjdDXFx1QzY4MFxcdUM2ODhcXHVDNjg5XFx1QzY4QlxcdUM2OERcXHVDNjk0XFx1QzY5NVxcdUM2OThcXHVDNjlDXFx1QzZBNFxcdUM2QTVcXHVDNkE3XFx1QzZBOVxcdUM2QjBcXHVDNkIxXFx1QzZCNFxcdUM2QjhcXHVDNkI5XFx1QzZCQVxcdUM2QzBcXHVDNkMxXFx1QzZDM1xcdUM2QzVcXHVDNkNDXFx1QzZDRFxcdUM2RDBcXHVDNkQ0XFx1QzZEQ1xcdUM2RERcXHVDNkUwXFx1QzZFMVxcdUM2RThcIl0sXG4gICAgICBbXCJjMDQxXCIsIFwiXFx1RDRGRVwiLCA1LCBcIlxcdUQ1MDVcXHVENTA2XFx1RDUwN1xcdUQ1MDlcXHVENTBBXFx1RDUwQlxcdUQ1MERcIiwgNiwgXCJcXHVENTE2XFx1RDUxOFwiLCA1XSxcbiAgICAgIFtcImMwNjFcIiwgXCJcXHVENTFFXCIsIDI1XSxcbiAgICAgIFtcImMwODFcIiwgXCJcXHVENTM4XFx1RDUzOVxcdUQ1M0FcXHVENTNCXFx1RDUzRVxcdUQ1M0ZcXHVENTQxXFx1RDU0MlxcdUQ1NDNcXHVENTQ1XCIsIDYsIFwiXFx1RDU0RVxcdUQ1NTBcXHVENTUyXCIsIDUsIFwiXFx1RDU1QVxcdUQ1NUJcXHVENTVEXFx1RDU1RVxcdUQ1NUZcXHVENTYxXFx1RDU2MlxcdUQ1NjNcXHVDNkU5XFx1QzZFQ1xcdUM2RjBcXHVDNkY4XFx1QzZGOVxcdUM2RkRcXHVDNzA0XFx1QzcwNVxcdUM3MDhcXHVDNzBDXFx1QzcxNFxcdUM3MTVcXHVDNzE3XFx1QzcxOVxcdUM3MjBcXHVDNzIxXFx1QzcyNFxcdUM3MjhcXHVDNzMwXFx1QzczMVxcdUM3MzNcXHVDNzM1XFx1QzczN1xcdUM3M0NcXHVDNzNEXFx1Qzc0MFxcdUM3NDRcXHVDNzRBXFx1Qzc0Q1xcdUM3NERcXHVDNzRGXFx1Qzc1MVwiLCA3LCBcIlxcdUM3NUNcXHVDNzYwXFx1Qzc2OFxcdUM3NkJcXHVDNzc0XFx1Qzc3NVxcdUM3NzhcXHVDNzdDXFx1Qzc3RFxcdUM3N0VcXHVDNzgzXFx1Qzc4NFxcdUM3ODVcXHVDNzg3XFx1Qzc4OFxcdUM3ODlcXHVDNzhBXFx1Qzc4RVxcdUM3OTBcXHVDNzkxXFx1Qzc5NFxcdUM3OTZcXHVDNzk3XFx1Qzc5OFxcdUM3OUFcXHVDN0EwXFx1QzdBMVxcdUM3QTNcXHVDN0E0XFx1QzdBNVxcdUM3QTZcXHVDN0FDXFx1QzdBRFxcdUM3QjBcXHVDN0I0XFx1QzdCQ1xcdUM3QkRcXHVDN0JGXFx1QzdDMFxcdUM3QzFcXHVDN0M4XFx1QzdDOVxcdUM3Q0NcXHVDN0NFXFx1QzdEMFxcdUM3RDhcXHVDN0REXFx1QzdFNFxcdUM3RThcXHVDN0VDXFx1QzgwMFxcdUM4MDFcXHVDODA0XFx1QzgwOFxcdUM4MEFcIl0sXG4gICAgICBbXCJjMTQxXCIsIFwiXFx1RDU2NFxcdUQ1NjZcXHVENTY3XFx1RDU2QVxcdUQ1NkNcXHVENTZFXCIsIDUsIFwiXFx1RDU3NlxcdUQ1NzdcXHVENTc5XFx1RDU3QVxcdUQ1N0JcXHVENTdEXCIsIDYsIFwiXFx1RDU4NlxcdUQ1OEFcXHVENThCXCJdLFxuICAgICAgW1wiYzE2MVwiLCBcIlxcdUQ1OENcXHVENThEXFx1RDU4RVxcdUQ1OEZcXHVENTkxXCIsIDE5LCBcIlxcdUQ1QTZcXHVENUE3XCJdLFxuICAgICAgW1wiYzE4MVwiLCBcIlxcdUQ1QThcIiwgMzEsIFwiXFx1QzgxMFxcdUM4MTFcXHVDODEzXFx1QzgxNVxcdUM4MTZcXHVDODFDXFx1QzgxRFxcdUM4MjBcXHVDODI0XFx1QzgyQ1xcdUM4MkRcXHVDODJGXFx1QzgzMVxcdUM4MzhcXHVDODNDXFx1Qzg0MFxcdUM4NDhcXHVDODQ5XFx1Qzg0Q1xcdUM4NERcXHVDODU0XFx1Qzg3MFxcdUM4NzFcXHVDODc0XFx1Qzg3OFxcdUM4N0FcXHVDODgwXFx1Qzg4MVxcdUM4ODNcXHVDODg1XFx1Qzg4NlxcdUM4ODdcXHVDODhCXFx1Qzg4Q1xcdUM4OERcXHVDODk0XFx1Qzg5RFxcdUM4OUZcXHVDOEExXFx1QzhBOFxcdUM4QkNcXHVDOEJEXFx1QzhDNFxcdUM4QzhcXHVDOENDXFx1QzhENFxcdUM4RDVcXHVDOEQ3XFx1QzhEOVxcdUM4RTBcXHVDOEUxXFx1QzhFNFxcdUM4RjVcXHVDOEZDXFx1QzhGRFxcdUM5MDBcXHVDOTA0XFx1QzkwNVxcdUM5MDZcXHVDOTBDXFx1QzkwRFxcdUM5MEZcXHVDOTExXFx1QzkxOFxcdUM5MkNcXHVDOTM0XFx1Qzk1MFxcdUM5NTFcXHVDOTU0XFx1Qzk1OFxcdUM5NjBcXHVDOTYxXFx1Qzk2M1xcdUM5NkNcXHVDOTcwXFx1Qzk3NFxcdUM5N0NcXHVDOTg4XFx1Qzk4OVxcdUM5OENcXHVDOTkwXFx1Qzk5OFxcdUM5OTlcXHVDOTlCXFx1Qzk5RFxcdUM5QzBcXHVDOUMxXFx1QzlDNFxcdUM5QzdcXHVDOUM4XFx1QzlDQVxcdUM5RDBcXHVDOUQxXFx1QzlEM1wiXSxcbiAgICAgIFtcImMyNDFcIiwgXCJcXHVENUNBXFx1RDVDQlxcdUQ1Q0RcXHVENUNFXFx1RDVDRlxcdUQ1RDFcXHVENUQzXCIsIDQsIFwiXFx1RDVEQVxcdUQ1RENcXHVENURFXCIsIDUsIFwiXFx1RDVFNlxcdUQ1RTdcXHVENUU5XFx1RDVFQVxcdUQ1RUJcXHVENUVEXFx1RDVFRVwiXSxcbiAgICAgIFtcImMyNjFcIiwgXCJcXHVENUVGXCIsIDQsIFwiXFx1RDVGNlxcdUQ1RjhcXHVENUZBXCIsIDUsIFwiXFx1RDYwMlxcdUQ2MDNcXHVENjA1XFx1RDYwNlxcdUQ2MDdcXHVENjA5XCIsIDYsIFwiXFx1RDYxMlwiXSxcbiAgICAgIFtcImMyODFcIiwgXCJcXHVENjE2XCIsIDUsIFwiXFx1RDYxRFxcdUQ2MUVcXHVENjFGXFx1RDYyMVxcdUQ2MjJcXHVENjIzXFx1RDYyNVwiLCA3LCBcIlxcdUQ2MkVcIiwgOSwgXCJcXHVENjNBXFx1RDYzQlxcdUM5RDVcXHVDOUQ2XFx1QzlEOVxcdUM5REFcXHVDOURDXFx1QzlERFxcdUM5RTBcXHVDOUUyXFx1QzlFNFxcdUM5RTdcXHVDOUVDXFx1QzlFRFxcdUM5RUZcXHVDOUYwXFx1QzlGMVxcdUM5RjhcXHVDOUY5XFx1QzlGQ1xcdUNBMDBcXHVDQTA4XFx1Q0EwOVxcdUNBMEJcXHVDQTBDXFx1Q0EwRFxcdUNBMTRcXHVDQTE4XFx1Q0EyOVxcdUNBNENcXHVDQTREXFx1Q0E1MFxcdUNBNTRcXHVDQTVDXFx1Q0E1RFxcdUNBNUZcXHVDQTYwXFx1Q0E2MVxcdUNBNjhcXHVDQTdEXFx1Q0E4NFxcdUNBOThcXHVDQUJDXFx1Q0FCRFxcdUNBQzBcXHVDQUM0XFx1Q0FDQ1xcdUNBQ0RcXHVDQUNGXFx1Q0FEMVxcdUNBRDNcXHVDQUQ4XFx1Q0FEOVxcdUNBRTBcXHVDQUVDXFx1Q0FGNFxcdUNCMDhcXHVDQjEwXFx1Q0IxNFxcdUNCMThcXHVDQjIwXFx1Q0IyMVxcdUNCNDFcXHVDQjQ4XFx1Q0I0OVxcdUNCNENcXHVDQjUwXFx1Q0I1OFxcdUNCNTlcXHVDQjVEXFx1Q0I2NFxcdUNCNzhcXHVDQjc5XFx1Q0I5Q1xcdUNCQjhcXHVDQkQ0XFx1Q0JFNFxcdUNCRTdcXHVDQkU5XFx1Q0MwQ1xcdUNDMERcXHVDQzEwXFx1Q0MxNFxcdUNDMUNcXHVDQzFEXFx1Q0MyMVxcdUNDMjJcXHVDQzI3XFx1Q0MyOFxcdUNDMjlcXHVDQzJDXFx1Q0MyRVxcdUNDMzBcXHVDQzM4XFx1Q0MzOVxcdUNDM0JcIl0sXG4gICAgICBbXCJjMzQxXCIsIFwiXFx1RDYzRFxcdUQ2M0VcXHVENjNGXFx1RDY0MVxcdUQ2NDJcXHVENjQzXFx1RDY0NFxcdUQ2NDZcXHVENjQ3XFx1RDY0QVxcdUQ2NENcXHVENjRFXFx1RDY0RlxcdUQ2NTBcXHVENjUyXFx1RDY1M1xcdUQ2NTZcXHVENjU3XFx1RDY1OVxcdUQ2NUFcXHVENjVCXFx1RDY1RFwiLCA0XSxcbiAgICAgIFtcImMzNjFcIiwgXCJcXHVENjYyXCIsIDQsIFwiXFx1RDY2OFxcdUQ2NkFcIiwgNSwgXCJcXHVENjcyXFx1RDY3M1xcdUQ2NzVcIiwgMTFdLFxuICAgICAgW1wiYzM4MVwiLCBcIlxcdUQ2ODFcXHVENjgyXFx1RDY4NFxcdUQ2ODZcIiwgNSwgXCJcXHVENjhFXFx1RDY4RlxcdUQ2OTFcXHVENjkyXFx1RDY5M1xcdUQ2OTVcIiwgNywgXCJcXHVENjlFXFx1RDZBMFxcdUQ2QTJcIiwgNSwgXCJcXHVENkE5XFx1RDZBQVxcdUNDM0NcXHVDQzNEXFx1Q0MzRVxcdUNDNDRcXHVDQzQ1XFx1Q0M0OFxcdUNDNENcXHVDQzU0XFx1Q0M1NVxcdUNDNTdcXHVDQzU4XFx1Q0M1OVxcdUNDNjBcXHVDQzY0XFx1Q0M2NlxcdUNDNjhcXHVDQzcwXFx1Q0M3NVxcdUNDOThcXHVDQzk5XFx1Q0M5Q1xcdUNDQTBcXHVDQ0E4XFx1Q0NBOVxcdUNDQUJcXHVDQ0FDXFx1Q0NBRFxcdUNDQjRcXHVDQ0I1XFx1Q0NCOFxcdUNDQkNcXHVDQ0M0XFx1Q0NDNVxcdUNDQzdcXHVDQ0M5XFx1Q0NEMFxcdUNDRDRcXHVDQ0U0XFx1Q0NFQ1xcdUNDRjBcXHVDRDAxXFx1Q0QwOFxcdUNEMDlcXHVDRDBDXFx1Q0QxMFxcdUNEMThcXHVDRDE5XFx1Q0QxQlxcdUNEMURcXHVDRDI0XFx1Q0QyOFxcdUNEMkNcXHVDRDM5XFx1Q0Q1Q1xcdUNENjBcXHVDRDY0XFx1Q0Q2Q1xcdUNENkRcXHVDRDZGXFx1Q0Q3MVxcdUNENzhcXHVDRDg4XFx1Q0Q5NFxcdUNEOTVcXHVDRDk4XFx1Q0Q5Q1xcdUNEQTRcXHVDREE1XFx1Q0RBN1xcdUNEQTlcXHVDREIwXFx1Q0RDNFxcdUNEQ0NcXHVDREQwXFx1Q0RFOFxcdUNERUNcXHVDREYwXFx1Q0RGOFxcdUNERjlcXHVDREZCXFx1Q0RGRFxcdUNFMDRcXHVDRTA4XFx1Q0UwQ1xcdUNFMTRcXHVDRTE5XFx1Q0UyMFxcdUNFMjFcXHVDRTI0XFx1Q0UyOFxcdUNFMzBcXHVDRTMxXFx1Q0UzM1xcdUNFMzVcIl0sXG4gICAgICBbXCJjNDQxXCIsIFwiXFx1RDZBQlxcdUQ2QURcXHVENkFFXFx1RDZBRlxcdUQ2QjFcIiwgNywgXCJcXHVENkJBXFx1RDZCQ1wiLCA3LCBcIlxcdUQ2QzZcXHVENkM3XFx1RDZDOVxcdUQ2Q0FcXHVENkNCXCJdLFxuICAgICAgW1wiYzQ2MVwiLCBcIlxcdUQ2Q0RcXHVENkNFXFx1RDZDRlxcdUQ2RDBcXHVENkQyXFx1RDZEM1xcdUQ2RDVcXHVENkQ2XFx1RDZEOFxcdUQ2REFcIiwgNSwgXCJcXHVENkUxXFx1RDZFMlxcdUQ2RTNcXHVENkU1XFx1RDZFNlxcdUQ2RTdcXHVENkU5XCIsIDRdLFxuICAgICAgW1wiYzQ4MVwiLCBcIlxcdUQ2RUVcXHVENkVGXFx1RDZGMVxcdUQ2RjJcXHVENkYzXFx1RDZGNFxcdUQ2RjZcIiwgNSwgXCJcXHVENkZFXFx1RDZGRlxcdUQ3MDFcXHVENzAyXFx1RDcwM1xcdUQ3MDVcIiwgMTEsIFwiXFx1RDcxMlxcdUQ3MTNcXHVENzE0XFx1Q0U1OFxcdUNFNTlcXHVDRTVDXFx1Q0U1RlxcdUNFNjBcXHVDRTYxXFx1Q0U2OFxcdUNFNjlcXHVDRTZCXFx1Q0U2RFxcdUNFNzRcXHVDRTc1XFx1Q0U3OFxcdUNFN0NcXHVDRTg0XFx1Q0U4NVxcdUNFODdcXHVDRTg5XFx1Q0U5MFxcdUNFOTFcXHVDRTk0XFx1Q0U5OFxcdUNFQTBcXHVDRUExXFx1Q0VBM1xcdUNFQTRcXHVDRUE1XFx1Q0VBQ1xcdUNFQURcXHVDRUMxXFx1Q0VFNFxcdUNFRTVcXHVDRUU4XFx1Q0VFQlxcdUNFRUNcXHVDRUY0XFx1Q0VGNVxcdUNFRjdcXHVDRUY4XFx1Q0VGOVxcdUNGMDBcXHVDRjAxXFx1Q0YwNFxcdUNGMDhcXHVDRjEwXFx1Q0YxMVxcdUNGMTNcXHVDRjE1XFx1Q0YxQ1xcdUNGMjBcXHVDRjI0XFx1Q0YyQ1xcdUNGMkRcXHVDRjJGXFx1Q0YzMFxcdUNGMzFcXHVDRjM4XFx1Q0Y1NFxcdUNGNTVcXHVDRjU4XFx1Q0Y1Q1xcdUNGNjRcXHVDRjY1XFx1Q0Y2N1xcdUNGNjlcXHVDRjcwXFx1Q0Y3MVxcdUNGNzRcXHVDRjc4XFx1Q0Y4MFxcdUNGODVcXHVDRjhDXFx1Q0ZBMVxcdUNGQThcXHVDRkIwXFx1Q0ZDNFxcdUNGRTBcXHVDRkUxXFx1Q0ZFNFxcdUNGRThcXHVDRkYwXFx1Q0ZGMVxcdUNGRjNcXHVDRkY1XFx1Q0ZGQ1xcdUQwMDBcXHVEMDA0XFx1RDAxMVxcdUQwMThcXHVEMDJEXFx1RDAzNFxcdUQwMzVcXHVEMDM4XFx1RDAzQ1wiXSxcbiAgICAgIFtcImM1NDFcIiwgXCJcXHVENzE1XFx1RDcxNlxcdUQ3MTdcXHVENzFBXFx1RDcxQlxcdUQ3MURcXHVENzFFXFx1RDcxRlxcdUQ3MjFcIiwgNiwgXCJcXHVENzJBXFx1RDcyQ1xcdUQ3MkVcIiwgNSwgXCJcXHVENzM2XFx1RDczN1xcdUQ3MzlcIl0sXG4gICAgICBbXCJjNTYxXCIsIFwiXFx1RDczQVxcdUQ3M0JcXHVENzNEXCIsIDYsIFwiXFx1RDc0NVxcdUQ3NDZcXHVENzQ4XFx1RDc0QVwiLCA1LCBcIlxcdUQ3NTJcXHVENzUzXFx1RDc1NVxcdUQ3NUFcIiwgNF0sXG4gICAgICBbXCJjNTgxXCIsIFwiXFx1RDc1RlxcdUQ3NjJcXHVENzY0XFx1RDc2NlxcdUQ3NjdcXHVENzY4XFx1RDc2QVxcdUQ3NkJcXHVENzZEXFx1RDc2RVxcdUQ3NkZcXHVENzcxXFx1RDc3MlxcdUQ3NzNcXHVENzc1XCIsIDYsIFwiXFx1RDc3RVxcdUQ3N0ZcXHVENzgwXFx1RDc4MlwiLCA1LCBcIlxcdUQ3OEFcXHVENzhCXFx1RDA0NFxcdUQwNDVcXHVEMDQ3XFx1RDA0OVxcdUQwNTBcXHVEMDU0XFx1RDA1OFxcdUQwNjBcXHVEMDZDXFx1RDA2RFxcdUQwNzBcXHVEMDc0XFx1RDA3Q1xcdUQwN0RcXHVEMDgxXFx1RDBBNFxcdUQwQTVcXHVEMEE4XFx1RDBBQ1xcdUQwQjRcXHVEMEI1XFx1RDBCN1xcdUQwQjlcXHVEMEMwXFx1RDBDMVxcdUQwQzRcXHVEMEM4XFx1RDBDOVxcdUQwRDBcXHVEMEQxXFx1RDBEM1xcdUQwRDRcXHVEMEQ1XFx1RDBEQ1xcdUQwRERcXHVEMEUwXFx1RDBFNFxcdUQwRUNcXHVEMEVEXFx1RDBFRlxcdUQwRjBcXHVEMEYxXFx1RDBGOFxcdUQxMERcXHVEMTMwXFx1RDEzMVxcdUQxMzRcXHVEMTM4XFx1RDEzQVxcdUQxNDBcXHVEMTQxXFx1RDE0M1xcdUQxNDRcXHVEMTQ1XFx1RDE0Q1xcdUQxNERcXHVEMTUwXFx1RDE1NFxcdUQxNUNcXHVEMTVEXFx1RDE1RlxcdUQxNjFcXHVEMTY4XFx1RDE2Q1xcdUQxN0NcXHVEMTg0XFx1RDE4OFxcdUQxQTBcXHVEMUExXFx1RDFBNFxcdUQxQThcXHVEMUIwXFx1RDFCMVxcdUQxQjNcXHVEMUI1XFx1RDFCQVxcdUQxQkNcXHVEMUMwXFx1RDFEOFxcdUQxRjRcXHVEMUY4XFx1RDIwN1xcdUQyMDlcXHVEMjEwXFx1RDIyQ1xcdUQyMkRcXHVEMjMwXFx1RDIzNFxcdUQyM0NcXHVEMjNEXFx1RDIzRlxcdUQyNDFcXHVEMjQ4XFx1RDI1Q1wiXSxcbiAgICAgIFtcImM2NDFcIiwgXCJcXHVENzhEXFx1RDc4RVxcdUQ3OEZcXHVENzkxXCIsIDYsIFwiXFx1RDc5QVxcdUQ3OUNcXHVENzlFXCIsIDVdLFxuICAgICAgW1wiYzZhMVwiLCBcIlxcdUQyNjRcXHVEMjgwXFx1RDI4MVxcdUQyODRcXHVEMjg4XFx1RDI5MFxcdUQyOTFcXHVEMjk1XFx1RDI5Q1xcdUQyQTBcXHVEMkE0XFx1RDJBQ1xcdUQyQjFcXHVEMkI4XFx1RDJCOVxcdUQyQkNcXHVEMkJGXFx1RDJDMFxcdUQyQzJcXHVEMkM4XFx1RDJDOVxcdUQyQ0JcXHVEMkQ0XFx1RDJEOFxcdUQyRENcXHVEMkU0XFx1RDJFNVxcdUQyRjBcXHVEMkYxXFx1RDJGNFxcdUQyRjhcXHVEMzAwXFx1RDMwMVxcdUQzMDNcXHVEMzA1XFx1RDMwQ1xcdUQzMERcXHVEMzBFXFx1RDMxMFxcdUQzMTRcXHVEMzE2XFx1RDMxQ1xcdUQzMURcXHVEMzFGXFx1RDMyMFxcdUQzMjFcXHVEMzI1XFx1RDMyOFxcdUQzMjlcXHVEMzJDXFx1RDMzMFxcdUQzMzhcXHVEMzM5XFx1RDMzQlxcdUQzM0NcXHVEMzNEXFx1RDM0NFxcdUQzNDVcXHVEMzdDXFx1RDM3RFxcdUQzODBcXHVEMzg0XFx1RDM4Q1xcdUQzOERcXHVEMzhGXFx1RDM5MFxcdUQzOTFcXHVEMzk4XFx1RDM5OVxcdUQzOUNcXHVEM0EwXFx1RDNBOFxcdUQzQTlcXHVEM0FCXFx1RDNBRFxcdUQzQjRcXHVEM0I4XFx1RDNCQ1xcdUQzQzRcXHVEM0M1XFx1RDNDOFxcdUQzQzlcXHVEM0QwXFx1RDNEOFxcdUQzRTFcXHVEM0UzXFx1RDNFQ1xcdUQzRURcXHVEM0YwXFx1RDNGNFxcdUQzRkNcXHVEM0ZEXFx1RDNGRlxcdUQ0MDFcIl0sXG4gICAgICBbXCJjN2ExXCIsIFwiXFx1RDQwOFxcdUQ0MURcXHVENDQwXFx1RDQ0NFxcdUQ0NUNcXHVENDYwXFx1RDQ2NFxcdUQ0NkRcXHVENDZGXFx1RDQ3OFxcdUQ0NzlcXHVENDdDXFx1RDQ3RlxcdUQ0ODBcXHVENDgyXFx1RDQ4OFxcdUQ0ODlcXHVENDhCXFx1RDQ4RFxcdUQ0OTRcXHVENEE5XFx1RDRDQ1xcdUQ0RDBcXHVENEQ0XFx1RDREQ1xcdUQ0REZcXHVENEU4XFx1RDRFQ1xcdUQ0RjBcXHVENEY4XFx1RDRGQlxcdUQ0RkRcXHVENTA0XFx1RDUwOFxcdUQ1MENcXHVENTE0XFx1RDUxNVxcdUQ1MTdcXHVENTNDXFx1RDUzRFxcdUQ1NDBcXHVENTQ0XFx1RDU0Q1xcdUQ1NERcXHVENTRGXFx1RDU1MVxcdUQ1NThcXHVENTU5XFx1RDU1Q1xcdUQ1NjBcXHVENTY1XFx1RDU2OFxcdUQ1NjlcXHVENTZCXFx1RDU2RFxcdUQ1NzRcXHVENTc1XFx1RDU3OFxcdUQ1N0NcXHVENTg0XFx1RDU4NVxcdUQ1ODdcXHVENTg4XFx1RDU4OVxcdUQ1OTBcXHVENUE1XFx1RDVDOFxcdUQ1QzlcXHVENUNDXFx1RDVEMFxcdUQ1RDJcXHVENUQ4XFx1RDVEOVxcdUQ1REJcXHVENUREXFx1RDVFNFxcdUQ1RTVcXHVENUU4XFx1RDVFQ1xcdUQ1RjRcXHVENUY1XFx1RDVGN1xcdUQ1RjlcXHVENjAwXFx1RDYwMVxcdUQ2MDRcXHVENjA4XFx1RDYxMFxcdUQ2MTFcXHVENjEzXFx1RDYxNFxcdUQ2MTVcXHVENjFDXFx1RDYyMFwiXSxcbiAgICAgIFtcImM4YTFcIiwgXCJcXHVENjI0XFx1RDYyRFxcdUQ2MzhcXHVENjM5XFx1RDYzQ1xcdUQ2NDBcXHVENjQ1XFx1RDY0OFxcdUQ2NDlcXHVENjRCXFx1RDY0RFxcdUQ2NTFcXHVENjU0XFx1RDY1NVxcdUQ2NThcXHVENjVDXFx1RDY2N1xcdUQ2NjlcXHVENjcwXFx1RDY3MVxcdUQ2NzRcXHVENjgzXFx1RDY4NVxcdUQ2OENcXHVENjhEXFx1RDY5MFxcdUQ2OTRcXHVENjlEXFx1RDY5RlxcdUQ2QTFcXHVENkE4XFx1RDZBQ1xcdUQ2QjBcXHVENkI5XFx1RDZCQlxcdUQ2QzRcXHVENkM1XFx1RDZDOFxcdUQ2Q0NcXHVENkQxXFx1RDZENFxcdUQ2RDdcXHVENkQ5XFx1RDZFMFxcdUQ2RTRcXHVENkU4XFx1RDZGMFxcdUQ2RjVcXHVENkZDXFx1RDZGRFxcdUQ3MDBcXHVENzA0XFx1RDcxMVxcdUQ3MThcXHVENzE5XFx1RDcxQ1xcdUQ3MjBcXHVENzI4XFx1RDcyOVxcdUQ3MkJcXHVENzJEXFx1RDczNFxcdUQ3MzVcXHVENzM4XFx1RDczQ1xcdUQ3NDRcXHVENzQ3XFx1RDc0OVxcdUQ3NTBcXHVENzUxXFx1RDc1NFxcdUQ3NTZcXHVENzU3XFx1RDc1OFxcdUQ3NTlcXHVENzYwXFx1RDc2MVxcdUQ3NjNcXHVENzY1XFx1RDc2OVxcdUQ3NkNcXHVENzcwXFx1RDc3NFxcdUQ3N0NcXHVENzdEXFx1RDc4MVxcdUQ3ODhcXHVENzg5XFx1RDc4Q1xcdUQ3OTBcXHVENzk4XFx1RDc5OVxcdUQ3OUJcXHVENzlEXCJdLFxuICAgICAgW1wiY2FhMVwiLCBcIlxcdTRGM0RcXHU0RjczXFx1NTA0N1xcdTUwRjlcXHU1MkEwXFx1NTNFRlxcdTU0NzVcXHU1NEU1XFx1NTYwOVxcdTVBQzFcXHU1QkI2XFx1NjY4N1xcdTY3QjZcXHU2N0I3XFx1NjdFRlxcdTZCNENcXHU3M0MyXFx1NzVDMlxcdTdBM0NcXHU4MkRCXFx1ODMwNFxcdTg4NTdcXHU4ODg4XFx1OEEzNlxcdThDQzhcXHU4RENGXFx1OEVGQlxcdThGRTZcXHU5OUQ1XFx1NTIzQlxcdTUzNzRcXHU1NDA0XFx1NjA2QVxcdTYxNjRcXHU2QkJDXFx1NzNDRlxcdTgxMUFcXHU4OUJBXFx1ODlEMlxcdTk1QTNcXHU0RjgzXFx1NTIwQVxcdTU4QkVcXHU1OTc4XFx1NTlFNlxcdTVFNzJcXHU1RTc5XFx1NjFDN1xcdTYzQzBcXHU2NzQ2XFx1NjdFQ1xcdTY4N0ZcXHU2Rjk3XFx1NzY0RVxcdTc3MEJcXHU3OEY1XFx1N0EwOFxcdTdBRkZcXHU3QzIxXFx1ODA5RFxcdTgyNkVcXHU4MjcxXFx1OEFFQlxcdTk1OTNcXHU0RTZCXFx1NTU5RFxcdTY2RjdcXHU2RTM0XFx1NzhBM1xcdTdBRURcXHU4NDVCXFx1ODkxMFxcdTg3NEVcXHU5N0E4XFx1NTJEOFxcdTU3NEVcXHU1ODJBXFx1NUQ0Q1xcdTYxMUZcXHU2MUJFXFx1NjIyMVxcdTY1NjJcXHU2N0QxXFx1NkE0NFxcdTZFMUJcXHU3NTE4XFx1NzVCM1xcdTc2RTNcXHU3N0IwXFx1N0QzQVxcdTkwQUZcXHU5NDUxXFx1OTQ1MlxcdTlGOTVcIl0sXG4gICAgICBbXCJjYmExXCIsIFwiXFx1NTMyM1xcdTVDQUNcXHU3NTMyXFx1ODBEQlxcdTkyNDBcXHU5NTk4XFx1NTI1QlxcdTU4MDhcXHU1OURDXFx1NUNBMVxcdTVEMTdcXHU1RUI3XFx1NUYzQVxcdTVGNEFcXHU2MTc3XFx1NkM1RlxcdTc1N0FcXHU3NTg2XFx1N0NFMFxcdTdENzNcXHU3REIxXFx1N0Y4Q1xcdTgxNTRcXHU4MjIxXFx1ODU5MVxcdTg5NDFcXHU4QjFCXFx1OTJGQ1xcdTk2NERcXHU5QzQ3XFx1NEVDQlxcdTRFRjdcXHU1MDBCXFx1NTFGMVxcdTU4NEZcXHU2MTM3XFx1NjEzRVxcdTYxNjhcXHU2NTM5XFx1NjlFQVxcdTZGMTFcXHU3NUE1XFx1NzY4NlxcdTc2RDZcXHU3Qjg3XFx1ODJBNVxcdTg0Q0JcXHVGOTAwXFx1OTNBN1xcdTk1OEJcXHU1NTgwXFx1NUJBMlxcdTU3NTFcXHVGOTAxXFx1N0NCM1xcdTdGQjlcXHU5MUI1XFx1NTAyOFxcdTUzQkJcXHU1QzQ1XFx1NURFOFxcdTYyRDJcXHU2MzZFXFx1NjREQVxcdTY0RTdcXHU2RTIwXFx1NzBBQ1xcdTc5NUJcXHU4REREXFx1OEUxRVxcdUY5MDJcXHU5MDdEXFx1OTI0NVxcdTkyRjhcXHU0RTdFXFx1NEVGNlxcdTUwNjVcXHU1REZFXFx1NUVGQVxcdTYxMDZcXHU2OTU3XFx1ODE3MVxcdTg2NTRcXHU4RTQ3XFx1OTM3NVxcdTlBMkJcXHU0RTVFXFx1NTA5MVxcdTY3NzBcXHU2ODQwXFx1NTEwOVxcdTUyOERcXHU1MjkyXFx1NkFBMlwiXSxcbiAgICAgIFtcImNjYTFcIiwgXCJcXHU3N0JDXFx1OTIxMFxcdTlFRDRcXHU1MkFCXFx1NjAyRlxcdThGRjJcXHU1MDQ4XFx1NjFBOVxcdTYzRURcXHU2NENBXFx1NjgzQ1xcdTZBODRcXHU2RkMwXFx1ODE4OFxcdTg5QTFcXHU5Njk0XFx1NTgwNVxcdTcyN0RcXHU3MkFDXFx1NzUwNFxcdTdENzlcXHU3RTZEXFx1ODBBOVxcdTg5OEJcXHU4Qjc0XFx1OTA2M1xcdTlENTFcXHU2Mjg5XFx1NkM3QVxcdTZGNTRcXHU3RDUwXFx1N0YzQVxcdThBMjNcXHU1MTdDXFx1NjE0QVxcdTdCOURcXHU4QjE5XFx1OTI1N1xcdTkzOENcXHU0RUFDXFx1NEZEM1xcdTUwMUVcXHU1MEJFXFx1NTEwNlxcdTUyQzFcXHU1MkNEXFx1NTM3RlxcdTU3NzBcXHU1ODgzXFx1NUU5QVxcdTVGOTFcXHU2MTc2XFx1NjFBQ1xcdTY0Q0VcXHU2NTZDXFx1NjY2RlxcdTY2QkJcXHU2NkY0XFx1Njg5N1xcdTZEODdcXHU3MDg1XFx1NzBGMVxcdTc0OUZcXHU3NEE1XFx1NzRDQVxcdTc1RDlcXHU3ODZDXFx1NzhFQ1xcdTdBREZcXHU3QUY2XFx1N0Q0NVxcdTdEOTNcXHU4MDE1XFx1ODAzRlxcdTgxMUJcXHU4Mzk2XFx1OEI2NlxcdThGMTVcXHU5MDE1XFx1OTNFMVxcdTk4MDNcXHU5ODM4XFx1OUE1QVxcdTlCRThcXHU0RkMyXFx1NTU1M1xcdTU4M0FcXHU1OTUxXFx1NUI2M1xcdTVDNDZcXHU2MEI4XFx1NjIxMlxcdTY4NDJcXHU2OEIwXCJdLFxuICAgICAgW1wiY2RhMVwiLCBcIlxcdTY4RThcXHU2RUFBXFx1NzU0Q1xcdTc2NzhcXHU3OENFXFx1N0EzRFxcdTdDRkJcXHU3RTZCXFx1N0U3Q1xcdThBMDhcXHU4QUExXFx1OEMzRlxcdTk2OEVcXHU5REM0XFx1NTNFNFxcdTUzRTlcXHU1NDRBXFx1NTQ3MVxcdTU2RkFcXHU1OUQxXFx1NUI2NFxcdTVDM0JcXHU1RUFCXFx1NjJGN1xcdTY1MzdcXHU2NTQ1XFx1NjU3MlxcdTY2QTBcXHU2N0FGXFx1NjlDMVxcdTZDQkRcXHU3NUZDXFx1NzY5MFxcdTc3N0VcXHU3QTNGXFx1N0Y5NFxcdTgwMDNcXHU4MEExXFx1ODE4RlxcdTgyRTZcXHU4MkZEXFx1ODNGMFxcdTg1QzFcXHU4ODMxXFx1ODhCNFxcdThBQTVcXHVGOTAzXFx1OEY5Q1xcdTkzMkVcXHU5NkM3XFx1OTg2N1xcdTlBRDhcXHU5RjEzXFx1NTRFRFxcdTY1OUJcXHU2NkYyXFx1Njg4RlxcdTdBNDBcXHU4QzM3XFx1OUQ2MFxcdTU2RjBcXHU1NzY0XFx1NUQxMVxcdTY2MDZcXHU2OEIxXFx1NjhDRFxcdTZFRkVcXHU3NDI4XFx1ODg5RVxcdTlCRTRcXHU2QzY4XFx1RjkwNFxcdTlBQThcXHU0RjlCXFx1NTE2Q1xcdTUxNzFcXHU1MjlGXFx1NUI1NFxcdTVERTVcXHU2MDUwXFx1NjA2RFxcdTYyRjFcXHU2M0E3XFx1NjUzQlxcdTczRDlcXHU3QTdBXFx1ODZBM1xcdThDQTJcXHU5NzhGXFx1NEUzMlxcdTVCRTFcXHU2MjA4XFx1Njc5Q1xcdTc0RENcIl0sXG4gICAgICBbXCJjZWExXCIsIFwiXFx1NzlEMVxcdTgzRDNcXHU4QTg3XFx1OEFCMlxcdThERThcXHU5MDRFXFx1OTM0QlxcdTk4NDZcXHU1RUQzXFx1NjlFOFxcdTg1RkZcXHU5MEVEXFx1RjkwNVxcdTUxQTBcXHU1Qjk4XFx1NUJFQ1xcdTYxNjNcXHU2OEZBXFx1NkIzRVxcdTcwNENcXHU3NDJGXFx1NzREOFxcdTdCQTFcXHU3RjUwXFx1ODNDNVxcdTg5QzBcXHU4Q0FCXFx1OTVEQ1xcdTk5MjhcXHU1MjJFXFx1NjA1RFxcdTYyRUNcXHU5MDAyXFx1NEY4QVxcdTUxNDlcXHU1MzIxXFx1NThEOVxcdTVFRTNcXHU2NkUwXFx1NkQzOFxcdTcwOUFcXHU3MkMyXFx1NzNENlxcdTdCNTBcXHU4MEYxXFx1OTQ1QlxcdTUzNjZcXHU2MzlCXFx1N0Y2QlxcdTRFNTZcXHU1MDgwXFx1NTg0QVxcdTU4REVcXHU2MDJBXFx1NjEyN1xcdTYyRDBcXHU2OUQwXFx1OUI0MVxcdTVCOEZcXHU3RDE4XFx1ODBCMVxcdThGNUZcXHU0RUE0XFx1NTBEMVxcdTU0QUNcXHU1NUFDXFx1NUIwQ1xcdTVEQTBcXHU1REU3XFx1NjUyQVxcdTY1NEVcXHU2ODIxXFx1NkE0QlxcdTcyRTFcXHU3NjhFXFx1NzdFRlxcdTdENUVcXHU3RkY5XFx1ODFBMFxcdTg1NEVcXHU4NkRGXFx1OEYwM1xcdThGNEVcXHU5MENBXFx1OTkwM1xcdTlBNTVcXHU5QkFCXFx1NEUxOFxcdTRFNDVcXHU0RTVEXFx1NEVDN1xcdTRGRjFcXHU1MTc3XFx1NTJGRVwiXSxcbiAgICAgIFtcImNmYTFcIiwgXCJcXHU1MzQwXFx1NTNFM1xcdTUzRTVcXHU1NDhFXFx1NTYxNFxcdTU3NzVcXHU1N0EyXFx1NUJDN1xcdTVEODdcXHU1RUQwXFx1NjFGQ1xcdTYyRDhcXHU2NTUxXFx1NjdCOFxcdTY3RTlcXHU2OUNCXFx1NkI1MFxcdTZCQzZcXHU2QkVDXFx1NkM0MlxcdTZFOURcXHU3MDc4XFx1NzJEN1xcdTczOTZcXHU3NDAzXFx1NzdCRlxcdTc3RTlcXHU3QTc2XFx1N0Q3RlxcdTgwMDlcXHU4MUZDXFx1ODIwNVxcdTgyMEFcXHU4MkRGXFx1ODg2MlxcdThCMzNcXHU4Q0ZDXFx1OEVDMFxcdTkwMTFcXHU5MEIxXFx1OTI2NFxcdTkyQjZcXHU5OUQyXFx1OUE0NVxcdTlDRTlcXHU5REQ3XFx1OUY5Q1xcdTU3MEJcXHU1QzQwXFx1ODNDQVxcdTk3QTBcXHU5N0FCXFx1OUVCNFxcdTU0MUJcXHU3QTk4XFx1N0ZBNFxcdTg4RDlcXHU4RUNEXFx1OTBFMVxcdTU4MDBcXHU1QzQ4XFx1NjM5OFxcdTdBOUZcXHU1QkFFXFx1NUYxM1xcdTdBNzlcXHU3QUFFXFx1ODI4RVxcdThFQUNcXHU1MDI2XFx1NTIzOFxcdTUyRjhcXHU1Mzc3XFx1NTcwOFxcdTYyRjNcXHU2MzcyXFx1NkIwQVxcdTZEQzNcXHU3NzM3XFx1NTNBNVxcdTczNTdcXHU4NTY4XFx1OEU3NlxcdTk1RDVcXHU2NzNBXFx1NkFDM1xcdTZGNzBcXHU4QTZEXFx1OEVDQ1xcdTk5NEJcXHVGOTA2XFx1NjY3N1xcdTZCNzhcXHU4Q0I0XCJdLFxuICAgICAgW1wiZDBhMVwiLCBcIlxcdTlCM0NcXHVGOTA3XFx1NTNFQlxcdTU3MkRcXHU1OTRFXFx1NjNDNlxcdTY5RkJcXHU3M0VBXFx1Nzg0NVxcdTdBQkFcXHU3QUM1XFx1N0NGRVxcdTg0NzVcXHU4OThGXFx1OEQ3M1xcdTkwMzVcXHU5NUE4XFx1NTJGQlxcdTU3NDdcXHU3NTQ3XFx1N0I2MFxcdTgzQ0NcXHU5MjFFXFx1RjkwOFxcdTZBNThcXHU1MTRCXFx1NTI0QlxcdTUyODdcXHU2MjFGXFx1NjhEOFxcdTY5NzVcXHU5Njk5XFx1NTBDNVxcdTUyQTRcXHU1MkU0XFx1NjFDM1xcdTY1QTRcXHU2ODM5XFx1NjlGRlxcdTc0N0VcXHU3QjRCXFx1ODJCOVxcdTgzRUJcXHU4OUIyXFx1OEIzOVxcdThGRDFcXHU5OTQ5XFx1RjkwOVxcdTRFQ0FcXHU1OTk3XFx1NjREMlxcdTY2MTFcXHU2QThFXFx1NzQzNFxcdTc5ODFcXHU3OUJEXFx1ODJBOVxcdTg4N0VcXHU4ODdGXFx1ODk1RlxcdUY5MEFcXHU5MzI2XFx1NEYwQlxcdTUzQ0FcXHU2MDI1XFx1NjI3MVxcdTZDNzJcXHU3RDFBXFx1N0Q2NlxcdTRFOThcXHU1MTYyXFx1NzdEQ1xcdTgwQUZcXHU0RjAxXFx1NEYwRVxcdTUxNzZcXHU1MTgwXFx1NTVEQ1xcdTU2NjhcXHU1NzNCXFx1NTdGQVxcdTU3RkNcXHU1OTE0XFx1NTk0N1xcdTU5OTNcXHU1QkM0XFx1NUM5MFxcdTVEMEVcXHU1REYxXFx1NUU3RVxcdTVGQ0NcXHU2MjgwXFx1NjVEN1xcdTY1RTNcIl0sXG4gICAgICBbXCJkMWExXCIsIFwiXFx1NjcxRVxcdTY3MUZcXHU2NzVFXFx1NjhDQlxcdTY4QzRcXHU2QTVGXFx1NkIzQVxcdTZDMjNcXHU2QzdEXFx1NkM4MlxcdTZEQzdcXHU3Mzk4XFx1NzQyNlxcdTc0MkFcXHU3NDgyXFx1NzRBM1xcdTc1NzhcXHU3NTdGXFx1Nzg4MVxcdTc4RUZcXHU3OTQxXFx1Nzk0N1xcdTc5NDhcXHU3OTdBXFx1N0I5NVxcdTdEMDBcXHU3REJBXFx1N0Y4OFxcdTgwMDZcXHU4MDJEXFx1ODA4Q1xcdThBMThcXHU4QjRGXFx1OEM0OFxcdThENzdcXHU5MzIxXFx1OTMyNFxcdTk4RTJcXHU5OTUxXFx1OUEwRVxcdTlBMEZcXHU5QTY1XFx1OUU5MlxcdTdEQ0FcXHU0Rjc2XFx1NTQwOVxcdTYyRUVcXHU2ODU0XFx1OTFEMVxcdTU1QUJcXHU1MTNBXFx1RjkwQlxcdUY5MENcXHU1QTFDXFx1NjFFNlxcdUY5MERcXHU2MkNGXFx1NjJGRlxcdUY5MEVcIiwgNSwgXCJcXHU5MEEzXFx1RjkxNFwiLCA0LCBcIlxcdThBRkVcXHVGOTE5XFx1RjkxQVxcdUY5MUJcXHVGOTFDXFx1NjY5NlxcdUY5MURcXHU3MTU2XFx1RjkxRVxcdUY5MUZcXHU5NkUzXFx1RjkyMFxcdTYzNEZcXHU2MzdBXFx1NTM1N1xcdUY5MjFcXHU2NzhGXFx1Njk2MFxcdTZFNzNcXHVGOTIyXFx1NzUzN1xcdUY5MjNcXHVGOTI0XFx1RjkyNVwiXSxcbiAgICAgIFtcImQyYTFcIiwgXCJcXHU3RDBEXFx1RjkyNlxcdUY5MjdcXHU4ODcyXFx1NTZDQVxcdTVBMThcXHVGOTI4XCIsIDQsIFwiXFx1NEU0M1xcdUY5MkRcXHU1MTY3XFx1NTk0OFxcdTY3RjBcXHU4MDEwXFx1RjkyRVxcdTU5NzNcXHU1RTc0XFx1NjQ5QVxcdTc5Q0FcXHU1RkY1XFx1NjA2Q1xcdTYyQzhcXHU2MzdCXFx1NUJFN1xcdTVCRDdcXHU1MkFBXFx1RjkyRlxcdTU5NzRcXHU1RjI5XFx1NjAxMlxcdUY5MzBcXHVGOTMxXFx1RjkzMlxcdTc0NTlcXHVGOTMzXCIsIDUsIFwiXFx1OTlEMVxcdUY5MzlcIiwgMTAsIFwiXFx1NkZDM1xcdUY5NDRcXHVGOTQ1XFx1ODFCRlxcdThGQjJcXHU2MEYxXFx1Rjk0NlxcdUY5NDdcXHU4MTY2XFx1Rjk0OFxcdUY5NDlcXHU1QzNGXFx1Rjk0QVwiLCA3LCBcIlxcdTVBRTlcXHU4QTI1XFx1Njc3QlxcdTdEMTBcXHVGOTUyXCIsIDUsIFwiXFx1ODBGRFxcdUY5NThcXHVGOTU5XFx1NUMzQ1xcdTZDRTVcXHU1MzNGXFx1NkVCQVxcdTU5MUFcXHU4MzM2XCJdLFxuICAgICAgW1wiZDNhMVwiLCBcIlxcdTRFMzlcXHU0RUI2XFx1NEY0NlxcdTU1QUVcXHU1NzE4XFx1NThDN1xcdTVGNTZcXHU2NUI3XFx1NjVFNlxcdTZBODBcXHU2QkI1XFx1NkU0RFxcdTc3RURcXHU3QUVGXFx1N0MxRVxcdTdEREVcXHU4NkNCXFx1ODg5MlxcdTkxMzJcXHU5MzVCXFx1NjRCQlxcdTZGQkVcXHU3MzdBXFx1NzVCOFxcdTkwNTRcXHU1NTU2XFx1NTc0RFxcdTYxQkFcXHU2NEQ0XFx1NjZDN1xcdTZERTFcXHU2RTVCXFx1NkY2RFxcdTZGQjlcXHU3NUYwXFx1ODA0M1xcdTgxQkRcXHU4NTQxXFx1ODk4M1xcdThBQzdcXHU4QjVBXFx1OTMxRlxcdTZDOTNcXHU3NTUzXFx1N0I1NFxcdThFMEZcXHU5MDVEXFx1NTUxMFxcdTU4MDJcXHU1ODU4XFx1NUU2MlxcdTYyMDdcXHU2NDlFXFx1NjhFMFxcdTc1NzZcXHU3Q0Q2XFx1ODdCM1xcdTlFRThcXHU0RUUzXFx1NTc4OFxcdTU3NkVcXHU1OTI3XFx1NUMwRFxcdTVDQjFcXHU1RTM2XFx1NUY4NVxcdTYyMzRcXHU2NEUxXFx1NzNCM1xcdTgxRkFcXHU4ODhCXFx1OENCOFxcdTk2OEFcXHU5RURCXFx1NUI4NVxcdTVGQjdcXHU2MEIzXFx1NTAxMlxcdTUyMDBcXHU1MjMwXFx1NTcxNlxcdTU4MzVcXHU1ODU3XFx1NUMwRVxcdTVDNjBcXHU1Q0Y2XFx1NUQ4QlxcdTVFQTZcXHU1RjkyXFx1NjBCQ1xcdTYzMTFcXHU2Mzg5XFx1NjQxN1xcdTY4NDNcIl0sXG4gICAgICBbXCJkNGExXCIsIFwiXFx1NjhGOVxcdTZBQzJcXHU2REQ4XFx1NkUyMVxcdTZFRDRcXHU2RkU0XFx1NzFGRVxcdTc2RENcXHU3Nzc5XFx1NzlCMVxcdTdBM0JcXHU4NDA0XFx1ODlBOVxcdThDRURcXHU4REYzXFx1OEU0OFxcdTkwMDNcXHU5MDE0XFx1OTA1M1xcdTkwRkRcXHU5MzREXFx1OTY3NlxcdTk3RENcXHU2QkQyXFx1NzAwNlxcdTcyNThcXHU3MkEyXFx1NzM2OFxcdTc3NjNcXHU3OUJGXFx1N0JFNFxcdTdFOUJcXHU4QjgwXFx1NThBOVxcdTYwQzdcXHU2NTY2XFx1NjVGRFxcdTY2QkVcXHU2QzhDXFx1NzExRVxcdTcxQzlcXHU4QzVBXFx1OTgxM1xcdTRFNkRcXHU3QTgxXFx1NEVERFxcdTUxQUNcXHU1MUNEXFx1NTJENVxcdTU0MENcXHU2MUE3XFx1Njc3MVxcdTY4NTBcXHU2OERGXFx1NkQxRVxcdTZGN0NcXHU3NUJDXFx1NzdCM1xcdTdBRTVcXHU4MEY0XFx1ODQ2M1xcdTkyODVcXHU1MTVDXFx1NjU5N1xcdTY3NUNcXHU2NzkzXFx1NzVEOFxcdTdBQzdcXHU4MzczXFx1Rjk1QVxcdThDNDZcXHU5MDE3XFx1OTgyRFxcdTVDNkZcXHU4MUMwXFx1ODI5QVxcdTkwNDFcXHU5MDZGXFx1OTIwRFxcdTVGOTdcXHU1RDlEXFx1NkE1OVxcdTcxQzhcXHU3NjdCXFx1N0I0OVxcdTg1RTRcXHU4QjA0XFx1OTEyN1xcdTlBMzBcXHU1NTg3XFx1NjFGNlxcdUY5NUJcXHU3NjY5XFx1N0Y4NVwiXSxcbiAgICAgIFtcImQ1YTFcIiwgXCJcXHU4NjNGXFx1ODdCQVxcdTg4RjhcXHU5MDhGXFx1Rjk1Q1xcdTZEMUJcXHU3MEQ5XFx1NzNERVxcdTdENjFcXHU4NDNEXFx1Rjk1RFxcdTkxNkFcXHU5OUYxXFx1Rjk1RVxcdTRFODJcXHU1Mzc1XFx1NkIwNFxcdTZCMTJcXHU3MDNFXFx1NzIxQlxcdTg2MkRcXHU5RTFFXFx1NTI0Q1xcdThGQTNcXHU1RDUwXFx1NjRFNVxcdTY1MkNcXHU2QjE2XFx1NkZFQlxcdTdDNDNcXHU3RTlDXFx1ODVDRFxcdTg5NjRcXHU4OUJEXFx1NjJDOVxcdTgxRDhcXHU4ODFGXFx1NUVDQVxcdTY3MTdcXHU2RDZBXFx1NzJGQ1xcdTc0MDVcXHU3NDZGXFx1ODc4MlxcdTkwREVcXHU0Rjg2XFx1NUQwRFxcdTVGQTBcXHU4NDBBXFx1NTFCN1xcdTYzQTBcXHU3NTY1XFx1NEVBRVxcdTUwMDZcXHU1MTY5XFx1NTFDOVxcdTY4ODFcXHU2QTExXFx1N0NBRVxcdTdDQjFcXHU3Q0U3XFx1ODI2RlxcdThBRDJcXHU4RjFCXFx1OTFDRlxcdTRGQjZcXHU1MTM3XFx1NTJGNVxcdTU0NDJcXHU1RUVDXFx1NjE2RVxcdTYyM0VcXHU2NUM1XFx1NkFEQVxcdTZGRkVcXHU3OTJBXFx1ODVEQ1xcdTg4MjNcXHU5NUFEXFx1OUE2MlxcdTlBNkFcXHU5RTk3XFx1OUVDRVxcdTUyOUJcXHU2NkM2XFx1NkI3N1xcdTcwMURcXHU3OTJCXFx1OEY2MlxcdTk3NDJcXHU2MTkwXFx1NjIwMFxcdTY1MjNcXHU2RjIzXCJdLFxuICAgICAgW1wiZDZhMVwiLCBcIlxcdTcxNDlcXHU3NDg5XFx1N0RGNFxcdTgwNkZcXHU4NEVFXFx1OEYyNlxcdTkwMjNcXHU5MzRBXFx1NTFCRFxcdTUyMTdcXHU1MkEzXFx1NkQwQ1xcdTcwQzhcXHU4OEMyXFx1NUVDOVxcdTY1ODJcXHU2QkFFXFx1NkZDMlxcdTdDM0VcXHU3Mzc1XFx1NEVFNFxcdTRGMzZcXHU1NkY5XFx1Rjk1RlxcdTVDQkFcXHU1REJBXFx1NjAxQ1xcdTczQjJcXHU3QjJEXFx1N0Y5QVxcdTdGQ0VcXHU4MDQ2XFx1OTAxRVxcdTkyMzRcXHU5NkY2XFx1OTc0OFxcdTk4MThcXHU5RjYxXFx1NEY4QlxcdTZGQTdcXHU3OUFFXFx1OTFCNFxcdTk2QjdcXHU1MkRFXFx1Rjk2MFxcdTY0ODhcXHU2NEM0XFx1NkFEM1xcdTZGNUVcXHU3MDE4XFx1NzIxMFxcdTc2RTdcXHU4MDAxXFx1ODYwNlxcdTg2NUNcXHU4REVGXFx1OEYwNVxcdTk3MzJcXHU5QjZGXFx1OURGQVxcdTlFNzVcXHU3ODhDXFx1Nzk3RlxcdTdEQTBcXHU4M0M5XFx1OTMwNFxcdTlFN0ZcXHU5RTkzXFx1OEFENlxcdTU4REZcXHU1RjA0XFx1NjcyN1xcdTcwMjdcXHU3NENGXFx1N0M2MFxcdTgwN0VcXHU1MTIxXFx1NzAyOFxcdTcyNjJcXHU3OENBXFx1OENDMlxcdThDREFcXHU4Q0Y0XFx1OTZGN1xcdTRFODZcXHU1MERBXFx1NUJFRVxcdTVFRDZcXHU2NTk5XFx1NzFDRVxcdTc2NDJcXHU3N0FEXFx1ODA0QVxcdTg0RkNcIl0sXG4gICAgICBbXCJkN2ExXCIsIFwiXFx1OTA3Q1xcdTlCMjdcXHU5RjhEXFx1NThEOFxcdTVBNDFcXHU1QzYyXFx1NkExM1xcdTZEREFcXHU2RjBGXFx1NzYzQlxcdTdEMkZcXHU3RTM3XFx1ODUxRVxcdTg5MzhcXHU5M0U0XFx1OTY0QlxcdTUyODlcXHU2NUQyXFx1NjdGM1xcdTY5QjRcXHU2RDQxXFx1NkU5Q1xcdTcwMEZcXHU3NDA5XFx1NzQ2MFxcdTc1NTlcXHU3NjI0XFx1Nzg2QlxcdThCMkNcXHU5ODVFXFx1NTE2RFxcdTYyMkVcXHU5Njc4XFx1NEY5NlxcdTUwMkJcXHU1RDE5XFx1NkRFQVxcdTdEQjhcXHU4RjJBXFx1NUY4QlxcdTYxNDRcXHU2ODE3XFx1Rjk2MVxcdTk2ODZcXHU1MkQyXFx1ODA4QlxcdTUxRENcXHU1MUNDXFx1Njk1RVxcdTdBMUNcXHU3REJFXFx1ODNGMVxcdTk2NzVcXHU0RkRBXFx1NTIyOVxcdTUzOThcXHU1NDBGXFx1NTUwRVxcdTVDNjVcXHU2MEE3XFx1Njc0RVxcdTY4QThcXHU2RDZDXFx1NzI4MVxcdTcyRjhcXHU3NDA2XFx1NzQ4M1xcdUY5NjJcXHU3NUUyXFx1N0M2Q1xcdTdGNzlcXHU3RkI4XFx1ODM4OVxcdTg4Q0ZcXHU4OEUxXFx1OTFDQ1xcdTkxRDBcXHU5NkUyXFx1OUJDOVxcdTU0MURcXHU2RjdFXFx1NzFEMFxcdTc0OThcXHU4NUZBXFx1OEVBQVxcdTk2QTNcXHU5QzU3XFx1OUU5RlxcdTY3OTdcXHU2RENCXFx1NzQzM1xcdTgxRThcXHU5NzE2XFx1NzgyQ1wiXSxcbiAgICAgIFtcImQ4YTFcIiwgXCJcXHU3QUNCXFx1N0IyMFxcdTdDOTJcXHU2NDY5XFx1NzQ2QVxcdTc1RjJcXHU3OEJDXFx1NzhFOFxcdTk5QUNcXHU5QjU0XFx1OUVCQlxcdTVCREVcXHU1RTU1XFx1NkYyMFxcdTgxOUNcXHU4M0FCXFx1OTA4OFxcdTRFMDdcXHU1MzREXFx1NUEyOVxcdTVERDJcXHU1RjRFXFx1NjE2MlxcdTYzM0RcXHU2NjY5XFx1NjZGQ1xcdTZFRkZcXHU2RjJCXFx1NzA2M1xcdTc3OUVcXHU4NDJDXFx1ODUxM1xcdTg4M0JcXHU4RjEzXFx1OTk0NVxcdTlDM0JcXHU1NTFDXFx1NjJCOVxcdTY3MkJcXHU2Q0FCXFx1ODMwOVxcdTg5NkFcXHU5NzdBXFx1NEVBMVxcdTU5ODRcXHU1RkQ4XFx1NUZEOVxcdTY3MUJcXHU3REIyXFx1N0Y1NFxcdTgyOTJcXHU4MzJCXFx1ODNCRFxcdThGMUVcXHU5MDk5XFx1NTdDQlxcdTU5QjlcXHU1QTkyXFx1NUJEMFxcdTY2MjdcXHU2NzlBXFx1Njg4NVxcdTZCQ0ZcXHU3MTY0XFx1N0Y3NVxcdThDQjdcXHU4Q0UzXFx1OTA4MVxcdTlCNDVcXHU4MTA4XFx1OEM4QVxcdTk2NENcXHU5QTQwXFx1OUVBNVxcdTVCNUZcXHU2QzEzXFx1NzMxQlxcdTc2RjJcXHU3NkRGXFx1ODQwQ1xcdTUxQUFcXHU4OTkzXFx1NTE0RFxcdTUxOTVcXHU1MkM5XFx1NjhDOVxcdTZDOTRcXHU3NzA0XFx1NzcyMFxcdTdEQkZcXHU3REVDXFx1OTc2MlxcdTlFQjVcXHU2RUM1XCJdLFxuICAgICAgW1wiZDlhMVwiLCBcIlxcdTg1MTFcXHU1MUE1XFx1NTQwRFxcdTU0N0RcXHU2NjBFXFx1NjY5RFxcdTY5MjdcXHU2RTlGXFx1NzZCRlxcdTc3OTFcXHU4MzE3XFx1ODRDMlxcdTg3OUZcXHU5MTY5XFx1OTI5OFxcdTlDRjRcXHU4ODgyXFx1NEZBRVxcdTUxOTJcXHU1MkRGXFx1NTlDNlxcdTVFM0RcXHU2MTU1XFx1NjQ3OFxcdTY0NzlcXHU2NkFFXFx1NjdEMFxcdTZBMjFcXHU2QkNEXFx1NkJEQlxcdTcyNUZcXHU3MjYxXFx1NzQ0MVxcdTc3MzhcXHU3N0RCXFx1ODAxN1xcdTgyQkNcXHU4MzA1XFx1OEIwMFxcdThCMjhcXHU4QzhDXFx1NjcyOFxcdTZDOTBcXHU3MjY3XFx1NzZFRVxcdTc3NjZcXHU3QTQ2XFx1OURBOVxcdTZCN0ZcXHU2QzkyXFx1NTkyMlxcdTY3MjZcXHU4NDk5XFx1NTM2RlxcdTU4OTNcXHU1OTk5XFx1NUVERlxcdTYzQ0ZcXHU2NjM0XFx1Njc3M1xcdTZFM0FcXHU3MzJCXFx1N0FEN1xcdTgyRDdcXHU5MzI4XFx1NTJEOVxcdTVERUJcXHU2MUFFXFx1NjFDQlxcdTYyMEFcXHU2MkM3XFx1NjRBQlxcdTY1RTBcXHU2OTU5XFx1NkI2NlxcdTZCQ0JcXHU3MTIxXFx1NzNGN1xcdTc1NURcXHU3RTQ2XFx1ODIxRVxcdTgzMDJcXHU4NTZBXFx1OEFBM1xcdThDQkZcXHU5NzI3XFx1OUQ2MVxcdTU4QThcXHU5RUQ4XFx1NTAxMVxcdTUyMEVcXHU1NDNCXFx1NTU0RlxcdTY1ODdcIl0sXG4gICAgICBbXCJkYWExXCIsIFwiXFx1NkM3NlxcdTdEMEFcXHU3RDBCXFx1ODA1RVxcdTg2OEFcXHU5NTgwXFx1OTZFRlxcdTUyRkZcXHU2Qzk1XFx1NzI2OVxcdTU0NzNcXHU1QTlBXFx1NUMzRVxcdTVENEJcXHU1RjRDXFx1NUZBRVxcdTY3MkFcXHU2OEI2XFx1Njk2M1xcdTZFM0NcXHU2RTQ0XFx1NzcwOVxcdTdDNzNcXHU3RjhFXFx1ODU4N1xcdThCMEVcXHU4RkY3XFx1OTc2MVxcdTlFRjRcXHU1Q0I3XFx1NjBCNlxcdTYxMERcXHU2MUFCXFx1NjU0RlxcdTY1RkJcXHU2NUZDXFx1NkMxMVxcdTZDRUZcXHU3MzlGXFx1NzNDOVxcdTdERTFcXHU5NTk0XFx1NUJDNlxcdTg3MUNcXHU4QjEwXFx1NTI1RFxcdTUzNUFcXHU2MkNEXFx1NjQwRlxcdTY0QjJcXHU2NzM0XFx1NkEzOFxcdTZDQ0FcXHU3M0MwXFx1NzQ5RVxcdTdCOTRcXHU3Qzk1XFx1N0UxQlxcdTgxOEFcXHU4MjM2XFx1ODU4NFxcdThGRUJcXHU5NkY5XFx1OTlDMVxcdTRGMzRcXHU1MzRBXFx1NTNDRFxcdTUzREJcXHU2MkNDXFx1NjQyQ1xcdTY1MDBcXHU2NTkxXFx1NjlDM1xcdTZDRUVcXHU2RjU4XFx1NzNFRFxcdTc1NTRcXHU3NjIyXFx1NzZFNFxcdTc2RkNcXHU3OEQwXFx1NzhGQlxcdTc5MkNcXHU3RDQ2XFx1ODIyQ1xcdTg3RTBcXHU4RkQ0XFx1OTgxMlxcdTk4RUZcXHU1MkMzXFx1NjJENFxcdTY0QTVcXHU2RTI0XFx1NkY1MVwiXSxcbiAgICAgIFtcImRiYTFcIiwgXCJcXHU3NjdDXFx1OERDQlxcdTkxQjFcXHU5MjYyXFx1OUFFRVxcdTlCNDNcXHU1MDIzXFx1NTA4RFxcdTU3NEFcXHU1OUE4XFx1NUMyOFxcdTVFNDdcXHU1Rjc3XFx1NjIzRlxcdTY1M0VcXHU2NUI5XFx1NjVDMVxcdTY2MDlcXHU2NzhCXFx1Njk5Q1xcdTZFQzJcXHU3OEM1XFx1N0QyMVxcdTgwQUFcXHU4MTgwXFx1ODIyQlxcdTgyQjNcXHU4NEExXFx1ODY4Q1xcdThBMkFcXHU4QjE3XFx1OTBBNlxcdTk2MzJcXHU5RjkwXFx1NTAwRFxcdTRGRjNcXHVGOTYzXFx1NTdGOVxcdTVGOThcXHU2MkRDXFx1NjM5MlxcdTY3NkZcXHU2RTQzXFx1NzExOVxcdTc2QzNcXHU4MENDXFx1ODBEQVxcdTg4RjRcXHU4OEY1XFx1ODkxOVxcdThDRTBcXHU4RjI5XFx1OTE0RFxcdTk2NkFcXHU0RjJGXFx1NEY3MFxcdTVFMUJcXHU2N0NGXFx1NjgyMlxcdTc2N0RcXHU3NjdFXFx1OUI0NFxcdTVFNjFcXHU2QTBBXFx1NzE2OVxcdTcxRDRcXHU3NTZBXFx1Rjk2NFxcdTdFNDFcXHU4NTQzXFx1ODVFOVxcdTk4RENcXHU0RjEwXFx1N0I0RlxcdTdGNzBcXHU5NUE1XFx1NTFFMVxcdTVFMDZcXHU2OEI1XFx1NkMzRVxcdTZDNEVcXHU2Q0RCXFx1NzJBRlxcdTdCQzRcXHU4MzAzXFx1NkNENVxcdTc0M0FcXHU1MEZCXFx1NTI4OFxcdTU4QzFcXHU2NEQ4XFx1NkE5N1xcdTc0QTdcXHU3NjU2XCJdLFxuICAgICAgW1wiZGNhMVwiLCBcIlxcdTc4QTdcXHU4NjE3XFx1OTVFMlxcdTk3MzlcXHVGOTY1XFx1NTM1RVxcdTVGMDFcXHU4QjhBXFx1OEZBOFxcdThGQUZcXHU5MDhBXFx1NTIyNVxcdTc3QTVcXHU5QzQ5XFx1OUYwOFxcdTRFMTlcXHU1MDAyXFx1NTE3NVxcdTVDNUJcXHU1RTc3XFx1NjYxRVxcdTY2M0FcXHU2N0M0XFx1NjhDNVxcdTcwQjNcXHU3NTAxXFx1NzVDNVxcdTc5QzlcXHU3QUREXFx1OEYyN1xcdTk5MjBcXHU5QTA4XFx1NEZERFxcdTU4MjFcXHU1ODMxXFx1NUJGNlxcdTY2NkVcXHU2QjY1XFx1NkQxMVxcdTZFN0FcXHU2RjdEXFx1NzNFNFxcdTc1MkJcXHU4M0U5XFx1ODhEQ1xcdTg5MTNcXHU4QjVDXFx1OEYxNFxcdTRGMEZcXHU1MEQ1XFx1NTMxMFxcdTUzNUNcXHU1QjkzXFx1NUZBOVxcdTY3MERcXHU3OThGXFx1ODE3OVxcdTgzMkZcXHU4NTE0XFx1ODkwN1xcdTg5ODZcXHU4RjM5XFx1OEYzQlxcdTk5QTVcXHU5QzEyXFx1NjcyQ1xcdTRFNzZcXHU0RkY4XFx1NTk0OVxcdTVDMDFcXHU1Q0VGXFx1NUNGMFxcdTYzNjdcXHU2OEQyXFx1NzBGRFxcdTcxQTJcXHU3NDJCXFx1N0UyQlxcdTg0RUNcXHU4NzAyXFx1OTAyMlxcdTkyRDJcXHU5Q0YzXFx1NEUwRFxcdTRFRDhcXHU0RkVGXFx1NTA4NVxcdTUyNTZcXHU1MjZGXFx1NTQyNlxcdTU0OTBcXHU1N0UwXFx1NTkyQlxcdTVBNjZcIl0sXG4gICAgICBbXCJkZGExXCIsIFwiXFx1NUI1QVxcdTVCNzVcXHU1QkNDXFx1NUU5Q1xcdUY5NjZcXHU2Mjc2XFx1NjU3N1xcdTY1QTdcXHU2RDZFXFx1NkVBNVxcdTcyMzZcXHU3QjI2XFx1N0MzRlxcdTdGMzZcXHU4MTUwXFx1ODE1MVxcdTgxOUFcXHU4MjQwXFx1ODI5OVxcdTgzQTlcXHU4QTAzXFx1OENBMFxcdThDRTZcXHU4Q0ZCXFx1OEQ3NFxcdThEQkFcXHU5MEU4XFx1OTFEQ1xcdTk2MUNcXHU5NjQ0XFx1OTlEOVxcdTlDRTdcXHU1MzE3XFx1NTIwNlxcdTU0MjlcXHU1Njc0XFx1NThCM1xcdTU5NTRcXHU1OTZFXFx1NUZGRlxcdTYxQTRcXHU2MjZFXFx1NjYxMFxcdTZDN0VcXHU3MTFBXFx1NzZDNlxcdTdDODlcXHU3Q0RFXFx1N0QxQlxcdTgyQUNcXHU4Q0MxXFx1OTZGMFxcdUY5NjdcXHU0RjVCXFx1NUYxN1xcdTVGN0ZcXHU2MkMyXFx1NUQyOVxcdTY3MEJcXHU2OERBXFx1Nzg3Q1xcdTdFNDNcXHU5RDZDXFx1NEUxNVxcdTUwOTlcXHU1MzE1XFx1NTMyQVxcdTUzNTFcXHU1OTgzXFx1NUE2MlxcdTVFODdcXHU2MEIyXFx1NjE4QVxcdTYyNDlcXHU2Mjc5XFx1NjU5MFxcdTY3ODdcXHU2OUE3XFx1NkJENFxcdTZCRDZcXHU2QkQ3XFx1NkJEOFxcdTZDQjhcXHVGOTY4XFx1NzQzNVxcdTc1RkFcXHU3ODEyXFx1Nzg5MVxcdTc5RDVcXHU3OUQ4XFx1N0M4M1xcdTdEQ0JcXHU3RkUxXFx1ODBBNVwiXSxcbiAgICAgIFtcImRlYTFcIiwgXCJcXHU4MTNFXFx1ODFDMlxcdTgzRjJcXHU4NzFBXFx1ODhFOFxcdThBQjlcXHU4QjZDXFx1OENCQlxcdTkxMTlcXHU5NzVFXFx1OThEQlxcdTlGM0JcXHU1NkFDXFx1NUIyQVxcdTVGNkNcXHU2NThDXFx1NkFCM1xcdTZCQUZcXHU2RDVDXFx1NkZGMVxcdTcwMTVcXHU3MjVEXFx1NzNBRFxcdThDQTdcXHU4Q0QzXFx1OTgzQlxcdTYxOTFcXHU2QzM3XFx1ODA1OFxcdTlBMDFcXHU0RTREXFx1NEU4QlxcdTRFOUJcXHU0RUQ1XFx1NEYzQVxcdTRGM0NcXHU0RjdGXFx1NEZERlxcdTUwRkZcXHU1M0YyXFx1NTNGOFxcdTU1MDZcXHU1NUUzXFx1NTZEQlxcdTU4RUJcXHU1OTYyXFx1NUExMVxcdTVCRUJcXHU1QkZBXFx1NUMwNFxcdTVERjNcXHU1RTJCXFx1NUY5OVxcdTYwMURcXHU2MzY4XFx1NjU5Q1xcdTY1QUZcXHU2N0Y2XFx1NjdGQlxcdTY4QURcXHU2QjdCXFx1NkM5OVxcdTZDRDdcXHU2RTIzXFx1NzAwOVxcdTczNDVcXHU3ODAyXFx1NzkzRVxcdTc5NDBcXHU3OTYwXFx1NzlDMVxcdTdCRTlcXHU3RDE3XFx1N0Q3MlxcdTgwODZcXHU4MjBEXFx1ODM4RVxcdTg0RDFcXHU4NkM3XFx1ODhERlxcdThBNTBcXHU4QTVFXFx1OEIxRFxcdThDRENcXHU4RDY2XFx1OEZBRFxcdTkwQUFcXHU5OEZDXFx1OTlERlxcdTlFOURcXHU1MjRBXFx1Rjk2OVxcdTY3MTRcXHVGOTZBXCJdLFxuICAgICAgW1wiZGZhMVwiLCBcIlxcdTUwOThcXHU1MjJBXFx1NUM3MVxcdTY1NjNcXHU2QzU1XFx1NzNDQVxcdTc1MjNcXHU3NTlEXFx1N0I5N1xcdTg0OUNcXHU5MTc4XFx1OTczMFxcdTRFNzdcXHU2NDkyXFx1NkJCQVxcdTcxNUVcXHU4NUE5XFx1NEUwOVxcdUY5NkJcXHU2NzQ5XFx1NjhFRVxcdTZFMTdcXHU4MjlGXFx1ODUxOFxcdTg4NkJcXHU2M0Y3XFx1NkY4MVxcdTkyMTJcXHU5OEFGXFx1NEUwQVxcdTUwQjdcXHU1MENGXFx1NTExRlxcdTU1NDZcXHU1NUFBXFx1NTYxN1xcdTVCNDBcXHU1QzE5XFx1NUNFMFxcdTVFMzhcXHU1RThBXFx1NUVBMFxcdTVFQzJcXHU2MEYzXFx1Njg1MVxcdTZBNjFcXHU2RTU4XFx1NzIzRFxcdTcyNDBcXHU3MkMwXFx1NzZGOFxcdTc5NjVcXHU3QkIxXFx1N0ZENFxcdTg4RjNcXHU4OUY0XFx1OEE3M1xcdThDNjFcXHU4Q0RFXFx1OTcxQ1xcdTU4NUVcXHU3NEJEXFx1OENGRFxcdTU1QzdcXHVGOTZDXFx1N0E2MVxcdTdEMjJcXHU4MjcyXFx1NzI3MlxcdTc1MUZcXHU3NTI1XFx1Rjk2RFxcdTdCMTlcXHU1ODg1XFx1NThGQlxcdTVEQkNcXHU1RThGXFx1NUVCNlxcdTVGOTBcXHU2MDU1XFx1NjI5MlxcdTYzN0ZcXHU2NTREXFx1NjY5MVxcdTY2RDlcXHU2NkY4XFx1NjgxNlxcdTY4RjJcXHU3MjgwXFx1NzQ1RVxcdTdCNkVcXHU3RDZFXFx1N0RENlxcdTdGNzJcIl0sXG4gICAgICBbXCJlMGExXCIsIFwiXFx1ODBFNVxcdTgyMTJcXHU4NUFGXFx1ODk3RlxcdThBOTNcXHU5MDFEXFx1OTJFNFxcdTlFQ0RcXHU5RjIwXFx1NTkxNVxcdTU5NkRcXHU1RTJEXFx1NjBEQ1xcdTY2MTRcXHU2NjczXFx1Njc5MFxcdTZDNTBcXHU2REM1XFx1NkY1RlxcdTc3RjNcXHU3OEE5XFx1ODRDNlxcdTkxQ0JcXHU5MzJCXFx1NEVEOVxcdTUwQ0FcXHU1MTQ4XFx1NTU4NFxcdTVCMEJcXHU1QkEzXFx1NjI0N1xcdTY1N0VcXHU2NUNCXFx1NkUzMlxcdTcxN0RcXHU3NDAxXFx1NzQ0NFxcdTc0ODdcXHU3NEJGXFx1NzY2Q1xcdTc5QUFcXHU3RERBXFx1N0U1NVxcdTdGQThcXHU4MTdBXFx1ODFCM1xcdTgyMzlcXHU4NjFBXFx1ODdFQ1xcdThBNzVcXHU4REUzXFx1OTA3OFxcdTkyOTFcXHU5NDI1XFx1OTk0RFxcdTlCQUVcXHU1MzY4XFx1NUM1MVxcdTY5NTRcXHU2Q0M0XFx1NkQyOVxcdTZFMkJcXHU4MjBDXFx1ODU5QlxcdTg5M0JcXHU4QTJEXFx1OEFBQVxcdTk2RUFcXHU5RjY3XFx1NTI2MVxcdTY2QjlcXHU2QkIyXFx1N0U5NlxcdTg3RkVcXHU4RDBEXFx1OTU4M1xcdTk2NURcXHU2NTFEXFx1NkQ4OVxcdTcxRUVcXHVGOTZFXFx1NTdDRVxcdTU5RDNcXHU1QkFDXFx1NjAyN1xcdTYwRkFcXHU2MjEwXFx1NjYxRlxcdTY2NUZcXHU3MzI5XFx1NzNGOVxcdTc2REJcXHU3NzAxXFx1N0I2Q1wiXSxcbiAgICAgIFtcImUxYTFcIiwgXCJcXHU4MDU2XFx1ODA3MlxcdTgxNjVcXHU4QUEwXFx1OTE5MlxcdTRFMTZcXHU1MkUyXFx1NkI3MlxcdTZEMTdcXHU3QTA1XFx1N0IzOVxcdTdEMzBcXHVGOTZGXFx1OENCMFxcdTUzRUNcXHU1NjJGXFx1NTg1MVxcdTVCQjVcXHU1QzBGXFx1NUMxMVxcdTVERTJcXHU2MjQwXFx1NjM4M1xcdTY0MTRcXHU2NjJEXFx1NjhCM1xcdTZDQkNcXHU2RDg4XFx1NkVBRlxcdTcwMUZcXHU3MEE0XFx1NzFEMlxcdTc1MjZcXHU3NThGXFx1NzU4RVxcdTc2MTlcXHU3QjExXFx1N0JFMFxcdTdDMkJcXHU3RDIwXFx1N0QzOVxcdTg1MkNcXHU4NTZEXFx1ODYwN1xcdThBMzRcXHU5MDBEXFx1OTA2MVxcdTkwQjVcXHU5MkI3XFx1OTdGNlxcdTlBMzdcXHU0RkQ3XFx1NUM2Q1xcdTY3NUZcXHU2RDkxXFx1N0M5RlxcdTdFOENcXHU4QjE2XFx1OEQxNlxcdTkwMUZcXHU1QjZCXFx1NURGRFxcdTY0MERcXHU4NEMwXFx1OTA1Q1xcdTk4RTFcXHU3Mzg3XFx1NUI4QlxcdTYwOUFcXHU2NzdFXFx1NkRERVxcdThBMUZcXHU4QUE2XFx1OTAwMVxcdTk4MENcXHU1MjM3XFx1Rjk3MFxcdTcwNTFcXHU3ODhFXFx1OTM5NlxcdTg4NzBcXHU5MUQ3XFx1NEZFRVxcdTUzRDdcXHU1NUZEXFx1NTZEQVxcdTU3ODJcXHU1OEZEXFx1NUFDMlxcdTVCODhcXHU1Q0FCXFx1NUNDMFxcdTVFMjVcXHU2MTAxXCJdLFxuICAgICAgW1wiZTJhMVwiLCBcIlxcdTYyMERcXHU2MjRCXFx1NjM4OFxcdTY0MUNcXHU2NTM2XFx1NjU3OFxcdTZBMzlcXHU2QjhBXFx1NkMzNFxcdTZEMTlcXHU2RjMxXFx1NzFFN1xcdTcyRTlcXHU3Mzc4XFx1NzQwN1xcdTc0QjJcXHU3NjI2XFx1Nzc2MVxcdTc5QzBcXHU3QTU3XFx1N0FFQVxcdTdDQjlcXHU3RDhGXFx1N0RBQ1xcdTdFNjFcXHU3RjlFXFx1ODEyOVxcdTgzMzFcXHU4NDkwXFx1ODREQVxcdTg1RUFcXHU4ODk2XFx1OEFCMFxcdThCOTBcXHU4RjM4XFx1OTA0MlxcdTkwODNcXHU5MTZDXFx1OTI5NlxcdTkyQjlcXHU5NjhCXFx1OTZBN1xcdTk2QThcXHU5NkQ2XFx1OTcwMFxcdTk4MDhcXHU5OTk2XFx1OUFEM1xcdTlCMUFcXHU1M0Q0XFx1NTg3RVxcdTU5MTlcXHU1QjcwXFx1NUJCRlxcdTZERDFcXHU2RjVBXFx1NzE5RlxcdTc0MjFcXHU3NEI5XFx1ODA4NVxcdTgzRkRcXHU1REUxXFx1NUY4N1xcdTVGQUFcXHU2MDQyXFx1NjVFQ1xcdTY4MTJcXHU2OTZGXFx1NkE1M1xcdTZCODlcXHU2RDM1XFx1NkRGM1xcdTczRTNcXHU3NkZFXFx1NzdBQ1xcdTdCNERcXHU3RDE0XFx1ODEyM1xcdTgyMUNcXHU4MzQwXFx1ODRGNFxcdTg1NjNcXHU4QTYyXFx1OEFDNFxcdTkxODdcXHU5MzFFXFx1OTgwNlxcdTk5QjRcXHU2MjBDXFx1ODg1M1xcdThGRjBcXHU5MjY1XFx1NUQwN1xcdTVEMjdcIl0sXG4gICAgICBbXCJlM2ExXCIsIFwiXFx1NUQ2OVxcdTc0NUZcXHU4MTlEXFx1ODc2OFxcdTZGRDVcXHU2MkZFXFx1N0ZEMlxcdTg5MzZcXHU4OTcyXFx1NEUxRVxcdTRFNThcXHU1MEU3XFx1NTJERFxcdTUzNDdcXHU2MjdGXFx1NjYwN1xcdTdFNjlcXHU4ODA1XFx1OTY1RVxcdTRGOERcXHU1MzE5XFx1NTYzNlxcdTU5Q0JcXHU1QUE0XFx1NUMzOFxcdTVDNEVcXHU1QzREXFx1NUUwMlxcdTVGMTFcXHU2MDQzXFx1NjVCRFxcdTY2MkZcXHU2NjQyXFx1NjdCRVxcdTY3RjRcXHU3MzFDXFx1NzdFMlxcdTc5M0FcXHU3RkM1XFx1ODQ5NFxcdTg0Q0RcXHU4OTk2XFx1OEE2NlxcdThBNjlcXHU4QUUxXFx1OEM1NVxcdThDN0FcXHU1N0Y0XFx1NUJENFxcdTVGMEZcXHU2MDZGXFx1NjJFRFxcdTY5MERcXHU2Qjk2XFx1NkU1Q1xcdTcxODRcXHU3QkQyXFx1ODc1NVxcdThCNThcXHU4RUZFXFx1OThERlxcdTk4RkVcXHU0RjM4XFx1NEY4MVxcdTRGRTFcXHU1NDdCXFx1NUEyMFxcdTVCQjhcXHU2MTNDXFx1NjVCMFxcdTY2NjhcXHU3MUZDXFx1NzUzM1xcdTc5NUVcXHU3RDMzXFx1ODE0RVxcdTgxRTNcXHU4Mzk4XFx1ODVBQVxcdTg1Q0VcXHU4NzAzXFx1OEEwQVxcdThFQUJcXHU4RjlCXFx1Rjk3MVxcdThGQzVcXHU1OTMxXFx1NUJBNFxcdTVCRTZcXHU2MDg5XFx1NUJFOVxcdTVDMEJcXHU1RkMzXFx1NkM4MVwiXSxcbiAgICAgIFtcImU0YTFcIiwgXCJcXHVGOTcyXFx1NkRGMVxcdTcwMEJcXHU3NTFBXFx1ODJBRlxcdThBRjZcXHU0RUMwXFx1NTM0MVxcdUY5NzNcXHU5NkQ5XFx1NkMwRlxcdTRFOUVcXHU0RkM0XFx1NTE1MlxcdTU1NUVcXHU1QTI1XFx1NUNFOFxcdTYyMTFcXHU3MjU5XFx1ODJCRFxcdTgzQUFcXHU4NkZFXFx1ODg1OVxcdThBMURcXHU5NjNGXFx1OTZDNVxcdTk5MTNcXHU5RDA5XFx1OUQ1RFxcdTU4MEFcXHU1Q0IzXFx1NURCRFxcdTVFNDRcXHU2MEUxXFx1NjExNVxcdTYzRTFcXHU2QTAyXFx1NkUyNVxcdTkxMDJcXHU5MzU0XFx1OTg0RVxcdTlDMTBcXHU5Rjc3XFx1NUI4OVxcdTVDQjhcXHU2MzA5XFx1NjY0RlxcdTY4NDhcXHU3NzNDXFx1OTZDMVxcdTk3OERcXHU5ODU0XFx1OUI5RlxcdTY1QTFcXHU4QjAxXFx1OEVDQlxcdTk1QkNcXHU1NTM1XFx1NUNBOVxcdTVERDZcXHU1RUI1XFx1NjY5N1xcdTc2NENcXHU4M0Y0XFx1OTVDN1xcdTU4RDNcXHU2MkJDXFx1NzJDRVxcdTlEMjhcXHU0RUYwXFx1NTkyRVxcdTYwMEZcXHU2NjNCXFx1NkI4M1xcdTc5RTdcXHU5RDI2XFx1NTM5M1xcdTU0QzBcXHU1N0MzXFx1NUQxNlxcdTYxMUJcXHU2NkQ2XFx1NkRBRlxcdTc4OERcXHU4MjdFXFx1OTY5OFxcdTk3NDRcXHU1Mzg0XFx1NjI3Q1xcdTYzOTZcXHU2REIyXFx1N0UwQVxcdTgxNEJcXHU5ODREXCJdLFxuICAgICAgW1wiZTVhMVwiLCBcIlxcdTZBRkJcXHU3RjRDXFx1OURBRlxcdTlFMUFcXHU0RTVGXFx1NTAzQlxcdTUxQjZcXHU1OTFDXFx1NjBGOVxcdTYzRjZcXHU2OTMwXFx1NzIzQVxcdTgwMzZcXHVGOTc0XFx1OTFDRVxcdTVGMzFcXHVGOTc1XFx1Rjk3NlxcdTdEMDRcXHU4MkU1XFx1ODQ2RlxcdTg0QkJcXHU4NUU1XFx1OEU4RFxcdUY5NzdcXHU0RjZGXFx1Rjk3OFxcdUY5NzlcXHU1OEU0XFx1NUI0M1xcdTYwNTlcXHU2M0RBXFx1NjUxOFxcdTY1NkRcXHU2Njk4XFx1Rjk3QVxcdTY5NEFcXHU2QTIzXFx1NkQwQlxcdTcwMDFcXHU3MTZDXFx1NzVEMlxcdTc2MERcXHU3OUIzXFx1N0E3MFxcdUY5N0JcXHU3RjhBXFx1Rjk3Q1xcdTg5NDRcXHVGOTdEXFx1OEI5M1xcdTkxQzBcXHU5NjdEXFx1Rjk3RVxcdTk5MEFcXHU1NzA0XFx1NUZBMVxcdTY1QkNcXHU2RjAxXFx1NzYwMFxcdTc5QTZcXHU4QTlFXFx1OTlBRFxcdTlCNUFcXHU5RjZDXFx1NTEwNFxcdTYxQjZcXHU2MjkxXFx1NkE4RFxcdTgxQzZcXHU1MDQzXFx1NTgzMFxcdTVGNjZcXHU3MTA5XFx1OEEwMFxcdThBRkFcXHU1QjdDXFx1ODYxNlxcdTRGRkFcXHU1MTNDXFx1NTZCNFxcdTU5NDRcXHU2M0E5XFx1NkRGOVxcdTVEQUFcXHU2OTZEXFx1NTE4NlxcdTRFODhcXHU0RjU5XFx1Rjk3RlxcdUY5ODBcXHVGOTgxXFx1NTk4MlxcdUY5ODJcIl0sXG4gICAgICBbXCJlNmExXCIsIFwiXFx1Rjk4M1xcdTZCNUZcXHU2QzVEXFx1Rjk4NFxcdTc0QjVcXHU3OTE2XFx1Rjk4NVxcdTgyMDdcXHU4MjQ1XFx1ODMzOVxcdThGM0ZcXHU4RjVEXFx1Rjk4NlxcdTk5MThcXHVGOTg3XFx1Rjk4OFxcdUY5ODlcXHU0RUE2XFx1Rjk4QVxcdTU3REZcXHU1Rjc5XFx1NjYxM1xcdUY5OEJcXHVGOThDXFx1NzVBQlxcdTdFNzlcXHU4QjZGXFx1Rjk4RFxcdTkwMDZcXHU5QTVCXFx1NTZBNVxcdTU4MjdcXHU1OUY4XFx1NUExRlxcdTVCQjRcXHVGOThFXFx1NUVGNlxcdUY5OEZcXHVGOTkwXFx1NjM1MFxcdTYzM0JcXHVGOTkxXFx1NjkzRFxcdTZDODdcXHU2Q0JGXFx1NkQ4RVxcdTZEOTNcXHU2REY1XFx1NkYxNFxcdUY5OTJcXHU3MERGXFx1NzEzNlxcdTcxNTlcXHVGOTkzXFx1NzFDM1xcdTcxRDVcXHVGOTk0XFx1Nzg0RlxcdTc4NkZcXHVGOTk1XFx1N0I3NVxcdTdERTNcXHVGOTk2XFx1N0UyRlxcdUY5OTdcXHU4ODREXFx1OEVERlxcdUY5OThcXHVGOTk5XFx1Rjk5QVxcdTkyNUJcXHVGOTlCXFx1OUNGNlxcdUY5OUNcXHVGOTlEXFx1Rjk5RVxcdTYwODVcXHU2RDg1XFx1Rjk5RlxcdTcxQjFcXHVGOUEwXFx1RjlBMVxcdTk1QjFcXHU1M0FEXFx1RjlBMlxcdUY5QTNcXHVGOUE0XFx1NjdEM1xcdUY5QTVcXHU3MDhFXFx1NzEzMFxcdTc0MzBcXHU4Mjc2XFx1ODJEMlwiXSxcbiAgICAgIFtcImU3YTFcIiwgXCJcXHVGOUE2XFx1OTVCQlxcdTlBRTVcXHU5RTdEXFx1NjZDNFxcdUY5QTdcXHU3MUMxXFx1ODQ0OVxcdUY5QThcXHVGOUE5XFx1NTg0QlxcdUY5QUFcXHVGOUFCXFx1NURCOFxcdTVGNzFcXHVGOUFDXFx1NjYyMFxcdTY2OEVcXHU2OTc5XFx1NjlBRVxcdTZDMzhcXHU2Q0YzXFx1NkUzNlxcdTZGNDFcXHU2RkRBXFx1NzAxQlxcdTcwMkZcXHU3MTUwXFx1NzFERlxcdTczNzBcXHVGOUFEXFx1NzQ1QlxcdUY5QUVcXHU3NEQ0XFx1NzZDOFxcdTdBNEVcXHU3RTkzXFx1RjlBRlxcdUY5QjBcXHU4MkYxXFx1OEE2MFxcdThGQ0VcXHVGOUIxXFx1OTM0OFxcdUY5QjJcXHU5NzE5XFx1RjlCM1xcdUY5QjRcXHU0RTQyXFx1NTAyQVxcdUY5QjVcXHU1MjA4XFx1NTNFMVxcdTY2RjNcXHU2QzZEXFx1NkZDQVxcdTczMEFcXHU3NzdGXFx1N0E2MlxcdTgyQUVcXHU4NUREXFx1ODYwMlxcdUY5QjZcXHU4OEQ0XFx1OEE2M1xcdThCN0RcXHU4QzZCXFx1RjlCN1xcdTkyQjNcXHVGOUI4XFx1OTcxM1xcdTk4MTBcXHU0RTk0XFx1NEYwRFxcdTRGQzlcXHU1MEIyXFx1NTM0OFxcdTU0M0VcXHU1NDMzXFx1NTVEQVxcdTU4NjJcXHU1OEJBXFx1NTk2N1xcdTVBMUJcXHU1QkU0XFx1NjA5RlxcdUY5QjlcXHU2MUNBXFx1NjU1NlxcdTY1RkZcXHU2NjY0XFx1NjhBN1xcdTZDNUFcXHU2RkIzXCJdLFxuICAgICAgW1wiZThhMVwiLCBcIlxcdTcwQ0ZcXHU3MUFDXFx1NzM1MlxcdTdCN0RcXHU4NzA4XFx1OEFBNFxcdTlDMzJcXHU5RjA3XFx1NUM0QlxcdTZDODNcXHU3MzQ0XFx1NzM4OVxcdTkyM0FcXHU2RUFCXFx1NzQ2NVxcdTc2MUZcXHU3QTY5XFx1N0UxNVxcdTg2MEFcXHU1MTQwXFx1NThDNVxcdTY0QzFcXHU3NEVFXFx1NzUxNVxcdTc2NzBcXHU3RkMxXFx1OTA5NVxcdTk2Q0RcXHU5OTU0XFx1NkUyNlxcdTc0RTZcXHU3QUE5XFx1N0FBQVxcdTgxRTVcXHU4NkQ5XFx1ODc3OFxcdThBMUJcXHU1QTQ5XFx1NUI4Q1xcdTVCOUJcXHU2OEExXFx1NjkwMFxcdTZENjNcXHU3M0E5XFx1NzQxM1xcdTc0MkNcXHU3ODk3XFx1N0RFOVxcdTdGRUJcXHU4MTE4XFx1ODE1NVxcdTgzOUVcXHU4QzRDXFx1OTYyRVxcdTk4MTFcXHU2NkYwXFx1NUY4MFxcdTY1RkFcXHU2Nzg5XFx1NkM2QVxcdTczOEJcXHU1MDJEXFx1NUEwM1xcdTZCNkFcXHU3N0VFXFx1NTkxNlxcdTVENkNcXHU1RENEXFx1NzMyNVxcdTc1NEZcXHVGOUJBXFx1RjlCQlxcdTUwRTVcXHU1MUY5XFx1NTgyRlxcdTU5MkRcXHU1OTk2XFx1NTlEQVxcdTVCRTVcXHVGOUJDXFx1RjlCRFxcdTVEQTJcXHU2MkQ3XFx1NjQxNlxcdTY0OTNcXHU2NEZFXFx1RjlCRVxcdTY2RENcXHVGOUJGXFx1NkE0OFxcdUY5QzBcXHU3MUZGXFx1NzQ2NFxcdUY5QzFcIl0sXG4gICAgICBbXCJlOWExXCIsIFwiXFx1N0E4OFxcdTdBQUZcXHU3RTQ3XFx1N0U1RVxcdTgwMDBcXHU4MTcwXFx1RjlDMlxcdTg3RUZcXHU4OTgxXFx1OEIyMFxcdTkwNTlcXHVGOUMzXFx1OTA4MFxcdTk5NTJcXHU2MTdFXFx1NkIzMlxcdTZENzRcXHU3RTFGXFx1ODkyNVxcdThGQjFcXHU0RkQxXFx1NTBBRFxcdTUxOTdcXHU1MkM3XFx1NTdDN1xcdTU4ODlcXHU1QkI5XFx1NUVCOFxcdTYxNDJcXHU2OTk1XFx1NkQ4Q1xcdTZFNjdcXHU2RUI2XFx1NzE5NFxcdTc0NjJcXHU3NTI4XFx1NzUyQ1xcdTgwNzNcXHU4MzM4XFx1ODRDOVxcdThFMEFcXHU5Mzk0XFx1OTNERVxcdUY5QzRcXHU0RThFXFx1NEY1MVxcdTUwNzZcXHU1MTJBXFx1NTNDOFxcdTUzQ0JcXHU1M0YzXFx1NUI4N1xcdTVCRDNcXHU1QzI0XFx1NjExQVxcdTYxODJcXHU2NUY0XFx1NzI1QlxcdTczOTdcXHU3NDQwXFx1NzZDMlxcdTc5NTBcXHU3OTkxXFx1NzlCOVxcdTdEMDZcXHU3RkJEXFx1ODI4QlxcdTg1RDVcXHU4NjVFXFx1OEZDMlxcdTkwNDdcXHU5MEY1XFx1OTFFQVxcdTk2ODVcXHU5NkU4XFx1OTZFOVxcdTUyRDZcXHU1RjY3XFx1NjVFRFxcdTY2MzFcXHU2ODJGXFx1NzE1Q1xcdTdBMzZcXHU5MEMxXFx1OTgwQVxcdTRFOTFcXHVGOUM1XFx1NkE1MlxcdTZCOUVcXHU2RjkwXFx1NzE4OVxcdTgwMThcXHU4MkI4XFx1ODU1M1wiXSxcbiAgICAgIFtcImVhYTFcIiwgXCJcXHU5MDRCXFx1OTY5NVxcdTk2RjJcXHU5N0ZCXFx1ODUxQVxcdTlCMzFcXHU0RTkwXFx1NzE4QVxcdTk2QzRcXHU1MTQzXFx1NTM5RlxcdTU0RTFcXHU1NzEzXFx1NTcxMlxcdTU3QTNcXHU1QTlCXFx1NUFDNFxcdTVCQzNcXHU2MDI4XFx1NjEzRlxcdTYzRjRcXHU2Qzg1XFx1NkQzOVxcdTZFNzJcXHU2RTkwXFx1NzIzMFxcdTczM0ZcXHU3NDU3XFx1ODJEMVxcdTg4ODFcXHU4RjQ1XFx1OTA2MFxcdUY5QzZcXHU5NjYyXFx1OTg1OFxcdTlEMUJcXHU2NzA4XFx1OEQ4QVxcdTkyNUVcXHU0RjREXFx1NTA0OVxcdTUwREVcXHU1MzcxXFx1NTcwRFxcdTU5RDRcXHU1QTAxXFx1NUMwOVxcdTYxNzBcXHU2NjkwXFx1NkUyRFxcdTcyMzJcXHU3NDRCXFx1N0RFRlxcdTgwQzNcXHU4NDBFXFx1ODQ2NlxcdTg1M0ZcXHU4NzVGXFx1ODg1QlxcdTg5MThcXHU4QjAyXFx1OTA1NVxcdTk3Q0JcXHU5QjRGXFx1NEU3M1xcdTRGOTFcXHU1MTEyXFx1NTE2QVxcdUY5QzdcXHU1NTJGXFx1NTVBOVxcdTVCN0FcXHU1QkE1XFx1NUU3Q1xcdTVFN0RcXHU1RUJFXFx1NjBBMFxcdTYwREZcXHU2MTA4XFx1NjEwOVxcdTYzQzRcXHU2NTM4XFx1NjcwOVxcdUY5QzhcXHU2N0Q0XFx1NjdEQVxcdUY5QzlcXHU2OTYxXFx1Njk2MlxcdTZDQjlcXHU2RDI3XFx1RjlDQVxcdTZFMzhcXHVGOUNCXCJdLFxuICAgICAgW1wiZWJhMVwiLCBcIlxcdTZGRTFcXHU3MzM2XFx1NzMzN1xcdUY5Q0NcXHU3NDVDXFx1NzUzMVxcdUY5Q0RcXHU3NjUyXFx1RjlDRVxcdUY5Q0ZcXHU3REFEXFx1ODFGRVxcdTg0MzhcXHU4OEQ1XFx1OEE5OFxcdThBREJcXHU4QUVEXFx1OEUzMFxcdThFNDJcXHU5MDRBXFx1OTAzRVxcdTkwN0FcXHU5MTQ5XFx1OTFDOVxcdTkzNkVcXHVGOUQwXFx1RjlEMVxcdTU4MDlcXHVGOUQyXFx1NkJEM1xcdTgwODlcXHU4MEIyXFx1RjlEM1xcdUY5RDRcXHU1MTQxXFx1NTk2QlxcdTVDMzlcXHVGOUQ1XFx1RjlENlxcdTZGNjRcXHU3M0E3XFx1ODBFNFxcdThEMDdcXHVGOUQ3XFx1OTIxN1xcdTk1OEZcXHVGOUQ4XFx1RjlEOVxcdUY5REFcXHVGOURCXFx1ODA3RlxcdTYyMEVcXHU3MDFDXFx1N0Q2OFxcdTg3OERcXHVGOURDXFx1NTdBMFxcdTYwNjlcXHU2MTQ3XFx1NkJCN1xcdThBQkVcXHU5MjgwXFx1OTZCMVxcdTRFNTlcXHU1NDFGXFx1NkRFQlxcdTg1MkRcXHU5NjcwXFx1OTdGM1xcdTk4RUVcXHU2M0Q2XFx1NkNFM1xcdTkwOTFcXHU1MUREXFx1NjFDOVxcdTgxQkFcXHU5REY5XFx1NEY5RFxcdTUwMUFcXHU1MTAwXFx1NUI5Q1xcdTYxMEZcXHU2MUZGXFx1NjRFQ1xcdTY5MDVcXHU2QkM1XFx1NzU5MVxcdTc3RTNcXHU3RkE5XFx1ODI2NFxcdTg1OEZcXHU4N0ZCXFx1ODg2M1xcdThBQkNcIl0sXG4gICAgICBbXCJlY2ExXCIsIFwiXFx1OEI3MFxcdTkxQUJcXHU0RThDXFx1NEVFNVxcdTRGMEFcXHVGOUREXFx1RjlERVxcdTU5MzdcXHU1OUU4XFx1RjlERlxcdTVERjJcXHU1RjFCXFx1NUY1QlxcdTYwMjFcXHVGOUUwXFx1RjlFMVxcdUY5RTJcXHVGOUUzXFx1NzIzRVxcdTczRTVcXHVGOUU0XFx1NzU3MFxcdTc1Q0RcXHVGOUU1XFx1NzlGQlxcdUY5RTZcXHU4MDBDXFx1ODAzM1xcdTgwODRcXHU4MkUxXFx1ODM1MVxcdUY5RTdcXHVGOUU4XFx1OENCRFxcdThDQjNcXHU5MDg3XFx1RjlFOVxcdUY5RUFcXHU5OEY0XFx1OTkwQ1xcdUY5RUJcXHVGOUVDXFx1NzAzN1xcdTc2Q0FcXHU3RkNBXFx1N0ZDQ1xcdTdGRkNcXHU4QjFBXFx1NEVCQVxcdTRFQzFcXHU1MjAzXFx1NTM3MFxcdUY5RURcXHU1NEJEXFx1NTZFMFxcdTU5RkJcXHU1QkM1XFx1NUYxNVxcdTVGQ0RcXHU2RTZFXFx1RjlFRVxcdUY5RUZcXHU3RDZBXFx1ODMzNVxcdUY5RjBcXHU4NjkzXFx1OEE4RFxcdUY5RjFcXHU5NzZEXFx1OTc3N1xcdUY5RjJcXHVGOUYzXFx1NEUwMFxcdTRGNUFcXHU0RjdFXFx1NThGOVxcdTY1RTVcXHU2RUEyXFx1OTAzOFxcdTkzQjBcXHU5OUI5XFx1NEVGQlxcdTU4RUNcXHU1OThBXFx1NTlEOVxcdTYwNDFcXHVGOUY0XFx1RjlGNVxcdTdBMTRcXHVGOUY2XFx1ODM0RlxcdThDQzNcXHU1MTY1XFx1NTM0NFwiXSxcbiAgICAgIFtcImVkYTFcIiwgXCJcXHVGOUY3XFx1RjlGOFxcdUY5RjlcXHU0RUNEXFx1NTI2OVxcdTVCNTVcXHU4MkJGXFx1NEVENFxcdTUyM0FcXHU1NEE4XFx1NTlDOVxcdTU5RkZcXHU1QjUwXFx1NUI1N1xcdTVCNUNcXHU2MDYzXFx1NjE0OFxcdTZFQ0JcXHU3MDk5XFx1NzE2RVxcdTczODZcXHU3NEY3XFx1NzVCNVxcdTc4QzFcXHU3RDJCXFx1ODAwNVxcdTgxRUFcXHU4MzI4XFx1ODUxN1xcdTg1QzlcXHU4QUVFXFx1OENDN1xcdTk2Q0NcXHU0RjVDXFx1NTJGQVxcdTU2QkNcXHU2NUFCXFx1NjYyOFxcdTcwN0NcXHU3MEI4XFx1NzIzNVxcdTdEQkRcXHU4MjhEXFx1OTE0Q1xcdTk2QzBcXHU5RDcyXFx1NUI3MVxcdTY4RTdcXHU2Qjk4XFx1NkY3QVxcdTc2REVcXHU1QzkxXFx1NjZBQlxcdTZGNUJcXHU3QkI0XFx1N0MyQVxcdTg4MzZcXHU5NkRDXFx1NEUwOFxcdTRFRDdcXHU1MzIwXFx1NTgzNFxcdTU4QkJcXHU1OEVGXFx1NTk2Q1xcdTVDMDdcXHU1RTMzXFx1NUU4NFxcdTVGMzVcXHU2MzhDXFx1NjZCMlxcdTY3NTZcXHU2QTFGXFx1NkFBM1xcdTZCMENcXHU2RjNGXFx1NzI0NlxcdUY5RkFcXHU3MzUwXFx1NzQ4QlxcdTdBRTBcXHU3Q0E3XFx1ODE3OFxcdTgxREZcXHU4MUU3XFx1ODM4QVxcdTg0NkNcXHU4NTIzXFx1ODU5NFxcdTg1Q0ZcXHU4OEREXFx1OEQxM1xcdTkxQUNcXHU5NTc3XCJdLFxuICAgICAgW1wiZWVhMVwiLCBcIlxcdTk2OUNcXHU1MThEXFx1NTRDOVxcdTU3MjhcXHU1QkIwXFx1NjI0RFxcdTY3NTBcXHU2ODNEXFx1Njg5M1xcdTZFM0RcXHU2RUQzXFx1NzA3RFxcdTdFMjFcXHU4OEMxXFx1OENBMVxcdThGMDlcXHU5RjRCXFx1OUY0RVxcdTcyMkRcXHU3QjhGXFx1OEFDRFxcdTkzMUFcXHU0RjQ3XFx1NEY0RVxcdTUxMzJcXHU1NDgwXFx1NTlEMFxcdTVFOTVcXHU2MkI1XFx1Njc3NVxcdTY5NkVcXHU2QTE3XFx1NkNBRVxcdTZFMUFcXHU3MkQ5XFx1NzMyQVxcdTc1QkRcXHU3QkI4XFx1N0QzNVxcdTgyRTdcXHU4M0Y5XFx1ODQ1N1xcdTg1RjdcXHU4QTVCXFx1OENBRlxcdThFODdcXHU5MDE5XFx1OTBCOFxcdTk2Q0VcXHU5RjVGXFx1NTJFM1xcdTU0MEFcXHU1QUUxXFx1NUJDMlxcdTY0NThcXHU2NTc1XFx1NkVGNFxcdTcyQzRcXHVGOUZCXFx1NzY4NFxcdTdBNERcXHU3QjFCXFx1N0M0RFxcdTdFM0VcXHU3RkRGXFx1ODM3QlxcdThCMkJcXHU4Q0NBXFx1OEQ2NFxcdThERTFcXHU4RTVGXFx1OEZFQVxcdThGRjlcXHU5MDY5XFx1OTNEMVxcdTRGNDNcXHU0RjdBXFx1NTBCM1xcdTUxNjhcXHU1MTc4XFx1NTI0RFxcdTUyNkFcXHU1ODYxXFx1NTg3Q1xcdTU5NjBcXHU1QzA4XFx1NUM1NVxcdTVFREJcXHU2MDlCXFx1NjIzMFxcdTY4MTNcXHU2QkJGXFx1NkMwOFxcdTZGQjFcIl0sXG4gICAgICBbXCJlZmExXCIsIFwiXFx1NzE0RVxcdTc0MjBcXHU3NTMwXFx1NzUzOFxcdTc1NTFcXHU3NjcyXFx1N0I0Q1xcdTdCOEJcXHU3QkFEXFx1N0JDNlxcdTdFOEZcXHU4QTZFXFx1OEYzRVxcdThGNDlcXHU5MjNGXFx1OTI5M1xcdTkzMjJcXHU5NDJCXFx1OTZGQlxcdTk4NUFcXHU5ODZCXFx1OTkxRVxcdTUyMDdcXHU2MjJBXFx1NjI5OFxcdTZENTlcXHU3NjY0XFx1N0FDQVxcdTdCQzBcXHU3RDc2XFx1NTM2MFxcdTVDQkVcXHU1RTk3XFx1NkYzOFxcdTcwQjlcXHU3Qzk4XFx1OTcxMVxcdTlCOEVcXHU5RURFXFx1NjNBNVxcdTY0N0FcXHU4Nzc2XFx1NEUwMVxcdTRFOTVcXHU0RUFEXFx1NTA1Q1xcdTUwNzVcXHU1NDQ4XFx1NTlDM1xcdTVCOUFcXHU1RTQwXFx1NUVBRFxcdTVFRjdcXHU1RjgxXFx1NjBDNVxcdTYzM0FcXHU2NTNGXFx1NjU3NFxcdTY1Q0NcXHU2Njc2XFx1NjY3OFxcdTY3RkVcXHU2OTY4XFx1NkE4OVxcdTZCNjNcXHU2QzQwXFx1NkRDMFxcdTZERThcXHU2RTFGXFx1NkU1RVxcdTcwMUVcXHU3MEExXFx1NzM4RVxcdTczRkRcXHU3NTNBXFx1Nzc1QlxcdTc4ODdcXHU3OThFXFx1N0EwQlxcdTdBN0RcXHU3Q0JFXFx1N0Q4RVxcdTgyNDdcXHU4QTAyXFx1OEFFQVxcdThDOUVcXHU5MTJEXFx1OTE0QVxcdTkxRDhcXHU5MjY2XFx1OTJDQ1xcdTkzMjBcXHU5NzA2XFx1OTc1NlwiXSxcbiAgICAgIFtcImYwYTFcIiwgXCJcXHU5NzVDXFx1OTgwMlxcdTlGMEVcXHU1MjM2XFx1NTI5MVxcdTU1N0NcXHU1ODI0XFx1NUUxRFxcdTVGMUZcXHU2MDhDXFx1NjNEMFxcdTY4QUZcXHU2RkRGXFx1Nzk2RFxcdTdCMkNcXHU4MUNEXFx1ODVCQVxcdTg4RkRcXHU4QUY4XFx1OEU0NFxcdTkxOERcXHU5NjY0XFx1OTY5QlxcdTk3M0RcXHU5ODRDXFx1OUY0QVxcdTRGQ0VcXHU1MTQ2XFx1NTFDQlxcdTUyQTlcXHU1NjMyXFx1NUYxNFxcdTVGNkJcXHU2M0FBXFx1NjRDRFxcdTY1RTlcXHU2NjQxXFx1NjZGQVxcdTY2RjlcXHU2NzFEXFx1Njg5RFxcdTY4RDdcXHU2OUZEXFx1NkYxNVxcdTZGNkVcXHU3MTY3XFx1NzFFNVxcdTcyMkFcXHU3NEFBXFx1NzczQVxcdTc5NTZcXHU3OTVBXFx1NzlERlxcdTdBMjBcXHU3QTk1XFx1N0M5N1xcdTdDREZcXHU3RDQ0XFx1N0U3MFxcdTgwODdcXHU4NUZCXFx1ODZBNFxcdThBNTRcXHU4QUJGXFx1OEQ5OVxcdThFODFcXHU5MDIwXFx1OTA2RFxcdTkxRTNcXHU5NjNCXFx1OTZENVxcdTlDRTVcXHU2NUNGXFx1N0MwN1xcdThEQjNcXHU5M0MzXFx1NUI1OFxcdTVDMEFcXHU1MzUyXFx1NjJEOVxcdTczMURcXHU1MDI3XFx1NUI5N1xcdTVGOUVcXHU2MEIwXFx1NjE2QlxcdTY4RDVcXHU2REQ5XFx1NzQyRVxcdTdBMkVcXHU3RDQyXFx1N0Q5Q1xcdTdFMzFcXHU4MTZCXCJdLFxuICAgICAgW1wiZjFhMVwiLCBcIlxcdThFMkFcXHU4RTM1XFx1OTM3RVxcdTk0MThcXHU0RjUwXFx1NTc1MFxcdTVERTZcXHU1RUE3XFx1NjMyQlxcdTdGNkFcXHU0RTNCXFx1NEY0RlxcdTRGOEZcXHU1MDVBXFx1NTlERFxcdTgwQzRcXHU1NDZBXFx1NTQ2OFxcdTU1RkVcXHU1OTRGXFx1NUI5OVxcdTVEREVcXHU1RURBXFx1NjY1RFxcdTY3MzFcXHU2N0YxXFx1NjgyQVxcdTZDRThcXHU2RDMyXFx1NkU0QVxcdTZGOERcXHU3MEI3XFx1NzNFMFxcdTc1ODdcXHU3QzRDXFx1N0QwMlxcdTdEMkNcXHU3REEyXFx1ODIxRlxcdTg2REJcXHU4QTNCXFx1OEE4NVxcdThENzBcXHU4RThBXFx1OEYzM1xcdTkwMzFcXHU5MTRFXFx1OTE1MlxcdTk0NDRcXHU5OUQwXFx1N0FGOVxcdTdDQTVcXHU0RkNBXFx1NTEwMVxcdTUxQzZcXHU1N0M4XFx1NUJFRlxcdTVDRkJcXHU2NjU5XFx1NkEzRFxcdTZENUFcXHU2RTk2XFx1NkZFQ1xcdTcxMENcXHU3NTZGXFx1N0FFM1xcdTg4MjJcXHU5MDIxXFx1OTA3NVxcdTk2Q0JcXHU5OUZGXFx1ODMwMVxcdTRFMkRcXHU0RUYyXFx1ODg0NlxcdTkxQ0RcXHU1MzdEXFx1NkFEQlxcdTY5NkJcXHU2QzQxXFx1ODQ3QVxcdTU4OUVcXHU2MThFXFx1NjZGRVxcdTYyRUZcXHU3MEREXFx1NzUxMVxcdTc1QzdcXHU3RTUyXFx1ODRCOFxcdThCNDlcXHU4RDA4XFx1NEU0QlxcdTUzRUFcIl0sXG4gICAgICBbXCJmMmExXCIsIFwiXFx1NTRBQlxcdTU3MzBcXHU1NzQwXFx1NUZEN1xcdTYzMDFcXHU2MzA3XFx1NjQ2RlxcdTY1MkZcXHU2NUU4XFx1NjY3QVxcdTY3OURcXHU2N0IzXFx1NkI2MlxcdTZDNjBcXHU2QzlBXFx1NkYyQ1xcdTc3RTVcXHU3ODI1XFx1Nzk0OVxcdTc5NTdcXHU3RDE5XFx1ODBBMlxcdTgxMDJcXHU4MUYzXFx1ODI5RFxcdTgyQjdcXHU4NzE4XFx1OEE4Q1xcdUY5RkNcXHU4RDA0XFx1OERCRVxcdTkwNzJcXHU3NkY0XFx1N0ExOVxcdTdBMzdcXHU3RTU0XFx1ODA3N1xcdTU1MDdcXHU1NUQ0XFx1NTg3NVxcdTYzMkZcXHU2NDIyXFx1NjY0OVxcdTY2NEJcXHU2ODZEXFx1Njk5QlxcdTZCODRcXHU2RDI1XFx1NkVCMVxcdTczQ0RcXHU3NDY4XFx1NzRBMVxcdTc1NUJcXHU3NUI5XFx1NzZFMVxcdTc3MUVcXHU3NzhCXFx1NzlFNlxcdTdFMDlcXHU3RTFEXFx1ODFGQlxcdTg1MkZcXHU4ODk3XFx1OEEzQVxcdThDRDFcXHU4RUVCXFx1OEZCMFxcdTkwMzJcXHU5M0FEXFx1OTY2M1xcdTk2NzNcXHU5NzA3XFx1NEY4NFxcdTUzRjFcXHU1OUVBXFx1NUFDOVxcdTVFMTlcXHU2ODRFXFx1NzRDNlxcdTc1QkVcXHU3OUU5XFx1N0E5MlxcdTgxQTNcXHU4NkVEXFx1OENFQVxcdThEQ0NcXHU4RkVEXFx1NjU5RlxcdTY3MTVcXHVGOUZEXFx1NTdGN1xcdTZGNTdcXHU3REREXFx1OEYyRlwiXSxcbiAgICAgIFtcImYzYTFcIiwgXCJcXHU5M0Y2XFx1OTZDNlxcdTVGQjVcXHU2MUYyXFx1NkY4NFxcdTRFMTRcXHU0Rjk4XFx1NTAxRlxcdTUzQzlcXHU1NURGXFx1NUQ2RlxcdTVERUVcXHU2QjIxXFx1NkI2NFxcdTc4Q0JcXHU3QjlBXFx1RjlGRVxcdThFNDlcXHU4RUNBXFx1OTA2RVxcdTYzNDlcXHU2NDNFXFx1Nzc0MFxcdTdBODRcXHU5MzJGXFx1OTQ3RlxcdTlGNkFcXHU2NEIwXFx1NkZBRlxcdTcxRTZcXHU3NEE4XFx1NzREQVxcdTdBQzRcXHU3QzEyXFx1N0U4MlxcdTdDQjJcXHU3RTk4XFx1OEI5QVxcdThEMEFcXHU5NDdEXFx1OTkxMFxcdTk5NENcXHU1MjM5XFx1NUJERlxcdTY0RTZcXHU2NzJEXFx1N0QyRVxcdTUwRURcXHU1M0MzXFx1NTg3OVxcdTYxNThcXHU2MTU5XFx1NjFGQVxcdTY1QUNcXHU3QUQ5XFx1OEI5MlxcdThCOTZcXHU1MDA5XFx1NTAyMVxcdTUyNzVcXHU1NTMxXFx1NUEzQ1xcdTVFRTBcXHU1RjcwXFx1NjEzNFxcdTY1NUVcXHU2NjBDXFx1NjYzNlxcdTY2QTJcXHU2OUNEXFx1NkVDNFxcdTZGMzJcXHU3MzE2XFx1NzYyMVxcdTdBOTNcXHU4MTM5XFx1ODI1OVxcdTgzRDZcXHU4NEJDXFx1NTBCNVxcdTU3RjBcXHU1QkMwXFx1NUJFOFxcdTVGNjlcXHU2M0ExXFx1NzgyNlxcdTdEQjVcXHU4M0RDXFx1ODUyMVxcdTkxQzdcXHU5MUY1XFx1NTE4QVxcdTY3RjVcXHU3QjU2XCJdLFxuICAgICAgW1wiZjRhMVwiLCBcIlxcdThDQUNcXHU1MUM0XFx1NTlCQlxcdTYwQkRcXHU4NjU1XFx1NTAxQ1xcdUY5RkZcXHU1MjU0XFx1NUMzQVxcdTYxN0RcXHU2MjFBXFx1NjJEM1xcdTY0RjJcXHU2NUE1XFx1NkVDQ1xcdTc2MjBcXHU4MTBBXFx1OEU2MFxcdTk2NUZcXHU5NkJCXFx1NEVERlxcdTUzNDNcXHU1NTk4XFx1NTkyOVxcdTVERERcXHU2NEM1XFx1NkNDOVxcdTZERkFcXHU3Mzk0XFx1N0E3RlxcdTgyMUJcXHU4NUE2XFx1OENFNFxcdThFMTBcXHU5MDc3XFx1OTFFN1xcdTk1RTFcXHU5NjIxXFx1OTdDNlxcdTUxRjhcXHU1NEYyXFx1NTU4NlxcdTVGQjlcXHU2NEE0XFx1NkY4OFxcdTdEQjRcXHU4RjFGXFx1OEY0RFxcdTk0MzVcXHU1MEM5XFx1NUMxNlxcdTZDQkVcXHU2REZCXFx1NzUxQlxcdTc3QkJcXHU3QzNEXFx1N0M2NFxcdThBNzlcXHU4QUMyXFx1NTgxRVxcdTU5QkVcXHU1RTE2XFx1NjM3N1xcdTcyNTJcXHU3NThBXFx1Nzc2QlxcdThBRENcXHU4Q0JDXFx1OEYxMlxcdTVFRjNcXHU2Njc0XFx1NkRGOFxcdTgwN0RcXHU4M0MxXFx1OEFDQlxcdTk3NTFcXHU5QkQ2XFx1RkEwMFxcdTUyNDNcXHU2NkZGXFx1NkQ5NVxcdTZFRUZcXHU3REUwXFx1OEFFNlxcdTkwMkVcXHU5MDVFXFx1OUFENFxcdTUyMURcXHU1MjdGXFx1NTRFOFxcdTYxOTRcXHU2Mjg0XFx1NjJEQlxcdTY4QTJcIl0sXG4gICAgICBbXCJmNWExXCIsIFwiXFx1NjkxMlxcdTY5NUFcXHU2QTM1XFx1NzA5MlxcdTcxMjZcXHU3ODVEXFx1NzkwMVxcdTc5MEVcXHU3OUQyXFx1N0EwRFxcdTgwOTZcXHU4Mjc4XFx1ODJENVxcdTgzNDlcXHU4NTQ5XFx1OEM4MlxcdThEODVcXHU5MTYyXFx1OTE4QlxcdTkxQUVcXHU0RkMzXFx1NTZEMVxcdTcxRURcXHU3N0Q3XFx1ODcwMFxcdTg5RjhcXHU1QkY4XFx1NUZENlxcdTY3NTFcXHU5MEE4XFx1NTNFMlxcdTU4NUFcXHU1QkY1XFx1NjBBNFxcdTYxODFcXHU2NDYwXFx1N0UzRFxcdTgwNzBcXHU4NTI1XFx1OTI4M1xcdTY0QUVcXHU1MEFDXFx1NUQxNFxcdTY3MDBcXHU1ODlDXFx1NjJCRFxcdTYzQThcXHU2OTBFXFx1Njk3OFxcdTZBMUVcXHU2RTZCXFx1NzZCQVxcdTc5Q0JcXHU4MkJCXFx1ODQyOVxcdThBQ0ZcXHU4REE4XFx1OEZGRFxcdTkxMTJcXHU5MTRCXFx1OTE5Q1xcdTkzMTBcXHU5MzE4XFx1OTM5QVxcdTk2REJcXHU5QTM2XFx1OUMwRFxcdTRFMTFcXHU3NTVDXFx1Nzk1RFxcdTdBRkFcXHU3QjUxXFx1N0JDOVxcdTdFMkVcXHU4NEM0XFx1OEU1OVxcdThFNzRcXHU4RUY4XFx1OTAxMFxcdTY2MjVcXHU2OTNGXFx1NzQ0M1xcdTUxRkFcXHU2NzJFXFx1OUVEQ1xcdTUxNDVcXHU1RkUwXFx1NkM5NlxcdTg3RjJcXHU4ODVEXFx1ODg3N1xcdTYwQjRcXHU4MUI1XFx1ODQwM1wiXSxcbiAgICAgIFtcImY2YTFcIiwgXCJcXHU4RDA1XFx1NTNENlxcdTU0MzlcXHU1NjM0XFx1NUEzNlxcdTVDMzFcXHU3MDhBXFx1N0ZFMFxcdTgwNUFcXHU4MTA2XFx1ODFFRFxcdThEQTNcXHU5MTg5XFx1OUE1RlxcdTlERjJcXHU1MDc0XFx1NEVDNFxcdTUzQTBcXHU2MEZCXFx1NkUyQ1xcdTVDNjRcXHU0Rjg4XFx1NTAyNFxcdTU1RTRcXHU1Q0Q5XFx1NUU1RlxcdTYwNjVcXHU2ODk0XFx1NkNCQlxcdTZEQzRcXHU3MUJFXFx1NzVENFxcdTc1RjRcXHU3NjYxXFx1N0ExQVxcdTdBNDlcXHU3REM3XFx1N0RGQlxcdTdGNkVcXHU4MUY0XFx1ODZBOVxcdThGMUNcXHU5NkM5XFx1OTlCM1xcdTlGNTJcXHU1MjQ3XFx1NTJDNVxcdTk4RURcXHU4OUFBXFx1NEUwM1xcdTY3RDJcXHU2RjA2XFx1NEZCNVxcdTVCRTJcXHU2Nzk1XFx1NkM4OFxcdTZENzhcXHU3NDFCXFx1NzgyN1xcdTkxRERcXHU5MzdDXFx1ODdDNFxcdTc5RTRcXHU3QTMxXFx1NUZFQlxcdTRFRDZcXHU1NEE0XFx1NTUzRVxcdTU4QUVcXHU1OUE1XFx1NjBGMFxcdTYyNTNcXHU2MkQ2XFx1NjczNlxcdTY5NTVcXHU4MjM1XFx1OTY0MFxcdTk5QjFcXHU5OUREXFx1NTAyQ1xcdTUzNTNcXHU1NTQ0XFx1NTc3Q1xcdUZBMDFcXHU2MjU4XFx1RkEwMlxcdTY0RTJcXHU2NjZCXFx1NjdERFxcdTZGQzFcXHU2RkVGXFx1NzQyMlxcdTc0MzhcXHU4QTE3XCJdLFxuICAgICAgW1wiZjdhMVwiLCBcIlxcdTk0MzhcXHU1NDUxXFx1NTYwNlxcdTU3NjZcXHU1RjQ4XFx1NjE5QVxcdTZCNEVcXHU3MDU4XFx1NzBBRFxcdTdEQkJcXHU4QTk1XFx1NTk2QVxcdTgxMkJcXHU2M0EyXFx1NzcwOFxcdTgwM0RcXHU4Q0FBXFx1NTg1NFxcdTY0MkRcXHU2OUJCXFx1NUI5NVxcdTVFMTFcXHU2RTZGXFx1RkEwM1xcdTg1NjlcXHU1MTRDXFx1NTNGMFxcdTU5MkFcXHU2MDIwXFx1NjE0QlxcdTZCODZcXHU2QzcwXFx1NkNGMFxcdTdCMUVcXHU4MENFXFx1ODJENFxcdThEQzZcXHU5MEIwXFx1OThCMVxcdUZBMDRcXHU2NEM3XFx1NkZBNFxcdTY0OTFcXHU2NTA0XFx1NTE0RVxcdTU0MTBcXHU1NzFGXFx1OEEwRVxcdTYxNUZcXHU2ODc2XFx1RkEwNVxcdTc1REJcXHU3QjUyXFx1N0Q3MVxcdTkwMUFcXHU1ODA2XFx1NjlDQ1xcdTgxN0ZcXHU4OTJBXFx1OTAwMFxcdTk4MzlcXHU1MDc4XFx1NTk1N1xcdTU5QUNcXHU2Mjk1XFx1OTAwRlxcdTlCMkFcXHU2MTVEXFx1NzI3OVxcdTk1RDZcXHU1NzYxXFx1NUE0NlxcdTVERjRcXHU2MjhBXFx1NjRBRFxcdTY0RkFcXHU2Nzc3XFx1NkNFMlxcdTZEM0VcXHU3MjJDXFx1NzQzNlxcdTc4MzRcXHU3Rjc3XFx1ODJBRFxcdThEREJcXHU5ODE3XFx1NTIyNFxcdTU3NDJcXHU2NzdGXFx1NzI0OFxcdTc0RTNcXHU4Q0E5XFx1OEZBNlxcdTkyMTFcIl0sXG4gICAgICBbXCJmOGExXCIsIFwiXFx1OTYyQVxcdTUxNkJcXHU1M0VEXFx1NjM0Q1xcdTRGNjlcXHU1NTA0XFx1NjA5NlxcdTY1NTdcXHU2QzlCXFx1NkQ3RlxcdTcyNENcXHU3MkZEXFx1N0ExN1xcdTg5ODdcXHU4QzlEXFx1NUY2RFxcdTZGOEVcXHU3MEY5XFx1ODFBOFxcdTYxMEVcXHU0RkJGXFx1NTA0RlxcdTYyNDFcXHU3MjQ3XFx1N0JDN1xcdTdERThcXHU3RkU5XFx1OTA0RFxcdTk3QURcXHU5QTE5XFx1OENCNlxcdTU3NkFcXHU1RTczXFx1NjdCMFxcdTg0MERcXHU4QTU1XFx1NTQyMFxcdTVCMTZcXHU1RTYzXFx1NUVFMlxcdTVGMEFcXHU2NTgzXFx1ODBCQVxcdTg1M0RcXHU5NTg5XFx1OTY1QlxcdTRGNDhcXHU1MzA1XFx1NTMwRFxcdTUzMEZcXHU1NDg2XFx1NTRGQVxcdTU3MDNcXHU1RTAzXFx1NjAxNlxcdTYyOUJcXHU2MkIxXFx1NjM1NVxcdUZBMDZcXHU2Q0UxXFx1NkQ2NlxcdTc1QjFcXHU3ODMyXFx1ODBERVxcdTgxMkZcXHU4MkRFXFx1ODQ2MVxcdTg0QjJcXHU4ODhEXFx1ODkxMlxcdTkwMEJcXHU5MkVBXFx1OThGRFxcdTlCOTFcXHU1RTQ1XFx1NjZCNFxcdTY2RERcXHU3MDExXFx1NzIwNlxcdUZBMDdcXHU0RkY1XFx1NTI3RFxcdTVGNkFcXHU2MTUzXFx1Njc1M1xcdTZBMTlcXHU2RjAyXFx1NzRFMlxcdTc5NjhcXHU4ODY4XFx1OEM3OVxcdTk4QzdcXHU5OEM0XFx1OUE0M1wiXSxcbiAgICAgIFtcImY5YTFcIiwgXCJcXHU1NEMxXFx1N0ExRlxcdTY5NTNcXHU4QUY3XFx1OEM0QVxcdTk4QThcXHU5OUFFXFx1NUY3Q1xcdTYyQUJcXHU3NUIyXFx1NzZBRVxcdTg4QUJcXHU5MDdGXFx1OTY0MlxcdTUzMzlcXHU1RjNDXFx1NUZDNVxcdTZDQ0NcXHU3M0NDXFx1NzU2MlxcdTc1OEJcXHU3QjQ2XFx1ODJGRVxcdTk5OURcXHU0RTRGXFx1OTAzQ1xcdTRFMEJcXHU0RjU1XFx1NTNBNlxcdTU5MEZcXHU1RUM4XFx1NjYzMFxcdTZDQjNcXHU3NDU1XFx1ODM3N1xcdTg3NjZcXHU4Q0MwXFx1OTA1MFxcdTk3MUVcXHU5QzE1XFx1NThEMVxcdTVCNzhcXHU4NjUwXFx1OEIxNFxcdTlEQjRcXHU1QkQyXFx1NjA2OFxcdTYwOERcXHU2NUYxXFx1NkM1N1xcdTZGMjJcXHU2RkEzXFx1NzAxQVxcdTdGNTVcXHU3RkYwXFx1OTU5MVxcdTk1OTJcXHU5NjUwXFx1OTdEM1xcdTUyNzJcXHU4RjQ0XFx1NTFGRFxcdTU0MkJcXHU1NEI4XFx1NTU2M1xcdTU1OEFcXHU2QUJCXFx1NkRCNVxcdTdERDhcXHU4MjY2XFx1OTI5Q1xcdTk2NzdcXHU5RTc5XFx1NTQwOFxcdTU0QzhcXHU3NkQyXFx1ODZFNFxcdTk1QTRcXHU5NUQ0XFx1OTY1Q1xcdTRFQTJcXHU0RjA5XFx1NTlFRVxcdTVBRTZcXHU1REY3XFx1NjA1MlxcdTYyOTdcXHU2NzZEXFx1Njg0MVxcdTZDODZcXHU2RTJGXFx1N0YzOFxcdTgwOUJcXHU4MjJBXCJdLFxuICAgICAgW1wiZmFhMVwiLCBcIlxcdUZBMDhcXHVGQTA5XFx1OTgwNVxcdTRFQTVcXHU1MDU1XFx1NTRCM1xcdTU3OTNcXHU1OTVBXFx1NUI2OVxcdTVCQjNcXHU2MUM4XFx1Njk3N1xcdTZENzdcXHU3MDIzXFx1ODdGOVxcdTg5RTNcXHU4QTcyXFx1OEFFN1xcdTkwODJcXHU5OUVEXFx1OUFCOFxcdTUyQkVcXHU2ODM4XFx1NTAxNlxcdTVFNzhcXHU2NzRGXFx1ODM0N1xcdTg4NENcXHU0RUFCXFx1NTQxMVxcdTU2QUVcXHU3M0U2XFx1OTExNVxcdTk3RkZcXHU5OTA5XFx1OTk1N1xcdTk5OTlcXHU1NjUzXFx1NTg5RlxcdTg2NUJcXHU4QTMxXFx1NjFCMlxcdTZBRjZcXHU3MzdCXFx1OEVEMlxcdTZCNDdcXHU5NkFBXFx1OUE1N1xcdTU5NTVcXHU3MjAwXFx1OEQ2QlxcdTk3NjlcXHU0RkQ0XFx1NUNGNFxcdTVGMjZcXHU2MUY4XFx1NjY1QlxcdTZDRUJcXHU3MEFCXFx1NzM4NFxcdTczQjlcXHU3M0ZFXFx1NzcyOVxcdTc3NERcXHU3RDQzXFx1N0Q2MlxcdTdFMjNcXHU4MjM3XFx1ODg1MlxcdUZBMEFcXHU4Q0UyXFx1OTI0OVxcdTk4NkZcXHU1QjUxXFx1N0E3NFxcdTg4NDBcXHU5ODAxXFx1NUFDQ1xcdTRGRTBcXHU1MzU0XFx1NTkzRVxcdTVDRkRcXHU2MzNFXFx1NkQ3OVxcdTcyRjlcXHU4MTA1XFx1ODEwN1xcdTgzQTJcXHU5MkNGXFx1OTgzMFxcdTRFQThcXHU1MTQ0XFx1NTIxMVxcdTU3OEJcIl0sXG4gICAgICBbXCJmYmExXCIsIFwiXFx1NUY2MlxcdTZDQzJcXHU2RUNFXFx1NzAwNVxcdTcwNTBcXHU3MEFGXFx1NzE5MlxcdTczRTlcXHU3NDY5XFx1ODM0QVxcdTg3QTJcXHU4ODYxXFx1OTAwOFxcdTkwQTJcXHU5M0EzXFx1OTlBOFxcdTUxNkVcXHU1RjU3XFx1NjBFMFxcdTYxNjdcXHU2NkIzXFx1ODU1OVxcdThFNEFcXHU5MUFGXFx1OTc4QlxcdTRFNEVcXHU0RTkyXFx1NTQ3Q1xcdTU4RDVcXHU1OEZBXFx1NTk3RFxcdTVDQjVcXHU1RjI3XFx1NjIzNlxcdTYyNDhcXHU2NjBBXFx1NjY2N1xcdTZCRUJcXHU2RDY5XFx1NkRDRlxcdTZFNTZcXHU2RUY4XFx1NkY5NFxcdTZGRTBcXHU2RkU5XFx1NzA1RFxcdTcyRDBcXHU3NDI1XFx1NzQ1QVxcdTc0RTBcXHU3NjkzXFx1Nzk1Q1xcdTdDQ0FcXHU3RTFFXFx1ODBFMVxcdTgyQTZcXHU4NDZCXFx1ODRCRlxcdTg2NEVcXHU4NjVGXFx1ODc3NFxcdThCNzdcXHU4QzZBXFx1OTNBQ1xcdTk4MDBcXHU5ODY1XFx1NjBEMVxcdTYyMTZcXHU5MTc3XFx1NUE1QVxcdTY2MEZcXHU2REY3XFx1NkUzRVxcdTc0M0ZcXHU5QjQyXFx1NUZGRFxcdTYwREFcXHU3QjBGXFx1NTRDNFxcdTVGMThcXHU2QzVFXFx1NkNEM1xcdTZEMkFcXHU3MEQ4XFx1N0QwNVxcdTg2NzlcXHU4QTBDXFx1OUQzQlxcdTUzMTZcXHU1NDhDXFx1NUIwNVxcdTZBM0FcXHU3MDZCXFx1NzU3NVwiXSxcbiAgICAgIFtcImZjYTFcIiwgXCJcXHU3OThEXFx1NzlCRVxcdTgyQjFcXHU4M0VGXFx1OEE3MVxcdThCNDFcXHU4Q0E4XFx1OTc3NFxcdUZBMEJcXHU2NEY0XFx1NjUyQlxcdTc4QkFcXHU3OEJCXFx1N0E2QlxcdTRFMzhcXHU1NTlBXFx1NTk1MFxcdTVCQTZcXHU1RTdCXFx1NjBBM1xcdTYzREJcXHU2QjYxXFx1NjY2NVxcdTY4NTNcXHU2RTE5XFx1NzE2NVxcdTc0QjBcXHU3RDA4XFx1OTA4NFxcdTlBNjlcXHU5QzI1XFx1NkQzQlxcdTZFRDFcXHU3MzNFXFx1OEM0MVxcdTk1Q0FcXHU1MUYwXFx1NUU0Q1xcdTVGQThcXHU2MDREXFx1NjBGNlxcdTYxMzBcXHU2MTRDXFx1NjY0M1xcdTY2NDRcXHU2OUE1XFx1NkNDMVxcdTZFNUZcXHU2RUM5XFx1NkY2MlxcdTcxNENcXHU3NDlDXFx1NzY4N1xcdTdCQzFcXHU3QzI3XFx1ODM1MlxcdTg3NTdcXHU5MDUxXFx1OTY4RFxcdTlFQzNcXHU1MzJGXFx1NTZERVxcdTVFRkJcXHU1RjhBXFx1NjA2MlxcdTYwOTRcXHU2MUY3XFx1NjY2NlxcdTY3MDNcXHU2QTlDXFx1NkRFRVxcdTZGQUVcXHU3MDcwXFx1NzM2QVxcdTdFNkFcXHU4MUJFXFx1ODMzNFxcdTg2RDRcXHU4QUE4XFx1OENDNFxcdTUyODNcXHU3MzcyXFx1NUI5NlxcdTZBNkJcXHU5NDA0XFx1NTRFRVxcdTU2ODZcXHU1QjVEXFx1NjU0OFxcdTY1ODVcXHU2NkM5XFx1Njg5RlxcdTZEOERcXHU2REM2XCJdLFxuICAgICAgW1wiZmRhMVwiLCBcIlxcdTcyM0JcXHU4MEI0XFx1OTE3NVxcdTlBNERcXHU0RkFGXFx1NTAxOVxcdTUzOUFcXHU1NDBFXFx1NTQzQ1xcdTU1ODlcXHU1NUM1XFx1NUUzRlxcdTVGOENcXHU2NzNEXFx1NzE2NlxcdTczRERcXHU5MDA1XFx1NTJEQlxcdTUyRjNcXHU1ODY0XFx1NThDRVxcdTcxMDRcXHU3MThGXFx1NzFGQlxcdTg1QjBcXHU4QTEzXFx1NjY4OFxcdTg1QThcXHU1NUE3XFx1NjY4NFxcdTcxNEFcXHU4NDMxXFx1NTM0OVxcdTU1OTlcXHU2QkMxXFx1NUY1OVxcdTVGQkRcXHU2M0VFXFx1NjY4OVxcdTcxNDdcXHU4QUYxXFx1OEYxRFxcdTlFQkVcXHU0RjExXFx1NjQzQVxcdTcwQ0JcXHU3NTY2XFx1ODY2N1xcdTYwNjRcXHU4QjRFXFx1OURGOFxcdTUxNDdcXHU1MUY2XFx1NTMwOFxcdTZEMzZcXHU4MEY4XFx1OUVEMVxcdTY2MTVcXHU2QjIzXFx1NzA5OFxcdTc1RDVcXHU1NDAzXFx1NUM3OVxcdTdEMDdcXHU4QTE2XFx1NkIyMFxcdTZCM0RcXHU2QjQ2XFx1NTQzOFxcdTYwNzBcXHU2RDNEXFx1N0ZENVxcdTgyMDhcXHU1MEQ2XFx1NTFERVxcdTU1OUNcXHU1NjZCXFx1NTZDRFxcdTU5RUNcXHU1QjA5XFx1NUUwQ1xcdTYxOTlcXHU2MTk4XFx1NjIzMVxcdTY2NUVcXHU2NkU2XFx1NzE5OVxcdTcxQjlcXHU3MUJBXFx1NzJBN1xcdTc5QTdcXHU3QTAwXFx1N0ZCMlxcdThBNzBcIl1cbiAgICBdO1xuICB9XG59KTtcblxuLy8gbm9kZV9tb2R1bGVzL2JvZHktcGFyc2VyL25vZGVfbW9kdWxlcy9pY29udi1saXRlL2VuY29kaW5ncy90YWJsZXMvY3A5NTAuanNvblxudmFyIHJlcXVpcmVfY3A5NTAyID0gX19jb21tb25KUyh7XG4gIFwibm9kZV9tb2R1bGVzL2JvZHktcGFyc2VyL25vZGVfbW9kdWxlcy9pY29udi1saXRlL2VuY29kaW5ncy90YWJsZXMvY3A5NTAuanNvblwiKGV4cG9ydHMyLCBtb2R1bGUyKSB7XG4gICAgbW9kdWxlMi5leHBvcnRzID0gW1xuICAgICAgW1wiMFwiLCBcIlxcMFwiLCAxMjddLFxuICAgICAgW1wiYTE0MFwiLCBcIlxcdTMwMDBcXHVGRjBDXFx1MzAwMVxcdTMwMDJcXHVGRjBFXFx1MjAyN1xcdUZGMUJcXHVGRjFBXFx1RkYxRlxcdUZGMDFcXHVGRTMwXFx1MjAyNlxcdTIwMjVcXHVGRTUwXFx1RkU1MVxcdUZFNTJcXHhCN1xcdUZFNTRcXHVGRTU1XFx1RkU1NlxcdUZFNTdcXHVGRjVDXFx1MjAxM1xcdUZFMzFcXHUyMDE0XFx1RkUzM1xcdTI1NzRcXHVGRTM0XFx1RkU0RlxcdUZGMDhcXHVGRjA5XFx1RkUzNVxcdUZFMzZcXHVGRjVCXFx1RkY1RFxcdUZFMzdcXHVGRTM4XFx1MzAxNFxcdTMwMTVcXHVGRTM5XFx1RkUzQVxcdTMwMTBcXHUzMDExXFx1RkUzQlxcdUZFM0NcXHUzMDBBXFx1MzAwQlxcdUZFM0RcXHVGRTNFXFx1MzAwOFxcdTMwMDlcXHVGRTNGXFx1RkU0MFxcdTMwMENcXHUzMDBEXFx1RkU0MVxcdUZFNDJcXHUzMDBFXFx1MzAwRlxcdUZFNDNcXHVGRTQ0XFx1RkU1OVxcdUZFNUFcIl0sXG4gICAgICBbXCJhMWExXCIsIFwiXFx1RkU1QlxcdUZFNUNcXHVGRTVEXFx1RkU1RVxcdTIwMThcXHUyMDE5XFx1MjAxQ1xcdTIwMURcXHUzMDFEXFx1MzAxRVxcdTIwMzVcXHUyMDMyXFx1RkYwM1xcdUZGMDZcXHVGRjBBXFx1MjAzQlxceEE3XFx1MzAwM1xcdTI1Q0JcXHUyNUNGXFx1MjVCM1xcdTI1QjJcXHUyNUNFXFx1MjYwNlxcdTI2MDVcXHUyNUM3XFx1MjVDNlxcdTI1QTFcXHUyNUEwXFx1MjVCRFxcdTI1QkNcXHUzMkEzXFx1MjEwNVxceEFGXFx1RkZFM1xcdUZGM0ZcXHUwMkNEXFx1RkU0OVxcdUZFNEFcXHVGRTREXFx1RkU0RVxcdUZFNEJcXHVGRTRDXFx1RkU1RlxcdUZFNjBcXHVGRTYxXFx1RkYwQlxcdUZGMERcXHhEN1xceEY3XFx4QjFcXHUyMjFBXFx1RkYxQ1xcdUZGMUVcXHVGRjFEXFx1MjI2NlxcdTIyNjdcXHUyMjYwXFx1MjIxRVxcdTIyNTJcXHUyMjYxXFx1RkU2MlwiLCA0LCBcIlxcdUZGNUVcXHUyMjI5XFx1MjIyQVxcdTIyQTVcXHUyMjIwXFx1MjIxRlxcdTIyQkZcXHUzM0QyXFx1MzNEMVxcdTIyMkJcXHUyMjJFXFx1MjIzNVxcdTIyMzRcXHUyNjQwXFx1MjY0MlxcdTIyOTVcXHUyMjk5XFx1MjE5MVxcdTIxOTNcXHUyMTkwXFx1MjE5MlxcdTIxOTZcXHUyMTk3XFx1MjE5OVxcdTIxOThcXHUyMjI1XFx1MjIyM1xcdUZGMEZcIl0sXG4gICAgICBbXCJhMjQwXCIsIFwiXFx1RkYzQ1xcdTIyMTVcXHVGRTY4XFx1RkYwNFxcdUZGRTVcXHUzMDEyXFx1RkZFMFxcdUZGRTFcXHVGRjA1XFx1RkYyMFxcdTIxMDNcXHUyMTA5XFx1RkU2OVxcdUZFNkFcXHVGRTZCXFx1MzNENVxcdTMzOUNcXHUzMzlEXFx1MzM5RVxcdTMzQ0VcXHUzM0ExXFx1MzM4RVxcdTMzOEZcXHUzM0M0XFx4QjBcXHU1MTU5XFx1NTE1QlxcdTUxNUVcXHU1MTVEXFx1NTE2MVxcdTUxNjNcXHU1NUU3XFx1NzRFOVxcdTdDQ0VcXHUyNTgxXCIsIDcsIFwiXFx1MjU4RlxcdTI1OEVcXHUyNThEXFx1MjU4Q1xcdTI1OEJcXHUyNThBXFx1MjU4OVxcdTI1M0NcXHUyNTM0XFx1MjUyQ1xcdTI1MjRcXHUyNTFDXFx1MjU5NFxcdTI1MDBcXHUyNTAyXFx1MjU5NVxcdTI1MENcXHUyNTEwXFx1MjUxNFxcdTI1MThcXHUyNTZEXCJdLFxuICAgICAgW1wiYTJhMVwiLCBcIlxcdTI1NkVcXHUyNTcwXFx1MjU2RlxcdTI1NTBcXHUyNTVFXFx1MjU2QVxcdTI1NjFcXHUyNUUyXFx1MjVFM1xcdTI1RTVcXHUyNUU0XFx1MjU3MVxcdTI1NzJcXHUyNTczXFx1RkYxMFwiLCA5LCBcIlxcdTIxNjBcIiwgOSwgXCJcXHUzMDIxXCIsIDgsIFwiXFx1NTM0MVxcdTUzNDRcXHU1MzQ1XFx1RkYyMVwiLCAyNSwgXCJcXHVGRjQxXCIsIDIxXSxcbiAgICAgIFtcImEzNDBcIiwgXCJcXHVGRjU3XFx1RkY1OFxcdUZGNTlcXHVGRjVBXFx1MDM5MVwiLCAxNiwgXCJcXHUwM0EzXCIsIDYsIFwiXFx1MDNCMVwiLCAxNiwgXCJcXHUwM0MzXCIsIDYsIFwiXFx1MzEwNVwiLCAxMF0sXG4gICAgICBbXCJhM2ExXCIsIFwiXFx1MzExMFwiLCAyNSwgXCJcXHUwMkQ5XFx1MDJDOVxcdTAyQ0FcXHUwMkM3XFx1MDJDQlwiXSxcbiAgICAgIFtcImEzZTFcIiwgXCJcXHUyMEFDXCJdLFxuICAgICAgW1wiYTQ0MFwiLCBcIlxcdTRFMDBcXHU0RTU5XFx1NEUwMVxcdTRFMDNcXHU0RTQzXFx1NEU1RFxcdTRFODZcXHU0RThDXFx1NEVCQVxcdTUxM0ZcXHU1MTY1XFx1NTE2QlxcdTUxRTBcXHU1MjAwXFx1NTIwMVxcdTUyOUJcXHU1MzE1XFx1NTM0MVxcdTUzNUNcXHU1M0M4XFx1NEUwOVxcdTRFMEJcXHU0RTA4XFx1NEUwQVxcdTRFMkJcXHU0RTM4XFx1NTFFMVxcdTRFNDVcXHU0RTQ4XFx1NEU1RlxcdTRFNUVcXHU0RThFXFx1NEVBMVxcdTUxNDBcXHU1MjAzXFx1NTJGQVxcdTUzNDNcXHU1M0M5XFx1NTNFM1xcdTU3MUZcXHU1OEVCXFx1NTkxNVxcdTU5MjdcXHU1OTczXFx1NUI1MFxcdTVCNTFcXHU1QjUzXFx1NUJGOFxcdTVDMEZcXHU1QzIyXFx1NUMzOFxcdTVDNzFcXHU1REREXFx1NURFNVxcdTVERjFcXHU1REYyXFx1NURGM1xcdTVERkVcXHU1RTcyXFx1NUVGRVxcdTVGMEJcXHU1RjEzXFx1NjI0RFwiXSxcbiAgICAgIFtcImE0YTFcIiwgXCJcXHU0RTExXFx1NEUxMFxcdTRFMERcXHU0RTJEXFx1NEUzMFxcdTRFMzlcXHU0RTRCXFx1NUMzOVxcdTRFODhcXHU0RTkxXFx1NEU5NVxcdTRFOTJcXHU0RTk0XFx1NEVBMlxcdTRFQzFcXHU0RUMwXFx1NEVDM1xcdTRFQzZcXHU0RUM3XFx1NEVDRFxcdTRFQ0FcXHU0RUNCXFx1NEVDNFxcdTUxNDNcXHU1MTQxXFx1NTE2N1xcdTUxNkRcXHU1MTZFXFx1NTE2Q1xcdTUxOTdcXHU1MUY2XFx1NTIwNlxcdTUyMDdcXHU1MjA4XFx1NTJGQlxcdTUyRkVcXHU1MkZGXFx1NTMxNlxcdTUzMzlcXHU1MzQ4XFx1NTM0N1xcdTUzNDVcXHU1MzVFXFx1NTM4NFxcdTUzQ0JcXHU1M0NBXFx1NTNDRFxcdTU4RUNcXHU1OTI5XFx1NTkyQlxcdTU5MkFcXHU1OTJEXFx1NUI1NFxcdTVDMTFcXHU1QzI0XFx1NUMzQVxcdTVDNkZcXHU1REY0XFx1NUU3QlxcdTVFRkZcXHU1RjE0XFx1NUYxNVxcdTVGQzNcXHU2MjA4XFx1NjIzNlxcdTYyNEJcXHU2MjRFXFx1NjUyRlxcdTY1ODdcXHU2NTk3XFx1NjVBNFxcdTY1QjlcXHU2NUU1XFx1NjZGMFxcdTY3MDhcXHU2NzI4XFx1NkIyMFxcdTZCNjJcXHU2Qjc5XFx1NkJDQlxcdTZCRDRcXHU2QkRCXFx1NkMwRlxcdTZDMzRcXHU3MDZCXFx1NzIyQVxcdTcyMzZcXHU3MjNCXFx1NzI0N1xcdTcyNTlcXHU3MjVCXFx1NzJBQ1xcdTczOEJcXHU0RTE5XCJdLFxuICAgICAgW1wiYTU0MFwiLCBcIlxcdTRFMTZcXHU0RTE1XFx1NEUxNFxcdTRFMThcXHU0RTNCXFx1NEU0RFxcdTRFNEZcXHU0RTRFXFx1NEVFNVxcdTRFRDhcXHU0RUQ0XFx1NEVENVxcdTRFRDZcXHU0RUQ3XFx1NEVFM1xcdTRFRTRcXHU0RUQ5XFx1NEVERVxcdTUxNDVcXHU1MTQ0XFx1NTE4OVxcdTUxOEFcXHU1MUFDXFx1NTFGOVxcdTUxRkFcXHU1MUY4XFx1NTIwQVxcdTUyQTBcXHU1MjlGXFx1NTMwNVxcdTUzMDZcXHU1MzE3XFx1NTMxRFxcdTRFREZcXHU1MzRBXFx1NTM0OVxcdTUzNjFcXHU1MzYwXFx1NTM2RlxcdTUzNkVcXHU1M0JCXFx1NTNFRlxcdTUzRTRcXHU1M0YzXFx1NTNFQ1xcdTUzRUVcXHU1M0U5XFx1NTNFOFxcdTUzRkNcXHU1M0Y4XFx1NTNGNVxcdTUzRUJcXHU1M0U2XFx1NTNFQVxcdTUzRjJcXHU1M0YxXFx1NTNGMFxcdTUzRTVcXHU1M0VEXFx1NTNGQlxcdTU2REJcXHU1NkRBXFx1NTkxNlwiXSxcbiAgICAgIFtcImE1YTFcIiwgXCJcXHU1OTJFXFx1NTkzMVxcdTU5NzRcXHU1OTc2XFx1NUI1NVxcdTVCODNcXHU1QzNDXFx1NURFOFxcdTVERTdcXHU1REU2XFx1NUUwMlxcdTVFMDNcXHU1RTczXFx1NUU3Q1xcdTVGMDFcXHU1RjE4XFx1NUYxN1xcdTVGQzVcXHU2MjBBXFx1NjI1M1xcdTYyNTRcXHU2MjUyXFx1NjI1MVxcdTY1QTVcXHU2NUU2XFx1NjcyRVxcdTY3MkNcXHU2NzJBXFx1NjcyQlxcdTY3MkRcXHU2QjYzXFx1NkJDRFxcdTZDMTFcXHU2QzEwXFx1NkMzOFxcdTZDNDFcXHU2QzQwXFx1NkMzRVxcdTcyQUZcXHU3Mzg0XFx1NzM4OVxcdTc0RENcXHU3NEU2XFx1NzUxOFxcdTc1MUZcXHU3NTI4XFx1NzUyOVxcdTc1MzBcXHU3NTMxXFx1NzUzMlxcdTc1MzNcXHU3NThCXFx1NzY3RFxcdTc2QUVcXHU3NkJGXFx1NzZFRVxcdTc3REJcXHU3N0UyXFx1NzdGM1xcdTc5M0FcXHU3OUJFXFx1N0E3NFxcdTdBQ0JcXHU0RTFFXFx1NEUxRlxcdTRFNTJcXHU0RTUzXFx1NEU2OVxcdTRFOTlcXHU0RUE0XFx1NEVBNlxcdTRFQTVcXHU0RUZGXFx1NEYwOVxcdTRGMTlcXHU0RjBBXFx1NEYxNVxcdTRGMERcXHU0RjEwXFx1NEYxMVxcdTRGMEZcXHU0RUYyXFx1NEVGNlxcdTRFRkJcXHU0RUYwXFx1NEVGM1xcdTRFRkRcXHU0RjAxXFx1NEYwQlxcdTUxNDlcXHU1MTQ3XFx1NTE0NlxcdTUxNDhcXHU1MTY4XCJdLFxuICAgICAgW1wiYTY0MFwiLCBcIlxcdTUxNzFcXHU1MThEXFx1NTFCMFxcdTUyMTdcXHU1MjExXFx1NTIxMlxcdTUyMEVcXHU1MjE2XFx1NTJBM1xcdTUzMDhcXHU1MzIxXFx1NTMyMFxcdTUzNzBcXHU1MzcxXFx1NTQwOVxcdTU0MEZcXHU1NDBDXFx1NTQwQVxcdTU0MTBcXHU1NDAxXFx1NTQwQlxcdTU0MDRcXHU1NDExXFx1NTQwRFxcdTU0MDhcXHU1NDAzXFx1NTQwRVxcdTU0MDZcXHU1NDEyXFx1NTZFMFxcdTU2REVcXHU1NkREXFx1NTczM1xcdTU3MzBcXHU1NzI4XFx1NTcyRFxcdTU3MkNcXHU1NzJGXFx1NTcyOVxcdTU5MTlcXHU1OTFBXFx1NTkzN1xcdTU5MzhcXHU1OTg0XFx1NTk3OFxcdTU5ODNcXHU1OTdEXFx1NTk3OVxcdTU5ODJcXHU1OTgxXFx1NUI1N1xcdTVCNThcXHU1Qjg3XFx1NUI4OFxcdTVCODVcXHU1Qjg5XFx1NUJGQVxcdTVDMTZcXHU1Qzc5XFx1NURERVxcdTVFMDZcXHU1RTc2XFx1NUU3NFwiXSxcbiAgICAgIFtcImE2YTFcIiwgXCJcXHU1RjBGXFx1NUYxQlxcdTVGRDlcXHU1RkQ2XFx1NjIwRVxcdTYyMENcXHU2MjBEXFx1NjIxMFxcdTYyNjNcXHU2MjVCXFx1NjI1OFxcdTY1MzZcXHU2NUU5XFx1NjVFOFxcdTY1RUNcXHU2NUVEXFx1NjZGMlxcdTY2RjNcXHU2NzA5XFx1NjczRFxcdTY3MzRcXHU2NzMxXFx1NjczNVxcdTZCMjFcXHU2QjY0XFx1NkI3QlxcdTZDMTZcXHU2QzVEXFx1NkM1N1xcdTZDNTlcXHU2QzVGXFx1NkM2MFxcdTZDNTBcXHU2QzU1XFx1NkM2MVxcdTZDNUJcXHU2QzREXFx1NkM0RVxcdTcwNzBcXHU3MjVGXFx1NzI1RFxcdTc2N0VcXHU3QUY5XFx1N0M3M1xcdTdDRjhcXHU3RjM2XFx1N0Y4QVxcdTdGQkRcXHU4MDAxXFx1ODAwM1xcdTgwMENcXHU4MDEyXFx1ODAzM1xcdTgwN0ZcXHU4MDg5XFx1ODA4QlxcdTgwOENcXHU4MUUzXFx1ODFFQVxcdTgxRjNcXHU4MUZDXFx1ODIwQ1xcdTgyMUJcXHU4MjFGXFx1ODI2RVxcdTgyNzJcXHU4MjdFXFx1ODY2QlxcdTg4NDBcXHU4ODRDXFx1ODg2M1xcdTg5N0ZcXHU5NjIxXFx1NEUzMlxcdTRFQThcXHU0RjREXFx1NEY0RlxcdTRGNDdcXHU0RjU3XFx1NEY1RVxcdTRGMzRcXHU0RjVCXFx1NEY1NVxcdTRGMzBcXHU0RjUwXFx1NEY1MVxcdTRGM0RcXHU0RjNBXFx1NEYzOFxcdTRGNDNcXHU0RjU0XFx1NEYzQ1xcdTRGNDZcXHU0RjYzXCJdLFxuICAgICAgW1wiYTc0MFwiLCBcIlxcdTRGNUNcXHU0RjYwXFx1NEYyRlxcdTRGNEVcXHU0RjM2XFx1NEY1OVxcdTRGNURcXHU0RjQ4XFx1NEY1QVxcdTUxNENcXHU1MTRCXFx1NTE0RFxcdTUxNzVcXHU1MUI2XFx1NTFCN1xcdTUyMjVcXHU1MjI0XFx1NTIyOVxcdTUyMkFcXHU1MjI4XFx1NTJBQlxcdTUyQTlcXHU1MkFBXFx1NTJBQ1xcdTUzMjNcXHU1MzczXFx1NTM3NVxcdTU0MURcXHU1NDJEXFx1NTQxRVxcdTU0M0VcXHU1NDI2XFx1NTQ0RVxcdTU0MjdcXHU1NDQ2XFx1NTQ0M1xcdTU0MzNcXHU1NDQ4XFx1NTQ0MlxcdTU0MUJcXHU1NDI5XFx1NTQ0QVxcdTU0MzlcXHU1NDNCXFx1NTQzOFxcdTU0MkVcXHU1NDM1XFx1NTQzNlxcdTU0MjBcXHU1NDNDXFx1NTQ0MFxcdTU0MzFcXHU1NDJCXFx1NTQxRlxcdTU0MkNcXHU1NkVBXFx1NTZGMFxcdTU2RTRcXHU1NkVCXFx1NTc0QVxcdTU3NTFcXHU1NzQwXFx1NTc0RFwiXSxcbiAgICAgIFtcImE3YTFcIiwgXCJcXHU1NzQ3XFx1NTc0RVxcdTU3M0VcXHU1NzUwXFx1NTc0RlxcdTU3M0JcXHU1OEVGXFx1NTkzRVxcdTU5OURcXHU1OTkyXFx1NTlBOFxcdTU5OUVcXHU1OUEzXFx1NTk5OVxcdTU5OTZcXHU1OThEXFx1NTlBNFxcdTU5OTNcXHU1OThBXFx1NTlBNVxcdTVCNURcXHU1QjVDXFx1NUI1QVxcdTVCNUJcXHU1QjhDXFx1NUI4QlxcdTVCOEZcXHU1QzJDXFx1NUM0MFxcdTVDNDFcXHU1QzNGXFx1NUMzRVxcdTVDOTBcXHU1QzkxXFx1NUM5NFxcdTVDOENcXHU1REVCXFx1NUUwQ1xcdTVFOEZcXHU1RTg3XFx1NUU4QVxcdTVFRjdcXHU1RjA0XFx1NUYxRlxcdTVGNjRcXHU1RjYyXFx1NUY3N1xcdTVGNzlcXHU1RkQ4XFx1NUZDQ1xcdTVGRDdcXHU1RkNEXFx1NUZGMVxcdTVGRUJcXHU1RkY4XFx1NUZFQVxcdTYyMTJcXHU2MjExXFx1NjI4NFxcdTYyOTdcXHU2Mjk2XFx1NjI4MFxcdTYyNzZcXHU2Mjg5XFx1NjI2RFxcdTYyOEFcXHU2MjdDXFx1NjI3RVxcdTYyNzlcXHU2MjczXFx1NjI5MlxcdTYyNkZcXHU2Mjk4XFx1NjI2RVxcdTYyOTVcXHU2MjkzXFx1NjI5MVxcdTYyODZcXHU2NTM5XFx1NjUzQlxcdTY1MzhcXHU2NUYxXFx1NjZGNFxcdTY3NUZcXHU2NzRFXFx1Njc0RlxcdTY3NTBcXHU2NzUxXFx1Njc1Q1xcdTY3NTZcXHU2NzVFXFx1Njc0OVxcdTY3NDZcXHU2NzYwXCJdLFxuICAgICAgW1wiYTg0MFwiLCBcIlxcdTY3NTNcXHU2NzU3XFx1NkI2NVxcdTZCQ0ZcXHU2QzQyXFx1NkM1RVxcdTZDOTlcXHU2QzgxXFx1NkM4OFxcdTZDODlcXHU2Qzg1XFx1NkM5QlxcdTZDNkFcXHU2QzdBXFx1NkM5MFxcdTZDNzBcXHU2QzhDXFx1NkM2OFxcdTZDOTZcXHU2QzkyXFx1NkM3RFxcdTZDODNcXHU2QzcyXFx1NkM3RVxcdTZDNzRcXHU2Qzg2XFx1NkM3NlxcdTZDOERcXHU2Qzk0XFx1NkM5OFxcdTZDODJcXHU3MDc2XFx1NzA3Q1xcdTcwN0RcXHU3MDc4XFx1NzI2MlxcdTcyNjFcXHU3MjYwXFx1NzJDNFxcdTcyQzJcXHU3Mzk2XFx1NzUyQ1xcdTc1MkJcXHU3NTM3XFx1NzUzOFxcdTc2ODJcXHU3NkVGXFx1NzdFM1xcdTc5QzFcXHU3OUMwXFx1NzlCRlxcdTdBNzZcXHU3Q0ZCXFx1N0Y1NVxcdTgwOTZcXHU4MDkzXFx1ODA5RFxcdTgwOThcXHU4MDlCXFx1ODA5QVxcdTgwQjJcXHU4MjZGXFx1ODI5MlwiXSxcbiAgICAgIFtcImE4YTFcIiwgXCJcXHU4MjhCXFx1ODI4RFxcdTg5OEJcXHU4OUQyXFx1OEEwMFxcdThDMzdcXHU4QzQ2XFx1OEM1NVxcdThDOURcXHU4RDY0XFx1OEQ3MFxcdThEQjNcXHU4RUFCXFx1OEVDQVxcdThGOUJcXHU4RkIwXFx1OEZDMlxcdThGQzZcXHU4RkM1XFx1OEZDNFxcdTVERTFcXHU5MDkxXFx1OTBBMlxcdTkwQUFcXHU5MEE2XFx1OTBBM1xcdTkxNDlcXHU5MUM2XFx1OTFDQ1xcdTk2MzJcXHU5NjJFXFx1OTYzMVxcdTk2MkFcXHU5NjJDXFx1NEUyNlxcdTRFNTZcXHU0RTczXFx1NEU4QlxcdTRFOUJcXHU0RTlFXFx1NEVBQlxcdTRFQUNcXHU0RjZGXFx1NEY5RFxcdTRGOERcXHU0RjczXFx1NEY3RlxcdTRGNkNcXHU0RjlCXFx1NEY4QlxcdTRGODZcXHU0RjgzXFx1NEY3MFxcdTRGNzVcXHU0Rjg4XFx1NEY2OVxcdTRGN0JcXHU0Rjk2XFx1NEY3RVxcdTRGOEZcXHU0RjkxXFx1NEY3QVxcdTUxNTRcXHU1MTUyXFx1NTE1NVxcdTUxNjlcXHU1MTc3XFx1NTE3NlxcdTUxNzhcXHU1MUJEXFx1NTFGRFxcdTUyM0JcXHU1MjM4XFx1NTIzN1xcdTUyM0FcXHU1MjMwXFx1NTIyRVxcdTUyMzZcXHU1MjQxXFx1NTJCRVxcdTUyQkJcXHU1MzUyXFx1NTM1NFxcdTUzNTNcXHU1MzUxXFx1NTM2NlxcdTUzNzdcXHU1Mzc4XFx1NTM3OVxcdTUzRDZcXHU1M0Q0XFx1NTNEN1xcdTU0NzNcXHU1NDc1XCJdLFxuICAgICAgW1wiYTk0MFwiLCBcIlxcdTU0OTZcXHU1NDc4XFx1NTQ5NVxcdTU0ODBcXHU1NDdCXFx1NTQ3N1xcdTU0ODRcXHU1NDkyXFx1NTQ4NlxcdTU0N0NcXHU1NDkwXFx1NTQ3MVxcdTU0NzZcXHU1NDhDXFx1NTQ5QVxcdTU0NjJcXHU1NDY4XFx1NTQ4QlxcdTU0N0RcXHU1NDhFXFx1NTZGQVxcdTU3ODNcXHU1Nzc3XFx1NTc2QVxcdTU3NjlcXHU1NzYxXFx1NTc2NlxcdTU3NjRcXHU1NzdDXFx1NTkxQ1xcdTU5NDlcXHU1OTQ3XFx1NTk0OFxcdTU5NDRcXHU1OTU0XFx1NTlCRVxcdTU5QkJcXHU1OUQ0XFx1NTlCOVxcdTU5QUVcXHU1OUQxXFx1NTlDNlxcdTU5RDBcXHU1OUNEXFx1NTlDQlxcdTU5RDNcXHU1OUNBXFx1NTlBRlxcdTU5QjNcXHU1OUQyXFx1NTlDNVxcdTVCNUZcXHU1QjY0XFx1NUI2M1xcdTVCOTdcXHU1QjlBXFx1NUI5OFxcdTVCOUNcXHU1Qjk5XFx1NUI5QlxcdTVDMUFcXHU1QzQ4XFx1NUM0NVwiXSxcbiAgICAgIFtcImE5YTFcIiwgXCJcXHU1QzQ2XFx1NUNCN1xcdTVDQTFcXHU1Q0I4XFx1NUNBOVxcdTVDQUJcXHU1Q0IxXFx1NUNCM1xcdTVFMThcXHU1RTFBXFx1NUUxNlxcdTVFMTVcXHU1RTFCXFx1NUUxMVxcdTVFNzhcXHU1RTlBXFx1NUU5N1xcdTVFOUNcXHU1RTk1XFx1NUU5NlxcdTVFRjZcXHU1RjI2XFx1NUYyN1xcdTVGMjlcXHU1RjgwXFx1NUY4MVxcdTVGN0ZcXHU1RjdDXFx1NUZERFxcdTVGRTBcXHU1RkZEXFx1NUZGNVxcdTVGRkZcXHU2MDBGXFx1NjAxNFxcdTYwMkZcXHU2MDM1XFx1NjAxNlxcdTYwMkFcXHU2MDE1XFx1NjAyMVxcdTYwMjdcXHU2MDI5XFx1NjAyQlxcdTYwMUJcXHU2MjE2XFx1NjIxNVxcdTYyM0ZcXHU2MjNFXFx1NjI0MFxcdTYyN0ZcXHU2MkM5XFx1NjJDQ1xcdTYyQzRcXHU2MkJGXFx1NjJDMlxcdTYyQjlcXHU2MkQyXFx1NjJEQlxcdTYyQUJcXHU2MkQzXFx1NjJENFxcdTYyQ0JcXHU2MkM4XFx1NjJBOFxcdTYyQkRcXHU2MkJDXFx1NjJEMFxcdTYyRDlcXHU2MkM3XFx1NjJDRFxcdTYyQjVcXHU2MkRBXFx1NjJCMVxcdTYyRDhcXHU2MkQ2XFx1NjJEN1xcdTYyQzZcXHU2MkFDXFx1NjJDRVxcdTY1M0VcXHU2NUE3XFx1NjVCQ1xcdTY1RkFcXHU2NjE0XFx1NjYxM1xcdTY2MENcXHU2NjA2XFx1NjYwMlxcdTY2MEVcXHU2NjAwXFx1NjYwRlxcdTY2MTVcXHU2NjBBXCJdLFxuICAgICAgW1wiYWE0MFwiLCBcIlxcdTY2MDdcXHU2NzBEXFx1NjcwQlxcdTY3NkRcXHU2NzhCXFx1Njc5NVxcdTY3NzFcXHU2NzlDXFx1Njc3M1xcdTY3NzdcXHU2Nzg3XFx1Njc5RFxcdTY3OTdcXHU2NzZGXFx1Njc3MFxcdTY3N0ZcXHU2Nzg5XFx1Njc3RVxcdTY3OTBcXHU2Nzc1XFx1Njc5QVxcdTY3OTNcXHU2NzdDXFx1Njc2QVxcdTY3NzJcXHU2QjIzXFx1NkI2NlxcdTZCNjdcXHU2QjdGXFx1NkMxM1xcdTZDMUJcXHU2Q0UzXFx1NkNFOFxcdTZDRjNcXHU2Q0IxXFx1NkNDQ1xcdTZDRTVcXHU2Q0IzXFx1NkNCRFxcdTZDQkVcXHU2Q0JDXFx1NkNFMlxcdTZDQUJcXHU2Q0Q1XFx1NkNEM1xcdTZDQjhcXHU2Q0M0XFx1NkNCOVxcdTZDQzFcXHU2Q0FFXFx1NkNEN1xcdTZDQzVcXHU2Q0YxXFx1NkNCRlxcdTZDQkJcXHU2Q0UxXFx1NkNEQlxcdTZDQ0FcXHU2Q0FDXFx1NkNFRlxcdTZDRENcXHU2Q0Q2XFx1NkNFMFwiXSxcbiAgICAgIFtcImFhYTFcIiwgXCJcXHU3MDk1XFx1NzA4RVxcdTcwOTJcXHU3MDhBXFx1NzA5OVxcdTcyMkNcXHU3MjJEXFx1NzIzOFxcdTcyNDhcXHU3MjY3XFx1NzI2OVxcdTcyQzBcXHU3MkNFXFx1NzJEOVxcdTcyRDdcXHU3MkQwXFx1NzNBOVxcdTczQThcXHU3MzlGXFx1NzNBQlxcdTczQTVcXHU3NTNEXFx1NzU5RFxcdTc1OTlcXHU3NTlBXFx1NzY4NFxcdTc2QzJcXHU3NkYyXFx1NzZGNFxcdTc3RTVcXHU3N0ZEXFx1NzkzRVxcdTc5NDBcXHU3OTQxXFx1NzlDOVxcdTc5QzhcXHU3QTdBXFx1N0E3OVxcdTdBRkFcXHU3Q0ZFXFx1N0Y1NFxcdTdGOENcXHU3RjhCXFx1ODAwNVxcdTgwQkFcXHU4MEE1XFx1ODBBMlxcdTgwQjFcXHU4MEExXFx1ODBBQlxcdTgwQTlcXHU4MEI0XFx1ODBBQVxcdTgwQUZcXHU4MUU1XFx1ODFGRVxcdTgyMERcXHU4MkIzXFx1ODI5RFxcdTgyOTlcXHU4MkFEXFx1ODJCRFxcdTgyOUZcXHU4MkI5XFx1ODJCMVxcdTgyQUNcXHU4MkE1XFx1ODJBRlxcdTgyQjhcXHU4MkEzXFx1ODJCMFxcdTgyQkVcXHU4MkI3XFx1ODY0RVxcdTg2NzFcXHU1MjFEXFx1ODg2OFxcdThFQ0JcXHU4RkNFXFx1OEZENFxcdThGRDFcXHU5MEI1XFx1OTBCOFxcdTkwQjFcXHU5MEI2XFx1OTFDN1xcdTkxRDFcXHU5NTc3XFx1OTU4MFxcdTk2MUNcXHU5NjQwXFx1OTYzRlxcdTk2M0JcXHU5NjQ0XCJdLFxuICAgICAgW1wiYWI0MFwiLCBcIlxcdTk2NDJcXHU5NkI5XFx1OTZFOFxcdTk3NTJcXHU5NzVFXFx1NEU5RlxcdTRFQURcXHU0RUFFXFx1NEZFMVxcdTRGQjVcXHU0RkFGXFx1NEZCRlxcdTRGRTBcXHU0RkQxXFx1NEZDRlxcdTRGRERcXHU0RkMzXFx1NEZCNlxcdTRGRDhcXHU0RkRGXFx1NEZDQVxcdTRGRDdcXHU0RkFFXFx1NEZEMFxcdTRGQzRcXHU0RkMyXFx1NEZEQVxcdTRGQ0VcXHU0RkRFXFx1NEZCN1xcdTUxNTdcXHU1MTkyXFx1NTE5MVxcdTUxQTBcXHU1MjRFXFx1NTI0M1xcdTUyNEFcXHU1MjREXFx1NTI0Q1xcdTUyNEJcXHU1MjQ3XFx1NTJDN1xcdTUyQzlcXHU1MkMzXFx1NTJDMVxcdTUzMERcXHU1MzU3XFx1NTM3QlxcdTUzOUFcXHU1M0RCXFx1NTRBQ1xcdTU0QzBcXHU1NEE4XFx1NTRDRVxcdTU0QzlcXHU1NEI4XFx1NTRBNlxcdTU0QjNcXHU1NEM3XFx1NTRDMlxcdTU0QkRcXHU1NEFBXFx1NTRDMVwiXSxcbiAgICAgIFtcImFiYTFcIiwgXCJcXHU1NEM0XFx1NTRDOFxcdTU0QUZcXHU1NEFCXFx1NTRCMVxcdTU0QkJcXHU1NEE5XFx1NTRBN1xcdTU0QkZcXHU1NkZGXFx1NTc4MlxcdTU3OEJcXHU1N0EwXFx1NTdBM1xcdTU3QTJcXHU1N0NFXFx1NTdBRVxcdTU3OTNcXHU1OTU1XFx1NTk1MVxcdTU5NEZcXHU1OTRFXFx1NTk1MFxcdTU5RENcXHU1OUQ4XFx1NTlGRlxcdTU5RTNcXHU1OUU4XFx1NUEwM1xcdTU5RTVcXHU1OUVBXFx1NTlEQVxcdTU5RTZcXHU1QTAxXFx1NTlGQlxcdTVCNjlcXHU1QkEzXFx1NUJBNlxcdTVCQTRcXHU1QkEyXFx1NUJBNVxcdTVDMDFcXHU1QzRFXFx1NUM0RlxcdTVDNERcXHU1QzRCXFx1NUNEOVxcdTVDRDJcXHU1REY3XFx1NUUxRFxcdTVFMjVcXHU1RTFGXFx1NUU3RFxcdTVFQTBcXHU1RUE2XFx1NUVGQVxcdTVGMDhcXHU1RjJEXFx1NUY2NVxcdTVGODhcXHU1Rjg1XFx1NUY4QVxcdTVGOEJcXHU1Rjg3XFx1NUY4Q1xcdTVGODlcXHU2MDEyXFx1NjAxRFxcdTYwMjBcXHU2MDI1XFx1NjAwRVxcdTYwMjhcXHU2MDREXFx1NjA3MFxcdTYwNjhcXHU2MDYyXFx1NjA0NlxcdTYwNDNcXHU2MDZDXFx1NjA2QlxcdTYwNkFcXHU2MDY0XFx1NjI0MVxcdTYyRENcXHU2MzE2XFx1NjMwOVxcdTYyRkNcXHU2MkVEXFx1NjMwMVxcdTYyRUVcXHU2MkZEXFx1NjMwN1xcdTYyRjFcXHU2MkY3XCJdLFxuICAgICAgW1wiYWM0MFwiLCBcIlxcdTYyRUZcXHU2MkVDXFx1NjJGRVxcdTYyRjRcXHU2MzExXFx1NjMwMlxcdTY1M0ZcXHU2NTQ1XFx1NjVBQlxcdTY1QkRcXHU2NUUyXFx1NjYyNVxcdTY2MkRcXHU2NjIwXFx1NjYyN1xcdTY2MkZcXHU2NjFGXFx1NjYyOFxcdTY2MzFcXHU2NjI0XFx1NjZGN1xcdTY3RkZcXHU2N0QzXFx1NjdGMVxcdTY3RDRcXHU2N0QwXFx1NjdFQ1xcdTY3QjZcXHU2N0FGXFx1NjdGNVxcdTY3RTlcXHU2N0VGXFx1NjdDNFxcdTY3RDFcXHU2N0I0XFx1NjdEQVxcdTY3RTVcXHU2N0I4XFx1NjdDRlxcdTY3REVcXHU2N0YzXFx1NjdCMFxcdTY3RDlcXHU2N0UyXFx1NjdERFxcdTY3RDJcXHU2QjZBXFx1NkI4M1xcdTZCODZcXHU2QkI1XFx1NkJEMlxcdTZCRDdcXHU2QzFGXFx1NkNDOVxcdTZEMEJcXHU2RDMyXFx1NkQyQVxcdTZENDFcXHU2RDI1XFx1NkQwQ1xcdTZEMzFcXHU2RDFFXFx1NkQxN1wiXSxcbiAgICAgIFtcImFjYTFcIiwgXCJcXHU2RDNCXFx1NkQzRFxcdTZEM0VcXHU2RDM2XFx1NkQxQlxcdTZDRjVcXHU2RDM5XFx1NkQyN1xcdTZEMzhcXHU2RDI5XFx1NkQyRVxcdTZEMzVcXHU2RDBFXFx1NkQyQlxcdTcwQUJcXHU3MEJBXFx1NzBCM1xcdTcwQUNcXHU3MEFGXFx1NzBBRFxcdTcwQjhcXHU3MEFFXFx1NzBBNFxcdTcyMzBcXHU3MjcyXFx1NzI2RlxcdTcyNzRcXHU3MkU5XFx1NzJFMFxcdTcyRTFcXHU3M0I3XFx1NzNDQVxcdTczQkJcXHU3M0IyXFx1NzNDRFxcdTczQzBcXHU3M0IzXFx1NzUxQVxcdTc1MkRcXHU3NTRGXFx1NzU0Q1xcdTc1NEVcXHU3NTRCXFx1NzVBQlxcdTc1QTRcXHU3NUE1XFx1NzVBMlxcdTc1QTNcXHU3Njc4XFx1NzY4NlxcdTc2ODdcXHU3Njg4XFx1NzZDOFxcdTc2QzZcXHU3NkMzXFx1NzZDNVxcdTc3MDFcXHU3NkY5XFx1NzZGOFxcdTc3MDlcXHU3NzBCXFx1NzZGRVxcdTc2RkNcXHU3NzA3XFx1NzdEQ1xcdTc4MDJcXHU3ODE0XFx1NzgwQ1xcdTc4MERcXHU3OTQ2XFx1Nzk0OVxcdTc5NDhcXHU3OTQ3XFx1NzlCOVxcdTc5QkFcXHU3OUQxXFx1NzlEMlxcdTc5Q0JcXHU3QTdGXFx1N0E4MVxcdTdBRkZcXHU3QUZEXFx1N0M3RFxcdTdEMDJcXHU3RDA1XFx1N0QwMFxcdTdEMDlcXHU3RDA3XFx1N0QwNFxcdTdEMDZcXHU3RjM4XFx1N0Y4RVxcdTdGQkZcXHU4MDA0XCJdLFxuICAgICAgW1wiYWQ0MFwiLCBcIlxcdTgwMTBcXHU4MDBEXFx1ODAxMVxcdTgwMzZcXHU4MEQ2XFx1ODBFNVxcdTgwREFcXHU4MEMzXFx1ODBDNFxcdTgwQ0NcXHU4MEUxXFx1ODBEQlxcdTgwQ0VcXHU4MERFXFx1ODBFNFxcdTgwRERcXHU4MUY0XFx1ODIyMlxcdTgyRTdcXHU4MzAzXFx1ODMwNVxcdTgyRTNcXHU4MkRCXFx1ODJFNlxcdTgzMDRcXHU4MkU1XFx1ODMwMlxcdTgzMDlcXHU4MkQyXFx1ODJEN1xcdTgyRjFcXHU4MzAxXFx1ODJEQ1xcdTgyRDRcXHU4MkQxXFx1ODJERVxcdTgyRDNcXHU4MkRGXFx1ODJFRlxcdTgzMDZcXHU4NjUwXFx1ODY3OVxcdTg2N0JcXHU4NjdBXFx1ODg0RFxcdTg4NkJcXHU4OTgxXFx1ODlENFxcdThBMDhcXHU4QTAyXFx1OEEwM1xcdThDOUVcXHU4Q0EwXFx1OEQ3NFxcdThENzNcXHU4REI0XFx1OEVDRFxcdThFQ0NcXHU4RkYwXFx1OEZFNlxcdThGRTJcXHU4RkVBXFx1OEZFNVwiXSxcbiAgICAgIFtcImFkYTFcIiwgXCJcXHU4RkVEXFx1OEZFQlxcdThGRTRcXHU4RkU4XFx1OTBDQVxcdTkwQ0VcXHU5MEMxXFx1OTBDM1xcdTkxNEJcXHU5MTRBXFx1OTFDRFxcdTk1ODJcXHU5NjUwXFx1OTY0QlxcdTk2NENcXHU5NjREXFx1OTc2MlxcdTk3NjlcXHU5N0NCXFx1OTdFRFxcdTk3RjNcXHU5ODAxXFx1OThBOFxcdTk4REJcXHU5OERGXFx1OTk5NlxcdTk5OTlcXHU0RTU4XFx1NEVCM1xcdTUwMENcXHU1MDBEXFx1NTAyM1xcdTRGRUZcXHU1MDI2XFx1NTAyNVxcdTRGRjhcXHU1MDI5XFx1NTAxNlxcdTUwMDZcXHU1MDNDXFx1NTAxRlxcdTUwMUFcXHU1MDEyXFx1NTAxMVxcdTRGRkFcXHU1MDAwXFx1NTAxNFxcdTUwMjhcXHU0RkYxXFx1NTAyMVxcdTUwMEJcXHU1MDE5XFx1NTAxOFxcdTRGRjNcXHU0RkVFXFx1NTAyRFxcdTUwMkFcXHU0RkZFXFx1NTAyQlxcdTUwMDlcXHU1MTdDXFx1NTFBNFxcdTUxQTVcXHU1MUEyXFx1NTFDRFxcdTUxQ0NcXHU1MUM2XFx1NTFDQlxcdTUyNTZcXHU1MjVDXFx1NTI1NFxcdTUyNUJcXHU1MjVEXFx1NTMyQVxcdTUzN0ZcXHU1MzlGXFx1NTM5RFxcdTUzREZcXHU1NEU4XFx1NTUxMFxcdTU1MDFcXHU1NTM3XFx1NTRGQ1xcdTU0RTVcXHU1NEYyXFx1NTUwNlxcdTU0RkFcXHU1NTE0XFx1NTRFOVxcdTU0RURcXHU1NEUxXFx1NTUwOVxcdTU0RUVcXHU1NEVBXCJdLFxuICAgICAgW1wiYWU0MFwiLCBcIlxcdTU0RTZcXHU1NTI3XFx1NTUwN1xcdTU0RkRcXHU1NTBGXFx1NTcwM1xcdTU3MDRcXHU1N0MyXFx1NTdENFxcdTU3Q0JcXHU1N0MzXFx1NTgwOVxcdTU5MEZcXHU1OTU3XFx1NTk1OFxcdTU5NUFcXHU1QTExXFx1NUExOFxcdTVBMUNcXHU1QTFGXFx1NUExQlxcdTVBMTNcXHU1OUVDXFx1NUEyMFxcdTVBMjNcXHU1QTI5XFx1NUEyNVxcdTVBMENcXHU1QTA5XFx1NUI2QlxcdTVDNThcXHU1QkIwXFx1NUJCM1xcdTVCQjZcXHU1QkI0XFx1NUJBRVxcdTVCQjVcXHU1QkI5XFx1NUJCOFxcdTVDMDRcXHU1QzUxXFx1NUM1NVxcdTVDNTBcXHU1Q0VEXFx1NUNGRFxcdTVDRkJcXHU1Q0VBXFx1NUNFOFxcdTVDRjBcXHU1Q0Y2XFx1NUQwMVxcdTVDRjRcXHU1REVFXFx1NUUyRFxcdTVFMkJcXHU1RUFCXFx1NUVBRFxcdTVFQTdcXHU1RjMxXFx1NUY5MlxcdTVGOTFcXHU1RjkwXFx1NjA1OVwiXSxcbiAgICAgIFtcImFlYTFcIiwgXCJcXHU2MDYzXFx1NjA2NVxcdTYwNTBcXHU2MDU1XFx1NjA2RFxcdTYwNjlcXHU2MDZGXFx1NjA4NFxcdTYwOUZcXHU2MDlBXFx1NjA4RFxcdTYwOTRcXHU2MDhDXFx1NjA4NVxcdTYwOTZcXHU2MjQ3XFx1NjJGM1xcdTYzMDhcXHU2MkZGXFx1NjM0RVxcdTYzM0VcXHU2MzJGXFx1NjM1NVxcdTYzNDJcXHU2MzQ2XFx1NjM0RlxcdTYzNDlcXHU2MzNBXFx1NjM1MFxcdTYzM0RcXHU2MzJBXFx1NjMyQlxcdTYzMjhcXHU2MzREXFx1NjM0Q1xcdTY1NDhcXHU2NTQ5XFx1NjU5OVxcdTY1QzFcXHU2NUM1XFx1NjY0MlxcdTY2NDlcXHU2NjRGXFx1NjY0M1xcdTY2NTJcXHU2NjRDXFx1NjY0NVxcdTY2NDFcXHU2NkY4XFx1NjcxNFxcdTY3MTVcXHU2NzE3XFx1NjgyMVxcdTY4MzhcXHU2ODQ4XFx1Njg0NlxcdTY4NTNcXHU2ODM5XFx1Njg0MlxcdTY4NTRcXHU2ODI5XFx1NjhCM1xcdTY4MTdcXHU2ODRDXFx1Njg1MVxcdTY4M0RcXHU2N0Y0XFx1Njg1MFxcdTY4NDBcXHU2ODNDXFx1Njg0M1xcdTY4MkFcXHU2ODQ1XFx1NjgxM1xcdTY4MThcXHU2ODQxXFx1NkI4QVxcdTZCODlcXHU2QkI3XFx1NkMyM1xcdTZDMjdcXHU2QzI4XFx1NkMyNlxcdTZDMjRcXHU2Q0YwXFx1NkQ2QVxcdTZEOTVcXHU2RDg4XFx1NkQ4N1xcdTZENjZcXHU2RDc4XFx1NkQ3N1xcdTZENTlcXHU2RDkzXCJdLFxuICAgICAgW1wiYWY0MFwiLCBcIlxcdTZENkNcXHU2RDg5XFx1NkQ2RVxcdTZENUFcXHU2RDc0XFx1NkQ2OVxcdTZEOENcXHU2RDhBXFx1NkQ3OVxcdTZEODVcXHU2RDY1XFx1NkQ5NFxcdTcwQ0FcXHU3MEQ4XFx1NzBFNFxcdTcwRDlcXHU3MEM4XFx1NzBDRlxcdTcyMzlcXHU3Mjc5XFx1NzJGQ1xcdTcyRjlcXHU3MkZEXFx1NzJGOFxcdTcyRjdcXHU3Mzg2XFx1NzNFRFxcdTc0MDlcXHU3M0VFXFx1NzNFMFxcdTczRUFcXHU3M0RFXFx1NzU1NFxcdTc1NURcXHU3NTVDXFx1NzU1QVxcdTc1NTlcXHU3NUJFXFx1NzVDNVxcdTc1QzdcXHU3NUIyXFx1NzVCM1xcdTc1QkRcXHU3NUJDXFx1NzVCOVxcdTc1QzJcXHU3NUI4XFx1NzY4QlxcdTc2QjBcXHU3NkNBXFx1NzZDRFxcdTc2Q0VcXHU3NzI5XFx1NzcxRlxcdTc3MjBcXHU3NzI4XFx1NzdFOVxcdTc4MzBcXHU3ODI3XFx1NzgzOFxcdTc4MURcXHU3ODM0XFx1NzgzN1wiXSxcbiAgICAgIFtcImFmYTFcIiwgXCJcXHU3ODI1XFx1NzgyRFxcdTc4MjBcXHU3ODFGXFx1NzgzMlxcdTc5NTVcXHU3OTUwXFx1Nzk2MFxcdTc5NUZcXHU3OTU2XFx1Nzk1RVxcdTc5NURcXHU3OTU3XFx1Nzk1QVxcdTc5RTRcXHU3OUUzXFx1NzlFN1xcdTc5REZcXHU3OUU2XFx1NzlFOVxcdTc5RDhcXHU3QTg0XFx1N0E4OFxcdTdBRDlcXHU3QjA2XFx1N0IxMVxcdTdDODlcXHU3RDIxXFx1N0QxN1xcdTdEMEJcXHU3RDBBXFx1N0QyMFxcdTdEMjJcXHU3RDE0XFx1N0QxMFxcdTdEMTVcXHU3RDFBXFx1N0QxQ1xcdTdEMERcXHU3RDE5XFx1N0QxQlxcdTdGM0FcXHU3RjVGXFx1N0Y5NFxcdTdGQzVcXHU3RkMxXFx1ODAwNlxcdTgwMThcXHU4MDE1XFx1ODAxOVxcdTgwMTdcXHU4MDNEXFx1ODAzRlxcdTgwRjFcXHU4MTAyXFx1ODBGMFxcdTgxMDVcXHU4MEVEXFx1ODBGNFxcdTgxMDZcXHU4MEY4XFx1ODBGM1xcdTgxMDhcXHU4MEZEXFx1ODEwQVxcdTgwRkNcXHU4MEVGXFx1ODFFRFxcdTgxRUNcXHU4MjAwXFx1ODIxMFxcdTgyMkFcXHU4MjJCXFx1ODIyOFxcdTgyMkNcXHU4MkJCXFx1ODMyQlxcdTgzNTJcXHU4MzU0XFx1ODM0QVxcdTgzMzhcXHU4MzUwXFx1ODM0OVxcdTgzMzVcXHU4MzM0XFx1ODM0RlxcdTgzMzJcXHU4MzM5XFx1ODMzNlxcdTgzMTdcXHU4MzQwXFx1ODMzMVxcdTgzMjhcXHU4MzQzXCJdLFxuICAgICAgW1wiYjA0MFwiLCBcIlxcdTg2NTRcXHU4NjhBXFx1ODZBQVxcdTg2OTNcXHU4NkE0XFx1ODZBOVxcdTg2OENcXHU4NkEzXFx1ODY5Q1xcdTg4NzBcXHU4ODc3XFx1ODg4MVxcdTg4ODJcXHU4ODdEXFx1ODg3OVxcdThBMThcXHU4QTEwXFx1OEEwRVxcdThBMENcXHU4QTE1XFx1OEEwQVxcdThBMTdcXHU4QTEzXFx1OEExNlxcdThBMEZcXHU4QTExXFx1OEM0OFxcdThDN0FcXHU4Qzc5XFx1OENBMVxcdThDQTJcXHU4RDc3XFx1OEVBQ1xcdThFRDJcXHU4RUQ0XFx1OEVDRlxcdThGQjFcXHU5MDAxXFx1OTAwNlxcdThGRjdcXHU5MDAwXFx1OEZGQVxcdThGRjRcXHU5MDAzXFx1OEZGRFxcdTkwMDVcXHU4RkY4XFx1OTA5NVxcdTkwRTFcXHU5MEREXFx1OTBFMlxcdTkxNTJcXHU5MTREXFx1OTE0Q1xcdTkxRDhcXHU5MUREXFx1OTFEN1xcdTkxRENcXHU5MUQ5XFx1OTU4M1xcdTk2NjJcXHU5NjYzXFx1OTY2MVwiXSxcbiAgICAgIFtcImIwYTFcIiwgXCJcXHU5NjVCXFx1OTY1RFxcdTk2NjRcXHU5NjU4XFx1OTY1RVxcdTk2QkJcXHU5OEUyXFx1OTlBQ1xcdTlBQThcXHU5QUQ4XFx1OUIyNVxcdTlCMzJcXHU5QjNDXFx1NEU3RVxcdTUwN0FcXHU1MDdEXFx1NTA1Q1xcdTUwNDdcXHU1MDQzXFx1NTA0Q1xcdTUwNUFcXHU1MDQ5XFx1NTA2NVxcdTUwNzZcXHU1MDRFXFx1NTA1NVxcdTUwNzVcXHU1MDc0XFx1NTA3N1xcdTUwNEZcXHU1MDBGXFx1NTA2RlxcdTUwNkRcXHU1MTVDXFx1NTE5NVxcdTUxRjBcXHU1MjZBXFx1NTI2RlxcdTUyRDJcXHU1MkQ5XFx1NTJEOFxcdTUyRDVcXHU1MzEwXFx1NTMwRlxcdTUzMTlcXHU1MzNGXFx1NTM0MFxcdTUzM0VcXHU1M0MzXFx1NjZGQ1xcdTU1NDZcXHU1NTZBXFx1NTU2NlxcdTU1NDRcXHU1NTVFXFx1NTU2MVxcdTU1NDNcXHU1NTRBXFx1NTUzMVxcdTU1NTZcXHU1NTRGXFx1NTU1NVxcdTU1MkZcXHU1NTY0XFx1NTUzOFxcdTU1MkVcXHU1NTVDXFx1NTUyQ1xcdTU1NjNcXHU1NTMzXFx1NTU0MVxcdTU1NTdcXHU1NzA4XFx1NTcwQlxcdTU3MDlcXHU1N0RGXFx1NTgwNVxcdTU4MEFcXHU1ODA2XFx1NTdFMFxcdTU3RTRcXHU1N0ZBXFx1NTgwMlxcdTU4MzVcXHU1N0Y3XFx1NTdGOVxcdTU5MjBcXHU1OTYyXFx1NUEzNlxcdTVBNDFcXHU1QTQ5XFx1NUE2NlxcdTVBNkFcXHU1QTQwXCJdLFxuICAgICAgW1wiYjE0MFwiLCBcIlxcdTVBM0NcXHU1QTYyXFx1NUE1QVxcdTVBNDZcXHU1QTRBXFx1NUI3MFxcdTVCQzdcXHU1QkM1XFx1NUJDNFxcdTVCQzJcXHU1QkJGXFx1NUJDNlxcdTVDMDlcXHU1QzA4XFx1NUMwN1xcdTVDNjBcXHU1QzVDXFx1NUM1RFxcdTVEMDdcXHU1RDA2XFx1NUQwRVxcdTVEMUJcXHU1RDE2XFx1NUQyMlxcdTVEMTFcXHU1RDI5XFx1NUQxNFxcdTVEMTlcXHU1RDI0XFx1NUQyN1xcdTVEMTdcXHU1REUyXFx1NUUzOFxcdTVFMzZcXHU1RTMzXFx1NUUzN1xcdTVFQjdcXHU1RUI4XFx1NUVCNlxcdTVFQjVcXHU1RUJFXFx1NUYzNVxcdTVGMzdcXHU1RjU3XFx1NUY2Q1xcdTVGNjlcXHU1RjZCXFx1NUY5N1xcdTVGOTlcXHU1RjlFXFx1NUY5OFxcdTVGQTFcXHU1RkEwXFx1NUY5Q1xcdTYwN0ZcXHU2MEEzXFx1NjA4OVxcdTYwQTBcXHU2MEE4XFx1NjBDQlxcdTYwQjRcXHU2MEU2XFx1NjBCRFwiXSxcbiAgICAgIFtcImIxYTFcIiwgXCJcXHU2MEM1XFx1NjBCQlxcdTYwQjVcXHU2MERDXFx1NjBCQ1xcdTYwRDhcXHU2MEQ1XFx1NjBDNlxcdTYwREZcXHU2MEI4XFx1NjBEQVxcdTYwQzdcXHU2MjFBXFx1NjIxQlxcdTYyNDhcXHU2M0EwXFx1NjNBN1xcdTYzNzJcXHU2Mzk2XFx1NjNBMlxcdTYzQTVcXHU2Mzc3XFx1NjM2N1xcdTYzOThcXHU2M0FBXFx1NjM3MVxcdTYzQTlcXHU2Mzg5XFx1NjM4M1xcdTYzOUJcXHU2MzZCXFx1NjNBOFxcdTYzODRcXHU2Mzg4XFx1NjM5OVxcdTYzQTFcXHU2M0FDXFx1NjM5MlxcdTYzOEZcXHU2MzgwXFx1NjM3QlxcdTYzNjlcXHU2MzY4XFx1NjM3QVxcdTY1NURcXHU2NTU2XFx1NjU1MVxcdTY1NTlcXHU2NTU3XFx1NTU1RlxcdTY1NEZcXHU2NTU4XFx1NjU1NVxcdTY1NTRcXHU2NTlDXFx1NjU5QlxcdTY1QUNcXHU2NUNGXFx1NjVDQlxcdTY1Q0NcXHU2NUNFXFx1NjY1RFxcdTY2NUFcXHU2NjY0XFx1NjY2OFxcdTY2NjZcXHU2NjVFXFx1NjZGOVxcdTUyRDdcXHU2NzFCXFx1Njg4MVxcdTY4QUZcXHU2OEEyXFx1Njg5M1xcdTY4QjVcXHU2ODdGXFx1Njg3NlxcdTY4QjFcXHU2OEE3XFx1Njg5N1xcdTY4QjBcXHU2ODgzXFx1NjhDNFxcdTY4QURcXHU2ODg2XFx1Njg4NVxcdTY4OTRcXHU2ODlEXFx1NjhBOFxcdTY4OUZcXHU2OEExXFx1Njg4MlxcdTZCMzJcXHU2QkJBXCJdLFxuICAgICAgW1wiYjI0MFwiLCBcIlxcdTZCRUJcXHU2QkVDXFx1NkMyQlxcdTZEOEVcXHU2REJDXFx1NkRGM1xcdTZERDlcXHU2REIyXFx1NkRFMVxcdTZEQ0NcXHU2REU0XFx1NkRGQlxcdTZERkFcXHU2RTA1XFx1NkRDN1xcdTZEQ0JcXHU2REFGXFx1NkREMVxcdTZEQUVcXHU2RERFXFx1NkRGOVxcdTZEQjhcXHU2REY3XFx1NkRGNVxcdTZEQzVcXHU2REQyXFx1NkUxQVxcdTZEQjVcXHU2RERBXFx1NkRFQlxcdTZERDhcXHU2REVBXFx1NkRGMVxcdTZERUVcXHU2REU4XFx1NkRDNlxcdTZEQzRcXHU2REFBXFx1NkRFQ1xcdTZEQkZcXHU2REU2XFx1NzBGOVxcdTcxMDlcXHU3MTBBXFx1NzBGRFxcdTcwRUZcXHU3MjNEXFx1NzI3RFxcdTcyODFcXHU3MzFDXFx1NzMxQlxcdTczMTZcXHU3MzEzXFx1NzMxOVxcdTczODdcXHU3NDA1XFx1NzQwQVxcdTc0MDNcXHU3NDA2XFx1NzNGRVxcdTc0MERcXHU3NEUwXFx1NzRGNlwiXSxcbiAgICAgIFtcImIyYTFcIiwgXCJcXHU3NEY3XFx1NzUxQ1xcdTc1MjJcXHU3NTY1XFx1NzU2NlxcdTc1NjJcXHU3NTcwXFx1NzU4RlxcdTc1RDRcXHU3NUQ1XFx1NzVCNVxcdTc1Q0FcXHU3NUNEXFx1NzY4RVxcdTc2RDRcXHU3NkQyXFx1NzZEQlxcdTc3MzdcXHU3NzNFXFx1NzczQ1xcdTc3MzZcXHU3NzM4XFx1NzczQVxcdTc4NkJcXHU3ODQzXFx1Nzg0RVxcdTc5NjVcXHU3OTY4XFx1Nzk2RFxcdTc5RkJcXHU3QTkyXFx1N0E5NVxcdTdCMjBcXHU3QjI4XFx1N0IxQlxcdTdCMkNcXHU3QjI2XFx1N0IxOVxcdTdCMUVcXHU3QjJFXFx1N0M5MlxcdTdDOTdcXHU3Qzk1XFx1N0Q0NlxcdTdENDNcXHU3RDcxXFx1N0QyRVxcdTdEMzlcXHU3RDNDXFx1N0Q0MFxcdTdEMzBcXHU3RDMzXFx1N0Q0NFxcdTdEMkZcXHU3RDQyXFx1N0QzMlxcdTdEMzFcXHU3RjNEXFx1N0Y5RVxcdTdGOUFcXHU3RkNDXFx1N0ZDRVxcdTdGRDJcXHU4MDFDXFx1ODA0QVxcdTgwNDZcXHU4MTJGXFx1ODExNlxcdTgxMjNcXHU4MTJCXFx1ODEyOVxcdTgxMzBcXHU4MTI0XFx1ODIwMlxcdTgyMzVcXHU4MjM3XFx1ODIzNlxcdTgyMzlcXHU4MzhFXFx1ODM5RVxcdTgzOThcXHU4Mzc4XFx1ODNBMlxcdTgzOTZcXHU4M0JEXFx1ODNBQlxcdTgzOTJcXHU4MzhBXFx1ODM5M1xcdTgzODlcXHU4M0EwXFx1ODM3N1xcdTgzN0JcXHU4MzdDXCJdLFxuICAgICAgW1wiYjM0MFwiLCBcIlxcdTgzODZcXHU4M0E3XFx1ODY1NVxcdTVGNkFcXHU4NkM3XFx1ODZDMFxcdTg2QjZcXHU4NkM0XFx1ODZCNVxcdTg2QzZcXHU4NkNCXFx1ODZCMVxcdTg2QUZcXHU4NkM5XFx1ODg1M1xcdTg4OUVcXHU4ODg4XFx1ODhBQlxcdTg4OTJcXHU4ODk2XFx1ODg4RFxcdTg4OEJcXHU4OTkzXFx1ODk4RlxcdThBMkFcXHU4QTFEXFx1OEEyM1xcdThBMjVcXHU4QTMxXFx1OEEyRFxcdThBMUZcXHU4QTFCXFx1OEEyMlxcdThDNDlcXHU4QzVBXFx1OENBOVxcdThDQUNcXHU4Q0FCXFx1OENBOFxcdThDQUFcXHU4Q0E3XFx1OEQ2N1xcdThENjZcXHU4REJFXFx1OERCQVxcdThFREJcXHU4RURGXFx1OTAxOVxcdTkwMERcXHU5MDFBXFx1OTAxN1xcdTkwMjNcXHU5MDFGXFx1OTAxRFxcdTkwMTBcXHU5MDE1XFx1OTAxRVxcdTkwMjBcXHU5MDBGXFx1OTAyMlxcdTkwMTZcXHU5MDFCXFx1OTAxNFwiXSxcbiAgICAgIFtcImIzYTFcIiwgXCJcXHU5MEU4XFx1OTBFRFxcdTkwRkRcXHU5MTU3XFx1OTFDRVxcdTkxRjVcXHU5MUU2XFx1OTFFM1xcdTkxRTdcXHU5MUVEXFx1OTFFOVxcdTk1ODlcXHU5NjZBXFx1OTY3NVxcdTk2NzNcXHU5Njc4XFx1OTY3MFxcdTk2NzRcXHU5Njc2XFx1OTY3N1xcdTk2NkNcXHU5NkMwXFx1OTZFQVxcdTk2RTlcXHU3QUUwXFx1N0FERlxcdTk4MDJcXHU5ODAzXFx1OUI1QVxcdTlDRTVcXHU5RTc1XFx1OUU3RlxcdTlFQTVcXHU5RUJCXFx1NTBBMlxcdTUwOERcXHU1MDg1XFx1NTA5OVxcdTUwOTFcXHU1MDgwXFx1NTA5NlxcdTUwOThcXHU1MDlBXFx1NjcwMFxcdTUxRjFcXHU1MjcyXFx1NTI3NFxcdTUyNzVcXHU1MjY5XFx1NTJERVxcdTUyRERcXHU1MkRCXFx1NTM1QVxcdTUzQTVcXHU1NTdCXFx1NTU4MFxcdTU1QTdcXHU1NTdDXFx1NTU4QVxcdTU1OURcXHU1NTk4XFx1NTU4MlxcdTU1OUNcXHU1NUFBXFx1NTU5NFxcdTU1ODdcXHU1NThCXFx1NTU4M1xcdTU1QjNcXHU1NUFFXFx1NTU5RlxcdTU1M0VcXHU1NUIyXFx1NTU5QVxcdTU1QkJcXHU1NUFDXFx1NTVCMVxcdTU1N0VcXHU1NTg5XFx1NTVBQlxcdTU1OTlcXHU1NzBEXFx1NTgyRlxcdTU4MkFcXHU1ODM0XFx1NTgyNFxcdTU4MzBcXHU1ODMxXFx1NTgyMVxcdTU4MURcXHU1ODIwXFx1NThGOVxcdTU4RkFcXHU1OTYwXCJdLFxuICAgICAgW1wiYjQ0MFwiLCBcIlxcdTVBNzdcXHU1QTlBXFx1NUE3RlxcdTVBOTJcXHU1QTlCXFx1NUFBN1xcdTVCNzNcXHU1QjcxXFx1NUJEMlxcdTVCQ0NcXHU1QkQzXFx1NUJEMFxcdTVDMEFcXHU1QzBCXFx1NUMzMVxcdTVENENcXHU1RDUwXFx1NUQzNFxcdTVENDdcXHU1REZEXFx1NUU0NVxcdTVFM0RcXHU1RTQwXFx1NUU0M1xcdTVFN0VcXHU1RUNBXFx1NUVDMVxcdTVFQzJcXHU1RUM0XFx1NUYzQ1xcdTVGNkRcXHU1RkE5XFx1NUZBQVxcdTVGQThcXHU2MEQxXFx1NjBFMVxcdTYwQjJcXHU2MEI2XFx1NjBFMFxcdTYxMUNcXHU2MTIzXFx1NjBGQVxcdTYxMTVcXHU2MEYwXFx1NjBGQlxcdTYwRjRcXHU2MTY4XFx1NjBGMVxcdTYxMEVcXHU2MEY2XFx1NjEwOVxcdTYxMDBcXHU2MTEyXFx1NjIxRlxcdTYyNDlcXHU2M0EzXFx1NjM4Q1xcdTYzQ0ZcXHU2M0MwXFx1NjNFOVxcdTYzQzlcXHU2M0M2XFx1NjNDRFwiXSxcbiAgICAgIFtcImI0YTFcIiwgXCJcXHU2M0QyXFx1NjNFM1xcdTYzRDBcXHU2M0UxXFx1NjNENlxcdTYzRURcXHU2M0VFXFx1NjM3NlxcdTYzRjRcXHU2M0VBXFx1NjNEQlxcdTY0NTJcXHU2M0RBXFx1NjNGOVxcdTY1NUVcXHU2NTY2XFx1NjU2MlxcdTY1NjNcXHU2NTkxXFx1NjU5MFxcdTY1QUZcXHU2NjZFXFx1NjY3MFxcdTY2NzRcXHU2Njc2XFx1NjY2RlxcdTY2OTFcXHU2NjdBXFx1NjY3RVxcdTY2NzdcXHU2NkZFXFx1NjZGRlxcdTY3MUZcXHU2NzFEXFx1NjhGQVxcdTY4RDVcXHU2OEUwXFx1NjhEOFxcdTY4RDdcXHU2OTA1XFx1NjhERlxcdTY4RjVcXHU2OEVFXFx1NjhFN1xcdTY4RjlcXHU2OEQyXFx1NjhGMlxcdTY4RTNcXHU2OENCXFx1NjhDRFxcdTY5MERcXHU2OTEyXFx1NjkwRVxcdTY4QzlcXHU2OERBXFx1Njk2RVxcdTY4RkJcXHU2QjNFXFx1NkIzQVxcdTZCM0RcXHU2Qjk4XFx1NkI5NlxcdTZCQkNcXHU2QkVGXFx1NkMyRVxcdTZDMkZcXHU2QzJDXFx1NkUyRlxcdTZFMzhcXHU2RTU0XFx1NkUyMVxcdTZFMzJcXHU2RTY3XFx1NkU0QVxcdTZFMjBcXHU2RTI1XFx1NkUyM1xcdTZFMUJcXHU2RTVCXFx1NkU1OFxcdTZFMjRcXHU2RTU2XFx1NkU2RVxcdTZFMkRcXHU2RTI2XFx1NkU2RlxcdTZFMzRcXHU2RTREXFx1NkUzQVxcdTZFMkNcXHU2RTQzXFx1NkUxRFxcdTZFM0VcXHU2RUNCXCJdLFxuICAgICAgW1wiYjU0MFwiLCBcIlxcdTZFODlcXHU2RTE5XFx1NkU0RVxcdTZFNjNcXHU2RTQ0XFx1NkU3MlxcdTZFNjlcXHU2RTVGXFx1NzExOVxcdTcxMUFcXHU3MTI2XFx1NzEzMFxcdTcxMjFcXHU3MTM2XFx1NzE2RVxcdTcxMUNcXHU3MjRDXFx1NzI4NFxcdTcyODBcXHU3MzM2XFx1NzMyNVxcdTczMzRcXHU3MzI5XFx1NzQzQVxcdTc0MkFcXHU3NDMzXFx1NzQyMlxcdTc0MjVcXHU3NDM1XFx1NzQzNlxcdTc0MzRcXHU3NDJGXFx1NzQxQlxcdTc0MjZcXHU3NDI4XFx1NzUyNVxcdTc1MjZcXHU3NTZCXFx1NzU2QVxcdTc1RTJcXHU3NURCXFx1NzVFM1xcdTc1RDlcXHU3NUQ4XFx1NzVERVxcdTc1RTBcXHU3NjdCXFx1NzY3Q1xcdTc2OTZcXHU3NjkzXFx1NzZCNFxcdTc2RENcXHU3NzRGXFx1NzdFRFxcdTc4NURcXHU3ODZDXFx1Nzg2RlxcdTdBMERcXHU3QTA4XFx1N0EwQlxcdTdBMDVcXHU3QTAwXFx1N0E5OFwiXSxcbiAgICAgIFtcImI1YTFcIiwgXCJcXHU3QTk3XFx1N0E5NlxcdTdBRTVcXHU3QUUzXFx1N0I0OVxcdTdCNTZcXHU3QjQ2XFx1N0I1MFxcdTdCNTJcXHU3QjU0XFx1N0I0RFxcdTdCNEJcXHU3QjRGXFx1N0I1MVxcdTdDOUZcXHU3Q0E1XFx1N0Q1RVxcdTdENTBcXHU3RDY4XFx1N0Q1NVxcdTdEMkJcXHU3RDZFXFx1N0Q3MlxcdTdENjFcXHU3RDY2XFx1N0Q2MlxcdTdENzBcXHU3RDczXFx1NTU4NFxcdTdGRDRcXHU3RkQ1XFx1ODAwQlxcdTgwNTJcXHU4MDg1XFx1ODE1NVxcdTgxNTRcXHU4MTRCXFx1ODE1MVxcdTgxNEVcXHU4MTM5XFx1ODE0NlxcdTgxM0VcXHU4MTRDXFx1ODE1M1xcdTgxNzRcXHU4MjEyXFx1ODIxQ1xcdTgzRTlcXHU4NDAzXFx1ODNGOFxcdTg0MERcXHU4M0UwXFx1ODNDNVxcdTg0MEJcXHU4M0MxXFx1ODNFRlxcdTgzRjFcXHU4M0Y0XFx1ODQ1N1xcdTg0MEFcXHU4M0YwXFx1ODQwQ1xcdTgzQ0NcXHU4M0ZEXFx1ODNGMlxcdTgzQ0FcXHU4NDM4XFx1ODQwRVxcdTg0MDRcXHU4M0RDXFx1ODQwN1xcdTgzRDRcXHU4M0RGXFx1ODY1QlxcdTg2REZcXHU4NkQ5XFx1ODZFRFxcdTg2RDRcXHU4NkRCXFx1ODZFNFxcdTg2RDBcXHU4NkRFXFx1ODg1N1xcdTg4QzFcXHU4OEMyXFx1ODhCMVxcdTg5ODNcXHU4OTk2XFx1OEEzQlxcdThBNjBcXHU4QTU1XFx1OEE1RVxcdThBM0NcXHU4QTQxXCJdLFxuICAgICAgW1wiYjY0MFwiLCBcIlxcdThBNTRcXHU4QTVCXFx1OEE1MFxcdThBNDZcXHU4QTM0XFx1OEEzQVxcdThBMzZcXHU4QTU2XFx1OEM2MVxcdThDODJcXHU4Q0FGXFx1OENCQ1xcdThDQjNcXHU4Q0JEXFx1OENDMVxcdThDQkJcXHU4Q0MwXFx1OENCNFxcdThDQjdcXHU4Q0I2XFx1OENCRlxcdThDQjhcXHU4RDhBXFx1OEQ4NVxcdThEODFcXHU4RENFXFx1OERERFxcdThEQ0JcXHU4RERBXFx1OEREMVxcdThEQ0NcXHU4RERCXFx1OERDNlxcdThFRkJcXHU4RUY4XFx1OEVGQ1xcdThGOUNcXHU5MDJFXFx1OTAzNVxcdTkwMzFcXHU5MDM4XFx1OTAzMlxcdTkwMzZcXHU5MTAyXFx1OTBGNVxcdTkxMDlcXHU5MEZFXFx1OTE2M1xcdTkxNjVcXHU5MUNGXFx1OTIxNFxcdTkyMTVcXHU5MjIzXFx1OTIwOVxcdTkyMUVcXHU5MjBEXFx1OTIxMFxcdTkyMDdcXHU5MjExXFx1OTU5NFxcdTk1OEZcXHU5NThCXFx1OTU5MVwiXSxcbiAgICAgIFtcImI2YTFcIiwgXCJcXHU5NTkzXFx1OTU5MlxcdTk1OEVcXHU5NjhBXFx1OTY4RVxcdTk2OEJcXHU5NjdEXFx1OTY4NVxcdTk2ODZcXHU5NjhEXFx1OTY3MlxcdTk2ODRcXHU5NkMxXFx1OTZDNVxcdTk2QzRcXHU5NkM2XFx1OTZDN1xcdTk2RUZcXHU5NkYyXFx1OTdDQ1xcdTk4MDVcXHU5ODA2XFx1OTgwOFxcdTk4RTdcXHU5OEVBXFx1OThFRlxcdTk4RTlcXHU5OEYyXFx1OThFRFxcdTk5QUVcXHU5OUFEXFx1OUVDM1xcdTlFQ0RcXHU5RUQxXFx1NEU4MlxcdTUwQURcXHU1MEI1XFx1NTBCMlxcdTUwQjNcXHU1MEM1XFx1NTBCRVxcdTUwQUNcXHU1MEI3XFx1NTBCQlxcdTUwQUZcXHU1MEM3XFx1NTI3RlxcdTUyNzdcXHU1MjdEXFx1NTJERlxcdTUyRTZcXHU1MkU0XFx1NTJFMlxcdTUyRTNcXHU1MzJGXFx1NTVERlxcdTU1RThcXHU1NUQzXFx1NTVFNlxcdTU1Q0VcXHU1NURDXFx1NTVDN1xcdTU1RDFcXHU1NUUzXFx1NTVFNFxcdTU1RUZcXHU1NURBXFx1NTVFMVxcdTU1QzVcXHU1NUM2XFx1NTVFNVxcdTU1QzlcXHU1NzEyXFx1NTcxM1xcdTU4NUVcXHU1ODUxXFx1NTg1OFxcdTU4NTdcXHU1ODVBXFx1NTg1NFxcdTU4NkJcXHU1ODRDXFx1NTg2RFxcdTU4NEFcXHU1ODYyXFx1NTg1MlxcdTU4NEJcXHU1OTY3XFx1NUFDMVxcdTVBQzlcXHU1QUNDXFx1NUFCRVxcdTVBQkRcXHU1QUJDXCJdLFxuICAgICAgW1wiYjc0MFwiLCBcIlxcdTVBQjNcXHU1QUMyXFx1NUFCMlxcdTVENjlcXHU1RDZGXFx1NUU0Q1xcdTVFNzlcXHU1RUM5XFx1NUVDOFxcdTVGMTJcXHU1RjU5XFx1NUZBQ1xcdTVGQUVcXHU2MTFBXFx1NjEwRlxcdTYxNDhcXHU2MTFGXFx1NjBGM1xcdTYxMUJcXHU2MEY5XFx1NjEwMVxcdTYxMDhcXHU2MTRFXFx1NjE0Q1xcdTYxNDRcXHU2MTREXFx1NjEzRVxcdTYxMzRcXHU2MTI3XFx1NjEwRFxcdTYxMDZcXHU2MTM3XFx1NjIyMVxcdTYyMjJcXHU2NDEzXFx1NjQzRVxcdTY0MUVcXHU2NDJBXFx1NjQyRFxcdTY0M0RcXHU2NDJDXFx1NjQwRlxcdTY0MUNcXHU2NDE0XFx1NjQwRFxcdTY0MzZcXHU2NDE2XFx1NjQxN1xcdTY0MDZcXHU2NTZDXFx1NjU5RlxcdTY1QjBcXHU2Njk3XFx1NjY4OVxcdTY2ODdcXHU2Njg4XFx1NjY5NlxcdTY2ODRcXHU2Njk4XFx1NjY4RFxcdTY3MDNcXHU2OTk0XFx1Njk2RFwiXSxcbiAgICAgIFtcImI3YTFcIiwgXCJcXHU2OTVBXFx1Njk3N1xcdTY5NjBcXHU2OTU0XFx1Njk3NVxcdTY5MzBcXHU2OTgyXFx1Njk0QVxcdTY5NjhcXHU2OTZCXFx1Njk1RVxcdTY5NTNcXHU2OTc5XFx1Njk4NlxcdTY5NURcXHU2OTYzXFx1Njk1QlxcdTZCNDdcXHU2QjcyXFx1NkJDMFxcdTZCQkZcXHU2QkQzXFx1NkJGRFxcdTZFQTJcXHU2RUFGXFx1NkVEM1xcdTZFQjZcXHU2RUMyXFx1NkU5MFxcdTZFOURcXHU2RUM3XFx1NkVDNVxcdTZFQTVcXHU2RTk4XFx1NkVCQ1xcdTZFQkFcXHU2RUFCXFx1NkVEMVxcdTZFOTZcXHU2RTlDXFx1NkVDNFxcdTZFRDRcXHU2RUFBXFx1NkVBN1xcdTZFQjRcXHU3MTRFXFx1NzE1OVxcdTcxNjlcXHU3MTY0XFx1NzE0OVxcdTcxNjdcXHU3MTVDXFx1NzE2Q1xcdTcxNjZcXHU3MTRDXFx1NzE2NVxcdTcxNUVcXHU3MTQ2XFx1NzE2OFxcdTcxNTZcXHU3MjNBXFx1NzI1MlxcdTczMzdcXHU3MzQ1XFx1NzMzRlxcdTczM0VcXHU3NDZGXFx1NzQ1QVxcdTc0NTVcXHU3NDVGXFx1NzQ1RVxcdTc0NDFcXHU3NDNGXFx1NzQ1OVxcdTc0NUJcXHU3NDVDXFx1NzU3NlxcdTc1NzhcXHU3NjAwXFx1NzVGMFxcdTc2MDFcXHU3NUYyXFx1NzVGMVxcdTc1RkFcXHU3NUZGXFx1NzVGNFxcdTc1RjNcXHU3NkRFXFx1NzZERlxcdTc3NUJcXHU3NzZCXFx1Nzc2NlxcdTc3NUVcXHU3NzYzXCJdLFxuICAgICAgW1wiYjg0MFwiLCBcIlxcdTc3NzlcXHU3NzZBXFx1Nzc2Q1xcdTc3NUNcXHU3NzY1XFx1Nzc2OFxcdTc3NjJcXHU3N0VFXFx1Nzg4RVxcdTc4QjBcXHU3ODk3XFx1Nzg5OFxcdTc4OENcXHU3ODg5XFx1Nzg3Q1xcdTc4OTFcXHU3ODkzXFx1Nzg3RlxcdTc5N0FcXHU3OTdGXFx1Nzk4MVxcdTg0MkNcXHU3OUJEXFx1N0ExQ1xcdTdBMUFcXHU3QTIwXFx1N0ExNFxcdTdBMUZcXHU3QTFFXFx1N0E5RlxcdTdBQTBcXHU3Qjc3XFx1N0JDMFxcdTdCNjBcXHU3QjZFXFx1N0I2N1xcdTdDQjFcXHU3Q0IzXFx1N0NCNVxcdTdEOTNcXHU3RDc5XFx1N0Q5MVxcdTdEODFcXHU3RDhGXFx1N0Q1QlxcdTdGNkVcXHU3RjY5XFx1N0Y2QVxcdTdGNzJcXHU3RkE5XFx1N0ZBOFxcdTdGQTRcXHU4MDU2XFx1ODA1OFxcdTgwODZcXHU4MDg0XFx1ODE3MVxcdTgxNzBcXHU4MTc4XFx1ODE2NVxcdTgxNkVcXHU4MTczXFx1ODE2QlwiXSxcbiAgICAgIFtcImI4YTFcIiwgXCJcXHU4MTc5XFx1ODE3QVxcdTgxNjZcXHU4MjA1XFx1ODI0N1xcdTg0ODJcXHU4NDc3XFx1ODQzRFxcdTg0MzFcXHU4NDc1XFx1ODQ2NlxcdTg0NkJcXHU4NDQ5XFx1ODQ2Q1xcdTg0NUJcXHU4NDNDXFx1ODQzNVxcdTg0NjFcXHU4NDYzXFx1ODQ2OVxcdTg0NkRcXHU4NDQ2XFx1ODY1RVxcdTg2NUNcXHU4NjVGXFx1ODZGOVxcdTg3MTNcXHU4NzA4XFx1ODcwN1xcdTg3MDBcXHU4NkZFXFx1ODZGQlxcdTg3MDJcXHU4NzAzXFx1ODcwNlxcdTg3MEFcXHU4ODU5XFx1ODhERlxcdTg4RDRcXHU4OEQ5XFx1ODhEQ1xcdTg4RDhcXHU4OEREXFx1ODhFMVxcdTg4Q0FcXHU4OEQ1XFx1ODhEMlxcdTg5OUNcXHU4OUUzXFx1OEE2QlxcdThBNzJcXHU4QTczXFx1OEE2NlxcdThBNjlcXHU4QTcwXFx1OEE4N1xcdThBN0NcXHU4QTYzXFx1OEFBMFxcdThBNzFcXHU4QTg1XFx1OEE2RFxcdThBNjJcXHU4QTZFXFx1OEE2Q1xcdThBNzlcXHU4QTdCXFx1OEEzRVxcdThBNjhcXHU4QzYyXFx1OEM4QVxcdThDODlcXHU4Q0NBXFx1OENDN1xcdThDQzhcXHU4Q0M0XFx1OENCMlxcdThDQzNcXHU4Q0MyXFx1OENDNVxcdThERTFcXHU4RERGXFx1OERFOFxcdThERUZcXHU4REYzXFx1OERGQVxcdThERUFcXHU4REU0XFx1OERFNlxcdThFQjJcXHU4RjAzXFx1OEYwOVxcdThFRkVcXHU4RjBBXCJdLFxuICAgICAgW1wiYjk0MFwiLCBcIlxcdThGOUZcXHU4RkIyXFx1OTA0QlxcdTkwNEFcXHU5MDUzXFx1OTA0MlxcdTkwNTRcXHU5MDNDXFx1OTA1NVxcdTkwNTBcXHU5MDQ3XFx1OTA0RlxcdTkwNEVcXHU5MDREXFx1OTA1MVxcdTkwM0VcXHU5MDQxXFx1OTExMlxcdTkxMTdcXHU5MTZDXFx1OTE2QVxcdTkxNjlcXHU5MUM5XFx1OTIzN1xcdTkyNTdcXHU5MjM4XFx1OTIzRFxcdTkyNDBcXHU5MjNFXFx1OTI1QlxcdTkyNEJcXHU5MjY0XFx1OTI1MVxcdTkyMzRcXHU5MjQ5XFx1OTI0RFxcdTkyNDVcXHU5MjM5XFx1OTIzRlxcdTkyNUFcXHU5NTk4XFx1OTY5OFxcdTk2OTRcXHU5Njk1XFx1OTZDRFxcdTk2Q0JcXHU5NkM5XFx1OTZDQVxcdTk2RjdcXHU5NkZCXFx1OTZGOVxcdTk2RjZcXHU5NzU2XFx1OTc3NFxcdTk3NzZcXHU5ODEwXFx1OTgxMVxcdTk4MTNcXHU5ODBBXFx1OTgxMlxcdTk4MENcXHU5OEZDXFx1OThGNFwiXSxcbiAgICAgIFtcImI5YTFcIiwgXCJcXHU5OEZEXFx1OThGRVxcdTk5QjNcXHU5OUIxXFx1OTlCNFxcdTlBRTFcXHU5Q0U5XFx1OUU4MlxcdTlGMEVcXHU5RjEzXFx1OUYyMFxcdTUwRTdcXHU1MEVFXFx1NTBFNVxcdTUwRDZcXHU1MEVEXFx1NTBEQVxcdTUwRDVcXHU1MENGXFx1NTBEMVxcdTUwRjFcXHU1MENFXFx1NTBFOVxcdTUxNjJcXHU1MUYzXFx1NTI4M1xcdTUyODJcXHU1MzMxXFx1NTNBRFxcdTU1RkVcXHU1NjAwXFx1NTYxQlxcdTU2MTdcXHU1NUZEXFx1NTYxNFxcdTU2MDZcXHU1NjA5XFx1NTYwRFxcdTU2MEVcXHU1NUY3XFx1NTYxNlxcdTU2MUZcXHU1NjA4XFx1NTYxMFxcdTU1RjZcXHU1NzE4XFx1NTcxNlxcdTU4NzVcXHU1ODdFXFx1NTg4M1xcdTU4OTNcXHU1ODhBXFx1NTg3OVxcdTU4ODVcXHU1ODdEXFx1NThGRFxcdTU5MjVcXHU1OTIyXFx1NTkyNFxcdTU5NkFcXHU1OTY5XFx1NUFFMVxcdTVBRTZcXHU1QUU5XFx1NUFEN1xcdTVBRDZcXHU1QUQ4XFx1NUFFM1xcdTVCNzVcXHU1QkRFXFx1NUJFN1xcdTVCRTFcXHU1QkU1XFx1NUJFNlxcdTVCRThcXHU1QkUyXFx1NUJFNFxcdTVCREZcXHU1QzBEXFx1NUM2MlxcdTVEODRcXHU1RDg3XFx1NUU1QlxcdTVFNjNcXHU1RTU1XFx1NUU1N1xcdTVFNTRcXHU1RUQzXFx1NUVENlxcdTVGMEFcXHU1RjQ2XFx1NUY3MFxcdTVGQjlcXHU2MTQ3XCJdLFxuICAgICAgW1wiYmE0MFwiLCBcIlxcdTYxM0ZcXHU2MTRCXFx1NjE3N1xcdTYxNjJcXHU2MTYzXFx1NjE1RlxcdTYxNUFcXHU2MTU4XFx1NjE3NVxcdTYyMkFcXHU2NDg3XFx1NjQ1OFxcdTY0NTRcXHU2NEE0XFx1NjQ3OFxcdTY0NUZcXHU2NDdBXFx1NjQ1MVxcdTY0NjdcXHU2NDM0XFx1NjQ2RFxcdTY0N0JcXHU2NTcyXFx1NjVBMVxcdTY1RDdcXHU2NUQ2XFx1NjZBMlxcdTY2QThcXHU2NjlEXFx1Njk5Q1xcdTY5QThcXHU2OTk1XFx1NjlDMVxcdTY5QUVcXHU2OUQzXFx1NjlDQlxcdTY5OUJcXHU2OUI3XFx1NjlCQlxcdTY5QUJcXHU2OUI0XFx1NjlEMFxcdTY5Q0RcXHU2OUFEXFx1NjlDQ1xcdTY5QTZcXHU2OUMzXFx1NjlBM1xcdTZCNDlcXHU2QjRDXFx1NkMzM1xcdTZGMzNcXHU2RjE0XFx1NkVGRVxcdTZGMTNcXHU2RUY0XFx1NkYyOVxcdTZGM0VcXHU2RjIwXFx1NkYyQ1xcdTZGMEZcXHU2RjAyXFx1NkYyMlwiXSxcbiAgICAgIFtcImJhYTFcIiwgXCJcXHU2RUZGXFx1NkVFRlxcdTZGMDZcXHU2RjMxXFx1NkYzOFxcdTZGMzJcXHU2RjIzXFx1NkYxNVxcdTZGMkJcXHU2RjJGXFx1NkY4OFxcdTZGMkFcXHU2RUVDXFx1NkYwMVxcdTZFRjJcXHU2RUNDXFx1NkVGN1xcdTcxOTRcXHU3MTk5XFx1NzE3RFxcdTcxOEFcXHU3MTg0XFx1NzE5MlxcdTcyM0VcXHU3MjkyXFx1NzI5NlxcdTczNDRcXHU3MzUwXFx1NzQ2NFxcdTc0NjNcXHU3NDZBXFx1NzQ3MFxcdTc0NkRcXHU3NTA0XFx1NzU5MVxcdTc2MjdcXHU3NjBEXFx1NzYwQlxcdTc2MDlcXHU3NjEzXFx1NzZFMVxcdTc2RTNcXHU3Nzg0XFx1Nzc3RFxcdTc3N0ZcXHU3NzYxXFx1NzhDMVxcdTc4OUZcXHU3OEE3XFx1NzhCM1xcdTc4QTlcXHU3OEEzXFx1Nzk4RVxcdTc5OEZcXHU3OThEXFx1N0EyRVxcdTdBMzFcXHU3QUFBXFx1N0FBOVxcdTdBRURcXHU3QUVGXFx1N0JBMVxcdTdCOTVcXHU3QjhCXFx1N0I3NVxcdTdCOTdcXHU3QjlEXFx1N0I5NFxcdTdCOEZcXHU3QkI4XFx1N0I4N1xcdTdCODRcXHU3Q0I5XFx1N0NCRFxcdTdDQkVcXHU3REJCXFx1N0RCMFxcdTdEOUNcXHU3REJEXFx1N0RCRVxcdTdEQTBcXHU3RENBXFx1N0RCNFxcdTdEQjJcXHU3REIxXFx1N0RCQVxcdTdEQTJcXHU3REJGXFx1N0RCNVxcdTdEQjhcXHU3REFEXFx1N0REMlxcdTdEQzdcXHU3REFDXCJdLFxuICAgICAgW1wiYmI0MFwiLCBcIlxcdTdGNzBcXHU3RkUwXFx1N0ZFMVxcdTdGREZcXHU4MDVFXFx1ODA1QVxcdTgwODdcXHU4MTUwXFx1ODE4MFxcdTgxOEZcXHU4MTg4XFx1ODE4QVxcdTgxN0ZcXHU4MTgyXFx1ODFFN1xcdTgxRkFcXHU4MjA3XFx1ODIxNFxcdTgyMUVcXHU4MjRCXFx1ODRDOVxcdTg0QkZcXHU4NEM2XFx1ODRDNFxcdTg0OTlcXHU4NDlFXFx1ODRCMlxcdTg0OUNcXHU4NENCXFx1ODRCOFxcdTg0QzBcXHU4NEQzXFx1ODQ5MFxcdTg0QkNcXHU4NEQxXFx1ODRDQVxcdTg3M0ZcXHU4NzFDXFx1ODczQlxcdTg3MjJcXHU4NzI1XFx1ODczNFxcdTg3MThcXHU4NzU1XFx1ODczN1xcdTg3MjlcXHU4OEYzXFx1ODkwMlxcdTg4RjRcXHU4OEY5XFx1ODhGOFxcdTg4RkRcXHU4OEU4XFx1ODkxQVxcdTg4RUZcXHU4QUE2XFx1OEE4Q1xcdThBOUVcXHU4QUEzXFx1OEE4RFxcdThBQTFcXHU4QTkzXFx1OEFBNFwiXSxcbiAgICAgIFtcImJiYTFcIiwgXCJcXHU4QUFBXFx1OEFBNVxcdThBQThcXHU4QTk4XFx1OEE5MVxcdThBOUFcXHU4QUE3XFx1OEM2QVxcdThDOERcXHU4QzhDXFx1OENEM1xcdThDRDFcXHU4Q0QyXFx1OEQ2QlxcdThEOTlcXHU4RDk1XFx1OERGQ1xcdThGMTRcXHU4RjEyXFx1OEYxNVxcdThGMTNcXHU4RkEzXFx1OTA2MFxcdTkwNThcXHU5MDVDXFx1OTA2M1xcdTkwNTlcXHU5MDVFXFx1OTA2MlxcdTkwNURcXHU5MDVCXFx1OTExOVxcdTkxMThcXHU5MTFFXFx1OTE3NVxcdTkxNzhcXHU5MTc3XFx1OTE3NFxcdTkyNzhcXHU5MjgwXFx1OTI4NVxcdTkyOThcXHU5Mjk2XFx1OTI3QlxcdTkyOTNcXHU5MjlDXFx1OTJBOFxcdTkyN0NcXHU5MjkxXFx1OTVBMVxcdTk1QThcXHU5NUE5XFx1OTVBM1xcdTk1QTVcXHU5NUE0XFx1OTY5OVxcdTk2OUNcXHU5NjlCXFx1OTZDQ1xcdTk2RDJcXHU5NzAwXFx1OTc3Q1xcdTk3ODVcXHU5N0Y2XFx1OTgxN1xcdTk4MThcXHU5OEFGXFx1OThCMVxcdTk5MDNcXHU5OTA1XFx1OTkwQ1xcdTk5MDlcXHU5OUMxXFx1OUFBRlxcdTlBQjBcXHU5QUU2XFx1OUI0MVxcdTlCNDJcXHU5Q0Y0XFx1OUNGNlxcdTlDRjNcXHU5RUJDXFx1OUYzQlxcdTlGNEFcXHU1MTA0XFx1NTEwMFxcdTUwRkJcXHU1MEY1XFx1NTBGOVxcdTUxMDJcXHU1MTA4XFx1NTEwOVxcdTUxMDVcXHU1MURDXCJdLFxuICAgICAgW1wiYmM0MFwiLCBcIlxcdTUyODdcXHU1Mjg4XFx1NTI4OVxcdTUyOERcXHU1MjhBXFx1NTJGMFxcdTUzQjJcXHU1NjJFXFx1NTYzQlxcdTU2MzlcXHU1NjMyXFx1NTYzRlxcdTU2MzRcXHU1NjI5XFx1NTY1M1xcdTU2NEVcXHU1NjU3XFx1NTY3NFxcdTU2MzZcXHU1NjJGXFx1NTYzMFxcdTU4ODBcXHU1ODlGXFx1NTg5RVxcdTU4QjNcXHU1ODlDXFx1NThBRVxcdTU4QTlcXHU1OEE2XFx1NTk2RFxcdTVCMDlcXHU1QUZCXFx1NUIwQlxcdTVBRjVcXHU1QjBDXFx1NUIwOFxcdTVCRUVcXHU1QkVDXFx1NUJFOVxcdTVCRUJcXHU1QzY0XFx1NUM2NVxcdTVEOURcXHU1RDk0XFx1NUU2MlxcdTVFNUZcXHU1RTYxXFx1NUVFMlxcdTVFREFcXHU1RURGXFx1NUVERFxcdTVFRTNcXHU1RUUwXFx1NUY0OFxcdTVGNzFcXHU1RkI3XFx1NUZCNVxcdTYxNzZcXHU2MTY3XFx1NjE2RVxcdTYxNURcXHU2MTU1XFx1NjE4MlwiXSxcbiAgICAgIFtcImJjYTFcIiwgXCJcXHU2MTdDXFx1NjE3MFxcdTYxNkJcXHU2MTdFXFx1NjFBN1xcdTYxOTBcXHU2MUFCXFx1NjE4RVxcdTYxQUNcXHU2MTlBXFx1NjFBNFxcdTYxOTRcXHU2MUFFXFx1NjIyRVxcdTY0NjlcXHU2NDZGXFx1NjQ3OVxcdTY0OUVcXHU2NEIyXFx1NjQ4OFxcdTY0OTBcXHU2NEIwXFx1NjRBNVxcdTY0OTNcXHU2NDk1XFx1NjRBOVxcdTY0OTJcXHU2NEFFXFx1NjRBRFxcdTY0QUJcXHU2NDlBXFx1NjRBQ1xcdTY0OTlcXHU2NEEyXFx1NjRCM1xcdTY1NzVcXHU2NTc3XFx1NjU3OFxcdTY2QUVcXHU2NkFCXFx1NjZCNFxcdTY2QjFcXHU2QTIzXFx1NkExRlxcdTY5RThcXHU2QTAxXFx1NkExRVxcdTZBMTlcXHU2OUZEXFx1NkEyMVxcdTZBMTNcXHU2QTBBXFx1NjlGM1xcdTZBMDJcXHU2QTA1XFx1NjlFRFxcdTZBMTFcXHU2QjUwXFx1NkI0RVxcdTZCQTRcXHU2QkM1XFx1NkJDNlxcdTZGM0ZcXHU2RjdDXFx1NkY4NFxcdTZGNTFcXHU2RjY2XFx1NkY1NFxcdTZGODZcXHU2RjZEXFx1NkY1QlxcdTZGNzhcXHU2RjZFXFx1NkY4RVxcdTZGN0FcXHU2RjcwXFx1NkY2NFxcdTZGOTdcXHU2RjU4XFx1NkVENVxcdTZGNkZcXHU2RjYwXFx1NkY1RlxcdTcxOUZcXHU3MUFDXFx1NzFCMVxcdTcxQThcXHU3MjU2XFx1NzI5QlxcdTczNEVcXHU3MzU3XFx1NzQ2OVxcdTc0OEJcXHU3NDgzXCJdLFxuICAgICAgW1wiYmQ0MFwiLCBcIlxcdTc0N0VcXHU3NDgwXFx1NzU3RlxcdTc2MjBcXHU3NjI5XFx1NzYxRlxcdTc2MjRcXHU3NjI2XFx1NzYyMVxcdTc2MjJcXHU3NjlBXFx1NzZCQVxcdTc2RTRcXHU3NzhFXFx1Nzc4N1xcdTc3OENcXHU3NzkxXFx1Nzc4QlxcdTc4Q0JcXHU3OEM1XFx1NzhCQVxcdTc4Q0FcXHU3OEJFXFx1NzhENVxcdTc4QkNcXHU3OEQwXFx1N0EzRlxcdTdBM0NcXHU3QTQwXFx1N0EzRFxcdTdBMzdcXHU3QTNCXFx1N0FBRlxcdTdBQUVcXHU3QkFEXFx1N0JCMVxcdTdCQzRcXHU3QkI0XFx1N0JDNlxcdTdCQzdcXHU3QkMxXFx1N0JBMFxcdTdCQ0NcXHU3Q0NBXFx1N0RFMFxcdTdERjRcXHU3REVGXFx1N0RGQlxcdTdERDhcXHU3REVDXFx1N0RERFxcdTdERThcXHU3REUzXFx1N0REQVxcdTdEREVcXHU3REU5XFx1N0Q5RVxcdTdERDlcXHU3REYyXFx1N0RGOVxcdTdGNzVcXHU3Rjc3XFx1N0ZBRlwiXSxcbiAgICAgIFtcImJkYTFcIiwgXCJcXHU3RkU5XFx1ODAyNlxcdTgxOUJcXHU4MTlDXFx1ODE5RFxcdTgxQTBcXHU4MTlBXFx1ODE5OFxcdTg1MTdcXHU4NTNEXFx1ODUxQVxcdTg0RUVcXHU4NTJDXFx1ODUyRFxcdTg1MTNcXHU4NTExXFx1ODUyM1xcdTg1MjFcXHU4NTE0XFx1ODRFQ1xcdTg1MjVcXHU4NEZGXFx1ODUwNlxcdTg3ODJcXHU4Nzc0XFx1ODc3NlxcdTg3NjBcXHU4NzY2XFx1ODc3OFxcdTg3NjhcXHU4NzU5XFx1ODc1N1xcdTg3NENcXHU4NzUzXFx1ODg1QlxcdTg4NURcXHU4OTEwXFx1ODkwN1xcdTg5MTJcXHU4OTEzXFx1ODkxNVxcdTg5MEFcXHU4QUJDXFx1OEFEMlxcdThBQzdcXHU4QUM0XFx1OEE5NVxcdThBQ0JcXHU4QUY4XFx1OEFCMlxcdThBQzlcXHU4QUMyXFx1OEFCRlxcdThBQjBcXHU4QUQ2XFx1OEFDRFxcdThBQjZcXHU4QUI5XFx1OEFEQlxcdThDNENcXHU4QzRFXFx1OEM2Q1xcdThDRTBcXHU4Q0RFXFx1OENFNlxcdThDRTRcXHU4Q0VDXFx1OENFRFxcdThDRTJcXHU4Q0UzXFx1OENEQ1xcdThDRUFcXHU4Q0UxXFx1OEQ2RFxcdThEOUZcXHU4REEzXFx1OEUyQlxcdThFMTBcXHU4RTFEXFx1OEUyMlxcdThFMEZcXHU4RTI5XFx1OEUxRlxcdThFMjFcXHU4RTFFXFx1OEVCQVxcdThGMURcXHU4RjFCXFx1OEYxRlxcdThGMjlcXHU4RjI2XFx1OEYyQVxcdThGMUNcXHU4RjFFXCJdLFxuICAgICAgW1wiYmU0MFwiLCBcIlxcdThGMjVcXHU5MDY5XFx1OTA2RVxcdTkwNjhcXHU5MDZEXFx1OTA3N1xcdTkxMzBcXHU5MTJEXFx1OTEyN1xcdTkxMzFcXHU5MTg3XFx1OTE4OVxcdTkxOEJcXHU5MTgzXFx1OTJDNVxcdTkyQkJcXHU5MkI3XFx1OTJFQVxcdTkyQUNcXHU5MkU0XFx1OTJDMVxcdTkyQjNcXHU5MkJDXFx1OTJEMlxcdTkyQzdcXHU5MkYwXFx1OTJCMlxcdTk1QURcXHU5NUIxXFx1OTcwNFxcdTk3MDZcXHU5NzA3XFx1OTcwOVxcdTk3NjBcXHU5NzhEXFx1OTc4QlxcdTk3OEZcXHU5ODIxXFx1OTgyQlxcdTk4MUNcXHU5OEIzXFx1OTkwQVxcdTk5MTNcXHU5OTEyXFx1OTkxOFxcdTk5RERcXHU5OUQwXFx1OTlERlxcdTk5REJcXHU5OUQxXFx1OTlENVxcdTk5RDJcXHU5OUQ5XFx1OUFCN1xcdTlBRUVcXHU5QUVGXFx1OUIyN1xcdTlCNDVcXHU5QjQ0XFx1OUI3N1xcdTlCNkZcXHU5RDA2XFx1OUQwOVwiXSxcbiAgICAgIFtcImJlYTFcIiwgXCJcXHU5RDAzXFx1OUVBOVxcdTlFQkVcXHU5RUNFXFx1NThBOFxcdTlGNTJcXHU1MTEyXFx1NTExOFxcdTUxMTRcXHU1MTEwXFx1NTExNVxcdTUxODBcXHU1MUFBXFx1NTFERFxcdTUyOTFcXHU1MjkzXFx1NTJGM1xcdTU2NTlcXHU1NjZCXFx1NTY3OVxcdTU2NjlcXHU1NjY0XFx1NTY3OFxcdTU2NkFcXHU1NjY4XFx1NTY2NVxcdTU2NzFcXHU1NjZGXFx1NTY2Q1xcdTU2NjJcXHU1Njc2XFx1NThDMVxcdTU4QkVcXHU1OEM3XFx1NThDNVxcdTU5NkVcXHU1QjFEXFx1NUIzNFxcdTVCNzhcXHU1QkYwXFx1NUMwRVxcdTVGNEFcXHU2MUIyXFx1NjE5MVxcdTYxQTlcXHU2MThBXFx1NjFDRFxcdTYxQjZcXHU2MUJFXFx1NjFDQVxcdTYxQzhcXHU2MjMwXFx1NjRDNVxcdTY0QzFcXHU2NENCXFx1NjRCQlxcdTY0QkNcXHU2NERBXFx1NjRDNFxcdTY0QzdcXHU2NEMyXFx1NjRDRFxcdTY0QkZcXHU2NEQyXFx1NjRENFxcdTY0QkVcXHU2NTc0XFx1NjZDNlxcdTY2QzlcXHU2NkI5XFx1NjZDNFxcdTY2QzdcXHU2NkI4XFx1NkEzRFxcdTZBMzhcXHU2QTNBXFx1NkE1OVxcdTZBNkJcXHU2QTU4XFx1NkEzOVxcdTZBNDRcXHU2QTYyXFx1NkE2MVxcdTZBNEJcXHU2QTQ3XFx1NkEzNVxcdTZBNUZcXHU2QTQ4XFx1NkI1OVxcdTZCNzdcXHU2QzA1XFx1NkZDMlxcdTZGQjFcXHU2RkExXCJdLFxuICAgICAgW1wiYmY0MFwiLCBcIlxcdTZGQzNcXHU2RkE0XFx1NkZDMVxcdTZGQTdcXHU2RkIzXFx1NkZDMFxcdTZGQjlcXHU2RkI2XFx1NkZBNlxcdTZGQTBcXHU2RkI0XFx1NzFCRVxcdTcxQzlcXHU3MUQwXFx1NzFEMlxcdTcxQzhcXHU3MUQ1XFx1NzFCOVxcdTcxQ0VcXHU3MUQ5XFx1NzFEQ1xcdTcxQzNcXHU3MUM0XFx1NzM2OFxcdTc0OUNcXHU3NEEzXFx1NzQ5OFxcdTc0OUZcXHU3NDlFXFx1NzRFMlxcdTc1MENcXHU3NTBEXFx1NzYzNFxcdTc2MzhcXHU3NjNBXFx1NzZFN1xcdTc2RTVcXHU3N0EwXFx1Nzc5RVxcdTc3OUZcXHU3N0E1XFx1NzhFOFxcdTc4REFcXHU3OEVDXFx1NzhFN1xcdTc5QTZcXHU3QTREXFx1N0E0RVxcdTdBNDZcXHU3QTRDXFx1N0E0QlxcdTdBQkFcXHU3QkQ5XFx1N0MxMVxcdTdCQzlcXHU3QkU0XFx1N0JEQlxcdTdCRTFcXHU3QkU5XFx1N0JFNlxcdTdDRDVcXHU3Q0Q2XFx1N0UwQVwiXSxcbiAgICAgIFtcImJmYTFcIiwgXCJcXHU3RTExXFx1N0UwOFxcdTdFMUJcXHU3RTIzXFx1N0UxRVxcdTdFMURcXHU3RTA5XFx1N0UxMFxcdTdGNzlcXHU3RkIyXFx1N0ZGMFxcdTdGRjFcXHU3RkVFXFx1ODAyOFxcdTgxQjNcXHU4MUE5XFx1ODFBOFxcdTgxRkJcXHU4MjA4XFx1ODI1OFxcdTgyNTlcXHU4NTRBXFx1ODU1OVxcdTg1NDhcXHU4NTY4XFx1ODU2OVxcdTg1NDNcXHU4NTQ5XFx1ODU2RFxcdTg1NkFcXHU4NTVFXFx1ODc4M1xcdTg3OUZcXHU4NzlFXFx1ODdBMlxcdTg3OERcXHU4ODYxXFx1ODkyQVxcdTg5MzJcXHU4OTI1XFx1ODkyQlxcdTg5MjFcXHU4OUFBXFx1ODlBNlxcdThBRTZcXHU4QUZBXFx1OEFFQlxcdThBRjFcXHU4QjAwXFx1OEFEQ1xcdThBRTdcXHU4QUVFXFx1OEFGRVxcdThCMDFcXHU4QjAyXFx1OEFGN1xcdThBRURcXHU4QUYzXFx1OEFGNlxcdThBRkNcXHU4QzZCXFx1OEM2RFxcdThDOTNcXHU4Q0Y0XFx1OEU0NFxcdThFMzFcXHU4RTM0XFx1OEU0MlxcdThFMzlcXHU4RTM1XFx1OEYzQlxcdThGMkZcXHU4RjM4XFx1OEYzM1xcdThGQThcXHU4RkE2XFx1OTA3NVxcdTkwNzRcXHU5MDc4XFx1OTA3MlxcdTkwN0NcXHU5MDdBXFx1OTEzNFxcdTkxOTJcXHU5MzIwXFx1OTMzNlxcdTkyRjhcXHU5MzMzXFx1OTMyRlxcdTkzMjJcXHU5MkZDXFx1OTMyQlxcdTkzMDRcXHU5MzFBXCJdLFxuICAgICAgW1wiYzA0MFwiLCBcIlxcdTkzMTBcXHU5MzI2XFx1OTMyMVxcdTkzMTVcXHU5MzJFXFx1OTMxOVxcdTk1QkJcXHU5NkE3XFx1OTZBOFxcdTk2QUFcXHU5NkQ1XFx1OTcwRVxcdTk3MTFcXHU5NzE2XFx1OTcwRFxcdTk3MTNcXHU5NzBGXFx1OTc1QlxcdTk3NUNcXHU5NzY2XFx1OTc5OFxcdTk4MzBcXHU5ODM4XFx1OTgzQlxcdTk4MzdcXHU5ODJEXFx1OTgzOVxcdTk4MjRcXHU5OTEwXFx1OTkyOFxcdTk5MUVcXHU5OTFCXFx1OTkyMVxcdTk5MUFcXHU5OUVEXFx1OTlFMlxcdTk5RjFcXHU5QUI4XFx1OUFCQ1xcdTlBRkJcXHU5QUVEXFx1OUIyOFxcdTlCOTFcXHU5RDE1XFx1OUQyM1xcdTlEMjZcXHU5RDI4XFx1OUQxMlxcdTlEMUJcXHU5RUQ4XFx1OUVENFxcdTlGOERcXHU5RjlDXFx1NTEyQVxcdTUxMUZcXHU1MTIxXFx1NTEzMlxcdTUyRjVcXHU1NjhFXFx1NTY4MFxcdTU2OTBcXHU1Njg1XFx1NTY4N1wiXSxcbiAgICAgIFtcImMwYTFcIiwgXCJcXHU1NjhGXFx1NThENVxcdTU4RDNcXHU1OEQxXFx1NThDRVxcdTVCMzBcXHU1QjJBXFx1NUIyNFxcdTVCN0FcXHU1QzM3XFx1NUM2OFxcdTVEQkNcXHU1REJBXFx1NURCRFxcdTVEQjhcXHU1RTZCXFx1NUY0Q1xcdTVGQkRcXHU2MUM5XFx1NjFDMlxcdTYxQzdcXHU2MUU2XFx1NjFDQlxcdTYyMzJcXHU2MjM0XFx1NjRDRVxcdTY0Q0FcXHU2NEQ4XFx1NjRFMFxcdTY0RjBcXHU2NEU2XFx1NjRFQ1xcdTY0RjFcXHU2NEUyXFx1NjRFRFxcdTY1ODJcXHU2NTgzXFx1NjZEOVxcdTY2RDZcXHU2QTgwXFx1NkE5NFxcdTZBODRcXHU2QUEyXFx1NkE5Q1xcdTZBREJcXHU2QUEzXFx1NkE3RVxcdTZBOTdcXHU2QTkwXFx1NkFBMFxcdTZCNUNcXHU2QkFFXFx1NkJEQVxcdTZDMDhcXHU2RkQ4XFx1NkZGMVxcdTZGREZcXHU2RkUwXFx1NkZEQlxcdTZGRTRcXHU2RkVCXFx1NkZFRlxcdTZGODBcXHU2RkVDXFx1NkZFMVxcdTZGRTlcXHU2RkQ1XFx1NkZFRVxcdTZGRjBcXHU3MUU3XFx1NzFERlxcdTcxRUVcXHU3MUU2XFx1NzFFNVxcdTcxRURcXHU3MUVDXFx1NzFGNFxcdTcxRTBcXHU3MjM1XFx1NzI0NlxcdTczNzBcXHU3MzcyXFx1NzRBOVxcdTc0QjBcXHU3NEE2XFx1NzRBOFxcdTc2NDZcXHU3NjQyXFx1NzY0Q1xcdTc2RUFcXHU3N0IzXFx1NzdBQVxcdTc3QjBcXHU3N0FDXCJdLFxuICAgICAgW1wiYzE0MFwiLCBcIlxcdTc3QTdcXHU3N0FEXFx1NzdFRlxcdTc4RjdcXHU3OEZBXFx1NzhGNFxcdTc4RUZcXHU3OTAxXFx1NzlBN1xcdTc5QUFcXHU3QTU3XFx1N0FCRlxcdTdDMDdcXHU3QzBEXFx1N0JGRVxcdTdCRjdcXHU3QzBDXFx1N0JFMFxcdTdDRTBcXHU3Q0RDXFx1N0NERVxcdTdDRTJcXHU3Q0RGXFx1N0NEOVxcdTdDRERcXHU3RTJFXFx1N0UzRVxcdTdFNDZcXHU3RTM3XFx1N0UzMlxcdTdFNDNcXHU3RTJCXFx1N0UzRFxcdTdFMzFcXHU3RTQ1XFx1N0U0MVxcdTdFMzRcXHU3RTM5XFx1N0U0OFxcdTdFMzVcXHU3RTNGXFx1N0UyRlxcdTdGNDRcXHU3RkYzXFx1N0ZGQ1xcdTgwNzFcXHU4MDcyXFx1ODA3MFxcdTgwNkZcXHU4MDczXFx1ODFDNlxcdTgxQzNcXHU4MUJBXFx1ODFDMlxcdTgxQzBcXHU4MUJGXFx1ODFCRFxcdTgxQzlcXHU4MUJFXFx1ODFFOFxcdTgyMDlcXHU4MjcxXFx1ODVBQVwiXSxcbiAgICAgIFtcImMxYTFcIiwgXCJcXHU4NTg0XFx1ODU3RVxcdTg1OUNcXHU4NTkxXFx1ODU5NFxcdTg1QUZcXHU4NTlCXFx1ODU4N1xcdTg1QThcXHU4NThBXFx1ODY2N1xcdTg3QzBcXHU4N0QxXFx1ODdCM1xcdTg3RDJcXHU4N0M2XFx1ODdBQlxcdTg3QkJcXHU4N0JBXFx1ODdDOFxcdTg3Q0JcXHU4OTNCXFx1ODkzNlxcdTg5NDRcXHU4OTM4XFx1ODkzRFxcdTg5QUNcXHU4QjBFXFx1OEIxN1xcdThCMTlcXHU4QjFCXFx1OEIwQVxcdThCMjBcXHU4QjFEXFx1OEIwNFxcdThCMTBcXHU4QzQxXFx1OEMzRlxcdThDNzNcXHU4Q0ZBXFx1OENGRFxcdThDRkNcXHU4Q0Y4XFx1OENGQlxcdThEQThcXHU4RTQ5XFx1OEU0QlxcdThFNDhcXHU4RTRBXFx1OEY0NFxcdThGM0VcXHU4RjQyXFx1OEY0NVxcdThGM0ZcXHU5MDdGXFx1OTA3RFxcdTkwODRcXHU5MDgxXFx1OTA4MlxcdTkwODBcXHU5MTM5XFx1OTFBM1xcdTkxOUVcXHU5MTlDXFx1OTM0RFxcdTkzODJcXHU5MzI4XFx1OTM3NVxcdTkzNEFcXHU5MzY1XFx1OTM0QlxcdTkzMThcXHU5MzdFXFx1OTM2Q1xcdTkzNUJcXHU5MzcwXFx1OTM1QVxcdTkzNTRcXHU5NUNBXFx1OTVDQlxcdTk1Q0NcXHU5NUM4XFx1OTVDNlxcdTk2QjFcXHU5NkI4XFx1OTZENlxcdTk3MUNcXHU5NzFFXFx1OTdBMFxcdTk3RDNcXHU5ODQ2XFx1OThCNlxcdTk5MzVcXHU5QTAxXCJdLFxuICAgICAgW1wiYzI0MFwiLCBcIlxcdTk5RkZcXHU5QkFFXFx1OUJBQlxcdTlCQUFcXHU5QkFEXFx1OUQzQlxcdTlEM0ZcXHU5RThCXFx1OUVDRlxcdTlFREVcXHU5RURDXFx1OUVERFxcdTlFREJcXHU5RjNFXFx1OUY0QlxcdTUzRTJcXHU1Njk1XFx1NTZBRVxcdTU4RDlcXHU1OEQ4XFx1NUIzOFxcdTVGNURcXHU2MUUzXFx1NjIzM1xcdTY0RjRcXHU2NEYyXFx1NjRGRVxcdTY1MDZcXHU2NEZBXFx1NjRGQlxcdTY0RjdcXHU2NUI3XFx1NjZEQ1xcdTY3MjZcXHU2QUIzXFx1NkFBQ1xcdTZBQzNcXHU2QUJCXFx1NkFCOFxcdTZBQzJcXHU2QUFFXFx1NkFBRlxcdTZCNUZcXHU2Qjc4XFx1NkJBRlxcdTcwMDlcXHU3MDBCXFx1NkZGRVxcdTcwMDZcXHU2RkZBXFx1NzAxMVxcdTcwMEZcXHU3MUZCXFx1NzFGQ1xcdTcxRkVcXHU3MUY4XFx1NzM3N1xcdTczNzVcXHU3NEE3XFx1NzRCRlxcdTc1MTVcXHU3NjU2XFx1NzY1OFwiXSxcbiAgICAgIFtcImMyYTFcIiwgXCJcXHU3NjUyXFx1NzdCRFxcdTc3QkZcXHU3N0JCXFx1NzdCQ1xcdTc5MEVcXHU3OUFFXFx1N0E2MVxcdTdBNjJcXHU3QTYwXFx1N0FDNFxcdTdBQzVcXHU3QzJCXFx1N0MyN1xcdTdDMkFcXHU3QzFFXFx1N0MyM1xcdTdDMjFcXHU3Q0U3XFx1N0U1NFxcdTdFNTVcXHU3RTVFXFx1N0U1QVxcdTdFNjFcXHU3RTUyXFx1N0U1OVxcdTdGNDhcXHU3RkY5XFx1N0ZGQlxcdTgwNzdcXHU4MDc2XFx1ODFDRFxcdTgxQ0ZcXHU4MjBBXFx1ODVDRlxcdTg1QTlcXHU4NUNEXFx1ODVEMFxcdTg1QzlcXHU4NUIwXFx1ODVCQVxcdTg1QjlcXHU4NUE2XFx1ODdFRlxcdTg3RUNcXHU4N0YyXFx1ODdFMFxcdTg5ODZcXHU4OUIyXFx1ODlGNFxcdThCMjhcXHU4QjM5XFx1OEIyQ1xcdThCMkJcXHU4QzUwXFx1OEQwNVxcdThFNTlcXHU4RTYzXFx1OEU2NlxcdThFNjRcXHU4RTVGXFx1OEU1NVxcdThFQzBcXHU4RjQ5XFx1OEY0RFxcdTkwODdcXHU5MDgzXFx1OTA4OFxcdTkxQUJcXHU5MUFDXFx1OTFEMFxcdTkzOTRcXHU5MzhBXFx1OTM5NlxcdTkzQTJcXHU5M0IzXFx1OTNBRVxcdTkzQUNcXHU5M0IwXFx1OTM5OFxcdTkzOUFcXHU5Mzk3XFx1OTVENFxcdTk1RDZcXHU5NUQwXFx1OTVENVxcdTk2RTJcXHU5NkRDXFx1OTZEOVxcdTk2REJcXHU5NkRFXFx1OTcyNFxcdTk3QTNcXHU5N0E2XCJdLFxuICAgICAgW1wiYzM0MFwiLCBcIlxcdTk3QURcXHU5N0Y5XFx1OTg0RFxcdTk4NEZcXHU5ODRDXFx1OTg0RVxcdTk4NTNcXHU5OEJBXFx1OTkzRVxcdTk5M0ZcXHU5OTNEXFx1OTkyRVxcdTk5QTVcXHU5QTBFXFx1OUFDMVxcdTlCMDNcXHU5QjA2XFx1OUI0RlxcdTlCNEVcXHU5QjREXFx1OUJDQVxcdTlCQzlcXHU5QkZEXFx1OUJDOFxcdTlCQzBcXHU5RDUxXFx1OUQ1RFxcdTlENjBcXHU5RUUwXFx1OUYxNVxcdTlGMkNcXHU1MTMzXFx1NTZBNVxcdTU4REVcXHU1OERGXFx1NThFMlxcdTVCRjVcXHU5RjkwXFx1NUVFQ1xcdTYxRjJcXHU2MUY3XFx1NjFGNlxcdTYxRjVcXHU2NTAwXFx1NjUwRlxcdTY2RTBcXHU2NkREXFx1NkFFNVxcdTZBRERcXHU2QURBXFx1NkFEM1xcdTcwMUJcXHU3MDFGXFx1NzAyOFxcdTcwMUFcXHU3MDFEXFx1NzAxNVxcdTcwMThcXHU3MjA2XFx1NzIwRFxcdTcyNThcXHU3MkEyXFx1NzM3OFwiXSxcbiAgICAgIFtcImMzYTFcIiwgXCJcXHU3MzdBXFx1NzRCRFxcdTc0Q0FcXHU3NEUzXFx1NzU4N1xcdTc1ODZcXHU3NjVGXFx1NzY2MVxcdTc3QzdcXHU3OTE5XFx1NzlCMVxcdTdBNkJcXHU3QTY5XFx1N0MzRVxcdTdDM0ZcXHU3QzM4XFx1N0MzRFxcdTdDMzdcXHU3QzQwXFx1N0U2QlxcdTdFNkRcXHU3RTc5XFx1N0U2OVxcdTdFNkFcXHU3Rjg1XFx1N0U3M1xcdTdGQjZcXHU3RkI5XFx1N0ZCOFxcdTgxRDhcXHU4NUU5XFx1ODVERFxcdTg1RUFcXHU4NUQ1XFx1ODVFNFxcdTg1RTVcXHU4NUY3XFx1ODdGQlxcdTg4MDVcXHU4ODBEXFx1ODdGOVxcdTg3RkVcXHU4OTYwXFx1ODk1RlxcdTg5NTZcXHU4OTVFXFx1OEI0MVxcdThCNUNcXHU4QjU4XFx1OEI0OVxcdThCNUFcXHU4QjRFXFx1OEI0RlxcdThCNDZcXHU4QjU5XFx1OEQwOFxcdThEMEFcXHU4RTdDXFx1OEU3MlxcdThFODdcXHU4RTc2XFx1OEU2Q1xcdThFN0FcXHU4RTc0XFx1OEY1NFxcdThGNEVcXHU4RkFEXFx1OTA4QVxcdTkwOEJcXHU5MUIxXFx1OTFBRVxcdTkzRTFcXHU5M0QxXFx1OTNERlxcdTkzQzNcXHU5M0M4XFx1OTNEQ1xcdTkzRERcXHU5M0Q2XFx1OTNFMlxcdTkzQ0RcXHU5M0Q4XFx1OTNFNFxcdTkzRDdcXHU5M0U4XFx1OTVEQ1xcdTk2QjRcXHU5NkUzXFx1OTcyQVxcdTk3MjdcXHU5NzYxXFx1OTdEQ1xcdTk3RkJcXHU5ODVFXCJdLFxuICAgICAgW1wiYzQ0MFwiLCBcIlxcdTk4NThcXHU5ODVCXFx1OThCQ1xcdTk5NDVcXHU5OTQ5XFx1OUExNlxcdTlBMTlcXHU5QjBEXFx1OUJFOFxcdTlCRTdcXHU5QkQ2XFx1OUJEQlxcdTlEODlcXHU5RDYxXFx1OUQ3MlxcdTlENkFcXHU5RDZDXFx1OUU5MlxcdTlFOTdcXHU5RTkzXFx1OUVCNFxcdTUyRjhcXHU1NkE4XFx1NTZCN1xcdTU2QjZcXHU1NkI0XFx1NTZCQ1xcdTU4RTRcXHU1QjQwXFx1NUI0M1xcdTVCN0RcXHU1QkY2XFx1NURDOVxcdTYxRjhcXHU2MUZBXFx1NjUxOFxcdTY1MTRcXHU2NTE5XFx1NjZFNlxcdTY3MjdcXHU2QUVDXFx1NzAzRVxcdTcwMzBcXHU3MDMyXFx1NzIxMFxcdTczN0JcXHU3NENGXFx1NzY2MlxcdTc2NjVcXHU3OTI2XFx1NzkyQVxcdTc5MkNcXHU3OTJCXFx1N0FDN1xcdTdBRjZcXHU3QzRDXFx1N0M0M1xcdTdDNERcXHU3Q0VGXFx1N0NGMFxcdThGQUVcXHU3RTdEXFx1N0U3Q1wiXSxcbiAgICAgIFtcImM0YTFcIiwgXCJcXHU3RTgyXFx1N0Y0Q1xcdTgwMDBcXHU4MURBXFx1ODI2NlxcdTg1RkJcXHU4NUY5XFx1ODYxMVxcdTg1RkFcXHU4NjA2XFx1ODYwQlxcdTg2MDdcXHU4NjBBXFx1ODgxNFxcdTg4MTVcXHU4OTY0XFx1ODlCQVxcdTg5RjhcXHU4QjcwXFx1OEI2Q1xcdThCNjZcXHU4QjZGXFx1OEI1RlxcdThCNkJcXHU4RDBGXFx1OEQwRFxcdThFODlcXHU4RTgxXFx1OEU4NVxcdThFODJcXHU5MUI0XFx1OTFDQlxcdTk0MThcXHU5NDAzXFx1OTNGRFxcdTk1RTFcXHU5NzMwXFx1OThDNFxcdTk5NTJcXHU5OTUxXFx1OTlBOFxcdTlBMkJcXHU5QTMwXFx1OUEzN1xcdTlBMzVcXHU5QzEzXFx1OUMwRFxcdTlFNzlcXHU5RUI1XFx1OUVFOFxcdTlGMkZcXHU5RjVGXFx1OUY2M1xcdTlGNjFcXHU1MTM3XFx1NTEzOFxcdTU2QzFcXHU1NkMwXFx1NTZDMlxcdTU5MTRcXHU1QzZDXFx1NURDRFxcdTYxRkNcXHU2MUZFXFx1NjUxRFxcdTY1MUNcXHU2NTk1XFx1NjZFOVxcdTZBRkJcXHU2QjA0XFx1NkFGQVxcdTZCQjJcXHU3MDRDXFx1NzIxQlxcdTcyQTdcXHU3NEQ2XFx1NzRENFxcdTc2NjlcXHU3N0QzXFx1N0M1MFxcdTdFOEZcXHU3RThDXFx1N0ZCQ1xcdTg2MTdcXHU4NjJEXFx1ODYxQVxcdTg4MjNcXHU4ODIyXFx1ODgyMVxcdTg4MUZcXHU4OTZBXFx1ODk2Q1xcdTg5QkRcXHU4Qjc0XCJdLFxuICAgICAgW1wiYzU0MFwiLCBcIlxcdThCNzdcXHU4QjdEXFx1OEQxM1xcdThFOEFcXHU4RThEXFx1OEU4QlxcdThGNUZcXHU4RkFGXFx1OTFCQVxcdTk0MkVcXHU5NDMzXFx1OTQzNVxcdTk0M0FcXHU5NDM4XFx1OTQzMlxcdTk0MkJcXHU5NUUyXFx1OTczOFxcdTk3MzlcXHU5NzMyXFx1OTdGRlxcdTk4NjdcXHU5ODY1XFx1OTk1N1xcdTlBNDVcXHU5QTQzXFx1OUE0MFxcdTlBM0VcXHU5QUNGXFx1OUI1NFxcdTlCNTFcXHU5QzJEXFx1OUMyNVxcdTlEQUZcXHU5REI0XFx1OURDMlxcdTlEQjhcXHU5RTlEXFx1OUVFRlxcdTlGMTlcXHU5RjVDXFx1OUY2NlxcdTlGNjdcXHU1MTNDXFx1NTEzQlxcdTU2QzhcXHU1NkNBXFx1NTZDOVxcdTVCN0ZcXHU1REQ0XFx1NUREMlxcdTVGNEVcXHU2MUZGXFx1NjUyNFxcdTZCMEFcXHU2QjYxXFx1NzA1MVxcdTcwNThcXHU3MzgwXFx1NzRFNFxcdTc1OEFcXHU3NjZFXFx1NzY2Q1wiXSxcbiAgICAgIFtcImM1YTFcIiwgXCJcXHU3OUIzXFx1N0M2MFxcdTdDNUZcXHU4MDdFXFx1ODA3RFxcdTgxREZcXHU4OTcyXFx1ODk2RlxcdTg5RkNcXHU4QjgwXFx1OEQxNlxcdThEMTdcXHU4RTkxXFx1OEU5M1xcdThGNjFcXHU5MTQ4XFx1OTQ0NFxcdTk0NTFcXHU5NDUyXFx1OTczRFxcdTk3M0VcXHU5N0MzXFx1OTdDMVxcdTk4NkJcXHU5OTU1XFx1OUE1NVxcdTlBNERcXHU5QUQyXFx1OUIxQVxcdTlDNDlcXHU5QzMxXFx1OUMzRVxcdTlDM0JcXHU5REQzXFx1OUREN1xcdTlGMzRcXHU5RjZDXFx1OUY2QVxcdTlGOTRcXHU1NkNDXFx1NURENlxcdTYyMDBcXHU2NTIzXFx1NjUyQlxcdTY1MkFcXHU2NkVDXFx1NkIxMFxcdTc0REFcXHU3QUNBXFx1N0M2NFxcdTdDNjNcXHU3QzY1XFx1N0U5M1xcdTdFOTZcXHU3RTk0XFx1ODFFMlxcdTg2MzhcXHU4NjNGXFx1ODgzMVxcdThCOEFcXHU5MDkwXFx1OTA4RlxcdTk0NjNcXHU5NDYwXFx1OTQ2NFxcdTk3NjhcXHU5ODZGXFx1OTk1Q1xcdTlBNUFcXHU5QTVCXFx1OUE1N1xcdTlBRDNcXHU5QUQ0XFx1OUFEMVxcdTlDNTRcXHU5QzU3XFx1OUM1NlxcdTlERTVcXHU5RTlGXFx1OUVGNFxcdTU2RDFcXHU1OEU5XFx1NjUyQ1xcdTcwNUVcXHU3NjcxXFx1NzY3MlxcdTc3RDdcXHU3RjUwXFx1N0Y4OFxcdTg4MzZcXHU4ODM5XFx1ODg2MlxcdThCOTNcXHU4QjkyXCJdLFxuICAgICAgW1wiYzY0MFwiLCBcIlxcdThCOTZcXHU4Mjc3XFx1OEQxQlxcdTkxQzBcXHU5NDZBXFx1OTc0MlxcdTk3NDhcXHU5NzQ0XFx1OTdDNlxcdTk4NzBcXHU5QTVGXFx1OUIyMlxcdTlCNThcXHU5QzVGXFx1OURGOVxcdTlERkFcXHU5RTdDXFx1OUU3RFxcdTlGMDdcXHU5Rjc3XFx1OUY3MlxcdTVFRjNcXHU2QjE2XFx1NzA2M1xcdTdDNkNcXHU3QzZFXFx1ODgzQlxcdTg5QzBcXHU4RUExXFx1OTFDMVxcdTk0NzJcXHU5NDcwXFx1OTg3MVxcdTk5NUVcXHU5QUQ2XFx1OUIyM1xcdTlFQ0NcXHU3MDY0XFx1NzdEQVxcdThCOUFcXHU5NDc3XFx1OTdDOVxcdTlBNjJcXHU5QTY1XFx1N0U5Q1xcdThCOUNcXHU4RUFBXFx1OTFDNVxcdTk0N0RcXHU5NDdFXFx1OTQ3Q1xcdTlDNzdcXHU5Qzc4XFx1OUVGN1xcdThDNTRcXHU5NDdGXFx1OUUxQVxcdTcyMjhcXHU5QTZBXFx1OUIzMVxcdTlFMUJcXHU5RTFFXFx1N0M3MlwiXSxcbiAgICAgIFtcImM5NDBcIiwgXCJcXHU0RTQyXFx1NEU1Q1xcdTUxRjVcXHU1MzFBXFx1NTM4MlxcdTRFMDdcXHU0RTBDXFx1NEU0N1xcdTRFOERcXHU1NkQ3XFx1RkEwQ1xcdTVDNkVcXHU1RjczXFx1NEUwRlxcdTUxODdcXHU0RTBFXFx1NEUyRVxcdTRFOTNcXHU0RUMyXFx1NEVDOVxcdTRFQzhcXHU1MTk4XFx1NTJGQ1xcdTUzNkNcXHU1M0I5XFx1NTcyMFxcdTU5MDNcXHU1OTJDXFx1NUMxMFxcdTVERkZcXHU2NUUxXFx1NkJCM1xcdTZCQ0NcXHU2QzE0XFx1NzIzRlxcdTRFMzFcXHU0RTNDXFx1NEVFOFxcdTRFRENcXHU0RUU5XFx1NEVFMVxcdTRFRERcXHU0RURBXFx1NTIwQ1xcdTUzMUNcXHU1MzRDXFx1NTcyMlxcdTU3MjNcXHU1OTE3XFx1NTkyRlxcdTVCODFcXHU1Qjg0XFx1NUMxMlxcdTVDM0JcXHU1Qzc0XFx1NUM3M1xcdTVFMDRcXHU1RTgwXFx1NUU4MlxcdTVGQzlcXHU2MjA5XFx1NjI1MFxcdTZDMTVcIl0sXG4gICAgICBbXCJjOWExXCIsIFwiXFx1NkMzNlxcdTZDNDNcXHU2QzNGXFx1NkMzQlxcdTcyQUVcXHU3MkIwXFx1NzM4QVxcdTc5QjhcXHU4MDhBXFx1OTYxRVxcdTRGMEVcXHU0RjE4XFx1NEYyQ1xcdTRFRjVcXHU0RjE0XFx1NEVGMVxcdTRGMDBcXHU0RUY3XFx1NEYwOFxcdTRGMURcXHU0RjAyXFx1NEYwNVxcdTRGMjJcXHU0RjEzXFx1NEYwNFxcdTRFRjRcXHU0RjEyXFx1NTFCMVxcdTUyMTNcXHU1MjA5XFx1NTIxMFxcdTUyQTZcXHU1MzIyXFx1NTMxRlxcdTUzNERcXHU1MzhBXFx1NTQwN1xcdTU2RTFcXHU1NkRGXFx1NTcyRVxcdTU3MkFcXHU1NzM0XFx1NTkzQ1xcdTU5ODBcXHU1OTdDXFx1NTk4NVxcdTU5N0JcXHU1OTdFXFx1NTk3N1xcdTU5N0ZcXHU1QjU2XFx1NUMxNVxcdTVDMjVcXHU1QzdDXFx1NUM3QVxcdTVDN0JcXHU1QzdFXFx1NURERlxcdTVFNzVcXHU1RTg0XFx1NUYwMlxcdTVGMUFcXHU1Rjc0XFx1NUZENVxcdTVGRDRcXHU1RkNGXFx1NjI1Q1xcdTYyNUVcXHU2MjY0XFx1NjI2MVxcdTYyNjZcXHU2MjYyXFx1NjI1OVxcdTYyNjBcXHU2MjVBXFx1NjI2NVxcdTY1RUZcXHU2NUVFXFx1NjczRVxcdTY3MzlcXHU2NzM4XFx1NjczQlxcdTY3M0FcXHU2NzNGXFx1NjczQ1xcdTY3MzNcXHU2QzE4XFx1NkM0NlxcdTZDNTJcXHU2QzVDXFx1NkM0RlxcdTZDNEFcXHU2QzU0XFx1NkM0QlwiXSxcbiAgICAgIFtcImNhNDBcIiwgXCJcXHU2QzRDXFx1NzA3MVxcdTcyNUVcXHU3MkI0XFx1NzJCNVxcdTczOEVcXHU3NTJBXFx1NzY3RlxcdTdBNzVcXHU3RjUxXFx1ODI3OFxcdTgyN0NcXHU4MjgwXFx1ODI3RFxcdTgyN0ZcXHU4NjREXFx1ODk3RVxcdTkwOTlcXHU5MDk3XFx1OTA5OFxcdTkwOUJcXHU5MDk0XFx1OTYyMlxcdTk2MjRcXHU5NjIwXFx1OTYyM1xcdTRGNTZcXHU0RjNCXFx1NEY2MlxcdTRGNDlcXHU0RjUzXFx1NEY2NFxcdTRGM0VcXHU0RjY3XFx1NEY1MlxcdTRGNUZcXHU0RjQxXFx1NEY1OFxcdTRGMkRcXHU0RjMzXFx1NEYzRlxcdTRGNjFcXHU1MThGXFx1NTFCOVxcdTUyMUNcXHU1MjFFXFx1NTIyMVxcdTUyQURcXHU1MkFFXFx1NTMwOVxcdTUzNjNcXHU1MzcyXFx1NTM4RVxcdTUzOEZcXHU1NDMwXFx1NTQzN1xcdTU0MkFcXHU1NDU0XFx1NTQ0NVxcdTU0MTlcXHU1NDFDXFx1NTQyNVxcdTU0MThcIl0sXG4gICAgICBbXCJjYWExXCIsIFwiXFx1NTQzRFxcdTU0NEZcXHU1NDQxXFx1NTQyOFxcdTU0MjRcXHU1NDQ3XFx1NTZFRVxcdTU2RTdcXHU1NkU1XFx1NTc0MVxcdTU3NDVcXHU1NzRDXFx1NTc0OVxcdTU3NEJcXHU1NzUyXFx1NTkwNlxcdTU5NDBcXHU1OUE2XFx1NTk5OFxcdTU5QTBcXHU1OTk3XFx1NTk4RVxcdTU5QTJcXHU1OTkwXFx1NTk4RlxcdTU5QTdcXHU1OUExXFx1NUI4RVxcdTVCOTJcXHU1QzI4XFx1NUMyQVxcdTVDOERcXHU1QzhGXFx1NUM4OFxcdTVDOEJcXHU1Qzg5XFx1NUM5MlxcdTVDOEFcXHU1Qzg2XFx1NUM5M1xcdTVDOTVcXHU1REUwXFx1NUUwQVxcdTVFMEVcXHU1RThCXFx1NUU4OVxcdTVFOENcXHU1RTg4XFx1NUU4RFxcdTVGMDVcXHU1RjFEXFx1NUY3OFxcdTVGNzZcXHU1RkQyXFx1NUZEMVxcdTVGRDBcXHU1RkVEXFx1NUZFOFxcdTVGRUVcXHU1RkYzXFx1NUZFMVxcdTVGRTRcXHU1RkUzXFx1NUZGQVxcdTVGRUZcXHU1RkY3XFx1NUZGQlxcdTYwMDBcXHU1RkY0XFx1NjIzQVxcdTYyODNcXHU2MjhDXFx1NjI4RVxcdTYyOEZcXHU2Mjk0XFx1NjI4N1xcdTYyNzFcXHU2MjdCXFx1NjI3QVxcdTYyNzBcXHU2MjgxXFx1NjI4OFxcdTYyNzdcXHU2MjdEXFx1NjI3MlxcdTYyNzRcXHU2NTM3XFx1NjVGMFxcdTY1RjRcXHU2NUYzXFx1NjVGMlxcdTY1RjVcXHU2NzQ1XFx1Njc0N1wiXSxcbiAgICAgIFtcImNiNDBcIiwgXCJcXHU2NzU5XFx1Njc1NVxcdTY3NENcXHU2NzQ4XFx1Njc1RFxcdTY3NERcXHU2NzVBXFx1Njc0QlxcdTZCRDBcXHU2QzE5XFx1NkMxQVxcdTZDNzhcXHU2QzY3XFx1NkM2QlxcdTZDODRcXHU2QzhCXFx1NkM4RlxcdTZDNzFcXHU2QzZGXFx1NkM2OVxcdTZDOUFcXHU2QzZEXFx1NkM4N1xcdTZDOTVcXHU2QzlDXFx1NkM2NlxcdTZDNzNcXHU2QzY1XFx1NkM3QlxcdTZDOEVcXHU3MDc0XFx1NzA3QVxcdTcyNjNcXHU3MkJGXFx1NzJCRFxcdTcyQzNcXHU3MkM2XFx1NzJDMVxcdTcyQkFcXHU3MkM1XFx1NzM5NVxcdTczOTdcXHU3MzkzXFx1NzM5NFxcdTczOTJcXHU3NTNBXFx1NzUzOVxcdTc1OTRcXHU3NTk1XFx1NzY4MVxcdTc5M0RcXHU4MDM0XFx1ODA5NVxcdTgwOTlcXHU4MDkwXFx1ODA5MlxcdTgwOUNcXHU4MjkwXFx1ODI4RlxcdTgyODVcXHU4MjhFXFx1ODI5MVxcdTgyOTNcIl0sXG4gICAgICBbXCJjYmExXCIsIFwiXFx1ODI4QVxcdTgyODNcXHU4Mjg0XFx1OEM3OFxcdThGQzlcXHU4RkJGXFx1OTA5RlxcdTkwQTFcXHU5MEE1XFx1OTA5RVxcdTkwQTdcXHU5MEEwXFx1OTYzMFxcdTk2MjhcXHU5NjJGXFx1OTYyRFxcdTRFMzNcXHU0Rjk4XFx1NEY3Q1xcdTRGODVcXHU0RjdEXFx1NEY4MFxcdTRGODdcXHU0Rjc2XFx1NEY3NFxcdTRGODlcXHU0Rjg0XFx1NEY3N1xcdTRGNENcXHU0Rjk3XFx1NEY2QVxcdTRGOUFcXHU0Rjc5XFx1NEY4MVxcdTRGNzhcXHU0RjkwXFx1NEY5Q1xcdTRGOTRcXHU0RjlFXFx1NEY5MlxcdTRGODJcXHU0Rjk1XFx1NEY2QlxcdTRGNkVcXHU1MTlFXFx1NTFCQ1xcdTUxQkVcXHU1MjM1XFx1NTIzMlxcdTUyMzNcXHU1MjQ2XFx1NTIzMVxcdTUyQkNcXHU1MzBBXFx1NTMwQlxcdTUzM0NcXHU1MzkyXFx1NTM5NFxcdTU0ODdcXHU1NDdGXFx1NTQ4MVxcdTU0OTFcXHU1NDgyXFx1NTQ4OFxcdTU0NkJcXHU1NDdBXFx1NTQ3RVxcdTU0NjVcXHU1NDZDXFx1NTQ3NFxcdTU0NjZcXHU1NDhEXFx1NTQ2RlxcdTU0NjFcXHU1NDYwXFx1NTQ5OFxcdTU0NjNcXHU1NDY3XFx1NTQ2NFxcdTU2RjdcXHU1NkY5XFx1NTc2RlxcdTU3NzJcXHU1NzZEXFx1NTc2QlxcdTU3NzFcXHU1NzcwXFx1NTc3NlxcdTU3ODBcXHU1Nzc1XFx1NTc3QlxcdTU3NzNcXHU1Nzc0XFx1NTc2MlwiXSxcbiAgICAgIFtcImNjNDBcIiwgXCJcXHU1NzY4XFx1NTc3RFxcdTU5MENcXHU1OTQ1XFx1NTlCNVxcdTU5QkFcXHU1OUNGXFx1NTlDRVxcdTU5QjJcXHU1OUNDXFx1NTlDMVxcdTU5QjZcXHU1OUJDXFx1NTlDM1xcdTU5RDZcXHU1OUIxXFx1NTlCRFxcdTU5QzBcXHU1OUM4XFx1NTlCNFxcdTU5QzdcXHU1QjYyXFx1NUI2NVxcdTVCOTNcXHU1Qjk1XFx1NUM0NFxcdTVDNDdcXHU1Q0FFXFx1NUNBNFxcdTVDQTBcXHU1Q0I1XFx1NUNBRlxcdTVDQThcXHU1Q0FDXFx1NUM5RlxcdTVDQTNcXHU1Q0FEXFx1NUNBMlxcdTVDQUFcXHU1Q0E3XFx1NUM5RFxcdTVDQTVcXHU1Q0I2XFx1NUNCMFxcdTVDQTZcXHU1RTE3XFx1NUUxNFxcdTVFMTlcXHU1RjI4XFx1NUYyMlxcdTVGMjNcXHU1RjI0XFx1NUY1NFxcdTVGODJcXHU1RjdFXFx1NUY3RFxcdTVGREVcXHU1RkU1XFx1NjAyRFxcdTYwMjZcXHU2MDE5XFx1NjAzMlxcdTYwMEJcIl0sXG4gICAgICBbXCJjY2ExXCIsIFwiXFx1NjAzNFxcdTYwMEFcXHU2MDE3XFx1NjAzM1xcdTYwMUFcXHU2MDFFXFx1NjAyQ1xcdTYwMjJcXHU2MDBEXFx1NjAxMFxcdTYwMkVcXHU2MDEzXFx1NjAxMVxcdTYwMENcXHU2MDA5XFx1NjAxQ1xcdTYyMTRcXHU2MjNEXFx1NjJBRFxcdTYyQjRcXHU2MkQxXFx1NjJCRVxcdTYyQUFcXHU2MkI2XFx1NjJDQVxcdTYyQUVcXHU2MkIzXFx1NjJBRlxcdTYyQkJcXHU2MkE5XFx1NjJCMFxcdTYyQjhcXHU2NTNEXFx1NjVBOFxcdTY1QkJcXHU2NjA5XFx1NjVGQ1xcdTY2MDRcXHU2NjEyXFx1NjYwOFxcdTY1RkJcXHU2NjAzXFx1NjYwQlxcdTY2MERcXHU2NjA1XFx1NjVGRFxcdTY2MTFcXHU2NjEwXFx1NjZGNlxcdTY3MEFcXHU2Nzg1XFx1Njc2Q1xcdTY3OEVcXHU2NzkyXFx1Njc3NlxcdTY3N0JcXHU2Nzk4XFx1Njc4NlxcdTY3ODRcXHU2Nzc0XFx1Njc4RFxcdTY3OENcXHU2NzdBXFx1Njc5RlxcdTY3OTFcXHU2Nzk5XFx1Njc4M1xcdTY3N0RcXHU2NzgxXFx1Njc3OFxcdTY3NzlcXHU2Nzk0XFx1NkIyNVxcdTZCODBcXHU2QjdFXFx1NkJERVxcdTZDMURcXHU2QzkzXFx1NkNFQ1xcdTZDRUJcXHU2Q0VFXFx1NkNEOVxcdTZDQjZcXHU2Q0Q0XFx1NkNBRFxcdTZDRTdcXHU2Q0I3XFx1NkNEMFxcdTZDQzJcXHU2Q0JBXFx1NkNDM1xcdTZDQzZcXHU2Q0VEXFx1NkNGMlwiXSxcbiAgICAgIFtcImNkNDBcIiwgXCJcXHU2Q0QyXFx1NkNERFxcdTZDQjRcXHU2QzhBXFx1NkM5RFxcdTZDODBcXHU2Q0RFXFx1NkNDMFxcdTZEMzBcXHU2Q0NEXFx1NkNDN1xcdTZDQjBcXHU2Q0Y5XFx1NkNDRlxcdTZDRTlcXHU2Q0QxXFx1NzA5NFxcdTcwOThcXHU3MDg1XFx1NzA5M1xcdTcwODZcXHU3MDg0XFx1NzA5MVxcdTcwOTZcXHU3MDgyXFx1NzA5QVxcdTcwODNcXHU3MjZBXFx1NzJENlxcdTcyQ0JcXHU3MkQ4XFx1NzJDOVxcdTcyRENcXHU3MkQyXFx1NzJENFxcdTcyREFcXHU3MkNDXFx1NzJEMVxcdTczQTRcXHU3M0ExXFx1NzNBRFxcdTczQTZcXHU3M0EyXFx1NzNBMFxcdTczQUNcXHU3MzlEXFx1NzRERFxcdTc0RThcXHU3NTNGXFx1NzU0MFxcdTc1M0VcXHU3NThDXFx1NzU5OFxcdTc2QUZcXHU3NkYzXFx1NzZGMVxcdTc2RjBcXHU3NkY1XFx1NzdGOFxcdTc3RkNcXHU3N0Y5XFx1NzdGQlxcdTc3RkFcIl0sXG4gICAgICBbXCJjZGExXCIsIFwiXFx1NzdGN1xcdTc5NDJcXHU3OTNGXFx1NzlDNVxcdTdBNzhcXHU3QTdCXFx1N0FGQlxcdTdDNzVcXHU3Q0ZEXFx1ODAzNVxcdTgwOEZcXHU4MEFFXFx1ODBBM1xcdTgwQjhcXHU4MEI1XFx1ODBBRFxcdTgyMjBcXHU4MkEwXFx1ODJDMFxcdTgyQUJcXHU4MjlBXFx1ODI5OFxcdTgyOUJcXHU4MkI1XFx1ODJBN1xcdTgyQUVcXHU4MkJDXFx1ODI5RVxcdTgyQkFcXHU4MkI0XFx1ODJBOFxcdTgyQTFcXHU4MkE5XFx1ODJDMlxcdTgyQTRcXHU4MkMzXFx1ODJCNlxcdTgyQTJcXHU4NjcwXFx1ODY2RlxcdTg2NkRcXHU4NjZFXFx1OEM1NlxcdThGRDJcXHU4RkNCXFx1OEZEM1xcdThGQ0RcXHU4RkQ2XFx1OEZENVxcdThGRDdcXHU5MEIyXFx1OTBCNFxcdTkwQUZcXHU5MEIzXFx1OTBCMFxcdTk2MzlcXHU5NjNEXFx1OTYzQ1xcdTk2M0FcXHU5NjQzXFx1NEZDRFxcdTRGQzVcXHU0RkQzXFx1NEZCMlxcdTRGQzlcXHU0RkNCXFx1NEZDMVxcdTRGRDRcXHU0RkRDXFx1NEZEOVxcdTRGQkJcXHU0RkIzXFx1NEZEQlxcdTRGQzdcXHU0RkQ2XFx1NEZCQVxcdTRGQzBcXHU0RkI5XFx1NEZFQ1xcdTUyNDRcXHU1MjQ5XFx1NTJDMFxcdTUyQzJcXHU1MzNEXFx1NTM3Q1xcdTUzOTdcXHU1Mzk2XFx1NTM5OVxcdTUzOThcXHU1NEJBXFx1NTRBMVxcdTU0QURcXHU1NEE1XFx1NTRDRlwiXSxcbiAgICAgIFtcImNlNDBcIiwgXCJcXHU1NEMzXFx1ODMwRFxcdTU0QjdcXHU1NEFFXFx1NTRENlxcdTU0QjZcXHU1NEM1XFx1NTRDNlxcdTU0QTBcXHU1NDcwXFx1NTRCQ1xcdTU0QTJcXHU1NEJFXFx1NTQ3MlxcdTU0REVcXHU1NEIwXFx1NTdCNVxcdTU3OUVcXHU1NzlGXFx1NTdBNFxcdTU3OENcXHU1Nzk3XFx1NTc5RFxcdTU3OUJcXHU1Nzk0XFx1NTc5OFxcdTU3OEZcXHU1Nzk5XFx1NTdBNVxcdTU3OUFcXHU1Nzk1XFx1NThGNFxcdTU5MERcXHU1OTUzXFx1NTlFMVxcdTU5REVcXHU1OUVFXFx1NUEwMFxcdTU5RjFcXHU1OUREXFx1NTlGQVxcdTU5RkRcXHU1OUZDXFx1NTlGNlxcdTU5RTRcXHU1OUYyXFx1NTlGN1xcdTU5REJcXHU1OUU5XFx1NTlGM1xcdTU5RjVcXHU1OUUwXFx1NTlGRVxcdTU5RjRcXHU1OUVEXFx1NUJBOFxcdTVDNENcXHU1Q0QwXFx1NUNEOFxcdTVDQ0NcXHU1Q0Q3XFx1NUNDQlxcdTVDREJcIl0sXG4gICAgICBbXCJjZWExXCIsIFwiXFx1NUNERVxcdTVDREFcXHU1Q0M5XFx1NUNDN1xcdTVDQ0FcXHU1Q0Q2XFx1NUNEM1xcdTVDRDRcXHU1Q0NGXFx1NUNDOFxcdTVDQzZcXHU1Q0NFXFx1NUNERlxcdTVDRjhcXHU1REY5XFx1NUUyMVxcdTVFMjJcXHU1RTIzXFx1NUUyMFxcdTVFMjRcXHU1RUIwXFx1NUVBNFxcdTVFQTJcXHU1RTlCXFx1NUVBM1xcdTVFQTVcXHU1RjA3XFx1NUYyRVxcdTVGNTZcXHU1Rjg2XFx1NjAzN1xcdTYwMzlcXHU2MDU0XFx1NjA3MlxcdTYwNUVcXHU2MDQ1XFx1NjA1M1xcdTYwNDdcXHU2MDQ5XFx1NjA1QlxcdTYwNENcXHU2MDQwXFx1NjA0MlxcdTYwNUZcXHU2MDI0XFx1NjA0NFxcdTYwNThcXHU2MDY2XFx1NjA2RVxcdTYyNDJcXHU2MjQzXFx1NjJDRlxcdTYzMERcXHU2MzBCXFx1NjJGNVxcdTYzMEVcXHU2MzAzXFx1NjJFQlxcdTYyRjlcXHU2MzBGXFx1NjMwQ1xcdTYyRjhcXHU2MkY2XFx1NjMwMFxcdTYzMTNcXHU2MzE0XFx1NjJGQVxcdTYzMTVcXHU2MkZCXFx1NjJGMFxcdTY1NDFcXHU2NTQzXFx1NjVBQVxcdTY1QkZcXHU2NjM2XFx1NjYyMVxcdTY2MzJcXHU2NjM1XFx1NjYxQ1xcdTY2MjZcXHU2NjIyXFx1NjYzM1xcdTY2MkJcXHU2NjNBXFx1NjYxRFxcdTY2MzRcXHU2NjM5XFx1NjYyRVxcdTY3MEZcXHU2NzEwXFx1NjdDMVxcdTY3RjJcXHU2N0M4XFx1NjdCQVwiXSxcbiAgICAgIFtcImNmNDBcIiwgXCJcXHU2N0RDXFx1NjdCQlxcdTY3RjhcXHU2N0Q4XFx1NjdDMFxcdTY3QjdcXHU2N0M1XFx1NjdFQlxcdTY3RTRcXHU2N0RGXFx1NjdCNVxcdTY3Q0RcXHU2N0IzXFx1NjdGN1xcdTY3RjZcXHU2N0VFXFx1NjdFM1xcdTY3QzJcXHU2N0I5XFx1NjdDRVxcdTY3RTdcXHU2N0YwXFx1NjdCMlxcdTY3RkNcXHU2N0M2XFx1NjdFRFxcdTY3Q0NcXHU2N0FFXFx1NjdFNlxcdTY3REJcXHU2N0ZBXFx1NjdDOVxcdTY3Q0FcXHU2N0MzXFx1NjdFQVxcdTY3Q0JcXHU2QjI4XFx1NkI4MlxcdTZCODRcXHU2QkI2XFx1NkJENlxcdTZCRDhcXHU2QkUwXFx1NkMyMFxcdTZDMjFcXHU2RDI4XFx1NkQzNFxcdTZEMkRcXHU2RDFGXFx1NkQzQ1xcdTZEM0ZcXHU2RDEyXFx1NkQwQVxcdTZDREFcXHU2RDMzXFx1NkQwNFxcdTZEMTlcXHU2RDNBXFx1NkQxQVxcdTZEMTFcXHU2RDAwXFx1NkQxRFxcdTZENDJcIl0sXG4gICAgICBbXCJjZmExXCIsIFwiXFx1NkQwMVxcdTZEMThcXHU2RDM3XFx1NkQwM1xcdTZEMEZcXHU2RDQwXFx1NkQwN1xcdTZEMjBcXHU2RDJDXFx1NkQwOFxcdTZEMjJcXHU2RDA5XFx1NkQxMFxcdTcwQjdcXHU3MDlGXFx1NzBCRVxcdTcwQjFcXHU3MEIwXFx1NzBBMVxcdTcwQjRcXHU3MEI1XFx1NzBBOVxcdTcyNDFcXHU3MjQ5XFx1NzI0QVxcdTcyNkNcXHU3MjcwXFx1NzI3M1xcdTcyNkVcXHU3MkNBXFx1NzJFNFxcdTcyRThcXHU3MkVCXFx1NzJERlxcdTcyRUFcXHU3MkU2XFx1NzJFM1xcdTczODVcXHU3M0NDXFx1NzNDMlxcdTczQzhcXHU3M0M1XFx1NzNCOVxcdTczQjZcXHU3M0I1XFx1NzNCNFxcdTczRUJcXHU3M0JGXFx1NzNDN1xcdTczQkVcXHU3M0MzXFx1NzNDNlxcdTczQjhcXHU3M0NCXFx1NzRFQ1xcdTc0RUVcXHU3NTJFXFx1NzU0N1xcdTc1NDhcXHU3NUE3XFx1NzVBQVxcdTc2NzlcXHU3NkM0XFx1NzcwOFxcdTc3MDNcXHU3NzA0XFx1NzcwNVxcdTc3MEFcXHU3NkY3XFx1NzZGQlxcdTc2RkFcXHU3N0U3XFx1NzdFOFxcdTc4MDZcXHU3ODExXFx1NzgxMlxcdTc4MDVcXHU3ODEwXFx1NzgwRlxcdTc4MEVcXHU3ODA5XFx1NzgwM1xcdTc4MTNcXHU3OTRBXFx1Nzk0Q1xcdTc5NEJcXHU3OTQ1XFx1Nzk0NFxcdTc5RDVcXHU3OUNEXFx1NzlDRlxcdTc5RDZcXHU3OUNFXFx1N0E4MFwiXSxcbiAgICAgIFtcImQwNDBcIiwgXCJcXHU3QTdFXFx1N0FEMVxcdTdCMDBcXHU3QjAxXFx1N0M3QVxcdTdDNzhcXHU3Qzc5XFx1N0M3RlxcdTdDODBcXHU3QzgxXFx1N0QwM1xcdTdEMDhcXHU3RDAxXFx1N0Y1OFxcdTdGOTFcXHU3RjhEXFx1N0ZCRVxcdTgwMDdcXHU4MDBFXFx1ODAwRlxcdTgwMTRcXHU4MDM3XFx1ODBEOFxcdTgwQzdcXHU4MEUwXFx1ODBEMVxcdTgwQzhcXHU4MEMyXFx1ODBEMFxcdTgwQzVcXHU4MEUzXFx1ODBEOVxcdTgwRENcXHU4MENBXFx1ODBENVxcdTgwQzlcXHU4MENGXFx1ODBEN1xcdTgwRTZcXHU4MENEXFx1ODFGRlxcdTgyMjFcXHU4Mjk0XFx1ODJEOVxcdTgyRkVcXHU4MkY5XFx1ODMwN1xcdTgyRThcXHU4MzAwXFx1ODJENVxcdTgzM0FcXHU4MkVCXFx1ODJENlxcdTgyRjRcXHU4MkVDXFx1ODJFMVxcdTgyRjJcXHU4MkY1XFx1ODMwQ1xcdTgyRkJcXHU4MkY2XFx1ODJGMFxcdTgyRUFcIl0sXG4gICAgICBbXCJkMGExXCIsIFwiXFx1ODJFNFxcdTgyRTBcXHU4MkZBXFx1ODJGM1xcdTgyRURcXHU4Njc3XFx1ODY3NFxcdTg2N0NcXHU4NjczXFx1ODg0MVxcdTg4NEVcXHU4ODY3XFx1ODg2QVxcdTg4NjlcXHU4OUQzXFx1OEEwNFxcdThBMDdcXHU4RDcyXFx1OEZFM1xcdThGRTFcXHU4RkVFXFx1OEZFMFxcdTkwRjFcXHU5MEJEXFx1OTBCRlxcdTkwRDVcXHU5MEM1XFx1OTBCRVxcdTkwQzdcXHU5MENCXFx1OTBDOFxcdTkxRDRcXHU5MUQzXFx1OTY1NFxcdTk2NEZcXHU5NjUxXFx1OTY1M1xcdTk2NEFcXHU5NjRFXFx1NTAxRVxcdTUwMDVcXHU1MDA3XFx1NTAxM1xcdTUwMjJcXHU1MDMwXFx1NTAxQlxcdTRGRjVcXHU0RkY0XFx1NTAzM1xcdTUwMzdcXHU1MDJDXFx1NEZGNlxcdTRGRjdcXHU1MDE3XFx1NTAxQ1xcdTUwMjBcXHU1MDI3XFx1NTAzNVxcdTUwMkZcXHU1MDMxXFx1NTAwRVxcdTUxNUFcXHU1MTk0XFx1NTE5M1xcdTUxQ0FcXHU1MUM0XFx1NTFDNVxcdTUxQzhcXHU1MUNFXFx1NTI2MVxcdTUyNUFcXHU1MjUyXFx1NTI1RVxcdTUyNUZcXHU1MjU1XFx1NTI2MlxcdTUyQ0RcXHU1MzBFXFx1NTM5RVxcdTU1MjZcXHU1NEUyXFx1NTUxN1xcdTU1MTJcXHU1NEU3XFx1NTRGM1xcdTU0RTRcXHU1NTFBXFx1NTRGRlxcdTU1MDRcXHU1NTA4XFx1NTRFQlxcdTU1MTFcXHU1NTA1XFx1NTRGMVwiXSxcbiAgICAgIFtcImQxNDBcIiwgXCJcXHU1NTBBXFx1NTRGQlxcdTU0RjdcXHU1NEY4XFx1NTRFMFxcdTU1MEVcXHU1NTAzXFx1NTUwQlxcdTU3MDFcXHU1NzAyXFx1NTdDQ1xcdTU4MzJcXHU1N0Q1XFx1NTdEMlxcdTU3QkFcXHU1N0M2XFx1NTdCRFxcdTU3QkNcXHU1N0I4XFx1NTdCNlxcdTU3QkZcXHU1N0M3XFx1NTdEMFxcdTU3QjlcXHU1N0MxXFx1NTkwRVxcdTU5NEFcXHU1QTE5XFx1NUExNlxcdTVBMkRcXHU1QTJFXFx1NUExNVxcdTVBMEZcXHU1QTE3XFx1NUEwQVxcdTVBMUVcXHU1QTMzXFx1NUI2Q1xcdTVCQTdcXHU1QkFEXFx1NUJBQ1xcdTVDMDNcXHU1QzU2XFx1NUM1NFxcdTVDRUNcXHU1Q0ZGXFx1NUNFRVxcdTVDRjFcXHU1Q0Y3XFx1NUQwMFxcdTVDRjlcXHU1RTI5XFx1NUUyOFxcdTVFQThcXHU1RUFFXFx1NUVBQVxcdTVFQUNcXHU1RjMzXFx1NUYzMFxcdTVGNjdcXHU2MDVEXFx1NjA1QVxcdTYwNjdcIl0sXG4gICAgICBbXCJkMWExXCIsIFwiXFx1NjA0MVxcdTYwQTJcXHU2MDg4XFx1NjA4MFxcdTYwOTJcXHU2MDgxXFx1NjA5RFxcdTYwODNcXHU2MDk1XFx1NjA5QlxcdTYwOTdcXHU2MDg3XFx1NjA5Q1xcdTYwOEVcXHU2MjE5XFx1NjI0NlxcdTYyRjJcXHU2MzEwXFx1NjM1NlxcdTYzMkNcXHU2MzQ0XFx1NjM0NVxcdTYzMzZcXHU2MzQzXFx1NjNFNFxcdTYzMzlcXHU2MzRCXFx1NjM0QVxcdTYzM0NcXHU2MzI5XFx1NjM0MVxcdTYzMzRcXHU2MzU4XFx1NjM1NFxcdTYzNTlcXHU2MzJEXFx1NjM0N1xcdTYzMzNcXHU2MzVBXFx1NjM1MVxcdTYzMzhcXHU2MzU3XFx1NjM0MFxcdTYzNDhcXHU2NTRBXFx1NjU0NlxcdTY1QzZcXHU2NUMzXFx1NjVDNFxcdTY1QzJcXHU2NjRBXFx1NjY1RlxcdTY2NDdcXHU2NjUxXFx1NjcxMlxcdTY3MTNcXHU2ODFGXFx1NjgxQVxcdTY4NDlcXHU2ODMyXFx1NjgzM1xcdTY4M0JcXHU2ODRCXFx1Njg0RlxcdTY4MTZcXHU2ODMxXFx1NjgxQ1xcdTY4MzVcXHU2ODJCXFx1NjgyRFxcdTY4MkZcXHU2ODRFXFx1Njg0NFxcdTY4MzRcXHU2ODFEXFx1NjgxMlxcdTY4MTRcXHU2ODI2XFx1NjgyOFxcdTY4MkVcXHU2ODREXFx1NjgzQVxcdTY4MjVcXHU2ODIwXFx1NkIyQ1xcdTZCMkZcXHU2QjJEXFx1NkIzMVxcdTZCMzRcXHU2QjZEXFx1ODA4MlxcdTZCODhcXHU2QkU2XFx1NkJFNFwiXSxcbiAgICAgIFtcImQyNDBcIiwgXCJcXHU2QkU4XFx1NkJFM1xcdTZCRTJcXHU2QkU3XFx1NkMyNVxcdTZEN0FcXHU2RDYzXFx1NkQ2NFxcdTZENzZcXHU2RDBEXFx1NkQ2MVxcdTZEOTJcXHU2RDU4XFx1NkQ2MlxcdTZENkRcXHU2RDZGXFx1NkQ5MVxcdTZEOERcXHU2REVGXFx1NkQ3RlxcdTZEODZcXHU2RDVFXFx1NkQ2N1xcdTZENjBcXHU2RDk3XFx1NkQ3MFxcdTZEN0NcXHU2RDVGXFx1NkQ4MlxcdTZEOThcXHU2RDJGXFx1NkQ2OFxcdTZEOEJcXHU2RDdFXFx1NkQ4MFxcdTZEODRcXHU2RDE2XFx1NkQ4M1xcdTZEN0JcXHU2RDdEXFx1NkQ3NVxcdTZEOTBcXHU3MERDXFx1NzBEM1xcdTcwRDFcXHU3MEREXFx1NzBDQlxcdTdGMzlcXHU3MEUyXFx1NzBEN1xcdTcwRDJcXHU3MERFXFx1NzBFMFxcdTcwRDRcXHU3MENEXFx1NzBDNVxcdTcwQzZcXHU3MEM3XFx1NzBEQVxcdTcwQ0VcXHU3MEUxXFx1NzI0MlxcdTcyNzhcIl0sXG4gICAgICBbXCJkMmExXCIsIFwiXFx1NzI3N1xcdTcyNzZcXHU3MzAwXFx1NzJGQVxcdTcyRjRcXHU3MkZFXFx1NzJGNlxcdTcyRjNcXHU3MkZCXFx1NzMwMVxcdTczRDNcXHU3M0Q5XFx1NzNFNVxcdTczRDZcXHU3M0JDXFx1NzNFN1xcdTczRTNcXHU3M0U5XFx1NzNEQ1xcdTczRDJcXHU3M0RCXFx1NzNENFxcdTczRERcXHU3M0RBXFx1NzNEN1xcdTczRDhcXHU3M0U4XFx1NzRERVxcdTc0REZcXHU3NEY0XFx1NzRGNVxcdTc1MjFcXHU3NTVCXFx1NzU1RlxcdTc1QjBcXHU3NUMxXFx1NzVCQlxcdTc1QzRcXHU3NUMwXFx1NzVCRlxcdTc1QjZcXHU3NUJBXFx1NzY4QVxcdTc2QzlcXHU3NzFEXFx1NzcxQlxcdTc3MTBcXHU3NzEzXFx1NzcxMlxcdTc3MjNcXHU3NzExXFx1NzcxNVxcdTc3MTlcXHU3NzFBXFx1NzcyMlxcdTc3MjdcXHU3ODIzXFx1NzgyQ1xcdTc4MjJcXHU3ODM1XFx1NzgyRlxcdTc4MjhcXHU3ODJFXFx1NzgyQlxcdTc4MjFcXHU3ODI5XFx1NzgzM1xcdTc4MkFcXHU3ODMxXFx1Nzk1NFxcdTc5NUJcXHU3OTRGXFx1Nzk1Q1xcdTc5NTNcXHU3OTUyXFx1Nzk1MVxcdTc5RUJcXHU3OUVDXFx1NzlFMFxcdTc5RUVcXHU3OUVEXFx1NzlFQVxcdTc5RENcXHU3OURFXFx1NzlERFxcdTdBODZcXHU3QTg5XFx1N0E4NVxcdTdBOEJcXHU3QThDXFx1N0E4QVxcdTdBODdcXHU3QUQ4XFx1N0IxMFwiXSxcbiAgICAgIFtcImQzNDBcIiwgXCJcXHU3QjA0XFx1N0IxM1xcdTdCMDVcXHU3QjBGXFx1N0IwOFxcdTdCMEFcXHU3QjBFXFx1N0IwOVxcdTdCMTJcXHU3Qzg0XFx1N0M5MVxcdTdDOEFcXHU3QzhDXFx1N0M4OFxcdTdDOERcXHU3Qzg1XFx1N0QxRVxcdTdEMURcXHU3RDExXFx1N0QwRVxcdTdEMThcXHU3RDE2XFx1N0QxM1xcdTdEMUZcXHU3RDEyXFx1N0QwRlxcdTdEMENcXHU3RjVDXFx1N0Y2MVxcdTdGNUVcXHU3RjYwXFx1N0Y1RFxcdTdGNUJcXHU3Rjk2XFx1N0Y5MlxcdTdGQzNcXHU3RkMyXFx1N0ZDMFxcdTgwMTZcXHU4MDNFXFx1ODAzOVxcdTgwRkFcXHU4MEYyXFx1ODBGOVxcdTgwRjVcXHU4MTAxXFx1ODBGQlxcdTgxMDBcXHU4MjAxXFx1ODIyRlxcdTgyMjVcXHU4MzMzXFx1ODMyRFxcdTgzNDRcXHU4MzE5XFx1ODM1MVxcdTgzMjVcXHU4MzU2XFx1ODMzRlxcdTgzNDFcXHU4MzI2XFx1ODMxQ1xcdTgzMjJcIl0sXG4gICAgICBbXCJkM2ExXCIsIFwiXFx1ODM0MlxcdTgzNEVcXHU4MzFCXFx1ODMyQVxcdTgzMDhcXHU4MzNDXFx1ODM0RFxcdTgzMTZcXHU4MzI0XFx1ODMyMFxcdTgzMzdcXHU4MzJGXFx1ODMyOVxcdTgzNDdcXHU4MzQ1XFx1ODM0Q1xcdTgzNTNcXHU4MzFFXFx1ODMyQ1xcdTgzNEJcXHU4MzI3XFx1ODM0OFxcdTg2NTNcXHU4NjUyXFx1ODZBMlxcdTg2QThcXHU4Njk2XFx1ODY4RFxcdTg2OTFcXHU4NjlFXFx1ODY4N1xcdTg2OTdcXHU4Njg2XFx1ODY4QlxcdTg2OUFcXHU4Njg1XFx1ODZBNVxcdTg2OTlcXHU4NkExXFx1ODZBN1xcdTg2OTVcXHU4Njk4XFx1ODY4RVxcdTg2OURcXHU4NjkwXFx1ODY5NFxcdTg4NDNcXHU4ODQ0XFx1ODg2RFxcdTg4NzVcXHU4ODc2XFx1ODg3MlxcdTg4ODBcXHU4ODcxXFx1ODg3RlxcdTg4NkZcXHU4ODgzXFx1ODg3RVxcdTg4NzRcXHU4ODdDXFx1OEExMlxcdThDNDdcXHU4QzU3XFx1OEM3QlxcdThDQTRcXHU4Q0EzXFx1OEQ3NlxcdThENzhcXHU4REI1XFx1OERCN1xcdThEQjZcXHU4RUQxXFx1OEVEM1xcdThGRkVcXHU4RkY1XFx1OTAwMlxcdThGRkZcXHU4RkZCXFx1OTAwNFxcdThGRkNcXHU4RkY2XFx1OTBENlxcdTkwRTBcXHU5MEQ5XFx1OTBEQVxcdTkwRTNcXHU5MERGXFx1OTBFNVxcdTkwRDhcXHU5MERCXFx1OTBEN1xcdTkwRENcXHU5MEU0XFx1OTE1MFwiXSxcbiAgICAgIFtcImQ0NDBcIiwgXCJcXHU5MTRFXFx1OTE0RlxcdTkxRDVcXHU5MUUyXFx1OTFEQVxcdTk2NUNcXHU5NjVGXFx1OTZCQ1xcdTk4RTNcXHU5QURGXFx1OUIyRlxcdTRFN0ZcXHU1MDcwXFx1NTA2QVxcdTUwNjFcXHU1MDVFXFx1NTA2MFxcdTUwNTNcXHU1MDRCXFx1NTA1RFxcdTUwNzJcXHU1MDQ4XFx1NTA0RFxcdTUwNDFcXHU1MDVCXFx1NTA0QVxcdTUwNjJcXHU1MDE1XFx1NTA0NVxcdTUwNUZcXHU1MDY5XFx1NTA2QlxcdTUwNjNcXHU1MDY0XFx1NTA0NlxcdTUwNDBcXHU1MDZFXFx1NTA3M1xcdTUwNTdcXHU1MDUxXFx1NTFEMFxcdTUyNkJcXHU1MjZEXFx1NTI2Q1xcdTUyNkVcXHU1MkQ2XFx1NTJEM1xcdTUzMkRcXHU1MzlDXFx1NTU3NVxcdTU1NzZcXHU1NTNDXFx1NTU0RFxcdTU1NTBcXHU1NTM0XFx1NTUyQVxcdTU1NTFcXHU1NTYyXFx1NTUzNlxcdTU1MzVcXHU1NTMwXFx1NTU1MlxcdTU1NDVcIl0sXG4gICAgICBbXCJkNGExXCIsIFwiXFx1NTUwQ1xcdTU1MzJcXHU1NTY1XFx1NTU0RVxcdTU1MzlcXHU1NTQ4XFx1NTUyRFxcdTU1M0JcXHU1NTQwXFx1NTU0QlxcdTU3MEFcXHU1NzA3XFx1NTdGQlxcdTU4MTRcXHU1N0UyXFx1NTdGNlxcdTU3RENcXHU1N0Y0XFx1NTgwMFxcdTU3RURcXHU1N0ZEXFx1NTgwOFxcdTU3RjhcXHU1ODBCXFx1NTdGM1xcdTU3Q0ZcXHU1ODA3XFx1NTdFRVxcdTU3RTNcXHU1N0YyXFx1NTdFNVxcdTU3RUNcXHU1N0UxXFx1NTgwRVxcdTU3RkNcXHU1ODEwXFx1NTdFN1xcdTU4MDFcXHU1ODBDXFx1NTdGMVxcdTU3RTlcXHU1N0YwXFx1NTgwRFxcdTU4MDRcXHU1OTVDXFx1NUE2MFxcdTVBNThcXHU1QTU1XFx1NUE2N1xcdTVBNUVcXHU1QTM4XFx1NUEzNVxcdTVBNkRcXHU1QTUwXFx1NUE1RlxcdTVBNjVcXHU1QTZDXFx1NUE1M1xcdTVBNjRcXHU1QTU3XFx1NUE0M1xcdTVBNURcXHU1QTUyXFx1NUE0NFxcdTVBNUJcXHU1QTQ4XFx1NUE4RVxcdTVBM0VcXHU1QTREXFx1NUEzOVxcdTVBNENcXHU1QTcwXFx1NUE2OVxcdTVBNDdcXHU1QTUxXFx1NUE1NlxcdTVBNDJcXHU1QTVDXFx1NUI3MlxcdTVCNkVcXHU1QkMxXFx1NUJDMFxcdTVDNTlcXHU1RDFFXFx1NUQwQlxcdTVEMURcXHU1RDFBXFx1NUQyMFxcdTVEMENcXHU1RDI4XFx1NUQwRFxcdTVEMjZcXHU1RDI1XFx1NUQwRlwiXSxcbiAgICAgIFtcImQ1NDBcIiwgXCJcXHU1RDMwXFx1NUQxMlxcdTVEMjNcXHU1RDFGXFx1NUQyRVxcdTVFM0VcXHU1RTM0XFx1NUVCMVxcdTVFQjRcXHU1RUI5XFx1NUVCMlxcdTVFQjNcXHU1RjM2XFx1NUYzOFxcdTVGOUJcXHU1Rjk2XFx1NUY5RlxcdTYwOEFcXHU2MDkwXFx1NjA4NlxcdTYwQkVcXHU2MEIwXFx1NjBCQVxcdTYwRDNcXHU2MEQ0XFx1NjBDRlxcdTYwRTRcXHU2MEQ5XFx1NjBERFxcdTYwQzhcXHU2MEIxXFx1NjBEQlxcdTYwQjdcXHU2MENBXFx1NjBCRlxcdTYwQzNcXHU2MENEXFx1NjBDMFxcdTYzMzJcXHU2MzY1XFx1NjM4QVxcdTYzODJcXHU2MzdEXFx1NjNCRFxcdTYzOUVcXHU2M0FEXFx1NjM5RFxcdTYzOTdcXHU2M0FCXFx1NjM4RVxcdTYzNkZcXHU2Mzg3XFx1NjM5MFxcdTYzNkVcXHU2M0FGXFx1NjM3NVxcdTYzOUNcXHU2MzZEXFx1NjNBRVxcdTYzN0NcXHU2M0E0XFx1NjMzQlxcdTYzOUZcIl0sXG4gICAgICBbXCJkNWExXCIsIFwiXFx1NjM3OFxcdTYzODVcXHU2MzgxXFx1NjM5MVxcdTYzOERcXHU2MzcwXFx1NjU1M1xcdTY1Q0RcXHU2NjY1XFx1NjY2MVxcdTY2NUJcXHU2NjU5XFx1NjY1Q1xcdTY2NjJcXHU2NzE4XFx1Njg3OVxcdTY4ODdcXHU2ODkwXFx1Njg5Q1xcdTY4NkRcXHU2ODZFXFx1NjhBRVxcdTY4QUJcXHU2OTU2XFx1Njg2RlxcdTY4QTNcXHU2OEFDXFx1NjhBOVxcdTY4NzVcXHU2ODc0XFx1NjhCMlxcdTY4OEZcXHU2ODc3XFx1Njg5MlxcdTY4N0NcXHU2ODZCXFx1Njg3MlxcdTY4QUFcXHU2ODgwXFx1Njg3MVxcdTY4N0VcXHU2ODlCXFx1Njg5NlxcdTY4OEJcXHU2OEEwXFx1Njg4OVxcdTY4QTRcXHU2ODc4XFx1Njg3QlxcdTY4OTFcXHU2ODhDXFx1Njg4QVxcdTY4N0RcXHU2QjM2XFx1NkIzM1xcdTZCMzdcXHU2QjM4XFx1NkI5MVxcdTZCOEZcXHU2QjhEXFx1NkI4RVxcdTZCOENcXHU2QzJBXFx1NkRDMFxcdTZEQUJcXHU2REI0XFx1NkRCM1xcdTZFNzRcXHU2REFDXFx1NkRFOVxcdTZERTJcXHU2REI3XFx1NkRGNlxcdTZERDRcXHU2RTAwXFx1NkRDOFxcdTZERTBcXHU2RERGXFx1NkRENlxcdTZEQkVcXHU2REU1XFx1NkREQ1xcdTZERERcXHU2RERCXFx1NkRGNFxcdTZEQ0FcXHU2REJEXFx1NkRFRFxcdTZERjBcXHU2REJBXFx1NkRENVxcdTZEQzJcXHU2RENGXFx1NkRDOVwiXSxcbiAgICAgIFtcImQ2NDBcIiwgXCJcXHU2REQwXFx1NkRGMlxcdTZERDNcXHU2REZEXFx1NkREN1xcdTZEQ0RcXHU2REUzXFx1NkRCQlxcdTcwRkFcXHU3MTBEXFx1NzBGN1xcdTcxMTdcXHU3MEY0XFx1NzEwQ1xcdTcwRjBcXHU3MTA0XFx1NzBGM1xcdTcxMTBcXHU3MEZDXFx1NzBGRlxcdTcxMDZcXHU3MTEzXFx1NzEwMFxcdTcwRjhcXHU3MEY2XFx1NzEwQlxcdTcxMDJcXHU3MTBFXFx1NzI3RVxcdTcyN0JcXHU3MjdDXFx1NzI3RlxcdTczMURcXHU3MzE3XFx1NzMwN1xcdTczMTFcXHU3MzE4XFx1NzMwQVxcdTczMDhcXHU3MkZGXFx1NzMwRlxcdTczMUVcXHU3Mzg4XFx1NzNGNlxcdTczRjhcXHU3M0Y1XFx1NzQwNFxcdTc0MDFcXHU3M0ZEXFx1NzQwN1xcdTc0MDBcXHU3M0ZBXFx1NzNGQ1xcdTczRkZcXHU3NDBDXFx1NzQwQlxcdTczRjRcXHU3NDA4XFx1NzU2NFxcdTc1NjNcXHU3NUNFXFx1NzVEMlxcdTc1Q0ZcIl0sXG4gICAgICBbXCJkNmExXCIsIFwiXFx1NzVDQlxcdTc1Q0NcXHU3NUQxXFx1NzVEMFxcdTc2OEZcXHU3Njg5XFx1NzZEM1xcdTc3MzlcXHU3NzJGXFx1NzcyRFxcdTc3MzFcXHU3NzMyXFx1NzczNFxcdTc3MzNcXHU3NzNEXFx1NzcyNVxcdTc3M0JcXHU3NzM1XFx1Nzg0OFxcdTc4NTJcXHU3ODQ5XFx1Nzg0RFxcdTc4NEFcXHU3ODRDXFx1NzgyNlxcdTc4NDVcXHU3ODUwXFx1Nzk2NFxcdTc5NjdcXHU3OTY5XFx1Nzk2QVxcdTc5NjNcXHU3OTZCXFx1Nzk2MVxcdTc5QkJcXHU3OUZBXFx1NzlGOFxcdTc5RjZcXHU3OUY3XFx1N0E4RlxcdTdBOTRcXHU3QTkwXFx1N0IzNVxcdTdCNDdcXHU3QjM0XFx1N0IyNVxcdTdCMzBcXHU3QjIyXFx1N0IyNFxcdTdCMzNcXHU3QjE4XFx1N0IyQVxcdTdCMURcXHU3QjMxXFx1N0IyQlxcdTdCMkRcXHU3QjJGXFx1N0IzMlxcdTdCMzhcXHU3QjFBXFx1N0IyM1xcdTdDOTRcXHU3Qzk4XFx1N0M5NlxcdTdDQTNcXHU3RDM1XFx1N0QzRFxcdTdEMzhcXHU3RDM2XFx1N0QzQVxcdTdENDVcXHU3RDJDXFx1N0QyOVxcdTdENDFcXHU3RDQ3XFx1N0QzRVxcdTdEM0ZcXHU3RDRBXFx1N0QzQlxcdTdEMjhcXHU3RjYzXFx1N0Y5NVxcdTdGOUNcXHU3RjlEXFx1N0Y5QlxcdTdGQ0FcXHU3RkNCXFx1N0ZDRFxcdTdGRDBcXHU3RkQxXFx1N0ZDN1xcdTdGQ0ZcXHU3RkM5XFx1ODAxRlwiXSxcbiAgICAgIFtcImQ3NDBcIiwgXCJcXHU4MDFFXFx1ODAxQlxcdTgwNDdcXHU4MDQzXFx1ODA0OFxcdTgxMThcXHU4MTI1XFx1ODExOVxcdTgxMUJcXHU4MTJEXFx1ODExRlxcdTgxMkNcXHU4MTFFXFx1ODEyMVxcdTgxMTVcXHU4MTI3XFx1ODExRFxcdTgxMjJcXHU4MjExXFx1ODIzOFxcdTgyMzNcXHU4MjNBXFx1ODIzNFxcdTgyMzJcXHU4Mjc0XFx1ODM5MFxcdTgzQTNcXHU4M0E4XFx1ODM4RFxcdTgzN0FcXHU4MzczXFx1ODNBNFxcdTgzNzRcXHU4MzhGXFx1ODM4MVxcdTgzOTVcXHU4Mzk5XFx1ODM3NVxcdTgzOTRcXHU4M0E5XFx1ODM3RFxcdTgzODNcXHU4MzhDXFx1ODM5RFxcdTgzOUJcXHU4M0FBXFx1ODM4QlxcdTgzN0VcXHU4M0E1XFx1ODNBRlxcdTgzODhcXHU4Mzk3XFx1ODNCMFxcdTgzN0ZcXHU4M0E2XFx1ODM4N1xcdTgzQUVcXHU4Mzc2XFx1ODM5QVxcdTg2NTlcXHU4NjU2XFx1ODZCRlxcdTg2QjdcIl0sXG4gICAgICBbXCJkN2ExXCIsIFwiXFx1ODZDMlxcdTg2QzFcXHU4NkM1XFx1ODZCQVxcdTg2QjBcXHU4NkM4XFx1ODZCOVxcdTg2QjNcXHU4NkI4XFx1ODZDQ1xcdTg2QjRcXHU4NkJCXFx1ODZCQ1xcdTg2QzNcXHU4NkJEXFx1ODZCRVxcdTg4NTJcXHU4ODg5XFx1ODg5NVxcdTg4QThcXHU4OEEyXFx1ODhBQVxcdTg4OUFcXHU4ODkxXFx1ODhBMVxcdTg4OUZcXHU4ODk4XFx1ODhBN1xcdTg4OTlcXHU4ODlCXFx1ODg5N1xcdTg4QTRcXHU4OEFDXFx1ODg4Q1xcdTg4OTNcXHU4ODhFXFx1ODk4MlxcdTg5RDZcXHU4OUQ5XFx1ODlENVxcdThBMzBcXHU4QTI3XFx1OEEyQ1xcdThBMUVcXHU4QzM5XFx1OEMzQlxcdThDNUNcXHU4QzVEXFx1OEM3RFxcdThDQTVcXHU4RDdEXFx1OEQ3QlxcdThENzlcXHU4REJDXFx1OERDMlxcdThEQjlcXHU4REJGXFx1OERDMVxcdThFRDhcXHU4RURFXFx1OEVERFxcdThFRENcXHU4RUQ3XFx1OEVFMFxcdThFRTFcXHU5MDI0XFx1OTAwQlxcdTkwMTFcXHU5MDFDXFx1OTAwQ1xcdTkwMjFcXHU5MEVGXFx1OTBFQVxcdTkwRjBcXHU5MEY0XFx1OTBGMlxcdTkwRjNcXHU5MEQ0XFx1OTBFQlxcdTkwRUNcXHU5MEU5XFx1OTE1NlxcdTkxNThcXHU5MTVBXFx1OTE1M1xcdTkxNTVcXHU5MUVDXFx1OTFGNFxcdTkxRjFcXHU5MUYzXFx1OTFGOFxcdTkxRTRcXHU5MUY5XFx1OTFFQVwiXSxcbiAgICAgIFtcImQ4NDBcIiwgXCJcXHU5MUVCXFx1OTFGN1xcdTkxRThcXHU5MUVFXFx1OTU3QVxcdTk1ODZcXHU5NTg4XFx1OTY3Q1xcdTk2NkRcXHU5NjZCXFx1OTY3MVxcdTk2NkZcXHU5NkJGXFx1OTc2QVxcdTk4MDRcXHU5OEU1XFx1OTk5N1xcdTUwOUJcXHU1MDk1XFx1NTA5NFxcdTUwOUVcXHU1MDhCXFx1NTBBM1xcdTUwODNcXHU1MDhDXFx1NTA4RVxcdTUwOURcXHU1MDY4XFx1NTA5Q1xcdTUwOTJcXHU1MDgyXFx1NTA4N1xcdTUxNUZcXHU1MUQ0XFx1NTMxMlxcdTUzMTFcXHU1M0E0XFx1NTNBN1xcdTU1OTFcXHU1NUE4XFx1NTVBNVxcdTU1QURcXHU1NTc3XFx1NTY0NVxcdTU1QTJcXHU1NTkzXFx1NTU4OFxcdTU1OEZcXHU1NUI1XFx1NTU4MVxcdTU1QTNcXHU1NTkyXFx1NTVBNFxcdTU1N0RcXHU1NThDXFx1NTVBNlxcdTU1N0ZcXHU1NTk1XFx1NTVBMVxcdTU1OEVcXHU1NzBDXFx1NTgyOVxcdTU4MzdcIl0sXG4gICAgICBbXCJkOGExXCIsIFwiXFx1NTgxOVxcdTU4MUVcXHU1ODI3XFx1NTgyM1xcdTU4MjhcXHU1N0Y1XFx1NTg0OFxcdTU4MjVcXHU1ODFDXFx1NTgxQlxcdTU4MzNcXHU1ODNGXFx1NTgzNlxcdTU4MkVcXHU1ODM5XFx1NTgzOFxcdTU4MkRcXHU1ODJDXFx1NTgzQlxcdTU5NjFcXHU1QUFGXFx1NUE5NFxcdTVBOUZcXHU1QTdBXFx1NUFBMlxcdTVBOUVcXHU1QTc4XFx1NUFBNlxcdTVBN0NcXHU1QUE1XFx1NUFBQ1xcdTVBOTVcXHU1QUFFXFx1NUEzN1xcdTVBODRcXHU1QThBXFx1NUE5N1xcdTVBODNcXHU1QThCXFx1NUFBOVxcdTVBN0JcXHU1QTdEXFx1NUE4Q1xcdTVBOUNcXHU1QThGXFx1NUE5M1xcdTVBOURcXHU1QkVBXFx1NUJDRFxcdTVCQ0JcXHU1QkQ0XFx1NUJEMVxcdTVCQ0FcXHU1QkNFXFx1NUMwQ1xcdTVDMzBcXHU1RDM3XFx1NUQ0M1xcdTVENkJcXHU1RDQxXFx1NUQ0QlxcdTVEM0ZcXHU1RDM1XFx1NUQ1MVxcdTVENEVcXHU1RDU1XFx1NUQzM1xcdTVEM0FcXHU1RDUyXFx1NUQzRFxcdTVEMzFcXHU1RDU5XFx1NUQ0MlxcdTVEMzlcXHU1RDQ5XFx1NUQzOFxcdTVEM0NcXHU1RDMyXFx1NUQzNlxcdTVENDBcXHU1RDQ1XFx1NUU0NFxcdTVFNDFcXHU1RjU4XFx1NUZBNlxcdTVGQTVcXHU1RkFCXFx1NjBDOVxcdTYwQjlcXHU2MENDXFx1NjBFMlxcdTYwQ0VcXHU2MEM0XFx1NjExNFwiXSxcbiAgICAgIFtcImQ5NDBcIiwgXCJcXHU2MEYyXFx1NjEwQVxcdTYxMTZcXHU2MTA1XFx1NjBGNVxcdTYxMTNcXHU2MEY4XFx1NjBGQ1xcdTYwRkVcXHU2MEMxXFx1NjEwM1xcdTYxMThcXHU2MTFEXFx1NjExMFxcdTYwRkZcXHU2MTA0XFx1NjEwQlxcdTYyNEFcXHU2Mzk0XFx1NjNCMVxcdTYzQjBcXHU2M0NFXFx1NjNFNVxcdTYzRThcXHU2M0VGXFx1NjNDM1xcdTY0OURcXHU2M0YzXFx1NjNDQVxcdTYzRTBcXHU2M0Y2XFx1NjNENVxcdTYzRjJcXHU2M0Y1XFx1NjQ2MVxcdTYzREZcXHU2M0JFXFx1NjNERFxcdTYzRENcXHU2M0M0XFx1NjNEOFxcdTYzRDNcXHU2M0MyXFx1NjNDN1xcdTYzQ0NcXHU2M0NCXFx1NjNDOFxcdTYzRjBcXHU2M0Q3XFx1NjNEOVxcdTY1MzJcXHU2NTY3XFx1NjU2QVxcdTY1NjRcXHU2NTVDXFx1NjU2OFxcdTY1NjVcXHU2NThDXFx1NjU5RFxcdTY1OUVcXHU2NUFFXFx1NjVEMFxcdTY1RDJcIl0sXG4gICAgICBbXCJkOWExXCIsIFwiXFx1NjY3Q1xcdTY2NkNcXHU2NjdCXFx1NjY4MFxcdTY2NzFcXHU2Njc5XFx1NjY2QVxcdTY2NzJcXHU2NzAxXFx1NjkwQ1xcdTY4RDNcXHU2OTA0XFx1NjhEQ1xcdTY5MkFcXHU2OEVDXFx1NjhFQVxcdTY4RjFcXHU2OTBGXFx1NjhENlxcdTY4RjdcXHU2OEVCXFx1NjhFNFxcdTY4RjZcXHU2OTEzXFx1NjkxMFxcdTY4RjNcXHU2OEUxXFx1NjkwN1xcdTY4Q0NcXHU2OTA4XFx1Njk3MFxcdTY4QjRcXHU2OTExXFx1NjhFRlxcdTY4QzZcXHU2OTE0XFx1NjhGOFxcdTY4RDBcXHU2OEZEXFx1NjhGQ1xcdTY4RThcXHU2OTBCXFx1NjkwQVxcdTY5MTdcXHU2OENFXFx1NjhDOFxcdTY4RERcXHU2OERFXFx1NjhFNlxcdTY4RjRcXHU2OEQxXFx1NjkwNlxcdTY4RDRcXHU2OEU5XFx1NjkxNVxcdTY5MjVcXHU2OEM3XFx1NkIzOVxcdTZCM0JcXHU2QjNGXFx1NkIzQ1xcdTZCOTRcXHU2Qjk3XFx1NkI5OVxcdTZCOTVcXHU2QkJEXFx1NkJGMFxcdTZCRjJcXHU2QkYzXFx1NkMzMFxcdTZERkNcXHU2RTQ2XFx1NkU0N1xcdTZFMUZcXHU2RTQ5XFx1NkU4OFxcdTZFM0NcXHU2RTNEXFx1NkU0NVxcdTZFNjJcXHU2RTJCXFx1NkUzRlxcdTZFNDFcXHU2RTVEXFx1NkU3M1xcdTZFMUNcXHU2RTMzXFx1NkU0QlxcdTZFNDBcXHU2RTUxXFx1NkUzQlxcdTZFMDNcXHU2RTJFXFx1NkU1RVwiXSxcbiAgICAgIFtcImRhNDBcIiwgXCJcXHU2RTY4XFx1NkU1Q1xcdTZFNjFcXHU2RTMxXFx1NkUyOFxcdTZFNjBcXHU2RTcxXFx1NkU2QlxcdTZFMzlcXHU2RTIyXFx1NkUzMFxcdTZFNTNcXHU2RTY1XFx1NkUyN1xcdTZFNzhcXHU2RTY0XFx1NkU3N1xcdTZFNTVcXHU2RTc5XFx1NkU1MlxcdTZFNjZcXHU2RTM1XFx1NkUzNlxcdTZFNUFcXHU3MTIwXFx1NzExRVxcdTcxMkZcXHU3MEZCXFx1NzEyRVxcdTcxMzFcXHU3MTIzXFx1NzEyNVxcdTcxMjJcXHU3MTMyXFx1NzExRlxcdTcxMjhcXHU3MTNBXFx1NzExQlxcdTcyNEJcXHU3MjVBXFx1NzI4OFxcdTcyODlcXHU3Mjg2XFx1NzI4NVxcdTcyOEJcXHU3MzEyXFx1NzMwQlxcdTczMzBcXHU3MzIyXFx1NzMzMVxcdTczMzNcXHU3MzI3XFx1NzMzMlxcdTczMkRcXHU3MzI2XFx1NzMyM1xcdTczMzVcXHU3MzBDXFx1NzQyRVxcdTc0MkNcXHU3NDMwXFx1NzQyQlxcdTc0MTZcIl0sXG4gICAgICBbXCJkYWExXCIsIFwiXFx1NzQxQVxcdTc0MjFcXHU3NDJEXFx1NzQzMVxcdTc0MjRcXHU3NDIzXFx1NzQxRFxcdTc0MjlcXHU3NDIwXFx1NzQzMlxcdTc0RkJcXHU3NTJGXFx1NzU2RlxcdTc1NkNcXHU3NUU3XFx1NzVEQVxcdTc1RTFcXHU3NUU2XFx1NzVERFxcdTc1REZcXHU3NUU0XFx1NzVEN1xcdTc2OTVcXHU3NjkyXFx1NzZEQVxcdTc3NDZcXHU3NzQ3XFx1Nzc0NFxcdTc3NERcXHU3NzQ1XFx1Nzc0QVxcdTc3NEVcXHU3NzRCXFx1Nzc0Q1xcdTc3REVcXHU3N0VDXFx1Nzg2MFxcdTc4NjRcXHU3ODY1XFx1Nzg1Q1xcdTc4NkRcXHU3ODcxXFx1Nzg2QVxcdTc4NkVcXHU3ODcwXFx1Nzg2OVxcdTc4NjhcXHU3ODVFXFx1Nzg2MlxcdTc5NzRcXHU3OTczXFx1Nzk3MlxcdTc5NzBcXHU3QTAyXFx1N0EwQVxcdTdBMDNcXHU3QTBDXFx1N0EwNFxcdTdBOTlcXHU3QUU2XFx1N0FFNFxcdTdCNEFcXHU3QjNCXFx1N0I0NFxcdTdCNDhcXHU3QjRDXFx1N0I0RVxcdTdCNDBcXHU3QjU4XFx1N0I0NVxcdTdDQTJcXHU3QzlFXFx1N0NBOFxcdTdDQTFcXHU3RDU4XFx1N0Q2RlxcdTdENjNcXHU3RDUzXFx1N0Q1NlxcdTdENjdcXHU3RDZBXFx1N0Q0RlxcdTdENkRcXHU3RDVDXFx1N0Q2QlxcdTdENTJcXHU3RDU0XFx1N0Q2OVxcdTdENTFcXHU3RDVGXFx1N0Q0RVxcdTdGM0VcXHU3RjNGXFx1N0Y2NVwiXSxcbiAgICAgIFtcImRiNDBcIiwgXCJcXHU3RjY2XFx1N0ZBMlxcdTdGQTBcXHU3RkExXFx1N0ZEN1xcdTgwNTFcXHU4MDRGXFx1ODA1MFxcdTgwRkVcXHU4MEQ0XFx1ODE0M1xcdTgxNEFcXHU4MTUyXFx1ODE0RlxcdTgxNDdcXHU4MTNEXFx1ODE0RFxcdTgxM0FcXHU4MUU2XFx1ODFFRVxcdTgxRjdcXHU4MUY4XFx1ODFGOVxcdTgyMDRcXHU4MjNDXFx1ODIzRFxcdTgyM0ZcXHU4Mjc1XFx1ODMzQlxcdTgzQ0ZcXHU4M0Y5XFx1ODQyM1xcdTgzQzBcXHU4M0U4XFx1ODQxMlxcdTgzRTdcXHU4M0U0XFx1ODNGQ1xcdTgzRjZcXHU4NDEwXFx1ODNDNlxcdTgzQzhcXHU4M0VCXFx1ODNFM1xcdTgzQkZcXHU4NDAxXFx1ODNERFxcdTgzRTVcXHU4M0Q4XFx1ODNGRlxcdTgzRTFcXHU4M0NCXFx1ODNDRVxcdTgzRDZcXHU4M0Y1XFx1ODNDOVxcdTg0MDlcXHU4NDBGXFx1ODNERVxcdTg0MTFcXHU4NDA2XFx1ODNDMlxcdTgzRjNcIl0sXG4gICAgICBbXCJkYmExXCIsIFwiXFx1ODNENVxcdTgzRkFcXHU4M0M3XFx1ODNEMVxcdTgzRUFcXHU4NDEzXFx1ODNDM1xcdTgzRUNcXHU4M0VFXFx1ODNDNFxcdTgzRkJcXHU4M0Q3XFx1ODNFMlxcdTg0MUJcXHU4M0RCXFx1ODNGRVxcdTg2RDhcXHU4NkUyXFx1ODZFNlxcdTg2RDNcXHU4NkUzXFx1ODZEQVxcdTg2RUFcXHU4NkREXFx1ODZFQlxcdTg2RENcXHU4NkVDXFx1ODZFOVxcdTg2RDdcXHU4NkU4XFx1ODZEMVxcdTg4NDhcXHU4ODU2XFx1ODg1NVxcdTg4QkFcXHU4OEQ3XFx1ODhCOVxcdTg4QjhcXHU4OEMwXFx1ODhCRVxcdTg4QjZcXHU4OEJDXFx1ODhCN1xcdTg4QkRcXHU4OEIyXFx1ODkwMVxcdTg4QzlcXHU4OTk1XFx1ODk5OFxcdTg5OTdcXHU4OUREXFx1ODlEQVxcdTg5REJcXHU4QTRFXFx1OEE0RFxcdThBMzlcXHU4QTU5XFx1OEE0MFxcdThBNTdcXHU4QTU4XFx1OEE0NFxcdThBNDVcXHU4QTUyXFx1OEE0OFxcdThBNTFcXHU4QTRBXFx1OEE0Q1xcdThBNEZcXHU4QzVGXFx1OEM4MVxcdThDODBcXHU4Q0JBXFx1OENCRVxcdThDQjBcXHU4Q0I5XFx1OENCNVxcdThEODRcXHU4RDgwXFx1OEQ4OVxcdThERDhcXHU4REQzXFx1OERDRFxcdThEQzdcXHU4REQ2XFx1OEREQ1xcdThEQ0ZcXHU4REQ1XFx1OEREOVxcdThEQzhcXHU4REQ3XFx1OERDNVxcdThFRUZcXHU4RUY3XFx1OEVGQVwiXSxcbiAgICAgIFtcImRjNDBcIiwgXCJcXHU4RUY5XFx1OEVFNlxcdThFRUVcXHU4RUU1XFx1OEVGNVxcdThFRTdcXHU4RUU4XFx1OEVGNlxcdThFRUJcXHU4RUYxXFx1OEVFQ1xcdThFRjRcXHU4RUU5XFx1OTAyRFxcdTkwMzRcXHU5MDJGXFx1OTEwNlxcdTkxMkNcXHU5MTA0XFx1OTBGRlxcdTkwRkNcXHU5MTA4XFx1OTBGOVxcdTkwRkJcXHU5MTAxXFx1OTEwMFxcdTkxMDdcXHU5MTA1XFx1OTEwM1xcdTkxNjFcXHU5MTY0XFx1OTE1RlxcdTkxNjJcXHU5MTYwXFx1OTIwMVxcdTkyMEFcXHU5MjI1XFx1OTIwM1xcdTkyMUFcXHU5MjI2XFx1OTIwRlxcdTkyMENcXHU5MjAwXFx1OTIxMlxcdTkxRkZcXHU5MUZEXFx1OTIwNlxcdTkyMDRcXHU5MjI3XFx1OTIwMlxcdTkyMUNcXHU5MjI0XFx1OTIxOVxcdTkyMTdcXHU5MjA1XFx1OTIxNlxcdTk1N0JcXHU5NThEXFx1OTU4Q1xcdTk1OTBcXHU5Njg3XFx1OTY3RVxcdTk2ODhcIl0sXG4gICAgICBbXCJkY2ExXCIsIFwiXFx1OTY4OVxcdTk2ODNcXHU5NjgwXFx1OTZDMlxcdTk2QzhcXHU5NkMzXFx1OTZGMVxcdTk2RjBcXHU5NzZDXFx1OTc3MFxcdTk3NkVcXHU5ODA3XFx1OThBOVxcdTk4RUJcXHU5Q0U2XFx1OUVGOVxcdTRFODNcXHU0RTg0XFx1NEVCNlxcdTUwQkRcXHU1MEJGXFx1NTBDNlxcdTUwQUVcXHU1MEM0XFx1NTBDQVxcdTUwQjRcXHU1MEM4XFx1NTBDMlxcdTUwQjBcXHU1MEMxXFx1NTBCQVxcdTUwQjFcXHU1MENCXFx1NTBDOVxcdTUwQjZcXHU1MEI4XFx1NTFEN1xcdTUyN0FcXHU1Mjc4XFx1NTI3QlxcdTUyN0NcXHU1NUMzXFx1NTVEQlxcdTU1Q0NcXHU1NUQwXFx1NTVDQlxcdTU1Q0FcXHU1NUREXFx1NTVDMFxcdTU1RDRcXHU1NUM0XFx1NTVFOVxcdTU1QkZcXHU1NUQyXFx1NTU4RFxcdTU1Q0ZcXHU1NUQ1XFx1NTVFMlxcdTU1RDZcXHU1NUM4XFx1NTVGMlxcdTU1Q0RcXHU1NUQ5XFx1NTVDMlxcdTU3MTRcXHU1ODUzXFx1NTg2OFxcdTU4NjRcXHU1ODRGXFx1NTg0RFxcdTU4NDlcXHU1ODZGXFx1NTg1NVxcdTU4NEVcXHU1ODVEXFx1NTg1OVxcdTU4NjVcXHU1ODVCXFx1NTgzRFxcdTU4NjNcXHU1ODcxXFx1NThGQ1xcdTVBQzdcXHU1QUM0XFx1NUFDQlxcdTVBQkFcXHU1QUI4XFx1NUFCMVxcdTVBQjVcXHU1QUIwXFx1NUFCRlxcdTVBQzhcXHU1QUJCXFx1NUFDNlwiXSxcbiAgICAgIFtcImRkNDBcIiwgXCJcXHU1QUI3XFx1NUFDMFxcdTVBQ0FcXHU1QUI0XFx1NUFCNlxcdTVBQ0RcXHU1QUI5XFx1NUE5MFxcdTVCRDZcXHU1QkQ4XFx1NUJEOVxcdTVDMUZcXHU1QzMzXFx1NUQ3MVxcdTVENjNcXHU1RDRBXFx1NUQ2NVxcdTVENzJcXHU1RDZDXFx1NUQ1RVxcdTVENjhcXHU1RDY3XFx1NUQ2MlxcdTVERjBcXHU1RTRGXFx1NUU0RVxcdTVFNEFcXHU1RTREXFx1NUU0QlxcdTVFQzVcXHU1RUNDXFx1NUVDNlxcdTVFQ0JcXHU1RUM3XFx1NUY0MFxcdTVGQUZcXHU1RkFEXFx1NjBGN1xcdTYxNDlcXHU2MTRBXFx1NjEyQlxcdTYxNDVcXHU2MTM2XFx1NjEzMlxcdTYxMkVcXHU2MTQ2XFx1NjEyRlxcdTYxNEZcXHU2MTI5XFx1NjE0MFxcdTYyMjBcXHU5MTY4XFx1NjIyM1xcdTYyMjVcXHU2MjI0XFx1NjNDNVxcdTYzRjFcXHU2M0VCXFx1NjQxMFxcdTY0MTJcXHU2NDA5XFx1NjQyMFxcdTY0MjRcIl0sXG4gICAgICBbXCJkZGExXCIsIFwiXFx1NjQzM1xcdTY0NDNcXHU2NDFGXFx1NjQxNVxcdTY0MThcXHU2NDM5XFx1NjQzN1xcdTY0MjJcXHU2NDIzXFx1NjQwQ1xcdTY0MjZcXHU2NDMwXFx1NjQyOFxcdTY0NDFcXHU2NDM1XFx1NjQyRlxcdTY0MEFcXHU2NDFBXFx1NjQ0MFxcdTY0MjVcXHU2NDI3XFx1NjQwQlxcdTYzRTdcXHU2NDFCXFx1NjQyRVxcdTY0MjFcXHU2NDBFXFx1NjU2RlxcdTY1OTJcXHU2NUQzXFx1NjY4NlxcdTY2OENcXHU2Njk1XFx1NjY5MFxcdTY2OEJcXHU2NjhBXFx1NjY5OVxcdTY2OTRcXHU2Njc4XFx1NjcyMFxcdTY5NjZcXHU2OTVGXFx1NjkzOFxcdTY5NEVcXHU2OTYyXFx1Njk3MVxcdTY5M0ZcXHU2OTQ1XFx1Njk2QVxcdTY5MzlcXHU2OTQyXFx1Njk1N1xcdTY5NTlcXHU2OTdBXFx1Njk0OFxcdTY5NDlcXHU2OTM1XFx1Njk2Q1xcdTY5MzNcXHU2OTNEXFx1Njk2NVxcdTY4RjBcXHU2OTc4XFx1NjkzNFxcdTY5NjlcXHU2OTQwXFx1Njk2RlxcdTY5NDRcXHU2OTc2XFx1Njk1OFxcdTY5NDFcXHU2OTc0XFx1Njk0Q1xcdTY5M0JcXHU2OTRCXFx1NjkzN1xcdTY5NUNcXHU2OTRGXFx1Njk1MVxcdTY5MzJcXHU2OTUyXFx1NjkyRlxcdTY5N0JcXHU2OTNDXFx1NkI0NlxcdTZCNDVcXHU2QjQzXFx1NkI0MlxcdTZCNDhcXHU2QjQxXFx1NkI5QlxcdUZBMERcXHU2QkZCXFx1NkJGQ1wiXSxcbiAgICAgIFtcImRlNDBcIiwgXCJcXHU2QkY5XFx1NkJGN1xcdTZCRjhcXHU2RTlCXFx1NkVENlxcdTZFQzhcXHU2RThGXFx1NkVDMFxcdTZFOUZcXHU2RTkzXFx1NkU5NFxcdTZFQTBcXHU2RUIxXFx1NkVCOVxcdTZFQzZcXHU2RUQyXFx1NkVCRFxcdTZFQzFcXHU2RTlFXFx1NkVDOVxcdTZFQjdcXHU2RUIwXFx1NkVDRFxcdTZFQTZcXHU2RUNGXFx1NkVCMlxcdTZFQkVcXHU2RUMzXFx1NkVEQ1xcdTZFRDhcXHU2RTk5XFx1NkU5MlxcdTZFOEVcXHU2RThEXFx1NkVBNFxcdTZFQTFcXHU2RUJGXFx1NkVCM1xcdTZFRDBcXHU2RUNBXFx1NkU5N1xcdTZFQUVcXHU2RUEzXFx1NzE0N1xcdTcxNTRcXHU3MTUyXFx1NzE2M1xcdTcxNjBcXHU3MTQxXFx1NzE1RFxcdTcxNjJcXHU3MTcyXFx1NzE3OFxcdTcxNkFcXHU3MTYxXFx1NzE0MlxcdTcxNThcXHU3MTQzXFx1NzE0QlxcdTcxNzBcXHU3MTVGXFx1NzE1MFxcdTcxNTNcIl0sXG4gICAgICBbXCJkZWExXCIsIFwiXFx1NzE0NFxcdTcxNERcXHU3MTVBXFx1NzI0RlxcdTcyOERcXHU3MjhDXFx1NzI5MVxcdTcyOTBcXHU3MjhFXFx1NzMzQ1xcdTczNDJcXHU3MzNCXFx1NzMzQVxcdTczNDBcXHU3MzRBXFx1NzM0OVxcdTc0NDRcXHU3NDRBXFx1NzQ0QlxcdTc0NTJcXHU3NDUxXFx1NzQ1N1xcdTc0NDBcXHU3NDRGXFx1NzQ1MFxcdTc0NEVcXHU3NDQyXFx1NzQ0NlxcdTc0NERcXHU3NDU0XFx1NzRFMVxcdTc0RkZcXHU3NEZFXFx1NzRGRFxcdTc1MURcXHU3NTc5XFx1NzU3N1xcdTY5ODNcXHU3NUVGXFx1NzYwRlxcdTc2MDNcXHU3NUY3XFx1NzVGRVxcdTc1RkNcXHU3NUY5XFx1NzVGOFxcdTc2MTBcXHU3NUZCXFx1NzVGNlxcdTc1RURcXHU3NUY1XFx1NzVGRFxcdTc2OTlcXHU3NkI1XFx1NzZERFxcdTc3NTVcXHU3NzVGXFx1Nzc2MFxcdTc3NTJcXHU3NzU2XFx1Nzc1QVxcdTc3NjlcXHU3NzY3XFx1Nzc1NFxcdTc3NTlcXHU3NzZEXFx1NzdFMFxcdTc4ODdcXHU3ODlBXFx1Nzg5NFxcdTc4OEZcXHU3ODg0XFx1Nzg5NVxcdTc4ODVcXHU3ODg2XFx1NzhBMVxcdTc4ODNcXHU3ODc5XFx1Nzg5OVxcdTc4ODBcXHU3ODk2XFx1Nzg3QlxcdTc5N0NcXHU3OTgyXFx1Nzk3RFxcdTc5NzlcXHU3QTExXFx1N0ExOFxcdTdBMTlcXHU3QTEyXFx1N0ExN1xcdTdBMTVcXHU3QTIyXFx1N0ExM1wiXSxcbiAgICAgIFtcImRmNDBcIiwgXCJcXHU3QTFCXFx1N0ExMFxcdTdBQTNcXHU3QUEyXFx1N0E5RVxcdTdBRUJcXHU3QjY2XFx1N0I2NFxcdTdCNkRcXHU3Qjc0XFx1N0I2OVxcdTdCNzJcXHU3QjY1XFx1N0I3M1xcdTdCNzFcXHU3QjcwXFx1N0I2MVxcdTdCNzhcXHU3Qjc2XFx1N0I2M1xcdTdDQjJcXHU3Q0I0XFx1N0NBRlxcdTdEODhcXHU3RDg2XFx1N0Q4MFxcdTdEOERcXHU3RDdGXFx1N0Q4NVxcdTdEN0FcXHU3RDhFXFx1N0Q3QlxcdTdEODNcXHU3RDdDXFx1N0Q4Q1xcdTdEOTRcXHU3RDg0XFx1N0Q3RFxcdTdEOTJcXHU3RjZEXFx1N0Y2QlxcdTdGNjdcXHU3RjY4XFx1N0Y2Q1xcdTdGQTZcXHU3RkE1XFx1N0ZBN1xcdTdGREJcXHU3RkRDXFx1ODAyMVxcdTgxNjRcXHU4MTYwXFx1ODE3N1xcdTgxNUNcXHU4MTY5XFx1ODE1QlxcdTgxNjJcXHU4MTcyXFx1NjcyMVxcdTgxNUVcXHU4MTc2XFx1ODE2N1xcdTgxNkZcIl0sXG4gICAgICBbXCJkZmExXCIsIFwiXFx1ODE0NFxcdTgxNjFcXHU4MjFEXFx1ODI0OVxcdTgyNDRcXHU4MjQwXFx1ODI0MlxcdTgyNDVcXHU4NEYxXFx1ODQzRlxcdTg0NTZcXHU4NDc2XFx1ODQ3OVxcdTg0OEZcXHU4NDhEXFx1ODQ2NVxcdTg0NTFcXHU4NDQwXFx1ODQ4NlxcdTg0NjdcXHU4NDMwXFx1ODQ0RFxcdTg0N0RcXHU4NDVBXFx1ODQ1OVxcdTg0NzRcXHU4NDczXFx1ODQ1RFxcdTg1MDdcXHU4NDVFXFx1ODQzN1xcdTg0M0FcXHU4NDM0XFx1ODQ3QVxcdTg0NDNcXHU4NDc4XFx1ODQzMlxcdTg0NDVcXHU4NDI5XFx1ODNEOVxcdTg0NEJcXHU4NDJGXFx1ODQ0MlxcdTg0MkRcXHU4NDVGXFx1ODQ3MFxcdTg0MzlcXHU4NDRFXFx1ODQ0Q1xcdTg0NTJcXHU4NDZGXFx1ODRDNVxcdTg0OEVcXHU4NDNCXFx1ODQ0N1xcdTg0MzZcXHU4NDMzXFx1ODQ2OFxcdTg0N0VcXHU4NDQ0XFx1ODQyQlxcdTg0NjBcXHU4NDU0XFx1ODQ2RVxcdTg0NTBcXHU4NzBCXFx1ODcwNFxcdTg2RjdcXHU4NzBDXFx1ODZGQVxcdTg2RDZcXHU4NkY1XFx1ODc0RFxcdTg2RjhcXHU4NzBFXFx1ODcwOVxcdTg3MDFcXHU4NkY2XFx1ODcwRFxcdTg3MDVcXHU4OEQ2XFx1ODhDQlxcdTg4Q0RcXHU4OENFXFx1ODhERVxcdTg4REJcXHU4OERBXFx1ODhDQ1xcdTg4RDBcXHU4OTg1XFx1ODk5QlxcdTg5REZcXHU4OUU1XFx1ODlFNFwiXSxcbiAgICAgIFtcImUwNDBcIiwgXCJcXHU4OUUxXFx1ODlFMFxcdTg5RTJcXHU4OURDXFx1ODlFNlxcdThBNzZcXHU4QTg2XFx1OEE3RlxcdThBNjFcXHU4QTNGXFx1OEE3N1xcdThBODJcXHU4QTg0XFx1OEE3NVxcdThBODNcXHU4QTgxXFx1OEE3NFxcdThBN0FcXHU4QzNDXFx1OEM0QlxcdThDNEFcXHU4QzY1XFx1OEM2NFxcdThDNjZcXHU4Qzg2XFx1OEM4NFxcdThDODVcXHU4Q0NDXFx1OEQ2OFxcdThENjlcXHU4RDkxXFx1OEQ4Q1xcdThEOEVcXHU4RDhGXFx1OEQ4RFxcdThEOTNcXHU4RDk0XFx1OEQ5MFxcdThEOTJcXHU4REYwXFx1OERFMFxcdThERUNcXHU4REYxXFx1OERFRVxcdThERDBcXHU4REU5XFx1OERFM1xcdThERTJcXHU4REU3XFx1OERGMlxcdThERUJcXHU4REY0XFx1OEYwNlxcdThFRkZcXHU4RjAxXFx1OEYwMFxcdThGMDVcXHU4RjA3XFx1OEYwOFxcdThGMDJcXHU4RjBCXFx1OTA1MlxcdTkwM0ZcIl0sXG4gICAgICBbXCJlMGExXCIsIFwiXFx1OTA0NFxcdTkwNDlcXHU5MDNEXFx1OTExMFxcdTkxMERcXHU5MTBGXFx1OTExMVxcdTkxMTZcXHU5MTE0XFx1OTEwQlxcdTkxMEVcXHU5MTZFXFx1OTE2RlxcdTkyNDhcXHU5MjUyXFx1OTIzMFxcdTkyM0FcXHU5MjY2XFx1OTIzM1xcdTkyNjVcXHU5MjVFXFx1OTI4M1xcdTkyMkVcXHU5MjRBXFx1OTI0NlxcdTkyNkRcXHU5MjZDXFx1OTI0RlxcdTkyNjBcXHU5MjY3XFx1OTI2RlxcdTkyMzZcXHU5MjYxXFx1OTI3MFxcdTkyMzFcXHU5MjU0XFx1OTI2M1xcdTkyNTBcXHU5MjcyXFx1OTI0RVxcdTkyNTNcXHU5MjRDXFx1OTI1NlxcdTkyMzJcXHU5NTlGXFx1OTU5Q1xcdTk1OUVcXHU5NTlCXFx1OTY5MlxcdTk2OTNcXHU5NjkxXFx1OTY5N1xcdTk2Q0VcXHU5NkZBXFx1OTZGRFxcdTk2RjhcXHU5NkY1XFx1OTc3M1xcdTk3NzdcXHU5Nzc4XFx1OTc3MlxcdTk4MEZcXHU5ODBEXFx1OTgwRVxcdTk4QUNcXHU5OEY2XFx1OThGOVxcdTk5QUZcXHU5OUIyXFx1OTlCMFxcdTk5QjVcXHU5QUFEXFx1OUFBQlxcdTlCNUJcXHU5Q0VBXFx1OUNFRFxcdTlDRTdcXHU5RTgwXFx1OUVGRFxcdTUwRTZcXHU1MEQ0XFx1NTBEN1xcdTUwRThcXHU1MEYzXFx1NTBEQlxcdTUwRUFcXHU1MEREXFx1NTBFNFxcdTUwRDNcXHU1MEVDXFx1NTBGMFxcdTUwRUZcXHU1MEUzXFx1NTBFMFwiXSxcbiAgICAgIFtcImUxNDBcIiwgXCJcXHU1MUQ4XFx1NTI4MFxcdTUyODFcXHU1MkU5XFx1NTJFQlxcdTUzMzBcXHU1M0FDXFx1NTYyN1xcdTU2MTVcXHU1NjBDXFx1NTYxMlxcdTU1RkNcXHU1NjBGXFx1NTYxQ1xcdTU2MDFcXHU1NjEzXFx1NTYwMlxcdTU1RkFcXHU1NjFEXFx1NTYwNFxcdTU1RkZcXHU1NUY5XFx1NTg4OVxcdTU4N0NcXHU1ODkwXFx1NTg5OFxcdTU4ODZcXHU1ODgxXFx1NTg3RlxcdTU4NzRcXHU1ODhCXFx1NTg3QVxcdTU4ODdcXHU1ODkxXFx1NTg4RVxcdTU4NzZcXHU1ODgyXFx1NTg4OFxcdTU4N0JcXHU1ODk0XFx1NTg4RlxcdTU4RkVcXHU1OTZCXFx1NUFEQ1xcdTVBRUVcXHU1QUU1XFx1NUFENVxcdTVBRUFcXHU1QURBXFx1NUFFRFxcdTVBRUJcXHU1QUYzXFx1NUFFMlxcdTVBRTBcXHU1QURCXFx1NUFFQ1xcdTVBREVcXHU1QUREXFx1NUFEOVxcdTVBRThcXHU1QURGXFx1NUI3N1xcdTVCRTBcIl0sXG4gICAgICBbXCJlMWExXCIsIFwiXFx1NUJFM1xcdTVDNjNcXHU1RDgyXFx1NUQ4MFxcdTVEN0RcXHU1RDg2XFx1NUQ3QVxcdTVEODFcXHU1RDc3XFx1NUQ4QVxcdTVEODlcXHU1RDg4XFx1NUQ3RVxcdTVEN0NcXHU1RDhEXFx1NUQ3OVxcdTVEN0ZcXHU1RTU4XFx1NUU1OVxcdTVFNTNcXHU1RUQ4XFx1NUVEMVxcdTVFRDdcXHU1RUNFXFx1NUVEQ1xcdTVFRDVcXHU1RUQ5XFx1NUVEMlxcdTVFRDRcXHU1RjQ0XFx1NUY0M1xcdTVGNkZcXHU1RkI2XFx1NjEyQ1xcdTYxMjhcXHU2MTQxXFx1NjE1RVxcdTYxNzFcXHU2MTczXFx1NjE1MlxcdTYxNTNcXHU2MTcyXFx1NjE2Q1xcdTYxODBcXHU2MTc0XFx1NjE1NFxcdTYxN0FcXHU2MTVCXFx1NjE2NVxcdTYxM0JcXHU2MTZBXFx1NjE2MVxcdTYxNTZcXHU2MjI5XFx1NjIyN1xcdTYyMkJcXHU2NDJCXFx1NjQ0RFxcdTY0NUJcXHU2NDVEXFx1NjQ3NFxcdTY0NzZcXHU2NDcyXFx1NjQ3M1xcdTY0N0RcXHU2NDc1XFx1NjQ2NlxcdTY0QTZcXHU2NDRFXFx1NjQ4MlxcdTY0NUVcXHU2NDVDXFx1NjQ0QlxcdTY0NTNcXHU2NDYwXFx1NjQ1MFxcdTY0N0ZcXHU2NDNGXFx1NjQ2Q1xcdTY0NkJcXHU2NDU5XFx1NjQ2NVxcdTY0NzdcXHU2NTczXFx1NjVBMFxcdTY2QTFcXHU2NkEwXFx1NjY5RlxcdTY3MDVcXHU2NzA0XFx1NjcyMlxcdTY5QjFcXHU2OUI2XFx1NjlDOVwiXSxcbiAgICAgIFtcImUyNDBcIiwgXCJcXHU2OUEwXFx1NjlDRVxcdTY5OTZcXHU2OUIwXFx1NjlBQ1xcdTY5QkNcXHU2OTkxXFx1Njk5OVxcdTY5OEVcXHU2OUE3XFx1Njk4RFxcdTY5QTlcXHU2OUJFXFx1NjlBRlxcdTY5QkZcXHU2OUM0XFx1NjlCRFxcdTY5QTRcXHU2OUQ0XFx1NjlCOVxcdTY5Q0FcXHU2OTlBXFx1NjlDRlxcdTY5QjNcXHU2OTkzXFx1NjlBQVxcdTY5QTFcXHU2OTlFXFx1NjlEOVxcdTY5OTdcXHU2OTkwXFx1NjlDMlxcdTY5QjVcXHU2OUE1XFx1NjlDNlxcdTZCNEFcXHU2QjREXFx1NkI0QlxcdTZCOUVcXHU2QjlGXFx1NkJBMFxcdTZCQzNcXHU2QkM0XFx1NkJGRVxcdTZFQ0VcXHU2RUY1XFx1NkVGMVxcdTZGMDNcXHU2RjI1XFx1NkVGOFxcdTZGMzdcXHU2RUZCXFx1NkYyRVxcdTZGMDlcXHU2RjRFXFx1NkYxOVxcdTZGMUFcXHU2RjI3XFx1NkYxOFxcdTZGM0JcXHU2RjEyXFx1NkVFRFxcdTZGMEFcIl0sXG4gICAgICBbXCJlMmExXCIsIFwiXFx1NkYzNlxcdTZGNzNcXHU2RUY5XFx1NkVFRVxcdTZGMkRcXHU2RjQwXFx1NkYzMFxcdTZGM0NcXHU2RjM1XFx1NkVFQlxcdTZGMDdcXHU2RjBFXFx1NkY0M1xcdTZGMDVcXHU2RUZEXFx1NkVGNlxcdTZGMzlcXHU2RjFDXFx1NkVGQ1xcdTZGM0FcXHU2RjFGXFx1NkYwRFxcdTZGMUVcXHU2RjA4XFx1NkYyMVxcdTcxODdcXHU3MTkwXFx1NzE4OVxcdTcxODBcXHU3MTg1XFx1NzE4MlxcdTcxOEZcXHU3MTdCXFx1NzE4NlxcdTcxODFcXHU3MTk3XFx1NzI0NFxcdTcyNTNcXHU3Mjk3XFx1NzI5NVxcdTcyOTNcXHU3MzQzXFx1NzM0RFxcdTczNTFcXHU3MzRDXFx1NzQ2MlxcdTc0NzNcXHU3NDcxXFx1NzQ3NVxcdTc0NzJcXHU3NDY3XFx1NzQ2RVxcdTc1MDBcXHU3NTAyXFx1NzUwM1xcdTc1N0RcXHU3NTkwXFx1NzYxNlxcdTc2MDhcXHU3NjBDXFx1NzYxNVxcdTc2MTFcXHU3NjBBXFx1NzYxNFxcdTc2QjhcXHU3NzgxXFx1Nzc3Q1xcdTc3ODVcXHU3NzgyXFx1Nzc2RVxcdTc3ODBcXHU3NzZGXFx1Nzc3RVxcdTc3ODNcXHU3OEIyXFx1NzhBQVxcdTc4QjRcXHU3OEFEXFx1NzhBOFxcdTc4N0VcXHU3OEFCXFx1Nzg5RVxcdTc4QTVcXHU3OEEwXFx1NzhBQ1xcdTc4QTJcXHU3OEE0XFx1Nzk5OFxcdTc5OEFcXHU3OThCXFx1Nzk5NlxcdTc5OTVcXHU3OTk0XFx1Nzk5M1wiXSxcbiAgICAgIFtcImUzNDBcIiwgXCJcXHU3OTk3XFx1Nzk4OFxcdTc5OTJcXHU3OTkwXFx1N0EyQlxcdTdBNEFcXHU3QTMwXFx1N0EyRlxcdTdBMjhcXHU3QTI2XFx1N0FBOFxcdTdBQUJcXHU3QUFDXFx1N0FFRVxcdTdCODhcXHU3QjlDXFx1N0I4QVxcdTdCOTFcXHU3QjkwXFx1N0I5NlxcdTdCOERcXHU3QjhDXFx1N0I5QlxcdTdCOEVcXHU3Qjg1XFx1N0I5OFxcdTUyODRcXHU3Qjk5XFx1N0JBNFxcdTdCODJcXHU3Q0JCXFx1N0NCRlxcdTdDQkNcXHU3Q0JBXFx1N0RBN1xcdTdEQjdcXHU3REMyXFx1N0RBM1xcdTdEQUFcXHU3REMxXFx1N0RDMFxcdTdEQzVcXHU3RDlEXFx1N0RDRVxcdTdEQzRcXHU3REM2XFx1N0RDQlxcdTdEQ0NcXHU3REFGXFx1N0RCOVxcdTdEOTZcXHU3REJDXFx1N0Q5RlxcdTdEQTZcXHU3REFFXFx1N0RBOVxcdTdEQTFcXHU3REM5XFx1N0Y3M1xcdTdGRTJcXHU3RkUzXFx1N0ZFNVxcdTdGREVcIl0sXG4gICAgICBbXCJlM2ExXCIsIFwiXFx1ODAyNFxcdTgwNURcXHU4MDVDXFx1ODE4OVxcdTgxODZcXHU4MTgzXFx1ODE4N1xcdTgxOERcXHU4MThDXFx1ODE4QlxcdTgyMTVcXHU4NDk3XFx1ODRBNFxcdTg0QTFcXHU4NDlGXFx1ODRCQVxcdTg0Q0VcXHU4NEMyXFx1ODRBQ1xcdTg0QUVcXHU4NEFCXFx1ODRCOVxcdTg0QjRcXHU4NEMxXFx1ODRDRFxcdTg0QUFcXHU4NDlBXFx1ODRCMVxcdTg0RDBcXHU4NDlEXFx1ODRBN1xcdTg0QkJcXHU4NEEyXFx1ODQ5NFxcdTg0QzdcXHU4NENDXFx1ODQ5QlxcdTg0QTlcXHU4NEFGXFx1ODRBOFxcdTg0RDZcXHU4NDk4XFx1ODRCNlxcdTg0Q0ZcXHU4NEEwXFx1ODREN1xcdTg0RDRcXHU4NEQyXFx1ODREQlxcdTg0QjBcXHU4NDkxXFx1ODY2MVxcdTg3MzNcXHU4NzIzXFx1ODcyOFxcdTg3NkJcXHU4NzQwXFx1ODcyRVxcdTg3MUVcXHU4NzIxXFx1ODcxOVxcdTg3MUJcXHU4NzQzXFx1ODcyQ1xcdTg3NDFcXHU4NzNFXFx1ODc0NlxcdTg3MjBcXHU4NzMyXFx1ODcyQVxcdTg3MkRcXHU4NzNDXFx1ODcxMlxcdTg3M0FcXHU4NzMxXFx1ODczNVxcdTg3NDJcXHU4NzI2XFx1ODcyN1xcdTg3MzhcXHU4NzI0XFx1ODcxQVxcdTg3MzBcXHU4NzExXFx1ODhGN1xcdTg4RTdcXHU4OEYxXFx1ODhGMlxcdTg4RkFcXHU4OEZFXFx1ODhFRVxcdTg4RkNcXHU4OEY2XFx1ODhGQlwiXSxcbiAgICAgIFtcImU0NDBcIiwgXCJcXHU4OEYwXFx1ODhFQ1xcdTg4RUJcXHU4OTlEXFx1ODlBMVxcdTg5OUZcXHU4OTlFXFx1ODlFOVxcdTg5RUJcXHU4OUU4XFx1OEFBQlxcdThBOTlcXHU4QThCXFx1OEE5MlxcdThBOEZcXHU4QTk2XFx1OEMzRFxcdThDNjhcXHU4QzY5XFx1OENENVxcdThDQ0ZcXHU4Q0Q3XFx1OEQ5NlxcdThFMDlcXHU4RTAyXFx1OERGRlxcdThFMERcXHU4REZEXFx1OEUwQVxcdThFMDNcXHU4RTA3XFx1OEUwNlxcdThFMDVcXHU4REZFXFx1OEUwMFxcdThFMDRcXHU4RjEwXFx1OEYxMVxcdThGMEVcXHU4RjBEXFx1OTEyM1xcdTkxMUNcXHU5MTIwXFx1OTEyMlxcdTkxMUZcXHU5MTFEXFx1OTExQVxcdTkxMjRcXHU5MTIxXFx1OTExQlxcdTkxN0FcXHU5MTcyXFx1OTE3OVxcdTkxNzNcXHU5MkE1XFx1OTJBNFxcdTkyNzZcXHU5MjlCXFx1OTI3QVxcdTkyQTBcXHU5Mjk0XFx1OTJBQVxcdTkyOERcIl0sXG4gICAgICBbXCJlNGExXCIsIFwiXFx1OTJBNlxcdTkyOUFcXHU5MkFCXFx1OTI3OVxcdTkyOTdcXHU5MjdGXFx1OTJBM1xcdTkyRUVcXHU5MjhFXFx1OTI4MlxcdTkyOTVcXHU5MkEyXFx1OTI3RFxcdTkyODhcXHU5MkExXFx1OTI4QVxcdTkyODZcXHU5MjhDXFx1OTI5OVxcdTkyQTdcXHU5MjdFXFx1OTI4N1xcdTkyQTlcXHU5MjlEXFx1OTI4QlxcdTkyMkRcXHU5NjlFXFx1OTZBMVxcdTk2RkZcXHU5NzU4XFx1OTc3RFxcdTk3N0FcXHU5NzdFXFx1OTc4M1xcdTk3ODBcXHU5NzgyXFx1OTc3QlxcdTk3ODRcXHU5NzgxXFx1OTc3RlxcdTk3Q0VcXHU5N0NEXFx1OTgxNlxcdTk4QURcXHU5OEFFXFx1OTkwMlxcdTk5MDBcXHU5OTA3XFx1OTk5RFxcdTk5OUNcXHU5OUMzXFx1OTlCOVxcdTk5QkJcXHU5OUJBXFx1OTlDMlxcdTk5QkRcXHU5OUM3XFx1OUFCMVxcdTlBRTNcXHU5QUU3XFx1OUIzRVxcdTlCM0ZcXHU5QjYwXFx1OUI2MVxcdTlCNUZcXHU5Q0YxXFx1OUNGMlxcdTlDRjVcXHU5RUE3XFx1NTBGRlxcdTUxMDNcXHU1MTMwXFx1NTBGOFxcdTUxMDZcXHU1MTA3XFx1NTBGNlxcdTUwRkVcXHU1MTBCXFx1NTEwQ1xcdTUwRkRcXHU1MTBBXFx1NTI4QlxcdTUyOENcXHU1MkYxXFx1NTJFRlxcdTU2NDhcXHU1NjQyXFx1NTY0Q1xcdTU2MzVcXHU1NjQxXFx1NTY0QVxcdTU2NDlcXHU1NjQ2XFx1NTY1OFwiXSxcbiAgICAgIFtcImU1NDBcIiwgXCJcXHU1NjVBXFx1NTY0MFxcdTU2MzNcXHU1NjNEXFx1NTYyQ1xcdTU2M0VcXHU1NjM4XFx1NTYyQVxcdTU2M0FcXHU1NzFBXFx1NThBQlxcdTU4OURcXHU1OEIxXFx1NThBMFxcdTU4QTNcXHU1OEFGXFx1NThBQ1xcdTU4QTVcXHU1OEExXFx1NThGRlxcdTVBRkZcXHU1QUY0XFx1NUFGRFxcdTVBRjdcXHU1QUY2XFx1NUIwM1xcdTVBRjhcXHU1QjAyXFx1NUFGOVxcdTVCMDFcXHU1QjA3XFx1NUIwNVxcdTVCMEZcXHU1QzY3XFx1NUQ5OVxcdTVEOTdcXHU1RDlGXFx1NUQ5MlxcdTVEQTJcXHU1RDkzXFx1NUQ5NVxcdTVEQTBcXHU1RDlDXFx1NURBMVxcdTVEOUFcXHU1RDlFXFx1NUU2OVxcdTVFNURcXHU1RTYwXFx1NUU1Q1xcdTdERjNcXHU1RURCXFx1NUVERVxcdTVFRTFcXHU1RjQ5XFx1NUZCMlxcdTYxOEJcXHU2MTgzXFx1NjE3OVxcdTYxQjFcXHU2MUIwXFx1NjFBMlxcdTYxODlcIl0sXG4gICAgICBbXCJlNWExXCIsIFwiXFx1NjE5QlxcdTYxOTNcXHU2MUFGXFx1NjFBRFxcdTYxOUZcXHU2MTkyXFx1NjFBQVxcdTYxQTFcXHU2MThEXFx1NjE2NlxcdTYxQjNcXHU2MjJEXFx1NjQ2RVxcdTY0NzBcXHU2NDk2XFx1NjRBMFxcdTY0ODVcXHU2NDk3XFx1NjQ5Q1xcdTY0OEZcXHU2NDhCXFx1NjQ4QVxcdTY0OENcXHU2NEEzXFx1NjQ5RlxcdTY0NjhcXHU2NEIxXFx1NjQ5OFxcdTY1NzZcXHU2NTdBXFx1NjU3OVxcdTY1N0JcXHU2NUIyXFx1NjVCM1xcdTY2QjVcXHU2NkIwXFx1NjZBOVxcdTY2QjJcXHU2NkI3XFx1NjZBQVxcdTY2QUZcXHU2QTAwXFx1NkEwNlxcdTZBMTdcXHU2OUU1XFx1NjlGOFxcdTZBMTVcXHU2OUYxXFx1NjlFNFxcdTZBMjBcXHU2OUZGXFx1NjlFQ1xcdTY5RTJcXHU2QTFCXFx1NkExRFxcdTY5RkVcXHU2QTI3XFx1NjlGMlxcdTY5RUVcXHU2QTE0XFx1NjlGN1xcdTY5RTdcXHU2QTQwXFx1NkEwOFxcdTY5RTZcXHU2OUZCXFx1NkEwRFxcdTY5RkNcXHU2OUVCXFx1NkEwOVxcdTZBMDRcXHU2QTE4XFx1NkEyNVxcdTZBMEZcXHU2OUY2XFx1NkEyNlxcdTZBMDdcXHU2OUY0XFx1NkExNlxcdTZCNTFcXHU2QkE1XFx1NkJBM1xcdTZCQTJcXHU2QkE2XFx1NkMwMVxcdTZDMDBcXHU2QkZGXFx1NkMwMlxcdTZGNDFcXHU2RjI2XFx1NkY3RVxcdTZGODdcXHU2RkM2XFx1NkY5MlwiXSxcbiAgICAgIFtcImU2NDBcIiwgXCJcXHU2RjhEXFx1NkY4OVxcdTZGOENcXHU2RjYyXFx1NkY0RlxcdTZGODVcXHU2RjVBXFx1NkY5NlxcdTZGNzZcXHU2RjZDXFx1NkY4MlxcdTZGNTVcXHU2RjcyXFx1NkY1MlxcdTZGNTBcXHU2RjU3XFx1NkY5NFxcdTZGOTNcXHU2RjVEXFx1NkYwMFxcdTZGNjFcXHU2RjZCXFx1NkY3RFxcdTZGNjdcXHU2RjkwXFx1NkY1M1xcdTZGOEJcXHU2RjY5XFx1NkY3RlxcdTZGOTVcXHU2RjYzXFx1NkY3N1xcdTZGNkFcXHU2RjdCXFx1NzFCMlxcdTcxQUZcXHU3MTlCXFx1NzFCMFxcdTcxQTBcXHU3MTlBXFx1NzFBOVxcdTcxQjVcXHU3MTlEXFx1NzFBNVxcdTcxOUVcXHU3MUE0XFx1NzFBMVxcdTcxQUFcXHU3MTlDXFx1NzFBN1xcdTcxQjNcXHU3Mjk4XFx1NzI5QVxcdTczNThcXHU3MzUyXFx1NzM1RVxcdTczNUZcXHU3MzYwXFx1NzM1RFxcdTczNUJcXHU3MzYxXFx1NzM1QVxcdTczNTlcIl0sXG4gICAgICBbXCJlNmExXCIsIFwiXFx1NzM2MlxcdTc0ODdcXHU3NDg5XFx1NzQ4QVxcdTc0ODZcXHU3NDgxXFx1NzQ3RFxcdTc0ODVcXHU3NDg4XFx1NzQ3Q1xcdTc0NzlcXHU3NTA4XFx1NzUwN1xcdTc1N0VcXHU3NjI1XFx1NzYxRVxcdTc2MTlcXHU3NjFEXFx1NzYxQ1xcdTc2MjNcXHU3NjFBXFx1NzYyOFxcdTc2MUJcXHU3NjlDXFx1NzY5RFxcdTc2OUVcXHU3NjlCXFx1Nzc4RFxcdTc3OEZcXHU3Nzg5XFx1Nzc4OFxcdTc4Q0RcXHU3OEJCXFx1NzhDRlxcdTc4Q0NcXHU3OEQxXFx1NzhDRVxcdTc4RDRcXHU3OEM4XFx1NzhDM1xcdTc4QzRcXHU3OEM5XFx1Nzk5QVxcdTc5QTFcXHU3OUEwXFx1Nzk5Q1xcdTc5QTJcXHU3OTlCXFx1NkI3NlxcdTdBMzlcXHU3QUIyXFx1N0FCNFxcdTdBQjNcXHU3QkI3XFx1N0JDQlxcdTdCQkVcXHU3QkFDXFx1N0JDRVxcdTdCQUZcXHU3QkI5XFx1N0JDQVxcdTdCQjVcXHU3Q0M1XFx1N0NDOFxcdTdDQ0NcXHU3Q0NCXFx1N0RGN1xcdTdEREJcXHU3REVBXFx1N0RFN1xcdTdERDdcXHU3REUxXFx1N0UwM1xcdTdERkFcXHU3REU2XFx1N0RGNlxcdTdERjFcXHU3REYwXFx1N0RFRVxcdTdEREZcXHU3Rjc2XFx1N0ZBQ1xcdTdGQjBcXHU3RkFEXFx1N0ZFRFxcdTdGRUJcXHU3RkVBXFx1N0ZFQ1xcdTdGRTZcXHU3RkU4XFx1ODA2NFxcdTgwNjdcXHU4MUEzXFx1ODE5RlwiXSxcbiAgICAgIFtcImU3NDBcIiwgXCJcXHU4MTlFXFx1ODE5NVxcdTgxQTJcXHU4MTk5XFx1ODE5N1xcdTgyMTZcXHU4MjRGXFx1ODI1M1xcdTgyNTJcXHU4MjUwXFx1ODI0RVxcdTgyNTFcXHU4NTI0XFx1ODUzQlxcdTg1MEZcXHU4NTAwXFx1ODUyOVxcdTg1MEVcXHU4NTA5XFx1ODUwRFxcdTg1MUZcXHU4NTBBXFx1ODUyN1xcdTg1MUNcXHU4NEZCXFx1ODUyQlxcdTg0RkFcXHU4NTA4XFx1ODUwQ1xcdTg0RjRcXHU4NTJBXFx1ODRGMlxcdTg1MTVcXHU4NEY3XFx1ODRFQlxcdTg0RjNcXHU4NEZDXFx1ODUxMlxcdTg0RUFcXHU4NEU5XFx1ODUxNlxcdTg0RkVcXHU4NTI4XFx1ODUxRFxcdTg1MkVcXHU4NTAyXFx1ODRGRFxcdTg1MUVcXHU4NEY2XFx1ODUzMVxcdTg1MjZcXHU4NEU3XFx1ODRFOFxcdTg0RjBcXHU4NEVGXFx1ODRGOVxcdTg1MThcXHU4NTIwXFx1ODUzMFxcdTg1MEJcXHU4NTE5XFx1ODUyRlxcdTg2NjJcIl0sXG4gICAgICBbXCJlN2ExXCIsIFwiXFx1ODc1NlxcdTg3NjNcXHU4NzY0XFx1ODc3N1xcdTg3RTFcXHU4NzczXFx1ODc1OFxcdTg3NTRcXHU4NzVCXFx1ODc1MlxcdTg3NjFcXHU4NzVBXFx1ODc1MVxcdTg3NUVcXHU4NzZEXFx1ODc2QVxcdTg3NTBcXHU4NzRFXFx1ODc1RlxcdTg3NURcXHU4NzZGXFx1ODc2Q1xcdTg3N0FcXHU4NzZFXFx1ODc1Q1xcdTg3NjVcXHU4NzRGXFx1ODc3QlxcdTg3NzVcXHU4NzYyXFx1ODc2N1xcdTg3NjlcXHU4ODVBXFx1ODkwNVxcdTg5MENcXHU4OTE0XFx1ODkwQlxcdTg5MTdcXHU4OTE4XFx1ODkxOVxcdTg5MDZcXHU4OTE2XFx1ODkxMVxcdTg5MEVcXHU4OTA5XFx1ODlBMlxcdTg5QTRcXHU4OUEzXFx1ODlFRFxcdTg5RjBcXHU4OUVDXFx1OEFDRlxcdThBQzZcXHU4QUI4XFx1OEFEM1xcdThBRDFcXHU4QUQ0XFx1OEFENVxcdThBQkJcXHU4QUQ3XFx1OEFCRVxcdThBQzBcXHU4QUM1XFx1OEFEOFxcdThBQzNcXHU4QUJBXFx1OEFCRFxcdThBRDlcXHU4QzNFXFx1OEM0RFxcdThDOEZcXHU4Q0U1XFx1OENERlxcdThDRDlcXHU4Q0U4XFx1OENEQVxcdThDRERcXHU4Q0U3XFx1OERBMFxcdThEOUNcXHU4REExXFx1OEQ5QlxcdThFMjBcXHU4RTIzXFx1OEUyNVxcdThFMjRcXHU4RTJFXFx1OEUxNVxcdThFMUJcXHU4RTE2XFx1OEUxMVxcdThFMTlcXHU4RTI2XFx1OEUyN1wiXSxcbiAgICAgIFtcImU4NDBcIiwgXCJcXHU4RTE0XFx1OEUxMlxcdThFMThcXHU4RTEzXFx1OEUxQ1xcdThFMTdcXHU4RTFBXFx1OEYyQ1xcdThGMjRcXHU4RjE4XFx1OEYxQVxcdThGMjBcXHU4RjIzXFx1OEYxNlxcdThGMTdcXHU5MDczXFx1OTA3MFxcdTkwNkZcXHU5MDY3XFx1OTA2QlxcdTkxMkZcXHU5MTJCXFx1OTEyOVxcdTkxMkFcXHU5MTMyXFx1OTEyNlxcdTkxMkVcXHU5MTg1XFx1OTE4NlxcdTkxOEFcXHU5MTgxXFx1OTE4MlxcdTkxODRcXHU5MTgwXFx1OTJEMFxcdTkyQzNcXHU5MkM0XFx1OTJDMFxcdTkyRDlcXHU5MkI2XFx1OTJDRlxcdTkyRjFcXHU5MkRGXFx1OTJEOFxcdTkyRTlcXHU5MkQ3XFx1OTJERFxcdTkyQ0NcXHU5MkVGXFx1OTJDMlxcdTkyRThcXHU5MkNBXFx1OTJDOFxcdTkyQ0VcXHU5MkU2XFx1OTJDRFxcdTkyRDVcXHU5MkM5XFx1OTJFMFxcdTkyREVcXHU5MkU3XFx1OTJEMVxcdTkyRDNcIl0sXG4gICAgICBbXCJlOGExXCIsIFwiXFx1OTJCNVxcdTkyRTFcXHU5MkM2XFx1OTJCNFxcdTk1N0NcXHU5NUFDXFx1OTVBQlxcdTk1QUVcXHU5NUIwXFx1OTZBNFxcdTk2QTJcXHU5NkQzXFx1OTcwNVxcdTk3MDhcXHU5NzAyXFx1OTc1QVxcdTk3OEFcXHU5NzhFXFx1OTc4OFxcdTk3RDBcXHU5N0NGXFx1OTgxRVxcdTk4MURcXHU5ODI2XFx1OTgyOVxcdTk4MjhcXHU5ODIwXFx1OTgxQlxcdTk4MjdcXHU5OEIyXFx1OTkwOFxcdTk4RkFcXHU5OTExXFx1OTkxNFxcdTk5MTZcXHU5OTE3XFx1OTkxNVxcdTk5RENcXHU5OUNEXFx1OTlDRlxcdTk5RDNcXHU5OUQ0XFx1OTlDRVxcdTk5QzlcXHU5OUQ2XFx1OTlEOFxcdTk5Q0JcXHU5OUQ3XFx1OTlDQ1xcdTlBQjNcXHU5QUVDXFx1OUFFQlxcdTlBRjNcXHU5QUYyXFx1OUFGMVxcdTlCNDZcXHU5QjQzXFx1OUI2N1xcdTlCNzRcXHU5QjcxXFx1OUI2NlxcdTlCNzZcXHU5Qjc1XFx1OUI3MFxcdTlCNjhcXHU5QjY0XFx1OUI2Q1xcdTlDRkNcXHU5Q0ZBXFx1OUNGRFxcdTlDRkZcXHU5Q0Y3XFx1OUQwN1xcdTlEMDBcXHU5Q0Y5XFx1OUNGQlxcdTlEMDhcXHU5RDA1XFx1OUQwNFxcdTlFODNcXHU5RUQzXFx1OUYwRlxcdTlGMTBcXHU1MTFDXFx1NTExM1xcdTUxMTdcXHU1MTFBXFx1NTExMVxcdTUxREVcXHU1MzM0XFx1NTNFMVxcdTU2NzBcXHU1NjYwXFx1NTY2RVwiXSxcbiAgICAgIFtcImU5NDBcIiwgXCJcXHU1NjczXFx1NTY2NlxcdTU2NjNcXHU1NjZEXFx1NTY3MlxcdTU2NUVcXHU1Njc3XFx1NTcxQ1xcdTU3MUJcXHU1OEM4XFx1NThCRFxcdTU4QzlcXHU1OEJGXFx1NThCQVxcdTU4QzJcXHU1OEJDXFx1NThDNlxcdTVCMTdcXHU1QjE5XFx1NUIxQlxcdTVCMjFcXHU1QjE0XFx1NUIxM1xcdTVCMTBcXHU1QjE2XFx1NUIyOFxcdTVCMUFcXHU1QjIwXFx1NUIxRVxcdTVCRUZcXHU1REFDXFx1NURCMVxcdTVEQTlcXHU1REE3XFx1NURCNVxcdTVEQjBcXHU1REFFXFx1NURBQVxcdTVEQThcXHU1REIyXFx1NURBRFxcdTVEQUZcXHU1REI0XFx1NUU2N1xcdTVFNjhcXHU1RTY2XFx1NUU2RlxcdTVFRTlcXHU1RUU3XFx1NUVFNlxcdTVFRThcXHU1RUU1XFx1NUY0QlxcdTVGQkNcXHU2MTlEXFx1NjFBOFxcdTYxOTZcXHU2MUM1XFx1NjFCNFxcdTYxQzZcXHU2MUMxXFx1NjFDQ1xcdTYxQkFcIl0sXG4gICAgICBbXCJlOWExXCIsIFwiXFx1NjFCRlxcdTYxQjhcXHU2MThDXFx1NjREN1xcdTY0RDZcXHU2NEQwXFx1NjRDRlxcdTY0QzlcXHU2NEJEXFx1NjQ4OVxcdTY0QzNcXHU2NERCXFx1NjRGM1xcdTY0RDlcXHU2NTMzXFx1NjU3RlxcdTY1N0NcXHU2NUEyXFx1NjZDOFxcdTY2QkVcXHU2NkMwXFx1NjZDQVxcdTY2Q0JcXHU2NkNGXFx1NjZCRFxcdTY2QkJcXHU2NkJBXFx1NjZDQ1xcdTY3MjNcXHU2QTM0XFx1NkE2NlxcdTZBNDlcXHU2QTY3XFx1NkEzMlxcdTZBNjhcXHU2QTNFXFx1NkE1RFxcdTZBNkRcXHU2QTc2XFx1NkE1QlxcdTZBNTFcXHU2QTI4XFx1NkE1QVxcdTZBM0JcXHU2QTNGXFx1NkE0MVxcdTZBNkFcXHU2QTY0XFx1NkE1MFxcdTZBNEZcXHU2QTU0XFx1NkE2RlxcdTZBNjlcXHU2QTYwXFx1NkEzQ1xcdTZBNUVcXHU2QTU2XFx1NkE1NVxcdTZBNERcXHU2QTRFXFx1NkE0NlxcdTZCNTVcXHU2QjU0XFx1NkI1NlxcdTZCQTdcXHU2QkFBXFx1NkJBQlxcdTZCQzhcXHU2QkM3XFx1NkMwNFxcdTZDMDNcXHU2QzA2XFx1NkZBRFxcdTZGQ0JcXHU2RkEzXFx1NkZDN1xcdTZGQkNcXHU2RkNFXFx1NkZDOFxcdTZGNUVcXHU2RkM0XFx1NkZCRFxcdTZGOUVcXHU2RkNBXFx1NkZBOFxcdTcwMDRcXHU2RkE1XFx1NkZBRVxcdTZGQkFcXHU2RkFDXFx1NkZBQVxcdTZGQ0ZcXHU2RkJGXFx1NkZCOFwiXSxcbiAgICAgIFtcImVhNDBcIiwgXCJcXHU2RkEyXFx1NkZDOVxcdTZGQUJcXHU2RkNEXFx1NkZBRlxcdTZGQjJcXHU2RkIwXFx1NzFDNVxcdTcxQzJcXHU3MUJGXFx1NzFCOFxcdTcxRDZcXHU3MUMwXFx1NzFDMVxcdTcxQ0JcXHU3MUQ0XFx1NzFDQVxcdTcxQzdcXHU3MUNGXFx1NzFCRFxcdTcxRDhcXHU3MUJDXFx1NzFDNlxcdTcxREFcXHU3MURCXFx1NzI5RFxcdTcyOUVcXHU3MzY5XFx1NzM2NlxcdTczNjdcXHU3MzZDXFx1NzM2NVxcdTczNkJcXHU3MzZBXFx1NzQ3RlxcdTc0OUFcXHU3NEEwXFx1NzQ5NFxcdTc0OTJcXHU3NDk1XFx1NzRBMVxcdTc1MEJcXHU3NTgwXFx1NzYyRlxcdTc2MkRcXHU3NjMxXFx1NzYzRFxcdTc2MzNcXHU3NjNDXFx1NzYzNVxcdTc2MzJcXHU3NjMwXFx1NzZCQlxcdTc2RTZcXHU3NzlBXFx1Nzc5RFxcdTc3QTFcXHU3NzlDXFx1Nzc5QlxcdTc3QTJcXHU3N0EzXFx1Nzc5NVxcdTc3OTlcIl0sXG4gICAgICBbXCJlYWExXCIsIFwiXFx1Nzc5N1xcdTc4RERcXHU3OEU5XFx1NzhFNVxcdTc4RUFcXHU3OERFXFx1NzhFM1xcdTc4REJcXHU3OEUxXFx1NzhFMlxcdTc4RURcXHU3OERGXFx1NzhFMFxcdTc5QTRcXHU3QTQ0XFx1N0E0OFxcdTdBNDdcXHU3QUI2XFx1N0FCOFxcdTdBQjVcXHU3QUIxXFx1N0FCN1xcdTdCREVcXHU3QkUzXFx1N0JFN1xcdTdCRERcXHU3QkQ1XFx1N0JFNVxcdTdCREFcXHU3QkU4XFx1N0JGOVxcdTdCRDRcXHU3QkVBXFx1N0JFMlxcdTdCRENcXHU3QkVCXFx1N0JEOFxcdTdCREZcXHU3Q0QyXFx1N0NENFxcdTdDRDdcXHU3Q0QwXFx1N0NEMVxcdTdFMTJcXHU3RTIxXFx1N0UxN1xcdTdFMENcXHU3RTFGXFx1N0UyMFxcdTdFMTNcXHU3RTBFXFx1N0UxQ1xcdTdFMTVcXHU3RTFBXFx1N0UyMlxcdTdFMEJcXHU3RTBGXFx1N0UxNlxcdTdFMERcXHU3RTE0XFx1N0UyNVxcdTdFMjRcXHU3RjQzXFx1N0Y3QlxcdTdGN0NcXHU3RjdBXFx1N0ZCMVxcdTdGRUZcXHU4MDJBXFx1ODAyOVxcdTgwNkNcXHU4MUIxXFx1ODFBNlxcdTgxQUVcXHU4MUI5XFx1ODFCNVxcdTgxQUJcXHU4MUIwXFx1ODFBQ1xcdTgxQjRcXHU4MUIyXFx1ODFCN1xcdTgxQTdcXHU4MUYyXFx1ODI1NVxcdTgyNTZcXHU4MjU3XFx1ODU1NlxcdTg1NDVcXHU4NTZCXFx1ODU0RFxcdTg1NTNcXHU4NTYxXFx1ODU1OFwiXSxcbiAgICAgIFtcImViNDBcIiwgXCJcXHU4NTQwXFx1ODU0NlxcdTg1NjRcXHU4NTQxXFx1ODU2MlxcdTg1NDRcXHU4NTUxXFx1ODU0N1xcdTg1NjNcXHU4NTNFXFx1ODU1QlxcdTg1NzFcXHU4NTRFXFx1ODU2RVxcdTg1NzVcXHU4NTU1XFx1ODU2N1xcdTg1NjBcXHU4NThDXFx1ODU2NlxcdTg1NURcXHU4NTU0XFx1ODU2NVxcdTg1NkNcXHU4NjYzXFx1ODY2NVxcdTg2NjRcXHU4NzlCXFx1ODc4RlxcdTg3OTdcXHU4NzkzXFx1ODc5MlxcdTg3ODhcXHU4NzgxXFx1ODc5NlxcdTg3OThcXHU4Nzc5XFx1ODc4N1xcdTg3QTNcXHU4Nzg1XFx1ODc5MFxcdTg3OTFcXHU4NzlEXFx1ODc4NFxcdTg3OTRcXHU4NzlDXFx1ODc5QVxcdTg3ODlcXHU4OTFFXFx1ODkyNlxcdTg5MzBcXHU4OTJEXFx1ODkyRVxcdTg5MjdcXHU4OTMxXFx1ODkyMlxcdTg5MjlcXHU4OTIzXFx1ODkyRlxcdTg5MkNcXHU4OTFGXFx1ODlGMVxcdThBRTBcIl0sXG4gICAgICBbXCJlYmExXCIsIFwiXFx1OEFFMlxcdThBRjJcXHU4QUY0XFx1OEFGNVxcdThBRERcXHU4QjE0XFx1OEFFNFxcdThBREZcXHU4QUYwXFx1OEFDOFxcdThBREVcXHU4QUUxXFx1OEFFOFxcdThBRkZcXHU4QUVGXFx1OEFGQlxcdThDOTFcXHU4QzkyXFx1OEM5MFxcdThDRjVcXHU4Q0VFXFx1OENGMVxcdThDRjBcXHU4Q0YzXFx1OEQ2Q1xcdThENkVcXHU4REE1XFx1OERBN1xcdThFMzNcXHU4RTNFXFx1OEUzOFxcdThFNDBcXHU4RTQ1XFx1OEUzNlxcdThFM0NcXHU4RTNEXFx1OEU0MVxcdThFMzBcXHU4RTNGXFx1OEVCRFxcdThGMzZcXHU4RjJFXFx1OEYzNVxcdThGMzJcXHU4RjM5XFx1OEYzN1xcdThGMzRcXHU5MDc2XFx1OTA3OVxcdTkwN0JcXHU5MDg2XFx1OTBGQVxcdTkxMzNcXHU5MTM1XFx1OTEzNlxcdTkxOTNcXHU5MTkwXFx1OTE5MVxcdTkxOERcXHU5MThGXFx1OTMyN1xcdTkzMUVcXHU5MzA4XFx1OTMxRlxcdTkzMDZcXHU5MzBGXFx1OTM3QVxcdTkzMzhcXHU5MzNDXFx1OTMxQlxcdTkzMjNcXHU5MzEyXFx1OTMwMVxcdTkzNDZcXHU5MzJEXFx1OTMwRVxcdTkzMERcXHU5MkNCXFx1OTMxRFxcdTkyRkFcXHU5MzI1XFx1OTMxM1xcdTkyRjlcXHU5MkY3XFx1OTMzNFxcdTkzMDJcXHU5MzI0XFx1OTJGRlxcdTkzMjlcXHU5MzM5XFx1OTMzNVxcdTkzMkFcXHU5MzE0XFx1OTMwQ1wiXSxcbiAgICAgIFtcImVjNDBcIiwgXCJcXHU5MzBCXFx1OTJGRVxcdTkzMDlcXHU5MzAwXFx1OTJGQlxcdTkzMTZcXHU5NUJDXFx1OTVDRFxcdTk1QkVcXHU5NUI5XFx1OTVCQVxcdTk1QjZcXHU5NUJGXFx1OTVCNVxcdTk1QkRcXHU5NkE5XFx1OTZENFxcdTk3MEJcXHU5NzEyXFx1OTcxMFxcdTk3OTlcXHU5Nzk3XFx1OTc5NFxcdTk3RjBcXHU5N0Y4XFx1OTgzNVxcdTk4MkZcXHU5ODMyXFx1OTkyNFxcdTk5MUZcXHU5OTI3XFx1OTkyOVxcdTk5OUVcXHU5OUVFXFx1OTlFQ1xcdTk5RTVcXHU5OUU0XFx1OTlGMFxcdTk5RTNcXHU5OUVBXFx1OTlFOVxcdTk5RTdcXHU5QUI5XFx1OUFCRlxcdTlBQjRcXHU5QUJCXFx1OUFGNlxcdTlBRkFcXHU5QUY5XFx1OUFGN1xcdTlCMzNcXHU5QjgwXFx1OUI4NVxcdTlCODdcXHU5QjdDXFx1OUI3RVxcdTlCN0JcXHU5QjgyXFx1OUI5M1xcdTlCOTJcXHU5QjkwXFx1OUI3QVxcdTlCOTVcIl0sXG4gICAgICBbXCJlY2ExXCIsIFwiXFx1OUI3RFxcdTlCODhcXHU5RDI1XFx1OUQxN1xcdTlEMjBcXHU5RDFFXFx1OUQxNFxcdTlEMjlcXHU5RDFEXFx1OUQxOFxcdTlEMjJcXHU5RDEwXFx1OUQxOVxcdTlEMUZcXHU5RTg4XFx1OUU4NlxcdTlFODdcXHU5RUFFXFx1OUVBRFxcdTlFRDVcXHU5RUQ2XFx1OUVGQVxcdTlGMTJcXHU5RjNEXFx1NTEyNlxcdTUxMjVcXHU1MTIyXFx1NTEyNFxcdTUxMjBcXHU1MTI5XFx1NTJGNFxcdTU2OTNcXHU1NjhDXFx1NTY4RFxcdTU2ODZcXHU1Njg0XFx1NTY4M1xcdTU2N0VcXHU1NjgyXFx1NTY3RlxcdTU2ODFcXHU1OEQ2XFx1NThENFxcdTU4Q0ZcXHU1OEQyXFx1NUIyRFxcdTVCMjVcXHU1QjMyXFx1NUIyM1xcdTVCMkNcXHU1QjI3XFx1NUIyNlxcdTVCMkZcXHU1QjJFXFx1NUI3QlxcdTVCRjFcXHU1QkYyXFx1NURCN1xcdTVFNkNcXHU1RTZBXFx1NUZCRVxcdTVGQkJcXHU2MUMzXFx1NjFCNVxcdTYxQkNcXHU2MUU3XFx1NjFFMFxcdTYxRTVcXHU2MUU0XFx1NjFFOFxcdTYxREVcXHU2NEVGXFx1NjRFOVxcdTY0RTNcXHU2NEVCXFx1NjRFNFxcdTY0RThcXHU2NTgxXFx1NjU4MFxcdTY1QjZcXHU2NURBXFx1NjZEMlxcdTZBOERcXHU2QTk2XFx1NkE4MVxcdTZBQTVcXHU2QTg5XFx1NkE5RlxcdTZBOUJcXHU2QUExXFx1NkE5RVxcdTZBODdcXHU2QTkzXFx1NkE4RVwiXSxcbiAgICAgIFtcImVkNDBcIiwgXCJcXHU2QTk1XFx1NkE4M1xcdTZBQThcXHU2QUE0XFx1NkE5MVxcdTZBN0ZcXHU2QUE2XFx1NkE5QVxcdTZBODVcXHU2QThDXFx1NkE5MlxcdTZCNUJcXHU2QkFEXFx1NkMwOVxcdTZGQ0NcXHU2RkE5XFx1NkZGNFxcdTZGRDRcXHU2RkUzXFx1NkZEQ1xcdTZGRURcXHU2RkU3XFx1NkZFNlxcdTZGREVcXHU2RkYyXFx1NkZERFxcdTZGRTJcXHU2RkU4XFx1NzFFMVxcdTcxRjFcXHU3MUU4XFx1NzFGMlxcdTcxRTRcXHU3MUYwXFx1NzFFMlxcdTczNzNcXHU3MzZFXFx1NzM2RlxcdTc0OTdcXHU3NEIyXFx1NzRBQlxcdTc0OTBcXHU3NEFBXFx1NzRBRFxcdTc0QjFcXHU3NEE1XFx1NzRBRlxcdTc1MTBcXHU3NTExXFx1NzUxMlxcdTc1MEZcXHU3NTg0XFx1NzY0M1xcdTc2NDhcXHU3NjQ5XFx1NzY0N1xcdTc2QTRcXHU3NkU5XFx1NzdCNVxcdTc3QUJcXHU3N0IyXFx1NzdCN1xcdTc3QjZcIl0sXG4gICAgICBbXCJlZGExXCIsIFwiXFx1NzdCNFxcdTc3QjFcXHU3N0E4XFx1NzdGMFxcdTc4RjNcXHU3OEZEXFx1NzkwMlxcdTc4RkJcXHU3OEZDXFx1NzhGMlxcdTc5MDVcXHU3OEY5XFx1NzhGRVxcdTc5MDRcXHU3OUFCXFx1NzlBOFxcdTdBNUNcXHU3QTVCXFx1N0E1NlxcdTdBNThcXHU3QTU0XFx1N0E1QVxcdTdBQkVcXHU3QUMwXFx1N0FDMVxcdTdDMDVcXHU3QzBGXFx1N0JGMlxcdTdDMDBcXHU3QkZGXFx1N0JGQlxcdTdDMEVcXHU3QkY0XFx1N0MwQlxcdTdCRjNcXHU3QzAyXFx1N0MwOVxcdTdDMDNcXHU3QzAxXFx1N0JGOFxcdTdCRkRcXHU3QzA2XFx1N0JGMFxcdTdCRjFcXHU3QzEwXFx1N0MwQVxcdTdDRThcXHU3RTJEXFx1N0UzQ1xcdTdFNDJcXHU3RTMzXFx1OTg0OFxcdTdFMzhcXHU3RTJBXFx1N0U0OVxcdTdFNDBcXHU3RTQ3XFx1N0UyOVxcdTdFNENcXHU3RTMwXFx1N0UzQlxcdTdFMzZcXHU3RTQ0XFx1N0UzQVxcdTdGNDVcXHU3RjdGXFx1N0Y3RVxcdTdGN0RcXHU3RkY0XFx1N0ZGMlxcdTgwMkNcXHU4MUJCXFx1ODFDNFxcdTgxQ0NcXHU4MUNBXFx1ODFDNVxcdTgxQzdcXHU4MUJDXFx1ODFFOVxcdTgyNUJcXHU4MjVBXFx1ODI1Q1xcdTg1ODNcXHU4NTgwXFx1ODU4RlxcdTg1QTdcXHU4NTk1XFx1ODVBMFxcdTg1OEJcXHU4NUEzXFx1ODU3QlxcdTg1QTRcXHU4NTlBXFx1ODU5RVwiXSxcbiAgICAgIFtcImVlNDBcIiwgXCJcXHU4NTc3XFx1ODU3Q1xcdTg1ODlcXHU4NUExXFx1ODU3QVxcdTg1NzhcXHU4NTU3XFx1ODU4RVxcdTg1OTZcXHU4NTg2XFx1ODU4RFxcdTg1OTlcXHU4NTlEXFx1ODU4MVxcdTg1QTJcXHU4NTgyXFx1ODU4OFxcdTg1ODVcXHU4NTc5XFx1ODU3NlxcdTg1OThcXHU4NTkwXFx1ODU5RlxcdTg2NjhcXHU4N0JFXFx1ODdBQVxcdTg3QURcXHU4N0M1XFx1ODdCMFxcdTg3QUNcXHU4N0I5XFx1ODdCNVxcdTg3QkNcXHU4N0FFXFx1ODdDOVxcdTg3QzNcXHU4N0MyXFx1ODdDQ1xcdTg3QjdcXHU4N0FGXFx1ODdDNFxcdTg3Q0FcXHU4N0I0XFx1ODdCNlxcdTg3QkZcXHU4N0I4XFx1ODdCRFxcdTg3REVcXHU4N0IyXFx1ODkzNVxcdTg5MzNcXHU4OTNDXFx1ODkzRVxcdTg5NDFcXHU4OTUyXFx1ODkzN1xcdTg5NDJcXHU4OUFEXFx1ODlBRlxcdTg5QUVcXHU4OUYyXFx1ODlGM1xcdThCMUVcIl0sXG4gICAgICBbXCJlZWExXCIsIFwiXFx1OEIxOFxcdThCMTZcXHU4QjExXFx1OEIwNVxcdThCMEJcXHU4QjIyXFx1OEIwRlxcdThCMTJcXHU4QjE1XFx1OEIwN1xcdThCMERcXHU4QjA4XFx1OEIwNlxcdThCMUNcXHU4QjEzXFx1OEIxQVxcdThDNEZcXHU4QzcwXFx1OEM3MlxcdThDNzFcXHU4QzZGXFx1OEM5NVxcdThDOTRcXHU4Q0Y5XFx1OEQ2RlxcdThFNEVcXHU4RTREXFx1OEU1M1xcdThFNTBcXHU4RTRDXFx1OEU0N1xcdThGNDNcXHU4RjQwXFx1OTA4NVxcdTkwN0VcXHU5MTM4XFx1OTE5QVxcdTkxQTJcXHU5MTlCXFx1OTE5OVxcdTkxOUZcXHU5MUExXFx1OTE5RFxcdTkxQTBcXHU5M0ExXFx1OTM4M1xcdTkzQUZcXHU5MzY0XFx1OTM1NlxcdTkzNDdcXHU5MzdDXFx1OTM1OFxcdTkzNUNcXHU5Mzc2XFx1OTM0OVxcdTkzNTBcXHU5MzUxXFx1OTM2MFxcdTkzNkRcXHU5MzhGXFx1OTM0Q1xcdTkzNkFcXHU5Mzc5XFx1OTM1N1xcdTkzNTVcXHU5MzUyXFx1OTM0RlxcdTkzNzFcXHU5Mzc3XFx1OTM3QlxcdTkzNjFcXHU5MzVFXFx1OTM2M1xcdTkzNjdcXHU5MzgwXFx1OTM0RVxcdTkzNTlcXHU5NUM3XFx1OTVDMFxcdTk1QzlcXHU5NUMzXFx1OTVDNVxcdTk1QjdcXHU5NkFFXFx1OTZCMFxcdTk2QUNcXHU5NzIwXFx1OTcxRlxcdTk3MThcXHU5NzFEXFx1OTcxOVxcdTk3OUFcXHU5N0ExXFx1OTc5Q1wiXSxcbiAgICAgIFtcImVmNDBcIiwgXCJcXHU5NzlFXFx1OTc5RFxcdTk3RDVcXHU5N0Q0XFx1OTdGMVxcdTk4NDFcXHU5ODQ0XFx1OTg0QVxcdTk4NDlcXHU5ODQ1XFx1OTg0M1xcdTk5MjVcXHU5OTJCXFx1OTkyQ1xcdTk5MkFcXHU5OTMzXFx1OTkzMlxcdTk5MkZcXHU5OTJEXFx1OTkzMVxcdTk5MzBcXHU5OTk4XFx1OTlBM1xcdTk5QTFcXHU5QTAyXFx1OTlGQVxcdTk5RjRcXHU5OUY3XFx1OTlGOVxcdTk5RjhcXHU5OUY2XFx1OTlGQlxcdTk5RkRcXHU5OUZFXFx1OTlGQ1xcdTlBMDNcXHU5QUJFXFx1OUFGRVxcdTlBRkRcXHU5QjAxXFx1OUFGQ1xcdTlCNDhcXHU5QjlBXFx1OUJBOFxcdTlCOUVcXHU5QjlCXFx1OUJBNlxcdTlCQTFcXHU5QkE1XFx1OUJBNFxcdTlCODZcXHU5QkEyXFx1OUJBMFxcdTlCQUZcXHU5RDMzXFx1OUQ0MVxcdTlENjdcXHU5RDM2XFx1OUQyRVxcdTlEMkZcXHU5RDMxXFx1OUQzOFxcdTlEMzBcIl0sXG4gICAgICBbXCJlZmExXCIsIFwiXFx1OUQ0NVxcdTlENDJcXHU5RDQzXFx1OUQzRVxcdTlEMzdcXHU5RDQwXFx1OUQzRFxcdTdGRjVcXHU5RDJEXFx1OUU4QVxcdTlFODlcXHU5RThEXFx1OUVCMFxcdTlFQzhcXHU5RURBXFx1OUVGQlxcdTlFRkZcXHU5RjI0XFx1OUYyM1xcdTlGMjJcXHU5RjU0XFx1OUZBMFxcdTUxMzFcXHU1MTJEXFx1NTEyRVxcdTU2OThcXHU1NjlDXFx1NTY5N1xcdTU2OUFcXHU1NjlEXFx1NTY5OVxcdTU5NzBcXHU1QjNDXFx1NUM2OVxcdTVDNkFcXHU1REMwXFx1NUU2RFxcdTVFNkVcXHU2MUQ4XFx1NjFERlxcdTYxRURcXHU2MUVFXFx1NjFGMVxcdTYxRUFcXHU2MUYwXFx1NjFFQlxcdTYxRDZcXHU2MUU5XFx1NjRGRlxcdTY1MDRcXHU2NEZEXFx1NjRGOFxcdTY1MDFcXHU2NTAzXFx1NjRGQ1xcdTY1OTRcXHU2NURCXFx1NjZEQVxcdTY2REJcXHU2NkQ4XFx1NkFDNVxcdTZBQjlcXHU2QUJEXFx1NkFFMVxcdTZBQzZcXHU2QUJBXFx1NkFCNlxcdTZBQjdcXHU2QUM3XFx1NkFCNFxcdTZBQURcXHU2QjVFXFx1NkJDOVxcdTZDMEJcXHU3MDA3XFx1NzAwQ1xcdTcwMERcXHU3MDAxXFx1NzAwNVxcdTcwMTRcXHU3MDBFXFx1NkZGRlxcdTcwMDBcXHU2RkZCXFx1NzAyNlxcdTZGRkNcXHU2RkY3XFx1NzAwQVxcdTcyMDFcXHU3MUZGXFx1NzFGOVxcdTcyMDNcXHU3MUZEXFx1NzM3NlwiXSxcbiAgICAgIFtcImYwNDBcIiwgXCJcXHU3NEI4XFx1NzRDMFxcdTc0QjVcXHU3NEMxXFx1NzRCRVxcdTc0QjZcXHU3NEJCXFx1NzRDMlxcdTc1MTRcXHU3NTEzXFx1NzY1Q1xcdTc2NjRcXHU3NjU5XFx1NzY1MFxcdTc2NTNcXHU3NjU3XFx1NzY1QVxcdTc2QTZcXHU3NkJEXFx1NzZFQ1xcdTc3QzJcXHU3N0JBXFx1NzhGRlxcdTc5MENcXHU3OTEzXFx1NzkxNFxcdTc5MDlcXHU3OTEwXFx1NzkxMlxcdTc5MTFcXHU3OUFEXFx1NzlBQ1xcdTdBNUZcXHU3QzFDXFx1N0MyOVxcdTdDMTlcXHU3QzIwXFx1N0MxRlxcdTdDMkRcXHU3QzFEXFx1N0MyNlxcdTdDMjhcXHU3QzIyXFx1N0MyNVxcdTdDMzBcXHU3RTVDXFx1N0U1MFxcdTdFNTZcXHU3RTYzXFx1N0U1OFxcdTdFNjJcXHU3RTVGXFx1N0U1MVxcdTdFNjBcXHU3RTU3XFx1N0U1M1xcdTdGQjVcXHU3RkIzXFx1N0ZGN1xcdTdGRjhcXHU4MDc1XFx1ODFEMVxcdTgxRDJcIl0sXG4gICAgICBbXCJmMGExXCIsIFwiXFx1ODFEMFxcdTgyNUZcXHU4MjVFXFx1ODVCNFxcdTg1QzZcXHU4NUMwXFx1ODVDM1xcdTg1QzJcXHU4NUIzXFx1ODVCNVxcdTg1QkRcXHU4NUM3XFx1ODVDNFxcdTg1QkZcXHU4NUNCXFx1ODVDRVxcdTg1QzhcXHU4NUM1XFx1ODVCMVxcdTg1QjZcXHU4NUQyXFx1ODYyNFxcdTg1QjhcXHU4NUI3XFx1ODVCRVxcdTg2NjlcXHU4N0U3XFx1ODdFNlxcdTg3RTJcXHU4N0RCXFx1ODdFQlxcdTg3RUFcXHU4N0U1XFx1ODdERlxcdTg3RjNcXHU4N0U0XFx1ODdENFxcdTg3RENcXHU4N0QzXFx1ODdFRFxcdTg3RDhcXHU4N0UzXFx1ODdBNFxcdTg3RDdcXHU4N0Q5XFx1ODgwMVxcdTg3RjRcXHU4N0U4XFx1ODdERFxcdTg5NTNcXHU4OTRCXFx1ODk0RlxcdTg5NENcXHU4OTQ2XFx1ODk1MFxcdTg5NTFcXHU4OTQ5XFx1OEIyQVxcdThCMjdcXHU4QjIzXFx1OEIzM1xcdThCMzBcXHU4QjM1XFx1OEI0N1xcdThCMkZcXHU4QjNDXFx1OEIzRVxcdThCMzFcXHU4QjI1XFx1OEIzN1xcdThCMjZcXHU4QjM2XFx1OEIyRVxcdThCMjRcXHU4QjNCXFx1OEIzRFxcdThCM0FcXHU4QzQyXFx1OEM3NVxcdThDOTlcXHU4Qzk4XFx1OEM5N1xcdThDRkVcXHU4RDA0XFx1OEQwMlxcdThEMDBcXHU4RTVDXFx1OEU2MlxcdThFNjBcXHU4RTU3XFx1OEU1NlxcdThFNUVcXHU4RTY1XFx1OEU2N1wiXSxcbiAgICAgIFtcImYxNDBcIiwgXCJcXHU4RTVCXFx1OEU1QVxcdThFNjFcXHU4RTVEXFx1OEU2OVxcdThFNTRcXHU4RjQ2XFx1OEY0N1xcdThGNDhcXHU4RjRCXFx1OTEyOFxcdTkxM0FcXHU5MTNCXFx1OTEzRVxcdTkxQThcXHU5MUE1XFx1OTFBN1xcdTkxQUZcXHU5MUFBXFx1OTNCNVxcdTkzOENcXHU5MzkyXFx1OTNCN1xcdTkzOUJcXHU5MzlEXFx1OTM4OVxcdTkzQTdcXHU5MzhFXFx1OTNBQVxcdTkzOUVcXHU5M0E2XFx1OTM5NVxcdTkzODhcXHU5Mzk5XFx1OTM5RlxcdTkzOERcXHU5M0IxXFx1OTM5MVxcdTkzQjJcXHU5M0E0XFx1OTNBOFxcdTkzQjRcXHU5M0EzXFx1OTNBNVxcdTk1RDJcXHU5NUQzXFx1OTVEMVxcdTk2QjNcXHU5NkQ3XFx1OTZEQVxcdTVEQzJcXHU5NkRGXFx1OTZEOFxcdTk2RERcXHU5NzIzXFx1OTcyMlxcdTk3MjVcXHU5N0FDXFx1OTdBRVxcdTk3QThcXHU5N0FCXFx1OTdBNFxcdTk3QUFcIl0sXG4gICAgICBbXCJmMWExXCIsIFwiXFx1OTdBMlxcdTk3QTVcXHU5N0Q3XFx1OTdEOVxcdTk3RDZcXHU5N0Q4XFx1OTdGQVxcdTk4NTBcXHU5ODUxXFx1OTg1MlxcdTk4QjhcXHU5OTQxXFx1OTkzQ1xcdTk5M0FcXHU5QTBGXFx1OUEwQlxcdTlBMDlcXHU5QTBEXFx1OUEwNFxcdTlBMTFcXHU5QTBBXFx1OUEwNVxcdTlBMDdcXHU5QTA2XFx1OUFDMFxcdTlBRENcXHU5QjA4XFx1OUIwNFxcdTlCMDVcXHU5QjI5XFx1OUIzNVxcdTlCNEFcXHU5QjRDXFx1OUI0QlxcdTlCQzdcXHU5QkM2XFx1OUJDM1xcdTlCQkZcXHU5QkMxXFx1OUJCNVxcdTlCQjhcXHU5QkQzXFx1OUJCNlxcdTlCQzRcXHU5QkI5XFx1OUJCRFxcdTlENUNcXHU5RDUzXFx1OUQ0RlxcdTlENEFcXHU5RDVCXFx1OUQ0QlxcdTlENTlcXHU5RDU2XFx1OUQ0Q1xcdTlENTdcXHU5RDUyXFx1OUQ1NFxcdTlENUZcXHU5RDU4XFx1OUQ1QVxcdTlFOEVcXHU5RThDXFx1OUVERlxcdTlGMDFcXHU5RjAwXFx1OUYxNlxcdTlGMjVcXHU5RjJCXFx1OUYyQVxcdTlGMjlcXHU5RjI4XFx1OUY0Q1xcdTlGNTVcXHU1MTM0XFx1NTEzNVxcdTUyOTZcXHU1MkY3XFx1NTNCNFxcdTU2QUJcXHU1NkFEXFx1NTZBNlxcdTU2QTdcXHU1NkFBXFx1NTZBQ1xcdTU4REFcXHU1OEREXFx1NThEQlxcdTU5MTJcXHU1QjNEXFx1NUIzRVxcdTVCM0ZcXHU1REMzXFx1NUU3MFwiXSxcbiAgICAgIFtcImYyNDBcIiwgXCJcXHU1RkJGXFx1NjFGQlxcdTY1MDdcXHU2NTEwXFx1NjUwRFxcdTY1MDlcXHU2NTBDXFx1NjUwRVxcdTY1ODRcXHU2NURFXFx1NjVERFxcdTY2REVcXHU2QUU3XFx1NkFFMFxcdTZBQ0NcXHU2QUQxXFx1NkFEOVxcdTZBQ0JcXHU2QURGXFx1NkFEQ1xcdTZBRDBcXHU2QUVCXFx1NkFDRlxcdTZBQ0RcXHU2QURFXFx1NkI2MFxcdTZCQjBcXHU2QzBDXFx1NzAxOVxcdTcwMjdcXHU3MDIwXFx1NzAxNlxcdTcwMkJcXHU3MDIxXFx1NzAyMlxcdTcwMjNcXHU3MDI5XFx1NzAxN1xcdTcwMjRcXHU3MDFDXFx1NzAyQVxcdTcyMENcXHU3MjBBXFx1NzIwN1xcdTcyMDJcXHU3MjA1XFx1NzJBNVxcdTcyQTZcXHU3MkE0XFx1NzJBM1xcdTcyQTFcXHU3NENCXFx1NzRDNVxcdTc0QjdcXHU3NEMzXFx1NzUxNlxcdTc2NjBcXHU3N0M5XFx1NzdDQVxcdTc3QzRcXHU3N0YxXFx1NzkxRFxcdTc5MUJcIl0sXG4gICAgICBbXCJmMmExXCIsIFwiXFx1NzkyMVxcdTc5MUNcXHU3OTE3XFx1NzkxRVxcdTc5QjBcXHU3QTY3XFx1N0E2OFxcdTdDMzNcXHU3QzNDXFx1N0MzOVxcdTdDMkNcXHU3QzNCXFx1N0NFQ1xcdTdDRUFcXHU3RTc2XFx1N0U3NVxcdTdFNzhcXHU3RTcwXFx1N0U3N1xcdTdFNkZcXHU3RTdBXFx1N0U3MlxcdTdFNzRcXHU3RTY4XFx1N0Y0QlxcdTdGNEFcXHU3RjgzXFx1N0Y4NlxcdTdGQjdcXHU3RkZEXFx1N0ZGRVxcdTgwNzhcXHU4MUQ3XFx1ODFENVxcdTgyNjRcXHU4MjYxXFx1ODI2M1xcdTg1RUJcXHU4NUYxXFx1ODVFRFxcdTg1RDlcXHU4NUUxXFx1ODVFOFxcdTg1REFcXHU4NUQ3XFx1ODVFQ1xcdTg1RjJcXHU4NUY4XFx1ODVEOFxcdTg1REZcXHU4NUUzXFx1ODVEQ1xcdTg1RDFcXHU4NUYwXFx1ODVFNlxcdTg1RUZcXHU4NURFXFx1ODVFMlxcdTg4MDBcXHU4N0ZBXFx1ODgwM1xcdTg3RjZcXHU4N0Y3XFx1ODgwOVxcdTg4MENcXHU4ODBCXFx1ODgwNlxcdTg3RkNcXHU4ODA4XFx1ODdGRlxcdTg4MEFcXHU4ODAyXFx1ODk2MlxcdTg5NUFcXHU4OTVCXFx1ODk1N1xcdTg5NjFcXHU4OTVDXFx1ODk1OFxcdTg5NURcXHU4OTU5XFx1ODk4OFxcdTg5QjdcXHU4OUI2XFx1ODlGNlxcdThCNTBcXHU4QjQ4XFx1OEI0QVxcdThCNDBcXHU4QjUzXFx1OEI1NlxcdThCNTRcXHU4QjRCXFx1OEI1NVwiXSxcbiAgICAgIFtcImYzNDBcIiwgXCJcXHU4QjUxXFx1OEI0MlxcdThCNTJcXHU4QjU3XFx1OEM0M1xcdThDNzdcXHU4Qzc2XFx1OEM5QVxcdThEMDZcXHU4RDA3XFx1OEQwOVxcdThEQUNcXHU4REFBXFx1OERBRFxcdThEQUJcXHU4RTZEXFx1OEU3OFxcdThFNzNcXHU4RTZBXFx1OEU2RlxcdThFN0JcXHU4RUMyXFx1OEY1MlxcdThGNTFcXHU4RjRGXFx1OEY1MFxcdThGNTNcXHU4RkI0XFx1OTE0MFxcdTkxM0ZcXHU5MUIwXFx1OTFBRFxcdTkzREVcXHU5M0M3XFx1OTNDRlxcdTkzQzJcXHU5M0RBXFx1OTNEMFxcdTkzRjlcXHU5M0VDXFx1OTNDQ1xcdTkzRDlcXHU5M0E5XFx1OTNFNlxcdTkzQ0FcXHU5M0Q0XFx1OTNFRVxcdTkzRTNcXHU5M0Q1XFx1OTNDNFxcdTkzQ0VcXHU5M0MwXFx1OTNEMlxcdTkzRTdcXHU5NTdEXFx1OTVEQVxcdTk1REJcXHU5NkUxXFx1OTcyOVxcdTk3MkJcXHU5NzJDXFx1OTcyOFxcdTk3MjZcIl0sXG4gICAgICBbXCJmM2ExXCIsIFwiXFx1OTdCM1xcdTk3QjdcXHU5N0I2XFx1OTdERFxcdTk3REVcXHU5N0RGXFx1OTg1Q1xcdTk4NTlcXHU5ODVEXFx1OTg1N1xcdTk4QkZcXHU5OEJEXFx1OThCQlxcdTk4QkVcXHU5OTQ4XFx1OTk0N1xcdTk5NDNcXHU5OUE2XFx1OTlBN1xcdTlBMUFcXHU5QTE1XFx1OUEyNVxcdTlBMURcXHU5QTI0XFx1OUExQlxcdTlBMjJcXHU5QTIwXFx1OUEyN1xcdTlBMjNcXHU5QTFFXFx1OUExQ1xcdTlBMTRcXHU5QUMyXFx1OUIwQlxcdTlCMEFcXHU5QjBFXFx1OUIwQ1xcdTlCMzdcXHU5QkVBXFx1OUJFQlxcdTlCRTBcXHU5QkRFXFx1OUJFNFxcdTlCRTZcXHU5QkUyXFx1OUJGMFxcdTlCRDRcXHU5QkQ3XFx1OUJFQ1xcdTlCRENcXHU5QkQ5XFx1OUJFNVxcdTlCRDVcXHU5QkUxXFx1OUJEQVxcdTlENzdcXHU5RDgxXFx1OUQ4QVxcdTlEODRcXHU5RDg4XFx1OUQ3MVxcdTlEODBcXHU5RDc4XFx1OUQ4NlxcdTlEOEJcXHU5RDhDXFx1OUQ3RFxcdTlENkJcXHU5RDc0XFx1OUQ3NVxcdTlENzBcXHU5RDY5XFx1OUQ4NVxcdTlENzNcXHU5RDdCXFx1OUQ4MlxcdTlENkZcXHU5RDc5XFx1OUQ3RlxcdTlEODdcXHU5RDY4XFx1OUU5NFxcdTlFOTFcXHU5RUMwXFx1OUVGQ1xcdTlGMkRcXHU5RjQwXFx1OUY0MVxcdTlGNERcXHU5RjU2XFx1OUY1N1xcdTlGNThcXHU1MzM3XFx1NTZCMlwiXSxcbiAgICAgIFtcImY0NDBcIiwgXCJcXHU1NkI1XFx1NTZCM1xcdTU4RTNcXHU1QjQ1XFx1NURDNlxcdTVEQzdcXHU1RUVFXFx1NUVFRlxcdTVGQzBcXHU1RkMxXFx1NjFGOVxcdTY1MTdcXHU2NTE2XFx1NjUxNVxcdTY1MTNcXHU2NURGXFx1NjZFOFxcdTY2RTNcXHU2NkU0XFx1NkFGM1xcdTZBRjBcXHU2QUVBXFx1NkFFOFxcdTZBRjlcXHU2QUYxXFx1NkFFRVxcdTZBRUZcXHU3MDNDXFx1NzAzNVxcdTcwMkZcXHU3MDM3XFx1NzAzNFxcdTcwMzFcXHU3MDQyXFx1NzAzOFxcdTcwM0ZcXHU3MDNBXFx1NzAzOVxcdTcwNDBcXHU3MDNCXFx1NzAzM1xcdTcwNDFcXHU3MjEzXFx1NzIxNFxcdTcyQThcXHU3MzdEXFx1NzM3Q1xcdTc0QkFcXHU3NkFCXFx1NzZBQVxcdTc2QkVcXHU3NkVEXFx1NzdDQ1xcdTc3Q0VcXHU3N0NGXFx1NzdDRFxcdTc3RjJcXHU3OTI1XFx1NzkyM1xcdTc5MjdcXHU3OTI4XFx1NzkyNFxcdTc5MjlcIl0sXG4gICAgICBbXCJmNGExXCIsIFwiXFx1NzlCMlxcdTdBNkVcXHU3QTZDXFx1N0E2RFxcdTdBRjdcXHU3QzQ5XFx1N0M0OFxcdTdDNEFcXHU3QzQ3XFx1N0M0NVxcdTdDRUVcXHU3RTdCXFx1N0U3RVxcdTdFODFcXHU3RTgwXFx1N0ZCQVxcdTdGRkZcXHU4MDc5XFx1ODFEQlxcdTgxRDlcXHU4MjBCXFx1ODI2OFxcdTgyNjlcXHU4NjIyXFx1ODVGRlxcdTg2MDFcXHU4NUZFXFx1ODYxQlxcdTg2MDBcXHU4NUY2XFx1ODYwNFxcdTg2MDlcXHU4NjA1XFx1ODYwQ1xcdTg1RkRcXHU4ODE5XFx1ODgxMFxcdTg4MTFcXHU4ODE3XFx1ODgxM1xcdTg4MTZcXHU4OTYzXFx1ODk2NlxcdTg5QjlcXHU4OUY3XFx1OEI2MFxcdThCNkFcXHU4QjVEXFx1OEI2OFxcdThCNjNcXHU4QjY1XFx1OEI2N1xcdThCNkRcXHU4REFFXFx1OEU4NlxcdThFODhcXHU4RTg0XFx1OEY1OVxcdThGNTZcXHU4RjU3XFx1OEY1NVxcdThGNThcXHU4RjVBXFx1OTA4RFxcdTkxNDNcXHU5MTQxXFx1OTFCN1xcdTkxQjVcXHU5MUIyXFx1OTFCM1xcdTk0MEJcXHU5NDEzXFx1OTNGQlxcdTk0MjBcXHU5NDBGXFx1OTQxNFxcdTkzRkVcXHU5NDE1XFx1OTQxMFxcdTk0MjhcXHU5NDE5XFx1OTQwRFxcdTkzRjVcXHU5NDAwXFx1OTNGN1xcdTk0MDdcXHU5NDBFXFx1OTQxNlxcdTk0MTJcXHU5M0ZBXFx1OTQwOVxcdTkzRjhcXHU5NDBBXFx1OTNGRlwiXSxcbiAgICAgIFtcImY1NDBcIiwgXCJcXHU5M0ZDXFx1OTQwQ1xcdTkzRjZcXHU5NDExXFx1OTQwNlxcdTk1REVcXHU5NUUwXFx1OTVERlxcdTk3MkVcXHU5NzJGXFx1OTdCOVxcdTk3QkJcXHU5N0ZEXFx1OTdGRVxcdTk4NjBcXHU5ODYyXFx1OTg2M1xcdTk4NUZcXHU5OEMxXFx1OThDMlxcdTk5NTBcXHU5OTRFXFx1OTk1OVxcdTk5NENcXHU5OTRCXFx1OTk1M1xcdTlBMzJcXHU5QTM0XFx1OUEzMVxcdTlBMkNcXHU5QTJBXFx1OUEzNlxcdTlBMjlcXHU5QTJFXFx1OUEzOFxcdTlBMkRcXHU5QUM3XFx1OUFDQVxcdTlBQzZcXHU5QjEwXFx1OUIxMlxcdTlCMTFcXHU5QzBCXFx1OUMwOFxcdTlCRjdcXHU5QzA1XFx1OUMxMlxcdTlCRjhcXHU5QzQwXFx1OUMwN1xcdTlDMEVcXHU5QzA2XFx1OUMxN1xcdTlDMTRcXHU5QzA5XFx1OUQ5RlxcdTlEOTlcXHU5REE0XFx1OUQ5RFxcdTlEOTJcXHU5RDk4XFx1OUQ5MFxcdTlEOUJcIl0sXG4gICAgICBbXCJmNWExXCIsIFwiXFx1OURBMFxcdTlEOTRcXHU5RDlDXFx1OURBQVxcdTlEOTdcXHU5REExXFx1OUQ5QVxcdTlEQTJcXHU5REE4XFx1OUQ5RVxcdTlEQTNcXHU5REJGXFx1OURBOVxcdTlEOTZcXHU5REE2XFx1OURBN1xcdTlFOTlcXHU5RTlCXFx1OUU5QVxcdTlFRTVcXHU5RUU0XFx1OUVFN1xcdTlFRTZcXHU5RjMwXFx1OUYyRVxcdTlGNUJcXHU5RjYwXFx1OUY1RVxcdTlGNURcXHU5RjU5XFx1OUY5MVxcdTUxM0FcXHU1MTM5XFx1NTI5OFxcdTUyOTdcXHU1NkMzXFx1NTZCRFxcdTU2QkVcXHU1QjQ4XFx1NUI0N1xcdTVEQ0JcXHU1RENGXFx1NUVGMVxcdTYxRkRcXHU2NTFCXFx1NkIwMlxcdTZBRkNcXHU2QjAzXFx1NkFGOFxcdTZCMDBcXHU3MDQzXFx1NzA0NFxcdTcwNEFcXHU3MDQ4XFx1NzA0OVxcdTcwNDVcXHU3MDQ2XFx1NzIxRFxcdTcyMUFcXHU3MjE5XFx1NzM3RVxcdTc1MTdcXHU3NjZBXFx1NzdEMFxcdTc5MkRcXHU3OTMxXFx1NzkyRlxcdTdDNTRcXHU3QzUzXFx1N0NGMlxcdTdFOEFcXHU3RTg3XFx1N0U4OFxcdTdFOEJcXHU3RTg2XFx1N0U4RFxcdTdGNERcXHU3RkJCXFx1ODAzMFxcdTgxRERcXHU4NjE4XFx1ODYyQVxcdTg2MjZcXHU4NjFGXFx1ODYyM1xcdTg2MUNcXHU4NjE5XFx1ODYyN1xcdTg2MkVcXHU4NjIxXFx1ODYyMFxcdTg2MjlcXHU4NjFFXFx1ODYyNVwiXSxcbiAgICAgIFtcImY2NDBcIiwgXCJcXHU4ODI5XFx1ODgxRFxcdTg4MUJcXHU4ODIwXFx1ODgyNFxcdTg4MUNcXHU4ODJCXFx1ODg0QVxcdTg5NkRcXHU4OTY5XFx1ODk2RVxcdTg5NkJcXHU4OUZBXFx1OEI3OVxcdThCNzhcXHU4QjQ1XFx1OEI3QVxcdThCN0JcXHU4RDEwXFx1OEQxNFxcdThEQUZcXHU4RThFXFx1OEU4Q1xcdThGNUVcXHU4RjVCXFx1OEY1RFxcdTkxNDZcXHU5MTQ0XFx1OTE0NVxcdTkxQjlcXHU5NDNGXFx1OTQzQlxcdTk0MzZcXHU5NDI5XFx1OTQzRFxcdTk0M0NcXHU5NDMwXFx1OTQzOVxcdTk0MkFcXHU5NDM3XFx1OTQyQ1xcdTk0NDBcXHU5NDMxXFx1OTVFNVxcdTk1RTRcXHU5NUUzXFx1OTczNVxcdTk3M0FcXHU5N0JGXFx1OTdFMVxcdTk4NjRcXHU5OEM5XFx1OThDNlxcdTk4QzBcXHU5OTU4XFx1OTk1NlxcdTlBMzlcXHU5QTNEXFx1OUE0NlxcdTlBNDRcXHU5QTQyXFx1OUE0MVxcdTlBM0FcIl0sXG4gICAgICBbXCJmNmExXCIsIFwiXFx1OUEzRlxcdTlBQ0RcXHU5QjE1XFx1OUIxN1xcdTlCMThcXHU5QjE2XFx1OUIzQVxcdTlCNTJcXHU5QzJCXFx1OUMxRFxcdTlDMUNcXHU5QzJDXFx1OUMyM1xcdTlDMjhcXHU5QzI5XFx1OUMyNFxcdTlDMjFcXHU5REI3XFx1OURCNlxcdTlEQkNcXHU5REMxXFx1OURDN1xcdTlEQ0FcXHU5RENGXFx1OURCRVxcdTlEQzVcXHU5REMzXFx1OURCQlxcdTlEQjVcXHU5RENFXFx1OURCOVxcdTlEQkFcXHU5REFDXFx1OURDOFxcdTlEQjFcXHU5REFEXFx1OURDQ1xcdTlEQjNcXHU5RENEXFx1OURCMlxcdTlFN0FcXHU5RTlDXFx1OUVFQlxcdTlFRUVcXHU5RUVEXFx1OUYxQlxcdTlGMThcXHU5RjFBXFx1OUYzMVxcdTlGNEVcXHU5RjY1XFx1OUY2NFxcdTlGOTJcXHU0RUI5XFx1NTZDNlxcdTU2QzVcXHU1NkNCXFx1NTk3MVxcdTVCNEJcXHU1QjRDXFx1NURENVxcdTVERDFcXHU1RUYyXFx1NjUyMVxcdTY1MjBcXHU2NTI2XFx1NjUyMlxcdTZCMEJcXHU2QjA4XFx1NkIwOVxcdTZDMERcXHU3MDU1XFx1NzA1NlxcdTcwNTdcXHU3MDUyXFx1NzIxRVxcdTcyMUZcXHU3MkE5XFx1NzM3RlxcdTc0RDhcXHU3NEQ1XFx1NzREOVxcdTc0RDdcXHU3NjZEXFx1NzZBRFxcdTc5MzVcXHU3OUI0XFx1N0E3MFxcdTdBNzFcXHU3QzU3XFx1N0M1Q1xcdTdDNTlcXHU3QzVCXFx1N0M1QVwiXSxcbiAgICAgIFtcImY3NDBcIiwgXCJcXHU3Q0Y0XFx1N0NGMVxcdTdFOTFcXHU3RjRGXFx1N0Y4N1xcdTgxREVcXHU4MjZCXFx1ODYzNFxcdTg2MzVcXHU4NjMzXFx1ODYyQ1xcdTg2MzJcXHU4NjM2XFx1ODgyQ1xcdTg4MjhcXHU4ODI2XFx1ODgyQVxcdTg4MjVcXHU4OTcxXFx1ODlCRlxcdTg5QkVcXHU4OUZCXFx1OEI3RVxcdThCODRcXHU4QjgyXFx1OEI4NlxcdThCODVcXHU4QjdGXFx1OEQxNVxcdThFOTVcXHU4RTk0XFx1OEU5QVxcdThFOTJcXHU4RTkwXFx1OEU5NlxcdThFOTdcXHU4RjYwXFx1OEY2MlxcdTkxNDdcXHU5NDRDXFx1OTQ1MFxcdTk0NEFcXHU5NDRCXFx1OTQ0RlxcdTk0NDdcXHU5NDQ1XFx1OTQ0OFxcdTk0NDlcXHU5NDQ2XFx1OTczRlxcdTk3RTNcXHU5ODZBXFx1OTg2OVxcdTk4Q0JcXHU5OTU0XFx1OTk1QlxcdTlBNEVcXHU5QTUzXFx1OUE1NFxcdTlBNENcXHU5QTRGXFx1OUE0OFxcdTlBNEFcIl0sXG4gICAgICBbXCJmN2ExXCIsIFwiXFx1OUE0OVxcdTlBNTJcXHU5QTUwXFx1OUFEMFxcdTlCMTlcXHU5QjJCXFx1OUIzQlxcdTlCNTZcXHU5QjU1XFx1OUM0NlxcdTlDNDhcXHU5QzNGXFx1OUM0NFxcdTlDMzlcXHU5QzMzXFx1OUM0MVxcdTlDM0NcXHU5QzM3XFx1OUMzNFxcdTlDMzJcXHU5QzNEXFx1OUMzNlxcdTlEREJcXHU5REQyXFx1OURERVxcdTlEREFcXHU5RENCXFx1OUREMFxcdTlERENcXHU5REQxXFx1OURERlxcdTlERTlcXHU5REQ5XFx1OUREOFxcdTlERDZcXHU5REY1XFx1OURENVxcdTlERERcXHU5RUI2XFx1OUVGMFxcdTlGMzVcXHU5RjMzXFx1OUYzMlxcdTlGNDJcXHU5RjZCXFx1OUY5NVxcdTlGQTJcXHU1MTNEXFx1NTI5OVxcdTU4RThcXHU1OEU3XFx1NTk3MlxcdTVCNERcXHU1REQ4XFx1ODgyRlxcdTVGNEZcXHU2MjAxXFx1NjIwM1xcdTYyMDRcXHU2NTI5XFx1NjUyNVxcdTY1OTZcXHU2NkVCXFx1NkIxMVxcdTZCMTJcXHU2QjBGXFx1NkJDQVxcdTcwNUJcXHU3MDVBXFx1NzIyMlxcdTczODJcXHU3MzgxXFx1NzM4M1xcdTc2NzBcXHU3N0Q0XFx1N0M2N1xcdTdDNjZcXHU3RTk1XFx1ODI2Q1xcdTg2M0FcXHU4NjQwXFx1ODYzOVxcdTg2M0NcXHU4NjMxXFx1ODYzQlxcdTg2M0VcXHU4ODMwXFx1ODgzMlxcdTg4MkVcXHU4ODMzXFx1ODk3NlxcdTg5NzRcXHU4OTczXFx1ODlGRVwiXSxcbiAgICAgIFtcImY4NDBcIiwgXCJcXHU4QjhDXFx1OEI4RVxcdThCOEJcXHU4Qjg4XFx1OEM0NVxcdThEMTlcXHU4RTk4XFx1OEY2NFxcdThGNjNcXHU5MUJDXFx1OTQ2MlxcdTk0NTVcXHU5NDVEXFx1OTQ1N1xcdTk0NUVcXHU5N0M0XFx1OTdDNVxcdTk4MDBcXHU5QTU2XFx1OUE1OVxcdTlCMUVcXHU5QjFGXFx1OUIyMFxcdTlDNTJcXHU5QzU4XFx1OUM1MFxcdTlDNEFcXHU5QzREXFx1OUM0QlxcdTlDNTVcXHU5QzU5XFx1OUM0Q1xcdTlDNEVcXHU5REZCXFx1OURGN1xcdTlERUZcXHU5REUzXFx1OURFQlxcdTlERjhcXHU5REU0XFx1OURGNlxcdTlERTFcXHU5REVFXFx1OURFNlxcdTlERjJcXHU5REYwXFx1OURFMlxcdTlERUNcXHU5REY0XFx1OURGM1xcdTlERThcXHU5REVEXFx1OUVDMlxcdTlFRDBcXHU5RUYyXFx1OUVGM1xcdTlGMDZcXHU5RjFDXFx1OUYzOFxcdTlGMzdcXHU5RjM2XFx1OUY0M1xcdTlGNEZcIl0sXG4gICAgICBbXCJmOGExXCIsIFwiXFx1OUY3MVxcdTlGNzBcXHU5RjZFXFx1OUY2RlxcdTU2RDNcXHU1NkNEXFx1NUI0RVxcdTVDNkRcXHU2NTJEXFx1NjZFRFxcdTY2RUVcXHU2QjEzXFx1NzA1RlxcdTcwNjFcXHU3MDVEXFx1NzA2MFxcdTcyMjNcXHU3NERCXFx1NzRFNVxcdTc3RDVcXHU3OTM4XFx1NzlCN1xcdTc5QjZcXHU3QzZBXFx1N0U5N1xcdTdGODlcXHU4MjZEXFx1ODY0M1xcdTg4MzhcXHU4ODM3XFx1ODgzNVxcdTg4NEJcXHU4Qjk0XFx1OEI5NVxcdThFOUVcXHU4RTlGXFx1OEVBMFxcdThFOURcXHU5MUJFXFx1OTFCRFxcdTkxQzJcXHU5NDZCXFx1OTQ2OFxcdTk0NjlcXHU5NkU1XFx1OTc0NlxcdTk3NDNcXHU5NzQ3XFx1OTdDN1xcdTk3RTVcXHU5QTVFXFx1OUFENVxcdTlCNTlcXHU5QzYzXFx1OUM2N1xcdTlDNjZcXHU5QzYyXFx1OUM1RVxcdTlDNjBcXHU5RTAyXFx1OURGRVxcdTlFMDdcXHU5RTAzXFx1OUUwNlxcdTlFMDVcXHU5RTAwXFx1OUUwMVxcdTlFMDlcXHU5REZGXFx1OURGRFxcdTlFMDRcXHU5RUEwXFx1OUYxRVxcdTlGNDZcXHU5Rjc0XFx1OUY3NVxcdTlGNzZcXHU1NkQ0XFx1NjUyRVxcdTY1QjhcXHU2QjE4XFx1NkIxOVxcdTZCMTdcXHU2QjFBXFx1NzA2MlxcdTcyMjZcXHU3MkFBXFx1NzdEOFxcdTc3RDlcXHU3OTM5XFx1N0M2OVxcdTdDNkJcXHU3Q0Y2XFx1N0U5QVwiXSxcbiAgICAgIFtcImY5NDBcIiwgXCJcXHU3RTk4XFx1N0U5QlxcdTdFOTlcXHU4MUUwXFx1ODFFMVxcdTg2NDZcXHU4NjQ3XFx1ODY0OFxcdTg5NzlcXHU4OTdBXFx1ODk3Q1xcdTg5N0JcXHU4OUZGXFx1OEI5OFxcdThCOTlcXHU4RUE1XFx1OEVBNFxcdThFQTNcXHU5NDZFXFx1OTQ2RFxcdTk0NkZcXHU5NDcxXFx1OTQ3M1xcdTk3NDlcXHU5ODcyXFx1OTk1RlxcdTlDNjhcXHU5QzZFXFx1OUM2RFxcdTlFMEJcXHU5RTBEXFx1OUUxMFxcdTlFMEZcXHU5RTEyXFx1OUUxMVxcdTlFQTFcXHU5RUY1XFx1OUYwOVxcdTlGNDdcXHU5Rjc4XFx1OUY3QlxcdTlGN0FcXHU5Rjc5XFx1NTcxRVxcdTcwNjZcXHU3QzZGXFx1ODgzQ1xcdThEQjJcXHU4RUE2XFx1OTFDM1xcdTk0NzRcXHU5NDc4XFx1OTQ3NlxcdTk0NzVcXHU5QTYwXFx1OUM3NFxcdTlDNzNcXHU5QzcxXFx1OUM3NVxcdTlFMTRcXHU5RTEzXFx1OUVGNlxcdTlGMEFcIl0sXG4gICAgICBbXCJmOWExXCIsIFwiXFx1OUZBNFxcdTcwNjhcXHU3MDY1XFx1N0NGN1xcdTg2NkFcXHU4ODNFXFx1ODgzRFxcdTg4M0ZcXHU4QjlFXFx1OEM5Q1xcdThFQTlcXHU4RUM5XFx1OTc0QlxcdTk4NzNcXHU5ODc0XFx1OThDQ1xcdTk5NjFcXHU5OUFCXFx1OUE2NFxcdTlBNjZcXHU5QTY3XFx1OUIyNFxcdTlFMTVcXHU5RTE3XFx1OUY0OFxcdTYyMDdcXHU2QjFFXFx1NzIyN1xcdTg2NENcXHU4RUE4XFx1OTQ4MlxcdTk0ODBcXHU5NDgxXFx1OUE2OVxcdTlBNjhcXHU5QjJFXFx1OUUxOVxcdTcyMjlcXHU4NjRCXFx1OEI5RlxcdTk0ODNcXHU5Qzc5XFx1OUVCN1xcdTc2NzVcXHU5QTZCXFx1OUM3QVxcdTlFMURcXHU3MDY5XFx1NzA2QVxcdTlFQTRcXHU5RjdFXFx1OUY0OVxcdTlGOThcXHU3ODgxXFx1OTJCOVxcdTg4Q0ZcXHU1OEJCXFx1NjA1MlxcdTdDQTdcXHU1QUZBXFx1MjU1NFxcdTI1NjZcXHUyNTU3XFx1MjU2MFxcdTI1NkNcXHUyNTYzXFx1MjU1QVxcdTI1NjlcXHUyNTVEXFx1MjU1MlxcdTI1NjRcXHUyNTU1XFx1MjU1RVxcdTI1NkFcXHUyNTYxXFx1MjU1OFxcdTI1NjdcXHUyNTVCXFx1MjU1M1xcdTI1NjVcXHUyNTU2XFx1MjU1RlxcdTI1NkJcXHUyNTYyXFx1MjU1OVxcdTI1NjhcXHUyNTVDXFx1MjU1MVxcdTI1NTBcXHUyNTZEXFx1MjU2RVxcdTI1NzBcXHUyNTZGXFx1MjU5M1wiXVxuICAgIF07XG4gIH1cbn0pO1xuXG4vLyBub2RlX21vZHVsZXMvYm9keS1wYXJzZXIvbm9kZV9tb2R1bGVzL2ljb252LWxpdGUvZW5jb2RpbmdzL3RhYmxlcy9iaWc1LWFkZGVkLmpzb25cbnZhciByZXF1aXJlX2JpZzVfYWRkZWQyID0gX19jb21tb25KUyh7XG4gIFwibm9kZV9tb2R1bGVzL2JvZHktcGFyc2VyL25vZGVfbW9kdWxlcy9pY29udi1saXRlL2VuY29kaW5ncy90YWJsZXMvYmlnNS1hZGRlZC5qc29uXCIoZXhwb3J0czIsIG1vZHVsZTIpIHtcbiAgICBtb2R1bGUyLmV4cG9ydHMgPSBbXG4gICAgICBbXCI4NzQwXCIsIFwiXFx1NDNGMFxcdTRDMzJcXHU0NjAzXFx1NDVBNlxcdTQ1NzhcXHV7MjcyNjd9XFx1NEQ3N1xcdTQ1QjNcXHV7MjdDQjF9XFx1NENFMlxcdXsyN0NDNX1cXHUzQjk1XFx1NDczNlxcdTQ3NDRcXHU0QzQ3XFx1NEM0MFxcdXsyNDJCRn1cXHV7MjM2MTd9XFx1ezI3MzUyfVxcdXsyNkU4Qn1cXHV7MjcwRDJ9XFx1NEM1N1xcdXsyQTM1MX1cXHU0NzRGXFx1NDVEQVxcdTRDODVcXHV7MjdDNkN9XFx1NEQwN1xcdTRBQTRcXHU0NkExXFx1ezI2QjIzfVxcdTcyMjVcXHV7MjVBNTR9XFx1ezIxQTYzfVxcdXsyM0UwNn1cXHV7MjNGNjF9XFx1NjY0RFxcdTU2RkJcIl0sXG4gICAgICBbXCI4NzY3XCIsIFwiXFx1N0Q5NVxcdTU5MURcXHV7MjhCQjl9XFx1M0RGNFxcdTk3MzRcXHV7MjdCRUZ9XFx1NUJEQlxcdXsyMUQ1RX1cXHU1QUE0XFx1MzYyNVxcdXsyOUVCMH1cXHU1QUQxXFx1NUJCN1xcdTVDRkNcXHU2NzZFXFx1ODU5M1xcdXsyOTk0NX1cXHU3NDYxXFx1NzQ5RFxcdTM4NzVcXHV7MjFENTN9XFx1ezIzNjlFfVxcdXsyNjAyMX1cXHUzRUVDXCJdLFxuICAgICAgW1wiODdhMVwiLCBcIlxcdXsyNThERX1cXHUzQUY1XFx1N0FGQ1xcdTlGOTdcXHV7MjQxNjF9XFx1ezI4OTBEfVxcdXsyMzFFQX1cXHV7MjBBOEF9XFx1ezIzMjVFfVxcdTQzMEFcXHU4NDg0XFx1OUY5NlxcdTk0MkZcXHU0OTMwXFx1ODYxM1xcdTU4OTZcXHU5NzRBXFx1OTIxOFxcdTc5RDBcXHU3QTMyXFx1NjY2MFxcdTZBMjlcXHU4ODlEXFx1NzQ0Q1xcdTdCQzVcXHU2NzgyXFx1N0EyQ1xcdTUyNEZcXHU5MDQ2XFx1MzRFNlxcdTczQzRcXHV7MjVEQjl9XFx1NzRDNlxcdTlGQzdcXHU1N0IzXFx1NDkyRlxcdTU0NENcXHU0MTMxXFx1ezIzNjhFfVxcdTU4MThcXHU3QTcyXFx1ezI3QjY1fVxcdThCOEZcXHU0NkFFXFx1ezI2RTg4fVxcdTQxODFcXHV7MjVEOTl9XFx1N0JBRVxcdXsyMjRCQ31cXHU5RkM4XFx1ezIyNEMxfVxcdXsyMjRDOX1cXHV7MjI0Q0N9XFx1OUZDOVxcdTg1MDRcXHV7MjM1QkJ9XFx1NDBCNFxcdTlGQ0FcXHU0NEUxXFx1ezJBREZGfVxcdTYyQzFcXHU3MDZFXFx1OUZDQlwiXSxcbiAgICAgIFtcIjg4NDBcIiwgXCJcXHUzMUMwXCIsIDQsIFwiXFx1ezIwMTBDfVxcdTMxQzVcXHV7MjAwRDF9XFx1ezIwMENEfVxcdTMxQzZcXHUzMUM3XFx1ezIwMENCfVxcdXsyMUZFOH1cXHUzMUM4XFx1ezIwMENBfVxcdTMxQzlcXHUzMUNBXFx1MzFDQlxcdTMxQ0NcXHV7MjAxMEV9XFx1MzFDRFxcdTMxQ0VcXHUwMTAwXFx4QzFcXHUwMUNEXFx4QzBcXHUwMTEyXFx4QzlcXHUwMTFBXFx4QzhcXHUwMTRDXFx4RDNcXHUwMUQxXFx4RDJcXHUwRkZGXFx4Q0FcXHUwMzA0XFx1MUVCRVxcdTBGRkZcXHhDQVxcdTAzMENcXHUxRUMwXFx4Q0FcXHUwMTAxXFx4RTFcXHUwMUNFXFx4RTBcXHUwMjUxXFx1MDExM1xceEU5XFx1MDExQlxceEU4XFx1MDEyQlxceEVEXFx1MDFEMFxceEVDXFx1MDE0RFxceEYzXFx1MDFEMlxceEYyXFx1MDE2QlxceEZBXFx1MDFENFxceEY5XFx1MDFENlxcdTAxRDhcXHUwMURBXCJdLFxuICAgICAgW1wiODhhMVwiLCBcIlxcdTAxRENcXHhGQ1xcdTBGRkZcXHhFQVxcdTAzMDRcXHUxRUJGXFx1MEZGRlxceEVBXFx1MDMwQ1xcdTFFQzFcXHhFQVxcdTAyNjFcXHUyM0RBXFx1MjNEQlwiXSxcbiAgICAgIFtcIjg5NDBcIiwgXCJcXHV7MkEzQTl9XFx1ezIxMTQ1fVwiXSxcbiAgICAgIFtcIjg5NDNcIiwgXCJcXHU2NTBBXCJdLFxuICAgICAgW1wiODk0NlwiLCBcIlxcdTRFM0RcXHU2RUREXFx1OUQ0RVxcdTkxREZcIl0sXG4gICAgICBbXCI4OTRjXCIsIFwiXFx1ezI3NzM1fVxcdTY0OTFcXHU0RjFBXFx1NEYyOFxcdTRGQThcXHU1MTU2XFx1NTE3NFxcdTUxOUNcXHU1MUU0XFx1NTJBMVxcdTUyQThcXHU1MzNCXFx1NTM0RVxcdTUzRDFcXHU1M0Q4XFx1NTZFMlxcdTU4RjBcXHU1OTA0XFx1NTkwN1xcdTU5MzJcXHU1OTM0XFx1NUI2NlxcdTVCOUVcXHU1QjlGXFx1NUM5QVxcdTVFODZcXHU2MDNCXFx1NjU4OVxcdTY3RkVcXHU2ODA0XFx1Njg2NVxcdTZENEVcXHU3MEJDXFx1NzUzNVxcdTdFQTRcXHU3RUFDXFx1N0VCQVxcdTdFQzdcXHU3RUNGXFx1N0VERlxcdTdGMDZcXHU3RjM3XFx1ODI3QVxcdTgyQ0ZcXHU4MzZGXFx1ODlDNlxcdThCQkVcXHU4QkUyXFx1OEY2NlxcdThGNjdcXHU4RjZFXCJdLFxuICAgICAgW1wiODlhMVwiLCBcIlxcdTc0MTFcXHU3Q0ZDXFx1N0RDRFxcdTY5NDZcXHU3QUM5XFx1NTIyN1wiXSxcbiAgICAgIFtcIjg5YWJcIiwgXCJcXHU5MThDXFx1NzhCOFxcdTkxNUVcXHU4MEJDXCJdLFxuICAgICAgW1wiODliMFwiLCBcIlxcdThEMEJcXHU4MEY2XFx1ezIwOUU3fVwiXSxcbiAgICAgIFtcIjg5YjVcIiwgXCJcXHU4MDlGXFx1OUVDN1xcdTRDQ0RcXHU5REM5XFx1OUUwQ1xcdTRDM0VcXHV7MjlERjZ9XFx1ezI3MDBFfVxcdTlFMEFcXHV7MkExMzN9XFx1MzVDMVwiXSxcbiAgICAgIFtcIjg5YzFcIiwgXCJcXHU2RTlBXFx1ODIzRVxcdTc1MTlcIl0sXG4gICAgICBbXCI4OWM1XCIsIFwiXFx1NDkxMVxcdTlBNkNcXHU5QThGXFx1OUY5OVxcdTc5ODdcXHV7Mjg0NkN9XFx1ezIxRENBfVxcdXsyMDVEMH1cXHV7MjJBRTZ9XFx1NEUyNFxcdTRFODFcXHU0RTgwXFx1NEU4N1xcdTRFQkZcXHU0RUVCXFx1NEYzN1xcdTM0NENcXHU0RkJEXFx1M0U0OFxcdTUwMDNcXHU1MDg4XFx1MzQ3RFxcdTM0OTNcXHUzNEE1XFx1NTE4NlxcdTU5MDVcXHU1MURCXFx1NTFGQ1xcdTUyMDVcXHU0RTg5XFx1NTI3OVxcdTUyOTBcXHU1MzI3XFx1MzVDN1xcdTUzQTlcXHUzNTUxXFx1NTNCMFxcdTM1NTNcXHU1M0MyXFx1NTQyM1xcdTM1NkRcXHUzNTcyXFx1MzY4MVxcdTU0OTNcXHU1NEEzXFx1NTRCNFxcdTU0QjlcXHU1NEQwXFx1NTRFRlxcdTU1MThcXHU1NTIzXFx1NTUyOFxcdTM1OThcXHU1NTNGXFx1MzVBNVxcdTM1QkZcXHU1NUQ3XFx1MzVDNVwiXSxcbiAgICAgIFtcIjhhNDBcIiwgXCJcXHV7MjdEODR9XFx1NTUyNVwiXSxcbiAgICAgIFtcIjhhNDNcIiwgXCJcXHV7MjBDNDJ9XFx1ezIwRDE1fVxcdXsyNTEyQn1cXHU1NTkwXFx1ezIyQ0M2fVxcdTM5RUNcXHV7MjAzNDF9XFx1OEU0NlxcdXsyNERCOH1cXHV7Mjk0RTV9XFx1NDA1M1xcdXsyODBCRX1cXHU3NzdBXFx1ezIyQzM4fVxcdTNBMzRcXHU0N0Q1XFx1ezI4MTVEfVxcdXsyNjlGMn1cXHV7MjRERUF9XFx1NjRERFxcdXsyMEQ3Q31cXHV7MjBGQjR9XFx1ezIwQ0Q1fVxcdXsyMTBGNH1cXHU2NDhEXFx1OEU3RVxcdXsyMEU5Nn1cXHV7MjBDMEJ9XFx1ezIwRjY0fVxcdXsyMkNBOX1cXHV7MjgyNTZ9XFx1ezI0NEQzfVwiXSxcbiAgICAgIFtcIjhhNjRcIiwgXCJcXHV7MjBENDZ9XFx1ezI5QTREfVxcdXsyODBFOX1cXHU0N0Y0XFx1ezI0RUE3fVxcdXsyMkNDMn1cXHU5QUIyXFx1M0E2N1xcdXsyOTVGNH1cXHUzRkVEXFx1MzUwNlxcdXsyNTJDN31cXHV7Mjk3RDR9XFx1ezI3OEM4fVxcdXsyMkQ0NH1cXHU5RDZFXFx1OTgxNVwiXSxcbiAgICAgIFtcIjhhNzZcIiwgXCJcXHU0M0Q5XFx1ezI2MEE1fVxcdTY0QjRcXHU1NEUzXFx1ezIyRDRDfVxcdXsyMkJDQX1cXHV7MjEwNzd9XFx1MzlGQlxcdXsyMTA2Rn1cIl0sXG4gICAgICBbXCI4YWExXCIsIFwiXFx1ezI2NkRBfVxcdXsyNjcxNn1cXHV7Mjc5QTB9XFx1NjRFQVxcdXsyNTA1Mn1cXHV7MjBDNDN9XFx1OEU2OFxcdXsyMjFBMX1cXHV7MjhCNEN9XFx1ezIwNzMxfVwiXSxcbiAgICAgIFtcIjhhYWNcIiwgXCJcXHU0ODBCXFx1ezIwMUE5fVxcdTNGRkFcXHU1ODczXFx1ezIyRDhEfVwiXSxcbiAgICAgIFtcIjhhYjJcIiwgXCJcXHV7MjQ1Qzh9XFx1ezIwNEZDfVxcdXsyNjA5N31cXHV7MjBGNEN9XFx1ezIwRDk2fVxcdTU1NzlcXHU0MEJCXFx1NDNCQVwiXSxcbiAgICAgIFtcIjhhYmJcIiwgXCJcXHU0QUI0XFx1ezIyQTY2fVxcdXsyMTA5RH1cXHU4MUFBXFx1OThGNVxcdXsyMEQ5Q31cXHU2Mzc5XFx1MzlGRVxcdXsyMjc3NX1cXHU4REMwXFx1NTZBMVxcdTY0N0NcXHUzRTQzXCJdLFxuICAgICAgW1wiOGFjOVwiLCBcIlxcdXsyQTYwMX1cXHV7MjBFMDl9XFx1ezIyQUNGfVxcdXsyMkNDOX1cIl0sXG4gICAgICBbXCI4YWNlXCIsIFwiXFx1ezIxMEM4fVxcdXsyMzlDMn1cXHUzOTkyXFx1M0EwNlxcdXsyODI5Qn1cXHUzNTc4XFx1ezI1RTQ5fVxcdXsyMjBDN31cXHU1NjUyXFx1ezIwRjMxfVxcdXsyMkNCMn1cXHV7Mjk3MjB9XFx1MzRCQ1xcdTZDM0RcXHV7MjRFM0J9XCJdLFxuICAgICAgW1wiOGFkZlwiLCBcIlxcdXsyNzU3NH1cXHV7MjJFOEJ9XFx1ezIyMjA4fVxcdXsyQTY1Qn1cXHV7MjhDQ0R9XFx1ezIwRTdBfVxcdXsyMEMzNH1cXHV7MjY4MUN9XFx1N0Y5M1xcdXsyMTBDRn1cXHV7MjI4MDN9XFx1ezIyOTM5fVxcdTM1RkJcXHV7MjUxRTN9XFx1ezIwRThDfVxcdXsyMEY4RH1cXHV7MjBFQUF9XFx1M0Y5M1xcdXsyMEYzMH1cXHV7MjBENDd9XFx1ezIxMTRGfVxcdXsyMEU0Q31cIl0sXG4gICAgICBbXCI4YWY2XCIsIFwiXFx1ezIwRUFCfVxcdXsyMEJBOX1cXHV7MjBENDh9XFx1ezIxMEMwfVxcdXsyMTEzRH1cXHUzRkY5XFx1ezIyNjk2fVxcdTY0MzJcXHV7MjBGQUR9XCJdLFxuICAgICAgW1wiOGI0MFwiLCBcIlxcdXsyMzNGNH1cXHV7Mjc2Mzl9XFx1ezIyQkNFfVxcdXsyMEQ3RX1cXHV7MjBEN0Z9XFx1ezIyQzUxfVxcdXsyMkM1NX1cXHUzQTE4XFx1ezIwRTk4fVxcdXsyMTBDN31cXHV7MjBGMkV9XFx1ezJBNjMyfVxcdXsyNkI1MH1cXHV7MjhDRDJ9XFx1ezI4RDk5fVxcdXsyOENDQX1cXHU5NUFBXFx1NTRDQ1xcdTgyQzRcXHU1NUI5XCJdLFxuICAgICAgW1wiOGI1NVwiLCBcIlxcdXsyOUVDM31cXHU5QzI2XFx1OUFCNlxcdXsyNzc1RX1cXHV7MjJERUV9XFx1NzE0MFxcdTgxNkRcXHU4MEVDXFx1NUMxQ1xcdXsyNjU3Mn1cXHU4MTM0XFx1Mzc5N1xcdTUzNUZcXHV7MjgwQkR9XFx1OTFCNlxcdXsyMEVGQX1cXHV7MjBFMEZ9XFx1ezIwRTc3fVxcdXsyMEVGQn1cXHUzNUREXFx1ezI0REVCfVxcdTM2MDlcXHV7MjBDRDZ9XFx1NTZBRlxcdXsyMjdCNX1cXHV7MjEwQzl9XFx1ezIwRTEwfVxcdXsyMEU3OH1cXHV7MjEwNzh9XFx1ezIxMTQ4fVxcdXsyODIwN31cXHV7MjE0NTV9XFx1ezIwRTc5fVxcdXsyNEU1MH1cXHV7MjJEQTR9XFx1NUE1NFxcdXsyMTAxRH1cXHV7MjEwMUV9XFx1ezIxMEY1fVxcdXsyMTBGNn1cXHU1NzlDXFx1ezIwRTExfVwiXSxcbiAgICAgIFtcIjhiYTFcIiwgXCJcXHV7Mjc2OTR9XFx1ezI4MkNEfVxcdXsyMEZCNX1cXHV7MjBFN0J9XFx1ezI1MTdFfVxcdTM3MDNcXHV7MjBGQjZ9XFx1ezIxMTgwfVxcdXsyNTJEOH1cXHV7MkEyQkR9XFx1ezI0OURBfVxcdXsyMTgzQX1cXHV7MjQxNzd9XFx1ezI4MjdDfVxcdTU4OTlcXHU1MjY4XFx1MzYxQVxcdXsyNTczRH1cXHU3QkIyXFx1NUI2OFxcdTQ4MDBcXHU0QjJDXFx1OUYyN1xcdTQ5RTdcXHU5QzFGXFx1OUI4RFxcdXsyNUI3NH1cXHV7MjMxM0R9XFx1NTVGQlxcdTM1RjJcXHU1Njg5XFx1NEUyOFxcdTU5MDJcXHV7MjFCQzF9XFx1ezJGODc4fVxcdTk3NTFcXHV7MjAwODZ9XFx1NEU1QlxcdTRFQkJcXHUzNTNFXFx1NUMyM1xcdTVGNTFcXHU1RkM0XFx1MzhGQVxcdTYyNENcXHU2NTM1XFx1NkI3QVxcdTZDMzVcXHU2QzNBXFx1NzA2Q1xcdTcyMkJcXHU0RTJDXFx1NzJBRFxcdXsyNDhFOX1cXHU3RjUyXFx1NzkzQlxcdTdDRjlcXHU3RjUzXFx1ezI2MjZBfVxcdTM0QzFcIl0sXG4gICAgICBbXCI4YmRlXCIsIFwiXFx1ezI2MzRCfVxcdTgwMDJcXHU4MDgwXFx1ezI2NjEyfVxcdXsyNjk1MX1cXHU1MzVEXFx1ODg2NFxcdTg5QzFcXHV7Mjc4QjJ9XFx1OEJBMFxcdThEMURcXHU5NDg1XFx1OTU3OFxcdTk1N0ZcXHU5NUU4XFx1ezI4RTBGfVxcdTk3RTZcXHU5ODc1XFx1OThDRVxcdTk4REVcXHU5OTYzXFx1ezI5ODEwfVxcdTlDN0NcXHU5RTFGXFx1OUVDNFxcdTZCNkZcXHVGOTA3XFx1NEUzN1xcdXsyMDA4N31cXHU5NjFEXFx1NjIzN1xcdTk0QTJcIl0sXG4gICAgICBbXCI4YzQwXCIsIFwiXFx1NTAzQlxcdTZERkVcXHV7MjlDNzN9XFx1OUZBNlxcdTNEQzlcXHU4ODhGXFx1ezI0MTRFfVxcdTcwNzdcXHU1Q0Y1XFx1NEIyMFxcdXsyNTFDRH1cXHUzNTU5XFx1ezI1RDMwfVxcdTYxMjJcXHV7MjhBMzJ9XFx1OEZBN1xcdTkxRjZcXHU3MTkxXFx1NjcxOVxcdTczQkFcXHV7MjMyODF9XFx1ezJBMTA3fVxcdTNDOEJcXHV7MjE5ODB9XFx1NEIxMFxcdTc4RTRcXHU3NDAyXFx1NTFBRVxcdXsyODcwRn1cXHU0MDA5XFx1NkE2M1xcdXsyQTJCQX1cXHU0MjIzXFx1ODYwRlxcdXsyMEE2Rn1cXHU3QTJBXFx1ezI5OTQ3fVxcdXsyOEFFQX1cXHU5NzU1XFx1NzA0RFxcdTUzMjRcXHV7MjIwN0V9XFx1OTNGNFxcdTc2RDlcXHV7Mjg5RTN9XFx1OUZBN1xcdTc3RERcXHU0RUEzXFx1NEZGMFxcdTUwQkNcXHU0RTJGXFx1NEYxN1xcdTlGQThcXHU1NDM0XFx1N0Q4QlxcdTU4OTJcXHU1OEQwXFx1ezIxREI2fVxcdTVFOTJcXHU1RTk5XFx1NUZDMlxcdXsyMjcxMn1cXHU2NThCXCJdLFxuICAgICAgW1wiOGNhMVwiLCBcIlxcdXsyMzNGOX1cXHU2OTE5XFx1NkE0M1xcdXsyM0M2M31cXHU2Q0ZGXCJdLFxuICAgICAgW1wiOGNhN1wiLCBcIlxcdTcyMDBcXHV7MjQ1MDV9XFx1NzM4Q1xcdTNFREJcXHV7MjRBMTN9XFx1NUIxNVxcdTc0QjlcXHU4QjgzXFx1ezI1Q0E0fVxcdXsyNTY5NX1cXHU3QTkzXFx1N0JFQ1xcdTdDQzNcXHU3RTZDXFx1ODJGOFxcdTg1OTdcXHU5RkE5XFx1ODg5MFxcdTlGQUFcXHU4RUI5XFx1OUZBQlxcdThGQ0ZcXHU4NTVGXFx1OTlFMFxcdTkyMjFcXHU5RkFDXFx1ezI4REI5fVxcdXsyMTQzRn1cXHU0MDcxXFx1NDJBMlxcdTVBMUFcIl0sXG4gICAgICBbXCI4Y2M5XCIsIFwiXFx1OTg2OFxcdTY3NkJcXHU0Mjc2XFx1NTczRFwiXSxcbiAgICAgIFtcIjhjY2VcIiwgXCJcXHU4NUQ2XFx1ezI0OTdCfVxcdTgyQkZcXHV7MjcxMER9XFx1NEM4MVxcdXsyNkQ3NH1cXHU1RDdCXFx1ezI2QjE1fVxcdXsyNkZCRX1cXHU5RkFEXFx1OUZBRVxcdTVCOTZcXHU5RkFGXFx1NjZFN1xcdTdFNUJcXHU2RTU3XFx1NzlDQVxcdTNEODhcXHU0NEMzXFx1ezIzMjU2fVxcdXsyMjc5Nn1cXHU0MzlBXFx1NDUzNlwiXSxcbiAgICAgIFtcIjhjZTZcIiwgXCJcXHU1Q0Q1XFx1ezIzQjFBfVxcdThBRjlcXHU1Qzc4XFx1M0QxMlxcdXsyMzU1MX1cXHU1RDc4XFx1OUZCMlxcdTcxNTdcXHU0NTU4XFx1ezI0MEVDfVxcdXsyMUUyM31cXHU0Qzc3XFx1Mzk3OFxcdTM0NEFcXHV7MjAxQTR9XFx1ezI2QzQxfVxcdThBQ0NcXHU0RkI0XFx1ezIwMjM5fVxcdTU5QkZcXHU4MTZDXFx1OTg1NlxcdXsyOThGQX1cXHU1RjNCXCJdLFxuICAgICAgW1wiOGQ0MFwiLCBcIlxcdXsyMEI5Rn1cIl0sXG4gICAgICBbXCI4ZDQyXCIsIFwiXFx1ezIyMUMxfVxcdXsyODk2RH1cXHU0MTAyXFx1NDZCQlxcdXsyOTA3OX1cXHUzRjA3XFx1OUZCM1xcdXsyQTFCNX1cXHU0MEY4XFx1MzdENlxcdTQ2RjdcXHV7MjZDNDZ9XFx1NDE3Q1xcdXsyODZCMn1cXHV7MjczRkZ9XFx1NDU2RFxcdTM4RDRcXHV7MjU0OUF9XFx1NDU2MVxcdTQ1MUJcXHU0RDg5XFx1NEM3QlxcdTRENzZcXHU0NUVBXFx1M0ZDOFxcdXsyNEIwRn1cXHUzNjYxXFx1NDRERVxcdTQ0QkRcXHU0MUVEXFx1NUQzRVxcdTVENDhcXHU1RDU2XFx1M0RGQ1xcdTM4MEZcXHU1REE0XFx1NURCOVxcdTM4MjBcXHUzODM4XFx1NUU0MlxcdTVFQkRcXHU1RjI1XFx1NUY4M1xcdTM5MDhcXHUzOTE0XFx1MzkzRlxcdTM5NERcXHU2MEQ3XFx1NjEzRFxcdTVDRTVcXHUzOTg5XFx1NjFCN1xcdTYxQjlcXHU2MUNGXFx1MzlCOFxcdTYyMkNcXHU2MjkwXFx1NjJFNVxcdTYzMThcXHUzOUY4XFx1NTZCMVwiXSxcbiAgICAgIFtcIjhkYTFcIiwgXCJcXHUzQTAzXFx1NjNFMlxcdTYzRkJcXHU2NDA3XFx1NjQ1QVxcdTNBNEJcXHU2NEMwXFx1NUQxNVxcdTU2MjFcXHU5RjlGXFx1M0E5N1xcdTY1ODZcXHUzQUJEXFx1NjVGRlxcdTY2NTNcXHUzQUYyXFx1NjY5MlxcdTNCMjJcXHU2NzE2XFx1M0I0MlxcdTY3QTRcXHU2ODAwXFx1M0I1OFxcdTY4NEFcXHU2ODg0XFx1M0I3MlxcdTNCNzFcXHUzQjdCXFx1NjkwOVxcdTY5NDNcXHU3MjVDXFx1Njk2NFxcdTY5OUZcXHU2OTg1XFx1M0JCQ1xcdTY5RDZcXHUzQkREXFx1NkE2NVxcdTZBNzRcXHU2QTcxXFx1NkE4MlxcdTNCRUNcXHU2QTk5XFx1M0JGMlxcdTZBQUJcXHU2QUI1XFx1NkFENFxcdTZBRjZcXHU2QjgxXFx1NkJDMVxcdTZCRUFcXHU2Qzc1XFx1NkNBQVxcdTNDQ0JcXHU2RDAyXFx1NkQwNlxcdTZEMjZcXHU2RDgxXFx1M0NFRlxcdTZEQTRcXHU2REIxXFx1NkUxNVxcdTZFMThcXHU2RTI5XFx1NkU4NlxcdXsyODlDMH1cXHU2RUJCXFx1NkVFMlxcdTZFREFcXHU5RjdGXFx1NkVFOFxcdTZFRTlcXHU2RjI0XFx1NkYzNFxcdTNENDZcXHV7MjNGNDF9XFx1NkY4MVxcdTZGQkVcXHUzRDZBXFx1M0Q3NVxcdTcxQjdcXHU1Qzk5XFx1M0Q4QVxcdTcwMkNcXHUzRDkxXFx1NzA1MFxcdTcwNTRcXHU3MDZGXFx1NzA3RlxcdTcwODlcXHV7MjAzMjV9XFx1NDNDMVxcdTM1RjFcXHV7MjBFRDh9XCJdLFxuICAgICAgW1wiOGU0MFwiLCBcIlxcdXsyM0VEN31cXHU1N0JFXFx1ezI2RUQzfVxcdTcxM0VcXHV7MjU3RTB9XFx1MzY0RVxcdTY5QTJcXHV7MjhCRTl9XFx1NUI3NFxcdTdBNDlcXHV7MjU4RTF9XFx1ezI5NEQ5fVxcdTdBNjVcXHU3QTdEXFx1ezI1OUFDfVxcdTdBQkJcXHU3QUIwXFx1N0FDMlxcdTdBQzNcXHU3MUQxXFx1ezI2NDhEfVxcdTQxQ0FcXHU3QURBXFx1N0FERFxcdTdBRUFcXHU0MUVGXFx1NTRCMlxcdXsyNUMwMX1cXHU3QjBCXFx1N0I1NVxcdTdCMjlcXHV7MjUzMEV9XFx1ezI1Q0ZFfVxcdTdCQTJcXHU3QjZGXFx1ODM5Q1xcdXsyNUJCNH1cXHV7MjZDN0Z9XFx1N0JEMFxcdTg0MjFcXHU3QjkyXFx1N0JCOFxcdXsyNUQyMH1cXHUzREFEXFx1ezI1QzY1fVxcdTg0OTJcXHU3QkZBXFx1N0MwNlxcdTdDMzVcXHV7MjVDQzF9XFx1N0M0NFxcdTdDODNcXHV7MjQ4ODJ9XFx1N0NBNlxcdTY2N0RcXHV7MjQ1Nzh9XFx1N0NDOVxcdTdDQzdcXHU3Q0U2XFx1N0M3NFxcdTdDRjNcXHU3Q0Y1XFx1N0NDRVwiXSxcbiAgICAgIFtcIjhlYTFcIiwgXCJcXHU3RTY3XFx1NDUxRFxcdXsyNkU0NH1cXHU3RDVEXFx1ezI2RUQ2fVxcdTc0OERcXHU3RDg5XFx1N0RBQlxcdTcxMzVcXHU3REIzXFx1N0REMlxcdXsyNDA1N31cXHV7MjYwMjl9XFx1N0RFNFxcdTNEMTNcXHU3REY1XFx1ezIxN0Y5fVxcdTdERTVcXHV7MjgzNkR9XFx1N0UxRFxcdXsyNjEyMX1cXHV7MjYxNUF9XFx1N0U2RVxcdTdFOTJcXHU0MzJCXFx1OTQ2Q1xcdTdFMjdcXHU3RjQwXFx1N0Y0MVxcdTdGNDdcXHU3OTM2XFx1ezI2MkQwfVxcdTk5RTFcXHU3Rjk3XFx1ezI2MzUxfVxcdTdGQTNcXHV7MjE2NjF9XFx1ezIwMDY4fVxcdTQ1NUNcXHV7MjM3NjZ9XFx1NDUwM1xcdXsyODMzQX1cXHU3RkZBXFx1ezI2NDg5fVxcdTgwMDVcXHU4MDA4XFx1ODAxRFxcdTgwMjhcXHU4MDJGXFx1ezJBMDg3fVxcdXsyNkNDM31cXHU4MDNCXFx1ODAzQ1xcdTgwNjFcXHV7MjI3MTR9XFx1NDk4OVxcdXsyNjYyNn1cXHV7MjNERTN9XFx1ezI2NkU4fVxcdTY3MjVcXHU4MEE3XFx1ezI4QTQ4fVxcdTgxMDdcXHU4MTFBXFx1NThCMFxcdXsyMjZGNn1cXHU2QzdGXFx1ezI2NDk4fVxcdXsyNEZCOH1cXHU2NEU3XFx1ezIxNDhBfVxcdTgyMThcXHV7MjE4NUV9XFx1NkE1M1xcdXsyNEE2NX1cXHV7MjRBOTV9XFx1NDQ3QVxcdTgyMjlcXHV7MjBCMER9XFx1ezI2QTUyfVxcdXsyM0Q3RX1cXHU0RkY5XFx1ezIxNEZEfVxcdTg0RTJcXHU4MzYyXFx1ezI2QjBBfVxcdXsyNDlBN31cXHV7MjM1MzB9XFx1ezIxNzczfVxcdXsyM0RGOH1cXHU4MkFBXFx1NjkxQlxcdXsyRjk5NH1cXHU0MURCXCJdLFxuICAgICAgW1wiOGY0MFwiLCBcIlxcdTg1NEJcXHU4MkQwXFx1ODMxQVxcdXsyMEUxNn1cXHV7MjE3QjR9XFx1MzZDMVxcdXsyMzE3RH1cXHV7MjM1NUF9XFx1ODI3QlxcdTgyRTJcXHU4MzE4XFx1ezIzRThCfVxcdXsyNkRBM31cXHV7MjZCMDV9XFx1ezI2Qjk3fVxcdXsyMzVDRX1cXHUzREJGXFx1ODMxRFxcdTU1RUNcXHU4Mzg1XFx1NDUwQlxcdXsyNkRBNX1cXHU4M0FDXFx1ODNDMVxcdTgzRDNcXHUzNDdFXFx1ezI2RUQ0fVxcdTZBNTdcXHU4NTVBXFx1MzQ5NlxcdXsyNkU0Mn1cXHV7MjJFRUZ9XFx1ODQ1OFxcdXsyNUJFNH1cXHU4NDcxXFx1M0REM1xcdTQ0RTRcXHU2QUE3XFx1ODQ0QVxcdXsyM0NCNX1cXHU3OTU4XFx1ODRBOFxcdXsyNkI5Nn1cXHV7MjZFNzd9XFx1ezI2RTQzfVxcdTg0REVcXHU4NDBGXFx1ODM5MVxcdTQ0QTBcXHU4NDkzXFx1ODRFNFxcdXsyNUM5MX1cXHU0MjQwXFx1ezI1Q0MwfVxcdTQ1NDNcXHU4NTM0XFx1NUFGMlxcdXsyNkU5OX1cXHU0NTI3XFx1ODU3M1xcdTQ1MTZcXHU2N0JGXFx1ODYxNlwiXSxcbiAgICAgIFtcIjhmYTFcIiwgXCJcXHV7Mjg2MjV9XFx1ezI4NjNCfVxcdTg1QzFcXHV7MjcwODh9XFx1ODYwMlxcdXsyMTU4Mn1cXHV7MjcwQ0R9XFx1ezJGOUIyfVxcdTQ1NkFcXHU4NjI4XFx1MzY0OFxcdXsyMThBMn1cXHU1M0Y3XFx1ezI3MzlBfVxcdTg2N0VcXHU4NzcxXFx1ezJBMEY4fVxcdTg3RUVcXHV7MjJDMjd9XFx1ODdCMVxcdTg3REFcXHU4ODBGXFx1NTY2MVxcdTg2NkNcXHU2ODU2XFx1NDYwRlxcdTg4NDVcXHU4ODQ2XFx1ezI3NUUwfVxcdXsyM0RCOX1cXHV7Mjc1RTR9XFx1ODg1RVxcdTg4OUNcXHU0NjVCXFx1ODhCNFxcdTg4QjVcXHU2M0MxXFx1ODhDNVxcdTc3NzdcXHV7Mjc3MEZ9XFx1ODk4N1xcdTg5OEFcXHU4OUE2XFx1ODlBOVxcdTg5QTdcXHU4OUJDXFx1ezI4QTI1fVxcdTg5RTdcXHV7Mjc5MjR9XFx1ezI3QUJEfVxcdThBOUNcXHU3NzkzXFx1OTFGRVxcdThBOTBcXHV7MjdBNTl9XFx1N0FFOVxcdXsyN0IzQX1cXHV7MjNGOEZ9XFx1NDcxM1xcdXsyN0IzOH1cXHU3MTdDXFx1OEIwQ1xcdThCMUZcXHV7MjU0MzB9XFx1ezI1NTY1fVxcdThCM0ZcXHU4QjRDXFx1OEI0RFxcdThBQTlcXHV7MjRBN0F9XFx1OEI5MFxcdThCOUJcXHU4QUFGXFx1ezIxNkRGfVxcdTQ2MTVcXHU4ODRGXFx1OEM5QlxcdXsyN0Q1NH1cXHV7MjdEOEZ9XFx1ezJGOUQ0fVxcdTM3MjVcXHV7MjdENTN9XFx1OENENlxcdXsyN0Q5OH1cXHV7MjdEQkR9XFx1OEQxMlxcdThEMDNcXHV7MjE5MTB9XFx1OENEQlxcdTcwNUNcXHU4RDExXFx1ezI0Q0M5fVxcdTNFRDBcXHU4RDc3XCJdLFxuICAgICAgW1wiOTA0MFwiLCBcIlxcdThEQTlcXHV7MjgwMDJ9XFx1ezIxMDE0fVxcdXsyNDk4QX1cXHUzQjdDXFx1ezI4MUJDfVxcdXsyNzEwQ31cXHU3QUU3XFx1OEVBRFxcdThFQjZcXHU4RUMzXFx1OTJENFxcdThGMTlcXHU4RjJEXFx1ezI4MzY1fVxcdXsyODQxMn1cXHU4RkE1XFx1OTMwM1xcdXsyQTI5Rn1cXHV7MjBBNTB9XFx1OEZCM1xcdTQ5MkFcXHV7Mjg5REV9XFx1ezI4NTNEfVxcdXsyM0RCQn1cXHU1RUY4XFx1ezIzMjYyfVxcdThGRjlcXHV7MkEwMTR9XFx1ezI4NkJDfVxcdXsyODUwMX1cXHV7MjIzMjV9XFx1Mzk4MFxcdXsyNkVEN31cXHU5MDM3XFx1ezI4NTNDfVxcdXsyN0FCRX1cXHU5MDYxXFx1ezI4NTZDfVxcdXsyODYwQn1cXHU5MEE4XFx1ezI4NzEzfVxcdTkwQzRcXHV7Mjg2RTZ9XFx1OTBBRVxcdTkwRkRcXHU5MTY3XFx1M0FGMFxcdTkxQTlcXHU5MUM0XFx1N0NBQ1xcdXsyODkzM31cXHV7MjFFODl9XFx1OTIwRVxcdTZDOUZcXHU5MjQxXFx1OTI2MlxcdXsyNTVCOX1cXHU5MkI5XFx1ezI4QUM2fVxcdXsyM0M5Qn1cXHV7MjhCMEN9XFx1ezI1NURCfVwiXSxcbiAgICAgIFtcIjkwYTFcIiwgXCJcXHV7MjBEMzF9XFx1OTMyQ1xcdTkzNkJcXHV7MjhBRTF9XFx1ezI4QkVCfVxcdTcwOEZcXHU1QUMzXFx1ezI4QUUyfVxcdXsyOEFFNX1cXHU0OTY1XFx1OTI0NFxcdXsyOEJFQ31cXHV7MjhDMzl9XFx1ezI4QkZGfVxcdTkzNzNcXHU5NDVCXFx1OEVCQ1xcdTk1ODVcXHU5NUE2XFx1OTQyNlxcdTk1QTBcXHU2RkY2XFx1NDJCOVxcdXsyMjY3QX1cXHV7Mjg2RDh9XFx1ezIxMjdDfVxcdXsyM0UyRX1cXHU0OURGXFx1NkMxQ1xcdTk2N0JcXHU5Njk2XFx1NDE2Q1xcdTk2QTNcXHV7MjZFRDV9XFx1NjFEQVxcdTk2QjZcXHU3OEY1XFx1ezI4QUUwfVxcdTk2QkRcXHU1M0NDXFx1NDlBMVxcdXsyNkNCOH1cXHV7MjAyNzR9XFx1ezI2NDEwfVxcdXsyOTBBRn1cXHV7MjkwRTV9XFx1ezI0QUQxfVxcdXsyMTkxNX1cXHV7MjMzMEF9XFx1OTczMVxcdTg2NDJcXHU5NzM2XFx1NEEwRlxcdTQ1M0RcXHU0NTg1XFx1ezI0QUU5fVxcdTcwNzVcXHU1QjQxXFx1OTcxQlxcdTk3NUNcXHV7MjkxRDV9XFx1OTc1N1xcdTVCNEFcXHV7MjkxRUJ9XFx1OTc1RlxcdTk0MjVcXHU1MEQwXFx1ezIzMEI3fVxcdXsyMzBCQ31cXHU5Nzg5XFx1OTc5RlxcdTk3QjFcXHU5N0JFXFx1OTdDMFxcdTk3RDJcXHU5N0UwXFx1ezI1NDZDfVxcdTk3RUVcXHU3NDFDXFx1ezI5NDMzfVxcdTk3RkZcXHU5N0Y1XFx1ezI5NDFEfVxcdXsyNzk3QX1cXHU0QUQxXFx1OTgzNFxcdTk4MzNcXHU5ODRCXFx1OTg2NlxcdTNCMEVcXHV7MjcxNzV9XFx1M0Q1MVxcdXsyMDYzMH1cXHV7MjQxNUN9XCJdLFxuICAgICAgW1wiOTE0MFwiLCBcIlxcdXsyNTcwNn1cXHU5OENBXFx1OThCN1xcdTk4QzhcXHU5OEM3XFx1NEFGRlxcdXsyNkQyN31cXHV7MjE2RDN9XFx1NTVCMFxcdTk4RTFcXHU5OEU2XFx1OThFQ1xcdTkzNzhcXHU5OTM5XFx1ezI0QTI5fVxcdTRCNzJcXHV7Mjk4NTd9XFx1ezI5OTA1fVxcdTk5RjVcXHU5QTBDXFx1OUEzQlxcdTlBMTBcXHU5QTU4XFx1ezI1NzI1fVxcdTM2QzRcXHV7MjkwQjF9XFx1ezI5QkQ1fVxcdTlBRTBcXHU5QUUyXFx1ezI5QjA1fVxcdTlBRjRcXHU0QzBFXFx1OUIxNFxcdTlCMkRcXHV7Mjg2MDB9XFx1NTAzNFxcdTlCMzRcXHV7MjY5QTh9XFx1MzhDM1xcdXsyMzA3RH1cXHU5QjUwXFx1OUI0MFxcdXsyOUQzRX1cXHU1QTQ1XFx1ezIxODYzfVxcdTlCOEVcXHV7MjQyNEJ9XFx1OUMwMlxcdTlCRkZcXHU5QzBDXFx1ezI5RTY4fVxcdTlERDRcXHV7MjlGQjd9XFx1ezJBMTkyfVxcdXsyQTFBQn1cXHV7MkEwRTF9XFx1ezJBMTIzfVxcdXsyQTFERn1cXHU5RDdFXFx1OUQ4M1xcdXsyQTEzNH1cXHU5RTBFXFx1Njg4OFwiXSxcbiAgICAgIFtcIjkxYTFcIiwgXCJcXHU5REM0XFx1ezIyMTVCfVxcdXsyQTE5M31cXHV7MkEyMjB9XFx1ezIxOTNCfVxcdXsyQTIzM31cXHU5RDM5XFx1ezJBMEI5fVxcdXsyQTJCNH1cXHU5RTkwXFx1OUU5NVxcdTlFOUVcXHU5RUEyXFx1NEQzNFxcdTlFQUFcXHU5RUFGXFx1ezI0MzY0fVxcdTlFQzFcXHUzQjYwXFx1MzlFNVxcdTNEMURcXHU0RjMyXFx1MzdCRVxcdXsyOEMyQn1cXHU5RjAyXFx1OUYwOFxcdTRCOTZcXHU5NDI0XFx1ezI2REEyfVxcdTlGMTdcXHU5RjE2XFx1OUYzOVxcdTU2OUZcXHU1NjhBXFx1OUY0NVxcdTk5QjhcXHV7MjkwOEJ9XFx1OTdGMlxcdTg0N0ZcXHU5RjYyXFx1OUY2OVxcdTdBRENcXHU5RjhFXFx1NzIxNlxcdTRCQkVcXHV7MjQ5NzV9XFx1ezI0OUJCfVxcdTcxNzdcXHV7MjQ5Rjh9XFx1ezI0MzQ4fVxcdXsyNEE1MX1cXHU3MzlFXFx1ezI4QkRBfVxcdXsyMThGQX1cXHU3OTlGXFx1ezI4OTdFfVxcdXsyOEUzNn1cXHU5MzY5XFx1OTNGM1xcdXsyOEE0NH1cXHU5MkVDXFx1OTM4MVxcdTkzQ0JcXHV7Mjg5NkN9XFx1ezI0NEI5fVxcdTcyMTdcXHUzRUVCXFx1Nzc3MlxcdTdBNDNcXHU3MEQwXFx1ezI0NDczfVxcdXsyNDNGOH1cXHU3MTdFXFx1ezIxN0VGfVxcdTcwQTNcXHV7MjE4QkV9XFx1ezIzNTk5fVxcdTNFQzdcXHV7MjE4ODV9XFx1ezI1NDJGfVxcdXsyMTdGOH1cXHUzNzIyXFx1ezIxNkZCfVxcdXsyMTgzOX1cXHUzNkUxXFx1ezIxNzc0fVxcdXsyMThEMX1cXHV7MjVGNEJ9XFx1MzcyM1xcdXsyMTZDMH1cXHU1NzVCXFx1ezI0QTI1fVxcdXsyMTNGRX1cXHV7MjEyQTh9XCJdLFxuICAgICAgW1wiOTI0MFwiLCBcIlxcdXsyMTNDNn1cXHV7MjE0QjZ9XFx1ODUwM1xcdXsyMzZBNn1cXHU4NTAzXFx1ODQ1NVxcdXsyNDk5NH1cXHV7MjcxNjV9XFx1ezIzRTMxfVxcdXsyNTU1Q31cXHV7MjNFRkJ9XFx1ezI3MDUyfVxcdTQ0RjRcXHV7MjM2RUV9XFx1ezI5OTlEfVxcdXsyNkYyNn1cXHU2N0Y5XFx1MzczM1xcdTNDMTVcXHUzREU3XFx1NTg2Q1xcdXsyMTkyMn1cXHU2ODEwXFx1NDA1N1xcdXsyMzczRn1cXHV7MjQwRTF9XFx1ezI0MDhCfVxcdXsyNDEwRn1cXHV7MjZDMjF9XFx1NTRDQlxcdTU2OUVcXHV7MjY2QjF9XFx1NTY5MlxcdXsyMEZERn1cXHV7MjBCQTh9XFx1ezIwRTBEfVxcdTkzQzZcXHV7MjhCMTN9XFx1OTM5Q1xcdTRFRjhcXHU1MTJCXFx1MzgxOVxcdXsyNDQzNn1cXHU0RUJDXFx1ezIwNDY1fVxcdXsyMDM3Rn1cXHU0RjRCXFx1NEY4QVxcdXsyNTY1MX1cXHU1QTY4XFx1ezIwMUFCfVxcdXsyMDNDQn1cXHUzOTk5XFx1ezIwMzBBfVxcdXsyMDQxNH1cXHUzNDM1XFx1NEYyOVxcdXsyMDJDMH1cXHV7MjhFQjN9XFx1ezIwMjc1fVxcdThBREFcXHV7MjAyMEN9XFx1NEU5OFwiXSxcbiAgICAgIFtcIjkyYTFcIiwgXCJcXHU1MENEXFx1NTEwRFxcdTRGQTJcXHU0RjAzXFx1ezI0QTBFfVxcdXsyM0U4QX1cXHU0RjQyXFx1NTAyRVxcdTUwNkNcXHU1MDgxXFx1NEZDQ1xcdTRGRTVcXHU1MDU4XFx1NTBGQ1xcdTUxNTlcXHU1MTVCXFx1NTE1RFxcdTUxNUVcXHU2RTc2XFx1ezIzNTk1fVxcdXsyM0UzOX1cXHV7MjNFQkZ9XFx1NkQ3MlxcdXsyMTg4NH1cXHV7MjNFODl9XFx1NTFBOFxcdTUxQzNcXHV7MjA1RTB9XFx1NDRERFxcdXsyMDRBM31cXHV7MjA0OTJ9XFx1ezIwNDkxfVxcdThEN0FcXHV7MjhBOUN9XFx1ezIwNzBFfVxcdTUyNTlcXHU1MkE0XFx1ezIwODczfVxcdTUyRTFcXHU5MzZFXFx1NDY3QVxcdTcxOENcXHV7MjQzOEN9XFx1ezIwQzIwfVxcdXsyNDlBQ31cXHV7MjEwRTR9XFx1NjlEMVxcdXsyMEUxRH1cXHU3NDc5XFx1M0VERVxcdTc0OTlcXHU3NDE0XFx1NzQ1NlxcdTczOThcXHU0QjhFXFx1ezI0QUJDfVxcdXsyNDA4RH1cXHU1M0QwXFx1MzU4NFxcdTcyMEZcXHV7MjQwQzl9XFx1NTVCNFxcdXsyMDM0NX1cXHU1NENEXFx1ezIwQkM2fVxcdTU3MURcXHU5MjVEXFx1OTZGNFxcdTkzNjZcXHU1N0REXFx1NTc4RFxcdTU3N0ZcXHUzNjNFXFx1NThDQlxcdTVBOTlcXHV7MjhBNDZ9XFx1ezIxNkZBfVxcdXsyMTc2Rn1cXHV7MjE3MTB9XFx1NUEyQ1xcdTU5QjhcXHU5MjhGXFx1NUE3RVxcdTVBQ0ZcXHU1QTEyXFx1ezI1OTQ2fVxcdXsyMTlGM31cXHV7MjE4NjF9XFx1ezI0Mjk1fVxcdTM2RjVcXHU2RDA1XFx1NzQ0M1xcdTVBMjFcXHV7MjVFODN9XCJdLFxuICAgICAgW1wiOTM0MFwiLCBcIlxcdTVBODFcXHV7MjhCRDd9XFx1ezIwNDEzfVxcdTkzRTBcXHU3NDhDXFx1ezIxMzAzfVxcdTcxMDVcXHU0OTcyXFx1OTQwOFxcdXsyODlGQn1cXHU5M0JEXFx1MzdBMFxcdTVDMUVcXHU1QzlFXFx1NUU1RVxcdTVFNDhcXHV7MjE5OTZ9XFx1ezIxOTdDfVxcdXsyM0FFRX1cXHU1RUNEXFx1NUI0RlxcdXsyMTkwM31cXHV7MjE5MDR9XFx1MzcwMVxcdXsyMThBMH1cXHUzNkREXFx1ezIxNkZFfVxcdTM2RDNcXHU4MTJBXFx1ezI4QTQ3fVxcdXsyMURCQX1cXHV7MjM0NzJ9XFx1ezI4OUE4fVxcdTVGMENcXHU1RjBFXFx1ezIxOTI3fVxcdXsyMTdBQn1cXHU1QTZCXFx1ezIxNzNCfVxcdTVCNDRcXHU4NjE0XFx1ezI3NUZEfVxcdTg4NjBcXHU2MDdFXFx1ezIyODYwfVxcdXsyMjYyQn1cXHU1RkRCXFx1M0VCOFxcdXsyMjVBRn1cXHV7MjI1QkV9XFx1ezI5MDg4fVxcdXsyNkY3M31cXHU2MUMwXFx1ezIwMDNFfVxcdXsyMDA0Nn1cXHV7MjI2MUJ9XFx1NjE5OVxcdTYxOThcXHU2MDc1XFx1ezIyQzlCfVxcdXsyMkQwN31cXHV7MjQ2RDR9XFx1ezI5MTREfVwiXSxcbiAgICAgIFtcIjkzYTFcIiwgXCJcXHU2NDcxXFx1ezI0NjY1fVxcdXsyMkI2QX1cXHUzQTI5XFx1ezIyQjIyfVxcdXsyMzQ1MH1cXHV7Mjk4RUF9XFx1ezIyRTc4fVxcdTYzMzdcXHV7MkE0NUJ9XFx1NjRCNlxcdTYzMzFcXHU2M0QxXFx1ezI0OUUzfVxcdXsyMkQ2N31cXHU2MkE0XFx1ezIyQ0ExfVxcdTY0M0JcXHU2NTZCXFx1Njk3MlxcdTNCRjRcXHV7MjMwOEV9XFx1ezIzMkFEfVxcdXsyNDk4OX1cXHV7MjMyQUJ9XFx1NTUwRFxcdXsyMzJFMH1cXHV7MjE4RDl9XFx1ezI5NDNGfVxcdTY2Q0VcXHV7MjMyODl9XFx1ezIzMUIzfVxcdTNBRTBcXHU0MTkwXFx1ezI1NTg0fVxcdXsyOEIyMn1cXHV7MjU1OEZ9XFx1ezIxNkZDfVxcdXsyNTU1Qn1cXHV7MjU0MjV9XFx1NzhFRVxcdXsyMzEwM31cXHV7MjE4MkF9XFx1ezIzMjM0fVxcdTM0NjRcXHV7MjMyMEZ9XFx1ezIzMTgyfVxcdXsyNDJDOX1cXHU2NjhFXFx1ezI2RDI0fVxcdTY2NkJcXHU0QjkzXFx1NjYzMFxcdXsyNzg3MH1cXHV7MjFERUJ9XFx1NjY2M1xcdXsyMzJEMn1cXHV7MjMyRTF9XFx1NjYxRVxcdXsyNTg3Mn1cXHUzOEQxXFx1ezIzODNBfVxcdXsyMzdCQ31cXHUzQjk5XFx1ezIzN0EyfVxcdXsyMzNGRX1cXHU3NEQwXFx1M0I5NlxcdTY3OEZcXHV7MjQ2MkF9XFx1NjhCNlxcdTY4MUVcXHUzQkM0XFx1NkFCRVxcdTM4NjNcXHV7MjM3RDV9XFx1ezI0NDg3fVxcdTZBMzNcXHU2QTUyXFx1NkFDOVxcdTZCMDVcXHV7MjE5MTJ9XFx1NjUxMVxcdTY4OThcXHU2QTRDXFx1M0JEN1xcdTZBN0FcXHU2QjU3XFx1ezIzRkMwfVxcdXsyM0M5QX1cXHU5M0EwXFx1OTJGMlxcdXsyOEJFQX1cXHV7MjhBQ0J9XCJdLFxuICAgICAgW1wiOTQ0MFwiLCBcIlxcdTkyODlcXHV7MjgwMUV9XFx1ezI4OURDfVxcdTk0NjdcXHU2REE1XFx1NkYwQlxcdXsyNDlFQ31cXHU2RDY3XFx1ezIzRjdGfVxcdTNEOEZcXHU2RTA0XFx1ezI0MDNDfVxcdTVBM0RcXHU2RTBBXFx1NTg0N1xcdTZEMjRcXHU3ODQyXFx1NzEzQlxcdXsyNDMxQX1cXHV7MjQyNzZ9XFx1NzBGMVxcdTcyNTBcXHU3Mjg3XFx1NzI5NFxcdXsyNDc4Rn1cXHV7MjQ3MjV9XFx1NTE3OVxcdXsyNEFBNH1cXHV7MjA1RUJ9XFx1NzQ3QVxcdXsyM0VGOH1cXHV7MjM2NUZ9XFx1ezI0QTRBfVxcdXsyNDkxN31cXHV7MjVGRTF9XFx1M0YwNlxcdTNFQjFcXHV7MjRBREZ9XFx1ezI4QzIzfVxcdXsyM0YzNX1cXHU2MEE3XFx1M0VGM1xcdTc0Q0NcXHU3NDNDXFx1OTM4N1xcdTc0MzdcXHU0NDlGXFx1ezI2REVBfVxcdTQ1NTFcXHU3NTgzXFx1M0Y2M1xcdXsyNENEOX1cXHV7MjREMDZ9XFx1M0Y1OFxcdTc1NTVcXHU3NjczXFx1ezJBNUM2fVxcdTNCMTlcXHU3NDY4XFx1ezI4QUNDfVxcdXsyNDlBQn1cXHV7MjQ5OEV9XFx1M0FGQlwiXSxcbiAgICAgIFtcIjk0YTFcIiwgXCJcXHUzRENEXFx1ezI0QTRFfVxcdTNFRkZcXHV7MjQ5QzV9XFx1ezI0OEYzfVxcdTkxRkFcXHU1NzMyXFx1OTM0MlxcdXsyOEFFM31cXHV7MjE4NjR9XFx1NTBERlxcdXsyNTIyMX1cXHV7MjUxRTd9XFx1Nzc3OFxcdXsyMzIzMn1cXHU3NzBFXFx1NzcwRlxcdTc3N0JcXHV7MjQ2OTd9XFx1ezIzNzgxfVxcdTNBNUVcXHV7MjQ4RjB9XFx1NzQzOFxcdTc0OUJcXHUzRUJGXFx1ezI0QUJBfVxcdXsyNEFDN31cXHU0MEM4XFx1ezI0QTk2fVxcdXsyNjFBRX1cXHU5MzA3XFx1ezI1NTgxfVxcdTc4MUVcXHU3ODhEXFx1Nzg4OFxcdTc4RDJcXHU3M0QwXFx1Nzk1OVxcdXsyNzc0MX1cXHV7MjU2RTN9XFx1NDEwRVxcdTc5OUJcXHU4NDk2XFx1NzlBNVxcdTZBMkRcXHV7MjNFRkF9XFx1N0EzQVxcdTc5RjRcXHU0MTZFXFx1ezIxNkU2fVxcdTQxMzJcXHU5MjM1XFx1NzlGMVxcdXsyMEQ0Q31cXHV7MjQ5OEN9XFx1ezIwMjk5fVxcdXsyM0RCQX1cXHV7MjE3NkV9XFx1MzU5N1xcdTU1NkJcXHUzNTcwXFx1MzZBQVxcdXsyMDFENH1cXHV7MjBDMER9XFx1N0FFMlxcdTVBNTlcXHV7MjI2RjV9XFx1ezI1QUFGfVxcdXsyNUE5Q31cXHU1QTBEXFx1ezIwMjVCfVxcdTc4RjBcXHU1QTJBXFx1ezI1QkM2fVxcdTdBRkVcXHU0MUY5XFx1N0M1RFxcdTdDNkRcXHU0MjExXFx1ezI1QkIzfVxcdXsyNUVCQ31cXHV7MjVFQTZ9XFx1N0NDRFxcdXsyNDlGOX1cXHV7MjE3QjB9XFx1N0M4RVxcdTdDN0NcXHU3Q0FFXFx1NkFCMlxcdTdERENcXHU3RTA3XFx1N0REM1xcdTdGNEVcXHV7MjYyNjF9XCJdLFxuICAgICAgW1wiOTU0MFwiLCBcIlxcdXsyNjE1Q31cXHV7MjdCNDh9XFx1N0Q5N1xcdXsyNUU4Mn1cXHU0MjZBXFx1ezI2Qjc1fVxcdXsyMDkxNn1cXHU2N0Q2XFx1ezIwMDRFfVxcdXsyMzVDRn1cXHU1N0M0XFx1ezI2NDEyfVxcdXsyNjNGOH1cXHV7MjQ5NjJ9XFx1N0ZERFxcdTdCMjdcXHV7MjA4MkN9XFx1ezI1QUU5fVxcdXsyNUQ0M31cXHU3QjBDXFx1ezI1RTBFfVxcdTk5RTZcXHU4NjQ1XFx1OUE2M1xcdTZBMUNcXHV7MjM0M0Z9XFx1MzlFMlxcdXsyNDlGN31cXHV7MjY1QUR9XFx1OUExRlxcdXsyNjVBMH1cXHU4NDgwXFx1ezI3MTI3fVxcdXsyNkNEMX1cXHU0NEVBXFx1ODEzN1xcdTQ0MDJcXHU4MEM2XFx1ODEwOVxcdTgxNDJcXHV7MjY3QjR9XFx1OThDM1xcdXsyNkE0Mn1cXHU4MjYyXFx1ODI2NVxcdXsyNkE1MX1cXHU4NDUzXFx1ezI2REE3fVxcdTg2MTBcXHV7MjcyMUJ9XFx1NUE4NlxcdTQxN0ZcXHV7MjE4NDB9XFx1NUIyQlxcdXsyMThBMX1cXHU1QUU0XFx1ezIxOEQ4fVxcdTg2QTBcXHV7MkY5QkN9XFx1ezIzRDhGfVxcdTg4MkRcXHV7Mjc0MjJ9XFx1NUEwMlwiXSxcbiAgICAgIFtcIjk1YTFcIiwgXCJcXHU4ODZFXFx1NEY0NVxcdTg4ODdcXHU4OEJGXFx1ODhFNlxcdTg5NjVcXHU4OTREXFx1ezI1NjgzfVxcdTg5NTRcXHV7Mjc3ODV9XFx1ezI3Nzg0fVxcdXsyOEJGNX1cXHV7MjhCRDl9XFx1ezI4QjlDfVxcdXsyODlGOX1cXHUzRUFEXFx1ODRBM1xcdTQ2RjVcXHU0NkNGXFx1MzdGMlxcdThBM0RcXHU4QTFDXFx1ezI5NDQ4fVxcdTVGNERcXHU5MjJCXFx1ezI0Mjg0fVxcdTY1RDRcXHU3MTI5XFx1NzBDNFxcdXsyMTg0NX1cXHU5RDZEXFx1OEM5RlxcdThDRTlcXHV7MjdEREN9XFx1NTk5QVxcdTc3QzNcXHU1OUYwXFx1NDM2RVxcdTM2RDRcXHU4RTJBXFx1OEVBN1xcdXsyNEMwOX1cXHU4RjMwXFx1OEY0QVxcdTQyRjRcXHU2QzU4XFx1NkZCQlxcdXsyMjMyMX1cXHU0ODlCXFx1NkY3OVxcdTZFOEJcXHV7MjE3REF9XFx1OUJFOVxcdTM2QjVcXHV7MjQ5MkZ9XFx1OTBCQlxcdTkwOTdcXHU1NTcxXFx1NDkwNlxcdTkxQkJcXHU5NDA0XFx1ezI4QTRCfVxcdTQwNjJcXHV7MjhBRkN9XFx1OTQyN1xcdXsyOEMxRH1cXHV7MjhDM0J9XFx1ODRFNVxcdThBMkJcXHU5NTk5XFx1OTVBN1xcdTk1OTdcXHU5NTk2XFx1ezI4RDM0fVxcdTc0NDVcXHUzRUMyXFx1ezI0OEZGfVxcdXsyNEE0Mn1cXHV7MjQzRUF9XFx1M0VFN1xcdXsyMzIyNX1cXHU5NjhGXFx1ezI4RUU3fVxcdXsyOEU2Nn1cXHV7MjhFNjV9XFx1M0VDQ1xcdXsyNDlFRH1cXHV7MjRBNzh9XFx1ezIzRkVFfVxcdTc0MTJcXHU3NDZCXFx1M0VGQ1xcdTk3NDFcXHV7MjkwQjB9XCJdLFxuICAgICAgW1wiOTY0MFwiLCBcIlxcdTY4NDdcXHU0QTFEXFx1ezI5MDkzfVxcdXsyNTdERn1cXHU5NzVEXFx1OTM2OFxcdXsyODk4OX1cXHV7MjhDMjZ9XFx1ezI4QjJGfVxcdXsyNjNCRX1cXHU5MkJBXFx1NUIxMVxcdThCNjlcXHU0OTNDXFx1NzNGOVxcdXsyNDIxQn1cXHU5NzlCXFx1OTc3MVxcdTk5MzhcXHV7MjBGMjZ9XFx1NURDMVxcdXsyOEJDNX1cXHV7MjRBQjJ9XFx1OTgxRlxcdXsyOTREQX1cXHU5MkY2XFx1ezI5NUQ3fVxcdTkxRTVcXHU0NEMwXFx1ezI4QjUwfVxcdXsyNEE2N31cXHV7MjhCNjR9XFx1OThEQ1xcdXsyOEE0NX1cXHUzRjAwXFx1OTIyQVxcdTQ5MjVcXHU4NDE0XFx1OTkzQlxcdTk5NERcXHV7MjdCMDZ9XFx1M0RGRFxcdTk5OUJcXHU0QjZGXFx1OTlBQVxcdTlBNUNcXHV7MjhCNjV9XFx1ezI1OEM4fVxcdTZBOEZcXHU5QTIxXFx1NUFGRVxcdTlBMkZcXHV7Mjk4RjF9XFx1NEI5MFxcdXsyOTk0OH1cXHU5OUJDXFx1NEJCRFxcdTRCOTdcXHU5MzdEXFx1NTg3MlxcdXsyMTMwMn1cXHU1ODIyXFx1ezI0OUI4fVwiXSxcbiAgICAgIFtcIjk2YTFcIiwgXCJcXHV7MjE0RTh9XFx1Nzg0NFxcdXsyMjcxRn1cXHV7MjNEQjh9XFx1NjhDNVxcdTNEN0RcXHU5NDU4XFx1MzkyN1xcdTYxNTBcXHV7MjI3ODF9XFx1ezIyOTZCfVxcdTYxMDdcXHU5QzRGXFx1OUM1M1xcdTlDN0JcXHU5QzM1XFx1OUMxMFxcdTlCN0ZcXHU5QkNGXFx1ezI5RTJEfVxcdTlCOUZcXHV7MkExRjV9XFx1ezJBMEZFfVxcdTlEMjFcXHU0Q0FFXFx1ezI0MTA0fVxcdTlFMThcXHU0Q0IwXFx1OUQwQ1xcdXsyQTFCNH1cXHV7MkEwRUR9XFx1ezJBMEYzfVxcdXsyOTkyRn1cXHU5REE1XFx1ODRCRFxcdXsyNkUxMn1cXHV7MjZGREZ9XFx1ezI2QjgyfVxcdTg1RkNcXHU0NTMzXFx1ezI2REE0fVxcdXsyNkU4NH1cXHV7MjZERjB9XFx1ODQyMFxcdTg1RUVcXHV7MjZFMDB9XFx1ezIzN0Q3fVxcdXsyNjA2NH1cXHU3OUUyXFx1ezIzNTlDfVxcdXsyMzY0MH1cXHU0OTJEXFx1ezI0OURFfVxcdTNENjJcXHU5M0RCXFx1OTJCRVxcdTkzNDhcXHV7MjAyQkZ9XFx1NzhCOVxcdTkyNzdcXHU5NDREXFx1NEZFNFxcdTM0NDBcXHU5MDY0XFx1ezI1NTVEfVxcdTc4M0RcXHU3ODU0XFx1NzhCNlxcdTc4NEJcXHV7MjE3NTd9XFx1ezIzMUM5fVxcdXsyNDk0MX1cXHUzNjlBXFx1NEY3MlxcdTZGREFcXHU2RkQ5XFx1NzAxRVxcdTcwMUVcXHU1NDE0XFx1ezI0MUI1fVxcdTU3QkJcXHU1OEYzXFx1NTc4QVxcdTlEMTZcXHU1N0Q3XFx1NzEzNFxcdTM0QUZcXHV7MjQxQUN9XFx1NzFFQlxcdXsyNkM0MH1cXHV7MjRGOTd9XFx1NUIyOFxcdXsyMTdCNX1cXHV7MjhBNDl9XCJdLFxuICAgICAgW1wiOTc0MFwiLCBcIlxcdTYxMENcXHU1QUNFXFx1NUEwQlxcdTQyQkNcXHV7MjQ0ODh9XFx1MzcyQ1xcdTRCN0JcXHV7Mjg5RkN9XFx1OTNCQlxcdTkzQjhcXHV7MjE4RDZ9XFx1ezIwRjFEfVxcdTg0NzJcXHV7MjZDQzB9XFx1ezIxNDEzfVxcdXsyNDJGQX1cXHV7MjJDMjZ9XFx1ezI0M0MxfVxcdTU5OTRcXHV7MjNEQjd9XFx1ezI2NzQxfVxcdTdEQThcXHV7MjYxNUJ9XFx1ezI2MEE0fVxcdXsyNDlCOX1cXHV7MjQ5OEJ9XFx1ezI4OUZBfVxcdTkyRTVcXHU3M0UyXFx1M0VFOVxcdTc0QjRcXHV7MjhCNjN9XFx1ezIxODlGfVxcdTNFRTFcXHV7MjRBQjN9XFx1NkFEOFxcdTczRjNcXHU3M0ZCXFx1M0VENlxcdXsyNEEzRX1cXHV7MjRBOTR9XFx1ezIxN0Q5fVxcdXsyNEE2Nn1cXHV7MjAzQTd9XFx1ezIxNDI0fVxcdXsyNDlFNX1cXHU3NDQ4XFx1ezI0OTE2fVxcdTcwQTVcXHV7MjQ5NzZ9XFx1OTI4NFxcdTczRTZcXHU5MzVGXFx1ezIwNEZFfVxcdTkzMzFcXHV7MjhBQ0V9XFx1ezI4QTE2fVxcdTkzODZcXHV7MjhCRTd9XFx1ezI1NUQ1fVxcdTQ5MzVcXHV7MjhBODJ9XFx1NzE2QlwiXSxcbiAgICAgIFtcIjk3YTFcIiwgXCJcXHV7MjQ5NDN9XFx1ezIwQ0ZGfVxcdTU2QTRcXHV7MjA2MUF9XFx1ezIwQkVCfVxcdXsyMENCOH1cXHU1NTAyXFx1NzlDNFxcdXsyMTdGQX1cXHU3REZFXFx1ezIxNkMyfVxcdXsyNEE1MH1cXHV7MjE4NTJ9XFx1NDUyRVxcdTk0MDFcXHUzNzBBXFx1ezI4QUMwfVxcdXsyNDlBRH1cXHU1OUIwXFx1ezIxOEJGfVxcdXsyMTg4M31cXHV7Mjc0ODR9XFx1NUFBMVxcdTM2RTJcXHV7MjNENUJ9XFx1MzZCMFxcdTkyNUZcXHU1QTc5XFx1ezI4QTgxfVxcdXsyMTg2Mn1cXHU5Mzc0XFx1M0NDRFxcdXsyMEFCNH1cXHU0QTk2XFx1Mzk4QVxcdTUwRjRcXHUzRDY5XFx1M0Q0Q1xcdXsyMTM5Q31cXHU3MTc1XFx1NDJGQlxcdXsyODIxOH1cXHU2RTBGXFx1ezI5MEU0fVxcdTQ0RUJcXHU2RDU3XFx1ezI3RTRGfVxcdTcwNjdcXHU2Q0FGXFx1M0NENlxcdXsyM0ZFRH1cXHV7MjNFMkR9XFx1NkUwMlxcdTZGMENcXHUzRDZGXFx1ezIwM0Y1fVxcdTc1NTFcXHUzNkJDXFx1MzRDOFxcdTQ2ODBcXHUzRURBXFx1NDg3MVxcdTU5QzRcXHU5MjZFXFx1NDkzRVxcdThGNDFcXHV7MjhDMUN9XFx1ezI2QkMwfVxcdTU4MTJcXHU1N0M4XFx1MzZENlxcdXsyMTQ1Mn1cXHU3MEZFXFx1ezI0MzYyfVxcdXsyNEE3MX1cXHV7MjJGRTN9XFx1ezIxMkIwfVxcdXsyMjNCRH1cXHU2OEI5XFx1Njk2N1xcdXsyMTM5OH1cXHV7MjM0RTV9XFx1ezI3QkY0fVxcdXsyMzZERn1cXHV7MjhBODN9XFx1ezIzN0Q2fVxcdXsyMzNGQX1cXHV7MjRDOUZ9XFx1NkExQVxcdXsyMzZBRH1cXHV7MjZDQjd9XFx1ODQzRVxcdTQ0REZcXHU0NENFXCJdLFxuICAgICAgW1wiOTg0MFwiLCBcIlxcdXsyNkQyNn1cXHV7MjZENTF9XFx1ezI2QzgyfVxcdXsyNkZERX1cXHU2RjE3XFx1ezI3MTA5fVxcdTgzM0RcXHV7MjE3M0F9XFx1ODNFRFxcdXsyNkM4MH1cXHV7MjcwNTN9XFx1ezIxN0RCfVxcdTU5ODlcXHU1QTgyXFx1ezIxN0IzfVxcdTVBNjFcXHU1QTcxXFx1ezIxOTA1fVxcdXsyNDFGQ31cXHUzNzJEXFx1NTlFRlxcdXsyMTczQ31cXHUzNkM3XFx1NzE4RVxcdTkzOTBcXHU2NjlBXFx1ezI0MkE1fVxcdTVBNkVcXHU1QTJCXFx1ezI0MjkzfVxcdTZBMkJcXHV7MjNFRjl9XFx1ezI3NzM2fVxcdXsyNDQ1Qn1cXHV7MjQyQ0F9XFx1NzExRFxcdXsyNDI1OX1cXHV7Mjg5RTF9XFx1NEZCMFxcdXsyNkQyOH1cXHU1Q0MyXFx1ezI0NENFfVxcdXsyN0U0RH1cXHV7MjQzQkR9XFx1NkEwQ1xcdXsyNDI1Nn1cXHV7MjEzMDR9XFx1NzBBNlxcdTcxMzNcXHV7MjQzRTl9XFx1M0RBNVxcdTZDREZcXHV7MkY4MjV9XFx1ezI0QTRGfVxcdTdFNjVcXHU1OUVCXFx1NUQyRlxcdTNERjNcXHU1RjVDXFx1ezI0QTVEfVxcdXsyMTdERn1cXHU3REE0XFx1ODQyNlwiXSxcbiAgICAgIFtcIjk4YTFcIiwgXCJcXHU1NDg1XFx1ezIzQUZBfVxcdXsyMzMwMH1cXHV7MjAyMTR9XFx1NTc3RVxcdXsyMDhENX1cXHV7MjA2MTl9XFx1M0ZFNVxcdXsyMUY5RX1cXHV7MkEyQjZ9XFx1NzAwM1xcdXsyOTE1Qn1cXHU1RDcwXFx1NzM4RlxcdTdDRDNcXHV7MjhBNTl9XFx1ezI5NDIwfVxcdTRGQzhcXHU3RkU3XFx1NzJDRFxcdTczMTBcXHV7MjdBRjR9XFx1NzMzOFxcdTczMzlcXHV7MjU2RjZ9XFx1NzM0MVxcdTczNDhcXHUzRUE5XFx1ezI3QjE4fVxcdTkwNkNcXHU3MUY1XFx1ezI0OEYyfVxcdTczRTFcXHU4MUY2XFx1M0VDQVxcdTc3MENcXHUzRUQxXFx1NkNBMlxcdTU2RkRcXHU3NDE5XFx1NzQxRVxcdTc0MUZcXHUzRUUyXFx1M0VGMFxcdTNFRjRcXHUzRUZBXFx1NzREM1xcdTNGMEVcXHUzRjUzXFx1NzU0MlxcdTc1NkRcXHU3NTcyXFx1NzU4RFxcdTNGN0NcXHU3NUM4XFx1NzVEQ1xcdTNGQzBcXHU3NjREXFx1M0ZEN1xcdTc2NzRcXHUzRkRDXFx1NzY3QVxcdXsyNEY1Q31cXHU3MTg4XFx1NTYyM1xcdTg5ODBcXHU1ODY5XFx1NDAxRFxcdTc3NDNcXHU0MDM5XFx1Njc2MVxcdTQwNDVcXHUzNURCXFx1Nzc5OFxcdTQwNkFcXHU0MDZGXFx1NUM1RVxcdTc3QkVcXHU3N0NCXFx1NThGMlxcdTc4MThcXHU3MEI5XFx1NzgxQ1xcdTQwQThcXHU3ODM5XFx1Nzg0N1xcdTc4NTFcXHU3ODY2XFx1ODQ0OFxcdXsyNTUzNX1cXHU3OTMzXFx1NjgwM1xcdTc5MzJcXHU0MTAzXCJdLFxuICAgICAgW1wiOTk0MFwiLCBcIlxcdTQxMDlcXHU3OTkxXFx1Nzk5OVxcdThGQkJcXHU3QTA2XFx1OEZCQ1xcdTQxNjdcXHU3QTkxXFx1NDFCMlxcdTdBQkNcXHU4Mjc5XFx1NDFDNFxcdTdBQ0ZcXHU3QURCXFx1NDFDRlxcdTRFMjFcXHU3QjYyXFx1N0I2Q1xcdTdCN0JcXHU3QzEyXFx1N0MxQlxcdTQyNjBcXHU0MjdBXFx1N0M3QlxcdTdDOUNcXHU0MjhDXFx1N0NCOFxcdTQyOTRcXHU3Q0VEXFx1OEY5M1xcdTcwQzBcXHV7MjBDQ0Z9XFx1N0RDRlxcdTdERDRcXHU3REQwXFx1N0RGRFxcdTdGQUVcXHU3RkI0XFx1NzI5RlxcdTQzOTdcXHU4MDIwXFx1ODAyNVxcdTdCMzlcXHU4MDJFXFx1ODAzMVxcdTgwNTRcXHUzRENDXFx1NTdCNFxcdTcwQTBcXHU4MEI3XFx1ODBFOVxcdTQzRURcXHU4MTBDXFx1NzMyQVxcdTgxMEVcXHU4MTEyXFx1NzU2MFxcdTgxMTRcXHU0NDAxXFx1M0IzOVxcdTgxNTZcXHU4MTU5XFx1ODE1QVwiXSxcbiAgICAgIFtcIjk5YTFcIiwgXCJcXHU0NDEzXFx1NTgzQVxcdTgxN0NcXHU4MTg0XFx1NDQyNVxcdTgxOTNcXHU0NDJEXFx1ODFBNVxcdTU3RUZcXHU4MUMxXFx1ODFFNFxcdTgyNTRcXHU0NDhGXFx1ODJBNlxcdTgyNzZcXHU4MkNBXFx1ODJEOFxcdTgyRkZcXHU0NEIwXFx1ODM1N1xcdTk2NjlcXHU2OThBXFx1ODQwNVxcdTcwRjVcXHU4NDY0XFx1NjBFM1xcdTg0ODhcXHU0NTA0XFx1ODRCRVxcdTg0RTFcXHU4NEY4XFx1ODUxMFxcdTg1MzhcXHU4NTUyXFx1NDUzQlxcdTg1NkZcXHU4NTcwXFx1ODVFMFxcdTQ1NzdcXHU4NjcyXFx1ODY5MlxcdTg2QjJcXHU4NkVGXFx1OTY0NVxcdTg3OEJcXHU0NjA2XFx1NDYxN1xcdTg4QUVcXHU4OEZGXFx1ODkyNFxcdTg5NDdcXHU4OTkxXFx1ezI3OTY3fVxcdThBMjlcXHU4QTM4XFx1OEE5NFxcdThBQjRcXHU4QzUxXFx1OENENFxcdThDRjJcXHU4RDFDXFx1NDc5OFxcdTU4NUZcXHU4REMzXFx1NDdFRFxcdTRFRUVcXHU4RTNBXFx1NTVEOFxcdTU3NTRcXHU4RTcxXFx1NTVGNVxcdThFQjBcXHU0ODM3XFx1OEVDRVxcdThFRTJcXHU4RUU0XFx1OEVFRFxcdThFRjJcXHU4RkI3XFx1OEZDMVxcdThGQ0FcXHU4RkNDXFx1OTAzM1xcdTk5QzRcXHU0OEFEXFx1OThFMFxcdTkyMTNcXHU0OTFFXFx1OTIyOFxcdTkyNThcXHU5MjZCXFx1OTJCMVxcdTkyQUVcXHU5MkJGXCJdLFxuICAgICAgW1wiOWE0MFwiLCBcIlxcdTkyRTNcXHU5MkVCXFx1OTJGM1xcdTkyRjRcXHU5MkZEXFx1OTM0M1xcdTkzODRcXHU5M0FEXFx1NDk0NVxcdTQ5NTFcXHU5RUJGXFx1OTQxN1xcdTUzMDFcXHU5NDFEXFx1OTQyRFxcdTk0M0VcXHU0OTZBXFx1OTQ1NFxcdTk0NzlcXHU5NTJEXFx1OTVBMlxcdTQ5QTdcXHU5NUY0XFx1OTYzM1xcdTQ5RTVcXHU2N0EwXFx1NEEyNFxcdTk3NDBcXHU0QTM1XFx1OTdCMlxcdTk3QzJcXHU1NjU0XFx1NEFFNFxcdTYwRThcXHU5OEI5XFx1NEIxOVxcdTk4RjFcXHU1ODQ0XFx1OTkwRVxcdTk5MTlcXHU1MUI0XFx1OTkxQ1xcdTk5MzdcXHU5OTQyXFx1OTk1RFxcdTk5NjJcXHU0QjcwXFx1OTlDNVxcdTRCOURcXHU5QTNDXFx1OUIwRlxcdTdBODNcXHU5QjY5XFx1OUI4MVxcdTlCRERcXHU5QkYxXFx1OUJGNFxcdTRDNkRcXHU5QzIwXFx1Mzc2RlxcdXsyMUJDMn1cXHU5RDQ5XFx1OUMzQVwiXSxcbiAgICAgIFtcIjlhYTFcIiwgXCJcXHU5RUZFXFx1NTY1MFxcdTlEOTNcXHU5REJEXFx1OURDMFxcdTlERkNcXHU5NEY2XFx1OEZCNlxcdTlFN0JcXHU5RUFDXFx1OUVCMVxcdTlFQkRcXHU5RUM2XFx1OTREQ1xcdTlFRTJcXHU5RUYxXFx1OUVGOFxcdTdBQzhcXHU5RjQ0XFx1ezIwMDk0fVxcdXsyMDJCN31cXHV7MjAzQTB9XFx1NjkxQVxcdTk0QzNcXHU1OUFDXFx1ezIwNEQ3fVxcdTU4NDBcXHU5NEMxXFx1MzdCOVxcdXsyMDVENX1cXHV7MjA2MTV9XFx1ezIwNjc2fVxcdXsyMTZCQX1cXHU1NzU3XFx1NzE3M1xcdXsyMEFDMn1cXHV7MjBBQ0R9XFx1ezIwQkJGfVxcdTU0NkFcXHV7MkY4M0J9XFx1ezIwQkNCfVxcdTU0OUVcXHV7MjBCRkJ9XFx1ezIwQzNCfVxcdXsyMEM1M31cXHV7MjBDNjV9XFx1ezIwQzdDfVxcdTYwRTdcXHV7MjBDOER9XFx1NTY3QVxcdXsyMENCNX1cXHV7MjBDRER9XFx1ezIwQ0VEfVxcdXsyMEQ2Rn1cXHV7MjBEQjJ9XFx1ezIwREM4fVxcdTY5NTVcXHU5QzJGXFx1ODdBNVxcdXsyMEUwNH1cXHV7MjBFMEV9XFx1ezIwRUQ3fVxcdXsyMEY5MH1cXHV7MjBGMkR9XFx1ezIwRTczfVxcdTVDMjBcXHV7MjBGQkN9XFx1NUUwQlxcdXsyMTA1Q31cXHV7MjEwNEZ9XFx1ezIxMDc2fVxcdTY3MUVcXHV7MjEwN0J9XFx1ezIxMDg4fVxcdXsyMTA5Nn1cXHUzNjQ3XFx1ezIxMEJGfVxcdXsyMTBEM31cXHV7MjExMkZ9XFx1ezIxMTNCfVxcdTUzNjRcXHU4NEFEXFx1ezIxMkUzfVxcdXsyMTM3NX1cXHV7MjEzMzZ9XFx1OEI4MVxcdXsyMTU3N31cXHV7MjE2MTl9XFx1ezIxN0MzfVxcdXsyMTdDN31cXHU0RTc4XFx1NzBCQlxcdXsyMTgyRH1cXHV7MjE5NkF9XCJdLFxuICAgICAgW1wiOWI0MFwiLCBcIlxcdXsyMUEyRH1cXHV7MjFBNDV9XFx1ezIxQzJBfVxcdXsyMUM3MH1cXHV7MjFDQUN9XFx1ezIxRUM4fVxcdTYyQzNcXHV7MjFFRDV9XFx1ezIxRjE1fVxcdTcxOThcXHU2ODU1XFx1ezIyMDQ1fVxcdTY5RTlcXHUzNkM4XFx1ezIyMjdDfVxcdXsyMjNEN31cXHV7MjIzRkF9XFx1ezIyNzJBfVxcdXsyMjg3MX1cXHV7MjI5NEZ9XFx1ODJGRFxcdXsyMjk2N31cXHV7MjI5OTN9XFx1ezIyQUQ1fVxcdTg5QTVcXHV7MjJBRTh9XFx1OEZBMFxcdXsyMkIwRX1cXHU5N0I4XFx1ezIyQjNGfVxcdTk4NDdcXHU5QUJEXFx1ezIyQzRDfVwiXSxcbiAgICAgIFtcIjliNjJcIiwgXCJcXHV7MjJDODh9XFx1ezIyQ0I3fVxcdXsyNUJFOH1cXHV7MjJEMDh9XFx1ezIyRDEyfVxcdXsyMkRCN31cXHV7MjJEOTV9XFx1ezIyRTQyfVxcdXsyMkY3NH1cXHV7MjJGQ0N9XFx1ezIzMDMzfVxcdXsyMzA2Nn1cXHV7MjMzMUZ9XFx1ezIzM0RFfVxcdTVGQjFcXHU2NjQ4XFx1NjZCRlxcdXsyN0E3OX1cXHV7MjM1Njd9XFx1ezIzNUYzfVxcdTcyMDFcXHV7MjQ5QkF9XFx1NzdEN1xcdXsyMzYxQX1cXHV7MjM3MTZ9XFx1N0U4N1xcdXsyMDM0Nn1cXHU1OEI1XFx1NjcwRVwiXSxcbiAgICAgIFtcIjliYTFcIiwgXCJcXHU2OTE4XFx1ezIzQUE3fVxcdXsyNzY1N31cXHV7MjVGRTJ9XFx1ezIzRTExfVxcdXsyM0VCOX1cXHV7Mjc1RkV9XFx1ezIyMDlBfVxcdTQ4RDBcXHU0QUI4XFx1ezI0MTE5fVxcdXsyOEE5QX1cXHV7MjQyRUV9XFx1ezI0MzBEfVxcdXsyNDAzQn1cXHV7MjQzMzR9XFx1ezI0Mzk2fVxcdXsyNEE0NX1cXHV7MjA1Q0F9XFx1NTFEMlxcdXsyMDYxMX1cXHU1OTlGXFx1ezIxRUE4fVxcdTNCQkVcXHV7MjNDRkZ9XFx1ezI0NDA0fVxcdXsyNDRENn1cXHU1Nzg4XFx1ezI0Njc0fVxcdTM5OUJcXHV7MjQ3MkZ9XFx1ezI4NUU4fVxcdXsyOTlDOX1cXHUzNzYyXFx1ezIyMUMzfVxcdThCNUVcXHV7MjhCNEV9XFx1OTlENlxcdXsyNDgxMn1cXHV7MjQ4RkJ9XFx1ezI0QTE1fVxcdTcyMDlcXHV7MjRBQzB9XFx1ezIwQzc4fVxcdTU5NjVcXHV7MjRFQTV9XFx1ezI0Rjg2fVxcdXsyMDc3OX1cXHU4RURBXFx1ezI1MDJDfVxcdTUyOEZcXHU1NzNGXFx1NzE3MVxcdXsyNTI5OX1cXHV7MjU0MTl9XFx1ezIzRjRBfVxcdXsyNEFBN31cXHU1NUJDXFx1ezI1NDQ2fVxcdXsyNTQ2RX1cXHV7MjZCNTJ9XFx1OTFENFxcdTM0NzNcXHV7MjU1M0Z9XFx1ezI3NjMyfVxcdXsyNTU1RX1cXHU0NzE4XFx1ezI1NTYyfVxcdXsyNTU2Nn1cXHV7MjU3Qzd9XFx1ezI0OTNGfVxcdXsyNTg1RH1cXHU1MDY2XFx1MzRGQlxcdXsyMzNDQ31cXHU2MERFXFx1ezI1OTAzfVxcdTQ3N0NcXHV7Mjg5NDh9XFx1ezI1QUFFfVxcdXsyNUI4OX1cXHV7MjVDMDZ9XFx1ezIxRDkwfVxcdTU3QTFcXHU3MTUxXFx1NkZCNlxcdXsyNjEwMn1cXHV7MjdDMTJ9XFx1OTA1NlxcdXsyNjFCMn1cXHV7MjRGOUF9XFx1OEI2MlxcdXsyNjQwMn1cXHV7MjY0NEF9XCJdLFxuICAgICAgW1wiOWM0MFwiLCBcIlxcdTVENUJcXHV7MjZCRjd9XFx1OEYzNlxcdXsyNjQ4NH1cXHV7MjE5MUN9XFx1OEFFQVxcdXsyNDlGNn1cXHV7MjY0ODh9XFx1ezIzRkVGfVxcdXsyNjUxMn1cXHU0QkMwXFx1ezI2NUJGfVxcdXsyNjZCNX1cXHV7MjI3MUJ9XFx1OTQ2NVxcdXsyNTdFMX1cXHU2MTk1XFx1NUEyN1xcdXsyRjhDRH1cXHU0RkJCXFx1NTZCOVxcdXsyNDUyMX1cXHV7MjY2RkN9XFx1NEU2QVxcdXsyNDkzNH1cXHU5NjU2XFx1NkQ4RlxcdXsyNkNCRH1cXHUzNjE4XFx1ODk3N1xcdXsyNjc5OX1cXHV7MjY4NkV9XFx1ezI2NDExfVxcdXsyNjg1RX1cXHU3MURGXFx1ezI2OEM3fVxcdTdCNDJcXHV7MjkwQzB9XFx1ezIwQTExfVxcdXsyNjkyNn1cXHU5MTA0XFx1ezI2OTM5fVxcdTdBNDVcXHU5REYwXFx1ezI2OUZBfVxcdTlBMjZcXHV7MjZBMkR9XFx1MzY1RlxcdXsyNjQ2OX1cXHV7MjAwMjF9XFx1Nzk4M1xcdXsyNkEzNH1cXHV7MjZCNUJ9XFx1NUQyQ1xcdXsyMzUxOX1cXHU4M0NGXFx1ezI2QjlEfVxcdTQ2RDBcXHV7MjZDQTR9XFx1NzUzQlxcdTg4NjVcXHV7MjZEQUV9XFx1NThCNlwiXSxcbiAgICAgIFtcIjljYTFcIiwgXCJcXHUzNzFDXFx1ezIyNThEfVxcdXsyNzA0Qn1cXHV7MjcxQ0R9XFx1M0M1NFxcdXsyNzI4MH1cXHV7MjcyODV9XFx1OTI4MVxcdXsyMjE3QX1cXHV7MjcyOEJ9XFx1OTMzMFxcdXsyNzJFNn1cXHV7MjQ5RDB9XFx1NkMzOVxcdTk0OUZcXHV7Mjc0NTB9XFx1ezIwRUY4fVxcdTg4MjdcXHU4OEY1XFx1ezIyOTI2fVxcdXsyODQ3M31cXHV7MjE3QjF9XFx1NkVCOFxcdXsyNEEyQX1cXHV7MjE4MjB9XFx1MzlBNFxcdTM2QjlcXHU1QzEwXFx1NzlFM1xcdTQ1M0ZcXHU2NkI2XFx1ezI5Q0FEfVxcdXsyOThBNH1cXHU4OTQzXFx1ezI3N0NDfVxcdXsyNzg1OH1cXHU1NkQ2XFx1NDBERlxcdXsyMTYwQX1cXHUzOUExXFx1ezIzNzJGfVxcdXsyODBFOH1cXHV7MjEzQzV9XFx1NzFBRFxcdTgzNjZcXHV7Mjc5RER9XFx1ezI5MUE4fVxcdTVBNjdcXHU0Q0I3XFx1ezI3MEFGfVxcdXsyODlBQn1cXHV7Mjc5RkR9XFx1ezI3QTBBfVxcdXsyN0IwQn1cXHV7MjdENjZ9XFx1ezI0MTdBfVxcdTdCNDNcXHU3OTdFXFx1ezI4MDA5fVxcdTZGQjVcXHV7MkEyREZ9XFx1NkEwM1xcdXsyODMxOH1cXHU1M0EyXFx1ezI2RTA3fVxcdTkzQkZcXHU2ODM2XFx1OTc1RFxcdXsyODE2Rn1cXHV7MjgwMjN9XFx1ezI2OUI1fVxcdXsyMTNFRH1cXHV7MjMyMkZ9XFx1ezI4MDQ4fVxcdTVEODVcXHV7MjhDMzB9XFx1ezI4MDgzfVxcdTU3MTVcXHU5ODIzXFx1ezI4OTQ5fVxcdTVEQUJcXHV7MjQ5ODh9XFx1NjVCRVxcdTY5RDVcXHU1M0QyXFx1ezI0QUE1fVxcdXsyM0Y4MX1cXHUzQzExXFx1NjczNlxcdXsyODA5MH1cXHV7MjgwRjR9XFx1ezI4MTJFfVxcdXsyMUZBMX1cXHV7MjgxNEZ9XCJdLFxuICAgICAgW1wiOWQ0MFwiLCBcIlxcdXsyODE4OX1cXHV7MjgxQUZ9XFx1ezI4MjFBfVxcdXsyODMwNn1cXHV7MjgzMkZ9XFx1ezI4MzhBfVxcdTM1Q0FcXHV7Mjg0Njh9XFx1ezI4NkFBfVxcdTQ4RkFcXHU2M0U2XFx1ezI4OTU2fVxcdTc4MDhcXHU5MjU1XFx1ezI4OUI4fVxcdTQzRjJcXHV7Mjg5RTd9XFx1NDNERlxcdXsyODlFOH1cXHV7MjhCNDZ9XFx1ezI4QkQ0fVxcdTU5RjhcXHV7MjhDMDl9XFx1OEYwQlxcdXsyOEZDNX1cXHV7MjkwRUN9XFx1N0I1MVxcdXsyOTExMH1cXHV7MjkxM0N9XFx1M0RGN1xcdXsyOTE1RX1cXHV7MjRBQ0F9XFx1OEZEMFxcdTcyOEZcXHU1NjhCXFx1ezI5NEU3fVxcdXsyOTVFOX1cXHV7Mjk1QjB9XFx1ezI5NUI4fVxcdXsyOTczMn1cXHV7Mjk4RDF9XFx1ezI5OTQ5fVxcdXsyOTk2QX1cXHV7Mjk5QzN9XFx1ezI5QTI4fVxcdXsyOUIwRX1cXHV7MjlENUF9XFx1ezI5RDlCfVxcdTdFOUZcXHV7MjlFRjh9XFx1ezI5RjIzfVxcdTRDQTRcXHU5NTQ3XFx1ezJBMjkzfVxcdTcxQTJcXHV7MkEyRkZ9XFx1NEQ5MVxcdTkwMTJcXHV7MkE1Q0J9XFx1NEQ5Q1xcdXsyMEM5Q31cXHU4RkJFXFx1NTVDMVwiXSxcbiAgICAgIFtcIjlkYTFcIiwgXCJcXHU4RkJBXFx1ezIyNEIwfVxcdThGQjlcXHV7MjRBOTN9XFx1NDUwOVxcdTdFN0ZcXHU2RjU2XFx1NkFCMVxcdTRFRUFcXHUzNEU0XFx1ezI4QjJDfVxcdXsyNzg5RH1cXHUzNzNBXFx1OEU4MFxcdXsyMTdGNX1cXHV7MjgwMjR9XFx1ezI4QjZDfVxcdXsyOEI5OX1cXHV7MjdBM0V9XFx1ezI2NkFGfVxcdTNERUJcXHV7Mjc2NTV9XFx1ezIzQ0I3fVxcdXsyNTYzNX1cXHV7MjU5NTZ9XFx1NEU5QVxcdXsyNUU4MX1cXHV7MjYyNTh9XFx1NTZCRlxcdXsyMEU2RH1cXHU4RTBFXFx1NUI2RFxcdXsyM0U4OH1cXHV7MjRDOUV9XFx1NjNERVxcdTYyRDBcXHV7MjE3RjZ9XFx1ezIxODdCfVxcdTY1MzBcXHU1NjJEXFx1ezI1QzRBfVxcdTU0MUFcXHV7MjUzMTF9XFx1M0RDNlxcdXsyOUQ5OH1cXHU0QzdEXFx1NTYyMlxcdTU2MUVcXHU3RjQ5XFx1ezI1RUQ4fVxcdTU5NzVcXHV7MjNENDB9XFx1ODc3MFxcdTRFMUNcXHV7MjBGRUF9XFx1ezIwRDQ5fVxcdXsyMzZCQX1cXHU4MTE3XFx1OUQ1RVxcdThEMThcXHU3NjNCXFx1OUM0NVxcdTc2NEVcXHU3N0I5XFx1OTM0NVxcdTU0MzJcXHU4MTQ4XFx1ODJGN1xcdTU2MjVcXHU4MTMyXFx1ODQxOFxcdTgwQkRcXHU1NUVBXFx1Nzk2MlxcdTU2NDNcXHU1NDE2XFx1ezIwRTlEfVxcdTM1Q0VcXHU1NjA1XFx1NTVGMVxcdTY2RjFcXHV7MjgyRTJ9XFx1MzYyRFxcdTc1MzRcXHU1NUYwXFx1NTVCQVxcdTU0OTdcXHU1NTcyXFx1ezIwQzQxfVxcdXsyMEM5Nn1cXHU1RUQwXFx1ezI1MTQ4fVxcdXsyMEU3Nn1cXHV7MjJDNjJ9XCJdLFxuICAgICAgW1wiOWU0MFwiLCBcIlxcdXsyMEVBMn1cXHU5RUFCXFx1N0Q1QVxcdTU1REVcXHV7MjEwNzV9XFx1NjI5RFxcdTk3NkRcXHU1NDk0XFx1OENDRFxcdTcxRjZcXHU5MTc2XFx1NjNGQ1xcdTYzQjlcXHU2M0ZFXFx1NTU2OVxcdXsyMkI0M31cXHU5QzcyXFx1ezIyRUIzfVxcdTUxOUFcXHUzNERGXFx1ezIwREE3fVxcdTUxQTdcXHU1NDREXFx1NTUxRVxcdTU1MTNcXHU3NjY2XFx1OEUyRFxcdXsyNjg4QX1cXHU3NUIxXFx1ODBCNlxcdTg4MDRcXHU4Nzg2XFx1ODhDN1xcdTgxQjZcXHU4NDFDXFx1ezIxMEMxfVxcdTQ0RUNcXHU3MzA0XFx1ezI0NzA2fVxcdTVCOTBcXHU4MzBCXFx1ezI2ODkzfVxcdTU2N0JcXHV7MjI2RjR9XFx1ezI3RDJGfVxcdXsyNDFBM31cXHV7MjdENzN9XFx1ezI2RUQwfVxcdXsyNzJCNn1cXHU5MTcwXFx1ezIxMUQ5fVxcdTkyMDhcXHV7MjNDRkN9XFx1ezJBNkE5fVxcdXsyMEVBQ31cXHV7MjBFRjl9XFx1NzI2NlxcdXsyMUNBMn1cXHU0NzRFXFx1ezI0RkMyfVxcdXsyN0ZGOX1cXHV7MjBGRUJ9XFx1NDBGQVwiXSxcbiAgICAgIFtcIjllYTFcIiwgXCJcXHU5QzVEXFx1NjUxRlxcdXsyMkRBMH1cXHU0OEYzXFx1ezI0N0UwfVxcdXsyOUQ3Q31cXHV7MjBGRUN9XFx1ezIwRTBBfVxcdTYwNjJcXHV7Mjc1QTN9XFx1ezIwRkVEfVwiXSxcbiAgICAgIFtcIjllYWRcIiwgXCJcXHV7MjYwNDh9XFx1ezIxMTg3fVxcdTcxQTNcXHU3RThFXFx1OUQ1MFxcdTRFMUFcXHU0RTA0XFx1MzU3N1xcdTVCMERcXHU2Q0IyXFx1NTM2N1xcdTM2QUNcXHUzOURDXFx1NTM3RFxcdTM2QTVcXHV7MjQ2MTh9XFx1NTg5QVxcdXsyNEI2RX1cXHU4MjJEXFx1NTQ0QlxcdTU3QUFcXHV7MjVBOTV9XFx1ezIwOTc5fVwiXSxcbiAgICAgIFtcIjllYzVcIiwgXCJcXHUzQTUyXFx1ezIyNDY1fVxcdTczNzRcXHV7MjlFQUN9XFx1NEQwOVxcdTlCRURcXHV7MjNDRkV9XFx1ezI5RjMwfVxcdTRDNUJcXHV7MjRGQTl9XFx1ezI5NTlFfVxcdXsyOUZERX1cXHU4NDVDXFx1ezIzREI2fVxcdXsyNzJCMn1cXHV7MjY3QjN9XFx1ezIzNzIwfVxcdTYzMkVcXHU3RDI1XFx1ezIzRUY3fVxcdXsyM0UyQ31cXHUzQTJBXFx1OTAwOFxcdTUyQ0NcXHUzRTc0XFx1MzY3QVxcdTQ1RTlcXHV7MjA0OEV9XFx1NzY0MFxcdTVBRjBcXHV7MjBFQjZ9XFx1Nzg3QVxcdXsyN0YyRX1cXHU1OEE3XFx1NDBCRlxcdTU2N0NcXHU5QjhCXFx1NUQ3NFxcdTc2NTRcXHV7MkE0MzR9XFx1OUU4NVxcdTRDRTFcXHU3NUY5XFx1MzdGQlxcdTYxMTlcXHV7MjMwREF9XFx1ezI0M0YyfVwiXSxcbiAgICAgIFtcIjllZjVcIiwgXCJcXHU1NjVEXFx1ezIxMkE5fVxcdTU3QTdcXHV7MjQ5NjN9XFx1ezI5RTA2fVxcdTUyMzRcXHV7MjcwQUV9XFx1MzVBRFxcdTZDNEFcXHU5RDdDXCJdLFxuICAgICAgW1wiOWY0MFwiLCBcIlxcdTdDNTZcXHU5QjM5XFx1NTdERVxcdXsyMTc2Q31cXHU1QzUzXFx1NjREM1xcdXsyOTREMH1cXHV7MjYzMzV9XFx1ezI3MTY0fVxcdTg2QURcXHV7MjBEMjh9XFx1ezI2RDIyfVxcdXsyNEFFMn1cXHV7MjBENzF9XCJdLFxuICAgICAgW1wiOWY0ZlwiLCBcIlxcdTUxRkVcXHV7MjFGMEZ9XFx1NUQ4RVxcdTk3MDNcXHV7MjFERDF9XFx1OUU4MVxcdTkwNENcXHU3QjFGXFx1OUIwMlxcdTVDRDFcXHU3QkEzXFx1NjI2OFxcdTYzMzVcXHU5QUZGXFx1N0JDRlxcdTlCMkFcXHU3QzdFXFx1OUIyRVxcdTdDNDJcXHU3Qzg2XFx1OUMxNVxcdTdCRkNcXHU5QjA5XFx1OUYxN1xcdTlDMUJcXHV7MjQ5M0V9XFx1OUY1QVxcdTU1NzNcXHU1QkMzXFx1NEZGRFxcdTlFOThcXHU0RkYyXFx1NTI2MFxcdTNFMDZcXHU1MkQxXFx1NTc2N1xcdTUwNTZcXHU1OUI3XFx1NUUxMlxcdTk3QzhcXHU5REFCXFx1OEY1Q1xcdTU0NjlcXHU5N0I0XFx1OTk0MFxcdTk3QkFcXHU1MzJDXFx1NjEzMFwiXSxcbiAgICAgIFtcIjlmYTFcIiwgXCJcXHU2OTJDXFx1NTNEQVxcdTlDMEFcXHU5RDAyXFx1NEMzQlxcdTk2NDFcXHU2OTgwXFx1NTBBNlxcdTc1NDZcXHV7MjE3NkR9XFx1OTlEQVxcdTUyNzNcIl0sXG4gICAgICBbXCI5ZmFlXCIsIFwiXFx1OTE1OVxcdTk2ODFcXHU5MTVDXCJdLFxuICAgICAgW1wiOWZiMlwiLCBcIlxcdTkxNTFcXHV7MjhFOTd9XFx1NjM3RlxcdXsyNkQyM31cXHU2QUNBXFx1NTYxMVxcdTkxOEVcXHU3NTdBXFx1NjI4NVxcdXsyMDNGQ31cXHU3MzRGXFx1N0M3MFxcdXsyNUMyMX1cXHV7MjNDRkR9XCJdLFxuICAgICAgW1wiOWZjMVwiLCBcIlxcdXsyNDkxOX1cXHU3NkQ2XFx1OUI5RFxcdTRFMkFcXHV7MjBDRDR9XFx1ODNCRVxcdTg4NDJcIl0sXG4gICAgICBbXCI5ZmM5XCIsIFwiXFx1NUM0QVxcdTY5QzBcXHU1MEVEXFx1NTc3QVxcdTUyMUZcXHU1REY1XFx1NEVDRVxcdTZDMzFcXHV7MjAxRjJ9XFx1NEYzOVxcdTU0OUNcXHU1NERBXFx1NTI5QVxcdThEODJcXHUzNUZFXFx1NUYwQ1xcdTM1RjNcIl0sXG4gICAgICBbXCI5ZmRiXCIsIFwiXFx1NkI1MlxcdTkxN0NcXHU5RkE1XFx1OUI5N1xcdTk4MkVcXHU5OEI0XFx1OUFCQVxcdTlFQThcXHU5RTg0XFx1NzE3QVxcdTdCMTRcIl0sXG4gICAgICBbXCI5ZmU3XCIsIFwiXFx1NkJGQVxcdTg4MThcXHU3Rjc4XCJdLFxuICAgICAgW1wiOWZlYlwiLCBcIlxcdTU2MjBcXHV7MkE2NEF9XFx1OEU3N1xcdTlGNTNcIl0sXG4gICAgICBbXCI5ZmYwXCIsIFwiXFx1OERENFxcdThFNEZcXHU5RTFDXFx1OEUwMVxcdTYyODJcXHV7MjgzN0R9XFx1OEUyOFxcdThFNzVcXHU3QUQzXFx1ezI0QTc3fVxcdTdBM0VcXHU3OEQ4XFx1NkNFQVxcdThBNjdcXHU3NjA3XCJdLFxuICAgICAgW1wiYTA0MFwiLCBcIlxcdXsyOEE1QX1cXHU5RjI2XFx1NkNDRVxcdTg3RDZcXHU3NUMzXFx1ezJBMkIyfVxcdTc4NTNcXHV7MkY4NDB9XFx1OEQwQ1xcdTcyRTJcXHU3MzcxXFx1OEIyRFxcdTczMDJcXHU3NEYxXFx1OENFQlxcdXsyNEFCQn1cXHU4NjJGXFx1NUZCQVxcdTg4QTBcXHU0NEI3XCJdLFxuICAgICAgW1wiYTA1NVwiLCBcIlxcdXsyMTgzQn1cXHV7MjZFMDV9XCJdLFxuICAgICAgW1wiYTA1OFwiLCBcIlxcdThBN0VcXHV7MjI1MUJ9XCJdLFxuICAgICAgW1wiYTA1YlwiLCBcIlxcdTYwRkRcXHU3NjY3XFx1OUFEN1xcdTlENDRcXHU5MzZFXFx1OUI4RlxcdTg3RjVcIl0sXG4gICAgICBbXCJhMDYzXCIsIFwiXFx1ODgwRlxcdThDRjdcXHU3MzJDXFx1OTcyMVxcdTlCQjBcXHUzNUQ2XFx1NzJCMlxcdTRDMDdcXHU3QzUxXFx1OTk0QVxcdXsyNjE1OX1cXHU2MTU5XFx1NEMwNFxcdTlFOTZcXHU2MTdEXCJdLFxuICAgICAgW1wiYTA3M1wiLCBcIlxcdTU3NUZcXHU2MTZGXFx1NjJBNlxcdTYyMzlcXHU2MkNFXFx1M0E1Q1xcdTYxRTJcXHU1M0FBXFx1ezIzM0Y1fVxcdTYzNjRcXHU2ODAyXFx1MzVEMlwiXSxcbiAgICAgIFtcImEwYTFcIiwgXCJcXHU1RDU3XFx1ezI4QkMyfVxcdThGREFcXHV7MjhFMzl9XCJdLFxuICAgICAgW1wiYTBhNlwiLCBcIlxcdTUwRDlcXHV7MjFENDZ9XFx1NzkwNlxcdTUzMzJcXHU5NjM4XFx1ezIwRjNCfVxcdTQwNjVcIl0sXG4gICAgICBbXCJhMGFlXCIsIFwiXFx1NzdGRVwiXSxcbiAgICAgIFtcImEwYjBcIiwgXCJcXHU3Q0MyXFx1ezI1RjFBfVxcdTdDREFcXHU3QTJEXFx1ODA2NlxcdTgwNjNcXHU3RDREXFx1NzUwNVxcdTc0RjJcXHU4OTk0XFx1ODIxQVxcdTY3MENcXHU4MDYyXFx1ezI3NDg2fVxcdTgwNUJcXHU3NEYwXFx1ODEwM1xcdTc3MjRcXHU4OTg5XFx1ezI2N0NDfVxcdTc1NTNcXHV7MjZFRDF9XFx1ODdBOVxcdTg3Q0VcXHU4MUM4XFx1ODc4Q1xcdThBNDlcXHU4Q0FEXFx1OEI0M1xcdTc3MkJcXHU3NEY4XFx1ODREQVxcdTM2MzVcXHU2OUIyXFx1OERBNlwiXSxcbiAgICAgIFtcImEwZDRcIiwgXCJcXHU4OUE5XFx1NzQ2OFxcdTZEQjlcXHU4N0MxXFx1ezI0MDExfVxcdTc0RTdcXHUzRERCXFx1NzE3NlxcdTYwQTRcXHU2MTlDXFx1M0NEMVxcdTcxNjJcXHU2MDc3XCJdLFxuICAgICAgW1wiYTBlMlwiLCBcIlxcdTdGNzFcXHV7MjhCMkR9XFx1NzI1MFxcdTYwRTlcXHU0QjdFXFx1NTIyMFxcdTNDMThcXHV7MjNDQzd9XFx1ezI1RUQ3fVxcdXsyNzY1Nn1cXHV7MjU1MzF9XFx1ezIxOTQ0fVxcdXsyMTJGRX1cXHV7Mjk5MDN9XFx1ezI2RERDfVxcdXsyNzBBRH1cXHU1Q0MxXFx1ezI2MUFEfVxcdXsyOEEwRn1cXHV7MjM2Nzd9XFx1ezIwMEVFfVxcdXsyNjg0Nn1cXHV7MjRGMEV9XFx1NDU2MlxcdTVCMUZcXHV7MjYzNEN9XFx1OUY1MFxcdTlFQTZcXHV7MjYyNkJ9XCJdLFxuICAgICAgW1wiYTNjMFwiLCBcIlxcdTI0MDBcIiwgMzEsIFwiXFx1MjQyMVwiXSxcbiAgICAgIFtcImM2YTFcIiwgXCJcXHUyNDYwXCIsIDksIFwiXFx1MjQ3NFwiLCA5LCBcIlxcdTIxNzBcIiwgOSwgXCJcXHU0RTM2XFx1NEUzRlxcdTRFODVcXHU0RUEwXFx1NTE4MlxcdTUxOTZcXHU1MUFCXFx1NTJGOVxcdTUzMzhcXHU1MzY5XFx1NTNCNlxcdTU5MEFcXHU1QjgwXFx1NUREQlxcdTJGMzNcXHU1RTdGXFx1NUVGNFxcdTVGNTBcXHU1RjYxXFx1NjUzNFxcdTY1RTBcXHU3NTkyXFx1NzY3NlxcdThGQjVcXHU5NkI2XFx4QThcXHUwMkM2XFx1MzBGRFxcdTMwRkVcXHUzMDlEXFx1MzA5RVxcdTMwMDNcXHU0RUREXFx1MzAwNVxcdTMwMDZcXHUzMDA3XFx1MzBGQ1xcdUZGM0JcXHVGRjNEXFx1MjczRFxcdTMwNDFcIiwgMjNdLFxuICAgICAgW1wiYzc0MFwiLCBcIlxcdTMwNTlcIiwgNTgsIFwiXFx1MzBBMVxcdTMwQTJcXHUzMEEzXFx1MzBBNFwiXSxcbiAgICAgIFtcImM3YTFcIiwgXCJcXHUzMEE1XCIsIDgxLCBcIlxcdTA0MTBcIiwgNSwgXCJcXHUwNDAxXFx1MDQxNlwiLCA0XSxcbiAgICAgIFtcImM4NDBcIiwgXCJcXHUwNDFCXCIsIDI2LCBcIlxcdTA0NTFcXHUwNDM2XCIsIDI1LCBcIlxcdTIxRTdcXHUyMUI4XFx1MjFCOVxcdTMxQ0ZcXHV7MjAwQ0N9XFx1NEU1QVxcdXsyMDA4QX1cXHU1MjAyXFx1NDQ5MVwiXSxcbiAgICAgIFtcImM4YTFcIiwgXCJcXHU5RkIwXFx1NTE4OFxcdTlGQjFcXHV7Mjc2MDd9XCJdLFxuICAgICAgW1wiYzhjZFwiLCBcIlxcdUZGRTJcXHVGRkU0XFx1RkYwN1xcdUZGMDJcXHUzMjMxXFx1MjExNlxcdTIxMjFcXHUzMDlCXFx1MzA5Q1xcdTJFODBcXHUyRTg0XFx1MkU4NlxcdTJFODdcXHUyRTg4XFx1MkU4QVxcdTJFOENcXHUyRThEXFx1MkU5NVxcdTJFOUNcXHUyRTlEXFx1MkVBNVxcdTJFQTdcXHUyRUFBXFx1MkVBQ1xcdTJFQUVcXHUyRUI2XFx1MkVCQ1xcdTJFQkVcXHUyRUM2XFx1MkVDQVxcdTJFQ0NcXHUyRUNEXFx1MkVDRlxcdTJFRDZcXHUyRUQ3XFx1MkVERVxcdTJFRTNcIl0sXG4gICAgICBbXCJjOGY1XCIsIFwiXFx1MDI4M1xcdTAyNTBcXHUwMjVCXFx1MDI1NFxcdTAyNzVcXHUwMTUzXFx4RjhcXHUwMTRCXFx1MDI4QVxcdTAyNkFcIl0sXG4gICAgICBbXCJmOWZlXCIsIFwiXFx1RkZFRFwiXSxcbiAgICAgIFtcImZhNDBcIiwgXCJcXHV7MjA1NDd9XFx1OTJEQlxcdXsyMDVERn1cXHV7MjNGQzV9XFx1ODU0Q1xcdTQyQjVcXHU3M0VGXFx1NTFCNVxcdTM2NDlcXHV7MjQ5NDJ9XFx1ezI4OUU0fVxcdTkzNDRcXHV7MjE5REJ9XFx1ODJFRVxcdXsyM0NDOH1cXHU3ODNDXFx1Njc0NFxcdTYyREZcXHV7MjQ5MzN9XFx1ezI4OUFBfVxcdXsyMDJBMH1cXHV7MjZCQjN9XFx1ezIxMzA1fVxcdTRGQUJcXHV7MjI0RUR9XFx1NTAwOFxcdXsyNkQyOX1cXHV7MjdBODR9XFx1ezIzNjAwfVxcdXsyNEFCMX1cXHV7MjI1MTN9XFx1NTAyOVxcdXsyMDM3RX1cXHU1RkE0XFx1ezIwMzgwfVxcdXsyMDM0N31cXHU2RURCXFx1ezIwNDFGfVxcdTUwN0RcXHU1MTAxXFx1MzQ3QVxcdTUxMEVcXHU5ODZDXFx1Mzc0M1xcdTg0MTZcXHV7MjQ5QTR9XFx1ezIwNDg3fVxcdTUxNjBcXHV7MjMzQjR9XFx1NTE2QVxcdXsyMEJGRn1cXHV7MjIwRkN9XFx1ezIwMkU1fVxcdXsyMjUzMH1cXHV7MjA1OEV9XFx1ezIzMjMzfVxcdXsyMTk4M31cXHU1QjgyXFx1ODc3RFxcdXsyMDVCM31cXHV7MjNDOTl9XFx1NTFCMlxcdTUxQjhcIl0sXG4gICAgICBbXCJmYWExXCIsIFwiXFx1OUQzNFxcdTUxQzlcXHU1MUNGXFx1NTFEMVxcdTNDRENcXHU1MUQzXFx1ezI0QUE2fVxcdTUxQjNcXHU1MUUyXFx1NTM0MlxcdTUxRURcXHU4M0NEXFx1NjkzRVxcdXsyMzcyRH1cXHU1RjdCXFx1NTIwQlxcdTUyMjZcXHU1MjNDXFx1NTJCNVxcdTUyNTdcXHU1Mjk0XFx1NTJCOVxcdTUyQzVcXHU3QzE1XFx1ODU0MlxcdTUyRTBcXHU4NjBEXFx1ezI2QjEzfVxcdTUzMDVcXHV7MjhBREV9XFx1NTU0OVxcdTZFRDlcXHV7MjNGODB9XFx1ezIwOTU0fVxcdXsyM0ZFQ31cXHU1MzMzXFx1NTM0NFxcdXsyMEJFMn1cXHU2Q0NCXFx1ezIxNzI2fVxcdTY4MUJcXHU3M0Q1XFx1NjA0QVxcdTNFQUFcXHUzOENDXFx1ezIxNkU4fVxcdTcxRERcXHU0NEEyXFx1NTM2RFxcdTUzNzRcXHV7Mjg2QUJ9XFx1NTM3RVxcdTUzN0ZcXHV7MjE1OTZ9XFx1ezIxNjEzfVxcdTc3RTZcXHU1MzkzXFx1ezI4QTlCfVxcdTUzQTBcXHU1M0FCXFx1NTNBRVxcdTczQTdcXHV7MjU3NzJ9XFx1M0Y1OVxcdTczOUNcXHU1M0MxXFx1NTNDNVxcdTZDNDlcXHU0RTQ5XFx1NTdGRVxcdTUzRDlcXHUzQUFCXFx1ezIwQjhGfVxcdTUzRTBcXHV7MjNGRUJ9XFx1ezIyREEzfVxcdTUzRjZcXHV7MjBDNzd9XFx1NTQxM1xcdTcwNzlcXHU1NTJCXFx1NjY1N1xcdTZENUJcXHU1NDZEXFx1ezI2QjUzfVxcdXsyMEQ3NH1cXHU1NTVEXFx1NTQ4RlxcdTU0QTRcXHU0N0E2XFx1ezIxNzBEfVxcdXsyMEVERH1cXHUzREI0XFx1ezIwRDREfVwiXSxcbiAgICAgIFtcImZiNDBcIiwgXCJcXHV7Mjg5QkN9XFx1ezIyNjk4fVxcdTU1NDdcXHU0Q0VEXFx1NTQyRlxcdTc0MTdcXHU1NTg2XFx1NTVBOVxcdTU2MDVcXHV7MjE4RDd9XFx1ezI0MDNBfVxcdTQ1NTJcXHV7MjQ0MzV9XFx1NjZCM1xcdXsyMTBCNH1cXHU1NjM3XFx1NjZDRFxcdXsyMzI4QX1cXHU2NkE0XFx1NjZBRFxcdTU2NERcXHU1NjRGXFx1NzhGMVxcdTU2RjFcXHU5Nzg3XFx1NTNGRVxcdTU3MDBcXHU1NkVGXFx1NTZFRFxcdXsyOEI2Nn1cXHUzNjIzXFx1ezIxMjRGfVxcdTU3NDZcXHV7MjQxQTV9XFx1NkM2RVxcdTcwOEJcXHU1NzQyXFx1MzZCMVxcdXsyNkM3RX1cXHU1N0U2XFx1ezIxNDE2fVxcdTU4MDNcXHV7MjE0NTR9XFx1ezI0MzYzfVxcdTU4MjZcXHV7MjRCRjV9XFx1NTg1Q1xcdTU4QUFcXHUzNTYxXFx1NThFMFxcdTU4RENcXHV7MjEyM0N9XFx1NThGQlxcdTVCRkZcXHU1NzQzXFx1ezJBMTUwfVxcdXsyNDI3OH1cXHU5M0QzXFx1MzVBMVxcdTU5MUZcXHU2OEE2XFx1MzZDM1xcdTZFNTlcIl0sXG4gICAgICBbXCJmYmExXCIsIFwiXFx1ezIxNjNFfVxcdTVBMjRcXHU1NTUzXFx1ezIxNjkyfVxcdTg1MDVcXHU1OUM5XFx1ezIwRDRFfVxcdXsyNkM4MX1cXHV7MjZEMkF9XFx1ezIxN0RDfVxcdTU5RDlcXHV7MjE3RkJ9XFx1ezIxN0IyfVxcdXsyNkRBNn1cXHU2RDcxXFx1ezIxODI4fVxcdXsyMTZENX1cXHU1OUY5XFx1ezI2RTQ1fVxcdTVBQUJcXHU1QTYzXFx1MzZFNlxcdXsyNDlBOX1cXHU1QTc3XFx1MzcwOFxcdTVBOTZcXHU3NDY1XFx1NUFEM1xcdXsyNkZBMX1cXHV7MjI1NTR9XFx1M0Q4NVxcdXsyMTkxMX1cXHUzNzMyXFx1ezIxNkI4fVxcdTVFODNcXHU1MkQwXFx1NUI3NlxcdTY1ODhcXHU1QjdDXFx1ezI3QTBFfVxcdTQwMDRcXHU0ODVEXFx1ezIwMjA0fVxcdTVCRDVcXHU2MTYwXFx1ezIxQTM0fVxcdXsyNTlDQ31cXHV7MjA1QTV9XFx1NUJGM1xcdTVCOURcXHU0RDEwXFx1NUMwNVxcdXsyMUI0NH1cXHU1QzEzXFx1NzNDRVxcdTVDMTRcXHV7MjFDQTV9XFx1ezI2QjI4fVxcdTVDNDlcXHU0OEREXFx1NUM4NVxcdTVDRTlcXHU1Q0VGXFx1NUQ4QlxcdXsyMURGOX1cXHV7MjFFMzd9XFx1NUQxMFxcdTVEMThcXHU1RDQ2XFx1ezIxRUE0fVxcdTVDQkFcXHU1REQ3XFx1ODJGQ1xcdTM4MkRcXHV7MjQ5MDF9XFx1ezIyMDQ5fVxcdXsyMjE3M31cXHU4Mjg3XFx1MzgzNlxcdTNCQzJcXHU1RTJFXFx1NkE4QVxcdTVFNzVcXHU1RTdBXFx1ezI0NEJDfVxcdXsyMENEM31cXHU1M0E2XFx1NEVCN1xcdTVFRDBcXHU1M0E4XFx1ezIxNzcxfVxcdTVFMDlcXHU1RUY0XFx1ezI4NDgyfVwiXSxcbiAgICAgIFtcImZjNDBcIiwgXCJcXHU1RUY5XFx1NUVGQlxcdTM4QTBcXHU1RUZDXFx1NjgzRVxcdTk0MUJcXHU1RjBEXFx1ezIwMUMxfVxcdXsyRjg5NH1cXHUzQURFXFx1NDhBRVxcdXsyMTMzQX1cXHU1RjNBXFx1ezI2ODg4fVxcdXsyMjNEMH1cXHU1RjU4XFx1ezIyNDcxfVxcdTVGNjNcXHU5N0JEXFx1ezI2RTZFfVxcdTVGNzJcXHU5MzQwXFx1ezI4QTM2fVxcdTVGQTdcXHU1REI2XFx1M0Q1RlxcdXsyNTI1MH1cXHV7MjFGNkF9XFx1ezI3MEY4fVxcdXsyMjY2OH1cXHU5MUQ2XFx1ezIwMjlFfVxcdXsyOEEyOX1cXHU2MDMxXFx1NjY4NVxcdXsyMTg3N31cXHUzOTYzXFx1M0RDN1xcdTM2MzlcXHU1NzkwXFx1ezIyN0I0fVxcdTc5NzFcXHUzRTQwXFx1NjA5RVxcdTYwQTRcXHU2MEIzXFx1ezI0OTgyfVxcdXsyNDk4Rn1cXHV7MjdBNTN9XFx1NzRBNFxcdTUwRTFcXHU1QUEwXFx1NjE2NFxcdTg0MjRcXHU2MTQyXFx1ezJGOEE2fVxcdXsyNkVEMn1cXHU2MTgxXFx1NTFGNFxcdXsyMDY1Nn1cXHU2MTg3XFx1NUJBQVxcdXsyM0ZCN31cIl0sXG4gICAgICBbXCJmY2ExXCIsIFwiXFx1ezIyODVGfVxcdTYxRDNcXHV7MjhCOUR9XFx1ezI5OTVEfVxcdTYxRDBcXHUzOTMyXFx1ezIyOTgwfVxcdXsyMjhDMX1cXHU2MDIzXFx1NjE1Q1xcdTY1MUVcXHU2MzhCXFx1ezIwMTE4fVxcdTYyQzVcXHV7MjE3NzB9XFx1NjJENVxcdXsyMkUwRH1cXHU2MzZDXFx1ezI0OURGfVxcdTNBMTdcXHU2NDM4XFx1NjNGOFxcdXsyMTM4RX1cXHV7MjE3RkN9XFx1NjQ5MFxcdTZGOEFcXHV7MjJFMzZ9XFx1OTgxNFxcdXsyNDA4Q31cXHV7MjU3MUR9XFx1NjRFMVxcdTY0RTVcXHU5NDdCXFx1M0E2NlxcdTY0M0FcXHUzQTU3XFx1NjU0RFxcdTZGMTZcXHV7MjRBMjh9XFx1ezI0QTIzfVxcdTY1ODVcXHU2NTZEXFx1NjU1RlxcdXsyMzA3RX1cXHU2NUI1XFx1ezI0OTQwfVxcdTRCMzdcXHU2NUQxXFx1NDBEOFxcdXsyMTgyOX1cXHU2NUUwXFx1NjVFM1xcdTVGREZcXHV7MjM0MDB9XFx1NjYxOFxcdXsyMzFGN31cXHV7MjMxRjh9XFx1NjY0NFxcdXsyMzFBNH1cXHV7MjMxQTV9XFx1NjY0QlxcdXsyMEU3NX1cXHU2NjY3XFx1ezI1MUU2fVxcdTY2NzNcXHU2Njc0XFx1ezIxRTNEfVxcdXsyMzIzMX1cXHV7Mjg1RjR9XFx1ezIzMUM4fVxcdXsyNTMxM31cXHU3N0M1XFx1ezIyOEY3fVxcdTk5QTRcXHU2NzAyXFx1ezI0MzlDfVxcdXsyNEEyMX1cXHUzQjJCXFx1NjlGQVxcdXsyMzdDMn1cXHU2NzVFXFx1Njc2N1xcdTY3NjJcXHV7MjQxQ0R9XFx1ezI5MEVEfVxcdTY3RDdcXHU0NEU5XFx1NjgyMlxcdTZFNTBcXHU5MjNDXFx1NjgwMVxcdXsyMzNFNn1cXHV7MjZEQTB9XFx1Njg1RFwiXSxcbiAgICAgIFtcImZkNDBcIiwgXCJcXHV7MjM0NkZ9XFx1NjlFMVxcdTZBMEJcXHV7MjhBREZ9XFx1Njk3M1xcdTY4QzNcXHV7MjM1Q0R9XFx1NjkwMVxcdTY5MDBcXHUzRDMyXFx1M0EwMVxcdXsyMzYzQ31cXHUzQjgwXFx1NjdBQ1xcdTY5NjFcXHV7MjhBNEF9XFx1NDJGQ1xcdTY5MzZcXHU2OTk4XFx1M0JBMVxcdXsyMDNDOX1cXHU4MzYzXFx1NTA5MFxcdTY5RjlcXHV7MjM2NTl9XFx1ezIyMTJBfVxcdTZBNDVcXHV7MjM3MDN9XFx1NkE5RFxcdTNCRjNcXHU2N0IxXFx1NkFDOFxcdXsyOTE5Q31cXHUzQzBEXFx1NkIxRFxcdXsyMDkyM31cXHU2MERFXFx1NkIzNVxcdTZCNzRcXHV7MjI3Q0R9XFx1NkVCNVxcdXsyM0FEQn1cXHV7MjAzQjV9XFx1ezIxOTU4fVxcdTM3NDBcXHU1NDIxXFx1ezIzQjVBfVxcdTZCRTFcXHV7MjNFRkN9XFx1NkJEQ1xcdTZDMzdcXHV7MjI0OEJ9XFx1ezI0OEYxfVxcdXsyNkI1MX1cXHU2QzVBXFx1ODIyNlxcdTZDNzlcXHV7MjNEQkN9XFx1NDRDNVxcdXsyM0RCRH1cXHV7MjQxQTR9XFx1ezI0OTBDfVxcdXsyNDkwMH1cIl0sXG4gICAgICBbXCJmZGExXCIsIFwiXFx1ezIzQ0M5fVxcdTM2RTVcXHUzQ0VCXFx1ezIwRDMyfVxcdTlCODNcXHV7MjMxRjl9XFx1ezIyNDkxfVxcdTdGOEZcXHU2ODM3XFx1ezI2RDI1fVxcdXsyNkRBMX1cXHV7MjZERUJ9XFx1NkQ5NlxcdTZENUNcXHU2RTdDXFx1NkYwNFxcdXsyNDk3Rn1cXHV7MjQwODV9XFx1ezI2RTcyfVxcdTg1MzNcXHV7MjZGNzR9XFx1NTFDN1xcdTZDOUNcXHU2RTFEXFx1ODQyRVxcdXsyOEIyMX1cXHU2RTJGXFx1ezIzRTJGfVxcdTc0NTNcXHV7MjNGODJ9XFx1NzlDQ1xcdTZFNEZcXHU1QTkxXFx1ezIzMDRCfVxcdTZGRjhcXHUzNzBEXFx1NkY5RFxcdXsyM0UzMH1cXHU2RUZBXFx1ezIxNDk3fVxcdXsyNDAzRH1cXHU0NTU1XFx1OTNGMFxcdTZGNDRcXHU2RjVDXFx1M0Q0RVxcdTZGNzRcXHV7MjkxNzB9XFx1M0QzQlxcdTZGOUZcXHV7MjQxNDR9XFx1NkZEM1xcdXsyNDA5MX1cXHV7MjQxNTV9XFx1ezI0MDM5fVxcdXsyM0ZGMH1cXHV7MjNGQjR9XFx1ezI0MTNGfVxcdTUxREZcXHV7MjQxNTZ9XFx1ezI0MTU3fVxcdXsyNDE0MH1cXHV7MjYxRER9XFx1NzA0QlxcdTcwN0VcXHU3MEE3XFx1NzA4MVxcdTcwQ0NcXHU3MEQ1XFx1NzBENlxcdTcwREZcXHU0MTA0XFx1M0RFOFxcdTcxQjRcXHU3MTk2XFx1ezI0Mjc3fVxcdTcxMkJcXHU3MTQ1XFx1NUE4OFxcdTcxNEFcXHU3MTZFXFx1NUM5Q1xcdXsyNDM2NX1cXHU3MTRGXFx1OTM2MlxcdXsyNDJDMX1cXHU3MTJDXFx1ezI0NDVBfVxcdXsyNEEyN31cXHV7MjRBMjJ9XFx1NzFCQVxcdXsyOEJFOH1cXHU3MEJEXFx1NzIwRVwiXSxcbiAgICAgIFtcImZlNDBcIiwgXCJcXHU5NDQyXFx1NzIxNVxcdTU5MTFcXHU5NDQzXFx1NzIyNFxcdTkzNDFcXHV7MjU2MDV9XFx1NzIyRVxcdTcyNDBcXHV7MjQ5NzR9XFx1NjhCRFxcdTcyNTVcXHU3MjU3XFx1M0U1NVxcdXsyMzA0NH1cXHU2ODBEXFx1NkYzRFxcdTcyODJcXHU3MzJBXFx1NzMyQlxcdXsyNDgyM31cXHV7Mjg4MkJ9XFx1NDhFRFxcdXsyODgwNH1cXHU3MzI4XFx1NzMyRVxcdTczQ0ZcXHU3M0FBXFx1ezIwQzNBfVxcdXsyNkEyRX1cXHU3M0M5XFx1NzQ0OVxcdXsyNDFFMn1cXHV7MjE2RTd9XFx1ezI0QTI0fVxcdTY2MjNcXHUzNkM1XFx1ezI0OUI3fVxcdXsyNDk4RH1cXHV7MjQ5RkJ9XFx1NzNGN1xcdTc0MTVcXHU2OTAzXFx1ezI0QTI2fVxcdTc0MzlcXHV7MjA1QzN9XFx1M0VEN1xcdTc0NUNcXHV7MjI4QUR9XFx1NzQ2MFxcdXsyOEVCMn1cXHU3NDQ3XFx1NzNFNFxcdTc0NzZcXHU4M0I5XFx1NzQ2Q1xcdTM3MzBcXHU3NDc0XFx1OTNGMVxcdTZBMkNcXHU3NDgyXFx1NDk1M1xcdXsyNEE4Q31cIl0sXG4gICAgICBbXCJmZWExXCIsIFwiXFx1ezI0MTVGfVxcdXsyNEE3OX1cXHV7MjhCOEZ9XFx1NUI0NlxcdXsyOEMwM31cXHV7MjE4OUV9XFx1NzRDOFxcdXsyMTk4OH1cXHU3NTBFXFx1NzRFOVxcdTc1MUVcXHV7MjhFRDl9XFx1ezIxQTRCfVxcdTVCRDdcXHV7MjhFQUN9XFx1OTM4NVxcdTc1NERcXHU3NTRBXFx1NzU2N1xcdTc1NkVcXHV7MjRGODJ9XFx1M0YwNFxcdXsyNEQxM31cXHU3NThFXFx1NzQ1RFxcdTc1OUVcXHU3NUI0XFx1NzYwMlxcdTc2MkNcXHU3NjUxXFx1NzY0RlxcdTc2NkZcXHU3Njc2XFx1ezI2M0Y1fVxcdTc2OTBcXHU4MUVGXFx1MzdGOFxcdXsyNjkxMX1cXHV7MjY5MEV9XFx1NzZBMVxcdTc2QTVcXHU3NkI3XFx1NzZDQ1xcdXsyNkY5Rn1cXHU4NDYyXFx1ezI1MDlEfVxcdXsyNTE3RH1cXHV7MjFFMUN9XFx1NzcxRVxcdTc3MjZcXHU3NzQwXFx1NjRBRlxcdXsyNTIyMH1cXHU3NzU4XFx1ezIzMkFDfVxcdTc3QUZcXHV7Mjg5NjR9XFx1ezI4OTY4fVxcdXsyMTZDMX1cXHU3N0Y0XFx1NzgwOVxcdXsyMTM3Nn1cXHV7MjRBMTJ9XFx1NjhDQVxcdTc4QUZcXHU3OEM3XFx1NzhEM1xcdTk2QTVcXHU3OTJFXFx1ezI1NUUwfVxcdTc4RDdcXHU3OTM0XFx1NzhCMVxcdXsyNzYwQ31cXHU4RkI4XFx1ODg4NFxcdXsyOEIyQn1cXHV7MjYwODN9XFx1ezIyNjFDfVxcdTc5ODZcXHU4OTAwXFx1NjkwMlxcdTc5ODBcXHV7MjU4NTd9XFx1Nzk5RFxcdXsyN0IzOX1cXHU3OTNDXFx1NzlBOVxcdTZFMkFcXHV7MjcxMjZ9XFx1M0VBOFxcdTc5QzZcXHV7MjkxMER9XFx1NzlENFwiXVxuICAgIF07XG4gIH1cbn0pO1xuXG4vLyBub2RlX21vZHVsZXMvYm9keS1wYXJzZXIvbm9kZV9tb2R1bGVzL2ljb252LWxpdGUvZW5jb2RpbmdzL2RiY3MtZGF0YS5qc1xudmFyIHJlcXVpcmVfZGJjc19kYXRhMiA9IF9fY29tbW9uSlMoe1xuICBcIm5vZGVfbW9kdWxlcy9ib2R5LXBhcnNlci9ub2RlX21vZHVsZXMvaWNvbnYtbGl0ZS9lbmNvZGluZ3MvZGJjcy1kYXRhLmpzXCIoZXhwb3J0czIsIG1vZHVsZTIpIHtcbiAgICBcInVzZSBzdHJpY3RcIjtcbiAgICBtb2R1bGUyLmV4cG9ydHMgPSB7XG4gICAgICAvLyA9PSBKYXBhbmVzZS9TaGlmdEpJUyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICAgICAvLyBBbGwgamFwYW5lc2UgZW5jb2RpbmdzIGFyZSBiYXNlZCBvbiBKSVMgWCBzZXQgb2Ygc3RhbmRhcmRzOlxuICAgICAgLy8gSklTIFggMDIwMSAtIFNpbmdsZS1ieXRlIGVuY29kaW5nIG9mIEFTQ0lJICsgXHUwMEE1ICsgS2FuYSBjaGFycyBhdCAweEExLTB4REYuXG4gICAgICAvLyBKSVMgWCAwMjA4IC0gTWFpbiBzZXQgb2YgNjg3OSBjaGFyYWN0ZXJzLCBwbGFjZWQgaW4gOTR4OTQgcGxhbmUsIHRvIGJlIGVuY29kZWQgYnkgMiBieXRlcy4gXG4gICAgICAvLyAgICAgICAgICAgICAgSGFzIHNldmVyYWwgdmFyaWF0aW9ucyBpbiAxOTc4LCAxOTgzLCAxOTkwIGFuZCAxOTk3LlxuICAgICAgLy8gSklTIFggMDIxMiAtIFN1cHBsZW1lbnRhcnkgcGxhbmUgb2YgNjA2NyBjaGFycyBpbiA5NHg5NCBwbGFuZS4gMTk5MC4gRWZmZWN0aXZlbHkgZGVhZC5cbiAgICAgIC8vIEpJUyBYIDAyMTMgLSBFeHRlbnNpb24gYW5kIG1vZGVybiByZXBsYWNlbWVudCBvZiAwMjA4IGFuZCAwMjEyLiBUb3RhbCBjaGFyczogMTEyMzMuXG4gICAgICAvLyAgICAgICAgICAgICAgMiBwbGFuZXMsIGZpcnN0IGlzIHN1cGVyc2V0IG9mIDAyMDgsIHNlY29uZCAtIHJldmlzZWQgMDIxMi5cbiAgICAgIC8vICAgICAgICAgICAgICBJbnRyb2R1Y2VkIGluIDIwMDAsIHJldmlzZWQgMjAwNC4gU29tZSBjaGFyYWN0ZXJzIGFyZSBpbiBVbmljb2RlIFBsYW5lIDIgKDB4Mnh4eHgpXG4gICAgICAvLyBCeXRlIGVuY29kaW5ncyBhcmU6XG4gICAgICAvLyAgKiBTaGlmdF9KSVM6IENvbXBhdGlibGUgd2l0aCAwMjAxLCB1c2VzIG5vdCBkZWZpbmVkIGNoYXJzIGluIHRvcCBoYWxmIGFzIGxlYWQgYnl0ZXMgZm9yIGRvdWJsZS1ieXRlXG4gICAgICAvLyAgICAgICAgICAgICAgIGVuY29kaW5nIG9mIDAyMDguIExlYWQgYnl0ZSByYW5nZXM6IDB4ODEtMHg5RiwgMHhFMC0weEVGOyBUcmFpbCBieXRlIHJhbmdlczogMHg0MC0weDdFLCAweDgwLTB4OUUsIDB4OUYtMHhGQy5cbiAgICAgIC8vICAgICAgICAgICAgICAgV2luZG93cyBDUDkzMiBpcyBhIHN1cGVyc2V0IG9mIFNoaWZ0X0pJUy4gU29tZSBjb21wYW5pZXMgYWRkZWQgbW9yZSBjaGFycywgbm90YWJseSBLRERJLlxuICAgICAgLy8gICogRVVDLUpQOiAgICBVcCB0byAzIGJ5dGVzIHBlciBjaGFyYWN0ZXIuIFVzZWQgbW9zdGx5IG9uICpuaXhlcy5cbiAgICAgIC8vICAgICAgICAgICAgICAgMHgwMC0weDdGICAgICAgIC0gbG93ZXIgcGFydCBvZiAwMjAxXG4gICAgICAvLyAgICAgICAgICAgICAgIDB4OEUsIDB4QTEtMHhERiAtIHVwcGVyIHBhcnQgb2YgMDIwMVxuICAgICAgLy8gICAgICAgICAgICAgICAoMHhBMS0weEZFKXgyICAgLSAwMjA4IHBsYW5lICg5NHg5NCkuXG4gICAgICAvLyAgICAgICAgICAgICAgIDB4OEYsICgweEExLTB4RkUpeDIgLSAwMjEyIHBsYW5lICg5NHg5NCkuXG4gICAgICAvLyAgKiBKSVMgWCAyMDg6IDctYml0LCBkaXJlY3QgZW5jb2Rpbmcgb2YgMDIwOC4gQnl0ZSByYW5nZXM6IDB4MjEtMHg3RSAoOTQgdmFsdWVzKS4gVW5jb21tb24uXG4gICAgICAvLyAgICAgICAgICAgICAgIFVzZWQgYXMtaXMgaW4gSVNPMjAyMiBmYW1pbHkuXG4gICAgICAvLyAgKiBJU08yMDIyLUpQOiBTdGF0ZWZ1bCBlbmNvZGluZywgd2l0aCBlc2NhcGUgc2VxdWVuY2VzIHRvIHN3aXRjaCBiZXR3ZWVuIEFTQ0lJLCBcbiAgICAgIC8vICAgICAgICAgICAgICAgIDAyMDEtMTk3NiBSb21hbiwgMDIwOC0xOTc4LCAwMjA4LTE5ODMuXG4gICAgICAvLyAgKiBJU08yMDIyLUpQLTE6IEFkZHMgZXNjIHNlcSBmb3IgMDIxMi0xOTkwLlxuICAgICAgLy8gICogSVNPMjAyMi1KUC0yOiBBZGRzIGVzYyBzZXEgZm9yIEdCMjMxMy0xOTgwLCBLU1gxMDAxLTE5OTIsIElTTzg4NTktMSwgSVNPODg1OS03LlxuICAgICAgLy8gICogSVNPMjAyMi1KUC0zOiBBZGRzIGVzYyBzZXEgZm9yIDAyMDEtMTk3NiBLYW5hIHNldCwgMDIxMy0yMDAwIFBsYW5lcyAxLCAyLlxuICAgICAgLy8gICogSVNPMjAyMi1KUC0yMDA0OiBBZGRzIDAyMTMtMjAwNCBQbGFuZSAxLlxuICAgICAgLy9cbiAgICAgIC8vIEFmdGVyIEpJUyBYIDAyMTMgYXBwZWFyZWQsIFNoaWZ0X0pJUy0yMDA0LCBFVUMtSklTWDAyMTMgYW5kIElTTzIwMjItSlAtMjAwNCBmb2xsb3dlZCwgd2l0aCBqdXN0IGNoYW5naW5nIHRoZSBwbGFuZXMuXG4gICAgICAvL1xuICAgICAgLy8gT3ZlcmFsbCwgaXQgc2VlbXMgdGhhdCBpdCdzIGEgbWVzcyA6KCBodHRwOi8vd3d3OC5wbGFsYS5vci5qcC90a3Vib3RhMS91bmljb2RlLXN5bWJvbHMtbWFwMi5odG1sXG4gICAgICBcInNoaWZ0amlzXCI6IHtcbiAgICAgICAgdHlwZTogXCJfZGJjc1wiLFxuICAgICAgICB0YWJsZTogZnVuY3Rpb24oKSB7XG4gICAgICAgICAgcmV0dXJuIHJlcXVpcmVfc2hpZnRqaXMyKCk7XG4gICAgICAgIH0sXG4gICAgICAgIGVuY29kZUFkZDogeyBcIlxceEE1XCI6IDkyLCBcIlxcdTIwM0VcIjogMTI2IH0sXG4gICAgICAgIGVuY29kZVNraXBWYWxzOiBbeyBmcm9tOiA2MDczNiwgdG86IDYzODA4IH1dXG4gICAgICB9LFxuICAgICAgXCJjc3NoaWZ0amlzXCI6IFwic2hpZnRqaXNcIixcbiAgICAgIFwibXNrYW5qaVwiOiBcInNoaWZ0amlzXCIsXG4gICAgICBcInNqaXNcIjogXCJzaGlmdGppc1wiLFxuICAgICAgXCJ3aW5kb3dzMzFqXCI6IFwic2hpZnRqaXNcIixcbiAgICAgIFwibXMzMWpcIjogXCJzaGlmdGppc1wiLFxuICAgICAgXCJ4c2ppc1wiOiBcInNoaWZ0amlzXCIsXG4gICAgICBcIndpbmRvd3M5MzJcIjogXCJzaGlmdGppc1wiLFxuICAgICAgXCJtczkzMlwiOiBcInNoaWZ0amlzXCIsXG4gICAgICBcIjkzMlwiOiBcInNoaWZ0amlzXCIsXG4gICAgICBcImNwOTMyXCI6IFwic2hpZnRqaXNcIixcbiAgICAgIFwiZXVjanBcIjoge1xuICAgICAgICB0eXBlOiBcIl9kYmNzXCIsXG4gICAgICAgIHRhYmxlOiBmdW5jdGlvbigpIHtcbiAgICAgICAgICByZXR1cm4gcmVxdWlyZV9ldWNqcDIoKTtcbiAgICAgICAgfSxcbiAgICAgICAgZW5jb2RlQWRkOiB7IFwiXFx4QTVcIjogOTIsIFwiXFx1MjAzRVwiOiAxMjYgfVxuICAgICAgfSxcbiAgICAgIC8vIFRPRE86IEtEREkgZXh0ZW5zaW9uIHRvIFNoaWZ0X0pJU1xuICAgICAgLy8gVE9ETzogSUJNIENDU0lEIDk0MiA9IENQOTMyLCBidXQgRjAtRjkgY3VzdG9tIGNoYXJzIGFuZCBvdGhlciBjaGFyIGNoYW5nZXMuXG4gICAgICAvLyBUT0RPOiBJQk0gQ0NTSUQgOTQzID0gU2hpZnRfSklTID0gQ1A5MzIgd2l0aCBvcmlnaW5hbCBTaGlmdF9KSVMgbG93ZXIgMTI4IGNoYXJzLlxuICAgICAgLy8gPT0gQ2hpbmVzZS9HQksgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgICAgLy8gaHR0cDovL2VuLndpa2lwZWRpYS5vcmcvd2lraS9HQktcbiAgICAgIC8vIFdlIG1vc3RseSBpbXBsZW1lbnQgVzNDIHJlY29tbWVuZGF0aW9uOiBodHRwczovL3d3dy53My5vcmcvVFIvZW5jb2RpbmcvI2diay1lbmNvZGVyXG4gICAgICAvLyBPbGRlc3QgR0IyMzEyICgxOTgxLCB+NzYwMCBjaGFycykgaXMgYSBzdWJzZXQgb2YgQ1A5MzZcbiAgICAgIFwiZ2IyMzEyXCI6IFwiY3A5MzZcIixcbiAgICAgIFwiZ2IyMzEyODBcIjogXCJjcDkzNlwiLFxuICAgICAgXCJnYjIzMTIxOTgwXCI6IFwiY3A5MzZcIixcbiAgICAgIFwiY3NnYjIzMTJcIjogXCJjcDkzNlwiLFxuICAgICAgXCJjc2lzbzU4Z2IyMzEyODBcIjogXCJjcDkzNlwiLFxuICAgICAgXCJldWNjblwiOiBcImNwOTM2XCIsXG4gICAgICAvLyBNaWNyb3NvZnQncyBDUDkzNiBpcyBhIHN1YnNldCBhbmQgYXBwcm94aW1hdGlvbiBvZiBHQksuXG4gICAgICBcIndpbmRvd3M5MzZcIjogXCJjcDkzNlwiLFxuICAgICAgXCJtczkzNlwiOiBcImNwOTM2XCIsXG4gICAgICBcIjkzNlwiOiBcImNwOTM2XCIsXG4gICAgICBcImNwOTM2XCI6IHtcbiAgICAgICAgdHlwZTogXCJfZGJjc1wiLFxuICAgICAgICB0YWJsZTogZnVuY3Rpb24oKSB7XG4gICAgICAgICAgcmV0dXJuIHJlcXVpcmVfY3A5MzYyKCk7XG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgICAvLyBHQksgKH4yMjAwMCBjaGFycykgaXMgYW4gZXh0ZW5zaW9uIG9mIENQOTM2IHRoYXQgYWRkZWQgdXNlci1tYXBwZWQgY2hhcnMgYW5kIHNvbWUgb3RoZXIuXG4gICAgICBcImdia1wiOiB7XG4gICAgICAgIHR5cGU6IFwiX2RiY3NcIixcbiAgICAgICAgdGFibGU6IGZ1bmN0aW9uKCkge1xuICAgICAgICAgIHJldHVybiByZXF1aXJlX2NwOTM2MigpLmNvbmNhdChyZXF1aXJlX2dia19hZGRlZDIoKSk7XG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgICBcInhnYmtcIjogXCJnYmtcIixcbiAgICAgIFwiaXNvaXI1OFwiOiBcImdia1wiLFxuICAgICAgLy8gR0IxODAzMCBpcyBhbiBhbGdvcml0aG1pYyBleHRlbnNpb24gb2YgR0JLLlxuICAgICAgLy8gTWFpbiBzb3VyY2U6IGh0dHBzOi8vd3d3LnczLm9yZy9UUi9lbmNvZGluZy8jZ2JrLWVuY29kZXJcbiAgICAgIC8vIGh0dHA6Ly9pY3UtcHJvamVjdC5vcmcvZG9jcy9wYXBlcnMvZ2IxODAzMC5odG1sXG4gICAgICAvLyBodHRwOi8vc291cmNlLmljdS1wcm9qZWN0Lm9yZy9yZXBvcy9pY3UvZGF0YS90cnVuay9jaGFyc2V0L2RhdGEveG1sL2diLTE4MDMwLTIwMDAueG1sXG4gICAgICAvLyBodHRwOi8vd3d3LmtobmdhaS5jb20vY2hpbmVzZS9jaGFybWFwL3RibGdiay5waHA/cGFnZT0wXG4gICAgICBcImdiMTgwMzBcIjoge1xuICAgICAgICB0eXBlOiBcIl9kYmNzXCIsXG4gICAgICAgIHRhYmxlOiBmdW5jdGlvbigpIHtcbiAgICAgICAgICByZXR1cm4gcmVxdWlyZV9jcDkzNjIoKS5jb25jYXQocmVxdWlyZV9nYmtfYWRkZWQyKCkpO1xuICAgICAgICB9LFxuICAgICAgICBnYjE4MDMwOiBmdW5jdGlvbigpIHtcbiAgICAgICAgICByZXR1cm4gcmVxdWlyZV9nYjE4MDMwX3JhbmdlczIoKTtcbiAgICAgICAgfSxcbiAgICAgICAgZW5jb2RlU2tpcFZhbHM6IFsxMjhdLFxuICAgICAgICBlbmNvZGVBZGQ6IHsgXCJcXHUyMEFDXCI6IDQxNjk5IH1cbiAgICAgIH0sXG4gICAgICBcImNoaW5lc2VcIjogXCJnYjE4MDMwXCIsXG4gICAgICAvLyA9PSBLb3JlYW4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICAgICAvLyBFVUMtS1IsIEtTX0NfNTYwMSBhbmQgS1MgWCAxMDAxIGFyZSBleGFjdGx5IHRoZSBzYW1lLlxuICAgICAgXCJ3aW5kb3dzOTQ5XCI6IFwiY3A5NDlcIixcbiAgICAgIFwibXM5NDlcIjogXCJjcDk0OVwiLFxuICAgICAgXCI5NDlcIjogXCJjcDk0OVwiLFxuICAgICAgXCJjcDk0OVwiOiB7XG4gICAgICAgIHR5cGU6IFwiX2RiY3NcIixcbiAgICAgICAgdGFibGU6IGZ1bmN0aW9uKCkge1xuICAgICAgICAgIHJldHVybiByZXF1aXJlX2NwOTQ5MigpO1xuICAgICAgICB9XG4gICAgICB9LFxuICAgICAgXCJjc2V1Y2tyXCI6IFwiY3A5NDlcIixcbiAgICAgIFwiY3Nrc2M1NjAxMTk4N1wiOiBcImNwOTQ5XCIsXG4gICAgICBcImV1Y2tyXCI6IFwiY3A5NDlcIixcbiAgICAgIFwiaXNvaXIxNDlcIjogXCJjcDk0OVwiLFxuICAgICAgXCJrb3JlYW5cIjogXCJjcDk0OVwiLFxuICAgICAgXCJrc2M1NjAxMTk4N1wiOiBcImNwOTQ5XCIsXG4gICAgICBcImtzYzU2MDExOTg5XCI6IFwiY3A5NDlcIixcbiAgICAgIFwia3NjNTYwMVwiOiBcImNwOTQ5XCIsXG4gICAgICAvLyA9PSBCaWc1L1RhaXdhbi9Ib25nIEtvbmcgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICAgICAvLyBUaGVyZSBhcmUgbG90cyBvZiB0YWJsZXMgZm9yIEJpZzUgYW5kIGNwOTUwLiBQbGVhc2Ugc2VlIHRoZSBmb2xsb3dpbmcgbGlua3MgZm9yIGhpc3Rvcnk6XG4gICAgICAvLyBodHRwOi8vbW96dHcub3JnL2RvY3MvYmlnNS8gIGh0dHA6Ly93d3cuaGFpYmxlLmRlL2JydW5vL2NoYXJzZXRzL2NvbnZlcnNpb24tdGFibGVzL0JpZzUuaHRtbFxuICAgICAgLy8gVmFyaWF0aW9ucywgaW4gcm91Z2hseSBudW1iZXIgb2YgZGVmaW5lZCBjaGFyczpcbiAgICAgIC8vICAqIFdpbmRvd3MgQ1AgOTUwOiBNaWNyb3NvZnQgdmFyaWFudCBvZiBCaWc1LiBDYW5vbmljYWw6IGh0dHA6Ly93d3cudW5pY29kZS5vcmcvUHVibGljL01BUFBJTkdTL1ZFTkRPUlMvTUlDU0ZUL1dJTkRPV1MvQ1A5NTAuVFhUXG4gICAgICAvLyAgKiBXaW5kb3dzIENQIDk1MTogTWljcm9zb2Z0IHZhcmlhbnQgb2YgQmlnNS1IS1NDUy0yMDAxLiBTZWVtcyB0byBiZSBuZXZlciBwdWJsaWMuIGh0dHA6Ly9tZS5hYmVsY2hldW5nLm9yZy9hcnRpY2xlcy9yZXNlYXJjaC93aGF0LWlzLWNwOTUxL1xuICAgICAgLy8gICogQmlnNS0yMDAzIChUYWl3YW4gc3RhbmRhcmQpIGFsbW9zdCBzdXBlcnNldCBvZiBjcDk1MC5cbiAgICAgIC8vICAqIFVuaWNvZGUtYXQtb24gKFVBTykgLyBNb3ppbGxhIDEuOC4gRmFsbGluZyBvdXQgb2YgdXNlIG9uIHRoZSBXZWIuIE5vdCBzdXBwb3J0ZWQgYnkgb3RoZXIgYnJvd3NlcnMuXG4gICAgICAvLyAgKiBCaWc1LUhLU0NTICgtMjAwMSwgLTIwMDQsIC0yMDA4KS4gSG9uZyBLb25nIHN0YW5kYXJkLiBcbiAgICAgIC8vICAgIG1hbnkgdW5pY29kZSBjb2RlIHBvaW50cyBtb3ZlZCBmcm9tIFBVQSB0byBTdXBwbGVtZW50YXJ5IHBsYW5lIChVKzJYWFhYKSBvdmVyIHRoZSB5ZWFycy5cbiAgICAgIC8vICAgIFBsdXMsIGl0IGhhcyA0IGNvbWJpbmluZyBzZXF1ZW5jZXMuXG4gICAgICAvLyAgICBTZWVtcyB0aGF0IE1vemlsbGEgcmVmdXNlZCB0byBzdXBwb3J0IGl0IGZvciAxMCB5cnMuIGh0dHBzOi8vYnVnemlsbGEubW96aWxsYS5vcmcvc2hvd19idWcuY2dpP2lkPTE2MjQzMSBodHRwczovL2J1Z3ppbGxhLm1vemlsbGEub3JnL3Nob3dfYnVnLmNnaT9pZD0zMTAyOTlcbiAgICAgIC8vICAgIGJlY2F1c2UgYmlnNS1oa3NjcyBpcyB0aGUgb25seSBlbmNvZGluZyB0byBpbmNsdWRlIGFzdHJhbCBjaGFyYWN0ZXJzIGluIG5vbi1hbGdvcml0aG1pYyB3YXkuXG4gICAgICAvLyAgICBJbXBsZW1lbnRhdGlvbnMgYXJlIG5vdCBjb25zaXN0ZW50IHdpdGhpbiBicm93c2Vyczsgc29tZXRpbWVzIGxhYmVsZWQgYXMganVzdCBiaWc1LlxuICAgICAgLy8gICAgTVMgSW50ZXJuZXQgRXhwbG9yZXIgc3dpdGNoZXMgZnJvbSBiaWc1IHRvIGJpZzUtaGtzY3Mgd2hlbiBhIHBhdGNoIGFwcGxpZWQuXG4gICAgICAvLyAgICBHcmVhdCBkaXNjdXNzaW9uICYgcmVjYXAgb2Ygd2hhdCdzIGdvaW5nIG9uIGh0dHBzOi8vYnVnemlsbGEubW96aWxsYS5vcmcvc2hvd19idWcuY2dpP2lkPTkxMjQ3MCNjMzFcbiAgICAgIC8vICAgIEluIHRoZSBlbmNvZGVyLCBpdCBtaWdodCBtYWtlIHNlbnNlIHRvIHN1cHBvcnQgZW5jb2Rpbmcgb2xkIFBVQSBtYXBwaW5ncyB0byBCaWc1IGJ5dGVzIHNlcS1zLlxuICAgICAgLy8gICAgT2ZmaWNpYWwgc3BlYzogaHR0cDovL3d3dy5vZ2Npby5nb3YuaGsvZW4vYnVzaW5lc3MvdGVjaF9wcm9tb3Rpb24vY2NsaS90ZXJtcy9kb2MvMjAwM2NtcF8yMDA4LnR4dFxuICAgICAgLy8gICAgICAgICAgICAgICAgICAgaHR0cDovL3d3dy5vZ2Npby5nb3YuaGsvdGMvYnVzaW5lc3MvdGVjaF9wcm9tb3Rpb24vY2NsaS90ZXJtcy9kb2MvaGtzY3MtMjAwOC1iaWc1LWlzby50eHRcbiAgICAgIC8vIFxuICAgICAgLy8gQ3VycmVudCB1bmRlcnN0YW5kaW5nIG9mIGhvdyB0byBkZWFsIHdpdGggQmlnNSgtSEtTQ1MpIGlzIGluIHRoZSBFbmNvZGluZyBTdGFuZGFyZCwgaHR0cDovL2VuY29kaW5nLnNwZWMud2hhdHdnLm9yZy8jYmlnNS1lbmNvZGVyXG4gICAgICAvLyBVbmljb2RlIG1hcHBpbmcgKGh0dHA6Ly93d3cudW5pY29kZS5vcmcvUHVibGljL01BUFBJTkdTL09CU09MRVRFL0VBU1RBU0lBL09USEVSL0JJRzUuVFhUKSBpcyBzYWlkIHRvIGJlIHdyb25nLlxuICAgICAgXCJ3aW5kb3dzOTUwXCI6IFwiY3A5NTBcIixcbiAgICAgIFwibXM5NTBcIjogXCJjcDk1MFwiLFxuICAgICAgXCI5NTBcIjogXCJjcDk1MFwiLFxuICAgICAgXCJjcDk1MFwiOiB7XG4gICAgICAgIHR5cGU6IFwiX2RiY3NcIixcbiAgICAgICAgdGFibGU6IGZ1bmN0aW9uKCkge1xuICAgICAgICAgIHJldHVybiByZXF1aXJlX2NwOTUwMigpO1xuICAgICAgICB9XG4gICAgICB9LFxuICAgICAgLy8gQmlnNSBoYXMgbWFueSB2YXJpYXRpb25zIGFuZCBpcyBhbiBleHRlbnNpb24gb2YgY3A5NTAuIFdlIHVzZSBFbmNvZGluZyBTdGFuZGFyZCdzIGFzIGEgY29uc2Vuc3VzLlxuICAgICAgXCJiaWc1XCI6IFwiYmlnNWhrc2NzXCIsXG4gICAgICBcImJpZzVoa3Njc1wiOiB7XG4gICAgICAgIHR5cGU6IFwiX2RiY3NcIixcbiAgICAgICAgdGFibGU6IGZ1bmN0aW9uKCkge1xuICAgICAgICAgIHJldHVybiByZXF1aXJlX2NwOTUwMigpLmNvbmNhdChyZXF1aXJlX2JpZzVfYWRkZWQyKCkpO1xuICAgICAgICB9LFxuICAgICAgICBlbmNvZGVTa2lwVmFsczogW1xuICAgICAgICAgIC8vIEFsdGhvdWdoIEVuY29kaW5nIFN0YW5kYXJkIHNheXMgd2Ugc2hvdWxkIGF2b2lkIGVuY29kaW5nIHRvIEhLU0NTIGFyZWEgKFNlZSBTdGVwIDEgb2ZcbiAgICAgICAgICAvLyBodHRwczovL2VuY29kaW5nLnNwZWMud2hhdHdnLm9yZy8jaW5kZXgtYmlnNS1wb2ludGVyKSwgd2Ugc3RpbGwgZG8gaXQgdG8gaW5jcmVhc2UgY29tcGF0aWJpbGl0eSB3aXRoIElDVS5cbiAgICAgICAgICAvLyBCdXQgaWYgYSBzaW5nbGUgdW5pY29kZSBwb2ludCBjYW4gYmUgZW5jb2RlZCBib3RoIGFzIEhLU0NTIGFuZCByZWd1bGFyIEJpZzUsIHdlIHByZWZlciB0aGUgbGF0dGVyLlxuICAgICAgICAgIDM2NDU3LFxuICAgICAgICAgIDM2NDYzLFxuICAgICAgICAgIDM2NDc4LFxuICAgICAgICAgIDM2NTIzLFxuICAgICAgICAgIDM2NTMyLFxuICAgICAgICAgIDM2NTU3LFxuICAgICAgICAgIDM2NTYwLFxuICAgICAgICAgIDM2Njk1LFxuICAgICAgICAgIDM2NzEzLFxuICAgICAgICAgIDM2NzE4LFxuICAgICAgICAgIDM2ODExLFxuICAgICAgICAgIDM2ODYyLFxuICAgICAgICAgIDM2OTczLFxuICAgICAgICAgIDM2OTg2LFxuICAgICAgICAgIDM3MDYwLFxuICAgICAgICAgIDM3MDg0LFxuICAgICAgICAgIDM3MTA1LFxuICAgICAgICAgIDM3MzExLFxuICAgICAgICAgIDM3NTUxLFxuICAgICAgICAgIDM3NTUyLFxuICAgICAgICAgIDM3NTUzLFxuICAgICAgICAgIDM3NTU0LFxuICAgICAgICAgIDM3NTg1LFxuICAgICAgICAgIDM3OTU5LFxuICAgICAgICAgIDM4MDkwLFxuICAgICAgICAgIDM4MzYxLFxuICAgICAgICAgIDM4NjUyLFxuICAgICAgICAgIDM5Mjg1LFxuICAgICAgICAgIDM5Nzk4LFxuICAgICAgICAgIDM5ODAwLFxuICAgICAgICAgIDM5ODAzLFxuICAgICAgICAgIDM5ODc4LFxuICAgICAgICAgIDM5OTAyLFxuICAgICAgICAgIDM5OTE2LFxuICAgICAgICAgIDM5OTI2LFxuICAgICAgICAgIDQwMDAyLFxuICAgICAgICAgIDQwMDE5LFxuICAgICAgICAgIDQwMDM0LFxuICAgICAgICAgIDQwMDQwLFxuICAgICAgICAgIDQwMDQzLFxuICAgICAgICAgIDQwMDU1LFxuICAgICAgICAgIDQwMTI0LFxuICAgICAgICAgIDQwMTI1LFxuICAgICAgICAgIDQwMTQ0LFxuICAgICAgICAgIDQwMjc5LFxuICAgICAgICAgIDQwMjgyLFxuICAgICAgICAgIDQwMzg4LFxuICAgICAgICAgIDQwNDMxLFxuICAgICAgICAgIDQwNDQzLFxuICAgICAgICAgIDQwNjE3LFxuICAgICAgICAgIDQwNjg3LFxuICAgICAgICAgIDQwNzAxLFxuICAgICAgICAgIDQwODAwLFxuICAgICAgICAgIDQwOTA3LFxuICAgICAgICAgIDQxMDc5LFxuICAgICAgICAgIDQxMTgwLFxuICAgICAgICAgIDQxMTgzLFxuICAgICAgICAgIDM2ODEyLFxuICAgICAgICAgIDM3NTc2LFxuICAgICAgICAgIDM4NDY4LFxuICAgICAgICAgIDM4NjM3LFxuICAgICAgICAgIC8vIFN0ZXAgMiBvZiBodHRwczovL2VuY29kaW5nLnNwZWMud2hhdHdnLm9yZy8jaW5kZXgtYmlnNS1wb2ludGVyOiBVc2UgbGFzdCBwb2ludGVyIGZvciBVKzI1NTAsIFUrMjU1RSwgVSsyNTYxLCBVKzI1NkEsIFUrNTM0MSwgb3IgVSs1MzQ1XG4gICAgICAgICAgNDE2MzYsXG4gICAgICAgICAgNDE2MzcsXG4gICAgICAgICAgNDE2MzksXG4gICAgICAgICAgNDE2MzgsXG4gICAgICAgICAgNDE2NzYsXG4gICAgICAgICAgNDE2NzhcbiAgICAgICAgXVxuICAgICAgfSxcbiAgICAgIFwiY25iaWc1XCI6IFwiYmlnNWhrc2NzXCIsXG4gICAgICBcImNzYmlnNVwiOiBcImJpZzVoa3Njc1wiLFxuICAgICAgXCJ4eGJpZzVcIjogXCJiaWc1aGtzY3NcIlxuICAgIH07XG4gIH1cbn0pO1xuXG4vLyBub2RlX21vZHVsZXMvYm9keS1wYXJzZXIvbm9kZV9tb2R1bGVzL2ljb252LWxpdGUvZW5jb2RpbmdzL2luZGV4LmpzXG52YXIgcmVxdWlyZV9lbmNvZGluZ3MyID0gX19jb21tb25KUyh7XG4gIFwibm9kZV9tb2R1bGVzL2JvZHktcGFyc2VyL25vZGVfbW9kdWxlcy9pY29udi1saXRlL2VuY29kaW5ncy9pbmRleC5qc1wiKGV4cG9ydHMyLCBtb2R1bGUyKSB7XG4gICAgXCJ1c2Ugc3RyaWN0XCI7XG4gICAgdmFyIG1vZHVsZXMgPSBbXG4gICAgICByZXF1aXJlX2ludGVybmFsMigpLFxuICAgICAgcmVxdWlyZV91dGYzMjIoKSxcbiAgICAgIHJlcXVpcmVfdXRmMTYyKCksXG4gICAgICByZXF1aXJlX3V0ZjcyKCksXG4gICAgICByZXF1aXJlX3NiY3NfY29kZWMyKCksXG4gICAgICByZXF1aXJlX3NiY3NfZGF0YTIoKSxcbiAgICAgIHJlcXVpcmVfc2Jjc19kYXRhX2dlbmVyYXRlZDIoKSxcbiAgICAgIHJlcXVpcmVfZGJjc19jb2RlYzIoKSxcbiAgICAgIHJlcXVpcmVfZGJjc19kYXRhMigpXG4gICAgXTtcbiAgICBmb3IgKGkgPSAwOyBpIDwgbW9kdWxlcy5sZW5ndGg7IGkrKykge1xuICAgICAgbW9kdWxlMiA9IG1vZHVsZXNbaV07XG4gICAgICBmb3IgKGVuYyBpbiBtb2R1bGUyKVxuICAgICAgICBpZiAoT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKG1vZHVsZTIsIGVuYykpXG4gICAgICAgICAgZXhwb3J0czJbZW5jXSA9IG1vZHVsZTJbZW5jXTtcbiAgICB9XG4gICAgdmFyIG1vZHVsZTI7XG4gICAgdmFyIGVuYztcbiAgICB2YXIgaTtcbiAgfVxufSk7XG5cbi8vIG5vZGVfbW9kdWxlcy9ib2R5LXBhcnNlci9ub2RlX21vZHVsZXMvaWNvbnYtbGl0ZS9saWIvc3RyZWFtcy5qc1xudmFyIHJlcXVpcmVfc3RyZWFtczIgPSBfX2NvbW1vbkpTKHtcbiAgXCJub2RlX21vZHVsZXMvYm9keS1wYXJzZXIvbm9kZV9tb2R1bGVzL2ljb252LWxpdGUvbGliL3N0cmVhbXMuanNcIihleHBvcnRzMiwgbW9kdWxlMikge1xuICAgIFwidXNlIHN0cmljdFwiO1xuICAgIHZhciBCdWZmZXIyID0gcmVxdWlyZV9zYWZlcigpLkJ1ZmZlcjtcbiAgICBtb2R1bGUyLmV4cG9ydHMgPSBmdW5jdGlvbihzdHJlYW1fbW9kdWxlKSB7XG4gICAgICB2YXIgVHJhbnNmb3JtID0gc3RyZWFtX21vZHVsZS5UcmFuc2Zvcm07XG4gICAgICBmdW5jdGlvbiBJY29udkxpdGVFbmNvZGVyU3RyZWFtKGNvbnYsIG9wdGlvbnMpIHtcbiAgICAgICAgdGhpcy5jb252ID0gY29udjtcbiAgICAgICAgb3B0aW9ucyA9IG9wdGlvbnMgfHwge307XG4gICAgICAgIG9wdGlvbnMuZGVjb2RlU3RyaW5ncyA9IGZhbHNlO1xuICAgICAgICBUcmFuc2Zvcm0uY2FsbCh0aGlzLCBvcHRpb25zKTtcbiAgICAgIH1cbiAgICAgIEljb252TGl0ZUVuY29kZXJTdHJlYW0ucHJvdG90eXBlID0gT2JqZWN0LmNyZWF0ZShUcmFuc2Zvcm0ucHJvdG90eXBlLCB7XG4gICAgICAgIGNvbnN0cnVjdG9yOiB7IHZhbHVlOiBJY29udkxpdGVFbmNvZGVyU3RyZWFtIH1cbiAgICAgIH0pO1xuICAgICAgSWNvbnZMaXRlRW5jb2RlclN0cmVhbS5wcm90b3R5cGUuX3RyYW5zZm9ybSA9IGZ1bmN0aW9uKGNodW5rLCBlbmNvZGluZywgZG9uZSkge1xuICAgICAgICBpZiAodHlwZW9mIGNodW5rICE9IFwic3RyaW5nXCIpXG4gICAgICAgICAgcmV0dXJuIGRvbmUobmV3IEVycm9yKFwiSWNvbnYgZW5jb2Rpbmcgc3RyZWFtIG5lZWRzIHN0cmluZ3MgYXMgaXRzIGlucHV0LlwiKSk7XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgdmFyIHJlcyA9IHRoaXMuY29udi53cml0ZShjaHVuayk7XG4gICAgICAgICAgaWYgKHJlcyAmJiByZXMubGVuZ3RoKSB0aGlzLnB1c2gocmVzKTtcbiAgICAgICAgICBkb25lKCk7XG4gICAgICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgICAgICBkb25lKGUpO1xuICAgICAgICB9XG4gICAgICB9O1xuICAgICAgSWNvbnZMaXRlRW5jb2RlclN0cmVhbS5wcm90b3R5cGUuX2ZsdXNoID0gZnVuY3Rpb24oZG9uZSkge1xuICAgICAgICB0cnkge1xuICAgICAgICAgIHZhciByZXMgPSB0aGlzLmNvbnYuZW5kKCk7XG4gICAgICAgICAgaWYgKHJlcyAmJiByZXMubGVuZ3RoKSB0aGlzLnB1c2gocmVzKTtcbiAgICAgICAgICBkb25lKCk7XG4gICAgICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgICAgICBkb25lKGUpO1xuICAgICAgICB9XG4gICAgICB9O1xuICAgICAgSWNvbnZMaXRlRW5jb2RlclN0cmVhbS5wcm90b3R5cGUuY29sbGVjdCA9IGZ1bmN0aW9uKGNiKSB7XG4gICAgICAgIHZhciBjaHVua3MgPSBbXTtcbiAgICAgICAgdGhpcy5vbihcImVycm9yXCIsIGNiKTtcbiAgICAgICAgdGhpcy5vbihcImRhdGFcIiwgZnVuY3Rpb24oY2h1bmspIHtcbiAgICAgICAgICBjaHVua3MucHVzaChjaHVuayk7XG4gICAgICAgIH0pO1xuICAgICAgICB0aGlzLm9uKFwiZW5kXCIsIGZ1bmN0aW9uKCkge1xuICAgICAgICAgIGNiKG51bGwsIEJ1ZmZlcjIuY29uY2F0KGNodW5rcykpO1xuICAgICAgICB9KTtcbiAgICAgICAgcmV0dXJuIHRoaXM7XG4gICAgICB9O1xuICAgICAgZnVuY3Rpb24gSWNvbnZMaXRlRGVjb2RlclN0cmVhbShjb252LCBvcHRpb25zKSB7XG4gICAgICAgIHRoaXMuY29udiA9IGNvbnY7XG4gICAgICAgIG9wdGlvbnMgPSBvcHRpb25zIHx8IHt9O1xuICAgICAgICBvcHRpb25zLmVuY29kaW5nID0gdGhpcy5lbmNvZGluZyA9IFwidXRmOFwiO1xuICAgICAgICBUcmFuc2Zvcm0uY2FsbCh0aGlzLCBvcHRpb25zKTtcbiAgICAgIH1cbiAgICAgIEljb252TGl0ZURlY29kZXJTdHJlYW0ucHJvdG90eXBlID0gT2JqZWN0LmNyZWF0ZShUcmFuc2Zvcm0ucHJvdG90eXBlLCB7XG4gICAgICAgIGNvbnN0cnVjdG9yOiB7IHZhbHVlOiBJY29udkxpdGVEZWNvZGVyU3RyZWFtIH1cbiAgICAgIH0pO1xuICAgICAgSWNvbnZMaXRlRGVjb2RlclN0cmVhbS5wcm90b3R5cGUuX3RyYW5zZm9ybSA9IGZ1bmN0aW9uKGNodW5rLCBlbmNvZGluZywgZG9uZSkge1xuICAgICAgICBpZiAoIUJ1ZmZlcjIuaXNCdWZmZXIoY2h1bmspICYmICEoY2h1bmsgaW5zdGFuY2VvZiBVaW50OEFycmF5KSlcbiAgICAgICAgICByZXR1cm4gZG9uZShuZXcgRXJyb3IoXCJJY29udiBkZWNvZGluZyBzdHJlYW0gbmVlZHMgYnVmZmVycyBhcyBpdHMgaW5wdXQuXCIpKTtcbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICB2YXIgcmVzID0gdGhpcy5jb252LndyaXRlKGNodW5rKTtcbiAgICAgICAgICBpZiAocmVzICYmIHJlcy5sZW5ndGgpIHRoaXMucHVzaChyZXMsIHRoaXMuZW5jb2RpbmcpO1xuICAgICAgICAgIGRvbmUoKTtcbiAgICAgICAgfSBjYXRjaCAoZSkge1xuICAgICAgICAgIGRvbmUoZSk7XG4gICAgICAgIH1cbiAgICAgIH07XG4gICAgICBJY29udkxpdGVEZWNvZGVyU3RyZWFtLnByb3RvdHlwZS5fZmx1c2ggPSBmdW5jdGlvbihkb25lKSB7XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgdmFyIHJlcyA9IHRoaXMuY29udi5lbmQoKTtcbiAgICAgICAgICBpZiAocmVzICYmIHJlcy5sZW5ndGgpIHRoaXMucHVzaChyZXMsIHRoaXMuZW5jb2RpbmcpO1xuICAgICAgICAgIGRvbmUoKTtcbiAgICAgICAgfSBjYXRjaCAoZSkge1xuICAgICAgICAgIGRvbmUoZSk7XG4gICAgICAgIH1cbiAgICAgIH07XG4gICAgICBJY29udkxpdGVEZWNvZGVyU3RyZWFtLnByb3RvdHlwZS5jb2xsZWN0ID0gZnVuY3Rpb24oY2IpIHtcbiAgICAgICAgdmFyIHJlcyA9IFwiXCI7XG4gICAgICAgIHRoaXMub24oXCJlcnJvclwiLCBjYik7XG4gICAgICAgIHRoaXMub24oXCJkYXRhXCIsIGZ1bmN0aW9uKGNodW5rKSB7XG4gICAgICAgICAgcmVzICs9IGNodW5rO1xuICAgICAgICB9KTtcbiAgICAgICAgdGhpcy5vbihcImVuZFwiLCBmdW5jdGlvbigpIHtcbiAgICAgICAgICBjYihudWxsLCByZXMpO1xuICAgICAgICB9KTtcbiAgICAgICAgcmV0dXJuIHRoaXM7XG4gICAgICB9O1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgSWNvbnZMaXRlRW5jb2RlclN0cmVhbSxcbiAgICAgICAgSWNvbnZMaXRlRGVjb2RlclN0cmVhbVxuICAgICAgfTtcbiAgICB9O1xuICB9XG59KTtcblxuLy8gbm9kZV9tb2R1bGVzL2JvZHktcGFyc2VyL25vZGVfbW9kdWxlcy9pY29udi1saXRlL2xpYi9pbmRleC5qc1xudmFyIHJlcXVpcmVfbGliMiA9IF9fY29tbW9uSlMoe1xuICBcIm5vZGVfbW9kdWxlcy9ib2R5LXBhcnNlci9ub2RlX21vZHVsZXMvaWNvbnYtbGl0ZS9saWIvaW5kZXguanNcIihleHBvcnRzMiwgbW9kdWxlMikge1xuICAgIFwidXNlIHN0cmljdFwiO1xuICAgIHZhciBCdWZmZXIyID0gcmVxdWlyZV9zYWZlcigpLkJ1ZmZlcjtcbiAgICB2YXIgYm9tSGFuZGxpbmcgPSByZXF1aXJlX2JvbV9oYW5kbGluZzIoKTtcbiAgICB2YXIgaWNvbnYgPSBtb2R1bGUyLmV4cG9ydHM7XG4gICAgaWNvbnYuZW5jb2RpbmdzID0gbnVsbDtcbiAgICBpY29udi5kZWZhdWx0Q2hhclVuaWNvZGUgPSBcIlxcdUZGRkRcIjtcbiAgICBpY29udi5kZWZhdWx0Q2hhclNpbmdsZUJ5dGUgPSBcIj9cIjtcbiAgICBpY29udi5lbmNvZGUgPSBmdW5jdGlvbiBlbmNvZGUoc3RyLCBlbmNvZGluZywgb3B0aW9ucykge1xuICAgICAgc3RyID0gXCJcIiArIChzdHIgfHwgXCJcIik7XG4gICAgICB2YXIgZW5jb2RlciA9IGljb252LmdldEVuY29kZXIoZW5jb2RpbmcsIG9wdGlvbnMpO1xuICAgICAgdmFyIHJlcyA9IGVuY29kZXIud3JpdGUoc3RyKTtcbiAgICAgIHZhciB0cmFpbCA9IGVuY29kZXIuZW5kKCk7XG4gICAgICByZXR1cm4gdHJhaWwgJiYgdHJhaWwubGVuZ3RoID4gMCA/IEJ1ZmZlcjIuY29uY2F0KFtyZXMsIHRyYWlsXSkgOiByZXM7XG4gICAgfTtcbiAgICBpY29udi5kZWNvZGUgPSBmdW5jdGlvbiBkZWNvZGUoYnVmLCBlbmNvZGluZywgb3B0aW9ucykge1xuICAgICAgaWYgKHR5cGVvZiBidWYgPT09IFwic3RyaW5nXCIpIHtcbiAgICAgICAgaWYgKCFpY29udi5za2lwRGVjb2RlV2FybmluZykge1xuICAgICAgICAgIGNvbnNvbGUuZXJyb3IoXCJJY29udi1saXRlIHdhcm5pbmc6IGRlY29kZSgpLWluZyBzdHJpbmdzIGlzIGRlcHJlY2F0ZWQuIFJlZmVyIHRvIGh0dHBzOi8vZ2l0aHViLmNvbS9hc2h0dWNoa2luL2ljb252LWxpdGUvd2lraS9Vc2UtQnVmZmVycy13aGVuLWRlY29kaW5nXCIpO1xuICAgICAgICAgIGljb252LnNraXBEZWNvZGVXYXJuaW5nID0gdHJ1ZTtcbiAgICAgICAgfVxuICAgICAgICBidWYgPSBCdWZmZXIyLmZyb20oXCJcIiArIChidWYgfHwgXCJcIiksIFwiYmluYXJ5XCIpO1xuICAgICAgfVxuICAgICAgdmFyIGRlY29kZXIgPSBpY29udi5nZXREZWNvZGVyKGVuY29kaW5nLCBvcHRpb25zKTtcbiAgICAgIHZhciByZXMgPSBkZWNvZGVyLndyaXRlKGJ1Zik7XG4gICAgICB2YXIgdHJhaWwgPSBkZWNvZGVyLmVuZCgpO1xuICAgICAgcmV0dXJuIHRyYWlsID8gcmVzICsgdHJhaWwgOiByZXM7XG4gICAgfTtcbiAgICBpY29udi5lbmNvZGluZ0V4aXN0cyA9IGZ1bmN0aW9uIGVuY29kaW5nRXhpc3RzKGVuYykge1xuICAgICAgdHJ5IHtcbiAgICAgICAgaWNvbnYuZ2V0Q29kZWMoZW5jKTtcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICB9IGNhdGNoIChlKSB7XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgIH1cbiAgICB9O1xuICAgIGljb252LnRvRW5jb2RpbmcgPSBpY29udi5lbmNvZGU7XG4gICAgaWNvbnYuZnJvbUVuY29kaW5nID0gaWNvbnYuZGVjb2RlO1xuICAgIGljb252Ll9jb2RlY0RhdGFDYWNoZSA9IHt9O1xuICAgIGljb252LmdldENvZGVjID0gZnVuY3Rpb24gZ2V0Q29kZWMoZW5jb2RpbmcpIHtcbiAgICAgIGlmICghaWNvbnYuZW5jb2RpbmdzKVxuICAgICAgICBpY29udi5lbmNvZGluZ3MgPSByZXF1aXJlX2VuY29kaW5nczIoKTtcbiAgICAgIHZhciBlbmMgPSBpY29udi5fY2Fub25pY2FsaXplRW5jb2RpbmcoZW5jb2RpbmcpO1xuICAgICAgdmFyIGNvZGVjT3B0aW9ucyA9IHt9O1xuICAgICAgd2hpbGUgKHRydWUpIHtcbiAgICAgICAgdmFyIGNvZGVjID0gaWNvbnYuX2NvZGVjRGF0YUNhY2hlW2VuY107XG4gICAgICAgIGlmIChjb2RlYylcbiAgICAgICAgICByZXR1cm4gY29kZWM7XG4gICAgICAgIHZhciBjb2RlY0RlZiA9IGljb252LmVuY29kaW5nc1tlbmNdO1xuICAgICAgICBzd2l0Y2ggKHR5cGVvZiBjb2RlY0RlZikge1xuICAgICAgICAgIGNhc2UgXCJzdHJpbmdcIjpcbiAgICAgICAgICAgIGVuYyA9IGNvZGVjRGVmO1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgY2FzZSBcIm9iamVjdFwiOlxuICAgICAgICAgICAgZm9yICh2YXIga2V5IGluIGNvZGVjRGVmKVxuICAgICAgICAgICAgICBjb2RlY09wdGlvbnNba2V5XSA9IGNvZGVjRGVmW2tleV07XG4gICAgICAgICAgICBpZiAoIWNvZGVjT3B0aW9ucy5lbmNvZGluZ05hbWUpXG4gICAgICAgICAgICAgIGNvZGVjT3B0aW9ucy5lbmNvZGluZ05hbWUgPSBlbmM7XG4gICAgICAgICAgICBlbmMgPSBjb2RlY0RlZi50eXBlO1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgY2FzZSBcImZ1bmN0aW9uXCI6XG4gICAgICAgICAgICBpZiAoIWNvZGVjT3B0aW9ucy5lbmNvZGluZ05hbWUpXG4gICAgICAgICAgICAgIGNvZGVjT3B0aW9ucy5lbmNvZGluZ05hbWUgPSBlbmM7XG4gICAgICAgICAgICBjb2RlYyA9IG5ldyBjb2RlY0RlZihjb2RlY09wdGlvbnMsIGljb252KTtcbiAgICAgICAgICAgIGljb252Ll9jb2RlY0RhdGFDYWNoZVtjb2RlY09wdGlvbnMuZW5jb2RpbmdOYW1lXSA9IGNvZGVjO1xuICAgICAgICAgICAgcmV0dXJuIGNvZGVjO1xuICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXCJFbmNvZGluZyBub3QgcmVjb2duaXplZDogJ1wiICsgZW5jb2RpbmcgKyBcIicgKHNlYXJjaGVkIGFzOiAnXCIgKyBlbmMgKyBcIicpXCIpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfTtcbiAgICBpY29udi5fY2Fub25pY2FsaXplRW5jb2RpbmcgPSBmdW5jdGlvbihlbmNvZGluZykge1xuICAgICAgcmV0dXJuIChcIlwiICsgZW5jb2RpbmcpLnRvTG93ZXJDYXNlKCkucmVwbGFjZSgvOlxcZHs0fSR8W14wLTlhLXpdL2csIFwiXCIpO1xuICAgIH07XG4gICAgaWNvbnYuZ2V0RW5jb2RlciA9IGZ1bmN0aW9uIGdldEVuY29kZXIoZW5jb2RpbmcsIG9wdGlvbnMpIHtcbiAgICAgIHZhciBjb2RlYyA9IGljb252LmdldENvZGVjKGVuY29kaW5nKSwgZW5jb2RlciA9IG5ldyBjb2RlYy5lbmNvZGVyKG9wdGlvbnMsIGNvZGVjKTtcbiAgICAgIGlmIChjb2RlYy5ib21Bd2FyZSAmJiBvcHRpb25zICYmIG9wdGlvbnMuYWRkQk9NKVxuICAgICAgICBlbmNvZGVyID0gbmV3IGJvbUhhbmRsaW5nLlByZXBlbmRCT00oZW5jb2Rlciwgb3B0aW9ucyk7XG4gICAgICByZXR1cm4gZW5jb2RlcjtcbiAgICB9O1xuICAgIGljb252LmdldERlY29kZXIgPSBmdW5jdGlvbiBnZXREZWNvZGVyKGVuY29kaW5nLCBvcHRpb25zKSB7XG4gICAgICB2YXIgY29kZWMgPSBpY29udi5nZXRDb2RlYyhlbmNvZGluZyksIGRlY29kZXIgPSBuZXcgY29kZWMuZGVjb2RlcihvcHRpb25zLCBjb2RlYyk7XG4gICAgICBpZiAoY29kZWMuYm9tQXdhcmUgJiYgIShvcHRpb25zICYmIG9wdGlvbnMuc3RyaXBCT00gPT09IGZhbHNlKSlcbiAgICAgICAgZGVjb2RlciA9IG5ldyBib21IYW5kbGluZy5TdHJpcEJPTShkZWNvZGVyLCBvcHRpb25zKTtcbiAgICAgIHJldHVybiBkZWNvZGVyO1xuICAgIH07XG4gICAgaWNvbnYuZW5hYmxlU3RyZWFtaW5nQVBJID0gZnVuY3Rpb24gZW5hYmxlU3RyZWFtaW5nQVBJKHN0cmVhbV9tb2R1bGUyKSB7XG4gICAgICBpZiAoaWNvbnYuc3VwcG9ydHNTdHJlYW1zKVxuICAgICAgICByZXR1cm47XG4gICAgICB2YXIgc3RyZWFtcyA9IHJlcXVpcmVfc3RyZWFtczIoKShzdHJlYW1fbW9kdWxlMik7XG4gICAgICBpY29udi5JY29udkxpdGVFbmNvZGVyU3RyZWFtID0gc3RyZWFtcy5JY29udkxpdGVFbmNvZGVyU3RyZWFtO1xuICAgICAgaWNvbnYuSWNvbnZMaXRlRGVjb2RlclN0cmVhbSA9IHN0cmVhbXMuSWNvbnZMaXRlRGVjb2RlclN0cmVhbTtcbiAgICAgIGljb252LmVuY29kZVN0cmVhbSA9IGZ1bmN0aW9uIGVuY29kZVN0cmVhbShlbmNvZGluZywgb3B0aW9ucykge1xuICAgICAgICByZXR1cm4gbmV3IGljb252Lkljb252TGl0ZUVuY29kZXJTdHJlYW0oaWNvbnYuZ2V0RW5jb2RlcihlbmNvZGluZywgb3B0aW9ucyksIG9wdGlvbnMpO1xuICAgICAgfTtcbiAgICAgIGljb252LmRlY29kZVN0cmVhbSA9IGZ1bmN0aW9uIGRlY29kZVN0cmVhbShlbmNvZGluZywgb3B0aW9ucykge1xuICAgICAgICByZXR1cm4gbmV3IGljb252Lkljb252TGl0ZURlY29kZXJTdHJlYW0oaWNvbnYuZ2V0RGVjb2RlcihlbmNvZGluZywgb3B0aW9ucyksIG9wdGlvbnMpO1xuICAgICAgfTtcbiAgICAgIGljb252LnN1cHBvcnRzU3RyZWFtcyA9IHRydWU7XG4gICAgfTtcbiAgICB2YXIgc3RyZWFtX21vZHVsZTtcbiAgICB0cnkge1xuICAgICAgc3RyZWFtX21vZHVsZSA9IHJlcXVpcmUoXCJzdHJlYW1cIik7XG4gICAgfSBjYXRjaCAoZSkge1xuICAgIH1cbiAgICBpZiAoc3RyZWFtX21vZHVsZSAmJiBzdHJlYW1fbW9kdWxlLlRyYW5zZm9ybSkge1xuICAgICAgaWNvbnYuZW5hYmxlU3RyZWFtaW5nQVBJKHN0cmVhbV9tb2R1bGUpO1xuICAgIH0gZWxzZSB7XG4gICAgICBpY29udi5lbmNvZGVTdHJlYW0gPSBpY29udi5kZWNvZGVTdHJlYW0gPSBmdW5jdGlvbigpIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKFwiaWNvbnYtbGl0ZSBTdHJlYW1pbmcgQVBJIGlzIG5vdCBlbmFibGVkLiBVc2UgaWNvbnYuZW5hYmxlU3RyZWFtaW5nQVBJKHJlcXVpcmUoJ3N0cmVhbScpKTsgdG8gZW5hYmxlIGl0LlwiKTtcbiAgICAgIH07XG4gICAgfVxuICAgIGlmIChmYWxzZSkge1xuICAgICAgY29uc29sZS5lcnJvcihcImljb252LWxpdGUgd2FybmluZzoganMgZmlsZXMgdXNlIG5vbi11dGY4IGVuY29kaW5nLiBTZWUgaHR0cHM6Ly9naXRodWIuY29tL2FzaHR1Y2hraW4vaWNvbnYtbGl0ZS93aWtpL0phdmFzY3JpcHQtc291cmNlLWZpbGUtZW5jb2RpbmdzIGZvciBtb3JlIGluZm8uXCIpO1xuICAgIH1cbiAgfVxufSk7XG5cbi8vIG5vZGVfbW9kdWxlcy9ib2R5LXBhcnNlci9saWIvcmVhZC5qc1xudmFyIHJlcXVpcmVfcmVhZCA9IF9fY29tbW9uSlMoe1xuICBcIm5vZGVfbW9kdWxlcy9ib2R5LXBhcnNlci9saWIvcmVhZC5qc1wiKGV4cG9ydHMyLCBtb2R1bGUyKSB7XG4gICAgXCJ1c2Ugc3RyaWN0XCI7XG4gICAgdmFyIGNyZWF0ZUVycm9yID0gcmVxdWlyZV9odHRwX2Vycm9ycygpO1xuICAgIHZhciBnZXRCb2R5ID0gcmVxdWlyZV9yYXdfYm9keSgpO1xuICAgIHZhciBpY29udiA9IHJlcXVpcmVfbGliMigpO1xuICAgIHZhciBvbkZpbmlzaGVkID0gcmVxdWlyZV9vbl9maW5pc2hlZCgpO1xuICAgIHZhciB6bGliID0gcmVxdWlyZShcIm5vZGU6emxpYlwiKTtcbiAgICBtb2R1bGUyLmV4cG9ydHMgPSByZWFkO1xuICAgIGZ1bmN0aW9uIHJlYWQocmVxLCByZXMsIG5leHQsIHBhcnNlLCBkZWJ1Zywgb3B0aW9ucykge1xuICAgICAgdmFyIGxlbmd0aDtcbiAgICAgIHZhciBvcHRzID0gb3B0aW9ucztcbiAgICAgIHZhciBzdHJlYW07XG4gICAgICB2YXIgZW5jb2RpbmcgPSBvcHRzLmVuY29kaW5nICE9PSBudWxsID8gb3B0cy5lbmNvZGluZyA6IG51bGw7XG4gICAgICB2YXIgdmVyaWZ5ID0gb3B0cy52ZXJpZnk7XG4gICAgICB0cnkge1xuICAgICAgICBzdHJlYW0gPSBjb250ZW50c3RyZWFtKHJlcSwgZGVidWcsIG9wdHMuaW5mbGF0ZSk7XG4gICAgICAgIGxlbmd0aCA9IHN0cmVhbS5sZW5ndGg7XG4gICAgICAgIHN0cmVhbS5sZW5ndGggPSB2b2lkIDA7XG4gICAgICB9IGNhdGNoIChlcnIyKSB7XG4gICAgICAgIHJldHVybiBuZXh0KGVycjIpO1xuICAgICAgfVxuICAgICAgb3B0cy5sZW5ndGggPSBsZW5ndGg7XG4gICAgICBvcHRzLmVuY29kaW5nID0gdmVyaWZ5ID8gbnVsbCA6IGVuY29kaW5nO1xuICAgICAgaWYgKG9wdHMuZW5jb2RpbmcgPT09IG51bGwgJiYgZW5jb2RpbmcgIT09IG51bGwgJiYgIWljb252LmVuY29kaW5nRXhpc3RzKGVuY29kaW5nKSkge1xuICAgICAgICByZXR1cm4gbmV4dChjcmVhdGVFcnJvcig0MTUsICd1bnN1cHBvcnRlZCBjaGFyc2V0IFwiJyArIGVuY29kaW5nLnRvVXBwZXJDYXNlKCkgKyAnXCInLCB7XG4gICAgICAgICAgY2hhcnNldDogZW5jb2RpbmcudG9Mb3dlckNhc2UoKSxcbiAgICAgICAgICB0eXBlOiBcImNoYXJzZXQudW5zdXBwb3J0ZWRcIlxuICAgICAgICB9KSk7XG4gICAgICB9XG4gICAgICBkZWJ1ZyhcInJlYWQgYm9keVwiKTtcbiAgICAgIGdldEJvZHkoc3RyZWFtLCBvcHRzLCBmdW5jdGlvbihlcnJvciwgYm9keSkge1xuICAgICAgICBpZiAoZXJyb3IpIHtcbiAgICAgICAgICB2YXIgX2Vycm9yO1xuICAgICAgICAgIGlmIChlcnJvci50eXBlID09PSBcImVuY29kaW5nLnVuc3VwcG9ydGVkXCIpIHtcbiAgICAgICAgICAgIF9lcnJvciA9IGNyZWF0ZUVycm9yKDQxNSwgJ3Vuc3VwcG9ydGVkIGNoYXJzZXQgXCInICsgZW5jb2RpbmcudG9VcHBlckNhc2UoKSArICdcIicsIHtcbiAgICAgICAgICAgICAgY2hhcnNldDogZW5jb2RpbmcudG9Mb3dlckNhc2UoKSxcbiAgICAgICAgICAgICAgdHlwZTogXCJjaGFyc2V0LnVuc3VwcG9ydGVkXCJcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBfZXJyb3IgPSBjcmVhdGVFcnJvcig0MDAsIGVycm9yKTtcbiAgICAgICAgICB9XG4gICAgICAgICAgaWYgKHN0cmVhbSAhPT0gcmVxKSB7XG4gICAgICAgICAgICByZXEudW5waXBlKCk7XG4gICAgICAgICAgICBzdHJlYW0uZGVzdHJveSgpO1xuICAgICAgICAgIH1cbiAgICAgICAgICBkdW1wKHJlcSwgZnVuY3Rpb24gb25maW5pc2hlZCgpIHtcbiAgICAgICAgICAgIG5leHQoY3JlYXRlRXJyb3IoNDAwLCBfZXJyb3IpKTtcbiAgICAgICAgICB9KTtcbiAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHZlcmlmeSkge1xuICAgICAgICAgIHRyeSB7XG4gICAgICAgICAgICBkZWJ1ZyhcInZlcmlmeSBib2R5XCIpO1xuICAgICAgICAgICAgdmVyaWZ5KHJlcSwgcmVzLCBib2R5LCBlbmNvZGluZyk7XG4gICAgICAgICAgfSBjYXRjaCAoZXJyMikge1xuICAgICAgICAgICAgbmV4dChjcmVhdGVFcnJvcig0MDMsIGVycjIsIHtcbiAgICAgICAgICAgICAgYm9keSxcbiAgICAgICAgICAgICAgdHlwZTogZXJyMi50eXBlIHx8IFwiZW50aXR5LnZlcmlmeS5mYWlsZWRcIlxuICAgICAgICAgICAgfSkpO1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICB2YXIgc3RyID0gYm9keTtcbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICBkZWJ1ZyhcInBhcnNlIGJvZHlcIik7XG4gICAgICAgICAgc3RyID0gdHlwZW9mIGJvZHkgIT09IFwic3RyaW5nXCIgJiYgZW5jb2RpbmcgIT09IG51bGwgPyBpY29udi5kZWNvZGUoYm9keSwgZW5jb2RpbmcpIDogYm9keTtcbiAgICAgICAgICByZXEuYm9keSA9IHBhcnNlKHN0ciwgZW5jb2RpbmcpO1xuICAgICAgICB9IGNhdGNoIChlcnIyKSB7XG4gICAgICAgICAgbmV4dChjcmVhdGVFcnJvcig0MDAsIGVycjIsIHtcbiAgICAgICAgICAgIGJvZHk6IHN0cixcbiAgICAgICAgICAgIHR5cGU6IGVycjIudHlwZSB8fCBcImVudGl0eS5wYXJzZS5mYWlsZWRcIlxuICAgICAgICAgIH0pKTtcbiAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgbmV4dCgpO1xuICAgICAgfSk7XG4gICAgfVxuICAgIGZ1bmN0aW9uIGNvbnRlbnRzdHJlYW0ocmVxLCBkZWJ1ZywgaW5mbGF0ZSkge1xuICAgICAgdmFyIGVuY29kaW5nID0gKHJlcS5oZWFkZXJzW1wiY29udGVudC1lbmNvZGluZ1wiXSB8fCBcImlkZW50aXR5XCIpLnRvTG93ZXJDYXNlKCk7XG4gICAgICB2YXIgbGVuZ3RoID0gcmVxLmhlYWRlcnNbXCJjb250ZW50LWxlbmd0aFwiXTtcbiAgICAgIGRlYnVnKCdjb250ZW50LWVuY29kaW5nIFwiJXNcIicsIGVuY29kaW5nKTtcbiAgICAgIGlmIChpbmZsYXRlID09PSBmYWxzZSAmJiBlbmNvZGluZyAhPT0gXCJpZGVudGl0eVwiKSB7XG4gICAgICAgIHRocm93IGNyZWF0ZUVycm9yKDQxNSwgXCJjb250ZW50IGVuY29kaW5nIHVuc3VwcG9ydGVkXCIsIHtcbiAgICAgICAgICBlbmNvZGluZyxcbiAgICAgICAgICB0eXBlOiBcImVuY29kaW5nLnVuc3VwcG9ydGVkXCJcbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgICBpZiAoZW5jb2RpbmcgPT09IFwiaWRlbnRpdHlcIikge1xuICAgICAgICByZXEubGVuZ3RoID0gbGVuZ3RoO1xuICAgICAgICByZXR1cm4gcmVxO1xuICAgICAgfVxuICAgICAgdmFyIHN0cmVhbSA9IGNyZWF0ZURlY29tcHJlc3Npb25TdHJlYW0oZW5jb2RpbmcsIGRlYnVnKTtcbiAgICAgIHJlcS5waXBlKHN0cmVhbSk7XG4gICAgICByZXR1cm4gc3RyZWFtO1xuICAgIH1cbiAgICBmdW5jdGlvbiBjcmVhdGVEZWNvbXByZXNzaW9uU3RyZWFtKGVuY29kaW5nLCBkZWJ1Zykge1xuICAgICAgc3dpdGNoIChlbmNvZGluZykge1xuICAgICAgICBjYXNlIFwiZGVmbGF0ZVwiOlxuICAgICAgICAgIGRlYnVnKFwiaW5mbGF0ZSBib2R5XCIpO1xuICAgICAgICAgIHJldHVybiB6bGliLmNyZWF0ZUluZmxhdGUoKTtcbiAgICAgICAgY2FzZSBcImd6aXBcIjpcbiAgICAgICAgICBkZWJ1ZyhcImd1bnppcCBib2R5XCIpO1xuICAgICAgICAgIHJldHVybiB6bGliLmNyZWF0ZUd1bnppcCgpO1xuICAgICAgICBjYXNlIFwiYnJcIjpcbiAgICAgICAgICBkZWJ1ZyhcImJyb3RsaSBkZWNvbXByZXNzIGJvZHlcIik7XG4gICAgICAgICAgcmV0dXJuIHpsaWIuY3JlYXRlQnJvdGxpRGVjb21wcmVzcygpO1xuICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgIHRocm93IGNyZWF0ZUVycm9yKDQxNSwgJ3Vuc3VwcG9ydGVkIGNvbnRlbnQgZW5jb2RpbmcgXCInICsgZW5jb2RpbmcgKyAnXCInLCB7XG4gICAgICAgICAgICBlbmNvZGluZyxcbiAgICAgICAgICAgIHR5cGU6IFwiZW5jb2RpbmcudW5zdXBwb3J0ZWRcIlxuICAgICAgICAgIH0pO1xuICAgICAgfVxuICAgIH1cbiAgICBmdW5jdGlvbiBkdW1wKHJlcSwgY2FsbGJhY2spIHtcbiAgICAgIGlmIChvbkZpbmlzaGVkLmlzRmluaXNoZWQocmVxKSkge1xuICAgICAgICBjYWxsYmFjayhudWxsKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIG9uRmluaXNoZWQocmVxLCBjYWxsYmFjayk7XG4gICAgICAgIHJlcS5yZXN1bWUoKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn0pO1xuXG4vLyBub2RlX21vZHVsZXMvdHlwZS1pcy9ub2RlX21vZHVsZXMvbWltZS1kYi9kYi5qc29uXG52YXIgcmVxdWlyZV9kYiA9IF9fY29tbW9uSlMoe1xuICBcIm5vZGVfbW9kdWxlcy90eXBlLWlzL25vZGVfbW9kdWxlcy9taW1lLWRiL2RiLmpzb25cIihleHBvcnRzMiwgbW9kdWxlMikge1xuICAgIG1vZHVsZTIuZXhwb3J0cyA9IHtcbiAgICAgIFwiYXBwbGljYXRpb24vMWQtaW50ZXJsZWF2ZWQtcGFyaXR5ZmVjXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vM2dwZGFzaC1xb2UtcmVwb3J0K3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNoYXJzZXQ6IFwiVVRGLThcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi8zZ3BwLWltcyt4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uLzNncHBoYWwranNvblwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vM2dwcGhhbGZvcm1zK2pzb25cIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL2EybFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL2FjZStjYm9yXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vYWNlK2pzb25cIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL2FjZS1ncm91cGNvbW0rY2JvclwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL2FjZS10cmwrY2JvclwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL2FjdGl2ZW1lc3NhZ2VcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9hY3Rpdml0eStqc29uXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9haWYrY2JvclwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL2FpZitqc29uXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9hbHRvLWNkbmkranNvblwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vYWx0by1jZG5pZmlsdGVyK2pzb25cIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL2FsdG8tY29zdG1hcCtqc29uXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9hbHRvLWNvc3RtYXBmaWx0ZXIranNvblwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vYWx0by1kaXJlY3RvcnkranNvblwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vYWx0by1lbmRwb2ludGNvc3QranNvblwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vYWx0by1lbmRwb2ludGNvc3RwYXJhbXMranNvblwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vYWx0by1lbmRwb2ludHByb3AranNvblwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vYWx0by1lbmRwb2ludHByb3BwYXJhbXMranNvblwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vYWx0by1lcnJvcitqc29uXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9hbHRvLW5ldHdvcmttYXAranNvblwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vYWx0by1uZXR3b3JrbWFwZmlsdGVyK2pzb25cIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL2FsdG8tcHJvcG1hcCtqc29uXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9hbHRvLXByb3BtYXBwYXJhbXMranNvblwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vYWx0by10aXBzK2pzb25cIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL2FsdG8tdGlwc3BhcmFtcytqc29uXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9hbHRvLXVwZGF0ZXN0cmVhbWNvbnRyb2wranNvblwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vYWx0by11cGRhdGVzdHJlYW1wYXJhbXMranNvblwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vYW1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vYW5kcmV3LWluc2V0XCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wiZXpcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL2FwcGluc3RhbGxlclwiOiB7XG4gICAgICAgIGNvbXByZXNzaWJsZTogZmFsc2UsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImFwcGluc3RhbGxlclwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vYXBwbGVmaWxlXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vYXBwbGl4d2FyZVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJhcGFjaGVcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wiYXdcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL2FwcHhcIjoge1xuICAgICAgICBjb21wcmVzc2libGU6IGZhbHNlLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJhcHB4XCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9hcHB4YnVuZGxlXCI6IHtcbiAgICAgICAgY29tcHJlc3NpYmxlOiBmYWxzZSxcbiAgICAgICAgZXh0ZW5zaW9uczogW1wiYXBweGJ1bmRsZVwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vYXQrand0XCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vYXRmXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vYXRmeFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL2F0b20reG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJhdG9tXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9hdG9tY2F0K3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZSxcbiAgICAgICAgZXh0ZW5zaW9uczogW1wiYXRvbWNhdFwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vYXRvbWRlbGV0ZWQreG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJhdG9tZGVsZXRlZFwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vYXRvbWljbWFpbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL2F0b21zdmMreG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJhdG9tc3ZjXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9hdHNjLWR3ZCt4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWUsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImR3ZFwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vYXRzYy1keW5hbWljLWV2ZW50LW1lc3NhZ2VcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9hdHNjLWhlbGQreG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJoZWxkXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9hdHNjLXJkdCtqc29uXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9hdHNjLXJzYXQreG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJyc2F0XCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9hdHhtbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL2F1dGgtcG9saWN5K3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vYXV0b21hdGlvbm1sLWFtbCt4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWUsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImFtbFwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vYXV0b21hdGlvbm1sLWFtbHgremlwXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiBmYWxzZSxcbiAgICAgICAgZXh0ZW5zaW9uczogW1wiYW1seFwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vYmFjbmV0LXhkZCt6aXBcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IGZhbHNlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9iYXRjaC1zbXRwXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vYmRvY1wiOiB7XG4gICAgICAgIGNvbXByZXNzaWJsZTogZmFsc2UsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImJkb2NcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL2JlZXAreG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY2hhcnNldDogXCJVVEYtOFwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL2J1ZnJcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9jMnBhXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vY2FsZW5kYXIranNvblwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vY2FsZW5kYXIreG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJ4Y3NcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL2NhbGwtY29tcGxldGlvblwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL2NhbHMtMTg0MFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL2NhcHRpdmUranNvblwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vY2JvclwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL2Nib3Itc2VxXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vY2NjZXhcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9jY21wK3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vY2N4bWwreG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJjY3htbFwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vY2RhK3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNoYXJzZXQ6IFwiVVRGLThcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9jZGZ4K3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZSxcbiAgICAgICAgZXh0ZW5zaW9uczogW1wiY2RmeFwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vY2RtaS1jYXBhYmlsaXR5XCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wiY2RtaWFcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL2NkbWktY29udGFpbmVyXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wiY2RtaWNcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL2NkbWktZG9tYWluXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wiY2RtaWRcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL2NkbWktb2JqZWN0XCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wiY2RtaW9cIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL2NkbWktcXVldWVcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJjZG1pcVwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vY2RuaVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL2NlK2Nib3JcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9jZWFcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9jZWEtMjAxOCt4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL2NlbGxtbCt4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL2Nmd1wiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL2NpZC1lZGhvYytjYm9yLXNlcVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL2NpdHkranNvblwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vY2l0eStqc29uLXNlcVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL2NsclwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL2NsdWUreG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9jbHVlX2luZm8reG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9jbXNcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9jbnJwK3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vY29hcC1lYXBcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9jb2FwLWdyb3VwK2pzb25cIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL2NvYXAtcGF5bG9hZFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL2NvbW1vbmdyb3VuZFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL2NvbmNpc2UtcHJvYmxlbS1kZXRhaWxzK2Nib3JcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9jb25mZXJlbmNlLWluZm8reG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9jb3NlXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vY29zZS1rZXlcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9jb3NlLWtleS1zZXRcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9jb3NlLXg1MDlcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9jcGwreG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJjcGxcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL2NzcmF0dHJzXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vY3N0YSt4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL2NzdGFkYXRhK3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vY3N2bStqc29uXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9jdS1zZWVtZVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJhcGFjaGVcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wiY3VcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL2N3bFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImN3bFwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vY3dsK2pzb25cIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL2N3bCt5YW1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vY3d0XCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vY3liZXJjYXNoXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vZGFydFwiOiB7XG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vZGFzaCt4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWUsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcIm1wZFwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vZGFzaC1wYXRjaCt4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWUsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcIm1wcFwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vZGFzaGRlbHRhXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vZGF2bW91bnQreG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJkYXZtb3VudFwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vZGNhLXJmdFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL2RjZFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL2RlYy1keFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL2RpYWxvZy1pbmZvK3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vZGljb21cIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJkY21cIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL2RpY29tK2pzb25cIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL2RpY29tK3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vZGlpXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vZGl0XCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vZG5zXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vZG5zK2pzb25cIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL2Rucy1tZXNzYWdlXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vZG9jYm9vayt4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiYXBhY2hlXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZSxcbiAgICAgICAgZXh0ZW5zaW9uczogW1wiZGJrXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9kb3RzK2Nib3JcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9kcG9wK2p3dFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL2Rza3BwK3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vZHNzYytkZXJcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJkc3NjXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9kc3NjK3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZSxcbiAgICAgICAgZXh0ZW5zaW9uczogW1wieGRzc2NcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL2R2Y3NcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9lYXQrY3d0XCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vZWF0K2p3dFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL2VhdC1idW4rY2JvclwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL2VhdC1idW4ranNvblwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vZWF0LXVjcytjYm9yXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vZWF0LXVjcytqc29uXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9lY21hc2NyaXB0XCI6IHtcbiAgICAgICAgc291cmNlOiBcImFwYWNoZVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWUsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImVjbWFcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL2VkaG9jK2Nib3Itc2VxXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vZWRpLWNvbnNlbnRcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9lZGkteDEyXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiBmYWxzZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vZWRpZmFjdFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogZmFsc2VcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL2VmaVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL2VsbStqc29uXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY2hhcnNldDogXCJVVEYtOFwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL2VsbSt4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL2VtZXJnZW5jeWNhbGxkYXRhLmNhcCt4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjaGFyc2V0OiBcIlVURi04XCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vZW1lcmdlbmN5Y2FsbGRhdGEuY29tbWVudCt4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL2VtZXJnZW5jeWNhbGxkYXRhLmNvbnRyb2wreG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9lbWVyZ2VuY3ljYWxsZGF0YS5kZXZpY2VpbmZvK3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vZW1lcmdlbmN5Y2FsbGRhdGEuZWNhbGwubXNkXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vZW1lcmdlbmN5Y2FsbGRhdGEubGVnYWN5ZXNuK2pzb25cIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL2VtZXJnZW5jeWNhbGxkYXRhLnByb3ZpZGVyaW5mbyt4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL2VtZXJnZW5jeWNhbGxkYXRhLnNlcnZpY2VpbmZvK3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vZW1lcmdlbmN5Y2FsbGRhdGEuc3Vic2NyaWJlcmluZm8reG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9lbWVyZ2VuY3ljYWxsZGF0YS52ZWRzK3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vZW1tYSt4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWUsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImVtbWFcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL2Vtb3Rpb25tbCt4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWUsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImVtb3Rpb25tbFwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vZW5jYXBydHBcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9lbnRpdHktc3RhdGVtZW50K2p3dFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL2VwcCt4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL2VwdWIremlwXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiBmYWxzZSxcbiAgICAgICAgZXh0ZW5zaW9uczogW1wiZXB1YlwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vZXNob3BcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9leGlcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJleGlcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL2V4cGVjdC1jdC1yZXBvcnQranNvblwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vZXhwcmVzc1wiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImV4cFwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vZmFzdGluZm9zZXRcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9mYXN0c29hcFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL2ZkZlwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImZkZlwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vZmR0K3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZSxcbiAgICAgICAgZXh0ZW5zaW9uczogW1wiZmR0XCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9maGlyK2pzb25cIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjaGFyc2V0OiBcIlVURi04XCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vZmhpcit4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjaGFyc2V0OiBcIlVURi04XCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vZmlkby50cnVzdGVkLWFwcHMranNvblwiOiB7XG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vZml0c1wiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL2ZsZXhmZWNcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9mb250LXNmbnRcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9mb250LXRkcGZyXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wicGZyXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9mb250LXdvZmZcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IGZhbHNlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9mcmFtZXdvcmstYXR0cmlidXRlcyt4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL2dlbytqc29uXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJnZW9qc29uXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9nZW8ranNvbi1zZXFcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9nZW9wYWNrYWdlK3NxbGl0ZTNcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9nZW9wb3NlK2pzb25cIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL2dlb3hhY21sK2pzb25cIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL2dlb3hhY21sK3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vZ2x0Zi1idWZmZXJcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9nbWwreG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJnbWxcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL2duYXAtYmluZGluZy1qd3NcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9nbmFwLWJpbmRpbmctandzZFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL2duYXAtYmluZGluZy1yb3RhdGlvbi1qd3NcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9nbmFwLWJpbmRpbmctcm90YXRpb24tandzZFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL2dweCt4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiYXBhY2hlXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZSxcbiAgICAgICAgZXh0ZW5zaW9uczogW1wiZ3B4XCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9ncmliXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vZ3hmXCI6IHtcbiAgICAgICAgc291cmNlOiBcImFwYWNoZVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJneGZcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL2d6aXBcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IGZhbHNlLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJnelwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vaDIyNFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL2hlbGQreG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9oanNvblwiOiB7XG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImhqc29uXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9obDd2Mit4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjaGFyc2V0OiBcIlVURi04XCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vaHR0cFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL2h5cGVyc3R1ZGlvXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wic3RrXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9pYmUta2V5LXJlcXVlc3QreG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9pYmUtcGtnLXJlcGx5K3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vaWJlLXBwLWRhdGFcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9pZ2VzXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vaW0taXNjb21wb3NpbmcreG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY2hhcnNldDogXCJVVEYtOFwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL2luZGV4XCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vaW5kZXguY21kXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vaW5kZXgub2JqXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vaW5kZXgucmVzcG9uc2VcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9pbmRleC52bmRcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9pbmttbCt4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWUsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImlua1wiLCBcImlua21sXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9pb3RwXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vaXBmaXhcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJpcGZpeFwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vaXBwXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vaXN1cFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL2l0cyt4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWUsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcIml0c1wiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vamF2YS1hcmNoaXZlXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiBmYWxzZSxcbiAgICAgICAgZXh0ZW5zaW9uczogW1wiamFyXCIsIFwid2FyXCIsIFwiZWFyXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9qYXZhLXNlcmlhbGl6ZWQtb2JqZWN0XCI6IHtcbiAgICAgICAgc291cmNlOiBcImFwYWNoZVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IGZhbHNlLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJzZXJcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL2phdmEtdm1cIjoge1xuICAgICAgICBzb3VyY2U6IFwiYXBhY2hlXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogZmFsc2UsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImNsYXNzXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9qYXZhc2NyaXB0XCI6IHtcbiAgICAgICAgc291cmNlOiBcImFwYWNoZVwiLFxuICAgICAgICBjaGFyc2V0OiBcIlVURi04XCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZSxcbiAgICAgICAgZXh0ZW5zaW9uczogW1wianNcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL2pmMmZlZWQranNvblwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vam9zZVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL2pvc2UranNvblwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vanJkK2pzb25cIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL2pzY2FsZW5kYXIranNvblwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vanNjb250YWN0K2pzb25cIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL2pzb25cIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjaGFyc2V0OiBcIlVURi04XCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZSxcbiAgICAgICAgZXh0ZW5zaW9uczogW1wianNvblwiLCBcIm1hcFwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vanNvbi1wYXRjaCtqc29uXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9qc29uLXNlcVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL2pzb241XCI6IHtcbiAgICAgICAgZXh0ZW5zaW9uczogW1wianNvbjVcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL2pzb25tbCtqc29uXCI6IHtcbiAgICAgICAgc291cmNlOiBcImFwYWNoZVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWUsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImpzb25tbFwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vanNvbnBhdGhcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9qd2sranNvblwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vandrLXNldCtqc29uXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9qd2stc2V0K2p3dFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL2p3dFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL2twbWwtcmVxdWVzdCt4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL2twbWwtcmVzcG9uc2UreG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9sZCtqc29uXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJqc29ubGRcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL2xncit4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWUsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImxnclwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vbGluay1mb3JtYXRcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9saW5rc2V0XCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vbGlua3NldCtqc29uXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9sb2FkLWNvbnRyb2wreG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9sb2dvdXQrand0XCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vbG9zdCt4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWUsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImxvc3R4bWxcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL2xvc3RzeW5jK3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vbHBmK3ppcFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogZmFsc2VcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL2x4ZlwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL21hYy1iaW5oZXg0MFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImhxeFwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vbWFjLWNvbXBhY3Rwcm9cIjoge1xuICAgICAgICBzb3VyY2U6IFwiYXBhY2hlXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImNwdFwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vbWFjd3JpdGVpaVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL21hZHMreG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJtYWRzXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9tYW5pZmVzdCtqc29uXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY2hhcnNldDogXCJVVEYtOFwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWUsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcIndlYm1hbmlmZXN0XCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9tYXJjXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wibXJjXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9tYXJjeG1sK3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZSxcbiAgICAgICAgZXh0ZW5zaW9uczogW1wibXJjeFwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vbWF0aGVtYXRpY2FcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJtYVwiLCBcIm5iXCIsIFwibWJcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL21hdGhtbCt4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWUsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcIm1hdGhtbFwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vbWF0aG1sLWNvbnRlbnQreG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9tYXRobWwtcHJlc2VudGF0aW9uK3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vbWJtcy1hc3NvY2lhdGVkLXByb2NlZHVyZS1kZXNjcmlwdGlvbit4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL21ibXMtZGVyZWdpc3Rlcit4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL21ibXMtZW52ZWxvcGUreG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9tYm1zLW1zayt4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL21ibXMtbXNrLXJlc3BvbnNlK3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vbWJtcy1wcm90ZWN0aW9uLWRlc2NyaXB0aW9uK3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vbWJtcy1yZWNlcHRpb24tcmVwb3J0K3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vbWJtcy1yZWdpc3Rlcit4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL21ibXMtcmVnaXN0ZXItcmVzcG9uc2UreG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9tYm1zLXNjaGVkdWxlK3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vbWJtcy11c2VyLXNlcnZpY2UtZGVzY3JpcHRpb24reG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9tYm94XCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wibWJveFwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vbWVkaWEtcG9saWN5LWRhdGFzZXQreG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJtcGZcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL21lZGlhX2NvbnRyb2wreG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9tZWRpYXNlcnZlcmNvbnRyb2wreG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJtc2NtbFwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vbWVyZ2UtcGF0Y2granNvblwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vbWV0YWxpbmsreG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImFwYWNoZVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWUsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcIm1ldGFsaW5rXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9tZXRhbGluazQreG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJtZXRhNFwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vbWV0cyt4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWUsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcIm1ldHNcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL21mNFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL21pa2V5XCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vbWlwY1wiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL21pc3NpbmctYmxvY2tzK2Nib3Itc2VxXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vbW10LWFlaSt4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWUsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcIm1hZWlcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL21tdC11c2QreG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJtdXNkXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9tb2RzK3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZSxcbiAgICAgICAgZXh0ZW5zaW9uczogW1wibW9kc1wiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vbW9zcy1rZXlzXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vbW9zcy1zaWduYXR1cmVcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9tb3Nza2V5LWRhdGFcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9tb3Nza2V5LXJlcXVlc3RcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9tcDIxXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wibTIxXCIsIFwibXAyMVwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vbXA0XCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wibXA0XCIsIFwibXBnNFwiLCBcIm1wNHNcIiwgXCJtNHBcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL21wZWc0LWdlbmVyaWNcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9tcGVnNC1pb2RcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9tcGVnNC1pb2QteG10XCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vbXJiLWNvbnN1bWVyK3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vbXJiLXB1Ymxpc2greG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9tc2MtaXZyK3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNoYXJzZXQ6IFwiVVRGLThcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9tc2MtbWl4ZXIreG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY2hhcnNldDogXCJVVEYtOFwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL21zaXhcIjoge1xuICAgICAgICBjb21wcmVzc2libGU6IGZhbHNlLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJtc2l4XCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9tc2l4YnVuZGxlXCI6IHtcbiAgICAgICAgY29tcHJlc3NpYmxlOiBmYWxzZSxcbiAgICAgICAgZXh0ZW5zaW9uczogW1wibXNpeGJ1bmRsZVwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vbXN3b3JkXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiBmYWxzZSxcbiAgICAgICAgZXh0ZW5zaW9uczogW1wiZG9jXCIsIFwiZG90XCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9tdWQranNvblwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vbXVsdGlwYXJ0LWNvcmVcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9teGZcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJteGZcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL24tcXVhZHNcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJucVwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vbi10cmlwbGVzXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wibnRcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL25hc2RhdGFcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9uZXdzLWNoZWNrZ3JvdXBzXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY2hhcnNldDogXCJVUy1BU0NJSVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9uZXdzLWdyb3VwaW5mb1wiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNoYXJzZXQ6IFwiVVMtQVNDSUlcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vbmV3cy10cmFuc21pc3Npb25cIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9ubHNtbCt4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL25vZGVcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJjanNcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL25zc1wiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL29hdXRoLWF1dGh6LXJlcStqd3RcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9vYmxpdmlvdXMtZG5zLW1lc3NhZ2VcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9vY3NwLXJlcXVlc3RcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9vY3NwLXJlc3BvbnNlXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vb2N0ZXQtc3RyZWFtXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJiaW5cIiwgXCJkbXNcIiwgXCJscmZcIiwgXCJtYXJcIiwgXCJzb1wiLCBcImRpc3RcIiwgXCJkaXN0elwiLCBcInBrZ1wiLCBcImJwa1wiLCBcImR1bXBcIiwgXCJlbGNcIiwgXCJkZXBsb3lcIiwgXCJleGVcIiwgXCJkbGxcIiwgXCJkZWJcIiwgXCJkbWdcIiwgXCJpc29cIiwgXCJpbWdcIiwgXCJtc2lcIiwgXCJtc3BcIiwgXCJtc21cIiwgXCJidWZmZXJcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL29kYVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcIm9kYVwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vb2RtK3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vb2R4XCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vb2VicHMtcGFja2FnZSt4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWUsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcIm9wZlwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vb2dnXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiBmYWxzZSxcbiAgICAgICAgZXh0ZW5zaW9uczogW1wib2d4XCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9vaHR0cC1rZXlzXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vb21kb2MreG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImFwYWNoZVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWUsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcIm9tZG9jXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9vbmVub3RlXCI6IHtcbiAgICAgICAgc291cmNlOiBcImFwYWNoZVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJvbmV0b2NcIiwgXCJvbmV0b2MyXCIsIFwib25ldG1wXCIsIFwib25lcGtnXCIsIFwib25lXCIsIFwib25lYVwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vb3BjLW5vZGVzZXQreG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9vc2NvcmVcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9veHBzXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wib3hwc1wiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vcDIxXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vcDIxK3ppcFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogZmFsc2VcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3AycC1vdmVybGF5K3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZSxcbiAgICAgICAgZXh0ZW5zaW9uczogW1wicmVsb1wiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vcGFyaXR5ZmVjXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vcGFzc3BvcnRcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9wYXRjaC1vcHMtZXJyb3IreG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJ4ZXJcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3BkZlwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogZmFsc2UsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcInBkZlwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vcGR4XCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vcGVtLWNlcnRpZmljYXRlLWNoYWluXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vcGdwLWVuY3J5cHRlZFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogZmFsc2UsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcInBncFwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vcGdwLWtleXNcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJhc2NcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3BncC1zaWduYXR1cmVcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJzaWdcIiwgXCJhc2NcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3BpY3MtcnVsZXNcIjoge1xuICAgICAgICBzb3VyY2U6IFwiYXBhY2hlXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcInByZlwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vcGlkZit4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjaGFyc2V0OiBcIlVURi04XCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vcGlkZi1kaWZmK3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNoYXJzZXQ6IFwiVVRGLThcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9wa2NzMTBcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJwMTBcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3BrY3MxMlwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3BrY3M3LW1pbWVcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJwN21cIiwgXCJwN2NcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3BrY3M3LXNpZ25hdHVyZVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcInA3c1wiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vcGtjczhcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJwOFwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vcGtjczgtZW5jcnlwdGVkXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vcGtpeC1hdHRyLWNlcnRcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJhY1wiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vcGtpeC1jZXJ0XCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wiY2VyXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9wa2l4LWNybFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImNybFwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vcGtpeC1wa2lwYXRoXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wicGtpcGF0aFwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vcGtpeGNtcFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcInBraVwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vcGxzK3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZSxcbiAgICAgICAgZXh0ZW5zaW9uczogW1wicGxzXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9wb2Mtc2V0dGluZ3MreG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY2hhcnNldDogXCJVVEYtOFwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3Bvc3RzY3JpcHRcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWUsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImFpXCIsIFwiZXBzXCIsIFwicHNcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3Bwc3AtdHJhY2tlcitqc29uXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9wcml2YXRlLXRva2VuLWlzc3Vlci1kaXJlY3RvcnlcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9wcml2YXRlLXRva2VuLXJlcXVlc3RcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9wcml2YXRlLXRva2VuLXJlc3BvbnNlXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vcHJvYmxlbStqc29uXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9wcm9ibGVtK3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vcHJvdmVuYW5jZSt4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWUsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcInByb3Z4XCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9wcm92aWRlZC1jbGFpbXMrand0XCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vcHJzLmFsdmVzdHJhbmQudGl0cmF4LXNoZWV0XCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vcHJzLmN3d1wiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImN3d1wiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vcHJzLmN5blwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNoYXJzZXQ6IFwiNy1CSVRcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vcHJzLmhwdWIremlwXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiBmYWxzZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vcHJzLmltcGxpZWQtZG9jdW1lbnQreG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9wcnMuaW1wbGllZC1leGVjdXRhYmxlXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vcHJzLmltcGxpZWQtb2JqZWN0K2pzb25cIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3Bycy5pbXBsaWVkLW9iamVjdCtqc29uLXNlcVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3Bycy5pbXBsaWVkLW9iamVjdCt5YW1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vcHJzLmltcGxpZWQtc3RydWN0dXJlXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vcHJzLm1heWZpbGVcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9wcnMubnByZW5kXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vcHJzLnBsdWNrZXJcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9wcnMucmRmLXhtbC1jcnlwdFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3Bycy52Y2ZiemlwMlwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3Bycy54c2YreG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJ4c2ZcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3Bza2MreG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJwc2tjeG1sXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9wdmQranNvblwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vcXNpZ1wiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3JhbWwreWFtbFwiOiB7XG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZSxcbiAgICAgICAgZXh0ZW5zaW9uczogW1wicmFtbFwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vcmFwdG9yZmVjXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vcmRhcCtqc29uXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9yZGYreG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJyZGZcIiwgXCJvd2xcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3JlZ2luZm8reG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJyaWZcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3JlbGF4LW5nLWNvbXBhY3Qtc3ludGF4XCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wicm5jXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9yZW1vdGUtcHJpbnRpbmdcIjoge1xuICAgICAgICBzb3VyY2U6IFwiYXBhY2hlXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3JlcHV0b24ranNvblwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vcmVzb2x2ZS1yZXNwb25zZStqd3RcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9yZXNvdXJjZS1saXN0cyt4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWUsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcInJsXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9yZXNvdXJjZS1saXN0cy1kaWZmK3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZSxcbiAgICAgICAgZXh0ZW5zaW9uczogW1wicmxkXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9yZmMreG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9yaXNjb3NcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9ybG1pK3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vcmxzLXNlcnZpY2VzK3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZSxcbiAgICAgICAgZXh0ZW5zaW9uczogW1wicnNcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3JvdXRlLWFwZCt4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWUsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcInJhcGRcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3JvdXRlLXMtdHNpZCt4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWUsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcInNsc1wiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vcm91dGUtdXNkK3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZSxcbiAgICAgICAgZXh0ZW5zaW9uczogW1wicnVzZFwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vcnBraS1jaGVja2xpc3RcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9ycGtpLWdob3N0YnVzdGVyc1wiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImdiclwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vcnBraS1tYW5pZmVzdFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcIm1mdFwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vcnBraS1wdWJsaWNhdGlvblwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3Jwa2ktcm9hXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wicm9hXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9ycGtpLXNpZ25lZC10YWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9ycGtpLXVwZG93blwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3JzZCt4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiYXBhY2hlXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZSxcbiAgICAgICAgZXh0ZW5zaW9uczogW1wicnNkXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9yc3MreG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImFwYWNoZVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWUsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcInJzc1wiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vcnRmXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJydGZcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3J0cGxvb3BiYWNrXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vcnR4XCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vc2FtbGFzc2VydGlvbit4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3NhbWxtZXRhZGF0YSt4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3NhcmlmK2pzb25cIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3NhcmlmLWV4dGVybmFsLXByb3BlcnRpZXMranNvblwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vc2JlXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vc2JtbCt4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWUsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcInNibWxcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3NjYWlwK3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vc2NpbStqc29uXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9zY3ZwLWN2LXJlcXVlc3RcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJzY3FcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3NjdnAtY3YtcmVzcG9uc2VcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJzY3NcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3NjdnAtdnAtcmVxdWVzdFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcInNwcVwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vc2N2cC12cC1yZXNwb25zZVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcInNwcFwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vc2RwXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wic2RwXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9zZWNldmVudCtqd3RcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9zZW5tbCtjYm9yXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vc2VubWwranNvblwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vc2VubWwreG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJzZW5tbHhcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3Nlbm1sLWV0Y2grY2JvclwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3Nlbm1sLWV0Y2granNvblwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vc2VubWwtZXhpXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vc2Vuc21sK2Nib3JcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9zZW5zbWwranNvblwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vc2Vuc21sK3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZSxcbiAgICAgICAgZXh0ZW5zaW9uczogW1wic2Vuc21seFwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vc2Vuc21sLWV4aVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3NlcCt4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3NlcC1leGlcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9zZXNzaW9uLWluZm9cIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9zZXQtcGF5bWVudFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3NldC1wYXltZW50LWluaXRpYXRpb25cIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJzZXRwYXlcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3NldC1yZWdpc3RyYXRpb25cIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9zZXQtcmVnaXN0cmF0aW9uLWluaXRpYXRpb25cIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJzZXRyZWdcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3NnbWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9zZ21sLW9wZW4tY2F0YWxvZ1wiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3NoZit4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWUsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcInNoZlwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vc2lldmVcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJzaXZcIiwgXCJzaWV2ZVwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vc2ltcGxlLWZpbHRlcit4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3NpbXBsZS1tZXNzYWdlLXN1bW1hcnlcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9zaW1wbGVzeW1ib2xjb250YWluZXJcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9zaXBjXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vc2xhdGVcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9zbWlsXCI6IHtcbiAgICAgICAgc291cmNlOiBcImFwYWNoZVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9zbWlsK3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZSxcbiAgICAgICAgZXh0ZW5zaW9uczogW1wic21pXCIsIFwic21pbFwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vc21wdGUzMzZtXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vc29hcCtmYXN0aW5mb3NldFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3NvYXAreG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9zcGFycWwtcXVlcnlcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJycVwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vc3BhcnFsLXJlc3VsdHMreG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJzcnhcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3NwZHgranNvblwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vc3Bpcml0cy1ldmVudCt4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3NxbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcInNxbFwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vc3Jnc1wiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImdyYW1cIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3NyZ3MreG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJncnhtbFwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vc3J1K3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZSxcbiAgICAgICAgZXh0ZW5zaW9uczogW1wic3J1XCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9zc2RsK3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJhcGFjaGVcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJzc2RsXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9zc2xrZXlsb2dmaWxlXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vc3NtbCt4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWUsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcInNzbWxcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3N0MjExMC00MVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3N0aXgranNvblwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vc3RyYXR1bVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3N3aWQrY2JvclwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3N3aWQreG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJzd2lkdGFnXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi90YW1wLWFwZXgtdXBkYXRlXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdGFtcC1hcGV4LXVwZGF0ZS1jb25maXJtXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdGFtcC1jb21tdW5pdHktdXBkYXRlXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdGFtcC1jb21tdW5pdHktdXBkYXRlLWNvbmZpcm1cIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi90YW1wLWVycm9yXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdGFtcC1zZXF1ZW5jZS1hZGp1c3RcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi90YW1wLXNlcXVlbmNlLWFkanVzdC1jb25maXJtXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdGFtcC1zdGF0dXMtcXVlcnlcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi90YW1wLXN0YXR1cy1yZXNwb25zZVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3RhbXAtdXBkYXRlXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdGFtcC11cGRhdGUtY29uZmlybVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3RhclwiOiB7XG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdGF4aWkranNvblwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdGQranNvblwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdGVpK3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZSxcbiAgICAgICAgZXh0ZW5zaW9uczogW1widGVpXCIsIFwidGVpY29ycHVzXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi90ZXRyYV9pc2lcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi90aHJhdWQreG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJ0ZmlcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3RpbWVzdGFtcC1xdWVyeVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3RpbWVzdGFtcC1yZXBseVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3RpbWVzdGFtcGVkLWRhdGFcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJ0c2RcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3Rsc3JwdCtnemlwXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdGxzcnB0K2pzb25cIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3RtK2pzb25cIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3RuYXV0aGxpc3RcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi90b2MrY2JvclwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3Rva2VuLWludHJvc3BlY3Rpb24rand0XCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdG9tbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZSxcbiAgICAgICAgZXh0ZW5zaW9uczogW1widG9tbFwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdHJpY2tsZS1pY2Utc2RwZnJhZ1wiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3RyaWdcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJ0cmlnXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi90cnVzdC1jaGFpbitqc29uXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi90cnVzdC1tYXJrK2p3dFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3RydXN0LW1hcmstZGVsZWdhdGlvbitqd3RcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi90dG1sK3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZSxcbiAgICAgICAgZXh0ZW5zaW9uczogW1widHRtbFwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdHZlLXRyaWdnZXJcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi90emlmXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdHppZi1sZWFwXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdWJqc29uXCI6IHtcbiAgICAgICAgY29tcHJlc3NpYmxlOiBmYWxzZSxcbiAgICAgICAgZXh0ZW5zaW9uczogW1widWJqXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi91Y2NzK2Nib3JcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi91amNzK2pzb25cIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3VscGZlY1wiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3VyYy1ncnBzaGVldCt4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3VyYy1yZXNzaGVldCt4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWUsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcInJzaGVldFwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdXJjLXRhcmdldGRlc2MreG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJ0ZFwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdXJjLXVpc29ja2V0ZGVzYyt4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZjXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdmMrY29zZVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZjK2p3dFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZjYXJkK2pzb25cIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZjYXJkK3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdmVtbWlcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92aXZpZGVuY2Uuc2NyaXB0ZmlsZVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJhcGFjaGVcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLjEwMDBtaW5kcy5kZWNpc2lvbi1tb2RlbCt4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWUsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcIjFrbVwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLjFvYlwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC4zZ3BwLXByb3NlK3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLjNncHAtcHJvc2UtcGMzYSt4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC4zZ3BwLXByb3NlLXBjM2FjaCt4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC4zZ3BwLXByb3NlLXBjM2NoK3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLjNncHAtcHJvc2UtcGM4K3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLjNncHAtdjJ4LWxvY2FsLXNlcnZpY2UtaW5mb3JtYXRpb25cIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuM2dwcC41Z25hc1wiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC4zZ3BwLjVnc2EyeFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC4zZ3BwLjVnc2EyeC1sb2NhbC1zZXJ2aWNlLWluZm9ybWF0aW9uXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLjNncHAuNWdzdjJ4XCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLjNncHAuNWdzdjJ4LWxvY2FsLXNlcnZpY2UtaW5mb3JtYXRpb25cIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuM2dwcC5hY2Nlc3MtdHJhbnNmZXItZXZlbnRzK3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLjNncHAuYnNmK3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLjNncHAuY3JzK3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLjNncHAuY3VycmVudC1sb2NhdGlvbi1kaXNjb3ZlcnkreG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuM2dwcC5nbW9wK3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLjNncHAuZ3RwY1wiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC4zZ3BwLmludGVyd29ya2luZy1kYXRhXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLjNncHAubHBwXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLjNncHAubWMtc2lnbmFsbGluZy1lYXJcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuM2dwcC5tY2RhdGEtYWZmaWxpYXRpb24tY29tbWFuZCt4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC4zZ3BwLm1jZGF0YS1pbmZvK3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLjNncHAubWNkYXRhLW1zZ3N0b3JlLWN0cmwtcmVxdWVzdCt4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC4zZ3BwLm1jZGF0YS1wYXlsb2FkXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLjNncHAubWNkYXRhLXJlZ3JvdXAreG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuM2dwcC5tY2RhdGEtc2VydmljZS1jb25maWcreG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuM2dwcC5tY2RhdGEtc2lnbmFsbGluZ1wiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC4zZ3BwLm1jZGF0YS11ZS1jb25maWcreG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuM2dwcC5tY2RhdGEtdXNlci1wcm9maWxlK3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLjNncHAubWNwdHQtYWZmaWxpYXRpb24tY29tbWFuZCt4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC4zZ3BwLm1jcHR0LWZsb29yLXJlcXVlc3QreG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuM2dwcC5tY3B0dC1pbmZvK3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLjNncHAubWNwdHQtbG9jYXRpb24taW5mbyt4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC4zZ3BwLm1jcHR0LW1ibXMtdXNhZ2UtaW5mbyt4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC4zZ3BwLm1jcHR0LXJlZ3JvdXAreG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuM2dwcC5tY3B0dC1zZXJ2aWNlLWNvbmZpZyt4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC4zZ3BwLm1jcHR0LXNpZ25lZCt4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC4zZ3BwLm1jcHR0LXVlLWNvbmZpZyt4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC4zZ3BwLm1jcHR0LXVlLWluaXQtY29uZmlnK3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLjNncHAubWNwdHQtdXNlci1wcm9maWxlK3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLjNncHAubWN2aWRlby1hZmZpbGlhdGlvbi1jb21tYW5kK3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLjNncHAubWN2aWRlby1pbmZvK3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLjNncHAubWN2aWRlby1sb2NhdGlvbi1pbmZvK3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLjNncHAubWN2aWRlby1tYm1zLXVzYWdlLWluZm8reG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuM2dwcC5tY3ZpZGVvLXJlZ3JvdXAreG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuM2dwcC5tY3ZpZGVvLXNlcnZpY2UtY29uZmlnK3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLjNncHAubWN2aWRlby10cmFuc21pc3Npb24tcmVxdWVzdCt4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC4zZ3BwLm1jdmlkZW8tdWUtY29uZmlnK3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLjNncHAubWN2aWRlby11c2VyLXByb2ZpbGUreG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuM2dwcC5taWQtY2FsbCt4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC4zZ3BwLm5nYXBcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuM2dwcC5wZmNwXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLjNncHAucGljLWJ3LWxhcmdlXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wicGxiXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuM2dwcC5waWMtYnctc21hbGxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJwc2JcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC4zZ3BwLnBpYy1idy12YXJcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJwdmJcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC4zZ3BwLnBpbmFwcC1pbmZvK3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLjNncHAuczFhcFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC4zZ3BwLnNlYWwtZ3JvdXAtZG9jK3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLjNncHAuc2VhbC1pbmZvK3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLjNncHAuc2VhbC1sb2NhdGlvbi1pbmZvK3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLjNncHAuc2VhbC1tYm1zLXVzYWdlLWluZm8reG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuM2dwcC5zZWFsLW5ldHdvcmstcW9zLW1hbmFnZW1lbnQtaW5mbyt4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC4zZ3BwLnNlYWwtdWUtY29uZmlnLWluZm8reG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuM2dwcC5zZWFsLXVuaWNhc3QtaW5mbyt4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC4zZ3BwLnNlYWwtdXNlci1wcm9maWxlLWluZm8reG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuM2dwcC5zbXNcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuM2dwcC5zbXMreG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuM2dwcC5zcnZjYy1leHQreG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuM2dwcC5zcnZjYy1pbmZvK3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLjNncHAuc3RhdGUtYW5kLWV2ZW50LWluZm8reG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuM2dwcC51c3NkK3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLjNncHAudjJ4XCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLjNncHAudmFlLWluZm8reG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuM2dwcDIuYmNtY3NpbmZvK3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLjNncHAyLnNtc1wiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC4zZ3BwMi50Y2FwXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1widGNhcFwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLjNsaWdodHNzb2Z0d2FyZS5pbWFnZXNjYWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuM20ucG9zdC1pdC1ub3Rlc1wiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcInB3blwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmFjY3BhYy5zaW1wbHkuYXNvXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wiYXNvXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuYWNjcGFjLnNpbXBseS5pbXBcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJpbXBcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5hY20uYWRkcmVzc3hmZXIranNvblwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmFjbS5jaGF0Ym90K2pzb25cIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5hY3Vjb2JvbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImFjdVwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmFjdWNvcnBcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJhdGNcIiwgXCJhY3V0Y1wiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmFkb2JlLmFpci1hcHBsaWNhdGlvbi1pbnN0YWxsZXItcGFja2FnZSt6aXBcIjoge1xuICAgICAgICBzb3VyY2U6IFwiYXBhY2hlXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogZmFsc2UsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImFpclwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmFkb2JlLmZsYXNoLm1vdmllXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmFkb2JlLmZvcm1zY2VudHJhbC5mY2R0XCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wiZmNkdFwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmFkb2JlLmZ4cFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImZ4cFwiLCBcImZ4cGxcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5hZG9iZS5wYXJ0aWFsLXVwbG9hZFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5hZG9iZS54ZHAreG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJ4ZHBcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5hZG9iZS54ZmRmXCI6IHtcbiAgICAgICAgc291cmNlOiBcImFwYWNoZVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJ4ZmRmXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuYWV0aGVyLmltcFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5hZnBjLmFmcGxpbmVkYXRhXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmFmcGMuYWZwbGluZWRhdGEtcGFnZWRlZlwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5hZnBjLmNtb2NhLWNtcmVzb3VyY2VcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuYWZwYy5mb2NhLWNoYXJzZXRcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuYWZwYy5mb2NhLWNvZGVkZm9udFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5hZnBjLmZvY2EtY29kZXBhZ2VcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuYWZwYy5tb2RjYVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5hZnBjLm1vZGNhLWNtdGFibGVcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuYWZwYy5tb2RjYS1mb3JtZGVmXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmFmcGMubW9kY2EtbWVkaXVtbWFwXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmFmcGMubW9kY2Etb2JqZWN0Y29udGFpbmVyXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmFmcGMubW9kY2Etb3ZlcmxheVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5hZnBjLm1vZGNhLXBhZ2VzZWdtZW50XCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmFnZVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImFnZVwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmFoLWJhcmNvZGVcIjoge1xuICAgICAgICBzb3VyY2U6IFwiYXBhY2hlXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5haGVhZC5zcGFjZVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImFoZWFkXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuYWlyemlwLmZpbGVzZWN1cmUuYXpmXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wiYXpmXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuYWlyemlwLmZpbGVzZWN1cmUuYXpzXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wiYXpzXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuYW1hZGV1cytqc29uXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuYW1hem9uLmVib29rXCI6IHtcbiAgICAgICAgc291cmNlOiBcImFwYWNoZVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJhendcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5hbWF6b24ubW9iaTgtZWJvb2tcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuYW1lcmljYW5keW5hbWljcy5hY2NcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJhY2NcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5hbWlnYS5hbWlcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJhbWlcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5hbXVuZHNlbi5tYXplK3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmFuZHJvaWQub3RhXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmFuZHJvaWQucGFja2FnZS1hcmNoaXZlXCI6IHtcbiAgICAgICAgc291cmNlOiBcImFwYWNoZVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IGZhbHNlLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJhcGtcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5hbmtpXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmFuc2VyLXdlYi1jZXJ0aWZpY2F0ZS1pc3N1ZS1pbml0aWF0aW9uXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wiY2lpXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuYW5zZXItd2ViLWZ1bmRzLXRyYW5zZmVyLWluaXRpYXRpb25cIjoge1xuICAgICAgICBzb3VyY2U6IFwiYXBhY2hlXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImZ0aVwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmFudGl4LmdhbWUtY29tcG9uZW50XCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wiYXR4XCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuYXBhY2hlLmFycm93LmZpbGVcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuYXBhY2hlLmFycm93LnN0cmVhbVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5hcGFjaGUucGFycXVldFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5hcGFjaGUudGhyaWZ0LmJpbmFyeVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5hcGFjaGUudGhyaWZ0LmNvbXBhY3RcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuYXBhY2hlLnRocmlmdC5qc29uXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmFwZXhsYW5nXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmFwaStqc29uXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuYXBsZXh0b3Iud2FycnAranNvblwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmFwb3RoZWtlbmRlLnJlc2VydmF0aW9uK2pzb25cIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5hcHBsZS5pbnN0YWxsZXIreG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJtcGtnXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuYXBwbGUua2V5bm90ZVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImtleVwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmFwcGxlLm1wZWd1cmxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJtM3U4XCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuYXBwbGUubnVtYmVyc1wiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcIm51bWJlcnNcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5hcHBsZS5wYWdlc1wiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcInBhZ2VzXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuYXBwbGUucGtwYXNzXCI6IHtcbiAgICAgICAgY29tcHJlc3NpYmxlOiBmYWxzZSxcbiAgICAgICAgZXh0ZW5zaW9uczogW1wicGtwYXNzXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuYXJhc3RyYS5zd2lcIjoge1xuICAgICAgICBzb3VyY2U6IFwiYXBhY2hlXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5hcmlzdGFuZXR3b3Jrcy5zd2lcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJzd2lcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5hcnRpc2FuK2pzb25cIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5hcnRzcXVhcmVcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuYXN0cmFlYS1zb2Z0d2FyZS5pb3RhXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wiaW90YVwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmF1ZGlvZ3JhcGhcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJhZXBcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5hdXRvZGVzay5mYnhcIjoge1xuICAgICAgICBleHRlbnNpb25zOiBbXCJmYnhcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5hdXRvcGFja2FnZVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5hdmFsb24ranNvblwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmF2aXN0YXIreG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuYmFsc2FtaXEuYm1tbCt4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWUsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImJtbWxcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5iYWxzYW1pcS5ibXByXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmJhbmFuYS1hY2NvdW50aW5nXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmJiZi51c3AuZXJyb3JcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuYmJmLnVzcC5tc2dcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuYmJmLnVzcC5tc2cranNvblwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmJla2l0enVyLXN0ZWNoK2pzb25cIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5iZWxpZ2h0c29mdC5saHpkK3ppcFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogZmFsc2VcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5iZWxpZ2h0c29mdC5saHpsK3ppcFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogZmFsc2VcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5iaW50Lm1lZC1jb250ZW50XCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmJpb3BheC5yZGYreG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuYmxpbmstaWRiLXZhbHVlLXdyYXBwZXJcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuYmx1ZWljZS5tdWx0aXBhc3NcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJtcG1cIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5ibHVldG9vdGguZXAub29iXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmJsdWV0b290aC5sZS5vb2JcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuYm1pXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wiYm1pXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuYnBmXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmJwZjNcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuYnVzaW5lc3NvYmplY3RzXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wicmVwXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuYnl1LnVhcGkranNvblwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmJ6aXAzXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmMzdm9jLnNjaGVkdWxlK3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmNhYi1qc2NyaXB0XCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmNhbm9uLWNwZGxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuY2Fub24tbGlwc1wiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5jYXBhc3lzdGVtcy1wZytqc29uXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuY2VuZGlvLnRoaW5saW5jLmNsaWVudGNvbmZcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuY2VudHVyeS1zeXN0ZW1zLnRjcF9zdHJlYW1cIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuY2hlbWRyYXcreG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJjZHhtbFwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmNoZXNzLXBnblwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5jaGlwbnV0cy5rYXJhb2tlLW1tZFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcIm1tZFwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmNpZWRpXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmNpbmRlcmVsbGFcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJjZHlcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5jaXJwYWNrLmlzZG4tZXh0XCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmNpdGF0aW9uc3R5bGVzLnN0eWxlK3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZSxcbiAgICAgICAgZXh0ZW5zaW9uczogW1wiY3NsXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuY2xheW1vcmVcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJjbGFcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5jbG9hbnRvLnJwOVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcInJwOVwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmNsb25rLmM0Z3JvdXBcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJjNGdcIiwgXCJjNGRcIiwgXCJjNGZcIiwgXCJjNHBcIiwgXCJjNHVcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5jbHVldHJ1c3QuY2FydG9tb2JpbGUtY29uZmlnXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wiYzExYW1jXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuY2x1ZXRydXN0LmNhcnRvbW9iaWxlLWNvbmZpZy1wa2dcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJjMTFhbXpcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5jbmNmLmhlbG0uY2hhcnQuY29udGVudC52MS50YXIrZ3ppcFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5jbmNmLmhlbG0uY2hhcnQucHJvdmVuYW5jZS52MS5wcm92XCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmNuY2YuaGVsbS5jb25maWcudjEranNvblwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmNvZmZlZXNjcmlwdFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5jb2xsYWJpby54b2RvY3VtZW50cy5kb2N1bWVudFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5jb2xsYWJpby54b2RvY3VtZW50cy5kb2N1bWVudC10ZW1wbGF0ZVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5jb2xsYWJpby54b2RvY3VtZW50cy5wcmVzZW50YXRpb25cIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuY29sbGFiaW8ueG9kb2N1bWVudHMucHJlc2VudGF0aW9uLXRlbXBsYXRlXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmNvbGxhYmlvLnhvZG9jdW1lbnRzLnNwcmVhZHNoZWV0XCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmNvbGxhYmlvLnhvZG9jdW1lbnRzLnNwcmVhZHNoZWV0LXRlbXBsYXRlXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmNvbGxlY3Rpb24ranNvblwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmNvbGxlY3Rpb24uZG9jK2pzb25cIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5jb2xsZWN0aW9uLm5leHQranNvblwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmNvbWljYm9vayt6aXBcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IGZhbHNlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuY29taWNib29rLXJhclwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5jb21tZXJjZS1iYXR0ZWxsZVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5jb21tb25zcGFjZVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImNzcFwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmNvbnRhY3QuY21zZ1wiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImNkYmNtc2dcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5jb3Jlb3MuaWduaXRpb24ranNvblwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmNvc21vY2FsbGVyXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wiY21jXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuY3JpY2suY2xpY2tlclwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImNsa3hcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5jcmljay5jbGlja2VyLmtleWJvYXJkXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wiY2xra1wiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmNyaWNrLmNsaWNrZXIucGFsZXR0ZVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImNsa3BcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5jcmljay5jbGlja2VyLnRlbXBsYXRlXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wiY2xrdFwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmNyaWNrLmNsaWNrZXIud29yZGJhbmtcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJjbGt3XCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuY3JpdGljYWx0b29scy53YnMreG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJ3YnNcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5jcnlwdGlpLnBpcGUranNvblwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmNyeXB0by1zaGFkZS1maWxlXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmNyeXB0b21hdG9yLmVuY3J5cHRlZFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5jcnlwdG9tYXRvci52YXVsdFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5jdGMtcG9zbWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJwbWxcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5jdGN0LndzK3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmN1cHMtcGRmXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmN1cHMtcG9zdHNjcmlwdFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5jdXBzLXBwZFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcInBwZFwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmN1cHMtcmFzdGVyXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmN1cHMtcmF3XCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmN1cmxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuY3VybC5jYXJcIjoge1xuICAgICAgICBzb3VyY2U6IFwiYXBhY2hlXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImNhclwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmN1cmwucGN1cmxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiYXBhY2hlXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcInBjdXJsXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuY3lhbi5kZWFuLnJvb3QreG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuY3liYW5rXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmN5Y2xvbmVkeCtqc29uXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuY3ljbG9uZWR4K3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmQybC5jb3Vyc2VwYWNrYWdlMXAwK3ppcFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogZmFsc2VcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5kM20tZGF0YXNldFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5kM20tcHJvYmxlbVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5kYXJ0XCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJkYXJ0XCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuZGF0YS12aXNpb24ucmR6XCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wicmR6XCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuZGF0YWxvZ1wiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5kYXRhcGFja2FnZStqc29uXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuZGF0YXJlc291cmNlK2pzb25cIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5kYmZcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJkYmZcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5kY21wK3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZSxcbiAgICAgICAgZXh0ZW5zaW9uczogW1wiZGNtcFwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmRlYmlhbi5iaW5hcnktcGFja2FnZVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5kZWNlLmRhdGFcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJ1dmZcIiwgXCJ1dnZmXCIsIFwidXZkXCIsIFwidXZ2ZFwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmRlY2UudHRtbCt4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWUsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcInV2dFwiLCBcInV2dnRcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5kZWNlLnVuc3BlY2lmaWVkXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1widXZ4XCIsIFwidXZ2eFwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmRlY2UuemlwXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1widXZ6XCIsIFwidXZ2elwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmRlbm92by5mY3NlbGF5b3V0LWxpbmtcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJmZV9sYXVuY2hcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5kZXNtdW1lLm1vdmllXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmRpci1iaS5wbGF0ZS1kbC1ub3N1ZmZpeFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5kbS5kZWxlZ2F0aW9uK3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmRuYVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImRuYVwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmRvY3VtZW50K2pzb25cIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5kb2xieS5tbHBcIjoge1xuICAgICAgICBzb3VyY2U6IFwiYXBhY2hlXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcIm1scFwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmRvbGJ5Lm1vYmlsZS4xXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmRvbGJ5Lm1vYmlsZS4yXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmRvcmVtaXIuc2NvcmVjbG91ZC1iaW5hcnktZG9jdW1lbnRcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuZHBncmFwaFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImRwZ1wiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmRyZWFtZmFjdG9yeVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImRmYWNcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5kcml2ZStqc29uXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuZHMta2V5cG9pbnRcIjoge1xuICAgICAgICBzb3VyY2U6IFwiYXBhY2hlXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImtweHhcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5kdGcubG9jYWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuZHRnLmxvY2FsLmZsYXNoXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmR0Zy5sb2NhbC5odG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmR2Yi5haXRcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJhaXRcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5kdmIuZHZiaXNsK3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmR2Yi5kdmJqXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmR2Yi5lc2djb250YWluZXJcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuZHZiLmlwZGNkZnRub3RpZmFjY2Vzc1wiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5kdmIuaXBkY2VzZ2FjY2Vzc1wiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5kdmIuaXBkY2VzZ2FjY2VzczJcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuZHZiLmlwZGNlc2dwZGRcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuZHZiLmlwZGNyb2FtaW5nXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmR2Yi5pcHR2LmFsZmVjLWJhc2VcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuZHZiLmlwdHYuYWxmZWMtZW5oYW5jZW1lbnRcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuZHZiLm5vdGlmLWFnZ3JlZ2F0ZS1yb290K3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmR2Yi5ub3RpZi1jb250YWluZXIreG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuZHZiLm5vdGlmLWdlbmVyaWMreG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuZHZiLm5vdGlmLWlhLW1zZ2xpc3QreG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuZHZiLm5vdGlmLWlhLXJlZ2lzdHJhdGlvbi1yZXF1ZXN0K3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmR2Yi5ub3RpZi1pYS1yZWdpc3RyYXRpb24tcmVzcG9uc2UreG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuZHZiLm5vdGlmLWluaXQreG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuZHZiLnBmclwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5kdmIuc2VydmljZVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcInN2Y1wiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmR4clwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5keW5hZ2VvXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wiZ2VvXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuZHpyXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmVhc3lrYXJhb2tlLmNkZ2Rvd25sb2FkXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmVjZGlzLXVwZGF0ZVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5lY2lwLnJscFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5lY2xpcHNlLmRpdHRvK2pzb25cIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5lY293aW4uY2hhcnRcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJtYWdcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5lY293aW4uZmlsZXJlcXVlc3RcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuZWNvd2luLmZpbGV1cGRhdGVcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuZWNvd2luLnNlcmllc1wiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5lY293aW4uc2VyaWVzcmVxdWVzdFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5lY293aW4uc2VyaWVzdXBkYXRlXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmVmaS5pbWdcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuZWZpLmlzb1wiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5lbG4remlwXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiBmYWxzZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmVtY2xpZW50LmFjY2Vzc3JlcXVlc3QreG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuZW5saXZlblwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcIm5tbFwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmVucGhhc2UuZW52b3lcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuZXByaW50cy5kYXRhK3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmVwc29uLmVzZlwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImVzZlwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmVwc29uLm1zZlwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcIm1zZlwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmVwc29uLnF1aWNrYW5pbWVcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJxYW1cIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5lcHNvbi5zYWx0XCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wic2x0XCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuZXBzb24uc3NmXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wic3NmXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuZXJpY3Nzb24ucXVpY2tjYWxsXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmVyb2ZzXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmVzcGFzcy1lc3Bhc3MremlwXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiBmYWxzZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmVzemlnbm8zK3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZSxcbiAgICAgICAgZXh0ZW5zaW9uczogW1wiZXMzXCIsIFwiZXQzXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuZXRzaS5hb2MreG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuZXRzaS5hc2ljLWUremlwXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiBmYWxzZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmV0c2kuYXNpYy1zK3ppcFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogZmFsc2VcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5ldHNpLmN1Zyt4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5ldHNpLmlwdHZjb21tYW5kK3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmV0c2kuaXB0dmRpc2NvdmVyeSt4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5ldHNpLmlwdHZwcm9maWxlK3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmV0c2kuaXB0dnNhZC1iYyt4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5ldHNpLmlwdHZzYWQtY29kK3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmV0c2kuaXB0dnNhZC1ucHZyK3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmV0c2kuaXB0dnNlcnZpY2UreG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuZXRzaS5pcHR2c3luYyt4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5ldHNpLmlwdHZ1ZXByb2ZpbGUreG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuZXRzaS5tY2lkK3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmV0c2kubWhlZzVcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuZXRzaS5vdmVybG9hZC1jb250cm9sLXBvbGljeS1kYXRhc2V0K3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmV0c2kucHN0bit4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5ldHNpLnNjaSt4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5ldHNpLnNpbXNlcnZzK3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmV0c2kudGltZXN0YW1wLXRva2VuXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmV0c2kudHNsK3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmV0c2kudHNsLmRlclwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5ldS5rYXNwYXJpYW4uY2FyK2pzb25cIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5ldWRvcmEuZGF0YVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5ldm9sdi5lY2lnLnByb2ZpbGVcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuZXZvbHYuZWNpZy5zZXR0aW5nc1wiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5ldm9sdi5lY2lnLnRoZW1lXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmV4c3RyZWFtLWVtcG93ZXIremlwXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiBmYWxzZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmV4c3RyZWFtLXBhY2thZ2VcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuZXpwaXgtYWxidW1cIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJlejJcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5lenBpeC1wYWNrYWdlXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wiZXozXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuZi1zZWN1cmUubW9iaWxlXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmZhbWlseXNlYXJjaC5nZWRjb20remlwXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiBmYWxzZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmZhc3Rjb3B5LWRpc2staW1hZ2VcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuZmRmXCI6IHtcbiAgICAgICAgc291cmNlOiBcImFwYWNoZVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJmZGZcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5mZHNuLm1zZWVkXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wibXNlZWRcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5mZHNuLnNlZWRcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJzZWVkXCIsIFwiZGF0YWxlc3NcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5mZHNuLnN0YXRpb254bWwreG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY2hhcnNldDogXCJYTUwtQkFTRURcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuZmZzbnNcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuZmljbGFiLmZsYit6aXBcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IGZhbHNlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuZmlsbWl0LnpmY1wiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5maW50c1wiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5maXJlbW9ua2V5cy5jbG91ZGNlbGxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuZmxvZ3JhcGhpdFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImdwaFwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmZsdXh0aW1lLmNsaXBcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJmdGNcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5mb250LWZvbnRmb3JnZS1zZmRcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuZnJhbWVtYWtlclwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImZtXCIsIFwiZnJhbWVcIiwgXCJtYWtlclwiLCBcImJvb2tcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5mcmVlbG9nLmNvbWljXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmZyb2dhbnMuZm5jXCI6IHtcbiAgICAgICAgc291cmNlOiBcImFwYWNoZVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJmbmNcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5mcm9nYW5zLmx0ZlwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJhcGFjaGVcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wibHRmXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuZnNjLndlYmxhdW5jaFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImZzY1wiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmZ1amlmaWxtLmZiLmRvY3V3b3Jrc1wiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5mdWppZmlsbS5mYi5kb2N1d29ya3MuYmluZGVyXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmZ1amlmaWxtLmZiLmRvY3V3b3Jrcy5jb250YWluZXJcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuZnVqaWZpbG0uZmIuamZpK3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmZ1aml0c3Uub2FzeXNcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJvYXNcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5mdWppdHN1Lm9hc3lzMlwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcIm9hMlwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmZ1aml0c3Uub2FzeXMzXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wib2EzXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuZnVqaXRzdS5vYXN5c2dwXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wiZmc1XCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuZnVqaXRzdS5vYXN5c3Byc1wiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImJoMlwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmZ1aml4ZXJveC5hcnQtZXhcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuZnVqaXhlcm94LmFydDRcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuZnVqaXhlcm94LmRkZFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImRkZFwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmZ1aml4ZXJveC5kb2N1d29ya3NcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJ4ZHdcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5mdWppeGVyb3guZG9jdXdvcmtzLmJpbmRlclwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcInhiZFwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmZ1aml4ZXJveC5kb2N1d29ya3MuY29udGFpbmVyXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmZ1aml4ZXJveC5oYnBsXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmZ1dC1taXNuZXRcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuZnV0b2luK2Nib3JcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuZnV0b2luK2pzb25cIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5mdXp6eXNoZWV0XCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wiZnpzXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuZ2E0Z2gucGFzc3BvcnQrand0XCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmdlbm9tYXRpeC50dXhlZG9cIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJ0eGRcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5nZW5vemlwXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmdlbnRpY3MuZ3JkK2pzb25cIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5nZW50b28uY2F0bWV0YWRhdGEreG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuZ2VudG9vLmVidWlsZFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5nZW50b28uZWNsYXNzXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmdlbnRvby5ncGtnXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmdlbnRvby5tYW5pZmVzdFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5nZW50b28ucGtnbWV0YWRhdGEreG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuZ2VudG9vLnhwYWtcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuZ2VvK2pzb25cIjoge1xuICAgICAgICBzb3VyY2U6IFwiYXBhY2hlXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmdlb2N1YmUreG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImFwYWNoZVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5nZW9nZWJyYS5maWxlXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wiZ2diXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuZ2VvZ2VicmEucGluYm9hcmRcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuZ2VvZ2VicmEuc2xpZGVzXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wiZ2dzXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuZ2VvZ2VicmEudG9vbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImdndFwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmdlb21ldHJ5LWV4cGxvcmVyXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wiZ2V4XCIsIFwiZ3JlXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuZ2VvbmV4dFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImd4dFwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmdlb3BsYW5cIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJnMndcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5nZW9zcGFjZVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImczd1wiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmdlcmJlclwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5nbG9iYWxwbGF0Zm9ybS5jYXJkLWNvbnRlbnQtbWd0XCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmdsb2JhbHBsYXRmb3JtLmNhcmQtY29udGVudC1tZ3QtcmVzcG9uc2VcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuZ214XCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wiZ214XCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuZ251LnRhbGVyLmV4Y2hhbmdlK2pzb25cIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5nbnUudGFsZXIubWVyY2hhbnQranNvblwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmdvb2dsZS1hcHBzLmF1ZGlvXCI6IHt9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuZ29vZ2xlLWFwcHMuZG9jdW1lbnRcIjoge1xuICAgICAgICBjb21wcmVzc2libGU6IGZhbHNlLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJnZG9jXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuZ29vZ2xlLWFwcHMuZHJhd2luZ1wiOiB7XG4gICAgICAgIGNvbXByZXNzaWJsZTogZmFsc2UsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImdkcmF3XCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuZ29vZ2xlLWFwcHMuZHJpdmUtc2RrXCI6IHtcbiAgICAgICAgY29tcHJlc3NpYmxlOiBmYWxzZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmdvb2dsZS1hcHBzLmZpbGVcIjoge30sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5nb29nbGUtYXBwcy5mb2xkZXJcIjoge1xuICAgICAgICBjb21wcmVzc2libGU6IGZhbHNlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuZ29vZ2xlLWFwcHMuZm9ybVwiOiB7XG4gICAgICAgIGNvbXByZXNzaWJsZTogZmFsc2UsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImdmb3JtXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuZ29vZ2xlLWFwcHMuZnVzaW9udGFibGVcIjoge30sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5nb29nbGUtYXBwcy5qYW1cIjoge1xuICAgICAgICBjb21wcmVzc2libGU6IGZhbHNlLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJnamFtXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuZ29vZ2xlLWFwcHMubWFpbC1sYXlvdXRcIjoge30sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5nb29nbGUtYXBwcy5tYXBcIjoge1xuICAgICAgICBjb21wcmVzc2libGU6IGZhbHNlLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJnbWFwXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuZ29vZ2xlLWFwcHMucGhvdG9cIjoge30sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5nb29nbGUtYXBwcy5wcmVzZW50YXRpb25cIjoge1xuICAgICAgICBjb21wcmVzc2libGU6IGZhbHNlLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJnc2xpZGVzXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuZ29vZ2xlLWFwcHMuc2NyaXB0XCI6IHtcbiAgICAgICAgY29tcHJlc3NpYmxlOiBmYWxzZSxcbiAgICAgICAgZXh0ZW5zaW9uczogW1wiZ3NjcmlwdFwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmdvb2dsZS1hcHBzLnNob3J0Y3V0XCI6IHt9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuZ29vZ2xlLWFwcHMuc2l0ZVwiOiB7XG4gICAgICAgIGNvbXByZXNzaWJsZTogZmFsc2UsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImdzaXRlXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuZ29vZ2xlLWFwcHMuc3ByZWFkc2hlZXRcIjoge1xuICAgICAgICBjb21wcmVzc2libGU6IGZhbHNlLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJnc2hlZXRcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5nb29nbGUtYXBwcy51bmtub3duXCI6IHt9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuZ29vZ2xlLWFwcHMudmlkZW9cIjoge30sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5nb29nbGUtZWFydGgua21sK3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZSxcbiAgICAgICAgZXh0ZW5zaW9uczogW1wia21sXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuZ29vZ2xlLWVhcnRoLmttelwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogZmFsc2UsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImttelwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmdvdi5zay5lLWZvcm0reG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImFwYWNoZVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5nb3Yuc2suZS1mb3JtK3ppcFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogZmFsc2VcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5nb3Yuc2sueG1sZGF0YWNvbnRhaW5lcit4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWUsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcInhkY2ZcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5ncHhzZWUubWFwK3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmdyYWZlcVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImdxZlwiLCBcImdxc1wiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmdyaWRtcFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5ncm9vdmUtYWNjb3VudFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImdhY1wiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmdyb292ZS1oZWxwXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wiZ2hmXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuZ3Jvb3ZlLWlkZW50aXR5LW1lc3NhZ2VcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJnaW1cIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5ncm9vdmUtaW5qZWN0b3JcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJncnZcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5ncm9vdmUtdG9vbC1tZXNzYWdlXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wiZ3RtXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuZ3Jvb3ZlLXRvb2wtdGVtcGxhdGVcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJ0cGxcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5ncm9vdmUtdmNhcmRcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJ2Y2dcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5oYWwranNvblwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmhhbCt4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWUsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImhhbFwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmhhbmRoZWxkLWVudGVydGFpbm1lbnQreG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJ6bW1cIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5oYmNpXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wiaGJjaVwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmhjK2pzb25cIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5oY2wtYmlyZXBvcnRzXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmhkdFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5oZXJva3UranNvblwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmhoZS5sZXNzb24tcGxheWVyXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wibGVzXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuaHAtaHBnbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImhwZ2xcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5ocC1ocGlkXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wiaHBpZFwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmhwLWhwc1wiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImhwc1wiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmhwLWpseXRcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJqbHRcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5ocC1wY2xcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJwY2xcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5ocC1wY2x4bFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcInBjbHhsXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuaHNsXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmh0dHBob25lXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmh5ZHJvc3RhdGl4LnNvZi1kYXRhXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wic2ZkLWhkc3R4XCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuaHlwZXIranNvblwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmh5cGVyLWl0ZW0ranNvblwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmh5cGVyZHJpdmUranNvblwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmh6bi0zZC1jcm9zc3dvcmRcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuaWJtLmFmcGxpbmVkYXRhXCI6IHtcbiAgICAgICAgc291cmNlOiBcImFwYWNoZVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuaWJtLmVsZWN0cm9uaWMtbWVkaWFcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuaWJtLm1pbmlwYXlcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJtcHlcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5pYm0ubW9kY2FwXCI6IHtcbiAgICAgICAgc291cmNlOiBcImFwYWNoZVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJhZnBcIiwgXCJsaXN0YWZwXCIsIFwibGlzdDM4MjBcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5pYm0ucmlnaHRzLW1hbmFnZW1lbnRcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJpcm1cIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5pYm0uc2VjdXJlLWNvbnRhaW5lclwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcInNjXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuaWNjcHJvZmlsZVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImljY1wiLCBcImljbVwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmllZWUuMTkwNVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5pZ2xvYWRlclwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImlnbFwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmltYWdlbWV0ZXIuZm9sZGVyK3ppcFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogZmFsc2VcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5pbWFnZW1ldGVyLmltYWdlK3ppcFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogZmFsc2VcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5pbW1lcnZpc2lvbi1pdnBcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJpdnBcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5pbW1lcnZpc2lvbi1pdnVcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJpdnVcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5pbXMuaW1zY2N2MXAxXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmltcy5pbXNjY3YxcDJcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuaW1zLmltc2NjdjFwM1wiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5pbXMubGlzLnYyLnJlc3VsdCtqc29uXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuaW1zLmx0aS52Mi50b29sY29uc3VtZXJwcm9maWxlK2pzb25cIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5pbXMubHRpLnYyLnRvb2xwcm94eStqc29uXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuaW1zLmx0aS52Mi50b29scHJveHkuaWQranNvblwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmltcy5sdGkudjIudG9vbHNldHRpbmdzK2pzb25cIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5pbXMubHRpLnYyLnRvb2xzZXR0aW5ncy5zaW1wbGUranNvblwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmluZm9ybWVkY29udHJvbC5ybXMreG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuaW5mb3JtaXgtdmlzaW9uYXJ5XCI6IHtcbiAgICAgICAgc291cmNlOiBcImFwYWNoZVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuaW5mb3RlY2gucHJvamVjdFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5pbmZvdGVjaC5wcm9qZWN0K3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmlubm9wYXRoLndhbXAubm90aWZpY2F0aW9uXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmluc29ycy5pZ21cIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJpZ21cIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5pbnRlcmNvbi5mb3JtbmV0XCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wieHB3XCIsIFwieHB4XCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuaW50ZXJnZW9cIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJpMmdcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5pbnRlcnRydXN0LmRpZ2lib3hcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuaW50ZXJ0cnVzdC5ubmNwXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmludHUucWJvXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wicWJvXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuaW50dS5xZnhcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJxZnhcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5pcGZzLmlwbnMtcmVjb3JkXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmlwbGQuY2FyXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmlwbGQuZGFnLWNib3JcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuaXBsZC5kYWctanNvblwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5pcGxkLnJhd1wiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5pcHRjLmcyLmNhdGFsb2dpdGVtK3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmlwdGMuZzIuY29uY2VwdGl0ZW0reG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuaXB0Yy5nMi5rbm93bGVkZ2VpdGVtK3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmlwdGMuZzIubmV3c2l0ZW0reG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuaXB0Yy5nMi5uZXdzbWVzc2FnZSt4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5pcHRjLmcyLnBhY2thZ2VpdGVtK3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmlwdGMuZzIucGxhbm5pbmdpdGVtK3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmlwdW5wbHVnZ2VkLnJjcHJvZmlsZVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcInJjcHJvZmlsZVwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmlyZXBvc2l0b3J5LnBhY2thZ2UreG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJpcnBcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5pcy14cHJcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJ4cHJcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5pc2FjLmZjc1wiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImZjc1wiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmlzbzExNzgzLTEwK3ppcFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogZmFsc2VcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5qYW1cIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJqYW1cIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5qYXBhbm5ldC1kaXJlY3Rvcnktc2VydmljZVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5qYXBhbm5ldC1qcG5zdG9yZS13YWtldXBcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuamFwYW5uZXQtcGF5bWVudC13YWtldXBcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuamFwYW5uZXQtcmVnaXN0cmF0aW9uXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmphcGFubmV0LXJlZ2lzdHJhdGlvbi13YWtldXBcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuamFwYW5uZXQtc2V0c3RvcmUtd2FrZXVwXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmphcGFubmV0LXZlcmlmaWNhdGlvblwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5qYXBhbm5ldC12ZXJpZmljYXRpb24td2FrZXVwXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmpjcC5qYXZhbWUubWlkbGV0LXJtc1wiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcInJtc1wiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmppc3BcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJqaXNwXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuam9vc3Quam9kYS1hcmNoaXZlXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wiam9kYVwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmpzay5pc2RuLW5nblwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5rYWhvb3R6XCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wia3R6XCIsIFwia3RyXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQua2RlLmthcmJvblwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImthcmJvblwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmtkZS5rY2hhcnRcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJjaHJ0XCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQua2RlLmtmb3JtdWxhXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wia2ZvXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQua2RlLmtpdmlvXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wiZmx3XCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQua2RlLmtvbnRvdXJcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJrb25cIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5rZGUua3ByZXNlbnRlclwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImtwclwiLCBcImtwdFwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmtkZS5rc3ByZWFkXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wia3NwXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQua2RlLmt3b3JkXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wia3dkXCIsIFwia3d0XCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQua2RsXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmtlbmFtZWFhcHBcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJodGtlXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQua2V5bWFuLmttcCt6aXBcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IGZhbHNlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQua2V5bWFuLmtteFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5raWRzcGlyYXRpb25cIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJraWFcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5raW5hclwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImtuZVwiLCBcImtucFwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmtvYW5cIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJza3BcIiwgXCJza2RcIiwgXCJza3RcIiwgXCJza21cIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5rb2Rhay1kZXNjcmlwdG9yXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wic3NlXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQubGFzXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmxhcy5sYXMranNvblwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmxhcy5sYXMreG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJsYXN4bWxcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5sYXN6aXBcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQubGRldi5wcm9kdWN0bGljZW5zaW5nXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmxlYXAranNvblwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmxpYmVydHktcmVxdWVzdCt4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5sbGFtYWdyYXBoaWNzLmxpZmUtYmFsYW5jZS5kZXNrdG9wXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wibGJkXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQubGxhbWFncmFwaGljcy5saWZlLWJhbGFuY2UuZXhjaGFuZ2UreG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJsYmVcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5sb2dpcGlwZS5jaXJjdWl0K3ppcFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogZmFsc2VcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5sb29tXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmxvdHVzLTEtMi0zXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wiMTIzXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQubG90dXMtYXBwcm9hY2hcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJhcHJcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5sb3R1cy1mcmVlbGFuY2VcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJwcmVcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5sb3R1cy1ub3Rlc1wiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcIm5zZlwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmxvdHVzLW9yZ2FuaXplclwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcIm9yZ1wiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmxvdHVzLXNjcmVlbmNhbVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcInNjbVwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmxvdHVzLXdvcmRwcm9cIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJsd3BcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5tYWNwb3J0cy5wb3J0cGtnXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wicG9ydHBrZ1wiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLm1hcGJveC12ZWN0b3ItdGlsZVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcIm12dFwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLm1hcmxpbi5kcm0uYWN0aW9udG9rZW4reG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQubWFybGluLmRybS5jb25mdG9rZW4reG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQubWFybGluLmRybS5saWNlbnNlK3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLm1hcmxpbi5kcm0ubWRjZlwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5tYXNvbitqc29uXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQubWF4YXIuYXJjaGl2ZS4zdHoremlwXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiBmYWxzZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLm1heG1pbmQubWF4bWluZC1kYlwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5tY2RcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJtY2RcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5tZGxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQubWRsLW1ic2RmXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLm1lZGNhbGNkYXRhXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wibWMxXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQubWVkaWFzdGF0aW9uLmNka2V5XCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wiY2RrZXlcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5tZWRpY2FsaG9sb2RlY2sucmVjb3JkeHJcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQubWVyaWRpYW4tc2xpbmdzaG90XCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLm1lcm1haWRcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQubWZlclwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcIm13ZlwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLm1mbXBcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJtZm1cIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5taWNybytqc29uXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQubWljcm9ncmFmeC5mbG9cIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJmbG9cIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5taWNyb2dyYWZ4LmlneFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImlneFwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLm1pY3Jvc29mdC5wb3J0YWJsZS1leGVjdXRhYmxlXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLm1pY3Jvc29mdC53aW5kb3dzLnRodW1ibmFpbC1jYWNoZVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5taWVsZStqc29uXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQubWlmXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wibWlmXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQubWluaXNvZnQtaHAzMDAwLXNhdmVcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQubWl0c3ViaXNoaS5taXN0eS1ndWFyZC50cnVzdHdlYlwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5tb2JpdXMuZGFmXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wiZGFmXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQubW9iaXVzLmRpc1wiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImRpc1wiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLm1vYml1cy5tYmtcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJtYmtcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5tb2JpdXMubXF5XCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wibXF5XCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQubW9iaXVzLm1zbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcIm1zbFwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLm1vYml1cy5wbGNcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJwbGNcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5tb2JpdXMudHhmXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1widHhmXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQubW9kbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5tb3BodW4uYXBwbGljYXRpb25cIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJtcG5cIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5tb3BodW4uY2VydGlmaWNhdGVcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJtcGNcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5tb3Rvcm9sYS5mbGV4c3VpdGVcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQubW90b3JvbGEuZmxleHN1aXRlLmFkc2lcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQubW90b3JvbGEuZmxleHN1aXRlLmZpc1wiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5tb3Rvcm9sYS5mbGV4c3VpdGUuZ290YXBcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQubW90b3JvbGEuZmxleHN1aXRlLmttclwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5tb3Rvcm9sYS5mbGV4c3VpdGUudHRjXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLm1vdG9yb2xhLmZsZXhzdWl0ZS53ZW1cIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQubW90b3JvbGEuaXBybVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5tb3ppbGxhLnh1bCt4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWUsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcInh1bFwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLm1zLTNtZmRvY3VtZW50XCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLm1zLWFydGdhbHJ5XCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wiY2lsXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQubXMtYXNmXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLm1zLWNhYi1jb21wcmVzc2VkXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wiY2FiXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQubXMtY29sb3IuaWNjcHJvZmlsZVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJhcGFjaGVcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLm1zLWV4Y2VsXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiBmYWxzZSxcbiAgICAgICAgZXh0ZW5zaW9uczogW1wieGxzXCIsIFwieGxtXCIsIFwieGxhXCIsIFwieGxjXCIsIFwieGx0XCIsIFwieGx3XCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQubXMtZXhjZWwuYWRkaW4ubWFjcm9lbmFibGVkLjEyXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wieGxhbVwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLm1zLWV4Y2VsLnNoZWV0LmJpbmFyeS5tYWNyb2VuYWJsZWQuMTJcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJ4bHNiXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQubXMtZXhjZWwuc2hlZXQubWFjcm9lbmFibGVkLjEyXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wieGxzbVwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLm1zLWV4Y2VsLnRlbXBsYXRlLm1hY3JvZW5hYmxlZC4xMlwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcInhsdG1cIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5tcy1mb250b2JqZWN0XCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJlb3RcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5tcy1odG1saGVscFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImNobVwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLm1zLWltc1wiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImltc1wiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLm1zLWxybVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImxybVwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLm1zLW9mZmljZS5hY3RpdmV4K3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLm1zLW9mZmljZXRoZW1lXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1widGhteFwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLm1zLW9wZW50eXBlXCI6IHtcbiAgICAgICAgc291cmNlOiBcImFwYWNoZVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5tcy1vdXRsb29rXCI6IHtcbiAgICAgICAgY29tcHJlc3NpYmxlOiBmYWxzZSxcbiAgICAgICAgZXh0ZW5zaW9uczogW1wibXNnXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQubXMtcGFja2FnZS5vYmZ1c2NhdGVkLW9wZW50eXBlXCI6IHtcbiAgICAgICAgc291cmNlOiBcImFwYWNoZVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQubXMtcGtpLnNlY2NhdFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJhcGFjaGVcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wiY2F0XCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQubXMtcGtpLnN0bFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJhcGFjaGVcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wic3RsXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQubXMtcGxheXJlYWR5LmluaXRpYXRvcit4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5tcy1wb3dlcnBvaW50XCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiBmYWxzZSxcbiAgICAgICAgZXh0ZW5zaW9uczogW1wicHB0XCIsIFwicHBzXCIsIFwicG90XCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQubXMtcG93ZXJwb2ludC5hZGRpbi5tYWNyb2VuYWJsZWQuMTJcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJwcGFtXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQubXMtcG93ZXJwb2ludC5wcmVzZW50YXRpb24ubWFjcm9lbmFibGVkLjEyXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wicHB0bVwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLm1zLXBvd2VycG9pbnQuc2xpZGUubWFjcm9lbmFibGVkLjEyXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wic2xkbVwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLm1zLXBvd2VycG9pbnQuc2xpZGVzaG93Lm1hY3JvZW5hYmxlZC4xMlwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcInBwc21cIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5tcy1wb3dlcnBvaW50LnRlbXBsYXRlLm1hY3JvZW5hYmxlZC4xMlwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcInBvdG1cIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5tcy1wcmludGRldmljZWNhcGFiaWxpdGllcyt4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5tcy1wcmludGluZy5wcmludHRpY2tldCt4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiYXBhY2hlXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLm1zLXByaW50c2NoZW1hdGlja2V0K3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLm1zLXByb2plY3RcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJtcHBcIiwgXCJtcHRcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5tcy10bmVmXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLm1zLXZpc2lvLnZpZXdlclwiOiB7XG4gICAgICAgIGV4dGVuc2lvbnM6IFtcInZkeFwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLm1zLXdpbmRvd3MuZGV2aWNlcGFpcmluZ1wiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5tcy13aW5kb3dzLm53cHJpbnRpbmcub29iXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLm1zLXdpbmRvd3MucHJpbnRlcnBhaXJpbmdcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQubXMtd2luZG93cy53c2Qub29iXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLm1zLXdtZHJtLmxpYy1jaGxnLXJlcVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5tcy13bWRybS5saWMtcmVzcFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5tcy13bWRybS5tZXRlci1jaGxnLXJlcVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5tcy13bWRybS5tZXRlci1yZXNwXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLm1zLXdvcmQuZG9jdW1lbnQubWFjcm9lbmFibGVkLjEyXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wiZG9jbVwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLm1zLXdvcmQudGVtcGxhdGUubWFjcm9lbmFibGVkLjEyXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wiZG90bVwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLm1zLXdvcmtzXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wid3BzXCIsIFwid2tzXCIsIFwid2NtXCIsIFwid2RiXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQubXMtd3BsXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wid3BsXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQubXMteHBzZG9jdW1lbnRcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IGZhbHNlLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJ4cHNcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5tc2EtZGlzay1pbWFnZVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5tc2VxXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wibXNlcVwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLm1zZ3BhY2tcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQubXNpZ25cIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQubXVsdGlhZC5jcmVhdG9yXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLm11bHRpYWQuY3JlYXRvci5jaWZcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQubXVzaWMtbmlmZlwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5tdXNpY2lhblwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcIm11c1wiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLm11dmVlLnN0eWxlXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wibXN0eVwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLm15bmZjXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1widGFnbGV0XCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQubmFjYW1hci55YnJpZCtqc29uXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQubmF0by5iaW5kaW5nZGF0YW9iamVjdCtjYm9yXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLm5hdG8uYmluZGluZ2RhdGFvYmplY3QranNvblwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLm5hdG8uYmluZGluZ2RhdGFvYmplY3QreG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJiZG9cIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5uYXRvLm9wZW54bWxmb3JtYXRzLXBhY2thZ2UuaWVwZCt6aXBcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IGZhbHNlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQubmNkLmNvbnRyb2xcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQubmNkLnJlZmVyZW5jZVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5uZWFyc3QuaW52K2pzb25cIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5uZWJ1bWluZC5saW5lXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLm5lcnZhbmFcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQubmV0ZnB4XCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLm5ldXJvbGFuZ3VhZ2Uubmx1XCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wibmx1XCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQubmltblwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5uaW50ZW5kby5uaXRyby5yb21cIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQubmludGVuZG8uc25lcy5yb21cIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQubml0ZlwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcIm50ZlwiLCBcIm5pdGZcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5ub2JsZW5ldC1kaXJlY3RvcnlcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJubmRcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5ub2JsZW5ldC1zZWFsZXJcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJubnNcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5ub2JsZW5ldC13ZWJcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJubndcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5ub2tpYS5jYXRhbG9nc1wiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5ub2tpYS5jb25tbCt3YnhtbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5ub2tpYS5jb25tbCt4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5ub2tpYS5pcHR2LmNvbmZpZyt4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5ub2tpYS5pc2RzLXJhZGlvLXByZXNldHNcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQubm9raWEubGFuZG1hcmsrd2J4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQubm9raWEubGFuZG1hcmsreG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQubm9raWEubGFuZG1hcmtjb2xsZWN0aW9uK3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLm5va2lhLm4tZ2FnZS5hYyt4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWUsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImFjXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQubm9raWEubi1nYWdlLmRhdGFcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJuZ2RhdFwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLm5va2lhLm4tZ2FnZS5zeW1iaWFuLmluc3RhbGxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiYXBhY2hlXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcIm4tZ2FnZVwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLm5va2lhLm5jZFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5ub2tpYS5wY2Qrd2J4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQubm9raWEucGNkK3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLm5va2lhLnJhZGlvLXByZXNldFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcInJwc3RcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5ub2tpYS5yYWRpby1wcmVzZXRzXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wicnBzc1wiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLm5vdmFkaWdtLmVkbVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImVkbVwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLm5vdmFkaWdtLmVkeFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImVkeFwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLm5vdmFkaWdtLmV4dFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImV4dFwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLm50dC1sb2NhbC5jb250ZW50LXNoYXJlXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLm50dC1sb2NhbC5maWxlLXRyYW5zZmVyXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLm50dC1sb2NhbC5vZ3dfcmVtb3RlLWFjY2Vzc1wiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5udHQtbG9jYWwuc2lwLXRhX3JlbW90ZVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5udHQtbG9jYWwuc2lwLXRhX3RjcF9zdHJlYW1cIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQub2FpLndvcmtmbG93c1wiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5vYWkud29ya2Zsb3dzK2pzb25cIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5vYWkud29ya2Zsb3dzK3lhbWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQub2FzaXMub3BlbmRvY3VtZW50LmJhc2VcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQub2FzaXMub3BlbmRvY3VtZW50LmNoYXJ0XCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wib2RjXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQub2FzaXMub3BlbmRvY3VtZW50LmNoYXJ0LXRlbXBsYXRlXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wib3RjXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQub2FzaXMub3BlbmRvY3VtZW50LmRhdGFiYXNlXCI6IHtcbiAgICAgICAgc291cmNlOiBcImFwYWNoZVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJvZGJcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5vYXNpcy5vcGVuZG9jdW1lbnQuZm9ybXVsYVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcIm9kZlwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLm9hc2lzLm9wZW5kb2N1bWVudC5mb3JtdWxhLXRlbXBsYXRlXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wib2RmdFwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLm9hc2lzLm9wZW5kb2N1bWVudC5ncmFwaGljc1wiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogZmFsc2UsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcIm9kZ1wiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLm9hc2lzLm9wZW5kb2N1bWVudC5ncmFwaGljcy10ZW1wbGF0ZVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcIm90Z1wiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLm9hc2lzLm9wZW5kb2N1bWVudC5pbWFnZVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcIm9kaVwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLm9hc2lzLm9wZW5kb2N1bWVudC5pbWFnZS10ZW1wbGF0ZVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcIm90aVwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLm9hc2lzLm9wZW5kb2N1bWVudC5wcmVzZW50YXRpb25cIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IGZhbHNlLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJvZHBcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5vYXNpcy5vcGVuZG9jdW1lbnQucHJlc2VudGF0aW9uLXRlbXBsYXRlXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wib3RwXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQub2FzaXMub3BlbmRvY3VtZW50LnNwcmVhZHNoZWV0XCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiBmYWxzZSxcbiAgICAgICAgZXh0ZW5zaW9uczogW1wib2RzXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQub2FzaXMub3BlbmRvY3VtZW50LnNwcmVhZHNoZWV0LXRlbXBsYXRlXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wib3RzXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQub2FzaXMub3BlbmRvY3VtZW50LnRleHRcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IGZhbHNlLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJvZHRcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5vYXNpcy5vcGVuZG9jdW1lbnQudGV4dC1tYXN0ZXJcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJvZG1cIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5vYXNpcy5vcGVuZG9jdW1lbnQudGV4dC1tYXN0ZXItdGVtcGxhdGVcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQub2FzaXMub3BlbmRvY3VtZW50LnRleHQtdGVtcGxhdGVcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJvdHRcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5vYXNpcy5vcGVuZG9jdW1lbnQudGV4dC13ZWJcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJvdGhcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5vYm5cIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQub2NmK2Nib3JcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQub2NpLmltYWdlLm1hbmlmZXN0LnYxK2pzb25cIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5vZnRuLmwxMG4ranNvblwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLm9pcGYuY29udGVudGFjY2Vzc2Rvd25sb2FkK3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLm9pcGYuY29udGVudGFjY2Vzc3N0cmVhbWluZyt4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5vaXBmLmNzcGctaGV4YmluYXJ5XCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLm9pcGYuZGFlLnN2Zyt4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5vaXBmLmRhZS54aHRtbCt4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5vaXBmLm1pcHB2Y29udHJvbG1lc3NhZ2UreG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQub2lwZi5wYWUuZ2VtXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLm9pcGYuc3BkaXNjb3ZlcnkreG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQub2lwZi5zcGRsaXN0K3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLm9pcGYudWVwcm9maWxlK3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLm9pcGYudXNlcnByb2ZpbGUreG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQub2xwYy1zdWdhclwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcInhvXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQub21hLXNjd3MtY29uZmlnXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLm9tYS1zY3dzLWh0dHAtcmVxdWVzdFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5vbWEtc2N3cy1odHRwLXJlc3BvbnNlXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLm9tYS5iY2FzdC5hc3NvY2lhdGVkLXByb2NlZHVyZS1wYXJhbWV0ZXIreG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQub21hLmJjYXN0LmRybS10cmlnZ2VyK3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJhcGFjaGVcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQub21hLmJjYXN0LmltZCt4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5vbWEuYmNhc3QubHRrbVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5vbWEuYmNhc3Qubm90aWZpY2F0aW9uK3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLm9tYS5iY2FzdC5wcm92aXNpb25pbmd0cmlnZ2VyXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLm9tYS5iY2FzdC5zZ2Jvb3RcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQub21hLmJjYXN0LnNnZGQreG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQub21hLmJjYXN0LnNnZHVcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQub21hLmJjYXN0LnNpbXBsZS1zeW1ib2wtY29udGFpbmVyXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLm9tYS5iY2FzdC5zbWFydGNhcmQtdHJpZ2dlcit4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiYXBhY2hlXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLm9tYS5iY2FzdC5zcHJvdit4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5vbWEuYmNhc3Quc3RrbVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5vbWEuY2FiLWFkZHJlc3MtYm9vayt4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5vbWEuY2FiLWZlYXR1cmUtaGFuZGxlcit4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5vbWEuY2FiLXBjYyt4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5vbWEuY2FiLXN1YnMtaW52aXRlK3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLm9tYS5jYWItdXNlci1wcmVmcyt4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5vbWEuZGNkXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLm9tYS5kY2RjXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLm9tYS5kZDIreG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJkZDJcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5vbWEuZHJtLnJpc2QreG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQub21hLmdyb3VwLXVzYWdlLWxpc3QreG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQub21hLmx3bTJtK2Nib3JcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQub21hLmx3bTJtK2pzb25cIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5vbWEubHdtMm0rdGx2XCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLm9tYS5wYWwreG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQub21hLnBvYy5kZXRhaWxlZC1wcm9ncmVzcy1yZXBvcnQreG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQub21hLnBvYy5maW5hbC1yZXBvcnQreG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQub21hLnBvYy5ncm91cHMreG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQub21hLnBvYy5pbnZvY2F0aW9uLWRlc2NyaXB0b3IreG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQub21hLnBvYy5vcHRpbWl6ZWQtcHJvZ3Jlc3MtcmVwb3J0K3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLm9tYS5wdXNoXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLm9tYS5zY2lkbS5tZXNzYWdlcyt4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5vbWEueGNhcC1kaXJlY3RvcnkreG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQub21hZHMtZW1haWwreG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY2hhcnNldDogXCJVVEYtOFwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5vbWFkcy1maWxlK3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNoYXJzZXQ6IFwiVVRGLThcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQub21hZHMtZm9sZGVyK3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNoYXJzZXQ6IFwiVVRGLThcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQub21hbG9jLXN1cGwtaW5pdFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5vbmVwYWdlclwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5vbmVwYWdlcnRhbXBcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQub25lcGFnZXJ0YW14XCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLm9uZXBhZ2VydGF0XCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLm9uZXBhZ2VydGF0cFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5vbmVwYWdlcnRhdHhcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQub252aWYubWV0YWRhdGFcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQub3BlbmJsb3guZ2FtZSt4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWUsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcIm9iZ3hcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5vcGVuYmxveC5nYW1lLWJpbmFyeVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5vcGVuZXllLm9lYlwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5vcGVub2ZmaWNlb3JnLmV4dGVuc2lvblwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJhcGFjaGVcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wib3h0XCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQub3BlbnN0cmVldG1hcC5kYXRhK3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZSxcbiAgICAgICAgZXh0ZW5zaW9uczogW1wib3NtXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQub3BlbnRpbWVzdGFtcHMub3RzXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLm9wZW52cGkuZHNweCtqc29uXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQub3BlbnhtbGZvcm1hdHMtb2ZmaWNlZG9jdW1lbnQuY3VzdG9tLXByb3BlcnRpZXMreG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQub3BlbnhtbGZvcm1hdHMtb2ZmaWNlZG9jdW1lbnQuY3VzdG9teG1scHJvcGVydGllcyt4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5vcGVueG1sZm9ybWF0cy1vZmZpY2Vkb2N1bWVudC5kcmF3aW5nK3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLm9wZW54bWxmb3JtYXRzLW9mZmljZWRvY3VtZW50LmRyYXdpbmdtbC5jaGFydCt4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5vcGVueG1sZm9ybWF0cy1vZmZpY2Vkb2N1bWVudC5kcmF3aW5nbWwuY2hhcnRzaGFwZXMreG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQub3BlbnhtbGZvcm1hdHMtb2ZmaWNlZG9jdW1lbnQuZHJhd2luZ21sLmRpYWdyYW1jb2xvcnMreG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQub3BlbnhtbGZvcm1hdHMtb2ZmaWNlZG9jdW1lbnQuZHJhd2luZ21sLmRpYWdyYW1kYXRhK3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLm9wZW54bWxmb3JtYXRzLW9mZmljZWRvY3VtZW50LmRyYXdpbmdtbC5kaWFncmFtbGF5b3V0K3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLm9wZW54bWxmb3JtYXRzLW9mZmljZWRvY3VtZW50LmRyYXdpbmdtbC5kaWFncmFtc3R5bGUreG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQub3BlbnhtbGZvcm1hdHMtb2ZmaWNlZG9jdW1lbnQuZXh0ZW5kZWQtcHJvcGVydGllcyt4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5vcGVueG1sZm9ybWF0cy1vZmZpY2Vkb2N1bWVudC5wcmVzZW50YXRpb25tbC5jb21tZW50YXV0aG9ycyt4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5vcGVueG1sZm9ybWF0cy1vZmZpY2Vkb2N1bWVudC5wcmVzZW50YXRpb25tbC5jb21tZW50cyt4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5vcGVueG1sZm9ybWF0cy1vZmZpY2Vkb2N1bWVudC5wcmVzZW50YXRpb25tbC5oYW5kb3V0bWFzdGVyK3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLm9wZW54bWxmb3JtYXRzLW9mZmljZWRvY3VtZW50LnByZXNlbnRhdGlvbm1sLm5vdGVzbWFzdGVyK3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLm9wZW54bWxmb3JtYXRzLW9mZmljZWRvY3VtZW50LnByZXNlbnRhdGlvbm1sLm5vdGVzc2xpZGUreG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQub3BlbnhtbGZvcm1hdHMtb2ZmaWNlZG9jdW1lbnQucHJlc2VudGF0aW9ubWwucHJlc2VudGF0aW9uXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiBmYWxzZSxcbiAgICAgICAgZXh0ZW5zaW9uczogW1wicHB0eFwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLm9wZW54bWxmb3JtYXRzLW9mZmljZWRvY3VtZW50LnByZXNlbnRhdGlvbm1sLnByZXNlbnRhdGlvbi5tYWluK3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLm9wZW54bWxmb3JtYXRzLW9mZmljZWRvY3VtZW50LnByZXNlbnRhdGlvbm1sLnByZXNwcm9wcyt4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5vcGVueG1sZm9ybWF0cy1vZmZpY2Vkb2N1bWVudC5wcmVzZW50YXRpb25tbC5zbGlkZVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcInNsZHhcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5vcGVueG1sZm9ybWF0cy1vZmZpY2Vkb2N1bWVudC5wcmVzZW50YXRpb25tbC5zbGlkZSt4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5vcGVueG1sZm9ybWF0cy1vZmZpY2Vkb2N1bWVudC5wcmVzZW50YXRpb25tbC5zbGlkZWxheW91dCt4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5vcGVueG1sZm9ybWF0cy1vZmZpY2Vkb2N1bWVudC5wcmVzZW50YXRpb25tbC5zbGlkZW1hc3Rlcit4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5vcGVueG1sZm9ybWF0cy1vZmZpY2Vkb2N1bWVudC5wcmVzZW50YXRpb25tbC5zbGlkZXNob3dcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJwcHN4XCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQub3BlbnhtbGZvcm1hdHMtb2ZmaWNlZG9jdW1lbnQucHJlc2VudGF0aW9ubWwuc2xpZGVzaG93Lm1haW4reG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQub3BlbnhtbGZvcm1hdHMtb2ZmaWNlZG9jdW1lbnQucHJlc2VudGF0aW9ubWwuc2xpZGV1cGRhdGVpbmZvK3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLm9wZW54bWxmb3JtYXRzLW9mZmljZWRvY3VtZW50LnByZXNlbnRhdGlvbm1sLnRhYmxlc3R5bGVzK3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLm9wZW54bWxmb3JtYXRzLW9mZmljZWRvY3VtZW50LnByZXNlbnRhdGlvbm1sLnRhZ3MreG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQub3BlbnhtbGZvcm1hdHMtb2ZmaWNlZG9jdW1lbnQucHJlc2VudGF0aW9ubWwudGVtcGxhdGVcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJwb3R4XCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQub3BlbnhtbGZvcm1hdHMtb2ZmaWNlZG9jdW1lbnQucHJlc2VudGF0aW9ubWwudGVtcGxhdGUubWFpbit4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5vcGVueG1sZm9ybWF0cy1vZmZpY2Vkb2N1bWVudC5wcmVzZW50YXRpb25tbC52aWV3cHJvcHMreG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQub3BlbnhtbGZvcm1hdHMtb2ZmaWNlZG9jdW1lbnQuc3ByZWFkc2hlZXRtbC5jYWxjY2hhaW4reG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQub3BlbnhtbGZvcm1hdHMtb2ZmaWNlZG9jdW1lbnQuc3ByZWFkc2hlZXRtbC5jaGFydHNoZWV0K3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLm9wZW54bWxmb3JtYXRzLW9mZmljZWRvY3VtZW50LnNwcmVhZHNoZWV0bWwuY29tbWVudHMreG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQub3BlbnhtbGZvcm1hdHMtb2ZmaWNlZG9jdW1lbnQuc3ByZWFkc2hlZXRtbC5jb25uZWN0aW9ucyt4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5vcGVueG1sZm9ybWF0cy1vZmZpY2Vkb2N1bWVudC5zcHJlYWRzaGVldG1sLmRpYWxvZ3NoZWV0K3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLm9wZW54bWxmb3JtYXRzLW9mZmljZWRvY3VtZW50LnNwcmVhZHNoZWV0bWwuZXh0ZXJuYWxsaW5rK3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLm9wZW54bWxmb3JtYXRzLW9mZmljZWRvY3VtZW50LnNwcmVhZHNoZWV0bWwucGl2b3RjYWNoZWRlZmluaXRpb24reG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQub3BlbnhtbGZvcm1hdHMtb2ZmaWNlZG9jdW1lbnQuc3ByZWFkc2hlZXRtbC5waXZvdGNhY2hlcmVjb3Jkcyt4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5vcGVueG1sZm9ybWF0cy1vZmZpY2Vkb2N1bWVudC5zcHJlYWRzaGVldG1sLnBpdm90dGFibGUreG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQub3BlbnhtbGZvcm1hdHMtb2ZmaWNlZG9jdW1lbnQuc3ByZWFkc2hlZXRtbC5xdWVyeXRhYmxlK3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLm9wZW54bWxmb3JtYXRzLW9mZmljZWRvY3VtZW50LnNwcmVhZHNoZWV0bWwucmV2aXNpb25oZWFkZXJzK3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLm9wZW54bWxmb3JtYXRzLW9mZmljZWRvY3VtZW50LnNwcmVhZHNoZWV0bWwucmV2aXNpb25sb2creG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQub3BlbnhtbGZvcm1hdHMtb2ZmaWNlZG9jdW1lbnQuc3ByZWFkc2hlZXRtbC5zaGFyZWRzdHJpbmdzK3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLm9wZW54bWxmb3JtYXRzLW9mZmljZWRvY3VtZW50LnNwcmVhZHNoZWV0bWwuc2hlZXRcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IGZhbHNlLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJ4bHN4XCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQub3BlbnhtbGZvcm1hdHMtb2ZmaWNlZG9jdW1lbnQuc3ByZWFkc2hlZXRtbC5zaGVldC5tYWluK3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLm9wZW54bWxmb3JtYXRzLW9mZmljZWRvY3VtZW50LnNwcmVhZHNoZWV0bWwuc2hlZXRtZXRhZGF0YSt4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5vcGVueG1sZm9ybWF0cy1vZmZpY2Vkb2N1bWVudC5zcHJlYWRzaGVldG1sLnN0eWxlcyt4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5vcGVueG1sZm9ybWF0cy1vZmZpY2Vkb2N1bWVudC5zcHJlYWRzaGVldG1sLnRhYmxlK3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLm9wZW54bWxmb3JtYXRzLW9mZmljZWRvY3VtZW50LnNwcmVhZHNoZWV0bWwudGFibGVzaW5nbGVjZWxscyt4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5vcGVueG1sZm9ybWF0cy1vZmZpY2Vkb2N1bWVudC5zcHJlYWRzaGVldG1sLnRlbXBsYXRlXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wieGx0eFwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLm9wZW54bWxmb3JtYXRzLW9mZmljZWRvY3VtZW50LnNwcmVhZHNoZWV0bWwudGVtcGxhdGUubWFpbit4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5vcGVueG1sZm9ybWF0cy1vZmZpY2Vkb2N1bWVudC5zcHJlYWRzaGVldG1sLnVzZXJuYW1lcyt4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5vcGVueG1sZm9ybWF0cy1vZmZpY2Vkb2N1bWVudC5zcHJlYWRzaGVldG1sLnZvbGF0aWxlZGVwZW5kZW5jaWVzK3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLm9wZW54bWxmb3JtYXRzLW9mZmljZWRvY3VtZW50LnNwcmVhZHNoZWV0bWwud29ya3NoZWV0K3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLm9wZW54bWxmb3JtYXRzLW9mZmljZWRvY3VtZW50LnRoZW1lK3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLm9wZW54bWxmb3JtYXRzLW9mZmljZWRvY3VtZW50LnRoZW1lb3ZlcnJpZGUreG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQub3BlbnhtbGZvcm1hdHMtb2ZmaWNlZG9jdW1lbnQudm1sZHJhd2luZ1wiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5vcGVueG1sZm9ybWF0cy1vZmZpY2Vkb2N1bWVudC53b3JkcHJvY2Vzc2luZ21sLmNvbW1lbnRzK3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLm9wZW54bWxmb3JtYXRzLW9mZmljZWRvY3VtZW50LndvcmRwcm9jZXNzaW5nbWwuZG9jdW1lbnRcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IGZhbHNlLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJkb2N4XCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQub3BlbnhtbGZvcm1hdHMtb2ZmaWNlZG9jdW1lbnQud29yZHByb2Nlc3NpbmdtbC5kb2N1bWVudC5nbG9zc2FyeSt4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5vcGVueG1sZm9ybWF0cy1vZmZpY2Vkb2N1bWVudC53b3JkcHJvY2Vzc2luZ21sLmRvY3VtZW50Lm1haW4reG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQub3BlbnhtbGZvcm1hdHMtb2ZmaWNlZG9jdW1lbnQud29yZHByb2Nlc3NpbmdtbC5lbmRub3Rlcyt4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5vcGVueG1sZm9ybWF0cy1vZmZpY2Vkb2N1bWVudC53b3JkcHJvY2Vzc2luZ21sLmZvbnR0YWJsZSt4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5vcGVueG1sZm9ybWF0cy1vZmZpY2Vkb2N1bWVudC53b3JkcHJvY2Vzc2luZ21sLmZvb3Rlcit4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5vcGVueG1sZm9ybWF0cy1vZmZpY2Vkb2N1bWVudC53b3JkcHJvY2Vzc2luZ21sLmZvb3Rub3Rlcyt4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5vcGVueG1sZm9ybWF0cy1vZmZpY2Vkb2N1bWVudC53b3JkcHJvY2Vzc2luZ21sLm51bWJlcmluZyt4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5vcGVueG1sZm9ybWF0cy1vZmZpY2Vkb2N1bWVudC53b3JkcHJvY2Vzc2luZ21sLnNldHRpbmdzK3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLm9wZW54bWxmb3JtYXRzLW9mZmljZWRvY3VtZW50LndvcmRwcm9jZXNzaW5nbWwuc3R5bGVzK3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLm9wZW54bWxmb3JtYXRzLW9mZmljZWRvY3VtZW50LndvcmRwcm9jZXNzaW5nbWwudGVtcGxhdGVcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJkb3R4XCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQub3BlbnhtbGZvcm1hdHMtb2ZmaWNlZG9jdW1lbnQud29yZHByb2Nlc3NpbmdtbC50ZW1wbGF0ZS5tYWluK3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLm9wZW54bWxmb3JtYXRzLW9mZmljZWRvY3VtZW50LndvcmRwcm9jZXNzaW5nbWwud2Vic2V0dGluZ3MreG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQub3BlbnhtbGZvcm1hdHMtcGFja2FnZS5jb3JlLXByb3BlcnRpZXMreG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQub3BlbnhtbGZvcm1hdHMtcGFja2FnZS5kaWdpdGFsLXNpZ25hdHVyZS14bWxzaWduYXR1cmUreG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQub3BlbnhtbGZvcm1hdHMtcGFja2FnZS5yZWxhdGlvbnNoaXBzK3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLm9yYWNsZS5yZXNvdXJjZStqc29uXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQub3JhbmdlLmluZGF0YVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5vc2EubmV0ZGVwbG95XCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLm9zZ2VvLm1hcGd1aWRlLnBhY2thZ2VcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJtZ3BcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5vc2dpLmJ1bmRsZVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5vc2dpLmRwXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wiZHBcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5vc2dpLnN1YnN5c3RlbVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImVzYVwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLm90cHMuY3Qta2lwK3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLm94bGkuY291bnRncmFwaFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5wYWdlcmR1dHkranNvblwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLnBhbG1cIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJwZGJcIiwgXCJwcWFcIiwgXCJvcHJjXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQucGFub3BseVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5wYW9zLnhtbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5wYXRlbnRkaXZlXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLnBhdGllbnRlY29tbXNkb2NcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQucGF3YWFmaWxlXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wicGF3XCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQucGNvc1wiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5wZy5mb3JtYXRcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJzdHJcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5wZy5vc2FzbGlcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJlaTZcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5waWFjY2Vzcy5hcHBsaWNhdGlvbi1saWNlbmNlXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLnBpY3NlbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImVmaWZcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5wbWkud2lkZ2V0XCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wid2dcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5wb2MuZ3JvdXAtYWR2ZXJ0aXNlbWVudCt4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5wb2NrZXRsZWFyblwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcInBsZlwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLnBvd2VyYnVpbGRlcjZcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJwYmRcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5wb3dlcmJ1aWxkZXI2LXNcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQucG93ZXJidWlsZGVyN1wiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5wb3dlcmJ1aWxkZXI3LXNcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQucG93ZXJidWlsZGVyNzVcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQucG93ZXJidWlsZGVyNzUtc1wiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5wcmVtaW5ldFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5wcmV2aWV3c3lzdGVtcy5ib3hcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJib3hcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5wcm9jcmF0ZS5icnVzaHNldFwiOiB7XG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImJydXNoc2V0XCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQucHJvY3JlYXRlLmJydXNoXCI6IHtcbiAgICAgICAgZXh0ZW5zaW9uczogW1wiYnJ1c2hcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5wcm9jcmVhdGUuZHJlYW1cIjoge1xuICAgICAgICBleHRlbnNpb25zOiBbXCJkcm1cIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5wcm90ZXVzLm1hZ2F6aW5lXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wibWd6XCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQucHNmc1wiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5wdC5tdW5kdXNtdW5kaVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5wdWJsaXNoYXJlLWRlbHRhLXRyZWVcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJxcHNcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5wdmkucHRpZDFcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJwdGlkXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQucHdnLW11bHRpcGxleGVkXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLnB3Zy14aHRtbC1wcmludCt4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWUsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcInhodG1cIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5xdWFsY29tbS5icmV3LWFwcC1yZXNcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQucXVhcmFudGFpbmVuZXRcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQucXVhcmsucXVhcmt4cHJlc3NcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJxeGRcIiwgXCJxeHRcIiwgXCJxd2RcIiwgXCJxd3RcIiwgXCJxeGxcIiwgXCJxeGJcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5xdW9iamVjdC1xdW94ZG9jdW1lbnRcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQucmFkaXN5cy5tb21sK3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLnJhZGlzeXMubXNtbCt4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5yYWRpc3lzLm1zbWwtYXVkaXQreG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQucmFkaXN5cy5tc21sLWF1ZGl0LWNvbmYreG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQucmFkaXN5cy5tc21sLWF1ZGl0LWNvbm4reG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQucmFkaXN5cy5tc21sLWF1ZGl0LWRpYWxvZyt4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5yYWRpc3lzLm1zbWwtYXVkaXQtc3RyZWFtK3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLnJhZGlzeXMubXNtbC1jb25mK3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLnJhZGlzeXMubXNtbC1kaWFsb2creG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQucmFkaXN5cy5tc21sLWRpYWxvZy1iYXNlK3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLnJhZGlzeXMubXNtbC1kaWFsb2ctZmF4LWRldGVjdCt4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5yYWRpc3lzLm1zbWwtZGlhbG9nLWZheC1zZW5kcmVjdit4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5yYWRpc3lzLm1zbWwtZGlhbG9nLWdyb3VwK3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLnJhZGlzeXMubXNtbC1kaWFsb2ctc3BlZWNoK3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLnJhZGlzeXMubXNtbC1kaWFsb2ctdHJhbnNmb3JtK3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLnJhaW5zdG9yLmRhdGFcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQucmFwaWRcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQucmFyXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wicmFyXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQucmVhbHZuYy5iZWRcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJiZWRcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5yZWNvcmRhcmUubXVzaWN4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJteGxcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5yZWNvcmRhcmUubXVzaWN4bWwreG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJtdXNpY3htbFwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLnJlbHBpcGVcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQucmVubGVhcm4ucmxwcmludFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5yZXNpbGllbnQubG9naWNcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQucmVzdGZ1bCtqc29uXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQucmlnLmNyeXB0b25vdGVcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJjcnlwdG9ub3RlXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQucmltLmNvZFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJhcGFjaGVcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wiY29kXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQucm4tcmVhbG1lZGlhXCI6IHtcbiAgICAgICAgc291cmNlOiBcImFwYWNoZVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJybVwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLnJuLXJlYWxtZWRpYS12YnJcIjoge1xuICAgICAgICBzb3VyY2U6IFwiYXBhY2hlXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcInJtdmJcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5yb3V0ZTY2Lmxpbms2Nit4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWUsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImxpbms2NlwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLnJzLTI3NHhcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQucnVja3VzLmRvd25sb2FkXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLnMzc21zXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLnNhaWxpbmd0cmFja2VyLnRyYWNrXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wic3RcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5zYXJcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuc2JtLmNpZFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5zYm0ubWlkMlwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5zY3JpYnVzXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLnNlYWxlZC4zZGZcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuc2VhbGVkLmNzZlwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5zZWFsZWQuZG9jXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLnNlYWxlZC5lbWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuc2VhbGVkLm1odFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5zZWFsZWQubmV0XCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLnNlYWxlZC5wcHRcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuc2VhbGVkLnRpZmZcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuc2VhbGVkLnhsc1wiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5zZWFsZWRtZWRpYS5zb2Z0c2VhbC5odG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLnNlYWxlZG1lZGlhLnNvZnRzZWFsLnBkZlwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5zZWVtYWlsXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wic2VlXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuc2Vpcytqc29uXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuc2VtYVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcInNlbWFcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5zZW1kXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wic2VtZFwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLnNlbWZcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJzZW1mXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuc2hhZGUtc2F2ZS1maWxlXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLnNoYW5hLmluZm9ybWVkLmZvcm1kYXRhXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wiaWZtXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuc2hhbmEuaW5mb3JtZWQuZm9ybXRlbXBsYXRlXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wiaXRwXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuc2hhbmEuaW5mb3JtZWQuaW50ZXJjaGFuZ2VcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJpaWZcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5zaGFuYS5pbmZvcm1lZC5wYWNrYWdlXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wiaXBrXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuc2hvb3Rwcm9vZitqc29uXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuc2hvcGtpY2sranNvblwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLnNocFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5zaHhcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuc2lncm9rLnNlc3Npb25cIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuc2ltdGVjaC1taW5kbWFwcGVyXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1widHdkXCIsIFwidHdkc1wiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLnNpcmVuK2pzb25cIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5za2V0Y2hvbWV0cnlcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuc21hZlwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcIm1tZlwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLnNtYXJ0Lm5vdGVib29rXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLnNtYXJ0LnRlYWNoZXJcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJ0ZWFjaGVyXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuc21pbnRpby5wb3J0YWxzLmFyY2hpdmVcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuc25lc2Rldi1wYWdlLXRhYmxlXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLnNvZnR3YXJlNjAyLmZpbGxlci5mb3JtK3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZSxcbiAgICAgICAgZXh0ZW5zaW9uczogW1wiZm9cIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5zb2Z0d2FyZTYwMi5maWxsZXIuZm9ybS14bWwtemlwXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLnNvbGVudC5zZGttK3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZSxcbiAgICAgICAgZXh0ZW5zaW9uczogW1wic2RrbVwiLCBcInNka2RcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5zcG90ZmlyZS5keHBcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJkeHBcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5zcG90ZmlyZS5zZnNcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJzZnNcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5zcWxpdGUzXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLnNzcy1jb2RcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuc3NzLWR0ZlwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5zc3MtbnRmXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLnN0YXJkaXZpc2lvbi5jYWxjXCI6IHtcbiAgICAgICAgc291cmNlOiBcImFwYWNoZVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJzZGNcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5zdGFyZGl2aXNpb24uZHJhd1wiOiB7XG4gICAgICAgIHNvdXJjZTogXCJhcGFjaGVcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wic2RhXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuc3RhcmRpdmlzaW9uLmltcHJlc3NcIjoge1xuICAgICAgICBzb3VyY2U6IFwiYXBhY2hlXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcInNkZFwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLnN0YXJkaXZpc2lvbi5tYXRoXCI6IHtcbiAgICAgICAgc291cmNlOiBcImFwYWNoZVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJzbWZcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5zdGFyZGl2aXNpb24ud3JpdGVyXCI6IHtcbiAgICAgICAgc291cmNlOiBcImFwYWNoZVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJzZHdcIiwgXCJ2b3JcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5zdGFyZGl2aXNpb24ud3JpdGVyLWdsb2JhbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJhcGFjaGVcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wic2dsXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuc3RlcG1hbmlhLnBhY2thZ2VcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJzbXppcFwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLnN0ZXBtYW5pYS5zdGVwY2hhcnRcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJzbVwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLnN0cmVldC1zdHJlYW1cIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuc3VuLndhZGwreG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJ3YWRsXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuc3VuLnhtbC5jYWxjXCI6IHtcbiAgICAgICAgc291cmNlOiBcImFwYWNoZVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJzeGNcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5zdW4ueG1sLmNhbGMudGVtcGxhdGVcIjoge1xuICAgICAgICBzb3VyY2U6IFwiYXBhY2hlXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcInN0Y1wiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLnN1bi54bWwuZHJhd1wiOiB7XG4gICAgICAgIHNvdXJjZTogXCJhcGFjaGVcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wic3hkXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuc3VuLnhtbC5kcmF3LnRlbXBsYXRlXCI6IHtcbiAgICAgICAgc291cmNlOiBcImFwYWNoZVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJzdGRcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5zdW4ueG1sLmltcHJlc3NcIjoge1xuICAgICAgICBzb3VyY2U6IFwiYXBhY2hlXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcInN4aVwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLnN1bi54bWwuaW1wcmVzcy50ZW1wbGF0ZVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJhcGFjaGVcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wic3RpXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuc3VuLnhtbC5tYXRoXCI6IHtcbiAgICAgICAgc291cmNlOiBcImFwYWNoZVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJzeG1cIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5zdW4ueG1sLndyaXRlclwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJhcGFjaGVcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wic3h3XCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuc3VuLnhtbC53cml0ZXIuZ2xvYmFsXCI6IHtcbiAgICAgICAgc291cmNlOiBcImFwYWNoZVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJzeGdcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5zdW4ueG1sLndyaXRlci50ZW1wbGF0ZVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJhcGFjaGVcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wic3R3XCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuc3VzLWNhbGVuZGFyXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wic3VzXCIsIFwic3VzcFwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLnN2ZFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcInN2ZFwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLnN3aWZ0dmlldy1pY3NcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuc3lieWwubW9sMlwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5zeWNsZSt4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5zeWZ0K2pzb25cIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5zeW1iaWFuLmluc3RhbGxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiYXBhY2hlXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcInNpc1wiLCBcInNpc3hcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5zeW5jbWwreG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY2hhcnNldDogXCJVVEYtOFwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWUsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcInhzbVwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLnN5bmNtbC5kbSt3YnhtbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNoYXJzZXQ6IFwiVVRGLThcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wiYmRtXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuc3luY21sLmRtK3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNoYXJzZXQ6IFwiVVRGLThcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJ4ZG1cIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5zeW5jbWwuZG0ubm90aWZpY2F0aW9uXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLnN5bmNtbC5kbWRkZit3YnhtbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5zeW5jbWwuZG1kZGYreG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY2hhcnNldDogXCJVVEYtOFwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWUsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImRkZlwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLnN5bmNtbC5kbXRuZHMrd2J4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuc3luY21sLmRtdG5kcyt4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjaGFyc2V0OiBcIlVURi04XCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLnN5bmNtbC5kcy5ub3RpZmljYXRpb25cIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQudGFibGVzY2hlbWEranNvblwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLnRhby5pbnRlbnQtbW9kdWxlLWFyY2hpdmVcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJ0YW9cIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC50Y3BkdW1wLnBjYXBcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJwY2FwXCIsIFwiY2FwXCIsIFwiZG1wXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQudGhpbmstY2VsbC5wcHR0Yytqc29uXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQudG1kLm1lZGlhZmxleC5hcGkreG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQudG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLnRtb2JpbGUtbGl2ZXR2XCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1widG1vXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQudHJpLm9uZXNvdXJjZVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC50cmlkLnRwdFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcInRwdFwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLnRyaXNjYXBlLm14c1wiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcIm14c1wiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLnRydWVhcHBcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJ0cmFcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC50cnVlZG9jXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLnViaXNvZnQud2VicGxheWVyXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLnVmZGxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJ1ZmRcIiwgXCJ1ZmRsXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQudWljLm9zZG0ranNvblwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLnVpcS50aGVtZVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcInV0elwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLnVtYWppblwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcInVtalwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLnVuaXR5XCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1widW5pdHl3ZWJcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC51b21sK3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZSxcbiAgICAgICAgZXh0ZW5zaW9uczogW1widW9tbFwiLCBcInVvXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQudXBsYW5ldC5hbGVydFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC51cGxhbmV0LmFsZXJ0LXdieG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLnVwbGFuZXQuYmVhcmVyLWNob2ljZVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC51cGxhbmV0LmJlYXJlci1jaG9pY2Utd2J4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQudXBsYW5ldC5jYWNoZW9wXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLnVwbGFuZXQuY2FjaGVvcC13YnhtbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC51cGxhbmV0LmNoYW5uZWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQudXBsYW5ldC5jaGFubmVsLXdieG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLnVwbGFuZXQubGlzdFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC51cGxhbmV0Lmxpc3Qtd2J4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQudXBsYW5ldC5saXN0Y21kXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLnVwbGFuZXQubGlzdGNtZC13YnhtbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC51cGxhbmV0LnNpZ25hbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC51cmktbWFwXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLnZhbHZlLnNvdXJjZS5tYXRlcmlhbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC52Y3hcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJ2Y3hcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC52ZC1zdHVkeVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC52ZWN0b3J3b3Jrc1wiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC52ZWwranNvblwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLnZlcmFpc29uLnRzbS1yZXBvcnQrY2JvclwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC52ZXJhaXNvbi50c20tcmVwb3J0K2pzb25cIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC52ZXJpbWF0cml4LnZjYXNcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQudmVyaXRvbmUuYWlvbitqc29uXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQudmVyeWFudC50aGluXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLnZlcy5lbmNyeXB0ZWRcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQudmlkc29mdC52aWRjb25mZXJlbmNlXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLnZpc2lvXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1widnNkXCIsIFwidnN0XCIsIFwidnNzXCIsIFwidnN3XCIsIFwidnNkeFwiLCBcInZ0eFwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLnZpc2lvbmFyeVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcInZpc1wiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLnZpdmlkZW5jZS5zY3JpcHRmaWxlXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLnZvY2Fsc2hhcGVyLnZzcDRcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQudnNmXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1widnNmXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQud2FwLnNpY1wiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC53YXAuc2xjXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLndhcC53YnhtbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNoYXJzZXQ6IFwiVVRGLThcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wid2J4bWxcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC53YXAud21sY1wiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcIndtbGNcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC53YXAud21sc2NyaXB0Y1wiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcIndtbHNjXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQud2FzbWZsb3cud2FmbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC53ZWJ0dXJib1wiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcInd0YlwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLndmYS5kcHBcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQud2ZhLnAycFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC53ZmEud3NjXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLndpbmRvd3MuZGV2aWNlcGFpcmluZ1wiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC53bWNcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQud21mLmJvb3RzdHJhcFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC53b2xmcmFtLm1hdGhlbWF0aWNhXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLndvbGZyYW0ubWF0aGVtYXRpY2EucGFja2FnZVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC53b2xmcmFtLnBsYXllclwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcIm5icFwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLndvcmRsaWZ0XCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLndvcmRwZXJmZWN0XCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wid3BkXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQud3FkXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wid3FkXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQud3JxLWhwMzAwMC1sYWJlbGxlZFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC53dC5zdGZcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJzdGZcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC53di5jc3Ard2J4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQud3YuY3NwK3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLnd2LnNzcCt4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC54YWNtbCtqc29uXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQueGFyYVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcInhhclwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLnhhcmluLmNwalwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC54ZWNyZXRzLWVuY3J5cHRlZFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC54ZmRsXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wieGZkbFwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLnhmZGwud2ViZm9ybVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC54bWkreG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQueG1waWUuY3BrZ1wiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC54bXBpZS5kcGtnXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLnhtcGllLnBsYW5cIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQueG1waWUucHBrZ1wiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC54bXBpZS54bGltXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLnlhbWFoYS5odi1kaWNcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJodmRcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC55YW1haGEuaHYtc2NyaXB0XCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wiaHZzXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQueWFtYWhhLmh2LXZvaWNlXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wiaHZwXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQueWFtYWhhLm9wZW5zY29yZWZvcm1hdFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcIm9zZlwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLnlhbWFoYS5vcGVuc2NvcmVmb3JtYXQub3NmcHZnK3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZSxcbiAgICAgICAgZXh0ZW5zaW9uczogW1wib3NmcHZnXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQueWFtYWhhLnJlbW90ZS1zZXR1cFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC55YW1haGEuc21hZi1hdWRpb1wiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcInNhZlwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLnlhbWFoYS5zbWFmLXBocmFzZVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcInNwZlwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLnlhbWFoYS50aHJvdWdoLW5nblwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC55YW1haGEudHVubmVsLXVkcGVuY2FwXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLnlhb3dlbWVcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQueWVsbG93cml2ZXItY3VzdG9tLW1lbnVcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJjbXBcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC56dWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJ6aXJcIiwgXCJ6aXJ6XCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuenphenouZGVjayt4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWUsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcInphelwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm9pY2V4bWwreG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJ2eG1sXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92b3VjaGVyLWNtcytqc29uXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92b3VjaGVyLWp3cytqc29uXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92cFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZwK2Nvc2VcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92cCtqd3RcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92cS1ydGNweHJcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi93YXNtXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJ3YXNtXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi93YXRjaGVyaW5mbyt4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWUsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcIndpZlwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vd2VicHVzaC1vcHRpb25zK2pzb25cIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3dob2lzcHAtcXVlcnlcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi93aG9pc3BwLXJlc3BvbnNlXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vd2lkZ2V0XCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wid2d0XCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi93aW5obHBcIjoge1xuICAgICAgICBzb3VyY2U6IFwiYXBhY2hlXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImhscFwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vd2l0YVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3dvcmRwZXJmZWN0NS4xXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vd3NkbCt4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWUsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcIndzZGxcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3dzcG9saWN5K3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZSxcbiAgICAgICAgZXh0ZW5zaW9uczogW1wid3Nwb2xpY3lcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3gtN3otY29tcHJlc3NlZFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJhcGFjaGVcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiBmYWxzZSxcbiAgICAgICAgZXh0ZW5zaW9uczogW1wiN3pcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3gtYWJpd29yZFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJhcGFjaGVcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wiYWJ3XCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi94LWFjZS1jb21wcmVzc2VkXCI6IHtcbiAgICAgICAgc291cmNlOiBcImFwYWNoZVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJhY2VcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3gtYW1mXCI6IHtcbiAgICAgICAgc291cmNlOiBcImFwYWNoZVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi94LWFwcGxlLWRpc2tpbWFnZVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJhcGFjaGVcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wiZG1nXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi94LWFyalwiOiB7XG4gICAgICAgIGNvbXByZXNzaWJsZTogZmFsc2UsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImFyalwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24veC1hdXRob3J3YXJlLWJpblwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJhcGFjaGVcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wiYWFiXCIsIFwieDMyXCIsIFwidTMyXCIsIFwidm94XCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi94LWF1dGhvcndhcmUtbWFwXCI6IHtcbiAgICAgICAgc291cmNlOiBcImFwYWNoZVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJhYW1cIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3gtYXV0aG9yd2FyZS1zZWdcIjoge1xuICAgICAgICBzb3VyY2U6IFwiYXBhY2hlXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImFhc1wiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24veC1iY3Bpb1wiOiB7XG4gICAgICAgIHNvdXJjZTogXCJhcGFjaGVcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wiYmNwaW9cIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3gtYmRvY1wiOiB7XG4gICAgICAgIGNvbXByZXNzaWJsZTogZmFsc2UsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImJkb2NcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3gtYml0dG9ycmVudFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJhcGFjaGVcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1widG9ycmVudFwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24veC1ibGVuZGVyXCI6IHtcbiAgICAgICAgZXh0ZW5zaW9uczogW1wiYmxlbmRcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3gtYmxvcmJcIjoge1xuICAgICAgICBzb3VyY2U6IFwiYXBhY2hlXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImJsYlwiLCBcImJsb3JiXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi94LWJ6aXBcIjoge1xuICAgICAgICBzb3VyY2U6IFwiYXBhY2hlXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogZmFsc2UsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImJ6XCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi94LWJ6aXAyXCI6IHtcbiAgICAgICAgc291cmNlOiBcImFwYWNoZVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IGZhbHNlLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJiejJcIiwgXCJib3pcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3gtY2JyXCI6IHtcbiAgICAgICAgc291cmNlOiBcImFwYWNoZVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJjYnJcIiwgXCJjYmFcIiwgXCJjYnRcIiwgXCJjYnpcIiwgXCJjYjdcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3gtY2RsaW5rXCI6IHtcbiAgICAgICAgc291cmNlOiBcImFwYWNoZVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJ2Y2RcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3gtY2ZzLWNvbXByZXNzZWRcIjoge1xuICAgICAgICBzb3VyY2U6IFwiYXBhY2hlXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImNmc1wiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24veC1jaGF0XCI6IHtcbiAgICAgICAgc291cmNlOiBcImFwYWNoZVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJjaGF0XCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi94LWNoZXNzLXBnblwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJhcGFjaGVcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wicGduXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi94LWNocm9tZS1leHRlbnNpb25cIjoge1xuICAgICAgICBleHRlbnNpb25zOiBbXCJjcnhcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3gtY29jb2FcIjoge1xuICAgICAgICBzb3VyY2U6IFwibmdpbnhcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wiY2NvXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi94LWNvbXByZXNzXCI6IHtcbiAgICAgICAgc291cmNlOiBcImFwYWNoZVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi94LWNvbXByZXNzZWRcIjoge1xuICAgICAgICBleHRlbnNpb25zOiBbXCJyYXJcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3gtY29uZmVyZW5jZVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJhcGFjaGVcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wibnNjXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi94LWNwaW9cIjoge1xuICAgICAgICBzb3VyY2U6IFwiYXBhY2hlXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImNwaW9cIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3gtY3NoXCI6IHtcbiAgICAgICAgc291cmNlOiBcImFwYWNoZVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJjc2hcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3gtZGViXCI6IHtcbiAgICAgICAgY29tcHJlc3NpYmxlOiBmYWxzZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24veC1kZWJpYW4tcGFja2FnZVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJhcGFjaGVcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wiZGViXCIsIFwidWRlYlwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24veC1kZ2MtY29tcHJlc3NlZFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJhcGFjaGVcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wiZGdjXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi94LWRpcmVjdG9yXCI6IHtcbiAgICAgICAgc291cmNlOiBcImFwYWNoZVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJkaXJcIiwgXCJkY3JcIiwgXCJkeHJcIiwgXCJjc3RcIiwgXCJjY3RcIiwgXCJjeHRcIiwgXCJ3M2RcIiwgXCJmZ2RcIiwgXCJzd2FcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3gtZG9vbVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJhcGFjaGVcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wid2FkXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi94LWR0Ym5jeCt4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiYXBhY2hlXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZSxcbiAgICAgICAgZXh0ZW5zaW9uczogW1wibmN4XCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi94LWR0Ym9vayt4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiYXBhY2hlXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZSxcbiAgICAgICAgZXh0ZW5zaW9uczogW1wiZHRiXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi94LWR0YnJlc291cmNlK3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJhcGFjaGVcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJyZXNcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3gtZHZpXCI6IHtcbiAgICAgICAgc291cmNlOiBcImFwYWNoZVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IGZhbHNlLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJkdmlcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3gtZW52b3lcIjoge1xuICAgICAgICBzb3VyY2U6IFwiYXBhY2hlXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImV2eVwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24veC1ldmFcIjoge1xuICAgICAgICBzb3VyY2U6IFwiYXBhY2hlXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImV2YVwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24veC1mb250LWJkZlwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJhcGFjaGVcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wiYmRmXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi94LWZvbnQtZG9zXCI6IHtcbiAgICAgICAgc291cmNlOiBcImFwYWNoZVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi94LWZvbnQtZnJhbWVtYWtlclwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJhcGFjaGVcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24veC1mb250LWdob3N0c2NyaXB0XCI6IHtcbiAgICAgICAgc291cmNlOiBcImFwYWNoZVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJnc2ZcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3gtZm9udC1saWJncnhcIjoge1xuICAgICAgICBzb3VyY2U6IFwiYXBhY2hlXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3gtZm9udC1saW51eC1wc2ZcIjoge1xuICAgICAgICBzb3VyY2U6IFwiYXBhY2hlXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcInBzZlwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24veC1mb250LXBjZlwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJhcGFjaGVcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wicGNmXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi94LWZvbnQtc25mXCI6IHtcbiAgICAgICAgc291cmNlOiBcImFwYWNoZVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJzbmZcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3gtZm9udC1zcGVlZG9cIjoge1xuICAgICAgICBzb3VyY2U6IFwiYXBhY2hlXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3gtZm9udC1zdW5vcy1uZXdzXCI6IHtcbiAgICAgICAgc291cmNlOiBcImFwYWNoZVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi94LWZvbnQtdHlwZTFcIjoge1xuICAgICAgICBzb3VyY2U6IFwiYXBhY2hlXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcInBmYVwiLCBcInBmYlwiLCBcInBmbVwiLCBcImFmbVwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24veC1mb250LXZmb250XCI6IHtcbiAgICAgICAgc291cmNlOiBcImFwYWNoZVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi94LWZyZWVhcmNcIjoge1xuICAgICAgICBzb3VyY2U6IFwiYXBhY2hlXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImFyY1wiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24veC1mdXR1cmVzcGxhc2hcIjoge1xuICAgICAgICBzb3VyY2U6IFwiYXBhY2hlXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcInNwbFwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24veC1nY2EtY29tcHJlc3NlZFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJhcGFjaGVcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wiZ2NhXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi94LWdsdWx4XCI6IHtcbiAgICAgICAgc291cmNlOiBcImFwYWNoZVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJ1bHhcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3gtZ251bWVyaWNcIjoge1xuICAgICAgICBzb3VyY2U6IFwiYXBhY2hlXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImdudW1lcmljXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi94LWdyYW1wcy14bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiYXBhY2hlXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImdyYW1wc1wiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24veC1ndGFyXCI6IHtcbiAgICAgICAgc291cmNlOiBcImFwYWNoZVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJndGFyXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi94LWd6aXBcIjoge1xuICAgICAgICBzb3VyY2U6IFwiYXBhY2hlXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3gtaGRmXCI6IHtcbiAgICAgICAgc291cmNlOiBcImFwYWNoZVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJoZGZcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3gtaHR0cGQtcGhwXCI6IHtcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJwaHBcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3gtaW5zdGFsbC1pbnN0cnVjdGlvbnNcIjoge1xuICAgICAgICBzb3VyY2U6IFwiYXBhY2hlXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImluc3RhbGxcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3gtaXB5bmIranNvblwiOiB7XG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZSxcbiAgICAgICAgZXh0ZW5zaW9uczogW1wiaXB5bmJcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3gtaXNvOTY2MC1pbWFnZVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJhcGFjaGVcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wiaXNvXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi94LWl3b3JrLWtleW5vdGUtc2Zma2V5XCI6IHtcbiAgICAgICAgZXh0ZW5zaW9uczogW1wia2V5XCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi94LWl3b3JrLW51bWJlcnMtc2ZmbnVtYmVyc1wiOiB7XG4gICAgICAgIGV4dGVuc2lvbnM6IFtcIm51bWJlcnNcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3gtaXdvcmstcGFnZXMtc2ZmcGFnZXNcIjoge1xuICAgICAgICBleHRlbnNpb25zOiBbXCJwYWdlc1wiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24veC1qYXZhLWFyY2hpdmUtZGlmZlwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJuZ2lueFwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJqYXJkaWZmXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi94LWphdmEtam5scC1maWxlXCI6IHtcbiAgICAgICAgc291cmNlOiBcImFwYWNoZVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IGZhbHNlLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJqbmxwXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi94LWphdmFzY3JpcHRcIjoge1xuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3gta2VlcGFzczJcIjoge1xuICAgICAgICBleHRlbnNpb25zOiBbXCJrZGJ4XCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi94LWxhdGV4XCI6IHtcbiAgICAgICAgc291cmNlOiBcImFwYWNoZVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IGZhbHNlLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJsYXRleFwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24veC1sdWEtYnl0ZWNvZGVcIjoge1xuICAgICAgICBleHRlbnNpb25zOiBbXCJsdWFjXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi94LWx6aC1jb21wcmVzc2VkXCI6IHtcbiAgICAgICAgc291cmNlOiBcImFwYWNoZVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJsemhcIiwgXCJsaGFcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3gtbWFrZXNlbGZcIjoge1xuICAgICAgICBzb3VyY2U6IFwibmdpbnhcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wicnVuXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi94LW1pZVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJhcGFjaGVcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wibWllXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi94LW1vYmlwb2NrZXQtZWJvb2tcIjoge1xuICAgICAgICBzb3VyY2U6IFwiYXBhY2hlXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcInByY1wiLCBcIm1vYmlcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3gtbXBlZ3VybFwiOiB7XG4gICAgICAgIGNvbXByZXNzaWJsZTogZmFsc2VcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3gtbXMtYXBwbGljYXRpb25cIjoge1xuICAgICAgICBzb3VyY2U6IFwiYXBhY2hlXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImFwcGxpY2F0aW9uXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi94LW1zLXNob3J0Y3V0XCI6IHtcbiAgICAgICAgc291cmNlOiBcImFwYWNoZVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJsbmtcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3gtbXMtd21kXCI6IHtcbiAgICAgICAgc291cmNlOiBcImFwYWNoZVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJ3bWRcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3gtbXMtd216XCI6IHtcbiAgICAgICAgc291cmNlOiBcImFwYWNoZVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJ3bXpcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3gtbXMteGJhcFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJhcGFjaGVcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wieGJhcFwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24veC1tc2FjY2Vzc1wiOiB7XG4gICAgICAgIHNvdXJjZTogXCJhcGFjaGVcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wibWRiXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi94LW1zYmluZGVyXCI6IHtcbiAgICAgICAgc291cmNlOiBcImFwYWNoZVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJvYmRcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3gtbXNjYXJkZmlsZVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJhcGFjaGVcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wiY3JkXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi94LW1zY2xpcFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJhcGFjaGVcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wiY2xwXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi94LW1zZG9zLXByb2dyYW1cIjoge1xuICAgICAgICBleHRlbnNpb25zOiBbXCJleGVcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3gtbXNkb3dubG9hZFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJhcGFjaGVcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wiZXhlXCIsIFwiZGxsXCIsIFwiY29tXCIsIFwiYmF0XCIsIFwibXNpXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi94LW1zbWVkaWF2aWV3XCI6IHtcbiAgICAgICAgc291cmNlOiBcImFwYWNoZVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJtdmJcIiwgXCJtMTNcIiwgXCJtMTRcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3gtbXNtZXRhZmlsZVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJhcGFjaGVcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wid21mXCIsIFwid216XCIsIFwiZW1mXCIsIFwiZW16XCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi94LW1zbW9uZXlcIjoge1xuICAgICAgICBzb3VyY2U6IFwiYXBhY2hlXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcIm1ueVwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24veC1tc3B1Ymxpc2hlclwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJhcGFjaGVcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wicHViXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi94LW1zc2NoZWR1bGVcIjoge1xuICAgICAgICBzb3VyY2U6IFwiYXBhY2hlXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcInNjZFwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24veC1tc3Rlcm1pbmFsXCI6IHtcbiAgICAgICAgc291cmNlOiBcImFwYWNoZVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJ0cm1cIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3gtbXN3cml0ZVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJhcGFjaGVcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wid3JpXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi94LW5ldGNkZlwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJhcGFjaGVcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wibmNcIiwgXCJjZGZcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3gtbnMtcHJveHktYXV0b2NvbmZpZ1wiOiB7XG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZSxcbiAgICAgICAgZXh0ZW5zaW9uczogW1wicGFjXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi94LW56YlwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJhcGFjaGVcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wibnpiXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi94LXBlcmxcIjoge1xuICAgICAgICBzb3VyY2U6IFwibmdpbnhcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wicGxcIiwgXCJwbVwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24veC1waWxvdFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJuZ2lueFwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJwcmNcIiwgXCJwZGJcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3gtcGtjczEyXCI6IHtcbiAgICAgICAgc291cmNlOiBcImFwYWNoZVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IGZhbHNlLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJwMTJcIiwgXCJwZnhcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3gtcGtjczctY2VydGlmaWNhdGVzXCI6IHtcbiAgICAgICAgc291cmNlOiBcImFwYWNoZVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJwN2JcIiwgXCJzcGNcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3gtcGtjczctY2VydHJlcXJlc3BcIjoge1xuICAgICAgICBzb3VyY2U6IFwiYXBhY2hlXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcInA3clwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24veC1wa2ktbWVzc2FnZVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3gtcmFyLWNvbXByZXNzZWRcIjoge1xuICAgICAgICBzb3VyY2U6IFwiYXBhY2hlXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogZmFsc2UsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcInJhclwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24veC1yZWRoYXQtcGFja2FnZS1tYW5hZ2VyXCI6IHtcbiAgICAgICAgc291cmNlOiBcIm5naW54XCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcInJwbVwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24veC1yZXNlYXJjaC1pbmZvLXN5c3RlbXNcIjoge1xuICAgICAgICBzb3VyY2U6IFwiYXBhY2hlXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcInJpc1wiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24veC1zZWFcIjoge1xuICAgICAgICBzb3VyY2U6IFwibmdpbnhcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wic2VhXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi94LXNoXCI6IHtcbiAgICAgICAgc291cmNlOiBcImFwYWNoZVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWUsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcInNoXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi94LXNoYXJcIjoge1xuICAgICAgICBzb3VyY2U6IFwiYXBhY2hlXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcInNoYXJcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3gtc2hvY2t3YXZlLWZsYXNoXCI6IHtcbiAgICAgICAgc291cmNlOiBcImFwYWNoZVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IGZhbHNlLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJzd2ZcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3gtc2lsdmVybGlnaHQtYXBwXCI6IHtcbiAgICAgICAgc291cmNlOiBcImFwYWNoZVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJ4YXBcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3gtc3FsXCI6IHtcbiAgICAgICAgc291cmNlOiBcImFwYWNoZVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJzcWxcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3gtc3R1ZmZpdFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJhcGFjaGVcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiBmYWxzZSxcbiAgICAgICAgZXh0ZW5zaW9uczogW1wic2l0XCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi94LXN0dWZmaXR4XCI6IHtcbiAgICAgICAgc291cmNlOiBcImFwYWNoZVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJzaXR4XCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi94LXN1YnJpcFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJhcGFjaGVcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wic3J0XCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi94LXN2NGNwaW9cIjoge1xuICAgICAgICBzb3VyY2U6IFwiYXBhY2hlXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcInN2NGNwaW9cIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3gtc3Y0Y3JjXCI6IHtcbiAgICAgICAgc291cmNlOiBcImFwYWNoZVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJzdjRjcmNcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3gtdDN2bS1pbWFnZVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJhcGFjaGVcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1widDNcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3gtdGFkc1wiOiB7XG4gICAgICAgIHNvdXJjZTogXCJhcGFjaGVcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wiZ2FtXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi94LXRhclwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJhcGFjaGVcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJ0YXJcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3gtdGNsXCI6IHtcbiAgICAgICAgc291cmNlOiBcImFwYWNoZVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJ0Y2xcIiwgXCJ0a1wiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24veC10ZXhcIjoge1xuICAgICAgICBzb3VyY2U6IFwiYXBhY2hlXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcInRleFwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24veC10ZXgtdGZtXCI6IHtcbiAgICAgICAgc291cmNlOiBcImFwYWNoZVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJ0Zm1cIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3gtdGV4aW5mb1wiOiB7XG4gICAgICAgIHNvdXJjZTogXCJhcGFjaGVcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1widGV4aW5mb1wiLCBcInRleGlcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3gtdGdpZlwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJhcGFjaGVcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wib2JqXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi94LXVzdGFyXCI6IHtcbiAgICAgICAgc291cmNlOiBcImFwYWNoZVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJ1c3RhclwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24veC12aXJ0dWFsYm94LWhkZFwiOiB7XG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZSxcbiAgICAgICAgZXh0ZW5zaW9uczogW1wiaGRkXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi94LXZpcnR1YWxib3gtb3ZhXCI6IHtcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJvdmFcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3gtdmlydHVhbGJveC1vdmZcIjoge1xuICAgICAgICBjb21wcmVzc2libGU6IHRydWUsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcIm92ZlwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24veC12aXJ0dWFsYm94LXZib3hcIjoge1xuICAgICAgICBjb21wcmVzc2libGU6IHRydWUsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcInZib3hcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3gtdmlydHVhbGJveC12Ym94LWV4dHBhY2tcIjoge1xuICAgICAgICBjb21wcmVzc2libGU6IGZhbHNlLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJ2Ym94LWV4dHBhY2tcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3gtdmlydHVhbGJveC12ZGlcIjoge1xuICAgICAgICBjb21wcmVzc2libGU6IHRydWUsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcInZkaVwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24veC12aXJ0dWFsYm94LXZoZFwiOiB7XG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZSxcbiAgICAgICAgZXh0ZW5zaW9uczogW1widmhkXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi94LXZpcnR1YWxib3gtdm1ka1wiOiB7XG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZSxcbiAgICAgICAgZXh0ZW5zaW9uczogW1widm1ka1wiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24veC13YWlzLXNvdXJjZVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJhcGFjaGVcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wic3JjXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi94LXdlYi1hcHAtbWFuaWZlc3QranNvblwiOiB7XG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZSxcbiAgICAgICAgZXh0ZW5zaW9uczogW1wid2ViYXBwXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi94LXd3dy1mb3JtLXVybGVuY29kZWRcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3gteDUwOS1jYS1jZXJ0XCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wiZGVyXCIsIFwiY3J0XCIsIFwicGVtXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi94LXg1MDktY2EtcmEtY2VydFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3gteDUwOS1uZXh0LWNhLWNlcnRcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi94LXhmaWdcIjoge1xuICAgICAgICBzb3VyY2U6IFwiYXBhY2hlXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImZpZ1wiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24veC14bGlmZit4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiYXBhY2hlXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZSxcbiAgICAgICAgZXh0ZW5zaW9uczogW1wieGxmXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi94LXhwaW5zdGFsbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJhcGFjaGVcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiBmYWxzZSxcbiAgICAgICAgZXh0ZW5zaW9uczogW1wieHBpXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi94LXh6XCI6IHtcbiAgICAgICAgc291cmNlOiBcImFwYWNoZVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJ4elwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24veC16aXAtY29tcHJlc3NlZFwiOiB7XG4gICAgICAgIGV4dGVuc2lvbnM6IFtcInppcFwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24veC16bWFjaGluZVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJhcGFjaGVcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wiejFcIiwgXCJ6MlwiLCBcInozXCIsIFwiejRcIiwgXCJ6NVwiLCBcIno2XCIsIFwiejdcIiwgXCJ6OFwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24veDQwMC1icFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3hhY21sK3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24veGFtbCt4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiYXBhY2hlXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZSxcbiAgICAgICAgZXh0ZW5zaW9uczogW1wieGFtbFwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24veGNhcC1hdHQreG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJ4YXZcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3hjYXAtY2Fwcyt4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWUsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcInhjYVwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24veGNhcC1kaWZmK3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZSxcbiAgICAgICAgZXh0ZW5zaW9uczogW1wieGRmXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi94Y2FwLWVsK3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZSxcbiAgICAgICAgZXh0ZW5zaW9uczogW1wieGVsXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi94Y2FwLWVycm9yK3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24veGNhcC1ucyt4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWUsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcInhuc1wiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24veGNvbi1jb25mZXJlbmNlLWluZm8reG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi94Y29uLWNvbmZlcmVuY2UtaW5mby1kaWZmK3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24veGVuYyt4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWUsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcInhlbmNcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3hmZGZcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJ4ZmRmXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi94aHRtbCt4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWUsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcInhodG1sXCIsIFwieGh0XCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi94aHRtbC12b2ljZSt4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiYXBhY2hlXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24veGxpZmYreG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJ4bGZcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZSxcbiAgICAgICAgZXh0ZW5zaW9uczogW1wieG1sXCIsIFwieHNsXCIsIFwieHNkXCIsIFwicm5nXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi94bWwtZHRkXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJkdGRcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3htbC1leHRlcm5hbC1wYXJzZWQtZW50aXR5XCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24veG1sLXBhdGNoK3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24veG1wcCt4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3hvcCt4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWUsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcInhvcFwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24veHByb2MreG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImFwYWNoZVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWUsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcInhwbFwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24veHNsdCt4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWUsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcInhzbFwiLCBcInhzbHRcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3hzcGYreG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImFwYWNoZVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWUsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcInhzcGZcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3h2K3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZSxcbiAgICAgICAgZXh0ZW5zaW9uczogW1wibXhtbFwiLCBcInhodm1sXCIsIFwieHZtbFwiLCBcInh2bVwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24veWFtbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3lhbmdcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJ5YW5nXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi95YW5nLWRhdGErY2JvclwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3lhbmctZGF0YStqc29uXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi95YW5nLWRhdGEreG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi95YW5nLXBhdGNoK2pzb25cIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3lhbmctcGF0Y2greG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi95YW5nLXNpZCtqc29uXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi95aW4reG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJ5aW5cIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ppcFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogZmFsc2UsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcInppcFwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vemlwK2RvdGxvdHRpZVwiOiB7XG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImxvdHRpZVwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vemxpYlwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3pzdGRcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhdWRpby8xZC1pbnRlcmxlYXZlZC1wYXJpdHlmZWNcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhdWRpby8zMmthZHBjbVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImF1ZGlvLzNncHBcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IGZhbHNlLFxuICAgICAgICBleHRlbnNpb25zOiBbXCIzZ3BwXCJdXG4gICAgICB9LFxuICAgICAgXCJhdWRpby8zZ3BwMlwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImF1ZGlvL2FhY1wiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImFkdHNcIiwgXCJhYWNcIl1cbiAgICAgIH0sXG4gICAgICBcImF1ZGlvL2FjM1wiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImF1ZGlvL2FkcGNtXCI6IHtcbiAgICAgICAgc291cmNlOiBcImFwYWNoZVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJhZHBcIl1cbiAgICAgIH0sXG4gICAgICBcImF1ZGlvL2FtclwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImFtclwiXVxuICAgICAgfSxcbiAgICAgIFwiYXVkaW8vYW1yLXdiXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXVkaW8vYW1yLXdiK1wiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImF1ZGlvL2FwdHhcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhdWRpby9hc2NcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhdWRpby9hdHJhYy1hZHZhbmNlZC1sb3NzbGVzc1wiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImF1ZGlvL2F0cmFjLXhcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhdWRpby9hdHJhYzNcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhdWRpby9iYXNpY1wiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogZmFsc2UsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImF1XCIsIFwic25kXCJdXG4gICAgICB9LFxuICAgICAgXCJhdWRpby9idjE2XCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXVkaW8vYnYzMlwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImF1ZGlvL2NsZWFybW9kZVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImF1ZGlvL2NuXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXVkaW8vZGF0MTJcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhdWRpby9kbHNcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhdWRpby9kc3ItZXMyMDExMDhcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhdWRpby9kc3ItZXMyMDIwNTBcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhdWRpby9kc3ItZXMyMDIyMTFcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhdWRpby9kc3ItZXMyMDIyMTJcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhdWRpby9kdlwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImF1ZGlvL2R2aTRcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhdWRpby9lYWMzXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXVkaW8vZW5jYXBydHBcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhdWRpby9ldnJjXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXVkaW8vZXZyYy1xY3BcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhdWRpby9ldnJjMFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImF1ZGlvL2V2cmMxXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXVkaW8vZXZyY2JcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhdWRpby9ldnJjYjBcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhdWRpby9ldnJjYjFcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhdWRpby9ldnJjbndcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhdWRpby9ldnJjbncwXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXVkaW8vZXZyY253MVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImF1ZGlvL2V2cmN3YlwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImF1ZGlvL2V2cmN3YjBcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhdWRpby9ldnJjd2IxXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXVkaW8vZXZzXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXVkaW8vZmxhY1wiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImF1ZGlvL2ZsZXhmZWNcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhdWRpby9md2RyZWRcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhdWRpby9nNzExLTBcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhdWRpby9nNzE5XCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXVkaW8vZzcyMlwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImF1ZGlvL2c3MjIxXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXVkaW8vZzcyM1wiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImF1ZGlvL2c3MjYtMTZcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhdWRpby9nNzI2LTI0XCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXVkaW8vZzcyNi0zMlwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImF1ZGlvL2c3MjYtNDBcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhdWRpby9nNzI4XCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXVkaW8vZzcyOVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImF1ZGlvL2c3MjkxXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXVkaW8vZzcyOWRcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhdWRpby9nNzI5ZVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImF1ZGlvL2dzbVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImF1ZGlvL2dzbS1lZnJcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhdWRpby9nc20taHItMDhcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhdWRpby9pbGJjXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXVkaW8vaXAtbXJfdjIuNVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImF1ZGlvL2lzYWNcIjoge1xuICAgICAgICBzb3VyY2U6IFwiYXBhY2hlXCJcbiAgICAgIH0sXG4gICAgICBcImF1ZGlvL2wxNlwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImF1ZGlvL2wyMFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImF1ZGlvL2wyNFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogZmFsc2VcbiAgICAgIH0sXG4gICAgICBcImF1ZGlvL2w4XCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXVkaW8vbHBjXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXVkaW8vbWF0cm9za2FcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhdWRpby9tZWxwXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXVkaW8vbWVscDEyMDBcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhdWRpby9tZWxwMjQwMFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImF1ZGlvL21lbHA2MDBcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhdWRpby9taGFzXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXVkaW8vbWlkaVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJhcGFjaGVcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wibWlkXCIsIFwibWlkaVwiLCBcImthclwiLCBcInJtaVwiXVxuICAgICAgfSxcbiAgICAgIFwiYXVkaW8vbWlkaS1jbGlwXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXVkaW8vbW9iaWxlLXhtZlwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcIm14bWZcIl1cbiAgICAgIH0sXG4gICAgICBcImF1ZGlvL21wM1wiOiB7XG4gICAgICAgIGNvbXByZXNzaWJsZTogZmFsc2UsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcIm1wM1wiXVxuICAgICAgfSxcbiAgICAgIFwiYXVkaW8vbXA0XCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiBmYWxzZSxcbiAgICAgICAgZXh0ZW5zaW9uczogW1wibTRhXCIsIFwibXA0YVwiLCBcIm00YlwiXVxuICAgICAgfSxcbiAgICAgIFwiYXVkaW8vbXA0YS1sYXRtXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXVkaW8vbXBhXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXVkaW8vbXBhLXJvYnVzdFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImF1ZGlvL21wZWdcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IGZhbHNlLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJtcGdhXCIsIFwibXAyXCIsIFwibXAyYVwiLCBcIm1wM1wiLCBcIm0yYVwiLCBcIm0zYVwiXVxuICAgICAgfSxcbiAgICAgIFwiYXVkaW8vbXBlZzQtZ2VuZXJpY1wiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImF1ZGlvL211c2VwYWNrXCI6IHtcbiAgICAgICAgc291cmNlOiBcImFwYWNoZVwiXG4gICAgICB9LFxuICAgICAgXCJhdWRpby9vZ2dcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IGZhbHNlLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJvZ2FcIiwgXCJvZ2dcIiwgXCJzcHhcIiwgXCJvcHVzXCJdXG4gICAgICB9LFxuICAgICAgXCJhdWRpby9vcHVzXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXVkaW8vcGFyaXR5ZmVjXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXVkaW8vcGNtYVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImF1ZGlvL3BjbWEtd2JcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhdWRpby9wY211XCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXVkaW8vcGNtdS13YlwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImF1ZGlvL3Bycy5zaWRcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhdWRpby9xY2VscFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImF1ZGlvL3JhcHRvcmZlY1wiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImF1ZGlvL3JlZFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImF1ZGlvL3J0cC1lbmMtYWVzY20xMjhcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhdWRpby9ydHAtbWlkaVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImF1ZGlvL3J0cGxvb3BiYWNrXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXVkaW8vcnR4XCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXVkaW8vczNtXCI6IHtcbiAgICAgICAgc291cmNlOiBcImFwYWNoZVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJzM21cIl1cbiAgICAgIH0sXG4gICAgICBcImF1ZGlvL3NjaXBcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhdWRpby9zaWxrXCI6IHtcbiAgICAgICAgc291cmNlOiBcImFwYWNoZVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJzaWxcIl1cbiAgICAgIH0sXG4gICAgICBcImF1ZGlvL3NtdlwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImF1ZGlvL3Ntdi1xY3BcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhdWRpby9zbXYwXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXVkaW8vc29mYVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImF1ZGlvL3NwLW1pZGlcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhdWRpby9zcGVleFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImF1ZGlvL3QxNDBjXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXVkaW8vdDM4XCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXVkaW8vdGVsZXBob25lLWV2ZW50XCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXVkaW8vdGV0cmFfYWNlbHBcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhdWRpby90ZXRyYV9hY2VscF9iYlwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImF1ZGlvL3RvbmVcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhdWRpby90c3ZjaXNcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhdWRpby91ZW1jbGlwXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXVkaW8vdWxwZmVjXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXVkaW8vdXNhY1wiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImF1ZGlvL3ZkdmlcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhdWRpby92bXItd2JcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhdWRpby92bmQuM2dwcC5pdWZwXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXVkaW8vdm5kLjRzYlwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImF1ZGlvL3ZuZC5hdWRpb2tvelwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImF1ZGlvL3ZuZC5jZWxwXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXVkaW8vdm5kLmNpc2NvLm5zZVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImF1ZGlvL3ZuZC5jbWxlcy5yYWRpby1ldmVudHNcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhdWRpby92bmQuY25zLmFucDFcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhdWRpby92bmQuY25zLmluZjFcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhdWRpby92bmQuZGVjZS5hdWRpb1wiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcInV2YVwiLCBcInV2dmFcIl1cbiAgICAgIH0sXG4gICAgICBcImF1ZGlvL3ZuZC5kaWdpdGFsLXdpbmRzXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wiZW9sXCJdXG4gICAgICB9LFxuICAgICAgXCJhdWRpby92bmQuZGxuYS5hZHRzXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXVkaW8vdm5kLmRvbGJ5LmhlYWFjLjFcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhdWRpby92bmQuZG9sYnkuaGVhYWMuMlwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImF1ZGlvL3ZuZC5kb2xieS5tbHBcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhdWRpby92bmQuZG9sYnkubXBzXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXVkaW8vdm5kLmRvbGJ5LnBsMlwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImF1ZGlvL3ZuZC5kb2xieS5wbDJ4XCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXVkaW8vdm5kLmRvbGJ5LnBsMnpcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhdWRpby92bmQuZG9sYnkucHVsc2UuMVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImF1ZGlvL3ZuZC5kcmFcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJkcmFcIl1cbiAgICAgIH0sXG4gICAgICBcImF1ZGlvL3ZuZC5kdHNcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJkdHNcIl1cbiAgICAgIH0sXG4gICAgICBcImF1ZGlvL3ZuZC5kdHMuaGRcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJkdHNoZFwiXVxuICAgICAgfSxcbiAgICAgIFwiYXVkaW8vdm5kLmR0cy51aGRcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhdWRpby92bmQuZHZiLmZpbGVcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhdWRpby92bmQuZXZlcmFkLnBsalwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImF1ZGlvL3ZuZC5obnMuYXVkaW9cIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhdWRpby92bmQubHVjZW50LnZvaWNlXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wibHZwXCJdXG4gICAgICB9LFxuICAgICAgXCJhdWRpby92bmQubXMtcGxheXJlYWR5Lm1lZGlhLnB5YVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcInB5YVwiXVxuICAgICAgfSxcbiAgICAgIFwiYXVkaW8vdm5kLm5va2lhLm1vYmlsZS14bWZcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhdWRpby92bmQubm9ydGVsLnZia1wiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImF1ZGlvL3ZuZC5udWVyYS5lY2VscDQ4MDBcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJlY2VscDQ4MDBcIl1cbiAgICAgIH0sXG4gICAgICBcImF1ZGlvL3ZuZC5udWVyYS5lY2VscDc0NzBcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJlY2VscDc0NzBcIl1cbiAgICAgIH0sXG4gICAgICBcImF1ZGlvL3ZuZC5udWVyYS5lY2VscDk2MDBcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJlY2VscDk2MDBcIl1cbiAgICAgIH0sXG4gICAgICBcImF1ZGlvL3ZuZC5vY3RlbC5zYmNcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhdWRpby92bmQucHJlc29udXMubXVsdGl0cmFja1wiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImF1ZGlvL3ZuZC5xY2VscFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJhcGFjaGVcIlxuICAgICAgfSxcbiAgICAgIFwiYXVkaW8vdm5kLnJoZXRvcmV4LjMya2FkcGNtXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXVkaW8vdm5kLnJpcFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcInJpcFwiXVxuICAgICAgfSxcbiAgICAgIFwiYXVkaW8vdm5kLnJuLXJlYWxhdWRpb1wiOiB7XG4gICAgICAgIGNvbXByZXNzaWJsZTogZmFsc2VcbiAgICAgIH0sXG4gICAgICBcImF1ZGlvL3ZuZC5zZWFsZWRtZWRpYS5zb2Z0c2VhbC5tcGVnXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXVkaW8vdm5kLnZteC5jdnNkXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXVkaW8vdm5kLndhdmVcIjoge1xuICAgICAgICBjb21wcmVzc2libGU6IGZhbHNlXG4gICAgICB9LFxuICAgICAgXCJhdWRpby92b3JiaXNcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IGZhbHNlXG4gICAgICB9LFxuICAgICAgXCJhdWRpby92b3JiaXMtY29uZmlnXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXVkaW8vd2F2XCI6IHtcbiAgICAgICAgY29tcHJlc3NpYmxlOiBmYWxzZSxcbiAgICAgICAgZXh0ZW5zaW9uczogW1wid2F2XCJdXG4gICAgICB9LFxuICAgICAgXCJhdWRpby93YXZlXCI6IHtcbiAgICAgICAgY29tcHJlc3NpYmxlOiBmYWxzZSxcbiAgICAgICAgZXh0ZW5zaW9uczogW1wid2F2XCJdXG4gICAgICB9LFxuICAgICAgXCJhdWRpby93ZWJtXCI6IHtcbiAgICAgICAgc291cmNlOiBcImFwYWNoZVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IGZhbHNlLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJ3ZWJhXCJdXG4gICAgICB9LFxuICAgICAgXCJhdWRpby94LWFhY1wiOiB7XG4gICAgICAgIHNvdXJjZTogXCJhcGFjaGVcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiBmYWxzZSxcbiAgICAgICAgZXh0ZW5zaW9uczogW1wiYWFjXCJdXG4gICAgICB9LFxuICAgICAgXCJhdWRpby94LWFpZmZcIjoge1xuICAgICAgICBzb3VyY2U6IFwiYXBhY2hlXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImFpZlwiLCBcImFpZmZcIiwgXCJhaWZjXCJdXG4gICAgICB9LFxuICAgICAgXCJhdWRpby94LWNhZlwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJhcGFjaGVcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiBmYWxzZSxcbiAgICAgICAgZXh0ZW5zaW9uczogW1wiY2FmXCJdXG4gICAgICB9LFxuICAgICAgXCJhdWRpby94LWZsYWNcIjoge1xuICAgICAgICBzb3VyY2U6IFwiYXBhY2hlXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImZsYWNcIl1cbiAgICAgIH0sXG4gICAgICBcImF1ZGlvL3gtbTRhXCI6IHtcbiAgICAgICAgc291cmNlOiBcIm5naW54XCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcIm00YVwiXVxuICAgICAgfSxcbiAgICAgIFwiYXVkaW8veC1tYXRyb3NrYVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJhcGFjaGVcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wibWthXCJdXG4gICAgICB9LFxuICAgICAgXCJhdWRpby94LW1wZWd1cmxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiYXBhY2hlXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcIm0zdVwiXVxuICAgICAgfSxcbiAgICAgIFwiYXVkaW8veC1tcy13YXhcIjoge1xuICAgICAgICBzb3VyY2U6IFwiYXBhY2hlXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcIndheFwiXVxuICAgICAgfSxcbiAgICAgIFwiYXVkaW8veC1tcy13bWFcIjoge1xuICAgICAgICBzb3VyY2U6IFwiYXBhY2hlXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcIndtYVwiXVxuICAgICAgfSxcbiAgICAgIFwiYXVkaW8veC1wbi1yZWFsYXVkaW9cIjoge1xuICAgICAgICBzb3VyY2U6IFwiYXBhY2hlXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcInJhbVwiLCBcInJhXCJdXG4gICAgICB9LFxuICAgICAgXCJhdWRpby94LXBuLXJlYWxhdWRpby1wbHVnaW5cIjoge1xuICAgICAgICBzb3VyY2U6IFwiYXBhY2hlXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcInJtcFwiXVxuICAgICAgfSxcbiAgICAgIFwiYXVkaW8veC1yZWFsYXVkaW9cIjoge1xuICAgICAgICBzb3VyY2U6IFwibmdpbnhcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wicmFcIl1cbiAgICAgIH0sXG4gICAgICBcImF1ZGlvL3gtdHRhXCI6IHtcbiAgICAgICAgc291cmNlOiBcImFwYWNoZVwiXG4gICAgICB9LFxuICAgICAgXCJhdWRpby94LXdhdlwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJhcGFjaGVcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wid2F2XCJdXG4gICAgICB9LFxuICAgICAgXCJhdWRpby94bVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJhcGFjaGVcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wieG1cIl1cbiAgICAgIH0sXG4gICAgICBcImNoZW1pY2FsL3gtY2R4XCI6IHtcbiAgICAgICAgc291cmNlOiBcImFwYWNoZVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJjZHhcIl1cbiAgICAgIH0sXG4gICAgICBcImNoZW1pY2FsL3gtY2lmXCI6IHtcbiAgICAgICAgc291cmNlOiBcImFwYWNoZVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJjaWZcIl1cbiAgICAgIH0sXG4gICAgICBcImNoZW1pY2FsL3gtY21kZlwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJhcGFjaGVcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wiY21kZlwiXVxuICAgICAgfSxcbiAgICAgIFwiY2hlbWljYWwveC1jbWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiYXBhY2hlXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImNtbFwiXVxuICAgICAgfSxcbiAgICAgIFwiY2hlbWljYWwveC1jc21sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImFwYWNoZVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJjc21sXCJdXG4gICAgICB9LFxuICAgICAgXCJjaGVtaWNhbC94LXBkYlwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJhcGFjaGVcIlxuICAgICAgfSxcbiAgICAgIFwiY2hlbWljYWwveC14eXpcIjoge1xuICAgICAgICBzb3VyY2U6IFwiYXBhY2hlXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcInh5elwiXVxuICAgICAgfSxcbiAgICAgIFwiZm9udC9jb2xsZWN0aW9uXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1widHRjXCJdXG4gICAgICB9LFxuICAgICAgXCJmb250L290ZlwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZSxcbiAgICAgICAgZXh0ZW5zaW9uczogW1wib3RmXCJdXG4gICAgICB9LFxuICAgICAgXCJmb250L3NmbnRcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJmb250L3R0ZlwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZSxcbiAgICAgICAgZXh0ZW5zaW9uczogW1widHRmXCJdXG4gICAgICB9LFxuICAgICAgXCJmb250L3dvZmZcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJ3b2ZmXCJdXG4gICAgICB9LFxuICAgICAgXCJmb250L3dvZmYyXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wid29mZjJcIl1cbiAgICAgIH0sXG4gICAgICBcImltYWdlL2FjZXNcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJleHJcIl1cbiAgICAgIH0sXG4gICAgICBcImltYWdlL2FwbmdcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IGZhbHNlLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJhcG5nXCJdXG4gICAgICB9LFxuICAgICAgXCJpbWFnZS9hdmNpXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wiYXZjaVwiXVxuICAgICAgfSxcbiAgICAgIFwiaW1hZ2UvYXZjc1wiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImF2Y3NcIl1cbiAgICAgIH0sXG4gICAgICBcImltYWdlL2F2aWZcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IGZhbHNlLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJhdmlmXCJdXG4gICAgICB9LFxuICAgICAgXCJpbWFnZS9ibXBcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWUsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImJtcFwiLCBcImRpYlwiXVxuICAgICAgfSxcbiAgICAgIFwiaW1hZ2UvY2dtXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wiY2dtXCJdXG4gICAgICB9LFxuICAgICAgXCJpbWFnZS9kaWNvbS1ybGVcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJkcmxlXCJdXG4gICAgICB9LFxuICAgICAgXCJpbWFnZS9kcHhcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJkcHhcIl1cbiAgICAgIH0sXG4gICAgICBcImltYWdlL2VtZlwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImVtZlwiXVxuICAgICAgfSxcbiAgICAgIFwiaW1hZ2UvZml0c1wiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImZpdHNcIl1cbiAgICAgIH0sXG4gICAgICBcImltYWdlL2czZmF4XCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wiZzNcIl1cbiAgICAgIH0sXG4gICAgICBcImltYWdlL2dpZlwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogZmFsc2UsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImdpZlwiXVxuICAgICAgfSxcbiAgICAgIFwiaW1hZ2UvaGVpY1wiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImhlaWNcIl1cbiAgICAgIH0sXG4gICAgICBcImltYWdlL2hlaWMtc2VxdWVuY2VcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJoZWljc1wiXVxuICAgICAgfSxcbiAgICAgIFwiaW1hZ2UvaGVpZlwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImhlaWZcIl1cbiAgICAgIH0sXG4gICAgICBcImltYWdlL2hlaWYtc2VxdWVuY2VcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJoZWlmc1wiXVxuICAgICAgfSxcbiAgICAgIFwiaW1hZ2UvaGVqMmtcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJoZWoyXCJdXG4gICAgICB9LFxuICAgICAgXCJpbWFnZS9pZWZcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJpZWZcIl1cbiAgICAgIH0sXG4gICAgICBcImltYWdlL2oyY1wiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImltYWdlL2phaWlcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJqYWlpXCJdXG4gICAgICB9LFxuICAgICAgXCJpbWFnZS9qYWlzXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wiamFpc1wiXVxuICAgICAgfSxcbiAgICAgIFwiaW1hZ2UvamxzXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wiamxzXCJdXG4gICAgICB9LFxuICAgICAgXCJpbWFnZS9qcDJcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IGZhbHNlLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJqcDJcIiwgXCJqcGcyXCJdXG4gICAgICB9LFxuICAgICAgXCJpbWFnZS9qcGVnXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiBmYWxzZSxcbiAgICAgICAgZXh0ZW5zaW9uczogW1wianBnXCIsIFwianBlZ1wiLCBcImpwZVwiXVxuICAgICAgfSxcbiAgICAgIFwiaW1hZ2UvanBoXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wianBoXCJdXG4gICAgICB9LFxuICAgICAgXCJpbWFnZS9qcGhjXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wiamhjXCJdXG4gICAgICB9LFxuICAgICAgXCJpbWFnZS9qcG1cIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IGZhbHNlLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJqcG1cIiwgXCJqcGdtXCJdXG4gICAgICB9LFxuICAgICAgXCJpbWFnZS9qcHhcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IGZhbHNlLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJqcHhcIiwgXCJqcGZcIl1cbiAgICAgIH0sXG4gICAgICBcImltYWdlL2p4bFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImp4bFwiXVxuICAgICAgfSxcbiAgICAgIFwiaW1hZ2UvanhyXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wianhyXCJdXG4gICAgICB9LFxuICAgICAgXCJpbWFnZS9qeHJhXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wianhyYVwiXVxuICAgICAgfSxcbiAgICAgIFwiaW1hZ2Uvanhyc1wiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImp4cnNcIl1cbiAgICAgIH0sXG4gICAgICBcImltYWdlL2p4c1wiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImp4c1wiXVxuICAgICAgfSxcbiAgICAgIFwiaW1hZ2UvanhzY1wiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImp4c2NcIl1cbiAgICAgIH0sXG4gICAgICBcImltYWdlL2p4c2lcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJqeHNpXCJdXG4gICAgICB9LFxuICAgICAgXCJpbWFnZS9qeHNzXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wianhzc1wiXVxuICAgICAgfSxcbiAgICAgIFwiaW1hZ2Uva3R4XCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wia3R4XCJdXG4gICAgICB9LFxuICAgICAgXCJpbWFnZS9rdHgyXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wia3R4MlwiXVxuICAgICAgfSxcbiAgICAgIFwiaW1hZ2UvbmFwbHBzXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiaW1hZ2UvcGpwZWdcIjoge1xuICAgICAgICBjb21wcmVzc2libGU6IGZhbHNlLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJqZmlmXCJdXG4gICAgICB9LFxuICAgICAgXCJpbWFnZS9wbmdcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IGZhbHNlLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJwbmdcIl1cbiAgICAgIH0sXG4gICAgICBcImltYWdlL3Bycy5idGlmXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wiYnRpZlwiLCBcImJ0ZlwiXVxuICAgICAgfSxcbiAgICAgIFwiaW1hZ2UvcHJzLnB0aVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcInB0aVwiXVxuICAgICAgfSxcbiAgICAgIFwiaW1hZ2UvcHdnLXJhc3RlclwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImltYWdlL3NnaVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJhcGFjaGVcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wic2dpXCJdXG4gICAgICB9LFxuICAgICAgXCJpbWFnZS9zdmcreG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJzdmdcIiwgXCJzdmd6XCJdXG4gICAgICB9LFxuICAgICAgXCJpbWFnZS90MzhcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJ0MzhcIl1cbiAgICAgIH0sXG4gICAgICBcImltYWdlL3RpZmZcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IGZhbHNlLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJ0aWZcIiwgXCJ0aWZmXCJdXG4gICAgICB9LFxuICAgICAgXCJpbWFnZS90aWZmLWZ4XCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1widGZ4XCJdXG4gICAgICB9LFxuICAgICAgXCJpbWFnZS92bmQuYWRvYmUucGhvdG9zaG9wXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJwc2RcIl1cbiAgICAgIH0sXG4gICAgICBcImltYWdlL3ZuZC5haXJ6aXAuYWNjZWxlcmF0b3IuYXp2XCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wiYXp2XCJdXG4gICAgICB9LFxuICAgICAgXCJpbWFnZS92bmQuY2xpcFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImltYWdlL3ZuZC5jbnMuaW5mMlwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImltYWdlL3ZuZC5kZWNlLmdyYXBoaWNcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJ1dmlcIiwgXCJ1dnZpXCIsIFwidXZnXCIsIFwidXZ2Z1wiXVxuICAgICAgfSxcbiAgICAgIFwiaW1hZ2Uvdm5kLmRqdnVcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJkanZ1XCIsIFwiZGp2XCJdXG4gICAgICB9LFxuICAgICAgXCJpbWFnZS92bmQuZHZiLnN1YnRpdGxlXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wic3ViXCJdXG4gICAgICB9LFxuICAgICAgXCJpbWFnZS92bmQuZHdnXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wiZHdnXCJdXG4gICAgICB9LFxuICAgICAgXCJpbWFnZS92bmQuZHhmXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wiZHhmXCJdXG4gICAgICB9LFxuICAgICAgXCJpbWFnZS92bmQuZmFzdGJpZHNoZWV0XCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wiZmJzXCJdXG4gICAgICB9LFxuICAgICAgXCJpbWFnZS92bmQuZnB4XCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wiZnB4XCJdXG4gICAgICB9LFxuICAgICAgXCJpbWFnZS92bmQuZnN0XCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wiZnN0XCJdXG4gICAgICB9LFxuICAgICAgXCJpbWFnZS92bmQuZnVqaXhlcm94LmVkbWljcy1tbXJcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJtbXJcIl1cbiAgICAgIH0sXG4gICAgICBcImltYWdlL3ZuZC5mdWppeGVyb3guZWRtaWNzLXJsY1wiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcInJsY1wiXVxuICAgICAgfSxcbiAgICAgIFwiaW1hZ2Uvdm5kLmdsb2JhbGdyYXBoaWNzLnBnYlwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImltYWdlL3ZuZC5taWNyb3NvZnQuaWNvblwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZSxcbiAgICAgICAgZXh0ZW5zaW9uczogW1wiaWNvXCJdXG4gICAgICB9LFxuICAgICAgXCJpbWFnZS92bmQubWl4XCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiaW1hZ2Uvdm5kLm1vemlsbGEuYXBuZ1wiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImltYWdlL3ZuZC5tcy1kZHNcIjoge1xuICAgICAgICBjb21wcmVzc2libGU6IHRydWUsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImRkc1wiXVxuICAgICAgfSxcbiAgICAgIFwiaW1hZ2Uvdm5kLm1zLW1vZGlcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJtZGlcIl1cbiAgICAgIH0sXG4gICAgICBcImltYWdlL3ZuZC5tcy1waG90b1wiOiB7XG4gICAgICAgIHNvdXJjZTogXCJhcGFjaGVcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wid2RwXCJdXG4gICAgICB9LFxuICAgICAgXCJpbWFnZS92bmQubmV0LWZweFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcIm5weFwiXVxuICAgICAgfSxcbiAgICAgIFwiaW1hZ2Uvdm5kLnBjby5iMTZcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJiMTZcIl1cbiAgICAgIH0sXG4gICAgICBcImltYWdlL3ZuZC5yYWRpYW5jZVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImltYWdlL3ZuZC5zZWFsZWQucG5nXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiaW1hZ2Uvdm5kLnNlYWxlZG1lZGlhLnNvZnRzZWFsLmdpZlwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImltYWdlL3ZuZC5zZWFsZWRtZWRpYS5zb2Z0c2VhbC5qcGdcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJpbWFnZS92bmQuc3ZmXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiaW1hZ2Uvdm5kLnRlbmNlbnQudGFwXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1widGFwXCJdXG4gICAgICB9LFxuICAgICAgXCJpbWFnZS92bmQudmFsdmUuc291cmNlLnRleHR1cmVcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJ2dGZcIl1cbiAgICAgIH0sXG4gICAgICBcImltYWdlL3ZuZC53YXAud2JtcFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcIndibXBcIl1cbiAgICAgIH0sXG4gICAgICBcImltYWdlL3ZuZC54aWZmXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wieGlmXCJdXG4gICAgICB9LFxuICAgICAgXCJpbWFnZS92bmQuemJydXNoLnBjeFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcInBjeFwiXVxuICAgICAgfSxcbiAgICAgIFwiaW1hZ2Uvd2VicFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcIndlYnBcIl1cbiAgICAgIH0sXG4gICAgICBcImltYWdlL3dtZlwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcIndtZlwiXVxuICAgICAgfSxcbiAgICAgIFwiaW1hZ2UveC0zZHNcIjoge1xuICAgICAgICBzb3VyY2U6IFwiYXBhY2hlXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcIjNkc1wiXVxuICAgICAgfSxcbiAgICAgIFwiaW1hZ2UveC1hZG9iZS1kbmdcIjoge1xuICAgICAgICBleHRlbnNpb25zOiBbXCJkbmdcIl1cbiAgICAgIH0sXG4gICAgICBcImltYWdlL3gtY211LXJhc3RlclwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJhcGFjaGVcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wicmFzXCJdXG4gICAgICB9LFxuICAgICAgXCJpbWFnZS94LWNteFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJhcGFjaGVcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wiY214XCJdXG4gICAgICB9LFxuICAgICAgXCJpbWFnZS94LWVtZlwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImltYWdlL3gtZnJlZWhhbmRcIjoge1xuICAgICAgICBzb3VyY2U6IFwiYXBhY2hlXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImZoXCIsIFwiZmhjXCIsIFwiZmg0XCIsIFwiZmg1XCIsIFwiZmg3XCJdXG4gICAgICB9LFxuICAgICAgXCJpbWFnZS94LWljb25cIjoge1xuICAgICAgICBzb3VyY2U6IFwiYXBhY2hlXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZSxcbiAgICAgICAgZXh0ZW5zaW9uczogW1wiaWNvXCJdXG4gICAgICB9LFxuICAgICAgXCJpbWFnZS94LWpuZ1wiOiB7XG4gICAgICAgIHNvdXJjZTogXCJuZ2lueFwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJqbmdcIl1cbiAgICAgIH0sXG4gICAgICBcImltYWdlL3gtbXJzaWQtaW1hZ2VcIjoge1xuICAgICAgICBzb3VyY2U6IFwiYXBhY2hlXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcInNpZFwiXVxuICAgICAgfSxcbiAgICAgIFwiaW1hZ2UveC1tcy1ibXBcIjoge1xuICAgICAgICBzb3VyY2U6IFwibmdpbnhcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJibXBcIl1cbiAgICAgIH0sXG4gICAgICBcImltYWdlL3gtcGN4XCI6IHtcbiAgICAgICAgc291cmNlOiBcImFwYWNoZVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJwY3hcIl1cbiAgICAgIH0sXG4gICAgICBcImltYWdlL3gtcGljdFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJhcGFjaGVcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wicGljXCIsIFwicGN0XCJdXG4gICAgICB9LFxuICAgICAgXCJpbWFnZS94LXBvcnRhYmxlLWFueW1hcFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJhcGFjaGVcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wicG5tXCJdXG4gICAgICB9LFxuICAgICAgXCJpbWFnZS94LXBvcnRhYmxlLWJpdG1hcFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJhcGFjaGVcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wicGJtXCJdXG4gICAgICB9LFxuICAgICAgXCJpbWFnZS94LXBvcnRhYmxlLWdyYXltYXBcIjoge1xuICAgICAgICBzb3VyY2U6IFwiYXBhY2hlXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcInBnbVwiXVxuICAgICAgfSxcbiAgICAgIFwiaW1hZ2UveC1wb3J0YWJsZS1waXhtYXBcIjoge1xuICAgICAgICBzb3VyY2U6IFwiYXBhY2hlXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcInBwbVwiXVxuICAgICAgfSxcbiAgICAgIFwiaW1hZ2UveC1yZ2JcIjoge1xuICAgICAgICBzb3VyY2U6IFwiYXBhY2hlXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcInJnYlwiXVxuICAgICAgfSxcbiAgICAgIFwiaW1hZ2UveC10Z2FcIjoge1xuICAgICAgICBzb3VyY2U6IFwiYXBhY2hlXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcInRnYVwiXVxuICAgICAgfSxcbiAgICAgIFwiaW1hZ2UveC13bWZcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJpbWFnZS94LXhiaXRtYXBcIjoge1xuICAgICAgICBzb3VyY2U6IFwiYXBhY2hlXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcInhibVwiXVxuICAgICAgfSxcbiAgICAgIFwiaW1hZ2UveC14Y2ZcIjoge1xuICAgICAgICBjb21wcmVzc2libGU6IGZhbHNlXG4gICAgICB9LFxuICAgICAgXCJpbWFnZS94LXhwaXhtYXBcIjoge1xuICAgICAgICBzb3VyY2U6IFwiYXBhY2hlXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcInhwbVwiXVxuICAgICAgfSxcbiAgICAgIFwiaW1hZ2UveC14d2luZG93ZHVtcFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJhcGFjaGVcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wieHdkXCJdXG4gICAgICB9LFxuICAgICAgXCJtZXNzYWdlL2JodHRwXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwibWVzc2FnZS9jcGltXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwibWVzc2FnZS9kZWxpdmVyeS1zdGF0dXNcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJtZXNzYWdlL2Rpc3Bvc2l0aW9uLW5vdGlmaWNhdGlvblwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcbiAgICAgICAgICBcImRpc3Bvc2l0aW9uLW5vdGlmaWNhdGlvblwiXG4gICAgICAgIF1cbiAgICAgIH0sXG4gICAgICBcIm1lc3NhZ2UvZXh0ZXJuYWwtYm9keVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcIm1lc3NhZ2UvZmVlZGJhY2stcmVwb3J0XCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwibWVzc2FnZS9nbG9iYWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJ1OG1zZ1wiXVxuICAgICAgfSxcbiAgICAgIFwibWVzc2FnZS9nbG9iYWwtZGVsaXZlcnktc3RhdHVzXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1widThkc25cIl1cbiAgICAgIH0sXG4gICAgICBcIm1lc3NhZ2UvZ2xvYmFsLWRpc3Bvc2l0aW9uLW5vdGlmaWNhdGlvblwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcInU4bWRuXCJdXG4gICAgICB9LFxuICAgICAgXCJtZXNzYWdlL2dsb2JhbC1oZWFkZXJzXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1widThoZHJcIl1cbiAgICAgIH0sXG4gICAgICBcIm1lc3NhZ2UvaHR0cFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogZmFsc2VcbiAgICAgIH0sXG4gICAgICBcIm1lc3NhZ2UvaW1kbit4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcIm1lc3NhZ2UvbWxzXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwibWVzc2FnZS9uZXdzXCI6IHtcbiAgICAgICAgc291cmNlOiBcImFwYWNoZVwiXG4gICAgICB9LFxuICAgICAgXCJtZXNzYWdlL29odHRwLXJlcVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcIm1lc3NhZ2Uvb2h0dHAtcmVzXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwibWVzc2FnZS9wYXJ0aWFsXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiBmYWxzZVxuICAgICAgfSxcbiAgICAgIFwibWVzc2FnZS9yZmM4MjJcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWUsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImVtbFwiLCBcIm1pbWVcIiwgXCJtaHRcIiwgXCJtaHRtbFwiXVxuICAgICAgfSxcbiAgICAgIFwibWVzc2FnZS9zLWh0dHBcIjoge1xuICAgICAgICBzb3VyY2U6IFwiYXBhY2hlXCJcbiAgICAgIH0sXG4gICAgICBcIm1lc3NhZ2Uvc2lwXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwibWVzc2FnZS9zaXBmcmFnXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwibWVzc2FnZS90cmFja2luZy1zdGF0dXNcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJtZXNzYWdlL3ZuZC5zaS5zaW1wXCI6IHtcbiAgICAgICAgc291cmNlOiBcImFwYWNoZVwiXG4gICAgICB9LFxuICAgICAgXCJtZXNzYWdlL3ZuZC53ZmEud3NjXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wid3NjXCJdXG4gICAgICB9LFxuICAgICAgXCJtb2RlbC8zbWZcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCIzbWZcIl1cbiAgICAgIH0sXG4gICAgICBcIm1vZGVsL2U1N1wiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcIm1vZGVsL2dsdGYranNvblwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZSxcbiAgICAgICAgZXh0ZW5zaW9uczogW1wiZ2x0ZlwiXVxuICAgICAgfSxcbiAgICAgIFwibW9kZWwvZ2x0Zi1iaW5hcnlcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWUsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImdsYlwiXVxuICAgICAgfSxcbiAgICAgIFwibW9kZWwvaWdlc1wiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogZmFsc2UsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImlnc1wiLCBcImlnZXNcIl1cbiAgICAgIH0sXG4gICAgICBcIm1vZGVsL2p0XCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wianRcIl1cbiAgICAgIH0sXG4gICAgICBcIm1vZGVsL21lc2hcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IGZhbHNlLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJtc2hcIiwgXCJtZXNoXCIsIFwic2lsb1wiXVxuICAgICAgfSxcbiAgICAgIFwibW9kZWwvbXRsXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wibXRsXCJdXG4gICAgICB9LFxuICAgICAgXCJtb2RlbC9vYmpcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJvYmpcIl1cbiAgICAgIH0sXG4gICAgICBcIm1vZGVsL3ByY1wiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcInByY1wiXVxuICAgICAgfSxcbiAgICAgIFwibW9kZWwvc3RlcFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcInN0ZXBcIiwgXCJzdHBcIiwgXCJzdHBuY1wiLCBcInAyMVwiLCBcIjIxMFwiXVxuICAgICAgfSxcbiAgICAgIFwibW9kZWwvc3RlcCt4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWUsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcInN0cHhcIl1cbiAgICAgIH0sXG4gICAgICBcIm1vZGVsL3N0ZXAremlwXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiBmYWxzZSxcbiAgICAgICAgZXh0ZW5zaW9uczogW1wic3RwelwiXVxuICAgICAgfSxcbiAgICAgIFwibW9kZWwvc3RlcC14bWwremlwXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiBmYWxzZSxcbiAgICAgICAgZXh0ZW5zaW9uczogW1wic3RweHpcIl1cbiAgICAgIH0sXG4gICAgICBcIm1vZGVsL3N0bFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcInN0bFwiXVxuICAgICAgfSxcbiAgICAgIFwibW9kZWwvdTNkXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1widTNkXCJdXG4gICAgICB9LFxuICAgICAgXCJtb2RlbC92bmQuYmFyeVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImJhcnlcIl1cbiAgICAgIH0sXG4gICAgICBcIm1vZGVsL3ZuZC5jbGRcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJjbGRcIl1cbiAgICAgIH0sXG4gICAgICBcIm1vZGVsL3ZuZC5jb2xsYWRhK3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZSxcbiAgICAgICAgZXh0ZW5zaW9uczogW1wiZGFlXCJdXG4gICAgICB9LFxuICAgICAgXCJtb2RlbC92bmQuZHdmXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wiZHdmXCJdXG4gICAgICB9LFxuICAgICAgXCJtb2RlbC92bmQuZmxhdGxhbmQuM2RtbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcIm1vZGVsL3ZuZC5nZGxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJnZGxcIl1cbiAgICAgIH0sXG4gICAgICBcIm1vZGVsL3ZuZC5ncy1nZGxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiYXBhY2hlXCJcbiAgICAgIH0sXG4gICAgICBcIm1vZGVsL3ZuZC5ncy5nZGxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJtb2RlbC92bmQuZ3R3XCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wiZ3R3XCJdXG4gICAgICB9LFxuICAgICAgXCJtb2RlbC92bmQubW9tbCt4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcIm1vZGVsL3ZuZC5tdHNcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJtdHNcIl1cbiAgICAgIH0sXG4gICAgICBcIm1vZGVsL3ZuZC5vcGVuZ2V4XCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wib2dleFwiXVxuICAgICAgfSxcbiAgICAgIFwibW9kZWwvdm5kLnBhcmFzb2xpZC50cmFuc21pdC5iaW5hcnlcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJ4X2JcIl1cbiAgICAgIH0sXG4gICAgICBcIm1vZGVsL3ZuZC5wYXJhc29saWQudHJhbnNtaXQudGV4dFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcInhfdFwiXVxuICAgICAgfSxcbiAgICAgIFwibW9kZWwvdm5kLnB5dGhhLnB5b3hcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJweW9cIiwgXCJweW94XCJdXG4gICAgICB9LFxuICAgICAgXCJtb2RlbC92bmQucm9zZXR0ZS5hbm5vdGF0ZWQtZGF0YS1tb2RlbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcIm1vZGVsL3ZuZC5zYXAudmRzXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1widmRzXCJdXG4gICAgICB9LFxuICAgICAgXCJtb2RlbC92bmQudXNkYVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcInVzZGFcIl1cbiAgICAgIH0sXG4gICAgICBcIm1vZGVsL3ZuZC51c2R6K3ppcFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogZmFsc2UsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcInVzZHpcIl1cbiAgICAgIH0sXG4gICAgICBcIm1vZGVsL3ZuZC52YWx2ZS5zb3VyY2UuY29tcGlsZWQtbWFwXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wiYnNwXCJdXG4gICAgICB9LFxuICAgICAgXCJtb2RlbC92bmQudnR1XCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1widnR1XCJdXG4gICAgICB9LFxuICAgICAgXCJtb2RlbC92cm1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiBmYWxzZSxcbiAgICAgICAgZXh0ZW5zaW9uczogW1wid3JsXCIsIFwidnJtbFwiXVxuICAgICAgfSxcbiAgICAgIFwibW9kZWwveDNkK2JpbmFyeVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJhcGFjaGVcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiBmYWxzZSxcbiAgICAgICAgZXh0ZW5zaW9uczogW1wieDNkYlwiLCBcIngzZGJ6XCJdXG4gICAgICB9LFxuICAgICAgXCJtb2RlbC94M2QrZmFzdGluZm9zZXRcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJ4M2RiXCJdXG4gICAgICB9LFxuICAgICAgXCJtb2RlbC94M2QrdnJtbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJhcGFjaGVcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiBmYWxzZSxcbiAgICAgICAgZXh0ZW5zaW9uczogW1wieDNkdlwiLCBcIngzZHZ6XCJdXG4gICAgICB9LFxuICAgICAgXCJtb2RlbC94M2QreG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJ4M2RcIiwgXCJ4M2R6XCJdXG4gICAgICB9LFxuICAgICAgXCJtb2RlbC94M2QtdnJtbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcIngzZHZcIl1cbiAgICAgIH0sXG4gICAgICBcIm11bHRpcGFydC9hbHRlcm5hdGl2ZVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogZmFsc2VcbiAgICAgIH0sXG4gICAgICBcIm11bHRpcGFydC9hcHBsZWRvdWJsZVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcIm11bHRpcGFydC9ieXRlcmFuZ2VzXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwibXVsdGlwYXJ0L2RpZ2VzdFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcIm11bHRpcGFydC9lbmNyeXB0ZWRcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IGZhbHNlXG4gICAgICB9LFxuICAgICAgXCJtdWx0aXBhcnQvZm9ybS1kYXRhXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiBmYWxzZVxuICAgICAgfSxcbiAgICAgIFwibXVsdGlwYXJ0L2hlYWRlci1zZXRcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJtdWx0aXBhcnQvbWl4ZWRcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJtdWx0aXBhcnQvbXVsdGlsaW5ndWFsXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwibXVsdGlwYXJ0L3BhcmFsbGVsXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwibXVsdGlwYXJ0L3JlbGF0ZWRcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IGZhbHNlXG4gICAgICB9LFxuICAgICAgXCJtdWx0aXBhcnQvcmVwb3J0XCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwibXVsdGlwYXJ0L3NpZ25lZFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogZmFsc2VcbiAgICAgIH0sXG4gICAgICBcIm11bHRpcGFydC92bmQuYmludC5tZWQtcGx1c1wiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcIm11bHRpcGFydC92b2ljZS1tZXNzYWdlXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwibXVsdGlwYXJ0L3gtbWl4ZWQtcmVwbGFjZVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcInRleHQvMWQtaW50ZXJsZWF2ZWQtcGFyaXR5ZmVjXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwidGV4dC9jYWNoZS1tYW5pZmVzdFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZSxcbiAgICAgICAgZXh0ZW5zaW9uczogW1wiYXBwY2FjaGVcIiwgXCJtYW5pZmVzdFwiXVxuICAgICAgfSxcbiAgICAgIFwidGV4dC9jYWxlbmRhclwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImljc1wiLCBcImlmYlwiXVxuICAgICAgfSxcbiAgICAgIFwidGV4dC9jYWxlbmRlclwiOiB7XG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwidGV4dC9jbWRcIjoge1xuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcInRleHQvY29mZmVlc2NyaXB0XCI6IHtcbiAgICAgICAgZXh0ZW5zaW9uczogW1wiY29mZmVlXCIsIFwibGl0Y29mZmVlXCJdXG4gICAgICB9LFxuICAgICAgXCJ0ZXh0L2NxbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcInRleHQvY3FsLWV4cHJlc3Npb25cIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJ0ZXh0L2NxbC1pZGVudGlmaWVyXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwidGV4dC9jc3NcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjaGFyc2V0OiBcIlVURi04XCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZSxcbiAgICAgICAgZXh0ZW5zaW9uczogW1wiY3NzXCJdXG4gICAgICB9LFxuICAgICAgXCJ0ZXh0L2NzdlwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZSxcbiAgICAgICAgZXh0ZW5zaW9uczogW1wiY3N2XCJdXG4gICAgICB9LFxuICAgICAgXCJ0ZXh0L2Nzdi1zY2hlbWFcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJ0ZXh0L2RpcmVjdG9yeVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcInRleHQvZG5zXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwidGV4dC9lY21hc2NyaXB0XCI6IHtcbiAgICAgICAgc291cmNlOiBcImFwYWNoZVwiXG4gICAgICB9LFxuICAgICAgXCJ0ZXh0L2VuY2FwcnRwXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwidGV4dC9lbnJpY2hlZFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcInRleHQvZmhpcnBhdGhcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJ0ZXh0L2ZsZXhmZWNcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJ0ZXh0L2Z3ZHJlZFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcInRleHQvZ2ZmM1wiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcInRleHQvZ3JhbW1hci1yZWYtbGlzdFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcInRleHQvaGw3djJcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJ0ZXh0L2h0bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWUsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImh0bWxcIiwgXCJodG1cIiwgXCJzaHRtbFwiXVxuICAgICAgfSxcbiAgICAgIFwidGV4dC9qYWRlXCI6IHtcbiAgICAgICAgZXh0ZW5zaW9uczogW1wiamFkZVwiXVxuICAgICAgfSxcbiAgICAgIFwidGV4dC9qYXZhc2NyaXB0XCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY2hhcnNldDogXCJVVEYtOFwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWUsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImpzXCIsIFwibWpzXCJdXG4gICAgICB9LFxuICAgICAgXCJ0ZXh0L2pjci1jbmRcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJ0ZXh0L2pzeFwiOiB7XG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZSxcbiAgICAgICAgZXh0ZW5zaW9uczogW1wianN4XCJdXG4gICAgICB9LFxuICAgICAgXCJ0ZXh0L2xlc3NcIjoge1xuICAgICAgICBjb21wcmVzc2libGU6IHRydWUsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImxlc3NcIl1cbiAgICAgIH0sXG4gICAgICBcInRleHQvbWFya2Rvd25cIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWUsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcIm1kXCIsIFwibWFya2Rvd25cIl1cbiAgICAgIH0sXG4gICAgICBcInRleHQvbWF0aG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcIm5naW54XCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcIm1tbFwiXVxuICAgICAgfSxcbiAgICAgIFwidGV4dC9tZHhcIjoge1xuICAgICAgICBjb21wcmVzc2libGU6IHRydWUsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcIm1keFwiXVxuICAgICAgfSxcbiAgICAgIFwidGV4dC9taXphclwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcInRleHQvbjNcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjaGFyc2V0OiBcIlVURi04XCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZSxcbiAgICAgICAgZXh0ZW5zaW9uczogW1wibjNcIl1cbiAgICAgIH0sXG4gICAgICBcInRleHQvcGFyYW1ldGVyc1wiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNoYXJzZXQ6IFwiVVRGLThcIlxuICAgICAgfSxcbiAgICAgIFwidGV4dC9wYXJpdHlmZWNcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJ0ZXh0L3BsYWluXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJ0eHRcIiwgXCJ0ZXh0XCIsIFwiY29uZlwiLCBcImRlZlwiLCBcImxpc3RcIiwgXCJsb2dcIiwgXCJpblwiLCBcImluaVwiXVxuICAgICAgfSxcbiAgICAgIFwidGV4dC9wcm92ZW5hbmNlLW5vdGF0aW9uXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY2hhcnNldDogXCJVVEYtOFwiXG4gICAgICB9LFxuICAgICAgXCJ0ZXh0L3Bycy5mYWxsZW5zdGVpbi5yc3RcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJ0ZXh0L3Bycy5saW5lcy50YWdcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJkc2NcIl1cbiAgICAgIH0sXG4gICAgICBcInRleHQvcHJzLnByb3AubG9naWNcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJ0ZXh0L3Bycy50ZXhpXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwidGV4dC9yYXB0b3JmZWNcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJ0ZXh0L3JlZFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcInRleHQvcmZjODIyLWhlYWRlcnNcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJ0ZXh0L3JpY2h0ZXh0XCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJydHhcIl1cbiAgICAgIH0sXG4gICAgICBcInRleHQvcnRmXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJydGZcIl1cbiAgICAgIH0sXG4gICAgICBcInRleHQvcnRwLWVuYy1hZXNjbTEyOFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcInRleHQvcnRwbG9vcGJhY2tcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJ0ZXh0L3J0eFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcInRleHQvc2dtbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcInNnbWxcIiwgXCJzZ21cIl1cbiAgICAgIH0sXG4gICAgICBcInRleHQvc2hhY2xjXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwidGV4dC9zaGV4XCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wic2hleFwiXVxuICAgICAgfSxcbiAgICAgIFwidGV4dC9zbGltXCI6IHtcbiAgICAgICAgZXh0ZW5zaW9uczogW1wic2xpbVwiLCBcInNsbVwiXVxuICAgICAgfSxcbiAgICAgIFwidGV4dC9zcGR4XCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wic3BkeFwiXVxuICAgICAgfSxcbiAgICAgIFwidGV4dC9zdHJpbmdzXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwidGV4dC9zdHlsdXNcIjoge1xuICAgICAgICBleHRlbnNpb25zOiBbXCJzdHlsdXNcIiwgXCJzdHlsXCJdXG4gICAgICB9LFxuICAgICAgXCJ0ZXh0L3QxNDBcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJ0ZXh0L3RhYi1zZXBhcmF0ZWQtdmFsdWVzXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJ0c3ZcIl1cbiAgICAgIH0sXG4gICAgICBcInRleHQvdHJvZmZcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJ0XCIsIFwidHJcIiwgXCJyb2ZmXCIsIFwibWFuXCIsIFwibWVcIiwgXCJtc1wiXVxuICAgICAgfSxcbiAgICAgIFwidGV4dC90dXJ0bGVcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjaGFyc2V0OiBcIlVURi04XCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcInR0bFwiXVxuICAgICAgfSxcbiAgICAgIFwidGV4dC91bHBmZWNcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJ0ZXh0L3VyaS1saXN0XCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJ1cmlcIiwgXCJ1cmlzXCIsIFwidXJsc1wiXVxuICAgICAgfSxcbiAgICAgIFwidGV4dC92Y2FyZFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZSxcbiAgICAgICAgZXh0ZW5zaW9uczogW1widmNhcmRcIl1cbiAgICAgIH0sXG4gICAgICBcInRleHQvdm5kLmFcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJ0ZXh0L3ZuZC5hYmNcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJ0ZXh0L3ZuZC5hc2NpaS1hcnRcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJ0ZXh0L3ZuZC5jdXJsXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wiY3VybFwiXVxuICAgICAgfSxcbiAgICAgIFwidGV4dC92bmQuY3VybC5kY3VybFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJhcGFjaGVcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wiZGN1cmxcIl1cbiAgICAgIH0sXG4gICAgICBcInRleHQvdm5kLmN1cmwubWN1cmxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiYXBhY2hlXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcIm1jdXJsXCJdXG4gICAgICB9LFxuICAgICAgXCJ0ZXh0L3ZuZC5jdXJsLnNjdXJsXCI6IHtcbiAgICAgICAgc291cmNlOiBcImFwYWNoZVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJzY3VybFwiXVxuICAgICAgfSxcbiAgICAgIFwidGV4dC92bmQuZGViaWFuLmNvcHlyaWdodFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNoYXJzZXQ6IFwiVVRGLThcIlxuICAgICAgfSxcbiAgICAgIFwidGV4dC92bmQuZG1jbGllbnRzY3JpcHRcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJ0ZXh0L3ZuZC5kdmIuc3VidGl0bGVcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJzdWJcIl1cbiAgICAgIH0sXG4gICAgICBcInRleHQvdm5kLmVzbWVydGVjLnRoZW1lLWRlc2NyaXB0b3JcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjaGFyc2V0OiBcIlVURi04XCJcbiAgICAgIH0sXG4gICAgICBcInRleHQvdm5kLmV4Y2hhbmdlYWJsZVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcInRleHQvdm5kLmZhbWlseXNlYXJjaC5nZWRjb21cIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJnZWRcIl1cbiAgICAgIH0sXG4gICAgICBcInRleHQvdm5kLmZpY2xhYi5mbHRcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJ0ZXh0L3ZuZC5mbHlcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJmbHlcIl1cbiAgICAgIH0sXG4gICAgICBcInRleHQvdm5kLmZtaS5mbGV4c3RvclwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImZseFwiXVxuICAgICAgfSxcbiAgICAgIFwidGV4dC92bmQuZ21sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwidGV4dC92bmQuZ3JhcGh2aXpcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJndlwiXVxuICAgICAgfSxcbiAgICAgIFwidGV4dC92bmQuaGFuc1wiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcInRleHQvdm5kLmhnbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcInRleHQvdm5kLmluM2QuM2RtbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcIjNkbWxcIl1cbiAgICAgIH0sXG4gICAgICBcInRleHQvdm5kLmluM2Quc3BvdFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcInNwb3RcIl1cbiAgICAgIH0sXG4gICAgICBcInRleHQvdm5kLmlwdGMubmV3c21sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwidGV4dC92bmQuaXB0Yy5uaXRmXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwidGV4dC92bmQubGF0ZXgtelwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcInRleHQvdm5kLm1vdG9yb2xhLnJlZmxleFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcInRleHQvdm5kLm1zLW1lZGlhcGFja2FnZVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcInRleHQvdm5kLm5ldDJwaG9uZS5jb21tY2VudGVyLmNvbW1hbmRcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJ0ZXh0L3ZuZC5yYWRpc3lzLm1zbWwtYmFzaWMtbGF5b3V0XCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwidGV4dC92bmQuc2VueC53YXJwc2NyaXB0XCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwidGV4dC92bmQuc2kudXJpY2F0YWxvZ3VlXCI6IHtcbiAgICAgICAgc291cmNlOiBcImFwYWNoZVwiXG4gICAgICB9LFxuICAgICAgXCJ0ZXh0L3ZuZC5zb3NpXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwidGV4dC92bmQuc3VuLmoybWUuYXBwLWRlc2NyaXB0b3JcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjaGFyc2V0OiBcIlVURi04XCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImphZFwiXVxuICAgICAgfSxcbiAgICAgIFwidGV4dC92bmQudHJvbGx0ZWNoLmxpbmd1aXN0XCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY2hhcnNldDogXCJVVEYtOFwiXG4gICAgICB9LFxuICAgICAgXCJ0ZXh0L3ZuZC52Y2ZcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJ0ZXh0L3ZuZC53YXAuc2lcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJ0ZXh0L3ZuZC53YXAuc2xcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJ0ZXh0L3ZuZC53YXAud21sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wid21sXCJdXG4gICAgICB9LFxuICAgICAgXCJ0ZXh0L3ZuZC53YXAud21sc2NyaXB0XCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wid21sc1wiXVxuICAgICAgfSxcbiAgICAgIFwidGV4dC92bmQuem9vLmtjbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcInRleHQvdnR0XCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY2hhcnNldDogXCJVVEYtOFwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWUsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcInZ0dFwiXVxuICAgICAgfSxcbiAgICAgIFwidGV4dC93Z3NsXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wid2dzbFwiXVxuICAgICAgfSxcbiAgICAgIFwidGV4dC94LWFzbVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJhcGFjaGVcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wic1wiLCBcImFzbVwiXVxuICAgICAgfSxcbiAgICAgIFwidGV4dC94LWNcIjoge1xuICAgICAgICBzb3VyY2U6IFwiYXBhY2hlXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImNcIiwgXCJjY1wiLCBcImN4eFwiLCBcImNwcFwiLCBcImhcIiwgXCJoaFwiLCBcImRpY1wiXVxuICAgICAgfSxcbiAgICAgIFwidGV4dC94LWNvbXBvbmVudFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJuZ2lueFwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJodGNcIl1cbiAgICAgIH0sXG4gICAgICBcInRleHQveC1mb3J0cmFuXCI6IHtcbiAgICAgICAgc291cmNlOiBcImFwYWNoZVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJmXCIsIFwiZm9yXCIsIFwiZjc3XCIsIFwiZjkwXCJdXG4gICAgICB9LFxuICAgICAgXCJ0ZXh0L3gtZ3d0LXJwY1wiOiB7XG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwidGV4dC94LWhhbmRsZWJhcnMtdGVtcGxhdGVcIjoge1xuICAgICAgICBleHRlbnNpb25zOiBbXCJoYnNcIl1cbiAgICAgIH0sXG4gICAgICBcInRleHQveC1qYXZhLXNvdXJjZVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJhcGFjaGVcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wiamF2YVwiXVxuICAgICAgfSxcbiAgICAgIFwidGV4dC94LWpxdWVyeS10bXBsXCI6IHtcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJ0ZXh0L3gtbHVhXCI6IHtcbiAgICAgICAgZXh0ZW5zaW9uczogW1wibHVhXCJdXG4gICAgICB9LFxuICAgICAgXCJ0ZXh0L3gtbWFya2Rvd25cIjoge1xuICAgICAgICBjb21wcmVzc2libGU6IHRydWUsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcIm1rZFwiXVxuICAgICAgfSxcbiAgICAgIFwidGV4dC94LW5mb1wiOiB7XG4gICAgICAgIHNvdXJjZTogXCJhcGFjaGVcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wibmZvXCJdXG4gICAgICB9LFxuICAgICAgXCJ0ZXh0L3gtb3BtbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJhcGFjaGVcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wib3BtbFwiXVxuICAgICAgfSxcbiAgICAgIFwidGV4dC94LW9yZ1wiOiB7XG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZSxcbiAgICAgICAgZXh0ZW5zaW9uczogW1wib3JnXCJdXG4gICAgICB9LFxuICAgICAgXCJ0ZXh0L3gtcGFzY2FsXCI6IHtcbiAgICAgICAgc291cmNlOiBcImFwYWNoZVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJwXCIsIFwicGFzXCJdXG4gICAgICB9LFxuICAgICAgXCJ0ZXh0L3gtcHJvY2Vzc2luZ1wiOiB7XG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZSxcbiAgICAgICAgZXh0ZW5zaW9uczogW1wicGRlXCJdXG4gICAgICB9LFxuICAgICAgXCJ0ZXh0L3gtc2Fzc1wiOiB7XG4gICAgICAgIGV4dGVuc2lvbnM6IFtcInNhc3NcIl1cbiAgICAgIH0sXG4gICAgICBcInRleHQveC1zY3NzXCI6IHtcbiAgICAgICAgZXh0ZW5zaW9uczogW1wic2Nzc1wiXVxuICAgICAgfSxcbiAgICAgIFwidGV4dC94LXNldGV4dFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJhcGFjaGVcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wiZXR4XCJdXG4gICAgICB9LFxuICAgICAgXCJ0ZXh0L3gtc2Z2XCI6IHtcbiAgICAgICAgc291cmNlOiBcImFwYWNoZVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJzZnZcIl1cbiAgICAgIH0sXG4gICAgICBcInRleHQveC1zdXNlLXltcFwiOiB7XG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZSxcbiAgICAgICAgZXh0ZW5zaW9uczogW1wieW1wXCJdXG4gICAgICB9LFxuICAgICAgXCJ0ZXh0L3gtdXVlbmNvZGVcIjoge1xuICAgICAgICBzb3VyY2U6IFwiYXBhY2hlXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcInV1XCJdXG4gICAgICB9LFxuICAgICAgXCJ0ZXh0L3gtdmNhbGVuZGFyXCI6IHtcbiAgICAgICAgc291cmNlOiBcImFwYWNoZVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJ2Y3NcIl1cbiAgICAgIH0sXG4gICAgICBcInRleHQveC12Y2FyZFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJhcGFjaGVcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1widmNmXCJdXG4gICAgICB9LFxuICAgICAgXCJ0ZXh0L3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZSxcbiAgICAgICAgZXh0ZW5zaW9uczogW1wieG1sXCJdXG4gICAgICB9LFxuICAgICAgXCJ0ZXh0L3htbC1leHRlcm5hbC1wYXJzZWQtZW50aXR5XCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwidGV4dC95YW1sXCI6IHtcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJ5YW1sXCIsIFwieW1sXCJdXG4gICAgICB9LFxuICAgICAgXCJ2aWRlby8xZC1pbnRlcmxlYXZlZC1wYXJpdHlmZWNcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJ2aWRlby8zZ3BwXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wiM2dwXCIsIFwiM2dwcFwiXVxuICAgICAgfSxcbiAgICAgIFwidmlkZW8vM2dwcC10dFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcInZpZGVvLzNncHAyXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wiM2cyXCJdXG4gICAgICB9LFxuICAgICAgXCJ2aWRlby9hdjFcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJ2aWRlby9ibXBlZ1wiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcInZpZGVvL2J0NjU2XCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwidmlkZW8vY2VsYlwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcInZpZGVvL2R2XCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwidmlkZW8vZW5jYXBydHBcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJ2aWRlby9ldmNcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJ2aWRlby9mZnYxXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwidmlkZW8vZmxleGZlY1wiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcInZpZGVvL2gyNjFcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJoMjYxXCJdXG4gICAgICB9LFxuICAgICAgXCJ2aWRlby9oMjYzXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wiaDI2M1wiXVxuICAgICAgfSxcbiAgICAgIFwidmlkZW8vaDI2My0xOTk4XCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwidmlkZW8vaDI2My0yMDAwXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwidmlkZW8vaDI2NFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImgyNjRcIl1cbiAgICAgIH0sXG4gICAgICBcInZpZGVvL2gyNjQtcmNkb1wiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcInZpZGVvL2gyNjQtc3ZjXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwidmlkZW8vaDI2NVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcInZpZGVvL2gyNjZcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJ2aWRlby9pc28uc2VnbWVudFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcIm00c1wiXVxuICAgICAgfSxcbiAgICAgIFwidmlkZW8vanBlZ1wiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImpwZ3ZcIl1cbiAgICAgIH0sXG4gICAgICBcInZpZGVvL2pwZWcyMDAwXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwidmlkZW8vanBtXCI6IHtcbiAgICAgICAgc291cmNlOiBcImFwYWNoZVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJqcG1cIiwgXCJqcGdtXCJdXG4gICAgICB9LFxuICAgICAgXCJ2aWRlby9qeHN2XCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwidmlkZW8vbG90dGllK2pzb25cIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcInZpZGVvL21hdHJvc2thXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwidmlkZW8vbWF0cm9za2EtM2RcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJ2aWRlby9tajJcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJtajJcIiwgXCJtanAyXCJdXG4gICAgICB9LFxuICAgICAgXCJ2aWRlby9tcDFzXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwidmlkZW8vbXAycFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcInZpZGVvL21wMnRcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJ0c1wiLCBcIm0ydFwiLCBcIm0ydHNcIiwgXCJtdHNcIl1cbiAgICAgIH0sXG4gICAgICBcInZpZGVvL21wNFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogZmFsc2UsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcIm1wNFwiLCBcIm1wNHZcIiwgXCJtcGc0XCJdXG4gICAgICB9LFxuICAgICAgXCJ2aWRlby9tcDR2LWVzXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwidmlkZW8vbXBlZ1wiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogZmFsc2UsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcIm1wZWdcIiwgXCJtcGdcIiwgXCJtcGVcIiwgXCJtMXZcIiwgXCJtMnZcIl1cbiAgICAgIH0sXG4gICAgICBcInZpZGVvL21wZWc0LWdlbmVyaWNcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJ2aWRlby9tcHZcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJ2aWRlby9udlwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcInZpZGVvL29nZ1wiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogZmFsc2UsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcIm9ndlwiXVxuICAgICAgfSxcbiAgICAgIFwidmlkZW8vcGFyaXR5ZmVjXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwidmlkZW8vcG9pbnRlclwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcInZpZGVvL3F1aWNrdGltZVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogZmFsc2UsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcInF0XCIsIFwibW92XCJdXG4gICAgICB9LFxuICAgICAgXCJ2aWRlby9yYXB0b3JmZWNcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJ2aWRlby9yYXdcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJ2aWRlby9ydHAtZW5jLWFlc2NtMTI4XCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwidmlkZW8vcnRwbG9vcGJhY2tcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJ2aWRlby9ydHhcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJ2aWRlby9zY2lwXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwidmlkZW8vc21wdGUyOTFcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJ2aWRlby9zbXB0ZTI5Mm1cIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJ2aWRlby91bHBmZWNcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJ2aWRlby92YzFcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJ2aWRlby92YzJcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJ2aWRlby92bmQuY2N0dlwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcInZpZGVvL3ZuZC5kZWNlLmhkXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1widXZoXCIsIFwidXZ2aFwiXVxuICAgICAgfSxcbiAgICAgIFwidmlkZW8vdm5kLmRlY2UubW9iaWxlXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1widXZtXCIsIFwidXZ2bVwiXVxuICAgICAgfSxcbiAgICAgIFwidmlkZW8vdm5kLmRlY2UubXA0XCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwidmlkZW8vdm5kLmRlY2UucGRcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJ1dnBcIiwgXCJ1dnZwXCJdXG4gICAgICB9LFxuICAgICAgXCJ2aWRlby92bmQuZGVjZS5zZFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcInV2c1wiLCBcInV2dnNcIl1cbiAgICAgIH0sXG4gICAgICBcInZpZGVvL3ZuZC5kZWNlLnZpZGVvXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1widXZ2XCIsIFwidXZ2dlwiXVxuICAgICAgfSxcbiAgICAgIFwidmlkZW8vdm5kLmRpcmVjdHYubXBlZ1wiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcInZpZGVvL3ZuZC5kaXJlY3R2Lm1wZWctdHRzXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwidmlkZW8vdm5kLmRsbmEubXBlZy10dHNcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJ2aWRlby92bmQuZHZiLmZpbGVcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJkdmJcIl1cbiAgICAgIH0sXG4gICAgICBcInZpZGVvL3ZuZC5mdnRcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJmdnRcIl1cbiAgICAgIH0sXG4gICAgICBcInZpZGVvL3ZuZC5obnMudmlkZW9cIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJ2aWRlby92bmQuaXB0dmZvcnVtLjFkcGFyaXR5ZmVjLTEwMTBcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJ2aWRlby92bmQuaXB0dmZvcnVtLjFkcGFyaXR5ZmVjLTIwMDVcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJ2aWRlby92bmQuaXB0dmZvcnVtLjJkcGFyaXR5ZmVjLTEwMTBcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJ2aWRlby92bmQuaXB0dmZvcnVtLjJkcGFyaXR5ZmVjLTIwMDVcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJ2aWRlby92bmQuaXB0dmZvcnVtLnR0c2F2Y1wiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcInZpZGVvL3ZuZC5pcHR2Zm9ydW0udHRzbXBlZzJcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJ2aWRlby92bmQubW90b3JvbGEudmlkZW9cIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJ2aWRlby92bmQubW90b3JvbGEudmlkZW9wXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwidmlkZW8vdm5kLm1wZWd1cmxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJteHVcIiwgXCJtNHVcIl1cbiAgICAgIH0sXG4gICAgICBcInZpZGVvL3ZuZC5tcy1wbGF5cmVhZHkubWVkaWEucHl2XCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wicHl2XCJdXG4gICAgICB9LFxuICAgICAgXCJ2aWRlby92bmQubm9raWEuaW50ZXJsZWF2ZWQtbXVsdGltZWRpYVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcInZpZGVvL3ZuZC5ub2tpYS5tcDR2clwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcInZpZGVvL3ZuZC5ub2tpYS52aWRlb3ZvaXBcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJ2aWRlby92bmQub2JqZWN0dmlkZW9cIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJ2aWRlby92bmQucGxhbmFyXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwidmlkZW8vdm5kLnJhZGdhbWV0dG9vbHMuYmlua1wiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcInZpZGVvL3ZuZC5yYWRnYW1ldHRvb2xzLnNtYWNrZXJcIjoge1xuICAgICAgICBzb3VyY2U6IFwiYXBhY2hlXCJcbiAgICAgIH0sXG4gICAgICBcInZpZGVvL3ZuZC5zZWFsZWQubXBlZzFcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJ2aWRlby92bmQuc2VhbGVkLm1wZWc0XCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwidmlkZW8vdm5kLnNlYWxlZC5zd2ZcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJ2aWRlby92bmQuc2VhbGVkbWVkaWEuc29mdHNlYWwubW92XCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwidmlkZW8vdm5kLnV2dnUubXA0XCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1widXZ1XCIsIFwidXZ2dVwiXVxuICAgICAgfSxcbiAgICAgIFwidmlkZW8vdm5kLnZpdm9cIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJ2aXZcIl1cbiAgICAgIH0sXG4gICAgICBcInZpZGVvL3ZuZC55b3V0dWJlLnl0XCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwidmlkZW8vdnA4XCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwidmlkZW8vdnA5XCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwidmlkZW8vd2VibVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJhcGFjaGVcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiBmYWxzZSxcbiAgICAgICAgZXh0ZW5zaW9uczogW1wid2VibVwiXVxuICAgICAgfSxcbiAgICAgIFwidmlkZW8veC1mNHZcIjoge1xuICAgICAgICBzb3VyY2U6IFwiYXBhY2hlXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImY0dlwiXVxuICAgICAgfSxcbiAgICAgIFwidmlkZW8veC1mbGlcIjoge1xuICAgICAgICBzb3VyY2U6IFwiYXBhY2hlXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImZsaVwiXVxuICAgICAgfSxcbiAgICAgIFwidmlkZW8veC1mbHZcIjoge1xuICAgICAgICBzb3VyY2U6IFwiYXBhY2hlXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogZmFsc2UsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImZsdlwiXVxuICAgICAgfSxcbiAgICAgIFwidmlkZW8veC1tNHZcIjoge1xuICAgICAgICBzb3VyY2U6IFwiYXBhY2hlXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcIm00dlwiXVxuICAgICAgfSxcbiAgICAgIFwidmlkZW8veC1tYXRyb3NrYVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJhcGFjaGVcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiBmYWxzZSxcbiAgICAgICAgZXh0ZW5zaW9uczogW1wibWt2XCIsIFwibWszZFwiLCBcIm1rc1wiXVxuICAgICAgfSxcbiAgICAgIFwidmlkZW8veC1tbmdcIjoge1xuICAgICAgICBzb3VyY2U6IFwiYXBhY2hlXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcIm1uZ1wiXVxuICAgICAgfSxcbiAgICAgIFwidmlkZW8veC1tcy1hc2ZcIjoge1xuICAgICAgICBzb3VyY2U6IFwiYXBhY2hlXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImFzZlwiLCBcImFzeFwiXVxuICAgICAgfSxcbiAgICAgIFwidmlkZW8veC1tcy12b2JcIjoge1xuICAgICAgICBzb3VyY2U6IFwiYXBhY2hlXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcInZvYlwiXVxuICAgICAgfSxcbiAgICAgIFwidmlkZW8veC1tcy13bVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJhcGFjaGVcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wid21cIl1cbiAgICAgIH0sXG4gICAgICBcInZpZGVvL3gtbXMtd212XCI6IHtcbiAgICAgICAgc291cmNlOiBcImFwYWNoZVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IGZhbHNlLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJ3bXZcIl1cbiAgICAgIH0sXG4gICAgICBcInZpZGVvL3gtbXMtd214XCI6IHtcbiAgICAgICAgc291cmNlOiBcImFwYWNoZVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJ3bXhcIl1cbiAgICAgIH0sXG4gICAgICBcInZpZGVvL3gtbXMtd3Z4XCI6IHtcbiAgICAgICAgc291cmNlOiBcImFwYWNoZVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJ3dnhcIl1cbiAgICAgIH0sXG4gICAgICBcInZpZGVvL3gtbXN2aWRlb1wiOiB7XG4gICAgICAgIHNvdXJjZTogXCJhcGFjaGVcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wiYXZpXCJdXG4gICAgICB9LFxuICAgICAgXCJ2aWRlby94LXNnaS1tb3ZpZVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJhcGFjaGVcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wibW92aWVcIl1cbiAgICAgIH0sXG4gICAgICBcInZpZGVvL3gtc212XCI6IHtcbiAgICAgICAgc291cmNlOiBcImFwYWNoZVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJzbXZcIl1cbiAgICAgIH0sXG4gICAgICBcIngtY29uZmVyZW5jZS94LWNvb2x0YWxrXCI6IHtcbiAgICAgICAgc291cmNlOiBcImFwYWNoZVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJpY2VcIl1cbiAgICAgIH0sXG4gICAgICBcIngtc2hhZGVyL3gtZnJhZ21lbnRcIjoge1xuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcIngtc2hhZGVyL3gtdmVydGV4XCI6IHtcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9XG4gICAgfTtcbiAgfVxufSk7XG5cbi8vIG5vZGVfbW9kdWxlcy90eXBlLWlzL25vZGVfbW9kdWxlcy9taW1lLWRiL2luZGV4LmpzXG52YXIgcmVxdWlyZV9taW1lX2RiID0gX19jb21tb25KUyh7XG4gIFwibm9kZV9tb2R1bGVzL3R5cGUtaXMvbm9kZV9tb2R1bGVzL21pbWUtZGIvaW5kZXguanNcIihleHBvcnRzMiwgbW9kdWxlMikge1xuICAgIG1vZHVsZTIuZXhwb3J0cyA9IHJlcXVpcmVfZGIoKTtcbiAgfVxufSk7XG5cbi8vIG5vZGVfbW9kdWxlcy90eXBlLWlzL25vZGVfbW9kdWxlcy9taW1lLXR5cGVzL21pbWVTY29yZS5qc1xudmFyIHJlcXVpcmVfbWltZVNjb3JlID0gX19jb21tb25KUyh7XG4gIFwibm9kZV9tb2R1bGVzL3R5cGUtaXMvbm9kZV9tb2R1bGVzL21pbWUtdHlwZXMvbWltZVNjb3JlLmpzXCIoZXhwb3J0czIsIG1vZHVsZTIpIHtcbiAgICB2YXIgRkFDRVRfU0NPUkVTID0ge1xuICAgICAgXCJwcnMuXCI6IDEwMCxcbiAgICAgIFwieC1cIjogMjAwLFxuICAgICAgXCJ4LlwiOiAzMDAsXG4gICAgICBcInZuZC5cIjogNDAwLFxuICAgICAgZGVmYXVsdDogOTAwXG4gICAgfTtcbiAgICB2YXIgU09VUkNFX1NDT1JFUyA9IHtcbiAgICAgIG5naW54OiAxMCxcbiAgICAgIGFwYWNoZTogMjAsXG4gICAgICBpYW5hOiA0MCxcbiAgICAgIGRlZmF1bHQ6IDMwXG4gICAgICAvLyBkZWZpbml0aW9ucyBhZGRlZCBieSBganNodHRwL21pbWUtZGJgIHByb2plY3Q/XG4gICAgfTtcbiAgICB2YXIgVFlQRV9TQ09SRVMgPSB7XG4gICAgICAvLyBwcmVmZXIgYXBwbGljYXRpb24veG1sIG92ZXIgdGV4dC94bWxcbiAgICAgIC8vIHByZWZlciBhcHBsaWNhdGlvbi9ydGYgb3ZlciB0ZXh0L3J0ZlxuICAgICAgYXBwbGljYXRpb246IDEsXG4gICAgICAvLyBwcmVmZXIgZm9udC93b2ZmIG92ZXIgYXBwbGljYXRpb24vZm9udC13b2ZmXG4gICAgICBmb250OiAyLFxuICAgICAgZGVmYXVsdDogMFxuICAgIH07XG4gICAgbW9kdWxlMi5leHBvcnRzID0gZnVuY3Rpb24gbWltZVNjb3JlKG1pbWVUeXBlLCBzb3VyY2UgPSBcImRlZmF1bHRcIikge1xuICAgICAgaWYgKG1pbWVUeXBlID09PSBcImFwcGxpY2F0aW9uL29jdGV0LXN0cmVhbVwiKSB7XG4gICAgICAgIHJldHVybiAwO1xuICAgICAgfVxuICAgICAgY29uc3QgW3R5cGUsIHN1YnR5cGVdID0gbWltZVR5cGUuc3BsaXQoXCIvXCIpO1xuICAgICAgY29uc3QgZmFjZXQgPSBzdWJ0eXBlLnJlcGxhY2UoLyhcXC58eC0pLiovLCBcIiQxXCIpO1xuICAgICAgY29uc3QgZmFjZXRTY29yZSA9IEZBQ0VUX1NDT1JFU1tmYWNldF0gfHwgRkFDRVRfU0NPUkVTLmRlZmF1bHQ7XG4gICAgICBjb25zdCBzb3VyY2VTY29yZSA9IFNPVVJDRV9TQ09SRVNbc291cmNlXSB8fCBTT1VSQ0VfU0NPUkVTLmRlZmF1bHQ7XG4gICAgICBjb25zdCB0eXBlU2NvcmUgPSBUWVBFX1NDT1JFU1t0eXBlXSB8fCBUWVBFX1NDT1JFUy5kZWZhdWx0O1xuICAgICAgY29uc3QgbGVuZ3RoU2NvcmUgPSAxIC0gbWltZVR5cGUubGVuZ3RoIC8gMTAwO1xuICAgICAgcmV0dXJuIGZhY2V0U2NvcmUgKyBzb3VyY2VTY29yZSArIHR5cGVTY29yZSArIGxlbmd0aFNjb3JlO1xuICAgIH07XG4gIH1cbn0pO1xuXG4vLyBub2RlX21vZHVsZXMvdHlwZS1pcy9ub2RlX21vZHVsZXMvbWltZS10eXBlcy9pbmRleC5qc1xudmFyIHJlcXVpcmVfbWltZV90eXBlcyA9IF9fY29tbW9uSlMoe1xuICBcIm5vZGVfbW9kdWxlcy90eXBlLWlzL25vZGVfbW9kdWxlcy9taW1lLXR5cGVzL2luZGV4LmpzXCIoZXhwb3J0czIpIHtcbiAgICBcInVzZSBzdHJpY3RcIjtcbiAgICB2YXIgZGIgPSByZXF1aXJlX21pbWVfZGIoKTtcbiAgICB2YXIgZXh0bmFtZSA9IHJlcXVpcmUoXCJwYXRoXCIpLmV4dG5hbWU7XG4gICAgdmFyIG1pbWVTY29yZSA9IHJlcXVpcmVfbWltZVNjb3JlKCk7XG4gICAgdmFyIEVYVFJBQ1RfVFlQRV9SRUdFWFAgPSAvXlxccyooW147XFxzXSopKD86O3xcXHN8JCkvO1xuICAgIHZhciBURVhUX1RZUEVfUkVHRVhQID0gL150ZXh0XFwvL2k7XG4gICAgZXhwb3J0czIuY2hhcnNldCA9IGNoYXJzZXQ7XG4gICAgZXhwb3J0czIuY2hhcnNldHMgPSB7IGxvb2t1cDogY2hhcnNldCB9O1xuICAgIGV4cG9ydHMyLmNvbnRlbnRUeXBlID0gY29udGVudFR5cGUyO1xuICAgIGV4cG9ydHMyLmV4dGVuc2lvbiA9IGV4dGVuc2lvbjtcbiAgICBleHBvcnRzMi5leHRlbnNpb25zID0gLyogQF9fUFVSRV9fICovIE9iamVjdC5jcmVhdGUobnVsbCk7XG4gICAgZXhwb3J0czIubG9va3VwID0gbG9va3VwO1xuICAgIGV4cG9ydHMyLnR5cGVzID0gLyogQF9fUFVSRV9fICovIE9iamVjdC5jcmVhdGUobnVsbCk7XG4gICAgZXhwb3J0czIuX2V4dGVuc2lvbkNvbmZsaWN0cyA9IFtdO1xuICAgIHBvcHVsYXRlTWFwcyhleHBvcnRzMi5leHRlbnNpb25zLCBleHBvcnRzMi50eXBlcyk7XG4gICAgZnVuY3Rpb24gY2hhcnNldCh0eXBlKSB7XG4gICAgICBpZiAoIXR5cGUgfHwgdHlwZW9mIHR5cGUgIT09IFwic3RyaW5nXCIpIHtcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgfVxuICAgICAgdmFyIG1hdGNoID0gRVhUUkFDVF9UWVBFX1JFR0VYUC5leGVjKHR5cGUpO1xuICAgICAgdmFyIG1pbWUgPSBtYXRjaCAmJiBkYlttYXRjaFsxXS50b0xvd2VyQ2FzZSgpXTtcbiAgICAgIGlmIChtaW1lICYmIG1pbWUuY2hhcnNldCkge1xuICAgICAgICByZXR1cm4gbWltZS5jaGFyc2V0O1xuICAgICAgfVxuICAgICAgaWYgKG1hdGNoICYmIFRFWFRfVFlQRV9SRUdFWFAudGVzdChtYXRjaFsxXSkpIHtcbiAgICAgICAgcmV0dXJuIFwiVVRGLThcIjtcbiAgICAgIH1cbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gICAgZnVuY3Rpb24gY29udGVudFR5cGUyKHN0cikge1xuICAgICAgaWYgKCFzdHIgfHwgdHlwZW9mIHN0ciAhPT0gXCJzdHJpbmdcIikge1xuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICB9XG4gICAgICB2YXIgbWltZSA9IHN0ci5pbmRleE9mKFwiL1wiKSA9PT0gLTEgPyBleHBvcnRzMi5sb29rdXAoc3RyKSA6IHN0cjtcbiAgICAgIGlmICghbWltZSkge1xuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICB9XG4gICAgICBpZiAobWltZS5pbmRleE9mKFwiY2hhcnNldFwiKSA9PT0gLTEpIHtcbiAgICAgICAgdmFyIGNoYXJzZXQyID0gZXhwb3J0czIuY2hhcnNldChtaW1lKTtcbiAgICAgICAgaWYgKGNoYXJzZXQyKSBtaW1lICs9IFwiOyBjaGFyc2V0PVwiICsgY2hhcnNldDIudG9Mb3dlckNhc2UoKTtcbiAgICAgIH1cbiAgICAgIHJldHVybiBtaW1lO1xuICAgIH1cbiAgICBmdW5jdGlvbiBleHRlbnNpb24odHlwZSkge1xuICAgICAgaWYgKCF0eXBlIHx8IHR5cGVvZiB0eXBlICE9PSBcInN0cmluZ1wiKSB7XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgIH1cbiAgICAgIHZhciBtYXRjaCA9IEVYVFJBQ1RfVFlQRV9SRUdFWFAuZXhlYyh0eXBlKTtcbiAgICAgIHZhciBleHRzID0gbWF0Y2ggJiYgZXhwb3J0czIuZXh0ZW5zaW9uc1ttYXRjaFsxXS50b0xvd2VyQ2FzZSgpXTtcbiAgICAgIGlmICghZXh0cyB8fCAhZXh0cy5sZW5ndGgpIHtcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgfVxuICAgICAgcmV0dXJuIGV4dHNbMF07XG4gICAgfVxuICAgIGZ1bmN0aW9uIGxvb2t1cChwYXRoKSB7XG4gICAgICBpZiAoIXBhdGggfHwgdHlwZW9mIHBhdGggIT09IFwic3RyaW5nXCIpIHtcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgfVxuICAgICAgdmFyIGV4dGVuc2lvbjIgPSBleHRuYW1lKFwieC5cIiArIHBhdGgpLnRvTG93ZXJDYXNlKCkuc2xpY2UoMSk7XG4gICAgICBpZiAoIWV4dGVuc2lvbjIpIHtcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgfVxuICAgICAgcmV0dXJuIGV4cG9ydHMyLnR5cGVzW2V4dGVuc2lvbjJdIHx8IGZhbHNlO1xuICAgIH1cbiAgICBmdW5jdGlvbiBwb3B1bGF0ZU1hcHMoZXh0ZW5zaW9ucywgdHlwZXMpIHtcbiAgICAgIE9iamVjdC5rZXlzKGRiKS5mb3JFYWNoKGZ1bmN0aW9uIGZvckVhY2hNaW1lVHlwZSh0eXBlKSB7XG4gICAgICAgIHZhciBtaW1lID0gZGJbdHlwZV07XG4gICAgICAgIHZhciBleHRzID0gbWltZS5leHRlbnNpb25zO1xuICAgICAgICBpZiAoIWV4dHMgfHwgIWV4dHMubGVuZ3RoKSB7XG4gICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIGV4dGVuc2lvbnNbdHlwZV0gPSBleHRzO1xuICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IGV4dHMubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgICB2YXIgZXh0ZW5zaW9uMiA9IGV4dHNbaV07XG4gICAgICAgICAgdHlwZXNbZXh0ZW5zaW9uMl0gPSBfcHJlZmVycmVkVHlwZShleHRlbnNpb24yLCB0eXBlc1tleHRlbnNpb24yXSwgdHlwZSk7XG4gICAgICAgICAgY29uc3QgbGVnYWN5VHlwZSA9IF9wcmVmZXJyZWRUeXBlTGVnYWN5KFxuICAgICAgICAgICAgZXh0ZW5zaW9uMixcbiAgICAgICAgICAgIHR5cGVzW2V4dGVuc2lvbjJdLFxuICAgICAgICAgICAgdHlwZVxuICAgICAgICAgICk7XG4gICAgICAgICAgaWYgKGxlZ2FjeVR5cGUgIT09IHR5cGVzW2V4dGVuc2lvbjJdKSB7XG4gICAgICAgICAgICBleHBvcnRzMi5fZXh0ZW5zaW9uQ29uZmxpY3RzLnB1c2goW2V4dGVuc2lvbjIsIGxlZ2FjeVR5cGUsIHR5cGVzW2V4dGVuc2lvbjJdXSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9KTtcbiAgICB9XG4gICAgZnVuY3Rpb24gX3ByZWZlcnJlZFR5cGUoZXh0LCB0eXBlMCwgdHlwZTEpIHtcbiAgICAgIHZhciBzY29yZTAgPSB0eXBlMCA/IG1pbWVTY29yZSh0eXBlMCwgZGJbdHlwZTBdLnNvdXJjZSkgOiAwO1xuICAgICAgdmFyIHNjb3JlMSA9IHR5cGUxID8gbWltZVNjb3JlKHR5cGUxLCBkYlt0eXBlMV0uc291cmNlKSA6IDA7XG4gICAgICByZXR1cm4gc2NvcmUwID4gc2NvcmUxID8gdHlwZTAgOiB0eXBlMTtcbiAgICB9XG4gICAgZnVuY3Rpb24gX3ByZWZlcnJlZFR5cGVMZWdhY3koZXh0LCB0eXBlMCwgdHlwZTEpIHtcbiAgICAgIHZhciBTT1VSQ0VfUkFOSyA9IFtcIm5naW54XCIsIFwiYXBhY2hlXCIsIHZvaWQgMCwgXCJpYW5hXCJdO1xuICAgICAgdmFyIHNjb3JlMCA9IHR5cGUwID8gU09VUkNFX1JBTksuaW5kZXhPZihkYlt0eXBlMF0uc291cmNlKSA6IDA7XG4gICAgICB2YXIgc2NvcmUxID0gdHlwZTEgPyBTT1VSQ0VfUkFOSy5pbmRleE9mKGRiW3R5cGUxXS5zb3VyY2UpIDogMDtcbiAgICAgIGlmIChleHBvcnRzMi50eXBlc1tleHRlbnNpb25dICE9PSBcImFwcGxpY2F0aW9uL29jdGV0LXN0cmVhbVwiICYmIChzY29yZTAgPiBzY29yZTEgfHwgc2NvcmUwID09PSBzY29yZTEgJiYgZXhwb3J0czIudHlwZXNbZXh0ZW5zaW9uXT8uc2xpY2UoMCwgMTIpID09PSBcImFwcGxpY2F0aW9uL1wiKSkge1xuICAgICAgICByZXR1cm4gdHlwZTA7XG4gICAgICB9XG4gICAgICByZXR1cm4gc2NvcmUwID4gc2NvcmUxID8gdHlwZTAgOiB0eXBlMTtcbiAgICB9XG4gIH1cbn0pO1xuXG4vLyBub2RlX21vZHVsZXMvbWVkaWEtdHlwZXIvaW5kZXguanNcbnZhciByZXF1aXJlX21lZGlhX3R5cGVyID0gX19jb21tb25KUyh7XG4gIFwibm9kZV9tb2R1bGVzL21lZGlhLXR5cGVyL2luZGV4LmpzXCIoZXhwb3J0czIpIHtcbiAgICBcInVzZSBzdHJpY3RcIjtcbiAgICB2YXIgU1VCVFlQRV9OQU1FX1JFR0VYUCA9IC9eW0EtWmEtejAtOV1bQS1aYS16MC05ISMkJl5fLi1dezAsMTI2fSQvO1xuICAgIHZhciBUWVBFX05BTUVfUkVHRVhQID0gL15bQS1aYS16MC05XVtBLVphLXowLTkhIyQmXl8tXXswLDEyNn0kLztcbiAgICB2YXIgVFlQRV9SRUdFWFAgPSAvXiAqKFtBLVphLXowLTldW0EtWmEtejAtOSEjJCZeXy1dezAsMTI2fSlcXC8oW0EtWmEtejAtOV1bQS1aYS16MC05ISMkJl5fListXXswLDEyNn0pICokLztcbiAgICBleHBvcnRzMi5mb3JtYXQgPSBmb3JtYXQ7XG4gICAgZXhwb3J0czIucGFyc2UgPSBwYXJzZTtcbiAgICBleHBvcnRzMi50ZXN0ID0gdGVzdDtcbiAgICBmdW5jdGlvbiBmb3JtYXQob2JqKSB7XG4gICAgICBpZiAoIW9iaiB8fCB0eXBlb2Ygb2JqICE9PSBcIm9iamVjdFwiKSB7XG4gICAgICAgIHRocm93IG5ldyBUeXBlRXJyb3IoXCJhcmd1bWVudCBvYmogaXMgcmVxdWlyZWRcIik7XG4gICAgICB9XG4gICAgICB2YXIgc3VidHlwZSA9IG9iai5zdWJ0eXBlO1xuICAgICAgdmFyIHN1ZmZpeCA9IG9iai5zdWZmaXg7XG4gICAgICB2YXIgdHlwZSA9IG9iai50eXBlO1xuICAgICAgaWYgKCF0eXBlIHx8ICFUWVBFX05BTUVfUkVHRVhQLnRlc3QodHlwZSkpIHtcbiAgICAgICAgdGhyb3cgbmV3IFR5cGVFcnJvcihcImludmFsaWQgdHlwZVwiKTtcbiAgICAgIH1cbiAgICAgIGlmICghc3VidHlwZSB8fCAhU1VCVFlQRV9OQU1FX1JFR0VYUC50ZXN0KHN1YnR5cGUpKSB7XG4gICAgICAgIHRocm93IG5ldyBUeXBlRXJyb3IoXCJpbnZhbGlkIHN1YnR5cGVcIik7XG4gICAgICB9XG4gICAgICB2YXIgc3RyaW5nID0gdHlwZSArIFwiL1wiICsgc3VidHlwZTtcbiAgICAgIGlmIChzdWZmaXgpIHtcbiAgICAgICAgaWYgKCFUWVBFX05BTUVfUkVHRVhQLnRlc3Qoc3VmZml4KSkge1xuICAgICAgICAgIHRocm93IG5ldyBUeXBlRXJyb3IoXCJpbnZhbGlkIHN1ZmZpeFwiKTtcbiAgICAgICAgfVxuICAgICAgICBzdHJpbmcgKz0gXCIrXCIgKyBzdWZmaXg7XG4gICAgICB9XG4gICAgICByZXR1cm4gc3RyaW5nO1xuICAgIH1cbiAgICBmdW5jdGlvbiB0ZXN0KHN0cmluZykge1xuICAgICAgaWYgKCFzdHJpbmcpIHtcbiAgICAgICAgdGhyb3cgbmV3IFR5cGVFcnJvcihcImFyZ3VtZW50IHN0cmluZyBpcyByZXF1aXJlZFwiKTtcbiAgICAgIH1cbiAgICAgIGlmICh0eXBlb2Ygc3RyaW5nICE9PSBcInN0cmluZ1wiKSB7XG4gICAgICAgIHRocm93IG5ldyBUeXBlRXJyb3IoXCJhcmd1bWVudCBzdHJpbmcgaXMgcmVxdWlyZWQgdG8gYmUgYSBzdHJpbmdcIik7XG4gICAgICB9XG4gICAgICByZXR1cm4gVFlQRV9SRUdFWFAudGVzdChzdHJpbmcudG9Mb3dlckNhc2UoKSk7XG4gICAgfVxuICAgIGZ1bmN0aW9uIHBhcnNlKHN0cmluZykge1xuICAgICAgaWYgKCFzdHJpbmcpIHtcbiAgICAgICAgdGhyb3cgbmV3IFR5cGVFcnJvcihcImFyZ3VtZW50IHN0cmluZyBpcyByZXF1aXJlZFwiKTtcbiAgICAgIH1cbiAgICAgIGlmICh0eXBlb2Ygc3RyaW5nICE9PSBcInN0cmluZ1wiKSB7XG4gICAgICAgIHRocm93IG5ldyBUeXBlRXJyb3IoXCJhcmd1bWVudCBzdHJpbmcgaXMgcmVxdWlyZWQgdG8gYmUgYSBzdHJpbmdcIik7XG4gICAgICB9XG4gICAgICB2YXIgbWF0Y2ggPSBUWVBFX1JFR0VYUC5leGVjKHN0cmluZy50b0xvd2VyQ2FzZSgpKTtcbiAgICAgIGlmICghbWF0Y2gpIHtcbiAgICAgICAgdGhyb3cgbmV3IFR5cGVFcnJvcihcImludmFsaWQgbWVkaWEgdHlwZVwiKTtcbiAgICAgIH1cbiAgICAgIHZhciB0eXBlID0gbWF0Y2hbMV07XG4gICAgICB2YXIgc3VidHlwZSA9IG1hdGNoWzJdO1xuICAgICAgdmFyIHN1ZmZpeDtcbiAgICAgIHZhciBpbmRleCA9IHN1YnR5cGUubGFzdEluZGV4T2YoXCIrXCIpO1xuICAgICAgaWYgKGluZGV4ICE9PSAtMSkge1xuICAgICAgICBzdWZmaXggPSBzdWJ0eXBlLnN1YnN0cihpbmRleCArIDEpO1xuICAgICAgICBzdWJ0eXBlID0gc3VidHlwZS5zdWJzdHIoMCwgaW5kZXgpO1xuICAgICAgfVxuICAgICAgcmV0dXJuIG5ldyBNZWRpYVR5cGUodHlwZSwgc3VidHlwZSwgc3VmZml4KTtcbiAgICB9XG4gICAgZnVuY3Rpb24gTWVkaWFUeXBlKHR5cGUsIHN1YnR5cGUsIHN1ZmZpeCkge1xuICAgICAgdGhpcy50eXBlID0gdHlwZTtcbiAgICAgIHRoaXMuc3VidHlwZSA9IHN1YnR5cGU7XG4gICAgICB0aGlzLnN1ZmZpeCA9IHN1ZmZpeDtcbiAgICB9XG4gIH1cbn0pO1xuXG4vLyBub2RlX21vZHVsZXMvdHlwZS1pcy9pbmRleC5qc1xudmFyIHJlcXVpcmVfdHlwZV9pcyA9IF9fY29tbW9uSlMoe1xuICBcIm5vZGVfbW9kdWxlcy90eXBlLWlzL2luZGV4LmpzXCIoZXhwb3J0czIsIG1vZHVsZTIpIHtcbiAgICBcInVzZSBzdHJpY3RcIjtcbiAgICB2YXIgY29udGVudFR5cGUyID0gcmVxdWlyZV9jb250ZW50X3R5cGUoKTtcbiAgICB2YXIgbWltZSA9IHJlcXVpcmVfbWltZV90eXBlcygpO1xuICAgIHZhciB0eXBlciA9IHJlcXVpcmVfbWVkaWFfdHlwZXIoKTtcbiAgICBtb2R1bGUyLmV4cG9ydHMgPSB0eXBlb2ZyZXF1ZXN0O1xuICAgIG1vZHVsZTIuZXhwb3J0cy5pcyA9IHR5cGVpcztcbiAgICBtb2R1bGUyLmV4cG9ydHMuaGFzQm9keSA9IGhhc2JvZHk7XG4gICAgbW9kdWxlMi5leHBvcnRzLm5vcm1hbGl6ZSA9IG5vcm1hbGl6ZTtcbiAgICBtb2R1bGUyLmV4cG9ydHMubWF0Y2ggPSBtaW1lTWF0Y2g7XG4gICAgZnVuY3Rpb24gdHlwZWlzKHZhbHVlLCB0eXBlc18pIHtcbiAgICAgIHZhciBpO1xuICAgICAgdmFyIHR5cGVzID0gdHlwZXNfO1xuICAgICAgdmFyIHZhbCA9IHRyeU5vcm1hbGl6ZVR5cGUodmFsdWUpO1xuICAgICAgaWYgKCF2YWwpIHtcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgfVxuICAgICAgaWYgKHR5cGVzICYmICFBcnJheS5pc0FycmF5KHR5cGVzKSkge1xuICAgICAgICB0eXBlcyA9IG5ldyBBcnJheShhcmd1bWVudHMubGVuZ3RoIC0gMSk7XG4gICAgICAgIGZvciAoaSA9IDA7IGkgPCB0eXBlcy5sZW5ndGg7IGkrKykge1xuICAgICAgICAgIHR5cGVzW2ldID0gYXJndW1lbnRzW2kgKyAxXTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgaWYgKCF0eXBlcyB8fCAhdHlwZXMubGVuZ3RoKSB7XG4gICAgICAgIHJldHVybiB2YWw7XG4gICAgICB9XG4gICAgICB2YXIgdHlwZTtcbiAgICAgIGZvciAoaSA9IDA7IGkgPCB0eXBlcy5sZW5ndGg7IGkrKykge1xuICAgICAgICBpZiAobWltZU1hdGNoKG5vcm1hbGl6ZSh0eXBlID0gdHlwZXNbaV0pLCB2YWwpKSB7XG4gICAgICAgICAgcmV0dXJuIHR5cGVbMF0gPT09IFwiK1wiIHx8IHR5cGUuaW5kZXhPZihcIipcIikgIT09IC0xID8gdmFsIDogdHlwZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgICBmdW5jdGlvbiBoYXNib2R5KHJlcSkge1xuICAgICAgcmV0dXJuIHJlcS5oZWFkZXJzW1widHJhbnNmZXItZW5jb2RpbmdcIl0gIT09IHZvaWQgMCB8fCAhaXNOYU4ocmVxLmhlYWRlcnNbXCJjb250ZW50LWxlbmd0aFwiXSk7XG4gICAgfVxuICAgIGZ1bmN0aW9uIHR5cGVvZnJlcXVlc3QocmVxLCB0eXBlc18pIHtcbiAgICAgIGlmICghaGFzYm9keShyZXEpKSByZXR1cm4gbnVsbDtcbiAgICAgIHZhciB0eXBlcyA9IGFyZ3VtZW50cy5sZW5ndGggPiAyID8gQXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwoYXJndW1lbnRzLCAxKSA6IHR5cGVzXztcbiAgICAgIHZhciB2YWx1ZSA9IHJlcS5oZWFkZXJzW1wiY29udGVudC10eXBlXCJdO1xuICAgICAgcmV0dXJuIHR5cGVpcyh2YWx1ZSwgdHlwZXMpO1xuICAgIH1cbiAgICBmdW5jdGlvbiBub3JtYWxpemUodHlwZSkge1xuICAgICAgaWYgKHR5cGVvZiB0eXBlICE9PSBcInN0cmluZ1wiKSB7XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgIH1cbiAgICAgIHN3aXRjaCAodHlwZSkge1xuICAgICAgICBjYXNlIFwidXJsZW5jb2RlZFwiOlxuICAgICAgICAgIHJldHVybiBcImFwcGxpY2F0aW9uL3gtd3d3LWZvcm0tdXJsZW5jb2RlZFwiO1xuICAgICAgICBjYXNlIFwibXVsdGlwYXJ0XCI6XG4gICAgICAgICAgcmV0dXJuIFwibXVsdGlwYXJ0LypcIjtcbiAgICAgIH1cbiAgICAgIGlmICh0eXBlWzBdID09PSBcIitcIikge1xuICAgICAgICByZXR1cm4gXCIqLypcIiArIHR5cGU7XG4gICAgICB9XG4gICAgICByZXR1cm4gdHlwZS5pbmRleE9mKFwiL1wiKSA9PT0gLTEgPyBtaW1lLmxvb2t1cCh0eXBlKSA6IHR5cGU7XG4gICAgfVxuICAgIGZ1bmN0aW9uIG1pbWVNYXRjaChleHBlY3RlZCwgYWN0dWFsKSB7XG4gICAgICBpZiAoZXhwZWN0ZWQgPT09IGZhbHNlKSB7XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgIH1cbiAgICAgIHZhciBhY3R1YWxQYXJ0cyA9IGFjdHVhbC5zcGxpdChcIi9cIik7XG4gICAgICB2YXIgZXhwZWN0ZWRQYXJ0cyA9IGV4cGVjdGVkLnNwbGl0KFwiL1wiKTtcbiAgICAgIGlmIChhY3R1YWxQYXJ0cy5sZW5ndGggIT09IDIgfHwgZXhwZWN0ZWRQYXJ0cy5sZW5ndGggIT09IDIpIHtcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgfVxuICAgICAgaWYgKGV4cGVjdGVkUGFydHNbMF0gIT09IFwiKlwiICYmIGV4cGVjdGVkUGFydHNbMF0gIT09IGFjdHVhbFBhcnRzWzBdKSB7XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgIH1cbiAgICAgIGlmIChleHBlY3RlZFBhcnRzWzFdLnNsaWNlKDAsIDIpID09PSBcIiorXCIpIHtcbiAgICAgICAgcmV0dXJuIGV4cGVjdGVkUGFydHNbMV0ubGVuZ3RoIDw9IGFjdHVhbFBhcnRzWzFdLmxlbmd0aCArIDEgJiYgZXhwZWN0ZWRQYXJ0c1sxXS5zbGljZSgxKSA9PT0gYWN0dWFsUGFydHNbMV0uc2xpY2UoMSAtIGV4cGVjdGVkUGFydHNbMV0ubGVuZ3RoKTtcbiAgICAgIH1cbiAgICAgIGlmIChleHBlY3RlZFBhcnRzWzFdICE9PSBcIipcIiAmJiBleHBlY3RlZFBhcnRzWzFdICE9PSBhY3R1YWxQYXJ0c1sxXSkge1xuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICB9XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG4gICAgZnVuY3Rpb24gbm9ybWFsaXplVHlwZSh2YWx1ZSkge1xuICAgICAgdmFyIHR5cGUgPSBjb250ZW50VHlwZTIucGFyc2UodmFsdWUpLnR5cGU7XG4gICAgICByZXR1cm4gdHlwZXIudGVzdCh0eXBlKSA/IHR5cGUgOiBudWxsO1xuICAgIH1cbiAgICBmdW5jdGlvbiB0cnlOb3JtYWxpemVUeXBlKHZhbHVlKSB7XG4gICAgICB0cnkge1xuICAgICAgICByZXR1cm4gdmFsdWUgPyBub3JtYWxpemVUeXBlKHZhbHVlKSA6IG51bGw7XG4gICAgICB9IGNhdGNoIChlcnIyKSB7XG4gICAgICAgIHJldHVybiBudWxsO1xuICAgICAgfVxuICAgIH1cbiAgfVxufSk7XG5cbi8vIG5vZGVfbW9kdWxlcy9ib2R5LXBhcnNlci9saWIvdXRpbHMuanNcbnZhciByZXF1aXJlX3V0aWxzID0gX19jb21tb25KUyh7XG4gIFwibm9kZV9tb2R1bGVzL2JvZHktcGFyc2VyL2xpYi91dGlscy5qc1wiKGV4cG9ydHMyLCBtb2R1bGUyKSB7XG4gICAgXCJ1c2Ugc3RyaWN0XCI7XG4gICAgdmFyIGJ5dGVzID0gcmVxdWlyZV9ieXRlcygpO1xuICAgIHZhciBjb250ZW50VHlwZTIgPSByZXF1aXJlX2NvbnRlbnRfdHlwZSgpO1xuICAgIHZhciB0eXBlaXMgPSByZXF1aXJlX3R5cGVfaXMoKTtcbiAgICBtb2R1bGUyLmV4cG9ydHMgPSB7XG4gICAgICBnZXRDaGFyc2V0LFxuICAgICAgbm9ybWFsaXplT3B0aW9uc1xuICAgIH07XG4gICAgZnVuY3Rpb24gZ2V0Q2hhcnNldChyZXEpIHtcbiAgICAgIHRyeSB7XG4gICAgICAgIHJldHVybiAoY29udGVudFR5cGUyLnBhcnNlKHJlcSkucGFyYW1ldGVycy5jaGFyc2V0IHx8IFwiXCIpLnRvTG93ZXJDYXNlKCk7XG4gICAgICB9IGNhdGNoIHtcbiAgICAgICAgcmV0dXJuIHZvaWQgMDtcbiAgICAgIH1cbiAgICB9XG4gICAgZnVuY3Rpb24gdHlwZUNoZWNrZXIodHlwZSkge1xuICAgICAgcmV0dXJuIGZ1bmN0aW9uIGNoZWNrVHlwZShyZXEpIHtcbiAgICAgICAgcmV0dXJuIEJvb2xlYW4odHlwZWlzKHJlcSwgdHlwZSkpO1xuICAgICAgfTtcbiAgICB9XG4gICAgZnVuY3Rpb24gbm9ybWFsaXplT3B0aW9ucyhvcHRpb25zLCBkZWZhdWx0VHlwZSkge1xuICAgICAgaWYgKCFkZWZhdWx0VHlwZSkge1xuICAgICAgICB0aHJvdyBuZXcgVHlwZUVycm9yKFwiZGVmYXVsdFR5cGUgbXVzdCBiZSBwcm92aWRlZFwiKTtcbiAgICAgIH1cbiAgICAgIHZhciBpbmZsYXRlID0gb3B0aW9ucz8uaW5mbGF0ZSAhPT0gZmFsc2U7XG4gICAgICB2YXIgbGltaXQgPSB0eXBlb2Ygb3B0aW9ucz8ubGltaXQgIT09IFwibnVtYmVyXCIgPyBieXRlcy5wYXJzZShvcHRpb25zPy5saW1pdCB8fCBcIjEwMGtiXCIpIDogb3B0aW9ucz8ubGltaXQ7XG4gICAgICB2YXIgdHlwZSA9IG9wdGlvbnM/LnR5cGUgfHwgZGVmYXVsdFR5cGU7XG4gICAgICB2YXIgdmVyaWZ5ID0gb3B0aW9ucz8udmVyaWZ5IHx8IGZhbHNlO1xuICAgICAgaWYgKHZlcmlmeSAhPT0gZmFsc2UgJiYgdHlwZW9mIHZlcmlmeSAhPT0gXCJmdW5jdGlvblwiKSB7XG4gICAgICAgIHRocm93IG5ldyBUeXBlRXJyb3IoXCJvcHRpb24gdmVyaWZ5IG11c3QgYmUgZnVuY3Rpb25cIik7XG4gICAgICB9XG4gICAgICB2YXIgc2hvdWxkUGFyc2UgPSB0eXBlb2YgdHlwZSAhPT0gXCJmdW5jdGlvblwiID8gdHlwZUNoZWNrZXIodHlwZSkgOiB0eXBlO1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgaW5mbGF0ZSxcbiAgICAgICAgbGltaXQsXG4gICAgICAgIHZlcmlmeSxcbiAgICAgICAgc2hvdWxkUGFyc2VcbiAgICAgIH07XG4gICAgfVxuICB9XG59KTtcblxuLy8gbm9kZV9tb2R1bGVzL2JvZHktcGFyc2VyL2xpYi90eXBlcy9qc29uLmpzXG52YXIgcmVxdWlyZV9qc29uID0gX19jb21tb25KUyh7XG4gIFwibm9kZV9tb2R1bGVzL2JvZHktcGFyc2VyL2xpYi90eXBlcy9qc29uLmpzXCIoZXhwb3J0czIsIG1vZHVsZTIpIHtcbiAgICBcInVzZSBzdHJpY3RcIjtcbiAgICB2YXIgY3JlYXRlRXJyb3IgPSByZXF1aXJlX2h0dHBfZXJyb3JzKCk7XG4gICAgdmFyIGRlYnVnID0gcmVxdWlyZV9zcmMoKShcImJvZHktcGFyc2VyOmpzb25cIik7XG4gICAgdmFyIGlzRmluaXNoZWQgPSByZXF1aXJlX29uX2ZpbmlzaGVkKCkuaXNGaW5pc2hlZDtcbiAgICB2YXIgcmVhZCA9IHJlcXVpcmVfcmVhZCgpO1xuICAgIHZhciB0eXBlaXMgPSByZXF1aXJlX3R5cGVfaXMoKTtcbiAgICB2YXIgeyBnZXRDaGFyc2V0LCBub3JtYWxpemVPcHRpb25zIH0gPSByZXF1aXJlX3V0aWxzKCk7XG4gICAgbW9kdWxlMi5leHBvcnRzID0ganNvbjtcbiAgICB2YXIgRklSU1RfQ0hBUl9SRUdFWFAgPSAvXltcXHgyMFxceDA5XFx4MGFcXHgwZF0qKFteXFx4MjBcXHgwOVxceDBhXFx4MGRdKS87XG4gICAgdmFyIEpTT05fU1lOVEFYX0NIQVIgPSBcIiNcIjtcbiAgICB2YXIgSlNPTl9TWU5UQVhfUkVHRVhQID0gLyMrL2c7XG4gICAgZnVuY3Rpb24ganNvbihvcHRpb25zKSB7XG4gICAgICB2YXIgeyBpbmZsYXRlLCBsaW1pdCwgdmVyaWZ5LCBzaG91bGRQYXJzZSB9ID0gbm9ybWFsaXplT3B0aW9ucyhvcHRpb25zLCBcImFwcGxpY2F0aW9uL2pzb25cIik7XG4gICAgICB2YXIgcmV2aXZlciA9IG9wdGlvbnM/LnJldml2ZXI7XG4gICAgICB2YXIgc3RyaWN0ID0gb3B0aW9ucz8uc3RyaWN0ICE9PSBmYWxzZTtcbiAgICAgIGZ1bmN0aW9uIHBhcnNlKGJvZHkpIHtcbiAgICAgICAgaWYgKGJvZHkubGVuZ3RoID09PSAwKSB7XG4gICAgICAgICAgcmV0dXJuIHt9O1xuICAgICAgICB9XG4gICAgICAgIGlmIChzdHJpY3QpIHtcbiAgICAgICAgICB2YXIgZmlyc3QgPSBmaXJzdGNoYXIoYm9keSk7XG4gICAgICAgICAgaWYgKGZpcnN0ICE9PSBcIntcIiAmJiBmaXJzdCAhPT0gXCJbXCIpIHtcbiAgICAgICAgICAgIGRlYnVnKFwic3RyaWN0IHZpb2xhdGlvblwiKTtcbiAgICAgICAgICAgIHRocm93IGNyZWF0ZVN0cmljdFN5bnRheEVycm9yKGJvZHksIGZpcnN0KTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICBkZWJ1ZyhcInBhcnNlIGpzb25cIik7XG4gICAgICAgICAgcmV0dXJuIEpTT04ucGFyc2UoYm9keSwgcmV2aXZlcik7XG4gICAgICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgICAgICB0aHJvdyBub3JtYWxpemVKc29uU3ludGF4RXJyb3IoZSwge1xuICAgICAgICAgICAgbWVzc2FnZTogZS5tZXNzYWdlLFxuICAgICAgICAgICAgc3RhY2s6IGUuc3RhY2tcbiAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgcmV0dXJuIGZ1bmN0aW9uIGpzb25QYXJzZXIocmVxLCByZXMsIG5leHQpIHtcbiAgICAgICAgaWYgKGlzRmluaXNoZWQocmVxKSkge1xuICAgICAgICAgIGRlYnVnKFwiYm9keSBhbHJlYWR5IHBhcnNlZFwiKTtcbiAgICAgICAgICBuZXh0KCk7XG4gICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIGlmICghKFwiYm9keVwiIGluIHJlcSkpIHtcbiAgICAgICAgICByZXEuYm9keSA9IHZvaWQgMDtcbiAgICAgICAgfVxuICAgICAgICBpZiAoIXR5cGVpcy5oYXNCb2R5KHJlcSkpIHtcbiAgICAgICAgICBkZWJ1ZyhcInNraXAgZW1wdHkgYm9keVwiKTtcbiAgICAgICAgICBuZXh0KCk7XG4gICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIGRlYnVnKFwiY29udGVudC10eXBlICVqXCIsIHJlcS5oZWFkZXJzW1wiY29udGVudC10eXBlXCJdKTtcbiAgICAgICAgaWYgKCFzaG91bGRQYXJzZShyZXEpKSB7XG4gICAgICAgICAgZGVidWcoXCJza2lwIHBhcnNpbmdcIik7XG4gICAgICAgICAgbmV4dCgpO1xuICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICB2YXIgY2hhcnNldCA9IGdldENoYXJzZXQocmVxKSB8fCBcInV0Zi04XCI7XG4gICAgICAgIGlmIChjaGFyc2V0LnNsaWNlKDAsIDQpICE9PSBcInV0Zi1cIikge1xuICAgICAgICAgIGRlYnVnKFwiaW52YWxpZCBjaGFyc2V0XCIpO1xuICAgICAgICAgIG5leHQoY3JlYXRlRXJyb3IoNDE1LCAndW5zdXBwb3J0ZWQgY2hhcnNldCBcIicgKyBjaGFyc2V0LnRvVXBwZXJDYXNlKCkgKyAnXCInLCB7XG4gICAgICAgICAgICBjaGFyc2V0LFxuICAgICAgICAgICAgdHlwZTogXCJjaGFyc2V0LnVuc3VwcG9ydGVkXCJcbiAgICAgICAgICB9KSk7XG4gICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIHJlYWQocmVxLCByZXMsIG5leHQsIHBhcnNlLCBkZWJ1Zywge1xuICAgICAgICAgIGVuY29kaW5nOiBjaGFyc2V0LFxuICAgICAgICAgIGluZmxhdGUsXG4gICAgICAgICAgbGltaXQsXG4gICAgICAgICAgdmVyaWZ5XG4gICAgICAgIH0pO1xuICAgICAgfTtcbiAgICB9XG4gICAgZnVuY3Rpb24gY3JlYXRlU3RyaWN0U3ludGF4RXJyb3Ioc3RyLCBjaGFyKSB7XG4gICAgICB2YXIgaW5kZXggPSBzdHIuaW5kZXhPZihjaGFyKTtcbiAgICAgIHZhciBwYXJ0aWFsID0gXCJcIjtcbiAgICAgIGlmIChpbmRleCAhPT0gLTEpIHtcbiAgICAgICAgcGFydGlhbCA9IHN0ci5zdWJzdHJpbmcoMCwgaW5kZXgpICsgSlNPTl9TWU5UQVhfQ0hBUjtcbiAgICAgICAgZm9yICh2YXIgaSA9IGluZGV4ICsgMTsgaSA8IHN0ci5sZW5ndGg7IGkrKykge1xuICAgICAgICAgIHBhcnRpYWwgKz0gSlNPTl9TWU5UQVhfQ0hBUjtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgdHJ5IHtcbiAgICAgICAgSlNPTi5wYXJzZShwYXJ0aWFsKTtcbiAgICAgICAgdGhyb3cgbmV3IFN5bnRheEVycm9yKFwic3RyaWN0IHZpb2xhdGlvblwiKTtcbiAgICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgICAgcmV0dXJuIG5vcm1hbGl6ZUpzb25TeW50YXhFcnJvcihlLCB7XG4gICAgICAgICAgbWVzc2FnZTogZS5tZXNzYWdlLnJlcGxhY2UoSlNPTl9TWU5UQVhfUkVHRVhQLCBmdW5jdGlvbihwbGFjZWhvbGRlcikge1xuICAgICAgICAgICAgcmV0dXJuIHN0ci5zdWJzdHJpbmcoaW5kZXgsIGluZGV4ICsgcGxhY2Vob2xkZXIubGVuZ3RoKTtcbiAgICAgICAgICB9KSxcbiAgICAgICAgICBzdGFjazogZS5zdGFja1xuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICB9XG4gICAgZnVuY3Rpb24gZmlyc3RjaGFyKHN0cikge1xuICAgICAgdmFyIG1hdGNoID0gRklSU1RfQ0hBUl9SRUdFWFAuZXhlYyhzdHIpO1xuICAgICAgcmV0dXJuIG1hdGNoID8gbWF0Y2hbMV0gOiB2b2lkIDA7XG4gICAgfVxuICAgIGZ1bmN0aW9uIG5vcm1hbGl6ZUpzb25TeW50YXhFcnJvcihlcnJvciwgb2JqKSB7XG4gICAgICB2YXIga2V5cyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eU5hbWVzKGVycm9yKTtcbiAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwga2V5cy5sZW5ndGg7IGkrKykge1xuICAgICAgICB2YXIga2V5ID0ga2V5c1tpXTtcbiAgICAgICAgaWYgKGtleSAhPT0gXCJzdGFja1wiICYmIGtleSAhPT0gXCJtZXNzYWdlXCIpIHtcbiAgICAgICAgICBkZWxldGUgZXJyb3Jba2V5XTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgZXJyb3Iuc3RhY2sgPSBvYmouc3RhY2sucmVwbGFjZShlcnJvci5tZXNzYWdlLCBvYmoubWVzc2FnZSk7XG4gICAgICBlcnJvci5tZXNzYWdlID0gb2JqLm1lc3NhZ2U7XG4gICAgICByZXR1cm4gZXJyb3I7XG4gICAgfVxuICB9XG59KTtcblxuLy8gbm9kZV9tb2R1bGVzL2JvZHktcGFyc2VyL2xpYi90eXBlcy9yYXcuanNcbnZhciByZXF1aXJlX3JhdyA9IF9fY29tbW9uSlMoe1xuICBcIm5vZGVfbW9kdWxlcy9ib2R5LXBhcnNlci9saWIvdHlwZXMvcmF3LmpzXCIoZXhwb3J0czIsIG1vZHVsZTIpIHtcbiAgICBcInVzZSBzdHJpY3RcIjtcbiAgICB2YXIgZGVidWcgPSByZXF1aXJlX3NyYygpKFwiYm9keS1wYXJzZXI6cmF3XCIpO1xuICAgIHZhciBpc0ZpbmlzaGVkID0gcmVxdWlyZV9vbl9maW5pc2hlZCgpLmlzRmluaXNoZWQ7XG4gICAgdmFyIHJlYWQgPSByZXF1aXJlX3JlYWQoKTtcbiAgICB2YXIgdHlwZWlzID0gcmVxdWlyZV90eXBlX2lzKCk7XG4gICAgdmFyIHsgbm9ybWFsaXplT3B0aW9ucyB9ID0gcmVxdWlyZV91dGlscygpO1xuICAgIG1vZHVsZTIuZXhwb3J0cyA9IHJhdztcbiAgICBmdW5jdGlvbiByYXcob3B0aW9ucykge1xuICAgICAgdmFyIHsgaW5mbGF0ZSwgbGltaXQsIHZlcmlmeSwgc2hvdWxkUGFyc2UgfSA9IG5vcm1hbGl6ZU9wdGlvbnMob3B0aW9ucywgXCJhcHBsaWNhdGlvbi9vY3RldC1zdHJlYW1cIik7XG4gICAgICBmdW5jdGlvbiBwYXJzZShidWYpIHtcbiAgICAgICAgcmV0dXJuIGJ1ZjtcbiAgICAgIH1cbiAgICAgIHJldHVybiBmdW5jdGlvbiByYXdQYXJzZXIocmVxLCByZXMsIG5leHQpIHtcbiAgICAgICAgaWYgKGlzRmluaXNoZWQocmVxKSkge1xuICAgICAgICAgIGRlYnVnKFwiYm9keSBhbHJlYWR5IHBhcnNlZFwiKTtcbiAgICAgICAgICBuZXh0KCk7XG4gICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIGlmICghKFwiYm9keVwiIGluIHJlcSkpIHtcbiAgICAgICAgICByZXEuYm9keSA9IHZvaWQgMDtcbiAgICAgICAgfVxuICAgICAgICBpZiAoIXR5cGVpcy5oYXNCb2R5KHJlcSkpIHtcbiAgICAgICAgICBkZWJ1ZyhcInNraXAgZW1wdHkgYm9keVwiKTtcbiAgICAgICAgICBuZXh0KCk7XG4gICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIGRlYnVnKFwiY29udGVudC10eXBlICVqXCIsIHJlcS5oZWFkZXJzW1wiY29udGVudC10eXBlXCJdKTtcbiAgICAgICAgaWYgKCFzaG91bGRQYXJzZShyZXEpKSB7XG4gICAgICAgICAgZGVidWcoXCJza2lwIHBhcnNpbmdcIik7XG4gICAgICAgICAgbmV4dCgpO1xuICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICByZWFkKHJlcSwgcmVzLCBuZXh0LCBwYXJzZSwgZGVidWcsIHtcbiAgICAgICAgICBlbmNvZGluZzogbnVsbCxcbiAgICAgICAgICBpbmZsYXRlLFxuICAgICAgICAgIGxpbWl0LFxuICAgICAgICAgIHZlcmlmeVxuICAgICAgICB9KTtcbiAgICAgIH07XG4gICAgfVxuICB9XG59KTtcblxuLy8gbm9kZV9tb2R1bGVzL2JvZHktcGFyc2VyL2xpYi90eXBlcy90ZXh0LmpzXG52YXIgcmVxdWlyZV90ZXh0ID0gX19jb21tb25KUyh7XG4gIFwibm9kZV9tb2R1bGVzL2JvZHktcGFyc2VyL2xpYi90eXBlcy90ZXh0LmpzXCIoZXhwb3J0czIsIG1vZHVsZTIpIHtcbiAgICBcInVzZSBzdHJpY3RcIjtcbiAgICB2YXIgZGVidWcgPSByZXF1aXJlX3NyYygpKFwiYm9keS1wYXJzZXI6dGV4dFwiKTtcbiAgICB2YXIgaXNGaW5pc2hlZCA9IHJlcXVpcmVfb25fZmluaXNoZWQoKS5pc0ZpbmlzaGVkO1xuICAgIHZhciByZWFkID0gcmVxdWlyZV9yZWFkKCk7XG4gICAgdmFyIHR5cGVpcyA9IHJlcXVpcmVfdHlwZV9pcygpO1xuICAgIHZhciB7IGdldENoYXJzZXQsIG5vcm1hbGl6ZU9wdGlvbnMgfSA9IHJlcXVpcmVfdXRpbHMoKTtcbiAgICBtb2R1bGUyLmV4cG9ydHMgPSB0ZXh0O1xuICAgIGZ1bmN0aW9uIHRleHQob3B0aW9ucykge1xuICAgICAgdmFyIHsgaW5mbGF0ZSwgbGltaXQsIHZlcmlmeSwgc2hvdWxkUGFyc2UgfSA9IG5vcm1hbGl6ZU9wdGlvbnMob3B0aW9ucywgXCJ0ZXh0L3BsYWluXCIpO1xuICAgICAgdmFyIGRlZmF1bHRDaGFyc2V0ID0gb3B0aW9ucz8uZGVmYXVsdENoYXJzZXQgfHwgXCJ1dGYtOFwiO1xuICAgICAgZnVuY3Rpb24gcGFyc2UoYnVmKSB7XG4gICAgICAgIHJldHVybiBidWY7XG4gICAgICB9XG4gICAgICByZXR1cm4gZnVuY3Rpb24gdGV4dFBhcnNlcihyZXEsIHJlcywgbmV4dCkge1xuICAgICAgICBpZiAoaXNGaW5pc2hlZChyZXEpKSB7XG4gICAgICAgICAgZGVidWcoXCJib2R5IGFscmVhZHkgcGFyc2VkXCIpO1xuICAgICAgICAgIG5leHQoKTtcbiAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgaWYgKCEoXCJib2R5XCIgaW4gcmVxKSkge1xuICAgICAgICAgIHJlcS5ib2R5ID0gdm9pZCAwO1xuICAgICAgICB9XG4gICAgICAgIGlmICghdHlwZWlzLmhhc0JvZHkocmVxKSkge1xuICAgICAgICAgIGRlYnVnKFwic2tpcCBlbXB0eSBib2R5XCIpO1xuICAgICAgICAgIG5leHQoKTtcbiAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgZGVidWcoXCJjb250ZW50LXR5cGUgJWpcIiwgcmVxLmhlYWRlcnNbXCJjb250ZW50LXR5cGVcIl0pO1xuICAgICAgICBpZiAoIXNob3VsZFBhcnNlKHJlcSkpIHtcbiAgICAgICAgICBkZWJ1ZyhcInNraXAgcGFyc2luZ1wiKTtcbiAgICAgICAgICBuZXh0KCk7XG4gICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIHZhciBjaGFyc2V0ID0gZ2V0Q2hhcnNldChyZXEpIHx8IGRlZmF1bHRDaGFyc2V0O1xuICAgICAgICByZWFkKHJlcSwgcmVzLCBuZXh0LCBwYXJzZSwgZGVidWcsIHtcbiAgICAgICAgICBlbmNvZGluZzogY2hhcnNldCxcbiAgICAgICAgICBpbmZsYXRlLFxuICAgICAgICAgIGxpbWl0LFxuICAgICAgICAgIHZlcmlmeVxuICAgICAgICB9KTtcbiAgICAgIH07XG4gICAgfVxuICB9XG59KTtcblxuLy8gbm9kZV9tb2R1bGVzL2VzLWVycm9ycy90eXBlLmpzXG52YXIgcmVxdWlyZV90eXBlID0gX19jb21tb25KUyh7XG4gIFwibm9kZV9tb2R1bGVzL2VzLWVycm9ycy90eXBlLmpzXCIoZXhwb3J0czIsIG1vZHVsZTIpIHtcbiAgICBcInVzZSBzdHJpY3RcIjtcbiAgICBtb2R1bGUyLmV4cG9ydHMgPSBUeXBlRXJyb3I7XG4gIH1cbn0pO1xuXG4vLyBub2RlX21vZHVsZXMvb2JqZWN0LWluc3BlY3QvdXRpbC5pbnNwZWN0LmpzXG52YXIgcmVxdWlyZV91dGlsX2luc3BlY3QgPSBfX2NvbW1vbkpTKHtcbiAgXCJub2RlX21vZHVsZXMvb2JqZWN0LWluc3BlY3QvdXRpbC5pbnNwZWN0LmpzXCIoZXhwb3J0czIsIG1vZHVsZTIpIHtcbiAgICBtb2R1bGUyLmV4cG9ydHMgPSByZXF1aXJlKFwidXRpbFwiKS5pbnNwZWN0O1xuICB9XG59KTtcblxuLy8gbm9kZV9tb2R1bGVzL29iamVjdC1pbnNwZWN0L2luZGV4LmpzXG52YXIgcmVxdWlyZV9vYmplY3RfaW5zcGVjdCA9IF9fY29tbW9uSlMoe1xuICBcIm5vZGVfbW9kdWxlcy9vYmplY3QtaW5zcGVjdC9pbmRleC5qc1wiKGV4cG9ydHMyLCBtb2R1bGUyKSB7XG4gICAgdmFyIGhhc01hcCA9IHR5cGVvZiBNYXAgPT09IFwiZnVuY3Rpb25cIiAmJiBNYXAucHJvdG90eXBlO1xuICAgIHZhciBtYXBTaXplRGVzY3JpcHRvciA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgJiYgaGFzTWFwID8gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihNYXAucHJvdG90eXBlLCBcInNpemVcIikgOiBudWxsO1xuICAgIHZhciBtYXBTaXplID0gaGFzTWFwICYmIG1hcFNpemVEZXNjcmlwdG9yICYmIHR5cGVvZiBtYXBTaXplRGVzY3JpcHRvci5nZXQgPT09IFwiZnVuY3Rpb25cIiA/IG1hcFNpemVEZXNjcmlwdG9yLmdldCA6IG51bGw7XG4gICAgdmFyIG1hcEZvckVhY2ggPSBoYXNNYXAgJiYgTWFwLnByb3RvdHlwZS5mb3JFYWNoO1xuICAgIHZhciBoYXNTZXQgPSB0eXBlb2YgU2V0ID09PSBcImZ1bmN0aW9uXCIgJiYgU2V0LnByb3RvdHlwZTtcbiAgICB2YXIgc2V0U2l6ZURlc2NyaXB0b3IgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yICYmIGhhc1NldCA/IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoU2V0LnByb3RvdHlwZSwgXCJzaXplXCIpIDogbnVsbDtcbiAgICB2YXIgc2V0U2l6ZSA9IGhhc1NldCAmJiBzZXRTaXplRGVzY3JpcHRvciAmJiB0eXBlb2Ygc2V0U2l6ZURlc2NyaXB0b3IuZ2V0ID09PSBcImZ1bmN0aW9uXCIgPyBzZXRTaXplRGVzY3JpcHRvci5nZXQgOiBudWxsO1xuICAgIHZhciBzZXRGb3JFYWNoID0gaGFzU2V0ICYmIFNldC5wcm90b3R5cGUuZm9yRWFjaDtcbiAgICB2YXIgaGFzV2Vha01hcCA9IHR5cGVvZiBXZWFrTWFwID09PSBcImZ1bmN0aW9uXCIgJiYgV2Vha01hcC5wcm90b3R5cGU7XG4gICAgdmFyIHdlYWtNYXBIYXMgPSBoYXNXZWFrTWFwID8gV2Vha01hcC5wcm90b3R5cGUuaGFzIDogbnVsbDtcbiAgICB2YXIgaGFzV2Vha1NldCA9IHR5cGVvZiBXZWFrU2V0ID09PSBcImZ1bmN0aW9uXCIgJiYgV2Vha1NldC5wcm90b3R5cGU7XG4gICAgdmFyIHdlYWtTZXRIYXMgPSBoYXNXZWFrU2V0ID8gV2Vha1NldC5wcm90b3R5cGUuaGFzIDogbnVsbDtcbiAgICB2YXIgaGFzV2Vha1JlZiA9IHR5cGVvZiBXZWFrUmVmID09PSBcImZ1bmN0aW9uXCIgJiYgV2Vha1JlZi5wcm90b3R5cGU7XG4gICAgdmFyIHdlYWtSZWZEZXJlZiA9IGhhc1dlYWtSZWYgPyBXZWFrUmVmLnByb3RvdHlwZS5kZXJlZiA6IG51bGw7XG4gICAgdmFyIGJvb2xlYW5WYWx1ZU9mID0gQm9vbGVhbi5wcm90b3R5cGUudmFsdWVPZjtcbiAgICB2YXIgb2JqZWN0VG9TdHJpbmcgPSBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nO1xuICAgIHZhciBmdW5jdGlvblRvU3RyaW5nID0gRnVuY3Rpb24ucHJvdG90eXBlLnRvU3RyaW5nO1xuICAgIHZhciAkbWF0Y2ggPSBTdHJpbmcucHJvdG90eXBlLm1hdGNoO1xuICAgIHZhciAkc2xpY2UgPSBTdHJpbmcucHJvdG90eXBlLnNsaWNlO1xuICAgIHZhciAkcmVwbGFjZSA9IFN0cmluZy5wcm90b3R5cGUucmVwbGFjZTtcbiAgICB2YXIgJHRvVXBwZXJDYXNlID0gU3RyaW5nLnByb3RvdHlwZS50b1VwcGVyQ2FzZTtcbiAgICB2YXIgJHRvTG93ZXJDYXNlID0gU3RyaW5nLnByb3RvdHlwZS50b0xvd2VyQ2FzZTtcbiAgICB2YXIgJHRlc3QgPSBSZWdFeHAucHJvdG90eXBlLnRlc3Q7XG4gICAgdmFyICRjb25jYXQgPSBBcnJheS5wcm90b3R5cGUuY29uY2F0O1xuICAgIHZhciAkam9pbiA9IEFycmF5LnByb3RvdHlwZS5qb2luO1xuICAgIHZhciAkYXJyU2xpY2UgPSBBcnJheS5wcm90b3R5cGUuc2xpY2U7XG4gICAgdmFyICRmbG9vciA9IE1hdGguZmxvb3I7XG4gICAgdmFyIGJpZ0ludFZhbHVlT2YgPSB0eXBlb2YgQmlnSW50ID09PSBcImZ1bmN0aW9uXCIgPyBCaWdJbnQucHJvdG90eXBlLnZhbHVlT2YgOiBudWxsO1xuICAgIHZhciBnT1BTID0gT2JqZWN0LmdldE93blByb3BlcnR5U3ltYm9scztcbiAgICB2YXIgc3ltVG9TdHJpbmcgPSB0eXBlb2YgU3ltYm9sID09PSBcImZ1bmN0aW9uXCIgJiYgdHlwZW9mIFN5bWJvbC5pdGVyYXRvciA9PT0gXCJzeW1ib2xcIiA/IFN5bWJvbC5wcm90b3R5cGUudG9TdHJpbmcgOiBudWxsO1xuICAgIHZhciBoYXNTaGFtbWVkU3ltYm9scyA9IHR5cGVvZiBTeW1ib2wgPT09IFwiZnVuY3Rpb25cIiAmJiB0eXBlb2YgU3ltYm9sLml0ZXJhdG9yID09PSBcIm9iamVjdFwiO1xuICAgIHZhciB0b1N0cmluZ1RhZyA9IHR5cGVvZiBTeW1ib2wgPT09IFwiZnVuY3Rpb25cIiAmJiBTeW1ib2wudG9TdHJpbmdUYWcgJiYgKHR5cGVvZiBTeW1ib2wudG9TdHJpbmdUYWcgPT09IGhhc1NoYW1tZWRTeW1ib2xzID8gXCJvYmplY3RcIiA6IFwic3ltYm9sXCIpID8gU3ltYm9sLnRvU3RyaW5nVGFnIDogbnVsbDtcbiAgICB2YXIgaXNFbnVtZXJhYmxlID0gT2JqZWN0LnByb3RvdHlwZS5wcm9wZXJ0eUlzRW51bWVyYWJsZTtcbiAgICB2YXIgZ1BPID0gKHR5cGVvZiBSZWZsZWN0ID09PSBcImZ1bmN0aW9uXCIgPyBSZWZsZWN0LmdldFByb3RvdHlwZU9mIDogT2JqZWN0LmdldFByb3RvdHlwZU9mKSB8fCAoW10uX19wcm90b19fID09PSBBcnJheS5wcm90b3R5cGUgPyBmdW5jdGlvbihPKSB7XG4gICAgICByZXR1cm4gTy5fX3Byb3RvX187XG4gICAgfSA6IG51bGwpO1xuICAgIGZ1bmN0aW9uIGFkZE51bWVyaWNTZXBhcmF0b3IobnVtLCBzdHIpIHtcbiAgICAgIGlmIChudW0gPT09IEluZmluaXR5IHx8IG51bSA9PT0gLUluZmluaXR5IHx8IG51bSAhPT0gbnVtIHx8IG51bSAmJiBudW0gPiAtMWUzICYmIG51bSA8IDFlMyB8fCAkdGVzdC5jYWxsKC9lLywgc3RyKSkge1xuICAgICAgICByZXR1cm4gc3RyO1xuICAgICAgfVxuICAgICAgdmFyIHNlcFJlZ2V4ID0gL1swLTldKD89KD86WzAtOV17M30pKyg/IVswLTldKSkvZztcbiAgICAgIGlmICh0eXBlb2YgbnVtID09PSBcIm51bWJlclwiKSB7XG4gICAgICAgIHZhciBpbnQgPSBudW0gPCAwID8gLSRmbG9vcigtbnVtKSA6ICRmbG9vcihudW0pO1xuICAgICAgICBpZiAoaW50ICE9PSBudW0pIHtcbiAgICAgICAgICB2YXIgaW50U3RyID0gU3RyaW5nKGludCk7XG4gICAgICAgICAgdmFyIGRlYyA9ICRzbGljZS5jYWxsKHN0ciwgaW50U3RyLmxlbmd0aCArIDEpO1xuICAgICAgICAgIHJldHVybiAkcmVwbGFjZS5jYWxsKGludFN0ciwgc2VwUmVnZXgsIFwiJCZfXCIpICsgXCIuXCIgKyAkcmVwbGFjZS5jYWxsKCRyZXBsYWNlLmNhbGwoZGVjLCAvKFswLTldezN9KS9nLCBcIiQmX1wiKSwgL18kLywgXCJcIik7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIHJldHVybiAkcmVwbGFjZS5jYWxsKHN0ciwgc2VwUmVnZXgsIFwiJCZfXCIpO1xuICAgIH1cbiAgICB2YXIgdXRpbEluc3BlY3QgPSByZXF1aXJlX3V0aWxfaW5zcGVjdCgpO1xuICAgIHZhciBpbnNwZWN0Q3VzdG9tID0gdXRpbEluc3BlY3QuY3VzdG9tO1xuICAgIHZhciBpbnNwZWN0U3ltYm9sID0gaXNTeW1ib2woaW5zcGVjdEN1c3RvbSkgPyBpbnNwZWN0Q3VzdG9tIDogbnVsbDtcbiAgICB2YXIgcXVvdGVzID0ge1xuICAgICAgX19wcm90b19fOiBudWxsLFxuICAgICAgXCJkb3VibGVcIjogJ1wiJyxcbiAgICAgIHNpbmdsZTogXCInXCJcbiAgICB9O1xuICAgIHZhciBxdW90ZVJFcyA9IHtcbiAgICAgIF9fcHJvdG9fXzogbnVsbCxcbiAgICAgIFwiZG91YmxlXCI6IC8oW1wiXFxcXF0pL2csXG4gICAgICBzaW5nbGU6IC8oWydcXFxcXSkvZ1xuICAgIH07XG4gICAgbW9kdWxlMi5leHBvcnRzID0gZnVuY3Rpb24gaW5zcGVjdF8ob2JqLCBvcHRpb25zLCBkZXB0aCwgc2Vlbikge1xuICAgICAgdmFyIG9wdHMgPSBvcHRpb25zIHx8IHt9O1xuICAgICAgaWYgKGhhcyhvcHRzLCBcInF1b3RlU3R5bGVcIikgJiYgIWhhcyhxdW90ZXMsIG9wdHMucXVvdGVTdHlsZSkpIHtcbiAgICAgICAgdGhyb3cgbmV3IFR5cGVFcnJvcignb3B0aW9uIFwicXVvdGVTdHlsZVwiIG11c3QgYmUgXCJzaW5nbGVcIiBvciBcImRvdWJsZVwiJyk7XG4gICAgICB9XG4gICAgICBpZiAoaGFzKG9wdHMsIFwibWF4U3RyaW5nTGVuZ3RoXCIpICYmICh0eXBlb2Ygb3B0cy5tYXhTdHJpbmdMZW5ndGggPT09IFwibnVtYmVyXCIgPyBvcHRzLm1heFN0cmluZ0xlbmd0aCA8IDAgJiYgb3B0cy5tYXhTdHJpbmdMZW5ndGggIT09IEluZmluaXR5IDogb3B0cy5tYXhTdHJpbmdMZW5ndGggIT09IG51bGwpKSB7XG4gICAgICAgIHRocm93IG5ldyBUeXBlRXJyb3IoJ29wdGlvbiBcIm1heFN0cmluZ0xlbmd0aFwiLCBpZiBwcm92aWRlZCwgbXVzdCBiZSBhIHBvc2l0aXZlIGludGVnZXIsIEluZmluaXR5LCBvciBgbnVsbGAnKTtcbiAgICAgIH1cbiAgICAgIHZhciBjdXN0b21JbnNwZWN0ID0gaGFzKG9wdHMsIFwiY3VzdG9tSW5zcGVjdFwiKSA/IG9wdHMuY3VzdG9tSW5zcGVjdCA6IHRydWU7XG4gICAgICBpZiAodHlwZW9mIGN1c3RvbUluc3BlY3QgIT09IFwiYm9vbGVhblwiICYmIGN1c3RvbUluc3BlY3QgIT09IFwic3ltYm9sXCIpIHtcbiAgICAgICAgdGhyb3cgbmV3IFR5cGVFcnJvcihcIm9wdGlvbiBcXFwiY3VzdG9tSW5zcGVjdFxcXCIsIGlmIHByb3ZpZGVkLCBtdXN0IGJlIGB0cnVlYCwgYGZhbHNlYCwgb3IgYCdzeW1ib2wnYFwiKTtcbiAgICAgIH1cbiAgICAgIGlmIChoYXMob3B0cywgXCJpbmRlbnRcIikgJiYgb3B0cy5pbmRlbnQgIT09IG51bGwgJiYgb3B0cy5pbmRlbnQgIT09IFwiXHRcIiAmJiAhKHBhcnNlSW50KG9wdHMuaW5kZW50LCAxMCkgPT09IG9wdHMuaW5kZW50ICYmIG9wdHMuaW5kZW50ID4gMCkpIHtcbiAgICAgICAgdGhyb3cgbmV3IFR5cGVFcnJvcignb3B0aW9uIFwiaW5kZW50XCIgbXVzdCBiZSBcIlxcXFx0XCIsIGFuIGludGVnZXIgPiAwLCBvciBgbnVsbGAnKTtcbiAgICAgIH1cbiAgICAgIGlmIChoYXMob3B0cywgXCJudW1lcmljU2VwYXJhdG9yXCIpICYmIHR5cGVvZiBvcHRzLm51bWVyaWNTZXBhcmF0b3IgIT09IFwiYm9vbGVhblwiKSB7XG4gICAgICAgIHRocm93IG5ldyBUeXBlRXJyb3IoJ29wdGlvbiBcIm51bWVyaWNTZXBhcmF0b3JcIiwgaWYgcHJvdmlkZWQsIG11c3QgYmUgYHRydWVgIG9yIGBmYWxzZWAnKTtcbiAgICAgIH1cbiAgICAgIHZhciBudW1lcmljU2VwYXJhdG9yID0gb3B0cy5udW1lcmljU2VwYXJhdG9yO1xuICAgICAgaWYgKHR5cGVvZiBvYmogPT09IFwidW5kZWZpbmVkXCIpIHtcbiAgICAgICAgcmV0dXJuIFwidW5kZWZpbmVkXCI7XG4gICAgICB9XG4gICAgICBpZiAob2JqID09PSBudWxsKSB7XG4gICAgICAgIHJldHVybiBcIm51bGxcIjtcbiAgICAgIH1cbiAgICAgIGlmICh0eXBlb2Ygb2JqID09PSBcImJvb2xlYW5cIikge1xuICAgICAgICByZXR1cm4gb2JqID8gXCJ0cnVlXCIgOiBcImZhbHNlXCI7XG4gICAgICB9XG4gICAgICBpZiAodHlwZW9mIG9iaiA9PT0gXCJzdHJpbmdcIikge1xuICAgICAgICByZXR1cm4gaW5zcGVjdFN0cmluZyhvYmosIG9wdHMpO1xuICAgICAgfVxuICAgICAgaWYgKHR5cGVvZiBvYmogPT09IFwibnVtYmVyXCIpIHtcbiAgICAgICAgaWYgKG9iaiA9PT0gMCkge1xuICAgICAgICAgIHJldHVybiBJbmZpbml0eSAvIG9iaiA+IDAgPyBcIjBcIiA6IFwiLTBcIjtcbiAgICAgICAgfVxuICAgICAgICB2YXIgc3RyID0gU3RyaW5nKG9iaik7XG4gICAgICAgIHJldHVybiBudW1lcmljU2VwYXJhdG9yID8gYWRkTnVtZXJpY1NlcGFyYXRvcihvYmosIHN0cikgOiBzdHI7XG4gICAgICB9XG4gICAgICBpZiAodHlwZW9mIG9iaiA9PT0gXCJiaWdpbnRcIikge1xuICAgICAgICB2YXIgYmlnSW50U3RyID0gU3RyaW5nKG9iaikgKyBcIm5cIjtcbiAgICAgICAgcmV0dXJuIG51bWVyaWNTZXBhcmF0b3IgPyBhZGROdW1lcmljU2VwYXJhdG9yKG9iaiwgYmlnSW50U3RyKSA6IGJpZ0ludFN0cjtcbiAgICAgIH1cbiAgICAgIHZhciBtYXhEZXB0aCA9IHR5cGVvZiBvcHRzLmRlcHRoID09PSBcInVuZGVmaW5lZFwiID8gNSA6IG9wdHMuZGVwdGg7XG4gICAgICBpZiAodHlwZW9mIGRlcHRoID09PSBcInVuZGVmaW5lZFwiKSB7XG4gICAgICAgIGRlcHRoID0gMDtcbiAgICAgIH1cbiAgICAgIGlmIChkZXB0aCA+PSBtYXhEZXB0aCAmJiBtYXhEZXB0aCA+IDAgJiYgdHlwZW9mIG9iaiA9PT0gXCJvYmplY3RcIikge1xuICAgICAgICByZXR1cm4gaXNBcnJheShvYmopID8gXCJbQXJyYXldXCIgOiBcIltPYmplY3RdXCI7XG4gICAgICB9XG4gICAgICB2YXIgaW5kZW50ID0gZ2V0SW5kZW50KG9wdHMsIGRlcHRoKTtcbiAgICAgIGlmICh0eXBlb2Ygc2VlbiA9PT0gXCJ1bmRlZmluZWRcIikge1xuICAgICAgICBzZWVuID0gW107XG4gICAgICB9IGVsc2UgaWYgKGluZGV4T2Yoc2Vlbiwgb2JqKSA+PSAwKSB7XG4gICAgICAgIHJldHVybiBcIltDaXJjdWxhcl1cIjtcbiAgICAgIH1cbiAgICAgIGZ1bmN0aW9uIGluc3BlY3QodmFsdWUsIGZyb20sIG5vSW5kZW50KSB7XG4gICAgICAgIGlmIChmcm9tKSB7XG4gICAgICAgICAgc2VlbiA9ICRhcnJTbGljZS5jYWxsKHNlZW4pO1xuICAgICAgICAgIHNlZW4ucHVzaChmcm9tKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAobm9JbmRlbnQpIHtcbiAgICAgICAgICB2YXIgbmV3T3B0cyA9IHtcbiAgICAgICAgICAgIGRlcHRoOiBvcHRzLmRlcHRoXG4gICAgICAgICAgfTtcbiAgICAgICAgICBpZiAoaGFzKG9wdHMsIFwicXVvdGVTdHlsZVwiKSkge1xuICAgICAgICAgICAgbmV3T3B0cy5xdW90ZVN0eWxlID0gb3B0cy5xdW90ZVN0eWxlO1xuICAgICAgICAgIH1cbiAgICAgICAgICByZXR1cm4gaW5zcGVjdF8odmFsdWUsIG5ld09wdHMsIGRlcHRoICsgMSwgc2Vlbik7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGluc3BlY3RfKHZhbHVlLCBvcHRzLCBkZXB0aCArIDEsIHNlZW4pO1xuICAgICAgfVxuICAgICAgaWYgKHR5cGVvZiBvYmogPT09IFwiZnVuY3Rpb25cIiAmJiAhaXNSZWdFeHAob2JqKSkge1xuICAgICAgICB2YXIgbmFtZSA9IG5hbWVPZihvYmopO1xuICAgICAgICB2YXIga2V5cyA9IGFyck9iaktleXMob2JqLCBpbnNwZWN0KTtcbiAgICAgICAgcmV0dXJuIFwiW0Z1bmN0aW9uXCIgKyAobmFtZSA/IFwiOiBcIiArIG5hbWUgOiBcIiAoYW5vbnltb3VzKVwiKSArIFwiXVwiICsgKGtleXMubGVuZ3RoID4gMCA/IFwiIHsgXCIgKyAkam9pbi5jYWxsKGtleXMsIFwiLCBcIikgKyBcIiB9XCIgOiBcIlwiKTtcbiAgICAgIH1cbiAgICAgIGlmIChpc1N5bWJvbChvYmopKSB7XG4gICAgICAgIHZhciBzeW1TdHJpbmcgPSBoYXNTaGFtbWVkU3ltYm9scyA/ICRyZXBsYWNlLmNhbGwoU3RyaW5nKG9iaiksIC9eKFN5bWJvbFxcKC4qXFwpKV9bXildKiQvLCBcIiQxXCIpIDogc3ltVG9TdHJpbmcuY2FsbChvYmopO1xuICAgICAgICByZXR1cm4gdHlwZW9mIG9iaiA9PT0gXCJvYmplY3RcIiAmJiAhaGFzU2hhbW1lZFN5bWJvbHMgPyBtYXJrQm94ZWQoc3ltU3RyaW5nKSA6IHN5bVN0cmluZztcbiAgICAgIH1cbiAgICAgIGlmIChpc0VsZW1lbnQob2JqKSkge1xuICAgICAgICB2YXIgcyA9IFwiPFwiICsgJHRvTG93ZXJDYXNlLmNhbGwoU3RyaW5nKG9iai5ub2RlTmFtZSkpO1xuICAgICAgICB2YXIgYXR0cnMgPSBvYmouYXR0cmlidXRlcyB8fCBbXTtcbiAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBhdHRycy5sZW5ndGg7IGkrKykge1xuICAgICAgICAgIHMgKz0gXCIgXCIgKyBhdHRyc1tpXS5uYW1lICsgXCI9XCIgKyB3cmFwUXVvdGVzKHF1b3RlKGF0dHJzW2ldLnZhbHVlKSwgXCJkb3VibGVcIiwgb3B0cyk7XG4gICAgICAgIH1cbiAgICAgICAgcyArPSBcIj5cIjtcbiAgICAgICAgaWYgKG9iai5jaGlsZE5vZGVzICYmIG9iai5jaGlsZE5vZGVzLmxlbmd0aCkge1xuICAgICAgICAgIHMgKz0gXCIuLi5cIjtcbiAgICAgICAgfVxuICAgICAgICBzICs9IFwiPC9cIiArICR0b0xvd2VyQ2FzZS5jYWxsKFN0cmluZyhvYmoubm9kZU5hbWUpKSArIFwiPlwiO1xuICAgICAgICByZXR1cm4gcztcbiAgICAgIH1cbiAgICAgIGlmIChpc0FycmF5KG9iaikpIHtcbiAgICAgICAgaWYgKG9iai5sZW5ndGggPT09IDApIHtcbiAgICAgICAgICByZXR1cm4gXCJbXVwiO1xuICAgICAgICB9XG4gICAgICAgIHZhciB4cyA9IGFyck9iaktleXMob2JqLCBpbnNwZWN0KTtcbiAgICAgICAgaWYgKGluZGVudCAmJiAhc2luZ2xlTGluZVZhbHVlcyh4cykpIHtcbiAgICAgICAgICByZXR1cm4gXCJbXCIgKyBpbmRlbnRlZEpvaW4oeHMsIGluZGVudCkgKyBcIl1cIjtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gXCJbIFwiICsgJGpvaW4uY2FsbCh4cywgXCIsIFwiKSArIFwiIF1cIjtcbiAgICAgIH1cbiAgICAgIGlmIChpc0Vycm9yKG9iaikpIHtcbiAgICAgICAgdmFyIHBhcnRzID0gYXJyT2JqS2V5cyhvYmosIGluc3BlY3QpO1xuICAgICAgICBpZiAoIShcImNhdXNlXCIgaW4gRXJyb3IucHJvdG90eXBlKSAmJiBcImNhdXNlXCIgaW4gb2JqICYmICFpc0VudW1lcmFibGUuY2FsbChvYmosIFwiY2F1c2VcIikpIHtcbiAgICAgICAgICByZXR1cm4gXCJ7IFtcIiArIFN0cmluZyhvYmopICsgXCJdIFwiICsgJGpvaW4uY2FsbCgkY29uY2F0LmNhbGwoXCJbY2F1c2VdOiBcIiArIGluc3BlY3Qob2JqLmNhdXNlKSwgcGFydHMpLCBcIiwgXCIpICsgXCIgfVwiO1xuICAgICAgICB9XG4gICAgICAgIGlmIChwYXJ0cy5sZW5ndGggPT09IDApIHtcbiAgICAgICAgICByZXR1cm4gXCJbXCIgKyBTdHJpbmcob2JqKSArIFwiXVwiO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBcInsgW1wiICsgU3RyaW5nKG9iaikgKyBcIl0gXCIgKyAkam9pbi5jYWxsKHBhcnRzLCBcIiwgXCIpICsgXCIgfVwiO1xuICAgICAgfVxuICAgICAgaWYgKHR5cGVvZiBvYmogPT09IFwib2JqZWN0XCIgJiYgY3VzdG9tSW5zcGVjdCkge1xuICAgICAgICBpZiAoaW5zcGVjdFN5bWJvbCAmJiB0eXBlb2Ygb2JqW2luc3BlY3RTeW1ib2xdID09PSBcImZ1bmN0aW9uXCIgJiYgdXRpbEluc3BlY3QpIHtcbiAgICAgICAgICByZXR1cm4gdXRpbEluc3BlY3Qob2JqLCB7IGRlcHRoOiBtYXhEZXB0aCAtIGRlcHRoIH0pO1xuICAgICAgICB9IGVsc2UgaWYgKGN1c3RvbUluc3BlY3QgIT09IFwic3ltYm9sXCIgJiYgdHlwZW9mIG9iai5pbnNwZWN0ID09PSBcImZ1bmN0aW9uXCIpIHtcbiAgICAgICAgICByZXR1cm4gb2JqLmluc3BlY3QoKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgaWYgKGlzTWFwKG9iaikpIHtcbiAgICAgICAgdmFyIG1hcFBhcnRzID0gW107XG4gICAgICAgIGlmIChtYXBGb3JFYWNoKSB7XG4gICAgICAgICAgbWFwRm9yRWFjaC5jYWxsKG9iaiwgZnVuY3Rpb24odmFsdWUsIGtleSkge1xuICAgICAgICAgICAgbWFwUGFydHMucHVzaChpbnNwZWN0KGtleSwgb2JqLCB0cnVlKSArIFwiID0+IFwiICsgaW5zcGVjdCh2YWx1ZSwgb2JqKSk7XG4gICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGNvbGxlY3Rpb25PZihcIk1hcFwiLCBtYXBTaXplLmNhbGwob2JqKSwgbWFwUGFydHMsIGluZGVudCk7XG4gICAgICB9XG4gICAgICBpZiAoaXNTZXQob2JqKSkge1xuICAgICAgICB2YXIgc2V0UGFydHMgPSBbXTtcbiAgICAgICAgaWYgKHNldEZvckVhY2gpIHtcbiAgICAgICAgICBzZXRGb3JFYWNoLmNhbGwob2JqLCBmdW5jdGlvbih2YWx1ZSkge1xuICAgICAgICAgICAgc2V0UGFydHMucHVzaChpbnNwZWN0KHZhbHVlLCBvYmopKTtcbiAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gY29sbGVjdGlvbk9mKFwiU2V0XCIsIHNldFNpemUuY2FsbChvYmopLCBzZXRQYXJ0cywgaW5kZW50KTtcbiAgICAgIH1cbiAgICAgIGlmIChpc1dlYWtNYXAob2JqKSkge1xuICAgICAgICByZXR1cm4gd2Vha0NvbGxlY3Rpb25PZihcIldlYWtNYXBcIik7XG4gICAgICB9XG4gICAgICBpZiAoaXNXZWFrU2V0KG9iaikpIHtcbiAgICAgICAgcmV0dXJuIHdlYWtDb2xsZWN0aW9uT2YoXCJXZWFrU2V0XCIpO1xuICAgICAgfVxuICAgICAgaWYgKGlzV2Vha1JlZihvYmopKSB7XG4gICAgICAgIHJldHVybiB3ZWFrQ29sbGVjdGlvbk9mKFwiV2Vha1JlZlwiKTtcbiAgICAgIH1cbiAgICAgIGlmIChpc051bWJlcihvYmopKSB7XG4gICAgICAgIHJldHVybiBtYXJrQm94ZWQoaW5zcGVjdChOdW1iZXIob2JqKSkpO1xuICAgICAgfVxuICAgICAgaWYgKGlzQmlnSW50KG9iaikpIHtcbiAgICAgICAgcmV0dXJuIG1hcmtCb3hlZChpbnNwZWN0KGJpZ0ludFZhbHVlT2YuY2FsbChvYmopKSk7XG4gICAgICB9XG4gICAgICBpZiAoaXNCb29sZWFuKG9iaikpIHtcbiAgICAgICAgcmV0dXJuIG1hcmtCb3hlZChib29sZWFuVmFsdWVPZi5jYWxsKG9iaikpO1xuICAgICAgfVxuICAgICAgaWYgKGlzU3RyaW5nKG9iaikpIHtcbiAgICAgICAgcmV0dXJuIG1hcmtCb3hlZChpbnNwZWN0KFN0cmluZyhvYmopKSk7XG4gICAgICB9XG4gICAgICBpZiAodHlwZW9mIHdpbmRvdyAhPT0gXCJ1bmRlZmluZWRcIiAmJiBvYmogPT09IHdpbmRvdykge1xuICAgICAgICByZXR1cm4gXCJ7IFtvYmplY3QgV2luZG93XSB9XCI7XG4gICAgICB9XG4gICAgICBpZiAodHlwZW9mIGdsb2JhbFRoaXMgIT09IFwidW5kZWZpbmVkXCIgJiYgb2JqID09PSBnbG9iYWxUaGlzIHx8IHR5cGVvZiBnbG9iYWwgIT09IFwidW5kZWZpbmVkXCIgJiYgb2JqID09PSBnbG9iYWwpIHtcbiAgICAgICAgcmV0dXJuIFwieyBbb2JqZWN0IGdsb2JhbFRoaXNdIH1cIjtcbiAgICAgIH1cbiAgICAgIGlmICghaXNEYXRlKG9iaikgJiYgIWlzUmVnRXhwKG9iaikpIHtcbiAgICAgICAgdmFyIHlzID0gYXJyT2JqS2V5cyhvYmosIGluc3BlY3QpO1xuICAgICAgICB2YXIgaXNQbGFpbk9iamVjdCA9IGdQTyA/IGdQTyhvYmopID09PSBPYmplY3QucHJvdG90eXBlIDogb2JqIGluc3RhbmNlb2YgT2JqZWN0IHx8IG9iai5jb25zdHJ1Y3RvciA9PT0gT2JqZWN0O1xuICAgICAgICB2YXIgcHJvdG9UYWcgPSBvYmogaW5zdGFuY2VvZiBPYmplY3QgPyBcIlwiIDogXCJudWxsIHByb3RvdHlwZVwiO1xuICAgICAgICB2YXIgc3RyaW5nVGFnID0gIWlzUGxhaW5PYmplY3QgJiYgdG9TdHJpbmdUYWcgJiYgT2JqZWN0KG9iaikgPT09IG9iaiAmJiB0b1N0cmluZ1RhZyBpbiBvYmogPyAkc2xpY2UuY2FsbCh0b1N0cihvYmopLCA4LCAtMSkgOiBwcm90b1RhZyA/IFwiT2JqZWN0XCIgOiBcIlwiO1xuICAgICAgICB2YXIgY29uc3RydWN0b3JUYWcgPSBpc1BsYWluT2JqZWN0IHx8IHR5cGVvZiBvYmouY29uc3RydWN0b3IgIT09IFwiZnVuY3Rpb25cIiA/IFwiXCIgOiBvYmouY29uc3RydWN0b3IubmFtZSA/IG9iai5jb25zdHJ1Y3Rvci5uYW1lICsgXCIgXCIgOiBcIlwiO1xuICAgICAgICB2YXIgdGFnID0gY29uc3RydWN0b3JUYWcgKyAoc3RyaW5nVGFnIHx8IHByb3RvVGFnID8gXCJbXCIgKyAkam9pbi5jYWxsKCRjb25jYXQuY2FsbChbXSwgc3RyaW5nVGFnIHx8IFtdLCBwcm90b1RhZyB8fCBbXSksIFwiOiBcIikgKyBcIl0gXCIgOiBcIlwiKTtcbiAgICAgICAgaWYgKHlzLmxlbmd0aCA9PT0gMCkge1xuICAgICAgICAgIHJldHVybiB0YWcgKyBcInt9XCI7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGluZGVudCkge1xuICAgICAgICAgIHJldHVybiB0YWcgKyBcIntcIiArIGluZGVudGVkSm9pbih5cywgaW5kZW50KSArIFwifVwiO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiB0YWcgKyBcInsgXCIgKyAkam9pbi5jYWxsKHlzLCBcIiwgXCIpICsgXCIgfVwiO1xuICAgICAgfVxuICAgICAgcmV0dXJuIFN0cmluZyhvYmopO1xuICAgIH07XG4gICAgZnVuY3Rpb24gd3JhcFF1b3RlcyhzLCBkZWZhdWx0U3R5bGUsIG9wdHMpIHtcbiAgICAgIHZhciBzdHlsZSA9IG9wdHMucXVvdGVTdHlsZSB8fCBkZWZhdWx0U3R5bGU7XG4gICAgICB2YXIgcXVvdGVDaGFyID0gcXVvdGVzW3N0eWxlXTtcbiAgICAgIHJldHVybiBxdW90ZUNoYXIgKyBzICsgcXVvdGVDaGFyO1xuICAgIH1cbiAgICBmdW5jdGlvbiBxdW90ZShzKSB7XG4gICAgICByZXR1cm4gJHJlcGxhY2UuY2FsbChTdHJpbmcocyksIC9cIi9nLCBcIiZxdW90O1wiKTtcbiAgICB9XG4gICAgZnVuY3Rpb24gY2FuVHJ1c3RUb1N0cmluZyhvYmopIHtcbiAgICAgIHJldHVybiAhdG9TdHJpbmdUYWcgfHwgISh0eXBlb2Ygb2JqID09PSBcIm9iamVjdFwiICYmICh0b1N0cmluZ1RhZyBpbiBvYmogfHwgdHlwZW9mIG9ialt0b1N0cmluZ1RhZ10gIT09IFwidW5kZWZpbmVkXCIpKTtcbiAgICB9XG4gICAgZnVuY3Rpb24gaXNBcnJheShvYmopIHtcbiAgICAgIHJldHVybiB0b1N0cihvYmopID09PSBcIltvYmplY3QgQXJyYXldXCIgJiYgY2FuVHJ1c3RUb1N0cmluZyhvYmopO1xuICAgIH1cbiAgICBmdW5jdGlvbiBpc0RhdGUob2JqKSB7XG4gICAgICByZXR1cm4gdG9TdHIob2JqKSA9PT0gXCJbb2JqZWN0IERhdGVdXCIgJiYgY2FuVHJ1c3RUb1N0cmluZyhvYmopO1xuICAgIH1cbiAgICBmdW5jdGlvbiBpc1JlZ0V4cChvYmopIHtcbiAgICAgIHJldHVybiB0b1N0cihvYmopID09PSBcIltvYmplY3QgUmVnRXhwXVwiICYmIGNhblRydXN0VG9TdHJpbmcob2JqKTtcbiAgICB9XG4gICAgZnVuY3Rpb24gaXNFcnJvcihvYmopIHtcbiAgICAgIHJldHVybiB0b1N0cihvYmopID09PSBcIltvYmplY3QgRXJyb3JdXCIgJiYgY2FuVHJ1c3RUb1N0cmluZyhvYmopO1xuICAgIH1cbiAgICBmdW5jdGlvbiBpc1N0cmluZyhvYmopIHtcbiAgICAgIHJldHVybiB0b1N0cihvYmopID09PSBcIltvYmplY3QgU3RyaW5nXVwiICYmIGNhblRydXN0VG9TdHJpbmcob2JqKTtcbiAgICB9XG4gICAgZnVuY3Rpb24gaXNOdW1iZXIob2JqKSB7XG4gICAgICByZXR1cm4gdG9TdHIob2JqKSA9PT0gXCJbb2JqZWN0IE51bWJlcl1cIiAmJiBjYW5UcnVzdFRvU3RyaW5nKG9iaik7XG4gICAgfVxuICAgIGZ1bmN0aW9uIGlzQm9vbGVhbihvYmopIHtcbiAgICAgIHJldHVybiB0b1N0cihvYmopID09PSBcIltvYmplY3QgQm9vbGVhbl1cIiAmJiBjYW5UcnVzdFRvU3RyaW5nKG9iaik7XG4gICAgfVxuICAgIGZ1bmN0aW9uIGlzU3ltYm9sKG9iaikge1xuICAgICAgaWYgKGhhc1NoYW1tZWRTeW1ib2xzKSB7XG4gICAgICAgIHJldHVybiBvYmogJiYgdHlwZW9mIG9iaiA9PT0gXCJvYmplY3RcIiAmJiBvYmogaW5zdGFuY2VvZiBTeW1ib2w7XG4gICAgICB9XG4gICAgICBpZiAodHlwZW9mIG9iaiA9PT0gXCJzeW1ib2xcIikge1xuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgIH1cbiAgICAgIGlmICghb2JqIHx8IHR5cGVvZiBvYmogIT09IFwib2JqZWN0XCIgfHwgIXN5bVRvU3RyaW5nKSB7XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgIH1cbiAgICAgIHRyeSB7XG4gICAgICAgIHN5bVRvU3RyaW5nLmNhbGwob2JqKTtcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICB9IGNhdGNoIChlKSB7XG4gICAgICB9XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuICAgIGZ1bmN0aW9uIGlzQmlnSW50KG9iaikge1xuICAgICAgaWYgKCFvYmogfHwgdHlwZW9mIG9iaiAhPT0gXCJvYmplY3RcIiB8fCAhYmlnSW50VmFsdWVPZikge1xuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICB9XG4gICAgICB0cnkge1xuICAgICAgICBiaWdJbnRWYWx1ZU9mLmNhbGwob2JqKTtcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICB9IGNhdGNoIChlKSB7XG4gICAgICB9XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuICAgIHZhciBoYXNPd24gPSBPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5IHx8IGZ1bmN0aW9uKGtleSkge1xuICAgICAgcmV0dXJuIGtleSBpbiB0aGlzO1xuICAgIH07XG4gICAgZnVuY3Rpb24gaGFzKG9iaiwga2V5KSB7XG4gICAgICByZXR1cm4gaGFzT3duLmNhbGwob2JqLCBrZXkpO1xuICAgIH1cbiAgICBmdW5jdGlvbiB0b1N0cihvYmopIHtcbiAgICAgIHJldHVybiBvYmplY3RUb1N0cmluZy5jYWxsKG9iaik7XG4gICAgfVxuICAgIGZ1bmN0aW9uIG5hbWVPZihmKSB7XG4gICAgICBpZiAoZi5uYW1lKSB7XG4gICAgICAgIHJldHVybiBmLm5hbWU7XG4gICAgICB9XG4gICAgICB2YXIgbSA9ICRtYXRjaC5jYWxsKGZ1bmN0aW9uVG9TdHJpbmcuY2FsbChmKSwgL15mdW5jdGlvblxccyooW1xcdyRdKykvKTtcbiAgICAgIGlmIChtKSB7XG4gICAgICAgIHJldHVybiBtWzFdO1xuICAgICAgfVxuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuICAgIGZ1bmN0aW9uIGluZGV4T2YoeHMsIHgpIHtcbiAgICAgIGlmICh4cy5pbmRleE9mKSB7XG4gICAgICAgIHJldHVybiB4cy5pbmRleE9mKHgpO1xuICAgICAgfVxuICAgICAgZm9yICh2YXIgaSA9IDAsIGwgPSB4cy5sZW5ndGg7IGkgPCBsOyBpKyspIHtcbiAgICAgICAgaWYgKHhzW2ldID09PSB4KSB7XG4gICAgICAgICAgcmV0dXJuIGk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIHJldHVybiAtMTtcbiAgICB9XG4gICAgZnVuY3Rpb24gaXNNYXAoeCkge1xuICAgICAgaWYgKCFtYXBTaXplIHx8ICF4IHx8IHR5cGVvZiB4ICE9PSBcIm9iamVjdFwiKSB7XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgIH1cbiAgICAgIHRyeSB7XG4gICAgICAgIG1hcFNpemUuY2FsbCh4KTtcbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICBzZXRTaXplLmNhbGwoeCk7XG4gICAgICAgIH0gY2F0Y2ggKHMpIHtcbiAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4geCBpbnN0YW5jZW9mIE1hcDtcbiAgICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgIH1cbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gICAgZnVuY3Rpb24gaXNXZWFrTWFwKHgpIHtcbiAgICAgIGlmICghd2Vha01hcEhhcyB8fCAheCB8fCB0eXBlb2YgeCAhPT0gXCJvYmplY3RcIikge1xuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICB9XG4gICAgICB0cnkge1xuICAgICAgICB3ZWFrTWFwSGFzLmNhbGwoeCwgd2Vha01hcEhhcyk7XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgd2Vha1NldEhhcy5jYWxsKHgsIHdlYWtTZXRIYXMpO1xuICAgICAgICB9IGNhdGNoIChzKSB7XG4gICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHggaW5zdGFuY2VvZiBXZWFrTWFwO1xuICAgICAgfSBjYXRjaCAoZSkge1xuICAgICAgfVxuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgICBmdW5jdGlvbiBpc1dlYWtSZWYoeCkge1xuICAgICAgaWYgKCF3ZWFrUmVmRGVyZWYgfHwgIXggfHwgdHlwZW9mIHggIT09IFwib2JqZWN0XCIpIHtcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgfVxuICAgICAgdHJ5IHtcbiAgICAgICAgd2Vha1JlZkRlcmVmLmNhbGwoeCk7XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgfSBjYXRjaCAoZSkge1xuICAgICAgfVxuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgICBmdW5jdGlvbiBpc1NldCh4KSB7XG4gICAgICBpZiAoIXNldFNpemUgfHwgIXggfHwgdHlwZW9mIHggIT09IFwib2JqZWN0XCIpIHtcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgfVxuICAgICAgdHJ5IHtcbiAgICAgICAgc2V0U2l6ZS5jYWxsKHgpO1xuICAgICAgICB0cnkge1xuICAgICAgICAgIG1hcFNpemUuY2FsbCh4KTtcbiAgICAgICAgfSBjYXRjaCAobSkge1xuICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiB4IGluc3RhbmNlb2YgU2V0O1xuICAgICAgfSBjYXRjaCAoZSkge1xuICAgICAgfVxuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgICBmdW5jdGlvbiBpc1dlYWtTZXQoeCkge1xuICAgICAgaWYgKCF3ZWFrU2V0SGFzIHx8ICF4IHx8IHR5cGVvZiB4ICE9PSBcIm9iamVjdFwiKSB7XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgIH1cbiAgICAgIHRyeSB7XG4gICAgICAgIHdlYWtTZXRIYXMuY2FsbCh4LCB3ZWFrU2V0SGFzKTtcbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICB3ZWFrTWFwSGFzLmNhbGwoeCwgd2Vha01hcEhhcyk7XG4gICAgICAgIH0gY2F0Y2ggKHMpIHtcbiAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4geCBpbnN0YW5jZW9mIFdlYWtTZXQ7XG4gICAgICB9IGNhdGNoIChlKSB7XG4gICAgICB9XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuICAgIGZ1bmN0aW9uIGlzRWxlbWVudCh4KSB7XG4gICAgICBpZiAoIXggfHwgdHlwZW9mIHggIT09IFwib2JqZWN0XCIpIHtcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgfVxuICAgICAgaWYgKHR5cGVvZiBIVE1MRWxlbWVudCAhPT0gXCJ1bmRlZmluZWRcIiAmJiB4IGluc3RhbmNlb2YgSFRNTEVsZW1lbnQpIHtcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICB9XG4gICAgICByZXR1cm4gdHlwZW9mIHgubm9kZU5hbWUgPT09IFwic3RyaW5nXCIgJiYgdHlwZW9mIHguZ2V0QXR0cmlidXRlID09PSBcImZ1bmN0aW9uXCI7XG4gICAgfVxuICAgIGZ1bmN0aW9uIGluc3BlY3RTdHJpbmcoc3RyLCBvcHRzKSB7XG4gICAgICBpZiAoc3RyLmxlbmd0aCA+IG9wdHMubWF4U3RyaW5nTGVuZ3RoKSB7XG4gICAgICAgIHZhciByZW1haW5pbmcgPSBzdHIubGVuZ3RoIC0gb3B0cy5tYXhTdHJpbmdMZW5ndGg7XG4gICAgICAgIHZhciB0cmFpbGVyID0gXCIuLi4gXCIgKyByZW1haW5pbmcgKyBcIiBtb3JlIGNoYXJhY3RlclwiICsgKHJlbWFpbmluZyA+IDEgPyBcInNcIiA6IFwiXCIpO1xuICAgICAgICByZXR1cm4gaW5zcGVjdFN0cmluZygkc2xpY2UuY2FsbChzdHIsIDAsIG9wdHMubWF4U3RyaW5nTGVuZ3RoKSwgb3B0cykgKyB0cmFpbGVyO1xuICAgICAgfVxuICAgICAgdmFyIHF1b3RlUkUgPSBxdW90ZVJFc1tvcHRzLnF1b3RlU3R5bGUgfHwgXCJzaW5nbGVcIl07XG4gICAgICBxdW90ZVJFLmxhc3RJbmRleCA9IDA7XG4gICAgICB2YXIgcyA9ICRyZXBsYWNlLmNhbGwoJHJlcGxhY2UuY2FsbChzdHIsIHF1b3RlUkUsIFwiXFxcXCQxXCIpLCAvW1xceDAwLVxceDFmXS9nLCBsb3dieXRlKTtcbiAgICAgIHJldHVybiB3cmFwUXVvdGVzKHMsIFwic2luZ2xlXCIsIG9wdHMpO1xuICAgIH1cbiAgICBmdW5jdGlvbiBsb3dieXRlKGMpIHtcbiAgICAgIHZhciBuID0gYy5jaGFyQ29kZUF0KDApO1xuICAgICAgdmFyIHggPSB7XG4gICAgICAgIDg6IFwiYlwiLFxuICAgICAgICA5OiBcInRcIixcbiAgICAgICAgMTA6IFwiblwiLFxuICAgICAgICAxMjogXCJmXCIsXG4gICAgICAgIDEzOiBcInJcIlxuICAgICAgfVtuXTtcbiAgICAgIGlmICh4KSB7XG4gICAgICAgIHJldHVybiBcIlxcXFxcIiArIHg7XG4gICAgICB9XG4gICAgICByZXR1cm4gXCJcXFxceFwiICsgKG4gPCAxNiA/IFwiMFwiIDogXCJcIikgKyAkdG9VcHBlckNhc2UuY2FsbChuLnRvU3RyaW5nKDE2KSk7XG4gICAgfVxuICAgIGZ1bmN0aW9uIG1hcmtCb3hlZChzdHIpIHtcbiAgICAgIHJldHVybiBcIk9iamVjdChcIiArIHN0ciArIFwiKVwiO1xuICAgIH1cbiAgICBmdW5jdGlvbiB3ZWFrQ29sbGVjdGlvbk9mKHR5cGUpIHtcbiAgICAgIHJldHVybiB0eXBlICsgXCIgeyA/IH1cIjtcbiAgICB9XG4gICAgZnVuY3Rpb24gY29sbGVjdGlvbk9mKHR5cGUsIHNpemUsIGVudHJpZXMsIGluZGVudCkge1xuICAgICAgdmFyIGpvaW5lZEVudHJpZXMgPSBpbmRlbnQgPyBpbmRlbnRlZEpvaW4oZW50cmllcywgaW5kZW50KSA6ICRqb2luLmNhbGwoZW50cmllcywgXCIsIFwiKTtcbiAgICAgIHJldHVybiB0eXBlICsgXCIgKFwiICsgc2l6ZSArIFwiKSB7XCIgKyBqb2luZWRFbnRyaWVzICsgXCJ9XCI7XG4gICAgfVxuICAgIGZ1bmN0aW9uIHNpbmdsZUxpbmVWYWx1ZXMoeHMpIHtcbiAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgeHMubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgaWYgKGluZGV4T2YoeHNbaV0sIFwiXFxuXCIpID49IDApIHtcbiAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cbiAgICBmdW5jdGlvbiBnZXRJbmRlbnQob3B0cywgZGVwdGgpIHtcbiAgICAgIHZhciBiYXNlSW5kZW50O1xuICAgICAgaWYgKG9wdHMuaW5kZW50ID09PSBcIlx0XCIpIHtcbiAgICAgICAgYmFzZUluZGVudCA9IFwiXHRcIjtcbiAgICAgIH0gZWxzZSBpZiAodHlwZW9mIG9wdHMuaW5kZW50ID09PSBcIm51bWJlclwiICYmIG9wdHMuaW5kZW50ID4gMCkge1xuICAgICAgICBiYXNlSW5kZW50ID0gJGpvaW4uY2FsbChBcnJheShvcHRzLmluZGVudCArIDEpLCBcIiBcIik7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgIH1cbiAgICAgIHJldHVybiB7XG4gICAgICAgIGJhc2U6IGJhc2VJbmRlbnQsXG4gICAgICAgIHByZXY6ICRqb2luLmNhbGwoQXJyYXkoZGVwdGggKyAxKSwgYmFzZUluZGVudClcbiAgICAgIH07XG4gICAgfVxuICAgIGZ1bmN0aW9uIGluZGVudGVkSm9pbih4cywgaW5kZW50KSB7XG4gICAgICBpZiAoeHMubGVuZ3RoID09PSAwKSB7XG4gICAgICAgIHJldHVybiBcIlwiO1xuICAgICAgfVxuICAgICAgdmFyIGxpbmVKb2luZXIgPSBcIlxcblwiICsgaW5kZW50LnByZXYgKyBpbmRlbnQuYmFzZTtcbiAgICAgIHJldHVybiBsaW5lSm9pbmVyICsgJGpvaW4uY2FsbCh4cywgXCIsXCIgKyBsaW5lSm9pbmVyKSArIFwiXFxuXCIgKyBpbmRlbnQucHJldjtcbiAgICB9XG4gICAgZnVuY3Rpb24gYXJyT2JqS2V5cyhvYmosIGluc3BlY3QpIHtcbiAgICAgIHZhciBpc0FyciA9IGlzQXJyYXkob2JqKTtcbiAgICAgIHZhciB4cyA9IFtdO1xuICAgICAgaWYgKGlzQXJyKSB7XG4gICAgICAgIHhzLmxlbmd0aCA9IG9iai5sZW5ndGg7XG4gICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgb2JqLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgICAgeHNbaV0gPSBoYXMob2JqLCBpKSA/IGluc3BlY3Qob2JqW2ldLCBvYmopIDogXCJcIjtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgdmFyIHN5bXMgPSB0eXBlb2YgZ09QUyA9PT0gXCJmdW5jdGlvblwiID8gZ09QUyhvYmopIDogW107XG4gICAgICB2YXIgc3ltTWFwO1xuICAgICAgaWYgKGhhc1NoYW1tZWRTeW1ib2xzKSB7XG4gICAgICAgIHN5bU1hcCA9IHt9O1xuICAgICAgICBmb3IgKHZhciBrID0gMDsgayA8IHN5bXMubGVuZ3RoOyBrKyspIHtcbiAgICAgICAgICBzeW1NYXBbXCIkXCIgKyBzeW1zW2tdXSA9IHN5bXNba107XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIGZvciAodmFyIGtleSBpbiBvYmopIHtcbiAgICAgICAgaWYgKCFoYXMob2JqLCBrZXkpKSB7XG4gICAgICAgICAgY29udGludWU7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGlzQXJyICYmIFN0cmluZyhOdW1iZXIoa2V5KSkgPT09IGtleSAmJiBrZXkgPCBvYmoubGVuZ3RoKSB7XG4gICAgICAgICAgY29udGludWU7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGhhc1NoYW1tZWRTeW1ib2xzICYmIHN5bU1hcFtcIiRcIiArIGtleV0gaW5zdGFuY2VvZiBTeW1ib2wpIHtcbiAgICAgICAgICBjb250aW51ZTtcbiAgICAgICAgfSBlbHNlIGlmICgkdGVzdC5jYWxsKC9bXlxcdyRdLywga2V5KSkge1xuICAgICAgICAgIHhzLnB1c2goaW5zcGVjdChrZXksIG9iaikgKyBcIjogXCIgKyBpbnNwZWN0KG9ialtrZXldLCBvYmopKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICB4cy5wdXNoKGtleSArIFwiOiBcIiArIGluc3BlY3Qob2JqW2tleV0sIG9iaikpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICBpZiAodHlwZW9mIGdPUFMgPT09IFwiZnVuY3Rpb25cIikge1xuICAgICAgICBmb3IgKHZhciBqID0gMDsgaiA8IHN5bXMubGVuZ3RoOyBqKyspIHtcbiAgICAgICAgICBpZiAoaXNFbnVtZXJhYmxlLmNhbGwob2JqLCBzeW1zW2pdKSkge1xuICAgICAgICAgICAgeHMucHVzaChcIltcIiArIGluc3BlY3Qoc3ltc1tqXSkgKyBcIl06IFwiICsgaW5zcGVjdChvYmpbc3ltc1tqXV0sIG9iaikpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgcmV0dXJuIHhzO1xuICAgIH1cbiAgfVxufSk7XG5cbi8vIG5vZGVfbW9kdWxlcy9zaWRlLWNoYW5uZWwtbGlzdC9pbmRleC5qc1xudmFyIHJlcXVpcmVfc2lkZV9jaGFubmVsX2xpc3QgPSBfX2NvbW1vbkpTKHtcbiAgXCJub2RlX21vZHVsZXMvc2lkZS1jaGFubmVsLWxpc3QvaW5kZXguanNcIihleHBvcnRzMiwgbW9kdWxlMikge1xuICAgIFwidXNlIHN0cmljdFwiO1xuICAgIHZhciBpbnNwZWN0ID0gcmVxdWlyZV9vYmplY3RfaW5zcGVjdCgpO1xuICAgIHZhciAkVHlwZUVycm9yID0gcmVxdWlyZV90eXBlKCk7XG4gICAgdmFyIGxpc3RHZXROb2RlID0gZnVuY3Rpb24obGlzdCwga2V5LCBpc0RlbGV0ZSkge1xuICAgICAgdmFyIHByZXYgPSBsaXN0O1xuICAgICAgdmFyIGN1cnI7XG4gICAgICBmb3IgKDsgKGN1cnIgPSBwcmV2Lm5leHQpICE9IG51bGw7IHByZXYgPSBjdXJyKSB7XG4gICAgICAgIGlmIChjdXJyLmtleSA9PT0ga2V5KSB7XG4gICAgICAgICAgcHJldi5uZXh0ID0gY3Vyci5uZXh0O1xuICAgICAgICAgIGlmICghaXNEZWxldGUpIHtcbiAgICAgICAgICAgIGN1cnIubmV4dCA9IC8qKiBAdHlwZSB7Tm9uTnVsbGFibGU8dHlwZW9mIGxpc3QubmV4dD59ICovXG4gICAgICAgICAgICBsaXN0Lm5leHQ7XG4gICAgICAgICAgICBsaXN0Lm5leHQgPSBjdXJyO1xuICAgICAgICAgIH1cbiAgICAgICAgICByZXR1cm4gY3VycjtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH07XG4gICAgdmFyIGxpc3RHZXQgPSBmdW5jdGlvbihvYmplY3RzLCBrZXkpIHtcbiAgICAgIGlmICghb2JqZWN0cykge1xuICAgICAgICByZXR1cm4gdm9pZCAwO1xuICAgICAgfVxuICAgICAgdmFyIG5vZGUgPSBsaXN0R2V0Tm9kZShvYmplY3RzLCBrZXkpO1xuICAgICAgcmV0dXJuIG5vZGUgJiYgbm9kZS52YWx1ZTtcbiAgICB9O1xuICAgIHZhciBsaXN0U2V0ID0gZnVuY3Rpb24ob2JqZWN0cywga2V5LCB2YWx1ZSkge1xuICAgICAgdmFyIG5vZGUgPSBsaXN0R2V0Tm9kZShvYmplY3RzLCBrZXkpO1xuICAgICAgaWYgKG5vZGUpIHtcbiAgICAgICAgbm9kZS52YWx1ZSA9IHZhbHVlO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgb2JqZWN0cy5uZXh0ID0gLyoqIEB0eXBlIHtpbXBvcnQoJy4vbGlzdC5kLnRzJykuTGlzdE5vZGU8dHlwZW9mIHZhbHVlLCB0eXBlb2Yga2V5Pn0gKi9cbiAgICAgICAge1xuICAgICAgICAgIC8vIGVzbGludC1kaXNhYmxlLWxpbmUgbm8tcGFyYW0tcmVhc3NpZ24sIG5vLWV4dHJhLXBhcmVuc1xuICAgICAgICAgIGtleSxcbiAgICAgICAgICBuZXh0OiBvYmplY3RzLm5leHQsXG4gICAgICAgICAgdmFsdWVcbiAgICAgICAgfTtcbiAgICAgIH1cbiAgICB9O1xuICAgIHZhciBsaXN0SGFzID0gZnVuY3Rpb24ob2JqZWN0cywga2V5KSB7XG4gICAgICBpZiAoIW9iamVjdHMpIHtcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgfVxuICAgICAgcmV0dXJuICEhbGlzdEdldE5vZGUob2JqZWN0cywga2V5KTtcbiAgICB9O1xuICAgIHZhciBsaXN0RGVsZXRlID0gZnVuY3Rpb24ob2JqZWN0cywga2V5KSB7XG4gICAgICBpZiAob2JqZWN0cykge1xuICAgICAgICByZXR1cm4gbGlzdEdldE5vZGUob2JqZWN0cywga2V5LCB0cnVlKTtcbiAgICAgIH1cbiAgICB9O1xuICAgIG1vZHVsZTIuZXhwb3J0cyA9IGZ1bmN0aW9uIGdldFNpZGVDaGFubmVsTGlzdCgpIHtcbiAgICAgIHZhciAkbztcbiAgICAgIHZhciBjaGFubmVsID0ge1xuICAgICAgICBhc3NlcnQ6IGZ1bmN0aW9uKGtleSkge1xuICAgICAgICAgIGlmICghY2hhbm5lbC5oYXMoa2V5KSkge1xuICAgICAgICAgICAgdGhyb3cgbmV3ICRUeXBlRXJyb3IoXCJTaWRlIGNoYW5uZWwgZG9lcyBub3QgY29udGFpbiBcIiArIGluc3BlY3Qoa2V5KSk7XG4gICAgICAgICAgfVxuICAgICAgICB9LFxuICAgICAgICBcImRlbGV0ZVwiOiBmdW5jdGlvbihrZXkpIHtcbiAgICAgICAgICB2YXIgcm9vdCA9ICRvICYmICRvLm5leHQ7XG4gICAgICAgICAgdmFyIGRlbGV0ZWROb2RlID0gbGlzdERlbGV0ZSgkbywga2V5KTtcbiAgICAgICAgICBpZiAoZGVsZXRlZE5vZGUgJiYgcm9vdCAmJiByb290ID09PSBkZWxldGVkTm9kZSkge1xuICAgICAgICAgICAgJG8gPSB2b2lkIDA7XG4gICAgICAgICAgfVxuICAgICAgICAgIHJldHVybiAhIWRlbGV0ZWROb2RlO1xuICAgICAgICB9LFxuICAgICAgICBnZXQ6IGZ1bmN0aW9uKGtleSkge1xuICAgICAgICAgIHJldHVybiBsaXN0R2V0KCRvLCBrZXkpO1xuICAgICAgICB9LFxuICAgICAgICBoYXM6IGZ1bmN0aW9uKGtleSkge1xuICAgICAgICAgIHJldHVybiBsaXN0SGFzKCRvLCBrZXkpO1xuICAgICAgICB9LFxuICAgICAgICBzZXQ6IGZ1bmN0aW9uKGtleSwgdmFsdWUpIHtcbiAgICAgICAgICBpZiAoISRvKSB7XG4gICAgICAgICAgICAkbyA9IHtcbiAgICAgICAgICAgICAgbmV4dDogdm9pZCAwXG4gICAgICAgICAgICB9O1xuICAgICAgICAgIH1cbiAgICAgICAgICBsaXN0U2V0KFxuICAgICAgICAgICAgLyoqIEB0eXBlIHtOb25OdWxsYWJsZTx0eXBlb2YgJG8+fSAqL1xuICAgICAgICAgICAgJG8sXG4gICAgICAgICAgICBrZXksXG4gICAgICAgICAgICB2YWx1ZVxuICAgICAgICAgICk7XG4gICAgICAgIH1cbiAgICAgIH07XG4gICAgICByZXR1cm4gY2hhbm5lbDtcbiAgICB9O1xuICB9XG59KTtcblxuLy8gbm9kZV9tb2R1bGVzL2VzLW9iamVjdC1hdG9tcy9pbmRleC5qc1xudmFyIHJlcXVpcmVfZXNfb2JqZWN0X2F0b21zID0gX19jb21tb25KUyh7XG4gIFwibm9kZV9tb2R1bGVzL2VzLW9iamVjdC1hdG9tcy9pbmRleC5qc1wiKGV4cG9ydHMyLCBtb2R1bGUyKSB7XG4gICAgXCJ1c2Ugc3RyaWN0XCI7XG4gICAgbW9kdWxlMi5leHBvcnRzID0gT2JqZWN0O1xuICB9XG59KTtcblxuLy8gbm9kZV9tb2R1bGVzL2VzLWVycm9ycy9pbmRleC5qc1xudmFyIHJlcXVpcmVfZXNfZXJyb3JzID0gX19jb21tb25KUyh7XG4gIFwibm9kZV9tb2R1bGVzL2VzLWVycm9ycy9pbmRleC5qc1wiKGV4cG9ydHMyLCBtb2R1bGUyKSB7XG4gICAgXCJ1c2Ugc3RyaWN0XCI7XG4gICAgbW9kdWxlMi5leHBvcnRzID0gRXJyb3I7XG4gIH1cbn0pO1xuXG4vLyBub2RlX21vZHVsZXMvZXMtZXJyb3JzL2V2YWwuanNcbnZhciByZXF1aXJlX2V2YWwgPSBfX2NvbW1vbkpTKHtcbiAgXCJub2RlX21vZHVsZXMvZXMtZXJyb3JzL2V2YWwuanNcIihleHBvcnRzMiwgbW9kdWxlMikge1xuICAgIFwidXNlIHN0cmljdFwiO1xuICAgIG1vZHVsZTIuZXhwb3J0cyA9IEV2YWxFcnJvcjtcbiAgfVxufSk7XG5cbi8vIG5vZGVfbW9kdWxlcy9lcy1lcnJvcnMvcmFuZ2UuanNcbnZhciByZXF1aXJlX3JhbmdlID0gX19jb21tb25KUyh7XG4gIFwibm9kZV9tb2R1bGVzL2VzLWVycm9ycy9yYW5nZS5qc1wiKGV4cG9ydHMyLCBtb2R1bGUyKSB7XG4gICAgXCJ1c2Ugc3RyaWN0XCI7XG4gICAgbW9kdWxlMi5leHBvcnRzID0gUmFuZ2VFcnJvcjtcbiAgfVxufSk7XG5cbi8vIG5vZGVfbW9kdWxlcy9lcy1lcnJvcnMvcmVmLmpzXG52YXIgcmVxdWlyZV9yZWYgPSBfX2NvbW1vbkpTKHtcbiAgXCJub2RlX21vZHVsZXMvZXMtZXJyb3JzL3JlZi5qc1wiKGV4cG9ydHMyLCBtb2R1bGUyKSB7XG4gICAgXCJ1c2Ugc3RyaWN0XCI7XG4gICAgbW9kdWxlMi5leHBvcnRzID0gUmVmZXJlbmNlRXJyb3I7XG4gIH1cbn0pO1xuXG4vLyBub2RlX21vZHVsZXMvZXMtZXJyb3JzL3N5bnRheC5qc1xudmFyIHJlcXVpcmVfc3ludGF4ID0gX19jb21tb25KUyh7XG4gIFwibm9kZV9tb2R1bGVzL2VzLWVycm9ycy9zeW50YXguanNcIihleHBvcnRzMiwgbW9kdWxlMikge1xuICAgIFwidXNlIHN0cmljdFwiO1xuICAgIG1vZHVsZTIuZXhwb3J0cyA9IFN5bnRheEVycm9yO1xuICB9XG59KTtcblxuLy8gbm9kZV9tb2R1bGVzL2VzLWVycm9ycy91cmkuanNcbnZhciByZXF1aXJlX3VyaSA9IF9fY29tbW9uSlMoe1xuICBcIm5vZGVfbW9kdWxlcy9lcy1lcnJvcnMvdXJpLmpzXCIoZXhwb3J0czIsIG1vZHVsZTIpIHtcbiAgICBcInVzZSBzdHJpY3RcIjtcbiAgICBtb2R1bGUyLmV4cG9ydHMgPSBVUklFcnJvcjtcbiAgfVxufSk7XG5cbi8vIG5vZGVfbW9kdWxlcy9tYXRoLWludHJpbnNpY3MvYWJzLmpzXG52YXIgcmVxdWlyZV9hYnMgPSBfX2NvbW1vbkpTKHtcbiAgXCJub2RlX21vZHVsZXMvbWF0aC1pbnRyaW5zaWNzL2Ficy5qc1wiKGV4cG9ydHMyLCBtb2R1bGUyKSB7XG4gICAgXCJ1c2Ugc3RyaWN0XCI7XG4gICAgbW9kdWxlMi5leHBvcnRzID0gTWF0aC5hYnM7XG4gIH1cbn0pO1xuXG4vLyBub2RlX21vZHVsZXMvbWF0aC1pbnRyaW5zaWNzL2Zsb29yLmpzXG52YXIgcmVxdWlyZV9mbG9vciA9IF9fY29tbW9uSlMoe1xuICBcIm5vZGVfbW9kdWxlcy9tYXRoLWludHJpbnNpY3MvZmxvb3IuanNcIihleHBvcnRzMiwgbW9kdWxlMikge1xuICAgIFwidXNlIHN0cmljdFwiO1xuICAgIG1vZHVsZTIuZXhwb3J0cyA9IE1hdGguZmxvb3I7XG4gIH1cbn0pO1xuXG4vLyBub2RlX21vZHVsZXMvbWF0aC1pbnRyaW5zaWNzL21heC5qc1xudmFyIHJlcXVpcmVfbWF4ID0gX19jb21tb25KUyh7XG4gIFwibm9kZV9tb2R1bGVzL21hdGgtaW50cmluc2ljcy9tYXguanNcIihleHBvcnRzMiwgbW9kdWxlMikge1xuICAgIFwidXNlIHN0cmljdFwiO1xuICAgIG1vZHVsZTIuZXhwb3J0cyA9IE1hdGgubWF4O1xuICB9XG59KTtcblxuLy8gbm9kZV9tb2R1bGVzL21hdGgtaW50cmluc2ljcy9taW4uanNcbnZhciByZXF1aXJlX21pbiA9IF9fY29tbW9uSlMoe1xuICBcIm5vZGVfbW9kdWxlcy9tYXRoLWludHJpbnNpY3MvbWluLmpzXCIoZXhwb3J0czIsIG1vZHVsZTIpIHtcbiAgICBcInVzZSBzdHJpY3RcIjtcbiAgICBtb2R1bGUyLmV4cG9ydHMgPSBNYXRoLm1pbjtcbiAgfVxufSk7XG5cbi8vIG5vZGVfbW9kdWxlcy9tYXRoLWludHJpbnNpY3MvcG93LmpzXG52YXIgcmVxdWlyZV9wb3cgPSBfX2NvbW1vbkpTKHtcbiAgXCJub2RlX21vZHVsZXMvbWF0aC1pbnRyaW5zaWNzL3Bvdy5qc1wiKGV4cG9ydHMyLCBtb2R1bGUyKSB7XG4gICAgXCJ1c2Ugc3RyaWN0XCI7XG4gICAgbW9kdWxlMi5leHBvcnRzID0gTWF0aC5wb3c7XG4gIH1cbn0pO1xuXG4vLyBub2RlX21vZHVsZXMvbWF0aC1pbnRyaW5zaWNzL3JvdW5kLmpzXG52YXIgcmVxdWlyZV9yb3VuZCA9IF9fY29tbW9uSlMoe1xuICBcIm5vZGVfbW9kdWxlcy9tYXRoLWludHJpbnNpY3Mvcm91bmQuanNcIihleHBvcnRzMiwgbW9kdWxlMikge1xuICAgIFwidXNlIHN0cmljdFwiO1xuICAgIG1vZHVsZTIuZXhwb3J0cyA9IE1hdGgucm91bmQ7XG4gIH1cbn0pO1xuXG4vLyBub2RlX21vZHVsZXMvbWF0aC1pbnRyaW5zaWNzL2lzTmFOLmpzXG52YXIgcmVxdWlyZV9pc05hTiA9IF9fY29tbW9uSlMoe1xuICBcIm5vZGVfbW9kdWxlcy9tYXRoLWludHJpbnNpY3MvaXNOYU4uanNcIihleHBvcnRzMiwgbW9kdWxlMikge1xuICAgIFwidXNlIHN0cmljdFwiO1xuICAgIG1vZHVsZTIuZXhwb3J0cyA9IE51bWJlci5pc05hTiB8fCBmdW5jdGlvbiBpc05hTjIoYSkge1xuICAgICAgcmV0dXJuIGEgIT09IGE7XG4gICAgfTtcbiAgfVxufSk7XG5cbi8vIG5vZGVfbW9kdWxlcy9tYXRoLWludHJpbnNpY3Mvc2lnbi5qc1xudmFyIHJlcXVpcmVfc2lnbiA9IF9fY29tbW9uSlMoe1xuICBcIm5vZGVfbW9kdWxlcy9tYXRoLWludHJpbnNpY3Mvc2lnbi5qc1wiKGV4cG9ydHMyLCBtb2R1bGUyKSB7XG4gICAgXCJ1c2Ugc3RyaWN0XCI7XG4gICAgdmFyICRpc05hTiA9IHJlcXVpcmVfaXNOYU4oKTtcbiAgICBtb2R1bGUyLmV4cG9ydHMgPSBmdW5jdGlvbiBzaWduKG51bWJlcikge1xuICAgICAgaWYgKCRpc05hTihudW1iZXIpIHx8IG51bWJlciA9PT0gMCkge1xuICAgICAgICByZXR1cm4gbnVtYmVyO1xuICAgICAgfVxuICAgICAgcmV0dXJuIG51bWJlciA8IDAgPyAtMSA6IDE7XG4gICAgfTtcbiAgfVxufSk7XG5cbi8vIG5vZGVfbW9kdWxlcy9nb3BkL2dPUEQuanNcbnZhciByZXF1aXJlX2dPUEQgPSBfX2NvbW1vbkpTKHtcbiAgXCJub2RlX21vZHVsZXMvZ29wZC9nT1BELmpzXCIoZXhwb3J0czIsIG1vZHVsZTIpIHtcbiAgICBcInVzZSBzdHJpY3RcIjtcbiAgICBtb2R1bGUyLmV4cG9ydHMgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yO1xuICB9XG59KTtcblxuLy8gbm9kZV9tb2R1bGVzL2dvcGQvaW5kZXguanNcbnZhciByZXF1aXJlX2dvcGQgPSBfX2NvbW1vbkpTKHtcbiAgXCJub2RlX21vZHVsZXMvZ29wZC9pbmRleC5qc1wiKGV4cG9ydHMyLCBtb2R1bGUyKSB7XG4gICAgXCJ1c2Ugc3RyaWN0XCI7XG4gICAgdmFyICRnT1BEID0gcmVxdWlyZV9nT1BEKCk7XG4gICAgaWYgKCRnT1BEKSB7XG4gICAgICB0cnkge1xuICAgICAgICAkZ09QRChbXSwgXCJsZW5ndGhcIik7XG4gICAgICB9IGNhdGNoIChlKSB7XG4gICAgICAgICRnT1BEID0gbnVsbDtcbiAgICAgIH1cbiAgICB9XG4gICAgbW9kdWxlMi5leHBvcnRzID0gJGdPUEQ7XG4gIH1cbn0pO1xuXG4vLyBub2RlX21vZHVsZXMvZXMtZGVmaW5lLXByb3BlcnR5L2luZGV4LmpzXG52YXIgcmVxdWlyZV9lc19kZWZpbmVfcHJvcGVydHkgPSBfX2NvbW1vbkpTKHtcbiAgXCJub2RlX21vZHVsZXMvZXMtZGVmaW5lLXByb3BlcnR5L2luZGV4LmpzXCIoZXhwb3J0czIsIG1vZHVsZTIpIHtcbiAgICBcInVzZSBzdHJpY3RcIjtcbiAgICB2YXIgJGRlZmluZVByb3BlcnR5ID0gT2JqZWN0LmRlZmluZVByb3BlcnR5IHx8IGZhbHNlO1xuICAgIGlmICgkZGVmaW5lUHJvcGVydHkpIHtcbiAgICAgIHRyeSB7XG4gICAgICAgICRkZWZpbmVQcm9wZXJ0eSh7fSwgXCJhXCIsIHsgdmFsdWU6IDEgfSk7XG4gICAgICB9IGNhdGNoIChlKSB7XG4gICAgICAgICRkZWZpbmVQcm9wZXJ0eSA9IGZhbHNlO1xuICAgICAgfVxuICAgIH1cbiAgICBtb2R1bGUyLmV4cG9ydHMgPSAkZGVmaW5lUHJvcGVydHk7XG4gIH1cbn0pO1xuXG4vLyBub2RlX21vZHVsZXMvaGFzLXN5bWJvbHMvc2hhbXMuanNcbnZhciByZXF1aXJlX3NoYW1zID0gX19jb21tb25KUyh7XG4gIFwibm9kZV9tb2R1bGVzL2hhcy1zeW1ib2xzL3NoYW1zLmpzXCIoZXhwb3J0czIsIG1vZHVsZTIpIHtcbiAgICBcInVzZSBzdHJpY3RcIjtcbiAgICBtb2R1bGUyLmV4cG9ydHMgPSBmdW5jdGlvbiBoYXNTeW1ib2xzKCkge1xuICAgICAgaWYgKHR5cGVvZiBTeW1ib2wgIT09IFwiZnVuY3Rpb25cIiB8fCB0eXBlb2YgT2JqZWN0LmdldE93blByb3BlcnR5U3ltYm9scyAhPT0gXCJmdW5jdGlvblwiKSB7XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgIH1cbiAgICAgIGlmICh0eXBlb2YgU3ltYm9sLml0ZXJhdG9yID09PSBcInN5bWJvbFwiKSB7XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgfVxuICAgICAgdmFyIG9iaiA9IHt9O1xuICAgICAgdmFyIHN5bSA9IFN5bWJvbChcInRlc3RcIik7XG4gICAgICB2YXIgc3ltT2JqID0gT2JqZWN0KHN5bSk7XG4gICAgICBpZiAodHlwZW9mIHN5bSA9PT0gXCJzdHJpbmdcIikge1xuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICB9XG4gICAgICBpZiAoT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKHN5bSkgIT09IFwiW29iamVjdCBTeW1ib2xdXCIpIHtcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgfVxuICAgICAgaWYgKE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbChzeW1PYmopICE9PSBcIltvYmplY3QgU3ltYm9sXVwiKSB7XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgIH1cbiAgICAgIHZhciBzeW1WYWwgPSA0MjtcbiAgICAgIG9ialtzeW1dID0gc3ltVmFsO1xuICAgICAgZm9yICh2YXIgXzIgaW4gb2JqKSB7XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgIH1cbiAgICAgIGlmICh0eXBlb2YgT2JqZWN0LmtleXMgPT09IFwiZnVuY3Rpb25cIiAmJiBPYmplY3Qua2V5cyhvYmopLmxlbmd0aCAhPT0gMCkge1xuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICB9XG4gICAgICBpZiAodHlwZW9mIE9iamVjdC5nZXRPd25Qcm9wZXJ0eU5hbWVzID09PSBcImZ1bmN0aW9uXCIgJiYgT2JqZWN0LmdldE93blByb3BlcnR5TmFtZXMob2JqKS5sZW5ndGggIT09IDApIHtcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgfVxuICAgICAgdmFyIHN5bXMgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlTeW1ib2xzKG9iaik7XG4gICAgICBpZiAoc3ltcy5sZW5ndGggIT09IDEgfHwgc3ltc1swXSAhPT0gc3ltKSB7XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgIH1cbiAgICAgIGlmICghT2JqZWN0LnByb3RvdHlwZS5wcm9wZXJ0eUlzRW51bWVyYWJsZS5jYWxsKG9iaiwgc3ltKSkge1xuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICB9XG4gICAgICBpZiAodHlwZW9mIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgPT09IFwiZnVuY3Rpb25cIikge1xuICAgICAgICB2YXIgZGVzY3JpcHRvciA9IChcbiAgICAgICAgICAvKiogQHR5cGUge1Byb3BlcnR5RGVzY3JpcHRvcn0gKi9cbiAgICAgICAgICBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgc3ltKVxuICAgICAgICApO1xuICAgICAgICBpZiAoZGVzY3JpcHRvci52YWx1ZSAhPT0gc3ltVmFsIHx8IGRlc2NyaXB0b3IuZW51bWVyYWJsZSAhPT0gdHJ1ZSkge1xuICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfTtcbiAgfVxufSk7XG5cbi8vIG5vZGVfbW9kdWxlcy9oYXMtc3ltYm9scy9pbmRleC5qc1xudmFyIHJlcXVpcmVfaGFzX3N5bWJvbHMgPSBfX2NvbW1vbkpTKHtcbiAgXCJub2RlX21vZHVsZXMvaGFzLXN5bWJvbHMvaW5kZXguanNcIihleHBvcnRzMiwgbW9kdWxlMikge1xuICAgIFwidXNlIHN0cmljdFwiO1xuICAgIHZhciBvcmlnU3ltYm9sID0gdHlwZW9mIFN5bWJvbCAhPT0gXCJ1bmRlZmluZWRcIiAmJiBTeW1ib2w7XG4gICAgdmFyIGhhc1N5bWJvbFNoYW0gPSByZXF1aXJlX3NoYW1zKCk7XG4gICAgbW9kdWxlMi5leHBvcnRzID0gZnVuY3Rpb24gaGFzTmF0aXZlU3ltYm9scygpIHtcbiAgICAgIGlmICh0eXBlb2Ygb3JpZ1N5bWJvbCAhPT0gXCJmdW5jdGlvblwiKSB7XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgIH1cbiAgICAgIGlmICh0eXBlb2YgU3ltYm9sICE9PSBcImZ1bmN0aW9uXCIpIHtcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgfVxuICAgICAgaWYgKHR5cGVvZiBvcmlnU3ltYm9sKFwiZm9vXCIpICE9PSBcInN5bWJvbFwiKSB7XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgIH1cbiAgICAgIGlmICh0eXBlb2YgU3ltYm9sKFwiYmFyXCIpICE9PSBcInN5bWJvbFwiKSB7XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgIH1cbiAgICAgIHJldHVybiBoYXNTeW1ib2xTaGFtKCk7XG4gICAgfTtcbiAgfVxufSk7XG5cbi8vIG5vZGVfbW9kdWxlcy9nZXQtcHJvdG8vUmVmbGVjdC5nZXRQcm90b3R5cGVPZi5qc1xudmFyIHJlcXVpcmVfUmVmbGVjdF9nZXRQcm90b3R5cGVPZiA9IF9fY29tbW9uSlMoe1xuICBcIm5vZGVfbW9kdWxlcy9nZXQtcHJvdG8vUmVmbGVjdC5nZXRQcm90b3R5cGVPZi5qc1wiKGV4cG9ydHMyLCBtb2R1bGUyKSB7XG4gICAgXCJ1c2Ugc3RyaWN0XCI7XG4gICAgbW9kdWxlMi5leHBvcnRzID0gdHlwZW9mIFJlZmxlY3QgIT09IFwidW5kZWZpbmVkXCIgJiYgUmVmbGVjdC5nZXRQcm90b3R5cGVPZiB8fCBudWxsO1xuICB9XG59KTtcblxuLy8gbm9kZV9tb2R1bGVzL2dldC1wcm90by9PYmplY3QuZ2V0UHJvdG90eXBlT2YuanNcbnZhciByZXF1aXJlX09iamVjdF9nZXRQcm90b3R5cGVPZiA9IF9fY29tbW9uSlMoe1xuICBcIm5vZGVfbW9kdWxlcy9nZXQtcHJvdG8vT2JqZWN0LmdldFByb3RvdHlwZU9mLmpzXCIoZXhwb3J0czIsIG1vZHVsZTIpIHtcbiAgICBcInVzZSBzdHJpY3RcIjtcbiAgICB2YXIgJE9iamVjdCA9IHJlcXVpcmVfZXNfb2JqZWN0X2F0b21zKCk7XG4gICAgbW9kdWxlMi5leHBvcnRzID0gJE9iamVjdC5nZXRQcm90b3R5cGVPZiB8fCBudWxsO1xuICB9XG59KTtcblxuLy8gbm9kZV9tb2R1bGVzL2Z1bmN0aW9uLWJpbmQvaW1wbGVtZW50YXRpb24uanNcbnZhciByZXF1aXJlX2ltcGxlbWVudGF0aW9uID0gX19jb21tb25KUyh7XG4gIFwibm9kZV9tb2R1bGVzL2Z1bmN0aW9uLWJpbmQvaW1wbGVtZW50YXRpb24uanNcIihleHBvcnRzMiwgbW9kdWxlMikge1xuICAgIFwidXNlIHN0cmljdFwiO1xuICAgIHZhciBFUlJPUl9NRVNTQUdFID0gXCJGdW5jdGlvbi5wcm90b3R5cGUuYmluZCBjYWxsZWQgb24gaW5jb21wYXRpYmxlIFwiO1xuICAgIHZhciB0b1N0ciA9IE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmc7XG4gICAgdmFyIG1heCA9IE1hdGgubWF4O1xuICAgIHZhciBmdW5jVHlwZSA9IFwiW29iamVjdCBGdW5jdGlvbl1cIjtcbiAgICB2YXIgY29uY2F0dHkgPSBmdW5jdGlvbiBjb25jYXR0eTIoYSwgYikge1xuICAgICAgdmFyIGFyciA9IFtdO1xuICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBhLmxlbmd0aDsgaSArPSAxKSB7XG4gICAgICAgIGFycltpXSA9IGFbaV07XG4gICAgICB9XG4gICAgICBmb3IgKHZhciBqID0gMDsgaiA8IGIubGVuZ3RoOyBqICs9IDEpIHtcbiAgICAgICAgYXJyW2ogKyBhLmxlbmd0aF0gPSBiW2pdO1xuICAgICAgfVxuICAgICAgcmV0dXJuIGFycjtcbiAgICB9O1xuICAgIHZhciBzbGljeSA9IGZ1bmN0aW9uIHNsaWN5MihhcnJMaWtlLCBvZmZzZXQpIHtcbiAgICAgIHZhciBhcnIgPSBbXTtcbiAgICAgIGZvciAodmFyIGkgPSBvZmZzZXQgfHwgMCwgaiA9IDA7IGkgPCBhcnJMaWtlLmxlbmd0aDsgaSArPSAxLCBqICs9IDEpIHtcbiAgICAgICAgYXJyW2pdID0gYXJyTGlrZVtpXTtcbiAgICAgIH1cbiAgICAgIHJldHVybiBhcnI7XG4gICAgfTtcbiAgICB2YXIgam9pbnkgPSBmdW5jdGlvbihhcnIsIGpvaW5lcikge1xuICAgICAgdmFyIHN0ciA9IFwiXCI7XG4gICAgICBmb3IgKHZhciBpID0gMDsgaSA8IGFyci5sZW5ndGg7IGkgKz0gMSkge1xuICAgICAgICBzdHIgKz0gYXJyW2ldO1xuICAgICAgICBpZiAoaSArIDEgPCBhcnIubGVuZ3RoKSB7XG4gICAgICAgICAgc3RyICs9IGpvaW5lcjtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgcmV0dXJuIHN0cjtcbiAgICB9O1xuICAgIG1vZHVsZTIuZXhwb3J0cyA9IGZ1bmN0aW9uIGJpbmQodGhhdCkge1xuICAgICAgdmFyIHRhcmdldCA9IHRoaXM7XG4gICAgICBpZiAodHlwZW9mIHRhcmdldCAhPT0gXCJmdW5jdGlvblwiIHx8IHRvU3RyLmFwcGx5KHRhcmdldCkgIT09IGZ1bmNUeXBlKSB7XG4gICAgICAgIHRocm93IG5ldyBUeXBlRXJyb3IoRVJST1JfTUVTU0FHRSArIHRhcmdldCk7XG4gICAgICB9XG4gICAgICB2YXIgYXJncyA9IHNsaWN5KGFyZ3VtZW50cywgMSk7XG4gICAgICB2YXIgYm91bmQ7XG4gICAgICB2YXIgYmluZGVyID0gZnVuY3Rpb24oKSB7XG4gICAgICAgIGlmICh0aGlzIGluc3RhbmNlb2YgYm91bmQpIHtcbiAgICAgICAgICB2YXIgcmVzdWx0ID0gdGFyZ2V0LmFwcGx5KFxuICAgICAgICAgICAgdGhpcyxcbiAgICAgICAgICAgIGNvbmNhdHR5KGFyZ3MsIGFyZ3VtZW50cylcbiAgICAgICAgICApO1xuICAgICAgICAgIGlmIChPYmplY3QocmVzdWx0KSA9PT0gcmVzdWx0KSB7XG4gICAgICAgICAgICByZXR1cm4gcmVzdWx0O1xuICAgICAgICAgIH1cbiAgICAgICAgICByZXR1cm4gdGhpcztcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gdGFyZ2V0LmFwcGx5KFxuICAgICAgICAgIHRoYXQsXG4gICAgICAgICAgY29uY2F0dHkoYXJncywgYXJndW1lbnRzKVxuICAgICAgICApO1xuICAgICAgfTtcbiAgICAgIHZhciBib3VuZExlbmd0aCA9IG1heCgwLCB0YXJnZXQubGVuZ3RoIC0gYXJncy5sZW5ndGgpO1xuICAgICAgdmFyIGJvdW5kQXJncyA9IFtdO1xuICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBib3VuZExlbmd0aDsgaSsrKSB7XG4gICAgICAgIGJvdW5kQXJnc1tpXSA9IFwiJFwiICsgaTtcbiAgICAgIH1cbiAgICAgIGJvdW5kID0gRnVuY3Rpb24oXCJiaW5kZXJcIiwgXCJyZXR1cm4gZnVuY3Rpb24gKFwiICsgam9pbnkoYm91bmRBcmdzLCBcIixcIikgKyBcIil7IHJldHVybiBiaW5kZXIuYXBwbHkodGhpcyxhcmd1bWVudHMpOyB9XCIpKGJpbmRlcik7XG4gICAgICBpZiAodGFyZ2V0LnByb3RvdHlwZSkge1xuICAgICAgICB2YXIgRW1wdHkgPSBmdW5jdGlvbiBFbXB0eTIoKSB7XG4gICAgICAgIH07XG4gICAgICAgIEVtcHR5LnByb3RvdHlwZSA9IHRhcmdldC5wcm90b3R5cGU7XG4gICAgICAgIGJvdW5kLnByb3RvdHlwZSA9IG5ldyBFbXB0eSgpO1xuICAgICAgICBFbXB0eS5wcm90b3R5cGUgPSBudWxsO1xuICAgICAgfVxuICAgICAgcmV0dXJuIGJvdW5kO1xuICAgIH07XG4gIH1cbn0pO1xuXG4vLyBub2RlX21vZHVsZXMvZnVuY3Rpb24tYmluZC9pbmRleC5qc1xudmFyIHJlcXVpcmVfZnVuY3Rpb25fYmluZCA9IF9fY29tbW9uSlMoe1xuICBcIm5vZGVfbW9kdWxlcy9mdW5jdGlvbi1iaW5kL2luZGV4LmpzXCIoZXhwb3J0czIsIG1vZHVsZTIpIHtcbiAgICBcInVzZSBzdHJpY3RcIjtcbiAgICB2YXIgaW1wbGVtZW50YXRpb24gPSByZXF1aXJlX2ltcGxlbWVudGF0aW9uKCk7XG4gICAgbW9kdWxlMi5leHBvcnRzID0gRnVuY3Rpb24ucHJvdG90eXBlLmJpbmQgfHwgaW1wbGVtZW50YXRpb247XG4gIH1cbn0pO1xuXG4vLyBub2RlX21vZHVsZXMvY2FsbC1iaW5kLWFwcGx5LWhlbHBlcnMvZnVuY3Rpb25DYWxsLmpzXG52YXIgcmVxdWlyZV9mdW5jdGlvbkNhbGwgPSBfX2NvbW1vbkpTKHtcbiAgXCJub2RlX21vZHVsZXMvY2FsbC1iaW5kLWFwcGx5LWhlbHBlcnMvZnVuY3Rpb25DYWxsLmpzXCIoZXhwb3J0czIsIG1vZHVsZTIpIHtcbiAgICBcInVzZSBzdHJpY3RcIjtcbiAgICBtb2R1bGUyLmV4cG9ydHMgPSBGdW5jdGlvbi5wcm90b3R5cGUuY2FsbDtcbiAgfVxufSk7XG5cbi8vIG5vZGVfbW9kdWxlcy9jYWxsLWJpbmQtYXBwbHktaGVscGVycy9mdW5jdGlvbkFwcGx5LmpzXG52YXIgcmVxdWlyZV9mdW5jdGlvbkFwcGx5ID0gX19jb21tb25KUyh7XG4gIFwibm9kZV9tb2R1bGVzL2NhbGwtYmluZC1hcHBseS1oZWxwZXJzL2Z1bmN0aW9uQXBwbHkuanNcIihleHBvcnRzMiwgbW9kdWxlMikge1xuICAgIFwidXNlIHN0cmljdFwiO1xuICAgIG1vZHVsZTIuZXhwb3J0cyA9IEZ1bmN0aW9uLnByb3RvdHlwZS5hcHBseTtcbiAgfVxufSk7XG5cbi8vIG5vZGVfbW9kdWxlcy9jYWxsLWJpbmQtYXBwbHktaGVscGVycy9yZWZsZWN0QXBwbHkuanNcbnZhciByZXF1aXJlX3JlZmxlY3RBcHBseSA9IF9fY29tbW9uSlMoe1xuICBcIm5vZGVfbW9kdWxlcy9jYWxsLWJpbmQtYXBwbHktaGVscGVycy9yZWZsZWN0QXBwbHkuanNcIihleHBvcnRzMiwgbW9kdWxlMikge1xuICAgIFwidXNlIHN0cmljdFwiO1xuICAgIG1vZHVsZTIuZXhwb3J0cyA9IHR5cGVvZiBSZWZsZWN0ICE9PSBcInVuZGVmaW5lZFwiICYmIFJlZmxlY3QgJiYgUmVmbGVjdC5hcHBseTtcbiAgfVxufSk7XG5cbi8vIG5vZGVfbW9kdWxlcy9jYWxsLWJpbmQtYXBwbHktaGVscGVycy9hY3R1YWxBcHBseS5qc1xudmFyIHJlcXVpcmVfYWN0dWFsQXBwbHkgPSBfX2NvbW1vbkpTKHtcbiAgXCJub2RlX21vZHVsZXMvY2FsbC1iaW5kLWFwcGx5LWhlbHBlcnMvYWN0dWFsQXBwbHkuanNcIihleHBvcnRzMiwgbW9kdWxlMikge1xuICAgIFwidXNlIHN0cmljdFwiO1xuICAgIHZhciBiaW5kID0gcmVxdWlyZV9mdW5jdGlvbl9iaW5kKCk7XG4gICAgdmFyICRhcHBseSA9IHJlcXVpcmVfZnVuY3Rpb25BcHBseSgpO1xuICAgIHZhciAkY2FsbCA9IHJlcXVpcmVfZnVuY3Rpb25DYWxsKCk7XG4gICAgdmFyICRyZWZsZWN0QXBwbHkgPSByZXF1aXJlX3JlZmxlY3RBcHBseSgpO1xuICAgIG1vZHVsZTIuZXhwb3J0cyA9ICRyZWZsZWN0QXBwbHkgfHwgYmluZC5jYWxsKCRjYWxsLCAkYXBwbHkpO1xuICB9XG59KTtcblxuLy8gbm9kZV9tb2R1bGVzL2NhbGwtYmluZC1hcHBseS1oZWxwZXJzL2luZGV4LmpzXG52YXIgcmVxdWlyZV9jYWxsX2JpbmRfYXBwbHlfaGVscGVycyA9IF9fY29tbW9uSlMoe1xuICBcIm5vZGVfbW9kdWxlcy9jYWxsLWJpbmQtYXBwbHktaGVscGVycy9pbmRleC5qc1wiKGV4cG9ydHMyLCBtb2R1bGUyKSB7XG4gICAgXCJ1c2Ugc3RyaWN0XCI7XG4gICAgdmFyIGJpbmQgPSByZXF1aXJlX2Z1bmN0aW9uX2JpbmQoKTtcbiAgICB2YXIgJFR5cGVFcnJvciA9IHJlcXVpcmVfdHlwZSgpO1xuICAgIHZhciAkY2FsbCA9IHJlcXVpcmVfZnVuY3Rpb25DYWxsKCk7XG4gICAgdmFyICRhY3R1YWxBcHBseSA9IHJlcXVpcmVfYWN0dWFsQXBwbHkoKTtcbiAgICBtb2R1bGUyLmV4cG9ydHMgPSBmdW5jdGlvbiBjYWxsQmluZEJhc2ljKGFyZ3MpIHtcbiAgICAgIGlmIChhcmdzLmxlbmd0aCA8IDEgfHwgdHlwZW9mIGFyZ3NbMF0gIT09IFwiZnVuY3Rpb25cIikge1xuICAgICAgICB0aHJvdyBuZXcgJFR5cGVFcnJvcihcImEgZnVuY3Rpb24gaXMgcmVxdWlyZWRcIik7XG4gICAgICB9XG4gICAgICByZXR1cm4gJGFjdHVhbEFwcGx5KGJpbmQsICRjYWxsLCBhcmdzKTtcbiAgICB9O1xuICB9XG59KTtcblxuLy8gbm9kZV9tb2R1bGVzL2R1bmRlci1wcm90by9nZXQuanNcbnZhciByZXF1aXJlX2dldCA9IF9fY29tbW9uSlMoe1xuICBcIm5vZGVfbW9kdWxlcy9kdW5kZXItcHJvdG8vZ2V0LmpzXCIoZXhwb3J0czIsIG1vZHVsZTIpIHtcbiAgICBcInVzZSBzdHJpY3RcIjtcbiAgICB2YXIgY2FsbEJpbmQgPSByZXF1aXJlX2NhbGxfYmluZF9hcHBseV9oZWxwZXJzKCk7XG4gICAgdmFyIGdPUEQgPSByZXF1aXJlX2dvcGQoKTtcbiAgICB2YXIgaGFzUHJvdG9BY2Nlc3NvcjtcbiAgICB0cnkge1xuICAgICAgaGFzUHJvdG9BY2Nlc3NvciA9IC8qKiBAdHlwZSB7eyBfX3Byb3RvX18/OiB0eXBlb2YgQXJyYXkucHJvdG90eXBlIH19ICovXG4gICAgICBbXS5fX3Byb3RvX18gPT09IEFycmF5LnByb3RvdHlwZTtcbiAgICB9IGNhdGNoIChlKSB7XG4gICAgICBpZiAoIWUgfHwgdHlwZW9mIGUgIT09IFwib2JqZWN0XCIgfHwgIShcImNvZGVcIiBpbiBlKSB8fCBlLmNvZGUgIT09IFwiRVJSX1BST1RPX0FDQ0VTU1wiKSB7XG4gICAgICAgIHRocm93IGU7XG4gICAgICB9XG4gICAgfVxuICAgIHZhciBkZXNjID0gISFoYXNQcm90b0FjY2Vzc29yICYmIGdPUEQgJiYgZ09QRChcbiAgICAgIE9iamVjdC5wcm90b3R5cGUsXG4gICAgICAvKiogQHR5cGUge2tleW9mIHR5cGVvZiBPYmplY3QucHJvdG90eXBlfSAqL1xuICAgICAgXCJfX3Byb3RvX19cIlxuICAgICk7XG4gICAgdmFyICRPYmplY3QgPSBPYmplY3Q7XG4gICAgdmFyICRnZXRQcm90b3R5cGVPZiA9ICRPYmplY3QuZ2V0UHJvdG90eXBlT2Y7XG4gICAgbW9kdWxlMi5leHBvcnRzID0gZGVzYyAmJiB0eXBlb2YgZGVzYy5nZXQgPT09IFwiZnVuY3Rpb25cIiA/IGNhbGxCaW5kKFtkZXNjLmdldF0pIDogdHlwZW9mICRnZXRQcm90b3R5cGVPZiA9PT0gXCJmdW5jdGlvblwiID8gKFxuICAgICAgLyoqIEB0eXBlIHtpbXBvcnQoJy4vZ2V0Jyl9ICovXG4gICAgICBmdW5jdGlvbiBnZXREdW5kZXIodmFsdWUpIHtcbiAgICAgICAgcmV0dXJuICRnZXRQcm90b3R5cGVPZih2YWx1ZSA9PSBudWxsID8gdmFsdWUgOiAkT2JqZWN0KHZhbHVlKSk7XG4gICAgICB9XG4gICAgKSA6IGZhbHNlO1xuICB9XG59KTtcblxuLy8gbm9kZV9tb2R1bGVzL2dldC1wcm90by9pbmRleC5qc1xudmFyIHJlcXVpcmVfZ2V0X3Byb3RvID0gX19jb21tb25KUyh7XG4gIFwibm9kZV9tb2R1bGVzL2dldC1wcm90by9pbmRleC5qc1wiKGV4cG9ydHMyLCBtb2R1bGUyKSB7XG4gICAgXCJ1c2Ugc3RyaWN0XCI7XG4gICAgdmFyIHJlZmxlY3RHZXRQcm90byA9IHJlcXVpcmVfUmVmbGVjdF9nZXRQcm90b3R5cGVPZigpO1xuICAgIHZhciBvcmlnaW5hbEdldFByb3RvID0gcmVxdWlyZV9PYmplY3RfZ2V0UHJvdG90eXBlT2YoKTtcbiAgICB2YXIgZ2V0RHVuZGVyUHJvdG8gPSByZXF1aXJlX2dldCgpO1xuICAgIG1vZHVsZTIuZXhwb3J0cyA9IHJlZmxlY3RHZXRQcm90byA/IGZ1bmN0aW9uIGdldFByb3RvKE8pIHtcbiAgICAgIHJldHVybiByZWZsZWN0R2V0UHJvdG8oTyk7XG4gICAgfSA6IG9yaWdpbmFsR2V0UHJvdG8gPyBmdW5jdGlvbiBnZXRQcm90byhPKSB7XG4gICAgICBpZiAoIU8gfHwgdHlwZW9mIE8gIT09IFwib2JqZWN0XCIgJiYgdHlwZW9mIE8gIT09IFwiZnVuY3Rpb25cIikge1xuICAgICAgICB0aHJvdyBuZXcgVHlwZUVycm9yKFwiZ2V0UHJvdG86IG5vdCBhbiBvYmplY3RcIik7XG4gICAgICB9XG4gICAgICByZXR1cm4gb3JpZ2luYWxHZXRQcm90byhPKTtcbiAgICB9IDogZ2V0RHVuZGVyUHJvdG8gPyBmdW5jdGlvbiBnZXRQcm90byhPKSB7XG4gICAgICByZXR1cm4gZ2V0RHVuZGVyUHJvdG8oTyk7XG4gICAgfSA6IG51bGw7XG4gIH1cbn0pO1xuXG4vLyBub2RlX21vZHVsZXMvaGFzb3duL2luZGV4LmpzXG52YXIgcmVxdWlyZV9oYXNvd24gPSBfX2NvbW1vbkpTKHtcbiAgXCJub2RlX21vZHVsZXMvaGFzb3duL2luZGV4LmpzXCIoZXhwb3J0czIsIG1vZHVsZTIpIHtcbiAgICBcInVzZSBzdHJpY3RcIjtcbiAgICB2YXIgY2FsbCA9IEZ1bmN0aW9uLnByb3RvdHlwZS5jYWxsO1xuICAgIHZhciAkaGFzT3duID0gT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eTtcbiAgICB2YXIgYmluZCA9IHJlcXVpcmVfZnVuY3Rpb25fYmluZCgpO1xuICAgIG1vZHVsZTIuZXhwb3J0cyA9IGJpbmQuY2FsbChjYWxsLCAkaGFzT3duKTtcbiAgfVxufSk7XG5cbi8vIG5vZGVfbW9kdWxlcy9nZXQtaW50cmluc2ljL2luZGV4LmpzXG52YXIgcmVxdWlyZV9nZXRfaW50cmluc2ljID0gX19jb21tb25KUyh7XG4gIFwibm9kZV9tb2R1bGVzL2dldC1pbnRyaW5zaWMvaW5kZXguanNcIihleHBvcnRzMiwgbW9kdWxlMikge1xuICAgIFwidXNlIHN0cmljdFwiO1xuICAgIHZhciB1bmRlZmluZWQyO1xuICAgIHZhciAkT2JqZWN0ID0gcmVxdWlyZV9lc19vYmplY3RfYXRvbXMoKTtcbiAgICB2YXIgJEVycm9yID0gcmVxdWlyZV9lc19lcnJvcnMoKTtcbiAgICB2YXIgJEV2YWxFcnJvciA9IHJlcXVpcmVfZXZhbCgpO1xuICAgIHZhciAkUmFuZ2VFcnJvciA9IHJlcXVpcmVfcmFuZ2UoKTtcbiAgICB2YXIgJFJlZmVyZW5jZUVycm9yID0gcmVxdWlyZV9yZWYoKTtcbiAgICB2YXIgJFN5bnRheEVycm9yID0gcmVxdWlyZV9zeW50YXgoKTtcbiAgICB2YXIgJFR5cGVFcnJvciA9IHJlcXVpcmVfdHlwZSgpO1xuICAgIHZhciAkVVJJRXJyb3IgPSByZXF1aXJlX3VyaSgpO1xuICAgIHZhciBhYnMgPSByZXF1aXJlX2FicygpO1xuICAgIHZhciBmbG9vciA9IHJlcXVpcmVfZmxvb3IoKTtcbiAgICB2YXIgbWF4ID0gcmVxdWlyZV9tYXgoKTtcbiAgICB2YXIgbWluID0gcmVxdWlyZV9taW4oKTtcbiAgICB2YXIgcG93ID0gcmVxdWlyZV9wb3coKTtcbiAgICB2YXIgcm91bmQgPSByZXF1aXJlX3JvdW5kKCk7XG4gICAgdmFyIHNpZ24gPSByZXF1aXJlX3NpZ24oKTtcbiAgICB2YXIgJEZ1bmN0aW9uID0gRnVuY3Rpb247XG4gICAgdmFyIGdldEV2YWxsZWRDb25zdHJ1Y3RvciA9IGZ1bmN0aW9uKGV4cHJlc3Npb25TeW50YXgpIHtcbiAgICAgIHRyeSB7XG4gICAgICAgIHJldHVybiAkRnVuY3Rpb24oJ1widXNlIHN0cmljdFwiOyByZXR1cm4gKCcgKyBleHByZXNzaW9uU3ludGF4ICsgXCIpLmNvbnN0cnVjdG9yO1wiKSgpO1xuICAgICAgfSBjYXRjaCAoZSkge1xuICAgICAgfVxuICAgIH07XG4gICAgdmFyICRnT1BEID0gcmVxdWlyZV9nb3BkKCk7XG4gICAgdmFyICRkZWZpbmVQcm9wZXJ0eSA9IHJlcXVpcmVfZXNfZGVmaW5lX3Byb3BlcnR5KCk7XG4gICAgdmFyIHRocm93VHlwZUVycm9yID0gZnVuY3Rpb24oKSB7XG4gICAgICB0aHJvdyBuZXcgJFR5cGVFcnJvcigpO1xuICAgIH07XG4gICAgdmFyIFRocm93VHlwZUVycm9yID0gJGdPUEQgPyBmdW5jdGlvbigpIHtcbiAgICAgIHRyeSB7XG4gICAgICAgIGFyZ3VtZW50cy5jYWxsZWU7XG4gICAgICAgIHJldHVybiB0aHJvd1R5cGVFcnJvcjtcbiAgICAgIH0gY2F0Y2ggKGNhbGxlZVRocm93cykge1xuICAgICAgICB0cnkge1xuICAgICAgICAgIHJldHVybiAkZ09QRChhcmd1bWVudHMsIFwiY2FsbGVlXCIpLmdldDtcbiAgICAgICAgfSBjYXRjaCAoZ09QRHRocm93cykge1xuICAgICAgICAgIHJldHVybiB0aHJvd1R5cGVFcnJvcjtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0oKSA6IHRocm93VHlwZUVycm9yO1xuICAgIHZhciBoYXNTeW1ib2xzID0gcmVxdWlyZV9oYXNfc3ltYm9scygpKCk7XG4gICAgdmFyIGdldFByb3RvID0gcmVxdWlyZV9nZXRfcHJvdG8oKTtcbiAgICB2YXIgJE9iamVjdEdQTyA9IHJlcXVpcmVfT2JqZWN0X2dldFByb3RvdHlwZU9mKCk7XG4gICAgdmFyICRSZWZsZWN0R1BPID0gcmVxdWlyZV9SZWZsZWN0X2dldFByb3RvdHlwZU9mKCk7XG4gICAgdmFyICRhcHBseSA9IHJlcXVpcmVfZnVuY3Rpb25BcHBseSgpO1xuICAgIHZhciAkY2FsbCA9IHJlcXVpcmVfZnVuY3Rpb25DYWxsKCk7XG4gICAgdmFyIG5lZWRzRXZhbCA9IHt9O1xuICAgIHZhciBUeXBlZEFycmF5ID0gdHlwZW9mIFVpbnQ4QXJyYXkgPT09IFwidW5kZWZpbmVkXCIgfHwgIWdldFByb3RvID8gdW5kZWZpbmVkMiA6IGdldFByb3RvKFVpbnQ4QXJyYXkpO1xuICAgIHZhciBJTlRSSU5TSUNTID0ge1xuICAgICAgX19wcm90b19fOiBudWxsLFxuICAgICAgXCIlQWdncmVnYXRlRXJyb3IlXCI6IHR5cGVvZiBBZ2dyZWdhdGVFcnJvciA9PT0gXCJ1bmRlZmluZWRcIiA/IHVuZGVmaW5lZDIgOiBBZ2dyZWdhdGVFcnJvcixcbiAgICAgIFwiJUFycmF5JVwiOiBBcnJheSxcbiAgICAgIFwiJUFycmF5QnVmZmVyJVwiOiB0eXBlb2YgQXJyYXlCdWZmZXIgPT09IFwidW5kZWZpbmVkXCIgPyB1bmRlZmluZWQyIDogQXJyYXlCdWZmZXIsXG4gICAgICBcIiVBcnJheUl0ZXJhdG9yUHJvdG90eXBlJVwiOiBoYXNTeW1ib2xzICYmIGdldFByb3RvID8gZ2V0UHJvdG8oW11bU3ltYm9sLml0ZXJhdG9yXSgpKSA6IHVuZGVmaW5lZDIsXG4gICAgICBcIiVBc3luY0Zyb21TeW5jSXRlcmF0b3JQcm90b3R5cGUlXCI6IHVuZGVmaW5lZDIsXG4gICAgICBcIiVBc3luY0Z1bmN0aW9uJVwiOiBuZWVkc0V2YWwsXG4gICAgICBcIiVBc3luY0dlbmVyYXRvciVcIjogbmVlZHNFdmFsLFxuICAgICAgXCIlQXN5bmNHZW5lcmF0b3JGdW5jdGlvbiVcIjogbmVlZHNFdmFsLFxuICAgICAgXCIlQXN5bmNJdGVyYXRvclByb3RvdHlwZSVcIjogbmVlZHNFdmFsLFxuICAgICAgXCIlQXRvbWljcyVcIjogdHlwZW9mIEF0b21pY3MgPT09IFwidW5kZWZpbmVkXCIgPyB1bmRlZmluZWQyIDogQXRvbWljcyxcbiAgICAgIFwiJUJpZ0ludCVcIjogdHlwZW9mIEJpZ0ludCA9PT0gXCJ1bmRlZmluZWRcIiA/IHVuZGVmaW5lZDIgOiBCaWdJbnQsXG4gICAgICBcIiVCaWdJbnQ2NEFycmF5JVwiOiB0eXBlb2YgQmlnSW50NjRBcnJheSA9PT0gXCJ1bmRlZmluZWRcIiA/IHVuZGVmaW5lZDIgOiBCaWdJbnQ2NEFycmF5LFxuICAgICAgXCIlQmlnVWludDY0QXJyYXklXCI6IHR5cGVvZiBCaWdVaW50NjRBcnJheSA9PT0gXCJ1bmRlZmluZWRcIiA/IHVuZGVmaW5lZDIgOiBCaWdVaW50NjRBcnJheSxcbiAgICAgIFwiJUJvb2xlYW4lXCI6IEJvb2xlYW4sXG4gICAgICBcIiVEYXRhVmlldyVcIjogdHlwZW9mIERhdGFWaWV3ID09PSBcInVuZGVmaW5lZFwiID8gdW5kZWZpbmVkMiA6IERhdGFWaWV3LFxuICAgICAgXCIlRGF0ZSVcIjogRGF0ZSxcbiAgICAgIFwiJWRlY29kZVVSSSVcIjogZGVjb2RlVVJJLFxuICAgICAgXCIlZGVjb2RlVVJJQ29tcG9uZW50JVwiOiBkZWNvZGVVUklDb21wb25lbnQsXG4gICAgICBcIiVlbmNvZGVVUkklXCI6IGVuY29kZVVSSSxcbiAgICAgIFwiJWVuY29kZVVSSUNvbXBvbmVudCVcIjogZW5jb2RlVVJJQ29tcG9uZW50LFxuICAgICAgXCIlRXJyb3IlXCI6ICRFcnJvcixcbiAgICAgIFwiJWV2YWwlXCI6IGV2YWwsXG4gICAgICAvLyBlc2xpbnQtZGlzYWJsZS1saW5lIG5vLWV2YWxcbiAgICAgIFwiJUV2YWxFcnJvciVcIjogJEV2YWxFcnJvcixcbiAgICAgIFwiJUZsb2F0MTZBcnJheSVcIjogdHlwZW9mIEZsb2F0MTZBcnJheSA9PT0gXCJ1bmRlZmluZWRcIiA/IHVuZGVmaW5lZDIgOiBGbG9hdDE2QXJyYXksXG4gICAgICBcIiVGbG9hdDMyQXJyYXklXCI6IHR5cGVvZiBGbG9hdDMyQXJyYXkgPT09IFwidW5kZWZpbmVkXCIgPyB1bmRlZmluZWQyIDogRmxvYXQzMkFycmF5LFxuICAgICAgXCIlRmxvYXQ2NEFycmF5JVwiOiB0eXBlb2YgRmxvYXQ2NEFycmF5ID09PSBcInVuZGVmaW5lZFwiID8gdW5kZWZpbmVkMiA6IEZsb2F0NjRBcnJheSxcbiAgICAgIFwiJUZpbmFsaXphdGlvblJlZ2lzdHJ5JVwiOiB0eXBlb2YgRmluYWxpemF0aW9uUmVnaXN0cnkgPT09IFwidW5kZWZpbmVkXCIgPyB1bmRlZmluZWQyIDogRmluYWxpemF0aW9uUmVnaXN0cnksXG4gICAgICBcIiVGdW5jdGlvbiVcIjogJEZ1bmN0aW9uLFxuICAgICAgXCIlR2VuZXJhdG9yRnVuY3Rpb24lXCI6IG5lZWRzRXZhbCxcbiAgICAgIFwiJUludDhBcnJheSVcIjogdHlwZW9mIEludDhBcnJheSA9PT0gXCJ1bmRlZmluZWRcIiA/IHVuZGVmaW5lZDIgOiBJbnQ4QXJyYXksXG4gICAgICBcIiVJbnQxNkFycmF5JVwiOiB0eXBlb2YgSW50MTZBcnJheSA9PT0gXCJ1bmRlZmluZWRcIiA/IHVuZGVmaW5lZDIgOiBJbnQxNkFycmF5LFxuICAgICAgXCIlSW50MzJBcnJheSVcIjogdHlwZW9mIEludDMyQXJyYXkgPT09IFwidW5kZWZpbmVkXCIgPyB1bmRlZmluZWQyIDogSW50MzJBcnJheSxcbiAgICAgIFwiJWlzRmluaXRlJVwiOiBpc0Zpbml0ZSxcbiAgICAgIFwiJWlzTmFOJVwiOiBpc05hTixcbiAgICAgIFwiJUl0ZXJhdG9yUHJvdG90eXBlJVwiOiBoYXNTeW1ib2xzICYmIGdldFByb3RvID8gZ2V0UHJvdG8oZ2V0UHJvdG8oW11bU3ltYm9sLml0ZXJhdG9yXSgpKSkgOiB1bmRlZmluZWQyLFxuICAgICAgXCIlSlNPTiVcIjogdHlwZW9mIEpTT04gPT09IFwib2JqZWN0XCIgPyBKU09OIDogdW5kZWZpbmVkMixcbiAgICAgIFwiJU1hcCVcIjogdHlwZW9mIE1hcCA9PT0gXCJ1bmRlZmluZWRcIiA/IHVuZGVmaW5lZDIgOiBNYXAsXG4gICAgICBcIiVNYXBJdGVyYXRvclByb3RvdHlwZSVcIjogdHlwZW9mIE1hcCA9PT0gXCJ1bmRlZmluZWRcIiB8fCAhaGFzU3ltYm9scyB8fCAhZ2V0UHJvdG8gPyB1bmRlZmluZWQyIDogZ2V0UHJvdG8oKC8qIEBfX1BVUkVfXyAqLyBuZXcgTWFwKCkpW1N5bWJvbC5pdGVyYXRvcl0oKSksXG4gICAgICBcIiVNYXRoJVwiOiBNYXRoLFxuICAgICAgXCIlTnVtYmVyJVwiOiBOdW1iZXIsXG4gICAgICBcIiVPYmplY3QlXCI6ICRPYmplY3QsXG4gICAgICBcIiVPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yJVwiOiAkZ09QRCxcbiAgICAgIFwiJXBhcnNlRmxvYXQlXCI6IHBhcnNlRmxvYXQsXG4gICAgICBcIiVwYXJzZUludCVcIjogcGFyc2VJbnQsXG4gICAgICBcIiVQcm9taXNlJVwiOiB0eXBlb2YgUHJvbWlzZSA9PT0gXCJ1bmRlZmluZWRcIiA/IHVuZGVmaW5lZDIgOiBQcm9taXNlLFxuICAgICAgXCIlUHJveHklXCI6IHR5cGVvZiBQcm94eSA9PT0gXCJ1bmRlZmluZWRcIiA/IHVuZGVmaW5lZDIgOiBQcm94eSxcbiAgICAgIFwiJVJhbmdlRXJyb3IlXCI6ICRSYW5nZUVycm9yLFxuICAgICAgXCIlUmVmZXJlbmNlRXJyb3IlXCI6ICRSZWZlcmVuY2VFcnJvcixcbiAgICAgIFwiJVJlZmxlY3QlXCI6IHR5cGVvZiBSZWZsZWN0ID09PSBcInVuZGVmaW5lZFwiID8gdW5kZWZpbmVkMiA6IFJlZmxlY3QsXG4gICAgICBcIiVSZWdFeHAlXCI6IFJlZ0V4cCxcbiAgICAgIFwiJVNldCVcIjogdHlwZW9mIFNldCA9PT0gXCJ1bmRlZmluZWRcIiA/IHVuZGVmaW5lZDIgOiBTZXQsXG4gICAgICBcIiVTZXRJdGVyYXRvclByb3RvdHlwZSVcIjogdHlwZW9mIFNldCA9PT0gXCJ1bmRlZmluZWRcIiB8fCAhaGFzU3ltYm9scyB8fCAhZ2V0UHJvdG8gPyB1bmRlZmluZWQyIDogZ2V0UHJvdG8oKC8qIEBfX1BVUkVfXyAqLyBuZXcgU2V0KCkpW1N5bWJvbC5pdGVyYXRvcl0oKSksXG4gICAgICBcIiVTaGFyZWRBcnJheUJ1ZmZlciVcIjogdHlwZW9mIFNoYXJlZEFycmF5QnVmZmVyID09PSBcInVuZGVmaW5lZFwiID8gdW5kZWZpbmVkMiA6IFNoYXJlZEFycmF5QnVmZmVyLFxuICAgICAgXCIlU3RyaW5nJVwiOiBTdHJpbmcsXG4gICAgICBcIiVTdHJpbmdJdGVyYXRvclByb3RvdHlwZSVcIjogaGFzU3ltYm9scyAmJiBnZXRQcm90byA/IGdldFByb3RvKFwiXCJbU3ltYm9sLml0ZXJhdG9yXSgpKSA6IHVuZGVmaW5lZDIsXG4gICAgICBcIiVTeW1ib2wlXCI6IGhhc1N5bWJvbHMgPyBTeW1ib2wgOiB1bmRlZmluZWQyLFxuICAgICAgXCIlU3ludGF4RXJyb3IlXCI6ICRTeW50YXhFcnJvcixcbiAgICAgIFwiJVRocm93VHlwZUVycm9yJVwiOiBUaHJvd1R5cGVFcnJvcixcbiAgICAgIFwiJVR5cGVkQXJyYXklXCI6IFR5cGVkQXJyYXksXG4gICAgICBcIiVUeXBlRXJyb3IlXCI6ICRUeXBlRXJyb3IsXG4gICAgICBcIiVVaW50OEFycmF5JVwiOiB0eXBlb2YgVWludDhBcnJheSA9PT0gXCJ1bmRlZmluZWRcIiA/IHVuZGVmaW5lZDIgOiBVaW50OEFycmF5LFxuICAgICAgXCIlVWludDhDbGFtcGVkQXJyYXklXCI6IHR5cGVvZiBVaW50OENsYW1wZWRBcnJheSA9PT0gXCJ1bmRlZmluZWRcIiA/IHVuZGVmaW5lZDIgOiBVaW50OENsYW1wZWRBcnJheSxcbiAgICAgIFwiJVVpbnQxNkFycmF5JVwiOiB0eXBlb2YgVWludDE2QXJyYXkgPT09IFwidW5kZWZpbmVkXCIgPyB1bmRlZmluZWQyIDogVWludDE2QXJyYXksXG4gICAgICBcIiVVaW50MzJBcnJheSVcIjogdHlwZW9mIFVpbnQzMkFycmF5ID09PSBcInVuZGVmaW5lZFwiID8gdW5kZWZpbmVkMiA6IFVpbnQzMkFycmF5LFxuICAgICAgXCIlVVJJRXJyb3IlXCI6ICRVUklFcnJvcixcbiAgICAgIFwiJVdlYWtNYXAlXCI6IHR5cGVvZiBXZWFrTWFwID09PSBcInVuZGVmaW5lZFwiID8gdW5kZWZpbmVkMiA6IFdlYWtNYXAsXG4gICAgICBcIiVXZWFrUmVmJVwiOiB0eXBlb2YgV2Vha1JlZiA9PT0gXCJ1bmRlZmluZWRcIiA/IHVuZGVmaW5lZDIgOiBXZWFrUmVmLFxuICAgICAgXCIlV2Vha1NldCVcIjogdHlwZW9mIFdlYWtTZXQgPT09IFwidW5kZWZpbmVkXCIgPyB1bmRlZmluZWQyIDogV2Vha1NldCxcbiAgICAgIFwiJUZ1bmN0aW9uLnByb3RvdHlwZS5jYWxsJVwiOiAkY2FsbCxcbiAgICAgIFwiJUZ1bmN0aW9uLnByb3RvdHlwZS5hcHBseSVcIjogJGFwcGx5LFxuICAgICAgXCIlT2JqZWN0LmRlZmluZVByb3BlcnR5JVwiOiAkZGVmaW5lUHJvcGVydHksXG4gICAgICBcIiVPYmplY3QuZ2V0UHJvdG90eXBlT2YlXCI6ICRPYmplY3RHUE8sXG4gICAgICBcIiVNYXRoLmFicyVcIjogYWJzLFxuICAgICAgXCIlTWF0aC5mbG9vciVcIjogZmxvb3IsXG4gICAgICBcIiVNYXRoLm1heCVcIjogbWF4LFxuICAgICAgXCIlTWF0aC5taW4lXCI6IG1pbixcbiAgICAgIFwiJU1hdGgucG93JVwiOiBwb3csXG4gICAgICBcIiVNYXRoLnJvdW5kJVwiOiByb3VuZCxcbiAgICAgIFwiJU1hdGguc2lnbiVcIjogc2lnbixcbiAgICAgIFwiJVJlZmxlY3QuZ2V0UHJvdG90eXBlT2YlXCI6ICRSZWZsZWN0R1BPXG4gICAgfTtcbiAgICBpZiAoZ2V0UHJvdG8pIHtcbiAgICAgIHRyeSB7XG4gICAgICAgIG51bGwuZXJyb3I7XG4gICAgICB9IGNhdGNoIChlKSB7XG4gICAgICAgIGVycm9yUHJvdG8gPSBnZXRQcm90byhnZXRQcm90byhlKSk7XG4gICAgICAgIElOVFJJTlNJQ1NbXCIlRXJyb3IucHJvdG90eXBlJVwiXSA9IGVycm9yUHJvdG87XG4gICAgICB9XG4gICAgfVxuICAgIHZhciBlcnJvclByb3RvO1xuICAgIHZhciBkb0V2YWwgPSBmdW5jdGlvbiBkb0V2YWwyKG5hbWUpIHtcbiAgICAgIHZhciB2YWx1ZTtcbiAgICAgIGlmIChuYW1lID09PSBcIiVBc3luY0Z1bmN0aW9uJVwiKSB7XG4gICAgICAgIHZhbHVlID0gZ2V0RXZhbGxlZENvbnN0cnVjdG9yKFwiYXN5bmMgZnVuY3Rpb24gKCkge31cIik7XG4gICAgICB9IGVsc2UgaWYgKG5hbWUgPT09IFwiJUdlbmVyYXRvckZ1bmN0aW9uJVwiKSB7XG4gICAgICAgIHZhbHVlID0gZ2V0RXZhbGxlZENvbnN0cnVjdG9yKFwiZnVuY3Rpb24qICgpIHt9XCIpO1xuICAgICAgfSBlbHNlIGlmIChuYW1lID09PSBcIiVBc3luY0dlbmVyYXRvckZ1bmN0aW9uJVwiKSB7XG4gICAgICAgIHZhbHVlID0gZ2V0RXZhbGxlZENvbnN0cnVjdG9yKFwiYXN5bmMgZnVuY3Rpb24qICgpIHt9XCIpO1xuICAgICAgfSBlbHNlIGlmIChuYW1lID09PSBcIiVBc3luY0dlbmVyYXRvciVcIikge1xuICAgICAgICB2YXIgZm4gPSBkb0V2YWwyKFwiJUFzeW5jR2VuZXJhdG9yRnVuY3Rpb24lXCIpO1xuICAgICAgICBpZiAoZm4pIHtcbiAgICAgICAgICB2YWx1ZSA9IGZuLnByb3RvdHlwZTtcbiAgICAgICAgfVxuICAgICAgfSBlbHNlIGlmIChuYW1lID09PSBcIiVBc3luY0l0ZXJhdG9yUHJvdG90eXBlJVwiKSB7XG4gICAgICAgIHZhciBnZW4gPSBkb0V2YWwyKFwiJUFzeW5jR2VuZXJhdG9yJVwiKTtcbiAgICAgICAgaWYgKGdlbiAmJiBnZXRQcm90bykge1xuICAgICAgICAgIHZhbHVlID0gZ2V0UHJvdG8oZ2VuLnByb3RvdHlwZSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIElOVFJJTlNJQ1NbbmFtZV0gPSB2YWx1ZTtcbiAgICAgIHJldHVybiB2YWx1ZTtcbiAgICB9O1xuICAgIHZhciBMRUdBQ1lfQUxJQVNFUyA9IHtcbiAgICAgIF9fcHJvdG9fXzogbnVsbCxcbiAgICAgIFwiJUFycmF5QnVmZmVyUHJvdG90eXBlJVwiOiBbXCJBcnJheUJ1ZmZlclwiLCBcInByb3RvdHlwZVwiXSxcbiAgICAgIFwiJUFycmF5UHJvdG90eXBlJVwiOiBbXCJBcnJheVwiLCBcInByb3RvdHlwZVwiXSxcbiAgICAgIFwiJUFycmF5UHJvdG9fZW50cmllcyVcIjogW1wiQXJyYXlcIiwgXCJwcm90b3R5cGVcIiwgXCJlbnRyaWVzXCJdLFxuICAgICAgXCIlQXJyYXlQcm90b19mb3JFYWNoJVwiOiBbXCJBcnJheVwiLCBcInByb3RvdHlwZVwiLCBcImZvckVhY2hcIl0sXG4gICAgICBcIiVBcnJheVByb3RvX2tleXMlXCI6IFtcIkFycmF5XCIsIFwicHJvdG90eXBlXCIsIFwia2V5c1wiXSxcbiAgICAgIFwiJUFycmF5UHJvdG9fdmFsdWVzJVwiOiBbXCJBcnJheVwiLCBcInByb3RvdHlwZVwiLCBcInZhbHVlc1wiXSxcbiAgICAgIFwiJUFzeW5jRnVuY3Rpb25Qcm90b3R5cGUlXCI6IFtcIkFzeW5jRnVuY3Rpb25cIiwgXCJwcm90b3R5cGVcIl0sXG4gICAgICBcIiVBc3luY0dlbmVyYXRvciVcIjogW1wiQXN5bmNHZW5lcmF0b3JGdW5jdGlvblwiLCBcInByb3RvdHlwZVwiXSxcbiAgICAgIFwiJUFzeW5jR2VuZXJhdG9yUHJvdG90eXBlJVwiOiBbXCJBc3luY0dlbmVyYXRvckZ1bmN0aW9uXCIsIFwicHJvdG90eXBlXCIsIFwicHJvdG90eXBlXCJdLFxuICAgICAgXCIlQm9vbGVhblByb3RvdHlwZSVcIjogW1wiQm9vbGVhblwiLCBcInByb3RvdHlwZVwiXSxcbiAgICAgIFwiJURhdGFWaWV3UHJvdG90eXBlJVwiOiBbXCJEYXRhVmlld1wiLCBcInByb3RvdHlwZVwiXSxcbiAgICAgIFwiJURhdGVQcm90b3R5cGUlXCI6IFtcIkRhdGVcIiwgXCJwcm90b3R5cGVcIl0sXG4gICAgICBcIiVFcnJvclByb3RvdHlwZSVcIjogW1wiRXJyb3JcIiwgXCJwcm90b3R5cGVcIl0sXG4gICAgICBcIiVFdmFsRXJyb3JQcm90b3R5cGUlXCI6IFtcIkV2YWxFcnJvclwiLCBcInByb3RvdHlwZVwiXSxcbiAgICAgIFwiJUZsb2F0MzJBcnJheVByb3RvdHlwZSVcIjogW1wiRmxvYXQzMkFycmF5XCIsIFwicHJvdG90eXBlXCJdLFxuICAgICAgXCIlRmxvYXQ2NEFycmF5UHJvdG90eXBlJVwiOiBbXCJGbG9hdDY0QXJyYXlcIiwgXCJwcm90b3R5cGVcIl0sXG4gICAgICBcIiVGdW5jdGlvblByb3RvdHlwZSVcIjogW1wiRnVuY3Rpb25cIiwgXCJwcm90b3R5cGVcIl0sXG4gICAgICBcIiVHZW5lcmF0b3IlXCI6IFtcIkdlbmVyYXRvckZ1bmN0aW9uXCIsIFwicHJvdG90eXBlXCJdLFxuICAgICAgXCIlR2VuZXJhdG9yUHJvdG90eXBlJVwiOiBbXCJHZW5lcmF0b3JGdW5jdGlvblwiLCBcInByb3RvdHlwZVwiLCBcInByb3RvdHlwZVwiXSxcbiAgICAgIFwiJUludDhBcnJheVByb3RvdHlwZSVcIjogW1wiSW50OEFycmF5XCIsIFwicHJvdG90eXBlXCJdLFxuICAgICAgXCIlSW50MTZBcnJheVByb3RvdHlwZSVcIjogW1wiSW50MTZBcnJheVwiLCBcInByb3RvdHlwZVwiXSxcbiAgICAgIFwiJUludDMyQXJyYXlQcm90b3R5cGUlXCI6IFtcIkludDMyQXJyYXlcIiwgXCJwcm90b3R5cGVcIl0sXG4gICAgICBcIiVKU09OUGFyc2UlXCI6IFtcIkpTT05cIiwgXCJwYXJzZVwiXSxcbiAgICAgIFwiJUpTT05TdHJpbmdpZnklXCI6IFtcIkpTT05cIiwgXCJzdHJpbmdpZnlcIl0sXG4gICAgICBcIiVNYXBQcm90b3R5cGUlXCI6IFtcIk1hcFwiLCBcInByb3RvdHlwZVwiXSxcbiAgICAgIFwiJU51bWJlclByb3RvdHlwZSVcIjogW1wiTnVtYmVyXCIsIFwicHJvdG90eXBlXCJdLFxuICAgICAgXCIlT2JqZWN0UHJvdG90eXBlJVwiOiBbXCJPYmplY3RcIiwgXCJwcm90b3R5cGVcIl0sXG4gICAgICBcIiVPYmpQcm90b190b1N0cmluZyVcIjogW1wiT2JqZWN0XCIsIFwicHJvdG90eXBlXCIsIFwidG9TdHJpbmdcIl0sXG4gICAgICBcIiVPYmpQcm90b192YWx1ZU9mJVwiOiBbXCJPYmplY3RcIiwgXCJwcm90b3R5cGVcIiwgXCJ2YWx1ZU9mXCJdLFxuICAgICAgXCIlUHJvbWlzZVByb3RvdHlwZSVcIjogW1wiUHJvbWlzZVwiLCBcInByb3RvdHlwZVwiXSxcbiAgICAgIFwiJVByb21pc2VQcm90b190aGVuJVwiOiBbXCJQcm9taXNlXCIsIFwicHJvdG90eXBlXCIsIFwidGhlblwiXSxcbiAgICAgIFwiJVByb21pc2VfYWxsJVwiOiBbXCJQcm9taXNlXCIsIFwiYWxsXCJdLFxuICAgICAgXCIlUHJvbWlzZV9yZWplY3QlXCI6IFtcIlByb21pc2VcIiwgXCJyZWplY3RcIl0sXG4gICAgICBcIiVQcm9taXNlX3Jlc29sdmUlXCI6IFtcIlByb21pc2VcIiwgXCJyZXNvbHZlXCJdLFxuICAgICAgXCIlUmFuZ2VFcnJvclByb3RvdHlwZSVcIjogW1wiUmFuZ2VFcnJvclwiLCBcInByb3RvdHlwZVwiXSxcbiAgICAgIFwiJVJlZmVyZW5jZUVycm9yUHJvdG90eXBlJVwiOiBbXCJSZWZlcmVuY2VFcnJvclwiLCBcInByb3RvdHlwZVwiXSxcbiAgICAgIFwiJVJlZ0V4cFByb3RvdHlwZSVcIjogW1wiUmVnRXhwXCIsIFwicHJvdG90eXBlXCJdLFxuICAgICAgXCIlU2V0UHJvdG90eXBlJVwiOiBbXCJTZXRcIiwgXCJwcm90b3R5cGVcIl0sXG4gICAgICBcIiVTaGFyZWRBcnJheUJ1ZmZlclByb3RvdHlwZSVcIjogW1wiU2hhcmVkQXJyYXlCdWZmZXJcIiwgXCJwcm90b3R5cGVcIl0sXG4gICAgICBcIiVTdHJpbmdQcm90b3R5cGUlXCI6IFtcIlN0cmluZ1wiLCBcInByb3RvdHlwZVwiXSxcbiAgICAgIFwiJVN5bWJvbFByb3RvdHlwZSVcIjogW1wiU3ltYm9sXCIsIFwicHJvdG90eXBlXCJdLFxuICAgICAgXCIlU3ludGF4RXJyb3JQcm90b3R5cGUlXCI6IFtcIlN5bnRheEVycm9yXCIsIFwicHJvdG90eXBlXCJdLFxuICAgICAgXCIlVHlwZWRBcnJheVByb3RvdHlwZSVcIjogW1wiVHlwZWRBcnJheVwiLCBcInByb3RvdHlwZVwiXSxcbiAgICAgIFwiJVR5cGVFcnJvclByb3RvdHlwZSVcIjogW1wiVHlwZUVycm9yXCIsIFwicHJvdG90eXBlXCJdLFxuICAgICAgXCIlVWludDhBcnJheVByb3RvdHlwZSVcIjogW1wiVWludDhBcnJheVwiLCBcInByb3RvdHlwZVwiXSxcbiAgICAgIFwiJVVpbnQ4Q2xhbXBlZEFycmF5UHJvdG90eXBlJVwiOiBbXCJVaW50OENsYW1wZWRBcnJheVwiLCBcInByb3RvdHlwZVwiXSxcbiAgICAgIFwiJVVpbnQxNkFycmF5UHJvdG90eXBlJVwiOiBbXCJVaW50MTZBcnJheVwiLCBcInByb3RvdHlwZVwiXSxcbiAgICAgIFwiJVVpbnQzMkFycmF5UHJvdG90eXBlJVwiOiBbXCJVaW50MzJBcnJheVwiLCBcInByb3RvdHlwZVwiXSxcbiAgICAgIFwiJVVSSUVycm9yUHJvdG90eXBlJVwiOiBbXCJVUklFcnJvclwiLCBcInByb3RvdHlwZVwiXSxcbiAgICAgIFwiJVdlYWtNYXBQcm90b3R5cGUlXCI6IFtcIldlYWtNYXBcIiwgXCJwcm90b3R5cGVcIl0sXG4gICAgICBcIiVXZWFrU2V0UHJvdG90eXBlJVwiOiBbXCJXZWFrU2V0XCIsIFwicHJvdG90eXBlXCJdXG4gICAgfTtcbiAgICB2YXIgYmluZCA9IHJlcXVpcmVfZnVuY3Rpb25fYmluZCgpO1xuICAgIHZhciBoYXNPd24gPSByZXF1aXJlX2hhc293bigpO1xuICAgIHZhciAkY29uY2F0ID0gYmluZC5jYWxsKCRjYWxsLCBBcnJheS5wcm90b3R5cGUuY29uY2F0KTtcbiAgICB2YXIgJHNwbGljZUFwcGx5ID0gYmluZC5jYWxsKCRhcHBseSwgQXJyYXkucHJvdG90eXBlLnNwbGljZSk7XG4gICAgdmFyICRyZXBsYWNlID0gYmluZC5jYWxsKCRjYWxsLCBTdHJpbmcucHJvdG90eXBlLnJlcGxhY2UpO1xuICAgIHZhciAkc3RyU2xpY2UgPSBiaW5kLmNhbGwoJGNhbGwsIFN0cmluZy5wcm90b3R5cGUuc2xpY2UpO1xuICAgIHZhciAkZXhlYyA9IGJpbmQuY2FsbCgkY2FsbCwgUmVnRXhwLnByb3RvdHlwZS5leGVjKTtcbiAgICB2YXIgcmVQcm9wTmFtZSA9IC9bXiUuW1xcXV0rfFxcWyg/OigtP1xcZCsoPzpcXC5cXGQrKT8pfChbXCInXSkoKD86KD8hXFwyKVteXFxcXF18XFxcXC4pKj8pXFwyKVxcXXwoPz0oPzpcXC58XFxbXFxdKSg/OlxcLnxcXFtcXF18JSQpKS9nO1xuICAgIHZhciByZUVzY2FwZUNoYXIgPSAvXFxcXChcXFxcKT8vZztcbiAgICB2YXIgc3RyaW5nVG9QYXRoID0gZnVuY3Rpb24gc3RyaW5nVG9QYXRoMihzdHJpbmcpIHtcbiAgICAgIHZhciBmaXJzdCA9ICRzdHJTbGljZShzdHJpbmcsIDAsIDEpO1xuICAgICAgdmFyIGxhc3QgPSAkc3RyU2xpY2Uoc3RyaW5nLCAtMSk7XG4gICAgICBpZiAoZmlyc3QgPT09IFwiJVwiICYmIGxhc3QgIT09IFwiJVwiKSB7XG4gICAgICAgIHRocm93IG5ldyAkU3ludGF4RXJyb3IoXCJpbnZhbGlkIGludHJpbnNpYyBzeW50YXgsIGV4cGVjdGVkIGNsb3NpbmcgYCVgXCIpO1xuICAgICAgfSBlbHNlIGlmIChsYXN0ID09PSBcIiVcIiAmJiBmaXJzdCAhPT0gXCIlXCIpIHtcbiAgICAgICAgdGhyb3cgbmV3ICRTeW50YXhFcnJvcihcImludmFsaWQgaW50cmluc2ljIHN5bnRheCwgZXhwZWN0ZWQgb3BlbmluZyBgJWBcIik7XG4gICAgICB9XG4gICAgICB2YXIgcmVzdWx0ID0gW107XG4gICAgICAkcmVwbGFjZShzdHJpbmcsIHJlUHJvcE5hbWUsIGZ1bmN0aW9uKG1hdGNoLCBudW1iZXIsIHF1b3RlLCBzdWJTdHJpbmcpIHtcbiAgICAgICAgcmVzdWx0W3Jlc3VsdC5sZW5ndGhdID0gcXVvdGUgPyAkcmVwbGFjZShzdWJTdHJpbmcsIHJlRXNjYXBlQ2hhciwgXCIkMVwiKSA6IG51bWJlciB8fCBtYXRjaDtcbiAgICAgIH0pO1xuICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICB9O1xuICAgIHZhciBnZXRCYXNlSW50cmluc2ljID0gZnVuY3Rpb24gZ2V0QmFzZUludHJpbnNpYzIobmFtZSwgYWxsb3dNaXNzaW5nKSB7XG4gICAgICB2YXIgaW50cmluc2ljTmFtZSA9IG5hbWU7XG4gICAgICB2YXIgYWxpYXM7XG4gICAgICBpZiAoaGFzT3duKExFR0FDWV9BTElBU0VTLCBpbnRyaW5zaWNOYW1lKSkge1xuICAgICAgICBhbGlhcyA9IExFR0FDWV9BTElBU0VTW2ludHJpbnNpY05hbWVdO1xuICAgICAgICBpbnRyaW5zaWNOYW1lID0gXCIlXCIgKyBhbGlhc1swXSArIFwiJVwiO1xuICAgICAgfVxuICAgICAgaWYgKGhhc093bihJTlRSSU5TSUNTLCBpbnRyaW5zaWNOYW1lKSkge1xuICAgICAgICB2YXIgdmFsdWUgPSBJTlRSSU5TSUNTW2ludHJpbnNpY05hbWVdO1xuICAgICAgICBpZiAodmFsdWUgPT09IG5lZWRzRXZhbCkge1xuICAgICAgICAgIHZhbHVlID0gZG9FdmFsKGludHJpbnNpY05hbWUpO1xuICAgICAgICB9XG4gICAgICAgIGlmICh0eXBlb2YgdmFsdWUgPT09IFwidW5kZWZpbmVkXCIgJiYgIWFsbG93TWlzc2luZykge1xuICAgICAgICAgIHRocm93IG5ldyAkVHlwZUVycm9yKFwiaW50cmluc2ljIFwiICsgbmFtZSArIFwiIGV4aXN0cywgYnV0IGlzIG5vdCBhdmFpbGFibGUuIFBsZWFzZSBmaWxlIGFuIGlzc3VlIVwiKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgIGFsaWFzLFxuICAgICAgICAgIG5hbWU6IGludHJpbnNpY05hbWUsXG4gICAgICAgICAgdmFsdWVcbiAgICAgICAgfTtcbiAgICAgIH1cbiAgICAgIHRocm93IG5ldyAkU3ludGF4RXJyb3IoXCJpbnRyaW5zaWMgXCIgKyBuYW1lICsgXCIgZG9lcyBub3QgZXhpc3QhXCIpO1xuICAgIH07XG4gICAgbW9kdWxlMi5leHBvcnRzID0gZnVuY3Rpb24gR2V0SW50cmluc2ljKG5hbWUsIGFsbG93TWlzc2luZykge1xuICAgICAgaWYgKHR5cGVvZiBuYW1lICE9PSBcInN0cmluZ1wiIHx8IG5hbWUubGVuZ3RoID09PSAwKSB7XG4gICAgICAgIHRocm93IG5ldyAkVHlwZUVycm9yKFwiaW50cmluc2ljIG5hbWUgbXVzdCBiZSBhIG5vbi1lbXB0eSBzdHJpbmdcIik7XG4gICAgICB9XG4gICAgICBpZiAoYXJndW1lbnRzLmxlbmd0aCA+IDEgJiYgdHlwZW9mIGFsbG93TWlzc2luZyAhPT0gXCJib29sZWFuXCIpIHtcbiAgICAgICAgdGhyb3cgbmV3ICRUeXBlRXJyb3IoJ1wiYWxsb3dNaXNzaW5nXCIgYXJndW1lbnQgbXVzdCBiZSBhIGJvb2xlYW4nKTtcbiAgICAgIH1cbiAgICAgIGlmICgkZXhlYygvXiU/W14lXSolPyQvLCBuYW1lKSA9PT0gbnVsbCkge1xuICAgICAgICB0aHJvdyBuZXcgJFN5bnRheEVycm9yKFwiYCVgIG1heSBub3QgYmUgcHJlc2VudCBhbnl3aGVyZSBidXQgYXQgdGhlIGJlZ2lubmluZyBhbmQgZW5kIG9mIHRoZSBpbnRyaW5zaWMgbmFtZVwiKTtcbiAgICAgIH1cbiAgICAgIHZhciBwYXJ0cyA9IHN0cmluZ1RvUGF0aChuYW1lKTtcbiAgICAgIHZhciBpbnRyaW5zaWNCYXNlTmFtZSA9IHBhcnRzLmxlbmd0aCA+IDAgPyBwYXJ0c1swXSA6IFwiXCI7XG4gICAgICB2YXIgaW50cmluc2ljID0gZ2V0QmFzZUludHJpbnNpYyhcIiVcIiArIGludHJpbnNpY0Jhc2VOYW1lICsgXCIlXCIsIGFsbG93TWlzc2luZyk7XG4gICAgICB2YXIgaW50cmluc2ljUmVhbE5hbWUgPSBpbnRyaW5zaWMubmFtZTtcbiAgICAgIHZhciB2YWx1ZSA9IGludHJpbnNpYy52YWx1ZTtcbiAgICAgIHZhciBza2lwRnVydGhlckNhY2hpbmcgPSBmYWxzZTtcbiAgICAgIHZhciBhbGlhcyA9IGludHJpbnNpYy5hbGlhcztcbiAgICAgIGlmIChhbGlhcykge1xuICAgICAgICBpbnRyaW5zaWNCYXNlTmFtZSA9IGFsaWFzWzBdO1xuICAgICAgICAkc3BsaWNlQXBwbHkocGFydHMsICRjb25jYXQoWzAsIDFdLCBhbGlhcykpO1xuICAgICAgfVxuICAgICAgZm9yICh2YXIgaSA9IDEsIGlzT3duID0gdHJ1ZTsgaSA8IHBhcnRzLmxlbmd0aDsgaSArPSAxKSB7XG4gICAgICAgIHZhciBwYXJ0ID0gcGFydHNbaV07XG4gICAgICAgIHZhciBmaXJzdCA9ICRzdHJTbGljZShwYXJ0LCAwLCAxKTtcbiAgICAgICAgdmFyIGxhc3QgPSAkc3RyU2xpY2UocGFydCwgLTEpO1xuICAgICAgICBpZiAoKGZpcnN0ID09PSAnXCInIHx8IGZpcnN0ID09PSBcIidcIiB8fCBmaXJzdCA9PT0gXCJgXCIgfHwgKGxhc3QgPT09ICdcIicgfHwgbGFzdCA9PT0gXCInXCIgfHwgbGFzdCA9PT0gXCJgXCIpKSAmJiBmaXJzdCAhPT0gbGFzdCkge1xuICAgICAgICAgIHRocm93IG5ldyAkU3ludGF4RXJyb3IoXCJwcm9wZXJ0eSBuYW1lcyB3aXRoIHF1b3RlcyBtdXN0IGhhdmUgbWF0Y2hpbmcgcXVvdGVzXCIpO1xuICAgICAgICB9XG4gICAgICAgIGlmIChwYXJ0ID09PSBcImNvbnN0cnVjdG9yXCIgfHwgIWlzT3duKSB7XG4gICAgICAgICAgc2tpcEZ1cnRoZXJDYWNoaW5nID0gdHJ1ZTtcbiAgICAgICAgfVxuICAgICAgICBpbnRyaW5zaWNCYXNlTmFtZSArPSBcIi5cIiArIHBhcnQ7XG4gICAgICAgIGludHJpbnNpY1JlYWxOYW1lID0gXCIlXCIgKyBpbnRyaW5zaWNCYXNlTmFtZSArIFwiJVwiO1xuICAgICAgICBpZiAoaGFzT3duKElOVFJJTlNJQ1MsIGludHJpbnNpY1JlYWxOYW1lKSkge1xuICAgICAgICAgIHZhbHVlID0gSU5UUklOU0lDU1tpbnRyaW5zaWNSZWFsTmFtZV07XG4gICAgICAgIH0gZWxzZSBpZiAodmFsdWUgIT0gbnVsbCkge1xuICAgICAgICAgIGlmICghKHBhcnQgaW4gdmFsdWUpKSB7XG4gICAgICAgICAgICBpZiAoIWFsbG93TWlzc2luZykge1xuICAgICAgICAgICAgICB0aHJvdyBuZXcgJFR5cGVFcnJvcihcImJhc2UgaW50cmluc2ljIGZvciBcIiArIG5hbWUgKyBcIiBleGlzdHMsIGJ1dCB0aGUgcHJvcGVydHkgaXMgbm90IGF2YWlsYWJsZS5cIik7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXR1cm4gdm9pZCB1bmRlZmluZWQyO1xuICAgICAgICAgIH1cbiAgICAgICAgICBpZiAoJGdPUEQgJiYgaSArIDEgPj0gcGFydHMubGVuZ3RoKSB7XG4gICAgICAgICAgICB2YXIgZGVzYyA9ICRnT1BEKHZhbHVlLCBwYXJ0KTtcbiAgICAgICAgICAgIGlzT3duID0gISFkZXNjO1xuICAgICAgICAgICAgaWYgKGlzT3duICYmIFwiZ2V0XCIgaW4gZGVzYyAmJiAhKFwib3JpZ2luYWxWYWx1ZVwiIGluIGRlc2MuZ2V0KSkge1xuICAgICAgICAgICAgICB2YWx1ZSA9IGRlc2MuZ2V0O1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgdmFsdWUgPSB2YWx1ZVtwYXJ0XTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgaXNPd24gPSBoYXNPd24odmFsdWUsIHBhcnQpO1xuICAgICAgICAgICAgdmFsdWUgPSB2YWx1ZVtwYXJ0XTtcbiAgICAgICAgICB9XG4gICAgICAgICAgaWYgKGlzT3duICYmICFza2lwRnVydGhlckNhY2hpbmcpIHtcbiAgICAgICAgICAgIElOVFJJTlNJQ1NbaW50cmluc2ljUmVhbE5hbWVdID0gdmFsdWU7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgICByZXR1cm4gdmFsdWU7XG4gICAgfTtcbiAgfVxufSk7XG5cbi8vIG5vZGVfbW9kdWxlcy9jYWxsLWJvdW5kL2luZGV4LmpzXG52YXIgcmVxdWlyZV9jYWxsX2JvdW5kID0gX19jb21tb25KUyh7XG4gIFwibm9kZV9tb2R1bGVzL2NhbGwtYm91bmQvaW5kZXguanNcIihleHBvcnRzMiwgbW9kdWxlMikge1xuICAgIFwidXNlIHN0cmljdFwiO1xuICAgIHZhciBHZXRJbnRyaW5zaWMgPSByZXF1aXJlX2dldF9pbnRyaW5zaWMoKTtcbiAgICB2YXIgY2FsbEJpbmRCYXNpYyA9IHJlcXVpcmVfY2FsbF9iaW5kX2FwcGx5X2hlbHBlcnMoKTtcbiAgICB2YXIgJGluZGV4T2YgPSBjYWxsQmluZEJhc2ljKFtHZXRJbnRyaW5zaWMoXCIlU3RyaW5nLnByb3RvdHlwZS5pbmRleE9mJVwiKV0pO1xuICAgIG1vZHVsZTIuZXhwb3J0cyA9IGZ1bmN0aW9uIGNhbGxCb3VuZEludHJpbnNpYyhuYW1lLCBhbGxvd01pc3NpbmcpIHtcbiAgICAgIHZhciBpbnRyaW5zaWMgPSAoXG4gICAgICAgIC8qKiBAdHlwZSB7KHRoaXM6IHVua25vd24sIC4uLmFyZ3M6IHVua25vd25bXSkgPT4gdW5rbm93bn0gKi9cbiAgICAgICAgR2V0SW50cmluc2ljKG5hbWUsICEhYWxsb3dNaXNzaW5nKVxuICAgICAgKTtcbiAgICAgIGlmICh0eXBlb2YgaW50cmluc2ljID09PSBcImZ1bmN0aW9uXCIgJiYgJGluZGV4T2YobmFtZSwgXCIucHJvdG90eXBlLlwiKSA+IC0xKSB7XG4gICAgICAgIHJldHVybiBjYWxsQmluZEJhc2ljKFxuICAgICAgICAgIC8qKiBAdHlwZSB7Y29uc3R9ICovXG4gICAgICAgICAgW2ludHJpbnNpY11cbiAgICAgICAgKTtcbiAgICAgIH1cbiAgICAgIHJldHVybiBpbnRyaW5zaWM7XG4gICAgfTtcbiAgfVxufSk7XG5cbi8vIG5vZGVfbW9kdWxlcy9zaWRlLWNoYW5uZWwtbWFwL2luZGV4LmpzXG52YXIgcmVxdWlyZV9zaWRlX2NoYW5uZWxfbWFwID0gX19jb21tb25KUyh7XG4gIFwibm9kZV9tb2R1bGVzL3NpZGUtY2hhbm5lbC1tYXAvaW5kZXguanNcIihleHBvcnRzMiwgbW9kdWxlMikge1xuICAgIFwidXNlIHN0cmljdFwiO1xuICAgIHZhciBHZXRJbnRyaW5zaWMgPSByZXF1aXJlX2dldF9pbnRyaW5zaWMoKTtcbiAgICB2YXIgY2FsbEJvdW5kID0gcmVxdWlyZV9jYWxsX2JvdW5kKCk7XG4gICAgdmFyIGluc3BlY3QgPSByZXF1aXJlX29iamVjdF9pbnNwZWN0KCk7XG4gICAgdmFyICRUeXBlRXJyb3IgPSByZXF1aXJlX3R5cGUoKTtcbiAgICB2YXIgJE1hcCA9IEdldEludHJpbnNpYyhcIiVNYXAlXCIsIHRydWUpO1xuICAgIHZhciAkbWFwR2V0ID0gY2FsbEJvdW5kKFwiTWFwLnByb3RvdHlwZS5nZXRcIiwgdHJ1ZSk7XG4gICAgdmFyICRtYXBTZXQgPSBjYWxsQm91bmQoXCJNYXAucHJvdG90eXBlLnNldFwiLCB0cnVlKTtcbiAgICB2YXIgJG1hcEhhcyA9IGNhbGxCb3VuZChcIk1hcC5wcm90b3R5cGUuaGFzXCIsIHRydWUpO1xuICAgIHZhciAkbWFwRGVsZXRlID0gY2FsbEJvdW5kKFwiTWFwLnByb3RvdHlwZS5kZWxldGVcIiwgdHJ1ZSk7XG4gICAgdmFyICRtYXBTaXplID0gY2FsbEJvdW5kKFwiTWFwLnByb3RvdHlwZS5zaXplXCIsIHRydWUpO1xuICAgIG1vZHVsZTIuZXhwb3J0cyA9ICEhJE1hcCAmJiAvKiogQHR5cGUge0V4Y2x1ZGU8aW1wb3J0KCcuJyksIGZhbHNlPn0gKi9cbiAgICBmdW5jdGlvbiBnZXRTaWRlQ2hhbm5lbE1hcCgpIHtcbiAgICAgIHZhciAkbTtcbiAgICAgIHZhciBjaGFubmVsID0ge1xuICAgICAgICBhc3NlcnQ6IGZ1bmN0aW9uKGtleSkge1xuICAgICAgICAgIGlmICghY2hhbm5lbC5oYXMoa2V5KSkge1xuICAgICAgICAgICAgdGhyb3cgbmV3ICRUeXBlRXJyb3IoXCJTaWRlIGNoYW5uZWwgZG9lcyBub3QgY29udGFpbiBcIiArIGluc3BlY3Qoa2V5KSk7XG4gICAgICAgICAgfVxuICAgICAgICB9LFxuICAgICAgICBcImRlbGV0ZVwiOiBmdW5jdGlvbihrZXkpIHtcbiAgICAgICAgICBpZiAoJG0pIHtcbiAgICAgICAgICAgIHZhciByZXN1bHQgPSAkbWFwRGVsZXRlKCRtLCBrZXkpO1xuICAgICAgICAgICAgaWYgKCRtYXBTaXplKCRtKSA9PT0gMCkge1xuICAgICAgICAgICAgICAkbSA9IHZvaWQgMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgICAgICAgfVxuICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgfSxcbiAgICAgICAgZ2V0OiBmdW5jdGlvbihrZXkpIHtcbiAgICAgICAgICBpZiAoJG0pIHtcbiAgICAgICAgICAgIHJldHVybiAkbWFwR2V0KCRtLCBrZXkpO1xuICAgICAgICAgIH1cbiAgICAgICAgfSxcbiAgICAgICAgaGFzOiBmdW5jdGlvbihrZXkpIHtcbiAgICAgICAgICBpZiAoJG0pIHtcbiAgICAgICAgICAgIHJldHVybiAkbWFwSGFzKCRtLCBrZXkpO1xuICAgICAgICAgIH1cbiAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgIH0sXG4gICAgICAgIHNldDogZnVuY3Rpb24oa2V5LCB2YWx1ZSkge1xuICAgICAgICAgIGlmICghJG0pIHtcbiAgICAgICAgICAgICRtID0gbmV3ICRNYXAoKTtcbiAgICAgICAgICB9XG4gICAgICAgICAgJG1hcFNldCgkbSwga2V5LCB2YWx1ZSk7XG4gICAgICAgIH1cbiAgICAgIH07XG4gICAgICByZXR1cm4gY2hhbm5lbDtcbiAgICB9O1xuICB9XG59KTtcblxuLy8gbm9kZV9tb2R1bGVzL3NpZGUtY2hhbm5lbC13ZWFrbWFwL2luZGV4LmpzXG52YXIgcmVxdWlyZV9zaWRlX2NoYW5uZWxfd2Vha21hcCA9IF9fY29tbW9uSlMoe1xuICBcIm5vZGVfbW9kdWxlcy9zaWRlLWNoYW5uZWwtd2Vha21hcC9pbmRleC5qc1wiKGV4cG9ydHMyLCBtb2R1bGUyKSB7XG4gICAgXCJ1c2Ugc3RyaWN0XCI7XG4gICAgdmFyIEdldEludHJpbnNpYyA9IHJlcXVpcmVfZ2V0X2ludHJpbnNpYygpO1xuICAgIHZhciBjYWxsQm91bmQgPSByZXF1aXJlX2NhbGxfYm91bmQoKTtcbiAgICB2YXIgaW5zcGVjdCA9IHJlcXVpcmVfb2JqZWN0X2luc3BlY3QoKTtcbiAgICB2YXIgZ2V0U2lkZUNoYW5uZWxNYXAgPSByZXF1aXJlX3NpZGVfY2hhbm5lbF9tYXAoKTtcbiAgICB2YXIgJFR5cGVFcnJvciA9IHJlcXVpcmVfdHlwZSgpO1xuICAgIHZhciAkV2Vha01hcCA9IEdldEludHJpbnNpYyhcIiVXZWFrTWFwJVwiLCB0cnVlKTtcbiAgICB2YXIgJHdlYWtNYXBHZXQgPSBjYWxsQm91bmQoXCJXZWFrTWFwLnByb3RvdHlwZS5nZXRcIiwgdHJ1ZSk7XG4gICAgdmFyICR3ZWFrTWFwU2V0ID0gY2FsbEJvdW5kKFwiV2Vha01hcC5wcm90b3R5cGUuc2V0XCIsIHRydWUpO1xuICAgIHZhciAkd2Vha01hcEhhcyA9IGNhbGxCb3VuZChcIldlYWtNYXAucHJvdG90eXBlLmhhc1wiLCB0cnVlKTtcbiAgICB2YXIgJHdlYWtNYXBEZWxldGUgPSBjYWxsQm91bmQoXCJXZWFrTWFwLnByb3RvdHlwZS5kZWxldGVcIiwgdHJ1ZSk7XG4gICAgbW9kdWxlMi5leHBvcnRzID0gJFdlYWtNYXAgPyAoXG4gICAgICAvKiogQHR5cGUge0V4Y2x1ZGU8aW1wb3J0KCcuJyksIGZhbHNlPn0gKi9cbiAgICAgIGZ1bmN0aW9uIGdldFNpZGVDaGFubmVsV2Vha01hcCgpIHtcbiAgICAgICAgdmFyICR3bTtcbiAgICAgICAgdmFyICRtO1xuICAgICAgICB2YXIgY2hhbm5lbCA9IHtcbiAgICAgICAgICBhc3NlcnQ6IGZ1bmN0aW9uKGtleSkge1xuICAgICAgICAgICAgaWYgKCFjaGFubmVsLmhhcyhrZXkpKSB7XG4gICAgICAgICAgICAgIHRocm93IG5ldyAkVHlwZUVycm9yKFwiU2lkZSBjaGFubmVsIGRvZXMgbm90IGNvbnRhaW4gXCIgKyBpbnNwZWN0KGtleSkpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH0sXG4gICAgICAgICAgXCJkZWxldGVcIjogZnVuY3Rpb24oa2V5KSB7XG4gICAgICAgICAgICBpZiAoJFdlYWtNYXAgJiYga2V5ICYmICh0eXBlb2Yga2V5ID09PSBcIm9iamVjdFwiIHx8IHR5cGVvZiBrZXkgPT09IFwiZnVuY3Rpb25cIikpIHtcbiAgICAgICAgICAgICAgaWYgKCR3bSkge1xuICAgICAgICAgICAgICAgIHJldHVybiAkd2Vha01hcERlbGV0ZSgkd20sIGtleSk7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0gZWxzZSBpZiAoZ2V0U2lkZUNoYW5uZWxNYXApIHtcbiAgICAgICAgICAgICAgaWYgKCRtKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuICRtW1wiZGVsZXRlXCJdKGtleSk7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgICB9LFxuICAgICAgICAgIGdldDogZnVuY3Rpb24oa2V5KSB7XG4gICAgICAgICAgICBpZiAoJFdlYWtNYXAgJiYga2V5ICYmICh0eXBlb2Yga2V5ID09PSBcIm9iamVjdFwiIHx8IHR5cGVvZiBrZXkgPT09IFwiZnVuY3Rpb25cIikpIHtcbiAgICAgICAgICAgICAgaWYgKCR3bSkge1xuICAgICAgICAgICAgICAgIHJldHVybiAkd2Vha01hcEdldCgkd20sIGtleSk7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVybiAkbSAmJiAkbS5nZXQoa2V5KTtcbiAgICAgICAgICB9LFxuICAgICAgICAgIGhhczogZnVuY3Rpb24oa2V5KSB7XG4gICAgICAgICAgICBpZiAoJFdlYWtNYXAgJiYga2V5ICYmICh0eXBlb2Yga2V5ID09PSBcIm9iamVjdFwiIHx8IHR5cGVvZiBrZXkgPT09IFwiZnVuY3Rpb25cIikpIHtcbiAgICAgICAgICAgICAgaWYgKCR3bSkge1xuICAgICAgICAgICAgICAgIHJldHVybiAkd2Vha01hcEhhcygkd20sIGtleSk7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVybiAhISRtICYmICRtLmhhcyhrZXkpO1xuICAgICAgICAgIH0sXG4gICAgICAgICAgc2V0OiBmdW5jdGlvbihrZXksIHZhbHVlKSB7XG4gICAgICAgICAgICBpZiAoJFdlYWtNYXAgJiYga2V5ICYmICh0eXBlb2Yga2V5ID09PSBcIm9iamVjdFwiIHx8IHR5cGVvZiBrZXkgPT09IFwiZnVuY3Rpb25cIikpIHtcbiAgICAgICAgICAgICAgaWYgKCEkd20pIHtcbiAgICAgICAgICAgICAgICAkd20gPSBuZXcgJFdlYWtNYXAoKTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAkd2Vha01hcFNldCgkd20sIGtleSwgdmFsdWUpO1xuICAgICAgICAgICAgfSBlbHNlIGlmIChnZXRTaWRlQ2hhbm5lbE1hcCkge1xuICAgICAgICAgICAgICBpZiAoISRtKSB7XG4gICAgICAgICAgICAgICAgJG0gPSBnZXRTaWRlQ2hhbm5lbE1hcCgpO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICRtLnNldChrZXksIHZhbHVlKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH07XG4gICAgICAgIHJldHVybiBjaGFubmVsO1xuICAgICAgfVxuICAgICkgOiBnZXRTaWRlQ2hhbm5lbE1hcDtcbiAgfVxufSk7XG5cbi8vIG5vZGVfbW9kdWxlcy9zaWRlLWNoYW5uZWwvaW5kZXguanNcbnZhciByZXF1aXJlX3NpZGVfY2hhbm5lbCA9IF9fY29tbW9uSlMoe1xuICBcIm5vZGVfbW9kdWxlcy9zaWRlLWNoYW5uZWwvaW5kZXguanNcIihleHBvcnRzMiwgbW9kdWxlMikge1xuICAgIFwidXNlIHN0cmljdFwiO1xuICAgIHZhciAkVHlwZUVycm9yID0gcmVxdWlyZV90eXBlKCk7XG4gICAgdmFyIGluc3BlY3QgPSByZXF1aXJlX29iamVjdF9pbnNwZWN0KCk7XG4gICAgdmFyIGdldFNpZGVDaGFubmVsTGlzdCA9IHJlcXVpcmVfc2lkZV9jaGFubmVsX2xpc3QoKTtcbiAgICB2YXIgZ2V0U2lkZUNoYW5uZWxNYXAgPSByZXF1aXJlX3NpZGVfY2hhbm5lbF9tYXAoKTtcbiAgICB2YXIgZ2V0U2lkZUNoYW5uZWxXZWFrTWFwID0gcmVxdWlyZV9zaWRlX2NoYW5uZWxfd2Vha21hcCgpO1xuICAgIHZhciBtYWtlQ2hhbm5lbCA9IGdldFNpZGVDaGFubmVsV2Vha01hcCB8fCBnZXRTaWRlQ2hhbm5lbE1hcCB8fCBnZXRTaWRlQ2hhbm5lbExpc3Q7XG4gICAgbW9kdWxlMi5leHBvcnRzID0gZnVuY3Rpb24gZ2V0U2lkZUNoYW5uZWwoKSB7XG4gICAgICB2YXIgJGNoYW5uZWxEYXRhO1xuICAgICAgdmFyIGNoYW5uZWwgPSB7XG4gICAgICAgIGFzc2VydDogZnVuY3Rpb24oa2V5KSB7XG4gICAgICAgICAgaWYgKCFjaGFubmVsLmhhcyhrZXkpKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgJFR5cGVFcnJvcihcIlNpZGUgY2hhbm5lbCBkb2VzIG5vdCBjb250YWluIFwiICsgaW5zcGVjdChrZXkpKTtcbiAgICAgICAgICB9XG4gICAgICAgIH0sXG4gICAgICAgIFwiZGVsZXRlXCI6IGZ1bmN0aW9uKGtleSkge1xuICAgICAgICAgIHJldHVybiAhISRjaGFubmVsRGF0YSAmJiAkY2hhbm5lbERhdGFbXCJkZWxldGVcIl0oa2V5KTtcbiAgICAgICAgfSxcbiAgICAgICAgZ2V0OiBmdW5jdGlvbihrZXkpIHtcbiAgICAgICAgICByZXR1cm4gJGNoYW5uZWxEYXRhICYmICRjaGFubmVsRGF0YS5nZXQoa2V5KTtcbiAgICAgICAgfSxcbiAgICAgICAgaGFzOiBmdW5jdGlvbihrZXkpIHtcbiAgICAgICAgICByZXR1cm4gISEkY2hhbm5lbERhdGEgJiYgJGNoYW5uZWxEYXRhLmhhcyhrZXkpO1xuICAgICAgICB9LFxuICAgICAgICBzZXQ6IGZ1bmN0aW9uKGtleSwgdmFsdWUpIHtcbiAgICAgICAgICBpZiAoISRjaGFubmVsRGF0YSkge1xuICAgICAgICAgICAgJGNoYW5uZWxEYXRhID0gbWFrZUNoYW5uZWwoKTtcbiAgICAgICAgICB9XG4gICAgICAgICAgJGNoYW5uZWxEYXRhLnNldChrZXksIHZhbHVlKTtcbiAgICAgICAgfVxuICAgICAgfTtcbiAgICAgIHJldHVybiBjaGFubmVsO1xuICAgIH07XG4gIH1cbn0pO1xuXG4vLyBub2RlX21vZHVsZXMvcXMvbGliL2Zvcm1hdHMuanNcbnZhciByZXF1aXJlX2Zvcm1hdHMgPSBfX2NvbW1vbkpTKHtcbiAgXCJub2RlX21vZHVsZXMvcXMvbGliL2Zvcm1hdHMuanNcIihleHBvcnRzMiwgbW9kdWxlMikge1xuICAgIFwidXNlIHN0cmljdFwiO1xuICAgIHZhciByZXBsYWNlID0gU3RyaW5nLnByb3RvdHlwZS5yZXBsYWNlO1xuICAgIHZhciBwZXJjZW50VHdlbnRpZXMgPSAvJTIwL2c7XG4gICAgdmFyIEZvcm1hdCA9IHtcbiAgICAgIFJGQzE3Mzg6IFwiUkZDMTczOFwiLFxuICAgICAgUkZDMzk4NjogXCJSRkMzOTg2XCJcbiAgICB9O1xuICAgIG1vZHVsZTIuZXhwb3J0cyA9IHtcbiAgICAgIFwiZGVmYXVsdFwiOiBGb3JtYXQuUkZDMzk4NixcbiAgICAgIGZvcm1hdHRlcnM6IHtcbiAgICAgICAgUkZDMTczODogZnVuY3Rpb24odmFsdWUpIHtcbiAgICAgICAgICByZXR1cm4gcmVwbGFjZS5jYWxsKHZhbHVlLCBwZXJjZW50VHdlbnRpZXMsIFwiK1wiKTtcbiAgICAgICAgfSxcbiAgICAgICAgUkZDMzk4NjogZnVuY3Rpb24odmFsdWUpIHtcbiAgICAgICAgICByZXR1cm4gU3RyaW5nKHZhbHVlKTtcbiAgICAgICAgfVxuICAgICAgfSxcbiAgICAgIFJGQzE3Mzg6IEZvcm1hdC5SRkMxNzM4LFxuICAgICAgUkZDMzk4NjogRm9ybWF0LlJGQzM5ODZcbiAgICB9O1xuICB9XG59KTtcblxuLy8gbm9kZV9tb2R1bGVzL3FzL2xpYi91dGlscy5qc1xudmFyIHJlcXVpcmVfdXRpbHMyID0gX19jb21tb25KUyh7XG4gIFwibm9kZV9tb2R1bGVzL3FzL2xpYi91dGlscy5qc1wiKGV4cG9ydHMyLCBtb2R1bGUyKSB7XG4gICAgXCJ1c2Ugc3RyaWN0XCI7XG4gICAgdmFyIGZvcm1hdHMgPSByZXF1aXJlX2Zvcm1hdHMoKTtcbiAgICB2YXIgaGFzID0gT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eTtcbiAgICB2YXIgaXNBcnJheSA9IEFycmF5LmlzQXJyYXk7XG4gICAgdmFyIGhleFRhYmxlID0gZnVuY3Rpb24oKSB7XG4gICAgICB2YXIgYXJyYXkgPSBbXTtcbiAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgMjU2OyArK2kpIHtcbiAgICAgICAgYXJyYXkucHVzaChcIiVcIiArICgoaSA8IDE2ID8gXCIwXCIgOiBcIlwiKSArIGkudG9TdHJpbmcoMTYpKS50b1VwcGVyQ2FzZSgpKTtcbiAgICAgIH1cbiAgICAgIHJldHVybiBhcnJheTtcbiAgICB9KCk7XG4gICAgdmFyIGNvbXBhY3RRdWV1ZSA9IGZ1bmN0aW9uIGNvbXBhY3RRdWV1ZTIocXVldWUpIHtcbiAgICAgIHdoaWxlIChxdWV1ZS5sZW5ndGggPiAxKSB7XG4gICAgICAgIHZhciBpdGVtID0gcXVldWUucG9wKCk7XG4gICAgICAgIHZhciBvYmogPSBpdGVtLm9ialtpdGVtLnByb3BdO1xuICAgICAgICBpZiAoaXNBcnJheShvYmopKSB7XG4gICAgICAgICAgdmFyIGNvbXBhY3RlZCA9IFtdO1xuICAgICAgICAgIGZvciAodmFyIGogPSAwOyBqIDwgb2JqLmxlbmd0aDsgKytqKSB7XG4gICAgICAgICAgICBpZiAodHlwZW9mIG9ialtqXSAhPT0gXCJ1bmRlZmluZWRcIikge1xuICAgICAgICAgICAgICBjb21wYWN0ZWQucHVzaChvYmpbal0pO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgICBpdGVtLm9ialtpdGVtLnByb3BdID0gY29tcGFjdGVkO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfTtcbiAgICB2YXIgYXJyYXlUb09iamVjdCA9IGZ1bmN0aW9uIGFycmF5VG9PYmplY3QyKHNvdXJjZSwgb3B0aW9ucykge1xuICAgICAgdmFyIG9iaiA9IG9wdGlvbnMgJiYgb3B0aW9ucy5wbGFpbk9iamVjdHMgPyB7IF9fcHJvdG9fXzogbnVsbCB9IDoge307XG4gICAgICBmb3IgKHZhciBpID0gMDsgaSA8IHNvdXJjZS5sZW5ndGg7ICsraSkge1xuICAgICAgICBpZiAodHlwZW9mIHNvdXJjZVtpXSAhPT0gXCJ1bmRlZmluZWRcIikge1xuICAgICAgICAgIG9ialtpXSA9IHNvdXJjZVtpXTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgcmV0dXJuIG9iajtcbiAgICB9O1xuICAgIHZhciBtZXJnZSA9IGZ1bmN0aW9uIG1lcmdlMih0YXJnZXQsIHNvdXJjZSwgb3B0aW9ucykge1xuICAgICAgaWYgKCFzb3VyY2UpIHtcbiAgICAgICAgcmV0dXJuIHRhcmdldDtcbiAgICAgIH1cbiAgICAgIGlmICh0eXBlb2Ygc291cmNlICE9PSBcIm9iamVjdFwiICYmIHR5cGVvZiBzb3VyY2UgIT09IFwiZnVuY3Rpb25cIikge1xuICAgICAgICBpZiAoaXNBcnJheSh0YXJnZXQpKSB7XG4gICAgICAgICAgdGFyZ2V0LnB1c2goc291cmNlKTtcbiAgICAgICAgfSBlbHNlIGlmICh0YXJnZXQgJiYgdHlwZW9mIHRhcmdldCA9PT0gXCJvYmplY3RcIikge1xuICAgICAgICAgIGlmIChvcHRpb25zICYmIChvcHRpb25zLnBsYWluT2JqZWN0cyB8fCBvcHRpb25zLmFsbG93UHJvdG90eXBlcykgfHwgIWhhcy5jYWxsKE9iamVjdC5wcm90b3R5cGUsIHNvdXJjZSkpIHtcbiAgICAgICAgICAgIHRhcmdldFtzb3VyY2VdID0gdHJ1ZTtcbiAgICAgICAgICB9XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgcmV0dXJuIFt0YXJnZXQsIHNvdXJjZV07XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHRhcmdldDtcbiAgICAgIH1cbiAgICAgIGlmICghdGFyZ2V0IHx8IHR5cGVvZiB0YXJnZXQgIT09IFwib2JqZWN0XCIpIHtcbiAgICAgICAgcmV0dXJuIFt0YXJnZXRdLmNvbmNhdChzb3VyY2UpO1xuICAgICAgfVxuICAgICAgdmFyIG1lcmdlVGFyZ2V0ID0gdGFyZ2V0O1xuICAgICAgaWYgKGlzQXJyYXkodGFyZ2V0KSAmJiAhaXNBcnJheShzb3VyY2UpKSB7XG4gICAgICAgIG1lcmdlVGFyZ2V0ID0gYXJyYXlUb09iamVjdCh0YXJnZXQsIG9wdGlvbnMpO1xuICAgICAgfVxuICAgICAgaWYgKGlzQXJyYXkodGFyZ2V0KSAmJiBpc0FycmF5KHNvdXJjZSkpIHtcbiAgICAgICAgc291cmNlLmZvckVhY2goZnVuY3Rpb24oaXRlbSwgaSkge1xuICAgICAgICAgIGlmIChoYXMuY2FsbCh0YXJnZXQsIGkpKSB7XG4gICAgICAgICAgICB2YXIgdGFyZ2V0SXRlbSA9IHRhcmdldFtpXTtcbiAgICAgICAgICAgIGlmICh0YXJnZXRJdGVtICYmIHR5cGVvZiB0YXJnZXRJdGVtID09PSBcIm9iamVjdFwiICYmIGl0ZW0gJiYgdHlwZW9mIGl0ZW0gPT09IFwib2JqZWN0XCIpIHtcbiAgICAgICAgICAgICAgdGFyZ2V0W2ldID0gbWVyZ2UyKHRhcmdldEl0ZW0sIGl0ZW0sIG9wdGlvbnMpO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgdGFyZ2V0LnB1c2goaXRlbSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRhcmdldFtpXSA9IGl0ZW07XG4gICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICAgICAgcmV0dXJuIHRhcmdldDtcbiAgICAgIH1cbiAgICAgIHJldHVybiBPYmplY3Qua2V5cyhzb3VyY2UpLnJlZHVjZShmdW5jdGlvbihhY2MsIGtleSkge1xuICAgICAgICB2YXIgdmFsdWUgPSBzb3VyY2Vba2V5XTtcbiAgICAgICAgaWYgKGhhcy5jYWxsKGFjYywga2V5KSkge1xuICAgICAgICAgIGFjY1trZXldID0gbWVyZ2UyKGFjY1trZXldLCB2YWx1ZSwgb3B0aW9ucyk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgYWNjW2tleV0gPSB2YWx1ZTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gYWNjO1xuICAgICAgfSwgbWVyZ2VUYXJnZXQpO1xuICAgIH07XG4gICAgdmFyIGFzc2lnbiA9IGZ1bmN0aW9uIGFzc2lnblNpbmdsZVNvdXJjZSh0YXJnZXQsIHNvdXJjZSkge1xuICAgICAgcmV0dXJuIE9iamVjdC5rZXlzKHNvdXJjZSkucmVkdWNlKGZ1bmN0aW9uKGFjYywga2V5KSB7XG4gICAgICAgIGFjY1trZXldID0gc291cmNlW2tleV07XG4gICAgICAgIHJldHVybiBhY2M7XG4gICAgICB9LCB0YXJnZXQpO1xuICAgIH07XG4gICAgdmFyIGRlY29kZSA9IGZ1bmN0aW9uKHN0ciwgZGVmYXVsdERlY29kZXIsIGNoYXJzZXQpIHtcbiAgICAgIHZhciBzdHJXaXRob3V0UGx1cyA9IHN0ci5yZXBsYWNlKC9cXCsvZywgXCIgXCIpO1xuICAgICAgaWYgKGNoYXJzZXQgPT09IFwiaXNvLTg4NTktMVwiKSB7XG4gICAgICAgIHJldHVybiBzdHJXaXRob3V0UGx1cy5yZXBsYWNlKC8lWzAtOWEtZl17Mn0vZ2ksIHVuZXNjYXBlKTtcbiAgICAgIH1cbiAgICAgIHRyeSB7XG4gICAgICAgIHJldHVybiBkZWNvZGVVUklDb21wb25lbnQoc3RyV2l0aG91dFBsdXMpO1xuICAgICAgfSBjYXRjaCAoZSkge1xuICAgICAgICByZXR1cm4gc3RyV2l0aG91dFBsdXM7XG4gICAgICB9XG4gICAgfTtcbiAgICB2YXIgbGltaXQgPSAxMDI0O1xuICAgIHZhciBlbmNvZGUgPSBmdW5jdGlvbiBlbmNvZGUyKHN0ciwgZGVmYXVsdEVuY29kZXIsIGNoYXJzZXQsIGtpbmQsIGZvcm1hdCkge1xuICAgICAgaWYgKHN0ci5sZW5ndGggPT09IDApIHtcbiAgICAgICAgcmV0dXJuIHN0cjtcbiAgICAgIH1cbiAgICAgIHZhciBzdHJpbmcgPSBzdHI7XG4gICAgICBpZiAodHlwZW9mIHN0ciA9PT0gXCJzeW1ib2xcIikge1xuICAgICAgICBzdHJpbmcgPSBTeW1ib2wucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwoc3RyKTtcbiAgICAgIH0gZWxzZSBpZiAodHlwZW9mIHN0ciAhPT0gXCJzdHJpbmdcIikge1xuICAgICAgICBzdHJpbmcgPSBTdHJpbmcoc3RyKTtcbiAgICAgIH1cbiAgICAgIGlmIChjaGFyc2V0ID09PSBcImlzby04ODU5LTFcIikge1xuICAgICAgICByZXR1cm4gZXNjYXBlKHN0cmluZykucmVwbGFjZSgvJXVbMC05YS1mXXs0fS9naSwgZnVuY3Rpb24oJDApIHtcbiAgICAgICAgICByZXR1cm4gXCIlMjYlMjNcIiArIHBhcnNlSW50KCQwLnNsaWNlKDIpLCAxNikgKyBcIiUzQlwiO1xuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICAgIHZhciBvdXQgPSBcIlwiO1xuICAgICAgZm9yICh2YXIgaiA9IDA7IGogPCBzdHJpbmcubGVuZ3RoOyBqICs9IGxpbWl0KSB7XG4gICAgICAgIHZhciBzZWdtZW50ID0gc3RyaW5nLmxlbmd0aCA+PSBsaW1pdCA/IHN0cmluZy5zbGljZShqLCBqICsgbGltaXQpIDogc3RyaW5nO1xuICAgICAgICB2YXIgYXJyID0gW107XG4gICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgc2VnbWVudC5sZW5ndGg7ICsraSkge1xuICAgICAgICAgIHZhciBjID0gc2VnbWVudC5jaGFyQ29kZUF0KGkpO1xuICAgICAgICAgIGlmIChjID09PSA0NSB8fCBjID09PSA0NiB8fCBjID09PSA5NSB8fCBjID09PSAxMjYgfHwgYyA+PSA0OCAmJiBjIDw9IDU3IHx8IGMgPj0gNjUgJiYgYyA8PSA5MCB8fCBjID49IDk3ICYmIGMgPD0gMTIyIHx8IGZvcm1hdCA9PT0gZm9ybWF0cy5SRkMxNzM4ICYmIChjID09PSA0MCB8fCBjID09PSA0MSkpIHtcbiAgICAgICAgICAgIGFyclthcnIubGVuZ3RoXSA9IHNlZ21lbnQuY2hhckF0KGkpO1xuICAgICAgICAgICAgY29udGludWU7XG4gICAgICAgICAgfVxuICAgICAgICAgIGlmIChjIDwgMTI4KSB7XG4gICAgICAgICAgICBhcnJbYXJyLmxlbmd0aF0gPSBoZXhUYWJsZVtjXTtcbiAgICAgICAgICAgIGNvbnRpbnVlO1xuICAgICAgICAgIH1cbiAgICAgICAgICBpZiAoYyA8IDIwNDgpIHtcbiAgICAgICAgICAgIGFyclthcnIubGVuZ3RoXSA9IGhleFRhYmxlWzE5MiB8IGMgPj4gNl0gKyBoZXhUYWJsZVsxMjggfCBjICYgNjNdO1xuICAgICAgICAgICAgY29udGludWU7XG4gICAgICAgICAgfVxuICAgICAgICAgIGlmIChjIDwgNTUyOTYgfHwgYyA+PSA1NzM0NCkge1xuICAgICAgICAgICAgYXJyW2Fyci5sZW5ndGhdID0gaGV4VGFibGVbMjI0IHwgYyA+PiAxMl0gKyBoZXhUYWJsZVsxMjggfCBjID4+IDYgJiA2M10gKyBoZXhUYWJsZVsxMjggfCBjICYgNjNdO1xuICAgICAgICAgICAgY29udGludWU7XG4gICAgICAgICAgfVxuICAgICAgICAgIGkgKz0gMTtcbiAgICAgICAgICBjID0gNjU1MzYgKyAoKGMgJiAxMDIzKSA8PCAxMCB8IHNlZ21lbnQuY2hhckNvZGVBdChpKSAmIDEwMjMpO1xuICAgICAgICAgIGFyclthcnIubGVuZ3RoXSA9IGhleFRhYmxlWzI0MCB8IGMgPj4gMThdICsgaGV4VGFibGVbMTI4IHwgYyA+PiAxMiAmIDYzXSArIGhleFRhYmxlWzEyOCB8IGMgPj4gNiAmIDYzXSArIGhleFRhYmxlWzEyOCB8IGMgJiA2M107XG4gICAgICAgIH1cbiAgICAgICAgb3V0ICs9IGFyci5qb2luKFwiXCIpO1xuICAgICAgfVxuICAgICAgcmV0dXJuIG91dDtcbiAgICB9O1xuICAgIHZhciBjb21wYWN0ID0gZnVuY3Rpb24gY29tcGFjdDIodmFsdWUpIHtcbiAgICAgIHZhciBxdWV1ZSA9IFt7IG9iajogeyBvOiB2YWx1ZSB9LCBwcm9wOiBcIm9cIiB9XTtcbiAgICAgIHZhciByZWZzID0gW107XG4gICAgICBmb3IgKHZhciBpID0gMDsgaSA8IHF1ZXVlLmxlbmd0aDsgKytpKSB7XG4gICAgICAgIHZhciBpdGVtID0gcXVldWVbaV07XG4gICAgICAgIHZhciBvYmogPSBpdGVtLm9ialtpdGVtLnByb3BdO1xuICAgICAgICB2YXIga2V5cyA9IE9iamVjdC5rZXlzKG9iaik7XG4gICAgICAgIGZvciAodmFyIGogPSAwOyBqIDwga2V5cy5sZW5ndGg7ICsraikge1xuICAgICAgICAgIHZhciBrZXkgPSBrZXlzW2pdO1xuICAgICAgICAgIHZhciB2YWwgPSBvYmpba2V5XTtcbiAgICAgICAgICBpZiAodHlwZW9mIHZhbCA9PT0gXCJvYmplY3RcIiAmJiB2YWwgIT09IG51bGwgJiYgcmVmcy5pbmRleE9mKHZhbCkgPT09IC0xKSB7XG4gICAgICAgICAgICBxdWV1ZS5wdXNoKHsgb2JqLCBwcm9wOiBrZXkgfSk7XG4gICAgICAgICAgICByZWZzLnB1c2godmFsKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIGNvbXBhY3RRdWV1ZShxdWV1ZSk7XG4gICAgICByZXR1cm4gdmFsdWU7XG4gICAgfTtcbiAgICB2YXIgaXNSZWdFeHAgPSBmdW5jdGlvbiBpc1JlZ0V4cDIob2JqKSB7XG4gICAgICByZXR1cm4gT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKG9iaikgPT09IFwiW29iamVjdCBSZWdFeHBdXCI7XG4gICAgfTtcbiAgICB2YXIgaXNCdWZmZXIgPSBmdW5jdGlvbiBpc0J1ZmZlcjIob2JqKSB7XG4gICAgICBpZiAoIW9iaiB8fCB0eXBlb2Ygb2JqICE9PSBcIm9iamVjdFwiKSB7XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgIH1cbiAgICAgIHJldHVybiAhIShvYmouY29uc3RydWN0b3IgJiYgb2JqLmNvbnN0cnVjdG9yLmlzQnVmZmVyICYmIG9iai5jb25zdHJ1Y3Rvci5pc0J1ZmZlcihvYmopKTtcbiAgICB9O1xuICAgIHZhciBjb21iaW5lID0gZnVuY3Rpb24gY29tYmluZTIoYSwgYikge1xuICAgICAgcmV0dXJuIFtdLmNvbmNhdChhLCBiKTtcbiAgICB9O1xuICAgIHZhciBtYXliZU1hcCA9IGZ1bmN0aW9uIG1heWJlTWFwMih2YWwsIGZuKSB7XG4gICAgICBpZiAoaXNBcnJheSh2YWwpKSB7XG4gICAgICAgIHZhciBtYXBwZWQgPSBbXTtcbiAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCB2YWwubGVuZ3RoOyBpICs9IDEpIHtcbiAgICAgICAgICBtYXBwZWQucHVzaChmbih2YWxbaV0pKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gbWFwcGVkO1xuICAgICAgfVxuICAgICAgcmV0dXJuIGZuKHZhbCk7XG4gICAgfTtcbiAgICBtb2R1bGUyLmV4cG9ydHMgPSB7XG4gICAgICBhcnJheVRvT2JqZWN0LFxuICAgICAgYXNzaWduLFxuICAgICAgY29tYmluZSxcbiAgICAgIGNvbXBhY3QsXG4gICAgICBkZWNvZGUsXG4gICAgICBlbmNvZGUsXG4gICAgICBpc0J1ZmZlcixcbiAgICAgIGlzUmVnRXhwLFxuICAgICAgbWF5YmVNYXAsXG4gICAgICBtZXJnZVxuICAgIH07XG4gIH1cbn0pO1xuXG4vLyBub2RlX21vZHVsZXMvcXMvbGliL3N0cmluZ2lmeS5qc1xudmFyIHJlcXVpcmVfc3RyaW5naWZ5ID0gX19jb21tb25KUyh7XG4gIFwibm9kZV9tb2R1bGVzL3FzL2xpYi9zdHJpbmdpZnkuanNcIihleHBvcnRzMiwgbW9kdWxlMikge1xuICAgIFwidXNlIHN0cmljdFwiO1xuICAgIHZhciBnZXRTaWRlQ2hhbm5lbCA9IHJlcXVpcmVfc2lkZV9jaGFubmVsKCk7XG4gICAgdmFyIHV0aWxzID0gcmVxdWlyZV91dGlsczIoKTtcbiAgICB2YXIgZm9ybWF0cyA9IHJlcXVpcmVfZm9ybWF0cygpO1xuICAgIHZhciBoYXMgPSBPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5O1xuICAgIHZhciBhcnJheVByZWZpeEdlbmVyYXRvcnMgPSB7XG4gICAgICBicmFja2V0czogZnVuY3Rpb24gYnJhY2tldHMocHJlZml4KSB7XG4gICAgICAgIHJldHVybiBwcmVmaXggKyBcIltdXCI7XG4gICAgICB9LFxuICAgICAgY29tbWE6IFwiY29tbWFcIixcbiAgICAgIGluZGljZXM6IGZ1bmN0aW9uIGluZGljZXMocHJlZml4LCBrZXkpIHtcbiAgICAgICAgcmV0dXJuIHByZWZpeCArIFwiW1wiICsga2V5ICsgXCJdXCI7XG4gICAgICB9LFxuICAgICAgcmVwZWF0OiBmdW5jdGlvbiByZXBlYXQocHJlZml4KSB7XG4gICAgICAgIHJldHVybiBwcmVmaXg7XG4gICAgICB9XG4gICAgfTtcbiAgICB2YXIgaXNBcnJheSA9IEFycmF5LmlzQXJyYXk7XG4gICAgdmFyIHB1c2ggPSBBcnJheS5wcm90b3R5cGUucHVzaDtcbiAgICB2YXIgcHVzaFRvQXJyYXkgPSBmdW5jdGlvbihhcnIsIHZhbHVlT3JBcnJheSkge1xuICAgICAgcHVzaC5hcHBseShhcnIsIGlzQXJyYXkodmFsdWVPckFycmF5KSA/IHZhbHVlT3JBcnJheSA6IFt2YWx1ZU9yQXJyYXldKTtcbiAgICB9O1xuICAgIHZhciB0b0lTTyA9IERhdGUucHJvdG90eXBlLnRvSVNPU3RyaW5nO1xuICAgIHZhciBkZWZhdWx0Rm9ybWF0ID0gZm9ybWF0c1tcImRlZmF1bHRcIl07XG4gICAgdmFyIGRlZmF1bHRzID0ge1xuICAgICAgYWRkUXVlcnlQcmVmaXg6IGZhbHNlLFxuICAgICAgYWxsb3dEb3RzOiBmYWxzZSxcbiAgICAgIGFsbG93RW1wdHlBcnJheXM6IGZhbHNlLFxuICAgICAgYXJyYXlGb3JtYXQ6IFwiaW5kaWNlc1wiLFxuICAgICAgY2hhcnNldDogXCJ1dGYtOFwiLFxuICAgICAgY2hhcnNldFNlbnRpbmVsOiBmYWxzZSxcbiAgICAgIGNvbW1hUm91bmRUcmlwOiBmYWxzZSxcbiAgICAgIGRlbGltaXRlcjogXCImXCIsXG4gICAgICBlbmNvZGU6IHRydWUsXG4gICAgICBlbmNvZGVEb3RJbktleXM6IGZhbHNlLFxuICAgICAgZW5jb2RlcjogdXRpbHMuZW5jb2RlLFxuICAgICAgZW5jb2RlVmFsdWVzT25seTogZmFsc2UsXG4gICAgICBmaWx0ZXI6IHZvaWQgMCxcbiAgICAgIGZvcm1hdDogZGVmYXVsdEZvcm1hdCxcbiAgICAgIGZvcm1hdHRlcjogZm9ybWF0cy5mb3JtYXR0ZXJzW2RlZmF1bHRGb3JtYXRdLFxuICAgICAgLy8gZGVwcmVjYXRlZFxuICAgICAgaW5kaWNlczogZmFsc2UsXG4gICAgICBzZXJpYWxpemVEYXRlOiBmdW5jdGlvbiBzZXJpYWxpemVEYXRlKGRhdGUpIHtcbiAgICAgICAgcmV0dXJuIHRvSVNPLmNhbGwoZGF0ZSk7XG4gICAgICB9LFxuICAgICAgc2tpcE51bGxzOiBmYWxzZSxcbiAgICAgIHN0cmljdE51bGxIYW5kbGluZzogZmFsc2VcbiAgICB9O1xuICAgIHZhciBpc05vbk51bGxpc2hQcmltaXRpdmUgPSBmdW5jdGlvbiBpc05vbk51bGxpc2hQcmltaXRpdmUyKHYpIHtcbiAgICAgIHJldHVybiB0eXBlb2YgdiA9PT0gXCJzdHJpbmdcIiB8fCB0eXBlb2YgdiA9PT0gXCJudW1iZXJcIiB8fCB0eXBlb2YgdiA9PT0gXCJib29sZWFuXCIgfHwgdHlwZW9mIHYgPT09IFwic3ltYm9sXCIgfHwgdHlwZW9mIHYgPT09IFwiYmlnaW50XCI7XG4gICAgfTtcbiAgICB2YXIgc2VudGluZWwgPSB7fTtcbiAgICB2YXIgc3RyaW5naWZ5ID0gZnVuY3Rpb24gc3RyaW5naWZ5MihvYmplY3QsIHByZWZpeCwgZ2VuZXJhdGVBcnJheVByZWZpeCwgY29tbWFSb3VuZFRyaXAsIGFsbG93RW1wdHlBcnJheXMsIHN0cmljdE51bGxIYW5kbGluZywgc2tpcE51bGxzLCBlbmNvZGVEb3RJbktleXMsIGVuY29kZXIsIGZpbHRlciwgc29ydCwgYWxsb3dEb3RzLCBzZXJpYWxpemVEYXRlLCBmb3JtYXQsIGZvcm1hdHRlciwgZW5jb2RlVmFsdWVzT25seSwgY2hhcnNldCwgc2lkZUNoYW5uZWwpIHtcbiAgICAgIHZhciBvYmogPSBvYmplY3Q7XG4gICAgICB2YXIgdG1wU2MgPSBzaWRlQ2hhbm5lbDtcbiAgICAgIHZhciBzdGVwID0gMDtcbiAgICAgIHZhciBmaW5kRmxhZyA9IGZhbHNlO1xuICAgICAgd2hpbGUgKCh0bXBTYyA9IHRtcFNjLmdldChzZW50aW5lbCkpICE9PSB2b2lkIDAgJiYgIWZpbmRGbGFnKSB7XG4gICAgICAgIHZhciBwb3MgPSB0bXBTYy5nZXQob2JqZWN0KTtcbiAgICAgICAgc3RlcCArPSAxO1xuICAgICAgICBpZiAodHlwZW9mIHBvcyAhPT0gXCJ1bmRlZmluZWRcIikge1xuICAgICAgICAgIGlmIChwb3MgPT09IHN0ZXApIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBSYW5nZUVycm9yKFwiQ3ljbGljIG9iamVjdCB2YWx1ZVwiKTtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgZmluZEZsYWcgPSB0cnVlO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBpZiAodHlwZW9mIHRtcFNjLmdldChzZW50aW5lbCkgPT09IFwidW5kZWZpbmVkXCIpIHtcbiAgICAgICAgICBzdGVwID0gMDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgaWYgKHR5cGVvZiBmaWx0ZXIgPT09IFwiZnVuY3Rpb25cIikge1xuICAgICAgICBvYmogPSBmaWx0ZXIocHJlZml4LCBvYmopO1xuICAgICAgfSBlbHNlIGlmIChvYmogaW5zdGFuY2VvZiBEYXRlKSB7XG4gICAgICAgIG9iaiA9IHNlcmlhbGl6ZURhdGUob2JqKTtcbiAgICAgIH0gZWxzZSBpZiAoZ2VuZXJhdGVBcnJheVByZWZpeCA9PT0gXCJjb21tYVwiICYmIGlzQXJyYXkob2JqKSkge1xuICAgICAgICBvYmogPSB1dGlscy5tYXliZU1hcChvYmosIGZ1bmN0aW9uKHZhbHVlMikge1xuICAgICAgICAgIGlmICh2YWx1ZTIgaW5zdGFuY2VvZiBEYXRlKSB7XG4gICAgICAgICAgICByZXR1cm4gc2VyaWFsaXplRGF0ZSh2YWx1ZTIpO1xuICAgICAgICAgIH1cbiAgICAgICAgICByZXR1cm4gdmFsdWUyO1xuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICAgIGlmIChvYmogPT09IG51bGwpIHtcbiAgICAgICAgaWYgKHN0cmljdE51bGxIYW5kbGluZykge1xuICAgICAgICAgIHJldHVybiBlbmNvZGVyICYmICFlbmNvZGVWYWx1ZXNPbmx5ID8gZW5jb2RlcihwcmVmaXgsIGRlZmF1bHRzLmVuY29kZXIsIGNoYXJzZXQsIFwia2V5XCIsIGZvcm1hdCkgOiBwcmVmaXg7XG4gICAgICAgIH1cbiAgICAgICAgb2JqID0gXCJcIjtcbiAgICAgIH1cbiAgICAgIGlmIChpc05vbk51bGxpc2hQcmltaXRpdmUob2JqKSB8fCB1dGlscy5pc0J1ZmZlcihvYmopKSB7XG4gICAgICAgIGlmIChlbmNvZGVyKSB7XG4gICAgICAgICAgdmFyIGtleVZhbHVlID0gZW5jb2RlVmFsdWVzT25seSA/IHByZWZpeCA6IGVuY29kZXIocHJlZml4LCBkZWZhdWx0cy5lbmNvZGVyLCBjaGFyc2V0LCBcImtleVwiLCBmb3JtYXQpO1xuICAgICAgICAgIHJldHVybiBbZm9ybWF0dGVyKGtleVZhbHVlKSArIFwiPVwiICsgZm9ybWF0dGVyKGVuY29kZXIob2JqLCBkZWZhdWx0cy5lbmNvZGVyLCBjaGFyc2V0LCBcInZhbHVlXCIsIGZvcm1hdCkpXTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gW2Zvcm1hdHRlcihwcmVmaXgpICsgXCI9XCIgKyBmb3JtYXR0ZXIoU3RyaW5nKG9iaikpXTtcbiAgICAgIH1cbiAgICAgIHZhciB2YWx1ZXMgPSBbXTtcbiAgICAgIGlmICh0eXBlb2Ygb2JqID09PSBcInVuZGVmaW5lZFwiKSB7XG4gICAgICAgIHJldHVybiB2YWx1ZXM7XG4gICAgICB9XG4gICAgICB2YXIgb2JqS2V5cztcbiAgICAgIGlmIChnZW5lcmF0ZUFycmF5UHJlZml4ID09PSBcImNvbW1hXCIgJiYgaXNBcnJheShvYmopKSB7XG4gICAgICAgIGlmIChlbmNvZGVWYWx1ZXNPbmx5ICYmIGVuY29kZXIpIHtcbiAgICAgICAgICBvYmogPSB1dGlscy5tYXliZU1hcChvYmosIGVuY29kZXIpO1xuICAgICAgICB9XG4gICAgICAgIG9iaktleXMgPSBbeyB2YWx1ZTogb2JqLmxlbmd0aCA+IDAgPyBvYmouam9pbihcIixcIikgfHwgbnVsbCA6IHZvaWQgMCB9XTtcbiAgICAgIH0gZWxzZSBpZiAoaXNBcnJheShmaWx0ZXIpKSB7XG4gICAgICAgIG9iaktleXMgPSBmaWx0ZXI7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB2YXIga2V5cyA9IE9iamVjdC5rZXlzKG9iaik7XG4gICAgICAgIG9iaktleXMgPSBzb3J0ID8ga2V5cy5zb3J0KHNvcnQpIDoga2V5cztcbiAgICAgIH1cbiAgICAgIHZhciBlbmNvZGVkUHJlZml4ID0gZW5jb2RlRG90SW5LZXlzID8gU3RyaW5nKHByZWZpeCkucmVwbGFjZSgvXFwuL2csIFwiJTJFXCIpIDogU3RyaW5nKHByZWZpeCk7XG4gICAgICB2YXIgYWRqdXN0ZWRQcmVmaXggPSBjb21tYVJvdW5kVHJpcCAmJiBpc0FycmF5KG9iaikgJiYgb2JqLmxlbmd0aCA9PT0gMSA/IGVuY29kZWRQcmVmaXggKyBcIltdXCIgOiBlbmNvZGVkUHJlZml4O1xuICAgICAgaWYgKGFsbG93RW1wdHlBcnJheXMgJiYgaXNBcnJheShvYmopICYmIG9iai5sZW5ndGggPT09IDApIHtcbiAgICAgICAgcmV0dXJuIGFkanVzdGVkUHJlZml4ICsgXCJbXVwiO1xuICAgICAgfVxuICAgICAgZm9yICh2YXIgaiA9IDA7IGogPCBvYmpLZXlzLmxlbmd0aDsgKytqKSB7XG4gICAgICAgIHZhciBrZXkgPSBvYmpLZXlzW2pdO1xuICAgICAgICB2YXIgdmFsdWUgPSB0eXBlb2Yga2V5ID09PSBcIm9iamVjdFwiICYmIGtleSAmJiB0eXBlb2Yga2V5LnZhbHVlICE9PSBcInVuZGVmaW5lZFwiID8ga2V5LnZhbHVlIDogb2JqW2tleV07XG4gICAgICAgIGlmIChza2lwTnVsbHMgJiYgdmFsdWUgPT09IG51bGwpIHtcbiAgICAgICAgICBjb250aW51ZTtcbiAgICAgICAgfVxuICAgICAgICB2YXIgZW5jb2RlZEtleSA9IGFsbG93RG90cyAmJiBlbmNvZGVEb3RJbktleXMgPyBTdHJpbmcoa2V5KS5yZXBsYWNlKC9cXC4vZywgXCIlMkVcIikgOiBTdHJpbmcoa2V5KTtcbiAgICAgICAgdmFyIGtleVByZWZpeCA9IGlzQXJyYXkob2JqKSA/IHR5cGVvZiBnZW5lcmF0ZUFycmF5UHJlZml4ID09PSBcImZ1bmN0aW9uXCIgPyBnZW5lcmF0ZUFycmF5UHJlZml4KGFkanVzdGVkUHJlZml4LCBlbmNvZGVkS2V5KSA6IGFkanVzdGVkUHJlZml4IDogYWRqdXN0ZWRQcmVmaXggKyAoYWxsb3dEb3RzID8gXCIuXCIgKyBlbmNvZGVkS2V5IDogXCJbXCIgKyBlbmNvZGVkS2V5ICsgXCJdXCIpO1xuICAgICAgICBzaWRlQ2hhbm5lbC5zZXQob2JqZWN0LCBzdGVwKTtcbiAgICAgICAgdmFyIHZhbHVlU2lkZUNoYW5uZWwgPSBnZXRTaWRlQ2hhbm5lbCgpO1xuICAgICAgICB2YWx1ZVNpZGVDaGFubmVsLnNldChzZW50aW5lbCwgc2lkZUNoYW5uZWwpO1xuICAgICAgICBwdXNoVG9BcnJheSh2YWx1ZXMsIHN0cmluZ2lmeTIoXG4gICAgICAgICAgdmFsdWUsXG4gICAgICAgICAga2V5UHJlZml4LFxuICAgICAgICAgIGdlbmVyYXRlQXJyYXlQcmVmaXgsXG4gICAgICAgICAgY29tbWFSb3VuZFRyaXAsXG4gICAgICAgICAgYWxsb3dFbXB0eUFycmF5cyxcbiAgICAgICAgICBzdHJpY3ROdWxsSGFuZGxpbmcsXG4gICAgICAgICAgc2tpcE51bGxzLFxuICAgICAgICAgIGVuY29kZURvdEluS2V5cyxcbiAgICAgICAgICBnZW5lcmF0ZUFycmF5UHJlZml4ID09PSBcImNvbW1hXCIgJiYgZW5jb2RlVmFsdWVzT25seSAmJiBpc0FycmF5KG9iaikgPyBudWxsIDogZW5jb2RlcixcbiAgICAgICAgICBmaWx0ZXIsXG4gICAgICAgICAgc29ydCxcbiAgICAgICAgICBhbGxvd0RvdHMsXG4gICAgICAgICAgc2VyaWFsaXplRGF0ZSxcbiAgICAgICAgICBmb3JtYXQsXG4gICAgICAgICAgZm9ybWF0dGVyLFxuICAgICAgICAgIGVuY29kZVZhbHVlc09ubHksXG4gICAgICAgICAgY2hhcnNldCxcbiAgICAgICAgICB2YWx1ZVNpZGVDaGFubmVsXG4gICAgICAgICkpO1xuICAgICAgfVxuICAgICAgcmV0dXJuIHZhbHVlcztcbiAgICB9O1xuICAgIHZhciBub3JtYWxpemVTdHJpbmdpZnlPcHRpb25zID0gZnVuY3Rpb24gbm9ybWFsaXplU3RyaW5naWZ5T3B0aW9uczIob3B0cykge1xuICAgICAgaWYgKCFvcHRzKSB7XG4gICAgICAgIHJldHVybiBkZWZhdWx0cztcbiAgICAgIH1cbiAgICAgIGlmICh0eXBlb2Ygb3B0cy5hbGxvd0VtcHR5QXJyYXlzICE9PSBcInVuZGVmaW5lZFwiICYmIHR5cGVvZiBvcHRzLmFsbG93RW1wdHlBcnJheXMgIT09IFwiYm9vbGVhblwiKSB7XG4gICAgICAgIHRocm93IG5ldyBUeXBlRXJyb3IoXCJgYWxsb3dFbXB0eUFycmF5c2Agb3B0aW9uIGNhbiBvbmx5IGJlIGB0cnVlYCBvciBgZmFsc2VgLCB3aGVuIHByb3ZpZGVkXCIpO1xuICAgICAgfVxuICAgICAgaWYgKHR5cGVvZiBvcHRzLmVuY29kZURvdEluS2V5cyAhPT0gXCJ1bmRlZmluZWRcIiAmJiB0eXBlb2Ygb3B0cy5lbmNvZGVEb3RJbktleXMgIT09IFwiYm9vbGVhblwiKSB7XG4gICAgICAgIHRocm93IG5ldyBUeXBlRXJyb3IoXCJgZW5jb2RlRG90SW5LZXlzYCBvcHRpb24gY2FuIG9ubHkgYmUgYHRydWVgIG9yIGBmYWxzZWAsIHdoZW4gcHJvdmlkZWRcIik7XG4gICAgICB9XG4gICAgICBpZiAob3B0cy5lbmNvZGVyICE9PSBudWxsICYmIHR5cGVvZiBvcHRzLmVuY29kZXIgIT09IFwidW5kZWZpbmVkXCIgJiYgdHlwZW9mIG9wdHMuZW5jb2RlciAhPT0gXCJmdW5jdGlvblwiKSB7XG4gICAgICAgIHRocm93IG5ldyBUeXBlRXJyb3IoXCJFbmNvZGVyIGhhcyB0byBiZSBhIGZ1bmN0aW9uLlwiKTtcbiAgICAgIH1cbiAgICAgIHZhciBjaGFyc2V0ID0gb3B0cy5jaGFyc2V0IHx8IGRlZmF1bHRzLmNoYXJzZXQ7XG4gICAgICBpZiAodHlwZW9mIG9wdHMuY2hhcnNldCAhPT0gXCJ1bmRlZmluZWRcIiAmJiBvcHRzLmNoYXJzZXQgIT09IFwidXRmLThcIiAmJiBvcHRzLmNoYXJzZXQgIT09IFwiaXNvLTg4NTktMVwiKSB7XG4gICAgICAgIHRocm93IG5ldyBUeXBlRXJyb3IoXCJUaGUgY2hhcnNldCBvcHRpb24gbXVzdCBiZSBlaXRoZXIgdXRmLTgsIGlzby04ODU5LTEsIG9yIHVuZGVmaW5lZFwiKTtcbiAgICAgIH1cbiAgICAgIHZhciBmb3JtYXQgPSBmb3JtYXRzW1wiZGVmYXVsdFwiXTtcbiAgICAgIGlmICh0eXBlb2Ygb3B0cy5mb3JtYXQgIT09IFwidW5kZWZpbmVkXCIpIHtcbiAgICAgICAgaWYgKCFoYXMuY2FsbChmb3JtYXRzLmZvcm1hdHRlcnMsIG9wdHMuZm9ybWF0KSkge1xuICAgICAgICAgIHRocm93IG5ldyBUeXBlRXJyb3IoXCJVbmtub3duIGZvcm1hdCBvcHRpb24gcHJvdmlkZWQuXCIpO1xuICAgICAgICB9XG4gICAgICAgIGZvcm1hdCA9IG9wdHMuZm9ybWF0O1xuICAgICAgfVxuICAgICAgdmFyIGZvcm1hdHRlciA9IGZvcm1hdHMuZm9ybWF0dGVyc1tmb3JtYXRdO1xuICAgICAgdmFyIGZpbHRlciA9IGRlZmF1bHRzLmZpbHRlcjtcbiAgICAgIGlmICh0eXBlb2Ygb3B0cy5maWx0ZXIgPT09IFwiZnVuY3Rpb25cIiB8fCBpc0FycmF5KG9wdHMuZmlsdGVyKSkge1xuICAgICAgICBmaWx0ZXIgPSBvcHRzLmZpbHRlcjtcbiAgICAgIH1cbiAgICAgIHZhciBhcnJheUZvcm1hdDtcbiAgICAgIGlmIChvcHRzLmFycmF5Rm9ybWF0IGluIGFycmF5UHJlZml4R2VuZXJhdG9ycykge1xuICAgICAgICBhcnJheUZvcm1hdCA9IG9wdHMuYXJyYXlGb3JtYXQ7XG4gICAgICB9IGVsc2UgaWYgKFwiaW5kaWNlc1wiIGluIG9wdHMpIHtcbiAgICAgICAgYXJyYXlGb3JtYXQgPSBvcHRzLmluZGljZXMgPyBcImluZGljZXNcIiA6IFwicmVwZWF0XCI7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBhcnJheUZvcm1hdCA9IGRlZmF1bHRzLmFycmF5Rm9ybWF0O1xuICAgICAgfVxuICAgICAgaWYgKFwiY29tbWFSb3VuZFRyaXBcIiBpbiBvcHRzICYmIHR5cGVvZiBvcHRzLmNvbW1hUm91bmRUcmlwICE9PSBcImJvb2xlYW5cIikge1xuICAgICAgICB0aHJvdyBuZXcgVHlwZUVycm9yKFwiYGNvbW1hUm91bmRUcmlwYCBtdXN0IGJlIGEgYm9vbGVhbiwgb3IgYWJzZW50XCIpO1xuICAgICAgfVxuICAgICAgdmFyIGFsbG93RG90cyA9IHR5cGVvZiBvcHRzLmFsbG93RG90cyA9PT0gXCJ1bmRlZmluZWRcIiA/IG9wdHMuZW5jb2RlRG90SW5LZXlzID09PSB0cnVlID8gdHJ1ZSA6IGRlZmF1bHRzLmFsbG93RG90cyA6ICEhb3B0cy5hbGxvd0RvdHM7XG4gICAgICByZXR1cm4ge1xuICAgICAgICBhZGRRdWVyeVByZWZpeDogdHlwZW9mIG9wdHMuYWRkUXVlcnlQcmVmaXggPT09IFwiYm9vbGVhblwiID8gb3B0cy5hZGRRdWVyeVByZWZpeCA6IGRlZmF1bHRzLmFkZFF1ZXJ5UHJlZml4LFxuICAgICAgICBhbGxvd0RvdHMsXG4gICAgICAgIGFsbG93RW1wdHlBcnJheXM6IHR5cGVvZiBvcHRzLmFsbG93RW1wdHlBcnJheXMgPT09IFwiYm9vbGVhblwiID8gISFvcHRzLmFsbG93RW1wdHlBcnJheXMgOiBkZWZhdWx0cy5hbGxvd0VtcHR5QXJyYXlzLFxuICAgICAgICBhcnJheUZvcm1hdCxcbiAgICAgICAgY2hhcnNldCxcbiAgICAgICAgY2hhcnNldFNlbnRpbmVsOiB0eXBlb2Ygb3B0cy5jaGFyc2V0U2VudGluZWwgPT09IFwiYm9vbGVhblwiID8gb3B0cy5jaGFyc2V0U2VudGluZWwgOiBkZWZhdWx0cy5jaGFyc2V0U2VudGluZWwsXG4gICAgICAgIGNvbW1hUm91bmRUcmlwOiAhIW9wdHMuY29tbWFSb3VuZFRyaXAsXG4gICAgICAgIGRlbGltaXRlcjogdHlwZW9mIG9wdHMuZGVsaW1pdGVyID09PSBcInVuZGVmaW5lZFwiID8gZGVmYXVsdHMuZGVsaW1pdGVyIDogb3B0cy5kZWxpbWl0ZXIsXG4gICAgICAgIGVuY29kZTogdHlwZW9mIG9wdHMuZW5jb2RlID09PSBcImJvb2xlYW5cIiA/IG9wdHMuZW5jb2RlIDogZGVmYXVsdHMuZW5jb2RlLFxuICAgICAgICBlbmNvZGVEb3RJbktleXM6IHR5cGVvZiBvcHRzLmVuY29kZURvdEluS2V5cyA9PT0gXCJib29sZWFuXCIgPyBvcHRzLmVuY29kZURvdEluS2V5cyA6IGRlZmF1bHRzLmVuY29kZURvdEluS2V5cyxcbiAgICAgICAgZW5jb2RlcjogdHlwZW9mIG9wdHMuZW5jb2RlciA9PT0gXCJmdW5jdGlvblwiID8gb3B0cy5lbmNvZGVyIDogZGVmYXVsdHMuZW5jb2RlcixcbiAgICAgICAgZW5jb2RlVmFsdWVzT25seTogdHlwZW9mIG9wdHMuZW5jb2RlVmFsdWVzT25seSA9PT0gXCJib29sZWFuXCIgPyBvcHRzLmVuY29kZVZhbHVlc09ubHkgOiBkZWZhdWx0cy5lbmNvZGVWYWx1ZXNPbmx5LFxuICAgICAgICBmaWx0ZXIsXG4gICAgICAgIGZvcm1hdCxcbiAgICAgICAgZm9ybWF0dGVyLFxuICAgICAgICBzZXJpYWxpemVEYXRlOiB0eXBlb2Ygb3B0cy5zZXJpYWxpemVEYXRlID09PSBcImZ1bmN0aW9uXCIgPyBvcHRzLnNlcmlhbGl6ZURhdGUgOiBkZWZhdWx0cy5zZXJpYWxpemVEYXRlLFxuICAgICAgICBza2lwTnVsbHM6IHR5cGVvZiBvcHRzLnNraXBOdWxscyA9PT0gXCJib29sZWFuXCIgPyBvcHRzLnNraXBOdWxscyA6IGRlZmF1bHRzLnNraXBOdWxscyxcbiAgICAgICAgc29ydDogdHlwZW9mIG9wdHMuc29ydCA9PT0gXCJmdW5jdGlvblwiID8gb3B0cy5zb3J0IDogbnVsbCxcbiAgICAgICAgc3RyaWN0TnVsbEhhbmRsaW5nOiB0eXBlb2Ygb3B0cy5zdHJpY3ROdWxsSGFuZGxpbmcgPT09IFwiYm9vbGVhblwiID8gb3B0cy5zdHJpY3ROdWxsSGFuZGxpbmcgOiBkZWZhdWx0cy5zdHJpY3ROdWxsSGFuZGxpbmdcbiAgICAgIH07XG4gICAgfTtcbiAgICBtb2R1bGUyLmV4cG9ydHMgPSBmdW5jdGlvbihvYmplY3QsIG9wdHMpIHtcbiAgICAgIHZhciBvYmogPSBvYmplY3Q7XG4gICAgICB2YXIgb3B0aW9ucyA9IG5vcm1hbGl6ZVN0cmluZ2lmeU9wdGlvbnMob3B0cyk7XG4gICAgICB2YXIgb2JqS2V5cztcbiAgICAgIHZhciBmaWx0ZXI7XG4gICAgICBpZiAodHlwZW9mIG9wdGlvbnMuZmlsdGVyID09PSBcImZ1bmN0aW9uXCIpIHtcbiAgICAgICAgZmlsdGVyID0gb3B0aW9ucy5maWx0ZXI7XG4gICAgICAgIG9iaiA9IGZpbHRlcihcIlwiLCBvYmopO1xuICAgICAgfSBlbHNlIGlmIChpc0FycmF5KG9wdGlvbnMuZmlsdGVyKSkge1xuICAgICAgICBmaWx0ZXIgPSBvcHRpb25zLmZpbHRlcjtcbiAgICAgICAgb2JqS2V5cyA9IGZpbHRlcjtcbiAgICAgIH1cbiAgICAgIHZhciBrZXlzID0gW107XG4gICAgICBpZiAodHlwZW9mIG9iaiAhPT0gXCJvYmplY3RcIiB8fCBvYmogPT09IG51bGwpIHtcbiAgICAgICAgcmV0dXJuIFwiXCI7XG4gICAgICB9XG4gICAgICB2YXIgZ2VuZXJhdGVBcnJheVByZWZpeCA9IGFycmF5UHJlZml4R2VuZXJhdG9yc1tvcHRpb25zLmFycmF5Rm9ybWF0XTtcbiAgICAgIHZhciBjb21tYVJvdW5kVHJpcCA9IGdlbmVyYXRlQXJyYXlQcmVmaXggPT09IFwiY29tbWFcIiAmJiBvcHRpb25zLmNvbW1hUm91bmRUcmlwO1xuICAgICAgaWYgKCFvYmpLZXlzKSB7XG4gICAgICAgIG9iaktleXMgPSBPYmplY3Qua2V5cyhvYmopO1xuICAgICAgfVxuICAgICAgaWYgKG9wdGlvbnMuc29ydCkge1xuICAgICAgICBvYmpLZXlzLnNvcnQob3B0aW9ucy5zb3J0KTtcbiAgICAgIH1cbiAgICAgIHZhciBzaWRlQ2hhbm5lbCA9IGdldFNpZGVDaGFubmVsKCk7XG4gICAgICBmb3IgKHZhciBpID0gMDsgaSA8IG9iaktleXMubGVuZ3RoOyArK2kpIHtcbiAgICAgICAgdmFyIGtleSA9IG9iaktleXNbaV07XG4gICAgICAgIHZhciB2YWx1ZSA9IG9ialtrZXldO1xuICAgICAgICBpZiAob3B0aW9ucy5za2lwTnVsbHMgJiYgdmFsdWUgPT09IG51bGwpIHtcbiAgICAgICAgICBjb250aW51ZTtcbiAgICAgICAgfVxuICAgICAgICBwdXNoVG9BcnJheShrZXlzLCBzdHJpbmdpZnkoXG4gICAgICAgICAgdmFsdWUsXG4gICAgICAgICAga2V5LFxuICAgICAgICAgIGdlbmVyYXRlQXJyYXlQcmVmaXgsXG4gICAgICAgICAgY29tbWFSb3VuZFRyaXAsXG4gICAgICAgICAgb3B0aW9ucy5hbGxvd0VtcHR5QXJyYXlzLFxuICAgICAgICAgIG9wdGlvbnMuc3RyaWN0TnVsbEhhbmRsaW5nLFxuICAgICAgICAgIG9wdGlvbnMuc2tpcE51bGxzLFxuICAgICAgICAgIG9wdGlvbnMuZW5jb2RlRG90SW5LZXlzLFxuICAgICAgICAgIG9wdGlvbnMuZW5jb2RlID8gb3B0aW9ucy5lbmNvZGVyIDogbnVsbCxcbiAgICAgICAgICBvcHRpb25zLmZpbHRlcixcbiAgICAgICAgICBvcHRpb25zLnNvcnQsXG4gICAgICAgICAgb3B0aW9ucy5hbGxvd0RvdHMsXG4gICAgICAgICAgb3B0aW9ucy5zZXJpYWxpemVEYXRlLFxuICAgICAgICAgIG9wdGlvbnMuZm9ybWF0LFxuICAgICAgICAgIG9wdGlvbnMuZm9ybWF0dGVyLFxuICAgICAgICAgIG9wdGlvbnMuZW5jb2RlVmFsdWVzT25seSxcbiAgICAgICAgICBvcHRpb25zLmNoYXJzZXQsXG4gICAgICAgICAgc2lkZUNoYW5uZWxcbiAgICAgICAgKSk7XG4gICAgICB9XG4gICAgICB2YXIgam9pbmVkID0ga2V5cy5qb2luKG9wdGlvbnMuZGVsaW1pdGVyKTtcbiAgICAgIHZhciBwcmVmaXggPSBvcHRpb25zLmFkZFF1ZXJ5UHJlZml4ID09PSB0cnVlID8gXCI/XCIgOiBcIlwiO1xuICAgICAgaWYgKG9wdGlvbnMuY2hhcnNldFNlbnRpbmVsKSB7XG4gICAgICAgIGlmIChvcHRpb25zLmNoYXJzZXQgPT09IFwiaXNvLTg4NTktMVwiKSB7XG4gICAgICAgICAgcHJlZml4ICs9IFwidXRmOD0lMjYlMjMxMDAwMyUzQiZcIjtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBwcmVmaXggKz0gXCJ1dGY4PSVFMiU5QyU5MyZcIjtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgcmV0dXJuIGpvaW5lZC5sZW5ndGggPiAwID8gcHJlZml4ICsgam9pbmVkIDogXCJcIjtcbiAgICB9O1xuICB9XG59KTtcblxuLy8gbm9kZV9tb2R1bGVzL3FzL2xpYi9wYXJzZS5qc1xudmFyIHJlcXVpcmVfcGFyc2UgPSBfX2NvbW1vbkpTKHtcbiAgXCJub2RlX21vZHVsZXMvcXMvbGliL3BhcnNlLmpzXCIoZXhwb3J0czIsIG1vZHVsZTIpIHtcbiAgICBcInVzZSBzdHJpY3RcIjtcbiAgICB2YXIgdXRpbHMgPSByZXF1aXJlX3V0aWxzMigpO1xuICAgIHZhciBoYXMgPSBPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5O1xuICAgIHZhciBpc0FycmF5ID0gQXJyYXkuaXNBcnJheTtcbiAgICB2YXIgZGVmYXVsdHMgPSB7XG4gICAgICBhbGxvd0RvdHM6IGZhbHNlLFxuICAgICAgYWxsb3dFbXB0eUFycmF5czogZmFsc2UsXG4gICAgICBhbGxvd1Byb3RvdHlwZXM6IGZhbHNlLFxuICAgICAgYWxsb3dTcGFyc2U6IGZhbHNlLFxuICAgICAgYXJyYXlMaW1pdDogMjAsXG4gICAgICBjaGFyc2V0OiBcInV0Zi04XCIsXG4gICAgICBjaGFyc2V0U2VudGluZWw6IGZhbHNlLFxuICAgICAgY29tbWE6IGZhbHNlLFxuICAgICAgZGVjb2RlRG90SW5LZXlzOiBmYWxzZSxcbiAgICAgIGRlY29kZXI6IHV0aWxzLmRlY29kZSxcbiAgICAgIGRlbGltaXRlcjogXCImXCIsXG4gICAgICBkZXB0aDogNSxcbiAgICAgIGR1cGxpY2F0ZXM6IFwiY29tYmluZVwiLFxuICAgICAgaWdub3JlUXVlcnlQcmVmaXg6IGZhbHNlLFxuICAgICAgaW50ZXJwcmV0TnVtZXJpY0VudGl0aWVzOiBmYWxzZSxcbiAgICAgIHBhcmFtZXRlckxpbWl0OiAxZTMsXG4gICAgICBwYXJzZUFycmF5czogdHJ1ZSxcbiAgICAgIHBsYWluT2JqZWN0czogZmFsc2UsXG4gICAgICBzdHJpY3REZXB0aDogZmFsc2UsXG4gICAgICBzdHJpY3ROdWxsSGFuZGxpbmc6IGZhbHNlLFxuICAgICAgdGhyb3dPbkxpbWl0RXhjZWVkZWQ6IGZhbHNlXG4gICAgfTtcbiAgICB2YXIgaW50ZXJwcmV0TnVtZXJpY0VudGl0aWVzID0gZnVuY3Rpb24oc3RyKSB7XG4gICAgICByZXR1cm4gc3RyLnJlcGxhY2UoLyYjKFxcZCspOy9nLCBmdW5jdGlvbigkMCwgbnVtYmVyU3RyKSB7XG4gICAgICAgIHJldHVybiBTdHJpbmcuZnJvbUNoYXJDb2RlKHBhcnNlSW50KG51bWJlclN0ciwgMTApKTtcbiAgICAgIH0pO1xuICAgIH07XG4gICAgdmFyIHBhcnNlQXJyYXlWYWx1ZSA9IGZ1bmN0aW9uKHZhbCwgb3B0aW9ucywgY3VycmVudEFycmF5TGVuZ3RoKSB7XG4gICAgICBpZiAodmFsICYmIHR5cGVvZiB2YWwgPT09IFwic3RyaW5nXCIgJiYgb3B0aW9ucy5jb21tYSAmJiB2YWwuaW5kZXhPZihcIixcIikgPiAtMSkge1xuICAgICAgICByZXR1cm4gdmFsLnNwbGl0KFwiLFwiKTtcbiAgICAgIH1cbiAgICAgIGlmIChvcHRpb25zLnRocm93T25MaW1pdEV4Y2VlZGVkICYmIGN1cnJlbnRBcnJheUxlbmd0aCA+PSBvcHRpb25zLmFycmF5TGltaXQpIHtcbiAgICAgICAgdGhyb3cgbmV3IFJhbmdlRXJyb3IoXCJBcnJheSBsaW1pdCBleGNlZWRlZC4gT25seSBcIiArIG9wdGlvbnMuYXJyYXlMaW1pdCArIFwiIGVsZW1lbnRcIiArIChvcHRpb25zLmFycmF5TGltaXQgPT09IDEgPyBcIlwiIDogXCJzXCIpICsgXCIgYWxsb3dlZCBpbiBhbiBhcnJheS5cIik7XG4gICAgICB9XG4gICAgICByZXR1cm4gdmFsO1xuICAgIH07XG4gICAgdmFyIGlzb1NlbnRpbmVsID0gXCJ1dGY4PSUyNiUyMzEwMDAzJTNCXCI7XG4gICAgdmFyIGNoYXJzZXRTZW50aW5lbCA9IFwidXRmOD0lRTIlOUMlOTNcIjtcbiAgICB2YXIgcGFyc2VWYWx1ZXMgPSBmdW5jdGlvbiBwYXJzZVF1ZXJ5U3RyaW5nVmFsdWVzKHN0ciwgb3B0aW9ucykge1xuICAgICAgdmFyIG9iaiA9IHsgX19wcm90b19fOiBudWxsIH07XG4gICAgICB2YXIgY2xlYW5TdHIgPSBvcHRpb25zLmlnbm9yZVF1ZXJ5UHJlZml4ID8gc3RyLnJlcGxhY2UoL15cXD8vLCBcIlwiKSA6IHN0cjtcbiAgICAgIGNsZWFuU3RyID0gY2xlYW5TdHIucmVwbGFjZSgvJTVCL2dpLCBcIltcIikucmVwbGFjZSgvJTVEL2dpLCBcIl1cIik7XG4gICAgICB2YXIgbGltaXQgPSBvcHRpb25zLnBhcmFtZXRlckxpbWl0ID09PSBJbmZpbml0eSA/IHZvaWQgMCA6IG9wdGlvbnMucGFyYW1ldGVyTGltaXQ7XG4gICAgICB2YXIgcGFydHMgPSBjbGVhblN0ci5zcGxpdChcbiAgICAgICAgb3B0aW9ucy5kZWxpbWl0ZXIsXG4gICAgICAgIG9wdGlvbnMudGhyb3dPbkxpbWl0RXhjZWVkZWQgPyBsaW1pdCArIDEgOiBsaW1pdFxuICAgICAgKTtcbiAgICAgIGlmIChvcHRpb25zLnRocm93T25MaW1pdEV4Y2VlZGVkICYmIHBhcnRzLmxlbmd0aCA+IGxpbWl0KSB7XG4gICAgICAgIHRocm93IG5ldyBSYW5nZUVycm9yKFwiUGFyYW1ldGVyIGxpbWl0IGV4Y2VlZGVkLiBPbmx5IFwiICsgbGltaXQgKyBcIiBwYXJhbWV0ZXJcIiArIChsaW1pdCA9PT0gMSA/IFwiXCIgOiBcInNcIikgKyBcIiBhbGxvd2VkLlwiKTtcbiAgICAgIH1cbiAgICAgIHZhciBza2lwSW5kZXggPSAtMTtcbiAgICAgIHZhciBpO1xuICAgICAgdmFyIGNoYXJzZXQgPSBvcHRpb25zLmNoYXJzZXQ7XG4gICAgICBpZiAob3B0aW9ucy5jaGFyc2V0U2VudGluZWwpIHtcbiAgICAgICAgZm9yIChpID0gMDsgaSA8IHBhcnRzLmxlbmd0aDsgKytpKSB7XG4gICAgICAgICAgaWYgKHBhcnRzW2ldLmluZGV4T2YoXCJ1dGY4PVwiKSA9PT0gMCkge1xuICAgICAgICAgICAgaWYgKHBhcnRzW2ldID09PSBjaGFyc2V0U2VudGluZWwpIHtcbiAgICAgICAgICAgICAgY2hhcnNldCA9IFwidXRmLThcIjtcbiAgICAgICAgICAgIH0gZWxzZSBpZiAocGFydHNbaV0gPT09IGlzb1NlbnRpbmVsKSB7XG4gICAgICAgICAgICAgIGNoYXJzZXQgPSBcImlzby04ODU5LTFcIjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHNraXBJbmRleCA9IGk7XG4gICAgICAgICAgICBpID0gcGFydHMubGVuZ3RoO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgZm9yIChpID0gMDsgaSA8IHBhcnRzLmxlbmd0aDsgKytpKSB7XG4gICAgICAgIGlmIChpID09PSBza2lwSW5kZXgpIHtcbiAgICAgICAgICBjb250aW51ZTtcbiAgICAgICAgfVxuICAgICAgICB2YXIgcGFydCA9IHBhcnRzW2ldO1xuICAgICAgICB2YXIgYnJhY2tldEVxdWFsc1BvcyA9IHBhcnQuaW5kZXhPZihcIl09XCIpO1xuICAgICAgICB2YXIgcG9zID0gYnJhY2tldEVxdWFsc1BvcyA9PT0gLTEgPyBwYXJ0LmluZGV4T2YoXCI9XCIpIDogYnJhY2tldEVxdWFsc1BvcyArIDE7XG4gICAgICAgIHZhciBrZXk7XG4gICAgICAgIHZhciB2YWw7XG4gICAgICAgIGlmIChwb3MgPT09IC0xKSB7XG4gICAgICAgICAga2V5ID0gb3B0aW9ucy5kZWNvZGVyKHBhcnQsIGRlZmF1bHRzLmRlY29kZXIsIGNoYXJzZXQsIFwia2V5XCIpO1xuICAgICAgICAgIHZhbCA9IG9wdGlvbnMuc3RyaWN0TnVsbEhhbmRsaW5nID8gbnVsbCA6IFwiXCI7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAga2V5ID0gb3B0aW9ucy5kZWNvZGVyKHBhcnQuc2xpY2UoMCwgcG9zKSwgZGVmYXVsdHMuZGVjb2RlciwgY2hhcnNldCwgXCJrZXlcIik7XG4gICAgICAgICAgdmFsID0gdXRpbHMubWF5YmVNYXAoXG4gICAgICAgICAgICBwYXJzZUFycmF5VmFsdWUoXG4gICAgICAgICAgICAgIHBhcnQuc2xpY2UocG9zICsgMSksXG4gICAgICAgICAgICAgIG9wdGlvbnMsXG4gICAgICAgICAgICAgIGlzQXJyYXkob2JqW2tleV0pID8gb2JqW2tleV0ubGVuZ3RoIDogMFxuICAgICAgICAgICAgKSxcbiAgICAgICAgICAgIGZ1bmN0aW9uKGVuY29kZWRWYWwpIHtcbiAgICAgICAgICAgICAgcmV0dXJuIG9wdGlvbnMuZGVjb2RlcihlbmNvZGVkVmFsLCBkZWZhdWx0cy5kZWNvZGVyLCBjaGFyc2V0LCBcInZhbHVlXCIpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHZhbCAmJiBvcHRpb25zLmludGVycHJldE51bWVyaWNFbnRpdGllcyAmJiBjaGFyc2V0ID09PSBcImlzby04ODU5LTFcIikge1xuICAgICAgICAgIHZhbCA9IGludGVycHJldE51bWVyaWNFbnRpdGllcyhTdHJpbmcodmFsKSk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHBhcnQuaW5kZXhPZihcIltdPVwiKSA+IC0xKSB7XG4gICAgICAgICAgdmFsID0gaXNBcnJheSh2YWwpID8gW3ZhbF0gOiB2YWw7XG4gICAgICAgIH1cbiAgICAgICAgdmFyIGV4aXN0aW5nID0gaGFzLmNhbGwob2JqLCBrZXkpO1xuICAgICAgICBpZiAoZXhpc3RpbmcgJiYgb3B0aW9ucy5kdXBsaWNhdGVzID09PSBcImNvbWJpbmVcIikge1xuICAgICAgICAgIG9ialtrZXldID0gdXRpbHMuY29tYmluZShvYmpba2V5XSwgdmFsKTtcbiAgICAgICAgfSBlbHNlIGlmICghZXhpc3RpbmcgfHwgb3B0aW9ucy5kdXBsaWNhdGVzID09PSBcImxhc3RcIikge1xuICAgICAgICAgIG9ialtrZXldID0gdmFsO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICByZXR1cm4gb2JqO1xuICAgIH07XG4gICAgdmFyIHBhcnNlT2JqZWN0ID0gZnVuY3Rpb24oY2hhaW4sIHZhbCwgb3B0aW9ucywgdmFsdWVzUGFyc2VkKSB7XG4gICAgICB2YXIgY3VycmVudEFycmF5TGVuZ3RoID0gMDtcbiAgICAgIGlmIChjaGFpbi5sZW5ndGggPiAwICYmIGNoYWluW2NoYWluLmxlbmd0aCAtIDFdID09PSBcIltdXCIpIHtcbiAgICAgICAgdmFyIHBhcmVudEtleSA9IGNoYWluLnNsaWNlKDAsIC0xKS5qb2luKFwiXCIpO1xuICAgICAgICBjdXJyZW50QXJyYXlMZW5ndGggPSBBcnJheS5pc0FycmF5KHZhbCkgJiYgdmFsW3BhcmVudEtleV0gPyB2YWxbcGFyZW50S2V5XS5sZW5ndGggOiAwO1xuICAgICAgfVxuICAgICAgdmFyIGxlYWYgPSB2YWx1ZXNQYXJzZWQgPyB2YWwgOiBwYXJzZUFycmF5VmFsdWUodmFsLCBvcHRpb25zLCBjdXJyZW50QXJyYXlMZW5ndGgpO1xuICAgICAgZm9yICh2YXIgaSA9IGNoYWluLmxlbmd0aCAtIDE7IGkgPj0gMDsgLS1pKSB7XG4gICAgICAgIHZhciBvYmo7XG4gICAgICAgIHZhciByb290ID0gY2hhaW5baV07XG4gICAgICAgIGlmIChyb290ID09PSBcIltdXCIgJiYgb3B0aW9ucy5wYXJzZUFycmF5cykge1xuICAgICAgICAgIG9iaiA9IG9wdGlvbnMuYWxsb3dFbXB0eUFycmF5cyAmJiAobGVhZiA9PT0gXCJcIiB8fCBvcHRpb25zLnN0cmljdE51bGxIYW5kbGluZyAmJiBsZWFmID09PSBudWxsKSA/IFtdIDogdXRpbHMuY29tYmluZShbXSwgbGVhZik7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgb2JqID0gb3B0aW9ucy5wbGFpbk9iamVjdHMgPyB7IF9fcHJvdG9fXzogbnVsbCB9IDoge307XG4gICAgICAgICAgdmFyIGNsZWFuUm9vdCA9IHJvb3QuY2hhckF0KDApID09PSBcIltcIiAmJiByb290LmNoYXJBdChyb290Lmxlbmd0aCAtIDEpID09PSBcIl1cIiA/IHJvb3Quc2xpY2UoMSwgLTEpIDogcm9vdDtcbiAgICAgICAgICB2YXIgZGVjb2RlZFJvb3QgPSBvcHRpb25zLmRlY29kZURvdEluS2V5cyA/IGNsZWFuUm9vdC5yZXBsYWNlKC8lMkUvZywgXCIuXCIpIDogY2xlYW5Sb290O1xuICAgICAgICAgIHZhciBpbmRleCA9IHBhcnNlSW50KGRlY29kZWRSb290LCAxMCk7XG4gICAgICAgICAgaWYgKCFvcHRpb25zLnBhcnNlQXJyYXlzICYmIGRlY29kZWRSb290ID09PSBcIlwiKSB7XG4gICAgICAgICAgICBvYmogPSB7IDA6IGxlYWYgfTtcbiAgICAgICAgICB9IGVsc2UgaWYgKCFpc05hTihpbmRleCkgJiYgcm9vdCAhPT0gZGVjb2RlZFJvb3QgJiYgU3RyaW5nKGluZGV4KSA9PT0gZGVjb2RlZFJvb3QgJiYgaW5kZXggPj0gMCAmJiAob3B0aW9ucy5wYXJzZUFycmF5cyAmJiBpbmRleCA8PSBvcHRpb25zLmFycmF5TGltaXQpKSB7XG4gICAgICAgICAgICBvYmogPSBbXTtcbiAgICAgICAgICAgIG9ialtpbmRleF0gPSBsZWFmO1xuICAgICAgICAgIH0gZWxzZSBpZiAoZGVjb2RlZFJvb3QgIT09IFwiX19wcm90b19fXCIpIHtcbiAgICAgICAgICAgIG9ialtkZWNvZGVkUm9vdF0gPSBsZWFmO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBsZWFmID0gb2JqO1xuICAgICAgfVxuICAgICAgcmV0dXJuIGxlYWY7XG4gICAgfTtcbiAgICB2YXIgcGFyc2VLZXlzID0gZnVuY3Rpb24gcGFyc2VRdWVyeVN0cmluZ0tleXMoZ2l2ZW5LZXksIHZhbCwgb3B0aW9ucywgdmFsdWVzUGFyc2VkKSB7XG4gICAgICBpZiAoIWdpdmVuS2V5KSB7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cbiAgICAgIHZhciBrZXkgPSBvcHRpb25zLmFsbG93RG90cyA/IGdpdmVuS2V5LnJlcGxhY2UoL1xcLihbXi5bXSspL2csIFwiWyQxXVwiKSA6IGdpdmVuS2V5O1xuICAgICAgdmFyIGJyYWNrZXRzID0gLyhcXFtbXltcXF1dKl0pLztcbiAgICAgIHZhciBjaGlsZCA9IC8oXFxbW15bXFxdXSpdKS9nO1xuICAgICAgdmFyIHNlZ21lbnQgPSBvcHRpb25zLmRlcHRoID4gMCAmJiBicmFja2V0cy5leGVjKGtleSk7XG4gICAgICB2YXIgcGFyZW50ID0gc2VnbWVudCA/IGtleS5zbGljZSgwLCBzZWdtZW50LmluZGV4KSA6IGtleTtcbiAgICAgIHZhciBrZXlzID0gW107XG4gICAgICBpZiAocGFyZW50KSB7XG4gICAgICAgIGlmICghb3B0aW9ucy5wbGFpbk9iamVjdHMgJiYgaGFzLmNhbGwoT2JqZWN0LnByb3RvdHlwZSwgcGFyZW50KSkge1xuICAgICAgICAgIGlmICghb3B0aW9ucy5hbGxvd1Byb3RvdHlwZXMpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAga2V5cy5wdXNoKHBhcmVudCk7XG4gICAgICB9XG4gICAgICB2YXIgaSA9IDA7XG4gICAgICB3aGlsZSAob3B0aW9ucy5kZXB0aCA+IDAgJiYgKHNlZ21lbnQgPSBjaGlsZC5leGVjKGtleSkpICE9PSBudWxsICYmIGkgPCBvcHRpb25zLmRlcHRoKSB7XG4gICAgICAgIGkgKz0gMTtcbiAgICAgICAgaWYgKCFvcHRpb25zLnBsYWluT2JqZWN0cyAmJiBoYXMuY2FsbChPYmplY3QucHJvdG90eXBlLCBzZWdtZW50WzFdLnNsaWNlKDEsIC0xKSkpIHtcbiAgICAgICAgICBpZiAoIW9wdGlvbnMuYWxsb3dQcm90b3R5cGVzKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGtleXMucHVzaChzZWdtZW50WzFdKTtcbiAgICAgIH1cbiAgICAgIGlmIChzZWdtZW50KSB7XG4gICAgICAgIGlmIChvcHRpb25zLnN0cmljdERlcHRoID09PSB0cnVlKSB7XG4gICAgICAgICAgdGhyb3cgbmV3IFJhbmdlRXJyb3IoXCJJbnB1dCBkZXB0aCBleGNlZWRlZCBkZXB0aCBvcHRpb24gb2YgXCIgKyBvcHRpb25zLmRlcHRoICsgXCIgYW5kIHN0cmljdERlcHRoIGlzIHRydWVcIik7XG4gICAgICAgIH1cbiAgICAgICAga2V5cy5wdXNoKFwiW1wiICsga2V5LnNsaWNlKHNlZ21lbnQuaW5kZXgpICsgXCJdXCIpO1xuICAgICAgfVxuICAgICAgcmV0dXJuIHBhcnNlT2JqZWN0KGtleXMsIHZhbCwgb3B0aW9ucywgdmFsdWVzUGFyc2VkKTtcbiAgICB9O1xuICAgIHZhciBub3JtYWxpemVQYXJzZU9wdGlvbnMgPSBmdW5jdGlvbiBub3JtYWxpemVQYXJzZU9wdGlvbnMyKG9wdHMpIHtcbiAgICAgIGlmICghb3B0cykge1xuICAgICAgICByZXR1cm4gZGVmYXVsdHM7XG4gICAgICB9XG4gICAgICBpZiAodHlwZW9mIG9wdHMuYWxsb3dFbXB0eUFycmF5cyAhPT0gXCJ1bmRlZmluZWRcIiAmJiB0eXBlb2Ygb3B0cy5hbGxvd0VtcHR5QXJyYXlzICE9PSBcImJvb2xlYW5cIikge1xuICAgICAgICB0aHJvdyBuZXcgVHlwZUVycm9yKFwiYGFsbG93RW1wdHlBcnJheXNgIG9wdGlvbiBjYW4gb25seSBiZSBgdHJ1ZWAgb3IgYGZhbHNlYCwgd2hlbiBwcm92aWRlZFwiKTtcbiAgICAgIH1cbiAgICAgIGlmICh0eXBlb2Ygb3B0cy5kZWNvZGVEb3RJbktleXMgIT09IFwidW5kZWZpbmVkXCIgJiYgdHlwZW9mIG9wdHMuZGVjb2RlRG90SW5LZXlzICE9PSBcImJvb2xlYW5cIikge1xuICAgICAgICB0aHJvdyBuZXcgVHlwZUVycm9yKFwiYGRlY29kZURvdEluS2V5c2Agb3B0aW9uIGNhbiBvbmx5IGJlIGB0cnVlYCBvciBgZmFsc2VgLCB3aGVuIHByb3ZpZGVkXCIpO1xuICAgICAgfVxuICAgICAgaWYgKG9wdHMuZGVjb2RlciAhPT0gbnVsbCAmJiB0eXBlb2Ygb3B0cy5kZWNvZGVyICE9PSBcInVuZGVmaW5lZFwiICYmIHR5cGVvZiBvcHRzLmRlY29kZXIgIT09IFwiZnVuY3Rpb25cIikge1xuICAgICAgICB0aHJvdyBuZXcgVHlwZUVycm9yKFwiRGVjb2RlciBoYXMgdG8gYmUgYSBmdW5jdGlvbi5cIik7XG4gICAgICB9XG4gICAgICBpZiAodHlwZW9mIG9wdHMuY2hhcnNldCAhPT0gXCJ1bmRlZmluZWRcIiAmJiBvcHRzLmNoYXJzZXQgIT09IFwidXRmLThcIiAmJiBvcHRzLmNoYXJzZXQgIT09IFwiaXNvLTg4NTktMVwiKSB7XG4gICAgICAgIHRocm93IG5ldyBUeXBlRXJyb3IoXCJUaGUgY2hhcnNldCBvcHRpb24gbXVzdCBiZSBlaXRoZXIgdXRmLTgsIGlzby04ODU5LTEsIG9yIHVuZGVmaW5lZFwiKTtcbiAgICAgIH1cbiAgICAgIGlmICh0eXBlb2Ygb3B0cy50aHJvd09uTGltaXRFeGNlZWRlZCAhPT0gXCJ1bmRlZmluZWRcIiAmJiB0eXBlb2Ygb3B0cy50aHJvd09uTGltaXRFeGNlZWRlZCAhPT0gXCJib29sZWFuXCIpIHtcbiAgICAgICAgdGhyb3cgbmV3IFR5cGVFcnJvcihcImB0aHJvd09uTGltaXRFeGNlZWRlZGAgb3B0aW9uIG11c3QgYmUgYSBib29sZWFuXCIpO1xuICAgICAgfVxuICAgICAgdmFyIGNoYXJzZXQgPSB0eXBlb2Ygb3B0cy5jaGFyc2V0ID09PSBcInVuZGVmaW5lZFwiID8gZGVmYXVsdHMuY2hhcnNldCA6IG9wdHMuY2hhcnNldDtcbiAgICAgIHZhciBkdXBsaWNhdGVzID0gdHlwZW9mIG9wdHMuZHVwbGljYXRlcyA9PT0gXCJ1bmRlZmluZWRcIiA/IGRlZmF1bHRzLmR1cGxpY2F0ZXMgOiBvcHRzLmR1cGxpY2F0ZXM7XG4gICAgICBpZiAoZHVwbGljYXRlcyAhPT0gXCJjb21iaW5lXCIgJiYgZHVwbGljYXRlcyAhPT0gXCJmaXJzdFwiICYmIGR1cGxpY2F0ZXMgIT09IFwibGFzdFwiKSB7XG4gICAgICAgIHRocm93IG5ldyBUeXBlRXJyb3IoXCJUaGUgZHVwbGljYXRlcyBvcHRpb24gbXVzdCBiZSBlaXRoZXIgY29tYmluZSwgZmlyc3QsIG9yIGxhc3RcIik7XG4gICAgICB9XG4gICAgICB2YXIgYWxsb3dEb3RzID0gdHlwZW9mIG9wdHMuYWxsb3dEb3RzID09PSBcInVuZGVmaW5lZFwiID8gb3B0cy5kZWNvZGVEb3RJbktleXMgPT09IHRydWUgPyB0cnVlIDogZGVmYXVsdHMuYWxsb3dEb3RzIDogISFvcHRzLmFsbG93RG90cztcbiAgICAgIHJldHVybiB7XG4gICAgICAgIGFsbG93RG90cyxcbiAgICAgICAgYWxsb3dFbXB0eUFycmF5czogdHlwZW9mIG9wdHMuYWxsb3dFbXB0eUFycmF5cyA9PT0gXCJib29sZWFuXCIgPyAhIW9wdHMuYWxsb3dFbXB0eUFycmF5cyA6IGRlZmF1bHRzLmFsbG93RW1wdHlBcnJheXMsXG4gICAgICAgIGFsbG93UHJvdG90eXBlczogdHlwZW9mIG9wdHMuYWxsb3dQcm90b3R5cGVzID09PSBcImJvb2xlYW5cIiA/IG9wdHMuYWxsb3dQcm90b3R5cGVzIDogZGVmYXVsdHMuYWxsb3dQcm90b3R5cGVzLFxuICAgICAgICBhbGxvd1NwYXJzZTogdHlwZW9mIG9wdHMuYWxsb3dTcGFyc2UgPT09IFwiYm9vbGVhblwiID8gb3B0cy5hbGxvd1NwYXJzZSA6IGRlZmF1bHRzLmFsbG93U3BhcnNlLFxuICAgICAgICBhcnJheUxpbWl0OiB0eXBlb2Ygb3B0cy5hcnJheUxpbWl0ID09PSBcIm51bWJlclwiID8gb3B0cy5hcnJheUxpbWl0IDogZGVmYXVsdHMuYXJyYXlMaW1pdCxcbiAgICAgICAgY2hhcnNldCxcbiAgICAgICAgY2hhcnNldFNlbnRpbmVsOiB0eXBlb2Ygb3B0cy5jaGFyc2V0U2VudGluZWwgPT09IFwiYm9vbGVhblwiID8gb3B0cy5jaGFyc2V0U2VudGluZWwgOiBkZWZhdWx0cy5jaGFyc2V0U2VudGluZWwsXG4gICAgICAgIGNvbW1hOiB0eXBlb2Ygb3B0cy5jb21tYSA9PT0gXCJib29sZWFuXCIgPyBvcHRzLmNvbW1hIDogZGVmYXVsdHMuY29tbWEsXG4gICAgICAgIGRlY29kZURvdEluS2V5czogdHlwZW9mIG9wdHMuZGVjb2RlRG90SW5LZXlzID09PSBcImJvb2xlYW5cIiA/IG9wdHMuZGVjb2RlRG90SW5LZXlzIDogZGVmYXVsdHMuZGVjb2RlRG90SW5LZXlzLFxuICAgICAgICBkZWNvZGVyOiB0eXBlb2Ygb3B0cy5kZWNvZGVyID09PSBcImZ1bmN0aW9uXCIgPyBvcHRzLmRlY29kZXIgOiBkZWZhdWx0cy5kZWNvZGVyLFxuICAgICAgICBkZWxpbWl0ZXI6IHR5cGVvZiBvcHRzLmRlbGltaXRlciA9PT0gXCJzdHJpbmdcIiB8fCB1dGlscy5pc1JlZ0V4cChvcHRzLmRlbGltaXRlcikgPyBvcHRzLmRlbGltaXRlciA6IGRlZmF1bHRzLmRlbGltaXRlcixcbiAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLWltcGxpY2l0LWNvZXJjaW9uLCBuby1leHRyYS1wYXJlbnNcbiAgICAgICAgZGVwdGg6IHR5cGVvZiBvcHRzLmRlcHRoID09PSBcIm51bWJlclwiIHx8IG9wdHMuZGVwdGggPT09IGZhbHNlID8gK29wdHMuZGVwdGggOiBkZWZhdWx0cy5kZXB0aCxcbiAgICAgICAgZHVwbGljYXRlcyxcbiAgICAgICAgaWdub3JlUXVlcnlQcmVmaXg6IG9wdHMuaWdub3JlUXVlcnlQcmVmaXggPT09IHRydWUsXG4gICAgICAgIGludGVycHJldE51bWVyaWNFbnRpdGllczogdHlwZW9mIG9wdHMuaW50ZXJwcmV0TnVtZXJpY0VudGl0aWVzID09PSBcImJvb2xlYW5cIiA/IG9wdHMuaW50ZXJwcmV0TnVtZXJpY0VudGl0aWVzIDogZGVmYXVsdHMuaW50ZXJwcmV0TnVtZXJpY0VudGl0aWVzLFxuICAgICAgICBwYXJhbWV0ZXJMaW1pdDogdHlwZW9mIG9wdHMucGFyYW1ldGVyTGltaXQgPT09IFwibnVtYmVyXCIgPyBvcHRzLnBhcmFtZXRlckxpbWl0IDogZGVmYXVsdHMucGFyYW1ldGVyTGltaXQsXG4gICAgICAgIHBhcnNlQXJyYXlzOiBvcHRzLnBhcnNlQXJyYXlzICE9PSBmYWxzZSxcbiAgICAgICAgcGxhaW5PYmplY3RzOiB0eXBlb2Ygb3B0cy5wbGFpbk9iamVjdHMgPT09IFwiYm9vbGVhblwiID8gb3B0cy5wbGFpbk9iamVjdHMgOiBkZWZhdWx0cy5wbGFpbk9iamVjdHMsXG4gICAgICAgIHN0cmljdERlcHRoOiB0eXBlb2Ygb3B0cy5zdHJpY3REZXB0aCA9PT0gXCJib29sZWFuXCIgPyAhIW9wdHMuc3RyaWN0RGVwdGggOiBkZWZhdWx0cy5zdHJpY3REZXB0aCxcbiAgICAgICAgc3RyaWN0TnVsbEhhbmRsaW5nOiB0eXBlb2Ygb3B0cy5zdHJpY3ROdWxsSGFuZGxpbmcgPT09IFwiYm9vbGVhblwiID8gb3B0cy5zdHJpY3ROdWxsSGFuZGxpbmcgOiBkZWZhdWx0cy5zdHJpY3ROdWxsSGFuZGxpbmcsXG4gICAgICAgIHRocm93T25MaW1pdEV4Y2VlZGVkOiB0eXBlb2Ygb3B0cy50aHJvd09uTGltaXRFeGNlZWRlZCA9PT0gXCJib29sZWFuXCIgPyBvcHRzLnRocm93T25MaW1pdEV4Y2VlZGVkIDogZmFsc2VcbiAgICAgIH07XG4gICAgfTtcbiAgICBtb2R1bGUyLmV4cG9ydHMgPSBmdW5jdGlvbihzdHIsIG9wdHMpIHtcbiAgICAgIHZhciBvcHRpb25zID0gbm9ybWFsaXplUGFyc2VPcHRpb25zKG9wdHMpO1xuICAgICAgaWYgKHN0ciA9PT0gXCJcIiB8fCBzdHIgPT09IG51bGwgfHwgdHlwZW9mIHN0ciA9PT0gXCJ1bmRlZmluZWRcIikge1xuICAgICAgICByZXR1cm4gb3B0aW9ucy5wbGFpbk9iamVjdHMgPyB7IF9fcHJvdG9fXzogbnVsbCB9IDoge307XG4gICAgICB9XG4gICAgICB2YXIgdGVtcE9iaiA9IHR5cGVvZiBzdHIgPT09IFwic3RyaW5nXCIgPyBwYXJzZVZhbHVlcyhzdHIsIG9wdGlvbnMpIDogc3RyO1xuICAgICAgdmFyIG9iaiA9IG9wdGlvbnMucGxhaW5PYmplY3RzID8geyBfX3Byb3RvX186IG51bGwgfSA6IHt9O1xuICAgICAgdmFyIGtleXMgPSBPYmplY3Qua2V5cyh0ZW1wT2JqKTtcbiAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwga2V5cy5sZW5ndGg7ICsraSkge1xuICAgICAgICB2YXIga2V5ID0ga2V5c1tpXTtcbiAgICAgICAgdmFyIG5ld09iaiA9IHBhcnNlS2V5cyhrZXksIHRlbXBPYmpba2V5XSwgb3B0aW9ucywgdHlwZW9mIHN0ciA9PT0gXCJzdHJpbmdcIik7XG4gICAgICAgIG9iaiA9IHV0aWxzLm1lcmdlKG9iaiwgbmV3T2JqLCBvcHRpb25zKTtcbiAgICAgIH1cbiAgICAgIGlmIChvcHRpb25zLmFsbG93U3BhcnNlID09PSB0cnVlKSB7XG4gICAgICAgIHJldHVybiBvYmo7XG4gICAgICB9XG4gICAgICByZXR1cm4gdXRpbHMuY29tcGFjdChvYmopO1xuICAgIH07XG4gIH1cbn0pO1xuXG4vLyBub2RlX21vZHVsZXMvcXMvbGliL2luZGV4LmpzXG52YXIgcmVxdWlyZV9saWIzID0gX19jb21tb25KUyh7XG4gIFwibm9kZV9tb2R1bGVzL3FzL2xpYi9pbmRleC5qc1wiKGV4cG9ydHMyLCBtb2R1bGUyKSB7XG4gICAgXCJ1c2Ugc3RyaWN0XCI7XG4gICAgdmFyIHN0cmluZ2lmeSA9IHJlcXVpcmVfc3RyaW5naWZ5KCk7XG4gICAgdmFyIHBhcnNlID0gcmVxdWlyZV9wYXJzZSgpO1xuICAgIHZhciBmb3JtYXRzID0gcmVxdWlyZV9mb3JtYXRzKCk7XG4gICAgbW9kdWxlMi5leHBvcnRzID0ge1xuICAgICAgZm9ybWF0cyxcbiAgICAgIHBhcnNlLFxuICAgICAgc3RyaW5naWZ5XG4gICAgfTtcbiAgfVxufSk7XG5cbi8vIG5vZGVfbW9kdWxlcy9ib2R5LXBhcnNlci9saWIvdHlwZXMvdXJsZW5jb2RlZC5qc1xudmFyIHJlcXVpcmVfdXJsZW5jb2RlZCA9IF9fY29tbW9uSlMoe1xuICBcIm5vZGVfbW9kdWxlcy9ib2R5LXBhcnNlci9saWIvdHlwZXMvdXJsZW5jb2RlZC5qc1wiKGV4cG9ydHMyLCBtb2R1bGUyKSB7XG4gICAgXCJ1c2Ugc3RyaWN0XCI7XG4gICAgdmFyIGNyZWF0ZUVycm9yID0gcmVxdWlyZV9odHRwX2Vycm9ycygpO1xuICAgIHZhciBkZWJ1ZyA9IHJlcXVpcmVfc3JjKCkoXCJib2R5LXBhcnNlcjp1cmxlbmNvZGVkXCIpO1xuICAgIHZhciBpc0ZpbmlzaGVkID0gcmVxdWlyZV9vbl9maW5pc2hlZCgpLmlzRmluaXNoZWQ7XG4gICAgdmFyIHJlYWQgPSByZXF1aXJlX3JlYWQoKTtcbiAgICB2YXIgdHlwZWlzID0gcmVxdWlyZV90eXBlX2lzKCk7XG4gICAgdmFyIHFzID0gcmVxdWlyZV9saWIzKCk7XG4gICAgdmFyIHsgZ2V0Q2hhcnNldCwgbm9ybWFsaXplT3B0aW9ucyB9ID0gcmVxdWlyZV91dGlscygpO1xuICAgIG1vZHVsZTIuZXhwb3J0cyA9IHVybGVuY29kZWQ7XG4gICAgZnVuY3Rpb24gdXJsZW5jb2RlZChvcHRpb25zKSB7XG4gICAgICB2YXIgeyBpbmZsYXRlLCBsaW1pdCwgdmVyaWZ5LCBzaG91bGRQYXJzZSB9ID0gbm9ybWFsaXplT3B0aW9ucyhvcHRpb25zLCBcImFwcGxpY2F0aW9uL3gtd3d3LWZvcm0tdXJsZW5jb2RlZFwiKTtcbiAgICAgIHZhciBkZWZhdWx0Q2hhcnNldCA9IG9wdGlvbnM/LmRlZmF1bHRDaGFyc2V0IHx8IFwidXRmLThcIjtcbiAgICAgIGlmIChkZWZhdWx0Q2hhcnNldCAhPT0gXCJ1dGYtOFwiICYmIGRlZmF1bHRDaGFyc2V0ICE9PSBcImlzby04ODU5LTFcIikge1xuICAgICAgICB0aHJvdyBuZXcgVHlwZUVycm9yKFwib3B0aW9uIGRlZmF1bHRDaGFyc2V0IG11c3QgYmUgZWl0aGVyIHV0Zi04IG9yIGlzby04ODU5LTFcIik7XG4gICAgICB9XG4gICAgICB2YXIgcXVlcnlwYXJzZSA9IGNyZWF0ZVF1ZXJ5UGFyc2VyKG9wdGlvbnMpO1xuICAgICAgZnVuY3Rpb24gcGFyc2UoYm9keSwgZW5jb2RpbmcpIHtcbiAgICAgICAgcmV0dXJuIGJvZHkubGVuZ3RoID8gcXVlcnlwYXJzZShib2R5LCBlbmNvZGluZykgOiB7fTtcbiAgICAgIH1cbiAgICAgIHJldHVybiBmdW5jdGlvbiB1cmxlbmNvZGVkUGFyc2VyKHJlcSwgcmVzLCBuZXh0KSB7XG4gICAgICAgIGlmIChpc0ZpbmlzaGVkKHJlcSkpIHtcbiAgICAgICAgICBkZWJ1ZyhcImJvZHkgYWxyZWFkeSBwYXJzZWRcIik7XG4gICAgICAgICAgbmV4dCgpO1xuICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBpZiAoIShcImJvZHlcIiBpbiByZXEpKSB7XG4gICAgICAgICAgcmVxLmJvZHkgPSB2b2lkIDA7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKCF0eXBlaXMuaGFzQm9keShyZXEpKSB7XG4gICAgICAgICAgZGVidWcoXCJza2lwIGVtcHR5IGJvZHlcIik7XG4gICAgICAgICAgbmV4dCgpO1xuICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBkZWJ1ZyhcImNvbnRlbnQtdHlwZSAlalwiLCByZXEuaGVhZGVyc1tcImNvbnRlbnQtdHlwZVwiXSk7XG4gICAgICAgIGlmICghc2hvdWxkUGFyc2UocmVxKSkge1xuICAgICAgICAgIGRlYnVnKFwic2tpcCBwYXJzaW5nXCIpO1xuICAgICAgICAgIG5leHQoKTtcbiAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgdmFyIGNoYXJzZXQgPSBnZXRDaGFyc2V0KHJlcSkgfHwgZGVmYXVsdENoYXJzZXQ7XG4gICAgICAgIGlmIChjaGFyc2V0ICE9PSBcInV0Zi04XCIgJiYgY2hhcnNldCAhPT0gXCJpc28tODg1OS0xXCIpIHtcbiAgICAgICAgICBkZWJ1ZyhcImludmFsaWQgY2hhcnNldFwiKTtcbiAgICAgICAgICBuZXh0KGNyZWF0ZUVycm9yKDQxNSwgJ3Vuc3VwcG9ydGVkIGNoYXJzZXQgXCInICsgY2hhcnNldC50b1VwcGVyQ2FzZSgpICsgJ1wiJywge1xuICAgICAgICAgICAgY2hhcnNldCxcbiAgICAgICAgICAgIHR5cGU6IFwiY2hhcnNldC51bnN1cHBvcnRlZFwiXG4gICAgICAgICAgfSkpO1xuICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICByZWFkKHJlcSwgcmVzLCBuZXh0LCBwYXJzZSwgZGVidWcsIHtcbiAgICAgICAgICBlbmNvZGluZzogY2hhcnNldCxcbiAgICAgICAgICBpbmZsYXRlLFxuICAgICAgICAgIGxpbWl0LFxuICAgICAgICAgIHZlcmlmeVxuICAgICAgICB9KTtcbiAgICAgIH07XG4gICAgfVxuICAgIGZ1bmN0aW9uIGNyZWF0ZVF1ZXJ5UGFyc2VyKG9wdGlvbnMpIHtcbiAgICAgIHZhciBleHRlbmRlZCA9IEJvb2xlYW4ob3B0aW9ucz8uZXh0ZW5kZWQpO1xuICAgICAgdmFyIHBhcmFtZXRlckxpbWl0ID0gb3B0aW9ucz8ucGFyYW1ldGVyTGltaXQgIT09IHZvaWQgMCA/IG9wdGlvbnM/LnBhcmFtZXRlckxpbWl0IDogMWUzO1xuICAgICAgdmFyIGNoYXJzZXRTZW50aW5lbCA9IG9wdGlvbnM/LmNoYXJzZXRTZW50aW5lbDtcbiAgICAgIHZhciBpbnRlcnByZXROdW1lcmljRW50aXRpZXMgPSBvcHRpb25zPy5pbnRlcnByZXROdW1lcmljRW50aXRpZXM7XG4gICAgICB2YXIgZGVwdGggPSBleHRlbmRlZCA/IG9wdGlvbnM/LmRlcHRoICE9PSB2b2lkIDAgPyBvcHRpb25zPy5kZXB0aCA6IDMyIDogMDtcbiAgICAgIGlmIChpc05hTihwYXJhbWV0ZXJMaW1pdCkgfHwgcGFyYW1ldGVyTGltaXQgPCAxKSB7XG4gICAgICAgIHRocm93IG5ldyBUeXBlRXJyb3IoXCJvcHRpb24gcGFyYW1ldGVyTGltaXQgbXVzdCBiZSBhIHBvc2l0aXZlIG51bWJlclwiKTtcbiAgICAgIH1cbiAgICAgIGlmIChpc05hTihkZXB0aCkgfHwgZGVwdGggPCAwKSB7XG4gICAgICAgIHRocm93IG5ldyBUeXBlRXJyb3IoXCJvcHRpb24gZGVwdGggbXVzdCBiZSBhIHplcm8gb3IgYSBwb3NpdGl2ZSBudW1iZXJcIik7XG4gICAgICB9XG4gICAgICBpZiAoaXNGaW5pdGUocGFyYW1ldGVyTGltaXQpKSB7XG4gICAgICAgIHBhcmFtZXRlckxpbWl0ID0gcGFyYW1ldGVyTGltaXQgfCAwO1xuICAgICAgfVxuICAgICAgcmV0dXJuIGZ1bmN0aW9uIHF1ZXJ5cGFyc2UoYm9keSwgZW5jb2RpbmcpIHtcbiAgICAgICAgdmFyIHBhcmFtQ291bnQgPSBwYXJhbWV0ZXJDb3VudChib2R5LCBwYXJhbWV0ZXJMaW1pdCk7XG4gICAgICAgIGlmIChwYXJhbUNvdW50ID09PSB2b2lkIDApIHtcbiAgICAgICAgICBkZWJ1ZyhcInRvbyBtYW55IHBhcmFtZXRlcnNcIik7XG4gICAgICAgICAgdGhyb3cgY3JlYXRlRXJyb3IoNDEzLCBcInRvbyBtYW55IHBhcmFtZXRlcnNcIiwge1xuICAgICAgICAgICAgdHlwZTogXCJwYXJhbWV0ZXJzLnRvby5tYW55XCJcbiAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgICAgICB2YXIgYXJyYXlMaW1pdCA9IGV4dGVuZGVkID8gTWF0aC5tYXgoMTAwLCBwYXJhbUNvdW50KSA6IDA7XG4gICAgICAgIGRlYnVnKFwicGFyc2UgXCIgKyAoZXh0ZW5kZWQgPyBcImV4dGVuZGVkIFwiIDogXCJcIikgKyBcInVybGVuY29kaW5nXCIpO1xuICAgICAgICB0cnkge1xuICAgICAgICAgIHJldHVybiBxcy5wYXJzZShib2R5LCB7XG4gICAgICAgICAgICBhbGxvd1Byb3RvdHlwZXM6IHRydWUsXG4gICAgICAgICAgICBhcnJheUxpbWl0LFxuICAgICAgICAgICAgZGVwdGgsXG4gICAgICAgICAgICBjaGFyc2V0U2VudGluZWwsXG4gICAgICAgICAgICBpbnRlcnByZXROdW1lcmljRW50aXRpZXMsXG4gICAgICAgICAgICBjaGFyc2V0OiBlbmNvZGluZyxcbiAgICAgICAgICAgIHBhcmFtZXRlckxpbWl0LFxuICAgICAgICAgICAgc3RyaWN0RGVwdGg6IHRydWVcbiAgICAgICAgICB9KTtcbiAgICAgICAgfSBjYXRjaCAoZXJyMikge1xuICAgICAgICAgIGlmIChlcnIyIGluc3RhbmNlb2YgUmFuZ2VFcnJvcikge1xuICAgICAgICAgICAgdGhyb3cgY3JlYXRlRXJyb3IoNDAwLCBcIlRoZSBpbnB1dCBleGNlZWRlZCB0aGUgZGVwdGhcIiwge1xuICAgICAgICAgICAgICB0eXBlOiBcInF1ZXJ5c3RyaW5nLnBhcnNlLnJhbmdlRXJyb3JcIlxuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRocm93IGVycjI7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9O1xuICAgIH1cbiAgICBmdW5jdGlvbiBwYXJhbWV0ZXJDb3VudChib2R5LCBsaW1pdCkge1xuICAgICAgdmFyIGxlbiA9IGJvZHkuc3BsaXQoXCImXCIpLmxlbmd0aDtcbiAgICAgIHJldHVybiBsZW4gPiBsaW1pdCA/IHZvaWQgMCA6IGxlbiAtIDE7XG4gICAgfVxuICB9XG59KTtcblxuLy8gbm9kZV9tb2R1bGVzL2JvZHktcGFyc2VyL2luZGV4LmpzXG52YXIgcmVxdWlyZV9ib2R5X3BhcnNlciA9IF9fY29tbW9uSlMoe1xuICBcIm5vZGVfbW9kdWxlcy9ib2R5LXBhcnNlci9pbmRleC5qc1wiKGV4cG9ydHMyLCBtb2R1bGUyKSB7XG4gICAgXCJ1c2Ugc3RyaWN0XCI7XG4gICAgZXhwb3J0czIgPSBtb2R1bGUyLmV4cG9ydHMgPSBib2R5UGFyc2VyO1xuICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzMiwgXCJqc29uXCIsIHtcbiAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZSxcbiAgICAgIGVudW1lcmFibGU6IHRydWUsXG4gICAgICBnZXQ6ICgpID0+IHJlcXVpcmVfanNvbigpXG4gICAgfSk7XG4gICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMyLCBcInJhd1wiLCB7XG4gICAgICBjb25maWd1cmFibGU6IHRydWUsXG4gICAgICBlbnVtZXJhYmxlOiB0cnVlLFxuICAgICAgZ2V0OiAoKSA9PiByZXF1aXJlX3JhdygpXG4gICAgfSk7XG4gICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMyLCBcInRleHRcIiwge1xuICAgICAgY29uZmlndXJhYmxlOiB0cnVlLFxuICAgICAgZW51bWVyYWJsZTogdHJ1ZSxcbiAgICAgIGdldDogKCkgPT4gcmVxdWlyZV90ZXh0KClcbiAgICB9KTtcbiAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0czIsIFwidXJsZW5jb2RlZFwiLCB7XG4gICAgICBjb25maWd1cmFibGU6IHRydWUsXG4gICAgICBlbnVtZXJhYmxlOiB0cnVlLFxuICAgICAgZ2V0OiAoKSA9PiByZXF1aXJlX3VybGVuY29kZWQoKVxuICAgIH0pO1xuICAgIGZ1bmN0aW9uIGJvZHlQYXJzZXIoKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXCJUaGUgYm9keVBhcnNlcigpIGdlbmVyaWMgaGFzIGJlZW4gc3BsaXQgaW50byBpbmRpdmlkdWFsIG1pZGRsZXdhcmUgdG8gdXNlIGluc3RlYWQuXCIpO1xuICAgIH1cbiAgfVxufSk7XG5cbi8vIG5vZGVfbW9kdWxlcy9tZXJnZS1kZXNjcmlwdG9ycy9pbmRleC5qc1xudmFyIHJlcXVpcmVfbWVyZ2VfZGVzY3JpcHRvcnMgPSBfX2NvbW1vbkpTKHtcbiAgXCJub2RlX21vZHVsZXMvbWVyZ2UtZGVzY3JpcHRvcnMvaW5kZXguanNcIihleHBvcnRzMiwgbW9kdWxlMikge1xuICAgIFwidXNlIHN0cmljdFwiO1xuICAgIGZ1bmN0aW9uIG1lcmdlRGVzY3JpcHRvcnMoZGVzdGluYXRpb24sIHNvdXJjZSwgb3ZlcndyaXRlID0gdHJ1ZSkge1xuICAgICAgaWYgKCFkZXN0aW5hdGlvbikge1xuICAgICAgICB0aHJvdyBuZXcgVHlwZUVycm9yKFwiVGhlIGBkZXN0aW5hdGlvbmAgYXJndW1lbnQgaXMgcmVxdWlyZWQuXCIpO1xuICAgICAgfVxuICAgICAgaWYgKCFzb3VyY2UpIHtcbiAgICAgICAgdGhyb3cgbmV3IFR5cGVFcnJvcihcIlRoZSBgc291cmNlYCBhcmd1bWVudCBpcyByZXF1aXJlZC5cIik7XG4gICAgICB9XG4gICAgICBmb3IgKGNvbnN0IG5hbWUgb2YgT2JqZWN0LmdldE93blByb3BlcnR5TmFtZXMoc291cmNlKSkge1xuICAgICAgICBpZiAoIW92ZXJ3cml0ZSAmJiBPYmplY3QuaGFzT3duKGRlc3RpbmF0aW9uLCBuYW1lKSkge1xuICAgICAgICAgIGNvbnRpbnVlO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IGRlc2NyaXB0b3IgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKHNvdXJjZSwgbmFtZSk7XG4gICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShkZXN0aW5hdGlvbiwgbmFtZSwgZGVzY3JpcHRvcik7XG4gICAgICB9XG4gICAgICByZXR1cm4gZGVzdGluYXRpb247XG4gICAgfVxuICAgIG1vZHVsZTIuZXhwb3J0cyA9IG1lcmdlRGVzY3JpcHRvcnM7XG4gIH1cbn0pO1xuXG4vLyBub2RlX21vZHVsZXMvZW5jb2RldXJsL2luZGV4LmpzXG52YXIgcmVxdWlyZV9lbmNvZGV1cmwgPSBfX2NvbW1vbkpTKHtcbiAgXCJub2RlX21vZHVsZXMvZW5jb2RldXJsL2luZGV4LmpzXCIoZXhwb3J0czIsIG1vZHVsZTIpIHtcbiAgICBcInVzZSBzdHJpY3RcIjtcbiAgICBtb2R1bGUyLmV4cG9ydHMgPSBlbmNvZGVVcmw7XG4gICAgdmFyIEVOQ09ERV9DSEFSU19SRUdFWFAgPSAvKD86W15cXHgyMVxceDIzLVxceDNCXFx4M0RcXHgzRi1cXHg1RlxceDYxLVxceDdBXFx4N0NcXHg3RV18JSg/OlteMC05QS1GYS1mXXxbMC05QS1GYS1mXVteMC05QS1GYS1mXXwkKSkrL2c7XG4gICAgdmFyIFVOTUFUQ0hFRF9TVVJST0dBVEVfUEFJUl9SRUdFWFAgPSAvKF58W15cXHVEODAwLVxcdURCRkZdKVtcXHVEQzAwLVxcdURGRkZdfFtcXHVEODAwLVxcdURCRkZdKFteXFx1REMwMC1cXHVERkZGXXwkKS9nO1xuICAgIHZhciBVTk1BVENIRURfU1VSUk9HQVRFX1BBSVJfUkVQTEFDRSA9IFwiJDFcXHVGRkZEJDJcIjtcbiAgICBmdW5jdGlvbiBlbmNvZGVVcmwodXJsKSB7XG4gICAgICByZXR1cm4gU3RyaW5nKHVybCkucmVwbGFjZShVTk1BVENIRURfU1VSUk9HQVRFX1BBSVJfUkVHRVhQLCBVTk1BVENIRURfU1VSUk9HQVRFX1BBSVJfUkVQTEFDRSkucmVwbGFjZShFTkNPREVfQ0hBUlNfUkVHRVhQLCBlbmNvZGVVUkkpO1xuICAgIH1cbiAgfVxufSk7XG5cbi8vIG5vZGVfbW9kdWxlcy9lc2NhcGUtaHRtbC9pbmRleC5qc1xudmFyIHJlcXVpcmVfZXNjYXBlX2h0bWwgPSBfX2NvbW1vbkpTKHtcbiAgXCJub2RlX21vZHVsZXMvZXNjYXBlLWh0bWwvaW5kZXguanNcIihleHBvcnRzMiwgbW9kdWxlMikge1xuICAgIFwidXNlIHN0cmljdFwiO1xuICAgIHZhciBtYXRjaEh0bWxSZWdFeHAgPSAvW1wiJyY8Pl0vO1xuICAgIG1vZHVsZTIuZXhwb3J0cyA9IGVzY2FwZUh0bWw7XG4gICAgZnVuY3Rpb24gZXNjYXBlSHRtbChzdHJpbmcpIHtcbiAgICAgIHZhciBzdHIgPSBcIlwiICsgc3RyaW5nO1xuICAgICAgdmFyIG1hdGNoID0gbWF0Y2hIdG1sUmVnRXhwLmV4ZWMoc3RyKTtcbiAgICAgIGlmICghbWF0Y2gpIHtcbiAgICAgICAgcmV0dXJuIHN0cjtcbiAgICAgIH1cbiAgICAgIHZhciBlc2NhcGUyO1xuICAgICAgdmFyIGh0bWwgPSBcIlwiO1xuICAgICAgdmFyIGluZGV4ID0gMDtcbiAgICAgIHZhciBsYXN0SW5kZXggPSAwO1xuICAgICAgZm9yIChpbmRleCA9IG1hdGNoLmluZGV4OyBpbmRleCA8IHN0ci5sZW5ndGg7IGluZGV4KyspIHtcbiAgICAgICAgc3dpdGNoIChzdHIuY2hhckNvZGVBdChpbmRleCkpIHtcbiAgICAgICAgICBjYXNlIDM0OlxuICAgICAgICAgICAgZXNjYXBlMiA9IFwiJnF1b3Q7XCI7XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgICBjYXNlIDM4OlxuICAgICAgICAgICAgZXNjYXBlMiA9IFwiJmFtcDtcIjtcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgIGNhc2UgMzk6XG4gICAgICAgICAgICBlc2NhcGUyID0gXCImIzM5O1wiO1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgY2FzZSA2MDpcbiAgICAgICAgICAgIGVzY2FwZTIgPSBcIiZsdDtcIjtcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgIGNhc2UgNjI6XG4gICAgICAgICAgICBlc2NhcGUyID0gXCImZ3Q7XCI7XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgY29udGludWU7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGxhc3RJbmRleCAhPT0gaW5kZXgpIHtcbiAgICAgICAgICBodG1sICs9IHN0ci5zdWJzdHJpbmcobGFzdEluZGV4LCBpbmRleCk7XG4gICAgICAgIH1cbiAgICAgICAgbGFzdEluZGV4ID0gaW5kZXggKyAxO1xuICAgICAgICBodG1sICs9IGVzY2FwZTI7XG4gICAgICB9XG4gICAgICByZXR1cm4gbGFzdEluZGV4ICE9PSBpbmRleCA/IGh0bWwgKyBzdHIuc3Vic3RyaW5nKGxhc3RJbmRleCwgaW5kZXgpIDogaHRtbDtcbiAgICB9XG4gIH1cbn0pO1xuXG4vLyBub2RlX21vZHVsZXMvcGFyc2V1cmwvaW5kZXguanNcbnZhciByZXF1aXJlX3BhcnNldXJsID0gX19jb21tb25KUyh7XG4gIFwibm9kZV9tb2R1bGVzL3BhcnNldXJsL2luZGV4LmpzXCIoZXhwb3J0czIsIG1vZHVsZTIpIHtcbiAgICBcInVzZSBzdHJpY3RcIjtcbiAgICB2YXIgdXJsID0gcmVxdWlyZShcInVybFwiKTtcbiAgICB2YXIgcGFyc2UgPSB1cmwucGFyc2U7XG4gICAgdmFyIFVybCA9IHVybC5Vcmw7XG4gICAgbW9kdWxlMi5leHBvcnRzID0gcGFyc2V1cmw7XG4gICAgbW9kdWxlMi5leHBvcnRzLm9yaWdpbmFsID0gb3JpZ2luYWx1cmw7XG4gICAgZnVuY3Rpb24gcGFyc2V1cmwocmVxKSB7XG4gICAgICB2YXIgdXJsMiA9IHJlcS51cmw7XG4gICAgICBpZiAodXJsMiA9PT0gdm9pZCAwKSB7XG4gICAgICAgIHJldHVybiB2b2lkIDA7XG4gICAgICB9XG4gICAgICB2YXIgcGFyc2VkID0gcmVxLl9wYXJzZWRVcmw7XG4gICAgICBpZiAoZnJlc2godXJsMiwgcGFyc2VkKSkge1xuICAgICAgICByZXR1cm4gcGFyc2VkO1xuICAgICAgfVxuICAgICAgcGFyc2VkID0gZmFzdHBhcnNlKHVybDIpO1xuICAgICAgcGFyc2VkLl9yYXcgPSB1cmwyO1xuICAgICAgcmV0dXJuIHJlcS5fcGFyc2VkVXJsID0gcGFyc2VkO1xuICAgIH1cbiAgICBmdW5jdGlvbiBvcmlnaW5hbHVybChyZXEpIHtcbiAgICAgIHZhciB1cmwyID0gcmVxLm9yaWdpbmFsVXJsO1xuICAgICAgaWYgKHR5cGVvZiB1cmwyICE9PSBcInN0cmluZ1wiKSB7XG4gICAgICAgIHJldHVybiBwYXJzZXVybChyZXEpO1xuICAgICAgfVxuICAgICAgdmFyIHBhcnNlZCA9IHJlcS5fcGFyc2VkT3JpZ2luYWxVcmw7XG4gICAgICBpZiAoZnJlc2godXJsMiwgcGFyc2VkKSkge1xuICAgICAgICByZXR1cm4gcGFyc2VkO1xuICAgICAgfVxuICAgICAgcGFyc2VkID0gZmFzdHBhcnNlKHVybDIpO1xuICAgICAgcGFyc2VkLl9yYXcgPSB1cmwyO1xuICAgICAgcmV0dXJuIHJlcS5fcGFyc2VkT3JpZ2luYWxVcmwgPSBwYXJzZWQ7XG4gICAgfVxuICAgIGZ1bmN0aW9uIGZhc3RwYXJzZShzdHIpIHtcbiAgICAgIGlmICh0eXBlb2Ygc3RyICE9PSBcInN0cmluZ1wiIHx8IHN0ci5jaGFyQ29kZUF0KDApICE9PSA0Nykge1xuICAgICAgICByZXR1cm4gcGFyc2Uoc3RyKTtcbiAgICAgIH1cbiAgICAgIHZhciBwYXRobmFtZSA9IHN0cjtcbiAgICAgIHZhciBxdWVyeSA9IG51bGw7XG4gICAgICB2YXIgc2VhcmNoID0gbnVsbDtcbiAgICAgIGZvciAodmFyIGkgPSAxOyBpIDwgc3RyLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgIHN3aXRjaCAoc3RyLmNoYXJDb2RlQXQoaSkpIHtcbiAgICAgICAgICBjYXNlIDYzOlxuICAgICAgICAgICAgaWYgKHNlYXJjaCA9PT0gbnVsbCkge1xuICAgICAgICAgICAgICBwYXRobmFtZSA9IHN0ci5zdWJzdHJpbmcoMCwgaSk7XG4gICAgICAgICAgICAgIHF1ZXJ5ID0gc3RyLnN1YnN0cmluZyhpICsgMSk7XG4gICAgICAgICAgICAgIHNlYXJjaCA9IHN0ci5zdWJzdHJpbmcoaSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgICBjYXNlIDk6XG4gICAgICAgICAgLyogXFx0ICovXG4gICAgICAgICAgY2FzZSAxMDpcbiAgICAgICAgICAvKiBcXG4gKi9cbiAgICAgICAgICBjYXNlIDEyOlxuICAgICAgICAgIC8qIFxcZiAqL1xuICAgICAgICAgIGNhc2UgMTM6XG4gICAgICAgICAgLyogXFxyICovXG4gICAgICAgICAgY2FzZSAzMjpcbiAgICAgICAgICAvKiAgICAqL1xuICAgICAgICAgIGNhc2UgMzU6XG4gICAgICAgICAgLyogIyAgKi9cbiAgICAgICAgICBjYXNlIDE2MDpcbiAgICAgICAgICBjYXNlIDY1Mjc5OlxuICAgICAgICAgICAgcmV0dXJuIHBhcnNlKHN0cik7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIHZhciB1cmwyID0gVXJsICE9PSB2b2lkIDAgPyBuZXcgVXJsKCkgOiB7fTtcbiAgICAgIHVybDIucGF0aCA9IHN0cjtcbiAgICAgIHVybDIuaHJlZiA9IHN0cjtcbiAgICAgIHVybDIucGF0aG5hbWUgPSBwYXRobmFtZTtcbiAgICAgIGlmIChzZWFyY2ggIT09IG51bGwpIHtcbiAgICAgICAgdXJsMi5xdWVyeSA9IHF1ZXJ5O1xuICAgICAgICB1cmwyLnNlYXJjaCA9IHNlYXJjaDtcbiAgICAgIH1cbiAgICAgIHJldHVybiB1cmwyO1xuICAgIH1cbiAgICBmdW5jdGlvbiBmcmVzaCh1cmwyLCBwYXJzZWRVcmwpIHtcbiAgICAgIHJldHVybiB0eXBlb2YgcGFyc2VkVXJsID09PSBcIm9iamVjdFwiICYmIHBhcnNlZFVybCAhPT0gbnVsbCAmJiAoVXJsID09PSB2b2lkIDAgfHwgcGFyc2VkVXJsIGluc3RhbmNlb2YgVXJsKSAmJiBwYXJzZWRVcmwuX3JhdyA9PT0gdXJsMjtcbiAgICB9XG4gIH1cbn0pO1xuXG4vLyBub2RlX21vZHVsZXMvZmluYWxoYW5kbGVyL2luZGV4LmpzXG52YXIgcmVxdWlyZV9maW5hbGhhbmRsZXIgPSBfX2NvbW1vbkpTKHtcbiAgXCJub2RlX21vZHVsZXMvZmluYWxoYW5kbGVyL2luZGV4LmpzXCIoZXhwb3J0czIsIG1vZHVsZTIpIHtcbiAgICBcInVzZSBzdHJpY3RcIjtcbiAgICB2YXIgZGVidWcgPSByZXF1aXJlX3NyYygpKFwiZmluYWxoYW5kbGVyXCIpO1xuICAgIHZhciBlbmNvZGVVcmwgPSByZXF1aXJlX2VuY29kZXVybCgpO1xuICAgIHZhciBlc2NhcGVIdG1sID0gcmVxdWlyZV9lc2NhcGVfaHRtbCgpO1xuICAgIHZhciBvbkZpbmlzaGVkID0gcmVxdWlyZV9vbl9maW5pc2hlZCgpO1xuICAgIHZhciBwYXJzZVVybCA9IHJlcXVpcmVfcGFyc2V1cmwoKTtcbiAgICB2YXIgc3RhdHVzZXMgPSByZXF1aXJlX3N0YXR1c2VzKCk7XG4gICAgdmFyIGlzRmluaXNoZWQgPSBvbkZpbmlzaGVkLmlzRmluaXNoZWQ7XG4gICAgZnVuY3Rpb24gY3JlYXRlSHRtbERvY3VtZW50KG1lc3NhZ2UpIHtcbiAgICAgIHZhciBib2R5ID0gZXNjYXBlSHRtbChtZXNzYWdlKS5yZXBsYWNlQWxsKFwiXFxuXCIsIFwiPGJyPlwiKS5yZXBsYWNlQWxsKFwiICBcIiwgXCIgJm5ic3A7XCIpO1xuICAgICAgcmV0dXJuICc8IURPQ1RZUEUgaHRtbD5cXG48aHRtbCBsYW5nPVwiZW5cIj5cXG48aGVhZD5cXG48bWV0YSBjaGFyc2V0PVwidXRmLThcIj5cXG48dGl0bGU+RXJyb3I8L3RpdGxlPlxcbjwvaGVhZD5cXG48Ym9keT5cXG48cHJlPicgKyBib2R5ICsgXCI8L3ByZT5cXG48L2JvZHk+XFxuPC9odG1sPlxcblwiO1xuICAgIH1cbiAgICBtb2R1bGUyLmV4cG9ydHMgPSBmaW5hbGhhbmRsZXI7XG4gICAgZnVuY3Rpb24gZmluYWxoYW5kbGVyKHJlcSwgcmVzLCBvcHRpb25zKSB7XG4gICAgICB2YXIgb3B0cyA9IG9wdGlvbnMgfHwge307XG4gICAgICB2YXIgZW52ID0gb3B0cy5lbnYgfHwgcHJvY2Vzcy5lbnYuTk9ERV9FTlYgfHwgXCJkZXZlbG9wbWVudFwiO1xuICAgICAgdmFyIG9uZXJyb3IgPSBvcHRzLm9uZXJyb3I7XG4gICAgICByZXR1cm4gZnVuY3Rpb24oZXJyMikge1xuICAgICAgICB2YXIgaGVhZGVycztcbiAgICAgICAgdmFyIG1zZztcbiAgICAgICAgdmFyIHN0YXR1cztcbiAgICAgICAgaWYgKCFlcnIyICYmIHJlcy5oZWFkZXJzU2VudCkge1xuICAgICAgICAgIGRlYnVnKFwiY2Fubm90IDQwNCBhZnRlciBoZWFkZXJzIHNlbnRcIik7XG4gICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIGlmIChlcnIyKSB7XG4gICAgICAgICAgc3RhdHVzID0gZ2V0RXJyb3JTdGF0dXNDb2RlKGVycjIpO1xuICAgICAgICAgIGlmIChzdGF0dXMgPT09IHZvaWQgMCkge1xuICAgICAgICAgICAgc3RhdHVzID0gZ2V0UmVzcG9uc2VTdGF0dXNDb2RlKHJlcyk7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGhlYWRlcnMgPSBnZXRFcnJvckhlYWRlcnMoZXJyMik7XG4gICAgICAgICAgfVxuICAgICAgICAgIG1zZyA9IGdldEVycm9yTWVzc2FnZShlcnIyLCBzdGF0dXMsIGVudik7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgc3RhdHVzID0gNDA0O1xuICAgICAgICAgIG1zZyA9IFwiQ2Fubm90IFwiICsgcmVxLm1ldGhvZCArIFwiIFwiICsgZW5jb2RlVXJsKGdldFJlc291cmNlTmFtZShyZXEpKTtcbiAgICAgICAgfVxuICAgICAgICBkZWJ1ZyhcImRlZmF1bHQgJXNcIiwgc3RhdHVzKTtcbiAgICAgICAgaWYgKGVycjIgJiYgb25lcnJvcikge1xuICAgICAgICAgIHNldEltbWVkaWF0ZShvbmVycm9yLCBlcnIyLCByZXEsIHJlcyk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHJlcy5oZWFkZXJzU2VudCkge1xuICAgICAgICAgIGRlYnVnKFwiY2Fubm90ICVkIGFmdGVyIGhlYWRlcnMgc2VudFwiLCBzdGF0dXMpO1xuICAgICAgICAgIGlmIChyZXEuc29ja2V0KSB7XG4gICAgICAgICAgICByZXEuc29ja2V0LmRlc3Ryb3koKTtcbiAgICAgICAgICB9XG4gICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIHNlbmQocmVxLCByZXMsIHN0YXR1cywgaGVhZGVycywgbXNnKTtcbiAgICAgIH07XG4gICAgfVxuICAgIGZ1bmN0aW9uIGdldEVycm9ySGVhZGVycyhlcnIyKSB7XG4gICAgICBpZiAoIWVycjIuaGVhZGVycyB8fCB0eXBlb2YgZXJyMi5oZWFkZXJzICE9PSBcIm9iamVjdFwiKSB7XG4gICAgICAgIHJldHVybiB2b2lkIDA7XG4gICAgICB9XG4gICAgICByZXR1cm4geyAuLi5lcnIyLmhlYWRlcnMgfTtcbiAgICB9XG4gICAgZnVuY3Rpb24gZ2V0RXJyb3JNZXNzYWdlKGVycjIsIHN0YXR1cywgZW52KSB7XG4gICAgICB2YXIgbXNnO1xuICAgICAgaWYgKGVudiAhPT0gXCJwcm9kdWN0aW9uXCIpIHtcbiAgICAgICAgbXNnID0gZXJyMi5zdGFjaztcbiAgICAgICAgaWYgKCFtc2cgJiYgdHlwZW9mIGVycjIudG9TdHJpbmcgPT09IFwiZnVuY3Rpb25cIikge1xuICAgICAgICAgIG1zZyA9IGVycjIudG9TdHJpbmcoKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgcmV0dXJuIG1zZyB8fCBzdGF0dXNlcy5tZXNzYWdlW3N0YXR1c107XG4gICAgfVxuICAgIGZ1bmN0aW9uIGdldEVycm9yU3RhdHVzQ29kZShlcnIyKSB7XG4gICAgICBpZiAodHlwZW9mIGVycjIuc3RhdHVzID09PSBcIm51bWJlclwiICYmIGVycjIuc3RhdHVzID49IDQwMCAmJiBlcnIyLnN0YXR1cyA8IDYwMCkge1xuICAgICAgICByZXR1cm4gZXJyMi5zdGF0dXM7XG4gICAgICB9XG4gICAgICBpZiAodHlwZW9mIGVycjIuc3RhdHVzQ29kZSA9PT0gXCJudW1iZXJcIiAmJiBlcnIyLnN0YXR1c0NvZGUgPj0gNDAwICYmIGVycjIuc3RhdHVzQ29kZSA8IDYwMCkge1xuICAgICAgICByZXR1cm4gZXJyMi5zdGF0dXNDb2RlO1xuICAgICAgfVxuICAgICAgcmV0dXJuIHZvaWQgMDtcbiAgICB9XG4gICAgZnVuY3Rpb24gZ2V0UmVzb3VyY2VOYW1lKHJlcSkge1xuICAgICAgdHJ5IHtcbiAgICAgICAgcmV0dXJuIHBhcnNlVXJsLm9yaWdpbmFsKHJlcSkucGF0aG5hbWU7XG4gICAgICB9IGNhdGNoIChlKSB7XG4gICAgICAgIHJldHVybiBcInJlc291cmNlXCI7XG4gICAgICB9XG4gICAgfVxuICAgIGZ1bmN0aW9uIGdldFJlc3BvbnNlU3RhdHVzQ29kZShyZXMpIHtcbiAgICAgIHZhciBzdGF0dXMgPSByZXMuc3RhdHVzQ29kZTtcbiAgICAgIGlmICh0eXBlb2Ygc3RhdHVzICE9PSBcIm51bWJlclwiIHx8IHN0YXR1cyA8IDQwMCB8fCBzdGF0dXMgPiA1OTkpIHtcbiAgICAgICAgc3RhdHVzID0gNTAwO1xuICAgICAgfVxuICAgICAgcmV0dXJuIHN0YXR1cztcbiAgICB9XG4gICAgZnVuY3Rpb24gc2VuZChyZXEsIHJlcywgc3RhdHVzLCBoZWFkZXJzLCBtZXNzYWdlKSB7XG4gICAgICBmdW5jdGlvbiB3cml0ZSgpIHtcbiAgICAgICAgdmFyIGJvZHkgPSBjcmVhdGVIdG1sRG9jdW1lbnQobWVzc2FnZSk7XG4gICAgICAgIHJlcy5zdGF0dXNDb2RlID0gc3RhdHVzO1xuICAgICAgICBpZiAocmVxLmh0dHBWZXJzaW9uTWFqb3IgPCAyKSB7XG4gICAgICAgICAgcmVzLnN0YXR1c01lc3NhZ2UgPSBzdGF0dXNlcy5tZXNzYWdlW3N0YXR1c107XG4gICAgICAgIH1cbiAgICAgICAgcmVzLnJlbW92ZUhlYWRlcihcIkNvbnRlbnQtRW5jb2RpbmdcIik7XG4gICAgICAgIHJlcy5yZW1vdmVIZWFkZXIoXCJDb250ZW50LUxhbmd1YWdlXCIpO1xuICAgICAgICByZXMucmVtb3ZlSGVhZGVyKFwiQ29udGVudC1SYW5nZVwiKTtcbiAgICAgICAgZm9yIChjb25zdCBba2V5LCB2YWx1ZV0gb2YgT2JqZWN0LmVudHJpZXMoaGVhZGVycyA/PyB7fSkpIHtcbiAgICAgICAgICByZXMuc2V0SGVhZGVyKGtleSwgdmFsdWUpO1xuICAgICAgICB9XG4gICAgICAgIHJlcy5zZXRIZWFkZXIoXCJDb250ZW50LVNlY3VyaXR5LVBvbGljeVwiLCBcImRlZmF1bHQtc3JjICdub25lJ1wiKTtcbiAgICAgICAgcmVzLnNldEhlYWRlcihcIlgtQ29udGVudC1UeXBlLU9wdGlvbnNcIiwgXCJub3NuaWZmXCIpO1xuICAgICAgICByZXMuc2V0SGVhZGVyKFwiQ29udGVudC1UeXBlXCIsIFwidGV4dC9odG1sOyBjaGFyc2V0PXV0Zi04XCIpO1xuICAgICAgICByZXMuc2V0SGVhZGVyKFwiQ29udGVudC1MZW5ndGhcIiwgQnVmZmVyLmJ5dGVMZW5ndGgoYm9keSwgXCJ1dGY4XCIpKTtcbiAgICAgICAgaWYgKHJlcS5tZXRob2QgPT09IFwiSEVBRFwiKSB7XG4gICAgICAgICAgcmVzLmVuZCgpO1xuICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICByZXMuZW5kKGJvZHksIFwidXRmOFwiKTtcbiAgICAgIH1cbiAgICAgIGlmIChpc0ZpbmlzaGVkKHJlcSkpIHtcbiAgICAgICAgd3JpdGUoKTtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuICAgICAgcmVxLnVucGlwZSgpO1xuICAgICAgb25GaW5pc2hlZChyZXEsIHdyaXRlKTtcbiAgICAgIHJlcS5yZXN1bWUoKTtcbiAgICB9XG4gIH1cbn0pO1xuXG4vLyBub2RlX21vZHVsZXMvZXhwcmVzcy9saWIvdmlldy5qc1xudmFyIHJlcXVpcmVfdmlldyA9IF9fY29tbW9uSlMoe1xuICBcIm5vZGVfbW9kdWxlcy9leHByZXNzL2xpYi92aWV3LmpzXCIoZXhwb3J0czIsIG1vZHVsZTIpIHtcbiAgICBcInVzZSBzdHJpY3RcIjtcbiAgICB2YXIgZGVidWcgPSByZXF1aXJlX3NyYygpKFwiZXhwcmVzczp2aWV3XCIpO1xuICAgIHZhciBwYXRoID0gcmVxdWlyZShcIm5vZGU6cGF0aFwiKTtcbiAgICB2YXIgZnMgPSByZXF1aXJlKFwibm9kZTpmc1wiKTtcbiAgICB2YXIgZGlybmFtZSA9IHBhdGguZGlybmFtZTtcbiAgICB2YXIgYmFzZW5hbWUgPSBwYXRoLmJhc2VuYW1lO1xuICAgIHZhciBleHRuYW1lID0gcGF0aC5leHRuYW1lO1xuICAgIHZhciBqb2luID0gcGF0aC5qb2luO1xuICAgIHZhciByZXNvbHZlID0gcGF0aC5yZXNvbHZlO1xuICAgIG1vZHVsZTIuZXhwb3J0cyA9IFZpZXc7XG4gICAgZnVuY3Rpb24gVmlldyhuYW1lLCBvcHRpb25zKSB7XG4gICAgICB2YXIgb3B0cyA9IG9wdGlvbnMgfHwge307XG4gICAgICB0aGlzLmRlZmF1bHRFbmdpbmUgPSBvcHRzLmRlZmF1bHRFbmdpbmU7XG4gICAgICB0aGlzLmV4dCA9IGV4dG5hbWUobmFtZSk7XG4gICAgICB0aGlzLm5hbWUgPSBuYW1lO1xuICAgICAgdGhpcy5yb290ID0gb3B0cy5yb290O1xuICAgICAgaWYgKCF0aGlzLmV4dCAmJiAhdGhpcy5kZWZhdWx0RW5naW5lKSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihcIk5vIGRlZmF1bHQgZW5naW5lIHdhcyBzcGVjaWZpZWQgYW5kIG5vIGV4dGVuc2lvbiB3YXMgcHJvdmlkZWQuXCIpO1xuICAgICAgfVxuICAgICAgdmFyIGZpbGVOYW1lID0gbmFtZTtcbiAgICAgIGlmICghdGhpcy5leHQpIHtcbiAgICAgICAgdGhpcy5leHQgPSB0aGlzLmRlZmF1bHRFbmdpbmVbMF0gIT09IFwiLlwiID8gXCIuXCIgKyB0aGlzLmRlZmF1bHRFbmdpbmUgOiB0aGlzLmRlZmF1bHRFbmdpbmU7XG4gICAgICAgIGZpbGVOYW1lICs9IHRoaXMuZXh0O1xuICAgICAgfVxuICAgICAgaWYgKCFvcHRzLmVuZ2luZXNbdGhpcy5leHRdKSB7XG4gICAgICAgIHZhciBtb2QgPSB0aGlzLmV4dC5zbGljZSgxKTtcbiAgICAgICAgZGVidWcoJ3JlcXVpcmUgXCIlc1wiJywgbW9kKTtcbiAgICAgICAgdmFyIGZuID0gcmVxdWlyZShtb2QpLl9fZXhwcmVzcztcbiAgICAgICAgaWYgKHR5cGVvZiBmbiAhPT0gXCJmdW5jdGlvblwiKSB7XG4gICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdNb2R1bGUgXCInICsgbW9kICsgJ1wiIGRvZXMgbm90IHByb3ZpZGUgYSB2aWV3IGVuZ2luZS4nKTtcbiAgICAgICAgfVxuICAgICAgICBvcHRzLmVuZ2luZXNbdGhpcy5leHRdID0gZm47XG4gICAgICB9XG4gICAgICB0aGlzLmVuZ2luZSA9IG9wdHMuZW5naW5lc1t0aGlzLmV4dF07XG4gICAgICB0aGlzLnBhdGggPSB0aGlzLmxvb2t1cChmaWxlTmFtZSk7XG4gICAgfVxuICAgIFZpZXcucHJvdG90eXBlLmxvb2t1cCA9IGZ1bmN0aW9uIGxvb2t1cChuYW1lKSB7XG4gICAgICB2YXIgcGF0aDI7XG4gICAgICB2YXIgcm9vdHMgPSBbXS5jb25jYXQodGhpcy5yb290KTtcbiAgICAgIGRlYnVnKCdsb29rdXAgXCIlc1wiJywgbmFtZSk7XG4gICAgICBmb3IgKHZhciBpID0gMDsgaSA8IHJvb3RzLmxlbmd0aCAmJiAhcGF0aDI7IGkrKykge1xuICAgICAgICB2YXIgcm9vdCA9IHJvb3RzW2ldO1xuICAgICAgICB2YXIgbG9jID0gcmVzb2x2ZShyb290LCBuYW1lKTtcbiAgICAgICAgdmFyIGRpciA9IGRpcm5hbWUobG9jKTtcbiAgICAgICAgdmFyIGZpbGUgPSBiYXNlbmFtZShsb2MpO1xuICAgICAgICBwYXRoMiA9IHRoaXMucmVzb2x2ZShkaXIsIGZpbGUpO1xuICAgICAgfVxuICAgICAgcmV0dXJuIHBhdGgyO1xuICAgIH07XG4gICAgVmlldy5wcm90b3R5cGUucmVuZGVyID0gZnVuY3Rpb24gcmVuZGVyKG9wdGlvbnMsIGNhbGxiYWNrKSB7XG4gICAgICB2YXIgc3luYyA9IHRydWU7XG4gICAgICBkZWJ1ZygncmVuZGVyIFwiJXNcIicsIHRoaXMucGF0aCk7XG4gICAgICB0aGlzLmVuZ2luZSh0aGlzLnBhdGgsIG9wdGlvbnMsIGZ1bmN0aW9uIG9uUmVuZGVyKCkge1xuICAgICAgICBpZiAoIXN5bmMpIHtcbiAgICAgICAgICByZXR1cm4gY2FsbGJhY2suYXBwbHkodGhpcywgYXJndW1lbnRzKTtcbiAgICAgICAgfVxuICAgICAgICB2YXIgYXJncyA9IG5ldyBBcnJheShhcmd1bWVudHMubGVuZ3RoKTtcbiAgICAgICAgdmFyIGNudHggPSB0aGlzO1xuICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IGFyZ3VtZW50cy5sZW5ndGg7IGkrKykge1xuICAgICAgICAgIGFyZ3NbaV0gPSBhcmd1bWVudHNbaV07XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHByb2Nlc3MubmV4dFRpY2soZnVuY3Rpb24gcmVuZGVyVGljaygpIHtcbiAgICAgICAgICByZXR1cm4gY2FsbGJhY2suYXBwbHkoY250eCwgYXJncyk7XG4gICAgICAgIH0pO1xuICAgICAgfSk7XG4gICAgICBzeW5jID0gZmFsc2U7XG4gICAgfTtcbiAgICBWaWV3LnByb3RvdHlwZS5yZXNvbHZlID0gZnVuY3Rpb24gcmVzb2x2ZTIoZGlyLCBmaWxlKSB7XG4gICAgICB2YXIgZXh0ID0gdGhpcy5leHQ7XG4gICAgICB2YXIgcGF0aDIgPSBqb2luKGRpciwgZmlsZSk7XG4gICAgICB2YXIgc3RhdCA9IHRyeVN0YXQocGF0aDIpO1xuICAgICAgaWYgKHN0YXQgJiYgc3RhdC5pc0ZpbGUoKSkge1xuICAgICAgICByZXR1cm4gcGF0aDI7XG4gICAgICB9XG4gICAgICBwYXRoMiA9IGpvaW4oZGlyLCBiYXNlbmFtZShmaWxlLCBleHQpLCBcImluZGV4XCIgKyBleHQpO1xuICAgICAgc3RhdCA9IHRyeVN0YXQocGF0aDIpO1xuICAgICAgaWYgKHN0YXQgJiYgc3RhdC5pc0ZpbGUoKSkge1xuICAgICAgICByZXR1cm4gcGF0aDI7XG4gICAgICB9XG4gICAgfTtcbiAgICBmdW5jdGlvbiB0cnlTdGF0KHBhdGgyKSB7XG4gICAgICBkZWJ1Zygnc3RhdCBcIiVzXCInLCBwYXRoMik7XG4gICAgICB0cnkge1xuICAgICAgICByZXR1cm4gZnMuc3RhdFN5bmMocGF0aDIpO1xuICAgICAgfSBjYXRjaCAoZSkge1xuICAgICAgICByZXR1cm4gdm9pZCAwO1xuICAgICAgfVxuICAgIH1cbiAgfVxufSk7XG5cbi8vIG5vZGVfbW9kdWxlcy9ldGFnL2luZGV4LmpzXG52YXIgcmVxdWlyZV9ldGFnID0gX19jb21tb25KUyh7XG4gIFwibm9kZV9tb2R1bGVzL2V0YWcvaW5kZXguanNcIihleHBvcnRzMiwgbW9kdWxlMikge1xuICAgIFwidXNlIHN0cmljdFwiO1xuICAgIG1vZHVsZTIuZXhwb3J0cyA9IGV0YWc7XG4gICAgdmFyIGNyeXB0byA9IHJlcXVpcmUoXCJjcnlwdG9cIik7XG4gICAgdmFyIFN0YXRzID0gcmVxdWlyZShcImZzXCIpLlN0YXRzO1xuICAgIHZhciB0b1N0cmluZyA9IE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmc7XG4gICAgZnVuY3Rpb24gZW50aXR5dGFnKGVudGl0eSkge1xuICAgICAgaWYgKGVudGl0eS5sZW5ndGggPT09IDApIHtcbiAgICAgICAgcmV0dXJuICdcIjAtMmptajdsNXJTdzB5VmIvdmxXQVlrSy9ZQndrXCInO1xuICAgICAgfVxuICAgICAgdmFyIGhhc2ggPSBjcnlwdG8uY3JlYXRlSGFzaChcInNoYTFcIikudXBkYXRlKGVudGl0eSwgXCJ1dGY4XCIpLmRpZ2VzdChcImJhc2U2NFwiKS5zdWJzdHJpbmcoMCwgMjcpO1xuICAgICAgdmFyIGxlbiA9IHR5cGVvZiBlbnRpdHkgPT09IFwic3RyaW5nXCIgPyBCdWZmZXIuYnl0ZUxlbmd0aChlbnRpdHksIFwidXRmOFwiKSA6IGVudGl0eS5sZW5ndGg7XG4gICAgICByZXR1cm4gJ1wiJyArIGxlbi50b1N0cmluZygxNikgKyBcIi1cIiArIGhhc2ggKyAnXCInO1xuICAgIH1cbiAgICBmdW5jdGlvbiBldGFnKGVudGl0eSwgb3B0aW9ucykge1xuICAgICAgaWYgKGVudGl0eSA9PSBudWxsKSB7XG4gICAgICAgIHRocm93IG5ldyBUeXBlRXJyb3IoXCJhcmd1bWVudCBlbnRpdHkgaXMgcmVxdWlyZWRcIik7XG4gICAgICB9XG4gICAgICB2YXIgaXNTdGF0cyA9IGlzc3RhdHMoZW50aXR5KTtcbiAgICAgIHZhciB3ZWFrID0gb3B0aW9ucyAmJiB0eXBlb2Ygb3B0aW9ucy53ZWFrID09PSBcImJvb2xlYW5cIiA/IG9wdGlvbnMud2VhayA6IGlzU3RhdHM7XG4gICAgICBpZiAoIWlzU3RhdHMgJiYgdHlwZW9mIGVudGl0eSAhPT0gXCJzdHJpbmdcIiAmJiAhQnVmZmVyLmlzQnVmZmVyKGVudGl0eSkpIHtcbiAgICAgICAgdGhyb3cgbmV3IFR5cGVFcnJvcihcImFyZ3VtZW50IGVudGl0eSBtdXN0IGJlIHN0cmluZywgQnVmZmVyLCBvciBmcy5TdGF0c1wiKTtcbiAgICAgIH1cbiAgICAgIHZhciB0YWcgPSBpc1N0YXRzID8gc3RhdHRhZyhlbnRpdHkpIDogZW50aXR5dGFnKGVudGl0eSk7XG4gICAgICByZXR1cm4gd2VhayA/IFwiVy9cIiArIHRhZyA6IHRhZztcbiAgICB9XG4gICAgZnVuY3Rpb24gaXNzdGF0cyhvYmopIHtcbiAgICAgIGlmICh0eXBlb2YgU3RhdHMgPT09IFwiZnVuY3Rpb25cIiAmJiBvYmogaW5zdGFuY2VvZiBTdGF0cykge1xuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgIH1cbiAgICAgIHJldHVybiBvYmogJiYgdHlwZW9mIG9iaiA9PT0gXCJvYmplY3RcIiAmJiBcImN0aW1lXCIgaW4gb2JqICYmIHRvU3RyaW5nLmNhbGwob2JqLmN0aW1lKSA9PT0gXCJbb2JqZWN0IERhdGVdXCIgJiYgXCJtdGltZVwiIGluIG9iaiAmJiB0b1N0cmluZy5jYWxsKG9iai5tdGltZSkgPT09IFwiW29iamVjdCBEYXRlXVwiICYmIFwiaW5vXCIgaW4gb2JqICYmIHR5cGVvZiBvYmouaW5vID09PSBcIm51bWJlclwiICYmIFwic2l6ZVwiIGluIG9iaiAmJiB0eXBlb2Ygb2JqLnNpemUgPT09IFwibnVtYmVyXCI7XG4gICAgfVxuICAgIGZ1bmN0aW9uIHN0YXR0YWcoc3RhdCkge1xuICAgICAgdmFyIG10aW1lID0gc3RhdC5tdGltZS5nZXRUaW1lKCkudG9TdHJpbmcoMTYpO1xuICAgICAgdmFyIHNpemUgPSBzdGF0LnNpemUudG9TdHJpbmcoMTYpO1xuICAgICAgcmV0dXJuICdcIicgKyBzaXplICsgXCItXCIgKyBtdGltZSArICdcIic7XG4gICAgfVxuICB9XG59KTtcblxuLy8gbm9kZV9tb2R1bGVzL2V4cHJlc3Mvbm9kZV9tb2R1bGVzL21pbWUtZGIvZGIuanNvblxudmFyIHJlcXVpcmVfZGIyID0gX19jb21tb25KUyh7XG4gIFwibm9kZV9tb2R1bGVzL2V4cHJlc3Mvbm9kZV9tb2R1bGVzL21pbWUtZGIvZGIuanNvblwiKGV4cG9ydHMyLCBtb2R1bGUyKSB7XG4gICAgbW9kdWxlMi5leHBvcnRzID0ge1xuICAgICAgXCJhcHBsaWNhdGlvbi8xZC1pbnRlcmxlYXZlZC1wYXJpdHlmZWNcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi8zZ3BkYXNoLXFvZS1yZXBvcnQreG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY2hhcnNldDogXCJVVEYtOFwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uLzNncHAtaW1zK3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vM2dwcGhhbCtqc29uXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi8zZ3BwaGFsZm9ybXMranNvblwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vYTJsXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vYWNlK2Nib3JcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9hY2UranNvblwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vYWNlLWdyb3VwY29tbStjYm9yXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vYWNlLXRybCtjYm9yXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vYWN0aXZlbWVzc2FnZVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL2FjdGl2aXR5K2pzb25cIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL2FpZitjYm9yXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vYWlmK2pzb25cIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL2FsdG8tY2RuaStqc29uXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9hbHRvLWNkbmlmaWx0ZXIranNvblwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vYWx0by1jb3N0bWFwK2pzb25cIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL2FsdG8tY29zdG1hcGZpbHRlcitqc29uXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9hbHRvLWRpcmVjdG9yeStqc29uXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9hbHRvLWVuZHBvaW50Y29zdCtqc29uXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9hbHRvLWVuZHBvaW50Y29zdHBhcmFtcytqc29uXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9hbHRvLWVuZHBvaW50cHJvcCtqc29uXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9hbHRvLWVuZHBvaW50cHJvcHBhcmFtcytqc29uXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9hbHRvLWVycm9yK2pzb25cIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL2FsdG8tbmV0d29ya21hcCtqc29uXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9hbHRvLW5ldHdvcmttYXBmaWx0ZXIranNvblwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vYWx0by1wcm9wbWFwK2pzb25cIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL2FsdG8tcHJvcG1hcHBhcmFtcytqc29uXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9hbHRvLXRpcHMranNvblwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vYWx0by10aXBzcGFyYW1zK2pzb25cIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL2FsdG8tdXBkYXRlc3RyZWFtY29udHJvbCtqc29uXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9hbHRvLXVwZGF0ZXN0cmVhbXBhcmFtcytqc29uXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9hbWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9hbmRyZXctaW5zZXRcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJlelwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vYXBwaW5zdGFsbGVyXCI6IHtcbiAgICAgICAgY29tcHJlc3NpYmxlOiBmYWxzZSxcbiAgICAgICAgZXh0ZW5zaW9uczogW1wiYXBwaW5zdGFsbGVyXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9hcHBsZWZpbGVcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9hcHBsaXh3YXJlXCI6IHtcbiAgICAgICAgc291cmNlOiBcImFwYWNoZVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJhd1wiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vYXBweFwiOiB7XG4gICAgICAgIGNvbXByZXNzaWJsZTogZmFsc2UsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImFwcHhcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL2FwcHhidW5kbGVcIjoge1xuICAgICAgICBjb21wcmVzc2libGU6IGZhbHNlLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJhcHB4YnVuZGxlXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9hdCtqd3RcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9hdGZcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9hdGZ4XCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vYXRvbSt4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWUsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImF0b21cIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL2F0b21jYXQreG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJhdG9tY2F0XCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9hdG9tZGVsZXRlZCt4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWUsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImF0b21kZWxldGVkXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9hdG9taWNtYWlsXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vYXRvbXN2Yyt4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWUsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImF0b21zdmNcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL2F0c2MtZHdkK3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZSxcbiAgICAgICAgZXh0ZW5zaW9uczogW1wiZHdkXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9hdHNjLWR5bmFtaWMtZXZlbnQtbWVzc2FnZVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL2F0c2MtaGVsZCt4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWUsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImhlbGRcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL2F0c2MtcmR0K2pzb25cIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL2F0c2MtcnNhdCt4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWUsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcInJzYXRcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL2F0eG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vYXV0aC1wb2xpY3kreG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9hdXRvbWF0aW9ubWwtYW1sK3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZSxcbiAgICAgICAgZXh0ZW5zaW9uczogW1wiYW1sXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9hdXRvbWF0aW9ubWwtYW1seCt6aXBcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IGZhbHNlLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJhbWx4XCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9iYWNuZXQteGRkK3ppcFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogZmFsc2VcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL2JhdGNoLXNtdHBcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9iZG9jXCI6IHtcbiAgICAgICAgY29tcHJlc3NpYmxlOiBmYWxzZSxcbiAgICAgICAgZXh0ZW5zaW9uczogW1wiYmRvY1wiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vYmVlcCt4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjaGFyc2V0OiBcIlVURi04XCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vYnVmclwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL2MycGFcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9jYWxlbmRhcitqc29uXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9jYWxlbmRhcit4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWUsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcInhjc1wiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vY2FsbC1jb21wbGV0aW9uXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vY2Fscy0xODQwXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vY2FwdGl2ZStqc29uXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9jYm9yXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vY2Jvci1zZXFcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9jY2NleFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL2NjbXAreG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9jY3htbCt4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWUsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImNjeG1sXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9jZGEreG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY2hhcnNldDogXCJVVEYtOFwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL2NkZngreG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJjZGZ4XCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9jZG1pLWNhcGFiaWxpdHlcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJjZG1pYVwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vY2RtaS1jb250YWluZXJcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJjZG1pY1wiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vY2RtaS1kb21haW5cIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJjZG1pZFwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vY2RtaS1vYmplY3RcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJjZG1pb1wiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vY2RtaS1xdWV1ZVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImNkbWlxXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9jZG5pXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vY2UrY2JvclwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL2NlYVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL2NlYS0yMDE4K3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vY2VsbG1sK3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vY2Z3XCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vY2lkLWVkaG9jK2Nib3Itc2VxXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vY2l0eStqc29uXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9jaXR5K2pzb24tc2VxXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vY2xyXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vY2x1ZSt4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL2NsdWVfaW5mbyt4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL2Ntc1wiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL2NucnAreG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9jb2FwLWVhcFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL2NvYXAtZ3JvdXAranNvblwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vY29hcC1wYXlsb2FkXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vY29tbW9uZ3JvdW5kXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vY29uY2lzZS1wcm9ibGVtLWRldGFpbHMrY2JvclwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL2NvbmZlcmVuY2UtaW5mbyt4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL2Nvc2VcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9jb3NlLWtleVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL2Nvc2Uta2V5LXNldFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL2Nvc2UteDUwOVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL2NwbCt4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWUsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImNwbFwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vY3NyYXR0cnNcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9jc3RhK3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vY3N0YWRhdGEreG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9jc3ZtK2pzb25cIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL2N1LXNlZW1lXCI6IHtcbiAgICAgICAgc291cmNlOiBcImFwYWNoZVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJjdVwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vY3dsXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wiY3dsXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9jd2wranNvblwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vY3dsK3lhbWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9jd3RcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9jeWJlcmNhc2hcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9kYXJ0XCI6IHtcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9kYXNoK3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZSxcbiAgICAgICAgZXh0ZW5zaW9uczogW1wibXBkXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9kYXNoLXBhdGNoK3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZSxcbiAgICAgICAgZXh0ZW5zaW9uczogW1wibXBwXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9kYXNoZGVsdGFcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9kYXZtb3VudCt4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWUsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImRhdm1vdW50XCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9kY2EtcmZ0XCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vZGNkXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vZGVjLWR4XCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vZGlhbG9nLWluZm8reG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9kaWNvbVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImRjbVwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vZGljb20ranNvblwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vZGljb20reG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9kaWlcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9kaXRcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9kbnNcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9kbnMranNvblwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vZG5zLW1lc3NhZ2VcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9kb2Nib29rK3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJhcGFjaGVcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJkYmtcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL2RvdHMrY2JvclwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL2Rwb3Arand0XCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vZHNrcHAreG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9kc3NjK2RlclwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImRzc2NcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL2Rzc2MreG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJ4ZHNzY1wiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vZHZjc1wiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL2VhdCtjd3RcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9lYXQrand0XCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vZWF0LWJ1bitjYm9yXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vZWF0LWJ1bitqc29uXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9lYXQtdWNzK2Nib3JcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9lYXQtdWNzK2pzb25cIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL2VjbWFzY3JpcHRcIjoge1xuICAgICAgICBzb3VyY2U6IFwiYXBhY2hlXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZSxcbiAgICAgICAgZXh0ZW5zaW9uczogW1wiZWNtYVwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vZWRob2MrY2Jvci1zZXFcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9lZGktY29uc2VudFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL2VkaS14MTJcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IGZhbHNlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9lZGlmYWN0XCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiBmYWxzZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vZWZpXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vZWxtK2pzb25cIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjaGFyc2V0OiBcIlVURi04XCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vZWxtK3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vZW1lcmdlbmN5Y2FsbGRhdGEuY2FwK3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNoYXJzZXQ6IFwiVVRGLThcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9lbWVyZ2VuY3ljYWxsZGF0YS5jb21tZW50K3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vZW1lcmdlbmN5Y2FsbGRhdGEuY29udHJvbCt4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL2VtZXJnZW5jeWNhbGxkYXRhLmRldmljZWluZm8reG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9lbWVyZ2VuY3ljYWxsZGF0YS5lY2FsbC5tc2RcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9lbWVyZ2VuY3ljYWxsZGF0YS5sZWdhY3llc24ranNvblwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vZW1lcmdlbmN5Y2FsbGRhdGEucHJvdmlkZXJpbmZvK3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vZW1lcmdlbmN5Y2FsbGRhdGEuc2VydmljZWluZm8reG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9lbWVyZ2VuY3ljYWxsZGF0YS5zdWJzY3JpYmVyaW5mbyt4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL2VtZXJnZW5jeWNhbGxkYXRhLnZlZHMreG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9lbW1hK3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZSxcbiAgICAgICAgZXh0ZW5zaW9uczogW1wiZW1tYVwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vZW1vdGlvbm1sK3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZSxcbiAgICAgICAgZXh0ZW5zaW9uczogW1wiZW1vdGlvbm1sXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9lbmNhcHJ0cFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL2VudGl0eS1zdGF0ZW1lbnQrand0XCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vZXBwK3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vZXB1Yit6aXBcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IGZhbHNlLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJlcHViXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9lc2hvcFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL2V4aVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImV4aVwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vZXhwZWN0LWN0LXJlcG9ydCtqc29uXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9leHByZXNzXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wiZXhwXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9mYXN0aW5mb3NldFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL2Zhc3Rzb2FwXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vZmRmXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wiZmRmXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9mZHQreG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJmZHRcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL2ZoaXIranNvblwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNoYXJzZXQ6IFwiVVRGLThcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9maGlyK3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNoYXJzZXQ6IFwiVVRGLThcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9maWRvLnRydXN0ZWQtYXBwcytqc29uXCI6IHtcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9maXRzXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vZmxleGZlY1wiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL2ZvbnQtc2ZudFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL2ZvbnQtdGRwZnJcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJwZnJcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL2ZvbnQtd29mZlwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogZmFsc2VcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL2ZyYW1ld29yay1hdHRyaWJ1dGVzK3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vZ2VvK2pzb25cIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWUsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImdlb2pzb25cIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL2dlbytqc29uLXNlcVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL2dlb3BhY2thZ2Urc3FsaXRlM1wiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL2dlb3Bvc2UranNvblwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vZ2VveGFjbWwranNvblwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vZ2VveGFjbWwreG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9nbHRmLWJ1ZmZlclwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL2dtbCt4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWUsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImdtbFwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vZ25hcC1iaW5kaW5nLWp3c1wiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL2duYXAtYmluZGluZy1qd3NkXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vZ25hcC1iaW5kaW5nLXJvdGF0aW9uLWp3c1wiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL2duYXAtYmluZGluZy1yb3RhdGlvbi1qd3NkXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vZ3B4K3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJhcGFjaGVcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJncHhcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL2dyaWJcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9neGZcIjoge1xuICAgICAgICBzb3VyY2U6IFwiYXBhY2hlXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImd4ZlwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vZ3ppcFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogZmFsc2UsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImd6XCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9oMjI0XCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vaGVsZCt4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL2hqc29uXCI6IHtcbiAgICAgICAgZXh0ZW5zaW9uczogW1wiaGpzb25cIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL2hsN3YyK3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNoYXJzZXQ6IFwiVVRGLThcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9odHRwXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vaHlwZXJzdHVkaW9cIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJzdGtcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL2liZS1rZXktcmVxdWVzdCt4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL2liZS1wa2ctcmVwbHkreG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9pYmUtcHAtZGF0YVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL2lnZXNcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9pbS1pc2NvbXBvc2luZyt4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjaGFyc2V0OiBcIlVURi04XCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vaW5kZXhcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9pbmRleC5jbWRcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9pbmRleC5vYmpcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9pbmRleC5yZXNwb25zZVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL2luZGV4LnZuZFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL2lua21sK3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZSxcbiAgICAgICAgZXh0ZW5zaW9uczogW1wiaW5rXCIsIFwiaW5rbWxcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL2lvdHBcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9pcGZpeFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImlwZml4XCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9pcHBcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9pc3VwXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vaXRzK3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZSxcbiAgICAgICAgZXh0ZW5zaW9uczogW1wiaXRzXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9qYXZhLWFyY2hpdmVcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IGZhbHNlLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJqYXJcIiwgXCJ3YXJcIiwgXCJlYXJcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL2phdmEtc2VyaWFsaXplZC1vYmplY3RcIjoge1xuICAgICAgICBzb3VyY2U6IFwiYXBhY2hlXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogZmFsc2UsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcInNlclwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vamF2YS12bVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJhcGFjaGVcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiBmYWxzZSxcbiAgICAgICAgZXh0ZW5zaW9uczogW1wiY2xhc3NcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL2phdmFzY3JpcHRcIjoge1xuICAgICAgICBzb3VyY2U6IFwiYXBhY2hlXCIsXG4gICAgICAgIGNoYXJzZXQ6IFwiVVRGLThcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJqc1wiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vamYyZmVlZCtqc29uXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9qb3NlXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vam9zZStqc29uXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9qcmQranNvblwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vanNjYWxlbmRhcitqc29uXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9qc2NvbnRhY3QranNvblwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vanNvblwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNoYXJzZXQ6IFwiVVRGLThcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJqc29uXCIsIFwibWFwXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9qc29uLXBhdGNoK2pzb25cIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL2pzb24tc2VxXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vanNvbjVcIjoge1xuICAgICAgICBleHRlbnNpb25zOiBbXCJqc29uNVwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vanNvbm1sK2pzb25cIjoge1xuICAgICAgICBzb3VyY2U6IFwiYXBhY2hlXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZSxcbiAgICAgICAgZXh0ZW5zaW9uczogW1wianNvbm1sXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9qc29ucGF0aFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL2p3aytqc29uXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9qd2stc2V0K2pzb25cIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL2p3ay1zZXQrand0XCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vand0XCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24va3BtbC1yZXF1ZXN0K3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24va3BtbC1yZXNwb25zZSt4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL2xkK2pzb25cIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWUsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImpzb25sZFwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vbGdyK3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZSxcbiAgICAgICAgZXh0ZW5zaW9uczogW1wibGdyXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9saW5rLWZvcm1hdFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL2xpbmtzZXRcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9saW5rc2V0K2pzb25cIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL2xvYWQtY29udHJvbCt4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL2xvZ291dCtqd3RcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9sb3N0K3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZSxcbiAgICAgICAgZXh0ZW5zaW9uczogW1wibG9zdHhtbFwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vbG9zdHN5bmMreG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9scGYremlwXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiBmYWxzZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vbHhmXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vbWFjLWJpbmhleDQwXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wiaHF4XCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9tYWMtY29tcGFjdHByb1wiOiB7XG4gICAgICAgIHNvdXJjZTogXCJhcGFjaGVcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wiY3B0XCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9tYWN3cml0ZWlpXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vbWFkcyt4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWUsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcIm1hZHNcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL21hbmlmZXN0K2pzb25cIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjaGFyc2V0OiBcIlVURi04XCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZSxcbiAgICAgICAgZXh0ZW5zaW9uczogW1wid2VibWFuaWZlc3RcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL21hcmNcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJtcmNcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL21hcmN4bWwreG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJtcmN4XCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9tYXRoZW1hdGljYVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcIm1hXCIsIFwibmJcIiwgXCJtYlwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vbWF0aG1sK3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZSxcbiAgICAgICAgZXh0ZW5zaW9uczogW1wibWF0aG1sXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9tYXRobWwtY29udGVudCt4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL21hdGhtbC1wcmVzZW50YXRpb24reG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9tYm1zLWFzc29jaWF0ZWQtcHJvY2VkdXJlLWRlc2NyaXB0aW9uK3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vbWJtcy1kZXJlZ2lzdGVyK3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vbWJtcy1lbnZlbG9wZSt4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL21ibXMtbXNrK3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vbWJtcy1tc2stcmVzcG9uc2UreG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9tYm1zLXByb3RlY3Rpb24tZGVzY3JpcHRpb24reG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9tYm1zLXJlY2VwdGlvbi1yZXBvcnQreG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9tYm1zLXJlZ2lzdGVyK3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vbWJtcy1yZWdpc3Rlci1yZXNwb25zZSt4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL21ibXMtc2NoZWR1bGUreG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9tYm1zLXVzZXItc2VydmljZS1kZXNjcmlwdGlvbit4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL21ib3hcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJtYm94XCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9tZWRpYS1wb2xpY3ktZGF0YXNldCt4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWUsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcIm1wZlwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vbWVkaWFfY29udHJvbCt4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL21lZGlhc2VydmVyY29udHJvbCt4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWUsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcIm1zY21sXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9tZXJnZS1wYXRjaCtqc29uXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9tZXRhbGluayt4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiYXBhY2hlXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZSxcbiAgICAgICAgZXh0ZW5zaW9uczogW1wibWV0YWxpbmtcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL21ldGFsaW5rNCt4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWUsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcIm1ldGE0XCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9tZXRzK3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZSxcbiAgICAgICAgZXh0ZW5zaW9uczogW1wibWV0c1wiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vbWY0XCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vbWlrZXlcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9taXBjXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vbWlzc2luZy1ibG9ja3MrY2Jvci1zZXFcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9tbXQtYWVpK3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZSxcbiAgICAgICAgZXh0ZW5zaW9uczogW1wibWFlaVwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vbW10LXVzZCt4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWUsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcIm11c2RcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL21vZHMreG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJtb2RzXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9tb3NzLWtleXNcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9tb3NzLXNpZ25hdHVyZVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL21vc3NrZXktZGF0YVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL21vc3NrZXktcmVxdWVzdFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL21wMjFcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJtMjFcIiwgXCJtcDIxXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9tcDRcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJtcDRcIiwgXCJtcGc0XCIsIFwibXA0c1wiLCBcIm00cFwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vbXBlZzQtZ2VuZXJpY1wiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL21wZWc0LWlvZFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL21wZWc0LWlvZC14bXRcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9tcmItY29uc3VtZXIreG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9tcmItcHVibGlzaCt4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL21zYy1pdnIreG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY2hhcnNldDogXCJVVEYtOFwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL21zYy1taXhlcit4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjaGFyc2V0OiBcIlVURi04XCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vbXNpeFwiOiB7XG4gICAgICAgIGNvbXByZXNzaWJsZTogZmFsc2UsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcIm1zaXhcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL21zaXhidW5kbGVcIjoge1xuICAgICAgICBjb21wcmVzc2libGU6IGZhbHNlLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJtc2l4YnVuZGxlXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9tc3dvcmRcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IGZhbHNlLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJkb2NcIiwgXCJkb3RcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL211ZCtqc29uXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9tdWx0aXBhcnQtY29yZVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL214ZlwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcIm14ZlwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vbi1xdWFkc1wiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcIm5xXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9uLXRyaXBsZXNcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJudFwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vbmFzZGF0YVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL25ld3MtY2hlY2tncm91cHNcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjaGFyc2V0OiBcIlVTLUFTQ0lJXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL25ld3MtZ3JvdXBpbmZvXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY2hhcnNldDogXCJVUy1BU0NJSVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9uZXdzLXRyYW5zbWlzc2lvblwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL25sc21sK3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vbm9kZVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImNqc1wiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vbnNzXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vb2F1dGgtYXV0aHotcmVxK2p3dFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL29ibGl2aW91cy1kbnMtbWVzc2FnZVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL29jc3AtcmVxdWVzdFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL29jc3AtcmVzcG9uc2VcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9vY3RldC1zdHJlYW1cIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWUsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImJpblwiLCBcImRtc1wiLCBcImxyZlwiLCBcIm1hclwiLCBcInNvXCIsIFwiZGlzdFwiLCBcImRpc3R6XCIsIFwicGtnXCIsIFwiYnBrXCIsIFwiZHVtcFwiLCBcImVsY1wiLCBcImRlcGxveVwiLCBcImV4ZVwiLCBcImRsbFwiLCBcImRlYlwiLCBcImRtZ1wiLCBcImlzb1wiLCBcImltZ1wiLCBcIm1zaVwiLCBcIm1zcFwiLCBcIm1zbVwiLCBcImJ1ZmZlclwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vb2RhXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wib2RhXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9vZG0reG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9vZHhcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9vZWJwcy1wYWNrYWdlK3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZSxcbiAgICAgICAgZXh0ZW5zaW9uczogW1wib3BmXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9vZ2dcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IGZhbHNlLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJvZ3hcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL29odHRwLWtleXNcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9vbWRvYyt4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiYXBhY2hlXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZSxcbiAgICAgICAgZXh0ZW5zaW9uczogW1wib21kb2NcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL29uZW5vdGVcIjoge1xuICAgICAgICBzb3VyY2U6IFwiYXBhY2hlXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcIm9uZXRvY1wiLCBcIm9uZXRvYzJcIiwgXCJvbmV0bXBcIiwgXCJvbmVwa2dcIiwgXCJvbmVcIiwgXCJvbmVhXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9vcGMtbm9kZXNldCt4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL29zY29yZVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL294cHNcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJveHBzXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9wMjFcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9wMjEremlwXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiBmYWxzZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vcDJwLW92ZXJsYXkreG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJyZWxvXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9wYXJpdHlmZWNcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9wYXNzcG9ydFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3BhdGNoLW9wcy1lcnJvcit4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWUsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcInhlclwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vcGRmXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiBmYWxzZSxcbiAgICAgICAgZXh0ZW5zaW9uczogW1wicGRmXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9wZHhcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9wZW0tY2VydGlmaWNhdGUtY2hhaW5cIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9wZ3AtZW5jcnlwdGVkXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiBmYWxzZSxcbiAgICAgICAgZXh0ZW5zaW9uczogW1wicGdwXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9wZ3Ata2V5c1wiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImFzY1wiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vcGdwLXNpZ25hdHVyZVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcInNpZ1wiLCBcImFzY1wiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vcGljcy1ydWxlc1wiOiB7XG4gICAgICAgIHNvdXJjZTogXCJhcGFjaGVcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wicHJmXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9waWRmK3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNoYXJzZXQ6IFwiVVRGLThcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9waWRmLWRpZmYreG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY2hhcnNldDogXCJVVEYtOFwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3BrY3MxMFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcInAxMFwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vcGtjczEyXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vcGtjczctbWltZVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcInA3bVwiLCBcInA3Y1wiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vcGtjczctc2lnbmF0dXJlXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wicDdzXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9wa2NzOFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcInA4XCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9wa2NzOC1lbmNyeXB0ZWRcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9wa2l4LWF0dHItY2VydFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImFjXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9wa2l4LWNlcnRcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJjZXJcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3BraXgtY3JsXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wiY3JsXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9wa2l4LXBraXBhdGhcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJwa2lwYXRoXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9wa2l4Y21wXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wicGtpXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9wbHMreG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJwbHNcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3BvYy1zZXR0aW5ncyt4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjaGFyc2V0OiBcIlVURi04XCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vcG9zdHNjcmlwdFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZSxcbiAgICAgICAgZXh0ZW5zaW9uczogW1wiYWlcIiwgXCJlcHNcIiwgXCJwc1wiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vcHBzcC10cmFja2VyK2pzb25cIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ByaXZhdGUtdG9rZW4taXNzdWVyLWRpcmVjdG9yeVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ByaXZhdGUtdG9rZW4tcmVxdWVzdFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ByaXZhdGUtdG9rZW4tcmVzcG9uc2VcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9wcm9ibGVtK2pzb25cIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3Byb2JsZW0reG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9wcm92ZW5hbmNlK3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZSxcbiAgICAgICAgZXh0ZW5zaW9uczogW1wicHJvdnhcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3Byb3ZpZGVkLWNsYWltcytqd3RcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9wcnMuYWx2ZXN0cmFuZC50aXRyYXgtc2hlZXRcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9wcnMuY3d3XCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wiY3d3XCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9wcnMuY3luXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY2hhcnNldDogXCI3LUJJVFwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9wcnMuaHB1Yit6aXBcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IGZhbHNlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9wcnMuaW1wbGllZC1kb2N1bWVudCt4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3Bycy5pbXBsaWVkLWV4ZWN1dGFibGVcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9wcnMuaW1wbGllZC1vYmplY3QranNvblwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vcHJzLmltcGxpZWQtb2JqZWN0K2pzb24tc2VxXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vcHJzLmltcGxpZWQtb2JqZWN0K3lhbWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9wcnMuaW1wbGllZC1zdHJ1Y3R1cmVcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9wcnMubWF5ZmlsZVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3Bycy5ucHJlbmRcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9wcnMucGx1Y2tlclwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3Bycy5yZGYteG1sLWNyeXB0XCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vcHJzLnZjZmJ6aXAyXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vcHJzLnhzZit4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWUsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcInhzZlwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vcHNrYyt4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWUsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcInBza2N4bWxcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3B2ZCtqc29uXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9xc2lnXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vcmFtbCt5YW1sXCI6IHtcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJyYW1sXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9yYXB0b3JmZWNcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9yZGFwK2pzb25cIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3JkZit4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWUsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcInJkZlwiLCBcIm93bFwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vcmVnaW5mbyt4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWUsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcInJpZlwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vcmVsYXgtbmctY29tcGFjdC1zeW50YXhcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJybmNcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3JlbW90ZS1wcmludGluZ1wiOiB7XG4gICAgICAgIHNvdXJjZTogXCJhcGFjaGVcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vcmVwdXRvbitqc29uXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9yZXNvbHZlLXJlc3BvbnNlK2p3dFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3Jlc291cmNlLWxpc3RzK3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZSxcbiAgICAgICAgZXh0ZW5zaW9uczogW1wicmxcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3Jlc291cmNlLWxpc3RzLWRpZmYreG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJybGRcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3JmYyt4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3Jpc2Nvc1wiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3JsbWkreG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9ybHMtc2VydmljZXMreG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJyc1wiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vcm91dGUtYXBkK3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZSxcbiAgICAgICAgZXh0ZW5zaW9uczogW1wicmFwZFwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vcm91dGUtcy10c2lkK3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZSxcbiAgICAgICAgZXh0ZW5zaW9uczogW1wic2xzXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9yb3V0ZS11c2QreG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJydXNkXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9ycGtpLWNoZWNrbGlzdFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3Jwa2ktZ2hvc3RidXN0ZXJzXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wiZ2JyXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9ycGtpLW1hbmlmZXN0XCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wibWZ0XCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9ycGtpLXB1YmxpY2F0aW9uXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vcnBraS1yb2FcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJyb2FcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3Jwa2ktc2lnbmVkLXRhbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3Jwa2ktdXBkb3duXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vcnNkK3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJhcGFjaGVcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJyc2RcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3Jzcyt4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiYXBhY2hlXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZSxcbiAgICAgICAgZXh0ZW5zaW9uczogW1wicnNzXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9ydGZcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWUsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcInJ0ZlwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vcnRwbG9vcGJhY2tcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9ydHhcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9zYW1sYXNzZXJ0aW9uK3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vc2FtbG1ldGFkYXRhK3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vc2FyaWYranNvblwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vc2FyaWYtZXh0ZXJuYWwtcHJvcGVydGllcytqc29uXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9zYmVcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9zYm1sK3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZSxcbiAgICAgICAgZXh0ZW5zaW9uczogW1wic2JtbFwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vc2NhaXAreG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9zY2ltK2pzb25cIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3NjdnAtY3YtcmVxdWVzdFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcInNjcVwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vc2N2cC1jdi1yZXNwb25zZVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcInNjc1wiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vc2N2cC12cC1yZXF1ZXN0XCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wic3BxXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9zY3ZwLXZwLXJlc3BvbnNlXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wic3BwXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9zZHBcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJzZHBcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3NlY2V2ZW50K2p3dFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3Nlbm1sK2Nib3JcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9zZW5tbCtqc29uXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9zZW5tbCt4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWUsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcInNlbm1seFwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vc2VubWwtZXRjaCtjYm9yXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vc2VubWwtZXRjaCtqc29uXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9zZW5tbC1leGlcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9zZW5zbWwrY2JvclwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3NlbnNtbCtqc29uXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9zZW5zbWwreG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJzZW5zbWx4XCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9zZW5zbWwtZXhpXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vc2VwK3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vc2VwLWV4aVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3Nlc3Npb24taW5mb1wiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3NldC1wYXltZW50XCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vc2V0LXBheW1lbnQtaW5pdGlhdGlvblwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcInNldHBheVwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vc2V0LXJlZ2lzdHJhdGlvblwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3NldC1yZWdpc3RyYXRpb24taW5pdGlhdGlvblwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcInNldHJlZ1wiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vc2dtbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3NnbWwtb3Blbi1jYXRhbG9nXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vc2hmK3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZSxcbiAgICAgICAgZXh0ZW5zaW9uczogW1wic2hmXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9zaWV2ZVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcInNpdlwiLCBcInNpZXZlXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9zaW1wbGUtZmlsdGVyK3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vc2ltcGxlLW1lc3NhZ2Utc3VtbWFyeVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3NpbXBsZXN5bWJvbGNvbnRhaW5lclwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3NpcGNcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9zbGF0ZVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3NtaWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiYXBhY2hlXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3NtaWwreG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJzbWlcIiwgXCJzbWlsXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9zbXB0ZTMzNm1cIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9zb2FwK2Zhc3RpbmZvc2V0XCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vc29hcCt4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3NwYXJxbC1xdWVyeVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcInJxXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9zcGFycWwtcmVzdWx0cyt4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWUsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcInNyeFwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vc3BkeCtqc29uXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9zcGlyaXRzLWV2ZW50K3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vc3FsXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wic3FsXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9zcmdzXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wiZ3JhbVwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vc3Jncyt4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWUsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImdyeG1sXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9zcnUreG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJzcnVcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3NzZGwreG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImFwYWNoZVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWUsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcInNzZGxcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3NzbGtleWxvZ2ZpbGVcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9zc21sK3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZSxcbiAgICAgICAgZXh0ZW5zaW9uczogW1wic3NtbFwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vc3QyMTEwLTQxXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vc3RpeCtqc29uXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9zdHJhdHVtXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vc3dpZCtjYm9yXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vc3dpZCt4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWUsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcInN3aWR0YWdcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3RhbXAtYXBleC11cGRhdGVcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi90YW1wLWFwZXgtdXBkYXRlLWNvbmZpcm1cIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi90YW1wLWNvbW11bml0eS11cGRhdGVcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi90YW1wLWNvbW11bml0eS11cGRhdGUtY29uZmlybVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3RhbXAtZXJyb3JcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi90YW1wLXNlcXVlbmNlLWFkanVzdFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3RhbXAtc2VxdWVuY2UtYWRqdXN0LWNvbmZpcm1cIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi90YW1wLXN0YXR1cy1xdWVyeVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3RhbXAtc3RhdHVzLXJlc3BvbnNlXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdGFtcC11cGRhdGVcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi90YW1wLXVwZGF0ZS1jb25maXJtXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdGFyXCI6IHtcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi90YXhpaStqc29uXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi90ZCtqc29uXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi90ZWkreG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJ0ZWlcIiwgXCJ0ZWljb3JwdXNcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3RldHJhX2lzaVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3RocmF1ZCt4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWUsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcInRmaVwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdGltZXN0YW1wLXF1ZXJ5XCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdGltZXN0YW1wLXJlcGx5XCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdGltZXN0YW1wZWQtZGF0YVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcInRzZFwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdGxzcnB0K2d6aXBcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi90bHNycHQranNvblwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdG0ranNvblwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdG5hdXRobGlzdFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3RvYytjYm9yXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdG9rZW4taW50cm9zcGVjdGlvbitqd3RcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi90b21sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJ0b21sXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi90cmlja2xlLWljZS1zZHBmcmFnXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdHJpZ1wiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcInRyaWdcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3RydXN0LWNoYWluK2pzb25cIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3RydXN0LW1hcmsrand0XCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdHJ1c3QtbWFyay1kZWxlZ2F0aW9uK2p3dFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3R0bWwreG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJ0dG1sXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi90dmUtdHJpZ2dlclwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3R6aWZcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi90emlmLWxlYXBcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi91Ympzb25cIjoge1xuICAgICAgICBjb21wcmVzc2libGU6IGZhbHNlLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJ1YmpcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3VjY3MrY2JvclwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3VqY3MranNvblwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdWxwZmVjXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdXJjLWdycHNoZWV0K3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdXJjLXJlc3NoZWV0K3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZSxcbiAgICAgICAgZXh0ZW5zaW9uczogW1wicnNoZWV0XCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi91cmMtdGFyZ2V0ZGVzYyt4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWUsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcInRkXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi91cmMtdWlzb2NrZXRkZXNjK3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdmNcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92Yytjb3NlXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdmMrand0XCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdmNhcmQranNvblwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdmNhcmQreG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92ZW1taVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZpdmlkZW5jZS5zY3JpcHRmaWxlXCI6IHtcbiAgICAgICAgc291cmNlOiBcImFwYWNoZVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuMTAwMG1pbmRzLmRlY2lzaW9uLW1vZGVsK3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZSxcbiAgICAgICAgZXh0ZW5zaW9uczogW1wiMWttXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuMW9iXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLjNncHAtcHJvc2UreG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuM2dwcC1wcm9zZS1wYzNhK3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLjNncHAtcHJvc2UtcGMzYWNoK3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLjNncHAtcHJvc2UtcGMzY2greG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuM2dwcC1wcm9zZS1wYzgreG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuM2dwcC12MngtbG9jYWwtc2VydmljZS1pbmZvcm1hdGlvblwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC4zZ3BwLjVnbmFzXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLjNncHAuNWdzYTJ4XCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLjNncHAuNWdzYTJ4LWxvY2FsLXNlcnZpY2UtaW5mb3JtYXRpb25cIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuM2dwcC41Z3N2MnhcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuM2dwcC41Z3N2MngtbG9jYWwtc2VydmljZS1pbmZvcm1hdGlvblwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC4zZ3BwLmFjY2Vzcy10cmFuc2Zlci1ldmVudHMreG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuM2dwcC5ic2YreG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuM2dwcC5jcnMreG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuM2dwcC5jdXJyZW50LWxvY2F0aW9uLWRpc2NvdmVyeSt4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC4zZ3BwLmdtb3AreG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuM2dwcC5ndHBjXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLjNncHAuaW50ZXJ3b3JraW5nLWRhdGFcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuM2dwcC5scHBcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuM2dwcC5tYy1zaWduYWxsaW5nLWVhclwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC4zZ3BwLm1jZGF0YS1hZmZpbGlhdGlvbi1jb21tYW5kK3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLjNncHAubWNkYXRhLWluZm8reG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuM2dwcC5tY2RhdGEtbXNnc3RvcmUtY3RybC1yZXF1ZXN0K3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLjNncHAubWNkYXRhLXBheWxvYWRcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuM2dwcC5tY2RhdGEtcmVncm91cCt4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC4zZ3BwLm1jZGF0YS1zZXJ2aWNlLWNvbmZpZyt4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC4zZ3BwLm1jZGF0YS1zaWduYWxsaW5nXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLjNncHAubWNkYXRhLXVlLWNvbmZpZyt4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC4zZ3BwLm1jZGF0YS11c2VyLXByb2ZpbGUreG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuM2dwcC5tY3B0dC1hZmZpbGlhdGlvbi1jb21tYW5kK3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLjNncHAubWNwdHQtZmxvb3ItcmVxdWVzdCt4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC4zZ3BwLm1jcHR0LWluZm8reG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuM2dwcC5tY3B0dC1sb2NhdGlvbi1pbmZvK3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLjNncHAubWNwdHQtbWJtcy11c2FnZS1pbmZvK3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLjNncHAubWNwdHQtcmVncm91cCt4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC4zZ3BwLm1jcHR0LXNlcnZpY2UtY29uZmlnK3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLjNncHAubWNwdHQtc2lnbmVkK3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLjNncHAubWNwdHQtdWUtY29uZmlnK3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLjNncHAubWNwdHQtdWUtaW5pdC1jb25maWcreG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuM2dwcC5tY3B0dC11c2VyLXByb2ZpbGUreG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuM2dwcC5tY3ZpZGVvLWFmZmlsaWF0aW9uLWNvbW1hbmQreG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuM2dwcC5tY3ZpZGVvLWluZm8reG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuM2dwcC5tY3ZpZGVvLWxvY2F0aW9uLWluZm8reG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuM2dwcC5tY3ZpZGVvLW1ibXMtdXNhZ2UtaW5mbyt4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC4zZ3BwLm1jdmlkZW8tcmVncm91cCt4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC4zZ3BwLm1jdmlkZW8tc2VydmljZS1jb25maWcreG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuM2dwcC5tY3ZpZGVvLXRyYW5zbWlzc2lvbi1yZXF1ZXN0K3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLjNncHAubWN2aWRlby11ZS1jb25maWcreG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuM2dwcC5tY3ZpZGVvLXVzZXItcHJvZmlsZSt4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC4zZ3BwLm1pZC1jYWxsK3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLjNncHAubmdhcFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC4zZ3BwLnBmY3BcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuM2dwcC5waWMtYnctbGFyZ2VcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJwbGJcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC4zZ3BwLnBpYy1idy1zbWFsbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcInBzYlwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLjNncHAucGljLWJ3LXZhclwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcInB2YlwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLjNncHAucGluYXBwLWluZm8reG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuM2dwcC5zMWFwXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLjNncHAuc2VhbC1ncm91cC1kb2MreG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuM2dwcC5zZWFsLWluZm8reG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuM2dwcC5zZWFsLWxvY2F0aW9uLWluZm8reG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuM2dwcC5zZWFsLW1ibXMtdXNhZ2UtaW5mbyt4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC4zZ3BwLnNlYWwtbmV0d29yay1xb3MtbWFuYWdlbWVudC1pbmZvK3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLjNncHAuc2VhbC11ZS1jb25maWctaW5mbyt4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC4zZ3BwLnNlYWwtdW5pY2FzdC1pbmZvK3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLjNncHAuc2VhbC11c2VyLXByb2ZpbGUtaW5mbyt4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC4zZ3BwLnNtc1wiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC4zZ3BwLnNtcyt4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC4zZ3BwLnNydmNjLWV4dCt4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC4zZ3BwLnNydmNjLWluZm8reG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuM2dwcC5zdGF0ZS1hbmQtZXZlbnQtaW5mbyt4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC4zZ3BwLnVzc2QreG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuM2dwcC52MnhcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuM2dwcC52YWUtaW5mbyt4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC4zZ3BwMi5iY21jc2luZm8reG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuM2dwcDIuc21zXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLjNncHAyLnRjYXBcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJ0Y2FwXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuM2xpZ2h0c3NvZnR3YXJlLmltYWdlc2NhbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC4zbS5wb3N0LWl0LW5vdGVzXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wicHduXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuYWNjcGFjLnNpbXBseS5hc29cIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJhc29cIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5hY2NwYWMuc2ltcGx5LmltcFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImltcFwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmFjbS5hZGRyZXNzeGZlcitqc29uXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuYWNtLmNoYXRib3QranNvblwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmFjdWNvYm9sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wiYWN1XCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuYWN1Y29ycFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImF0Y1wiLCBcImFjdXRjXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuYWRvYmUuYWlyLWFwcGxpY2F0aW9uLWluc3RhbGxlci1wYWNrYWdlK3ppcFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJhcGFjaGVcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiBmYWxzZSxcbiAgICAgICAgZXh0ZW5zaW9uczogW1wiYWlyXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuYWRvYmUuZmxhc2gubW92aWVcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuYWRvYmUuZm9ybXNjZW50cmFsLmZjZHRcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJmY2R0XCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuYWRvYmUuZnhwXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wiZnhwXCIsIFwiZnhwbFwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmFkb2JlLnBhcnRpYWwtdXBsb2FkXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmFkb2JlLnhkcCt4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWUsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcInhkcFwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmFkb2JlLnhmZGZcIjoge1xuICAgICAgICBzb3VyY2U6IFwiYXBhY2hlXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcInhmZGZcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5hZXRoZXIuaW1wXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmFmcGMuYWZwbGluZWRhdGFcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuYWZwYy5hZnBsaW5lZGF0YS1wYWdlZGVmXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmFmcGMuY21vY2EtY21yZXNvdXJjZVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5hZnBjLmZvY2EtY2hhcnNldFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5hZnBjLmZvY2EtY29kZWRmb250XCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmFmcGMuZm9jYS1jb2RlcGFnZVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5hZnBjLm1vZGNhXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmFmcGMubW9kY2EtY210YWJsZVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5hZnBjLm1vZGNhLWZvcm1kZWZcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuYWZwYy5tb2RjYS1tZWRpdW1tYXBcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuYWZwYy5tb2RjYS1vYmplY3Rjb250YWluZXJcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuYWZwYy5tb2RjYS1vdmVybGF5XCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmFmcGMubW9kY2EtcGFnZXNlZ21lbnRcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuYWdlXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wiYWdlXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuYWgtYmFyY29kZVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJhcGFjaGVcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmFoZWFkLnNwYWNlXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wiYWhlYWRcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5haXJ6aXAuZmlsZXNlY3VyZS5hemZcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJhemZcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5haXJ6aXAuZmlsZXNlY3VyZS5henNcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJhenNcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5hbWFkZXVzK2pzb25cIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5hbWF6b24uZWJvb2tcIjoge1xuICAgICAgICBzb3VyY2U6IFwiYXBhY2hlXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImF6d1wiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmFtYXpvbi5tb2JpOC1lYm9va1wiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5hbWVyaWNhbmR5bmFtaWNzLmFjY1wiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImFjY1wiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmFtaWdhLmFtaVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImFtaVwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmFtdW5kc2VuLm1hemUreG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuYW5kcm9pZC5vdGFcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuYW5kcm9pZC5wYWNrYWdlLWFyY2hpdmVcIjoge1xuICAgICAgICBzb3VyY2U6IFwiYXBhY2hlXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogZmFsc2UsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImFwa1wiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmFua2lcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuYW5zZXItd2ViLWNlcnRpZmljYXRlLWlzc3VlLWluaXRpYXRpb25cIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJjaWlcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5hbnNlci13ZWItZnVuZHMtdHJhbnNmZXItaW5pdGlhdGlvblwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJhcGFjaGVcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wiZnRpXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuYW50aXguZ2FtZS1jb21wb25lbnRcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJhdHhcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5hcGFjaGUuYXJyb3cuZmlsZVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5hcGFjaGUuYXJyb3cuc3RyZWFtXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmFwYWNoZS5wYXJxdWV0XCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmFwYWNoZS50aHJpZnQuYmluYXJ5XCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmFwYWNoZS50aHJpZnQuY29tcGFjdFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5hcGFjaGUudGhyaWZ0Lmpzb25cIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuYXBleGxhbmdcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuYXBpK2pzb25cIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5hcGxleHRvci53YXJycCtqc29uXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuYXBvdGhla2VuZGUucmVzZXJ2YXRpb24ranNvblwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmFwcGxlLmluc3RhbGxlcit4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWUsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcIm1wa2dcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5hcHBsZS5rZXlub3RlXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wia2V5XCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuYXBwbGUubXBlZ3VybFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcIm0zdThcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5hcHBsZS5udW1iZXJzXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wibnVtYmVyc1wiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmFwcGxlLnBhZ2VzXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wicGFnZXNcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5hcHBsZS5wa3Bhc3NcIjoge1xuICAgICAgICBjb21wcmVzc2libGU6IGZhbHNlLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJwa3Bhc3NcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5hcmFzdHJhLnN3aVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJhcGFjaGVcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmFyaXN0YW5ldHdvcmtzLnN3aVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcInN3aVwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmFydGlzYW4ranNvblwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmFydHNxdWFyZVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5hc3RyYWVhLXNvZnR3YXJlLmlvdGFcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJpb3RhXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuYXVkaW9ncmFwaFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImFlcFwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmF1dG9kZXNrLmZieFwiOiB7XG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImZieFwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmF1dG9wYWNrYWdlXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmF2YWxvbitqc29uXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuYXZpc3Rhcit4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5iYWxzYW1pcS5ibW1sK3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZSxcbiAgICAgICAgZXh0ZW5zaW9uczogW1wiYm1tbFwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmJhbHNhbWlxLmJtcHJcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuYmFuYW5hLWFjY291bnRpbmdcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuYmJmLnVzcC5lcnJvclwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5iYmYudXNwLm1zZ1wiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5iYmYudXNwLm1zZytqc29uXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuYmVraXR6dXItc3RlY2granNvblwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmJlbGlnaHRzb2Z0LmxoemQremlwXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiBmYWxzZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmJlbGlnaHRzb2Z0LmxoemwremlwXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiBmYWxzZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmJpbnQubWVkLWNvbnRlbnRcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuYmlvcGF4LnJkZit4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5ibGluay1pZGItdmFsdWUtd3JhcHBlclwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5ibHVlaWNlLm11bHRpcGFzc1wiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcIm1wbVwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmJsdWV0b290aC5lcC5vb2JcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuYmx1ZXRvb3RoLmxlLm9vYlwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5ibWlcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJibWlcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5icGZcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuYnBmM1wiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5idXNpbmVzc29iamVjdHNcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJyZXBcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5ieXUudWFwaStqc29uXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuYnppcDNcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuYzN2b2Muc2NoZWR1bGUreG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuY2FiLWpzY3JpcHRcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuY2Fub24tY3BkbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5jYW5vbi1saXBzXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmNhcGFzeXN0ZW1zLXBnK2pzb25cIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5jZW5kaW8udGhpbmxpbmMuY2xpZW50Y29uZlwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5jZW50dXJ5LXN5c3RlbXMudGNwX3N0cmVhbVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5jaGVtZHJhdyt4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWUsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImNkeG1sXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuY2hlc3MtcGduXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmNoaXBudXRzLmthcmFva2UtbW1kXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wibW1kXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuY2llZGlcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuY2luZGVyZWxsYVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImNkeVwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmNpcnBhY2suaXNkbi1leHRcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuY2l0YXRpb25zdHlsZXMuc3R5bGUreG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJjc2xcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5jbGF5bW9yZVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImNsYVwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmNsb2FudG8ucnA5XCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wicnA5XCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuY2xvbmsuYzRncm91cFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImM0Z1wiLCBcImM0ZFwiLCBcImM0ZlwiLCBcImM0cFwiLCBcImM0dVwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmNsdWV0cnVzdC5jYXJ0b21vYmlsZS1jb25maWdcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJjMTFhbWNcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5jbHVldHJ1c3QuY2FydG9tb2JpbGUtY29uZmlnLXBrZ1wiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImMxMWFtelwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmNuY2YuaGVsbS5jaGFydC5jb250ZW50LnYxLnRhcitnemlwXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmNuY2YuaGVsbS5jaGFydC5wcm92ZW5hbmNlLnYxLnByb3ZcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuY25jZi5oZWxtLmNvbmZpZy52MStqc29uXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuY29mZmVlc2NyaXB0XCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmNvbGxhYmlvLnhvZG9jdW1lbnRzLmRvY3VtZW50XCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmNvbGxhYmlvLnhvZG9jdW1lbnRzLmRvY3VtZW50LXRlbXBsYXRlXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmNvbGxhYmlvLnhvZG9jdW1lbnRzLnByZXNlbnRhdGlvblwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5jb2xsYWJpby54b2RvY3VtZW50cy5wcmVzZW50YXRpb24tdGVtcGxhdGVcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuY29sbGFiaW8ueG9kb2N1bWVudHMuc3ByZWFkc2hlZXRcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuY29sbGFiaW8ueG9kb2N1bWVudHMuc3ByZWFkc2hlZXQtdGVtcGxhdGVcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuY29sbGVjdGlvbitqc29uXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuY29sbGVjdGlvbi5kb2MranNvblwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmNvbGxlY3Rpb24ubmV4dCtqc29uXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuY29taWNib29rK3ppcFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogZmFsc2VcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5jb21pY2Jvb2stcmFyXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmNvbW1lcmNlLWJhdHRlbGxlXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmNvbW1vbnNwYWNlXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wiY3NwXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuY29udGFjdC5jbXNnXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wiY2RiY21zZ1wiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmNvcmVvcy5pZ25pdGlvbitqc29uXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuY29zbW9jYWxsZXJcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJjbWNcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5jcmljay5jbGlja2VyXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wiY2xreFwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmNyaWNrLmNsaWNrZXIua2V5Ym9hcmRcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJjbGtrXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuY3JpY2suY2xpY2tlci5wYWxldHRlXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wiY2xrcFwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmNyaWNrLmNsaWNrZXIudGVtcGxhdGVcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJjbGt0XCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuY3JpY2suY2xpY2tlci53b3JkYmFua1wiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImNsa3dcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5jcml0aWNhbHRvb2xzLndicyt4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWUsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcIndic1wiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmNyeXB0aWkucGlwZStqc29uXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuY3J5cHRvLXNoYWRlLWZpbGVcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuY3J5cHRvbWF0b3IuZW5jcnlwdGVkXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmNyeXB0b21hdG9yLnZhdWx0XCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmN0Yy1wb3NtbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcInBtbFwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmN0Y3Qud3MreG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuY3Vwcy1wZGZcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuY3Vwcy1wb3N0c2NyaXB0XCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmN1cHMtcHBkXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wicHBkXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuY3Vwcy1yYXN0ZXJcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuY3Vwcy1yYXdcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuY3VybFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5jdXJsLmNhclwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJhcGFjaGVcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wiY2FyXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuY3VybC5wY3VybFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJhcGFjaGVcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wicGN1cmxcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5jeWFuLmRlYW4ucm9vdCt4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5jeWJhbmtcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuY3ljbG9uZWR4K2pzb25cIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5jeWNsb25lZHgreG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuZDJsLmNvdXJzZXBhY2thZ2UxcDAremlwXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiBmYWxzZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmQzbS1kYXRhc2V0XCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmQzbS1wcm9ibGVtXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmRhcnRcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWUsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImRhcnRcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5kYXRhLXZpc2lvbi5yZHpcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJyZHpcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5kYXRhbG9nXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmRhdGFwYWNrYWdlK2pzb25cIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5kYXRhcmVzb3VyY2UranNvblwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmRiZlwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImRiZlwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmRjbXAreG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJkY21wXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuZGViaWFuLmJpbmFyeS1wYWNrYWdlXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmRlY2UuZGF0YVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcInV2ZlwiLCBcInV2dmZcIiwgXCJ1dmRcIiwgXCJ1dnZkXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuZGVjZS50dG1sK3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZSxcbiAgICAgICAgZXh0ZW5zaW9uczogW1widXZ0XCIsIFwidXZ2dFwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmRlY2UudW5zcGVjaWZpZWRcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJ1dnhcIiwgXCJ1dnZ4XCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuZGVjZS56aXBcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJ1dnpcIiwgXCJ1dnZ6XCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuZGVub3ZvLmZjc2VsYXlvdXQtbGlua1wiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImZlX2xhdW5jaFwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmRlc211bWUubW92aWVcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuZGlyLWJpLnBsYXRlLWRsLW5vc3VmZml4XCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmRtLmRlbGVnYXRpb24reG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuZG5hXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wiZG5hXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuZG9jdW1lbnQranNvblwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmRvbGJ5Lm1scFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJhcGFjaGVcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wibWxwXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuZG9sYnkubW9iaWxlLjFcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuZG9sYnkubW9iaWxlLjJcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuZG9yZW1pci5zY29yZWNsb3VkLWJpbmFyeS1kb2N1bWVudFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5kcGdyYXBoXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wiZHBnXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuZHJlYW1mYWN0b3J5XCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wiZGZhY1wiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmRyaXZlK2pzb25cIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5kcy1rZXlwb2ludFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJhcGFjaGVcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wia3B4eFwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmR0Zy5sb2NhbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5kdGcubG9jYWwuZmxhc2hcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuZHRnLmxvY2FsLmh0bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuZHZiLmFpdFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImFpdFwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmR2Yi5kdmJpc2wreG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuZHZiLmR2YmpcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuZHZiLmVzZ2NvbnRhaW5lclwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5kdmIuaXBkY2RmdG5vdGlmYWNjZXNzXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmR2Yi5pcGRjZXNnYWNjZXNzXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmR2Yi5pcGRjZXNnYWNjZXNzMlwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5kdmIuaXBkY2VzZ3BkZFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5kdmIuaXBkY3JvYW1pbmdcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuZHZiLmlwdHYuYWxmZWMtYmFzZVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5kdmIuaXB0di5hbGZlYy1lbmhhbmNlbWVudFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5kdmIubm90aWYtYWdncmVnYXRlLXJvb3QreG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuZHZiLm5vdGlmLWNvbnRhaW5lcit4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5kdmIubm90aWYtZ2VuZXJpYyt4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5kdmIubm90aWYtaWEtbXNnbGlzdCt4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5kdmIubm90aWYtaWEtcmVnaXN0cmF0aW9uLXJlcXVlc3QreG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuZHZiLm5vdGlmLWlhLXJlZ2lzdHJhdGlvbi1yZXNwb25zZSt4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5kdmIubm90aWYtaW5pdCt4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5kdmIucGZyXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmR2Yi5zZXJ2aWNlXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wic3ZjXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuZHhyXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmR5bmFnZW9cIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJnZW9cIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5kenJcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuZWFzeWthcmFva2UuY2RnZG93bmxvYWRcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuZWNkaXMtdXBkYXRlXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmVjaXAucmxwXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmVjbGlwc2UuZGl0dG8ranNvblwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmVjb3dpbi5jaGFydFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcIm1hZ1wiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmVjb3dpbi5maWxlcmVxdWVzdFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5lY293aW4uZmlsZXVwZGF0ZVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5lY293aW4uc2VyaWVzXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmVjb3dpbi5zZXJpZXNyZXF1ZXN0XCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmVjb3dpbi5zZXJpZXN1cGRhdGVcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuZWZpLmltZ1wiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5lZmkuaXNvXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmVsbit6aXBcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IGZhbHNlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuZW1jbGllbnQuYWNjZXNzcmVxdWVzdCt4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5lbmxpdmVuXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wibm1sXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuZW5waGFzZS5lbnZveVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5lcHJpbnRzLmRhdGEreG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuZXBzb24uZXNmXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wiZXNmXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuZXBzb24ubXNmXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wibXNmXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuZXBzb24ucXVpY2thbmltZVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcInFhbVwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmVwc29uLnNhbHRcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJzbHRcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5lcHNvbi5zc2ZcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJzc2ZcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5lcmljc3Nvbi5xdWlja2NhbGxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuZXJvZnNcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuZXNwYXNzLWVzcGFzcyt6aXBcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IGZhbHNlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuZXN6aWdubzMreG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJlczNcIiwgXCJldDNcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5ldHNpLmFvYyt4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5ldHNpLmFzaWMtZSt6aXBcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IGZhbHNlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuZXRzaS5hc2ljLXMremlwXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiBmYWxzZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmV0c2kuY3VnK3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmV0c2kuaXB0dmNvbW1hbmQreG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuZXRzaS5pcHR2ZGlzY292ZXJ5K3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmV0c2kuaXB0dnByb2ZpbGUreG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuZXRzaS5pcHR2c2FkLWJjK3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmV0c2kuaXB0dnNhZC1jb2QreG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuZXRzaS5pcHR2c2FkLW5wdnIreG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuZXRzaS5pcHR2c2VydmljZSt4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5ldHNpLmlwdHZzeW5jK3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmV0c2kuaXB0dnVlcHJvZmlsZSt4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5ldHNpLm1jaWQreG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuZXRzaS5taGVnNVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5ldHNpLm92ZXJsb2FkLWNvbnRyb2wtcG9saWN5LWRhdGFzZXQreG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuZXRzaS5wc3RuK3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmV0c2kuc2NpK3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmV0c2kuc2ltc2VydnMreG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuZXRzaS50aW1lc3RhbXAtdG9rZW5cIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuZXRzaS50c2wreG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuZXRzaS50c2wuZGVyXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmV1Lmthc3Bhcmlhbi5jYXIranNvblwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmV1ZG9yYS5kYXRhXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmV2b2x2LmVjaWcucHJvZmlsZVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5ldm9sdi5lY2lnLnNldHRpbmdzXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmV2b2x2LmVjaWcudGhlbWVcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuZXhzdHJlYW0tZW1wb3dlcit6aXBcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IGZhbHNlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuZXhzdHJlYW0tcGFja2FnZVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5lenBpeC1hbGJ1bVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImV6MlwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmV6cGl4LXBhY2thZ2VcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJlejNcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5mLXNlY3VyZS5tb2JpbGVcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuZmFtaWx5c2VhcmNoLmdlZGNvbSt6aXBcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IGZhbHNlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuZmFzdGNvcHktZGlzay1pbWFnZVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5mZGZcIjoge1xuICAgICAgICBzb3VyY2U6IFwiYXBhY2hlXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImZkZlwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmZkc24ubXNlZWRcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJtc2VlZFwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmZkc24uc2VlZFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcInNlZWRcIiwgXCJkYXRhbGVzc1wiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmZkc24uc3RhdGlvbnhtbCt4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjaGFyc2V0OiBcIlhNTC1CQVNFRFwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5mZnNuc1wiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5maWNsYWIuZmxiK3ppcFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogZmFsc2VcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5maWxtaXQuemZjXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmZpbnRzXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmZpcmVtb25rZXlzLmNsb3VkY2VsbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5mbG9ncmFwaGl0XCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wiZ3BoXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuZmx1eHRpbWUuY2xpcFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImZ0Y1wiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmZvbnQtZm9udGZvcmdlLXNmZFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5mcmFtZW1ha2VyXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wiZm1cIiwgXCJmcmFtZVwiLCBcIm1ha2VyXCIsIFwiYm9va1wiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmZyZWVsb2cuY29taWNcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuZnJvZ2Fucy5mbmNcIjoge1xuICAgICAgICBzb3VyY2U6IFwiYXBhY2hlXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImZuY1wiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmZyb2dhbnMubHRmXCI6IHtcbiAgICAgICAgc291cmNlOiBcImFwYWNoZVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJsdGZcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5mc2Mud2VibGF1bmNoXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wiZnNjXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuZnVqaWZpbG0uZmIuZG9jdXdvcmtzXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmZ1amlmaWxtLmZiLmRvY3V3b3Jrcy5iaW5kZXJcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuZnVqaWZpbG0uZmIuZG9jdXdvcmtzLmNvbnRhaW5lclwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5mdWppZmlsbS5mYi5qZmkreG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuZnVqaXRzdS5vYXN5c1wiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcIm9hc1wiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmZ1aml0c3Uub2FzeXMyXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wib2EyXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuZnVqaXRzdS5vYXN5czNcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJvYTNcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5mdWppdHN1Lm9hc3lzZ3BcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJmZzVcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5mdWppdHN1Lm9hc3lzcHJzXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wiYmgyXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuZnVqaXhlcm94LmFydC1leFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5mdWppeGVyb3guYXJ0NFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5mdWppeGVyb3guZGRkXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wiZGRkXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuZnVqaXhlcm94LmRvY3V3b3Jrc1wiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcInhkd1wiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmZ1aml4ZXJveC5kb2N1d29ya3MuYmluZGVyXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wieGJkXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuZnVqaXhlcm94LmRvY3V3b3Jrcy5jb250YWluZXJcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuZnVqaXhlcm94LmhicGxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuZnV0LW1pc25ldFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5mdXRvaW4rY2JvclwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5mdXRvaW4ranNvblwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmZ1enp5c2hlZXRcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJmenNcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5nYTRnaC5wYXNzcG9ydCtqd3RcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuZ2Vub21hdGl4LnR1eGVkb1wiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcInR4ZFwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmdlbm96aXBcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuZ2VudGljcy5ncmQranNvblwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmdlbnRvby5jYXRtZXRhZGF0YSt4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5nZW50b28uZWJ1aWxkXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmdlbnRvby5lY2xhc3NcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuZ2VudG9vLmdwa2dcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuZ2VudG9vLm1hbmlmZXN0XCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmdlbnRvby5wa2dtZXRhZGF0YSt4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5nZW50b28ueHBha1wiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5nZW8ranNvblwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJhcGFjaGVcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuZ2VvY3ViZSt4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiYXBhY2hlXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmdlb2dlYnJhLmZpbGVcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJnZ2JcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5nZW9nZWJyYS5waW5ib2FyZFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5nZW9nZWJyYS5zbGlkZXNcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJnZ3NcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5nZW9nZWJyYS50b29sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wiZ2d0XCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuZ2VvbWV0cnktZXhwbG9yZXJcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJnZXhcIiwgXCJncmVcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5nZW9uZXh0XCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wiZ3h0XCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuZ2VvcGxhblwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImcyd1wiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmdlb3NwYWNlXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wiZzN3XCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuZ2VyYmVyXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmdsb2JhbHBsYXRmb3JtLmNhcmQtY29udGVudC1tZ3RcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuZ2xvYmFscGxhdGZvcm0uY2FyZC1jb250ZW50LW1ndC1yZXNwb25zZVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5nbXhcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJnbXhcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5nbnUudGFsZXIuZXhjaGFuZ2UranNvblwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmdudS50YWxlci5tZXJjaGFudCtqc29uXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuZ29vZ2xlLWFwcHMuYXVkaW9cIjoge30sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5nb29nbGUtYXBwcy5kb2N1bWVudFwiOiB7XG4gICAgICAgIGNvbXByZXNzaWJsZTogZmFsc2UsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImdkb2NcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5nb29nbGUtYXBwcy5kcmF3aW5nXCI6IHtcbiAgICAgICAgY29tcHJlc3NpYmxlOiBmYWxzZSxcbiAgICAgICAgZXh0ZW5zaW9uczogW1wiZ2RyYXdcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5nb29nbGUtYXBwcy5kcml2ZS1zZGtcIjoge1xuICAgICAgICBjb21wcmVzc2libGU6IGZhbHNlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuZ29vZ2xlLWFwcHMuZmlsZVwiOiB7fSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmdvb2dsZS1hcHBzLmZvbGRlclwiOiB7XG4gICAgICAgIGNvbXByZXNzaWJsZTogZmFsc2VcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5nb29nbGUtYXBwcy5mb3JtXCI6IHtcbiAgICAgICAgY29tcHJlc3NpYmxlOiBmYWxzZSxcbiAgICAgICAgZXh0ZW5zaW9uczogW1wiZ2Zvcm1cIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5nb29nbGUtYXBwcy5mdXNpb250YWJsZVwiOiB7fSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmdvb2dsZS1hcHBzLmphbVwiOiB7XG4gICAgICAgIGNvbXByZXNzaWJsZTogZmFsc2UsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImdqYW1cIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5nb29nbGUtYXBwcy5tYWlsLWxheW91dFwiOiB7fSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmdvb2dsZS1hcHBzLm1hcFwiOiB7XG4gICAgICAgIGNvbXByZXNzaWJsZTogZmFsc2UsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImdtYXBcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5nb29nbGUtYXBwcy5waG90b1wiOiB7fSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmdvb2dsZS1hcHBzLnByZXNlbnRhdGlvblwiOiB7XG4gICAgICAgIGNvbXByZXNzaWJsZTogZmFsc2UsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImdzbGlkZXNcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5nb29nbGUtYXBwcy5zY3JpcHRcIjoge1xuICAgICAgICBjb21wcmVzc2libGU6IGZhbHNlLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJnc2NyaXB0XCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuZ29vZ2xlLWFwcHMuc2hvcnRjdXRcIjoge30sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5nb29nbGUtYXBwcy5zaXRlXCI6IHtcbiAgICAgICAgY29tcHJlc3NpYmxlOiBmYWxzZSxcbiAgICAgICAgZXh0ZW5zaW9uczogW1wiZ3NpdGVcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5nb29nbGUtYXBwcy5zcHJlYWRzaGVldFwiOiB7XG4gICAgICAgIGNvbXByZXNzaWJsZTogZmFsc2UsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImdzaGVldFwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmdvb2dsZS1hcHBzLnVua25vd25cIjoge30sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5nb29nbGUtYXBwcy52aWRlb1wiOiB7fSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmdvb2dsZS1lYXJ0aC5rbWwreG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJrbWxcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5nb29nbGUtZWFydGgua216XCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiBmYWxzZSxcbiAgICAgICAgZXh0ZW5zaW9uczogW1wia216XCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuZ292LnNrLmUtZm9ybSt4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiYXBhY2hlXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmdvdi5zay5lLWZvcm0remlwXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiBmYWxzZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmdvdi5zay54bWxkYXRhY29udGFpbmVyK3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZSxcbiAgICAgICAgZXh0ZW5zaW9uczogW1wieGRjZlwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmdweHNlZS5tYXAreG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuZ3JhZmVxXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wiZ3FmXCIsIFwiZ3FzXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuZ3JpZG1wXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmdyb292ZS1hY2NvdW50XCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wiZ2FjXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuZ3Jvb3ZlLWhlbHBcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJnaGZcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5ncm9vdmUtaWRlbnRpdHktbWVzc2FnZVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImdpbVwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmdyb292ZS1pbmplY3RvclwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImdydlwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmdyb292ZS10b29sLW1lc3NhZ2VcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJndG1cIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5ncm9vdmUtdG9vbC10ZW1wbGF0ZVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcInRwbFwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmdyb292ZS12Y2FyZFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcInZjZ1wiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmhhbCtqc29uXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuaGFsK3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZSxcbiAgICAgICAgZXh0ZW5zaW9uczogW1wiaGFsXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuaGFuZGhlbGQtZW50ZXJ0YWlubWVudCt4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWUsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcInptbVwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmhiY2lcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJoYmNpXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuaGMranNvblwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmhjbC1iaXJlcG9ydHNcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuaGR0XCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmhlcm9rdStqc29uXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuaGhlLmxlc3Nvbi1wbGF5ZXJcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJsZXNcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5ocC1ocGdsXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wiaHBnbFwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmhwLWhwaWRcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJocGlkXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuaHAtaHBzXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wiaHBzXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuaHAtamx5dFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImpsdFwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmhwLXBjbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcInBjbFwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmhwLXBjbHhsXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wicGNseGxcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5oc2xcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuaHR0cGhvbmVcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuaHlkcm9zdGF0aXguc29mLWRhdGFcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJzZmQtaGRzdHhcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5oeXBlcitqc29uXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuaHlwZXItaXRlbStqc29uXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuaHlwZXJkcml2ZStqc29uXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuaHpuLTNkLWNyb3Nzd29yZFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5pYm0uYWZwbGluZWRhdGFcIjoge1xuICAgICAgICBzb3VyY2U6IFwiYXBhY2hlXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5pYm0uZWxlY3Ryb25pYy1tZWRpYVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5pYm0ubWluaXBheVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcIm1weVwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmlibS5tb2RjYXBcIjoge1xuICAgICAgICBzb3VyY2U6IFwiYXBhY2hlXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImFmcFwiLCBcImxpc3RhZnBcIiwgXCJsaXN0MzgyMFwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmlibS5yaWdodHMtbWFuYWdlbWVudFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImlybVwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmlibS5zZWN1cmUtY29udGFpbmVyXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wic2NcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5pY2Nwcm9maWxlXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wiaWNjXCIsIFwiaWNtXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuaWVlZS4xOTA1XCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmlnbG9hZGVyXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wiaWdsXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuaW1hZ2VtZXRlci5mb2xkZXIremlwXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiBmYWxzZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmltYWdlbWV0ZXIuaW1hZ2UremlwXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiBmYWxzZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmltbWVydmlzaW9uLWl2cFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcIml2cFwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmltbWVydmlzaW9uLWl2dVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcIml2dVwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmltcy5pbXNjY3YxcDFcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuaW1zLmltc2NjdjFwMlwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5pbXMuaW1zY2N2MXAzXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmltcy5saXMudjIucmVzdWx0K2pzb25cIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5pbXMubHRpLnYyLnRvb2xjb25zdW1lcnByb2ZpbGUranNvblwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmltcy5sdGkudjIudG9vbHByb3h5K2pzb25cIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5pbXMubHRpLnYyLnRvb2xwcm94eS5pZCtqc29uXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuaW1zLmx0aS52Mi50b29sc2V0dGluZ3MranNvblwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmltcy5sdGkudjIudG9vbHNldHRpbmdzLnNpbXBsZStqc29uXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuaW5mb3JtZWRjb250cm9sLnJtcyt4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5pbmZvcm1peC12aXNpb25hcnlcIjoge1xuICAgICAgICBzb3VyY2U6IFwiYXBhY2hlXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5pbmZvdGVjaC5wcm9qZWN0XCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmluZm90ZWNoLnByb2plY3QreG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuaW5ub3BhdGgud2FtcC5ub3RpZmljYXRpb25cIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuaW5zb3JzLmlnbVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImlnbVwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmludGVyY29uLmZvcm1uZXRcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJ4cHdcIiwgXCJ4cHhcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5pbnRlcmdlb1wiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImkyZ1wiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmludGVydHJ1c3QuZGlnaWJveFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5pbnRlcnRydXN0Lm5uY3BcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuaW50dS5xYm9cIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJxYm9cIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5pbnR1LnFmeFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcInFmeFwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmlwZnMuaXBucy1yZWNvcmRcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuaXBsZC5jYXJcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuaXBsZC5kYWctY2JvclwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5pcGxkLmRhZy1qc29uXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmlwbGQucmF3XCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmlwdGMuZzIuY2F0YWxvZ2l0ZW0reG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuaXB0Yy5nMi5jb25jZXB0aXRlbSt4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5pcHRjLmcyLmtub3dsZWRnZWl0ZW0reG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuaXB0Yy5nMi5uZXdzaXRlbSt4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5pcHRjLmcyLm5ld3NtZXNzYWdlK3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmlwdGMuZzIucGFja2FnZWl0ZW0reG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuaXB0Yy5nMi5wbGFubmluZ2l0ZW0reG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuaXB1bnBsdWdnZWQucmNwcm9maWxlXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wicmNwcm9maWxlXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuaXJlcG9zaXRvcnkucGFja2FnZSt4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWUsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImlycFwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmlzLXhwclwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcInhwclwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmlzYWMuZmNzXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wiZmNzXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuaXNvMTE3ODMtMTAremlwXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiBmYWxzZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmphbVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImphbVwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmphcGFubmV0LWRpcmVjdG9yeS1zZXJ2aWNlXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmphcGFubmV0LWpwbnN0b3JlLXdha2V1cFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5qYXBhbm5ldC1wYXltZW50LXdha2V1cFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5qYXBhbm5ldC1yZWdpc3RyYXRpb25cIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuamFwYW5uZXQtcmVnaXN0cmF0aW9uLXdha2V1cFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5qYXBhbm5ldC1zZXRzdG9yZS13YWtldXBcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuamFwYW5uZXQtdmVyaWZpY2F0aW9uXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmphcGFubmV0LXZlcmlmaWNhdGlvbi13YWtldXBcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuamNwLmphdmFtZS5taWRsZXQtcm1zXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wicm1zXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuamlzcFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImppc3BcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5qb29zdC5qb2RhLWFyY2hpdmVcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJqb2RhXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuanNrLmlzZG4tbmduXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmthaG9vdHpcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJrdHpcIiwgXCJrdHJcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5rZGUua2FyYm9uXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wia2FyYm9uXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQua2RlLmtjaGFydFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImNocnRcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5rZGUua2Zvcm11bGFcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJrZm9cIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5rZGUua2l2aW9cIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJmbHdcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5rZGUua29udG91clwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImtvblwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmtkZS5rcHJlc2VudGVyXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wia3ByXCIsIFwia3B0XCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQua2RlLmtzcHJlYWRcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJrc3BcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5rZGUua3dvcmRcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJrd2RcIiwgXCJrd3RcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5rZGxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQua2VuYW1lYWFwcFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImh0a2VcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5rZXltYW4ua21wK3ppcFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogZmFsc2VcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5rZXltYW4ua214XCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmtpZHNwaXJhdGlvblwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImtpYVwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmtpbmFyXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wia25lXCIsIFwia25wXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQua29hblwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcInNrcFwiLCBcInNrZFwiLCBcInNrdFwiLCBcInNrbVwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmtvZGFrLWRlc2NyaXB0b3JcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJzc2VcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5sYXNcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQubGFzLmxhcytqc29uXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQubGFzLmxhcyt4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWUsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImxhc3htbFwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmxhc3ppcFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5sZGV2LnByb2R1Y3RsaWNlbnNpbmdcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQubGVhcCtqc29uXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQubGliZXJ0eS1yZXF1ZXN0K3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmxsYW1hZ3JhcGhpY3MubGlmZS1iYWxhbmNlLmRlc2t0b3BcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJsYmRcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5sbGFtYWdyYXBoaWNzLmxpZmUtYmFsYW5jZS5leGNoYW5nZSt4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWUsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImxiZVwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmxvZ2lwaXBlLmNpcmN1aXQremlwXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiBmYWxzZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmxvb21cIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQubG90dXMtMS0yLTNcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCIxMjNcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5sb3R1cy1hcHByb2FjaFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImFwclwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmxvdHVzLWZyZWVsYW5jZVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcInByZVwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmxvdHVzLW5vdGVzXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wibnNmXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQubG90dXMtb3JnYW5pemVyXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wib3JnXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQubG90dXMtc2NyZWVuY2FtXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wic2NtXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQubG90dXMtd29yZHByb1wiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImx3cFwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLm1hY3BvcnRzLnBvcnRwa2dcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJwb3J0cGtnXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQubWFwYm94LXZlY3Rvci10aWxlXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wibXZ0XCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQubWFybGluLmRybS5hY3Rpb250b2tlbit4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5tYXJsaW4uZHJtLmNvbmZ0b2tlbit4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5tYXJsaW4uZHJtLmxpY2Vuc2UreG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQubWFybGluLmRybS5tZGNmXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLm1hc29uK2pzb25cIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5tYXhhci5hcmNoaXZlLjN0eit6aXBcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IGZhbHNlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQubWF4bWluZC5tYXhtaW5kLWRiXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLm1jZFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcIm1jZFwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLm1kbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5tZGwtbWJzZGZcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQubWVkY2FsY2RhdGFcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJtYzFcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5tZWRpYXN0YXRpb24uY2RrZXlcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJjZGtleVwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLm1lZGljYWxob2xvZGVjay5yZWNvcmR4clwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5tZXJpZGlhbi1zbGluZ3Nob3RcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQubWVybWFpZFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5tZmVyXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wibXdmXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQubWZtcFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcIm1mbVwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLm1pY3JvK2pzb25cIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5taWNyb2dyYWZ4LmZsb1wiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImZsb1wiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLm1pY3JvZ3JhZnguaWd4XCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wiaWd4XCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQubWljcm9zb2Z0LnBvcnRhYmxlLWV4ZWN1dGFibGVcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQubWljcm9zb2Z0LndpbmRvd3MudGh1bWJuYWlsLWNhY2hlXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLm1pZWxlK2pzb25cIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5taWZcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJtaWZcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5taW5pc29mdC1ocDMwMDAtc2F2ZVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5taXRzdWJpc2hpLm1pc3R5LWd1YXJkLnRydXN0d2ViXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLm1vYml1cy5kYWZcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJkYWZcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5tb2JpdXMuZGlzXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wiZGlzXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQubW9iaXVzLm1ia1wiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcIm1ia1wiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLm1vYml1cy5tcXlcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJtcXlcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5tb2JpdXMubXNsXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wibXNsXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQubW9iaXVzLnBsY1wiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcInBsY1wiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLm1vYml1cy50eGZcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJ0eGZcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5tb2RsXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLm1vcGh1bi5hcHBsaWNhdGlvblwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcIm1wblwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLm1vcGh1bi5jZXJ0aWZpY2F0ZVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcIm1wY1wiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLm1vdG9yb2xhLmZsZXhzdWl0ZVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5tb3Rvcm9sYS5mbGV4c3VpdGUuYWRzaVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5tb3Rvcm9sYS5mbGV4c3VpdGUuZmlzXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLm1vdG9yb2xhLmZsZXhzdWl0ZS5nb3RhcFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5tb3Rvcm9sYS5mbGV4c3VpdGUua21yXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLm1vdG9yb2xhLmZsZXhzdWl0ZS50dGNcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQubW90b3JvbGEuZmxleHN1aXRlLndlbVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5tb3Rvcm9sYS5pcHJtXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLm1vemlsbGEueHVsK3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZSxcbiAgICAgICAgZXh0ZW5zaW9uczogW1wieHVsXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQubXMtM21mZG9jdW1lbnRcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQubXMtYXJ0Z2FscnlcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJjaWxcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5tcy1hc2ZcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQubXMtY2FiLWNvbXByZXNzZWRcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJjYWJcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5tcy1jb2xvci5pY2Nwcm9maWxlXCI6IHtcbiAgICAgICAgc291cmNlOiBcImFwYWNoZVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQubXMtZXhjZWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IGZhbHNlLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJ4bHNcIiwgXCJ4bG1cIiwgXCJ4bGFcIiwgXCJ4bGNcIiwgXCJ4bHRcIiwgXCJ4bHdcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5tcy1leGNlbC5hZGRpbi5tYWNyb2VuYWJsZWQuMTJcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJ4bGFtXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQubXMtZXhjZWwuc2hlZXQuYmluYXJ5Lm1hY3JvZW5hYmxlZC4xMlwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcInhsc2JcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5tcy1leGNlbC5zaGVldC5tYWNyb2VuYWJsZWQuMTJcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJ4bHNtXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQubXMtZXhjZWwudGVtcGxhdGUubWFjcm9lbmFibGVkLjEyXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wieGx0bVwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLm1zLWZvbnRvYmplY3RcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWUsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImVvdFwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLm1zLWh0bWxoZWxwXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wiY2htXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQubXMtaW1zXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wiaW1zXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQubXMtbHJtXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wibHJtXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQubXMtb2ZmaWNlLmFjdGl2ZXgreG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQubXMtb2ZmaWNldGhlbWVcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJ0aG14XCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQubXMtb3BlbnR5cGVcIjoge1xuICAgICAgICBzb3VyY2U6IFwiYXBhY2hlXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLm1zLW91dGxvb2tcIjoge1xuICAgICAgICBjb21wcmVzc2libGU6IGZhbHNlLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJtc2dcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5tcy1wYWNrYWdlLm9iZnVzY2F0ZWQtb3BlbnR5cGVcIjoge1xuICAgICAgICBzb3VyY2U6IFwiYXBhY2hlXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5tcy1wa2kuc2VjY2F0XCI6IHtcbiAgICAgICAgc291cmNlOiBcImFwYWNoZVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJjYXRcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5tcy1wa2kuc3RsXCI6IHtcbiAgICAgICAgc291cmNlOiBcImFwYWNoZVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJzdGxcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5tcy1wbGF5cmVhZHkuaW5pdGlhdG9yK3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLm1zLXBvd2VycG9pbnRcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IGZhbHNlLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJwcHRcIiwgXCJwcHNcIiwgXCJwb3RcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5tcy1wb3dlcnBvaW50LmFkZGluLm1hY3JvZW5hYmxlZC4xMlwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcInBwYW1cIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5tcy1wb3dlcnBvaW50LnByZXNlbnRhdGlvbi5tYWNyb2VuYWJsZWQuMTJcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJwcHRtXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQubXMtcG93ZXJwb2ludC5zbGlkZS5tYWNyb2VuYWJsZWQuMTJcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJzbGRtXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQubXMtcG93ZXJwb2ludC5zbGlkZXNob3cubWFjcm9lbmFibGVkLjEyXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wicHBzbVwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLm1zLXBvd2VycG9pbnQudGVtcGxhdGUubWFjcm9lbmFibGVkLjEyXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wicG90bVwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLm1zLXByaW50ZGV2aWNlY2FwYWJpbGl0aWVzK3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLm1zLXByaW50aW5nLnByaW50dGlja2V0K3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJhcGFjaGVcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQubXMtcHJpbnRzY2hlbWF0aWNrZXQreG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQubXMtcHJvamVjdFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcIm1wcFwiLCBcIm1wdFwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLm1zLXRuZWZcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQubXMtdmlzaW8udmlld2VyXCI6IHtcbiAgICAgICAgZXh0ZW5zaW9uczogW1widmR4XCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQubXMtd2luZG93cy5kZXZpY2VwYWlyaW5nXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLm1zLXdpbmRvd3MubndwcmludGluZy5vb2JcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQubXMtd2luZG93cy5wcmludGVycGFpcmluZ1wiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5tcy13aW5kb3dzLndzZC5vb2JcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQubXMtd21kcm0ubGljLWNobGctcmVxXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLm1zLXdtZHJtLmxpYy1yZXNwXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLm1zLXdtZHJtLm1ldGVyLWNobGctcmVxXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLm1zLXdtZHJtLm1ldGVyLXJlc3BcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQubXMtd29yZC5kb2N1bWVudC5tYWNyb2VuYWJsZWQuMTJcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJkb2NtXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQubXMtd29yZC50ZW1wbGF0ZS5tYWNyb2VuYWJsZWQuMTJcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJkb3RtXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQubXMtd29ya3NcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJ3cHNcIiwgXCJ3a3NcIiwgXCJ3Y21cIiwgXCJ3ZGJcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5tcy13cGxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJ3cGxcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5tcy14cHNkb2N1bWVudFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogZmFsc2UsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcInhwc1wiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLm1zYS1kaXNrLWltYWdlXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLm1zZXFcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJtc2VxXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQubXNncGFja1wiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5tc2lnblwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5tdWx0aWFkLmNyZWF0b3JcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQubXVsdGlhZC5jcmVhdG9yLmNpZlwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5tdXNpYy1uaWZmXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLm11c2ljaWFuXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wibXVzXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQubXV2ZWUuc3R5bGVcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJtc3R5XCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQubXluZmNcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJ0YWdsZXRcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5uYWNhbWFyLnlicmlkK2pzb25cIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5uYXRvLmJpbmRpbmdkYXRhb2JqZWN0K2Nib3JcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQubmF0by5iaW5kaW5nZGF0YW9iamVjdCtqc29uXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQubmF0by5iaW5kaW5nZGF0YW9iamVjdCt4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWUsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImJkb1wiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLm5hdG8ub3BlbnhtbGZvcm1hdHMtcGFja2FnZS5pZXBkK3ppcFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogZmFsc2VcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5uY2QuY29udHJvbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5uY2QucmVmZXJlbmNlXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLm5lYXJzdC5pbnYranNvblwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLm5lYnVtaW5kLmxpbmVcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQubmVydmFuYVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5uZXRmcHhcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQubmV1cm9sYW5ndWFnZS5ubHVcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJubHVcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5uaW1uXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLm5pbnRlbmRvLm5pdHJvLnJvbVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5uaW50ZW5kby5zbmVzLnJvbVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5uaXRmXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wibnRmXCIsIFwibml0ZlwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLm5vYmxlbmV0LWRpcmVjdG9yeVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcIm5uZFwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLm5vYmxlbmV0LXNlYWxlclwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcIm5uc1wiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLm5vYmxlbmV0LXdlYlwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcIm5ud1wiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLm5va2lhLmNhdGFsb2dzXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLm5va2lhLmNvbm1sK3dieG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLm5va2lhLmNvbm1sK3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLm5va2lhLmlwdHYuY29uZmlnK3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLm5va2lhLmlzZHMtcmFkaW8tcHJlc2V0c1wiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5ub2tpYS5sYW5kbWFyayt3YnhtbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5ub2tpYS5sYW5kbWFyayt4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5ub2tpYS5sYW5kbWFya2NvbGxlY3Rpb24reG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQubm9raWEubi1nYWdlLmFjK3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZSxcbiAgICAgICAgZXh0ZW5zaW9uczogW1wiYWNcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5ub2tpYS5uLWdhZ2UuZGF0YVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcIm5nZGF0XCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQubm9raWEubi1nYWdlLnN5bWJpYW4uaW5zdGFsbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJhcGFjaGVcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wibi1nYWdlXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQubm9raWEubmNkXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLm5va2lhLnBjZCt3YnhtbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5ub2tpYS5wY2QreG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQubm9raWEucmFkaW8tcHJlc2V0XCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wicnBzdFwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLm5va2lhLnJhZGlvLXByZXNldHNcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJycHNzXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQubm92YWRpZ20uZWRtXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wiZWRtXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQubm92YWRpZ20uZWR4XCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wiZWR4XCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQubm92YWRpZ20uZXh0XCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wiZXh0XCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQubnR0LWxvY2FsLmNvbnRlbnQtc2hhcmVcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQubnR0LWxvY2FsLmZpbGUtdHJhbnNmZXJcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQubnR0LWxvY2FsLm9nd19yZW1vdGUtYWNjZXNzXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLm50dC1sb2NhbC5zaXAtdGFfcmVtb3RlXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLm50dC1sb2NhbC5zaXAtdGFfdGNwX3N0cmVhbVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5vYWkud29ya2Zsb3dzXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLm9haS53b3JrZmxvd3MranNvblwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLm9haS53b3JrZmxvd3MreWFtbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5vYXNpcy5vcGVuZG9jdW1lbnQuYmFzZVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5vYXNpcy5vcGVuZG9jdW1lbnQuY2hhcnRcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJvZGNcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5vYXNpcy5vcGVuZG9jdW1lbnQuY2hhcnQtdGVtcGxhdGVcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJvdGNcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5vYXNpcy5vcGVuZG9jdW1lbnQuZGF0YWJhc2VcIjoge1xuICAgICAgICBzb3VyY2U6IFwiYXBhY2hlXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcIm9kYlwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLm9hc2lzLm9wZW5kb2N1bWVudC5mb3JtdWxhXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wib2RmXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQub2FzaXMub3BlbmRvY3VtZW50LmZvcm11bGEtdGVtcGxhdGVcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJvZGZ0XCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQub2FzaXMub3BlbmRvY3VtZW50LmdyYXBoaWNzXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiBmYWxzZSxcbiAgICAgICAgZXh0ZW5zaW9uczogW1wib2RnXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQub2FzaXMub3BlbmRvY3VtZW50LmdyYXBoaWNzLXRlbXBsYXRlXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wib3RnXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQub2FzaXMub3BlbmRvY3VtZW50LmltYWdlXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wib2RpXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQub2FzaXMub3BlbmRvY3VtZW50LmltYWdlLXRlbXBsYXRlXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wib3RpXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQub2FzaXMub3BlbmRvY3VtZW50LnByZXNlbnRhdGlvblwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogZmFsc2UsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcIm9kcFwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLm9hc2lzLm9wZW5kb2N1bWVudC5wcmVzZW50YXRpb24tdGVtcGxhdGVcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJvdHBcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5vYXNpcy5vcGVuZG9jdW1lbnQuc3ByZWFkc2hlZXRcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IGZhbHNlLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJvZHNcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5vYXNpcy5vcGVuZG9jdW1lbnQuc3ByZWFkc2hlZXQtdGVtcGxhdGVcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJvdHNcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5vYXNpcy5vcGVuZG9jdW1lbnQudGV4dFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogZmFsc2UsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcIm9kdFwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLm9hc2lzLm9wZW5kb2N1bWVudC50ZXh0LW1hc3RlclwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcIm9kbVwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLm9hc2lzLm9wZW5kb2N1bWVudC50ZXh0LW1hc3Rlci10ZW1wbGF0ZVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5vYXNpcy5vcGVuZG9jdW1lbnQudGV4dC10ZW1wbGF0ZVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcIm90dFwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLm9hc2lzLm9wZW5kb2N1bWVudC50ZXh0LXdlYlwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcIm90aFwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLm9iblwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5vY2YrY2JvclwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5vY2kuaW1hZ2UubWFuaWZlc3QudjEranNvblwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLm9mdG4ubDEwbitqc29uXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQub2lwZi5jb250ZW50YWNjZXNzZG93bmxvYWQreG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQub2lwZi5jb250ZW50YWNjZXNzc3RyZWFtaW5nK3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLm9pcGYuY3NwZy1oZXhiaW5hcnlcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQub2lwZi5kYWUuc3ZnK3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLm9pcGYuZGFlLnhodG1sK3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLm9pcGYubWlwcHZjb250cm9sbWVzc2FnZSt4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5vaXBmLnBhZS5nZW1cIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQub2lwZi5zcGRpc2NvdmVyeSt4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5vaXBmLnNwZGxpc3QreG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQub2lwZi51ZXByb2ZpbGUreG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQub2lwZi51c2VycHJvZmlsZSt4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5vbHBjLXN1Z2FyXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wieG9cIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5vbWEtc2N3cy1jb25maWdcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQub21hLXNjd3MtaHR0cC1yZXF1ZXN0XCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLm9tYS1zY3dzLWh0dHAtcmVzcG9uc2VcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQub21hLmJjYXN0LmFzc29jaWF0ZWQtcHJvY2VkdXJlLXBhcmFtZXRlcit4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5vbWEuYmNhc3QuZHJtLXRyaWdnZXIreG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImFwYWNoZVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5vbWEuYmNhc3QuaW1kK3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLm9tYS5iY2FzdC5sdGttXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLm9tYS5iY2FzdC5ub3RpZmljYXRpb24reG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQub21hLmJjYXN0LnByb3Zpc2lvbmluZ3RyaWdnZXJcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQub21hLmJjYXN0LnNnYm9vdFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5vbWEuYmNhc3Quc2dkZCt4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5vbWEuYmNhc3Quc2dkdVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5vbWEuYmNhc3Quc2ltcGxlLXN5bWJvbC1jb250YWluZXJcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQub21hLmJjYXN0LnNtYXJ0Y2FyZC10cmlnZ2VyK3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJhcGFjaGVcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQub21hLmJjYXN0LnNwcm92K3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLm9tYS5iY2FzdC5zdGttXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLm9tYS5jYWItYWRkcmVzcy1ib29rK3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLm9tYS5jYWItZmVhdHVyZS1oYW5kbGVyK3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLm9tYS5jYWItcGNjK3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLm9tYS5jYWItc3Vicy1pbnZpdGUreG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQub21hLmNhYi11c2VyLXByZWZzK3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLm9tYS5kY2RcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQub21hLmRjZGNcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQub21hLmRkMit4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWUsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImRkMlwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLm9tYS5kcm0ucmlzZCt4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5vbWEuZ3JvdXAtdXNhZ2UtbGlzdCt4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5vbWEubHdtMm0rY2JvclwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5vbWEubHdtMm0ranNvblwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLm9tYS5sd20ybSt0bHZcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQub21hLnBhbCt4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5vbWEucG9jLmRldGFpbGVkLXByb2dyZXNzLXJlcG9ydCt4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5vbWEucG9jLmZpbmFsLXJlcG9ydCt4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5vbWEucG9jLmdyb3Vwcyt4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5vbWEucG9jLmludm9jYXRpb24tZGVzY3JpcHRvcit4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5vbWEucG9jLm9wdGltaXplZC1wcm9ncmVzcy1yZXBvcnQreG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQub21hLnB1c2hcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQub21hLnNjaWRtLm1lc3NhZ2VzK3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLm9tYS54Y2FwLWRpcmVjdG9yeSt4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5vbWFkcy1lbWFpbCt4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjaGFyc2V0OiBcIlVURi04XCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLm9tYWRzLWZpbGUreG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY2hhcnNldDogXCJVVEYtOFwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5vbWFkcy1mb2xkZXIreG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY2hhcnNldDogXCJVVEYtOFwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5vbWFsb2Mtc3VwbC1pbml0XCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLm9uZXBhZ2VyXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLm9uZXBhZ2VydGFtcFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5vbmVwYWdlcnRhbXhcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQub25lcGFnZXJ0YXRcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQub25lcGFnZXJ0YXRwXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLm9uZXBhZ2VydGF0eFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5vbnZpZi5tZXRhZGF0YVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5vcGVuYmxveC5nYW1lK3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZSxcbiAgICAgICAgZXh0ZW5zaW9uczogW1wib2JneFwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLm9wZW5ibG94LmdhbWUtYmluYXJ5XCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLm9wZW5leWUub2ViXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLm9wZW5vZmZpY2VvcmcuZXh0ZW5zaW9uXCI6IHtcbiAgICAgICAgc291cmNlOiBcImFwYWNoZVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJveHRcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5vcGVuc3RyZWV0bWFwLmRhdGEreG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJvc21cIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5vcGVudGltZXN0YW1wcy5vdHNcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQub3BlbnZwaS5kc3B4K2pzb25cIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5vcGVueG1sZm9ybWF0cy1vZmZpY2Vkb2N1bWVudC5jdXN0b20tcHJvcGVydGllcyt4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5vcGVueG1sZm9ybWF0cy1vZmZpY2Vkb2N1bWVudC5jdXN0b214bWxwcm9wZXJ0aWVzK3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLm9wZW54bWxmb3JtYXRzLW9mZmljZWRvY3VtZW50LmRyYXdpbmcreG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQub3BlbnhtbGZvcm1hdHMtb2ZmaWNlZG9jdW1lbnQuZHJhd2luZ21sLmNoYXJ0K3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLm9wZW54bWxmb3JtYXRzLW9mZmljZWRvY3VtZW50LmRyYXdpbmdtbC5jaGFydHNoYXBlcyt4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5vcGVueG1sZm9ybWF0cy1vZmZpY2Vkb2N1bWVudC5kcmF3aW5nbWwuZGlhZ3JhbWNvbG9ycyt4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5vcGVueG1sZm9ybWF0cy1vZmZpY2Vkb2N1bWVudC5kcmF3aW5nbWwuZGlhZ3JhbWRhdGEreG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQub3BlbnhtbGZvcm1hdHMtb2ZmaWNlZG9jdW1lbnQuZHJhd2luZ21sLmRpYWdyYW1sYXlvdXQreG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQub3BlbnhtbGZvcm1hdHMtb2ZmaWNlZG9jdW1lbnQuZHJhd2luZ21sLmRpYWdyYW1zdHlsZSt4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5vcGVueG1sZm9ybWF0cy1vZmZpY2Vkb2N1bWVudC5leHRlbmRlZC1wcm9wZXJ0aWVzK3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLm9wZW54bWxmb3JtYXRzLW9mZmljZWRvY3VtZW50LnByZXNlbnRhdGlvbm1sLmNvbW1lbnRhdXRob3JzK3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLm9wZW54bWxmb3JtYXRzLW9mZmljZWRvY3VtZW50LnByZXNlbnRhdGlvbm1sLmNvbW1lbnRzK3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLm9wZW54bWxmb3JtYXRzLW9mZmljZWRvY3VtZW50LnByZXNlbnRhdGlvbm1sLmhhbmRvdXRtYXN0ZXIreG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQub3BlbnhtbGZvcm1hdHMtb2ZmaWNlZG9jdW1lbnQucHJlc2VudGF0aW9ubWwubm90ZXNtYXN0ZXIreG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQub3BlbnhtbGZvcm1hdHMtb2ZmaWNlZG9jdW1lbnQucHJlc2VudGF0aW9ubWwubm90ZXNzbGlkZSt4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5vcGVueG1sZm9ybWF0cy1vZmZpY2Vkb2N1bWVudC5wcmVzZW50YXRpb25tbC5wcmVzZW50YXRpb25cIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IGZhbHNlLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJwcHR4XCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQub3BlbnhtbGZvcm1hdHMtb2ZmaWNlZG9jdW1lbnQucHJlc2VudGF0aW9ubWwucHJlc2VudGF0aW9uLm1haW4reG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQub3BlbnhtbGZvcm1hdHMtb2ZmaWNlZG9jdW1lbnQucHJlc2VudGF0aW9ubWwucHJlc3Byb3BzK3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLm9wZW54bWxmb3JtYXRzLW9mZmljZWRvY3VtZW50LnByZXNlbnRhdGlvbm1sLnNsaWRlXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wic2xkeFwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLm9wZW54bWxmb3JtYXRzLW9mZmljZWRvY3VtZW50LnByZXNlbnRhdGlvbm1sLnNsaWRlK3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLm9wZW54bWxmb3JtYXRzLW9mZmljZWRvY3VtZW50LnByZXNlbnRhdGlvbm1sLnNsaWRlbGF5b3V0K3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLm9wZW54bWxmb3JtYXRzLW9mZmljZWRvY3VtZW50LnByZXNlbnRhdGlvbm1sLnNsaWRlbWFzdGVyK3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLm9wZW54bWxmb3JtYXRzLW9mZmljZWRvY3VtZW50LnByZXNlbnRhdGlvbm1sLnNsaWRlc2hvd1wiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcInBwc3hcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5vcGVueG1sZm9ybWF0cy1vZmZpY2Vkb2N1bWVudC5wcmVzZW50YXRpb25tbC5zbGlkZXNob3cubWFpbit4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5vcGVueG1sZm9ybWF0cy1vZmZpY2Vkb2N1bWVudC5wcmVzZW50YXRpb25tbC5zbGlkZXVwZGF0ZWluZm8reG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQub3BlbnhtbGZvcm1hdHMtb2ZmaWNlZG9jdW1lbnQucHJlc2VudGF0aW9ubWwudGFibGVzdHlsZXMreG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQub3BlbnhtbGZvcm1hdHMtb2ZmaWNlZG9jdW1lbnQucHJlc2VudGF0aW9ubWwudGFncyt4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5vcGVueG1sZm9ybWF0cy1vZmZpY2Vkb2N1bWVudC5wcmVzZW50YXRpb25tbC50ZW1wbGF0ZVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcInBvdHhcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5vcGVueG1sZm9ybWF0cy1vZmZpY2Vkb2N1bWVudC5wcmVzZW50YXRpb25tbC50ZW1wbGF0ZS5tYWluK3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLm9wZW54bWxmb3JtYXRzLW9mZmljZWRvY3VtZW50LnByZXNlbnRhdGlvbm1sLnZpZXdwcm9wcyt4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5vcGVueG1sZm9ybWF0cy1vZmZpY2Vkb2N1bWVudC5zcHJlYWRzaGVldG1sLmNhbGNjaGFpbit4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5vcGVueG1sZm9ybWF0cy1vZmZpY2Vkb2N1bWVudC5zcHJlYWRzaGVldG1sLmNoYXJ0c2hlZXQreG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQub3BlbnhtbGZvcm1hdHMtb2ZmaWNlZG9jdW1lbnQuc3ByZWFkc2hlZXRtbC5jb21tZW50cyt4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5vcGVueG1sZm9ybWF0cy1vZmZpY2Vkb2N1bWVudC5zcHJlYWRzaGVldG1sLmNvbm5lY3Rpb25zK3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLm9wZW54bWxmb3JtYXRzLW9mZmljZWRvY3VtZW50LnNwcmVhZHNoZWV0bWwuZGlhbG9nc2hlZXQreG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQub3BlbnhtbGZvcm1hdHMtb2ZmaWNlZG9jdW1lbnQuc3ByZWFkc2hlZXRtbC5leHRlcm5hbGxpbmsreG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQub3BlbnhtbGZvcm1hdHMtb2ZmaWNlZG9jdW1lbnQuc3ByZWFkc2hlZXRtbC5waXZvdGNhY2hlZGVmaW5pdGlvbit4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5vcGVueG1sZm9ybWF0cy1vZmZpY2Vkb2N1bWVudC5zcHJlYWRzaGVldG1sLnBpdm90Y2FjaGVyZWNvcmRzK3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLm9wZW54bWxmb3JtYXRzLW9mZmljZWRvY3VtZW50LnNwcmVhZHNoZWV0bWwucGl2b3R0YWJsZSt4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5vcGVueG1sZm9ybWF0cy1vZmZpY2Vkb2N1bWVudC5zcHJlYWRzaGVldG1sLnF1ZXJ5dGFibGUreG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQub3BlbnhtbGZvcm1hdHMtb2ZmaWNlZG9jdW1lbnQuc3ByZWFkc2hlZXRtbC5yZXZpc2lvbmhlYWRlcnMreG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQub3BlbnhtbGZvcm1hdHMtb2ZmaWNlZG9jdW1lbnQuc3ByZWFkc2hlZXRtbC5yZXZpc2lvbmxvZyt4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5vcGVueG1sZm9ybWF0cy1vZmZpY2Vkb2N1bWVudC5zcHJlYWRzaGVldG1sLnNoYXJlZHN0cmluZ3MreG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQub3BlbnhtbGZvcm1hdHMtb2ZmaWNlZG9jdW1lbnQuc3ByZWFkc2hlZXRtbC5zaGVldFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogZmFsc2UsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcInhsc3hcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5vcGVueG1sZm9ybWF0cy1vZmZpY2Vkb2N1bWVudC5zcHJlYWRzaGVldG1sLnNoZWV0Lm1haW4reG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQub3BlbnhtbGZvcm1hdHMtb2ZmaWNlZG9jdW1lbnQuc3ByZWFkc2hlZXRtbC5zaGVldG1ldGFkYXRhK3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLm9wZW54bWxmb3JtYXRzLW9mZmljZWRvY3VtZW50LnNwcmVhZHNoZWV0bWwuc3R5bGVzK3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLm9wZW54bWxmb3JtYXRzLW9mZmljZWRvY3VtZW50LnNwcmVhZHNoZWV0bWwudGFibGUreG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQub3BlbnhtbGZvcm1hdHMtb2ZmaWNlZG9jdW1lbnQuc3ByZWFkc2hlZXRtbC50YWJsZXNpbmdsZWNlbGxzK3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLm9wZW54bWxmb3JtYXRzLW9mZmljZWRvY3VtZW50LnNwcmVhZHNoZWV0bWwudGVtcGxhdGVcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJ4bHR4XCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQub3BlbnhtbGZvcm1hdHMtb2ZmaWNlZG9jdW1lbnQuc3ByZWFkc2hlZXRtbC50ZW1wbGF0ZS5tYWluK3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLm9wZW54bWxmb3JtYXRzLW9mZmljZWRvY3VtZW50LnNwcmVhZHNoZWV0bWwudXNlcm5hbWVzK3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLm9wZW54bWxmb3JtYXRzLW9mZmljZWRvY3VtZW50LnNwcmVhZHNoZWV0bWwudm9sYXRpbGVkZXBlbmRlbmNpZXMreG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQub3BlbnhtbGZvcm1hdHMtb2ZmaWNlZG9jdW1lbnQuc3ByZWFkc2hlZXRtbC53b3Jrc2hlZXQreG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQub3BlbnhtbGZvcm1hdHMtb2ZmaWNlZG9jdW1lbnQudGhlbWUreG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQub3BlbnhtbGZvcm1hdHMtb2ZmaWNlZG9jdW1lbnQudGhlbWVvdmVycmlkZSt4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5vcGVueG1sZm9ybWF0cy1vZmZpY2Vkb2N1bWVudC52bWxkcmF3aW5nXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLm9wZW54bWxmb3JtYXRzLW9mZmljZWRvY3VtZW50LndvcmRwcm9jZXNzaW5nbWwuY29tbWVudHMreG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQub3BlbnhtbGZvcm1hdHMtb2ZmaWNlZG9jdW1lbnQud29yZHByb2Nlc3NpbmdtbC5kb2N1bWVudFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogZmFsc2UsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImRvY3hcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5vcGVueG1sZm9ybWF0cy1vZmZpY2Vkb2N1bWVudC53b3JkcHJvY2Vzc2luZ21sLmRvY3VtZW50Lmdsb3NzYXJ5K3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLm9wZW54bWxmb3JtYXRzLW9mZmljZWRvY3VtZW50LndvcmRwcm9jZXNzaW5nbWwuZG9jdW1lbnQubWFpbit4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5vcGVueG1sZm9ybWF0cy1vZmZpY2Vkb2N1bWVudC53b3JkcHJvY2Vzc2luZ21sLmVuZG5vdGVzK3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLm9wZW54bWxmb3JtYXRzLW9mZmljZWRvY3VtZW50LndvcmRwcm9jZXNzaW5nbWwuZm9udHRhYmxlK3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLm9wZW54bWxmb3JtYXRzLW9mZmljZWRvY3VtZW50LndvcmRwcm9jZXNzaW5nbWwuZm9vdGVyK3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLm9wZW54bWxmb3JtYXRzLW9mZmljZWRvY3VtZW50LndvcmRwcm9jZXNzaW5nbWwuZm9vdG5vdGVzK3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLm9wZW54bWxmb3JtYXRzLW9mZmljZWRvY3VtZW50LndvcmRwcm9jZXNzaW5nbWwubnVtYmVyaW5nK3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLm9wZW54bWxmb3JtYXRzLW9mZmljZWRvY3VtZW50LndvcmRwcm9jZXNzaW5nbWwuc2V0dGluZ3MreG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQub3BlbnhtbGZvcm1hdHMtb2ZmaWNlZG9jdW1lbnQud29yZHByb2Nlc3NpbmdtbC5zdHlsZXMreG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQub3BlbnhtbGZvcm1hdHMtb2ZmaWNlZG9jdW1lbnQud29yZHByb2Nlc3NpbmdtbC50ZW1wbGF0ZVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImRvdHhcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5vcGVueG1sZm9ybWF0cy1vZmZpY2Vkb2N1bWVudC53b3JkcHJvY2Vzc2luZ21sLnRlbXBsYXRlLm1haW4reG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQub3BlbnhtbGZvcm1hdHMtb2ZmaWNlZG9jdW1lbnQud29yZHByb2Nlc3NpbmdtbC53ZWJzZXR0aW5ncyt4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5vcGVueG1sZm9ybWF0cy1wYWNrYWdlLmNvcmUtcHJvcGVydGllcyt4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5vcGVueG1sZm9ybWF0cy1wYWNrYWdlLmRpZ2l0YWwtc2lnbmF0dXJlLXhtbHNpZ25hdHVyZSt4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5vcGVueG1sZm9ybWF0cy1wYWNrYWdlLnJlbGF0aW9uc2hpcHMreG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQub3JhY2xlLnJlc291cmNlK2pzb25cIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5vcmFuZ2UuaW5kYXRhXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLm9zYS5uZXRkZXBsb3lcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQub3NnZW8ubWFwZ3VpZGUucGFja2FnZVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcIm1ncFwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLm9zZ2kuYnVuZGxlXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLm9zZ2kuZHBcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJkcFwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLm9zZ2kuc3Vic3lzdGVtXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wiZXNhXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQub3Rwcy5jdC1raXAreG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQub3hsaS5jb3VudGdyYXBoXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLnBhZ2VyZHV0eStqc29uXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQucGFsbVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcInBkYlwiLCBcInBxYVwiLCBcIm9wcmNcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5wYW5vcGx5XCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLnBhb3MueG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLnBhdGVudGRpdmVcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQucGF0aWVudGVjb21tc2RvY1wiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5wYXdhYWZpbGVcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJwYXdcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5wY29zXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLnBnLmZvcm1hdFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcInN0clwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLnBnLm9zYXNsaVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImVpNlwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLnBpYWNjZXNzLmFwcGxpY2F0aW9uLWxpY2VuY2VcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQucGljc2VsXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wiZWZpZlwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLnBtaS53aWRnZXRcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJ3Z1wiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLnBvYy5ncm91cC1hZHZlcnRpc2VtZW50K3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLnBvY2tldGxlYXJuXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wicGxmXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQucG93ZXJidWlsZGVyNlwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcInBiZFwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLnBvd2VyYnVpbGRlcjYtc1wiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5wb3dlcmJ1aWxkZXI3XCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLnBvd2VyYnVpbGRlcjctc1wiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5wb3dlcmJ1aWxkZXI3NVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5wb3dlcmJ1aWxkZXI3NS1zXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLnByZW1pbmV0XCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLnByZXZpZXdzeXN0ZW1zLmJveFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImJveFwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLnByb2NyYXRlLmJydXNoc2V0XCI6IHtcbiAgICAgICAgZXh0ZW5zaW9uczogW1wiYnJ1c2hzZXRcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5wcm9jcmVhdGUuYnJ1c2hcIjoge1xuICAgICAgICBleHRlbnNpb25zOiBbXCJicnVzaFwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLnByb2NyZWF0ZS5kcmVhbVwiOiB7XG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImRybVwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLnByb3RldXMubWFnYXppbmVcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJtZ3pcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5wc2ZzXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLnB0Lm11bmR1c211bmRpXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLnB1Ymxpc2hhcmUtZGVsdGEtdHJlZVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcInFwc1wiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLnB2aS5wdGlkMVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcInB0aWRcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5wd2ctbXVsdGlwbGV4ZWRcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQucHdnLXhodG1sLXByaW50K3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZSxcbiAgICAgICAgZXh0ZW5zaW9uczogW1wieGh0bVwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLnF1YWxjb21tLmJyZXctYXBwLXJlc1wiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5xdWFyYW50YWluZW5ldFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5xdWFyay5xdWFya3hwcmVzc1wiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcInF4ZFwiLCBcInF4dFwiLCBcInF3ZFwiLCBcInF3dFwiLCBcInF4bFwiLCBcInF4YlwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLnF1b2JqZWN0LXF1b3hkb2N1bWVudFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5yYWRpc3lzLm1vbWwreG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQucmFkaXN5cy5tc21sK3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLnJhZGlzeXMubXNtbC1hdWRpdCt4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5yYWRpc3lzLm1zbWwtYXVkaXQtY29uZit4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5yYWRpc3lzLm1zbWwtYXVkaXQtY29ubit4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5yYWRpc3lzLm1zbWwtYXVkaXQtZGlhbG9nK3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLnJhZGlzeXMubXNtbC1hdWRpdC1zdHJlYW0reG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQucmFkaXN5cy5tc21sLWNvbmYreG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQucmFkaXN5cy5tc21sLWRpYWxvZyt4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5yYWRpc3lzLm1zbWwtZGlhbG9nLWJhc2UreG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQucmFkaXN5cy5tc21sLWRpYWxvZy1mYXgtZGV0ZWN0K3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLnJhZGlzeXMubXNtbC1kaWFsb2ctZmF4LXNlbmRyZWN2K3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLnJhZGlzeXMubXNtbC1kaWFsb2ctZ3JvdXAreG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQucmFkaXN5cy5tc21sLWRpYWxvZy1zcGVlY2greG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQucmFkaXN5cy5tc21sLWRpYWxvZy10cmFuc2Zvcm0reG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQucmFpbnN0b3IuZGF0YVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5yYXBpZFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5yYXJcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJyYXJcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5yZWFsdm5jLmJlZFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImJlZFwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLnJlY29yZGFyZS5tdXNpY3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcIm14bFwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLnJlY29yZGFyZS5tdXNpY3htbCt4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWUsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcIm11c2ljeG1sXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQucmVscGlwZVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5yZW5sZWFybi5ybHByaW50XCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLnJlc2lsaWVudC5sb2dpY1wiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5yZXN0ZnVsK2pzb25cIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5yaWcuY3J5cHRvbm90ZVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImNyeXB0b25vdGVcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5yaW0uY29kXCI6IHtcbiAgICAgICAgc291cmNlOiBcImFwYWNoZVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJjb2RcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5ybi1yZWFsbWVkaWFcIjoge1xuICAgICAgICBzb3VyY2U6IFwiYXBhY2hlXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcInJtXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQucm4tcmVhbG1lZGlhLXZiclwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJhcGFjaGVcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wicm12YlwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLnJvdXRlNjYubGluazY2K3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZSxcbiAgICAgICAgZXh0ZW5zaW9uczogW1wibGluazY2XCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQucnMtMjc0eFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5ydWNrdXMuZG93bmxvYWRcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuczNzbXNcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuc2FpbGluZ3RyYWNrZXIudHJhY2tcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJzdFwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLnNhclwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5zYm0uY2lkXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLnNibS5taWQyXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLnNjcmlidXNcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuc2VhbGVkLjNkZlwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5zZWFsZWQuY3NmXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLnNlYWxlZC5kb2NcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuc2VhbGVkLmVtbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5zZWFsZWQubWh0XCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLnNlYWxlZC5uZXRcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuc2VhbGVkLnBwdFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5zZWFsZWQudGlmZlwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5zZWFsZWQueGxzXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLnNlYWxlZG1lZGlhLnNvZnRzZWFsLmh0bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuc2VhbGVkbWVkaWEuc29mdHNlYWwucGRmXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLnNlZW1haWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJzZWVcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5zZWlzK2pzb25cIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5zZW1hXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wic2VtYVwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLnNlbWRcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJzZW1kXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuc2VtZlwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcInNlbWZcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5zaGFkZS1zYXZlLWZpbGVcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuc2hhbmEuaW5mb3JtZWQuZm9ybWRhdGFcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJpZm1cIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5zaGFuYS5pbmZvcm1lZC5mb3JtdGVtcGxhdGVcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJpdHBcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5zaGFuYS5pbmZvcm1lZC5pbnRlcmNoYW5nZVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImlpZlwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLnNoYW5hLmluZm9ybWVkLnBhY2thZ2VcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJpcGtcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5zaG9vdHByb29mK2pzb25cIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5zaG9wa2ljaytqc29uXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuc2hwXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLnNoeFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5zaWdyb2suc2Vzc2lvblwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5zaW10ZWNoLW1pbmRtYXBwZXJcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJ0d2RcIiwgXCJ0d2RzXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuc2lyZW4ranNvblwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLnNrZXRjaG9tZXRyeVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5zbWFmXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wibW1mXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuc21hcnQubm90ZWJvb2tcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuc21hcnQudGVhY2hlclwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcInRlYWNoZXJcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5zbWludGlvLnBvcnRhbHMuYXJjaGl2ZVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5zbmVzZGV2LXBhZ2UtdGFibGVcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuc29mdHdhcmU2MDIuZmlsbGVyLmZvcm0reG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJmb1wiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLnNvZnR3YXJlNjAyLmZpbGxlci5mb3JtLXhtbC16aXBcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuc29sZW50LnNka20reG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJzZGttXCIsIFwic2RrZFwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLnNwb3RmaXJlLmR4cFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImR4cFwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLnNwb3RmaXJlLnNmc1wiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcInNmc1wiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLnNxbGl0ZTNcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuc3NzLWNvZFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5zc3MtZHRmXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLnNzcy1udGZcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuc3RhcmRpdmlzaW9uLmNhbGNcIjoge1xuICAgICAgICBzb3VyY2U6IFwiYXBhY2hlXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcInNkY1wiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLnN0YXJkaXZpc2lvbi5kcmF3XCI6IHtcbiAgICAgICAgc291cmNlOiBcImFwYWNoZVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJzZGFcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5zdGFyZGl2aXNpb24uaW1wcmVzc1wiOiB7XG4gICAgICAgIHNvdXJjZTogXCJhcGFjaGVcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wic2RkXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuc3RhcmRpdmlzaW9uLm1hdGhcIjoge1xuICAgICAgICBzb3VyY2U6IFwiYXBhY2hlXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcInNtZlwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLnN0YXJkaXZpc2lvbi53cml0ZXJcIjoge1xuICAgICAgICBzb3VyY2U6IFwiYXBhY2hlXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcInNkd1wiLCBcInZvclwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLnN0YXJkaXZpc2lvbi53cml0ZXItZ2xvYmFsXCI6IHtcbiAgICAgICAgc291cmNlOiBcImFwYWNoZVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJzZ2xcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5zdGVwbWFuaWEucGFja2FnZVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcInNtemlwXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuc3RlcG1hbmlhLnN0ZXBjaGFydFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcInNtXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuc3RyZWV0LXN0cmVhbVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5zdW4ud2FkbCt4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWUsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcIndhZGxcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5zdW4ueG1sLmNhbGNcIjoge1xuICAgICAgICBzb3VyY2U6IFwiYXBhY2hlXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcInN4Y1wiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLnN1bi54bWwuY2FsYy50ZW1wbGF0ZVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJhcGFjaGVcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wic3RjXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuc3VuLnhtbC5kcmF3XCI6IHtcbiAgICAgICAgc291cmNlOiBcImFwYWNoZVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJzeGRcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5zdW4ueG1sLmRyYXcudGVtcGxhdGVcIjoge1xuICAgICAgICBzb3VyY2U6IFwiYXBhY2hlXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcInN0ZFwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLnN1bi54bWwuaW1wcmVzc1wiOiB7XG4gICAgICAgIHNvdXJjZTogXCJhcGFjaGVcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wic3hpXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuc3VuLnhtbC5pbXByZXNzLnRlbXBsYXRlXCI6IHtcbiAgICAgICAgc291cmNlOiBcImFwYWNoZVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJzdGlcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5zdW4ueG1sLm1hdGhcIjoge1xuICAgICAgICBzb3VyY2U6IFwiYXBhY2hlXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcInN4bVwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLnN1bi54bWwud3JpdGVyXCI6IHtcbiAgICAgICAgc291cmNlOiBcImFwYWNoZVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJzeHdcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5zdW4ueG1sLndyaXRlci5nbG9iYWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiYXBhY2hlXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcInN4Z1wiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLnN1bi54bWwud3JpdGVyLnRlbXBsYXRlXCI6IHtcbiAgICAgICAgc291cmNlOiBcImFwYWNoZVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJzdHdcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5zdXMtY2FsZW5kYXJcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJzdXNcIiwgXCJzdXNwXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuc3ZkXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wic3ZkXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuc3dpZnR2aWV3LWljc1wiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5zeWJ5bC5tb2wyXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLnN5Y2xlK3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLnN5ZnQranNvblwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLnN5bWJpYW4uaW5zdGFsbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJhcGFjaGVcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wic2lzXCIsIFwic2lzeFwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLnN5bmNtbCt4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjaGFyc2V0OiBcIlVURi04XCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZSxcbiAgICAgICAgZXh0ZW5zaW9uczogW1wieHNtXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuc3luY21sLmRtK3dieG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY2hhcnNldDogXCJVVEYtOFwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJiZG1cIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5zeW5jbWwuZG0reG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY2hhcnNldDogXCJVVEYtOFwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWUsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcInhkbVwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLnN5bmNtbC5kbS5ub3RpZmljYXRpb25cIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuc3luY21sLmRtZGRmK3dieG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLnN5bmNtbC5kbWRkZit4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjaGFyc2V0OiBcIlVURi04XCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZSxcbiAgICAgICAgZXh0ZW5zaW9uczogW1wiZGRmXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuc3luY21sLmRtdG5kcyt3YnhtbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5zeW5jbWwuZG10bmRzK3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNoYXJzZXQ6IFwiVVRGLThcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuc3luY21sLmRzLm5vdGlmaWNhdGlvblwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC50YWJsZXNjaGVtYStqc29uXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQudGFvLmludGVudC1tb2R1bGUtYXJjaGl2ZVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcInRhb1wiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLnRjcGR1bXAucGNhcFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcInBjYXBcIiwgXCJjYXBcIiwgXCJkbXBcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC50aGluay1jZWxsLnBwdHRjK2pzb25cIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC50bWQubWVkaWFmbGV4LmFwaSt4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC50bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQudG1vYmlsZS1saXZldHZcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJ0bW9cIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC50cmkub25lc291cmNlXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLnRyaWQudHB0XCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1widHB0XCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQudHJpc2NhcGUubXhzXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wibXhzXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQudHJ1ZWFwcFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcInRyYVwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLnRydWVkb2NcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQudWJpc29mdC53ZWJwbGF5ZXJcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQudWZkbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcInVmZFwiLCBcInVmZGxcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC51aWMub3NkbStqc29uXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQudWlxLnRoZW1lXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1widXR6XCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQudW1hamluXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1widW1qXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQudW5pdHlcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJ1bml0eXdlYlwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLnVvbWwreG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJ1b21sXCIsIFwidW9cIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC51cGxhbmV0LmFsZXJ0XCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLnVwbGFuZXQuYWxlcnQtd2J4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQudXBsYW5ldC5iZWFyZXItY2hvaWNlXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLnVwbGFuZXQuYmVhcmVyLWNob2ljZS13YnhtbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC51cGxhbmV0LmNhY2hlb3BcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQudXBsYW5ldC5jYWNoZW9wLXdieG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLnVwbGFuZXQuY2hhbm5lbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC51cGxhbmV0LmNoYW5uZWwtd2J4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQudXBsYW5ldC5saXN0XCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLnVwbGFuZXQubGlzdC13YnhtbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC51cGxhbmV0Lmxpc3RjbWRcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQudXBsYW5ldC5saXN0Y21kLXdieG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLnVwbGFuZXQuc2lnbmFsXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLnVyaS1tYXBcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQudmFsdmUuc291cmNlLm1hdGVyaWFsXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLnZjeFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcInZjeFwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLnZkLXN0dWR5XCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLnZlY3RvcndvcmtzXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLnZlbCtqc29uXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQudmVyYWlzb24udHNtLXJlcG9ydCtjYm9yXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLnZlcmFpc29uLnRzbS1yZXBvcnQranNvblwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLnZlcmltYXRyaXgudmNhc1wiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC52ZXJpdG9uZS5haW9uK2pzb25cIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC52ZXJ5YW50LnRoaW5cIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQudmVzLmVuY3J5cHRlZFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC52aWRzb2Z0LnZpZGNvbmZlcmVuY2VcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQudmlzaW9cIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJ2c2RcIiwgXCJ2c3RcIiwgXCJ2c3NcIiwgXCJ2c3dcIiwgXCJ2c2R4XCIsIFwidnR4XCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQudmlzaW9uYXJ5XCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1widmlzXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQudml2aWRlbmNlLnNjcmlwdGZpbGVcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQudm9jYWxzaGFwZXIudnNwNFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC52c2ZcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJ2c2ZcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC53YXAuc2ljXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLndhcC5zbGNcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQud2FwLndieG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY2hhcnNldDogXCJVVEYtOFwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJ3YnhtbFwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLndhcC53bWxjXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wid21sY1wiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLndhcC53bWxzY3JpcHRjXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wid21sc2NcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC53YXNtZmxvdy53YWZsXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLndlYnR1cmJvXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wid3RiXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQud2ZhLmRwcFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC53ZmEucDJwXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLndmYS53c2NcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQud2luZG93cy5kZXZpY2VwYWlyaW5nXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLndtY1wiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC53bWYuYm9vdHN0cmFwXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLndvbGZyYW0ubWF0aGVtYXRpY2FcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQud29sZnJhbS5tYXRoZW1hdGljYS5wYWNrYWdlXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLndvbGZyYW0ucGxheWVyXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wibmJwXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQud29yZGxpZnRcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQud29yZHBlcmZlY3RcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJ3cGRcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC53cWRcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJ3cWRcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC53cnEtaHAzMDAwLWxhYmVsbGVkXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLnd0LnN0ZlwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcInN0ZlwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLnd2LmNzcCt3YnhtbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC53di5jc3AreG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQud3Yuc3NwK3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLnhhY21sK2pzb25cIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC54YXJhXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wieGFyXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQueGFyaW4uY3BqXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLnhlY3JldHMtZW5jcnlwdGVkXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLnhmZGxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJ4ZmRsXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQueGZkbC53ZWJmb3JtXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLnhtaSt4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC54bXBpZS5jcGtnXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLnhtcGllLmRwa2dcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQueG1waWUucGxhblwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC54bXBpZS5wcGtnXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLnhtcGllLnhsaW1cIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQueWFtYWhhLmh2LWRpY1wiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImh2ZFwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLnlhbWFoYS5odi1zY3JpcHRcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJodnNcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC55YW1haGEuaHYtdm9pY2VcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJodnBcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC55YW1haGEub3BlbnNjb3JlZm9ybWF0XCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wib3NmXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQueWFtYWhhLm9wZW5zY29yZWZvcm1hdC5vc2ZwdmcreG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJvc2ZwdmdcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC55YW1haGEucmVtb3RlLXNldHVwXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLnlhbWFoYS5zbWFmLWF1ZGlvXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wic2FmXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQueWFtYWhhLnNtYWYtcGhyYXNlXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wic3BmXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQueWFtYWhhLnRocm91Z2gtbmduXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLnlhbWFoYS50dW5uZWwtdWRwZW5jYXBcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQueWFvd2VtZVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC55ZWxsb3dyaXZlci1jdXN0b20tbWVudVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImNtcFwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLnp1bFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcInppclwiLCBcInppcnpcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC56emF6ei5kZWNrK3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZSxcbiAgICAgICAgZXh0ZW5zaW9uczogW1wiemF6XCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92b2ljZXhtbCt4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWUsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcInZ4bWxcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZvdWNoZXItY21zK2pzb25cIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZvdWNoZXItandzK2pzb25cIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZwXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdnArY29zZVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZwK2p3dFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZxLXJ0Y3B4clwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3dhc21cIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWUsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcIndhc21cIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3dhdGNoZXJpbmZvK3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZSxcbiAgICAgICAgZXh0ZW5zaW9uczogW1wid2lmXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi93ZWJwdXNoLW9wdGlvbnMranNvblwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vd2hvaXNwcC1xdWVyeVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3dob2lzcHAtcmVzcG9uc2VcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi93aWRnZXRcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJ3Z3RcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3dpbmhscFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJhcGFjaGVcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wiaGxwXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi93aXRhXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vd29yZHBlcmZlY3Q1LjFcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi93c2RsK3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZSxcbiAgICAgICAgZXh0ZW5zaW9uczogW1wid3NkbFwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vd3Nwb2xpY3kreG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJ3c3BvbGljeVwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24veC03ei1jb21wcmVzc2VkXCI6IHtcbiAgICAgICAgc291cmNlOiBcImFwYWNoZVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IGZhbHNlLFxuICAgICAgICBleHRlbnNpb25zOiBbXCI3elwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24veC1hYml3b3JkXCI6IHtcbiAgICAgICAgc291cmNlOiBcImFwYWNoZVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJhYndcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3gtYWNlLWNvbXByZXNzZWRcIjoge1xuICAgICAgICBzb3VyY2U6IFwiYXBhY2hlXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImFjZVwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24veC1hbWZcIjoge1xuICAgICAgICBzb3VyY2U6IFwiYXBhY2hlXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3gtYXBwbGUtZGlza2ltYWdlXCI6IHtcbiAgICAgICAgc291cmNlOiBcImFwYWNoZVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJkbWdcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3gtYXJqXCI6IHtcbiAgICAgICAgY29tcHJlc3NpYmxlOiBmYWxzZSxcbiAgICAgICAgZXh0ZW5zaW9uczogW1wiYXJqXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi94LWF1dGhvcndhcmUtYmluXCI6IHtcbiAgICAgICAgc291cmNlOiBcImFwYWNoZVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJhYWJcIiwgXCJ4MzJcIiwgXCJ1MzJcIiwgXCJ2b3hcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3gtYXV0aG9yd2FyZS1tYXBcIjoge1xuICAgICAgICBzb3VyY2U6IFwiYXBhY2hlXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImFhbVwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24veC1hdXRob3J3YXJlLXNlZ1wiOiB7XG4gICAgICAgIHNvdXJjZTogXCJhcGFjaGVcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wiYWFzXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi94LWJjcGlvXCI6IHtcbiAgICAgICAgc291cmNlOiBcImFwYWNoZVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJiY3Bpb1wiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24veC1iZG9jXCI6IHtcbiAgICAgICAgY29tcHJlc3NpYmxlOiBmYWxzZSxcbiAgICAgICAgZXh0ZW5zaW9uczogW1wiYmRvY1wiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24veC1iaXR0b3JyZW50XCI6IHtcbiAgICAgICAgc291cmNlOiBcImFwYWNoZVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJ0b3JyZW50XCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi94LWJsZW5kZXJcIjoge1xuICAgICAgICBleHRlbnNpb25zOiBbXCJibGVuZFwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24veC1ibG9yYlwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJhcGFjaGVcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wiYmxiXCIsIFwiYmxvcmJcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3gtYnppcFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJhcGFjaGVcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiBmYWxzZSxcbiAgICAgICAgZXh0ZW5zaW9uczogW1wiYnpcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3gtYnppcDJcIjoge1xuICAgICAgICBzb3VyY2U6IFwiYXBhY2hlXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogZmFsc2UsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImJ6MlwiLCBcImJvelwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24veC1jYnJcIjoge1xuICAgICAgICBzb3VyY2U6IFwiYXBhY2hlXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImNiclwiLCBcImNiYVwiLCBcImNidFwiLCBcImNielwiLCBcImNiN1wiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24veC1jZGxpbmtcIjoge1xuICAgICAgICBzb3VyY2U6IFwiYXBhY2hlXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcInZjZFwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24veC1jZnMtY29tcHJlc3NlZFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJhcGFjaGVcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wiY2ZzXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi94LWNoYXRcIjoge1xuICAgICAgICBzb3VyY2U6IFwiYXBhY2hlXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImNoYXRcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3gtY2hlc3MtcGduXCI6IHtcbiAgICAgICAgc291cmNlOiBcImFwYWNoZVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJwZ25cIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3gtY2hyb21lLWV4dGVuc2lvblwiOiB7XG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImNyeFwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24veC1jb2NvYVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJuZ2lueFwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJjY29cIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3gtY29tcHJlc3NcIjoge1xuICAgICAgICBzb3VyY2U6IFwiYXBhY2hlXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3gtY29tcHJlc3NlZFwiOiB7XG4gICAgICAgIGV4dGVuc2lvbnM6IFtcInJhclwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24veC1jb25mZXJlbmNlXCI6IHtcbiAgICAgICAgc291cmNlOiBcImFwYWNoZVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJuc2NcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3gtY3Bpb1wiOiB7XG4gICAgICAgIHNvdXJjZTogXCJhcGFjaGVcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wiY3Bpb1wiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24veC1jc2hcIjoge1xuICAgICAgICBzb3VyY2U6IFwiYXBhY2hlXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImNzaFwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24veC1kZWJcIjoge1xuICAgICAgICBjb21wcmVzc2libGU6IGZhbHNlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi94LWRlYmlhbi1wYWNrYWdlXCI6IHtcbiAgICAgICAgc291cmNlOiBcImFwYWNoZVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJkZWJcIiwgXCJ1ZGViXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi94LWRnYy1jb21wcmVzc2VkXCI6IHtcbiAgICAgICAgc291cmNlOiBcImFwYWNoZVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJkZ2NcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3gtZGlyZWN0b3JcIjoge1xuICAgICAgICBzb3VyY2U6IFwiYXBhY2hlXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImRpclwiLCBcImRjclwiLCBcImR4clwiLCBcImNzdFwiLCBcImNjdFwiLCBcImN4dFwiLCBcInczZFwiLCBcImZnZFwiLCBcInN3YVwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24veC1kb29tXCI6IHtcbiAgICAgICAgc291cmNlOiBcImFwYWNoZVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJ3YWRcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3gtZHRibmN4K3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJhcGFjaGVcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJuY3hcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3gtZHRib29rK3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJhcGFjaGVcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJkdGJcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3gtZHRicmVzb3VyY2UreG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImFwYWNoZVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWUsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcInJlc1wiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24veC1kdmlcIjoge1xuICAgICAgICBzb3VyY2U6IFwiYXBhY2hlXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogZmFsc2UsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImR2aVwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24veC1lbnZveVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJhcGFjaGVcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wiZXZ5XCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi94LWV2YVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJhcGFjaGVcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wiZXZhXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi94LWZvbnQtYmRmXCI6IHtcbiAgICAgICAgc291cmNlOiBcImFwYWNoZVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJiZGZcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3gtZm9udC1kb3NcIjoge1xuICAgICAgICBzb3VyY2U6IFwiYXBhY2hlXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3gtZm9udC1mcmFtZW1ha2VyXCI6IHtcbiAgICAgICAgc291cmNlOiBcImFwYWNoZVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi94LWZvbnQtZ2hvc3RzY3JpcHRcIjoge1xuICAgICAgICBzb3VyY2U6IFwiYXBhY2hlXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImdzZlwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24veC1mb250LWxpYmdyeFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJhcGFjaGVcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24veC1mb250LWxpbnV4LXBzZlwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJhcGFjaGVcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wicHNmXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi94LWZvbnQtcGNmXCI6IHtcbiAgICAgICAgc291cmNlOiBcImFwYWNoZVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJwY2ZcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3gtZm9udC1zbmZcIjoge1xuICAgICAgICBzb3VyY2U6IFwiYXBhY2hlXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcInNuZlwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24veC1mb250LXNwZWVkb1wiOiB7XG4gICAgICAgIHNvdXJjZTogXCJhcGFjaGVcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24veC1mb250LXN1bm9zLW5ld3NcIjoge1xuICAgICAgICBzb3VyY2U6IFwiYXBhY2hlXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3gtZm9udC10eXBlMVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJhcGFjaGVcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wicGZhXCIsIFwicGZiXCIsIFwicGZtXCIsIFwiYWZtXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi94LWZvbnQtdmZvbnRcIjoge1xuICAgICAgICBzb3VyY2U6IFwiYXBhY2hlXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3gtZnJlZWFyY1wiOiB7XG4gICAgICAgIHNvdXJjZTogXCJhcGFjaGVcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wiYXJjXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi94LWZ1dHVyZXNwbGFzaFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJhcGFjaGVcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wic3BsXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi94LWdjYS1jb21wcmVzc2VkXCI6IHtcbiAgICAgICAgc291cmNlOiBcImFwYWNoZVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJnY2FcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3gtZ2x1bHhcIjoge1xuICAgICAgICBzb3VyY2U6IFwiYXBhY2hlXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcInVseFwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24veC1nbnVtZXJpY1wiOiB7XG4gICAgICAgIHNvdXJjZTogXCJhcGFjaGVcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wiZ251bWVyaWNcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3gtZ3JhbXBzLXhtbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJhcGFjaGVcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wiZ3JhbXBzXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi94LWd0YXJcIjoge1xuICAgICAgICBzb3VyY2U6IFwiYXBhY2hlXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImd0YXJcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3gtZ3ppcFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJhcGFjaGVcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24veC1oZGZcIjoge1xuICAgICAgICBzb3VyY2U6IFwiYXBhY2hlXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImhkZlwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24veC1odHRwZC1waHBcIjoge1xuICAgICAgICBjb21wcmVzc2libGU6IHRydWUsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcInBocFwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24veC1pbnN0YWxsLWluc3RydWN0aW9uc1wiOiB7XG4gICAgICAgIHNvdXJjZTogXCJhcGFjaGVcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wiaW5zdGFsbFwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24veC1pcHluYitqc29uXCI6IHtcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJpcHluYlwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24veC1pc285NjYwLWltYWdlXCI6IHtcbiAgICAgICAgc291cmNlOiBcImFwYWNoZVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJpc29cIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3gtaXdvcmsta2V5bm90ZS1zZmZrZXlcIjoge1xuICAgICAgICBleHRlbnNpb25zOiBbXCJrZXlcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3gtaXdvcmstbnVtYmVycy1zZmZudW1iZXJzXCI6IHtcbiAgICAgICAgZXh0ZW5zaW9uczogW1wibnVtYmVyc1wiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24veC1pd29yay1wYWdlcy1zZmZwYWdlc1wiOiB7XG4gICAgICAgIGV4dGVuc2lvbnM6IFtcInBhZ2VzXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi94LWphdmEtYXJjaGl2ZS1kaWZmXCI6IHtcbiAgICAgICAgc291cmNlOiBcIm5naW54XCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImphcmRpZmZcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3gtamF2YS1qbmxwLWZpbGVcIjoge1xuICAgICAgICBzb3VyY2U6IFwiYXBhY2hlXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogZmFsc2UsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImpubHBcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3gtamF2YXNjcmlwdFwiOiB7XG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24veC1rZWVwYXNzMlwiOiB7XG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImtkYnhcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3gtbGF0ZXhcIjoge1xuICAgICAgICBzb3VyY2U6IFwiYXBhY2hlXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogZmFsc2UsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImxhdGV4XCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi94LWx1YS1ieXRlY29kZVwiOiB7XG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImx1YWNcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3gtbHpoLWNvbXByZXNzZWRcIjoge1xuICAgICAgICBzb3VyY2U6IFwiYXBhY2hlXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImx6aFwiLCBcImxoYVwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24veC1tYWtlc2VsZlwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJuZ2lueFwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJydW5cIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3gtbWllXCI6IHtcbiAgICAgICAgc291cmNlOiBcImFwYWNoZVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJtaWVcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3gtbW9iaXBvY2tldC1lYm9va1wiOiB7XG4gICAgICAgIHNvdXJjZTogXCJhcGFjaGVcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wicHJjXCIsIFwibW9iaVwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24veC1tcGVndXJsXCI6IHtcbiAgICAgICAgY29tcHJlc3NpYmxlOiBmYWxzZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24veC1tcy1hcHBsaWNhdGlvblwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJhcGFjaGVcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wiYXBwbGljYXRpb25cIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3gtbXMtc2hvcnRjdXRcIjoge1xuICAgICAgICBzb3VyY2U6IFwiYXBhY2hlXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImxua1wiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24veC1tcy13bWRcIjoge1xuICAgICAgICBzb3VyY2U6IFwiYXBhY2hlXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcIndtZFwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24veC1tcy13bXpcIjoge1xuICAgICAgICBzb3VyY2U6IFwiYXBhY2hlXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcIndtelwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24veC1tcy14YmFwXCI6IHtcbiAgICAgICAgc291cmNlOiBcImFwYWNoZVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJ4YmFwXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi94LW1zYWNjZXNzXCI6IHtcbiAgICAgICAgc291cmNlOiBcImFwYWNoZVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJtZGJcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3gtbXNiaW5kZXJcIjoge1xuICAgICAgICBzb3VyY2U6IFwiYXBhY2hlXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcIm9iZFwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24veC1tc2NhcmRmaWxlXCI6IHtcbiAgICAgICAgc291cmNlOiBcImFwYWNoZVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJjcmRcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3gtbXNjbGlwXCI6IHtcbiAgICAgICAgc291cmNlOiBcImFwYWNoZVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJjbHBcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3gtbXNkb3MtcHJvZ3JhbVwiOiB7XG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImV4ZVwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24veC1tc2Rvd25sb2FkXCI6IHtcbiAgICAgICAgc291cmNlOiBcImFwYWNoZVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJleGVcIiwgXCJkbGxcIiwgXCJjb21cIiwgXCJiYXRcIiwgXCJtc2lcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3gtbXNtZWRpYXZpZXdcIjoge1xuICAgICAgICBzb3VyY2U6IFwiYXBhY2hlXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcIm12YlwiLCBcIm0xM1wiLCBcIm0xNFwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24veC1tc21ldGFmaWxlXCI6IHtcbiAgICAgICAgc291cmNlOiBcImFwYWNoZVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJ3bWZcIiwgXCJ3bXpcIiwgXCJlbWZcIiwgXCJlbXpcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3gtbXNtb25leVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJhcGFjaGVcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wibW55XCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi94LW1zcHVibGlzaGVyXCI6IHtcbiAgICAgICAgc291cmNlOiBcImFwYWNoZVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJwdWJcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3gtbXNzY2hlZHVsZVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJhcGFjaGVcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wic2NkXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi94LW1zdGVybWluYWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiYXBhY2hlXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcInRybVwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24veC1tc3dyaXRlXCI6IHtcbiAgICAgICAgc291cmNlOiBcImFwYWNoZVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJ3cmlcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3gtbmV0Y2RmXCI6IHtcbiAgICAgICAgc291cmNlOiBcImFwYWNoZVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJuY1wiLCBcImNkZlwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24veC1ucy1wcm94eS1hdXRvY29uZmlnXCI6IHtcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJwYWNcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3gtbnpiXCI6IHtcbiAgICAgICAgc291cmNlOiBcImFwYWNoZVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJuemJcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3gtcGVybFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJuZ2lueFwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJwbFwiLCBcInBtXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi94LXBpbG90XCI6IHtcbiAgICAgICAgc291cmNlOiBcIm5naW54XCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcInByY1wiLCBcInBkYlwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24veC1wa2NzMTJcIjoge1xuICAgICAgICBzb3VyY2U6IFwiYXBhY2hlXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogZmFsc2UsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcInAxMlwiLCBcInBmeFwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24veC1wa2NzNy1jZXJ0aWZpY2F0ZXNcIjoge1xuICAgICAgICBzb3VyY2U6IFwiYXBhY2hlXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcInA3YlwiLCBcInNwY1wiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24veC1wa2NzNy1jZXJ0cmVxcmVzcFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJhcGFjaGVcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wicDdyXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi94LXBraS1tZXNzYWdlXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24veC1yYXItY29tcHJlc3NlZFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJhcGFjaGVcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiBmYWxzZSxcbiAgICAgICAgZXh0ZW5zaW9uczogW1wicmFyXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi94LXJlZGhhdC1wYWNrYWdlLW1hbmFnZXJcIjoge1xuICAgICAgICBzb3VyY2U6IFwibmdpbnhcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wicnBtXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi94LXJlc2VhcmNoLWluZm8tc3lzdGVtc1wiOiB7XG4gICAgICAgIHNvdXJjZTogXCJhcGFjaGVcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wicmlzXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi94LXNlYVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJuZ2lueFwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJzZWFcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3gtc2hcIjoge1xuICAgICAgICBzb3VyY2U6IFwiYXBhY2hlXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZSxcbiAgICAgICAgZXh0ZW5zaW9uczogW1wic2hcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3gtc2hhclwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJhcGFjaGVcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wic2hhclwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24veC1zaG9ja3dhdmUtZmxhc2hcIjoge1xuICAgICAgICBzb3VyY2U6IFwiYXBhY2hlXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogZmFsc2UsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcInN3ZlwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24veC1zaWx2ZXJsaWdodC1hcHBcIjoge1xuICAgICAgICBzb3VyY2U6IFwiYXBhY2hlXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcInhhcFwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24veC1zcWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiYXBhY2hlXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcInNxbFwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24veC1zdHVmZml0XCI6IHtcbiAgICAgICAgc291cmNlOiBcImFwYWNoZVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IGZhbHNlLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJzaXRcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3gtc3R1ZmZpdHhcIjoge1xuICAgICAgICBzb3VyY2U6IFwiYXBhY2hlXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcInNpdHhcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3gtc3VicmlwXCI6IHtcbiAgICAgICAgc291cmNlOiBcImFwYWNoZVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJzcnRcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3gtc3Y0Y3Bpb1wiOiB7XG4gICAgICAgIHNvdXJjZTogXCJhcGFjaGVcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wic3Y0Y3Bpb1wiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24veC1zdjRjcmNcIjoge1xuICAgICAgICBzb3VyY2U6IFwiYXBhY2hlXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcInN2NGNyY1wiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24veC10M3ZtLWltYWdlXCI6IHtcbiAgICAgICAgc291cmNlOiBcImFwYWNoZVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJ0M1wiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24veC10YWRzXCI6IHtcbiAgICAgICAgc291cmNlOiBcImFwYWNoZVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJnYW1cIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3gtdGFyXCI6IHtcbiAgICAgICAgc291cmNlOiBcImFwYWNoZVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWUsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcInRhclwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24veC10Y2xcIjoge1xuICAgICAgICBzb3VyY2U6IFwiYXBhY2hlXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcInRjbFwiLCBcInRrXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi94LXRleFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJhcGFjaGVcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1widGV4XCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi94LXRleC10Zm1cIjoge1xuICAgICAgICBzb3VyY2U6IFwiYXBhY2hlXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcInRmbVwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24veC10ZXhpbmZvXCI6IHtcbiAgICAgICAgc291cmNlOiBcImFwYWNoZVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJ0ZXhpbmZvXCIsIFwidGV4aVwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24veC10Z2lmXCI6IHtcbiAgICAgICAgc291cmNlOiBcImFwYWNoZVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJvYmpcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3gtdXN0YXJcIjoge1xuICAgICAgICBzb3VyY2U6IFwiYXBhY2hlXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcInVzdGFyXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi94LXZpcnR1YWxib3gtaGRkXCI6IHtcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJoZGRcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3gtdmlydHVhbGJveC1vdmFcIjoge1xuICAgICAgICBjb21wcmVzc2libGU6IHRydWUsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcIm92YVwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24veC12aXJ0dWFsYm94LW92ZlwiOiB7XG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZSxcbiAgICAgICAgZXh0ZW5zaW9uczogW1wib3ZmXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi94LXZpcnR1YWxib3gtdmJveFwiOiB7XG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZSxcbiAgICAgICAgZXh0ZW5zaW9uczogW1widmJveFwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24veC12aXJ0dWFsYm94LXZib3gtZXh0cGFja1wiOiB7XG4gICAgICAgIGNvbXByZXNzaWJsZTogZmFsc2UsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcInZib3gtZXh0cGFja1wiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24veC12aXJ0dWFsYm94LXZkaVwiOiB7XG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZSxcbiAgICAgICAgZXh0ZW5zaW9uczogW1widmRpXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi94LXZpcnR1YWxib3gtdmhkXCI6IHtcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJ2aGRcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3gtdmlydHVhbGJveC12bWRrXCI6IHtcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJ2bWRrXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi94LXdhaXMtc291cmNlXCI6IHtcbiAgICAgICAgc291cmNlOiBcImFwYWNoZVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJzcmNcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3gtd2ViLWFwcC1tYW5pZmVzdCtqc29uXCI6IHtcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJ3ZWJhcHBcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3gtd3d3LWZvcm0tdXJsZW5jb2RlZFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24veC14NTA5LWNhLWNlcnRcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJkZXJcIiwgXCJjcnRcIiwgXCJwZW1cIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3gteDUwOS1jYS1yYS1jZXJ0XCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24veC14NTA5LW5leHQtY2EtY2VydFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3gteGZpZ1wiOiB7XG4gICAgICAgIHNvdXJjZTogXCJhcGFjaGVcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wiZmlnXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi94LXhsaWZmK3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJhcGFjaGVcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJ4bGZcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3gteHBpbnN0YWxsXCI6IHtcbiAgICAgICAgc291cmNlOiBcImFwYWNoZVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IGZhbHNlLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJ4cGlcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3gteHpcIjoge1xuICAgICAgICBzb3VyY2U6IFwiYXBhY2hlXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcInh6XCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi94LXppcC1jb21wcmVzc2VkXCI6IHtcbiAgICAgICAgZXh0ZW5zaW9uczogW1wiemlwXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi94LXptYWNoaW5lXCI6IHtcbiAgICAgICAgc291cmNlOiBcImFwYWNoZVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJ6MVwiLCBcInoyXCIsIFwiejNcIiwgXCJ6NFwiLCBcIno1XCIsIFwiejZcIiwgXCJ6N1wiLCBcIno4XCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi94NDAwLWJwXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24veGFjbWwreG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi94YW1sK3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJhcGFjaGVcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJ4YW1sXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi94Y2FwLWF0dCt4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWUsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcInhhdlwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24veGNhcC1jYXBzK3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZSxcbiAgICAgICAgZXh0ZW5zaW9uczogW1wieGNhXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi94Y2FwLWRpZmYreG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJ4ZGZcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3hjYXAtZWwreG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJ4ZWxcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3hjYXAtZXJyb3IreG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi94Y2FwLW5zK3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZSxcbiAgICAgICAgZXh0ZW5zaW9uczogW1wieG5zXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi94Y29uLWNvbmZlcmVuY2UtaW5mbyt4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3hjb24tY29uZmVyZW5jZS1pbmZvLWRpZmYreG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi94ZW5jK3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZSxcbiAgICAgICAgZXh0ZW5zaW9uczogW1wieGVuY1wiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24veGZkZlwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcInhmZGZcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3hodG1sK3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZSxcbiAgICAgICAgZXh0ZW5zaW9uczogW1wieGh0bWxcIiwgXCJ4aHRcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3hodG1sLXZvaWNlK3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJhcGFjaGVcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi94bGlmZit4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWUsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcInhsZlwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24veG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJ4bWxcIiwgXCJ4c2xcIiwgXCJ4c2RcIiwgXCJybmdcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3htbC1kdGRcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWUsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImR0ZFwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24veG1sLWV4dGVybmFsLXBhcnNlZC1lbnRpdHlcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi94bWwtcGF0Y2greG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi94bXBwK3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24veG9wK3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZSxcbiAgICAgICAgZXh0ZW5zaW9uczogW1wieG9wXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi94cHJvYyt4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiYXBhY2hlXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZSxcbiAgICAgICAgZXh0ZW5zaW9uczogW1wieHBsXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi94c2x0K3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZSxcbiAgICAgICAgZXh0ZW5zaW9uczogW1wieHNsXCIsIFwieHNsdFwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24veHNwZit4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiYXBhY2hlXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZSxcbiAgICAgICAgZXh0ZW5zaW9uczogW1wieHNwZlwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24veHYreG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJteG1sXCIsIFwieGh2bWxcIiwgXCJ4dm1sXCIsIFwieHZtXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi95YW1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24veWFuZ1wiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcInlhbmdcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3lhbmctZGF0YStjYm9yXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24veWFuZy1kYXRhK2pzb25cIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3lhbmctZGF0YSt4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3lhbmctcGF0Y2granNvblwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24veWFuZy1wYXRjaCt4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3lhbmctc2lkK2pzb25cIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3lpbit4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWUsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcInlpblwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vemlwXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiBmYWxzZSxcbiAgICAgICAgZXh0ZW5zaW9uczogW1wiemlwXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi96aXArZG90bG90dGllXCI6IHtcbiAgICAgICAgZXh0ZW5zaW9uczogW1wibG90dGllXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi96bGliXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24venN0ZFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImF1ZGlvLzFkLWludGVybGVhdmVkLXBhcml0eWZlY1wiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImF1ZGlvLzMya2FkcGNtXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXVkaW8vM2dwcFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogZmFsc2UsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcIjNncHBcIl1cbiAgICAgIH0sXG4gICAgICBcImF1ZGlvLzNncHAyXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXVkaW8vYWFjXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wiYWR0c1wiLCBcImFhY1wiXVxuICAgICAgfSxcbiAgICAgIFwiYXVkaW8vYWMzXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXVkaW8vYWRwY21cIjoge1xuICAgICAgICBzb3VyY2U6IFwiYXBhY2hlXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImFkcFwiXVxuICAgICAgfSxcbiAgICAgIFwiYXVkaW8vYW1yXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wiYW1yXCJdXG4gICAgICB9LFxuICAgICAgXCJhdWRpby9hbXItd2JcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhdWRpby9hbXItd2IrXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXVkaW8vYXB0eFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImF1ZGlvL2FzY1wiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImF1ZGlvL2F0cmFjLWFkdmFuY2VkLWxvc3NsZXNzXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXVkaW8vYXRyYWMteFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImF1ZGlvL2F0cmFjM1wiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImF1ZGlvL2Jhc2ljXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiBmYWxzZSxcbiAgICAgICAgZXh0ZW5zaW9uczogW1wiYXVcIiwgXCJzbmRcIl1cbiAgICAgIH0sXG4gICAgICBcImF1ZGlvL2J2MTZcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhdWRpby9idjMyXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXVkaW8vY2xlYXJtb2RlXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXVkaW8vY25cIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhdWRpby9kYXQxMlwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImF1ZGlvL2Rsc1wiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImF1ZGlvL2Rzci1lczIwMTEwOFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImF1ZGlvL2Rzci1lczIwMjA1MFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImF1ZGlvL2Rzci1lczIwMjIxMVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImF1ZGlvL2Rzci1lczIwMjIxMlwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImF1ZGlvL2R2XCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXVkaW8vZHZpNFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImF1ZGlvL2VhYzNcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhdWRpby9lbmNhcHJ0cFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImF1ZGlvL2V2cmNcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhdWRpby9ldnJjLXFjcFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImF1ZGlvL2V2cmMwXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXVkaW8vZXZyYzFcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhdWRpby9ldnJjYlwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImF1ZGlvL2V2cmNiMFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImF1ZGlvL2V2cmNiMVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImF1ZGlvL2V2cmNud1wiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImF1ZGlvL2V2cmNudzBcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhdWRpby9ldnJjbncxXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXVkaW8vZXZyY3diXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXVkaW8vZXZyY3diMFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImF1ZGlvL2V2cmN3YjFcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhdWRpby9ldnNcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhdWRpby9mbGFjXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXVkaW8vZmxleGZlY1wiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImF1ZGlvL2Z3ZHJlZFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImF1ZGlvL2c3MTEtMFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImF1ZGlvL2c3MTlcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhdWRpby9nNzIyXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXVkaW8vZzcyMjFcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhdWRpby9nNzIzXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXVkaW8vZzcyNi0xNlwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImF1ZGlvL2c3MjYtMjRcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhdWRpby9nNzI2LTMyXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXVkaW8vZzcyNi00MFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImF1ZGlvL2c3MjhcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhdWRpby9nNzI5XCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXVkaW8vZzcyOTFcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhdWRpby9nNzI5ZFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImF1ZGlvL2c3MjllXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXVkaW8vZ3NtXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXVkaW8vZ3NtLWVmclwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImF1ZGlvL2dzbS1oci0wOFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImF1ZGlvL2lsYmNcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhdWRpby9pcC1tcl92Mi41XCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXVkaW8vaXNhY1wiOiB7XG4gICAgICAgIHNvdXJjZTogXCJhcGFjaGVcIlxuICAgICAgfSxcbiAgICAgIFwiYXVkaW8vbDE2XCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXVkaW8vbDIwXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXVkaW8vbDI0XCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiBmYWxzZVxuICAgICAgfSxcbiAgICAgIFwiYXVkaW8vbDhcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhdWRpby9scGNcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhdWRpby9tYXRyb3NrYVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImF1ZGlvL21lbHBcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhdWRpby9tZWxwMTIwMFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImF1ZGlvL21lbHAyNDAwXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXVkaW8vbWVscDYwMFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImF1ZGlvL21oYXNcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhdWRpby9taWRpXCI6IHtcbiAgICAgICAgc291cmNlOiBcImFwYWNoZVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJtaWRcIiwgXCJtaWRpXCIsIFwia2FyXCIsIFwicm1pXCJdXG4gICAgICB9LFxuICAgICAgXCJhdWRpby9taWRpLWNsaXBcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhdWRpby9tb2JpbGUteG1mXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wibXhtZlwiXVxuICAgICAgfSxcbiAgICAgIFwiYXVkaW8vbXAzXCI6IHtcbiAgICAgICAgY29tcHJlc3NpYmxlOiBmYWxzZSxcbiAgICAgICAgZXh0ZW5zaW9uczogW1wibXAzXCJdXG4gICAgICB9LFxuICAgICAgXCJhdWRpby9tcDRcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IGZhbHNlLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJtNGFcIiwgXCJtcDRhXCIsIFwibTRiXCJdXG4gICAgICB9LFxuICAgICAgXCJhdWRpby9tcDRhLWxhdG1cIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhdWRpby9tcGFcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhdWRpby9tcGEtcm9idXN0XCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXVkaW8vbXBlZ1wiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogZmFsc2UsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcIm1wZ2FcIiwgXCJtcDJcIiwgXCJtcDJhXCIsIFwibXAzXCIsIFwibTJhXCIsIFwibTNhXCJdXG4gICAgICB9LFxuICAgICAgXCJhdWRpby9tcGVnNC1nZW5lcmljXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXVkaW8vbXVzZXBhY2tcIjoge1xuICAgICAgICBzb3VyY2U6IFwiYXBhY2hlXCJcbiAgICAgIH0sXG4gICAgICBcImF1ZGlvL29nZ1wiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogZmFsc2UsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcIm9nYVwiLCBcIm9nZ1wiLCBcInNweFwiLCBcIm9wdXNcIl1cbiAgICAgIH0sXG4gICAgICBcImF1ZGlvL29wdXNcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhdWRpby9wYXJpdHlmZWNcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhdWRpby9wY21hXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXVkaW8vcGNtYS13YlwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImF1ZGlvL3BjbXVcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhdWRpby9wY211LXdiXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXVkaW8vcHJzLnNpZFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImF1ZGlvL3FjZWxwXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXVkaW8vcmFwdG9yZmVjXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXVkaW8vcmVkXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXVkaW8vcnRwLWVuYy1hZXNjbTEyOFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImF1ZGlvL3J0cC1taWRpXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXVkaW8vcnRwbG9vcGJhY2tcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhdWRpby9ydHhcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhdWRpby9zM21cIjoge1xuICAgICAgICBzb3VyY2U6IFwiYXBhY2hlXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcInMzbVwiXVxuICAgICAgfSxcbiAgICAgIFwiYXVkaW8vc2NpcFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImF1ZGlvL3NpbGtcIjoge1xuICAgICAgICBzb3VyY2U6IFwiYXBhY2hlXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcInNpbFwiXVxuICAgICAgfSxcbiAgICAgIFwiYXVkaW8vc212XCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXVkaW8vc212LXFjcFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImF1ZGlvL3NtdjBcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhdWRpby9zb2ZhXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXVkaW8vc3AtbWlkaVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImF1ZGlvL3NwZWV4XCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXVkaW8vdDE0MGNcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhdWRpby90MzhcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhdWRpby90ZWxlcGhvbmUtZXZlbnRcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhdWRpby90ZXRyYV9hY2VscFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImF1ZGlvL3RldHJhX2FjZWxwX2JiXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXVkaW8vdG9uZVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImF1ZGlvL3RzdmNpc1wiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImF1ZGlvL3VlbWNsaXBcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhdWRpby91bHBmZWNcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhdWRpby91c2FjXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXVkaW8vdmR2aVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImF1ZGlvL3Ztci13YlwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImF1ZGlvL3ZuZC4zZ3BwLml1ZnBcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhdWRpby92bmQuNHNiXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXVkaW8vdm5kLmF1ZGlva296XCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXVkaW8vdm5kLmNlbHBcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhdWRpby92bmQuY2lzY28ubnNlXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXVkaW8vdm5kLmNtbGVzLnJhZGlvLWV2ZW50c1wiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImF1ZGlvL3ZuZC5jbnMuYW5wMVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImF1ZGlvL3ZuZC5jbnMuaW5mMVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImF1ZGlvL3ZuZC5kZWNlLmF1ZGlvXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1widXZhXCIsIFwidXZ2YVwiXVxuICAgICAgfSxcbiAgICAgIFwiYXVkaW8vdm5kLmRpZ2l0YWwtd2luZHNcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJlb2xcIl1cbiAgICAgIH0sXG4gICAgICBcImF1ZGlvL3ZuZC5kbG5hLmFkdHNcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhdWRpby92bmQuZG9sYnkuaGVhYWMuMVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImF1ZGlvL3ZuZC5kb2xieS5oZWFhYy4yXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXVkaW8vdm5kLmRvbGJ5Lm1scFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImF1ZGlvL3ZuZC5kb2xieS5tcHNcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhdWRpby92bmQuZG9sYnkucGwyXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXVkaW8vdm5kLmRvbGJ5LnBsMnhcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhdWRpby92bmQuZG9sYnkucGwyelwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImF1ZGlvL3ZuZC5kb2xieS5wdWxzZS4xXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXVkaW8vdm5kLmRyYVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImRyYVwiXVxuICAgICAgfSxcbiAgICAgIFwiYXVkaW8vdm5kLmR0c1wiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImR0c1wiXVxuICAgICAgfSxcbiAgICAgIFwiYXVkaW8vdm5kLmR0cy5oZFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImR0c2hkXCJdXG4gICAgICB9LFxuICAgICAgXCJhdWRpby92bmQuZHRzLnVoZFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImF1ZGlvL3ZuZC5kdmIuZmlsZVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImF1ZGlvL3ZuZC5ldmVyYWQucGxqXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXVkaW8vdm5kLmhucy5hdWRpb1wiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImF1ZGlvL3ZuZC5sdWNlbnQudm9pY2VcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJsdnBcIl1cbiAgICAgIH0sXG4gICAgICBcImF1ZGlvL3ZuZC5tcy1wbGF5cmVhZHkubWVkaWEucHlhXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wicHlhXCJdXG4gICAgICB9LFxuICAgICAgXCJhdWRpby92bmQubm9raWEubW9iaWxlLXhtZlwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImF1ZGlvL3ZuZC5ub3J0ZWwudmJrXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXVkaW8vdm5kLm51ZXJhLmVjZWxwNDgwMFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImVjZWxwNDgwMFwiXVxuICAgICAgfSxcbiAgICAgIFwiYXVkaW8vdm5kLm51ZXJhLmVjZWxwNzQ3MFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImVjZWxwNzQ3MFwiXVxuICAgICAgfSxcbiAgICAgIFwiYXVkaW8vdm5kLm51ZXJhLmVjZWxwOTYwMFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImVjZWxwOTYwMFwiXVxuICAgICAgfSxcbiAgICAgIFwiYXVkaW8vdm5kLm9jdGVsLnNiY1wiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImF1ZGlvL3ZuZC5wcmVzb251cy5tdWx0aXRyYWNrXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXVkaW8vdm5kLnFjZWxwXCI6IHtcbiAgICAgICAgc291cmNlOiBcImFwYWNoZVwiXG4gICAgICB9LFxuICAgICAgXCJhdWRpby92bmQucmhldG9yZXguMzJrYWRwY21cIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhdWRpby92bmQucmlwXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wicmlwXCJdXG4gICAgICB9LFxuICAgICAgXCJhdWRpby92bmQucm4tcmVhbGF1ZGlvXCI6IHtcbiAgICAgICAgY29tcHJlc3NpYmxlOiBmYWxzZVxuICAgICAgfSxcbiAgICAgIFwiYXVkaW8vdm5kLnNlYWxlZG1lZGlhLnNvZnRzZWFsLm1wZWdcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhdWRpby92bmQudm14LmN2c2RcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhdWRpby92bmQud2F2ZVwiOiB7XG4gICAgICAgIGNvbXByZXNzaWJsZTogZmFsc2VcbiAgICAgIH0sXG4gICAgICBcImF1ZGlvL3ZvcmJpc1wiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogZmFsc2VcbiAgICAgIH0sXG4gICAgICBcImF1ZGlvL3ZvcmJpcy1jb25maWdcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhdWRpby93YXZcIjoge1xuICAgICAgICBjb21wcmVzc2libGU6IGZhbHNlLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJ3YXZcIl1cbiAgICAgIH0sXG4gICAgICBcImF1ZGlvL3dhdmVcIjoge1xuICAgICAgICBjb21wcmVzc2libGU6IGZhbHNlLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJ3YXZcIl1cbiAgICAgIH0sXG4gICAgICBcImF1ZGlvL3dlYm1cIjoge1xuICAgICAgICBzb3VyY2U6IFwiYXBhY2hlXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogZmFsc2UsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcIndlYmFcIl1cbiAgICAgIH0sXG4gICAgICBcImF1ZGlvL3gtYWFjXCI6IHtcbiAgICAgICAgc291cmNlOiBcImFwYWNoZVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IGZhbHNlLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJhYWNcIl1cbiAgICAgIH0sXG4gICAgICBcImF1ZGlvL3gtYWlmZlwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJhcGFjaGVcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wiYWlmXCIsIFwiYWlmZlwiLCBcImFpZmNcIl1cbiAgICAgIH0sXG4gICAgICBcImF1ZGlvL3gtY2FmXCI6IHtcbiAgICAgICAgc291cmNlOiBcImFwYWNoZVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IGZhbHNlLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJjYWZcIl1cbiAgICAgIH0sXG4gICAgICBcImF1ZGlvL3gtZmxhY1wiOiB7XG4gICAgICAgIHNvdXJjZTogXCJhcGFjaGVcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wiZmxhY1wiXVxuICAgICAgfSxcbiAgICAgIFwiYXVkaW8veC1tNGFcIjoge1xuICAgICAgICBzb3VyY2U6IFwibmdpbnhcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wibTRhXCJdXG4gICAgICB9LFxuICAgICAgXCJhdWRpby94LW1hdHJvc2thXCI6IHtcbiAgICAgICAgc291cmNlOiBcImFwYWNoZVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJta2FcIl1cbiAgICAgIH0sXG4gICAgICBcImF1ZGlvL3gtbXBlZ3VybFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJhcGFjaGVcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wibTN1XCJdXG4gICAgICB9LFxuICAgICAgXCJhdWRpby94LW1zLXdheFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJhcGFjaGVcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wid2F4XCJdXG4gICAgICB9LFxuICAgICAgXCJhdWRpby94LW1zLXdtYVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJhcGFjaGVcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wid21hXCJdXG4gICAgICB9LFxuICAgICAgXCJhdWRpby94LXBuLXJlYWxhdWRpb1wiOiB7XG4gICAgICAgIHNvdXJjZTogXCJhcGFjaGVcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wicmFtXCIsIFwicmFcIl1cbiAgICAgIH0sXG4gICAgICBcImF1ZGlvL3gtcG4tcmVhbGF1ZGlvLXBsdWdpblwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJhcGFjaGVcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wicm1wXCJdXG4gICAgICB9LFxuICAgICAgXCJhdWRpby94LXJlYWxhdWRpb1wiOiB7XG4gICAgICAgIHNvdXJjZTogXCJuZ2lueFwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJyYVwiXVxuICAgICAgfSxcbiAgICAgIFwiYXVkaW8veC10dGFcIjoge1xuICAgICAgICBzb3VyY2U6IFwiYXBhY2hlXCJcbiAgICAgIH0sXG4gICAgICBcImF1ZGlvL3gtd2F2XCI6IHtcbiAgICAgICAgc291cmNlOiBcImFwYWNoZVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJ3YXZcIl1cbiAgICAgIH0sXG4gICAgICBcImF1ZGlvL3htXCI6IHtcbiAgICAgICAgc291cmNlOiBcImFwYWNoZVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJ4bVwiXVxuICAgICAgfSxcbiAgICAgIFwiY2hlbWljYWwveC1jZHhcIjoge1xuICAgICAgICBzb3VyY2U6IFwiYXBhY2hlXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImNkeFwiXVxuICAgICAgfSxcbiAgICAgIFwiY2hlbWljYWwveC1jaWZcIjoge1xuICAgICAgICBzb3VyY2U6IFwiYXBhY2hlXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImNpZlwiXVxuICAgICAgfSxcbiAgICAgIFwiY2hlbWljYWwveC1jbWRmXCI6IHtcbiAgICAgICAgc291cmNlOiBcImFwYWNoZVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJjbWRmXCJdXG4gICAgICB9LFxuICAgICAgXCJjaGVtaWNhbC94LWNtbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJhcGFjaGVcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wiY21sXCJdXG4gICAgICB9LFxuICAgICAgXCJjaGVtaWNhbC94LWNzbWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiYXBhY2hlXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImNzbWxcIl1cbiAgICAgIH0sXG4gICAgICBcImNoZW1pY2FsL3gtcGRiXCI6IHtcbiAgICAgICAgc291cmNlOiBcImFwYWNoZVwiXG4gICAgICB9LFxuICAgICAgXCJjaGVtaWNhbC94LXh5elwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJhcGFjaGVcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wieHl6XCJdXG4gICAgICB9LFxuICAgICAgXCJmb250L2NvbGxlY3Rpb25cIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJ0dGNcIl1cbiAgICAgIH0sXG4gICAgICBcImZvbnQvb3RmXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJvdGZcIl1cbiAgICAgIH0sXG4gICAgICBcImZvbnQvc2ZudFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImZvbnQvdHRmXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJ0dGZcIl1cbiAgICAgIH0sXG4gICAgICBcImZvbnQvd29mZlwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcIndvZmZcIl1cbiAgICAgIH0sXG4gICAgICBcImZvbnQvd29mZjJcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJ3b2ZmMlwiXVxuICAgICAgfSxcbiAgICAgIFwiaW1hZ2UvYWNlc1wiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImV4clwiXVxuICAgICAgfSxcbiAgICAgIFwiaW1hZ2UvYXBuZ1wiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogZmFsc2UsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImFwbmdcIl1cbiAgICAgIH0sXG4gICAgICBcImltYWdlL2F2Y2lcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJhdmNpXCJdXG4gICAgICB9LFxuICAgICAgXCJpbWFnZS9hdmNzXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wiYXZjc1wiXVxuICAgICAgfSxcbiAgICAgIFwiaW1hZ2UvYXZpZlwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogZmFsc2UsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImF2aWZcIl1cbiAgICAgIH0sXG4gICAgICBcImltYWdlL2JtcFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZSxcbiAgICAgICAgZXh0ZW5zaW9uczogW1wiYm1wXCIsIFwiZGliXCJdXG4gICAgICB9LFxuICAgICAgXCJpbWFnZS9jZ21cIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJjZ21cIl1cbiAgICAgIH0sXG4gICAgICBcImltYWdlL2RpY29tLXJsZVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImRybGVcIl1cbiAgICAgIH0sXG4gICAgICBcImltYWdlL2RweFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImRweFwiXVxuICAgICAgfSxcbiAgICAgIFwiaW1hZ2UvZW1mXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wiZW1mXCJdXG4gICAgICB9LFxuICAgICAgXCJpbWFnZS9maXRzXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wiZml0c1wiXVxuICAgICAgfSxcbiAgICAgIFwiaW1hZ2UvZzNmYXhcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJnM1wiXVxuICAgICAgfSxcbiAgICAgIFwiaW1hZ2UvZ2lmXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiBmYWxzZSxcbiAgICAgICAgZXh0ZW5zaW9uczogW1wiZ2lmXCJdXG4gICAgICB9LFxuICAgICAgXCJpbWFnZS9oZWljXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wiaGVpY1wiXVxuICAgICAgfSxcbiAgICAgIFwiaW1hZ2UvaGVpYy1zZXF1ZW5jZVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImhlaWNzXCJdXG4gICAgICB9LFxuICAgICAgXCJpbWFnZS9oZWlmXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wiaGVpZlwiXVxuICAgICAgfSxcbiAgICAgIFwiaW1hZ2UvaGVpZi1zZXF1ZW5jZVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImhlaWZzXCJdXG4gICAgICB9LFxuICAgICAgXCJpbWFnZS9oZWoya1wiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImhlajJcIl1cbiAgICAgIH0sXG4gICAgICBcImltYWdlL2llZlwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImllZlwiXVxuICAgICAgfSxcbiAgICAgIFwiaW1hZ2UvajJjXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiaW1hZ2UvamFpaVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImphaWlcIl1cbiAgICAgIH0sXG4gICAgICBcImltYWdlL2phaXNcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJqYWlzXCJdXG4gICAgICB9LFxuICAgICAgXCJpbWFnZS9qbHNcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJqbHNcIl1cbiAgICAgIH0sXG4gICAgICBcImltYWdlL2pwMlwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogZmFsc2UsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImpwMlwiLCBcImpwZzJcIl1cbiAgICAgIH0sXG4gICAgICBcImltYWdlL2pwZWdcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IGZhbHNlLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJqcGdcIiwgXCJqcGVnXCIsIFwianBlXCJdXG4gICAgICB9LFxuICAgICAgXCJpbWFnZS9qcGhcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJqcGhcIl1cbiAgICAgIH0sXG4gICAgICBcImltYWdlL2pwaGNcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJqaGNcIl1cbiAgICAgIH0sXG4gICAgICBcImltYWdlL2pwbVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogZmFsc2UsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImpwbVwiLCBcImpwZ21cIl1cbiAgICAgIH0sXG4gICAgICBcImltYWdlL2pweFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogZmFsc2UsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImpweFwiLCBcImpwZlwiXVxuICAgICAgfSxcbiAgICAgIFwiaW1hZ2UvanhsXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wianhsXCJdXG4gICAgICB9LFxuICAgICAgXCJpbWFnZS9qeHJcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJqeHJcIl1cbiAgICAgIH0sXG4gICAgICBcImltYWdlL2p4cmFcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJqeHJhXCJdXG4gICAgICB9LFxuICAgICAgXCJpbWFnZS9qeHJzXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wianhyc1wiXVxuICAgICAgfSxcbiAgICAgIFwiaW1hZ2UvanhzXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wianhzXCJdXG4gICAgICB9LFxuICAgICAgXCJpbWFnZS9qeHNjXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wianhzY1wiXVxuICAgICAgfSxcbiAgICAgIFwiaW1hZ2UvanhzaVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImp4c2lcIl1cbiAgICAgIH0sXG4gICAgICBcImltYWdlL2p4c3NcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJqeHNzXCJdXG4gICAgICB9LFxuICAgICAgXCJpbWFnZS9rdHhcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJrdHhcIl1cbiAgICAgIH0sXG4gICAgICBcImltYWdlL2t0eDJcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJrdHgyXCJdXG4gICAgICB9LFxuICAgICAgXCJpbWFnZS9uYXBscHNcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJpbWFnZS9wanBlZ1wiOiB7XG4gICAgICAgIGNvbXByZXNzaWJsZTogZmFsc2UsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImpmaWZcIl1cbiAgICAgIH0sXG4gICAgICBcImltYWdlL3BuZ1wiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogZmFsc2UsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcInBuZ1wiXVxuICAgICAgfSxcbiAgICAgIFwiaW1hZ2UvcHJzLmJ0aWZcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJidGlmXCIsIFwiYnRmXCJdXG4gICAgICB9LFxuICAgICAgXCJpbWFnZS9wcnMucHRpXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wicHRpXCJdXG4gICAgICB9LFxuICAgICAgXCJpbWFnZS9wd2ctcmFzdGVyXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiaW1hZ2Uvc2dpXCI6IHtcbiAgICAgICAgc291cmNlOiBcImFwYWNoZVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJzZ2lcIl1cbiAgICAgIH0sXG4gICAgICBcImltYWdlL3N2Zyt4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWUsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcInN2Z1wiLCBcInN2Z3pcIl1cbiAgICAgIH0sXG4gICAgICBcImltYWdlL3QzOFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcInQzOFwiXVxuICAgICAgfSxcbiAgICAgIFwiaW1hZ2UvdGlmZlwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogZmFsc2UsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcInRpZlwiLCBcInRpZmZcIl1cbiAgICAgIH0sXG4gICAgICBcImltYWdlL3RpZmYtZnhcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJ0ZnhcIl1cbiAgICAgIH0sXG4gICAgICBcImltYWdlL3ZuZC5hZG9iZS5waG90b3Nob3BcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWUsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcInBzZFwiXVxuICAgICAgfSxcbiAgICAgIFwiaW1hZ2Uvdm5kLmFpcnppcC5hY2NlbGVyYXRvci5henZcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJhenZcIl1cbiAgICAgIH0sXG4gICAgICBcImltYWdlL3ZuZC5jbGlwXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiaW1hZ2Uvdm5kLmNucy5pbmYyXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiaW1hZ2Uvdm5kLmRlY2UuZ3JhcGhpY1wiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcInV2aVwiLCBcInV2dmlcIiwgXCJ1dmdcIiwgXCJ1dnZnXCJdXG4gICAgICB9LFxuICAgICAgXCJpbWFnZS92bmQuZGp2dVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImRqdnVcIiwgXCJkanZcIl1cbiAgICAgIH0sXG4gICAgICBcImltYWdlL3ZuZC5kdmIuc3VidGl0bGVcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJzdWJcIl1cbiAgICAgIH0sXG4gICAgICBcImltYWdlL3ZuZC5kd2dcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJkd2dcIl1cbiAgICAgIH0sXG4gICAgICBcImltYWdlL3ZuZC5keGZcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJkeGZcIl1cbiAgICAgIH0sXG4gICAgICBcImltYWdlL3ZuZC5mYXN0Ymlkc2hlZXRcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJmYnNcIl1cbiAgICAgIH0sXG4gICAgICBcImltYWdlL3ZuZC5mcHhcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJmcHhcIl1cbiAgICAgIH0sXG4gICAgICBcImltYWdlL3ZuZC5mc3RcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJmc3RcIl1cbiAgICAgIH0sXG4gICAgICBcImltYWdlL3ZuZC5mdWppeGVyb3guZWRtaWNzLW1tclwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcIm1tclwiXVxuICAgICAgfSxcbiAgICAgIFwiaW1hZ2Uvdm5kLmZ1aml4ZXJveC5lZG1pY3MtcmxjXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wicmxjXCJdXG4gICAgICB9LFxuICAgICAgXCJpbWFnZS92bmQuZ2xvYmFsZ3JhcGhpY3MucGdiXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiaW1hZ2Uvdm5kLm1pY3Jvc29mdC5pY29uXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJpY29cIl1cbiAgICAgIH0sXG4gICAgICBcImltYWdlL3ZuZC5taXhcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJpbWFnZS92bmQubW96aWxsYS5hcG5nXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiaW1hZ2Uvdm5kLm1zLWRkc1wiOiB7XG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZSxcbiAgICAgICAgZXh0ZW5zaW9uczogW1wiZGRzXCJdXG4gICAgICB9LFxuICAgICAgXCJpbWFnZS92bmQubXMtbW9kaVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcIm1kaVwiXVxuICAgICAgfSxcbiAgICAgIFwiaW1hZ2Uvdm5kLm1zLXBob3RvXCI6IHtcbiAgICAgICAgc291cmNlOiBcImFwYWNoZVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJ3ZHBcIl1cbiAgICAgIH0sXG4gICAgICBcImltYWdlL3ZuZC5uZXQtZnB4XCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wibnB4XCJdXG4gICAgICB9LFxuICAgICAgXCJpbWFnZS92bmQucGNvLmIxNlwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImIxNlwiXVxuICAgICAgfSxcbiAgICAgIFwiaW1hZ2Uvdm5kLnJhZGlhbmNlXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiaW1hZ2Uvdm5kLnNlYWxlZC5wbmdcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJpbWFnZS92bmQuc2VhbGVkbWVkaWEuc29mdHNlYWwuZ2lmXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiaW1hZ2Uvdm5kLnNlYWxlZG1lZGlhLnNvZnRzZWFsLmpwZ1wiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImltYWdlL3ZuZC5zdmZcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJpbWFnZS92bmQudGVuY2VudC50YXBcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJ0YXBcIl1cbiAgICAgIH0sXG4gICAgICBcImltYWdlL3ZuZC52YWx2ZS5zb3VyY2UudGV4dHVyZVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcInZ0ZlwiXVxuICAgICAgfSxcbiAgICAgIFwiaW1hZ2Uvdm5kLndhcC53Ym1wXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wid2JtcFwiXVxuICAgICAgfSxcbiAgICAgIFwiaW1hZ2Uvdm5kLnhpZmZcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJ4aWZcIl1cbiAgICAgIH0sXG4gICAgICBcImltYWdlL3ZuZC56YnJ1c2gucGN4XCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wicGN4XCJdXG4gICAgICB9LFxuICAgICAgXCJpbWFnZS93ZWJwXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wid2VicFwiXVxuICAgICAgfSxcbiAgICAgIFwiaW1hZ2Uvd21mXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wid21mXCJdXG4gICAgICB9LFxuICAgICAgXCJpbWFnZS94LTNkc1wiOiB7XG4gICAgICAgIHNvdXJjZTogXCJhcGFjaGVcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wiM2RzXCJdXG4gICAgICB9LFxuICAgICAgXCJpbWFnZS94LWFkb2JlLWRuZ1wiOiB7XG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImRuZ1wiXVxuICAgICAgfSxcbiAgICAgIFwiaW1hZ2UveC1jbXUtcmFzdGVyXCI6IHtcbiAgICAgICAgc291cmNlOiBcImFwYWNoZVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJyYXNcIl1cbiAgICAgIH0sXG4gICAgICBcImltYWdlL3gtY214XCI6IHtcbiAgICAgICAgc291cmNlOiBcImFwYWNoZVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJjbXhcIl1cbiAgICAgIH0sXG4gICAgICBcImltYWdlL3gtZW1mXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiaW1hZ2UveC1mcmVlaGFuZFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJhcGFjaGVcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wiZmhcIiwgXCJmaGNcIiwgXCJmaDRcIiwgXCJmaDVcIiwgXCJmaDdcIl1cbiAgICAgIH0sXG4gICAgICBcImltYWdlL3gtaWNvblwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJhcGFjaGVcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJpY29cIl1cbiAgICAgIH0sXG4gICAgICBcImltYWdlL3gtam5nXCI6IHtcbiAgICAgICAgc291cmNlOiBcIm5naW54XCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImpuZ1wiXVxuICAgICAgfSxcbiAgICAgIFwiaW1hZ2UveC1tcnNpZC1pbWFnZVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJhcGFjaGVcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wic2lkXCJdXG4gICAgICB9LFxuICAgICAgXCJpbWFnZS94LW1zLWJtcFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJuZ2lueFwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWUsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImJtcFwiXVxuICAgICAgfSxcbiAgICAgIFwiaW1hZ2UveC1wY3hcIjoge1xuICAgICAgICBzb3VyY2U6IFwiYXBhY2hlXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcInBjeFwiXVxuICAgICAgfSxcbiAgICAgIFwiaW1hZ2UveC1waWN0XCI6IHtcbiAgICAgICAgc291cmNlOiBcImFwYWNoZVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJwaWNcIiwgXCJwY3RcIl1cbiAgICAgIH0sXG4gICAgICBcImltYWdlL3gtcG9ydGFibGUtYW55bWFwXCI6IHtcbiAgICAgICAgc291cmNlOiBcImFwYWNoZVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJwbm1cIl1cbiAgICAgIH0sXG4gICAgICBcImltYWdlL3gtcG9ydGFibGUtYml0bWFwXCI6IHtcbiAgICAgICAgc291cmNlOiBcImFwYWNoZVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJwYm1cIl1cbiAgICAgIH0sXG4gICAgICBcImltYWdlL3gtcG9ydGFibGUtZ3JheW1hcFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJhcGFjaGVcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wicGdtXCJdXG4gICAgICB9LFxuICAgICAgXCJpbWFnZS94LXBvcnRhYmxlLXBpeG1hcFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJhcGFjaGVcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wicHBtXCJdXG4gICAgICB9LFxuICAgICAgXCJpbWFnZS94LXJnYlwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJhcGFjaGVcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wicmdiXCJdXG4gICAgICB9LFxuICAgICAgXCJpbWFnZS94LXRnYVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJhcGFjaGVcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1widGdhXCJdXG4gICAgICB9LFxuICAgICAgXCJpbWFnZS94LXdtZlwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImltYWdlL3gteGJpdG1hcFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJhcGFjaGVcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wieGJtXCJdXG4gICAgICB9LFxuICAgICAgXCJpbWFnZS94LXhjZlwiOiB7XG4gICAgICAgIGNvbXByZXNzaWJsZTogZmFsc2VcbiAgICAgIH0sXG4gICAgICBcImltYWdlL3gteHBpeG1hcFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJhcGFjaGVcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wieHBtXCJdXG4gICAgICB9LFxuICAgICAgXCJpbWFnZS94LXh3aW5kb3dkdW1wXCI6IHtcbiAgICAgICAgc291cmNlOiBcImFwYWNoZVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJ4d2RcIl1cbiAgICAgIH0sXG4gICAgICBcIm1lc3NhZ2UvYmh0dHBcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJtZXNzYWdlL2NwaW1cIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJtZXNzYWdlL2RlbGl2ZXJ5LXN0YXR1c1wiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcIm1lc3NhZ2UvZGlzcG9zaXRpb24tbm90aWZpY2F0aW9uXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1xuICAgICAgICAgIFwiZGlzcG9zaXRpb24tbm90aWZpY2F0aW9uXCJcbiAgICAgICAgXVxuICAgICAgfSxcbiAgICAgIFwibWVzc2FnZS9leHRlcm5hbC1ib2R5XCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwibWVzc2FnZS9mZWVkYmFjay1yZXBvcnRcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJtZXNzYWdlL2dsb2JhbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcInU4bXNnXCJdXG4gICAgICB9LFxuICAgICAgXCJtZXNzYWdlL2dsb2JhbC1kZWxpdmVyeS1zdGF0dXNcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJ1OGRzblwiXVxuICAgICAgfSxcbiAgICAgIFwibWVzc2FnZS9nbG9iYWwtZGlzcG9zaXRpb24tbm90aWZpY2F0aW9uXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1widThtZG5cIl1cbiAgICAgIH0sXG4gICAgICBcIm1lc3NhZ2UvZ2xvYmFsLWhlYWRlcnNcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJ1OGhkclwiXVxuICAgICAgfSxcbiAgICAgIFwibWVzc2FnZS9odHRwXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiBmYWxzZVxuICAgICAgfSxcbiAgICAgIFwibWVzc2FnZS9pbWRuK3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwibWVzc2FnZS9tbHNcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJtZXNzYWdlL25ld3NcIjoge1xuICAgICAgICBzb3VyY2U6IFwiYXBhY2hlXCJcbiAgICAgIH0sXG4gICAgICBcIm1lc3NhZ2Uvb2h0dHAtcmVxXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwibWVzc2FnZS9vaHR0cC1yZXNcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJtZXNzYWdlL3BhcnRpYWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IGZhbHNlXG4gICAgICB9LFxuICAgICAgXCJtZXNzYWdlL3JmYzgyMlwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZSxcbiAgICAgICAgZXh0ZW5zaW9uczogW1wiZW1sXCIsIFwibWltZVwiLCBcIm1odFwiLCBcIm1odG1sXCJdXG4gICAgICB9LFxuICAgICAgXCJtZXNzYWdlL3MtaHR0cFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJhcGFjaGVcIlxuICAgICAgfSxcbiAgICAgIFwibWVzc2FnZS9zaXBcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJtZXNzYWdlL3NpcGZyYWdcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJtZXNzYWdlL3RyYWNraW5nLXN0YXR1c1wiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcIm1lc3NhZ2Uvdm5kLnNpLnNpbXBcIjoge1xuICAgICAgICBzb3VyY2U6IFwiYXBhY2hlXCJcbiAgICAgIH0sXG4gICAgICBcIm1lc3NhZ2Uvdm5kLndmYS53c2NcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJ3c2NcIl1cbiAgICAgIH0sXG4gICAgICBcIm1vZGVsLzNtZlwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcIjNtZlwiXVxuICAgICAgfSxcbiAgICAgIFwibW9kZWwvZTU3XCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwibW9kZWwvZ2x0Zitqc29uXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJnbHRmXCJdXG4gICAgICB9LFxuICAgICAgXCJtb2RlbC9nbHRmLWJpbmFyeVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZSxcbiAgICAgICAgZXh0ZW5zaW9uczogW1wiZ2xiXCJdXG4gICAgICB9LFxuICAgICAgXCJtb2RlbC9pZ2VzXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiBmYWxzZSxcbiAgICAgICAgZXh0ZW5zaW9uczogW1wiaWdzXCIsIFwiaWdlc1wiXVxuICAgICAgfSxcbiAgICAgIFwibW9kZWwvanRcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJqdFwiXVxuICAgICAgfSxcbiAgICAgIFwibW9kZWwvbWVzaFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogZmFsc2UsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcIm1zaFwiLCBcIm1lc2hcIiwgXCJzaWxvXCJdXG4gICAgICB9LFxuICAgICAgXCJtb2RlbC9tdGxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJtdGxcIl1cbiAgICAgIH0sXG4gICAgICBcIm1vZGVsL29ialwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcIm9ialwiXVxuICAgICAgfSxcbiAgICAgIFwibW9kZWwvcHJjXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wicHJjXCJdXG4gICAgICB9LFxuICAgICAgXCJtb2RlbC9zdGVwXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wic3RlcFwiLCBcInN0cFwiLCBcInN0cG5jXCIsIFwicDIxXCIsIFwiMjEwXCJdXG4gICAgICB9LFxuICAgICAgXCJtb2RlbC9zdGVwK3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZSxcbiAgICAgICAgZXh0ZW5zaW9uczogW1wic3RweFwiXVxuICAgICAgfSxcbiAgICAgIFwibW9kZWwvc3RlcCt6aXBcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IGZhbHNlLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJzdHB6XCJdXG4gICAgICB9LFxuICAgICAgXCJtb2RlbC9zdGVwLXhtbCt6aXBcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IGZhbHNlLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJzdHB4elwiXVxuICAgICAgfSxcbiAgICAgIFwibW9kZWwvc3RsXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wic3RsXCJdXG4gICAgICB9LFxuICAgICAgXCJtb2RlbC91M2RcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJ1M2RcIl1cbiAgICAgIH0sXG4gICAgICBcIm1vZGVsL3ZuZC5iYXJ5XCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wiYmFyeVwiXVxuICAgICAgfSxcbiAgICAgIFwibW9kZWwvdm5kLmNsZFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImNsZFwiXVxuICAgICAgfSxcbiAgICAgIFwibW9kZWwvdm5kLmNvbGxhZGEreG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJkYWVcIl1cbiAgICAgIH0sXG4gICAgICBcIm1vZGVsL3ZuZC5kd2ZcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJkd2ZcIl1cbiAgICAgIH0sXG4gICAgICBcIm1vZGVsL3ZuZC5mbGF0bGFuZC4zZG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwibW9kZWwvdm5kLmdkbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImdkbFwiXVxuICAgICAgfSxcbiAgICAgIFwibW9kZWwvdm5kLmdzLWdkbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJhcGFjaGVcIlxuICAgICAgfSxcbiAgICAgIFwibW9kZWwvdm5kLmdzLmdkbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcIm1vZGVsL3ZuZC5ndHdcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJndHdcIl1cbiAgICAgIH0sXG4gICAgICBcIm1vZGVsL3ZuZC5tb21sK3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwibW9kZWwvdm5kLm10c1wiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcIm10c1wiXVxuICAgICAgfSxcbiAgICAgIFwibW9kZWwvdm5kLm9wZW5nZXhcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJvZ2V4XCJdXG4gICAgICB9LFxuICAgICAgXCJtb2RlbC92bmQucGFyYXNvbGlkLnRyYW5zbWl0LmJpbmFyeVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcInhfYlwiXVxuICAgICAgfSxcbiAgICAgIFwibW9kZWwvdm5kLnBhcmFzb2xpZC50cmFuc21pdC50ZXh0XCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wieF90XCJdXG4gICAgICB9LFxuICAgICAgXCJtb2RlbC92bmQucHl0aGEucHlveFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcInB5b1wiLCBcInB5b3hcIl1cbiAgICAgIH0sXG4gICAgICBcIm1vZGVsL3ZuZC5yb3NldHRlLmFubm90YXRlZC1kYXRhLW1vZGVsXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwibW9kZWwvdm5kLnNhcC52ZHNcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJ2ZHNcIl1cbiAgICAgIH0sXG4gICAgICBcIm1vZGVsL3ZuZC51c2RhXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1widXNkYVwiXVxuICAgICAgfSxcbiAgICAgIFwibW9kZWwvdm5kLnVzZHoremlwXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiBmYWxzZSxcbiAgICAgICAgZXh0ZW5zaW9uczogW1widXNkelwiXVxuICAgICAgfSxcbiAgICAgIFwibW9kZWwvdm5kLnZhbHZlLnNvdXJjZS5jb21waWxlZC1tYXBcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJic3BcIl1cbiAgICAgIH0sXG4gICAgICBcIm1vZGVsL3ZuZC52dHVcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJ2dHVcIl1cbiAgICAgIH0sXG4gICAgICBcIm1vZGVsL3ZybWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IGZhbHNlLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJ3cmxcIiwgXCJ2cm1sXCJdXG4gICAgICB9LFxuICAgICAgXCJtb2RlbC94M2QrYmluYXJ5XCI6IHtcbiAgICAgICAgc291cmNlOiBcImFwYWNoZVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IGZhbHNlLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJ4M2RiXCIsIFwieDNkYnpcIl1cbiAgICAgIH0sXG4gICAgICBcIm1vZGVsL3gzZCtmYXN0aW5mb3NldFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcIngzZGJcIl1cbiAgICAgIH0sXG4gICAgICBcIm1vZGVsL3gzZCt2cm1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImFwYWNoZVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IGZhbHNlLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJ4M2R2XCIsIFwieDNkdnpcIl1cbiAgICAgIH0sXG4gICAgICBcIm1vZGVsL3gzZCt4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWUsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcIngzZFwiLCBcIngzZHpcIl1cbiAgICAgIH0sXG4gICAgICBcIm1vZGVsL3gzZC12cm1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wieDNkdlwiXVxuICAgICAgfSxcbiAgICAgIFwibXVsdGlwYXJ0L2FsdGVybmF0aXZlXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiBmYWxzZVxuICAgICAgfSxcbiAgICAgIFwibXVsdGlwYXJ0L2FwcGxlZG91YmxlXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwibXVsdGlwYXJ0L2J5dGVyYW5nZXNcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJtdWx0aXBhcnQvZGlnZXN0XCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwibXVsdGlwYXJ0L2VuY3J5cHRlZFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogZmFsc2VcbiAgICAgIH0sXG4gICAgICBcIm11bHRpcGFydC9mb3JtLWRhdGFcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IGZhbHNlXG4gICAgICB9LFxuICAgICAgXCJtdWx0aXBhcnQvaGVhZGVyLXNldFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcIm11bHRpcGFydC9taXhlZFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcIm11bHRpcGFydC9tdWx0aWxpbmd1YWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJtdWx0aXBhcnQvcGFyYWxsZWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJtdWx0aXBhcnQvcmVsYXRlZFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogZmFsc2VcbiAgICAgIH0sXG4gICAgICBcIm11bHRpcGFydC9yZXBvcnRcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJtdWx0aXBhcnQvc2lnbmVkXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiBmYWxzZVxuICAgICAgfSxcbiAgICAgIFwibXVsdGlwYXJ0L3ZuZC5iaW50Lm1lZC1wbHVzXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwibXVsdGlwYXJ0L3ZvaWNlLW1lc3NhZ2VcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJtdWx0aXBhcnQveC1taXhlZC1yZXBsYWNlXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwidGV4dC8xZC1pbnRlcmxlYXZlZC1wYXJpdHlmZWNcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJ0ZXh0L2NhY2hlLW1hbmlmZXN0XCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJhcHBjYWNoZVwiLCBcIm1hbmlmZXN0XCJdXG4gICAgICB9LFxuICAgICAgXCJ0ZXh0L2NhbGVuZGFyXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wiaWNzXCIsIFwiaWZiXCJdXG4gICAgICB9LFxuICAgICAgXCJ0ZXh0L2NhbGVuZGVyXCI6IHtcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJ0ZXh0L2NtZFwiOiB7XG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwidGV4dC9jb2ZmZWVzY3JpcHRcIjoge1xuICAgICAgICBleHRlbnNpb25zOiBbXCJjb2ZmZWVcIiwgXCJsaXRjb2ZmZWVcIl1cbiAgICAgIH0sXG4gICAgICBcInRleHQvY3FsXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwidGV4dC9jcWwtZXhwcmVzc2lvblwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcInRleHQvY3FsLWlkZW50aWZpZXJcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJ0ZXh0L2Nzc1wiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNoYXJzZXQ6IFwiVVRGLThcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJjc3NcIl1cbiAgICAgIH0sXG4gICAgICBcInRleHQvY3N2XCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJjc3ZcIl1cbiAgICAgIH0sXG4gICAgICBcInRleHQvY3N2LXNjaGVtYVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcInRleHQvZGlyZWN0b3J5XCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwidGV4dC9kbnNcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJ0ZXh0L2VjbWFzY3JpcHRcIjoge1xuICAgICAgICBzb3VyY2U6IFwiYXBhY2hlXCJcbiAgICAgIH0sXG4gICAgICBcInRleHQvZW5jYXBydHBcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJ0ZXh0L2VucmljaGVkXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwidGV4dC9maGlycGF0aFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcInRleHQvZmxleGZlY1wiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcInRleHQvZndkcmVkXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwidGV4dC9nZmYzXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwidGV4dC9ncmFtbWFyLXJlZi1saXN0XCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwidGV4dC9obDd2MlwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcInRleHQvaHRtbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZSxcbiAgICAgICAgZXh0ZW5zaW9uczogW1wiaHRtbFwiLCBcImh0bVwiLCBcInNodG1sXCJdXG4gICAgICB9LFxuICAgICAgXCJ0ZXh0L2phZGVcIjoge1xuICAgICAgICBleHRlbnNpb25zOiBbXCJqYWRlXCJdXG4gICAgICB9LFxuICAgICAgXCJ0ZXh0L2phdmFzY3JpcHRcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjaGFyc2V0OiBcIlVURi04XCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZSxcbiAgICAgICAgZXh0ZW5zaW9uczogW1wianNcIiwgXCJtanNcIl1cbiAgICAgIH0sXG4gICAgICBcInRleHQvamNyLWNuZFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcInRleHQvanN4XCI6IHtcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJqc3hcIl1cbiAgICAgIH0sXG4gICAgICBcInRleHQvbGVzc1wiOiB7XG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZSxcbiAgICAgICAgZXh0ZW5zaW9uczogW1wibGVzc1wiXVxuICAgICAgfSxcbiAgICAgIFwidGV4dC9tYXJrZG93blwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZSxcbiAgICAgICAgZXh0ZW5zaW9uczogW1wibWRcIiwgXCJtYXJrZG93blwiXVxuICAgICAgfSxcbiAgICAgIFwidGV4dC9tYXRobWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwibmdpbnhcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wibW1sXCJdXG4gICAgICB9LFxuICAgICAgXCJ0ZXh0L21keFwiOiB7XG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZSxcbiAgICAgICAgZXh0ZW5zaW9uczogW1wibWR4XCJdXG4gICAgICB9LFxuICAgICAgXCJ0ZXh0L21pemFyXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwidGV4dC9uM1wiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNoYXJzZXQ6IFwiVVRGLThcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJuM1wiXVxuICAgICAgfSxcbiAgICAgIFwidGV4dC9wYXJhbWV0ZXJzXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY2hhcnNldDogXCJVVEYtOFwiXG4gICAgICB9LFxuICAgICAgXCJ0ZXh0L3Bhcml0eWZlY1wiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcInRleHQvcGxhaW5cIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWUsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcInR4dFwiLCBcInRleHRcIiwgXCJjb25mXCIsIFwiZGVmXCIsIFwibGlzdFwiLCBcImxvZ1wiLCBcImluXCIsIFwiaW5pXCJdXG4gICAgICB9LFxuICAgICAgXCJ0ZXh0L3Byb3ZlbmFuY2Utbm90YXRpb25cIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjaGFyc2V0OiBcIlVURi04XCJcbiAgICAgIH0sXG4gICAgICBcInRleHQvcHJzLmZhbGxlbnN0ZWluLnJzdFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcInRleHQvcHJzLmxpbmVzLnRhZ1wiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImRzY1wiXVxuICAgICAgfSxcbiAgICAgIFwidGV4dC9wcnMucHJvcC5sb2dpY1wiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcInRleHQvcHJzLnRleGlcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJ0ZXh0L3JhcHRvcmZlY1wiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcInRleHQvcmVkXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwidGV4dC9yZmM4MjItaGVhZGVyc1wiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcInRleHQvcmljaHRleHRcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWUsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcInJ0eFwiXVxuICAgICAgfSxcbiAgICAgIFwidGV4dC9ydGZcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWUsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcInJ0ZlwiXVxuICAgICAgfSxcbiAgICAgIFwidGV4dC9ydHAtZW5jLWFlc2NtMTI4XCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwidGV4dC9ydHBsb29wYmFja1wiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcInRleHQvcnR4XCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwidGV4dC9zZ21sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wic2dtbFwiLCBcInNnbVwiXVxuICAgICAgfSxcbiAgICAgIFwidGV4dC9zaGFjbGNcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJ0ZXh0L3NoZXhcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJzaGV4XCJdXG4gICAgICB9LFxuICAgICAgXCJ0ZXh0L3NsaW1cIjoge1xuICAgICAgICBleHRlbnNpb25zOiBbXCJzbGltXCIsIFwic2xtXCJdXG4gICAgICB9LFxuICAgICAgXCJ0ZXh0L3NwZHhcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJzcGR4XCJdXG4gICAgICB9LFxuICAgICAgXCJ0ZXh0L3N0cmluZ3NcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJ0ZXh0L3N0eWx1c1wiOiB7XG4gICAgICAgIGV4dGVuc2lvbnM6IFtcInN0eWx1c1wiLCBcInN0eWxcIl1cbiAgICAgIH0sXG4gICAgICBcInRleHQvdDE0MFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcInRleHQvdGFiLXNlcGFyYXRlZC12YWx1ZXNcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWUsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcInRzdlwiXVxuICAgICAgfSxcbiAgICAgIFwidGV4dC90cm9mZlwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcInRcIiwgXCJ0clwiLCBcInJvZmZcIiwgXCJtYW5cIiwgXCJtZVwiLCBcIm1zXCJdXG4gICAgICB9LFxuICAgICAgXCJ0ZXh0L3R1cnRsZVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNoYXJzZXQ6IFwiVVRGLThcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1widHRsXCJdXG4gICAgICB9LFxuICAgICAgXCJ0ZXh0L3VscGZlY1wiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcInRleHQvdXJpLWxpc3RcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWUsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcInVyaVwiLCBcInVyaXNcIiwgXCJ1cmxzXCJdXG4gICAgICB9LFxuICAgICAgXCJ0ZXh0L3ZjYXJkXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJ2Y2FyZFwiXVxuICAgICAgfSxcbiAgICAgIFwidGV4dC92bmQuYVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcInRleHQvdm5kLmFiY1wiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcInRleHQvdm5kLmFzY2lpLWFydFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcInRleHQvdm5kLmN1cmxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJjdXJsXCJdXG4gICAgICB9LFxuICAgICAgXCJ0ZXh0L3ZuZC5jdXJsLmRjdXJsXCI6IHtcbiAgICAgICAgc291cmNlOiBcImFwYWNoZVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJkY3VybFwiXVxuICAgICAgfSxcbiAgICAgIFwidGV4dC92bmQuY3VybC5tY3VybFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJhcGFjaGVcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wibWN1cmxcIl1cbiAgICAgIH0sXG4gICAgICBcInRleHQvdm5kLmN1cmwuc2N1cmxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiYXBhY2hlXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcInNjdXJsXCJdXG4gICAgICB9LFxuICAgICAgXCJ0ZXh0L3ZuZC5kZWJpYW4uY29weXJpZ2h0XCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY2hhcnNldDogXCJVVEYtOFwiXG4gICAgICB9LFxuICAgICAgXCJ0ZXh0L3ZuZC5kbWNsaWVudHNjcmlwdFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcInRleHQvdm5kLmR2Yi5zdWJ0aXRsZVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcInN1YlwiXVxuICAgICAgfSxcbiAgICAgIFwidGV4dC92bmQuZXNtZXJ0ZWMudGhlbWUtZGVzY3JpcHRvclwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNoYXJzZXQ6IFwiVVRGLThcIlxuICAgICAgfSxcbiAgICAgIFwidGV4dC92bmQuZXhjaGFuZ2VhYmxlXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwidGV4dC92bmQuZmFtaWx5c2VhcmNoLmdlZGNvbVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImdlZFwiXVxuICAgICAgfSxcbiAgICAgIFwidGV4dC92bmQuZmljbGFiLmZsdFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcInRleHQvdm5kLmZseVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImZseVwiXVxuICAgICAgfSxcbiAgICAgIFwidGV4dC92bmQuZm1pLmZsZXhzdG9yXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wiZmx4XCJdXG4gICAgICB9LFxuICAgICAgXCJ0ZXh0L3ZuZC5nbWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJ0ZXh0L3ZuZC5ncmFwaHZpelwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImd2XCJdXG4gICAgICB9LFxuICAgICAgXCJ0ZXh0L3ZuZC5oYW5zXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwidGV4dC92bmQuaGdsXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwidGV4dC92bmQuaW4zZC4zZG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wiM2RtbFwiXVxuICAgICAgfSxcbiAgICAgIFwidGV4dC92bmQuaW4zZC5zcG90XCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wic3BvdFwiXVxuICAgICAgfSxcbiAgICAgIFwidGV4dC92bmQuaXB0Yy5uZXdzbWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJ0ZXh0L3ZuZC5pcHRjLm5pdGZcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJ0ZXh0L3ZuZC5sYXRleC16XCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwidGV4dC92bmQubW90b3JvbGEucmVmbGV4XCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwidGV4dC92bmQubXMtbWVkaWFwYWNrYWdlXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwidGV4dC92bmQubmV0MnBob25lLmNvbW1jZW50ZXIuY29tbWFuZFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcInRleHQvdm5kLnJhZGlzeXMubXNtbC1iYXNpYy1sYXlvdXRcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJ0ZXh0L3ZuZC5zZW54LndhcnBzY3JpcHRcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJ0ZXh0L3ZuZC5zaS51cmljYXRhbG9ndWVcIjoge1xuICAgICAgICBzb3VyY2U6IFwiYXBhY2hlXCJcbiAgICAgIH0sXG4gICAgICBcInRleHQvdm5kLnNvc2lcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJ0ZXh0L3ZuZC5zdW4uajJtZS5hcHAtZGVzY3JpcHRvclwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNoYXJzZXQ6IFwiVVRGLThcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wiamFkXCJdXG4gICAgICB9LFxuICAgICAgXCJ0ZXh0L3ZuZC50cm9sbHRlY2gubGluZ3Vpc3RcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjaGFyc2V0OiBcIlVURi04XCJcbiAgICAgIH0sXG4gICAgICBcInRleHQvdm5kLnZjZlwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcInRleHQvdm5kLndhcC5zaVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcInRleHQvdm5kLndhcC5zbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcInRleHQvdm5kLndhcC53bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJ3bWxcIl1cbiAgICAgIH0sXG4gICAgICBcInRleHQvdm5kLndhcC53bWxzY3JpcHRcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJ3bWxzXCJdXG4gICAgICB9LFxuICAgICAgXCJ0ZXh0L3ZuZC56b28ua2NsXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwidGV4dC92dHRcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjaGFyc2V0OiBcIlVURi04XCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZSxcbiAgICAgICAgZXh0ZW5zaW9uczogW1widnR0XCJdXG4gICAgICB9LFxuICAgICAgXCJ0ZXh0L3dnc2xcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJ3Z3NsXCJdXG4gICAgICB9LFxuICAgICAgXCJ0ZXh0L3gtYXNtXCI6IHtcbiAgICAgICAgc291cmNlOiBcImFwYWNoZVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJzXCIsIFwiYXNtXCJdXG4gICAgICB9LFxuICAgICAgXCJ0ZXh0L3gtY1wiOiB7XG4gICAgICAgIHNvdXJjZTogXCJhcGFjaGVcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wiY1wiLCBcImNjXCIsIFwiY3h4XCIsIFwiY3BwXCIsIFwiaFwiLCBcImhoXCIsIFwiZGljXCJdXG4gICAgICB9LFxuICAgICAgXCJ0ZXh0L3gtY29tcG9uZW50XCI6IHtcbiAgICAgICAgc291cmNlOiBcIm5naW54XCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImh0Y1wiXVxuICAgICAgfSxcbiAgICAgIFwidGV4dC94LWZvcnRyYW5cIjoge1xuICAgICAgICBzb3VyY2U6IFwiYXBhY2hlXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImZcIiwgXCJmb3JcIiwgXCJmNzdcIiwgXCJmOTBcIl1cbiAgICAgIH0sXG4gICAgICBcInRleHQveC1nd3QtcnBjXCI6IHtcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJ0ZXh0L3gtaGFuZGxlYmFycy10ZW1wbGF0ZVwiOiB7XG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImhic1wiXVxuICAgICAgfSxcbiAgICAgIFwidGV4dC94LWphdmEtc291cmNlXCI6IHtcbiAgICAgICAgc291cmNlOiBcImFwYWNoZVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJqYXZhXCJdXG4gICAgICB9LFxuICAgICAgXCJ0ZXh0L3gtanF1ZXJ5LXRtcGxcIjoge1xuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcInRleHQveC1sdWFcIjoge1xuICAgICAgICBleHRlbnNpb25zOiBbXCJsdWFcIl1cbiAgICAgIH0sXG4gICAgICBcInRleHQveC1tYXJrZG93blwiOiB7XG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZSxcbiAgICAgICAgZXh0ZW5zaW9uczogW1wibWtkXCJdXG4gICAgICB9LFxuICAgICAgXCJ0ZXh0L3gtbmZvXCI6IHtcbiAgICAgICAgc291cmNlOiBcImFwYWNoZVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJuZm9cIl1cbiAgICAgIH0sXG4gICAgICBcInRleHQveC1vcG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImFwYWNoZVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJvcG1sXCJdXG4gICAgICB9LFxuICAgICAgXCJ0ZXh0L3gtb3JnXCI6IHtcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJvcmdcIl1cbiAgICAgIH0sXG4gICAgICBcInRleHQveC1wYXNjYWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiYXBhY2hlXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcInBcIiwgXCJwYXNcIl1cbiAgICAgIH0sXG4gICAgICBcInRleHQveC1wcm9jZXNzaW5nXCI6IHtcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJwZGVcIl1cbiAgICAgIH0sXG4gICAgICBcInRleHQveC1zYXNzXCI6IHtcbiAgICAgICAgZXh0ZW5zaW9uczogW1wic2Fzc1wiXVxuICAgICAgfSxcbiAgICAgIFwidGV4dC94LXNjc3NcIjoge1xuICAgICAgICBleHRlbnNpb25zOiBbXCJzY3NzXCJdXG4gICAgICB9LFxuICAgICAgXCJ0ZXh0L3gtc2V0ZXh0XCI6IHtcbiAgICAgICAgc291cmNlOiBcImFwYWNoZVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJldHhcIl1cbiAgICAgIH0sXG4gICAgICBcInRleHQveC1zZnZcIjoge1xuICAgICAgICBzb3VyY2U6IFwiYXBhY2hlXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcInNmdlwiXVxuICAgICAgfSxcbiAgICAgIFwidGV4dC94LXN1c2UteW1wXCI6IHtcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJ5bXBcIl1cbiAgICAgIH0sXG4gICAgICBcInRleHQveC11dWVuY29kZVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJhcGFjaGVcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1widXVcIl1cbiAgICAgIH0sXG4gICAgICBcInRleHQveC12Y2FsZW5kYXJcIjoge1xuICAgICAgICBzb3VyY2U6IFwiYXBhY2hlXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcInZjc1wiXVxuICAgICAgfSxcbiAgICAgIFwidGV4dC94LXZjYXJkXCI6IHtcbiAgICAgICAgc291cmNlOiBcImFwYWNoZVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJ2Y2ZcIl1cbiAgICAgIH0sXG4gICAgICBcInRleHQveG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJ4bWxcIl1cbiAgICAgIH0sXG4gICAgICBcInRleHQveG1sLWV4dGVybmFsLXBhcnNlZC1lbnRpdHlcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJ0ZXh0L3lhbWxcIjoge1xuICAgICAgICBjb21wcmVzc2libGU6IHRydWUsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcInlhbWxcIiwgXCJ5bWxcIl1cbiAgICAgIH0sXG4gICAgICBcInZpZGVvLzFkLWludGVybGVhdmVkLXBhcml0eWZlY1wiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcInZpZGVvLzNncHBcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCIzZ3BcIiwgXCIzZ3BwXCJdXG4gICAgICB9LFxuICAgICAgXCJ2aWRlby8zZ3BwLXR0XCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwidmlkZW8vM2dwcDJcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCIzZzJcIl1cbiAgICAgIH0sXG4gICAgICBcInZpZGVvL2F2MVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcInZpZGVvL2JtcGVnXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwidmlkZW8vYnQ2NTZcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJ2aWRlby9jZWxiXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwidmlkZW8vZHZcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJ2aWRlby9lbmNhcHJ0cFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcInZpZGVvL2V2Y1wiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcInZpZGVvL2ZmdjFcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJ2aWRlby9mbGV4ZmVjXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwidmlkZW8vaDI2MVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImgyNjFcIl1cbiAgICAgIH0sXG4gICAgICBcInZpZGVvL2gyNjNcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJoMjYzXCJdXG4gICAgICB9LFxuICAgICAgXCJ2aWRlby9oMjYzLTE5OThcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJ2aWRlby9oMjYzLTIwMDBcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJ2aWRlby9oMjY0XCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wiaDI2NFwiXVxuICAgICAgfSxcbiAgICAgIFwidmlkZW8vaDI2NC1yY2RvXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwidmlkZW8vaDI2NC1zdmNcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJ2aWRlby9oMjY1XCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwidmlkZW8vaDI2NlwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcInZpZGVvL2lzby5zZWdtZW50XCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wibTRzXCJdXG4gICAgICB9LFxuICAgICAgXCJ2aWRlby9qcGVnXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wianBndlwiXVxuICAgICAgfSxcbiAgICAgIFwidmlkZW8vanBlZzIwMDBcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJ2aWRlby9qcG1cIjoge1xuICAgICAgICBzb3VyY2U6IFwiYXBhY2hlXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImpwbVwiLCBcImpwZ21cIl1cbiAgICAgIH0sXG4gICAgICBcInZpZGVvL2p4c3ZcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJ2aWRlby9sb3R0aWUranNvblwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwidmlkZW8vbWF0cm9za2FcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJ2aWRlby9tYXRyb3NrYS0zZFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcInZpZGVvL21qMlwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcIm1qMlwiLCBcIm1qcDJcIl1cbiAgICAgIH0sXG4gICAgICBcInZpZGVvL21wMXNcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJ2aWRlby9tcDJwXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwidmlkZW8vbXAydFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcInRzXCIsIFwibTJ0XCIsIFwibTJ0c1wiLCBcIm10c1wiXVxuICAgICAgfSxcbiAgICAgIFwidmlkZW8vbXA0XCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiBmYWxzZSxcbiAgICAgICAgZXh0ZW5zaW9uczogW1wibXA0XCIsIFwibXA0dlwiLCBcIm1wZzRcIl1cbiAgICAgIH0sXG4gICAgICBcInZpZGVvL21wNHYtZXNcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJ2aWRlby9tcGVnXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiBmYWxzZSxcbiAgICAgICAgZXh0ZW5zaW9uczogW1wibXBlZ1wiLCBcIm1wZ1wiLCBcIm1wZVwiLCBcIm0xdlwiLCBcIm0ydlwiXVxuICAgICAgfSxcbiAgICAgIFwidmlkZW8vbXBlZzQtZ2VuZXJpY1wiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcInZpZGVvL21wdlwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcInZpZGVvL252XCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwidmlkZW8vb2dnXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiBmYWxzZSxcbiAgICAgICAgZXh0ZW5zaW9uczogW1wib2d2XCJdXG4gICAgICB9LFxuICAgICAgXCJ2aWRlby9wYXJpdHlmZWNcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJ2aWRlby9wb2ludGVyXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwidmlkZW8vcXVpY2t0aW1lXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiBmYWxzZSxcbiAgICAgICAgZXh0ZW5zaW9uczogW1wicXRcIiwgXCJtb3ZcIl1cbiAgICAgIH0sXG4gICAgICBcInZpZGVvL3JhcHRvcmZlY1wiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcInZpZGVvL3Jhd1wiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcInZpZGVvL3J0cC1lbmMtYWVzY20xMjhcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJ2aWRlby9ydHBsb29wYmFja1wiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcInZpZGVvL3J0eFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcInZpZGVvL3NjaXBcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJ2aWRlby9zbXB0ZTI5MVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcInZpZGVvL3NtcHRlMjkybVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcInZpZGVvL3VscGZlY1wiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcInZpZGVvL3ZjMVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcInZpZGVvL3ZjMlwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcInZpZGVvL3ZuZC5jY3R2XCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwidmlkZW8vdm5kLmRlY2UuaGRcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJ1dmhcIiwgXCJ1dnZoXCJdXG4gICAgICB9LFxuICAgICAgXCJ2aWRlby92bmQuZGVjZS5tb2JpbGVcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJ1dm1cIiwgXCJ1dnZtXCJdXG4gICAgICB9LFxuICAgICAgXCJ2aWRlby92bmQuZGVjZS5tcDRcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJ2aWRlby92bmQuZGVjZS5wZFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcInV2cFwiLCBcInV2dnBcIl1cbiAgICAgIH0sXG4gICAgICBcInZpZGVvL3ZuZC5kZWNlLnNkXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1widXZzXCIsIFwidXZ2c1wiXVxuICAgICAgfSxcbiAgICAgIFwidmlkZW8vdm5kLmRlY2UudmlkZW9cIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJ1dnZcIiwgXCJ1dnZ2XCJdXG4gICAgICB9LFxuICAgICAgXCJ2aWRlby92bmQuZGlyZWN0di5tcGVnXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwidmlkZW8vdm5kLmRpcmVjdHYubXBlZy10dHNcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJ2aWRlby92bmQuZGxuYS5tcGVnLXR0c1wiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcInZpZGVvL3ZuZC5kdmIuZmlsZVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImR2YlwiXVxuICAgICAgfSxcbiAgICAgIFwidmlkZW8vdm5kLmZ2dFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImZ2dFwiXVxuICAgICAgfSxcbiAgICAgIFwidmlkZW8vdm5kLmhucy52aWRlb1wiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcInZpZGVvL3ZuZC5pcHR2Zm9ydW0uMWRwYXJpdHlmZWMtMTAxMFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcInZpZGVvL3ZuZC5pcHR2Zm9ydW0uMWRwYXJpdHlmZWMtMjAwNVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcInZpZGVvL3ZuZC5pcHR2Zm9ydW0uMmRwYXJpdHlmZWMtMTAxMFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcInZpZGVvL3ZuZC5pcHR2Zm9ydW0uMmRwYXJpdHlmZWMtMjAwNVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcInZpZGVvL3ZuZC5pcHR2Zm9ydW0udHRzYXZjXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwidmlkZW8vdm5kLmlwdHZmb3J1bS50dHNtcGVnMlwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcInZpZGVvL3ZuZC5tb3Rvcm9sYS52aWRlb1wiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcInZpZGVvL3ZuZC5tb3Rvcm9sYS52aWRlb3BcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJ2aWRlby92bmQubXBlZ3VybFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcIm14dVwiLCBcIm00dVwiXVxuICAgICAgfSxcbiAgICAgIFwidmlkZW8vdm5kLm1zLXBsYXlyZWFkeS5tZWRpYS5weXZcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJweXZcIl1cbiAgICAgIH0sXG4gICAgICBcInZpZGVvL3ZuZC5ub2tpYS5pbnRlcmxlYXZlZC1tdWx0aW1lZGlhXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwidmlkZW8vdm5kLm5va2lhLm1wNHZyXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwidmlkZW8vdm5kLm5va2lhLnZpZGVvdm9pcFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcInZpZGVvL3ZuZC5vYmplY3R2aWRlb1wiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcInZpZGVvL3ZuZC5wbGFuYXJcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJ2aWRlby92bmQucmFkZ2FtZXR0b29scy5iaW5rXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwidmlkZW8vdm5kLnJhZGdhbWV0dG9vbHMuc21hY2tlclwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJhcGFjaGVcIlxuICAgICAgfSxcbiAgICAgIFwidmlkZW8vdm5kLnNlYWxlZC5tcGVnMVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcInZpZGVvL3ZuZC5zZWFsZWQubXBlZzRcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJ2aWRlby92bmQuc2VhbGVkLnN3ZlwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcInZpZGVvL3ZuZC5zZWFsZWRtZWRpYS5zb2Z0c2VhbC5tb3ZcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJ2aWRlby92bmQudXZ2dS5tcDRcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJ1dnVcIiwgXCJ1dnZ1XCJdXG4gICAgICB9LFxuICAgICAgXCJ2aWRlby92bmQudml2b1wiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcInZpdlwiXVxuICAgICAgfSxcbiAgICAgIFwidmlkZW8vdm5kLnlvdXR1YmUueXRcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJ2aWRlby92cDhcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJ2aWRlby92cDlcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJ2aWRlby93ZWJtXCI6IHtcbiAgICAgICAgc291cmNlOiBcImFwYWNoZVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IGZhbHNlLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJ3ZWJtXCJdXG4gICAgICB9LFxuICAgICAgXCJ2aWRlby94LWY0dlwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJhcGFjaGVcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wiZjR2XCJdXG4gICAgICB9LFxuICAgICAgXCJ2aWRlby94LWZsaVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJhcGFjaGVcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wiZmxpXCJdXG4gICAgICB9LFxuICAgICAgXCJ2aWRlby94LWZsdlwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJhcGFjaGVcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiBmYWxzZSxcbiAgICAgICAgZXh0ZW5zaW9uczogW1wiZmx2XCJdXG4gICAgICB9LFxuICAgICAgXCJ2aWRlby94LW00dlwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJhcGFjaGVcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wibTR2XCJdXG4gICAgICB9LFxuICAgICAgXCJ2aWRlby94LW1hdHJvc2thXCI6IHtcbiAgICAgICAgc291cmNlOiBcImFwYWNoZVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IGZhbHNlLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJta3ZcIiwgXCJtazNkXCIsIFwibWtzXCJdXG4gICAgICB9LFxuICAgICAgXCJ2aWRlby94LW1uZ1wiOiB7XG4gICAgICAgIHNvdXJjZTogXCJhcGFjaGVcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wibW5nXCJdXG4gICAgICB9LFxuICAgICAgXCJ2aWRlby94LW1zLWFzZlwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJhcGFjaGVcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wiYXNmXCIsIFwiYXN4XCJdXG4gICAgICB9LFxuICAgICAgXCJ2aWRlby94LW1zLXZvYlwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJhcGFjaGVcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1widm9iXCJdXG4gICAgICB9LFxuICAgICAgXCJ2aWRlby94LW1zLXdtXCI6IHtcbiAgICAgICAgc291cmNlOiBcImFwYWNoZVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJ3bVwiXVxuICAgICAgfSxcbiAgICAgIFwidmlkZW8veC1tcy13bXZcIjoge1xuICAgICAgICBzb3VyY2U6IFwiYXBhY2hlXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogZmFsc2UsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcIndtdlwiXVxuICAgICAgfSxcbiAgICAgIFwidmlkZW8veC1tcy13bXhcIjoge1xuICAgICAgICBzb3VyY2U6IFwiYXBhY2hlXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcIndteFwiXVxuICAgICAgfSxcbiAgICAgIFwidmlkZW8veC1tcy13dnhcIjoge1xuICAgICAgICBzb3VyY2U6IFwiYXBhY2hlXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcInd2eFwiXVxuICAgICAgfSxcbiAgICAgIFwidmlkZW8veC1tc3ZpZGVvXCI6IHtcbiAgICAgICAgc291cmNlOiBcImFwYWNoZVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJhdmlcIl1cbiAgICAgIH0sXG4gICAgICBcInZpZGVvL3gtc2dpLW1vdmllXCI6IHtcbiAgICAgICAgc291cmNlOiBcImFwYWNoZVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJtb3ZpZVwiXVxuICAgICAgfSxcbiAgICAgIFwidmlkZW8veC1zbXZcIjoge1xuICAgICAgICBzb3VyY2U6IFwiYXBhY2hlXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcInNtdlwiXVxuICAgICAgfSxcbiAgICAgIFwieC1jb25mZXJlbmNlL3gtY29vbHRhbGtcIjoge1xuICAgICAgICBzb3VyY2U6IFwiYXBhY2hlXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImljZVwiXVxuICAgICAgfSxcbiAgICAgIFwieC1zaGFkZXIveC1mcmFnbWVudFwiOiB7XG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwieC1zaGFkZXIveC12ZXJ0ZXhcIjoge1xuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH1cbiAgICB9O1xuICB9XG59KTtcblxuLy8gbm9kZV9tb2R1bGVzL2V4cHJlc3Mvbm9kZV9tb2R1bGVzL21pbWUtZGIvaW5kZXguanNcbnZhciByZXF1aXJlX21pbWVfZGIyID0gX19jb21tb25KUyh7XG4gIFwibm9kZV9tb2R1bGVzL2V4cHJlc3Mvbm9kZV9tb2R1bGVzL21pbWUtZGIvaW5kZXguanNcIihleHBvcnRzMiwgbW9kdWxlMikge1xuICAgIG1vZHVsZTIuZXhwb3J0cyA9IHJlcXVpcmVfZGIyKCk7XG4gIH1cbn0pO1xuXG4vLyBub2RlX21vZHVsZXMvZXhwcmVzcy9ub2RlX21vZHVsZXMvbWltZS10eXBlcy9taW1lU2NvcmUuanNcbnZhciByZXF1aXJlX21pbWVTY29yZTIgPSBfX2NvbW1vbkpTKHtcbiAgXCJub2RlX21vZHVsZXMvZXhwcmVzcy9ub2RlX21vZHVsZXMvbWltZS10eXBlcy9taW1lU2NvcmUuanNcIihleHBvcnRzMiwgbW9kdWxlMikge1xuICAgIHZhciBGQUNFVF9TQ09SRVMgPSB7XG4gICAgICBcInBycy5cIjogMTAwLFxuICAgICAgXCJ4LVwiOiAyMDAsXG4gICAgICBcInguXCI6IDMwMCxcbiAgICAgIFwidm5kLlwiOiA0MDAsXG4gICAgICBkZWZhdWx0OiA5MDBcbiAgICB9O1xuICAgIHZhciBTT1VSQ0VfU0NPUkVTID0ge1xuICAgICAgbmdpbng6IDEwLFxuICAgICAgYXBhY2hlOiAyMCxcbiAgICAgIGlhbmE6IDQwLFxuICAgICAgZGVmYXVsdDogMzBcbiAgICAgIC8vIGRlZmluaXRpb25zIGFkZGVkIGJ5IGBqc2h0dHAvbWltZS1kYmAgcHJvamVjdD9cbiAgICB9O1xuICAgIHZhciBUWVBFX1NDT1JFUyA9IHtcbiAgICAgIC8vIHByZWZlciBhcHBsaWNhdGlvbi94bWwgb3ZlciB0ZXh0L3htbFxuICAgICAgLy8gcHJlZmVyIGFwcGxpY2F0aW9uL3J0ZiBvdmVyIHRleHQvcnRmXG4gICAgICBhcHBsaWNhdGlvbjogMSxcbiAgICAgIC8vIHByZWZlciBmb250L3dvZmYgb3ZlciBhcHBsaWNhdGlvbi9mb250LXdvZmZcbiAgICAgIGZvbnQ6IDIsXG4gICAgICBkZWZhdWx0OiAwXG4gICAgfTtcbiAgICBtb2R1bGUyLmV4cG9ydHMgPSBmdW5jdGlvbiBtaW1lU2NvcmUobWltZVR5cGUsIHNvdXJjZSA9IFwiZGVmYXVsdFwiKSB7XG4gICAgICBpZiAobWltZVR5cGUgPT09IFwiYXBwbGljYXRpb24vb2N0ZXQtc3RyZWFtXCIpIHtcbiAgICAgICAgcmV0dXJuIDA7XG4gICAgICB9XG4gICAgICBjb25zdCBbdHlwZSwgc3VidHlwZV0gPSBtaW1lVHlwZS5zcGxpdChcIi9cIik7XG4gICAgICBjb25zdCBmYWNldCA9IHN1YnR5cGUucmVwbGFjZSgvKFxcLnx4LSkuKi8sIFwiJDFcIik7XG4gICAgICBjb25zdCBmYWNldFNjb3JlID0gRkFDRVRfU0NPUkVTW2ZhY2V0XSB8fCBGQUNFVF9TQ09SRVMuZGVmYXVsdDtcbiAgICAgIGNvbnN0IHNvdXJjZVNjb3JlID0gU09VUkNFX1NDT1JFU1tzb3VyY2VdIHx8IFNPVVJDRV9TQ09SRVMuZGVmYXVsdDtcbiAgICAgIGNvbnN0IHR5cGVTY29yZSA9IFRZUEVfU0NPUkVTW3R5cGVdIHx8IFRZUEVfU0NPUkVTLmRlZmF1bHQ7XG4gICAgICBjb25zdCBsZW5ndGhTY29yZSA9IDEgLSBtaW1lVHlwZS5sZW5ndGggLyAxMDA7XG4gICAgICByZXR1cm4gZmFjZXRTY29yZSArIHNvdXJjZVNjb3JlICsgdHlwZVNjb3JlICsgbGVuZ3RoU2NvcmU7XG4gICAgfTtcbiAgfVxufSk7XG5cbi8vIG5vZGVfbW9kdWxlcy9leHByZXNzL25vZGVfbW9kdWxlcy9taW1lLXR5cGVzL2luZGV4LmpzXG52YXIgcmVxdWlyZV9taW1lX3R5cGVzMiA9IF9fY29tbW9uSlMoe1xuICBcIm5vZGVfbW9kdWxlcy9leHByZXNzL25vZGVfbW9kdWxlcy9taW1lLXR5cGVzL2luZGV4LmpzXCIoZXhwb3J0czIpIHtcbiAgICBcInVzZSBzdHJpY3RcIjtcbiAgICB2YXIgZGIgPSByZXF1aXJlX21pbWVfZGIyKCk7XG4gICAgdmFyIGV4dG5hbWUgPSByZXF1aXJlKFwicGF0aFwiKS5leHRuYW1lO1xuICAgIHZhciBtaW1lU2NvcmUgPSByZXF1aXJlX21pbWVTY29yZTIoKTtcbiAgICB2YXIgRVhUUkFDVF9UWVBFX1JFR0VYUCA9IC9eXFxzKihbXjtcXHNdKikoPzo7fFxcc3wkKS87XG4gICAgdmFyIFRFWFRfVFlQRV9SRUdFWFAgPSAvXnRleHRcXC8vaTtcbiAgICBleHBvcnRzMi5jaGFyc2V0ID0gY2hhcnNldDtcbiAgICBleHBvcnRzMi5jaGFyc2V0cyA9IHsgbG9va3VwOiBjaGFyc2V0IH07XG4gICAgZXhwb3J0czIuY29udGVudFR5cGUgPSBjb250ZW50VHlwZTI7XG4gICAgZXhwb3J0czIuZXh0ZW5zaW9uID0gZXh0ZW5zaW9uO1xuICAgIGV4cG9ydHMyLmV4dGVuc2lvbnMgPSAvKiBAX19QVVJFX18gKi8gT2JqZWN0LmNyZWF0ZShudWxsKTtcbiAgICBleHBvcnRzMi5sb29rdXAgPSBsb29rdXA7XG4gICAgZXhwb3J0czIudHlwZXMgPSAvKiBAX19QVVJFX18gKi8gT2JqZWN0LmNyZWF0ZShudWxsKTtcbiAgICBleHBvcnRzMi5fZXh0ZW5zaW9uQ29uZmxpY3RzID0gW107XG4gICAgcG9wdWxhdGVNYXBzKGV4cG9ydHMyLmV4dGVuc2lvbnMsIGV4cG9ydHMyLnR5cGVzKTtcbiAgICBmdW5jdGlvbiBjaGFyc2V0KHR5cGUpIHtcbiAgICAgIGlmICghdHlwZSB8fCB0eXBlb2YgdHlwZSAhPT0gXCJzdHJpbmdcIikge1xuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICB9XG4gICAgICB2YXIgbWF0Y2ggPSBFWFRSQUNUX1RZUEVfUkVHRVhQLmV4ZWModHlwZSk7XG4gICAgICB2YXIgbWltZSA9IG1hdGNoICYmIGRiW21hdGNoWzFdLnRvTG93ZXJDYXNlKCldO1xuICAgICAgaWYgKG1pbWUgJiYgbWltZS5jaGFyc2V0KSB7XG4gICAgICAgIHJldHVybiBtaW1lLmNoYXJzZXQ7XG4gICAgICB9XG4gICAgICBpZiAobWF0Y2ggJiYgVEVYVF9UWVBFX1JFR0VYUC50ZXN0KG1hdGNoWzFdKSkge1xuICAgICAgICByZXR1cm4gXCJVVEYtOFwiO1xuICAgICAgfVxuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgICBmdW5jdGlvbiBjb250ZW50VHlwZTIoc3RyKSB7XG4gICAgICBpZiAoIXN0ciB8fCB0eXBlb2Ygc3RyICE9PSBcInN0cmluZ1wiKSB7XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgIH1cbiAgICAgIHZhciBtaW1lID0gc3RyLmluZGV4T2YoXCIvXCIpID09PSAtMSA/IGV4cG9ydHMyLmxvb2t1cChzdHIpIDogc3RyO1xuICAgICAgaWYgKCFtaW1lKSB7XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgIH1cbiAgICAgIGlmIChtaW1lLmluZGV4T2YoXCJjaGFyc2V0XCIpID09PSAtMSkge1xuICAgICAgICB2YXIgY2hhcnNldDIgPSBleHBvcnRzMi5jaGFyc2V0KG1pbWUpO1xuICAgICAgICBpZiAoY2hhcnNldDIpIG1pbWUgKz0gXCI7IGNoYXJzZXQ9XCIgKyBjaGFyc2V0Mi50b0xvd2VyQ2FzZSgpO1xuICAgICAgfVxuICAgICAgcmV0dXJuIG1pbWU7XG4gICAgfVxuICAgIGZ1bmN0aW9uIGV4dGVuc2lvbih0eXBlKSB7XG4gICAgICBpZiAoIXR5cGUgfHwgdHlwZW9mIHR5cGUgIT09IFwic3RyaW5nXCIpIHtcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgfVxuICAgICAgdmFyIG1hdGNoID0gRVhUUkFDVF9UWVBFX1JFR0VYUC5leGVjKHR5cGUpO1xuICAgICAgdmFyIGV4dHMgPSBtYXRjaCAmJiBleHBvcnRzMi5leHRlbnNpb25zW21hdGNoWzFdLnRvTG93ZXJDYXNlKCldO1xuICAgICAgaWYgKCFleHRzIHx8ICFleHRzLmxlbmd0aCkge1xuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICB9XG4gICAgICByZXR1cm4gZXh0c1swXTtcbiAgICB9XG4gICAgZnVuY3Rpb24gbG9va3VwKHBhdGgpIHtcbiAgICAgIGlmICghcGF0aCB8fCB0eXBlb2YgcGF0aCAhPT0gXCJzdHJpbmdcIikge1xuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICB9XG4gICAgICB2YXIgZXh0ZW5zaW9uMiA9IGV4dG5hbWUoXCJ4LlwiICsgcGF0aCkudG9Mb3dlckNhc2UoKS5zbGljZSgxKTtcbiAgICAgIGlmICghZXh0ZW5zaW9uMikge1xuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICB9XG4gICAgICByZXR1cm4gZXhwb3J0czIudHlwZXNbZXh0ZW5zaW9uMl0gfHwgZmFsc2U7XG4gICAgfVxuICAgIGZ1bmN0aW9uIHBvcHVsYXRlTWFwcyhleHRlbnNpb25zLCB0eXBlcykge1xuICAgICAgT2JqZWN0LmtleXMoZGIpLmZvckVhY2goZnVuY3Rpb24gZm9yRWFjaE1pbWVUeXBlKHR5cGUpIHtcbiAgICAgICAgdmFyIG1pbWUgPSBkYlt0eXBlXTtcbiAgICAgICAgdmFyIGV4dHMgPSBtaW1lLmV4dGVuc2lvbnM7XG4gICAgICAgIGlmICghZXh0cyB8fCAhZXh0cy5sZW5ndGgpIHtcbiAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgZXh0ZW5zaW9uc1t0eXBlXSA9IGV4dHM7XG4gICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgZXh0cy5sZW5ndGg7IGkrKykge1xuICAgICAgICAgIHZhciBleHRlbnNpb24yID0gZXh0c1tpXTtcbiAgICAgICAgICB0eXBlc1tleHRlbnNpb24yXSA9IF9wcmVmZXJyZWRUeXBlKGV4dGVuc2lvbjIsIHR5cGVzW2V4dGVuc2lvbjJdLCB0eXBlKTtcbiAgICAgICAgICBjb25zdCBsZWdhY3lUeXBlID0gX3ByZWZlcnJlZFR5cGVMZWdhY3koXG4gICAgICAgICAgICBleHRlbnNpb24yLFxuICAgICAgICAgICAgdHlwZXNbZXh0ZW5zaW9uMl0sXG4gICAgICAgICAgICB0eXBlXG4gICAgICAgICAgKTtcbiAgICAgICAgICBpZiAobGVnYWN5VHlwZSAhPT0gdHlwZXNbZXh0ZW5zaW9uMl0pIHtcbiAgICAgICAgICAgIGV4cG9ydHMyLl9leHRlbnNpb25Db25mbGljdHMucHVzaChbZXh0ZW5zaW9uMiwgbGVnYWN5VHlwZSwgdHlwZXNbZXh0ZW5zaW9uMl1dKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgIH1cbiAgICBmdW5jdGlvbiBfcHJlZmVycmVkVHlwZShleHQsIHR5cGUwLCB0eXBlMSkge1xuICAgICAgdmFyIHNjb3JlMCA9IHR5cGUwID8gbWltZVNjb3JlKHR5cGUwLCBkYlt0eXBlMF0uc291cmNlKSA6IDA7XG4gICAgICB2YXIgc2NvcmUxID0gdHlwZTEgPyBtaW1lU2NvcmUodHlwZTEsIGRiW3R5cGUxXS5zb3VyY2UpIDogMDtcbiAgICAgIHJldHVybiBzY29yZTAgPiBzY29yZTEgPyB0eXBlMCA6IHR5cGUxO1xuICAgIH1cbiAgICBmdW5jdGlvbiBfcHJlZmVycmVkVHlwZUxlZ2FjeShleHQsIHR5cGUwLCB0eXBlMSkge1xuICAgICAgdmFyIFNPVVJDRV9SQU5LID0gW1wibmdpbnhcIiwgXCJhcGFjaGVcIiwgdm9pZCAwLCBcImlhbmFcIl07XG4gICAgICB2YXIgc2NvcmUwID0gdHlwZTAgPyBTT1VSQ0VfUkFOSy5pbmRleE9mKGRiW3R5cGUwXS5zb3VyY2UpIDogMDtcbiAgICAgIHZhciBzY29yZTEgPSB0eXBlMSA/IFNPVVJDRV9SQU5LLmluZGV4T2YoZGJbdHlwZTFdLnNvdXJjZSkgOiAwO1xuICAgICAgaWYgKGV4cG9ydHMyLnR5cGVzW2V4dGVuc2lvbl0gIT09IFwiYXBwbGljYXRpb24vb2N0ZXQtc3RyZWFtXCIgJiYgKHNjb3JlMCA+IHNjb3JlMSB8fCBzY29yZTAgPT09IHNjb3JlMSAmJiBleHBvcnRzMi50eXBlc1tleHRlbnNpb25dPy5zbGljZSgwLCAxMikgPT09IFwiYXBwbGljYXRpb24vXCIpKSB7XG4gICAgICAgIHJldHVybiB0eXBlMDtcbiAgICAgIH1cbiAgICAgIHJldHVybiBzY29yZTAgPiBzY29yZTEgPyB0eXBlMCA6IHR5cGUxO1xuICAgIH1cbiAgfVxufSk7XG5cbi8vIG5vZGVfbW9kdWxlcy9mb3J3YXJkZWQvaW5kZXguanNcbnZhciByZXF1aXJlX2ZvcndhcmRlZCA9IF9fY29tbW9uSlMoe1xuICBcIm5vZGVfbW9kdWxlcy9mb3J3YXJkZWQvaW5kZXguanNcIihleHBvcnRzMiwgbW9kdWxlMikge1xuICAgIFwidXNlIHN0cmljdFwiO1xuICAgIG1vZHVsZTIuZXhwb3J0cyA9IGZvcndhcmRlZDtcbiAgICBmdW5jdGlvbiBmb3J3YXJkZWQocmVxKSB7XG4gICAgICBpZiAoIXJlcSkge1xuICAgICAgICB0aHJvdyBuZXcgVHlwZUVycm9yKFwiYXJndW1lbnQgcmVxIGlzIHJlcXVpcmVkXCIpO1xuICAgICAgfVxuICAgICAgdmFyIHByb3h5QWRkcnMgPSBwYXJzZShyZXEuaGVhZGVyc1tcIngtZm9yd2FyZGVkLWZvclwiXSB8fCBcIlwiKTtcbiAgICAgIHZhciBzb2NrZXRBZGRyID0gZ2V0U29ja2V0QWRkcihyZXEpO1xuICAgICAgdmFyIGFkZHJzID0gW3NvY2tldEFkZHJdLmNvbmNhdChwcm94eUFkZHJzKTtcbiAgICAgIHJldHVybiBhZGRycztcbiAgICB9XG4gICAgZnVuY3Rpb24gZ2V0U29ja2V0QWRkcihyZXEpIHtcbiAgICAgIHJldHVybiByZXEuc29ja2V0ID8gcmVxLnNvY2tldC5yZW1vdGVBZGRyZXNzIDogcmVxLmNvbm5lY3Rpb24ucmVtb3RlQWRkcmVzcztcbiAgICB9XG4gICAgZnVuY3Rpb24gcGFyc2UoaGVhZGVyKSB7XG4gICAgICB2YXIgZW5kID0gaGVhZGVyLmxlbmd0aDtcbiAgICAgIHZhciBsaXN0ID0gW107XG4gICAgICB2YXIgc3RhcnQgPSBoZWFkZXIubGVuZ3RoO1xuICAgICAgZm9yICh2YXIgaSA9IGhlYWRlci5sZW5ndGggLSAxOyBpID49IDA7IGktLSkge1xuICAgICAgICBzd2l0Y2ggKGhlYWRlci5jaGFyQ29kZUF0KGkpKSB7XG4gICAgICAgICAgY2FzZSAzMjpcbiAgICAgICAgICAgIGlmIChzdGFydCA9PT0gZW5kKSB7XG4gICAgICAgICAgICAgIHN0YXJ0ID0gZW5kID0gaTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgIGNhc2UgNDQ6XG4gICAgICAgICAgICBpZiAoc3RhcnQgIT09IGVuZCkge1xuICAgICAgICAgICAgICBsaXN0LnB1c2goaGVhZGVyLnN1YnN0cmluZyhzdGFydCwgZW5kKSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBzdGFydCA9IGVuZCA9IGk7XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgc3RhcnQgPSBpO1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIGlmIChzdGFydCAhPT0gZW5kKSB7XG4gICAgICAgIGxpc3QucHVzaChoZWFkZXIuc3Vic3RyaW5nKHN0YXJ0LCBlbmQpKTtcbiAgICAgIH1cbiAgICAgIHJldHVybiBsaXN0O1xuICAgIH1cbiAgfVxufSk7XG5cbi8vIG5vZGVfbW9kdWxlcy9pcGFkZHIuanMvbGliL2lwYWRkci5qc1xudmFyIHJlcXVpcmVfaXBhZGRyID0gX19jb21tb25KUyh7XG4gIFwibm9kZV9tb2R1bGVzL2lwYWRkci5qcy9saWIvaXBhZGRyLmpzXCIoZXhwb3J0czIsIG1vZHVsZTIpIHtcbiAgICAoZnVuY3Rpb24oKSB7XG4gICAgICB2YXIgZXhwYW5kSVB2NiwgaXBhZGRyLCBpcHY0UGFydCwgaXB2NFJlZ2V4ZXMsIGlwdjZQYXJ0LCBpcHY2UmVnZXhlcywgbWF0Y2hDSURSLCByb290LCB6b25lSW5kZXg7XG4gICAgICBpcGFkZHIgPSB7fTtcbiAgICAgIHJvb3QgPSB0aGlzO1xuICAgICAgaWYgKHR5cGVvZiBtb2R1bGUyICE9PSBcInVuZGVmaW5lZFwiICYmIG1vZHVsZTIgIT09IG51bGwgJiYgbW9kdWxlMi5leHBvcnRzKSB7XG4gICAgICAgIG1vZHVsZTIuZXhwb3J0cyA9IGlwYWRkcjtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHJvb3RbXCJpcGFkZHJcIl0gPSBpcGFkZHI7XG4gICAgICB9XG4gICAgICBtYXRjaENJRFIgPSBmdW5jdGlvbihmaXJzdCwgc2Vjb25kLCBwYXJ0U2l6ZSwgY2lkckJpdHMpIHtcbiAgICAgICAgdmFyIHBhcnQsIHNoaWZ0O1xuICAgICAgICBpZiAoZmlyc3QubGVuZ3RoICE9PSBzZWNvbmQubGVuZ3RoKSB7XG4gICAgICAgICAgdGhyb3cgbmV3IEVycm9yKFwiaXBhZGRyOiBjYW5ub3QgbWF0Y2ggQ0lEUiBmb3Igb2JqZWN0cyB3aXRoIGRpZmZlcmVudCBsZW5ndGhzXCIpO1xuICAgICAgICB9XG4gICAgICAgIHBhcnQgPSAwO1xuICAgICAgICB3aGlsZSAoY2lkckJpdHMgPiAwKSB7XG4gICAgICAgICAgc2hpZnQgPSBwYXJ0U2l6ZSAtIGNpZHJCaXRzO1xuICAgICAgICAgIGlmIChzaGlmdCA8IDApIHtcbiAgICAgICAgICAgIHNoaWZ0ID0gMDtcbiAgICAgICAgICB9XG4gICAgICAgICAgaWYgKGZpcnN0W3BhcnRdID4+IHNoaWZ0ICE9PSBzZWNvbmRbcGFydF0gPj4gc2hpZnQpIHtcbiAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgICB9XG4gICAgICAgICAgY2lkckJpdHMgLT0gcGFydFNpemU7XG4gICAgICAgICAgcGFydCArPSAxO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgfTtcbiAgICAgIGlwYWRkci5zdWJuZXRNYXRjaCA9IGZ1bmN0aW9uKGFkZHJlc3MsIHJhbmdlTGlzdCwgZGVmYXVsdE5hbWUpIHtcbiAgICAgICAgdmFyIGssIGxlbiwgcmFuZ2VOYW1lLCByYW5nZVN1Ym5ldHMsIHN1Ym5ldDtcbiAgICAgICAgaWYgKGRlZmF1bHROYW1lID09IG51bGwpIHtcbiAgICAgICAgICBkZWZhdWx0TmFtZSA9IFwidW5pY2FzdFwiO1xuICAgICAgICB9XG4gICAgICAgIGZvciAocmFuZ2VOYW1lIGluIHJhbmdlTGlzdCkge1xuICAgICAgICAgIHJhbmdlU3VibmV0cyA9IHJhbmdlTGlzdFtyYW5nZU5hbWVdO1xuICAgICAgICAgIGlmIChyYW5nZVN1Ym5ldHNbMF0gJiYgIShyYW5nZVN1Ym5ldHNbMF0gaW5zdGFuY2VvZiBBcnJheSkpIHtcbiAgICAgICAgICAgIHJhbmdlU3VibmV0cyA9IFtyYW5nZVN1Ym5ldHNdO1xuICAgICAgICAgIH1cbiAgICAgICAgICBmb3IgKGsgPSAwLCBsZW4gPSByYW5nZVN1Ym5ldHMubGVuZ3RoOyBrIDwgbGVuOyBrKyspIHtcbiAgICAgICAgICAgIHN1Ym5ldCA9IHJhbmdlU3VibmV0c1trXTtcbiAgICAgICAgICAgIGlmIChhZGRyZXNzLmtpbmQoKSA9PT0gc3VibmV0WzBdLmtpbmQoKSkge1xuICAgICAgICAgICAgICBpZiAoYWRkcmVzcy5tYXRjaC5hcHBseShhZGRyZXNzLCBzdWJuZXQpKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHJhbmdlTmFtZTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gZGVmYXVsdE5hbWU7XG4gICAgICB9O1xuICAgICAgaXBhZGRyLklQdjQgPSBmdW5jdGlvbigpIHtcbiAgICAgICAgZnVuY3Rpb24gSVB2NChvY3RldHMpIHtcbiAgICAgICAgICB2YXIgaywgbGVuLCBvY3RldDtcbiAgICAgICAgICBpZiAob2N0ZXRzLmxlbmd0aCAhPT0gNCkge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKFwiaXBhZGRyOiBpcHY0IG9jdGV0IGNvdW50IHNob3VsZCBiZSA0XCIpO1xuICAgICAgICAgIH1cbiAgICAgICAgICBmb3IgKGsgPSAwLCBsZW4gPSBvY3RldHMubGVuZ3RoOyBrIDwgbGVuOyBrKyspIHtcbiAgICAgICAgICAgIG9jdGV0ID0gb2N0ZXRzW2tdO1xuICAgICAgICAgICAgaWYgKCEoMCA8PSBvY3RldCAmJiBvY3RldCA8PSAyNTUpKSB7XG4gICAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihcImlwYWRkcjogaXB2NCBvY3RldCBzaG91bGQgZml0IGluIDggYml0c1wiKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgICAgdGhpcy5vY3RldHMgPSBvY3RldHM7XG4gICAgICAgIH1cbiAgICAgICAgSVB2NC5wcm90b3R5cGUua2luZCA9IGZ1bmN0aW9uKCkge1xuICAgICAgICAgIHJldHVybiBcImlwdjRcIjtcbiAgICAgICAgfTtcbiAgICAgICAgSVB2NC5wcm90b3R5cGUudG9TdHJpbmcgPSBmdW5jdGlvbigpIHtcbiAgICAgICAgICByZXR1cm4gdGhpcy5vY3RldHMuam9pbihcIi5cIik7XG4gICAgICAgIH07XG4gICAgICAgIElQdjQucHJvdG90eXBlLnRvTm9ybWFsaXplZFN0cmluZyA9IGZ1bmN0aW9uKCkge1xuICAgICAgICAgIHJldHVybiB0aGlzLnRvU3RyaW5nKCk7XG4gICAgICAgIH07XG4gICAgICAgIElQdjQucHJvdG90eXBlLnRvQnl0ZUFycmF5ID0gZnVuY3Rpb24oKSB7XG4gICAgICAgICAgcmV0dXJuIHRoaXMub2N0ZXRzLnNsaWNlKDApO1xuICAgICAgICB9O1xuICAgICAgICBJUHY0LnByb3RvdHlwZS5tYXRjaCA9IGZ1bmN0aW9uKG90aGVyLCBjaWRyUmFuZ2UpIHtcbiAgICAgICAgICB2YXIgcmVmO1xuICAgICAgICAgIGlmIChjaWRyUmFuZ2UgPT09IHZvaWQgMCkge1xuICAgICAgICAgICAgcmVmID0gb3RoZXIsIG90aGVyID0gcmVmWzBdLCBjaWRyUmFuZ2UgPSByZWZbMV07XG4gICAgICAgICAgfVxuICAgICAgICAgIGlmIChvdGhlci5raW5kKCkgIT09IFwiaXB2NFwiKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXCJpcGFkZHI6IGNhbm5vdCBtYXRjaCBpcHY0IGFkZHJlc3Mgd2l0aCBub24taXB2NCBvbmVcIik7XG4gICAgICAgICAgfVxuICAgICAgICAgIHJldHVybiBtYXRjaENJRFIodGhpcy5vY3RldHMsIG90aGVyLm9jdGV0cywgOCwgY2lkclJhbmdlKTtcbiAgICAgICAgfTtcbiAgICAgICAgSVB2NC5wcm90b3R5cGUuU3BlY2lhbFJhbmdlcyA9IHtcbiAgICAgICAgICB1bnNwZWNpZmllZDogW1tuZXcgSVB2NChbMCwgMCwgMCwgMF0pLCA4XV0sXG4gICAgICAgICAgYnJvYWRjYXN0OiBbW25ldyBJUHY0KFsyNTUsIDI1NSwgMjU1LCAyNTVdKSwgMzJdXSxcbiAgICAgICAgICBtdWx0aWNhc3Q6IFtbbmV3IElQdjQoWzIyNCwgMCwgMCwgMF0pLCA0XV0sXG4gICAgICAgICAgbGlua0xvY2FsOiBbW25ldyBJUHY0KFsxNjksIDI1NCwgMCwgMF0pLCAxNl1dLFxuICAgICAgICAgIGxvb3BiYWNrOiBbW25ldyBJUHY0KFsxMjcsIDAsIDAsIDBdKSwgOF1dLFxuICAgICAgICAgIGNhcnJpZXJHcmFkZU5hdDogW1tuZXcgSVB2NChbMTAwLCA2NCwgMCwgMF0pLCAxMF1dLFxuICAgICAgICAgIFwicHJpdmF0ZVwiOiBbW25ldyBJUHY0KFsxMCwgMCwgMCwgMF0pLCA4XSwgW25ldyBJUHY0KFsxNzIsIDE2LCAwLCAwXSksIDEyXSwgW25ldyBJUHY0KFsxOTIsIDE2OCwgMCwgMF0pLCAxNl1dLFxuICAgICAgICAgIHJlc2VydmVkOiBbW25ldyBJUHY0KFsxOTIsIDAsIDAsIDBdKSwgMjRdLCBbbmV3IElQdjQoWzE5MiwgMCwgMiwgMF0pLCAyNF0sIFtuZXcgSVB2NChbMTkyLCA4OCwgOTksIDBdKSwgMjRdLCBbbmV3IElQdjQoWzE5OCwgNTEsIDEwMCwgMF0pLCAyNF0sIFtuZXcgSVB2NChbMjAzLCAwLCAxMTMsIDBdKSwgMjRdLCBbbmV3IElQdjQoWzI0MCwgMCwgMCwgMF0pLCA0XV1cbiAgICAgICAgfTtcbiAgICAgICAgSVB2NC5wcm90b3R5cGUucmFuZ2UgPSBmdW5jdGlvbigpIHtcbiAgICAgICAgICByZXR1cm4gaXBhZGRyLnN1Ym5ldE1hdGNoKHRoaXMsIHRoaXMuU3BlY2lhbFJhbmdlcyk7XG4gICAgICAgIH07XG4gICAgICAgIElQdjQucHJvdG90eXBlLnRvSVB2NE1hcHBlZEFkZHJlc3MgPSBmdW5jdGlvbigpIHtcbiAgICAgICAgICByZXR1cm4gaXBhZGRyLklQdjYucGFyc2UoXCI6OmZmZmY6XCIgKyB0aGlzLnRvU3RyaW5nKCkpO1xuICAgICAgICB9O1xuICAgICAgICBJUHY0LnByb3RvdHlwZS5wcmVmaXhMZW5ndGhGcm9tU3VibmV0TWFzayA9IGZ1bmN0aW9uKCkge1xuICAgICAgICAgIHZhciBjaWRyLCBpLCBrLCBvY3RldCwgc3RvcCwgemVyb3MsIHplcm90YWJsZTtcbiAgICAgICAgICB6ZXJvdGFibGUgPSB7XG4gICAgICAgICAgICAwOiA4LFxuICAgICAgICAgICAgMTI4OiA3LFxuICAgICAgICAgICAgMTkyOiA2LFxuICAgICAgICAgICAgMjI0OiA1LFxuICAgICAgICAgICAgMjQwOiA0LFxuICAgICAgICAgICAgMjQ4OiAzLFxuICAgICAgICAgICAgMjUyOiAyLFxuICAgICAgICAgICAgMjU0OiAxLFxuICAgICAgICAgICAgMjU1OiAwXG4gICAgICAgICAgfTtcbiAgICAgICAgICBjaWRyID0gMDtcbiAgICAgICAgICBzdG9wID0gZmFsc2U7XG4gICAgICAgICAgZm9yIChpID0gayA9IDM7IGsgPj0gMDsgaSA9IGsgKz0gLTEpIHtcbiAgICAgICAgICAgIG9jdGV0ID0gdGhpcy5vY3RldHNbaV07XG4gICAgICAgICAgICBpZiAob2N0ZXQgaW4gemVyb3RhYmxlKSB7XG4gICAgICAgICAgICAgIHplcm9zID0gemVyb3RhYmxlW29jdGV0XTtcbiAgICAgICAgICAgICAgaWYgKHN0b3AgJiYgemVyb3MgIT09IDApIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICBpZiAoemVyb3MgIT09IDgpIHtcbiAgICAgICAgICAgICAgICBzdG9wID0gdHJ1ZTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICBjaWRyICs9IHplcm9zO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICAgIHJldHVybiAzMiAtIGNpZHI7XG4gICAgICAgIH07XG4gICAgICAgIHJldHVybiBJUHY0O1xuICAgICAgfSgpO1xuICAgICAgaXB2NFBhcnQgPSBcIigwP1xcXFxkK3wweFthLWYwLTldKylcIjtcbiAgICAgIGlwdjRSZWdleGVzID0ge1xuICAgICAgICBmb3VyT2N0ZXQ6IG5ldyBSZWdFeHAoXCJeXCIgKyBpcHY0UGFydCArIFwiXFxcXC5cIiArIGlwdjRQYXJ0ICsgXCJcXFxcLlwiICsgaXB2NFBhcnQgKyBcIlxcXFwuXCIgKyBpcHY0UGFydCArIFwiJFwiLCBcImlcIiksXG4gICAgICAgIGxvbmdWYWx1ZTogbmV3IFJlZ0V4cChcIl5cIiArIGlwdjRQYXJ0ICsgXCIkXCIsIFwiaVwiKVxuICAgICAgfTtcbiAgICAgIGlwYWRkci5JUHY0LnBhcnNlciA9IGZ1bmN0aW9uKHN0cmluZykge1xuICAgICAgICB2YXIgbWF0Y2gsIHBhcnNlSW50QXV0bywgcGFydCwgc2hpZnQsIHZhbHVlO1xuICAgICAgICBwYXJzZUludEF1dG8gPSBmdW5jdGlvbihzdHJpbmcyKSB7XG4gICAgICAgICAgaWYgKHN0cmluZzJbMF0gPT09IFwiMFwiICYmIHN0cmluZzJbMV0gIT09IFwieFwiKSB7XG4gICAgICAgICAgICByZXR1cm4gcGFyc2VJbnQoc3RyaW5nMiwgOCk7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHJldHVybiBwYXJzZUludChzdHJpbmcyKTtcbiAgICAgICAgICB9XG4gICAgICAgIH07XG4gICAgICAgIGlmIChtYXRjaCA9IHN0cmluZy5tYXRjaChpcHY0UmVnZXhlcy5mb3VyT2N0ZXQpKSB7XG4gICAgICAgICAgcmV0dXJuIGZ1bmN0aW9uKCkge1xuICAgICAgICAgICAgdmFyIGssIGxlbiwgcmVmLCByZXN1bHRzO1xuICAgICAgICAgICAgcmVmID0gbWF0Y2guc2xpY2UoMSwgNik7XG4gICAgICAgICAgICByZXN1bHRzID0gW107XG4gICAgICAgICAgICBmb3IgKGsgPSAwLCBsZW4gPSByZWYubGVuZ3RoOyBrIDwgbGVuOyBrKyspIHtcbiAgICAgICAgICAgICAgcGFydCA9IHJlZltrXTtcbiAgICAgICAgICAgICAgcmVzdWx0cy5wdXNoKHBhcnNlSW50QXV0byhwYXJ0KSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXR1cm4gcmVzdWx0cztcbiAgICAgICAgICB9KCk7XG4gICAgICAgIH0gZWxzZSBpZiAobWF0Y2ggPSBzdHJpbmcubWF0Y2goaXB2NFJlZ2V4ZXMubG9uZ1ZhbHVlKSkge1xuICAgICAgICAgIHZhbHVlID0gcGFyc2VJbnRBdXRvKG1hdGNoWzFdKTtcbiAgICAgICAgICBpZiAodmFsdWUgPiA0Mjk0OTY3Mjk1IHx8IHZhbHVlIDwgMCkge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKFwiaXBhZGRyOiBhZGRyZXNzIG91dHNpZGUgZGVmaW5lZCByYW5nZVwiKTtcbiAgICAgICAgICB9XG4gICAgICAgICAgcmV0dXJuIGZ1bmN0aW9uKCkge1xuICAgICAgICAgICAgdmFyIGssIHJlc3VsdHM7XG4gICAgICAgICAgICByZXN1bHRzID0gW107XG4gICAgICAgICAgICBmb3IgKHNoaWZ0ID0gayA9IDA7IGsgPD0gMjQ7IHNoaWZ0ID0gayArPSA4KSB7XG4gICAgICAgICAgICAgIHJlc3VsdHMucHVzaCh2YWx1ZSA+PiBzaGlmdCAmIDI1NSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXR1cm4gcmVzdWx0cztcbiAgICAgICAgICB9KCkucmV2ZXJzZSgpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICB9XG4gICAgICB9O1xuICAgICAgaXBhZGRyLklQdjYgPSBmdW5jdGlvbigpIHtcbiAgICAgICAgZnVuY3Rpb24gSVB2NihwYXJ0cywgem9uZUlkKSB7XG4gICAgICAgICAgdmFyIGksIGssIGwsIGxlbiwgcGFydCwgcmVmO1xuICAgICAgICAgIGlmIChwYXJ0cy5sZW5ndGggPT09IDE2KSB7XG4gICAgICAgICAgICB0aGlzLnBhcnRzID0gW107XG4gICAgICAgICAgICBmb3IgKGkgPSBrID0gMDsgayA8PSAxNDsgaSA9IGsgKz0gMikge1xuICAgICAgICAgICAgICB0aGlzLnBhcnRzLnB1c2gocGFydHNbaV0gPDwgOCB8IHBhcnRzW2kgKyAxXSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSBlbHNlIGlmIChwYXJ0cy5sZW5ndGggPT09IDgpIHtcbiAgICAgICAgICAgIHRoaXMucGFydHMgPSBwYXJ0cztcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKFwiaXBhZGRyOiBpcHY2IHBhcnQgY291bnQgc2hvdWxkIGJlIDggb3IgMTZcIik7XG4gICAgICAgICAgfVxuICAgICAgICAgIHJlZiA9IHRoaXMucGFydHM7XG4gICAgICAgICAgZm9yIChsID0gMCwgbGVuID0gcmVmLmxlbmd0aDsgbCA8IGxlbjsgbCsrKSB7XG4gICAgICAgICAgICBwYXJ0ID0gcmVmW2xdO1xuICAgICAgICAgICAgaWYgKCEoMCA8PSBwYXJ0ICYmIHBhcnQgPD0gNjU1MzUpKSB7XG4gICAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihcImlwYWRkcjogaXB2NiBwYXJ0IHNob3VsZCBmaXQgaW4gMTYgYml0c1wiKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgICAgaWYgKHpvbmVJZCkge1xuICAgICAgICAgICAgdGhpcy56b25lSWQgPSB6b25lSWQ7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIElQdjYucHJvdG90eXBlLmtpbmQgPSBmdW5jdGlvbigpIHtcbiAgICAgICAgICByZXR1cm4gXCJpcHY2XCI7XG4gICAgICAgIH07XG4gICAgICAgIElQdjYucHJvdG90eXBlLnRvU3RyaW5nID0gZnVuY3Rpb24oKSB7XG4gICAgICAgICAgcmV0dXJuIHRoaXMudG9Ob3JtYWxpemVkU3RyaW5nKCkucmVwbGFjZSgvKChefDopKDAoOnwkKSkrKS8sIFwiOjpcIik7XG4gICAgICAgIH07XG4gICAgICAgIElQdjYucHJvdG90eXBlLnRvUkZDNTk1MlN0cmluZyA9IGZ1bmN0aW9uKCkge1xuICAgICAgICAgIHZhciBiZXN0TWF0Y2hJbmRleCwgYmVzdE1hdGNoTGVuZ3RoLCBtYXRjaCwgcmVnZXgsIHN0cmluZztcbiAgICAgICAgICByZWdleCA9IC8oKF58OikoMCg6fCQpKXsyLH0pL2c7XG4gICAgICAgICAgc3RyaW5nID0gdGhpcy50b05vcm1hbGl6ZWRTdHJpbmcoKTtcbiAgICAgICAgICBiZXN0TWF0Y2hJbmRleCA9IDA7XG4gICAgICAgICAgYmVzdE1hdGNoTGVuZ3RoID0gLTE7XG4gICAgICAgICAgd2hpbGUgKG1hdGNoID0gcmVnZXguZXhlYyhzdHJpbmcpKSB7XG4gICAgICAgICAgICBpZiAobWF0Y2hbMF0ubGVuZ3RoID4gYmVzdE1hdGNoTGVuZ3RoKSB7XG4gICAgICAgICAgICAgIGJlc3RNYXRjaEluZGV4ID0gbWF0Y2guaW5kZXg7XG4gICAgICAgICAgICAgIGJlc3RNYXRjaExlbmd0aCA9IG1hdGNoWzBdLmxlbmd0aDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgICAgaWYgKGJlc3RNYXRjaExlbmd0aCA8IDApIHtcbiAgICAgICAgICAgIHJldHVybiBzdHJpbmc7XG4gICAgICAgICAgfVxuICAgICAgICAgIHJldHVybiBzdHJpbmcuc3Vic3RyaW5nKDAsIGJlc3RNYXRjaEluZGV4KSArIFwiOjpcIiArIHN0cmluZy5zdWJzdHJpbmcoYmVzdE1hdGNoSW5kZXggKyBiZXN0TWF0Y2hMZW5ndGgpO1xuICAgICAgICB9O1xuICAgICAgICBJUHY2LnByb3RvdHlwZS50b0J5dGVBcnJheSA9IGZ1bmN0aW9uKCkge1xuICAgICAgICAgIHZhciBieXRlcywgaywgbGVuLCBwYXJ0LCByZWY7XG4gICAgICAgICAgYnl0ZXMgPSBbXTtcbiAgICAgICAgICByZWYgPSB0aGlzLnBhcnRzO1xuICAgICAgICAgIGZvciAoayA9IDAsIGxlbiA9IHJlZi5sZW5ndGg7IGsgPCBsZW47IGsrKykge1xuICAgICAgICAgICAgcGFydCA9IHJlZltrXTtcbiAgICAgICAgICAgIGJ5dGVzLnB1c2gocGFydCA+PiA4KTtcbiAgICAgICAgICAgIGJ5dGVzLnB1c2gocGFydCAmIDI1NSk7XG4gICAgICAgICAgfVxuICAgICAgICAgIHJldHVybiBieXRlcztcbiAgICAgICAgfTtcbiAgICAgICAgSVB2Ni5wcm90b3R5cGUudG9Ob3JtYWxpemVkU3RyaW5nID0gZnVuY3Rpb24oKSB7XG4gICAgICAgICAgdmFyIGFkZHIsIHBhcnQsIHN1ZmZpeDtcbiAgICAgICAgICBhZGRyID0gZnVuY3Rpb24oKSB7XG4gICAgICAgICAgICB2YXIgaywgbGVuLCByZWYsIHJlc3VsdHM7XG4gICAgICAgICAgICByZWYgPSB0aGlzLnBhcnRzO1xuICAgICAgICAgICAgcmVzdWx0cyA9IFtdO1xuICAgICAgICAgICAgZm9yIChrID0gMCwgbGVuID0gcmVmLmxlbmd0aDsgayA8IGxlbjsgaysrKSB7XG4gICAgICAgICAgICAgIHBhcnQgPSByZWZba107XG4gICAgICAgICAgICAgIHJlc3VsdHMucHVzaChwYXJ0LnRvU3RyaW5nKDE2KSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXR1cm4gcmVzdWx0cztcbiAgICAgICAgICB9LmNhbGwodGhpcykuam9pbihcIjpcIik7XG4gICAgICAgICAgc3VmZml4ID0gXCJcIjtcbiAgICAgICAgICBpZiAodGhpcy56b25lSWQpIHtcbiAgICAgICAgICAgIHN1ZmZpeCA9IFwiJVwiICsgdGhpcy56b25lSWQ7XG4gICAgICAgICAgfVxuICAgICAgICAgIHJldHVybiBhZGRyICsgc3VmZml4O1xuICAgICAgICB9O1xuICAgICAgICBJUHY2LnByb3RvdHlwZS50b0ZpeGVkTGVuZ3RoU3RyaW5nID0gZnVuY3Rpb24oKSB7XG4gICAgICAgICAgdmFyIGFkZHIsIHBhcnQsIHN1ZmZpeDtcbiAgICAgICAgICBhZGRyID0gZnVuY3Rpb24oKSB7XG4gICAgICAgICAgICB2YXIgaywgbGVuLCByZWYsIHJlc3VsdHM7XG4gICAgICAgICAgICByZWYgPSB0aGlzLnBhcnRzO1xuICAgICAgICAgICAgcmVzdWx0cyA9IFtdO1xuICAgICAgICAgICAgZm9yIChrID0gMCwgbGVuID0gcmVmLmxlbmd0aDsgayA8IGxlbjsgaysrKSB7XG4gICAgICAgICAgICAgIHBhcnQgPSByZWZba107XG4gICAgICAgICAgICAgIHJlc3VsdHMucHVzaChwYXJ0LnRvU3RyaW5nKDE2KS5wYWRTdGFydCg0LCBcIjBcIikpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmV0dXJuIHJlc3VsdHM7XG4gICAgICAgICAgfS5jYWxsKHRoaXMpLmpvaW4oXCI6XCIpO1xuICAgICAgICAgIHN1ZmZpeCA9IFwiXCI7XG4gICAgICAgICAgaWYgKHRoaXMuem9uZUlkKSB7XG4gICAgICAgICAgICBzdWZmaXggPSBcIiVcIiArIHRoaXMuem9uZUlkO1xuICAgICAgICAgIH1cbiAgICAgICAgICByZXR1cm4gYWRkciArIHN1ZmZpeDtcbiAgICAgICAgfTtcbiAgICAgICAgSVB2Ni5wcm90b3R5cGUubWF0Y2ggPSBmdW5jdGlvbihvdGhlciwgY2lkclJhbmdlKSB7XG4gICAgICAgICAgdmFyIHJlZjtcbiAgICAgICAgICBpZiAoY2lkclJhbmdlID09PSB2b2lkIDApIHtcbiAgICAgICAgICAgIHJlZiA9IG90aGVyLCBvdGhlciA9IHJlZlswXSwgY2lkclJhbmdlID0gcmVmWzFdO1xuICAgICAgICAgIH1cbiAgICAgICAgICBpZiAob3RoZXIua2luZCgpICE9PSBcImlwdjZcIikge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKFwiaXBhZGRyOiBjYW5ub3QgbWF0Y2ggaXB2NiBhZGRyZXNzIHdpdGggbm9uLWlwdjYgb25lXCIpO1xuICAgICAgICAgIH1cbiAgICAgICAgICByZXR1cm4gbWF0Y2hDSURSKHRoaXMucGFydHMsIG90aGVyLnBhcnRzLCAxNiwgY2lkclJhbmdlKTtcbiAgICAgICAgfTtcbiAgICAgICAgSVB2Ni5wcm90b3R5cGUuU3BlY2lhbFJhbmdlcyA9IHtcbiAgICAgICAgICB1bnNwZWNpZmllZDogW25ldyBJUHY2KFswLCAwLCAwLCAwLCAwLCAwLCAwLCAwXSksIDEyOF0sXG4gICAgICAgICAgbGlua0xvY2FsOiBbbmV3IElQdjYoWzY1MTUyLCAwLCAwLCAwLCAwLCAwLCAwLCAwXSksIDEwXSxcbiAgICAgICAgICBtdWx0aWNhc3Q6IFtuZXcgSVB2NihbNjUyODAsIDAsIDAsIDAsIDAsIDAsIDAsIDBdKSwgOF0sXG4gICAgICAgICAgbG9vcGJhY2s6IFtuZXcgSVB2NihbMCwgMCwgMCwgMCwgMCwgMCwgMCwgMV0pLCAxMjhdLFxuICAgICAgICAgIHVuaXF1ZUxvY2FsOiBbbmV3IElQdjYoWzY0NTEyLCAwLCAwLCAwLCAwLCAwLCAwLCAwXSksIDddLFxuICAgICAgICAgIGlwdjRNYXBwZWQ6IFtuZXcgSVB2NihbMCwgMCwgMCwgMCwgMCwgNjU1MzUsIDAsIDBdKSwgOTZdLFxuICAgICAgICAgIHJmYzYxNDU6IFtuZXcgSVB2NihbMCwgMCwgMCwgMCwgNjU1MzUsIDAsIDAsIDBdKSwgOTZdLFxuICAgICAgICAgIHJmYzYwNTI6IFtuZXcgSVB2NihbMTAwLCA2NTQzNSwgMCwgMCwgMCwgMCwgMCwgMF0pLCA5Nl0sXG4gICAgICAgICAgXCI2dG80XCI6IFtuZXcgSVB2NihbODE5NCwgMCwgMCwgMCwgMCwgMCwgMCwgMF0pLCAxNl0sXG4gICAgICAgICAgdGVyZWRvOiBbbmV3IElQdjYoWzgxOTMsIDAsIDAsIDAsIDAsIDAsIDAsIDBdKSwgMzJdLFxuICAgICAgICAgIHJlc2VydmVkOiBbW25ldyBJUHY2KFs4MTkzLCAzNTEyLCAwLCAwLCAwLCAwLCAwLCAwXSksIDMyXV1cbiAgICAgICAgfTtcbiAgICAgICAgSVB2Ni5wcm90b3R5cGUucmFuZ2UgPSBmdW5jdGlvbigpIHtcbiAgICAgICAgICByZXR1cm4gaXBhZGRyLnN1Ym5ldE1hdGNoKHRoaXMsIHRoaXMuU3BlY2lhbFJhbmdlcyk7XG4gICAgICAgIH07XG4gICAgICAgIElQdjYucHJvdG90eXBlLmlzSVB2NE1hcHBlZEFkZHJlc3MgPSBmdW5jdGlvbigpIHtcbiAgICAgICAgICByZXR1cm4gdGhpcy5yYW5nZSgpID09PSBcImlwdjRNYXBwZWRcIjtcbiAgICAgICAgfTtcbiAgICAgICAgSVB2Ni5wcm90b3R5cGUudG9JUHY0QWRkcmVzcyA9IGZ1bmN0aW9uKCkge1xuICAgICAgICAgIHZhciBoaWdoLCBsb3csIHJlZjtcbiAgICAgICAgICBpZiAoIXRoaXMuaXNJUHY0TWFwcGVkQWRkcmVzcygpKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXCJpcGFkZHI6IHRyeWluZyB0byBjb252ZXJ0IGEgZ2VuZXJpYyBpcHY2IGFkZHJlc3MgdG8gaXB2NFwiKTtcbiAgICAgICAgICB9XG4gICAgICAgICAgcmVmID0gdGhpcy5wYXJ0cy5zbGljZSgtMiksIGhpZ2ggPSByZWZbMF0sIGxvdyA9IHJlZlsxXTtcbiAgICAgICAgICByZXR1cm4gbmV3IGlwYWRkci5JUHY0KFtoaWdoID4+IDgsIGhpZ2ggJiAyNTUsIGxvdyA+PiA4LCBsb3cgJiAyNTVdKTtcbiAgICAgICAgfTtcbiAgICAgICAgSVB2Ni5wcm90b3R5cGUucHJlZml4TGVuZ3RoRnJvbVN1Ym5ldE1hc2sgPSBmdW5jdGlvbigpIHtcbiAgICAgICAgICB2YXIgY2lkciwgaSwgaywgcGFydCwgc3RvcCwgemVyb3MsIHplcm90YWJsZTtcbiAgICAgICAgICB6ZXJvdGFibGUgPSB7XG4gICAgICAgICAgICAwOiAxNixcbiAgICAgICAgICAgIDMyNzY4OiAxNSxcbiAgICAgICAgICAgIDQ5MTUyOiAxNCxcbiAgICAgICAgICAgIDU3MzQ0OiAxMyxcbiAgICAgICAgICAgIDYxNDQwOiAxMixcbiAgICAgICAgICAgIDYzNDg4OiAxMSxcbiAgICAgICAgICAgIDY0NTEyOiAxMCxcbiAgICAgICAgICAgIDY1MDI0OiA5LFxuICAgICAgICAgICAgNjUyODA6IDgsXG4gICAgICAgICAgICA2NTQwODogNyxcbiAgICAgICAgICAgIDY1NDcyOiA2LFxuICAgICAgICAgICAgNjU1MDQ6IDUsXG4gICAgICAgICAgICA2NTUyMDogNCxcbiAgICAgICAgICAgIDY1NTI4OiAzLFxuICAgICAgICAgICAgNjU1MzI6IDIsXG4gICAgICAgICAgICA2NTUzNDogMSxcbiAgICAgICAgICAgIDY1NTM1OiAwXG4gICAgICAgICAgfTtcbiAgICAgICAgICBjaWRyID0gMDtcbiAgICAgICAgICBzdG9wID0gZmFsc2U7XG4gICAgICAgICAgZm9yIChpID0gayA9IDc7IGsgPj0gMDsgaSA9IGsgKz0gLTEpIHtcbiAgICAgICAgICAgIHBhcnQgPSB0aGlzLnBhcnRzW2ldO1xuICAgICAgICAgICAgaWYgKHBhcnQgaW4gemVyb3RhYmxlKSB7XG4gICAgICAgICAgICAgIHplcm9zID0gemVyb3RhYmxlW3BhcnRdO1xuICAgICAgICAgICAgICBpZiAoc3RvcCAmJiB6ZXJvcyAhPT0gMCkge1xuICAgICAgICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIGlmICh6ZXJvcyAhPT0gMTYpIHtcbiAgICAgICAgICAgICAgICBzdG9wID0gdHJ1ZTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICBjaWRyICs9IHplcm9zO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICAgIHJldHVybiAxMjggLSBjaWRyO1xuICAgICAgICB9O1xuICAgICAgICByZXR1cm4gSVB2NjtcbiAgICAgIH0oKTtcbiAgICAgIGlwdjZQYXJ0ID0gXCIoPzpbMC05YS1mXSs6Oj8pK1wiO1xuICAgICAgem9uZUluZGV4ID0gXCIlWzAtOWEtel17MSx9XCI7XG4gICAgICBpcHY2UmVnZXhlcyA9IHtcbiAgICAgICAgem9uZUluZGV4OiBuZXcgUmVnRXhwKHpvbmVJbmRleCwgXCJpXCIpLFxuICAgICAgICBcIm5hdGl2ZVwiOiBuZXcgUmVnRXhwKFwiXig6Oik/KFwiICsgaXB2NlBhcnQgKyBcIik/KFswLTlhLWZdKyk/KDo6KT8oXCIgKyB6b25lSW5kZXggKyBcIik/JFwiLCBcImlcIiksXG4gICAgICAgIHRyYW5zaXRpb25hbDogbmV3IFJlZ0V4cChcIl4oKD86XCIgKyBpcHY2UGFydCArIFwiKXwoPzo6OikoPzpcIiArIGlwdjZQYXJ0ICsgXCIpPylcIiArIChpcHY0UGFydCArIFwiXFxcXC5cIiArIGlwdjRQYXJ0ICsgXCJcXFxcLlwiICsgaXB2NFBhcnQgKyBcIlxcXFwuXCIgKyBpcHY0UGFydCkgKyAoXCIoXCIgKyB6b25lSW5kZXggKyBcIik/JFwiKSwgXCJpXCIpXG4gICAgICB9O1xuICAgICAgZXhwYW5kSVB2NiA9IGZ1bmN0aW9uKHN0cmluZywgcGFydHMpIHtcbiAgICAgICAgdmFyIGNvbG9uQ291bnQsIGxhc3RDb2xvbiwgcGFydCwgcmVwbGFjZW1lbnQsIHJlcGxhY2VtZW50Q291bnQsIHpvbmVJZDtcbiAgICAgICAgaWYgKHN0cmluZy5pbmRleE9mKFwiOjpcIikgIT09IHN0cmluZy5sYXN0SW5kZXhPZihcIjo6XCIpKSB7XG4gICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgIH1cbiAgICAgICAgem9uZUlkID0gKHN0cmluZy5tYXRjaChpcHY2UmVnZXhlc1tcInpvbmVJbmRleFwiXSkgfHwgW10pWzBdO1xuICAgICAgICBpZiAoem9uZUlkKSB7XG4gICAgICAgICAgem9uZUlkID0gem9uZUlkLnN1YnN0cmluZygxKTtcbiAgICAgICAgICBzdHJpbmcgPSBzdHJpbmcucmVwbGFjZSgvJS4rJC8sIFwiXCIpO1xuICAgICAgICB9XG4gICAgICAgIGNvbG9uQ291bnQgPSAwO1xuICAgICAgICBsYXN0Q29sb24gPSAtMTtcbiAgICAgICAgd2hpbGUgKChsYXN0Q29sb24gPSBzdHJpbmcuaW5kZXhPZihcIjpcIiwgbGFzdENvbG9uICsgMSkpID49IDApIHtcbiAgICAgICAgICBjb2xvbkNvdW50Kys7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHN0cmluZy5zdWJzdHIoMCwgMikgPT09IFwiOjpcIikge1xuICAgICAgICAgIGNvbG9uQ291bnQtLTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoc3RyaW5nLnN1YnN0cigtMiwgMikgPT09IFwiOjpcIikge1xuICAgICAgICAgIGNvbG9uQ291bnQtLTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoY29sb25Db3VudCA+IHBhcnRzKSB7XG4gICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgIH1cbiAgICAgICAgcmVwbGFjZW1lbnRDb3VudCA9IHBhcnRzIC0gY29sb25Db3VudDtcbiAgICAgICAgcmVwbGFjZW1lbnQgPSBcIjpcIjtcbiAgICAgICAgd2hpbGUgKHJlcGxhY2VtZW50Q291bnQtLSkge1xuICAgICAgICAgIHJlcGxhY2VtZW50ICs9IFwiMDpcIjtcbiAgICAgICAgfVxuICAgICAgICBzdHJpbmcgPSBzdHJpbmcucmVwbGFjZShcIjo6XCIsIHJlcGxhY2VtZW50KTtcbiAgICAgICAgaWYgKHN0cmluZ1swXSA9PT0gXCI6XCIpIHtcbiAgICAgICAgICBzdHJpbmcgPSBzdHJpbmcuc2xpY2UoMSk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHN0cmluZ1tzdHJpbmcubGVuZ3RoIC0gMV0gPT09IFwiOlwiKSB7XG4gICAgICAgICAgc3RyaW5nID0gc3RyaW5nLnNsaWNlKDAsIC0xKTtcbiAgICAgICAgfVxuICAgICAgICBwYXJ0cyA9IGZ1bmN0aW9uKCkge1xuICAgICAgICAgIHZhciBrLCBsZW4sIHJlZiwgcmVzdWx0cztcbiAgICAgICAgICByZWYgPSBzdHJpbmcuc3BsaXQoXCI6XCIpO1xuICAgICAgICAgIHJlc3VsdHMgPSBbXTtcbiAgICAgICAgICBmb3IgKGsgPSAwLCBsZW4gPSByZWYubGVuZ3RoOyBrIDwgbGVuOyBrKyspIHtcbiAgICAgICAgICAgIHBhcnQgPSByZWZba107XG4gICAgICAgICAgICByZXN1bHRzLnB1c2gocGFyc2VJbnQocGFydCwgMTYpKTtcbiAgICAgICAgICB9XG4gICAgICAgICAgcmV0dXJuIHJlc3VsdHM7XG4gICAgICAgIH0oKTtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICBwYXJ0cyxcbiAgICAgICAgICB6b25lSWRcbiAgICAgICAgfTtcbiAgICAgIH07XG4gICAgICBpcGFkZHIuSVB2Ni5wYXJzZXIgPSBmdW5jdGlvbihzdHJpbmcpIHtcbiAgICAgICAgdmFyIGFkZHIsIGssIGxlbiwgbWF0Y2gsIG9jdGV0LCBvY3RldHMsIHpvbmVJZDtcbiAgICAgICAgaWYgKGlwdjZSZWdleGVzW1wibmF0aXZlXCJdLnRlc3Qoc3RyaW5nKSkge1xuICAgICAgICAgIHJldHVybiBleHBhbmRJUHY2KHN0cmluZywgOCk7XG4gICAgICAgIH0gZWxzZSBpZiAobWF0Y2ggPSBzdHJpbmcubWF0Y2goaXB2NlJlZ2V4ZXNbXCJ0cmFuc2l0aW9uYWxcIl0pKSB7XG4gICAgICAgICAgem9uZUlkID0gbWF0Y2hbNl0gfHwgXCJcIjtcbiAgICAgICAgICBhZGRyID0gZXhwYW5kSVB2NihtYXRjaFsxXS5zbGljZSgwLCAtMSkgKyB6b25lSWQsIDYpO1xuICAgICAgICAgIGlmIChhZGRyLnBhcnRzKSB7XG4gICAgICAgICAgICBvY3RldHMgPSBbcGFyc2VJbnQobWF0Y2hbMl0pLCBwYXJzZUludChtYXRjaFszXSksIHBhcnNlSW50KG1hdGNoWzRdKSwgcGFyc2VJbnQobWF0Y2hbNV0pXTtcbiAgICAgICAgICAgIGZvciAoayA9IDAsIGxlbiA9IG9jdGV0cy5sZW5ndGg7IGsgPCBsZW47IGsrKykge1xuICAgICAgICAgICAgICBvY3RldCA9IG9jdGV0c1trXTtcbiAgICAgICAgICAgICAgaWYgKCEoMCA8PSBvY3RldCAmJiBvY3RldCA8PSAyNTUpKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGFkZHIucGFydHMucHVzaChvY3RldHNbMF0gPDwgOCB8IG9jdGV0c1sxXSk7XG4gICAgICAgICAgICBhZGRyLnBhcnRzLnB1c2gob2N0ZXRzWzJdIDw8IDggfCBvY3RldHNbM10pO1xuICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgcGFydHM6IGFkZHIucGFydHMsXG4gICAgICAgICAgICAgIHpvbmVJZDogYWRkci56b25lSWRcbiAgICAgICAgICAgIH07XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHJldHVybiBudWxsO1xuICAgICAgfTtcbiAgICAgIGlwYWRkci5JUHY0LmlzSVB2NCA9IGlwYWRkci5JUHY2LmlzSVB2NiA9IGZ1bmN0aW9uKHN0cmluZykge1xuICAgICAgICByZXR1cm4gdGhpcy5wYXJzZXIoc3RyaW5nKSAhPT0gbnVsbDtcbiAgICAgIH07XG4gICAgICBpcGFkZHIuSVB2NC5pc1ZhbGlkID0gZnVuY3Rpb24oc3RyaW5nKSB7XG4gICAgICAgIHZhciBlO1xuICAgICAgICB0cnkge1xuICAgICAgICAgIG5ldyB0aGlzKHRoaXMucGFyc2VyKHN0cmluZykpO1xuICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICB9IGNhdGNoIChlcnJvcjEpIHtcbiAgICAgICAgICBlID0gZXJyb3IxO1xuICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgfVxuICAgICAgfTtcbiAgICAgIGlwYWRkci5JUHY0LmlzVmFsaWRGb3VyUGFydERlY2ltYWwgPSBmdW5jdGlvbihzdHJpbmcpIHtcbiAgICAgICAgaWYgKGlwYWRkci5JUHY0LmlzVmFsaWQoc3RyaW5nKSAmJiBzdHJpbmcubWF0Y2goL14oMHxbMS05XVxcZCopKFxcLigwfFsxLTldXFxkKikpezN9JC8pKSB7XG4gICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICB9XG4gICAgICB9O1xuICAgICAgaXBhZGRyLklQdjYuaXNWYWxpZCA9IGZ1bmN0aW9uKHN0cmluZykge1xuICAgICAgICB2YXIgYWRkciwgZTtcbiAgICAgICAgaWYgKHR5cGVvZiBzdHJpbmcgPT09IFwic3RyaW5nXCIgJiYgc3RyaW5nLmluZGV4T2YoXCI6XCIpID09PSAtMSkge1xuICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgfVxuICAgICAgICB0cnkge1xuICAgICAgICAgIGFkZHIgPSB0aGlzLnBhcnNlcihzdHJpbmcpO1xuICAgICAgICAgIG5ldyB0aGlzKGFkZHIucGFydHMsIGFkZHIuem9uZUlkKTtcbiAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgfSBjYXRjaCAoZXJyb3IxKSB7XG4gICAgICAgICAgZSA9IGVycm9yMTtcbiAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgIH1cbiAgICAgIH07XG4gICAgICBpcGFkZHIuSVB2NC5wYXJzZSA9IGZ1bmN0aW9uKHN0cmluZykge1xuICAgICAgICB2YXIgcGFydHM7XG4gICAgICAgIHBhcnRzID0gdGhpcy5wYXJzZXIoc3RyaW5nKTtcbiAgICAgICAgaWYgKHBhcnRzID09PSBudWxsKSB7XG4gICAgICAgICAgdGhyb3cgbmV3IEVycm9yKFwiaXBhZGRyOiBzdHJpbmcgaXMgbm90IGZvcm1hdHRlZCBsaWtlIGlwIGFkZHJlc3NcIik7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIG5ldyB0aGlzKHBhcnRzKTtcbiAgICAgIH07XG4gICAgICBpcGFkZHIuSVB2Ni5wYXJzZSA9IGZ1bmN0aW9uKHN0cmluZykge1xuICAgICAgICB2YXIgYWRkcjtcbiAgICAgICAgYWRkciA9IHRoaXMucGFyc2VyKHN0cmluZyk7XG4gICAgICAgIGlmIChhZGRyLnBhcnRzID09PSBudWxsKSB7XG4gICAgICAgICAgdGhyb3cgbmV3IEVycm9yKFwiaXBhZGRyOiBzdHJpbmcgaXMgbm90IGZvcm1hdHRlZCBsaWtlIGlwIGFkZHJlc3NcIik7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIG5ldyB0aGlzKGFkZHIucGFydHMsIGFkZHIuem9uZUlkKTtcbiAgICAgIH07XG4gICAgICBpcGFkZHIuSVB2NC5wYXJzZUNJRFIgPSBmdW5jdGlvbihzdHJpbmcpIHtcbiAgICAgICAgdmFyIG1hc2tMZW5ndGgsIG1hdGNoLCBwYXJzZWQ7XG4gICAgICAgIGlmIChtYXRjaCA9IHN0cmluZy5tYXRjaCgvXiguKylcXC8oXFxkKykkLykpIHtcbiAgICAgICAgICBtYXNrTGVuZ3RoID0gcGFyc2VJbnQobWF0Y2hbMl0pO1xuICAgICAgICAgIGlmIChtYXNrTGVuZ3RoID49IDAgJiYgbWFza0xlbmd0aCA8PSAzMikge1xuICAgICAgICAgICAgcGFyc2VkID0gW3RoaXMucGFyc2UobWF0Y2hbMV0pLCBtYXNrTGVuZ3RoXTtcbiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShwYXJzZWQsIFwidG9TdHJpbmdcIiwge1xuICAgICAgICAgICAgICB2YWx1ZTogZnVuY3Rpb24oKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuam9pbihcIi9cIik7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgcmV0dXJuIHBhcnNlZDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKFwiaXBhZGRyOiBzdHJpbmcgaXMgbm90IGZvcm1hdHRlZCBsaWtlIGFuIElQdjQgQ0lEUiByYW5nZVwiKTtcbiAgICAgIH07XG4gICAgICBpcGFkZHIuSVB2NC5zdWJuZXRNYXNrRnJvbVByZWZpeExlbmd0aCA9IGZ1bmN0aW9uKHByZWZpeCkge1xuICAgICAgICB2YXIgZmlsbGVkT2N0ZXRDb3VudCwgaiwgb2N0ZXRzO1xuICAgICAgICBwcmVmaXggPSBwYXJzZUludChwcmVmaXgpO1xuICAgICAgICBpZiAocHJlZml4IDwgMCB8fCBwcmVmaXggPiAzMikge1xuICAgICAgICAgIHRocm93IG5ldyBFcnJvcihcImlwYWRkcjogaW52YWxpZCBJUHY0IHByZWZpeCBsZW5ndGhcIik7XG4gICAgICAgIH1cbiAgICAgICAgb2N0ZXRzID0gWzAsIDAsIDAsIDBdO1xuICAgICAgICBqID0gMDtcbiAgICAgICAgZmlsbGVkT2N0ZXRDb3VudCA9IE1hdGguZmxvb3IocHJlZml4IC8gOCk7XG4gICAgICAgIHdoaWxlIChqIDwgZmlsbGVkT2N0ZXRDb3VudCkge1xuICAgICAgICAgIG9jdGV0c1tqXSA9IDI1NTtcbiAgICAgICAgICBqKys7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGZpbGxlZE9jdGV0Q291bnQgPCA0KSB7XG4gICAgICAgICAgb2N0ZXRzW2ZpbGxlZE9jdGV0Q291bnRdID0gTWF0aC5wb3coMiwgcHJlZml4ICUgOCkgLSAxIDw8IDggLSBwcmVmaXggJSA4O1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBuZXcgdGhpcyhvY3RldHMpO1xuICAgICAgfTtcbiAgICAgIGlwYWRkci5JUHY0LmJyb2FkY2FzdEFkZHJlc3NGcm9tQ0lEUiA9IGZ1bmN0aW9uKHN0cmluZykge1xuICAgICAgICB2YXIgY2lkciwgZXJyb3IsIGksIGlwSW50ZXJmYWNlT2N0ZXRzLCBvY3RldHMsIHN1Ym5ldE1hc2tPY3RldHM7XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgY2lkciA9IHRoaXMucGFyc2VDSURSKHN0cmluZyk7XG4gICAgICAgICAgaXBJbnRlcmZhY2VPY3RldHMgPSBjaWRyWzBdLnRvQnl0ZUFycmF5KCk7XG4gICAgICAgICAgc3VibmV0TWFza09jdGV0cyA9IHRoaXMuc3VibmV0TWFza0Zyb21QcmVmaXhMZW5ndGgoY2lkclsxXSkudG9CeXRlQXJyYXkoKTtcbiAgICAgICAgICBvY3RldHMgPSBbXTtcbiAgICAgICAgICBpID0gMDtcbiAgICAgICAgICB3aGlsZSAoaSA8IDQpIHtcbiAgICAgICAgICAgIG9jdGV0cy5wdXNoKHBhcnNlSW50KGlwSW50ZXJmYWNlT2N0ZXRzW2ldLCAxMCkgfCBwYXJzZUludChzdWJuZXRNYXNrT2N0ZXRzW2ldLCAxMCkgXiAyNTUpO1xuICAgICAgICAgICAgaSsrO1xuICAgICAgICAgIH1cbiAgICAgICAgICByZXR1cm4gbmV3IHRoaXMob2N0ZXRzKTtcbiAgICAgICAgfSBjYXRjaCAoZXJyb3IxKSB7XG4gICAgICAgICAgZXJyb3IgPSBlcnJvcjE7XG4gICAgICAgICAgdGhyb3cgbmV3IEVycm9yKFwiaXBhZGRyOiB0aGUgYWRkcmVzcyBkb2VzIG5vdCBoYXZlIElQdjQgQ0lEUiBmb3JtYXRcIik7XG4gICAgICAgIH1cbiAgICAgIH07XG4gICAgICBpcGFkZHIuSVB2NC5uZXR3b3JrQWRkcmVzc0Zyb21DSURSID0gZnVuY3Rpb24oc3RyaW5nKSB7XG4gICAgICAgIHZhciBjaWRyLCBlcnJvciwgaSwgaXBJbnRlcmZhY2VPY3RldHMsIG9jdGV0cywgc3VibmV0TWFza09jdGV0cztcbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICBjaWRyID0gdGhpcy5wYXJzZUNJRFIoc3RyaW5nKTtcbiAgICAgICAgICBpcEludGVyZmFjZU9jdGV0cyA9IGNpZHJbMF0udG9CeXRlQXJyYXkoKTtcbiAgICAgICAgICBzdWJuZXRNYXNrT2N0ZXRzID0gdGhpcy5zdWJuZXRNYXNrRnJvbVByZWZpeExlbmd0aChjaWRyWzFdKS50b0J5dGVBcnJheSgpO1xuICAgICAgICAgIG9jdGV0cyA9IFtdO1xuICAgICAgICAgIGkgPSAwO1xuICAgICAgICAgIHdoaWxlIChpIDwgNCkge1xuICAgICAgICAgICAgb2N0ZXRzLnB1c2gocGFyc2VJbnQoaXBJbnRlcmZhY2VPY3RldHNbaV0sIDEwKSAmIHBhcnNlSW50KHN1Ym5ldE1hc2tPY3RldHNbaV0sIDEwKSk7XG4gICAgICAgICAgICBpKys7XG4gICAgICAgICAgfVxuICAgICAgICAgIHJldHVybiBuZXcgdGhpcyhvY3RldHMpO1xuICAgICAgICB9IGNhdGNoIChlcnJvcjEpIHtcbiAgICAgICAgICBlcnJvciA9IGVycm9yMTtcbiAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXCJpcGFkZHI6IHRoZSBhZGRyZXNzIGRvZXMgbm90IGhhdmUgSVB2NCBDSURSIGZvcm1hdFwiKTtcbiAgICAgICAgfVxuICAgICAgfTtcbiAgICAgIGlwYWRkci5JUHY2LnBhcnNlQ0lEUiA9IGZ1bmN0aW9uKHN0cmluZykge1xuICAgICAgICB2YXIgbWFza0xlbmd0aCwgbWF0Y2gsIHBhcnNlZDtcbiAgICAgICAgaWYgKG1hdGNoID0gc3RyaW5nLm1hdGNoKC9eKC4rKVxcLyhcXGQrKSQvKSkge1xuICAgICAgICAgIG1hc2tMZW5ndGggPSBwYXJzZUludChtYXRjaFsyXSk7XG4gICAgICAgICAgaWYgKG1hc2tMZW5ndGggPj0gMCAmJiBtYXNrTGVuZ3RoIDw9IDEyOCkge1xuICAgICAgICAgICAgcGFyc2VkID0gW3RoaXMucGFyc2UobWF0Y2hbMV0pLCBtYXNrTGVuZ3RoXTtcbiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShwYXJzZWQsIFwidG9TdHJpbmdcIiwge1xuICAgICAgICAgICAgICB2YWx1ZTogZnVuY3Rpb24oKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuam9pbihcIi9cIik7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgcmV0dXJuIHBhcnNlZDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKFwiaXBhZGRyOiBzdHJpbmcgaXMgbm90IGZvcm1hdHRlZCBsaWtlIGFuIElQdjYgQ0lEUiByYW5nZVwiKTtcbiAgICAgIH07XG4gICAgICBpcGFkZHIuaXNWYWxpZCA9IGZ1bmN0aW9uKHN0cmluZykge1xuICAgICAgICByZXR1cm4gaXBhZGRyLklQdjYuaXNWYWxpZChzdHJpbmcpIHx8IGlwYWRkci5JUHY0LmlzVmFsaWQoc3RyaW5nKTtcbiAgICAgIH07XG4gICAgICBpcGFkZHIucGFyc2UgPSBmdW5jdGlvbihzdHJpbmcpIHtcbiAgICAgICAgaWYgKGlwYWRkci5JUHY2LmlzVmFsaWQoc3RyaW5nKSkge1xuICAgICAgICAgIHJldHVybiBpcGFkZHIuSVB2Ni5wYXJzZShzdHJpbmcpO1xuICAgICAgICB9IGVsc2UgaWYgKGlwYWRkci5JUHY0LmlzVmFsaWQoc3RyaW5nKSkge1xuICAgICAgICAgIHJldHVybiBpcGFkZHIuSVB2NC5wYXJzZShzdHJpbmcpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHRocm93IG5ldyBFcnJvcihcImlwYWRkcjogdGhlIGFkZHJlc3MgaGFzIG5laXRoZXIgSVB2NiBub3IgSVB2NCBmb3JtYXRcIik7XG4gICAgICAgIH1cbiAgICAgIH07XG4gICAgICBpcGFkZHIucGFyc2VDSURSID0gZnVuY3Rpb24oc3RyaW5nKSB7XG4gICAgICAgIHZhciBlO1xuICAgICAgICB0cnkge1xuICAgICAgICAgIHJldHVybiBpcGFkZHIuSVB2Ni5wYXJzZUNJRFIoc3RyaW5nKTtcbiAgICAgICAgfSBjYXRjaCAoZXJyb3IxKSB7XG4gICAgICAgICAgZSA9IGVycm9yMTtcbiAgICAgICAgICB0cnkge1xuICAgICAgICAgICAgcmV0dXJuIGlwYWRkci5JUHY0LnBhcnNlQ0lEUihzdHJpbmcpO1xuICAgICAgICAgIH0gY2F0Y2ggKGVycm9yMTIpIHtcbiAgICAgICAgICAgIGUgPSBlcnJvcjEyO1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKFwiaXBhZGRyOiB0aGUgYWRkcmVzcyBoYXMgbmVpdGhlciBJUHY2IG5vciBJUHY0IENJRFIgZm9ybWF0XCIpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfTtcbiAgICAgIGlwYWRkci5mcm9tQnl0ZUFycmF5ID0gZnVuY3Rpb24oYnl0ZXMpIHtcbiAgICAgICAgdmFyIGxlbmd0aDtcbiAgICAgICAgbGVuZ3RoID0gYnl0ZXMubGVuZ3RoO1xuICAgICAgICBpZiAobGVuZ3RoID09PSA0KSB7XG4gICAgICAgICAgcmV0dXJuIG5ldyBpcGFkZHIuSVB2NChieXRlcyk7XG4gICAgICAgIH0gZWxzZSBpZiAobGVuZ3RoID09PSAxNikge1xuICAgICAgICAgIHJldHVybiBuZXcgaXBhZGRyLklQdjYoYnl0ZXMpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHRocm93IG5ldyBFcnJvcihcImlwYWRkcjogdGhlIGJpbmFyeSBpbnB1dCBpcyBuZWl0aGVyIGFuIElQdjYgbm9yIElQdjQgYWRkcmVzc1wiKTtcbiAgICAgICAgfVxuICAgICAgfTtcbiAgICAgIGlwYWRkci5wcm9jZXNzID0gZnVuY3Rpb24oc3RyaW5nKSB7XG4gICAgICAgIHZhciBhZGRyO1xuICAgICAgICBhZGRyID0gdGhpcy5wYXJzZShzdHJpbmcpO1xuICAgICAgICBpZiAoYWRkci5raW5kKCkgPT09IFwiaXB2NlwiICYmIGFkZHIuaXNJUHY0TWFwcGVkQWRkcmVzcygpKSB7XG4gICAgICAgICAgcmV0dXJuIGFkZHIudG9JUHY0QWRkcmVzcygpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHJldHVybiBhZGRyO1xuICAgICAgICB9XG4gICAgICB9O1xuICAgIH0pLmNhbGwoZXhwb3J0czIpO1xuICB9XG59KTtcblxuLy8gbm9kZV9tb2R1bGVzL3Byb3h5LWFkZHIvaW5kZXguanNcbnZhciByZXF1aXJlX3Byb3h5X2FkZHIgPSBfX2NvbW1vbkpTKHtcbiAgXCJub2RlX21vZHVsZXMvcHJveHktYWRkci9pbmRleC5qc1wiKGV4cG9ydHMyLCBtb2R1bGUyKSB7XG4gICAgXCJ1c2Ugc3RyaWN0XCI7XG4gICAgbW9kdWxlMi5leHBvcnRzID0gcHJveHlhZGRyO1xuICAgIG1vZHVsZTIuZXhwb3J0cy5hbGwgPSBhbGxhZGRycztcbiAgICBtb2R1bGUyLmV4cG9ydHMuY29tcGlsZSA9IGNvbXBpbGU7XG4gICAgdmFyIGZvcndhcmRlZCA9IHJlcXVpcmVfZm9yd2FyZGVkKCk7XG4gICAgdmFyIGlwYWRkciA9IHJlcXVpcmVfaXBhZGRyKCk7XG4gICAgdmFyIERJR0lUX1JFR0VYUCA9IC9eWzAtOV0rJC87XG4gICAgdmFyIGlzaXAgPSBpcGFkZHIuaXNWYWxpZDtcbiAgICB2YXIgcGFyc2VpcCA9IGlwYWRkci5wYXJzZTtcbiAgICB2YXIgSVBfUkFOR0VTID0ge1xuICAgICAgbGlua2xvY2FsOiBbXCIxNjkuMjU0LjAuMC8xNlwiLCBcImZlODA6Oi8xMFwiXSxcbiAgICAgIGxvb3BiYWNrOiBbXCIxMjcuMC4wLjEvOFwiLCBcIjo6MS8xMjhcIl0sXG4gICAgICB1bmlxdWVsb2NhbDogW1wiMTAuMC4wLjAvOFwiLCBcIjE3Mi4xNi4wLjAvMTJcIiwgXCIxOTIuMTY4LjAuMC8xNlwiLCBcImZjMDA6Oi83XCJdXG4gICAgfTtcbiAgICBmdW5jdGlvbiBhbGxhZGRycyhyZXEsIHRydXN0KSB7XG4gICAgICB2YXIgYWRkcnMgPSBmb3J3YXJkZWQocmVxKTtcbiAgICAgIGlmICghdHJ1c3QpIHtcbiAgICAgICAgcmV0dXJuIGFkZHJzO1xuICAgICAgfVxuICAgICAgaWYgKHR5cGVvZiB0cnVzdCAhPT0gXCJmdW5jdGlvblwiKSB7XG4gICAgICAgIHRydXN0ID0gY29tcGlsZSh0cnVzdCk7XG4gICAgICB9XG4gICAgICBmb3IgKHZhciBpID0gMDsgaSA8IGFkZHJzLmxlbmd0aCAtIDE7IGkrKykge1xuICAgICAgICBpZiAodHJ1c3QoYWRkcnNbaV0sIGkpKSBjb250aW51ZTtcbiAgICAgICAgYWRkcnMubGVuZ3RoID0gaSArIDE7XG4gICAgICB9XG4gICAgICByZXR1cm4gYWRkcnM7XG4gICAgfVxuICAgIGZ1bmN0aW9uIGNvbXBpbGUodmFsKSB7XG4gICAgICBpZiAoIXZhbCkge1xuICAgICAgICB0aHJvdyBuZXcgVHlwZUVycm9yKFwiYXJndW1lbnQgaXMgcmVxdWlyZWRcIik7XG4gICAgICB9XG4gICAgICB2YXIgdHJ1c3Q7XG4gICAgICBpZiAodHlwZW9mIHZhbCA9PT0gXCJzdHJpbmdcIikge1xuICAgICAgICB0cnVzdCA9IFt2YWxdO1xuICAgICAgfSBlbHNlIGlmIChBcnJheS5pc0FycmF5KHZhbCkpIHtcbiAgICAgICAgdHJ1c3QgPSB2YWwuc2xpY2UoKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRocm93IG5ldyBUeXBlRXJyb3IoXCJ1bnN1cHBvcnRlZCB0cnVzdCBhcmd1bWVudFwiKTtcbiAgICAgIH1cbiAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgdHJ1c3QubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgdmFsID0gdHJ1c3RbaV07XG4gICAgICAgIGlmICghT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKElQX1JBTkdFUywgdmFsKSkge1xuICAgICAgICAgIGNvbnRpbnVlO1xuICAgICAgICB9XG4gICAgICAgIHZhbCA9IElQX1JBTkdFU1t2YWxdO1xuICAgICAgICB0cnVzdC5zcGxpY2UuYXBwbHkodHJ1c3QsIFtpLCAxXS5jb25jYXQodmFsKSk7XG4gICAgICAgIGkgKz0gdmFsLmxlbmd0aCAtIDE7XG4gICAgICB9XG4gICAgICByZXR1cm4gY29tcGlsZVRydXN0KGNvbXBpbGVSYW5nZVN1Ym5ldHModHJ1c3QpKTtcbiAgICB9XG4gICAgZnVuY3Rpb24gY29tcGlsZVJhbmdlU3VibmV0cyhhcnIpIHtcbiAgICAgIHZhciByYW5nZVN1Ym5ldHMgPSBuZXcgQXJyYXkoYXJyLmxlbmd0aCk7XG4gICAgICBmb3IgKHZhciBpID0gMDsgaSA8IGFyci5sZW5ndGg7IGkrKykge1xuICAgICAgICByYW5nZVN1Ym5ldHNbaV0gPSBwYXJzZWlwTm90YXRpb24oYXJyW2ldKTtcbiAgICAgIH1cbiAgICAgIHJldHVybiByYW5nZVN1Ym5ldHM7XG4gICAgfVxuICAgIGZ1bmN0aW9uIGNvbXBpbGVUcnVzdChyYW5nZVN1Ym5ldHMpIHtcbiAgICAgIHZhciBsZW4gPSByYW5nZVN1Ym5ldHMubGVuZ3RoO1xuICAgICAgcmV0dXJuIGxlbiA9PT0gMCA/IHRydXN0Tm9uZSA6IGxlbiA9PT0gMSA/IHRydXN0U2luZ2xlKHJhbmdlU3VibmV0c1swXSkgOiB0cnVzdE11bHRpKHJhbmdlU3VibmV0cyk7XG4gICAgfVxuICAgIGZ1bmN0aW9uIHBhcnNlaXBOb3RhdGlvbihub3RlKSB7XG4gICAgICB2YXIgcG9zID0gbm90ZS5sYXN0SW5kZXhPZihcIi9cIik7XG4gICAgICB2YXIgc3RyID0gcG9zICE9PSAtMSA/IG5vdGUuc3Vic3RyaW5nKDAsIHBvcykgOiBub3RlO1xuICAgICAgaWYgKCFpc2lwKHN0cikpIHtcbiAgICAgICAgdGhyb3cgbmV3IFR5cGVFcnJvcihcImludmFsaWQgSVAgYWRkcmVzczogXCIgKyBzdHIpO1xuICAgICAgfVxuICAgICAgdmFyIGlwID0gcGFyc2VpcChzdHIpO1xuICAgICAgaWYgKHBvcyA9PT0gLTEgJiYgaXAua2luZCgpID09PSBcImlwdjZcIiAmJiBpcC5pc0lQdjRNYXBwZWRBZGRyZXNzKCkpIHtcbiAgICAgICAgaXAgPSBpcC50b0lQdjRBZGRyZXNzKCk7XG4gICAgICB9XG4gICAgICB2YXIgbWF4ID0gaXAua2luZCgpID09PSBcImlwdjZcIiA/IDEyOCA6IDMyO1xuICAgICAgdmFyIHJhbmdlID0gcG9zICE9PSAtMSA/IG5vdGUuc3Vic3RyaW5nKHBvcyArIDEsIG5vdGUubGVuZ3RoKSA6IG51bGw7XG4gICAgICBpZiAocmFuZ2UgPT09IG51bGwpIHtcbiAgICAgICAgcmFuZ2UgPSBtYXg7XG4gICAgICB9IGVsc2UgaWYgKERJR0lUX1JFR0VYUC50ZXN0KHJhbmdlKSkge1xuICAgICAgICByYW5nZSA9IHBhcnNlSW50KHJhbmdlLCAxMCk7XG4gICAgICB9IGVsc2UgaWYgKGlwLmtpbmQoKSA9PT0gXCJpcHY0XCIgJiYgaXNpcChyYW5nZSkpIHtcbiAgICAgICAgcmFuZ2UgPSBwYXJzZU5ldG1hc2socmFuZ2UpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgcmFuZ2UgPSBudWxsO1xuICAgICAgfVxuICAgICAgaWYgKHJhbmdlIDw9IDAgfHwgcmFuZ2UgPiBtYXgpIHtcbiAgICAgICAgdGhyb3cgbmV3IFR5cGVFcnJvcihcImludmFsaWQgcmFuZ2Ugb24gYWRkcmVzczogXCIgKyBub3RlKTtcbiAgICAgIH1cbiAgICAgIHJldHVybiBbaXAsIHJhbmdlXTtcbiAgICB9XG4gICAgZnVuY3Rpb24gcGFyc2VOZXRtYXNrKG5ldG1hc2spIHtcbiAgICAgIHZhciBpcCA9IHBhcnNlaXAobmV0bWFzayk7XG4gICAgICB2YXIga2luZCA9IGlwLmtpbmQoKTtcbiAgICAgIHJldHVybiBraW5kID09PSBcImlwdjRcIiA/IGlwLnByZWZpeExlbmd0aEZyb21TdWJuZXRNYXNrKCkgOiBudWxsO1xuICAgIH1cbiAgICBmdW5jdGlvbiBwcm94eWFkZHIocmVxLCB0cnVzdCkge1xuICAgICAgaWYgKCFyZXEpIHtcbiAgICAgICAgdGhyb3cgbmV3IFR5cGVFcnJvcihcInJlcSBhcmd1bWVudCBpcyByZXF1aXJlZFwiKTtcbiAgICAgIH1cbiAgICAgIGlmICghdHJ1c3QpIHtcbiAgICAgICAgdGhyb3cgbmV3IFR5cGVFcnJvcihcInRydXN0IGFyZ3VtZW50IGlzIHJlcXVpcmVkXCIpO1xuICAgICAgfVxuICAgICAgdmFyIGFkZHJzID0gYWxsYWRkcnMocmVxLCB0cnVzdCk7XG4gICAgICB2YXIgYWRkciA9IGFkZHJzW2FkZHJzLmxlbmd0aCAtIDFdO1xuICAgICAgcmV0dXJuIGFkZHI7XG4gICAgfVxuICAgIGZ1bmN0aW9uIHRydXN0Tm9uZSgpIHtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gICAgZnVuY3Rpb24gdHJ1c3RNdWx0aShzdWJuZXRzKSB7XG4gICAgICByZXR1cm4gZnVuY3Rpb24gdHJ1c3QoYWRkcikge1xuICAgICAgICBpZiAoIWlzaXAoYWRkcikpIHJldHVybiBmYWxzZTtcbiAgICAgICAgdmFyIGlwID0gcGFyc2VpcChhZGRyKTtcbiAgICAgICAgdmFyIGlwY29udjtcbiAgICAgICAgdmFyIGtpbmQgPSBpcC5raW5kKCk7XG4gICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgc3VibmV0cy5sZW5ndGg7IGkrKykge1xuICAgICAgICAgIHZhciBzdWJuZXQgPSBzdWJuZXRzW2ldO1xuICAgICAgICAgIHZhciBzdWJuZXRpcCA9IHN1Ym5ldFswXTtcbiAgICAgICAgICB2YXIgc3VibmV0a2luZCA9IHN1Ym5ldGlwLmtpbmQoKTtcbiAgICAgICAgICB2YXIgc3VibmV0cmFuZ2UgPSBzdWJuZXRbMV07XG4gICAgICAgICAgdmFyIHRydXN0ZWQgPSBpcDtcbiAgICAgICAgICBpZiAoa2luZCAhPT0gc3VibmV0a2luZCkge1xuICAgICAgICAgICAgaWYgKHN1Ym5ldGtpbmQgPT09IFwiaXB2NFwiICYmICFpcC5pc0lQdjRNYXBwZWRBZGRyZXNzKCkpIHtcbiAgICAgICAgICAgICAgY29udGludWU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAoIWlwY29udikge1xuICAgICAgICAgICAgICBpcGNvbnYgPSBzdWJuZXRraW5kID09PSBcImlwdjRcIiA/IGlwLnRvSVB2NEFkZHJlc3MoKSA6IGlwLnRvSVB2NE1hcHBlZEFkZHJlc3MoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHRydXN0ZWQgPSBpcGNvbnY7XG4gICAgICAgICAgfVxuICAgICAgICAgIGlmICh0cnVzdGVkLm1hdGNoKHN1Ym5ldGlwLCBzdWJuZXRyYW5nZSkpIHtcbiAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICB9O1xuICAgIH1cbiAgICBmdW5jdGlvbiB0cnVzdFNpbmdsZShzdWJuZXQpIHtcbiAgICAgIHZhciBzdWJuZXRpcCA9IHN1Ym5ldFswXTtcbiAgICAgIHZhciBzdWJuZXRraW5kID0gc3VibmV0aXAua2luZCgpO1xuICAgICAgdmFyIHN1Ym5ldGlzaXB2NCA9IHN1Ym5ldGtpbmQgPT09IFwiaXB2NFwiO1xuICAgICAgdmFyIHN1Ym5ldHJhbmdlID0gc3VibmV0WzFdO1xuICAgICAgcmV0dXJuIGZ1bmN0aW9uIHRydXN0KGFkZHIpIHtcbiAgICAgICAgaWYgKCFpc2lwKGFkZHIpKSByZXR1cm4gZmFsc2U7XG4gICAgICAgIHZhciBpcCA9IHBhcnNlaXAoYWRkcik7XG4gICAgICAgIHZhciBraW5kID0gaXAua2luZCgpO1xuICAgICAgICBpZiAoa2luZCAhPT0gc3VibmV0a2luZCkge1xuICAgICAgICAgIGlmIChzdWJuZXRpc2lwdjQgJiYgIWlwLmlzSVB2NE1hcHBlZEFkZHJlc3MoKSkge1xuICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICAgIH1cbiAgICAgICAgICBpcCA9IHN1Ym5ldGlzaXB2NCA/IGlwLnRvSVB2NEFkZHJlc3MoKSA6IGlwLnRvSVB2NE1hcHBlZEFkZHJlc3MoKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gaXAubWF0Y2goc3VibmV0aXAsIHN1Ym5ldHJhbmdlKTtcbiAgICAgIH07XG4gICAgfVxuICB9XG59KTtcblxuLy8gbm9kZV9tb2R1bGVzL2V4cHJlc3MvbGliL3V0aWxzLmpzXG52YXIgcmVxdWlyZV91dGlsczMgPSBfX2NvbW1vbkpTKHtcbiAgXCJub2RlX21vZHVsZXMvZXhwcmVzcy9saWIvdXRpbHMuanNcIihleHBvcnRzMikge1xuICAgIFwidXNlIHN0cmljdFwiO1xuICAgIHZhciB7IE1FVEhPRFMgfSA9IHJlcXVpcmUoXCJub2RlOmh0dHBcIik7XG4gICAgdmFyIGNvbnRlbnRUeXBlMiA9IHJlcXVpcmVfY29udGVudF90eXBlKCk7XG4gICAgdmFyIGV0YWcgPSByZXF1aXJlX2V0YWcoKTtcbiAgICB2YXIgbWltZSA9IHJlcXVpcmVfbWltZV90eXBlczIoKTtcbiAgICB2YXIgcHJveHlhZGRyID0gcmVxdWlyZV9wcm94eV9hZGRyKCk7XG4gICAgdmFyIHFzID0gcmVxdWlyZV9saWIzKCk7XG4gICAgdmFyIHF1ZXJ5c3RyaW5nID0gcmVxdWlyZShcInF1ZXJ5c3RyaW5nXCIpO1xuICAgIGV4cG9ydHMyLm1ldGhvZHMgPSBNRVRIT0RTLm1hcCgobWV0aG9kKSA9PiBtZXRob2QudG9Mb3dlckNhc2UoKSk7XG4gICAgZXhwb3J0czIuZXRhZyA9IGNyZWF0ZUVUYWdHZW5lcmF0b3IoeyB3ZWFrOiBmYWxzZSB9KTtcbiAgICBleHBvcnRzMi53ZXRhZyA9IGNyZWF0ZUVUYWdHZW5lcmF0b3IoeyB3ZWFrOiB0cnVlIH0pO1xuICAgIGV4cG9ydHMyLm5vcm1hbGl6ZVR5cGUgPSBmdW5jdGlvbih0eXBlKSB7XG4gICAgICByZXR1cm4gfnR5cGUuaW5kZXhPZihcIi9cIikgPyBhY2NlcHRQYXJhbXModHlwZSkgOiB7IHZhbHVlOiBtaW1lLmxvb2t1cCh0eXBlKSB8fCBcImFwcGxpY2F0aW9uL29jdGV0LXN0cmVhbVwiLCBwYXJhbXM6IHt9IH07XG4gICAgfTtcbiAgICBleHBvcnRzMi5ub3JtYWxpemVUeXBlcyA9IGZ1bmN0aW9uKHR5cGVzKSB7XG4gICAgICByZXR1cm4gdHlwZXMubWFwKGV4cG9ydHMyLm5vcm1hbGl6ZVR5cGUpO1xuICAgIH07XG4gICAgZnVuY3Rpb24gYWNjZXB0UGFyYW1zKHN0cikge1xuICAgICAgdmFyIGxlbmd0aCA9IHN0ci5sZW5ndGg7XG4gICAgICB2YXIgY29sb25JbmRleCA9IHN0ci5pbmRleE9mKFwiO1wiKTtcbiAgICAgIHZhciBpbmRleCA9IGNvbG9uSW5kZXggPT09IC0xID8gbGVuZ3RoIDogY29sb25JbmRleDtcbiAgICAgIHZhciByZXQgPSB7IHZhbHVlOiBzdHIuc2xpY2UoMCwgaW5kZXgpLnRyaW0oKSwgcXVhbGl0eTogMSwgcGFyYW1zOiB7fSB9O1xuICAgICAgd2hpbGUgKGluZGV4IDwgbGVuZ3RoKSB7XG4gICAgICAgIHZhciBzcGxpdEluZGV4ID0gc3RyLmluZGV4T2YoXCI9XCIsIGluZGV4KTtcbiAgICAgICAgaWYgKHNwbGl0SW5kZXggPT09IC0xKSBicmVhaztcbiAgICAgICAgdmFyIGNvbG9uSW5kZXggPSBzdHIuaW5kZXhPZihcIjtcIiwgaW5kZXgpO1xuICAgICAgICB2YXIgZW5kSW5kZXggPSBjb2xvbkluZGV4ID09PSAtMSA/IGxlbmd0aCA6IGNvbG9uSW5kZXg7XG4gICAgICAgIGlmIChzcGxpdEluZGV4ID4gZW5kSW5kZXgpIHtcbiAgICAgICAgICBpbmRleCA9IHN0ci5sYXN0SW5kZXhPZihcIjtcIiwgc3BsaXRJbmRleCAtIDEpICsgMTtcbiAgICAgICAgICBjb250aW51ZTtcbiAgICAgICAgfVxuICAgICAgICB2YXIga2V5ID0gc3RyLnNsaWNlKGluZGV4LCBzcGxpdEluZGV4KS50cmltKCk7XG4gICAgICAgIHZhciB2YWx1ZSA9IHN0ci5zbGljZShzcGxpdEluZGV4ICsgMSwgZW5kSW5kZXgpLnRyaW0oKTtcbiAgICAgICAgaWYgKGtleSA9PT0gXCJxXCIpIHtcbiAgICAgICAgICByZXQucXVhbGl0eSA9IHBhcnNlRmxvYXQodmFsdWUpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHJldC5wYXJhbXNba2V5XSA9IHZhbHVlO1xuICAgICAgICB9XG4gICAgICAgIGluZGV4ID0gZW5kSW5kZXggKyAxO1xuICAgICAgfVxuICAgICAgcmV0dXJuIHJldDtcbiAgICB9XG4gICAgZXhwb3J0czIuY29tcGlsZUVUYWcgPSBmdW5jdGlvbih2YWwpIHtcbiAgICAgIHZhciBmbjtcbiAgICAgIGlmICh0eXBlb2YgdmFsID09PSBcImZ1bmN0aW9uXCIpIHtcbiAgICAgICAgcmV0dXJuIHZhbDtcbiAgICAgIH1cbiAgICAgIHN3aXRjaCAodmFsKSB7XG4gICAgICAgIGNhc2UgdHJ1ZTpcbiAgICAgICAgY2FzZSBcIndlYWtcIjpcbiAgICAgICAgICBmbiA9IGV4cG9ydHMyLndldGFnO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgICBjYXNlIGZhbHNlOlxuICAgICAgICAgIGJyZWFrO1xuICAgICAgICBjYXNlIFwic3Ryb25nXCI6XG4gICAgICAgICAgZm4gPSBleHBvcnRzMi5ldGFnO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgIHRocm93IG5ldyBUeXBlRXJyb3IoXCJ1bmtub3duIHZhbHVlIGZvciBldGFnIGZ1bmN0aW9uOiBcIiArIHZhbCk7XG4gICAgICB9XG4gICAgICByZXR1cm4gZm47XG4gICAgfTtcbiAgICBleHBvcnRzMi5jb21waWxlUXVlcnlQYXJzZXIgPSBmdW5jdGlvbiBjb21waWxlUXVlcnlQYXJzZXIodmFsKSB7XG4gICAgICB2YXIgZm47XG4gICAgICBpZiAodHlwZW9mIHZhbCA9PT0gXCJmdW5jdGlvblwiKSB7XG4gICAgICAgIHJldHVybiB2YWw7XG4gICAgICB9XG4gICAgICBzd2l0Y2ggKHZhbCkge1xuICAgICAgICBjYXNlIHRydWU6XG4gICAgICAgIGNhc2UgXCJzaW1wbGVcIjpcbiAgICAgICAgICBmbiA9IHF1ZXJ5c3RyaW5nLnBhcnNlO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgICBjYXNlIGZhbHNlOlxuICAgICAgICAgIGJyZWFrO1xuICAgICAgICBjYXNlIFwiZXh0ZW5kZWRcIjpcbiAgICAgICAgICBmbiA9IHBhcnNlRXh0ZW5kZWRRdWVyeVN0cmluZztcbiAgICAgICAgICBicmVhaztcbiAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICB0aHJvdyBuZXcgVHlwZUVycm9yKFwidW5rbm93biB2YWx1ZSBmb3IgcXVlcnkgcGFyc2VyIGZ1bmN0aW9uOiBcIiArIHZhbCk7XG4gICAgICB9XG4gICAgICByZXR1cm4gZm47XG4gICAgfTtcbiAgICBleHBvcnRzMi5jb21waWxlVHJ1c3QgPSBmdW5jdGlvbih2YWwpIHtcbiAgICAgIGlmICh0eXBlb2YgdmFsID09PSBcImZ1bmN0aW9uXCIpIHJldHVybiB2YWw7XG4gICAgICBpZiAodmFsID09PSB0cnVlKSB7XG4gICAgICAgIHJldHVybiBmdW5jdGlvbigpIHtcbiAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgfTtcbiAgICAgIH1cbiAgICAgIGlmICh0eXBlb2YgdmFsID09PSBcIm51bWJlclwiKSB7XG4gICAgICAgIHJldHVybiBmdW5jdGlvbihhLCBpKSB7XG4gICAgICAgICAgcmV0dXJuIGkgPCB2YWw7XG4gICAgICAgIH07XG4gICAgICB9XG4gICAgICBpZiAodHlwZW9mIHZhbCA9PT0gXCJzdHJpbmdcIikge1xuICAgICAgICB2YWwgPSB2YWwuc3BsaXQoXCIsXCIpLm1hcChmdW5jdGlvbih2KSB7XG4gICAgICAgICAgcmV0dXJuIHYudHJpbSgpO1xuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICAgIHJldHVybiBwcm94eWFkZHIuY29tcGlsZSh2YWwgfHwgW10pO1xuICAgIH07XG4gICAgZXhwb3J0czIuc2V0Q2hhcnNldCA9IGZ1bmN0aW9uIHNldENoYXJzZXQodHlwZSwgY2hhcnNldCkge1xuICAgICAgaWYgKCF0eXBlIHx8ICFjaGFyc2V0KSB7XG4gICAgICAgIHJldHVybiB0eXBlO1xuICAgICAgfVxuICAgICAgdmFyIHBhcnNlZCA9IGNvbnRlbnRUeXBlMi5wYXJzZSh0eXBlKTtcbiAgICAgIHBhcnNlZC5wYXJhbWV0ZXJzLmNoYXJzZXQgPSBjaGFyc2V0O1xuICAgICAgcmV0dXJuIGNvbnRlbnRUeXBlMi5mb3JtYXQocGFyc2VkKTtcbiAgICB9O1xuICAgIGZ1bmN0aW9uIGNyZWF0ZUVUYWdHZW5lcmF0b3Iob3B0aW9ucykge1xuICAgICAgcmV0dXJuIGZ1bmN0aW9uIGdlbmVyYXRlRVRhZyhib2R5LCBlbmNvZGluZykge1xuICAgICAgICB2YXIgYnVmID0gIUJ1ZmZlci5pc0J1ZmZlcihib2R5KSA/IEJ1ZmZlci5mcm9tKGJvZHksIGVuY29kaW5nKSA6IGJvZHk7XG4gICAgICAgIHJldHVybiBldGFnKGJ1Ziwgb3B0aW9ucyk7XG4gICAgICB9O1xuICAgIH1cbiAgICBmdW5jdGlvbiBwYXJzZUV4dGVuZGVkUXVlcnlTdHJpbmcoc3RyKSB7XG4gICAgICByZXR1cm4gcXMucGFyc2Uoc3RyLCB7XG4gICAgICAgIGFsbG93UHJvdG90eXBlczogdHJ1ZVxuICAgICAgfSk7XG4gICAgfVxuICB9XG59KTtcblxuLy8gbm9kZV9tb2R1bGVzL3dyYXBweS93cmFwcHkuanNcbnZhciByZXF1aXJlX3dyYXBweSA9IF9fY29tbW9uSlMoe1xuICBcIm5vZGVfbW9kdWxlcy93cmFwcHkvd3JhcHB5LmpzXCIoZXhwb3J0czIsIG1vZHVsZTIpIHtcbiAgICBtb2R1bGUyLmV4cG9ydHMgPSB3cmFwcHk7XG4gICAgZnVuY3Rpb24gd3JhcHB5KGZuLCBjYikge1xuICAgICAgaWYgKGZuICYmIGNiKSByZXR1cm4gd3JhcHB5KGZuKShjYik7XG4gICAgICBpZiAodHlwZW9mIGZuICE9PSBcImZ1bmN0aW9uXCIpXG4gICAgICAgIHRocm93IG5ldyBUeXBlRXJyb3IoXCJuZWVkIHdyYXBwZXIgZnVuY3Rpb25cIik7XG4gICAgICBPYmplY3Qua2V5cyhmbikuZm9yRWFjaChmdW5jdGlvbihrKSB7XG4gICAgICAgIHdyYXBwZXJba10gPSBmbltrXTtcbiAgICAgIH0pO1xuICAgICAgcmV0dXJuIHdyYXBwZXI7XG4gICAgICBmdW5jdGlvbiB3cmFwcGVyKCkge1xuICAgICAgICB2YXIgYXJncyA9IG5ldyBBcnJheShhcmd1bWVudHMubGVuZ3RoKTtcbiAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBhcmdzLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgICAgYXJnc1tpXSA9IGFyZ3VtZW50c1tpXTtcbiAgICAgICAgfVxuICAgICAgICB2YXIgcmV0ID0gZm4uYXBwbHkodGhpcywgYXJncyk7XG4gICAgICAgIHZhciBjYjIgPSBhcmdzW2FyZ3MubGVuZ3RoIC0gMV07XG4gICAgICAgIGlmICh0eXBlb2YgcmV0ID09PSBcImZ1bmN0aW9uXCIgJiYgcmV0ICE9PSBjYjIpIHtcbiAgICAgICAgICBPYmplY3Qua2V5cyhjYjIpLmZvckVhY2goZnVuY3Rpb24oaykge1xuICAgICAgICAgICAgcmV0W2tdID0gY2IyW2tdO1xuICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiByZXQ7XG4gICAgICB9XG4gICAgfVxuICB9XG59KTtcblxuLy8gbm9kZV9tb2R1bGVzL29uY2Uvb25jZS5qc1xudmFyIHJlcXVpcmVfb25jZSA9IF9fY29tbW9uSlMoe1xuICBcIm5vZGVfbW9kdWxlcy9vbmNlL29uY2UuanNcIihleHBvcnRzMiwgbW9kdWxlMikge1xuICAgIHZhciB3cmFwcHkgPSByZXF1aXJlX3dyYXBweSgpO1xuICAgIG1vZHVsZTIuZXhwb3J0cyA9IHdyYXBweShvbmNlKTtcbiAgICBtb2R1bGUyLmV4cG9ydHMuc3RyaWN0ID0gd3JhcHB5KG9uY2VTdHJpY3QpO1xuICAgIG9uY2UucHJvdG8gPSBvbmNlKGZ1bmN0aW9uKCkge1xuICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KEZ1bmN0aW9uLnByb3RvdHlwZSwgXCJvbmNlXCIsIHtcbiAgICAgICAgdmFsdWU6IGZ1bmN0aW9uKCkge1xuICAgICAgICAgIHJldHVybiBvbmNlKHRoaXMpO1xuICAgICAgICB9LFxuICAgICAgICBjb25maWd1cmFibGU6IHRydWVcbiAgICAgIH0pO1xuICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KEZ1bmN0aW9uLnByb3RvdHlwZSwgXCJvbmNlU3RyaWN0XCIsIHtcbiAgICAgICAgdmFsdWU6IGZ1bmN0aW9uKCkge1xuICAgICAgICAgIHJldHVybiBvbmNlU3RyaWN0KHRoaXMpO1xuICAgICAgICB9LFxuICAgICAgICBjb25maWd1cmFibGU6IHRydWVcbiAgICAgIH0pO1xuICAgIH0pO1xuICAgIGZ1bmN0aW9uIG9uY2UoZm4pIHtcbiAgICAgIHZhciBmID0gZnVuY3Rpb24oKSB7XG4gICAgICAgIGlmIChmLmNhbGxlZCkgcmV0dXJuIGYudmFsdWU7XG4gICAgICAgIGYuY2FsbGVkID0gdHJ1ZTtcbiAgICAgICAgcmV0dXJuIGYudmFsdWUgPSBmbi5hcHBseSh0aGlzLCBhcmd1bWVudHMpO1xuICAgICAgfTtcbiAgICAgIGYuY2FsbGVkID0gZmFsc2U7XG4gICAgICByZXR1cm4gZjtcbiAgICB9XG4gICAgZnVuY3Rpb24gb25jZVN0cmljdChmbikge1xuICAgICAgdmFyIGYgPSBmdW5jdGlvbigpIHtcbiAgICAgICAgaWYgKGYuY2FsbGVkKVxuICAgICAgICAgIHRocm93IG5ldyBFcnJvcihmLm9uY2VFcnJvcik7XG4gICAgICAgIGYuY2FsbGVkID0gdHJ1ZTtcbiAgICAgICAgcmV0dXJuIGYudmFsdWUgPSBmbi5hcHBseSh0aGlzLCBhcmd1bWVudHMpO1xuICAgICAgfTtcbiAgICAgIHZhciBuYW1lID0gZm4ubmFtZSB8fCBcIkZ1bmN0aW9uIHdyYXBwZWQgd2l0aCBgb25jZWBcIjtcbiAgICAgIGYub25jZUVycm9yID0gbmFtZSArIFwiIHNob3VsZG4ndCBiZSBjYWxsZWQgbW9yZSB0aGFuIG9uY2VcIjtcbiAgICAgIGYuY2FsbGVkID0gZmFsc2U7XG4gICAgICByZXR1cm4gZjtcbiAgICB9XG4gIH1cbn0pO1xuXG4vLyBub2RlX21vZHVsZXMvaXMtcHJvbWlzZS9pbmRleC5qc1xudmFyIHJlcXVpcmVfaXNfcHJvbWlzZSA9IF9fY29tbW9uSlMoe1xuICBcIm5vZGVfbW9kdWxlcy9pcy1wcm9taXNlL2luZGV4LmpzXCIoZXhwb3J0czIsIG1vZHVsZTIpIHtcbiAgICBtb2R1bGUyLmV4cG9ydHMgPSBpc1Byb21pc2U7XG4gICAgbW9kdWxlMi5leHBvcnRzLmRlZmF1bHQgPSBpc1Byb21pc2U7XG4gICAgZnVuY3Rpb24gaXNQcm9taXNlKG9iaikge1xuICAgICAgcmV0dXJuICEhb2JqICYmICh0eXBlb2Ygb2JqID09PSBcIm9iamVjdFwiIHx8IHR5cGVvZiBvYmogPT09IFwiZnVuY3Rpb25cIikgJiYgdHlwZW9mIG9iai50aGVuID09PSBcImZ1bmN0aW9uXCI7XG4gICAgfVxuICB9XG59KTtcblxuLy8gbm9kZV9tb2R1bGVzL3BhdGgtdG8tcmVnZXhwL2Rpc3QvaW5kZXguanNcbnZhciByZXF1aXJlX2Rpc3QgPSBfX2NvbW1vbkpTKHtcbiAgXCJub2RlX21vZHVsZXMvcGF0aC10by1yZWdleHAvZGlzdC9pbmRleC5qc1wiKGV4cG9ydHMyKSB7XG4gICAgXCJ1c2Ugc3RyaWN0XCI7XG4gICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMyLCBcIl9fZXNNb2R1bGVcIiwgeyB2YWx1ZTogdHJ1ZSB9KTtcbiAgICBleHBvcnRzMi5Ub2tlbkRhdGEgPSB2b2lkIDA7XG4gICAgZXhwb3J0czIucGFyc2UgPSBwYXJzZTtcbiAgICBleHBvcnRzMi5jb21waWxlID0gY29tcGlsZTtcbiAgICBleHBvcnRzMi5tYXRjaCA9IG1hdGNoO1xuICAgIGV4cG9ydHMyLnBhdGhUb1JlZ2V4cCA9IHBhdGhUb1JlZ2V4cDtcbiAgICBleHBvcnRzMi5zdHJpbmdpZnkgPSBzdHJpbmdpZnk7XG4gICAgdmFyIERFRkFVTFRfREVMSU1JVEVSID0gXCIvXCI7XG4gICAgdmFyIE5PT1BfVkFMVUUgPSAodmFsdWUpID0+IHZhbHVlO1xuICAgIHZhciBJRF9TVEFSVCA9IC9eWyRfXFxwe0lEX1N0YXJ0fV0kL3U7XG4gICAgdmFyIElEX0NPTlRJTlVFID0gL15bJFxcdTIwMGNcXHUyMDBkXFxwe0lEX0NvbnRpbnVlfV0kL3U7XG4gICAgdmFyIERFQlVHX1VSTCA9IFwiaHR0cHM6Ly9naXQubmV3L3BhdGhUb1JlZ2V4cEVycm9yXCI7XG4gICAgdmFyIFNJTVBMRV9UT0tFTlMgPSB7XG4gICAgICAvLyBHcm91cHMuXG4gICAgICBcIntcIjogXCJ7XCIsXG4gICAgICBcIn1cIjogXCJ9XCIsXG4gICAgICAvLyBSZXNlcnZlZC5cbiAgICAgIFwiKFwiOiBcIihcIixcbiAgICAgIFwiKVwiOiBcIilcIixcbiAgICAgIFwiW1wiOiBcIltcIixcbiAgICAgIFwiXVwiOiBcIl1cIixcbiAgICAgIFwiK1wiOiBcIitcIixcbiAgICAgIFwiP1wiOiBcIj9cIixcbiAgICAgIFwiIVwiOiBcIiFcIlxuICAgIH07XG4gICAgZnVuY3Rpb24gZXNjYXBlVGV4dChzdHIpIHtcbiAgICAgIHJldHVybiBzdHIucmVwbGFjZSgvW3t9KClcXFtcXF0rPyE6Kl0vZywgXCJcXFxcJCZcIik7XG4gICAgfVxuICAgIGZ1bmN0aW9uIGVzY2FwZTIoc3RyKSB7XG4gICAgICByZXR1cm4gc3RyLnJlcGxhY2UoL1suKyo/XiR7fSgpW1xcXXwvXFxcXF0vZywgXCJcXFxcJCZcIik7XG4gICAgfVxuICAgIGZ1bmN0aW9uKiBsZXhlcihzdHIpIHtcbiAgICAgIGNvbnN0IGNoYXJzID0gWy4uLnN0cl07XG4gICAgICBsZXQgaSA9IDA7XG4gICAgICBmdW5jdGlvbiBuYW1lKCkge1xuICAgICAgICBsZXQgdmFsdWUgPSBcIlwiO1xuICAgICAgICBpZiAoSURfU1RBUlQudGVzdChjaGFyc1srK2ldKSkge1xuICAgICAgICAgIHZhbHVlICs9IGNoYXJzW2ldO1xuICAgICAgICAgIHdoaWxlIChJRF9DT05USU5VRS50ZXN0KGNoYXJzWysraV0pKSB7XG4gICAgICAgICAgICB2YWx1ZSArPSBjaGFyc1tpXTtcbiAgICAgICAgICB9XG4gICAgICAgIH0gZWxzZSBpZiAoY2hhcnNbaV0gPT09ICdcIicpIHtcbiAgICAgICAgICBsZXQgcG9zID0gaTtcbiAgICAgICAgICB3aGlsZSAoaSA8IGNoYXJzLmxlbmd0aCkge1xuICAgICAgICAgICAgaWYgKGNoYXJzWysraV0gPT09ICdcIicpIHtcbiAgICAgICAgICAgICAgaSsrO1xuICAgICAgICAgICAgICBwb3MgPSAwO1xuICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmIChjaGFyc1tpXSA9PT0gXCJcXFxcXCIpIHtcbiAgICAgICAgICAgICAgdmFsdWUgKz0gY2hhcnNbKytpXTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgIHZhbHVlICs9IGNoYXJzW2ldO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgICBpZiAocG9zKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgVHlwZUVycm9yKGBVbnRlcm1pbmF0ZWQgcXVvdGUgYXQgJHtwb3N9OiAke0RFQlVHX1VSTH1gKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgaWYgKCF2YWx1ZSkge1xuICAgICAgICAgIHRocm93IG5ldyBUeXBlRXJyb3IoYE1pc3NpbmcgcGFyYW1ldGVyIG5hbWUgYXQgJHtpfTogJHtERUJVR19VUkx9YCk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHZhbHVlO1xuICAgICAgfVxuICAgICAgd2hpbGUgKGkgPCBjaGFycy5sZW5ndGgpIHtcbiAgICAgICAgY29uc3QgdmFsdWUgPSBjaGFyc1tpXTtcbiAgICAgICAgY29uc3QgdHlwZSA9IFNJTVBMRV9UT0tFTlNbdmFsdWVdO1xuICAgICAgICBpZiAodHlwZSkge1xuICAgICAgICAgIHlpZWxkIHsgdHlwZSwgaW5kZXg6IGkrKywgdmFsdWUgfTtcbiAgICAgICAgfSBlbHNlIGlmICh2YWx1ZSA9PT0gXCJcXFxcXCIpIHtcbiAgICAgICAgICB5aWVsZCB7IHR5cGU6IFwiRVNDQVBFRFwiLCBpbmRleDogaSsrLCB2YWx1ZTogY2hhcnNbaSsrXSB9O1xuICAgICAgICB9IGVsc2UgaWYgKHZhbHVlID09PSBcIjpcIikge1xuICAgICAgICAgIGNvbnN0IHZhbHVlMiA9IG5hbWUoKTtcbiAgICAgICAgICB5aWVsZCB7IHR5cGU6IFwiUEFSQU1cIiwgaW5kZXg6IGksIHZhbHVlOiB2YWx1ZTIgfTtcbiAgICAgICAgfSBlbHNlIGlmICh2YWx1ZSA9PT0gXCIqXCIpIHtcbiAgICAgICAgICBjb25zdCB2YWx1ZTIgPSBuYW1lKCk7XG4gICAgICAgICAgeWllbGQgeyB0eXBlOiBcIldJTERDQVJEXCIsIGluZGV4OiBpLCB2YWx1ZTogdmFsdWUyIH07XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgeWllbGQgeyB0eXBlOiBcIkNIQVJcIiwgaW5kZXg6IGksIHZhbHVlOiBjaGFyc1tpKytdIH07XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIHJldHVybiB7IHR5cGU6IFwiRU5EXCIsIGluZGV4OiBpLCB2YWx1ZTogXCJcIiB9O1xuICAgIH1cbiAgICB2YXIgSXRlciA9IGNsYXNzIHtcbiAgICAgIGNvbnN0cnVjdG9yKHRva2Vucykge1xuICAgICAgICB0aGlzLnRva2VucyA9IHRva2VucztcbiAgICAgIH1cbiAgICAgIHBlZWsoKSB7XG4gICAgICAgIGlmICghdGhpcy5fcGVlaykge1xuICAgICAgICAgIGNvbnN0IG5leHQgPSB0aGlzLnRva2Vucy5uZXh0KCk7XG4gICAgICAgICAgdGhpcy5fcGVlayA9IG5leHQudmFsdWU7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHRoaXMuX3BlZWs7XG4gICAgICB9XG4gICAgICB0cnlDb25zdW1lKHR5cGUpIHtcbiAgICAgICAgY29uc3QgdG9rZW4gPSB0aGlzLnBlZWsoKTtcbiAgICAgICAgaWYgKHRva2VuLnR5cGUgIT09IHR5cGUpXG4gICAgICAgICAgcmV0dXJuO1xuICAgICAgICB0aGlzLl9wZWVrID0gdm9pZCAwO1xuICAgICAgICByZXR1cm4gdG9rZW4udmFsdWU7XG4gICAgICB9XG4gICAgICBjb25zdW1lKHR5cGUpIHtcbiAgICAgICAgY29uc3QgdmFsdWUgPSB0aGlzLnRyeUNvbnN1bWUodHlwZSk7XG4gICAgICAgIGlmICh2YWx1ZSAhPT0gdm9pZCAwKVxuICAgICAgICAgIHJldHVybiB2YWx1ZTtcbiAgICAgICAgY29uc3QgeyB0eXBlOiBuZXh0VHlwZSwgaW5kZXggfSA9IHRoaXMucGVlaygpO1xuICAgICAgICB0aHJvdyBuZXcgVHlwZUVycm9yKGBVbmV4cGVjdGVkICR7bmV4dFR5cGV9IGF0ICR7aW5kZXh9LCBleHBlY3RlZCAke3R5cGV9OiAke0RFQlVHX1VSTH1gKTtcbiAgICAgIH1cbiAgICAgIHRleHQoKSB7XG4gICAgICAgIGxldCByZXN1bHQgPSBcIlwiO1xuICAgICAgICBsZXQgdmFsdWU7XG4gICAgICAgIHdoaWxlICh2YWx1ZSA9IHRoaXMudHJ5Q29uc3VtZShcIkNIQVJcIikgfHwgdGhpcy50cnlDb25zdW1lKFwiRVNDQVBFRFwiKSkge1xuICAgICAgICAgIHJlc3VsdCArPSB2YWx1ZTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gcmVzdWx0O1xuICAgICAgfVxuICAgIH07XG4gICAgdmFyIFRva2VuRGF0YSA9IGNsYXNzIHtcbiAgICAgIGNvbnN0cnVjdG9yKHRva2Vucykge1xuICAgICAgICB0aGlzLnRva2VucyA9IHRva2VucztcbiAgICAgIH1cbiAgICB9O1xuICAgIGV4cG9ydHMyLlRva2VuRGF0YSA9IFRva2VuRGF0YTtcbiAgICBmdW5jdGlvbiBwYXJzZShzdHIsIG9wdGlvbnMgPSB7fSkge1xuICAgICAgY29uc3QgeyBlbmNvZGVQYXRoID0gTk9PUF9WQUxVRSB9ID0gb3B0aW9ucztcbiAgICAgIGNvbnN0IGl0ID0gbmV3IEl0ZXIobGV4ZXIoc3RyKSk7XG4gICAgICBmdW5jdGlvbiBjb25zdW1lKGVuZFR5cGUpIHtcbiAgICAgICAgY29uc3QgdG9rZW5zMiA9IFtdO1xuICAgICAgICB3aGlsZSAodHJ1ZSkge1xuICAgICAgICAgIGNvbnN0IHBhdGggPSBpdC50ZXh0KCk7XG4gICAgICAgICAgaWYgKHBhdGgpXG4gICAgICAgICAgICB0b2tlbnMyLnB1c2goeyB0eXBlOiBcInRleHRcIiwgdmFsdWU6IGVuY29kZVBhdGgocGF0aCkgfSk7XG4gICAgICAgICAgY29uc3QgcGFyYW0gPSBpdC50cnlDb25zdW1lKFwiUEFSQU1cIik7XG4gICAgICAgICAgaWYgKHBhcmFtKSB7XG4gICAgICAgICAgICB0b2tlbnMyLnB1c2goe1xuICAgICAgICAgICAgICB0eXBlOiBcInBhcmFtXCIsXG4gICAgICAgICAgICAgIG5hbWU6IHBhcmFtXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIGNvbnRpbnVlO1xuICAgICAgICAgIH1cbiAgICAgICAgICBjb25zdCB3aWxkY2FyZCA9IGl0LnRyeUNvbnN1bWUoXCJXSUxEQ0FSRFwiKTtcbiAgICAgICAgICBpZiAod2lsZGNhcmQpIHtcbiAgICAgICAgICAgIHRva2VuczIucHVzaCh7XG4gICAgICAgICAgICAgIHR5cGU6IFwid2lsZGNhcmRcIixcbiAgICAgICAgICAgICAgbmFtZTogd2lsZGNhcmRcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgY29udGludWU7XG4gICAgICAgICAgfVxuICAgICAgICAgIGNvbnN0IG9wZW4gPSBpdC50cnlDb25zdW1lKFwie1wiKTtcbiAgICAgICAgICBpZiAob3Blbikge1xuICAgICAgICAgICAgdG9rZW5zMi5wdXNoKHtcbiAgICAgICAgICAgICAgdHlwZTogXCJncm91cFwiLFxuICAgICAgICAgICAgICB0b2tlbnM6IGNvbnN1bWUoXCJ9XCIpXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIGNvbnRpbnVlO1xuICAgICAgICAgIH1cbiAgICAgICAgICBpdC5jb25zdW1lKGVuZFR5cGUpO1xuICAgICAgICAgIHJldHVybiB0b2tlbnMyO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICBjb25zdCB0b2tlbnMgPSBjb25zdW1lKFwiRU5EXCIpO1xuICAgICAgcmV0dXJuIG5ldyBUb2tlbkRhdGEodG9rZW5zKTtcbiAgICB9XG4gICAgZnVuY3Rpb24gY29tcGlsZShwYXRoLCBvcHRpb25zID0ge30pIHtcbiAgICAgIGNvbnN0IHsgZW5jb2RlID0gZW5jb2RlVVJJQ29tcG9uZW50LCBkZWxpbWl0ZXIgPSBERUZBVUxUX0RFTElNSVRFUiB9ID0gb3B0aW9ucztcbiAgICAgIGNvbnN0IGRhdGEgPSBwYXRoIGluc3RhbmNlb2YgVG9rZW5EYXRhID8gcGF0aCA6IHBhcnNlKHBhdGgsIG9wdGlvbnMpO1xuICAgICAgY29uc3QgZm4gPSB0b2tlbnNUb0Z1bmN0aW9uKGRhdGEudG9rZW5zLCBkZWxpbWl0ZXIsIGVuY29kZSk7XG4gICAgICByZXR1cm4gZnVuY3Rpb24gcGF0aDIoZGF0YTIgPSB7fSkge1xuICAgICAgICBjb25zdCBbcGF0aDMsIC4uLm1pc3NpbmddID0gZm4oZGF0YTIpO1xuICAgICAgICBpZiAobWlzc2luZy5sZW5ndGgpIHtcbiAgICAgICAgICB0aHJvdyBuZXcgVHlwZUVycm9yKGBNaXNzaW5nIHBhcmFtZXRlcnM6ICR7bWlzc2luZy5qb2luKFwiLCBcIil9YCk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHBhdGgzO1xuICAgICAgfTtcbiAgICB9XG4gICAgZnVuY3Rpb24gdG9rZW5zVG9GdW5jdGlvbih0b2tlbnMsIGRlbGltaXRlciwgZW5jb2RlKSB7XG4gICAgICBjb25zdCBlbmNvZGVycyA9IHRva2Vucy5tYXAoKHRva2VuKSA9PiB0b2tlblRvRnVuY3Rpb24odG9rZW4sIGRlbGltaXRlciwgZW5jb2RlKSk7XG4gICAgICByZXR1cm4gKGRhdGEpID0+IHtcbiAgICAgICAgY29uc3QgcmVzdWx0ID0gW1wiXCJdO1xuICAgICAgICBmb3IgKGNvbnN0IGVuY29kZXIgb2YgZW5jb2RlcnMpIHtcbiAgICAgICAgICBjb25zdCBbdmFsdWUsIC4uLmV4dHJhc10gPSBlbmNvZGVyKGRhdGEpO1xuICAgICAgICAgIHJlc3VsdFswXSArPSB2YWx1ZTtcbiAgICAgICAgICByZXN1bHQucHVzaCguLi5leHRyYXMpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgICB9O1xuICAgIH1cbiAgICBmdW5jdGlvbiB0b2tlblRvRnVuY3Rpb24odG9rZW4sIGRlbGltaXRlciwgZW5jb2RlKSB7XG4gICAgICBpZiAodG9rZW4udHlwZSA9PT0gXCJ0ZXh0XCIpXG4gICAgICAgIHJldHVybiAoKSA9PiBbdG9rZW4udmFsdWVdO1xuICAgICAgaWYgKHRva2VuLnR5cGUgPT09IFwiZ3JvdXBcIikge1xuICAgICAgICBjb25zdCBmbiA9IHRva2Vuc1RvRnVuY3Rpb24odG9rZW4udG9rZW5zLCBkZWxpbWl0ZXIsIGVuY29kZSk7XG4gICAgICAgIHJldHVybiAoZGF0YSkgPT4ge1xuICAgICAgICAgIGNvbnN0IFt2YWx1ZSwgLi4ubWlzc2luZ10gPSBmbihkYXRhKTtcbiAgICAgICAgICBpZiAoIW1pc3NpbmcubGVuZ3RoKVxuICAgICAgICAgICAgcmV0dXJuIFt2YWx1ZV07XG4gICAgICAgICAgcmV0dXJuIFtcIlwiXTtcbiAgICAgICAgfTtcbiAgICAgIH1cbiAgICAgIGNvbnN0IGVuY29kZVZhbHVlID0gZW5jb2RlIHx8IE5PT1BfVkFMVUU7XG4gICAgICBpZiAodG9rZW4udHlwZSA9PT0gXCJ3aWxkY2FyZFwiICYmIGVuY29kZSAhPT0gZmFsc2UpIHtcbiAgICAgICAgcmV0dXJuIChkYXRhKSA9PiB7XG4gICAgICAgICAgY29uc3QgdmFsdWUgPSBkYXRhW3Rva2VuLm5hbWVdO1xuICAgICAgICAgIGlmICh2YWx1ZSA9PSBudWxsKVxuICAgICAgICAgICAgcmV0dXJuIFtcIlwiLCB0b2tlbi5uYW1lXTtcbiAgICAgICAgICBpZiAoIUFycmF5LmlzQXJyYXkodmFsdWUpIHx8IHZhbHVlLmxlbmd0aCA9PT0gMCkge1xuICAgICAgICAgICAgdGhyb3cgbmV3IFR5cGVFcnJvcihgRXhwZWN0ZWQgXCIke3Rva2VuLm5hbWV9XCIgdG8gYmUgYSBub24tZW1wdHkgYXJyYXlgKTtcbiAgICAgICAgICB9XG4gICAgICAgICAgcmV0dXJuIFtcbiAgICAgICAgICAgIHZhbHVlLm1hcCgodmFsdWUyLCBpbmRleCkgPT4ge1xuICAgICAgICAgICAgICBpZiAodHlwZW9mIHZhbHVlMiAhPT0gXCJzdHJpbmdcIikge1xuICAgICAgICAgICAgICAgIHRocm93IG5ldyBUeXBlRXJyb3IoYEV4cGVjdGVkIFwiJHt0b2tlbi5uYW1lfS8ke2luZGV4fVwiIHRvIGJlIGEgc3RyaW5nYCk7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgcmV0dXJuIGVuY29kZVZhbHVlKHZhbHVlMik7XG4gICAgICAgICAgICB9KS5qb2luKGRlbGltaXRlcilcbiAgICAgICAgICBdO1xuICAgICAgICB9O1xuICAgICAgfVxuICAgICAgcmV0dXJuIChkYXRhKSA9PiB7XG4gICAgICAgIGNvbnN0IHZhbHVlID0gZGF0YVt0b2tlbi5uYW1lXTtcbiAgICAgICAgaWYgKHZhbHVlID09IG51bGwpXG4gICAgICAgICAgcmV0dXJuIFtcIlwiLCB0b2tlbi5uYW1lXTtcbiAgICAgICAgaWYgKHR5cGVvZiB2YWx1ZSAhPT0gXCJzdHJpbmdcIikge1xuICAgICAgICAgIHRocm93IG5ldyBUeXBlRXJyb3IoYEV4cGVjdGVkIFwiJHt0b2tlbi5uYW1lfVwiIHRvIGJlIGEgc3RyaW5nYCk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIFtlbmNvZGVWYWx1ZSh2YWx1ZSldO1xuICAgICAgfTtcbiAgICB9XG4gICAgZnVuY3Rpb24gbWF0Y2gocGF0aCwgb3B0aW9ucyA9IHt9KSB7XG4gICAgICBjb25zdCB7IGRlY29kZSA9IGRlY29kZVVSSUNvbXBvbmVudCwgZGVsaW1pdGVyID0gREVGQVVMVF9ERUxJTUlURVIgfSA9IG9wdGlvbnM7XG4gICAgICBjb25zdCB7IHJlZ2V4cCwga2V5cyB9ID0gcGF0aFRvUmVnZXhwKHBhdGgsIG9wdGlvbnMpO1xuICAgICAgY29uc3QgZGVjb2RlcnMgPSBrZXlzLm1hcCgoa2V5KSA9PiB7XG4gICAgICAgIGlmIChkZWNvZGUgPT09IGZhbHNlKVxuICAgICAgICAgIHJldHVybiBOT09QX1ZBTFVFO1xuICAgICAgICBpZiAoa2V5LnR5cGUgPT09IFwicGFyYW1cIilcbiAgICAgICAgICByZXR1cm4gZGVjb2RlO1xuICAgICAgICByZXR1cm4gKHZhbHVlKSA9PiB2YWx1ZS5zcGxpdChkZWxpbWl0ZXIpLm1hcChkZWNvZGUpO1xuICAgICAgfSk7XG4gICAgICByZXR1cm4gZnVuY3Rpb24gbWF0Y2gyKGlucHV0KSB7XG4gICAgICAgIGNvbnN0IG0gPSByZWdleHAuZXhlYyhpbnB1dCk7XG4gICAgICAgIGlmICghbSlcbiAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgIGNvbnN0IHBhdGgyID0gbVswXTtcbiAgICAgICAgY29uc3QgcGFyYW1zID0gLyogQF9fUFVSRV9fICovIE9iamVjdC5jcmVhdGUobnVsbCk7XG4gICAgICAgIGZvciAobGV0IGkgPSAxOyBpIDwgbS5sZW5ndGg7IGkrKykge1xuICAgICAgICAgIGlmIChtW2ldID09PSB2b2lkIDApXG4gICAgICAgICAgICBjb250aW51ZTtcbiAgICAgICAgICBjb25zdCBrZXkgPSBrZXlzW2kgLSAxXTtcbiAgICAgICAgICBjb25zdCBkZWNvZGVyID0gZGVjb2RlcnNbaSAtIDFdO1xuICAgICAgICAgIHBhcmFtc1trZXkubmFtZV0gPSBkZWNvZGVyKG1baV0pO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiB7IHBhdGg6IHBhdGgyLCBwYXJhbXMgfTtcbiAgICAgIH07XG4gICAgfVxuICAgIGZ1bmN0aW9uIHBhdGhUb1JlZ2V4cChwYXRoLCBvcHRpb25zID0ge30pIHtcbiAgICAgIGNvbnN0IHsgZGVsaW1pdGVyID0gREVGQVVMVF9ERUxJTUlURVIsIGVuZCA9IHRydWUsIHNlbnNpdGl2ZSA9IGZhbHNlLCB0cmFpbGluZyA9IHRydWUgfSA9IG9wdGlvbnM7XG4gICAgICBjb25zdCBrZXlzID0gW107XG4gICAgICBjb25zdCBzb3VyY2VzID0gW107XG4gICAgICBjb25zdCBmbGFncyA9IHNlbnNpdGl2ZSA/IFwiXCIgOiBcImlcIjtcbiAgICAgIGNvbnN0IHBhdGhzID0gQXJyYXkuaXNBcnJheShwYXRoKSA/IHBhdGggOiBbcGF0aF07XG4gICAgICBjb25zdCBpdGVtcyA9IHBhdGhzLm1hcCgocGF0aDIpID0+IHBhdGgyIGluc3RhbmNlb2YgVG9rZW5EYXRhID8gcGF0aDIgOiBwYXJzZShwYXRoMiwgb3B0aW9ucykpO1xuICAgICAgZm9yIChjb25zdCB7IHRva2VucyB9IG9mIGl0ZW1zKSB7XG4gICAgICAgIGZvciAoY29uc3Qgc2VxIG9mIGZsYXR0ZW4odG9rZW5zLCAwLCBbXSkpIHtcbiAgICAgICAgICBjb25zdCByZWdleHAyID0gc2VxdWVuY2VUb1JlZ0V4cChzZXEsIGRlbGltaXRlciwga2V5cyk7XG4gICAgICAgICAgc291cmNlcy5wdXNoKHJlZ2V4cDIpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICBsZXQgcGF0dGVybiA9IGBeKD86JHtzb3VyY2VzLmpvaW4oXCJ8XCIpfSlgO1xuICAgICAgaWYgKHRyYWlsaW5nKVxuICAgICAgICBwYXR0ZXJuICs9IGAoPzoke2VzY2FwZTIoZGVsaW1pdGVyKX0kKT9gO1xuICAgICAgcGF0dGVybiArPSBlbmQgPyBcIiRcIiA6IGAoPz0ke2VzY2FwZTIoZGVsaW1pdGVyKX18JClgO1xuICAgICAgY29uc3QgcmVnZXhwID0gbmV3IFJlZ0V4cChwYXR0ZXJuLCBmbGFncyk7XG4gICAgICByZXR1cm4geyByZWdleHAsIGtleXMgfTtcbiAgICB9XG4gICAgZnVuY3Rpb24qIGZsYXR0ZW4odG9rZW5zLCBpbmRleCwgaW5pdCkge1xuICAgICAgaWYgKGluZGV4ID09PSB0b2tlbnMubGVuZ3RoKSB7XG4gICAgICAgIHJldHVybiB5aWVsZCBpbml0O1xuICAgICAgfVxuICAgICAgY29uc3QgdG9rZW4gPSB0b2tlbnNbaW5kZXhdO1xuICAgICAgaWYgKHRva2VuLnR5cGUgPT09IFwiZ3JvdXBcIikge1xuICAgICAgICBjb25zdCBmb3JrID0gaW5pdC5zbGljZSgpO1xuICAgICAgICBmb3IgKGNvbnN0IHNlcSBvZiBmbGF0dGVuKHRva2VuLnRva2VucywgMCwgZm9yaykpIHtcbiAgICAgICAgICB5aWVsZCogZmxhdHRlbih0b2tlbnMsIGluZGV4ICsgMSwgc2VxKTtcbiAgICAgICAgfVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgaW5pdC5wdXNoKHRva2VuKTtcbiAgICAgIH1cbiAgICAgIHlpZWxkKiBmbGF0dGVuKHRva2VucywgaW5kZXggKyAxLCBpbml0KTtcbiAgICB9XG4gICAgZnVuY3Rpb24gc2VxdWVuY2VUb1JlZ0V4cCh0b2tlbnMsIGRlbGltaXRlciwga2V5cykge1xuICAgICAgbGV0IHJlc3VsdCA9IFwiXCI7XG4gICAgICBsZXQgYmFja3RyYWNrID0gXCJcIjtcbiAgICAgIGxldCBpc1NhZmVTZWdtZW50UGFyYW0gPSB0cnVlO1xuICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCB0b2tlbnMubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgY29uc3QgdG9rZW4gPSB0b2tlbnNbaV07XG4gICAgICAgIGlmICh0b2tlbi50eXBlID09PSBcInRleHRcIikge1xuICAgICAgICAgIHJlc3VsdCArPSBlc2NhcGUyKHRva2VuLnZhbHVlKTtcbiAgICAgICAgICBiYWNrdHJhY2sgKz0gdG9rZW4udmFsdWU7XG4gICAgICAgICAgaXNTYWZlU2VnbWVudFBhcmFtIHx8IChpc1NhZmVTZWdtZW50UGFyYW0gPSB0b2tlbi52YWx1ZS5pbmNsdWRlcyhkZWxpbWl0ZXIpKTtcbiAgICAgICAgICBjb250aW51ZTtcbiAgICAgICAgfVxuICAgICAgICBpZiAodG9rZW4udHlwZSA9PT0gXCJwYXJhbVwiIHx8IHRva2VuLnR5cGUgPT09IFwid2lsZGNhcmRcIikge1xuICAgICAgICAgIGlmICghaXNTYWZlU2VnbWVudFBhcmFtICYmICFiYWNrdHJhY2spIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBUeXBlRXJyb3IoYE1pc3NpbmcgdGV4dCBhZnRlciBcIiR7dG9rZW4ubmFtZX1cIjogJHtERUJVR19VUkx9YCk7XG4gICAgICAgICAgfVxuICAgICAgICAgIGlmICh0b2tlbi50eXBlID09PSBcInBhcmFtXCIpIHtcbiAgICAgICAgICAgIHJlc3VsdCArPSBgKCR7bmVnYXRlKGRlbGltaXRlciwgaXNTYWZlU2VnbWVudFBhcmFtID8gXCJcIiA6IGJhY2t0cmFjayl9KylgO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICByZXN1bHQgKz0gYChbXFxcXHNcXFxcU10rKWA7XG4gICAgICAgICAgfVxuICAgICAgICAgIGtleXMucHVzaCh0b2tlbik7XG4gICAgICAgICAgYmFja3RyYWNrID0gXCJcIjtcbiAgICAgICAgICBpc1NhZmVTZWdtZW50UGFyYW0gPSBmYWxzZTtcbiAgICAgICAgICBjb250aW51ZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICB9XG4gICAgZnVuY3Rpb24gbmVnYXRlKGRlbGltaXRlciwgYmFja3RyYWNrKSB7XG4gICAgICBpZiAoYmFja3RyYWNrLmxlbmd0aCA8IDIpIHtcbiAgICAgICAgaWYgKGRlbGltaXRlci5sZW5ndGggPCAyKVxuICAgICAgICAgIHJldHVybiBgW14ke2VzY2FwZTIoZGVsaW1pdGVyICsgYmFja3RyYWNrKX1dYDtcbiAgICAgICAgcmV0dXJuIGAoPzooPyEke2VzY2FwZTIoZGVsaW1pdGVyKX0pW14ke2VzY2FwZTIoYmFja3RyYWNrKX1dKWA7XG4gICAgICB9XG4gICAgICBpZiAoZGVsaW1pdGVyLmxlbmd0aCA8IDIpIHtcbiAgICAgICAgcmV0dXJuIGAoPzooPyEke2VzY2FwZTIoYmFja3RyYWNrKX0pW14ke2VzY2FwZTIoZGVsaW1pdGVyKX1dKWA7XG4gICAgICB9XG4gICAgICByZXR1cm4gYCg/Oig/ISR7ZXNjYXBlMihiYWNrdHJhY2spfXwke2VzY2FwZTIoZGVsaW1pdGVyKX0pW1xcXFxzXFxcXFNdKWA7XG4gICAgfVxuICAgIGZ1bmN0aW9uIHN0cmluZ2lmeShkYXRhKSB7XG4gICAgICByZXR1cm4gZGF0YS50b2tlbnMubWFwKGZ1bmN0aW9uIHN0cmluZ2lmeVRva2VuKHRva2VuLCBpbmRleCwgdG9rZW5zKSB7XG4gICAgICAgIGlmICh0b2tlbi50eXBlID09PSBcInRleHRcIilcbiAgICAgICAgICByZXR1cm4gZXNjYXBlVGV4dCh0b2tlbi52YWx1ZSk7XG4gICAgICAgIGlmICh0b2tlbi50eXBlID09PSBcImdyb3VwXCIpIHtcbiAgICAgICAgICByZXR1cm4gYHske3Rva2VuLnRva2Vucy5tYXAoc3RyaW5naWZ5VG9rZW4pLmpvaW4oXCJcIil9fWA7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgaXNTYWZlID0gaXNOYW1lU2FmZSh0b2tlbi5uYW1lKSAmJiBpc05leHROYW1lU2FmZSh0b2tlbnNbaW5kZXggKyAxXSk7XG4gICAgICAgIGNvbnN0IGtleSA9IGlzU2FmZSA/IHRva2VuLm5hbWUgOiBKU09OLnN0cmluZ2lmeSh0b2tlbi5uYW1lKTtcbiAgICAgICAgaWYgKHRva2VuLnR5cGUgPT09IFwicGFyYW1cIilcbiAgICAgICAgICByZXR1cm4gYDoke2tleX1gO1xuICAgICAgICBpZiAodG9rZW4udHlwZSA9PT0gXCJ3aWxkY2FyZFwiKVxuICAgICAgICAgIHJldHVybiBgKiR7a2V5fWA7XG4gICAgICAgIHRocm93IG5ldyBUeXBlRXJyb3IoYFVuZXhwZWN0ZWQgdG9rZW46ICR7dG9rZW59YCk7XG4gICAgICB9KS5qb2luKFwiXCIpO1xuICAgIH1cbiAgICBmdW5jdGlvbiBpc05hbWVTYWZlKG5hbWUpIHtcbiAgICAgIGNvbnN0IFtmaXJzdCwgLi4ucmVzdF0gPSBuYW1lO1xuICAgICAgaWYgKCFJRF9TVEFSVC50ZXN0KGZpcnN0KSlcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgcmV0dXJuIHJlc3QuZXZlcnkoKGNoYXIpID0+IElEX0NPTlRJTlVFLnRlc3QoY2hhcikpO1xuICAgIH1cbiAgICBmdW5jdGlvbiBpc05leHROYW1lU2FmZSh0b2tlbikge1xuICAgICAgaWYgKCh0b2tlbiA9PT0gbnVsbCB8fCB0b2tlbiA9PT0gdm9pZCAwID8gdm9pZCAwIDogdG9rZW4udHlwZSkgIT09IFwidGV4dFwiKVxuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgIHJldHVybiAhSURfQ09OVElOVUUudGVzdCh0b2tlbi52YWx1ZVswXSk7XG4gICAgfVxuICB9XG59KTtcblxuLy8gbm9kZV9tb2R1bGVzL3JvdXRlci9saWIvbGF5ZXIuanNcbnZhciByZXF1aXJlX2xheWVyID0gX19jb21tb25KUyh7XG4gIFwibm9kZV9tb2R1bGVzL3JvdXRlci9saWIvbGF5ZXIuanNcIihleHBvcnRzMiwgbW9kdWxlMikge1xuICAgIFwidXNlIHN0cmljdFwiO1xuICAgIHZhciBpc1Byb21pc2UgPSByZXF1aXJlX2lzX3Byb21pc2UoKTtcbiAgICB2YXIgcGF0aFJlZ2V4cCA9IHJlcXVpcmVfZGlzdCgpO1xuICAgIHZhciBkZWJ1ZyA9IHJlcXVpcmVfc3JjKCkoXCJyb3V0ZXI6bGF5ZXJcIik7XG4gICAgdmFyIGRlcHJlY2F0ZSA9IHJlcXVpcmVfZGVwZCgpKFwicm91dGVyXCIpO1xuICAgIHZhciBUUkFJTElOR19TTEFTSF9SRUdFWFAgPSAvXFwvKyQvO1xuICAgIHZhciBNQVRDSElOR19HUk9VUF9SRUdFWFAgPSAvXFwoKD86XFw/PCguKj8pPik/KD8hXFw/KS9nO1xuICAgIG1vZHVsZTIuZXhwb3J0cyA9IExheWVyO1xuICAgIGZ1bmN0aW9uIExheWVyKHBhdGgsIG9wdGlvbnMsIGZuKSB7XG4gICAgICBpZiAoISh0aGlzIGluc3RhbmNlb2YgTGF5ZXIpKSB7XG4gICAgICAgIHJldHVybiBuZXcgTGF5ZXIocGF0aCwgb3B0aW9ucywgZm4pO1xuICAgICAgfVxuICAgICAgZGVidWcoXCJuZXcgJW9cIiwgcGF0aCk7XG4gICAgICBjb25zdCBvcHRzID0gb3B0aW9ucyB8fCB7fTtcbiAgICAgIHRoaXMuaGFuZGxlID0gZm47XG4gICAgICB0aGlzLmtleXMgPSBbXTtcbiAgICAgIHRoaXMubmFtZSA9IGZuLm5hbWUgfHwgXCI8YW5vbnltb3VzPlwiO1xuICAgICAgdGhpcy5wYXJhbXMgPSB2b2lkIDA7XG4gICAgICB0aGlzLnBhdGggPSB2b2lkIDA7XG4gICAgICB0aGlzLnNsYXNoID0gcGF0aCA9PT0gXCIvXCIgJiYgb3B0cy5lbmQgPT09IGZhbHNlO1xuICAgICAgZnVuY3Rpb24gbWF0Y2hlcihfcGF0aCkge1xuICAgICAgICBpZiAoX3BhdGggaW5zdGFuY2VvZiBSZWdFeHApIHtcbiAgICAgICAgICBjb25zdCBrZXlzID0gW107XG4gICAgICAgICAgbGV0IG5hbWUgPSAwO1xuICAgICAgICAgIGxldCBtO1xuICAgICAgICAgIHdoaWxlIChtID0gTUFUQ0hJTkdfR1JPVVBfUkVHRVhQLmV4ZWMoX3BhdGguc291cmNlKSkge1xuICAgICAgICAgICAga2V5cy5wdXNoKHtcbiAgICAgICAgICAgICAgbmFtZTogbVsxXSB8fCBuYW1lKyssXG4gICAgICAgICAgICAgIG9mZnNldDogbS5pbmRleFxuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgfVxuICAgICAgICAgIHJldHVybiBmdW5jdGlvbiByZWdleHBNYXRjaGVyKHApIHtcbiAgICAgICAgICAgIGNvbnN0IG1hdGNoID0gX3BhdGguZXhlYyhwKTtcbiAgICAgICAgICAgIGlmICghbWF0Y2gpIHtcbiAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgY29uc3QgcGFyYW1zID0ge307XG4gICAgICAgICAgICBmb3IgKGxldCBpID0gMTsgaSA8IG1hdGNoLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgICAgICAgIGNvbnN0IGtleSA9IGtleXNbaSAtIDFdO1xuICAgICAgICAgICAgICBjb25zdCBwcm9wID0ga2V5Lm5hbWU7XG4gICAgICAgICAgICAgIGNvbnN0IHZhbCA9IGRlY29kZVBhcmFtKG1hdGNoW2ldKTtcbiAgICAgICAgICAgICAgaWYgKHZhbCAhPT0gdm9pZCAwKSB7XG4gICAgICAgICAgICAgICAgcGFyYW1zW3Byb3BdID0gdmFsO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICBwYXJhbXMsXG4gICAgICAgICAgICAgIHBhdGg6IG1hdGNoWzBdXG4gICAgICAgICAgICB9O1xuICAgICAgICAgIH07XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHBhdGhSZWdleHAubWF0Y2gob3B0cy5zdHJpY3QgPyBfcGF0aCA6IGxvb3NlbihfcGF0aCksIHtcbiAgICAgICAgICBzZW5zaXRpdmU6IG9wdHMuc2Vuc2l0aXZlLFxuICAgICAgICAgIGVuZDogb3B0cy5lbmQsXG4gICAgICAgICAgdHJhaWxpbmc6ICFvcHRzLnN0cmljdCxcbiAgICAgICAgICBkZWNvZGU6IGRlY29kZVBhcmFtXG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgICAgdGhpcy5tYXRjaGVycyA9IEFycmF5LmlzQXJyYXkocGF0aCkgPyBwYXRoLm1hcChtYXRjaGVyKSA6IFttYXRjaGVyKHBhdGgpXTtcbiAgICB9XG4gICAgTGF5ZXIucHJvdG90eXBlLmhhbmRsZUVycm9yID0gZnVuY3Rpb24gaGFuZGxlRXJyb3IoZXJyb3IsIHJlcSwgcmVzLCBuZXh0KSB7XG4gICAgICBjb25zdCBmbiA9IHRoaXMuaGFuZGxlO1xuICAgICAgaWYgKGZuLmxlbmd0aCAhPT0gNCkge1xuICAgICAgICByZXR1cm4gbmV4dChlcnJvcik7XG4gICAgICB9XG4gICAgICB0cnkge1xuICAgICAgICBjb25zdCByZXQgPSBmbihlcnJvciwgcmVxLCByZXMsIG5leHQpO1xuICAgICAgICBpZiAoaXNQcm9taXNlKHJldCkpIHtcbiAgICAgICAgICBpZiAoIShyZXQgaW5zdGFuY2VvZiBQcm9taXNlKSkge1xuICAgICAgICAgICAgZGVwcmVjYXRlKFwiaGFuZGxlcnMgdGhhdCBhcmUgUHJvbWlzZS1saWtlIGFyZSBkZXByZWNhdGVkLCB1c2UgYSBuYXRpdmUgUHJvbWlzZSBpbnN0ZWFkXCIpO1xuICAgICAgICAgIH1cbiAgICAgICAgICByZXQudGhlbihudWxsLCBmdW5jdGlvbihlcnJvcjIpIHtcbiAgICAgICAgICAgIG5leHQoZXJyb3IyIHx8IG5ldyBFcnJvcihcIlJlamVjdGVkIHByb21pc2VcIikpO1xuICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICB9IGNhdGNoIChlcnIyKSB7XG4gICAgICAgIG5leHQoZXJyMik7XG4gICAgICB9XG4gICAgfTtcbiAgICBMYXllci5wcm90b3R5cGUuaGFuZGxlUmVxdWVzdCA9IGZ1bmN0aW9uIGhhbmRsZVJlcXVlc3QocmVxLCByZXMsIG5leHQpIHtcbiAgICAgIGNvbnN0IGZuID0gdGhpcy5oYW5kbGU7XG4gICAgICBpZiAoZm4ubGVuZ3RoID4gMykge1xuICAgICAgICByZXR1cm4gbmV4dCgpO1xuICAgICAgfVxuICAgICAgdHJ5IHtcbiAgICAgICAgY29uc3QgcmV0ID0gZm4ocmVxLCByZXMsIG5leHQpO1xuICAgICAgICBpZiAoaXNQcm9taXNlKHJldCkpIHtcbiAgICAgICAgICBpZiAoIShyZXQgaW5zdGFuY2VvZiBQcm9taXNlKSkge1xuICAgICAgICAgICAgZGVwcmVjYXRlKFwiaGFuZGxlcnMgdGhhdCBhcmUgUHJvbWlzZS1saWtlIGFyZSBkZXByZWNhdGVkLCB1c2UgYSBuYXRpdmUgUHJvbWlzZSBpbnN0ZWFkXCIpO1xuICAgICAgICAgIH1cbiAgICAgICAgICByZXQudGhlbihudWxsLCBmdW5jdGlvbihlcnJvcikge1xuICAgICAgICAgICAgbmV4dChlcnJvciB8fCBuZXcgRXJyb3IoXCJSZWplY3RlZCBwcm9taXNlXCIpKTtcbiAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgICAgfSBjYXRjaCAoZXJyMikge1xuICAgICAgICBuZXh0KGVycjIpO1xuICAgICAgfVxuICAgIH07XG4gICAgTGF5ZXIucHJvdG90eXBlLm1hdGNoID0gZnVuY3Rpb24gbWF0Y2gocGF0aCkge1xuICAgICAgbGV0IG1hdGNoMjtcbiAgICAgIGlmIChwYXRoICE9IG51bGwpIHtcbiAgICAgICAgaWYgKHRoaXMuc2xhc2gpIHtcbiAgICAgICAgICB0aGlzLnBhcmFtcyA9IHt9O1xuICAgICAgICAgIHRoaXMucGF0aCA9IFwiXCI7XG4gICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgIH1cbiAgICAgICAgbGV0IGkgPSAwO1xuICAgICAgICB3aGlsZSAoIW1hdGNoMiAmJiBpIDwgdGhpcy5tYXRjaGVycy5sZW5ndGgpIHtcbiAgICAgICAgICBtYXRjaDIgPSB0aGlzLm1hdGNoZXJzW2ldKHBhdGgpO1xuICAgICAgICAgIGkrKztcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgaWYgKCFtYXRjaDIpIHtcbiAgICAgICAgdGhpcy5wYXJhbXMgPSB2b2lkIDA7XG4gICAgICAgIHRoaXMucGF0aCA9IHZvaWQgMDtcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgfVxuICAgICAgdGhpcy5wYXJhbXMgPSBtYXRjaDIucGFyYW1zO1xuICAgICAgdGhpcy5wYXRoID0gbWF0Y2gyLnBhdGg7XG4gICAgICB0aGlzLmtleXMgPSBPYmplY3Qua2V5cyhtYXRjaDIucGFyYW1zKTtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH07XG4gICAgZnVuY3Rpb24gZGVjb2RlUGFyYW0odmFsKSB7XG4gICAgICBpZiAodHlwZW9mIHZhbCAhPT0gXCJzdHJpbmdcIiB8fCB2YWwubGVuZ3RoID09PSAwKSB7XG4gICAgICAgIHJldHVybiB2YWw7XG4gICAgICB9XG4gICAgICB0cnkge1xuICAgICAgICByZXR1cm4gZGVjb2RlVVJJQ29tcG9uZW50KHZhbCk7XG4gICAgICB9IGNhdGNoIChlcnIyKSB7XG4gICAgICAgIGlmIChlcnIyIGluc3RhbmNlb2YgVVJJRXJyb3IpIHtcbiAgICAgICAgICBlcnIyLm1lc3NhZ2UgPSBcIkZhaWxlZCB0byBkZWNvZGUgcGFyYW0gJ1wiICsgdmFsICsgXCInXCI7XG4gICAgICAgICAgZXJyMi5zdGF0dXMgPSA0MDA7XG4gICAgICAgIH1cbiAgICAgICAgdGhyb3cgZXJyMjtcbiAgICAgIH1cbiAgICB9XG4gICAgZnVuY3Rpb24gbG9vc2VuKHBhdGgpIHtcbiAgICAgIGlmIChwYXRoIGluc3RhbmNlb2YgUmVnRXhwIHx8IHBhdGggPT09IFwiL1wiKSB7XG4gICAgICAgIHJldHVybiBwYXRoO1xuICAgICAgfVxuICAgICAgcmV0dXJuIEFycmF5LmlzQXJyYXkocGF0aCkgPyBwYXRoLm1hcChmdW5jdGlvbihwKSB7XG4gICAgICAgIHJldHVybiBsb29zZW4ocCk7XG4gICAgICB9KSA6IFN0cmluZyhwYXRoKS5yZXBsYWNlKFRSQUlMSU5HX1NMQVNIX1JFR0VYUCwgXCJcIik7XG4gICAgfVxuICB9XG59KTtcblxuLy8gbm9kZV9tb2R1bGVzL3JvdXRlci9saWIvcm91dGUuanNcbnZhciByZXF1aXJlX3JvdXRlID0gX19jb21tb25KUyh7XG4gIFwibm9kZV9tb2R1bGVzL3JvdXRlci9saWIvcm91dGUuanNcIihleHBvcnRzMiwgbW9kdWxlMikge1xuICAgIFwidXNlIHN0cmljdFwiO1xuICAgIHZhciBkZWJ1ZyA9IHJlcXVpcmVfc3JjKCkoXCJyb3V0ZXI6cm91dGVcIik7XG4gICAgdmFyIExheWVyID0gcmVxdWlyZV9sYXllcigpO1xuICAgIHZhciB7IE1FVEhPRFMgfSA9IHJlcXVpcmUoXCJub2RlOmh0dHBcIik7XG4gICAgdmFyIHNsaWNlID0gQXJyYXkucHJvdG90eXBlLnNsaWNlO1xuICAgIHZhciBmbGF0dGVuID0gQXJyYXkucHJvdG90eXBlLmZsYXQ7XG4gICAgdmFyIG1ldGhvZHMgPSBNRVRIT0RTLm1hcCgobWV0aG9kKSA9PiBtZXRob2QudG9Mb3dlckNhc2UoKSk7XG4gICAgbW9kdWxlMi5leHBvcnRzID0gUm91dGU7XG4gICAgZnVuY3Rpb24gUm91dGUocGF0aCkge1xuICAgICAgZGVidWcoXCJuZXcgJW9cIiwgcGF0aCk7XG4gICAgICB0aGlzLnBhdGggPSBwYXRoO1xuICAgICAgdGhpcy5zdGFjayA9IFtdO1xuICAgICAgdGhpcy5tZXRob2RzID0gLyogQF9fUFVSRV9fICovIE9iamVjdC5jcmVhdGUobnVsbCk7XG4gICAgfVxuICAgIFJvdXRlLnByb3RvdHlwZS5faGFuZGxlc01ldGhvZCA9IGZ1bmN0aW9uIF9oYW5kbGVzTWV0aG9kKG1ldGhvZCkge1xuICAgICAgaWYgKHRoaXMubWV0aG9kcy5fYWxsKSB7XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgfVxuICAgICAgbGV0IG5hbWUgPSB0eXBlb2YgbWV0aG9kID09PSBcInN0cmluZ1wiID8gbWV0aG9kLnRvTG93ZXJDYXNlKCkgOiBtZXRob2Q7XG4gICAgICBpZiAobmFtZSA9PT0gXCJoZWFkXCIgJiYgIXRoaXMubWV0aG9kcy5oZWFkKSB7XG4gICAgICAgIG5hbWUgPSBcImdldFwiO1xuICAgICAgfVxuICAgICAgcmV0dXJuIEJvb2xlYW4odGhpcy5tZXRob2RzW25hbWVdKTtcbiAgICB9O1xuICAgIFJvdXRlLnByb3RvdHlwZS5fbWV0aG9kcyA9IGZ1bmN0aW9uIF9tZXRob2RzKCkge1xuICAgICAgY29uc3QgbWV0aG9kczIgPSBPYmplY3Qua2V5cyh0aGlzLm1ldGhvZHMpO1xuICAgICAgaWYgKHRoaXMubWV0aG9kcy5nZXQgJiYgIXRoaXMubWV0aG9kcy5oZWFkKSB7XG4gICAgICAgIG1ldGhvZHMyLnB1c2goXCJoZWFkXCIpO1xuICAgICAgfVxuICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBtZXRob2RzMi5sZW5ndGg7IGkrKykge1xuICAgICAgICBtZXRob2RzMltpXSA9IG1ldGhvZHMyW2ldLnRvVXBwZXJDYXNlKCk7XG4gICAgICB9XG4gICAgICByZXR1cm4gbWV0aG9kczI7XG4gICAgfTtcbiAgICBSb3V0ZS5wcm90b3R5cGUuZGlzcGF0Y2ggPSBmdW5jdGlvbiBkaXNwYXRjaChyZXEsIHJlcywgZG9uZSkge1xuICAgICAgbGV0IGlkeCA9IDA7XG4gICAgICBjb25zdCBzdGFjayA9IHRoaXMuc3RhY2s7XG4gICAgICBsZXQgc3luYyA9IDA7XG4gICAgICBpZiAoc3RhY2subGVuZ3RoID09PSAwKSB7XG4gICAgICAgIHJldHVybiBkb25lKCk7XG4gICAgICB9XG4gICAgICBsZXQgbWV0aG9kID0gdHlwZW9mIHJlcS5tZXRob2QgPT09IFwic3RyaW5nXCIgPyByZXEubWV0aG9kLnRvTG93ZXJDYXNlKCkgOiByZXEubWV0aG9kO1xuICAgICAgaWYgKG1ldGhvZCA9PT0gXCJoZWFkXCIgJiYgIXRoaXMubWV0aG9kcy5oZWFkKSB7XG4gICAgICAgIG1ldGhvZCA9IFwiZ2V0XCI7XG4gICAgICB9XG4gICAgICByZXEucm91dGUgPSB0aGlzO1xuICAgICAgbmV4dCgpO1xuICAgICAgZnVuY3Rpb24gbmV4dChlcnIyKSB7XG4gICAgICAgIGlmIChlcnIyICYmIGVycjIgPT09IFwicm91dGVcIikge1xuICAgICAgICAgIHJldHVybiBkb25lKCk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGVycjIgJiYgZXJyMiA9PT0gXCJyb3V0ZXJcIikge1xuICAgICAgICAgIHJldHVybiBkb25lKGVycjIpO1xuICAgICAgICB9XG4gICAgICAgIGlmIChpZHggPj0gc3RhY2subGVuZ3RoKSB7XG4gICAgICAgICAgcmV0dXJuIGRvbmUoZXJyMik7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKCsrc3luYyA+IDEwMCkge1xuICAgICAgICAgIHJldHVybiBzZXRJbW1lZGlhdGUobmV4dCwgZXJyMik7XG4gICAgICAgIH1cbiAgICAgICAgbGV0IGxheWVyO1xuICAgICAgICBsZXQgbWF0Y2g7XG4gICAgICAgIHdoaWxlIChtYXRjaCAhPT0gdHJ1ZSAmJiBpZHggPCBzdGFjay5sZW5ndGgpIHtcbiAgICAgICAgICBsYXllciA9IHN0YWNrW2lkeCsrXTtcbiAgICAgICAgICBtYXRjaCA9ICFsYXllci5tZXRob2QgfHwgbGF5ZXIubWV0aG9kID09PSBtZXRob2Q7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKG1hdGNoICE9PSB0cnVlKSB7XG4gICAgICAgICAgcmV0dXJuIGRvbmUoZXJyMik7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGVycjIpIHtcbiAgICAgICAgICBsYXllci5oYW5kbGVFcnJvcihlcnIyLCByZXEsIHJlcywgbmV4dCk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgbGF5ZXIuaGFuZGxlUmVxdWVzdChyZXEsIHJlcywgbmV4dCk7XG4gICAgICAgIH1cbiAgICAgICAgc3luYyA9IDA7XG4gICAgICB9XG4gICAgfTtcbiAgICBSb3V0ZS5wcm90b3R5cGUuYWxsID0gZnVuY3Rpb24gYWxsKGhhbmRsZXIpIHtcbiAgICAgIGNvbnN0IGNhbGxiYWNrcyA9IGZsYXR0ZW4uY2FsbChzbGljZS5jYWxsKGFyZ3VtZW50cyksIEluZmluaXR5KTtcbiAgICAgIGlmIChjYWxsYmFja3MubGVuZ3RoID09PSAwKSB7XG4gICAgICAgIHRocm93IG5ldyBUeXBlRXJyb3IoXCJhcmd1bWVudCBoYW5kbGVyIGlzIHJlcXVpcmVkXCIpO1xuICAgICAgfVxuICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBjYWxsYmFja3MubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgY29uc3QgZm4gPSBjYWxsYmFja3NbaV07XG4gICAgICAgIGlmICh0eXBlb2YgZm4gIT09IFwiZnVuY3Rpb25cIikge1xuICAgICAgICAgIHRocm93IG5ldyBUeXBlRXJyb3IoXCJhcmd1bWVudCBoYW5kbGVyIG11c3QgYmUgYSBmdW5jdGlvblwiKTtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBsYXllciA9IExheWVyKFwiL1wiLCB7fSwgZm4pO1xuICAgICAgICBsYXllci5tZXRob2QgPSB2b2lkIDA7XG4gICAgICAgIHRoaXMubWV0aG9kcy5fYWxsID0gdHJ1ZTtcbiAgICAgICAgdGhpcy5zdGFjay5wdXNoKGxheWVyKTtcbiAgICAgIH1cbiAgICAgIHJldHVybiB0aGlzO1xuICAgIH07XG4gICAgbWV0aG9kcy5mb3JFYWNoKGZ1bmN0aW9uKG1ldGhvZCkge1xuICAgICAgUm91dGUucHJvdG90eXBlW21ldGhvZF0gPSBmdW5jdGlvbihoYW5kbGVyKSB7XG4gICAgICAgIGNvbnN0IGNhbGxiYWNrcyA9IGZsYXR0ZW4uY2FsbChzbGljZS5jYWxsKGFyZ3VtZW50cyksIEluZmluaXR5KTtcbiAgICAgICAgaWYgKGNhbGxiYWNrcy5sZW5ndGggPT09IDApIHtcbiAgICAgICAgICB0aHJvdyBuZXcgVHlwZUVycm9yKFwiYXJndW1lbnQgaGFuZGxlciBpcyByZXF1aXJlZFwiKTtcbiAgICAgICAgfVxuICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IGNhbGxiYWNrcy5sZW5ndGg7IGkrKykge1xuICAgICAgICAgIGNvbnN0IGZuID0gY2FsbGJhY2tzW2ldO1xuICAgICAgICAgIGlmICh0eXBlb2YgZm4gIT09IFwiZnVuY3Rpb25cIikge1xuICAgICAgICAgICAgdGhyb3cgbmV3IFR5cGVFcnJvcihcImFyZ3VtZW50IGhhbmRsZXIgbXVzdCBiZSBhIGZ1bmN0aW9uXCIpO1xuICAgICAgICAgIH1cbiAgICAgICAgICBkZWJ1ZyhcIiVzICVzXCIsIG1ldGhvZCwgdGhpcy5wYXRoKTtcbiAgICAgICAgICBjb25zdCBsYXllciA9IExheWVyKFwiL1wiLCB7fSwgZm4pO1xuICAgICAgICAgIGxheWVyLm1ldGhvZCA9IG1ldGhvZDtcbiAgICAgICAgICB0aGlzLm1ldGhvZHNbbWV0aG9kXSA9IHRydWU7XG4gICAgICAgICAgdGhpcy5zdGFjay5wdXNoKGxheWVyKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gdGhpcztcbiAgICAgIH07XG4gICAgfSk7XG4gIH1cbn0pO1xuXG4vLyBub2RlX21vZHVsZXMvcm91dGVyL2luZGV4LmpzXG52YXIgcmVxdWlyZV9yb3V0ZXIgPSBfX2NvbW1vbkpTKHtcbiAgXCJub2RlX21vZHVsZXMvcm91dGVyL2luZGV4LmpzXCIoZXhwb3J0czIsIG1vZHVsZTIpIHtcbiAgICBcInVzZSBzdHJpY3RcIjtcbiAgICB2YXIgaXNQcm9taXNlID0gcmVxdWlyZV9pc19wcm9taXNlKCk7XG4gICAgdmFyIExheWVyID0gcmVxdWlyZV9sYXllcigpO1xuICAgIHZhciB7IE1FVEhPRFMgfSA9IHJlcXVpcmUoXCJub2RlOmh0dHBcIik7XG4gICAgdmFyIHBhcnNlVXJsID0gcmVxdWlyZV9wYXJzZXVybCgpO1xuICAgIHZhciBSb3V0ZSA9IHJlcXVpcmVfcm91dGUoKTtcbiAgICB2YXIgZGVidWcgPSByZXF1aXJlX3NyYygpKFwicm91dGVyXCIpO1xuICAgIHZhciBkZXByZWNhdGUgPSByZXF1aXJlX2RlcGQoKShcInJvdXRlclwiKTtcbiAgICB2YXIgc2xpY2UgPSBBcnJheS5wcm90b3R5cGUuc2xpY2U7XG4gICAgdmFyIGZsYXR0ZW4gPSBBcnJheS5wcm90b3R5cGUuZmxhdDtcbiAgICB2YXIgbWV0aG9kcyA9IE1FVEhPRFMubWFwKChtZXRob2QpID0+IG1ldGhvZC50b0xvd2VyQ2FzZSgpKTtcbiAgICBtb2R1bGUyLmV4cG9ydHMgPSBSb3V0ZXI7XG4gICAgbW9kdWxlMi5leHBvcnRzLlJvdXRlID0gUm91dGU7XG4gICAgZnVuY3Rpb24gUm91dGVyKG9wdGlvbnMpIHtcbiAgICAgIGlmICghKHRoaXMgaW5zdGFuY2VvZiBSb3V0ZXIpKSB7XG4gICAgICAgIHJldHVybiBuZXcgUm91dGVyKG9wdGlvbnMpO1xuICAgICAgfVxuICAgICAgY29uc3Qgb3B0cyA9IG9wdGlvbnMgfHwge307XG4gICAgICBmdW5jdGlvbiByb3V0ZXIocmVxLCByZXMsIG5leHQpIHtcbiAgICAgICAgcm91dGVyLmhhbmRsZShyZXEsIHJlcywgbmV4dCk7XG4gICAgICB9XG4gICAgICBPYmplY3Quc2V0UHJvdG90eXBlT2Yocm91dGVyLCB0aGlzKTtcbiAgICAgIHJvdXRlci5jYXNlU2Vuc2l0aXZlID0gb3B0cy5jYXNlU2Vuc2l0aXZlO1xuICAgICAgcm91dGVyLm1lcmdlUGFyYW1zID0gb3B0cy5tZXJnZVBhcmFtcztcbiAgICAgIHJvdXRlci5wYXJhbXMgPSB7fTtcbiAgICAgIHJvdXRlci5zdHJpY3QgPSBvcHRzLnN0cmljdDtcbiAgICAgIHJvdXRlci5zdGFjayA9IFtdO1xuICAgICAgcmV0dXJuIHJvdXRlcjtcbiAgICB9XG4gICAgUm91dGVyLnByb3RvdHlwZSA9IGZ1bmN0aW9uKCkge1xuICAgIH07XG4gICAgUm91dGVyLnByb3RvdHlwZS5wYXJhbSA9IGZ1bmN0aW9uIHBhcmFtKG5hbWUsIGZuKSB7XG4gICAgICBpZiAoIW5hbWUpIHtcbiAgICAgICAgdGhyb3cgbmV3IFR5cGVFcnJvcihcImFyZ3VtZW50IG5hbWUgaXMgcmVxdWlyZWRcIik7XG4gICAgICB9XG4gICAgICBpZiAodHlwZW9mIG5hbWUgIT09IFwic3RyaW5nXCIpIHtcbiAgICAgICAgdGhyb3cgbmV3IFR5cGVFcnJvcihcImFyZ3VtZW50IG5hbWUgbXVzdCBiZSBhIHN0cmluZ1wiKTtcbiAgICAgIH1cbiAgICAgIGlmICghZm4pIHtcbiAgICAgICAgdGhyb3cgbmV3IFR5cGVFcnJvcihcImFyZ3VtZW50IGZuIGlzIHJlcXVpcmVkXCIpO1xuICAgICAgfVxuICAgICAgaWYgKHR5cGVvZiBmbiAhPT0gXCJmdW5jdGlvblwiKSB7XG4gICAgICAgIHRocm93IG5ldyBUeXBlRXJyb3IoXCJhcmd1bWVudCBmbiBtdXN0IGJlIGEgZnVuY3Rpb25cIik7XG4gICAgICB9XG4gICAgICBsZXQgcGFyYW1zID0gdGhpcy5wYXJhbXNbbmFtZV07XG4gICAgICBpZiAoIXBhcmFtcykge1xuICAgICAgICBwYXJhbXMgPSB0aGlzLnBhcmFtc1tuYW1lXSA9IFtdO1xuICAgICAgfVxuICAgICAgcGFyYW1zLnB1c2goZm4pO1xuICAgICAgcmV0dXJuIHRoaXM7XG4gICAgfTtcbiAgICBSb3V0ZXIucHJvdG90eXBlLmhhbmRsZSA9IGZ1bmN0aW9uIGhhbmRsZShyZXEsIHJlcywgY2FsbGJhY2spIHtcbiAgICAgIGlmICghY2FsbGJhY2spIHtcbiAgICAgICAgdGhyb3cgbmV3IFR5cGVFcnJvcihcImFyZ3VtZW50IGNhbGxiYWNrIGlzIHJlcXVpcmVkXCIpO1xuICAgICAgfVxuICAgICAgZGVidWcoXCJkaXNwYXRjaGluZyAlcyAlc1wiLCByZXEubWV0aG9kLCByZXEudXJsKTtcbiAgICAgIGxldCBpZHggPSAwO1xuICAgICAgbGV0IG1ldGhvZHMyO1xuICAgICAgY29uc3QgcHJvdG9ob3N0ID0gZ2V0UHJvdG9ob3N0KHJlcS51cmwpIHx8IFwiXCI7XG4gICAgICBsZXQgcmVtb3ZlZCA9IFwiXCI7XG4gICAgICBjb25zdCBzZWxmMiA9IHRoaXM7XG4gICAgICBsZXQgc2xhc2hBZGRlZCA9IGZhbHNlO1xuICAgICAgbGV0IHN5bmMgPSAwO1xuICAgICAgY29uc3QgcGFyYW1jYWxsZWQgPSB7fTtcbiAgICAgIGNvbnN0IHN0YWNrID0gdGhpcy5zdGFjaztcbiAgICAgIGNvbnN0IHBhcmVudFBhcmFtcyA9IHJlcS5wYXJhbXM7XG4gICAgICBjb25zdCBwYXJlbnRVcmwgPSByZXEuYmFzZVVybCB8fCBcIlwiO1xuICAgICAgbGV0IGRvbmUgPSByZXN0b3JlKGNhbGxiYWNrLCByZXEsIFwiYmFzZVVybFwiLCBcIm5leHRcIiwgXCJwYXJhbXNcIik7XG4gICAgICByZXEubmV4dCA9IG5leHQ7XG4gICAgICBpZiAocmVxLm1ldGhvZCA9PT0gXCJPUFRJT05TXCIpIHtcbiAgICAgICAgbWV0aG9kczIgPSBbXTtcbiAgICAgICAgZG9uZSA9IHdyYXAoZG9uZSwgZ2VuZXJhdGVPcHRpb25zUmVzcG9uZGVyKHJlcywgbWV0aG9kczIpKTtcbiAgICAgIH1cbiAgICAgIHJlcS5iYXNlVXJsID0gcGFyZW50VXJsO1xuICAgICAgcmVxLm9yaWdpbmFsVXJsID0gcmVxLm9yaWdpbmFsVXJsIHx8IHJlcS51cmw7XG4gICAgICBuZXh0KCk7XG4gICAgICBmdW5jdGlvbiBuZXh0KGVycjIpIHtcbiAgICAgICAgbGV0IGxheWVyRXJyb3IgPSBlcnIyID09PSBcInJvdXRlXCIgPyBudWxsIDogZXJyMjtcbiAgICAgICAgaWYgKHNsYXNoQWRkZWQpIHtcbiAgICAgICAgICByZXEudXJsID0gcmVxLnVybC5zbGljZSgxKTtcbiAgICAgICAgICBzbGFzaEFkZGVkID0gZmFsc2U7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHJlbW92ZWQubGVuZ3RoICE9PSAwKSB7XG4gICAgICAgICAgcmVxLmJhc2VVcmwgPSBwYXJlbnRVcmw7XG4gICAgICAgICAgcmVxLnVybCA9IHByb3RvaG9zdCArIHJlbW92ZWQgKyByZXEudXJsLnNsaWNlKHByb3RvaG9zdC5sZW5ndGgpO1xuICAgICAgICAgIHJlbW92ZWQgPSBcIlwiO1xuICAgICAgICB9XG4gICAgICAgIGlmIChsYXllckVycm9yID09PSBcInJvdXRlclwiKSB7XG4gICAgICAgICAgc2V0SW1tZWRpYXRlKGRvbmUsIG51bGwpO1xuICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBpZiAoaWR4ID49IHN0YWNrLmxlbmd0aCkge1xuICAgICAgICAgIHNldEltbWVkaWF0ZShkb25lLCBsYXllckVycm9yKTtcbiAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgaWYgKCsrc3luYyA+IDEwMCkge1xuICAgICAgICAgIHJldHVybiBzZXRJbW1lZGlhdGUobmV4dCwgZXJyMik7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgcGF0aCA9IGdldFBhdGhuYW1lKHJlcSk7XG4gICAgICAgIGlmIChwYXRoID09IG51bGwpIHtcbiAgICAgICAgICByZXR1cm4gZG9uZShsYXllckVycm9yKTtcbiAgICAgICAgfVxuICAgICAgICBsZXQgbGF5ZXI7XG4gICAgICAgIGxldCBtYXRjaDtcbiAgICAgICAgbGV0IHJvdXRlO1xuICAgICAgICB3aGlsZSAobWF0Y2ggIT09IHRydWUgJiYgaWR4IDwgc3RhY2subGVuZ3RoKSB7XG4gICAgICAgICAgbGF5ZXIgPSBzdGFja1tpZHgrK107XG4gICAgICAgICAgbWF0Y2ggPSBtYXRjaExheWVyKGxheWVyLCBwYXRoKTtcbiAgICAgICAgICByb3V0ZSA9IGxheWVyLnJvdXRlO1xuICAgICAgICAgIGlmICh0eXBlb2YgbWF0Y2ggIT09IFwiYm9vbGVhblwiKSB7XG4gICAgICAgICAgICBsYXllckVycm9yID0gbGF5ZXJFcnJvciB8fCBtYXRjaDtcbiAgICAgICAgICB9XG4gICAgICAgICAgaWYgKG1hdGNoICE9PSB0cnVlKSB7XG4gICAgICAgICAgICBjb250aW51ZTtcbiAgICAgICAgICB9XG4gICAgICAgICAgaWYgKCFyb3V0ZSkge1xuICAgICAgICAgICAgY29udGludWU7XG4gICAgICAgICAgfVxuICAgICAgICAgIGlmIChsYXllckVycm9yKSB7XG4gICAgICAgICAgICBtYXRjaCA9IGZhbHNlO1xuICAgICAgICAgICAgY29udGludWU7XG4gICAgICAgICAgfVxuICAgICAgICAgIGNvbnN0IG1ldGhvZCA9IHJlcS5tZXRob2Q7XG4gICAgICAgICAgY29uc3QgaGFzTWV0aG9kID0gcm91dGUuX2hhbmRsZXNNZXRob2QobWV0aG9kKTtcbiAgICAgICAgICBpZiAoIWhhc01ldGhvZCAmJiBtZXRob2QgPT09IFwiT1BUSU9OU1wiICYmIG1ldGhvZHMyKSB7XG4gICAgICAgICAgICBtZXRob2RzMi5wdXNoLmFwcGx5KG1ldGhvZHMyLCByb3V0ZS5fbWV0aG9kcygpKTtcbiAgICAgICAgICB9XG4gICAgICAgICAgaWYgKCFoYXNNZXRob2QgJiYgbWV0aG9kICE9PSBcIkhFQURcIikge1xuICAgICAgICAgICAgbWF0Y2ggPSBmYWxzZTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgaWYgKG1hdGNoICE9PSB0cnVlKSB7XG4gICAgICAgICAgcmV0dXJuIGRvbmUobGF5ZXJFcnJvcik7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHJvdXRlKSB7XG4gICAgICAgICAgcmVxLnJvdXRlID0gcm91dGU7XG4gICAgICAgIH1cbiAgICAgICAgcmVxLnBhcmFtcyA9IHNlbGYyLm1lcmdlUGFyYW1zID8gbWVyZ2VQYXJhbXMobGF5ZXIucGFyYW1zLCBwYXJlbnRQYXJhbXMpIDogbGF5ZXIucGFyYW1zO1xuICAgICAgICBjb25zdCBsYXllclBhdGggPSBsYXllci5wYXRoO1xuICAgICAgICBwcm9jZXNzUGFyYW1zKHNlbGYyLnBhcmFtcywgbGF5ZXIsIHBhcmFtY2FsbGVkLCByZXEsIHJlcywgZnVuY3Rpb24oZXJyMykge1xuICAgICAgICAgIGlmIChlcnIzKSB7XG4gICAgICAgICAgICBuZXh0KGxheWVyRXJyb3IgfHwgZXJyMyk7XG4gICAgICAgICAgfSBlbHNlIGlmIChyb3V0ZSkge1xuICAgICAgICAgICAgbGF5ZXIuaGFuZGxlUmVxdWVzdChyZXEsIHJlcywgbmV4dCk7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRyaW1QcmVmaXgobGF5ZXIsIGxheWVyRXJyb3IsIGxheWVyUGF0aCwgcGF0aCk7XG4gICAgICAgICAgfVxuICAgICAgICAgIHN5bmMgPSAwO1xuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICAgIGZ1bmN0aW9uIHRyaW1QcmVmaXgobGF5ZXIsIGxheWVyRXJyb3IsIGxheWVyUGF0aCwgcGF0aCkge1xuICAgICAgICBpZiAobGF5ZXJQYXRoLmxlbmd0aCAhPT0gMCkge1xuICAgICAgICAgIGlmIChsYXllclBhdGggIT09IHBhdGguc3Vic3RyaW5nKDAsIGxheWVyUGF0aC5sZW5ndGgpKSB7XG4gICAgICAgICAgICBuZXh0KGxheWVyRXJyb3IpO1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgIH1cbiAgICAgICAgICBjb25zdCBjID0gcGF0aFtsYXllclBhdGgubGVuZ3RoXTtcbiAgICAgICAgICBpZiAoYyAmJiBjICE9PSBcIi9cIikge1xuICAgICAgICAgICAgbmV4dChsYXllckVycm9yKTtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICB9XG4gICAgICAgICAgZGVidWcoXCJ0cmltIHByZWZpeCAoJXMpIGZyb20gdXJsICVzXCIsIGxheWVyUGF0aCwgcmVxLnVybCk7XG4gICAgICAgICAgcmVtb3ZlZCA9IGxheWVyUGF0aDtcbiAgICAgICAgICByZXEudXJsID0gcHJvdG9ob3N0ICsgcmVxLnVybC5zbGljZShwcm90b2hvc3QubGVuZ3RoICsgcmVtb3ZlZC5sZW5ndGgpO1xuICAgICAgICAgIGlmICghcHJvdG9ob3N0ICYmIHJlcS51cmxbMF0gIT09IFwiL1wiKSB7XG4gICAgICAgICAgICByZXEudXJsID0gXCIvXCIgKyByZXEudXJsO1xuICAgICAgICAgICAgc2xhc2hBZGRlZCA9IHRydWU7XG4gICAgICAgICAgfVxuICAgICAgICAgIHJlcS5iYXNlVXJsID0gcGFyZW50VXJsICsgKHJlbW92ZWRbcmVtb3ZlZC5sZW5ndGggLSAxXSA9PT0gXCIvXCIgPyByZW1vdmVkLnN1YnN0cmluZygwLCByZW1vdmVkLmxlbmd0aCAtIDEpIDogcmVtb3ZlZCk7XG4gICAgICAgIH1cbiAgICAgICAgZGVidWcoXCIlcyAlcyA6ICVzXCIsIGxheWVyLm5hbWUsIGxheWVyUGF0aCwgcmVxLm9yaWdpbmFsVXJsKTtcbiAgICAgICAgaWYgKGxheWVyRXJyb3IpIHtcbiAgICAgICAgICBsYXllci5oYW5kbGVFcnJvcihsYXllckVycm9yLCByZXEsIHJlcywgbmV4dCk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgbGF5ZXIuaGFuZGxlUmVxdWVzdChyZXEsIHJlcywgbmV4dCk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9O1xuICAgIFJvdXRlci5wcm90b3R5cGUudXNlID0gZnVuY3Rpb24gdXNlKGhhbmRsZXIpIHtcbiAgICAgIGxldCBvZmZzZXQgPSAwO1xuICAgICAgbGV0IHBhdGggPSBcIi9cIjtcbiAgICAgIGlmICh0eXBlb2YgaGFuZGxlciAhPT0gXCJmdW5jdGlvblwiKSB7XG4gICAgICAgIGxldCBhcmcgPSBoYW5kbGVyO1xuICAgICAgICB3aGlsZSAoQXJyYXkuaXNBcnJheShhcmcpICYmIGFyZy5sZW5ndGggIT09IDApIHtcbiAgICAgICAgICBhcmcgPSBhcmdbMF07XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHR5cGVvZiBhcmcgIT09IFwiZnVuY3Rpb25cIikge1xuICAgICAgICAgIG9mZnNldCA9IDE7XG4gICAgICAgICAgcGF0aCA9IGhhbmRsZXI7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIGNvbnN0IGNhbGxiYWNrcyA9IGZsYXR0ZW4uY2FsbChzbGljZS5jYWxsKGFyZ3VtZW50cywgb2Zmc2V0KSwgSW5maW5pdHkpO1xuICAgICAgaWYgKGNhbGxiYWNrcy5sZW5ndGggPT09IDApIHtcbiAgICAgICAgdGhyb3cgbmV3IFR5cGVFcnJvcihcImFyZ3VtZW50IGhhbmRsZXIgaXMgcmVxdWlyZWRcIik7XG4gICAgICB9XG4gICAgICBmb3IgKGxldCBpID0gMDsgaSA8IGNhbGxiYWNrcy5sZW5ndGg7IGkrKykge1xuICAgICAgICBjb25zdCBmbiA9IGNhbGxiYWNrc1tpXTtcbiAgICAgICAgaWYgKHR5cGVvZiBmbiAhPT0gXCJmdW5jdGlvblwiKSB7XG4gICAgICAgICAgdGhyb3cgbmV3IFR5cGVFcnJvcihcImFyZ3VtZW50IGhhbmRsZXIgbXVzdCBiZSBhIGZ1bmN0aW9uXCIpO1xuICAgICAgICB9XG4gICAgICAgIGRlYnVnKFwidXNlICVvICVzXCIsIHBhdGgsIGZuLm5hbWUgfHwgXCI8YW5vbnltb3VzPlwiKTtcbiAgICAgICAgY29uc3QgbGF5ZXIgPSBuZXcgTGF5ZXIocGF0aCwge1xuICAgICAgICAgIHNlbnNpdGl2ZTogdGhpcy5jYXNlU2Vuc2l0aXZlLFxuICAgICAgICAgIHN0cmljdDogZmFsc2UsXG4gICAgICAgICAgZW5kOiBmYWxzZVxuICAgICAgICB9LCBmbik7XG4gICAgICAgIGxheWVyLnJvdXRlID0gdm9pZCAwO1xuICAgICAgICB0aGlzLnN0YWNrLnB1c2gobGF5ZXIpO1xuICAgICAgfVxuICAgICAgcmV0dXJuIHRoaXM7XG4gICAgfTtcbiAgICBSb3V0ZXIucHJvdG90eXBlLnJvdXRlID0gZnVuY3Rpb24gcm91dGUocGF0aCkge1xuICAgICAgY29uc3Qgcm91dGUyID0gbmV3IFJvdXRlKHBhdGgpO1xuICAgICAgY29uc3QgbGF5ZXIgPSBuZXcgTGF5ZXIocGF0aCwge1xuICAgICAgICBzZW5zaXRpdmU6IHRoaXMuY2FzZVNlbnNpdGl2ZSxcbiAgICAgICAgc3RyaWN0OiB0aGlzLnN0cmljdCxcbiAgICAgICAgZW5kOiB0cnVlXG4gICAgICB9LCBoYW5kbGUpO1xuICAgICAgZnVuY3Rpb24gaGFuZGxlKHJlcSwgcmVzLCBuZXh0KSB7XG4gICAgICAgIHJvdXRlMi5kaXNwYXRjaChyZXEsIHJlcywgbmV4dCk7XG4gICAgICB9XG4gICAgICBsYXllci5yb3V0ZSA9IHJvdXRlMjtcbiAgICAgIHRoaXMuc3RhY2sucHVzaChsYXllcik7XG4gICAgICByZXR1cm4gcm91dGUyO1xuICAgIH07XG4gICAgbWV0aG9kcy5jb25jYXQoXCJhbGxcIikuZm9yRWFjaChmdW5jdGlvbihtZXRob2QpIHtcbiAgICAgIFJvdXRlci5wcm90b3R5cGVbbWV0aG9kXSA9IGZ1bmN0aW9uKHBhdGgpIHtcbiAgICAgICAgY29uc3Qgcm91dGUgPSB0aGlzLnJvdXRlKHBhdGgpO1xuICAgICAgICByb3V0ZVttZXRob2RdLmFwcGx5KHJvdXRlLCBzbGljZS5jYWxsKGFyZ3VtZW50cywgMSkpO1xuICAgICAgICByZXR1cm4gdGhpcztcbiAgICAgIH07XG4gICAgfSk7XG4gICAgZnVuY3Rpb24gZ2VuZXJhdGVPcHRpb25zUmVzcG9uZGVyKHJlcywgbWV0aG9kczIpIHtcbiAgICAgIHJldHVybiBmdW5jdGlvbiBvbkRvbmUoZm4sIGVycjIpIHtcbiAgICAgICAgaWYgKGVycjIgfHwgbWV0aG9kczIubGVuZ3RoID09PSAwKSB7XG4gICAgICAgICAgcmV0dXJuIGZuKGVycjIpO1xuICAgICAgICB9XG4gICAgICAgIHRyeVNlbmRPcHRpb25zUmVzcG9uc2UocmVzLCBtZXRob2RzMiwgZm4pO1xuICAgICAgfTtcbiAgICB9XG4gICAgZnVuY3Rpb24gZ2V0UGF0aG5hbWUocmVxKSB7XG4gICAgICB0cnkge1xuICAgICAgICByZXR1cm4gcGFyc2VVcmwocmVxKS5wYXRobmFtZTtcbiAgICAgIH0gY2F0Y2ggKGVycjIpIHtcbiAgICAgICAgcmV0dXJuIHZvaWQgMDtcbiAgICAgIH1cbiAgICB9XG4gICAgZnVuY3Rpb24gZ2V0UHJvdG9ob3N0KHVybCkge1xuICAgICAgaWYgKHR5cGVvZiB1cmwgIT09IFwic3RyaW5nXCIgfHwgdXJsLmxlbmd0aCA9PT0gMCB8fCB1cmxbMF0gPT09IFwiL1wiKSB7XG4gICAgICAgIHJldHVybiB2b2lkIDA7XG4gICAgICB9XG4gICAgICBjb25zdCBzZWFyY2hJbmRleCA9IHVybC5pbmRleE9mKFwiP1wiKTtcbiAgICAgIGNvbnN0IHBhdGhMZW5ndGggPSBzZWFyY2hJbmRleCAhPT0gLTEgPyBzZWFyY2hJbmRleCA6IHVybC5sZW5ndGg7XG4gICAgICBjb25zdCBmcWRuSW5kZXggPSB1cmwuc3Vic3RyaW5nKDAsIHBhdGhMZW5ndGgpLmluZGV4T2YoXCI6Ly9cIik7XG4gICAgICByZXR1cm4gZnFkbkluZGV4ICE9PSAtMSA/IHVybC5zdWJzdHJpbmcoMCwgdXJsLmluZGV4T2YoXCIvXCIsIDMgKyBmcWRuSW5kZXgpKSA6IHZvaWQgMDtcbiAgICB9XG4gICAgZnVuY3Rpb24gbWF0Y2hMYXllcihsYXllciwgcGF0aCkge1xuICAgICAgdHJ5IHtcbiAgICAgICAgcmV0dXJuIGxheWVyLm1hdGNoKHBhdGgpO1xuICAgICAgfSBjYXRjaCAoZXJyMikge1xuICAgICAgICByZXR1cm4gZXJyMjtcbiAgICAgIH1cbiAgICB9XG4gICAgZnVuY3Rpb24gbWVyZ2VQYXJhbXMocGFyYW1zLCBwYXJlbnQpIHtcbiAgICAgIGlmICh0eXBlb2YgcGFyZW50ICE9PSBcIm9iamVjdFwiIHx8ICFwYXJlbnQpIHtcbiAgICAgICAgcmV0dXJuIHBhcmFtcztcbiAgICAgIH1cbiAgICAgIGNvbnN0IG9iaiA9IE9iamVjdC5hc3NpZ24oe30sIHBhcmVudCk7XG4gICAgICBpZiAoISgwIGluIHBhcmFtcykgfHwgISgwIGluIHBhcmVudCkpIHtcbiAgICAgICAgcmV0dXJuIE9iamVjdC5hc3NpZ24ob2JqLCBwYXJhbXMpO1xuICAgICAgfVxuICAgICAgbGV0IGkgPSAwO1xuICAgICAgbGV0IG8gPSAwO1xuICAgICAgd2hpbGUgKGkgaW4gcGFyYW1zKSB7XG4gICAgICAgIGkrKztcbiAgICAgIH1cbiAgICAgIHdoaWxlIChvIGluIHBhcmVudCkge1xuICAgICAgICBvKys7XG4gICAgICB9XG4gICAgICBmb3IgKGktLTsgaSA+PSAwOyBpLS0pIHtcbiAgICAgICAgcGFyYW1zW2kgKyBvXSA9IHBhcmFtc1tpXTtcbiAgICAgICAgaWYgKGkgPCBvKSB7XG4gICAgICAgICAgZGVsZXRlIHBhcmFtc1tpXTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgcmV0dXJuIE9iamVjdC5hc3NpZ24ob2JqLCBwYXJhbXMpO1xuICAgIH1cbiAgICBmdW5jdGlvbiBwcm9jZXNzUGFyYW1zKHBhcmFtcywgbGF5ZXIsIGNhbGxlZCwgcmVxLCByZXMsIGRvbmUpIHtcbiAgICAgIGNvbnN0IGtleXMgPSBsYXllci5rZXlzO1xuICAgICAgaWYgKCFrZXlzIHx8IGtleXMubGVuZ3RoID09PSAwKSB7XG4gICAgICAgIHJldHVybiBkb25lKCk7XG4gICAgICB9XG4gICAgICBsZXQgaSA9IDA7XG4gICAgICBsZXQgcGFyYW1JbmRleCA9IDA7XG4gICAgICBsZXQga2V5O1xuICAgICAgbGV0IHBhcmFtVmFsO1xuICAgICAgbGV0IHBhcmFtQ2FsbGJhY2tzO1xuICAgICAgbGV0IHBhcmFtQ2FsbGVkO1xuICAgICAgZnVuY3Rpb24gcGFyYW0oZXJyMikge1xuICAgICAgICBpZiAoZXJyMikge1xuICAgICAgICAgIHJldHVybiBkb25lKGVycjIpO1xuICAgICAgICB9XG4gICAgICAgIGlmIChpID49IGtleXMubGVuZ3RoKSB7XG4gICAgICAgICAgcmV0dXJuIGRvbmUoKTtcbiAgICAgICAgfVxuICAgICAgICBwYXJhbUluZGV4ID0gMDtcbiAgICAgICAga2V5ID0ga2V5c1tpKytdO1xuICAgICAgICBwYXJhbVZhbCA9IHJlcS5wYXJhbXNba2V5XTtcbiAgICAgICAgcGFyYW1DYWxsYmFja3MgPSBwYXJhbXNba2V5XTtcbiAgICAgICAgcGFyYW1DYWxsZWQgPSBjYWxsZWRba2V5XTtcbiAgICAgICAgaWYgKHBhcmFtVmFsID09PSB2b2lkIDAgfHwgIXBhcmFtQ2FsbGJhY2tzKSB7XG4gICAgICAgICAgcmV0dXJuIHBhcmFtKCk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHBhcmFtQ2FsbGVkICYmIChwYXJhbUNhbGxlZC5tYXRjaCA9PT0gcGFyYW1WYWwgfHwgcGFyYW1DYWxsZWQuZXJyb3IgJiYgcGFyYW1DYWxsZWQuZXJyb3IgIT09IFwicm91dGVcIikpIHtcbiAgICAgICAgICByZXEucGFyYW1zW2tleV0gPSBwYXJhbUNhbGxlZC52YWx1ZTtcbiAgICAgICAgICByZXR1cm4gcGFyYW0ocGFyYW1DYWxsZWQuZXJyb3IpO1xuICAgICAgICB9XG4gICAgICAgIGNhbGxlZFtrZXldID0gcGFyYW1DYWxsZWQgPSB7XG4gICAgICAgICAgZXJyb3I6IG51bGwsXG4gICAgICAgICAgbWF0Y2g6IHBhcmFtVmFsLFxuICAgICAgICAgIHZhbHVlOiBwYXJhbVZhbFxuICAgICAgICB9O1xuICAgICAgICBwYXJhbUNhbGxiYWNrKCk7XG4gICAgICB9XG4gICAgICBmdW5jdGlvbiBwYXJhbUNhbGxiYWNrKGVycjIpIHtcbiAgICAgICAgY29uc3QgZm4gPSBwYXJhbUNhbGxiYWNrc1twYXJhbUluZGV4KytdO1xuICAgICAgICBwYXJhbUNhbGxlZC52YWx1ZSA9IHJlcS5wYXJhbXNba2V5XTtcbiAgICAgICAgaWYgKGVycjIpIHtcbiAgICAgICAgICBwYXJhbUNhbGxlZC5lcnJvciA9IGVycjI7XG4gICAgICAgICAgcGFyYW0oZXJyMik7XG4gICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIGlmICghZm4pIHJldHVybiBwYXJhbSgpO1xuICAgICAgICB0cnkge1xuICAgICAgICAgIGNvbnN0IHJldCA9IGZuKHJlcSwgcmVzLCBwYXJhbUNhbGxiYWNrLCBwYXJhbVZhbCwga2V5KTtcbiAgICAgICAgICBpZiAoaXNQcm9taXNlKHJldCkpIHtcbiAgICAgICAgICAgIGlmICghKHJldCBpbnN0YW5jZW9mIFByb21pc2UpKSB7XG4gICAgICAgICAgICAgIGRlcHJlY2F0ZShcInBhcmFtZXRlcnMgdGhhdCBhcmUgUHJvbWlzZS1saWtlIGFyZSBkZXByZWNhdGVkLCB1c2UgYSBuYXRpdmUgUHJvbWlzZSBpbnN0ZWFkXCIpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmV0LnRoZW4obnVsbCwgZnVuY3Rpb24oZXJyb3IpIHtcbiAgICAgICAgICAgICAgcGFyYW1DYWxsYmFjayhlcnJvciB8fCBuZXcgRXJyb3IoXCJSZWplY3RlZCBwcm9taXNlXCIpKTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgIH1cbiAgICAgICAgfSBjYXRjaCAoZSkge1xuICAgICAgICAgIHBhcmFtQ2FsbGJhY2soZSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIHBhcmFtKCk7XG4gICAgfVxuICAgIGZ1bmN0aW9uIHJlc3RvcmUoZm4sIG9iaikge1xuICAgICAgY29uc3QgcHJvcHMgPSBuZXcgQXJyYXkoYXJndW1lbnRzLmxlbmd0aCAtIDIpO1xuICAgICAgY29uc3QgdmFscyA9IG5ldyBBcnJheShhcmd1bWVudHMubGVuZ3RoIC0gMik7XG4gICAgICBmb3IgKGxldCBpID0gMDsgaSA8IHByb3BzLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgIHByb3BzW2ldID0gYXJndW1lbnRzW2kgKyAyXTtcbiAgICAgICAgdmFsc1tpXSA9IG9ialtwcm9wc1tpXV07XG4gICAgICB9XG4gICAgICByZXR1cm4gZnVuY3Rpb24oKSB7XG4gICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgcHJvcHMubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgICBvYmpbcHJvcHNbaV1dID0gdmFsc1tpXTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gZm4uYXBwbHkodGhpcywgYXJndW1lbnRzKTtcbiAgICAgIH07XG4gICAgfVxuICAgIGZ1bmN0aW9uIHNlbmRPcHRpb25zUmVzcG9uc2UocmVzLCBtZXRob2RzMikge1xuICAgICAgY29uc3Qgb3B0aW9ucyA9IC8qIEBfX1BVUkVfXyAqLyBPYmplY3QuY3JlYXRlKG51bGwpO1xuICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBtZXRob2RzMi5sZW5ndGg7IGkrKykge1xuICAgICAgICBvcHRpb25zW21ldGhvZHMyW2ldXSA9IHRydWU7XG4gICAgICB9XG4gICAgICBjb25zdCBhbGxvdyA9IE9iamVjdC5rZXlzKG9wdGlvbnMpLnNvcnQoKS5qb2luKFwiLCBcIik7XG4gICAgICByZXMuc2V0SGVhZGVyKFwiQWxsb3dcIiwgYWxsb3cpO1xuICAgICAgcmVzLnNldEhlYWRlcihcIkNvbnRlbnQtTGVuZ3RoXCIsIEJ1ZmZlci5ieXRlTGVuZ3RoKGFsbG93KSk7XG4gICAgICByZXMuc2V0SGVhZGVyKFwiQ29udGVudC1UeXBlXCIsIFwidGV4dC9wbGFpblwiKTtcbiAgICAgIHJlcy5zZXRIZWFkZXIoXCJYLUNvbnRlbnQtVHlwZS1PcHRpb25zXCIsIFwibm9zbmlmZlwiKTtcbiAgICAgIHJlcy5lbmQoYWxsb3cpO1xuICAgIH1cbiAgICBmdW5jdGlvbiB0cnlTZW5kT3B0aW9uc1Jlc3BvbnNlKHJlcywgbWV0aG9kczIsIG5leHQpIHtcbiAgICAgIHRyeSB7XG4gICAgICAgIHNlbmRPcHRpb25zUmVzcG9uc2UocmVzLCBtZXRob2RzMik7XG4gICAgICB9IGNhdGNoIChlcnIyKSB7XG4gICAgICAgIG5leHQoZXJyMik7XG4gICAgICB9XG4gICAgfVxuICAgIGZ1bmN0aW9uIHdyYXAob2xkLCBmbikge1xuICAgICAgcmV0dXJuIGZ1bmN0aW9uIHByb3h5KCkge1xuICAgICAgICBjb25zdCBhcmdzID0gbmV3IEFycmF5KGFyZ3VtZW50cy5sZW5ndGggKyAxKTtcbiAgICAgICAgYXJnc1swXSA9IG9sZDtcbiAgICAgICAgZm9yIChsZXQgaSA9IDAsIGxlbiA9IGFyZ3VtZW50cy5sZW5ndGg7IGkgPCBsZW47IGkrKykge1xuICAgICAgICAgIGFyZ3NbaSArIDFdID0gYXJndW1lbnRzW2ldO1xuICAgICAgICB9XG4gICAgICAgIGZuLmFwcGx5KHRoaXMsIGFyZ3MpO1xuICAgICAgfTtcbiAgICB9XG4gIH1cbn0pO1xuXG4vLyBub2RlX21vZHVsZXMvZXhwcmVzcy9saWIvYXBwbGljYXRpb24uanNcbnZhciByZXF1aXJlX2FwcGxpY2F0aW9uID0gX19jb21tb25KUyh7XG4gIFwibm9kZV9tb2R1bGVzL2V4cHJlc3MvbGliL2FwcGxpY2F0aW9uLmpzXCIoZXhwb3J0czIsIG1vZHVsZTIpIHtcbiAgICBcInVzZSBzdHJpY3RcIjtcbiAgICB2YXIgZmluYWxoYW5kbGVyID0gcmVxdWlyZV9maW5hbGhhbmRsZXIoKTtcbiAgICB2YXIgZGVidWcgPSByZXF1aXJlX3NyYygpKFwiZXhwcmVzczphcHBsaWNhdGlvblwiKTtcbiAgICB2YXIgVmlldyA9IHJlcXVpcmVfdmlldygpO1xuICAgIHZhciBodHRwID0gcmVxdWlyZShcIm5vZGU6aHR0cFwiKTtcbiAgICB2YXIgbWV0aG9kcyA9IHJlcXVpcmVfdXRpbHMzKCkubWV0aG9kcztcbiAgICB2YXIgY29tcGlsZUVUYWcgPSByZXF1aXJlX3V0aWxzMygpLmNvbXBpbGVFVGFnO1xuICAgIHZhciBjb21waWxlUXVlcnlQYXJzZXIgPSByZXF1aXJlX3V0aWxzMygpLmNvbXBpbGVRdWVyeVBhcnNlcjtcbiAgICB2YXIgY29tcGlsZVRydXN0ID0gcmVxdWlyZV91dGlsczMoKS5jb21waWxlVHJ1c3Q7XG4gICAgdmFyIHJlc29sdmUgPSByZXF1aXJlKFwibm9kZTpwYXRoXCIpLnJlc29sdmU7XG4gICAgdmFyIG9uY2UgPSByZXF1aXJlX29uY2UoKTtcbiAgICB2YXIgUm91dGVyID0gcmVxdWlyZV9yb3V0ZXIoKTtcbiAgICB2YXIgc2xpY2UgPSBBcnJheS5wcm90b3R5cGUuc2xpY2U7XG4gICAgdmFyIGZsYXR0ZW4gPSBBcnJheS5wcm90b3R5cGUuZmxhdDtcbiAgICB2YXIgYXBwID0gZXhwb3J0czIgPSBtb2R1bGUyLmV4cG9ydHMgPSB7fTtcbiAgICB2YXIgdHJ1c3RQcm94eURlZmF1bHRTeW1ib2wgPSBcIkBAc3ltYm9sOnRydXN0X3Byb3h5X2RlZmF1bHRcIjtcbiAgICBhcHAuaW5pdCA9IGZ1bmN0aW9uIGluaXQoKSB7XG4gICAgICB2YXIgcm91dGVyID0gbnVsbDtcbiAgICAgIHRoaXMuY2FjaGUgPSAvKiBAX19QVVJFX18gKi8gT2JqZWN0LmNyZWF0ZShudWxsKTtcbiAgICAgIHRoaXMuZW5naW5lcyA9IC8qIEBfX1BVUkVfXyAqLyBPYmplY3QuY3JlYXRlKG51bGwpO1xuICAgICAgdGhpcy5zZXR0aW5ncyA9IC8qIEBfX1BVUkVfXyAqLyBPYmplY3QuY3JlYXRlKG51bGwpO1xuICAgICAgdGhpcy5kZWZhdWx0Q29uZmlndXJhdGlvbigpO1xuICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHRoaXMsIFwicm91dGVyXCIsIHtcbiAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlLFxuICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLFxuICAgICAgICBnZXQ6IGZ1bmN0aW9uIGdldHJvdXRlcigpIHtcbiAgICAgICAgICBpZiAocm91dGVyID09PSBudWxsKSB7XG4gICAgICAgICAgICByb3V0ZXIgPSBuZXcgUm91dGVyKHtcbiAgICAgICAgICAgICAgY2FzZVNlbnNpdGl2ZTogdGhpcy5lbmFibGVkKFwiY2FzZSBzZW5zaXRpdmUgcm91dGluZ1wiKSxcbiAgICAgICAgICAgICAgc3RyaWN0OiB0aGlzLmVuYWJsZWQoXCJzdHJpY3Qgcm91dGluZ1wiKVxuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgfVxuICAgICAgICAgIHJldHVybiByb3V0ZXI7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgIH07XG4gICAgYXBwLmRlZmF1bHRDb25maWd1cmF0aW9uID0gZnVuY3Rpb24gZGVmYXVsdENvbmZpZ3VyYXRpb24oKSB7XG4gICAgICB2YXIgZW52ID0gcHJvY2Vzcy5lbnYuTk9ERV9FTlYgfHwgXCJkZXZlbG9wbWVudFwiO1xuICAgICAgdGhpcy5lbmFibGUoXCJ4LXBvd2VyZWQtYnlcIik7XG4gICAgICB0aGlzLnNldChcImV0YWdcIiwgXCJ3ZWFrXCIpO1xuICAgICAgdGhpcy5zZXQoXCJlbnZcIiwgZW52KTtcbiAgICAgIHRoaXMuc2V0KFwicXVlcnkgcGFyc2VyXCIsIFwic2ltcGxlXCIpO1xuICAgICAgdGhpcy5zZXQoXCJzdWJkb21haW4gb2Zmc2V0XCIsIDIpO1xuICAgICAgdGhpcy5zZXQoXCJ0cnVzdCBwcm94eVwiLCBmYWxzZSk7XG4gICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkodGhpcy5zZXR0aW5ncywgdHJ1c3RQcm94eURlZmF1bHRTeW1ib2wsIHtcbiAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlLFxuICAgICAgICB2YWx1ZTogdHJ1ZVxuICAgICAgfSk7XG4gICAgICBkZWJ1ZyhcImJvb3RpbmcgaW4gJXMgbW9kZVwiLCBlbnYpO1xuICAgICAgdGhpcy5vbihcIm1vdW50XCIsIGZ1bmN0aW9uIG9ubW91bnQocGFyZW50KSB7XG4gICAgICAgIGlmICh0aGlzLnNldHRpbmdzW3RydXN0UHJveHlEZWZhdWx0U3ltYm9sXSA9PT0gdHJ1ZSAmJiB0eXBlb2YgcGFyZW50LnNldHRpbmdzW1widHJ1c3QgcHJveHkgZm5cIl0gPT09IFwiZnVuY3Rpb25cIikge1xuICAgICAgICAgIGRlbGV0ZSB0aGlzLnNldHRpbmdzW1widHJ1c3QgcHJveHlcIl07XG4gICAgICAgICAgZGVsZXRlIHRoaXMuc2V0dGluZ3NbXCJ0cnVzdCBwcm94eSBmblwiXTtcbiAgICAgICAgfVxuICAgICAgICBPYmplY3Quc2V0UHJvdG90eXBlT2YodGhpcy5yZXF1ZXN0LCBwYXJlbnQucmVxdWVzdCk7XG4gICAgICAgIE9iamVjdC5zZXRQcm90b3R5cGVPZih0aGlzLnJlc3BvbnNlLCBwYXJlbnQucmVzcG9uc2UpO1xuICAgICAgICBPYmplY3Quc2V0UHJvdG90eXBlT2YodGhpcy5lbmdpbmVzLCBwYXJlbnQuZW5naW5lcyk7XG4gICAgICAgIE9iamVjdC5zZXRQcm90b3R5cGVPZih0aGlzLnNldHRpbmdzLCBwYXJlbnQuc2V0dGluZ3MpO1xuICAgICAgfSk7XG4gICAgICB0aGlzLmxvY2FscyA9IC8qIEBfX1BVUkVfXyAqLyBPYmplY3QuY3JlYXRlKG51bGwpO1xuICAgICAgdGhpcy5tb3VudHBhdGggPSBcIi9cIjtcbiAgICAgIHRoaXMubG9jYWxzLnNldHRpbmdzID0gdGhpcy5zZXR0aW5ncztcbiAgICAgIHRoaXMuc2V0KFwidmlld1wiLCBWaWV3KTtcbiAgICAgIHRoaXMuc2V0KFwidmlld3NcIiwgcmVzb2x2ZShcInZpZXdzXCIpKTtcbiAgICAgIHRoaXMuc2V0KFwianNvbnAgY2FsbGJhY2sgbmFtZVwiLCBcImNhbGxiYWNrXCIpO1xuICAgICAgaWYgKGVudiA9PT0gXCJwcm9kdWN0aW9uXCIpIHtcbiAgICAgICAgdGhpcy5lbmFibGUoXCJ2aWV3IGNhY2hlXCIpO1xuICAgICAgfVxuICAgIH07XG4gICAgYXBwLmhhbmRsZSA9IGZ1bmN0aW9uIGhhbmRsZShyZXEsIHJlcywgY2FsbGJhY2spIHtcbiAgICAgIHZhciBkb25lID0gY2FsbGJhY2sgfHwgZmluYWxoYW5kbGVyKHJlcSwgcmVzLCB7XG4gICAgICAgIGVudjogdGhpcy5nZXQoXCJlbnZcIiksXG4gICAgICAgIG9uZXJyb3I6IGxvZ2Vycm9yLmJpbmQodGhpcylcbiAgICAgIH0pO1xuICAgICAgaWYgKHRoaXMuZW5hYmxlZChcIngtcG93ZXJlZC1ieVwiKSkge1xuICAgICAgICByZXMuc2V0SGVhZGVyKFwiWC1Qb3dlcmVkLUJ5XCIsIFwiRXhwcmVzc1wiKTtcbiAgICAgIH1cbiAgICAgIHJlcS5yZXMgPSByZXM7XG4gICAgICByZXMucmVxID0gcmVxO1xuICAgICAgT2JqZWN0LnNldFByb3RvdHlwZU9mKHJlcSwgdGhpcy5yZXF1ZXN0KTtcbiAgICAgIE9iamVjdC5zZXRQcm90b3R5cGVPZihyZXMsIHRoaXMucmVzcG9uc2UpO1xuICAgICAgaWYgKCFyZXMubG9jYWxzKSB7XG4gICAgICAgIHJlcy5sb2NhbHMgPSAvKiBAX19QVVJFX18gKi8gT2JqZWN0LmNyZWF0ZShudWxsKTtcbiAgICAgIH1cbiAgICAgIHRoaXMucm91dGVyLmhhbmRsZShyZXEsIHJlcywgZG9uZSk7XG4gICAgfTtcbiAgICBhcHAudXNlID0gZnVuY3Rpb24gdXNlKGZuKSB7XG4gICAgICB2YXIgb2Zmc2V0ID0gMDtcbiAgICAgIHZhciBwYXRoID0gXCIvXCI7XG4gICAgICBpZiAodHlwZW9mIGZuICE9PSBcImZ1bmN0aW9uXCIpIHtcbiAgICAgICAgdmFyIGFyZyA9IGZuO1xuICAgICAgICB3aGlsZSAoQXJyYXkuaXNBcnJheShhcmcpICYmIGFyZy5sZW5ndGggIT09IDApIHtcbiAgICAgICAgICBhcmcgPSBhcmdbMF07XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHR5cGVvZiBhcmcgIT09IFwiZnVuY3Rpb25cIikge1xuICAgICAgICAgIG9mZnNldCA9IDE7XG4gICAgICAgICAgcGF0aCA9IGZuO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICB2YXIgZm5zID0gZmxhdHRlbi5jYWxsKHNsaWNlLmNhbGwoYXJndW1lbnRzLCBvZmZzZXQpLCBJbmZpbml0eSk7XG4gICAgICBpZiAoZm5zLmxlbmd0aCA9PT0gMCkge1xuICAgICAgICB0aHJvdyBuZXcgVHlwZUVycm9yKFwiYXBwLnVzZSgpIHJlcXVpcmVzIGEgbWlkZGxld2FyZSBmdW5jdGlvblwiKTtcbiAgICAgIH1cbiAgICAgIHZhciByb3V0ZXIgPSB0aGlzLnJvdXRlcjtcbiAgICAgIGZucy5mb3JFYWNoKGZ1bmN0aW9uKGZuMikge1xuICAgICAgICBpZiAoIWZuMiB8fCAhZm4yLmhhbmRsZSB8fCAhZm4yLnNldCkge1xuICAgICAgICAgIHJldHVybiByb3V0ZXIudXNlKHBhdGgsIGZuMik7XG4gICAgICAgIH1cbiAgICAgICAgZGVidWcoXCIudXNlIGFwcCB1bmRlciAlc1wiLCBwYXRoKTtcbiAgICAgICAgZm4yLm1vdW50cGF0aCA9IHBhdGg7XG4gICAgICAgIGZuMi5wYXJlbnQgPSB0aGlzO1xuICAgICAgICByb3V0ZXIudXNlKHBhdGgsIGZ1bmN0aW9uIG1vdW50ZWRfYXBwKHJlcSwgcmVzLCBuZXh0KSB7XG4gICAgICAgICAgdmFyIG9yaWcgPSByZXEuYXBwO1xuICAgICAgICAgIGZuMi5oYW5kbGUocmVxLCByZXMsIGZ1bmN0aW9uKGVycjIpIHtcbiAgICAgICAgICAgIE9iamVjdC5zZXRQcm90b3R5cGVPZihyZXEsIG9yaWcucmVxdWVzdCk7XG4gICAgICAgICAgICBPYmplY3Quc2V0UHJvdG90eXBlT2YocmVzLCBvcmlnLnJlc3BvbnNlKTtcbiAgICAgICAgICAgIG5leHQoZXJyMik7XG4gICAgICAgICAgfSk7XG4gICAgICAgIH0pO1xuICAgICAgICBmbjIuZW1pdChcIm1vdW50XCIsIHRoaXMpO1xuICAgICAgfSwgdGhpcyk7XG4gICAgICByZXR1cm4gdGhpcztcbiAgICB9O1xuICAgIGFwcC5yb3V0ZSA9IGZ1bmN0aW9uIHJvdXRlKHBhdGgpIHtcbiAgICAgIHJldHVybiB0aGlzLnJvdXRlci5yb3V0ZShwYXRoKTtcbiAgICB9O1xuICAgIGFwcC5lbmdpbmUgPSBmdW5jdGlvbiBlbmdpbmUoZXh0LCBmbikge1xuICAgICAgaWYgKHR5cGVvZiBmbiAhPT0gXCJmdW5jdGlvblwiKSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihcImNhbGxiYWNrIGZ1bmN0aW9uIHJlcXVpcmVkXCIpO1xuICAgICAgfVxuICAgICAgdmFyIGV4dGVuc2lvbiA9IGV4dFswXSAhPT0gXCIuXCIgPyBcIi5cIiArIGV4dCA6IGV4dDtcbiAgICAgIHRoaXMuZW5naW5lc1tleHRlbnNpb25dID0gZm47XG4gICAgICByZXR1cm4gdGhpcztcbiAgICB9O1xuICAgIGFwcC5wYXJhbSA9IGZ1bmN0aW9uIHBhcmFtKG5hbWUsIGZuKSB7XG4gICAgICBpZiAoQXJyYXkuaXNBcnJheShuYW1lKSkge1xuICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IG5hbWUubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgICB0aGlzLnBhcmFtKG5hbWVbaV0sIGZuKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gdGhpcztcbiAgICAgIH1cbiAgICAgIHRoaXMucm91dGVyLnBhcmFtKG5hbWUsIGZuKTtcbiAgICAgIHJldHVybiB0aGlzO1xuICAgIH07XG4gICAgYXBwLnNldCA9IGZ1bmN0aW9uIHNldChzZXR0aW5nLCB2YWwpIHtcbiAgICAgIGlmIChhcmd1bWVudHMubGVuZ3RoID09PSAxKSB7XG4gICAgICAgIHJldHVybiB0aGlzLnNldHRpbmdzW3NldHRpbmddO1xuICAgICAgfVxuICAgICAgZGVidWcoJ3NldCBcIiVzXCIgdG8gJW8nLCBzZXR0aW5nLCB2YWwpO1xuICAgICAgdGhpcy5zZXR0aW5nc1tzZXR0aW5nXSA9IHZhbDtcbiAgICAgIHN3aXRjaCAoc2V0dGluZykge1xuICAgICAgICBjYXNlIFwiZXRhZ1wiOlxuICAgICAgICAgIHRoaXMuc2V0KFwiZXRhZyBmblwiLCBjb21waWxlRVRhZyh2YWwpKTtcbiAgICAgICAgICBicmVhaztcbiAgICAgICAgY2FzZSBcInF1ZXJ5IHBhcnNlclwiOlxuICAgICAgICAgIHRoaXMuc2V0KFwicXVlcnkgcGFyc2VyIGZuXCIsIGNvbXBpbGVRdWVyeVBhcnNlcih2YWwpKTtcbiAgICAgICAgICBicmVhaztcbiAgICAgICAgY2FzZSBcInRydXN0IHByb3h5XCI6XG4gICAgICAgICAgdGhpcy5zZXQoXCJ0cnVzdCBwcm94eSBmblwiLCBjb21waWxlVHJ1c3QodmFsKSk7XG4gICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHRoaXMuc2V0dGluZ3MsIHRydXN0UHJveHlEZWZhdWx0U3ltYm9sLCB7XG4gICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUsXG4gICAgICAgICAgICB2YWx1ZTogZmFsc2VcbiAgICAgICAgICB9KTtcbiAgICAgICAgICBicmVhaztcbiAgICAgIH1cbiAgICAgIHJldHVybiB0aGlzO1xuICAgIH07XG4gICAgYXBwLnBhdGggPSBmdW5jdGlvbiBwYXRoKCkge1xuICAgICAgcmV0dXJuIHRoaXMucGFyZW50ID8gdGhpcy5wYXJlbnQucGF0aCgpICsgdGhpcy5tb3VudHBhdGggOiBcIlwiO1xuICAgIH07XG4gICAgYXBwLmVuYWJsZWQgPSBmdW5jdGlvbiBlbmFibGVkKHNldHRpbmcpIHtcbiAgICAgIHJldHVybiBCb29sZWFuKHRoaXMuc2V0KHNldHRpbmcpKTtcbiAgICB9O1xuICAgIGFwcC5kaXNhYmxlZCA9IGZ1bmN0aW9uIGRpc2FibGVkKHNldHRpbmcpIHtcbiAgICAgIHJldHVybiAhdGhpcy5zZXQoc2V0dGluZyk7XG4gICAgfTtcbiAgICBhcHAuZW5hYmxlID0gZnVuY3Rpb24gZW5hYmxlKHNldHRpbmcpIHtcbiAgICAgIHJldHVybiB0aGlzLnNldChzZXR0aW5nLCB0cnVlKTtcbiAgICB9O1xuICAgIGFwcC5kaXNhYmxlID0gZnVuY3Rpb24gZGlzYWJsZShzZXR0aW5nKSB7XG4gICAgICByZXR1cm4gdGhpcy5zZXQoc2V0dGluZywgZmFsc2UpO1xuICAgIH07XG4gICAgbWV0aG9kcy5mb3JFYWNoKGZ1bmN0aW9uKG1ldGhvZCkge1xuICAgICAgYXBwW21ldGhvZF0gPSBmdW5jdGlvbihwYXRoKSB7XG4gICAgICAgIGlmIChtZXRob2QgPT09IFwiZ2V0XCIgJiYgYXJndW1lbnRzLmxlbmd0aCA9PT0gMSkge1xuICAgICAgICAgIHJldHVybiB0aGlzLnNldChwYXRoKTtcbiAgICAgICAgfVxuICAgICAgICB2YXIgcm91dGUgPSB0aGlzLnJvdXRlKHBhdGgpO1xuICAgICAgICByb3V0ZVttZXRob2RdLmFwcGx5KHJvdXRlLCBzbGljZS5jYWxsKGFyZ3VtZW50cywgMSkpO1xuICAgICAgICByZXR1cm4gdGhpcztcbiAgICAgIH07XG4gICAgfSk7XG4gICAgYXBwLmFsbCA9IGZ1bmN0aW9uIGFsbChwYXRoKSB7XG4gICAgICB2YXIgcm91dGUgPSB0aGlzLnJvdXRlKHBhdGgpO1xuICAgICAgdmFyIGFyZ3MgPSBzbGljZS5jYWxsKGFyZ3VtZW50cywgMSk7XG4gICAgICBmb3IgKHZhciBpID0gMDsgaSA8IG1ldGhvZHMubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgcm91dGVbbWV0aG9kc1tpXV0uYXBwbHkocm91dGUsIGFyZ3MpO1xuICAgICAgfVxuICAgICAgcmV0dXJuIHRoaXM7XG4gICAgfTtcbiAgICBhcHAucmVuZGVyID0gZnVuY3Rpb24gcmVuZGVyKG5hbWUsIG9wdGlvbnMsIGNhbGxiYWNrKSB7XG4gICAgICB2YXIgY2FjaGUgPSB0aGlzLmNhY2hlO1xuICAgICAgdmFyIGRvbmUgPSBjYWxsYmFjaztcbiAgICAgIHZhciBlbmdpbmVzID0gdGhpcy5lbmdpbmVzO1xuICAgICAgdmFyIG9wdHMgPSBvcHRpb25zO1xuICAgICAgdmFyIHZpZXc7XG4gICAgICBpZiAodHlwZW9mIG9wdGlvbnMgPT09IFwiZnVuY3Rpb25cIikge1xuICAgICAgICBkb25lID0gb3B0aW9ucztcbiAgICAgICAgb3B0cyA9IHt9O1xuICAgICAgfVxuICAgICAgdmFyIHJlbmRlck9wdGlvbnMgPSB7IC4uLnRoaXMubG9jYWxzLCAuLi5vcHRzLl9sb2NhbHMsIC4uLm9wdHMgfTtcbiAgICAgIGlmIChyZW5kZXJPcHRpb25zLmNhY2hlID09IG51bGwpIHtcbiAgICAgICAgcmVuZGVyT3B0aW9ucy5jYWNoZSA9IHRoaXMuZW5hYmxlZChcInZpZXcgY2FjaGVcIik7XG4gICAgICB9XG4gICAgICBpZiAocmVuZGVyT3B0aW9ucy5jYWNoZSkge1xuICAgICAgICB2aWV3ID0gY2FjaGVbbmFtZV07XG4gICAgICB9XG4gICAgICBpZiAoIXZpZXcpIHtcbiAgICAgICAgdmFyIFZpZXcyID0gdGhpcy5nZXQoXCJ2aWV3XCIpO1xuICAgICAgICB2aWV3ID0gbmV3IFZpZXcyKG5hbWUsIHtcbiAgICAgICAgICBkZWZhdWx0RW5naW5lOiB0aGlzLmdldChcInZpZXcgZW5naW5lXCIpLFxuICAgICAgICAgIHJvb3Q6IHRoaXMuZ2V0KFwidmlld3NcIiksXG4gICAgICAgICAgZW5naW5lc1xuICAgICAgICB9KTtcbiAgICAgICAgaWYgKCF2aWV3LnBhdGgpIHtcbiAgICAgICAgICB2YXIgZGlycyA9IEFycmF5LmlzQXJyYXkodmlldy5yb290KSAmJiB2aWV3LnJvb3QubGVuZ3RoID4gMSA/ICdkaXJlY3RvcmllcyBcIicgKyB2aWV3LnJvb3Quc2xpY2UoMCwgLTEpLmpvaW4oJ1wiLCBcIicpICsgJ1wiIG9yIFwiJyArIHZpZXcucm9vdFt2aWV3LnJvb3QubGVuZ3RoIC0gMV0gKyAnXCInIDogJ2RpcmVjdG9yeSBcIicgKyB2aWV3LnJvb3QgKyAnXCInO1xuICAgICAgICAgIHZhciBlcnIyID0gbmV3IEVycm9yKCdGYWlsZWQgdG8gbG9va3VwIHZpZXcgXCInICsgbmFtZSArICdcIiBpbiB2aWV3cyAnICsgZGlycyk7XG4gICAgICAgICAgZXJyMi52aWV3ID0gdmlldztcbiAgICAgICAgICByZXR1cm4gZG9uZShlcnIyKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAocmVuZGVyT3B0aW9ucy5jYWNoZSkge1xuICAgICAgICAgIGNhY2hlW25hbWVdID0gdmlldztcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgdHJ5UmVuZGVyKHZpZXcsIHJlbmRlck9wdGlvbnMsIGRvbmUpO1xuICAgIH07XG4gICAgYXBwLmxpc3RlbiA9IGZ1bmN0aW9uIGxpc3RlbigpIHtcbiAgICAgIHZhciBzZXJ2ZXIgPSBodHRwLmNyZWF0ZVNlcnZlcih0aGlzKTtcbiAgICAgIHZhciBhcmdzID0gQXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwoYXJndW1lbnRzKTtcbiAgICAgIGlmICh0eXBlb2YgYXJnc1thcmdzLmxlbmd0aCAtIDFdID09PSBcImZ1bmN0aW9uXCIpIHtcbiAgICAgICAgdmFyIGRvbmUgPSBhcmdzW2FyZ3MubGVuZ3RoIC0gMV0gPSBvbmNlKGFyZ3NbYXJncy5sZW5ndGggLSAxXSk7XG4gICAgICAgIHNlcnZlci5vbmNlKFwiZXJyb3JcIiwgZG9uZSk7XG4gICAgICB9XG4gICAgICByZXR1cm4gc2VydmVyLmxpc3Rlbi5hcHBseShzZXJ2ZXIsIGFyZ3MpO1xuICAgIH07XG4gICAgZnVuY3Rpb24gbG9nZXJyb3IoZXJyMikge1xuICAgICAgaWYgKHRoaXMuZ2V0KFwiZW52XCIpICE9PSBcInRlc3RcIikgY29uc29sZS5lcnJvcihlcnIyLnN0YWNrIHx8IGVycjIudG9TdHJpbmcoKSk7XG4gICAgfVxuICAgIGZ1bmN0aW9uIHRyeVJlbmRlcih2aWV3LCBvcHRpb25zLCBjYWxsYmFjaykge1xuICAgICAgdHJ5IHtcbiAgICAgICAgdmlldy5yZW5kZXIob3B0aW9ucywgY2FsbGJhY2spO1xuICAgICAgfSBjYXRjaCAoZXJyMikge1xuICAgICAgICBjYWxsYmFjayhlcnIyKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn0pO1xuXG4vLyBub2RlX21vZHVsZXMvbmVnb3RpYXRvci9saWIvY2hhcnNldC5qc1xudmFyIHJlcXVpcmVfY2hhcnNldCA9IF9fY29tbW9uSlMoe1xuICBcIm5vZGVfbW9kdWxlcy9uZWdvdGlhdG9yL2xpYi9jaGFyc2V0LmpzXCIoZXhwb3J0czIsIG1vZHVsZTIpIHtcbiAgICBcInVzZSBzdHJpY3RcIjtcbiAgICBtb2R1bGUyLmV4cG9ydHMgPSBwcmVmZXJyZWRDaGFyc2V0cztcbiAgICBtb2R1bGUyLmV4cG9ydHMucHJlZmVycmVkQ2hhcnNldHMgPSBwcmVmZXJyZWRDaGFyc2V0cztcbiAgICB2YXIgc2ltcGxlQ2hhcnNldFJlZ0V4cCA9IC9eXFxzKihbXlxccztdKylcXHMqKD86OyguKikpPyQvO1xuICAgIGZ1bmN0aW9uIHBhcnNlQWNjZXB0Q2hhcnNldChhY2NlcHQpIHtcbiAgICAgIHZhciBhY2NlcHRzID0gYWNjZXB0LnNwbGl0KFwiLFwiKTtcbiAgICAgIGZvciAodmFyIGkgPSAwLCBqID0gMDsgaSA8IGFjY2VwdHMubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgdmFyIGNoYXJzZXQgPSBwYXJzZUNoYXJzZXQoYWNjZXB0c1tpXS50cmltKCksIGkpO1xuICAgICAgICBpZiAoY2hhcnNldCkge1xuICAgICAgICAgIGFjY2VwdHNbaisrXSA9IGNoYXJzZXQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIGFjY2VwdHMubGVuZ3RoID0gajtcbiAgICAgIHJldHVybiBhY2NlcHRzO1xuICAgIH1cbiAgICBmdW5jdGlvbiBwYXJzZUNoYXJzZXQoc3RyLCBpKSB7XG4gICAgICB2YXIgbWF0Y2ggPSBzaW1wbGVDaGFyc2V0UmVnRXhwLmV4ZWMoc3RyKTtcbiAgICAgIGlmICghbWF0Y2gpIHJldHVybiBudWxsO1xuICAgICAgdmFyIGNoYXJzZXQgPSBtYXRjaFsxXTtcbiAgICAgIHZhciBxID0gMTtcbiAgICAgIGlmIChtYXRjaFsyXSkge1xuICAgICAgICB2YXIgcGFyYW1zID0gbWF0Y2hbMl0uc3BsaXQoXCI7XCIpO1xuICAgICAgICBmb3IgKHZhciBqID0gMDsgaiA8IHBhcmFtcy5sZW5ndGg7IGorKykge1xuICAgICAgICAgIHZhciBwID0gcGFyYW1zW2pdLnRyaW0oKS5zcGxpdChcIj1cIik7XG4gICAgICAgICAgaWYgKHBbMF0gPT09IFwicVwiKSB7XG4gICAgICAgICAgICBxID0gcGFyc2VGbG9hdChwWzFdKTtcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgcmV0dXJuIHtcbiAgICAgICAgY2hhcnNldCxcbiAgICAgICAgcSxcbiAgICAgICAgaVxuICAgICAgfTtcbiAgICB9XG4gICAgZnVuY3Rpb24gZ2V0Q2hhcnNldFByaW9yaXR5KGNoYXJzZXQsIGFjY2VwdGVkLCBpbmRleCkge1xuICAgICAgdmFyIHByaW9yaXR5ID0geyBvOiAtMSwgcTogMCwgczogMCB9O1xuICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBhY2NlcHRlZC5sZW5ndGg7IGkrKykge1xuICAgICAgICB2YXIgc3BlYyA9IHNwZWNpZnkoY2hhcnNldCwgYWNjZXB0ZWRbaV0sIGluZGV4KTtcbiAgICAgICAgaWYgKHNwZWMgJiYgKHByaW9yaXR5LnMgLSBzcGVjLnMgfHwgcHJpb3JpdHkucSAtIHNwZWMucSB8fCBwcmlvcml0eS5vIC0gc3BlYy5vKSA8IDApIHtcbiAgICAgICAgICBwcmlvcml0eSA9IHNwZWM7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIHJldHVybiBwcmlvcml0eTtcbiAgICB9XG4gICAgZnVuY3Rpb24gc3BlY2lmeShjaGFyc2V0LCBzcGVjLCBpbmRleCkge1xuICAgICAgdmFyIHMgPSAwO1xuICAgICAgaWYgKHNwZWMuY2hhcnNldC50b0xvd2VyQ2FzZSgpID09PSBjaGFyc2V0LnRvTG93ZXJDYXNlKCkpIHtcbiAgICAgICAgcyB8PSAxO1xuICAgICAgfSBlbHNlIGlmIChzcGVjLmNoYXJzZXQgIT09IFwiKlwiKSB7XG4gICAgICAgIHJldHVybiBudWxsO1xuICAgICAgfVxuICAgICAgcmV0dXJuIHtcbiAgICAgICAgaTogaW5kZXgsXG4gICAgICAgIG86IHNwZWMuaSxcbiAgICAgICAgcTogc3BlYy5xLFxuICAgICAgICBzXG4gICAgICB9O1xuICAgIH1cbiAgICBmdW5jdGlvbiBwcmVmZXJyZWRDaGFyc2V0cyhhY2NlcHQsIHByb3ZpZGVkKSB7XG4gICAgICB2YXIgYWNjZXB0cyA9IHBhcnNlQWNjZXB0Q2hhcnNldChhY2NlcHQgPT09IHZvaWQgMCA/IFwiKlwiIDogYWNjZXB0IHx8IFwiXCIpO1xuICAgICAgaWYgKCFwcm92aWRlZCkge1xuICAgICAgICByZXR1cm4gYWNjZXB0cy5maWx0ZXIoaXNRdWFsaXR5KS5zb3J0KGNvbXBhcmVTcGVjcykubWFwKGdldEZ1bGxDaGFyc2V0KTtcbiAgICAgIH1cbiAgICAgIHZhciBwcmlvcml0aWVzID0gcHJvdmlkZWQubWFwKGZ1bmN0aW9uIGdldFByaW9yaXR5KHR5cGUsIGluZGV4KSB7XG4gICAgICAgIHJldHVybiBnZXRDaGFyc2V0UHJpb3JpdHkodHlwZSwgYWNjZXB0cywgaW5kZXgpO1xuICAgICAgfSk7XG4gICAgICByZXR1cm4gcHJpb3JpdGllcy5maWx0ZXIoaXNRdWFsaXR5KS5zb3J0KGNvbXBhcmVTcGVjcykubWFwKGZ1bmN0aW9uIGdldENoYXJzZXQocHJpb3JpdHkpIHtcbiAgICAgICAgcmV0dXJuIHByb3ZpZGVkW3ByaW9yaXRpZXMuaW5kZXhPZihwcmlvcml0eSldO1xuICAgICAgfSk7XG4gICAgfVxuICAgIGZ1bmN0aW9uIGNvbXBhcmVTcGVjcyhhLCBiKSB7XG4gICAgICByZXR1cm4gYi5xIC0gYS5xIHx8IGIucyAtIGEucyB8fCBhLm8gLSBiLm8gfHwgYS5pIC0gYi5pIHx8IDA7XG4gICAgfVxuICAgIGZ1bmN0aW9uIGdldEZ1bGxDaGFyc2V0KHNwZWMpIHtcbiAgICAgIHJldHVybiBzcGVjLmNoYXJzZXQ7XG4gICAgfVxuICAgIGZ1bmN0aW9uIGlzUXVhbGl0eShzcGVjKSB7XG4gICAgICByZXR1cm4gc3BlYy5xID4gMDtcbiAgICB9XG4gIH1cbn0pO1xuXG4vLyBub2RlX21vZHVsZXMvbmVnb3RpYXRvci9saWIvZW5jb2RpbmcuanNcbnZhciByZXF1aXJlX2VuY29kaW5nID0gX19jb21tb25KUyh7XG4gIFwibm9kZV9tb2R1bGVzL25lZ290aWF0b3IvbGliL2VuY29kaW5nLmpzXCIoZXhwb3J0czIsIG1vZHVsZTIpIHtcbiAgICBcInVzZSBzdHJpY3RcIjtcbiAgICBtb2R1bGUyLmV4cG9ydHMgPSBwcmVmZXJyZWRFbmNvZGluZ3M7XG4gICAgbW9kdWxlMi5leHBvcnRzLnByZWZlcnJlZEVuY29kaW5ncyA9IHByZWZlcnJlZEVuY29kaW5ncztcbiAgICB2YXIgc2ltcGxlRW5jb2RpbmdSZWdFeHAgPSAvXlxccyooW15cXHM7XSspXFxzKig/OjsoLiopKT8kLztcbiAgICBmdW5jdGlvbiBwYXJzZUFjY2VwdEVuY29kaW5nKGFjY2VwdCkge1xuICAgICAgdmFyIGFjY2VwdHMgPSBhY2NlcHQuc3BsaXQoXCIsXCIpO1xuICAgICAgdmFyIGhhc0lkZW50aXR5ID0gZmFsc2U7XG4gICAgICB2YXIgbWluUXVhbGl0eSA9IDE7XG4gICAgICBmb3IgKHZhciBpID0gMCwgaiA9IDA7IGkgPCBhY2NlcHRzLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgIHZhciBlbmNvZGluZyA9IHBhcnNlRW5jb2RpbmcoYWNjZXB0c1tpXS50cmltKCksIGkpO1xuICAgICAgICBpZiAoZW5jb2RpbmcpIHtcbiAgICAgICAgICBhY2NlcHRzW2orK10gPSBlbmNvZGluZztcbiAgICAgICAgICBoYXNJZGVudGl0eSA9IGhhc0lkZW50aXR5IHx8IHNwZWNpZnkoXCJpZGVudGl0eVwiLCBlbmNvZGluZyk7XG4gICAgICAgICAgbWluUXVhbGl0eSA9IE1hdGgubWluKG1pblF1YWxpdHksIGVuY29kaW5nLnEgfHwgMSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIGlmICghaGFzSWRlbnRpdHkpIHtcbiAgICAgICAgYWNjZXB0c1tqKytdID0ge1xuICAgICAgICAgIGVuY29kaW5nOiBcImlkZW50aXR5XCIsXG4gICAgICAgICAgcTogbWluUXVhbGl0eSxcbiAgICAgICAgICBpXG4gICAgICAgIH07XG4gICAgICB9XG4gICAgICBhY2NlcHRzLmxlbmd0aCA9IGo7XG4gICAgICByZXR1cm4gYWNjZXB0cztcbiAgICB9XG4gICAgZnVuY3Rpb24gcGFyc2VFbmNvZGluZyhzdHIsIGkpIHtcbiAgICAgIHZhciBtYXRjaCA9IHNpbXBsZUVuY29kaW5nUmVnRXhwLmV4ZWMoc3RyKTtcbiAgICAgIGlmICghbWF0Y2gpIHJldHVybiBudWxsO1xuICAgICAgdmFyIGVuY29kaW5nID0gbWF0Y2hbMV07XG4gICAgICB2YXIgcSA9IDE7XG4gICAgICBpZiAobWF0Y2hbMl0pIHtcbiAgICAgICAgdmFyIHBhcmFtcyA9IG1hdGNoWzJdLnNwbGl0KFwiO1wiKTtcbiAgICAgICAgZm9yICh2YXIgaiA9IDA7IGogPCBwYXJhbXMubGVuZ3RoOyBqKyspIHtcbiAgICAgICAgICB2YXIgcCA9IHBhcmFtc1tqXS50cmltKCkuc3BsaXQoXCI9XCIpO1xuICAgICAgICAgIGlmIChwWzBdID09PSBcInFcIikge1xuICAgICAgICAgICAgcSA9IHBhcnNlRmxvYXQocFsxXSk7XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIHJldHVybiB7XG4gICAgICAgIGVuY29kaW5nLFxuICAgICAgICBxLFxuICAgICAgICBpXG4gICAgICB9O1xuICAgIH1cbiAgICBmdW5jdGlvbiBnZXRFbmNvZGluZ1ByaW9yaXR5KGVuY29kaW5nLCBhY2NlcHRlZCwgaW5kZXgpIHtcbiAgICAgIHZhciBwcmlvcml0eSA9IHsgZW5jb2RpbmcsIG86IC0xLCBxOiAwLCBzOiAwIH07XG4gICAgICBmb3IgKHZhciBpID0gMDsgaSA8IGFjY2VwdGVkLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgIHZhciBzcGVjID0gc3BlY2lmeShlbmNvZGluZywgYWNjZXB0ZWRbaV0sIGluZGV4KTtcbiAgICAgICAgaWYgKHNwZWMgJiYgKHByaW9yaXR5LnMgLSBzcGVjLnMgfHwgcHJpb3JpdHkucSAtIHNwZWMucSB8fCBwcmlvcml0eS5vIC0gc3BlYy5vKSA8IDApIHtcbiAgICAgICAgICBwcmlvcml0eSA9IHNwZWM7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIHJldHVybiBwcmlvcml0eTtcbiAgICB9XG4gICAgZnVuY3Rpb24gc3BlY2lmeShlbmNvZGluZywgc3BlYywgaW5kZXgpIHtcbiAgICAgIHZhciBzID0gMDtcbiAgICAgIGlmIChzcGVjLmVuY29kaW5nLnRvTG93ZXJDYXNlKCkgPT09IGVuY29kaW5nLnRvTG93ZXJDYXNlKCkpIHtcbiAgICAgICAgcyB8PSAxO1xuICAgICAgfSBlbHNlIGlmIChzcGVjLmVuY29kaW5nICE9PSBcIipcIikge1xuICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgIH1cbiAgICAgIHJldHVybiB7XG4gICAgICAgIGVuY29kaW5nLFxuICAgICAgICBpOiBpbmRleCxcbiAgICAgICAgbzogc3BlYy5pLFxuICAgICAgICBxOiBzcGVjLnEsXG4gICAgICAgIHNcbiAgICAgIH07XG4gICAgfVxuICAgIGZ1bmN0aW9uIHByZWZlcnJlZEVuY29kaW5ncyhhY2NlcHQsIHByb3ZpZGVkLCBwcmVmZXJyZWQpIHtcbiAgICAgIHZhciBhY2NlcHRzID0gcGFyc2VBY2NlcHRFbmNvZGluZyhhY2NlcHQgfHwgXCJcIik7XG4gICAgICB2YXIgY29tcGFyYXRvciA9IHByZWZlcnJlZCA/IGZ1bmN0aW9uIGNvbXBhcmF0b3IyKGEsIGIpIHtcbiAgICAgICAgaWYgKGEucSAhPT0gYi5xKSB7XG4gICAgICAgICAgcmV0dXJuIGIucSAtIGEucTtcbiAgICAgICAgfVxuICAgICAgICB2YXIgYVByZWZlcnJlZCA9IHByZWZlcnJlZC5pbmRleE9mKGEuZW5jb2RpbmcpO1xuICAgICAgICB2YXIgYlByZWZlcnJlZCA9IHByZWZlcnJlZC5pbmRleE9mKGIuZW5jb2RpbmcpO1xuICAgICAgICBpZiAoYVByZWZlcnJlZCA9PT0gLTEgJiYgYlByZWZlcnJlZCA9PT0gLTEpIHtcbiAgICAgICAgICByZXR1cm4gYi5zIC0gYS5zIHx8IGEubyAtIGIubyB8fCBhLmkgLSBiLmk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGFQcmVmZXJyZWQgIT09IC0xICYmIGJQcmVmZXJyZWQgIT09IC0xKSB7XG4gICAgICAgICAgcmV0dXJuIGFQcmVmZXJyZWQgLSBiUHJlZmVycmVkO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBhUHJlZmVycmVkID09PSAtMSA/IDEgOiAtMTtcbiAgICAgIH0gOiBjb21wYXJlU3BlY3M7XG4gICAgICBpZiAoIXByb3ZpZGVkKSB7XG4gICAgICAgIHJldHVybiBhY2NlcHRzLmZpbHRlcihpc1F1YWxpdHkpLnNvcnQoY29tcGFyYXRvcikubWFwKGdldEZ1bGxFbmNvZGluZyk7XG4gICAgICB9XG4gICAgICB2YXIgcHJpb3JpdGllcyA9IHByb3ZpZGVkLm1hcChmdW5jdGlvbiBnZXRQcmlvcml0eSh0eXBlLCBpbmRleCkge1xuICAgICAgICByZXR1cm4gZ2V0RW5jb2RpbmdQcmlvcml0eSh0eXBlLCBhY2NlcHRzLCBpbmRleCk7XG4gICAgICB9KTtcbiAgICAgIHJldHVybiBwcmlvcml0aWVzLmZpbHRlcihpc1F1YWxpdHkpLnNvcnQoY29tcGFyYXRvcikubWFwKGZ1bmN0aW9uIGdldEVuY29kaW5nKHByaW9yaXR5KSB7XG4gICAgICAgIHJldHVybiBwcm92aWRlZFtwcmlvcml0aWVzLmluZGV4T2YocHJpb3JpdHkpXTtcbiAgICAgIH0pO1xuICAgIH1cbiAgICBmdW5jdGlvbiBjb21wYXJlU3BlY3MoYSwgYikge1xuICAgICAgcmV0dXJuIGIucSAtIGEucSB8fCBiLnMgLSBhLnMgfHwgYS5vIC0gYi5vIHx8IGEuaSAtIGIuaTtcbiAgICB9XG4gICAgZnVuY3Rpb24gZ2V0RnVsbEVuY29kaW5nKHNwZWMpIHtcbiAgICAgIHJldHVybiBzcGVjLmVuY29kaW5nO1xuICAgIH1cbiAgICBmdW5jdGlvbiBpc1F1YWxpdHkoc3BlYykge1xuICAgICAgcmV0dXJuIHNwZWMucSA+IDA7XG4gICAgfVxuICB9XG59KTtcblxuLy8gbm9kZV9tb2R1bGVzL25lZ290aWF0b3IvbGliL2xhbmd1YWdlLmpzXG52YXIgcmVxdWlyZV9sYW5ndWFnZSA9IF9fY29tbW9uSlMoe1xuICBcIm5vZGVfbW9kdWxlcy9uZWdvdGlhdG9yL2xpYi9sYW5ndWFnZS5qc1wiKGV4cG9ydHMyLCBtb2R1bGUyKSB7XG4gICAgXCJ1c2Ugc3RyaWN0XCI7XG4gICAgbW9kdWxlMi5leHBvcnRzID0gcHJlZmVycmVkTGFuZ3VhZ2VzO1xuICAgIG1vZHVsZTIuZXhwb3J0cy5wcmVmZXJyZWRMYW5ndWFnZXMgPSBwcmVmZXJyZWRMYW5ndWFnZXM7XG4gICAgdmFyIHNpbXBsZUxhbmd1YWdlUmVnRXhwID0gL15cXHMqKFteXFxzXFwtO10rKSg/Oi0oW15cXHM7XSspKT9cXHMqKD86OyguKikpPyQvO1xuICAgIGZ1bmN0aW9uIHBhcnNlQWNjZXB0TGFuZ3VhZ2UoYWNjZXB0KSB7XG4gICAgICB2YXIgYWNjZXB0cyA9IGFjY2VwdC5zcGxpdChcIixcIik7XG4gICAgICBmb3IgKHZhciBpID0gMCwgaiA9IDA7IGkgPCBhY2NlcHRzLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgIHZhciBsYW5ndWFnZSA9IHBhcnNlTGFuZ3VhZ2UoYWNjZXB0c1tpXS50cmltKCksIGkpO1xuICAgICAgICBpZiAobGFuZ3VhZ2UpIHtcbiAgICAgICAgICBhY2NlcHRzW2orK10gPSBsYW5ndWFnZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgYWNjZXB0cy5sZW5ndGggPSBqO1xuICAgICAgcmV0dXJuIGFjY2VwdHM7XG4gICAgfVxuICAgIGZ1bmN0aW9uIHBhcnNlTGFuZ3VhZ2Uoc3RyLCBpKSB7XG4gICAgICB2YXIgbWF0Y2ggPSBzaW1wbGVMYW5ndWFnZVJlZ0V4cC5leGVjKHN0cik7XG4gICAgICBpZiAoIW1hdGNoKSByZXR1cm4gbnVsbDtcbiAgICAgIHZhciBwcmVmaXggPSBtYXRjaFsxXTtcbiAgICAgIHZhciBzdWZmaXggPSBtYXRjaFsyXTtcbiAgICAgIHZhciBmdWxsID0gcHJlZml4O1xuICAgICAgaWYgKHN1ZmZpeCkgZnVsbCArPSBcIi1cIiArIHN1ZmZpeDtcbiAgICAgIHZhciBxID0gMTtcbiAgICAgIGlmIChtYXRjaFszXSkge1xuICAgICAgICB2YXIgcGFyYW1zID0gbWF0Y2hbM10uc3BsaXQoXCI7XCIpO1xuICAgICAgICBmb3IgKHZhciBqID0gMDsgaiA8IHBhcmFtcy5sZW5ndGg7IGorKykge1xuICAgICAgICAgIHZhciBwID0gcGFyYW1zW2pdLnNwbGl0KFwiPVwiKTtcbiAgICAgICAgICBpZiAocFswXSA9PT0gXCJxXCIpIHEgPSBwYXJzZUZsb2F0KHBbMV0pO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICByZXR1cm4ge1xuICAgICAgICBwcmVmaXgsXG4gICAgICAgIHN1ZmZpeCxcbiAgICAgICAgcSxcbiAgICAgICAgaSxcbiAgICAgICAgZnVsbFxuICAgICAgfTtcbiAgICB9XG4gICAgZnVuY3Rpb24gZ2V0TGFuZ3VhZ2VQcmlvcml0eShsYW5ndWFnZSwgYWNjZXB0ZWQsIGluZGV4KSB7XG4gICAgICB2YXIgcHJpb3JpdHkgPSB7IG86IC0xLCBxOiAwLCBzOiAwIH07XG4gICAgICBmb3IgKHZhciBpID0gMDsgaSA8IGFjY2VwdGVkLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgIHZhciBzcGVjID0gc3BlY2lmeShsYW5ndWFnZSwgYWNjZXB0ZWRbaV0sIGluZGV4KTtcbiAgICAgICAgaWYgKHNwZWMgJiYgKHByaW9yaXR5LnMgLSBzcGVjLnMgfHwgcHJpb3JpdHkucSAtIHNwZWMucSB8fCBwcmlvcml0eS5vIC0gc3BlYy5vKSA8IDApIHtcbiAgICAgICAgICBwcmlvcml0eSA9IHNwZWM7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIHJldHVybiBwcmlvcml0eTtcbiAgICB9XG4gICAgZnVuY3Rpb24gc3BlY2lmeShsYW5ndWFnZSwgc3BlYywgaW5kZXgpIHtcbiAgICAgIHZhciBwID0gcGFyc2VMYW5ndWFnZShsYW5ndWFnZSk7XG4gICAgICBpZiAoIXApIHJldHVybiBudWxsO1xuICAgICAgdmFyIHMgPSAwO1xuICAgICAgaWYgKHNwZWMuZnVsbC50b0xvd2VyQ2FzZSgpID09PSBwLmZ1bGwudG9Mb3dlckNhc2UoKSkge1xuICAgICAgICBzIHw9IDQ7XG4gICAgICB9IGVsc2UgaWYgKHNwZWMucHJlZml4LnRvTG93ZXJDYXNlKCkgPT09IHAuZnVsbC50b0xvd2VyQ2FzZSgpKSB7XG4gICAgICAgIHMgfD0gMjtcbiAgICAgIH0gZWxzZSBpZiAoc3BlYy5mdWxsLnRvTG93ZXJDYXNlKCkgPT09IHAucHJlZml4LnRvTG93ZXJDYXNlKCkpIHtcbiAgICAgICAgcyB8PSAxO1xuICAgICAgfSBlbHNlIGlmIChzcGVjLmZ1bGwgIT09IFwiKlwiKSB7XG4gICAgICAgIHJldHVybiBudWxsO1xuICAgICAgfVxuICAgICAgcmV0dXJuIHtcbiAgICAgICAgaTogaW5kZXgsXG4gICAgICAgIG86IHNwZWMuaSxcbiAgICAgICAgcTogc3BlYy5xLFxuICAgICAgICBzXG4gICAgICB9O1xuICAgIH1cbiAgICBmdW5jdGlvbiBwcmVmZXJyZWRMYW5ndWFnZXMoYWNjZXB0LCBwcm92aWRlZCkge1xuICAgICAgdmFyIGFjY2VwdHMgPSBwYXJzZUFjY2VwdExhbmd1YWdlKGFjY2VwdCA9PT0gdm9pZCAwID8gXCIqXCIgOiBhY2NlcHQgfHwgXCJcIik7XG4gICAgICBpZiAoIXByb3ZpZGVkKSB7XG4gICAgICAgIHJldHVybiBhY2NlcHRzLmZpbHRlcihpc1F1YWxpdHkpLnNvcnQoY29tcGFyZVNwZWNzKS5tYXAoZ2V0RnVsbExhbmd1YWdlKTtcbiAgICAgIH1cbiAgICAgIHZhciBwcmlvcml0aWVzID0gcHJvdmlkZWQubWFwKGZ1bmN0aW9uIGdldFByaW9yaXR5KHR5cGUsIGluZGV4KSB7XG4gICAgICAgIHJldHVybiBnZXRMYW5ndWFnZVByaW9yaXR5KHR5cGUsIGFjY2VwdHMsIGluZGV4KTtcbiAgICAgIH0pO1xuICAgICAgcmV0dXJuIHByaW9yaXRpZXMuZmlsdGVyKGlzUXVhbGl0eSkuc29ydChjb21wYXJlU3BlY3MpLm1hcChmdW5jdGlvbiBnZXRMYW5ndWFnZShwcmlvcml0eSkge1xuICAgICAgICByZXR1cm4gcHJvdmlkZWRbcHJpb3JpdGllcy5pbmRleE9mKHByaW9yaXR5KV07XG4gICAgICB9KTtcbiAgICB9XG4gICAgZnVuY3Rpb24gY29tcGFyZVNwZWNzKGEsIGIpIHtcbiAgICAgIHJldHVybiBiLnEgLSBhLnEgfHwgYi5zIC0gYS5zIHx8IGEubyAtIGIubyB8fCBhLmkgLSBiLmkgfHwgMDtcbiAgICB9XG4gICAgZnVuY3Rpb24gZ2V0RnVsbExhbmd1YWdlKHNwZWMpIHtcbiAgICAgIHJldHVybiBzcGVjLmZ1bGw7XG4gICAgfVxuICAgIGZ1bmN0aW9uIGlzUXVhbGl0eShzcGVjKSB7XG4gICAgICByZXR1cm4gc3BlYy5xID4gMDtcbiAgICB9XG4gIH1cbn0pO1xuXG4vLyBub2RlX21vZHVsZXMvbmVnb3RpYXRvci9saWIvbWVkaWFUeXBlLmpzXG52YXIgcmVxdWlyZV9tZWRpYVR5cGUgPSBfX2NvbW1vbkpTKHtcbiAgXCJub2RlX21vZHVsZXMvbmVnb3RpYXRvci9saWIvbWVkaWFUeXBlLmpzXCIoZXhwb3J0czIsIG1vZHVsZTIpIHtcbiAgICBcInVzZSBzdHJpY3RcIjtcbiAgICBtb2R1bGUyLmV4cG9ydHMgPSBwcmVmZXJyZWRNZWRpYVR5cGVzO1xuICAgIG1vZHVsZTIuZXhwb3J0cy5wcmVmZXJyZWRNZWRpYVR5cGVzID0gcHJlZmVycmVkTWVkaWFUeXBlcztcbiAgICB2YXIgc2ltcGxlTWVkaWFUeXBlUmVnRXhwID0gL15cXHMqKFteXFxzXFwvO10rKVxcLyhbXjtcXHNdKylcXHMqKD86OyguKikpPyQvO1xuICAgIGZ1bmN0aW9uIHBhcnNlQWNjZXB0KGFjY2VwdCkge1xuICAgICAgdmFyIGFjY2VwdHMgPSBzcGxpdE1lZGlhVHlwZXMoYWNjZXB0KTtcbiAgICAgIGZvciAodmFyIGkgPSAwLCBqID0gMDsgaSA8IGFjY2VwdHMubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgdmFyIG1lZGlhVHlwZSA9IHBhcnNlTWVkaWFUeXBlKGFjY2VwdHNbaV0udHJpbSgpLCBpKTtcbiAgICAgICAgaWYgKG1lZGlhVHlwZSkge1xuICAgICAgICAgIGFjY2VwdHNbaisrXSA9IG1lZGlhVHlwZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgYWNjZXB0cy5sZW5ndGggPSBqO1xuICAgICAgcmV0dXJuIGFjY2VwdHM7XG4gICAgfVxuICAgIGZ1bmN0aW9uIHBhcnNlTWVkaWFUeXBlKHN0ciwgaSkge1xuICAgICAgdmFyIG1hdGNoID0gc2ltcGxlTWVkaWFUeXBlUmVnRXhwLmV4ZWMoc3RyKTtcbiAgICAgIGlmICghbWF0Y2gpIHJldHVybiBudWxsO1xuICAgICAgdmFyIHBhcmFtcyA9IC8qIEBfX1BVUkVfXyAqLyBPYmplY3QuY3JlYXRlKG51bGwpO1xuICAgICAgdmFyIHEgPSAxO1xuICAgICAgdmFyIHN1YnR5cGUgPSBtYXRjaFsyXTtcbiAgICAgIHZhciB0eXBlID0gbWF0Y2hbMV07XG4gICAgICBpZiAobWF0Y2hbM10pIHtcbiAgICAgICAgdmFyIGt2cHMgPSBzcGxpdFBhcmFtZXRlcnMobWF0Y2hbM10pLm1hcChzcGxpdEtleVZhbHVlUGFpcik7XG4gICAgICAgIGZvciAodmFyIGogPSAwOyBqIDwga3Zwcy5sZW5ndGg7IGorKykge1xuICAgICAgICAgIHZhciBwYWlyID0ga3Zwc1tqXTtcbiAgICAgICAgICB2YXIga2V5ID0gcGFpclswXS50b0xvd2VyQ2FzZSgpO1xuICAgICAgICAgIHZhciB2YWwgPSBwYWlyWzFdO1xuICAgICAgICAgIHZhciB2YWx1ZSA9IHZhbCAmJiB2YWxbMF0gPT09ICdcIicgJiYgdmFsW3ZhbC5sZW5ndGggLSAxXSA9PT0gJ1wiJyA/IHZhbC5zbGljZSgxLCAtMSkgOiB2YWw7XG4gICAgICAgICAgaWYgKGtleSA9PT0gXCJxXCIpIHtcbiAgICAgICAgICAgIHEgPSBwYXJzZUZsb2F0KHZhbHVlKTtcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgIH1cbiAgICAgICAgICBwYXJhbXNba2V5XSA9IHZhbHVlO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICByZXR1cm4ge1xuICAgICAgICB0eXBlLFxuICAgICAgICBzdWJ0eXBlLFxuICAgICAgICBwYXJhbXMsXG4gICAgICAgIHEsXG4gICAgICAgIGlcbiAgICAgIH07XG4gICAgfVxuICAgIGZ1bmN0aW9uIGdldE1lZGlhVHlwZVByaW9yaXR5KHR5cGUsIGFjY2VwdGVkLCBpbmRleCkge1xuICAgICAgdmFyIHByaW9yaXR5ID0geyBvOiAtMSwgcTogMCwgczogMCB9O1xuICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBhY2NlcHRlZC5sZW5ndGg7IGkrKykge1xuICAgICAgICB2YXIgc3BlYyA9IHNwZWNpZnkodHlwZSwgYWNjZXB0ZWRbaV0sIGluZGV4KTtcbiAgICAgICAgaWYgKHNwZWMgJiYgKHByaW9yaXR5LnMgLSBzcGVjLnMgfHwgcHJpb3JpdHkucSAtIHNwZWMucSB8fCBwcmlvcml0eS5vIC0gc3BlYy5vKSA8IDApIHtcbiAgICAgICAgICBwcmlvcml0eSA9IHNwZWM7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIHJldHVybiBwcmlvcml0eTtcbiAgICB9XG4gICAgZnVuY3Rpb24gc3BlY2lmeSh0eXBlLCBzcGVjLCBpbmRleCkge1xuICAgICAgdmFyIHAgPSBwYXJzZU1lZGlhVHlwZSh0eXBlKTtcbiAgICAgIHZhciBzID0gMDtcbiAgICAgIGlmICghcCkge1xuICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgIH1cbiAgICAgIGlmIChzcGVjLnR5cGUudG9Mb3dlckNhc2UoKSA9PSBwLnR5cGUudG9Mb3dlckNhc2UoKSkge1xuICAgICAgICBzIHw9IDQ7XG4gICAgICB9IGVsc2UgaWYgKHNwZWMudHlwZSAhPSBcIipcIikge1xuICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgIH1cbiAgICAgIGlmIChzcGVjLnN1YnR5cGUudG9Mb3dlckNhc2UoKSA9PSBwLnN1YnR5cGUudG9Mb3dlckNhc2UoKSkge1xuICAgICAgICBzIHw9IDI7XG4gICAgICB9IGVsc2UgaWYgKHNwZWMuc3VidHlwZSAhPSBcIipcIikge1xuICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgIH1cbiAgICAgIHZhciBrZXlzID0gT2JqZWN0LmtleXMoc3BlYy5wYXJhbXMpO1xuICAgICAgaWYgKGtleXMubGVuZ3RoID4gMCkge1xuICAgICAgICBpZiAoa2V5cy5ldmVyeShmdW5jdGlvbihrKSB7XG4gICAgICAgICAgcmV0dXJuIHNwZWMucGFyYW1zW2tdID09IFwiKlwiIHx8IChzcGVjLnBhcmFtc1trXSB8fCBcIlwiKS50b0xvd2VyQ2FzZSgpID09IChwLnBhcmFtc1trXSB8fCBcIlwiKS50b0xvd2VyQ2FzZSgpO1xuICAgICAgICB9KSkge1xuICAgICAgICAgIHMgfD0gMTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgcmV0dXJuIHtcbiAgICAgICAgaTogaW5kZXgsXG4gICAgICAgIG86IHNwZWMuaSxcbiAgICAgICAgcTogc3BlYy5xLFxuICAgICAgICBzXG4gICAgICB9O1xuICAgIH1cbiAgICBmdW5jdGlvbiBwcmVmZXJyZWRNZWRpYVR5cGVzKGFjY2VwdCwgcHJvdmlkZWQpIHtcbiAgICAgIHZhciBhY2NlcHRzID0gcGFyc2VBY2NlcHQoYWNjZXB0ID09PSB2b2lkIDAgPyBcIiovKlwiIDogYWNjZXB0IHx8IFwiXCIpO1xuICAgICAgaWYgKCFwcm92aWRlZCkge1xuICAgICAgICByZXR1cm4gYWNjZXB0cy5maWx0ZXIoaXNRdWFsaXR5KS5zb3J0KGNvbXBhcmVTcGVjcykubWFwKGdldEZ1bGxUeXBlKTtcbiAgICAgIH1cbiAgICAgIHZhciBwcmlvcml0aWVzID0gcHJvdmlkZWQubWFwKGZ1bmN0aW9uIGdldFByaW9yaXR5KHR5cGUsIGluZGV4KSB7XG4gICAgICAgIHJldHVybiBnZXRNZWRpYVR5cGVQcmlvcml0eSh0eXBlLCBhY2NlcHRzLCBpbmRleCk7XG4gICAgICB9KTtcbiAgICAgIHJldHVybiBwcmlvcml0aWVzLmZpbHRlcihpc1F1YWxpdHkpLnNvcnQoY29tcGFyZVNwZWNzKS5tYXAoZnVuY3Rpb24gZ2V0VHlwZShwcmlvcml0eSkge1xuICAgICAgICByZXR1cm4gcHJvdmlkZWRbcHJpb3JpdGllcy5pbmRleE9mKHByaW9yaXR5KV07XG4gICAgICB9KTtcbiAgICB9XG4gICAgZnVuY3Rpb24gY29tcGFyZVNwZWNzKGEsIGIpIHtcbiAgICAgIHJldHVybiBiLnEgLSBhLnEgfHwgYi5zIC0gYS5zIHx8IGEubyAtIGIubyB8fCBhLmkgLSBiLmkgfHwgMDtcbiAgICB9XG4gICAgZnVuY3Rpb24gZ2V0RnVsbFR5cGUoc3BlYykge1xuICAgICAgcmV0dXJuIHNwZWMudHlwZSArIFwiL1wiICsgc3BlYy5zdWJ0eXBlO1xuICAgIH1cbiAgICBmdW5jdGlvbiBpc1F1YWxpdHkoc3BlYykge1xuICAgICAgcmV0dXJuIHNwZWMucSA+IDA7XG4gICAgfVxuICAgIGZ1bmN0aW9uIHF1b3RlQ291bnQoc3RyaW5nKSB7XG4gICAgICB2YXIgY291bnQgPSAwO1xuICAgICAgdmFyIGluZGV4ID0gMDtcbiAgICAgIHdoaWxlICgoaW5kZXggPSBzdHJpbmcuaW5kZXhPZignXCInLCBpbmRleCkpICE9PSAtMSkge1xuICAgICAgICBjb3VudCsrO1xuICAgICAgICBpbmRleCsrO1xuICAgICAgfVxuICAgICAgcmV0dXJuIGNvdW50O1xuICAgIH1cbiAgICBmdW5jdGlvbiBzcGxpdEtleVZhbHVlUGFpcihzdHIpIHtcbiAgICAgIHZhciBpbmRleCA9IHN0ci5pbmRleE9mKFwiPVwiKTtcbiAgICAgIHZhciBrZXk7XG4gICAgICB2YXIgdmFsO1xuICAgICAgaWYgKGluZGV4ID09PSAtMSkge1xuICAgICAgICBrZXkgPSBzdHI7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBrZXkgPSBzdHIuc2xpY2UoMCwgaW5kZXgpO1xuICAgICAgICB2YWwgPSBzdHIuc2xpY2UoaW5kZXggKyAxKTtcbiAgICAgIH1cbiAgICAgIHJldHVybiBba2V5LCB2YWxdO1xuICAgIH1cbiAgICBmdW5jdGlvbiBzcGxpdE1lZGlhVHlwZXMoYWNjZXB0KSB7XG4gICAgICB2YXIgYWNjZXB0cyA9IGFjY2VwdC5zcGxpdChcIixcIik7XG4gICAgICBmb3IgKHZhciBpID0gMSwgaiA9IDA7IGkgPCBhY2NlcHRzLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgIGlmIChxdW90ZUNvdW50KGFjY2VwdHNbal0pICUgMiA9PSAwKSB7XG4gICAgICAgICAgYWNjZXB0c1srK2pdID0gYWNjZXB0c1tpXTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBhY2NlcHRzW2pdICs9IFwiLFwiICsgYWNjZXB0c1tpXTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgYWNjZXB0cy5sZW5ndGggPSBqICsgMTtcbiAgICAgIHJldHVybiBhY2NlcHRzO1xuICAgIH1cbiAgICBmdW5jdGlvbiBzcGxpdFBhcmFtZXRlcnMoc3RyKSB7XG4gICAgICB2YXIgcGFyYW1ldGVycyA9IHN0ci5zcGxpdChcIjtcIik7XG4gICAgICBmb3IgKHZhciBpID0gMSwgaiA9IDA7IGkgPCBwYXJhbWV0ZXJzLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgIGlmIChxdW90ZUNvdW50KHBhcmFtZXRlcnNbal0pICUgMiA9PSAwKSB7XG4gICAgICAgICAgcGFyYW1ldGVyc1srK2pdID0gcGFyYW1ldGVyc1tpXTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBwYXJhbWV0ZXJzW2pdICs9IFwiO1wiICsgcGFyYW1ldGVyc1tpXTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgcGFyYW1ldGVycy5sZW5ndGggPSBqICsgMTtcbiAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgcGFyYW1ldGVycy5sZW5ndGg7IGkrKykge1xuICAgICAgICBwYXJhbWV0ZXJzW2ldID0gcGFyYW1ldGVyc1tpXS50cmltKCk7XG4gICAgICB9XG4gICAgICByZXR1cm4gcGFyYW1ldGVycztcbiAgICB9XG4gIH1cbn0pO1xuXG4vLyBub2RlX21vZHVsZXMvbmVnb3RpYXRvci9pbmRleC5qc1xudmFyIHJlcXVpcmVfbmVnb3RpYXRvciA9IF9fY29tbW9uSlMoe1xuICBcIm5vZGVfbW9kdWxlcy9uZWdvdGlhdG9yL2luZGV4LmpzXCIoZXhwb3J0czIsIG1vZHVsZTIpIHtcbiAgICBcInVzZSBzdHJpY3RcIjtcbiAgICB2YXIgcHJlZmVycmVkQ2hhcnNldHMgPSByZXF1aXJlX2NoYXJzZXQoKTtcbiAgICB2YXIgcHJlZmVycmVkRW5jb2RpbmdzID0gcmVxdWlyZV9lbmNvZGluZygpO1xuICAgIHZhciBwcmVmZXJyZWRMYW5ndWFnZXMgPSByZXF1aXJlX2xhbmd1YWdlKCk7XG4gICAgdmFyIHByZWZlcnJlZE1lZGlhVHlwZXMgPSByZXF1aXJlX21lZGlhVHlwZSgpO1xuICAgIG1vZHVsZTIuZXhwb3J0cyA9IE5lZ290aWF0b3I7XG4gICAgbW9kdWxlMi5leHBvcnRzLk5lZ290aWF0b3IgPSBOZWdvdGlhdG9yO1xuICAgIGZ1bmN0aW9uIE5lZ290aWF0b3IocmVxdWVzdCkge1xuICAgICAgaWYgKCEodGhpcyBpbnN0YW5jZW9mIE5lZ290aWF0b3IpKSB7XG4gICAgICAgIHJldHVybiBuZXcgTmVnb3RpYXRvcihyZXF1ZXN0KTtcbiAgICAgIH1cbiAgICAgIHRoaXMucmVxdWVzdCA9IHJlcXVlc3Q7XG4gICAgfVxuICAgIE5lZ290aWF0b3IucHJvdG90eXBlLmNoYXJzZXQgPSBmdW5jdGlvbiBjaGFyc2V0KGF2YWlsYWJsZSkge1xuICAgICAgdmFyIHNldCA9IHRoaXMuY2hhcnNldHMoYXZhaWxhYmxlKTtcbiAgICAgIHJldHVybiBzZXQgJiYgc2V0WzBdO1xuICAgIH07XG4gICAgTmVnb3RpYXRvci5wcm90b3R5cGUuY2hhcnNldHMgPSBmdW5jdGlvbiBjaGFyc2V0cyhhdmFpbGFibGUpIHtcbiAgICAgIHJldHVybiBwcmVmZXJyZWRDaGFyc2V0cyh0aGlzLnJlcXVlc3QuaGVhZGVyc1tcImFjY2VwdC1jaGFyc2V0XCJdLCBhdmFpbGFibGUpO1xuICAgIH07XG4gICAgTmVnb3RpYXRvci5wcm90b3R5cGUuZW5jb2RpbmcgPSBmdW5jdGlvbiBlbmNvZGluZyhhdmFpbGFibGUsIG9wdHMpIHtcbiAgICAgIHZhciBzZXQgPSB0aGlzLmVuY29kaW5ncyhhdmFpbGFibGUsIG9wdHMpO1xuICAgICAgcmV0dXJuIHNldCAmJiBzZXRbMF07XG4gICAgfTtcbiAgICBOZWdvdGlhdG9yLnByb3RvdHlwZS5lbmNvZGluZ3MgPSBmdW5jdGlvbiBlbmNvZGluZ3MoYXZhaWxhYmxlLCBvcHRpb25zKSB7XG4gICAgICB2YXIgb3B0cyA9IG9wdGlvbnMgfHwge307XG4gICAgICByZXR1cm4gcHJlZmVycmVkRW5jb2RpbmdzKHRoaXMucmVxdWVzdC5oZWFkZXJzW1wiYWNjZXB0LWVuY29kaW5nXCJdLCBhdmFpbGFibGUsIG9wdHMucHJlZmVycmVkKTtcbiAgICB9O1xuICAgIE5lZ290aWF0b3IucHJvdG90eXBlLmxhbmd1YWdlID0gZnVuY3Rpb24gbGFuZ3VhZ2UoYXZhaWxhYmxlKSB7XG4gICAgICB2YXIgc2V0ID0gdGhpcy5sYW5ndWFnZXMoYXZhaWxhYmxlKTtcbiAgICAgIHJldHVybiBzZXQgJiYgc2V0WzBdO1xuICAgIH07XG4gICAgTmVnb3RpYXRvci5wcm90b3R5cGUubGFuZ3VhZ2VzID0gZnVuY3Rpb24gbGFuZ3VhZ2VzKGF2YWlsYWJsZSkge1xuICAgICAgcmV0dXJuIHByZWZlcnJlZExhbmd1YWdlcyh0aGlzLnJlcXVlc3QuaGVhZGVyc1tcImFjY2VwdC1sYW5ndWFnZVwiXSwgYXZhaWxhYmxlKTtcbiAgICB9O1xuICAgIE5lZ290aWF0b3IucHJvdG90eXBlLm1lZGlhVHlwZSA9IGZ1bmN0aW9uIG1lZGlhVHlwZShhdmFpbGFibGUpIHtcbiAgICAgIHZhciBzZXQgPSB0aGlzLm1lZGlhVHlwZXMoYXZhaWxhYmxlKTtcbiAgICAgIHJldHVybiBzZXQgJiYgc2V0WzBdO1xuICAgIH07XG4gICAgTmVnb3RpYXRvci5wcm90b3R5cGUubWVkaWFUeXBlcyA9IGZ1bmN0aW9uIG1lZGlhVHlwZXMoYXZhaWxhYmxlKSB7XG4gICAgICByZXR1cm4gcHJlZmVycmVkTWVkaWFUeXBlcyh0aGlzLnJlcXVlc3QuaGVhZGVycy5hY2NlcHQsIGF2YWlsYWJsZSk7XG4gICAgfTtcbiAgICBOZWdvdGlhdG9yLnByb3RvdHlwZS5wcmVmZXJyZWRDaGFyc2V0ID0gTmVnb3RpYXRvci5wcm90b3R5cGUuY2hhcnNldDtcbiAgICBOZWdvdGlhdG9yLnByb3RvdHlwZS5wcmVmZXJyZWRDaGFyc2V0cyA9IE5lZ290aWF0b3IucHJvdG90eXBlLmNoYXJzZXRzO1xuICAgIE5lZ290aWF0b3IucHJvdG90eXBlLnByZWZlcnJlZEVuY29kaW5nID0gTmVnb3RpYXRvci5wcm90b3R5cGUuZW5jb2Rpbmc7XG4gICAgTmVnb3RpYXRvci5wcm90b3R5cGUucHJlZmVycmVkRW5jb2RpbmdzID0gTmVnb3RpYXRvci5wcm90b3R5cGUuZW5jb2RpbmdzO1xuICAgIE5lZ290aWF0b3IucHJvdG90eXBlLnByZWZlcnJlZExhbmd1YWdlID0gTmVnb3RpYXRvci5wcm90b3R5cGUubGFuZ3VhZ2U7XG4gICAgTmVnb3RpYXRvci5wcm90b3R5cGUucHJlZmVycmVkTGFuZ3VhZ2VzID0gTmVnb3RpYXRvci5wcm90b3R5cGUubGFuZ3VhZ2VzO1xuICAgIE5lZ290aWF0b3IucHJvdG90eXBlLnByZWZlcnJlZE1lZGlhVHlwZSA9IE5lZ290aWF0b3IucHJvdG90eXBlLm1lZGlhVHlwZTtcbiAgICBOZWdvdGlhdG9yLnByb3RvdHlwZS5wcmVmZXJyZWRNZWRpYVR5cGVzID0gTmVnb3RpYXRvci5wcm90b3R5cGUubWVkaWFUeXBlcztcbiAgfVxufSk7XG5cbi8vIG5vZGVfbW9kdWxlcy9hY2NlcHRzL25vZGVfbW9kdWxlcy9taW1lLWRiL2RiLmpzb25cbnZhciByZXF1aXJlX2RiMyA9IF9fY29tbW9uSlMoe1xuICBcIm5vZGVfbW9kdWxlcy9hY2NlcHRzL25vZGVfbW9kdWxlcy9taW1lLWRiL2RiLmpzb25cIihleHBvcnRzMiwgbW9kdWxlMikge1xuICAgIG1vZHVsZTIuZXhwb3J0cyA9IHtcbiAgICAgIFwiYXBwbGljYXRpb24vMWQtaW50ZXJsZWF2ZWQtcGFyaXR5ZmVjXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vM2dwZGFzaC1xb2UtcmVwb3J0K3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNoYXJzZXQ6IFwiVVRGLThcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi8zZ3BwLWltcyt4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uLzNncHBoYWwranNvblwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vM2dwcGhhbGZvcm1zK2pzb25cIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL2EybFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL2FjZStjYm9yXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vYWNlK2pzb25cIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL2FjZS1ncm91cGNvbW0rY2JvclwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL2FjZS10cmwrY2JvclwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL2FjdGl2ZW1lc3NhZ2VcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9hY3Rpdml0eStqc29uXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9haWYrY2JvclwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL2FpZitqc29uXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9hbHRvLWNkbmkranNvblwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vYWx0by1jZG5pZmlsdGVyK2pzb25cIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL2FsdG8tY29zdG1hcCtqc29uXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9hbHRvLWNvc3RtYXBmaWx0ZXIranNvblwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vYWx0by1kaXJlY3RvcnkranNvblwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vYWx0by1lbmRwb2ludGNvc3QranNvblwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vYWx0by1lbmRwb2ludGNvc3RwYXJhbXMranNvblwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vYWx0by1lbmRwb2ludHByb3AranNvblwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vYWx0by1lbmRwb2ludHByb3BwYXJhbXMranNvblwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vYWx0by1lcnJvcitqc29uXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9hbHRvLW5ldHdvcmttYXAranNvblwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vYWx0by1uZXR3b3JrbWFwZmlsdGVyK2pzb25cIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL2FsdG8tcHJvcG1hcCtqc29uXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9hbHRvLXByb3BtYXBwYXJhbXMranNvblwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vYWx0by10aXBzK2pzb25cIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL2FsdG8tdGlwc3BhcmFtcytqc29uXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9hbHRvLXVwZGF0ZXN0cmVhbWNvbnRyb2wranNvblwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vYWx0by11cGRhdGVzdHJlYW1wYXJhbXMranNvblwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vYW1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vYW5kcmV3LWluc2V0XCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wiZXpcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL2FwcGluc3RhbGxlclwiOiB7XG4gICAgICAgIGNvbXByZXNzaWJsZTogZmFsc2UsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImFwcGluc3RhbGxlclwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vYXBwbGVmaWxlXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vYXBwbGl4d2FyZVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJhcGFjaGVcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wiYXdcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL2FwcHhcIjoge1xuICAgICAgICBjb21wcmVzc2libGU6IGZhbHNlLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJhcHB4XCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9hcHB4YnVuZGxlXCI6IHtcbiAgICAgICAgY29tcHJlc3NpYmxlOiBmYWxzZSxcbiAgICAgICAgZXh0ZW5zaW9uczogW1wiYXBweGJ1bmRsZVwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vYXQrand0XCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vYXRmXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vYXRmeFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL2F0b20reG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJhdG9tXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9hdG9tY2F0K3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZSxcbiAgICAgICAgZXh0ZW5zaW9uczogW1wiYXRvbWNhdFwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vYXRvbWRlbGV0ZWQreG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJhdG9tZGVsZXRlZFwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vYXRvbWljbWFpbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL2F0b21zdmMreG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJhdG9tc3ZjXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9hdHNjLWR3ZCt4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWUsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImR3ZFwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vYXRzYy1keW5hbWljLWV2ZW50LW1lc3NhZ2VcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9hdHNjLWhlbGQreG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJoZWxkXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9hdHNjLXJkdCtqc29uXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9hdHNjLXJzYXQreG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJyc2F0XCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9hdHhtbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL2F1dGgtcG9saWN5K3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vYXV0b21hdGlvbm1sLWFtbCt4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWUsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImFtbFwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vYXV0b21hdGlvbm1sLWFtbHgremlwXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiBmYWxzZSxcbiAgICAgICAgZXh0ZW5zaW9uczogW1wiYW1seFwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vYmFjbmV0LXhkZCt6aXBcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IGZhbHNlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9iYXRjaC1zbXRwXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vYmRvY1wiOiB7XG4gICAgICAgIGNvbXByZXNzaWJsZTogZmFsc2UsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImJkb2NcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL2JlZXAreG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY2hhcnNldDogXCJVVEYtOFwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL2J1ZnJcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9jMnBhXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vY2FsZW5kYXIranNvblwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vY2FsZW5kYXIreG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJ4Y3NcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL2NhbGwtY29tcGxldGlvblwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL2NhbHMtMTg0MFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL2NhcHRpdmUranNvblwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vY2JvclwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL2Nib3Itc2VxXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vY2NjZXhcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9jY21wK3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vY2N4bWwreG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJjY3htbFwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vY2RhK3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNoYXJzZXQ6IFwiVVRGLThcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9jZGZ4K3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZSxcbiAgICAgICAgZXh0ZW5zaW9uczogW1wiY2RmeFwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vY2RtaS1jYXBhYmlsaXR5XCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wiY2RtaWFcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL2NkbWktY29udGFpbmVyXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wiY2RtaWNcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL2NkbWktZG9tYWluXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wiY2RtaWRcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL2NkbWktb2JqZWN0XCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wiY2RtaW9cIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL2NkbWktcXVldWVcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJjZG1pcVwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vY2RuaVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL2NlK2Nib3JcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9jZWFcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9jZWEtMjAxOCt4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL2NlbGxtbCt4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL2Nmd1wiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL2NpZC1lZGhvYytjYm9yLXNlcVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL2NpdHkranNvblwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vY2l0eStqc29uLXNlcVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL2NsclwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL2NsdWUreG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9jbHVlX2luZm8reG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9jbXNcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9jbnJwK3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vY29hcC1lYXBcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9jb2FwLWdyb3VwK2pzb25cIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL2NvYXAtcGF5bG9hZFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL2NvbW1vbmdyb3VuZFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL2NvbmNpc2UtcHJvYmxlbS1kZXRhaWxzK2Nib3JcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9jb25mZXJlbmNlLWluZm8reG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9jb3NlXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vY29zZS1rZXlcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9jb3NlLWtleS1zZXRcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9jb3NlLXg1MDlcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9jcGwreG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJjcGxcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL2NzcmF0dHJzXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vY3N0YSt4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL2NzdGFkYXRhK3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vY3N2bStqc29uXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9jdS1zZWVtZVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJhcGFjaGVcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wiY3VcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL2N3bFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImN3bFwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vY3dsK2pzb25cIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL2N3bCt5YW1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vY3d0XCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vY3liZXJjYXNoXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vZGFydFwiOiB7XG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vZGFzaCt4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWUsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcIm1wZFwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vZGFzaC1wYXRjaCt4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWUsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcIm1wcFwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vZGFzaGRlbHRhXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vZGF2bW91bnQreG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJkYXZtb3VudFwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vZGNhLXJmdFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL2RjZFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL2RlYy1keFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL2RpYWxvZy1pbmZvK3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vZGljb21cIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJkY21cIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL2RpY29tK2pzb25cIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL2RpY29tK3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vZGlpXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vZGl0XCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vZG5zXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vZG5zK2pzb25cIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL2Rucy1tZXNzYWdlXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vZG9jYm9vayt4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiYXBhY2hlXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZSxcbiAgICAgICAgZXh0ZW5zaW9uczogW1wiZGJrXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9kb3RzK2Nib3JcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9kcG9wK2p3dFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL2Rza3BwK3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vZHNzYytkZXJcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJkc3NjXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9kc3NjK3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZSxcbiAgICAgICAgZXh0ZW5zaW9uczogW1wieGRzc2NcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL2R2Y3NcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9lYXQrY3d0XCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vZWF0K2p3dFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL2VhdC1idW4rY2JvclwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL2VhdC1idW4ranNvblwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vZWF0LXVjcytjYm9yXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vZWF0LXVjcytqc29uXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9lY21hc2NyaXB0XCI6IHtcbiAgICAgICAgc291cmNlOiBcImFwYWNoZVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWUsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImVjbWFcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL2VkaG9jK2Nib3Itc2VxXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vZWRpLWNvbnNlbnRcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9lZGkteDEyXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiBmYWxzZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vZWRpZmFjdFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogZmFsc2VcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL2VmaVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL2VsbStqc29uXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY2hhcnNldDogXCJVVEYtOFwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL2VsbSt4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL2VtZXJnZW5jeWNhbGxkYXRhLmNhcCt4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjaGFyc2V0OiBcIlVURi04XCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vZW1lcmdlbmN5Y2FsbGRhdGEuY29tbWVudCt4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL2VtZXJnZW5jeWNhbGxkYXRhLmNvbnRyb2wreG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9lbWVyZ2VuY3ljYWxsZGF0YS5kZXZpY2VpbmZvK3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vZW1lcmdlbmN5Y2FsbGRhdGEuZWNhbGwubXNkXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vZW1lcmdlbmN5Y2FsbGRhdGEubGVnYWN5ZXNuK2pzb25cIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL2VtZXJnZW5jeWNhbGxkYXRhLnByb3ZpZGVyaW5mbyt4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL2VtZXJnZW5jeWNhbGxkYXRhLnNlcnZpY2VpbmZvK3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vZW1lcmdlbmN5Y2FsbGRhdGEuc3Vic2NyaWJlcmluZm8reG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9lbWVyZ2VuY3ljYWxsZGF0YS52ZWRzK3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vZW1tYSt4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWUsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImVtbWFcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL2Vtb3Rpb25tbCt4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWUsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImVtb3Rpb25tbFwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vZW5jYXBydHBcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9lbnRpdHktc3RhdGVtZW50K2p3dFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL2VwcCt4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL2VwdWIremlwXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiBmYWxzZSxcbiAgICAgICAgZXh0ZW5zaW9uczogW1wiZXB1YlwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vZXNob3BcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9leGlcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJleGlcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL2V4cGVjdC1jdC1yZXBvcnQranNvblwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vZXhwcmVzc1wiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImV4cFwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vZmFzdGluZm9zZXRcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9mYXN0c29hcFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL2ZkZlwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImZkZlwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vZmR0K3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZSxcbiAgICAgICAgZXh0ZW5zaW9uczogW1wiZmR0XCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9maGlyK2pzb25cIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjaGFyc2V0OiBcIlVURi04XCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vZmhpcit4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjaGFyc2V0OiBcIlVURi04XCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vZmlkby50cnVzdGVkLWFwcHMranNvblwiOiB7XG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vZml0c1wiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL2ZsZXhmZWNcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9mb250LXNmbnRcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9mb250LXRkcGZyXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wicGZyXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9mb250LXdvZmZcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IGZhbHNlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9mcmFtZXdvcmstYXR0cmlidXRlcyt4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL2dlbytqc29uXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJnZW9qc29uXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9nZW8ranNvbi1zZXFcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9nZW9wYWNrYWdlK3NxbGl0ZTNcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9nZW9wb3NlK2pzb25cIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL2dlb3hhY21sK2pzb25cIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL2dlb3hhY21sK3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vZ2x0Zi1idWZmZXJcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9nbWwreG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJnbWxcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL2duYXAtYmluZGluZy1qd3NcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9nbmFwLWJpbmRpbmctandzZFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL2duYXAtYmluZGluZy1yb3RhdGlvbi1qd3NcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9nbmFwLWJpbmRpbmctcm90YXRpb24tandzZFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL2dweCt4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiYXBhY2hlXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZSxcbiAgICAgICAgZXh0ZW5zaW9uczogW1wiZ3B4XCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9ncmliXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vZ3hmXCI6IHtcbiAgICAgICAgc291cmNlOiBcImFwYWNoZVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJneGZcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL2d6aXBcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IGZhbHNlLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJnelwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vaDIyNFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL2hlbGQreG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9oanNvblwiOiB7XG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImhqc29uXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9obDd2Mit4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjaGFyc2V0OiBcIlVURi04XCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vaHR0cFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL2h5cGVyc3R1ZGlvXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wic3RrXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9pYmUta2V5LXJlcXVlc3QreG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9pYmUtcGtnLXJlcGx5K3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vaWJlLXBwLWRhdGFcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9pZ2VzXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vaW0taXNjb21wb3NpbmcreG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY2hhcnNldDogXCJVVEYtOFwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL2luZGV4XCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vaW5kZXguY21kXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vaW5kZXgub2JqXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vaW5kZXgucmVzcG9uc2VcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9pbmRleC52bmRcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9pbmttbCt4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWUsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImlua1wiLCBcImlua21sXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9pb3RwXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vaXBmaXhcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJpcGZpeFwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vaXBwXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vaXN1cFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL2l0cyt4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWUsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcIml0c1wiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vamF2YS1hcmNoaXZlXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiBmYWxzZSxcbiAgICAgICAgZXh0ZW5zaW9uczogW1wiamFyXCIsIFwid2FyXCIsIFwiZWFyXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9qYXZhLXNlcmlhbGl6ZWQtb2JqZWN0XCI6IHtcbiAgICAgICAgc291cmNlOiBcImFwYWNoZVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IGZhbHNlLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJzZXJcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL2phdmEtdm1cIjoge1xuICAgICAgICBzb3VyY2U6IFwiYXBhY2hlXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogZmFsc2UsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImNsYXNzXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9qYXZhc2NyaXB0XCI6IHtcbiAgICAgICAgc291cmNlOiBcImFwYWNoZVwiLFxuICAgICAgICBjaGFyc2V0OiBcIlVURi04XCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZSxcbiAgICAgICAgZXh0ZW5zaW9uczogW1wianNcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL2pmMmZlZWQranNvblwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vam9zZVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL2pvc2UranNvblwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vanJkK2pzb25cIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL2pzY2FsZW5kYXIranNvblwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vanNjb250YWN0K2pzb25cIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL2pzb25cIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjaGFyc2V0OiBcIlVURi04XCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZSxcbiAgICAgICAgZXh0ZW5zaW9uczogW1wianNvblwiLCBcIm1hcFwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vanNvbi1wYXRjaCtqc29uXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9qc29uLXNlcVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL2pzb241XCI6IHtcbiAgICAgICAgZXh0ZW5zaW9uczogW1wianNvbjVcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL2pzb25tbCtqc29uXCI6IHtcbiAgICAgICAgc291cmNlOiBcImFwYWNoZVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWUsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImpzb25tbFwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vanNvbnBhdGhcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9qd2sranNvblwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vandrLXNldCtqc29uXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9qd2stc2V0K2p3dFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL2p3dFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL2twbWwtcmVxdWVzdCt4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL2twbWwtcmVzcG9uc2UreG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9sZCtqc29uXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJqc29ubGRcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL2xncit4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWUsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImxnclwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vbGluay1mb3JtYXRcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9saW5rc2V0XCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vbGlua3NldCtqc29uXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9sb2FkLWNvbnRyb2wreG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9sb2dvdXQrand0XCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vbG9zdCt4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWUsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImxvc3R4bWxcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL2xvc3RzeW5jK3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vbHBmK3ppcFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogZmFsc2VcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL2x4ZlwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL21hYy1iaW5oZXg0MFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImhxeFwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vbWFjLWNvbXBhY3Rwcm9cIjoge1xuICAgICAgICBzb3VyY2U6IFwiYXBhY2hlXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImNwdFwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vbWFjd3JpdGVpaVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL21hZHMreG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJtYWRzXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9tYW5pZmVzdCtqc29uXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY2hhcnNldDogXCJVVEYtOFwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWUsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcIndlYm1hbmlmZXN0XCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9tYXJjXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wibXJjXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9tYXJjeG1sK3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZSxcbiAgICAgICAgZXh0ZW5zaW9uczogW1wibXJjeFwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vbWF0aGVtYXRpY2FcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJtYVwiLCBcIm5iXCIsIFwibWJcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL21hdGhtbCt4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWUsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcIm1hdGhtbFwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vbWF0aG1sLWNvbnRlbnQreG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9tYXRobWwtcHJlc2VudGF0aW9uK3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vbWJtcy1hc3NvY2lhdGVkLXByb2NlZHVyZS1kZXNjcmlwdGlvbit4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL21ibXMtZGVyZWdpc3Rlcit4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL21ibXMtZW52ZWxvcGUreG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9tYm1zLW1zayt4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL21ibXMtbXNrLXJlc3BvbnNlK3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vbWJtcy1wcm90ZWN0aW9uLWRlc2NyaXB0aW9uK3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vbWJtcy1yZWNlcHRpb24tcmVwb3J0K3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vbWJtcy1yZWdpc3Rlcit4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL21ibXMtcmVnaXN0ZXItcmVzcG9uc2UreG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9tYm1zLXNjaGVkdWxlK3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vbWJtcy11c2VyLXNlcnZpY2UtZGVzY3JpcHRpb24reG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9tYm94XCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wibWJveFwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vbWVkaWEtcG9saWN5LWRhdGFzZXQreG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJtcGZcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL21lZGlhX2NvbnRyb2wreG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9tZWRpYXNlcnZlcmNvbnRyb2wreG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJtc2NtbFwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vbWVyZ2UtcGF0Y2granNvblwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vbWV0YWxpbmsreG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImFwYWNoZVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWUsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcIm1ldGFsaW5rXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9tZXRhbGluazQreG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJtZXRhNFwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vbWV0cyt4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWUsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcIm1ldHNcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL21mNFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL21pa2V5XCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vbWlwY1wiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL21pc3NpbmctYmxvY2tzK2Nib3Itc2VxXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vbW10LWFlaSt4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWUsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcIm1hZWlcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL21tdC11c2QreG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJtdXNkXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9tb2RzK3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZSxcbiAgICAgICAgZXh0ZW5zaW9uczogW1wibW9kc1wiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vbW9zcy1rZXlzXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vbW9zcy1zaWduYXR1cmVcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9tb3Nza2V5LWRhdGFcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9tb3Nza2V5LXJlcXVlc3RcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9tcDIxXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wibTIxXCIsIFwibXAyMVwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vbXA0XCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wibXA0XCIsIFwibXBnNFwiLCBcIm1wNHNcIiwgXCJtNHBcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL21wZWc0LWdlbmVyaWNcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9tcGVnNC1pb2RcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9tcGVnNC1pb2QteG10XCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vbXJiLWNvbnN1bWVyK3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vbXJiLXB1Ymxpc2greG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9tc2MtaXZyK3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNoYXJzZXQ6IFwiVVRGLThcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9tc2MtbWl4ZXIreG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY2hhcnNldDogXCJVVEYtOFwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL21zaXhcIjoge1xuICAgICAgICBjb21wcmVzc2libGU6IGZhbHNlLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJtc2l4XCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9tc2l4YnVuZGxlXCI6IHtcbiAgICAgICAgY29tcHJlc3NpYmxlOiBmYWxzZSxcbiAgICAgICAgZXh0ZW5zaW9uczogW1wibXNpeGJ1bmRsZVwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vbXN3b3JkXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiBmYWxzZSxcbiAgICAgICAgZXh0ZW5zaW9uczogW1wiZG9jXCIsIFwiZG90XCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9tdWQranNvblwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vbXVsdGlwYXJ0LWNvcmVcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9teGZcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJteGZcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL24tcXVhZHNcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJucVwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vbi10cmlwbGVzXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wibnRcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL25hc2RhdGFcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9uZXdzLWNoZWNrZ3JvdXBzXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY2hhcnNldDogXCJVUy1BU0NJSVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9uZXdzLWdyb3VwaW5mb1wiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNoYXJzZXQ6IFwiVVMtQVNDSUlcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vbmV3cy10cmFuc21pc3Npb25cIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9ubHNtbCt4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL25vZGVcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJjanNcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL25zc1wiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL29hdXRoLWF1dGh6LXJlcStqd3RcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9vYmxpdmlvdXMtZG5zLW1lc3NhZ2VcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9vY3NwLXJlcXVlc3RcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9vY3NwLXJlc3BvbnNlXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vb2N0ZXQtc3RyZWFtXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJiaW5cIiwgXCJkbXNcIiwgXCJscmZcIiwgXCJtYXJcIiwgXCJzb1wiLCBcImRpc3RcIiwgXCJkaXN0elwiLCBcInBrZ1wiLCBcImJwa1wiLCBcImR1bXBcIiwgXCJlbGNcIiwgXCJkZXBsb3lcIiwgXCJleGVcIiwgXCJkbGxcIiwgXCJkZWJcIiwgXCJkbWdcIiwgXCJpc29cIiwgXCJpbWdcIiwgXCJtc2lcIiwgXCJtc3BcIiwgXCJtc21cIiwgXCJidWZmZXJcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL29kYVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcIm9kYVwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vb2RtK3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vb2R4XCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vb2VicHMtcGFja2FnZSt4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWUsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcIm9wZlwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vb2dnXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiBmYWxzZSxcbiAgICAgICAgZXh0ZW5zaW9uczogW1wib2d4XCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9vaHR0cC1rZXlzXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vb21kb2MreG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImFwYWNoZVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWUsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcIm9tZG9jXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9vbmVub3RlXCI6IHtcbiAgICAgICAgc291cmNlOiBcImFwYWNoZVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJvbmV0b2NcIiwgXCJvbmV0b2MyXCIsIFwib25ldG1wXCIsIFwib25lcGtnXCIsIFwib25lXCIsIFwib25lYVwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vb3BjLW5vZGVzZXQreG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9vc2NvcmVcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9veHBzXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wib3hwc1wiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vcDIxXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vcDIxK3ppcFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogZmFsc2VcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3AycC1vdmVybGF5K3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZSxcbiAgICAgICAgZXh0ZW5zaW9uczogW1wicmVsb1wiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vcGFyaXR5ZmVjXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vcGFzc3BvcnRcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9wYXRjaC1vcHMtZXJyb3IreG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJ4ZXJcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3BkZlwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogZmFsc2UsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcInBkZlwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vcGR4XCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vcGVtLWNlcnRpZmljYXRlLWNoYWluXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vcGdwLWVuY3J5cHRlZFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogZmFsc2UsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcInBncFwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vcGdwLWtleXNcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJhc2NcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3BncC1zaWduYXR1cmVcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJzaWdcIiwgXCJhc2NcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3BpY3MtcnVsZXNcIjoge1xuICAgICAgICBzb3VyY2U6IFwiYXBhY2hlXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcInByZlwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vcGlkZit4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjaGFyc2V0OiBcIlVURi04XCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vcGlkZi1kaWZmK3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNoYXJzZXQ6IFwiVVRGLThcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9wa2NzMTBcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJwMTBcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3BrY3MxMlwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3BrY3M3LW1pbWVcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJwN21cIiwgXCJwN2NcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3BrY3M3LXNpZ25hdHVyZVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcInA3c1wiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vcGtjczhcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJwOFwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vcGtjczgtZW5jcnlwdGVkXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vcGtpeC1hdHRyLWNlcnRcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJhY1wiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vcGtpeC1jZXJ0XCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wiY2VyXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9wa2l4LWNybFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImNybFwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vcGtpeC1wa2lwYXRoXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wicGtpcGF0aFwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vcGtpeGNtcFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcInBraVwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vcGxzK3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZSxcbiAgICAgICAgZXh0ZW5zaW9uczogW1wicGxzXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9wb2Mtc2V0dGluZ3MreG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY2hhcnNldDogXCJVVEYtOFwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3Bvc3RzY3JpcHRcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWUsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImFpXCIsIFwiZXBzXCIsIFwicHNcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3Bwc3AtdHJhY2tlcitqc29uXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9wcml2YXRlLXRva2VuLWlzc3Vlci1kaXJlY3RvcnlcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9wcml2YXRlLXRva2VuLXJlcXVlc3RcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9wcml2YXRlLXRva2VuLXJlc3BvbnNlXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vcHJvYmxlbStqc29uXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9wcm9ibGVtK3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vcHJvdmVuYW5jZSt4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWUsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcInByb3Z4XCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9wcm92aWRlZC1jbGFpbXMrand0XCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vcHJzLmFsdmVzdHJhbmQudGl0cmF4LXNoZWV0XCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vcHJzLmN3d1wiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImN3d1wiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vcHJzLmN5blwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNoYXJzZXQ6IFwiNy1CSVRcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vcHJzLmhwdWIremlwXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiBmYWxzZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vcHJzLmltcGxpZWQtZG9jdW1lbnQreG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9wcnMuaW1wbGllZC1leGVjdXRhYmxlXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vcHJzLmltcGxpZWQtb2JqZWN0K2pzb25cIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3Bycy5pbXBsaWVkLW9iamVjdCtqc29uLXNlcVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3Bycy5pbXBsaWVkLW9iamVjdCt5YW1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vcHJzLmltcGxpZWQtc3RydWN0dXJlXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vcHJzLm1heWZpbGVcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9wcnMubnByZW5kXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vcHJzLnBsdWNrZXJcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9wcnMucmRmLXhtbC1jcnlwdFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3Bycy52Y2ZiemlwMlwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3Bycy54c2YreG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJ4c2ZcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3Bza2MreG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJwc2tjeG1sXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9wdmQranNvblwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vcXNpZ1wiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3JhbWwreWFtbFwiOiB7XG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZSxcbiAgICAgICAgZXh0ZW5zaW9uczogW1wicmFtbFwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vcmFwdG9yZmVjXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vcmRhcCtqc29uXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9yZGYreG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJyZGZcIiwgXCJvd2xcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3JlZ2luZm8reG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJyaWZcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3JlbGF4LW5nLWNvbXBhY3Qtc3ludGF4XCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wicm5jXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9yZW1vdGUtcHJpbnRpbmdcIjoge1xuICAgICAgICBzb3VyY2U6IFwiYXBhY2hlXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3JlcHV0b24ranNvblwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vcmVzb2x2ZS1yZXNwb25zZStqd3RcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9yZXNvdXJjZS1saXN0cyt4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWUsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcInJsXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9yZXNvdXJjZS1saXN0cy1kaWZmK3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZSxcbiAgICAgICAgZXh0ZW5zaW9uczogW1wicmxkXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9yZmMreG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9yaXNjb3NcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9ybG1pK3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vcmxzLXNlcnZpY2VzK3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZSxcbiAgICAgICAgZXh0ZW5zaW9uczogW1wicnNcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3JvdXRlLWFwZCt4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWUsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcInJhcGRcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3JvdXRlLXMtdHNpZCt4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWUsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcInNsc1wiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vcm91dGUtdXNkK3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZSxcbiAgICAgICAgZXh0ZW5zaW9uczogW1wicnVzZFwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vcnBraS1jaGVja2xpc3RcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9ycGtpLWdob3N0YnVzdGVyc1wiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImdiclwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vcnBraS1tYW5pZmVzdFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcIm1mdFwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vcnBraS1wdWJsaWNhdGlvblwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3Jwa2ktcm9hXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wicm9hXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9ycGtpLXNpZ25lZC10YWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9ycGtpLXVwZG93blwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3JzZCt4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiYXBhY2hlXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZSxcbiAgICAgICAgZXh0ZW5zaW9uczogW1wicnNkXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9yc3MreG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImFwYWNoZVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWUsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcInJzc1wiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vcnRmXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJydGZcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3J0cGxvb3BiYWNrXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vcnR4XCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vc2FtbGFzc2VydGlvbit4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3NhbWxtZXRhZGF0YSt4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3NhcmlmK2pzb25cIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3NhcmlmLWV4dGVybmFsLXByb3BlcnRpZXMranNvblwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vc2JlXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vc2JtbCt4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWUsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcInNibWxcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3NjYWlwK3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vc2NpbStqc29uXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9zY3ZwLWN2LXJlcXVlc3RcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJzY3FcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3NjdnAtY3YtcmVzcG9uc2VcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJzY3NcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3NjdnAtdnAtcmVxdWVzdFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcInNwcVwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vc2N2cC12cC1yZXNwb25zZVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcInNwcFwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vc2RwXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wic2RwXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9zZWNldmVudCtqd3RcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9zZW5tbCtjYm9yXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vc2VubWwranNvblwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vc2VubWwreG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJzZW5tbHhcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3Nlbm1sLWV0Y2grY2JvclwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3Nlbm1sLWV0Y2granNvblwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vc2VubWwtZXhpXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vc2Vuc21sK2Nib3JcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9zZW5zbWwranNvblwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vc2Vuc21sK3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZSxcbiAgICAgICAgZXh0ZW5zaW9uczogW1wic2Vuc21seFwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vc2Vuc21sLWV4aVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3NlcCt4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3NlcC1leGlcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9zZXNzaW9uLWluZm9cIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9zZXQtcGF5bWVudFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3NldC1wYXltZW50LWluaXRpYXRpb25cIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJzZXRwYXlcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3NldC1yZWdpc3RyYXRpb25cIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9zZXQtcmVnaXN0cmF0aW9uLWluaXRpYXRpb25cIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJzZXRyZWdcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3NnbWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9zZ21sLW9wZW4tY2F0YWxvZ1wiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3NoZit4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWUsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcInNoZlwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vc2lldmVcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJzaXZcIiwgXCJzaWV2ZVwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vc2ltcGxlLWZpbHRlcit4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3NpbXBsZS1tZXNzYWdlLXN1bW1hcnlcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9zaW1wbGVzeW1ib2xjb250YWluZXJcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9zaXBjXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vc2xhdGVcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9zbWlsXCI6IHtcbiAgICAgICAgc291cmNlOiBcImFwYWNoZVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9zbWlsK3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZSxcbiAgICAgICAgZXh0ZW5zaW9uczogW1wic21pXCIsIFwic21pbFwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vc21wdGUzMzZtXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vc29hcCtmYXN0aW5mb3NldFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3NvYXAreG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9zcGFycWwtcXVlcnlcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJycVwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vc3BhcnFsLXJlc3VsdHMreG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJzcnhcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3NwZHgranNvblwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vc3Bpcml0cy1ldmVudCt4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3NxbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcInNxbFwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vc3Jnc1wiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImdyYW1cIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3NyZ3MreG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJncnhtbFwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vc3J1K3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZSxcbiAgICAgICAgZXh0ZW5zaW9uczogW1wic3J1XCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9zc2RsK3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJhcGFjaGVcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJzc2RsXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9zc2xrZXlsb2dmaWxlXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vc3NtbCt4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWUsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcInNzbWxcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3N0MjExMC00MVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3N0aXgranNvblwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vc3RyYXR1bVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3N3aWQrY2JvclwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3N3aWQreG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJzd2lkdGFnXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi90YW1wLWFwZXgtdXBkYXRlXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdGFtcC1hcGV4LXVwZGF0ZS1jb25maXJtXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdGFtcC1jb21tdW5pdHktdXBkYXRlXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdGFtcC1jb21tdW5pdHktdXBkYXRlLWNvbmZpcm1cIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi90YW1wLWVycm9yXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdGFtcC1zZXF1ZW5jZS1hZGp1c3RcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi90YW1wLXNlcXVlbmNlLWFkanVzdC1jb25maXJtXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdGFtcC1zdGF0dXMtcXVlcnlcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi90YW1wLXN0YXR1cy1yZXNwb25zZVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3RhbXAtdXBkYXRlXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdGFtcC11cGRhdGUtY29uZmlybVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3RhclwiOiB7XG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdGF4aWkranNvblwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdGQranNvblwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdGVpK3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZSxcbiAgICAgICAgZXh0ZW5zaW9uczogW1widGVpXCIsIFwidGVpY29ycHVzXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi90ZXRyYV9pc2lcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi90aHJhdWQreG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJ0ZmlcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3RpbWVzdGFtcC1xdWVyeVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3RpbWVzdGFtcC1yZXBseVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3RpbWVzdGFtcGVkLWRhdGFcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJ0c2RcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3Rsc3JwdCtnemlwXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdGxzcnB0K2pzb25cIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3RtK2pzb25cIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3RuYXV0aGxpc3RcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi90b2MrY2JvclwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3Rva2VuLWludHJvc3BlY3Rpb24rand0XCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdG9tbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZSxcbiAgICAgICAgZXh0ZW5zaW9uczogW1widG9tbFwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdHJpY2tsZS1pY2Utc2RwZnJhZ1wiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3RyaWdcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJ0cmlnXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi90cnVzdC1jaGFpbitqc29uXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi90cnVzdC1tYXJrK2p3dFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3RydXN0LW1hcmstZGVsZWdhdGlvbitqd3RcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi90dG1sK3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZSxcbiAgICAgICAgZXh0ZW5zaW9uczogW1widHRtbFwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdHZlLXRyaWdnZXJcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi90emlmXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdHppZi1sZWFwXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdWJqc29uXCI6IHtcbiAgICAgICAgY29tcHJlc3NpYmxlOiBmYWxzZSxcbiAgICAgICAgZXh0ZW5zaW9uczogW1widWJqXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi91Y2NzK2Nib3JcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi91amNzK2pzb25cIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3VscGZlY1wiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3VyYy1ncnBzaGVldCt4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3VyYy1yZXNzaGVldCt4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWUsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcInJzaGVldFwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdXJjLXRhcmdldGRlc2MreG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJ0ZFwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdXJjLXVpc29ja2V0ZGVzYyt4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZjXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdmMrY29zZVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZjK2p3dFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZjYXJkK2pzb25cIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZjYXJkK3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdmVtbWlcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92aXZpZGVuY2Uuc2NyaXB0ZmlsZVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJhcGFjaGVcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLjEwMDBtaW5kcy5kZWNpc2lvbi1tb2RlbCt4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWUsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcIjFrbVwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLjFvYlwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC4zZ3BwLXByb3NlK3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLjNncHAtcHJvc2UtcGMzYSt4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC4zZ3BwLXByb3NlLXBjM2FjaCt4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC4zZ3BwLXByb3NlLXBjM2NoK3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLjNncHAtcHJvc2UtcGM4K3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLjNncHAtdjJ4LWxvY2FsLXNlcnZpY2UtaW5mb3JtYXRpb25cIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuM2dwcC41Z25hc1wiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC4zZ3BwLjVnc2EyeFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC4zZ3BwLjVnc2EyeC1sb2NhbC1zZXJ2aWNlLWluZm9ybWF0aW9uXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLjNncHAuNWdzdjJ4XCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLjNncHAuNWdzdjJ4LWxvY2FsLXNlcnZpY2UtaW5mb3JtYXRpb25cIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuM2dwcC5hY2Nlc3MtdHJhbnNmZXItZXZlbnRzK3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLjNncHAuYnNmK3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLjNncHAuY3JzK3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLjNncHAuY3VycmVudC1sb2NhdGlvbi1kaXNjb3ZlcnkreG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuM2dwcC5nbW9wK3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLjNncHAuZ3RwY1wiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC4zZ3BwLmludGVyd29ya2luZy1kYXRhXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLjNncHAubHBwXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLjNncHAubWMtc2lnbmFsbGluZy1lYXJcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuM2dwcC5tY2RhdGEtYWZmaWxpYXRpb24tY29tbWFuZCt4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC4zZ3BwLm1jZGF0YS1pbmZvK3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLjNncHAubWNkYXRhLW1zZ3N0b3JlLWN0cmwtcmVxdWVzdCt4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC4zZ3BwLm1jZGF0YS1wYXlsb2FkXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLjNncHAubWNkYXRhLXJlZ3JvdXAreG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuM2dwcC5tY2RhdGEtc2VydmljZS1jb25maWcreG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuM2dwcC5tY2RhdGEtc2lnbmFsbGluZ1wiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC4zZ3BwLm1jZGF0YS11ZS1jb25maWcreG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuM2dwcC5tY2RhdGEtdXNlci1wcm9maWxlK3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLjNncHAubWNwdHQtYWZmaWxpYXRpb24tY29tbWFuZCt4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC4zZ3BwLm1jcHR0LWZsb29yLXJlcXVlc3QreG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuM2dwcC5tY3B0dC1pbmZvK3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLjNncHAubWNwdHQtbG9jYXRpb24taW5mbyt4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC4zZ3BwLm1jcHR0LW1ibXMtdXNhZ2UtaW5mbyt4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC4zZ3BwLm1jcHR0LXJlZ3JvdXAreG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuM2dwcC5tY3B0dC1zZXJ2aWNlLWNvbmZpZyt4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC4zZ3BwLm1jcHR0LXNpZ25lZCt4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC4zZ3BwLm1jcHR0LXVlLWNvbmZpZyt4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC4zZ3BwLm1jcHR0LXVlLWluaXQtY29uZmlnK3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLjNncHAubWNwdHQtdXNlci1wcm9maWxlK3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLjNncHAubWN2aWRlby1hZmZpbGlhdGlvbi1jb21tYW5kK3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLjNncHAubWN2aWRlby1pbmZvK3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLjNncHAubWN2aWRlby1sb2NhdGlvbi1pbmZvK3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLjNncHAubWN2aWRlby1tYm1zLXVzYWdlLWluZm8reG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuM2dwcC5tY3ZpZGVvLXJlZ3JvdXAreG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuM2dwcC5tY3ZpZGVvLXNlcnZpY2UtY29uZmlnK3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLjNncHAubWN2aWRlby10cmFuc21pc3Npb24tcmVxdWVzdCt4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC4zZ3BwLm1jdmlkZW8tdWUtY29uZmlnK3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLjNncHAubWN2aWRlby11c2VyLXByb2ZpbGUreG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuM2dwcC5taWQtY2FsbCt4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC4zZ3BwLm5nYXBcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuM2dwcC5wZmNwXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLjNncHAucGljLWJ3LWxhcmdlXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wicGxiXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuM2dwcC5waWMtYnctc21hbGxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJwc2JcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC4zZ3BwLnBpYy1idy12YXJcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJwdmJcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC4zZ3BwLnBpbmFwcC1pbmZvK3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLjNncHAuczFhcFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC4zZ3BwLnNlYWwtZ3JvdXAtZG9jK3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLjNncHAuc2VhbC1pbmZvK3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLjNncHAuc2VhbC1sb2NhdGlvbi1pbmZvK3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLjNncHAuc2VhbC1tYm1zLXVzYWdlLWluZm8reG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuM2dwcC5zZWFsLW5ldHdvcmstcW9zLW1hbmFnZW1lbnQtaW5mbyt4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC4zZ3BwLnNlYWwtdWUtY29uZmlnLWluZm8reG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuM2dwcC5zZWFsLXVuaWNhc3QtaW5mbyt4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC4zZ3BwLnNlYWwtdXNlci1wcm9maWxlLWluZm8reG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuM2dwcC5zbXNcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuM2dwcC5zbXMreG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuM2dwcC5zcnZjYy1leHQreG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuM2dwcC5zcnZjYy1pbmZvK3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLjNncHAuc3RhdGUtYW5kLWV2ZW50LWluZm8reG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuM2dwcC51c3NkK3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLjNncHAudjJ4XCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLjNncHAudmFlLWluZm8reG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuM2dwcDIuYmNtY3NpbmZvK3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLjNncHAyLnNtc1wiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC4zZ3BwMi50Y2FwXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1widGNhcFwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLjNsaWdodHNzb2Z0d2FyZS5pbWFnZXNjYWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuM20ucG9zdC1pdC1ub3Rlc1wiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcInB3blwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmFjY3BhYy5zaW1wbHkuYXNvXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wiYXNvXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuYWNjcGFjLnNpbXBseS5pbXBcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJpbXBcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5hY20uYWRkcmVzc3hmZXIranNvblwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmFjbS5jaGF0Ym90K2pzb25cIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5hY3Vjb2JvbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImFjdVwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmFjdWNvcnBcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJhdGNcIiwgXCJhY3V0Y1wiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmFkb2JlLmFpci1hcHBsaWNhdGlvbi1pbnN0YWxsZXItcGFja2FnZSt6aXBcIjoge1xuICAgICAgICBzb3VyY2U6IFwiYXBhY2hlXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogZmFsc2UsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImFpclwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmFkb2JlLmZsYXNoLm1vdmllXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmFkb2JlLmZvcm1zY2VudHJhbC5mY2R0XCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wiZmNkdFwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmFkb2JlLmZ4cFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImZ4cFwiLCBcImZ4cGxcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5hZG9iZS5wYXJ0aWFsLXVwbG9hZFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5hZG9iZS54ZHAreG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJ4ZHBcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5hZG9iZS54ZmRmXCI6IHtcbiAgICAgICAgc291cmNlOiBcImFwYWNoZVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJ4ZmRmXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuYWV0aGVyLmltcFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5hZnBjLmFmcGxpbmVkYXRhXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmFmcGMuYWZwbGluZWRhdGEtcGFnZWRlZlwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5hZnBjLmNtb2NhLWNtcmVzb3VyY2VcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuYWZwYy5mb2NhLWNoYXJzZXRcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuYWZwYy5mb2NhLWNvZGVkZm9udFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5hZnBjLmZvY2EtY29kZXBhZ2VcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuYWZwYy5tb2RjYVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5hZnBjLm1vZGNhLWNtdGFibGVcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuYWZwYy5tb2RjYS1mb3JtZGVmXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmFmcGMubW9kY2EtbWVkaXVtbWFwXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmFmcGMubW9kY2Etb2JqZWN0Y29udGFpbmVyXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmFmcGMubW9kY2Etb3ZlcmxheVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5hZnBjLm1vZGNhLXBhZ2VzZWdtZW50XCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmFnZVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImFnZVwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmFoLWJhcmNvZGVcIjoge1xuICAgICAgICBzb3VyY2U6IFwiYXBhY2hlXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5haGVhZC5zcGFjZVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImFoZWFkXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuYWlyemlwLmZpbGVzZWN1cmUuYXpmXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wiYXpmXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuYWlyemlwLmZpbGVzZWN1cmUuYXpzXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wiYXpzXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuYW1hZGV1cytqc29uXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuYW1hem9uLmVib29rXCI6IHtcbiAgICAgICAgc291cmNlOiBcImFwYWNoZVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJhendcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5hbWF6b24ubW9iaTgtZWJvb2tcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuYW1lcmljYW5keW5hbWljcy5hY2NcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJhY2NcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5hbWlnYS5hbWlcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJhbWlcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5hbXVuZHNlbi5tYXplK3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmFuZHJvaWQub3RhXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmFuZHJvaWQucGFja2FnZS1hcmNoaXZlXCI6IHtcbiAgICAgICAgc291cmNlOiBcImFwYWNoZVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IGZhbHNlLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJhcGtcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5hbmtpXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmFuc2VyLXdlYi1jZXJ0aWZpY2F0ZS1pc3N1ZS1pbml0aWF0aW9uXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wiY2lpXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuYW5zZXItd2ViLWZ1bmRzLXRyYW5zZmVyLWluaXRpYXRpb25cIjoge1xuICAgICAgICBzb3VyY2U6IFwiYXBhY2hlXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImZ0aVwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmFudGl4LmdhbWUtY29tcG9uZW50XCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wiYXR4XCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuYXBhY2hlLmFycm93LmZpbGVcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuYXBhY2hlLmFycm93LnN0cmVhbVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5hcGFjaGUucGFycXVldFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5hcGFjaGUudGhyaWZ0LmJpbmFyeVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5hcGFjaGUudGhyaWZ0LmNvbXBhY3RcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuYXBhY2hlLnRocmlmdC5qc29uXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmFwZXhsYW5nXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmFwaStqc29uXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuYXBsZXh0b3Iud2FycnAranNvblwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmFwb3RoZWtlbmRlLnJlc2VydmF0aW9uK2pzb25cIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5hcHBsZS5pbnN0YWxsZXIreG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJtcGtnXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuYXBwbGUua2V5bm90ZVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImtleVwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmFwcGxlLm1wZWd1cmxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJtM3U4XCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuYXBwbGUubnVtYmVyc1wiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcIm51bWJlcnNcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5hcHBsZS5wYWdlc1wiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcInBhZ2VzXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuYXBwbGUucGtwYXNzXCI6IHtcbiAgICAgICAgY29tcHJlc3NpYmxlOiBmYWxzZSxcbiAgICAgICAgZXh0ZW5zaW9uczogW1wicGtwYXNzXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuYXJhc3RyYS5zd2lcIjoge1xuICAgICAgICBzb3VyY2U6IFwiYXBhY2hlXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5hcmlzdGFuZXR3b3Jrcy5zd2lcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJzd2lcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5hcnRpc2FuK2pzb25cIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5hcnRzcXVhcmVcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuYXN0cmFlYS1zb2Z0d2FyZS5pb3RhXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wiaW90YVwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmF1ZGlvZ3JhcGhcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJhZXBcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5hdXRvZGVzay5mYnhcIjoge1xuICAgICAgICBleHRlbnNpb25zOiBbXCJmYnhcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5hdXRvcGFja2FnZVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5hdmFsb24ranNvblwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmF2aXN0YXIreG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuYmFsc2FtaXEuYm1tbCt4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWUsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImJtbWxcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5iYWxzYW1pcS5ibXByXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmJhbmFuYS1hY2NvdW50aW5nXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmJiZi51c3AuZXJyb3JcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuYmJmLnVzcC5tc2dcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuYmJmLnVzcC5tc2cranNvblwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmJla2l0enVyLXN0ZWNoK2pzb25cIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5iZWxpZ2h0c29mdC5saHpkK3ppcFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogZmFsc2VcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5iZWxpZ2h0c29mdC5saHpsK3ppcFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogZmFsc2VcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5iaW50Lm1lZC1jb250ZW50XCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmJpb3BheC5yZGYreG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuYmxpbmstaWRiLXZhbHVlLXdyYXBwZXJcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuYmx1ZWljZS5tdWx0aXBhc3NcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJtcG1cIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5ibHVldG9vdGguZXAub29iXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmJsdWV0b290aC5sZS5vb2JcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuYm1pXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wiYm1pXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuYnBmXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmJwZjNcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuYnVzaW5lc3NvYmplY3RzXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wicmVwXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuYnl1LnVhcGkranNvblwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmJ6aXAzXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmMzdm9jLnNjaGVkdWxlK3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmNhYi1qc2NyaXB0XCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmNhbm9uLWNwZGxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuY2Fub24tbGlwc1wiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5jYXBhc3lzdGVtcy1wZytqc29uXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuY2VuZGlvLnRoaW5saW5jLmNsaWVudGNvbmZcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuY2VudHVyeS1zeXN0ZW1zLnRjcF9zdHJlYW1cIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuY2hlbWRyYXcreG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJjZHhtbFwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmNoZXNzLXBnblwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5jaGlwbnV0cy5rYXJhb2tlLW1tZFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcIm1tZFwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmNpZWRpXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmNpbmRlcmVsbGFcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJjZHlcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5jaXJwYWNrLmlzZG4tZXh0XCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmNpdGF0aW9uc3R5bGVzLnN0eWxlK3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZSxcbiAgICAgICAgZXh0ZW5zaW9uczogW1wiY3NsXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuY2xheW1vcmVcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJjbGFcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5jbG9hbnRvLnJwOVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcInJwOVwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmNsb25rLmM0Z3JvdXBcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJjNGdcIiwgXCJjNGRcIiwgXCJjNGZcIiwgXCJjNHBcIiwgXCJjNHVcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5jbHVldHJ1c3QuY2FydG9tb2JpbGUtY29uZmlnXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wiYzExYW1jXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuY2x1ZXRydXN0LmNhcnRvbW9iaWxlLWNvbmZpZy1wa2dcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJjMTFhbXpcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5jbmNmLmhlbG0uY2hhcnQuY29udGVudC52MS50YXIrZ3ppcFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5jbmNmLmhlbG0uY2hhcnQucHJvdmVuYW5jZS52MS5wcm92XCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmNuY2YuaGVsbS5jb25maWcudjEranNvblwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmNvZmZlZXNjcmlwdFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5jb2xsYWJpby54b2RvY3VtZW50cy5kb2N1bWVudFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5jb2xsYWJpby54b2RvY3VtZW50cy5kb2N1bWVudC10ZW1wbGF0ZVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5jb2xsYWJpby54b2RvY3VtZW50cy5wcmVzZW50YXRpb25cIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuY29sbGFiaW8ueG9kb2N1bWVudHMucHJlc2VudGF0aW9uLXRlbXBsYXRlXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmNvbGxhYmlvLnhvZG9jdW1lbnRzLnNwcmVhZHNoZWV0XCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmNvbGxhYmlvLnhvZG9jdW1lbnRzLnNwcmVhZHNoZWV0LXRlbXBsYXRlXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmNvbGxlY3Rpb24ranNvblwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmNvbGxlY3Rpb24uZG9jK2pzb25cIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5jb2xsZWN0aW9uLm5leHQranNvblwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmNvbWljYm9vayt6aXBcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IGZhbHNlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuY29taWNib29rLXJhclwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5jb21tZXJjZS1iYXR0ZWxsZVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5jb21tb25zcGFjZVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImNzcFwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmNvbnRhY3QuY21zZ1wiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImNkYmNtc2dcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5jb3Jlb3MuaWduaXRpb24ranNvblwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmNvc21vY2FsbGVyXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wiY21jXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuY3JpY2suY2xpY2tlclwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImNsa3hcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5jcmljay5jbGlja2VyLmtleWJvYXJkXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wiY2xra1wiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmNyaWNrLmNsaWNrZXIucGFsZXR0ZVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImNsa3BcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5jcmljay5jbGlja2VyLnRlbXBsYXRlXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wiY2xrdFwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmNyaWNrLmNsaWNrZXIud29yZGJhbmtcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJjbGt3XCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuY3JpdGljYWx0b29scy53YnMreG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJ3YnNcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5jcnlwdGlpLnBpcGUranNvblwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmNyeXB0by1zaGFkZS1maWxlXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmNyeXB0b21hdG9yLmVuY3J5cHRlZFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5jcnlwdG9tYXRvci52YXVsdFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5jdGMtcG9zbWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJwbWxcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5jdGN0LndzK3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmN1cHMtcGRmXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmN1cHMtcG9zdHNjcmlwdFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5jdXBzLXBwZFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcInBwZFwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmN1cHMtcmFzdGVyXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmN1cHMtcmF3XCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmN1cmxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuY3VybC5jYXJcIjoge1xuICAgICAgICBzb3VyY2U6IFwiYXBhY2hlXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImNhclwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmN1cmwucGN1cmxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiYXBhY2hlXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcInBjdXJsXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuY3lhbi5kZWFuLnJvb3QreG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuY3liYW5rXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmN5Y2xvbmVkeCtqc29uXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuY3ljbG9uZWR4K3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmQybC5jb3Vyc2VwYWNrYWdlMXAwK3ppcFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogZmFsc2VcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5kM20tZGF0YXNldFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5kM20tcHJvYmxlbVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5kYXJ0XCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJkYXJ0XCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuZGF0YS12aXNpb24ucmR6XCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wicmR6XCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuZGF0YWxvZ1wiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5kYXRhcGFja2FnZStqc29uXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuZGF0YXJlc291cmNlK2pzb25cIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5kYmZcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJkYmZcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5kY21wK3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZSxcbiAgICAgICAgZXh0ZW5zaW9uczogW1wiZGNtcFwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmRlYmlhbi5iaW5hcnktcGFja2FnZVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5kZWNlLmRhdGFcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJ1dmZcIiwgXCJ1dnZmXCIsIFwidXZkXCIsIFwidXZ2ZFwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmRlY2UudHRtbCt4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWUsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcInV2dFwiLCBcInV2dnRcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5kZWNlLnVuc3BlY2lmaWVkXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1widXZ4XCIsIFwidXZ2eFwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmRlY2UuemlwXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1widXZ6XCIsIFwidXZ2elwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmRlbm92by5mY3NlbGF5b3V0LWxpbmtcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJmZV9sYXVuY2hcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5kZXNtdW1lLm1vdmllXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmRpci1iaS5wbGF0ZS1kbC1ub3N1ZmZpeFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5kbS5kZWxlZ2F0aW9uK3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmRuYVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImRuYVwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmRvY3VtZW50K2pzb25cIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5kb2xieS5tbHBcIjoge1xuICAgICAgICBzb3VyY2U6IFwiYXBhY2hlXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcIm1scFwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmRvbGJ5Lm1vYmlsZS4xXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmRvbGJ5Lm1vYmlsZS4yXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmRvcmVtaXIuc2NvcmVjbG91ZC1iaW5hcnktZG9jdW1lbnRcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuZHBncmFwaFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImRwZ1wiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmRyZWFtZmFjdG9yeVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImRmYWNcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5kcml2ZStqc29uXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuZHMta2V5cG9pbnRcIjoge1xuICAgICAgICBzb3VyY2U6IFwiYXBhY2hlXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImtweHhcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5kdGcubG9jYWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuZHRnLmxvY2FsLmZsYXNoXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmR0Zy5sb2NhbC5odG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmR2Yi5haXRcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJhaXRcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5kdmIuZHZiaXNsK3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmR2Yi5kdmJqXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmR2Yi5lc2djb250YWluZXJcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuZHZiLmlwZGNkZnRub3RpZmFjY2Vzc1wiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5kdmIuaXBkY2VzZ2FjY2Vzc1wiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5kdmIuaXBkY2VzZ2FjY2VzczJcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuZHZiLmlwZGNlc2dwZGRcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuZHZiLmlwZGNyb2FtaW5nXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmR2Yi5pcHR2LmFsZmVjLWJhc2VcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuZHZiLmlwdHYuYWxmZWMtZW5oYW5jZW1lbnRcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuZHZiLm5vdGlmLWFnZ3JlZ2F0ZS1yb290K3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmR2Yi5ub3RpZi1jb250YWluZXIreG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuZHZiLm5vdGlmLWdlbmVyaWMreG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuZHZiLm5vdGlmLWlhLW1zZ2xpc3QreG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuZHZiLm5vdGlmLWlhLXJlZ2lzdHJhdGlvbi1yZXF1ZXN0K3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmR2Yi5ub3RpZi1pYS1yZWdpc3RyYXRpb24tcmVzcG9uc2UreG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuZHZiLm5vdGlmLWluaXQreG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuZHZiLnBmclwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5kdmIuc2VydmljZVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcInN2Y1wiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmR4clwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5keW5hZ2VvXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wiZ2VvXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuZHpyXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmVhc3lrYXJhb2tlLmNkZ2Rvd25sb2FkXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmVjZGlzLXVwZGF0ZVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5lY2lwLnJscFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5lY2xpcHNlLmRpdHRvK2pzb25cIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5lY293aW4uY2hhcnRcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJtYWdcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5lY293aW4uZmlsZXJlcXVlc3RcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuZWNvd2luLmZpbGV1cGRhdGVcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuZWNvd2luLnNlcmllc1wiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5lY293aW4uc2VyaWVzcmVxdWVzdFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5lY293aW4uc2VyaWVzdXBkYXRlXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmVmaS5pbWdcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuZWZpLmlzb1wiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5lbG4remlwXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiBmYWxzZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmVtY2xpZW50LmFjY2Vzc3JlcXVlc3QreG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuZW5saXZlblwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcIm5tbFwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmVucGhhc2UuZW52b3lcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuZXByaW50cy5kYXRhK3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmVwc29uLmVzZlwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImVzZlwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmVwc29uLm1zZlwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcIm1zZlwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmVwc29uLnF1aWNrYW5pbWVcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJxYW1cIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5lcHNvbi5zYWx0XCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wic2x0XCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuZXBzb24uc3NmXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wic3NmXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuZXJpY3Nzb24ucXVpY2tjYWxsXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmVyb2ZzXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmVzcGFzcy1lc3Bhc3MremlwXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiBmYWxzZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmVzemlnbm8zK3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZSxcbiAgICAgICAgZXh0ZW5zaW9uczogW1wiZXMzXCIsIFwiZXQzXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuZXRzaS5hb2MreG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuZXRzaS5hc2ljLWUremlwXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiBmYWxzZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmV0c2kuYXNpYy1zK3ppcFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogZmFsc2VcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5ldHNpLmN1Zyt4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5ldHNpLmlwdHZjb21tYW5kK3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmV0c2kuaXB0dmRpc2NvdmVyeSt4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5ldHNpLmlwdHZwcm9maWxlK3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmV0c2kuaXB0dnNhZC1iYyt4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5ldHNpLmlwdHZzYWQtY29kK3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmV0c2kuaXB0dnNhZC1ucHZyK3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmV0c2kuaXB0dnNlcnZpY2UreG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuZXRzaS5pcHR2c3luYyt4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5ldHNpLmlwdHZ1ZXByb2ZpbGUreG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuZXRzaS5tY2lkK3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmV0c2kubWhlZzVcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuZXRzaS5vdmVybG9hZC1jb250cm9sLXBvbGljeS1kYXRhc2V0K3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmV0c2kucHN0bit4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5ldHNpLnNjaSt4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5ldHNpLnNpbXNlcnZzK3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmV0c2kudGltZXN0YW1wLXRva2VuXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmV0c2kudHNsK3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmV0c2kudHNsLmRlclwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5ldS5rYXNwYXJpYW4uY2FyK2pzb25cIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5ldWRvcmEuZGF0YVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5ldm9sdi5lY2lnLnByb2ZpbGVcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuZXZvbHYuZWNpZy5zZXR0aW5nc1wiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5ldm9sdi5lY2lnLnRoZW1lXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmV4c3RyZWFtLWVtcG93ZXIremlwXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiBmYWxzZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmV4c3RyZWFtLXBhY2thZ2VcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuZXpwaXgtYWxidW1cIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJlejJcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5lenBpeC1wYWNrYWdlXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wiZXozXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuZi1zZWN1cmUubW9iaWxlXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmZhbWlseXNlYXJjaC5nZWRjb20remlwXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiBmYWxzZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmZhc3Rjb3B5LWRpc2staW1hZ2VcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuZmRmXCI6IHtcbiAgICAgICAgc291cmNlOiBcImFwYWNoZVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJmZGZcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5mZHNuLm1zZWVkXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wibXNlZWRcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5mZHNuLnNlZWRcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJzZWVkXCIsIFwiZGF0YWxlc3NcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5mZHNuLnN0YXRpb254bWwreG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY2hhcnNldDogXCJYTUwtQkFTRURcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuZmZzbnNcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuZmljbGFiLmZsYit6aXBcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IGZhbHNlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuZmlsbWl0LnpmY1wiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5maW50c1wiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5maXJlbW9ua2V5cy5jbG91ZGNlbGxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuZmxvZ3JhcGhpdFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImdwaFwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmZsdXh0aW1lLmNsaXBcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJmdGNcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5mb250LWZvbnRmb3JnZS1zZmRcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuZnJhbWVtYWtlclwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImZtXCIsIFwiZnJhbWVcIiwgXCJtYWtlclwiLCBcImJvb2tcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5mcmVlbG9nLmNvbWljXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmZyb2dhbnMuZm5jXCI6IHtcbiAgICAgICAgc291cmNlOiBcImFwYWNoZVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJmbmNcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5mcm9nYW5zLmx0ZlwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJhcGFjaGVcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wibHRmXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuZnNjLndlYmxhdW5jaFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImZzY1wiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmZ1amlmaWxtLmZiLmRvY3V3b3Jrc1wiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5mdWppZmlsbS5mYi5kb2N1d29ya3MuYmluZGVyXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmZ1amlmaWxtLmZiLmRvY3V3b3Jrcy5jb250YWluZXJcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuZnVqaWZpbG0uZmIuamZpK3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmZ1aml0c3Uub2FzeXNcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJvYXNcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5mdWppdHN1Lm9hc3lzMlwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcIm9hMlwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmZ1aml0c3Uub2FzeXMzXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wib2EzXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuZnVqaXRzdS5vYXN5c2dwXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wiZmc1XCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuZnVqaXRzdS5vYXN5c3Byc1wiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImJoMlwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmZ1aml4ZXJveC5hcnQtZXhcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuZnVqaXhlcm94LmFydDRcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuZnVqaXhlcm94LmRkZFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImRkZFwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmZ1aml4ZXJveC5kb2N1d29ya3NcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJ4ZHdcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5mdWppeGVyb3guZG9jdXdvcmtzLmJpbmRlclwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcInhiZFwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmZ1aml4ZXJveC5kb2N1d29ya3MuY29udGFpbmVyXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmZ1aml4ZXJveC5oYnBsXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmZ1dC1taXNuZXRcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuZnV0b2luK2Nib3JcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuZnV0b2luK2pzb25cIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5mdXp6eXNoZWV0XCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wiZnpzXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuZ2E0Z2gucGFzc3BvcnQrand0XCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmdlbm9tYXRpeC50dXhlZG9cIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJ0eGRcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5nZW5vemlwXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmdlbnRpY3MuZ3JkK2pzb25cIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5nZW50b28uY2F0bWV0YWRhdGEreG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuZ2VudG9vLmVidWlsZFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5nZW50b28uZWNsYXNzXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmdlbnRvby5ncGtnXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmdlbnRvby5tYW5pZmVzdFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5nZW50b28ucGtnbWV0YWRhdGEreG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuZ2VudG9vLnhwYWtcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuZ2VvK2pzb25cIjoge1xuICAgICAgICBzb3VyY2U6IFwiYXBhY2hlXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmdlb2N1YmUreG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImFwYWNoZVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5nZW9nZWJyYS5maWxlXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wiZ2diXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuZ2VvZ2VicmEucGluYm9hcmRcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuZ2VvZ2VicmEuc2xpZGVzXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wiZ2dzXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuZ2VvZ2VicmEudG9vbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImdndFwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmdlb21ldHJ5LWV4cGxvcmVyXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wiZ2V4XCIsIFwiZ3JlXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuZ2VvbmV4dFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImd4dFwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmdlb3BsYW5cIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJnMndcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5nZW9zcGFjZVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImczd1wiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmdlcmJlclwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5nbG9iYWxwbGF0Zm9ybS5jYXJkLWNvbnRlbnQtbWd0XCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmdsb2JhbHBsYXRmb3JtLmNhcmQtY29udGVudC1tZ3QtcmVzcG9uc2VcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuZ214XCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wiZ214XCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuZ251LnRhbGVyLmV4Y2hhbmdlK2pzb25cIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5nbnUudGFsZXIubWVyY2hhbnQranNvblwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmdvb2dsZS1hcHBzLmF1ZGlvXCI6IHt9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuZ29vZ2xlLWFwcHMuZG9jdW1lbnRcIjoge1xuICAgICAgICBjb21wcmVzc2libGU6IGZhbHNlLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJnZG9jXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuZ29vZ2xlLWFwcHMuZHJhd2luZ1wiOiB7XG4gICAgICAgIGNvbXByZXNzaWJsZTogZmFsc2UsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImdkcmF3XCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuZ29vZ2xlLWFwcHMuZHJpdmUtc2RrXCI6IHtcbiAgICAgICAgY29tcHJlc3NpYmxlOiBmYWxzZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmdvb2dsZS1hcHBzLmZpbGVcIjoge30sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5nb29nbGUtYXBwcy5mb2xkZXJcIjoge1xuICAgICAgICBjb21wcmVzc2libGU6IGZhbHNlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuZ29vZ2xlLWFwcHMuZm9ybVwiOiB7XG4gICAgICAgIGNvbXByZXNzaWJsZTogZmFsc2UsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImdmb3JtXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuZ29vZ2xlLWFwcHMuZnVzaW9udGFibGVcIjoge30sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5nb29nbGUtYXBwcy5qYW1cIjoge1xuICAgICAgICBjb21wcmVzc2libGU6IGZhbHNlLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJnamFtXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuZ29vZ2xlLWFwcHMubWFpbC1sYXlvdXRcIjoge30sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5nb29nbGUtYXBwcy5tYXBcIjoge1xuICAgICAgICBjb21wcmVzc2libGU6IGZhbHNlLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJnbWFwXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuZ29vZ2xlLWFwcHMucGhvdG9cIjoge30sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5nb29nbGUtYXBwcy5wcmVzZW50YXRpb25cIjoge1xuICAgICAgICBjb21wcmVzc2libGU6IGZhbHNlLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJnc2xpZGVzXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuZ29vZ2xlLWFwcHMuc2NyaXB0XCI6IHtcbiAgICAgICAgY29tcHJlc3NpYmxlOiBmYWxzZSxcbiAgICAgICAgZXh0ZW5zaW9uczogW1wiZ3NjcmlwdFwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmdvb2dsZS1hcHBzLnNob3J0Y3V0XCI6IHt9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuZ29vZ2xlLWFwcHMuc2l0ZVwiOiB7XG4gICAgICAgIGNvbXByZXNzaWJsZTogZmFsc2UsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImdzaXRlXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuZ29vZ2xlLWFwcHMuc3ByZWFkc2hlZXRcIjoge1xuICAgICAgICBjb21wcmVzc2libGU6IGZhbHNlLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJnc2hlZXRcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5nb29nbGUtYXBwcy51bmtub3duXCI6IHt9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuZ29vZ2xlLWFwcHMudmlkZW9cIjoge30sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5nb29nbGUtZWFydGgua21sK3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZSxcbiAgICAgICAgZXh0ZW5zaW9uczogW1wia21sXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuZ29vZ2xlLWVhcnRoLmttelwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogZmFsc2UsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImttelwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmdvdi5zay5lLWZvcm0reG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImFwYWNoZVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5nb3Yuc2suZS1mb3JtK3ppcFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogZmFsc2VcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5nb3Yuc2sueG1sZGF0YWNvbnRhaW5lcit4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWUsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcInhkY2ZcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5ncHhzZWUubWFwK3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmdyYWZlcVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImdxZlwiLCBcImdxc1wiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmdyaWRtcFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5ncm9vdmUtYWNjb3VudFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImdhY1wiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmdyb292ZS1oZWxwXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wiZ2hmXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuZ3Jvb3ZlLWlkZW50aXR5LW1lc3NhZ2VcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJnaW1cIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5ncm9vdmUtaW5qZWN0b3JcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJncnZcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5ncm9vdmUtdG9vbC1tZXNzYWdlXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wiZ3RtXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuZ3Jvb3ZlLXRvb2wtdGVtcGxhdGVcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJ0cGxcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5ncm9vdmUtdmNhcmRcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJ2Y2dcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5oYWwranNvblwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmhhbCt4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWUsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImhhbFwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmhhbmRoZWxkLWVudGVydGFpbm1lbnQreG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJ6bW1cIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5oYmNpXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wiaGJjaVwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmhjK2pzb25cIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5oY2wtYmlyZXBvcnRzXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmhkdFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5oZXJva3UranNvblwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmhoZS5sZXNzb24tcGxheWVyXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wibGVzXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuaHAtaHBnbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImhwZ2xcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5ocC1ocGlkXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wiaHBpZFwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmhwLWhwc1wiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImhwc1wiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmhwLWpseXRcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJqbHRcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5ocC1wY2xcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJwY2xcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5ocC1wY2x4bFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcInBjbHhsXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuaHNsXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmh0dHBob25lXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmh5ZHJvc3RhdGl4LnNvZi1kYXRhXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wic2ZkLWhkc3R4XCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuaHlwZXIranNvblwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmh5cGVyLWl0ZW0ranNvblwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmh5cGVyZHJpdmUranNvblwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmh6bi0zZC1jcm9zc3dvcmRcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuaWJtLmFmcGxpbmVkYXRhXCI6IHtcbiAgICAgICAgc291cmNlOiBcImFwYWNoZVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuaWJtLmVsZWN0cm9uaWMtbWVkaWFcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuaWJtLm1pbmlwYXlcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJtcHlcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5pYm0ubW9kY2FwXCI6IHtcbiAgICAgICAgc291cmNlOiBcImFwYWNoZVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJhZnBcIiwgXCJsaXN0YWZwXCIsIFwibGlzdDM4MjBcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5pYm0ucmlnaHRzLW1hbmFnZW1lbnRcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJpcm1cIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5pYm0uc2VjdXJlLWNvbnRhaW5lclwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcInNjXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuaWNjcHJvZmlsZVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImljY1wiLCBcImljbVwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmllZWUuMTkwNVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5pZ2xvYWRlclwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImlnbFwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmltYWdlbWV0ZXIuZm9sZGVyK3ppcFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogZmFsc2VcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5pbWFnZW1ldGVyLmltYWdlK3ppcFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogZmFsc2VcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5pbW1lcnZpc2lvbi1pdnBcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJpdnBcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5pbW1lcnZpc2lvbi1pdnVcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJpdnVcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5pbXMuaW1zY2N2MXAxXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmltcy5pbXNjY3YxcDJcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuaW1zLmltc2NjdjFwM1wiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5pbXMubGlzLnYyLnJlc3VsdCtqc29uXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuaW1zLmx0aS52Mi50b29sY29uc3VtZXJwcm9maWxlK2pzb25cIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5pbXMubHRpLnYyLnRvb2xwcm94eStqc29uXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuaW1zLmx0aS52Mi50b29scHJveHkuaWQranNvblwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmltcy5sdGkudjIudG9vbHNldHRpbmdzK2pzb25cIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5pbXMubHRpLnYyLnRvb2xzZXR0aW5ncy5zaW1wbGUranNvblwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmluZm9ybWVkY29udHJvbC5ybXMreG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuaW5mb3JtaXgtdmlzaW9uYXJ5XCI6IHtcbiAgICAgICAgc291cmNlOiBcImFwYWNoZVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuaW5mb3RlY2gucHJvamVjdFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5pbmZvdGVjaC5wcm9qZWN0K3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmlubm9wYXRoLndhbXAubm90aWZpY2F0aW9uXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmluc29ycy5pZ21cIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJpZ21cIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5pbnRlcmNvbi5mb3JtbmV0XCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wieHB3XCIsIFwieHB4XCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuaW50ZXJnZW9cIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJpMmdcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5pbnRlcnRydXN0LmRpZ2lib3hcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuaW50ZXJ0cnVzdC5ubmNwXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmludHUucWJvXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wicWJvXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuaW50dS5xZnhcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJxZnhcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5pcGZzLmlwbnMtcmVjb3JkXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmlwbGQuY2FyXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmlwbGQuZGFnLWNib3JcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuaXBsZC5kYWctanNvblwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5pcGxkLnJhd1wiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5pcHRjLmcyLmNhdGFsb2dpdGVtK3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmlwdGMuZzIuY29uY2VwdGl0ZW0reG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuaXB0Yy5nMi5rbm93bGVkZ2VpdGVtK3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmlwdGMuZzIubmV3c2l0ZW0reG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuaXB0Yy5nMi5uZXdzbWVzc2FnZSt4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5pcHRjLmcyLnBhY2thZ2VpdGVtK3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmlwdGMuZzIucGxhbm5pbmdpdGVtK3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmlwdW5wbHVnZ2VkLnJjcHJvZmlsZVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcInJjcHJvZmlsZVwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmlyZXBvc2l0b3J5LnBhY2thZ2UreG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJpcnBcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5pcy14cHJcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJ4cHJcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5pc2FjLmZjc1wiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImZjc1wiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmlzbzExNzgzLTEwK3ppcFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogZmFsc2VcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5qYW1cIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJqYW1cIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5qYXBhbm5ldC1kaXJlY3Rvcnktc2VydmljZVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5qYXBhbm5ldC1qcG5zdG9yZS13YWtldXBcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuamFwYW5uZXQtcGF5bWVudC13YWtldXBcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuamFwYW5uZXQtcmVnaXN0cmF0aW9uXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmphcGFubmV0LXJlZ2lzdHJhdGlvbi13YWtldXBcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuamFwYW5uZXQtc2V0c3RvcmUtd2FrZXVwXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmphcGFubmV0LXZlcmlmaWNhdGlvblwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5qYXBhbm5ldC12ZXJpZmljYXRpb24td2FrZXVwXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmpjcC5qYXZhbWUubWlkbGV0LXJtc1wiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcInJtc1wiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmppc3BcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJqaXNwXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuam9vc3Quam9kYS1hcmNoaXZlXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wiam9kYVwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmpzay5pc2RuLW5nblwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5rYWhvb3R6XCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wia3R6XCIsIFwia3RyXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQua2RlLmthcmJvblwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImthcmJvblwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmtkZS5rY2hhcnRcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJjaHJ0XCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQua2RlLmtmb3JtdWxhXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wia2ZvXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQua2RlLmtpdmlvXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wiZmx3XCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQua2RlLmtvbnRvdXJcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJrb25cIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5rZGUua3ByZXNlbnRlclwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImtwclwiLCBcImtwdFwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmtkZS5rc3ByZWFkXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wia3NwXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQua2RlLmt3b3JkXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wia3dkXCIsIFwia3d0XCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQua2RsXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmtlbmFtZWFhcHBcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJodGtlXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQua2V5bWFuLmttcCt6aXBcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IGZhbHNlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQua2V5bWFuLmtteFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5raWRzcGlyYXRpb25cIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJraWFcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5raW5hclwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImtuZVwiLCBcImtucFwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmtvYW5cIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJza3BcIiwgXCJza2RcIiwgXCJza3RcIiwgXCJza21cIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5rb2Rhay1kZXNjcmlwdG9yXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wic3NlXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQubGFzXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmxhcy5sYXMranNvblwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmxhcy5sYXMreG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJsYXN4bWxcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5sYXN6aXBcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQubGRldi5wcm9kdWN0bGljZW5zaW5nXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmxlYXAranNvblwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmxpYmVydHktcmVxdWVzdCt4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5sbGFtYWdyYXBoaWNzLmxpZmUtYmFsYW5jZS5kZXNrdG9wXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wibGJkXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQubGxhbWFncmFwaGljcy5saWZlLWJhbGFuY2UuZXhjaGFuZ2UreG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJsYmVcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5sb2dpcGlwZS5jaXJjdWl0K3ppcFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogZmFsc2VcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5sb29tXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmxvdHVzLTEtMi0zXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wiMTIzXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQubG90dXMtYXBwcm9hY2hcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJhcHJcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5sb3R1cy1mcmVlbGFuY2VcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJwcmVcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5sb3R1cy1ub3Rlc1wiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcIm5zZlwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmxvdHVzLW9yZ2FuaXplclwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcIm9yZ1wiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmxvdHVzLXNjcmVlbmNhbVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcInNjbVwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmxvdHVzLXdvcmRwcm9cIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJsd3BcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5tYWNwb3J0cy5wb3J0cGtnXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wicG9ydHBrZ1wiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLm1hcGJveC12ZWN0b3ItdGlsZVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcIm12dFwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLm1hcmxpbi5kcm0uYWN0aW9udG9rZW4reG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQubWFybGluLmRybS5jb25mdG9rZW4reG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQubWFybGluLmRybS5saWNlbnNlK3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLm1hcmxpbi5kcm0ubWRjZlwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5tYXNvbitqc29uXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQubWF4YXIuYXJjaGl2ZS4zdHoremlwXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiBmYWxzZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLm1heG1pbmQubWF4bWluZC1kYlwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5tY2RcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJtY2RcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5tZGxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQubWRsLW1ic2RmXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLm1lZGNhbGNkYXRhXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wibWMxXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQubWVkaWFzdGF0aW9uLmNka2V5XCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wiY2RrZXlcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5tZWRpY2FsaG9sb2RlY2sucmVjb3JkeHJcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQubWVyaWRpYW4tc2xpbmdzaG90XCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLm1lcm1haWRcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQubWZlclwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcIm13ZlwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLm1mbXBcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJtZm1cIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5taWNybytqc29uXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQubWljcm9ncmFmeC5mbG9cIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJmbG9cIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5taWNyb2dyYWZ4LmlneFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImlneFwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLm1pY3Jvc29mdC5wb3J0YWJsZS1leGVjdXRhYmxlXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLm1pY3Jvc29mdC53aW5kb3dzLnRodW1ibmFpbC1jYWNoZVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5taWVsZStqc29uXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQubWlmXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wibWlmXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQubWluaXNvZnQtaHAzMDAwLXNhdmVcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQubWl0c3ViaXNoaS5taXN0eS1ndWFyZC50cnVzdHdlYlwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5tb2JpdXMuZGFmXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wiZGFmXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQubW9iaXVzLmRpc1wiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImRpc1wiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLm1vYml1cy5tYmtcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJtYmtcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5tb2JpdXMubXF5XCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wibXF5XCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQubW9iaXVzLm1zbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcIm1zbFwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLm1vYml1cy5wbGNcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJwbGNcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5tb2JpdXMudHhmXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1widHhmXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQubW9kbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5tb3BodW4uYXBwbGljYXRpb25cIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJtcG5cIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5tb3BodW4uY2VydGlmaWNhdGVcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJtcGNcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5tb3Rvcm9sYS5mbGV4c3VpdGVcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQubW90b3JvbGEuZmxleHN1aXRlLmFkc2lcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQubW90b3JvbGEuZmxleHN1aXRlLmZpc1wiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5tb3Rvcm9sYS5mbGV4c3VpdGUuZ290YXBcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQubW90b3JvbGEuZmxleHN1aXRlLmttclwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5tb3Rvcm9sYS5mbGV4c3VpdGUudHRjXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLm1vdG9yb2xhLmZsZXhzdWl0ZS53ZW1cIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQubW90b3JvbGEuaXBybVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5tb3ppbGxhLnh1bCt4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWUsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcInh1bFwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLm1zLTNtZmRvY3VtZW50XCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLm1zLWFydGdhbHJ5XCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wiY2lsXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQubXMtYXNmXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLm1zLWNhYi1jb21wcmVzc2VkXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wiY2FiXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQubXMtY29sb3IuaWNjcHJvZmlsZVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJhcGFjaGVcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLm1zLWV4Y2VsXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiBmYWxzZSxcbiAgICAgICAgZXh0ZW5zaW9uczogW1wieGxzXCIsIFwieGxtXCIsIFwieGxhXCIsIFwieGxjXCIsIFwieGx0XCIsIFwieGx3XCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQubXMtZXhjZWwuYWRkaW4ubWFjcm9lbmFibGVkLjEyXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wieGxhbVwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLm1zLWV4Y2VsLnNoZWV0LmJpbmFyeS5tYWNyb2VuYWJsZWQuMTJcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJ4bHNiXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQubXMtZXhjZWwuc2hlZXQubWFjcm9lbmFibGVkLjEyXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wieGxzbVwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLm1zLWV4Y2VsLnRlbXBsYXRlLm1hY3JvZW5hYmxlZC4xMlwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcInhsdG1cIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5tcy1mb250b2JqZWN0XCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJlb3RcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5tcy1odG1saGVscFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImNobVwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLm1zLWltc1wiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImltc1wiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLm1zLWxybVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImxybVwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLm1zLW9mZmljZS5hY3RpdmV4K3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLm1zLW9mZmljZXRoZW1lXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1widGhteFwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLm1zLW9wZW50eXBlXCI6IHtcbiAgICAgICAgc291cmNlOiBcImFwYWNoZVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5tcy1vdXRsb29rXCI6IHtcbiAgICAgICAgY29tcHJlc3NpYmxlOiBmYWxzZSxcbiAgICAgICAgZXh0ZW5zaW9uczogW1wibXNnXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQubXMtcGFja2FnZS5vYmZ1c2NhdGVkLW9wZW50eXBlXCI6IHtcbiAgICAgICAgc291cmNlOiBcImFwYWNoZVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQubXMtcGtpLnNlY2NhdFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJhcGFjaGVcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wiY2F0XCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQubXMtcGtpLnN0bFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJhcGFjaGVcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wic3RsXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQubXMtcGxheXJlYWR5LmluaXRpYXRvcit4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5tcy1wb3dlcnBvaW50XCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiBmYWxzZSxcbiAgICAgICAgZXh0ZW5zaW9uczogW1wicHB0XCIsIFwicHBzXCIsIFwicG90XCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQubXMtcG93ZXJwb2ludC5hZGRpbi5tYWNyb2VuYWJsZWQuMTJcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJwcGFtXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQubXMtcG93ZXJwb2ludC5wcmVzZW50YXRpb24ubWFjcm9lbmFibGVkLjEyXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wicHB0bVwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLm1zLXBvd2VycG9pbnQuc2xpZGUubWFjcm9lbmFibGVkLjEyXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wic2xkbVwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLm1zLXBvd2VycG9pbnQuc2xpZGVzaG93Lm1hY3JvZW5hYmxlZC4xMlwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcInBwc21cIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5tcy1wb3dlcnBvaW50LnRlbXBsYXRlLm1hY3JvZW5hYmxlZC4xMlwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcInBvdG1cIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5tcy1wcmludGRldmljZWNhcGFiaWxpdGllcyt4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5tcy1wcmludGluZy5wcmludHRpY2tldCt4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiYXBhY2hlXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLm1zLXByaW50c2NoZW1hdGlja2V0K3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLm1zLXByb2plY3RcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJtcHBcIiwgXCJtcHRcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5tcy10bmVmXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLm1zLXZpc2lvLnZpZXdlclwiOiB7XG4gICAgICAgIGV4dGVuc2lvbnM6IFtcInZkeFwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLm1zLXdpbmRvd3MuZGV2aWNlcGFpcmluZ1wiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5tcy13aW5kb3dzLm53cHJpbnRpbmcub29iXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLm1zLXdpbmRvd3MucHJpbnRlcnBhaXJpbmdcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQubXMtd2luZG93cy53c2Qub29iXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLm1zLXdtZHJtLmxpYy1jaGxnLXJlcVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5tcy13bWRybS5saWMtcmVzcFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5tcy13bWRybS5tZXRlci1jaGxnLXJlcVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5tcy13bWRybS5tZXRlci1yZXNwXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLm1zLXdvcmQuZG9jdW1lbnQubWFjcm9lbmFibGVkLjEyXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wiZG9jbVwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLm1zLXdvcmQudGVtcGxhdGUubWFjcm9lbmFibGVkLjEyXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wiZG90bVwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLm1zLXdvcmtzXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wid3BzXCIsIFwid2tzXCIsIFwid2NtXCIsIFwid2RiXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQubXMtd3BsXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wid3BsXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQubXMteHBzZG9jdW1lbnRcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IGZhbHNlLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJ4cHNcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5tc2EtZGlzay1pbWFnZVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5tc2VxXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wibXNlcVwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLm1zZ3BhY2tcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQubXNpZ25cIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQubXVsdGlhZC5jcmVhdG9yXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLm11bHRpYWQuY3JlYXRvci5jaWZcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQubXVzaWMtbmlmZlwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5tdXNpY2lhblwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcIm11c1wiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLm11dmVlLnN0eWxlXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wibXN0eVwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLm15bmZjXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1widGFnbGV0XCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQubmFjYW1hci55YnJpZCtqc29uXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQubmF0by5iaW5kaW5nZGF0YW9iamVjdCtjYm9yXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLm5hdG8uYmluZGluZ2RhdGFvYmplY3QranNvblwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLm5hdG8uYmluZGluZ2RhdGFvYmplY3QreG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJiZG9cIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5uYXRvLm9wZW54bWxmb3JtYXRzLXBhY2thZ2UuaWVwZCt6aXBcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IGZhbHNlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQubmNkLmNvbnRyb2xcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQubmNkLnJlZmVyZW5jZVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5uZWFyc3QuaW52K2pzb25cIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5uZWJ1bWluZC5saW5lXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLm5lcnZhbmFcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQubmV0ZnB4XCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLm5ldXJvbGFuZ3VhZ2Uubmx1XCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wibmx1XCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQubmltblwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5uaW50ZW5kby5uaXRyby5yb21cIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQubmludGVuZG8uc25lcy5yb21cIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQubml0ZlwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcIm50ZlwiLCBcIm5pdGZcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5ub2JsZW5ldC1kaXJlY3RvcnlcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJubmRcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5ub2JsZW5ldC1zZWFsZXJcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJubnNcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5ub2JsZW5ldC13ZWJcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJubndcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5ub2tpYS5jYXRhbG9nc1wiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5ub2tpYS5jb25tbCt3YnhtbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5ub2tpYS5jb25tbCt4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5ub2tpYS5pcHR2LmNvbmZpZyt4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5ub2tpYS5pc2RzLXJhZGlvLXByZXNldHNcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQubm9raWEubGFuZG1hcmsrd2J4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQubm9raWEubGFuZG1hcmsreG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQubm9raWEubGFuZG1hcmtjb2xsZWN0aW9uK3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLm5va2lhLm4tZ2FnZS5hYyt4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWUsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImFjXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQubm9raWEubi1nYWdlLmRhdGFcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJuZ2RhdFwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLm5va2lhLm4tZ2FnZS5zeW1iaWFuLmluc3RhbGxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiYXBhY2hlXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcIm4tZ2FnZVwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLm5va2lhLm5jZFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5ub2tpYS5wY2Qrd2J4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQubm9raWEucGNkK3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLm5va2lhLnJhZGlvLXByZXNldFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcInJwc3RcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5ub2tpYS5yYWRpby1wcmVzZXRzXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wicnBzc1wiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLm5vdmFkaWdtLmVkbVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImVkbVwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLm5vdmFkaWdtLmVkeFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImVkeFwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLm5vdmFkaWdtLmV4dFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImV4dFwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLm50dC1sb2NhbC5jb250ZW50LXNoYXJlXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLm50dC1sb2NhbC5maWxlLXRyYW5zZmVyXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLm50dC1sb2NhbC5vZ3dfcmVtb3RlLWFjY2Vzc1wiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5udHQtbG9jYWwuc2lwLXRhX3JlbW90ZVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5udHQtbG9jYWwuc2lwLXRhX3RjcF9zdHJlYW1cIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQub2FpLndvcmtmbG93c1wiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5vYWkud29ya2Zsb3dzK2pzb25cIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5vYWkud29ya2Zsb3dzK3lhbWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQub2FzaXMub3BlbmRvY3VtZW50LmJhc2VcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQub2FzaXMub3BlbmRvY3VtZW50LmNoYXJ0XCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wib2RjXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQub2FzaXMub3BlbmRvY3VtZW50LmNoYXJ0LXRlbXBsYXRlXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wib3RjXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQub2FzaXMub3BlbmRvY3VtZW50LmRhdGFiYXNlXCI6IHtcbiAgICAgICAgc291cmNlOiBcImFwYWNoZVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJvZGJcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5vYXNpcy5vcGVuZG9jdW1lbnQuZm9ybXVsYVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcIm9kZlwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLm9hc2lzLm9wZW5kb2N1bWVudC5mb3JtdWxhLXRlbXBsYXRlXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wib2RmdFwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLm9hc2lzLm9wZW5kb2N1bWVudC5ncmFwaGljc1wiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogZmFsc2UsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcIm9kZ1wiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLm9hc2lzLm9wZW5kb2N1bWVudC5ncmFwaGljcy10ZW1wbGF0ZVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcIm90Z1wiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLm9hc2lzLm9wZW5kb2N1bWVudC5pbWFnZVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcIm9kaVwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLm9hc2lzLm9wZW5kb2N1bWVudC5pbWFnZS10ZW1wbGF0ZVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcIm90aVwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLm9hc2lzLm9wZW5kb2N1bWVudC5wcmVzZW50YXRpb25cIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IGZhbHNlLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJvZHBcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5vYXNpcy5vcGVuZG9jdW1lbnQucHJlc2VudGF0aW9uLXRlbXBsYXRlXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wib3RwXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQub2FzaXMub3BlbmRvY3VtZW50LnNwcmVhZHNoZWV0XCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiBmYWxzZSxcbiAgICAgICAgZXh0ZW5zaW9uczogW1wib2RzXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQub2FzaXMub3BlbmRvY3VtZW50LnNwcmVhZHNoZWV0LXRlbXBsYXRlXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wib3RzXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQub2FzaXMub3BlbmRvY3VtZW50LnRleHRcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IGZhbHNlLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJvZHRcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5vYXNpcy5vcGVuZG9jdW1lbnQudGV4dC1tYXN0ZXJcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJvZG1cIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5vYXNpcy5vcGVuZG9jdW1lbnQudGV4dC1tYXN0ZXItdGVtcGxhdGVcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQub2FzaXMub3BlbmRvY3VtZW50LnRleHQtdGVtcGxhdGVcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJvdHRcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5vYXNpcy5vcGVuZG9jdW1lbnQudGV4dC13ZWJcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJvdGhcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5vYm5cIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQub2NmK2Nib3JcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQub2NpLmltYWdlLm1hbmlmZXN0LnYxK2pzb25cIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5vZnRuLmwxMG4ranNvblwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLm9pcGYuY29udGVudGFjY2Vzc2Rvd25sb2FkK3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLm9pcGYuY29udGVudGFjY2Vzc3N0cmVhbWluZyt4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5vaXBmLmNzcGctaGV4YmluYXJ5XCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLm9pcGYuZGFlLnN2Zyt4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5vaXBmLmRhZS54aHRtbCt4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5vaXBmLm1pcHB2Y29udHJvbG1lc3NhZ2UreG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQub2lwZi5wYWUuZ2VtXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLm9pcGYuc3BkaXNjb3ZlcnkreG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQub2lwZi5zcGRsaXN0K3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLm9pcGYudWVwcm9maWxlK3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLm9pcGYudXNlcnByb2ZpbGUreG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQub2xwYy1zdWdhclwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcInhvXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQub21hLXNjd3MtY29uZmlnXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLm9tYS1zY3dzLWh0dHAtcmVxdWVzdFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5vbWEtc2N3cy1odHRwLXJlc3BvbnNlXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLm9tYS5iY2FzdC5hc3NvY2lhdGVkLXByb2NlZHVyZS1wYXJhbWV0ZXIreG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQub21hLmJjYXN0LmRybS10cmlnZ2VyK3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJhcGFjaGVcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQub21hLmJjYXN0LmltZCt4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5vbWEuYmNhc3QubHRrbVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5vbWEuYmNhc3Qubm90aWZpY2F0aW9uK3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLm9tYS5iY2FzdC5wcm92aXNpb25pbmd0cmlnZ2VyXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLm9tYS5iY2FzdC5zZ2Jvb3RcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQub21hLmJjYXN0LnNnZGQreG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQub21hLmJjYXN0LnNnZHVcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQub21hLmJjYXN0LnNpbXBsZS1zeW1ib2wtY29udGFpbmVyXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLm9tYS5iY2FzdC5zbWFydGNhcmQtdHJpZ2dlcit4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiYXBhY2hlXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLm9tYS5iY2FzdC5zcHJvdit4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5vbWEuYmNhc3Quc3RrbVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5vbWEuY2FiLWFkZHJlc3MtYm9vayt4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5vbWEuY2FiLWZlYXR1cmUtaGFuZGxlcit4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5vbWEuY2FiLXBjYyt4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5vbWEuY2FiLXN1YnMtaW52aXRlK3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLm9tYS5jYWItdXNlci1wcmVmcyt4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5vbWEuZGNkXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLm9tYS5kY2RjXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLm9tYS5kZDIreG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJkZDJcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5vbWEuZHJtLnJpc2QreG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQub21hLmdyb3VwLXVzYWdlLWxpc3QreG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQub21hLmx3bTJtK2Nib3JcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQub21hLmx3bTJtK2pzb25cIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5vbWEubHdtMm0rdGx2XCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLm9tYS5wYWwreG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQub21hLnBvYy5kZXRhaWxlZC1wcm9ncmVzcy1yZXBvcnQreG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQub21hLnBvYy5maW5hbC1yZXBvcnQreG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQub21hLnBvYy5ncm91cHMreG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQub21hLnBvYy5pbnZvY2F0aW9uLWRlc2NyaXB0b3IreG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQub21hLnBvYy5vcHRpbWl6ZWQtcHJvZ3Jlc3MtcmVwb3J0K3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLm9tYS5wdXNoXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLm9tYS5zY2lkbS5tZXNzYWdlcyt4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5vbWEueGNhcC1kaXJlY3RvcnkreG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQub21hZHMtZW1haWwreG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY2hhcnNldDogXCJVVEYtOFwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5vbWFkcy1maWxlK3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNoYXJzZXQ6IFwiVVRGLThcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQub21hZHMtZm9sZGVyK3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNoYXJzZXQ6IFwiVVRGLThcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQub21hbG9jLXN1cGwtaW5pdFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5vbmVwYWdlclwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5vbmVwYWdlcnRhbXBcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQub25lcGFnZXJ0YW14XCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLm9uZXBhZ2VydGF0XCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLm9uZXBhZ2VydGF0cFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5vbmVwYWdlcnRhdHhcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQub252aWYubWV0YWRhdGFcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQub3BlbmJsb3guZ2FtZSt4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWUsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcIm9iZ3hcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5vcGVuYmxveC5nYW1lLWJpbmFyeVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5vcGVuZXllLm9lYlwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5vcGVub2ZmaWNlb3JnLmV4dGVuc2lvblwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJhcGFjaGVcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wib3h0XCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQub3BlbnN0cmVldG1hcC5kYXRhK3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZSxcbiAgICAgICAgZXh0ZW5zaW9uczogW1wib3NtXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQub3BlbnRpbWVzdGFtcHMub3RzXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLm9wZW52cGkuZHNweCtqc29uXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQub3BlbnhtbGZvcm1hdHMtb2ZmaWNlZG9jdW1lbnQuY3VzdG9tLXByb3BlcnRpZXMreG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQub3BlbnhtbGZvcm1hdHMtb2ZmaWNlZG9jdW1lbnQuY3VzdG9teG1scHJvcGVydGllcyt4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5vcGVueG1sZm9ybWF0cy1vZmZpY2Vkb2N1bWVudC5kcmF3aW5nK3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLm9wZW54bWxmb3JtYXRzLW9mZmljZWRvY3VtZW50LmRyYXdpbmdtbC5jaGFydCt4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5vcGVueG1sZm9ybWF0cy1vZmZpY2Vkb2N1bWVudC5kcmF3aW5nbWwuY2hhcnRzaGFwZXMreG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQub3BlbnhtbGZvcm1hdHMtb2ZmaWNlZG9jdW1lbnQuZHJhd2luZ21sLmRpYWdyYW1jb2xvcnMreG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQub3BlbnhtbGZvcm1hdHMtb2ZmaWNlZG9jdW1lbnQuZHJhd2luZ21sLmRpYWdyYW1kYXRhK3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLm9wZW54bWxmb3JtYXRzLW9mZmljZWRvY3VtZW50LmRyYXdpbmdtbC5kaWFncmFtbGF5b3V0K3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLm9wZW54bWxmb3JtYXRzLW9mZmljZWRvY3VtZW50LmRyYXdpbmdtbC5kaWFncmFtc3R5bGUreG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQub3BlbnhtbGZvcm1hdHMtb2ZmaWNlZG9jdW1lbnQuZXh0ZW5kZWQtcHJvcGVydGllcyt4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5vcGVueG1sZm9ybWF0cy1vZmZpY2Vkb2N1bWVudC5wcmVzZW50YXRpb25tbC5jb21tZW50YXV0aG9ycyt4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5vcGVueG1sZm9ybWF0cy1vZmZpY2Vkb2N1bWVudC5wcmVzZW50YXRpb25tbC5jb21tZW50cyt4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5vcGVueG1sZm9ybWF0cy1vZmZpY2Vkb2N1bWVudC5wcmVzZW50YXRpb25tbC5oYW5kb3V0bWFzdGVyK3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLm9wZW54bWxmb3JtYXRzLW9mZmljZWRvY3VtZW50LnByZXNlbnRhdGlvbm1sLm5vdGVzbWFzdGVyK3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLm9wZW54bWxmb3JtYXRzLW9mZmljZWRvY3VtZW50LnByZXNlbnRhdGlvbm1sLm5vdGVzc2xpZGUreG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQub3BlbnhtbGZvcm1hdHMtb2ZmaWNlZG9jdW1lbnQucHJlc2VudGF0aW9ubWwucHJlc2VudGF0aW9uXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiBmYWxzZSxcbiAgICAgICAgZXh0ZW5zaW9uczogW1wicHB0eFwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLm9wZW54bWxmb3JtYXRzLW9mZmljZWRvY3VtZW50LnByZXNlbnRhdGlvbm1sLnByZXNlbnRhdGlvbi5tYWluK3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLm9wZW54bWxmb3JtYXRzLW9mZmljZWRvY3VtZW50LnByZXNlbnRhdGlvbm1sLnByZXNwcm9wcyt4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5vcGVueG1sZm9ybWF0cy1vZmZpY2Vkb2N1bWVudC5wcmVzZW50YXRpb25tbC5zbGlkZVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcInNsZHhcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5vcGVueG1sZm9ybWF0cy1vZmZpY2Vkb2N1bWVudC5wcmVzZW50YXRpb25tbC5zbGlkZSt4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5vcGVueG1sZm9ybWF0cy1vZmZpY2Vkb2N1bWVudC5wcmVzZW50YXRpb25tbC5zbGlkZWxheW91dCt4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5vcGVueG1sZm9ybWF0cy1vZmZpY2Vkb2N1bWVudC5wcmVzZW50YXRpb25tbC5zbGlkZW1hc3Rlcit4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5vcGVueG1sZm9ybWF0cy1vZmZpY2Vkb2N1bWVudC5wcmVzZW50YXRpb25tbC5zbGlkZXNob3dcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJwcHN4XCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQub3BlbnhtbGZvcm1hdHMtb2ZmaWNlZG9jdW1lbnQucHJlc2VudGF0aW9ubWwuc2xpZGVzaG93Lm1haW4reG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQub3BlbnhtbGZvcm1hdHMtb2ZmaWNlZG9jdW1lbnQucHJlc2VudGF0aW9ubWwuc2xpZGV1cGRhdGVpbmZvK3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLm9wZW54bWxmb3JtYXRzLW9mZmljZWRvY3VtZW50LnByZXNlbnRhdGlvbm1sLnRhYmxlc3R5bGVzK3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLm9wZW54bWxmb3JtYXRzLW9mZmljZWRvY3VtZW50LnByZXNlbnRhdGlvbm1sLnRhZ3MreG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQub3BlbnhtbGZvcm1hdHMtb2ZmaWNlZG9jdW1lbnQucHJlc2VudGF0aW9ubWwudGVtcGxhdGVcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJwb3R4XCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQub3BlbnhtbGZvcm1hdHMtb2ZmaWNlZG9jdW1lbnQucHJlc2VudGF0aW9ubWwudGVtcGxhdGUubWFpbit4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5vcGVueG1sZm9ybWF0cy1vZmZpY2Vkb2N1bWVudC5wcmVzZW50YXRpb25tbC52aWV3cHJvcHMreG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQub3BlbnhtbGZvcm1hdHMtb2ZmaWNlZG9jdW1lbnQuc3ByZWFkc2hlZXRtbC5jYWxjY2hhaW4reG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQub3BlbnhtbGZvcm1hdHMtb2ZmaWNlZG9jdW1lbnQuc3ByZWFkc2hlZXRtbC5jaGFydHNoZWV0K3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLm9wZW54bWxmb3JtYXRzLW9mZmljZWRvY3VtZW50LnNwcmVhZHNoZWV0bWwuY29tbWVudHMreG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQub3BlbnhtbGZvcm1hdHMtb2ZmaWNlZG9jdW1lbnQuc3ByZWFkc2hlZXRtbC5jb25uZWN0aW9ucyt4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5vcGVueG1sZm9ybWF0cy1vZmZpY2Vkb2N1bWVudC5zcHJlYWRzaGVldG1sLmRpYWxvZ3NoZWV0K3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLm9wZW54bWxmb3JtYXRzLW9mZmljZWRvY3VtZW50LnNwcmVhZHNoZWV0bWwuZXh0ZXJuYWxsaW5rK3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLm9wZW54bWxmb3JtYXRzLW9mZmljZWRvY3VtZW50LnNwcmVhZHNoZWV0bWwucGl2b3RjYWNoZWRlZmluaXRpb24reG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQub3BlbnhtbGZvcm1hdHMtb2ZmaWNlZG9jdW1lbnQuc3ByZWFkc2hlZXRtbC5waXZvdGNhY2hlcmVjb3Jkcyt4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5vcGVueG1sZm9ybWF0cy1vZmZpY2Vkb2N1bWVudC5zcHJlYWRzaGVldG1sLnBpdm90dGFibGUreG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQub3BlbnhtbGZvcm1hdHMtb2ZmaWNlZG9jdW1lbnQuc3ByZWFkc2hlZXRtbC5xdWVyeXRhYmxlK3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLm9wZW54bWxmb3JtYXRzLW9mZmljZWRvY3VtZW50LnNwcmVhZHNoZWV0bWwucmV2aXNpb25oZWFkZXJzK3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLm9wZW54bWxmb3JtYXRzLW9mZmljZWRvY3VtZW50LnNwcmVhZHNoZWV0bWwucmV2aXNpb25sb2creG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQub3BlbnhtbGZvcm1hdHMtb2ZmaWNlZG9jdW1lbnQuc3ByZWFkc2hlZXRtbC5zaGFyZWRzdHJpbmdzK3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLm9wZW54bWxmb3JtYXRzLW9mZmljZWRvY3VtZW50LnNwcmVhZHNoZWV0bWwuc2hlZXRcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IGZhbHNlLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJ4bHN4XCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQub3BlbnhtbGZvcm1hdHMtb2ZmaWNlZG9jdW1lbnQuc3ByZWFkc2hlZXRtbC5zaGVldC5tYWluK3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLm9wZW54bWxmb3JtYXRzLW9mZmljZWRvY3VtZW50LnNwcmVhZHNoZWV0bWwuc2hlZXRtZXRhZGF0YSt4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5vcGVueG1sZm9ybWF0cy1vZmZpY2Vkb2N1bWVudC5zcHJlYWRzaGVldG1sLnN0eWxlcyt4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5vcGVueG1sZm9ybWF0cy1vZmZpY2Vkb2N1bWVudC5zcHJlYWRzaGVldG1sLnRhYmxlK3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLm9wZW54bWxmb3JtYXRzLW9mZmljZWRvY3VtZW50LnNwcmVhZHNoZWV0bWwudGFibGVzaW5nbGVjZWxscyt4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5vcGVueG1sZm9ybWF0cy1vZmZpY2Vkb2N1bWVudC5zcHJlYWRzaGVldG1sLnRlbXBsYXRlXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wieGx0eFwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLm9wZW54bWxmb3JtYXRzLW9mZmljZWRvY3VtZW50LnNwcmVhZHNoZWV0bWwudGVtcGxhdGUubWFpbit4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5vcGVueG1sZm9ybWF0cy1vZmZpY2Vkb2N1bWVudC5zcHJlYWRzaGVldG1sLnVzZXJuYW1lcyt4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5vcGVueG1sZm9ybWF0cy1vZmZpY2Vkb2N1bWVudC5zcHJlYWRzaGVldG1sLnZvbGF0aWxlZGVwZW5kZW5jaWVzK3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLm9wZW54bWxmb3JtYXRzLW9mZmljZWRvY3VtZW50LnNwcmVhZHNoZWV0bWwud29ya3NoZWV0K3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLm9wZW54bWxmb3JtYXRzLW9mZmljZWRvY3VtZW50LnRoZW1lK3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLm9wZW54bWxmb3JtYXRzLW9mZmljZWRvY3VtZW50LnRoZW1lb3ZlcnJpZGUreG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQub3BlbnhtbGZvcm1hdHMtb2ZmaWNlZG9jdW1lbnQudm1sZHJhd2luZ1wiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5vcGVueG1sZm9ybWF0cy1vZmZpY2Vkb2N1bWVudC53b3JkcHJvY2Vzc2luZ21sLmNvbW1lbnRzK3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLm9wZW54bWxmb3JtYXRzLW9mZmljZWRvY3VtZW50LndvcmRwcm9jZXNzaW5nbWwuZG9jdW1lbnRcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IGZhbHNlLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJkb2N4XCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQub3BlbnhtbGZvcm1hdHMtb2ZmaWNlZG9jdW1lbnQud29yZHByb2Nlc3NpbmdtbC5kb2N1bWVudC5nbG9zc2FyeSt4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5vcGVueG1sZm9ybWF0cy1vZmZpY2Vkb2N1bWVudC53b3JkcHJvY2Vzc2luZ21sLmRvY3VtZW50Lm1haW4reG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQub3BlbnhtbGZvcm1hdHMtb2ZmaWNlZG9jdW1lbnQud29yZHByb2Nlc3NpbmdtbC5lbmRub3Rlcyt4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5vcGVueG1sZm9ybWF0cy1vZmZpY2Vkb2N1bWVudC53b3JkcHJvY2Vzc2luZ21sLmZvbnR0YWJsZSt4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5vcGVueG1sZm9ybWF0cy1vZmZpY2Vkb2N1bWVudC53b3JkcHJvY2Vzc2luZ21sLmZvb3Rlcit4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5vcGVueG1sZm9ybWF0cy1vZmZpY2Vkb2N1bWVudC53b3JkcHJvY2Vzc2luZ21sLmZvb3Rub3Rlcyt4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5vcGVueG1sZm9ybWF0cy1vZmZpY2Vkb2N1bWVudC53b3JkcHJvY2Vzc2luZ21sLm51bWJlcmluZyt4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5vcGVueG1sZm9ybWF0cy1vZmZpY2Vkb2N1bWVudC53b3JkcHJvY2Vzc2luZ21sLnNldHRpbmdzK3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLm9wZW54bWxmb3JtYXRzLW9mZmljZWRvY3VtZW50LndvcmRwcm9jZXNzaW5nbWwuc3R5bGVzK3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLm9wZW54bWxmb3JtYXRzLW9mZmljZWRvY3VtZW50LndvcmRwcm9jZXNzaW5nbWwudGVtcGxhdGVcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJkb3R4XCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQub3BlbnhtbGZvcm1hdHMtb2ZmaWNlZG9jdW1lbnQud29yZHByb2Nlc3NpbmdtbC50ZW1wbGF0ZS5tYWluK3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLm9wZW54bWxmb3JtYXRzLW9mZmljZWRvY3VtZW50LndvcmRwcm9jZXNzaW5nbWwud2Vic2V0dGluZ3MreG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQub3BlbnhtbGZvcm1hdHMtcGFja2FnZS5jb3JlLXByb3BlcnRpZXMreG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQub3BlbnhtbGZvcm1hdHMtcGFja2FnZS5kaWdpdGFsLXNpZ25hdHVyZS14bWxzaWduYXR1cmUreG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQub3BlbnhtbGZvcm1hdHMtcGFja2FnZS5yZWxhdGlvbnNoaXBzK3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLm9yYWNsZS5yZXNvdXJjZStqc29uXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQub3JhbmdlLmluZGF0YVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5vc2EubmV0ZGVwbG95XCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLm9zZ2VvLm1hcGd1aWRlLnBhY2thZ2VcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJtZ3BcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5vc2dpLmJ1bmRsZVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5vc2dpLmRwXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wiZHBcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5vc2dpLnN1YnN5c3RlbVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImVzYVwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLm90cHMuY3Qta2lwK3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLm94bGkuY291bnRncmFwaFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5wYWdlcmR1dHkranNvblwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLnBhbG1cIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJwZGJcIiwgXCJwcWFcIiwgXCJvcHJjXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQucGFub3BseVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5wYW9zLnhtbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5wYXRlbnRkaXZlXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLnBhdGllbnRlY29tbXNkb2NcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQucGF3YWFmaWxlXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wicGF3XCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQucGNvc1wiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5wZy5mb3JtYXRcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJzdHJcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5wZy5vc2FzbGlcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJlaTZcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5waWFjY2Vzcy5hcHBsaWNhdGlvbi1saWNlbmNlXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLnBpY3NlbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImVmaWZcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5wbWkud2lkZ2V0XCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wid2dcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5wb2MuZ3JvdXAtYWR2ZXJ0aXNlbWVudCt4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5wb2NrZXRsZWFyblwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcInBsZlwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLnBvd2VyYnVpbGRlcjZcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJwYmRcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5wb3dlcmJ1aWxkZXI2LXNcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQucG93ZXJidWlsZGVyN1wiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5wb3dlcmJ1aWxkZXI3LXNcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQucG93ZXJidWlsZGVyNzVcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQucG93ZXJidWlsZGVyNzUtc1wiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5wcmVtaW5ldFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5wcmV2aWV3c3lzdGVtcy5ib3hcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJib3hcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5wcm9jcmF0ZS5icnVzaHNldFwiOiB7XG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImJydXNoc2V0XCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQucHJvY3JlYXRlLmJydXNoXCI6IHtcbiAgICAgICAgZXh0ZW5zaW9uczogW1wiYnJ1c2hcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5wcm9jcmVhdGUuZHJlYW1cIjoge1xuICAgICAgICBleHRlbnNpb25zOiBbXCJkcm1cIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5wcm90ZXVzLm1hZ2F6aW5lXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wibWd6XCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQucHNmc1wiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5wdC5tdW5kdXNtdW5kaVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5wdWJsaXNoYXJlLWRlbHRhLXRyZWVcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJxcHNcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5wdmkucHRpZDFcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJwdGlkXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQucHdnLW11bHRpcGxleGVkXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLnB3Zy14aHRtbC1wcmludCt4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWUsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcInhodG1cIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5xdWFsY29tbS5icmV3LWFwcC1yZXNcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQucXVhcmFudGFpbmVuZXRcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQucXVhcmsucXVhcmt4cHJlc3NcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJxeGRcIiwgXCJxeHRcIiwgXCJxd2RcIiwgXCJxd3RcIiwgXCJxeGxcIiwgXCJxeGJcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5xdW9iamVjdC1xdW94ZG9jdW1lbnRcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQucmFkaXN5cy5tb21sK3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLnJhZGlzeXMubXNtbCt4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5yYWRpc3lzLm1zbWwtYXVkaXQreG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQucmFkaXN5cy5tc21sLWF1ZGl0LWNvbmYreG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQucmFkaXN5cy5tc21sLWF1ZGl0LWNvbm4reG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQucmFkaXN5cy5tc21sLWF1ZGl0LWRpYWxvZyt4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5yYWRpc3lzLm1zbWwtYXVkaXQtc3RyZWFtK3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLnJhZGlzeXMubXNtbC1jb25mK3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLnJhZGlzeXMubXNtbC1kaWFsb2creG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQucmFkaXN5cy5tc21sLWRpYWxvZy1iYXNlK3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLnJhZGlzeXMubXNtbC1kaWFsb2ctZmF4LWRldGVjdCt4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5yYWRpc3lzLm1zbWwtZGlhbG9nLWZheC1zZW5kcmVjdit4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5yYWRpc3lzLm1zbWwtZGlhbG9nLWdyb3VwK3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLnJhZGlzeXMubXNtbC1kaWFsb2ctc3BlZWNoK3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLnJhZGlzeXMubXNtbC1kaWFsb2ctdHJhbnNmb3JtK3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLnJhaW5zdG9yLmRhdGFcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQucmFwaWRcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQucmFyXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wicmFyXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQucmVhbHZuYy5iZWRcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJiZWRcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5yZWNvcmRhcmUubXVzaWN4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJteGxcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5yZWNvcmRhcmUubXVzaWN4bWwreG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJtdXNpY3htbFwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLnJlbHBpcGVcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQucmVubGVhcm4ucmxwcmludFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5yZXNpbGllbnQubG9naWNcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQucmVzdGZ1bCtqc29uXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQucmlnLmNyeXB0b25vdGVcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJjcnlwdG9ub3RlXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQucmltLmNvZFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJhcGFjaGVcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wiY29kXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQucm4tcmVhbG1lZGlhXCI6IHtcbiAgICAgICAgc291cmNlOiBcImFwYWNoZVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJybVwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLnJuLXJlYWxtZWRpYS12YnJcIjoge1xuICAgICAgICBzb3VyY2U6IFwiYXBhY2hlXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcInJtdmJcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5yb3V0ZTY2Lmxpbms2Nit4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWUsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImxpbms2NlwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLnJzLTI3NHhcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQucnVja3VzLmRvd25sb2FkXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLnMzc21zXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLnNhaWxpbmd0cmFja2VyLnRyYWNrXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wic3RcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5zYXJcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuc2JtLmNpZFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5zYm0ubWlkMlwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5zY3JpYnVzXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLnNlYWxlZC4zZGZcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuc2VhbGVkLmNzZlwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5zZWFsZWQuZG9jXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLnNlYWxlZC5lbWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuc2VhbGVkLm1odFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5zZWFsZWQubmV0XCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLnNlYWxlZC5wcHRcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuc2VhbGVkLnRpZmZcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuc2VhbGVkLnhsc1wiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5zZWFsZWRtZWRpYS5zb2Z0c2VhbC5odG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLnNlYWxlZG1lZGlhLnNvZnRzZWFsLnBkZlwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5zZWVtYWlsXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wic2VlXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuc2Vpcytqc29uXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuc2VtYVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcInNlbWFcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5zZW1kXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wic2VtZFwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLnNlbWZcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJzZW1mXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuc2hhZGUtc2F2ZS1maWxlXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLnNoYW5hLmluZm9ybWVkLmZvcm1kYXRhXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wiaWZtXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuc2hhbmEuaW5mb3JtZWQuZm9ybXRlbXBsYXRlXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wiaXRwXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuc2hhbmEuaW5mb3JtZWQuaW50ZXJjaGFuZ2VcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJpaWZcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5zaGFuYS5pbmZvcm1lZC5wYWNrYWdlXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wiaXBrXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuc2hvb3Rwcm9vZitqc29uXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuc2hvcGtpY2sranNvblwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLnNocFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5zaHhcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuc2lncm9rLnNlc3Npb25cIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuc2ltdGVjaC1taW5kbWFwcGVyXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1widHdkXCIsIFwidHdkc1wiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLnNpcmVuK2pzb25cIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5za2V0Y2hvbWV0cnlcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuc21hZlwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcIm1tZlwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLnNtYXJ0Lm5vdGVib29rXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLnNtYXJ0LnRlYWNoZXJcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJ0ZWFjaGVyXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuc21pbnRpby5wb3J0YWxzLmFyY2hpdmVcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuc25lc2Rldi1wYWdlLXRhYmxlXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLnNvZnR3YXJlNjAyLmZpbGxlci5mb3JtK3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZSxcbiAgICAgICAgZXh0ZW5zaW9uczogW1wiZm9cIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5zb2Z0d2FyZTYwMi5maWxsZXIuZm9ybS14bWwtemlwXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLnNvbGVudC5zZGttK3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZSxcbiAgICAgICAgZXh0ZW5zaW9uczogW1wic2RrbVwiLCBcInNka2RcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5zcG90ZmlyZS5keHBcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJkeHBcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5zcG90ZmlyZS5zZnNcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJzZnNcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5zcWxpdGUzXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLnNzcy1jb2RcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuc3NzLWR0ZlwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5zc3MtbnRmXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLnN0YXJkaXZpc2lvbi5jYWxjXCI6IHtcbiAgICAgICAgc291cmNlOiBcImFwYWNoZVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJzZGNcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5zdGFyZGl2aXNpb24uZHJhd1wiOiB7XG4gICAgICAgIHNvdXJjZTogXCJhcGFjaGVcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wic2RhXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuc3RhcmRpdmlzaW9uLmltcHJlc3NcIjoge1xuICAgICAgICBzb3VyY2U6IFwiYXBhY2hlXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcInNkZFwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLnN0YXJkaXZpc2lvbi5tYXRoXCI6IHtcbiAgICAgICAgc291cmNlOiBcImFwYWNoZVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJzbWZcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5zdGFyZGl2aXNpb24ud3JpdGVyXCI6IHtcbiAgICAgICAgc291cmNlOiBcImFwYWNoZVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJzZHdcIiwgXCJ2b3JcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5zdGFyZGl2aXNpb24ud3JpdGVyLWdsb2JhbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJhcGFjaGVcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wic2dsXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuc3RlcG1hbmlhLnBhY2thZ2VcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJzbXppcFwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLnN0ZXBtYW5pYS5zdGVwY2hhcnRcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJzbVwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLnN0cmVldC1zdHJlYW1cIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuc3VuLndhZGwreG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJ3YWRsXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuc3VuLnhtbC5jYWxjXCI6IHtcbiAgICAgICAgc291cmNlOiBcImFwYWNoZVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJzeGNcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5zdW4ueG1sLmNhbGMudGVtcGxhdGVcIjoge1xuICAgICAgICBzb3VyY2U6IFwiYXBhY2hlXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcInN0Y1wiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLnN1bi54bWwuZHJhd1wiOiB7XG4gICAgICAgIHNvdXJjZTogXCJhcGFjaGVcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wic3hkXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuc3VuLnhtbC5kcmF3LnRlbXBsYXRlXCI6IHtcbiAgICAgICAgc291cmNlOiBcImFwYWNoZVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJzdGRcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5zdW4ueG1sLmltcHJlc3NcIjoge1xuICAgICAgICBzb3VyY2U6IFwiYXBhY2hlXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcInN4aVwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLnN1bi54bWwuaW1wcmVzcy50ZW1wbGF0ZVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJhcGFjaGVcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wic3RpXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuc3VuLnhtbC5tYXRoXCI6IHtcbiAgICAgICAgc291cmNlOiBcImFwYWNoZVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJzeG1cIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5zdW4ueG1sLndyaXRlclwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJhcGFjaGVcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wic3h3XCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuc3VuLnhtbC53cml0ZXIuZ2xvYmFsXCI6IHtcbiAgICAgICAgc291cmNlOiBcImFwYWNoZVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJzeGdcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5zdW4ueG1sLndyaXRlci50ZW1wbGF0ZVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJhcGFjaGVcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wic3R3XCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuc3VzLWNhbGVuZGFyXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wic3VzXCIsIFwic3VzcFwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLnN2ZFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcInN2ZFwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLnN3aWZ0dmlldy1pY3NcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuc3lieWwubW9sMlwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5zeWNsZSt4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5zeWZ0K2pzb25cIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5zeW1iaWFuLmluc3RhbGxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiYXBhY2hlXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcInNpc1wiLCBcInNpc3hcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5zeW5jbWwreG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY2hhcnNldDogXCJVVEYtOFwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWUsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcInhzbVwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLnN5bmNtbC5kbSt3YnhtbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNoYXJzZXQ6IFwiVVRGLThcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wiYmRtXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuc3luY21sLmRtK3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNoYXJzZXQ6IFwiVVRGLThcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJ4ZG1cIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5zeW5jbWwuZG0ubm90aWZpY2F0aW9uXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLnN5bmNtbC5kbWRkZit3YnhtbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5zeW5jbWwuZG1kZGYreG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY2hhcnNldDogXCJVVEYtOFwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWUsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImRkZlwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLnN5bmNtbC5kbXRuZHMrd2J4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuc3luY21sLmRtdG5kcyt4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjaGFyc2V0OiBcIlVURi04XCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLnN5bmNtbC5kcy5ub3RpZmljYXRpb25cIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQudGFibGVzY2hlbWEranNvblwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLnRhby5pbnRlbnQtbW9kdWxlLWFyY2hpdmVcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJ0YW9cIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC50Y3BkdW1wLnBjYXBcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJwY2FwXCIsIFwiY2FwXCIsIFwiZG1wXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQudGhpbmstY2VsbC5wcHR0Yytqc29uXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQudG1kLm1lZGlhZmxleC5hcGkreG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQudG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLnRtb2JpbGUtbGl2ZXR2XCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1widG1vXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQudHJpLm9uZXNvdXJjZVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC50cmlkLnRwdFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcInRwdFwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLnRyaXNjYXBlLm14c1wiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcIm14c1wiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLnRydWVhcHBcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJ0cmFcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC50cnVlZG9jXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLnViaXNvZnQud2VicGxheWVyXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLnVmZGxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJ1ZmRcIiwgXCJ1ZmRsXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQudWljLm9zZG0ranNvblwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLnVpcS50aGVtZVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcInV0elwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLnVtYWppblwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcInVtalwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLnVuaXR5XCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1widW5pdHl3ZWJcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC51b21sK3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZSxcbiAgICAgICAgZXh0ZW5zaW9uczogW1widW9tbFwiLCBcInVvXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQudXBsYW5ldC5hbGVydFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC51cGxhbmV0LmFsZXJ0LXdieG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLnVwbGFuZXQuYmVhcmVyLWNob2ljZVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC51cGxhbmV0LmJlYXJlci1jaG9pY2Utd2J4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQudXBsYW5ldC5jYWNoZW9wXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLnVwbGFuZXQuY2FjaGVvcC13YnhtbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC51cGxhbmV0LmNoYW5uZWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQudXBsYW5ldC5jaGFubmVsLXdieG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLnVwbGFuZXQubGlzdFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC51cGxhbmV0Lmxpc3Qtd2J4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQudXBsYW5ldC5saXN0Y21kXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLnVwbGFuZXQubGlzdGNtZC13YnhtbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC51cGxhbmV0LnNpZ25hbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC51cmktbWFwXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLnZhbHZlLnNvdXJjZS5tYXRlcmlhbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC52Y3hcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJ2Y3hcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC52ZC1zdHVkeVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC52ZWN0b3J3b3Jrc1wiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC52ZWwranNvblwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLnZlcmFpc29uLnRzbS1yZXBvcnQrY2JvclwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC52ZXJhaXNvbi50c20tcmVwb3J0K2pzb25cIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC52ZXJpbWF0cml4LnZjYXNcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQudmVyaXRvbmUuYWlvbitqc29uXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQudmVyeWFudC50aGluXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLnZlcy5lbmNyeXB0ZWRcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQudmlkc29mdC52aWRjb25mZXJlbmNlXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLnZpc2lvXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1widnNkXCIsIFwidnN0XCIsIFwidnNzXCIsIFwidnN3XCIsIFwidnNkeFwiLCBcInZ0eFwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLnZpc2lvbmFyeVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcInZpc1wiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLnZpdmlkZW5jZS5zY3JpcHRmaWxlXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLnZvY2Fsc2hhcGVyLnZzcDRcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQudnNmXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1widnNmXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQud2FwLnNpY1wiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC53YXAuc2xjXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLndhcC53YnhtbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNoYXJzZXQ6IFwiVVRGLThcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wid2J4bWxcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC53YXAud21sY1wiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcIndtbGNcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC53YXAud21sc2NyaXB0Y1wiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcIndtbHNjXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQud2FzbWZsb3cud2FmbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC53ZWJ0dXJib1wiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcInd0YlwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLndmYS5kcHBcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQud2ZhLnAycFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC53ZmEud3NjXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLndpbmRvd3MuZGV2aWNlcGFpcmluZ1wiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC53bWNcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQud21mLmJvb3RzdHJhcFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC53b2xmcmFtLm1hdGhlbWF0aWNhXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLndvbGZyYW0ubWF0aGVtYXRpY2EucGFja2FnZVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC53b2xmcmFtLnBsYXllclwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcIm5icFwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLndvcmRsaWZ0XCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLndvcmRwZXJmZWN0XCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wid3BkXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQud3FkXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wid3FkXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQud3JxLWhwMzAwMC1sYWJlbGxlZFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC53dC5zdGZcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJzdGZcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC53di5jc3Ard2J4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQud3YuY3NwK3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLnd2LnNzcCt4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC54YWNtbCtqc29uXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQueGFyYVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcInhhclwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLnhhcmluLmNwalwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC54ZWNyZXRzLWVuY3J5cHRlZFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC54ZmRsXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wieGZkbFwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLnhmZGwud2ViZm9ybVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC54bWkreG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQueG1waWUuY3BrZ1wiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC54bXBpZS5kcGtnXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLnhtcGllLnBsYW5cIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQueG1waWUucHBrZ1wiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC54bXBpZS54bGltXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLnlhbWFoYS5odi1kaWNcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJodmRcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC55YW1haGEuaHYtc2NyaXB0XCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wiaHZzXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQueWFtYWhhLmh2LXZvaWNlXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wiaHZwXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQueWFtYWhhLm9wZW5zY29yZWZvcm1hdFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcIm9zZlwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLnlhbWFoYS5vcGVuc2NvcmVmb3JtYXQub3NmcHZnK3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZSxcbiAgICAgICAgZXh0ZW5zaW9uczogW1wib3NmcHZnXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQueWFtYWhhLnJlbW90ZS1zZXR1cFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC55YW1haGEuc21hZi1hdWRpb1wiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcInNhZlwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLnlhbWFoYS5zbWFmLXBocmFzZVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcInNwZlwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLnlhbWFoYS50aHJvdWdoLW5nblwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC55YW1haGEudHVubmVsLXVkcGVuY2FwXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLnlhb3dlbWVcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQueWVsbG93cml2ZXItY3VzdG9tLW1lbnVcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJjbXBcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC56dWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJ6aXJcIiwgXCJ6aXJ6XCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuenphenouZGVjayt4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWUsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcInphelwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm9pY2V4bWwreG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJ2eG1sXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92b3VjaGVyLWNtcytqc29uXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92b3VjaGVyLWp3cytqc29uXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92cFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZwK2Nvc2VcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92cCtqd3RcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92cS1ydGNweHJcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi93YXNtXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJ3YXNtXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi93YXRjaGVyaW5mbyt4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWUsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcIndpZlwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vd2VicHVzaC1vcHRpb25zK2pzb25cIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3dob2lzcHAtcXVlcnlcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi93aG9pc3BwLXJlc3BvbnNlXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vd2lkZ2V0XCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wid2d0XCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi93aW5obHBcIjoge1xuICAgICAgICBzb3VyY2U6IFwiYXBhY2hlXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImhscFwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vd2l0YVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3dvcmRwZXJmZWN0NS4xXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vd3NkbCt4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWUsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcIndzZGxcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3dzcG9saWN5K3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZSxcbiAgICAgICAgZXh0ZW5zaW9uczogW1wid3Nwb2xpY3lcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3gtN3otY29tcHJlc3NlZFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJhcGFjaGVcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiBmYWxzZSxcbiAgICAgICAgZXh0ZW5zaW9uczogW1wiN3pcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3gtYWJpd29yZFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJhcGFjaGVcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wiYWJ3XCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi94LWFjZS1jb21wcmVzc2VkXCI6IHtcbiAgICAgICAgc291cmNlOiBcImFwYWNoZVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJhY2VcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3gtYW1mXCI6IHtcbiAgICAgICAgc291cmNlOiBcImFwYWNoZVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi94LWFwcGxlLWRpc2tpbWFnZVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJhcGFjaGVcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wiZG1nXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi94LWFyalwiOiB7XG4gICAgICAgIGNvbXByZXNzaWJsZTogZmFsc2UsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImFyalwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24veC1hdXRob3J3YXJlLWJpblwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJhcGFjaGVcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wiYWFiXCIsIFwieDMyXCIsIFwidTMyXCIsIFwidm94XCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi94LWF1dGhvcndhcmUtbWFwXCI6IHtcbiAgICAgICAgc291cmNlOiBcImFwYWNoZVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJhYW1cIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3gtYXV0aG9yd2FyZS1zZWdcIjoge1xuICAgICAgICBzb3VyY2U6IFwiYXBhY2hlXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImFhc1wiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24veC1iY3Bpb1wiOiB7XG4gICAgICAgIHNvdXJjZTogXCJhcGFjaGVcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wiYmNwaW9cIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3gtYmRvY1wiOiB7XG4gICAgICAgIGNvbXByZXNzaWJsZTogZmFsc2UsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImJkb2NcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3gtYml0dG9ycmVudFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJhcGFjaGVcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1widG9ycmVudFwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24veC1ibGVuZGVyXCI6IHtcbiAgICAgICAgZXh0ZW5zaW9uczogW1wiYmxlbmRcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3gtYmxvcmJcIjoge1xuICAgICAgICBzb3VyY2U6IFwiYXBhY2hlXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImJsYlwiLCBcImJsb3JiXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi94LWJ6aXBcIjoge1xuICAgICAgICBzb3VyY2U6IFwiYXBhY2hlXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogZmFsc2UsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImJ6XCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi94LWJ6aXAyXCI6IHtcbiAgICAgICAgc291cmNlOiBcImFwYWNoZVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IGZhbHNlLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJiejJcIiwgXCJib3pcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3gtY2JyXCI6IHtcbiAgICAgICAgc291cmNlOiBcImFwYWNoZVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJjYnJcIiwgXCJjYmFcIiwgXCJjYnRcIiwgXCJjYnpcIiwgXCJjYjdcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3gtY2RsaW5rXCI6IHtcbiAgICAgICAgc291cmNlOiBcImFwYWNoZVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJ2Y2RcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3gtY2ZzLWNvbXByZXNzZWRcIjoge1xuICAgICAgICBzb3VyY2U6IFwiYXBhY2hlXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImNmc1wiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24veC1jaGF0XCI6IHtcbiAgICAgICAgc291cmNlOiBcImFwYWNoZVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJjaGF0XCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi94LWNoZXNzLXBnblwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJhcGFjaGVcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wicGduXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi94LWNocm9tZS1leHRlbnNpb25cIjoge1xuICAgICAgICBleHRlbnNpb25zOiBbXCJjcnhcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3gtY29jb2FcIjoge1xuICAgICAgICBzb3VyY2U6IFwibmdpbnhcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wiY2NvXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi94LWNvbXByZXNzXCI6IHtcbiAgICAgICAgc291cmNlOiBcImFwYWNoZVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi94LWNvbXByZXNzZWRcIjoge1xuICAgICAgICBleHRlbnNpb25zOiBbXCJyYXJcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3gtY29uZmVyZW5jZVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJhcGFjaGVcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wibnNjXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi94LWNwaW9cIjoge1xuICAgICAgICBzb3VyY2U6IFwiYXBhY2hlXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImNwaW9cIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3gtY3NoXCI6IHtcbiAgICAgICAgc291cmNlOiBcImFwYWNoZVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJjc2hcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3gtZGViXCI6IHtcbiAgICAgICAgY29tcHJlc3NpYmxlOiBmYWxzZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24veC1kZWJpYW4tcGFja2FnZVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJhcGFjaGVcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wiZGViXCIsIFwidWRlYlwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24veC1kZ2MtY29tcHJlc3NlZFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJhcGFjaGVcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wiZGdjXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi94LWRpcmVjdG9yXCI6IHtcbiAgICAgICAgc291cmNlOiBcImFwYWNoZVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJkaXJcIiwgXCJkY3JcIiwgXCJkeHJcIiwgXCJjc3RcIiwgXCJjY3RcIiwgXCJjeHRcIiwgXCJ3M2RcIiwgXCJmZ2RcIiwgXCJzd2FcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3gtZG9vbVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJhcGFjaGVcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wid2FkXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi94LWR0Ym5jeCt4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiYXBhY2hlXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZSxcbiAgICAgICAgZXh0ZW5zaW9uczogW1wibmN4XCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi94LWR0Ym9vayt4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiYXBhY2hlXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZSxcbiAgICAgICAgZXh0ZW5zaW9uczogW1wiZHRiXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi94LWR0YnJlc291cmNlK3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJhcGFjaGVcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJyZXNcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3gtZHZpXCI6IHtcbiAgICAgICAgc291cmNlOiBcImFwYWNoZVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IGZhbHNlLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJkdmlcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3gtZW52b3lcIjoge1xuICAgICAgICBzb3VyY2U6IFwiYXBhY2hlXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImV2eVwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24veC1ldmFcIjoge1xuICAgICAgICBzb3VyY2U6IFwiYXBhY2hlXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImV2YVwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24veC1mb250LWJkZlwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJhcGFjaGVcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wiYmRmXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi94LWZvbnQtZG9zXCI6IHtcbiAgICAgICAgc291cmNlOiBcImFwYWNoZVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi94LWZvbnQtZnJhbWVtYWtlclwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJhcGFjaGVcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24veC1mb250LWdob3N0c2NyaXB0XCI6IHtcbiAgICAgICAgc291cmNlOiBcImFwYWNoZVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJnc2ZcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3gtZm9udC1saWJncnhcIjoge1xuICAgICAgICBzb3VyY2U6IFwiYXBhY2hlXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3gtZm9udC1saW51eC1wc2ZcIjoge1xuICAgICAgICBzb3VyY2U6IFwiYXBhY2hlXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcInBzZlwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24veC1mb250LXBjZlwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJhcGFjaGVcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wicGNmXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi94LWZvbnQtc25mXCI6IHtcbiAgICAgICAgc291cmNlOiBcImFwYWNoZVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJzbmZcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3gtZm9udC1zcGVlZG9cIjoge1xuICAgICAgICBzb3VyY2U6IFwiYXBhY2hlXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3gtZm9udC1zdW5vcy1uZXdzXCI6IHtcbiAgICAgICAgc291cmNlOiBcImFwYWNoZVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi94LWZvbnQtdHlwZTFcIjoge1xuICAgICAgICBzb3VyY2U6IFwiYXBhY2hlXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcInBmYVwiLCBcInBmYlwiLCBcInBmbVwiLCBcImFmbVwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24veC1mb250LXZmb250XCI6IHtcbiAgICAgICAgc291cmNlOiBcImFwYWNoZVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi94LWZyZWVhcmNcIjoge1xuICAgICAgICBzb3VyY2U6IFwiYXBhY2hlXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImFyY1wiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24veC1mdXR1cmVzcGxhc2hcIjoge1xuICAgICAgICBzb3VyY2U6IFwiYXBhY2hlXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcInNwbFwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24veC1nY2EtY29tcHJlc3NlZFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJhcGFjaGVcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wiZ2NhXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi94LWdsdWx4XCI6IHtcbiAgICAgICAgc291cmNlOiBcImFwYWNoZVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJ1bHhcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3gtZ251bWVyaWNcIjoge1xuICAgICAgICBzb3VyY2U6IFwiYXBhY2hlXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImdudW1lcmljXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi94LWdyYW1wcy14bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiYXBhY2hlXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImdyYW1wc1wiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24veC1ndGFyXCI6IHtcbiAgICAgICAgc291cmNlOiBcImFwYWNoZVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJndGFyXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi94LWd6aXBcIjoge1xuICAgICAgICBzb3VyY2U6IFwiYXBhY2hlXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3gtaGRmXCI6IHtcbiAgICAgICAgc291cmNlOiBcImFwYWNoZVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJoZGZcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3gtaHR0cGQtcGhwXCI6IHtcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJwaHBcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3gtaW5zdGFsbC1pbnN0cnVjdGlvbnNcIjoge1xuICAgICAgICBzb3VyY2U6IFwiYXBhY2hlXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImluc3RhbGxcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3gtaXB5bmIranNvblwiOiB7XG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZSxcbiAgICAgICAgZXh0ZW5zaW9uczogW1wiaXB5bmJcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3gtaXNvOTY2MC1pbWFnZVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJhcGFjaGVcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wiaXNvXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi94LWl3b3JrLWtleW5vdGUtc2Zma2V5XCI6IHtcbiAgICAgICAgZXh0ZW5zaW9uczogW1wia2V5XCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi94LWl3b3JrLW51bWJlcnMtc2ZmbnVtYmVyc1wiOiB7XG4gICAgICAgIGV4dGVuc2lvbnM6IFtcIm51bWJlcnNcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3gtaXdvcmstcGFnZXMtc2ZmcGFnZXNcIjoge1xuICAgICAgICBleHRlbnNpb25zOiBbXCJwYWdlc1wiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24veC1qYXZhLWFyY2hpdmUtZGlmZlwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJuZ2lueFwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJqYXJkaWZmXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi94LWphdmEtam5scC1maWxlXCI6IHtcbiAgICAgICAgc291cmNlOiBcImFwYWNoZVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IGZhbHNlLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJqbmxwXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi94LWphdmFzY3JpcHRcIjoge1xuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3gta2VlcGFzczJcIjoge1xuICAgICAgICBleHRlbnNpb25zOiBbXCJrZGJ4XCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi94LWxhdGV4XCI6IHtcbiAgICAgICAgc291cmNlOiBcImFwYWNoZVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IGZhbHNlLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJsYXRleFwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24veC1sdWEtYnl0ZWNvZGVcIjoge1xuICAgICAgICBleHRlbnNpb25zOiBbXCJsdWFjXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi94LWx6aC1jb21wcmVzc2VkXCI6IHtcbiAgICAgICAgc291cmNlOiBcImFwYWNoZVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJsemhcIiwgXCJsaGFcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3gtbWFrZXNlbGZcIjoge1xuICAgICAgICBzb3VyY2U6IFwibmdpbnhcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wicnVuXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi94LW1pZVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJhcGFjaGVcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wibWllXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi94LW1vYmlwb2NrZXQtZWJvb2tcIjoge1xuICAgICAgICBzb3VyY2U6IFwiYXBhY2hlXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcInByY1wiLCBcIm1vYmlcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3gtbXBlZ3VybFwiOiB7XG4gICAgICAgIGNvbXByZXNzaWJsZTogZmFsc2VcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3gtbXMtYXBwbGljYXRpb25cIjoge1xuICAgICAgICBzb3VyY2U6IFwiYXBhY2hlXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImFwcGxpY2F0aW9uXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi94LW1zLXNob3J0Y3V0XCI6IHtcbiAgICAgICAgc291cmNlOiBcImFwYWNoZVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJsbmtcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3gtbXMtd21kXCI6IHtcbiAgICAgICAgc291cmNlOiBcImFwYWNoZVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJ3bWRcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3gtbXMtd216XCI6IHtcbiAgICAgICAgc291cmNlOiBcImFwYWNoZVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJ3bXpcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3gtbXMteGJhcFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJhcGFjaGVcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wieGJhcFwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24veC1tc2FjY2Vzc1wiOiB7XG4gICAgICAgIHNvdXJjZTogXCJhcGFjaGVcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wibWRiXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi94LW1zYmluZGVyXCI6IHtcbiAgICAgICAgc291cmNlOiBcImFwYWNoZVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJvYmRcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3gtbXNjYXJkZmlsZVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJhcGFjaGVcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wiY3JkXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi94LW1zY2xpcFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJhcGFjaGVcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wiY2xwXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi94LW1zZG9zLXByb2dyYW1cIjoge1xuICAgICAgICBleHRlbnNpb25zOiBbXCJleGVcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3gtbXNkb3dubG9hZFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJhcGFjaGVcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wiZXhlXCIsIFwiZGxsXCIsIFwiY29tXCIsIFwiYmF0XCIsIFwibXNpXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi94LW1zbWVkaWF2aWV3XCI6IHtcbiAgICAgICAgc291cmNlOiBcImFwYWNoZVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJtdmJcIiwgXCJtMTNcIiwgXCJtMTRcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3gtbXNtZXRhZmlsZVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJhcGFjaGVcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wid21mXCIsIFwid216XCIsIFwiZW1mXCIsIFwiZW16XCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi94LW1zbW9uZXlcIjoge1xuICAgICAgICBzb3VyY2U6IFwiYXBhY2hlXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcIm1ueVwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24veC1tc3B1Ymxpc2hlclwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJhcGFjaGVcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wicHViXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi94LW1zc2NoZWR1bGVcIjoge1xuICAgICAgICBzb3VyY2U6IFwiYXBhY2hlXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcInNjZFwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24veC1tc3Rlcm1pbmFsXCI6IHtcbiAgICAgICAgc291cmNlOiBcImFwYWNoZVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJ0cm1cIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3gtbXN3cml0ZVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJhcGFjaGVcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wid3JpXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi94LW5ldGNkZlwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJhcGFjaGVcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wibmNcIiwgXCJjZGZcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3gtbnMtcHJveHktYXV0b2NvbmZpZ1wiOiB7XG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZSxcbiAgICAgICAgZXh0ZW5zaW9uczogW1wicGFjXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi94LW56YlwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJhcGFjaGVcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wibnpiXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi94LXBlcmxcIjoge1xuICAgICAgICBzb3VyY2U6IFwibmdpbnhcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wicGxcIiwgXCJwbVwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24veC1waWxvdFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJuZ2lueFwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJwcmNcIiwgXCJwZGJcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3gtcGtjczEyXCI6IHtcbiAgICAgICAgc291cmNlOiBcImFwYWNoZVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IGZhbHNlLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJwMTJcIiwgXCJwZnhcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3gtcGtjczctY2VydGlmaWNhdGVzXCI6IHtcbiAgICAgICAgc291cmNlOiBcImFwYWNoZVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJwN2JcIiwgXCJzcGNcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3gtcGtjczctY2VydHJlcXJlc3BcIjoge1xuICAgICAgICBzb3VyY2U6IFwiYXBhY2hlXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcInA3clwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24veC1wa2ktbWVzc2FnZVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3gtcmFyLWNvbXByZXNzZWRcIjoge1xuICAgICAgICBzb3VyY2U6IFwiYXBhY2hlXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogZmFsc2UsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcInJhclwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24veC1yZWRoYXQtcGFja2FnZS1tYW5hZ2VyXCI6IHtcbiAgICAgICAgc291cmNlOiBcIm5naW54XCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcInJwbVwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24veC1yZXNlYXJjaC1pbmZvLXN5c3RlbXNcIjoge1xuICAgICAgICBzb3VyY2U6IFwiYXBhY2hlXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcInJpc1wiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24veC1zZWFcIjoge1xuICAgICAgICBzb3VyY2U6IFwibmdpbnhcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wic2VhXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi94LXNoXCI6IHtcbiAgICAgICAgc291cmNlOiBcImFwYWNoZVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWUsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcInNoXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi94LXNoYXJcIjoge1xuICAgICAgICBzb3VyY2U6IFwiYXBhY2hlXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcInNoYXJcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3gtc2hvY2t3YXZlLWZsYXNoXCI6IHtcbiAgICAgICAgc291cmNlOiBcImFwYWNoZVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IGZhbHNlLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJzd2ZcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3gtc2lsdmVybGlnaHQtYXBwXCI6IHtcbiAgICAgICAgc291cmNlOiBcImFwYWNoZVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJ4YXBcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3gtc3FsXCI6IHtcbiAgICAgICAgc291cmNlOiBcImFwYWNoZVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJzcWxcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3gtc3R1ZmZpdFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJhcGFjaGVcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiBmYWxzZSxcbiAgICAgICAgZXh0ZW5zaW9uczogW1wic2l0XCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi94LXN0dWZmaXR4XCI6IHtcbiAgICAgICAgc291cmNlOiBcImFwYWNoZVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJzaXR4XCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi94LXN1YnJpcFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJhcGFjaGVcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wic3J0XCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi94LXN2NGNwaW9cIjoge1xuICAgICAgICBzb3VyY2U6IFwiYXBhY2hlXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcInN2NGNwaW9cIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3gtc3Y0Y3JjXCI6IHtcbiAgICAgICAgc291cmNlOiBcImFwYWNoZVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJzdjRjcmNcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3gtdDN2bS1pbWFnZVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJhcGFjaGVcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1widDNcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3gtdGFkc1wiOiB7XG4gICAgICAgIHNvdXJjZTogXCJhcGFjaGVcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wiZ2FtXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi94LXRhclwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJhcGFjaGVcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJ0YXJcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3gtdGNsXCI6IHtcbiAgICAgICAgc291cmNlOiBcImFwYWNoZVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJ0Y2xcIiwgXCJ0a1wiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24veC10ZXhcIjoge1xuICAgICAgICBzb3VyY2U6IFwiYXBhY2hlXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcInRleFwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24veC10ZXgtdGZtXCI6IHtcbiAgICAgICAgc291cmNlOiBcImFwYWNoZVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJ0Zm1cIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3gtdGV4aW5mb1wiOiB7XG4gICAgICAgIHNvdXJjZTogXCJhcGFjaGVcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1widGV4aW5mb1wiLCBcInRleGlcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3gtdGdpZlwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJhcGFjaGVcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wib2JqXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi94LXVzdGFyXCI6IHtcbiAgICAgICAgc291cmNlOiBcImFwYWNoZVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJ1c3RhclwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24veC12aXJ0dWFsYm94LWhkZFwiOiB7XG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZSxcbiAgICAgICAgZXh0ZW5zaW9uczogW1wiaGRkXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi94LXZpcnR1YWxib3gtb3ZhXCI6IHtcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJvdmFcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3gtdmlydHVhbGJveC1vdmZcIjoge1xuICAgICAgICBjb21wcmVzc2libGU6IHRydWUsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcIm92ZlwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24veC12aXJ0dWFsYm94LXZib3hcIjoge1xuICAgICAgICBjb21wcmVzc2libGU6IHRydWUsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcInZib3hcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3gtdmlydHVhbGJveC12Ym94LWV4dHBhY2tcIjoge1xuICAgICAgICBjb21wcmVzc2libGU6IGZhbHNlLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJ2Ym94LWV4dHBhY2tcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3gtdmlydHVhbGJveC12ZGlcIjoge1xuICAgICAgICBjb21wcmVzc2libGU6IHRydWUsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcInZkaVwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24veC12aXJ0dWFsYm94LXZoZFwiOiB7XG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZSxcbiAgICAgICAgZXh0ZW5zaW9uczogW1widmhkXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi94LXZpcnR1YWxib3gtdm1ka1wiOiB7XG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZSxcbiAgICAgICAgZXh0ZW5zaW9uczogW1widm1ka1wiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24veC13YWlzLXNvdXJjZVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJhcGFjaGVcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wic3JjXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi94LXdlYi1hcHAtbWFuaWZlc3QranNvblwiOiB7XG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZSxcbiAgICAgICAgZXh0ZW5zaW9uczogW1wid2ViYXBwXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi94LXd3dy1mb3JtLXVybGVuY29kZWRcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3gteDUwOS1jYS1jZXJ0XCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wiZGVyXCIsIFwiY3J0XCIsIFwicGVtXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi94LXg1MDktY2EtcmEtY2VydFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3gteDUwOS1uZXh0LWNhLWNlcnRcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi94LXhmaWdcIjoge1xuICAgICAgICBzb3VyY2U6IFwiYXBhY2hlXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImZpZ1wiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24veC14bGlmZit4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiYXBhY2hlXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZSxcbiAgICAgICAgZXh0ZW5zaW9uczogW1wieGxmXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi94LXhwaW5zdGFsbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJhcGFjaGVcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiBmYWxzZSxcbiAgICAgICAgZXh0ZW5zaW9uczogW1wieHBpXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi94LXh6XCI6IHtcbiAgICAgICAgc291cmNlOiBcImFwYWNoZVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJ4elwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24veC16aXAtY29tcHJlc3NlZFwiOiB7XG4gICAgICAgIGV4dGVuc2lvbnM6IFtcInppcFwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24veC16bWFjaGluZVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJhcGFjaGVcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wiejFcIiwgXCJ6MlwiLCBcInozXCIsIFwiejRcIiwgXCJ6NVwiLCBcIno2XCIsIFwiejdcIiwgXCJ6OFwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24veDQwMC1icFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3hhY21sK3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24veGFtbCt4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiYXBhY2hlXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZSxcbiAgICAgICAgZXh0ZW5zaW9uczogW1wieGFtbFwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24veGNhcC1hdHQreG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJ4YXZcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3hjYXAtY2Fwcyt4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWUsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcInhjYVwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24veGNhcC1kaWZmK3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZSxcbiAgICAgICAgZXh0ZW5zaW9uczogW1wieGRmXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi94Y2FwLWVsK3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZSxcbiAgICAgICAgZXh0ZW5zaW9uczogW1wieGVsXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi94Y2FwLWVycm9yK3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24veGNhcC1ucyt4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWUsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcInhuc1wiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24veGNvbi1jb25mZXJlbmNlLWluZm8reG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi94Y29uLWNvbmZlcmVuY2UtaW5mby1kaWZmK3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24veGVuYyt4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWUsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcInhlbmNcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3hmZGZcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJ4ZmRmXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi94aHRtbCt4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWUsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcInhodG1sXCIsIFwieGh0XCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi94aHRtbC12b2ljZSt4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiYXBhY2hlXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24veGxpZmYreG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJ4bGZcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZSxcbiAgICAgICAgZXh0ZW5zaW9uczogW1wieG1sXCIsIFwieHNsXCIsIFwieHNkXCIsIFwicm5nXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi94bWwtZHRkXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJkdGRcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3htbC1leHRlcm5hbC1wYXJzZWQtZW50aXR5XCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24veG1sLXBhdGNoK3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24veG1wcCt4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3hvcCt4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWUsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcInhvcFwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24veHByb2MreG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImFwYWNoZVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWUsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcInhwbFwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24veHNsdCt4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWUsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcInhzbFwiLCBcInhzbHRcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3hzcGYreG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImFwYWNoZVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWUsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcInhzcGZcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3h2K3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZSxcbiAgICAgICAgZXh0ZW5zaW9uczogW1wibXhtbFwiLCBcInhodm1sXCIsIFwieHZtbFwiLCBcInh2bVwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24veWFtbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3lhbmdcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJ5YW5nXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi95YW5nLWRhdGErY2JvclwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3lhbmctZGF0YStqc29uXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi95YW5nLWRhdGEreG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi95YW5nLXBhdGNoK2pzb25cIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3lhbmctcGF0Y2greG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi95YW5nLXNpZCtqc29uXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi95aW4reG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJ5aW5cIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ppcFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogZmFsc2UsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcInppcFwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vemlwK2RvdGxvdHRpZVwiOiB7XG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImxvdHRpZVwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vemxpYlwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3pzdGRcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhdWRpby8xZC1pbnRlcmxlYXZlZC1wYXJpdHlmZWNcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhdWRpby8zMmthZHBjbVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImF1ZGlvLzNncHBcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IGZhbHNlLFxuICAgICAgICBleHRlbnNpb25zOiBbXCIzZ3BwXCJdXG4gICAgICB9LFxuICAgICAgXCJhdWRpby8zZ3BwMlwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImF1ZGlvL2FhY1wiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImFkdHNcIiwgXCJhYWNcIl1cbiAgICAgIH0sXG4gICAgICBcImF1ZGlvL2FjM1wiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImF1ZGlvL2FkcGNtXCI6IHtcbiAgICAgICAgc291cmNlOiBcImFwYWNoZVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJhZHBcIl1cbiAgICAgIH0sXG4gICAgICBcImF1ZGlvL2FtclwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImFtclwiXVxuICAgICAgfSxcbiAgICAgIFwiYXVkaW8vYW1yLXdiXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXVkaW8vYW1yLXdiK1wiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImF1ZGlvL2FwdHhcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhdWRpby9hc2NcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhdWRpby9hdHJhYy1hZHZhbmNlZC1sb3NzbGVzc1wiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImF1ZGlvL2F0cmFjLXhcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhdWRpby9hdHJhYzNcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhdWRpby9iYXNpY1wiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogZmFsc2UsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImF1XCIsIFwic25kXCJdXG4gICAgICB9LFxuICAgICAgXCJhdWRpby9idjE2XCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXVkaW8vYnYzMlwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImF1ZGlvL2NsZWFybW9kZVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImF1ZGlvL2NuXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXVkaW8vZGF0MTJcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhdWRpby9kbHNcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhdWRpby9kc3ItZXMyMDExMDhcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhdWRpby9kc3ItZXMyMDIwNTBcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhdWRpby9kc3ItZXMyMDIyMTFcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhdWRpby9kc3ItZXMyMDIyMTJcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhdWRpby9kdlwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImF1ZGlvL2R2aTRcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhdWRpby9lYWMzXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXVkaW8vZW5jYXBydHBcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhdWRpby9ldnJjXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXVkaW8vZXZyYy1xY3BcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhdWRpby9ldnJjMFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImF1ZGlvL2V2cmMxXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXVkaW8vZXZyY2JcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhdWRpby9ldnJjYjBcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhdWRpby9ldnJjYjFcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhdWRpby9ldnJjbndcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhdWRpby9ldnJjbncwXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXVkaW8vZXZyY253MVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImF1ZGlvL2V2cmN3YlwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImF1ZGlvL2V2cmN3YjBcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhdWRpby9ldnJjd2IxXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXVkaW8vZXZzXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXVkaW8vZmxhY1wiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImF1ZGlvL2ZsZXhmZWNcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhdWRpby9md2RyZWRcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhdWRpby9nNzExLTBcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhdWRpby9nNzE5XCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXVkaW8vZzcyMlwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImF1ZGlvL2c3MjIxXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXVkaW8vZzcyM1wiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImF1ZGlvL2c3MjYtMTZcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhdWRpby9nNzI2LTI0XCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXVkaW8vZzcyNi0zMlwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImF1ZGlvL2c3MjYtNDBcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhdWRpby9nNzI4XCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXVkaW8vZzcyOVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImF1ZGlvL2c3MjkxXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXVkaW8vZzcyOWRcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhdWRpby9nNzI5ZVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImF1ZGlvL2dzbVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImF1ZGlvL2dzbS1lZnJcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhdWRpby9nc20taHItMDhcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhdWRpby9pbGJjXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXVkaW8vaXAtbXJfdjIuNVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImF1ZGlvL2lzYWNcIjoge1xuICAgICAgICBzb3VyY2U6IFwiYXBhY2hlXCJcbiAgICAgIH0sXG4gICAgICBcImF1ZGlvL2wxNlwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImF1ZGlvL2wyMFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImF1ZGlvL2wyNFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogZmFsc2VcbiAgICAgIH0sXG4gICAgICBcImF1ZGlvL2w4XCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXVkaW8vbHBjXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXVkaW8vbWF0cm9za2FcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhdWRpby9tZWxwXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXVkaW8vbWVscDEyMDBcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhdWRpby9tZWxwMjQwMFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImF1ZGlvL21lbHA2MDBcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhdWRpby9taGFzXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXVkaW8vbWlkaVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJhcGFjaGVcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wibWlkXCIsIFwibWlkaVwiLCBcImthclwiLCBcInJtaVwiXVxuICAgICAgfSxcbiAgICAgIFwiYXVkaW8vbWlkaS1jbGlwXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXVkaW8vbW9iaWxlLXhtZlwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcIm14bWZcIl1cbiAgICAgIH0sXG4gICAgICBcImF1ZGlvL21wM1wiOiB7XG4gICAgICAgIGNvbXByZXNzaWJsZTogZmFsc2UsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcIm1wM1wiXVxuICAgICAgfSxcbiAgICAgIFwiYXVkaW8vbXA0XCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiBmYWxzZSxcbiAgICAgICAgZXh0ZW5zaW9uczogW1wibTRhXCIsIFwibXA0YVwiLCBcIm00YlwiXVxuICAgICAgfSxcbiAgICAgIFwiYXVkaW8vbXA0YS1sYXRtXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXVkaW8vbXBhXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXVkaW8vbXBhLXJvYnVzdFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImF1ZGlvL21wZWdcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IGZhbHNlLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJtcGdhXCIsIFwibXAyXCIsIFwibXAyYVwiLCBcIm1wM1wiLCBcIm0yYVwiLCBcIm0zYVwiXVxuICAgICAgfSxcbiAgICAgIFwiYXVkaW8vbXBlZzQtZ2VuZXJpY1wiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImF1ZGlvL211c2VwYWNrXCI6IHtcbiAgICAgICAgc291cmNlOiBcImFwYWNoZVwiXG4gICAgICB9LFxuICAgICAgXCJhdWRpby9vZ2dcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IGZhbHNlLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJvZ2FcIiwgXCJvZ2dcIiwgXCJzcHhcIiwgXCJvcHVzXCJdXG4gICAgICB9LFxuICAgICAgXCJhdWRpby9vcHVzXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXVkaW8vcGFyaXR5ZmVjXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXVkaW8vcGNtYVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImF1ZGlvL3BjbWEtd2JcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhdWRpby9wY211XCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXVkaW8vcGNtdS13YlwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImF1ZGlvL3Bycy5zaWRcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhdWRpby9xY2VscFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImF1ZGlvL3JhcHRvcmZlY1wiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImF1ZGlvL3JlZFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImF1ZGlvL3J0cC1lbmMtYWVzY20xMjhcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhdWRpby9ydHAtbWlkaVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImF1ZGlvL3J0cGxvb3BiYWNrXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXVkaW8vcnR4XCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXVkaW8vczNtXCI6IHtcbiAgICAgICAgc291cmNlOiBcImFwYWNoZVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJzM21cIl1cbiAgICAgIH0sXG4gICAgICBcImF1ZGlvL3NjaXBcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhdWRpby9zaWxrXCI6IHtcbiAgICAgICAgc291cmNlOiBcImFwYWNoZVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJzaWxcIl1cbiAgICAgIH0sXG4gICAgICBcImF1ZGlvL3NtdlwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImF1ZGlvL3Ntdi1xY3BcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhdWRpby9zbXYwXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXVkaW8vc29mYVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImF1ZGlvL3NwLW1pZGlcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhdWRpby9zcGVleFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImF1ZGlvL3QxNDBjXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXVkaW8vdDM4XCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXVkaW8vdGVsZXBob25lLWV2ZW50XCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXVkaW8vdGV0cmFfYWNlbHBcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhdWRpby90ZXRyYV9hY2VscF9iYlwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImF1ZGlvL3RvbmVcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhdWRpby90c3ZjaXNcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhdWRpby91ZW1jbGlwXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXVkaW8vdWxwZmVjXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXVkaW8vdXNhY1wiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImF1ZGlvL3ZkdmlcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhdWRpby92bXItd2JcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhdWRpby92bmQuM2dwcC5pdWZwXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXVkaW8vdm5kLjRzYlwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImF1ZGlvL3ZuZC5hdWRpb2tvelwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImF1ZGlvL3ZuZC5jZWxwXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXVkaW8vdm5kLmNpc2NvLm5zZVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImF1ZGlvL3ZuZC5jbWxlcy5yYWRpby1ldmVudHNcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhdWRpby92bmQuY25zLmFucDFcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhdWRpby92bmQuY25zLmluZjFcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhdWRpby92bmQuZGVjZS5hdWRpb1wiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcInV2YVwiLCBcInV2dmFcIl1cbiAgICAgIH0sXG4gICAgICBcImF1ZGlvL3ZuZC5kaWdpdGFsLXdpbmRzXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wiZW9sXCJdXG4gICAgICB9LFxuICAgICAgXCJhdWRpby92bmQuZGxuYS5hZHRzXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXVkaW8vdm5kLmRvbGJ5LmhlYWFjLjFcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhdWRpby92bmQuZG9sYnkuaGVhYWMuMlwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImF1ZGlvL3ZuZC5kb2xieS5tbHBcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhdWRpby92bmQuZG9sYnkubXBzXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXVkaW8vdm5kLmRvbGJ5LnBsMlwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImF1ZGlvL3ZuZC5kb2xieS5wbDJ4XCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXVkaW8vdm5kLmRvbGJ5LnBsMnpcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhdWRpby92bmQuZG9sYnkucHVsc2UuMVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImF1ZGlvL3ZuZC5kcmFcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJkcmFcIl1cbiAgICAgIH0sXG4gICAgICBcImF1ZGlvL3ZuZC5kdHNcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJkdHNcIl1cbiAgICAgIH0sXG4gICAgICBcImF1ZGlvL3ZuZC5kdHMuaGRcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJkdHNoZFwiXVxuICAgICAgfSxcbiAgICAgIFwiYXVkaW8vdm5kLmR0cy51aGRcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhdWRpby92bmQuZHZiLmZpbGVcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhdWRpby92bmQuZXZlcmFkLnBsalwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImF1ZGlvL3ZuZC5obnMuYXVkaW9cIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhdWRpby92bmQubHVjZW50LnZvaWNlXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wibHZwXCJdXG4gICAgICB9LFxuICAgICAgXCJhdWRpby92bmQubXMtcGxheXJlYWR5Lm1lZGlhLnB5YVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcInB5YVwiXVxuICAgICAgfSxcbiAgICAgIFwiYXVkaW8vdm5kLm5va2lhLm1vYmlsZS14bWZcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhdWRpby92bmQubm9ydGVsLnZia1wiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImF1ZGlvL3ZuZC5udWVyYS5lY2VscDQ4MDBcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJlY2VscDQ4MDBcIl1cbiAgICAgIH0sXG4gICAgICBcImF1ZGlvL3ZuZC5udWVyYS5lY2VscDc0NzBcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJlY2VscDc0NzBcIl1cbiAgICAgIH0sXG4gICAgICBcImF1ZGlvL3ZuZC5udWVyYS5lY2VscDk2MDBcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJlY2VscDk2MDBcIl1cbiAgICAgIH0sXG4gICAgICBcImF1ZGlvL3ZuZC5vY3RlbC5zYmNcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhdWRpby92bmQucHJlc29udXMubXVsdGl0cmFja1wiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImF1ZGlvL3ZuZC5xY2VscFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJhcGFjaGVcIlxuICAgICAgfSxcbiAgICAgIFwiYXVkaW8vdm5kLnJoZXRvcmV4LjMya2FkcGNtXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXVkaW8vdm5kLnJpcFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcInJpcFwiXVxuICAgICAgfSxcbiAgICAgIFwiYXVkaW8vdm5kLnJuLXJlYWxhdWRpb1wiOiB7XG4gICAgICAgIGNvbXByZXNzaWJsZTogZmFsc2VcbiAgICAgIH0sXG4gICAgICBcImF1ZGlvL3ZuZC5zZWFsZWRtZWRpYS5zb2Z0c2VhbC5tcGVnXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXVkaW8vdm5kLnZteC5jdnNkXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXVkaW8vdm5kLndhdmVcIjoge1xuICAgICAgICBjb21wcmVzc2libGU6IGZhbHNlXG4gICAgICB9LFxuICAgICAgXCJhdWRpby92b3JiaXNcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IGZhbHNlXG4gICAgICB9LFxuICAgICAgXCJhdWRpby92b3JiaXMtY29uZmlnXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXVkaW8vd2F2XCI6IHtcbiAgICAgICAgY29tcHJlc3NpYmxlOiBmYWxzZSxcbiAgICAgICAgZXh0ZW5zaW9uczogW1wid2F2XCJdXG4gICAgICB9LFxuICAgICAgXCJhdWRpby93YXZlXCI6IHtcbiAgICAgICAgY29tcHJlc3NpYmxlOiBmYWxzZSxcbiAgICAgICAgZXh0ZW5zaW9uczogW1wid2F2XCJdXG4gICAgICB9LFxuICAgICAgXCJhdWRpby93ZWJtXCI6IHtcbiAgICAgICAgc291cmNlOiBcImFwYWNoZVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IGZhbHNlLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJ3ZWJhXCJdXG4gICAgICB9LFxuICAgICAgXCJhdWRpby94LWFhY1wiOiB7XG4gICAgICAgIHNvdXJjZTogXCJhcGFjaGVcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiBmYWxzZSxcbiAgICAgICAgZXh0ZW5zaW9uczogW1wiYWFjXCJdXG4gICAgICB9LFxuICAgICAgXCJhdWRpby94LWFpZmZcIjoge1xuICAgICAgICBzb3VyY2U6IFwiYXBhY2hlXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImFpZlwiLCBcImFpZmZcIiwgXCJhaWZjXCJdXG4gICAgICB9LFxuICAgICAgXCJhdWRpby94LWNhZlwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJhcGFjaGVcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiBmYWxzZSxcbiAgICAgICAgZXh0ZW5zaW9uczogW1wiY2FmXCJdXG4gICAgICB9LFxuICAgICAgXCJhdWRpby94LWZsYWNcIjoge1xuICAgICAgICBzb3VyY2U6IFwiYXBhY2hlXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImZsYWNcIl1cbiAgICAgIH0sXG4gICAgICBcImF1ZGlvL3gtbTRhXCI6IHtcbiAgICAgICAgc291cmNlOiBcIm5naW54XCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcIm00YVwiXVxuICAgICAgfSxcbiAgICAgIFwiYXVkaW8veC1tYXRyb3NrYVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJhcGFjaGVcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wibWthXCJdXG4gICAgICB9LFxuICAgICAgXCJhdWRpby94LW1wZWd1cmxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiYXBhY2hlXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcIm0zdVwiXVxuICAgICAgfSxcbiAgICAgIFwiYXVkaW8veC1tcy13YXhcIjoge1xuICAgICAgICBzb3VyY2U6IFwiYXBhY2hlXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcIndheFwiXVxuICAgICAgfSxcbiAgICAgIFwiYXVkaW8veC1tcy13bWFcIjoge1xuICAgICAgICBzb3VyY2U6IFwiYXBhY2hlXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcIndtYVwiXVxuICAgICAgfSxcbiAgICAgIFwiYXVkaW8veC1wbi1yZWFsYXVkaW9cIjoge1xuICAgICAgICBzb3VyY2U6IFwiYXBhY2hlXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcInJhbVwiLCBcInJhXCJdXG4gICAgICB9LFxuICAgICAgXCJhdWRpby94LXBuLXJlYWxhdWRpby1wbHVnaW5cIjoge1xuICAgICAgICBzb3VyY2U6IFwiYXBhY2hlXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcInJtcFwiXVxuICAgICAgfSxcbiAgICAgIFwiYXVkaW8veC1yZWFsYXVkaW9cIjoge1xuICAgICAgICBzb3VyY2U6IFwibmdpbnhcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wicmFcIl1cbiAgICAgIH0sXG4gICAgICBcImF1ZGlvL3gtdHRhXCI6IHtcbiAgICAgICAgc291cmNlOiBcImFwYWNoZVwiXG4gICAgICB9LFxuICAgICAgXCJhdWRpby94LXdhdlwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJhcGFjaGVcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wid2F2XCJdXG4gICAgICB9LFxuICAgICAgXCJhdWRpby94bVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJhcGFjaGVcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wieG1cIl1cbiAgICAgIH0sXG4gICAgICBcImNoZW1pY2FsL3gtY2R4XCI6IHtcbiAgICAgICAgc291cmNlOiBcImFwYWNoZVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJjZHhcIl1cbiAgICAgIH0sXG4gICAgICBcImNoZW1pY2FsL3gtY2lmXCI6IHtcbiAgICAgICAgc291cmNlOiBcImFwYWNoZVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJjaWZcIl1cbiAgICAgIH0sXG4gICAgICBcImNoZW1pY2FsL3gtY21kZlwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJhcGFjaGVcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wiY21kZlwiXVxuICAgICAgfSxcbiAgICAgIFwiY2hlbWljYWwveC1jbWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiYXBhY2hlXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImNtbFwiXVxuICAgICAgfSxcbiAgICAgIFwiY2hlbWljYWwveC1jc21sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImFwYWNoZVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJjc21sXCJdXG4gICAgICB9LFxuICAgICAgXCJjaGVtaWNhbC94LXBkYlwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJhcGFjaGVcIlxuICAgICAgfSxcbiAgICAgIFwiY2hlbWljYWwveC14eXpcIjoge1xuICAgICAgICBzb3VyY2U6IFwiYXBhY2hlXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcInh5elwiXVxuICAgICAgfSxcbiAgICAgIFwiZm9udC9jb2xsZWN0aW9uXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1widHRjXCJdXG4gICAgICB9LFxuICAgICAgXCJmb250L290ZlwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZSxcbiAgICAgICAgZXh0ZW5zaW9uczogW1wib3RmXCJdXG4gICAgICB9LFxuICAgICAgXCJmb250L3NmbnRcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJmb250L3R0ZlwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZSxcbiAgICAgICAgZXh0ZW5zaW9uczogW1widHRmXCJdXG4gICAgICB9LFxuICAgICAgXCJmb250L3dvZmZcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJ3b2ZmXCJdXG4gICAgICB9LFxuICAgICAgXCJmb250L3dvZmYyXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wid29mZjJcIl1cbiAgICAgIH0sXG4gICAgICBcImltYWdlL2FjZXNcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJleHJcIl1cbiAgICAgIH0sXG4gICAgICBcImltYWdlL2FwbmdcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IGZhbHNlLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJhcG5nXCJdXG4gICAgICB9LFxuICAgICAgXCJpbWFnZS9hdmNpXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wiYXZjaVwiXVxuICAgICAgfSxcbiAgICAgIFwiaW1hZ2UvYXZjc1wiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImF2Y3NcIl1cbiAgICAgIH0sXG4gICAgICBcImltYWdlL2F2aWZcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IGZhbHNlLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJhdmlmXCJdXG4gICAgICB9LFxuICAgICAgXCJpbWFnZS9ibXBcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWUsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImJtcFwiLCBcImRpYlwiXVxuICAgICAgfSxcbiAgICAgIFwiaW1hZ2UvY2dtXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wiY2dtXCJdXG4gICAgICB9LFxuICAgICAgXCJpbWFnZS9kaWNvbS1ybGVcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJkcmxlXCJdXG4gICAgICB9LFxuICAgICAgXCJpbWFnZS9kcHhcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJkcHhcIl1cbiAgICAgIH0sXG4gICAgICBcImltYWdlL2VtZlwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImVtZlwiXVxuICAgICAgfSxcbiAgICAgIFwiaW1hZ2UvZml0c1wiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImZpdHNcIl1cbiAgICAgIH0sXG4gICAgICBcImltYWdlL2czZmF4XCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wiZzNcIl1cbiAgICAgIH0sXG4gICAgICBcImltYWdlL2dpZlwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogZmFsc2UsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImdpZlwiXVxuICAgICAgfSxcbiAgICAgIFwiaW1hZ2UvaGVpY1wiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImhlaWNcIl1cbiAgICAgIH0sXG4gICAgICBcImltYWdlL2hlaWMtc2VxdWVuY2VcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJoZWljc1wiXVxuICAgICAgfSxcbiAgICAgIFwiaW1hZ2UvaGVpZlwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImhlaWZcIl1cbiAgICAgIH0sXG4gICAgICBcImltYWdlL2hlaWYtc2VxdWVuY2VcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJoZWlmc1wiXVxuICAgICAgfSxcbiAgICAgIFwiaW1hZ2UvaGVqMmtcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJoZWoyXCJdXG4gICAgICB9LFxuICAgICAgXCJpbWFnZS9pZWZcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJpZWZcIl1cbiAgICAgIH0sXG4gICAgICBcImltYWdlL2oyY1wiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImltYWdlL2phaWlcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJqYWlpXCJdXG4gICAgICB9LFxuICAgICAgXCJpbWFnZS9qYWlzXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wiamFpc1wiXVxuICAgICAgfSxcbiAgICAgIFwiaW1hZ2UvamxzXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wiamxzXCJdXG4gICAgICB9LFxuICAgICAgXCJpbWFnZS9qcDJcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IGZhbHNlLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJqcDJcIiwgXCJqcGcyXCJdXG4gICAgICB9LFxuICAgICAgXCJpbWFnZS9qcGVnXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiBmYWxzZSxcbiAgICAgICAgZXh0ZW5zaW9uczogW1wianBnXCIsIFwianBlZ1wiLCBcImpwZVwiXVxuICAgICAgfSxcbiAgICAgIFwiaW1hZ2UvanBoXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wianBoXCJdXG4gICAgICB9LFxuICAgICAgXCJpbWFnZS9qcGhjXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wiamhjXCJdXG4gICAgICB9LFxuICAgICAgXCJpbWFnZS9qcG1cIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IGZhbHNlLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJqcG1cIiwgXCJqcGdtXCJdXG4gICAgICB9LFxuICAgICAgXCJpbWFnZS9qcHhcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IGZhbHNlLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJqcHhcIiwgXCJqcGZcIl1cbiAgICAgIH0sXG4gICAgICBcImltYWdlL2p4bFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImp4bFwiXVxuICAgICAgfSxcbiAgICAgIFwiaW1hZ2UvanhyXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wianhyXCJdXG4gICAgICB9LFxuICAgICAgXCJpbWFnZS9qeHJhXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wianhyYVwiXVxuICAgICAgfSxcbiAgICAgIFwiaW1hZ2Uvanhyc1wiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImp4cnNcIl1cbiAgICAgIH0sXG4gICAgICBcImltYWdlL2p4c1wiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImp4c1wiXVxuICAgICAgfSxcbiAgICAgIFwiaW1hZ2UvanhzY1wiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImp4c2NcIl1cbiAgICAgIH0sXG4gICAgICBcImltYWdlL2p4c2lcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJqeHNpXCJdXG4gICAgICB9LFxuICAgICAgXCJpbWFnZS9qeHNzXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wianhzc1wiXVxuICAgICAgfSxcbiAgICAgIFwiaW1hZ2Uva3R4XCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wia3R4XCJdXG4gICAgICB9LFxuICAgICAgXCJpbWFnZS9rdHgyXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wia3R4MlwiXVxuICAgICAgfSxcbiAgICAgIFwiaW1hZ2UvbmFwbHBzXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiaW1hZ2UvcGpwZWdcIjoge1xuICAgICAgICBjb21wcmVzc2libGU6IGZhbHNlLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJqZmlmXCJdXG4gICAgICB9LFxuICAgICAgXCJpbWFnZS9wbmdcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IGZhbHNlLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJwbmdcIl1cbiAgICAgIH0sXG4gICAgICBcImltYWdlL3Bycy5idGlmXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wiYnRpZlwiLCBcImJ0ZlwiXVxuICAgICAgfSxcbiAgICAgIFwiaW1hZ2UvcHJzLnB0aVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcInB0aVwiXVxuICAgICAgfSxcbiAgICAgIFwiaW1hZ2UvcHdnLXJhc3RlclwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImltYWdlL3NnaVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJhcGFjaGVcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wic2dpXCJdXG4gICAgICB9LFxuICAgICAgXCJpbWFnZS9zdmcreG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJzdmdcIiwgXCJzdmd6XCJdXG4gICAgICB9LFxuICAgICAgXCJpbWFnZS90MzhcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJ0MzhcIl1cbiAgICAgIH0sXG4gICAgICBcImltYWdlL3RpZmZcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IGZhbHNlLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJ0aWZcIiwgXCJ0aWZmXCJdXG4gICAgICB9LFxuICAgICAgXCJpbWFnZS90aWZmLWZ4XCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1widGZ4XCJdXG4gICAgICB9LFxuICAgICAgXCJpbWFnZS92bmQuYWRvYmUucGhvdG9zaG9wXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJwc2RcIl1cbiAgICAgIH0sXG4gICAgICBcImltYWdlL3ZuZC5haXJ6aXAuYWNjZWxlcmF0b3IuYXp2XCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wiYXp2XCJdXG4gICAgICB9LFxuICAgICAgXCJpbWFnZS92bmQuY2xpcFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImltYWdlL3ZuZC5jbnMuaW5mMlwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImltYWdlL3ZuZC5kZWNlLmdyYXBoaWNcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJ1dmlcIiwgXCJ1dnZpXCIsIFwidXZnXCIsIFwidXZ2Z1wiXVxuICAgICAgfSxcbiAgICAgIFwiaW1hZ2Uvdm5kLmRqdnVcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJkanZ1XCIsIFwiZGp2XCJdXG4gICAgICB9LFxuICAgICAgXCJpbWFnZS92bmQuZHZiLnN1YnRpdGxlXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wic3ViXCJdXG4gICAgICB9LFxuICAgICAgXCJpbWFnZS92bmQuZHdnXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wiZHdnXCJdXG4gICAgICB9LFxuICAgICAgXCJpbWFnZS92bmQuZHhmXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wiZHhmXCJdXG4gICAgICB9LFxuICAgICAgXCJpbWFnZS92bmQuZmFzdGJpZHNoZWV0XCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wiZmJzXCJdXG4gICAgICB9LFxuICAgICAgXCJpbWFnZS92bmQuZnB4XCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wiZnB4XCJdXG4gICAgICB9LFxuICAgICAgXCJpbWFnZS92bmQuZnN0XCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wiZnN0XCJdXG4gICAgICB9LFxuICAgICAgXCJpbWFnZS92bmQuZnVqaXhlcm94LmVkbWljcy1tbXJcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJtbXJcIl1cbiAgICAgIH0sXG4gICAgICBcImltYWdlL3ZuZC5mdWppeGVyb3guZWRtaWNzLXJsY1wiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcInJsY1wiXVxuICAgICAgfSxcbiAgICAgIFwiaW1hZ2Uvdm5kLmdsb2JhbGdyYXBoaWNzLnBnYlwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImltYWdlL3ZuZC5taWNyb3NvZnQuaWNvblwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZSxcbiAgICAgICAgZXh0ZW5zaW9uczogW1wiaWNvXCJdXG4gICAgICB9LFxuICAgICAgXCJpbWFnZS92bmQubWl4XCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiaW1hZ2Uvdm5kLm1vemlsbGEuYXBuZ1wiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImltYWdlL3ZuZC5tcy1kZHNcIjoge1xuICAgICAgICBjb21wcmVzc2libGU6IHRydWUsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImRkc1wiXVxuICAgICAgfSxcbiAgICAgIFwiaW1hZ2Uvdm5kLm1zLW1vZGlcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJtZGlcIl1cbiAgICAgIH0sXG4gICAgICBcImltYWdlL3ZuZC5tcy1waG90b1wiOiB7XG4gICAgICAgIHNvdXJjZTogXCJhcGFjaGVcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wid2RwXCJdXG4gICAgICB9LFxuICAgICAgXCJpbWFnZS92bmQubmV0LWZweFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcIm5weFwiXVxuICAgICAgfSxcbiAgICAgIFwiaW1hZ2Uvdm5kLnBjby5iMTZcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJiMTZcIl1cbiAgICAgIH0sXG4gICAgICBcImltYWdlL3ZuZC5yYWRpYW5jZVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImltYWdlL3ZuZC5zZWFsZWQucG5nXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiaW1hZ2Uvdm5kLnNlYWxlZG1lZGlhLnNvZnRzZWFsLmdpZlwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImltYWdlL3ZuZC5zZWFsZWRtZWRpYS5zb2Z0c2VhbC5qcGdcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJpbWFnZS92bmQuc3ZmXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiaW1hZ2Uvdm5kLnRlbmNlbnQudGFwXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1widGFwXCJdXG4gICAgICB9LFxuICAgICAgXCJpbWFnZS92bmQudmFsdmUuc291cmNlLnRleHR1cmVcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJ2dGZcIl1cbiAgICAgIH0sXG4gICAgICBcImltYWdlL3ZuZC53YXAud2JtcFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcIndibXBcIl1cbiAgICAgIH0sXG4gICAgICBcImltYWdlL3ZuZC54aWZmXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wieGlmXCJdXG4gICAgICB9LFxuICAgICAgXCJpbWFnZS92bmQuemJydXNoLnBjeFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcInBjeFwiXVxuICAgICAgfSxcbiAgICAgIFwiaW1hZ2Uvd2VicFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcIndlYnBcIl1cbiAgICAgIH0sXG4gICAgICBcImltYWdlL3dtZlwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcIndtZlwiXVxuICAgICAgfSxcbiAgICAgIFwiaW1hZ2UveC0zZHNcIjoge1xuICAgICAgICBzb3VyY2U6IFwiYXBhY2hlXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcIjNkc1wiXVxuICAgICAgfSxcbiAgICAgIFwiaW1hZ2UveC1hZG9iZS1kbmdcIjoge1xuICAgICAgICBleHRlbnNpb25zOiBbXCJkbmdcIl1cbiAgICAgIH0sXG4gICAgICBcImltYWdlL3gtY211LXJhc3RlclwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJhcGFjaGVcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wicmFzXCJdXG4gICAgICB9LFxuICAgICAgXCJpbWFnZS94LWNteFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJhcGFjaGVcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wiY214XCJdXG4gICAgICB9LFxuICAgICAgXCJpbWFnZS94LWVtZlwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImltYWdlL3gtZnJlZWhhbmRcIjoge1xuICAgICAgICBzb3VyY2U6IFwiYXBhY2hlXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImZoXCIsIFwiZmhjXCIsIFwiZmg0XCIsIFwiZmg1XCIsIFwiZmg3XCJdXG4gICAgICB9LFxuICAgICAgXCJpbWFnZS94LWljb25cIjoge1xuICAgICAgICBzb3VyY2U6IFwiYXBhY2hlXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZSxcbiAgICAgICAgZXh0ZW5zaW9uczogW1wiaWNvXCJdXG4gICAgICB9LFxuICAgICAgXCJpbWFnZS94LWpuZ1wiOiB7XG4gICAgICAgIHNvdXJjZTogXCJuZ2lueFwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJqbmdcIl1cbiAgICAgIH0sXG4gICAgICBcImltYWdlL3gtbXJzaWQtaW1hZ2VcIjoge1xuICAgICAgICBzb3VyY2U6IFwiYXBhY2hlXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcInNpZFwiXVxuICAgICAgfSxcbiAgICAgIFwiaW1hZ2UveC1tcy1ibXBcIjoge1xuICAgICAgICBzb3VyY2U6IFwibmdpbnhcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJibXBcIl1cbiAgICAgIH0sXG4gICAgICBcImltYWdlL3gtcGN4XCI6IHtcbiAgICAgICAgc291cmNlOiBcImFwYWNoZVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJwY3hcIl1cbiAgICAgIH0sXG4gICAgICBcImltYWdlL3gtcGljdFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJhcGFjaGVcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wicGljXCIsIFwicGN0XCJdXG4gICAgICB9LFxuICAgICAgXCJpbWFnZS94LXBvcnRhYmxlLWFueW1hcFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJhcGFjaGVcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wicG5tXCJdXG4gICAgICB9LFxuICAgICAgXCJpbWFnZS94LXBvcnRhYmxlLWJpdG1hcFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJhcGFjaGVcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wicGJtXCJdXG4gICAgICB9LFxuICAgICAgXCJpbWFnZS94LXBvcnRhYmxlLWdyYXltYXBcIjoge1xuICAgICAgICBzb3VyY2U6IFwiYXBhY2hlXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcInBnbVwiXVxuICAgICAgfSxcbiAgICAgIFwiaW1hZ2UveC1wb3J0YWJsZS1waXhtYXBcIjoge1xuICAgICAgICBzb3VyY2U6IFwiYXBhY2hlXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcInBwbVwiXVxuICAgICAgfSxcbiAgICAgIFwiaW1hZ2UveC1yZ2JcIjoge1xuICAgICAgICBzb3VyY2U6IFwiYXBhY2hlXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcInJnYlwiXVxuICAgICAgfSxcbiAgICAgIFwiaW1hZ2UveC10Z2FcIjoge1xuICAgICAgICBzb3VyY2U6IFwiYXBhY2hlXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcInRnYVwiXVxuICAgICAgfSxcbiAgICAgIFwiaW1hZ2UveC13bWZcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJpbWFnZS94LXhiaXRtYXBcIjoge1xuICAgICAgICBzb3VyY2U6IFwiYXBhY2hlXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcInhibVwiXVxuICAgICAgfSxcbiAgICAgIFwiaW1hZ2UveC14Y2ZcIjoge1xuICAgICAgICBjb21wcmVzc2libGU6IGZhbHNlXG4gICAgICB9LFxuICAgICAgXCJpbWFnZS94LXhwaXhtYXBcIjoge1xuICAgICAgICBzb3VyY2U6IFwiYXBhY2hlXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcInhwbVwiXVxuICAgICAgfSxcbiAgICAgIFwiaW1hZ2UveC14d2luZG93ZHVtcFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJhcGFjaGVcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wieHdkXCJdXG4gICAgICB9LFxuICAgICAgXCJtZXNzYWdlL2JodHRwXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwibWVzc2FnZS9jcGltXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwibWVzc2FnZS9kZWxpdmVyeS1zdGF0dXNcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJtZXNzYWdlL2Rpc3Bvc2l0aW9uLW5vdGlmaWNhdGlvblwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcbiAgICAgICAgICBcImRpc3Bvc2l0aW9uLW5vdGlmaWNhdGlvblwiXG4gICAgICAgIF1cbiAgICAgIH0sXG4gICAgICBcIm1lc3NhZ2UvZXh0ZXJuYWwtYm9keVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcIm1lc3NhZ2UvZmVlZGJhY2stcmVwb3J0XCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwibWVzc2FnZS9nbG9iYWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJ1OG1zZ1wiXVxuICAgICAgfSxcbiAgICAgIFwibWVzc2FnZS9nbG9iYWwtZGVsaXZlcnktc3RhdHVzXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1widThkc25cIl1cbiAgICAgIH0sXG4gICAgICBcIm1lc3NhZ2UvZ2xvYmFsLWRpc3Bvc2l0aW9uLW5vdGlmaWNhdGlvblwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcInU4bWRuXCJdXG4gICAgICB9LFxuICAgICAgXCJtZXNzYWdlL2dsb2JhbC1oZWFkZXJzXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1widThoZHJcIl1cbiAgICAgIH0sXG4gICAgICBcIm1lc3NhZ2UvaHR0cFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogZmFsc2VcbiAgICAgIH0sXG4gICAgICBcIm1lc3NhZ2UvaW1kbit4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcIm1lc3NhZ2UvbWxzXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwibWVzc2FnZS9uZXdzXCI6IHtcbiAgICAgICAgc291cmNlOiBcImFwYWNoZVwiXG4gICAgICB9LFxuICAgICAgXCJtZXNzYWdlL29odHRwLXJlcVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcIm1lc3NhZ2Uvb2h0dHAtcmVzXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwibWVzc2FnZS9wYXJ0aWFsXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiBmYWxzZVxuICAgICAgfSxcbiAgICAgIFwibWVzc2FnZS9yZmM4MjJcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWUsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImVtbFwiLCBcIm1pbWVcIiwgXCJtaHRcIiwgXCJtaHRtbFwiXVxuICAgICAgfSxcbiAgICAgIFwibWVzc2FnZS9zLWh0dHBcIjoge1xuICAgICAgICBzb3VyY2U6IFwiYXBhY2hlXCJcbiAgICAgIH0sXG4gICAgICBcIm1lc3NhZ2Uvc2lwXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwibWVzc2FnZS9zaXBmcmFnXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwibWVzc2FnZS90cmFja2luZy1zdGF0dXNcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJtZXNzYWdlL3ZuZC5zaS5zaW1wXCI6IHtcbiAgICAgICAgc291cmNlOiBcImFwYWNoZVwiXG4gICAgICB9LFxuICAgICAgXCJtZXNzYWdlL3ZuZC53ZmEud3NjXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wid3NjXCJdXG4gICAgICB9LFxuICAgICAgXCJtb2RlbC8zbWZcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCIzbWZcIl1cbiAgICAgIH0sXG4gICAgICBcIm1vZGVsL2U1N1wiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcIm1vZGVsL2dsdGYranNvblwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZSxcbiAgICAgICAgZXh0ZW5zaW9uczogW1wiZ2x0ZlwiXVxuICAgICAgfSxcbiAgICAgIFwibW9kZWwvZ2x0Zi1iaW5hcnlcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWUsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImdsYlwiXVxuICAgICAgfSxcbiAgICAgIFwibW9kZWwvaWdlc1wiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogZmFsc2UsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImlnc1wiLCBcImlnZXNcIl1cbiAgICAgIH0sXG4gICAgICBcIm1vZGVsL2p0XCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wianRcIl1cbiAgICAgIH0sXG4gICAgICBcIm1vZGVsL21lc2hcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IGZhbHNlLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJtc2hcIiwgXCJtZXNoXCIsIFwic2lsb1wiXVxuICAgICAgfSxcbiAgICAgIFwibW9kZWwvbXRsXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wibXRsXCJdXG4gICAgICB9LFxuICAgICAgXCJtb2RlbC9vYmpcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJvYmpcIl1cbiAgICAgIH0sXG4gICAgICBcIm1vZGVsL3ByY1wiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcInByY1wiXVxuICAgICAgfSxcbiAgICAgIFwibW9kZWwvc3RlcFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcInN0ZXBcIiwgXCJzdHBcIiwgXCJzdHBuY1wiLCBcInAyMVwiLCBcIjIxMFwiXVxuICAgICAgfSxcbiAgICAgIFwibW9kZWwvc3RlcCt4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWUsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcInN0cHhcIl1cbiAgICAgIH0sXG4gICAgICBcIm1vZGVsL3N0ZXAremlwXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiBmYWxzZSxcbiAgICAgICAgZXh0ZW5zaW9uczogW1wic3RwelwiXVxuICAgICAgfSxcbiAgICAgIFwibW9kZWwvc3RlcC14bWwremlwXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiBmYWxzZSxcbiAgICAgICAgZXh0ZW5zaW9uczogW1wic3RweHpcIl1cbiAgICAgIH0sXG4gICAgICBcIm1vZGVsL3N0bFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcInN0bFwiXVxuICAgICAgfSxcbiAgICAgIFwibW9kZWwvdTNkXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1widTNkXCJdXG4gICAgICB9LFxuICAgICAgXCJtb2RlbC92bmQuYmFyeVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImJhcnlcIl1cbiAgICAgIH0sXG4gICAgICBcIm1vZGVsL3ZuZC5jbGRcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJjbGRcIl1cbiAgICAgIH0sXG4gICAgICBcIm1vZGVsL3ZuZC5jb2xsYWRhK3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZSxcbiAgICAgICAgZXh0ZW5zaW9uczogW1wiZGFlXCJdXG4gICAgICB9LFxuICAgICAgXCJtb2RlbC92bmQuZHdmXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wiZHdmXCJdXG4gICAgICB9LFxuICAgICAgXCJtb2RlbC92bmQuZmxhdGxhbmQuM2RtbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcIm1vZGVsL3ZuZC5nZGxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJnZGxcIl1cbiAgICAgIH0sXG4gICAgICBcIm1vZGVsL3ZuZC5ncy1nZGxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiYXBhY2hlXCJcbiAgICAgIH0sXG4gICAgICBcIm1vZGVsL3ZuZC5ncy5nZGxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJtb2RlbC92bmQuZ3R3XCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wiZ3R3XCJdXG4gICAgICB9LFxuICAgICAgXCJtb2RlbC92bmQubW9tbCt4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcIm1vZGVsL3ZuZC5tdHNcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJtdHNcIl1cbiAgICAgIH0sXG4gICAgICBcIm1vZGVsL3ZuZC5vcGVuZ2V4XCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wib2dleFwiXVxuICAgICAgfSxcbiAgICAgIFwibW9kZWwvdm5kLnBhcmFzb2xpZC50cmFuc21pdC5iaW5hcnlcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJ4X2JcIl1cbiAgICAgIH0sXG4gICAgICBcIm1vZGVsL3ZuZC5wYXJhc29saWQudHJhbnNtaXQudGV4dFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcInhfdFwiXVxuICAgICAgfSxcbiAgICAgIFwibW9kZWwvdm5kLnB5dGhhLnB5b3hcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJweW9cIiwgXCJweW94XCJdXG4gICAgICB9LFxuICAgICAgXCJtb2RlbC92bmQucm9zZXR0ZS5hbm5vdGF0ZWQtZGF0YS1tb2RlbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcIm1vZGVsL3ZuZC5zYXAudmRzXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1widmRzXCJdXG4gICAgICB9LFxuICAgICAgXCJtb2RlbC92bmQudXNkYVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcInVzZGFcIl1cbiAgICAgIH0sXG4gICAgICBcIm1vZGVsL3ZuZC51c2R6K3ppcFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogZmFsc2UsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcInVzZHpcIl1cbiAgICAgIH0sXG4gICAgICBcIm1vZGVsL3ZuZC52YWx2ZS5zb3VyY2UuY29tcGlsZWQtbWFwXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wiYnNwXCJdXG4gICAgICB9LFxuICAgICAgXCJtb2RlbC92bmQudnR1XCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1widnR1XCJdXG4gICAgICB9LFxuICAgICAgXCJtb2RlbC92cm1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiBmYWxzZSxcbiAgICAgICAgZXh0ZW5zaW9uczogW1wid3JsXCIsIFwidnJtbFwiXVxuICAgICAgfSxcbiAgICAgIFwibW9kZWwveDNkK2JpbmFyeVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJhcGFjaGVcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiBmYWxzZSxcbiAgICAgICAgZXh0ZW5zaW9uczogW1wieDNkYlwiLCBcIngzZGJ6XCJdXG4gICAgICB9LFxuICAgICAgXCJtb2RlbC94M2QrZmFzdGluZm9zZXRcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJ4M2RiXCJdXG4gICAgICB9LFxuICAgICAgXCJtb2RlbC94M2QrdnJtbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJhcGFjaGVcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiBmYWxzZSxcbiAgICAgICAgZXh0ZW5zaW9uczogW1wieDNkdlwiLCBcIngzZHZ6XCJdXG4gICAgICB9LFxuICAgICAgXCJtb2RlbC94M2QreG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJ4M2RcIiwgXCJ4M2R6XCJdXG4gICAgICB9LFxuICAgICAgXCJtb2RlbC94M2QtdnJtbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcIngzZHZcIl1cbiAgICAgIH0sXG4gICAgICBcIm11bHRpcGFydC9hbHRlcm5hdGl2ZVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogZmFsc2VcbiAgICAgIH0sXG4gICAgICBcIm11bHRpcGFydC9hcHBsZWRvdWJsZVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcIm11bHRpcGFydC9ieXRlcmFuZ2VzXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwibXVsdGlwYXJ0L2RpZ2VzdFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcIm11bHRpcGFydC9lbmNyeXB0ZWRcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IGZhbHNlXG4gICAgICB9LFxuICAgICAgXCJtdWx0aXBhcnQvZm9ybS1kYXRhXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiBmYWxzZVxuICAgICAgfSxcbiAgICAgIFwibXVsdGlwYXJ0L2hlYWRlci1zZXRcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJtdWx0aXBhcnQvbWl4ZWRcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJtdWx0aXBhcnQvbXVsdGlsaW5ndWFsXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwibXVsdGlwYXJ0L3BhcmFsbGVsXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwibXVsdGlwYXJ0L3JlbGF0ZWRcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IGZhbHNlXG4gICAgICB9LFxuICAgICAgXCJtdWx0aXBhcnQvcmVwb3J0XCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwibXVsdGlwYXJ0L3NpZ25lZFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogZmFsc2VcbiAgICAgIH0sXG4gICAgICBcIm11bHRpcGFydC92bmQuYmludC5tZWQtcGx1c1wiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcIm11bHRpcGFydC92b2ljZS1tZXNzYWdlXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwibXVsdGlwYXJ0L3gtbWl4ZWQtcmVwbGFjZVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcInRleHQvMWQtaW50ZXJsZWF2ZWQtcGFyaXR5ZmVjXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwidGV4dC9jYWNoZS1tYW5pZmVzdFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZSxcbiAgICAgICAgZXh0ZW5zaW9uczogW1wiYXBwY2FjaGVcIiwgXCJtYW5pZmVzdFwiXVxuICAgICAgfSxcbiAgICAgIFwidGV4dC9jYWxlbmRhclwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImljc1wiLCBcImlmYlwiXVxuICAgICAgfSxcbiAgICAgIFwidGV4dC9jYWxlbmRlclwiOiB7XG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwidGV4dC9jbWRcIjoge1xuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcInRleHQvY29mZmVlc2NyaXB0XCI6IHtcbiAgICAgICAgZXh0ZW5zaW9uczogW1wiY29mZmVlXCIsIFwibGl0Y29mZmVlXCJdXG4gICAgICB9LFxuICAgICAgXCJ0ZXh0L2NxbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcInRleHQvY3FsLWV4cHJlc3Npb25cIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJ0ZXh0L2NxbC1pZGVudGlmaWVyXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwidGV4dC9jc3NcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjaGFyc2V0OiBcIlVURi04XCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZSxcbiAgICAgICAgZXh0ZW5zaW9uczogW1wiY3NzXCJdXG4gICAgICB9LFxuICAgICAgXCJ0ZXh0L2NzdlwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZSxcbiAgICAgICAgZXh0ZW5zaW9uczogW1wiY3N2XCJdXG4gICAgICB9LFxuICAgICAgXCJ0ZXh0L2Nzdi1zY2hlbWFcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJ0ZXh0L2RpcmVjdG9yeVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcInRleHQvZG5zXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwidGV4dC9lY21hc2NyaXB0XCI6IHtcbiAgICAgICAgc291cmNlOiBcImFwYWNoZVwiXG4gICAgICB9LFxuICAgICAgXCJ0ZXh0L2VuY2FwcnRwXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwidGV4dC9lbnJpY2hlZFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcInRleHQvZmhpcnBhdGhcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJ0ZXh0L2ZsZXhmZWNcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJ0ZXh0L2Z3ZHJlZFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcInRleHQvZ2ZmM1wiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcInRleHQvZ3JhbW1hci1yZWYtbGlzdFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcInRleHQvaGw3djJcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJ0ZXh0L2h0bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWUsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImh0bWxcIiwgXCJodG1cIiwgXCJzaHRtbFwiXVxuICAgICAgfSxcbiAgICAgIFwidGV4dC9qYWRlXCI6IHtcbiAgICAgICAgZXh0ZW5zaW9uczogW1wiamFkZVwiXVxuICAgICAgfSxcbiAgICAgIFwidGV4dC9qYXZhc2NyaXB0XCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY2hhcnNldDogXCJVVEYtOFwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWUsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImpzXCIsIFwibWpzXCJdXG4gICAgICB9LFxuICAgICAgXCJ0ZXh0L2pjci1jbmRcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJ0ZXh0L2pzeFwiOiB7XG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZSxcbiAgICAgICAgZXh0ZW5zaW9uczogW1wianN4XCJdXG4gICAgICB9LFxuICAgICAgXCJ0ZXh0L2xlc3NcIjoge1xuICAgICAgICBjb21wcmVzc2libGU6IHRydWUsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImxlc3NcIl1cbiAgICAgIH0sXG4gICAgICBcInRleHQvbWFya2Rvd25cIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWUsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcIm1kXCIsIFwibWFya2Rvd25cIl1cbiAgICAgIH0sXG4gICAgICBcInRleHQvbWF0aG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcIm5naW54XCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcIm1tbFwiXVxuICAgICAgfSxcbiAgICAgIFwidGV4dC9tZHhcIjoge1xuICAgICAgICBjb21wcmVzc2libGU6IHRydWUsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcIm1keFwiXVxuICAgICAgfSxcbiAgICAgIFwidGV4dC9taXphclwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcInRleHQvbjNcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjaGFyc2V0OiBcIlVURi04XCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZSxcbiAgICAgICAgZXh0ZW5zaW9uczogW1wibjNcIl1cbiAgICAgIH0sXG4gICAgICBcInRleHQvcGFyYW1ldGVyc1wiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNoYXJzZXQ6IFwiVVRGLThcIlxuICAgICAgfSxcbiAgICAgIFwidGV4dC9wYXJpdHlmZWNcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJ0ZXh0L3BsYWluXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJ0eHRcIiwgXCJ0ZXh0XCIsIFwiY29uZlwiLCBcImRlZlwiLCBcImxpc3RcIiwgXCJsb2dcIiwgXCJpblwiLCBcImluaVwiXVxuICAgICAgfSxcbiAgICAgIFwidGV4dC9wcm92ZW5hbmNlLW5vdGF0aW9uXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY2hhcnNldDogXCJVVEYtOFwiXG4gICAgICB9LFxuICAgICAgXCJ0ZXh0L3Bycy5mYWxsZW5zdGVpbi5yc3RcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJ0ZXh0L3Bycy5saW5lcy50YWdcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJkc2NcIl1cbiAgICAgIH0sXG4gICAgICBcInRleHQvcHJzLnByb3AubG9naWNcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJ0ZXh0L3Bycy50ZXhpXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwidGV4dC9yYXB0b3JmZWNcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJ0ZXh0L3JlZFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcInRleHQvcmZjODIyLWhlYWRlcnNcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJ0ZXh0L3JpY2h0ZXh0XCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJydHhcIl1cbiAgICAgIH0sXG4gICAgICBcInRleHQvcnRmXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJydGZcIl1cbiAgICAgIH0sXG4gICAgICBcInRleHQvcnRwLWVuYy1hZXNjbTEyOFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcInRleHQvcnRwbG9vcGJhY2tcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJ0ZXh0L3J0eFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcInRleHQvc2dtbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcInNnbWxcIiwgXCJzZ21cIl1cbiAgICAgIH0sXG4gICAgICBcInRleHQvc2hhY2xjXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwidGV4dC9zaGV4XCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wic2hleFwiXVxuICAgICAgfSxcbiAgICAgIFwidGV4dC9zbGltXCI6IHtcbiAgICAgICAgZXh0ZW5zaW9uczogW1wic2xpbVwiLCBcInNsbVwiXVxuICAgICAgfSxcbiAgICAgIFwidGV4dC9zcGR4XCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wic3BkeFwiXVxuICAgICAgfSxcbiAgICAgIFwidGV4dC9zdHJpbmdzXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwidGV4dC9zdHlsdXNcIjoge1xuICAgICAgICBleHRlbnNpb25zOiBbXCJzdHlsdXNcIiwgXCJzdHlsXCJdXG4gICAgICB9LFxuICAgICAgXCJ0ZXh0L3QxNDBcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJ0ZXh0L3RhYi1zZXBhcmF0ZWQtdmFsdWVzXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJ0c3ZcIl1cbiAgICAgIH0sXG4gICAgICBcInRleHQvdHJvZmZcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJ0XCIsIFwidHJcIiwgXCJyb2ZmXCIsIFwibWFuXCIsIFwibWVcIiwgXCJtc1wiXVxuICAgICAgfSxcbiAgICAgIFwidGV4dC90dXJ0bGVcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjaGFyc2V0OiBcIlVURi04XCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcInR0bFwiXVxuICAgICAgfSxcbiAgICAgIFwidGV4dC91bHBmZWNcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJ0ZXh0L3VyaS1saXN0XCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJ1cmlcIiwgXCJ1cmlzXCIsIFwidXJsc1wiXVxuICAgICAgfSxcbiAgICAgIFwidGV4dC92Y2FyZFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZSxcbiAgICAgICAgZXh0ZW5zaW9uczogW1widmNhcmRcIl1cbiAgICAgIH0sXG4gICAgICBcInRleHQvdm5kLmFcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJ0ZXh0L3ZuZC5hYmNcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJ0ZXh0L3ZuZC5hc2NpaS1hcnRcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJ0ZXh0L3ZuZC5jdXJsXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wiY3VybFwiXVxuICAgICAgfSxcbiAgICAgIFwidGV4dC92bmQuY3VybC5kY3VybFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJhcGFjaGVcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wiZGN1cmxcIl1cbiAgICAgIH0sXG4gICAgICBcInRleHQvdm5kLmN1cmwubWN1cmxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiYXBhY2hlXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcIm1jdXJsXCJdXG4gICAgICB9LFxuICAgICAgXCJ0ZXh0L3ZuZC5jdXJsLnNjdXJsXCI6IHtcbiAgICAgICAgc291cmNlOiBcImFwYWNoZVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJzY3VybFwiXVxuICAgICAgfSxcbiAgICAgIFwidGV4dC92bmQuZGViaWFuLmNvcHlyaWdodFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNoYXJzZXQ6IFwiVVRGLThcIlxuICAgICAgfSxcbiAgICAgIFwidGV4dC92bmQuZG1jbGllbnRzY3JpcHRcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJ0ZXh0L3ZuZC5kdmIuc3VidGl0bGVcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJzdWJcIl1cbiAgICAgIH0sXG4gICAgICBcInRleHQvdm5kLmVzbWVydGVjLnRoZW1lLWRlc2NyaXB0b3JcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjaGFyc2V0OiBcIlVURi04XCJcbiAgICAgIH0sXG4gICAgICBcInRleHQvdm5kLmV4Y2hhbmdlYWJsZVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcInRleHQvdm5kLmZhbWlseXNlYXJjaC5nZWRjb21cIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJnZWRcIl1cbiAgICAgIH0sXG4gICAgICBcInRleHQvdm5kLmZpY2xhYi5mbHRcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJ0ZXh0L3ZuZC5mbHlcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJmbHlcIl1cbiAgICAgIH0sXG4gICAgICBcInRleHQvdm5kLmZtaS5mbGV4c3RvclwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImZseFwiXVxuICAgICAgfSxcbiAgICAgIFwidGV4dC92bmQuZ21sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwidGV4dC92bmQuZ3JhcGh2aXpcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJndlwiXVxuICAgICAgfSxcbiAgICAgIFwidGV4dC92bmQuaGFuc1wiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcInRleHQvdm5kLmhnbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcInRleHQvdm5kLmluM2QuM2RtbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcIjNkbWxcIl1cbiAgICAgIH0sXG4gICAgICBcInRleHQvdm5kLmluM2Quc3BvdFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcInNwb3RcIl1cbiAgICAgIH0sXG4gICAgICBcInRleHQvdm5kLmlwdGMubmV3c21sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwidGV4dC92bmQuaXB0Yy5uaXRmXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwidGV4dC92bmQubGF0ZXgtelwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcInRleHQvdm5kLm1vdG9yb2xhLnJlZmxleFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcInRleHQvdm5kLm1zLW1lZGlhcGFja2FnZVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcInRleHQvdm5kLm5ldDJwaG9uZS5jb21tY2VudGVyLmNvbW1hbmRcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJ0ZXh0L3ZuZC5yYWRpc3lzLm1zbWwtYmFzaWMtbGF5b3V0XCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwidGV4dC92bmQuc2VueC53YXJwc2NyaXB0XCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwidGV4dC92bmQuc2kudXJpY2F0YWxvZ3VlXCI6IHtcbiAgICAgICAgc291cmNlOiBcImFwYWNoZVwiXG4gICAgICB9LFxuICAgICAgXCJ0ZXh0L3ZuZC5zb3NpXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwidGV4dC92bmQuc3VuLmoybWUuYXBwLWRlc2NyaXB0b3JcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjaGFyc2V0OiBcIlVURi04XCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImphZFwiXVxuICAgICAgfSxcbiAgICAgIFwidGV4dC92bmQudHJvbGx0ZWNoLmxpbmd1aXN0XCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY2hhcnNldDogXCJVVEYtOFwiXG4gICAgICB9LFxuICAgICAgXCJ0ZXh0L3ZuZC52Y2ZcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJ0ZXh0L3ZuZC53YXAuc2lcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJ0ZXh0L3ZuZC53YXAuc2xcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJ0ZXh0L3ZuZC53YXAud21sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wid21sXCJdXG4gICAgICB9LFxuICAgICAgXCJ0ZXh0L3ZuZC53YXAud21sc2NyaXB0XCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wid21sc1wiXVxuICAgICAgfSxcbiAgICAgIFwidGV4dC92bmQuem9vLmtjbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcInRleHQvdnR0XCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY2hhcnNldDogXCJVVEYtOFwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWUsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcInZ0dFwiXVxuICAgICAgfSxcbiAgICAgIFwidGV4dC93Z3NsXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wid2dzbFwiXVxuICAgICAgfSxcbiAgICAgIFwidGV4dC94LWFzbVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJhcGFjaGVcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wic1wiLCBcImFzbVwiXVxuICAgICAgfSxcbiAgICAgIFwidGV4dC94LWNcIjoge1xuICAgICAgICBzb3VyY2U6IFwiYXBhY2hlXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImNcIiwgXCJjY1wiLCBcImN4eFwiLCBcImNwcFwiLCBcImhcIiwgXCJoaFwiLCBcImRpY1wiXVxuICAgICAgfSxcbiAgICAgIFwidGV4dC94LWNvbXBvbmVudFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJuZ2lueFwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJodGNcIl1cbiAgICAgIH0sXG4gICAgICBcInRleHQveC1mb3J0cmFuXCI6IHtcbiAgICAgICAgc291cmNlOiBcImFwYWNoZVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJmXCIsIFwiZm9yXCIsIFwiZjc3XCIsIFwiZjkwXCJdXG4gICAgICB9LFxuICAgICAgXCJ0ZXh0L3gtZ3d0LXJwY1wiOiB7XG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwidGV4dC94LWhhbmRsZWJhcnMtdGVtcGxhdGVcIjoge1xuICAgICAgICBleHRlbnNpb25zOiBbXCJoYnNcIl1cbiAgICAgIH0sXG4gICAgICBcInRleHQveC1qYXZhLXNvdXJjZVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJhcGFjaGVcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wiamF2YVwiXVxuICAgICAgfSxcbiAgICAgIFwidGV4dC94LWpxdWVyeS10bXBsXCI6IHtcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJ0ZXh0L3gtbHVhXCI6IHtcbiAgICAgICAgZXh0ZW5zaW9uczogW1wibHVhXCJdXG4gICAgICB9LFxuICAgICAgXCJ0ZXh0L3gtbWFya2Rvd25cIjoge1xuICAgICAgICBjb21wcmVzc2libGU6IHRydWUsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcIm1rZFwiXVxuICAgICAgfSxcbiAgICAgIFwidGV4dC94LW5mb1wiOiB7XG4gICAgICAgIHNvdXJjZTogXCJhcGFjaGVcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wibmZvXCJdXG4gICAgICB9LFxuICAgICAgXCJ0ZXh0L3gtb3BtbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJhcGFjaGVcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wib3BtbFwiXVxuICAgICAgfSxcbiAgICAgIFwidGV4dC94LW9yZ1wiOiB7XG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZSxcbiAgICAgICAgZXh0ZW5zaW9uczogW1wib3JnXCJdXG4gICAgICB9LFxuICAgICAgXCJ0ZXh0L3gtcGFzY2FsXCI6IHtcbiAgICAgICAgc291cmNlOiBcImFwYWNoZVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJwXCIsIFwicGFzXCJdXG4gICAgICB9LFxuICAgICAgXCJ0ZXh0L3gtcHJvY2Vzc2luZ1wiOiB7XG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZSxcbiAgICAgICAgZXh0ZW5zaW9uczogW1wicGRlXCJdXG4gICAgICB9LFxuICAgICAgXCJ0ZXh0L3gtc2Fzc1wiOiB7XG4gICAgICAgIGV4dGVuc2lvbnM6IFtcInNhc3NcIl1cbiAgICAgIH0sXG4gICAgICBcInRleHQveC1zY3NzXCI6IHtcbiAgICAgICAgZXh0ZW5zaW9uczogW1wic2Nzc1wiXVxuICAgICAgfSxcbiAgICAgIFwidGV4dC94LXNldGV4dFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJhcGFjaGVcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wiZXR4XCJdXG4gICAgICB9LFxuICAgICAgXCJ0ZXh0L3gtc2Z2XCI6IHtcbiAgICAgICAgc291cmNlOiBcImFwYWNoZVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJzZnZcIl1cbiAgICAgIH0sXG4gICAgICBcInRleHQveC1zdXNlLXltcFwiOiB7XG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZSxcbiAgICAgICAgZXh0ZW5zaW9uczogW1wieW1wXCJdXG4gICAgICB9LFxuICAgICAgXCJ0ZXh0L3gtdXVlbmNvZGVcIjoge1xuICAgICAgICBzb3VyY2U6IFwiYXBhY2hlXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcInV1XCJdXG4gICAgICB9LFxuICAgICAgXCJ0ZXh0L3gtdmNhbGVuZGFyXCI6IHtcbiAgICAgICAgc291cmNlOiBcImFwYWNoZVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJ2Y3NcIl1cbiAgICAgIH0sXG4gICAgICBcInRleHQveC12Y2FyZFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJhcGFjaGVcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1widmNmXCJdXG4gICAgICB9LFxuICAgICAgXCJ0ZXh0L3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZSxcbiAgICAgICAgZXh0ZW5zaW9uczogW1wieG1sXCJdXG4gICAgICB9LFxuICAgICAgXCJ0ZXh0L3htbC1leHRlcm5hbC1wYXJzZWQtZW50aXR5XCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwidGV4dC95YW1sXCI6IHtcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJ5YW1sXCIsIFwieW1sXCJdXG4gICAgICB9LFxuICAgICAgXCJ2aWRlby8xZC1pbnRlcmxlYXZlZC1wYXJpdHlmZWNcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJ2aWRlby8zZ3BwXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wiM2dwXCIsIFwiM2dwcFwiXVxuICAgICAgfSxcbiAgICAgIFwidmlkZW8vM2dwcC10dFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcInZpZGVvLzNncHAyXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wiM2cyXCJdXG4gICAgICB9LFxuICAgICAgXCJ2aWRlby9hdjFcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJ2aWRlby9ibXBlZ1wiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcInZpZGVvL2J0NjU2XCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwidmlkZW8vY2VsYlwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcInZpZGVvL2R2XCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwidmlkZW8vZW5jYXBydHBcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJ2aWRlby9ldmNcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJ2aWRlby9mZnYxXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwidmlkZW8vZmxleGZlY1wiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcInZpZGVvL2gyNjFcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJoMjYxXCJdXG4gICAgICB9LFxuICAgICAgXCJ2aWRlby9oMjYzXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wiaDI2M1wiXVxuICAgICAgfSxcbiAgICAgIFwidmlkZW8vaDI2My0xOTk4XCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwidmlkZW8vaDI2My0yMDAwXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwidmlkZW8vaDI2NFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImgyNjRcIl1cbiAgICAgIH0sXG4gICAgICBcInZpZGVvL2gyNjQtcmNkb1wiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcInZpZGVvL2gyNjQtc3ZjXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwidmlkZW8vaDI2NVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcInZpZGVvL2gyNjZcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJ2aWRlby9pc28uc2VnbWVudFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcIm00c1wiXVxuICAgICAgfSxcbiAgICAgIFwidmlkZW8vanBlZ1wiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImpwZ3ZcIl1cbiAgICAgIH0sXG4gICAgICBcInZpZGVvL2pwZWcyMDAwXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwidmlkZW8vanBtXCI6IHtcbiAgICAgICAgc291cmNlOiBcImFwYWNoZVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJqcG1cIiwgXCJqcGdtXCJdXG4gICAgICB9LFxuICAgICAgXCJ2aWRlby9qeHN2XCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwidmlkZW8vbG90dGllK2pzb25cIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcInZpZGVvL21hdHJvc2thXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwidmlkZW8vbWF0cm9za2EtM2RcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJ2aWRlby9tajJcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJtajJcIiwgXCJtanAyXCJdXG4gICAgICB9LFxuICAgICAgXCJ2aWRlby9tcDFzXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwidmlkZW8vbXAycFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcInZpZGVvL21wMnRcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJ0c1wiLCBcIm0ydFwiLCBcIm0ydHNcIiwgXCJtdHNcIl1cbiAgICAgIH0sXG4gICAgICBcInZpZGVvL21wNFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogZmFsc2UsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcIm1wNFwiLCBcIm1wNHZcIiwgXCJtcGc0XCJdXG4gICAgICB9LFxuICAgICAgXCJ2aWRlby9tcDR2LWVzXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwidmlkZW8vbXBlZ1wiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogZmFsc2UsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcIm1wZWdcIiwgXCJtcGdcIiwgXCJtcGVcIiwgXCJtMXZcIiwgXCJtMnZcIl1cbiAgICAgIH0sXG4gICAgICBcInZpZGVvL21wZWc0LWdlbmVyaWNcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJ2aWRlby9tcHZcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJ2aWRlby9udlwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcInZpZGVvL29nZ1wiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogZmFsc2UsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcIm9ndlwiXVxuICAgICAgfSxcbiAgICAgIFwidmlkZW8vcGFyaXR5ZmVjXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwidmlkZW8vcG9pbnRlclwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcInZpZGVvL3F1aWNrdGltZVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogZmFsc2UsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcInF0XCIsIFwibW92XCJdXG4gICAgICB9LFxuICAgICAgXCJ2aWRlby9yYXB0b3JmZWNcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJ2aWRlby9yYXdcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJ2aWRlby9ydHAtZW5jLWFlc2NtMTI4XCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwidmlkZW8vcnRwbG9vcGJhY2tcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJ2aWRlby9ydHhcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJ2aWRlby9zY2lwXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwidmlkZW8vc21wdGUyOTFcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJ2aWRlby9zbXB0ZTI5Mm1cIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJ2aWRlby91bHBmZWNcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJ2aWRlby92YzFcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJ2aWRlby92YzJcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJ2aWRlby92bmQuY2N0dlwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcInZpZGVvL3ZuZC5kZWNlLmhkXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1widXZoXCIsIFwidXZ2aFwiXVxuICAgICAgfSxcbiAgICAgIFwidmlkZW8vdm5kLmRlY2UubW9iaWxlXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1widXZtXCIsIFwidXZ2bVwiXVxuICAgICAgfSxcbiAgICAgIFwidmlkZW8vdm5kLmRlY2UubXA0XCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwidmlkZW8vdm5kLmRlY2UucGRcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJ1dnBcIiwgXCJ1dnZwXCJdXG4gICAgICB9LFxuICAgICAgXCJ2aWRlby92bmQuZGVjZS5zZFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcInV2c1wiLCBcInV2dnNcIl1cbiAgICAgIH0sXG4gICAgICBcInZpZGVvL3ZuZC5kZWNlLnZpZGVvXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1widXZ2XCIsIFwidXZ2dlwiXVxuICAgICAgfSxcbiAgICAgIFwidmlkZW8vdm5kLmRpcmVjdHYubXBlZ1wiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcInZpZGVvL3ZuZC5kaXJlY3R2Lm1wZWctdHRzXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwidmlkZW8vdm5kLmRsbmEubXBlZy10dHNcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJ2aWRlby92bmQuZHZiLmZpbGVcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJkdmJcIl1cbiAgICAgIH0sXG4gICAgICBcInZpZGVvL3ZuZC5mdnRcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJmdnRcIl1cbiAgICAgIH0sXG4gICAgICBcInZpZGVvL3ZuZC5obnMudmlkZW9cIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJ2aWRlby92bmQuaXB0dmZvcnVtLjFkcGFyaXR5ZmVjLTEwMTBcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJ2aWRlby92bmQuaXB0dmZvcnVtLjFkcGFyaXR5ZmVjLTIwMDVcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJ2aWRlby92bmQuaXB0dmZvcnVtLjJkcGFyaXR5ZmVjLTEwMTBcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJ2aWRlby92bmQuaXB0dmZvcnVtLjJkcGFyaXR5ZmVjLTIwMDVcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJ2aWRlby92bmQuaXB0dmZvcnVtLnR0c2F2Y1wiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcInZpZGVvL3ZuZC5pcHR2Zm9ydW0udHRzbXBlZzJcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJ2aWRlby92bmQubW90b3JvbGEudmlkZW9cIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJ2aWRlby92bmQubW90b3JvbGEudmlkZW9wXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwidmlkZW8vdm5kLm1wZWd1cmxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJteHVcIiwgXCJtNHVcIl1cbiAgICAgIH0sXG4gICAgICBcInZpZGVvL3ZuZC5tcy1wbGF5cmVhZHkubWVkaWEucHl2XCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wicHl2XCJdXG4gICAgICB9LFxuICAgICAgXCJ2aWRlby92bmQubm9raWEuaW50ZXJsZWF2ZWQtbXVsdGltZWRpYVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcInZpZGVvL3ZuZC5ub2tpYS5tcDR2clwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcInZpZGVvL3ZuZC5ub2tpYS52aWRlb3ZvaXBcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJ2aWRlby92bmQub2JqZWN0dmlkZW9cIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJ2aWRlby92bmQucGxhbmFyXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwidmlkZW8vdm5kLnJhZGdhbWV0dG9vbHMuYmlua1wiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcInZpZGVvL3ZuZC5yYWRnYW1ldHRvb2xzLnNtYWNrZXJcIjoge1xuICAgICAgICBzb3VyY2U6IFwiYXBhY2hlXCJcbiAgICAgIH0sXG4gICAgICBcInZpZGVvL3ZuZC5zZWFsZWQubXBlZzFcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJ2aWRlby92bmQuc2VhbGVkLm1wZWc0XCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwidmlkZW8vdm5kLnNlYWxlZC5zd2ZcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJ2aWRlby92bmQuc2VhbGVkbWVkaWEuc29mdHNlYWwubW92XCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwidmlkZW8vdm5kLnV2dnUubXA0XCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1widXZ1XCIsIFwidXZ2dVwiXVxuICAgICAgfSxcbiAgICAgIFwidmlkZW8vdm5kLnZpdm9cIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJ2aXZcIl1cbiAgICAgIH0sXG4gICAgICBcInZpZGVvL3ZuZC55b3V0dWJlLnl0XCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwidmlkZW8vdnA4XCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwidmlkZW8vdnA5XCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwidmlkZW8vd2VibVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJhcGFjaGVcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiBmYWxzZSxcbiAgICAgICAgZXh0ZW5zaW9uczogW1wid2VibVwiXVxuICAgICAgfSxcbiAgICAgIFwidmlkZW8veC1mNHZcIjoge1xuICAgICAgICBzb3VyY2U6IFwiYXBhY2hlXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImY0dlwiXVxuICAgICAgfSxcbiAgICAgIFwidmlkZW8veC1mbGlcIjoge1xuICAgICAgICBzb3VyY2U6IFwiYXBhY2hlXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImZsaVwiXVxuICAgICAgfSxcbiAgICAgIFwidmlkZW8veC1mbHZcIjoge1xuICAgICAgICBzb3VyY2U6IFwiYXBhY2hlXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogZmFsc2UsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImZsdlwiXVxuICAgICAgfSxcbiAgICAgIFwidmlkZW8veC1tNHZcIjoge1xuICAgICAgICBzb3VyY2U6IFwiYXBhY2hlXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcIm00dlwiXVxuICAgICAgfSxcbiAgICAgIFwidmlkZW8veC1tYXRyb3NrYVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJhcGFjaGVcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiBmYWxzZSxcbiAgICAgICAgZXh0ZW5zaW9uczogW1wibWt2XCIsIFwibWszZFwiLCBcIm1rc1wiXVxuICAgICAgfSxcbiAgICAgIFwidmlkZW8veC1tbmdcIjoge1xuICAgICAgICBzb3VyY2U6IFwiYXBhY2hlXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcIm1uZ1wiXVxuICAgICAgfSxcbiAgICAgIFwidmlkZW8veC1tcy1hc2ZcIjoge1xuICAgICAgICBzb3VyY2U6IFwiYXBhY2hlXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImFzZlwiLCBcImFzeFwiXVxuICAgICAgfSxcbiAgICAgIFwidmlkZW8veC1tcy12b2JcIjoge1xuICAgICAgICBzb3VyY2U6IFwiYXBhY2hlXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcInZvYlwiXVxuICAgICAgfSxcbiAgICAgIFwidmlkZW8veC1tcy13bVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJhcGFjaGVcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wid21cIl1cbiAgICAgIH0sXG4gICAgICBcInZpZGVvL3gtbXMtd212XCI6IHtcbiAgICAgICAgc291cmNlOiBcImFwYWNoZVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IGZhbHNlLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJ3bXZcIl1cbiAgICAgIH0sXG4gICAgICBcInZpZGVvL3gtbXMtd214XCI6IHtcbiAgICAgICAgc291cmNlOiBcImFwYWNoZVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJ3bXhcIl1cbiAgICAgIH0sXG4gICAgICBcInZpZGVvL3gtbXMtd3Z4XCI6IHtcbiAgICAgICAgc291cmNlOiBcImFwYWNoZVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJ3dnhcIl1cbiAgICAgIH0sXG4gICAgICBcInZpZGVvL3gtbXN2aWRlb1wiOiB7XG4gICAgICAgIHNvdXJjZTogXCJhcGFjaGVcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wiYXZpXCJdXG4gICAgICB9LFxuICAgICAgXCJ2aWRlby94LXNnaS1tb3ZpZVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJhcGFjaGVcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wibW92aWVcIl1cbiAgICAgIH0sXG4gICAgICBcInZpZGVvL3gtc212XCI6IHtcbiAgICAgICAgc291cmNlOiBcImFwYWNoZVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJzbXZcIl1cbiAgICAgIH0sXG4gICAgICBcIngtY29uZmVyZW5jZS94LWNvb2x0YWxrXCI6IHtcbiAgICAgICAgc291cmNlOiBcImFwYWNoZVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJpY2VcIl1cbiAgICAgIH0sXG4gICAgICBcIngtc2hhZGVyL3gtZnJhZ21lbnRcIjoge1xuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcIngtc2hhZGVyL3gtdmVydGV4XCI6IHtcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9XG4gICAgfTtcbiAgfVxufSk7XG5cbi8vIG5vZGVfbW9kdWxlcy9hY2NlcHRzL25vZGVfbW9kdWxlcy9taW1lLWRiL2luZGV4LmpzXG52YXIgcmVxdWlyZV9taW1lX2RiMyA9IF9fY29tbW9uSlMoe1xuICBcIm5vZGVfbW9kdWxlcy9hY2NlcHRzL25vZGVfbW9kdWxlcy9taW1lLWRiL2luZGV4LmpzXCIoZXhwb3J0czIsIG1vZHVsZTIpIHtcbiAgICBtb2R1bGUyLmV4cG9ydHMgPSByZXF1aXJlX2RiMygpO1xuICB9XG59KTtcblxuLy8gbm9kZV9tb2R1bGVzL2FjY2VwdHMvbm9kZV9tb2R1bGVzL21pbWUtdHlwZXMvbWltZVNjb3JlLmpzXG52YXIgcmVxdWlyZV9taW1lU2NvcmUzID0gX19jb21tb25KUyh7XG4gIFwibm9kZV9tb2R1bGVzL2FjY2VwdHMvbm9kZV9tb2R1bGVzL21pbWUtdHlwZXMvbWltZVNjb3JlLmpzXCIoZXhwb3J0czIsIG1vZHVsZTIpIHtcbiAgICB2YXIgRkFDRVRfU0NPUkVTID0ge1xuICAgICAgXCJwcnMuXCI6IDEwMCxcbiAgICAgIFwieC1cIjogMjAwLFxuICAgICAgXCJ4LlwiOiAzMDAsXG4gICAgICBcInZuZC5cIjogNDAwLFxuICAgICAgZGVmYXVsdDogOTAwXG4gICAgfTtcbiAgICB2YXIgU09VUkNFX1NDT1JFUyA9IHtcbiAgICAgIG5naW54OiAxMCxcbiAgICAgIGFwYWNoZTogMjAsXG4gICAgICBpYW5hOiA0MCxcbiAgICAgIGRlZmF1bHQ6IDMwXG4gICAgICAvLyBkZWZpbml0aW9ucyBhZGRlZCBieSBganNodHRwL21pbWUtZGJgIHByb2plY3Q/XG4gICAgfTtcbiAgICB2YXIgVFlQRV9TQ09SRVMgPSB7XG4gICAgICAvLyBwcmVmZXIgYXBwbGljYXRpb24veG1sIG92ZXIgdGV4dC94bWxcbiAgICAgIC8vIHByZWZlciBhcHBsaWNhdGlvbi9ydGYgb3ZlciB0ZXh0L3J0ZlxuICAgICAgYXBwbGljYXRpb246IDEsXG4gICAgICAvLyBwcmVmZXIgZm9udC93b2ZmIG92ZXIgYXBwbGljYXRpb24vZm9udC13b2ZmXG4gICAgICBmb250OiAyLFxuICAgICAgZGVmYXVsdDogMFxuICAgIH07XG4gICAgbW9kdWxlMi5leHBvcnRzID0gZnVuY3Rpb24gbWltZVNjb3JlKG1pbWVUeXBlLCBzb3VyY2UgPSBcImRlZmF1bHRcIikge1xuICAgICAgaWYgKG1pbWVUeXBlID09PSBcImFwcGxpY2F0aW9uL29jdGV0LXN0cmVhbVwiKSB7XG4gICAgICAgIHJldHVybiAwO1xuICAgICAgfVxuICAgICAgY29uc3QgW3R5cGUsIHN1YnR5cGVdID0gbWltZVR5cGUuc3BsaXQoXCIvXCIpO1xuICAgICAgY29uc3QgZmFjZXQgPSBzdWJ0eXBlLnJlcGxhY2UoLyhcXC58eC0pLiovLCBcIiQxXCIpO1xuICAgICAgY29uc3QgZmFjZXRTY29yZSA9IEZBQ0VUX1NDT1JFU1tmYWNldF0gfHwgRkFDRVRfU0NPUkVTLmRlZmF1bHQ7XG4gICAgICBjb25zdCBzb3VyY2VTY29yZSA9IFNPVVJDRV9TQ09SRVNbc291cmNlXSB8fCBTT1VSQ0VfU0NPUkVTLmRlZmF1bHQ7XG4gICAgICBjb25zdCB0eXBlU2NvcmUgPSBUWVBFX1NDT1JFU1t0eXBlXSB8fCBUWVBFX1NDT1JFUy5kZWZhdWx0O1xuICAgICAgY29uc3QgbGVuZ3RoU2NvcmUgPSAxIC0gbWltZVR5cGUubGVuZ3RoIC8gMTAwO1xuICAgICAgcmV0dXJuIGZhY2V0U2NvcmUgKyBzb3VyY2VTY29yZSArIHR5cGVTY29yZSArIGxlbmd0aFNjb3JlO1xuICAgIH07XG4gIH1cbn0pO1xuXG4vLyBub2RlX21vZHVsZXMvYWNjZXB0cy9ub2RlX21vZHVsZXMvbWltZS10eXBlcy9pbmRleC5qc1xudmFyIHJlcXVpcmVfbWltZV90eXBlczMgPSBfX2NvbW1vbkpTKHtcbiAgXCJub2RlX21vZHVsZXMvYWNjZXB0cy9ub2RlX21vZHVsZXMvbWltZS10eXBlcy9pbmRleC5qc1wiKGV4cG9ydHMyKSB7XG4gICAgXCJ1c2Ugc3RyaWN0XCI7XG4gICAgdmFyIGRiID0gcmVxdWlyZV9taW1lX2RiMygpO1xuICAgIHZhciBleHRuYW1lID0gcmVxdWlyZShcInBhdGhcIikuZXh0bmFtZTtcbiAgICB2YXIgbWltZVNjb3JlID0gcmVxdWlyZV9taW1lU2NvcmUzKCk7XG4gICAgdmFyIEVYVFJBQ1RfVFlQRV9SRUdFWFAgPSAvXlxccyooW147XFxzXSopKD86O3xcXHN8JCkvO1xuICAgIHZhciBURVhUX1RZUEVfUkVHRVhQID0gL150ZXh0XFwvL2k7XG4gICAgZXhwb3J0czIuY2hhcnNldCA9IGNoYXJzZXQ7XG4gICAgZXhwb3J0czIuY2hhcnNldHMgPSB7IGxvb2t1cDogY2hhcnNldCB9O1xuICAgIGV4cG9ydHMyLmNvbnRlbnRUeXBlID0gY29udGVudFR5cGUyO1xuICAgIGV4cG9ydHMyLmV4dGVuc2lvbiA9IGV4dGVuc2lvbjtcbiAgICBleHBvcnRzMi5leHRlbnNpb25zID0gLyogQF9fUFVSRV9fICovIE9iamVjdC5jcmVhdGUobnVsbCk7XG4gICAgZXhwb3J0czIubG9va3VwID0gbG9va3VwO1xuICAgIGV4cG9ydHMyLnR5cGVzID0gLyogQF9fUFVSRV9fICovIE9iamVjdC5jcmVhdGUobnVsbCk7XG4gICAgZXhwb3J0czIuX2V4dGVuc2lvbkNvbmZsaWN0cyA9IFtdO1xuICAgIHBvcHVsYXRlTWFwcyhleHBvcnRzMi5leHRlbnNpb25zLCBleHBvcnRzMi50eXBlcyk7XG4gICAgZnVuY3Rpb24gY2hhcnNldCh0eXBlKSB7XG4gICAgICBpZiAoIXR5cGUgfHwgdHlwZW9mIHR5cGUgIT09IFwic3RyaW5nXCIpIHtcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgfVxuICAgICAgdmFyIG1hdGNoID0gRVhUUkFDVF9UWVBFX1JFR0VYUC5leGVjKHR5cGUpO1xuICAgICAgdmFyIG1pbWUgPSBtYXRjaCAmJiBkYlttYXRjaFsxXS50b0xvd2VyQ2FzZSgpXTtcbiAgICAgIGlmIChtaW1lICYmIG1pbWUuY2hhcnNldCkge1xuICAgICAgICByZXR1cm4gbWltZS5jaGFyc2V0O1xuICAgICAgfVxuICAgICAgaWYgKG1hdGNoICYmIFRFWFRfVFlQRV9SRUdFWFAudGVzdChtYXRjaFsxXSkpIHtcbiAgICAgICAgcmV0dXJuIFwiVVRGLThcIjtcbiAgICAgIH1cbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gICAgZnVuY3Rpb24gY29udGVudFR5cGUyKHN0cikge1xuICAgICAgaWYgKCFzdHIgfHwgdHlwZW9mIHN0ciAhPT0gXCJzdHJpbmdcIikge1xuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICB9XG4gICAgICB2YXIgbWltZSA9IHN0ci5pbmRleE9mKFwiL1wiKSA9PT0gLTEgPyBleHBvcnRzMi5sb29rdXAoc3RyKSA6IHN0cjtcbiAgICAgIGlmICghbWltZSkge1xuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICB9XG4gICAgICBpZiAobWltZS5pbmRleE9mKFwiY2hhcnNldFwiKSA9PT0gLTEpIHtcbiAgICAgICAgdmFyIGNoYXJzZXQyID0gZXhwb3J0czIuY2hhcnNldChtaW1lKTtcbiAgICAgICAgaWYgKGNoYXJzZXQyKSBtaW1lICs9IFwiOyBjaGFyc2V0PVwiICsgY2hhcnNldDIudG9Mb3dlckNhc2UoKTtcbiAgICAgIH1cbiAgICAgIHJldHVybiBtaW1lO1xuICAgIH1cbiAgICBmdW5jdGlvbiBleHRlbnNpb24odHlwZSkge1xuICAgICAgaWYgKCF0eXBlIHx8IHR5cGVvZiB0eXBlICE9PSBcInN0cmluZ1wiKSB7XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgIH1cbiAgICAgIHZhciBtYXRjaCA9IEVYVFJBQ1RfVFlQRV9SRUdFWFAuZXhlYyh0eXBlKTtcbiAgICAgIHZhciBleHRzID0gbWF0Y2ggJiYgZXhwb3J0czIuZXh0ZW5zaW9uc1ttYXRjaFsxXS50b0xvd2VyQ2FzZSgpXTtcbiAgICAgIGlmICghZXh0cyB8fCAhZXh0cy5sZW5ndGgpIHtcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgfVxuICAgICAgcmV0dXJuIGV4dHNbMF07XG4gICAgfVxuICAgIGZ1bmN0aW9uIGxvb2t1cChwYXRoKSB7XG4gICAgICBpZiAoIXBhdGggfHwgdHlwZW9mIHBhdGggIT09IFwic3RyaW5nXCIpIHtcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgfVxuICAgICAgdmFyIGV4dGVuc2lvbjIgPSBleHRuYW1lKFwieC5cIiArIHBhdGgpLnRvTG93ZXJDYXNlKCkuc2xpY2UoMSk7XG4gICAgICBpZiAoIWV4dGVuc2lvbjIpIHtcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgfVxuICAgICAgcmV0dXJuIGV4cG9ydHMyLnR5cGVzW2V4dGVuc2lvbjJdIHx8IGZhbHNlO1xuICAgIH1cbiAgICBmdW5jdGlvbiBwb3B1bGF0ZU1hcHMoZXh0ZW5zaW9ucywgdHlwZXMpIHtcbiAgICAgIE9iamVjdC5rZXlzKGRiKS5mb3JFYWNoKGZ1bmN0aW9uIGZvckVhY2hNaW1lVHlwZSh0eXBlKSB7XG4gICAgICAgIHZhciBtaW1lID0gZGJbdHlwZV07XG4gICAgICAgIHZhciBleHRzID0gbWltZS5leHRlbnNpb25zO1xuICAgICAgICBpZiAoIWV4dHMgfHwgIWV4dHMubGVuZ3RoKSB7XG4gICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIGV4dGVuc2lvbnNbdHlwZV0gPSBleHRzO1xuICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IGV4dHMubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgICB2YXIgZXh0ZW5zaW9uMiA9IGV4dHNbaV07XG4gICAgICAgICAgdHlwZXNbZXh0ZW5zaW9uMl0gPSBfcHJlZmVycmVkVHlwZShleHRlbnNpb24yLCB0eXBlc1tleHRlbnNpb24yXSwgdHlwZSk7XG4gICAgICAgICAgY29uc3QgbGVnYWN5VHlwZSA9IF9wcmVmZXJyZWRUeXBlTGVnYWN5KFxuICAgICAgICAgICAgZXh0ZW5zaW9uMixcbiAgICAgICAgICAgIHR5cGVzW2V4dGVuc2lvbjJdLFxuICAgICAgICAgICAgdHlwZVxuICAgICAgICAgICk7XG4gICAgICAgICAgaWYgKGxlZ2FjeVR5cGUgIT09IHR5cGVzW2V4dGVuc2lvbjJdKSB7XG4gICAgICAgICAgICBleHBvcnRzMi5fZXh0ZW5zaW9uQ29uZmxpY3RzLnB1c2goW2V4dGVuc2lvbjIsIGxlZ2FjeVR5cGUsIHR5cGVzW2V4dGVuc2lvbjJdXSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9KTtcbiAgICB9XG4gICAgZnVuY3Rpb24gX3ByZWZlcnJlZFR5cGUoZXh0LCB0eXBlMCwgdHlwZTEpIHtcbiAgICAgIHZhciBzY29yZTAgPSB0eXBlMCA/IG1pbWVTY29yZSh0eXBlMCwgZGJbdHlwZTBdLnNvdXJjZSkgOiAwO1xuICAgICAgdmFyIHNjb3JlMSA9IHR5cGUxID8gbWltZVNjb3JlKHR5cGUxLCBkYlt0eXBlMV0uc291cmNlKSA6IDA7XG4gICAgICByZXR1cm4gc2NvcmUwID4gc2NvcmUxID8gdHlwZTAgOiB0eXBlMTtcbiAgICB9XG4gICAgZnVuY3Rpb24gX3ByZWZlcnJlZFR5cGVMZWdhY3koZXh0LCB0eXBlMCwgdHlwZTEpIHtcbiAgICAgIHZhciBTT1VSQ0VfUkFOSyA9IFtcIm5naW54XCIsIFwiYXBhY2hlXCIsIHZvaWQgMCwgXCJpYW5hXCJdO1xuICAgICAgdmFyIHNjb3JlMCA9IHR5cGUwID8gU09VUkNFX1JBTksuaW5kZXhPZihkYlt0eXBlMF0uc291cmNlKSA6IDA7XG4gICAgICB2YXIgc2NvcmUxID0gdHlwZTEgPyBTT1VSQ0VfUkFOSy5pbmRleE9mKGRiW3R5cGUxXS5zb3VyY2UpIDogMDtcbiAgICAgIGlmIChleHBvcnRzMi50eXBlc1tleHRlbnNpb25dICE9PSBcImFwcGxpY2F0aW9uL29jdGV0LXN0cmVhbVwiICYmIChzY29yZTAgPiBzY29yZTEgfHwgc2NvcmUwID09PSBzY29yZTEgJiYgZXhwb3J0czIudHlwZXNbZXh0ZW5zaW9uXT8uc2xpY2UoMCwgMTIpID09PSBcImFwcGxpY2F0aW9uL1wiKSkge1xuICAgICAgICByZXR1cm4gdHlwZTA7XG4gICAgICB9XG4gICAgICByZXR1cm4gc2NvcmUwID4gc2NvcmUxID8gdHlwZTAgOiB0eXBlMTtcbiAgICB9XG4gIH1cbn0pO1xuXG4vLyBub2RlX21vZHVsZXMvYWNjZXB0cy9pbmRleC5qc1xudmFyIHJlcXVpcmVfYWNjZXB0cyA9IF9fY29tbW9uSlMoe1xuICBcIm5vZGVfbW9kdWxlcy9hY2NlcHRzL2luZGV4LmpzXCIoZXhwb3J0czIsIG1vZHVsZTIpIHtcbiAgICBcInVzZSBzdHJpY3RcIjtcbiAgICB2YXIgTmVnb3RpYXRvciA9IHJlcXVpcmVfbmVnb3RpYXRvcigpO1xuICAgIHZhciBtaW1lID0gcmVxdWlyZV9taW1lX3R5cGVzMygpO1xuICAgIG1vZHVsZTIuZXhwb3J0cyA9IEFjY2VwdHM7XG4gICAgZnVuY3Rpb24gQWNjZXB0cyhyZXEpIHtcbiAgICAgIGlmICghKHRoaXMgaW5zdGFuY2VvZiBBY2NlcHRzKSkge1xuICAgICAgICByZXR1cm4gbmV3IEFjY2VwdHMocmVxKTtcbiAgICAgIH1cbiAgICAgIHRoaXMuaGVhZGVycyA9IHJlcS5oZWFkZXJzO1xuICAgICAgdGhpcy5uZWdvdGlhdG9yID0gbmV3IE5lZ290aWF0b3IocmVxKTtcbiAgICB9XG4gICAgQWNjZXB0cy5wcm90b3R5cGUudHlwZSA9IEFjY2VwdHMucHJvdG90eXBlLnR5cGVzID0gZnVuY3Rpb24odHlwZXNfKSB7XG4gICAgICB2YXIgdHlwZXMgPSB0eXBlc187XG4gICAgICBpZiAodHlwZXMgJiYgIUFycmF5LmlzQXJyYXkodHlwZXMpKSB7XG4gICAgICAgIHR5cGVzID0gbmV3IEFycmF5KGFyZ3VtZW50cy5sZW5ndGgpO1xuICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IHR5cGVzLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgICAgdHlwZXNbaV0gPSBhcmd1bWVudHNbaV07XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIGlmICghdHlwZXMgfHwgdHlwZXMubGVuZ3RoID09PSAwKSB7XG4gICAgICAgIHJldHVybiB0aGlzLm5lZ290aWF0b3IubWVkaWFUeXBlcygpO1xuICAgICAgfVxuICAgICAgaWYgKCF0aGlzLmhlYWRlcnMuYWNjZXB0KSB7XG4gICAgICAgIHJldHVybiB0eXBlc1swXTtcbiAgICAgIH1cbiAgICAgIHZhciBtaW1lcyA9IHR5cGVzLm1hcChleHRUb01pbWUpO1xuICAgICAgdmFyIGFjY2VwdHMgPSB0aGlzLm5lZ290aWF0b3IubWVkaWFUeXBlcyhtaW1lcy5maWx0ZXIodmFsaWRNaW1lKSk7XG4gICAgICB2YXIgZmlyc3QgPSBhY2NlcHRzWzBdO1xuICAgICAgcmV0dXJuIGZpcnN0ID8gdHlwZXNbbWltZXMuaW5kZXhPZihmaXJzdCldIDogZmFsc2U7XG4gICAgfTtcbiAgICBBY2NlcHRzLnByb3RvdHlwZS5lbmNvZGluZyA9IEFjY2VwdHMucHJvdG90eXBlLmVuY29kaW5ncyA9IGZ1bmN0aW9uKGVuY29kaW5nc18pIHtcbiAgICAgIHZhciBlbmNvZGluZ3MgPSBlbmNvZGluZ3NfO1xuICAgICAgaWYgKGVuY29kaW5ncyAmJiAhQXJyYXkuaXNBcnJheShlbmNvZGluZ3MpKSB7XG4gICAgICAgIGVuY29kaW5ncyA9IG5ldyBBcnJheShhcmd1bWVudHMubGVuZ3RoKTtcbiAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBlbmNvZGluZ3MubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgICBlbmNvZGluZ3NbaV0gPSBhcmd1bWVudHNbaV07XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIGlmICghZW5jb2RpbmdzIHx8IGVuY29kaW5ncy5sZW5ndGggPT09IDApIHtcbiAgICAgICAgcmV0dXJuIHRoaXMubmVnb3RpYXRvci5lbmNvZGluZ3MoKTtcbiAgICAgIH1cbiAgICAgIHJldHVybiB0aGlzLm5lZ290aWF0b3IuZW5jb2RpbmdzKGVuY29kaW5ncylbMF0gfHwgZmFsc2U7XG4gICAgfTtcbiAgICBBY2NlcHRzLnByb3RvdHlwZS5jaGFyc2V0ID0gQWNjZXB0cy5wcm90b3R5cGUuY2hhcnNldHMgPSBmdW5jdGlvbihjaGFyc2V0c18pIHtcbiAgICAgIHZhciBjaGFyc2V0cyA9IGNoYXJzZXRzXztcbiAgICAgIGlmIChjaGFyc2V0cyAmJiAhQXJyYXkuaXNBcnJheShjaGFyc2V0cykpIHtcbiAgICAgICAgY2hhcnNldHMgPSBuZXcgQXJyYXkoYXJndW1lbnRzLmxlbmd0aCk7XG4gICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgY2hhcnNldHMubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgICBjaGFyc2V0c1tpXSA9IGFyZ3VtZW50c1tpXTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgaWYgKCFjaGFyc2V0cyB8fCBjaGFyc2V0cy5sZW5ndGggPT09IDApIHtcbiAgICAgICAgcmV0dXJuIHRoaXMubmVnb3RpYXRvci5jaGFyc2V0cygpO1xuICAgICAgfVxuICAgICAgcmV0dXJuIHRoaXMubmVnb3RpYXRvci5jaGFyc2V0cyhjaGFyc2V0cylbMF0gfHwgZmFsc2U7XG4gICAgfTtcbiAgICBBY2NlcHRzLnByb3RvdHlwZS5sYW5nID0gQWNjZXB0cy5wcm90b3R5cGUubGFuZ3MgPSBBY2NlcHRzLnByb3RvdHlwZS5sYW5ndWFnZSA9IEFjY2VwdHMucHJvdG90eXBlLmxhbmd1YWdlcyA9IGZ1bmN0aW9uKGxhbmd1YWdlc18pIHtcbiAgICAgIHZhciBsYW5ndWFnZXMgPSBsYW5ndWFnZXNfO1xuICAgICAgaWYgKGxhbmd1YWdlcyAmJiAhQXJyYXkuaXNBcnJheShsYW5ndWFnZXMpKSB7XG4gICAgICAgIGxhbmd1YWdlcyA9IG5ldyBBcnJheShhcmd1bWVudHMubGVuZ3RoKTtcbiAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBsYW5ndWFnZXMubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgICBsYW5ndWFnZXNbaV0gPSBhcmd1bWVudHNbaV07XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIGlmICghbGFuZ3VhZ2VzIHx8IGxhbmd1YWdlcy5sZW5ndGggPT09IDApIHtcbiAgICAgICAgcmV0dXJuIHRoaXMubmVnb3RpYXRvci5sYW5ndWFnZXMoKTtcbiAgICAgIH1cbiAgICAgIHJldHVybiB0aGlzLm5lZ290aWF0b3IubGFuZ3VhZ2VzKGxhbmd1YWdlcylbMF0gfHwgZmFsc2U7XG4gICAgfTtcbiAgICBmdW5jdGlvbiBleHRUb01pbWUodHlwZSkge1xuICAgICAgcmV0dXJuIHR5cGUuaW5kZXhPZihcIi9cIikgPT09IC0xID8gbWltZS5sb29rdXAodHlwZSkgOiB0eXBlO1xuICAgIH1cbiAgICBmdW5jdGlvbiB2YWxpZE1pbWUodHlwZSkge1xuICAgICAgcmV0dXJuIHR5cGVvZiB0eXBlID09PSBcInN0cmluZ1wiO1xuICAgIH1cbiAgfVxufSk7XG5cbi8vIG5vZGVfbW9kdWxlcy9mcmVzaC9pbmRleC5qc1xudmFyIHJlcXVpcmVfZnJlc2ggPSBfX2NvbW1vbkpTKHtcbiAgXCJub2RlX21vZHVsZXMvZnJlc2gvaW5kZXguanNcIihleHBvcnRzMiwgbW9kdWxlMikge1xuICAgIFwidXNlIHN0cmljdFwiO1xuICAgIHZhciBDQUNIRV9DT05UUk9MX05PX0NBQ0hFX1JFR0VYUCA9IC8oPzpefCwpXFxzKj9uby1jYWNoZVxccyo/KD86LHwkKS87XG4gICAgbW9kdWxlMi5leHBvcnRzID0gZnJlc2g7XG4gICAgZnVuY3Rpb24gZnJlc2gocmVxSGVhZGVycywgcmVzSGVhZGVycykge1xuICAgICAgdmFyIG1vZGlmaWVkU2luY2UgPSByZXFIZWFkZXJzW1wiaWYtbW9kaWZpZWQtc2luY2VcIl07XG4gICAgICB2YXIgbm9uZU1hdGNoID0gcmVxSGVhZGVyc1tcImlmLW5vbmUtbWF0Y2hcIl07XG4gICAgICBpZiAoIW1vZGlmaWVkU2luY2UgJiYgIW5vbmVNYXRjaCkge1xuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICB9XG4gICAgICB2YXIgY2FjaGVDb250cm9sID0gcmVxSGVhZGVyc1tcImNhY2hlLWNvbnRyb2xcIl07XG4gICAgICBpZiAoY2FjaGVDb250cm9sICYmIENBQ0hFX0NPTlRST0xfTk9fQ0FDSEVfUkVHRVhQLnRlc3QoY2FjaGVDb250cm9sKSkge1xuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICB9XG4gICAgICBpZiAobm9uZU1hdGNoKSB7XG4gICAgICAgIGlmIChub25lTWF0Y2ggPT09IFwiKlwiKSB7XG4gICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgIH1cbiAgICAgICAgdmFyIGV0YWcgPSByZXNIZWFkZXJzLmV0YWc7XG4gICAgICAgIGlmICghZXRhZykge1xuICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgfVxuICAgICAgICB2YXIgbWF0Y2hlcyA9IHBhcnNlVG9rZW5MaXN0KG5vbmVNYXRjaCk7XG4gICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgbWF0Y2hlcy5sZW5ndGg7IGkrKykge1xuICAgICAgICAgIHZhciBtYXRjaCA9IG1hdGNoZXNbaV07XG4gICAgICAgICAgaWYgKG1hdGNoID09PSBldGFnIHx8IG1hdGNoID09PSBcIlcvXCIgKyBldGFnIHx8IFwiVy9cIiArIG1hdGNoID09PSBldGFnKSB7XG4gICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgfVxuICAgICAgaWYgKG1vZGlmaWVkU2luY2UpIHtcbiAgICAgICAgdmFyIGxhc3RNb2RpZmllZCA9IHJlc0hlYWRlcnNbXCJsYXN0LW1vZGlmaWVkXCJdO1xuICAgICAgICB2YXIgbW9kaWZpZWRTdGFsZSA9ICFsYXN0TW9kaWZpZWQgfHwgIShwYXJzZUh0dHBEYXRlKGxhc3RNb2RpZmllZCkgPD0gcGFyc2VIdHRwRGF0ZShtb2RpZmllZFNpbmNlKSk7XG4gICAgICAgIGlmIChtb2RpZmllZFN0YWxlKSB7XG4gICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG4gICAgZnVuY3Rpb24gcGFyc2VIdHRwRGF0ZShkYXRlKSB7XG4gICAgICB2YXIgdGltZXN0YW1wID0gZGF0ZSAmJiBEYXRlLnBhcnNlKGRhdGUpO1xuICAgICAgcmV0dXJuIHR5cGVvZiB0aW1lc3RhbXAgPT09IFwibnVtYmVyXCIgPyB0aW1lc3RhbXAgOiBOYU47XG4gICAgfVxuICAgIGZ1bmN0aW9uIHBhcnNlVG9rZW5MaXN0KHN0cikge1xuICAgICAgdmFyIGVuZCA9IDA7XG4gICAgICB2YXIgbGlzdCA9IFtdO1xuICAgICAgdmFyIHN0YXJ0ID0gMDtcbiAgICAgIGZvciAodmFyIGkgPSAwLCBsZW4gPSBzdHIubGVuZ3RoOyBpIDwgbGVuOyBpKyspIHtcbiAgICAgICAgc3dpdGNoIChzdHIuY2hhckNvZGVBdChpKSkge1xuICAgICAgICAgIGNhc2UgMzI6XG4gICAgICAgICAgICBpZiAoc3RhcnQgPT09IGVuZCkge1xuICAgICAgICAgICAgICBzdGFydCA9IGVuZCA9IGkgKyAxO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgY2FzZSA0NDpcbiAgICAgICAgICAgIGxpc3QucHVzaChzdHIuc3Vic3RyaW5nKHN0YXJ0LCBlbmQpKTtcbiAgICAgICAgICAgIHN0YXJ0ID0gZW5kID0gaSArIDE7XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgZW5kID0gaSArIDE7XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgbGlzdC5wdXNoKHN0ci5zdWJzdHJpbmcoc3RhcnQsIGVuZCkpO1xuICAgICAgcmV0dXJuIGxpc3Q7XG4gICAgfVxuICB9XG59KTtcblxuLy8gbm9kZV9tb2R1bGVzL3JhbmdlLXBhcnNlci9pbmRleC5qc1xudmFyIHJlcXVpcmVfcmFuZ2VfcGFyc2VyID0gX19jb21tb25KUyh7XG4gIFwibm9kZV9tb2R1bGVzL3JhbmdlLXBhcnNlci9pbmRleC5qc1wiKGV4cG9ydHMyLCBtb2R1bGUyKSB7XG4gICAgXCJ1c2Ugc3RyaWN0XCI7XG4gICAgbW9kdWxlMi5leHBvcnRzID0gcmFuZ2VQYXJzZXI7XG4gICAgZnVuY3Rpb24gcmFuZ2VQYXJzZXIoc2l6ZSwgc3RyLCBvcHRpb25zKSB7XG4gICAgICBpZiAodHlwZW9mIHN0ciAhPT0gXCJzdHJpbmdcIikge1xuICAgICAgICB0aHJvdyBuZXcgVHlwZUVycm9yKFwiYXJndW1lbnQgc3RyIG11c3QgYmUgYSBzdHJpbmdcIik7XG4gICAgICB9XG4gICAgICB2YXIgaW5kZXggPSBzdHIuaW5kZXhPZihcIj1cIik7XG4gICAgICBpZiAoaW5kZXggPT09IC0xKSB7XG4gICAgICAgIHJldHVybiAtMjtcbiAgICAgIH1cbiAgICAgIHZhciBhcnIgPSBzdHIuc2xpY2UoaW5kZXggKyAxKS5zcGxpdChcIixcIik7XG4gICAgICB2YXIgcmFuZ2VzID0gW107XG4gICAgICByYW5nZXMudHlwZSA9IHN0ci5zbGljZSgwLCBpbmRleCk7XG4gICAgICBmb3IgKHZhciBpID0gMDsgaSA8IGFyci5sZW5ndGg7IGkrKykge1xuICAgICAgICB2YXIgcmFuZ2UgPSBhcnJbaV0uc3BsaXQoXCItXCIpO1xuICAgICAgICB2YXIgc3RhcnQgPSBwYXJzZUludChyYW5nZVswXSwgMTApO1xuICAgICAgICB2YXIgZW5kID0gcGFyc2VJbnQocmFuZ2VbMV0sIDEwKTtcbiAgICAgICAgaWYgKGlzTmFOKHN0YXJ0KSkge1xuICAgICAgICAgIHN0YXJ0ID0gc2l6ZSAtIGVuZDtcbiAgICAgICAgICBlbmQgPSBzaXplIC0gMTtcbiAgICAgICAgfSBlbHNlIGlmIChpc05hTihlbmQpKSB7XG4gICAgICAgICAgZW5kID0gc2l6ZSAtIDE7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGVuZCA+IHNpemUgLSAxKSB7XG4gICAgICAgICAgZW5kID0gc2l6ZSAtIDE7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGlzTmFOKHN0YXJ0KSB8fCBpc05hTihlbmQpIHx8IHN0YXJ0ID4gZW5kIHx8IHN0YXJ0IDwgMCkge1xuICAgICAgICAgIGNvbnRpbnVlO1xuICAgICAgICB9XG4gICAgICAgIHJhbmdlcy5wdXNoKHtcbiAgICAgICAgICBzdGFydCxcbiAgICAgICAgICBlbmRcbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgICBpZiAocmFuZ2VzLmxlbmd0aCA8IDEpIHtcbiAgICAgICAgcmV0dXJuIC0xO1xuICAgICAgfVxuICAgICAgcmV0dXJuIG9wdGlvbnMgJiYgb3B0aW9ucy5jb21iaW5lID8gY29tYmluZVJhbmdlcyhyYW5nZXMpIDogcmFuZ2VzO1xuICAgIH1cbiAgICBmdW5jdGlvbiBjb21iaW5lUmFuZ2VzKHJhbmdlcykge1xuICAgICAgdmFyIG9yZGVyZWQgPSByYW5nZXMubWFwKG1hcFdpdGhJbmRleCkuc29ydChzb3J0QnlSYW5nZVN0YXJ0KTtcbiAgICAgIGZvciAodmFyIGogPSAwLCBpID0gMTsgaSA8IG9yZGVyZWQubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgdmFyIHJhbmdlID0gb3JkZXJlZFtpXTtcbiAgICAgICAgdmFyIGN1cnJlbnQgPSBvcmRlcmVkW2pdO1xuICAgICAgICBpZiAocmFuZ2Uuc3RhcnQgPiBjdXJyZW50LmVuZCArIDEpIHtcbiAgICAgICAgICBvcmRlcmVkWysral0gPSByYW5nZTtcbiAgICAgICAgfSBlbHNlIGlmIChyYW5nZS5lbmQgPiBjdXJyZW50LmVuZCkge1xuICAgICAgICAgIGN1cnJlbnQuZW5kID0gcmFuZ2UuZW5kO1xuICAgICAgICAgIGN1cnJlbnQuaW5kZXggPSBNYXRoLm1pbihjdXJyZW50LmluZGV4LCByYW5nZS5pbmRleCk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIG9yZGVyZWQubGVuZ3RoID0gaiArIDE7XG4gICAgICB2YXIgY29tYmluZWQgPSBvcmRlcmVkLnNvcnQoc29ydEJ5UmFuZ2VJbmRleCkubWFwKG1hcFdpdGhvdXRJbmRleCk7XG4gICAgICBjb21iaW5lZC50eXBlID0gcmFuZ2VzLnR5cGU7XG4gICAgICByZXR1cm4gY29tYmluZWQ7XG4gICAgfVxuICAgIGZ1bmN0aW9uIG1hcFdpdGhJbmRleChyYW5nZSwgaW5kZXgpIHtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIHN0YXJ0OiByYW5nZS5zdGFydCxcbiAgICAgICAgZW5kOiByYW5nZS5lbmQsXG4gICAgICAgIGluZGV4XG4gICAgICB9O1xuICAgIH1cbiAgICBmdW5jdGlvbiBtYXBXaXRob3V0SW5kZXgocmFuZ2UpIHtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIHN0YXJ0OiByYW5nZS5zdGFydCxcbiAgICAgICAgZW5kOiByYW5nZS5lbmRcbiAgICAgIH07XG4gICAgfVxuICAgIGZ1bmN0aW9uIHNvcnRCeVJhbmdlSW5kZXgoYSwgYikge1xuICAgICAgcmV0dXJuIGEuaW5kZXggLSBiLmluZGV4O1xuICAgIH1cbiAgICBmdW5jdGlvbiBzb3J0QnlSYW5nZVN0YXJ0KGEsIGIpIHtcbiAgICAgIHJldHVybiBhLnN0YXJ0IC0gYi5zdGFydDtcbiAgICB9XG4gIH1cbn0pO1xuXG4vLyBub2RlX21vZHVsZXMvZXhwcmVzcy9saWIvcmVxdWVzdC5qc1xudmFyIHJlcXVpcmVfcmVxdWVzdCA9IF9fY29tbW9uSlMoe1xuICBcIm5vZGVfbW9kdWxlcy9leHByZXNzL2xpYi9yZXF1ZXN0LmpzXCIoZXhwb3J0czIsIG1vZHVsZTIpIHtcbiAgICBcInVzZSBzdHJpY3RcIjtcbiAgICB2YXIgYWNjZXB0cyA9IHJlcXVpcmVfYWNjZXB0cygpO1xuICAgIHZhciBpc0lQID0gcmVxdWlyZShcIm5vZGU6bmV0XCIpLmlzSVA7XG4gICAgdmFyIHR5cGVpcyA9IHJlcXVpcmVfdHlwZV9pcygpO1xuICAgIHZhciBodHRwID0gcmVxdWlyZShcIm5vZGU6aHR0cFwiKTtcbiAgICB2YXIgZnJlc2ggPSByZXF1aXJlX2ZyZXNoKCk7XG4gICAgdmFyIHBhcnNlUmFuZ2UgPSByZXF1aXJlX3JhbmdlX3BhcnNlcigpO1xuICAgIHZhciBwYXJzZSA9IHJlcXVpcmVfcGFyc2V1cmwoKTtcbiAgICB2YXIgcHJveHlhZGRyID0gcmVxdWlyZV9wcm94eV9hZGRyKCk7XG4gICAgdmFyIHJlcSA9IE9iamVjdC5jcmVhdGUoaHR0cC5JbmNvbWluZ01lc3NhZ2UucHJvdG90eXBlKTtcbiAgICBtb2R1bGUyLmV4cG9ydHMgPSByZXE7XG4gICAgcmVxLmdldCA9IHJlcS5oZWFkZXIgPSBmdW5jdGlvbiBoZWFkZXIobmFtZSkge1xuICAgICAgaWYgKCFuYW1lKSB7XG4gICAgICAgIHRocm93IG5ldyBUeXBlRXJyb3IoXCJuYW1lIGFyZ3VtZW50IGlzIHJlcXVpcmVkIHRvIHJlcS5nZXRcIik7XG4gICAgICB9XG4gICAgICBpZiAodHlwZW9mIG5hbWUgIT09IFwic3RyaW5nXCIpIHtcbiAgICAgICAgdGhyb3cgbmV3IFR5cGVFcnJvcihcIm5hbWUgbXVzdCBiZSBhIHN0cmluZyB0byByZXEuZ2V0XCIpO1xuICAgICAgfVxuICAgICAgdmFyIGxjID0gbmFtZS50b0xvd2VyQ2FzZSgpO1xuICAgICAgc3dpdGNoIChsYykge1xuICAgICAgICBjYXNlIFwicmVmZXJlclwiOlxuICAgICAgICBjYXNlIFwicmVmZXJyZXJcIjpcbiAgICAgICAgICByZXR1cm4gdGhpcy5oZWFkZXJzLnJlZmVycmVyIHx8IHRoaXMuaGVhZGVycy5yZWZlcmVyO1xuICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgIHJldHVybiB0aGlzLmhlYWRlcnNbbGNdO1xuICAgICAgfVxuICAgIH07XG4gICAgcmVxLmFjY2VwdHMgPSBmdW5jdGlvbigpIHtcbiAgICAgIHZhciBhY2NlcHQgPSBhY2NlcHRzKHRoaXMpO1xuICAgICAgcmV0dXJuIGFjY2VwdC50eXBlcy5hcHBseShhY2NlcHQsIGFyZ3VtZW50cyk7XG4gICAgfTtcbiAgICByZXEuYWNjZXB0c0VuY29kaW5ncyA9IGZ1bmN0aW9uKCkge1xuICAgICAgdmFyIGFjY2VwdCA9IGFjY2VwdHModGhpcyk7XG4gICAgICByZXR1cm4gYWNjZXB0LmVuY29kaW5ncy5hcHBseShhY2NlcHQsIGFyZ3VtZW50cyk7XG4gICAgfTtcbiAgICByZXEuYWNjZXB0c0NoYXJzZXRzID0gZnVuY3Rpb24oKSB7XG4gICAgICB2YXIgYWNjZXB0ID0gYWNjZXB0cyh0aGlzKTtcbiAgICAgIHJldHVybiBhY2NlcHQuY2hhcnNldHMuYXBwbHkoYWNjZXB0LCBhcmd1bWVudHMpO1xuICAgIH07XG4gICAgcmVxLmFjY2VwdHNMYW5ndWFnZXMgPSBmdW5jdGlvbigpIHtcbiAgICAgIHZhciBhY2NlcHQgPSBhY2NlcHRzKHRoaXMpO1xuICAgICAgcmV0dXJuIGFjY2VwdC5sYW5ndWFnZXMuYXBwbHkoYWNjZXB0LCBhcmd1bWVudHMpO1xuICAgIH07XG4gICAgcmVxLnJhbmdlID0gZnVuY3Rpb24gcmFuZ2Uoc2l6ZSwgb3B0aW9ucykge1xuICAgICAgdmFyIHJhbmdlMiA9IHRoaXMuZ2V0KFwiUmFuZ2VcIik7XG4gICAgICBpZiAoIXJhbmdlMikgcmV0dXJuO1xuICAgICAgcmV0dXJuIHBhcnNlUmFuZ2Uoc2l6ZSwgcmFuZ2UyLCBvcHRpb25zKTtcbiAgICB9O1xuICAgIGRlZmluZUdldHRlcihyZXEsIFwicXVlcnlcIiwgZnVuY3Rpb24gcXVlcnkoKSB7XG4gICAgICB2YXIgcXVlcnlwYXJzZSA9IHRoaXMuYXBwLmdldChcInF1ZXJ5IHBhcnNlciBmblwiKTtcbiAgICAgIGlmICghcXVlcnlwYXJzZSkge1xuICAgICAgICByZXR1cm4gLyogQF9fUFVSRV9fICovIE9iamVjdC5jcmVhdGUobnVsbCk7XG4gICAgICB9XG4gICAgICB2YXIgcXVlcnlzdHJpbmcgPSBwYXJzZSh0aGlzKS5xdWVyeTtcbiAgICAgIHJldHVybiBxdWVyeXBhcnNlKHF1ZXJ5c3RyaW5nKTtcbiAgICB9KTtcbiAgICByZXEuaXMgPSBmdW5jdGlvbiBpcyh0eXBlcykge1xuICAgICAgdmFyIGFyciA9IHR5cGVzO1xuICAgICAgaWYgKCFBcnJheS5pc0FycmF5KHR5cGVzKSkge1xuICAgICAgICBhcnIgPSBuZXcgQXJyYXkoYXJndW1lbnRzLmxlbmd0aCk7XG4gICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgYXJyLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgICAgYXJyW2ldID0gYXJndW1lbnRzW2ldO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICByZXR1cm4gdHlwZWlzKHRoaXMsIGFycik7XG4gICAgfTtcbiAgICBkZWZpbmVHZXR0ZXIocmVxLCBcInByb3RvY29sXCIsIGZ1bmN0aW9uIHByb3RvY29sKCkge1xuICAgICAgdmFyIHByb3RvID0gdGhpcy5jb25uZWN0aW9uLmVuY3J5cHRlZCA/IFwiaHR0cHNcIiA6IFwiaHR0cFwiO1xuICAgICAgdmFyIHRydXN0ID0gdGhpcy5hcHAuZ2V0KFwidHJ1c3QgcHJveHkgZm5cIik7XG4gICAgICBpZiAoIXRydXN0KHRoaXMuY29ubmVjdGlvbi5yZW1vdGVBZGRyZXNzLCAwKSkge1xuICAgICAgICByZXR1cm4gcHJvdG87XG4gICAgICB9XG4gICAgICB2YXIgaGVhZGVyID0gdGhpcy5nZXQoXCJYLUZvcndhcmRlZC1Qcm90b1wiKSB8fCBwcm90bztcbiAgICAgIHZhciBpbmRleCA9IGhlYWRlci5pbmRleE9mKFwiLFwiKTtcbiAgICAgIHJldHVybiBpbmRleCAhPT0gLTEgPyBoZWFkZXIuc3Vic3RyaW5nKDAsIGluZGV4KS50cmltKCkgOiBoZWFkZXIudHJpbSgpO1xuICAgIH0pO1xuICAgIGRlZmluZUdldHRlcihyZXEsIFwic2VjdXJlXCIsIGZ1bmN0aW9uIHNlY3VyZSgpIHtcbiAgICAgIHJldHVybiB0aGlzLnByb3RvY29sID09PSBcImh0dHBzXCI7XG4gICAgfSk7XG4gICAgZGVmaW5lR2V0dGVyKHJlcSwgXCJpcFwiLCBmdW5jdGlvbiBpcCgpIHtcbiAgICAgIHZhciB0cnVzdCA9IHRoaXMuYXBwLmdldChcInRydXN0IHByb3h5IGZuXCIpO1xuICAgICAgcmV0dXJuIHByb3h5YWRkcih0aGlzLCB0cnVzdCk7XG4gICAgfSk7XG4gICAgZGVmaW5lR2V0dGVyKHJlcSwgXCJpcHNcIiwgZnVuY3Rpb24gaXBzKCkge1xuICAgICAgdmFyIHRydXN0ID0gdGhpcy5hcHAuZ2V0KFwidHJ1c3QgcHJveHkgZm5cIik7XG4gICAgICB2YXIgYWRkcnMgPSBwcm94eWFkZHIuYWxsKHRoaXMsIHRydXN0KTtcbiAgICAgIGFkZHJzLnJldmVyc2UoKS5wb3AoKTtcbiAgICAgIHJldHVybiBhZGRycztcbiAgICB9KTtcbiAgICBkZWZpbmVHZXR0ZXIocmVxLCBcInN1YmRvbWFpbnNcIiwgZnVuY3Rpb24gc3ViZG9tYWlucygpIHtcbiAgICAgIHZhciBob3N0bmFtZSA9IHRoaXMuaG9zdG5hbWU7XG4gICAgICBpZiAoIWhvc3RuYW1lKSByZXR1cm4gW107XG4gICAgICB2YXIgb2Zmc2V0ID0gdGhpcy5hcHAuZ2V0KFwic3ViZG9tYWluIG9mZnNldFwiKTtcbiAgICAgIHZhciBzdWJkb21haW5zMiA9ICFpc0lQKGhvc3RuYW1lKSA/IGhvc3RuYW1lLnNwbGl0KFwiLlwiKS5yZXZlcnNlKCkgOiBbaG9zdG5hbWVdO1xuICAgICAgcmV0dXJuIHN1YmRvbWFpbnMyLnNsaWNlKG9mZnNldCk7XG4gICAgfSk7XG4gICAgZGVmaW5lR2V0dGVyKHJlcSwgXCJwYXRoXCIsIGZ1bmN0aW9uIHBhdGgoKSB7XG4gICAgICByZXR1cm4gcGFyc2UodGhpcykucGF0aG5hbWU7XG4gICAgfSk7XG4gICAgZGVmaW5lR2V0dGVyKHJlcSwgXCJob3N0XCIsIGZ1bmN0aW9uIGhvc3QoKSB7XG4gICAgICB2YXIgdHJ1c3QgPSB0aGlzLmFwcC5nZXQoXCJ0cnVzdCBwcm94eSBmblwiKTtcbiAgICAgIHZhciB2YWwgPSB0aGlzLmdldChcIlgtRm9yd2FyZGVkLUhvc3RcIik7XG4gICAgICBpZiAoIXZhbCB8fCAhdHJ1c3QodGhpcy5jb25uZWN0aW9uLnJlbW90ZUFkZHJlc3MsIDApKSB7XG4gICAgICAgIHZhbCA9IHRoaXMuZ2V0KFwiSG9zdFwiKTtcbiAgICAgIH0gZWxzZSBpZiAodmFsLmluZGV4T2YoXCIsXCIpICE9PSAtMSkge1xuICAgICAgICB2YWwgPSB2YWwuc3Vic3RyaW5nKDAsIHZhbC5pbmRleE9mKFwiLFwiKSkudHJpbVJpZ2h0KCk7XG4gICAgICB9XG4gICAgICByZXR1cm4gdmFsIHx8IHZvaWQgMDtcbiAgICB9KTtcbiAgICBkZWZpbmVHZXR0ZXIocmVxLCBcImhvc3RuYW1lXCIsIGZ1bmN0aW9uIGhvc3RuYW1lKCkge1xuICAgICAgdmFyIGhvc3QgPSB0aGlzLmhvc3Q7XG4gICAgICBpZiAoIWhvc3QpIHJldHVybjtcbiAgICAgIHZhciBvZmZzZXQgPSBob3N0WzBdID09PSBcIltcIiA/IGhvc3QuaW5kZXhPZihcIl1cIikgKyAxIDogMDtcbiAgICAgIHZhciBpbmRleCA9IGhvc3QuaW5kZXhPZihcIjpcIiwgb2Zmc2V0KTtcbiAgICAgIHJldHVybiBpbmRleCAhPT0gLTEgPyBob3N0LnN1YnN0cmluZygwLCBpbmRleCkgOiBob3N0O1xuICAgIH0pO1xuICAgIGRlZmluZUdldHRlcihyZXEsIFwiZnJlc2hcIiwgZnVuY3Rpb24oKSB7XG4gICAgICB2YXIgbWV0aG9kID0gdGhpcy5tZXRob2Q7XG4gICAgICB2YXIgcmVzID0gdGhpcy5yZXM7XG4gICAgICB2YXIgc3RhdHVzID0gcmVzLnN0YXR1c0NvZGU7XG4gICAgICBpZiAoXCJHRVRcIiAhPT0gbWV0aG9kICYmIFwiSEVBRFwiICE9PSBtZXRob2QpIHJldHVybiBmYWxzZTtcbiAgICAgIGlmIChzdGF0dXMgPj0gMjAwICYmIHN0YXR1cyA8IDMwMCB8fCAzMDQgPT09IHN0YXR1cykge1xuICAgICAgICByZXR1cm4gZnJlc2godGhpcy5oZWFkZXJzLCB7XG4gICAgICAgICAgXCJldGFnXCI6IHJlcy5nZXQoXCJFVGFnXCIpLFxuICAgICAgICAgIFwibGFzdC1tb2RpZmllZFwiOiByZXMuZ2V0KFwiTGFzdC1Nb2RpZmllZFwiKVxuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9KTtcbiAgICBkZWZpbmVHZXR0ZXIocmVxLCBcInN0YWxlXCIsIGZ1bmN0aW9uIHN0YWxlKCkge1xuICAgICAgcmV0dXJuICF0aGlzLmZyZXNoO1xuICAgIH0pO1xuICAgIGRlZmluZUdldHRlcihyZXEsIFwieGhyXCIsIGZ1bmN0aW9uIHhocigpIHtcbiAgICAgIHZhciB2YWwgPSB0aGlzLmdldChcIlgtUmVxdWVzdGVkLVdpdGhcIikgfHwgXCJcIjtcbiAgICAgIHJldHVybiB2YWwudG9Mb3dlckNhc2UoKSA9PT0gXCJ4bWxodHRwcmVxdWVzdFwiO1xuICAgIH0pO1xuICAgIGZ1bmN0aW9uIGRlZmluZUdldHRlcihvYmosIG5hbWUsIGdldHRlcikge1xuICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgbmFtZSwge1xuICAgICAgICBjb25maWd1cmFibGU6IHRydWUsXG4gICAgICAgIGVudW1lcmFibGU6IHRydWUsXG4gICAgICAgIGdldDogZ2V0dGVyXG4gICAgICB9KTtcbiAgICB9XG4gIH1cbn0pO1xuXG4vLyBub2RlX21vZHVsZXMvc2FmZS1idWZmZXIvaW5kZXguanNcbnZhciByZXF1aXJlX3NhZmVfYnVmZmVyID0gX19jb21tb25KUyh7XG4gIFwibm9kZV9tb2R1bGVzL3NhZmUtYnVmZmVyL2luZGV4LmpzXCIoZXhwb3J0czIsIG1vZHVsZTIpIHtcbiAgICB2YXIgYnVmZmVyID0gcmVxdWlyZShcImJ1ZmZlclwiKTtcbiAgICB2YXIgQnVmZmVyMiA9IGJ1ZmZlci5CdWZmZXI7XG4gICAgZnVuY3Rpb24gY29weVByb3BzKHNyYywgZHN0KSB7XG4gICAgICBmb3IgKHZhciBrZXkgaW4gc3JjKSB7XG4gICAgICAgIGRzdFtrZXldID0gc3JjW2tleV07XG4gICAgICB9XG4gICAgfVxuICAgIGlmIChCdWZmZXIyLmZyb20gJiYgQnVmZmVyMi5hbGxvYyAmJiBCdWZmZXIyLmFsbG9jVW5zYWZlICYmIEJ1ZmZlcjIuYWxsb2NVbnNhZmVTbG93KSB7XG4gICAgICBtb2R1bGUyLmV4cG9ydHMgPSBidWZmZXI7XG4gICAgfSBlbHNlIHtcbiAgICAgIGNvcHlQcm9wcyhidWZmZXIsIGV4cG9ydHMyKTtcbiAgICAgIGV4cG9ydHMyLkJ1ZmZlciA9IFNhZmVCdWZmZXI7XG4gICAgfVxuICAgIGZ1bmN0aW9uIFNhZmVCdWZmZXIoYXJnLCBlbmNvZGluZ09yT2Zmc2V0LCBsZW5ndGgpIHtcbiAgICAgIHJldHVybiBCdWZmZXIyKGFyZywgZW5jb2RpbmdPck9mZnNldCwgbGVuZ3RoKTtcbiAgICB9XG4gICAgU2FmZUJ1ZmZlci5wcm90b3R5cGUgPSBPYmplY3QuY3JlYXRlKEJ1ZmZlcjIucHJvdG90eXBlKTtcbiAgICBjb3B5UHJvcHMoQnVmZmVyMiwgU2FmZUJ1ZmZlcik7XG4gICAgU2FmZUJ1ZmZlci5mcm9tID0gZnVuY3Rpb24oYXJnLCBlbmNvZGluZ09yT2Zmc2V0LCBsZW5ndGgpIHtcbiAgICAgIGlmICh0eXBlb2YgYXJnID09PSBcIm51bWJlclwiKSB7XG4gICAgICAgIHRocm93IG5ldyBUeXBlRXJyb3IoXCJBcmd1bWVudCBtdXN0IG5vdCBiZSBhIG51bWJlclwiKTtcbiAgICAgIH1cbiAgICAgIHJldHVybiBCdWZmZXIyKGFyZywgZW5jb2RpbmdPck9mZnNldCwgbGVuZ3RoKTtcbiAgICB9O1xuICAgIFNhZmVCdWZmZXIuYWxsb2MgPSBmdW5jdGlvbihzaXplLCBmaWxsLCBlbmNvZGluZykge1xuICAgICAgaWYgKHR5cGVvZiBzaXplICE9PSBcIm51bWJlclwiKSB7XG4gICAgICAgIHRocm93IG5ldyBUeXBlRXJyb3IoXCJBcmd1bWVudCBtdXN0IGJlIGEgbnVtYmVyXCIpO1xuICAgICAgfVxuICAgICAgdmFyIGJ1ZiA9IEJ1ZmZlcjIoc2l6ZSk7XG4gICAgICBpZiAoZmlsbCAhPT0gdm9pZCAwKSB7XG4gICAgICAgIGlmICh0eXBlb2YgZW5jb2RpbmcgPT09IFwic3RyaW5nXCIpIHtcbiAgICAgICAgICBidWYuZmlsbChmaWxsLCBlbmNvZGluZyk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgYnVmLmZpbGwoZmlsbCk7XG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGJ1Zi5maWxsKDApO1xuICAgICAgfVxuICAgICAgcmV0dXJuIGJ1ZjtcbiAgICB9O1xuICAgIFNhZmVCdWZmZXIuYWxsb2NVbnNhZmUgPSBmdW5jdGlvbihzaXplKSB7XG4gICAgICBpZiAodHlwZW9mIHNpemUgIT09IFwibnVtYmVyXCIpIHtcbiAgICAgICAgdGhyb3cgbmV3IFR5cGVFcnJvcihcIkFyZ3VtZW50IG11c3QgYmUgYSBudW1iZXJcIik7XG4gICAgICB9XG4gICAgICByZXR1cm4gQnVmZmVyMihzaXplKTtcbiAgICB9O1xuICAgIFNhZmVCdWZmZXIuYWxsb2NVbnNhZmVTbG93ID0gZnVuY3Rpb24oc2l6ZSkge1xuICAgICAgaWYgKHR5cGVvZiBzaXplICE9PSBcIm51bWJlclwiKSB7XG4gICAgICAgIHRocm93IG5ldyBUeXBlRXJyb3IoXCJBcmd1bWVudCBtdXN0IGJlIGEgbnVtYmVyXCIpO1xuICAgICAgfVxuICAgICAgcmV0dXJuIGJ1ZmZlci5TbG93QnVmZmVyKHNpemUpO1xuICAgIH07XG4gIH1cbn0pO1xuXG4vLyBub2RlX21vZHVsZXMvY29udGVudC1kaXNwb3NpdGlvbi9pbmRleC5qc1xudmFyIHJlcXVpcmVfY29udGVudF9kaXNwb3NpdGlvbiA9IF9fY29tbW9uSlMoe1xuICBcIm5vZGVfbW9kdWxlcy9jb250ZW50LWRpc3Bvc2l0aW9uL2luZGV4LmpzXCIoZXhwb3J0czIsIG1vZHVsZTIpIHtcbiAgICBcInVzZSBzdHJpY3RcIjtcbiAgICBtb2R1bGUyLmV4cG9ydHMgPSBjb250ZW50RGlzcG9zaXRpb247XG4gICAgbW9kdWxlMi5leHBvcnRzLnBhcnNlID0gcGFyc2U7XG4gICAgdmFyIGJhc2VuYW1lID0gcmVxdWlyZShcInBhdGhcIikuYmFzZW5hbWU7XG4gICAgdmFyIEJ1ZmZlcjIgPSByZXF1aXJlX3NhZmVfYnVmZmVyKCkuQnVmZmVyO1xuICAgIHZhciBFTkNPREVfVVJMX0FUVFJfQ0hBUl9SRUdFWFAgPSAvW1xceDAwLVxceDIwXCInKCkqLC86Ozw9Pj9AW1xcXFxcXF17fVxceDdmXS9nO1xuICAgIHZhciBIRVhfRVNDQVBFX1JFR0VYUCA9IC8lWzAtOUEtRmEtZl17Mn0vO1xuICAgIHZhciBIRVhfRVNDQVBFX1JFUExBQ0VfUkVHRVhQID0gLyUoWzAtOUEtRmEtZl17Mn0pL2c7XG4gICAgdmFyIE5PTl9MQVRJTjFfUkVHRVhQID0gL1teXFx4MjAtXFx4N2VcXHhhMC1cXHhmZl0vZztcbiAgICB2YXIgUUVTQ19SRUdFWFAgPSAvXFxcXChbXFx1MDAwMC1cXHUwMDdmXSkvZztcbiAgICB2YXIgUVVPVEVfUkVHRVhQID0gLyhbXFxcXFwiXSkvZztcbiAgICB2YXIgUEFSQU1fUkVHRVhQID0gLztbXFx4MDlcXHgyMF0qKFshIyQlJicqKy4wLTlBLVpeX2BhLXp8fi1dKylbXFx4MDlcXHgyMF0qPVtcXHgwOVxceDIwXSooXCIoPzpbXFx4MjAhXFx4MjMtXFx4NWJcXHg1ZC1cXHg3ZVxceDgwLVxceGZmXXxcXFxcW1xceDIwLVxceDdlXSkqXCJ8WyEjJCUmJyorLjAtOUEtWl5fYGEtenx+LV0rKVtcXHgwOVxceDIwXSovZztcbiAgICB2YXIgVEVYVF9SRUdFWFAgPSAvXltcXHgyMC1cXHg3ZVxceDgwLVxceGZmXSskLztcbiAgICB2YXIgVE9LRU5fUkVHRVhQID0gL15bISMkJSYnKisuMC05QS1aXl9gYS16fH4tXSskLztcbiAgICB2YXIgRVhUX1ZBTFVFX1JFR0VYUCA9IC9eKFtBLVphLXowLTkhIyQlJitcXC1eX2B7fX5dKyknKD86W0EtWmEtel17MiwzfSg/Oi1bQS1aYS16XXszfSl7MCwzfXxbQS1aYS16XXs0LDh9fCknKCg/OiVbMC05QS1GYS1mXXsyfXxbQS1aYS16MC05ISMkJisuXl9gfH4tXSkrKSQvO1xuICAgIHZhciBESVNQT1NJVElPTl9UWVBFX1JFR0VYUCA9IC9eKFshIyQlJicqKy4wLTlBLVpeX2BhLXp8fi1dKylbXFx4MDlcXHgyMF0qKD86JHw7KS87XG4gICAgZnVuY3Rpb24gY29udGVudERpc3Bvc2l0aW9uKGZpbGVuYW1lLCBvcHRpb25zKSB7XG4gICAgICB2YXIgb3B0cyA9IG9wdGlvbnMgfHwge307XG4gICAgICB2YXIgdHlwZSA9IG9wdHMudHlwZSB8fCBcImF0dGFjaG1lbnRcIjtcbiAgICAgIHZhciBwYXJhbXMgPSBjcmVhdGVwYXJhbXMoZmlsZW5hbWUsIG9wdHMuZmFsbGJhY2spO1xuICAgICAgcmV0dXJuIGZvcm1hdChuZXcgQ29udGVudERpc3Bvc2l0aW9uKHR5cGUsIHBhcmFtcykpO1xuICAgIH1cbiAgICBmdW5jdGlvbiBjcmVhdGVwYXJhbXMoZmlsZW5hbWUsIGZhbGxiYWNrKSB7XG4gICAgICBpZiAoZmlsZW5hbWUgPT09IHZvaWQgMCkge1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG4gICAgICB2YXIgcGFyYW1zID0ge307XG4gICAgICBpZiAodHlwZW9mIGZpbGVuYW1lICE9PSBcInN0cmluZ1wiKSB7XG4gICAgICAgIHRocm93IG5ldyBUeXBlRXJyb3IoXCJmaWxlbmFtZSBtdXN0IGJlIGEgc3RyaW5nXCIpO1xuICAgICAgfVxuICAgICAgaWYgKGZhbGxiYWNrID09PSB2b2lkIDApIHtcbiAgICAgICAgZmFsbGJhY2sgPSB0cnVlO1xuICAgICAgfVxuICAgICAgaWYgKHR5cGVvZiBmYWxsYmFjayAhPT0gXCJzdHJpbmdcIiAmJiB0eXBlb2YgZmFsbGJhY2sgIT09IFwiYm9vbGVhblwiKSB7XG4gICAgICAgIHRocm93IG5ldyBUeXBlRXJyb3IoXCJmYWxsYmFjayBtdXN0IGJlIGEgc3RyaW5nIG9yIGJvb2xlYW5cIik7XG4gICAgICB9XG4gICAgICBpZiAodHlwZW9mIGZhbGxiYWNrID09PSBcInN0cmluZ1wiICYmIE5PTl9MQVRJTjFfUkVHRVhQLnRlc3QoZmFsbGJhY2spKSB7XG4gICAgICAgIHRocm93IG5ldyBUeXBlRXJyb3IoXCJmYWxsYmFjayBtdXN0IGJlIElTTy04ODU5LTEgc3RyaW5nXCIpO1xuICAgICAgfVxuICAgICAgdmFyIG5hbWUgPSBiYXNlbmFtZShmaWxlbmFtZSk7XG4gICAgICB2YXIgaXNRdW90ZWRTdHJpbmcgPSBURVhUX1JFR0VYUC50ZXN0KG5hbWUpO1xuICAgICAgdmFyIGZhbGxiYWNrTmFtZSA9IHR5cGVvZiBmYWxsYmFjayAhPT0gXCJzdHJpbmdcIiA/IGZhbGxiYWNrICYmIGdldGxhdGluMShuYW1lKSA6IGJhc2VuYW1lKGZhbGxiYWNrKTtcbiAgICAgIHZhciBoYXNGYWxsYmFjayA9IHR5cGVvZiBmYWxsYmFja05hbWUgPT09IFwic3RyaW5nXCIgJiYgZmFsbGJhY2tOYW1lICE9PSBuYW1lO1xuICAgICAgaWYgKGhhc0ZhbGxiYWNrIHx8ICFpc1F1b3RlZFN0cmluZyB8fCBIRVhfRVNDQVBFX1JFR0VYUC50ZXN0KG5hbWUpKSB7XG4gICAgICAgIHBhcmFtc1tcImZpbGVuYW1lKlwiXSA9IG5hbWU7XG4gICAgICB9XG4gICAgICBpZiAoaXNRdW90ZWRTdHJpbmcgfHwgaGFzRmFsbGJhY2spIHtcbiAgICAgICAgcGFyYW1zLmZpbGVuYW1lID0gaGFzRmFsbGJhY2sgPyBmYWxsYmFja05hbWUgOiBuYW1lO1xuICAgICAgfVxuICAgICAgcmV0dXJuIHBhcmFtcztcbiAgICB9XG4gICAgZnVuY3Rpb24gZm9ybWF0KG9iaikge1xuICAgICAgdmFyIHBhcmFtZXRlcnMgPSBvYmoucGFyYW1ldGVycztcbiAgICAgIHZhciB0eXBlID0gb2JqLnR5cGU7XG4gICAgICBpZiAoIXR5cGUgfHwgdHlwZW9mIHR5cGUgIT09IFwic3RyaW5nXCIgfHwgIVRPS0VOX1JFR0VYUC50ZXN0KHR5cGUpKSB7XG4gICAgICAgIHRocm93IG5ldyBUeXBlRXJyb3IoXCJpbnZhbGlkIHR5cGVcIik7XG4gICAgICB9XG4gICAgICB2YXIgc3RyaW5nID0gU3RyaW5nKHR5cGUpLnRvTG93ZXJDYXNlKCk7XG4gICAgICBpZiAocGFyYW1ldGVycyAmJiB0eXBlb2YgcGFyYW1ldGVycyA9PT0gXCJvYmplY3RcIikge1xuICAgICAgICB2YXIgcGFyYW07XG4gICAgICAgIHZhciBwYXJhbXMgPSBPYmplY3Qua2V5cyhwYXJhbWV0ZXJzKS5zb3J0KCk7XG4gICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgcGFyYW1zLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgICAgcGFyYW0gPSBwYXJhbXNbaV07XG4gICAgICAgICAgdmFyIHZhbCA9IHBhcmFtLnNsaWNlKC0xKSA9PT0gXCIqXCIgPyB1c3RyaW5nKHBhcmFtZXRlcnNbcGFyYW1dKSA6IHFzdHJpbmcocGFyYW1ldGVyc1twYXJhbV0pO1xuICAgICAgICAgIHN0cmluZyArPSBcIjsgXCIgKyBwYXJhbSArIFwiPVwiICsgdmFsO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICByZXR1cm4gc3RyaW5nO1xuICAgIH1cbiAgICBmdW5jdGlvbiBkZWNvZGVmaWVsZChzdHIpIHtcbiAgICAgIHZhciBtYXRjaCA9IEVYVF9WQUxVRV9SRUdFWFAuZXhlYyhzdHIpO1xuICAgICAgaWYgKCFtYXRjaCkge1xuICAgICAgICB0aHJvdyBuZXcgVHlwZUVycm9yKFwiaW52YWxpZCBleHRlbmRlZCBmaWVsZCB2YWx1ZVwiKTtcbiAgICAgIH1cbiAgICAgIHZhciBjaGFyc2V0ID0gbWF0Y2hbMV0udG9Mb3dlckNhc2UoKTtcbiAgICAgIHZhciBlbmNvZGVkID0gbWF0Y2hbMl07XG4gICAgICB2YXIgdmFsdWU7XG4gICAgICB2YXIgYmluYXJ5ID0gZW5jb2RlZC5yZXBsYWNlKEhFWF9FU0NBUEVfUkVQTEFDRV9SRUdFWFAsIHBkZWNvZGUpO1xuICAgICAgc3dpdGNoIChjaGFyc2V0KSB7XG4gICAgICAgIGNhc2UgXCJpc28tODg1OS0xXCI6XG4gICAgICAgICAgdmFsdWUgPSBnZXRsYXRpbjEoYmluYXJ5KTtcbiAgICAgICAgICBicmVhaztcbiAgICAgICAgY2FzZSBcInV0Zi04XCI6XG4gICAgICAgIGNhc2UgXCJ1dGY4XCI6XG4gICAgICAgICAgdmFsdWUgPSBCdWZmZXIyLmZyb20oYmluYXJ5LCBcImJpbmFyeVwiKS50b1N0cmluZyhcInV0ZjhcIik7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgdGhyb3cgbmV3IFR5cGVFcnJvcihcInVuc3VwcG9ydGVkIGNoYXJzZXQgaW4gZXh0ZW5kZWQgZmllbGRcIik7XG4gICAgICB9XG4gICAgICByZXR1cm4gdmFsdWU7XG4gICAgfVxuICAgIGZ1bmN0aW9uIGdldGxhdGluMSh2YWwpIHtcbiAgICAgIHJldHVybiBTdHJpbmcodmFsKS5yZXBsYWNlKE5PTl9MQVRJTjFfUkVHRVhQLCBcIj9cIik7XG4gICAgfVxuICAgIGZ1bmN0aW9uIHBhcnNlKHN0cmluZykge1xuICAgICAgaWYgKCFzdHJpbmcgfHwgdHlwZW9mIHN0cmluZyAhPT0gXCJzdHJpbmdcIikge1xuICAgICAgICB0aHJvdyBuZXcgVHlwZUVycm9yKFwiYXJndW1lbnQgc3RyaW5nIGlzIHJlcXVpcmVkXCIpO1xuICAgICAgfVxuICAgICAgdmFyIG1hdGNoID0gRElTUE9TSVRJT05fVFlQRV9SRUdFWFAuZXhlYyhzdHJpbmcpO1xuICAgICAgaWYgKCFtYXRjaCkge1xuICAgICAgICB0aHJvdyBuZXcgVHlwZUVycm9yKFwiaW52YWxpZCB0eXBlIGZvcm1hdFwiKTtcbiAgICAgIH1cbiAgICAgIHZhciBpbmRleCA9IG1hdGNoWzBdLmxlbmd0aDtcbiAgICAgIHZhciB0eXBlID0gbWF0Y2hbMV0udG9Mb3dlckNhc2UoKTtcbiAgICAgIHZhciBrZXk7XG4gICAgICB2YXIgbmFtZXMgPSBbXTtcbiAgICAgIHZhciBwYXJhbXMgPSB7fTtcbiAgICAgIHZhciB2YWx1ZTtcbiAgICAgIGluZGV4ID0gUEFSQU1fUkVHRVhQLmxhc3RJbmRleCA9IG1hdGNoWzBdLnNsaWNlKC0xKSA9PT0gXCI7XCIgPyBpbmRleCAtIDEgOiBpbmRleDtcbiAgICAgIHdoaWxlIChtYXRjaCA9IFBBUkFNX1JFR0VYUC5leGVjKHN0cmluZykpIHtcbiAgICAgICAgaWYgKG1hdGNoLmluZGV4ICE9PSBpbmRleCkge1xuICAgICAgICAgIHRocm93IG5ldyBUeXBlRXJyb3IoXCJpbnZhbGlkIHBhcmFtZXRlciBmb3JtYXRcIik7XG4gICAgICAgIH1cbiAgICAgICAgaW5kZXggKz0gbWF0Y2hbMF0ubGVuZ3RoO1xuICAgICAgICBrZXkgPSBtYXRjaFsxXS50b0xvd2VyQ2FzZSgpO1xuICAgICAgICB2YWx1ZSA9IG1hdGNoWzJdO1xuICAgICAgICBpZiAobmFtZXMuaW5kZXhPZihrZXkpICE9PSAtMSkge1xuICAgICAgICAgIHRocm93IG5ldyBUeXBlRXJyb3IoXCJpbnZhbGlkIGR1cGxpY2F0ZSBwYXJhbWV0ZXJcIik7XG4gICAgICAgIH1cbiAgICAgICAgbmFtZXMucHVzaChrZXkpO1xuICAgICAgICBpZiAoa2V5LmluZGV4T2YoXCIqXCIpICsgMSA9PT0ga2V5Lmxlbmd0aCkge1xuICAgICAgICAgIGtleSA9IGtleS5zbGljZSgwLCAtMSk7XG4gICAgICAgICAgdmFsdWUgPSBkZWNvZGVmaWVsZCh2YWx1ZSk7XG4gICAgICAgICAgcGFyYW1zW2tleV0gPSB2YWx1ZTtcbiAgICAgICAgICBjb250aW51ZTtcbiAgICAgICAgfVxuICAgICAgICBpZiAodHlwZW9mIHBhcmFtc1trZXldID09PSBcInN0cmluZ1wiKSB7XG4gICAgICAgICAgY29udGludWU7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHZhbHVlWzBdID09PSAnXCInKSB7XG4gICAgICAgICAgdmFsdWUgPSB2YWx1ZS5zbGljZSgxLCAtMSkucmVwbGFjZShRRVNDX1JFR0VYUCwgXCIkMVwiKTtcbiAgICAgICAgfVxuICAgICAgICBwYXJhbXNba2V5XSA9IHZhbHVlO1xuICAgICAgfVxuICAgICAgaWYgKGluZGV4ICE9PSAtMSAmJiBpbmRleCAhPT0gc3RyaW5nLmxlbmd0aCkge1xuICAgICAgICB0aHJvdyBuZXcgVHlwZUVycm9yKFwiaW52YWxpZCBwYXJhbWV0ZXIgZm9ybWF0XCIpO1xuICAgICAgfVxuICAgICAgcmV0dXJuIG5ldyBDb250ZW50RGlzcG9zaXRpb24odHlwZSwgcGFyYW1zKTtcbiAgICB9XG4gICAgZnVuY3Rpb24gcGRlY29kZShzdHIsIGhleCkge1xuICAgICAgcmV0dXJuIFN0cmluZy5mcm9tQ2hhckNvZGUocGFyc2VJbnQoaGV4LCAxNikpO1xuICAgIH1cbiAgICBmdW5jdGlvbiBwZW5jb2RlKGNoYXIpIHtcbiAgICAgIHJldHVybiBcIiVcIiArIFN0cmluZyhjaGFyKS5jaGFyQ29kZUF0KDApLnRvU3RyaW5nKDE2KS50b1VwcGVyQ2FzZSgpO1xuICAgIH1cbiAgICBmdW5jdGlvbiBxc3RyaW5nKHZhbCkge1xuICAgICAgdmFyIHN0ciA9IFN0cmluZyh2YWwpO1xuICAgICAgcmV0dXJuICdcIicgKyBzdHIucmVwbGFjZShRVU9URV9SRUdFWFAsIFwiXFxcXCQxXCIpICsgJ1wiJztcbiAgICB9XG4gICAgZnVuY3Rpb24gdXN0cmluZyh2YWwpIHtcbiAgICAgIHZhciBzdHIgPSBTdHJpbmcodmFsKTtcbiAgICAgIHZhciBlbmNvZGVkID0gZW5jb2RlVVJJQ29tcG9uZW50KHN0cikucmVwbGFjZShFTkNPREVfVVJMX0FUVFJfQ0hBUl9SRUdFWFAsIHBlbmNvZGUpO1xuICAgICAgcmV0dXJuIFwiVVRGLTgnJ1wiICsgZW5jb2RlZDtcbiAgICB9XG4gICAgZnVuY3Rpb24gQ29udGVudERpc3Bvc2l0aW9uKHR5cGUsIHBhcmFtZXRlcnMpIHtcbiAgICAgIHRoaXMudHlwZSA9IHR5cGU7XG4gICAgICB0aGlzLnBhcmFtZXRlcnMgPSBwYXJhbWV0ZXJzO1xuICAgIH1cbiAgfVxufSk7XG5cbi8vIG5vZGVfbW9kdWxlcy9jb29raWUtc2lnbmF0dXJlL2luZGV4LmpzXG52YXIgcmVxdWlyZV9jb29raWVfc2lnbmF0dXJlID0gX19jb21tb25KUyh7XG4gIFwibm9kZV9tb2R1bGVzL2Nvb2tpZS1zaWduYXR1cmUvaW5kZXguanNcIihleHBvcnRzMikge1xuICAgIHZhciBjcnlwdG8gPSByZXF1aXJlKFwiY3J5cHRvXCIpO1xuICAgIGV4cG9ydHMyLnNpZ24gPSBmdW5jdGlvbih2YWwsIHNlY3JldCkge1xuICAgICAgaWYgKFwic3RyaW5nXCIgIT0gdHlwZW9mIHZhbCkgdGhyb3cgbmV3IFR5cGVFcnJvcihcIkNvb2tpZSB2YWx1ZSBtdXN0IGJlIHByb3ZpZGVkIGFzIGEgc3RyaW5nLlwiKTtcbiAgICAgIGlmIChudWxsID09IHNlY3JldCkgdGhyb3cgbmV3IFR5cGVFcnJvcihcIlNlY3JldCBrZXkgbXVzdCBiZSBwcm92aWRlZC5cIik7XG4gICAgICByZXR1cm4gdmFsICsgXCIuXCIgKyBjcnlwdG8uY3JlYXRlSG1hYyhcInNoYTI1NlwiLCBzZWNyZXQpLnVwZGF0ZSh2YWwpLmRpZ2VzdChcImJhc2U2NFwiKS5yZXBsYWNlKC9cXD0rJC8sIFwiXCIpO1xuICAgIH07XG4gICAgZXhwb3J0czIudW5zaWduID0gZnVuY3Rpb24oaW5wdXQsIHNlY3JldCkge1xuICAgICAgaWYgKFwic3RyaW5nXCIgIT0gdHlwZW9mIGlucHV0KSB0aHJvdyBuZXcgVHlwZUVycm9yKFwiU2lnbmVkIGNvb2tpZSBzdHJpbmcgbXVzdCBiZSBwcm92aWRlZC5cIik7XG4gICAgICBpZiAobnVsbCA9PSBzZWNyZXQpIHRocm93IG5ldyBUeXBlRXJyb3IoXCJTZWNyZXQga2V5IG11c3QgYmUgcHJvdmlkZWQuXCIpO1xuICAgICAgdmFyIHRlbnRhdGl2ZVZhbHVlID0gaW5wdXQuc2xpY2UoMCwgaW5wdXQubGFzdEluZGV4T2YoXCIuXCIpKSwgZXhwZWN0ZWRJbnB1dCA9IGV4cG9ydHMyLnNpZ24odGVudGF0aXZlVmFsdWUsIHNlY3JldCksIGV4cGVjdGVkQnVmZmVyID0gQnVmZmVyLmZyb20oZXhwZWN0ZWRJbnB1dCksIGlucHV0QnVmZmVyID0gQnVmZmVyLmZyb20oaW5wdXQpO1xuICAgICAgcmV0dXJuIGV4cGVjdGVkQnVmZmVyLmxlbmd0aCA9PT0gaW5wdXRCdWZmZXIubGVuZ3RoICYmIGNyeXB0by50aW1pbmdTYWZlRXF1YWwoZXhwZWN0ZWRCdWZmZXIsIGlucHV0QnVmZmVyKSA/IHRlbnRhdGl2ZVZhbHVlIDogZmFsc2U7XG4gICAgfTtcbiAgfVxufSk7XG5cbi8vIG5vZGVfbW9kdWxlcy9jb29raWUvaW5kZXguanNcbnZhciByZXF1aXJlX2Nvb2tpZSA9IF9fY29tbW9uSlMoe1xuICBcIm5vZGVfbW9kdWxlcy9jb29raWUvaW5kZXguanNcIihleHBvcnRzMikge1xuICAgIFwidXNlIHN0cmljdFwiO1xuICAgIGV4cG9ydHMyLnBhcnNlID0gcGFyc2U7XG4gICAgZXhwb3J0czIuc2VyaWFsaXplID0gc2VyaWFsaXplO1xuICAgIHZhciBfX3RvU3RyaW5nID0gT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZztcbiAgICB2YXIgY29va2llTmFtZVJlZ0V4cCA9IC9eWyEjJCUmJyorXFwtLl5fYHx+MC05QS1aYS16XSskLztcbiAgICB2YXIgY29va2llVmFsdWVSZWdFeHAgPSAvXihcIj8pW1xcdTAwMjFcXHUwMDIzLVxcdTAwMkJcXHUwMDJELVxcdTAwM0FcXHUwMDNDLVxcdTAwNUJcXHUwMDVELVxcdTAwN0VdKlxcMSQvO1xuICAgIHZhciBkb21haW5WYWx1ZVJlZ0V4cCA9IC9eKFsuXT9bYS16MC05XShbYS16MC05LV17MCw2MX1bYS16MC05XSk/KShbLl1bYS16MC05XShbYS16MC05LV17MCw2MX1bYS16MC05XSk/KSokL2k7XG4gICAgdmFyIHBhdGhWYWx1ZVJlZ0V4cCA9IC9eW1xcdTAwMjAtXFx1MDAzQVxcdTAwM0QtXFx1MDA3RV0qJC87XG4gICAgZnVuY3Rpb24gcGFyc2Uoc3RyLCBvcHQpIHtcbiAgICAgIGlmICh0eXBlb2Ygc3RyICE9PSBcInN0cmluZ1wiKSB7XG4gICAgICAgIHRocm93IG5ldyBUeXBlRXJyb3IoXCJhcmd1bWVudCBzdHIgbXVzdCBiZSBhIHN0cmluZ1wiKTtcbiAgICAgIH1cbiAgICAgIHZhciBvYmogPSB7fTtcbiAgICAgIHZhciBsZW4gPSBzdHIubGVuZ3RoO1xuICAgICAgaWYgKGxlbiA8IDIpIHJldHVybiBvYmo7XG4gICAgICB2YXIgZGVjID0gb3B0ICYmIG9wdC5kZWNvZGUgfHwgZGVjb2RlO1xuICAgICAgdmFyIGluZGV4ID0gMDtcbiAgICAgIHZhciBlcUlkeCA9IDA7XG4gICAgICB2YXIgZW5kSWR4ID0gMDtcbiAgICAgIGRvIHtcbiAgICAgICAgZXFJZHggPSBzdHIuaW5kZXhPZihcIj1cIiwgaW5kZXgpO1xuICAgICAgICBpZiAoZXFJZHggPT09IC0xKSBicmVhaztcbiAgICAgICAgZW5kSWR4ID0gc3RyLmluZGV4T2YoXCI7XCIsIGluZGV4KTtcbiAgICAgICAgaWYgKGVuZElkeCA9PT0gLTEpIHtcbiAgICAgICAgICBlbmRJZHggPSBsZW47XG4gICAgICAgIH0gZWxzZSBpZiAoZXFJZHggPiBlbmRJZHgpIHtcbiAgICAgICAgICBpbmRleCA9IHN0ci5sYXN0SW5kZXhPZihcIjtcIiwgZXFJZHggLSAxKSArIDE7XG4gICAgICAgICAgY29udGludWU7XG4gICAgICAgIH1cbiAgICAgICAgdmFyIGtleVN0YXJ0SWR4ID0gc3RhcnRJbmRleChzdHIsIGluZGV4LCBlcUlkeCk7XG4gICAgICAgIHZhciBrZXlFbmRJZHggPSBlbmRJbmRleChzdHIsIGVxSWR4LCBrZXlTdGFydElkeCk7XG4gICAgICAgIHZhciBrZXkgPSBzdHIuc2xpY2Uoa2V5U3RhcnRJZHgsIGtleUVuZElkeCk7XG4gICAgICAgIGlmICghb2JqLmhhc093blByb3BlcnR5KGtleSkpIHtcbiAgICAgICAgICB2YXIgdmFsU3RhcnRJZHggPSBzdGFydEluZGV4KHN0ciwgZXFJZHggKyAxLCBlbmRJZHgpO1xuICAgICAgICAgIHZhciB2YWxFbmRJZHggPSBlbmRJbmRleChzdHIsIGVuZElkeCwgdmFsU3RhcnRJZHgpO1xuICAgICAgICAgIGlmIChzdHIuY2hhckNvZGVBdCh2YWxTdGFydElkeCkgPT09IDM0ICYmIHN0ci5jaGFyQ29kZUF0KHZhbEVuZElkeCAtIDEpID09PSAzNCkge1xuICAgICAgICAgICAgdmFsU3RhcnRJZHgrKztcbiAgICAgICAgICAgIHZhbEVuZElkeC0tO1xuICAgICAgICAgIH1cbiAgICAgICAgICB2YXIgdmFsID0gc3RyLnNsaWNlKHZhbFN0YXJ0SWR4LCB2YWxFbmRJZHgpO1xuICAgICAgICAgIG9ialtrZXldID0gdHJ5RGVjb2RlKHZhbCwgZGVjKTtcbiAgICAgICAgfVxuICAgICAgICBpbmRleCA9IGVuZElkeCArIDE7XG4gICAgICB9IHdoaWxlIChpbmRleCA8IGxlbik7XG4gICAgICByZXR1cm4gb2JqO1xuICAgIH1cbiAgICBmdW5jdGlvbiBzdGFydEluZGV4KHN0ciwgaW5kZXgsIG1heCkge1xuICAgICAgZG8ge1xuICAgICAgICB2YXIgY29kZSA9IHN0ci5jaGFyQ29kZUF0KGluZGV4KTtcbiAgICAgICAgaWYgKGNvZGUgIT09IDMyICYmIGNvZGUgIT09IDkpIHJldHVybiBpbmRleDtcbiAgICAgIH0gd2hpbGUgKCsraW5kZXggPCBtYXgpO1xuICAgICAgcmV0dXJuIG1heDtcbiAgICB9XG4gICAgZnVuY3Rpb24gZW5kSW5kZXgoc3RyLCBpbmRleCwgbWluKSB7XG4gICAgICB3aGlsZSAoaW5kZXggPiBtaW4pIHtcbiAgICAgICAgdmFyIGNvZGUgPSBzdHIuY2hhckNvZGVBdCgtLWluZGV4KTtcbiAgICAgICAgaWYgKGNvZGUgIT09IDMyICYmIGNvZGUgIT09IDkpIHJldHVybiBpbmRleCArIDE7XG4gICAgICB9XG4gICAgICByZXR1cm4gbWluO1xuICAgIH1cbiAgICBmdW5jdGlvbiBzZXJpYWxpemUobmFtZSwgdmFsLCBvcHQpIHtcbiAgICAgIHZhciBlbmMgPSBvcHQgJiYgb3B0LmVuY29kZSB8fCBlbmNvZGVVUklDb21wb25lbnQ7XG4gICAgICBpZiAodHlwZW9mIGVuYyAhPT0gXCJmdW5jdGlvblwiKSB7XG4gICAgICAgIHRocm93IG5ldyBUeXBlRXJyb3IoXCJvcHRpb24gZW5jb2RlIGlzIGludmFsaWRcIik7XG4gICAgICB9XG4gICAgICBpZiAoIWNvb2tpZU5hbWVSZWdFeHAudGVzdChuYW1lKSkge1xuICAgICAgICB0aHJvdyBuZXcgVHlwZUVycm9yKFwiYXJndW1lbnQgbmFtZSBpcyBpbnZhbGlkXCIpO1xuICAgICAgfVxuICAgICAgdmFyIHZhbHVlID0gZW5jKHZhbCk7XG4gICAgICBpZiAoIWNvb2tpZVZhbHVlUmVnRXhwLnRlc3QodmFsdWUpKSB7XG4gICAgICAgIHRocm93IG5ldyBUeXBlRXJyb3IoXCJhcmd1bWVudCB2YWwgaXMgaW52YWxpZFwiKTtcbiAgICAgIH1cbiAgICAgIHZhciBzdHIgPSBuYW1lICsgXCI9XCIgKyB2YWx1ZTtcbiAgICAgIGlmICghb3B0KSByZXR1cm4gc3RyO1xuICAgICAgaWYgKG51bGwgIT0gb3B0Lm1heEFnZSkge1xuICAgICAgICB2YXIgbWF4QWdlID0gTWF0aC5mbG9vcihvcHQubWF4QWdlKTtcbiAgICAgICAgaWYgKCFpc0Zpbml0ZShtYXhBZ2UpKSB7XG4gICAgICAgICAgdGhyb3cgbmV3IFR5cGVFcnJvcihcIm9wdGlvbiBtYXhBZ2UgaXMgaW52YWxpZFwiKTtcbiAgICAgICAgfVxuICAgICAgICBzdHIgKz0gXCI7IE1heC1BZ2U9XCIgKyBtYXhBZ2U7XG4gICAgICB9XG4gICAgICBpZiAob3B0LmRvbWFpbikge1xuICAgICAgICBpZiAoIWRvbWFpblZhbHVlUmVnRXhwLnRlc3Qob3B0LmRvbWFpbikpIHtcbiAgICAgICAgICB0aHJvdyBuZXcgVHlwZUVycm9yKFwib3B0aW9uIGRvbWFpbiBpcyBpbnZhbGlkXCIpO1xuICAgICAgICB9XG4gICAgICAgIHN0ciArPSBcIjsgRG9tYWluPVwiICsgb3B0LmRvbWFpbjtcbiAgICAgIH1cbiAgICAgIGlmIChvcHQucGF0aCkge1xuICAgICAgICBpZiAoIXBhdGhWYWx1ZVJlZ0V4cC50ZXN0KG9wdC5wYXRoKSkge1xuICAgICAgICAgIHRocm93IG5ldyBUeXBlRXJyb3IoXCJvcHRpb24gcGF0aCBpcyBpbnZhbGlkXCIpO1xuICAgICAgICB9XG4gICAgICAgIHN0ciArPSBcIjsgUGF0aD1cIiArIG9wdC5wYXRoO1xuICAgICAgfVxuICAgICAgaWYgKG9wdC5leHBpcmVzKSB7XG4gICAgICAgIHZhciBleHBpcmVzID0gb3B0LmV4cGlyZXM7XG4gICAgICAgIGlmICghaXNEYXRlKGV4cGlyZXMpIHx8IGlzTmFOKGV4cGlyZXMudmFsdWVPZigpKSkge1xuICAgICAgICAgIHRocm93IG5ldyBUeXBlRXJyb3IoXCJvcHRpb24gZXhwaXJlcyBpcyBpbnZhbGlkXCIpO1xuICAgICAgICB9XG4gICAgICAgIHN0ciArPSBcIjsgRXhwaXJlcz1cIiArIGV4cGlyZXMudG9VVENTdHJpbmcoKTtcbiAgICAgIH1cbiAgICAgIGlmIChvcHQuaHR0cE9ubHkpIHtcbiAgICAgICAgc3RyICs9IFwiOyBIdHRwT25seVwiO1xuICAgICAgfVxuICAgICAgaWYgKG9wdC5zZWN1cmUpIHtcbiAgICAgICAgc3RyICs9IFwiOyBTZWN1cmVcIjtcbiAgICAgIH1cbiAgICAgIGlmIChvcHQucGFydGl0aW9uZWQpIHtcbiAgICAgICAgc3RyICs9IFwiOyBQYXJ0aXRpb25lZFwiO1xuICAgICAgfVxuICAgICAgaWYgKG9wdC5wcmlvcml0eSkge1xuICAgICAgICB2YXIgcHJpb3JpdHkgPSB0eXBlb2Ygb3B0LnByaW9yaXR5ID09PSBcInN0cmluZ1wiID8gb3B0LnByaW9yaXR5LnRvTG93ZXJDYXNlKCkgOiBvcHQucHJpb3JpdHk7XG4gICAgICAgIHN3aXRjaCAocHJpb3JpdHkpIHtcbiAgICAgICAgICBjYXNlIFwibG93XCI6XG4gICAgICAgICAgICBzdHIgKz0gXCI7IFByaW9yaXR5PUxvd1wiO1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgY2FzZSBcIm1lZGl1bVwiOlxuICAgICAgICAgICAgc3RyICs9IFwiOyBQcmlvcml0eT1NZWRpdW1cIjtcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgIGNhc2UgXCJoaWdoXCI6XG4gICAgICAgICAgICBzdHIgKz0gXCI7IFByaW9yaXR5PUhpZ2hcIjtcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICB0aHJvdyBuZXcgVHlwZUVycm9yKFwib3B0aW9uIHByaW9yaXR5IGlzIGludmFsaWRcIik7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIGlmIChvcHQuc2FtZVNpdGUpIHtcbiAgICAgICAgdmFyIHNhbWVTaXRlID0gdHlwZW9mIG9wdC5zYW1lU2l0ZSA9PT0gXCJzdHJpbmdcIiA/IG9wdC5zYW1lU2l0ZS50b0xvd2VyQ2FzZSgpIDogb3B0LnNhbWVTaXRlO1xuICAgICAgICBzd2l0Y2ggKHNhbWVTaXRlKSB7XG4gICAgICAgICAgY2FzZSB0cnVlOlxuICAgICAgICAgICAgc3RyICs9IFwiOyBTYW1lU2l0ZT1TdHJpY3RcIjtcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgIGNhc2UgXCJsYXhcIjpcbiAgICAgICAgICAgIHN0ciArPSBcIjsgU2FtZVNpdGU9TGF4XCI7XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgICBjYXNlIFwic3RyaWN0XCI6XG4gICAgICAgICAgICBzdHIgKz0gXCI7IFNhbWVTaXRlPVN0cmljdFwiO1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgY2FzZSBcIm5vbmVcIjpcbiAgICAgICAgICAgIHN0ciArPSBcIjsgU2FtZVNpdGU9Tm9uZVwiO1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgIHRocm93IG5ldyBUeXBlRXJyb3IoXCJvcHRpb24gc2FtZVNpdGUgaXMgaW52YWxpZFwiKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgcmV0dXJuIHN0cjtcbiAgICB9XG4gICAgZnVuY3Rpb24gZGVjb2RlKHN0cikge1xuICAgICAgcmV0dXJuIHN0ci5pbmRleE9mKFwiJVwiKSAhPT0gLTEgPyBkZWNvZGVVUklDb21wb25lbnQoc3RyKSA6IHN0cjtcbiAgICB9XG4gICAgZnVuY3Rpb24gaXNEYXRlKHZhbCkge1xuICAgICAgcmV0dXJuIF9fdG9TdHJpbmcuY2FsbCh2YWwpID09PSBcIltvYmplY3QgRGF0ZV1cIjtcbiAgICB9XG4gICAgZnVuY3Rpb24gdHJ5RGVjb2RlKHN0ciwgZGVjb2RlMikge1xuICAgICAgdHJ5IHtcbiAgICAgICAgcmV0dXJuIGRlY29kZTIoc3RyKTtcbiAgICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgICAgcmV0dXJuIHN0cjtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn0pO1xuXG4vLyBub2RlX21vZHVsZXMvc2VuZC9ub2RlX21vZHVsZXMvbWltZS1kYi9kYi5qc29uXG52YXIgcmVxdWlyZV9kYjQgPSBfX2NvbW1vbkpTKHtcbiAgXCJub2RlX21vZHVsZXMvc2VuZC9ub2RlX21vZHVsZXMvbWltZS1kYi9kYi5qc29uXCIoZXhwb3J0czIsIG1vZHVsZTIpIHtcbiAgICBtb2R1bGUyLmV4cG9ydHMgPSB7XG4gICAgICBcImFwcGxpY2F0aW9uLzFkLWludGVybGVhdmVkLXBhcml0eWZlY1wiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uLzNncGRhc2gtcW9lLXJlcG9ydCt4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjaGFyc2V0OiBcIlVURi04XCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vM2dwcC1pbXMreG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi8zZ3BwaGFsK2pzb25cIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uLzNncHBoYWxmb3Jtcytqc29uXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9hMmxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9hY2UrY2JvclwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL2FjZStqc29uXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9hY2UtZ3JvdXBjb21tK2Nib3JcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9hY2UtdHJsK2Nib3JcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9hY3RpdmVtZXNzYWdlXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vYWN0aXZpdHkranNvblwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vYWlmK2Nib3JcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9haWYranNvblwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vYWx0by1jZG5pK2pzb25cIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL2FsdG8tY2RuaWZpbHRlcitqc29uXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9hbHRvLWNvc3RtYXAranNvblwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vYWx0by1jb3N0bWFwZmlsdGVyK2pzb25cIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL2FsdG8tZGlyZWN0b3J5K2pzb25cIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL2FsdG8tZW5kcG9pbnRjb3N0K2pzb25cIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL2FsdG8tZW5kcG9pbnRjb3N0cGFyYW1zK2pzb25cIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL2FsdG8tZW5kcG9pbnRwcm9wK2pzb25cIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL2FsdG8tZW5kcG9pbnRwcm9wcGFyYW1zK2pzb25cIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL2FsdG8tZXJyb3IranNvblwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vYWx0by1uZXR3b3JrbWFwK2pzb25cIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL2FsdG8tbmV0d29ya21hcGZpbHRlcitqc29uXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9hbHRvLXByb3BtYXAranNvblwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vYWx0by1wcm9wbWFwcGFyYW1zK2pzb25cIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL2FsdG8tdGlwcytqc29uXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9hbHRvLXRpcHNwYXJhbXMranNvblwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vYWx0by11cGRhdGVzdHJlYW1jb250cm9sK2pzb25cIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL2FsdG8tdXBkYXRlc3RyZWFtcGFyYW1zK2pzb25cIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL2FtbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL2FuZHJldy1pbnNldFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImV6XCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9hcHBpbnN0YWxsZXJcIjoge1xuICAgICAgICBjb21wcmVzc2libGU6IGZhbHNlLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJhcHBpbnN0YWxsZXJcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL2FwcGxlZmlsZVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL2FwcGxpeHdhcmVcIjoge1xuICAgICAgICBzb3VyY2U6IFwiYXBhY2hlXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImF3XCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9hcHB4XCI6IHtcbiAgICAgICAgY29tcHJlc3NpYmxlOiBmYWxzZSxcbiAgICAgICAgZXh0ZW5zaW9uczogW1wiYXBweFwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vYXBweGJ1bmRsZVwiOiB7XG4gICAgICAgIGNvbXByZXNzaWJsZTogZmFsc2UsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImFwcHhidW5kbGVcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL2F0K2p3dFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL2F0ZlwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL2F0ZnhcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9hdG9tK3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZSxcbiAgICAgICAgZXh0ZW5zaW9uczogW1wiYXRvbVwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vYXRvbWNhdCt4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWUsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImF0b21jYXRcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL2F0b21kZWxldGVkK3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZSxcbiAgICAgICAgZXh0ZW5zaW9uczogW1wiYXRvbWRlbGV0ZWRcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL2F0b21pY21haWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9hdG9tc3ZjK3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZSxcbiAgICAgICAgZXh0ZW5zaW9uczogW1wiYXRvbXN2Y1wiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vYXRzYy1kd2QreG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJkd2RcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL2F0c2MtZHluYW1pYy1ldmVudC1tZXNzYWdlXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vYXRzYy1oZWxkK3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZSxcbiAgICAgICAgZXh0ZW5zaW9uczogW1wiaGVsZFwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vYXRzYy1yZHQranNvblwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vYXRzYy1yc2F0K3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZSxcbiAgICAgICAgZXh0ZW5zaW9uczogW1wicnNhdFwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vYXR4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9hdXRoLXBvbGljeSt4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL2F1dG9tYXRpb25tbC1hbWwreG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJhbWxcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL2F1dG9tYXRpb25tbC1hbWx4K3ppcFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogZmFsc2UsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImFtbHhcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL2JhY25ldC14ZGQremlwXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiBmYWxzZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vYmF0Y2gtc210cFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL2Jkb2NcIjoge1xuICAgICAgICBjb21wcmVzc2libGU6IGZhbHNlLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJiZG9jXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9iZWVwK3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNoYXJzZXQ6IFwiVVRGLThcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9idWZyXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vYzJwYVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL2NhbGVuZGFyK2pzb25cIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL2NhbGVuZGFyK3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZSxcbiAgICAgICAgZXh0ZW5zaW9uczogW1wieGNzXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9jYWxsLWNvbXBsZXRpb25cIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9jYWxzLTE4NDBcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9jYXB0aXZlK2pzb25cIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL2Nib3JcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9jYm9yLXNlcVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL2NjY2V4XCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vY2NtcCt4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL2NjeG1sK3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZSxcbiAgICAgICAgZXh0ZW5zaW9uczogW1wiY2N4bWxcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL2NkYSt4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjaGFyc2V0OiBcIlVURi04XCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vY2RmeCt4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWUsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImNkZnhcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL2NkbWktY2FwYWJpbGl0eVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImNkbWlhXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9jZG1pLWNvbnRhaW5lclwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImNkbWljXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9jZG1pLWRvbWFpblwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImNkbWlkXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9jZG1pLW9iamVjdFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImNkbWlvXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9jZG1pLXF1ZXVlXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wiY2RtaXFcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL2NkbmlcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9jZStjYm9yXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vY2VhXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vY2VhLTIwMTgreG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9jZWxsbWwreG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9jZndcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9jaWQtZWRob2MrY2Jvci1zZXFcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9jaXR5K2pzb25cIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL2NpdHkranNvbi1zZXFcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9jbHJcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9jbHVlK3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vY2x1ZV9pbmZvK3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vY21zXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vY25ycCt4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL2NvYXAtZWFwXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vY29hcC1ncm91cCtqc29uXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9jb2FwLXBheWxvYWRcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9jb21tb25ncm91bmRcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9jb25jaXNlLXByb2JsZW0tZGV0YWlscytjYm9yXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vY29uZmVyZW5jZS1pbmZvK3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vY29zZVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL2Nvc2Uta2V5XCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vY29zZS1rZXktc2V0XCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vY29zZS14NTA5XCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vY3BsK3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZSxcbiAgICAgICAgZXh0ZW5zaW9uczogW1wiY3BsXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9jc3JhdHRyc1wiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL2NzdGEreG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9jc3RhZGF0YSt4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL2Nzdm0ranNvblwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vY3Utc2VlbWVcIjoge1xuICAgICAgICBzb3VyY2U6IFwiYXBhY2hlXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImN1XCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9jd2xcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJjd2xcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL2N3bCtqc29uXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9jd2wreWFtbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL2N3dFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL2N5YmVyY2FzaFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL2RhcnRcIjoge1xuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL2Rhc2greG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJtcGRcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL2Rhc2gtcGF0Y2greG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJtcHBcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL2Rhc2hkZWx0YVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL2Rhdm1vdW50K3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZSxcbiAgICAgICAgZXh0ZW5zaW9uczogW1wiZGF2bW91bnRcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL2RjYS1yZnRcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9kY2RcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9kZWMtZHhcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9kaWFsb2ctaW5mbyt4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL2RpY29tXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wiZGNtXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9kaWNvbStqc29uXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9kaWNvbSt4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL2RpaVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL2RpdFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL2Ruc1wiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL2Rucytqc29uXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9kbnMtbWVzc2FnZVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL2RvY2Jvb2sreG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImFwYWNoZVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWUsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImRia1wiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vZG90cytjYm9yXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vZHBvcCtqd3RcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9kc2twcCt4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL2Rzc2MrZGVyXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wiZHNzY1wiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vZHNzYyt4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWUsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcInhkc3NjXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9kdmNzXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vZWF0K2N3dFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL2VhdCtqd3RcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9lYXQtYnVuK2Nib3JcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9lYXQtYnVuK2pzb25cIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL2VhdC11Y3MrY2JvclwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL2VhdC11Y3MranNvblwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vZWNtYXNjcmlwdFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJhcGFjaGVcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJlY21hXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9lZGhvYytjYm9yLXNlcVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL2VkaS1jb25zZW50XCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vZWRpLXgxMlwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogZmFsc2VcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL2VkaWZhY3RcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IGZhbHNlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9lZmlcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9lbG0ranNvblwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNoYXJzZXQ6IFwiVVRGLThcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9lbG0reG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9lbWVyZ2VuY3ljYWxsZGF0YS5jYXAreG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY2hhcnNldDogXCJVVEYtOFwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL2VtZXJnZW5jeWNhbGxkYXRhLmNvbW1lbnQreG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9lbWVyZ2VuY3ljYWxsZGF0YS5jb250cm9sK3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vZW1lcmdlbmN5Y2FsbGRhdGEuZGV2aWNlaW5mbyt4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL2VtZXJnZW5jeWNhbGxkYXRhLmVjYWxsLm1zZFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL2VtZXJnZW5jeWNhbGxkYXRhLmxlZ2FjeWVzbitqc29uXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9lbWVyZ2VuY3ljYWxsZGF0YS5wcm92aWRlcmluZm8reG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9lbWVyZ2VuY3ljYWxsZGF0YS5zZXJ2aWNlaW5mbyt4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL2VtZXJnZW5jeWNhbGxkYXRhLnN1YnNjcmliZXJpbmZvK3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vZW1lcmdlbmN5Y2FsbGRhdGEudmVkcyt4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL2VtbWEreG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJlbW1hXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9lbW90aW9ubWwreG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJlbW90aW9ubWxcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL2VuY2FwcnRwXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vZW50aXR5LXN0YXRlbWVudCtqd3RcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9lcHAreG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9lcHViK3ppcFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogZmFsc2UsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImVwdWJcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL2VzaG9wXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vZXhpXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wiZXhpXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9leHBlY3QtY3QtcmVwb3J0K2pzb25cIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL2V4cHJlc3NcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJleHBcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL2Zhc3RpbmZvc2V0XCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vZmFzdHNvYXBcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9mZGZcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJmZGZcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL2ZkdCt4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWUsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImZkdFwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vZmhpcitqc29uXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY2hhcnNldDogXCJVVEYtOFwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL2ZoaXIreG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY2hhcnNldDogXCJVVEYtOFwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL2ZpZG8udHJ1c3RlZC1hcHBzK2pzb25cIjoge1xuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL2ZpdHNcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9mbGV4ZmVjXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vZm9udC1zZm50XCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vZm9udC10ZHBmclwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcInBmclwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vZm9udC13b2ZmXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiBmYWxzZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vZnJhbWV3b3JrLWF0dHJpYnV0ZXMreG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9nZW8ranNvblwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZSxcbiAgICAgICAgZXh0ZW5zaW9uczogW1wiZ2VvanNvblwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vZ2VvK2pzb24tc2VxXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vZ2VvcGFja2FnZStzcWxpdGUzXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vZ2VvcG9zZStqc29uXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9nZW94YWNtbCtqc29uXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9nZW94YWNtbCt4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL2dsdGYtYnVmZmVyXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vZ21sK3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZSxcbiAgICAgICAgZXh0ZW5zaW9uczogW1wiZ21sXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9nbmFwLWJpbmRpbmctandzXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vZ25hcC1iaW5kaW5nLWp3c2RcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9nbmFwLWJpbmRpbmctcm90YXRpb24tandzXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vZ25hcC1iaW5kaW5nLXJvdGF0aW9uLWp3c2RcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9ncHgreG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImFwYWNoZVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWUsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImdweFwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vZ3JpYlwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL2d4ZlwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJhcGFjaGVcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wiZ3hmXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9nemlwXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiBmYWxzZSxcbiAgICAgICAgZXh0ZW5zaW9uczogW1wiZ3pcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL2gyMjRcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9oZWxkK3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vaGpzb25cIjoge1xuICAgICAgICBleHRlbnNpb25zOiBbXCJoanNvblwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vaGw3djIreG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY2hhcnNldDogXCJVVEYtOFwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL2h0dHBcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9oeXBlcnN0dWRpb1wiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcInN0a1wiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vaWJlLWtleS1yZXF1ZXN0K3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vaWJlLXBrZy1yZXBseSt4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL2liZS1wcC1kYXRhXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vaWdlc1wiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL2ltLWlzY29tcG9zaW5nK3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNoYXJzZXQ6IFwiVVRGLThcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9pbmRleFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL2luZGV4LmNtZFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL2luZGV4Lm9ialwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL2luZGV4LnJlc3BvbnNlXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vaW5kZXgudm5kXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vaW5rbWwreG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJpbmtcIiwgXCJpbmttbFwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vaW90cFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL2lwZml4XCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wiaXBmaXhcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL2lwcFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL2lzdXBcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9pdHMreG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJpdHNcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL2phdmEtYXJjaGl2ZVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogZmFsc2UsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImphclwiLCBcIndhclwiLCBcImVhclwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vamF2YS1zZXJpYWxpemVkLW9iamVjdFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJhcGFjaGVcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiBmYWxzZSxcbiAgICAgICAgZXh0ZW5zaW9uczogW1wic2VyXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9qYXZhLXZtXCI6IHtcbiAgICAgICAgc291cmNlOiBcImFwYWNoZVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IGZhbHNlLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJjbGFzc1wiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vamF2YXNjcmlwdFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJhcGFjaGVcIixcbiAgICAgICAgY2hhcnNldDogXCJVVEYtOFwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWUsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImpzXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9qZjJmZWVkK2pzb25cIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL2pvc2VcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9qb3NlK2pzb25cIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL2pyZCtqc29uXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9qc2NhbGVuZGFyK2pzb25cIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL2pzY29udGFjdCtqc29uXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9qc29uXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY2hhcnNldDogXCJVVEYtOFwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWUsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImpzb25cIiwgXCJtYXBcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL2pzb24tcGF0Y2granNvblwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vanNvbi1zZXFcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9qc29uNVwiOiB7XG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImpzb241XCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9qc29ubWwranNvblwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJhcGFjaGVcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJqc29ubWxcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL2pzb25wYXRoXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vandrK2pzb25cIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL2p3ay1zZXQranNvblwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vandrLXNldCtqd3RcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9qd3RcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9rcG1sLXJlcXVlc3QreG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9rcG1sLXJlc3BvbnNlK3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vbGQranNvblwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZSxcbiAgICAgICAgZXh0ZW5zaW9uczogW1wianNvbmxkXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9sZ3IreG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJsZ3JcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL2xpbmstZm9ybWF0XCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vbGlua3NldFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL2xpbmtzZXQranNvblwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vbG9hZC1jb250cm9sK3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vbG9nb3V0K2p3dFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL2xvc3QreG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJsb3N0eG1sXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9sb3N0c3luYyt4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL2xwZit6aXBcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IGZhbHNlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9seGZcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9tYWMtYmluaGV4NDBcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJocXhcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL21hYy1jb21wYWN0cHJvXCI6IHtcbiAgICAgICAgc291cmNlOiBcImFwYWNoZVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJjcHRcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL21hY3dyaXRlaWlcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9tYWRzK3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZSxcbiAgICAgICAgZXh0ZW5zaW9uczogW1wibWFkc1wiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vbWFuaWZlc3QranNvblwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNoYXJzZXQ6IFwiVVRGLThcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJ3ZWJtYW5pZmVzdFwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vbWFyY1wiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcIm1yY1wiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vbWFyY3htbCt4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWUsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcIm1yY3hcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL21hdGhlbWF0aWNhXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wibWFcIiwgXCJuYlwiLCBcIm1iXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9tYXRobWwreG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJtYXRobWxcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL21hdGhtbC1jb250ZW50K3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vbWF0aG1sLXByZXNlbnRhdGlvbit4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL21ibXMtYXNzb2NpYXRlZC1wcm9jZWR1cmUtZGVzY3JpcHRpb24reG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9tYm1zLWRlcmVnaXN0ZXIreG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9tYm1zLWVudmVsb3BlK3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vbWJtcy1tc2sreG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9tYm1zLW1zay1yZXNwb25zZSt4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL21ibXMtcHJvdGVjdGlvbi1kZXNjcmlwdGlvbit4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL21ibXMtcmVjZXB0aW9uLXJlcG9ydCt4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL21ibXMtcmVnaXN0ZXIreG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9tYm1zLXJlZ2lzdGVyLXJlc3BvbnNlK3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vbWJtcy1zY2hlZHVsZSt4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL21ibXMtdXNlci1zZXJ2aWNlLWRlc2NyaXB0aW9uK3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vbWJveFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcIm1ib3hcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL21lZGlhLXBvbGljeS1kYXRhc2V0K3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZSxcbiAgICAgICAgZXh0ZW5zaW9uczogW1wibXBmXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9tZWRpYV9jb250cm9sK3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vbWVkaWFzZXJ2ZXJjb250cm9sK3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZSxcbiAgICAgICAgZXh0ZW5zaW9uczogW1wibXNjbWxcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL21lcmdlLXBhdGNoK2pzb25cIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL21ldGFsaW5rK3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJhcGFjaGVcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJtZXRhbGlua1wiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vbWV0YWxpbms0K3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZSxcbiAgICAgICAgZXh0ZW5zaW9uczogW1wibWV0YTRcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL21ldHMreG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJtZXRzXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9tZjRcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9taWtleVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL21pcGNcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9taXNzaW5nLWJsb2NrcytjYm9yLXNlcVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL21tdC1hZWkreG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJtYWVpXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9tbXQtdXNkK3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZSxcbiAgICAgICAgZXh0ZW5zaW9uczogW1wibXVzZFwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vbW9kcyt4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWUsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcIm1vZHNcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL21vc3Mta2V5c1wiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL21vc3Mtc2lnbmF0dXJlXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vbW9zc2tleS1kYXRhXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vbW9zc2tleS1yZXF1ZXN0XCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vbXAyMVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcIm0yMVwiLCBcIm1wMjFcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL21wNFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcIm1wNFwiLCBcIm1wZzRcIiwgXCJtcDRzXCIsIFwibTRwXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9tcGVnNC1nZW5lcmljXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vbXBlZzQtaW9kXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vbXBlZzQtaW9kLXhtdFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL21yYi1jb25zdW1lcit4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL21yYi1wdWJsaXNoK3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vbXNjLWl2cit4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjaGFyc2V0OiBcIlVURi04XCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vbXNjLW1peGVyK3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNoYXJzZXQ6IFwiVVRGLThcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9tc2l4XCI6IHtcbiAgICAgICAgY29tcHJlc3NpYmxlOiBmYWxzZSxcbiAgICAgICAgZXh0ZW5zaW9uczogW1wibXNpeFwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vbXNpeGJ1bmRsZVwiOiB7XG4gICAgICAgIGNvbXByZXNzaWJsZTogZmFsc2UsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcIm1zaXhidW5kbGVcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL21zd29yZFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogZmFsc2UsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImRvY1wiLCBcImRvdFwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vbXVkK2pzb25cIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL211bHRpcGFydC1jb3JlXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vbXhmXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wibXhmXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9uLXF1YWRzXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wibnFcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL24tdHJpcGxlc1wiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcIm50XCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9uYXNkYXRhXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vbmV3cy1jaGVja2dyb3Vwc1wiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNoYXJzZXQ6IFwiVVMtQVNDSUlcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vbmV3cy1ncm91cGluZm9cIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjaGFyc2V0OiBcIlVTLUFTQ0lJXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL25ld3MtdHJhbnNtaXNzaW9uXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vbmxzbWwreG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9ub2RlXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wiY2pzXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9uc3NcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9vYXV0aC1hdXRoei1yZXErand0XCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vb2JsaXZpb3VzLWRucy1tZXNzYWdlXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vb2NzcC1yZXF1ZXN0XCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vb2NzcC1yZXNwb25zZVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL29jdGV0LXN0cmVhbVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZSxcbiAgICAgICAgZXh0ZW5zaW9uczogW1wiYmluXCIsIFwiZG1zXCIsIFwibHJmXCIsIFwibWFyXCIsIFwic29cIiwgXCJkaXN0XCIsIFwiZGlzdHpcIiwgXCJwa2dcIiwgXCJicGtcIiwgXCJkdW1wXCIsIFwiZWxjXCIsIFwiZGVwbG95XCIsIFwiZXhlXCIsIFwiZGxsXCIsIFwiZGViXCIsIFwiZG1nXCIsIFwiaXNvXCIsIFwiaW1nXCIsIFwibXNpXCIsIFwibXNwXCIsIFwibXNtXCIsIFwiYnVmZmVyXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9vZGFcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJvZGFcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL29kbSt4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL29keFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL29lYnBzLXBhY2thZ2UreG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJvcGZcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL29nZ1wiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogZmFsc2UsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcIm9neFwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vb2h0dHAta2V5c1wiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL29tZG9jK3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJhcGFjaGVcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJvbWRvY1wiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vb25lbm90ZVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJhcGFjaGVcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wib25ldG9jXCIsIFwib25ldG9jMlwiLCBcIm9uZXRtcFwiLCBcIm9uZXBrZ1wiLCBcIm9uZVwiLCBcIm9uZWFcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL29wYy1ub2Rlc2V0K3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vb3Njb3JlXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vb3hwc1wiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcIm94cHNcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3AyMVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3AyMSt6aXBcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IGZhbHNlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9wMnAtb3ZlcmxheSt4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWUsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcInJlbG9cIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3Bhcml0eWZlY1wiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3Bhc3Nwb3J0XCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vcGF0Y2gtb3BzLWVycm9yK3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZSxcbiAgICAgICAgZXh0ZW5zaW9uczogW1wieGVyXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9wZGZcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IGZhbHNlLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJwZGZcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3BkeFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3BlbS1jZXJ0aWZpY2F0ZS1jaGFpblwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3BncC1lbmNyeXB0ZWRcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IGZhbHNlLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJwZ3BcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3BncC1rZXlzXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wiYXNjXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9wZ3Atc2lnbmF0dXJlXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wic2lnXCIsIFwiYXNjXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9waWNzLXJ1bGVzXCI6IHtcbiAgICAgICAgc291cmNlOiBcImFwYWNoZVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJwcmZcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3BpZGYreG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY2hhcnNldDogXCJVVEYtOFwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3BpZGYtZGlmZit4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjaGFyc2V0OiBcIlVURi04XCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vcGtjczEwXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wicDEwXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9wa2NzMTJcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9wa2NzNy1taW1lXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wicDdtXCIsIFwicDdjXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9wa2NzNy1zaWduYXR1cmVcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJwN3NcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3BrY3M4XCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wicDhcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3BrY3M4LWVuY3J5cHRlZFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3BraXgtYXR0ci1jZXJ0XCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wiYWNcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3BraXgtY2VydFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImNlclwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vcGtpeC1jcmxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJjcmxcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3BraXgtcGtpcGF0aFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcInBraXBhdGhcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3BraXhjbXBcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJwa2lcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3Bscyt4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWUsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcInBsc1wiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vcG9jLXNldHRpbmdzK3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNoYXJzZXQ6IFwiVVRGLThcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9wb3N0c2NyaXB0XCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJhaVwiLCBcImVwc1wiLCBcInBzXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9wcHNwLXRyYWNrZXIranNvblwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vcHJpdmF0ZS10b2tlbi1pc3N1ZXItZGlyZWN0b3J5XCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vcHJpdmF0ZS10b2tlbi1yZXF1ZXN0XCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vcHJpdmF0ZS10b2tlbi1yZXNwb25zZVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3Byb2JsZW0ranNvblwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vcHJvYmxlbSt4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3Byb3ZlbmFuY2UreG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJwcm92eFwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vcHJvdmlkZWQtY2xhaW1zK2p3dFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3Bycy5hbHZlc3RyYW5kLnRpdHJheC1zaGVldFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3Bycy5jd3dcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJjd3dcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3Bycy5jeW5cIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjaGFyc2V0OiBcIjctQklUXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3Bycy5ocHViK3ppcFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogZmFsc2VcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3Bycy5pbXBsaWVkLWRvY3VtZW50K3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vcHJzLmltcGxpZWQtZXhlY3V0YWJsZVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3Bycy5pbXBsaWVkLW9iamVjdCtqc29uXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9wcnMuaW1wbGllZC1vYmplY3QranNvbi1zZXFcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9wcnMuaW1wbGllZC1vYmplY3QreWFtbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3Bycy5pbXBsaWVkLXN0cnVjdHVyZVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3Bycy5tYXlmaWxlXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vcHJzLm5wcmVuZFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3Bycy5wbHVja2VyXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vcHJzLnJkZi14bWwtY3J5cHRcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9wcnMudmNmYnppcDJcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9wcnMueHNmK3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZSxcbiAgICAgICAgZXh0ZW5zaW9uczogW1wieHNmXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9wc2tjK3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZSxcbiAgICAgICAgZXh0ZW5zaW9uczogW1wicHNrY3htbFwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vcHZkK2pzb25cIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3FzaWdcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9yYW1sK3lhbWxcIjoge1xuICAgICAgICBjb21wcmVzc2libGU6IHRydWUsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcInJhbWxcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3JhcHRvcmZlY1wiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3JkYXAranNvblwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vcmRmK3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZSxcbiAgICAgICAgZXh0ZW5zaW9uczogW1wicmRmXCIsIFwib3dsXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9yZWdpbmZvK3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZSxcbiAgICAgICAgZXh0ZW5zaW9uczogW1wicmlmXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9yZWxheC1uZy1jb21wYWN0LXN5bnRheFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcInJuY1wiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vcmVtb3RlLXByaW50aW5nXCI6IHtcbiAgICAgICAgc291cmNlOiBcImFwYWNoZVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9yZXB1dG9uK2pzb25cIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3Jlc29sdmUtcmVzcG9uc2Urand0XCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vcmVzb3VyY2UtbGlzdHMreG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJybFwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vcmVzb3VyY2UtbGlzdHMtZGlmZit4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWUsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcInJsZFwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vcmZjK3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vcmlzY29zXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vcmxtaSt4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3Jscy1zZXJ2aWNlcyt4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWUsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcInJzXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9yb3V0ZS1hcGQreG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJyYXBkXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9yb3V0ZS1zLXRzaWQreG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJzbHNcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3JvdXRlLXVzZCt4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWUsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcInJ1c2RcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3Jwa2ktY2hlY2tsaXN0XCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vcnBraS1naG9zdGJ1c3RlcnNcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJnYnJcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3Jwa2ktbWFuaWZlc3RcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJtZnRcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3Jwa2ktcHVibGljYXRpb25cIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9ycGtpLXJvYVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcInJvYVwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vcnBraS1zaWduZWQtdGFsXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vcnBraS11cGRvd25cIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9yc2QreG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImFwYWNoZVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWUsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcInJzZFwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vcnNzK3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJhcGFjaGVcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJyc3NcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3J0ZlwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZSxcbiAgICAgICAgZXh0ZW5zaW9uczogW1wicnRmXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9ydHBsb29wYmFja1wiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3J0eFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3NhbWxhc3NlcnRpb24reG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9zYW1sbWV0YWRhdGEreG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9zYXJpZitqc29uXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9zYXJpZi1leHRlcm5hbC1wcm9wZXJ0aWVzK2pzb25cIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3NiZVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3NibWwreG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJzYm1sXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9zY2FpcCt4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3NjaW0ranNvblwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vc2N2cC1jdi1yZXF1ZXN0XCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wic2NxXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9zY3ZwLWN2LXJlc3BvbnNlXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wic2NzXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9zY3ZwLXZwLXJlcXVlc3RcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJzcHFcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3NjdnAtdnAtcmVzcG9uc2VcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJzcHBcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3NkcFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcInNkcFwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vc2VjZXZlbnQrand0XCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vc2VubWwrY2JvclwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3Nlbm1sK2pzb25cIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3Nlbm1sK3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZSxcbiAgICAgICAgZXh0ZW5zaW9uczogW1wic2VubWx4XCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9zZW5tbC1ldGNoK2Nib3JcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9zZW5tbC1ldGNoK2pzb25cIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3Nlbm1sLWV4aVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3NlbnNtbCtjYm9yXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vc2Vuc21sK2pzb25cIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3NlbnNtbCt4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWUsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcInNlbnNtbHhcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3NlbnNtbC1leGlcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9zZXAreG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9zZXAtZXhpXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vc2Vzc2lvbi1pbmZvXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vc2V0LXBheW1lbnRcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9zZXQtcGF5bWVudC1pbml0aWF0aW9uXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wic2V0cGF5XCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9zZXQtcmVnaXN0cmF0aW9uXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vc2V0LXJlZ2lzdHJhdGlvbi1pbml0aWF0aW9uXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wic2V0cmVnXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9zZ21sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vc2dtbC1vcGVuLWNhdGFsb2dcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9zaGYreG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJzaGZcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3NpZXZlXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wic2l2XCIsIFwic2lldmVcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3NpbXBsZS1maWx0ZXIreG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9zaW1wbGUtbWVzc2FnZS1zdW1tYXJ5XCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vc2ltcGxlc3ltYm9sY29udGFpbmVyXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vc2lwY1wiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3NsYXRlXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vc21pbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJhcGFjaGVcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vc21pbCt4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWUsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcInNtaVwiLCBcInNtaWxcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3NtcHRlMzM2bVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3NvYXArZmFzdGluZm9zZXRcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9zb2FwK3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vc3BhcnFsLXF1ZXJ5XCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wicnFcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3NwYXJxbC1yZXN1bHRzK3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZSxcbiAgICAgICAgZXh0ZW5zaW9uczogW1wic3J4XCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9zcGR4K2pzb25cIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3NwaXJpdHMtZXZlbnQreG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9zcWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJzcWxcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3NyZ3NcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJncmFtXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9zcmdzK3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZSxcbiAgICAgICAgZXh0ZW5zaW9uczogW1wiZ3J4bWxcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3NydSt4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWUsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcInNydVwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vc3NkbCt4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiYXBhY2hlXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZSxcbiAgICAgICAgZXh0ZW5zaW9uczogW1wic3NkbFwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vc3Nsa2V5bG9nZmlsZVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3NzbWwreG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJzc21sXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9zdDIxMTAtNDFcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9zdGl4K2pzb25cIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3N0cmF0dW1cIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9zd2lkK2Nib3JcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi9zd2lkK3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZSxcbiAgICAgICAgZXh0ZW5zaW9uczogW1wic3dpZHRhZ1wiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdGFtcC1hcGV4LXVwZGF0ZVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3RhbXAtYXBleC11cGRhdGUtY29uZmlybVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3RhbXAtY29tbXVuaXR5LXVwZGF0ZVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3RhbXAtY29tbXVuaXR5LXVwZGF0ZS1jb25maXJtXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdGFtcC1lcnJvclwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3RhbXAtc2VxdWVuY2UtYWRqdXN0XCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdGFtcC1zZXF1ZW5jZS1hZGp1c3QtY29uZmlybVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3RhbXAtc3RhdHVzLXF1ZXJ5XCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdGFtcC1zdGF0dXMtcmVzcG9uc2VcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi90YW1wLXVwZGF0ZVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3RhbXAtdXBkYXRlLWNvbmZpcm1cIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi90YXJcIjoge1xuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3RheGlpK2pzb25cIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3RkK2pzb25cIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3RlaSt4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWUsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcInRlaVwiLCBcInRlaWNvcnB1c1wiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdGV0cmFfaXNpXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdGhyYXVkK3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZSxcbiAgICAgICAgZXh0ZW5zaW9uczogW1widGZpXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi90aW1lc3RhbXAtcXVlcnlcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi90aW1lc3RhbXAtcmVwbHlcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi90aW1lc3RhbXBlZC1kYXRhXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1widHNkXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi90bHNycHQrZ3ppcFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3Rsc3JwdCtqc29uXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi90bStqc29uXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi90bmF1dGhsaXN0XCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdG9jK2Nib3JcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi90b2tlbi1pbnRyb3NwZWN0aW9uK2p3dFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3RvbWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWUsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcInRvbWxcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3RyaWNrbGUtaWNlLXNkcGZyYWdcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi90cmlnXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1widHJpZ1wiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdHJ1c3QtY2hhaW4ranNvblwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdHJ1c3QtbWFyaytqd3RcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi90cnVzdC1tYXJrLWRlbGVnYXRpb24rand0XCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdHRtbCt4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWUsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcInR0bWxcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3R2ZS10cmlnZ2VyXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdHppZlwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3R6aWYtbGVhcFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3VianNvblwiOiB7XG4gICAgICAgIGNvbXByZXNzaWJsZTogZmFsc2UsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcInVialwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdWNjcytjYm9yXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdWpjcytqc29uXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi91bHBmZWNcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi91cmMtZ3Jwc2hlZXQreG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi91cmMtcmVzc2hlZXQreG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJyc2hlZXRcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3VyYy10YXJnZXRkZXNjK3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZSxcbiAgICAgICAgZXh0ZW5zaW9uczogW1widGRcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3VyYy11aXNvY2tldGRlc2MreG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92Y1wiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZjK2Nvc2VcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92Yytqd3RcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92Y2FyZCtqc29uXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92Y2FyZCt4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZlbW1pXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdml2aWRlbmNlLnNjcmlwdGZpbGVcIjoge1xuICAgICAgICBzb3VyY2U6IFwiYXBhY2hlXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC4xMDAwbWluZHMuZGVjaXNpb24tbW9kZWwreG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlLFxuICAgICAgICBleHRlbnNpb25zOiBbXCIxa21cIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC4xb2JcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuM2dwcC1wcm9zZSt4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC4zZ3BwLXByb3NlLXBjM2EreG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuM2dwcC1wcm9zZS1wYzNhY2greG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuM2dwcC1wcm9zZS1wYzNjaCt4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC4zZ3BwLXByb3NlLXBjOCt4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC4zZ3BwLXYyeC1sb2NhbC1zZXJ2aWNlLWluZm9ybWF0aW9uXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLjNncHAuNWduYXNcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuM2dwcC41Z3NhMnhcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuM2dwcC41Z3NhMngtbG9jYWwtc2VydmljZS1pbmZvcm1hdGlvblwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC4zZ3BwLjVnc3YyeFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC4zZ3BwLjVnc3YyeC1sb2NhbC1zZXJ2aWNlLWluZm9ybWF0aW9uXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLjNncHAuYWNjZXNzLXRyYW5zZmVyLWV2ZW50cyt4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC4zZ3BwLmJzZit4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC4zZ3BwLmNycyt4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC4zZ3BwLmN1cnJlbnQtbG9jYXRpb24tZGlzY292ZXJ5K3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLjNncHAuZ21vcCt4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC4zZ3BwLmd0cGNcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuM2dwcC5pbnRlcndvcmtpbmctZGF0YVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC4zZ3BwLmxwcFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC4zZ3BwLm1jLXNpZ25hbGxpbmctZWFyXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLjNncHAubWNkYXRhLWFmZmlsaWF0aW9uLWNvbW1hbmQreG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuM2dwcC5tY2RhdGEtaW5mbyt4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC4zZ3BwLm1jZGF0YS1tc2dzdG9yZS1jdHJsLXJlcXVlc3QreG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuM2dwcC5tY2RhdGEtcGF5bG9hZFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC4zZ3BwLm1jZGF0YS1yZWdyb3VwK3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLjNncHAubWNkYXRhLXNlcnZpY2UtY29uZmlnK3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLjNncHAubWNkYXRhLXNpZ25hbGxpbmdcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuM2dwcC5tY2RhdGEtdWUtY29uZmlnK3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLjNncHAubWNkYXRhLXVzZXItcHJvZmlsZSt4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC4zZ3BwLm1jcHR0LWFmZmlsaWF0aW9uLWNvbW1hbmQreG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuM2dwcC5tY3B0dC1mbG9vci1yZXF1ZXN0K3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLjNncHAubWNwdHQtaW5mbyt4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC4zZ3BwLm1jcHR0LWxvY2F0aW9uLWluZm8reG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuM2dwcC5tY3B0dC1tYm1zLXVzYWdlLWluZm8reG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuM2dwcC5tY3B0dC1yZWdyb3VwK3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLjNncHAubWNwdHQtc2VydmljZS1jb25maWcreG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuM2dwcC5tY3B0dC1zaWduZWQreG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuM2dwcC5tY3B0dC11ZS1jb25maWcreG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuM2dwcC5tY3B0dC11ZS1pbml0LWNvbmZpZyt4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC4zZ3BwLm1jcHR0LXVzZXItcHJvZmlsZSt4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC4zZ3BwLm1jdmlkZW8tYWZmaWxpYXRpb24tY29tbWFuZCt4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC4zZ3BwLm1jdmlkZW8taW5mbyt4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC4zZ3BwLm1jdmlkZW8tbG9jYXRpb24taW5mbyt4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC4zZ3BwLm1jdmlkZW8tbWJtcy11c2FnZS1pbmZvK3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLjNncHAubWN2aWRlby1yZWdyb3VwK3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLjNncHAubWN2aWRlby1zZXJ2aWNlLWNvbmZpZyt4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC4zZ3BwLm1jdmlkZW8tdHJhbnNtaXNzaW9uLXJlcXVlc3QreG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuM2dwcC5tY3ZpZGVvLXVlLWNvbmZpZyt4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC4zZ3BwLm1jdmlkZW8tdXNlci1wcm9maWxlK3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLjNncHAubWlkLWNhbGwreG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuM2dwcC5uZ2FwXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLjNncHAucGZjcFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC4zZ3BwLnBpYy1idy1sYXJnZVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcInBsYlwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLjNncHAucGljLWJ3LXNtYWxsXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wicHNiXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuM2dwcC5waWMtYnctdmFyXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wicHZiXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuM2dwcC5waW5hcHAtaW5mbyt4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC4zZ3BwLnMxYXBcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuM2dwcC5zZWFsLWdyb3VwLWRvYyt4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC4zZ3BwLnNlYWwtaW5mbyt4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC4zZ3BwLnNlYWwtbG9jYXRpb24taW5mbyt4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC4zZ3BwLnNlYWwtbWJtcy11c2FnZS1pbmZvK3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLjNncHAuc2VhbC1uZXR3b3JrLXFvcy1tYW5hZ2VtZW50LWluZm8reG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuM2dwcC5zZWFsLXVlLWNvbmZpZy1pbmZvK3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLjNncHAuc2VhbC11bmljYXN0LWluZm8reG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuM2dwcC5zZWFsLXVzZXItcHJvZmlsZS1pbmZvK3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLjNncHAuc21zXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLjNncHAuc21zK3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLjNncHAuc3J2Y2MtZXh0K3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLjNncHAuc3J2Y2MtaW5mbyt4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC4zZ3BwLnN0YXRlLWFuZC1ldmVudC1pbmZvK3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLjNncHAudXNzZCt4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC4zZ3BwLnYyeFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC4zZ3BwLnZhZS1pbmZvK3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLjNncHAyLmJjbWNzaW5mbyt4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC4zZ3BwMi5zbXNcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuM2dwcDIudGNhcFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcInRjYXBcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC4zbGlnaHRzc29mdHdhcmUuaW1hZ2VzY2FsXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLjNtLnBvc3QtaXQtbm90ZXNcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJwd25cIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5hY2NwYWMuc2ltcGx5LmFzb1wiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImFzb1wiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmFjY3BhYy5zaW1wbHkuaW1wXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wiaW1wXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuYWNtLmFkZHJlc3N4ZmVyK2pzb25cIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5hY20uY2hhdGJvdCtqc29uXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuYWN1Y29ib2xcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJhY3VcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5hY3Vjb3JwXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wiYXRjXCIsIFwiYWN1dGNcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5hZG9iZS5haXItYXBwbGljYXRpb24taW5zdGFsbGVyLXBhY2thZ2UremlwXCI6IHtcbiAgICAgICAgc291cmNlOiBcImFwYWNoZVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IGZhbHNlLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJhaXJcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5hZG9iZS5mbGFzaC5tb3ZpZVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5hZG9iZS5mb3Jtc2NlbnRyYWwuZmNkdFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImZjZHRcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5hZG9iZS5meHBcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJmeHBcIiwgXCJmeHBsXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuYWRvYmUucGFydGlhbC11cGxvYWRcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuYWRvYmUueGRwK3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZSxcbiAgICAgICAgZXh0ZW5zaW9uczogW1wieGRwXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuYWRvYmUueGZkZlwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJhcGFjaGVcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wieGZkZlwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmFldGhlci5pbXBcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuYWZwYy5hZnBsaW5lZGF0YVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5hZnBjLmFmcGxpbmVkYXRhLXBhZ2VkZWZcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuYWZwYy5jbW9jYS1jbXJlc291cmNlXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmFmcGMuZm9jYS1jaGFyc2V0XCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmFmcGMuZm9jYS1jb2RlZGZvbnRcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuYWZwYy5mb2NhLWNvZGVwYWdlXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmFmcGMubW9kY2FcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuYWZwYy5tb2RjYS1jbXRhYmxlXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmFmcGMubW9kY2EtZm9ybWRlZlwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5hZnBjLm1vZGNhLW1lZGl1bW1hcFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5hZnBjLm1vZGNhLW9iamVjdGNvbnRhaW5lclwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5hZnBjLm1vZGNhLW92ZXJsYXlcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuYWZwYy5tb2RjYS1wYWdlc2VnbWVudFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5hZ2VcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJhZ2VcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5haC1iYXJjb2RlXCI6IHtcbiAgICAgICAgc291cmNlOiBcImFwYWNoZVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuYWhlYWQuc3BhY2VcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJhaGVhZFwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmFpcnppcC5maWxlc2VjdXJlLmF6ZlwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImF6ZlwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmFpcnppcC5maWxlc2VjdXJlLmF6c1wiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImF6c1wiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmFtYWRldXMranNvblwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmFtYXpvbi5lYm9va1wiOiB7XG4gICAgICAgIHNvdXJjZTogXCJhcGFjaGVcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wiYXp3XCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuYW1hem9uLm1vYmk4LWVib29rXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmFtZXJpY2FuZHluYW1pY3MuYWNjXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wiYWNjXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuYW1pZ2EuYW1pXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wiYW1pXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuYW11bmRzZW4ubWF6ZSt4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5hbmRyb2lkLm90YVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5hbmRyb2lkLnBhY2thZ2UtYXJjaGl2ZVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJhcGFjaGVcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiBmYWxzZSxcbiAgICAgICAgZXh0ZW5zaW9uczogW1wiYXBrXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuYW5raVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5hbnNlci13ZWItY2VydGlmaWNhdGUtaXNzdWUtaW5pdGlhdGlvblwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImNpaVwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmFuc2VyLXdlYi1mdW5kcy10cmFuc2Zlci1pbml0aWF0aW9uXCI6IHtcbiAgICAgICAgc291cmNlOiBcImFwYWNoZVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJmdGlcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5hbnRpeC5nYW1lLWNvbXBvbmVudFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImF0eFwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmFwYWNoZS5hcnJvdy5maWxlXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmFwYWNoZS5hcnJvdy5zdHJlYW1cIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuYXBhY2hlLnBhcnF1ZXRcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuYXBhY2hlLnRocmlmdC5iaW5hcnlcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuYXBhY2hlLnRocmlmdC5jb21wYWN0XCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmFwYWNoZS50aHJpZnQuanNvblwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5hcGV4bGFuZ1wiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5hcGkranNvblwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmFwbGV4dG9yLndhcnJwK2pzb25cIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5hcG90aGVrZW5kZS5yZXNlcnZhdGlvbitqc29uXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuYXBwbGUuaW5zdGFsbGVyK3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZSxcbiAgICAgICAgZXh0ZW5zaW9uczogW1wibXBrZ1wiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmFwcGxlLmtleW5vdGVcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJrZXlcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5hcHBsZS5tcGVndXJsXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wibTN1OFwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmFwcGxlLm51bWJlcnNcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJudW1iZXJzXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuYXBwbGUucGFnZXNcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJwYWdlc1wiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmFwcGxlLnBrcGFzc1wiOiB7XG4gICAgICAgIGNvbXByZXNzaWJsZTogZmFsc2UsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcInBrcGFzc1wiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmFyYXN0cmEuc3dpXCI6IHtcbiAgICAgICAgc291cmNlOiBcImFwYWNoZVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuYXJpc3RhbmV0d29ya3Muc3dpXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wic3dpXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuYXJ0aXNhbitqc29uXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuYXJ0c3F1YXJlXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmFzdHJhZWEtc29mdHdhcmUuaW90YVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImlvdGFcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5hdWRpb2dyYXBoXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wiYWVwXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuYXV0b2Rlc2suZmJ4XCI6IHtcbiAgICAgICAgZXh0ZW5zaW9uczogW1wiZmJ4XCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuYXV0b3BhY2thZ2VcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuYXZhbG9uK2pzb25cIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5hdmlzdGFyK3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmJhbHNhbWlxLmJtbWwreG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJibW1sXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuYmFsc2FtaXEuYm1wclwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5iYW5hbmEtYWNjb3VudGluZ1wiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5iYmYudXNwLmVycm9yXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmJiZi51c3AubXNnXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmJiZi51c3AubXNnK2pzb25cIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5iZWtpdHp1ci1zdGVjaCtqc29uXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuYmVsaWdodHNvZnQubGh6ZCt6aXBcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IGZhbHNlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuYmVsaWdodHNvZnQubGh6bCt6aXBcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IGZhbHNlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuYmludC5tZWQtY29udGVudFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5iaW9wYXgucmRmK3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmJsaW5rLWlkYi12YWx1ZS13cmFwcGVyXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmJsdWVpY2UubXVsdGlwYXNzXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wibXBtXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuYmx1ZXRvb3RoLmVwLm9vYlwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5ibHVldG9vdGgubGUub29iXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmJtaVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImJtaVwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmJwZlwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5icGYzXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmJ1c2luZXNzb2JqZWN0c1wiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcInJlcFwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmJ5dS51YXBpK2pzb25cIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5iemlwM1wiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5jM3ZvYy5zY2hlZHVsZSt4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5jYWItanNjcmlwdFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5jYW5vbi1jcGRsXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmNhbm9uLWxpcHNcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuY2FwYXN5c3RlbXMtcGcranNvblwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmNlbmRpby50aGlubGluYy5jbGllbnRjb25mXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmNlbnR1cnktc3lzdGVtcy50Y3Bfc3RyZWFtXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmNoZW1kcmF3K3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZSxcbiAgICAgICAgZXh0ZW5zaW9uczogW1wiY2R4bWxcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5jaGVzcy1wZ25cIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuY2hpcG51dHMua2FyYW9rZS1tbWRcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJtbWRcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5jaWVkaVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5jaW5kZXJlbGxhXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wiY2R5XCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuY2lycGFjay5pc2RuLWV4dFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5jaXRhdGlvbnN0eWxlcy5zdHlsZSt4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWUsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImNzbFwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmNsYXltb3JlXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wiY2xhXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuY2xvYW50by5ycDlcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJycDlcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5jbG9uay5jNGdyb3VwXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wiYzRnXCIsIFwiYzRkXCIsIFwiYzRmXCIsIFwiYzRwXCIsIFwiYzR1XCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuY2x1ZXRydXN0LmNhcnRvbW9iaWxlLWNvbmZpZ1wiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImMxMWFtY1wiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmNsdWV0cnVzdC5jYXJ0b21vYmlsZS1jb25maWctcGtnXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wiYzExYW16XCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuY25jZi5oZWxtLmNoYXJ0LmNvbnRlbnQudjEudGFyK2d6aXBcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuY25jZi5oZWxtLmNoYXJ0LnByb3ZlbmFuY2UudjEucHJvdlwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5jbmNmLmhlbG0uY29uZmlnLnYxK2pzb25cIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5jb2ZmZWVzY3JpcHRcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuY29sbGFiaW8ueG9kb2N1bWVudHMuZG9jdW1lbnRcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuY29sbGFiaW8ueG9kb2N1bWVudHMuZG9jdW1lbnQtdGVtcGxhdGVcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuY29sbGFiaW8ueG9kb2N1bWVudHMucHJlc2VudGF0aW9uXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmNvbGxhYmlvLnhvZG9jdW1lbnRzLnByZXNlbnRhdGlvbi10ZW1wbGF0ZVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5jb2xsYWJpby54b2RvY3VtZW50cy5zcHJlYWRzaGVldFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5jb2xsYWJpby54b2RvY3VtZW50cy5zcHJlYWRzaGVldC10ZW1wbGF0ZVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5jb2xsZWN0aW9uK2pzb25cIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5jb2xsZWN0aW9uLmRvYytqc29uXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuY29sbGVjdGlvbi5uZXh0K2pzb25cIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5jb21pY2Jvb2sremlwXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiBmYWxzZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmNvbWljYm9vay1yYXJcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuY29tbWVyY2UtYmF0dGVsbGVcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuY29tbW9uc3BhY2VcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJjc3BcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5jb250YWN0LmNtc2dcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJjZGJjbXNnXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuY29yZW9zLmlnbml0aW9uK2pzb25cIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5jb3Ntb2NhbGxlclwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImNtY1wiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmNyaWNrLmNsaWNrZXJcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJjbGt4XCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuY3JpY2suY2xpY2tlci5rZXlib2FyZFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImNsa2tcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5jcmljay5jbGlja2VyLnBhbGV0dGVcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJjbGtwXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuY3JpY2suY2xpY2tlci50ZW1wbGF0ZVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImNsa3RcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5jcmljay5jbGlja2VyLndvcmRiYW5rXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wiY2xrd1wiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmNyaXRpY2FsdG9vbHMud2JzK3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZSxcbiAgICAgICAgZXh0ZW5zaW9uczogW1wid2JzXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuY3J5cHRpaS5waXBlK2pzb25cIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5jcnlwdG8tc2hhZGUtZmlsZVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5jcnlwdG9tYXRvci5lbmNyeXB0ZWRcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuY3J5cHRvbWF0b3IudmF1bHRcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuY3RjLXBvc21sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wicG1sXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuY3RjdC53cyt4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5jdXBzLXBkZlwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5jdXBzLXBvc3RzY3JpcHRcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuY3Vwcy1wcGRcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJwcGRcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5jdXBzLXJhc3RlclwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5jdXBzLXJhd1wiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5jdXJsXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmN1cmwuY2FyXCI6IHtcbiAgICAgICAgc291cmNlOiBcImFwYWNoZVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJjYXJcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5jdXJsLnBjdXJsXCI6IHtcbiAgICAgICAgc291cmNlOiBcImFwYWNoZVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJwY3VybFwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmN5YW4uZGVhbi5yb290K3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmN5YmFua1wiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5jeWNsb25lZHgranNvblwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmN5Y2xvbmVkeCt4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5kMmwuY291cnNlcGFja2FnZTFwMCt6aXBcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IGZhbHNlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuZDNtLWRhdGFzZXRcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuZDNtLXByb2JsZW1cIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuZGFydFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZSxcbiAgICAgICAgZXh0ZW5zaW9uczogW1wiZGFydFwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmRhdGEtdmlzaW9uLnJkelwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcInJkelwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmRhdGFsb2dcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuZGF0YXBhY2thZ2UranNvblwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmRhdGFyZXNvdXJjZStqc29uXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuZGJmXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wiZGJmXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuZGNtcCt4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWUsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImRjbXBcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5kZWJpYW4uYmluYXJ5LXBhY2thZ2VcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuZGVjZS5kYXRhXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1widXZmXCIsIFwidXZ2ZlwiLCBcInV2ZFwiLCBcInV2dmRcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5kZWNlLnR0bWwreG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJ1dnRcIiwgXCJ1dnZ0XCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuZGVjZS51bnNwZWNpZmllZFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcInV2eFwiLCBcInV2dnhcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5kZWNlLnppcFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcInV2elwiLCBcInV2dnpcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5kZW5vdm8uZmNzZWxheW91dC1saW5rXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wiZmVfbGF1bmNoXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuZGVzbXVtZS5tb3ZpZVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5kaXItYmkucGxhdGUtZGwtbm9zdWZmaXhcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuZG0uZGVsZWdhdGlvbit4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5kbmFcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJkbmFcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5kb2N1bWVudCtqc29uXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuZG9sYnkubWxwXCI6IHtcbiAgICAgICAgc291cmNlOiBcImFwYWNoZVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJtbHBcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5kb2xieS5tb2JpbGUuMVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5kb2xieS5tb2JpbGUuMlwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5kb3JlbWlyLnNjb3JlY2xvdWQtYmluYXJ5LWRvY3VtZW50XCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmRwZ3JhcGhcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJkcGdcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5kcmVhbWZhY3RvcnlcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJkZmFjXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuZHJpdmUranNvblwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmRzLWtleXBvaW50XCI6IHtcbiAgICAgICAgc291cmNlOiBcImFwYWNoZVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJrcHh4XCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuZHRnLmxvY2FsXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmR0Zy5sb2NhbC5mbGFzaFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5kdGcubG9jYWwuaHRtbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5kdmIuYWl0XCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wiYWl0XCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuZHZiLmR2YmlzbCt4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5kdmIuZHZialwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5kdmIuZXNnY29udGFpbmVyXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmR2Yi5pcGRjZGZ0bm90aWZhY2Nlc3NcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuZHZiLmlwZGNlc2dhY2Nlc3NcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuZHZiLmlwZGNlc2dhY2Nlc3MyXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmR2Yi5pcGRjZXNncGRkXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmR2Yi5pcGRjcm9hbWluZ1wiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5kdmIuaXB0di5hbGZlYy1iYXNlXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmR2Yi5pcHR2LmFsZmVjLWVuaGFuY2VtZW50XCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmR2Yi5ub3RpZi1hZ2dyZWdhdGUtcm9vdCt4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5kdmIubm90aWYtY29udGFpbmVyK3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmR2Yi5ub3RpZi1nZW5lcmljK3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmR2Yi5ub3RpZi1pYS1tc2dsaXN0K3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmR2Yi5ub3RpZi1pYS1yZWdpc3RyYXRpb24tcmVxdWVzdCt4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5kdmIubm90aWYtaWEtcmVnaXN0cmF0aW9uLXJlc3BvbnNlK3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmR2Yi5ub3RpZi1pbml0K3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmR2Yi5wZnJcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuZHZiLnNlcnZpY2VcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJzdmNcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5keHJcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuZHluYWdlb1wiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImdlb1wiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmR6clwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5lYXN5a2FyYW9rZS5jZGdkb3dubG9hZFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5lY2Rpcy11cGRhdGVcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuZWNpcC5ybHBcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuZWNsaXBzZS5kaXR0bytqc29uXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuZWNvd2luLmNoYXJ0XCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wibWFnXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuZWNvd2luLmZpbGVyZXF1ZXN0XCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmVjb3dpbi5maWxldXBkYXRlXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmVjb3dpbi5zZXJpZXNcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuZWNvd2luLnNlcmllc3JlcXVlc3RcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuZWNvd2luLnNlcmllc3VwZGF0ZVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5lZmkuaW1nXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmVmaS5pc29cIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuZWxuK3ppcFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogZmFsc2VcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5lbWNsaWVudC5hY2Nlc3NyZXF1ZXN0K3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmVubGl2ZW5cIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJubWxcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5lbnBoYXNlLmVudm95XCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmVwcmludHMuZGF0YSt4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5lcHNvbi5lc2ZcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJlc2ZcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5lcHNvbi5tc2ZcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJtc2ZcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5lcHNvbi5xdWlja2FuaW1lXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wicWFtXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuZXBzb24uc2FsdFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcInNsdFwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmVwc29uLnNzZlwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcInNzZlwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmVyaWNzc29uLnF1aWNrY2FsbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5lcm9mc1wiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5lc3Bhc3MtZXNwYXNzK3ppcFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogZmFsc2VcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5lc3ppZ25vMyt4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWUsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImVzM1wiLCBcImV0M1wiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmV0c2kuYW9jK3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmV0c2kuYXNpYy1lK3ppcFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogZmFsc2VcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5ldHNpLmFzaWMtcyt6aXBcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IGZhbHNlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuZXRzaS5jdWcreG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuZXRzaS5pcHR2Y29tbWFuZCt4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5ldHNpLmlwdHZkaXNjb3ZlcnkreG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuZXRzaS5pcHR2cHJvZmlsZSt4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5ldHNpLmlwdHZzYWQtYmMreG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuZXRzaS5pcHR2c2FkLWNvZCt4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5ldHNpLmlwdHZzYWQtbnB2cit4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5ldHNpLmlwdHZzZXJ2aWNlK3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmV0c2kuaXB0dnN5bmMreG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuZXRzaS5pcHR2dWVwcm9maWxlK3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmV0c2kubWNpZCt4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5ldHNpLm1oZWc1XCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmV0c2kub3ZlcmxvYWQtY29udHJvbC1wb2xpY3ktZGF0YXNldCt4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5ldHNpLnBzdG4reG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuZXRzaS5zY2kreG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuZXRzaS5zaW1zZXJ2cyt4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5ldHNpLnRpbWVzdGFtcC10b2tlblwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5ldHNpLnRzbCt4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5ldHNpLnRzbC5kZXJcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuZXUua2FzcGFyaWFuLmNhcitqc29uXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuZXVkb3JhLmRhdGFcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuZXZvbHYuZWNpZy5wcm9maWxlXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmV2b2x2LmVjaWcuc2V0dGluZ3NcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuZXZvbHYuZWNpZy50aGVtZVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5leHN0cmVhbS1lbXBvd2VyK3ppcFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogZmFsc2VcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5leHN0cmVhbS1wYWNrYWdlXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmV6cGl4LWFsYnVtXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wiZXoyXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuZXpwaXgtcGFja2FnZVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImV6M1wiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmYtc2VjdXJlLm1vYmlsZVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5mYW1pbHlzZWFyY2guZ2VkY29tK3ppcFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogZmFsc2VcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5mYXN0Y29weS1kaXNrLWltYWdlXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmZkZlwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJhcGFjaGVcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wiZmRmXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuZmRzbi5tc2VlZFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcIm1zZWVkXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuZmRzbi5zZWVkXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wic2VlZFwiLCBcImRhdGFsZXNzXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuZmRzbi5zdGF0aW9ueG1sK3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNoYXJzZXQ6IFwiWE1MLUJBU0VEXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmZmc25zXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmZpY2xhYi5mbGIremlwXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiBmYWxzZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmZpbG1pdC56ZmNcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuZmludHNcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuZmlyZW1vbmtleXMuY2xvdWRjZWxsXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmZsb2dyYXBoaXRcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJncGhcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5mbHV4dGltZS5jbGlwXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wiZnRjXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuZm9udC1mb250Zm9yZ2Utc2ZkXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmZyYW1lbWFrZXJcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJmbVwiLCBcImZyYW1lXCIsIFwibWFrZXJcIiwgXCJib29rXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuZnJlZWxvZy5jb21pY1wiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5mcm9nYW5zLmZuY1wiOiB7XG4gICAgICAgIHNvdXJjZTogXCJhcGFjaGVcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wiZm5jXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuZnJvZ2Fucy5sdGZcIjoge1xuICAgICAgICBzb3VyY2U6IFwiYXBhY2hlXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImx0ZlwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmZzYy53ZWJsYXVuY2hcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJmc2NcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5mdWppZmlsbS5mYi5kb2N1d29ya3NcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuZnVqaWZpbG0uZmIuZG9jdXdvcmtzLmJpbmRlclwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5mdWppZmlsbS5mYi5kb2N1d29ya3MuY29udGFpbmVyXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmZ1amlmaWxtLmZiLmpmaSt4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5mdWppdHN1Lm9hc3lzXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wib2FzXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuZnVqaXRzdS5vYXN5czJcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJvYTJcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5mdWppdHN1Lm9hc3lzM1wiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcIm9hM1wiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmZ1aml0c3Uub2FzeXNncFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImZnNVwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmZ1aml0c3Uub2FzeXNwcnNcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJiaDJcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5mdWppeGVyb3guYXJ0LWV4XCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmZ1aml4ZXJveC5hcnQ0XCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmZ1aml4ZXJveC5kZGRcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJkZGRcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5mdWppeGVyb3guZG9jdXdvcmtzXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wieGR3XCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuZnVqaXhlcm94LmRvY3V3b3Jrcy5iaW5kZXJcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJ4YmRcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5mdWppeGVyb3guZG9jdXdvcmtzLmNvbnRhaW5lclwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5mdWppeGVyb3guaGJwbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5mdXQtbWlzbmV0XCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmZ1dG9pbitjYm9yXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmZ1dG9pbitqc29uXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuZnV6enlzaGVldFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImZ6c1wiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmdhNGdoLnBhc3Nwb3J0K2p3dFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5nZW5vbWF0aXgudHV4ZWRvXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1widHhkXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuZ2Vub3ppcFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5nZW50aWNzLmdyZCtqc29uXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuZ2VudG9vLmNhdG1ldGFkYXRhK3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmdlbnRvby5lYnVpbGRcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuZ2VudG9vLmVjbGFzc1wiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5nZW50b28uZ3BrZ1wiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5nZW50b28ubWFuaWZlc3RcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuZ2VudG9vLnBrZ21ldGFkYXRhK3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmdlbnRvby54cGFrXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmdlbytqc29uXCI6IHtcbiAgICAgICAgc291cmNlOiBcImFwYWNoZVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5nZW9jdWJlK3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJhcGFjaGVcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuZ2VvZ2VicmEuZmlsZVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImdnYlwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmdlb2dlYnJhLnBpbmJvYXJkXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmdlb2dlYnJhLnNsaWRlc1wiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImdnc1wiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmdlb2dlYnJhLnRvb2xcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJnZ3RcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5nZW9tZXRyeS1leHBsb3JlclwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImdleFwiLCBcImdyZVwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmdlb25leHRcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJneHRcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5nZW9wbGFuXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wiZzJ3XCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuZ2Vvc3BhY2VcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJnM3dcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5nZXJiZXJcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuZ2xvYmFscGxhdGZvcm0uY2FyZC1jb250ZW50LW1ndFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5nbG9iYWxwbGF0Zm9ybS5jYXJkLWNvbnRlbnQtbWd0LXJlc3BvbnNlXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmdteFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImdteFwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmdudS50YWxlci5leGNoYW5nZStqc29uXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuZ251LnRhbGVyLm1lcmNoYW50K2pzb25cIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5nb29nbGUtYXBwcy5hdWRpb1wiOiB7fSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmdvb2dsZS1hcHBzLmRvY3VtZW50XCI6IHtcbiAgICAgICAgY29tcHJlc3NpYmxlOiBmYWxzZSxcbiAgICAgICAgZXh0ZW5zaW9uczogW1wiZ2RvY1wiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmdvb2dsZS1hcHBzLmRyYXdpbmdcIjoge1xuICAgICAgICBjb21wcmVzc2libGU6IGZhbHNlLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJnZHJhd1wiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmdvb2dsZS1hcHBzLmRyaXZlLXNka1wiOiB7XG4gICAgICAgIGNvbXByZXNzaWJsZTogZmFsc2VcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5nb29nbGUtYXBwcy5maWxlXCI6IHt9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuZ29vZ2xlLWFwcHMuZm9sZGVyXCI6IHtcbiAgICAgICAgY29tcHJlc3NpYmxlOiBmYWxzZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmdvb2dsZS1hcHBzLmZvcm1cIjoge1xuICAgICAgICBjb21wcmVzc2libGU6IGZhbHNlLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJnZm9ybVwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmdvb2dsZS1hcHBzLmZ1c2lvbnRhYmxlXCI6IHt9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuZ29vZ2xlLWFwcHMuamFtXCI6IHtcbiAgICAgICAgY29tcHJlc3NpYmxlOiBmYWxzZSxcbiAgICAgICAgZXh0ZW5zaW9uczogW1wiZ2phbVwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmdvb2dsZS1hcHBzLm1haWwtbGF5b3V0XCI6IHt9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuZ29vZ2xlLWFwcHMubWFwXCI6IHtcbiAgICAgICAgY29tcHJlc3NpYmxlOiBmYWxzZSxcbiAgICAgICAgZXh0ZW5zaW9uczogW1wiZ21hcFwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmdvb2dsZS1hcHBzLnBob3RvXCI6IHt9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuZ29vZ2xlLWFwcHMucHJlc2VudGF0aW9uXCI6IHtcbiAgICAgICAgY29tcHJlc3NpYmxlOiBmYWxzZSxcbiAgICAgICAgZXh0ZW5zaW9uczogW1wiZ3NsaWRlc1wiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmdvb2dsZS1hcHBzLnNjcmlwdFwiOiB7XG4gICAgICAgIGNvbXByZXNzaWJsZTogZmFsc2UsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImdzY3JpcHRcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5nb29nbGUtYXBwcy5zaG9ydGN1dFwiOiB7fSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmdvb2dsZS1hcHBzLnNpdGVcIjoge1xuICAgICAgICBjb21wcmVzc2libGU6IGZhbHNlLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJnc2l0ZVwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmdvb2dsZS1hcHBzLnNwcmVhZHNoZWV0XCI6IHtcbiAgICAgICAgY29tcHJlc3NpYmxlOiBmYWxzZSxcbiAgICAgICAgZXh0ZW5zaW9uczogW1wiZ3NoZWV0XCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuZ29vZ2xlLWFwcHMudW5rbm93blwiOiB7fSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmdvb2dsZS1hcHBzLnZpZGVvXCI6IHt9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuZ29vZ2xlLWVhcnRoLmttbCt4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWUsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImttbFwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmdvb2dsZS1lYXJ0aC5rbXpcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IGZhbHNlLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJrbXpcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5nb3Yuc2suZS1mb3JtK3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJhcGFjaGVcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuZ292LnNrLmUtZm9ybSt6aXBcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IGZhbHNlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuZ292LnNrLnhtbGRhdGFjb250YWluZXIreG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJ4ZGNmXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuZ3B4c2VlLm1hcCt4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5ncmFmZXFcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJncWZcIiwgXCJncXNcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5ncmlkbXBcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuZ3Jvb3ZlLWFjY291bnRcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJnYWNcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5ncm9vdmUtaGVscFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImdoZlwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmdyb292ZS1pZGVudGl0eS1tZXNzYWdlXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wiZ2ltXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuZ3Jvb3ZlLWluamVjdG9yXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wiZ3J2XCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuZ3Jvb3ZlLXRvb2wtbWVzc2FnZVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImd0bVwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmdyb292ZS10b29sLXRlbXBsYXRlXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1widHBsXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuZ3Jvb3ZlLXZjYXJkXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1widmNnXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuaGFsK2pzb25cIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5oYWwreG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJoYWxcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5oYW5kaGVsZC1lbnRlcnRhaW5tZW50K3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZSxcbiAgICAgICAgZXh0ZW5zaW9uczogW1wiem1tXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuaGJjaVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImhiY2lcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5oYytqc29uXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuaGNsLWJpcmVwb3J0c1wiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5oZHRcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuaGVyb2t1K2pzb25cIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5oaGUubGVzc29uLXBsYXllclwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImxlc1wiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmhwLWhwZ2xcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJocGdsXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuaHAtaHBpZFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImhwaWRcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5ocC1ocHNcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJocHNcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5ocC1qbHl0XCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wiamx0XCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuaHAtcGNsXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wicGNsXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuaHAtcGNseGxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJwY2x4bFwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmhzbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5odHRwaG9uZVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5oeWRyb3N0YXRpeC5zb2YtZGF0YVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcInNmZC1oZHN0eFwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmh5cGVyK2pzb25cIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5oeXBlci1pdGVtK2pzb25cIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5oeXBlcmRyaXZlK2pzb25cIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5oem4tM2QtY3Jvc3N3b3JkXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmlibS5hZnBsaW5lZGF0YVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJhcGFjaGVcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmlibS5lbGVjdHJvbmljLW1lZGlhXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmlibS5taW5pcGF5XCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wibXB5XCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuaWJtLm1vZGNhcFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJhcGFjaGVcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wiYWZwXCIsIFwibGlzdGFmcFwiLCBcImxpc3QzODIwXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuaWJtLnJpZ2h0cy1tYW5hZ2VtZW50XCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wiaXJtXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuaWJtLnNlY3VyZS1jb250YWluZXJcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJzY1wiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmljY3Byb2ZpbGVcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJpY2NcIiwgXCJpY21cIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5pZWVlLjE5MDVcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuaWdsb2FkZXJcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJpZ2xcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5pbWFnZW1ldGVyLmZvbGRlcit6aXBcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IGZhbHNlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuaW1hZ2VtZXRlci5pbWFnZSt6aXBcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IGZhbHNlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuaW1tZXJ2aXNpb24taXZwXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wiaXZwXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuaW1tZXJ2aXNpb24taXZ1XCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wiaXZ1XCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuaW1zLmltc2NjdjFwMVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5pbXMuaW1zY2N2MXAyXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmltcy5pbXNjY3YxcDNcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuaW1zLmxpcy52Mi5yZXN1bHQranNvblwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmltcy5sdGkudjIudG9vbGNvbnN1bWVycHJvZmlsZStqc29uXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuaW1zLmx0aS52Mi50b29scHJveHkranNvblwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmltcy5sdGkudjIudG9vbHByb3h5LmlkK2pzb25cIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5pbXMubHRpLnYyLnRvb2xzZXR0aW5ncytqc29uXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuaW1zLmx0aS52Mi50b29sc2V0dGluZ3Muc2ltcGxlK2pzb25cIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5pbmZvcm1lZGNvbnRyb2wucm1zK3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmluZm9ybWl4LXZpc2lvbmFyeVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJhcGFjaGVcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmluZm90ZWNoLnByb2plY3RcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuaW5mb3RlY2gucHJvamVjdCt4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5pbm5vcGF0aC53YW1wLm5vdGlmaWNhdGlvblwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5pbnNvcnMuaWdtXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wiaWdtXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuaW50ZXJjb24uZm9ybW5ldFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcInhwd1wiLCBcInhweFwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmludGVyZ2VvXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wiaTJnXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuaW50ZXJ0cnVzdC5kaWdpYm94XCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmludGVydHJ1c3Qubm5jcFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5pbnR1LnFib1wiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcInFib1wiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmludHUucWZ4XCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wicWZ4XCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuaXBmcy5pcG5zLXJlY29yZFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5pcGxkLmNhclwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5pcGxkLmRhZy1jYm9yXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmlwbGQuZGFnLWpzb25cIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuaXBsZC5yYXdcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuaXB0Yy5nMi5jYXRhbG9naXRlbSt4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5pcHRjLmcyLmNvbmNlcHRpdGVtK3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmlwdGMuZzIua25vd2xlZGdlaXRlbSt4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5pcHRjLmcyLm5ld3NpdGVtK3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmlwdGMuZzIubmV3c21lc3NhZ2UreG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuaXB0Yy5nMi5wYWNrYWdlaXRlbSt4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5pcHRjLmcyLnBsYW5uaW5naXRlbSt4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5pcHVucGx1Z2dlZC5yY3Byb2ZpbGVcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJyY3Byb2ZpbGVcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5pcmVwb3NpdG9yeS5wYWNrYWdlK3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZSxcbiAgICAgICAgZXh0ZW5zaW9uczogW1wiaXJwXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuaXMteHByXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wieHByXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuaXNhYy5mY3NcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJmY3NcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5pc28xMTc4My0xMCt6aXBcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IGZhbHNlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuamFtXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wiamFtXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuamFwYW5uZXQtZGlyZWN0b3J5LXNlcnZpY2VcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuamFwYW5uZXQtanBuc3RvcmUtd2FrZXVwXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmphcGFubmV0LXBheW1lbnQtd2FrZXVwXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmphcGFubmV0LXJlZ2lzdHJhdGlvblwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5qYXBhbm5ldC1yZWdpc3RyYXRpb24td2FrZXVwXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmphcGFubmV0LXNldHN0b3JlLXdha2V1cFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5qYXBhbm5ldC12ZXJpZmljYXRpb25cIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuamFwYW5uZXQtdmVyaWZpY2F0aW9uLXdha2V1cFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5qY3AuamF2YW1lLm1pZGxldC1ybXNcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJybXNcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5qaXNwXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wiamlzcFwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmpvb3N0LmpvZGEtYXJjaGl2ZVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImpvZGFcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5qc2suaXNkbi1uZ25cIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQua2Fob290elwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImt0elwiLCBcImt0clwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmtkZS5rYXJib25cIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJrYXJib25cIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5rZGUua2NoYXJ0XCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wiY2hydFwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmtkZS5rZm9ybXVsYVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImtmb1wiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmtkZS5raXZpb1wiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImZsd1wiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmtkZS5rb250b3VyXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wia29uXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQua2RlLmtwcmVzZW50ZXJcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJrcHJcIiwgXCJrcHRcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5rZGUua3NwcmVhZFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImtzcFwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmtkZS5rd29yZFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImt3ZFwiLCBcImt3dFwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmtkbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5rZW5hbWVhYXBwXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wiaHRrZVwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmtleW1hbi5rbXAremlwXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiBmYWxzZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmtleW1hbi5rbXhcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQua2lkc3BpcmF0aW9uXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wia2lhXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQua2luYXJcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJrbmVcIiwgXCJrbnBcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5rb2FuXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wic2twXCIsIFwic2tkXCIsIFwic2t0XCIsIFwic2ttXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQua29kYWstZGVzY3JpcHRvclwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcInNzZVwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmxhc1wiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5sYXMubGFzK2pzb25cIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5sYXMubGFzK3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZSxcbiAgICAgICAgZXh0ZW5zaW9uczogW1wibGFzeG1sXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQubGFzemlwXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmxkZXYucHJvZHVjdGxpY2Vuc2luZ1wiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5sZWFwK2pzb25cIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5saWJlcnR5LXJlcXVlc3QreG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQubGxhbWFncmFwaGljcy5saWZlLWJhbGFuY2UuZGVza3RvcFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImxiZFwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmxsYW1hZ3JhcGhpY3MubGlmZS1iYWxhbmNlLmV4Y2hhbmdlK3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZSxcbiAgICAgICAgZXh0ZW5zaW9uczogW1wibGJlXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQubG9naXBpcGUuY2lyY3VpdCt6aXBcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IGZhbHNlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQubG9vbVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5sb3R1cy0xLTItM1wiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcIjEyM1wiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLmxvdHVzLWFwcHJvYWNoXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wiYXByXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQubG90dXMtZnJlZWxhbmNlXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wicHJlXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQubG90dXMtbm90ZXNcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJuc2ZcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5sb3R1cy1vcmdhbml6ZXJcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJvcmdcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5sb3R1cy1zY3JlZW5jYW1cIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJzY21cIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5sb3R1cy13b3JkcHJvXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wibHdwXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQubWFjcG9ydHMucG9ydHBrZ1wiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcInBvcnRwa2dcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5tYXBib3gtdmVjdG9yLXRpbGVcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJtdnRcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5tYXJsaW4uZHJtLmFjdGlvbnRva2VuK3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLm1hcmxpbi5kcm0uY29uZnRva2VuK3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLm1hcmxpbi5kcm0ubGljZW5zZSt4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5tYXJsaW4uZHJtLm1kY2ZcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQubWFzb24ranNvblwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLm1heGFyLmFyY2hpdmUuM3R6K3ppcFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogZmFsc2VcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5tYXhtaW5kLm1heG1pbmQtZGJcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQubWNkXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wibWNkXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQubWRsXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLm1kbC1tYnNkZlwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5tZWRjYWxjZGF0YVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcIm1jMVwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLm1lZGlhc3RhdGlvbi5jZGtleVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImNka2V5XCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQubWVkaWNhbGhvbG9kZWNrLnJlY29yZHhyXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLm1lcmlkaWFuLXNsaW5nc2hvdFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5tZXJtYWlkXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLm1mZXJcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJtd2ZcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5tZm1wXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wibWZtXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQubWljcm8ranNvblwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLm1pY3JvZ3JhZnguZmxvXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wiZmxvXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQubWljcm9ncmFmeC5pZ3hcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJpZ3hcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5taWNyb3NvZnQucG9ydGFibGUtZXhlY3V0YWJsZVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5taWNyb3NvZnQud2luZG93cy50aHVtYm5haWwtY2FjaGVcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQubWllbGUranNvblwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLm1pZlwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcIm1pZlwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLm1pbmlzb2Z0LWhwMzAwMC1zYXZlXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLm1pdHN1YmlzaGkubWlzdHktZ3VhcmQudHJ1c3R3ZWJcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQubW9iaXVzLmRhZlwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImRhZlwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLm1vYml1cy5kaXNcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJkaXNcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5tb2JpdXMubWJrXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wibWJrXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQubW9iaXVzLm1xeVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcIm1xeVwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLm1vYml1cy5tc2xcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJtc2xcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5tb2JpdXMucGxjXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wicGxjXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQubW9iaXVzLnR4ZlwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcInR4ZlwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLm1vZGxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQubW9waHVuLmFwcGxpY2F0aW9uXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wibXBuXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQubW9waHVuLmNlcnRpZmljYXRlXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wibXBjXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQubW90b3JvbGEuZmxleHN1aXRlXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLm1vdG9yb2xhLmZsZXhzdWl0ZS5hZHNpXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLm1vdG9yb2xhLmZsZXhzdWl0ZS5maXNcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQubW90b3JvbGEuZmxleHN1aXRlLmdvdGFwXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLm1vdG9yb2xhLmZsZXhzdWl0ZS5rbXJcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQubW90b3JvbGEuZmxleHN1aXRlLnR0Y1wiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5tb3Rvcm9sYS5mbGV4c3VpdGUud2VtXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLm1vdG9yb2xhLmlwcm1cIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQubW96aWxsYS54dWwreG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJ4dWxcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5tcy0zbWZkb2N1bWVudFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5tcy1hcnRnYWxyeVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImNpbFwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLm1zLWFzZlwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5tcy1jYWItY29tcHJlc3NlZFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImNhYlwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLm1zLWNvbG9yLmljY3Byb2ZpbGVcIjoge1xuICAgICAgICBzb3VyY2U6IFwiYXBhY2hlXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5tcy1leGNlbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogZmFsc2UsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcInhsc1wiLCBcInhsbVwiLCBcInhsYVwiLCBcInhsY1wiLCBcInhsdFwiLCBcInhsd1wiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLm1zLWV4Y2VsLmFkZGluLm1hY3JvZW5hYmxlZC4xMlwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcInhsYW1cIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5tcy1leGNlbC5zaGVldC5iaW5hcnkubWFjcm9lbmFibGVkLjEyXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wieGxzYlwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLm1zLWV4Y2VsLnNoZWV0Lm1hY3JvZW5hYmxlZC4xMlwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcInhsc21cIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5tcy1leGNlbC50ZW1wbGF0ZS5tYWNyb2VuYWJsZWQuMTJcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJ4bHRtXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQubXMtZm9udG9iamVjdFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZSxcbiAgICAgICAgZXh0ZW5zaW9uczogW1wiZW90XCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQubXMtaHRtbGhlbHBcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJjaG1cIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5tcy1pbXNcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJpbXNcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5tcy1scm1cIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJscm1cIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5tcy1vZmZpY2UuYWN0aXZleCt4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5tcy1vZmZpY2V0aGVtZVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcInRobXhcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5tcy1vcGVudHlwZVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJhcGFjaGVcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQubXMtb3V0bG9va1wiOiB7XG4gICAgICAgIGNvbXByZXNzaWJsZTogZmFsc2UsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcIm1zZ1wiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLm1zLXBhY2thZ2Uub2JmdXNjYXRlZC1vcGVudHlwZVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJhcGFjaGVcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLm1zLXBraS5zZWNjYXRcIjoge1xuICAgICAgICBzb3VyY2U6IFwiYXBhY2hlXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImNhdFwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLm1zLXBraS5zdGxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiYXBhY2hlXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcInN0bFwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLm1zLXBsYXlyZWFkeS5pbml0aWF0b3IreG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQubXMtcG93ZXJwb2ludFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogZmFsc2UsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcInBwdFwiLCBcInBwc1wiLCBcInBvdFwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLm1zLXBvd2VycG9pbnQuYWRkaW4ubWFjcm9lbmFibGVkLjEyXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wicHBhbVwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLm1zLXBvd2VycG9pbnQucHJlc2VudGF0aW9uLm1hY3JvZW5hYmxlZC4xMlwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcInBwdG1cIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5tcy1wb3dlcnBvaW50LnNsaWRlLm1hY3JvZW5hYmxlZC4xMlwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcInNsZG1cIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5tcy1wb3dlcnBvaW50LnNsaWRlc2hvdy5tYWNyb2VuYWJsZWQuMTJcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJwcHNtXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQubXMtcG93ZXJwb2ludC50ZW1wbGF0ZS5tYWNyb2VuYWJsZWQuMTJcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJwb3RtXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQubXMtcHJpbnRkZXZpY2VjYXBhYmlsaXRpZXMreG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQubXMtcHJpbnRpbmcucHJpbnR0aWNrZXQreG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImFwYWNoZVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5tcy1wcmludHNjaGVtYXRpY2tldCt4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5tcy1wcm9qZWN0XCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wibXBwXCIsIFwibXB0XCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQubXMtdG5lZlwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5tcy12aXNpby52aWV3ZXJcIjoge1xuICAgICAgICBleHRlbnNpb25zOiBbXCJ2ZHhcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5tcy13aW5kb3dzLmRldmljZXBhaXJpbmdcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQubXMtd2luZG93cy5ud3ByaW50aW5nLm9vYlwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5tcy13aW5kb3dzLnByaW50ZXJwYWlyaW5nXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLm1zLXdpbmRvd3Mud3NkLm9vYlwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5tcy13bWRybS5saWMtY2hsZy1yZXFcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQubXMtd21kcm0ubGljLXJlc3BcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQubXMtd21kcm0ubWV0ZXItY2hsZy1yZXFcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQubXMtd21kcm0ubWV0ZXItcmVzcFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5tcy13b3JkLmRvY3VtZW50Lm1hY3JvZW5hYmxlZC4xMlwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImRvY21cIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5tcy13b3JkLnRlbXBsYXRlLm1hY3JvZW5hYmxlZC4xMlwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImRvdG1cIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5tcy13b3Jrc1wiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcIndwc1wiLCBcIndrc1wiLCBcIndjbVwiLCBcIndkYlwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLm1zLXdwbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcIndwbFwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLm1zLXhwc2RvY3VtZW50XCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiBmYWxzZSxcbiAgICAgICAgZXh0ZW5zaW9uczogW1wieHBzXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQubXNhLWRpc2staW1hZ2VcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQubXNlcVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcIm1zZXFcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5tc2dwYWNrXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLm1zaWduXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLm11bHRpYWQuY3JlYXRvclwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5tdWx0aWFkLmNyZWF0b3IuY2lmXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLm11c2ljLW5pZmZcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQubXVzaWNpYW5cIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJtdXNcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5tdXZlZS5zdHlsZVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcIm1zdHlcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5teW5mY1wiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcInRhZ2xldFwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLm5hY2FtYXIueWJyaWQranNvblwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLm5hdG8uYmluZGluZ2RhdGFvYmplY3QrY2JvclwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5uYXRvLmJpbmRpbmdkYXRhb2JqZWN0K2pzb25cIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5uYXRvLmJpbmRpbmdkYXRhb2JqZWN0K3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZSxcbiAgICAgICAgZXh0ZW5zaW9uczogW1wiYmRvXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQubmF0by5vcGVueG1sZm9ybWF0cy1wYWNrYWdlLmllcGQremlwXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiBmYWxzZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLm5jZC5jb250cm9sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLm5jZC5yZWZlcmVuY2VcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQubmVhcnN0Lmluditqc29uXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQubmVidW1pbmQubGluZVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5uZXJ2YW5hXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLm5ldGZweFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5uZXVyb2xhbmd1YWdlLm5sdVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcIm5sdVwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLm5pbW5cIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQubmludGVuZG8ubml0cm8ucm9tXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLm5pbnRlbmRvLnNuZXMucm9tXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLm5pdGZcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJudGZcIiwgXCJuaXRmXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQubm9ibGVuZXQtZGlyZWN0b3J5XCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wibm5kXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQubm9ibGVuZXQtc2VhbGVyXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wibm5zXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQubm9ibGVuZXQtd2ViXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wibm53XCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQubm9raWEuY2F0YWxvZ3NcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQubm9raWEuY29ubWwrd2J4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQubm9raWEuY29ubWwreG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQubm9raWEuaXB0di5jb25maWcreG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQubm9raWEuaXNkcy1yYWRpby1wcmVzZXRzXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLm5va2lhLmxhbmRtYXJrK3dieG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLm5va2lhLmxhbmRtYXJrK3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLm5va2lhLmxhbmRtYXJrY29sbGVjdGlvbit4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5ub2tpYS5uLWdhZ2UuYWMreG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJhY1wiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLm5va2lhLm4tZ2FnZS5kYXRhXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wibmdkYXRcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5ub2tpYS5uLWdhZ2Uuc3ltYmlhbi5pbnN0YWxsXCI6IHtcbiAgICAgICAgc291cmNlOiBcImFwYWNoZVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJuLWdhZ2VcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5ub2tpYS5uY2RcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQubm9raWEucGNkK3dieG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLm5va2lhLnBjZCt4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5ub2tpYS5yYWRpby1wcmVzZXRcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJycHN0XCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQubm9raWEucmFkaW8tcHJlc2V0c1wiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcInJwc3NcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5ub3ZhZGlnbS5lZG1cIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJlZG1cIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5ub3ZhZGlnbS5lZHhcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJlZHhcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5ub3ZhZGlnbS5leHRcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJleHRcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5udHQtbG9jYWwuY29udGVudC1zaGFyZVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5udHQtbG9jYWwuZmlsZS10cmFuc2ZlclwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5udHQtbG9jYWwub2d3X3JlbW90ZS1hY2Nlc3NcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQubnR0LWxvY2FsLnNpcC10YV9yZW1vdGVcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQubnR0LWxvY2FsLnNpcC10YV90Y3Bfc3RyZWFtXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLm9haS53b3JrZmxvd3NcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQub2FpLndvcmtmbG93cytqc29uXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQub2FpLndvcmtmbG93cyt5YW1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLm9hc2lzLm9wZW5kb2N1bWVudC5iYXNlXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLm9hc2lzLm9wZW5kb2N1bWVudC5jaGFydFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcIm9kY1wiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLm9hc2lzLm9wZW5kb2N1bWVudC5jaGFydC10ZW1wbGF0ZVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcIm90Y1wiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLm9hc2lzLm9wZW5kb2N1bWVudC5kYXRhYmFzZVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJhcGFjaGVcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wib2RiXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQub2FzaXMub3BlbmRvY3VtZW50LmZvcm11bGFcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJvZGZcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5vYXNpcy5vcGVuZG9jdW1lbnQuZm9ybXVsYS10ZW1wbGF0ZVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcIm9kZnRcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5vYXNpcy5vcGVuZG9jdW1lbnQuZ3JhcGhpY3NcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IGZhbHNlLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJvZGdcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5vYXNpcy5vcGVuZG9jdW1lbnQuZ3JhcGhpY3MtdGVtcGxhdGVcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJvdGdcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5vYXNpcy5vcGVuZG9jdW1lbnQuaW1hZ2VcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJvZGlcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5vYXNpcy5vcGVuZG9jdW1lbnQuaW1hZ2UtdGVtcGxhdGVcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJvdGlcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5vYXNpcy5vcGVuZG9jdW1lbnQucHJlc2VudGF0aW9uXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiBmYWxzZSxcbiAgICAgICAgZXh0ZW5zaW9uczogW1wib2RwXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQub2FzaXMub3BlbmRvY3VtZW50LnByZXNlbnRhdGlvbi10ZW1wbGF0ZVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcIm90cFwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLm9hc2lzLm9wZW5kb2N1bWVudC5zcHJlYWRzaGVldFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogZmFsc2UsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcIm9kc1wiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLm9hc2lzLm9wZW5kb2N1bWVudC5zcHJlYWRzaGVldC10ZW1wbGF0ZVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcIm90c1wiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLm9hc2lzLm9wZW5kb2N1bWVudC50ZXh0XCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiBmYWxzZSxcbiAgICAgICAgZXh0ZW5zaW9uczogW1wib2R0XCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQub2FzaXMub3BlbmRvY3VtZW50LnRleHQtbWFzdGVyXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wib2RtXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQub2FzaXMub3BlbmRvY3VtZW50LnRleHQtbWFzdGVyLXRlbXBsYXRlXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLm9hc2lzLm9wZW5kb2N1bWVudC50ZXh0LXRlbXBsYXRlXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wib3R0XCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQub2FzaXMub3BlbmRvY3VtZW50LnRleHQtd2ViXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wib3RoXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQub2JuXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLm9jZitjYm9yXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLm9jaS5pbWFnZS5tYW5pZmVzdC52MStqc29uXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQub2Z0bi5sMTBuK2pzb25cIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5vaXBmLmNvbnRlbnRhY2Nlc3Nkb3dubG9hZCt4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5vaXBmLmNvbnRlbnRhY2Nlc3NzdHJlYW1pbmcreG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQub2lwZi5jc3BnLWhleGJpbmFyeVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5vaXBmLmRhZS5zdmcreG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQub2lwZi5kYWUueGh0bWwreG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQub2lwZi5taXBwdmNvbnRyb2xtZXNzYWdlK3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLm9pcGYucGFlLmdlbVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5vaXBmLnNwZGlzY292ZXJ5K3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLm9pcGYuc3BkbGlzdCt4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5vaXBmLnVlcHJvZmlsZSt4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5vaXBmLnVzZXJwcm9maWxlK3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLm9scGMtc3VnYXJcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJ4b1wiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLm9tYS1zY3dzLWNvbmZpZ1wiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5vbWEtc2N3cy1odHRwLXJlcXVlc3RcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQub21hLXNjd3MtaHR0cC1yZXNwb25zZVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5vbWEuYmNhc3QuYXNzb2NpYXRlZC1wcm9jZWR1cmUtcGFyYW1ldGVyK3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLm9tYS5iY2FzdC5kcm0tdHJpZ2dlcit4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiYXBhY2hlXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLm9tYS5iY2FzdC5pbWQreG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQub21hLmJjYXN0Lmx0a21cIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQub21hLmJjYXN0Lm5vdGlmaWNhdGlvbit4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5vbWEuYmNhc3QucHJvdmlzaW9uaW5ndHJpZ2dlclwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5vbWEuYmNhc3Quc2dib290XCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLm9tYS5iY2FzdC5zZ2RkK3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLm9tYS5iY2FzdC5zZ2R1XCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLm9tYS5iY2FzdC5zaW1wbGUtc3ltYm9sLWNvbnRhaW5lclwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5vbWEuYmNhc3Quc21hcnRjYXJkLXRyaWdnZXIreG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImFwYWNoZVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5vbWEuYmNhc3Quc3Byb3YreG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQub21hLmJjYXN0LnN0a21cIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQub21hLmNhYi1hZGRyZXNzLWJvb2sreG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQub21hLmNhYi1mZWF0dXJlLWhhbmRsZXIreG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQub21hLmNhYi1wY2MreG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQub21hLmNhYi1zdWJzLWludml0ZSt4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5vbWEuY2FiLXVzZXItcHJlZnMreG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQub21hLmRjZFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5vbWEuZGNkY1wiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5vbWEuZGQyK3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZSxcbiAgICAgICAgZXh0ZW5zaW9uczogW1wiZGQyXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQub21hLmRybS5yaXNkK3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLm9tYS5ncm91cC11c2FnZS1saXN0K3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLm9tYS5sd20ybStjYm9yXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLm9tYS5sd20ybStqc29uXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQub21hLmx3bTJtK3RsdlwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5vbWEucGFsK3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLm9tYS5wb2MuZGV0YWlsZWQtcHJvZ3Jlc3MtcmVwb3J0K3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLm9tYS5wb2MuZmluYWwtcmVwb3J0K3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLm9tYS5wb2MuZ3JvdXBzK3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLm9tYS5wb2MuaW52b2NhdGlvbi1kZXNjcmlwdG9yK3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLm9tYS5wb2Mub3B0aW1pemVkLXByb2dyZXNzLXJlcG9ydCt4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5vbWEucHVzaFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5vbWEuc2NpZG0ubWVzc2FnZXMreG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQub21hLnhjYXAtZGlyZWN0b3J5K3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLm9tYWRzLWVtYWlsK3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNoYXJzZXQ6IFwiVVRGLThcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQub21hZHMtZmlsZSt4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjaGFyc2V0OiBcIlVURi04XCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLm9tYWRzLWZvbGRlcit4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjaGFyc2V0OiBcIlVURi04XCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLm9tYWxvYy1zdXBsLWluaXRcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQub25lcGFnZXJcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQub25lcGFnZXJ0YW1wXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLm9uZXBhZ2VydGFteFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5vbmVwYWdlcnRhdFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5vbmVwYWdlcnRhdHBcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQub25lcGFnZXJ0YXR4XCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLm9udmlmLm1ldGFkYXRhXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLm9wZW5ibG94LmdhbWUreG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJvYmd4XCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQub3BlbmJsb3guZ2FtZS1iaW5hcnlcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQub3BlbmV5ZS5vZWJcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQub3Blbm9mZmljZW9yZy5leHRlbnNpb25cIjoge1xuICAgICAgICBzb3VyY2U6IFwiYXBhY2hlXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcIm94dFwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLm9wZW5zdHJlZXRtYXAuZGF0YSt4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWUsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcIm9zbVwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLm9wZW50aW1lc3RhbXBzLm90c1wiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5vcGVudnBpLmRzcHgranNvblwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLm9wZW54bWxmb3JtYXRzLW9mZmljZWRvY3VtZW50LmN1c3RvbS1wcm9wZXJ0aWVzK3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLm9wZW54bWxmb3JtYXRzLW9mZmljZWRvY3VtZW50LmN1c3RvbXhtbHByb3BlcnRpZXMreG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQub3BlbnhtbGZvcm1hdHMtb2ZmaWNlZG9jdW1lbnQuZHJhd2luZyt4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5vcGVueG1sZm9ybWF0cy1vZmZpY2Vkb2N1bWVudC5kcmF3aW5nbWwuY2hhcnQreG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQub3BlbnhtbGZvcm1hdHMtb2ZmaWNlZG9jdW1lbnQuZHJhd2luZ21sLmNoYXJ0c2hhcGVzK3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLm9wZW54bWxmb3JtYXRzLW9mZmljZWRvY3VtZW50LmRyYXdpbmdtbC5kaWFncmFtY29sb3JzK3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLm9wZW54bWxmb3JtYXRzLW9mZmljZWRvY3VtZW50LmRyYXdpbmdtbC5kaWFncmFtZGF0YSt4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5vcGVueG1sZm9ybWF0cy1vZmZpY2Vkb2N1bWVudC5kcmF3aW5nbWwuZGlhZ3JhbWxheW91dCt4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5vcGVueG1sZm9ybWF0cy1vZmZpY2Vkb2N1bWVudC5kcmF3aW5nbWwuZGlhZ3JhbXN0eWxlK3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLm9wZW54bWxmb3JtYXRzLW9mZmljZWRvY3VtZW50LmV4dGVuZGVkLXByb3BlcnRpZXMreG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQub3BlbnhtbGZvcm1hdHMtb2ZmaWNlZG9jdW1lbnQucHJlc2VudGF0aW9ubWwuY29tbWVudGF1dGhvcnMreG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQub3BlbnhtbGZvcm1hdHMtb2ZmaWNlZG9jdW1lbnQucHJlc2VudGF0aW9ubWwuY29tbWVudHMreG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQub3BlbnhtbGZvcm1hdHMtb2ZmaWNlZG9jdW1lbnQucHJlc2VudGF0aW9ubWwuaGFuZG91dG1hc3Rlcit4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5vcGVueG1sZm9ybWF0cy1vZmZpY2Vkb2N1bWVudC5wcmVzZW50YXRpb25tbC5ub3Rlc21hc3Rlcit4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5vcGVueG1sZm9ybWF0cy1vZmZpY2Vkb2N1bWVudC5wcmVzZW50YXRpb25tbC5ub3Rlc3NsaWRlK3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLm9wZW54bWxmb3JtYXRzLW9mZmljZWRvY3VtZW50LnByZXNlbnRhdGlvbm1sLnByZXNlbnRhdGlvblwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogZmFsc2UsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcInBwdHhcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5vcGVueG1sZm9ybWF0cy1vZmZpY2Vkb2N1bWVudC5wcmVzZW50YXRpb25tbC5wcmVzZW50YXRpb24ubWFpbit4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5vcGVueG1sZm9ybWF0cy1vZmZpY2Vkb2N1bWVudC5wcmVzZW50YXRpb25tbC5wcmVzcHJvcHMreG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQub3BlbnhtbGZvcm1hdHMtb2ZmaWNlZG9jdW1lbnQucHJlc2VudGF0aW9ubWwuc2xpZGVcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJzbGR4XCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQub3BlbnhtbGZvcm1hdHMtb2ZmaWNlZG9jdW1lbnQucHJlc2VudGF0aW9ubWwuc2xpZGUreG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQub3BlbnhtbGZvcm1hdHMtb2ZmaWNlZG9jdW1lbnQucHJlc2VudGF0aW9ubWwuc2xpZGVsYXlvdXQreG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQub3BlbnhtbGZvcm1hdHMtb2ZmaWNlZG9jdW1lbnQucHJlc2VudGF0aW9ubWwuc2xpZGVtYXN0ZXIreG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQub3BlbnhtbGZvcm1hdHMtb2ZmaWNlZG9jdW1lbnQucHJlc2VudGF0aW9ubWwuc2xpZGVzaG93XCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wicHBzeFwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLm9wZW54bWxmb3JtYXRzLW9mZmljZWRvY3VtZW50LnByZXNlbnRhdGlvbm1sLnNsaWRlc2hvdy5tYWluK3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLm9wZW54bWxmb3JtYXRzLW9mZmljZWRvY3VtZW50LnByZXNlbnRhdGlvbm1sLnNsaWRldXBkYXRlaW5mbyt4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5vcGVueG1sZm9ybWF0cy1vZmZpY2Vkb2N1bWVudC5wcmVzZW50YXRpb25tbC50YWJsZXN0eWxlcyt4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5vcGVueG1sZm9ybWF0cy1vZmZpY2Vkb2N1bWVudC5wcmVzZW50YXRpb25tbC50YWdzK3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLm9wZW54bWxmb3JtYXRzLW9mZmljZWRvY3VtZW50LnByZXNlbnRhdGlvbm1sLnRlbXBsYXRlXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wicG90eFwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLm9wZW54bWxmb3JtYXRzLW9mZmljZWRvY3VtZW50LnByZXNlbnRhdGlvbm1sLnRlbXBsYXRlLm1haW4reG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQub3BlbnhtbGZvcm1hdHMtb2ZmaWNlZG9jdW1lbnQucHJlc2VudGF0aW9ubWwudmlld3Byb3BzK3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLm9wZW54bWxmb3JtYXRzLW9mZmljZWRvY3VtZW50LnNwcmVhZHNoZWV0bWwuY2FsY2NoYWluK3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLm9wZW54bWxmb3JtYXRzLW9mZmljZWRvY3VtZW50LnNwcmVhZHNoZWV0bWwuY2hhcnRzaGVldCt4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5vcGVueG1sZm9ybWF0cy1vZmZpY2Vkb2N1bWVudC5zcHJlYWRzaGVldG1sLmNvbW1lbnRzK3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLm9wZW54bWxmb3JtYXRzLW9mZmljZWRvY3VtZW50LnNwcmVhZHNoZWV0bWwuY29ubmVjdGlvbnMreG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQub3BlbnhtbGZvcm1hdHMtb2ZmaWNlZG9jdW1lbnQuc3ByZWFkc2hlZXRtbC5kaWFsb2dzaGVldCt4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5vcGVueG1sZm9ybWF0cy1vZmZpY2Vkb2N1bWVudC5zcHJlYWRzaGVldG1sLmV4dGVybmFsbGluayt4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5vcGVueG1sZm9ybWF0cy1vZmZpY2Vkb2N1bWVudC5zcHJlYWRzaGVldG1sLnBpdm90Y2FjaGVkZWZpbml0aW9uK3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLm9wZW54bWxmb3JtYXRzLW9mZmljZWRvY3VtZW50LnNwcmVhZHNoZWV0bWwucGl2b3RjYWNoZXJlY29yZHMreG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQub3BlbnhtbGZvcm1hdHMtb2ZmaWNlZG9jdW1lbnQuc3ByZWFkc2hlZXRtbC5waXZvdHRhYmxlK3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLm9wZW54bWxmb3JtYXRzLW9mZmljZWRvY3VtZW50LnNwcmVhZHNoZWV0bWwucXVlcnl0YWJsZSt4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5vcGVueG1sZm9ybWF0cy1vZmZpY2Vkb2N1bWVudC5zcHJlYWRzaGVldG1sLnJldmlzaW9uaGVhZGVycyt4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5vcGVueG1sZm9ybWF0cy1vZmZpY2Vkb2N1bWVudC5zcHJlYWRzaGVldG1sLnJldmlzaW9ubG9nK3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLm9wZW54bWxmb3JtYXRzLW9mZmljZWRvY3VtZW50LnNwcmVhZHNoZWV0bWwuc2hhcmVkc3RyaW5ncyt4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5vcGVueG1sZm9ybWF0cy1vZmZpY2Vkb2N1bWVudC5zcHJlYWRzaGVldG1sLnNoZWV0XCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiBmYWxzZSxcbiAgICAgICAgZXh0ZW5zaW9uczogW1wieGxzeFwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLm9wZW54bWxmb3JtYXRzLW9mZmljZWRvY3VtZW50LnNwcmVhZHNoZWV0bWwuc2hlZXQubWFpbit4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5vcGVueG1sZm9ybWF0cy1vZmZpY2Vkb2N1bWVudC5zcHJlYWRzaGVldG1sLnNoZWV0bWV0YWRhdGEreG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQub3BlbnhtbGZvcm1hdHMtb2ZmaWNlZG9jdW1lbnQuc3ByZWFkc2hlZXRtbC5zdHlsZXMreG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQub3BlbnhtbGZvcm1hdHMtb2ZmaWNlZG9jdW1lbnQuc3ByZWFkc2hlZXRtbC50YWJsZSt4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5vcGVueG1sZm9ybWF0cy1vZmZpY2Vkb2N1bWVudC5zcHJlYWRzaGVldG1sLnRhYmxlc2luZ2xlY2VsbHMreG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQub3BlbnhtbGZvcm1hdHMtb2ZmaWNlZG9jdW1lbnQuc3ByZWFkc2hlZXRtbC50ZW1wbGF0ZVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcInhsdHhcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5vcGVueG1sZm9ybWF0cy1vZmZpY2Vkb2N1bWVudC5zcHJlYWRzaGVldG1sLnRlbXBsYXRlLm1haW4reG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQub3BlbnhtbGZvcm1hdHMtb2ZmaWNlZG9jdW1lbnQuc3ByZWFkc2hlZXRtbC51c2VybmFtZXMreG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQub3BlbnhtbGZvcm1hdHMtb2ZmaWNlZG9jdW1lbnQuc3ByZWFkc2hlZXRtbC52b2xhdGlsZWRlcGVuZGVuY2llcyt4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5vcGVueG1sZm9ybWF0cy1vZmZpY2Vkb2N1bWVudC5zcHJlYWRzaGVldG1sLndvcmtzaGVldCt4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5vcGVueG1sZm9ybWF0cy1vZmZpY2Vkb2N1bWVudC50aGVtZSt4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5vcGVueG1sZm9ybWF0cy1vZmZpY2Vkb2N1bWVudC50aGVtZW92ZXJyaWRlK3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLm9wZW54bWxmb3JtYXRzLW9mZmljZWRvY3VtZW50LnZtbGRyYXdpbmdcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQub3BlbnhtbGZvcm1hdHMtb2ZmaWNlZG9jdW1lbnQud29yZHByb2Nlc3NpbmdtbC5jb21tZW50cyt4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5vcGVueG1sZm9ybWF0cy1vZmZpY2Vkb2N1bWVudC53b3JkcHJvY2Vzc2luZ21sLmRvY3VtZW50XCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiBmYWxzZSxcbiAgICAgICAgZXh0ZW5zaW9uczogW1wiZG9jeFwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLm9wZW54bWxmb3JtYXRzLW9mZmljZWRvY3VtZW50LndvcmRwcm9jZXNzaW5nbWwuZG9jdW1lbnQuZ2xvc3NhcnkreG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQub3BlbnhtbGZvcm1hdHMtb2ZmaWNlZG9jdW1lbnQud29yZHByb2Nlc3NpbmdtbC5kb2N1bWVudC5tYWluK3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLm9wZW54bWxmb3JtYXRzLW9mZmljZWRvY3VtZW50LndvcmRwcm9jZXNzaW5nbWwuZW5kbm90ZXMreG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQub3BlbnhtbGZvcm1hdHMtb2ZmaWNlZG9jdW1lbnQud29yZHByb2Nlc3NpbmdtbC5mb250dGFibGUreG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQub3BlbnhtbGZvcm1hdHMtb2ZmaWNlZG9jdW1lbnQud29yZHByb2Nlc3NpbmdtbC5mb290ZXIreG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQub3BlbnhtbGZvcm1hdHMtb2ZmaWNlZG9jdW1lbnQud29yZHByb2Nlc3NpbmdtbC5mb290bm90ZXMreG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQub3BlbnhtbGZvcm1hdHMtb2ZmaWNlZG9jdW1lbnQud29yZHByb2Nlc3NpbmdtbC5udW1iZXJpbmcreG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQub3BlbnhtbGZvcm1hdHMtb2ZmaWNlZG9jdW1lbnQud29yZHByb2Nlc3NpbmdtbC5zZXR0aW5ncyt4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5vcGVueG1sZm9ybWF0cy1vZmZpY2Vkb2N1bWVudC53b3JkcHJvY2Vzc2luZ21sLnN0eWxlcyt4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5vcGVueG1sZm9ybWF0cy1vZmZpY2Vkb2N1bWVudC53b3JkcHJvY2Vzc2luZ21sLnRlbXBsYXRlXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wiZG90eFwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLm9wZW54bWxmb3JtYXRzLW9mZmljZWRvY3VtZW50LndvcmRwcm9jZXNzaW5nbWwudGVtcGxhdGUubWFpbit4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5vcGVueG1sZm9ybWF0cy1vZmZpY2Vkb2N1bWVudC53b3JkcHJvY2Vzc2luZ21sLndlYnNldHRpbmdzK3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLm9wZW54bWxmb3JtYXRzLXBhY2thZ2UuY29yZS1wcm9wZXJ0aWVzK3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLm9wZW54bWxmb3JtYXRzLXBhY2thZ2UuZGlnaXRhbC1zaWduYXR1cmUteG1sc2lnbmF0dXJlK3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLm9wZW54bWxmb3JtYXRzLXBhY2thZ2UucmVsYXRpb25zaGlwcyt4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5vcmFjbGUucmVzb3VyY2UranNvblwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLm9yYW5nZS5pbmRhdGFcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQub3NhLm5ldGRlcGxveVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5vc2dlby5tYXBndWlkZS5wYWNrYWdlXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wibWdwXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQub3NnaS5idW5kbGVcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQub3NnaS5kcFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImRwXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQub3NnaS5zdWJzeXN0ZW1cIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJlc2FcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5vdHBzLmN0LWtpcCt4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5veGxpLmNvdW50Z3JhcGhcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQucGFnZXJkdXR5K2pzb25cIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5wYWxtXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wicGRiXCIsIFwicHFhXCIsIFwib3ByY1wiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLnBhbm9wbHlcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQucGFvcy54bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQucGF0ZW50ZGl2ZVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5wYXRpZW50ZWNvbW1zZG9jXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLnBhd2FhZmlsZVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcInBhd1wiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLnBjb3NcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQucGcuZm9ybWF0XCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wic3RyXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQucGcub3Nhc2xpXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wiZWk2XCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQucGlhY2Nlc3MuYXBwbGljYXRpb24tbGljZW5jZVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5waWNzZWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJlZmlmXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQucG1pLndpZGdldFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcIndnXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQucG9jLmdyb3VwLWFkdmVydGlzZW1lbnQreG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQucG9ja2V0bGVhcm5cIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJwbGZcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5wb3dlcmJ1aWxkZXI2XCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wicGJkXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQucG93ZXJidWlsZGVyNi1zXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLnBvd2VyYnVpbGRlcjdcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQucG93ZXJidWlsZGVyNy1zXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLnBvd2VyYnVpbGRlcjc1XCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLnBvd2VyYnVpbGRlcjc1LXNcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQucHJlbWluZXRcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQucHJldmlld3N5c3RlbXMuYm94XCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wiYm94XCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQucHJvY3JhdGUuYnJ1c2hzZXRcIjoge1xuICAgICAgICBleHRlbnNpb25zOiBbXCJicnVzaHNldFwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLnByb2NyZWF0ZS5icnVzaFwiOiB7XG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImJydXNoXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQucHJvY3JlYXRlLmRyZWFtXCI6IHtcbiAgICAgICAgZXh0ZW5zaW9uczogW1wiZHJtXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQucHJvdGV1cy5tYWdhemluZVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcIm1nelwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLnBzZnNcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQucHQubXVuZHVzbXVuZGlcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQucHVibGlzaGFyZS1kZWx0YS10cmVlXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wicXBzXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQucHZpLnB0aWQxXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wicHRpZFwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLnB3Zy1tdWx0aXBsZXhlZFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5wd2cteGh0bWwtcHJpbnQreG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJ4aHRtXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQucXVhbGNvbW0uYnJldy1hcHAtcmVzXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLnF1YXJhbnRhaW5lbmV0XCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLnF1YXJrLnF1YXJreHByZXNzXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wicXhkXCIsIFwicXh0XCIsIFwicXdkXCIsIFwicXd0XCIsIFwicXhsXCIsIFwicXhiXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQucXVvYmplY3QtcXVveGRvY3VtZW50XCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLnJhZGlzeXMubW9tbCt4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5yYWRpc3lzLm1zbWwreG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQucmFkaXN5cy5tc21sLWF1ZGl0K3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLnJhZGlzeXMubXNtbC1hdWRpdC1jb25mK3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLnJhZGlzeXMubXNtbC1hdWRpdC1jb25uK3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLnJhZGlzeXMubXNtbC1hdWRpdC1kaWFsb2creG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQucmFkaXN5cy5tc21sLWF1ZGl0LXN0cmVhbSt4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5yYWRpc3lzLm1zbWwtY29uZit4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5yYWRpc3lzLm1zbWwtZGlhbG9nK3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLnJhZGlzeXMubXNtbC1kaWFsb2ctYmFzZSt4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5yYWRpc3lzLm1zbWwtZGlhbG9nLWZheC1kZXRlY3QreG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQucmFkaXN5cy5tc21sLWRpYWxvZy1mYXgtc2VuZHJlY3YreG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQucmFkaXN5cy5tc21sLWRpYWxvZy1ncm91cCt4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5yYWRpc3lzLm1zbWwtZGlhbG9nLXNwZWVjaCt4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5yYWRpc3lzLm1zbWwtZGlhbG9nLXRyYW5zZm9ybSt4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5yYWluc3Rvci5kYXRhXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLnJhcGlkXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLnJhclwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcInJhclwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLnJlYWx2bmMuYmVkXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wiYmVkXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQucmVjb3JkYXJlLm11c2ljeG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wibXhsXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQucmVjb3JkYXJlLm11c2ljeG1sK3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZSxcbiAgICAgICAgZXh0ZW5zaW9uczogW1wibXVzaWN4bWxcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5yZWxwaXBlXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLnJlbmxlYXJuLnJscHJpbnRcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQucmVzaWxpZW50LmxvZ2ljXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLnJlc3RmdWwranNvblwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLnJpZy5jcnlwdG9ub3RlXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wiY3J5cHRvbm90ZVwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLnJpbS5jb2RcIjoge1xuICAgICAgICBzb3VyY2U6IFwiYXBhY2hlXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImNvZFwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLnJuLXJlYWxtZWRpYVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJhcGFjaGVcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wicm1cIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5ybi1yZWFsbWVkaWEtdmJyXCI6IHtcbiAgICAgICAgc291cmNlOiBcImFwYWNoZVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJybXZiXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQucm91dGU2Ni5saW5rNjYreG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJsaW5rNjZcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5ycy0yNzR4XCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLnJ1Y2t1cy5kb3dubG9hZFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5zM3Ntc1wiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5zYWlsaW5ndHJhY2tlci50cmFja1wiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcInN0XCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuc2FyXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLnNibS5jaWRcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuc2JtLm1pZDJcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuc2NyaWJ1c1wiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5zZWFsZWQuM2RmXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLnNlYWxlZC5jc2ZcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuc2VhbGVkLmRvY1wiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5zZWFsZWQuZW1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLnNlYWxlZC5taHRcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuc2VhbGVkLm5ldFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5zZWFsZWQucHB0XCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLnNlYWxlZC50aWZmXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLnNlYWxlZC54bHNcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuc2VhbGVkbWVkaWEuc29mdHNlYWwuaHRtbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5zZWFsZWRtZWRpYS5zb2Z0c2VhbC5wZGZcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuc2VlbWFpbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcInNlZVwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLnNlaXMranNvblwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLnNlbWFcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJzZW1hXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuc2VtZFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcInNlbWRcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5zZW1mXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wic2VtZlwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLnNoYWRlLXNhdmUtZmlsZVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5zaGFuYS5pbmZvcm1lZC5mb3JtZGF0YVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImlmbVwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLnNoYW5hLmluZm9ybWVkLmZvcm10ZW1wbGF0ZVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcIml0cFwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLnNoYW5hLmluZm9ybWVkLmludGVyY2hhbmdlXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wiaWlmXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuc2hhbmEuaW5mb3JtZWQucGFja2FnZVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImlwa1wiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLnNob290cHJvb2YranNvblwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLnNob3BraWNrK2pzb25cIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5zaHBcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuc2h4XCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLnNpZ3Jvay5zZXNzaW9uXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLnNpbXRlY2gtbWluZG1hcHBlclwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcInR3ZFwiLCBcInR3ZHNcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5zaXJlbitqc29uXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuc2tldGNob21ldHJ5XCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLnNtYWZcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJtbWZcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5zbWFydC5ub3RlYm9va1wiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5zbWFydC50ZWFjaGVyXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1widGVhY2hlclwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLnNtaW50aW8ucG9ydGFscy5hcmNoaXZlXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLnNuZXNkZXYtcGFnZS10YWJsZVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5zb2Z0d2FyZTYwMi5maWxsZXIuZm9ybSt4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWUsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImZvXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuc29mdHdhcmU2MDIuZmlsbGVyLmZvcm0teG1sLXppcFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5zb2xlbnQuc2RrbSt4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWUsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcInNka21cIiwgXCJzZGtkXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuc3BvdGZpcmUuZHhwXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wiZHhwXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuc3BvdGZpcmUuc2ZzXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wic2ZzXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuc3FsaXRlM1wiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5zc3MtY29kXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLnNzcy1kdGZcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuc3NzLW50ZlwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5zdGFyZGl2aXNpb24uY2FsY1wiOiB7XG4gICAgICAgIHNvdXJjZTogXCJhcGFjaGVcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wic2RjXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuc3RhcmRpdmlzaW9uLmRyYXdcIjoge1xuICAgICAgICBzb3VyY2U6IFwiYXBhY2hlXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcInNkYVwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLnN0YXJkaXZpc2lvbi5pbXByZXNzXCI6IHtcbiAgICAgICAgc291cmNlOiBcImFwYWNoZVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJzZGRcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5zdGFyZGl2aXNpb24ubWF0aFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJhcGFjaGVcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wic21mXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuc3RhcmRpdmlzaW9uLndyaXRlclwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJhcGFjaGVcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wic2R3XCIsIFwidm9yXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuc3RhcmRpdmlzaW9uLndyaXRlci1nbG9iYWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiYXBhY2hlXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcInNnbFwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLnN0ZXBtYW5pYS5wYWNrYWdlXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wic216aXBcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5zdGVwbWFuaWEuc3RlcGNoYXJ0XCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wic21cIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5zdHJlZXQtc3RyZWFtXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLnN1bi53YWRsK3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZSxcbiAgICAgICAgZXh0ZW5zaW9uczogW1wid2FkbFwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLnN1bi54bWwuY2FsY1wiOiB7XG4gICAgICAgIHNvdXJjZTogXCJhcGFjaGVcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wic3hjXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuc3VuLnhtbC5jYWxjLnRlbXBsYXRlXCI6IHtcbiAgICAgICAgc291cmNlOiBcImFwYWNoZVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJzdGNcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5zdW4ueG1sLmRyYXdcIjoge1xuICAgICAgICBzb3VyY2U6IFwiYXBhY2hlXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcInN4ZFwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLnN1bi54bWwuZHJhdy50ZW1wbGF0ZVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJhcGFjaGVcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wic3RkXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuc3VuLnhtbC5pbXByZXNzXCI6IHtcbiAgICAgICAgc291cmNlOiBcImFwYWNoZVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJzeGlcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5zdW4ueG1sLmltcHJlc3MudGVtcGxhdGVcIjoge1xuICAgICAgICBzb3VyY2U6IFwiYXBhY2hlXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcInN0aVwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLnN1bi54bWwubWF0aFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJhcGFjaGVcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wic3htXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuc3VuLnhtbC53cml0ZXJcIjoge1xuICAgICAgICBzb3VyY2U6IFwiYXBhY2hlXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcInN4d1wiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLnN1bi54bWwud3JpdGVyLmdsb2JhbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJhcGFjaGVcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wic3hnXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuc3VuLnhtbC53cml0ZXIudGVtcGxhdGVcIjoge1xuICAgICAgICBzb3VyY2U6IFwiYXBhY2hlXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcInN0d1wiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLnN1cy1jYWxlbmRhclwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcInN1c1wiLCBcInN1c3BcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5zdmRcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJzdmRcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5zd2lmdHZpZXctaWNzXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLnN5YnlsLm1vbDJcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuc3ljbGUreG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuc3lmdCtqc29uXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuc3ltYmlhbi5pbnN0YWxsXCI6IHtcbiAgICAgICAgc291cmNlOiBcImFwYWNoZVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJzaXNcIiwgXCJzaXN4XCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuc3luY21sK3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNoYXJzZXQ6IFwiVVRGLThcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJ4c21cIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5zeW5jbWwuZG0rd2J4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjaGFyc2V0OiBcIlVURi04XCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImJkbVwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLnN5bmNtbC5kbSt4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjaGFyc2V0OiBcIlVURi04XCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZSxcbiAgICAgICAgZXh0ZW5zaW9uczogW1wieGRtXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuc3luY21sLmRtLm5vdGlmaWNhdGlvblwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5zeW5jbWwuZG1kZGYrd2J4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuc3luY21sLmRtZGRmK3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNoYXJzZXQ6IFwiVVRGLThcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJkZGZcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5zeW5jbWwuZG10bmRzK3dieG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLnN5bmNtbC5kbXRuZHMreG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY2hhcnNldDogXCJVVEYtOFwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC5zeW5jbWwuZHMubm90aWZpY2F0aW9uXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLnRhYmxlc2NoZW1hK2pzb25cIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC50YW8uaW50ZW50LW1vZHVsZS1hcmNoaXZlXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1widGFvXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQudGNwZHVtcC5wY2FwXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wicGNhcFwiLCBcImNhcFwiLCBcImRtcFwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLnRoaW5rLWNlbGwucHB0dGMranNvblwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLnRtZC5tZWRpYWZsZXguYXBpK3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLnRtbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC50bW9iaWxlLWxpdmV0dlwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcInRtb1wiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLnRyaS5vbmVzb3VyY2VcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQudHJpZC50cHRcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJ0cHRcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC50cmlzY2FwZS5teHNcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJteHNcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC50cnVlYXBwXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1widHJhXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQudHJ1ZWRvY1wiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC51Ymlzb2Z0LndlYnBsYXllclwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC51ZmRsXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1widWZkXCIsIFwidWZkbFwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLnVpYy5vc2RtK2pzb25cIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC51aXEudGhlbWVcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJ1dHpcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC51bWFqaW5cIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJ1bWpcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC51bml0eVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcInVuaXR5d2ViXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQudW9tbCt4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWUsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcInVvbWxcIiwgXCJ1b1wiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLnVwbGFuZXQuYWxlcnRcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQudXBsYW5ldC5hbGVydC13YnhtbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC51cGxhbmV0LmJlYXJlci1jaG9pY2VcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQudXBsYW5ldC5iZWFyZXItY2hvaWNlLXdieG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLnVwbGFuZXQuY2FjaGVvcFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC51cGxhbmV0LmNhY2hlb3Atd2J4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQudXBsYW5ldC5jaGFubmVsXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLnVwbGFuZXQuY2hhbm5lbC13YnhtbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC51cGxhbmV0Lmxpc3RcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQudXBsYW5ldC5saXN0LXdieG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLnVwbGFuZXQubGlzdGNtZFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC51cGxhbmV0Lmxpc3RjbWQtd2J4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQudXBsYW5ldC5zaWduYWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQudXJpLW1hcFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC52YWx2ZS5zb3VyY2UubWF0ZXJpYWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQudmN4XCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1widmN4XCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQudmQtc3R1ZHlcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQudmVjdG9yd29ya3NcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQudmVsK2pzb25cIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC52ZXJhaXNvbi50c20tcmVwb3J0K2Nib3JcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQudmVyYWlzb24udHNtLXJlcG9ydCtqc29uXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQudmVyaW1hdHJpeC52Y2FzXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLnZlcml0b25lLmFpb24ranNvblwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLnZlcnlhbnQudGhpblwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC52ZXMuZW5jcnlwdGVkXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLnZpZHNvZnQudmlkY29uZmVyZW5jZVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC52aXNpb1wiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcInZzZFwiLCBcInZzdFwiLCBcInZzc1wiLCBcInZzd1wiLCBcInZzZHhcIiwgXCJ2dHhcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC52aXNpb25hcnlcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJ2aXNcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC52aXZpZGVuY2Uuc2NyaXB0ZmlsZVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC52b2NhbHNoYXBlci52c3A0XCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLnZzZlwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcInZzZlwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLndhcC5zaWNcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQud2FwLnNsY1wiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC53YXAud2J4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjaGFyc2V0OiBcIlVURi04XCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcIndieG1sXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQud2FwLndtbGNcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJ3bWxjXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQud2FwLndtbHNjcmlwdGNcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJ3bWxzY1wiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLndhc21mbG93LndhZmxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQud2VidHVyYm9cIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJ3dGJcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC53ZmEuZHBwXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLndmYS5wMnBcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQud2ZhLndzY1wiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC53aW5kb3dzLmRldmljZXBhaXJpbmdcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQud21jXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLndtZi5ib290c3RyYXBcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQud29sZnJhbS5tYXRoZW1hdGljYVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC53b2xmcmFtLm1hdGhlbWF0aWNhLnBhY2thZ2VcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQud29sZnJhbS5wbGF5ZXJcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJuYnBcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC53b3JkbGlmdFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC53b3JkcGVyZmVjdFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcIndwZFwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLndxZFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcIndxZFwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLndycS1ocDMwMDAtbGFiZWxsZWRcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQud3Quc3RmXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wic3RmXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQud3YuY3NwK3dieG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLnd2LmNzcCt4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC53di5zc3AreG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQueGFjbWwranNvblwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLnhhcmFcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJ4YXJcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC54YXJpbi5jcGpcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQueGVjcmV0cy1lbmNyeXB0ZWRcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQueGZkbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcInhmZGxcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC54ZmRsLndlYmZvcm1cIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQueG1pK3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLnhtcGllLmNwa2dcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQueG1waWUuZHBrZ1wiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC54bXBpZS5wbGFuXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLnhtcGllLnBwa2dcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQueG1waWUueGxpbVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC55YW1haGEuaHYtZGljXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wiaHZkXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQueWFtYWhhLmh2LXNjcmlwdFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImh2c1wiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLnlhbWFoYS5odi12b2ljZVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImh2cFwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLnlhbWFoYS5vcGVuc2NvcmVmb3JtYXRcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJvc2ZcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC55YW1haGEub3BlbnNjb3JlZm9ybWF0Lm9zZnB2Zyt4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWUsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcIm9zZnB2Z1wiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLnlhbWFoYS5yZW1vdGUtc2V0dXBcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQueWFtYWhhLnNtYWYtYXVkaW9cIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJzYWZcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC55YW1haGEuc21hZi1waHJhc2VcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJzcGZcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC55YW1haGEudGhyb3VnaC1uZ25cIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQueWFtYWhhLnR1bm5lbC11ZHBlbmNhcFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZuZC55YW93ZW1lXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLnllbGxvd3JpdmVyLWN1c3RvbS1tZW51XCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wiY21wXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92bmQuenVsXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wiemlyXCIsIFwiemlyelwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm5kLnp6YXp6LmRlY2sreG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJ6YXpcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ZvaWNleG1sK3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZSxcbiAgICAgICAgZXh0ZW5zaW9uczogW1widnhtbFwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm91Y2hlci1jbXMranNvblwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdm91Y2hlci1qd3MranNvblwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdnBcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi92cCtjb3NlXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdnArand0XCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vdnEtcnRjcHhyXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vd2FzbVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZSxcbiAgICAgICAgZXh0ZW5zaW9uczogW1wid2FzbVwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vd2F0Y2hlcmluZm8reG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJ3aWZcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3dlYnB1c2gtb3B0aW9ucytqc29uXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi93aG9pc3BwLXF1ZXJ5XCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vd2hvaXNwcC1yZXNwb25zZVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3dpZGdldFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcIndndFwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24vd2luaGxwXCI6IHtcbiAgICAgICAgc291cmNlOiBcImFwYWNoZVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJobHBcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3dpdGFcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi93b3JkcGVyZmVjdDUuMVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3dzZGwreG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJ3c2RsXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi93c3BvbGljeSt4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWUsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcIndzcG9saWN5XCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi94LTd6LWNvbXByZXNzZWRcIjoge1xuICAgICAgICBzb3VyY2U6IFwiYXBhY2hlXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogZmFsc2UsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcIjd6XCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi94LWFiaXdvcmRcIjoge1xuICAgICAgICBzb3VyY2U6IFwiYXBhY2hlXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImFid1wiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24veC1hY2UtY29tcHJlc3NlZFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJhcGFjaGVcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wiYWNlXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi94LWFtZlwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJhcGFjaGVcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24veC1hcHBsZS1kaXNraW1hZ2VcIjoge1xuICAgICAgICBzb3VyY2U6IFwiYXBhY2hlXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImRtZ1wiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24veC1hcmpcIjoge1xuICAgICAgICBjb21wcmVzc2libGU6IGZhbHNlLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJhcmpcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3gtYXV0aG9yd2FyZS1iaW5cIjoge1xuICAgICAgICBzb3VyY2U6IFwiYXBhY2hlXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImFhYlwiLCBcIngzMlwiLCBcInUzMlwiLCBcInZveFwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24veC1hdXRob3J3YXJlLW1hcFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJhcGFjaGVcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wiYWFtXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi94LWF1dGhvcndhcmUtc2VnXCI6IHtcbiAgICAgICAgc291cmNlOiBcImFwYWNoZVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJhYXNcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3gtYmNwaW9cIjoge1xuICAgICAgICBzb3VyY2U6IFwiYXBhY2hlXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImJjcGlvXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi94LWJkb2NcIjoge1xuICAgICAgICBjb21wcmVzc2libGU6IGZhbHNlLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJiZG9jXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi94LWJpdHRvcnJlbnRcIjoge1xuICAgICAgICBzb3VyY2U6IFwiYXBhY2hlXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcInRvcnJlbnRcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3gtYmxlbmRlclwiOiB7XG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImJsZW5kXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi94LWJsb3JiXCI6IHtcbiAgICAgICAgc291cmNlOiBcImFwYWNoZVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJibGJcIiwgXCJibG9yYlwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24veC1iemlwXCI6IHtcbiAgICAgICAgc291cmNlOiBcImFwYWNoZVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IGZhbHNlLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJielwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24veC1iemlwMlwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJhcGFjaGVcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiBmYWxzZSxcbiAgICAgICAgZXh0ZW5zaW9uczogW1wiYnoyXCIsIFwiYm96XCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi94LWNiclwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJhcGFjaGVcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wiY2JyXCIsIFwiY2JhXCIsIFwiY2J0XCIsIFwiY2J6XCIsIFwiY2I3XCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi94LWNkbGlua1wiOiB7XG4gICAgICAgIHNvdXJjZTogXCJhcGFjaGVcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1widmNkXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi94LWNmcy1jb21wcmVzc2VkXCI6IHtcbiAgICAgICAgc291cmNlOiBcImFwYWNoZVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJjZnNcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3gtY2hhdFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJhcGFjaGVcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wiY2hhdFwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24veC1jaGVzcy1wZ25cIjoge1xuICAgICAgICBzb3VyY2U6IFwiYXBhY2hlXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcInBnblwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24veC1jaHJvbWUtZXh0ZW5zaW9uXCI6IHtcbiAgICAgICAgZXh0ZW5zaW9uczogW1wiY3J4XCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi94LWNvY29hXCI6IHtcbiAgICAgICAgc291cmNlOiBcIm5naW54XCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImNjb1wiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24veC1jb21wcmVzc1wiOiB7XG4gICAgICAgIHNvdXJjZTogXCJhcGFjaGVcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24veC1jb21wcmVzc2VkXCI6IHtcbiAgICAgICAgZXh0ZW5zaW9uczogW1wicmFyXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi94LWNvbmZlcmVuY2VcIjoge1xuICAgICAgICBzb3VyY2U6IFwiYXBhY2hlXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcIm5zY1wiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24veC1jcGlvXCI6IHtcbiAgICAgICAgc291cmNlOiBcImFwYWNoZVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJjcGlvXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi94LWNzaFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJhcGFjaGVcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wiY3NoXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi94LWRlYlwiOiB7XG4gICAgICAgIGNvbXByZXNzaWJsZTogZmFsc2VcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3gtZGViaWFuLXBhY2thZ2VcIjoge1xuICAgICAgICBzb3VyY2U6IFwiYXBhY2hlXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImRlYlwiLCBcInVkZWJcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3gtZGdjLWNvbXByZXNzZWRcIjoge1xuICAgICAgICBzb3VyY2U6IFwiYXBhY2hlXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImRnY1wiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24veC1kaXJlY3RvclwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJhcGFjaGVcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wiZGlyXCIsIFwiZGNyXCIsIFwiZHhyXCIsIFwiY3N0XCIsIFwiY2N0XCIsIFwiY3h0XCIsIFwidzNkXCIsIFwiZmdkXCIsIFwic3dhXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi94LWRvb21cIjoge1xuICAgICAgICBzb3VyY2U6IFwiYXBhY2hlXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcIndhZFwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24veC1kdGJuY3greG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImFwYWNoZVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWUsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcIm5jeFwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24veC1kdGJvb2sreG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImFwYWNoZVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWUsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImR0YlwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24veC1kdGJyZXNvdXJjZSt4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiYXBhY2hlXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZSxcbiAgICAgICAgZXh0ZW5zaW9uczogW1wicmVzXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi94LWR2aVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJhcGFjaGVcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiBmYWxzZSxcbiAgICAgICAgZXh0ZW5zaW9uczogW1wiZHZpXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi94LWVudm95XCI6IHtcbiAgICAgICAgc291cmNlOiBcImFwYWNoZVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJldnlcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3gtZXZhXCI6IHtcbiAgICAgICAgc291cmNlOiBcImFwYWNoZVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJldmFcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3gtZm9udC1iZGZcIjoge1xuICAgICAgICBzb3VyY2U6IFwiYXBhY2hlXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImJkZlwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24veC1mb250LWRvc1wiOiB7XG4gICAgICAgIHNvdXJjZTogXCJhcGFjaGVcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24veC1mb250LWZyYW1lbWFrZXJcIjoge1xuICAgICAgICBzb3VyY2U6IFwiYXBhY2hlXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3gtZm9udC1naG9zdHNjcmlwdFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJhcGFjaGVcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wiZ3NmXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi94LWZvbnQtbGliZ3J4XCI6IHtcbiAgICAgICAgc291cmNlOiBcImFwYWNoZVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi94LWZvbnQtbGludXgtcHNmXCI6IHtcbiAgICAgICAgc291cmNlOiBcImFwYWNoZVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJwc2ZcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3gtZm9udC1wY2ZcIjoge1xuICAgICAgICBzb3VyY2U6IFwiYXBhY2hlXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcInBjZlwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24veC1mb250LXNuZlwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJhcGFjaGVcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wic25mXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi94LWZvbnQtc3BlZWRvXCI6IHtcbiAgICAgICAgc291cmNlOiBcImFwYWNoZVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi94LWZvbnQtc3Vub3MtbmV3c1wiOiB7XG4gICAgICAgIHNvdXJjZTogXCJhcGFjaGVcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24veC1mb250LXR5cGUxXCI6IHtcbiAgICAgICAgc291cmNlOiBcImFwYWNoZVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJwZmFcIiwgXCJwZmJcIiwgXCJwZm1cIiwgXCJhZm1cIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3gtZm9udC12Zm9udFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJhcGFjaGVcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24veC1mcmVlYXJjXCI6IHtcbiAgICAgICAgc291cmNlOiBcImFwYWNoZVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJhcmNcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3gtZnV0dXJlc3BsYXNoXCI6IHtcbiAgICAgICAgc291cmNlOiBcImFwYWNoZVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJzcGxcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3gtZ2NhLWNvbXByZXNzZWRcIjoge1xuICAgICAgICBzb3VyY2U6IFwiYXBhY2hlXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImdjYVwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24veC1nbHVseFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJhcGFjaGVcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1widWx4XCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi94LWdudW1lcmljXCI6IHtcbiAgICAgICAgc291cmNlOiBcImFwYWNoZVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJnbnVtZXJpY1wiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24veC1ncmFtcHMteG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImFwYWNoZVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJncmFtcHNcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3gtZ3RhclwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJhcGFjaGVcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wiZ3RhclwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24veC1nemlwXCI6IHtcbiAgICAgICAgc291cmNlOiBcImFwYWNoZVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi94LWhkZlwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJhcGFjaGVcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wiaGRmXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi94LWh0dHBkLXBocFwiOiB7XG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZSxcbiAgICAgICAgZXh0ZW5zaW9uczogW1wicGhwXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi94LWluc3RhbGwtaW5zdHJ1Y3Rpb25zXCI6IHtcbiAgICAgICAgc291cmNlOiBcImFwYWNoZVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJpbnN0YWxsXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi94LWlweW5iK2pzb25cIjoge1xuICAgICAgICBjb21wcmVzc2libGU6IHRydWUsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImlweW5iXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi94LWlzbzk2NjAtaW1hZ2VcIjoge1xuICAgICAgICBzb3VyY2U6IFwiYXBhY2hlXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImlzb1wiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24veC1pd29yay1rZXlub3RlLXNmZmtleVwiOiB7XG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImtleVwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24veC1pd29yay1udW1iZXJzLXNmZm51bWJlcnNcIjoge1xuICAgICAgICBleHRlbnNpb25zOiBbXCJudW1iZXJzXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi94LWl3b3JrLXBhZ2VzLXNmZnBhZ2VzXCI6IHtcbiAgICAgICAgZXh0ZW5zaW9uczogW1wicGFnZXNcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3gtamF2YS1hcmNoaXZlLWRpZmZcIjoge1xuICAgICAgICBzb3VyY2U6IFwibmdpbnhcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wiamFyZGlmZlwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24veC1qYXZhLWpubHAtZmlsZVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJhcGFjaGVcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiBmYWxzZSxcbiAgICAgICAgZXh0ZW5zaW9uczogW1wiam5scFwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24veC1qYXZhc2NyaXB0XCI6IHtcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi94LWtlZXBhc3MyXCI6IHtcbiAgICAgICAgZXh0ZW5zaW9uczogW1wia2RieFwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24veC1sYXRleFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJhcGFjaGVcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiBmYWxzZSxcbiAgICAgICAgZXh0ZW5zaW9uczogW1wibGF0ZXhcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3gtbHVhLWJ5dGVjb2RlXCI6IHtcbiAgICAgICAgZXh0ZW5zaW9uczogW1wibHVhY1wiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24veC1semgtY29tcHJlc3NlZFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJhcGFjaGVcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wibHpoXCIsIFwibGhhXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi94LW1ha2VzZWxmXCI6IHtcbiAgICAgICAgc291cmNlOiBcIm5naW54XCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcInJ1blwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24veC1taWVcIjoge1xuICAgICAgICBzb3VyY2U6IFwiYXBhY2hlXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcIm1pZVwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24veC1tb2JpcG9ja2V0LWVib29rXCI6IHtcbiAgICAgICAgc291cmNlOiBcImFwYWNoZVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJwcmNcIiwgXCJtb2JpXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi94LW1wZWd1cmxcIjoge1xuICAgICAgICBjb21wcmVzc2libGU6IGZhbHNlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi94LW1zLWFwcGxpY2F0aW9uXCI6IHtcbiAgICAgICAgc291cmNlOiBcImFwYWNoZVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJhcHBsaWNhdGlvblwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24veC1tcy1zaG9ydGN1dFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJhcGFjaGVcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wibG5rXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi94LW1zLXdtZFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJhcGFjaGVcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wid21kXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi94LW1zLXdtelwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJhcGFjaGVcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wid216XCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi94LW1zLXhiYXBcIjoge1xuICAgICAgICBzb3VyY2U6IFwiYXBhY2hlXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcInhiYXBcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3gtbXNhY2Nlc3NcIjoge1xuICAgICAgICBzb3VyY2U6IFwiYXBhY2hlXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcIm1kYlwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24veC1tc2JpbmRlclwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJhcGFjaGVcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wib2JkXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi94LW1zY2FyZGZpbGVcIjoge1xuICAgICAgICBzb3VyY2U6IFwiYXBhY2hlXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImNyZFwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24veC1tc2NsaXBcIjoge1xuICAgICAgICBzb3VyY2U6IFwiYXBhY2hlXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImNscFwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24veC1tc2Rvcy1wcm9ncmFtXCI6IHtcbiAgICAgICAgZXh0ZW5zaW9uczogW1wiZXhlXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi94LW1zZG93bmxvYWRcIjoge1xuICAgICAgICBzb3VyY2U6IFwiYXBhY2hlXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImV4ZVwiLCBcImRsbFwiLCBcImNvbVwiLCBcImJhdFwiLCBcIm1zaVwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24veC1tc21lZGlhdmlld1wiOiB7XG4gICAgICAgIHNvdXJjZTogXCJhcGFjaGVcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wibXZiXCIsIFwibTEzXCIsIFwibTE0XCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi94LW1zbWV0YWZpbGVcIjoge1xuICAgICAgICBzb3VyY2U6IFwiYXBhY2hlXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcIndtZlwiLCBcIndtelwiLCBcImVtZlwiLCBcImVtelwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24veC1tc21vbmV5XCI6IHtcbiAgICAgICAgc291cmNlOiBcImFwYWNoZVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJtbnlcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3gtbXNwdWJsaXNoZXJcIjoge1xuICAgICAgICBzb3VyY2U6IFwiYXBhY2hlXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcInB1YlwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24veC1tc3NjaGVkdWxlXCI6IHtcbiAgICAgICAgc291cmNlOiBcImFwYWNoZVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJzY2RcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3gtbXN0ZXJtaW5hbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJhcGFjaGVcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1widHJtXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi94LW1zd3JpdGVcIjoge1xuICAgICAgICBzb3VyY2U6IFwiYXBhY2hlXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcIndyaVwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24veC1uZXRjZGZcIjoge1xuICAgICAgICBzb3VyY2U6IFwiYXBhY2hlXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcIm5jXCIsIFwiY2RmXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi94LW5zLXByb3h5LWF1dG9jb25maWdcIjoge1xuICAgICAgICBjb21wcmVzc2libGU6IHRydWUsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcInBhY1wiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24veC1uemJcIjoge1xuICAgICAgICBzb3VyY2U6IFwiYXBhY2hlXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcIm56YlwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24veC1wZXJsXCI6IHtcbiAgICAgICAgc291cmNlOiBcIm5naW54XCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcInBsXCIsIFwicG1cIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3gtcGlsb3RcIjoge1xuICAgICAgICBzb3VyY2U6IFwibmdpbnhcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wicHJjXCIsIFwicGRiXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi94LXBrY3MxMlwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJhcGFjaGVcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiBmYWxzZSxcbiAgICAgICAgZXh0ZW5zaW9uczogW1wicDEyXCIsIFwicGZ4XCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi94LXBrY3M3LWNlcnRpZmljYXRlc1wiOiB7XG4gICAgICAgIHNvdXJjZTogXCJhcGFjaGVcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wicDdiXCIsIFwic3BjXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi94LXBrY3M3LWNlcnRyZXFyZXNwXCI6IHtcbiAgICAgICAgc291cmNlOiBcImFwYWNoZVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJwN3JcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3gtcGtpLW1lc3NhZ2VcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi94LXJhci1jb21wcmVzc2VkXCI6IHtcbiAgICAgICAgc291cmNlOiBcImFwYWNoZVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IGZhbHNlLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJyYXJcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3gtcmVkaGF0LXBhY2thZ2UtbWFuYWdlclwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJuZ2lueFwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJycG1cIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3gtcmVzZWFyY2gtaW5mby1zeXN0ZW1zXCI6IHtcbiAgICAgICAgc291cmNlOiBcImFwYWNoZVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJyaXNcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3gtc2VhXCI6IHtcbiAgICAgICAgc291cmNlOiBcIm5naW54XCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcInNlYVwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24veC1zaFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJhcGFjaGVcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJzaFwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24veC1zaGFyXCI6IHtcbiAgICAgICAgc291cmNlOiBcImFwYWNoZVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJzaGFyXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi94LXNob2Nrd2F2ZS1mbGFzaFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJhcGFjaGVcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiBmYWxzZSxcbiAgICAgICAgZXh0ZW5zaW9uczogW1wic3dmXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi94LXNpbHZlcmxpZ2h0LWFwcFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJhcGFjaGVcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wieGFwXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi94LXNxbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJhcGFjaGVcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wic3FsXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi94LXN0dWZmaXRcIjoge1xuICAgICAgICBzb3VyY2U6IFwiYXBhY2hlXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogZmFsc2UsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcInNpdFwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24veC1zdHVmZml0eFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJhcGFjaGVcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wic2l0eFwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24veC1zdWJyaXBcIjoge1xuICAgICAgICBzb3VyY2U6IFwiYXBhY2hlXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcInNydFwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24veC1zdjRjcGlvXCI6IHtcbiAgICAgICAgc291cmNlOiBcImFwYWNoZVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJzdjRjcGlvXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi94LXN2NGNyY1wiOiB7XG4gICAgICAgIHNvdXJjZTogXCJhcGFjaGVcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wic3Y0Y3JjXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi94LXQzdm0taW1hZ2VcIjoge1xuICAgICAgICBzb3VyY2U6IFwiYXBhY2hlXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcInQzXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi94LXRhZHNcIjoge1xuICAgICAgICBzb3VyY2U6IFwiYXBhY2hlXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImdhbVwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24veC10YXJcIjoge1xuICAgICAgICBzb3VyY2U6IFwiYXBhY2hlXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZSxcbiAgICAgICAgZXh0ZW5zaW9uczogW1widGFyXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi94LXRjbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJhcGFjaGVcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1widGNsXCIsIFwidGtcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3gtdGV4XCI6IHtcbiAgICAgICAgc291cmNlOiBcImFwYWNoZVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJ0ZXhcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3gtdGV4LXRmbVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJhcGFjaGVcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1widGZtXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi94LXRleGluZm9cIjoge1xuICAgICAgICBzb3VyY2U6IFwiYXBhY2hlXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcInRleGluZm9cIiwgXCJ0ZXhpXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi94LXRnaWZcIjoge1xuICAgICAgICBzb3VyY2U6IFwiYXBhY2hlXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcIm9ialwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24veC11c3RhclwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJhcGFjaGVcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1widXN0YXJcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3gtdmlydHVhbGJveC1oZGRcIjoge1xuICAgICAgICBjb21wcmVzc2libGU6IHRydWUsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImhkZFwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24veC12aXJ0dWFsYm94LW92YVwiOiB7XG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZSxcbiAgICAgICAgZXh0ZW5zaW9uczogW1wib3ZhXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi94LXZpcnR1YWxib3gtb3ZmXCI6IHtcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJvdmZcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3gtdmlydHVhbGJveC12Ym94XCI6IHtcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJ2Ym94XCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi94LXZpcnR1YWxib3gtdmJveC1leHRwYWNrXCI6IHtcbiAgICAgICAgY29tcHJlc3NpYmxlOiBmYWxzZSxcbiAgICAgICAgZXh0ZW5zaW9uczogW1widmJveC1leHRwYWNrXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi94LXZpcnR1YWxib3gtdmRpXCI6IHtcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJ2ZGlcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3gtdmlydHVhbGJveC12aGRcIjoge1xuICAgICAgICBjb21wcmVzc2libGU6IHRydWUsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcInZoZFwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24veC12aXJ0dWFsYm94LXZtZGtcIjoge1xuICAgICAgICBjb21wcmVzc2libGU6IHRydWUsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcInZtZGtcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3gtd2Fpcy1zb3VyY2VcIjoge1xuICAgICAgICBzb3VyY2U6IFwiYXBhY2hlXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcInNyY1wiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24veC13ZWItYXBwLW1hbmlmZXN0K2pzb25cIjoge1xuICAgICAgICBjb21wcmVzc2libGU6IHRydWUsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcIndlYmFwcFwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24veC13d3ctZm9ybS11cmxlbmNvZGVkXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi94LXg1MDktY2EtY2VydFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImRlclwiLCBcImNydFwiLCBcInBlbVwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24veC14NTA5LWNhLXJhLWNlcnRcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi94LXg1MDktbmV4dC1jYS1jZXJ0XCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24veC14ZmlnXCI6IHtcbiAgICAgICAgc291cmNlOiBcImFwYWNoZVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJmaWdcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3gteGxpZmYreG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImFwYWNoZVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWUsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcInhsZlwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24veC14cGluc3RhbGxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiYXBhY2hlXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogZmFsc2UsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcInhwaVwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24veC14elwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJhcGFjaGVcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wieHpcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3gtemlwLWNvbXByZXNzZWRcIjoge1xuICAgICAgICBleHRlbnNpb25zOiBbXCJ6aXBcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3gtem1hY2hpbmVcIjoge1xuICAgICAgICBzb3VyY2U6IFwiYXBhY2hlXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcInoxXCIsIFwiejJcIiwgXCJ6M1wiLCBcIno0XCIsIFwiejVcIiwgXCJ6NlwiLCBcIno3XCIsIFwiejhcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3g0MDAtYnBcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi94YWNtbCt4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3hhbWwreG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImFwYWNoZVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWUsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcInhhbWxcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3hjYXAtYXR0K3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZSxcbiAgICAgICAgZXh0ZW5zaW9uczogW1wieGF2XCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi94Y2FwLWNhcHMreG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJ4Y2FcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3hjYXAtZGlmZit4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWUsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcInhkZlwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24veGNhcC1lbCt4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWUsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcInhlbFwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24veGNhcC1lcnJvcit4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3hjYXAtbnMreG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJ4bnNcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3hjb24tY29uZmVyZW5jZS1pbmZvK3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24veGNvbi1jb25mZXJlbmNlLWluZm8tZGlmZit4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3hlbmMreG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJ4ZW5jXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi94ZmRmXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wieGZkZlwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24veGh0bWwreG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJ4aHRtbFwiLCBcInhodFwiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24veGh0bWwtdm9pY2UreG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImFwYWNoZVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3hsaWZmK3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZSxcbiAgICAgICAgZXh0ZW5zaW9uczogW1wieGxmXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi94bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWUsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcInhtbFwiLCBcInhzbFwiLCBcInhzZFwiLCBcInJuZ1wiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24veG1sLWR0ZFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZSxcbiAgICAgICAgZXh0ZW5zaW9uczogW1wiZHRkXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi94bWwtZXh0ZXJuYWwtcGFyc2VkLWVudGl0eVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3htbC1wYXRjaCt4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3htcHAreG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi94b3AreG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJ4b3BcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3hwcm9jK3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJhcGFjaGVcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJ4cGxcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3hzbHQreG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJ4c2xcIiwgXCJ4c2x0XCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi94c3BmK3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJhcGFjaGVcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJ4c3BmXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi94dit4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWUsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcIm14bWxcIiwgXCJ4aHZtbFwiLCBcInh2bWxcIiwgXCJ4dm1cIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3lhbWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi95YW5nXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wieWFuZ1wiXVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24veWFuZy1kYXRhK2Nib3JcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi95YW5nLWRhdGEranNvblwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24veWFuZy1kYXRhK3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24veWFuZy1wYXRjaCtqc29uXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi95YW5nLXBhdGNoK3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24veWFuZy1zaWQranNvblwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwiYXBwbGljYXRpb24veWluK3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZSxcbiAgICAgICAgZXh0ZW5zaW9uczogW1wieWluXCJdXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi96aXBcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IGZhbHNlLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJ6aXBcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3ppcCtkb3Rsb3R0aWVcIjoge1xuICAgICAgICBleHRlbnNpb25zOiBbXCJsb3R0aWVcIl1cbiAgICAgIH0sXG4gICAgICBcImFwcGxpY2F0aW9uL3psaWJcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhcHBsaWNhdGlvbi96c3RkXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXVkaW8vMWQtaW50ZXJsZWF2ZWQtcGFyaXR5ZmVjXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXVkaW8vMzJrYWRwY21cIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhdWRpby8zZ3BwXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiBmYWxzZSxcbiAgICAgICAgZXh0ZW5zaW9uczogW1wiM2dwcFwiXVxuICAgICAgfSxcbiAgICAgIFwiYXVkaW8vM2dwcDJcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhdWRpby9hYWNcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJhZHRzXCIsIFwiYWFjXCJdXG4gICAgICB9LFxuICAgICAgXCJhdWRpby9hYzNcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhdWRpby9hZHBjbVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJhcGFjaGVcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wiYWRwXCJdXG4gICAgICB9LFxuICAgICAgXCJhdWRpby9hbXJcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJhbXJcIl1cbiAgICAgIH0sXG4gICAgICBcImF1ZGlvL2Ftci13YlwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImF1ZGlvL2Ftci13YitcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhdWRpby9hcHR4XCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXVkaW8vYXNjXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXVkaW8vYXRyYWMtYWR2YW5jZWQtbG9zc2xlc3NcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhdWRpby9hdHJhYy14XCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXVkaW8vYXRyYWMzXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXVkaW8vYmFzaWNcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IGZhbHNlLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJhdVwiLCBcInNuZFwiXVxuICAgICAgfSxcbiAgICAgIFwiYXVkaW8vYnYxNlwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImF1ZGlvL2J2MzJcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhdWRpby9jbGVhcm1vZGVcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhdWRpby9jblwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImF1ZGlvL2RhdDEyXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXVkaW8vZGxzXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXVkaW8vZHNyLWVzMjAxMTA4XCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXVkaW8vZHNyLWVzMjAyMDUwXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXVkaW8vZHNyLWVzMjAyMjExXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXVkaW8vZHNyLWVzMjAyMjEyXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXVkaW8vZHZcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhdWRpby9kdmk0XCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXVkaW8vZWFjM1wiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImF1ZGlvL2VuY2FwcnRwXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXVkaW8vZXZyY1wiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImF1ZGlvL2V2cmMtcWNwXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXVkaW8vZXZyYzBcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhdWRpby9ldnJjMVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImF1ZGlvL2V2cmNiXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXVkaW8vZXZyY2IwXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXVkaW8vZXZyY2IxXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXVkaW8vZXZyY253XCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXVkaW8vZXZyY253MFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImF1ZGlvL2V2cmNudzFcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhdWRpby9ldnJjd2JcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhdWRpby9ldnJjd2IwXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXVkaW8vZXZyY3diMVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImF1ZGlvL2V2c1wiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImF1ZGlvL2ZsYWNcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhdWRpby9mbGV4ZmVjXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXVkaW8vZndkcmVkXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXVkaW8vZzcxMS0wXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXVkaW8vZzcxOVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImF1ZGlvL2c3MjJcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhdWRpby9nNzIyMVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImF1ZGlvL2c3MjNcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhdWRpby9nNzI2LTE2XCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXVkaW8vZzcyNi0yNFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImF1ZGlvL2c3MjYtMzJcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhdWRpby9nNzI2LTQwXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXVkaW8vZzcyOFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImF1ZGlvL2c3MjlcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhdWRpby9nNzI5MVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImF1ZGlvL2c3MjlkXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXVkaW8vZzcyOWVcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhdWRpby9nc21cIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhdWRpby9nc20tZWZyXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXVkaW8vZ3NtLWhyLTA4XCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXVkaW8vaWxiY1wiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImF1ZGlvL2lwLW1yX3YyLjVcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhdWRpby9pc2FjXCI6IHtcbiAgICAgICAgc291cmNlOiBcImFwYWNoZVwiXG4gICAgICB9LFxuICAgICAgXCJhdWRpby9sMTZcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhdWRpby9sMjBcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhdWRpby9sMjRcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IGZhbHNlXG4gICAgICB9LFxuICAgICAgXCJhdWRpby9sOFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImF1ZGlvL2xwY1wiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImF1ZGlvL21hdHJvc2thXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXVkaW8vbWVscFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImF1ZGlvL21lbHAxMjAwXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXVkaW8vbWVscDI0MDBcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhdWRpby9tZWxwNjAwXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXVkaW8vbWhhc1wiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImF1ZGlvL21pZGlcIjoge1xuICAgICAgICBzb3VyY2U6IFwiYXBhY2hlXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcIm1pZFwiLCBcIm1pZGlcIiwgXCJrYXJcIiwgXCJybWlcIl1cbiAgICAgIH0sXG4gICAgICBcImF1ZGlvL21pZGktY2xpcFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImF1ZGlvL21vYmlsZS14bWZcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJteG1mXCJdXG4gICAgICB9LFxuICAgICAgXCJhdWRpby9tcDNcIjoge1xuICAgICAgICBjb21wcmVzc2libGU6IGZhbHNlLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJtcDNcIl1cbiAgICAgIH0sXG4gICAgICBcImF1ZGlvL21wNFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogZmFsc2UsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcIm00YVwiLCBcIm1wNGFcIiwgXCJtNGJcIl1cbiAgICAgIH0sXG4gICAgICBcImF1ZGlvL21wNGEtbGF0bVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImF1ZGlvL21wYVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImF1ZGlvL21wYS1yb2J1c3RcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhdWRpby9tcGVnXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiBmYWxzZSxcbiAgICAgICAgZXh0ZW5zaW9uczogW1wibXBnYVwiLCBcIm1wMlwiLCBcIm1wMmFcIiwgXCJtcDNcIiwgXCJtMmFcIiwgXCJtM2FcIl1cbiAgICAgIH0sXG4gICAgICBcImF1ZGlvL21wZWc0LWdlbmVyaWNcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhdWRpby9tdXNlcGFja1wiOiB7XG4gICAgICAgIHNvdXJjZTogXCJhcGFjaGVcIlxuICAgICAgfSxcbiAgICAgIFwiYXVkaW8vb2dnXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiBmYWxzZSxcbiAgICAgICAgZXh0ZW5zaW9uczogW1wib2dhXCIsIFwib2dnXCIsIFwic3B4XCIsIFwib3B1c1wiXVxuICAgICAgfSxcbiAgICAgIFwiYXVkaW8vb3B1c1wiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImF1ZGlvL3Bhcml0eWZlY1wiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImF1ZGlvL3BjbWFcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhdWRpby9wY21hLXdiXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXVkaW8vcGNtdVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImF1ZGlvL3BjbXUtd2JcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhdWRpby9wcnMuc2lkXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXVkaW8vcWNlbHBcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhdWRpby9yYXB0b3JmZWNcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhdWRpby9yZWRcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhdWRpby9ydHAtZW5jLWFlc2NtMTI4XCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXVkaW8vcnRwLW1pZGlcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhdWRpby9ydHBsb29wYmFja1wiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImF1ZGlvL3J0eFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImF1ZGlvL3MzbVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJhcGFjaGVcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wiczNtXCJdXG4gICAgICB9LFxuICAgICAgXCJhdWRpby9zY2lwXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXVkaW8vc2lsa1wiOiB7XG4gICAgICAgIHNvdXJjZTogXCJhcGFjaGVcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wic2lsXCJdXG4gICAgICB9LFxuICAgICAgXCJhdWRpby9zbXZcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhdWRpby9zbXYtcWNwXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXVkaW8vc212MFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImF1ZGlvL3NvZmFcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhdWRpby9zcC1taWRpXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXVkaW8vc3BlZXhcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhdWRpby90MTQwY1wiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImF1ZGlvL3QzOFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImF1ZGlvL3RlbGVwaG9uZS1ldmVudFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImF1ZGlvL3RldHJhX2FjZWxwXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXVkaW8vdGV0cmFfYWNlbHBfYmJcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhdWRpby90b25lXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXVkaW8vdHN2Y2lzXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXVkaW8vdWVtY2xpcFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImF1ZGlvL3VscGZlY1wiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImF1ZGlvL3VzYWNcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhdWRpby92ZHZpXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXVkaW8vdm1yLXdiXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXVkaW8vdm5kLjNncHAuaXVmcFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImF1ZGlvL3ZuZC40c2JcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhdWRpby92bmQuYXVkaW9rb3pcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhdWRpby92bmQuY2VscFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImF1ZGlvL3ZuZC5jaXNjby5uc2VcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhdWRpby92bmQuY21sZXMucmFkaW8tZXZlbnRzXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXVkaW8vdm5kLmNucy5hbnAxXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXVkaW8vdm5kLmNucy5pbmYxXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXVkaW8vdm5kLmRlY2UuYXVkaW9cIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJ1dmFcIiwgXCJ1dnZhXCJdXG4gICAgICB9LFxuICAgICAgXCJhdWRpby92bmQuZGlnaXRhbC13aW5kc1wiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImVvbFwiXVxuICAgICAgfSxcbiAgICAgIFwiYXVkaW8vdm5kLmRsbmEuYWR0c1wiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImF1ZGlvL3ZuZC5kb2xieS5oZWFhYy4xXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXVkaW8vdm5kLmRvbGJ5LmhlYWFjLjJcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhdWRpby92bmQuZG9sYnkubWxwXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXVkaW8vdm5kLmRvbGJ5Lm1wc1wiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImF1ZGlvL3ZuZC5kb2xieS5wbDJcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhdWRpby92bmQuZG9sYnkucGwyeFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImF1ZGlvL3ZuZC5kb2xieS5wbDJ6XCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXVkaW8vdm5kLmRvbGJ5LnB1bHNlLjFcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhdWRpby92bmQuZHJhXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wiZHJhXCJdXG4gICAgICB9LFxuICAgICAgXCJhdWRpby92bmQuZHRzXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wiZHRzXCJdXG4gICAgICB9LFxuICAgICAgXCJhdWRpby92bmQuZHRzLmhkXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wiZHRzaGRcIl1cbiAgICAgIH0sXG4gICAgICBcImF1ZGlvL3ZuZC5kdHMudWhkXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXVkaW8vdm5kLmR2Yi5maWxlXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXVkaW8vdm5kLmV2ZXJhZC5wbGpcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhdWRpby92bmQuaG5zLmF1ZGlvXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXVkaW8vdm5kLmx1Y2VudC52b2ljZVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImx2cFwiXVxuICAgICAgfSxcbiAgICAgIFwiYXVkaW8vdm5kLm1zLXBsYXlyZWFkeS5tZWRpYS5weWFcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJweWFcIl1cbiAgICAgIH0sXG4gICAgICBcImF1ZGlvL3ZuZC5ub2tpYS5tb2JpbGUteG1mXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXVkaW8vdm5kLm5vcnRlbC52YmtcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhdWRpby92bmQubnVlcmEuZWNlbHA0ODAwXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wiZWNlbHA0ODAwXCJdXG4gICAgICB9LFxuICAgICAgXCJhdWRpby92bmQubnVlcmEuZWNlbHA3NDcwXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wiZWNlbHA3NDcwXCJdXG4gICAgICB9LFxuICAgICAgXCJhdWRpby92bmQubnVlcmEuZWNlbHA5NjAwXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wiZWNlbHA5NjAwXCJdXG4gICAgICB9LFxuICAgICAgXCJhdWRpby92bmQub2N0ZWwuc2JjXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiYXVkaW8vdm5kLnByZXNvbnVzLm11bHRpdHJhY2tcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJhdWRpby92bmQucWNlbHBcIjoge1xuICAgICAgICBzb3VyY2U6IFwiYXBhY2hlXCJcbiAgICAgIH0sXG4gICAgICBcImF1ZGlvL3ZuZC5yaGV0b3JleC4zMmthZHBjbVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImF1ZGlvL3ZuZC5yaXBcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJyaXBcIl1cbiAgICAgIH0sXG4gICAgICBcImF1ZGlvL3ZuZC5ybi1yZWFsYXVkaW9cIjoge1xuICAgICAgICBjb21wcmVzc2libGU6IGZhbHNlXG4gICAgICB9LFxuICAgICAgXCJhdWRpby92bmQuc2VhbGVkbWVkaWEuc29mdHNlYWwubXBlZ1wiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImF1ZGlvL3ZuZC52bXguY3ZzZFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImF1ZGlvL3ZuZC53YXZlXCI6IHtcbiAgICAgICAgY29tcHJlc3NpYmxlOiBmYWxzZVxuICAgICAgfSxcbiAgICAgIFwiYXVkaW8vdm9yYmlzXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiBmYWxzZVxuICAgICAgfSxcbiAgICAgIFwiYXVkaW8vdm9yYmlzLWNvbmZpZ1wiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImF1ZGlvL3dhdlwiOiB7XG4gICAgICAgIGNvbXByZXNzaWJsZTogZmFsc2UsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcIndhdlwiXVxuICAgICAgfSxcbiAgICAgIFwiYXVkaW8vd2F2ZVwiOiB7XG4gICAgICAgIGNvbXByZXNzaWJsZTogZmFsc2UsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcIndhdlwiXVxuICAgICAgfSxcbiAgICAgIFwiYXVkaW8vd2VibVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJhcGFjaGVcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiBmYWxzZSxcbiAgICAgICAgZXh0ZW5zaW9uczogW1wid2ViYVwiXVxuICAgICAgfSxcbiAgICAgIFwiYXVkaW8veC1hYWNcIjoge1xuICAgICAgICBzb3VyY2U6IFwiYXBhY2hlXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogZmFsc2UsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImFhY1wiXVxuICAgICAgfSxcbiAgICAgIFwiYXVkaW8veC1haWZmXCI6IHtcbiAgICAgICAgc291cmNlOiBcImFwYWNoZVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJhaWZcIiwgXCJhaWZmXCIsIFwiYWlmY1wiXVxuICAgICAgfSxcbiAgICAgIFwiYXVkaW8veC1jYWZcIjoge1xuICAgICAgICBzb3VyY2U6IFwiYXBhY2hlXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogZmFsc2UsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImNhZlwiXVxuICAgICAgfSxcbiAgICAgIFwiYXVkaW8veC1mbGFjXCI6IHtcbiAgICAgICAgc291cmNlOiBcImFwYWNoZVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJmbGFjXCJdXG4gICAgICB9LFxuICAgICAgXCJhdWRpby94LW00YVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJuZ2lueFwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJtNGFcIl1cbiAgICAgIH0sXG4gICAgICBcImF1ZGlvL3gtbWF0cm9za2FcIjoge1xuICAgICAgICBzb3VyY2U6IFwiYXBhY2hlXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcIm1rYVwiXVxuICAgICAgfSxcbiAgICAgIFwiYXVkaW8veC1tcGVndXJsXCI6IHtcbiAgICAgICAgc291cmNlOiBcImFwYWNoZVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJtM3VcIl1cbiAgICAgIH0sXG4gICAgICBcImF1ZGlvL3gtbXMtd2F4XCI6IHtcbiAgICAgICAgc291cmNlOiBcImFwYWNoZVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJ3YXhcIl1cbiAgICAgIH0sXG4gICAgICBcImF1ZGlvL3gtbXMtd21hXCI6IHtcbiAgICAgICAgc291cmNlOiBcImFwYWNoZVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJ3bWFcIl1cbiAgICAgIH0sXG4gICAgICBcImF1ZGlvL3gtcG4tcmVhbGF1ZGlvXCI6IHtcbiAgICAgICAgc291cmNlOiBcImFwYWNoZVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJyYW1cIiwgXCJyYVwiXVxuICAgICAgfSxcbiAgICAgIFwiYXVkaW8veC1wbi1yZWFsYXVkaW8tcGx1Z2luXCI6IHtcbiAgICAgICAgc291cmNlOiBcImFwYWNoZVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJybXBcIl1cbiAgICAgIH0sXG4gICAgICBcImF1ZGlvL3gtcmVhbGF1ZGlvXCI6IHtcbiAgICAgICAgc291cmNlOiBcIm5naW54XCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcInJhXCJdXG4gICAgICB9LFxuICAgICAgXCJhdWRpby94LXR0YVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJhcGFjaGVcIlxuICAgICAgfSxcbiAgICAgIFwiYXVkaW8veC13YXZcIjoge1xuICAgICAgICBzb3VyY2U6IFwiYXBhY2hlXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcIndhdlwiXVxuICAgICAgfSxcbiAgICAgIFwiYXVkaW8veG1cIjoge1xuICAgICAgICBzb3VyY2U6IFwiYXBhY2hlXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcInhtXCJdXG4gICAgICB9LFxuICAgICAgXCJjaGVtaWNhbC94LWNkeFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJhcGFjaGVcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wiY2R4XCJdXG4gICAgICB9LFxuICAgICAgXCJjaGVtaWNhbC94LWNpZlwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJhcGFjaGVcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wiY2lmXCJdXG4gICAgICB9LFxuICAgICAgXCJjaGVtaWNhbC94LWNtZGZcIjoge1xuICAgICAgICBzb3VyY2U6IFwiYXBhY2hlXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImNtZGZcIl1cbiAgICAgIH0sXG4gICAgICBcImNoZW1pY2FsL3gtY21sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImFwYWNoZVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJjbWxcIl1cbiAgICAgIH0sXG4gICAgICBcImNoZW1pY2FsL3gtY3NtbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJhcGFjaGVcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wiY3NtbFwiXVxuICAgICAgfSxcbiAgICAgIFwiY2hlbWljYWwveC1wZGJcIjoge1xuICAgICAgICBzb3VyY2U6IFwiYXBhY2hlXCJcbiAgICAgIH0sXG4gICAgICBcImNoZW1pY2FsL3gteHl6XCI6IHtcbiAgICAgICAgc291cmNlOiBcImFwYWNoZVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJ4eXpcIl1cbiAgICAgIH0sXG4gICAgICBcImZvbnQvY29sbGVjdGlvblwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcInR0Y1wiXVxuICAgICAgfSxcbiAgICAgIFwiZm9udC9vdGZcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWUsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcIm90ZlwiXVxuICAgICAgfSxcbiAgICAgIFwiZm9udC9zZm50XCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiZm9udC90dGZcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWUsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcInR0ZlwiXVxuICAgICAgfSxcbiAgICAgIFwiZm9udC93b2ZmXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wid29mZlwiXVxuICAgICAgfSxcbiAgICAgIFwiZm9udC93b2ZmMlwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcIndvZmYyXCJdXG4gICAgICB9LFxuICAgICAgXCJpbWFnZS9hY2VzXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wiZXhyXCJdXG4gICAgICB9LFxuICAgICAgXCJpbWFnZS9hcG5nXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiBmYWxzZSxcbiAgICAgICAgZXh0ZW5zaW9uczogW1wiYXBuZ1wiXVxuICAgICAgfSxcbiAgICAgIFwiaW1hZ2UvYXZjaVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImF2Y2lcIl1cbiAgICAgIH0sXG4gICAgICBcImltYWdlL2F2Y3NcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJhdmNzXCJdXG4gICAgICB9LFxuICAgICAgXCJpbWFnZS9hdmlmXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiBmYWxzZSxcbiAgICAgICAgZXh0ZW5zaW9uczogW1wiYXZpZlwiXVxuICAgICAgfSxcbiAgICAgIFwiaW1hZ2UvYm1wXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJibXBcIiwgXCJkaWJcIl1cbiAgICAgIH0sXG4gICAgICBcImltYWdlL2NnbVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImNnbVwiXVxuICAgICAgfSxcbiAgICAgIFwiaW1hZ2UvZGljb20tcmxlXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wiZHJsZVwiXVxuICAgICAgfSxcbiAgICAgIFwiaW1hZ2UvZHB4XCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wiZHB4XCJdXG4gICAgICB9LFxuICAgICAgXCJpbWFnZS9lbWZcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJlbWZcIl1cbiAgICAgIH0sXG4gICAgICBcImltYWdlL2ZpdHNcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJmaXRzXCJdXG4gICAgICB9LFxuICAgICAgXCJpbWFnZS9nM2ZheFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImczXCJdXG4gICAgICB9LFxuICAgICAgXCJpbWFnZS9naWZcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IGZhbHNlLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJnaWZcIl1cbiAgICAgIH0sXG4gICAgICBcImltYWdlL2hlaWNcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJoZWljXCJdXG4gICAgICB9LFxuICAgICAgXCJpbWFnZS9oZWljLXNlcXVlbmNlXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wiaGVpY3NcIl1cbiAgICAgIH0sXG4gICAgICBcImltYWdlL2hlaWZcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJoZWlmXCJdXG4gICAgICB9LFxuICAgICAgXCJpbWFnZS9oZWlmLXNlcXVlbmNlXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wiaGVpZnNcIl1cbiAgICAgIH0sXG4gICAgICBcImltYWdlL2hlajJrXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wiaGVqMlwiXVxuICAgICAgfSxcbiAgICAgIFwiaW1hZ2UvaWVmXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wiaWVmXCJdXG4gICAgICB9LFxuICAgICAgXCJpbWFnZS9qMmNcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJpbWFnZS9qYWlpXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wiamFpaVwiXVxuICAgICAgfSxcbiAgICAgIFwiaW1hZ2UvamFpc1wiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImphaXNcIl1cbiAgICAgIH0sXG4gICAgICBcImltYWdlL2psc1wiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImpsc1wiXVxuICAgICAgfSxcbiAgICAgIFwiaW1hZ2UvanAyXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiBmYWxzZSxcbiAgICAgICAgZXh0ZW5zaW9uczogW1wianAyXCIsIFwianBnMlwiXVxuICAgICAgfSxcbiAgICAgIFwiaW1hZ2UvanBlZ1wiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogZmFsc2UsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImpwZ1wiLCBcImpwZWdcIiwgXCJqcGVcIl1cbiAgICAgIH0sXG4gICAgICBcImltYWdlL2pwaFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImpwaFwiXVxuICAgICAgfSxcbiAgICAgIFwiaW1hZ2UvanBoY1wiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImpoY1wiXVxuICAgICAgfSxcbiAgICAgIFwiaW1hZ2UvanBtXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiBmYWxzZSxcbiAgICAgICAgZXh0ZW5zaW9uczogW1wianBtXCIsIFwianBnbVwiXVxuICAgICAgfSxcbiAgICAgIFwiaW1hZ2UvanB4XCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiBmYWxzZSxcbiAgICAgICAgZXh0ZW5zaW9uczogW1wianB4XCIsIFwianBmXCJdXG4gICAgICB9LFxuICAgICAgXCJpbWFnZS9qeGxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJqeGxcIl1cbiAgICAgIH0sXG4gICAgICBcImltYWdlL2p4clwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImp4clwiXVxuICAgICAgfSxcbiAgICAgIFwiaW1hZ2UvanhyYVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImp4cmFcIl1cbiAgICAgIH0sXG4gICAgICBcImltYWdlL2p4cnNcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJqeHJzXCJdXG4gICAgICB9LFxuICAgICAgXCJpbWFnZS9qeHNcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJqeHNcIl1cbiAgICAgIH0sXG4gICAgICBcImltYWdlL2p4c2NcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJqeHNjXCJdXG4gICAgICB9LFxuICAgICAgXCJpbWFnZS9qeHNpXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wianhzaVwiXVxuICAgICAgfSxcbiAgICAgIFwiaW1hZ2Uvanhzc1wiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImp4c3NcIl1cbiAgICAgIH0sXG4gICAgICBcImltYWdlL2t0eFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImt0eFwiXVxuICAgICAgfSxcbiAgICAgIFwiaW1hZ2Uva3R4MlwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImt0eDJcIl1cbiAgICAgIH0sXG4gICAgICBcImltYWdlL25hcGxwc1wiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImltYWdlL3BqcGVnXCI6IHtcbiAgICAgICAgY29tcHJlc3NpYmxlOiBmYWxzZSxcbiAgICAgICAgZXh0ZW5zaW9uczogW1wiamZpZlwiXVxuICAgICAgfSxcbiAgICAgIFwiaW1hZ2UvcG5nXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiBmYWxzZSxcbiAgICAgICAgZXh0ZW5zaW9uczogW1wicG5nXCJdXG4gICAgICB9LFxuICAgICAgXCJpbWFnZS9wcnMuYnRpZlwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImJ0aWZcIiwgXCJidGZcIl1cbiAgICAgIH0sXG4gICAgICBcImltYWdlL3Bycy5wdGlcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJwdGlcIl1cbiAgICAgIH0sXG4gICAgICBcImltYWdlL3B3Zy1yYXN0ZXJcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJpbWFnZS9zZ2lcIjoge1xuICAgICAgICBzb3VyY2U6IFwiYXBhY2hlXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcInNnaVwiXVxuICAgICAgfSxcbiAgICAgIFwiaW1hZ2Uvc3ZnK3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZSxcbiAgICAgICAgZXh0ZW5zaW9uczogW1wic3ZnXCIsIFwic3ZnelwiXVxuICAgICAgfSxcbiAgICAgIFwiaW1hZ2UvdDM4XCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1widDM4XCJdXG4gICAgICB9LFxuICAgICAgXCJpbWFnZS90aWZmXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiBmYWxzZSxcbiAgICAgICAgZXh0ZW5zaW9uczogW1widGlmXCIsIFwidGlmZlwiXVxuICAgICAgfSxcbiAgICAgIFwiaW1hZ2UvdGlmZi1meFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcInRmeFwiXVxuICAgICAgfSxcbiAgICAgIFwiaW1hZ2Uvdm5kLmFkb2JlLnBob3Rvc2hvcFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZSxcbiAgICAgICAgZXh0ZW5zaW9uczogW1wicHNkXCJdXG4gICAgICB9LFxuICAgICAgXCJpbWFnZS92bmQuYWlyemlwLmFjY2VsZXJhdG9yLmF6dlwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImF6dlwiXVxuICAgICAgfSxcbiAgICAgIFwiaW1hZ2Uvdm5kLmNsaXBcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJpbWFnZS92bmQuY25zLmluZjJcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJpbWFnZS92bmQuZGVjZS5ncmFwaGljXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1widXZpXCIsIFwidXZ2aVwiLCBcInV2Z1wiLCBcInV2dmdcIl1cbiAgICAgIH0sXG4gICAgICBcImltYWdlL3ZuZC5kanZ1XCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wiZGp2dVwiLCBcImRqdlwiXVxuICAgICAgfSxcbiAgICAgIFwiaW1hZ2Uvdm5kLmR2Yi5zdWJ0aXRsZVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcInN1YlwiXVxuICAgICAgfSxcbiAgICAgIFwiaW1hZ2Uvdm5kLmR3Z1wiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImR3Z1wiXVxuICAgICAgfSxcbiAgICAgIFwiaW1hZ2Uvdm5kLmR4ZlwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImR4ZlwiXVxuICAgICAgfSxcbiAgICAgIFwiaW1hZ2Uvdm5kLmZhc3RiaWRzaGVldFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImZic1wiXVxuICAgICAgfSxcbiAgICAgIFwiaW1hZ2Uvdm5kLmZweFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImZweFwiXVxuICAgICAgfSxcbiAgICAgIFwiaW1hZ2Uvdm5kLmZzdFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImZzdFwiXVxuICAgICAgfSxcbiAgICAgIFwiaW1hZ2Uvdm5kLmZ1aml4ZXJveC5lZG1pY3MtbW1yXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wibW1yXCJdXG4gICAgICB9LFxuICAgICAgXCJpbWFnZS92bmQuZnVqaXhlcm94LmVkbWljcy1ybGNcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJybGNcIl1cbiAgICAgIH0sXG4gICAgICBcImltYWdlL3ZuZC5nbG9iYWxncmFwaGljcy5wZ2JcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJpbWFnZS92bmQubWljcm9zb2Z0Lmljb25cIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWUsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImljb1wiXVxuICAgICAgfSxcbiAgICAgIFwiaW1hZ2Uvdm5kLm1peFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImltYWdlL3ZuZC5tb3ppbGxhLmFwbmdcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJpbWFnZS92bmQubXMtZGRzXCI6IHtcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJkZHNcIl1cbiAgICAgIH0sXG4gICAgICBcImltYWdlL3ZuZC5tcy1tb2RpXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wibWRpXCJdXG4gICAgICB9LFxuICAgICAgXCJpbWFnZS92bmQubXMtcGhvdG9cIjoge1xuICAgICAgICBzb3VyY2U6IFwiYXBhY2hlXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcIndkcFwiXVxuICAgICAgfSxcbiAgICAgIFwiaW1hZ2Uvdm5kLm5ldC1mcHhcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJucHhcIl1cbiAgICAgIH0sXG4gICAgICBcImltYWdlL3ZuZC5wY28uYjE2XCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wiYjE2XCJdXG4gICAgICB9LFxuICAgICAgXCJpbWFnZS92bmQucmFkaWFuY2VcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJpbWFnZS92bmQuc2VhbGVkLnBuZ1wiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImltYWdlL3ZuZC5zZWFsZWRtZWRpYS5zb2Z0c2VhbC5naWZcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJpbWFnZS92bmQuc2VhbGVkbWVkaWEuc29mdHNlYWwuanBnXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiaW1hZ2Uvdm5kLnN2ZlwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcImltYWdlL3ZuZC50ZW5jZW50LnRhcFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcInRhcFwiXVxuICAgICAgfSxcbiAgICAgIFwiaW1hZ2Uvdm5kLnZhbHZlLnNvdXJjZS50ZXh0dXJlXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1widnRmXCJdXG4gICAgICB9LFxuICAgICAgXCJpbWFnZS92bmQud2FwLndibXBcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJ3Ym1wXCJdXG4gICAgICB9LFxuICAgICAgXCJpbWFnZS92bmQueGlmZlwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcInhpZlwiXVxuICAgICAgfSxcbiAgICAgIFwiaW1hZ2Uvdm5kLnpicnVzaC5wY3hcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJwY3hcIl1cbiAgICAgIH0sXG4gICAgICBcImltYWdlL3dlYnBcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJ3ZWJwXCJdXG4gICAgICB9LFxuICAgICAgXCJpbWFnZS93bWZcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJ3bWZcIl1cbiAgICAgIH0sXG4gICAgICBcImltYWdlL3gtM2RzXCI6IHtcbiAgICAgICAgc291cmNlOiBcImFwYWNoZVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCIzZHNcIl1cbiAgICAgIH0sXG4gICAgICBcImltYWdlL3gtYWRvYmUtZG5nXCI6IHtcbiAgICAgICAgZXh0ZW5zaW9uczogW1wiZG5nXCJdXG4gICAgICB9LFxuICAgICAgXCJpbWFnZS94LWNtdS1yYXN0ZXJcIjoge1xuICAgICAgICBzb3VyY2U6IFwiYXBhY2hlXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcInJhc1wiXVxuICAgICAgfSxcbiAgICAgIFwiaW1hZ2UveC1jbXhcIjoge1xuICAgICAgICBzb3VyY2U6IFwiYXBhY2hlXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImNteFwiXVxuICAgICAgfSxcbiAgICAgIFwiaW1hZ2UveC1lbWZcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJpbWFnZS94LWZyZWVoYW5kXCI6IHtcbiAgICAgICAgc291cmNlOiBcImFwYWNoZVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJmaFwiLCBcImZoY1wiLCBcImZoNFwiLCBcImZoNVwiLCBcImZoN1wiXVxuICAgICAgfSxcbiAgICAgIFwiaW1hZ2UveC1pY29uXCI6IHtcbiAgICAgICAgc291cmNlOiBcImFwYWNoZVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWUsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImljb1wiXVxuICAgICAgfSxcbiAgICAgIFwiaW1hZ2UveC1qbmdcIjoge1xuICAgICAgICBzb3VyY2U6IFwibmdpbnhcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wiam5nXCJdXG4gICAgICB9LFxuICAgICAgXCJpbWFnZS94LW1yc2lkLWltYWdlXCI6IHtcbiAgICAgICAgc291cmNlOiBcImFwYWNoZVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJzaWRcIl1cbiAgICAgIH0sXG4gICAgICBcImltYWdlL3gtbXMtYm1wXCI6IHtcbiAgICAgICAgc291cmNlOiBcIm5naW54XCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZSxcbiAgICAgICAgZXh0ZW5zaW9uczogW1wiYm1wXCJdXG4gICAgICB9LFxuICAgICAgXCJpbWFnZS94LXBjeFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJhcGFjaGVcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wicGN4XCJdXG4gICAgICB9LFxuICAgICAgXCJpbWFnZS94LXBpY3RcIjoge1xuICAgICAgICBzb3VyY2U6IFwiYXBhY2hlXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcInBpY1wiLCBcInBjdFwiXVxuICAgICAgfSxcbiAgICAgIFwiaW1hZ2UveC1wb3J0YWJsZS1hbnltYXBcIjoge1xuICAgICAgICBzb3VyY2U6IFwiYXBhY2hlXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcInBubVwiXVxuICAgICAgfSxcbiAgICAgIFwiaW1hZ2UveC1wb3J0YWJsZS1iaXRtYXBcIjoge1xuICAgICAgICBzb3VyY2U6IFwiYXBhY2hlXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcInBibVwiXVxuICAgICAgfSxcbiAgICAgIFwiaW1hZ2UveC1wb3J0YWJsZS1ncmF5bWFwXCI6IHtcbiAgICAgICAgc291cmNlOiBcImFwYWNoZVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJwZ21cIl1cbiAgICAgIH0sXG4gICAgICBcImltYWdlL3gtcG9ydGFibGUtcGl4bWFwXCI6IHtcbiAgICAgICAgc291cmNlOiBcImFwYWNoZVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJwcG1cIl1cbiAgICAgIH0sXG4gICAgICBcImltYWdlL3gtcmdiXCI6IHtcbiAgICAgICAgc291cmNlOiBcImFwYWNoZVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJyZ2JcIl1cbiAgICAgIH0sXG4gICAgICBcImltYWdlL3gtdGdhXCI6IHtcbiAgICAgICAgc291cmNlOiBcImFwYWNoZVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJ0Z2FcIl1cbiAgICAgIH0sXG4gICAgICBcImltYWdlL3gtd21mXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwiaW1hZ2UveC14Yml0bWFwXCI6IHtcbiAgICAgICAgc291cmNlOiBcImFwYWNoZVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJ4Ym1cIl1cbiAgICAgIH0sXG4gICAgICBcImltYWdlL3gteGNmXCI6IHtcbiAgICAgICAgY29tcHJlc3NpYmxlOiBmYWxzZVxuICAgICAgfSxcbiAgICAgIFwiaW1hZ2UveC14cGl4bWFwXCI6IHtcbiAgICAgICAgc291cmNlOiBcImFwYWNoZVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJ4cG1cIl1cbiAgICAgIH0sXG4gICAgICBcImltYWdlL3gteHdpbmRvd2R1bXBcIjoge1xuICAgICAgICBzb3VyY2U6IFwiYXBhY2hlXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcInh3ZFwiXVxuICAgICAgfSxcbiAgICAgIFwibWVzc2FnZS9iaHR0cFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcIm1lc3NhZ2UvY3BpbVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcIm1lc3NhZ2UvZGVsaXZlcnktc3RhdHVzXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwibWVzc2FnZS9kaXNwb3NpdGlvbi1ub3RpZmljYXRpb25cIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXG4gICAgICAgICAgXCJkaXNwb3NpdGlvbi1ub3RpZmljYXRpb25cIlxuICAgICAgICBdXG4gICAgICB9LFxuICAgICAgXCJtZXNzYWdlL2V4dGVybmFsLWJvZHlcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJtZXNzYWdlL2ZlZWRiYWNrLXJlcG9ydFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcIm1lc3NhZ2UvZ2xvYmFsXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1widThtc2dcIl1cbiAgICAgIH0sXG4gICAgICBcIm1lc3NhZ2UvZ2xvYmFsLWRlbGl2ZXJ5LXN0YXR1c1wiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcInU4ZHNuXCJdXG4gICAgICB9LFxuICAgICAgXCJtZXNzYWdlL2dsb2JhbC1kaXNwb3NpdGlvbi1ub3RpZmljYXRpb25cIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJ1OG1kblwiXVxuICAgICAgfSxcbiAgICAgIFwibWVzc2FnZS9nbG9iYWwtaGVhZGVyc1wiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcInU4aGRyXCJdXG4gICAgICB9LFxuICAgICAgXCJtZXNzYWdlL2h0dHBcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IGZhbHNlXG4gICAgICB9LFxuICAgICAgXCJtZXNzYWdlL2ltZG4reG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJtZXNzYWdlL21sc1wiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcIm1lc3NhZ2UvbmV3c1wiOiB7XG4gICAgICAgIHNvdXJjZTogXCJhcGFjaGVcIlxuICAgICAgfSxcbiAgICAgIFwibWVzc2FnZS9vaHR0cC1yZXFcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJtZXNzYWdlL29odHRwLXJlc1wiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcIm1lc3NhZ2UvcGFydGlhbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogZmFsc2VcbiAgICAgIH0sXG4gICAgICBcIm1lc3NhZ2UvcmZjODIyXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJlbWxcIiwgXCJtaW1lXCIsIFwibWh0XCIsIFwibWh0bWxcIl1cbiAgICAgIH0sXG4gICAgICBcIm1lc3NhZ2Uvcy1odHRwXCI6IHtcbiAgICAgICAgc291cmNlOiBcImFwYWNoZVwiXG4gICAgICB9LFxuICAgICAgXCJtZXNzYWdlL3NpcFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcIm1lc3NhZ2Uvc2lwZnJhZ1wiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcIm1lc3NhZ2UvdHJhY2tpbmctc3RhdHVzXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwibWVzc2FnZS92bmQuc2kuc2ltcFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJhcGFjaGVcIlxuICAgICAgfSxcbiAgICAgIFwibWVzc2FnZS92bmQud2ZhLndzY1wiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcIndzY1wiXVxuICAgICAgfSxcbiAgICAgIFwibW9kZWwvM21mXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wiM21mXCJdXG4gICAgICB9LFxuICAgICAgXCJtb2RlbC9lNTdcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJtb2RlbC9nbHRmK2pzb25cIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWUsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImdsdGZcIl1cbiAgICAgIH0sXG4gICAgICBcIm1vZGVsL2dsdGYtYmluYXJ5XCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJnbGJcIl1cbiAgICAgIH0sXG4gICAgICBcIm1vZGVsL2lnZXNcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IGZhbHNlLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJpZ3NcIiwgXCJpZ2VzXCJdXG4gICAgICB9LFxuICAgICAgXCJtb2RlbC9qdFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImp0XCJdXG4gICAgICB9LFxuICAgICAgXCJtb2RlbC9tZXNoXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiBmYWxzZSxcbiAgICAgICAgZXh0ZW5zaW9uczogW1wibXNoXCIsIFwibWVzaFwiLCBcInNpbG9cIl1cbiAgICAgIH0sXG4gICAgICBcIm1vZGVsL210bFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcIm10bFwiXVxuICAgICAgfSxcbiAgICAgIFwibW9kZWwvb2JqXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wib2JqXCJdXG4gICAgICB9LFxuICAgICAgXCJtb2RlbC9wcmNcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJwcmNcIl1cbiAgICAgIH0sXG4gICAgICBcIm1vZGVsL3N0ZXBcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJzdGVwXCIsIFwic3RwXCIsIFwic3RwbmNcIiwgXCJwMjFcIiwgXCIyMTBcIl1cbiAgICAgIH0sXG4gICAgICBcIm1vZGVsL3N0ZXAreG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJzdHB4XCJdXG4gICAgICB9LFxuICAgICAgXCJtb2RlbC9zdGVwK3ppcFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogZmFsc2UsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcInN0cHpcIl1cbiAgICAgIH0sXG4gICAgICBcIm1vZGVsL3N0ZXAteG1sK3ppcFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogZmFsc2UsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcInN0cHh6XCJdXG4gICAgICB9LFxuICAgICAgXCJtb2RlbC9zdGxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJzdGxcIl1cbiAgICAgIH0sXG4gICAgICBcIm1vZGVsL3UzZFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcInUzZFwiXVxuICAgICAgfSxcbiAgICAgIFwibW9kZWwvdm5kLmJhcnlcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJiYXJ5XCJdXG4gICAgICB9LFxuICAgICAgXCJtb2RlbC92bmQuY2xkXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wiY2xkXCJdXG4gICAgICB9LFxuICAgICAgXCJtb2RlbC92bmQuY29sbGFkYSt4bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWUsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImRhZVwiXVxuICAgICAgfSxcbiAgICAgIFwibW9kZWwvdm5kLmR3ZlwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImR3ZlwiXVxuICAgICAgfSxcbiAgICAgIFwibW9kZWwvdm5kLmZsYXRsYW5kLjNkbWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJtb2RlbC92bmQuZ2RsXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wiZ2RsXCJdXG4gICAgICB9LFxuICAgICAgXCJtb2RlbC92bmQuZ3MtZ2RsXCI6IHtcbiAgICAgICAgc291cmNlOiBcImFwYWNoZVwiXG4gICAgICB9LFxuICAgICAgXCJtb2RlbC92bmQuZ3MuZ2RsXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwibW9kZWwvdm5kLmd0d1wiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImd0d1wiXVxuICAgICAgfSxcbiAgICAgIFwibW9kZWwvdm5kLm1vbWwreG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJtb2RlbC92bmQubXRzXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wibXRzXCJdXG4gICAgICB9LFxuICAgICAgXCJtb2RlbC92bmQub3BlbmdleFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcIm9nZXhcIl1cbiAgICAgIH0sXG4gICAgICBcIm1vZGVsL3ZuZC5wYXJhc29saWQudHJhbnNtaXQuYmluYXJ5XCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wieF9iXCJdXG4gICAgICB9LFxuICAgICAgXCJtb2RlbC92bmQucGFyYXNvbGlkLnRyYW5zbWl0LnRleHRcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJ4X3RcIl1cbiAgICAgIH0sXG4gICAgICBcIm1vZGVsL3ZuZC5weXRoYS5weW94XCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wicHlvXCIsIFwicHlveFwiXVxuICAgICAgfSxcbiAgICAgIFwibW9kZWwvdm5kLnJvc2V0dGUuYW5ub3RhdGVkLWRhdGEtbW9kZWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJtb2RlbC92bmQuc2FwLnZkc1wiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcInZkc1wiXVxuICAgICAgfSxcbiAgICAgIFwibW9kZWwvdm5kLnVzZGFcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJ1c2RhXCJdXG4gICAgICB9LFxuICAgICAgXCJtb2RlbC92bmQudXNkeit6aXBcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IGZhbHNlLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJ1c2R6XCJdXG4gICAgICB9LFxuICAgICAgXCJtb2RlbC92bmQudmFsdmUuc291cmNlLmNvbXBpbGVkLW1hcFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImJzcFwiXVxuICAgICAgfSxcbiAgICAgIFwibW9kZWwvdm5kLnZ0dVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcInZ0dVwiXVxuICAgICAgfSxcbiAgICAgIFwibW9kZWwvdnJtbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogZmFsc2UsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcIndybFwiLCBcInZybWxcIl1cbiAgICAgIH0sXG4gICAgICBcIm1vZGVsL3gzZCtiaW5hcnlcIjoge1xuICAgICAgICBzb3VyY2U6IFwiYXBhY2hlXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogZmFsc2UsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcIngzZGJcIiwgXCJ4M2RielwiXVxuICAgICAgfSxcbiAgICAgIFwibW9kZWwveDNkK2Zhc3RpbmZvc2V0XCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wieDNkYlwiXVxuICAgICAgfSxcbiAgICAgIFwibW9kZWwveDNkK3ZybWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiYXBhY2hlXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogZmFsc2UsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcIngzZHZcIiwgXCJ4M2R2elwiXVxuICAgICAgfSxcbiAgICAgIFwibW9kZWwveDNkK3htbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZSxcbiAgICAgICAgZXh0ZW5zaW9uczogW1wieDNkXCIsIFwieDNkelwiXVxuICAgICAgfSxcbiAgICAgIFwibW9kZWwveDNkLXZybWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJ4M2R2XCJdXG4gICAgICB9LFxuICAgICAgXCJtdWx0aXBhcnQvYWx0ZXJuYXRpdmVcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IGZhbHNlXG4gICAgICB9LFxuICAgICAgXCJtdWx0aXBhcnQvYXBwbGVkb3VibGVcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJtdWx0aXBhcnQvYnl0ZXJhbmdlc1wiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcIm11bHRpcGFydC9kaWdlc3RcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJtdWx0aXBhcnQvZW5jcnlwdGVkXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiBmYWxzZVxuICAgICAgfSxcbiAgICAgIFwibXVsdGlwYXJ0L2Zvcm0tZGF0YVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogZmFsc2VcbiAgICAgIH0sXG4gICAgICBcIm11bHRpcGFydC9oZWFkZXItc2V0XCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwibXVsdGlwYXJ0L21peGVkXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwibXVsdGlwYXJ0L211bHRpbGluZ3VhbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcIm11bHRpcGFydC9wYXJhbGxlbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcIm11bHRpcGFydC9yZWxhdGVkXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiBmYWxzZVxuICAgICAgfSxcbiAgICAgIFwibXVsdGlwYXJ0L3JlcG9ydFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcIm11bHRpcGFydC9zaWduZWRcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IGZhbHNlXG4gICAgICB9LFxuICAgICAgXCJtdWx0aXBhcnQvdm5kLmJpbnQubWVkLXBsdXNcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJtdWx0aXBhcnQvdm9pY2UtbWVzc2FnZVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcIm11bHRpcGFydC94LW1peGVkLXJlcGxhY2VcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJ0ZXh0LzFkLWludGVybGVhdmVkLXBhcml0eWZlY1wiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcInRleHQvY2FjaGUtbWFuaWZlc3RcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWUsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImFwcGNhY2hlXCIsIFwibWFuaWZlc3RcIl1cbiAgICAgIH0sXG4gICAgICBcInRleHQvY2FsZW5kYXJcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJpY3NcIiwgXCJpZmJcIl1cbiAgICAgIH0sXG4gICAgICBcInRleHQvY2FsZW5kZXJcIjoge1xuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcInRleHQvY21kXCI6IHtcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJ0ZXh0L2NvZmZlZXNjcmlwdFwiOiB7XG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImNvZmZlZVwiLCBcImxpdGNvZmZlZVwiXVxuICAgICAgfSxcbiAgICAgIFwidGV4dC9jcWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJ0ZXh0L2NxbC1leHByZXNzaW9uXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwidGV4dC9jcWwtaWRlbnRpZmllclwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcInRleHQvY3NzXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY2hhcnNldDogXCJVVEYtOFwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWUsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImNzc1wiXVxuICAgICAgfSxcbiAgICAgIFwidGV4dC9jc3ZcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWUsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImNzdlwiXVxuICAgICAgfSxcbiAgICAgIFwidGV4dC9jc3Ytc2NoZW1hXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwidGV4dC9kaXJlY3RvcnlcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJ0ZXh0L2Ruc1wiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcInRleHQvZWNtYXNjcmlwdFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJhcGFjaGVcIlxuICAgICAgfSxcbiAgICAgIFwidGV4dC9lbmNhcHJ0cFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcInRleHQvZW5yaWNoZWRcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJ0ZXh0L2ZoaXJwYXRoXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwidGV4dC9mbGV4ZmVjXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwidGV4dC9md2RyZWRcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJ0ZXh0L2dmZjNcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJ0ZXh0L2dyYW1tYXItcmVmLWxpc3RcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJ0ZXh0L2hsN3YyXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwidGV4dC9odG1sXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJodG1sXCIsIFwiaHRtXCIsIFwic2h0bWxcIl1cbiAgICAgIH0sXG4gICAgICBcInRleHQvamFkZVwiOiB7XG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImphZGVcIl1cbiAgICAgIH0sXG4gICAgICBcInRleHQvamF2YXNjcmlwdFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNoYXJzZXQ6IFwiVVRGLThcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJqc1wiLCBcIm1qc1wiXVxuICAgICAgfSxcbiAgICAgIFwidGV4dC9qY3ItY25kXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwidGV4dC9qc3hcIjoge1xuICAgICAgICBjb21wcmVzc2libGU6IHRydWUsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImpzeFwiXVxuICAgICAgfSxcbiAgICAgIFwidGV4dC9sZXNzXCI6IHtcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJsZXNzXCJdXG4gICAgICB9LFxuICAgICAgXCJ0ZXh0L21hcmtkb3duXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJtZFwiLCBcIm1hcmtkb3duXCJdXG4gICAgICB9LFxuICAgICAgXCJ0ZXh0L21hdGhtbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJuZ2lueFwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJtbWxcIl1cbiAgICAgIH0sXG4gICAgICBcInRleHQvbWR4XCI6IHtcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJtZHhcIl1cbiAgICAgIH0sXG4gICAgICBcInRleHQvbWl6YXJcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJ0ZXh0L24zXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY2hhcnNldDogXCJVVEYtOFwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWUsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcIm4zXCJdXG4gICAgICB9LFxuICAgICAgXCJ0ZXh0L3BhcmFtZXRlcnNcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjaGFyc2V0OiBcIlVURi04XCJcbiAgICAgIH0sXG4gICAgICBcInRleHQvcGFyaXR5ZmVjXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwidGV4dC9wbGFpblwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZSxcbiAgICAgICAgZXh0ZW5zaW9uczogW1widHh0XCIsIFwidGV4dFwiLCBcImNvbmZcIiwgXCJkZWZcIiwgXCJsaXN0XCIsIFwibG9nXCIsIFwiaW5cIiwgXCJpbmlcIl1cbiAgICAgIH0sXG4gICAgICBcInRleHQvcHJvdmVuYW5jZS1ub3RhdGlvblwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNoYXJzZXQ6IFwiVVRGLThcIlxuICAgICAgfSxcbiAgICAgIFwidGV4dC9wcnMuZmFsbGVuc3RlaW4ucnN0XCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwidGV4dC9wcnMubGluZXMudGFnXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wiZHNjXCJdXG4gICAgICB9LFxuICAgICAgXCJ0ZXh0L3Bycy5wcm9wLmxvZ2ljXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwidGV4dC9wcnMudGV4aVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcInRleHQvcmFwdG9yZmVjXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwidGV4dC9yZWRcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJ0ZXh0L3JmYzgyMi1oZWFkZXJzXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwidGV4dC9yaWNodGV4dFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZSxcbiAgICAgICAgZXh0ZW5zaW9uczogW1wicnR4XCJdXG4gICAgICB9LFxuICAgICAgXCJ0ZXh0L3J0ZlwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZSxcbiAgICAgICAgZXh0ZW5zaW9uczogW1wicnRmXCJdXG4gICAgICB9LFxuICAgICAgXCJ0ZXh0L3J0cC1lbmMtYWVzY20xMjhcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJ0ZXh0L3J0cGxvb3BiYWNrXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwidGV4dC9ydHhcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJ0ZXh0L3NnbWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJzZ21sXCIsIFwic2dtXCJdXG4gICAgICB9LFxuICAgICAgXCJ0ZXh0L3NoYWNsY1wiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcInRleHQvc2hleFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcInNoZXhcIl1cbiAgICAgIH0sXG4gICAgICBcInRleHQvc2xpbVwiOiB7XG4gICAgICAgIGV4dGVuc2lvbnM6IFtcInNsaW1cIiwgXCJzbG1cIl1cbiAgICAgIH0sXG4gICAgICBcInRleHQvc3BkeFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcInNwZHhcIl1cbiAgICAgIH0sXG4gICAgICBcInRleHQvc3RyaW5nc1wiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcInRleHQvc3R5bHVzXCI6IHtcbiAgICAgICAgZXh0ZW5zaW9uczogW1wic3R5bHVzXCIsIFwic3R5bFwiXVxuICAgICAgfSxcbiAgICAgIFwidGV4dC90MTQwXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwidGV4dC90YWItc2VwYXJhdGVkLXZhbHVlc1wiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZSxcbiAgICAgICAgZXh0ZW5zaW9uczogW1widHN2XCJdXG4gICAgICB9LFxuICAgICAgXCJ0ZXh0L3Ryb2ZmXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1widFwiLCBcInRyXCIsIFwicm9mZlwiLCBcIm1hblwiLCBcIm1lXCIsIFwibXNcIl1cbiAgICAgIH0sXG4gICAgICBcInRleHQvdHVydGxlXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY2hhcnNldDogXCJVVEYtOFwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJ0dGxcIl1cbiAgICAgIH0sXG4gICAgICBcInRleHQvdWxwZmVjXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwidGV4dC91cmktbGlzdFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZSxcbiAgICAgICAgZXh0ZW5zaW9uczogW1widXJpXCIsIFwidXJpc1wiLCBcInVybHNcIl1cbiAgICAgIH0sXG4gICAgICBcInRleHQvdmNhcmRcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWUsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcInZjYXJkXCJdXG4gICAgICB9LFxuICAgICAgXCJ0ZXh0L3ZuZC5hXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwidGV4dC92bmQuYWJjXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwidGV4dC92bmQuYXNjaWktYXJ0XCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwidGV4dC92bmQuY3VybFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImN1cmxcIl1cbiAgICAgIH0sXG4gICAgICBcInRleHQvdm5kLmN1cmwuZGN1cmxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiYXBhY2hlXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImRjdXJsXCJdXG4gICAgICB9LFxuICAgICAgXCJ0ZXh0L3ZuZC5jdXJsLm1jdXJsXCI6IHtcbiAgICAgICAgc291cmNlOiBcImFwYWNoZVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJtY3VybFwiXVxuICAgICAgfSxcbiAgICAgIFwidGV4dC92bmQuY3VybC5zY3VybFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJhcGFjaGVcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wic2N1cmxcIl1cbiAgICAgIH0sXG4gICAgICBcInRleHQvdm5kLmRlYmlhbi5jb3B5cmlnaHRcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjaGFyc2V0OiBcIlVURi04XCJcbiAgICAgIH0sXG4gICAgICBcInRleHQvdm5kLmRtY2xpZW50c2NyaXB0XCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwidGV4dC92bmQuZHZiLnN1YnRpdGxlXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wic3ViXCJdXG4gICAgICB9LFxuICAgICAgXCJ0ZXh0L3ZuZC5lc21lcnRlYy50aGVtZS1kZXNjcmlwdG9yXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY2hhcnNldDogXCJVVEYtOFwiXG4gICAgICB9LFxuICAgICAgXCJ0ZXh0L3ZuZC5leGNoYW5nZWFibGVcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJ0ZXh0L3ZuZC5mYW1pbHlzZWFyY2guZ2VkY29tXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wiZ2VkXCJdXG4gICAgICB9LFxuICAgICAgXCJ0ZXh0L3ZuZC5maWNsYWIuZmx0XCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwidGV4dC92bmQuZmx5XCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wiZmx5XCJdXG4gICAgICB9LFxuICAgICAgXCJ0ZXh0L3ZuZC5mbWkuZmxleHN0b3JcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJmbHhcIl1cbiAgICAgIH0sXG4gICAgICBcInRleHQvdm5kLmdtbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcInRleHQvdm5kLmdyYXBodml6XCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wiZ3ZcIl1cbiAgICAgIH0sXG4gICAgICBcInRleHQvdm5kLmhhbnNcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJ0ZXh0L3ZuZC5oZ2xcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJ0ZXh0L3ZuZC5pbjNkLjNkbWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCIzZG1sXCJdXG4gICAgICB9LFxuICAgICAgXCJ0ZXh0L3ZuZC5pbjNkLnNwb3RcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJzcG90XCJdXG4gICAgICB9LFxuICAgICAgXCJ0ZXh0L3ZuZC5pcHRjLm5ld3NtbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcInRleHQvdm5kLmlwdGMubml0ZlwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcInRleHQvdm5kLmxhdGV4LXpcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJ0ZXh0L3ZuZC5tb3Rvcm9sYS5yZWZsZXhcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJ0ZXh0L3ZuZC5tcy1tZWRpYXBhY2thZ2VcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJ0ZXh0L3ZuZC5uZXQycGhvbmUuY29tbWNlbnRlci5jb21tYW5kXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwidGV4dC92bmQucmFkaXN5cy5tc21sLWJhc2ljLWxheW91dFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcInRleHQvdm5kLnNlbngud2FycHNjcmlwdFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcInRleHQvdm5kLnNpLnVyaWNhdGFsb2d1ZVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJhcGFjaGVcIlxuICAgICAgfSxcbiAgICAgIFwidGV4dC92bmQuc29zaVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcInRleHQvdm5kLnN1bi5qMm1lLmFwcC1kZXNjcmlwdG9yXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY2hhcnNldDogXCJVVEYtOFwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJqYWRcIl1cbiAgICAgIH0sXG4gICAgICBcInRleHQvdm5kLnRyb2xsdGVjaC5saW5ndWlzdFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNoYXJzZXQ6IFwiVVRGLThcIlxuICAgICAgfSxcbiAgICAgIFwidGV4dC92bmQudmNmXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwidGV4dC92bmQud2FwLnNpXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwidGV4dC92bmQud2FwLnNsXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwidGV4dC92bmQud2FwLndtbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcIndtbFwiXVxuICAgICAgfSxcbiAgICAgIFwidGV4dC92bmQud2FwLndtbHNjcmlwdFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcIndtbHNcIl1cbiAgICAgIH0sXG4gICAgICBcInRleHQvdm5kLnpvby5rY2xcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJ0ZXh0L3Z0dFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGNoYXJzZXQ6IFwiVVRGLThcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJ2dHRcIl1cbiAgICAgIH0sXG4gICAgICBcInRleHQvd2dzbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcIndnc2xcIl1cbiAgICAgIH0sXG4gICAgICBcInRleHQveC1hc21cIjoge1xuICAgICAgICBzb3VyY2U6IFwiYXBhY2hlXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcInNcIiwgXCJhc21cIl1cbiAgICAgIH0sXG4gICAgICBcInRleHQveC1jXCI6IHtcbiAgICAgICAgc291cmNlOiBcImFwYWNoZVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJjXCIsIFwiY2NcIiwgXCJjeHhcIiwgXCJjcHBcIiwgXCJoXCIsIFwiaGhcIiwgXCJkaWNcIl1cbiAgICAgIH0sXG4gICAgICBcInRleHQveC1jb21wb25lbnRcIjoge1xuICAgICAgICBzb3VyY2U6IFwibmdpbnhcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wiaHRjXCJdXG4gICAgICB9LFxuICAgICAgXCJ0ZXh0L3gtZm9ydHJhblwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJhcGFjaGVcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wiZlwiLCBcImZvclwiLCBcImY3N1wiLCBcImY5MFwiXVxuICAgICAgfSxcbiAgICAgIFwidGV4dC94LWd3dC1ycGNcIjoge1xuICAgICAgICBjb21wcmVzc2libGU6IHRydWVcbiAgICAgIH0sXG4gICAgICBcInRleHQveC1oYW5kbGViYXJzLXRlbXBsYXRlXCI6IHtcbiAgICAgICAgZXh0ZW5zaW9uczogW1wiaGJzXCJdXG4gICAgICB9LFxuICAgICAgXCJ0ZXh0L3gtamF2YS1zb3VyY2VcIjoge1xuICAgICAgICBzb3VyY2U6IFwiYXBhY2hlXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImphdmFcIl1cbiAgICAgIH0sXG4gICAgICBcInRleHQveC1qcXVlcnktdG1wbFwiOiB7XG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIFwidGV4dC94LWx1YVwiOiB7XG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImx1YVwiXVxuICAgICAgfSxcbiAgICAgIFwidGV4dC94LW1hcmtkb3duXCI6IHtcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJta2RcIl1cbiAgICAgIH0sXG4gICAgICBcInRleHQveC1uZm9cIjoge1xuICAgICAgICBzb3VyY2U6IFwiYXBhY2hlXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcIm5mb1wiXVxuICAgICAgfSxcbiAgICAgIFwidGV4dC94LW9wbWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiYXBhY2hlXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcIm9wbWxcIl1cbiAgICAgIH0sXG4gICAgICBcInRleHQveC1vcmdcIjoge1xuICAgICAgICBjb21wcmVzc2libGU6IHRydWUsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcIm9yZ1wiXVxuICAgICAgfSxcbiAgICAgIFwidGV4dC94LXBhc2NhbFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJhcGFjaGVcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wicFwiLCBcInBhc1wiXVxuICAgICAgfSxcbiAgICAgIFwidGV4dC94LXByb2Nlc3NpbmdcIjoge1xuICAgICAgICBjb21wcmVzc2libGU6IHRydWUsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcInBkZVwiXVxuICAgICAgfSxcbiAgICAgIFwidGV4dC94LXNhc3NcIjoge1xuICAgICAgICBleHRlbnNpb25zOiBbXCJzYXNzXCJdXG4gICAgICB9LFxuICAgICAgXCJ0ZXh0L3gtc2Nzc1wiOiB7XG4gICAgICAgIGV4dGVuc2lvbnM6IFtcInNjc3NcIl1cbiAgICAgIH0sXG4gICAgICBcInRleHQveC1zZXRleHRcIjoge1xuICAgICAgICBzb3VyY2U6IFwiYXBhY2hlXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImV0eFwiXVxuICAgICAgfSxcbiAgICAgIFwidGV4dC94LXNmdlwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJhcGFjaGVcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wic2Z2XCJdXG4gICAgICB9LFxuICAgICAgXCJ0ZXh0L3gtc3VzZS15bXBcIjoge1xuICAgICAgICBjb21wcmVzc2libGU6IHRydWUsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcInltcFwiXVxuICAgICAgfSxcbiAgICAgIFwidGV4dC94LXV1ZW5jb2RlXCI6IHtcbiAgICAgICAgc291cmNlOiBcImFwYWNoZVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJ1dVwiXVxuICAgICAgfSxcbiAgICAgIFwidGV4dC94LXZjYWxlbmRhclwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJhcGFjaGVcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1widmNzXCJdXG4gICAgICB9LFxuICAgICAgXCJ0ZXh0L3gtdmNhcmRcIjoge1xuICAgICAgICBzb3VyY2U6IFwiYXBhY2hlXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcInZjZlwiXVxuICAgICAgfSxcbiAgICAgIFwidGV4dC94bWxcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IHRydWUsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcInhtbFwiXVxuICAgICAgfSxcbiAgICAgIFwidGV4dC94bWwtZXh0ZXJuYWwtcGFyc2VkLWVudGl0eVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcInRleHQveWFtbFwiOiB7XG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZSxcbiAgICAgICAgZXh0ZW5zaW9uczogW1wieWFtbFwiLCBcInltbFwiXVxuICAgICAgfSxcbiAgICAgIFwidmlkZW8vMWQtaW50ZXJsZWF2ZWQtcGFyaXR5ZmVjXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwidmlkZW8vM2dwcFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcIjNncFwiLCBcIjNncHBcIl1cbiAgICAgIH0sXG4gICAgICBcInZpZGVvLzNncHAtdHRcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJ2aWRlby8zZ3BwMlwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcIjNnMlwiXVxuICAgICAgfSxcbiAgICAgIFwidmlkZW8vYXYxXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwidmlkZW8vYm1wZWdcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJ2aWRlby9idDY1NlwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcInZpZGVvL2NlbGJcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJ2aWRlby9kdlwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcInZpZGVvL2VuY2FwcnRwXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwidmlkZW8vZXZjXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwidmlkZW8vZmZ2MVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcInZpZGVvL2ZsZXhmZWNcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJ2aWRlby9oMjYxXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wiaDI2MVwiXVxuICAgICAgfSxcbiAgICAgIFwidmlkZW8vaDI2M1wiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImgyNjNcIl1cbiAgICAgIH0sXG4gICAgICBcInZpZGVvL2gyNjMtMTk5OFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcInZpZGVvL2gyNjMtMjAwMFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcInZpZGVvL2gyNjRcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJoMjY0XCJdXG4gICAgICB9LFxuICAgICAgXCJ2aWRlby9oMjY0LXJjZG9cIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJ2aWRlby9oMjY0LXN2Y1wiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcInZpZGVvL2gyNjVcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJ2aWRlby9oMjY2XCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwidmlkZW8vaXNvLnNlZ21lbnRcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJtNHNcIl1cbiAgICAgIH0sXG4gICAgICBcInZpZGVvL2pwZWdcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJqcGd2XCJdXG4gICAgICB9LFxuICAgICAgXCJ2aWRlby9qcGVnMjAwMFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcInZpZGVvL2pwbVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJhcGFjaGVcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wianBtXCIsIFwianBnbVwiXVxuICAgICAgfSxcbiAgICAgIFwidmlkZW8vanhzdlwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcInZpZGVvL2xvdHRpZStqc29uXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJ2aWRlby9tYXRyb3NrYVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcInZpZGVvL21hdHJvc2thLTNkXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwidmlkZW8vbWoyXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wibWoyXCIsIFwibWpwMlwiXVxuICAgICAgfSxcbiAgICAgIFwidmlkZW8vbXAxc1wiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcInZpZGVvL21wMnBcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJ2aWRlby9tcDJ0XCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1widHNcIiwgXCJtMnRcIiwgXCJtMnRzXCIsIFwibXRzXCJdXG4gICAgICB9LFxuICAgICAgXCJ2aWRlby9tcDRcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IGZhbHNlLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJtcDRcIiwgXCJtcDR2XCIsIFwibXBnNFwiXVxuICAgICAgfSxcbiAgICAgIFwidmlkZW8vbXA0di1lc1wiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcInZpZGVvL21wZWdcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IGZhbHNlLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJtcGVnXCIsIFwibXBnXCIsIFwibXBlXCIsIFwibTF2XCIsIFwibTJ2XCJdXG4gICAgICB9LFxuICAgICAgXCJ2aWRlby9tcGVnNC1nZW5lcmljXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwidmlkZW8vbXB2XCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwidmlkZW8vbnZcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJ2aWRlby9vZ2dcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IGZhbHNlLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJvZ3ZcIl1cbiAgICAgIH0sXG4gICAgICBcInZpZGVvL3Bhcml0eWZlY1wiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcInZpZGVvL3BvaW50ZXJcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJ2aWRlby9xdWlja3RpbWVcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IGZhbHNlLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJxdFwiLCBcIm1vdlwiXVxuICAgICAgfSxcbiAgICAgIFwidmlkZW8vcmFwdG9yZmVjXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwidmlkZW8vcmF3XCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwidmlkZW8vcnRwLWVuYy1hZXNjbTEyOFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcInZpZGVvL3J0cGxvb3BiYWNrXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwidmlkZW8vcnR4XCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwidmlkZW8vc2NpcFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcInZpZGVvL3NtcHRlMjkxXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwidmlkZW8vc21wdGUyOTJtXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwidmlkZW8vdWxwZmVjXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwidmlkZW8vdmMxXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwidmlkZW8vdmMyXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwidmlkZW8vdm5kLmNjdHZcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJ2aWRlby92bmQuZGVjZS5oZFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcInV2aFwiLCBcInV2dmhcIl1cbiAgICAgIH0sXG4gICAgICBcInZpZGVvL3ZuZC5kZWNlLm1vYmlsZVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcInV2bVwiLCBcInV2dm1cIl1cbiAgICAgIH0sXG4gICAgICBcInZpZGVvL3ZuZC5kZWNlLm1wNFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcInZpZGVvL3ZuZC5kZWNlLnBkXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1widXZwXCIsIFwidXZ2cFwiXVxuICAgICAgfSxcbiAgICAgIFwidmlkZW8vdm5kLmRlY2Uuc2RcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJ1dnNcIiwgXCJ1dnZzXCJdXG4gICAgICB9LFxuICAgICAgXCJ2aWRlby92bmQuZGVjZS52aWRlb1wiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcInV2dlwiLCBcInV2dnZcIl1cbiAgICAgIH0sXG4gICAgICBcInZpZGVvL3ZuZC5kaXJlY3R2Lm1wZWdcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJ2aWRlby92bmQuZGlyZWN0di5tcGVnLXR0c1wiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcInZpZGVvL3ZuZC5kbG5hLm1wZWctdHRzXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwidmlkZW8vdm5kLmR2Yi5maWxlXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wiZHZiXCJdXG4gICAgICB9LFxuICAgICAgXCJ2aWRlby92bmQuZnZ0XCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wiZnZ0XCJdXG4gICAgICB9LFxuICAgICAgXCJ2aWRlby92bmQuaG5zLnZpZGVvXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwidmlkZW8vdm5kLmlwdHZmb3J1bS4xZHBhcml0eWZlYy0xMDEwXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwidmlkZW8vdm5kLmlwdHZmb3J1bS4xZHBhcml0eWZlYy0yMDA1XCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwidmlkZW8vdm5kLmlwdHZmb3J1bS4yZHBhcml0eWZlYy0xMDEwXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwidmlkZW8vdm5kLmlwdHZmb3J1bS4yZHBhcml0eWZlYy0yMDA1XCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwidmlkZW8vdm5kLmlwdHZmb3J1bS50dHNhdmNcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJ2aWRlby92bmQuaXB0dmZvcnVtLnR0c21wZWcyXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwidmlkZW8vdm5kLm1vdG9yb2xhLnZpZGVvXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwidmlkZW8vdm5kLm1vdG9yb2xhLnZpZGVvcFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcInZpZGVvL3ZuZC5tcGVndXJsXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wibXh1XCIsIFwibTR1XCJdXG4gICAgICB9LFxuICAgICAgXCJ2aWRlby92bmQubXMtcGxheXJlYWR5Lm1lZGlhLnB5dlwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcInB5dlwiXVxuICAgICAgfSxcbiAgICAgIFwidmlkZW8vdm5kLm5va2lhLmludGVybGVhdmVkLW11bHRpbWVkaWFcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJ2aWRlby92bmQubm9raWEubXA0dnJcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJ2aWRlby92bmQubm9raWEudmlkZW92b2lwXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwidmlkZW8vdm5kLm9iamVjdHZpZGVvXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwidmlkZW8vdm5kLnBsYW5hclwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcInZpZGVvL3ZuZC5yYWRnYW1ldHRvb2xzLmJpbmtcIjoge1xuICAgICAgICBzb3VyY2U6IFwiaWFuYVwiXG4gICAgICB9LFxuICAgICAgXCJ2aWRlby92bmQucmFkZ2FtZXR0b29scy5zbWFja2VyXCI6IHtcbiAgICAgICAgc291cmNlOiBcImFwYWNoZVwiXG4gICAgICB9LFxuICAgICAgXCJ2aWRlby92bmQuc2VhbGVkLm1wZWcxXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwidmlkZW8vdm5kLnNlYWxlZC5tcGVnNFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcInZpZGVvL3ZuZC5zZWFsZWQuc3dmXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIlxuICAgICAgfSxcbiAgICAgIFwidmlkZW8vdm5kLnNlYWxlZG1lZGlhLnNvZnRzZWFsLm1vdlwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcInZpZGVvL3ZuZC51dnZ1Lm1wNFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcInV2dVwiLCBcInV2dnVcIl1cbiAgICAgIH0sXG4gICAgICBcInZpZGVvL3ZuZC52aXZvXCI6IHtcbiAgICAgICAgc291cmNlOiBcImlhbmFcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1widml2XCJdXG4gICAgICB9LFxuICAgICAgXCJ2aWRlby92bmQueW91dHViZS55dFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcInZpZGVvL3ZwOFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcInZpZGVvL3ZwOVwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJpYW5hXCJcbiAgICAgIH0sXG4gICAgICBcInZpZGVvL3dlYm1cIjoge1xuICAgICAgICBzb3VyY2U6IFwiYXBhY2hlXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogZmFsc2UsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcIndlYm1cIl1cbiAgICAgIH0sXG4gICAgICBcInZpZGVvL3gtZjR2XCI6IHtcbiAgICAgICAgc291cmNlOiBcImFwYWNoZVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJmNHZcIl1cbiAgICAgIH0sXG4gICAgICBcInZpZGVvL3gtZmxpXCI6IHtcbiAgICAgICAgc291cmNlOiBcImFwYWNoZVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJmbGlcIl1cbiAgICAgIH0sXG4gICAgICBcInZpZGVvL3gtZmx2XCI6IHtcbiAgICAgICAgc291cmNlOiBcImFwYWNoZVwiLFxuICAgICAgICBjb21wcmVzc2libGU6IGZhbHNlLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJmbHZcIl1cbiAgICAgIH0sXG4gICAgICBcInZpZGVvL3gtbTR2XCI6IHtcbiAgICAgICAgc291cmNlOiBcImFwYWNoZVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJtNHZcIl1cbiAgICAgIH0sXG4gICAgICBcInZpZGVvL3gtbWF0cm9za2FcIjoge1xuICAgICAgICBzb3VyY2U6IFwiYXBhY2hlXCIsXG4gICAgICAgIGNvbXByZXNzaWJsZTogZmFsc2UsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcIm1rdlwiLCBcIm1rM2RcIiwgXCJta3NcIl1cbiAgICAgIH0sXG4gICAgICBcInZpZGVvL3gtbW5nXCI6IHtcbiAgICAgICAgc291cmNlOiBcImFwYWNoZVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJtbmdcIl1cbiAgICAgIH0sXG4gICAgICBcInZpZGVvL3gtbXMtYXNmXCI6IHtcbiAgICAgICAgc291cmNlOiBcImFwYWNoZVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJhc2ZcIiwgXCJhc3hcIl1cbiAgICAgIH0sXG4gICAgICBcInZpZGVvL3gtbXMtdm9iXCI6IHtcbiAgICAgICAgc291cmNlOiBcImFwYWNoZVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXCJ2b2JcIl1cbiAgICAgIH0sXG4gICAgICBcInZpZGVvL3gtbXMtd21cIjoge1xuICAgICAgICBzb3VyY2U6IFwiYXBhY2hlXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcIndtXCJdXG4gICAgICB9LFxuICAgICAgXCJ2aWRlby94LW1zLXdtdlwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJhcGFjaGVcIixcbiAgICAgICAgY29tcHJlc3NpYmxlOiBmYWxzZSxcbiAgICAgICAgZXh0ZW5zaW9uczogW1wid212XCJdXG4gICAgICB9LFxuICAgICAgXCJ2aWRlby94LW1zLXdteFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJhcGFjaGVcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wid214XCJdXG4gICAgICB9LFxuICAgICAgXCJ2aWRlby94LW1zLXd2eFwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJhcGFjaGVcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wid3Z4XCJdXG4gICAgICB9LFxuICAgICAgXCJ2aWRlby94LW1zdmlkZW9cIjoge1xuICAgICAgICBzb3VyY2U6IFwiYXBhY2hlXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcImF2aVwiXVxuICAgICAgfSxcbiAgICAgIFwidmlkZW8veC1zZ2ktbW92aWVcIjoge1xuICAgICAgICBzb3VyY2U6IFwiYXBhY2hlXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcIm1vdmllXCJdXG4gICAgICB9LFxuICAgICAgXCJ2aWRlby94LXNtdlwiOiB7XG4gICAgICAgIHNvdXJjZTogXCJhcGFjaGVcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wic212XCJdXG4gICAgICB9LFxuICAgICAgXCJ4LWNvbmZlcmVuY2UveC1jb29sdGFsa1wiOiB7XG4gICAgICAgIHNvdXJjZTogXCJhcGFjaGVcIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1wiaWNlXCJdXG4gICAgICB9LFxuICAgICAgXCJ4LXNoYWRlci94LWZyYWdtZW50XCI6IHtcbiAgICAgICAgY29tcHJlc3NpYmxlOiB0cnVlXG4gICAgICB9LFxuICAgICAgXCJ4LXNoYWRlci94LXZlcnRleFwiOiB7XG4gICAgICAgIGNvbXByZXNzaWJsZTogdHJ1ZVxuICAgICAgfVxuICAgIH07XG4gIH1cbn0pO1xuXG4vLyBub2RlX21vZHVsZXMvc2VuZC9ub2RlX21vZHVsZXMvbWltZS1kYi9pbmRleC5qc1xudmFyIHJlcXVpcmVfbWltZV9kYjQgPSBfX2NvbW1vbkpTKHtcbiAgXCJub2RlX21vZHVsZXMvc2VuZC9ub2RlX21vZHVsZXMvbWltZS1kYi9pbmRleC5qc1wiKGV4cG9ydHMyLCBtb2R1bGUyKSB7XG4gICAgbW9kdWxlMi5leHBvcnRzID0gcmVxdWlyZV9kYjQoKTtcbiAgfVxufSk7XG5cbi8vIG5vZGVfbW9kdWxlcy9zZW5kL25vZGVfbW9kdWxlcy9taW1lLXR5cGVzL21pbWVTY29yZS5qc1xudmFyIHJlcXVpcmVfbWltZVNjb3JlNCA9IF9fY29tbW9uSlMoe1xuICBcIm5vZGVfbW9kdWxlcy9zZW5kL25vZGVfbW9kdWxlcy9taW1lLXR5cGVzL21pbWVTY29yZS5qc1wiKGV4cG9ydHMyLCBtb2R1bGUyKSB7XG4gICAgdmFyIEZBQ0VUX1NDT1JFUyA9IHtcbiAgICAgIFwicHJzLlwiOiAxMDAsXG4gICAgICBcIngtXCI6IDIwMCxcbiAgICAgIFwieC5cIjogMzAwLFxuICAgICAgXCJ2bmQuXCI6IDQwMCxcbiAgICAgIGRlZmF1bHQ6IDkwMFxuICAgIH07XG4gICAgdmFyIFNPVVJDRV9TQ09SRVMgPSB7XG4gICAgICBuZ2lueDogMTAsXG4gICAgICBhcGFjaGU6IDIwLFxuICAgICAgaWFuYTogNDAsXG4gICAgICBkZWZhdWx0OiAzMFxuICAgICAgLy8gZGVmaW5pdGlvbnMgYWRkZWQgYnkgYGpzaHR0cC9taW1lLWRiYCBwcm9qZWN0P1xuICAgIH07XG4gICAgdmFyIFRZUEVfU0NPUkVTID0ge1xuICAgICAgLy8gcHJlZmVyIGFwcGxpY2F0aW9uL3htbCBvdmVyIHRleHQveG1sXG4gICAgICAvLyBwcmVmZXIgYXBwbGljYXRpb24vcnRmIG92ZXIgdGV4dC9ydGZcbiAgICAgIGFwcGxpY2F0aW9uOiAxLFxuICAgICAgLy8gcHJlZmVyIGZvbnQvd29mZiBvdmVyIGFwcGxpY2F0aW9uL2ZvbnQtd29mZlxuICAgICAgZm9udDogMixcbiAgICAgIGRlZmF1bHQ6IDBcbiAgICB9O1xuICAgIG1vZHVsZTIuZXhwb3J0cyA9IGZ1bmN0aW9uIG1pbWVTY29yZShtaW1lVHlwZSwgc291cmNlID0gXCJkZWZhdWx0XCIpIHtcbiAgICAgIGlmIChtaW1lVHlwZSA9PT0gXCJhcHBsaWNhdGlvbi9vY3RldC1zdHJlYW1cIikge1xuICAgICAgICByZXR1cm4gMDtcbiAgICAgIH1cbiAgICAgIGNvbnN0IFt0eXBlLCBzdWJ0eXBlXSA9IG1pbWVUeXBlLnNwbGl0KFwiL1wiKTtcbiAgICAgIGNvbnN0IGZhY2V0ID0gc3VidHlwZS5yZXBsYWNlKC8oXFwufHgtKS4qLywgXCIkMVwiKTtcbiAgICAgIGNvbnN0IGZhY2V0U2NvcmUgPSBGQUNFVF9TQ09SRVNbZmFjZXRdIHx8IEZBQ0VUX1NDT1JFUy5kZWZhdWx0O1xuICAgICAgY29uc3Qgc291cmNlU2NvcmUgPSBTT1VSQ0VfU0NPUkVTW3NvdXJjZV0gfHwgU09VUkNFX1NDT1JFUy5kZWZhdWx0O1xuICAgICAgY29uc3QgdHlwZVNjb3JlID0gVFlQRV9TQ09SRVNbdHlwZV0gfHwgVFlQRV9TQ09SRVMuZGVmYXVsdDtcbiAgICAgIGNvbnN0IGxlbmd0aFNjb3JlID0gMSAtIG1pbWVUeXBlLmxlbmd0aCAvIDEwMDtcbiAgICAgIHJldHVybiBmYWNldFNjb3JlICsgc291cmNlU2NvcmUgKyB0eXBlU2NvcmUgKyBsZW5ndGhTY29yZTtcbiAgICB9O1xuICB9XG59KTtcblxuLy8gbm9kZV9tb2R1bGVzL3NlbmQvbm9kZV9tb2R1bGVzL21pbWUtdHlwZXMvaW5kZXguanNcbnZhciByZXF1aXJlX21pbWVfdHlwZXM0ID0gX19jb21tb25KUyh7XG4gIFwibm9kZV9tb2R1bGVzL3NlbmQvbm9kZV9tb2R1bGVzL21pbWUtdHlwZXMvaW5kZXguanNcIihleHBvcnRzMikge1xuICAgIFwidXNlIHN0cmljdFwiO1xuICAgIHZhciBkYiA9IHJlcXVpcmVfbWltZV9kYjQoKTtcbiAgICB2YXIgZXh0bmFtZSA9IHJlcXVpcmUoXCJwYXRoXCIpLmV4dG5hbWU7XG4gICAgdmFyIG1pbWVTY29yZSA9IHJlcXVpcmVfbWltZVNjb3JlNCgpO1xuICAgIHZhciBFWFRSQUNUX1RZUEVfUkVHRVhQID0gL15cXHMqKFteO1xcc10qKSg/Ojt8XFxzfCQpLztcbiAgICB2YXIgVEVYVF9UWVBFX1JFR0VYUCA9IC9edGV4dFxcLy9pO1xuICAgIGV4cG9ydHMyLmNoYXJzZXQgPSBjaGFyc2V0O1xuICAgIGV4cG9ydHMyLmNoYXJzZXRzID0geyBsb29rdXA6IGNoYXJzZXQgfTtcbiAgICBleHBvcnRzMi5jb250ZW50VHlwZSA9IGNvbnRlbnRUeXBlMjtcbiAgICBleHBvcnRzMi5leHRlbnNpb24gPSBleHRlbnNpb247XG4gICAgZXhwb3J0czIuZXh0ZW5zaW9ucyA9IC8qIEBfX1BVUkVfXyAqLyBPYmplY3QuY3JlYXRlKG51bGwpO1xuICAgIGV4cG9ydHMyLmxvb2t1cCA9IGxvb2t1cDtcbiAgICBleHBvcnRzMi50eXBlcyA9IC8qIEBfX1BVUkVfXyAqLyBPYmplY3QuY3JlYXRlKG51bGwpO1xuICAgIGV4cG9ydHMyLl9leHRlbnNpb25Db25mbGljdHMgPSBbXTtcbiAgICBwb3B1bGF0ZU1hcHMoZXhwb3J0czIuZXh0ZW5zaW9ucywgZXhwb3J0czIudHlwZXMpO1xuICAgIGZ1bmN0aW9uIGNoYXJzZXQodHlwZSkge1xuICAgICAgaWYgKCF0eXBlIHx8IHR5cGVvZiB0eXBlICE9PSBcInN0cmluZ1wiKSB7XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgIH1cbiAgICAgIHZhciBtYXRjaCA9IEVYVFJBQ1RfVFlQRV9SRUdFWFAuZXhlYyh0eXBlKTtcbiAgICAgIHZhciBtaW1lID0gbWF0Y2ggJiYgZGJbbWF0Y2hbMV0udG9Mb3dlckNhc2UoKV07XG4gICAgICBpZiAobWltZSAmJiBtaW1lLmNoYXJzZXQpIHtcbiAgICAgICAgcmV0dXJuIG1pbWUuY2hhcnNldDtcbiAgICAgIH1cbiAgICAgIGlmIChtYXRjaCAmJiBURVhUX1RZUEVfUkVHRVhQLnRlc3QobWF0Y2hbMV0pKSB7XG4gICAgICAgIHJldHVybiBcIlVURi04XCI7XG4gICAgICB9XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuICAgIGZ1bmN0aW9uIGNvbnRlbnRUeXBlMihzdHIpIHtcbiAgICAgIGlmICghc3RyIHx8IHR5cGVvZiBzdHIgIT09IFwic3RyaW5nXCIpIHtcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgfVxuICAgICAgdmFyIG1pbWUgPSBzdHIuaW5kZXhPZihcIi9cIikgPT09IC0xID8gZXhwb3J0czIubG9va3VwKHN0cikgOiBzdHI7XG4gICAgICBpZiAoIW1pbWUpIHtcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgfVxuICAgICAgaWYgKG1pbWUuaW5kZXhPZihcImNoYXJzZXRcIikgPT09IC0xKSB7XG4gICAgICAgIHZhciBjaGFyc2V0MiA9IGV4cG9ydHMyLmNoYXJzZXQobWltZSk7XG4gICAgICAgIGlmIChjaGFyc2V0MikgbWltZSArPSBcIjsgY2hhcnNldD1cIiArIGNoYXJzZXQyLnRvTG93ZXJDYXNlKCk7XG4gICAgICB9XG4gICAgICByZXR1cm4gbWltZTtcbiAgICB9XG4gICAgZnVuY3Rpb24gZXh0ZW5zaW9uKHR5cGUpIHtcbiAgICAgIGlmICghdHlwZSB8fCB0eXBlb2YgdHlwZSAhPT0gXCJzdHJpbmdcIikge1xuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICB9XG4gICAgICB2YXIgbWF0Y2ggPSBFWFRSQUNUX1RZUEVfUkVHRVhQLmV4ZWModHlwZSk7XG4gICAgICB2YXIgZXh0cyA9IG1hdGNoICYmIGV4cG9ydHMyLmV4dGVuc2lvbnNbbWF0Y2hbMV0udG9Mb3dlckNhc2UoKV07XG4gICAgICBpZiAoIWV4dHMgfHwgIWV4dHMubGVuZ3RoKSB7XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgIH1cbiAgICAgIHJldHVybiBleHRzWzBdO1xuICAgIH1cbiAgICBmdW5jdGlvbiBsb29rdXAocGF0aCkge1xuICAgICAgaWYgKCFwYXRoIHx8IHR5cGVvZiBwYXRoICE9PSBcInN0cmluZ1wiKSB7XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgIH1cbiAgICAgIHZhciBleHRlbnNpb24yID0gZXh0bmFtZShcInguXCIgKyBwYXRoKS50b0xvd2VyQ2FzZSgpLnNsaWNlKDEpO1xuICAgICAgaWYgKCFleHRlbnNpb24yKSB7XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgIH1cbiAgICAgIHJldHVybiBleHBvcnRzMi50eXBlc1tleHRlbnNpb24yXSB8fCBmYWxzZTtcbiAgICB9XG4gICAgZnVuY3Rpb24gcG9wdWxhdGVNYXBzKGV4dGVuc2lvbnMsIHR5cGVzKSB7XG4gICAgICBPYmplY3Qua2V5cyhkYikuZm9yRWFjaChmdW5jdGlvbiBmb3JFYWNoTWltZVR5cGUodHlwZSkge1xuICAgICAgICB2YXIgbWltZSA9IGRiW3R5cGVdO1xuICAgICAgICB2YXIgZXh0cyA9IG1pbWUuZXh0ZW5zaW9ucztcbiAgICAgICAgaWYgKCFleHRzIHx8ICFleHRzLmxlbmd0aCkge1xuICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBleHRlbnNpb25zW3R5cGVdID0gZXh0cztcbiAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBleHRzLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgICAgdmFyIGV4dGVuc2lvbjIgPSBleHRzW2ldO1xuICAgICAgICAgIHR5cGVzW2V4dGVuc2lvbjJdID0gX3ByZWZlcnJlZFR5cGUoZXh0ZW5zaW9uMiwgdHlwZXNbZXh0ZW5zaW9uMl0sIHR5cGUpO1xuICAgICAgICAgIGNvbnN0IGxlZ2FjeVR5cGUgPSBfcHJlZmVycmVkVHlwZUxlZ2FjeShcbiAgICAgICAgICAgIGV4dGVuc2lvbjIsXG4gICAgICAgICAgICB0eXBlc1tleHRlbnNpb24yXSxcbiAgICAgICAgICAgIHR5cGVcbiAgICAgICAgICApO1xuICAgICAgICAgIGlmIChsZWdhY3lUeXBlICE9PSB0eXBlc1tleHRlbnNpb24yXSkge1xuICAgICAgICAgICAgZXhwb3J0czIuX2V4dGVuc2lvbkNvbmZsaWN0cy5wdXNoKFtleHRlbnNpb24yLCBsZWdhY3lUeXBlLCB0eXBlc1tleHRlbnNpb24yXV0pO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgfVxuICAgIGZ1bmN0aW9uIF9wcmVmZXJyZWRUeXBlKGV4dCwgdHlwZTAsIHR5cGUxKSB7XG4gICAgICB2YXIgc2NvcmUwID0gdHlwZTAgPyBtaW1lU2NvcmUodHlwZTAsIGRiW3R5cGUwXS5zb3VyY2UpIDogMDtcbiAgICAgIHZhciBzY29yZTEgPSB0eXBlMSA/IG1pbWVTY29yZSh0eXBlMSwgZGJbdHlwZTFdLnNvdXJjZSkgOiAwO1xuICAgICAgcmV0dXJuIHNjb3JlMCA+IHNjb3JlMSA/IHR5cGUwIDogdHlwZTE7XG4gICAgfVxuICAgIGZ1bmN0aW9uIF9wcmVmZXJyZWRUeXBlTGVnYWN5KGV4dCwgdHlwZTAsIHR5cGUxKSB7XG4gICAgICB2YXIgU09VUkNFX1JBTksgPSBbXCJuZ2lueFwiLCBcImFwYWNoZVwiLCB2b2lkIDAsIFwiaWFuYVwiXTtcbiAgICAgIHZhciBzY29yZTAgPSB0eXBlMCA/IFNPVVJDRV9SQU5LLmluZGV4T2YoZGJbdHlwZTBdLnNvdXJjZSkgOiAwO1xuICAgICAgdmFyIHNjb3JlMSA9IHR5cGUxID8gU09VUkNFX1JBTksuaW5kZXhPZihkYlt0eXBlMV0uc291cmNlKSA6IDA7XG4gICAgICBpZiAoZXhwb3J0czIudHlwZXNbZXh0ZW5zaW9uXSAhPT0gXCJhcHBsaWNhdGlvbi9vY3RldC1zdHJlYW1cIiAmJiAoc2NvcmUwID4gc2NvcmUxIHx8IHNjb3JlMCA9PT0gc2NvcmUxICYmIGV4cG9ydHMyLnR5cGVzW2V4dGVuc2lvbl0/LnNsaWNlKDAsIDEyKSA9PT0gXCJhcHBsaWNhdGlvbi9cIikpIHtcbiAgICAgICAgcmV0dXJuIHR5cGUwO1xuICAgICAgfVxuICAgICAgcmV0dXJuIHNjb3JlMCA+IHNjb3JlMSA/IHR5cGUwIDogdHlwZTE7XG4gICAgfVxuICB9XG59KTtcblxuLy8gbm9kZV9tb2R1bGVzL3NlbmQvaW5kZXguanNcbnZhciByZXF1aXJlX3NlbmQgPSBfX2NvbW1vbkpTKHtcbiAgXCJub2RlX21vZHVsZXMvc2VuZC9pbmRleC5qc1wiKGV4cG9ydHMyLCBtb2R1bGUyKSB7XG4gICAgXCJ1c2Ugc3RyaWN0XCI7XG4gICAgdmFyIGNyZWF0ZUVycm9yID0gcmVxdWlyZV9odHRwX2Vycm9ycygpO1xuICAgIHZhciBkZWJ1ZyA9IHJlcXVpcmVfc3JjKCkoXCJzZW5kXCIpO1xuICAgIHZhciBlbmNvZGVVcmwgPSByZXF1aXJlX2VuY29kZXVybCgpO1xuICAgIHZhciBlc2NhcGVIdG1sID0gcmVxdWlyZV9lc2NhcGVfaHRtbCgpO1xuICAgIHZhciBldGFnID0gcmVxdWlyZV9ldGFnKCk7XG4gICAgdmFyIGZyZXNoID0gcmVxdWlyZV9mcmVzaCgpO1xuICAgIHZhciBmcyA9IHJlcXVpcmUoXCJmc1wiKTtcbiAgICB2YXIgbWltZSA9IHJlcXVpcmVfbWltZV90eXBlczQoKTtcbiAgICB2YXIgbXMgPSByZXF1aXJlX21zKCk7XG4gICAgdmFyIG9uRmluaXNoZWQgPSByZXF1aXJlX29uX2ZpbmlzaGVkKCk7XG4gICAgdmFyIHBhcnNlUmFuZ2UgPSByZXF1aXJlX3JhbmdlX3BhcnNlcigpO1xuICAgIHZhciBwYXRoID0gcmVxdWlyZShcInBhdGhcIik7XG4gICAgdmFyIHN0YXR1c2VzID0gcmVxdWlyZV9zdGF0dXNlcygpO1xuICAgIHZhciBTdHJlYW0gPSByZXF1aXJlKFwic3RyZWFtXCIpO1xuICAgIHZhciB1dGlsMiA9IHJlcXVpcmUoXCJ1dGlsXCIpO1xuICAgIHZhciBleHRuYW1lID0gcGF0aC5leHRuYW1lO1xuICAgIHZhciBqb2luID0gcGF0aC5qb2luO1xuICAgIHZhciBub3JtYWxpemUgPSBwYXRoLm5vcm1hbGl6ZTtcbiAgICB2YXIgcmVzb2x2ZSA9IHBhdGgucmVzb2x2ZTtcbiAgICB2YXIgc2VwID0gcGF0aC5zZXA7XG4gICAgdmFyIEJZVEVTX1JBTkdFX1JFR0VYUCA9IC9eICpieXRlcz0vO1xuICAgIHZhciBNQVhfTUFYQUdFID0gNjAgKiA2MCAqIDI0ICogMzY1ICogMWUzO1xuICAgIHZhciBVUF9QQVRIX1JFR0VYUCA9IC8oPzpefFtcXFxcL10pXFwuXFwuKD86W1xcXFwvXXwkKS87XG4gICAgbW9kdWxlMi5leHBvcnRzID0gc2VuZDtcbiAgICBmdW5jdGlvbiBzZW5kKHJlcSwgcGF0aDIsIG9wdGlvbnMpIHtcbiAgICAgIHJldHVybiBuZXcgU2VuZFN0cmVhbShyZXEsIHBhdGgyLCBvcHRpb25zKTtcbiAgICB9XG4gICAgZnVuY3Rpb24gU2VuZFN0cmVhbShyZXEsIHBhdGgyLCBvcHRpb25zKSB7XG4gICAgICBTdHJlYW0uY2FsbCh0aGlzKTtcbiAgICAgIHZhciBvcHRzID0gb3B0aW9ucyB8fCB7fTtcbiAgICAgIHRoaXMub3B0aW9ucyA9IG9wdHM7XG4gICAgICB0aGlzLnBhdGggPSBwYXRoMjtcbiAgICAgIHRoaXMucmVxID0gcmVxO1xuICAgICAgdGhpcy5fYWNjZXB0UmFuZ2VzID0gb3B0cy5hY2NlcHRSYW5nZXMgIT09IHZvaWQgMCA/IEJvb2xlYW4ob3B0cy5hY2NlcHRSYW5nZXMpIDogdHJ1ZTtcbiAgICAgIHRoaXMuX2NhY2hlQ29udHJvbCA9IG9wdHMuY2FjaGVDb250cm9sICE9PSB2b2lkIDAgPyBCb29sZWFuKG9wdHMuY2FjaGVDb250cm9sKSA6IHRydWU7XG4gICAgICB0aGlzLl9ldGFnID0gb3B0cy5ldGFnICE9PSB2b2lkIDAgPyBCb29sZWFuKG9wdHMuZXRhZykgOiB0cnVlO1xuICAgICAgdGhpcy5fZG90ZmlsZXMgPSBvcHRzLmRvdGZpbGVzICE9PSB2b2lkIDAgPyBvcHRzLmRvdGZpbGVzIDogXCJpZ25vcmVcIjtcbiAgICAgIGlmICh0aGlzLl9kb3RmaWxlcyAhPT0gXCJpZ25vcmVcIiAmJiB0aGlzLl9kb3RmaWxlcyAhPT0gXCJhbGxvd1wiICYmIHRoaXMuX2RvdGZpbGVzICE9PSBcImRlbnlcIikge1xuICAgICAgICB0aHJvdyBuZXcgVHlwZUVycm9yKCdkb3RmaWxlcyBvcHRpb24gbXVzdCBiZSBcImFsbG93XCIsIFwiZGVueVwiLCBvciBcImlnbm9yZVwiJyk7XG4gICAgICB9XG4gICAgICB0aGlzLl9leHRlbnNpb25zID0gb3B0cy5leHRlbnNpb25zICE9PSB2b2lkIDAgPyBub3JtYWxpemVMaXN0KG9wdHMuZXh0ZW5zaW9ucywgXCJleHRlbnNpb25zIG9wdGlvblwiKSA6IFtdO1xuICAgICAgdGhpcy5faW1tdXRhYmxlID0gb3B0cy5pbW11dGFibGUgIT09IHZvaWQgMCA/IEJvb2xlYW4ob3B0cy5pbW11dGFibGUpIDogZmFsc2U7XG4gICAgICB0aGlzLl9pbmRleCA9IG9wdHMuaW5kZXggIT09IHZvaWQgMCA/IG5vcm1hbGl6ZUxpc3Qob3B0cy5pbmRleCwgXCJpbmRleCBvcHRpb25cIikgOiBbXCJpbmRleC5odG1sXCJdO1xuICAgICAgdGhpcy5fbGFzdE1vZGlmaWVkID0gb3B0cy5sYXN0TW9kaWZpZWQgIT09IHZvaWQgMCA/IEJvb2xlYW4ob3B0cy5sYXN0TW9kaWZpZWQpIDogdHJ1ZTtcbiAgICAgIHRoaXMuX21heGFnZSA9IG9wdHMubWF4QWdlIHx8IG9wdHMubWF4YWdlO1xuICAgICAgdGhpcy5fbWF4YWdlID0gdHlwZW9mIHRoaXMuX21heGFnZSA9PT0gXCJzdHJpbmdcIiA/IG1zKHRoaXMuX21heGFnZSkgOiBOdW1iZXIodGhpcy5fbWF4YWdlKTtcbiAgICAgIHRoaXMuX21heGFnZSA9ICFpc05hTih0aGlzLl9tYXhhZ2UpID8gTWF0aC5taW4oTWF0aC5tYXgoMCwgdGhpcy5fbWF4YWdlKSwgTUFYX01BWEFHRSkgOiAwO1xuICAgICAgdGhpcy5fcm9vdCA9IG9wdHMucm9vdCA/IHJlc29sdmUob3B0cy5yb290KSA6IG51bGw7XG4gICAgfVxuICAgIHV0aWwyLmluaGVyaXRzKFNlbmRTdHJlYW0sIFN0cmVhbSk7XG4gICAgU2VuZFN0cmVhbS5wcm90b3R5cGUuZXJyb3IgPSBmdW5jdGlvbiBlcnJvcihzdGF0dXMsIGVycjIpIHtcbiAgICAgIGlmIChoYXNMaXN0ZW5lcnModGhpcywgXCJlcnJvclwiKSkge1xuICAgICAgICByZXR1cm4gdGhpcy5lbWl0KFwiZXJyb3JcIiwgY3JlYXRlSHR0cEVycm9yKHN0YXR1cywgZXJyMikpO1xuICAgICAgfVxuICAgICAgdmFyIHJlcyA9IHRoaXMucmVzO1xuICAgICAgdmFyIG1zZyA9IHN0YXR1c2VzLm1lc3NhZ2Vbc3RhdHVzXSB8fCBTdHJpbmcoc3RhdHVzKTtcbiAgICAgIHZhciBkb2MgPSBjcmVhdGVIdG1sRG9jdW1lbnQoXCJFcnJvclwiLCBlc2NhcGVIdG1sKG1zZykpO1xuICAgICAgY2xlYXJIZWFkZXJzKHJlcyk7XG4gICAgICBpZiAoZXJyMiAmJiBlcnIyLmhlYWRlcnMpIHtcbiAgICAgICAgc2V0SGVhZGVycyhyZXMsIGVycjIuaGVhZGVycyk7XG4gICAgICB9XG4gICAgICByZXMuc3RhdHVzQ29kZSA9IHN0YXR1cztcbiAgICAgIHJlcy5zZXRIZWFkZXIoXCJDb250ZW50LVR5cGVcIiwgXCJ0ZXh0L2h0bWw7IGNoYXJzZXQ9VVRGLThcIik7XG4gICAgICByZXMuc2V0SGVhZGVyKFwiQ29udGVudC1MZW5ndGhcIiwgQnVmZmVyLmJ5dGVMZW5ndGgoZG9jKSk7XG4gICAgICByZXMuc2V0SGVhZGVyKFwiQ29udGVudC1TZWN1cml0eS1Qb2xpY3lcIiwgXCJkZWZhdWx0LXNyYyAnbm9uZSdcIik7XG4gICAgICByZXMuc2V0SGVhZGVyKFwiWC1Db250ZW50LVR5cGUtT3B0aW9uc1wiLCBcIm5vc25pZmZcIik7XG4gICAgICByZXMuZW5kKGRvYyk7XG4gICAgfTtcbiAgICBTZW5kU3RyZWFtLnByb3RvdHlwZS5oYXNUcmFpbGluZ1NsYXNoID0gZnVuY3Rpb24gaGFzVHJhaWxpbmdTbGFzaCgpIHtcbiAgICAgIHJldHVybiB0aGlzLnBhdGhbdGhpcy5wYXRoLmxlbmd0aCAtIDFdID09PSBcIi9cIjtcbiAgICB9O1xuICAgIFNlbmRTdHJlYW0ucHJvdG90eXBlLmlzQ29uZGl0aW9uYWxHRVQgPSBmdW5jdGlvbiBpc0NvbmRpdGlvbmFsR0VUKCkge1xuICAgICAgcmV0dXJuIHRoaXMucmVxLmhlYWRlcnNbXCJpZi1tYXRjaFwiXSB8fCB0aGlzLnJlcS5oZWFkZXJzW1wiaWYtdW5tb2RpZmllZC1zaW5jZVwiXSB8fCB0aGlzLnJlcS5oZWFkZXJzW1wiaWYtbm9uZS1tYXRjaFwiXSB8fCB0aGlzLnJlcS5oZWFkZXJzW1wiaWYtbW9kaWZpZWQtc2luY2VcIl07XG4gICAgfTtcbiAgICBTZW5kU3RyZWFtLnByb3RvdHlwZS5pc1ByZWNvbmRpdGlvbkZhaWx1cmUgPSBmdW5jdGlvbiBpc1ByZWNvbmRpdGlvbkZhaWx1cmUoKSB7XG4gICAgICB2YXIgcmVxID0gdGhpcy5yZXE7XG4gICAgICB2YXIgcmVzID0gdGhpcy5yZXM7XG4gICAgICB2YXIgbWF0Y2ggPSByZXEuaGVhZGVyc1tcImlmLW1hdGNoXCJdO1xuICAgICAgaWYgKG1hdGNoKSB7XG4gICAgICAgIHZhciBldGFnMiA9IHJlcy5nZXRIZWFkZXIoXCJFVGFnXCIpO1xuICAgICAgICByZXR1cm4gIWV0YWcyIHx8IG1hdGNoICE9PSBcIipcIiAmJiBwYXJzZVRva2VuTGlzdChtYXRjaCkuZXZlcnkoZnVuY3Rpb24obWF0Y2gyKSB7XG4gICAgICAgICAgcmV0dXJuIG1hdGNoMiAhPT0gZXRhZzIgJiYgbWF0Y2gyICE9PSBcIlcvXCIgKyBldGFnMiAmJiBcIlcvXCIgKyBtYXRjaDIgIT09IGV0YWcyO1xuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICAgIHZhciB1bm1vZGlmaWVkU2luY2UgPSBwYXJzZUh0dHBEYXRlKHJlcS5oZWFkZXJzW1wiaWYtdW5tb2RpZmllZC1zaW5jZVwiXSk7XG4gICAgICBpZiAoIWlzTmFOKHVubW9kaWZpZWRTaW5jZSkpIHtcbiAgICAgICAgdmFyIGxhc3RNb2RpZmllZCA9IHBhcnNlSHR0cERhdGUocmVzLmdldEhlYWRlcihcIkxhc3QtTW9kaWZpZWRcIikpO1xuICAgICAgICByZXR1cm4gaXNOYU4obGFzdE1vZGlmaWVkKSB8fCBsYXN0TW9kaWZpZWQgPiB1bm1vZGlmaWVkU2luY2U7XG4gICAgICB9XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfTtcbiAgICBTZW5kU3RyZWFtLnByb3RvdHlwZS5yZW1vdmVDb250ZW50SGVhZGVyRmllbGRzID0gZnVuY3Rpb24gcmVtb3ZlQ29udGVudEhlYWRlckZpZWxkcygpIHtcbiAgICAgIHZhciByZXMgPSB0aGlzLnJlcztcbiAgICAgIHJlcy5yZW1vdmVIZWFkZXIoXCJDb250ZW50LUVuY29kaW5nXCIpO1xuICAgICAgcmVzLnJlbW92ZUhlYWRlcihcIkNvbnRlbnQtTGFuZ3VhZ2VcIik7XG4gICAgICByZXMucmVtb3ZlSGVhZGVyKFwiQ29udGVudC1MZW5ndGhcIik7XG4gICAgICByZXMucmVtb3ZlSGVhZGVyKFwiQ29udGVudC1SYW5nZVwiKTtcbiAgICAgIHJlcy5yZW1vdmVIZWFkZXIoXCJDb250ZW50LVR5cGVcIik7XG4gICAgfTtcbiAgICBTZW5kU3RyZWFtLnByb3RvdHlwZS5ub3RNb2RpZmllZCA9IGZ1bmN0aW9uIG5vdE1vZGlmaWVkKCkge1xuICAgICAgdmFyIHJlcyA9IHRoaXMucmVzO1xuICAgICAgZGVidWcoXCJub3QgbW9kaWZpZWRcIik7XG4gICAgICB0aGlzLnJlbW92ZUNvbnRlbnRIZWFkZXJGaWVsZHMoKTtcbiAgICAgIHJlcy5zdGF0dXNDb2RlID0gMzA0O1xuICAgICAgcmVzLmVuZCgpO1xuICAgIH07XG4gICAgU2VuZFN0cmVhbS5wcm90b3R5cGUuaGVhZGVyc0FscmVhZHlTZW50ID0gZnVuY3Rpb24gaGVhZGVyc0FscmVhZHlTZW50KCkge1xuICAgICAgdmFyIGVycjIgPSBuZXcgRXJyb3IoXCJDYW4ndCBzZXQgaGVhZGVycyBhZnRlciB0aGV5IGFyZSBzZW50LlwiKTtcbiAgICAgIGRlYnVnKFwiaGVhZGVycyBhbHJlYWR5IHNlbnRcIik7XG4gICAgICB0aGlzLmVycm9yKDUwMCwgZXJyMik7XG4gICAgfTtcbiAgICBTZW5kU3RyZWFtLnByb3RvdHlwZS5pc0NhY2hhYmxlID0gZnVuY3Rpb24gaXNDYWNoYWJsZSgpIHtcbiAgICAgIHZhciBzdGF0dXNDb2RlID0gdGhpcy5yZXMuc3RhdHVzQ29kZTtcbiAgICAgIHJldHVybiBzdGF0dXNDb2RlID49IDIwMCAmJiBzdGF0dXNDb2RlIDwgMzAwIHx8IHN0YXR1c0NvZGUgPT09IDMwNDtcbiAgICB9O1xuICAgIFNlbmRTdHJlYW0ucHJvdG90eXBlLm9uU3RhdEVycm9yID0gZnVuY3Rpb24gb25TdGF0RXJyb3IoZXJyb3IpIHtcbiAgICAgIHN3aXRjaCAoZXJyb3IuY29kZSkge1xuICAgICAgICBjYXNlIFwiRU5BTUVUT09MT05HXCI6XG4gICAgICAgIGNhc2UgXCJFTk9FTlRcIjpcbiAgICAgICAgY2FzZSBcIkVOT1RESVJcIjpcbiAgICAgICAgICB0aGlzLmVycm9yKDQwNCwgZXJyb3IpO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgIHRoaXMuZXJyb3IoNTAwLCBlcnJvcik7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICB9XG4gICAgfTtcbiAgICBTZW5kU3RyZWFtLnByb3RvdHlwZS5pc0ZyZXNoID0gZnVuY3Rpb24gaXNGcmVzaCgpIHtcbiAgICAgIHJldHVybiBmcmVzaCh0aGlzLnJlcS5oZWFkZXJzLCB7XG4gICAgICAgIGV0YWc6IHRoaXMucmVzLmdldEhlYWRlcihcIkVUYWdcIiksXG4gICAgICAgIFwibGFzdC1tb2RpZmllZFwiOiB0aGlzLnJlcy5nZXRIZWFkZXIoXCJMYXN0LU1vZGlmaWVkXCIpXG4gICAgICB9KTtcbiAgICB9O1xuICAgIFNlbmRTdHJlYW0ucHJvdG90eXBlLmlzUmFuZ2VGcmVzaCA9IGZ1bmN0aW9uIGlzUmFuZ2VGcmVzaCgpIHtcbiAgICAgIHZhciBpZlJhbmdlID0gdGhpcy5yZXEuaGVhZGVyc1tcImlmLXJhbmdlXCJdO1xuICAgICAgaWYgKCFpZlJhbmdlKSB7XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgfVxuICAgICAgaWYgKGlmUmFuZ2UuaW5kZXhPZignXCInKSAhPT0gLTEpIHtcbiAgICAgICAgdmFyIGV0YWcyID0gdGhpcy5yZXMuZ2V0SGVhZGVyKFwiRVRhZ1wiKTtcbiAgICAgICAgcmV0dXJuIEJvb2xlYW4oZXRhZzIgJiYgaWZSYW5nZS5pbmRleE9mKGV0YWcyKSAhPT0gLTEpO1xuICAgICAgfVxuICAgICAgdmFyIGxhc3RNb2RpZmllZCA9IHRoaXMucmVzLmdldEhlYWRlcihcIkxhc3QtTW9kaWZpZWRcIik7XG4gICAgICByZXR1cm4gcGFyc2VIdHRwRGF0ZShsYXN0TW9kaWZpZWQpIDw9IHBhcnNlSHR0cERhdGUoaWZSYW5nZSk7XG4gICAgfTtcbiAgICBTZW5kU3RyZWFtLnByb3RvdHlwZS5yZWRpcmVjdCA9IGZ1bmN0aW9uIHJlZGlyZWN0KHBhdGgyKSB7XG4gICAgICB2YXIgcmVzID0gdGhpcy5yZXM7XG4gICAgICBpZiAoaGFzTGlzdGVuZXJzKHRoaXMsIFwiZGlyZWN0b3J5XCIpKSB7XG4gICAgICAgIHRoaXMuZW1pdChcImRpcmVjdG9yeVwiLCByZXMsIHBhdGgyKTtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuICAgICAgaWYgKHRoaXMuaGFzVHJhaWxpbmdTbGFzaCgpKSB7XG4gICAgICAgIHRoaXMuZXJyb3IoNDAzKTtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuICAgICAgdmFyIGxvYyA9IGVuY29kZVVybChjb2xsYXBzZUxlYWRpbmdTbGFzaGVzKHRoaXMucGF0aCArIFwiL1wiKSk7XG4gICAgICB2YXIgZG9jID0gY3JlYXRlSHRtbERvY3VtZW50KFwiUmVkaXJlY3RpbmdcIiwgXCJSZWRpcmVjdGluZyB0byBcIiArIGVzY2FwZUh0bWwobG9jKSk7XG4gICAgICByZXMuc3RhdHVzQ29kZSA9IDMwMTtcbiAgICAgIHJlcy5zZXRIZWFkZXIoXCJDb250ZW50LVR5cGVcIiwgXCJ0ZXh0L2h0bWw7IGNoYXJzZXQ9VVRGLThcIik7XG4gICAgICByZXMuc2V0SGVhZGVyKFwiQ29udGVudC1MZW5ndGhcIiwgQnVmZmVyLmJ5dGVMZW5ndGgoZG9jKSk7XG4gICAgICByZXMuc2V0SGVhZGVyKFwiQ29udGVudC1TZWN1cml0eS1Qb2xpY3lcIiwgXCJkZWZhdWx0LXNyYyAnbm9uZSdcIik7XG4gICAgICByZXMuc2V0SGVhZGVyKFwiWC1Db250ZW50LVR5cGUtT3B0aW9uc1wiLCBcIm5vc25pZmZcIik7XG4gICAgICByZXMuc2V0SGVhZGVyKFwiTG9jYXRpb25cIiwgbG9jKTtcbiAgICAgIHJlcy5lbmQoZG9jKTtcbiAgICB9O1xuICAgIFNlbmRTdHJlYW0ucHJvdG90eXBlLnBpcGUgPSBmdW5jdGlvbiBwaXBlKHJlcykge1xuICAgICAgdmFyIHJvb3QgPSB0aGlzLl9yb290O1xuICAgICAgdGhpcy5yZXMgPSByZXM7XG4gICAgICB2YXIgcGF0aDIgPSBkZWNvZGUodGhpcy5wYXRoKTtcbiAgICAgIGlmIChwYXRoMiA9PT0gLTEpIHtcbiAgICAgICAgdGhpcy5lcnJvcig0MDApO1xuICAgICAgICByZXR1cm4gcmVzO1xuICAgICAgfVxuICAgICAgaWYgKH5wYXRoMi5pbmRleE9mKFwiXFwwXCIpKSB7XG4gICAgICAgIHRoaXMuZXJyb3IoNDAwKTtcbiAgICAgICAgcmV0dXJuIHJlcztcbiAgICAgIH1cbiAgICAgIHZhciBwYXJ0cztcbiAgICAgIGlmIChyb290ICE9PSBudWxsKSB7XG4gICAgICAgIGlmIChwYXRoMikge1xuICAgICAgICAgIHBhdGgyID0gbm9ybWFsaXplKFwiLlwiICsgc2VwICsgcGF0aDIpO1xuICAgICAgICB9XG4gICAgICAgIGlmIChVUF9QQVRIX1JFR0VYUC50ZXN0KHBhdGgyKSkge1xuICAgICAgICAgIGRlYnVnKCdtYWxpY2lvdXMgcGF0aCBcIiVzXCInLCBwYXRoMik7XG4gICAgICAgICAgdGhpcy5lcnJvcig0MDMpO1xuICAgICAgICAgIHJldHVybiByZXM7XG4gICAgICAgIH1cbiAgICAgICAgcGFydHMgPSBwYXRoMi5zcGxpdChzZXApO1xuICAgICAgICBwYXRoMiA9IG5vcm1hbGl6ZShqb2luKHJvb3QsIHBhdGgyKSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBpZiAoVVBfUEFUSF9SRUdFWFAudGVzdChwYXRoMikpIHtcbiAgICAgICAgICBkZWJ1ZygnbWFsaWNpb3VzIHBhdGggXCIlc1wiJywgcGF0aDIpO1xuICAgICAgICAgIHRoaXMuZXJyb3IoNDAzKTtcbiAgICAgICAgICByZXR1cm4gcmVzO1xuICAgICAgICB9XG4gICAgICAgIHBhcnRzID0gbm9ybWFsaXplKHBhdGgyKS5zcGxpdChzZXApO1xuICAgICAgICBwYXRoMiA9IHJlc29sdmUocGF0aDIpO1xuICAgICAgfVxuICAgICAgaWYgKGNvbnRhaW5zRG90RmlsZShwYXJ0cykpIHtcbiAgICAgICAgZGVidWcoJyVzIGRvdGZpbGUgXCIlc1wiJywgdGhpcy5fZG90ZmlsZXMsIHBhdGgyKTtcbiAgICAgICAgc3dpdGNoICh0aGlzLl9kb3RmaWxlcykge1xuICAgICAgICAgIGNhc2UgXCJhbGxvd1wiOlxuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgY2FzZSBcImRlbnlcIjpcbiAgICAgICAgICAgIHRoaXMuZXJyb3IoNDAzKTtcbiAgICAgICAgICAgIHJldHVybiByZXM7XG4gICAgICAgICAgY2FzZSBcImlnbm9yZVwiOlxuICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICB0aGlzLmVycm9yKDQwNCk7XG4gICAgICAgICAgICByZXR1cm4gcmVzO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICBpZiAodGhpcy5faW5kZXgubGVuZ3RoICYmIHRoaXMuaGFzVHJhaWxpbmdTbGFzaCgpKSB7XG4gICAgICAgIHRoaXMuc2VuZEluZGV4KHBhdGgyKTtcbiAgICAgICAgcmV0dXJuIHJlcztcbiAgICAgIH1cbiAgICAgIHRoaXMuc2VuZEZpbGUocGF0aDIpO1xuICAgICAgcmV0dXJuIHJlcztcbiAgICB9O1xuICAgIFNlbmRTdHJlYW0ucHJvdG90eXBlLnNlbmQgPSBmdW5jdGlvbiBzZW5kMihwYXRoMiwgc3RhdCkge1xuICAgICAgdmFyIGxlbiA9IHN0YXQuc2l6ZTtcbiAgICAgIHZhciBvcHRpb25zID0gdGhpcy5vcHRpb25zO1xuICAgICAgdmFyIG9wdHMgPSB7fTtcbiAgICAgIHZhciByZXMgPSB0aGlzLnJlcztcbiAgICAgIHZhciByZXEgPSB0aGlzLnJlcTtcbiAgICAgIHZhciByYW5nZXMgPSByZXEuaGVhZGVycy5yYW5nZTtcbiAgICAgIHZhciBvZmZzZXQgPSBvcHRpb25zLnN0YXJ0IHx8IDA7XG4gICAgICBpZiAocmVzLmhlYWRlcnNTZW50KSB7XG4gICAgICAgIHRoaXMuaGVhZGVyc0FscmVhZHlTZW50KCk7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cbiAgICAgIGRlYnVnKCdwaXBlIFwiJXNcIicsIHBhdGgyKTtcbiAgICAgIHRoaXMuc2V0SGVhZGVyKHBhdGgyLCBzdGF0KTtcbiAgICAgIHRoaXMudHlwZShwYXRoMik7XG4gICAgICBpZiAodGhpcy5pc0NvbmRpdGlvbmFsR0VUKCkpIHtcbiAgICAgICAgaWYgKHRoaXMuaXNQcmVjb25kaXRpb25GYWlsdXJlKCkpIHtcbiAgICAgICAgICB0aGlzLmVycm9yKDQxMik7XG4gICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIGlmICh0aGlzLmlzQ2FjaGFibGUoKSAmJiB0aGlzLmlzRnJlc2goKSkge1xuICAgICAgICAgIHRoaXMubm90TW9kaWZpZWQoKTtcbiAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIGxlbiA9IE1hdGgubWF4KDAsIGxlbiAtIG9mZnNldCk7XG4gICAgICBpZiAob3B0aW9ucy5lbmQgIT09IHZvaWQgMCkge1xuICAgICAgICB2YXIgYnl0ZXMgPSBvcHRpb25zLmVuZCAtIG9mZnNldCArIDE7XG4gICAgICAgIGlmIChsZW4gPiBieXRlcykgbGVuID0gYnl0ZXM7XG4gICAgICB9XG4gICAgICBpZiAodGhpcy5fYWNjZXB0UmFuZ2VzICYmIEJZVEVTX1JBTkdFX1JFR0VYUC50ZXN0KHJhbmdlcykpIHtcbiAgICAgICAgcmFuZ2VzID0gcGFyc2VSYW5nZShsZW4sIHJhbmdlcywge1xuICAgICAgICAgIGNvbWJpbmU6IHRydWVcbiAgICAgICAgfSk7XG4gICAgICAgIGlmICghdGhpcy5pc1JhbmdlRnJlc2goKSkge1xuICAgICAgICAgIGRlYnVnKFwicmFuZ2Ugc3RhbGVcIik7XG4gICAgICAgICAgcmFuZ2VzID0gLTI7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHJhbmdlcyA9PT0gLTEpIHtcbiAgICAgICAgICBkZWJ1ZyhcInJhbmdlIHVuc2F0aXNmaWFibGVcIik7XG4gICAgICAgICAgcmVzLnNldEhlYWRlcihcIkNvbnRlbnQtUmFuZ2VcIiwgY29udGVudFJhbmdlKFwiYnl0ZXNcIiwgbGVuKSk7XG4gICAgICAgICAgcmV0dXJuIHRoaXMuZXJyb3IoNDE2LCB7XG4gICAgICAgICAgICBoZWFkZXJzOiB7IFwiQ29udGVudC1SYW5nZVwiOiByZXMuZ2V0SGVhZGVyKFwiQ29udGVudC1SYW5nZVwiKSB9XG4gICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHJhbmdlcyAhPT0gLTIgJiYgcmFuZ2VzLmxlbmd0aCA9PT0gMSkge1xuICAgICAgICAgIGRlYnVnKFwicmFuZ2UgJWpcIiwgcmFuZ2VzKTtcbiAgICAgICAgICByZXMuc3RhdHVzQ29kZSA9IDIwNjtcbiAgICAgICAgICByZXMuc2V0SGVhZGVyKFwiQ29udGVudC1SYW5nZVwiLCBjb250ZW50UmFuZ2UoXCJieXRlc1wiLCBsZW4sIHJhbmdlc1swXSkpO1xuICAgICAgICAgIG9mZnNldCArPSByYW5nZXNbMF0uc3RhcnQ7XG4gICAgICAgICAgbGVuID0gcmFuZ2VzWzBdLmVuZCAtIHJhbmdlc1swXS5zdGFydCArIDE7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIGZvciAodmFyIHByb3AgaW4gb3B0aW9ucykge1xuICAgICAgICBvcHRzW3Byb3BdID0gb3B0aW9uc1twcm9wXTtcbiAgICAgIH1cbiAgICAgIG9wdHMuc3RhcnQgPSBvZmZzZXQ7XG4gICAgICBvcHRzLmVuZCA9IE1hdGgubWF4KG9mZnNldCwgb2Zmc2V0ICsgbGVuIC0gMSk7XG4gICAgICByZXMuc2V0SGVhZGVyKFwiQ29udGVudC1MZW5ndGhcIiwgbGVuKTtcbiAgICAgIGlmIChyZXEubWV0aG9kID09PSBcIkhFQURcIikge1xuICAgICAgICByZXMuZW5kKCk7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cbiAgICAgIHRoaXMuc3RyZWFtKHBhdGgyLCBvcHRzKTtcbiAgICB9O1xuICAgIFNlbmRTdHJlYW0ucHJvdG90eXBlLnNlbmRGaWxlID0gZnVuY3Rpb24gc2VuZEZpbGUocGF0aDIpIHtcbiAgICAgIHZhciBpID0gMDtcbiAgICAgIHZhciBzZWxmMiA9IHRoaXM7XG4gICAgICBkZWJ1Zygnc3RhdCBcIiVzXCInLCBwYXRoMik7XG4gICAgICBmcy5zdGF0KHBhdGgyLCBmdW5jdGlvbiBvbnN0YXQoZXJyMiwgc3RhdCkge1xuICAgICAgICB2YXIgcGF0aEVuZHNXaXRoU2VwID0gcGF0aDJbcGF0aDIubGVuZ3RoIC0gMV0gPT09IHNlcDtcbiAgICAgICAgaWYgKGVycjIgJiYgZXJyMi5jb2RlID09PSBcIkVOT0VOVFwiICYmICFleHRuYW1lKHBhdGgyKSAmJiAhcGF0aEVuZHNXaXRoU2VwKSB7XG4gICAgICAgICAgcmV0dXJuIG5leHQoZXJyMik7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGVycjIpIHJldHVybiBzZWxmMi5vblN0YXRFcnJvcihlcnIyKTtcbiAgICAgICAgaWYgKHN0YXQuaXNEaXJlY3RvcnkoKSkgcmV0dXJuIHNlbGYyLnJlZGlyZWN0KHBhdGgyKTtcbiAgICAgICAgaWYgKHBhdGhFbmRzV2l0aFNlcCkgcmV0dXJuIHNlbGYyLmVycm9yKDQwNCk7XG4gICAgICAgIHNlbGYyLmVtaXQoXCJmaWxlXCIsIHBhdGgyLCBzdGF0KTtcbiAgICAgICAgc2VsZjIuc2VuZChwYXRoMiwgc3RhdCk7XG4gICAgICB9KTtcbiAgICAgIGZ1bmN0aW9uIG5leHQoZXJyMikge1xuICAgICAgICBpZiAoc2VsZjIuX2V4dGVuc2lvbnMubGVuZ3RoIDw9IGkpIHtcbiAgICAgICAgICByZXR1cm4gZXJyMiA/IHNlbGYyLm9uU3RhdEVycm9yKGVycjIpIDogc2VsZjIuZXJyb3IoNDA0KTtcbiAgICAgICAgfVxuICAgICAgICB2YXIgcCA9IHBhdGgyICsgXCIuXCIgKyBzZWxmMi5fZXh0ZW5zaW9uc1tpKytdO1xuICAgICAgICBkZWJ1Zygnc3RhdCBcIiVzXCInLCBwKTtcbiAgICAgICAgZnMuc3RhdChwLCBmdW5jdGlvbihlcnIzLCBzdGF0KSB7XG4gICAgICAgICAgaWYgKGVycjMpIHJldHVybiBuZXh0KGVycjMpO1xuICAgICAgICAgIGlmIChzdGF0LmlzRGlyZWN0b3J5KCkpIHJldHVybiBuZXh0KCk7XG4gICAgICAgICAgc2VsZjIuZW1pdChcImZpbGVcIiwgcCwgc3RhdCk7XG4gICAgICAgICAgc2VsZjIuc2VuZChwLCBzdGF0KTtcbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgfTtcbiAgICBTZW5kU3RyZWFtLnByb3RvdHlwZS5zZW5kSW5kZXggPSBmdW5jdGlvbiBzZW5kSW5kZXgocGF0aDIpIHtcbiAgICAgIHZhciBpID0gLTE7XG4gICAgICB2YXIgc2VsZjIgPSB0aGlzO1xuICAgICAgZnVuY3Rpb24gbmV4dChlcnIyKSB7XG4gICAgICAgIGlmICgrK2kgPj0gc2VsZjIuX2luZGV4Lmxlbmd0aCkge1xuICAgICAgICAgIGlmIChlcnIyKSByZXR1cm4gc2VsZjIub25TdGF0RXJyb3IoZXJyMik7XG4gICAgICAgICAgcmV0dXJuIHNlbGYyLmVycm9yKDQwNCk7XG4gICAgICAgIH1cbiAgICAgICAgdmFyIHAgPSBqb2luKHBhdGgyLCBzZWxmMi5faW5kZXhbaV0pO1xuICAgICAgICBkZWJ1Zygnc3RhdCBcIiVzXCInLCBwKTtcbiAgICAgICAgZnMuc3RhdChwLCBmdW5jdGlvbihlcnIzLCBzdGF0KSB7XG4gICAgICAgICAgaWYgKGVycjMpIHJldHVybiBuZXh0KGVycjMpO1xuICAgICAgICAgIGlmIChzdGF0LmlzRGlyZWN0b3J5KCkpIHJldHVybiBuZXh0KCk7XG4gICAgICAgICAgc2VsZjIuZW1pdChcImZpbGVcIiwgcCwgc3RhdCk7XG4gICAgICAgICAgc2VsZjIuc2VuZChwLCBzdGF0KTtcbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgICBuZXh0KCk7XG4gICAgfTtcbiAgICBTZW5kU3RyZWFtLnByb3RvdHlwZS5zdHJlYW0gPSBmdW5jdGlvbiBzdHJlYW0ocGF0aDIsIG9wdGlvbnMpIHtcbiAgICAgIHZhciBzZWxmMiA9IHRoaXM7XG4gICAgICB2YXIgcmVzID0gdGhpcy5yZXM7XG4gICAgICB2YXIgc3RyZWFtMiA9IGZzLmNyZWF0ZVJlYWRTdHJlYW0ocGF0aDIsIG9wdGlvbnMpO1xuICAgICAgdGhpcy5lbWl0KFwic3RyZWFtXCIsIHN0cmVhbTIpO1xuICAgICAgc3RyZWFtMi5waXBlKHJlcyk7XG4gICAgICBmdW5jdGlvbiBjbGVhbnVwKCkge1xuICAgICAgICBzdHJlYW0yLmRlc3Ryb3koKTtcbiAgICAgIH1cbiAgICAgIG9uRmluaXNoZWQocmVzLCBjbGVhbnVwKTtcbiAgICAgIHN0cmVhbTIub24oXCJlcnJvclwiLCBmdW5jdGlvbiBvbmVycm9yKGVycjIpIHtcbiAgICAgICAgY2xlYW51cCgpO1xuICAgICAgICBzZWxmMi5vblN0YXRFcnJvcihlcnIyKTtcbiAgICAgIH0pO1xuICAgICAgc3RyZWFtMi5vbihcImVuZFwiLCBmdW5jdGlvbiBvbmVuZCgpIHtcbiAgICAgICAgc2VsZjIuZW1pdChcImVuZFwiKTtcbiAgICAgIH0pO1xuICAgIH07XG4gICAgU2VuZFN0cmVhbS5wcm90b3R5cGUudHlwZSA9IGZ1bmN0aW9uIHR5cGUocGF0aDIpIHtcbiAgICAgIHZhciByZXMgPSB0aGlzLnJlcztcbiAgICAgIGlmIChyZXMuZ2V0SGVhZGVyKFwiQ29udGVudC1UeXBlXCIpKSByZXR1cm47XG4gICAgICB2YXIgZXh0ID0gZXh0bmFtZShwYXRoMik7XG4gICAgICB2YXIgdHlwZTIgPSBtaW1lLmNvbnRlbnRUeXBlKGV4dCkgfHwgXCJhcHBsaWNhdGlvbi9vY3RldC1zdHJlYW1cIjtcbiAgICAgIGRlYnVnKFwiY29udGVudC10eXBlICVzXCIsIHR5cGUyKTtcbiAgICAgIHJlcy5zZXRIZWFkZXIoXCJDb250ZW50LVR5cGVcIiwgdHlwZTIpO1xuICAgIH07XG4gICAgU2VuZFN0cmVhbS5wcm90b3R5cGUuc2V0SGVhZGVyID0gZnVuY3Rpb24gc2V0SGVhZGVyKHBhdGgyLCBzdGF0KSB7XG4gICAgICB2YXIgcmVzID0gdGhpcy5yZXM7XG4gICAgICB0aGlzLmVtaXQoXCJoZWFkZXJzXCIsIHJlcywgcGF0aDIsIHN0YXQpO1xuICAgICAgaWYgKHRoaXMuX2FjY2VwdFJhbmdlcyAmJiAhcmVzLmdldEhlYWRlcihcIkFjY2VwdC1SYW5nZXNcIikpIHtcbiAgICAgICAgZGVidWcoXCJhY2NlcHQgcmFuZ2VzXCIpO1xuICAgICAgICByZXMuc2V0SGVhZGVyKFwiQWNjZXB0LVJhbmdlc1wiLCBcImJ5dGVzXCIpO1xuICAgICAgfVxuICAgICAgaWYgKHRoaXMuX2NhY2hlQ29udHJvbCAmJiAhcmVzLmdldEhlYWRlcihcIkNhY2hlLUNvbnRyb2xcIikpIHtcbiAgICAgICAgdmFyIGNhY2hlQ29udHJvbCA9IFwicHVibGljLCBtYXgtYWdlPVwiICsgTWF0aC5mbG9vcih0aGlzLl9tYXhhZ2UgLyAxZTMpO1xuICAgICAgICBpZiAodGhpcy5faW1tdXRhYmxlKSB7XG4gICAgICAgICAgY2FjaGVDb250cm9sICs9IFwiLCBpbW11dGFibGVcIjtcbiAgICAgICAgfVxuICAgICAgICBkZWJ1ZyhcImNhY2hlLWNvbnRyb2wgJXNcIiwgY2FjaGVDb250cm9sKTtcbiAgICAgICAgcmVzLnNldEhlYWRlcihcIkNhY2hlLUNvbnRyb2xcIiwgY2FjaGVDb250cm9sKTtcbiAgICAgIH1cbiAgICAgIGlmICh0aGlzLl9sYXN0TW9kaWZpZWQgJiYgIXJlcy5nZXRIZWFkZXIoXCJMYXN0LU1vZGlmaWVkXCIpKSB7XG4gICAgICAgIHZhciBtb2RpZmllZCA9IHN0YXQubXRpbWUudG9VVENTdHJpbmcoKTtcbiAgICAgICAgZGVidWcoXCJtb2RpZmllZCAlc1wiLCBtb2RpZmllZCk7XG4gICAgICAgIHJlcy5zZXRIZWFkZXIoXCJMYXN0LU1vZGlmaWVkXCIsIG1vZGlmaWVkKTtcbiAgICAgIH1cbiAgICAgIGlmICh0aGlzLl9ldGFnICYmICFyZXMuZ2V0SGVhZGVyKFwiRVRhZ1wiKSkge1xuICAgICAgICB2YXIgdmFsID0gZXRhZyhzdGF0KTtcbiAgICAgICAgZGVidWcoXCJldGFnICVzXCIsIHZhbCk7XG4gICAgICAgIHJlcy5zZXRIZWFkZXIoXCJFVGFnXCIsIHZhbCk7XG4gICAgICB9XG4gICAgfTtcbiAgICBmdW5jdGlvbiBjbGVhckhlYWRlcnMocmVzKSB7XG4gICAgICBmb3IgKGNvbnN0IGhlYWRlciBvZiByZXMuZ2V0SGVhZGVyTmFtZXMoKSkge1xuICAgICAgICByZXMucmVtb3ZlSGVhZGVyKGhlYWRlcik7XG4gICAgICB9XG4gICAgfVxuICAgIGZ1bmN0aW9uIGNvbGxhcHNlTGVhZGluZ1NsYXNoZXMoc3RyKSB7XG4gICAgICBmb3IgKHZhciBpID0gMDsgaSA8IHN0ci5sZW5ndGg7IGkrKykge1xuICAgICAgICBpZiAoc3RyW2ldICE9PSBcIi9cIikge1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICByZXR1cm4gaSA+IDEgPyBcIi9cIiArIHN0ci5zdWJzdHIoaSkgOiBzdHI7XG4gICAgfVxuICAgIGZ1bmN0aW9uIGNvbnRhaW5zRG90RmlsZShwYXJ0cykge1xuICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBwYXJ0cy5sZW5ndGg7IGkrKykge1xuICAgICAgICB2YXIgcGFydCA9IHBhcnRzW2ldO1xuICAgICAgICBpZiAocGFydC5sZW5ndGggPiAxICYmIHBhcnRbMF0gPT09IFwiLlwiKSB7XG4gICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gICAgZnVuY3Rpb24gY29udGVudFJhbmdlKHR5cGUsIHNpemUsIHJhbmdlKSB7XG4gICAgICByZXR1cm4gdHlwZSArIFwiIFwiICsgKHJhbmdlID8gcmFuZ2Uuc3RhcnQgKyBcIi1cIiArIHJhbmdlLmVuZCA6IFwiKlwiKSArIFwiL1wiICsgc2l6ZTtcbiAgICB9XG4gICAgZnVuY3Rpb24gY3JlYXRlSHRtbERvY3VtZW50KHRpdGxlLCBib2R5KSB7XG4gICAgICByZXR1cm4gJzwhRE9DVFlQRSBodG1sPlxcbjxodG1sIGxhbmc9XCJlblwiPlxcbjxoZWFkPlxcbjxtZXRhIGNoYXJzZXQ9XCJ1dGYtOFwiPlxcbjx0aXRsZT4nICsgdGl0bGUgKyBcIjwvdGl0bGU+XFxuPC9oZWFkPlxcbjxib2R5PlxcbjxwcmU+XCIgKyBib2R5ICsgXCI8L3ByZT5cXG48L2JvZHk+XFxuPC9odG1sPlxcblwiO1xuICAgIH1cbiAgICBmdW5jdGlvbiBjcmVhdGVIdHRwRXJyb3Ioc3RhdHVzLCBlcnIyKSB7XG4gICAgICBpZiAoIWVycjIpIHtcbiAgICAgICAgcmV0dXJuIGNyZWF0ZUVycm9yKHN0YXR1cyk7XG4gICAgICB9XG4gICAgICByZXR1cm4gZXJyMiBpbnN0YW5jZW9mIEVycm9yID8gY3JlYXRlRXJyb3Ioc3RhdHVzLCBlcnIyLCB7IGV4cG9zZTogZmFsc2UgfSkgOiBjcmVhdGVFcnJvcihzdGF0dXMsIGVycjIpO1xuICAgIH1cbiAgICBmdW5jdGlvbiBkZWNvZGUocGF0aDIpIHtcbiAgICAgIHRyeSB7XG4gICAgICAgIHJldHVybiBkZWNvZGVVUklDb21wb25lbnQocGF0aDIpO1xuICAgICAgfSBjYXRjaCAoZXJyMikge1xuICAgICAgICByZXR1cm4gLTE7XG4gICAgICB9XG4gICAgfVxuICAgIGZ1bmN0aW9uIGhhc0xpc3RlbmVycyhlbWl0dGVyLCB0eXBlKSB7XG4gICAgICB2YXIgY291bnQgPSB0eXBlb2YgZW1pdHRlci5saXN0ZW5lckNvdW50ICE9PSBcImZ1bmN0aW9uXCIgPyBlbWl0dGVyLmxpc3RlbmVycyh0eXBlKS5sZW5ndGggOiBlbWl0dGVyLmxpc3RlbmVyQ291bnQodHlwZSk7XG4gICAgICByZXR1cm4gY291bnQgPiAwO1xuICAgIH1cbiAgICBmdW5jdGlvbiBub3JtYWxpemVMaXN0KHZhbCwgbmFtZSkge1xuICAgICAgdmFyIGxpc3QgPSBbXS5jb25jYXQodmFsIHx8IFtdKTtcbiAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgbGlzdC5sZW5ndGg7IGkrKykge1xuICAgICAgICBpZiAodHlwZW9mIGxpc3RbaV0gIT09IFwic3RyaW5nXCIpIHtcbiAgICAgICAgICB0aHJvdyBuZXcgVHlwZUVycm9yKG5hbWUgKyBcIiBtdXN0IGJlIGFycmF5IG9mIHN0cmluZ3Mgb3IgZmFsc2VcIik7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIHJldHVybiBsaXN0O1xuICAgIH1cbiAgICBmdW5jdGlvbiBwYXJzZUh0dHBEYXRlKGRhdGUpIHtcbiAgICAgIHZhciB0aW1lc3RhbXAgPSBkYXRlICYmIERhdGUucGFyc2UoZGF0ZSk7XG4gICAgICByZXR1cm4gdHlwZW9mIHRpbWVzdGFtcCA9PT0gXCJudW1iZXJcIiA/IHRpbWVzdGFtcCA6IE5hTjtcbiAgICB9XG4gICAgZnVuY3Rpb24gcGFyc2VUb2tlbkxpc3Qoc3RyKSB7XG4gICAgICB2YXIgZW5kID0gMDtcbiAgICAgIHZhciBsaXN0ID0gW107XG4gICAgICB2YXIgc3RhcnQgPSAwO1xuICAgICAgZm9yICh2YXIgaSA9IDAsIGxlbiA9IHN0ci5sZW5ndGg7IGkgPCBsZW47IGkrKykge1xuICAgICAgICBzd2l0Y2ggKHN0ci5jaGFyQ29kZUF0KGkpKSB7XG4gICAgICAgICAgY2FzZSAzMjpcbiAgICAgICAgICAgIGlmIChzdGFydCA9PT0gZW5kKSB7XG4gICAgICAgICAgICAgIHN0YXJ0ID0gZW5kID0gaSArIDE7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgICBjYXNlIDQ0OlxuICAgICAgICAgICAgaWYgKHN0YXJ0ICE9PSBlbmQpIHtcbiAgICAgICAgICAgICAgbGlzdC5wdXNoKHN0ci5zdWJzdHJpbmcoc3RhcnQsIGVuZCkpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgc3RhcnQgPSBlbmQgPSBpICsgMTtcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICBlbmQgPSBpICsgMTtcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICBpZiAoc3RhcnQgIT09IGVuZCkge1xuICAgICAgICBsaXN0LnB1c2goc3RyLnN1YnN0cmluZyhzdGFydCwgZW5kKSk7XG4gICAgICB9XG4gICAgICByZXR1cm4gbGlzdDtcbiAgICB9XG4gICAgZnVuY3Rpb24gc2V0SGVhZGVycyhyZXMsIGhlYWRlcnMpIHtcbiAgICAgIHZhciBrZXlzID0gT2JqZWN0LmtleXMoaGVhZGVycyk7XG4gICAgICBmb3IgKHZhciBpID0gMDsgaSA8IGtleXMubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgdmFyIGtleSA9IGtleXNbaV07XG4gICAgICAgIHJlcy5zZXRIZWFkZXIoa2V5LCBoZWFkZXJzW2tleV0pO1xuICAgICAgfVxuICAgIH1cbiAgfVxufSk7XG5cbi8vIG5vZGVfbW9kdWxlcy92YXJ5L2luZGV4LmpzXG52YXIgcmVxdWlyZV92YXJ5ID0gX19jb21tb25KUyh7XG4gIFwibm9kZV9tb2R1bGVzL3ZhcnkvaW5kZXguanNcIihleHBvcnRzMiwgbW9kdWxlMikge1xuICAgIFwidXNlIHN0cmljdFwiO1xuICAgIG1vZHVsZTIuZXhwb3J0cyA9IHZhcnk7XG4gICAgbW9kdWxlMi5leHBvcnRzLmFwcGVuZCA9IGFwcGVuZDtcbiAgICB2YXIgRklFTERfTkFNRV9SRUdFWFAgPSAvXlshIyQlJicqK1xcLS5eX2B8fjAtOUEtWmEtel0rJC87XG4gICAgZnVuY3Rpb24gYXBwZW5kKGhlYWRlciwgZmllbGQpIHtcbiAgICAgIGlmICh0eXBlb2YgaGVhZGVyICE9PSBcInN0cmluZ1wiKSB7XG4gICAgICAgIHRocm93IG5ldyBUeXBlRXJyb3IoXCJoZWFkZXIgYXJndW1lbnQgaXMgcmVxdWlyZWRcIik7XG4gICAgICB9XG4gICAgICBpZiAoIWZpZWxkKSB7XG4gICAgICAgIHRocm93IG5ldyBUeXBlRXJyb3IoXCJmaWVsZCBhcmd1bWVudCBpcyByZXF1aXJlZFwiKTtcbiAgICAgIH1cbiAgICAgIHZhciBmaWVsZHMgPSAhQXJyYXkuaXNBcnJheShmaWVsZCkgPyBwYXJzZShTdHJpbmcoZmllbGQpKSA6IGZpZWxkO1xuICAgICAgZm9yICh2YXIgaiA9IDA7IGogPCBmaWVsZHMubGVuZ3RoOyBqKyspIHtcbiAgICAgICAgaWYgKCFGSUVMRF9OQU1FX1JFR0VYUC50ZXN0KGZpZWxkc1tqXSkpIHtcbiAgICAgICAgICB0aHJvdyBuZXcgVHlwZUVycm9yKFwiZmllbGQgYXJndW1lbnQgY29udGFpbnMgYW4gaW52YWxpZCBoZWFkZXIgbmFtZVwiKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgaWYgKGhlYWRlciA9PT0gXCIqXCIpIHtcbiAgICAgICAgcmV0dXJuIGhlYWRlcjtcbiAgICAgIH1cbiAgICAgIHZhciB2YWwgPSBoZWFkZXI7XG4gICAgICB2YXIgdmFscyA9IHBhcnNlKGhlYWRlci50b0xvd2VyQ2FzZSgpKTtcbiAgICAgIGlmIChmaWVsZHMuaW5kZXhPZihcIipcIikgIT09IC0xIHx8IHZhbHMuaW5kZXhPZihcIipcIikgIT09IC0xKSB7XG4gICAgICAgIHJldHVybiBcIipcIjtcbiAgICAgIH1cbiAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgZmllbGRzLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgIHZhciBmbGQgPSBmaWVsZHNbaV0udG9Mb3dlckNhc2UoKTtcbiAgICAgICAgaWYgKHZhbHMuaW5kZXhPZihmbGQpID09PSAtMSkge1xuICAgICAgICAgIHZhbHMucHVzaChmbGQpO1xuICAgICAgICAgIHZhbCA9IHZhbCA/IHZhbCArIFwiLCBcIiArIGZpZWxkc1tpXSA6IGZpZWxkc1tpXTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgcmV0dXJuIHZhbDtcbiAgICB9XG4gICAgZnVuY3Rpb24gcGFyc2UoaGVhZGVyKSB7XG4gICAgICB2YXIgZW5kID0gMDtcbiAgICAgIHZhciBsaXN0ID0gW107XG4gICAgICB2YXIgc3RhcnQgPSAwO1xuICAgICAgZm9yICh2YXIgaSA9IDAsIGxlbiA9IGhlYWRlci5sZW5ndGg7IGkgPCBsZW47IGkrKykge1xuICAgICAgICBzd2l0Y2ggKGhlYWRlci5jaGFyQ29kZUF0KGkpKSB7XG4gICAgICAgICAgY2FzZSAzMjpcbiAgICAgICAgICAgIGlmIChzdGFydCA9PT0gZW5kKSB7XG4gICAgICAgICAgICAgIHN0YXJ0ID0gZW5kID0gaSArIDE7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgICBjYXNlIDQ0OlxuICAgICAgICAgICAgbGlzdC5wdXNoKGhlYWRlci5zdWJzdHJpbmcoc3RhcnQsIGVuZCkpO1xuICAgICAgICAgICAgc3RhcnQgPSBlbmQgPSBpICsgMTtcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICBlbmQgPSBpICsgMTtcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICBsaXN0LnB1c2goaGVhZGVyLnN1YnN0cmluZyhzdGFydCwgZW5kKSk7XG4gICAgICByZXR1cm4gbGlzdDtcbiAgICB9XG4gICAgZnVuY3Rpb24gdmFyeShyZXMsIGZpZWxkKSB7XG4gICAgICBpZiAoIXJlcyB8fCAhcmVzLmdldEhlYWRlciB8fCAhcmVzLnNldEhlYWRlcikge1xuICAgICAgICB0aHJvdyBuZXcgVHlwZUVycm9yKFwicmVzIGFyZ3VtZW50IGlzIHJlcXVpcmVkXCIpO1xuICAgICAgfVxuICAgICAgdmFyIHZhbCA9IHJlcy5nZXRIZWFkZXIoXCJWYXJ5XCIpIHx8IFwiXCI7XG4gICAgICB2YXIgaGVhZGVyID0gQXJyYXkuaXNBcnJheSh2YWwpID8gdmFsLmpvaW4oXCIsIFwiKSA6IFN0cmluZyh2YWwpO1xuICAgICAgaWYgKHZhbCA9IGFwcGVuZChoZWFkZXIsIGZpZWxkKSkge1xuICAgICAgICByZXMuc2V0SGVhZGVyKFwiVmFyeVwiLCB2YWwpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufSk7XG5cbi8vIG5vZGVfbW9kdWxlcy9leHByZXNzL2xpYi9yZXNwb25zZS5qc1xudmFyIHJlcXVpcmVfcmVzcG9uc2UgPSBfX2NvbW1vbkpTKHtcbiAgXCJub2RlX21vZHVsZXMvZXhwcmVzcy9saWIvcmVzcG9uc2UuanNcIihleHBvcnRzMiwgbW9kdWxlMikge1xuICAgIFwidXNlIHN0cmljdFwiO1xuICAgIHZhciBjb250ZW50RGlzcG9zaXRpb24gPSByZXF1aXJlX2NvbnRlbnRfZGlzcG9zaXRpb24oKTtcbiAgICB2YXIgY3JlYXRlRXJyb3IgPSByZXF1aXJlX2h0dHBfZXJyb3JzKCk7XG4gICAgdmFyIGVuY29kZVVybCA9IHJlcXVpcmVfZW5jb2RldXJsKCk7XG4gICAgdmFyIGVzY2FwZUh0bWwgPSByZXF1aXJlX2VzY2FwZV9odG1sKCk7XG4gICAgdmFyIGh0dHAgPSByZXF1aXJlKFwibm9kZTpodHRwXCIpO1xuICAgIHZhciBvbkZpbmlzaGVkID0gcmVxdWlyZV9vbl9maW5pc2hlZCgpO1xuICAgIHZhciBtaW1lID0gcmVxdWlyZV9taW1lX3R5cGVzMigpO1xuICAgIHZhciBwYXRoID0gcmVxdWlyZShcIm5vZGU6cGF0aFwiKTtcbiAgICB2YXIgcGF0aElzQWJzb2x1dGUgPSByZXF1aXJlKFwibm9kZTpwYXRoXCIpLmlzQWJzb2x1dGU7XG4gICAgdmFyIHN0YXR1c2VzID0gcmVxdWlyZV9zdGF0dXNlcygpO1xuICAgIHZhciBzaWduID0gcmVxdWlyZV9jb29raWVfc2lnbmF0dXJlKCkuc2lnbjtcbiAgICB2YXIgbm9ybWFsaXplVHlwZSA9IHJlcXVpcmVfdXRpbHMzKCkubm9ybWFsaXplVHlwZTtcbiAgICB2YXIgbm9ybWFsaXplVHlwZXMgPSByZXF1aXJlX3V0aWxzMygpLm5vcm1hbGl6ZVR5cGVzO1xuICAgIHZhciBzZXRDaGFyc2V0ID0gcmVxdWlyZV91dGlsczMoKS5zZXRDaGFyc2V0O1xuICAgIHZhciBjb29raWUgPSByZXF1aXJlX2Nvb2tpZSgpO1xuICAgIHZhciBzZW5kID0gcmVxdWlyZV9zZW5kKCk7XG4gICAgdmFyIGV4dG5hbWUgPSBwYXRoLmV4dG5hbWU7XG4gICAgdmFyIHJlc29sdmUgPSBwYXRoLnJlc29sdmU7XG4gICAgdmFyIHZhcnkgPSByZXF1aXJlX3ZhcnkoKTtcbiAgICB2YXIgcmVzID0gT2JqZWN0LmNyZWF0ZShodHRwLlNlcnZlclJlc3BvbnNlLnByb3RvdHlwZSk7XG4gICAgbW9kdWxlMi5leHBvcnRzID0gcmVzO1xuICAgIHJlcy5zdGF0dXMgPSBmdW5jdGlvbiBzdGF0dXMoY29kZSkge1xuICAgICAgaWYgKCFOdW1iZXIuaXNJbnRlZ2VyKGNvZGUpKSB7XG4gICAgICAgIHRocm93IG5ldyBUeXBlRXJyb3IoYEludmFsaWQgc3RhdHVzIGNvZGU6ICR7SlNPTi5zdHJpbmdpZnkoY29kZSl9LiBTdGF0dXMgY29kZSBtdXN0IGJlIGFuIGludGVnZXIuYCk7XG4gICAgICB9XG4gICAgICBpZiAoY29kZSA8IDEwMCB8fCBjb2RlID4gOTk5KSB7XG4gICAgICAgIHRocm93IG5ldyBSYW5nZUVycm9yKGBJbnZhbGlkIHN0YXR1cyBjb2RlOiAke0pTT04uc3RyaW5naWZ5KGNvZGUpfS4gU3RhdHVzIGNvZGUgbXVzdCBiZSBncmVhdGVyIHRoYW4gOTkgYW5kIGxlc3MgdGhhbiAxMDAwLmApO1xuICAgICAgfVxuICAgICAgdGhpcy5zdGF0dXNDb2RlID0gY29kZTtcbiAgICAgIHJldHVybiB0aGlzO1xuICAgIH07XG4gICAgcmVzLmxpbmtzID0gZnVuY3Rpb24obGlua3MpIHtcbiAgICAgIHZhciBsaW5rID0gdGhpcy5nZXQoXCJMaW5rXCIpIHx8IFwiXCI7XG4gICAgICBpZiAobGluaykgbGluayArPSBcIiwgXCI7XG4gICAgICByZXR1cm4gdGhpcy5zZXQoXCJMaW5rXCIsIGxpbmsgKyBPYmplY3Qua2V5cyhsaW5rcykubWFwKGZ1bmN0aW9uKHJlbCkge1xuICAgICAgICBpZiAoQXJyYXkuaXNBcnJheShsaW5rc1tyZWxdKSkge1xuICAgICAgICAgIHJldHVybiBsaW5rc1tyZWxdLm1hcChmdW5jdGlvbihzaW5nbGVMaW5rKSB7XG4gICAgICAgICAgICByZXR1cm4gYDwke3NpbmdsZUxpbmt9PjsgcmVsPVwiJHtyZWx9XCJgO1xuICAgICAgICAgIH0pLmpvaW4oXCIsIFwiKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICByZXR1cm4gYDwke2xpbmtzW3JlbF19PjsgcmVsPVwiJHtyZWx9XCJgO1xuICAgICAgICB9XG4gICAgICB9KS5qb2luKFwiLCBcIikpO1xuICAgIH07XG4gICAgcmVzLnNlbmQgPSBmdW5jdGlvbiBzZW5kMihib2R5KSB7XG4gICAgICB2YXIgY2h1bmsgPSBib2R5O1xuICAgICAgdmFyIGVuY29kaW5nO1xuICAgICAgdmFyIHJlcSA9IHRoaXMucmVxO1xuICAgICAgdmFyIHR5cGU7XG4gICAgICB2YXIgYXBwID0gdGhpcy5hcHA7XG4gICAgICBzd2l0Y2ggKHR5cGVvZiBjaHVuaykge1xuICAgICAgICAvLyBzdHJpbmcgZGVmYXVsdGluZyB0byBodG1sXG4gICAgICAgIGNhc2UgXCJzdHJpbmdcIjpcbiAgICAgICAgICBpZiAoIXRoaXMuZ2V0KFwiQ29udGVudC1UeXBlXCIpKSB7XG4gICAgICAgICAgICB0aGlzLnR5cGUoXCJodG1sXCIpO1xuICAgICAgICAgIH1cbiAgICAgICAgICBicmVhaztcbiAgICAgICAgY2FzZSBcImJvb2xlYW5cIjpcbiAgICAgICAgY2FzZSBcIm51bWJlclwiOlxuICAgICAgICBjYXNlIFwib2JqZWN0XCI6XG4gICAgICAgICAgaWYgKGNodW5rID09PSBudWxsKSB7XG4gICAgICAgICAgICBjaHVuayA9IFwiXCI7XG4gICAgICAgICAgfSBlbHNlIGlmIChBcnJheUJ1ZmZlci5pc1ZpZXcoY2h1bmspKSB7XG4gICAgICAgICAgICBpZiAoIXRoaXMuZ2V0KFwiQ29udGVudC1UeXBlXCIpKSB7XG4gICAgICAgICAgICAgIHRoaXMudHlwZShcImJpblwiKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMuanNvbihjaHVuayk7XG4gICAgICAgICAgfVxuICAgICAgICAgIGJyZWFrO1xuICAgICAgfVxuICAgICAgaWYgKHR5cGVvZiBjaHVuayA9PT0gXCJzdHJpbmdcIikge1xuICAgICAgICBlbmNvZGluZyA9IFwidXRmOFwiO1xuICAgICAgICB0eXBlID0gdGhpcy5nZXQoXCJDb250ZW50LVR5cGVcIik7XG4gICAgICAgIGlmICh0eXBlb2YgdHlwZSA9PT0gXCJzdHJpbmdcIikge1xuICAgICAgICAgIHRoaXMuc2V0KFwiQ29udGVudC1UeXBlXCIsIHNldENoYXJzZXQodHlwZSwgXCJ1dGYtOFwiKSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIHZhciBldGFnRm4gPSBhcHAuZ2V0KFwiZXRhZyBmblwiKTtcbiAgICAgIHZhciBnZW5lcmF0ZUVUYWcgPSAhdGhpcy5nZXQoXCJFVGFnXCIpICYmIHR5cGVvZiBldGFnRm4gPT09IFwiZnVuY3Rpb25cIjtcbiAgICAgIHZhciBsZW47XG4gICAgICBpZiAoY2h1bmsgIT09IHZvaWQgMCkge1xuICAgICAgICBpZiAoQnVmZmVyLmlzQnVmZmVyKGNodW5rKSkge1xuICAgICAgICAgIGxlbiA9IGNodW5rLmxlbmd0aDtcbiAgICAgICAgfSBlbHNlIGlmICghZ2VuZXJhdGVFVGFnICYmIGNodW5rLmxlbmd0aCA8IDFlMykge1xuICAgICAgICAgIGxlbiA9IEJ1ZmZlci5ieXRlTGVuZ3RoKGNodW5rLCBlbmNvZGluZyk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgY2h1bmsgPSBCdWZmZXIuZnJvbShjaHVuaywgZW5jb2RpbmcpO1xuICAgICAgICAgIGVuY29kaW5nID0gdm9pZCAwO1xuICAgICAgICAgIGxlbiA9IGNodW5rLmxlbmd0aDtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLnNldChcIkNvbnRlbnQtTGVuZ3RoXCIsIGxlbik7XG4gICAgICB9XG4gICAgICB2YXIgZXRhZztcbiAgICAgIGlmIChnZW5lcmF0ZUVUYWcgJiYgbGVuICE9PSB2b2lkIDApIHtcbiAgICAgICAgaWYgKGV0YWcgPSBldGFnRm4oY2h1bmssIGVuY29kaW5nKSkge1xuICAgICAgICAgIHRoaXMuc2V0KFwiRVRhZ1wiLCBldGFnKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgaWYgKHJlcS5mcmVzaCkgdGhpcy5zdGF0dXMoMzA0KTtcbiAgICAgIGlmICgyMDQgPT09IHRoaXMuc3RhdHVzQ29kZSB8fCAzMDQgPT09IHRoaXMuc3RhdHVzQ29kZSkge1xuICAgICAgICB0aGlzLnJlbW92ZUhlYWRlcihcIkNvbnRlbnQtVHlwZVwiKTtcbiAgICAgICAgdGhpcy5yZW1vdmVIZWFkZXIoXCJDb250ZW50LUxlbmd0aFwiKTtcbiAgICAgICAgdGhpcy5yZW1vdmVIZWFkZXIoXCJUcmFuc2Zlci1FbmNvZGluZ1wiKTtcbiAgICAgICAgY2h1bmsgPSBcIlwiO1xuICAgICAgfVxuICAgICAgaWYgKHRoaXMuc3RhdHVzQ29kZSA9PT0gMjA1KSB7XG4gICAgICAgIHRoaXMuc2V0KFwiQ29udGVudC1MZW5ndGhcIiwgXCIwXCIpO1xuICAgICAgICB0aGlzLnJlbW92ZUhlYWRlcihcIlRyYW5zZmVyLUVuY29kaW5nXCIpO1xuICAgICAgICBjaHVuayA9IFwiXCI7XG4gICAgICB9XG4gICAgICBpZiAocmVxLm1ldGhvZCA9PT0gXCJIRUFEXCIpIHtcbiAgICAgICAgdGhpcy5lbmQoKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMuZW5kKGNodW5rLCBlbmNvZGluZyk7XG4gICAgICB9XG4gICAgICByZXR1cm4gdGhpcztcbiAgICB9O1xuICAgIHJlcy5qc29uID0gZnVuY3Rpb24ganNvbihvYmopIHtcbiAgICAgIHZhciBhcHAgPSB0aGlzLmFwcDtcbiAgICAgIHZhciBlc2NhcGUyID0gYXBwLmdldChcImpzb24gZXNjYXBlXCIpO1xuICAgICAgdmFyIHJlcGxhY2VyID0gYXBwLmdldChcImpzb24gcmVwbGFjZXJcIik7XG4gICAgICB2YXIgc3BhY2VzID0gYXBwLmdldChcImpzb24gc3BhY2VzXCIpO1xuICAgICAgdmFyIGJvZHkgPSBzdHJpbmdpZnkob2JqLCByZXBsYWNlciwgc3BhY2VzLCBlc2NhcGUyKTtcbiAgICAgIGlmICghdGhpcy5nZXQoXCJDb250ZW50LVR5cGVcIikpIHtcbiAgICAgICAgdGhpcy5zZXQoXCJDb250ZW50LVR5cGVcIiwgXCJhcHBsaWNhdGlvbi9qc29uXCIpO1xuICAgICAgfVxuICAgICAgcmV0dXJuIHRoaXMuc2VuZChib2R5KTtcbiAgICB9O1xuICAgIHJlcy5qc29ucCA9IGZ1bmN0aW9uIGpzb25wKG9iaikge1xuICAgICAgdmFyIGFwcCA9IHRoaXMuYXBwO1xuICAgICAgdmFyIGVzY2FwZTIgPSBhcHAuZ2V0KFwianNvbiBlc2NhcGVcIik7XG4gICAgICB2YXIgcmVwbGFjZXIgPSBhcHAuZ2V0KFwianNvbiByZXBsYWNlclwiKTtcbiAgICAgIHZhciBzcGFjZXMgPSBhcHAuZ2V0KFwianNvbiBzcGFjZXNcIik7XG4gICAgICB2YXIgYm9keSA9IHN0cmluZ2lmeShvYmosIHJlcGxhY2VyLCBzcGFjZXMsIGVzY2FwZTIpO1xuICAgICAgdmFyIGNhbGxiYWNrID0gdGhpcy5yZXEucXVlcnlbYXBwLmdldChcImpzb25wIGNhbGxiYWNrIG5hbWVcIildO1xuICAgICAgaWYgKCF0aGlzLmdldChcIkNvbnRlbnQtVHlwZVwiKSkge1xuICAgICAgICB0aGlzLnNldChcIlgtQ29udGVudC1UeXBlLU9wdGlvbnNcIiwgXCJub3NuaWZmXCIpO1xuICAgICAgICB0aGlzLnNldChcIkNvbnRlbnQtVHlwZVwiLCBcImFwcGxpY2F0aW9uL2pzb25cIik7XG4gICAgICB9XG4gICAgICBpZiAoQXJyYXkuaXNBcnJheShjYWxsYmFjaykpIHtcbiAgICAgICAgY2FsbGJhY2sgPSBjYWxsYmFja1swXTtcbiAgICAgIH1cbiAgICAgIGlmICh0eXBlb2YgY2FsbGJhY2sgPT09IFwic3RyaW5nXCIgJiYgY2FsbGJhY2subGVuZ3RoICE9PSAwKSB7XG4gICAgICAgIHRoaXMuc2V0KFwiWC1Db250ZW50LVR5cGUtT3B0aW9uc1wiLCBcIm5vc25pZmZcIik7XG4gICAgICAgIHRoaXMuc2V0KFwiQ29udGVudC1UeXBlXCIsIFwidGV4dC9qYXZhc2NyaXB0XCIpO1xuICAgICAgICBjYWxsYmFjayA9IGNhbGxiYWNrLnJlcGxhY2UoL1teXFxbXFxdXFx3JC5dL2csIFwiXCIpO1xuICAgICAgICBpZiAoYm9keSA9PT0gdm9pZCAwKSB7XG4gICAgICAgICAgYm9keSA9IFwiXCI7XG4gICAgICAgIH0gZWxzZSBpZiAodHlwZW9mIGJvZHkgPT09IFwic3RyaW5nXCIpIHtcbiAgICAgICAgICBib2R5ID0gYm9keS5yZXBsYWNlKC9cXHUyMDI4L2csIFwiXFxcXHUyMDI4XCIpLnJlcGxhY2UoL1xcdTIwMjkvZywgXCJcXFxcdTIwMjlcIik7XG4gICAgICAgIH1cbiAgICAgICAgYm9keSA9IFwiLyoqLyB0eXBlb2YgXCIgKyBjYWxsYmFjayArIFwiID09PSAnZnVuY3Rpb24nICYmIFwiICsgY2FsbGJhY2sgKyBcIihcIiArIGJvZHkgKyBcIik7XCI7XG4gICAgICB9XG4gICAgICByZXR1cm4gdGhpcy5zZW5kKGJvZHkpO1xuICAgIH07XG4gICAgcmVzLnNlbmRTdGF0dXMgPSBmdW5jdGlvbiBzZW5kU3RhdHVzKHN0YXR1c0NvZGUpIHtcbiAgICAgIHZhciBib2R5ID0gc3RhdHVzZXMubWVzc2FnZVtzdGF0dXNDb2RlXSB8fCBTdHJpbmcoc3RhdHVzQ29kZSk7XG4gICAgICB0aGlzLnN0YXR1cyhzdGF0dXNDb2RlKTtcbiAgICAgIHRoaXMudHlwZShcInR4dFwiKTtcbiAgICAgIHJldHVybiB0aGlzLnNlbmQoYm9keSk7XG4gICAgfTtcbiAgICByZXMuc2VuZEZpbGUgPSBmdW5jdGlvbiBzZW5kRmlsZShwYXRoMiwgb3B0aW9ucywgY2FsbGJhY2spIHtcbiAgICAgIHZhciBkb25lID0gY2FsbGJhY2s7XG4gICAgICB2YXIgcmVxID0gdGhpcy5yZXE7XG4gICAgICB2YXIgcmVzMiA9IHRoaXM7XG4gICAgICB2YXIgbmV4dCA9IHJlcS5uZXh0O1xuICAgICAgdmFyIG9wdHMgPSBvcHRpb25zIHx8IHt9O1xuICAgICAgaWYgKCFwYXRoMikge1xuICAgICAgICB0aHJvdyBuZXcgVHlwZUVycm9yKFwicGF0aCBhcmd1bWVudCBpcyByZXF1aXJlZCB0byByZXMuc2VuZEZpbGVcIik7XG4gICAgICB9XG4gICAgICBpZiAodHlwZW9mIHBhdGgyICE9PSBcInN0cmluZ1wiKSB7XG4gICAgICAgIHRocm93IG5ldyBUeXBlRXJyb3IoXCJwYXRoIG11c3QgYmUgYSBzdHJpbmcgdG8gcmVzLnNlbmRGaWxlXCIpO1xuICAgICAgfVxuICAgICAgaWYgKHR5cGVvZiBvcHRpb25zID09PSBcImZ1bmN0aW9uXCIpIHtcbiAgICAgICAgZG9uZSA9IG9wdGlvbnM7XG4gICAgICAgIG9wdHMgPSB7fTtcbiAgICAgIH1cbiAgICAgIGlmICghb3B0cy5yb290ICYmICFwYXRoSXNBYnNvbHV0ZShwYXRoMikpIHtcbiAgICAgICAgdGhyb3cgbmV3IFR5cGVFcnJvcihcInBhdGggbXVzdCBiZSBhYnNvbHV0ZSBvciBzcGVjaWZ5IHJvb3QgdG8gcmVzLnNlbmRGaWxlXCIpO1xuICAgICAgfVxuICAgICAgdmFyIHBhdGhuYW1lID0gZW5jb2RlVVJJKHBhdGgyKTtcbiAgICAgIG9wdHMuZXRhZyA9IHRoaXMuYXBwLmVuYWJsZWQoXCJldGFnXCIpO1xuICAgICAgdmFyIGZpbGUgPSBzZW5kKHJlcSwgcGF0aG5hbWUsIG9wdHMpO1xuICAgICAgc2VuZGZpbGUocmVzMiwgZmlsZSwgb3B0cywgZnVuY3Rpb24oZXJyMikge1xuICAgICAgICBpZiAoZG9uZSkgcmV0dXJuIGRvbmUoZXJyMik7XG4gICAgICAgIGlmIChlcnIyICYmIGVycjIuY29kZSA9PT0gXCJFSVNESVJcIikgcmV0dXJuIG5leHQoKTtcbiAgICAgICAgaWYgKGVycjIgJiYgZXJyMi5jb2RlICE9PSBcIkVDT05OQUJPUlRFRFwiICYmIGVycjIuc3lzY2FsbCAhPT0gXCJ3cml0ZVwiKSB7XG4gICAgICAgICAgbmV4dChlcnIyKTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgfTtcbiAgICByZXMuZG93bmxvYWQgPSBmdW5jdGlvbiBkb3dubG9hZChwYXRoMiwgZmlsZW5hbWUsIG9wdGlvbnMsIGNhbGxiYWNrKSB7XG4gICAgICB2YXIgZG9uZSA9IGNhbGxiYWNrO1xuICAgICAgdmFyIG5hbWUgPSBmaWxlbmFtZTtcbiAgICAgIHZhciBvcHRzID0gb3B0aW9ucyB8fCBudWxsO1xuICAgICAgaWYgKHR5cGVvZiBmaWxlbmFtZSA9PT0gXCJmdW5jdGlvblwiKSB7XG4gICAgICAgIGRvbmUgPSBmaWxlbmFtZTtcbiAgICAgICAgbmFtZSA9IG51bGw7XG4gICAgICAgIG9wdHMgPSBudWxsO1xuICAgICAgfSBlbHNlIGlmICh0eXBlb2Ygb3B0aW9ucyA9PT0gXCJmdW5jdGlvblwiKSB7XG4gICAgICAgIGRvbmUgPSBvcHRpb25zO1xuICAgICAgICBvcHRzID0gbnVsbDtcbiAgICAgIH1cbiAgICAgIGlmICh0eXBlb2YgZmlsZW5hbWUgPT09IFwib2JqZWN0XCIgJiYgKHR5cGVvZiBvcHRpb25zID09PSBcImZ1bmN0aW9uXCIgfHwgb3B0aW9ucyA9PT0gdm9pZCAwKSkge1xuICAgICAgICBuYW1lID0gbnVsbDtcbiAgICAgICAgb3B0cyA9IGZpbGVuYW1lO1xuICAgICAgfVxuICAgICAgdmFyIGhlYWRlcnMgPSB7XG4gICAgICAgIFwiQ29udGVudC1EaXNwb3NpdGlvblwiOiBjb250ZW50RGlzcG9zaXRpb24obmFtZSB8fCBwYXRoMilcbiAgICAgIH07XG4gICAgICBpZiAob3B0cyAmJiBvcHRzLmhlYWRlcnMpIHtcbiAgICAgICAgdmFyIGtleXMgPSBPYmplY3Qua2V5cyhvcHRzLmhlYWRlcnMpO1xuICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IGtleXMubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgICB2YXIga2V5ID0ga2V5c1tpXTtcbiAgICAgICAgICBpZiAoa2V5LnRvTG93ZXJDYXNlKCkgIT09IFwiY29udGVudC1kaXNwb3NpdGlvblwiKSB7XG4gICAgICAgICAgICBoZWFkZXJzW2tleV0gPSBvcHRzLmhlYWRlcnNba2V5XTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIG9wdHMgPSBPYmplY3QuY3JlYXRlKG9wdHMpO1xuICAgICAgb3B0cy5oZWFkZXJzID0gaGVhZGVycztcbiAgICAgIHZhciBmdWxsUGF0aCA9ICFvcHRzLnJvb3QgPyByZXNvbHZlKHBhdGgyKSA6IHBhdGgyO1xuICAgICAgcmV0dXJuIHRoaXMuc2VuZEZpbGUoZnVsbFBhdGgsIG9wdHMsIGRvbmUpO1xuICAgIH07XG4gICAgcmVzLmNvbnRlbnRUeXBlID0gcmVzLnR5cGUgPSBmdW5jdGlvbiBjb250ZW50VHlwZTIodHlwZSkge1xuICAgICAgdmFyIGN0ID0gdHlwZS5pbmRleE9mKFwiL1wiKSA9PT0gLTEgPyBtaW1lLmNvbnRlbnRUeXBlKHR5cGUpIHx8IFwiYXBwbGljYXRpb24vb2N0ZXQtc3RyZWFtXCIgOiB0eXBlO1xuICAgICAgcmV0dXJuIHRoaXMuc2V0KFwiQ29udGVudC1UeXBlXCIsIGN0KTtcbiAgICB9O1xuICAgIHJlcy5mb3JtYXQgPSBmdW5jdGlvbihvYmopIHtcbiAgICAgIHZhciByZXEgPSB0aGlzLnJlcTtcbiAgICAgIHZhciBuZXh0ID0gcmVxLm5leHQ7XG4gICAgICB2YXIga2V5cyA9IE9iamVjdC5rZXlzKG9iaikuZmlsdGVyKGZ1bmN0aW9uKHYpIHtcbiAgICAgICAgcmV0dXJuIHYgIT09IFwiZGVmYXVsdFwiO1xuICAgICAgfSk7XG4gICAgICB2YXIga2V5ID0ga2V5cy5sZW5ndGggPiAwID8gcmVxLmFjY2VwdHMoa2V5cykgOiBmYWxzZTtcbiAgICAgIHRoaXMudmFyeShcIkFjY2VwdFwiKTtcbiAgICAgIGlmIChrZXkpIHtcbiAgICAgICAgdGhpcy5zZXQoXCJDb250ZW50LVR5cGVcIiwgbm9ybWFsaXplVHlwZShrZXkpLnZhbHVlKTtcbiAgICAgICAgb2JqW2tleV0ocmVxLCB0aGlzLCBuZXh0KTtcbiAgICAgIH0gZWxzZSBpZiAob2JqLmRlZmF1bHQpIHtcbiAgICAgICAgb2JqLmRlZmF1bHQocmVxLCB0aGlzLCBuZXh0KTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIG5leHQoY3JlYXRlRXJyb3IoNDA2LCB7XG4gICAgICAgICAgdHlwZXM6IG5vcm1hbGl6ZVR5cGVzKGtleXMpLm1hcChmdW5jdGlvbihvKSB7XG4gICAgICAgICAgICByZXR1cm4gby52YWx1ZTtcbiAgICAgICAgICB9KVxuICAgICAgICB9KSk7XG4gICAgICB9XG4gICAgICByZXR1cm4gdGhpcztcbiAgICB9O1xuICAgIHJlcy5hdHRhY2htZW50ID0gZnVuY3Rpb24gYXR0YWNobWVudChmaWxlbmFtZSkge1xuICAgICAgaWYgKGZpbGVuYW1lKSB7XG4gICAgICAgIHRoaXMudHlwZShleHRuYW1lKGZpbGVuYW1lKSk7XG4gICAgICB9XG4gICAgICB0aGlzLnNldChcIkNvbnRlbnQtRGlzcG9zaXRpb25cIiwgY29udGVudERpc3Bvc2l0aW9uKGZpbGVuYW1lKSk7XG4gICAgICByZXR1cm4gdGhpcztcbiAgICB9O1xuICAgIHJlcy5hcHBlbmQgPSBmdW5jdGlvbiBhcHBlbmQoZmllbGQsIHZhbCkge1xuICAgICAgdmFyIHByZXYgPSB0aGlzLmdldChmaWVsZCk7XG4gICAgICB2YXIgdmFsdWUgPSB2YWw7XG4gICAgICBpZiAocHJldikge1xuICAgICAgICB2YWx1ZSA9IEFycmF5LmlzQXJyYXkocHJldikgPyBwcmV2LmNvbmNhdCh2YWwpIDogQXJyYXkuaXNBcnJheSh2YWwpID8gW3ByZXZdLmNvbmNhdCh2YWwpIDogW3ByZXYsIHZhbF07XG4gICAgICB9XG4gICAgICByZXR1cm4gdGhpcy5zZXQoZmllbGQsIHZhbHVlKTtcbiAgICB9O1xuICAgIHJlcy5zZXQgPSByZXMuaGVhZGVyID0gZnVuY3Rpb24gaGVhZGVyKGZpZWxkLCB2YWwpIHtcbiAgICAgIGlmIChhcmd1bWVudHMubGVuZ3RoID09PSAyKSB7XG4gICAgICAgIHZhciB2YWx1ZSA9IEFycmF5LmlzQXJyYXkodmFsKSA/IHZhbC5tYXAoU3RyaW5nKSA6IFN0cmluZyh2YWwpO1xuICAgICAgICBpZiAoZmllbGQudG9Mb3dlckNhc2UoKSA9PT0gXCJjb250ZW50LXR5cGVcIikge1xuICAgICAgICAgIGlmIChBcnJheS5pc0FycmF5KHZhbHVlKSkge1xuICAgICAgICAgICAgdGhyb3cgbmV3IFR5cGVFcnJvcihcIkNvbnRlbnQtVHlwZSBjYW5ub3QgYmUgc2V0IHRvIGFuIEFycmF5XCIpO1xuICAgICAgICAgIH1cbiAgICAgICAgICB2YWx1ZSA9IG1pbWUuY29udGVudFR5cGUodmFsdWUpO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuc2V0SGVhZGVyKGZpZWxkLCB2YWx1ZSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBmb3IgKHZhciBrZXkgaW4gZmllbGQpIHtcbiAgICAgICAgICB0aGlzLnNldChrZXksIGZpZWxkW2tleV0pO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICByZXR1cm4gdGhpcztcbiAgICB9O1xuICAgIHJlcy5nZXQgPSBmdW5jdGlvbihmaWVsZCkge1xuICAgICAgcmV0dXJuIHRoaXMuZ2V0SGVhZGVyKGZpZWxkKTtcbiAgICB9O1xuICAgIHJlcy5jbGVhckNvb2tpZSA9IGZ1bmN0aW9uIGNsZWFyQ29va2llKG5hbWUsIG9wdGlvbnMpIHtcbiAgICAgIGNvbnN0IG9wdHMgPSB7IHBhdGg6IFwiL1wiLCAuLi5vcHRpb25zLCBleHBpcmVzOiAvKiBAX19QVVJFX18gKi8gbmV3IERhdGUoMSkgfTtcbiAgICAgIGRlbGV0ZSBvcHRzLm1heEFnZTtcbiAgICAgIHJldHVybiB0aGlzLmNvb2tpZShuYW1lLCBcIlwiLCBvcHRzKTtcbiAgICB9O1xuICAgIHJlcy5jb29raWUgPSBmdW5jdGlvbihuYW1lLCB2YWx1ZSwgb3B0aW9ucykge1xuICAgICAgdmFyIG9wdHMgPSB7IC4uLm9wdGlvbnMgfTtcbiAgICAgIHZhciBzZWNyZXQgPSB0aGlzLnJlcS5zZWNyZXQ7XG4gICAgICB2YXIgc2lnbmVkID0gb3B0cy5zaWduZWQ7XG4gICAgICBpZiAoc2lnbmVkICYmICFzZWNyZXQpIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdjb29raWVQYXJzZXIoXCJzZWNyZXRcIikgcmVxdWlyZWQgZm9yIHNpZ25lZCBjb29raWVzJyk7XG4gICAgICB9XG4gICAgICB2YXIgdmFsID0gdHlwZW9mIHZhbHVlID09PSBcIm9iamVjdFwiID8gXCJqOlwiICsgSlNPTi5zdHJpbmdpZnkodmFsdWUpIDogU3RyaW5nKHZhbHVlKTtcbiAgICAgIGlmIChzaWduZWQpIHtcbiAgICAgICAgdmFsID0gXCJzOlwiICsgc2lnbih2YWwsIHNlY3JldCk7XG4gICAgICB9XG4gICAgICBpZiAob3B0cy5tYXhBZ2UgIT0gbnVsbCkge1xuICAgICAgICB2YXIgbWF4QWdlID0gb3B0cy5tYXhBZ2UgLSAwO1xuICAgICAgICBpZiAoIWlzTmFOKG1heEFnZSkpIHtcbiAgICAgICAgICBvcHRzLmV4cGlyZXMgPSBuZXcgRGF0ZShEYXRlLm5vdygpICsgbWF4QWdlKTtcbiAgICAgICAgICBvcHRzLm1heEFnZSA9IE1hdGguZmxvb3IobWF4QWdlIC8gMWUzKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgaWYgKG9wdHMucGF0aCA9PSBudWxsKSB7XG4gICAgICAgIG9wdHMucGF0aCA9IFwiL1wiO1xuICAgICAgfVxuICAgICAgdGhpcy5hcHBlbmQoXCJTZXQtQ29va2llXCIsIGNvb2tpZS5zZXJpYWxpemUobmFtZSwgU3RyaW5nKHZhbCksIG9wdHMpKTtcbiAgICAgIHJldHVybiB0aGlzO1xuICAgIH07XG4gICAgcmVzLmxvY2F0aW9uID0gZnVuY3Rpb24gbG9jYXRpb24odXJsKSB7XG4gICAgICByZXR1cm4gdGhpcy5zZXQoXCJMb2NhdGlvblwiLCBlbmNvZGVVcmwodXJsKSk7XG4gICAgfTtcbiAgICByZXMucmVkaXJlY3QgPSBmdW5jdGlvbiByZWRpcmVjdCh1cmwpIHtcbiAgICAgIHZhciBhZGRyZXNzID0gdXJsO1xuICAgICAgdmFyIGJvZHk7XG4gICAgICB2YXIgc3RhdHVzID0gMzAyO1xuICAgICAgaWYgKGFyZ3VtZW50cy5sZW5ndGggPT09IDIpIHtcbiAgICAgICAgc3RhdHVzID0gYXJndW1lbnRzWzBdO1xuICAgICAgICBhZGRyZXNzID0gYXJndW1lbnRzWzFdO1xuICAgICAgfVxuICAgICAgYWRkcmVzcyA9IHRoaXMubG9jYXRpb24oYWRkcmVzcykuZ2V0KFwiTG9jYXRpb25cIik7XG4gICAgICB0aGlzLmZvcm1hdCh7XG4gICAgICAgIHRleHQ6IGZ1bmN0aW9uKCkge1xuICAgICAgICAgIGJvZHkgPSBzdGF0dXNlcy5tZXNzYWdlW3N0YXR1c10gKyBcIi4gUmVkaXJlY3RpbmcgdG8gXCIgKyBhZGRyZXNzO1xuICAgICAgICB9LFxuICAgICAgICBodG1sOiBmdW5jdGlvbigpIHtcbiAgICAgICAgICB2YXIgdSA9IGVzY2FwZUh0bWwoYWRkcmVzcyk7XG4gICAgICAgICAgYm9keSA9IFwiPHA+XCIgKyBzdGF0dXNlcy5tZXNzYWdlW3N0YXR1c10gKyBcIi4gUmVkaXJlY3RpbmcgdG8gXCIgKyB1ICsgXCI8L3A+XCI7XG4gICAgICAgIH0sXG4gICAgICAgIGRlZmF1bHQ6IGZ1bmN0aW9uKCkge1xuICAgICAgICAgIGJvZHkgPSBcIlwiO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICAgIHRoaXMuc3RhdHVzKHN0YXR1cyk7XG4gICAgICB0aGlzLnNldChcIkNvbnRlbnQtTGVuZ3RoXCIsIEJ1ZmZlci5ieXRlTGVuZ3RoKGJvZHkpKTtcbiAgICAgIGlmICh0aGlzLnJlcS5tZXRob2QgPT09IFwiSEVBRFwiKSB7XG4gICAgICAgIHRoaXMuZW5kKCk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLmVuZChib2R5KTtcbiAgICAgIH1cbiAgICB9O1xuICAgIHJlcy52YXJ5ID0gZnVuY3Rpb24oZmllbGQpIHtcbiAgICAgIHZhcnkodGhpcywgZmllbGQpO1xuICAgICAgcmV0dXJuIHRoaXM7XG4gICAgfTtcbiAgICByZXMucmVuZGVyID0gZnVuY3Rpb24gcmVuZGVyKHZpZXcsIG9wdGlvbnMsIGNhbGxiYWNrKSB7XG4gICAgICB2YXIgYXBwID0gdGhpcy5yZXEuYXBwO1xuICAgICAgdmFyIGRvbmUgPSBjYWxsYmFjaztcbiAgICAgIHZhciBvcHRzID0gb3B0aW9ucyB8fCB7fTtcbiAgICAgIHZhciByZXEgPSB0aGlzLnJlcTtcbiAgICAgIHZhciBzZWxmMiA9IHRoaXM7XG4gICAgICBpZiAodHlwZW9mIG9wdGlvbnMgPT09IFwiZnVuY3Rpb25cIikge1xuICAgICAgICBkb25lID0gb3B0aW9ucztcbiAgICAgICAgb3B0cyA9IHt9O1xuICAgICAgfVxuICAgICAgb3B0cy5fbG9jYWxzID0gc2VsZjIubG9jYWxzO1xuICAgICAgZG9uZSA9IGRvbmUgfHwgZnVuY3Rpb24oZXJyMiwgc3RyKSB7XG4gICAgICAgIGlmIChlcnIyKSByZXR1cm4gcmVxLm5leHQoZXJyMik7XG4gICAgICAgIHNlbGYyLnNlbmQoc3RyKTtcbiAgICAgIH07XG4gICAgICBhcHAucmVuZGVyKHZpZXcsIG9wdHMsIGRvbmUpO1xuICAgIH07XG4gICAgZnVuY3Rpb24gc2VuZGZpbGUocmVzMiwgZmlsZSwgb3B0aW9ucywgY2FsbGJhY2spIHtcbiAgICAgIHZhciBkb25lID0gZmFsc2U7XG4gICAgICB2YXIgc3RyZWFtaW5nO1xuICAgICAgZnVuY3Rpb24gb25hYm9ydGVkKCkge1xuICAgICAgICBpZiAoZG9uZSkgcmV0dXJuO1xuICAgICAgICBkb25lID0gdHJ1ZTtcbiAgICAgICAgdmFyIGVycjIgPSBuZXcgRXJyb3IoXCJSZXF1ZXN0IGFib3J0ZWRcIik7XG4gICAgICAgIGVycjIuY29kZSA9IFwiRUNPTk5BQk9SVEVEXCI7XG4gICAgICAgIGNhbGxiYWNrKGVycjIpO1xuICAgICAgfVxuICAgICAgZnVuY3Rpb24gb25kaXJlY3RvcnkoKSB7XG4gICAgICAgIGlmIChkb25lKSByZXR1cm47XG4gICAgICAgIGRvbmUgPSB0cnVlO1xuICAgICAgICB2YXIgZXJyMiA9IG5ldyBFcnJvcihcIkVJU0RJUiwgcmVhZFwiKTtcbiAgICAgICAgZXJyMi5jb2RlID0gXCJFSVNESVJcIjtcbiAgICAgICAgY2FsbGJhY2soZXJyMik7XG4gICAgICB9XG4gICAgICBmdW5jdGlvbiBvbmVycm9yKGVycjIpIHtcbiAgICAgICAgaWYgKGRvbmUpIHJldHVybjtcbiAgICAgICAgZG9uZSA9IHRydWU7XG4gICAgICAgIGNhbGxiYWNrKGVycjIpO1xuICAgICAgfVxuICAgICAgZnVuY3Rpb24gb25lbmQoKSB7XG4gICAgICAgIGlmIChkb25lKSByZXR1cm47XG4gICAgICAgIGRvbmUgPSB0cnVlO1xuICAgICAgICBjYWxsYmFjaygpO1xuICAgICAgfVxuICAgICAgZnVuY3Rpb24gb25maWxlKCkge1xuICAgICAgICBzdHJlYW1pbmcgPSBmYWxzZTtcbiAgICAgIH1cbiAgICAgIGZ1bmN0aW9uIG9uZmluaXNoKGVycjIpIHtcbiAgICAgICAgaWYgKGVycjIgJiYgZXJyMi5jb2RlID09PSBcIkVDT05OUkVTRVRcIikgcmV0dXJuIG9uYWJvcnRlZCgpO1xuICAgICAgICBpZiAoZXJyMikgcmV0dXJuIG9uZXJyb3IoZXJyMik7XG4gICAgICAgIGlmIChkb25lKSByZXR1cm47XG4gICAgICAgIHNldEltbWVkaWF0ZShmdW5jdGlvbigpIHtcbiAgICAgICAgICBpZiAoc3RyZWFtaW5nICE9PSBmYWxzZSAmJiAhZG9uZSkge1xuICAgICAgICAgICAgb25hYm9ydGVkKCk7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgfVxuICAgICAgICAgIGlmIChkb25lKSByZXR1cm47XG4gICAgICAgICAgZG9uZSA9IHRydWU7XG4gICAgICAgICAgY2FsbGJhY2soKTtcbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgICBmdW5jdGlvbiBvbnN0cmVhbSgpIHtcbiAgICAgICAgc3RyZWFtaW5nID0gdHJ1ZTtcbiAgICAgIH1cbiAgICAgIGZpbGUub24oXCJkaXJlY3RvcnlcIiwgb25kaXJlY3RvcnkpO1xuICAgICAgZmlsZS5vbihcImVuZFwiLCBvbmVuZCk7XG4gICAgICBmaWxlLm9uKFwiZXJyb3JcIiwgb25lcnJvcik7XG4gICAgICBmaWxlLm9uKFwiZmlsZVwiLCBvbmZpbGUpO1xuICAgICAgZmlsZS5vbihcInN0cmVhbVwiLCBvbnN0cmVhbSk7XG4gICAgICBvbkZpbmlzaGVkKHJlczIsIG9uZmluaXNoKTtcbiAgICAgIGlmIChvcHRpb25zLmhlYWRlcnMpIHtcbiAgICAgICAgZmlsZS5vbihcImhlYWRlcnNcIiwgZnVuY3Rpb24gaGVhZGVycyhyZXMzKSB7XG4gICAgICAgICAgdmFyIG9iaiA9IG9wdGlvbnMuaGVhZGVycztcbiAgICAgICAgICB2YXIga2V5cyA9IE9iamVjdC5rZXlzKG9iaik7XG4gICAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBrZXlzLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgICAgICB2YXIgayA9IGtleXNbaV07XG4gICAgICAgICAgICByZXMzLnNldEhlYWRlcihrLCBvYmpba10pO1xuICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgICBmaWxlLnBpcGUocmVzMik7XG4gICAgfVxuICAgIGZ1bmN0aW9uIHN0cmluZ2lmeSh2YWx1ZSwgcmVwbGFjZXIsIHNwYWNlcywgZXNjYXBlMikge1xuICAgICAgdmFyIGpzb24gPSByZXBsYWNlciB8fCBzcGFjZXMgPyBKU09OLnN0cmluZ2lmeSh2YWx1ZSwgcmVwbGFjZXIsIHNwYWNlcykgOiBKU09OLnN0cmluZ2lmeSh2YWx1ZSk7XG4gICAgICBpZiAoZXNjYXBlMiAmJiB0eXBlb2YganNvbiA9PT0gXCJzdHJpbmdcIikge1xuICAgICAgICBqc29uID0ganNvbi5yZXBsYWNlKC9bPD4mXS9nLCBmdW5jdGlvbihjKSB7XG4gICAgICAgICAgc3dpdGNoIChjLmNoYXJDb2RlQXQoMCkpIHtcbiAgICAgICAgICAgIGNhc2UgNjA6XG4gICAgICAgICAgICAgIHJldHVybiBcIlxcXFx1MDAzY1wiO1xuICAgICAgICAgICAgY2FzZSA2MjpcbiAgICAgICAgICAgICAgcmV0dXJuIFwiXFxcXHUwMDNlXCI7XG4gICAgICAgICAgICBjYXNlIDM4OlxuICAgICAgICAgICAgICByZXR1cm4gXCJcXFxcdTAwMjZcIjtcbiAgICAgICAgICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBuZXh0OiB1bnJlYWNoYWJsZSBkZWZhdWx0ICovXG4gICAgICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgICByZXR1cm4gYztcbiAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgICAgcmV0dXJuIGpzb247XG4gICAgfVxuICB9XG59KTtcblxuLy8gbm9kZV9tb2R1bGVzL3NlcnZlLXN0YXRpYy9pbmRleC5qc1xudmFyIHJlcXVpcmVfc2VydmVfc3RhdGljID0gX19jb21tb25KUyh7XG4gIFwibm9kZV9tb2R1bGVzL3NlcnZlLXN0YXRpYy9pbmRleC5qc1wiKGV4cG9ydHMyLCBtb2R1bGUyKSB7XG4gICAgXCJ1c2Ugc3RyaWN0XCI7XG4gICAgdmFyIGVuY29kZVVybCA9IHJlcXVpcmVfZW5jb2RldXJsKCk7XG4gICAgdmFyIGVzY2FwZUh0bWwgPSByZXF1aXJlX2VzY2FwZV9odG1sKCk7XG4gICAgdmFyIHBhcnNlVXJsID0gcmVxdWlyZV9wYXJzZXVybCgpO1xuICAgIHZhciByZXNvbHZlID0gcmVxdWlyZShcInBhdGhcIikucmVzb2x2ZTtcbiAgICB2YXIgc2VuZCA9IHJlcXVpcmVfc2VuZCgpO1xuICAgIHZhciB1cmwgPSByZXF1aXJlKFwidXJsXCIpO1xuICAgIG1vZHVsZTIuZXhwb3J0cyA9IHNlcnZlU3RhdGljO1xuICAgIGZ1bmN0aW9uIHNlcnZlU3RhdGljKHJvb3QsIG9wdGlvbnMpIHtcbiAgICAgIGlmICghcm9vdCkge1xuICAgICAgICB0aHJvdyBuZXcgVHlwZUVycm9yKFwicm9vdCBwYXRoIHJlcXVpcmVkXCIpO1xuICAgICAgfVxuICAgICAgaWYgKHR5cGVvZiByb290ICE9PSBcInN0cmluZ1wiKSB7XG4gICAgICAgIHRocm93IG5ldyBUeXBlRXJyb3IoXCJyb290IHBhdGggbXVzdCBiZSBhIHN0cmluZ1wiKTtcbiAgICAgIH1cbiAgICAgIHZhciBvcHRzID0gT2JqZWN0LmNyZWF0ZShvcHRpb25zIHx8IG51bGwpO1xuICAgICAgdmFyIGZhbGx0aHJvdWdoID0gb3B0cy5mYWxsdGhyb3VnaCAhPT0gZmFsc2U7XG4gICAgICB2YXIgcmVkaXJlY3QgPSBvcHRzLnJlZGlyZWN0ICE9PSBmYWxzZTtcbiAgICAgIHZhciBzZXRIZWFkZXJzID0gb3B0cy5zZXRIZWFkZXJzO1xuICAgICAgaWYgKHNldEhlYWRlcnMgJiYgdHlwZW9mIHNldEhlYWRlcnMgIT09IFwiZnVuY3Rpb25cIikge1xuICAgICAgICB0aHJvdyBuZXcgVHlwZUVycm9yKFwib3B0aW9uIHNldEhlYWRlcnMgbXVzdCBiZSBmdW5jdGlvblwiKTtcbiAgICAgIH1cbiAgICAgIG9wdHMubWF4YWdlID0gb3B0cy5tYXhhZ2UgfHwgb3B0cy5tYXhBZ2UgfHwgMDtcbiAgICAgIG9wdHMucm9vdCA9IHJlc29sdmUocm9vdCk7XG4gICAgICB2YXIgb25EaXJlY3RvcnkgPSByZWRpcmVjdCA/IGNyZWF0ZVJlZGlyZWN0RGlyZWN0b3J5TGlzdGVuZXIoKSA6IGNyZWF0ZU5vdEZvdW5kRGlyZWN0b3J5TGlzdGVuZXIoKTtcbiAgICAgIHJldHVybiBmdW5jdGlvbiBzZXJ2ZVN0YXRpYzIocmVxLCByZXMsIG5leHQpIHtcbiAgICAgICAgaWYgKHJlcS5tZXRob2QgIT09IFwiR0VUXCIgJiYgcmVxLm1ldGhvZCAhPT0gXCJIRUFEXCIpIHtcbiAgICAgICAgICBpZiAoZmFsbHRocm91Z2gpIHtcbiAgICAgICAgICAgIHJldHVybiBuZXh0KCk7XG4gICAgICAgICAgfVxuICAgICAgICAgIHJlcy5zdGF0dXNDb2RlID0gNDA1O1xuICAgICAgICAgIHJlcy5zZXRIZWFkZXIoXCJBbGxvd1wiLCBcIkdFVCwgSEVBRFwiKTtcbiAgICAgICAgICByZXMuc2V0SGVhZGVyKFwiQ29udGVudC1MZW5ndGhcIiwgXCIwXCIpO1xuICAgICAgICAgIHJlcy5lbmQoKTtcbiAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgdmFyIGZvcndhcmRFcnJvciA9ICFmYWxsdGhyb3VnaDtcbiAgICAgICAgdmFyIG9yaWdpbmFsVXJsID0gcGFyc2VVcmwub3JpZ2luYWwocmVxKTtcbiAgICAgICAgdmFyIHBhdGggPSBwYXJzZVVybChyZXEpLnBhdGhuYW1lO1xuICAgICAgICBpZiAocGF0aCA9PT0gXCIvXCIgJiYgb3JpZ2luYWxVcmwucGF0aG5hbWUuc3Vic3RyKC0xKSAhPT0gXCIvXCIpIHtcbiAgICAgICAgICBwYXRoID0gXCJcIjtcbiAgICAgICAgfVxuICAgICAgICB2YXIgc3RyZWFtID0gc2VuZChyZXEsIHBhdGgsIG9wdHMpO1xuICAgICAgICBzdHJlYW0ub24oXCJkaXJlY3RvcnlcIiwgb25EaXJlY3RvcnkpO1xuICAgICAgICBpZiAoc2V0SGVhZGVycykge1xuICAgICAgICAgIHN0cmVhbS5vbihcImhlYWRlcnNcIiwgc2V0SGVhZGVycyk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGZhbGx0aHJvdWdoKSB7XG4gICAgICAgICAgc3RyZWFtLm9uKFwiZmlsZVwiLCBmdW5jdGlvbiBvbkZpbGUoKSB7XG4gICAgICAgICAgICBmb3J3YXJkRXJyb3IgPSB0cnVlO1xuICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICAgIHN0cmVhbS5vbihcImVycm9yXCIsIGZ1bmN0aW9uIGVycm9yKGVycjIpIHtcbiAgICAgICAgICBpZiAoZm9yd2FyZEVycm9yIHx8ICEoZXJyMi5zdGF0dXNDb2RlIDwgNTAwKSkge1xuICAgICAgICAgICAgbmV4dChlcnIyKTtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICB9XG4gICAgICAgICAgbmV4dCgpO1xuICAgICAgICB9KTtcbiAgICAgICAgc3RyZWFtLnBpcGUocmVzKTtcbiAgICAgIH07XG4gICAgfVxuICAgIGZ1bmN0aW9uIGNvbGxhcHNlTGVhZGluZ1NsYXNoZXMoc3RyKSB7XG4gICAgICBmb3IgKHZhciBpID0gMDsgaSA8IHN0ci5sZW5ndGg7IGkrKykge1xuICAgICAgICBpZiAoc3RyLmNoYXJDb2RlQXQoaSkgIT09IDQ3KSB7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIHJldHVybiBpID4gMSA/IFwiL1wiICsgc3RyLnN1YnN0cihpKSA6IHN0cjtcbiAgICB9XG4gICAgZnVuY3Rpb24gY3JlYXRlSHRtbERvY3VtZW50KHRpdGxlLCBib2R5KSB7XG4gICAgICByZXR1cm4gJzwhRE9DVFlQRSBodG1sPlxcbjxodG1sIGxhbmc9XCJlblwiPlxcbjxoZWFkPlxcbjxtZXRhIGNoYXJzZXQ9XCJ1dGYtOFwiPlxcbjx0aXRsZT4nICsgdGl0bGUgKyBcIjwvdGl0bGU+XFxuPC9oZWFkPlxcbjxib2R5PlxcbjxwcmU+XCIgKyBib2R5ICsgXCI8L3ByZT5cXG48L2JvZHk+XFxuPC9odG1sPlxcblwiO1xuICAgIH1cbiAgICBmdW5jdGlvbiBjcmVhdGVOb3RGb3VuZERpcmVjdG9yeUxpc3RlbmVyKCkge1xuICAgICAgcmV0dXJuIGZ1bmN0aW9uIG5vdEZvdW5kKCkge1xuICAgICAgICB0aGlzLmVycm9yKDQwNCk7XG4gICAgICB9O1xuICAgIH1cbiAgICBmdW5jdGlvbiBjcmVhdGVSZWRpcmVjdERpcmVjdG9yeUxpc3RlbmVyKCkge1xuICAgICAgcmV0dXJuIGZ1bmN0aW9uIHJlZGlyZWN0KHJlcykge1xuICAgICAgICBpZiAodGhpcy5oYXNUcmFpbGluZ1NsYXNoKCkpIHtcbiAgICAgICAgICB0aGlzLmVycm9yKDQwNCk7XG4gICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIHZhciBvcmlnaW5hbFVybCA9IHBhcnNlVXJsLm9yaWdpbmFsKHRoaXMucmVxKTtcbiAgICAgICAgb3JpZ2luYWxVcmwucGF0aCA9IG51bGw7XG4gICAgICAgIG9yaWdpbmFsVXJsLnBhdGhuYW1lID0gY29sbGFwc2VMZWFkaW5nU2xhc2hlcyhvcmlnaW5hbFVybC5wYXRobmFtZSArIFwiL1wiKTtcbiAgICAgICAgdmFyIGxvYyA9IGVuY29kZVVybCh1cmwuZm9ybWF0KG9yaWdpbmFsVXJsKSk7XG4gICAgICAgIHZhciBkb2MgPSBjcmVhdGVIdG1sRG9jdW1lbnQoXCJSZWRpcmVjdGluZ1wiLCBcIlJlZGlyZWN0aW5nIHRvIFwiICsgZXNjYXBlSHRtbChsb2MpKTtcbiAgICAgICAgcmVzLnN0YXR1c0NvZGUgPSAzMDE7XG4gICAgICAgIHJlcy5zZXRIZWFkZXIoXCJDb250ZW50LVR5cGVcIiwgXCJ0ZXh0L2h0bWw7IGNoYXJzZXQ9VVRGLThcIik7XG4gICAgICAgIHJlcy5zZXRIZWFkZXIoXCJDb250ZW50LUxlbmd0aFwiLCBCdWZmZXIuYnl0ZUxlbmd0aChkb2MpKTtcbiAgICAgICAgcmVzLnNldEhlYWRlcihcIkNvbnRlbnQtU2VjdXJpdHktUG9saWN5XCIsIFwiZGVmYXVsdC1zcmMgJ25vbmUnXCIpO1xuICAgICAgICByZXMuc2V0SGVhZGVyKFwiWC1Db250ZW50LVR5cGUtT3B0aW9uc1wiLCBcIm5vc25pZmZcIik7XG4gICAgICAgIHJlcy5zZXRIZWFkZXIoXCJMb2NhdGlvblwiLCBsb2MpO1xuICAgICAgICByZXMuZW5kKGRvYyk7XG4gICAgICB9O1xuICAgIH1cbiAgfVxufSk7XG5cbi8vIG5vZGVfbW9kdWxlcy9leHByZXNzL2xpYi9leHByZXNzLmpzXG52YXIgcmVxdWlyZV9leHByZXNzID0gX19jb21tb25KUyh7XG4gIFwibm9kZV9tb2R1bGVzL2V4cHJlc3MvbGliL2V4cHJlc3MuanNcIihleHBvcnRzMiwgbW9kdWxlMikge1xuICAgIFwidXNlIHN0cmljdFwiO1xuICAgIHZhciBib2R5UGFyc2VyID0gcmVxdWlyZV9ib2R5X3BhcnNlcigpO1xuICAgIHZhciBFdmVudEVtaXR0ZXIgPSByZXF1aXJlKFwibm9kZTpldmVudHNcIikuRXZlbnRFbWl0dGVyO1xuICAgIHZhciBtaXhpbiA9IHJlcXVpcmVfbWVyZ2VfZGVzY3JpcHRvcnMoKTtcbiAgICB2YXIgcHJvdG8gPSByZXF1aXJlX2FwcGxpY2F0aW9uKCk7XG4gICAgdmFyIFJvdXRlciA9IHJlcXVpcmVfcm91dGVyKCk7XG4gICAgdmFyIHJlcSA9IHJlcXVpcmVfcmVxdWVzdCgpO1xuICAgIHZhciByZXMgPSByZXF1aXJlX3Jlc3BvbnNlKCk7XG4gICAgZXhwb3J0czIgPSBtb2R1bGUyLmV4cG9ydHMgPSBjcmVhdGVBcHBsaWNhdGlvbjtcbiAgICBmdW5jdGlvbiBjcmVhdGVBcHBsaWNhdGlvbigpIHtcbiAgICAgIHZhciBhcHAgPSBmdW5jdGlvbihyZXEyLCByZXMyLCBuZXh0KSB7XG4gICAgICAgIGFwcC5oYW5kbGUocmVxMiwgcmVzMiwgbmV4dCk7XG4gICAgICB9O1xuICAgICAgbWl4aW4oYXBwLCBFdmVudEVtaXR0ZXIucHJvdG90eXBlLCBmYWxzZSk7XG4gICAgICBtaXhpbihhcHAsIHByb3RvLCBmYWxzZSk7XG4gICAgICBhcHAucmVxdWVzdCA9IE9iamVjdC5jcmVhdGUocmVxLCB7XG4gICAgICAgIGFwcDogeyBjb25maWd1cmFibGU6IHRydWUsIGVudW1lcmFibGU6IHRydWUsIHdyaXRhYmxlOiB0cnVlLCB2YWx1ZTogYXBwIH1cbiAgICAgIH0pO1xuICAgICAgYXBwLnJlc3BvbnNlID0gT2JqZWN0LmNyZWF0ZShyZXMsIHtcbiAgICAgICAgYXBwOiB7IGNvbmZpZ3VyYWJsZTogdHJ1ZSwgZW51bWVyYWJsZTogdHJ1ZSwgd3JpdGFibGU6IHRydWUsIHZhbHVlOiBhcHAgfVxuICAgICAgfSk7XG4gICAgICBhcHAuaW5pdCgpO1xuICAgICAgcmV0dXJuIGFwcDtcbiAgICB9XG4gICAgZXhwb3J0czIuYXBwbGljYXRpb24gPSBwcm90bztcbiAgICBleHBvcnRzMi5yZXF1ZXN0ID0gcmVxO1xuICAgIGV4cG9ydHMyLnJlc3BvbnNlID0gcmVzO1xuICAgIGV4cG9ydHMyLlJvdXRlID0gUm91dGVyLlJvdXRlO1xuICAgIGV4cG9ydHMyLlJvdXRlciA9IFJvdXRlcjtcbiAgICBleHBvcnRzMi5qc29uID0gYm9keVBhcnNlci5qc29uO1xuICAgIGV4cG9ydHMyLnJhdyA9IGJvZHlQYXJzZXIucmF3O1xuICAgIGV4cG9ydHMyLnN0YXRpYyA9IHJlcXVpcmVfc2VydmVfc3RhdGljKCk7XG4gICAgZXhwb3J0czIudGV4dCA9IGJvZHlQYXJzZXIudGV4dDtcbiAgICBleHBvcnRzMi51cmxlbmNvZGVkID0gYm9keVBhcnNlci51cmxlbmNvZGVkO1xuICB9XG59KTtcblxuLy8gbm9kZV9tb2R1bGVzL2V4cHJlc3MvaW5kZXguanNcbnZhciByZXF1aXJlX2V4cHJlc3MyID0gX19jb21tb25KUyh7XG4gIFwibm9kZV9tb2R1bGVzL2V4cHJlc3MvaW5kZXguanNcIihleHBvcnRzMiwgbW9kdWxlMikge1xuICAgIFwidXNlIHN0cmljdFwiO1xuICAgIG1vZHVsZTIuZXhwb3J0cyA9IHJlcXVpcmVfZXhwcmVzcygpO1xuICB9XG59KTtcblxuLy8gbm9kZV9tb2R1bGVzL2xvZGFzaC9sb2Rhc2guanNcbnZhciByZXF1aXJlX2xvZGFzaCA9IF9fY29tbW9uSlMoe1xuICBcIm5vZGVfbW9kdWxlcy9sb2Rhc2gvbG9kYXNoLmpzXCIoZXhwb3J0czIsIG1vZHVsZTIpIHtcbiAgICAoZnVuY3Rpb24oKSB7XG4gICAgICB2YXIgdW5kZWZpbmVkMjtcbiAgICAgIHZhciBWRVJTSU9OID0gXCI0LjE3LjIxXCI7XG4gICAgICB2YXIgTEFSR0VfQVJSQVlfU0laRSA9IDIwMDtcbiAgICAgIHZhciBDT1JFX0VSUk9SX1RFWFQgPSBcIlVuc3VwcG9ydGVkIGNvcmUtanMgdXNlLiBUcnkgaHR0cHM6Ly9ucG1zLmlvL3NlYXJjaD9xPXBvbnlmaWxsLlwiLCBGVU5DX0VSUk9SX1RFWFQgPSBcIkV4cGVjdGVkIGEgZnVuY3Rpb25cIiwgSU5WQUxJRF9URU1QTF9WQVJfRVJST1JfVEVYVCA9IFwiSW52YWxpZCBgdmFyaWFibGVgIG9wdGlvbiBwYXNzZWQgaW50byBgXy50ZW1wbGF0ZWBcIjtcbiAgICAgIHZhciBIQVNIX1VOREVGSU5FRCA9IFwiX19sb2Rhc2hfaGFzaF91bmRlZmluZWRfX1wiO1xuICAgICAgdmFyIE1BWF9NRU1PSVpFX1NJWkUgPSA1MDA7XG4gICAgICB2YXIgUExBQ0VIT0xERVIgPSBcIl9fbG9kYXNoX3BsYWNlaG9sZGVyX19cIjtcbiAgICAgIHZhciBDTE9ORV9ERUVQX0ZMQUcgPSAxLCBDTE9ORV9GTEFUX0ZMQUcgPSAyLCBDTE9ORV9TWU1CT0xTX0ZMQUcgPSA0O1xuICAgICAgdmFyIENPTVBBUkVfUEFSVElBTF9GTEFHID0gMSwgQ09NUEFSRV9VTk9SREVSRURfRkxBRyA9IDI7XG4gICAgICB2YXIgV1JBUF9CSU5EX0ZMQUcgPSAxLCBXUkFQX0JJTkRfS0VZX0ZMQUcgPSAyLCBXUkFQX0NVUlJZX0JPVU5EX0ZMQUcgPSA0LCBXUkFQX0NVUlJZX0ZMQUcgPSA4LCBXUkFQX0NVUlJZX1JJR0hUX0ZMQUcgPSAxNiwgV1JBUF9QQVJUSUFMX0ZMQUcgPSAzMiwgV1JBUF9QQVJUSUFMX1JJR0hUX0ZMQUcgPSA2NCwgV1JBUF9BUllfRkxBRyA9IDEyOCwgV1JBUF9SRUFSR19GTEFHID0gMjU2LCBXUkFQX0ZMSVBfRkxBRyA9IDUxMjtcbiAgICAgIHZhciBERUZBVUxUX1RSVU5DX0xFTkdUSCA9IDMwLCBERUZBVUxUX1RSVU5DX09NSVNTSU9OID0gXCIuLi5cIjtcbiAgICAgIHZhciBIT1RfQ09VTlQgPSA4MDAsIEhPVF9TUEFOID0gMTY7XG4gICAgICB2YXIgTEFaWV9GSUxURVJfRkxBRyA9IDEsIExBWllfTUFQX0ZMQUcgPSAyLCBMQVpZX1dISUxFX0ZMQUcgPSAzO1xuICAgICAgdmFyIElORklOSVRZID0gMSAvIDAsIE1BWF9TQUZFX0lOVEVHRVIgPSA5MDA3MTk5MjU0NzQwOTkxLCBNQVhfSU5URUdFUiA9IDE3OTc2OTMxMzQ4NjIzMTU3ZTI5MiwgTkFOID0gMCAvIDA7XG4gICAgICB2YXIgTUFYX0FSUkFZX0xFTkdUSCA9IDQyOTQ5NjcyOTUsIE1BWF9BUlJBWV9JTkRFWCA9IE1BWF9BUlJBWV9MRU5HVEggLSAxLCBIQUxGX01BWF9BUlJBWV9MRU5HVEggPSBNQVhfQVJSQVlfTEVOR1RIID4+PiAxO1xuICAgICAgdmFyIHdyYXBGbGFncyA9IFtcbiAgICAgICAgW1wiYXJ5XCIsIFdSQVBfQVJZX0ZMQUddLFxuICAgICAgICBbXCJiaW5kXCIsIFdSQVBfQklORF9GTEFHXSxcbiAgICAgICAgW1wiYmluZEtleVwiLCBXUkFQX0JJTkRfS0VZX0ZMQUddLFxuICAgICAgICBbXCJjdXJyeVwiLCBXUkFQX0NVUlJZX0ZMQUddLFxuICAgICAgICBbXCJjdXJyeVJpZ2h0XCIsIFdSQVBfQ1VSUllfUklHSFRfRkxBR10sXG4gICAgICAgIFtcImZsaXBcIiwgV1JBUF9GTElQX0ZMQUddLFxuICAgICAgICBbXCJwYXJ0aWFsXCIsIFdSQVBfUEFSVElBTF9GTEFHXSxcbiAgICAgICAgW1wicGFydGlhbFJpZ2h0XCIsIFdSQVBfUEFSVElBTF9SSUdIVF9GTEFHXSxcbiAgICAgICAgW1wicmVhcmdcIiwgV1JBUF9SRUFSR19GTEFHXVxuICAgICAgXTtcbiAgICAgIHZhciBhcmdzVGFnID0gXCJbb2JqZWN0IEFyZ3VtZW50c11cIiwgYXJyYXlUYWcgPSBcIltvYmplY3QgQXJyYXldXCIsIGFzeW5jVGFnID0gXCJbb2JqZWN0IEFzeW5jRnVuY3Rpb25dXCIsIGJvb2xUYWcgPSBcIltvYmplY3QgQm9vbGVhbl1cIiwgZGF0ZVRhZyA9IFwiW29iamVjdCBEYXRlXVwiLCBkb21FeGNUYWcgPSBcIltvYmplY3QgRE9NRXhjZXB0aW9uXVwiLCBlcnJvclRhZyA9IFwiW29iamVjdCBFcnJvcl1cIiwgZnVuY1RhZyA9IFwiW29iamVjdCBGdW5jdGlvbl1cIiwgZ2VuVGFnID0gXCJbb2JqZWN0IEdlbmVyYXRvckZ1bmN0aW9uXVwiLCBtYXBUYWcgPSBcIltvYmplY3QgTWFwXVwiLCBudW1iZXJUYWcgPSBcIltvYmplY3QgTnVtYmVyXVwiLCBudWxsVGFnID0gXCJbb2JqZWN0IE51bGxdXCIsIG9iamVjdFRhZyA9IFwiW29iamVjdCBPYmplY3RdXCIsIHByb21pc2VUYWcgPSBcIltvYmplY3QgUHJvbWlzZV1cIiwgcHJveHlUYWcgPSBcIltvYmplY3QgUHJveHldXCIsIHJlZ2V4cFRhZyA9IFwiW29iamVjdCBSZWdFeHBdXCIsIHNldFRhZyA9IFwiW29iamVjdCBTZXRdXCIsIHN0cmluZ1RhZyA9IFwiW29iamVjdCBTdHJpbmddXCIsIHN5bWJvbFRhZyA9IFwiW29iamVjdCBTeW1ib2xdXCIsIHVuZGVmaW5lZFRhZyA9IFwiW29iamVjdCBVbmRlZmluZWRdXCIsIHdlYWtNYXBUYWcgPSBcIltvYmplY3QgV2Vha01hcF1cIiwgd2Vha1NldFRhZyA9IFwiW29iamVjdCBXZWFrU2V0XVwiO1xuICAgICAgdmFyIGFycmF5QnVmZmVyVGFnID0gXCJbb2JqZWN0IEFycmF5QnVmZmVyXVwiLCBkYXRhVmlld1RhZyA9IFwiW29iamVjdCBEYXRhVmlld11cIiwgZmxvYXQzMlRhZyA9IFwiW29iamVjdCBGbG9hdDMyQXJyYXldXCIsIGZsb2F0NjRUYWcgPSBcIltvYmplY3QgRmxvYXQ2NEFycmF5XVwiLCBpbnQ4VGFnID0gXCJbb2JqZWN0IEludDhBcnJheV1cIiwgaW50MTZUYWcgPSBcIltvYmplY3QgSW50MTZBcnJheV1cIiwgaW50MzJUYWcgPSBcIltvYmplY3QgSW50MzJBcnJheV1cIiwgdWludDhUYWcgPSBcIltvYmplY3QgVWludDhBcnJheV1cIiwgdWludDhDbGFtcGVkVGFnID0gXCJbb2JqZWN0IFVpbnQ4Q2xhbXBlZEFycmF5XVwiLCB1aW50MTZUYWcgPSBcIltvYmplY3QgVWludDE2QXJyYXldXCIsIHVpbnQzMlRhZyA9IFwiW29iamVjdCBVaW50MzJBcnJheV1cIjtcbiAgICAgIHZhciByZUVtcHR5U3RyaW5nTGVhZGluZyA9IC9cXGJfX3AgXFwrPSAnJzsvZywgcmVFbXB0eVN0cmluZ01pZGRsZSA9IC9cXGIoX19wIFxcKz0pICcnIFxcKy9nLCByZUVtcHR5U3RyaW5nVHJhaWxpbmcgPSAvKF9fZVxcKC4qP1xcKXxcXGJfX3RcXCkpIFxcK1xcbicnOy9nO1xuICAgICAgdmFyIHJlRXNjYXBlZEh0bWwgPSAvJig/OmFtcHxsdHxndHxxdW90fCMzOSk7L2csIHJlVW5lc2NhcGVkSHRtbCA9IC9bJjw+XCInXS9nLCByZUhhc0VzY2FwZWRIdG1sID0gUmVnRXhwKHJlRXNjYXBlZEh0bWwuc291cmNlKSwgcmVIYXNVbmVzY2FwZWRIdG1sID0gUmVnRXhwKHJlVW5lc2NhcGVkSHRtbC5zb3VyY2UpO1xuICAgICAgdmFyIHJlRXNjYXBlID0gLzwlLShbXFxzXFxTXSs/KSU+L2csIHJlRXZhbHVhdGUgPSAvPCUoW1xcc1xcU10rPyklPi9nLCByZUludGVycG9sYXRlID0gLzwlPShbXFxzXFxTXSs/KSU+L2c7XG4gICAgICB2YXIgcmVJc0RlZXBQcm9wID0gL1xcLnxcXFsoPzpbXltcXF1dKnwoW1wiJ10pKD86KD8hXFwxKVteXFxcXF18XFxcXC4pKj9cXDEpXFxdLywgcmVJc1BsYWluUHJvcCA9IC9eXFx3KiQvLCByZVByb3BOYW1lID0gL1teLltcXF1dK3xcXFsoPzooLT9cXGQrKD86XFwuXFxkKyk/KXwoW1wiJ10pKCg/Oig/IVxcMilbXlxcXFxdfFxcXFwuKSo/KVxcMilcXF18KD89KD86XFwufFxcW1xcXSkoPzpcXC58XFxbXFxdfCQpKS9nO1xuICAgICAgdmFyIHJlUmVnRXhwQ2hhciA9IC9bXFxcXF4kLiorPygpW1xcXXt9fF0vZywgcmVIYXNSZWdFeHBDaGFyID0gUmVnRXhwKHJlUmVnRXhwQ2hhci5zb3VyY2UpO1xuICAgICAgdmFyIHJlVHJpbVN0YXJ0ID0gL15cXHMrLztcbiAgICAgIHZhciByZVdoaXRlc3BhY2UgPSAvXFxzLztcbiAgICAgIHZhciByZVdyYXBDb21tZW50ID0gL1xceyg/OlxcblxcL1xcKiBcXFt3cmFwcGVkIHdpdGggLitcXF0gXFwqXFwvKT9cXG4/LywgcmVXcmFwRGV0YWlscyA9IC9cXHtcXG5cXC9cXCogXFxbd3JhcHBlZCB3aXRoICguKylcXF0gXFwqLywgcmVTcGxpdERldGFpbHMgPSAvLD8gJiAvO1xuICAgICAgdmFyIHJlQXNjaWlXb3JkID0gL1teXFx4MDAtXFx4MmZcXHgzYS1cXHg0MFxceDViLVxceDYwXFx4N2ItXFx4N2ZdKy9nO1xuICAgICAgdmFyIHJlRm9yYmlkZGVuSWRlbnRpZmllckNoYXJzID0gL1soKT0se31cXFtcXF1cXC9cXHNdLztcbiAgICAgIHZhciByZUVzY2FwZUNoYXIgPSAvXFxcXChcXFxcKT8vZztcbiAgICAgIHZhciByZUVzVGVtcGxhdGUgPSAvXFwkXFx7KFteXFxcXH1dKig/OlxcXFwuW15cXFxcfV0qKSopXFx9L2c7XG4gICAgICB2YXIgcmVGbGFncyA9IC9cXHcqJC87XG4gICAgICB2YXIgcmVJc0JhZEhleCA9IC9eWy0rXTB4WzAtOWEtZl0rJC9pO1xuICAgICAgdmFyIHJlSXNCaW5hcnkgPSAvXjBiWzAxXSskL2k7XG4gICAgICB2YXIgcmVJc0hvc3RDdG9yID0gL15cXFtvYmplY3QgLis/Q29uc3RydWN0b3JcXF0kLztcbiAgICAgIHZhciByZUlzT2N0YWwgPSAvXjBvWzAtN10rJC9pO1xuICAgICAgdmFyIHJlSXNVaW50ID0gL14oPzowfFsxLTldXFxkKikkLztcbiAgICAgIHZhciByZUxhdGluID0gL1tcXHhjMC1cXHhkNlxceGQ4LVxceGY2XFx4ZjgtXFx4ZmZcXHUwMTAwLVxcdTAxN2ZdL2c7XG4gICAgICB2YXIgcmVOb01hdGNoID0gLygkXikvO1xuICAgICAgdmFyIHJlVW5lc2NhcGVkU3RyaW5nID0gL1snXFxuXFxyXFx1MjAyOFxcdTIwMjlcXFxcXS9nO1xuICAgICAgdmFyIHJzQXN0cmFsUmFuZ2UgPSBcIlxcXFx1ZDgwMC1cXFxcdWRmZmZcIiwgcnNDb21ib01hcmtzUmFuZ2UgPSBcIlxcXFx1MDMwMC1cXFxcdTAzNmZcIiwgcmVDb21ib0hhbGZNYXJrc1JhbmdlID0gXCJcXFxcdWZlMjAtXFxcXHVmZTJmXCIsIHJzQ29tYm9TeW1ib2xzUmFuZ2UgPSBcIlxcXFx1MjBkMC1cXFxcdTIwZmZcIiwgcnNDb21ib1JhbmdlID0gcnNDb21ib01hcmtzUmFuZ2UgKyByZUNvbWJvSGFsZk1hcmtzUmFuZ2UgKyByc0NvbWJvU3ltYm9sc1JhbmdlLCByc0RpbmdiYXRSYW5nZSA9IFwiXFxcXHUyNzAwLVxcXFx1MjdiZlwiLCByc0xvd2VyUmFuZ2UgPSBcImEtelxcXFx4ZGYtXFxcXHhmNlxcXFx4ZjgtXFxcXHhmZlwiLCByc01hdGhPcFJhbmdlID0gXCJcXFxceGFjXFxcXHhiMVxcXFx4ZDdcXFxceGY3XCIsIHJzTm9uQ2hhclJhbmdlID0gXCJcXFxceDAwLVxcXFx4MmZcXFxceDNhLVxcXFx4NDBcXFxceDViLVxcXFx4NjBcXFxceDdiLVxcXFx4YmZcIiwgcnNQdW5jdHVhdGlvblJhbmdlID0gXCJcXFxcdTIwMDAtXFxcXHUyMDZmXCIsIHJzU3BhY2VSYW5nZSA9IFwiIFxcXFx0XFxcXHgwYlxcXFxmXFxcXHhhMFxcXFx1ZmVmZlxcXFxuXFxcXHJcXFxcdTIwMjhcXFxcdTIwMjlcXFxcdTE2ODBcXFxcdTE4MGVcXFxcdTIwMDBcXFxcdTIwMDFcXFxcdTIwMDJcXFxcdTIwMDNcXFxcdTIwMDRcXFxcdTIwMDVcXFxcdTIwMDZcXFxcdTIwMDdcXFxcdTIwMDhcXFxcdTIwMDlcXFxcdTIwMGFcXFxcdTIwMmZcXFxcdTIwNWZcXFxcdTMwMDBcIiwgcnNVcHBlclJhbmdlID0gXCJBLVpcXFxceGMwLVxcXFx4ZDZcXFxceGQ4LVxcXFx4ZGVcIiwgcnNWYXJSYW5nZSA9IFwiXFxcXHVmZTBlXFxcXHVmZTBmXCIsIHJzQnJlYWtSYW5nZSA9IHJzTWF0aE9wUmFuZ2UgKyByc05vbkNoYXJSYW5nZSArIHJzUHVuY3R1YXRpb25SYW5nZSArIHJzU3BhY2VSYW5nZTtcbiAgICAgIHZhciByc0Fwb3MgPSBcIlsnXFx1MjAxOV1cIiwgcnNBc3RyYWwgPSBcIltcIiArIHJzQXN0cmFsUmFuZ2UgKyBcIl1cIiwgcnNCcmVhayA9IFwiW1wiICsgcnNCcmVha1JhbmdlICsgXCJdXCIsIHJzQ29tYm8gPSBcIltcIiArIHJzQ29tYm9SYW5nZSArIFwiXVwiLCByc0RpZ2l0cyA9IFwiXFxcXGQrXCIsIHJzRGluZ2JhdCA9IFwiW1wiICsgcnNEaW5nYmF0UmFuZ2UgKyBcIl1cIiwgcnNMb3dlciA9IFwiW1wiICsgcnNMb3dlclJhbmdlICsgXCJdXCIsIHJzTWlzYyA9IFwiW15cIiArIHJzQXN0cmFsUmFuZ2UgKyByc0JyZWFrUmFuZ2UgKyByc0RpZ2l0cyArIHJzRGluZ2JhdFJhbmdlICsgcnNMb3dlclJhbmdlICsgcnNVcHBlclJhbmdlICsgXCJdXCIsIHJzRml0eiA9IFwiXFxcXHVkODNjW1xcXFx1ZGZmYi1cXFxcdWRmZmZdXCIsIHJzTW9kaWZpZXIgPSBcIig/OlwiICsgcnNDb21ibyArIFwifFwiICsgcnNGaXR6ICsgXCIpXCIsIHJzTm9uQXN0cmFsID0gXCJbXlwiICsgcnNBc3RyYWxSYW5nZSArIFwiXVwiLCByc1JlZ2lvbmFsID0gXCIoPzpcXFxcdWQ4M2NbXFxcXHVkZGU2LVxcXFx1ZGRmZl0pezJ9XCIsIHJzU3VyclBhaXIgPSBcIltcXFxcdWQ4MDAtXFxcXHVkYmZmXVtcXFxcdWRjMDAtXFxcXHVkZmZmXVwiLCByc1VwcGVyID0gXCJbXCIgKyByc1VwcGVyUmFuZ2UgKyBcIl1cIiwgcnNaV0ogPSBcIlxcXFx1MjAwZFwiO1xuICAgICAgdmFyIHJzTWlzY0xvd2VyID0gXCIoPzpcIiArIHJzTG93ZXIgKyBcInxcIiArIHJzTWlzYyArIFwiKVwiLCByc01pc2NVcHBlciA9IFwiKD86XCIgKyByc1VwcGVyICsgXCJ8XCIgKyByc01pc2MgKyBcIilcIiwgcnNPcHRDb250ckxvd2VyID0gXCIoPzpcIiArIHJzQXBvcyArIFwiKD86ZHxsbHxtfHJlfHN8dHx2ZSkpP1wiLCByc09wdENvbnRyVXBwZXIgPSBcIig/OlwiICsgcnNBcG9zICsgXCIoPzpEfExMfE18UkV8U3xUfFZFKSk/XCIsIHJlT3B0TW9kID0gcnNNb2RpZmllciArIFwiP1wiLCByc09wdFZhciA9IFwiW1wiICsgcnNWYXJSYW5nZSArIFwiXT9cIiwgcnNPcHRKb2luID0gXCIoPzpcIiArIHJzWldKICsgXCIoPzpcIiArIFtyc05vbkFzdHJhbCwgcnNSZWdpb25hbCwgcnNTdXJyUGFpcl0uam9pbihcInxcIikgKyBcIilcIiArIHJzT3B0VmFyICsgcmVPcHRNb2QgKyBcIikqXCIsIHJzT3JkTG93ZXIgPSBcIlxcXFxkKig/OjFzdHwybmR8M3JkfCg/IVsxMjNdKVxcXFxkdGgpKD89XFxcXGJ8W0EtWl9dKVwiLCByc09yZFVwcGVyID0gXCJcXFxcZCooPzoxU1R8Mk5EfDNSRHwoPyFbMTIzXSlcXFxcZFRIKSg/PVxcXFxifFthLXpfXSlcIiwgcnNTZXEgPSByc09wdFZhciArIHJlT3B0TW9kICsgcnNPcHRKb2luLCByc0Vtb2ppID0gXCIoPzpcIiArIFtyc0RpbmdiYXQsIHJzUmVnaW9uYWwsIHJzU3VyclBhaXJdLmpvaW4oXCJ8XCIpICsgXCIpXCIgKyByc1NlcSwgcnNTeW1ib2wgPSBcIig/OlwiICsgW3JzTm9uQXN0cmFsICsgcnNDb21ibyArIFwiP1wiLCByc0NvbWJvLCByc1JlZ2lvbmFsLCByc1N1cnJQYWlyLCByc0FzdHJhbF0uam9pbihcInxcIikgKyBcIilcIjtcbiAgICAgIHZhciByZUFwb3MgPSBSZWdFeHAocnNBcG9zLCBcImdcIik7XG4gICAgICB2YXIgcmVDb21ib01hcmsgPSBSZWdFeHAocnNDb21ibywgXCJnXCIpO1xuICAgICAgdmFyIHJlVW5pY29kZSA9IFJlZ0V4cChyc0ZpdHogKyBcIig/PVwiICsgcnNGaXR6ICsgXCIpfFwiICsgcnNTeW1ib2wgKyByc1NlcSwgXCJnXCIpO1xuICAgICAgdmFyIHJlVW5pY29kZVdvcmQgPSBSZWdFeHAoW1xuICAgICAgICByc1VwcGVyICsgXCI/XCIgKyByc0xvd2VyICsgXCIrXCIgKyByc09wdENvbnRyTG93ZXIgKyBcIig/PVwiICsgW3JzQnJlYWssIHJzVXBwZXIsIFwiJFwiXS5qb2luKFwifFwiKSArIFwiKVwiLFxuICAgICAgICByc01pc2NVcHBlciArIFwiK1wiICsgcnNPcHRDb250clVwcGVyICsgXCIoPz1cIiArIFtyc0JyZWFrLCByc1VwcGVyICsgcnNNaXNjTG93ZXIsIFwiJFwiXS5qb2luKFwifFwiKSArIFwiKVwiLFxuICAgICAgICByc1VwcGVyICsgXCI/XCIgKyByc01pc2NMb3dlciArIFwiK1wiICsgcnNPcHRDb250ckxvd2VyLFxuICAgICAgICByc1VwcGVyICsgXCIrXCIgKyByc09wdENvbnRyVXBwZXIsXG4gICAgICAgIHJzT3JkVXBwZXIsXG4gICAgICAgIHJzT3JkTG93ZXIsXG4gICAgICAgIHJzRGlnaXRzLFxuICAgICAgICByc0Vtb2ppXG4gICAgICBdLmpvaW4oXCJ8XCIpLCBcImdcIik7XG4gICAgICB2YXIgcmVIYXNVbmljb2RlID0gUmVnRXhwKFwiW1wiICsgcnNaV0ogKyByc0FzdHJhbFJhbmdlICsgcnNDb21ib1JhbmdlICsgcnNWYXJSYW5nZSArIFwiXVwiKTtcbiAgICAgIHZhciByZUhhc1VuaWNvZGVXb3JkID0gL1thLXpdW0EtWl18W0EtWl17Mn1bYS16XXxbMC05XVthLXpBLVpdfFthLXpBLVpdWzAtOV18W15hLXpBLVowLTkgXS87XG4gICAgICB2YXIgY29udGV4dFByb3BzID0gW1xuICAgICAgICBcIkFycmF5XCIsXG4gICAgICAgIFwiQnVmZmVyXCIsXG4gICAgICAgIFwiRGF0YVZpZXdcIixcbiAgICAgICAgXCJEYXRlXCIsXG4gICAgICAgIFwiRXJyb3JcIixcbiAgICAgICAgXCJGbG9hdDMyQXJyYXlcIixcbiAgICAgICAgXCJGbG9hdDY0QXJyYXlcIixcbiAgICAgICAgXCJGdW5jdGlvblwiLFxuICAgICAgICBcIkludDhBcnJheVwiLFxuICAgICAgICBcIkludDE2QXJyYXlcIixcbiAgICAgICAgXCJJbnQzMkFycmF5XCIsXG4gICAgICAgIFwiTWFwXCIsXG4gICAgICAgIFwiTWF0aFwiLFxuICAgICAgICBcIk9iamVjdFwiLFxuICAgICAgICBcIlByb21pc2VcIixcbiAgICAgICAgXCJSZWdFeHBcIixcbiAgICAgICAgXCJTZXRcIixcbiAgICAgICAgXCJTdHJpbmdcIixcbiAgICAgICAgXCJTeW1ib2xcIixcbiAgICAgICAgXCJUeXBlRXJyb3JcIixcbiAgICAgICAgXCJVaW50OEFycmF5XCIsXG4gICAgICAgIFwiVWludDhDbGFtcGVkQXJyYXlcIixcbiAgICAgICAgXCJVaW50MTZBcnJheVwiLFxuICAgICAgICBcIlVpbnQzMkFycmF5XCIsXG4gICAgICAgIFwiV2Vha01hcFwiLFxuICAgICAgICBcIl9cIixcbiAgICAgICAgXCJjbGVhclRpbWVvdXRcIixcbiAgICAgICAgXCJpc0Zpbml0ZVwiLFxuICAgICAgICBcInBhcnNlSW50XCIsXG4gICAgICAgIFwic2V0VGltZW91dFwiXG4gICAgICBdO1xuICAgICAgdmFyIHRlbXBsYXRlQ291bnRlciA9IC0xO1xuICAgICAgdmFyIHR5cGVkQXJyYXlUYWdzID0ge307XG4gICAgICB0eXBlZEFycmF5VGFnc1tmbG9hdDMyVGFnXSA9IHR5cGVkQXJyYXlUYWdzW2Zsb2F0NjRUYWddID0gdHlwZWRBcnJheVRhZ3NbaW50OFRhZ10gPSB0eXBlZEFycmF5VGFnc1tpbnQxNlRhZ10gPSB0eXBlZEFycmF5VGFnc1tpbnQzMlRhZ10gPSB0eXBlZEFycmF5VGFnc1t1aW50OFRhZ10gPSB0eXBlZEFycmF5VGFnc1t1aW50OENsYW1wZWRUYWddID0gdHlwZWRBcnJheVRhZ3NbdWludDE2VGFnXSA9IHR5cGVkQXJyYXlUYWdzW3VpbnQzMlRhZ10gPSB0cnVlO1xuICAgICAgdHlwZWRBcnJheVRhZ3NbYXJnc1RhZ10gPSB0eXBlZEFycmF5VGFnc1thcnJheVRhZ10gPSB0eXBlZEFycmF5VGFnc1thcnJheUJ1ZmZlclRhZ10gPSB0eXBlZEFycmF5VGFnc1tib29sVGFnXSA9IHR5cGVkQXJyYXlUYWdzW2RhdGFWaWV3VGFnXSA9IHR5cGVkQXJyYXlUYWdzW2RhdGVUYWddID0gdHlwZWRBcnJheVRhZ3NbZXJyb3JUYWddID0gdHlwZWRBcnJheVRhZ3NbZnVuY1RhZ10gPSB0eXBlZEFycmF5VGFnc1ttYXBUYWddID0gdHlwZWRBcnJheVRhZ3NbbnVtYmVyVGFnXSA9IHR5cGVkQXJyYXlUYWdzW29iamVjdFRhZ10gPSB0eXBlZEFycmF5VGFnc1tyZWdleHBUYWddID0gdHlwZWRBcnJheVRhZ3Nbc2V0VGFnXSA9IHR5cGVkQXJyYXlUYWdzW3N0cmluZ1RhZ10gPSB0eXBlZEFycmF5VGFnc1t3ZWFrTWFwVGFnXSA9IGZhbHNlO1xuICAgICAgdmFyIGNsb25lYWJsZVRhZ3MgPSB7fTtcbiAgICAgIGNsb25lYWJsZVRhZ3NbYXJnc1RhZ10gPSBjbG9uZWFibGVUYWdzW2FycmF5VGFnXSA9IGNsb25lYWJsZVRhZ3NbYXJyYXlCdWZmZXJUYWddID0gY2xvbmVhYmxlVGFnc1tkYXRhVmlld1RhZ10gPSBjbG9uZWFibGVUYWdzW2Jvb2xUYWddID0gY2xvbmVhYmxlVGFnc1tkYXRlVGFnXSA9IGNsb25lYWJsZVRhZ3NbZmxvYXQzMlRhZ10gPSBjbG9uZWFibGVUYWdzW2Zsb2F0NjRUYWddID0gY2xvbmVhYmxlVGFnc1tpbnQ4VGFnXSA9IGNsb25lYWJsZVRhZ3NbaW50MTZUYWddID0gY2xvbmVhYmxlVGFnc1tpbnQzMlRhZ10gPSBjbG9uZWFibGVUYWdzW21hcFRhZ10gPSBjbG9uZWFibGVUYWdzW251bWJlclRhZ10gPSBjbG9uZWFibGVUYWdzW29iamVjdFRhZ10gPSBjbG9uZWFibGVUYWdzW3JlZ2V4cFRhZ10gPSBjbG9uZWFibGVUYWdzW3NldFRhZ10gPSBjbG9uZWFibGVUYWdzW3N0cmluZ1RhZ10gPSBjbG9uZWFibGVUYWdzW3N5bWJvbFRhZ10gPSBjbG9uZWFibGVUYWdzW3VpbnQ4VGFnXSA9IGNsb25lYWJsZVRhZ3NbdWludDhDbGFtcGVkVGFnXSA9IGNsb25lYWJsZVRhZ3NbdWludDE2VGFnXSA9IGNsb25lYWJsZVRhZ3NbdWludDMyVGFnXSA9IHRydWU7XG4gICAgICBjbG9uZWFibGVUYWdzW2Vycm9yVGFnXSA9IGNsb25lYWJsZVRhZ3NbZnVuY1RhZ10gPSBjbG9uZWFibGVUYWdzW3dlYWtNYXBUYWddID0gZmFsc2U7XG4gICAgICB2YXIgZGVidXJyZWRMZXR0ZXJzID0ge1xuICAgICAgICAvLyBMYXRpbi0xIFN1cHBsZW1lbnQgYmxvY2suXG4gICAgICAgIFwiXFx4QzBcIjogXCJBXCIsXG4gICAgICAgIFwiXFx4QzFcIjogXCJBXCIsXG4gICAgICAgIFwiXFx4QzJcIjogXCJBXCIsXG4gICAgICAgIFwiXFx4QzNcIjogXCJBXCIsXG4gICAgICAgIFwiXFx4QzRcIjogXCJBXCIsXG4gICAgICAgIFwiXFx4QzVcIjogXCJBXCIsXG4gICAgICAgIFwiXFx4RTBcIjogXCJhXCIsXG4gICAgICAgIFwiXFx4RTFcIjogXCJhXCIsXG4gICAgICAgIFwiXFx4RTJcIjogXCJhXCIsXG4gICAgICAgIFwiXFx4RTNcIjogXCJhXCIsXG4gICAgICAgIFwiXFx4RTRcIjogXCJhXCIsXG4gICAgICAgIFwiXFx4RTVcIjogXCJhXCIsXG4gICAgICAgIFwiXFx4QzdcIjogXCJDXCIsXG4gICAgICAgIFwiXFx4RTdcIjogXCJjXCIsXG4gICAgICAgIFwiXFx4RDBcIjogXCJEXCIsXG4gICAgICAgIFwiXFx4RjBcIjogXCJkXCIsXG4gICAgICAgIFwiXFx4QzhcIjogXCJFXCIsXG4gICAgICAgIFwiXFx4QzlcIjogXCJFXCIsXG4gICAgICAgIFwiXFx4Q0FcIjogXCJFXCIsXG4gICAgICAgIFwiXFx4Q0JcIjogXCJFXCIsXG4gICAgICAgIFwiXFx4RThcIjogXCJlXCIsXG4gICAgICAgIFwiXFx4RTlcIjogXCJlXCIsXG4gICAgICAgIFwiXFx4RUFcIjogXCJlXCIsXG4gICAgICAgIFwiXFx4RUJcIjogXCJlXCIsXG4gICAgICAgIFwiXFx4Q0NcIjogXCJJXCIsXG4gICAgICAgIFwiXFx4Q0RcIjogXCJJXCIsXG4gICAgICAgIFwiXFx4Q0VcIjogXCJJXCIsXG4gICAgICAgIFwiXFx4Q0ZcIjogXCJJXCIsXG4gICAgICAgIFwiXFx4RUNcIjogXCJpXCIsXG4gICAgICAgIFwiXFx4RURcIjogXCJpXCIsXG4gICAgICAgIFwiXFx4RUVcIjogXCJpXCIsXG4gICAgICAgIFwiXFx4RUZcIjogXCJpXCIsXG4gICAgICAgIFwiXFx4RDFcIjogXCJOXCIsXG4gICAgICAgIFwiXFx4RjFcIjogXCJuXCIsXG4gICAgICAgIFwiXFx4RDJcIjogXCJPXCIsXG4gICAgICAgIFwiXFx4RDNcIjogXCJPXCIsXG4gICAgICAgIFwiXFx4RDRcIjogXCJPXCIsXG4gICAgICAgIFwiXFx4RDVcIjogXCJPXCIsXG4gICAgICAgIFwiXFx4RDZcIjogXCJPXCIsXG4gICAgICAgIFwiXFx4RDhcIjogXCJPXCIsXG4gICAgICAgIFwiXFx4RjJcIjogXCJvXCIsXG4gICAgICAgIFwiXFx4RjNcIjogXCJvXCIsXG4gICAgICAgIFwiXFx4RjRcIjogXCJvXCIsXG4gICAgICAgIFwiXFx4RjVcIjogXCJvXCIsXG4gICAgICAgIFwiXFx4RjZcIjogXCJvXCIsXG4gICAgICAgIFwiXFx4RjhcIjogXCJvXCIsXG4gICAgICAgIFwiXFx4RDlcIjogXCJVXCIsXG4gICAgICAgIFwiXFx4REFcIjogXCJVXCIsXG4gICAgICAgIFwiXFx4REJcIjogXCJVXCIsXG4gICAgICAgIFwiXFx4RENcIjogXCJVXCIsXG4gICAgICAgIFwiXFx4RjlcIjogXCJ1XCIsXG4gICAgICAgIFwiXFx4RkFcIjogXCJ1XCIsXG4gICAgICAgIFwiXFx4RkJcIjogXCJ1XCIsXG4gICAgICAgIFwiXFx4RkNcIjogXCJ1XCIsXG4gICAgICAgIFwiXFx4RERcIjogXCJZXCIsXG4gICAgICAgIFwiXFx4RkRcIjogXCJ5XCIsXG4gICAgICAgIFwiXFx4RkZcIjogXCJ5XCIsXG4gICAgICAgIFwiXFx4QzZcIjogXCJBZVwiLFxuICAgICAgICBcIlxceEU2XCI6IFwiYWVcIixcbiAgICAgICAgXCJcXHhERVwiOiBcIlRoXCIsXG4gICAgICAgIFwiXFx4RkVcIjogXCJ0aFwiLFxuICAgICAgICBcIlxceERGXCI6IFwic3NcIixcbiAgICAgICAgLy8gTGF0aW4gRXh0ZW5kZWQtQSBibG9jay5cbiAgICAgICAgXCJcXHUwMTAwXCI6IFwiQVwiLFxuICAgICAgICBcIlxcdTAxMDJcIjogXCJBXCIsXG4gICAgICAgIFwiXFx1MDEwNFwiOiBcIkFcIixcbiAgICAgICAgXCJcXHUwMTAxXCI6IFwiYVwiLFxuICAgICAgICBcIlxcdTAxMDNcIjogXCJhXCIsXG4gICAgICAgIFwiXFx1MDEwNVwiOiBcImFcIixcbiAgICAgICAgXCJcXHUwMTA2XCI6IFwiQ1wiLFxuICAgICAgICBcIlxcdTAxMDhcIjogXCJDXCIsXG4gICAgICAgIFwiXFx1MDEwQVwiOiBcIkNcIixcbiAgICAgICAgXCJcXHUwMTBDXCI6IFwiQ1wiLFxuICAgICAgICBcIlxcdTAxMDdcIjogXCJjXCIsXG4gICAgICAgIFwiXFx1MDEwOVwiOiBcImNcIixcbiAgICAgICAgXCJcXHUwMTBCXCI6IFwiY1wiLFxuICAgICAgICBcIlxcdTAxMERcIjogXCJjXCIsXG4gICAgICAgIFwiXFx1MDEwRVwiOiBcIkRcIixcbiAgICAgICAgXCJcXHUwMTEwXCI6IFwiRFwiLFxuICAgICAgICBcIlxcdTAxMEZcIjogXCJkXCIsXG4gICAgICAgIFwiXFx1MDExMVwiOiBcImRcIixcbiAgICAgICAgXCJcXHUwMTEyXCI6IFwiRVwiLFxuICAgICAgICBcIlxcdTAxMTRcIjogXCJFXCIsXG4gICAgICAgIFwiXFx1MDExNlwiOiBcIkVcIixcbiAgICAgICAgXCJcXHUwMTE4XCI6IFwiRVwiLFxuICAgICAgICBcIlxcdTAxMUFcIjogXCJFXCIsXG4gICAgICAgIFwiXFx1MDExM1wiOiBcImVcIixcbiAgICAgICAgXCJcXHUwMTE1XCI6IFwiZVwiLFxuICAgICAgICBcIlxcdTAxMTdcIjogXCJlXCIsXG4gICAgICAgIFwiXFx1MDExOVwiOiBcImVcIixcbiAgICAgICAgXCJcXHUwMTFCXCI6IFwiZVwiLFxuICAgICAgICBcIlxcdTAxMUNcIjogXCJHXCIsXG4gICAgICAgIFwiXFx1MDExRVwiOiBcIkdcIixcbiAgICAgICAgXCJcXHUwMTIwXCI6IFwiR1wiLFxuICAgICAgICBcIlxcdTAxMjJcIjogXCJHXCIsXG4gICAgICAgIFwiXFx1MDExRFwiOiBcImdcIixcbiAgICAgICAgXCJcXHUwMTFGXCI6IFwiZ1wiLFxuICAgICAgICBcIlxcdTAxMjFcIjogXCJnXCIsXG4gICAgICAgIFwiXFx1MDEyM1wiOiBcImdcIixcbiAgICAgICAgXCJcXHUwMTI0XCI6IFwiSFwiLFxuICAgICAgICBcIlxcdTAxMjZcIjogXCJIXCIsXG4gICAgICAgIFwiXFx1MDEyNVwiOiBcImhcIixcbiAgICAgICAgXCJcXHUwMTI3XCI6IFwiaFwiLFxuICAgICAgICBcIlxcdTAxMjhcIjogXCJJXCIsXG4gICAgICAgIFwiXFx1MDEyQVwiOiBcIklcIixcbiAgICAgICAgXCJcXHUwMTJDXCI6IFwiSVwiLFxuICAgICAgICBcIlxcdTAxMkVcIjogXCJJXCIsXG4gICAgICAgIFwiXFx1MDEzMFwiOiBcIklcIixcbiAgICAgICAgXCJcXHUwMTI5XCI6IFwiaVwiLFxuICAgICAgICBcIlxcdTAxMkJcIjogXCJpXCIsXG4gICAgICAgIFwiXFx1MDEyRFwiOiBcImlcIixcbiAgICAgICAgXCJcXHUwMTJGXCI6IFwiaVwiLFxuICAgICAgICBcIlxcdTAxMzFcIjogXCJpXCIsXG4gICAgICAgIFwiXFx1MDEzNFwiOiBcIkpcIixcbiAgICAgICAgXCJcXHUwMTM1XCI6IFwialwiLFxuICAgICAgICBcIlxcdTAxMzZcIjogXCJLXCIsXG4gICAgICAgIFwiXFx1MDEzN1wiOiBcImtcIixcbiAgICAgICAgXCJcXHUwMTM4XCI6IFwia1wiLFxuICAgICAgICBcIlxcdTAxMzlcIjogXCJMXCIsXG4gICAgICAgIFwiXFx1MDEzQlwiOiBcIkxcIixcbiAgICAgICAgXCJcXHUwMTNEXCI6IFwiTFwiLFxuICAgICAgICBcIlxcdTAxM0ZcIjogXCJMXCIsXG4gICAgICAgIFwiXFx1MDE0MVwiOiBcIkxcIixcbiAgICAgICAgXCJcXHUwMTNBXCI6IFwibFwiLFxuICAgICAgICBcIlxcdTAxM0NcIjogXCJsXCIsXG4gICAgICAgIFwiXFx1MDEzRVwiOiBcImxcIixcbiAgICAgICAgXCJcXHUwMTQwXCI6IFwibFwiLFxuICAgICAgICBcIlxcdTAxNDJcIjogXCJsXCIsXG4gICAgICAgIFwiXFx1MDE0M1wiOiBcIk5cIixcbiAgICAgICAgXCJcXHUwMTQ1XCI6IFwiTlwiLFxuICAgICAgICBcIlxcdTAxNDdcIjogXCJOXCIsXG4gICAgICAgIFwiXFx1MDE0QVwiOiBcIk5cIixcbiAgICAgICAgXCJcXHUwMTQ0XCI6IFwiblwiLFxuICAgICAgICBcIlxcdTAxNDZcIjogXCJuXCIsXG4gICAgICAgIFwiXFx1MDE0OFwiOiBcIm5cIixcbiAgICAgICAgXCJcXHUwMTRCXCI6IFwiblwiLFxuICAgICAgICBcIlxcdTAxNENcIjogXCJPXCIsXG4gICAgICAgIFwiXFx1MDE0RVwiOiBcIk9cIixcbiAgICAgICAgXCJcXHUwMTUwXCI6IFwiT1wiLFxuICAgICAgICBcIlxcdTAxNERcIjogXCJvXCIsXG4gICAgICAgIFwiXFx1MDE0RlwiOiBcIm9cIixcbiAgICAgICAgXCJcXHUwMTUxXCI6IFwib1wiLFxuICAgICAgICBcIlxcdTAxNTRcIjogXCJSXCIsXG4gICAgICAgIFwiXFx1MDE1NlwiOiBcIlJcIixcbiAgICAgICAgXCJcXHUwMTU4XCI6IFwiUlwiLFxuICAgICAgICBcIlxcdTAxNTVcIjogXCJyXCIsXG4gICAgICAgIFwiXFx1MDE1N1wiOiBcInJcIixcbiAgICAgICAgXCJcXHUwMTU5XCI6IFwiclwiLFxuICAgICAgICBcIlxcdTAxNUFcIjogXCJTXCIsXG4gICAgICAgIFwiXFx1MDE1Q1wiOiBcIlNcIixcbiAgICAgICAgXCJcXHUwMTVFXCI6IFwiU1wiLFxuICAgICAgICBcIlxcdTAxNjBcIjogXCJTXCIsXG4gICAgICAgIFwiXFx1MDE1QlwiOiBcInNcIixcbiAgICAgICAgXCJcXHUwMTVEXCI6IFwic1wiLFxuICAgICAgICBcIlxcdTAxNUZcIjogXCJzXCIsXG4gICAgICAgIFwiXFx1MDE2MVwiOiBcInNcIixcbiAgICAgICAgXCJcXHUwMTYyXCI6IFwiVFwiLFxuICAgICAgICBcIlxcdTAxNjRcIjogXCJUXCIsXG4gICAgICAgIFwiXFx1MDE2NlwiOiBcIlRcIixcbiAgICAgICAgXCJcXHUwMTYzXCI6IFwidFwiLFxuICAgICAgICBcIlxcdTAxNjVcIjogXCJ0XCIsXG4gICAgICAgIFwiXFx1MDE2N1wiOiBcInRcIixcbiAgICAgICAgXCJcXHUwMTY4XCI6IFwiVVwiLFxuICAgICAgICBcIlxcdTAxNkFcIjogXCJVXCIsXG4gICAgICAgIFwiXFx1MDE2Q1wiOiBcIlVcIixcbiAgICAgICAgXCJcXHUwMTZFXCI6IFwiVVwiLFxuICAgICAgICBcIlxcdTAxNzBcIjogXCJVXCIsXG4gICAgICAgIFwiXFx1MDE3MlwiOiBcIlVcIixcbiAgICAgICAgXCJcXHUwMTY5XCI6IFwidVwiLFxuICAgICAgICBcIlxcdTAxNkJcIjogXCJ1XCIsXG4gICAgICAgIFwiXFx1MDE2RFwiOiBcInVcIixcbiAgICAgICAgXCJcXHUwMTZGXCI6IFwidVwiLFxuICAgICAgICBcIlxcdTAxNzFcIjogXCJ1XCIsXG4gICAgICAgIFwiXFx1MDE3M1wiOiBcInVcIixcbiAgICAgICAgXCJcXHUwMTc0XCI6IFwiV1wiLFxuICAgICAgICBcIlxcdTAxNzVcIjogXCJ3XCIsXG4gICAgICAgIFwiXFx1MDE3NlwiOiBcIllcIixcbiAgICAgICAgXCJcXHUwMTc3XCI6IFwieVwiLFxuICAgICAgICBcIlxcdTAxNzhcIjogXCJZXCIsXG4gICAgICAgIFwiXFx1MDE3OVwiOiBcIlpcIixcbiAgICAgICAgXCJcXHUwMTdCXCI6IFwiWlwiLFxuICAgICAgICBcIlxcdTAxN0RcIjogXCJaXCIsXG4gICAgICAgIFwiXFx1MDE3QVwiOiBcInpcIixcbiAgICAgICAgXCJcXHUwMTdDXCI6IFwielwiLFxuICAgICAgICBcIlxcdTAxN0VcIjogXCJ6XCIsXG4gICAgICAgIFwiXFx1MDEzMlwiOiBcIklKXCIsXG4gICAgICAgIFwiXFx1MDEzM1wiOiBcImlqXCIsXG4gICAgICAgIFwiXFx1MDE1MlwiOiBcIk9lXCIsXG4gICAgICAgIFwiXFx1MDE1M1wiOiBcIm9lXCIsXG4gICAgICAgIFwiXFx1MDE0OVwiOiBcIiduXCIsXG4gICAgICAgIFwiXFx1MDE3RlwiOiBcInNcIlxuICAgICAgfTtcbiAgICAgIHZhciBodG1sRXNjYXBlcyA9IHtcbiAgICAgICAgXCImXCI6IFwiJmFtcDtcIixcbiAgICAgICAgXCI8XCI6IFwiJmx0O1wiLFxuICAgICAgICBcIj5cIjogXCImZ3Q7XCIsXG4gICAgICAgICdcIic6IFwiJnF1b3Q7XCIsXG4gICAgICAgIFwiJ1wiOiBcIiYjMzk7XCJcbiAgICAgIH07XG4gICAgICB2YXIgaHRtbFVuZXNjYXBlcyA9IHtcbiAgICAgICAgXCImYW1wO1wiOiBcIiZcIixcbiAgICAgICAgXCImbHQ7XCI6IFwiPFwiLFxuICAgICAgICBcIiZndDtcIjogXCI+XCIsXG4gICAgICAgIFwiJnF1b3Q7XCI6ICdcIicsXG4gICAgICAgIFwiJiMzOTtcIjogXCInXCJcbiAgICAgIH07XG4gICAgICB2YXIgc3RyaW5nRXNjYXBlcyA9IHtcbiAgICAgICAgXCJcXFxcXCI6IFwiXFxcXFwiLFxuICAgICAgICBcIidcIjogXCInXCIsXG4gICAgICAgIFwiXFxuXCI6IFwiblwiLFxuICAgICAgICBcIlxcclwiOiBcInJcIixcbiAgICAgICAgXCJcXHUyMDI4XCI6IFwidTIwMjhcIixcbiAgICAgICAgXCJcXHUyMDI5XCI6IFwidTIwMjlcIlxuICAgICAgfTtcbiAgICAgIHZhciBmcmVlUGFyc2VGbG9hdCA9IHBhcnNlRmxvYXQsIGZyZWVQYXJzZUludCA9IHBhcnNlSW50O1xuICAgICAgdmFyIGZyZWVHbG9iYWwgPSB0eXBlb2YgZ2xvYmFsID09IFwib2JqZWN0XCIgJiYgZ2xvYmFsICYmIGdsb2JhbC5PYmplY3QgPT09IE9iamVjdCAmJiBnbG9iYWw7XG4gICAgICB2YXIgZnJlZVNlbGYgPSB0eXBlb2Ygc2VsZiA9PSBcIm9iamVjdFwiICYmIHNlbGYgJiYgc2VsZi5PYmplY3QgPT09IE9iamVjdCAmJiBzZWxmO1xuICAgICAgdmFyIHJvb3QgPSBmcmVlR2xvYmFsIHx8IGZyZWVTZWxmIHx8IEZ1bmN0aW9uKFwicmV0dXJuIHRoaXNcIikoKTtcbiAgICAgIHZhciBmcmVlRXhwb3J0cyA9IHR5cGVvZiBleHBvcnRzMiA9PSBcIm9iamVjdFwiICYmIGV4cG9ydHMyICYmICFleHBvcnRzMi5ub2RlVHlwZSAmJiBleHBvcnRzMjtcbiAgICAgIHZhciBmcmVlTW9kdWxlID0gZnJlZUV4cG9ydHMgJiYgdHlwZW9mIG1vZHVsZTIgPT0gXCJvYmplY3RcIiAmJiBtb2R1bGUyICYmICFtb2R1bGUyLm5vZGVUeXBlICYmIG1vZHVsZTI7XG4gICAgICB2YXIgbW9kdWxlRXhwb3J0cyA9IGZyZWVNb2R1bGUgJiYgZnJlZU1vZHVsZS5leHBvcnRzID09PSBmcmVlRXhwb3J0cztcbiAgICAgIHZhciBmcmVlUHJvY2VzcyA9IG1vZHVsZUV4cG9ydHMgJiYgZnJlZUdsb2JhbC5wcm9jZXNzO1xuICAgICAgdmFyIG5vZGVVdGlsID0gZnVuY3Rpb24oKSB7XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgdmFyIHR5cGVzID0gZnJlZU1vZHVsZSAmJiBmcmVlTW9kdWxlLnJlcXVpcmUgJiYgZnJlZU1vZHVsZS5yZXF1aXJlKFwidXRpbFwiKS50eXBlcztcbiAgICAgICAgICBpZiAodHlwZXMpIHtcbiAgICAgICAgICAgIHJldHVybiB0eXBlcztcbiAgICAgICAgICB9XG4gICAgICAgICAgcmV0dXJuIGZyZWVQcm9jZXNzICYmIGZyZWVQcm9jZXNzLmJpbmRpbmcgJiYgZnJlZVByb2Nlc3MuYmluZGluZyhcInV0aWxcIik7XG4gICAgICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgICAgfVxuICAgICAgfSgpO1xuICAgICAgdmFyIG5vZGVJc0FycmF5QnVmZmVyID0gbm9kZVV0aWwgJiYgbm9kZVV0aWwuaXNBcnJheUJ1ZmZlciwgbm9kZUlzRGF0ZSA9IG5vZGVVdGlsICYmIG5vZGVVdGlsLmlzRGF0ZSwgbm9kZUlzTWFwID0gbm9kZVV0aWwgJiYgbm9kZVV0aWwuaXNNYXAsIG5vZGVJc1JlZ0V4cCA9IG5vZGVVdGlsICYmIG5vZGVVdGlsLmlzUmVnRXhwLCBub2RlSXNTZXQgPSBub2RlVXRpbCAmJiBub2RlVXRpbC5pc1NldCwgbm9kZUlzVHlwZWRBcnJheSA9IG5vZGVVdGlsICYmIG5vZGVVdGlsLmlzVHlwZWRBcnJheTtcbiAgICAgIGZ1bmN0aW9uIGFwcGx5KGZ1bmMsIHRoaXNBcmcsIGFyZ3MpIHtcbiAgICAgICAgc3dpdGNoIChhcmdzLmxlbmd0aCkge1xuICAgICAgICAgIGNhc2UgMDpcbiAgICAgICAgICAgIHJldHVybiBmdW5jLmNhbGwodGhpc0FyZyk7XG4gICAgICAgICAgY2FzZSAxOlxuICAgICAgICAgICAgcmV0dXJuIGZ1bmMuY2FsbCh0aGlzQXJnLCBhcmdzWzBdKTtcbiAgICAgICAgICBjYXNlIDI6XG4gICAgICAgICAgICByZXR1cm4gZnVuYy5jYWxsKHRoaXNBcmcsIGFyZ3NbMF0sIGFyZ3NbMV0pO1xuICAgICAgICAgIGNhc2UgMzpcbiAgICAgICAgICAgIHJldHVybiBmdW5jLmNhbGwodGhpc0FyZywgYXJnc1swXSwgYXJnc1sxXSwgYXJnc1syXSk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGZ1bmMuYXBwbHkodGhpc0FyZywgYXJncyk7XG4gICAgICB9XG4gICAgICBmdW5jdGlvbiBhcnJheUFnZ3JlZ2F0b3IoYXJyYXksIHNldHRlciwgaXRlcmF0ZWUsIGFjY3VtdWxhdG9yKSB7XG4gICAgICAgIHZhciBpbmRleCA9IC0xLCBsZW5ndGggPSBhcnJheSA9PSBudWxsID8gMCA6IGFycmF5Lmxlbmd0aDtcbiAgICAgICAgd2hpbGUgKCsraW5kZXggPCBsZW5ndGgpIHtcbiAgICAgICAgICB2YXIgdmFsdWUgPSBhcnJheVtpbmRleF07XG4gICAgICAgICAgc2V0dGVyKGFjY3VtdWxhdG9yLCB2YWx1ZSwgaXRlcmF0ZWUodmFsdWUpLCBhcnJheSk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGFjY3VtdWxhdG9yO1xuICAgICAgfVxuICAgICAgZnVuY3Rpb24gYXJyYXlFYWNoKGFycmF5LCBpdGVyYXRlZSkge1xuICAgICAgICB2YXIgaW5kZXggPSAtMSwgbGVuZ3RoID0gYXJyYXkgPT0gbnVsbCA/IDAgOiBhcnJheS5sZW5ndGg7XG4gICAgICAgIHdoaWxlICgrK2luZGV4IDwgbGVuZ3RoKSB7XG4gICAgICAgICAgaWYgKGl0ZXJhdGVlKGFycmF5W2luZGV4XSwgaW5kZXgsIGFycmF5KSA9PT0gZmFsc2UpIHtcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gYXJyYXk7XG4gICAgICB9XG4gICAgICBmdW5jdGlvbiBhcnJheUVhY2hSaWdodChhcnJheSwgaXRlcmF0ZWUpIHtcbiAgICAgICAgdmFyIGxlbmd0aCA9IGFycmF5ID09IG51bGwgPyAwIDogYXJyYXkubGVuZ3RoO1xuICAgICAgICB3aGlsZSAobGVuZ3RoLS0pIHtcbiAgICAgICAgICBpZiAoaXRlcmF0ZWUoYXJyYXlbbGVuZ3RoXSwgbGVuZ3RoLCBhcnJheSkgPT09IGZhbHNlKSB7XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGFycmF5O1xuICAgICAgfVxuICAgICAgZnVuY3Rpb24gYXJyYXlFdmVyeShhcnJheSwgcHJlZGljYXRlKSB7XG4gICAgICAgIHZhciBpbmRleCA9IC0xLCBsZW5ndGggPSBhcnJheSA9PSBudWxsID8gMCA6IGFycmF5Lmxlbmd0aDtcbiAgICAgICAgd2hpbGUgKCsraW5kZXggPCBsZW5ndGgpIHtcbiAgICAgICAgICBpZiAoIXByZWRpY2F0ZShhcnJheVtpbmRleF0sIGluZGV4LCBhcnJheSkpIHtcbiAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICB9XG4gICAgICBmdW5jdGlvbiBhcnJheUZpbHRlcihhcnJheSwgcHJlZGljYXRlKSB7XG4gICAgICAgIHZhciBpbmRleCA9IC0xLCBsZW5ndGggPSBhcnJheSA9PSBudWxsID8gMCA6IGFycmF5Lmxlbmd0aCwgcmVzSW5kZXggPSAwLCByZXN1bHQgPSBbXTtcbiAgICAgICAgd2hpbGUgKCsraW5kZXggPCBsZW5ndGgpIHtcbiAgICAgICAgICB2YXIgdmFsdWUgPSBhcnJheVtpbmRleF07XG4gICAgICAgICAgaWYgKHByZWRpY2F0ZSh2YWx1ZSwgaW5kZXgsIGFycmF5KSkge1xuICAgICAgICAgICAgcmVzdWx0W3Jlc0luZGV4KytdID0gdmFsdWU7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgICB9XG4gICAgICBmdW5jdGlvbiBhcnJheUluY2x1ZGVzKGFycmF5LCB2YWx1ZSkge1xuICAgICAgICB2YXIgbGVuZ3RoID0gYXJyYXkgPT0gbnVsbCA/IDAgOiBhcnJheS5sZW5ndGg7XG4gICAgICAgIHJldHVybiAhIWxlbmd0aCAmJiBiYXNlSW5kZXhPZihhcnJheSwgdmFsdWUsIDApID4gLTE7XG4gICAgICB9XG4gICAgICBmdW5jdGlvbiBhcnJheUluY2x1ZGVzV2l0aChhcnJheSwgdmFsdWUsIGNvbXBhcmF0b3IpIHtcbiAgICAgICAgdmFyIGluZGV4ID0gLTEsIGxlbmd0aCA9IGFycmF5ID09IG51bGwgPyAwIDogYXJyYXkubGVuZ3RoO1xuICAgICAgICB3aGlsZSAoKytpbmRleCA8IGxlbmd0aCkge1xuICAgICAgICAgIGlmIChjb21wYXJhdG9yKHZhbHVlLCBhcnJheVtpbmRleF0pKSB7XG4gICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgfVxuICAgICAgZnVuY3Rpb24gYXJyYXlNYXAoYXJyYXksIGl0ZXJhdGVlKSB7XG4gICAgICAgIHZhciBpbmRleCA9IC0xLCBsZW5ndGggPSBhcnJheSA9PSBudWxsID8gMCA6IGFycmF5Lmxlbmd0aCwgcmVzdWx0ID0gQXJyYXkobGVuZ3RoKTtcbiAgICAgICAgd2hpbGUgKCsraW5kZXggPCBsZW5ndGgpIHtcbiAgICAgICAgICByZXN1bHRbaW5kZXhdID0gaXRlcmF0ZWUoYXJyYXlbaW5kZXhdLCBpbmRleCwgYXJyYXkpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgICB9XG4gICAgICBmdW5jdGlvbiBhcnJheVB1c2goYXJyYXksIHZhbHVlcykge1xuICAgICAgICB2YXIgaW5kZXggPSAtMSwgbGVuZ3RoID0gdmFsdWVzLmxlbmd0aCwgb2Zmc2V0ID0gYXJyYXkubGVuZ3RoO1xuICAgICAgICB3aGlsZSAoKytpbmRleCA8IGxlbmd0aCkge1xuICAgICAgICAgIGFycmF5W29mZnNldCArIGluZGV4XSA9IHZhbHVlc1tpbmRleF07XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGFycmF5O1xuICAgICAgfVxuICAgICAgZnVuY3Rpb24gYXJyYXlSZWR1Y2UoYXJyYXksIGl0ZXJhdGVlLCBhY2N1bXVsYXRvciwgaW5pdEFjY3VtKSB7XG4gICAgICAgIHZhciBpbmRleCA9IC0xLCBsZW5ndGggPSBhcnJheSA9PSBudWxsID8gMCA6IGFycmF5Lmxlbmd0aDtcbiAgICAgICAgaWYgKGluaXRBY2N1bSAmJiBsZW5ndGgpIHtcbiAgICAgICAgICBhY2N1bXVsYXRvciA9IGFycmF5WysraW5kZXhdO1xuICAgICAgICB9XG4gICAgICAgIHdoaWxlICgrK2luZGV4IDwgbGVuZ3RoKSB7XG4gICAgICAgICAgYWNjdW11bGF0b3IgPSBpdGVyYXRlZShhY2N1bXVsYXRvciwgYXJyYXlbaW5kZXhdLCBpbmRleCwgYXJyYXkpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBhY2N1bXVsYXRvcjtcbiAgICAgIH1cbiAgICAgIGZ1bmN0aW9uIGFycmF5UmVkdWNlUmlnaHQoYXJyYXksIGl0ZXJhdGVlLCBhY2N1bXVsYXRvciwgaW5pdEFjY3VtKSB7XG4gICAgICAgIHZhciBsZW5ndGggPSBhcnJheSA9PSBudWxsID8gMCA6IGFycmF5Lmxlbmd0aDtcbiAgICAgICAgaWYgKGluaXRBY2N1bSAmJiBsZW5ndGgpIHtcbiAgICAgICAgICBhY2N1bXVsYXRvciA9IGFycmF5Wy0tbGVuZ3RoXTtcbiAgICAgICAgfVxuICAgICAgICB3aGlsZSAobGVuZ3RoLS0pIHtcbiAgICAgICAgICBhY2N1bXVsYXRvciA9IGl0ZXJhdGVlKGFjY3VtdWxhdG9yLCBhcnJheVtsZW5ndGhdLCBsZW5ndGgsIGFycmF5KTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gYWNjdW11bGF0b3I7XG4gICAgICB9XG4gICAgICBmdW5jdGlvbiBhcnJheVNvbWUoYXJyYXksIHByZWRpY2F0ZSkge1xuICAgICAgICB2YXIgaW5kZXggPSAtMSwgbGVuZ3RoID0gYXJyYXkgPT0gbnVsbCA/IDAgOiBhcnJheS5sZW5ndGg7XG4gICAgICAgIHdoaWxlICgrK2luZGV4IDwgbGVuZ3RoKSB7XG4gICAgICAgICAgaWYgKHByZWRpY2F0ZShhcnJheVtpbmRleF0sIGluZGV4LCBhcnJheSkpIHtcbiAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICB9XG4gICAgICB2YXIgYXNjaWlTaXplID0gYmFzZVByb3BlcnR5KFwibGVuZ3RoXCIpO1xuICAgICAgZnVuY3Rpb24gYXNjaWlUb0FycmF5KHN0cmluZykge1xuICAgICAgICByZXR1cm4gc3RyaW5nLnNwbGl0KFwiXCIpO1xuICAgICAgfVxuICAgICAgZnVuY3Rpb24gYXNjaWlXb3JkcyhzdHJpbmcpIHtcbiAgICAgICAgcmV0dXJuIHN0cmluZy5tYXRjaChyZUFzY2lpV29yZCkgfHwgW107XG4gICAgICB9XG4gICAgICBmdW5jdGlvbiBiYXNlRmluZEtleShjb2xsZWN0aW9uLCBwcmVkaWNhdGUsIGVhY2hGdW5jKSB7XG4gICAgICAgIHZhciByZXN1bHQ7XG4gICAgICAgIGVhY2hGdW5jKGNvbGxlY3Rpb24sIGZ1bmN0aW9uKHZhbHVlLCBrZXksIGNvbGxlY3Rpb24yKSB7XG4gICAgICAgICAgaWYgKHByZWRpY2F0ZSh2YWx1ZSwga2V5LCBjb2xsZWN0aW9uMikpIHtcbiAgICAgICAgICAgIHJlc3VsdCA9IGtleTtcbiAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgICAgICByZXR1cm4gcmVzdWx0O1xuICAgICAgfVxuICAgICAgZnVuY3Rpb24gYmFzZUZpbmRJbmRleChhcnJheSwgcHJlZGljYXRlLCBmcm9tSW5kZXgsIGZyb21SaWdodCkge1xuICAgICAgICB2YXIgbGVuZ3RoID0gYXJyYXkubGVuZ3RoLCBpbmRleCA9IGZyb21JbmRleCArIChmcm9tUmlnaHQgPyAxIDogLTEpO1xuICAgICAgICB3aGlsZSAoZnJvbVJpZ2h0ID8gaW5kZXgtLSA6ICsraW5kZXggPCBsZW5ndGgpIHtcbiAgICAgICAgICBpZiAocHJlZGljYXRlKGFycmF5W2luZGV4XSwgaW5kZXgsIGFycmF5KSkge1xuICAgICAgICAgICAgcmV0dXJuIGluZGV4O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gLTE7XG4gICAgICB9XG4gICAgICBmdW5jdGlvbiBiYXNlSW5kZXhPZihhcnJheSwgdmFsdWUsIGZyb21JbmRleCkge1xuICAgICAgICByZXR1cm4gdmFsdWUgPT09IHZhbHVlID8gc3RyaWN0SW5kZXhPZihhcnJheSwgdmFsdWUsIGZyb21JbmRleCkgOiBiYXNlRmluZEluZGV4KGFycmF5LCBiYXNlSXNOYU4sIGZyb21JbmRleCk7XG4gICAgICB9XG4gICAgICBmdW5jdGlvbiBiYXNlSW5kZXhPZldpdGgoYXJyYXksIHZhbHVlLCBmcm9tSW5kZXgsIGNvbXBhcmF0b3IpIHtcbiAgICAgICAgdmFyIGluZGV4ID0gZnJvbUluZGV4IC0gMSwgbGVuZ3RoID0gYXJyYXkubGVuZ3RoO1xuICAgICAgICB3aGlsZSAoKytpbmRleCA8IGxlbmd0aCkge1xuICAgICAgICAgIGlmIChjb21wYXJhdG9yKGFycmF5W2luZGV4XSwgdmFsdWUpKSB7XG4gICAgICAgICAgICByZXR1cm4gaW5kZXg7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHJldHVybiAtMTtcbiAgICAgIH1cbiAgICAgIGZ1bmN0aW9uIGJhc2VJc05hTih2YWx1ZSkge1xuICAgICAgICByZXR1cm4gdmFsdWUgIT09IHZhbHVlO1xuICAgICAgfVxuICAgICAgZnVuY3Rpb24gYmFzZU1lYW4oYXJyYXksIGl0ZXJhdGVlKSB7XG4gICAgICAgIHZhciBsZW5ndGggPSBhcnJheSA9PSBudWxsID8gMCA6IGFycmF5Lmxlbmd0aDtcbiAgICAgICAgcmV0dXJuIGxlbmd0aCA/IGJhc2VTdW0oYXJyYXksIGl0ZXJhdGVlKSAvIGxlbmd0aCA6IE5BTjtcbiAgICAgIH1cbiAgICAgIGZ1bmN0aW9uIGJhc2VQcm9wZXJ0eShrZXkpIHtcbiAgICAgICAgcmV0dXJuIGZ1bmN0aW9uKG9iamVjdCkge1xuICAgICAgICAgIHJldHVybiBvYmplY3QgPT0gbnVsbCA/IHVuZGVmaW5lZDIgOiBvYmplY3Rba2V5XTtcbiAgICAgICAgfTtcbiAgICAgIH1cbiAgICAgIGZ1bmN0aW9uIGJhc2VQcm9wZXJ0eU9mKG9iamVjdCkge1xuICAgICAgICByZXR1cm4gZnVuY3Rpb24oa2V5KSB7XG4gICAgICAgICAgcmV0dXJuIG9iamVjdCA9PSBudWxsID8gdW5kZWZpbmVkMiA6IG9iamVjdFtrZXldO1xuICAgICAgICB9O1xuICAgICAgfVxuICAgICAgZnVuY3Rpb24gYmFzZVJlZHVjZShjb2xsZWN0aW9uLCBpdGVyYXRlZSwgYWNjdW11bGF0b3IsIGluaXRBY2N1bSwgZWFjaEZ1bmMpIHtcbiAgICAgICAgZWFjaEZ1bmMoY29sbGVjdGlvbiwgZnVuY3Rpb24odmFsdWUsIGluZGV4LCBjb2xsZWN0aW9uMikge1xuICAgICAgICAgIGFjY3VtdWxhdG9yID0gaW5pdEFjY3VtID8gKGluaXRBY2N1bSA9IGZhbHNlLCB2YWx1ZSkgOiBpdGVyYXRlZShhY2N1bXVsYXRvciwgdmFsdWUsIGluZGV4LCBjb2xsZWN0aW9uMik7XG4gICAgICAgIH0pO1xuICAgICAgICByZXR1cm4gYWNjdW11bGF0b3I7XG4gICAgICB9XG4gICAgICBmdW5jdGlvbiBiYXNlU29ydEJ5KGFycmF5LCBjb21wYXJlcikge1xuICAgICAgICB2YXIgbGVuZ3RoID0gYXJyYXkubGVuZ3RoO1xuICAgICAgICBhcnJheS5zb3J0KGNvbXBhcmVyKTtcbiAgICAgICAgd2hpbGUgKGxlbmd0aC0tKSB7XG4gICAgICAgICAgYXJyYXlbbGVuZ3RoXSA9IGFycmF5W2xlbmd0aF0udmFsdWU7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGFycmF5O1xuICAgICAgfVxuICAgICAgZnVuY3Rpb24gYmFzZVN1bShhcnJheSwgaXRlcmF0ZWUpIHtcbiAgICAgICAgdmFyIHJlc3VsdCwgaW5kZXggPSAtMSwgbGVuZ3RoID0gYXJyYXkubGVuZ3RoO1xuICAgICAgICB3aGlsZSAoKytpbmRleCA8IGxlbmd0aCkge1xuICAgICAgICAgIHZhciBjdXJyZW50ID0gaXRlcmF0ZWUoYXJyYXlbaW5kZXhdKTtcbiAgICAgICAgICBpZiAoY3VycmVudCAhPT0gdW5kZWZpbmVkMikge1xuICAgICAgICAgICAgcmVzdWx0ID0gcmVzdWx0ID09PSB1bmRlZmluZWQyID8gY3VycmVudCA6IHJlc3VsdCArIGN1cnJlbnQ7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgICB9XG4gICAgICBmdW5jdGlvbiBiYXNlVGltZXMobiwgaXRlcmF0ZWUpIHtcbiAgICAgICAgdmFyIGluZGV4ID0gLTEsIHJlc3VsdCA9IEFycmF5KG4pO1xuICAgICAgICB3aGlsZSAoKytpbmRleCA8IG4pIHtcbiAgICAgICAgICByZXN1bHRbaW5kZXhdID0gaXRlcmF0ZWUoaW5kZXgpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgICB9XG4gICAgICBmdW5jdGlvbiBiYXNlVG9QYWlycyhvYmplY3QsIHByb3BzKSB7XG4gICAgICAgIHJldHVybiBhcnJheU1hcChwcm9wcywgZnVuY3Rpb24oa2V5KSB7XG4gICAgICAgICAgcmV0dXJuIFtrZXksIG9iamVjdFtrZXldXTtcbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgICBmdW5jdGlvbiBiYXNlVHJpbShzdHJpbmcpIHtcbiAgICAgICAgcmV0dXJuIHN0cmluZyA/IHN0cmluZy5zbGljZSgwLCB0cmltbWVkRW5kSW5kZXgoc3RyaW5nKSArIDEpLnJlcGxhY2UocmVUcmltU3RhcnQsIFwiXCIpIDogc3RyaW5nO1xuICAgICAgfVxuICAgICAgZnVuY3Rpb24gYmFzZVVuYXJ5KGZ1bmMpIHtcbiAgICAgICAgcmV0dXJuIGZ1bmN0aW9uKHZhbHVlKSB7XG4gICAgICAgICAgcmV0dXJuIGZ1bmModmFsdWUpO1xuICAgICAgICB9O1xuICAgICAgfVxuICAgICAgZnVuY3Rpb24gYmFzZVZhbHVlcyhvYmplY3QsIHByb3BzKSB7XG4gICAgICAgIHJldHVybiBhcnJheU1hcChwcm9wcywgZnVuY3Rpb24oa2V5KSB7XG4gICAgICAgICAgcmV0dXJuIG9iamVjdFtrZXldO1xuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICAgIGZ1bmN0aW9uIGNhY2hlSGFzKGNhY2hlLCBrZXkpIHtcbiAgICAgICAgcmV0dXJuIGNhY2hlLmhhcyhrZXkpO1xuICAgICAgfVxuICAgICAgZnVuY3Rpb24gY2hhcnNTdGFydEluZGV4KHN0clN5bWJvbHMsIGNoclN5bWJvbHMpIHtcbiAgICAgICAgdmFyIGluZGV4ID0gLTEsIGxlbmd0aCA9IHN0clN5bWJvbHMubGVuZ3RoO1xuICAgICAgICB3aGlsZSAoKytpbmRleCA8IGxlbmd0aCAmJiBiYXNlSW5kZXhPZihjaHJTeW1ib2xzLCBzdHJTeW1ib2xzW2luZGV4XSwgMCkgPiAtMSkge1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBpbmRleDtcbiAgICAgIH1cbiAgICAgIGZ1bmN0aW9uIGNoYXJzRW5kSW5kZXgoc3RyU3ltYm9scywgY2hyU3ltYm9scykge1xuICAgICAgICB2YXIgaW5kZXggPSBzdHJTeW1ib2xzLmxlbmd0aDtcbiAgICAgICAgd2hpbGUgKGluZGV4LS0gJiYgYmFzZUluZGV4T2YoY2hyU3ltYm9scywgc3RyU3ltYm9sc1tpbmRleF0sIDApID4gLTEpIHtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gaW5kZXg7XG4gICAgICB9XG4gICAgICBmdW5jdGlvbiBjb3VudEhvbGRlcnMoYXJyYXksIHBsYWNlaG9sZGVyKSB7XG4gICAgICAgIHZhciBsZW5ndGggPSBhcnJheS5sZW5ndGgsIHJlc3VsdCA9IDA7XG4gICAgICAgIHdoaWxlIChsZW5ndGgtLSkge1xuICAgICAgICAgIGlmIChhcnJheVtsZW5ndGhdID09PSBwbGFjZWhvbGRlcikge1xuICAgICAgICAgICAgKytyZXN1bHQ7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgICB9XG4gICAgICB2YXIgZGVidXJyTGV0dGVyID0gYmFzZVByb3BlcnR5T2YoZGVidXJyZWRMZXR0ZXJzKTtcbiAgICAgIHZhciBlc2NhcGVIdG1sQ2hhciA9IGJhc2VQcm9wZXJ0eU9mKGh0bWxFc2NhcGVzKTtcbiAgICAgIGZ1bmN0aW9uIGVzY2FwZVN0cmluZ0NoYXIoY2hyKSB7XG4gICAgICAgIHJldHVybiBcIlxcXFxcIiArIHN0cmluZ0VzY2FwZXNbY2hyXTtcbiAgICAgIH1cbiAgICAgIGZ1bmN0aW9uIGdldFZhbHVlKG9iamVjdCwga2V5KSB7XG4gICAgICAgIHJldHVybiBvYmplY3QgPT0gbnVsbCA/IHVuZGVmaW5lZDIgOiBvYmplY3Rba2V5XTtcbiAgICAgIH1cbiAgICAgIGZ1bmN0aW9uIGhhc1VuaWNvZGUoc3RyaW5nKSB7XG4gICAgICAgIHJldHVybiByZUhhc1VuaWNvZGUudGVzdChzdHJpbmcpO1xuICAgICAgfVxuICAgICAgZnVuY3Rpb24gaGFzVW5pY29kZVdvcmQoc3RyaW5nKSB7XG4gICAgICAgIHJldHVybiByZUhhc1VuaWNvZGVXb3JkLnRlc3Qoc3RyaW5nKTtcbiAgICAgIH1cbiAgICAgIGZ1bmN0aW9uIGl0ZXJhdG9yVG9BcnJheShpdGVyYXRvcikge1xuICAgICAgICB2YXIgZGF0YSwgcmVzdWx0ID0gW107XG4gICAgICAgIHdoaWxlICghKGRhdGEgPSBpdGVyYXRvci5uZXh0KCkpLmRvbmUpIHtcbiAgICAgICAgICByZXN1bHQucHVzaChkYXRhLnZhbHVlKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gcmVzdWx0O1xuICAgICAgfVxuICAgICAgZnVuY3Rpb24gbWFwVG9BcnJheShtYXApIHtcbiAgICAgICAgdmFyIGluZGV4ID0gLTEsIHJlc3VsdCA9IEFycmF5KG1hcC5zaXplKTtcbiAgICAgICAgbWFwLmZvckVhY2goZnVuY3Rpb24odmFsdWUsIGtleSkge1xuICAgICAgICAgIHJlc3VsdFsrK2luZGV4XSA9IFtrZXksIHZhbHVlXTtcbiAgICAgICAgfSk7XG4gICAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgICB9XG4gICAgICBmdW5jdGlvbiBvdmVyQXJnKGZ1bmMsIHRyYW5zZm9ybSkge1xuICAgICAgICByZXR1cm4gZnVuY3Rpb24oYXJnKSB7XG4gICAgICAgICAgcmV0dXJuIGZ1bmModHJhbnNmb3JtKGFyZykpO1xuICAgICAgICB9O1xuICAgICAgfVxuICAgICAgZnVuY3Rpb24gcmVwbGFjZUhvbGRlcnMoYXJyYXksIHBsYWNlaG9sZGVyKSB7XG4gICAgICAgIHZhciBpbmRleCA9IC0xLCBsZW5ndGggPSBhcnJheS5sZW5ndGgsIHJlc0luZGV4ID0gMCwgcmVzdWx0ID0gW107XG4gICAgICAgIHdoaWxlICgrK2luZGV4IDwgbGVuZ3RoKSB7XG4gICAgICAgICAgdmFyIHZhbHVlID0gYXJyYXlbaW5kZXhdO1xuICAgICAgICAgIGlmICh2YWx1ZSA9PT0gcGxhY2Vob2xkZXIgfHwgdmFsdWUgPT09IFBMQUNFSE9MREVSKSB7XG4gICAgICAgICAgICBhcnJheVtpbmRleF0gPSBQTEFDRUhPTERFUjtcbiAgICAgICAgICAgIHJlc3VsdFtyZXNJbmRleCsrXSA9IGluZGV4O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gcmVzdWx0O1xuICAgICAgfVxuICAgICAgZnVuY3Rpb24gc2V0VG9BcnJheShzZXQpIHtcbiAgICAgICAgdmFyIGluZGV4ID0gLTEsIHJlc3VsdCA9IEFycmF5KHNldC5zaXplKTtcbiAgICAgICAgc2V0LmZvckVhY2goZnVuY3Rpb24odmFsdWUpIHtcbiAgICAgICAgICByZXN1bHRbKytpbmRleF0gPSB2YWx1ZTtcbiAgICAgICAgfSk7XG4gICAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgICB9XG4gICAgICBmdW5jdGlvbiBzZXRUb1BhaXJzKHNldCkge1xuICAgICAgICB2YXIgaW5kZXggPSAtMSwgcmVzdWx0ID0gQXJyYXkoc2V0LnNpemUpO1xuICAgICAgICBzZXQuZm9yRWFjaChmdW5jdGlvbih2YWx1ZSkge1xuICAgICAgICAgIHJlc3VsdFsrK2luZGV4XSA9IFt2YWx1ZSwgdmFsdWVdO1xuICAgICAgICB9KTtcbiAgICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICAgIH1cbiAgICAgIGZ1bmN0aW9uIHN0cmljdEluZGV4T2YoYXJyYXksIHZhbHVlLCBmcm9tSW5kZXgpIHtcbiAgICAgICAgdmFyIGluZGV4ID0gZnJvbUluZGV4IC0gMSwgbGVuZ3RoID0gYXJyYXkubGVuZ3RoO1xuICAgICAgICB3aGlsZSAoKytpbmRleCA8IGxlbmd0aCkge1xuICAgICAgICAgIGlmIChhcnJheVtpbmRleF0gPT09IHZhbHVlKSB7XG4gICAgICAgICAgICByZXR1cm4gaW5kZXg7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHJldHVybiAtMTtcbiAgICAgIH1cbiAgICAgIGZ1bmN0aW9uIHN0cmljdExhc3RJbmRleE9mKGFycmF5LCB2YWx1ZSwgZnJvbUluZGV4KSB7XG4gICAgICAgIHZhciBpbmRleCA9IGZyb21JbmRleCArIDE7XG4gICAgICAgIHdoaWxlIChpbmRleC0tKSB7XG4gICAgICAgICAgaWYgKGFycmF5W2luZGV4XSA9PT0gdmFsdWUpIHtcbiAgICAgICAgICAgIHJldHVybiBpbmRleDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGluZGV4O1xuICAgICAgfVxuICAgICAgZnVuY3Rpb24gc3RyaW5nU2l6ZShzdHJpbmcpIHtcbiAgICAgICAgcmV0dXJuIGhhc1VuaWNvZGUoc3RyaW5nKSA/IHVuaWNvZGVTaXplKHN0cmluZykgOiBhc2NpaVNpemUoc3RyaW5nKTtcbiAgICAgIH1cbiAgICAgIGZ1bmN0aW9uIHN0cmluZ1RvQXJyYXkoc3RyaW5nKSB7XG4gICAgICAgIHJldHVybiBoYXNVbmljb2RlKHN0cmluZykgPyB1bmljb2RlVG9BcnJheShzdHJpbmcpIDogYXNjaWlUb0FycmF5KHN0cmluZyk7XG4gICAgICB9XG4gICAgICBmdW5jdGlvbiB0cmltbWVkRW5kSW5kZXgoc3RyaW5nKSB7XG4gICAgICAgIHZhciBpbmRleCA9IHN0cmluZy5sZW5ndGg7XG4gICAgICAgIHdoaWxlIChpbmRleC0tICYmIHJlV2hpdGVzcGFjZS50ZXN0KHN0cmluZy5jaGFyQXQoaW5kZXgpKSkge1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBpbmRleDtcbiAgICAgIH1cbiAgICAgIHZhciB1bmVzY2FwZUh0bWxDaGFyID0gYmFzZVByb3BlcnR5T2YoaHRtbFVuZXNjYXBlcyk7XG4gICAgICBmdW5jdGlvbiB1bmljb2RlU2l6ZShzdHJpbmcpIHtcbiAgICAgICAgdmFyIHJlc3VsdCA9IHJlVW5pY29kZS5sYXN0SW5kZXggPSAwO1xuICAgICAgICB3aGlsZSAocmVVbmljb2RlLnRlc3Qoc3RyaW5nKSkge1xuICAgICAgICAgICsrcmVzdWx0O1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgICB9XG4gICAgICBmdW5jdGlvbiB1bmljb2RlVG9BcnJheShzdHJpbmcpIHtcbiAgICAgICAgcmV0dXJuIHN0cmluZy5tYXRjaChyZVVuaWNvZGUpIHx8IFtdO1xuICAgICAgfVxuICAgICAgZnVuY3Rpb24gdW5pY29kZVdvcmRzKHN0cmluZykge1xuICAgICAgICByZXR1cm4gc3RyaW5nLm1hdGNoKHJlVW5pY29kZVdvcmQpIHx8IFtdO1xuICAgICAgfVxuICAgICAgdmFyIHJ1bkluQ29udGV4dCA9IGZ1bmN0aW9uIHJ1bkluQ29udGV4dDIoY29udGV4dCkge1xuICAgICAgICBjb250ZXh0ID0gY29udGV4dCA9PSBudWxsID8gcm9vdCA6IF8yLmRlZmF1bHRzKHJvb3QuT2JqZWN0KCksIGNvbnRleHQsIF8yLnBpY2socm9vdCwgY29udGV4dFByb3BzKSk7XG4gICAgICAgIHZhciBBcnJheTIgPSBjb250ZXh0LkFycmF5LCBEYXRlMiA9IGNvbnRleHQuRGF0ZSwgRXJyb3IyID0gY29udGV4dC5FcnJvciwgRnVuY3Rpb24yID0gY29udGV4dC5GdW5jdGlvbiwgTWF0aDIgPSBjb250ZXh0Lk1hdGgsIE9iamVjdDIgPSBjb250ZXh0Lk9iamVjdCwgUmVnRXhwMiA9IGNvbnRleHQuUmVnRXhwLCBTdHJpbmcyID0gY29udGV4dC5TdHJpbmcsIFR5cGVFcnJvcjIgPSBjb250ZXh0LlR5cGVFcnJvcjtcbiAgICAgICAgdmFyIGFycmF5UHJvdG8gPSBBcnJheTIucHJvdG90eXBlLCBmdW5jUHJvdG8gPSBGdW5jdGlvbjIucHJvdG90eXBlLCBvYmplY3RQcm90byA9IE9iamVjdDIucHJvdG90eXBlO1xuICAgICAgICB2YXIgY29yZUpzRGF0YSA9IGNvbnRleHRbXCJfX2NvcmUtanNfc2hhcmVkX19cIl07XG4gICAgICAgIHZhciBmdW5jVG9TdHJpbmcgPSBmdW5jUHJvdG8udG9TdHJpbmc7XG4gICAgICAgIHZhciBoYXNPd25Qcm9wZXJ0eSA9IG9iamVjdFByb3RvLmhhc093blByb3BlcnR5O1xuICAgICAgICB2YXIgaWRDb3VudGVyID0gMDtcbiAgICAgICAgdmFyIG1hc2tTcmNLZXkgPSBmdW5jdGlvbigpIHtcbiAgICAgICAgICB2YXIgdWlkID0gL1teLl0rJC8uZXhlYyhjb3JlSnNEYXRhICYmIGNvcmVKc0RhdGEua2V5cyAmJiBjb3JlSnNEYXRhLmtleXMuSUVfUFJPVE8gfHwgXCJcIik7XG4gICAgICAgICAgcmV0dXJuIHVpZCA/IFwiU3ltYm9sKHNyYylfMS5cIiArIHVpZCA6IFwiXCI7XG4gICAgICAgIH0oKTtcbiAgICAgICAgdmFyIG5hdGl2ZU9iamVjdFRvU3RyaW5nID0gb2JqZWN0UHJvdG8udG9TdHJpbmc7XG4gICAgICAgIHZhciBvYmplY3RDdG9yU3RyaW5nID0gZnVuY1RvU3RyaW5nLmNhbGwoT2JqZWN0Mik7XG4gICAgICAgIHZhciBvbGREYXNoID0gcm9vdC5fO1xuICAgICAgICB2YXIgcmVJc05hdGl2ZSA9IFJlZ0V4cDIoXG4gICAgICAgICAgXCJeXCIgKyBmdW5jVG9TdHJpbmcuY2FsbChoYXNPd25Qcm9wZXJ0eSkucmVwbGFjZShyZVJlZ0V4cENoYXIsIFwiXFxcXCQmXCIpLnJlcGxhY2UoL2hhc093blByb3BlcnR5fChmdW5jdGlvbikuKj8oPz1cXFxcXFwoKXwgZm9yIC4rPyg/PVxcXFxcXF0pL2csIFwiJDEuKj9cIikgKyBcIiRcIlxuICAgICAgICApO1xuICAgICAgICB2YXIgQnVmZmVyMiA9IG1vZHVsZUV4cG9ydHMgPyBjb250ZXh0LkJ1ZmZlciA6IHVuZGVmaW5lZDIsIFN5bWJvbDIgPSBjb250ZXh0LlN5bWJvbCwgVWludDhBcnJheTIgPSBjb250ZXh0LlVpbnQ4QXJyYXksIGFsbG9jVW5zYWZlID0gQnVmZmVyMiA/IEJ1ZmZlcjIuYWxsb2NVbnNhZmUgOiB1bmRlZmluZWQyLCBnZXRQcm90b3R5cGUgPSBvdmVyQXJnKE9iamVjdDIuZ2V0UHJvdG90eXBlT2YsIE9iamVjdDIpLCBvYmplY3RDcmVhdGUgPSBPYmplY3QyLmNyZWF0ZSwgcHJvcGVydHlJc0VudW1lcmFibGUgPSBvYmplY3RQcm90by5wcm9wZXJ0eUlzRW51bWVyYWJsZSwgc3BsaWNlID0gYXJyYXlQcm90by5zcGxpY2UsIHNwcmVhZGFibGVTeW1ib2wgPSBTeW1ib2wyID8gU3ltYm9sMi5pc0NvbmNhdFNwcmVhZGFibGUgOiB1bmRlZmluZWQyLCBzeW1JdGVyYXRvciA9IFN5bWJvbDIgPyBTeW1ib2wyLml0ZXJhdG9yIDogdW5kZWZpbmVkMiwgc3ltVG9TdHJpbmdUYWcgPSBTeW1ib2wyID8gU3ltYm9sMi50b1N0cmluZ1RhZyA6IHVuZGVmaW5lZDI7XG4gICAgICAgIHZhciBkZWZpbmVQcm9wZXJ0eSA9IGZ1bmN0aW9uKCkge1xuICAgICAgICAgIHRyeSB7XG4gICAgICAgICAgICB2YXIgZnVuYyA9IGdldE5hdGl2ZShPYmplY3QyLCBcImRlZmluZVByb3BlcnR5XCIpO1xuICAgICAgICAgICAgZnVuYyh7fSwgXCJcIiwge30pO1xuICAgICAgICAgICAgcmV0dXJuIGZ1bmM7XG4gICAgICAgICAgfSBjYXRjaCAoZSkge1xuICAgICAgICAgIH1cbiAgICAgICAgfSgpO1xuICAgICAgICB2YXIgY3R4Q2xlYXJUaW1lb3V0ID0gY29udGV4dC5jbGVhclRpbWVvdXQgIT09IHJvb3QuY2xlYXJUaW1lb3V0ICYmIGNvbnRleHQuY2xlYXJUaW1lb3V0LCBjdHhOb3cgPSBEYXRlMiAmJiBEYXRlMi5ub3cgIT09IHJvb3QuRGF0ZS5ub3cgJiYgRGF0ZTIubm93LCBjdHhTZXRUaW1lb3V0ID0gY29udGV4dC5zZXRUaW1lb3V0ICE9PSByb290LnNldFRpbWVvdXQgJiYgY29udGV4dC5zZXRUaW1lb3V0O1xuICAgICAgICB2YXIgbmF0aXZlQ2VpbCA9IE1hdGgyLmNlaWwsIG5hdGl2ZUZsb29yID0gTWF0aDIuZmxvb3IsIG5hdGl2ZUdldFN5bWJvbHMgPSBPYmplY3QyLmdldE93blByb3BlcnR5U3ltYm9scywgbmF0aXZlSXNCdWZmZXIgPSBCdWZmZXIyID8gQnVmZmVyMi5pc0J1ZmZlciA6IHVuZGVmaW5lZDIsIG5hdGl2ZUlzRmluaXRlID0gY29udGV4dC5pc0Zpbml0ZSwgbmF0aXZlSm9pbiA9IGFycmF5UHJvdG8uam9pbiwgbmF0aXZlS2V5cyA9IG92ZXJBcmcoT2JqZWN0Mi5rZXlzLCBPYmplY3QyKSwgbmF0aXZlTWF4ID0gTWF0aDIubWF4LCBuYXRpdmVNaW4gPSBNYXRoMi5taW4sIG5hdGl2ZU5vdyA9IERhdGUyLm5vdywgbmF0aXZlUGFyc2VJbnQgPSBjb250ZXh0LnBhcnNlSW50LCBuYXRpdmVSYW5kb20gPSBNYXRoMi5yYW5kb20sIG5hdGl2ZVJldmVyc2UgPSBhcnJheVByb3RvLnJldmVyc2U7XG4gICAgICAgIHZhciBEYXRhVmlldzIgPSBnZXROYXRpdmUoY29udGV4dCwgXCJEYXRhVmlld1wiKSwgTWFwMiA9IGdldE5hdGl2ZShjb250ZXh0LCBcIk1hcFwiKSwgUHJvbWlzZTIgPSBnZXROYXRpdmUoY29udGV4dCwgXCJQcm9taXNlXCIpLCBTZXQyID0gZ2V0TmF0aXZlKGNvbnRleHQsIFwiU2V0XCIpLCBXZWFrTWFwMiA9IGdldE5hdGl2ZShjb250ZXh0LCBcIldlYWtNYXBcIiksIG5hdGl2ZUNyZWF0ZSA9IGdldE5hdGl2ZShPYmplY3QyLCBcImNyZWF0ZVwiKTtcbiAgICAgICAgdmFyIG1ldGFNYXAgPSBXZWFrTWFwMiAmJiBuZXcgV2Vha01hcDIoKTtcbiAgICAgICAgdmFyIHJlYWxOYW1lcyA9IHt9O1xuICAgICAgICB2YXIgZGF0YVZpZXdDdG9yU3RyaW5nID0gdG9Tb3VyY2UoRGF0YVZpZXcyKSwgbWFwQ3RvclN0cmluZyA9IHRvU291cmNlKE1hcDIpLCBwcm9taXNlQ3RvclN0cmluZyA9IHRvU291cmNlKFByb21pc2UyKSwgc2V0Q3RvclN0cmluZyA9IHRvU291cmNlKFNldDIpLCB3ZWFrTWFwQ3RvclN0cmluZyA9IHRvU291cmNlKFdlYWtNYXAyKTtcbiAgICAgICAgdmFyIHN5bWJvbFByb3RvID0gU3ltYm9sMiA/IFN5bWJvbDIucHJvdG90eXBlIDogdW5kZWZpbmVkMiwgc3ltYm9sVmFsdWVPZiA9IHN5bWJvbFByb3RvID8gc3ltYm9sUHJvdG8udmFsdWVPZiA6IHVuZGVmaW5lZDIsIHN5bWJvbFRvU3RyaW5nID0gc3ltYm9sUHJvdG8gPyBzeW1ib2xQcm90by50b1N0cmluZyA6IHVuZGVmaW5lZDI7XG4gICAgICAgIGZ1bmN0aW9uIGxvZGFzaCh2YWx1ZSkge1xuICAgICAgICAgIGlmIChpc09iamVjdExpa2UodmFsdWUpICYmICFpc0FycmF5KHZhbHVlKSAmJiAhKHZhbHVlIGluc3RhbmNlb2YgTGF6eVdyYXBwZXIpKSB7XG4gICAgICAgICAgICBpZiAodmFsdWUgaW5zdGFuY2VvZiBMb2Rhc2hXcmFwcGVyKSB7XG4gICAgICAgICAgICAgIHJldHVybiB2YWx1ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmIChoYXNPd25Qcm9wZXJ0eS5jYWxsKHZhbHVlLCBcIl9fd3JhcHBlZF9fXCIpKSB7XG4gICAgICAgICAgICAgIHJldHVybiB3cmFwcGVyQ2xvbmUodmFsdWUpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgICByZXR1cm4gbmV3IExvZGFzaFdyYXBwZXIodmFsdWUpO1xuICAgICAgICB9XG4gICAgICAgIHZhciBiYXNlQ3JlYXRlID0gLyogQF9fUFVSRV9fICovIGZ1bmN0aW9uKCkge1xuICAgICAgICAgIGZ1bmN0aW9uIG9iamVjdCgpIHtcbiAgICAgICAgICB9XG4gICAgICAgICAgcmV0dXJuIGZ1bmN0aW9uKHByb3RvKSB7XG4gICAgICAgICAgICBpZiAoIWlzT2JqZWN0KHByb3RvKSkge1xuICAgICAgICAgICAgICByZXR1cm4ge307XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAob2JqZWN0Q3JlYXRlKSB7XG4gICAgICAgICAgICAgIHJldHVybiBvYmplY3RDcmVhdGUocHJvdG8pO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgb2JqZWN0LnByb3RvdHlwZSA9IHByb3RvO1xuICAgICAgICAgICAgdmFyIHJlc3VsdDIgPSBuZXcgb2JqZWN0KCk7XG4gICAgICAgICAgICBvYmplY3QucHJvdG90eXBlID0gdW5kZWZpbmVkMjtcbiAgICAgICAgICAgIHJldHVybiByZXN1bHQyO1xuICAgICAgICAgIH07XG4gICAgICAgIH0oKTtcbiAgICAgICAgZnVuY3Rpb24gYmFzZUxvZGFzaCgpIHtcbiAgICAgICAgfVxuICAgICAgICBmdW5jdGlvbiBMb2Rhc2hXcmFwcGVyKHZhbHVlLCBjaGFpbkFsbCkge1xuICAgICAgICAgIHRoaXMuX193cmFwcGVkX18gPSB2YWx1ZTtcbiAgICAgICAgICB0aGlzLl9fYWN0aW9uc19fID0gW107XG4gICAgICAgICAgdGhpcy5fX2NoYWluX18gPSAhIWNoYWluQWxsO1xuICAgICAgICAgIHRoaXMuX19pbmRleF9fID0gMDtcbiAgICAgICAgICB0aGlzLl9fdmFsdWVzX18gPSB1bmRlZmluZWQyO1xuICAgICAgICB9XG4gICAgICAgIGxvZGFzaC50ZW1wbGF0ZVNldHRpbmdzID0ge1xuICAgICAgICAgIC8qKlxuICAgICAgICAgICAqIFVzZWQgdG8gZGV0ZWN0IGBkYXRhYCBwcm9wZXJ0eSB2YWx1ZXMgdG8gYmUgSFRNTC1lc2NhcGVkLlxuICAgICAgICAgICAqXG4gICAgICAgICAgICogQG1lbWJlck9mIF8udGVtcGxhdGVTZXR0aW5nc1xuICAgICAgICAgICAqIEB0eXBlIHtSZWdFeHB9XG4gICAgICAgICAgICovXG4gICAgICAgICAgXCJlc2NhcGVcIjogcmVFc2NhcGUsXG4gICAgICAgICAgLyoqXG4gICAgICAgICAgICogVXNlZCB0byBkZXRlY3QgY29kZSB0byBiZSBldmFsdWF0ZWQuXG4gICAgICAgICAgICpcbiAgICAgICAgICAgKiBAbWVtYmVyT2YgXy50ZW1wbGF0ZVNldHRpbmdzXG4gICAgICAgICAgICogQHR5cGUge1JlZ0V4cH1cbiAgICAgICAgICAgKi9cbiAgICAgICAgICBcImV2YWx1YXRlXCI6IHJlRXZhbHVhdGUsXG4gICAgICAgICAgLyoqXG4gICAgICAgICAgICogVXNlZCB0byBkZXRlY3QgYGRhdGFgIHByb3BlcnR5IHZhbHVlcyB0byBpbmplY3QuXG4gICAgICAgICAgICpcbiAgICAgICAgICAgKiBAbWVtYmVyT2YgXy50ZW1wbGF0ZVNldHRpbmdzXG4gICAgICAgICAgICogQHR5cGUge1JlZ0V4cH1cbiAgICAgICAgICAgKi9cbiAgICAgICAgICBcImludGVycG9sYXRlXCI6IHJlSW50ZXJwb2xhdGUsXG4gICAgICAgICAgLyoqXG4gICAgICAgICAgICogVXNlZCB0byByZWZlcmVuY2UgdGhlIGRhdGEgb2JqZWN0IGluIHRoZSB0ZW1wbGF0ZSB0ZXh0LlxuICAgICAgICAgICAqXG4gICAgICAgICAgICogQG1lbWJlck9mIF8udGVtcGxhdGVTZXR0aW5nc1xuICAgICAgICAgICAqIEB0eXBlIHtzdHJpbmd9XG4gICAgICAgICAgICovXG4gICAgICAgICAgXCJ2YXJpYWJsZVwiOiBcIlwiLFxuICAgICAgICAgIC8qKlxuICAgICAgICAgICAqIFVzZWQgdG8gaW1wb3J0IHZhcmlhYmxlcyBpbnRvIHRoZSBjb21waWxlZCB0ZW1wbGF0ZS5cbiAgICAgICAgICAgKlxuICAgICAgICAgICAqIEBtZW1iZXJPZiBfLnRlbXBsYXRlU2V0dGluZ3NcbiAgICAgICAgICAgKiBAdHlwZSB7T2JqZWN0fVxuICAgICAgICAgICAqL1xuICAgICAgICAgIFwiaW1wb3J0c1wiOiB7XG4gICAgICAgICAgICAvKipcbiAgICAgICAgICAgICAqIEEgcmVmZXJlbmNlIHRvIHRoZSBgbG9kYXNoYCBmdW5jdGlvbi5cbiAgICAgICAgICAgICAqXG4gICAgICAgICAgICAgKiBAbWVtYmVyT2YgXy50ZW1wbGF0ZVNldHRpbmdzLmltcG9ydHNcbiAgICAgICAgICAgICAqIEB0eXBlIHtGdW5jdGlvbn1cbiAgICAgICAgICAgICAqL1xuICAgICAgICAgICAgXCJfXCI6IGxvZGFzaFxuICAgICAgICAgIH1cbiAgICAgICAgfTtcbiAgICAgICAgbG9kYXNoLnByb3RvdHlwZSA9IGJhc2VMb2Rhc2gucHJvdG90eXBlO1xuICAgICAgICBsb2Rhc2gucHJvdG90eXBlLmNvbnN0cnVjdG9yID0gbG9kYXNoO1xuICAgICAgICBMb2Rhc2hXcmFwcGVyLnByb3RvdHlwZSA9IGJhc2VDcmVhdGUoYmFzZUxvZGFzaC5wcm90b3R5cGUpO1xuICAgICAgICBMb2Rhc2hXcmFwcGVyLnByb3RvdHlwZS5jb25zdHJ1Y3RvciA9IExvZGFzaFdyYXBwZXI7XG4gICAgICAgIGZ1bmN0aW9uIExhenlXcmFwcGVyKHZhbHVlKSB7XG4gICAgICAgICAgdGhpcy5fX3dyYXBwZWRfXyA9IHZhbHVlO1xuICAgICAgICAgIHRoaXMuX19hY3Rpb25zX18gPSBbXTtcbiAgICAgICAgICB0aGlzLl9fZGlyX18gPSAxO1xuICAgICAgICAgIHRoaXMuX19maWx0ZXJlZF9fID0gZmFsc2U7XG4gICAgICAgICAgdGhpcy5fX2l0ZXJhdGVlc19fID0gW107XG4gICAgICAgICAgdGhpcy5fX3Rha2VDb3VudF9fID0gTUFYX0FSUkFZX0xFTkdUSDtcbiAgICAgICAgICB0aGlzLl9fdmlld3NfXyA9IFtdO1xuICAgICAgICB9XG4gICAgICAgIGZ1bmN0aW9uIGxhenlDbG9uZSgpIHtcbiAgICAgICAgICB2YXIgcmVzdWx0MiA9IG5ldyBMYXp5V3JhcHBlcih0aGlzLl9fd3JhcHBlZF9fKTtcbiAgICAgICAgICByZXN1bHQyLl9fYWN0aW9uc19fID0gY29weUFycmF5KHRoaXMuX19hY3Rpb25zX18pO1xuICAgICAgICAgIHJlc3VsdDIuX19kaXJfXyA9IHRoaXMuX19kaXJfXztcbiAgICAgICAgICByZXN1bHQyLl9fZmlsdGVyZWRfXyA9IHRoaXMuX19maWx0ZXJlZF9fO1xuICAgICAgICAgIHJlc3VsdDIuX19pdGVyYXRlZXNfXyA9IGNvcHlBcnJheSh0aGlzLl9faXRlcmF0ZWVzX18pO1xuICAgICAgICAgIHJlc3VsdDIuX190YWtlQ291bnRfXyA9IHRoaXMuX190YWtlQ291bnRfXztcbiAgICAgICAgICByZXN1bHQyLl9fdmlld3NfXyA9IGNvcHlBcnJheSh0aGlzLl9fdmlld3NfXyk7XG4gICAgICAgICAgcmV0dXJuIHJlc3VsdDI7XG4gICAgICAgIH1cbiAgICAgICAgZnVuY3Rpb24gbGF6eVJldmVyc2UoKSB7XG4gICAgICAgICAgaWYgKHRoaXMuX19maWx0ZXJlZF9fKSB7XG4gICAgICAgICAgICB2YXIgcmVzdWx0MiA9IG5ldyBMYXp5V3JhcHBlcih0aGlzKTtcbiAgICAgICAgICAgIHJlc3VsdDIuX19kaXJfXyA9IC0xO1xuICAgICAgICAgICAgcmVzdWx0Mi5fX2ZpbHRlcmVkX18gPSB0cnVlO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICByZXN1bHQyID0gdGhpcy5jbG9uZSgpO1xuICAgICAgICAgICAgcmVzdWx0Mi5fX2Rpcl9fICo9IC0xO1xuICAgICAgICAgIH1cbiAgICAgICAgICByZXR1cm4gcmVzdWx0MjtcbiAgICAgICAgfVxuICAgICAgICBmdW5jdGlvbiBsYXp5VmFsdWUoKSB7XG4gICAgICAgICAgdmFyIGFycmF5ID0gdGhpcy5fX3dyYXBwZWRfXy52YWx1ZSgpLCBkaXIgPSB0aGlzLl9fZGlyX18sIGlzQXJyID0gaXNBcnJheShhcnJheSksIGlzUmlnaHQgPSBkaXIgPCAwLCBhcnJMZW5ndGggPSBpc0FyciA/IGFycmF5Lmxlbmd0aCA6IDAsIHZpZXcgPSBnZXRWaWV3KDAsIGFyckxlbmd0aCwgdGhpcy5fX3ZpZXdzX18pLCBzdGFydCA9IHZpZXcuc3RhcnQsIGVuZCA9IHZpZXcuZW5kLCBsZW5ndGggPSBlbmQgLSBzdGFydCwgaW5kZXggPSBpc1JpZ2h0ID8gZW5kIDogc3RhcnQgLSAxLCBpdGVyYXRlZXMgPSB0aGlzLl9faXRlcmF0ZWVzX18sIGl0ZXJMZW5ndGggPSBpdGVyYXRlZXMubGVuZ3RoLCByZXNJbmRleCA9IDAsIHRha2VDb3VudCA9IG5hdGl2ZU1pbihsZW5ndGgsIHRoaXMuX190YWtlQ291bnRfXyk7XG4gICAgICAgICAgaWYgKCFpc0FyciB8fCAhaXNSaWdodCAmJiBhcnJMZW5ndGggPT0gbGVuZ3RoICYmIHRha2VDb3VudCA9PSBsZW5ndGgpIHtcbiAgICAgICAgICAgIHJldHVybiBiYXNlV3JhcHBlclZhbHVlKGFycmF5LCB0aGlzLl9fYWN0aW9uc19fKTtcbiAgICAgICAgICB9XG4gICAgICAgICAgdmFyIHJlc3VsdDIgPSBbXTtcbiAgICAgICAgICBvdXRlcjpcbiAgICAgICAgICAgIHdoaWxlIChsZW5ndGgtLSAmJiByZXNJbmRleCA8IHRha2VDb3VudCkge1xuICAgICAgICAgICAgICBpbmRleCArPSBkaXI7XG4gICAgICAgICAgICAgIHZhciBpdGVySW5kZXggPSAtMSwgdmFsdWUgPSBhcnJheVtpbmRleF07XG4gICAgICAgICAgICAgIHdoaWxlICgrK2l0ZXJJbmRleCA8IGl0ZXJMZW5ndGgpIHtcbiAgICAgICAgICAgICAgICB2YXIgZGF0YSA9IGl0ZXJhdGVlc1tpdGVySW5kZXhdLCBpdGVyYXRlZTIgPSBkYXRhLml0ZXJhdGVlLCB0eXBlID0gZGF0YS50eXBlLCBjb21wdXRlZCA9IGl0ZXJhdGVlMih2YWx1ZSk7XG4gICAgICAgICAgICAgICAgaWYgKHR5cGUgPT0gTEFaWV9NQVBfRkxBRykge1xuICAgICAgICAgICAgICAgICAgdmFsdWUgPSBjb21wdXRlZDtcbiAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKCFjb21wdXRlZCkge1xuICAgICAgICAgICAgICAgICAgaWYgKHR5cGUgPT0gTEFaWV9GSUxURVJfRkxBRykge1xuICAgICAgICAgICAgICAgICAgICBjb250aW51ZSBvdXRlcjtcbiAgICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIGJyZWFrIG91dGVyO1xuICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICByZXN1bHQyW3Jlc0luZGV4KytdID0gdmFsdWU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgcmV0dXJuIHJlc3VsdDI7XG4gICAgICAgIH1cbiAgICAgICAgTGF6eVdyYXBwZXIucHJvdG90eXBlID0gYmFzZUNyZWF0ZShiYXNlTG9kYXNoLnByb3RvdHlwZSk7XG4gICAgICAgIExhenlXcmFwcGVyLnByb3RvdHlwZS5jb25zdHJ1Y3RvciA9IExhenlXcmFwcGVyO1xuICAgICAgICBmdW5jdGlvbiBIYXNoKGVudHJpZXMpIHtcbiAgICAgICAgICB2YXIgaW5kZXggPSAtMSwgbGVuZ3RoID0gZW50cmllcyA9PSBudWxsID8gMCA6IGVudHJpZXMubGVuZ3RoO1xuICAgICAgICAgIHRoaXMuY2xlYXIoKTtcbiAgICAgICAgICB3aGlsZSAoKytpbmRleCA8IGxlbmd0aCkge1xuICAgICAgICAgICAgdmFyIGVudHJ5MiA9IGVudHJpZXNbaW5kZXhdO1xuICAgICAgICAgICAgdGhpcy5zZXQoZW50cnkyWzBdLCBlbnRyeTJbMV0pO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBmdW5jdGlvbiBoYXNoQ2xlYXIoKSB7XG4gICAgICAgICAgdGhpcy5fX2RhdGFfXyA9IG5hdGl2ZUNyZWF0ZSA/IG5hdGl2ZUNyZWF0ZShudWxsKSA6IHt9O1xuICAgICAgICAgIHRoaXMuc2l6ZSA9IDA7XG4gICAgICAgIH1cbiAgICAgICAgZnVuY3Rpb24gaGFzaERlbGV0ZShrZXkpIHtcbiAgICAgICAgICB2YXIgcmVzdWx0MiA9IHRoaXMuaGFzKGtleSkgJiYgZGVsZXRlIHRoaXMuX19kYXRhX19ba2V5XTtcbiAgICAgICAgICB0aGlzLnNpemUgLT0gcmVzdWx0MiA/IDEgOiAwO1xuICAgICAgICAgIHJldHVybiByZXN1bHQyO1xuICAgICAgICB9XG4gICAgICAgIGZ1bmN0aW9uIGhhc2hHZXQoa2V5KSB7XG4gICAgICAgICAgdmFyIGRhdGEgPSB0aGlzLl9fZGF0YV9fO1xuICAgICAgICAgIGlmIChuYXRpdmVDcmVhdGUpIHtcbiAgICAgICAgICAgIHZhciByZXN1bHQyID0gZGF0YVtrZXldO1xuICAgICAgICAgICAgcmV0dXJuIHJlc3VsdDIgPT09IEhBU0hfVU5ERUZJTkVEID8gdW5kZWZpbmVkMiA6IHJlc3VsdDI7XG4gICAgICAgICAgfVxuICAgICAgICAgIHJldHVybiBoYXNPd25Qcm9wZXJ0eS5jYWxsKGRhdGEsIGtleSkgPyBkYXRhW2tleV0gOiB1bmRlZmluZWQyO1xuICAgICAgICB9XG4gICAgICAgIGZ1bmN0aW9uIGhhc2hIYXMoa2V5KSB7XG4gICAgICAgICAgdmFyIGRhdGEgPSB0aGlzLl9fZGF0YV9fO1xuICAgICAgICAgIHJldHVybiBuYXRpdmVDcmVhdGUgPyBkYXRhW2tleV0gIT09IHVuZGVmaW5lZDIgOiBoYXNPd25Qcm9wZXJ0eS5jYWxsKGRhdGEsIGtleSk7XG4gICAgICAgIH1cbiAgICAgICAgZnVuY3Rpb24gaGFzaFNldChrZXksIHZhbHVlKSB7XG4gICAgICAgICAgdmFyIGRhdGEgPSB0aGlzLl9fZGF0YV9fO1xuICAgICAgICAgIHRoaXMuc2l6ZSArPSB0aGlzLmhhcyhrZXkpID8gMCA6IDE7XG4gICAgICAgICAgZGF0YVtrZXldID0gbmF0aXZlQ3JlYXRlICYmIHZhbHVlID09PSB1bmRlZmluZWQyID8gSEFTSF9VTkRFRklORUQgOiB2YWx1ZTtcbiAgICAgICAgICByZXR1cm4gdGhpcztcbiAgICAgICAgfVxuICAgICAgICBIYXNoLnByb3RvdHlwZS5jbGVhciA9IGhhc2hDbGVhcjtcbiAgICAgICAgSGFzaC5wcm90b3R5cGVbXCJkZWxldGVcIl0gPSBoYXNoRGVsZXRlO1xuICAgICAgICBIYXNoLnByb3RvdHlwZS5nZXQgPSBoYXNoR2V0O1xuICAgICAgICBIYXNoLnByb3RvdHlwZS5oYXMgPSBoYXNoSGFzO1xuICAgICAgICBIYXNoLnByb3RvdHlwZS5zZXQgPSBoYXNoU2V0O1xuICAgICAgICBmdW5jdGlvbiBMaXN0Q2FjaGUoZW50cmllcykge1xuICAgICAgICAgIHZhciBpbmRleCA9IC0xLCBsZW5ndGggPSBlbnRyaWVzID09IG51bGwgPyAwIDogZW50cmllcy5sZW5ndGg7XG4gICAgICAgICAgdGhpcy5jbGVhcigpO1xuICAgICAgICAgIHdoaWxlICgrK2luZGV4IDwgbGVuZ3RoKSB7XG4gICAgICAgICAgICB2YXIgZW50cnkyID0gZW50cmllc1tpbmRleF07XG4gICAgICAgICAgICB0aGlzLnNldChlbnRyeTJbMF0sIGVudHJ5MlsxXSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGZ1bmN0aW9uIGxpc3RDYWNoZUNsZWFyKCkge1xuICAgICAgICAgIHRoaXMuX19kYXRhX18gPSBbXTtcbiAgICAgICAgICB0aGlzLnNpemUgPSAwO1xuICAgICAgICB9XG4gICAgICAgIGZ1bmN0aW9uIGxpc3RDYWNoZURlbGV0ZShrZXkpIHtcbiAgICAgICAgICB2YXIgZGF0YSA9IHRoaXMuX19kYXRhX18sIGluZGV4ID0gYXNzb2NJbmRleE9mKGRhdGEsIGtleSk7XG4gICAgICAgICAgaWYgKGluZGV4IDwgMCkge1xuICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICAgIH1cbiAgICAgICAgICB2YXIgbGFzdEluZGV4ID0gZGF0YS5sZW5ndGggLSAxO1xuICAgICAgICAgIGlmIChpbmRleCA9PSBsYXN0SW5kZXgpIHtcbiAgICAgICAgICAgIGRhdGEucG9wKCk7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHNwbGljZS5jYWxsKGRhdGEsIGluZGV4LCAxKTtcbiAgICAgICAgICB9XG4gICAgICAgICAgLS10aGlzLnNpemU7XG4gICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgIH1cbiAgICAgICAgZnVuY3Rpb24gbGlzdENhY2hlR2V0KGtleSkge1xuICAgICAgICAgIHZhciBkYXRhID0gdGhpcy5fX2RhdGFfXywgaW5kZXggPSBhc3NvY0luZGV4T2YoZGF0YSwga2V5KTtcbiAgICAgICAgICByZXR1cm4gaW5kZXggPCAwID8gdW5kZWZpbmVkMiA6IGRhdGFbaW5kZXhdWzFdO1xuICAgICAgICB9XG4gICAgICAgIGZ1bmN0aW9uIGxpc3RDYWNoZUhhcyhrZXkpIHtcbiAgICAgICAgICByZXR1cm4gYXNzb2NJbmRleE9mKHRoaXMuX19kYXRhX18sIGtleSkgPiAtMTtcbiAgICAgICAgfVxuICAgICAgICBmdW5jdGlvbiBsaXN0Q2FjaGVTZXQoa2V5LCB2YWx1ZSkge1xuICAgICAgICAgIHZhciBkYXRhID0gdGhpcy5fX2RhdGFfXywgaW5kZXggPSBhc3NvY0luZGV4T2YoZGF0YSwga2V5KTtcbiAgICAgICAgICBpZiAoaW5kZXggPCAwKSB7XG4gICAgICAgICAgICArK3RoaXMuc2l6ZTtcbiAgICAgICAgICAgIGRhdGEucHVzaChba2V5LCB2YWx1ZV0pO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBkYXRhW2luZGV4XVsxXSA9IHZhbHVlO1xuICAgICAgICAgIH1cbiAgICAgICAgICByZXR1cm4gdGhpcztcbiAgICAgICAgfVxuICAgICAgICBMaXN0Q2FjaGUucHJvdG90eXBlLmNsZWFyID0gbGlzdENhY2hlQ2xlYXI7XG4gICAgICAgIExpc3RDYWNoZS5wcm90b3R5cGVbXCJkZWxldGVcIl0gPSBsaXN0Q2FjaGVEZWxldGU7XG4gICAgICAgIExpc3RDYWNoZS5wcm90b3R5cGUuZ2V0ID0gbGlzdENhY2hlR2V0O1xuICAgICAgICBMaXN0Q2FjaGUucHJvdG90eXBlLmhhcyA9IGxpc3RDYWNoZUhhcztcbiAgICAgICAgTGlzdENhY2hlLnByb3RvdHlwZS5zZXQgPSBsaXN0Q2FjaGVTZXQ7XG4gICAgICAgIGZ1bmN0aW9uIE1hcENhY2hlKGVudHJpZXMpIHtcbiAgICAgICAgICB2YXIgaW5kZXggPSAtMSwgbGVuZ3RoID0gZW50cmllcyA9PSBudWxsID8gMCA6IGVudHJpZXMubGVuZ3RoO1xuICAgICAgICAgIHRoaXMuY2xlYXIoKTtcbiAgICAgICAgICB3aGlsZSAoKytpbmRleCA8IGxlbmd0aCkge1xuICAgICAgICAgICAgdmFyIGVudHJ5MiA9IGVudHJpZXNbaW5kZXhdO1xuICAgICAgICAgICAgdGhpcy5zZXQoZW50cnkyWzBdLCBlbnRyeTJbMV0pO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBmdW5jdGlvbiBtYXBDYWNoZUNsZWFyKCkge1xuICAgICAgICAgIHRoaXMuc2l6ZSA9IDA7XG4gICAgICAgICAgdGhpcy5fX2RhdGFfXyA9IHtcbiAgICAgICAgICAgIFwiaGFzaFwiOiBuZXcgSGFzaCgpLFxuICAgICAgICAgICAgXCJtYXBcIjogbmV3IChNYXAyIHx8IExpc3RDYWNoZSkoKSxcbiAgICAgICAgICAgIFwic3RyaW5nXCI6IG5ldyBIYXNoKClcbiAgICAgICAgICB9O1xuICAgICAgICB9XG4gICAgICAgIGZ1bmN0aW9uIG1hcENhY2hlRGVsZXRlKGtleSkge1xuICAgICAgICAgIHZhciByZXN1bHQyID0gZ2V0TWFwRGF0YSh0aGlzLCBrZXkpW1wiZGVsZXRlXCJdKGtleSk7XG4gICAgICAgICAgdGhpcy5zaXplIC09IHJlc3VsdDIgPyAxIDogMDtcbiAgICAgICAgICByZXR1cm4gcmVzdWx0MjtcbiAgICAgICAgfVxuICAgICAgICBmdW5jdGlvbiBtYXBDYWNoZUdldChrZXkpIHtcbiAgICAgICAgICByZXR1cm4gZ2V0TWFwRGF0YSh0aGlzLCBrZXkpLmdldChrZXkpO1xuICAgICAgICB9XG4gICAgICAgIGZ1bmN0aW9uIG1hcENhY2hlSGFzKGtleSkge1xuICAgICAgICAgIHJldHVybiBnZXRNYXBEYXRhKHRoaXMsIGtleSkuaGFzKGtleSk7XG4gICAgICAgIH1cbiAgICAgICAgZnVuY3Rpb24gbWFwQ2FjaGVTZXQoa2V5LCB2YWx1ZSkge1xuICAgICAgICAgIHZhciBkYXRhID0gZ2V0TWFwRGF0YSh0aGlzLCBrZXkpLCBzaXplMiA9IGRhdGEuc2l6ZTtcbiAgICAgICAgICBkYXRhLnNldChrZXksIHZhbHVlKTtcbiAgICAgICAgICB0aGlzLnNpemUgKz0gZGF0YS5zaXplID09IHNpemUyID8gMCA6IDE7XG4gICAgICAgICAgcmV0dXJuIHRoaXM7XG4gICAgICAgIH1cbiAgICAgICAgTWFwQ2FjaGUucHJvdG90eXBlLmNsZWFyID0gbWFwQ2FjaGVDbGVhcjtcbiAgICAgICAgTWFwQ2FjaGUucHJvdG90eXBlW1wiZGVsZXRlXCJdID0gbWFwQ2FjaGVEZWxldGU7XG4gICAgICAgIE1hcENhY2hlLnByb3RvdHlwZS5nZXQgPSBtYXBDYWNoZUdldDtcbiAgICAgICAgTWFwQ2FjaGUucHJvdG90eXBlLmhhcyA9IG1hcENhY2hlSGFzO1xuICAgICAgICBNYXBDYWNoZS5wcm90b3R5cGUuc2V0ID0gbWFwQ2FjaGVTZXQ7XG4gICAgICAgIGZ1bmN0aW9uIFNldENhY2hlKHZhbHVlczIpIHtcbiAgICAgICAgICB2YXIgaW5kZXggPSAtMSwgbGVuZ3RoID0gdmFsdWVzMiA9PSBudWxsID8gMCA6IHZhbHVlczIubGVuZ3RoO1xuICAgICAgICAgIHRoaXMuX19kYXRhX18gPSBuZXcgTWFwQ2FjaGUoKTtcbiAgICAgICAgICB3aGlsZSAoKytpbmRleCA8IGxlbmd0aCkge1xuICAgICAgICAgICAgdGhpcy5hZGQodmFsdWVzMltpbmRleF0pO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBmdW5jdGlvbiBzZXRDYWNoZUFkZCh2YWx1ZSkge1xuICAgICAgICAgIHRoaXMuX19kYXRhX18uc2V0KHZhbHVlLCBIQVNIX1VOREVGSU5FRCk7XG4gICAgICAgICAgcmV0dXJuIHRoaXM7XG4gICAgICAgIH1cbiAgICAgICAgZnVuY3Rpb24gc2V0Q2FjaGVIYXModmFsdWUpIHtcbiAgICAgICAgICByZXR1cm4gdGhpcy5fX2RhdGFfXy5oYXModmFsdWUpO1xuICAgICAgICB9XG4gICAgICAgIFNldENhY2hlLnByb3RvdHlwZS5hZGQgPSBTZXRDYWNoZS5wcm90b3R5cGUucHVzaCA9IHNldENhY2hlQWRkO1xuICAgICAgICBTZXRDYWNoZS5wcm90b3R5cGUuaGFzID0gc2V0Q2FjaGVIYXM7XG4gICAgICAgIGZ1bmN0aW9uIFN0YWNrKGVudHJpZXMpIHtcbiAgICAgICAgICB2YXIgZGF0YSA9IHRoaXMuX19kYXRhX18gPSBuZXcgTGlzdENhY2hlKGVudHJpZXMpO1xuICAgICAgICAgIHRoaXMuc2l6ZSA9IGRhdGEuc2l6ZTtcbiAgICAgICAgfVxuICAgICAgICBmdW5jdGlvbiBzdGFja0NsZWFyKCkge1xuICAgICAgICAgIHRoaXMuX19kYXRhX18gPSBuZXcgTGlzdENhY2hlKCk7XG4gICAgICAgICAgdGhpcy5zaXplID0gMDtcbiAgICAgICAgfVxuICAgICAgICBmdW5jdGlvbiBzdGFja0RlbGV0ZShrZXkpIHtcbiAgICAgICAgICB2YXIgZGF0YSA9IHRoaXMuX19kYXRhX18sIHJlc3VsdDIgPSBkYXRhW1wiZGVsZXRlXCJdKGtleSk7XG4gICAgICAgICAgdGhpcy5zaXplID0gZGF0YS5zaXplO1xuICAgICAgICAgIHJldHVybiByZXN1bHQyO1xuICAgICAgICB9XG4gICAgICAgIGZ1bmN0aW9uIHN0YWNrR2V0KGtleSkge1xuICAgICAgICAgIHJldHVybiB0aGlzLl9fZGF0YV9fLmdldChrZXkpO1xuICAgICAgICB9XG4gICAgICAgIGZ1bmN0aW9uIHN0YWNrSGFzKGtleSkge1xuICAgICAgICAgIHJldHVybiB0aGlzLl9fZGF0YV9fLmhhcyhrZXkpO1xuICAgICAgICB9XG4gICAgICAgIGZ1bmN0aW9uIHN0YWNrU2V0KGtleSwgdmFsdWUpIHtcbiAgICAgICAgICB2YXIgZGF0YSA9IHRoaXMuX19kYXRhX187XG4gICAgICAgICAgaWYgKGRhdGEgaW5zdGFuY2VvZiBMaXN0Q2FjaGUpIHtcbiAgICAgICAgICAgIHZhciBwYWlycyA9IGRhdGEuX19kYXRhX187XG4gICAgICAgICAgICBpZiAoIU1hcDIgfHwgcGFpcnMubGVuZ3RoIDwgTEFSR0VfQVJSQVlfU0laRSAtIDEpIHtcbiAgICAgICAgICAgICAgcGFpcnMucHVzaChba2V5LCB2YWx1ZV0pO1xuICAgICAgICAgICAgICB0aGlzLnNpemUgPSArK2RhdGEuc2l6ZTtcbiAgICAgICAgICAgICAgcmV0dXJuIHRoaXM7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBkYXRhID0gdGhpcy5fX2RhdGFfXyA9IG5ldyBNYXBDYWNoZShwYWlycyk7XG4gICAgICAgICAgfVxuICAgICAgICAgIGRhdGEuc2V0KGtleSwgdmFsdWUpO1xuICAgICAgICAgIHRoaXMuc2l6ZSA9IGRhdGEuc2l6ZTtcbiAgICAgICAgICByZXR1cm4gdGhpcztcbiAgICAgICAgfVxuICAgICAgICBTdGFjay5wcm90b3R5cGUuY2xlYXIgPSBzdGFja0NsZWFyO1xuICAgICAgICBTdGFjay5wcm90b3R5cGVbXCJkZWxldGVcIl0gPSBzdGFja0RlbGV0ZTtcbiAgICAgICAgU3RhY2sucHJvdG90eXBlLmdldCA9IHN0YWNrR2V0O1xuICAgICAgICBTdGFjay5wcm90b3R5cGUuaGFzID0gc3RhY2tIYXM7XG4gICAgICAgIFN0YWNrLnByb3RvdHlwZS5zZXQgPSBzdGFja1NldDtcbiAgICAgICAgZnVuY3Rpb24gYXJyYXlMaWtlS2V5cyh2YWx1ZSwgaW5oZXJpdGVkKSB7XG4gICAgICAgICAgdmFyIGlzQXJyID0gaXNBcnJheSh2YWx1ZSksIGlzQXJnID0gIWlzQXJyICYmIGlzQXJndW1lbnRzKHZhbHVlKSwgaXNCdWZmID0gIWlzQXJyICYmICFpc0FyZyAmJiBpc0J1ZmZlcih2YWx1ZSksIGlzVHlwZSA9ICFpc0FyciAmJiAhaXNBcmcgJiYgIWlzQnVmZiAmJiBpc1R5cGVkQXJyYXkodmFsdWUpLCBza2lwSW5kZXhlcyA9IGlzQXJyIHx8IGlzQXJnIHx8IGlzQnVmZiB8fCBpc1R5cGUsIHJlc3VsdDIgPSBza2lwSW5kZXhlcyA/IGJhc2VUaW1lcyh2YWx1ZS5sZW5ndGgsIFN0cmluZzIpIDogW10sIGxlbmd0aCA9IHJlc3VsdDIubGVuZ3RoO1xuICAgICAgICAgIGZvciAodmFyIGtleSBpbiB2YWx1ZSkge1xuICAgICAgICAgICAgaWYgKChpbmhlcml0ZWQgfHwgaGFzT3duUHJvcGVydHkuY2FsbCh2YWx1ZSwga2V5KSkgJiYgIShza2lwSW5kZXhlcyAmJiAvLyBTYWZhcmkgOSBoYXMgZW51bWVyYWJsZSBgYXJndW1lbnRzLmxlbmd0aGAgaW4gc3RyaWN0IG1vZGUuXG4gICAgICAgICAgICAoa2V5ID09IFwibGVuZ3RoXCIgfHwgLy8gTm9kZS5qcyAwLjEwIGhhcyBlbnVtZXJhYmxlIG5vbi1pbmRleCBwcm9wZXJ0aWVzIG9uIGJ1ZmZlcnMuXG4gICAgICAgICAgICBpc0J1ZmYgJiYgKGtleSA9PSBcIm9mZnNldFwiIHx8IGtleSA9PSBcInBhcmVudFwiKSB8fCAvLyBQaGFudG9tSlMgMiBoYXMgZW51bWVyYWJsZSBub24taW5kZXggcHJvcGVydGllcyBvbiB0eXBlZCBhcnJheXMuXG4gICAgICAgICAgICBpc1R5cGUgJiYgKGtleSA9PSBcImJ1ZmZlclwiIHx8IGtleSA9PSBcImJ5dGVMZW5ndGhcIiB8fCBrZXkgPT0gXCJieXRlT2Zmc2V0XCIpIHx8IC8vIFNraXAgaW5kZXggcHJvcGVydGllcy5cbiAgICAgICAgICAgIGlzSW5kZXgoa2V5LCBsZW5ndGgpKSkpIHtcbiAgICAgICAgICAgICAgcmVzdWx0Mi5wdXNoKGtleSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICAgIHJldHVybiByZXN1bHQyO1xuICAgICAgICB9XG4gICAgICAgIGZ1bmN0aW9uIGFycmF5U2FtcGxlKGFycmF5KSB7XG4gICAgICAgICAgdmFyIGxlbmd0aCA9IGFycmF5Lmxlbmd0aDtcbiAgICAgICAgICByZXR1cm4gbGVuZ3RoID8gYXJyYXlbYmFzZVJhbmRvbSgwLCBsZW5ndGggLSAxKV0gOiB1bmRlZmluZWQyO1xuICAgICAgICB9XG4gICAgICAgIGZ1bmN0aW9uIGFycmF5U2FtcGxlU2l6ZShhcnJheSwgbikge1xuICAgICAgICAgIHJldHVybiBzaHVmZmxlU2VsZihjb3B5QXJyYXkoYXJyYXkpLCBiYXNlQ2xhbXAobiwgMCwgYXJyYXkubGVuZ3RoKSk7XG4gICAgICAgIH1cbiAgICAgICAgZnVuY3Rpb24gYXJyYXlTaHVmZmxlKGFycmF5KSB7XG4gICAgICAgICAgcmV0dXJuIHNodWZmbGVTZWxmKGNvcHlBcnJheShhcnJheSkpO1xuICAgICAgICB9XG4gICAgICAgIGZ1bmN0aW9uIGFzc2lnbk1lcmdlVmFsdWUob2JqZWN0LCBrZXksIHZhbHVlKSB7XG4gICAgICAgICAgaWYgKHZhbHVlICE9PSB1bmRlZmluZWQyICYmICFlcShvYmplY3Rba2V5XSwgdmFsdWUpIHx8IHZhbHVlID09PSB1bmRlZmluZWQyICYmICEoa2V5IGluIG9iamVjdCkpIHtcbiAgICAgICAgICAgIGJhc2VBc3NpZ25WYWx1ZShvYmplY3QsIGtleSwgdmFsdWUpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBmdW5jdGlvbiBhc3NpZ25WYWx1ZShvYmplY3QsIGtleSwgdmFsdWUpIHtcbiAgICAgICAgICB2YXIgb2JqVmFsdWUgPSBvYmplY3Rba2V5XTtcbiAgICAgICAgICBpZiAoIShoYXNPd25Qcm9wZXJ0eS5jYWxsKG9iamVjdCwga2V5KSAmJiBlcShvYmpWYWx1ZSwgdmFsdWUpKSB8fCB2YWx1ZSA9PT0gdW5kZWZpbmVkMiAmJiAhKGtleSBpbiBvYmplY3QpKSB7XG4gICAgICAgICAgICBiYXNlQXNzaWduVmFsdWUob2JqZWN0LCBrZXksIHZhbHVlKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgZnVuY3Rpb24gYXNzb2NJbmRleE9mKGFycmF5LCBrZXkpIHtcbiAgICAgICAgICB2YXIgbGVuZ3RoID0gYXJyYXkubGVuZ3RoO1xuICAgICAgICAgIHdoaWxlIChsZW5ndGgtLSkge1xuICAgICAgICAgICAgaWYgKGVxKGFycmF5W2xlbmd0aF1bMF0sIGtleSkpIHtcbiAgICAgICAgICAgICAgcmV0dXJuIGxlbmd0aDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgICAgcmV0dXJuIC0xO1xuICAgICAgICB9XG4gICAgICAgIGZ1bmN0aW9uIGJhc2VBZ2dyZWdhdG9yKGNvbGxlY3Rpb24sIHNldHRlciwgaXRlcmF0ZWUyLCBhY2N1bXVsYXRvcikge1xuICAgICAgICAgIGJhc2VFYWNoKGNvbGxlY3Rpb24sIGZ1bmN0aW9uKHZhbHVlLCBrZXksIGNvbGxlY3Rpb24yKSB7XG4gICAgICAgICAgICBzZXR0ZXIoYWNjdW11bGF0b3IsIHZhbHVlLCBpdGVyYXRlZTIodmFsdWUpLCBjb2xsZWN0aW9uMik7XG4gICAgICAgICAgfSk7XG4gICAgICAgICAgcmV0dXJuIGFjY3VtdWxhdG9yO1xuICAgICAgICB9XG4gICAgICAgIGZ1bmN0aW9uIGJhc2VBc3NpZ24ob2JqZWN0LCBzb3VyY2UpIHtcbiAgICAgICAgICByZXR1cm4gb2JqZWN0ICYmIGNvcHlPYmplY3Qoc291cmNlLCBrZXlzKHNvdXJjZSksIG9iamVjdCk7XG4gICAgICAgIH1cbiAgICAgICAgZnVuY3Rpb24gYmFzZUFzc2lnbkluKG9iamVjdCwgc291cmNlKSB7XG4gICAgICAgICAgcmV0dXJuIG9iamVjdCAmJiBjb3B5T2JqZWN0KHNvdXJjZSwga2V5c0luKHNvdXJjZSksIG9iamVjdCk7XG4gICAgICAgIH1cbiAgICAgICAgZnVuY3Rpb24gYmFzZUFzc2lnblZhbHVlKG9iamVjdCwga2V5LCB2YWx1ZSkge1xuICAgICAgICAgIGlmIChrZXkgPT0gXCJfX3Byb3RvX19cIiAmJiBkZWZpbmVQcm9wZXJ0eSkge1xuICAgICAgICAgICAgZGVmaW5lUHJvcGVydHkob2JqZWN0LCBrZXksIHtcbiAgICAgICAgICAgICAgXCJjb25maWd1cmFibGVcIjogdHJ1ZSxcbiAgICAgICAgICAgICAgXCJlbnVtZXJhYmxlXCI6IHRydWUsXG4gICAgICAgICAgICAgIFwidmFsdWVcIjogdmFsdWUsXG4gICAgICAgICAgICAgIFwid3JpdGFibGVcIjogdHJ1ZVxuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIG9iamVjdFtrZXldID0gdmFsdWU7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGZ1bmN0aW9uIGJhc2VBdChvYmplY3QsIHBhdGhzKSB7XG4gICAgICAgICAgdmFyIGluZGV4ID0gLTEsIGxlbmd0aCA9IHBhdGhzLmxlbmd0aCwgcmVzdWx0MiA9IEFycmF5MihsZW5ndGgpLCBza2lwID0gb2JqZWN0ID09IG51bGw7XG4gICAgICAgICAgd2hpbGUgKCsraW5kZXggPCBsZW5ndGgpIHtcbiAgICAgICAgICAgIHJlc3VsdDJbaW5kZXhdID0gc2tpcCA/IHVuZGVmaW5lZDIgOiBnZXQob2JqZWN0LCBwYXRoc1tpbmRleF0pO1xuICAgICAgICAgIH1cbiAgICAgICAgICByZXR1cm4gcmVzdWx0MjtcbiAgICAgICAgfVxuICAgICAgICBmdW5jdGlvbiBiYXNlQ2xhbXAobnVtYmVyLCBsb3dlciwgdXBwZXIpIHtcbiAgICAgICAgICBpZiAobnVtYmVyID09PSBudW1iZXIpIHtcbiAgICAgICAgICAgIGlmICh1cHBlciAhPT0gdW5kZWZpbmVkMikge1xuICAgICAgICAgICAgICBudW1iZXIgPSBudW1iZXIgPD0gdXBwZXIgPyBudW1iZXIgOiB1cHBlcjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmIChsb3dlciAhPT0gdW5kZWZpbmVkMikge1xuICAgICAgICAgICAgICBudW1iZXIgPSBudW1iZXIgPj0gbG93ZXIgPyBudW1iZXIgOiBsb3dlcjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgICAgcmV0dXJuIG51bWJlcjtcbiAgICAgICAgfVxuICAgICAgICBmdW5jdGlvbiBiYXNlQ2xvbmUodmFsdWUsIGJpdG1hc2ssIGN1c3RvbWl6ZXIsIGtleSwgb2JqZWN0LCBzdGFjaykge1xuICAgICAgICAgIHZhciByZXN1bHQyLCBpc0RlZXAgPSBiaXRtYXNrICYgQ0xPTkVfREVFUF9GTEFHLCBpc0ZsYXQgPSBiaXRtYXNrICYgQ0xPTkVfRkxBVF9GTEFHLCBpc0Z1bGwgPSBiaXRtYXNrICYgQ0xPTkVfU1lNQk9MU19GTEFHO1xuICAgICAgICAgIGlmIChjdXN0b21pemVyKSB7XG4gICAgICAgICAgICByZXN1bHQyID0gb2JqZWN0ID8gY3VzdG9taXplcih2YWx1ZSwga2V5LCBvYmplY3QsIHN0YWNrKSA6IGN1c3RvbWl6ZXIodmFsdWUpO1xuICAgICAgICAgIH1cbiAgICAgICAgICBpZiAocmVzdWx0MiAhPT0gdW5kZWZpbmVkMikge1xuICAgICAgICAgICAgcmV0dXJuIHJlc3VsdDI7XG4gICAgICAgICAgfVxuICAgICAgICAgIGlmICghaXNPYmplY3QodmFsdWUpKSB7XG4gICAgICAgICAgICByZXR1cm4gdmFsdWU7XG4gICAgICAgICAgfVxuICAgICAgICAgIHZhciBpc0FyciA9IGlzQXJyYXkodmFsdWUpO1xuICAgICAgICAgIGlmIChpc0Fycikge1xuICAgICAgICAgICAgcmVzdWx0MiA9IGluaXRDbG9uZUFycmF5KHZhbHVlKTtcbiAgICAgICAgICAgIGlmICghaXNEZWVwKSB7XG4gICAgICAgICAgICAgIHJldHVybiBjb3B5QXJyYXkodmFsdWUsIHJlc3VsdDIpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB2YXIgdGFnID0gZ2V0VGFnKHZhbHVlKSwgaXNGdW5jID0gdGFnID09IGZ1bmNUYWcgfHwgdGFnID09IGdlblRhZztcbiAgICAgICAgICAgIGlmIChpc0J1ZmZlcih2YWx1ZSkpIHtcbiAgICAgICAgICAgICAgcmV0dXJuIGNsb25lQnVmZmVyKHZhbHVlLCBpc0RlZXApO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKHRhZyA9PSBvYmplY3RUYWcgfHwgdGFnID09IGFyZ3NUYWcgfHwgaXNGdW5jICYmICFvYmplY3QpIHtcbiAgICAgICAgICAgICAgcmVzdWx0MiA9IGlzRmxhdCB8fCBpc0Z1bmMgPyB7fSA6IGluaXRDbG9uZU9iamVjdCh2YWx1ZSk7XG4gICAgICAgICAgICAgIGlmICghaXNEZWVwKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIGlzRmxhdCA/IGNvcHlTeW1ib2xzSW4odmFsdWUsIGJhc2VBc3NpZ25JbihyZXN1bHQyLCB2YWx1ZSkpIDogY29weVN5bWJvbHModmFsdWUsIGJhc2VBc3NpZ24ocmVzdWx0MiwgdmFsdWUpKTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgaWYgKCFjbG9uZWFibGVUYWdzW3RhZ10pIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gb2JqZWN0ID8gdmFsdWUgOiB7fTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICByZXN1bHQyID0gaW5pdENsb25lQnlUYWcodmFsdWUsIHRhZywgaXNEZWVwKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgICAgc3RhY2sgfHwgKHN0YWNrID0gbmV3IFN0YWNrKCkpO1xuICAgICAgICAgIHZhciBzdGFja2VkID0gc3RhY2suZ2V0KHZhbHVlKTtcbiAgICAgICAgICBpZiAoc3RhY2tlZCkge1xuICAgICAgICAgICAgcmV0dXJuIHN0YWNrZWQ7XG4gICAgICAgICAgfVxuICAgICAgICAgIHN0YWNrLnNldCh2YWx1ZSwgcmVzdWx0Mik7XG4gICAgICAgICAgaWYgKGlzU2V0KHZhbHVlKSkge1xuICAgICAgICAgICAgdmFsdWUuZm9yRWFjaChmdW5jdGlvbihzdWJWYWx1ZSkge1xuICAgICAgICAgICAgICByZXN1bHQyLmFkZChiYXNlQ2xvbmUoc3ViVmFsdWUsIGJpdG1hc2ssIGN1c3RvbWl6ZXIsIHN1YlZhbHVlLCB2YWx1ZSwgc3RhY2spKTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgIH0gZWxzZSBpZiAoaXNNYXAodmFsdWUpKSB7XG4gICAgICAgICAgICB2YWx1ZS5mb3JFYWNoKGZ1bmN0aW9uKHN1YlZhbHVlLCBrZXkyKSB7XG4gICAgICAgICAgICAgIHJlc3VsdDIuc2V0KGtleTIsIGJhc2VDbG9uZShzdWJWYWx1ZSwgYml0bWFzaywgY3VzdG9taXplciwga2V5MiwgdmFsdWUsIHN0YWNrKSk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICB9XG4gICAgICAgICAgdmFyIGtleXNGdW5jID0gaXNGdWxsID8gaXNGbGF0ID8gZ2V0QWxsS2V5c0luIDogZ2V0QWxsS2V5cyA6IGlzRmxhdCA/IGtleXNJbiA6IGtleXM7XG4gICAgICAgICAgdmFyIHByb3BzID0gaXNBcnIgPyB1bmRlZmluZWQyIDoga2V5c0Z1bmModmFsdWUpO1xuICAgICAgICAgIGFycmF5RWFjaChwcm9wcyB8fCB2YWx1ZSwgZnVuY3Rpb24oc3ViVmFsdWUsIGtleTIpIHtcbiAgICAgICAgICAgIGlmIChwcm9wcykge1xuICAgICAgICAgICAgICBrZXkyID0gc3ViVmFsdWU7XG4gICAgICAgICAgICAgIHN1YlZhbHVlID0gdmFsdWVba2V5Ml07XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBhc3NpZ25WYWx1ZShyZXN1bHQyLCBrZXkyLCBiYXNlQ2xvbmUoc3ViVmFsdWUsIGJpdG1hc2ssIGN1c3RvbWl6ZXIsIGtleTIsIHZhbHVlLCBzdGFjaykpO1xuICAgICAgICAgIH0pO1xuICAgICAgICAgIHJldHVybiByZXN1bHQyO1xuICAgICAgICB9XG4gICAgICAgIGZ1bmN0aW9uIGJhc2VDb25mb3Jtcyhzb3VyY2UpIHtcbiAgICAgICAgICB2YXIgcHJvcHMgPSBrZXlzKHNvdXJjZSk7XG4gICAgICAgICAgcmV0dXJuIGZ1bmN0aW9uKG9iamVjdCkge1xuICAgICAgICAgICAgcmV0dXJuIGJhc2VDb25mb3Jtc1RvKG9iamVjdCwgc291cmNlLCBwcm9wcyk7XG4gICAgICAgICAgfTtcbiAgICAgICAgfVxuICAgICAgICBmdW5jdGlvbiBiYXNlQ29uZm9ybXNUbyhvYmplY3QsIHNvdXJjZSwgcHJvcHMpIHtcbiAgICAgICAgICB2YXIgbGVuZ3RoID0gcHJvcHMubGVuZ3RoO1xuICAgICAgICAgIGlmIChvYmplY3QgPT0gbnVsbCkge1xuICAgICAgICAgICAgcmV0dXJuICFsZW5ndGg7XG4gICAgICAgICAgfVxuICAgICAgICAgIG9iamVjdCA9IE9iamVjdDIob2JqZWN0KTtcbiAgICAgICAgICB3aGlsZSAobGVuZ3RoLS0pIHtcbiAgICAgICAgICAgIHZhciBrZXkgPSBwcm9wc1tsZW5ndGhdLCBwcmVkaWNhdGUgPSBzb3VyY2Vba2V5XSwgdmFsdWUgPSBvYmplY3Rba2V5XTtcbiAgICAgICAgICAgIGlmICh2YWx1ZSA9PT0gdW5kZWZpbmVkMiAmJiAhKGtleSBpbiBvYmplY3QpIHx8ICFwcmVkaWNhdGUodmFsdWUpKSB7XG4gICAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgIH1cbiAgICAgICAgZnVuY3Rpb24gYmFzZURlbGF5KGZ1bmMsIHdhaXQsIGFyZ3MpIHtcbiAgICAgICAgICBpZiAodHlwZW9mIGZ1bmMgIT0gXCJmdW5jdGlvblwiKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgVHlwZUVycm9yMihGVU5DX0VSUk9SX1RFWFQpO1xuICAgICAgICAgIH1cbiAgICAgICAgICByZXR1cm4gc2V0VGltZW91dChmdW5jdGlvbigpIHtcbiAgICAgICAgICAgIGZ1bmMuYXBwbHkodW5kZWZpbmVkMiwgYXJncyk7XG4gICAgICAgICAgfSwgd2FpdCk7XG4gICAgICAgIH1cbiAgICAgICAgZnVuY3Rpb24gYmFzZURpZmZlcmVuY2UoYXJyYXksIHZhbHVlczIsIGl0ZXJhdGVlMiwgY29tcGFyYXRvcikge1xuICAgICAgICAgIHZhciBpbmRleCA9IC0xLCBpbmNsdWRlczIgPSBhcnJheUluY2x1ZGVzLCBpc0NvbW1vbiA9IHRydWUsIGxlbmd0aCA9IGFycmF5Lmxlbmd0aCwgcmVzdWx0MiA9IFtdLCB2YWx1ZXNMZW5ndGggPSB2YWx1ZXMyLmxlbmd0aDtcbiAgICAgICAgICBpZiAoIWxlbmd0aCkge1xuICAgICAgICAgICAgcmV0dXJuIHJlc3VsdDI7XG4gICAgICAgICAgfVxuICAgICAgICAgIGlmIChpdGVyYXRlZTIpIHtcbiAgICAgICAgICAgIHZhbHVlczIgPSBhcnJheU1hcCh2YWx1ZXMyLCBiYXNlVW5hcnkoaXRlcmF0ZWUyKSk7XG4gICAgICAgICAgfVxuICAgICAgICAgIGlmIChjb21wYXJhdG9yKSB7XG4gICAgICAgICAgICBpbmNsdWRlczIgPSBhcnJheUluY2x1ZGVzV2l0aDtcbiAgICAgICAgICAgIGlzQ29tbW9uID0gZmFsc2U7XG4gICAgICAgICAgfSBlbHNlIGlmICh2YWx1ZXMyLmxlbmd0aCA+PSBMQVJHRV9BUlJBWV9TSVpFKSB7XG4gICAgICAgICAgICBpbmNsdWRlczIgPSBjYWNoZUhhcztcbiAgICAgICAgICAgIGlzQ29tbW9uID0gZmFsc2U7XG4gICAgICAgICAgICB2YWx1ZXMyID0gbmV3IFNldENhY2hlKHZhbHVlczIpO1xuICAgICAgICAgIH1cbiAgICAgICAgICBvdXRlcjpcbiAgICAgICAgICAgIHdoaWxlICgrK2luZGV4IDwgbGVuZ3RoKSB7XG4gICAgICAgICAgICAgIHZhciB2YWx1ZSA9IGFycmF5W2luZGV4XSwgY29tcHV0ZWQgPSBpdGVyYXRlZTIgPT0gbnVsbCA/IHZhbHVlIDogaXRlcmF0ZWUyKHZhbHVlKTtcbiAgICAgICAgICAgICAgdmFsdWUgPSBjb21wYXJhdG9yIHx8IHZhbHVlICE9PSAwID8gdmFsdWUgOiAwO1xuICAgICAgICAgICAgICBpZiAoaXNDb21tb24gJiYgY29tcHV0ZWQgPT09IGNvbXB1dGVkKSB7XG4gICAgICAgICAgICAgICAgdmFyIHZhbHVlc0luZGV4ID0gdmFsdWVzTGVuZ3RoO1xuICAgICAgICAgICAgICAgIHdoaWxlICh2YWx1ZXNJbmRleC0tKSB7XG4gICAgICAgICAgICAgICAgICBpZiAodmFsdWVzMlt2YWx1ZXNJbmRleF0gPT09IGNvbXB1dGVkKSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlIG91dGVyO1xuICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICByZXN1bHQyLnB1c2godmFsdWUpO1xuICAgICAgICAgICAgICB9IGVsc2UgaWYgKCFpbmNsdWRlczIodmFsdWVzMiwgY29tcHV0ZWQsIGNvbXBhcmF0b3IpKSB7XG4gICAgICAgICAgICAgICAgcmVzdWx0Mi5wdXNoKHZhbHVlKTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIHJldHVybiByZXN1bHQyO1xuICAgICAgICB9XG4gICAgICAgIHZhciBiYXNlRWFjaCA9IGNyZWF0ZUJhc2VFYWNoKGJhc2VGb3JPd24pO1xuICAgICAgICB2YXIgYmFzZUVhY2hSaWdodCA9IGNyZWF0ZUJhc2VFYWNoKGJhc2VGb3JPd25SaWdodCwgdHJ1ZSk7XG4gICAgICAgIGZ1bmN0aW9uIGJhc2VFdmVyeShjb2xsZWN0aW9uLCBwcmVkaWNhdGUpIHtcbiAgICAgICAgICB2YXIgcmVzdWx0MiA9IHRydWU7XG4gICAgICAgICAgYmFzZUVhY2goY29sbGVjdGlvbiwgZnVuY3Rpb24odmFsdWUsIGluZGV4LCBjb2xsZWN0aW9uMikge1xuICAgICAgICAgICAgcmVzdWx0MiA9ICEhcHJlZGljYXRlKHZhbHVlLCBpbmRleCwgY29sbGVjdGlvbjIpO1xuICAgICAgICAgICAgcmV0dXJuIHJlc3VsdDI7XG4gICAgICAgICAgfSk7XG4gICAgICAgICAgcmV0dXJuIHJlc3VsdDI7XG4gICAgICAgIH1cbiAgICAgICAgZnVuY3Rpb24gYmFzZUV4dHJlbXVtKGFycmF5LCBpdGVyYXRlZTIsIGNvbXBhcmF0b3IpIHtcbiAgICAgICAgICB2YXIgaW5kZXggPSAtMSwgbGVuZ3RoID0gYXJyYXkubGVuZ3RoO1xuICAgICAgICAgIHdoaWxlICgrK2luZGV4IDwgbGVuZ3RoKSB7XG4gICAgICAgICAgICB2YXIgdmFsdWUgPSBhcnJheVtpbmRleF0sIGN1cnJlbnQgPSBpdGVyYXRlZTIodmFsdWUpO1xuICAgICAgICAgICAgaWYgKGN1cnJlbnQgIT0gbnVsbCAmJiAoY29tcHV0ZWQgPT09IHVuZGVmaW5lZDIgPyBjdXJyZW50ID09PSBjdXJyZW50ICYmICFpc1N5bWJvbChjdXJyZW50KSA6IGNvbXBhcmF0b3IoY3VycmVudCwgY29tcHV0ZWQpKSkge1xuICAgICAgICAgICAgICB2YXIgY29tcHV0ZWQgPSBjdXJyZW50LCByZXN1bHQyID0gdmFsdWU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICAgIHJldHVybiByZXN1bHQyO1xuICAgICAgICB9XG4gICAgICAgIGZ1bmN0aW9uIGJhc2VGaWxsKGFycmF5LCB2YWx1ZSwgc3RhcnQsIGVuZCkge1xuICAgICAgICAgIHZhciBsZW5ndGggPSBhcnJheS5sZW5ndGg7XG4gICAgICAgICAgc3RhcnQgPSB0b0ludGVnZXIoc3RhcnQpO1xuICAgICAgICAgIGlmIChzdGFydCA8IDApIHtcbiAgICAgICAgICAgIHN0YXJ0ID0gLXN0YXJ0ID4gbGVuZ3RoID8gMCA6IGxlbmd0aCArIHN0YXJ0O1xuICAgICAgICAgIH1cbiAgICAgICAgICBlbmQgPSBlbmQgPT09IHVuZGVmaW5lZDIgfHwgZW5kID4gbGVuZ3RoID8gbGVuZ3RoIDogdG9JbnRlZ2VyKGVuZCk7XG4gICAgICAgICAgaWYgKGVuZCA8IDApIHtcbiAgICAgICAgICAgIGVuZCArPSBsZW5ndGg7XG4gICAgICAgICAgfVxuICAgICAgICAgIGVuZCA9IHN0YXJ0ID4gZW5kID8gMCA6IHRvTGVuZ3RoKGVuZCk7XG4gICAgICAgICAgd2hpbGUgKHN0YXJ0IDwgZW5kKSB7XG4gICAgICAgICAgICBhcnJheVtzdGFydCsrXSA9IHZhbHVlO1xuICAgICAgICAgIH1cbiAgICAgICAgICByZXR1cm4gYXJyYXk7XG4gICAgICAgIH1cbiAgICAgICAgZnVuY3Rpb24gYmFzZUZpbHRlcihjb2xsZWN0aW9uLCBwcmVkaWNhdGUpIHtcbiAgICAgICAgICB2YXIgcmVzdWx0MiA9IFtdO1xuICAgICAgICAgIGJhc2VFYWNoKGNvbGxlY3Rpb24sIGZ1bmN0aW9uKHZhbHVlLCBpbmRleCwgY29sbGVjdGlvbjIpIHtcbiAgICAgICAgICAgIGlmIChwcmVkaWNhdGUodmFsdWUsIGluZGV4LCBjb2xsZWN0aW9uMikpIHtcbiAgICAgICAgICAgICAgcmVzdWx0Mi5wdXNoKHZhbHVlKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9KTtcbiAgICAgICAgICByZXR1cm4gcmVzdWx0MjtcbiAgICAgICAgfVxuICAgICAgICBmdW5jdGlvbiBiYXNlRmxhdHRlbihhcnJheSwgZGVwdGgsIHByZWRpY2F0ZSwgaXNTdHJpY3QsIHJlc3VsdDIpIHtcbiAgICAgICAgICB2YXIgaW5kZXggPSAtMSwgbGVuZ3RoID0gYXJyYXkubGVuZ3RoO1xuICAgICAgICAgIHByZWRpY2F0ZSB8fCAocHJlZGljYXRlID0gaXNGbGF0dGVuYWJsZSk7XG4gICAgICAgICAgcmVzdWx0MiB8fCAocmVzdWx0MiA9IFtdKTtcbiAgICAgICAgICB3aGlsZSAoKytpbmRleCA8IGxlbmd0aCkge1xuICAgICAgICAgICAgdmFyIHZhbHVlID0gYXJyYXlbaW5kZXhdO1xuICAgICAgICAgICAgaWYgKGRlcHRoID4gMCAmJiBwcmVkaWNhdGUodmFsdWUpKSB7XG4gICAgICAgICAgICAgIGlmIChkZXB0aCA+IDEpIHtcbiAgICAgICAgICAgICAgICBiYXNlRmxhdHRlbih2YWx1ZSwgZGVwdGggLSAxLCBwcmVkaWNhdGUsIGlzU3RyaWN0LCByZXN1bHQyKTtcbiAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICBhcnJheVB1c2gocmVzdWx0MiwgdmFsdWUpO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9IGVsc2UgaWYgKCFpc1N0cmljdCkge1xuICAgICAgICAgICAgICByZXN1bHQyW3Jlc3VsdDIubGVuZ3RoXSA9IHZhbHVlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgICByZXR1cm4gcmVzdWx0MjtcbiAgICAgICAgfVxuICAgICAgICB2YXIgYmFzZUZvciA9IGNyZWF0ZUJhc2VGb3IoKTtcbiAgICAgICAgdmFyIGJhc2VGb3JSaWdodCA9IGNyZWF0ZUJhc2VGb3IodHJ1ZSk7XG4gICAgICAgIGZ1bmN0aW9uIGJhc2VGb3JPd24ob2JqZWN0LCBpdGVyYXRlZTIpIHtcbiAgICAgICAgICByZXR1cm4gb2JqZWN0ICYmIGJhc2VGb3Iob2JqZWN0LCBpdGVyYXRlZTIsIGtleXMpO1xuICAgICAgICB9XG4gICAgICAgIGZ1bmN0aW9uIGJhc2VGb3JPd25SaWdodChvYmplY3QsIGl0ZXJhdGVlMikge1xuICAgICAgICAgIHJldHVybiBvYmplY3QgJiYgYmFzZUZvclJpZ2h0KG9iamVjdCwgaXRlcmF0ZWUyLCBrZXlzKTtcbiAgICAgICAgfVxuICAgICAgICBmdW5jdGlvbiBiYXNlRnVuY3Rpb25zKG9iamVjdCwgcHJvcHMpIHtcbiAgICAgICAgICByZXR1cm4gYXJyYXlGaWx0ZXIocHJvcHMsIGZ1bmN0aW9uKGtleSkge1xuICAgICAgICAgICAgcmV0dXJuIGlzRnVuY3Rpb24ob2JqZWN0W2tleV0pO1xuICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICAgIGZ1bmN0aW9uIGJhc2VHZXQob2JqZWN0LCBwYXRoKSB7XG4gICAgICAgICAgcGF0aCA9IGNhc3RQYXRoKHBhdGgsIG9iamVjdCk7XG4gICAgICAgICAgdmFyIGluZGV4ID0gMCwgbGVuZ3RoID0gcGF0aC5sZW5ndGg7XG4gICAgICAgICAgd2hpbGUgKG9iamVjdCAhPSBudWxsICYmIGluZGV4IDwgbGVuZ3RoKSB7XG4gICAgICAgICAgICBvYmplY3QgPSBvYmplY3RbdG9LZXkocGF0aFtpbmRleCsrXSldO1xuICAgICAgICAgIH1cbiAgICAgICAgICByZXR1cm4gaW5kZXggJiYgaW5kZXggPT0gbGVuZ3RoID8gb2JqZWN0IDogdW5kZWZpbmVkMjtcbiAgICAgICAgfVxuICAgICAgICBmdW5jdGlvbiBiYXNlR2V0QWxsS2V5cyhvYmplY3QsIGtleXNGdW5jLCBzeW1ib2xzRnVuYykge1xuICAgICAgICAgIHZhciByZXN1bHQyID0ga2V5c0Z1bmMob2JqZWN0KTtcbiAgICAgICAgICByZXR1cm4gaXNBcnJheShvYmplY3QpID8gcmVzdWx0MiA6IGFycmF5UHVzaChyZXN1bHQyLCBzeW1ib2xzRnVuYyhvYmplY3QpKTtcbiAgICAgICAgfVxuICAgICAgICBmdW5jdGlvbiBiYXNlR2V0VGFnKHZhbHVlKSB7XG4gICAgICAgICAgaWYgKHZhbHVlID09IG51bGwpIHtcbiAgICAgICAgICAgIHJldHVybiB2YWx1ZSA9PT0gdW5kZWZpbmVkMiA/IHVuZGVmaW5lZFRhZyA6IG51bGxUYWc7XG4gICAgICAgICAgfVxuICAgICAgICAgIHJldHVybiBzeW1Ub1N0cmluZ1RhZyAmJiBzeW1Ub1N0cmluZ1RhZyBpbiBPYmplY3QyKHZhbHVlKSA/IGdldFJhd1RhZyh2YWx1ZSkgOiBvYmplY3RUb1N0cmluZyh2YWx1ZSk7XG4gICAgICAgIH1cbiAgICAgICAgZnVuY3Rpb24gYmFzZUd0KHZhbHVlLCBvdGhlcikge1xuICAgICAgICAgIHJldHVybiB2YWx1ZSA+IG90aGVyO1xuICAgICAgICB9XG4gICAgICAgIGZ1bmN0aW9uIGJhc2VIYXMob2JqZWN0LCBrZXkpIHtcbiAgICAgICAgICByZXR1cm4gb2JqZWN0ICE9IG51bGwgJiYgaGFzT3duUHJvcGVydHkuY2FsbChvYmplY3QsIGtleSk7XG4gICAgICAgIH1cbiAgICAgICAgZnVuY3Rpb24gYmFzZUhhc0luKG9iamVjdCwga2V5KSB7XG4gICAgICAgICAgcmV0dXJuIG9iamVjdCAhPSBudWxsICYmIGtleSBpbiBPYmplY3QyKG9iamVjdCk7XG4gICAgICAgIH1cbiAgICAgICAgZnVuY3Rpb24gYmFzZUluUmFuZ2UobnVtYmVyLCBzdGFydCwgZW5kKSB7XG4gICAgICAgICAgcmV0dXJuIG51bWJlciA+PSBuYXRpdmVNaW4oc3RhcnQsIGVuZCkgJiYgbnVtYmVyIDwgbmF0aXZlTWF4KHN0YXJ0LCBlbmQpO1xuICAgICAgICB9XG4gICAgICAgIGZ1bmN0aW9uIGJhc2VJbnRlcnNlY3Rpb24oYXJyYXlzLCBpdGVyYXRlZTIsIGNvbXBhcmF0b3IpIHtcbiAgICAgICAgICB2YXIgaW5jbHVkZXMyID0gY29tcGFyYXRvciA/IGFycmF5SW5jbHVkZXNXaXRoIDogYXJyYXlJbmNsdWRlcywgbGVuZ3RoID0gYXJyYXlzWzBdLmxlbmd0aCwgb3RoTGVuZ3RoID0gYXJyYXlzLmxlbmd0aCwgb3RoSW5kZXggPSBvdGhMZW5ndGgsIGNhY2hlcyA9IEFycmF5MihvdGhMZW5ndGgpLCBtYXhMZW5ndGggPSBJbmZpbml0eSwgcmVzdWx0MiA9IFtdO1xuICAgICAgICAgIHdoaWxlIChvdGhJbmRleC0tKSB7XG4gICAgICAgICAgICB2YXIgYXJyYXkgPSBhcnJheXNbb3RoSW5kZXhdO1xuICAgICAgICAgICAgaWYgKG90aEluZGV4ICYmIGl0ZXJhdGVlMikge1xuICAgICAgICAgICAgICBhcnJheSA9IGFycmF5TWFwKGFycmF5LCBiYXNlVW5hcnkoaXRlcmF0ZWUyKSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBtYXhMZW5ndGggPSBuYXRpdmVNaW4oYXJyYXkubGVuZ3RoLCBtYXhMZW5ndGgpO1xuICAgICAgICAgICAgY2FjaGVzW290aEluZGV4XSA9ICFjb21wYXJhdG9yICYmIChpdGVyYXRlZTIgfHwgbGVuZ3RoID49IDEyMCAmJiBhcnJheS5sZW5ndGggPj0gMTIwKSA/IG5ldyBTZXRDYWNoZShvdGhJbmRleCAmJiBhcnJheSkgOiB1bmRlZmluZWQyO1xuICAgICAgICAgIH1cbiAgICAgICAgICBhcnJheSA9IGFycmF5c1swXTtcbiAgICAgICAgICB2YXIgaW5kZXggPSAtMSwgc2VlbiA9IGNhY2hlc1swXTtcbiAgICAgICAgICBvdXRlcjpcbiAgICAgICAgICAgIHdoaWxlICgrK2luZGV4IDwgbGVuZ3RoICYmIHJlc3VsdDIubGVuZ3RoIDwgbWF4TGVuZ3RoKSB7XG4gICAgICAgICAgICAgIHZhciB2YWx1ZSA9IGFycmF5W2luZGV4XSwgY29tcHV0ZWQgPSBpdGVyYXRlZTIgPyBpdGVyYXRlZTIodmFsdWUpIDogdmFsdWU7XG4gICAgICAgICAgICAgIHZhbHVlID0gY29tcGFyYXRvciB8fCB2YWx1ZSAhPT0gMCA/IHZhbHVlIDogMDtcbiAgICAgICAgICAgICAgaWYgKCEoc2VlbiA/IGNhY2hlSGFzKHNlZW4sIGNvbXB1dGVkKSA6IGluY2x1ZGVzMihyZXN1bHQyLCBjb21wdXRlZCwgY29tcGFyYXRvcikpKSB7XG4gICAgICAgICAgICAgICAgb3RoSW5kZXggPSBvdGhMZW5ndGg7XG4gICAgICAgICAgICAgICAgd2hpbGUgKC0tb3RoSW5kZXgpIHtcbiAgICAgICAgICAgICAgICAgIHZhciBjYWNoZSA9IGNhY2hlc1tvdGhJbmRleF07XG4gICAgICAgICAgICAgICAgICBpZiAoIShjYWNoZSA/IGNhY2hlSGFzKGNhY2hlLCBjb21wdXRlZCkgOiBpbmNsdWRlczIoYXJyYXlzW290aEluZGV4XSwgY29tcHV0ZWQsIGNvbXBhcmF0b3IpKSkge1xuICAgICAgICAgICAgICAgICAgICBjb250aW51ZSBvdXRlcjtcbiAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaWYgKHNlZW4pIHtcbiAgICAgICAgICAgICAgICAgIHNlZW4ucHVzaChjb21wdXRlZCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHJlc3VsdDIucHVzaCh2YWx1ZSk7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICByZXR1cm4gcmVzdWx0MjtcbiAgICAgICAgfVxuICAgICAgICBmdW5jdGlvbiBiYXNlSW52ZXJ0ZXIob2JqZWN0LCBzZXR0ZXIsIGl0ZXJhdGVlMiwgYWNjdW11bGF0b3IpIHtcbiAgICAgICAgICBiYXNlRm9yT3duKG9iamVjdCwgZnVuY3Rpb24odmFsdWUsIGtleSwgb2JqZWN0Mikge1xuICAgICAgICAgICAgc2V0dGVyKGFjY3VtdWxhdG9yLCBpdGVyYXRlZTIodmFsdWUpLCBrZXksIG9iamVjdDIpO1xuICAgICAgICAgIH0pO1xuICAgICAgICAgIHJldHVybiBhY2N1bXVsYXRvcjtcbiAgICAgICAgfVxuICAgICAgICBmdW5jdGlvbiBiYXNlSW52b2tlKG9iamVjdCwgcGF0aCwgYXJncykge1xuICAgICAgICAgIHBhdGggPSBjYXN0UGF0aChwYXRoLCBvYmplY3QpO1xuICAgICAgICAgIG9iamVjdCA9IHBhcmVudChvYmplY3QsIHBhdGgpO1xuICAgICAgICAgIHZhciBmdW5jID0gb2JqZWN0ID09IG51bGwgPyBvYmplY3QgOiBvYmplY3RbdG9LZXkobGFzdChwYXRoKSldO1xuICAgICAgICAgIHJldHVybiBmdW5jID09IG51bGwgPyB1bmRlZmluZWQyIDogYXBwbHkoZnVuYywgb2JqZWN0LCBhcmdzKTtcbiAgICAgICAgfVxuICAgICAgICBmdW5jdGlvbiBiYXNlSXNBcmd1bWVudHModmFsdWUpIHtcbiAgICAgICAgICByZXR1cm4gaXNPYmplY3RMaWtlKHZhbHVlKSAmJiBiYXNlR2V0VGFnKHZhbHVlKSA9PSBhcmdzVGFnO1xuICAgICAgICB9XG4gICAgICAgIGZ1bmN0aW9uIGJhc2VJc0FycmF5QnVmZmVyKHZhbHVlKSB7XG4gICAgICAgICAgcmV0dXJuIGlzT2JqZWN0TGlrZSh2YWx1ZSkgJiYgYmFzZUdldFRhZyh2YWx1ZSkgPT0gYXJyYXlCdWZmZXJUYWc7XG4gICAgICAgIH1cbiAgICAgICAgZnVuY3Rpb24gYmFzZUlzRGF0ZSh2YWx1ZSkge1xuICAgICAgICAgIHJldHVybiBpc09iamVjdExpa2UodmFsdWUpICYmIGJhc2VHZXRUYWcodmFsdWUpID09IGRhdGVUYWc7XG4gICAgICAgIH1cbiAgICAgICAgZnVuY3Rpb24gYmFzZUlzRXF1YWwodmFsdWUsIG90aGVyLCBiaXRtYXNrLCBjdXN0b21pemVyLCBzdGFjaykge1xuICAgICAgICAgIGlmICh2YWx1ZSA9PT0gb3RoZXIpIHtcbiAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICAgIH1cbiAgICAgICAgICBpZiAodmFsdWUgPT0gbnVsbCB8fCBvdGhlciA9PSBudWxsIHx8ICFpc09iamVjdExpa2UodmFsdWUpICYmICFpc09iamVjdExpa2Uob3RoZXIpKSB7XG4gICAgICAgICAgICByZXR1cm4gdmFsdWUgIT09IHZhbHVlICYmIG90aGVyICE9PSBvdGhlcjtcbiAgICAgICAgICB9XG4gICAgICAgICAgcmV0dXJuIGJhc2VJc0VxdWFsRGVlcCh2YWx1ZSwgb3RoZXIsIGJpdG1hc2ssIGN1c3RvbWl6ZXIsIGJhc2VJc0VxdWFsLCBzdGFjayk7XG4gICAgICAgIH1cbiAgICAgICAgZnVuY3Rpb24gYmFzZUlzRXF1YWxEZWVwKG9iamVjdCwgb3RoZXIsIGJpdG1hc2ssIGN1c3RvbWl6ZXIsIGVxdWFsRnVuYywgc3RhY2spIHtcbiAgICAgICAgICB2YXIgb2JqSXNBcnIgPSBpc0FycmF5KG9iamVjdCksIG90aElzQXJyID0gaXNBcnJheShvdGhlciksIG9ialRhZyA9IG9iaklzQXJyID8gYXJyYXlUYWcgOiBnZXRUYWcob2JqZWN0KSwgb3RoVGFnID0gb3RoSXNBcnIgPyBhcnJheVRhZyA6IGdldFRhZyhvdGhlcik7XG4gICAgICAgICAgb2JqVGFnID0gb2JqVGFnID09IGFyZ3NUYWcgPyBvYmplY3RUYWcgOiBvYmpUYWc7XG4gICAgICAgICAgb3RoVGFnID0gb3RoVGFnID09IGFyZ3NUYWcgPyBvYmplY3RUYWcgOiBvdGhUYWc7XG4gICAgICAgICAgdmFyIG9iaklzT2JqID0gb2JqVGFnID09IG9iamVjdFRhZywgb3RoSXNPYmogPSBvdGhUYWcgPT0gb2JqZWN0VGFnLCBpc1NhbWVUYWcgPSBvYmpUYWcgPT0gb3RoVGFnO1xuICAgICAgICAgIGlmIChpc1NhbWVUYWcgJiYgaXNCdWZmZXIob2JqZWN0KSkge1xuICAgICAgICAgICAgaWYgKCFpc0J1ZmZlcihvdGhlcikpIHtcbiAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgb2JqSXNBcnIgPSB0cnVlO1xuICAgICAgICAgICAgb2JqSXNPYmogPSBmYWxzZTtcbiAgICAgICAgICB9XG4gICAgICAgICAgaWYgKGlzU2FtZVRhZyAmJiAhb2JqSXNPYmopIHtcbiAgICAgICAgICAgIHN0YWNrIHx8IChzdGFjayA9IG5ldyBTdGFjaygpKTtcbiAgICAgICAgICAgIHJldHVybiBvYmpJc0FyciB8fCBpc1R5cGVkQXJyYXkob2JqZWN0KSA/IGVxdWFsQXJyYXlzKG9iamVjdCwgb3RoZXIsIGJpdG1hc2ssIGN1c3RvbWl6ZXIsIGVxdWFsRnVuYywgc3RhY2spIDogZXF1YWxCeVRhZyhvYmplY3QsIG90aGVyLCBvYmpUYWcsIGJpdG1hc2ssIGN1c3RvbWl6ZXIsIGVxdWFsRnVuYywgc3RhY2spO1xuICAgICAgICAgIH1cbiAgICAgICAgICBpZiAoIShiaXRtYXNrICYgQ09NUEFSRV9QQVJUSUFMX0ZMQUcpKSB7XG4gICAgICAgICAgICB2YXIgb2JqSXNXcmFwcGVkID0gb2JqSXNPYmogJiYgaGFzT3duUHJvcGVydHkuY2FsbChvYmplY3QsIFwiX193cmFwcGVkX19cIiksIG90aElzV3JhcHBlZCA9IG90aElzT2JqICYmIGhhc093blByb3BlcnR5LmNhbGwob3RoZXIsIFwiX193cmFwcGVkX19cIik7XG4gICAgICAgICAgICBpZiAob2JqSXNXcmFwcGVkIHx8IG90aElzV3JhcHBlZCkge1xuICAgICAgICAgICAgICB2YXIgb2JqVW53cmFwcGVkID0gb2JqSXNXcmFwcGVkID8gb2JqZWN0LnZhbHVlKCkgOiBvYmplY3QsIG90aFVud3JhcHBlZCA9IG90aElzV3JhcHBlZCA/IG90aGVyLnZhbHVlKCkgOiBvdGhlcjtcbiAgICAgICAgICAgICAgc3RhY2sgfHwgKHN0YWNrID0gbmV3IFN0YWNrKCkpO1xuICAgICAgICAgICAgICByZXR1cm4gZXF1YWxGdW5jKG9ialVud3JhcHBlZCwgb3RoVW53cmFwcGVkLCBiaXRtYXNrLCBjdXN0b21pemVyLCBzdGFjayk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICAgIGlmICghaXNTYW1lVGFnKSB7XG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgICAgfVxuICAgICAgICAgIHN0YWNrIHx8IChzdGFjayA9IG5ldyBTdGFjaygpKTtcbiAgICAgICAgICByZXR1cm4gZXF1YWxPYmplY3RzKG9iamVjdCwgb3RoZXIsIGJpdG1hc2ssIGN1c3RvbWl6ZXIsIGVxdWFsRnVuYywgc3RhY2spO1xuICAgICAgICB9XG4gICAgICAgIGZ1bmN0aW9uIGJhc2VJc01hcCh2YWx1ZSkge1xuICAgICAgICAgIHJldHVybiBpc09iamVjdExpa2UodmFsdWUpICYmIGdldFRhZyh2YWx1ZSkgPT0gbWFwVGFnO1xuICAgICAgICB9XG4gICAgICAgIGZ1bmN0aW9uIGJhc2VJc01hdGNoKG9iamVjdCwgc291cmNlLCBtYXRjaERhdGEsIGN1c3RvbWl6ZXIpIHtcbiAgICAgICAgICB2YXIgaW5kZXggPSBtYXRjaERhdGEubGVuZ3RoLCBsZW5ndGggPSBpbmRleCwgbm9DdXN0b21pemVyID0gIWN1c3RvbWl6ZXI7XG4gICAgICAgICAgaWYgKG9iamVjdCA9PSBudWxsKSB7XG4gICAgICAgICAgICByZXR1cm4gIWxlbmd0aDtcbiAgICAgICAgICB9XG4gICAgICAgICAgb2JqZWN0ID0gT2JqZWN0MihvYmplY3QpO1xuICAgICAgICAgIHdoaWxlIChpbmRleC0tKSB7XG4gICAgICAgICAgICB2YXIgZGF0YSA9IG1hdGNoRGF0YVtpbmRleF07XG4gICAgICAgICAgICBpZiAobm9DdXN0b21pemVyICYmIGRhdGFbMl0gPyBkYXRhWzFdICE9PSBvYmplY3RbZGF0YVswXV0gOiAhKGRhdGFbMF0gaW4gb2JqZWN0KSkge1xuICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICAgIHdoaWxlICgrK2luZGV4IDwgbGVuZ3RoKSB7XG4gICAgICAgICAgICBkYXRhID0gbWF0Y2hEYXRhW2luZGV4XTtcbiAgICAgICAgICAgIHZhciBrZXkgPSBkYXRhWzBdLCBvYmpWYWx1ZSA9IG9iamVjdFtrZXldLCBzcmNWYWx1ZSA9IGRhdGFbMV07XG4gICAgICAgICAgICBpZiAobm9DdXN0b21pemVyICYmIGRhdGFbMl0pIHtcbiAgICAgICAgICAgICAgaWYgKG9ialZhbHVlID09PSB1bmRlZmluZWQyICYmICEoa2V5IGluIG9iamVjdCkpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgIHZhciBzdGFjayA9IG5ldyBTdGFjaygpO1xuICAgICAgICAgICAgICBpZiAoY3VzdG9taXplcikge1xuICAgICAgICAgICAgICAgIHZhciByZXN1bHQyID0gY3VzdG9taXplcihvYmpWYWx1ZSwgc3JjVmFsdWUsIGtleSwgb2JqZWN0LCBzb3VyY2UsIHN0YWNrKTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICBpZiAoIShyZXN1bHQyID09PSB1bmRlZmluZWQyID8gYmFzZUlzRXF1YWwoc3JjVmFsdWUsIG9ialZhbHVlLCBDT01QQVJFX1BBUlRJQUxfRkxBRyB8IENPTVBBUkVfVU5PUkRFUkVEX0ZMQUcsIGN1c3RvbWl6ZXIsIHN0YWNrKSA6IHJlc3VsdDIpKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICB9XG4gICAgICAgIGZ1bmN0aW9uIGJhc2VJc05hdGl2ZSh2YWx1ZSkge1xuICAgICAgICAgIGlmICghaXNPYmplY3QodmFsdWUpIHx8IGlzTWFza2VkKHZhbHVlKSkge1xuICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICAgIH1cbiAgICAgICAgICB2YXIgcGF0dGVybiA9IGlzRnVuY3Rpb24odmFsdWUpID8gcmVJc05hdGl2ZSA6IHJlSXNIb3N0Q3RvcjtcbiAgICAgICAgICByZXR1cm4gcGF0dGVybi50ZXN0KHRvU291cmNlKHZhbHVlKSk7XG4gICAgICAgIH1cbiAgICAgICAgZnVuY3Rpb24gYmFzZUlzUmVnRXhwKHZhbHVlKSB7XG4gICAgICAgICAgcmV0dXJuIGlzT2JqZWN0TGlrZSh2YWx1ZSkgJiYgYmFzZUdldFRhZyh2YWx1ZSkgPT0gcmVnZXhwVGFnO1xuICAgICAgICB9XG4gICAgICAgIGZ1bmN0aW9uIGJhc2VJc1NldCh2YWx1ZSkge1xuICAgICAgICAgIHJldHVybiBpc09iamVjdExpa2UodmFsdWUpICYmIGdldFRhZyh2YWx1ZSkgPT0gc2V0VGFnO1xuICAgICAgICB9XG4gICAgICAgIGZ1bmN0aW9uIGJhc2VJc1R5cGVkQXJyYXkodmFsdWUpIHtcbiAgICAgICAgICByZXR1cm4gaXNPYmplY3RMaWtlKHZhbHVlKSAmJiBpc0xlbmd0aCh2YWx1ZS5sZW5ndGgpICYmICEhdHlwZWRBcnJheVRhZ3NbYmFzZUdldFRhZyh2YWx1ZSldO1xuICAgICAgICB9XG4gICAgICAgIGZ1bmN0aW9uIGJhc2VJdGVyYXRlZSh2YWx1ZSkge1xuICAgICAgICAgIGlmICh0eXBlb2YgdmFsdWUgPT0gXCJmdW5jdGlvblwiKSB7XG4gICAgICAgICAgICByZXR1cm4gdmFsdWU7XG4gICAgICAgICAgfVxuICAgICAgICAgIGlmICh2YWx1ZSA9PSBudWxsKSB7XG4gICAgICAgICAgICByZXR1cm4gaWRlbnRpdHk7XG4gICAgICAgICAgfVxuICAgICAgICAgIGlmICh0eXBlb2YgdmFsdWUgPT0gXCJvYmplY3RcIikge1xuICAgICAgICAgICAgcmV0dXJuIGlzQXJyYXkodmFsdWUpID8gYmFzZU1hdGNoZXNQcm9wZXJ0eSh2YWx1ZVswXSwgdmFsdWVbMV0pIDogYmFzZU1hdGNoZXModmFsdWUpO1xuICAgICAgICAgIH1cbiAgICAgICAgICByZXR1cm4gcHJvcGVydHkodmFsdWUpO1xuICAgICAgICB9XG4gICAgICAgIGZ1bmN0aW9uIGJhc2VLZXlzKG9iamVjdCkge1xuICAgICAgICAgIGlmICghaXNQcm90b3R5cGUob2JqZWN0KSkge1xuICAgICAgICAgICAgcmV0dXJuIG5hdGl2ZUtleXMob2JqZWN0KTtcbiAgICAgICAgICB9XG4gICAgICAgICAgdmFyIHJlc3VsdDIgPSBbXTtcbiAgICAgICAgICBmb3IgKHZhciBrZXkgaW4gT2JqZWN0MihvYmplY3QpKSB7XG4gICAgICAgICAgICBpZiAoaGFzT3duUHJvcGVydHkuY2FsbChvYmplY3QsIGtleSkgJiYga2V5ICE9IFwiY29uc3RydWN0b3JcIikge1xuICAgICAgICAgICAgICByZXN1bHQyLnB1c2goa2V5KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgICAgcmV0dXJuIHJlc3VsdDI7XG4gICAgICAgIH1cbiAgICAgICAgZnVuY3Rpb24gYmFzZUtleXNJbihvYmplY3QpIHtcbiAgICAgICAgICBpZiAoIWlzT2JqZWN0KG9iamVjdCkpIHtcbiAgICAgICAgICAgIHJldHVybiBuYXRpdmVLZXlzSW4ob2JqZWN0KTtcbiAgICAgICAgICB9XG4gICAgICAgICAgdmFyIGlzUHJvdG8gPSBpc1Byb3RvdHlwZShvYmplY3QpLCByZXN1bHQyID0gW107XG4gICAgICAgICAgZm9yICh2YXIga2V5IGluIG9iamVjdCkge1xuICAgICAgICAgICAgaWYgKCEoa2V5ID09IFwiY29uc3RydWN0b3JcIiAmJiAoaXNQcm90byB8fCAhaGFzT3duUHJvcGVydHkuY2FsbChvYmplY3QsIGtleSkpKSkge1xuICAgICAgICAgICAgICByZXN1bHQyLnB1c2goa2V5KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgICAgcmV0dXJuIHJlc3VsdDI7XG4gICAgICAgIH1cbiAgICAgICAgZnVuY3Rpb24gYmFzZUx0KHZhbHVlLCBvdGhlcikge1xuICAgICAgICAgIHJldHVybiB2YWx1ZSA8IG90aGVyO1xuICAgICAgICB9XG4gICAgICAgIGZ1bmN0aW9uIGJhc2VNYXAoY29sbGVjdGlvbiwgaXRlcmF0ZWUyKSB7XG4gICAgICAgICAgdmFyIGluZGV4ID0gLTEsIHJlc3VsdDIgPSBpc0FycmF5TGlrZShjb2xsZWN0aW9uKSA/IEFycmF5Mihjb2xsZWN0aW9uLmxlbmd0aCkgOiBbXTtcbiAgICAgICAgICBiYXNlRWFjaChjb2xsZWN0aW9uLCBmdW5jdGlvbih2YWx1ZSwga2V5LCBjb2xsZWN0aW9uMikge1xuICAgICAgICAgICAgcmVzdWx0MlsrK2luZGV4XSA9IGl0ZXJhdGVlMih2YWx1ZSwga2V5LCBjb2xsZWN0aW9uMik7XG4gICAgICAgICAgfSk7XG4gICAgICAgICAgcmV0dXJuIHJlc3VsdDI7XG4gICAgICAgIH1cbiAgICAgICAgZnVuY3Rpb24gYmFzZU1hdGNoZXMoc291cmNlKSB7XG4gICAgICAgICAgdmFyIG1hdGNoRGF0YSA9IGdldE1hdGNoRGF0YShzb3VyY2UpO1xuICAgICAgICAgIGlmIChtYXRjaERhdGEubGVuZ3RoID09IDEgJiYgbWF0Y2hEYXRhWzBdWzJdKSB7XG4gICAgICAgICAgICByZXR1cm4gbWF0Y2hlc1N0cmljdENvbXBhcmFibGUobWF0Y2hEYXRhWzBdWzBdLCBtYXRjaERhdGFbMF1bMV0pO1xuICAgICAgICAgIH1cbiAgICAgICAgICByZXR1cm4gZnVuY3Rpb24ob2JqZWN0KSB7XG4gICAgICAgICAgICByZXR1cm4gb2JqZWN0ID09PSBzb3VyY2UgfHwgYmFzZUlzTWF0Y2gob2JqZWN0LCBzb3VyY2UsIG1hdGNoRGF0YSk7XG4gICAgICAgICAgfTtcbiAgICAgICAgfVxuICAgICAgICBmdW5jdGlvbiBiYXNlTWF0Y2hlc1Byb3BlcnR5KHBhdGgsIHNyY1ZhbHVlKSB7XG4gICAgICAgICAgaWYgKGlzS2V5KHBhdGgpICYmIGlzU3RyaWN0Q29tcGFyYWJsZShzcmNWYWx1ZSkpIHtcbiAgICAgICAgICAgIHJldHVybiBtYXRjaGVzU3RyaWN0Q29tcGFyYWJsZSh0b0tleShwYXRoKSwgc3JjVmFsdWUpO1xuICAgICAgICAgIH1cbiAgICAgICAgICByZXR1cm4gZnVuY3Rpb24ob2JqZWN0KSB7XG4gICAgICAgICAgICB2YXIgb2JqVmFsdWUgPSBnZXQob2JqZWN0LCBwYXRoKTtcbiAgICAgICAgICAgIHJldHVybiBvYmpWYWx1ZSA9PT0gdW5kZWZpbmVkMiAmJiBvYmpWYWx1ZSA9PT0gc3JjVmFsdWUgPyBoYXNJbihvYmplY3QsIHBhdGgpIDogYmFzZUlzRXF1YWwoc3JjVmFsdWUsIG9ialZhbHVlLCBDT01QQVJFX1BBUlRJQUxfRkxBRyB8IENPTVBBUkVfVU5PUkRFUkVEX0ZMQUcpO1xuICAgICAgICAgIH07XG4gICAgICAgIH1cbiAgICAgICAgZnVuY3Rpb24gYmFzZU1lcmdlKG9iamVjdCwgc291cmNlLCBzcmNJbmRleCwgY3VzdG9taXplciwgc3RhY2spIHtcbiAgICAgICAgICBpZiAob2JqZWN0ID09PSBzb3VyY2UpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICB9XG4gICAgICAgICAgYmFzZUZvcihzb3VyY2UsIGZ1bmN0aW9uKHNyY1ZhbHVlLCBrZXkpIHtcbiAgICAgICAgICAgIHN0YWNrIHx8IChzdGFjayA9IG5ldyBTdGFjaygpKTtcbiAgICAgICAgICAgIGlmIChpc09iamVjdChzcmNWYWx1ZSkpIHtcbiAgICAgICAgICAgICAgYmFzZU1lcmdlRGVlcChvYmplY3QsIHNvdXJjZSwga2V5LCBzcmNJbmRleCwgYmFzZU1lcmdlLCBjdXN0b21pemVyLCBzdGFjayk7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICB2YXIgbmV3VmFsdWUgPSBjdXN0b21pemVyID8gY3VzdG9taXplcihzYWZlR2V0KG9iamVjdCwga2V5KSwgc3JjVmFsdWUsIGtleSArIFwiXCIsIG9iamVjdCwgc291cmNlLCBzdGFjaykgOiB1bmRlZmluZWQyO1xuICAgICAgICAgICAgICBpZiAobmV3VmFsdWUgPT09IHVuZGVmaW5lZDIpIHtcbiAgICAgICAgICAgICAgICBuZXdWYWx1ZSA9IHNyY1ZhbHVlO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIGFzc2lnbk1lcmdlVmFsdWUob2JqZWN0LCBrZXksIG5ld1ZhbHVlKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9LCBrZXlzSW4pO1xuICAgICAgICB9XG4gICAgICAgIGZ1bmN0aW9uIGJhc2VNZXJnZURlZXAob2JqZWN0LCBzb3VyY2UsIGtleSwgc3JjSW5kZXgsIG1lcmdlRnVuYywgY3VzdG9taXplciwgc3RhY2spIHtcbiAgICAgICAgICB2YXIgb2JqVmFsdWUgPSBzYWZlR2V0KG9iamVjdCwga2V5KSwgc3JjVmFsdWUgPSBzYWZlR2V0KHNvdXJjZSwga2V5KSwgc3RhY2tlZCA9IHN0YWNrLmdldChzcmNWYWx1ZSk7XG4gICAgICAgICAgaWYgKHN0YWNrZWQpIHtcbiAgICAgICAgICAgIGFzc2lnbk1lcmdlVmFsdWUob2JqZWN0LCBrZXksIHN0YWNrZWQpO1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgIH1cbiAgICAgICAgICB2YXIgbmV3VmFsdWUgPSBjdXN0b21pemVyID8gY3VzdG9taXplcihvYmpWYWx1ZSwgc3JjVmFsdWUsIGtleSArIFwiXCIsIG9iamVjdCwgc291cmNlLCBzdGFjaykgOiB1bmRlZmluZWQyO1xuICAgICAgICAgIHZhciBpc0NvbW1vbiA9IG5ld1ZhbHVlID09PSB1bmRlZmluZWQyO1xuICAgICAgICAgIGlmIChpc0NvbW1vbikge1xuICAgICAgICAgICAgdmFyIGlzQXJyID0gaXNBcnJheShzcmNWYWx1ZSksIGlzQnVmZiA9ICFpc0FyciAmJiBpc0J1ZmZlcihzcmNWYWx1ZSksIGlzVHlwZWQgPSAhaXNBcnIgJiYgIWlzQnVmZiAmJiBpc1R5cGVkQXJyYXkoc3JjVmFsdWUpO1xuICAgICAgICAgICAgbmV3VmFsdWUgPSBzcmNWYWx1ZTtcbiAgICAgICAgICAgIGlmIChpc0FyciB8fCBpc0J1ZmYgfHwgaXNUeXBlZCkge1xuICAgICAgICAgICAgICBpZiAoaXNBcnJheShvYmpWYWx1ZSkpIHtcbiAgICAgICAgICAgICAgICBuZXdWYWx1ZSA9IG9ialZhbHVlO1xuICAgICAgICAgICAgICB9IGVsc2UgaWYgKGlzQXJyYXlMaWtlT2JqZWN0KG9ialZhbHVlKSkge1xuICAgICAgICAgICAgICAgIG5ld1ZhbHVlID0gY29weUFycmF5KG9ialZhbHVlKTtcbiAgICAgICAgICAgICAgfSBlbHNlIGlmIChpc0J1ZmYpIHtcbiAgICAgICAgICAgICAgICBpc0NvbW1vbiA9IGZhbHNlO1xuICAgICAgICAgICAgICAgIG5ld1ZhbHVlID0gY2xvbmVCdWZmZXIoc3JjVmFsdWUsIHRydWUpO1xuICAgICAgICAgICAgICB9IGVsc2UgaWYgKGlzVHlwZWQpIHtcbiAgICAgICAgICAgICAgICBpc0NvbW1vbiA9IGZhbHNlO1xuICAgICAgICAgICAgICAgIG5ld1ZhbHVlID0gY2xvbmVUeXBlZEFycmF5KHNyY1ZhbHVlLCB0cnVlKTtcbiAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICBuZXdWYWx1ZSA9IFtdO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9IGVsc2UgaWYgKGlzUGxhaW5PYmplY3Qoc3JjVmFsdWUpIHx8IGlzQXJndW1lbnRzKHNyY1ZhbHVlKSkge1xuICAgICAgICAgICAgICBuZXdWYWx1ZSA9IG9ialZhbHVlO1xuICAgICAgICAgICAgICBpZiAoaXNBcmd1bWVudHMob2JqVmFsdWUpKSB7XG4gICAgICAgICAgICAgICAgbmV3VmFsdWUgPSB0b1BsYWluT2JqZWN0KG9ialZhbHVlKTtcbiAgICAgICAgICAgICAgfSBlbHNlIGlmICghaXNPYmplY3Qob2JqVmFsdWUpIHx8IGlzRnVuY3Rpb24ob2JqVmFsdWUpKSB7XG4gICAgICAgICAgICAgICAgbmV3VmFsdWUgPSBpbml0Q2xvbmVPYmplY3Qoc3JjVmFsdWUpO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICBpc0NvbW1vbiA9IGZhbHNlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgICBpZiAoaXNDb21tb24pIHtcbiAgICAgICAgICAgIHN0YWNrLnNldChzcmNWYWx1ZSwgbmV3VmFsdWUpO1xuICAgICAgICAgICAgbWVyZ2VGdW5jKG5ld1ZhbHVlLCBzcmNWYWx1ZSwgc3JjSW5kZXgsIGN1c3RvbWl6ZXIsIHN0YWNrKTtcbiAgICAgICAgICAgIHN0YWNrW1wiZGVsZXRlXCJdKHNyY1ZhbHVlKTtcbiAgICAgICAgICB9XG4gICAgICAgICAgYXNzaWduTWVyZ2VWYWx1ZShvYmplY3QsIGtleSwgbmV3VmFsdWUpO1xuICAgICAgICB9XG4gICAgICAgIGZ1bmN0aW9uIGJhc2VOdGgoYXJyYXksIG4pIHtcbiAgICAgICAgICB2YXIgbGVuZ3RoID0gYXJyYXkubGVuZ3RoO1xuICAgICAgICAgIGlmICghbGVuZ3RoKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgfVxuICAgICAgICAgIG4gKz0gbiA8IDAgPyBsZW5ndGggOiAwO1xuICAgICAgICAgIHJldHVybiBpc0luZGV4KG4sIGxlbmd0aCkgPyBhcnJheVtuXSA6IHVuZGVmaW5lZDI7XG4gICAgICAgIH1cbiAgICAgICAgZnVuY3Rpb24gYmFzZU9yZGVyQnkoY29sbGVjdGlvbiwgaXRlcmF0ZWVzLCBvcmRlcnMpIHtcbiAgICAgICAgICBpZiAoaXRlcmF0ZWVzLmxlbmd0aCkge1xuICAgICAgICAgICAgaXRlcmF0ZWVzID0gYXJyYXlNYXAoaXRlcmF0ZWVzLCBmdW5jdGlvbihpdGVyYXRlZTIpIHtcbiAgICAgICAgICAgICAgaWYgKGlzQXJyYXkoaXRlcmF0ZWUyKSkge1xuICAgICAgICAgICAgICAgIHJldHVybiBmdW5jdGlvbih2YWx1ZSkge1xuICAgICAgICAgICAgICAgICAgcmV0dXJuIGJhc2VHZXQodmFsdWUsIGl0ZXJhdGVlMi5sZW5ndGggPT09IDEgPyBpdGVyYXRlZTJbMF0gOiBpdGVyYXRlZTIpO1xuICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgcmV0dXJuIGl0ZXJhdGVlMjtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBpdGVyYXRlZXMgPSBbaWRlbnRpdHldO1xuICAgICAgICAgIH1cbiAgICAgICAgICB2YXIgaW5kZXggPSAtMTtcbiAgICAgICAgICBpdGVyYXRlZXMgPSBhcnJheU1hcChpdGVyYXRlZXMsIGJhc2VVbmFyeShnZXRJdGVyYXRlZSgpKSk7XG4gICAgICAgICAgdmFyIHJlc3VsdDIgPSBiYXNlTWFwKGNvbGxlY3Rpb24sIGZ1bmN0aW9uKHZhbHVlLCBrZXksIGNvbGxlY3Rpb24yKSB7XG4gICAgICAgICAgICB2YXIgY3JpdGVyaWEgPSBhcnJheU1hcChpdGVyYXRlZXMsIGZ1bmN0aW9uKGl0ZXJhdGVlMikge1xuICAgICAgICAgICAgICByZXR1cm4gaXRlcmF0ZWUyKHZhbHVlKTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgcmV0dXJuIHsgXCJjcml0ZXJpYVwiOiBjcml0ZXJpYSwgXCJpbmRleFwiOiArK2luZGV4LCBcInZhbHVlXCI6IHZhbHVlIH07XG4gICAgICAgICAgfSk7XG4gICAgICAgICAgcmV0dXJuIGJhc2VTb3J0QnkocmVzdWx0MiwgZnVuY3Rpb24ob2JqZWN0LCBvdGhlcikge1xuICAgICAgICAgICAgcmV0dXJuIGNvbXBhcmVNdWx0aXBsZShvYmplY3QsIG90aGVyLCBvcmRlcnMpO1xuICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICAgIGZ1bmN0aW9uIGJhc2VQaWNrKG9iamVjdCwgcGF0aHMpIHtcbiAgICAgICAgICByZXR1cm4gYmFzZVBpY2tCeShvYmplY3QsIHBhdGhzLCBmdW5jdGlvbih2YWx1ZSwgcGF0aCkge1xuICAgICAgICAgICAgcmV0dXJuIGhhc0luKG9iamVjdCwgcGF0aCk7XG4gICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICAgICAgZnVuY3Rpb24gYmFzZVBpY2tCeShvYmplY3QsIHBhdGhzLCBwcmVkaWNhdGUpIHtcbiAgICAgICAgICB2YXIgaW5kZXggPSAtMSwgbGVuZ3RoID0gcGF0aHMubGVuZ3RoLCByZXN1bHQyID0ge307XG4gICAgICAgICAgd2hpbGUgKCsraW5kZXggPCBsZW5ndGgpIHtcbiAgICAgICAgICAgIHZhciBwYXRoID0gcGF0aHNbaW5kZXhdLCB2YWx1ZSA9IGJhc2VHZXQob2JqZWN0LCBwYXRoKTtcbiAgICAgICAgICAgIGlmIChwcmVkaWNhdGUodmFsdWUsIHBhdGgpKSB7XG4gICAgICAgICAgICAgIGJhc2VTZXQocmVzdWx0MiwgY2FzdFBhdGgocGF0aCwgb2JqZWN0KSwgdmFsdWUpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgICByZXR1cm4gcmVzdWx0MjtcbiAgICAgICAgfVxuICAgICAgICBmdW5jdGlvbiBiYXNlUHJvcGVydHlEZWVwKHBhdGgpIHtcbiAgICAgICAgICByZXR1cm4gZnVuY3Rpb24ob2JqZWN0KSB7XG4gICAgICAgICAgICByZXR1cm4gYmFzZUdldChvYmplY3QsIHBhdGgpO1xuICAgICAgICAgIH07XG4gICAgICAgIH1cbiAgICAgICAgZnVuY3Rpb24gYmFzZVB1bGxBbGwoYXJyYXksIHZhbHVlczIsIGl0ZXJhdGVlMiwgY29tcGFyYXRvcikge1xuICAgICAgICAgIHZhciBpbmRleE9mMiA9IGNvbXBhcmF0b3IgPyBiYXNlSW5kZXhPZldpdGggOiBiYXNlSW5kZXhPZiwgaW5kZXggPSAtMSwgbGVuZ3RoID0gdmFsdWVzMi5sZW5ndGgsIHNlZW4gPSBhcnJheTtcbiAgICAgICAgICBpZiAoYXJyYXkgPT09IHZhbHVlczIpIHtcbiAgICAgICAgICAgIHZhbHVlczIgPSBjb3B5QXJyYXkodmFsdWVzMik7XG4gICAgICAgICAgfVxuICAgICAgICAgIGlmIChpdGVyYXRlZTIpIHtcbiAgICAgICAgICAgIHNlZW4gPSBhcnJheU1hcChhcnJheSwgYmFzZVVuYXJ5KGl0ZXJhdGVlMikpO1xuICAgICAgICAgIH1cbiAgICAgICAgICB3aGlsZSAoKytpbmRleCA8IGxlbmd0aCkge1xuICAgICAgICAgICAgdmFyIGZyb21JbmRleCA9IDAsIHZhbHVlID0gdmFsdWVzMltpbmRleF0sIGNvbXB1dGVkID0gaXRlcmF0ZWUyID8gaXRlcmF0ZWUyKHZhbHVlKSA6IHZhbHVlO1xuICAgICAgICAgICAgd2hpbGUgKChmcm9tSW5kZXggPSBpbmRleE9mMihzZWVuLCBjb21wdXRlZCwgZnJvbUluZGV4LCBjb21wYXJhdG9yKSkgPiAtMSkge1xuICAgICAgICAgICAgICBpZiAoc2VlbiAhPT0gYXJyYXkpIHtcbiAgICAgICAgICAgICAgICBzcGxpY2UuY2FsbChzZWVuLCBmcm9tSW5kZXgsIDEpO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIHNwbGljZS5jYWxsKGFycmF5LCBmcm9tSW5kZXgsIDEpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgICByZXR1cm4gYXJyYXk7XG4gICAgICAgIH1cbiAgICAgICAgZnVuY3Rpb24gYmFzZVB1bGxBdChhcnJheSwgaW5kZXhlcykge1xuICAgICAgICAgIHZhciBsZW5ndGggPSBhcnJheSA/IGluZGV4ZXMubGVuZ3RoIDogMCwgbGFzdEluZGV4ID0gbGVuZ3RoIC0gMTtcbiAgICAgICAgICB3aGlsZSAobGVuZ3RoLS0pIHtcbiAgICAgICAgICAgIHZhciBpbmRleCA9IGluZGV4ZXNbbGVuZ3RoXTtcbiAgICAgICAgICAgIGlmIChsZW5ndGggPT0gbGFzdEluZGV4IHx8IGluZGV4ICE9PSBwcmV2aW91cykge1xuICAgICAgICAgICAgICB2YXIgcHJldmlvdXMgPSBpbmRleDtcbiAgICAgICAgICAgICAgaWYgKGlzSW5kZXgoaW5kZXgpKSB7XG4gICAgICAgICAgICAgICAgc3BsaWNlLmNhbGwoYXJyYXksIGluZGV4LCAxKTtcbiAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICBiYXNlVW5zZXQoYXJyYXksIGluZGV4KTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgICByZXR1cm4gYXJyYXk7XG4gICAgICAgIH1cbiAgICAgICAgZnVuY3Rpb24gYmFzZVJhbmRvbShsb3dlciwgdXBwZXIpIHtcbiAgICAgICAgICByZXR1cm4gbG93ZXIgKyBuYXRpdmVGbG9vcihuYXRpdmVSYW5kb20oKSAqICh1cHBlciAtIGxvd2VyICsgMSkpO1xuICAgICAgICB9XG4gICAgICAgIGZ1bmN0aW9uIGJhc2VSYW5nZShzdGFydCwgZW5kLCBzdGVwLCBmcm9tUmlnaHQpIHtcbiAgICAgICAgICB2YXIgaW5kZXggPSAtMSwgbGVuZ3RoID0gbmF0aXZlTWF4KG5hdGl2ZUNlaWwoKGVuZCAtIHN0YXJ0KSAvIChzdGVwIHx8IDEpKSwgMCksIHJlc3VsdDIgPSBBcnJheTIobGVuZ3RoKTtcbiAgICAgICAgICB3aGlsZSAobGVuZ3RoLS0pIHtcbiAgICAgICAgICAgIHJlc3VsdDJbZnJvbVJpZ2h0ID8gbGVuZ3RoIDogKytpbmRleF0gPSBzdGFydDtcbiAgICAgICAgICAgIHN0YXJ0ICs9IHN0ZXA7XG4gICAgICAgICAgfVxuICAgICAgICAgIHJldHVybiByZXN1bHQyO1xuICAgICAgICB9XG4gICAgICAgIGZ1bmN0aW9uIGJhc2VSZXBlYXQoc3RyaW5nLCBuKSB7XG4gICAgICAgICAgdmFyIHJlc3VsdDIgPSBcIlwiO1xuICAgICAgICAgIGlmICghc3RyaW5nIHx8IG4gPCAxIHx8IG4gPiBNQVhfU0FGRV9JTlRFR0VSKSB7XG4gICAgICAgICAgICByZXR1cm4gcmVzdWx0MjtcbiAgICAgICAgICB9XG4gICAgICAgICAgZG8ge1xuICAgICAgICAgICAgaWYgKG4gJSAyKSB7XG4gICAgICAgICAgICAgIHJlc3VsdDIgKz0gc3RyaW5nO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgbiA9IG5hdGl2ZUZsb29yKG4gLyAyKTtcbiAgICAgICAgICAgIGlmIChuKSB7XG4gICAgICAgICAgICAgIHN0cmluZyArPSBzdHJpbmc7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSB3aGlsZSAobik7XG4gICAgICAgICAgcmV0dXJuIHJlc3VsdDI7XG4gICAgICAgIH1cbiAgICAgICAgZnVuY3Rpb24gYmFzZVJlc3QoZnVuYywgc3RhcnQpIHtcbiAgICAgICAgICByZXR1cm4gc2V0VG9TdHJpbmcob3ZlclJlc3QoZnVuYywgc3RhcnQsIGlkZW50aXR5KSwgZnVuYyArIFwiXCIpO1xuICAgICAgICB9XG4gICAgICAgIGZ1bmN0aW9uIGJhc2VTYW1wbGUoY29sbGVjdGlvbikge1xuICAgICAgICAgIHJldHVybiBhcnJheVNhbXBsZSh2YWx1ZXMoY29sbGVjdGlvbikpO1xuICAgICAgICB9XG4gICAgICAgIGZ1bmN0aW9uIGJhc2VTYW1wbGVTaXplKGNvbGxlY3Rpb24sIG4pIHtcbiAgICAgICAgICB2YXIgYXJyYXkgPSB2YWx1ZXMoY29sbGVjdGlvbik7XG4gICAgICAgICAgcmV0dXJuIHNodWZmbGVTZWxmKGFycmF5LCBiYXNlQ2xhbXAobiwgMCwgYXJyYXkubGVuZ3RoKSk7XG4gICAgICAgIH1cbiAgICAgICAgZnVuY3Rpb24gYmFzZVNldChvYmplY3QsIHBhdGgsIHZhbHVlLCBjdXN0b21pemVyKSB7XG4gICAgICAgICAgaWYgKCFpc09iamVjdChvYmplY3QpKSB7XG4gICAgICAgICAgICByZXR1cm4gb2JqZWN0O1xuICAgICAgICAgIH1cbiAgICAgICAgICBwYXRoID0gY2FzdFBhdGgocGF0aCwgb2JqZWN0KTtcbiAgICAgICAgICB2YXIgaW5kZXggPSAtMSwgbGVuZ3RoID0gcGF0aC5sZW5ndGgsIGxhc3RJbmRleCA9IGxlbmd0aCAtIDEsIG5lc3RlZCA9IG9iamVjdDtcbiAgICAgICAgICB3aGlsZSAobmVzdGVkICE9IG51bGwgJiYgKytpbmRleCA8IGxlbmd0aCkge1xuICAgICAgICAgICAgdmFyIGtleSA9IHRvS2V5KHBhdGhbaW5kZXhdKSwgbmV3VmFsdWUgPSB2YWx1ZTtcbiAgICAgICAgICAgIGlmIChrZXkgPT09IFwiX19wcm90b19fXCIgfHwga2V5ID09PSBcImNvbnN0cnVjdG9yXCIgfHwga2V5ID09PSBcInByb3RvdHlwZVwiKSB7XG4gICAgICAgICAgICAgIHJldHVybiBvYmplY3Q7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAoaW5kZXggIT0gbGFzdEluZGV4KSB7XG4gICAgICAgICAgICAgIHZhciBvYmpWYWx1ZSA9IG5lc3RlZFtrZXldO1xuICAgICAgICAgICAgICBuZXdWYWx1ZSA9IGN1c3RvbWl6ZXIgPyBjdXN0b21pemVyKG9ialZhbHVlLCBrZXksIG5lc3RlZCkgOiB1bmRlZmluZWQyO1xuICAgICAgICAgICAgICBpZiAobmV3VmFsdWUgPT09IHVuZGVmaW5lZDIpIHtcbiAgICAgICAgICAgICAgICBuZXdWYWx1ZSA9IGlzT2JqZWN0KG9ialZhbHVlKSA/IG9ialZhbHVlIDogaXNJbmRleChwYXRoW2luZGV4ICsgMV0pID8gW10gOiB7fTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgYXNzaWduVmFsdWUobmVzdGVkLCBrZXksIG5ld1ZhbHVlKTtcbiAgICAgICAgICAgIG5lc3RlZCA9IG5lc3RlZFtrZXldO1xuICAgICAgICAgIH1cbiAgICAgICAgICByZXR1cm4gb2JqZWN0O1xuICAgICAgICB9XG4gICAgICAgIHZhciBiYXNlU2V0RGF0YSA9ICFtZXRhTWFwID8gaWRlbnRpdHkgOiBmdW5jdGlvbihmdW5jLCBkYXRhKSB7XG4gICAgICAgICAgbWV0YU1hcC5zZXQoZnVuYywgZGF0YSk7XG4gICAgICAgICAgcmV0dXJuIGZ1bmM7XG4gICAgICAgIH07XG4gICAgICAgIHZhciBiYXNlU2V0VG9TdHJpbmcgPSAhZGVmaW5lUHJvcGVydHkgPyBpZGVudGl0eSA6IGZ1bmN0aW9uKGZ1bmMsIHN0cmluZykge1xuICAgICAgICAgIHJldHVybiBkZWZpbmVQcm9wZXJ0eShmdW5jLCBcInRvU3RyaW5nXCIsIHtcbiAgICAgICAgICAgIFwiY29uZmlndXJhYmxlXCI6IHRydWUsXG4gICAgICAgICAgICBcImVudW1lcmFibGVcIjogZmFsc2UsXG4gICAgICAgICAgICBcInZhbHVlXCI6IGNvbnN0YW50KHN0cmluZyksXG4gICAgICAgICAgICBcIndyaXRhYmxlXCI6IHRydWVcbiAgICAgICAgICB9KTtcbiAgICAgICAgfTtcbiAgICAgICAgZnVuY3Rpb24gYmFzZVNodWZmbGUoY29sbGVjdGlvbikge1xuICAgICAgICAgIHJldHVybiBzaHVmZmxlU2VsZih2YWx1ZXMoY29sbGVjdGlvbikpO1xuICAgICAgICB9XG4gICAgICAgIGZ1bmN0aW9uIGJhc2VTbGljZShhcnJheSwgc3RhcnQsIGVuZCkge1xuICAgICAgICAgIHZhciBpbmRleCA9IC0xLCBsZW5ndGggPSBhcnJheS5sZW5ndGg7XG4gICAgICAgICAgaWYgKHN0YXJ0IDwgMCkge1xuICAgICAgICAgICAgc3RhcnQgPSAtc3RhcnQgPiBsZW5ndGggPyAwIDogbGVuZ3RoICsgc3RhcnQ7XG4gICAgICAgICAgfVxuICAgICAgICAgIGVuZCA9IGVuZCA+IGxlbmd0aCA/IGxlbmd0aCA6IGVuZDtcbiAgICAgICAgICBpZiAoZW5kIDwgMCkge1xuICAgICAgICAgICAgZW5kICs9IGxlbmd0aDtcbiAgICAgICAgICB9XG4gICAgICAgICAgbGVuZ3RoID0gc3RhcnQgPiBlbmQgPyAwIDogZW5kIC0gc3RhcnQgPj4+IDA7XG4gICAgICAgICAgc3RhcnQgPj4+PSAwO1xuICAgICAgICAgIHZhciByZXN1bHQyID0gQXJyYXkyKGxlbmd0aCk7XG4gICAgICAgICAgd2hpbGUgKCsraW5kZXggPCBsZW5ndGgpIHtcbiAgICAgICAgICAgIHJlc3VsdDJbaW5kZXhdID0gYXJyYXlbaW5kZXggKyBzdGFydF07XG4gICAgICAgICAgfVxuICAgICAgICAgIHJldHVybiByZXN1bHQyO1xuICAgICAgICB9XG4gICAgICAgIGZ1bmN0aW9uIGJhc2VTb21lKGNvbGxlY3Rpb24sIHByZWRpY2F0ZSkge1xuICAgICAgICAgIHZhciByZXN1bHQyO1xuICAgICAgICAgIGJhc2VFYWNoKGNvbGxlY3Rpb24sIGZ1bmN0aW9uKHZhbHVlLCBpbmRleCwgY29sbGVjdGlvbjIpIHtcbiAgICAgICAgICAgIHJlc3VsdDIgPSBwcmVkaWNhdGUodmFsdWUsIGluZGV4LCBjb2xsZWN0aW9uMik7XG4gICAgICAgICAgICByZXR1cm4gIXJlc3VsdDI7XG4gICAgICAgICAgfSk7XG4gICAgICAgICAgcmV0dXJuICEhcmVzdWx0MjtcbiAgICAgICAgfVxuICAgICAgICBmdW5jdGlvbiBiYXNlU29ydGVkSW5kZXgoYXJyYXksIHZhbHVlLCByZXRIaWdoZXN0KSB7XG4gICAgICAgICAgdmFyIGxvdyA9IDAsIGhpZ2ggPSBhcnJheSA9PSBudWxsID8gbG93IDogYXJyYXkubGVuZ3RoO1xuICAgICAgICAgIGlmICh0eXBlb2YgdmFsdWUgPT0gXCJudW1iZXJcIiAmJiB2YWx1ZSA9PT0gdmFsdWUgJiYgaGlnaCA8PSBIQUxGX01BWF9BUlJBWV9MRU5HVEgpIHtcbiAgICAgICAgICAgIHdoaWxlIChsb3cgPCBoaWdoKSB7XG4gICAgICAgICAgICAgIHZhciBtaWQgPSBsb3cgKyBoaWdoID4+PiAxLCBjb21wdXRlZCA9IGFycmF5W21pZF07XG4gICAgICAgICAgICAgIGlmIChjb21wdXRlZCAhPT0gbnVsbCAmJiAhaXNTeW1ib2woY29tcHV0ZWQpICYmIChyZXRIaWdoZXN0ID8gY29tcHV0ZWQgPD0gdmFsdWUgOiBjb21wdXRlZCA8IHZhbHVlKSkge1xuICAgICAgICAgICAgICAgIGxvdyA9IG1pZCArIDE7XG4gICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgaGlnaCA9IG1pZDtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmV0dXJuIGhpZ2g7XG4gICAgICAgICAgfVxuICAgICAgICAgIHJldHVybiBiYXNlU29ydGVkSW5kZXhCeShhcnJheSwgdmFsdWUsIGlkZW50aXR5LCByZXRIaWdoZXN0KTtcbiAgICAgICAgfVxuICAgICAgICBmdW5jdGlvbiBiYXNlU29ydGVkSW5kZXhCeShhcnJheSwgdmFsdWUsIGl0ZXJhdGVlMiwgcmV0SGlnaGVzdCkge1xuICAgICAgICAgIHZhciBsb3cgPSAwLCBoaWdoID0gYXJyYXkgPT0gbnVsbCA/IDAgOiBhcnJheS5sZW5ndGg7XG4gICAgICAgICAgaWYgKGhpZ2ggPT09IDApIHtcbiAgICAgICAgICAgIHJldHVybiAwO1xuICAgICAgICAgIH1cbiAgICAgICAgICB2YWx1ZSA9IGl0ZXJhdGVlMih2YWx1ZSk7XG4gICAgICAgICAgdmFyIHZhbElzTmFOID0gdmFsdWUgIT09IHZhbHVlLCB2YWxJc051bGwgPSB2YWx1ZSA9PT0gbnVsbCwgdmFsSXNTeW1ib2wgPSBpc1N5bWJvbCh2YWx1ZSksIHZhbElzVW5kZWZpbmVkID0gdmFsdWUgPT09IHVuZGVmaW5lZDI7XG4gICAgICAgICAgd2hpbGUgKGxvdyA8IGhpZ2gpIHtcbiAgICAgICAgICAgIHZhciBtaWQgPSBuYXRpdmVGbG9vcigobG93ICsgaGlnaCkgLyAyKSwgY29tcHV0ZWQgPSBpdGVyYXRlZTIoYXJyYXlbbWlkXSksIG90aElzRGVmaW5lZCA9IGNvbXB1dGVkICE9PSB1bmRlZmluZWQyLCBvdGhJc051bGwgPSBjb21wdXRlZCA9PT0gbnVsbCwgb3RoSXNSZWZsZXhpdmUgPSBjb21wdXRlZCA9PT0gY29tcHV0ZWQsIG90aElzU3ltYm9sID0gaXNTeW1ib2woY29tcHV0ZWQpO1xuICAgICAgICAgICAgaWYgKHZhbElzTmFOKSB7XG4gICAgICAgICAgICAgIHZhciBzZXRMb3cgPSByZXRIaWdoZXN0IHx8IG90aElzUmVmbGV4aXZlO1xuICAgICAgICAgICAgfSBlbHNlIGlmICh2YWxJc1VuZGVmaW5lZCkge1xuICAgICAgICAgICAgICBzZXRMb3cgPSBvdGhJc1JlZmxleGl2ZSAmJiAocmV0SGlnaGVzdCB8fCBvdGhJc0RlZmluZWQpO1xuICAgICAgICAgICAgfSBlbHNlIGlmICh2YWxJc051bGwpIHtcbiAgICAgICAgICAgICAgc2V0TG93ID0gb3RoSXNSZWZsZXhpdmUgJiYgb3RoSXNEZWZpbmVkICYmIChyZXRIaWdoZXN0IHx8ICFvdGhJc051bGwpO1xuICAgICAgICAgICAgfSBlbHNlIGlmICh2YWxJc1N5bWJvbCkge1xuICAgICAgICAgICAgICBzZXRMb3cgPSBvdGhJc1JlZmxleGl2ZSAmJiBvdGhJc0RlZmluZWQgJiYgIW90aElzTnVsbCAmJiAocmV0SGlnaGVzdCB8fCAhb3RoSXNTeW1ib2wpO1xuICAgICAgICAgICAgfSBlbHNlIGlmIChvdGhJc051bGwgfHwgb3RoSXNTeW1ib2wpIHtcbiAgICAgICAgICAgICAgc2V0TG93ID0gZmFsc2U7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICBzZXRMb3cgPSByZXRIaWdoZXN0ID8gY29tcHV0ZWQgPD0gdmFsdWUgOiBjb21wdXRlZCA8IHZhbHVlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKHNldExvdykge1xuICAgICAgICAgICAgICBsb3cgPSBtaWQgKyAxO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgaGlnaCA9IG1pZDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgICAgcmV0dXJuIG5hdGl2ZU1pbihoaWdoLCBNQVhfQVJSQVlfSU5ERVgpO1xuICAgICAgICB9XG4gICAgICAgIGZ1bmN0aW9uIGJhc2VTb3J0ZWRVbmlxKGFycmF5LCBpdGVyYXRlZTIpIHtcbiAgICAgICAgICB2YXIgaW5kZXggPSAtMSwgbGVuZ3RoID0gYXJyYXkubGVuZ3RoLCByZXNJbmRleCA9IDAsIHJlc3VsdDIgPSBbXTtcbiAgICAgICAgICB3aGlsZSAoKytpbmRleCA8IGxlbmd0aCkge1xuICAgICAgICAgICAgdmFyIHZhbHVlID0gYXJyYXlbaW5kZXhdLCBjb21wdXRlZCA9IGl0ZXJhdGVlMiA/IGl0ZXJhdGVlMih2YWx1ZSkgOiB2YWx1ZTtcbiAgICAgICAgICAgIGlmICghaW5kZXggfHwgIWVxKGNvbXB1dGVkLCBzZWVuKSkge1xuICAgICAgICAgICAgICB2YXIgc2VlbiA9IGNvbXB1dGVkO1xuICAgICAgICAgICAgICByZXN1bHQyW3Jlc0luZGV4KytdID0gdmFsdWUgPT09IDAgPyAwIDogdmFsdWU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICAgIHJldHVybiByZXN1bHQyO1xuICAgICAgICB9XG4gICAgICAgIGZ1bmN0aW9uIGJhc2VUb051bWJlcih2YWx1ZSkge1xuICAgICAgICAgIGlmICh0eXBlb2YgdmFsdWUgPT0gXCJudW1iZXJcIikge1xuICAgICAgICAgICAgcmV0dXJuIHZhbHVlO1xuICAgICAgICAgIH1cbiAgICAgICAgICBpZiAoaXNTeW1ib2wodmFsdWUpKSB7XG4gICAgICAgICAgICByZXR1cm4gTkFOO1xuICAgICAgICAgIH1cbiAgICAgICAgICByZXR1cm4gK3ZhbHVlO1xuICAgICAgICB9XG4gICAgICAgIGZ1bmN0aW9uIGJhc2VUb1N0cmluZyh2YWx1ZSkge1xuICAgICAgICAgIGlmICh0eXBlb2YgdmFsdWUgPT0gXCJzdHJpbmdcIikge1xuICAgICAgICAgICAgcmV0dXJuIHZhbHVlO1xuICAgICAgICAgIH1cbiAgICAgICAgICBpZiAoaXNBcnJheSh2YWx1ZSkpIHtcbiAgICAgICAgICAgIHJldHVybiBhcnJheU1hcCh2YWx1ZSwgYmFzZVRvU3RyaW5nKSArIFwiXCI7XG4gICAgICAgICAgfVxuICAgICAgICAgIGlmIChpc1N5bWJvbCh2YWx1ZSkpIHtcbiAgICAgICAgICAgIHJldHVybiBzeW1ib2xUb1N0cmluZyA/IHN5bWJvbFRvU3RyaW5nLmNhbGwodmFsdWUpIDogXCJcIjtcbiAgICAgICAgICB9XG4gICAgICAgICAgdmFyIHJlc3VsdDIgPSB2YWx1ZSArIFwiXCI7XG4gICAgICAgICAgcmV0dXJuIHJlc3VsdDIgPT0gXCIwXCIgJiYgMSAvIHZhbHVlID09IC1JTkZJTklUWSA/IFwiLTBcIiA6IHJlc3VsdDI7XG4gICAgICAgIH1cbiAgICAgICAgZnVuY3Rpb24gYmFzZVVuaXEoYXJyYXksIGl0ZXJhdGVlMiwgY29tcGFyYXRvcikge1xuICAgICAgICAgIHZhciBpbmRleCA9IC0xLCBpbmNsdWRlczIgPSBhcnJheUluY2x1ZGVzLCBsZW5ndGggPSBhcnJheS5sZW5ndGgsIGlzQ29tbW9uID0gdHJ1ZSwgcmVzdWx0MiA9IFtdLCBzZWVuID0gcmVzdWx0MjtcbiAgICAgICAgICBpZiAoY29tcGFyYXRvcikge1xuICAgICAgICAgICAgaXNDb21tb24gPSBmYWxzZTtcbiAgICAgICAgICAgIGluY2x1ZGVzMiA9IGFycmF5SW5jbHVkZXNXaXRoO1xuICAgICAgICAgIH0gZWxzZSBpZiAobGVuZ3RoID49IExBUkdFX0FSUkFZX1NJWkUpIHtcbiAgICAgICAgICAgIHZhciBzZXQyID0gaXRlcmF0ZWUyID8gbnVsbCA6IGNyZWF0ZVNldChhcnJheSk7XG4gICAgICAgICAgICBpZiAoc2V0Mikge1xuICAgICAgICAgICAgICByZXR1cm4gc2V0VG9BcnJheShzZXQyKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlzQ29tbW9uID0gZmFsc2U7XG4gICAgICAgICAgICBpbmNsdWRlczIgPSBjYWNoZUhhcztcbiAgICAgICAgICAgIHNlZW4gPSBuZXcgU2V0Q2FjaGUoKTtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgc2VlbiA9IGl0ZXJhdGVlMiA/IFtdIDogcmVzdWx0MjtcbiAgICAgICAgICB9XG4gICAgICAgICAgb3V0ZXI6XG4gICAgICAgICAgICB3aGlsZSAoKytpbmRleCA8IGxlbmd0aCkge1xuICAgICAgICAgICAgICB2YXIgdmFsdWUgPSBhcnJheVtpbmRleF0sIGNvbXB1dGVkID0gaXRlcmF0ZWUyID8gaXRlcmF0ZWUyKHZhbHVlKSA6IHZhbHVlO1xuICAgICAgICAgICAgICB2YWx1ZSA9IGNvbXBhcmF0b3IgfHwgdmFsdWUgIT09IDAgPyB2YWx1ZSA6IDA7XG4gICAgICAgICAgICAgIGlmIChpc0NvbW1vbiAmJiBjb21wdXRlZCA9PT0gY29tcHV0ZWQpIHtcbiAgICAgICAgICAgICAgICB2YXIgc2VlbkluZGV4ID0gc2Vlbi5sZW5ndGg7XG4gICAgICAgICAgICAgICAgd2hpbGUgKHNlZW5JbmRleC0tKSB7XG4gICAgICAgICAgICAgICAgICBpZiAoc2VlbltzZWVuSW5kZXhdID09PSBjb21wdXRlZCkge1xuICAgICAgICAgICAgICAgICAgICBjb250aW51ZSBvdXRlcjtcbiAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaWYgKGl0ZXJhdGVlMikge1xuICAgICAgICAgICAgICAgICAgc2Vlbi5wdXNoKGNvbXB1dGVkKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgcmVzdWx0Mi5wdXNoKHZhbHVlKTtcbiAgICAgICAgICAgICAgfSBlbHNlIGlmICghaW5jbHVkZXMyKHNlZW4sIGNvbXB1dGVkLCBjb21wYXJhdG9yKSkge1xuICAgICAgICAgICAgICAgIGlmIChzZWVuICE9PSByZXN1bHQyKSB7XG4gICAgICAgICAgICAgICAgICBzZWVuLnB1c2goY29tcHV0ZWQpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICByZXN1bHQyLnB1c2godmFsdWUpO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgcmV0dXJuIHJlc3VsdDI7XG4gICAgICAgIH1cbiAgICAgICAgZnVuY3Rpb24gYmFzZVVuc2V0KG9iamVjdCwgcGF0aCkge1xuICAgICAgICAgIHBhdGggPSBjYXN0UGF0aChwYXRoLCBvYmplY3QpO1xuICAgICAgICAgIG9iamVjdCA9IHBhcmVudChvYmplY3QsIHBhdGgpO1xuICAgICAgICAgIHJldHVybiBvYmplY3QgPT0gbnVsbCB8fCBkZWxldGUgb2JqZWN0W3RvS2V5KGxhc3QocGF0aCkpXTtcbiAgICAgICAgfVxuICAgICAgICBmdW5jdGlvbiBiYXNlVXBkYXRlKG9iamVjdCwgcGF0aCwgdXBkYXRlciwgY3VzdG9taXplcikge1xuICAgICAgICAgIHJldHVybiBiYXNlU2V0KG9iamVjdCwgcGF0aCwgdXBkYXRlcihiYXNlR2V0KG9iamVjdCwgcGF0aCkpLCBjdXN0b21pemVyKTtcbiAgICAgICAgfVxuICAgICAgICBmdW5jdGlvbiBiYXNlV2hpbGUoYXJyYXksIHByZWRpY2F0ZSwgaXNEcm9wLCBmcm9tUmlnaHQpIHtcbiAgICAgICAgICB2YXIgbGVuZ3RoID0gYXJyYXkubGVuZ3RoLCBpbmRleCA9IGZyb21SaWdodCA/IGxlbmd0aCA6IC0xO1xuICAgICAgICAgIHdoaWxlICgoZnJvbVJpZ2h0ID8gaW5kZXgtLSA6ICsraW5kZXggPCBsZW5ndGgpICYmIHByZWRpY2F0ZShhcnJheVtpbmRleF0sIGluZGV4LCBhcnJheSkpIHtcbiAgICAgICAgICB9XG4gICAgICAgICAgcmV0dXJuIGlzRHJvcCA/IGJhc2VTbGljZShhcnJheSwgZnJvbVJpZ2h0ID8gMCA6IGluZGV4LCBmcm9tUmlnaHQgPyBpbmRleCArIDEgOiBsZW5ndGgpIDogYmFzZVNsaWNlKGFycmF5LCBmcm9tUmlnaHQgPyBpbmRleCArIDEgOiAwLCBmcm9tUmlnaHQgPyBsZW5ndGggOiBpbmRleCk7XG4gICAgICAgIH1cbiAgICAgICAgZnVuY3Rpb24gYmFzZVdyYXBwZXJWYWx1ZSh2YWx1ZSwgYWN0aW9ucykge1xuICAgICAgICAgIHZhciByZXN1bHQyID0gdmFsdWU7XG4gICAgICAgICAgaWYgKHJlc3VsdDIgaW5zdGFuY2VvZiBMYXp5V3JhcHBlcikge1xuICAgICAgICAgICAgcmVzdWx0MiA9IHJlc3VsdDIudmFsdWUoKTtcbiAgICAgICAgICB9XG4gICAgICAgICAgcmV0dXJuIGFycmF5UmVkdWNlKGFjdGlvbnMsIGZ1bmN0aW9uKHJlc3VsdDMsIGFjdGlvbikge1xuICAgICAgICAgICAgcmV0dXJuIGFjdGlvbi5mdW5jLmFwcGx5KGFjdGlvbi50aGlzQXJnLCBhcnJheVB1c2goW3Jlc3VsdDNdLCBhY3Rpb24uYXJncykpO1xuICAgICAgICAgIH0sIHJlc3VsdDIpO1xuICAgICAgICB9XG4gICAgICAgIGZ1bmN0aW9uIGJhc2VYb3IoYXJyYXlzLCBpdGVyYXRlZTIsIGNvbXBhcmF0b3IpIHtcbiAgICAgICAgICB2YXIgbGVuZ3RoID0gYXJyYXlzLmxlbmd0aDtcbiAgICAgICAgICBpZiAobGVuZ3RoIDwgMikge1xuICAgICAgICAgICAgcmV0dXJuIGxlbmd0aCA/IGJhc2VVbmlxKGFycmF5c1swXSkgOiBbXTtcbiAgICAgICAgICB9XG4gICAgICAgICAgdmFyIGluZGV4ID0gLTEsIHJlc3VsdDIgPSBBcnJheTIobGVuZ3RoKTtcbiAgICAgICAgICB3aGlsZSAoKytpbmRleCA8IGxlbmd0aCkge1xuICAgICAgICAgICAgdmFyIGFycmF5ID0gYXJyYXlzW2luZGV4XSwgb3RoSW5kZXggPSAtMTtcbiAgICAgICAgICAgIHdoaWxlICgrK290aEluZGV4IDwgbGVuZ3RoKSB7XG4gICAgICAgICAgICAgIGlmIChvdGhJbmRleCAhPSBpbmRleCkge1xuICAgICAgICAgICAgICAgIHJlc3VsdDJbaW5kZXhdID0gYmFzZURpZmZlcmVuY2UocmVzdWx0MltpbmRleF0gfHwgYXJyYXksIGFycmF5c1tvdGhJbmRleF0sIGl0ZXJhdGVlMiwgY29tcGFyYXRvcik7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgICAgcmV0dXJuIGJhc2VVbmlxKGJhc2VGbGF0dGVuKHJlc3VsdDIsIDEpLCBpdGVyYXRlZTIsIGNvbXBhcmF0b3IpO1xuICAgICAgICB9XG4gICAgICAgIGZ1bmN0aW9uIGJhc2VaaXBPYmplY3QocHJvcHMsIHZhbHVlczIsIGFzc2lnbkZ1bmMpIHtcbiAgICAgICAgICB2YXIgaW5kZXggPSAtMSwgbGVuZ3RoID0gcHJvcHMubGVuZ3RoLCB2YWxzTGVuZ3RoID0gdmFsdWVzMi5sZW5ndGgsIHJlc3VsdDIgPSB7fTtcbiAgICAgICAgICB3aGlsZSAoKytpbmRleCA8IGxlbmd0aCkge1xuICAgICAgICAgICAgdmFyIHZhbHVlID0gaW5kZXggPCB2YWxzTGVuZ3RoID8gdmFsdWVzMltpbmRleF0gOiB1bmRlZmluZWQyO1xuICAgICAgICAgICAgYXNzaWduRnVuYyhyZXN1bHQyLCBwcm9wc1tpbmRleF0sIHZhbHVlKTtcbiAgICAgICAgICB9XG4gICAgICAgICAgcmV0dXJuIHJlc3VsdDI7XG4gICAgICAgIH1cbiAgICAgICAgZnVuY3Rpb24gY2FzdEFycmF5TGlrZU9iamVjdCh2YWx1ZSkge1xuICAgICAgICAgIHJldHVybiBpc0FycmF5TGlrZU9iamVjdCh2YWx1ZSkgPyB2YWx1ZSA6IFtdO1xuICAgICAgICB9XG4gICAgICAgIGZ1bmN0aW9uIGNhc3RGdW5jdGlvbih2YWx1ZSkge1xuICAgICAgICAgIHJldHVybiB0eXBlb2YgdmFsdWUgPT0gXCJmdW5jdGlvblwiID8gdmFsdWUgOiBpZGVudGl0eTtcbiAgICAgICAgfVxuICAgICAgICBmdW5jdGlvbiBjYXN0UGF0aCh2YWx1ZSwgb2JqZWN0KSB7XG4gICAgICAgICAgaWYgKGlzQXJyYXkodmFsdWUpKSB7XG4gICAgICAgICAgICByZXR1cm4gdmFsdWU7XG4gICAgICAgICAgfVxuICAgICAgICAgIHJldHVybiBpc0tleSh2YWx1ZSwgb2JqZWN0KSA/IFt2YWx1ZV0gOiBzdHJpbmdUb1BhdGgodG9TdHJpbmcodmFsdWUpKTtcbiAgICAgICAgfVxuICAgICAgICB2YXIgY2FzdFJlc3QgPSBiYXNlUmVzdDtcbiAgICAgICAgZnVuY3Rpb24gY2FzdFNsaWNlKGFycmF5LCBzdGFydCwgZW5kKSB7XG4gICAgICAgICAgdmFyIGxlbmd0aCA9IGFycmF5Lmxlbmd0aDtcbiAgICAgICAgICBlbmQgPSBlbmQgPT09IHVuZGVmaW5lZDIgPyBsZW5ndGggOiBlbmQ7XG4gICAgICAgICAgcmV0dXJuICFzdGFydCAmJiBlbmQgPj0gbGVuZ3RoID8gYXJyYXkgOiBiYXNlU2xpY2UoYXJyYXksIHN0YXJ0LCBlbmQpO1xuICAgICAgICB9XG4gICAgICAgIHZhciBjbGVhclRpbWVvdXQgPSBjdHhDbGVhclRpbWVvdXQgfHwgZnVuY3Rpb24oaWQpIHtcbiAgICAgICAgICByZXR1cm4gcm9vdC5jbGVhclRpbWVvdXQoaWQpO1xuICAgICAgICB9O1xuICAgICAgICBmdW5jdGlvbiBjbG9uZUJ1ZmZlcihidWZmZXIsIGlzRGVlcCkge1xuICAgICAgICAgIGlmIChpc0RlZXApIHtcbiAgICAgICAgICAgIHJldHVybiBidWZmZXIuc2xpY2UoKTtcbiAgICAgICAgICB9XG4gICAgICAgICAgdmFyIGxlbmd0aCA9IGJ1ZmZlci5sZW5ndGgsIHJlc3VsdDIgPSBhbGxvY1Vuc2FmZSA/IGFsbG9jVW5zYWZlKGxlbmd0aCkgOiBuZXcgYnVmZmVyLmNvbnN0cnVjdG9yKGxlbmd0aCk7XG4gICAgICAgICAgYnVmZmVyLmNvcHkocmVzdWx0Mik7XG4gICAgICAgICAgcmV0dXJuIHJlc3VsdDI7XG4gICAgICAgIH1cbiAgICAgICAgZnVuY3Rpb24gY2xvbmVBcnJheUJ1ZmZlcihhcnJheUJ1ZmZlcikge1xuICAgICAgICAgIHZhciByZXN1bHQyID0gbmV3IGFycmF5QnVmZmVyLmNvbnN0cnVjdG9yKGFycmF5QnVmZmVyLmJ5dGVMZW5ndGgpO1xuICAgICAgICAgIG5ldyBVaW50OEFycmF5MihyZXN1bHQyKS5zZXQobmV3IFVpbnQ4QXJyYXkyKGFycmF5QnVmZmVyKSk7XG4gICAgICAgICAgcmV0dXJuIHJlc3VsdDI7XG4gICAgICAgIH1cbiAgICAgICAgZnVuY3Rpb24gY2xvbmVEYXRhVmlldyhkYXRhVmlldywgaXNEZWVwKSB7XG4gICAgICAgICAgdmFyIGJ1ZmZlciA9IGlzRGVlcCA/IGNsb25lQXJyYXlCdWZmZXIoZGF0YVZpZXcuYnVmZmVyKSA6IGRhdGFWaWV3LmJ1ZmZlcjtcbiAgICAgICAgICByZXR1cm4gbmV3IGRhdGFWaWV3LmNvbnN0cnVjdG9yKGJ1ZmZlciwgZGF0YVZpZXcuYnl0ZU9mZnNldCwgZGF0YVZpZXcuYnl0ZUxlbmd0aCk7XG4gICAgICAgIH1cbiAgICAgICAgZnVuY3Rpb24gY2xvbmVSZWdFeHAocmVnZXhwKSB7XG4gICAgICAgICAgdmFyIHJlc3VsdDIgPSBuZXcgcmVnZXhwLmNvbnN0cnVjdG9yKHJlZ2V4cC5zb3VyY2UsIHJlRmxhZ3MuZXhlYyhyZWdleHApKTtcbiAgICAgICAgICByZXN1bHQyLmxhc3RJbmRleCA9IHJlZ2V4cC5sYXN0SW5kZXg7XG4gICAgICAgICAgcmV0dXJuIHJlc3VsdDI7XG4gICAgICAgIH1cbiAgICAgICAgZnVuY3Rpb24gY2xvbmVTeW1ib2woc3ltYm9sKSB7XG4gICAgICAgICAgcmV0dXJuIHN5bWJvbFZhbHVlT2YgPyBPYmplY3QyKHN5bWJvbFZhbHVlT2YuY2FsbChzeW1ib2wpKSA6IHt9O1xuICAgICAgICB9XG4gICAgICAgIGZ1bmN0aW9uIGNsb25lVHlwZWRBcnJheSh0eXBlZEFycmF5LCBpc0RlZXApIHtcbiAgICAgICAgICB2YXIgYnVmZmVyID0gaXNEZWVwID8gY2xvbmVBcnJheUJ1ZmZlcih0eXBlZEFycmF5LmJ1ZmZlcikgOiB0eXBlZEFycmF5LmJ1ZmZlcjtcbiAgICAgICAgICByZXR1cm4gbmV3IHR5cGVkQXJyYXkuY29uc3RydWN0b3IoYnVmZmVyLCB0eXBlZEFycmF5LmJ5dGVPZmZzZXQsIHR5cGVkQXJyYXkubGVuZ3RoKTtcbiAgICAgICAgfVxuICAgICAgICBmdW5jdGlvbiBjb21wYXJlQXNjZW5kaW5nKHZhbHVlLCBvdGhlcikge1xuICAgICAgICAgIGlmICh2YWx1ZSAhPT0gb3RoZXIpIHtcbiAgICAgICAgICAgIHZhciB2YWxJc0RlZmluZWQgPSB2YWx1ZSAhPT0gdW5kZWZpbmVkMiwgdmFsSXNOdWxsID0gdmFsdWUgPT09IG51bGwsIHZhbElzUmVmbGV4aXZlID0gdmFsdWUgPT09IHZhbHVlLCB2YWxJc1N5bWJvbCA9IGlzU3ltYm9sKHZhbHVlKTtcbiAgICAgICAgICAgIHZhciBvdGhJc0RlZmluZWQgPSBvdGhlciAhPT0gdW5kZWZpbmVkMiwgb3RoSXNOdWxsID0gb3RoZXIgPT09IG51bGwsIG90aElzUmVmbGV4aXZlID0gb3RoZXIgPT09IG90aGVyLCBvdGhJc1N5bWJvbCA9IGlzU3ltYm9sKG90aGVyKTtcbiAgICAgICAgICAgIGlmICghb3RoSXNOdWxsICYmICFvdGhJc1N5bWJvbCAmJiAhdmFsSXNTeW1ib2wgJiYgdmFsdWUgPiBvdGhlciB8fCB2YWxJc1N5bWJvbCAmJiBvdGhJc0RlZmluZWQgJiYgb3RoSXNSZWZsZXhpdmUgJiYgIW90aElzTnVsbCAmJiAhb3RoSXNTeW1ib2wgfHwgdmFsSXNOdWxsICYmIG90aElzRGVmaW5lZCAmJiBvdGhJc1JlZmxleGl2ZSB8fCAhdmFsSXNEZWZpbmVkICYmIG90aElzUmVmbGV4aXZlIHx8ICF2YWxJc1JlZmxleGl2ZSkge1xuICAgICAgICAgICAgICByZXR1cm4gMTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmICghdmFsSXNOdWxsICYmICF2YWxJc1N5bWJvbCAmJiAhb3RoSXNTeW1ib2wgJiYgdmFsdWUgPCBvdGhlciB8fCBvdGhJc1N5bWJvbCAmJiB2YWxJc0RlZmluZWQgJiYgdmFsSXNSZWZsZXhpdmUgJiYgIXZhbElzTnVsbCAmJiAhdmFsSXNTeW1ib2wgfHwgb3RoSXNOdWxsICYmIHZhbElzRGVmaW5lZCAmJiB2YWxJc1JlZmxleGl2ZSB8fCAhb3RoSXNEZWZpbmVkICYmIHZhbElzUmVmbGV4aXZlIHx8ICFvdGhJc1JlZmxleGl2ZSkge1xuICAgICAgICAgICAgICByZXR1cm4gLTE7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICAgIHJldHVybiAwO1xuICAgICAgICB9XG4gICAgICAgIGZ1bmN0aW9uIGNvbXBhcmVNdWx0aXBsZShvYmplY3QsIG90aGVyLCBvcmRlcnMpIHtcbiAgICAgICAgICB2YXIgaW5kZXggPSAtMSwgb2JqQ3JpdGVyaWEgPSBvYmplY3QuY3JpdGVyaWEsIG90aENyaXRlcmlhID0gb3RoZXIuY3JpdGVyaWEsIGxlbmd0aCA9IG9iakNyaXRlcmlhLmxlbmd0aCwgb3JkZXJzTGVuZ3RoID0gb3JkZXJzLmxlbmd0aDtcbiAgICAgICAgICB3aGlsZSAoKytpbmRleCA8IGxlbmd0aCkge1xuICAgICAgICAgICAgdmFyIHJlc3VsdDIgPSBjb21wYXJlQXNjZW5kaW5nKG9iakNyaXRlcmlhW2luZGV4XSwgb3RoQ3JpdGVyaWFbaW5kZXhdKTtcbiAgICAgICAgICAgIGlmIChyZXN1bHQyKSB7XG4gICAgICAgICAgICAgIGlmIChpbmRleCA+PSBvcmRlcnNMZW5ndGgpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gcmVzdWx0MjtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB2YXIgb3JkZXIgPSBvcmRlcnNbaW5kZXhdO1xuICAgICAgICAgICAgICByZXR1cm4gcmVzdWx0MiAqIChvcmRlciA9PSBcImRlc2NcIiA/IC0xIDogMSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICAgIHJldHVybiBvYmplY3QuaW5kZXggLSBvdGhlci5pbmRleDtcbiAgICAgICAgfVxuICAgICAgICBmdW5jdGlvbiBjb21wb3NlQXJncyhhcmdzLCBwYXJ0aWFscywgaG9sZGVycywgaXNDdXJyaWVkKSB7XG4gICAgICAgICAgdmFyIGFyZ3NJbmRleCA9IC0xLCBhcmdzTGVuZ3RoID0gYXJncy5sZW5ndGgsIGhvbGRlcnNMZW5ndGggPSBob2xkZXJzLmxlbmd0aCwgbGVmdEluZGV4ID0gLTEsIGxlZnRMZW5ndGggPSBwYXJ0aWFscy5sZW5ndGgsIHJhbmdlTGVuZ3RoID0gbmF0aXZlTWF4KGFyZ3NMZW5ndGggLSBob2xkZXJzTGVuZ3RoLCAwKSwgcmVzdWx0MiA9IEFycmF5MihsZWZ0TGVuZ3RoICsgcmFuZ2VMZW5ndGgpLCBpc1VuY3VycmllZCA9ICFpc0N1cnJpZWQ7XG4gICAgICAgICAgd2hpbGUgKCsrbGVmdEluZGV4IDwgbGVmdExlbmd0aCkge1xuICAgICAgICAgICAgcmVzdWx0MltsZWZ0SW5kZXhdID0gcGFydGlhbHNbbGVmdEluZGV4XTtcbiAgICAgICAgICB9XG4gICAgICAgICAgd2hpbGUgKCsrYXJnc0luZGV4IDwgaG9sZGVyc0xlbmd0aCkge1xuICAgICAgICAgICAgaWYgKGlzVW5jdXJyaWVkIHx8IGFyZ3NJbmRleCA8IGFyZ3NMZW5ndGgpIHtcbiAgICAgICAgICAgICAgcmVzdWx0Mltob2xkZXJzW2FyZ3NJbmRleF1dID0gYXJnc1thcmdzSW5kZXhdO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgICB3aGlsZSAocmFuZ2VMZW5ndGgtLSkge1xuICAgICAgICAgICAgcmVzdWx0MltsZWZ0SW5kZXgrK10gPSBhcmdzW2FyZ3NJbmRleCsrXTtcbiAgICAgICAgICB9XG4gICAgICAgICAgcmV0dXJuIHJlc3VsdDI7XG4gICAgICAgIH1cbiAgICAgICAgZnVuY3Rpb24gY29tcG9zZUFyZ3NSaWdodChhcmdzLCBwYXJ0aWFscywgaG9sZGVycywgaXNDdXJyaWVkKSB7XG4gICAgICAgICAgdmFyIGFyZ3NJbmRleCA9IC0xLCBhcmdzTGVuZ3RoID0gYXJncy5sZW5ndGgsIGhvbGRlcnNJbmRleCA9IC0xLCBob2xkZXJzTGVuZ3RoID0gaG9sZGVycy5sZW5ndGgsIHJpZ2h0SW5kZXggPSAtMSwgcmlnaHRMZW5ndGggPSBwYXJ0aWFscy5sZW5ndGgsIHJhbmdlTGVuZ3RoID0gbmF0aXZlTWF4KGFyZ3NMZW5ndGggLSBob2xkZXJzTGVuZ3RoLCAwKSwgcmVzdWx0MiA9IEFycmF5MihyYW5nZUxlbmd0aCArIHJpZ2h0TGVuZ3RoKSwgaXNVbmN1cnJpZWQgPSAhaXNDdXJyaWVkO1xuICAgICAgICAgIHdoaWxlICgrK2FyZ3NJbmRleCA8IHJhbmdlTGVuZ3RoKSB7XG4gICAgICAgICAgICByZXN1bHQyW2FyZ3NJbmRleF0gPSBhcmdzW2FyZ3NJbmRleF07XG4gICAgICAgICAgfVxuICAgICAgICAgIHZhciBvZmZzZXQgPSBhcmdzSW5kZXg7XG4gICAgICAgICAgd2hpbGUgKCsrcmlnaHRJbmRleCA8IHJpZ2h0TGVuZ3RoKSB7XG4gICAgICAgICAgICByZXN1bHQyW29mZnNldCArIHJpZ2h0SW5kZXhdID0gcGFydGlhbHNbcmlnaHRJbmRleF07XG4gICAgICAgICAgfVxuICAgICAgICAgIHdoaWxlICgrK2hvbGRlcnNJbmRleCA8IGhvbGRlcnNMZW5ndGgpIHtcbiAgICAgICAgICAgIGlmIChpc1VuY3VycmllZCB8fCBhcmdzSW5kZXggPCBhcmdzTGVuZ3RoKSB7XG4gICAgICAgICAgICAgIHJlc3VsdDJbb2Zmc2V0ICsgaG9sZGVyc1tob2xkZXJzSW5kZXhdXSA9IGFyZ3NbYXJnc0luZGV4KytdO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgICByZXR1cm4gcmVzdWx0MjtcbiAgICAgICAgfVxuICAgICAgICBmdW5jdGlvbiBjb3B5QXJyYXkoc291cmNlLCBhcnJheSkge1xuICAgICAgICAgIHZhciBpbmRleCA9IC0xLCBsZW5ndGggPSBzb3VyY2UubGVuZ3RoO1xuICAgICAgICAgIGFycmF5IHx8IChhcnJheSA9IEFycmF5MihsZW5ndGgpKTtcbiAgICAgICAgICB3aGlsZSAoKytpbmRleCA8IGxlbmd0aCkge1xuICAgICAgICAgICAgYXJyYXlbaW5kZXhdID0gc291cmNlW2luZGV4XTtcbiAgICAgICAgICB9XG4gICAgICAgICAgcmV0dXJuIGFycmF5O1xuICAgICAgICB9XG4gICAgICAgIGZ1bmN0aW9uIGNvcHlPYmplY3Qoc291cmNlLCBwcm9wcywgb2JqZWN0LCBjdXN0b21pemVyKSB7XG4gICAgICAgICAgdmFyIGlzTmV3ID0gIW9iamVjdDtcbiAgICAgICAgICBvYmplY3QgfHwgKG9iamVjdCA9IHt9KTtcbiAgICAgICAgICB2YXIgaW5kZXggPSAtMSwgbGVuZ3RoID0gcHJvcHMubGVuZ3RoO1xuICAgICAgICAgIHdoaWxlICgrK2luZGV4IDwgbGVuZ3RoKSB7XG4gICAgICAgICAgICB2YXIga2V5ID0gcHJvcHNbaW5kZXhdO1xuICAgICAgICAgICAgdmFyIG5ld1ZhbHVlID0gY3VzdG9taXplciA/IGN1c3RvbWl6ZXIob2JqZWN0W2tleV0sIHNvdXJjZVtrZXldLCBrZXksIG9iamVjdCwgc291cmNlKSA6IHVuZGVmaW5lZDI7XG4gICAgICAgICAgICBpZiAobmV3VmFsdWUgPT09IHVuZGVmaW5lZDIpIHtcbiAgICAgICAgICAgICAgbmV3VmFsdWUgPSBzb3VyY2Vba2V5XTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmIChpc05ldykge1xuICAgICAgICAgICAgICBiYXNlQXNzaWduVmFsdWUob2JqZWN0LCBrZXksIG5ld1ZhbHVlKTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgIGFzc2lnblZhbHVlKG9iamVjdCwga2V5LCBuZXdWYWx1ZSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICAgIHJldHVybiBvYmplY3Q7XG4gICAgICAgIH1cbiAgICAgICAgZnVuY3Rpb24gY29weVN5bWJvbHMoc291cmNlLCBvYmplY3QpIHtcbiAgICAgICAgICByZXR1cm4gY29weU9iamVjdChzb3VyY2UsIGdldFN5bWJvbHMoc291cmNlKSwgb2JqZWN0KTtcbiAgICAgICAgfVxuICAgICAgICBmdW5jdGlvbiBjb3B5U3ltYm9sc0luKHNvdXJjZSwgb2JqZWN0KSB7XG4gICAgICAgICAgcmV0dXJuIGNvcHlPYmplY3Qoc291cmNlLCBnZXRTeW1ib2xzSW4oc291cmNlKSwgb2JqZWN0KTtcbiAgICAgICAgfVxuICAgICAgICBmdW5jdGlvbiBjcmVhdGVBZ2dyZWdhdG9yKHNldHRlciwgaW5pdGlhbGl6ZXIpIHtcbiAgICAgICAgICByZXR1cm4gZnVuY3Rpb24oY29sbGVjdGlvbiwgaXRlcmF0ZWUyKSB7XG4gICAgICAgICAgICB2YXIgZnVuYyA9IGlzQXJyYXkoY29sbGVjdGlvbikgPyBhcnJheUFnZ3JlZ2F0b3IgOiBiYXNlQWdncmVnYXRvciwgYWNjdW11bGF0b3IgPSBpbml0aWFsaXplciA/IGluaXRpYWxpemVyKCkgOiB7fTtcbiAgICAgICAgICAgIHJldHVybiBmdW5jKGNvbGxlY3Rpb24sIHNldHRlciwgZ2V0SXRlcmF0ZWUoaXRlcmF0ZWUyLCAyKSwgYWNjdW11bGF0b3IpO1xuICAgICAgICAgIH07XG4gICAgICAgIH1cbiAgICAgICAgZnVuY3Rpb24gY3JlYXRlQXNzaWduZXIoYXNzaWduZXIpIHtcbiAgICAgICAgICByZXR1cm4gYmFzZVJlc3QoZnVuY3Rpb24ob2JqZWN0LCBzb3VyY2VzKSB7XG4gICAgICAgICAgICB2YXIgaW5kZXggPSAtMSwgbGVuZ3RoID0gc291cmNlcy5sZW5ndGgsIGN1c3RvbWl6ZXIgPSBsZW5ndGggPiAxID8gc291cmNlc1tsZW5ndGggLSAxXSA6IHVuZGVmaW5lZDIsIGd1YXJkID0gbGVuZ3RoID4gMiA/IHNvdXJjZXNbMl0gOiB1bmRlZmluZWQyO1xuICAgICAgICAgICAgY3VzdG9taXplciA9IGFzc2lnbmVyLmxlbmd0aCA+IDMgJiYgdHlwZW9mIGN1c3RvbWl6ZXIgPT0gXCJmdW5jdGlvblwiID8gKGxlbmd0aC0tLCBjdXN0b21pemVyKSA6IHVuZGVmaW5lZDI7XG4gICAgICAgICAgICBpZiAoZ3VhcmQgJiYgaXNJdGVyYXRlZUNhbGwoc291cmNlc1swXSwgc291cmNlc1sxXSwgZ3VhcmQpKSB7XG4gICAgICAgICAgICAgIGN1c3RvbWl6ZXIgPSBsZW5ndGggPCAzID8gdW5kZWZpbmVkMiA6IGN1c3RvbWl6ZXI7XG4gICAgICAgICAgICAgIGxlbmd0aCA9IDE7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBvYmplY3QgPSBPYmplY3QyKG9iamVjdCk7XG4gICAgICAgICAgICB3aGlsZSAoKytpbmRleCA8IGxlbmd0aCkge1xuICAgICAgICAgICAgICB2YXIgc291cmNlID0gc291cmNlc1tpbmRleF07XG4gICAgICAgICAgICAgIGlmIChzb3VyY2UpIHtcbiAgICAgICAgICAgICAgICBhc3NpZ25lcihvYmplY3QsIHNvdXJjZSwgaW5kZXgsIGN1c3RvbWl6ZXIpO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXR1cm4gb2JqZWN0O1xuICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICAgIGZ1bmN0aW9uIGNyZWF0ZUJhc2VFYWNoKGVhY2hGdW5jLCBmcm9tUmlnaHQpIHtcbiAgICAgICAgICByZXR1cm4gZnVuY3Rpb24oY29sbGVjdGlvbiwgaXRlcmF0ZWUyKSB7XG4gICAgICAgICAgICBpZiAoY29sbGVjdGlvbiA9PSBudWxsKSB7XG4gICAgICAgICAgICAgIHJldHVybiBjb2xsZWN0aW9uO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKCFpc0FycmF5TGlrZShjb2xsZWN0aW9uKSkge1xuICAgICAgICAgICAgICByZXR1cm4gZWFjaEZ1bmMoY29sbGVjdGlvbiwgaXRlcmF0ZWUyKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHZhciBsZW5ndGggPSBjb2xsZWN0aW9uLmxlbmd0aCwgaW5kZXggPSBmcm9tUmlnaHQgPyBsZW5ndGggOiAtMSwgaXRlcmFibGUgPSBPYmplY3QyKGNvbGxlY3Rpb24pO1xuICAgICAgICAgICAgd2hpbGUgKGZyb21SaWdodCA/IGluZGV4LS0gOiArK2luZGV4IDwgbGVuZ3RoKSB7XG4gICAgICAgICAgICAgIGlmIChpdGVyYXRlZTIoaXRlcmFibGVbaW5kZXhdLCBpbmRleCwgaXRlcmFibGUpID09PSBmYWxzZSkge1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXR1cm4gY29sbGVjdGlvbjtcbiAgICAgICAgICB9O1xuICAgICAgICB9XG4gICAgICAgIGZ1bmN0aW9uIGNyZWF0ZUJhc2VGb3IoZnJvbVJpZ2h0KSB7XG4gICAgICAgICAgcmV0dXJuIGZ1bmN0aW9uKG9iamVjdCwgaXRlcmF0ZWUyLCBrZXlzRnVuYykge1xuICAgICAgICAgICAgdmFyIGluZGV4ID0gLTEsIGl0ZXJhYmxlID0gT2JqZWN0MihvYmplY3QpLCBwcm9wcyA9IGtleXNGdW5jKG9iamVjdCksIGxlbmd0aCA9IHByb3BzLmxlbmd0aDtcbiAgICAgICAgICAgIHdoaWxlIChsZW5ndGgtLSkge1xuICAgICAgICAgICAgICB2YXIga2V5ID0gcHJvcHNbZnJvbVJpZ2h0ID8gbGVuZ3RoIDogKytpbmRleF07XG4gICAgICAgICAgICAgIGlmIChpdGVyYXRlZTIoaXRlcmFibGVba2V5XSwga2V5LCBpdGVyYWJsZSkgPT09IGZhbHNlKSB7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVybiBvYmplY3Q7XG4gICAgICAgICAgfTtcbiAgICAgICAgfVxuICAgICAgICBmdW5jdGlvbiBjcmVhdGVCaW5kKGZ1bmMsIGJpdG1hc2ssIHRoaXNBcmcpIHtcbiAgICAgICAgICB2YXIgaXNCaW5kID0gYml0bWFzayAmIFdSQVBfQklORF9GTEFHLCBDdG9yID0gY3JlYXRlQ3RvcihmdW5jKTtcbiAgICAgICAgICBmdW5jdGlvbiB3cmFwcGVyKCkge1xuICAgICAgICAgICAgdmFyIGZuID0gdGhpcyAmJiB0aGlzICE9PSByb290ICYmIHRoaXMgaW5zdGFuY2VvZiB3cmFwcGVyID8gQ3RvciA6IGZ1bmM7XG4gICAgICAgICAgICByZXR1cm4gZm4uYXBwbHkoaXNCaW5kID8gdGhpc0FyZyA6IHRoaXMsIGFyZ3VtZW50cyk7XG4gICAgICAgICAgfVxuICAgICAgICAgIHJldHVybiB3cmFwcGVyO1xuICAgICAgICB9XG4gICAgICAgIGZ1bmN0aW9uIGNyZWF0ZUNhc2VGaXJzdChtZXRob2ROYW1lKSB7XG4gICAgICAgICAgcmV0dXJuIGZ1bmN0aW9uKHN0cmluZykge1xuICAgICAgICAgICAgc3RyaW5nID0gdG9TdHJpbmcoc3RyaW5nKTtcbiAgICAgICAgICAgIHZhciBzdHJTeW1ib2xzID0gaGFzVW5pY29kZShzdHJpbmcpID8gc3RyaW5nVG9BcnJheShzdHJpbmcpIDogdW5kZWZpbmVkMjtcbiAgICAgICAgICAgIHZhciBjaHIgPSBzdHJTeW1ib2xzID8gc3RyU3ltYm9sc1swXSA6IHN0cmluZy5jaGFyQXQoMCk7XG4gICAgICAgICAgICB2YXIgdHJhaWxpbmcgPSBzdHJTeW1ib2xzID8gY2FzdFNsaWNlKHN0clN5bWJvbHMsIDEpLmpvaW4oXCJcIikgOiBzdHJpbmcuc2xpY2UoMSk7XG4gICAgICAgICAgICByZXR1cm4gY2hyW21ldGhvZE5hbWVdKCkgKyB0cmFpbGluZztcbiAgICAgICAgICB9O1xuICAgICAgICB9XG4gICAgICAgIGZ1bmN0aW9uIGNyZWF0ZUNvbXBvdW5kZXIoY2FsbGJhY2spIHtcbiAgICAgICAgICByZXR1cm4gZnVuY3Rpb24oc3RyaW5nKSB7XG4gICAgICAgICAgICByZXR1cm4gYXJyYXlSZWR1Y2Uod29yZHMoZGVidXJyKHN0cmluZykucmVwbGFjZShyZUFwb3MsIFwiXCIpKSwgY2FsbGJhY2ssIFwiXCIpO1xuICAgICAgICAgIH07XG4gICAgICAgIH1cbiAgICAgICAgZnVuY3Rpb24gY3JlYXRlQ3RvcihDdG9yKSB7XG4gICAgICAgICAgcmV0dXJuIGZ1bmN0aW9uKCkge1xuICAgICAgICAgICAgdmFyIGFyZ3MgPSBhcmd1bWVudHM7XG4gICAgICAgICAgICBzd2l0Y2ggKGFyZ3MubGVuZ3RoKSB7XG4gICAgICAgICAgICAgIGNhc2UgMDpcbiAgICAgICAgICAgICAgICByZXR1cm4gbmV3IEN0b3IoKTtcbiAgICAgICAgICAgICAgY2FzZSAxOlxuICAgICAgICAgICAgICAgIHJldHVybiBuZXcgQ3RvcihhcmdzWzBdKTtcbiAgICAgICAgICAgICAgY2FzZSAyOlxuICAgICAgICAgICAgICAgIHJldHVybiBuZXcgQ3RvcihhcmdzWzBdLCBhcmdzWzFdKTtcbiAgICAgICAgICAgICAgY2FzZSAzOlxuICAgICAgICAgICAgICAgIHJldHVybiBuZXcgQ3RvcihhcmdzWzBdLCBhcmdzWzFdLCBhcmdzWzJdKTtcbiAgICAgICAgICAgICAgY2FzZSA0OlxuICAgICAgICAgICAgICAgIHJldHVybiBuZXcgQ3RvcihhcmdzWzBdLCBhcmdzWzFdLCBhcmdzWzJdLCBhcmdzWzNdKTtcbiAgICAgICAgICAgICAgY2FzZSA1OlxuICAgICAgICAgICAgICAgIHJldHVybiBuZXcgQ3RvcihhcmdzWzBdLCBhcmdzWzFdLCBhcmdzWzJdLCBhcmdzWzNdLCBhcmdzWzRdKTtcbiAgICAgICAgICAgICAgY2FzZSA2OlxuICAgICAgICAgICAgICAgIHJldHVybiBuZXcgQ3RvcihhcmdzWzBdLCBhcmdzWzFdLCBhcmdzWzJdLCBhcmdzWzNdLCBhcmdzWzRdLCBhcmdzWzVdKTtcbiAgICAgICAgICAgICAgY2FzZSA3OlxuICAgICAgICAgICAgICAgIHJldHVybiBuZXcgQ3RvcihhcmdzWzBdLCBhcmdzWzFdLCBhcmdzWzJdLCBhcmdzWzNdLCBhcmdzWzRdLCBhcmdzWzVdLCBhcmdzWzZdKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHZhciB0aGlzQmluZGluZyA9IGJhc2VDcmVhdGUoQ3Rvci5wcm90b3R5cGUpLCByZXN1bHQyID0gQ3Rvci5hcHBseSh0aGlzQmluZGluZywgYXJncyk7XG4gICAgICAgICAgICByZXR1cm4gaXNPYmplY3QocmVzdWx0MikgPyByZXN1bHQyIDogdGhpc0JpbmRpbmc7XG4gICAgICAgICAgfTtcbiAgICAgICAgfVxuICAgICAgICBmdW5jdGlvbiBjcmVhdGVDdXJyeShmdW5jLCBiaXRtYXNrLCBhcml0eSkge1xuICAgICAgICAgIHZhciBDdG9yID0gY3JlYXRlQ3RvcihmdW5jKTtcbiAgICAgICAgICBmdW5jdGlvbiB3cmFwcGVyKCkge1xuICAgICAgICAgICAgdmFyIGxlbmd0aCA9IGFyZ3VtZW50cy5sZW5ndGgsIGFyZ3MgPSBBcnJheTIobGVuZ3RoKSwgaW5kZXggPSBsZW5ndGgsIHBsYWNlaG9sZGVyID0gZ2V0SG9sZGVyKHdyYXBwZXIpO1xuICAgICAgICAgICAgd2hpbGUgKGluZGV4LS0pIHtcbiAgICAgICAgICAgICAgYXJnc1tpbmRleF0gPSBhcmd1bWVudHNbaW5kZXhdO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgdmFyIGhvbGRlcnMgPSBsZW5ndGggPCAzICYmIGFyZ3NbMF0gIT09IHBsYWNlaG9sZGVyICYmIGFyZ3NbbGVuZ3RoIC0gMV0gIT09IHBsYWNlaG9sZGVyID8gW10gOiByZXBsYWNlSG9sZGVycyhhcmdzLCBwbGFjZWhvbGRlcik7XG4gICAgICAgICAgICBsZW5ndGggLT0gaG9sZGVycy5sZW5ndGg7XG4gICAgICAgICAgICBpZiAobGVuZ3RoIDwgYXJpdHkpIHtcbiAgICAgICAgICAgICAgcmV0dXJuIGNyZWF0ZVJlY3VycnkoXG4gICAgICAgICAgICAgICAgZnVuYyxcbiAgICAgICAgICAgICAgICBiaXRtYXNrLFxuICAgICAgICAgICAgICAgIGNyZWF0ZUh5YnJpZCxcbiAgICAgICAgICAgICAgICB3cmFwcGVyLnBsYWNlaG9sZGVyLFxuICAgICAgICAgICAgICAgIHVuZGVmaW5lZDIsXG4gICAgICAgICAgICAgICAgYXJncyxcbiAgICAgICAgICAgICAgICBob2xkZXJzLFxuICAgICAgICAgICAgICAgIHVuZGVmaW5lZDIsXG4gICAgICAgICAgICAgICAgdW5kZWZpbmVkMixcbiAgICAgICAgICAgICAgICBhcml0eSAtIGxlbmd0aFxuICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgdmFyIGZuID0gdGhpcyAmJiB0aGlzICE9PSByb290ICYmIHRoaXMgaW5zdGFuY2VvZiB3cmFwcGVyID8gQ3RvciA6IGZ1bmM7XG4gICAgICAgICAgICByZXR1cm4gYXBwbHkoZm4sIHRoaXMsIGFyZ3MpO1xuICAgICAgICAgIH1cbiAgICAgICAgICByZXR1cm4gd3JhcHBlcjtcbiAgICAgICAgfVxuICAgICAgICBmdW5jdGlvbiBjcmVhdGVGaW5kKGZpbmRJbmRleEZ1bmMpIHtcbiAgICAgICAgICByZXR1cm4gZnVuY3Rpb24oY29sbGVjdGlvbiwgcHJlZGljYXRlLCBmcm9tSW5kZXgpIHtcbiAgICAgICAgICAgIHZhciBpdGVyYWJsZSA9IE9iamVjdDIoY29sbGVjdGlvbik7XG4gICAgICAgICAgICBpZiAoIWlzQXJyYXlMaWtlKGNvbGxlY3Rpb24pKSB7XG4gICAgICAgICAgICAgIHZhciBpdGVyYXRlZTIgPSBnZXRJdGVyYXRlZShwcmVkaWNhdGUsIDMpO1xuICAgICAgICAgICAgICBjb2xsZWN0aW9uID0ga2V5cyhjb2xsZWN0aW9uKTtcbiAgICAgICAgICAgICAgcHJlZGljYXRlID0gZnVuY3Rpb24oa2V5KSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIGl0ZXJhdGVlMihpdGVyYWJsZVtrZXldLCBrZXksIGl0ZXJhYmxlKTtcbiAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHZhciBpbmRleCA9IGZpbmRJbmRleEZ1bmMoY29sbGVjdGlvbiwgcHJlZGljYXRlLCBmcm9tSW5kZXgpO1xuICAgICAgICAgICAgcmV0dXJuIGluZGV4ID4gLTEgPyBpdGVyYWJsZVtpdGVyYXRlZTIgPyBjb2xsZWN0aW9uW2luZGV4XSA6IGluZGV4XSA6IHVuZGVmaW5lZDI7XG4gICAgICAgICAgfTtcbiAgICAgICAgfVxuICAgICAgICBmdW5jdGlvbiBjcmVhdGVGbG93KGZyb21SaWdodCkge1xuICAgICAgICAgIHJldHVybiBmbGF0UmVzdChmdW5jdGlvbihmdW5jcykge1xuICAgICAgICAgICAgdmFyIGxlbmd0aCA9IGZ1bmNzLmxlbmd0aCwgaW5kZXggPSBsZW5ndGgsIHByZXJlcSA9IExvZGFzaFdyYXBwZXIucHJvdG90eXBlLnRocnU7XG4gICAgICAgICAgICBpZiAoZnJvbVJpZ2h0KSB7XG4gICAgICAgICAgICAgIGZ1bmNzLnJldmVyc2UoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHdoaWxlIChpbmRleC0tKSB7XG4gICAgICAgICAgICAgIHZhciBmdW5jID0gZnVuY3NbaW5kZXhdO1xuICAgICAgICAgICAgICBpZiAodHlwZW9mIGZ1bmMgIT0gXCJmdW5jdGlvblwiKSB7XG4gICAgICAgICAgICAgICAgdGhyb3cgbmV3IFR5cGVFcnJvcjIoRlVOQ19FUlJPUl9URVhUKTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICBpZiAocHJlcmVxICYmICF3cmFwcGVyICYmIGdldEZ1bmNOYW1lKGZ1bmMpID09IFwid3JhcHBlclwiKSB7XG4gICAgICAgICAgICAgICAgdmFyIHdyYXBwZXIgPSBuZXcgTG9kYXNoV3JhcHBlcihbXSwgdHJ1ZSk7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGluZGV4ID0gd3JhcHBlciA/IGluZGV4IDogbGVuZ3RoO1xuICAgICAgICAgICAgd2hpbGUgKCsraW5kZXggPCBsZW5ndGgpIHtcbiAgICAgICAgICAgICAgZnVuYyA9IGZ1bmNzW2luZGV4XTtcbiAgICAgICAgICAgICAgdmFyIGZ1bmNOYW1lID0gZ2V0RnVuY05hbWUoZnVuYyksIGRhdGEgPSBmdW5jTmFtZSA9PSBcIndyYXBwZXJcIiA/IGdldERhdGEoZnVuYykgOiB1bmRlZmluZWQyO1xuICAgICAgICAgICAgICBpZiAoZGF0YSAmJiBpc0xhemlhYmxlKGRhdGFbMF0pICYmIGRhdGFbMV0gPT0gKFdSQVBfQVJZX0ZMQUcgfCBXUkFQX0NVUlJZX0ZMQUcgfCBXUkFQX1BBUlRJQUxfRkxBRyB8IFdSQVBfUkVBUkdfRkxBRykgJiYgIWRhdGFbNF0ubGVuZ3RoICYmIGRhdGFbOV0gPT0gMSkge1xuICAgICAgICAgICAgICAgIHdyYXBwZXIgPSB3cmFwcGVyW2dldEZ1bmNOYW1lKGRhdGFbMF0pXS5hcHBseSh3cmFwcGVyLCBkYXRhWzNdKTtcbiAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICB3cmFwcGVyID0gZnVuYy5sZW5ndGggPT0gMSAmJiBpc0xhemlhYmxlKGZ1bmMpID8gd3JhcHBlcltmdW5jTmFtZV0oKSA6IHdyYXBwZXIudGhydShmdW5jKTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmV0dXJuIGZ1bmN0aW9uKCkge1xuICAgICAgICAgICAgICB2YXIgYXJncyA9IGFyZ3VtZW50cywgdmFsdWUgPSBhcmdzWzBdO1xuICAgICAgICAgICAgICBpZiAod3JhcHBlciAmJiBhcmdzLmxlbmd0aCA9PSAxICYmIGlzQXJyYXkodmFsdWUpKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHdyYXBwZXIucGxhbnQodmFsdWUpLnZhbHVlKCk7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgdmFyIGluZGV4MiA9IDAsIHJlc3VsdDIgPSBsZW5ndGggPyBmdW5jc1tpbmRleDJdLmFwcGx5KHRoaXMsIGFyZ3MpIDogdmFsdWU7XG4gICAgICAgICAgICAgIHdoaWxlICgrK2luZGV4MiA8IGxlbmd0aCkge1xuICAgICAgICAgICAgICAgIHJlc3VsdDIgPSBmdW5jc1tpbmRleDJdLmNhbGwodGhpcywgcmVzdWx0Mik7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgcmV0dXJuIHJlc3VsdDI7XG4gICAgICAgICAgICB9O1xuICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICAgIGZ1bmN0aW9uIGNyZWF0ZUh5YnJpZChmdW5jLCBiaXRtYXNrLCB0aGlzQXJnLCBwYXJ0aWFscywgaG9sZGVycywgcGFydGlhbHNSaWdodCwgaG9sZGVyc1JpZ2h0LCBhcmdQb3MsIGFyeTIsIGFyaXR5KSB7XG4gICAgICAgICAgdmFyIGlzQXJ5ID0gYml0bWFzayAmIFdSQVBfQVJZX0ZMQUcsIGlzQmluZCA9IGJpdG1hc2sgJiBXUkFQX0JJTkRfRkxBRywgaXNCaW5kS2V5ID0gYml0bWFzayAmIFdSQVBfQklORF9LRVlfRkxBRywgaXNDdXJyaWVkID0gYml0bWFzayAmIChXUkFQX0NVUlJZX0ZMQUcgfCBXUkFQX0NVUlJZX1JJR0hUX0ZMQUcpLCBpc0ZsaXAgPSBiaXRtYXNrICYgV1JBUF9GTElQX0ZMQUcsIEN0b3IgPSBpc0JpbmRLZXkgPyB1bmRlZmluZWQyIDogY3JlYXRlQ3RvcihmdW5jKTtcbiAgICAgICAgICBmdW5jdGlvbiB3cmFwcGVyKCkge1xuICAgICAgICAgICAgdmFyIGxlbmd0aCA9IGFyZ3VtZW50cy5sZW5ndGgsIGFyZ3MgPSBBcnJheTIobGVuZ3RoKSwgaW5kZXggPSBsZW5ndGg7XG4gICAgICAgICAgICB3aGlsZSAoaW5kZXgtLSkge1xuICAgICAgICAgICAgICBhcmdzW2luZGV4XSA9IGFyZ3VtZW50c1tpbmRleF07XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAoaXNDdXJyaWVkKSB7XG4gICAgICAgICAgICAgIHZhciBwbGFjZWhvbGRlciA9IGdldEhvbGRlcih3cmFwcGVyKSwgaG9sZGVyc0NvdW50ID0gY291bnRIb2xkZXJzKGFyZ3MsIHBsYWNlaG9sZGVyKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmIChwYXJ0aWFscykge1xuICAgICAgICAgICAgICBhcmdzID0gY29tcG9zZUFyZ3MoYXJncywgcGFydGlhbHMsIGhvbGRlcnMsIGlzQ3VycmllZCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAocGFydGlhbHNSaWdodCkge1xuICAgICAgICAgICAgICBhcmdzID0gY29tcG9zZUFyZ3NSaWdodChhcmdzLCBwYXJ0aWFsc1JpZ2h0LCBob2xkZXJzUmlnaHQsIGlzQ3VycmllZCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBsZW5ndGggLT0gaG9sZGVyc0NvdW50O1xuICAgICAgICAgICAgaWYgKGlzQ3VycmllZCAmJiBsZW5ndGggPCBhcml0eSkge1xuICAgICAgICAgICAgICB2YXIgbmV3SG9sZGVycyA9IHJlcGxhY2VIb2xkZXJzKGFyZ3MsIHBsYWNlaG9sZGVyKTtcbiAgICAgICAgICAgICAgcmV0dXJuIGNyZWF0ZVJlY3VycnkoXG4gICAgICAgICAgICAgICAgZnVuYyxcbiAgICAgICAgICAgICAgICBiaXRtYXNrLFxuICAgICAgICAgICAgICAgIGNyZWF0ZUh5YnJpZCxcbiAgICAgICAgICAgICAgICB3cmFwcGVyLnBsYWNlaG9sZGVyLFxuICAgICAgICAgICAgICAgIHRoaXNBcmcsXG4gICAgICAgICAgICAgICAgYXJncyxcbiAgICAgICAgICAgICAgICBuZXdIb2xkZXJzLFxuICAgICAgICAgICAgICAgIGFyZ1BvcyxcbiAgICAgICAgICAgICAgICBhcnkyLFxuICAgICAgICAgICAgICAgIGFyaXR5IC0gbGVuZ3RoXG4gICAgICAgICAgICAgICk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICB2YXIgdGhpc0JpbmRpbmcgPSBpc0JpbmQgPyB0aGlzQXJnIDogdGhpcywgZm4gPSBpc0JpbmRLZXkgPyB0aGlzQmluZGluZ1tmdW5jXSA6IGZ1bmM7XG4gICAgICAgICAgICBsZW5ndGggPSBhcmdzLmxlbmd0aDtcbiAgICAgICAgICAgIGlmIChhcmdQb3MpIHtcbiAgICAgICAgICAgICAgYXJncyA9IHJlb3JkZXIoYXJncywgYXJnUG9zKTtcbiAgICAgICAgICAgIH0gZWxzZSBpZiAoaXNGbGlwICYmIGxlbmd0aCA+IDEpIHtcbiAgICAgICAgICAgICAgYXJncy5yZXZlcnNlKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAoaXNBcnkgJiYgYXJ5MiA8IGxlbmd0aCkge1xuICAgICAgICAgICAgICBhcmdzLmxlbmd0aCA9IGFyeTI7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAodGhpcyAmJiB0aGlzICE9PSByb290ICYmIHRoaXMgaW5zdGFuY2VvZiB3cmFwcGVyKSB7XG4gICAgICAgICAgICAgIGZuID0gQ3RvciB8fCBjcmVhdGVDdG9yKGZuKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVybiBmbi5hcHBseSh0aGlzQmluZGluZywgYXJncyk7XG4gICAgICAgICAgfVxuICAgICAgICAgIHJldHVybiB3cmFwcGVyO1xuICAgICAgICB9XG4gICAgICAgIGZ1bmN0aW9uIGNyZWF0ZUludmVydGVyKHNldHRlciwgdG9JdGVyYXRlZSkge1xuICAgICAgICAgIHJldHVybiBmdW5jdGlvbihvYmplY3QsIGl0ZXJhdGVlMikge1xuICAgICAgICAgICAgcmV0dXJuIGJhc2VJbnZlcnRlcihvYmplY3QsIHNldHRlciwgdG9JdGVyYXRlZShpdGVyYXRlZTIpLCB7fSk7XG4gICAgICAgICAgfTtcbiAgICAgICAgfVxuICAgICAgICBmdW5jdGlvbiBjcmVhdGVNYXRoT3BlcmF0aW9uKG9wZXJhdG9yLCBkZWZhdWx0VmFsdWUpIHtcbiAgICAgICAgICByZXR1cm4gZnVuY3Rpb24odmFsdWUsIG90aGVyKSB7XG4gICAgICAgICAgICB2YXIgcmVzdWx0MjtcbiAgICAgICAgICAgIGlmICh2YWx1ZSA9PT0gdW5kZWZpbmVkMiAmJiBvdGhlciA9PT0gdW5kZWZpbmVkMikge1xuICAgICAgICAgICAgICByZXR1cm4gZGVmYXVsdFZhbHVlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKHZhbHVlICE9PSB1bmRlZmluZWQyKSB7XG4gICAgICAgICAgICAgIHJlc3VsdDIgPSB2YWx1ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmIChvdGhlciAhPT0gdW5kZWZpbmVkMikge1xuICAgICAgICAgICAgICBpZiAocmVzdWx0MiA9PT0gdW5kZWZpbmVkMikge1xuICAgICAgICAgICAgICAgIHJldHVybiBvdGhlcjtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICBpZiAodHlwZW9mIHZhbHVlID09IFwic3RyaW5nXCIgfHwgdHlwZW9mIG90aGVyID09IFwic3RyaW5nXCIpIHtcbiAgICAgICAgICAgICAgICB2YWx1ZSA9IGJhc2VUb1N0cmluZyh2YWx1ZSk7XG4gICAgICAgICAgICAgICAgb3RoZXIgPSBiYXNlVG9TdHJpbmcob3RoZXIpO1xuICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIHZhbHVlID0gYmFzZVRvTnVtYmVyKHZhbHVlKTtcbiAgICAgICAgICAgICAgICBvdGhlciA9IGJhc2VUb051bWJlcihvdGhlcik7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgcmVzdWx0MiA9IG9wZXJhdG9yKHZhbHVlLCBvdGhlcik7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXR1cm4gcmVzdWx0MjtcbiAgICAgICAgICB9O1xuICAgICAgICB9XG4gICAgICAgIGZ1bmN0aW9uIGNyZWF0ZU92ZXIoYXJyYXlGdW5jKSB7XG4gICAgICAgICAgcmV0dXJuIGZsYXRSZXN0KGZ1bmN0aW9uKGl0ZXJhdGVlcykge1xuICAgICAgICAgICAgaXRlcmF0ZWVzID0gYXJyYXlNYXAoaXRlcmF0ZWVzLCBiYXNlVW5hcnkoZ2V0SXRlcmF0ZWUoKSkpO1xuICAgICAgICAgICAgcmV0dXJuIGJhc2VSZXN0KGZ1bmN0aW9uKGFyZ3MpIHtcbiAgICAgICAgICAgICAgdmFyIHRoaXNBcmcgPSB0aGlzO1xuICAgICAgICAgICAgICByZXR1cm4gYXJyYXlGdW5jKGl0ZXJhdGVlcywgZnVuY3Rpb24oaXRlcmF0ZWUyKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIGFwcGx5KGl0ZXJhdGVlMiwgdGhpc0FyZywgYXJncyk7XG4gICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICAgICAgZnVuY3Rpb24gY3JlYXRlUGFkZGluZyhsZW5ndGgsIGNoYXJzKSB7XG4gICAgICAgICAgY2hhcnMgPSBjaGFycyA9PT0gdW5kZWZpbmVkMiA/IFwiIFwiIDogYmFzZVRvU3RyaW5nKGNoYXJzKTtcbiAgICAgICAgICB2YXIgY2hhcnNMZW5ndGggPSBjaGFycy5sZW5ndGg7XG4gICAgICAgICAgaWYgKGNoYXJzTGVuZ3RoIDwgMikge1xuICAgICAgICAgICAgcmV0dXJuIGNoYXJzTGVuZ3RoID8gYmFzZVJlcGVhdChjaGFycywgbGVuZ3RoKSA6IGNoYXJzO1xuICAgICAgICAgIH1cbiAgICAgICAgICB2YXIgcmVzdWx0MiA9IGJhc2VSZXBlYXQoY2hhcnMsIG5hdGl2ZUNlaWwobGVuZ3RoIC8gc3RyaW5nU2l6ZShjaGFycykpKTtcbiAgICAgICAgICByZXR1cm4gaGFzVW5pY29kZShjaGFycykgPyBjYXN0U2xpY2Uoc3RyaW5nVG9BcnJheShyZXN1bHQyKSwgMCwgbGVuZ3RoKS5qb2luKFwiXCIpIDogcmVzdWx0Mi5zbGljZSgwLCBsZW5ndGgpO1xuICAgICAgICB9XG4gICAgICAgIGZ1bmN0aW9uIGNyZWF0ZVBhcnRpYWwoZnVuYywgYml0bWFzaywgdGhpc0FyZywgcGFydGlhbHMpIHtcbiAgICAgICAgICB2YXIgaXNCaW5kID0gYml0bWFzayAmIFdSQVBfQklORF9GTEFHLCBDdG9yID0gY3JlYXRlQ3RvcihmdW5jKTtcbiAgICAgICAgICBmdW5jdGlvbiB3cmFwcGVyKCkge1xuICAgICAgICAgICAgdmFyIGFyZ3NJbmRleCA9IC0xLCBhcmdzTGVuZ3RoID0gYXJndW1lbnRzLmxlbmd0aCwgbGVmdEluZGV4ID0gLTEsIGxlZnRMZW5ndGggPSBwYXJ0aWFscy5sZW5ndGgsIGFyZ3MgPSBBcnJheTIobGVmdExlbmd0aCArIGFyZ3NMZW5ndGgpLCBmbiA9IHRoaXMgJiYgdGhpcyAhPT0gcm9vdCAmJiB0aGlzIGluc3RhbmNlb2Ygd3JhcHBlciA/IEN0b3IgOiBmdW5jO1xuICAgICAgICAgICAgd2hpbGUgKCsrbGVmdEluZGV4IDwgbGVmdExlbmd0aCkge1xuICAgICAgICAgICAgICBhcmdzW2xlZnRJbmRleF0gPSBwYXJ0aWFsc1tsZWZ0SW5kZXhdO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgd2hpbGUgKGFyZ3NMZW5ndGgtLSkge1xuICAgICAgICAgICAgICBhcmdzW2xlZnRJbmRleCsrXSA9IGFyZ3VtZW50c1srK2FyZ3NJbmRleF07XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXR1cm4gYXBwbHkoZm4sIGlzQmluZCA/IHRoaXNBcmcgOiB0aGlzLCBhcmdzKTtcbiAgICAgICAgICB9XG4gICAgICAgICAgcmV0dXJuIHdyYXBwZXI7XG4gICAgICAgIH1cbiAgICAgICAgZnVuY3Rpb24gY3JlYXRlUmFuZ2UoZnJvbVJpZ2h0KSB7XG4gICAgICAgICAgcmV0dXJuIGZ1bmN0aW9uKHN0YXJ0LCBlbmQsIHN0ZXApIHtcbiAgICAgICAgICAgIGlmIChzdGVwICYmIHR5cGVvZiBzdGVwICE9IFwibnVtYmVyXCIgJiYgaXNJdGVyYXRlZUNhbGwoc3RhcnQsIGVuZCwgc3RlcCkpIHtcbiAgICAgICAgICAgICAgZW5kID0gc3RlcCA9IHVuZGVmaW5lZDI7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBzdGFydCA9IHRvRmluaXRlKHN0YXJ0KTtcbiAgICAgICAgICAgIGlmIChlbmQgPT09IHVuZGVmaW5lZDIpIHtcbiAgICAgICAgICAgICAgZW5kID0gc3RhcnQ7XG4gICAgICAgICAgICAgIHN0YXJ0ID0gMDtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgIGVuZCA9IHRvRmluaXRlKGVuZCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBzdGVwID0gc3RlcCA9PT0gdW5kZWZpbmVkMiA/IHN0YXJ0IDwgZW5kID8gMSA6IC0xIDogdG9GaW5pdGUoc3RlcCk7XG4gICAgICAgICAgICByZXR1cm4gYmFzZVJhbmdlKHN0YXJ0LCBlbmQsIHN0ZXAsIGZyb21SaWdodCk7XG4gICAgICAgICAgfTtcbiAgICAgICAgfVxuICAgICAgICBmdW5jdGlvbiBjcmVhdGVSZWxhdGlvbmFsT3BlcmF0aW9uKG9wZXJhdG9yKSB7XG4gICAgICAgICAgcmV0dXJuIGZ1bmN0aW9uKHZhbHVlLCBvdGhlcikge1xuICAgICAgICAgICAgaWYgKCEodHlwZW9mIHZhbHVlID09IFwic3RyaW5nXCIgJiYgdHlwZW9mIG90aGVyID09IFwic3RyaW5nXCIpKSB7XG4gICAgICAgICAgICAgIHZhbHVlID0gdG9OdW1iZXIodmFsdWUpO1xuICAgICAgICAgICAgICBvdGhlciA9IHRvTnVtYmVyKG90aGVyKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVybiBvcGVyYXRvcih2YWx1ZSwgb3RoZXIpO1xuICAgICAgICAgIH07XG4gICAgICAgIH1cbiAgICAgICAgZnVuY3Rpb24gY3JlYXRlUmVjdXJyeShmdW5jLCBiaXRtYXNrLCB3cmFwRnVuYywgcGxhY2Vob2xkZXIsIHRoaXNBcmcsIHBhcnRpYWxzLCBob2xkZXJzLCBhcmdQb3MsIGFyeTIsIGFyaXR5KSB7XG4gICAgICAgICAgdmFyIGlzQ3VycnkgPSBiaXRtYXNrICYgV1JBUF9DVVJSWV9GTEFHLCBuZXdIb2xkZXJzID0gaXNDdXJyeSA/IGhvbGRlcnMgOiB1bmRlZmluZWQyLCBuZXdIb2xkZXJzUmlnaHQgPSBpc0N1cnJ5ID8gdW5kZWZpbmVkMiA6IGhvbGRlcnMsIG5ld1BhcnRpYWxzID0gaXNDdXJyeSA/IHBhcnRpYWxzIDogdW5kZWZpbmVkMiwgbmV3UGFydGlhbHNSaWdodCA9IGlzQ3VycnkgPyB1bmRlZmluZWQyIDogcGFydGlhbHM7XG4gICAgICAgICAgYml0bWFzayB8PSBpc0N1cnJ5ID8gV1JBUF9QQVJUSUFMX0ZMQUcgOiBXUkFQX1BBUlRJQUxfUklHSFRfRkxBRztcbiAgICAgICAgICBiaXRtYXNrICY9IH4oaXNDdXJyeSA/IFdSQVBfUEFSVElBTF9SSUdIVF9GTEFHIDogV1JBUF9QQVJUSUFMX0ZMQUcpO1xuICAgICAgICAgIGlmICghKGJpdG1hc2sgJiBXUkFQX0NVUlJZX0JPVU5EX0ZMQUcpKSB7XG4gICAgICAgICAgICBiaXRtYXNrICY9IH4oV1JBUF9CSU5EX0ZMQUcgfCBXUkFQX0JJTkRfS0VZX0ZMQUcpO1xuICAgICAgICAgIH1cbiAgICAgICAgICB2YXIgbmV3RGF0YSA9IFtcbiAgICAgICAgICAgIGZ1bmMsXG4gICAgICAgICAgICBiaXRtYXNrLFxuICAgICAgICAgICAgdGhpc0FyZyxcbiAgICAgICAgICAgIG5ld1BhcnRpYWxzLFxuICAgICAgICAgICAgbmV3SG9sZGVycyxcbiAgICAgICAgICAgIG5ld1BhcnRpYWxzUmlnaHQsXG4gICAgICAgICAgICBuZXdIb2xkZXJzUmlnaHQsXG4gICAgICAgICAgICBhcmdQb3MsXG4gICAgICAgICAgICBhcnkyLFxuICAgICAgICAgICAgYXJpdHlcbiAgICAgICAgICBdO1xuICAgICAgICAgIHZhciByZXN1bHQyID0gd3JhcEZ1bmMuYXBwbHkodW5kZWZpbmVkMiwgbmV3RGF0YSk7XG4gICAgICAgICAgaWYgKGlzTGF6aWFibGUoZnVuYykpIHtcbiAgICAgICAgICAgIHNldERhdGEocmVzdWx0MiwgbmV3RGF0YSk7XG4gICAgICAgICAgfVxuICAgICAgICAgIHJlc3VsdDIucGxhY2Vob2xkZXIgPSBwbGFjZWhvbGRlcjtcbiAgICAgICAgICByZXR1cm4gc2V0V3JhcFRvU3RyaW5nKHJlc3VsdDIsIGZ1bmMsIGJpdG1hc2spO1xuICAgICAgICB9XG4gICAgICAgIGZ1bmN0aW9uIGNyZWF0ZVJvdW5kKG1ldGhvZE5hbWUpIHtcbiAgICAgICAgICB2YXIgZnVuYyA9IE1hdGgyW21ldGhvZE5hbWVdO1xuICAgICAgICAgIHJldHVybiBmdW5jdGlvbihudW1iZXIsIHByZWNpc2lvbikge1xuICAgICAgICAgICAgbnVtYmVyID0gdG9OdW1iZXIobnVtYmVyKTtcbiAgICAgICAgICAgIHByZWNpc2lvbiA9IHByZWNpc2lvbiA9PSBudWxsID8gMCA6IG5hdGl2ZU1pbih0b0ludGVnZXIocHJlY2lzaW9uKSwgMjkyKTtcbiAgICAgICAgICAgIGlmIChwcmVjaXNpb24gJiYgbmF0aXZlSXNGaW5pdGUobnVtYmVyKSkge1xuICAgICAgICAgICAgICB2YXIgcGFpciA9ICh0b1N0cmluZyhudW1iZXIpICsgXCJlXCIpLnNwbGl0KFwiZVwiKSwgdmFsdWUgPSBmdW5jKHBhaXJbMF0gKyBcImVcIiArICgrcGFpclsxXSArIHByZWNpc2lvbikpO1xuICAgICAgICAgICAgICBwYWlyID0gKHRvU3RyaW5nKHZhbHVlKSArIFwiZVwiKS5zcGxpdChcImVcIik7XG4gICAgICAgICAgICAgIHJldHVybiArKHBhaXJbMF0gKyBcImVcIiArICgrcGFpclsxXSAtIHByZWNpc2lvbikpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmV0dXJuIGZ1bmMobnVtYmVyKTtcbiAgICAgICAgICB9O1xuICAgICAgICB9XG4gICAgICAgIHZhciBjcmVhdGVTZXQgPSAhKFNldDIgJiYgMSAvIHNldFRvQXJyYXkobmV3IFNldDIoWywgLTBdKSlbMV0gPT0gSU5GSU5JVFkpID8gbm9vcCA6IGZ1bmN0aW9uKHZhbHVlczIpIHtcbiAgICAgICAgICByZXR1cm4gbmV3IFNldDIodmFsdWVzMik7XG4gICAgICAgIH07XG4gICAgICAgIGZ1bmN0aW9uIGNyZWF0ZVRvUGFpcnMoa2V5c0Z1bmMpIHtcbiAgICAgICAgICByZXR1cm4gZnVuY3Rpb24ob2JqZWN0KSB7XG4gICAgICAgICAgICB2YXIgdGFnID0gZ2V0VGFnKG9iamVjdCk7XG4gICAgICAgICAgICBpZiAodGFnID09IG1hcFRhZykge1xuICAgICAgICAgICAgICByZXR1cm4gbWFwVG9BcnJheShvYmplY3QpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKHRhZyA9PSBzZXRUYWcpIHtcbiAgICAgICAgICAgICAgcmV0dXJuIHNldFRvUGFpcnMob2JqZWN0KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVybiBiYXNlVG9QYWlycyhvYmplY3QsIGtleXNGdW5jKG9iamVjdCkpO1xuICAgICAgICAgIH07XG4gICAgICAgIH1cbiAgICAgICAgZnVuY3Rpb24gY3JlYXRlV3JhcChmdW5jLCBiaXRtYXNrLCB0aGlzQXJnLCBwYXJ0aWFscywgaG9sZGVycywgYXJnUG9zLCBhcnkyLCBhcml0eSkge1xuICAgICAgICAgIHZhciBpc0JpbmRLZXkgPSBiaXRtYXNrICYgV1JBUF9CSU5EX0tFWV9GTEFHO1xuICAgICAgICAgIGlmICghaXNCaW5kS2V5ICYmIHR5cGVvZiBmdW5jICE9IFwiZnVuY3Rpb25cIikge1xuICAgICAgICAgICAgdGhyb3cgbmV3IFR5cGVFcnJvcjIoRlVOQ19FUlJPUl9URVhUKTtcbiAgICAgICAgICB9XG4gICAgICAgICAgdmFyIGxlbmd0aCA9IHBhcnRpYWxzID8gcGFydGlhbHMubGVuZ3RoIDogMDtcbiAgICAgICAgICBpZiAoIWxlbmd0aCkge1xuICAgICAgICAgICAgYml0bWFzayAmPSB+KFdSQVBfUEFSVElBTF9GTEFHIHwgV1JBUF9QQVJUSUFMX1JJR0hUX0ZMQUcpO1xuICAgICAgICAgICAgcGFydGlhbHMgPSBob2xkZXJzID0gdW5kZWZpbmVkMjtcbiAgICAgICAgICB9XG4gICAgICAgICAgYXJ5MiA9IGFyeTIgPT09IHVuZGVmaW5lZDIgPyBhcnkyIDogbmF0aXZlTWF4KHRvSW50ZWdlcihhcnkyKSwgMCk7XG4gICAgICAgICAgYXJpdHkgPSBhcml0eSA9PT0gdW5kZWZpbmVkMiA/IGFyaXR5IDogdG9JbnRlZ2VyKGFyaXR5KTtcbiAgICAgICAgICBsZW5ndGggLT0gaG9sZGVycyA/IGhvbGRlcnMubGVuZ3RoIDogMDtcbiAgICAgICAgICBpZiAoYml0bWFzayAmIFdSQVBfUEFSVElBTF9SSUdIVF9GTEFHKSB7XG4gICAgICAgICAgICB2YXIgcGFydGlhbHNSaWdodCA9IHBhcnRpYWxzLCBob2xkZXJzUmlnaHQgPSBob2xkZXJzO1xuICAgICAgICAgICAgcGFydGlhbHMgPSBob2xkZXJzID0gdW5kZWZpbmVkMjtcbiAgICAgICAgICB9XG4gICAgICAgICAgdmFyIGRhdGEgPSBpc0JpbmRLZXkgPyB1bmRlZmluZWQyIDogZ2V0RGF0YShmdW5jKTtcbiAgICAgICAgICB2YXIgbmV3RGF0YSA9IFtcbiAgICAgICAgICAgIGZ1bmMsXG4gICAgICAgICAgICBiaXRtYXNrLFxuICAgICAgICAgICAgdGhpc0FyZyxcbiAgICAgICAgICAgIHBhcnRpYWxzLFxuICAgICAgICAgICAgaG9sZGVycyxcbiAgICAgICAgICAgIHBhcnRpYWxzUmlnaHQsXG4gICAgICAgICAgICBob2xkZXJzUmlnaHQsXG4gICAgICAgICAgICBhcmdQb3MsXG4gICAgICAgICAgICBhcnkyLFxuICAgICAgICAgICAgYXJpdHlcbiAgICAgICAgICBdO1xuICAgICAgICAgIGlmIChkYXRhKSB7XG4gICAgICAgICAgICBtZXJnZURhdGEobmV3RGF0YSwgZGF0YSk7XG4gICAgICAgICAgfVxuICAgICAgICAgIGZ1bmMgPSBuZXdEYXRhWzBdO1xuICAgICAgICAgIGJpdG1hc2sgPSBuZXdEYXRhWzFdO1xuICAgICAgICAgIHRoaXNBcmcgPSBuZXdEYXRhWzJdO1xuICAgICAgICAgIHBhcnRpYWxzID0gbmV3RGF0YVszXTtcbiAgICAgICAgICBob2xkZXJzID0gbmV3RGF0YVs0XTtcbiAgICAgICAgICBhcml0eSA9IG5ld0RhdGFbOV0gPSBuZXdEYXRhWzldID09PSB1bmRlZmluZWQyID8gaXNCaW5kS2V5ID8gMCA6IGZ1bmMubGVuZ3RoIDogbmF0aXZlTWF4KG5ld0RhdGFbOV0gLSBsZW5ndGgsIDApO1xuICAgICAgICAgIGlmICghYXJpdHkgJiYgYml0bWFzayAmIChXUkFQX0NVUlJZX0ZMQUcgfCBXUkFQX0NVUlJZX1JJR0hUX0ZMQUcpKSB7XG4gICAgICAgICAgICBiaXRtYXNrICY9IH4oV1JBUF9DVVJSWV9GTEFHIHwgV1JBUF9DVVJSWV9SSUdIVF9GTEFHKTtcbiAgICAgICAgICB9XG4gICAgICAgICAgaWYgKCFiaXRtYXNrIHx8IGJpdG1hc2sgPT0gV1JBUF9CSU5EX0ZMQUcpIHtcbiAgICAgICAgICAgIHZhciByZXN1bHQyID0gY3JlYXRlQmluZChmdW5jLCBiaXRtYXNrLCB0aGlzQXJnKTtcbiAgICAgICAgICB9IGVsc2UgaWYgKGJpdG1hc2sgPT0gV1JBUF9DVVJSWV9GTEFHIHx8IGJpdG1hc2sgPT0gV1JBUF9DVVJSWV9SSUdIVF9GTEFHKSB7XG4gICAgICAgICAgICByZXN1bHQyID0gY3JlYXRlQ3VycnkoZnVuYywgYml0bWFzaywgYXJpdHkpO1xuICAgICAgICAgIH0gZWxzZSBpZiAoKGJpdG1hc2sgPT0gV1JBUF9QQVJUSUFMX0ZMQUcgfHwgYml0bWFzayA9PSAoV1JBUF9CSU5EX0ZMQUcgfCBXUkFQX1BBUlRJQUxfRkxBRykpICYmICFob2xkZXJzLmxlbmd0aCkge1xuICAgICAgICAgICAgcmVzdWx0MiA9IGNyZWF0ZVBhcnRpYWwoZnVuYywgYml0bWFzaywgdGhpc0FyZywgcGFydGlhbHMpO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICByZXN1bHQyID0gY3JlYXRlSHlicmlkLmFwcGx5KHVuZGVmaW5lZDIsIG5ld0RhdGEpO1xuICAgICAgICAgIH1cbiAgICAgICAgICB2YXIgc2V0dGVyID0gZGF0YSA/IGJhc2VTZXREYXRhIDogc2V0RGF0YTtcbiAgICAgICAgICByZXR1cm4gc2V0V3JhcFRvU3RyaW5nKHNldHRlcihyZXN1bHQyLCBuZXdEYXRhKSwgZnVuYywgYml0bWFzayk7XG4gICAgICAgIH1cbiAgICAgICAgZnVuY3Rpb24gY3VzdG9tRGVmYXVsdHNBc3NpZ25JbihvYmpWYWx1ZSwgc3JjVmFsdWUsIGtleSwgb2JqZWN0KSB7XG4gICAgICAgICAgaWYgKG9ialZhbHVlID09PSB1bmRlZmluZWQyIHx8IGVxKG9ialZhbHVlLCBvYmplY3RQcm90b1trZXldKSAmJiAhaGFzT3duUHJvcGVydHkuY2FsbChvYmplY3QsIGtleSkpIHtcbiAgICAgICAgICAgIHJldHVybiBzcmNWYWx1ZTtcbiAgICAgICAgICB9XG4gICAgICAgICAgcmV0dXJuIG9ialZhbHVlO1xuICAgICAgICB9XG4gICAgICAgIGZ1bmN0aW9uIGN1c3RvbURlZmF1bHRzTWVyZ2Uob2JqVmFsdWUsIHNyY1ZhbHVlLCBrZXksIG9iamVjdCwgc291cmNlLCBzdGFjaykge1xuICAgICAgICAgIGlmIChpc09iamVjdChvYmpWYWx1ZSkgJiYgaXNPYmplY3Qoc3JjVmFsdWUpKSB7XG4gICAgICAgICAgICBzdGFjay5zZXQoc3JjVmFsdWUsIG9ialZhbHVlKTtcbiAgICAgICAgICAgIGJhc2VNZXJnZShvYmpWYWx1ZSwgc3JjVmFsdWUsIHVuZGVmaW5lZDIsIGN1c3RvbURlZmF1bHRzTWVyZ2UsIHN0YWNrKTtcbiAgICAgICAgICAgIHN0YWNrW1wiZGVsZXRlXCJdKHNyY1ZhbHVlKTtcbiAgICAgICAgICB9XG4gICAgICAgICAgcmV0dXJuIG9ialZhbHVlO1xuICAgICAgICB9XG4gICAgICAgIGZ1bmN0aW9uIGN1c3RvbU9taXRDbG9uZSh2YWx1ZSkge1xuICAgICAgICAgIHJldHVybiBpc1BsYWluT2JqZWN0KHZhbHVlKSA/IHVuZGVmaW5lZDIgOiB2YWx1ZTtcbiAgICAgICAgfVxuICAgICAgICBmdW5jdGlvbiBlcXVhbEFycmF5cyhhcnJheSwgb3RoZXIsIGJpdG1hc2ssIGN1c3RvbWl6ZXIsIGVxdWFsRnVuYywgc3RhY2spIHtcbiAgICAgICAgICB2YXIgaXNQYXJ0aWFsID0gYml0bWFzayAmIENPTVBBUkVfUEFSVElBTF9GTEFHLCBhcnJMZW5ndGggPSBhcnJheS5sZW5ndGgsIG90aExlbmd0aCA9IG90aGVyLmxlbmd0aDtcbiAgICAgICAgICBpZiAoYXJyTGVuZ3RoICE9IG90aExlbmd0aCAmJiAhKGlzUGFydGlhbCAmJiBvdGhMZW5ndGggPiBhcnJMZW5ndGgpKSB7XG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgICAgfVxuICAgICAgICAgIHZhciBhcnJTdGFja2VkID0gc3RhY2suZ2V0KGFycmF5KTtcbiAgICAgICAgICB2YXIgb3RoU3RhY2tlZCA9IHN0YWNrLmdldChvdGhlcik7XG4gICAgICAgICAgaWYgKGFyclN0YWNrZWQgJiYgb3RoU3RhY2tlZCkge1xuICAgICAgICAgICAgcmV0dXJuIGFyclN0YWNrZWQgPT0gb3RoZXIgJiYgb3RoU3RhY2tlZCA9PSBhcnJheTtcbiAgICAgICAgICB9XG4gICAgICAgICAgdmFyIGluZGV4ID0gLTEsIHJlc3VsdDIgPSB0cnVlLCBzZWVuID0gYml0bWFzayAmIENPTVBBUkVfVU5PUkRFUkVEX0ZMQUcgPyBuZXcgU2V0Q2FjaGUoKSA6IHVuZGVmaW5lZDI7XG4gICAgICAgICAgc3RhY2suc2V0KGFycmF5LCBvdGhlcik7XG4gICAgICAgICAgc3RhY2suc2V0KG90aGVyLCBhcnJheSk7XG4gICAgICAgICAgd2hpbGUgKCsraW5kZXggPCBhcnJMZW5ndGgpIHtcbiAgICAgICAgICAgIHZhciBhcnJWYWx1ZSA9IGFycmF5W2luZGV4XSwgb3RoVmFsdWUgPSBvdGhlcltpbmRleF07XG4gICAgICAgICAgICBpZiAoY3VzdG9taXplcikge1xuICAgICAgICAgICAgICB2YXIgY29tcGFyZWQgPSBpc1BhcnRpYWwgPyBjdXN0b21pemVyKG90aFZhbHVlLCBhcnJWYWx1ZSwgaW5kZXgsIG90aGVyLCBhcnJheSwgc3RhY2spIDogY3VzdG9taXplcihhcnJWYWx1ZSwgb3RoVmFsdWUsIGluZGV4LCBhcnJheSwgb3RoZXIsIHN0YWNrKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmIChjb21wYXJlZCAhPT0gdW5kZWZpbmVkMikge1xuICAgICAgICAgICAgICBpZiAoY29tcGFyZWQpIHtcbiAgICAgICAgICAgICAgICBjb250aW51ZTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICByZXN1bHQyID0gZmFsc2U7XG4gICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKHNlZW4pIHtcbiAgICAgICAgICAgICAgaWYgKCFhcnJheVNvbWUob3RoZXIsIGZ1bmN0aW9uKG90aFZhbHVlMiwgb3RoSW5kZXgpIHtcbiAgICAgICAgICAgICAgICBpZiAoIWNhY2hlSGFzKHNlZW4sIG90aEluZGV4KSAmJiAoYXJyVmFsdWUgPT09IG90aFZhbHVlMiB8fCBlcXVhbEZ1bmMoYXJyVmFsdWUsIG90aFZhbHVlMiwgYml0bWFzaywgY3VzdG9taXplciwgc3RhY2spKSkge1xuICAgICAgICAgICAgICAgICAgcmV0dXJuIHNlZW4ucHVzaChvdGhJbmRleCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9KSkge1xuICAgICAgICAgICAgICAgIHJlc3VsdDIgPSBmYWxzZTtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSBlbHNlIGlmICghKGFyclZhbHVlID09PSBvdGhWYWx1ZSB8fCBlcXVhbEZ1bmMoYXJyVmFsdWUsIG90aFZhbHVlLCBiaXRtYXNrLCBjdXN0b21pemVyLCBzdGFjaykpKSB7XG4gICAgICAgICAgICAgIHJlc3VsdDIgPSBmYWxzZTtcbiAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICAgIHN0YWNrW1wiZGVsZXRlXCJdKGFycmF5KTtcbiAgICAgICAgICBzdGFja1tcImRlbGV0ZVwiXShvdGhlcik7XG4gICAgICAgICAgcmV0dXJuIHJlc3VsdDI7XG4gICAgICAgIH1cbiAgICAgICAgZnVuY3Rpb24gZXF1YWxCeVRhZyhvYmplY3QsIG90aGVyLCB0YWcsIGJpdG1hc2ssIGN1c3RvbWl6ZXIsIGVxdWFsRnVuYywgc3RhY2spIHtcbiAgICAgICAgICBzd2l0Y2ggKHRhZykge1xuICAgICAgICAgICAgY2FzZSBkYXRhVmlld1RhZzpcbiAgICAgICAgICAgICAgaWYgKG9iamVjdC5ieXRlTGVuZ3RoICE9IG90aGVyLmJ5dGVMZW5ndGggfHwgb2JqZWN0LmJ5dGVPZmZzZXQgIT0gb3RoZXIuYnl0ZU9mZnNldCkge1xuICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICBvYmplY3QgPSBvYmplY3QuYnVmZmVyO1xuICAgICAgICAgICAgICBvdGhlciA9IG90aGVyLmJ1ZmZlcjtcbiAgICAgICAgICAgIGNhc2UgYXJyYXlCdWZmZXJUYWc6XG4gICAgICAgICAgICAgIGlmIChvYmplY3QuYnl0ZUxlbmd0aCAhPSBvdGhlci5ieXRlTGVuZ3RoIHx8ICFlcXVhbEZ1bmMobmV3IFVpbnQ4QXJyYXkyKG9iamVjdCksIG5ldyBVaW50OEFycmF5MihvdGhlcikpKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICAgICAgY2FzZSBib29sVGFnOlxuICAgICAgICAgICAgY2FzZSBkYXRlVGFnOlxuICAgICAgICAgICAgY2FzZSBudW1iZXJUYWc6XG4gICAgICAgICAgICAgIHJldHVybiBlcSgrb2JqZWN0LCArb3RoZXIpO1xuICAgICAgICAgICAgY2FzZSBlcnJvclRhZzpcbiAgICAgICAgICAgICAgcmV0dXJuIG9iamVjdC5uYW1lID09IG90aGVyLm5hbWUgJiYgb2JqZWN0Lm1lc3NhZ2UgPT0gb3RoZXIubWVzc2FnZTtcbiAgICAgICAgICAgIGNhc2UgcmVnZXhwVGFnOlxuICAgICAgICAgICAgY2FzZSBzdHJpbmdUYWc6XG4gICAgICAgICAgICAgIHJldHVybiBvYmplY3QgPT0gb3RoZXIgKyBcIlwiO1xuICAgICAgICAgICAgY2FzZSBtYXBUYWc6XG4gICAgICAgICAgICAgIHZhciBjb252ZXJ0ID0gbWFwVG9BcnJheTtcbiAgICAgICAgICAgIGNhc2Ugc2V0VGFnOlxuICAgICAgICAgICAgICB2YXIgaXNQYXJ0aWFsID0gYml0bWFzayAmIENPTVBBUkVfUEFSVElBTF9GTEFHO1xuICAgICAgICAgICAgICBjb252ZXJ0IHx8IChjb252ZXJ0ID0gc2V0VG9BcnJheSk7XG4gICAgICAgICAgICAgIGlmIChvYmplY3Quc2l6ZSAhPSBvdGhlci5zaXplICYmICFpc1BhcnRpYWwpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgdmFyIHN0YWNrZWQgPSBzdGFjay5nZXQob2JqZWN0KTtcbiAgICAgICAgICAgICAgaWYgKHN0YWNrZWQpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gc3RhY2tlZCA9PSBvdGhlcjtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICBiaXRtYXNrIHw9IENPTVBBUkVfVU5PUkRFUkVEX0ZMQUc7XG4gICAgICAgICAgICAgIHN0YWNrLnNldChvYmplY3QsIG90aGVyKTtcbiAgICAgICAgICAgICAgdmFyIHJlc3VsdDIgPSBlcXVhbEFycmF5cyhjb252ZXJ0KG9iamVjdCksIGNvbnZlcnQob3RoZXIpLCBiaXRtYXNrLCBjdXN0b21pemVyLCBlcXVhbEZ1bmMsIHN0YWNrKTtcbiAgICAgICAgICAgICAgc3RhY2tbXCJkZWxldGVcIl0ob2JqZWN0KTtcbiAgICAgICAgICAgICAgcmV0dXJuIHJlc3VsdDI7XG4gICAgICAgICAgICBjYXNlIHN5bWJvbFRhZzpcbiAgICAgICAgICAgICAgaWYgKHN5bWJvbFZhbHVlT2YpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gc3ltYm9sVmFsdWVPZi5jYWxsKG9iamVjdCkgPT0gc3ltYm9sVmFsdWVPZi5jYWxsKG90aGVyKTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgIH1cbiAgICAgICAgZnVuY3Rpb24gZXF1YWxPYmplY3RzKG9iamVjdCwgb3RoZXIsIGJpdG1hc2ssIGN1c3RvbWl6ZXIsIGVxdWFsRnVuYywgc3RhY2spIHtcbiAgICAgICAgICB2YXIgaXNQYXJ0aWFsID0gYml0bWFzayAmIENPTVBBUkVfUEFSVElBTF9GTEFHLCBvYmpQcm9wcyA9IGdldEFsbEtleXMob2JqZWN0KSwgb2JqTGVuZ3RoID0gb2JqUHJvcHMubGVuZ3RoLCBvdGhQcm9wcyA9IGdldEFsbEtleXMob3RoZXIpLCBvdGhMZW5ndGggPSBvdGhQcm9wcy5sZW5ndGg7XG4gICAgICAgICAgaWYgKG9iakxlbmd0aCAhPSBvdGhMZW5ndGggJiYgIWlzUGFydGlhbCkge1xuICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICAgIH1cbiAgICAgICAgICB2YXIgaW5kZXggPSBvYmpMZW5ndGg7XG4gICAgICAgICAgd2hpbGUgKGluZGV4LS0pIHtcbiAgICAgICAgICAgIHZhciBrZXkgPSBvYmpQcm9wc1tpbmRleF07XG4gICAgICAgICAgICBpZiAoIShpc1BhcnRpYWwgPyBrZXkgaW4gb3RoZXIgOiBoYXNPd25Qcm9wZXJ0eS5jYWxsKG90aGVyLCBrZXkpKSkge1xuICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICAgIHZhciBvYmpTdGFja2VkID0gc3RhY2suZ2V0KG9iamVjdCk7XG4gICAgICAgICAgdmFyIG90aFN0YWNrZWQgPSBzdGFjay5nZXQob3RoZXIpO1xuICAgICAgICAgIGlmIChvYmpTdGFja2VkICYmIG90aFN0YWNrZWQpIHtcbiAgICAgICAgICAgIHJldHVybiBvYmpTdGFja2VkID09IG90aGVyICYmIG90aFN0YWNrZWQgPT0gb2JqZWN0O1xuICAgICAgICAgIH1cbiAgICAgICAgICB2YXIgcmVzdWx0MiA9IHRydWU7XG4gICAgICAgICAgc3RhY2suc2V0KG9iamVjdCwgb3RoZXIpO1xuICAgICAgICAgIHN0YWNrLnNldChvdGhlciwgb2JqZWN0KTtcbiAgICAgICAgICB2YXIgc2tpcEN0b3IgPSBpc1BhcnRpYWw7XG4gICAgICAgICAgd2hpbGUgKCsraW5kZXggPCBvYmpMZW5ndGgpIHtcbiAgICAgICAgICAgIGtleSA9IG9ialByb3BzW2luZGV4XTtcbiAgICAgICAgICAgIHZhciBvYmpWYWx1ZSA9IG9iamVjdFtrZXldLCBvdGhWYWx1ZSA9IG90aGVyW2tleV07XG4gICAgICAgICAgICBpZiAoY3VzdG9taXplcikge1xuICAgICAgICAgICAgICB2YXIgY29tcGFyZWQgPSBpc1BhcnRpYWwgPyBjdXN0b21pemVyKG90aFZhbHVlLCBvYmpWYWx1ZSwga2V5LCBvdGhlciwgb2JqZWN0LCBzdGFjaykgOiBjdXN0b21pemVyKG9ialZhbHVlLCBvdGhWYWx1ZSwga2V5LCBvYmplY3QsIG90aGVyLCBzdGFjayk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAoIShjb21wYXJlZCA9PT0gdW5kZWZpbmVkMiA/IG9ialZhbHVlID09PSBvdGhWYWx1ZSB8fCBlcXVhbEZ1bmMob2JqVmFsdWUsIG90aFZhbHVlLCBiaXRtYXNrLCBjdXN0b21pemVyLCBzdGFjaykgOiBjb21wYXJlZCkpIHtcbiAgICAgICAgICAgICAgcmVzdWx0MiA9IGZhbHNlO1xuICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHNraXBDdG9yIHx8IChza2lwQ3RvciA9IGtleSA9PSBcImNvbnN0cnVjdG9yXCIpO1xuICAgICAgICAgIH1cbiAgICAgICAgICBpZiAocmVzdWx0MiAmJiAhc2tpcEN0b3IpIHtcbiAgICAgICAgICAgIHZhciBvYmpDdG9yID0gb2JqZWN0LmNvbnN0cnVjdG9yLCBvdGhDdG9yID0gb3RoZXIuY29uc3RydWN0b3I7XG4gICAgICAgICAgICBpZiAob2JqQ3RvciAhPSBvdGhDdG9yICYmIChcImNvbnN0cnVjdG9yXCIgaW4gb2JqZWN0ICYmIFwiY29uc3RydWN0b3JcIiBpbiBvdGhlcikgJiYgISh0eXBlb2Ygb2JqQ3RvciA9PSBcImZ1bmN0aW9uXCIgJiYgb2JqQ3RvciBpbnN0YW5jZW9mIG9iakN0b3IgJiYgdHlwZW9mIG90aEN0b3IgPT0gXCJmdW5jdGlvblwiICYmIG90aEN0b3IgaW5zdGFuY2VvZiBvdGhDdG9yKSkge1xuICAgICAgICAgICAgICByZXN1bHQyID0gZmFsc2U7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICAgIHN0YWNrW1wiZGVsZXRlXCJdKG9iamVjdCk7XG4gICAgICAgICAgc3RhY2tbXCJkZWxldGVcIl0ob3RoZXIpO1xuICAgICAgICAgIHJldHVybiByZXN1bHQyO1xuICAgICAgICB9XG4gICAgICAgIGZ1bmN0aW9uIGZsYXRSZXN0KGZ1bmMpIHtcbiAgICAgICAgICByZXR1cm4gc2V0VG9TdHJpbmcob3ZlclJlc3QoZnVuYywgdW5kZWZpbmVkMiwgZmxhdHRlbiksIGZ1bmMgKyBcIlwiKTtcbiAgICAgICAgfVxuICAgICAgICBmdW5jdGlvbiBnZXRBbGxLZXlzKG9iamVjdCkge1xuICAgICAgICAgIHJldHVybiBiYXNlR2V0QWxsS2V5cyhvYmplY3QsIGtleXMsIGdldFN5bWJvbHMpO1xuICAgICAgICB9XG4gICAgICAgIGZ1bmN0aW9uIGdldEFsbEtleXNJbihvYmplY3QpIHtcbiAgICAgICAgICByZXR1cm4gYmFzZUdldEFsbEtleXMob2JqZWN0LCBrZXlzSW4sIGdldFN5bWJvbHNJbik7XG4gICAgICAgIH1cbiAgICAgICAgdmFyIGdldERhdGEgPSAhbWV0YU1hcCA/IG5vb3AgOiBmdW5jdGlvbihmdW5jKSB7XG4gICAgICAgICAgcmV0dXJuIG1ldGFNYXAuZ2V0KGZ1bmMpO1xuICAgICAgICB9O1xuICAgICAgICBmdW5jdGlvbiBnZXRGdW5jTmFtZShmdW5jKSB7XG4gICAgICAgICAgdmFyIHJlc3VsdDIgPSBmdW5jLm5hbWUgKyBcIlwiLCBhcnJheSA9IHJlYWxOYW1lc1tyZXN1bHQyXSwgbGVuZ3RoID0gaGFzT3duUHJvcGVydHkuY2FsbChyZWFsTmFtZXMsIHJlc3VsdDIpID8gYXJyYXkubGVuZ3RoIDogMDtcbiAgICAgICAgICB3aGlsZSAobGVuZ3RoLS0pIHtcbiAgICAgICAgICAgIHZhciBkYXRhID0gYXJyYXlbbGVuZ3RoXSwgb3RoZXJGdW5jID0gZGF0YS5mdW5jO1xuICAgICAgICAgICAgaWYgKG90aGVyRnVuYyA9PSBudWxsIHx8IG90aGVyRnVuYyA9PSBmdW5jKSB7XG4gICAgICAgICAgICAgIHJldHVybiBkYXRhLm5hbWU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICAgIHJldHVybiByZXN1bHQyO1xuICAgICAgICB9XG4gICAgICAgIGZ1bmN0aW9uIGdldEhvbGRlcihmdW5jKSB7XG4gICAgICAgICAgdmFyIG9iamVjdCA9IGhhc093blByb3BlcnR5LmNhbGwobG9kYXNoLCBcInBsYWNlaG9sZGVyXCIpID8gbG9kYXNoIDogZnVuYztcbiAgICAgICAgICByZXR1cm4gb2JqZWN0LnBsYWNlaG9sZGVyO1xuICAgICAgICB9XG4gICAgICAgIGZ1bmN0aW9uIGdldEl0ZXJhdGVlKCkge1xuICAgICAgICAgIHZhciByZXN1bHQyID0gbG9kYXNoLml0ZXJhdGVlIHx8IGl0ZXJhdGVlO1xuICAgICAgICAgIHJlc3VsdDIgPSByZXN1bHQyID09PSBpdGVyYXRlZSA/IGJhc2VJdGVyYXRlZSA6IHJlc3VsdDI7XG4gICAgICAgICAgcmV0dXJuIGFyZ3VtZW50cy5sZW5ndGggPyByZXN1bHQyKGFyZ3VtZW50c1swXSwgYXJndW1lbnRzWzFdKSA6IHJlc3VsdDI7XG4gICAgICAgIH1cbiAgICAgICAgZnVuY3Rpb24gZ2V0TWFwRGF0YShtYXAyLCBrZXkpIHtcbiAgICAgICAgICB2YXIgZGF0YSA9IG1hcDIuX19kYXRhX187XG4gICAgICAgICAgcmV0dXJuIGlzS2V5YWJsZShrZXkpID8gZGF0YVt0eXBlb2Yga2V5ID09IFwic3RyaW5nXCIgPyBcInN0cmluZ1wiIDogXCJoYXNoXCJdIDogZGF0YS5tYXA7XG4gICAgICAgIH1cbiAgICAgICAgZnVuY3Rpb24gZ2V0TWF0Y2hEYXRhKG9iamVjdCkge1xuICAgICAgICAgIHZhciByZXN1bHQyID0ga2V5cyhvYmplY3QpLCBsZW5ndGggPSByZXN1bHQyLmxlbmd0aDtcbiAgICAgICAgICB3aGlsZSAobGVuZ3RoLS0pIHtcbiAgICAgICAgICAgIHZhciBrZXkgPSByZXN1bHQyW2xlbmd0aF0sIHZhbHVlID0gb2JqZWN0W2tleV07XG4gICAgICAgICAgICByZXN1bHQyW2xlbmd0aF0gPSBba2V5LCB2YWx1ZSwgaXNTdHJpY3RDb21wYXJhYmxlKHZhbHVlKV07XG4gICAgICAgICAgfVxuICAgICAgICAgIHJldHVybiByZXN1bHQyO1xuICAgICAgICB9XG4gICAgICAgIGZ1bmN0aW9uIGdldE5hdGl2ZShvYmplY3QsIGtleSkge1xuICAgICAgICAgIHZhciB2YWx1ZSA9IGdldFZhbHVlKG9iamVjdCwga2V5KTtcbiAgICAgICAgICByZXR1cm4gYmFzZUlzTmF0aXZlKHZhbHVlKSA/IHZhbHVlIDogdW5kZWZpbmVkMjtcbiAgICAgICAgfVxuICAgICAgICBmdW5jdGlvbiBnZXRSYXdUYWcodmFsdWUpIHtcbiAgICAgICAgICB2YXIgaXNPd24gPSBoYXNPd25Qcm9wZXJ0eS5jYWxsKHZhbHVlLCBzeW1Ub1N0cmluZ1RhZyksIHRhZyA9IHZhbHVlW3N5bVRvU3RyaW5nVGFnXTtcbiAgICAgICAgICB0cnkge1xuICAgICAgICAgICAgdmFsdWVbc3ltVG9TdHJpbmdUYWddID0gdW5kZWZpbmVkMjtcbiAgICAgICAgICAgIHZhciB1bm1hc2tlZCA9IHRydWU7XG4gICAgICAgICAgfSBjYXRjaCAoZSkge1xuICAgICAgICAgIH1cbiAgICAgICAgICB2YXIgcmVzdWx0MiA9IG5hdGl2ZU9iamVjdFRvU3RyaW5nLmNhbGwodmFsdWUpO1xuICAgICAgICAgIGlmICh1bm1hc2tlZCkge1xuICAgICAgICAgICAgaWYgKGlzT3duKSB7XG4gICAgICAgICAgICAgIHZhbHVlW3N5bVRvU3RyaW5nVGFnXSA9IHRhZztcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgIGRlbGV0ZSB2YWx1ZVtzeW1Ub1N0cmluZ1RhZ107XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICAgIHJldHVybiByZXN1bHQyO1xuICAgICAgICB9XG4gICAgICAgIHZhciBnZXRTeW1ib2xzID0gIW5hdGl2ZUdldFN5bWJvbHMgPyBzdHViQXJyYXkgOiBmdW5jdGlvbihvYmplY3QpIHtcbiAgICAgICAgICBpZiAob2JqZWN0ID09IG51bGwpIHtcbiAgICAgICAgICAgIHJldHVybiBbXTtcbiAgICAgICAgICB9XG4gICAgICAgICAgb2JqZWN0ID0gT2JqZWN0MihvYmplY3QpO1xuICAgICAgICAgIHJldHVybiBhcnJheUZpbHRlcihuYXRpdmVHZXRTeW1ib2xzKG9iamVjdCksIGZ1bmN0aW9uKHN5bWJvbCkge1xuICAgICAgICAgICAgcmV0dXJuIHByb3BlcnR5SXNFbnVtZXJhYmxlLmNhbGwob2JqZWN0LCBzeW1ib2wpO1xuICAgICAgICAgIH0pO1xuICAgICAgICB9O1xuICAgICAgICB2YXIgZ2V0U3ltYm9sc0luID0gIW5hdGl2ZUdldFN5bWJvbHMgPyBzdHViQXJyYXkgOiBmdW5jdGlvbihvYmplY3QpIHtcbiAgICAgICAgICB2YXIgcmVzdWx0MiA9IFtdO1xuICAgICAgICAgIHdoaWxlIChvYmplY3QpIHtcbiAgICAgICAgICAgIGFycmF5UHVzaChyZXN1bHQyLCBnZXRTeW1ib2xzKG9iamVjdCkpO1xuICAgICAgICAgICAgb2JqZWN0ID0gZ2V0UHJvdG90eXBlKG9iamVjdCk7XG4gICAgICAgICAgfVxuICAgICAgICAgIHJldHVybiByZXN1bHQyO1xuICAgICAgICB9O1xuICAgICAgICB2YXIgZ2V0VGFnID0gYmFzZUdldFRhZztcbiAgICAgICAgaWYgKERhdGFWaWV3MiAmJiBnZXRUYWcobmV3IERhdGFWaWV3MihuZXcgQXJyYXlCdWZmZXIoMSkpKSAhPSBkYXRhVmlld1RhZyB8fCBNYXAyICYmIGdldFRhZyhuZXcgTWFwMigpKSAhPSBtYXBUYWcgfHwgUHJvbWlzZTIgJiYgZ2V0VGFnKFByb21pc2UyLnJlc29sdmUoKSkgIT0gcHJvbWlzZVRhZyB8fCBTZXQyICYmIGdldFRhZyhuZXcgU2V0MigpKSAhPSBzZXRUYWcgfHwgV2Vha01hcDIgJiYgZ2V0VGFnKG5ldyBXZWFrTWFwMigpKSAhPSB3ZWFrTWFwVGFnKSB7XG4gICAgICAgICAgZ2V0VGFnID0gZnVuY3Rpb24odmFsdWUpIHtcbiAgICAgICAgICAgIHZhciByZXN1bHQyID0gYmFzZUdldFRhZyh2YWx1ZSksIEN0b3IgPSByZXN1bHQyID09IG9iamVjdFRhZyA/IHZhbHVlLmNvbnN0cnVjdG9yIDogdW5kZWZpbmVkMiwgY3RvclN0cmluZyA9IEN0b3IgPyB0b1NvdXJjZShDdG9yKSA6IFwiXCI7XG4gICAgICAgICAgICBpZiAoY3RvclN0cmluZykge1xuICAgICAgICAgICAgICBzd2l0Y2ggKGN0b3JTdHJpbmcpIHtcbiAgICAgICAgICAgICAgICBjYXNlIGRhdGFWaWV3Q3RvclN0cmluZzpcbiAgICAgICAgICAgICAgICAgIHJldHVybiBkYXRhVmlld1RhZztcbiAgICAgICAgICAgICAgICBjYXNlIG1hcEN0b3JTdHJpbmc6XG4gICAgICAgICAgICAgICAgICByZXR1cm4gbWFwVGFnO1xuICAgICAgICAgICAgICAgIGNhc2UgcHJvbWlzZUN0b3JTdHJpbmc6XG4gICAgICAgICAgICAgICAgICByZXR1cm4gcHJvbWlzZVRhZztcbiAgICAgICAgICAgICAgICBjYXNlIHNldEN0b3JTdHJpbmc6XG4gICAgICAgICAgICAgICAgICByZXR1cm4gc2V0VGFnO1xuICAgICAgICAgICAgICAgIGNhc2Ugd2Vha01hcEN0b3JTdHJpbmc6XG4gICAgICAgICAgICAgICAgICByZXR1cm4gd2Vha01hcFRhZztcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmV0dXJuIHJlc3VsdDI7XG4gICAgICAgICAgfTtcbiAgICAgICAgfVxuICAgICAgICBmdW5jdGlvbiBnZXRWaWV3KHN0YXJ0LCBlbmQsIHRyYW5zZm9ybXMpIHtcbiAgICAgICAgICB2YXIgaW5kZXggPSAtMSwgbGVuZ3RoID0gdHJhbnNmb3Jtcy5sZW5ndGg7XG4gICAgICAgICAgd2hpbGUgKCsraW5kZXggPCBsZW5ndGgpIHtcbiAgICAgICAgICAgIHZhciBkYXRhID0gdHJhbnNmb3Jtc1tpbmRleF0sIHNpemUyID0gZGF0YS5zaXplO1xuICAgICAgICAgICAgc3dpdGNoIChkYXRhLnR5cGUpIHtcbiAgICAgICAgICAgICAgY2FzZSBcImRyb3BcIjpcbiAgICAgICAgICAgICAgICBzdGFydCArPSBzaXplMjtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgY2FzZSBcImRyb3BSaWdodFwiOlxuICAgICAgICAgICAgICAgIGVuZCAtPSBzaXplMjtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgY2FzZSBcInRha2VcIjpcbiAgICAgICAgICAgICAgICBlbmQgPSBuYXRpdmVNaW4oZW5kLCBzdGFydCArIHNpemUyKTtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgY2FzZSBcInRha2VSaWdodFwiOlxuICAgICAgICAgICAgICAgIHN0YXJ0ID0gbmF0aXZlTWF4KHN0YXJ0LCBlbmQgLSBzaXplMik7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICAgIHJldHVybiB7IFwic3RhcnRcIjogc3RhcnQsIFwiZW5kXCI6IGVuZCB9O1xuICAgICAgICB9XG4gICAgICAgIGZ1bmN0aW9uIGdldFdyYXBEZXRhaWxzKHNvdXJjZSkge1xuICAgICAgICAgIHZhciBtYXRjaCA9IHNvdXJjZS5tYXRjaChyZVdyYXBEZXRhaWxzKTtcbiAgICAgICAgICByZXR1cm4gbWF0Y2ggPyBtYXRjaFsxXS5zcGxpdChyZVNwbGl0RGV0YWlscykgOiBbXTtcbiAgICAgICAgfVxuICAgICAgICBmdW5jdGlvbiBoYXNQYXRoKG9iamVjdCwgcGF0aCwgaGFzRnVuYykge1xuICAgICAgICAgIHBhdGggPSBjYXN0UGF0aChwYXRoLCBvYmplY3QpO1xuICAgICAgICAgIHZhciBpbmRleCA9IC0xLCBsZW5ndGggPSBwYXRoLmxlbmd0aCwgcmVzdWx0MiA9IGZhbHNlO1xuICAgICAgICAgIHdoaWxlICgrK2luZGV4IDwgbGVuZ3RoKSB7XG4gICAgICAgICAgICB2YXIga2V5ID0gdG9LZXkocGF0aFtpbmRleF0pO1xuICAgICAgICAgICAgaWYgKCEocmVzdWx0MiA9IG9iamVjdCAhPSBudWxsICYmIGhhc0Z1bmMob2JqZWN0LCBrZXkpKSkge1xuICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIG9iamVjdCA9IG9iamVjdFtrZXldO1xuICAgICAgICAgIH1cbiAgICAgICAgICBpZiAocmVzdWx0MiB8fCArK2luZGV4ICE9IGxlbmd0aCkge1xuICAgICAgICAgICAgcmV0dXJuIHJlc3VsdDI7XG4gICAgICAgICAgfVxuICAgICAgICAgIGxlbmd0aCA9IG9iamVjdCA9PSBudWxsID8gMCA6IG9iamVjdC5sZW5ndGg7XG4gICAgICAgICAgcmV0dXJuICEhbGVuZ3RoICYmIGlzTGVuZ3RoKGxlbmd0aCkgJiYgaXNJbmRleChrZXksIGxlbmd0aCkgJiYgKGlzQXJyYXkob2JqZWN0KSB8fCBpc0FyZ3VtZW50cyhvYmplY3QpKTtcbiAgICAgICAgfVxuICAgICAgICBmdW5jdGlvbiBpbml0Q2xvbmVBcnJheShhcnJheSkge1xuICAgICAgICAgIHZhciBsZW5ndGggPSBhcnJheS5sZW5ndGgsIHJlc3VsdDIgPSBuZXcgYXJyYXkuY29uc3RydWN0b3IobGVuZ3RoKTtcbiAgICAgICAgICBpZiAobGVuZ3RoICYmIHR5cGVvZiBhcnJheVswXSA9PSBcInN0cmluZ1wiICYmIGhhc093blByb3BlcnR5LmNhbGwoYXJyYXksIFwiaW5kZXhcIikpIHtcbiAgICAgICAgICAgIHJlc3VsdDIuaW5kZXggPSBhcnJheS5pbmRleDtcbiAgICAgICAgICAgIHJlc3VsdDIuaW5wdXQgPSBhcnJheS5pbnB1dDtcbiAgICAgICAgICB9XG4gICAgICAgICAgcmV0dXJuIHJlc3VsdDI7XG4gICAgICAgIH1cbiAgICAgICAgZnVuY3Rpb24gaW5pdENsb25lT2JqZWN0KG9iamVjdCkge1xuICAgICAgICAgIHJldHVybiB0eXBlb2Ygb2JqZWN0LmNvbnN0cnVjdG9yID09IFwiZnVuY3Rpb25cIiAmJiAhaXNQcm90b3R5cGUob2JqZWN0KSA/IGJhc2VDcmVhdGUoZ2V0UHJvdG90eXBlKG9iamVjdCkpIDoge307XG4gICAgICAgIH1cbiAgICAgICAgZnVuY3Rpb24gaW5pdENsb25lQnlUYWcob2JqZWN0LCB0YWcsIGlzRGVlcCkge1xuICAgICAgICAgIHZhciBDdG9yID0gb2JqZWN0LmNvbnN0cnVjdG9yO1xuICAgICAgICAgIHN3aXRjaCAodGFnKSB7XG4gICAgICAgICAgICBjYXNlIGFycmF5QnVmZmVyVGFnOlxuICAgICAgICAgICAgICByZXR1cm4gY2xvbmVBcnJheUJ1ZmZlcihvYmplY3QpO1xuICAgICAgICAgICAgY2FzZSBib29sVGFnOlxuICAgICAgICAgICAgY2FzZSBkYXRlVGFnOlxuICAgICAgICAgICAgICByZXR1cm4gbmV3IEN0b3IoK29iamVjdCk7XG4gICAgICAgICAgICBjYXNlIGRhdGFWaWV3VGFnOlxuICAgICAgICAgICAgICByZXR1cm4gY2xvbmVEYXRhVmlldyhvYmplY3QsIGlzRGVlcCk7XG4gICAgICAgICAgICBjYXNlIGZsb2F0MzJUYWc6XG4gICAgICAgICAgICBjYXNlIGZsb2F0NjRUYWc6XG4gICAgICAgICAgICBjYXNlIGludDhUYWc6XG4gICAgICAgICAgICBjYXNlIGludDE2VGFnOlxuICAgICAgICAgICAgY2FzZSBpbnQzMlRhZzpcbiAgICAgICAgICAgIGNhc2UgdWludDhUYWc6XG4gICAgICAgICAgICBjYXNlIHVpbnQ4Q2xhbXBlZFRhZzpcbiAgICAgICAgICAgIGNhc2UgdWludDE2VGFnOlxuICAgICAgICAgICAgY2FzZSB1aW50MzJUYWc6XG4gICAgICAgICAgICAgIHJldHVybiBjbG9uZVR5cGVkQXJyYXkob2JqZWN0LCBpc0RlZXApO1xuICAgICAgICAgICAgY2FzZSBtYXBUYWc6XG4gICAgICAgICAgICAgIHJldHVybiBuZXcgQ3RvcigpO1xuICAgICAgICAgICAgY2FzZSBudW1iZXJUYWc6XG4gICAgICAgICAgICBjYXNlIHN0cmluZ1RhZzpcbiAgICAgICAgICAgICAgcmV0dXJuIG5ldyBDdG9yKG9iamVjdCk7XG4gICAgICAgICAgICBjYXNlIHJlZ2V4cFRhZzpcbiAgICAgICAgICAgICAgcmV0dXJuIGNsb25lUmVnRXhwKG9iamVjdCk7XG4gICAgICAgICAgICBjYXNlIHNldFRhZzpcbiAgICAgICAgICAgICAgcmV0dXJuIG5ldyBDdG9yKCk7XG4gICAgICAgICAgICBjYXNlIHN5bWJvbFRhZzpcbiAgICAgICAgICAgICAgcmV0dXJuIGNsb25lU3ltYm9sKG9iamVjdCk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGZ1bmN0aW9uIGluc2VydFdyYXBEZXRhaWxzKHNvdXJjZSwgZGV0YWlscykge1xuICAgICAgICAgIHZhciBsZW5ndGggPSBkZXRhaWxzLmxlbmd0aDtcbiAgICAgICAgICBpZiAoIWxlbmd0aCkge1xuICAgICAgICAgICAgcmV0dXJuIHNvdXJjZTtcbiAgICAgICAgICB9XG4gICAgICAgICAgdmFyIGxhc3RJbmRleCA9IGxlbmd0aCAtIDE7XG4gICAgICAgICAgZGV0YWlsc1tsYXN0SW5kZXhdID0gKGxlbmd0aCA+IDEgPyBcIiYgXCIgOiBcIlwiKSArIGRldGFpbHNbbGFzdEluZGV4XTtcbiAgICAgICAgICBkZXRhaWxzID0gZGV0YWlscy5qb2luKGxlbmd0aCA+IDIgPyBcIiwgXCIgOiBcIiBcIik7XG4gICAgICAgICAgcmV0dXJuIHNvdXJjZS5yZXBsYWNlKHJlV3JhcENvbW1lbnQsIFwie1xcbi8qIFt3cmFwcGVkIHdpdGggXCIgKyBkZXRhaWxzICsgXCJdICovXFxuXCIpO1xuICAgICAgICB9XG4gICAgICAgIGZ1bmN0aW9uIGlzRmxhdHRlbmFibGUodmFsdWUpIHtcbiAgICAgICAgICByZXR1cm4gaXNBcnJheSh2YWx1ZSkgfHwgaXNBcmd1bWVudHModmFsdWUpIHx8ICEhKHNwcmVhZGFibGVTeW1ib2wgJiYgdmFsdWUgJiYgdmFsdWVbc3ByZWFkYWJsZVN5bWJvbF0pO1xuICAgICAgICB9XG4gICAgICAgIGZ1bmN0aW9uIGlzSW5kZXgodmFsdWUsIGxlbmd0aCkge1xuICAgICAgICAgIHZhciB0eXBlID0gdHlwZW9mIHZhbHVlO1xuICAgICAgICAgIGxlbmd0aCA9IGxlbmd0aCA9PSBudWxsID8gTUFYX1NBRkVfSU5URUdFUiA6IGxlbmd0aDtcbiAgICAgICAgICByZXR1cm4gISFsZW5ndGggJiYgKHR5cGUgPT0gXCJudW1iZXJcIiB8fCB0eXBlICE9IFwic3ltYm9sXCIgJiYgcmVJc1VpbnQudGVzdCh2YWx1ZSkpICYmICh2YWx1ZSA+IC0xICYmIHZhbHVlICUgMSA9PSAwICYmIHZhbHVlIDwgbGVuZ3RoKTtcbiAgICAgICAgfVxuICAgICAgICBmdW5jdGlvbiBpc0l0ZXJhdGVlQ2FsbCh2YWx1ZSwgaW5kZXgsIG9iamVjdCkge1xuICAgICAgICAgIGlmICghaXNPYmplY3Qob2JqZWN0KSkge1xuICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICAgIH1cbiAgICAgICAgICB2YXIgdHlwZSA9IHR5cGVvZiBpbmRleDtcbiAgICAgICAgICBpZiAodHlwZSA9PSBcIm51bWJlclwiID8gaXNBcnJheUxpa2Uob2JqZWN0KSAmJiBpc0luZGV4KGluZGV4LCBvYmplY3QubGVuZ3RoKSA6IHR5cGUgPT0gXCJzdHJpbmdcIiAmJiBpbmRleCBpbiBvYmplY3QpIHtcbiAgICAgICAgICAgIHJldHVybiBlcShvYmplY3RbaW5kZXhdLCB2YWx1ZSk7XG4gICAgICAgICAgfVxuICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgfVxuICAgICAgICBmdW5jdGlvbiBpc0tleSh2YWx1ZSwgb2JqZWN0KSB7XG4gICAgICAgICAgaWYgKGlzQXJyYXkodmFsdWUpKSB7XG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgICAgfVxuICAgICAgICAgIHZhciB0eXBlID0gdHlwZW9mIHZhbHVlO1xuICAgICAgICAgIGlmICh0eXBlID09IFwibnVtYmVyXCIgfHwgdHlwZSA9PSBcInN5bWJvbFwiIHx8IHR5cGUgPT0gXCJib29sZWFuXCIgfHwgdmFsdWUgPT0gbnVsbCB8fCBpc1N5bWJvbCh2YWx1ZSkpIHtcbiAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICAgIH1cbiAgICAgICAgICByZXR1cm4gcmVJc1BsYWluUHJvcC50ZXN0KHZhbHVlKSB8fCAhcmVJc0RlZXBQcm9wLnRlc3QodmFsdWUpIHx8IG9iamVjdCAhPSBudWxsICYmIHZhbHVlIGluIE9iamVjdDIob2JqZWN0KTtcbiAgICAgICAgfVxuICAgICAgICBmdW5jdGlvbiBpc0tleWFibGUodmFsdWUpIHtcbiAgICAgICAgICB2YXIgdHlwZSA9IHR5cGVvZiB2YWx1ZTtcbiAgICAgICAgICByZXR1cm4gdHlwZSA9PSBcInN0cmluZ1wiIHx8IHR5cGUgPT0gXCJudW1iZXJcIiB8fCB0eXBlID09IFwic3ltYm9sXCIgfHwgdHlwZSA9PSBcImJvb2xlYW5cIiA/IHZhbHVlICE9PSBcIl9fcHJvdG9fX1wiIDogdmFsdWUgPT09IG51bGw7XG4gICAgICAgIH1cbiAgICAgICAgZnVuY3Rpb24gaXNMYXppYWJsZShmdW5jKSB7XG4gICAgICAgICAgdmFyIGZ1bmNOYW1lID0gZ2V0RnVuY05hbWUoZnVuYyksIG90aGVyID0gbG9kYXNoW2Z1bmNOYW1lXTtcbiAgICAgICAgICBpZiAodHlwZW9mIG90aGVyICE9IFwiZnVuY3Rpb25cIiB8fCAhKGZ1bmNOYW1lIGluIExhenlXcmFwcGVyLnByb3RvdHlwZSkpIHtcbiAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgICB9XG4gICAgICAgICAgaWYgKGZ1bmMgPT09IG90aGVyKSB7XG4gICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgICB9XG4gICAgICAgICAgdmFyIGRhdGEgPSBnZXREYXRhKG90aGVyKTtcbiAgICAgICAgICByZXR1cm4gISFkYXRhICYmIGZ1bmMgPT09IGRhdGFbMF07XG4gICAgICAgIH1cbiAgICAgICAgZnVuY3Rpb24gaXNNYXNrZWQoZnVuYykge1xuICAgICAgICAgIHJldHVybiAhIW1hc2tTcmNLZXkgJiYgbWFza1NyY0tleSBpbiBmdW5jO1xuICAgICAgICB9XG4gICAgICAgIHZhciBpc01hc2thYmxlID0gY29yZUpzRGF0YSA/IGlzRnVuY3Rpb24gOiBzdHViRmFsc2U7XG4gICAgICAgIGZ1bmN0aW9uIGlzUHJvdG90eXBlKHZhbHVlKSB7XG4gICAgICAgICAgdmFyIEN0b3IgPSB2YWx1ZSAmJiB2YWx1ZS5jb25zdHJ1Y3RvciwgcHJvdG8gPSB0eXBlb2YgQ3RvciA9PSBcImZ1bmN0aW9uXCIgJiYgQ3Rvci5wcm90b3R5cGUgfHwgb2JqZWN0UHJvdG87XG4gICAgICAgICAgcmV0dXJuIHZhbHVlID09PSBwcm90bztcbiAgICAgICAgfVxuICAgICAgICBmdW5jdGlvbiBpc1N0cmljdENvbXBhcmFibGUodmFsdWUpIHtcbiAgICAgICAgICByZXR1cm4gdmFsdWUgPT09IHZhbHVlICYmICFpc09iamVjdCh2YWx1ZSk7XG4gICAgICAgIH1cbiAgICAgICAgZnVuY3Rpb24gbWF0Y2hlc1N0cmljdENvbXBhcmFibGUoa2V5LCBzcmNWYWx1ZSkge1xuICAgICAgICAgIHJldHVybiBmdW5jdGlvbihvYmplY3QpIHtcbiAgICAgICAgICAgIGlmIChvYmplY3QgPT0gbnVsbCkge1xuICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXR1cm4gb2JqZWN0W2tleV0gPT09IHNyY1ZhbHVlICYmIChzcmNWYWx1ZSAhPT0gdW5kZWZpbmVkMiB8fCBrZXkgaW4gT2JqZWN0MihvYmplY3QpKTtcbiAgICAgICAgICB9O1xuICAgICAgICB9XG4gICAgICAgIGZ1bmN0aW9uIG1lbW9pemVDYXBwZWQoZnVuYykge1xuICAgICAgICAgIHZhciByZXN1bHQyID0gbWVtb2l6ZShmdW5jLCBmdW5jdGlvbihrZXkpIHtcbiAgICAgICAgICAgIGlmIChjYWNoZS5zaXplID09PSBNQVhfTUVNT0laRV9TSVpFKSB7XG4gICAgICAgICAgICAgIGNhY2hlLmNsZWFyKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXR1cm4ga2V5O1xuICAgICAgICAgIH0pO1xuICAgICAgICAgIHZhciBjYWNoZSA9IHJlc3VsdDIuY2FjaGU7XG4gICAgICAgICAgcmV0dXJuIHJlc3VsdDI7XG4gICAgICAgIH1cbiAgICAgICAgZnVuY3Rpb24gbWVyZ2VEYXRhKGRhdGEsIHNvdXJjZSkge1xuICAgICAgICAgIHZhciBiaXRtYXNrID0gZGF0YVsxXSwgc3JjQml0bWFzayA9IHNvdXJjZVsxXSwgbmV3Qml0bWFzayA9IGJpdG1hc2sgfCBzcmNCaXRtYXNrLCBpc0NvbW1vbiA9IG5ld0JpdG1hc2sgPCAoV1JBUF9CSU5EX0ZMQUcgfCBXUkFQX0JJTkRfS0VZX0ZMQUcgfCBXUkFQX0FSWV9GTEFHKTtcbiAgICAgICAgICB2YXIgaXNDb21ibyA9IHNyY0JpdG1hc2sgPT0gV1JBUF9BUllfRkxBRyAmJiBiaXRtYXNrID09IFdSQVBfQ1VSUllfRkxBRyB8fCBzcmNCaXRtYXNrID09IFdSQVBfQVJZX0ZMQUcgJiYgYml0bWFzayA9PSBXUkFQX1JFQVJHX0ZMQUcgJiYgZGF0YVs3XS5sZW5ndGggPD0gc291cmNlWzhdIHx8IHNyY0JpdG1hc2sgPT0gKFdSQVBfQVJZX0ZMQUcgfCBXUkFQX1JFQVJHX0ZMQUcpICYmIHNvdXJjZVs3XS5sZW5ndGggPD0gc291cmNlWzhdICYmIGJpdG1hc2sgPT0gV1JBUF9DVVJSWV9GTEFHO1xuICAgICAgICAgIGlmICghKGlzQ29tbW9uIHx8IGlzQ29tYm8pKSB7XG4gICAgICAgICAgICByZXR1cm4gZGF0YTtcbiAgICAgICAgICB9XG4gICAgICAgICAgaWYgKHNyY0JpdG1hc2sgJiBXUkFQX0JJTkRfRkxBRykge1xuICAgICAgICAgICAgZGF0YVsyXSA9IHNvdXJjZVsyXTtcbiAgICAgICAgICAgIG5ld0JpdG1hc2sgfD0gYml0bWFzayAmIFdSQVBfQklORF9GTEFHID8gMCA6IFdSQVBfQ1VSUllfQk9VTkRfRkxBRztcbiAgICAgICAgICB9XG4gICAgICAgICAgdmFyIHZhbHVlID0gc291cmNlWzNdO1xuICAgICAgICAgIGlmICh2YWx1ZSkge1xuICAgICAgICAgICAgdmFyIHBhcnRpYWxzID0gZGF0YVszXTtcbiAgICAgICAgICAgIGRhdGFbM10gPSBwYXJ0aWFscyA/IGNvbXBvc2VBcmdzKHBhcnRpYWxzLCB2YWx1ZSwgc291cmNlWzRdKSA6IHZhbHVlO1xuICAgICAgICAgICAgZGF0YVs0XSA9IHBhcnRpYWxzID8gcmVwbGFjZUhvbGRlcnMoZGF0YVszXSwgUExBQ0VIT0xERVIpIDogc291cmNlWzRdO1xuICAgICAgICAgIH1cbiAgICAgICAgICB2YWx1ZSA9IHNvdXJjZVs1XTtcbiAgICAgICAgICBpZiAodmFsdWUpIHtcbiAgICAgICAgICAgIHBhcnRpYWxzID0gZGF0YVs1XTtcbiAgICAgICAgICAgIGRhdGFbNV0gPSBwYXJ0aWFscyA/IGNvbXBvc2VBcmdzUmlnaHQocGFydGlhbHMsIHZhbHVlLCBzb3VyY2VbNl0pIDogdmFsdWU7XG4gICAgICAgICAgICBkYXRhWzZdID0gcGFydGlhbHMgPyByZXBsYWNlSG9sZGVycyhkYXRhWzVdLCBQTEFDRUhPTERFUikgOiBzb3VyY2VbNl07XG4gICAgICAgICAgfVxuICAgICAgICAgIHZhbHVlID0gc291cmNlWzddO1xuICAgICAgICAgIGlmICh2YWx1ZSkge1xuICAgICAgICAgICAgZGF0YVs3XSA9IHZhbHVlO1xuICAgICAgICAgIH1cbiAgICAgICAgICBpZiAoc3JjQml0bWFzayAmIFdSQVBfQVJZX0ZMQUcpIHtcbiAgICAgICAgICAgIGRhdGFbOF0gPSBkYXRhWzhdID09IG51bGwgPyBzb3VyY2VbOF0gOiBuYXRpdmVNaW4oZGF0YVs4XSwgc291cmNlWzhdKTtcbiAgICAgICAgICB9XG4gICAgICAgICAgaWYgKGRhdGFbOV0gPT0gbnVsbCkge1xuICAgICAgICAgICAgZGF0YVs5XSA9IHNvdXJjZVs5XTtcbiAgICAgICAgICB9XG4gICAgICAgICAgZGF0YVswXSA9IHNvdXJjZVswXTtcbiAgICAgICAgICBkYXRhWzFdID0gbmV3Qml0bWFzaztcbiAgICAgICAgICByZXR1cm4gZGF0YTtcbiAgICAgICAgfVxuICAgICAgICBmdW5jdGlvbiBuYXRpdmVLZXlzSW4ob2JqZWN0KSB7XG4gICAgICAgICAgdmFyIHJlc3VsdDIgPSBbXTtcbiAgICAgICAgICBpZiAob2JqZWN0ICE9IG51bGwpIHtcbiAgICAgICAgICAgIGZvciAodmFyIGtleSBpbiBPYmplY3QyKG9iamVjdCkpIHtcbiAgICAgICAgICAgICAgcmVzdWx0Mi5wdXNoKGtleSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICAgIHJldHVybiByZXN1bHQyO1xuICAgICAgICB9XG4gICAgICAgIGZ1bmN0aW9uIG9iamVjdFRvU3RyaW5nKHZhbHVlKSB7XG4gICAgICAgICAgcmV0dXJuIG5hdGl2ZU9iamVjdFRvU3RyaW5nLmNhbGwodmFsdWUpO1xuICAgICAgICB9XG4gICAgICAgIGZ1bmN0aW9uIG92ZXJSZXN0KGZ1bmMsIHN0YXJ0LCB0cmFuc2Zvcm0yKSB7XG4gICAgICAgICAgc3RhcnQgPSBuYXRpdmVNYXgoc3RhcnQgPT09IHVuZGVmaW5lZDIgPyBmdW5jLmxlbmd0aCAtIDEgOiBzdGFydCwgMCk7XG4gICAgICAgICAgcmV0dXJuIGZ1bmN0aW9uKCkge1xuICAgICAgICAgICAgdmFyIGFyZ3MgPSBhcmd1bWVudHMsIGluZGV4ID0gLTEsIGxlbmd0aCA9IG5hdGl2ZU1heChhcmdzLmxlbmd0aCAtIHN0YXJ0LCAwKSwgYXJyYXkgPSBBcnJheTIobGVuZ3RoKTtcbiAgICAgICAgICAgIHdoaWxlICgrK2luZGV4IDwgbGVuZ3RoKSB7XG4gICAgICAgICAgICAgIGFycmF5W2luZGV4XSA9IGFyZ3Nbc3RhcnQgKyBpbmRleF07XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpbmRleCA9IC0xO1xuICAgICAgICAgICAgdmFyIG90aGVyQXJncyA9IEFycmF5MihzdGFydCArIDEpO1xuICAgICAgICAgICAgd2hpbGUgKCsraW5kZXggPCBzdGFydCkge1xuICAgICAgICAgICAgICBvdGhlckFyZ3NbaW5kZXhdID0gYXJnc1tpbmRleF07XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBvdGhlckFyZ3Nbc3RhcnRdID0gdHJhbnNmb3JtMihhcnJheSk7XG4gICAgICAgICAgICByZXR1cm4gYXBwbHkoZnVuYywgdGhpcywgb3RoZXJBcmdzKTtcbiAgICAgICAgICB9O1xuICAgICAgICB9XG4gICAgICAgIGZ1bmN0aW9uIHBhcmVudChvYmplY3QsIHBhdGgpIHtcbiAgICAgICAgICByZXR1cm4gcGF0aC5sZW5ndGggPCAyID8gb2JqZWN0IDogYmFzZUdldChvYmplY3QsIGJhc2VTbGljZShwYXRoLCAwLCAtMSkpO1xuICAgICAgICB9XG4gICAgICAgIGZ1bmN0aW9uIHJlb3JkZXIoYXJyYXksIGluZGV4ZXMpIHtcbiAgICAgICAgICB2YXIgYXJyTGVuZ3RoID0gYXJyYXkubGVuZ3RoLCBsZW5ndGggPSBuYXRpdmVNaW4oaW5kZXhlcy5sZW5ndGgsIGFyckxlbmd0aCksIG9sZEFycmF5ID0gY29weUFycmF5KGFycmF5KTtcbiAgICAgICAgICB3aGlsZSAobGVuZ3RoLS0pIHtcbiAgICAgICAgICAgIHZhciBpbmRleCA9IGluZGV4ZXNbbGVuZ3RoXTtcbiAgICAgICAgICAgIGFycmF5W2xlbmd0aF0gPSBpc0luZGV4KGluZGV4LCBhcnJMZW5ndGgpID8gb2xkQXJyYXlbaW5kZXhdIDogdW5kZWZpbmVkMjtcbiAgICAgICAgICB9XG4gICAgICAgICAgcmV0dXJuIGFycmF5O1xuICAgICAgICB9XG4gICAgICAgIGZ1bmN0aW9uIHNhZmVHZXQob2JqZWN0LCBrZXkpIHtcbiAgICAgICAgICBpZiAoa2V5ID09PSBcImNvbnN0cnVjdG9yXCIgJiYgdHlwZW9mIG9iamVjdFtrZXldID09PSBcImZ1bmN0aW9uXCIpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICB9XG4gICAgICAgICAgaWYgKGtleSA9PSBcIl9fcHJvdG9fX1wiKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgfVxuICAgICAgICAgIHJldHVybiBvYmplY3Rba2V5XTtcbiAgICAgICAgfVxuICAgICAgICB2YXIgc2V0RGF0YSA9IHNob3J0T3V0KGJhc2VTZXREYXRhKTtcbiAgICAgICAgdmFyIHNldFRpbWVvdXQgPSBjdHhTZXRUaW1lb3V0IHx8IGZ1bmN0aW9uKGZ1bmMsIHdhaXQpIHtcbiAgICAgICAgICByZXR1cm4gcm9vdC5zZXRUaW1lb3V0KGZ1bmMsIHdhaXQpO1xuICAgICAgICB9O1xuICAgICAgICB2YXIgc2V0VG9TdHJpbmcgPSBzaG9ydE91dChiYXNlU2V0VG9TdHJpbmcpO1xuICAgICAgICBmdW5jdGlvbiBzZXRXcmFwVG9TdHJpbmcod3JhcHBlciwgcmVmZXJlbmNlLCBiaXRtYXNrKSB7XG4gICAgICAgICAgdmFyIHNvdXJjZSA9IHJlZmVyZW5jZSArIFwiXCI7XG4gICAgICAgICAgcmV0dXJuIHNldFRvU3RyaW5nKHdyYXBwZXIsIGluc2VydFdyYXBEZXRhaWxzKHNvdXJjZSwgdXBkYXRlV3JhcERldGFpbHMoZ2V0V3JhcERldGFpbHMoc291cmNlKSwgYml0bWFzaykpKTtcbiAgICAgICAgfVxuICAgICAgICBmdW5jdGlvbiBzaG9ydE91dChmdW5jKSB7XG4gICAgICAgICAgdmFyIGNvdW50ID0gMCwgbGFzdENhbGxlZCA9IDA7XG4gICAgICAgICAgcmV0dXJuIGZ1bmN0aW9uKCkge1xuICAgICAgICAgICAgdmFyIHN0YW1wID0gbmF0aXZlTm93KCksIHJlbWFpbmluZyA9IEhPVF9TUEFOIC0gKHN0YW1wIC0gbGFzdENhbGxlZCk7XG4gICAgICAgICAgICBsYXN0Q2FsbGVkID0gc3RhbXA7XG4gICAgICAgICAgICBpZiAocmVtYWluaW5nID4gMCkge1xuICAgICAgICAgICAgICBpZiAoKytjb3VudCA+PSBIT1RfQ09VTlQpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gYXJndW1lbnRzWzBdO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICBjb3VudCA9IDA7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXR1cm4gZnVuYy5hcHBseSh1bmRlZmluZWQyLCBhcmd1bWVudHMpO1xuICAgICAgICAgIH07XG4gICAgICAgIH1cbiAgICAgICAgZnVuY3Rpb24gc2h1ZmZsZVNlbGYoYXJyYXksIHNpemUyKSB7XG4gICAgICAgICAgdmFyIGluZGV4ID0gLTEsIGxlbmd0aCA9IGFycmF5Lmxlbmd0aCwgbGFzdEluZGV4ID0gbGVuZ3RoIC0gMTtcbiAgICAgICAgICBzaXplMiA9IHNpemUyID09PSB1bmRlZmluZWQyID8gbGVuZ3RoIDogc2l6ZTI7XG4gICAgICAgICAgd2hpbGUgKCsraW5kZXggPCBzaXplMikge1xuICAgICAgICAgICAgdmFyIHJhbmQgPSBiYXNlUmFuZG9tKGluZGV4LCBsYXN0SW5kZXgpLCB2YWx1ZSA9IGFycmF5W3JhbmRdO1xuICAgICAgICAgICAgYXJyYXlbcmFuZF0gPSBhcnJheVtpbmRleF07XG4gICAgICAgICAgICBhcnJheVtpbmRleF0gPSB2YWx1ZTtcbiAgICAgICAgICB9XG4gICAgICAgICAgYXJyYXkubGVuZ3RoID0gc2l6ZTI7XG4gICAgICAgICAgcmV0dXJuIGFycmF5O1xuICAgICAgICB9XG4gICAgICAgIHZhciBzdHJpbmdUb1BhdGggPSBtZW1vaXplQ2FwcGVkKGZ1bmN0aW9uKHN0cmluZykge1xuICAgICAgICAgIHZhciByZXN1bHQyID0gW107XG4gICAgICAgICAgaWYgKHN0cmluZy5jaGFyQ29kZUF0KDApID09PSA0Nikge1xuICAgICAgICAgICAgcmVzdWx0Mi5wdXNoKFwiXCIpO1xuICAgICAgICAgIH1cbiAgICAgICAgICBzdHJpbmcucmVwbGFjZShyZVByb3BOYW1lLCBmdW5jdGlvbihtYXRjaCwgbnVtYmVyLCBxdW90ZSwgc3ViU3RyaW5nKSB7XG4gICAgICAgICAgICByZXN1bHQyLnB1c2gocXVvdGUgPyBzdWJTdHJpbmcucmVwbGFjZShyZUVzY2FwZUNoYXIsIFwiJDFcIikgOiBudW1iZXIgfHwgbWF0Y2gpO1xuICAgICAgICAgIH0pO1xuICAgICAgICAgIHJldHVybiByZXN1bHQyO1xuICAgICAgICB9KTtcbiAgICAgICAgZnVuY3Rpb24gdG9LZXkodmFsdWUpIHtcbiAgICAgICAgICBpZiAodHlwZW9mIHZhbHVlID09IFwic3RyaW5nXCIgfHwgaXNTeW1ib2wodmFsdWUpKSB7XG4gICAgICAgICAgICByZXR1cm4gdmFsdWU7XG4gICAgICAgICAgfVxuICAgICAgICAgIHZhciByZXN1bHQyID0gdmFsdWUgKyBcIlwiO1xuICAgICAgICAgIHJldHVybiByZXN1bHQyID09IFwiMFwiICYmIDEgLyB2YWx1ZSA9PSAtSU5GSU5JVFkgPyBcIi0wXCIgOiByZXN1bHQyO1xuICAgICAgICB9XG4gICAgICAgIGZ1bmN0aW9uIHRvU291cmNlKGZ1bmMpIHtcbiAgICAgICAgICBpZiAoZnVuYyAhPSBudWxsKSB7XG4gICAgICAgICAgICB0cnkge1xuICAgICAgICAgICAgICByZXR1cm4gZnVuY1RvU3RyaW5nLmNhbGwoZnVuYyk7XG4gICAgICAgICAgICB9IGNhdGNoIChlKSB7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICB0cnkge1xuICAgICAgICAgICAgICByZXR1cm4gZnVuYyArIFwiXCI7XG4gICAgICAgICAgICB9IGNhdGNoIChlKSB7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICAgIHJldHVybiBcIlwiO1xuICAgICAgICB9XG4gICAgICAgIGZ1bmN0aW9uIHVwZGF0ZVdyYXBEZXRhaWxzKGRldGFpbHMsIGJpdG1hc2spIHtcbiAgICAgICAgICBhcnJheUVhY2god3JhcEZsYWdzLCBmdW5jdGlvbihwYWlyKSB7XG4gICAgICAgICAgICB2YXIgdmFsdWUgPSBcIl8uXCIgKyBwYWlyWzBdO1xuICAgICAgICAgICAgaWYgKGJpdG1hc2sgJiBwYWlyWzFdICYmICFhcnJheUluY2x1ZGVzKGRldGFpbHMsIHZhbHVlKSkge1xuICAgICAgICAgICAgICBkZXRhaWxzLnB1c2godmFsdWUpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH0pO1xuICAgICAgICAgIHJldHVybiBkZXRhaWxzLnNvcnQoKTtcbiAgICAgICAgfVxuICAgICAgICBmdW5jdGlvbiB3cmFwcGVyQ2xvbmUod3JhcHBlcikge1xuICAgICAgICAgIGlmICh3cmFwcGVyIGluc3RhbmNlb2YgTGF6eVdyYXBwZXIpIHtcbiAgICAgICAgICAgIHJldHVybiB3cmFwcGVyLmNsb25lKCk7XG4gICAgICAgICAgfVxuICAgICAgICAgIHZhciByZXN1bHQyID0gbmV3IExvZGFzaFdyYXBwZXIod3JhcHBlci5fX3dyYXBwZWRfXywgd3JhcHBlci5fX2NoYWluX18pO1xuICAgICAgICAgIHJlc3VsdDIuX19hY3Rpb25zX18gPSBjb3B5QXJyYXkod3JhcHBlci5fX2FjdGlvbnNfXyk7XG4gICAgICAgICAgcmVzdWx0Mi5fX2luZGV4X18gPSB3cmFwcGVyLl9faW5kZXhfXztcbiAgICAgICAgICByZXN1bHQyLl9fdmFsdWVzX18gPSB3cmFwcGVyLl9fdmFsdWVzX187XG4gICAgICAgICAgcmV0dXJuIHJlc3VsdDI7XG4gICAgICAgIH1cbiAgICAgICAgZnVuY3Rpb24gY2h1bmsoYXJyYXksIHNpemUyLCBndWFyZCkge1xuICAgICAgICAgIGlmIChndWFyZCA/IGlzSXRlcmF0ZWVDYWxsKGFycmF5LCBzaXplMiwgZ3VhcmQpIDogc2l6ZTIgPT09IHVuZGVmaW5lZDIpIHtcbiAgICAgICAgICAgIHNpemUyID0gMTtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgc2l6ZTIgPSBuYXRpdmVNYXgodG9JbnRlZ2VyKHNpemUyKSwgMCk7XG4gICAgICAgICAgfVxuICAgICAgICAgIHZhciBsZW5ndGggPSBhcnJheSA9PSBudWxsID8gMCA6IGFycmF5Lmxlbmd0aDtcbiAgICAgICAgICBpZiAoIWxlbmd0aCB8fCBzaXplMiA8IDEpIHtcbiAgICAgICAgICAgIHJldHVybiBbXTtcbiAgICAgICAgICB9XG4gICAgICAgICAgdmFyIGluZGV4ID0gMCwgcmVzSW5kZXggPSAwLCByZXN1bHQyID0gQXJyYXkyKG5hdGl2ZUNlaWwobGVuZ3RoIC8gc2l6ZTIpKTtcbiAgICAgICAgICB3aGlsZSAoaW5kZXggPCBsZW5ndGgpIHtcbiAgICAgICAgICAgIHJlc3VsdDJbcmVzSW5kZXgrK10gPSBiYXNlU2xpY2UoYXJyYXksIGluZGV4LCBpbmRleCArPSBzaXplMik7XG4gICAgICAgICAgfVxuICAgICAgICAgIHJldHVybiByZXN1bHQyO1xuICAgICAgICB9XG4gICAgICAgIGZ1bmN0aW9uIGNvbXBhY3QoYXJyYXkpIHtcbiAgICAgICAgICB2YXIgaW5kZXggPSAtMSwgbGVuZ3RoID0gYXJyYXkgPT0gbnVsbCA/IDAgOiBhcnJheS5sZW5ndGgsIHJlc0luZGV4ID0gMCwgcmVzdWx0MiA9IFtdO1xuICAgICAgICAgIHdoaWxlICgrK2luZGV4IDwgbGVuZ3RoKSB7XG4gICAgICAgICAgICB2YXIgdmFsdWUgPSBhcnJheVtpbmRleF07XG4gICAgICAgICAgICBpZiAodmFsdWUpIHtcbiAgICAgICAgICAgICAgcmVzdWx0MltyZXNJbmRleCsrXSA9IHZhbHVlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgICByZXR1cm4gcmVzdWx0MjtcbiAgICAgICAgfVxuICAgICAgICBmdW5jdGlvbiBjb25jYXQoKSB7XG4gICAgICAgICAgdmFyIGxlbmd0aCA9IGFyZ3VtZW50cy5sZW5ndGg7XG4gICAgICAgICAgaWYgKCFsZW5ndGgpIHtcbiAgICAgICAgICAgIHJldHVybiBbXTtcbiAgICAgICAgICB9XG4gICAgICAgICAgdmFyIGFyZ3MgPSBBcnJheTIobGVuZ3RoIC0gMSksIGFycmF5ID0gYXJndW1lbnRzWzBdLCBpbmRleCA9IGxlbmd0aDtcbiAgICAgICAgICB3aGlsZSAoaW5kZXgtLSkge1xuICAgICAgICAgICAgYXJnc1tpbmRleCAtIDFdID0gYXJndW1lbnRzW2luZGV4XTtcbiAgICAgICAgICB9XG4gICAgICAgICAgcmV0dXJuIGFycmF5UHVzaChpc0FycmF5KGFycmF5KSA/IGNvcHlBcnJheShhcnJheSkgOiBbYXJyYXldLCBiYXNlRmxhdHRlbihhcmdzLCAxKSk7XG4gICAgICAgIH1cbiAgICAgICAgdmFyIGRpZmZlcmVuY2UgPSBiYXNlUmVzdChmdW5jdGlvbihhcnJheSwgdmFsdWVzMikge1xuICAgICAgICAgIHJldHVybiBpc0FycmF5TGlrZU9iamVjdChhcnJheSkgPyBiYXNlRGlmZmVyZW5jZShhcnJheSwgYmFzZUZsYXR0ZW4odmFsdWVzMiwgMSwgaXNBcnJheUxpa2VPYmplY3QsIHRydWUpKSA6IFtdO1xuICAgICAgICB9KTtcbiAgICAgICAgdmFyIGRpZmZlcmVuY2VCeSA9IGJhc2VSZXN0KGZ1bmN0aW9uKGFycmF5LCB2YWx1ZXMyKSB7XG4gICAgICAgICAgdmFyIGl0ZXJhdGVlMiA9IGxhc3QodmFsdWVzMik7XG4gICAgICAgICAgaWYgKGlzQXJyYXlMaWtlT2JqZWN0KGl0ZXJhdGVlMikpIHtcbiAgICAgICAgICAgIGl0ZXJhdGVlMiA9IHVuZGVmaW5lZDI7XG4gICAgICAgICAgfVxuICAgICAgICAgIHJldHVybiBpc0FycmF5TGlrZU9iamVjdChhcnJheSkgPyBiYXNlRGlmZmVyZW5jZShhcnJheSwgYmFzZUZsYXR0ZW4odmFsdWVzMiwgMSwgaXNBcnJheUxpa2VPYmplY3QsIHRydWUpLCBnZXRJdGVyYXRlZShpdGVyYXRlZTIsIDIpKSA6IFtdO1xuICAgICAgICB9KTtcbiAgICAgICAgdmFyIGRpZmZlcmVuY2VXaXRoID0gYmFzZVJlc3QoZnVuY3Rpb24oYXJyYXksIHZhbHVlczIpIHtcbiAgICAgICAgICB2YXIgY29tcGFyYXRvciA9IGxhc3QodmFsdWVzMik7XG4gICAgICAgICAgaWYgKGlzQXJyYXlMaWtlT2JqZWN0KGNvbXBhcmF0b3IpKSB7XG4gICAgICAgICAgICBjb21wYXJhdG9yID0gdW5kZWZpbmVkMjtcbiAgICAgICAgICB9XG4gICAgICAgICAgcmV0dXJuIGlzQXJyYXlMaWtlT2JqZWN0KGFycmF5KSA/IGJhc2VEaWZmZXJlbmNlKGFycmF5LCBiYXNlRmxhdHRlbih2YWx1ZXMyLCAxLCBpc0FycmF5TGlrZU9iamVjdCwgdHJ1ZSksIHVuZGVmaW5lZDIsIGNvbXBhcmF0b3IpIDogW107XG4gICAgICAgIH0pO1xuICAgICAgICBmdW5jdGlvbiBkcm9wKGFycmF5LCBuLCBndWFyZCkge1xuICAgICAgICAgIHZhciBsZW5ndGggPSBhcnJheSA9PSBudWxsID8gMCA6IGFycmF5Lmxlbmd0aDtcbiAgICAgICAgICBpZiAoIWxlbmd0aCkge1xuICAgICAgICAgICAgcmV0dXJuIFtdO1xuICAgICAgICAgIH1cbiAgICAgICAgICBuID0gZ3VhcmQgfHwgbiA9PT0gdW5kZWZpbmVkMiA/IDEgOiB0b0ludGVnZXIobik7XG4gICAgICAgICAgcmV0dXJuIGJhc2VTbGljZShhcnJheSwgbiA8IDAgPyAwIDogbiwgbGVuZ3RoKTtcbiAgICAgICAgfVxuICAgICAgICBmdW5jdGlvbiBkcm9wUmlnaHQoYXJyYXksIG4sIGd1YXJkKSB7XG4gICAgICAgICAgdmFyIGxlbmd0aCA9IGFycmF5ID09IG51bGwgPyAwIDogYXJyYXkubGVuZ3RoO1xuICAgICAgICAgIGlmICghbGVuZ3RoKSB7XG4gICAgICAgICAgICByZXR1cm4gW107XG4gICAgICAgICAgfVxuICAgICAgICAgIG4gPSBndWFyZCB8fCBuID09PSB1bmRlZmluZWQyID8gMSA6IHRvSW50ZWdlcihuKTtcbiAgICAgICAgICBuID0gbGVuZ3RoIC0gbjtcbiAgICAgICAgICByZXR1cm4gYmFzZVNsaWNlKGFycmF5LCAwLCBuIDwgMCA/IDAgOiBuKTtcbiAgICAgICAgfVxuICAgICAgICBmdW5jdGlvbiBkcm9wUmlnaHRXaGlsZShhcnJheSwgcHJlZGljYXRlKSB7XG4gICAgICAgICAgcmV0dXJuIGFycmF5ICYmIGFycmF5Lmxlbmd0aCA/IGJhc2VXaGlsZShhcnJheSwgZ2V0SXRlcmF0ZWUocHJlZGljYXRlLCAzKSwgdHJ1ZSwgdHJ1ZSkgOiBbXTtcbiAgICAgICAgfVxuICAgICAgICBmdW5jdGlvbiBkcm9wV2hpbGUoYXJyYXksIHByZWRpY2F0ZSkge1xuICAgICAgICAgIHJldHVybiBhcnJheSAmJiBhcnJheS5sZW5ndGggPyBiYXNlV2hpbGUoYXJyYXksIGdldEl0ZXJhdGVlKHByZWRpY2F0ZSwgMyksIHRydWUpIDogW107XG4gICAgICAgIH1cbiAgICAgICAgZnVuY3Rpb24gZmlsbChhcnJheSwgdmFsdWUsIHN0YXJ0LCBlbmQpIHtcbiAgICAgICAgICB2YXIgbGVuZ3RoID0gYXJyYXkgPT0gbnVsbCA/IDAgOiBhcnJheS5sZW5ndGg7XG4gICAgICAgICAgaWYgKCFsZW5ndGgpIHtcbiAgICAgICAgICAgIHJldHVybiBbXTtcbiAgICAgICAgICB9XG4gICAgICAgICAgaWYgKHN0YXJ0ICYmIHR5cGVvZiBzdGFydCAhPSBcIm51bWJlclwiICYmIGlzSXRlcmF0ZWVDYWxsKGFycmF5LCB2YWx1ZSwgc3RhcnQpKSB7XG4gICAgICAgICAgICBzdGFydCA9IDA7XG4gICAgICAgICAgICBlbmQgPSBsZW5ndGg7XG4gICAgICAgICAgfVxuICAgICAgICAgIHJldHVybiBiYXNlRmlsbChhcnJheSwgdmFsdWUsIHN0YXJ0LCBlbmQpO1xuICAgICAgICB9XG4gICAgICAgIGZ1bmN0aW9uIGZpbmRJbmRleChhcnJheSwgcHJlZGljYXRlLCBmcm9tSW5kZXgpIHtcbiAgICAgICAgICB2YXIgbGVuZ3RoID0gYXJyYXkgPT0gbnVsbCA/IDAgOiBhcnJheS5sZW5ndGg7XG4gICAgICAgICAgaWYgKCFsZW5ndGgpIHtcbiAgICAgICAgICAgIHJldHVybiAtMTtcbiAgICAgICAgICB9XG4gICAgICAgICAgdmFyIGluZGV4ID0gZnJvbUluZGV4ID09IG51bGwgPyAwIDogdG9JbnRlZ2VyKGZyb21JbmRleCk7XG4gICAgICAgICAgaWYgKGluZGV4IDwgMCkge1xuICAgICAgICAgICAgaW5kZXggPSBuYXRpdmVNYXgobGVuZ3RoICsgaW5kZXgsIDApO1xuICAgICAgICAgIH1cbiAgICAgICAgICByZXR1cm4gYmFzZUZpbmRJbmRleChhcnJheSwgZ2V0SXRlcmF0ZWUocHJlZGljYXRlLCAzKSwgaW5kZXgpO1xuICAgICAgICB9XG4gICAgICAgIGZ1bmN0aW9uIGZpbmRMYXN0SW5kZXgoYXJyYXksIHByZWRpY2F0ZSwgZnJvbUluZGV4KSB7XG4gICAgICAgICAgdmFyIGxlbmd0aCA9IGFycmF5ID09IG51bGwgPyAwIDogYXJyYXkubGVuZ3RoO1xuICAgICAgICAgIGlmICghbGVuZ3RoKSB7XG4gICAgICAgICAgICByZXR1cm4gLTE7XG4gICAgICAgICAgfVxuICAgICAgICAgIHZhciBpbmRleCA9IGxlbmd0aCAtIDE7XG4gICAgICAgICAgaWYgKGZyb21JbmRleCAhPT0gdW5kZWZpbmVkMikge1xuICAgICAgICAgICAgaW5kZXggPSB0b0ludGVnZXIoZnJvbUluZGV4KTtcbiAgICAgICAgICAgIGluZGV4ID0gZnJvbUluZGV4IDwgMCA/IG5hdGl2ZU1heChsZW5ndGggKyBpbmRleCwgMCkgOiBuYXRpdmVNaW4oaW5kZXgsIGxlbmd0aCAtIDEpO1xuICAgICAgICAgIH1cbiAgICAgICAgICByZXR1cm4gYmFzZUZpbmRJbmRleChhcnJheSwgZ2V0SXRlcmF0ZWUocHJlZGljYXRlLCAzKSwgaW5kZXgsIHRydWUpO1xuICAgICAgICB9XG4gICAgICAgIGZ1bmN0aW9uIGZsYXR0ZW4oYXJyYXkpIHtcbiAgICAgICAgICB2YXIgbGVuZ3RoID0gYXJyYXkgPT0gbnVsbCA/IDAgOiBhcnJheS5sZW5ndGg7XG4gICAgICAgICAgcmV0dXJuIGxlbmd0aCA/IGJhc2VGbGF0dGVuKGFycmF5LCAxKSA6IFtdO1xuICAgICAgICB9XG4gICAgICAgIGZ1bmN0aW9uIGZsYXR0ZW5EZWVwKGFycmF5KSB7XG4gICAgICAgICAgdmFyIGxlbmd0aCA9IGFycmF5ID09IG51bGwgPyAwIDogYXJyYXkubGVuZ3RoO1xuICAgICAgICAgIHJldHVybiBsZW5ndGggPyBiYXNlRmxhdHRlbihhcnJheSwgSU5GSU5JVFkpIDogW107XG4gICAgICAgIH1cbiAgICAgICAgZnVuY3Rpb24gZmxhdHRlbkRlcHRoKGFycmF5LCBkZXB0aCkge1xuICAgICAgICAgIHZhciBsZW5ndGggPSBhcnJheSA9PSBudWxsID8gMCA6IGFycmF5Lmxlbmd0aDtcbiAgICAgICAgICBpZiAoIWxlbmd0aCkge1xuICAgICAgICAgICAgcmV0dXJuIFtdO1xuICAgICAgICAgIH1cbiAgICAgICAgICBkZXB0aCA9IGRlcHRoID09PSB1bmRlZmluZWQyID8gMSA6IHRvSW50ZWdlcihkZXB0aCk7XG4gICAgICAgICAgcmV0dXJuIGJhc2VGbGF0dGVuKGFycmF5LCBkZXB0aCk7XG4gICAgICAgIH1cbiAgICAgICAgZnVuY3Rpb24gZnJvbVBhaXJzKHBhaXJzKSB7XG4gICAgICAgICAgdmFyIGluZGV4ID0gLTEsIGxlbmd0aCA9IHBhaXJzID09IG51bGwgPyAwIDogcGFpcnMubGVuZ3RoLCByZXN1bHQyID0ge307XG4gICAgICAgICAgd2hpbGUgKCsraW5kZXggPCBsZW5ndGgpIHtcbiAgICAgICAgICAgIHZhciBwYWlyID0gcGFpcnNbaW5kZXhdO1xuICAgICAgICAgICAgcmVzdWx0MltwYWlyWzBdXSA9IHBhaXJbMV07XG4gICAgICAgICAgfVxuICAgICAgICAgIHJldHVybiByZXN1bHQyO1xuICAgICAgICB9XG4gICAgICAgIGZ1bmN0aW9uIGhlYWQoYXJyYXkpIHtcbiAgICAgICAgICByZXR1cm4gYXJyYXkgJiYgYXJyYXkubGVuZ3RoID8gYXJyYXlbMF0gOiB1bmRlZmluZWQyO1xuICAgICAgICB9XG4gICAgICAgIGZ1bmN0aW9uIGluZGV4T2YoYXJyYXksIHZhbHVlLCBmcm9tSW5kZXgpIHtcbiAgICAgICAgICB2YXIgbGVuZ3RoID0gYXJyYXkgPT0gbnVsbCA/IDAgOiBhcnJheS5sZW5ndGg7XG4gICAgICAgICAgaWYgKCFsZW5ndGgpIHtcbiAgICAgICAgICAgIHJldHVybiAtMTtcbiAgICAgICAgICB9XG4gICAgICAgICAgdmFyIGluZGV4ID0gZnJvbUluZGV4ID09IG51bGwgPyAwIDogdG9JbnRlZ2VyKGZyb21JbmRleCk7XG4gICAgICAgICAgaWYgKGluZGV4IDwgMCkge1xuICAgICAgICAgICAgaW5kZXggPSBuYXRpdmVNYXgobGVuZ3RoICsgaW5kZXgsIDApO1xuICAgICAgICAgIH1cbiAgICAgICAgICByZXR1cm4gYmFzZUluZGV4T2YoYXJyYXksIHZhbHVlLCBpbmRleCk7XG4gICAgICAgIH1cbiAgICAgICAgZnVuY3Rpb24gaW5pdGlhbChhcnJheSkge1xuICAgICAgICAgIHZhciBsZW5ndGggPSBhcnJheSA9PSBudWxsID8gMCA6IGFycmF5Lmxlbmd0aDtcbiAgICAgICAgICByZXR1cm4gbGVuZ3RoID8gYmFzZVNsaWNlKGFycmF5LCAwLCAtMSkgOiBbXTtcbiAgICAgICAgfVxuICAgICAgICB2YXIgaW50ZXJzZWN0aW9uID0gYmFzZVJlc3QoZnVuY3Rpb24oYXJyYXlzKSB7XG4gICAgICAgICAgdmFyIG1hcHBlZCA9IGFycmF5TWFwKGFycmF5cywgY2FzdEFycmF5TGlrZU9iamVjdCk7XG4gICAgICAgICAgcmV0dXJuIG1hcHBlZC5sZW5ndGggJiYgbWFwcGVkWzBdID09PSBhcnJheXNbMF0gPyBiYXNlSW50ZXJzZWN0aW9uKG1hcHBlZCkgOiBbXTtcbiAgICAgICAgfSk7XG4gICAgICAgIHZhciBpbnRlcnNlY3Rpb25CeSA9IGJhc2VSZXN0KGZ1bmN0aW9uKGFycmF5cykge1xuICAgICAgICAgIHZhciBpdGVyYXRlZTIgPSBsYXN0KGFycmF5cyksIG1hcHBlZCA9IGFycmF5TWFwKGFycmF5cywgY2FzdEFycmF5TGlrZU9iamVjdCk7XG4gICAgICAgICAgaWYgKGl0ZXJhdGVlMiA9PT0gbGFzdChtYXBwZWQpKSB7XG4gICAgICAgICAgICBpdGVyYXRlZTIgPSB1bmRlZmluZWQyO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBtYXBwZWQucG9wKCk7XG4gICAgICAgICAgfVxuICAgICAgICAgIHJldHVybiBtYXBwZWQubGVuZ3RoICYmIG1hcHBlZFswXSA9PT0gYXJyYXlzWzBdID8gYmFzZUludGVyc2VjdGlvbihtYXBwZWQsIGdldEl0ZXJhdGVlKGl0ZXJhdGVlMiwgMikpIDogW107XG4gICAgICAgIH0pO1xuICAgICAgICB2YXIgaW50ZXJzZWN0aW9uV2l0aCA9IGJhc2VSZXN0KGZ1bmN0aW9uKGFycmF5cykge1xuICAgICAgICAgIHZhciBjb21wYXJhdG9yID0gbGFzdChhcnJheXMpLCBtYXBwZWQgPSBhcnJheU1hcChhcnJheXMsIGNhc3RBcnJheUxpa2VPYmplY3QpO1xuICAgICAgICAgIGNvbXBhcmF0b3IgPSB0eXBlb2YgY29tcGFyYXRvciA9PSBcImZ1bmN0aW9uXCIgPyBjb21wYXJhdG9yIDogdW5kZWZpbmVkMjtcbiAgICAgICAgICBpZiAoY29tcGFyYXRvcikge1xuICAgICAgICAgICAgbWFwcGVkLnBvcCgpO1xuICAgICAgICAgIH1cbiAgICAgICAgICByZXR1cm4gbWFwcGVkLmxlbmd0aCAmJiBtYXBwZWRbMF0gPT09IGFycmF5c1swXSA/IGJhc2VJbnRlcnNlY3Rpb24obWFwcGVkLCB1bmRlZmluZWQyLCBjb21wYXJhdG9yKSA6IFtdO1xuICAgICAgICB9KTtcbiAgICAgICAgZnVuY3Rpb24gam9pbihhcnJheSwgc2VwYXJhdG9yKSB7XG4gICAgICAgICAgcmV0dXJuIGFycmF5ID09IG51bGwgPyBcIlwiIDogbmF0aXZlSm9pbi5jYWxsKGFycmF5LCBzZXBhcmF0b3IpO1xuICAgICAgICB9XG4gICAgICAgIGZ1bmN0aW9uIGxhc3QoYXJyYXkpIHtcbiAgICAgICAgICB2YXIgbGVuZ3RoID0gYXJyYXkgPT0gbnVsbCA/IDAgOiBhcnJheS5sZW5ndGg7XG4gICAgICAgICAgcmV0dXJuIGxlbmd0aCA/IGFycmF5W2xlbmd0aCAtIDFdIDogdW5kZWZpbmVkMjtcbiAgICAgICAgfVxuICAgICAgICBmdW5jdGlvbiBsYXN0SW5kZXhPZihhcnJheSwgdmFsdWUsIGZyb21JbmRleCkge1xuICAgICAgICAgIHZhciBsZW5ndGggPSBhcnJheSA9PSBudWxsID8gMCA6IGFycmF5Lmxlbmd0aDtcbiAgICAgICAgICBpZiAoIWxlbmd0aCkge1xuICAgICAgICAgICAgcmV0dXJuIC0xO1xuICAgICAgICAgIH1cbiAgICAgICAgICB2YXIgaW5kZXggPSBsZW5ndGg7XG4gICAgICAgICAgaWYgKGZyb21JbmRleCAhPT0gdW5kZWZpbmVkMikge1xuICAgICAgICAgICAgaW5kZXggPSB0b0ludGVnZXIoZnJvbUluZGV4KTtcbiAgICAgICAgICAgIGluZGV4ID0gaW5kZXggPCAwID8gbmF0aXZlTWF4KGxlbmd0aCArIGluZGV4LCAwKSA6IG5hdGl2ZU1pbihpbmRleCwgbGVuZ3RoIC0gMSk7XG4gICAgICAgICAgfVxuICAgICAgICAgIHJldHVybiB2YWx1ZSA9PT0gdmFsdWUgPyBzdHJpY3RMYXN0SW5kZXhPZihhcnJheSwgdmFsdWUsIGluZGV4KSA6IGJhc2VGaW5kSW5kZXgoYXJyYXksIGJhc2VJc05hTiwgaW5kZXgsIHRydWUpO1xuICAgICAgICB9XG4gICAgICAgIGZ1bmN0aW9uIG50aChhcnJheSwgbikge1xuICAgICAgICAgIHJldHVybiBhcnJheSAmJiBhcnJheS5sZW5ndGggPyBiYXNlTnRoKGFycmF5LCB0b0ludGVnZXIobikpIDogdW5kZWZpbmVkMjtcbiAgICAgICAgfVxuICAgICAgICB2YXIgcHVsbCA9IGJhc2VSZXN0KHB1bGxBbGwpO1xuICAgICAgICBmdW5jdGlvbiBwdWxsQWxsKGFycmF5LCB2YWx1ZXMyKSB7XG4gICAgICAgICAgcmV0dXJuIGFycmF5ICYmIGFycmF5Lmxlbmd0aCAmJiB2YWx1ZXMyICYmIHZhbHVlczIubGVuZ3RoID8gYmFzZVB1bGxBbGwoYXJyYXksIHZhbHVlczIpIDogYXJyYXk7XG4gICAgICAgIH1cbiAgICAgICAgZnVuY3Rpb24gcHVsbEFsbEJ5KGFycmF5LCB2YWx1ZXMyLCBpdGVyYXRlZTIpIHtcbiAgICAgICAgICByZXR1cm4gYXJyYXkgJiYgYXJyYXkubGVuZ3RoICYmIHZhbHVlczIgJiYgdmFsdWVzMi5sZW5ndGggPyBiYXNlUHVsbEFsbChhcnJheSwgdmFsdWVzMiwgZ2V0SXRlcmF0ZWUoaXRlcmF0ZWUyLCAyKSkgOiBhcnJheTtcbiAgICAgICAgfVxuICAgICAgICBmdW5jdGlvbiBwdWxsQWxsV2l0aChhcnJheSwgdmFsdWVzMiwgY29tcGFyYXRvcikge1xuICAgICAgICAgIHJldHVybiBhcnJheSAmJiBhcnJheS5sZW5ndGggJiYgdmFsdWVzMiAmJiB2YWx1ZXMyLmxlbmd0aCA/IGJhc2VQdWxsQWxsKGFycmF5LCB2YWx1ZXMyLCB1bmRlZmluZWQyLCBjb21wYXJhdG9yKSA6IGFycmF5O1xuICAgICAgICB9XG4gICAgICAgIHZhciBwdWxsQXQgPSBmbGF0UmVzdChmdW5jdGlvbihhcnJheSwgaW5kZXhlcykge1xuICAgICAgICAgIHZhciBsZW5ndGggPSBhcnJheSA9PSBudWxsID8gMCA6IGFycmF5Lmxlbmd0aCwgcmVzdWx0MiA9IGJhc2VBdChhcnJheSwgaW5kZXhlcyk7XG4gICAgICAgICAgYmFzZVB1bGxBdChhcnJheSwgYXJyYXlNYXAoaW5kZXhlcywgZnVuY3Rpb24oaW5kZXgpIHtcbiAgICAgICAgICAgIHJldHVybiBpc0luZGV4KGluZGV4LCBsZW5ndGgpID8gK2luZGV4IDogaW5kZXg7XG4gICAgICAgICAgfSkuc29ydChjb21wYXJlQXNjZW5kaW5nKSk7XG4gICAgICAgICAgcmV0dXJuIHJlc3VsdDI7XG4gICAgICAgIH0pO1xuICAgICAgICBmdW5jdGlvbiByZW1vdmUoYXJyYXksIHByZWRpY2F0ZSkge1xuICAgICAgICAgIHZhciByZXN1bHQyID0gW107XG4gICAgICAgICAgaWYgKCEoYXJyYXkgJiYgYXJyYXkubGVuZ3RoKSkge1xuICAgICAgICAgICAgcmV0dXJuIHJlc3VsdDI7XG4gICAgICAgICAgfVxuICAgICAgICAgIHZhciBpbmRleCA9IC0xLCBpbmRleGVzID0gW10sIGxlbmd0aCA9IGFycmF5Lmxlbmd0aDtcbiAgICAgICAgICBwcmVkaWNhdGUgPSBnZXRJdGVyYXRlZShwcmVkaWNhdGUsIDMpO1xuICAgICAgICAgIHdoaWxlICgrK2luZGV4IDwgbGVuZ3RoKSB7XG4gICAgICAgICAgICB2YXIgdmFsdWUgPSBhcnJheVtpbmRleF07XG4gICAgICAgICAgICBpZiAocHJlZGljYXRlKHZhbHVlLCBpbmRleCwgYXJyYXkpKSB7XG4gICAgICAgICAgICAgIHJlc3VsdDIucHVzaCh2YWx1ZSk7XG4gICAgICAgICAgICAgIGluZGV4ZXMucHVzaChpbmRleCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICAgIGJhc2VQdWxsQXQoYXJyYXksIGluZGV4ZXMpO1xuICAgICAgICAgIHJldHVybiByZXN1bHQyO1xuICAgICAgICB9XG4gICAgICAgIGZ1bmN0aW9uIHJldmVyc2UoYXJyYXkpIHtcbiAgICAgICAgICByZXR1cm4gYXJyYXkgPT0gbnVsbCA/IGFycmF5IDogbmF0aXZlUmV2ZXJzZS5jYWxsKGFycmF5KTtcbiAgICAgICAgfVxuICAgICAgICBmdW5jdGlvbiBzbGljZShhcnJheSwgc3RhcnQsIGVuZCkge1xuICAgICAgICAgIHZhciBsZW5ndGggPSBhcnJheSA9PSBudWxsID8gMCA6IGFycmF5Lmxlbmd0aDtcbiAgICAgICAgICBpZiAoIWxlbmd0aCkge1xuICAgICAgICAgICAgcmV0dXJuIFtdO1xuICAgICAgICAgIH1cbiAgICAgICAgICBpZiAoZW5kICYmIHR5cGVvZiBlbmQgIT0gXCJudW1iZXJcIiAmJiBpc0l0ZXJhdGVlQ2FsbChhcnJheSwgc3RhcnQsIGVuZCkpIHtcbiAgICAgICAgICAgIHN0YXJ0ID0gMDtcbiAgICAgICAgICAgIGVuZCA9IGxlbmd0aDtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgc3RhcnQgPSBzdGFydCA9PSBudWxsID8gMCA6IHRvSW50ZWdlcihzdGFydCk7XG4gICAgICAgICAgICBlbmQgPSBlbmQgPT09IHVuZGVmaW5lZDIgPyBsZW5ndGggOiB0b0ludGVnZXIoZW5kKTtcbiAgICAgICAgICB9XG4gICAgICAgICAgcmV0dXJuIGJhc2VTbGljZShhcnJheSwgc3RhcnQsIGVuZCk7XG4gICAgICAgIH1cbiAgICAgICAgZnVuY3Rpb24gc29ydGVkSW5kZXgoYXJyYXksIHZhbHVlKSB7XG4gICAgICAgICAgcmV0dXJuIGJhc2VTb3J0ZWRJbmRleChhcnJheSwgdmFsdWUpO1xuICAgICAgICB9XG4gICAgICAgIGZ1bmN0aW9uIHNvcnRlZEluZGV4QnkoYXJyYXksIHZhbHVlLCBpdGVyYXRlZTIpIHtcbiAgICAgICAgICByZXR1cm4gYmFzZVNvcnRlZEluZGV4QnkoYXJyYXksIHZhbHVlLCBnZXRJdGVyYXRlZShpdGVyYXRlZTIsIDIpKTtcbiAgICAgICAgfVxuICAgICAgICBmdW5jdGlvbiBzb3J0ZWRJbmRleE9mKGFycmF5LCB2YWx1ZSkge1xuICAgICAgICAgIHZhciBsZW5ndGggPSBhcnJheSA9PSBudWxsID8gMCA6IGFycmF5Lmxlbmd0aDtcbiAgICAgICAgICBpZiAobGVuZ3RoKSB7XG4gICAgICAgICAgICB2YXIgaW5kZXggPSBiYXNlU29ydGVkSW5kZXgoYXJyYXksIHZhbHVlKTtcbiAgICAgICAgICAgIGlmIChpbmRleCA8IGxlbmd0aCAmJiBlcShhcnJheVtpbmRleF0sIHZhbHVlKSkge1xuICAgICAgICAgICAgICByZXR1cm4gaW5kZXg7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICAgIHJldHVybiAtMTtcbiAgICAgICAgfVxuICAgICAgICBmdW5jdGlvbiBzb3J0ZWRMYXN0SW5kZXgoYXJyYXksIHZhbHVlKSB7XG4gICAgICAgICAgcmV0dXJuIGJhc2VTb3J0ZWRJbmRleChhcnJheSwgdmFsdWUsIHRydWUpO1xuICAgICAgICB9XG4gICAgICAgIGZ1bmN0aW9uIHNvcnRlZExhc3RJbmRleEJ5KGFycmF5LCB2YWx1ZSwgaXRlcmF0ZWUyKSB7XG4gICAgICAgICAgcmV0dXJuIGJhc2VTb3J0ZWRJbmRleEJ5KGFycmF5LCB2YWx1ZSwgZ2V0SXRlcmF0ZWUoaXRlcmF0ZWUyLCAyKSwgdHJ1ZSk7XG4gICAgICAgIH1cbiAgICAgICAgZnVuY3Rpb24gc29ydGVkTGFzdEluZGV4T2YoYXJyYXksIHZhbHVlKSB7XG4gICAgICAgICAgdmFyIGxlbmd0aCA9IGFycmF5ID09IG51bGwgPyAwIDogYXJyYXkubGVuZ3RoO1xuICAgICAgICAgIGlmIChsZW5ndGgpIHtcbiAgICAgICAgICAgIHZhciBpbmRleCA9IGJhc2VTb3J0ZWRJbmRleChhcnJheSwgdmFsdWUsIHRydWUpIC0gMTtcbiAgICAgICAgICAgIGlmIChlcShhcnJheVtpbmRleF0sIHZhbHVlKSkge1xuICAgICAgICAgICAgICByZXR1cm4gaW5kZXg7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICAgIHJldHVybiAtMTtcbiAgICAgICAgfVxuICAgICAgICBmdW5jdGlvbiBzb3J0ZWRVbmlxKGFycmF5KSB7XG4gICAgICAgICAgcmV0dXJuIGFycmF5ICYmIGFycmF5Lmxlbmd0aCA/IGJhc2VTb3J0ZWRVbmlxKGFycmF5KSA6IFtdO1xuICAgICAgICB9XG4gICAgICAgIGZ1bmN0aW9uIHNvcnRlZFVuaXFCeShhcnJheSwgaXRlcmF0ZWUyKSB7XG4gICAgICAgICAgcmV0dXJuIGFycmF5ICYmIGFycmF5Lmxlbmd0aCA/IGJhc2VTb3J0ZWRVbmlxKGFycmF5LCBnZXRJdGVyYXRlZShpdGVyYXRlZTIsIDIpKSA6IFtdO1xuICAgICAgICB9XG4gICAgICAgIGZ1bmN0aW9uIHRhaWwoYXJyYXkpIHtcbiAgICAgICAgICB2YXIgbGVuZ3RoID0gYXJyYXkgPT0gbnVsbCA/IDAgOiBhcnJheS5sZW5ndGg7XG4gICAgICAgICAgcmV0dXJuIGxlbmd0aCA/IGJhc2VTbGljZShhcnJheSwgMSwgbGVuZ3RoKSA6IFtdO1xuICAgICAgICB9XG4gICAgICAgIGZ1bmN0aW9uIHRha2UoYXJyYXksIG4sIGd1YXJkKSB7XG4gICAgICAgICAgaWYgKCEoYXJyYXkgJiYgYXJyYXkubGVuZ3RoKSkge1xuICAgICAgICAgICAgcmV0dXJuIFtdO1xuICAgICAgICAgIH1cbiAgICAgICAgICBuID0gZ3VhcmQgfHwgbiA9PT0gdW5kZWZpbmVkMiA/IDEgOiB0b0ludGVnZXIobik7XG4gICAgICAgICAgcmV0dXJuIGJhc2VTbGljZShhcnJheSwgMCwgbiA8IDAgPyAwIDogbik7XG4gICAgICAgIH1cbiAgICAgICAgZnVuY3Rpb24gdGFrZVJpZ2h0KGFycmF5LCBuLCBndWFyZCkge1xuICAgICAgICAgIHZhciBsZW5ndGggPSBhcnJheSA9PSBudWxsID8gMCA6IGFycmF5Lmxlbmd0aDtcbiAgICAgICAgICBpZiAoIWxlbmd0aCkge1xuICAgICAgICAgICAgcmV0dXJuIFtdO1xuICAgICAgICAgIH1cbiAgICAgICAgICBuID0gZ3VhcmQgfHwgbiA9PT0gdW5kZWZpbmVkMiA/IDEgOiB0b0ludGVnZXIobik7XG4gICAgICAgICAgbiA9IGxlbmd0aCAtIG47XG4gICAgICAgICAgcmV0dXJuIGJhc2VTbGljZShhcnJheSwgbiA8IDAgPyAwIDogbiwgbGVuZ3RoKTtcbiAgICAgICAgfVxuICAgICAgICBmdW5jdGlvbiB0YWtlUmlnaHRXaGlsZShhcnJheSwgcHJlZGljYXRlKSB7XG4gICAgICAgICAgcmV0dXJuIGFycmF5ICYmIGFycmF5Lmxlbmd0aCA/IGJhc2VXaGlsZShhcnJheSwgZ2V0SXRlcmF0ZWUocHJlZGljYXRlLCAzKSwgZmFsc2UsIHRydWUpIDogW107XG4gICAgICAgIH1cbiAgICAgICAgZnVuY3Rpb24gdGFrZVdoaWxlKGFycmF5LCBwcmVkaWNhdGUpIHtcbiAgICAgICAgICByZXR1cm4gYXJyYXkgJiYgYXJyYXkubGVuZ3RoID8gYmFzZVdoaWxlKGFycmF5LCBnZXRJdGVyYXRlZShwcmVkaWNhdGUsIDMpKSA6IFtdO1xuICAgICAgICB9XG4gICAgICAgIHZhciB1bmlvbiA9IGJhc2VSZXN0KGZ1bmN0aW9uKGFycmF5cykge1xuICAgICAgICAgIHJldHVybiBiYXNlVW5pcShiYXNlRmxhdHRlbihhcnJheXMsIDEsIGlzQXJyYXlMaWtlT2JqZWN0LCB0cnVlKSk7XG4gICAgICAgIH0pO1xuICAgICAgICB2YXIgdW5pb25CeSA9IGJhc2VSZXN0KGZ1bmN0aW9uKGFycmF5cykge1xuICAgICAgICAgIHZhciBpdGVyYXRlZTIgPSBsYXN0KGFycmF5cyk7XG4gICAgICAgICAgaWYgKGlzQXJyYXlMaWtlT2JqZWN0KGl0ZXJhdGVlMikpIHtcbiAgICAgICAgICAgIGl0ZXJhdGVlMiA9IHVuZGVmaW5lZDI7XG4gICAgICAgICAgfVxuICAgICAgICAgIHJldHVybiBiYXNlVW5pcShiYXNlRmxhdHRlbihhcnJheXMsIDEsIGlzQXJyYXlMaWtlT2JqZWN0LCB0cnVlKSwgZ2V0SXRlcmF0ZWUoaXRlcmF0ZWUyLCAyKSk7XG4gICAgICAgIH0pO1xuICAgICAgICB2YXIgdW5pb25XaXRoID0gYmFzZVJlc3QoZnVuY3Rpb24oYXJyYXlzKSB7XG4gICAgICAgICAgdmFyIGNvbXBhcmF0b3IgPSBsYXN0KGFycmF5cyk7XG4gICAgICAgICAgY29tcGFyYXRvciA9IHR5cGVvZiBjb21wYXJhdG9yID09IFwiZnVuY3Rpb25cIiA/IGNvbXBhcmF0b3IgOiB1bmRlZmluZWQyO1xuICAgICAgICAgIHJldHVybiBiYXNlVW5pcShiYXNlRmxhdHRlbihhcnJheXMsIDEsIGlzQXJyYXlMaWtlT2JqZWN0LCB0cnVlKSwgdW5kZWZpbmVkMiwgY29tcGFyYXRvcik7XG4gICAgICAgIH0pO1xuICAgICAgICBmdW5jdGlvbiB1bmlxKGFycmF5KSB7XG4gICAgICAgICAgcmV0dXJuIGFycmF5ICYmIGFycmF5Lmxlbmd0aCA/IGJhc2VVbmlxKGFycmF5KSA6IFtdO1xuICAgICAgICB9XG4gICAgICAgIGZ1bmN0aW9uIHVuaXFCeShhcnJheSwgaXRlcmF0ZWUyKSB7XG4gICAgICAgICAgcmV0dXJuIGFycmF5ICYmIGFycmF5Lmxlbmd0aCA/IGJhc2VVbmlxKGFycmF5LCBnZXRJdGVyYXRlZShpdGVyYXRlZTIsIDIpKSA6IFtdO1xuICAgICAgICB9XG4gICAgICAgIGZ1bmN0aW9uIHVuaXFXaXRoKGFycmF5LCBjb21wYXJhdG9yKSB7XG4gICAgICAgICAgY29tcGFyYXRvciA9IHR5cGVvZiBjb21wYXJhdG9yID09IFwiZnVuY3Rpb25cIiA/IGNvbXBhcmF0b3IgOiB1bmRlZmluZWQyO1xuICAgICAgICAgIHJldHVybiBhcnJheSAmJiBhcnJheS5sZW5ndGggPyBiYXNlVW5pcShhcnJheSwgdW5kZWZpbmVkMiwgY29tcGFyYXRvcikgOiBbXTtcbiAgICAgICAgfVxuICAgICAgICBmdW5jdGlvbiB1bnppcChhcnJheSkge1xuICAgICAgICAgIGlmICghKGFycmF5ICYmIGFycmF5Lmxlbmd0aCkpIHtcbiAgICAgICAgICAgIHJldHVybiBbXTtcbiAgICAgICAgICB9XG4gICAgICAgICAgdmFyIGxlbmd0aCA9IDA7XG4gICAgICAgICAgYXJyYXkgPSBhcnJheUZpbHRlcihhcnJheSwgZnVuY3Rpb24oZ3JvdXApIHtcbiAgICAgICAgICAgIGlmIChpc0FycmF5TGlrZU9iamVjdChncm91cCkpIHtcbiAgICAgICAgICAgICAgbGVuZ3RoID0gbmF0aXZlTWF4KGdyb3VwLmxlbmd0aCwgbGVuZ3RoKTtcbiAgICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSk7XG4gICAgICAgICAgcmV0dXJuIGJhc2VUaW1lcyhsZW5ndGgsIGZ1bmN0aW9uKGluZGV4KSB7XG4gICAgICAgICAgICByZXR1cm4gYXJyYXlNYXAoYXJyYXksIGJhc2VQcm9wZXJ0eShpbmRleCkpO1xuICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICAgIGZ1bmN0aW9uIHVuemlwV2l0aChhcnJheSwgaXRlcmF0ZWUyKSB7XG4gICAgICAgICAgaWYgKCEoYXJyYXkgJiYgYXJyYXkubGVuZ3RoKSkge1xuICAgICAgICAgICAgcmV0dXJuIFtdO1xuICAgICAgICAgIH1cbiAgICAgICAgICB2YXIgcmVzdWx0MiA9IHVuemlwKGFycmF5KTtcbiAgICAgICAgICBpZiAoaXRlcmF0ZWUyID09IG51bGwpIHtcbiAgICAgICAgICAgIHJldHVybiByZXN1bHQyO1xuICAgICAgICAgIH1cbiAgICAgICAgICByZXR1cm4gYXJyYXlNYXAocmVzdWx0MiwgZnVuY3Rpb24oZ3JvdXApIHtcbiAgICAgICAgICAgIHJldHVybiBhcHBseShpdGVyYXRlZTIsIHVuZGVmaW5lZDIsIGdyb3VwKTtcbiAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgICAgICB2YXIgd2l0aG91dCA9IGJhc2VSZXN0KGZ1bmN0aW9uKGFycmF5LCB2YWx1ZXMyKSB7XG4gICAgICAgICAgcmV0dXJuIGlzQXJyYXlMaWtlT2JqZWN0KGFycmF5KSA/IGJhc2VEaWZmZXJlbmNlKGFycmF5LCB2YWx1ZXMyKSA6IFtdO1xuICAgICAgICB9KTtcbiAgICAgICAgdmFyIHhvciA9IGJhc2VSZXN0KGZ1bmN0aW9uKGFycmF5cykge1xuICAgICAgICAgIHJldHVybiBiYXNlWG9yKGFycmF5RmlsdGVyKGFycmF5cywgaXNBcnJheUxpa2VPYmplY3QpKTtcbiAgICAgICAgfSk7XG4gICAgICAgIHZhciB4b3JCeSA9IGJhc2VSZXN0KGZ1bmN0aW9uKGFycmF5cykge1xuICAgICAgICAgIHZhciBpdGVyYXRlZTIgPSBsYXN0KGFycmF5cyk7XG4gICAgICAgICAgaWYgKGlzQXJyYXlMaWtlT2JqZWN0KGl0ZXJhdGVlMikpIHtcbiAgICAgICAgICAgIGl0ZXJhdGVlMiA9IHVuZGVmaW5lZDI7XG4gICAgICAgICAgfVxuICAgICAgICAgIHJldHVybiBiYXNlWG9yKGFycmF5RmlsdGVyKGFycmF5cywgaXNBcnJheUxpa2VPYmplY3QpLCBnZXRJdGVyYXRlZShpdGVyYXRlZTIsIDIpKTtcbiAgICAgICAgfSk7XG4gICAgICAgIHZhciB4b3JXaXRoID0gYmFzZVJlc3QoZnVuY3Rpb24oYXJyYXlzKSB7XG4gICAgICAgICAgdmFyIGNvbXBhcmF0b3IgPSBsYXN0KGFycmF5cyk7XG4gICAgICAgICAgY29tcGFyYXRvciA9IHR5cGVvZiBjb21wYXJhdG9yID09IFwiZnVuY3Rpb25cIiA/IGNvbXBhcmF0b3IgOiB1bmRlZmluZWQyO1xuICAgICAgICAgIHJldHVybiBiYXNlWG9yKGFycmF5RmlsdGVyKGFycmF5cywgaXNBcnJheUxpa2VPYmplY3QpLCB1bmRlZmluZWQyLCBjb21wYXJhdG9yKTtcbiAgICAgICAgfSk7XG4gICAgICAgIHZhciB6aXAgPSBiYXNlUmVzdCh1bnppcCk7XG4gICAgICAgIGZ1bmN0aW9uIHppcE9iamVjdChwcm9wcywgdmFsdWVzMikge1xuICAgICAgICAgIHJldHVybiBiYXNlWmlwT2JqZWN0KHByb3BzIHx8IFtdLCB2YWx1ZXMyIHx8IFtdLCBhc3NpZ25WYWx1ZSk7XG4gICAgICAgIH1cbiAgICAgICAgZnVuY3Rpb24gemlwT2JqZWN0RGVlcChwcm9wcywgdmFsdWVzMikge1xuICAgICAgICAgIHJldHVybiBiYXNlWmlwT2JqZWN0KHByb3BzIHx8IFtdLCB2YWx1ZXMyIHx8IFtdLCBiYXNlU2V0KTtcbiAgICAgICAgfVxuICAgICAgICB2YXIgemlwV2l0aCA9IGJhc2VSZXN0KGZ1bmN0aW9uKGFycmF5cykge1xuICAgICAgICAgIHZhciBsZW5ndGggPSBhcnJheXMubGVuZ3RoLCBpdGVyYXRlZTIgPSBsZW5ndGggPiAxID8gYXJyYXlzW2xlbmd0aCAtIDFdIDogdW5kZWZpbmVkMjtcbiAgICAgICAgICBpdGVyYXRlZTIgPSB0eXBlb2YgaXRlcmF0ZWUyID09IFwiZnVuY3Rpb25cIiA/IChhcnJheXMucG9wKCksIGl0ZXJhdGVlMikgOiB1bmRlZmluZWQyO1xuICAgICAgICAgIHJldHVybiB1bnppcFdpdGgoYXJyYXlzLCBpdGVyYXRlZTIpO1xuICAgICAgICB9KTtcbiAgICAgICAgZnVuY3Rpb24gY2hhaW4odmFsdWUpIHtcbiAgICAgICAgICB2YXIgcmVzdWx0MiA9IGxvZGFzaCh2YWx1ZSk7XG4gICAgICAgICAgcmVzdWx0Mi5fX2NoYWluX18gPSB0cnVlO1xuICAgICAgICAgIHJldHVybiByZXN1bHQyO1xuICAgICAgICB9XG4gICAgICAgIGZ1bmN0aW9uIHRhcCh2YWx1ZSwgaW50ZXJjZXB0b3IpIHtcbiAgICAgICAgICBpbnRlcmNlcHRvcih2YWx1ZSk7XG4gICAgICAgICAgcmV0dXJuIHZhbHVlO1xuICAgICAgICB9XG4gICAgICAgIGZ1bmN0aW9uIHRocnUodmFsdWUsIGludGVyY2VwdG9yKSB7XG4gICAgICAgICAgcmV0dXJuIGludGVyY2VwdG9yKHZhbHVlKTtcbiAgICAgICAgfVxuICAgICAgICB2YXIgd3JhcHBlckF0ID0gZmxhdFJlc3QoZnVuY3Rpb24ocGF0aHMpIHtcbiAgICAgICAgICB2YXIgbGVuZ3RoID0gcGF0aHMubGVuZ3RoLCBzdGFydCA9IGxlbmd0aCA/IHBhdGhzWzBdIDogMCwgdmFsdWUgPSB0aGlzLl9fd3JhcHBlZF9fLCBpbnRlcmNlcHRvciA9IGZ1bmN0aW9uKG9iamVjdCkge1xuICAgICAgICAgICAgcmV0dXJuIGJhc2VBdChvYmplY3QsIHBhdGhzKTtcbiAgICAgICAgICB9O1xuICAgICAgICAgIGlmIChsZW5ndGggPiAxIHx8IHRoaXMuX19hY3Rpb25zX18ubGVuZ3RoIHx8ICEodmFsdWUgaW5zdGFuY2VvZiBMYXp5V3JhcHBlcikgfHwgIWlzSW5kZXgoc3RhcnQpKSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy50aHJ1KGludGVyY2VwdG9yKTtcbiAgICAgICAgICB9XG4gICAgICAgICAgdmFsdWUgPSB2YWx1ZS5zbGljZShzdGFydCwgK3N0YXJ0ICsgKGxlbmd0aCA/IDEgOiAwKSk7XG4gICAgICAgICAgdmFsdWUuX19hY3Rpb25zX18ucHVzaCh7XG4gICAgICAgICAgICBcImZ1bmNcIjogdGhydSxcbiAgICAgICAgICAgIFwiYXJnc1wiOiBbaW50ZXJjZXB0b3JdLFxuICAgICAgICAgICAgXCJ0aGlzQXJnXCI6IHVuZGVmaW5lZDJcbiAgICAgICAgICB9KTtcbiAgICAgICAgICByZXR1cm4gbmV3IExvZGFzaFdyYXBwZXIodmFsdWUsIHRoaXMuX19jaGFpbl9fKS50aHJ1KGZ1bmN0aW9uKGFycmF5KSB7XG4gICAgICAgICAgICBpZiAobGVuZ3RoICYmICFhcnJheS5sZW5ndGgpIHtcbiAgICAgICAgICAgICAgYXJyYXkucHVzaCh1bmRlZmluZWQyKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVybiBhcnJheTtcbiAgICAgICAgICB9KTtcbiAgICAgICAgfSk7XG4gICAgICAgIGZ1bmN0aW9uIHdyYXBwZXJDaGFpbigpIHtcbiAgICAgICAgICByZXR1cm4gY2hhaW4odGhpcyk7XG4gICAgICAgIH1cbiAgICAgICAgZnVuY3Rpb24gd3JhcHBlckNvbW1pdCgpIHtcbiAgICAgICAgICByZXR1cm4gbmV3IExvZGFzaFdyYXBwZXIodGhpcy52YWx1ZSgpLCB0aGlzLl9fY2hhaW5fXyk7XG4gICAgICAgIH1cbiAgICAgICAgZnVuY3Rpb24gd3JhcHBlck5leHQoKSB7XG4gICAgICAgICAgaWYgKHRoaXMuX192YWx1ZXNfXyA9PT0gdW5kZWZpbmVkMikge1xuICAgICAgICAgICAgdGhpcy5fX3ZhbHVlc19fID0gdG9BcnJheSh0aGlzLnZhbHVlKCkpO1xuICAgICAgICAgIH1cbiAgICAgICAgICB2YXIgZG9uZSA9IHRoaXMuX19pbmRleF9fID49IHRoaXMuX192YWx1ZXNfXy5sZW5ndGgsIHZhbHVlID0gZG9uZSA/IHVuZGVmaW5lZDIgOiB0aGlzLl9fdmFsdWVzX19bdGhpcy5fX2luZGV4X18rK107XG4gICAgICAgICAgcmV0dXJuIHsgXCJkb25lXCI6IGRvbmUsIFwidmFsdWVcIjogdmFsdWUgfTtcbiAgICAgICAgfVxuICAgICAgICBmdW5jdGlvbiB3cmFwcGVyVG9JdGVyYXRvcigpIHtcbiAgICAgICAgICByZXR1cm4gdGhpcztcbiAgICAgICAgfVxuICAgICAgICBmdW5jdGlvbiB3cmFwcGVyUGxhbnQodmFsdWUpIHtcbiAgICAgICAgICB2YXIgcmVzdWx0MiwgcGFyZW50MiA9IHRoaXM7XG4gICAgICAgICAgd2hpbGUgKHBhcmVudDIgaW5zdGFuY2VvZiBiYXNlTG9kYXNoKSB7XG4gICAgICAgICAgICB2YXIgY2xvbmUyID0gd3JhcHBlckNsb25lKHBhcmVudDIpO1xuICAgICAgICAgICAgY2xvbmUyLl9faW5kZXhfXyA9IDA7XG4gICAgICAgICAgICBjbG9uZTIuX192YWx1ZXNfXyA9IHVuZGVmaW5lZDI7XG4gICAgICAgICAgICBpZiAocmVzdWx0Mikge1xuICAgICAgICAgICAgICBwcmV2aW91cy5fX3dyYXBwZWRfXyA9IGNsb25lMjtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgIHJlc3VsdDIgPSBjbG9uZTI7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICB2YXIgcHJldmlvdXMgPSBjbG9uZTI7XG4gICAgICAgICAgICBwYXJlbnQyID0gcGFyZW50Mi5fX3dyYXBwZWRfXztcbiAgICAgICAgICB9XG4gICAgICAgICAgcHJldmlvdXMuX193cmFwcGVkX18gPSB2YWx1ZTtcbiAgICAgICAgICByZXR1cm4gcmVzdWx0MjtcbiAgICAgICAgfVxuICAgICAgICBmdW5jdGlvbiB3cmFwcGVyUmV2ZXJzZSgpIHtcbiAgICAgICAgICB2YXIgdmFsdWUgPSB0aGlzLl9fd3JhcHBlZF9fO1xuICAgICAgICAgIGlmICh2YWx1ZSBpbnN0YW5jZW9mIExhenlXcmFwcGVyKSB7XG4gICAgICAgICAgICB2YXIgd3JhcHBlZCA9IHZhbHVlO1xuICAgICAgICAgICAgaWYgKHRoaXMuX19hY3Rpb25zX18ubGVuZ3RoKSB7XG4gICAgICAgICAgICAgIHdyYXBwZWQgPSBuZXcgTGF6eVdyYXBwZXIodGhpcyk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICB3cmFwcGVkID0gd3JhcHBlZC5yZXZlcnNlKCk7XG4gICAgICAgICAgICB3cmFwcGVkLl9fYWN0aW9uc19fLnB1c2goe1xuICAgICAgICAgICAgICBcImZ1bmNcIjogdGhydSxcbiAgICAgICAgICAgICAgXCJhcmdzXCI6IFtyZXZlcnNlXSxcbiAgICAgICAgICAgICAgXCJ0aGlzQXJnXCI6IHVuZGVmaW5lZDJcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgcmV0dXJuIG5ldyBMb2Rhc2hXcmFwcGVyKHdyYXBwZWQsIHRoaXMuX19jaGFpbl9fKTtcbiAgICAgICAgICB9XG4gICAgICAgICAgcmV0dXJuIHRoaXMudGhydShyZXZlcnNlKTtcbiAgICAgICAgfVxuICAgICAgICBmdW5jdGlvbiB3cmFwcGVyVmFsdWUoKSB7XG4gICAgICAgICAgcmV0dXJuIGJhc2VXcmFwcGVyVmFsdWUodGhpcy5fX3dyYXBwZWRfXywgdGhpcy5fX2FjdGlvbnNfXyk7XG4gICAgICAgIH1cbiAgICAgICAgdmFyIGNvdW50QnkgPSBjcmVhdGVBZ2dyZWdhdG9yKGZ1bmN0aW9uKHJlc3VsdDIsIHZhbHVlLCBrZXkpIHtcbiAgICAgICAgICBpZiAoaGFzT3duUHJvcGVydHkuY2FsbChyZXN1bHQyLCBrZXkpKSB7XG4gICAgICAgICAgICArK3Jlc3VsdDJba2V5XTtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgYmFzZUFzc2lnblZhbHVlKHJlc3VsdDIsIGtleSwgMSk7XG4gICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICAgICAgZnVuY3Rpb24gZXZlcnkoY29sbGVjdGlvbiwgcHJlZGljYXRlLCBndWFyZCkge1xuICAgICAgICAgIHZhciBmdW5jID0gaXNBcnJheShjb2xsZWN0aW9uKSA/IGFycmF5RXZlcnkgOiBiYXNlRXZlcnk7XG4gICAgICAgICAgaWYgKGd1YXJkICYmIGlzSXRlcmF0ZWVDYWxsKGNvbGxlY3Rpb24sIHByZWRpY2F0ZSwgZ3VhcmQpKSB7XG4gICAgICAgICAgICBwcmVkaWNhdGUgPSB1bmRlZmluZWQyO1xuICAgICAgICAgIH1cbiAgICAgICAgICByZXR1cm4gZnVuYyhjb2xsZWN0aW9uLCBnZXRJdGVyYXRlZShwcmVkaWNhdGUsIDMpKTtcbiAgICAgICAgfVxuICAgICAgICBmdW5jdGlvbiBmaWx0ZXIoY29sbGVjdGlvbiwgcHJlZGljYXRlKSB7XG4gICAgICAgICAgdmFyIGZ1bmMgPSBpc0FycmF5KGNvbGxlY3Rpb24pID8gYXJyYXlGaWx0ZXIgOiBiYXNlRmlsdGVyO1xuICAgICAgICAgIHJldHVybiBmdW5jKGNvbGxlY3Rpb24sIGdldEl0ZXJhdGVlKHByZWRpY2F0ZSwgMykpO1xuICAgICAgICB9XG4gICAgICAgIHZhciBmaW5kID0gY3JlYXRlRmluZChmaW5kSW5kZXgpO1xuICAgICAgICB2YXIgZmluZExhc3QgPSBjcmVhdGVGaW5kKGZpbmRMYXN0SW5kZXgpO1xuICAgICAgICBmdW5jdGlvbiBmbGF0TWFwKGNvbGxlY3Rpb24sIGl0ZXJhdGVlMikge1xuICAgICAgICAgIHJldHVybiBiYXNlRmxhdHRlbihtYXAoY29sbGVjdGlvbiwgaXRlcmF0ZWUyKSwgMSk7XG4gICAgICAgIH1cbiAgICAgICAgZnVuY3Rpb24gZmxhdE1hcERlZXAoY29sbGVjdGlvbiwgaXRlcmF0ZWUyKSB7XG4gICAgICAgICAgcmV0dXJuIGJhc2VGbGF0dGVuKG1hcChjb2xsZWN0aW9uLCBpdGVyYXRlZTIpLCBJTkZJTklUWSk7XG4gICAgICAgIH1cbiAgICAgICAgZnVuY3Rpb24gZmxhdE1hcERlcHRoKGNvbGxlY3Rpb24sIGl0ZXJhdGVlMiwgZGVwdGgpIHtcbiAgICAgICAgICBkZXB0aCA9IGRlcHRoID09PSB1bmRlZmluZWQyID8gMSA6IHRvSW50ZWdlcihkZXB0aCk7XG4gICAgICAgICAgcmV0dXJuIGJhc2VGbGF0dGVuKG1hcChjb2xsZWN0aW9uLCBpdGVyYXRlZTIpLCBkZXB0aCk7XG4gICAgICAgIH1cbiAgICAgICAgZnVuY3Rpb24gZm9yRWFjaChjb2xsZWN0aW9uLCBpdGVyYXRlZTIpIHtcbiAgICAgICAgICB2YXIgZnVuYyA9IGlzQXJyYXkoY29sbGVjdGlvbikgPyBhcnJheUVhY2ggOiBiYXNlRWFjaDtcbiAgICAgICAgICByZXR1cm4gZnVuYyhjb2xsZWN0aW9uLCBnZXRJdGVyYXRlZShpdGVyYXRlZTIsIDMpKTtcbiAgICAgICAgfVxuICAgICAgICBmdW5jdGlvbiBmb3JFYWNoUmlnaHQoY29sbGVjdGlvbiwgaXRlcmF0ZWUyKSB7XG4gICAgICAgICAgdmFyIGZ1bmMgPSBpc0FycmF5KGNvbGxlY3Rpb24pID8gYXJyYXlFYWNoUmlnaHQgOiBiYXNlRWFjaFJpZ2h0O1xuICAgICAgICAgIHJldHVybiBmdW5jKGNvbGxlY3Rpb24sIGdldEl0ZXJhdGVlKGl0ZXJhdGVlMiwgMykpO1xuICAgICAgICB9XG4gICAgICAgIHZhciBncm91cEJ5ID0gY3JlYXRlQWdncmVnYXRvcihmdW5jdGlvbihyZXN1bHQyLCB2YWx1ZSwga2V5KSB7XG4gICAgICAgICAgaWYgKGhhc093blByb3BlcnR5LmNhbGwocmVzdWx0Miwga2V5KSkge1xuICAgICAgICAgICAgcmVzdWx0MltrZXldLnB1c2godmFsdWUpO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBiYXNlQXNzaWduVmFsdWUocmVzdWx0Miwga2V5LCBbdmFsdWVdKTtcbiAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgICAgICBmdW5jdGlvbiBpbmNsdWRlcyhjb2xsZWN0aW9uLCB2YWx1ZSwgZnJvbUluZGV4LCBndWFyZCkge1xuICAgICAgICAgIGNvbGxlY3Rpb24gPSBpc0FycmF5TGlrZShjb2xsZWN0aW9uKSA/IGNvbGxlY3Rpb24gOiB2YWx1ZXMoY29sbGVjdGlvbik7XG4gICAgICAgICAgZnJvbUluZGV4ID0gZnJvbUluZGV4ICYmICFndWFyZCA/IHRvSW50ZWdlcihmcm9tSW5kZXgpIDogMDtcbiAgICAgICAgICB2YXIgbGVuZ3RoID0gY29sbGVjdGlvbi5sZW5ndGg7XG4gICAgICAgICAgaWYgKGZyb21JbmRleCA8IDApIHtcbiAgICAgICAgICAgIGZyb21JbmRleCA9IG5hdGl2ZU1heChsZW5ndGggKyBmcm9tSW5kZXgsIDApO1xuICAgICAgICAgIH1cbiAgICAgICAgICByZXR1cm4gaXNTdHJpbmcoY29sbGVjdGlvbikgPyBmcm9tSW5kZXggPD0gbGVuZ3RoICYmIGNvbGxlY3Rpb24uaW5kZXhPZih2YWx1ZSwgZnJvbUluZGV4KSA+IC0xIDogISFsZW5ndGggJiYgYmFzZUluZGV4T2YoY29sbGVjdGlvbiwgdmFsdWUsIGZyb21JbmRleCkgPiAtMTtcbiAgICAgICAgfVxuICAgICAgICB2YXIgaW52b2tlTWFwID0gYmFzZVJlc3QoZnVuY3Rpb24oY29sbGVjdGlvbiwgcGF0aCwgYXJncykge1xuICAgICAgICAgIHZhciBpbmRleCA9IC0xLCBpc0Z1bmMgPSB0eXBlb2YgcGF0aCA9PSBcImZ1bmN0aW9uXCIsIHJlc3VsdDIgPSBpc0FycmF5TGlrZShjb2xsZWN0aW9uKSA/IEFycmF5Mihjb2xsZWN0aW9uLmxlbmd0aCkgOiBbXTtcbiAgICAgICAgICBiYXNlRWFjaChjb2xsZWN0aW9uLCBmdW5jdGlvbih2YWx1ZSkge1xuICAgICAgICAgICAgcmVzdWx0MlsrK2luZGV4XSA9IGlzRnVuYyA/IGFwcGx5KHBhdGgsIHZhbHVlLCBhcmdzKSA6IGJhc2VJbnZva2UodmFsdWUsIHBhdGgsIGFyZ3MpO1xuICAgICAgICAgIH0pO1xuICAgICAgICAgIHJldHVybiByZXN1bHQyO1xuICAgICAgICB9KTtcbiAgICAgICAgdmFyIGtleUJ5ID0gY3JlYXRlQWdncmVnYXRvcihmdW5jdGlvbihyZXN1bHQyLCB2YWx1ZSwga2V5KSB7XG4gICAgICAgICAgYmFzZUFzc2lnblZhbHVlKHJlc3VsdDIsIGtleSwgdmFsdWUpO1xuICAgICAgICB9KTtcbiAgICAgICAgZnVuY3Rpb24gbWFwKGNvbGxlY3Rpb24sIGl0ZXJhdGVlMikge1xuICAgICAgICAgIHZhciBmdW5jID0gaXNBcnJheShjb2xsZWN0aW9uKSA/IGFycmF5TWFwIDogYmFzZU1hcDtcbiAgICAgICAgICByZXR1cm4gZnVuYyhjb2xsZWN0aW9uLCBnZXRJdGVyYXRlZShpdGVyYXRlZTIsIDMpKTtcbiAgICAgICAgfVxuICAgICAgICBmdW5jdGlvbiBvcmRlckJ5KGNvbGxlY3Rpb24sIGl0ZXJhdGVlcywgb3JkZXJzLCBndWFyZCkge1xuICAgICAgICAgIGlmIChjb2xsZWN0aW9uID09IG51bGwpIHtcbiAgICAgICAgICAgIHJldHVybiBbXTtcbiAgICAgICAgICB9XG4gICAgICAgICAgaWYgKCFpc0FycmF5KGl0ZXJhdGVlcykpIHtcbiAgICAgICAgICAgIGl0ZXJhdGVlcyA9IGl0ZXJhdGVlcyA9PSBudWxsID8gW10gOiBbaXRlcmF0ZWVzXTtcbiAgICAgICAgICB9XG4gICAgICAgICAgb3JkZXJzID0gZ3VhcmQgPyB1bmRlZmluZWQyIDogb3JkZXJzO1xuICAgICAgICAgIGlmICghaXNBcnJheShvcmRlcnMpKSB7XG4gICAgICAgICAgICBvcmRlcnMgPSBvcmRlcnMgPT0gbnVsbCA/IFtdIDogW29yZGVyc107XG4gICAgICAgICAgfVxuICAgICAgICAgIHJldHVybiBiYXNlT3JkZXJCeShjb2xsZWN0aW9uLCBpdGVyYXRlZXMsIG9yZGVycyk7XG4gICAgICAgIH1cbiAgICAgICAgdmFyIHBhcnRpdGlvbiA9IGNyZWF0ZUFnZ3JlZ2F0b3IoZnVuY3Rpb24ocmVzdWx0MiwgdmFsdWUsIGtleSkge1xuICAgICAgICAgIHJlc3VsdDJba2V5ID8gMCA6IDFdLnB1c2godmFsdWUpO1xuICAgICAgICB9LCBmdW5jdGlvbigpIHtcbiAgICAgICAgICByZXR1cm4gW1tdLCBbXV07XG4gICAgICAgIH0pO1xuICAgICAgICBmdW5jdGlvbiByZWR1Y2UoY29sbGVjdGlvbiwgaXRlcmF0ZWUyLCBhY2N1bXVsYXRvcikge1xuICAgICAgICAgIHZhciBmdW5jID0gaXNBcnJheShjb2xsZWN0aW9uKSA/IGFycmF5UmVkdWNlIDogYmFzZVJlZHVjZSwgaW5pdEFjY3VtID0gYXJndW1lbnRzLmxlbmd0aCA8IDM7XG4gICAgICAgICAgcmV0dXJuIGZ1bmMoY29sbGVjdGlvbiwgZ2V0SXRlcmF0ZWUoaXRlcmF0ZWUyLCA0KSwgYWNjdW11bGF0b3IsIGluaXRBY2N1bSwgYmFzZUVhY2gpO1xuICAgICAgICB9XG4gICAgICAgIGZ1bmN0aW9uIHJlZHVjZVJpZ2h0KGNvbGxlY3Rpb24sIGl0ZXJhdGVlMiwgYWNjdW11bGF0b3IpIHtcbiAgICAgICAgICB2YXIgZnVuYyA9IGlzQXJyYXkoY29sbGVjdGlvbikgPyBhcnJheVJlZHVjZVJpZ2h0IDogYmFzZVJlZHVjZSwgaW5pdEFjY3VtID0gYXJndW1lbnRzLmxlbmd0aCA8IDM7XG4gICAgICAgICAgcmV0dXJuIGZ1bmMoY29sbGVjdGlvbiwgZ2V0SXRlcmF0ZWUoaXRlcmF0ZWUyLCA0KSwgYWNjdW11bGF0b3IsIGluaXRBY2N1bSwgYmFzZUVhY2hSaWdodCk7XG4gICAgICAgIH1cbiAgICAgICAgZnVuY3Rpb24gcmVqZWN0KGNvbGxlY3Rpb24sIHByZWRpY2F0ZSkge1xuICAgICAgICAgIHZhciBmdW5jID0gaXNBcnJheShjb2xsZWN0aW9uKSA/IGFycmF5RmlsdGVyIDogYmFzZUZpbHRlcjtcbiAgICAgICAgICByZXR1cm4gZnVuYyhjb2xsZWN0aW9uLCBuZWdhdGUoZ2V0SXRlcmF0ZWUocHJlZGljYXRlLCAzKSkpO1xuICAgICAgICB9XG4gICAgICAgIGZ1bmN0aW9uIHNhbXBsZShjb2xsZWN0aW9uKSB7XG4gICAgICAgICAgdmFyIGZ1bmMgPSBpc0FycmF5KGNvbGxlY3Rpb24pID8gYXJyYXlTYW1wbGUgOiBiYXNlU2FtcGxlO1xuICAgICAgICAgIHJldHVybiBmdW5jKGNvbGxlY3Rpb24pO1xuICAgICAgICB9XG4gICAgICAgIGZ1bmN0aW9uIHNhbXBsZVNpemUoY29sbGVjdGlvbiwgbiwgZ3VhcmQpIHtcbiAgICAgICAgICBpZiAoZ3VhcmQgPyBpc0l0ZXJhdGVlQ2FsbChjb2xsZWN0aW9uLCBuLCBndWFyZCkgOiBuID09PSB1bmRlZmluZWQyKSB7XG4gICAgICAgICAgICBuID0gMTtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgbiA9IHRvSW50ZWdlcihuKTtcbiAgICAgICAgICB9XG4gICAgICAgICAgdmFyIGZ1bmMgPSBpc0FycmF5KGNvbGxlY3Rpb24pID8gYXJyYXlTYW1wbGVTaXplIDogYmFzZVNhbXBsZVNpemU7XG4gICAgICAgICAgcmV0dXJuIGZ1bmMoY29sbGVjdGlvbiwgbik7XG4gICAgICAgIH1cbiAgICAgICAgZnVuY3Rpb24gc2h1ZmZsZShjb2xsZWN0aW9uKSB7XG4gICAgICAgICAgdmFyIGZ1bmMgPSBpc0FycmF5KGNvbGxlY3Rpb24pID8gYXJyYXlTaHVmZmxlIDogYmFzZVNodWZmbGU7XG4gICAgICAgICAgcmV0dXJuIGZ1bmMoY29sbGVjdGlvbik7XG4gICAgICAgIH1cbiAgICAgICAgZnVuY3Rpb24gc2l6ZShjb2xsZWN0aW9uKSB7XG4gICAgICAgICAgaWYgKGNvbGxlY3Rpb24gPT0gbnVsbCkge1xuICAgICAgICAgICAgcmV0dXJuIDA7XG4gICAgICAgICAgfVxuICAgICAgICAgIGlmIChpc0FycmF5TGlrZShjb2xsZWN0aW9uKSkge1xuICAgICAgICAgICAgcmV0dXJuIGlzU3RyaW5nKGNvbGxlY3Rpb24pID8gc3RyaW5nU2l6ZShjb2xsZWN0aW9uKSA6IGNvbGxlY3Rpb24ubGVuZ3RoO1xuICAgICAgICAgIH1cbiAgICAgICAgICB2YXIgdGFnID0gZ2V0VGFnKGNvbGxlY3Rpb24pO1xuICAgICAgICAgIGlmICh0YWcgPT0gbWFwVGFnIHx8IHRhZyA9PSBzZXRUYWcpIHtcbiAgICAgICAgICAgIHJldHVybiBjb2xsZWN0aW9uLnNpemU7XG4gICAgICAgICAgfVxuICAgICAgICAgIHJldHVybiBiYXNlS2V5cyhjb2xsZWN0aW9uKS5sZW5ndGg7XG4gICAgICAgIH1cbiAgICAgICAgZnVuY3Rpb24gc29tZShjb2xsZWN0aW9uLCBwcmVkaWNhdGUsIGd1YXJkKSB7XG4gICAgICAgICAgdmFyIGZ1bmMgPSBpc0FycmF5KGNvbGxlY3Rpb24pID8gYXJyYXlTb21lIDogYmFzZVNvbWU7XG4gICAgICAgICAgaWYgKGd1YXJkICYmIGlzSXRlcmF0ZWVDYWxsKGNvbGxlY3Rpb24sIHByZWRpY2F0ZSwgZ3VhcmQpKSB7XG4gICAgICAgICAgICBwcmVkaWNhdGUgPSB1bmRlZmluZWQyO1xuICAgICAgICAgIH1cbiAgICAgICAgICByZXR1cm4gZnVuYyhjb2xsZWN0aW9uLCBnZXRJdGVyYXRlZShwcmVkaWNhdGUsIDMpKTtcbiAgICAgICAgfVxuICAgICAgICB2YXIgc29ydEJ5ID0gYmFzZVJlc3QoZnVuY3Rpb24oY29sbGVjdGlvbiwgaXRlcmF0ZWVzKSB7XG4gICAgICAgICAgaWYgKGNvbGxlY3Rpb24gPT0gbnVsbCkge1xuICAgICAgICAgICAgcmV0dXJuIFtdO1xuICAgICAgICAgIH1cbiAgICAgICAgICB2YXIgbGVuZ3RoID0gaXRlcmF0ZWVzLmxlbmd0aDtcbiAgICAgICAgICBpZiAobGVuZ3RoID4gMSAmJiBpc0l0ZXJhdGVlQ2FsbChjb2xsZWN0aW9uLCBpdGVyYXRlZXNbMF0sIGl0ZXJhdGVlc1sxXSkpIHtcbiAgICAgICAgICAgIGl0ZXJhdGVlcyA9IFtdO1xuICAgICAgICAgIH0gZWxzZSBpZiAobGVuZ3RoID4gMiAmJiBpc0l0ZXJhdGVlQ2FsbChpdGVyYXRlZXNbMF0sIGl0ZXJhdGVlc1sxXSwgaXRlcmF0ZWVzWzJdKSkge1xuICAgICAgICAgICAgaXRlcmF0ZWVzID0gW2l0ZXJhdGVlc1swXV07XG4gICAgICAgICAgfVxuICAgICAgICAgIHJldHVybiBiYXNlT3JkZXJCeShjb2xsZWN0aW9uLCBiYXNlRmxhdHRlbihpdGVyYXRlZXMsIDEpLCBbXSk7XG4gICAgICAgIH0pO1xuICAgICAgICB2YXIgbm93ID0gY3R4Tm93IHx8IGZ1bmN0aW9uKCkge1xuICAgICAgICAgIHJldHVybiByb290LkRhdGUubm93KCk7XG4gICAgICAgIH07XG4gICAgICAgIGZ1bmN0aW9uIGFmdGVyKG4sIGZ1bmMpIHtcbiAgICAgICAgICBpZiAodHlwZW9mIGZ1bmMgIT0gXCJmdW5jdGlvblwiKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgVHlwZUVycm9yMihGVU5DX0VSUk9SX1RFWFQpO1xuICAgICAgICAgIH1cbiAgICAgICAgICBuID0gdG9JbnRlZ2VyKG4pO1xuICAgICAgICAgIHJldHVybiBmdW5jdGlvbigpIHtcbiAgICAgICAgICAgIGlmICgtLW4gPCAxKSB7XG4gICAgICAgICAgICAgIHJldHVybiBmdW5jLmFwcGx5KHRoaXMsIGFyZ3VtZW50cyk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfTtcbiAgICAgICAgfVxuICAgICAgICBmdW5jdGlvbiBhcnkoZnVuYywgbiwgZ3VhcmQpIHtcbiAgICAgICAgICBuID0gZ3VhcmQgPyB1bmRlZmluZWQyIDogbjtcbiAgICAgICAgICBuID0gZnVuYyAmJiBuID09IG51bGwgPyBmdW5jLmxlbmd0aCA6IG47XG4gICAgICAgICAgcmV0dXJuIGNyZWF0ZVdyYXAoZnVuYywgV1JBUF9BUllfRkxBRywgdW5kZWZpbmVkMiwgdW5kZWZpbmVkMiwgdW5kZWZpbmVkMiwgdW5kZWZpbmVkMiwgbik7XG4gICAgICAgIH1cbiAgICAgICAgZnVuY3Rpb24gYmVmb3JlKG4sIGZ1bmMpIHtcbiAgICAgICAgICB2YXIgcmVzdWx0MjtcbiAgICAgICAgICBpZiAodHlwZW9mIGZ1bmMgIT0gXCJmdW5jdGlvblwiKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgVHlwZUVycm9yMihGVU5DX0VSUk9SX1RFWFQpO1xuICAgICAgICAgIH1cbiAgICAgICAgICBuID0gdG9JbnRlZ2VyKG4pO1xuICAgICAgICAgIHJldHVybiBmdW5jdGlvbigpIHtcbiAgICAgICAgICAgIGlmICgtLW4gPiAwKSB7XG4gICAgICAgICAgICAgIHJlc3VsdDIgPSBmdW5jLmFwcGx5KHRoaXMsIGFyZ3VtZW50cyk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAobiA8PSAxKSB7XG4gICAgICAgICAgICAgIGZ1bmMgPSB1bmRlZmluZWQyO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmV0dXJuIHJlc3VsdDI7XG4gICAgICAgICAgfTtcbiAgICAgICAgfVxuICAgICAgICB2YXIgYmluZCA9IGJhc2VSZXN0KGZ1bmN0aW9uKGZ1bmMsIHRoaXNBcmcsIHBhcnRpYWxzKSB7XG4gICAgICAgICAgdmFyIGJpdG1hc2sgPSBXUkFQX0JJTkRfRkxBRztcbiAgICAgICAgICBpZiAocGFydGlhbHMubGVuZ3RoKSB7XG4gICAgICAgICAgICB2YXIgaG9sZGVycyA9IHJlcGxhY2VIb2xkZXJzKHBhcnRpYWxzLCBnZXRIb2xkZXIoYmluZCkpO1xuICAgICAgICAgICAgYml0bWFzayB8PSBXUkFQX1BBUlRJQUxfRkxBRztcbiAgICAgICAgICB9XG4gICAgICAgICAgcmV0dXJuIGNyZWF0ZVdyYXAoZnVuYywgYml0bWFzaywgdGhpc0FyZywgcGFydGlhbHMsIGhvbGRlcnMpO1xuICAgICAgICB9KTtcbiAgICAgICAgdmFyIGJpbmRLZXkgPSBiYXNlUmVzdChmdW5jdGlvbihvYmplY3QsIGtleSwgcGFydGlhbHMpIHtcbiAgICAgICAgICB2YXIgYml0bWFzayA9IFdSQVBfQklORF9GTEFHIHwgV1JBUF9CSU5EX0tFWV9GTEFHO1xuICAgICAgICAgIGlmIChwYXJ0aWFscy5sZW5ndGgpIHtcbiAgICAgICAgICAgIHZhciBob2xkZXJzID0gcmVwbGFjZUhvbGRlcnMocGFydGlhbHMsIGdldEhvbGRlcihiaW5kS2V5KSk7XG4gICAgICAgICAgICBiaXRtYXNrIHw9IFdSQVBfUEFSVElBTF9GTEFHO1xuICAgICAgICAgIH1cbiAgICAgICAgICByZXR1cm4gY3JlYXRlV3JhcChrZXksIGJpdG1hc2ssIG9iamVjdCwgcGFydGlhbHMsIGhvbGRlcnMpO1xuICAgICAgICB9KTtcbiAgICAgICAgZnVuY3Rpb24gY3VycnkoZnVuYywgYXJpdHksIGd1YXJkKSB7XG4gICAgICAgICAgYXJpdHkgPSBndWFyZCA/IHVuZGVmaW5lZDIgOiBhcml0eTtcbiAgICAgICAgICB2YXIgcmVzdWx0MiA9IGNyZWF0ZVdyYXAoZnVuYywgV1JBUF9DVVJSWV9GTEFHLCB1bmRlZmluZWQyLCB1bmRlZmluZWQyLCB1bmRlZmluZWQyLCB1bmRlZmluZWQyLCB1bmRlZmluZWQyLCBhcml0eSk7XG4gICAgICAgICAgcmVzdWx0Mi5wbGFjZWhvbGRlciA9IGN1cnJ5LnBsYWNlaG9sZGVyO1xuICAgICAgICAgIHJldHVybiByZXN1bHQyO1xuICAgICAgICB9XG4gICAgICAgIGZ1bmN0aW9uIGN1cnJ5UmlnaHQoZnVuYywgYXJpdHksIGd1YXJkKSB7XG4gICAgICAgICAgYXJpdHkgPSBndWFyZCA/IHVuZGVmaW5lZDIgOiBhcml0eTtcbiAgICAgICAgICB2YXIgcmVzdWx0MiA9IGNyZWF0ZVdyYXAoZnVuYywgV1JBUF9DVVJSWV9SSUdIVF9GTEFHLCB1bmRlZmluZWQyLCB1bmRlZmluZWQyLCB1bmRlZmluZWQyLCB1bmRlZmluZWQyLCB1bmRlZmluZWQyLCBhcml0eSk7XG4gICAgICAgICAgcmVzdWx0Mi5wbGFjZWhvbGRlciA9IGN1cnJ5UmlnaHQucGxhY2Vob2xkZXI7XG4gICAgICAgICAgcmV0dXJuIHJlc3VsdDI7XG4gICAgICAgIH1cbiAgICAgICAgZnVuY3Rpb24gZGVib3VuY2UoZnVuYywgd2FpdCwgb3B0aW9ucykge1xuICAgICAgICAgIHZhciBsYXN0QXJncywgbGFzdFRoaXMsIG1heFdhaXQsIHJlc3VsdDIsIHRpbWVySWQsIGxhc3RDYWxsVGltZSwgbGFzdEludm9rZVRpbWUgPSAwLCBsZWFkaW5nID0gZmFsc2UsIG1heGluZyA9IGZhbHNlLCB0cmFpbGluZyA9IHRydWU7XG4gICAgICAgICAgaWYgKHR5cGVvZiBmdW5jICE9IFwiZnVuY3Rpb25cIikge1xuICAgICAgICAgICAgdGhyb3cgbmV3IFR5cGVFcnJvcjIoRlVOQ19FUlJPUl9URVhUKTtcbiAgICAgICAgICB9XG4gICAgICAgICAgd2FpdCA9IHRvTnVtYmVyKHdhaXQpIHx8IDA7XG4gICAgICAgICAgaWYgKGlzT2JqZWN0KG9wdGlvbnMpKSB7XG4gICAgICAgICAgICBsZWFkaW5nID0gISFvcHRpb25zLmxlYWRpbmc7XG4gICAgICAgICAgICBtYXhpbmcgPSBcIm1heFdhaXRcIiBpbiBvcHRpb25zO1xuICAgICAgICAgICAgbWF4V2FpdCA9IG1heGluZyA/IG5hdGl2ZU1heCh0b051bWJlcihvcHRpb25zLm1heFdhaXQpIHx8IDAsIHdhaXQpIDogbWF4V2FpdDtcbiAgICAgICAgICAgIHRyYWlsaW5nID0gXCJ0cmFpbGluZ1wiIGluIG9wdGlvbnMgPyAhIW9wdGlvbnMudHJhaWxpbmcgOiB0cmFpbGluZztcbiAgICAgICAgICB9XG4gICAgICAgICAgZnVuY3Rpb24gaW52b2tlRnVuYyh0aW1lKSB7XG4gICAgICAgICAgICB2YXIgYXJncyA9IGxhc3RBcmdzLCB0aGlzQXJnID0gbGFzdFRoaXM7XG4gICAgICAgICAgICBsYXN0QXJncyA9IGxhc3RUaGlzID0gdW5kZWZpbmVkMjtcbiAgICAgICAgICAgIGxhc3RJbnZva2VUaW1lID0gdGltZTtcbiAgICAgICAgICAgIHJlc3VsdDIgPSBmdW5jLmFwcGx5KHRoaXNBcmcsIGFyZ3MpO1xuICAgICAgICAgICAgcmV0dXJuIHJlc3VsdDI7XG4gICAgICAgICAgfVxuICAgICAgICAgIGZ1bmN0aW9uIGxlYWRpbmdFZGdlKHRpbWUpIHtcbiAgICAgICAgICAgIGxhc3RJbnZva2VUaW1lID0gdGltZTtcbiAgICAgICAgICAgIHRpbWVySWQgPSBzZXRUaW1lb3V0KHRpbWVyRXhwaXJlZCwgd2FpdCk7XG4gICAgICAgICAgICByZXR1cm4gbGVhZGluZyA/IGludm9rZUZ1bmModGltZSkgOiByZXN1bHQyO1xuICAgICAgICAgIH1cbiAgICAgICAgICBmdW5jdGlvbiByZW1haW5pbmdXYWl0KHRpbWUpIHtcbiAgICAgICAgICAgIHZhciB0aW1lU2luY2VMYXN0Q2FsbCA9IHRpbWUgLSBsYXN0Q2FsbFRpbWUsIHRpbWVTaW5jZUxhc3RJbnZva2UgPSB0aW1lIC0gbGFzdEludm9rZVRpbWUsIHRpbWVXYWl0aW5nID0gd2FpdCAtIHRpbWVTaW5jZUxhc3RDYWxsO1xuICAgICAgICAgICAgcmV0dXJuIG1heGluZyA/IG5hdGl2ZU1pbih0aW1lV2FpdGluZywgbWF4V2FpdCAtIHRpbWVTaW5jZUxhc3RJbnZva2UpIDogdGltZVdhaXRpbmc7XG4gICAgICAgICAgfVxuICAgICAgICAgIGZ1bmN0aW9uIHNob3VsZEludm9rZSh0aW1lKSB7XG4gICAgICAgICAgICB2YXIgdGltZVNpbmNlTGFzdENhbGwgPSB0aW1lIC0gbGFzdENhbGxUaW1lLCB0aW1lU2luY2VMYXN0SW52b2tlID0gdGltZSAtIGxhc3RJbnZva2VUaW1lO1xuICAgICAgICAgICAgcmV0dXJuIGxhc3RDYWxsVGltZSA9PT0gdW5kZWZpbmVkMiB8fCB0aW1lU2luY2VMYXN0Q2FsbCA+PSB3YWl0IHx8IHRpbWVTaW5jZUxhc3RDYWxsIDwgMCB8fCBtYXhpbmcgJiYgdGltZVNpbmNlTGFzdEludm9rZSA+PSBtYXhXYWl0O1xuICAgICAgICAgIH1cbiAgICAgICAgICBmdW5jdGlvbiB0aW1lckV4cGlyZWQoKSB7XG4gICAgICAgICAgICB2YXIgdGltZSA9IG5vdygpO1xuICAgICAgICAgICAgaWYgKHNob3VsZEludm9rZSh0aW1lKSkge1xuICAgICAgICAgICAgICByZXR1cm4gdHJhaWxpbmdFZGdlKHRpbWUpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgdGltZXJJZCA9IHNldFRpbWVvdXQodGltZXJFeHBpcmVkLCByZW1haW5pbmdXYWl0KHRpbWUpKTtcbiAgICAgICAgICB9XG4gICAgICAgICAgZnVuY3Rpb24gdHJhaWxpbmdFZGdlKHRpbWUpIHtcbiAgICAgICAgICAgIHRpbWVySWQgPSB1bmRlZmluZWQyO1xuICAgICAgICAgICAgaWYgKHRyYWlsaW5nICYmIGxhc3RBcmdzKSB7XG4gICAgICAgICAgICAgIHJldHVybiBpbnZva2VGdW5jKHRpbWUpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgbGFzdEFyZ3MgPSBsYXN0VGhpcyA9IHVuZGVmaW5lZDI7XG4gICAgICAgICAgICByZXR1cm4gcmVzdWx0MjtcbiAgICAgICAgICB9XG4gICAgICAgICAgZnVuY3Rpb24gY2FuY2VsKCkge1xuICAgICAgICAgICAgaWYgKHRpbWVySWQgIT09IHVuZGVmaW5lZDIpIHtcbiAgICAgICAgICAgICAgY2xlYXJUaW1lb3V0KHRpbWVySWQpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgbGFzdEludm9rZVRpbWUgPSAwO1xuICAgICAgICAgICAgbGFzdEFyZ3MgPSBsYXN0Q2FsbFRpbWUgPSBsYXN0VGhpcyA9IHRpbWVySWQgPSB1bmRlZmluZWQyO1xuICAgICAgICAgIH1cbiAgICAgICAgICBmdW5jdGlvbiBmbHVzaCgpIHtcbiAgICAgICAgICAgIHJldHVybiB0aW1lcklkID09PSB1bmRlZmluZWQyID8gcmVzdWx0MiA6IHRyYWlsaW5nRWRnZShub3coKSk7XG4gICAgICAgICAgfVxuICAgICAgICAgIGZ1bmN0aW9uIGRlYm91bmNlZCgpIHtcbiAgICAgICAgICAgIHZhciB0aW1lID0gbm93KCksIGlzSW52b2tpbmcgPSBzaG91bGRJbnZva2UodGltZSk7XG4gICAgICAgICAgICBsYXN0QXJncyA9IGFyZ3VtZW50cztcbiAgICAgICAgICAgIGxhc3RUaGlzID0gdGhpcztcbiAgICAgICAgICAgIGxhc3RDYWxsVGltZSA9IHRpbWU7XG4gICAgICAgICAgICBpZiAoaXNJbnZva2luZykge1xuICAgICAgICAgICAgICBpZiAodGltZXJJZCA9PT0gdW5kZWZpbmVkMikge1xuICAgICAgICAgICAgICAgIHJldHVybiBsZWFkaW5nRWRnZShsYXN0Q2FsbFRpbWUpO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIGlmIChtYXhpbmcpIHtcbiAgICAgICAgICAgICAgICBjbGVhclRpbWVvdXQodGltZXJJZCk7XG4gICAgICAgICAgICAgICAgdGltZXJJZCA9IHNldFRpbWVvdXQodGltZXJFeHBpcmVkLCB3YWl0KTtcbiAgICAgICAgICAgICAgICByZXR1cm4gaW52b2tlRnVuYyhsYXN0Q2FsbFRpbWUpO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAodGltZXJJZCA9PT0gdW5kZWZpbmVkMikge1xuICAgICAgICAgICAgICB0aW1lcklkID0gc2V0VGltZW91dCh0aW1lckV4cGlyZWQsIHdhaXQpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmV0dXJuIHJlc3VsdDI7XG4gICAgICAgICAgfVxuICAgICAgICAgIGRlYm91bmNlZC5jYW5jZWwgPSBjYW5jZWw7XG4gICAgICAgICAgZGVib3VuY2VkLmZsdXNoID0gZmx1c2g7XG4gICAgICAgICAgcmV0dXJuIGRlYm91bmNlZDtcbiAgICAgICAgfVxuICAgICAgICB2YXIgZGVmZXIgPSBiYXNlUmVzdChmdW5jdGlvbihmdW5jLCBhcmdzKSB7XG4gICAgICAgICAgcmV0dXJuIGJhc2VEZWxheShmdW5jLCAxLCBhcmdzKTtcbiAgICAgICAgfSk7XG4gICAgICAgIHZhciBkZWxheSA9IGJhc2VSZXN0KGZ1bmN0aW9uKGZ1bmMsIHdhaXQsIGFyZ3MpIHtcbiAgICAgICAgICByZXR1cm4gYmFzZURlbGF5KGZ1bmMsIHRvTnVtYmVyKHdhaXQpIHx8IDAsIGFyZ3MpO1xuICAgICAgICB9KTtcbiAgICAgICAgZnVuY3Rpb24gZmxpcChmdW5jKSB7XG4gICAgICAgICAgcmV0dXJuIGNyZWF0ZVdyYXAoZnVuYywgV1JBUF9GTElQX0ZMQUcpO1xuICAgICAgICB9XG4gICAgICAgIGZ1bmN0aW9uIG1lbW9pemUoZnVuYywgcmVzb2x2ZXIpIHtcbiAgICAgICAgICBpZiAodHlwZW9mIGZ1bmMgIT0gXCJmdW5jdGlvblwiIHx8IHJlc29sdmVyICE9IG51bGwgJiYgdHlwZW9mIHJlc29sdmVyICE9IFwiZnVuY3Rpb25cIikge1xuICAgICAgICAgICAgdGhyb3cgbmV3IFR5cGVFcnJvcjIoRlVOQ19FUlJPUl9URVhUKTtcbiAgICAgICAgICB9XG4gICAgICAgICAgdmFyIG1lbW9pemVkID0gZnVuY3Rpb24oKSB7XG4gICAgICAgICAgICB2YXIgYXJncyA9IGFyZ3VtZW50cywga2V5ID0gcmVzb2x2ZXIgPyByZXNvbHZlci5hcHBseSh0aGlzLCBhcmdzKSA6IGFyZ3NbMF0sIGNhY2hlID0gbWVtb2l6ZWQuY2FjaGU7XG4gICAgICAgICAgICBpZiAoY2FjaGUuaGFzKGtleSkpIHtcbiAgICAgICAgICAgICAgcmV0dXJuIGNhY2hlLmdldChrZXkpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgdmFyIHJlc3VsdDIgPSBmdW5jLmFwcGx5KHRoaXMsIGFyZ3MpO1xuICAgICAgICAgICAgbWVtb2l6ZWQuY2FjaGUgPSBjYWNoZS5zZXQoa2V5LCByZXN1bHQyKSB8fCBjYWNoZTtcbiAgICAgICAgICAgIHJldHVybiByZXN1bHQyO1xuICAgICAgICAgIH07XG4gICAgICAgICAgbWVtb2l6ZWQuY2FjaGUgPSBuZXcgKG1lbW9pemUuQ2FjaGUgfHwgTWFwQ2FjaGUpKCk7XG4gICAgICAgICAgcmV0dXJuIG1lbW9pemVkO1xuICAgICAgICB9XG4gICAgICAgIG1lbW9pemUuQ2FjaGUgPSBNYXBDYWNoZTtcbiAgICAgICAgZnVuY3Rpb24gbmVnYXRlKHByZWRpY2F0ZSkge1xuICAgICAgICAgIGlmICh0eXBlb2YgcHJlZGljYXRlICE9IFwiZnVuY3Rpb25cIikge1xuICAgICAgICAgICAgdGhyb3cgbmV3IFR5cGVFcnJvcjIoRlVOQ19FUlJPUl9URVhUKTtcbiAgICAgICAgICB9XG4gICAgICAgICAgcmV0dXJuIGZ1bmN0aW9uKCkge1xuICAgICAgICAgICAgdmFyIGFyZ3MgPSBhcmd1bWVudHM7XG4gICAgICAgICAgICBzd2l0Y2ggKGFyZ3MubGVuZ3RoKSB7XG4gICAgICAgICAgICAgIGNhc2UgMDpcbiAgICAgICAgICAgICAgICByZXR1cm4gIXByZWRpY2F0ZS5jYWxsKHRoaXMpO1xuICAgICAgICAgICAgICBjYXNlIDE6XG4gICAgICAgICAgICAgICAgcmV0dXJuICFwcmVkaWNhdGUuY2FsbCh0aGlzLCBhcmdzWzBdKTtcbiAgICAgICAgICAgICAgY2FzZSAyOlxuICAgICAgICAgICAgICAgIHJldHVybiAhcHJlZGljYXRlLmNhbGwodGhpcywgYXJnc1swXSwgYXJnc1sxXSk7XG4gICAgICAgICAgICAgIGNhc2UgMzpcbiAgICAgICAgICAgICAgICByZXR1cm4gIXByZWRpY2F0ZS5jYWxsKHRoaXMsIGFyZ3NbMF0sIGFyZ3NbMV0sIGFyZ3NbMl0pO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmV0dXJuICFwcmVkaWNhdGUuYXBwbHkodGhpcywgYXJncyk7XG4gICAgICAgICAgfTtcbiAgICAgICAgfVxuICAgICAgICBmdW5jdGlvbiBvbmNlKGZ1bmMpIHtcbiAgICAgICAgICByZXR1cm4gYmVmb3JlKDIsIGZ1bmMpO1xuICAgICAgICB9XG4gICAgICAgIHZhciBvdmVyQXJncyA9IGNhc3RSZXN0KGZ1bmN0aW9uKGZ1bmMsIHRyYW5zZm9ybXMpIHtcbiAgICAgICAgICB0cmFuc2Zvcm1zID0gdHJhbnNmb3Jtcy5sZW5ndGggPT0gMSAmJiBpc0FycmF5KHRyYW5zZm9ybXNbMF0pID8gYXJyYXlNYXAodHJhbnNmb3Jtc1swXSwgYmFzZVVuYXJ5KGdldEl0ZXJhdGVlKCkpKSA6IGFycmF5TWFwKGJhc2VGbGF0dGVuKHRyYW5zZm9ybXMsIDEpLCBiYXNlVW5hcnkoZ2V0SXRlcmF0ZWUoKSkpO1xuICAgICAgICAgIHZhciBmdW5jc0xlbmd0aCA9IHRyYW5zZm9ybXMubGVuZ3RoO1xuICAgICAgICAgIHJldHVybiBiYXNlUmVzdChmdW5jdGlvbihhcmdzKSB7XG4gICAgICAgICAgICB2YXIgaW5kZXggPSAtMSwgbGVuZ3RoID0gbmF0aXZlTWluKGFyZ3MubGVuZ3RoLCBmdW5jc0xlbmd0aCk7XG4gICAgICAgICAgICB3aGlsZSAoKytpbmRleCA8IGxlbmd0aCkge1xuICAgICAgICAgICAgICBhcmdzW2luZGV4XSA9IHRyYW5zZm9ybXNbaW5kZXhdLmNhbGwodGhpcywgYXJnc1tpbmRleF0pO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmV0dXJuIGFwcGx5KGZ1bmMsIHRoaXMsIGFyZ3MpO1xuICAgICAgICAgIH0pO1xuICAgICAgICB9KTtcbiAgICAgICAgdmFyIHBhcnRpYWwgPSBiYXNlUmVzdChmdW5jdGlvbihmdW5jLCBwYXJ0aWFscykge1xuICAgICAgICAgIHZhciBob2xkZXJzID0gcmVwbGFjZUhvbGRlcnMocGFydGlhbHMsIGdldEhvbGRlcihwYXJ0aWFsKSk7XG4gICAgICAgICAgcmV0dXJuIGNyZWF0ZVdyYXAoZnVuYywgV1JBUF9QQVJUSUFMX0ZMQUcsIHVuZGVmaW5lZDIsIHBhcnRpYWxzLCBob2xkZXJzKTtcbiAgICAgICAgfSk7XG4gICAgICAgIHZhciBwYXJ0aWFsUmlnaHQgPSBiYXNlUmVzdChmdW5jdGlvbihmdW5jLCBwYXJ0aWFscykge1xuICAgICAgICAgIHZhciBob2xkZXJzID0gcmVwbGFjZUhvbGRlcnMocGFydGlhbHMsIGdldEhvbGRlcihwYXJ0aWFsUmlnaHQpKTtcbiAgICAgICAgICByZXR1cm4gY3JlYXRlV3JhcChmdW5jLCBXUkFQX1BBUlRJQUxfUklHSFRfRkxBRywgdW5kZWZpbmVkMiwgcGFydGlhbHMsIGhvbGRlcnMpO1xuICAgICAgICB9KTtcbiAgICAgICAgdmFyIHJlYXJnID0gZmxhdFJlc3QoZnVuY3Rpb24oZnVuYywgaW5kZXhlcykge1xuICAgICAgICAgIHJldHVybiBjcmVhdGVXcmFwKGZ1bmMsIFdSQVBfUkVBUkdfRkxBRywgdW5kZWZpbmVkMiwgdW5kZWZpbmVkMiwgdW5kZWZpbmVkMiwgaW5kZXhlcyk7XG4gICAgICAgIH0pO1xuICAgICAgICBmdW5jdGlvbiByZXN0KGZ1bmMsIHN0YXJ0KSB7XG4gICAgICAgICAgaWYgKHR5cGVvZiBmdW5jICE9IFwiZnVuY3Rpb25cIikge1xuICAgICAgICAgICAgdGhyb3cgbmV3IFR5cGVFcnJvcjIoRlVOQ19FUlJPUl9URVhUKTtcbiAgICAgICAgICB9XG4gICAgICAgICAgc3RhcnQgPSBzdGFydCA9PT0gdW5kZWZpbmVkMiA/IHN0YXJ0IDogdG9JbnRlZ2VyKHN0YXJ0KTtcbiAgICAgICAgICByZXR1cm4gYmFzZVJlc3QoZnVuYywgc3RhcnQpO1xuICAgICAgICB9XG4gICAgICAgIGZ1bmN0aW9uIHNwcmVhZChmdW5jLCBzdGFydCkge1xuICAgICAgICAgIGlmICh0eXBlb2YgZnVuYyAhPSBcImZ1bmN0aW9uXCIpIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBUeXBlRXJyb3IyKEZVTkNfRVJST1JfVEVYVCk7XG4gICAgICAgICAgfVxuICAgICAgICAgIHN0YXJ0ID0gc3RhcnQgPT0gbnVsbCA/IDAgOiBuYXRpdmVNYXgodG9JbnRlZ2VyKHN0YXJ0KSwgMCk7XG4gICAgICAgICAgcmV0dXJuIGJhc2VSZXN0KGZ1bmN0aW9uKGFyZ3MpIHtcbiAgICAgICAgICAgIHZhciBhcnJheSA9IGFyZ3Nbc3RhcnRdLCBvdGhlckFyZ3MgPSBjYXN0U2xpY2UoYXJncywgMCwgc3RhcnQpO1xuICAgICAgICAgICAgaWYgKGFycmF5KSB7XG4gICAgICAgICAgICAgIGFycmF5UHVzaChvdGhlckFyZ3MsIGFycmF5KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVybiBhcHBseShmdW5jLCB0aGlzLCBvdGhlckFyZ3MpO1xuICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICAgIGZ1bmN0aW9uIHRocm90dGxlKGZ1bmMsIHdhaXQsIG9wdGlvbnMpIHtcbiAgICAgICAgICB2YXIgbGVhZGluZyA9IHRydWUsIHRyYWlsaW5nID0gdHJ1ZTtcbiAgICAgICAgICBpZiAodHlwZW9mIGZ1bmMgIT0gXCJmdW5jdGlvblwiKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgVHlwZUVycm9yMihGVU5DX0VSUk9SX1RFWFQpO1xuICAgICAgICAgIH1cbiAgICAgICAgICBpZiAoaXNPYmplY3Qob3B0aW9ucykpIHtcbiAgICAgICAgICAgIGxlYWRpbmcgPSBcImxlYWRpbmdcIiBpbiBvcHRpb25zID8gISFvcHRpb25zLmxlYWRpbmcgOiBsZWFkaW5nO1xuICAgICAgICAgICAgdHJhaWxpbmcgPSBcInRyYWlsaW5nXCIgaW4gb3B0aW9ucyA/ICEhb3B0aW9ucy50cmFpbGluZyA6IHRyYWlsaW5nO1xuICAgICAgICAgIH1cbiAgICAgICAgICByZXR1cm4gZGVib3VuY2UoZnVuYywgd2FpdCwge1xuICAgICAgICAgICAgXCJsZWFkaW5nXCI6IGxlYWRpbmcsXG4gICAgICAgICAgICBcIm1heFdhaXRcIjogd2FpdCxcbiAgICAgICAgICAgIFwidHJhaWxpbmdcIjogdHJhaWxpbmdcbiAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgICAgICBmdW5jdGlvbiB1bmFyeShmdW5jKSB7XG4gICAgICAgICAgcmV0dXJuIGFyeShmdW5jLCAxKTtcbiAgICAgICAgfVxuICAgICAgICBmdW5jdGlvbiB3cmFwKHZhbHVlLCB3cmFwcGVyKSB7XG4gICAgICAgICAgcmV0dXJuIHBhcnRpYWwoY2FzdEZ1bmN0aW9uKHdyYXBwZXIpLCB2YWx1ZSk7XG4gICAgICAgIH1cbiAgICAgICAgZnVuY3Rpb24gY2FzdEFycmF5KCkge1xuICAgICAgICAgIGlmICghYXJndW1lbnRzLmxlbmd0aCkge1xuICAgICAgICAgICAgcmV0dXJuIFtdO1xuICAgICAgICAgIH1cbiAgICAgICAgICB2YXIgdmFsdWUgPSBhcmd1bWVudHNbMF07XG4gICAgICAgICAgcmV0dXJuIGlzQXJyYXkodmFsdWUpID8gdmFsdWUgOiBbdmFsdWVdO1xuICAgICAgICB9XG4gICAgICAgIGZ1bmN0aW9uIGNsb25lKHZhbHVlKSB7XG4gICAgICAgICAgcmV0dXJuIGJhc2VDbG9uZSh2YWx1ZSwgQ0xPTkVfU1lNQk9MU19GTEFHKTtcbiAgICAgICAgfVxuICAgICAgICBmdW5jdGlvbiBjbG9uZVdpdGgodmFsdWUsIGN1c3RvbWl6ZXIpIHtcbiAgICAgICAgICBjdXN0b21pemVyID0gdHlwZW9mIGN1c3RvbWl6ZXIgPT0gXCJmdW5jdGlvblwiID8gY3VzdG9taXplciA6IHVuZGVmaW5lZDI7XG4gICAgICAgICAgcmV0dXJuIGJhc2VDbG9uZSh2YWx1ZSwgQ0xPTkVfU1lNQk9MU19GTEFHLCBjdXN0b21pemVyKTtcbiAgICAgICAgfVxuICAgICAgICBmdW5jdGlvbiBjbG9uZURlZXAodmFsdWUpIHtcbiAgICAgICAgICByZXR1cm4gYmFzZUNsb25lKHZhbHVlLCBDTE9ORV9ERUVQX0ZMQUcgfCBDTE9ORV9TWU1CT0xTX0ZMQUcpO1xuICAgICAgICB9XG4gICAgICAgIGZ1bmN0aW9uIGNsb25lRGVlcFdpdGgodmFsdWUsIGN1c3RvbWl6ZXIpIHtcbiAgICAgICAgICBjdXN0b21pemVyID0gdHlwZW9mIGN1c3RvbWl6ZXIgPT0gXCJmdW5jdGlvblwiID8gY3VzdG9taXplciA6IHVuZGVmaW5lZDI7XG4gICAgICAgICAgcmV0dXJuIGJhc2VDbG9uZSh2YWx1ZSwgQ0xPTkVfREVFUF9GTEFHIHwgQ0xPTkVfU1lNQk9MU19GTEFHLCBjdXN0b21pemVyKTtcbiAgICAgICAgfVxuICAgICAgICBmdW5jdGlvbiBjb25mb3Jtc1RvKG9iamVjdCwgc291cmNlKSB7XG4gICAgICAgICAgcmV0dXJuIHNvdXJjZSA9PSBudWxsIHx8IGJhc2VDb25mb3Jtc1RvKG9iamVjdCwgc291cmNlLCBrZXlzKHNvdXJjZSkpO1xuICAgICAgICB9XG4gICAgICAgIGZ1bmN0aW9uIGVxKHZhbHVlLCBvdGhlcikge1xuICAgICAgICAgIHJldHVybiB2YWx1ZSA9PT0gb3RoZXIgfHwgdmFsdWUgIT09IHZhbHVlICYmIG90aGVyICE9PSBvdGhlcjtcbiAgICAgICAgfVxuICAgICAgICB2YXIgZ3QgPSBjcmVhdGVSZWxhdGlvbmFsT3BlcmF0aW9uKGJhc2VHdCk7XG4gICAgICAgIHZhciBndGUgPSBjcmVhdGVSZWxhdGlvbmFsT3BlcmF0aW9uKGZ1bmN0aW9uKHZhbHVlLCBvdGhlcikge1xuICAgICAgICAgIHJldHVybiB2YWx1ZSA+PSBvdGhlcjtcbiAgICAgICAgfSk7XG4gICAgICAgIHZhciBpc0FyZ3VtZW50cyA9IGJhc2VJc0FyZ3VtZW50cygvKiBAX19QVVJFX18gKi8gZnVuY3Rpb24oKSB7XG4gICAgICAgICAgcmV0dXJuIGFyZ3VtZW50cztcbiAgICAgICAgfSgpKSA/IGJhc2VJc0FyZ3VtZW50cyA6IGZ1bmN0aW9uKHZhbHVlKSB7XG4gICAgICAgICAgcmV0dXJuIGlzT2JqZWN0TGlrZSh2YWx1ZSkgJiYgaGFzT3duUHJvcGVydHkuY2FsbCh2YWx1ZSwgXCJjYWxsZWVcIikgJiYgIXByb3BlcnR5SXNFbnVtZXJhYmxlLmNhbGwodmFsdWUsIFwiY2FsbGVlXCIpO1xuICAgICAgICB9O1xuICAgICAgICB2YXIgaXNBcnJheSA9IEFycmF5Mi5pc0FycmF5O1xuICAgICAgICB2YXIgaXNBcnJheUJ1ZmZlciA9IG5vZGVJc0FycmF5QnVmZmVyID8gYmFzZVVuYXJ5KG5vZGVJc0FycmF5QnVmZmVyKSA6IGJhc2VJc0FycmF5QnVmZmVyO1xuICAgICAgICBmdW5jdGlvbiBpc0FycmF5TGlrZSh2YWx1ZSkge1xuICAgICAgICAgIHJldHVybiB2YWx1ZSAhPSBudWxsICYmIGlzTGVuZ3RoKHZhbHVlLmxlbmd0aCkgJiYgIWlzRnVuY3Rpb24odmFsdWUpO1xuICAgICAgICB9XG4gICAgICAgIGZ1bmN0aW9uIGlzQXJyYXlMaWtlT2JqZWN0KHZhbHVlKSB7XG4gICAgICAgICAgcmV0dXJuIGlzT2JqZWN0TGlrZSh2YWx1ZSkgJiYgaXNBcnJheUxpa2UodmFsdWUpO1xuICAgICAgICB9XG4gICAgICAgIGZ1bmN0aW9uIGlzQm9vbGVhbih2YWx1ZSkge1xuICAgICAgICAgIHJldHVybiB2YWx1ZSA9PT0gdHJ1ZSB8fCB2YWx1ZSA9PT0gZmFsc2UgfHwgaXNPYmplY3RMaWtlKHZhbHVlKSAmJiBiYXNlR2V0VGFnKHZhbHVlKSA9PSBib29sVGFnO1xuICAgICAgICB9XG4gICAgICAgIHZhciBpc0J1ZmZlciA9IG5hdGl2ZUlzQnVmZmVyIHx8IHN0dWJGYWxzZTtcbiAgICAgICAgdmFyIGlzRGF0ZSA9IG5vZGVJc0RhdGUgPyBiYXNlVW5hcnkobm9kZUlzRGF0ZSkgOiBiYXNlSXNEYXRlO1xuICAgICAgICBmdW5jdGlvbiBpc0VsZW1lbnQodmFsdWUpIHtcbiAgICAgICAgICByZXR1cm4gaXNPYmplY3RMaWtlKHZhbHVlKSAmJiB2YWx1ZS5ub2RlVHlwZSA9PT0gMSAmJiAhaXNQbGFpbk9iamVjdCh2YWx1ZSk7XG4gICAgICAgIH1cbiAgICAgICAgZnVuY3Rpb24gaXNFbXB0eSh2YWx1ZSkge1xuICAgICAgICAgIGlmICh2YWx1ZSA9PSBudWxsKSB7XG4gICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgICB9XG4gICAgICAgICAgaWYgKGlzQXJyYXlMaWtlKHZhbHVlKSAmJiAoaXNBcnJheSh2YWx1ZSkgfHwgdHlwZW9mIHZhbHVlID09IFwic3RyaW5nXCIgfHwgdHlwZW9mIHZhbHVlLnNwbGljZSA9PSBcImZ1bmN0aW9uXCIgfHwgaXNCdWZmZXIodmFsdWUpIHx8IGlzVHlwZWRBcnJheSh2YWx1ZSkgfHwgaXNBcmd1bWVudHModmFsdWUpKSkge1xuICAgICAgICAgICAgcmV0dXJuICF2YWx1ZS5sZW5ndGg7XG4gICAgICAgICAgfVxuICAgICAgICAgIHZhciB0YWcgPSBnZXRUYWcodmFsdWUpO1xuICAgICAgICAgIGlmICh0YWcgPT0gbWFwVGFnIHx8IHRhZyA9PSBzZXRUYWcpIHtcbiAgICAgICAgICAgIHJldHVybiAhdmFsdWUuc2l6ZTtcbiAgICAgICAgICB9XG4gICAgICAgICAgaWYgKGlzUHJvdG90eXBlKHZhbHVlKSkge1xuICAgICAgICAgICAgcmV0dXJuICFiYXNlS2V5cyh2YWx1ZSkubGVuZ3RoO1xuICAgICAgICAgIH1cbiAgICAgICAgICBmb3IgKHZhciBrZXkgaW4gdmFsdWUpIHtcbiAgICAgICAgICAgIGlmIChoYXNPd25Qcm9wZXJ0eS5jYWxsKHZhbHVlLCBrZXkpKSB7XG4gICAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgIH1cbiAgICAgICAgZnVuY3Rpb24gaXNFcXVhbCh2YWx1ZSwgb3RoZXIpIHtcbiAgICAgICAgICByZXR1cm4gYmFzZUlzRXF1YWwodmFsdWUsIG90aGVyKTtcbiAgICAgICAgfVxuICAgICAgICBmdW5jdGlvbiBpc0VxdWFsV2l0aCh2YWx1ZSwgb3RoZXIsIGN1c3RvbWl6ZXIpIHtcbiAgICAgICAgICBjdXN0b21pemVyID0gdHlwZW9mIGN1c3RvbWl6ZXIgPT0gXCJmdW5jdGlvblwiID8gY3VzdG9taXplciA6IHVuZGVmaW5lZDI7XG4gICAgICAgICAgdmFyIHJlc3VsdDIgPSBjdXN0b21pemVyID8gY3VzdG9taXplcih2YWx1ZSwgb3RoZXIpIDogdW5kZWZpbmVkMjtcbiAgICAgICAgICByZXR1cm4gcmVzdWx0MiA9PT0gdW5kZWZpbmVkMiA/IGJhc2VJc0VxdWFsKHZhbHVlLCBvdGhlciwgdW5kZWZpbmVkMiwgY3VzdG9taXplcikgOiAhIXJlc3VsdDI7XG4gICAgICAgIH1cbiAgICAgICAgZnVuY3Rpb24gaXNFcnJvcih2YWx1ZSkge1xuICAgICAgICAgIGlmICghaXNPYmplY3RMaWtlKHZhbHVlKSkge1xuICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICAgIH1cbiAgICAgICAgICB2YXIgdGFnID0gYmFzZUdldFRhZyh2YWx1ZSk7XG4gICAgICAgICAgcmV0dXJuIHRhZyA9PSBlcnJvclRhZyB8fCB0YWcgPT0gZG9tRXhjVGFnIHx8IHR5cGVvZiB2YWx1ZS5tZXNzYWdlID09IFwic3RyaW5nXCIgJiYgdHlwZW9mIHZhbHVlLm5hbWUgPT0gXCJzdHJpbmdcIiAmJiAhaXNQbGFpbk9iamVjdCh2YWx1ZSk7XG4gICAgICAgIH1cbiAgICAgICAgZnVuY3Rpb24gaXNGaW5pdGUyKHZhbHVlKSB7XG4gICAgICAgICAgcmV0dXJuIHR5cGVvZiB2YWx1ZSA9PSBcIm51bWJlclwiICYmIG5hdGl2ZUlzRmluaXRlKHZhbHVlKTtcbiAgICAgICAgfVxuICAgICAgICBmdW5jdGlvbiBpc0Z1bmN0aW9uKHZhbHVlKSB7XG4gICAgICAgICAgaWYgKCFpc09iamVjdCh2YWx1ZSkpIHtcbiAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgICB9XG4gICAgICAgICAgdmFyIHRhZyA9IGJhc2VHZXRUYWcodmFsdWUpO1xuICAgICAgICAgIHJldHVybiB0YWcgPT0gZnVuY1RhZyB8fCB0YWcgPT0gZ2VuVGFnIHx8IHRhZyA9PSBhc3luY1RhZyB8fCB0YWcgPT0gcHJveHlUYWc7XG4gICAgICAgIH1cbiAgICAgICAgZnVuY3Rpb24gaXNJbnRlZ2VyKHZhbHVlKSB7XG4gICAgICAgICAgcmV0dXJuIHR5cGVvZiB2YWx1ZSA9PSBcIm51bWJlclwiICYmIHZhbHVlID09IHRvSW50ZWdlcih2YWx1ZSk7XG4gICAgICAgIH1cbiAgICAgICAgZnVuY3Rpb24gaXNMZW5ndGgodmFsdWUpIHtcbiAgICAgICAgICByZXR1cm4gdHlwZW9mIHZhbHVlID09IFwibnVtYmVyXCIgJiYgdmFsdWUgPiAtMSAmJiB2YWx1ZSAlIDEgPT0gMCAmJiB2YWx1ZSA8PSBNQVhfU0FGRV9JTlRFR0VSO1xuICAgICAgICB9XG4gICAgICAgIGZ1bmN0aW9uIGlzT2JqZWN0KHZhbHVlKSB7XG4gICAgICAgICAgdmFyIHR5cGUgPSB0eXBlb2YgdmFsdWU7XG4gICAgICAgICAgcmV0dXJuIHZhbHVlICE9IG51bGwgJiYgKHR5cGUgPT0gXCJvYmplY3RcIiB8fCB0eXBlID09IFwiZnVuY3Rpb25cIik7XG4gICAgICAgIH1cbiAgICAgICAgZnVuY3Rpb24gaXNPYmplY3RMaWtlKHZhbHVlKSB7XG4gICAgICAgICAgcmV0dXJuIHZhbHVlICE9IG51bGwgJiYgdHlwZW9mIHZhbHVlID09IFwib2JqZWN0XCI7XG4gICAgICAgIH1cbiAgICAgICAgdmFyIGlzTWFwID0gbm9kZUlzTWFwID8gYmFzZVVuYXJ5KG5vZGVJc01hcCkgOiBiYXNlSXNNYXA7XG4gICAgICAgIGZ1bmN0aW9uIGlzTWF0Y2gob2JqZWN0LCBzb3VyY2UpIHtcbiAgICAgICAgICByZXR1cm4gb2JqZWN0ID09PSBzb3VyY2UgfHwgYmFzZUlzTWF0Y2gob2JqZWN0LCBzb3VyY2UsIGdldE1hdGNoRGF0YShzb3VyY2UpKTtcbiAgICAgICAgfVxuICAgICAgICBmdW5jdGlvbiBpc01hdGNoV2l0aChvYmplY3QsIHNvdXJjZSwgY3VzdG9taXplcikge1xuICAgICAgICAgIGN1c3RvbWl6ZXIgPSB0eXBlb2YgY3VzdG9taXplciA9PSBcImZ1bmN0aW9uXCIgPyBjdXN0b21pemVyIDogdW5kZWZpbmVkMjtcbiAgICAgICAgICByZXR1cm4gYmFzZUlzTWF0Y2gob2JqZWN0LCBzb3VyY2UsIGdldE1hdGNoRGF0YShzb3VyY2UpLCBjdXN0b21pemVyKTtcbiAgICAgICAgfVxuICAgICAgICBmdW5jdGlvbiBpc05hTjIodmFsdWUpIHtcbiAgICAgICAgICByZXR1cm4gaXNOdW1iZXIodmFsdWUpICYmIHZhbHVlICE9ICt2YWx1ZTtcbiAgICAgICAgfVxuICAgICAgICBmdW5jdGlvbiBpc05hdGl2ZSh2YWx1ZSkge1xuICAgICAgICAgIGlmIChpc01hc2thYmxlKHZhbHVlKSkge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yMihDT1JFX0VSUk9SX1RFWFQpO1xuICAgICAgICAgIH1cbiAgICAgICAgICByZXR1cm4gYmFzZUlzTmF0aXZlKHZhbHVlKTtcbiAgICAgICAgfVxuICAgICAgICBmdW5jdGlvbiBpc051bGwodmFsdWUpIHtcbiAgICAgICAgICByZXR1cm4gdmFsdWUgPT09IG51bGw7XG4gICAgICAgIH1cbiAgICAgICAgZnVuY3Rpb24gaXNOaWwodmFsdWUpIHtcbiAgICAgICAgICByZXR1cm4gdmFsdWUgPT0gbnVsbDtcbiAgICAgICAgfVxuICAgICAgICBmdW5jdGlvbiBpc051bWJlcih2YWx1ZSkge1xuICAgICAgICAgIHJldHVybiB0eXBlb2YgdmFsdWUgPT0gXCJudW1iZXJcIiB8fCBpc09iamVjdExpa2UodmFsdWUpICYmIGJhc2VHZXRUYWcodmFsdWUpID09IG51bWJlclRhZztcbiAgICAgICAgfVxuICAgICAgICBmdW5jdGlvbiBpc1BsYWluT2JqZWN0KHZhbHVlKSB7XG4gICAgICAgICAgaWYgKCFpc09iamVjdExpa2UodmFsdWUpIHx8IGJhc2VHZXRUYWcodmFsdWUpICE9IG9iamVjdFRhZykge1xuICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICAgIH1cbiAgICAgICAgICB2YXIgcHJvdG8gPSBnZXRQcm90b3R5cGUodmFsdWUpO1xuICAgICAgICAgIGlmIChwcm90byA9PT0gbnVsbCkge1xuICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgICAgfVxuICAgICAgICAgIHZhciBDdG9yID0gaGFzT3duUHJvcGVydHkuY2FsbChwcm90bywgXCJjb25zdHJ1Y3RvclwiKSAmJiBwcm90by5jb25zdHJ1Y3RvcjtcbiAgICAgICAgICByZXR1cm4gdHlwZW9mIEN0b3IgPT0gXCJmdW5jdGlvblwiICYmIEN0b3IgaW5zdGFuY2VvZiBDdG9yICYmIGZ1bmNUb1N0cmluZy5jYWxsKEN0b3IpID09IG9iamVjdEN0b3JTdHJpbmc7XG4gICAgICAgIH1cbiAgICAgICAgdmFyIGlzUmVnRXhwID0gbm9kZUlzUmVnRXhwID8gYmFzZVVuYXJ5KG5vZGVJc1JlZ0V4cCkgOiBiYXNlSXNSZWdFeHA7XG4gICAgICAgIGZ1bmN0aW9uIGlzU2FmZUludGVnZXIodmFsdWUpIHtcbiAgICAgICAgICByZXR1cm4gaXNJbnRlZ2VyKHZhbHVlKSAmJiB2YWx1ZSA+PSAtTUFYX1NBRkVfSU5URUdFUiAmJiB2YWx1ZSA8PSBNQVhfU0FGRV9JTlRFR0VSO1xuICAgICAgICB9XG4gICAgICAgIHZhciBpc1NldCA9IG5vZGVJc1NldCA/IGJhc2VVbmFyeShub2RlSXNTZXQpIDogYmFzZUlzU2V0O1xuICAgICAgICBmdW5jdGlvbiBpc1N0cmluZyh2YWx1ZSkge1xuICAgICAgICAgIHJldHVybiB0eXBlb2YgdmFsdWUgPT0gXCJzdHJpbmdcIiB8fCAhaXNBcnJheSh2YWx1ZSkgJiYgaXNPYmplY3RMaWtlKHZhbHVlKSAmJiBiYXNlR2V0VGFnKHZhbHVlKSA9PSBzdHJpbmdUYWc7XG4gICAgICAgIH1cbiAgICAgICAgZnVuY3Rpb24gaXNTeW1ib2wodmFsdWUpIHtcbiAgICAgICAgICByZXR1cm4gdHlwZW9mIHZhbHVlID09IFwic3ltYm9sXCIgfHwgaXNPYmplY3RMaWtlKHZhbHVlKSAmJiBiYXNlR2V0VGFnKHZhbHVlKSA9PSBzeW1ib2xUYWc7XG4gICAgICAgIH1cbiAgICAgICAgdmFyIGlzVHlwZWRBcnJheSA9IG5vZGVJc1R5cGVkQXJyYXkgPyBiYXNlVW5hcnkobm9kZUlzVHlwZWRBcnJheSkgOiBiYXNlSXNUeXBlZEFycmF5O1xuICAgICAgICBmdW5jdGlvbiBpc1VuZGVmaW5lZCh2YWx1ZSkge1xuICAgICAgICAgIHJldHVybiB2YWx1ZSA9PT0gdW5kZWZpbmVkMjtcbiAgICAgICAgfVxuICAgICAgICBmdW5jdGlvbiBpc1dlYWtNYXAodmFsdWUpIHtcbiAgICAgICAgICByZXR1cm4gaXNPYmplY3RMaWtlKHZhbHVlKSAmJiBnZXRUYWcodmFsdWUpID09IHdlYWtNYXBUYWc7XG4gICAgICAgIH1cbiAgICAgICAgZnVuY3Rpb24gaXNXZWFrU2V0KHZhbHVlKSB7XG4gICAgICAgICAgcmV0dXJuIGlzT2JqZWN0TGlrZSh2YWx1ZSkgJiYgYmFzZUdldFRhZyh2YWx1ZSkgPT0gd2Vha1NldFRhZztcbiAgICAgICAgfVxuICAgICAgICB2YXIgbHQgPSBjcmVhdGVSZWxhdGlvbmFsT3BlcmF0aW9uKGJhc2VMdCk7XG4gICAgICAgIHZhciBsdGUgPSBjcmVhdGVSZWxhdGlvbmFsT3BlcmF0aW9uKGZ1bmN0aW9uKHZhbHVlLCBvdGhlcikge1xuICAgICAgICAgIHJldHVybiB2YWx1ZSA8PSBvdGhlcjtcbiAgICAgICAgfSk7XG4gICAgICAgIGZ1bmN0aW9uIHRvQXJyYXkodmFsdWUpIHtcbiAgICAgICAgICBpZiAoIXZhbHVlKSB7XG4gICAgICAgICAgICByZXR1cm4gW107XG4gICAgICAgICAgfVxuICAgICAgICAgIGlmIChpc0FycmF5TGlrZSh2YWx1ZSkpIHtcbiAgICAgICAgICAgIHJldHVybiBpc1N0cmluZyh2YWx1ZSkgPyBzdHJpbmdUb0FycmF5KHZhbHVlKSA6IGNvcHlBcnJheSh2YWx1ZSk7XG4gICAgICAgICAgfVxuICAgICAgICAgIGlmIChzeW1JdGVyYXRvciAmJiB2YWx1ZVtzeW1JdGVyYXRvcl0pIHtcbiAgICAgICAgICAgIHJldHVybiBpdGVyYXRvclRvQXJyYXkodmFsdWVbc3ltSXRlcmF0b3JdKCkpO1xuICAgICAgICAgIH1cbiAgICAgICAgICB2YXIgdGFnID0gZ2V0VGFnKHZhbHVlKSwgZnVuYyA9IHRhZyA9PSBtYXBUYWcgPyBtYXBUb0FycmF5IDogdGFnID09IHNldFRhZyA/IHNldFRvQXJyYXkgOiB2YWx1ZXM7XG4gICAgICAgICAgcmV0dXJuIGZ1bmModmFsdWUpO1xuICAgICAgICB9XG4gICAgICAgIGZ1bmN0aW9uIHRvRmluaXRlKHZhbHVlKSB7XG4gICAgICAgICAgaWYgKCF2YWx1ZSkge1xuICAgICAgICAgICAgcmV0dXJuIHZhbHVlID09PSAwID8gdmFsdWUgOiAwO1xuICAgICAgICAgIH1cbiAgICAgICAgICB2YWx1ZSA9IHRvTnVtYmVyKHZhbHVlKTtcbiAgICAgICAgICBpZiAodmFsdWUgPT09IElORklOSVRZIHx8IHZhbHVlID09PSAtSU5GSU5JVFkpIHtcbiAgICAgICAgICAgIHZhciBzaWduID0gdmFsdWUgPCAwID8gLTEgOiAxO1xuICAgICAgICAgICAgcmV0dXJuIHNpZ24gKiBNQVhfSU5URUdFUjtcbiAgICAgICAgICB9XG4gICAgICAgICAgcmV0dXJuIHZhbHVlID09PSB2YWx1ZSA/IHZhbHVlIDogMDtcbiAgICAgICAgfVxuICAgICAgICBmdW5jdGlvbiB0b0ludGVnZXIodmFsdWUpIHtcbiAgICAgICAgICB2YXIgcmVzdWx0MiA9IHRvRmluaXRlKHZhbHVlKSwgcmVtYWluZGVyID0gcmVzdWx0MiAlIDE7XG4gICAgICAgICAgcmV0dXJuIHJlc3VsdDIgPT09IHJlc3VsdDIgPyByZW1haW5kZXIgPyByZXN1bHQyIC0gcmVtYWluZGVyIDogcmVzdWx0MiA6IDA7XG4gICAgICAgIH1cbiAgICAgICAgZnVuY3Rpb24gdG9MZW5ndGgodmFsdWUpIHtcbiAgICAgICAgICByZXR1cm4gdmFsdWUgPyBiYXNlQ2xhbXAodG9JbnRlZ2VyKHZhbHVlKSwgMCwgTUFYX0FSUkFZX0xFTkdUSCkgOiAwO1xuICAgICAgICB9XG4gICAgICAgIGZ1bmN0aW9uIHRvTnVtYmVyKHZhbHVlKSB7XG4gICAgICAgICAgaWYgKHR5cGVvZiB2YWx1ZSA9PSBcIm51bWJlclwiKSB7XG4gICAgICAgICAgICByZXR1cm4gdmFsdWU7XG4gICAgICAgICAgfVxuICAgICAgICAgIGlmIChpc1N5bWJvbCh2YWx1ZSkpIHtcbiAgICAgICAgICAgIHJldHVybiBOQU47XG4gICAgICAgICAgfVxuICAgICAgICAgIGlmIChpc09iamVjdCh2YWx1ZSkpIHtcbiAgICAgICAgICAgIHZhciBvdGhlciA9IHR5cGVvZiB2YWx1ZS52YWx1ZU9mID09IFwiZnVuY3Rpb25cIiA/IHZhbHVlLnZhbHVlT2YoKSA6IHZhbHVlO1xuICAgICAgICAgICAgdmFsdWUgPSBpc09iamVjdChvdGhlcikgPyBvdGhlciArIFwiXCIgOiBvdGhlcjtcbiAgICAgICAgICB9XG4gICAgICAgICAgaWYgKHR5cGVvZiB2YWx1ZSAhPSBcInN0cmluZ1wiKSB7XG4gICAgICAgICAgICByZXR1cm4gdmFsdWUgPT09IDAgPyB2YWx1ZSA6ICt2YWx1ZTtcbiAgICAgICAgICB9XG4gICAgICAgICAgdmFsdWUgPSBiYXNlVHJpbSh2YWx1ZSk7XG4gICAgICAgICAgdmFyIGlzQmluYXJ5ID0gcmVJc0JpbmFyeS50ZXN0KHZhbHVlKTtcbiAgICAgICAgICByZXR1cm4gaXNCaW5hcnkgfHwgcmVJc09jdGFsLnRlc3QodmFsdWUpID8gZnJlZVBhcnNlSW50KHZhbHVlLnNsaWNlKDIpLCBpc0JpbmFyeSA/IDIgOiA4KSA6IHJlSXNCYWRIZXgudGVzdCh2YWx1ZSkgPyBOQU4gOiArdmFsdWU7XG4gICAgICAgIH1cbiAgICAgICAgZnVuY3Rpb24gdG9QbGFpbk9iamVjdCh2YWx1ZSkge1xuICAgICAgICAgIHJldHVybiBjb3B5T2JqZWN0KHZhbHVlLCBrZXlzSW4odmFsdWUpKTtcbiAgICAgICAgfVxuICAgICAgICBmdW5jdGlvbiB0b1NhZmVJbnRlZ2VyKHZhbHVlKSB7XG4gICAgICAgICAgcmV0dXJuIHZhbHVlID8gYmFzZUNsYW1wKHRvSW50ZWdlcih2YWx1ZSksIC1NQVhfU0FGRV9JTlRFR0VSLCBNQVhfU0FGRV9JTlRFR0VSKSA6IHZhbHVlID09PSAwID8gdmFsdWUgOiAwO1xuICAgICAgICB9XG4gICAgICAgIGZ1bmN0aW9uIHRvU3RyaW5nKHZhbHVlKSB7XG4gICAgICAgICAgcmV0dXJuIHZhbHVlID09IG51bGwgPyBcIlwiIDogYmFzZVRvU3RyaW5nKHZhbHVlKTtcbiAgICAgICAgfVxuICAgICAgICB2YXIgYXNzaWduID0gY3JlYXRlQXNzaWduZXIoZnVuY3Rpb24ob2JqZWN0LCBzb3VyY2UpIHtcbiAgICAgICAgICBpZiAoaXNQcm90b3R5cGUoc291cmNlKSB8fCBpc0FycmF5TGlrZShzb3VyY2UpKSB7XG4gICAgICAgICAgICBjb3B5T2JqZWN0KHNvdXJjZSwga2V5cyhzb3VyY2UpLCBvYmplY3QpO1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgIH1cbiAgICAgICAgICBmb3IgKHZhciBrZXkgaW4gc291cmNlKSB7XG4gICAgICAgICAgICBpZiAoaGFzT3duUHJvcGVydHkuY2FsbChzb3VyY2UsIGtleSkpIHtcbiAgICAgICAgICAgICAgYXNzaWduVmFsdWUob2JqZWN0LCBrZXksIHNvdXJjZVtrZXldKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgICAgICB2YXIgYXNzaWduSW4gPSBjcmVhdGVBc3NpZ25lcihmdW5jdGlvbihvYmplY3QsIHNvdXJjZSkge1xuICAgICAgICAgIGNvcHlPYmplY3Qoc291cmNlLCBrZXlzSW4oc291cmNlKSwgb2JqZWN0KTtcbiAgICAgICAgfSk7XG4gICAgICAgIHZhciBhc3NpZ25JbldpdGggPSBjcmVhdGVBc3NpZ25lcihmdW5jdGlvbihvYmplY3QsIHNvdXJjZSwgc3JjSW5kZXgsIGN1c3RvbWl6ZXIpIHtcbiAgICAgICAgICBjb3B5T2JqZWN0KHNvdXJjZSwga2V5c0luKHNvdXJjZSksIG9iamVjdCwgY3VzdG9taXplcik7XG4gICAgICAgIH0pO1xuICAgICAgICB2YXIgYXNzaWduV2l0aCA9IGNyZWF0ZUFzc2lnbmVyKGZ1bmN0aW9uKG9iamVjdCwgc291cmNlLCBzcmNJbmRleCwgY3VzdG9taXplcikge1xuICAgICAgICAgIGNvcHlPYmplY3Qoc291cmNlLCBrZXlzKHNvdXJjZSksIG9iamVjdCwgY3VzdG9taXplcik7XG4gICAgICAgIH0pO1xuICAgICAgICB2YXIgYXQgPSBmbGF0UmVzdChiYXNlQXQpO1xuICAgICAgICBmdW5jdGlvbiBjcmVhdGUocHJvdG90eXBlLCBwcm9wZXJ0aWVzKSB7XG4gICAgICAgICAgdmFyIHJlc3VsdDIgPSBiYXNlQ3JlYXRlKHByb3RvdHlwZSk7XG4gICAgICAgICAgcmV0dXJuIHByb3BlcnRpZXMgPT0gbnVsbCA/IHJlc3VsdDIgOiBiYXNlQXNzaWduKHJlc3VsdDIsIHByb3BlcnRpZXMpO1xuICAgICAgICB9XG4gICAgICAgIHZhciBkZWZhdWx0cyA9IGJhc2VSZXN0KGZ1bmN0aW9uKG9iamVjdCwgc291cmNlcykge1xuICAgICAgICAgIG9iamVjdCA9IE9iamVjdDIob2JqZWN0KTtcbiAgICAgICAgICB2YXIgaW5kZXggPSAtMTtcbiAgICAgICAgICB2YXIgbGVuZ3RoID0gc291cmNlcy5sZW5ndGg7XG4gICAgICAgICAgdmFyIGd1YXJkID0gbGVuZ3RoID4gMiA/IHNvdXJjZXNbMl0gOiB1bmRlZmluZWQyO1xuICAgICAgICAgIGlmIChndWFyZCAmJiBpc0l0ZXJhdGVlQ2FsbChzb3VyY2VzWzBdLCBzb3VyY2VzWzFdLCBndWFyZCkpIHtcbiAgICAgICAgICAgIGxlbmd0aCA9IDE7XG4gICAgICAgICAgfVxuICAgICAgICAgIHdoaWxlICgrK2luZGV4IDwgbGVuZ3RoKSB7XG4gICAgICAgICAgICB2YXIgc291cmNlID0gc291cmNlc1tpbmRleF07XG4gICAgICAgICAgICB2YXIgcHJvcHMgPSBrZXlzSW4oc291cmNlKTtcbiAgICAgICAgICAgIHZhciBwcm9wc0luZGV4ID0gLTE7XG4gICAgICAgICAgICB2YXIgcHJvcHNMZW5ndGggPSBwcm9wcy5sZW5ndGg7XG4gICAgICAgICAgICB3aGlsZSAoKytwcm9wc0luZGV4IDwgcHJvcHNMZW5ndGgpIHtcbiAgICAgICAgICAgICAgdmFyIGtleSA9IHByb3BzW3Byb3BzSW5kZXhdO1xuICAgICAgICAgICAgICB2YXIgdmFsdWUgPSBvYmplY3Rba2V5XTtcbiAgICAgICAgICAgICAgaWYgKHZhbHVlID09PSB1bmRlZmluZWQyIHx8IGVxKHZhbHVlLCBvYmplY3RQcm90b1trZXldKSAmJiAhaGFzT3duUHJvcGVydHkuY2FsbChvYmplY3QsIGtleSkpIHtcbiAgICAgICAgICAgICAgICBvYmplY3Rba2V5XSA9IHNvdXJjZVtrZXldO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICAgIHJldHVybiBvYmplY3Q7XG4gICAgICAgIH0pO1xuICAgICAgICB2YXIgZGVmYXVsdHNEZWVwID0gYmFzZVJlc3QoZnVuY3Rpb24oYXJncykge1xuICAgICAgICAgIGFyZ3MucHVzaCh1bmRlZmluZWQyLCBjdXN0b21EZWZhdWx0c01lcmdlKTtcbiAgICAgICAgICByZXR1cm4gYXBwbHkobWVyZ2VXaXRoLCB1bmRlZmluZWQyLCBhcmdzKTtcbiAgICAgICAgfSk7XG4gICAgICAgIGZ1bmN0aW9uIGZpbmRLZXkob2JqZWN0LCBwcmVkaWNhdGUpIHtcbiAgICAgICAgICByZXR1cm4gYmFzZUZpbmRLZXkob2JqZWN0LCBnZXRJdGVyYXRlZShwcmVkaWNhdGUsIDMpLCBiYXNlRm9yT3duKTtcbiAgICAgICAgfVxuICAgICAgICBmdW5jdGlvbiBmaW5kTGFzdEtleShvYmplY3QsIHByZWRpY2F0ZSkge1xuICAgICAgICAgIHJldHVybiBiYXNlRmluZEtleShvYmplY3QsIGdldEl0ZXJhdGVlKHByZWRpY2F0ZSwgMyksIGJhc2VGb3JPd25SaWdodCk7XG4gICAgICAgIH1cbiAgICAgICAgZnVuY3Rpb24gZm9ySW4ob2JqZWN0LCBpdGVyYXRlZTIpIHtcbiAgICAgICAgICByZXR1cm4gb2JqZWN0ID09IG51bGwgPyBvYmplY3QgOiBiYXNlRm9yKG9iamVjdCwgZ2V0SXRlcmF0ZWUoaXRlcmF0ZWUyLCAzKSwga2V5c0luKTtcbiAgICAgICAgfVxuICAgICAgICBmdW5jdGlvbiBmb3JJblJpZ2h0KG9iamVjdCwgaXRlcmF0ZWUyKSB7XG4gICAgICAgICAgcmV0dXJuIG9iamVjdCA9PSBudWxsID8gb2JqZWN0IDogYmFzZUZvclJpZ2h0KG9iamVjdCwgZ2V0SXRlcmF0ZWUoaXRlcmF0ZWUyLCAzKSwga2V5c0luKTtcbiAgICAgICAgfVxuICAgICAgICBmdW5jdGlvbiBmb3JPd24ob2JqZWN0LCBpdGVyYXRlZTIpIHtcbiAgICAgICAgICByZXR1cm4gb2JqZWN0ICYmIGJhc2VGb3JPd24ob2JqZWN0LCBnZXRJdGVyYXRlZShpdGVyYXRlZTIsIDMpKTtcbiAgICAgICAgfVxuICAgICAgICBmdW5jdGlvbiBmb3JPd25SaWdodChvYmplY3QsIGl0ZXJhdGVlMikge1xuICAgICAgICAgIHJldHVybiBvYmplY3QgJiYgYmFzZUZvck93blJpZ2h0KG9iamVjdCwgZ2V0SXRlcmF0ZWUoaXRlcmF0ZWUyLCAzKSk7XG4gICAgICAgIH1cbiAgICAgICAgZnVuY3Rpb24gZnVuY3Rpb25zKG9iamVjdCkge1xuICAgICAgICAgIHJldHVybiBvYmplY3QgPT0gbnVsbCA/IFtdIDogYmFzZUZ1bmN0aW9ucyhvYmplY3QsIGtleXMob2JqZWN0KSk7XG4gICAgICAgIH1cbiAgICAgICAgZnVuY3Rpb24gZnVuY3Rpb25zSW4ob2JqZWN0KSB7XG4gICAgICAgICAgcmV0dXJuIG9iamVjdCA9PSBudWxsID8gW10gOiBiYXNlRnVuY3Rpb25zKG9iamVjdCwga2V5c0luKG9iamVjdCkpO1xuICAgICAgICB9XG4gICAgICAgIGZ1bmN0aW9uIGdldChvYmplY3QsIHBhdGgsIGRlZmF1bHRWYWx1ZSkge1xuICAgICAgICAgIHZhciByZXN1bHQyID0gb2JqZWN0ID09IG51bGwgPyB1bmRlZmluZWQyIDogYmFzZUdldChvYmplY3QsIHBhdGgpO1xuICAgICAgICAgIHJldHVybiByZXN1bHQyID09PSB1bmRlZmluZWQyID8gZGVmYXVsdFZhbHVlIDogcmVzdWx0MjtcbiAgICAgICAgfVxuICAgICAgICBmdW5jdGlvbiBoYXMob2JqZWN0LCBwYXRoKSB7XG4gICAgICAgICAgcmV0dXJuIG9iamVjdCAhPSBudWxsICYmIGhhc1BhdGgob2JqZWN0LCBwYXRoLCBiYXNlSGFzKTtcbiAgICAgICAgfVxuICAgICAgICBmdW5jdGlvbiBoYXNJbihvYmplY3QsIHBhdGgpIHtcbiAgICAgICAgICByZXR1cm4gb2JqZWN0ICE9IG51bGwgJiYgaGFzUGF0aChvYmplY3QsIHBhdGgsIGJhc2VIYXNJbik7XG4gICAgICAgIH1cbiAgICAgICAgdmFyIGludmVydCA9IGNyZWF0ZUludmVydGVyKGZ1bmN0aW9uKHJlc3VsdDIsIHZhbHVlLCBrZXkpIHtcbiAgICAgICAgICBpZiAodmFsdWUgIT0gbnVsbCAmJiB0eXBlb2YgdmFsdWUudG9TdHJpbmcgIT0gXCJmdW5jdGlvblwiKSB7XG4gICAgICAgICAgICB2YWx1ZSA9IG5hdGl2ZU9iamVjdFRvU3RyaW5nLmNhbGwodmFsdWUpO1xuICAgICAgICAgIH1cbiAgICAgICAgICByZXN1bHQyW3ZhbHVlXSA9IGtleTtcbiAgICAgICAgfSwgY29uc3RhbnQoaWRlbnRpdHkpKTtcbiAgICAgICAgdmFyIGludmVydEJ5ID0gY3JlYXRlSW52ZXJ0ZXIoZnVuY3Rpb24ocmVzdWx0MiwgdmFsdWUsIGtleSkge1xuICAgICAgICAgIGlmICh2YWx1ZSAhPSBudWxsICYmIHR5cGVvZiB2YWx1ZS50b1N0cmluZyAhPSBcImZ1bmN0aW9uXCIpIHtcbiAgICAgICAgICAgIHZhbHVlID0gbmF0aXZlT2JqZWN0VG9TdHJpbmcuY2FsbCh2YWx1ZSk7XG4gICAgICAgICAgfVxuICAgICAgICAgIGlmIChoYXNPd25Qcm9wZXJ0eS5jYWxsKHJlc3VsdDIsIHZhbHVlKSkge1xuICAgICAgICAgICAgcmVzdWx0Mlt2YWx1ZV0ucHVzaChrZXkpO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICByZXN1bHQyW3ZhbHVlXSA9IFtrZXldO1xuICAgICAgICAgIH1cbiAgICAgICAgfSwgZ2V0SXRlcmF0ZWUpO1xuICAgICAgICB2YXIgaW52b2tlID0gYmFzZVJlc3QoYmFzZUludm9rZSk7XG4gICAgICAgIGZ1bmN0aW9uIGtleXMob2JqZWN0KSB7XG4gICAgICAgICAgcmV0dXJuIGlzQXJyYXlMaWtlKG9iamVjdCkgPyBhcnJheUxpa2VLZXlzKG9iamVjdCkgOiBiYXNlS2V5cyhvYmplY3QpO1xuICAgICAgICB9XG4gICAgICAgIGZ1bmN0aW9uIGtleXNJbihvYmplY3QpIHtcbiAgICAgICAgICByZXR1cm4gaXNBcnJheUxpa2Uob2JqZWN0KSA/IGFycmF5TGlrZUtleXMob2JqZWN0LCB0cnVlKSA6IGJhc2VLZXlzSW4ob2JqZWN0KTtcbiAgICAgICAgfVxuICAgICAgICBmdW5jdGlvbiBtYXBLZXlzKG9iamVjdCwgaXRlcmF0ZWUyKSB7XG4gICAgICAgICAgdmFyIHJlc3VsdDIgPSB7fTtcbiAgICAgICAgICBpdGVyYXRlZTIgPSBnZXRJdGVyYXRlZShpdGVyYXRlZTIsIDMpO1xuICAgICAgICAgIGJhc2VGb3JPd24ob2JqZWN0LCBmdW5jdGlvbih2YWx1ZSwga2V5LCBvYmplY3QyKSB7XG4gICAgICAgICAgICBiYXNlQXNzaWduVmFsdWUocmVzdWx0MiwgaXRlcmF0ZWUyKHZhbHVlLCBrZXksIG9iamVjdDIpLCB2YWx1ZSk7XG4gICAgICAgICAgfSk7XG4gICAgICAgICAgcmV0dXJuIHJlc3VsdDI7XG4gICAgICAgIH1cbiAgICAgICAgZnVuY3Rpb24gbWFwVmFsdWVzKG9iamVjdCwgaXRlcmF0ZWUyKSB7XG4gICAgICAgICAgdmFyIHJlc3VsdDIgPSB7fTtcbiAgICAgICAgICBpdGVyYXRlZTIgPSBnZXRJdGVyYXRlZShpdGVyYXRlZTIsIDMpO1xuICAgICAgICAgIGJhc2VGb3JPd24ob2JqZWN0LCBmdW5jdGlvbih2YWx1ZSwga2V5LCBvYmplY3QyKSB7XG4gICAgICAgICAgICBiYXNlQXNzaWduVmFsdWUocmVzdWx0Miwga2V5LCBpdGVyYXRlZTIodmFsdWUsIGtleSwgb2JqZWN0MikpO1xuICAgICAgICAgIH0pO1xuICAgICAgICAgIHJldHVybiByZXN1bHQyO1xuICAgICAgICB9XG4gICAgICAgIHZhciBtZXJnZSA9IGNyZWF0ZUFzc2lnbmVyKGZ1bmN0aW9uKG9iamVjdCwgc291cmNlLCBzcmNJbmRleCkge1xuICAgICAgICAgIGJhc2VNZXJnZShvYmplY3QsIHNvdXJjZSwgc3JjSW5kZXgpO1xuICAgICAgICB9KTtcbiAgICAgICAgdmFyIG1lcmdlV2l0aCA9IGNyZWF0ZUFzc2lnbmVyKGZ1bmN0aW9uKG9iamVjdCwgc291cmNlLCBzcmNJbmRleCwgY3VzdG9taXplcikge1xuICAgICAgICAgIGJhc2VNZXJnZShvYmplY3QsIHNvdXJjZSwgc3JjSW5kZXgsIGN1c3RvbWl6ZXIpO1xuICAgICAgICB9KTtcbiAgICAgICAgdmFyIG9taXQgPSBmbGF0UmVzdChmdW5jdGlvbihvYmplY3QsIHBhdGhzKSB7XG4gICAgICAgICAgdmFyIHJlc3VsdDIgPSB7fTtcbiAgICAgICAgICBpZiAob2JqZWN0ID09IG51bGwpIHtcbiAgICAgICAgICAgIHJldHVybiByZXN1bHQyO1xuICAgICAgICAgIH1cbiAgICAgICAgICB2YXIgaXNEZWVwID0gZmFsc2U7XG4gICAgICAgICAgcGF0aHMgPSBhcnJheU1hcChwYXRocywgZnVuY3Rpb24ocGF0aCkge1xuICAgICAgICAgICAgcGF0aCA9IGNhc3RQYXRoKHBhdGgsIG9iamVjdCk7XG4gICAgICAgICAgICBpc0RlZXAgfHwgKGlzRGVlcCA9IHBhdGgubGVuZ3RoID4gMSk7XG4gICAgICAgICAgICByZXR1cm4gcGF0aDtcbiAgICAgICAgICB9KTtcbiAgICAgICAgICBjb3B5T2JqZWN0KG9iamVjdCwgZ2V0QWxsS2V5c0luKG9iamVjdCksIHJlc3VsdDIpO1xuICAgICAgICAgIGlmIChpc0RlZXApIHtcbiAgICAgICAgICAgIHJlc3VsdDIgPSBiYXNlQ2xvbmUocmVzdWx0MiwgQ0xPTkVfREVFUF9GTEFHIHwgQ0xPTkVfRkxBVF9GTEFHIHwgQ0xPTkVfU1lNQk9MU19GTEFHLCBjdXN0b21PbWl0Q2xvbmUpO1xuICAgICAgICAgIH1cbiAgICAgICAgICB2YXIgbGVuZ3RoID0gcGF0aHMubGVuZ3RoO1xuICAgICAgICAgIHdoaWxlIChsZW5ndGgtLSkge1xuICAgICAgICAgICAgYmFzZVVuc2V0KHJlc3VsdDIsIHBhdGhzW2xlbmd0aF0pO1xuICAgICAgICAgIH1cbiAgICAgICAgICByZXR1cm4gcmVzdWx0MjtcbiAgICAgICAgfSk7XG4gICAgICAgIGZ1bmN0aW9uIG9taXRCeShvYmplY3QsIHByZWRpY2F0ZSkge1xuICAgICAgICAgIHJldHVybiBwaWNrQnkob2JqZWN0LCBuZWdhdGUoZ2V0SXRlcmF0ZWUocHJlZGljYXRlKSkpO1xuICAgICAgICB9XG4gICAgICAgIHZhciBwaWNrID0gZmxhdFJlc3QoZnVuY3Rpb24ob2JqZWN0LCBwYXRocykge1xuICAgICAgICAgIHJldHVybiBvYmplY3QgPT0gbnVsbCA/IHt9IDogYmFzZVBpY2sob2JqZWN0LCBwYXRocyk7XG4gICAgICAgIH0pO1xuICAgICAgICBmdW5jdGlvbiBwaWNrQnkob2JqZWN0LCBwcmVkaWNhdGUpIHtcbiAgICAgICAgICBpZiAob2JqZWN0ID09IG51bGwpIHtcbiAgICAgICAgICAgIHJldHVybiB7fTtcbiAgICAgICAgICB9XG4gICAgICAgICAgdmFyIHByb3BzID0gYXJyYXlNYXAoZ2V0QWxsS2V5c0luKG9iamVjdCksIGZ1bmN0aW9uKHByb3ApIHtcbiAgICAgICAgICAgIHJldHVybiBbcHJvcF07XG4gICAgICAgICAgfSk7XG4gICAgICAgICAgcHJlZGljYXRlID0gZ2V0SXRlcmF0ZWUocHJlZGljYXRlKTtcbiAgICAgICAgICByZXR1cm4gYmFzZVBpY2tCeShvYmplY3QsIHByb3BzLCBmdW5jdGlvbih2YWx1ZSwgcGF0aCkge1xuICAgICAgICAgICAgcmV0dXJuIHByZWRpY2F0ZSh2YWx1ZSwgcGF0aFswXSk7XG4gICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICAgICAgZnVuY3Rpb24gcmVzdWx0KG9iamVjdCwgcGF0aCwgZGVmYXVsdFZhbHVlKSB7XG4gICAgICAgICAgcGF0aCA9IGNhc3RQYXRoKHBhdGgsIG9iamVjdCk7XG4gICAgICAgICAgdmFyIGluZGV4ID0gLTEsIGxlbmd0aCA9IHBhdGgubGVuZ3RoO1xuICAgICAgICAgIGlmICghbGVuZ3RoKSB7XG4gICAgICAgICAgICBsZW5ndGggPSAxO1xuICAgICAgICAgICAgb2JqZWN0ID0gdW5kZWZpbmVkMjtcbiAgICAgICAgICB9XG4gICAgICAgICAgd2hpbGUgKCsraW5kZXggPCBsZW5ndGgpIHtcbiAgICAgICAgICAgIHZhciB2YWx1ZSA9IG9iamVjdCA9PSBudWxsID8gdW5kZWZpbmVkMiA6IG9iamVjdFt0b0tleShwYXRoW2luZGV4XSldO1xuICAgICAgICAgICAgaWYgKHZhbHVlID09PSB1bmRlZmluZWQyKSB7XG4gICAgICAgICAgICAgIGluZGV4ID0gbGVuZ3RoO1xuICAgICAgICAgICAgICB2YWx1ZSA9IGRlZmF1bHRWYWx1ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIG9iamVjdCA9IGlzRnVuY3Rpb24odmFsdWUpID8gdmFsdWUuY2FsbChvYmplY3QpIDogdmFsdWU7XG4gICAgICAgICAgfVxuICAgICAgICAgIHJldHVybiBvYmplY3Q7XG4gICAgICAgIH1cbiAgICAgICAgZnVuY3Rpb24gc2V0KG9iamVjdCwgcGF0aCwgdmFsdWUpIHtcbiAgICAgICAgICByZXR1cm4gb2JqZWN0ID09IG51bGwgPyBvYmplY3QgOiBiYXNlU2V0KG9iamVjdCwgcGF0aCwgdmFsdWUpO1xuICAgICAgICB9XG4gICAgICAgIGZ1bmN0aW9uIHNldFdpdGgob2JqZWN0LCBwYXRoLCB2YWx1ZSwgY3VzdG9taXplcikge1xuICAgICAgICAgIGN1c3RvbWl6ZXIgPSB0eXBlb2YgY3VzdG9taXplciA9PSBcImZ1bmN0aW9uXCIgPyBjdXN0b21pemVyIDogdW5kZWZpbmVkMjtcbiAgICAgICAgICByZXR1cm4gb2JqZWN0ID09IG51bGwgPyBvYmplY3QgOiBiYXNlU2V0KG9iamVjdCwgcGF0aCwgdmFsdWUsIGN1c3RvbWl6ZXIpO1xuICAgICAgICB9XG4gICAgICAgIHZhciB0b1BhaXJzID0gY3JlYXRlVG9QYWlycyhrZXlzKTtcbiAgICAgICAgdmFyIHRvUGFpcnNJbiA9IGNyZWF0ZVRvUGFpcnMoa2V5c0luKTtcbiAgICAgICAgZnVuY3Rpb24gdHJhbnNmb3JtKG9iamVjdCwgaXRlcmF0ZWUyLCBhY2N1bXVsYXRvcikge1xuICAgICAgICAgIHZhciBpc0FyciA9IGlzQXJyYXkob2JqZWN0KSwgaXNBcnJMaWtlID0gaXNBcnIgfHwgaXNCdWZmZXIob2JqZWN0KSB8fCBpc1R5cGVkQXJyYXkob2JqZWN0KTtcbiAgICAgICAgICBpdGVyYXRlZTIgPSBnZXRJdGVyYXRlZShpdGVyYXRlZTIsIDQpO1xuICAgICAgICAgIGlmIChhY2N1bXVsYXRvciA9PSBudWxsKSB7XG4gICAgICAgICAgICB2YXIgQ3RvciA9IG9iamVjdCAmJiBvYmplY3QuY29uc3RydWN0b3I7XG4gICAgICAgICAgICBpZiAoaXNBcnJMaWtlKSB7XG4gICAgICAgICAgICAgIGFjY3VtdWxhdG9yID0gaXNBcnIgPyBuZXcgQ3RvcigpIDogW107XG4gICAgICAgICAgICB9IGVsc2UgaWYgKGlzT2JqZWN0KG9iamVjdCkpIHtcbiAgICAgICAgICAgICAgYWNjdW11bGF0b3IgPSBpc0Z1bmN0aW9uKEN0b3IpID8gYmFzZUNyZWF0ZShnZXRQcm90b3R5cGUob2JqZWN0KSkgOiB7fTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgIGFjY3VtdWxhdG9yID0ge307XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICAgIChpc0Fyckxpa2UgPyBhcnJheUVhY2ggOiBiYXNlRm9yT3duKShvYmplY3QsIGZ1bmN0aW9uKHZhbHVlLCBpbmRleCwgb2JqZWN0Mikge1xuICAgICAgICAgICAgcmV0dXJuIGl0ZXJhdGVlMihhY2N1bXVsYXRvciwgdmFsdWUsIGluZGV4LCBvYmplY3QyKTtcbiAgICAgICAgICB9KTtcbiAgICAgICAgICByZXR1cm4gYWNjdW11bGF0b3I7XG4gICAgICAgIH1cbiAgICAgICAgZnVuY3Rpb24gdW5zZXQob2JqZWN0LCBwYXRoKSB7XG4gICAgICAgICAgcmV0dXJuIG9iamVjdCA9PSBudWxsID8gdHJ1ZSA6IGJhc2VVbnNldChvYmplY3QsIHBhdGgpO1xuICAgICAgICB9XG4gICAgICAgIGZ1bmN0aW9uIHVwZGF0ZShvYmplY3QsIHBhdGgsIHVwZGF0ZXIpIHtcbiAgICAgICAgICByZXR1cm4gb2JqZWN0ID09IG51bGwgPyBvYmplY3QgOiBiYXNlVXBkYXRlKG9iamVjdCwgcGF0aCwgY2FzdEZ1bmN0aW9uKHVwZGF0ZXIpKTtcbiAgICAgICAgfVxuICAgICAgICBmdW5jdGlvbiB1cGRhdGVXaXRoKG9iamVjdCwgcGF0aCwgdXBkYXRlciwgY3VzdG9taXplcikge1xuICAgICAgICAgIGN1c3RvbWl6ZXIgPSB0eXBlb2YgY3VzdG9taXplciA9PSBcImZ1bmN0aW9uXCIgPyBjdXN0b21pemVyIDogdW5kZWZpbmVkMjtcbiAgICAgICAgICByZXR1cm4gb2JqZWN0ID09IG51bGwgPyBvYmplY3QgOiBiYXNlVXBkYXRlKG9iamVjdCwgcGF0aCwgY2FzdEZ1bmN0aW9uKHVwZGF0ZXIpLCBjdXN0b21pemVyKTtcbiAgICAgICAgfVxuICAgICAgICBmdW5jdGlvbiB2YWx1ZXMob2JqZWN0KSB7XG4gICAgICAgICAgcmV0dXJuIG9iamVjdCA9PSBudWxsID8gW10gOiBiYXNlVmFsdWVzKG9iamVjdCwga2V5cyhvYmplY3QpKTtcbiAgICAgICAgfVxuICAgICAgICBmdW5jdGlvbiB2YWx1ZXNJbihvYmplY3QpIHtcbiAgICAgICAgICByZXR1cm4gb2JqZWN0ID09IG51bGwgPyBbXSA6IGJhc2VWYWx1ZXMob2JqZWN0LCBrZXlzSW4ob2JqZWN0KSk7XG4gICAgICAgIH1cbiAgICAgICAgZnVuY3Rpb24gY2xhbXAobnVtYmVyLCBsb3dlciwgdXBwZXIpIHtcbiAgICAgICAgICBpZiAodXBwZXIgPT09IHVuZGVmaW5lZDIpIHtcbiAgICAgICAgICAgIHVwcGVyID0gbG93ZXI7XG4gICAgICAgICAgICBsb3dlciA9IHVuZGVmaW5lZDI7XG4gICAgICAgICAgfVxuICAgICAgICAgIGlmICh1cHBlciAhPT0gdW5kZWZpbmVkMikge1xuICAgICAgICAgICAgdXBwZXIgPSB0b051bWJlcih1cHBlcik7XG4gICAgICAgICAgICB1cHBlciA9IHVwcGVyID09PSB1cHBlciA/IHVwcGVyIDogMDtcbiAgICAgICAgICB9XG4gICAgICAgICAgaWYgKGxvd2VyICE9PSB1bmRlZmluZWQyKSB7XG4gICAgICAgICAgICBsb3dlciA9IHRvTnVtYmVyKGxvd2VyKTtcbiAgICAgICAgICAgIGxvd2VyID0gbG93ZXIgPT09IGxvd2VyID8gbG93ZXIgOiAwO1xuICAgICAgICAgIH1cbiAgICAgICAgICByZXR1cm4gYmFzZUNsYW1wKHRvTnVtYmVyKG51bWJlciksIGxvd2VyLCB1cHBlcik7XG4gICAgICAgIH1cbiAgICAgICAgZnVuY3Rpb24gaW5SYW5nZShudW1iZXIsIHN0YXJ0LCBlbmQpIHtcbiAgICAgICAgICBzdGFydCA9IHRvRmluaXRlKHN0YXJ0KTtcbiAgICAgICAgICBpZiAoZW5kID09PSB1bmRlZmluZWQyKSB7XG4gICAgICAgICAgICBlbmQgPSBzdGFydDtcbiAgICAgICAgICAgIHN0YXJ0ID0gMDtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgZW5kID0gdG9GaW5pdGUoZW5kKTtcbiAgICAgICAgICB9XG4gICAgICAgICAgbnVtYmVyID0gdG9OdW1iZXIobnVtYmVyKTtcbiAgICAgICAgICByZXR1cm4gYmFzZUluUmFuZ2UobnVtYmVyLCBzdGFydCwgZW5kKTtcbiAgICAgICAgfVxuICAgICAgICBmdW5jdGlvbiByYW5kb20obG93ZXIsIHVwcGVyLCBmbG9hdGluZykge1xuICAgICAgICAgIGlmIChmbG9hdGluZyAmJiB0eXBlb2YgZmxvYXRpbmcgIT0gXCJib29sZWFuXCIgJiYgaXNJdGVyYXRlZUNhbGwobG93ZXIsIHVwcGVyLCBmbG9hdGluZykpIHtcbiAgICAgICAgICAgIHVwcGVyID0gZmxvYXRpbmcgPSB1bmRlZmluZWQyO1xuICAgICAgICAgIH1cbiAgICAgICAgICBpZiAoZmxvYXRpbmcgPT09IHVuZGVmaW5lZDIpIHtcbiAgICAgICAgICAgIGlmICh0eXBlb2YgdXBwZXIgPT0gXCJib29sZWFuXCIpIHtcbiAgICAgICAgICAgICAgZmxvYXRpbmcgPSB1cHBlcjtcbiAgICAgICAgICAgICAgdXBwZXIgPSB1bmRlZmluZWQyO1xuICAgICAgICAgICAgfSBlbHNlIGlmICh0eXBlb2YgbG93ZXIgPT0gXCJib29sZWFuXCIpIHtcbiAgICAgICAgICAgICAgZmxvYXRpbmcgPSBsb3dlcjtcbiAgICAgICAgICAgICAgbG93ZXIgPSB1bmRlZmluZWQyO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgICBpZiAobG93ZXIgPT09IHVuZGVmaW5lZDIgJiYgdXBwZXIgPT09IHVuZGVmaW5lZDIpIHtcbiAgICAgICAgICAgIGxvd2VyID0gMDtcbiAgICAgICAgICAgIHVwcGVyID0gMTtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgbG93ZXIgPSB0b0Zpbml0ZShsb3dlcik7XG4gICAgICAgICAgICBpZiAodXBwZXIgPT09IHVuZGVmaW5lZDIpIHtcbiAgICAgICAgICAgICAgdXBwZXIgPSBsb3dlcjtcbiAgICAgICAgICAgICAgbG93ZXIgPSAwO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgdXBwZXIgPSB0b0Zpbml0ZSh1cHBlcik7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICAgIGlmIChsb3dlciA+IHVwcGVyKSB7XG4gICAgICAgICAgICB2YXIgdGVtcCA9IGxvd2VyO1xuICAgICAgICAgICAgbG93ZXIgPSB1cHBlcjtcbiAgICAgICAgICAgIHVwcGVyID0gdGVtcDtcbiAgICAgICAgICB9XG4gICAgICAgICAgaWYgKGZsb2F0aW5nIHx8IGxvd2VyICUgMSB8fCB1cHBlciAlIDEpIHtcbiAgICAgICAgICAgIHZhciByYW5kID0gbmF0aXZlUmFuZG9tKCk7XG4gICAgICAgICAgICByZXR1cm4gbmF0aXZlTWluKGxvd2VyICsgcmFuZCAqICh1cHBlciAtIGxvd2VyICsgZnJlZVBhcnNlRmxvYXQoXCIxZS1cIiArICgocmFuZCArIFwiXCIpLmxlbmd0aCAtIDEpKSksIHVwcGVyKTtcbiAgICAgICAgICB9XG4gICAgICAgICAgcmV0dXJuIGJhc2VSYW5kb20obG93ZXIsIHVwcGVyKTtcbiAgICAgICAgfVxuICAgICAgICB2YXIgY2FtZWxDYXNlID0gY3JlYXRlQ29tcG91bmRlcihmdW5jdGlvbihyZXN1bHQyLCB3b3JkLCBpbmRleCkge1xuICAgICAgICAgIHdvcmQgPSB3b3JkLnRvTG93ZXJDYXNlKCk7XG4gICAgICAgICAgcmV0dXJuIHJlc3VsdDIgKyAoaW5kZXggPyBjYXBpdGFsaXplKHdvcmQpIDogd29yZCk7XG4gICAgICAgIH0pO1xuICAgICAgICBmdW5jdGlvbiBjYXBpdGFsaXplKHN0cmluZykge1xuICAgICAgICAgIHJldHVybiB1cHBlckZpcnN0KHRvU3RyaW5nKHN0cmluZykudG9Mb3dlckNhc2UoKSk7XG4gICAgICAgIH1cbiAgICAgICAgZnVuY3Rpb24gZGVidXJyKHN0cmluZykge1xuICAgICAgICAgIHN0cmluZyA9IHRvU3RyaW5nKHN0cmluZyk7XG4gICAgICAgICAgcmV0dXJuIHN0cmluZyAmJiBzdHJpbmcucmVwbGFjZShyZUxhdGluLCBkZWJ1cnJMZXR0ZXIpLnJlcGxhY2UocmVDb21ib01hcmssIFwiXCIpO1xuICAgICAgICB9XG4gICAgICAgIGZ1bmN0aW9uIGVuZHNXaXRoKHN0cmluZywgdGFyZ2V0LCBwb3NpdGlvbikge1xuICAgICAgICAgIHN0cmluZyA9IHRvU3RyaW5nKHN0cmluZyk7XG4gICAgICAgICAgdGFyZ2V0ID0gYmFzZVRvU3RyaW5nKHRhcmdldCk7XG4gICAgICAgICAgdmFyIGxlbmd0aCA9IHN0cmluZy5sZW5ndGg7XG4gICAgICAgICAgcG9zaXRpb24gPSBwb3NpdGlvbiA9PT0gdW5kZWZpbmVkMiA/IGxlbmd0aCA6IGJhc2VDbGFtcCh0b0ludGVnZXIocG9zaXRpb24pLCAwLCBsZW5ndGgpO1xuICAgICAgICAgIHZhciBlbmQgPSBwb3NpdGlvbjtcbiAgICAgICAgICBwb3NpdGlvbiAtPSB0YXJnZXQubGVuZ3RoO1xuICAgICAgICAgIHJldHVybiBwb3NpdGlvbiA+PSAwICYmIHN0cmluZy5zbGljZShwb3NpdGlvbiwgZW5kKSA9PSB0YXJnZXQ7XG4gICAgICAgIH1cbiAgICAgICAgZnVuY3Rpb24gZXNjYXBlMihzdHJpbmcpIHtcbiAgICAgICAgICBzdHJpbmcgPSB0b1N0cmluZyhzdHJpbmcpO1xuICAgICAgICAgIHJldHVybiBzdHJpbmcgJiYgcmVIYXNVbmVzY2FwZWRIdG1sLnRlc3Qoc3RyaW5nKSA/IHN0cmluZy5yZXBsYWNlKHJlVW5lc2NhcGVkSHRtbCwgZXNjYXBlSHRtbENoYXIpIDogc3RyaW5nO1xuICAgICAgICB9XG4gICAgICAgIGZ1bmN0aW9uIGVzY2FwZVJlZ0V4cChzdHJpbmcpIHtcbiAgICAgICAgICBzdHJpbmcgPSB0b1N0cmluZyhzdHJpbmcpO1xuICAgICAgICAgIHJldHVybiBzdHJpbmcgJiYgcmVIYXNSZWdFeHBDaGFyLnRlc3Qoc3RyaW5nKSA/IHN0cmluZy5yZXBsYWNlKHJlUmVnRXhwQ2hhciwgXCJcXFxcJCZcIikgOiBzdHJpbmc7XG4gICAgICAgIH1cbiAgICAgICAgdmFyIGtlYmFiQ2FzZSA9IGNyZWF0ZUNvbXBvdW5kZXIoZnVuY3Rpb24ocmVzdWx0Miwgd29yZCwgaW5kZXgpIHtcbiAgICAgICAgICByZXR1cm4gcmVzdWx0MiArIChpbmRleCA/IFwiLVwiIDogXCJcIikgKyB3b3JkLnRvTG93ZXJDYXNlKCk7XG4gICAgICAgIH0pO1xuICAgICAgICB2YXIgbG93ZXJDYXNlID0gY3JlYXRlQ29tcG91bmRlcihmdW5jdGlvbihyZXN1bHQyLCB3b3JkLCBpbmRleCkge1xuICAgICAgICAgIHJldHVybiByZXN1bHQyICsgKGluZGV4ID8gXCIgXCIgOiBcIlwiKSArIHdvcmQudG9Mb3dlckNhc2UoKTtcbiAgICAgICAgfSk7XG4gICAgICAgIHZhciBsb3dlckZpcnN0ID0gY3JlYXRlQ2FzZUZpcnN0KFwidG9Mb3dlckNhc2VcIik7XG4gICAgICAgIGZ1bmN0aW9uIHBhZChzdHJpbmcsIGxlbmd0aCwgY2hhcnMpIHtcbiAgICAgICAgICBzdHJpbmcgPSB0b1N0cmluZyhzdHJpbmcpO1xuICAgICAgICAgIGxlbmd0aCA9IHRvSW50ZWdlcihsZW5ndGgpO1xuICAgICAgICAgIHZhciBzdHJMZW5ndGggPSBsZW5ndGggPyBzdHJpbmdTaXplKHN0cmluZykgOiAwO1xuICAgICAgICAgIGlmICghbGVuZ3RoIHx8IHN0ckxlbmd0aCA+PSBsZW5ndGgpIHtcbiAgICAgICAgICAgIHJldHVybiBzdHJpbmc7XG4gICAgICAgICAgfVxuICAgICAgICAgIHZhciBtaWQgPSAobGVuZ3RoIC0gc3RyTGVuZ3RoKSAvIDI7XG4gICAgICAgICAgcmV0dXJuIGNyZWF0ZVBhZGRpbmcobmF0aXZlRmxvb3IobWlkKSwgY2hhcnMpICsgc3RyaW5nICsgY3JlYXRlUGFkZGluZyhuYXRpdmVDZWlsKG1pZCksIGNoYXJzKTtcbiAgICAgICAgfVxuICAgICAgICBmdW5jdGlvbiBwYWRFbmQoc3RyaW5nLCBsZW5ndGgsIGNoYXJzKSB7XG4gICAgICAgICAgc3RyaW5nID0gdG9TdHJpbmcoc3RyaW5nKTtcbiAgICAgICAgICBsZW5ndGggPSB0b0ludGVnZXIobGVuZ3RoKTtcbiAgICAgICAgICB2YXIgc3RyTGVuZ3RoID0gbGVuZ3RoID8gc3RyaW5nU2l6ZShzdHJpbmcpIDogMDtcbiAgICAgICAgICByZXR1cm4gbGVuZ3RoICYmIHN0ckxlbmd0aCA8IGxlbmd0aCA/IHN0cmluZyArIGNyZWF0ZVBhZGRpbmcobGVuZ3RoIC0gc3RyTGVuZ3RoLCBjaGFycykgOiBzdHJpbmc7XG4gICAgICAgIH1cbiAgICAgICAgZnVuY3Rpb24gcGFkU3RhcnQoc3RyaW5nLCBsZW5ndGgsIGNoYXJzKSB7XG4gICAgICAgICAgc3RyaW5nID0gdG9TdHJpbmcoc3RyaW5nKTtcbiAgICAgICAgICBsZW5ndGggPSB0b0ludGVnZXIobGVuZ3RoKTtcbiAgICAgICAgICB2YXIgc3RyTGVuZ3RoID0gbGVuZ3RoID8gc3RyaW5nU2l6ZShzdHJpbmcpIDogMDtcbiAgICAgICAgICByZXR1cm4gbGVuZ3RoICYmIHN0ckxlbmd0aCA8IGxlbmd0aCA/IGNyZWF0ZVBhZGRpbmcobGVuZ3RoIC0gc3RyTGVuZ3RoLCBjaGFycykgKyBzdHJpbmcgOiBzdHJpbmc7XG4gICAgICAgIH1cbiAgICAgICAgZnVuY3Rpb24gcGFyc2VJbnQyKHN0cmluZywgcmFkaXgsIGd1YXJkKSB7XG4gICAgICAgICAgaWYgKGd1YXJkIHx8IHJhZGl4ID09IG51bGwpIHtcbiAgICAgICAgICAgIHJhZGl4ID0gMDtcbiAgICAgICAgICB9IGVsc2UgaWYgKHJhZGl4KSB7XG4gICAgICAgICAgICByYWRpeCA9ICtyYWRpeDtcbiAgICAgICAgICB9XG4gICAgICAgICAgcmV0dXJuIG5hdGl2ZVBhcnNlSW50KHRvU3RyaW5nKHN0cmluZykucmVwbGFjZShyZVRyaW1TdGFydCwgXCJcIiksIHJhZGl4IHx8IDApO1xuICAgICAgICB9XG4gICAgICAgIGZ1bmN0aW9uIHJlcGVhdChzdHJpbmcsIG4sIGd1YXJkKSB7XG4gICAgICAgICAgaWYgKGd1YXJkID8gaXNJdGVyYXRlZUNhbGwoc3RyaW5nLCBuLCBndWFyZCkgOiBuID09PSB1bmRlZmluZWQyKSB7XG4gICAgICAgICAgICBuID0gMTtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgbiA9IHRvSW50ZWdlcihuKTtcbiAgICAgICAgICB9XG4gICAgICAgICAgcmV0dXJuIGJhc2VSZXBlYXQodG9TdHJpbmcoc3RyaW5nKSwgbik7XG4gICAgICAgIH1cbiAgICAgICAgZnVuY3Rpb24gcmVwbGFjZSgpIHtcbiAgICAgICAgICB2YXIgYXJncyA9IGFyZ3VtZW50cywgc3RyaW5nID0gdG9TdHJpbmcoYXJnc1swXSk7XG4gICAgICAgICAgcmV0dXJuIGFyZ3MubGVuZ3RoIDwgMyA/IHN0cmluZyA6IHN0cmluZy5yZXBsYWNlKGFyZ3NbMV0sIGFyZ3NbMl0pO1xuICAgICAgICB9XG4gICAgICAgIHZhciBzbmFrZUNhc2UgPSBjcmVhdGVDb21wb3VuZGVyKGZ1bmN0aW9uKHJlc3VsdDIsIHdvcmQsIGluZGV4KSB7XG4gICAgICAgICAgcmV0dXJuIHJlc3VsdDIgKyAoaW5kZXggPyBcIl9cIiA6IFwiXCIpICsgd29yZC50b0xvd2VyQ2FzZSgpO1xuICAgICAgICB9KTtcbiAgICAgICAgZnVuY3Rpb24gc3BsaXQoc3RyaW5nLCBzZXBhcmF0b3IsIGxpbWl0KSB7XG4gICAgICAgICAgaWYgKGxpbWl0ICYmIHR5cGVvZiBsaW1pdCAhPSBcIm51bWJlclwiICYmIGlzSXRlcmF0ZWVDYWxsKHN0cmluZywgc2VwYXJhdG9yLCBsaW1pdCkpIHtcbiAgICAgICAgICAgIHNlcGFyYXRvciA9IGxpbWl0ID0gdW5kZWZpbmVkMjtcbiAgICAgICAgICB9XG4gICAgICAgICAgbGltaXQgPSBsaW1pdCA9PT0gdW5kZWZpbmVkMiA/IE1BWF9BUlJBWV9MRU5HVEggOiBsaW1pdCA+Pj4gMDtcbiAgICAgICAgICBpZiAoIWxpbWl0KSB7XG4gICAgICAgICAgICByZXR1cm4gW107XG4gICAgICAgICAgfVxuICAgICAgICAgIHN0cmluZyA9IHRvU3RyaW5nKHN0cmluZyk7XG4gICAgICAgICAgaWYgKHN0cmluZyAmJiAodHlwZW9mIHNlcGFyYXRvciA9PSBcInN0cmluZ1wiIHx8IHNlcGFyYXRvciAhPSBudWxsICYmICFpc1JlZ0V4cChzZXBhcmF0b3IpKSkge1xuICAgICAgICAgICAgc2VwYXJhdG9yID0gYmFzZVRvU3RyaW5nKHNlcGFyYXRvcik7XG4gICAgICAgICAgICBpZiAoIXNlcGFyYXRvciAmJiBoYXNVbmljb2RlKHN0cmluZykpIHtcbiAgICAgICAgICAgICAgcmV0dXJuIGNhc3RTbGljZShzdHJpbmdUb0FycmF5KHN0cmluZyksIDAsIGxpbWl0KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgICAgcmV0dXJuIHN0cmluZy5zcGxpdChzZXBhcmF0b3IsIGxpbWl0KTtcbiAgICAgICAgfVxuICAgICAgICB2YXIgc3RhcnRDYXNlID0gY3JlYXRlQ29tcG91bmRlcihmdW5jdGlvbihyZXN1bHQyLCB3b3JkLCBpbmRleCkge1xuICAgICAgICAgIHJldHVybiByZXN1bHQyICsgKGluZGV4ID8gXCIgXCIgOiBcIlwiKSArIHVwcGVyRmlyc3Qod29yZCk7XG4gICAgICAgIH0pO1xuICAgICAgICBmdW5jdGlvbiBzdGFydHNXaXRoKHN0cmluZywgdGFyZ2V0LCBwb3NpdGlvbikge1xuICAgICAgICAgIHN0cmluZyA9IHRvU3RyaW5nKHN0cmluZyk7XG4gICAgICAgICAgcG9zaXRpb24gPSBwb3NpdGlvbiA9PSBudWxsID8gMCA6IGJhc2VDbGFtcCh0b0ludGVnZXIocG9zaXRpb24pLCAwLCBzdHJpbmcubGVuZ3RoKTtcbiAgICAgICAgICB0YXJnZXQgPSBiYXNlVG9TdHJpbmcodGFyZ2V0KTtcbiAgICAgICAgICByZXR1cm4gc3RyaW5nLnNsaWNlKHBvc2l0aW9uLCBwb3NpdGlvbiArIHRhcmdldC5sZW5ndGgpID09IHRhcmdldDtcbiAgICAgICAgfVxuICAgICAgICBmdW5jdGlvbiB0ZW1wbGF0ZShzdHJpbmcsIG9wdGlvbnMsIGd1YXJkKSB7XG4gICAgICAgICAgdmFyIHNldHRpbmdzID0gbG9kYXNoLnRlbXBsYXRlU2V0dGluZ3M7XG4gICAgICAgICAgaWYgKGd1YXJkICYmIGlzSXRlcmF0ZWVDYWxsKHN0cmluZywgb3B0aW9ucywgZ3VhcmQpKSB7XG4gICAgICAgICAgICBvcHRpb25zID0gdW5kZWZpbmVkMjtcbiAgICAgICAgICB9XG4gICAgICAgICAgc3RyaW5nID0gdG9TdHJpbmcoc3RyaW5nKTtcbiAgICAgICAgICBvcHRpb25zID0gYXNzaWduSW5XaXRoKHt9LCBvcHRpb25zLCBzZXR0aW5ncywgY3VzdG9tRGVmYXVsdHNBc3NpZ25Jbik7XG4gICAgICAgICAgdmFyIGltcG9ydHMgPSBhc3NpZ25JbldpdGgoe30sIG9wdGlvbnMuaW1wb3J0cywgc2V0dGluZ3MuaW1wb3J0cywgY3VzdG9tRGVmYXVsdHNBc3NpZ25JbiksIGltcG9ydHNLZXlzID0ga2V5cyhpbXBvcnRzKSwgaW1wb3J0c1ZhbHVlcyA9IGJhc2VWYWx1ZXMoaW1wb3J0cywgaW1wb3J0c0tleXMpO1xuICAgICAgICAgIHZhciBpc0VzY2FwaW5nLCBpc0V2YWx1YXRpbmcsIGluZGV4ID0gMCwgaW50ZXJwb2xhdGUgPSBvcHRpb25zLmludGVycG9sYXRlIHx8IHJlTm9NYXRjaCwgc291cmNlID0gXCJfX3AgKz0gJ1wiO1xuICAgICAgICAgIHZhciByZURlbGltaXRlcnMgPSBSZWdFeHAyKFxuICAgICAgICAgICAgKG9wdGlvbnMuZXNjYXBlIHx8IHJlTm9NYXRjaCkuc291cmNlICsgXCJ8XCIgKyBpbnRlcnBvbGF0ZS5zb3VyY2UgKyBcInxcIiArIChpbnRlcnBvbGF0ZSA9PT0gcmVJbnRlcnBvbGF0ZSA/IHJlRXNUZW1wbGF0ZSA6IHJlTm9NYXRjaCkuc291cmNlICsgXCJ8XCIgKyAob3B0aW9ucy5ldmFsdWF0ZSB8fCByZU5vTWF0Y2gpLnNvdXJjZSArIFwifCRcIixcbiAgICAgICAgICAgIFwiZ1wiXG4gICAgICAgICAgKTtcbiAgICAgICAgICB2YXIgc291cmNlVVJMID0gXCIvLyMgc291cmNlVVJMPVwiICsgKGhhc093blByb3BlcnR5LmNhbGwob3B0aW9ucywgXCJzb3VyY2VVUkxcIikgPyAob3B0aW9ucy5zb3VyY2VVUkwgKyBcIlwiKS5yZXBsYWNlKC9cXHMvZywgXCIgXCIpIDogXCJsb2Rhc2gudGVtcGxhdGVTb3VyY2VzW1wiICsgKyt0ZW1wbGF0ZUNvdW50ZXIgKyBcIl1cIikgKyBcIlxcblwiO1xuICAgICAgICAgIHN0cmluZy5yZXBsYWNlKHJlRGVsaW1pdGVycywgZnVuY3Rpb24obWF0Y2gsIGVzY2FwZVZhbHVlLCBpbnRlcnBvbGF0ZVZhbHVlLCBlc1RlbXBsYXRlVmFsdWUsIGV2YWx1YXRlVmFsdWUsIG9mZnNldCkge1xuICAgICAgICAgICAgaW50ZXJwb2xhdGVWYWx1ZSB8fCAoaW50ZXJwb2xhdGVWYWx1ZSA9IGVzVGVtcGxhdGVWYWx1ZSk7XG4gICAgICAgICAgICBzb3VyY2UgKz0gc3RyaW5nLnNsaWNlKGluZGV4LCBvZmZzZXQpLnJlcGxhY2UocmVVbmVzY2FwZWRTdHJpbmcsIGVzY2FwZVN0cmluZ0NoYXIpO1xuICAgICAgICAgICAgaWYgKGVzY2FwZVZhbHVlKSB7XG4gICAgICAgICAgICAgIGlzRXNjYXBpbmcgPSB0cnVlO1xuICAgICAgICAgICAgICBzb3VyY2UgKz0gXCInICtcXG5fX2UoXCIgKyBlc2NhcGVWYWx1ZSArIFwiKSArXFxuJ1wiO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKGV2YWx1YXRlVmFsdWUpIHtcbiAgICAgICAgICAgICAgaXNFdmFsdWF0aW5nID0gdHJ1ZTtcbiAgICAgICAgICAgICAgc291cmNlICs9IFwiJztcXG5cIiArIGV2YWx1YXRlVmFsdWUgKyBcIjtcXG5fX3AgKz0gJ1wiO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKGludGVycG9sYXRlVmFsdWUpIHtcbiAgICAgICAgICAgICAgc291cmNlICs9IFwiJyArXFxuKChfX3QgPSAoXCIgKyBpbnRlcnBvbGF0ZVZhbHVlICsgXCIpKSA9PSBudWxsID8gJycgOiBfX3QpICtcXG4nXCI7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpbmRleCA9IG9mZnNldCArIG1hdGNoLmxlbmd0aDtcbiAgICAgICAgICAgIHJldHVybiBtYXRjaDtcbiAgICAgICAgICB9KTtcbiAgICAgICAgICBzb3VyY2UgKz0gXCInO1xcblwiO1xuICAgICAgICAgIHZhciB2YXJpYWJsZSA9IGhhc093blByb3BlcnR5LmNhbGwob3B0aW9ucywgXCJ2YXJpYWJsZVwiKSAmJiBvcHRpb25zLnZhcmlhYmxlO1xuICAgICAgICAgIGlmICghdmFyaWFibGUpIHtcbiAgICAgICAgICAgIHNvdXJjZSA9IFwid2l0aCAob2JqKSB7XFxuXCIgKyBzb3VyY2UgKyBcIlxcbn1cXG5cIjtcbiAgICAgICAgICB9IGVsc2UgaWYgKHJlRm9yYmlkZGVuSWRlbnRpZmllckNoYXJzLnRlc3QodmFyaWFibGUpKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IyKElOVkFMSURfVEVNUExfVkFSX0VSUk9SX1RFWFQpO1xuICAgICAgICAgIH1cbiAgICAgICAgICBzb3VyY2UgPSAoaXNFdmFsdWF0aW5nID8gc291cmNlLnJlcGxhY2UocmVFbXB0eVN0cmluZ0xlYWRpbmcsIFwiXCIpIDogc291cmNlKS5yZXBsYWNlKHJlRW1wdHlTdHJpbmdNaWRkbGUsIFwiJDFcIikucmVwbGFjZShyZUVtcHR5U3RyaW5nVHJhaWxpbmcsIFwiJDE7XCIpO1xuICAgICAgICAgIHNvdXJjZSA9IFwiZnVuY3Rpb24oXCIgKyAodmFyaWFibGUgfHwgXCJvYmpcIikgKyBcIikge1xcblwiICsgKHZhcmlhYmxlID8gXCJcIiA6IFwib2JqIHx8IChvYmogPSB7fSk7XFxuXCIpICsgXCJ2YXIgX190LCBfX3AgPSAnJ1wiICsgKGlzRXNjYXBpbmcgPyBcIiwgX19lID0gXy5lc2NhcGVcIiA6IFwiXCIpICsgKGlzRXZhbHVhdGluZyA/IFwiLCBfX2ogPSBBcnJheS5wcm90b3R5cGUuam9pbjtcXG5mdW5jdGlvbiBwcmludCgpIHsgX19wICs9IF9fai5jYWxsKGFyZ3VtZW50cywgJycpIH1cXG5cIiA6IFwiO1xcblwiKSArIHNvdXJjZSArIFwicmV0dXJuIF9fcFxcbn1cIjtcbiAgICAgICAgICB2YXIgcmVzdWx0MiA9IGF0dGVtcHQoZnVuY3Rpb24oKSB7XG4gICAgICAgICAgICByZXR1cm4gRnVuY3Rpb24yKGltcG9ydHNLZXlzLCBzb3VyY2VVUkwgKyBcInJldHVybiBcIiArIHNvdXJjZSkuYXBwbHkodW5kZWZpbmVkMiwgaW1wb3J0c1ZhbHVlcyk7XG4gICAgICAgICAgfSk7XG4gICAgICAgICAgcmVzdWx0Mi5zb3VyY2UgPSBzb3VyY2U7XG4gICAgICAgICAgaWYgKGlzRXJyb3IocmVzdWx0MikpIHtcbiAgICAgICAgICAgIHRocm93IHJlc3VsdDI7XG4gICAgICAgICAgfVxuICAgICAgICAgIHJldHVybiByZXN1bHQyO1xuICAgICAgICB9XG4gICAgICAgIGZ1bmN0aW9uIHRvTG93ZXIodmFsdWUpIHtcbiAgICAgICAgICByZXR1cm4gdG9TdHJpbmcodmFsdWUpLnRvTG93ZXJDYXNlKCk7XG4gICAgICAgIH1cbiAgICAgICAgZnVuY3Rpb24gdG9VcHBlcih2YWx1ZSkge1xuICAgICAgICAgIHJldHVybiB0b1N0cmluZyh2YWx1ZSkudG9VcHBlckNhc2UoKTtcbiAgICAgICAgfVxuICAgICAgICBmdW5jdGlvbiB0cmltKHN0cmluZywgY2hhcnMsIGd1YXJkKSB7XG4gICAgICAgICAgc3RyaW5nID0gdG9TdHJpbmcoc3RyaW5nKTtcbiAgICAgICAgICBpZiAoc3RyaW5nICYmIChndWFyZCB8fCBjaGFycyA9PT0gdW5kZWZpbmVkMikpIHtcbiAgICAgICAgICAgIHJldHVybiBiYXNlVHJpbShzdHJpbmcpO1xuICAgICAgICAgIH1cbiAgICAgICAgICBpZiAoIXN0cmluZyB8fCAhKGNoYXJzID0gYmFzZVRvU3RyaW5nKGNoYXJzKSkpIHtcbiAgICAgICAgICAgIHJldHVybiBzdHJpbmc7XG4gICAgICAgICAgfVxuICAgICAgICAgIHZhciBzdHJTeW1ib2xzID0gc3RyaW5nVG9BcnJheShzdHJpbmcpLCBjaHJTeW1ib2xzID0gc3RyaW5nVG9BcnJheShjaGFycyksIHN0YXJ0ID0gY2hhcnNTdGFydEluZGV4KHN0clN5bWJvbHMsIGNoclN5bWJvbHMpLCBlbmQgPSBjaGFyc0VuZEluZGV4KHN0clN5bWJvbHMsIGNoclN5bWJvbHMpICsgMTtcbiAgICAgICAgICByZXR1cm4gY2FzdFNsaWNlKHN0clN5bWJvbHMsIHN0YXJ0LCBlbmQpLmpvaW4oXCJcIik7XG4gICAgICAgIH1cbiAgICAgICAgZnVuY3Rpb24gdHJpbUVuZChzdHJpbmcsIGNoYXJzLCBndWFyZCkge1xuICAgICAgICAgIHN0cmluZyA9IHRvU3RyaW5nKHN0cmluZyk7XG4gICAgICAgICAgaWYgKHN0cmluZyAmJiAoZ3VhcmQgfHwgY2hhcnMgPT09IHVuZGVmaW5lZDIpKSB7XG4gICAgICAgICAgICByZXR1cm4gc3RyaW5nLnNsaWNlKDAsIHRyaW1tZWRFbmRJbmRleChzdHJpbmcpICsgMSk7XG4gICAgICAgICAgfVxuICAgICAgICAgIGlmICghc3RyaW5nIHx8ICEoY2hhcnMgPSBiYXNlVG9TdHJpbmcoY2hhcnMpKSkge1xuICAgICAgICAgICAgcmV0dXJuIHN0cmluZztcbiAgICAgICAgICB9XG4gICAgICAgICAgdmFyIHN0clN5bWJvbHMgPSBzdHJpbmdUb0FycmF5KHN0cmluZyksIGVuZCA9IGNoYXJzRW5kSW5kZXgoc3RyU3ltYm9scywgc3RyaW5nVG9BcnJheShjaGFycykpICsgMTtcbiAgICAgICAgICByZXR1cm4gY2FzdFNsaWNlKHN0clN5bWJvbHMsIDAsIGVuZCkuam9pbihcIlwiKTtcbiAgICAgICAgfVxuICAgICAgICBmdW5jdGlvbiB0cmltU3RhcnQoc3RyaW5nLCBjaGFycywgZ3VhcmQpIHtcbiAgICAgICAgICBzdHJpbmcgPSB0b1N0cmluZyhzdHJpbmcpO1xuICAgICAgICAgIGlmIChzdHJpbmcgJiYgKGd1YXJkIHx8IGNoYXJzID09PSB1bmRlZmluZWQyKSkge1xuICAgICAgICAgICAgcmV0dXJuIHN0cmluZy5yZXBsYWNlKHJlVHJpbVN0YXJ0LCBcIlwiKTtcbiAgICAgICAgICB9XG4gICAgICAgICAgaWYgKCFzdHJpbmcgfHwgIShjaGFycyA9IGJhc2VUb1N0cmluZyhjaGFycykpKSB7XG4gICAgICAgICAgICByZXR1cm4gc3RyaW5nO1xuICAgICAgICAgIH1cbiAgICAgICAgICB2YXIgc3RyU3ltYm9scyA9IHN0cmluZ1RvQXJyYXkoc3RyaW5nKSwgc3RhcnQgPSBjaGFyc1N0YXJ0SW5kZXgoc3RyU3ltYm9scywgc3RyaW5nVG9BcnJheShjaGFycykpO1xuICAgICAgICAgIHJldHVybiBjYXN0U2xpY2Uoc3RyU3ltYm9scywgc3RhcnQpLmpvaW4oXCJcIik7XG4gICAgICAgIH1cbiAgICAgICAgZnVuY3Rpb24gdHJ1bmNhdGUoc3RyaW5nLCBvcHRpb25zKSB7XG4gICAgICAgICAgdmFyIGxlbmd0aCA9IERFRkFVTFRfVFJVTkNfTEVOR1RILCBvbWlzc2lvbiA9IERFRkFVTFRfVFJVTkNfT01JU1NJT047XG4gICAgICAgICAgaWYgKGlzT2JqZWN0KG9wdGlvbnMpKSB7XG4gICAgICAgICAgICB2YXIgc2VwYXJhdG9yID0gXCJzZXBhcmF0b3JcIiBpbiBvcHRpb25zID8gb3B0aW9ucy5zZXBhcmF0b3IgOiBzZXBhcmF0b3I7XG4gICAgICAgICAgICBsZW5ndGggPSBcImxlbmd0aFwiIGluIG9wdGlvbnMgPyB0b0ludGVnZXIob3B0aW9ucy5sZW5ndGgpIDogbGVuZ3RoO1xuICAgICAgICAgICAgb21pc3Npb24gPSBcIm9taXNzaW9uXCIgaW4gb3B0aW9ucyA/IGJhc2VUb1N0cmluZyhvcHRpb25zLm9taXNzaW9uKSA6IG9taXNzaW9uO1xuICAgICAgICAgIH1cbiAgICAgICAgICBzdHJpbmcgPSB0b1N0cmluZyhzdHJpbmcpO1xuICAgICAgICAgIHZhciBzdHJMZW5ndGggPSBzdHJpbmcubGVuZ3RoO1xuICAgICAgICAgIGlmIChoYXNVbmljb2RlKHN0cmluZykpIHtcbiAgICAgICAgICAgIHZhciBzdHJTeW1ib2xzID0gc3RyaW5nVG9BcnJheShzdHJpbmcpO1xuICAgICAgICAgICAgc3RyTGVuZ3RoID0gc3RyU3ltYm9scy5sZW5ndGg7XG4gICAgICAgICAgfVxuICAgICAgICAgIGlmIChsZW5ndGggPj0gc3RyTGVuZ3RoKSB7XG4gICAgICAgICAgICByZXR1cm4gc3RyaW5nO1xuICAgICAgICAgIH1cbiAgICAgICAgICB2YXIgZW5kID0gbGVuZ3RoIC0gc3RyaW5nU2l6ZShvbWlzc2lvbik7XG4gICAgICAgICAgaWYgKGVuZCA8IDEpIHtcbiAgICAgICAgICAgIHJldHVybiBvbWlzc2lvbjtcbiAgICAgICAgICB9XG4gICAgICAgICAgdmFyIHJlc3VsdDIgPSBzdHJTeW1ib2xzID8gY2FzdFNsaWNlKHN0clN5bWJvbHMsIDAsIGVuZCkuam9pbihcIlwiKSA6IHN0cmluZy5zbGljZSgwLCBlbmQpO1xuICAgICAgICAgIGlmIChzZXBhcmF0b3IgPT09IHVuZGVmaW5lZDIpIHtcbiAgICAgICAgICAgIHJldHVybiByZXN1bHQyICsgb21pc3Npb247XG4gICAgICAgICAgfVxuICAgICAgICAgIGlmIChzdHJTeW1ib2xzKSB7XG4gICAgICAgICAgICBlbmQgKz0gcmVzdWx0Mi5sZW5ndGggLSBlbmQ7XG4gICAgICAgICAgfVxuICAgICAgICAgIGlmIChpc1JlZ0V4cChzZXBhcmF0b3IpKSB7XG4gICAgICAgICAgICBpZiAoc3RyaW5nLnNsaWNlKGVuZCkuc2VhcmNoKHNlcGFyYXRvcikpIHtcbiAgICAgICAgICAgICAgdmFyIG1hdGNoLCBzdWJzdHJpbmcgPSByZXN1bHQyO1xuICAgICAgICAgICAgICBpZiAoIXNlcGFyYXRvci5nbG9iYWwpIHtcbiAgICAgICAgICAgICAgICBzZXBhcmF0b3IgPSBSZWdFeHAyKHNlcGFyYXRvci5zb3VyY2UsIHRvU3RyaW5nKHJlRmxhZ3MuZXhlYyhzZXBhcmF0b3IpKSArIFwiZ1wiKTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICBzZXBhcmF0b3IubGFzdEluZGV4ID0gMDtcbiAgICAgICAgICAgICAgd2hpbGUgKG1hdGNoID0gc2VwYXJhdG9yLmV4ZWMoc3Vic3RyaW5nKSkge1xuICAgICAgICAgICAgICAgIHZhciBuZXdFbmQgPSBtYXRjaC5pbmRleDtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICByZXN1bHQyID0gcmVzdWx0Mi5zbGljZSgwLCBuZXdFbmQgPT09IHVuZGVmaW5lZDIgPyBlbmQgOiBuZXdFbmQpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH0gZWxzZSBpZiAoc3RyaW5nLmluZGV4T2YoYmFzZVRvU3RyaW5nKHNlcGFyYXRvciksIGVuZCkgIT0gZW5kKSB7XG4gICAgICAgICAgICB2YXIgaW5kZXggPSByZXN1bHQyLmxhc3RJbmRleE9mKHNlcGFyYXRvcik7XG4gICAgICAgICAgICBpZiAoaW5kZXggPiAtMSkge1xuICAgICAgICAgICAgICByZXN1bHQyID0gcmVzdWx0Mi5zbGljZSgwLCBpbmRleCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICAgIHJldHVybiByZXN1bHQyICsgb21pc3Npb247XG4gICAgICAgIH1cbiAgICAgICAgZnVuY3Rpb24gdW5lc2NhcGUyKHN0cmluZykge1xuICAgICAgICAgIHN0cmluZyA9IHRvU3RyaW5nKHN0cmluZyk7XG4gICAgICAgICAgcmV0dXJuIHN0cmluZyAmJiByZUhhc0VzY2FwZWRIdG1sLnRlc3Qoc3RyaW5nKSA/IHN0cmluZy5yZXBsYWNlKHJlRXNjYXBlZEh0bWwsIHVuZXNjYXBlSHRtbENoYXIpIDogc3RyaW5nO1xuICAgICAgICB9XG4gICAgICAgIHZhciB1cHBlckNhc2UgPSBjcmVhdGVDb21wb3VuZGVyKGZ1bmN0aW9uKHJlc3VsdDIsIHdvcmQsIGluZGV4KSB7XG4gICAgICAgICAgcmV0dXJuIHJlc3VsdDIgKyAoaW5kZXggPyBcIiBcIiA6IFwiXCIpICsgd29yZC50b1VwcGVyQ2FzZSgpO1xuICAgICAgICB9KTtcbiAgICAgICAgdmFyIHVwcGVyRmlyc3QgPSBjcmVhdGVDYXNlRmlyc3QoXCJ0b1VwcGVyQ2FzZVwiKTtcbiAgICAgICAgZnVuY3Rpb24gd29yZHMoc3RyaW5nLCBwYXR0ZXJuLCBndWFyZCkge1xuICAgICAgICAgIHN0cmluZyA9IHRvU3RyaW5nKHN0cmluZyk7XG4gICAgICAgICAgcGF0dGVybiA9IGd1YXJkID8gdW5kZWZpbmVkMiA6IHBhdHRlcm47XG4gICAgICAgICAgaWYgKHBhdHRlcm4gPT09IHVuZGVmaW5lZDIpIHtcbiAgICAgICAgICAgIHJldHVybiBoYXNVbmljb2RlV29yZChzdHJpbmcpID8gdW5pY29kZVdvcmRzKHN0cmluZykgOiBhc2NpaVdvcmRzKHN0cmluZyk7XG4gICAgICAgICAgfVxuICAgICAgICAgIHJldHVybiBzdHJpbmcubWF0Y2gocGF0dGVybikgfHwgW107XG4gICAgICAgIH1cbiAgICAgICAgdmFyIGF0dGVtcHQgPSBiYXNlUmVzdChmdW5jdGlvbihmdW5jLCBhcmdzKSB7XG4gICAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIHJldHVybiBhcHBseShmdW5jLCB1bmRlZmluZWQyLCBhcmdzKTtcbiAgICAgICAgICB9IGNhdGNoIChlKSB7XG4gICAgICAgICAgICByZXR1cm4gaXNFcnJvcihlKSA/IGUgOiBuZXcgRXJyb3IyKGUpO1xuICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgICAgIHZhciBiaW5kQWxsID0gZmxhdFJlc3QoZnVuY3Rpb24ob2JqZWN0LCBtZXRob2ROYW1lcykge1xuICAgICAgICAgIGFycmF5RWFjaChtZXRob2ROYW1lcywgZnVuY3Rpb24oa2V5KSB7XG4gICAgICAgICAgICBrZXkgPSB0b0tleShrZXkpO1xuICAgICAgICAgICAgYmFzZUFzc2lnblZhbHVlKG9iamVjdCwga2V5LCBiaW5kKG9iamVjdFtrZXldLCBvYmplY3QpKTtcbiAgICAgICAgICB9KTtcbiAgICAgICAgICByZXR1cm4gb2JqZWN0O1xuICAgICAgICB9KTtcbiAgICAgICAgZnVuY3Rpb24gY29uZChwYWlycykge1xuICAgICAgICAgIHZhciBsZW5ndGggPSBwYWlycyA9PSBudWxsID8gMCA6IHBhaXJzLmxlbmd0aCwgdG9JdGVyYXRlZSA9IGdldEl0ZXJhdGVlKCk7XG4gICAgICAgICAgcGFpcnMgPSAhbGVuZ3RoID8gW10gOiBhcnJheU1hcChwYWlycywgZnVuY3Rpb24ocGFpcikge1xuICAgICAgICAgICAgaWYgKHR5cGVvZiBwYWlyWzFdICE9IFwiZnVuY3Rpb25cIikge1xuICAgICAgICAgICAgICB0aHJvdyBuZXcgVHlwZUVycm9yMihGVU5DX0VSUk9SX1RFWFQpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmV0dXJuIFt0b0l0ZXJhdGVlKHBhaXJbMF0pLCBwYWlyWzFdXTtcbiAgICAgICAgICB9KTtcbiAgICAgICAgICByZXR1cm4gYmFzZVJlc3QoZnVuY3Rpb24oYXJncykge1xuICAgICAgICAgICAgdmFyIGluZGV4ID0gLTE7XG4gICAgICAgICAgICB3aGlsZSAoKytpbmRleCA8IGxlbmd0aCkge1xuICAgICAgICAgICAgICB2YXIgcGFpciA9IHBhaXJzW2luZGV4XTtcbiAgICAgICAgICAgICAgaWYgKGFwcGx5KHBhaXJbMF0sIHRoaXMsIGFyZ3MpKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIGFwcGx5KHBhaXJbMV0sIHRoaXMsIGFyZ3MpO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICAgICAgZnVuY3Rpb24gY29uZm9ybXMoc291cmNlKSB7XG4gICAgICAgICAgcmV0dXJuIGJhc2VDb25mb3JtcyhiYXNlQ2xvbmUoc291cmNlLCBDTE9ORV9ERUVQX0ZMQUcpKTtcbiAgICAgICAgfVxuICAgICAgICBmdW5jdGlvbiBjb25zdGFudCh2YWx1ZSkge1xuICAgICAgICAgIHJldHVybiBmdW5jdGlvbigpIHtcbiAgICAgICAgICAgIHJldHVybiB2YWx1ZTtcbiAgICAgICAgICB9O1xuICAgICAgICB9XG4gICAgICAgIGZ1bmN0aW9uIGRlZmF1bHRUbyh2YWx1ZSwgZGVmYXVsdFZhbHVlKSB7XG4gICAgICAgICAgcmV0dXJuIHZhbHVlID09IG51bGwgfHwgdmFsdWUgIT09IHZhbHVlID8gZGVmYXVsdFZhbHVlIDogdmFsdWU7XG4gICAgICAgIH1cbiAgICAgICAgdmFyIGZsb3cgPSBjcmVhdGVGbG93KCk7XG4gICAgICAgIHZhciBmbG93UmlnaHQgPSBjcmVhdGVGbG93KHRydWUpO1xuICAgICAgICBmdW5jdGlvbiBpZGVudGl0eSh2YWx1ZSkge1xuICAgICAgICAgIHJldHVybiB2YWx1ZTtcbiAgICAgICAgfVxuICAgICAgICBmdW5jdGlvbiBpdGVyYXRlZShmdW5jKSB7XG4gICAgICAgICAgcmV0dXJuIGJhc2VJdGVyYXRlZSh0eXBlb2YgZnVuYyA9PSBcImZ1bmN0aW9uXCIgPyBmdW5jIDogYmFzZUNsb25lKGZ1bmMsIENMT05FX0RFRVBfRkxBRykpO1xuICAgICAgICB9XG4gICAgICAgIGZ1bmN0aW9uIG1hdGNoZXMoc291cmNlKSB7XG4gICAgICAgICAgcmV0dXJuIGJhc2VNYXRjaGVzKGJhc2VDbG9uZShzb3VyY2UsIENMT05FX0RFRVBfRkxBRykpO1xuICAgICAgICB9XG4gICAgICAgIGZ1bmN0aW9uIG1hdGNoZXNQcm9wZXJ0eShwYXRoLCBzcmNWYWx1ZSkge1xuICAgICAgICAgIHJldHVybiBiYXNlTWF0Y2hlc1Byb3BlcnR5KHBhdGgsIGJhc2VDbG9uZShzcmNWYWx1ZSwgQ0xPTkVfREVFUF9GTEFHKSk7XG4gICAgICAgIH1cbiAgICAgICAgdmFyIG1ldGhvZCA9IGJhc2VSZXN0KGZ1bmN0aW9uKHBhdGgsIGFyZ3MpIHtcbiAgICAgICAgICByZXR1cm4gZnVuY3Rpb24ob2JqZWN0KSB7XG4gICAgICAgICAgICByZXR1cm4gYmFzZUludm9rZShvYmplY3QsIHBhdGgsIGFyZ3MpO1xuICAgICAgICAgIH07XG4gICAgICAgIH0pO1xuICAgICAgICB2YXIgbWV0aG9kT2YgPSBiYXNlUmVzdChmdW5jdGlvbihvYmplY3QsIGFyZ3MpIHtcbiAgICAgICAgICByZXR1cm4gZnVuY3Rpb24ocGF0aCkge1xuICAgICAgICAgICAgcmV0dXJuIGJhc2VJbnZva2Uob2JqZWN0LCBwYXRoLCBhcmdzKTtcbiAgICAgICAgICB9O1xuICAgICAgICB9KTtcbiAgICAgICAgZnVuY3Rpb24gbWl4aW4ob2JqZWN0LCBzb3VyY2UsIG9wdGlvbnMpIHtcbiAgICAgICAgICB2YXIgcHJvcHMgPSBrZXlzKHNvdXJjZSksIG1ldGhvZE5hbWVzID0gYmFzZUZ1bmN0aW9ucyhzb3VyY2UsIHByb3BzKTtcbiAgICAgICAgICBpZiAob3B0aW9ucyA9PSBudWxsICYmICEoaXNPYmplY3Qoc291cmNlKSAmJiAobWV0aG9kTmFtZXMubGVuZ3RoIHx8ICFwcm9wcy5sZW5ndGgpKSkge1xuICAgICAgICAgICAgb3B0aW9ucyA9IHNvdXJjZTtcbiAgICAgICAgICAgIHNvdXJjZSA9IG9iamVjdDtcbiAgICAgICAgICAgIG9iamVjdCA9IHRoaXM7XG4gICAgICAgICAgICBtZXRob2ROYW1lcyA9IGJhc2VGdW5jdGlvbnMoc291cmNlLCBrZXlzKHNvdXJjZSkpO1xuICAgICAgICAgIH1cbiAgICAgICAgICB2YXIgY2hhaW4yID0gIShpc09iamVjdChvcHRpb25zKSAmJiBcImNoYWluXCIgaW4gb3B0aW9ucykgfHwgISFvcHRpb25zLmNoYWluLCBpc0Z1bmMgPSBpc0Z1bmN0aW9uKG9iamVjdCk7XG4gICAgICAgICAgYXJyYXlFYWNoKG1ldGhvZE5hbWVzLCBmdW5jdGlvbihtZXRob2ROYW1lKSB7XG4gICAgICAgICAgICB2YXIgZnVuYyA9IHNvdXJjZVttZXRob2ROYW1lXTtcbiAgICAgICAgICAgIG9iamVjdFttZXRob2ROYW1lXSA9IGZ1bmM7XG4gICAgICAgICAgICBpZiAoaXNGdW5jKSB7XG4gICAgICAgICAgICAgIG9iamVjdC5wcm90b3R5cGVbbWV0aG9kTmFtZV0gPSBmdW5jdGlvbigpIHtcbiAgICAgICAgICAgICAgICB2YXIgY2hhaW5BbGwgPSB0aGlzLl9fY2hhaW5fXztcbiAgICAgICAgICAgICAgICBpZiAoY2hhaW4yIHx8IGNoYWluQWxsKSB7XG4gICAgICAgICAgICAgICAgICB2YXIgcmVzdWx0MiA9IG9iamVjdCh0aGlzLl9fd3JhcHBlZF9fKSwgYWN0aW9ucyA9IHJlc3VsdDIuX19hY3Rpb25zX18gPSBjb3B5QXJyYXkodGhpcy5fX2FjdGlvbnNfXyk7XG4gICAgICAgICAgICAgICAgICBhY3Rpb25zLnB1c2goeyBcImZ1bmNcIjogZnVuYywgXCJhcmdzXCI6IGFyZ3VtZW50cywgXCJ0aGlzQXJnXCI6IG9iamVjdCB9KTtcbiAgICAgICAgICAgICAgICAgIHJlc3VsdDIuX19jaGFpbl9fID0gY2hhaW5BbGw7XG4gICAgICAgICAgICAgICAgICByZXR1cm4gcmVzdWx0MjtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgcmV0dXJuIGZ1bmMuYXBwbHkob2JqZWN0LCBhcnJheVB1c2goW3RoaXMudmFsdWUoKV0sIGFyZ3VtZW50cykpO1xuICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH0pO1xuICAgICAgICAgIHJldHVybiBvYmplY3Q7XG4gICAgICAgIH1cbiAgICAgICAgZnVuY3Rpb24gbm9Db25mbGljdCgpIHtcbiAgICAgICAgICBpZiAocm9vdC5fID09PSB0aGlzKSB7XG4gICAgICAgICAgICByb290Ll8gPSBvbGREYXNoO1xuICAgICAgICAgIH1cbiAgICAgICAgICByZXR1cm4gdGhpcztcbiAgICAgICAgfVxuICAgICAgICBmdW5jdGlvbiBub29wKCkge1xuICAgICAgICB9XG4gICAgICAgIGZ1bmN0aW9uIG50aEFyZyhuKSB7XG4gICAgICAgICAgbiA9IHRvSW50ZWdlcihuKTtcbiAgICAgICAgICByZXR1cm4gYmFzZVJlc3QoZnVuY3Rpb24oYXJncykge1xuICAgICAgICAgICAgcmV0dXJuIGJhc2VOdGgoYXJncywgbik7XG4gICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICAgICAgdmFyIG92ZXIgPSBjcmVhdGVPdmVyKGFycmF5TWFwKTtcbiAgICAgICAgdmFyIG92ZXJFdmVyeSA9IGNyZWF0ZU92ZXIoYXJyYXlFdmVyeSk7XG4gICAgICAgIHZhciBvdmVyU29tZSA9IGNyZWF0ZU92ZXIoYXJyYXlTb21lKTtcbiAgICAgICAgZnVuY3Rpb24gcHJvcGVydHkocGF0aCkge1xuICAgICAgICAgIHJldHVybiBpc0tleShwYXRoKSA/IGJhc2VQcm9wZXJ0eSh0b0tleShwYXRoKSkgOiBiYXNlUHJvcGVydHlEZWVwKHBhdGgpO1xuICAgICAgICB9XG4gICAgICAgIGZ1bmN0aW9uIHByb3BlcnR5T2Yob2JqZWN0KSB7XG4gICAgICAgICAgcmV0dXJuIGZ1bmN0aW9uKHBhdGgpIHtcbiAgICAgICAgICAgIHJldHVybiBvYmplY3QgPT0gbnVsbCA/IHVuZGVmaW5lZDIgOiBiYXNlR2V0KG9iamVjdCwgcGF0aCk7XG4gICAgICAgICAgfTtcbiAgICAgICAgfVxuICAgICAgICB2YXIgcmFuZ2UgPSBjcmVhdGVSYW5nZSgpO1xuICAgICAgICB2YXIgcmFuZ2VSaWdodCA9IGNyZWF0ZVJhbmdlKHRydWUpO1xuICAgICAgICBmdW5jdGlvbiBzdHViQXJyYXkoKSB7XG4gICAgICAgICAgcmV0dXJuIFtdO1xuICAgICAgICB9XG4gICAgICAgIGZ1bmN0aW9uIHN0dWJGYWxzZSgpIHtcbiAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgIH1cbiAgICAgICAgZnVuY3Rpb24gc3R1Yk9iamVjdCgpIHtcbiAgICAgICAgICByZXR1cm4ge307XG4gICAgICAgIH1cbiAgICAgICAgZnVuY3Rpb24gc3R1YlN0cmluZygpIHtcbiAgICAgICAgICByZXR1cm4gXCJcIjtcbiAgICAgICAgfVxuICAgICAgICBmdW5jdGlvbiBzdHViVHJ1ZSgpIHtcbiAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgfVxuICAgICAgICBmdW5jdGlvbiB0aW1lcyhuLCBpdGVyYXRlZTIpIHtcbiAgICAgICAgICBuID0gdG9JbnRlZ2VyKG4pO1xuICAgICAgICAgIGlmIChuIDwgMSB8fCBuID4gTUFYX1NBRkVfSU5URUdFUikge1xuICAgICAgICAgICAgcmV0dXJuIFtdO1xuICAgICAgICAgIH1cbiAgICAgICAgICB2YXIgaW5kZXggPSBNQVhfQVJSQVlfTEVOR1RILCBsZW5ndGggPSBuYXRpdmVNaW4obiwgTUFYX0FSUkFZX0xFTkdUSCk7XG4gICAgICAgICAgaXRlcmF0ZWUyID0gZ2V0SXRlcmF0ZWUoaXRlcmF0ZWUyKTtcbiAgICAgICAgICBuIC09IE1BWF9BUlJBWV9MRU5HVEg7XG4gICAgICAgICAgdmFyIHJlc3VsdDIgPSBiYXNlVGltZXMobGVuZ3RoLCBpdGVyYXRlZTIpO1xuICAgICAgICAgIHdoaWxlICgrK2luZGV4IDwgbikge1xuICAgICAgICAgICAgaXRlcmF0ZWUyKGluZGV4KTtcbiAgICAgICAgICB9XG4gICAgICAgICAgcmV0dXJuIHJlc3VsdDI7XG4gICAgICAgIH1cbiAgICAgICAgZnVuY3Rpb24gdG9QYXRoKHZhbHVlKSB7XG4gICAgICAgICAgaWYgKGlzQXJyYXkodmFsdWUpKSB7XG4gICAgICAgICAgICByZXR1cm4gYXJyYXlNYXAodmFsdWUsIHRvS2V5KTtcbiAgICAgICAgICB9XG4gICAgICAgICAgcmV0dXJuIGlzU3ltYm9sKHZhbHVlKSA/IFt2YWx1ZV0gOiBjb3B5QXJyYXkoc3RyaW5nVG9QYXRoKHRvU3RyaW5nKHZhbHVlKSkpO1xuICAgICAgICB9XG4gICAgICAgIGZ1bmN0aW9uIHVuaXF1ZUlkKHByZWZpeCkge1xuICAgICAgICAgIHZhciBpZCA9ICsraWRDb3VudGVyO1xuICAgICAgICAgIHJldHVybiB0b1N0cmluZyhwcmVmaXgpICsgaWQ7XG4gICAgICAgIH1cbiAgICAgICAgdmFyIGFkZCA9IGNyZWF0ZU1hdGhPcGVyYXRpb24oZnVuY3Rpb24oYXVnZW5kLCBhZGRlbmQpIHtcbiAgICAgICAgICByZXR1cm4gYXVnZW5kICsgYWRkZW5kO1xuICAgICAgICB9LCAwKTtcbiAgICAgICAgdmFyIGNlaWwgPSBjcmVhdGVSb3VuZChcImNlaWxcIik7XG4gICAgICAgIHZhciBkaXZpZGUgPSBjcmVhdGVNYXRoT3BlcmF0aW9uKGZ1bmN0aW9uKGRpdmlkZW5kLCBkaXZpc29yKSB7XG4gICAgICAgICAgcmV0dXJuIGRpdmlkZW5kIC8gZGl2aXNvcjtcbiAgICAgICAgfSwgMSk7XG4gICAgICAgIHZhciBmbG9vciA9IGNyZWF0ZVJvdW5kKFwiZmxvb3JcIik7XG4gICAgICAgIGZ1bmN0aW9uIG1heChhcnJheSkge1xuICAgICAgICAgIHJldHVybiBhcnJheSAmJiBhcnJheS5sZW5ndGggPyBiYXNlRXh0cmVtdW0oYXJyYXksIGlkZW50aXR5LCBiYXNlR3QpIDogdW5kZWZpbmVkMjtcbiAgICAgICAgfVxuICAgICAgICBmdW5jdGlvbiBtYXhCeShhcnJheSwgaXRlcmF0ZWUyKSB7XG4gICAgICAgICAgcmV0dXJuIGFycmF5ICYmIGFycmF5Lmxlbmd0aCA/IGJhc2VFeHRyZW11bShhcnJheSwgZ2V0SXRlcmF0ZWUoaXRlcmF0ZWUyLCAyKSwgYmFzZUd0KSA6IHVuZGVmaW5lZDI7XG4gICAgICAgIH1cbiAgICAgICAgZnVuY3Rpb24gbWVhbihhcnJheSkge1xuICAgICAgICAgIHJldHVybiBiYXNlTWVhbihhcnJheSwgaWRlbnRpdHkpO1xuICAgICAgICB9XG4gICAgICAgIGZ1bmN0aW9uIG1lYW5CeShhcnJheSwgaXRlcmF0ZWUyKSB7XG4gICAgICAgICAgcmV0dXJuIGJhc2VNZWFuKGFycmF5LCBnZXRJdGVyYXRlZShpdGVyYXRlZTIsIDIpKTtcbiAgICAgICAgfVxuICAgICAgICBmdW5jdGlvbiBtaW4oYXJyYXkpIHtcbiAgICAgICAgICByZXR1cm4gYXJyYXkgJiYgYXJyYXkubGVuZ3RoID8gYmFzZUV4dHJlbXVtKGFycmF5LCBpZGVudGl0eSwgYmFzZUx0KSA6IHVuZGVmaW5lZDI7XG4gICAgICAgIH1cbiAgICAgICAgZnVuY3Rpb24gbWluQnkoYXJyYXksIGl0ZXJhdGVlMikge1xuICAgICAgICAgIHJldHVybiBhcnJheSAmJiBhcnJheS5sZW5ndGggPyBiYXNlRXh0cmVtdW0oYXJyYXksIGdldEl0ZXJhdGVlKGl0ZXJhdGVlMiwgMiksIGJhc2VMdCkgOiB1bmRlZmluZWQyO1xuICAgICAgICB9XG4gICAgICAgIHZhciBtdWx0aXBseSA9IGNyZWF0ZU1hdGhPcGVyYXRpb24oZnVuY3Rpb24obXVsdGlwbGllciwgbXVsdGlwbGljYW5kKSB7XG4gICAgICAgICAgcmV0dXJuIG11bHRpcGxpZXIgKiBtdWx0aXBsaWNhbmQ7XG4gICAgICAgIH0sIDEpO1xuICAgICAgICB2YXIgcm91bmQgPSBjcmVhdGVSb3VuZChcInJvdW5kXCIpO1xuICAgICAgICB2YXIgc3VidHJhY3QgPSBjcmVhdGVNYXRoT3BlcmF0aW9uKGZ1bmN0aW9uKG1pbnVlbmQsIHN1YnRyYWhlbmQpIHtcbiAgICAgICAgICByZXR1cm4gbWludWVuZCAtIHN1YnRyYWhlbmQ7XG4gICAgICAgIH0sIDApO1xuICAgICAgICBmdW5jdGlvbiBzdW0oYXJyYXkpIHtcbiAgICAgICAgICByZXR1cm4gYXJyYXkgJiYgYXJyYXkubGVuZ3RoID8gYmFzZVN1bShhcnJheSwgaWRlbnRpdHkpIDogMDtcbiAgICAgICAgfVxuICAgICAgICBmdW5jdGlvbiBzdW1CeShhcnJheSwgaXRlcmF0ZWUyKSB7XG4gICAgICAgICAgcmV0dXJuIGFycmF5ICYmIGFycmF5Lmxlbmd0aCA/IGJhc2VTdW0oYXJyYXksIGdldEl0ZXJhdGVlKGl0ZXJhdGVlMiwgMikpIDogMDtcbiAgICAgICAgfVxuICAgICAgICBsb2Rhc2guYWZ0ZXIgPSBhZnRlcjtcbiAgICAgICAgbG9kYXNoLmFyeSA9IGFyeTtcbiAgICAgICAgbG9kYXNoLmFzc2lnbiA9IGFzc2lnbjtcbiAgICAgICAgbG9kYXNoLmFzc2lnbkluID0gYXNzaWduSW47XG4gICAgICAgIGxvZGFzaC5hc3NpZ25JbldpdGggPSBhc3NpZ25JbldpdGg7XG4gICAgICAgIGxvZGFzaC5hc3NpZ25XaXRoID0gYXNzaWduV2l0aDtcbiAgICAgICAgbG9kYXNoLmF0ID0gYXQ7XG4gICAgICAgIGxvZGFzaC5iZWZvcmUgPSBiZWZvcmU7XG4gICAgICAgIGxvZGFzaC5iaW5kID0gYmluZDtcbiAgICAgICAgbG9kYXNoLmJpbmRBbGwgPSBiaW5kQWxsO1xuICAgICAgICBsb2Rhc2guYmluZEtleSA9IGJpbmRLZXk7XG4gICAgICAgIGxvZGFzaC5jYXN0QXJyYXkgPSBjYXN0QXJyYXk7XG4gICAgICAgIGxvZGFzaC5jaGFpbiA9IGNoYWluO1xuICAgICAgICBsb2Rhc2guY2h1bmsgPSBjaHVuaztcbiAgICAgICAgbG9kYXNoLmNvbXBhY3QgPSBjb21wYWN0O1xuICAgICAgICBsb2Rhc2guY29uY2F0ID0gY29uY2F0O1xuICAgICAgICBsb2Rhc2guY29uZCA9IGNvbmQ7XG4gICAgICAgIGxvZGFzaC5jb25mb3JtcyA9IGNvbmZvcm1zO1xuICAgICAgICBsb2Rhc2guY29uc3RhbnQgPSBjb25zdGFudDtcbiAgICAgICAgbG9kYXNoLmNvdW50QnkgPSBjb3VudEJ5O1xuICAgICAgICBsb2Rhc2guY3JlYXRlID0gY3JlYXRlO1xuICAgICAgICBsb2Rhc2guY3VycnkgPSBjdXJyeTtcbiAgICAgICAgbG9kYXNoLmN1cnJ5UmlnaHQgPSBjdXJyeVJpZ2h0O1xuICAgICAgICBsb2Rhc2guZGVib3VuY2UgPSBkZWJvdW5jZTtcbiAgICAgICAgbG9kYXNoLmRlZmF1bHRzID0gZGVmYXVsdHM7XG4gICAgICAgIGxvZGFzaC5kZWZhdWx0c0RlZXAgPSBkZWZhdWx0c0RlZXA7XG4gICAgICAgIGxvZGFzaC5kZWZlciA9IGRlZmVyO1xuICAgICAgICBsb2Rhc2guZGVsYXkgPSBkZWxheTtcbiAgICAgICAgbG9kYXNoLmRpZmZlcmVuY2UgPSBkaWZmZXJlbmNlO1xuICAgICAgICBsb2Rhc2guZGlmZmVyZW5jZUJ5ID0gZGlmZmVyZW5jZUJ5O1xuICAgICAgICBsb2Rhc2guZGlmZmVyZW5jZVdpdGggPSBkaWZmZXJlbmNlV2l0aDtcbiAgICAgICAgbG9kYXNoLmRyb3AgPSBkcm9wO1xuICAgICAgICBsb2Rhc2guZHJvcFJpZ2h0ID0gZHJvcFJpZ2h0O1xuICAgICAgICBsb2Rhc2guZHJvcFJpZ2h0V2hpbGUgPSBkcm9wUmlnaHRXaGlsZTtcbiAgICAgICAgbG9kYXNoLmRyb3BXaGlsZSA9IGRyb3BXaGlsZTtcbiAgICAgICAgbG9kYXNoLmZpbGwgPSBmaWxsO1xuICAgICAgICBsb2Rhc2guZmlsdGVyID0gZmlsdGVyO1xuICAgICAgICBsb2Rhc2guZmxhdE1hcCA9IGZsYXRNYXA7XG4gICAgICAgIGxvZGFzaC5mbGF0TWFwRGVlcCA9IGZsYXRNYXBEZWVwO1xuICAgICAgICBsb2Rhc2guZmxhdE1hcERlcHRoID0gZmxhdE1hcERlcHRoO1xuICAgICAgICBsb2Rhc2guZmxhdHRlbiA9IGZsYXR0ZW47XG4gICAgICAgIGxvZGFzaC5mbGF0dGVuRGVlcCA9IGZsYXR0ZW5EZWVwO1xuICAgICAgICBsb2Rhc2guZmxhdHRlbkRlcHRoID0gZmxhdHRlbkRlcHRoO1xuICAgICAgICBsb2Rhc2guZmxpcCA9IGZsaXA7XG4gICAgICAgIGxvZGFzaC5mbG93ID0gZmxvdztcbiAgICAgICAgbG9kYXNoLmZsb3dSaWdodCA9IGZsb3dSaWdodDtcbiAgICAgICAgbG9kYXNoLmZyb21QYWlycyA9IGZyb21QYWlycztcbiAgICAgICAgbG9kYXNoLmZ1bmN0aW9ucyA9IGZ1bmN0aW9ucztcbiAgICAgICAgbG9kYXNoLmZ1bmN0aW9uc0luID0gZnVuY3Rpb25zSW47XG4gICAgICAgIGxvZGFzaC5ncm91cEJ5ID0gZ3JvdXBCeTtcbiAgICAgICAgbG9kYXNoLmluaXRpYWwgPSBpbml0aWFsO1xuICAgICAgICBsb2Rhc2guaW50ZXJzZWN0aW9uID0gaW50ZXJzZWN0aW9uO1xuICAgICAgICBsb2Rhc2guaW50ZXJzZWN0aW9uQnkgPSBpbnRlcnNlY3Rpb25CeTtcbiAgICAgICAgbG9kYXNoLmludGVyc2VjdGlvbldpdGggPSBpbnRlcnNlY3Rpb25XaXRoO1xuICAgICAgICBsb2Rhc2guaW52ZXJ0ID0gaW52ZXJ0O1xuICAgICAgICBsb2Rhc2guaW52ZXJ0QnkgPSBpbnZlcnRCeTtcbiAgICAgICAgbG9kYXNoLmludm9rZU1hcCA9IGludm9rZU1hcDtcbiAgICAgICAgbG9kYXNoLml0ZXJhdGVlID0gaXRlcmF0ZWU7XG4gICAgICAgIGxvZGFzaC5rZXlCeSA9IGtleUJ5O1xuICAgICAgICBsb2Rhc2gua2V5cyA9IGtleXM7XG4gICAgICAgIGxvZGFzaC5rZXlzSW4gPSBrZXlzSW47XG4gICAgICAgIGxvZGFzaC5tYXAgPSBtYXA7XG4gICAgICAgIGxvZGFzaC5tYXBLZXlzID0gbWFwS2V5cztcbiAgICAgICAgbG9kYXNoLm1hcFZhbHVlcyA9IG1hcFZhbHVlcztcbiAgICAgICAgbG9kYXNoLm1hdGNoZXMgPSBtYXRjaGVzO1xuICAgICAgICBsb2Rhc2gubWF0Y2hlc1Byb3BlcnR5ID0gbWF0Y2hlc1Byb3BlcnR5O1xuICAgICAgICBsb2Rhc2gubWVtb2l6ZSA9IG1lbW9pemU7XG4gICAgICAgIGxvZGFzaC5tZXJnZSA9IG1lcmdlO1xuICAgICAgICBsb2Rhc2gubWVyZ2VXaXRoID0gbWVyZ2VXaXRoO1xuICAgICAgICBsb2Rhc2gubWV0aG9kID0gbWV0aG9kO1xuICAgICAgICBsb2Rhc2gubWV0aG9kT2YgPSBtZXRob2RPZjtcbiAgICAgICAgbG9kYXNoLm1peGluID0gbWl4aW47XG4gICAgICAgIGxvZGFzaC5uZWdhdGUgPSBuZWdhdGU7XG4gICAgICAgIGxvZGFzaC5udGhBcmcgPSBudGhBcmc7XG4gICAgICAgIGxvZGFzaC5vbWl0ID0gb21pdDtcbiAgICAgICAgbG9kYXNoLm9taXRCeSA9IG9taXRCeTtcbiAgICAgICAgbG9kYXNoLm9uY2UgPSBvbmNlO1xuICAgICAgICBsb2Rhc2gub3JkZXJCeSA9IG9yZGVyQnk7XG4gICAgICAgIGxvZGFzaC5vdmVyID0gb3ZlcjtcbiAgICAgICAgbG9kYXNoLm92ZXJBcmdzID0gb3ZlckFyZ3M7XG4gICAgICAgIGxvZGFzaC5vdmVyRXZlcnkgPSBvdmVyRXZlcnk7XG4gICAgICAgIGxvZGFzaC5vdmVyU29tZSA9IG92ZXJTb21lO1xuICAgICAgICBsb2Rhc2gucGFydGlhbCA9IHBhcnRpYWw7XG4gICAgICAgIGxvZGFzaC5wYXJ0aWFsUmlnaHQgPSBwYXJ0aWFsUmlnaHQ7XG4gICAgICAgIGxvZGFzaC5wYXJ0aXRpb24gPSBwYXJ0aXRpb247XG4gICAgICAgIGxvZGFzaC5waWNrID0gcGljaztcbiAgICAgICAgbG9kYXNoLnBpY2tCeSA9IHBpY2tCeTtcbiAgICAgICAgbG9kYXNoLnByb3BlcnR5ID0gcHJvcGVydHk7XG4gICAgICAgIGxvZGFzaC5wcm9wZXJ0eU9mID0gcHJvcGVydHlPZjtcbiAgICAgICAgbG9kYXNoLnB1bGwgPSBwdWxsO1xuICAgICAgICBsb2Rhc2gucHVsbEFsbCA9IHB1bGxBbGw7XG4gICAgICAgIGxvZGFzaC5wdWxsQWxsQnkgPSBwdWxsQWxsQnk7XG4gICAgICAgIGxvZGFzaC5wdWxsQWxsV2l0aCA9IHB1bGxBbGxXaXRoO1xuICAgICAgICBsb2Rhc2gucHVsbEF0ID0gcHVsbEF0O1xuICAgICAgICBsb2Rhc2gucmFuZ2UgPSByYW5nZTtcbiAgICAgICAgbG9kYXNoLnJhbmdlUmlnaHQgPSByYW5nZVJpZ2h0O1xuICAgICAgICBsb2Rhc2gucmVhcmcgPSByZWFyZztcbiAgICAgICAgbG9kYXNoLnJlamVjdCA9IHJlamVjdDtcbiAgICAgICAgbG9kYXNoLnJlbW92ZSA9IHJlbW92ZTtcbiAgICAgICAgbG9kYXNoLnJlc3QgPSByZXN0O1xuICAgICAgICBsb2Rhc2gucmV2ZXJzZSA9IHJldmVyc2U7XG4gICAgICAgIGxvZGFzaC5zYW1wbGVTaXplID0gc2FtcGxlU2l6ZTtcbiAgICAgICAgbG9kYXNoLnNldCA9IHNldDtcbiAgICAgICAgbG9kYXNoLnNldFdpdGggPSBzZXRXaXRoO1xuICAgICAgICBsb2Rhc2guc2h1ZmZsZSA9IHNodWZmbGU7XG4gICAgICAgIGxvZGFzaC5zbGljZSA9IHNsaWNlO1xuICAgICAgICBsb2Rhc2guc29ydEJ5ID0gc29ydEJ5O1xuICAgICAgICBsb2Rhc2guc29ydGVkVW5pcSA9IHNvcnRlZFVuaXE7XG4gICAgICAgIGxvZGFzaC5zb3J0ZWRVbmlxQnkgPSBzb3J0ZWRVbmlxQnk7XG4gICAgICAgIGxvZGFzaC5zcGxpdCA9IHNwbGl0O1xuICAgICAgICBsb2Rhc2guc3ByZWFkID0gc3ByZWFkO1xuICAgICAgICBsb2Rhc2gudGFpbCA9IHRhaWw7XG4gICAgICAgIGxvZGFzaC50YWtlID0gdGFrZTtcbiAgICAgICAgbG9kYXNoLnRha2VSaWdodCA9IHRha2VSaWdodDtcbiAgICAgICAgbG9kYXNoLnRha2VSaWdodFdoaWxlID0gdGFrZVJpZ2h0V2hpbGU7XG4gICAgICAgIGxvZGFzaC50YWtlV2hpbGUgPSB0YWtlV2hpbGU7XG4gICAgICAgIGxvZGFzaC50YXAgPSB0YXA7XG4gICAgICAgIGxvZGFzaC50aHJvdHRsZSA9IHRocm90dGxlO1xuICAgICAgICBsb2Rhc2gudGhydSA9IHRocnU7XG4gICAgICAgIGxvZGFzaC50b0FycmF5ID0gdG9BcnJheTtcbiAgICAgICAgbG9kYXNoLnRvUGFpcnMgPSB0b1BhaXJzO1xuICAgICAgICBsb2Rhc2gudG9QYWlyc0luID0gdG9QYWlyc0luO1xuICAgICAgICBsb2Rhc2gudG9QYXRoID0gdG9QYXRoO1xuICAgICAgICBsb2Rhc2gudG9QbGFpbk9iamVjdCA9IHRvUGxhaW5PYmplY3Q7XG4gICAgICAgIGxvZGFzaC50cmFuc2Zvcm0gPSB0cmFuc2Zvcm07XG4gICAgICAgIGxvZGFzaC51bmFyeSA9IHVuYXJ5O1xuICAgICAgICBsb2Rhc2gudW5pb24gPSB1bmlvbjtcbiAgICAgICAgbG9kYXNoLnVuaW9uQnkgPSB1bmlvbkJ5O1xuICAgICAgICBsb2Rhc2gudW5pb25XaXRoID0gdW5pb25XaXRoO1xuICAgICAgICBsb2Rhc2gudW5pcSA9IHVuaXE7XG4gICAgICAgIGxvZGFzaC51bmlxQnkgPSB1bmlxQnk7XG4gICAgICAgIGxvZGFzaC51bmlxV2l0aCA9IHVuaXFXaXRoO1xuICAgICAgICBsb2Rhc2gudW5zZXQgPSB1bnNldDtcbiAgICAgICAgbG9kYXNoLnVuemlwID0gdW56aXA7XG4gICAgICAgIGxvZGFzaC51bnppcFdpdGggPSB1bnppcFdpdGg7XG4gICAgICAgIGxvZGFzaC51cGRhdGUgPSB1cGRhdGU7XG4gICAgICAgIGxvZGFzaC51cGRhdGVXaXRoID0gdXBkYXRlV2l0aDtcbiAgICAgICAgbG9kYXNoLnZhbHVlcyA9IHZhbHVlcztcbiAgICAgICAgbG9kYXNoLnZhbHVlc0luID0gdmFsdWVzSW47XG4gICAgICAgIGxvZGFzaC53aXRob3V0ID0gd2l0aG91dDtcbiAgICAgICAgbG9kYXNoLndvcmRzID0gd29yZHM7XG4gICAgICAgIGxvZGFzaC53cmFwID0gd3JhcDtcbiAgICAgICAgbG9kYXNoLnhvciA9IHhvcjtcbiAgICAgICAgbG9kYXNoLnhvckJ5ID0geG9yQnk7XG4gICAgICAgIGxvZGFzaC54b3JXaXRoID0geG9yV2l0aDtcbiAgICAgICAgbG9kYXNoLnppcCA9IHppcDtcbiAgICAgICAgbG9kYXNoLnppcE9iamVjdCA9IHppcE9iamVjdDtcbiAgICAgICAgbG9kYXNoLnppcE9iamVjdERlZXAgPSB6aXBPYmplY3REZWVwO1xuICAgICAgICBsb2Rhc2guemlwV2l0aCA9IHppcFdpdGg7XG4gICAgICAgIGxvZGFzaC5lbnRyaWVzID0gdG9QYWlycztcbiAgICAgICAgbG9kYXNoLmVudHJpZXNJbiA9IHRvUGFpcnNJbjtcbiAgICAgICAgbG9kYXNoLmV4dGVuZCA9IGFzc2lnbkluO1xuICAgICAgICBsb2Rhc2guZXh0ZW5kV2l0aCA9IGFzc2lnbkluV2l0aDtcbiAgICAgICAgbWl4aW4obG9kYXNoLCBsb2Rhc2gpO1xuICAgICAgICBsb2Rhc2guYWRkID0gYWRkO1xuICAgICAgICBsb2Rhc2guYXR0ZW1wdCA9IGF0dGVtcHQ7XG4gICAgICAgIGxvZGFzaC5jYW1lbENhc2UgPSBjYW1lbENhc2U7XG4gICAgICAgIGxvZGFzaC5jYXBpdGFsaXplID0gY2FwaXRhbGl6ZTtcbiAgICAgICAgbG9kYXNoLmNlaWwgPSBjZWlsO1xuICAgICAgICBsb2Rhc2guY2xhbXAgPSBjbGFtcDtcbiAgICAgICAgbG9kYXNoLmNsb25lID0gY2xvbmU7XG4gICAgICAgIGxvZGFzaC5jbG9uZURlZXAgPSBjbG9uZURlZXA7XG4gICAgICAgIGxvZGFzaC5jbG9uZURlZXBXaXRoID0gY2xvbmVEZWVwV2l0aDtcbiAgICAgICAgbG9kYXNoLmNsb25lV2l0aCA9IGNsb25lV2l0aDtcbiAgICAgICAgbG9kYXNoLmNvbmZvcm1zVG8gPSBjb25mb3Jtc1RvO1xuICAgICAgICBsb2Rhc2guZGVidXJyID0gZGVidXJyO1xuICAgICAgICBsb2Rhc2guZGVmYXVsdFRvID0gZGVmYXVsdFRvO1xuICAgICAgICBsb2Rhc2guZGl2aWRlID0gZGl2aWRlO1xuICAgICAgICBsb2Rhc2guZW5kc1dpdGggPSBlbmRzV2l0aDtcbiAgICAgICAgbG9kYXNoLmVxID0gZXE7XG4gICAgICAgIGxvZGFzaC5lc2NhcGUgPSBlc2NhcGUyO1xuICAgICAgICBsb2Rhc2guZXNjYXBlUmVnRXhwID0gZXNjYXBlUmVnRXhwO1xuICAgICAgICBsb2Rhc2guZXZlcnkgPSBldmVyeTtcbiAgICAgICAgbG9kYXNoLmZpbmQgPSBmaW5kO1xuICAgICAgICBsb2Rhc2guZmluZEluZGV4ID0gZmluZEluZGV4O1xuICAgICAgICBsb2Rhc2guZmluZEtleSA9IGZpbmRLZXk7XG4gICAgICAgIGxvZGFzaC5maW5kTGFzdCA9IGZpbmRMYXN0O1xuICAgICAgICBsb2Rhc2guZmluZExhc3RJbmRleCA9IGZpbmRMYXN0SW5kZXg7XG4gICAgICAgIGxvZGFzaC5maW5kTGFzdEtleSA9IGZpbmRMYXN0S2V5O1xuICAgICAgICBsb2Rhc2guZmxvb3IgPSBmbG9vcjtcbiAgICAgICAgbG9kYXNoLmZvckVhY2ggPSBmb3JFYWNoO1xuICAgICAgICBsb2Rhc2guZm9yRWFjaFJpZ2h0ID0gZm9yRWFjaFJpZ2h0O1xuICAgICAgICBsb2Rhc2guZm9ySW4gPSBmb3JJbjtcbiAgICAgICAgbG9kYXNoLmZvckluUmlnaHQgPSBmb3JJblJpZ2h0O1xuICAgICAgICBsb2Rhc2guZm9yT3duID0gZm9yT3duO1xuICAgICAgICBsb2Rhc2guZm9yT3duUmlnaHQgPSBmb3JPd25SaWdodDtcbiAgICAgICAgbG9kYXNoLmdldCA9IGdldDtcbiAgICAgICAgbG9kYXNoLmd0ID0gZ3Q7XG4gICAgICAgIGxvZGFzaC5ndGUgPSBndGU7XG4gICAgICAgIGxvZGFzaC5oYXMgPSBoYXM7XG4gICAgICAgIGxvZGFzaC5oYXNJbiA9IGhhc0luO1xuICAgICAgICBsb2Rhc2guaGVhZCA9IGhlYWQ7XG4gICAgICAgIGxvZGFzaC5pZGVudGl0eSA9IGlkZW50aXR5O1xuICAgICAgICBsb2Rhc2guaW5jbHVkZXMgPSBpbmNsdWRlcztcbiAgICAgICAgbG9kYXNoLmluZGV4T2YgPSBpbmRleE9mO1xuICAgICAgICBsb2Rhc2guaW5SYW5nZSA9IGluUmFuZ2U7XG4gICAgICAgIGxvZGFzaC5pbnZva2UgPSBpbnZva2U7XG4gICAgICAgIGxvZGFzaC5pc0FyZ3VtZW50cyA9IGlzQXJndW1lbnRzO1xuICAgICAgICBsb2Rhc2guaXNBcnJheSA9IGlzQXJyYXk7XG4gICAgICAgIGxvZGFzaC5pc0FycmF5QnVmZmVyID0gaXNBcnJheUJ1ZmZlcjtcbiAgICAgICAgbG9kYXNoLmlzQXJyYXlMaWtlID0gaXNBcnJheUxpa2U7XG4gICAgICAgIGxvZGFzaC5pc0FycmF5TGlrZU9iamVjdCA9IGlzQXJyYXlMaWtlT2JqZWN0O1xuICAgICAgICBsb2Rhc2guaXNCb29sZWFuID0gaXNCb29sZWFuO1xuICAgICAgICBsb2Rhc2guaXNCdWZmZXIgPSBpc0J1ZmZlcjtcbiAgICAgICAgbG9kYXNoLmlzRGF0ZSA9IGlzRGF0ZTtcbiAgICAgICAgbG9kYXNoLmlzRWxlbWVudCA9IGlzRWxlbWVudDtcbiAgICAgICAgbG9kYXNoLmlzRW1wdHkgPSBpc0VtcHR5O1xuICAgICAgICBsb2Rhc2guaXNFcXVhbCA9IGlzRXF1YWw7XG4gICAgICAgIGxvZGFzaC5pc0VxdWFsV2l0aCA9IGlzRXF1YWxXaXRoO1xuICAgICAgICBsb2Rhc2guaXNFcnJvciA9IGlzRXJyb3I7XG4gICAgICAgIGxvZGFzaC5pc0Zpbml0ZSA9IGlzRmluaXRlMjtcbiAgICAgICAgbG9kYXNoLmlzRnVuY3Rpb24gPSBpc0Z1bmN0aW9uO1xuICAgICAgICBsb2Rhc2guaXNJbnRlZ2VyID0gaXNJbnRlZ2VyO1xuICAgICAgICBsb2Rhc2guaXNMZW5ndGggPSBpc0xlbmd0aDtcbiAgICAgICAgbG9kYXNoLmlzTWFwID0gaXNNYXA7XG4gICAgICAgIGxvZGFzaC5pc01hdGNoID0gaXNNYXRjaDtcbiAgICAgICAgbG9kYXNoLmlzTWF0Y2hXaXRoID0gaXNNYXRjaFdpdGg7XG4gICAgICAgIGxvZGFzaC5pc05hTiA9IGlzTmFOMjtcbiAgICAgICAgbG9kYXNoLmlzTmF0aXZlID0gaXNOYXRpdmU7XG4gICAgICAgIGxvZGFzaC5pc05pbCA9IGlzTmlsO1xuICAgICAgICBsb2Rhc2guaXNOdWxsID0gaXNOdWxsO1xuICAgICAgICBsb2Rhc2guaXNOdW1iZXIgPSBpc051bWJlcjtcbiAgICAgICAgbG9kYXNoLmlzT2JqZWN0ID0gaXNPYmplY3Q7XG4gICAgICAgIGxvZGFzaC5pc09iamVjdExpa2UgPSBpc09iamVjdExpa2U7XG4gICAgICAgIGxvZGFzaC5pc1BsYWluT2JqZWN0ID0gaXNQbGFpbk9iamVjdDtcbiAgICAgICAgbG9kYXNoLmlzUmVnRXhwID0gaXNSZWdFeHA7XG4gICAgICAgIGxvZGFzaC5pc1NhZmVJbnRlZ2VyID0gaXNTYWZlSW50ZWdlcjtcbiAgICAgICAgbG9kYXNoLmlzU2V0ID0gaXNTZXQ7XG4gICAgICAgIGxvZGFzaC5pc1N0cmluZyA9IGlzU3RyaW5nO1xuICAgICAgICBsb2Rhc2guaXNTeW1ib2wgPSBpc1N5bWJvbDtcbiAgICAgICAgbG9kYXNoLmlzVHlwZWRBcnJheSA9IGlzVHlwZWRBcnJheTtcbiAgICAgICAgbG9kYXNoLmlzVW5kZWZpbmVkID0gaXNVbmRlZmluZWQ7XG4gICAgICAgIGxvZGFzaC5pc1dlYWtNYXAgPSBpc1dlYWtNYXA7XG4gICAgICAgIGxvZGFzaC5pc1dlYWtTZXQgPSBpc1dlYWtTZXQ7XG4gICAgICAgIGxvZGFzaC5qb2luID0gam9pbjtcbiAgICAgICAgbG9kYXNoLmtlYmFiQ2FzZSA9IGtlYmFiQ2FzZTtcbiAgICAgICAgbG9kYXNoLmxhc3QgPSBsYXN0O1xuICAgICAgICBsb2Rhc2gubGFzdEluZGV4T2YgPSBsYXN0SW5kZXhPZjtcbiAgICAgICAgbG9kYXNoLmxvd2VyQ2FzZSA9IGxvd2VyQ2FzZTtcbiAgICAgICAgbG9kYXNoLmxvd2VyRmlyc3QgPSBsb3dlckZpcnN0O1xuICAgICAgICBsb2Rhc2gubHQgPSBsdDtcbiAgICAgICAgbG9kYXNoLmx0ZSA9IGx0ZTtcbiAgICAgICAgbG9kYXNoLm1heCA9IG1heDtcbiAgICAgICAgbG9kYXNoLm1heEJ5ID0gbWF4Qnk7XG4gICAgICAgIGxvZGFzaC5tZWFuID0gbWVhbjtcbiAgICAgICAgbG9kYXNoLm1lYW5CeSA9IG1lYW5CeTtcbiAgICAgICAgbG9kYXNoLm1pbiA9IG1pbjtcbiAgICAgICAgbG9kYXNoLm1pbkJ5ID0gbWluQnk7XG4gICAgICAgIGxvZGFzaC5zdHViQXJyYXkgPSBzdHViQXJyYXk7XG4gICAgICAgIGxvZGFzaC5zdHViRmFsc2UgPSBzdHViRmFsc2U7XG4gICAgICAgIGxvZGFzaC5zdHViT2JqZWN0ID0gc3R1Yk9iamVjdDtcbiAgICAgICAgbG9kYXNoLnN0dWJTdHJpbmcgPSBzdHViU3RyaW5nO1xuICAgICAgICBsb2Rhc2guc3R1YlRydWUgPSBzdHViVHJ1ZTtcbiAgICAgICAgbG9kYXNoLm11bHRpcGx5ID0gbXVsdGlwbHk7XG4gICAgICAgIGxvZGFzaC5udGggPSBudGg7XG4gICAgICAgIGxvZGFzaC5ub0NvbmZsaWN0ID0gbm9Db25mbGljdDtcbiAgICAgICAgbG9kYXNoLm5vb3AgPSBub29wO1xuICAgICAgICBsb2Rhc2gubm93ID0gbm93O1xuICAgICAgICBsb2Rhc2gucGFkID0gcGFkO1xuICAgICAgICBsb2Rhc2gucGFkRW5kID0gcGFkRW5kO1xuICAgICAgICBsb2Rhc2gucGFkU3RhcnQgPSBwYWRTdGFydDtcbiAgICAgICAgbG9kYXNoLnBhcnNlSW50ID0gcGFyc2VJbnQyO1xuICAgICAgICBsb2Rhc2gucmFuZG9tID0gcmFuZG9tO1xuICAgICAgICBsb2Rhc2gucmVkdWNlID0gcmVkdWNlO1xuICAgICAgICBsb2Rhc2gucmVkdWNlUmlnaHQgPSByZWR1Y2VSaWdodDtcbiAgICAgICAgbG9kYXNoLnJlcGVhdCA9IHJlcGVhdDtcbiAgICAgICAgbG9kYXNoLnJlcGxhY2UgPSByZXBsYWNlO1xuICAgICAgICBsb2Rhc2gucmVzdWx0ID0gcmVzdWx0O1xuICAgICAgICBsb2Rhc2gucm91bmQgPSByb3VuZDtcbiAgICAgICAgbG9kYXNoLnJ1bkluQ29udGV4dCA9IHJ1bkluQ29udGV4dDI7XG4gICAgICAgIGxvZGFzaC5zYW1wbGUgPSBzYW1wbGU7XG4gICAgICAgIGxvZGFzaC5zaXplID0gc2l6ZTtcbiAgICAgICAgbG9kYXNoLnNuYWtlQ2FzZSA9IHNuYWtlQ2FzZTtcbiAgICAgICAgbG9kYXNoLnNvbWUgPSBzb21lO1xuICAgICAgICBsb2Rhc2guc29ydGVkSW5kZXggPSBzb3J0ZWRJbmRleDtcbiAgICAgICAgbG9kYXNoLnNvcnRlZEluZGV4QnkgPSBzb3J0ZWRJbmRleEJ5O1xuICAgICAgICBsb2Rhc2guc29ydGVkSW5kZXhPZiA9IHNvcnRlZEluZGV4T2Y7XG4gICAgICAgIGxvZGFzaC5zb3J0ZWRMYXN0SW5kZXggPSBzb3J0ZWRMYXN0SW5kZXg7XG4gICAgICAgIGxvZGFzaC5zb3J0ZWRMYXN0SW5kZXhCeSA9IHNvcnRlZExhc3RJbmRleEJ5O1xuICAgICAgICBsb2Rhc2guc29ydGVkTGFzdEluZGV4T2YgPSBzb3J0ZWRMYXN0SW5kZXhPZjtcbiAgICAgICAgbG9kYXNoLnN0YXJ0Q2FzZSA9IHN0YXJ0Q2FzZTtcbiAgICAgICAgbG9kYXNoLnN0YXJ0c1dpdGggPSBzdGFydHNXaXRoO1xuICAgICAgICBsb2Rhc2guc3VidHJhY3QgPSBzdWJ0cmFjdDtcbiAgICAgICAgbG9kYXNoLnN1bSA9IHN1bTtcbiAgICAgICAgbG9kYXNoLnN1bUJ5ID0gc3VtQnk7XG4gICAgICAgIGxvZGFzaC50ZW1wbGF0ZSA9IHRlbXBsYXRlO1xuICAgICAgICBsb2Rhc2gudGltZXMgPSB0aW1lcztcbiAgICAgICAgbG9kYXNoLnRvRmluaXRlID0gdG9GaW5pdGU7XG4gICAgICAgIGxvZGFzaC50b0ludGVnZXIgPSB0b0ludGVnZXI7XG4gICAgICAgIGxvZGFzaC50b0xlbmd0aCA9IHRvTGVuZ3RoO1xuICAgICAgICBsb2Rhc2gudG9Mb3dlciA9IHRvTG93ZXI7XG4gICAgICAgIGxvZGFzaC50b051bWJlciA9IHRvTnVtYmVyO1xuICAgICAgICBsb2Rhc2gudG9TYWZlSW50ZWdlciA9IHRvU2FmZUludGVnZXI7XG4gICAgICAgIGxvZGFzaC50b1N0cmluZyA9IHRvU3RyaW5nO1xuICAgICAgICBsb2Rhc2gudG9VcHBlciA9IHRvVXBwZXI7XG4gICAgICAgIGxvZGFzaC50cmltID0gdHJpbTtcbiAgICAgICAgbG9kYXNoLnRyaW1FbmQgPSB0cmltRW5kO1xuICAgICAgICBsb2Rhc2gudHJpbVN0YXJ0ID0gdHJpbVN0YXJ0O1xuICAgICAgICBsb2Rhc2gudHJ1bmNhdGUgPSB0cnVuY2F0ZTtcbiAgICAgICAgbG9kYXNoLnVuZXNjYXBlID0gdW5lc2NhcGUyO1xuICAgICAgICBsb2Rhc2gudW5pcXVlSWQgPSB1bmlxdWVJZDtcbiAgICAgICAgbG9kYXNoLnVwcGVyQ2FzZSA9IHVwcGVyQ2FzZTtcbiAgICAgICAgbG9kYXNoLnVwcGVyRmlyc3QgPSB1cHBlckZpcnN0O1xuICAgICAgICBsb2Rhc2guZWFjaCA9IGZvckVhY2g7XG4gICAgICAgIGxvZGFzaC5lYWNoUmlnaHQgPSBmb3JFYWNoUmlnaHQ7XG4gICAgICAgIGxvZGFzaC5maXJzdCA9IGhlYWQ7XG4gICAgICAgIG1peGluKGxvZGFzaCwgZnVuY3Rpb24oKSB7XG4gICAgICAgICAgdmFyIHNvdXJjZSA9IHt9O1xuICAgICAgICAgIGJhc2VGb3JPd24obG9kYXNoLCBmdW5jdGlvbihmdW5jLCBtZXRob2ROYW1lKSB7XG4gICAgICAgICAgICBpZiAoIWhhc093blByb3BlcnR5LmNhbGwobG9kYXNoLnByb3RvdHlwZSwgbWV0aG9kTmFtZSkpIHtcbiAgICAgICAgICAgICAgc291cmNlW21ldGhvZE5hbWVdID0gZnVuYztcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9KTtcbiAgICAgICAgICByZXR1cm4gc291cmNlO1xuICAgICAgICB9KCksIHsgXCJjaGFpblwiOiBmYWxzZSB9KTtcbiAgICAgICAgbG9kYXNoLlZFUlNJT04gPSBWRVJTSU9OO1xuICAgICAgICBhcnJheUVhY2goW1wiYmluZFwiLCBcImJpbmRLZXlcIiwgXCJjdXJyeVwiLCBcImN1cnJ5UmlnaHRcIiwgXCJwYXJ0aWFsXCIsIFwicGFydGlhbFJpZ2h0XCJdLCBmdW5jdGlvbihtZXRob2ROYW1lKSB7XG4gICAgICAgICAgbG9kYXNoW21ldGhvZE5hbWVdLnBsYWNlaG9sZGVyID0gbG9kYXNoO1xuICAgICAgICB9KTtcbiAgICAgICAgYXJyYXlFYWNoKFtcImRyb3BcIiwgXCJ0YWtlXCJdLCBmdW5jdGlvbihtZXRob2ROYW1lLCBpbmRleCkge1xuICAgICAgICAgIExhenlXcmFwcGVyLnByb3RvdHlwZVttZXRob2ROYW1lXSA9IGZ1bmN0aW9uKG4pIHtcbiAgICAgICAgICAgIG4gPSBuID09PSB1bmRlZmluZWQyID8gMSA6IG5hdGl2ZU1heCh0b0ludGVnZXIobiksIDApO1xuICAgICAgICAgICAgdmFyIHJlc3VsdDIgPSB0aGlzLl9fZmlsdGVyZWRfXyAmJiAhaW5kZXggPyBuZXcgTGF6eVdyYXBwZXIodGhpcykgOiB0aGlzLmNsb25lKCk7XG4gICAgICAgICAgICBpZiAocmVzdWx0Mi5fX2ZpbHRlcmVkX18pIHtcbiAgICAgICAgICAgICAgcmVzdWx0Mi5fX3Rha2VDb3VudF9fID0gbmF0aXZlTWluKG4sIHJlc3VsdDIuX190YWtlQ291bnRfXyk7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICByZXN1bHQyLl9fdmlld3NfXy5wdXNoKHtcbiAgICAgICAgICAgICAgICBcInNpemVcIjogbmF0aXZlTWluKG4sIE1BWF9BUlJBWV9MRU5HVEgpLFxuICAgICAgICAgICAgICAgIFwidHlwZVwiOiBtZXRob2ROYW1lICsgKHJlc3VsdDIuX19kaXJfXyA8IDAgPyBcIlJpZ2h0XCIgOiBcIlwiKVxuICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVybiByZXN1bHQyO1xuICAgICAgICAgIH07XG4gICAgICAgICAgTGF6eVdyYXBwZXIucHJvdG90eXBlW21ldGhvZE5hbWUgKyBcIlJpZ2h0XCJdID0gZnVuY3Rpb24obikge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMucmV2ZXJzZSgpW21ldGhvZE5hbWVdKG4pLnJldmVyc2UoKTtcbiAgICAgICAgICB9O1xuICAgICAgICB9KTtcbiAgICAgICAgYXJyYXlFYWNoKFtcImZpbHRlclwiLCBcIm1hcFwiLCBcInRha2VXaGlsZVwiXSwgZnVuY3Rpb24obWV0aG9kTmFtZSwgaW5kZXgpIHtcbiAgICAgICAgICB2YXIgdHlwZSA9IGluZGV4ICsgMSwgaXNGaWx0ZXIgPSB0eXBlID09IExBWllfRklMVEVSX0ZMQUcgfHwgdHlwZSA9PSBMQVpZX1dISUxFX0ZMQUc7XG4gICAgICAgICAgTGF6eVdyYXBwZXIucHJvdG90eXBlW21ldGhvZE5hbWVdID0gZnVuY3Rpb24oaXRlcmF0ZWUyKSB7XG4gICAgICAgICAgICB2YXIgcmVzdWx0MiA9IHRoaXMuY2xvbmUoKTtcbiAgICAgICAgICAgIHJlc3VsdDIuX19pdGVyYXRlZXNfXy5wdXNoKHtcbiAgICAgICAgICAgICAgXCJpdGVyYXRlZVwiOiBnZXRJdGVyYXRlZShpdGVyYXRlZTIsIDMpLFxuICAgICAgICAgICAgICBcInR5cGVcIjogdHlwZVxuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICByZXN1bHQyLl9fZmlsdGVyZWRfXyA9IHJlc3VsdDIuX19maWx0ZXJlZF9fIHx8IGlzRmlsdGVyO1xuICAgICAgICAgICAgcmV0dXJuIHJlc3VsdDI7XG4gICAgICAgICAgfTtcbiAgICAgICAgfSk7XG4gICAgICAgIGFycmF5RWFjaChbXCJoZWFkXCIsIFwibGFzdFwiXSwgZnVuY3Rpb24obWV0aG9kTmFtZSwgaW5kZXgpIHtcbiAgICAgICAgICB2YXIgdGFrZU5hbWUgPSBcInRha2VcIiArIChpbmRleCA/IFwiUmlnaHRcIiA6IFwiXCIpO1xuICAgICAgICAgIExhenlXcmFwcGVyLnByb3RvdHlwZVttZXRob2ROYW1lXSA9IGZ1bmN0aW9uKCkge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXNbdGFrZU5hbWVdKDEpLnZhbHVlKClbMF07XG4gICAgICAgICAgfTtcbiAgICAgICAgfSk7XG4gICAgICAgIGFycmF5RWFjaChbXCJpbml0aWFsXCIsIFwidGFpbFwiXSwgZnVuY3Rpb24obWV0aG9kTmFtZSwgaW5kZXgpIHtcbiAgICAgICAgICB2YXIgZHJvcE5hbWUgPSBcImRyb3BcIiArIChpbmRleCA/IFwiXCIgOiBcIlJpZ2h0XCIpO1xuICAgICAgICAgIExhenlXcmFwcGVyLnByb3RvdHlwZVttZXRob2ROYW1lXSA9IGZ1bmN0aW9uKCkge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMuX19maWx0ZXJlZF9fID8gbmV3IExhenlXcmFwcGVyKHRoaXMpIDogdGhpc1tkcm9wTmFtZV0oMSk7XG4gICAgICAgICAgfTtcbiAgICAgICAgfSk7XG4gICAgICAgIExhenlXcmFwcGVyLnByb3RvdHlwZS5jb21wYWN0ID0gZnVuY3Rpb24oKSB7XG4gICAgICAgICAgcmV0dXJuIHRoaXMuZmlsdGVyKGlkZW50aXR5KTtcbiAgICAgICAgfTtcbiAgICAgICAgTGF6eVdyYXBwZXIucHJvdG90eXBlLmZpbmQgPSBmdW5jdGlvbihwcmVkaWNhdGUpIHtcbiAgICAgICAgICByZXR1cm4gdGhpcy5maWx0ZXIocHJlZGljYXRlKS5oZWFkKCk7XG4gICAgICAgIH07XG4gICAgICAgIExhenlXcmFwcGVyLnByb3RvdHlwZS5maW5kTGFzdCA9IGZ1bmN0aW9uKHByZWRpY2F0ZSkge1xuICAgICAgICAgIHJldHVybiB0aGlzLnJldmVyc2UoKS5maW5kKHByZWRpY2F0ZSk7XG4gICAgICAgIH07XG4gICAgICAgIExhenlXcmFwcGVyLnByb3RvdHlwZS5pbnZva2VNYXAgPSBiYXNlUmVzdChmdW5jdGlvbihwYXRoLCBhcmdzKSB7XG4gICAgICAgICAgaWYgKHR5cGVvZiBwYXRoID09IFwiZnVuY3Rpb25cIikge1xuICAgICAgICAgICAgcmV0dXJuIG5ldyBMYXp5V3JhcHBlcih0aGlzKTtcbiAgICAgICAgICB9XG4gICAgICAgICAgcmV0dXJuIHRoaXMubWFwKGZ1bmN0aW9uKHZhbHVlKSB7XG4gICAgICAgICAgICByZXR1cm4gYmFzZUludm9rZSh2YWx1ZSwgcGF0aCwgYXJncyk7XG4gICAgICAgICAgfSk7XG4gICAgICAgIH0pO1xuICAgICAgICBMYXp5V3JhcHBlci5wcm90b3R5cGUucmVqZWN0ID0gZnVuY3Rpb24ocHJlZGljYXRlKSB7XG4gICAgICAgICAgcmV0dXJuIHRoaXMuZmlsdGVyKG5lZ2F0ZShnZXRJdGVyYXRlZShwcmVkaWNhdGUpKSk7XG4gICAgICAgIH07XG4gICAgICAgIExhenlXcmFwcGVyLnByb3RvdHlwZS5zbGljZSA9IGZ1bmN0aW9uKHN0YXJ0LCBlbmQpIHtcbiAgICAgICAgICBzdGFydCA9IHRvSW50ZWdlcihzdGFydCk7XG4gICAgICAgICAgdmFyIHJlc3VsdDIgPSB0aGlzO1xuICAgICAgICAgIGlmIChyZXN1bHQyLl9fZmlsdGVyZWRfXyAmJiAoc3RhcnQgPiAwIHx8IGVuZCA8IDApKSB7XG4gICAgICAgICAgICByZXR1cm4gbmV3IExhenlXcmFwcGVyKHJlc3VsdDIpO1xuICAgICAgICAgIH1cbiAgICAgICAgICBpZiAoc3RhcnQgPCAwKSB7XG4gICAgICAgICAgICByZXN1bHQyID0gcmVzdWx0Mi50YWtlUmlnaHQoLXN0YXJ0KTtcbiAgICAgICAgICB9IGVsc2UgaWYgKHN0YXJ0KSB7XG4gICAgICAgICAgICByZXN1bHQyID0gcmVzdWx0Mi5kcm9wKHN0YXJ0KTtcbiAgICAgICAgICB9XG4gICAgICAgICAgaWYgKGVuZCAhPT0gdW5kZWZpbmVkMikge1xuICAgICAgICAgICAgZW5kID0gdG9JbnRlZ2VyKGVuZCk7XG4gICAgICAgICAgICByZXN1bHQyID0gZW5kIDwgMCA/IHJlc3VsdDIuZHJvcFJpZ2h0KC1lbmQpIDogcmVzdWx0Mi50YWtlKGVuZCAtIHN0YXJ0KTtcbiAgICAgICAgICB9XG4gICAgICAgICAgcmV0dXJuIHJlc3VsdDI7XG4gICAgICAgIH07XG4gICAgICAgIExhenlXcmFwcGVyLnByb3RvdHlwZS50YWtlUmlnaHRXaGlsZSA9IGZ1bmN0aW9uKHByZWRpY2F0ZSkge1xuICAgICAgICAgIHJldHVybiB0aGlzLnJldmVyc2UoKS50YWtlV2hpbGUocHJlZGljYXRlKS5yZXZlcnNlKCk7XG4gICAgICAgIH07XG4gICAgICAgIExhenlXcmFwcGVyLnByb3RvdHlwZS50b0FycmF5ID0gZnVuY3Rpb24oKSB7XG4gICAgICAgICAgcmV0dXJuIHRoaXMudGFrZShNQVhfQVJSQVlfTEVOR1RIKTtcbiAgICAgICAgfTtcbiAgICAgICAgYmFzZUZvck93bihMYXp5V3JhcHBlci5wcm90b3R5cGUsIGZ1bmN0aW9uKGZ1bmMsIG1ldGhvZE5hbWUpIHtcbiAgICAgICAgICB2YXIgY2hlY2tJdGVyYXRlZSA9IC9eKD86ZmlsdGVyfGZpbmR8bWFwfHJlamVjdCl8V2hpbGUkLy50ZXN0KG1ldGhvZE5hbWUpLCBpc1Rha2VyID0gL14oPzpoZWFkfGxhc3QpJC8udGVzdChtZXRob2ROYW1lKSwgbG9kYXNoRnVuYyA9IGxvZGFzaFtpc1Rha2VyID8gXCJ0YWtlXCIgKyAobWV0aG9kTmFtZSA9PSBcImxhc3RcIiA/IFwiUmlnaHRcIiA6IFwiXCIpIDogbWV0aG9kTmFtZV0sIHJldFVud3JhcHBlZCA9IGlzVGFrZXIgfHwgL15maW5kLy50ZXN0KG1ldGhvZE5hbWUpO1xuICAgICAgICAgIGlmICghbG9kYXNoRnVuYykge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgIH1cbiAgICAgICAgICBsb2Rhc2gucHJvdG90eXBlW21ldGhvZE5hbWVdID0gZnVuY3Rpb24oKSB7XG4gICAgICAgICAgICB2YXIgdmFsdWUgPSB0aGlzLl9fd3JhcHBlZF9fLCBhcmdzID0gaXNUYWtlciA/IFsxXSA6IGFyZ3VtZW50cywgaXNMYXp5ID0gdmFsdWUgaW5zdGFuY2VvZiBMYXp5V3JhcHBlciwgaXRlcmF0ZWUyID0gYXJnc1swXSwgdXNlTGF6eSA9IGlzTGF6eSB8fCBpc0FycmF5KHZhbHVlKTtcbiAgICAgICAgICAgIHZhciBpbnRlcmNlcHRvciA9IGZ1bmN0aW9uKHZhbHVlMikge1xuICAgICAgICAgICAgICB2YXIgcmVzdWx0MyA9IGxvZGFzaEZ1bmMuYXBwbHkobG9kYXNoLCBhcnJheVB1c2goW3ZhbHVlMl0sIGFyZ3MpKTtcbiAgICAgICAgICAgICAgcmV0dXJuIGlzVGFrZXIgJiYgY2hhaW5BbGwgPyByZXN1bHQzWzBdIDogcmVzdWx0MztcbiAgICAgICAgICAgIH07XG4gICAgICAgICAgICBpZiAodXNlTGF6eSAmJiBjaGVja0l0ZXJhdGVlICYmIHR5cGVvZiBpdGVyYXRlZTIgPT0gXCJmdW5jdGlvblwiICYmIGl0ZXJhdGVlMi5sZW5ndGggIT0gMSkge1xuICAgICAgICAgICAgICBpc0xhenkgPSB1c2VMYXp5ID0gZmFsc2U7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICB2YXIgY2hhaW5BbGwgPSB0aGlzLl9fY2hhaW5fXywgaXNIeWJyaWQgPSAhIXRoaXMuX19hY3Rpb25zX18ubGVuZ3RoLCBpc1Vud3JhcHBlZCA9IHJldFVud3JhcHBlZCAmJiAhY2hhaW5BbGwsIG9ubHlMYXp5ID0gaXNMYXp5ICYmICFpc0h5YnJpZDtcbiAgICAgICAgICAgIGlmICghcmV0VW53cmFwcGVkICYmIHVzZUxhenkpIHtcbiAgICAgICAgICAgICAgdmFsdWUgPSBvbmx5TGF6eSA/IHZhbHVlIDogbmV3IExhenlXcmFwcGVyKHRoaXMpO1xuICAgICAgICAgICAgICB2YXIgcmVzdWx0MiA9IGZ1bmMuYXBwbHkodmFsdWUsIGFyZ3MpO1xuICAgICAgICAgICAgICByZXN1bHQyLl9fYWN0aW9uc19fLnB1c2goeyBcImZ1bmNcIjogdGhydSwgXCJhcmdzXCI6IFtpbnRlcmNlcHRvcl0sIFwidGhpc0FyZ1wiOiB1bmRlZmluZWQyIH0pO1xuICAgICAgICAgICAgICByZXR1cm4gbmV3IExvZGFzaFdyYXBwZXIocmVzdWx0MiwgY2hhaW5BbGwpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKGlzVW53cmFwcGVkICYmIG9ubHlMYXp5KSB7XG4gICAgICAgICAgICAgIHJldHVybiBmdW5jLmFwcGx5KHRoaXMsIGFyZ3MpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmVzdWx0MiA9IHRoaXMudGhydShpbnRlcmNlcHRvcik7XG4gICAgICAgICAgICByZXR1cm4gaXNVbndyYXBwZWQgPyBpc1Rha2VyID8gcmVzdWx0Mi52YWx1ZSgpWzBdIDogcmVzdWx0Mi52YWx1ZSgpIDogcmVzdWx0MjtcbiAgICAgICAgICB9O1xuICAgICAgICB9KTtcbiAgICAgICAgYXJyYXlFYWNoKFtcInBvcFwiLCBcInB1c2hcIiwgXCJzaGlmdFwiLCBcInNvcnRcIiwgXCJzcGxpY2VcIiwgXCJ1bnNoaWZ0XCJdLCBmdW5jdGlvbihtZXRob2ROYW1lKSB7XG4gICAgICAgICAgdmFyIGZ1bmMgPSBhcnJheVByb3RvW21ldGhvZE5hbWVdLCBjaGFpbk5hbWUgPSAvXig/OnB1c2h8c29ydHx1bnNoaWZ0KSQvLnRlc3QobWV0aG9kTmFtZSkgPyBcInRhcFwiIDogXCJ0aHJ1XCIsIHJldFVud3JhcHBlZCA9IC9eKD86cG9wfHNoaWZ0KSQvLnRlc3QobWV0aG9kTmFtZSk7XG4gICAgICAgICAgbG9kYXNoLnByb3RvdHlwZVttZXRob2ROYW1lXSA9IGZ1bmN0aW9uKCkge1xuICAgICAgICAgICAgdmFyIGFyZ3MgPSBhcmd1bWVudHM7XG4gICAgICAgICAgICBpZiAocmV0VW53cmFwcGVkICYmICF0aGlzLl9fY2hhaW5fXykge1xuICAgICAgICAgICAgICB2YXIgdmFsdWUgPSB0aGlzLnZhbHVlKCk7XG4gICAgICAgICAgICAgIHJldHVybiBmdW5jLmFwcGx5KGlzQXJyYXkodmFsdWUpID8gdmFsdWUgOiBbXSwgYXJncyk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXR1cm4gdGhpc1tjaGFpbk5hbWVdKGZ1bmN0aW9uKHZhbHVlMikge1xuICAgICAgICAgICAgICByZXR1cm4gZnVuYy5hcHBseShpc0FycmF5KHZhbHVlMikgPyB2YWx1ZTIgOiBbXSwgYXJncyk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICB9O1xuICAgICAgICB9KTtcbiAgICAgICAgYmFzZUZvck93bihMYXp5V3JhcHBlci5wcm90b3R5cGUsIGZ1bmN0aW9uKGZ1bmMsIG1ldGhvZE5hbWUpIHtcbiAgICAgICAgICB2YXIgbG9kYXNoRnVuYyA9IGxvZGFzaFttZXRob2ROYW1lXTtcbiAgICAgICAgICBpZiAobG9kYXNoRnVuYykge1xuICAgICAgICAgICAgdmFyIGtleSA9IGxvZGFzaEZ1bmMubmFtZSArIFwiXCI7XG4gICAgICAgICAgICBpZiAoIWhhc093blByb3BlcnR5LmNhbGwocmVhbE5hbWVzLCBrZXkpKSB7XG4gICAgICAgICAgICAgIHJlYWxOYW1lc1trZXldID0gW107XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZWFsTmFtZXNba2V5XS5wdXNoKHsgXCJuYW1lXCI6IG1ldGhvZE5hbWUsIFwiZnVuY1wiOiBsb2Rhc2hGdW5jIH0pO1xuICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgICAgIHJlYWxOYW1lc1tjcmVhdGVIeWJyaWQodW5kZWZpbmVkMiwgV1JBUF9CSU5EX0tFWV9GTEFHKS5uYW1lXSA9IFt7XG4gICAgICAgICAgXCJuYW1lXCI6IFwid3JhcHBlclwiLFxuICAgICAgICAgIFwiZnVuY1wiOiB1bmRlZmluZWQyXG4gICAgICAgIH1dO1xuICAgICAgICBMYXp5V3JhcHBlci5wcm90b3R5cGUuY2xvbmUgPSBsYXp5Q2xvbmU7XG4gICAgICAgIExhenlXcmFwcGVyLnByb3RvdHlwZS5yZXZlcnNlID0gbGF6eVJldmVyc2U7XG4gICAgICAgIExhenlXcmFwcGVyLnByb3RvdHlwZS52YWx1ZSA9IGxhenlWYWx1ZTtcbiAgICAgICAgbG9kYXNoLnByb3RvdHlwZS5hdCA9IHdyYXBwZXJBdDtcbiAgICAgICAgbG9kYXNoLnByb3RvdHlwZS5jaGFpbiA9IHdyYXBwZXJDaGFpbjtcbiAgICAgICAgbG9kYXNoLnByb3RvdHlwZS5jb21taXQgPSB3cmFwcGVyQ29tbWl0O1xuICAgICAgICBsb2Rhc2gucHJvdG90eXBlLm5leHQgPSB3cmFwcGVyTmV4dDtcbiAgICAgICAgbG9kYXNoLnByb3RvdHlwZS5wbGFudCA9IHdyYXBwZXJQbGFudDtcbiAgICAgICAgbG9kYXNoLnByb3RvdHlwZS5yZXZlcnNlID0gd3JhcHBlclJldmVyc2U7XG4gICAgICAgIGxvZGFzaC5wcm90b3R5cGUudG9KU09OID0gbG9kYXNoLnByb3RvdHlwZS52YWx1ZU9mID0gbG9kYXNoLnByb3RvdHlwZS52YWx1ZSA9IHdyYXBwZXJWYWx1ZTtcbiAgICAgICAgbG9kYXNoLnByb3RvdHlwZS5maXJzdCA9IGxvZGFzaC5wcm90b3R5cGUuaGVhZDtcbiAgICAgICAgaWYgKHN5bUl0ZXJhdG9yKSB7XG4gICAgICAgICAgbG9kYXNoLnByb3RvdHlwZVtzeW1JdGVyYXRvcl0gPSB3cmFwcGVyVG9JdGVyYXRvcjtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gbG9kYXNoO1xuICAgICAgfTtcbiAgICAgIHZhciBfMiA9IHJ1bkluQ29udGV4dCgpO1xuICAgICAgaWYgKHR5cGVvZiBkZWZpbmUgPT0gXCJmdW5jdGlvblwiICYmIHR5cGVvZiBkZWZpbmUuYW1kID09IFwib2JqZWN0XCIgJiYgZGVmaW5lLmFtZCkge1xuICAgICAgICByb290Ll8gPSBfMjtcbiAgICAgICAgZGVmaW5lKGZ1bmN0aW9uKCkge1xuICAgICAgICAgIHJldHVybiBfMjtcbiAgICAgICAgfSk7XG4gICAgICB9IGVsc2UgaWYgKGZyZWVNb2R1bGUpIHtcbiAgICAgICAgKGZyZWVNb2R1bGUuZXhwb3J0cyA9IF8yKS5fID0gXzI7XG4gICAgICAgIGZyZWVFeHBvcnRzLl8gPSBfMjtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHJvb3QuXyA9IF8yO1xuICAgICAgfVxuICAgIH0pLmNhbGwoZXhwb3J0czIpO1xuICB9XG59KTtcblxuLy8gbm9kZV9tb2R1bGVzL2NvbG9yLW5hbWUvaW5kZXguanNcbnZhciByZXF1aXJlX2NvbG9yX25hbWUgPSBfX2NvbW1vbkpTKHtcbiAgXCJub2RlX21vZHVsZXMvY29sb3ItbmFtZS9pbmRleC5qc1wiKGV4cG9ydHMyLCBtb2R1bGUyKSB7XG4gICAgXCJ1c2Ugc3RyaWN0XCI7XG4gICAgbW9kdWxlMi5leHBvcnRzID0ge1xuICAgICAgXCJhbGljZWJsdWVcIjogWzI0MCwgMjQ4LCAyNTVdLFxuICAgICAgXCJhbnRpcXVld2hpdGVcIjogWzI1MCwgMjM1LCAyMTVdLFxuICAgICAgXCJhcXVhXCI6IFswLCAyNTUsIDI1NV0sXG4gICAgICBcImFxdWFtYXJpbmVcIjogWzEyNywgMjU1LCAyMTJdLFxuICAgICAgXCJhenVyZVwiOiBbMjQwLCAyNTUsIDI1NV0sXG4gICAgICBcImJlaWdlXCI6IFsyNDUsIDI0NSwgMjIwXSxcbiAgICAgIFwiYmlzcXVlXCI6IFsyNTUsIDIyOCwgMTk2XSxcbiAgICAgIFwiYmxhY2tcIjogWzAsIDAsIDBdLFxuICAgICAgXCJibGFuY2hlZGFsbW9uZFwiOiBbMjU1LCAyMzUsIDIwNV0sXG4gICAgICBcImJsdWVcIjogWzAsIDAsIDI1NV0sXG4gICAgICBcImJsdWV2aW9sZXRcIjogWzEzOCwgNDMsIDIyNl0sXG4gICAgICBcImJyb3duXCI6IFsxNjUsIDQyLCA0Ml0sXG4gICAgICBcImJ1cmx5d29vZFwiOiBbMjIyLCAxODQsIDEzNV0sXG4gICAgICBcImNhZGV0Ymx1ZVwiOiBbOTUsIDE1OCwgMTYwXSxcbiAgICAgIFwiY2hhcnRyZXVzZVwiOiBbMTI3LCAyNTUsIDBdLFxuICAgICAgXCJjaG9jb2xhdGVcIjogWzIxMCwgMTA1LCAzMF0sXG4gICAgICBcImNvcmFsXCI6IFsyNTUsIDEyNywgODBdLFxuICAgICAgXCJjb3JuZmxvd2VyYmx1ZVwiOiBbMTAwLCAxNDksIDIzN10sXG4gICAgICBcImNvcm5zaWxrXCI6IFsyNTUsIDI0OCwgMjIwXSxcbiAgICAgIFwiY3JpbXNvblwiOiBbMjIwLCAyMCwgNjBdLFxuICAgICAgXCJjeWFuXCI6IFswLCAyNTUsIDI1NV0sXG4gICAgICBcImRhcmtibHVlXCI6IFswLCAwLCAxMzldLFxuICAgICAgXCJkYXJrY3lhblwiOiBbMCwgMTM5LCAxMzldLFxuICAgICAgXCJkYXJrZ29sZGVucm9kXCI6IFsxODQsIDEzNCwgMTFdLFxuICAgICAgXCJkYXJrZ3JheVwiOiBbMTY5LCAxNjksIDE2OV0sXG4gICAgICBcImRhcmtncmVlblwiOiBbMCwgMTAwLCAwXSxcbiAgICAgIFwiZGFya2dyZXlcIjogWzE2OSwgMTY5LCAxNjldLFxuICAgICAgXCJkYXJra2hha2lcIjogWzE4OSwgMTgzLCAxMDddLFxuICAgICAgXCJkYXJrbWFnZW50YVwiOiBbMTM5LCAwLCAxMzldLFxuICAgICAgXCJkYXJrb2xpdmVncmVlblwiOiBbODUsIDEwNywgNDddLFxuICAgICAgXCJkYXJrb3JhbmdlXCI6IFsyNTUsIDE0MCwgMF0sXG4gICAgICBcImRhcmtvcmNoaWRcIjogWzE1MywgNTAsIDIwNF0sXG4gICAgICBcImRhcmtyZWRcIjogWzEzOSwgMCwgMF0sXG4gICAgICBcImRhcmtzYWxtb25cIjogWzIzMywgMTUwLCAxMjJdLFxuICAgICAgXCJkYXJrc2VhZ3JlZW5cIjogWzE0MywgMTg4LCAxNDNdLFxuICAgICAgXCJkYXJrc2xhdGVibHVlXCI6IFs3MiwgNjEsIDEzOV0sXG4gICAgICBcImRhcmtzbGF0ZWdyYXlcIjogWzQ3LCA3OSwgNzldLFxuICAgICAgXCJkYXJrc2xhdGVncmV5XCI6IFs0NywgNzksIDc5XSxcbiAgICAgIFwiZGFya3R1cnF1b2lzZVwiOiBbMCwgMjA2LCAyMDldLFxuICAgICAgXCJkYXJrdmlvbGV0XCI6IFsxNDgsIDAsIDIxMV0sXG4gICAgICBcImRlZXBwaW5rXCI6IFsyNTUsIDIwLCAxNDddLFxuICAgICAgXCJkZWVwc2t5Ymx1ZVwiOiBbMCwgMTkxLCAyNTVdLFxuICAgICAgXCJkaW1ncmF5XCI6IFsxMDUsIDEwNSwgMTA1XSxcbiAgICAgIFwiZGltZ3JleVwiOiBbMTA1LCAxMDUsIDEwNV0sXG4gICAgICBcImRvZGdlcmJsdWVcIjogWzMwLCAxNDQsIDI1NV0sXG4gICAgICBcImZpcmVicmlja1wiOiBbMTc4LCAzNCwgMzRdLFxuICAgICAgXCJmbG9yYWx3aGl0ZVwiOiBbMjU1LCAyNTAsIDI0MF0sXG4gICAgICBcImZvcmVzdGdyZWVuXCI6IFszNCwgMTM5LCAzNF0sXG4gICAgICBcImZ1Y2hzaWFcIjogWzI1NSwgMCwgMjU1XSxcbiAgICAgIFwiZ2FpbnNib3JvXCI6IFsyMjAsIDIyMCwgMjIwXSxcbiAgICAgIFwiZ2hvc3R3aGl0ZVwiOiBbMjQ4LCAyNDgsIDI1NV0sXG4gICAgICBcImdvbGRcIjogWzI1NSwgMjE1LCAwXSxcbiAgICAgIFwiZ29sZGVucm9kXCI6IFsyMTgsIDE2NSwgMzJdLFxuICAgICAgXCJncmF5XCI6IFsxMjgsIDEyOCwgMTI4XSxcbiAgICAgIFwiZ3JlZW5cIjogWzAsIDEyOCwgMF0sXG4gICAgICBcImdyZWVueWVsbG93XCI6IFsxNzMsIDI1NSwgNDddLFxuICAgICAgXCJncmV5XCI6IFsxMjgsIDEyOCwgMTI4XSxcbiAgICAgIFwiaG9uZXlkZXdcIjogWzI0MCwgMjU1LCAyNDBdLFxuICAgICAgXCJob3RwaW5rXCI6IFsyNTUsIDEwNSwgMTgwXSxcbiAgICAgIFwiaW5kaWFucmVkXCI6IFsyMDUsIDkyLCA5Ml0sXG4gICAgICBcImluZGlnb1wiOiBbNzUsIDAsIDEzMF0sXG4gICAgICBcIml2b3J5XCI6IFsyNTUsIDI1NSwgMjQwXSxcbiAgICAgIFwia2hha2lcIjogWzI0MCwgMjMwLCAxNDBdLFxuICAgICAgXCJsYXZlbmRlclwiOiBbMjMwLCAyMzAsIDI1MF0sXG4gICAgICBcImxhdmVuZGVyYmx1c2hcIjogWzI1NSwgMjQwLCAyNDVdLFxuICAgICAgXCJsYXduZ3JlZW5cIjogWzEyNCwgMjUyLCAwXSxcbiAgICAgIFwibGVtb25jaGlmZm9uXCI6IFsyNTUsIDI1MCwgMjA1XSxcbiAgICAgIFwibGlnaHRibHVlXCI6IFsxNzMsIDIxNiwgMjMwXSxcbiAgICAgIFwibGlnaHRjb3JhbFwiOiBbMjQwLCAxMjgsIDEyOF0sXG4gICAgICBcImxpZ2h0Y3lhblwiOiBbMjI0LCAyNTUsIDI1NV0sXG4gICAgICBcImxpZ2h0Z29sZGVucm9keWVsbG93XCI6IFsyNTAsIDI1MCwgMjEwXSxcbiAgICAgIFwibGlnaHRncmF5XCI6IFsyMTEsIDIxMSwgMjExXSxcbiAgICAgIFwibGlnaHRncmVlblwiOiBbMTQ0LCAyMzgsIDE0NF0sXG4gICAgICBcImxpZ2h0Z3JleVwiOiBbMjExLCAyMTEsIDIxMV0sXG4gICAgICBcImxpZ2h0cGlua1wiOiBbMjU1LCAxODIsIDE5M10sXG4gICAgICBcImxpZ2h0c2FsbW9uXCI6IFsyNTUsIDE2MCwgMTIyXSxcbiAgICAgIFwibGlnaHRzZWFncmVlblwiOiBbMzIsIDE3OCwgMTcwXSxcbiAgICAgIFwibGlnaHRza3libHVlXCI6IFsxMzUsIDIwNiwgMjUwXSxcbiAgICAgIFwibGlnaHRzbGF0ZWdyYXlcIjogWzExOSwgMTM2LCAxNTNdLFxuICAgICAgXCJsaWdodHNsYXRlZ3JleVwiOiBbMTE5LCAxMzYsIDE1M10sXG4gICAgICBcImxpZ2h0c3RlZWxibHVlXCI6IFsxNzYsIDE5NiwgMjIyXSxcbiAgICAgIFwibGlnaHR5ZWxsb3dcIjogWzI1NSwgMjU1LCAyMjRdLFxuICAgICAgXCJsaW1lXCI6IFswLCAyNTUsIDBdLFxuICAgICAgXCJsaW1lZ3JlZW5cIjogWzUwLCAyMDUsIDUwXSxcbiAgICAgIFwibGluZW5cIjogWzI1MCwgMjQwLCAyMzBdLFxuICAgICAgXCJtYWdlbnRhXCI6IFsyNTUsIDAsIDI1NV0sXG4gICAgICBcIm1hcm9vblwiOiBbMTI4LCAwLCAwXSxcbiAgICAgIFwibWVkaXVtYXF1YW1hcmluZVwiOiBbMTAyLCAyMDUsIDE3MF0sXG4gICAgICBcIm1lZGl1bWJsdWVcIjogWzAsIDAsIDIwNV0sXG4gICAgICBcIm1lZGl1bW9yY2hpZFwiOiBbMTg2LCA4NSwgMjExXSxcbiAgICAgIFwibWVkaXVtcHVycGxlXCI6IFsxNDcsIDExMiwgMjE5XSxcbiAgICAgIFwibWVkaXVtc2VhZ3JlZW5cIjogWzYwLCAxNzksIDExM10sXG4gICAgICBcIm1lZGl1bXNsYXRlYmx1ZVwiOiBbMTIzLCAxMDQsIDIzOF0sXG4gICAgICBcIm1lZGl1bXNwcmluZ2dyZWVuXCI6IFswLCAyNTAsIDE1NF0sXG4gICAgICBcIm1lZGl1bXR1cnF1b2lzZVwiOiBbNzIsIDIwOSwgMjA0XSxcbiAgICAgIFwibWVkaXVtdmlvbGV0cmVkXCI6IFsxOTksIDIxLCAxMzNdLFxuICAgICAgXCJtaWRuaWdodGJsdWVcIjogWzI1LCAyNSwgMTEyXSxcbiAgICAgIFwibWludGNyZWFtXCI6IFsyNDUsIDI1NSwgMjUwXSxcbiAgICAgIFwibWlzdHlyb3NlXCI6IFsyNTUsIDIyOCwgMjI1XSxcbiAgICAgIFwibW9jY2FzaW5cIjogWzI1NSwgMjI4LCAxODFdLFxuICAgICAgXCJuYXZham93aGl0ZVwiOiBbMjU1LCAyMjIsIDE3M10sXG4gICAgICBcIm5hdnlcIjogWzAsIDAsIDEyOF0sXG4gICAgICBcIm9sZGxhY2VcIjogWzI1MywgMjQ1LCAyMzBdLFxuICAgICAgXCJvbGl2ZVwiOiBbMTI4LCAxMjgsIDBdLFxuICAgICAgXCJvbGl2ZWRyYWJcIjogWzEwNywgMTQyLCAzNV0sXG4gICAgICBcIm9yYW5nZVwiOiBbMjU1LCAxNjUsIDBdLFxuICAgICAgXCJvcmFuZ2VyZWRcIjogWzI1NSwgNjksIDBdLFxuICAgICAgXCJvcmNoaWRcIjogWzIxOCwgMTEyLCAyMTRdLFxuICAgICAgXCJwYWxlZ29sZGVucm9kXCI6IFsyMzgsIDIzMiwgMTcwXSxcbiAgICAgIFwicGFsZWdyZWVuXCI6IFsxNTIsIDI1MSwgMTUyXSxcbiAgICAgIFwicGFsZXR1cnF1b2lzZVwiOiBbMTc1LCAyMzgsIDIzOF0sXG4gICAgICBcInBhbGV2aW9sZXRyZWRcIjogWzIxOSwgMTEyLCAxNDddLFxuICAgICAgXCJwYXBheWF3aGlwXCI6IFsyNTUsIDIzOSwgMjEzXSxcbiAgICAgIFwicGVhY2hwdWZmXCI6IFsyNTUsIDIxOCwgMTg1XSxcbiAgICAgIFwicGVydVwiOiBbMjA1LCAxMzMsIDYzXSxcbiAgICAgIFwicGlua1wiOiBbMjU1LCAxOTIsIDIwM10sXG4gICAgICBcInBsdW1cIjogWzIyMSwgMTYwLCAyMjFdLFxuICAgICAgXCJwb3dkZXJibHVlXCI6IFsxNzYsIDIyNCwgMjMwXSxcbiAgICAgIFwicHVycGxlXCI6IFsxMjgsIDAsIDEyOF0sXG4gICAgICBcInJlYmVjY2FwdXJwbGVcIjogWzEwMiwgNTEsIDE1M10sXG4gICAgICBcInJlZFwiOiBbMjU1LCAwLCAwXSxcbiAgICAgIFwicm9zeWJyb3duXCI6IFsxODgsIDE0MywgMTQzXSxcbiAgICAgIFwicm95YWxibHVlXCI6IFs2NSwgMTA1LCAyMjVdLFxuICAgICAgXCJzYWRkbGVicm93blwiOiBbMTM5LCA2OSwgMTldLFxuICAgICAgXCJzYWxtb25cIjogWzI1MCwgMTI4LCAxMTRdLFxuICAgICAgXCJzYW5keWJyb3duXCI6IFsyNDQsIDE2NCwgOTZdLFxuICAgICAgXCJzZWFncmVlblwiOiBbNDYsIDEzOSwgODddLFxuICAgICAgXCJzZWFzaGVsbFwiOiBbMjU1LCAyNDUsIDIzOF0sXG4gICAgICBcInNpZW5uYVwiOiBbMTYwLCA4MiwgNDVdLFxuICAgICAgXCJzaWx2ZXJcIjogWzE5MiwgMTkyLCAxOTJdLFxuICAgICAgXCJza3libHVlXCI6IFsxMzUsIDIwNiwgMjM1XSxcbiAgICAgIFwic2xhdGVibHVlXCI6IFsxMDYsIDkwLCAyMDVdLFxuICAgICAgXCJzbGF0ZWdyYXlcIjogWzExMiwgMTI4LCAxNDRdLFxuICAgICAgXCJzbGF0ZWdyZXlcIjogWzExMiwgMTI4LCAxNDRdLFxuICAgICAgXCJzbm93XCI6IFsyNTUsIDI1MCwgMjUwXSxcbiAgICAgIFwic3ByaW5nZ3JlZW5cIjogWzAsIDI1NSwgMTI3XSxcbiAgICAgIFwic3RlZWxibHVlXCI6IFs3MCwgMTMwLCAxODBdLFxuICAgICAgXCJ0YW5cIjogWzIxMCwgMTgwLCAxNDBdLFxuICAgICAgXCJ0ZWFsXCI6IFswLCAxMjgsIDEyOF0sXG4gICAgICBcInRoaXN0bGVcIjogWzIxNiwgMTkxLCAyMTZdLFxuICAgICAgXCJ0b21hdG9cIjogWzI1NSwgOTksIDcxXSxcbiAgICAgIFwidHVycXVvaXNlXCI6IFs2NCwgMjI0LCAyMDhdLFxuICAgICAgXCJ2aW9sZXRcIjogWzIzOCwgMTMwLCAyMzhdLFxuICAgICAgXCJ3aGVhdFwiOiBbMjQ1LCAyMjIsIDE3OV0sXG4gICAgICBcIndoaXRlXCI6IFsyNTUsIDI1NSwgMjU1XSxcbiAgICAgIFwid2hpdGVzbW9rZVwiOiBbMjQ1LCAyNDUsIDI0NV0sXG4gICAgICBcInllbGxvd1wiOiBbMjU1LCAyNTUsIDBdLFxuICAgICAgXCJ5ZWxsb3dncmVlblwiOiBbMTU0LCAyMDUsIDUwXVxuICAgIH07XG4gIH1cbn0pO1xuXG4vLyBub2RlX21vZHVsZXMvY29sb3ItY29udmVydC9jb252ZXJzaW9ucy5qc1xudmFyIHJlcXVpcmVfY29udmVyc2lvbnMgPSBfX2NvbW1vbkpTKHtcbiAgXCJub2RlX21vZHVsZXMvY29sb3ItY29udmVydC9jb252ZXJzaW9ucy5qc1wiKGV4cG9ydHMyLCBtb2R1bGUyKSB7XG4gICAgdmFyIGNzc0tleXdvcmRzID0gcmVxdWlyZV9jb2xvcl9uYW1lKCk7XG4gICAgdmFyIHJldmVyc2VLZXl3b3JkcyA9IHt9O1xuICAgIGZvciAoY29uc3Qga2V5IG9mIE9iamVjdC5rZXlzKGNzc0tleXdvcmRzKSkge1xuICAgICAgcmV2ZXJzZUtleXdvcmRzW2Nzc0tleXdvcmRzW2tleV1dID0ga2V5O1xuICAgIH1cbiAgICB2YXIgY29udmVydCA9IHtcbiAgICAgIHJnYjogeyBjaGFubmVsczogMywgbGFiZWxzOiBcInJnYlwiIH0sXG4gICAgICBoc2w6IHsgY2hhbm5lbHM6IDMsIGxhYmVsczogXCJoc2xcIiB9LFxuICAgICAgaHN2OiB7IGNoYW5uZWxzOiAzLCBsYWJlbHM6IFwiaHN2XCIgfSxcbiAgICAgIGh3YjogeyBjaGFubmVsczogMywgbGFiZWxzOiBcImh3YlwiIH0sXG4gICAgICBjbXlrOiB7IGNoYW5uZWxzOiA0LCBsYWJlbHM6IFwiY215a1wiIH0sXG4gICAgICB4eXo6IHsgY2hhbm5lbHM6IDMsIGxhYmVsczogXCJ4eXpcIiB9LFxuICAgICAgbGFiOiB7IGNoYW5uZWxzOiAzLCBsYWJlbHM6IFwibGFiXCIgfSxcbiAgICAgIGxjaDogeyBjaGFubmVsczogMywgbGFiZWxzOiBcImxjaFwiIH0sXG4gICAgICBoZXg6IHsgY2hhbm5lbHM6IDEsIGxhYmVsczogW1wiaGV4XCJdIH0sXG4gICAgICBrZXl3b3JkOiB7IGNoYW5uZWxzOiAxLCBsYWJlbHM6IFtcImtleXdvcmRcIl0gfSxcbiAgICAgIGFuc2kxNjogeyBjaGFubmVsczogMSwgbGFiZWxzOiBbXCJhbnNpMTZcIl0gfSxcbiAgICAgIGFuc2kyNTY6IHsgY2hhbm5lbHM6IDEsIGxhYmVsczogW1wiYW5zaTI1NlwiXSB9LFxuICAgICAgaGNnOiB7IGNoYW5uZWxzOiAzLCBsYWJlbHM6IFtcImhcIiwgXCJjXCIsIFwiZ1wiXSB9LFxuICAgICAgYXBwbGU6IHsgY2hhbm5lbHM6IDMsIGxhYmVsczogW1wicjE2XCIsIFwiZzE2XCIsIFwiYjE2XCJdIH0sXG4gICAgICBncmF5OiB7IGNoYW5uZWxzOiAxLCBsYWJlbHM6IFtcImdyYXlcIl0gfVxuICAgIH07XG4gICAgbW9kdWxlMi5leHBvcnRzID0gY29udmVydDtcbiAgICBmb3IgKGNvbnN0IG1vZGVsIG9mIE9iamVjdC5rZXlzKGNvbnZlcnQpKSB7XG4gICAgICBpZiAoIShcImNoYW5uZWxzXCIgaW4gY29udmVydFttb2RlbF0pKSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihcIm1pc3NpbmcgY2hhbm5lbHMgcHJvcGVydHk6IFwiICsgbW9kZWwpO1xuICAgICAgfVxuICAgICAgaWYgKCEoXCJsYWJlbHNcIiBpbiBjb252ZXJ0W21vZGVsXSkpIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKFwibWlzc2luZyBjaGFubmVsIGxhYmVscyBwcm9wZXJ0eTogXCIgKyBtb2RlbCk7XG4gICAgICB9XG4gICAgICBpZiAoY29udmVydFttb2RlbF0ubGFiZWxzLmxlbmd0aCAhPT0gY29udmVydFttb2RlbF0uY2hhbm5lbHMpIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKFwiY2hhbm5lbCBhbmQgbGFiZWwgY291bnRzIG1pc21hdGNoOiBcIiArIG1vZGVsKTtcbiAgICAgIH1cbiAgICAgIGNvbnN0IHsgY2hhbm5lbHMsIGxhYmVscyB9ID0gY29udmVydFttb2RlbF07XG4gICAgICBkZWxldGUgY29udmVydFttb2RlbF0uY2hhbm5lbHM7XG4gICAgICBkZWxldGUgY29udmVydFttb2RlbF0ubGFiZWxzO1xuICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGNvbnZlcnRbbW9kZWxdLCBcImNoYW5uZWxzXCIsIHsgdmFsdWU6IGNoYW5uZWxzIH0pO1xuICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGNvbnZlcnRbbW9kZWxdLCBcImxhYmVsc1wiLCB7IHZhbHVlOiBsYWJlbHMgfSk7XG4gICAgfVxuICAgIGNvbnZlcnQucmdiLmhzbCA9IGZ1bmN0aW9uKHJnYikge1xuICAgICAgY29uc3QgciA9IHJnYlswXSAvIDI1NTtcbiAgICAgIGNvbnN0IGcgPSByZ2JbMV0gLyAyNTU7XG4gICAgICBjb25zdCBiID0gcmdiWzJdIC8gMjU1O1xuICAgICAgY29uc3QgbWluID0gTWF0aC5taW4ociwgZywgYik7XG4gICAgICBjb25zdCBtYXggPSBNYXRoLm1heChyLCBnLCBiKTtcbiAgICAgIGNvbnN0IGRlbHRhID0gbWF4IC0gbWluO1xuICAgICAgbGV0IGg7XG4gICAgICBsZXQgcztcbiAgICAgIGlmIChtYXggPT09IG1pbikge1xuICAgICAgICBoID0gMDtcbiAgICAgIH0gZWxzZSBpZiAociA9PT0gbWF4KSB7XG4gICAgICAgIGggPSAoZyAtIGIpIC8gZGVsdGE7XG4gICAgICB9IGVsc2UgaWYgKGcgPT09IG1heCkge1xuICAgICAgICBoID0gMiArIChiIC0gcikgLyBkZWx0YTtcbiAgICAgIH0gZWxzZSBpZiAoYiA9PT0gbWF4KSB7XG4gICAgICAgIGggPSA0ICsgKHIgLSBnKSAvIGRlbHRhO1xuICAgICAgfVxuICAgICAgaCA9IE1hdGgubWluKGggKiA2MCwgMzYwKTtcbiAgICAgIGlmIChoIDwgMCkge1xuICAgICAgICBoICs9IDM2MDtcbiAgICAgIH1cbiAgICAgIGNvbnN0IGwgPSAobWluICsgbWF4KSAvIDI7XG4gICAgICBpZiAobWF4ID09PSBtaW4pIHtcbiAgICAgICAgcyA9IDA7XG4gICAgICB9IGVsc2UgaWYgKGwgPD0gMC41KSB7XG4gICAgICAgIHMgPSBkZWx0YSAvIChtYXggKyBtaW4pO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgcyA9IGRlbHRhIC8gKDIgLSBtYXggLSBtaW4pO1xuICAgICAgfVxuICAgICAgcmV0dXJuIFtoLCBzICogMTAwLCBsICogMTAwXTtcbiAgICB9O1xuICAgIGNvbnZlcnQucmdiLmhzdiA9IGZ1bmN0aW9uKHJnYikge1xuICAgICAgbGV0IHJkaWY7XG4gICAgICBsZXQgZ2RpZjtcbiAgICAgIGxldCBiZGlmO1xuICAgICAgbGV0IGg7XG4gICAgICBsZXQgcztcbiAgICAgIGNvbnN0IHIgPSByZ2JbMF0gLyAyNTU7XG4gICAgICBjb25zdCBnID0gcmdiWzFdIC8gMjU1O1xuICAgICAgY29uc3QgYiA9IHJnYlsyXSAvIDI1NTtcbiAgICAgIGNvbnN0IHYgPSBNYXRoLm1heChyLCBnLCBiKTtcbiAgICAgIGNvbnN0IGRpZmYgPSB2IC0gTWF0aC5taW4ociwgZywgYik7XG4gICAgICBjb25zdCBkaWZmYyA9IGZ1bmN0aW9uKGMpIHtcbiAgICAgICAgcmV0dXJuICh2IC0gYykgLyA2IC8gZGlmZiArIDEgLyAyO1xuICAgICAgfTtcbiAgICAgIGlmIChkaWZmID09PSAwKSB7XG4gICAgICAgIGggPSAwO1xuICAgICAgICBzID0gMDtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHMgPSBkaWZmIC8gdjtcbiAgICAgICAgcmRpZiA9IGRpZmZjKHIpO1xuICAgICAgICBnZGlmID0gZGlmZmMoZyk7XG4gICAgICAgIGJkaWYgPSBkaWZmYyhiKTtcbiAgICAgICAgaWYgKHIgPT09IHYpIHtcbiAgICAgICAgICBoID0gYmRpZiAtIGdkaWY7XG4gICAgICAgIH0gZWxzZSBpZiAoZyA9PT0gdikge1xuICAgICAgICAgIGggPSAxIC8gMyArIHJkaWYgLSBiZGlmO1xuICAgICAgICB9IGVsc2UgaWYgKGIgPT09IHYpIHtcbiAgICAgICAgICBoID0gMiAvIDMgKyBnZGlmIC0gcmRpZjtcbiAgICAgICAgfVxuICAgICAgICBpZiAoaCA8IDApIHtcbiAgICAgICAgICBoICs9IDE7XG4gICAgICAgIH0gZWxzZSBpZiAoaCA+IDEpIHtcbiAgICAgICAgICBoIC09IDE7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIHJldHVybiBbXG4gICAgICAgIGggKiAzNjAsXG4gICAgICAgIHMgKiAxMDAsXG4gICAgICAgIHYgKiAxMDBcbiAgICAgIF07XG4gICAgfTtcbiAgICBjb252ZXJ0LnJnYi5od2IgPSBmdW5jdGlvbihyZ2IpIHtcbiAgICAgIGNvbnN0IHIgPSByZ2JbMF07XG4gICAgICBjb25zdCBnID0gcmdiWzFdO1xuICAgICAgbGV0IGIgPSByZ2JbMl07XG4gICAgICBjb25zdCBoID0gY29udmVydC5yZ2IuaHNsKHJnYilbMF07XG4gICAgICBjb25zdCB3ID0gMSAvIDI1NSAqIE1hdGgubWluKHIsIE1hdGgubWluKGcsIGIpKTtcbiAgICAgIGIgPSAxIC0gMSAvIDI1NSAqIE1hdGgubWF4KHIsIE1hdGgubWF4KGcsIGIpKTtcbiAgICAgIHJldHVybiBbaCwgdyAqIDEwMCwgYiAqIDEwMF07XG4gICAgfTtcbiAgICBjb252ZXJ0LnJnYi5jbXlrID0gZnVuY3Rpb24ocmdiKSB7XG4gICAgICBjb25zdCByID0gcmdiWzBdIC8gMjU1O1xuICAgICAgY29uc3QgZyA9IHJnYlsxXSAvIDI1NTtcbiAgICAgIGNvbnN0IGIgPSByZ2JbMl0gLyAyNTU7XG4gICAgICBjb25zdCBrID0gTWF0aC5taW4oMSAtIHIsIDEgLSBnLCAxIC0gYik7XG4gICAgICBjb25zdCBjID0gKDEgLSByIC0gaykgLyAoMSAtIGspIHx8IDA7XG4gICAgICBjb25zdCBtID0gKDEgLSBnIC0gaykgLyAoMSAtIGspIHx8IDA7XG4gICAgICBjb25zdCB5ID0gKDEgLSBiIC0gaykgLyAoMSAtIGspIHx8IDA7XG4gICAgICByZXR1cm4gW2MgKiAxMDAsIG0gKiAxMDAsIHkgKiAxMDAsIGsgKiAxMDBdO1xuICAgIH07XG4gICAgZnVuY3Rpb24gY29tcGFyYXRpdmVEaXN0YW5jZSh4LCB5KSB7XG4gICAgICByZXR1cm4gKHhbMF0gLSB5WzBdKSAqKiAyICsgKHhbMV0gLSB5WzFdKSAqKiAyICsgKHhbMl0gLSB5WzJdKSAqKiAyO1xuICAgIH1cbiAgICBjb252ZXJ0LnJnYi5rZXl3b3JkID0gZnVuY3Rpb24ocmdiKSB7XG4gICAgICBjb25zdCByZXZlcnNlZCA9IHJldmVyc2VLZXl3b3Jkc1tyZ2JdO1xuICAgICAgaWYgKHJldmVyc2VkKSB7XG4gICAgICAgIHJldHVybiByZXZlcnNlZDtcbiAgICAgIH1cbiAgICAgIGxldCBjdXJyZW50Q2xvc2VzdERpc3RhbmNlID0gSW5maW5pdHk7XG4gICAgICBsZXQgY3VycmVudENsb3Nlc3RLZXl3b3JkO1xuICAgICAgZm9yIChjb25zdCBrZXl3b3JkIG9mIE9iamVjdC5rZXlzKGNzc0tleXdvcmRzKSkge1xuICAgICAgICBjb25zdCB2YWx1ZSA9IGNzc0tleXdvcmRzW2tleXdvcmRdO1xuICAgICAgICBjb25zdCBkaXN0YW5jZSA9IGNvbXBhcmF0aXZlRGlzdGFuY2UocmdiLCB2YWx1ZSk7XG4gICAgICAgIGlmIChkaXN0YW5jZSA8IGN1cnJlbnRDbG9zZXN0RGlzdGFuY2UpIHtcbiAgICAgICAgICBjdXJyZW50Q2xvc2VzdERpc3RhbmNlID0gZGlzdGFuY2U7XG4gICAgICAgICAgY3VycmVudENsb3Nlc3RLZXl3b3JkID0ga2V5d29yZDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgcmV0dXJuIGN1cnJlbnRDbG9zZXN0S2V5d29yZDtcbiAgICB9O1xuICAgIGNvbnZlcnQua2V5d29yZC5yZ2IgPSBmdW5jdGlvbihrZXl3b3JkKSB7XG4gICAgICByZXR1cm4gY3NzS2V5d29yZHNba2V5d29yZF07XG4gICAgfTtcbiAgICBjb252ZXJ0LnJnYi54eXogPSBmdW5jdGlvbihyZ2IpIHtcbiAgICAgIGxldCByID0gcmdiWzBdIC8gMjU1O1xuICAgICAgbGV0IGcgPSByZ2JbMV0gLyAyNTU7XG4gICAgICBsZXQgYiA9IHJnYlsyXSAvIDI1NTtcbiAgICAgIHIgPSByID4gMC4wNDA0NSA/ICgociArIDAuMDU1KSAvIDEuMDU1KSAqKiAyLjQgOiByIC8gMTIuOTI7XG4gICAgICBnID0gZyA+IDAuMDQwNDUgPyAoKGcgKyAwLjA1NSkgLyAxLjA1NSkgKiogMi40IDogZyAvIDEyLjkyO1xuICAgICAgYiA9IGIgPiAwLjA0MDQ1ID8gKChiICsgMC4wNTUpIC8gMS4wNTUpICoqIDIuNCA6IGIgLyAxMi45MjtcbiAgICAgIGNvbnN0IHggPSByICogMC40MTI0ICsgZyAqIDAuMzU3NiArIGIgKiAwLjE4MDU7XG4gICAgICBjb25zdCB5ID0gciAqIDAuMjEyNiArIGcgKiAwLjcxNTIgKyBiICogMC4wNzIyO1xuICAgICAgY29uc3QgejIgPSByICogMC4wMTkzICsgZyAqIDAuMTE5MiArIGIgKiAwLjk1MDU7XG4gICAgICByZXR1cm4gW3ggKiAxMDAsIHkgKiAxMDAsIHoyICogMTAwXTtcbiAgICB9O1xuICAgIGNvbnZlcnQucmdiLmxhYiA9IGZ1bmN0aW9uKHJnYikge1xuICAgICAgY29uc3QgeHl6ID0gY29udmVydC5yZ2IueHl6KHJnYik7XG4gICAgICBsZXQgeCA9IHh5elswXTtcbiAgICAgIGxldCB5ID0geHl6WzFdO1xuICAgICAgbGV0IHoyID0geHl6WzJdO1xuICAgICAgeCAvPSA5NS4wNDc7XG4gICAgICB5IC89IDEwMDtcbiAgICAgIHoyIC89IDEwOC44ODM7XG4gICAgICB4ID0geCA+IDg4NTZlLTYgPyB4ICoqICgxIC8gMykgOiA3Ljc4NyAqIHggKyAxNiAvIDExNjtcbiAgICAgIHkgPSB5ID4gODg1NmUtNiA/IHkgKiogKDEgLyAzKSA6IDcuNzg3ICogeSArIDE2IC8gMTE2O1xuICAgICAgejIgPSB6MiA+IDg4NTZlLTYgPyB6MiAqKiAoMSAvIDMpIDogNy43ODcgKiB6MiArIDE2IC8gMTE2O1xuICAgICAgY29uc3QgbCA9IDExNiAqIHkgLSAxNjtcbiAgICAgIGNvbnN0IGEgPSA1MDAgKiAoeCAtIHkpO1xuICAgICAgY29uc3QgYiA9IDIwMCAqICh5IC0gejIpO1xuICAgICAgcmV0dXJuIFtsLCBhLCBiXTtcbiAgICB9O1xuICAgIGNvbnZlcnQuaHNsLnJnYiA9IGZ1bmN0aW9uKGhzbCkge1xuICAgICAgY29uc3QgaCA9IGhzbFswXSAvIDM2MDtcbiAgICAgIGNvbnN0IHMgPSBoc2xbMV0gLyAxMDA7XG4gICAgICBjb25zdCBsID0gaHNsWzJdIC8gMTAwO1xuICAgICAgbGV0IHQyO1xuICAgICAgbGV0IHQzO1xuICAgICAgbGV0IHZhbDtcbiAgICAgIGlmIChzID09PSAwKSB7XG4gICAgICAgIHZhbCA9IGwgKiAyNTU7XG4gICAgICAgIHJldHVybiBbdmFsLCB2YWwsIHZhbF07XG4gICAgICB9XG4gICAgICBpZiAobCA8IDAuNSkge1xuICAgICAgICB0MiA9IGwgKiAoMSArIHMpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdDIgPSBsICsgcyAtIGwgKiBzO1xuICAgICAgfVxuICAgICAgY29uc3QgdDEgPSAyICogbCAtIHQyO1xuICAgICAgY29uc3QgcmdiID0gWzAsIDAsIDBdO1xuICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCAzOyBpKyspIHtcbiAgICAgICAgdDMgPSBoICsgMSAvIDMgKiAtKGkgLSAxKTtcbiAgICAgICAgaWYgKHQzIDwgMCkge1xuICAgICAgICAgIHQzKys7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHQzID4gMSkge1xuICAgICAgICAgIHQzLS07XG4gICAgICAgIH1cbiAgICAgICAgaWYgKDYgKiB0MyA8IDEpIHtcbiAgICAgICAgICB2YWwgPSB0MSArICh0MiAtIHQxKSAqIDYgKiB0MztcbiAgICAgICAgfSBlbHNlIGlmICgyICogdDMgPCAxKSB7XG4gICAgICAgICAgdmFsID0gdDI7XG4gICAgICAgIH0gZWxzZSBpZiAoMyAqIHQzIDwgMikge1xuICAgICAgICAgIHZhbCA9IHQxICsgKHQyIC0gdDEpICogKDIgLyAzIC0gdDMpICogNjtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICB2YWwgPSB0MTtcbiAgICAgICAgfVxuICAgICAgICByZ2JbaV0gPSB2YWwgKiAyNTU7XG4gICAgICB9XG4gICAgICByZXR1cm4gcmdiO1xuICAgIH07XG4gICAgY29udmVydC5oc2wuaHN2ID0gZnVuY3Rpb24oaHNsKSB7XG4gICAgICBjb25zdCBoID0gaHNsWzBdO1xuICAgICAgbGV0IHMgPSBoc2xbMV0gLyAxMDA7XG4gICAgICBsZXQgbCA9IGhzbFsyXSAvIDEwMDtcbiAgICAgIGxldCBzbWluID0gcztcbiAgICAgIGNvbnN0IGxtaW4gPSBNYXRoLm1heChsLCAwLjAxKTtcbiAgICAgIGwgKj0gMjtcbiAgICAgIHMgKj0gbCA8PSAxID8gbCA6IDIgLSBsO1xuICAgICAgc21pbiAqPSBsbWluIDw9IDEgPyBsbWluIDogMiAtIGxtaW47XG4gICAgICBjb25zdCB2ID0gKGwgKyBzKSAvIDI7XG4gICAgICBjb25zdCBzdiA9IGwgPT09IDAgPyAyICogc21pbiAvIChsbWluICsgc21pbikgOiAyICogcyAvIChsICsgcyk7XG4gICAgICByZXR1cm4gW2gsIHN2ICogMTAwLCB2ICogMTAwXTtcbiAgICB9O1xuICAgIGNvbnZlcnQuaHN2LnJnYiA9IGZ1bmN0aW9uKGhzdikge1xuICAgICAgY29uc3QgaCA9IGhzdlswXSAvIDYwO1xuICAgICAgY29uc3QgcyA9IGhzdlsxXSAvIDEwMDtcbiAgICAgIGxldCB2ID0gaHN2WzJdIC8gMTAwO1xuICAgICAgY29uc3QgaGkgPSBNYXRoLmZsb29yKGgpICUgNjtcbiAgICAgIGNvbnN0IGYgPSBoIC0gTWF0aC5mbG9vcihoKTtcbiAgICAgIGNvbnN0IHAgPSAyNTUgKiB2ICogKDEgLSBzKTtcbiAgICAgIGNvbnN0IHEgPSAyNTUgKiB2ICogKDEgLSBzICogZik7XG4gICAgICBjb25zdCB0ID0gMjU1ICogdiAqICgxIC0gcyAqICgxIC0gZikpO1xuICAgICAgdiAqPSAyNTU7XG4gICAgICBzd2l0Y2ggKGhpKSB7XG4gICAgICAgIGNhc2UgMDpcbiAgICAgICAgICByZXR1cm4gW3YsIHQsIHBdO1xuICAgICAgICBjYXNlIDE6XG4gICAgICAgICAgcmV0dXJuIFtxLCB2LCBwXTtcbiAgICAgICAgY2FzZSAyOlxuICAgICAgICAgIHJldHVybiBbcCwgdiwgdF07XG4gICAgICAgIGNhc2UgMzpcbiAgICAgICAgICByZXR1cm4gW3AsIHEsIHZdO1xuICAgICAgICBjYXNlIDQ6XG4gICAgICAgICAgcmV0dXJuIFt0LCBwLCB2XTtcbiAgICAgICAgY2FzZSA1OlxuICAgICAgICAgIHJldHVybiBbdiwgcCwgcV07XG4gICAgICB9XG4gICAgfTtcbiAgICBjb252ZXJ0Lmhzdi5oc2wgPSBmdW5jdGlvbihoc3YpIHtcbiAgICAgIGNvbnN0IGggPSBoc3ZbMF07XG4gICAgICBjb25zdCBzID0gaHN2WzFdIC8gMTAwO1xuICAgICAgY29uc3QgdiA9IGhzdlsyXSAvIDEwMDtcbiAgICAgIGNvbnN0IHZtaW4gPSBNYXRoLm1heCh2LCAwLjAxKTtcbiAgICAgIGxldCBzbDtcbiAgICAgIGxldCBsO1xuICAgICAgbCA9ICgyIC0gcykgKiB2O1xuICAgICAgY29uc3QgbG1pbiA9ICgyIC0gcykgKiB2bWluO1xuICAgICAgc2wgPSBzICogdm1pbjtcbiAgICAgIHNsIC89IGxtaW4gPD0gMSA/IGxtaW4gOiAyIC0gbG1pbjtcbiAgICAgIHNsID0gc2wgfHwgMDtcbiAgICAgIGwgLz0gMjtcbiAgICAgIHJldHVybiBbaCwgc2wgKiAxMDAsIGwgKiAxMDBdO1xuICAgIH07XG4gICAgY29udmVydC5od2IucmdiID0gZnVuY3Rpb24oaHdiKSB7XG4gICAgICBjb25zdCBoID0gaHdiWzBdIC8gMzYwO1xuICAgICAgbGV0IHdoID0gaHdiWzFdIC8gMTAwO1xuICAgICAgbGV0IGJsID0gaHdiWzJdIC8gMTAwO1xuICAgICAgY29uc3QgcmF0aW8gPSB3aCArIGJsO1xuICAgICAgbGV0IGY7XG4gICAgICBpZiAocmF0aW8gPiAxKSB7XG4gICAgICAgIHdoIC89IHJhdGlvO1xuICAgICAgICBibCAvPSByYXRpbztcbiAgICAgIH1cbiAgICAgIGNvbnN0IGkgPSBNYXRoLmZsb29yKDYgKiBoKTtcbiAgICAgIGNvbnN0IHYgPSAxIC0gYmw7XG4gICAgICBmID0gNiAqIGggLSBpO1xuICAgICAgaWYgKChpICYgMSkgIT09IDApIHtcbiAgICAgICAgZiA9IDEgLSBmO1xuICAgICAgfVxuICAgICAgY29uc3QgbiA9IHdoICsgZiAqICh2IC0gd2gpO1xuICAgICAgbGV0IHI7XG4gICAgICBsZXQgZztcbiAgICAgIGxldCBiO1xuICAgICAgc3dpdGNoIChpKSB7XG4gICAgICAgIGRlZmF1bHQ6XG4gICAgICAgIGNhc2UgNjpcbiAgICAgICAgY2FzZSAwOlxuICAgICAgICAgIHIgPSB2O1xuICAgICAgICAgIGcgPSBuO1xuICAgICAgICAgIGIgPSB3aDtcbiAgICAgICAgICBicmVhaztcbiAgICAgICAgY2FzZSAxOlxuICAgICAgICAgIHIgPSBuO1xuICAgICAgICAgIGcgPSB2O1xuICAgICAgICAgIGIgPSB3aDtcbiAgICAgICAgICBicmVhaztcbiAgICAgICAgY2FzZSAyOlxuICAgICAgICAgIHIgPSB3aDtcbiAgICAgICAgICBnID0gdjtcbiAgICAgICAgICBiID0gbjtcbiAgICAgICAgICBicmVhaztcbiAgICAgICAgY2FzZSAzOlxuICAgICAgICAgIHIgPSB3aDtcbiAgICAgICAgICBnID0gbjtcbiAgICAgICAgICBiID0gdjtcbiAgICAgICAgICBicmVhaztcbiAgICAgICAgY2FzZSA0OlxuICAgICAgICAgIHIgPSBuO1xuICAgICAgICAgIGcgPSB3aDtcbiAgICAgICAgICBiID0gdjtcbiAgICAgICAgICBicmVhaztcbiAgICAgICAgY2FzZSA1OlxuICAgICAgICAgIHIgPSB2O1xuICAgICAgICAgIGcgPSB3aDtcbiAgICAgICAgICBiID0gbjtcbiAgICAgICAgICBicmVhaztcbiAgICAgIH1cbiAgICAgIHJldHVybiBbciAqIDI1NSwgZyAqIDI1NSwgYiAqIDI1NV07XG4gICAgfTtcbiAgICBjb252ZXJ0LmNteWsucmdiID0gZnVuY3Rpb24oY215aykge1xuICAgICAgY29uc3QgYyA9IGNteWtbMF0gLyAxMDA7XG4gICAgICBjb25zdCBtID0gY215a1sxXSAvIDEwMDtcbiAgICAgIGNvbnN0IHkgPSBjbXlrWzJdIC8gMTAwO1xuICAgICAgY29uc3QgayA9IGNteWtbM10gLyAxMDA7XG4gICAgICBjb25zdCByID0gMSAtIE1hdGgubWluKDEsIGMgKiAoMSAtIGspICsgayk7XG4gICAgICBjb25zdCBnID0gMSAtIE1hdGgubWluKDEsIG0gKiAoMSAtIGspICsgayk7XG4gICAgICBjb25zdCBiID0gMSAtIE1hdGgubWluKDEsIHkgKiAoMSAtIGspICsgayk7XG4gICAgICByZXR1cm4gW3IgKiAyNTUsIGcgKiAyNTUsIGIgKiAyNTVdO1xuICAgIH07XG4gICAgY29udmVydC54eXoucmdiID0gZnVuY3Rpb24oeHl6KSB7XG4gICAgICBjb25zdCB4ID0geHl6WzBdIC8gMTAwO1xuICAgICAgY29uc3QgeSA9IHh5elsxXSAvIDEwMDtcbiAgICAgIGNvbnN0IHoyID0geHl6WzJdIC8gMTAwO1xuICAgICAgbGV0IHI7XG4gICAgICBsZXQgZztcbiAgICAgIGxldCBiO1xuICAgICAgciA9IHggKiAzLjI0MDYgKyB5ICogLTEuNTM3MiArIHoyICogLTAuNDk4NjtcbiAgICAgIGcgPSB4ICogLTAuOTY4OSArIHkgKiAxLjg3NTggKyB6MiAqIDAuMDQxNTtcbiAgICAgIGIgPSB4ICogMC4wNTU3ICsgeSAqIC0wLjIwNCArIHoyICogMS4wNTc7XG4gICAgICByID0gciA+IDMxMzA4ZS03ID8gMS4wNTUgKiByICoqICgxIC8gMi40KSAtIDAuMDU1IDogciAqIDEyLjkyO1xuICAgICAgZyA9IGcgPiAzMTMwOGUtNyA/IDEuMDU1ICogZyAqKiAoMSAvIDIuNCkgLSAwLjA1NSA6IGcgKiAxMi45MjtcbiAgICAgIGIgPSBiID4gMzEzMDhlLTcgPyAxLjA1NSAqIGIgKiogKDEgLyAyLjQpIC0gMC4wNTUgOiBiICogMTIuOTI7XG4gICAgICByID0gTWF0aC5taW4oTWF0aC5tYXgoMCwgciksIDEpO1xuICAgICAgZyA9IE1hdGgubWluKE1hdGgubWF4KDAsIGcpLCAxKTtcbiAgICAgIGIgPSBNYXRoLm1pbihNYXRoLm1heCgwLCBiKSwgMSk7XG4gICAgICByZXR1cm4gW3IgKiAyNTUsIGcgKiAyNTUsIGIgKiAyNTVdO1xuICAgIH07XG4gICAgY29udmVydC54eXoubGFiID0gZnVuY3Rpb24oeHl6KSB7XG4gICAgICBsZXQgeCA9IHh5elswXTtcbiAgICAgIGxldCB5ID0geHl6WzFdO1xuICAgICAgbGV0IHoyID0geHl6WzJdO1xuICAgICAgeCAvPSA5NS4wNDc7XG4gICAgICB5IC89IDEwMDtcbiAgICAgIHoyIC89IDEwOC44ODM7XG4gICAgICB4ID0geCA+IDg4NTZlLTYgPyB4ICoqICgxIC8gMykgOiA3Ljc4NyAqIHggKyAxNiAvIDExNjtcbiAgICAgIHkgPSB5ID4gODg1NmUtNiA/IHkgKiogKDEgLyAzKSA6IDcuNzg3ICogeSArIDE2IC8gMTE2O1xuICAgICAgejIgPSB6MiA+IDg4NTZlLTYgPyB6MiAqKiAoMSAvIDMpIDogNy43ODcgKiB6MiArIDE2IC8gMTE2O1xuICAgICAgY29uc3QgbCA9IDExNiAqIHkgLSAxNjtcbiAgICAgIGNvbnN0IGEgPSA1MDAgKiAoeCAtIHkpO1xuICAgICAgY29uc3QgYiA9IDIwMCAqICh5IC0gejIpO1xuICAgICAgcmV0dXJuIFtsLCBhLCBiXTtcbiAgICB9O1xuICAgIGNvbnZlcnQubGFiLnh5eiA9IGZ1bmN0aW9uKGxhYikge1xuICAgICAgY29uc3QgbCA9IGxhYlswXTtcbiAgICAgIGNvbnN0IGEgPSBsYWJbMV07XG4gICAgICBjb25zdCBiID0gbGFiWzJdO1xuICAgICAgbGV0IHg7XG4gICAgICBsZXQgeTtcbiAgICAgIGxldCB6MjtcbiAgICAgIHkgPSAobCArIDE2KSAvIDExNjtcbiAgICAgIHggPSBhIC8gNTAwICsgeTtcbiAgICAgIHoyID0geSAtIGIgLyAyMDA7XG4gICAgICBjb25zdCB5MiA9IHkgKiogMztcbiAgICAgIGNvbnN0IHgyID0geCAqKiAzO1xuICAgICAgY29uc3QgejIyID0gejIgKiogMztcbiAgICAgIHkgPSB5MiA+IDg4NTZlLTYgPyB5MiA6ICh5IC0gMTYgLyAxMTYpIC8gNy43ODc7XG4gICAgICB4ID0geDIgPiA4ODU2ZS02ID8geDIgOiAoeCAtIDE2IC8gMTE2KSAvIDcuNzg3O1xuICAgICAgejIgPSB6MjIgPiA4ODU2ZS02ID8gejIyIDogKHoyIC0gMTYgLyAxMTYpIC8gNy43ODc7XG4gICAgICB4ICo9IDk1LjA0NztcbiAgICAgIHkgKj0gMTAwO1xuICAgICAgejIgKj0gMTA4Ljg4MztcbiAgICAgIHJldHVybiBbeCwgeSwgejJdO1xuICAgIH07XG4gICAgY29udmVydC5sYWIubGNoID0gZnVuY3Rpb24obGFiKSB7XG4gICAgICBjb25zdCBsID0gbGFiWzBdO1xuICAgICAgY29uc3QgYSA9IGxhYlsxXTtcbiAgICAgIGNvbnN0IGIgPSBsYWJbMl07XG4gICAgICBsZXQgaDtcbiAgICAgIGNvbnN0IGhyID0gTWF0aC5hdGFuMihiLCBhKTtcbiAgICAgIGggPSBociAqIDM2MCAvIDIgLyBNYXRoLlBJO1xuICAgICAgaWYgKGggPCAwKSB7XG4gICAgICAgIGggKz0gMzYwO1xuICAgICAgfVxuICAgICAgY29uc3QgYyA9IE1hdGguc3FydChhICogYSArIGIgKiBiKTtcbiAgICAgIHJldHVybiBbbCwgYywgaF07XG4gICAgfTtcbiAgICBjb252ZXJ0LmxjaC5sYWIgPSBmdW5jdGlvbihsY2gpIHtcbiAgICAgIGNvbnN0IGwgPSBsY2hbMF07XG4gICAgICBjb25zdCBjID0gbGNoWzFdO1xuICAgICAgY29uc3QgaCA9IGxjaFsyXTtcbiAgICAgIGNvbnN0IGhyID0gaCAvIDM2MCAqIDIgKiBNYXRoLlBJO1xuICAgICAgY29uc3QgYSA9IGMgKiBNYXRoLmNvcyhocik7XG4gICAgICBjb25zdCBiID0gYyAqIE1hdGguc2luKGhyKTtcbiAgICAgIHJldHVybiBbbCwgYSwgYl07XG4gICAgfTtcbiAgICBjb252ZXJ0LnJnYi5hbnNpMTYgPSBmdW5jdGlvbihhcmdzLCBzYXR1cmF0aW9uID0gbnVsbCkge1xuICAgICAgY29uc3QgW3IsIGcsIGJdID0gYXJncztcbiAgICAgIGxldCB2YWx1ZSA9IHNhdHVyYXRpb24gPT09IG51bGwgPyBjb252ZXJ0LnJnYi5oc3YoYXJncylbMl0gOiBzYXR1cmF0aW9uO1xuICAgICAgdmFsdWUgPSBNYXRoLnJvdW5kKHZhbHVlIC8gNTApO1xuICAgICAgaWYgKHZhbHVlID09PSAwKSB7XG4gICAgICAgIHJldHVybiAzMDtcbiAgICAgIH1cbiAgICAgIGxldCBhbnNpID0gMzAgKyAoTWF0aC5yb3VuZChiIC8gMjU1KSA8PCAyIHwgTWF0aC5yb3VuZChnIC8gMjU1KSA8PCAxIHwgTWF0aC5yb3VuZChyIC8gMjU1KSk7XG4gICAgICBpZiAodmFsdWUgPT09IDIpIHtcbiAgICAgICAgYW5zaSArPSA2MDtcbiAgICAgIH1cbiAgICAgIHJldHVybiBhbnNpO1xuICAgIH07XG4gICAgY29udmVydC5oc3YuYW5zaTE2ID0gZnVuY3Rpb24oYXJncykge1xuICAgICAgcmV0dXJuIGNvbnZlcnQucmdiLmFuc2kxNihjb252ZXJ0Lmhzdi5yZ2IoYXJncyksIGFyZ3NbMl0pO1xuICAgIH07XG4gICAgY29udmVydC5yZ2IuYW5zaTI1NiA9IGZ1bmN0aW9uKGFyZ3MpIHtcbiAgICAgIGNvbnN0IHIgPSBhcmdzWzBdO1xuICAgICAgY29uc3QgZyA9IGFyZ3NbMV07XG4gICAgICBjb25zdCBiID0gYXJnc1syXTtcbiAgICAgIGlmIChyID09PSBnICYmIGcgPT09IGIpIHtcbiAgICAgICAgaWYgKHIgPCA4KSB7XG4gICAgICAgICAgcmV0dXJuIDE2O1xuICAgICAgICB9XG4gICAgICAgIGlmIChyID4gMjQ4KSB7XG4gICAgICAgICAgcmV0dXJuIDIzMTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gTWF0aC5yb3VuZCgociAtIDgpIC8gMjQ3ICogMjQpICsgMjMyO1xuICAgICAgfVxuICAgICAgY29uc3QgYW5zaSA9IDE2ICsgMzYgKiBNYXRoLnJvdW5kKHIgLyAyNTUgKiA1KSArIDYgKiBNYXRoLnJvdW5kKGcgLyAyNTUgKiA1KSArIE1hdGgucm91bmQoYiAvIDI1NSAqIDUpO1xuICAgICAgcmV0dXJuIGFuc2k7XG4gICAgfTtcbiAgICBjb252ZXJ0LmFuc2kxNi5yZ2IgPSBmdW5jdGlvbihhcmdzKSB7XG4gICAgICBsZXQgY29sb3IgPSBhcmdzICUgMTA7XG4gICAgICBpZiAoY29sb3IgPT09IDAgfHwgY29sb3IgPT09IDcpIHtcbiAgICAgICAgaWYgKGFyZ3MgPiA1MCkge1xuICAgICAgICAgIGNvbG9yICs9IDMuNTtcbiAgICAgICAgfVxuICAgICAgICBjb2xvciA9IGNvbG9yIC8gMTAuNSAqIDI1NTtcbiAgICAgICAgcmV0dXJuIFtjb2xvciwgY29sb3IsIGNvbG9yXTtcbiAgICAgIH1cbiAgICAgIGNvbnN0IG11bHQgPSAofn4oYXJncyA+IDUwKSArIDEpICogMC41O1xuICAgICAgY29uc3QgciA9IChjb2xvciAmIDEpICogbXVsdCAqIDI1NTtcbiAgICAgIGNvbnN0IGcgPSAoY29sb3IgPj4gMSAmIDEpICogbXVsdCAqIDI1NTtcbiAgICAgIGNvbnN0IGIgPSAoY29sb3IgPj4gMiAmIDEpICogbXVsdCAqIDI1NTtcbiAgICAgIHJldHVybiBbciwgZywgYl07XG4gICAgfTtcbiAgICBjb252ZXJ0LmFuc2kyNTYucmdiID0gZnVuY3Rpb24oYXJncykge1xuICAgICAgaWYgKGFyZ3MgPj0gMjMyKSB7XG4gICAgICAgIGNvbnN0IGMgPSAoYXJncyAtIDIzMikgKiAxMCArIDg7XG4gICAgICAgIHJldHVybiBbYywgYywgY107XG4gICAgICB9XG4gICAgICBhcmdzIC09IDE2O1xuICAgICAgbGV0IHJlbTtcbiAgICAgIGNvbnN0IHIgPSBNYXRoLmZsb29yKGFyZ3MgLyAzNikgLyA1ICogMjU1O1xuICAgICAgY29uc3QgZyA9IE1hdGguZmxvb3IoKHJlbSA9IGFyZ3MgJSAzNikgLyA2KSAvIDUgKiAyNTU7XG4gICAgICBjb25zdCBiID0gcmVtICUgNiAvIDUgKiAyNTU7XG4gICAgICByZXR1cm4gW3IsIGcsIGJdO1xuICAgIH07XG4gICAgY29udmVydC5yZ2IuaGV4ID0gZnVuY3Rpb24oYXJncykge1xuICAgICAgY29uc3QgaW50ZWdlciA9ICgoTWF0aC5yb3VuZChhcmdzWzBdKSAmIDI1NSkgPDwgMTYpICsgKChNYXRoLnJvdW5kKGFyZ3NbMV0pICYgMjU1KSA8PCA4KSArIChNYXRoLnJvdW5kKGFyZ3NbMl0pICYgMjU1KTtcbiAgICAgIGNvbnN0IHN0cmluZyA9IGludGVnZXIudG9TdHJpbmcoMTYpLnRvVXBwZXJDYXNlKCk7XG4gICAgICByZXR1cm4gXCIwMDAwMDBcIi5zdWJzdHJpbmcoc3RyaW5nLmxlbmd0aCkgKyBzdHJpbmc7XG4gICAgfTtcbiAgICBjb252ZXJ0LmhleC5yZ2IgPSBmdW5jdGlvbihhcmdzKSB7XG4gICAgICBjb25zdCBtYXRjaCA9IGFyZ3MudG9TdHJpbmcoMTYpLm1hdGNoKC9bYS1mMC05XXs2fXxbYS1mMC05XXszfS9pKTtcbiAgICAgIGlmICghbWF0Y2gpIHtcbiAgICAgICAgcmV0dXJuIFswLCAwLCAwXTtcbiAgICAgIH1cbiAgICAgIGxldCBjb2xvclN0cmluZyA9IG1hdGNoWzBdO1xuICAgICAgaWYgKG1hdGNoWzBdLmxlbmd0aCA9PT0gMykge1xuICAgICAgICBjb2xvclN0cmluZyA9IGNvbG9yU3RyaW5nLnNwbGl0KFwiXCIpLm1hcCgoY2hhcikgPT4ge1xuICAgICAgICAgIHJldHVybiBjaGFyICsgY2hhcjtcbiAgICAgICAgfSkuam9pbihcIlwiKTtcbiAgICAgIH1cbiAgICAgIGNvbnN0IGludGVnZXIgPSBwYXJzZUludChjb2xvclN0cmluZywgMTYpO1xuICAgICAgY29uc3QgciA9IGludGVnZXIgPj4gMTYgJiAyNTU7XG4gICAgICBjb25zdCBnID0gaW50ZWdlciA+PiA4ICYgMjU1O1xuICAgICAgY29uc3QgYiA9IGludGVnZXIgJiAyNTU7XG4gICAgICByZXR1cm4gW3IsIGcsIGJdO1xuICAgIH07XG4gICAgY29udmVydC5yZ2IuaGNnID0gZnVuY3Rpb24ocmdiKSB7XG4gICAgICBjb25zdCByID0gcmdiWzBdIC8gMjU1O1xuICAgICAgY29uc3QgZyA9IHJnYlsxXSAvIDI1NTtcbiAgICAgIGNvbnN0IGIgPSByZ2JbMl0gLyAyNTU7XG4gICAgICBjb25zdCBtYXggPSBNYXRoLm1heChNYXRoLm1heChyLCBnKSwgYik7XG4gICAgICBjb25zdCBtaW4gPSBNYXRoLm1pbihNYXRoLm1pbihyLCBnKSwgYik7XG4gICAgICBjb25zdCBjaHJvbWEgPSBtYXggLSBtaW47XG4gICAgICBsZXQgZ3JheXNjYWxlO1xuICAgICAgbGV0IGh1ZTtcbiAgICAgIGlmIChjaHJvbWEgPCAxKSB7XG4gICAgICAgIGdyYXlzY2FsZSA9IG1pbiAvICgxIC0gY2hyb21hKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGdyYXlzY2FsZSA9IDA7XG4gICAgICB9XG4gICAgICBpZiAoY2hyb21hIDw9IDApIHtcbiAgICAgICAgaHVlID0gMDtcbiAgICAgIH0gZWxzZSBpZiAobWF4ID09PSByKSB7XG4gICAgICAgIGh1ZSA9IChnIC0gYikgLyBjaHJvbWEgJSA2O1xuICAgICAgfSBlbHNlIGlmIChtYXggPT09IGcpIHtcbiAgICAgICAgaHVlID0gMiArIChiIC0gcikgLyBjaHJvbWE7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBodWUgPSA0ICsgKHIgLSBnKSAvIGNocm9tYTtcbiAgICAgIH1cbiAgICAgIGh1ZSAvPSA2O1xuICAgICAgaHVlICU9IDE7XG4gICAgICByZXR1cm4gW2h1ZSAqIDM2MCwgY2hyb21hICogMTAwLCBncmF5c2NhbGUgKiAxMDBdO1xuICAgIH07XG4gICAgY29udmVydC5oc2wuaGNnID0gZnVuY3Rpb24oaHNsKSB7XG4gICAgICBjb25zdCBzID0gaHNsWzFdIC8gMTAwO1xuICAgICAgY29uc3QgbCA9IGhzbFsyXSAvIDEwMDtcbiAgICAgIGNvbnN0IGMgPSBsIDwgMC41ID8gMiAqIHMgKiBsIDogMiAqIHMgKiAoMSAtIGwpO1xuICAgICAgbGV0IGYgPSAwO1xuICAgICAgaWYgKGMgPCAxKSB7XG4gICAgICAgIGYgPSAobCAtIDAuNSAqIGMpIC8gKDEgLSBjKTtcbiAgICAgIH1cbiAgICAgIHJldHVybiBbaHNsWzBdLCBjICogMTAwLCBmICogMTAwXTtcbiAgICB9O1xuICAgIGNvbnZlcnQuaHN2LmhjZyA9IGZ1bmN0aW9uKGhzdikge1xuICAgICAgY29uc3QgcyA9IGhzdlsxXSAvIDEwMDtcbiAgICAgIGNvbnN0IHYgPSBoc3ZbMl0gLyAxMDA7XG4gICAgICBjb25zdCBjID0gcyAqIHY7XG4gICAgICBsZXQgZiA9IDA7XG4gICAgICBpZiAoYyA8IDEpIHtcbiAgICAgICAgZiA9ICh2IC0gYykgLyAoMSAtIGMpO1xuICAgICAgfVxuICAgICAgcmV0dXJuIFtoc3ZbMF0sIGMgKiAxMDAsIGYgKiAxMDBdO1xuICAgIH07XG4gICAgY29udmVydC5oY2cucmdiID0gZnVuY3Rpb24oaGNnKSB7XG4gICAgICBjb25zdCBoID0gaGNnWzBdIC8gMzYwO1xuICAgICAgY29uc3QgYyA9IGhjZ1sxXSAvIDEwMDtcbiAgICAgIGNvbnN0IGcgPSBoY2dbMl0gLyAxMDA7XG4gICAgICBpZiAoYyA9PT0gMCkge1xuICAgICAgICByZXR1cm4gW2cgKiAyNTUsIGcgKiAyNTUsIGcgKiAyNTVdO1xuICAgICAgfVxuICAgICAgY29uc3QgcHVyZSA9IFswLCAwLCAwXTtcbiAgICAgIGNvbnN0IGhpID0gaCAlIDEgKiA2O1xuICAgICAgY29uc3QgdiA9IGhpICUgMTtcbiAgICAgIGNvbnN0IHcgPSAxIC0gdjtcbiAgICAgIGxldCBtZyA9IDA7XG4gICAgICBzd2l0Y2ggKE1hdGguZmxvb3IoaGkpKSB7XG4gICAgICAgIGNhc2UgMDpcbiAgICAgICAgICBwdXJlWzBdID0gMTtcbiAgICAgICAgICBwdXJlWzFdID0gdjtcbiAgICAgICAgICBwdXJlWzJdID0gMDtcbiAgICAgICAgICBicmVhaztcbiAgICAgICAgY2FzZSAxOlxuICAgICAgICAgIHB1cmVbMF0gPSB3O1xuICAgICAgICAgIHB1cmVbMV0gPSAxO1xuICAgICAgICAgIHB1cmVbMl0gPSAwO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgICBjYXNlIDI6XG4gICAgICAgICAgcHVyZVswXSA9IDA7XG4gICAgICAgICAgcHVyZVsxXSA9IDE7XG4gICAgICAgICAgcHVyZVsyXSA9IHY7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIGNhc2UgMzpcbiAgICAgICAgICBwdXJlWzBdID0gMDtcbiAgICAgICAgICBwdXJlWzFdID0gdztcbiAgICAgICAgICBwdXJlWzJdID0gMTtcbiAgICAgICAgICBicmVhaztcbiAgICAgICAgY2FzZSA0OlxuICAgICAgICAgIHB1cmVbMF0gPSB2O1xuICAgICAgICAgIHB1cmVbMV0gPSAwO1xuICAgICAgICAgIHB1cmVbMl0gPSAxO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgIHB1cmVbMF0gPSAxO1xuICAgICAgICAgIHB1cmVbMV0gPSAwO1xuICAgICAgICAgIHB1cmVbMl0gPSB3O1xuICAgICAgfVxuICAgICAgbWcgPSAoMSAtIGMpICogZztcbiAgICAgIHJldHVybiBbXG4gICAgICAgIChjICogcHVyZVswXSArIG1nKSAqIDI1NSxcbiAgICAgICAgKGMgKiBwdXJlWzFdICsgbWcpICogMjU1LFxuICAgICAgICAoYyAqIHB1cmVbMl0gKyBtZykgKiAyNTVcbiAgICAgIF07XG4gICAgfTtcbiAgICBjb252ZXJ0LmhjZy5oc3YgPSBmdW5jdGlvbihoY2cpIHtcbiAgICAgIGNvbnN0IGMgPSBoY2dbMV0gLyAxMDA7XG4gICAgICBjb25zdCBnID0gaGNnWzJdIC8gMTAwO1xuICAgICAgY29uc3QgdiA9IGMgKyBnICogKDEgLSBjKTtcbiAgICAgIGxldCBmID0gMDtcbiAgICAgIGlmICh2ID4gMCkge1xuICAgICAgICBmID0gYyAvIHY7XG4gICAgICB9XG4gICAgICByZXR1cm4gW2hjZ1swXSwgZiAqIDEwMCwgdiAqIDEwMF07XG4gICAgfTtcbiAgICBjb252ZXJ0LmhjZy5oc2wgPSBmdW5jdGlvbihoY2cpIHtcbiAgICAgIGNvbnN0IGMgPSBoY2dbMV0gLyAxMDA7XG4gICAgICBjb25zdCBnID0gaGNnWzJdIC8gMTAwO1xuICAgICAgY29uc3QgbCA9IGcgKiAoMSAtIGMpICsgMC41ICogYztcbiAgICAgIGxldCBzID0gMDtcbiAgICAgIGlmIChsID4gMCAmJiBsIDwgMC41KSB7XG4gICAgICAgIHMgPSBjIC8gKDIgKiBsKTtcbiAgICAgIH0gZWxzZSBpZiAobCA+PSAwLjUgJiYgbCA8IDEpIHtcbiAgICAgICAgcyA9IGMgLyAoMiAqICgxIC0gbCkpO1xuICAgICAgfVxuICAgICAgcmV0dXJuIFtoY2dbMF0sIHMgKiAxMDAsIGwgKiAxMDBdO1xuICAgIH07XG4gICAgY29udmVydC5oY2cuaHdiID0gZnVuY3Rpb24oaGNnKSB7XG4gICAgICBjb25zdCBjID0gaGNnWzFdIC8gMTAwO1xuICAgICAgY29uc3QgZyA9IGhjZ1syXSAvIDEwMDtcbiAgICAgIGNvbnN0IHYgPSBjICsgZyAqICgxIC0gYyk7XG4gICAgICByZXR1cm4gW2hjZ1swXSwgKHYgLSBjKSAqIDEwMCwgKDEgLSB2KSAqIDEwMF07XG4gICAgfTtcbiAgICBjb252ZXJ0Lmh3Yi5oY2cgPSBmdW5jdGlvbihod2IpIHtcbiAgICAgIGNvbnN0IHcgPSBod2JbMV0gLyAxMDA7XG4gICAgICBjb25zdCBiID0gaHdiWzJdIC8gMTAwO1xuICAgICAgY29uc3QgdiA9IDEgLSBiO1xuICAgICAgY29uc3QgYyA9IHYgLSB3O1xuICAgICAgbGV0IGcgPSAwO1xuICAgICAgaWYgKGMgPCAxKSB7XG4gICAgICAgIGcgPSAodiAtIGMpIC8gKDEgLSBjKTtcbiAgICAgIH1cbiAgICAgIHJldHVybiBbaHdiWzBdLCBjICogMTAwLCBnICogMTAwXTtcbiAgICB9O1xuICAgIGNvbnZlcnQuYXBwbGUucmdiID0gZnVuY3Rpb24oYXBwbGUpIHtcbiAgICAgIHJldHVybiBbYXBwbGVbMF0gLyA2NTUzNSAqIDI1NSwgYXBwbGVbMV0gLyA2NTUzNSAqIDI1NSwgYXBwbGVbMl0gLyA2NTUzNSAqIDI1NV07XG4gICAgfTtcbiAgICBjb252ZXJ0LnJnYi5hcHBsZSA9IGZ1bmN0aW9uKHJnYikge1xuICAgICAgcmV0dXJuIFtyZ2JbMF0gLyAyNTUgKiA2NTUzNSwgcmdiWzFdIC8gMjU1ICogNjU1MzUsIHJnYlsyXSAvIDI1NSAqIDY1NTM1XTtcbiAgICB9O1xuICAgIGNvbnZlcnQuZ3JheS5yZ2IgPSBmdW5jdGlvbihhcmdzKSB7XG4gICAgICByZXR1cm4gW2FyZ3NbMF0gLyAxMDAgKiAyNTUsIGFyZ3NbMF0gLyAxMDAgKiAyNTUsIGFyZ3NbMF0gLyAxMDAgKiAyNTVdO1xuICAgIH07XG4gICAgY29udmVydC5ncmF5LmhzbCA9IGZ1bmN0aW9uKGFyZ3MpIHtcbiAgICAgIHJldHVybiBbMCwgMCwgYXJnc1swXV07XG4gICAgfTtcbiAgICBjb252ZXJ0LmdyYXkuaHN2ID0gY29udmVydC5ncmF5LmhzbDtcbiAgICBjb252ZXJ0LmdyYXkuaHdiID0gZnVuY3Rpb24oZ3JheSkge1xuICAgICAgcmV0dXJuIFswLCAxMDAsIGdyYXlbMF1dO1xuICAgIH07XG4gICAgY29udmVydC5ncmF5LmNteWsgPSBmdW5jdGlvbihncmF5KSB7XG4gICAgICByZXR1cm4gWzAsIDAsIDAsIGdyYXlbMF1dO1xuICAgIH07XG4gICAgY29udmVydC5ncmF5LmxhYiA9IGZ1bmN0aW9uKGdyYXkpIHtcbiAgICAgIHJldHVybiBbZ3JheVswXSwgMCwgMF07XG4gICAgfTtcbiAgICBjb252ZXJ0LmdyYXkuaGV4ID0gZnVuY3Rpb24oZ3JheSkge1xuICAgICAgY29uc3QgdmFsID0gTWF0aC5yb3VuZChncmF5WzBdIC8gMTAwICogMjU1KSAmIDI1NTtcbiAgICAgIGNvbnN0IGludGVnZXIgPSAodmFsIDw8IDE2KSArICh2YWwgPDwgOCkgKyB2YWw7XG4gICAgICBjb25zdCBzdHJpbmcgPSBpbnRlZ2VyLnRvU3RyaW5nKDE2KS50b1VwcGVyQ2FzZSgpO1xuICAgICAgcmV0dXJuIFwiMDAwMDAwXCIuc3Vic3RyaW5nKHN0cmluZy5sZW5ndGgpICsgc3RyaW5nO1xuICAgIH07XG4gICAgY29udmVydC5yZ2IuZ3JheSA9IGZ1bmN0aW9uKHJnYikge1xuICAgICAgY29uc3QgdmFsID0gKHJnYlswXSArIHJnYlsxXSArIHJnYlsyXSkgLyAzO1xuICAgICAgcmV0dXJuIFt2YWwgLyAyNTUgKiAxMDBdO1xuICAgIH07XG4gIH1cbn0pO1xuXG4vLyBub2RlX21vZHVsZXMvY29sb3ItY29udmVydC9yb3V0ZS5qc1xudmFyIHJlcXVpcmVfcm91dGUyID0gX19jb21tb25KUyh7XG4gIFwibm9kZV9tb2R1bGVzL2NvbG9yLWNvbnZlcnQvcm91dGUuanNcIihleHBvcnRzMiwgbW9kdWxlMikge1xuICAgIHZhciBjb252ZXJzaW9ucyA9IHJlcXVpcmVfY29udmVyc2lvbnMoKTtcbiAgICBmdW5jdGlvbiBidWlsZEdyYXBoKCkge1xuICAgICAgY29uc3QgZ3JhcGggPSB7fTtcbiAgICAgIGNvbnN0IG1vZGVscyA9IE9iamVjdC5rZXlzKGNvbnZlcnNpb25zKTtcbiAgICAgIGZvciAobGV0IGxlbiA9IG1vZGVscy5sZW5ndGgsIGkgPSAwOyBpIDwgbGVuOyBpKyspIHtcbiAgICAgICAgZ3JhcGhbbW9kZWxzW2ldXSA9IHtcbiAgICAgICAgICAvLyBodHRwOi8vanNwZXJmLmNvbS8xLXZzLWluZmluaXR5XG4gICAgICAgICAgLy8gbWljcm8tb3B0LCBidXQgdGhpcyBpcyBzaW1wbGUuXG4gICAgICAgICAgZGlzdGFuY2U6IC0xLFxuICAgICAgICAgIHBhcmVudDogbnVsbFxuICAgICAgICB9O1xuICAgICAgfVxuICAgICAgcmV0dXJuIGdyYXBoO1xuICAgIH1cbiAgICBmdW5jdGlvbiBkZXJpdmVCRlMoZnJvbU1vZGVsKSB7XG4gICAgICBjb25zdCBncmFwaCA9IGJ1aWxkR3JhcGgoKTtcbiAgICAgIGNvbnN0IHF1ZXVlID0gW2Zyb21Nb2RlbF07XG4gICAgICBncmFwaFtmcm9tTW9kZWxdLmRpc3RhbmNlID0gMDtcbiAgICAgIHdoaWxlIChxdWV1ZS5sZW5ndGgpIHtcbiAgICAgICAgY29uc3QgY3VycmVudCA9IHF1ZXVlLnBvcCgpO1xuICAgICAgICBjb25zdCBhZGphY2VudHMgPSBPYmplY3Qua2V5cyhjb252ZXJzaW9uc1tjdXJyZW50XSk7XG4gICAgICAgIGZvciAobGV0IGxlbiA9IGFkamFjZW50cy5sZW5ndGgsIGkgPSAwOyBpIDwgbGVuOyBpKyspIHtcbiAgICAgICAgICBjb25zdCBhZGphY2VudCA9IGFkamFjZW50c1tpXTtcbiAgICAgICAgICBjb25zdCBub2RlID0gZ3JhcGhbYWRqYWNlbnRdO1xuICAgICAgICAgIGlmIChub2RlLmRpc3RhbmNlID09PSAtMSkge1xuICAgICAgICAgICAgbm9kZS5kaXN0YW5jZSA9IGdyYXBoW2N1cnJlbnRdLmRpc3RhbmNlICsgMTtcbiAgICAgICAgICAgIG5vZGUucGFyZW50ID0gY3VycmVudDtcbiAgICAgICAgICAgIHF1ZXVlLnVuc2hpZnQoYWRqYWNlbnQpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgcmV0dXJuIGdyYXBoO1xuICAgIH1cbiAgICBmdW5jdGlvbiBsaW5rKGZyb20sIHRvKSB7XG4gICAgICByZXR1cm4gZnVuY3Rpb24oYXJncykge1xuICAgICAgICByZXR1cm4gdG8oZnJvbShhcmdzKSk7XG4gICAgICB9O1xuICAgIH1cbiAgICBmdW5jdGlvbiB3cmFwQ29udmVyc2lvbih0b01vZGVsLCBncmFwaCkge1xuICAgICAgY29uc3QgcGF0aCA9IFtncmFwaFt0b01vZGVsXS5wYXJlbnQsIHRvTW9kZWxdO1xuICAgICAgbGV0IGZuID0gY29udmVyc2lvbnNbZ3JhcGhbdG9Nb2RlbF0ucGFyZW50XVt0b01vZGVsXTtcbiAgICAgIGxldCBjdXIgPSBncmFwaFt0b01vZGVsXS5wYXJlbnQ7XG4gICAgICB3aGlsZSAoZ3JhcGhbY3VyXS5wYXJlbnQpIHtcbiAgICAgICAgcGF0aC51bnNoaWZ0KGdyYXBoW2N1cl0ucGFyZW50KTtcbiAgICAgICAgZm4gPSBsaW5rKGNvbnZlcnNpb25zW2dyYXBoW2N1cl0ucGFyZW50XVtjdXJdLCBmbik7XG4gICAgICAgIGN1ciA9IGdyYXBoW2N1cl0ucGFyZW50O1xuICAgICAgfVxuICAgICAgZm4uY29udmVyc2lvbiA9IHBhdGg7XG4gICAgICByZXR1cm4gZm47XG4gICAgfVxuICAgIG1vZHVsZTIuZXhwb3J0cyA9IGZ1bmN0aW9uKGZyb21Nb2RlbCkge1xuICAgICAgY29uc3QgZ3JhcGggPSBkZXJpdmVCRlMoZnJvbU1vZGVsKTtcbiAgICAgIGNvbnN0IGNvbnZlcnNpb24gPSB7fTtcbiAgICAgIGNvbnN0IG1vZGVscyA9IE9iamVjdC5rZXlzKGdyYXBoKTtcbiAgICAgIGZvciAobGV0IGxlbiA9IG1vZGVscy5sZW5ndGgsIGkgPSAwOyBpIDwgbGVuOyBpKyspIHtcbiAgICAgICAgY29uc3QgdG9Nb2RlbCA9IG1vZGVsc1tpXTtcbiAgICAgICAgY29uc3Qgbm9kZSA9IGdyYXBoW3RvTW9kZWxdO1xuICAgICAgICBpZiAobm9kZS5wYXJlbnQgPT09IG51bGwpIHtcbiAgICAgICAgICBjb250aW51ZTtcbiAgICAgICAgfVxuICAgICAgICBjb252ZXJzaW9uW3RvTW9kZWxdID0gd3JhcENvbnZlcnNpb24odG9Nb2RlbCwgZ3JhcGgpO1xuICAgICAgfVxuICAgICAgcmV0dXJuIGNvbnZlcnNpb247XG4gICAgfTtcbiAgfVxufSk7XG5cbi8vIG5vZGVfbW9kdWxlcy9jb2xvci1jb252ZXJ0L2luZGV4LmpzXG52YXIgcmVxdWlyZV9jb2xvcl9jb252ZXJ0ID0gX19jb21tb25KUyh7XG4gIFwibm9kZV9tb2R1bGVzL2NvbG9yLWNvbnZlcnQvaW5kZXguanNcIihleHBvcnRzMiwgbW9kdWxlMikge1xuICAgIHZhciBjb252ZXJzaW9ucyA9IHJlcXVpcmVfY29udmVyc2lvbnMoKTtcbiAgICB2YXIgcm91dGUgPSByZXF1aXJlX3JvdXRlMigpO1xuICAgIHZhciBjb252ZXJ0ID0ge307XG4gICAgdmFyIG1vZGVscyA9IE9iamVjdC5rZXlzKGNvbnZlcnNpb25zKTtcbiAgICBmdW5jdGlvbiB3cmFwUmF3KGZuKSB7XG4gICAgICBjb25zdCB3cmFwcGVkRm4gPSBmdW5jdGlvbiguLi5hcmdzKSB7XG4gICAgICAgIGNvbnN0IGFyZzAgPSBhcmdzWzBdO1xuICAgICAgICBpZiAoYXJnMCA9PT0gdm9pZCAwIHx8IGFyZzAgPT09IG51bGwpIHtcbiAgICAgICAgICByZXR1cm4gYXJnMDtcbiAgICAgICAgfVxuICAgICAgICBpZiAoYXJnMC5sZW5ndGggPiAxKSB7XG4gICAgICAgICAgYXJncyA9IGFyZzA7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGZuKGFyZ3MpO1xuICAgICAgfTtcbiAgICAgIGlmIChcImNvbnZlcnNpb25cIiBpbiBmbikge1xuICAgICAgICB3cmFwcGVkRm4uY29udmVyc2lvbiA9IGZuLmNvbnZlcnNpb247XG4gICAgICB9XG4gICAgICByZXR1cm4gd3JhcHBlZEZuO1xuICAgIH1cbiAgICBmdW5jdGlvbiB3cmFwUm91bmRlZChmbikge1xuICAgICAgY29uc3Qgd3JhcHBlZEZuID0gZnVuY3Rpb24oLi4uYXJncykge1xuICAgICAgICBjb25zdCBhcmcwID0gYXJnc1swXTtcbiAgICAgICAgaWYgKGFyZzAgPT09IHZvaWQgMCB8fCBhcmcwID09PSBudWxsKSB7XG4gICAgICAgICAgcmV0dXJuIGFyZzA7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGFyZzAubGVuZ3RoID4gMSkge1xuICAgICAgICAgIGFyZ3MgPSBhcmcwO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IHJlc3VsdCA9IGZuKGFyZ3MpO1xuICAgICAgICBpZiAodHlwZW9mIHJlc3VsdCA9PT0gXCJvYmplY3RcIikge1xuICAgICAgICAgIGZvciAobGV0IGxlbiA9IHJlc3VsdC5sZW5ndGgsIGkgPSAwOyBpIDwgbGVuOyBpKyspIHtcbiAgICAgICAgICAgIHJlc3VsdFtpXSA9IE1hdGgucm91bmQocmVzdWx0W2ldKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICAgIH07XG4gICAgICBpZiAoXCJjb252ZXJzaW9uXCIgaW4gZm4pIHtcbiAgICAgICAgd3JhcHBlZEZuLmNvbnZlcnNpb24gPSBmbi5jb252ZXJzaW9uO1xuICAgICAgfVxuICAgICAgcmV0dXJuIHdyYXBwZWRGbjtcbiAgICB9XG4gICAgbW9kZWxzLmZvckVhY2goKGZyb21Nb2RlbCkgPT4ge1xuICAgICAgY29udmVydFtmcm9tTW9kZWxdID0ge307XG4gICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoY29udmVydFtmcm9tTW9kZWxdLCBcImNoYW5uZWxzXCIsIHsgdmFsdWU6IGNvbnZlcnNpb25zW2Zyb21Nb2RlbF0uY2hhbm5lbHMgfSk7XG4gICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoY29udmVydFtmcm9tTW9kZWxdLCBcImxhYmVsc1wiLCB7IHZhbHVlOiBjb252ZXJzaW9uc1tmcm9tTW9kZWxdLmxhYmVscyB9KTtcbiAgICAgIGNvbnN0IHJvdXRlcyA9IHJvdXRlKGZyb21Nb2RlbCk7XG4gICAgICBjb25zdCByb3V0ZU1vZGVscyA9IE9iamVjdC5rZXlzKHJvdXRlcyk7XG4gICAgICByb3V0ZU1vZGVscy5mb3JFYWNoKCh0b01vZGVsKSA9PiB7XG4gICAgICAgIGNvbnN0IGZuID0gcm91dGVzW3RvTW9kZWxdO1xuICAgICAgICBjb252ZXJ0W2Zyb21Nb2RlbF1bdG9Nb2RlbF0gPSB3cmFwUm91bmRlZChmbik7XG4gICAgICAgIGNvbnZlcnRbZnJvbU1vZGVsXVt0b01vZGVsXS5yYXcgPSB3cmFwUmF3KGZuKTtcbiAgICAgIH0pO1xuICAgIH0pO1xuICAgIG1vZHVsZTIuZXhwb3J0cyA9IGNvbnZlcnQ7XG4gIH1cbn0pO1xuXG4vLyBub2RlX21vZHVsZXMvYW5zaS1zdHlsZXMvaW5kZXguanNcbnZhciByZXF1aXJlX2Fuc2lfc3R5bGVzID0gX19jb21tb25KUyh7XG4gIFwibm9kZV9tb2R1bGVzL2Fuc2ktc3R5bGVzL2luZGV4LmpzXCIoZXhwb3J0czIsIG1vZHVsZTIpIHtcbiAgICBcInVzZSBzdHJpY3RcIjtcbiAgICB2YXIgd3JhcEFuc2kxNiA9IChmbiwgb2Zmc2V0KSA9PiAoLi4uYXJncykgPT4ge1xuICAgICAgY29uc3QgY29kZSA9IGZuKC4uLmFyZ3MpO1xuICAgICAgcmV0dXJuIGBcXHgxQlske2NvZGUgKyBvZmZzZXR9bWA7XG4gICAgfTtcbiAgICB2YXIgd3JhcEFuc2kyNTYgPSAoZm4sIG9mZnNldCkgPT4gKC4uLmFyZ3MpID0+IHtcbiAgICAgIGNvbnN0IGNvZGUgPSBmbiguLi5hcmdzKTtcbiAgICAgIHJldHVybiBgXFx4MUJbJHszOCArIG9mZnNldH07NTske2NvZGV9bWA7XG4gICAgfTtcbiAgICB2YXIgd3JhcEFuc2kxNm0gPSAoZm4sIG9mZnNldCkgPT4gKC4uLmFyZ3MpID0+IHtcbiAgICAgIGNvbnN0IHJnYiA9IGZuKC4uLmFyZ3MpO1xuICAgICAgcmV0dXJuIGBcXHgxQlskezM4ICsgb2Zmc2V0fTsyOyR7cmdiWzBdfTske3JnYlsxXX07JHtyZ2JbMl19bWA7XG4gICAgfTtcbiAgICB2YXIgYW5zaTJhbnNpID0gKG4pID0+IG47XG4gICAgdmFyIHJnYjJyZ2IgPSAociwgZywgYikgPT4gW3IsIGcsIGJdO1xuICAgIHZhciBzZXRMYXp5UHJvcGVydHkgPSAob2JqZWN0LCBwcm9wZXJ0eSwgZ2V0KSA9PiB7XG4gICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqZWN0LCBwcm9wZXJ0eSwge1xuICAgICAgICBnZXQ6ICgpID0+IHtcbiAgICAgICAgICBjb25zdCB2YWx1ZSA9IGdldCgpO1xuICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmplY3QsIHByb3BlcnR5LCB7XG4gICAgICAgICAgICB2YWx1ZSxcbiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsXG4gICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWVcbiAgICAgICAgICB9KTtcbiAgICAgICAgICByZXR1cm4gdmFsdWU7XG4gICAgICAgIH0sXG4gICAgICAgIGVudW1lcmFibGU6IHRydWUsXG4gICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZVxuICAgICAgfSk7XG4gICAgfTtcbiAgICB2YXIgY29sb3JDb252ZXJ0O1xuICAgIHZhciBtYWtlRHluYW1pY1N0eWxlcyA9ICh3cmFwLCB0YXJnZXRTcGFjZSwgaWRlbnRpdHksIGlzQmFja2dyb3VuZCkgPT4ge1xuICAgICAgaWYgKGNvbG9yQ29udmVydCA9PT0gdm9pZCAwKSB7XG4gICAgICAgIGNvbG9yQ29udmVydCA9IHJlcXVpcmVfY29sb3JfY29udmVydCgpO1xuICAgICAgfVxuICAgICAgY29uc3Qgb2Zmc2V0ID0gaXNCYWNrZ3JvdW5kID8gMTAgOiAwO1xuICAgICAgY29uc3Qgc3R5bGVzID0ge307XG4gICAgICBmb3IgKGNvbnN0IFtzb3VyY2VTcGFjZSwgc3VpdGVdIG9mIE9iamVjdC5lbnRyaWVzKGNvbG9yQ29udmVydCkpIHtcbiAgICAgICAgY29uc3QgbmFtZSA9IHNvdXJjZVNwYWNlID09PSBcImFuc2kxNlwiID8gXCJhbnNpXCIgOiBzb3VyY2VTcGFjZTtcbiAgICAgICAgaWYgKHNvdXJjZVNwYWNlID09PSB0YXJnZXRTcGFjZSkge1xuICAgICAgICAgIHN0eWxlc1tuYW1lXSA9IHdyYXAoaWRlbnRpdHksIG9mZnNldCk7XG4gICAgICAgIH0gZWxzZSBpZiAodHlwZW9mIHN1aXRlID09PSBcIm9iamVjdFwiKSB7XG4gICAgICAgICAgc3R5bGVzW25hbWVdID0gd3JhcChzdWl0ZVt0YXJnZXRTcGFjZV0sIG9mZnNldCk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIHJldHVybiBzdHlsZXM7XG4gICAgfTtcbiAgICBmdW5jdGlvbiBhc3NlbWJsZVN0eWxlcygpIHtcbiAgICAgIGNvbnN0IGNvZGVzID0gLyogQF9fUFVSRV9fICovIG5ldyBNYXAoKTtcbiAgICAgIGNvbnN0IHN0eWxlcyA9IHtcbiAgICAgICAgbW9kaWZpZXI6IHtcbiAgICAgICAgICByZXNldDogWzAsIDBdLFxuICAgICAgICAgIC8vIDIxIGlzbid0IHdpZGVseSBzdXBwb3J0ZWQgYW5kIDIyIGRvZXMgdGhlIHNhbWUgdGhpbmdcbiAgICAgICAgICBib2xkOiBbMSwgMjJdLFxuICAgICAgICAgIGRpbTogWzIsIDIyXSxcbiAgICAgICAgICBpdGFsaWM6IFszLCAyM10sXG4gICAgICAgICAgdW5kZXJsaW5lOiBbNCwgMjRdLFxuICAgICAgICAgIGludmVyc2U6IFs3LCAyN10sXG4gICAgICAgICAgaGlkZGVuOiBbOCwgMjhdLFxuICAgICAgICAgIHN0cmlrZXRocm91Z2g6IFs5LCAyOV1cbiAgICAgICAgfSxcbiAgICAgICAgY29sb3I6IHtcbiAgICAgICAgICBibGFjazogWzMwLCAzOV0sXG4gICAgICAgICAgcmVkOiBbMzEsIDM5XSxcbiAgICAgICAgICBncmVlbjogWzMyLCAzOV0sXG4gICAgICAgICAgeWVsbG93OiBbMzMsIDM5XSxcbiAgICAgICAgICBibHVlOiBbMzQsIDM5XSxcbiAgICAgICAgICBtYWdlbnRhOiBbMzUsIDM5XSxcbiAgICAgICAgICBjeWFuOiBbMzYsIDM5XSxcbiAgICAgICAgICB3aGl0ZTogWzM3LCAzOV0sXG4gICAgICAgICAgLy8gQnJpZ2h0IGNvbG9yXG4gICAgICAgICAgYmxhY2tCcmlnaHQ6IFs5MCwgMzldLFxuICAgICAgICAgIHJlZEJyaWdodDogWzkxLCAzOV0sXG4gICAgICAgICAgZ3JlZW5CcmlnaHQ6IFs5MiwgMzldLFxuICAgICAgICAgIHllbGxvd0JyaWdodDogWzkzLCAzOV0sXG4gICAgICAgICAgYmx1ZUJyaWdodDogWzk0LCAzOV0sXG4gICAgICAgICAgbWFnZW50YUJyaWdodDogWzk1LCAzOV0sXG4gICAgICAgICAgY3lhbkJyaWdodDogWzk2LCAzOV0sXG4gICAgICAgICAgd2hpdGVCcmlnaHQ6IFs5NywgMzldXG4gICAgICAgIH0sXG4gICAgICAgIGJnQ29sb3I6IHtcbiAgICAgICAgICBiZ0JsYWNrOiBbNDAsIDQ5XSxcbiAgICAgICAgICBiZ1JlZDogWzQxLCA0OV0sXG4gICAgICAgICAgYmdHcmVlbjogWzQyLCA0OV0sXG4gICAgICAgICAgYmdZZWxsb3c6IFs0MywgNDldLFxuICAgICAgICAgIGJnQmx1ZTogWzQ0LCA0OV0sXG4gICAgICAgICAgYmdNYWdlbnRhOiBbNDUsIDQ5XSxcbiAgICAgICAgICBiZ0N5YW46IFs0NiwgNDldLFxuICAgICAgICAgIGJnV2hpdGU6IFs0NywgNDldLFxuICAgICAgICAgIC8vIEJyaWdodCBjb2xvclxuICAgICAgICAgIGJnQmxhY2tCcmlnaHQ6IFsxMDAsIDQ5XSxcbiAgICAgICAgICBiZ1JlZEJyaWdodDogWzEwMSwgNDldLFxuICAgICAgICAgIGJnR3JlZW5CcmlnaHQ6IFsxMDIsIDQ5XSxcbiAgICAgICAgICBiZ1llbGxvd0JyaWdodDogWzEwMywgNDldLFxuICAgICAgICAgIGJnQmx1ZUJyaWdodDogWzEwNCwgNDldLFxuICAgICAgICAgIGJnTWFnZW50YUJyaWdodDogWzEwNSwgNDldLFxuICAgICAgICAgIGJnQ3lhbkJyaWdodDogWzEwNiwgNDldLFxuICAgICAgICAgIGJnV2hpdGVCcmlnaHQ6IFsxMDcsIDQ5XVxuICAgICAgICB9XG4gICAgICB9O1xuICAgICAgc3R5bGVzLmNvbG9yLmdyYXkgPSBzdHlsZXMuY29sb3IuYmxhY2tCcmlnaHQ7XG4gICAgICBzdHlsZXMuYmdDb2xvci5iZ0dyYXkgPSBzdHlsZXMuYmdDb2xvci5iZ0JsYWNrQnJpZ2h0O1xuICAgICAgc3R5bGVzLmNvbG9yLmdyZXkgPSBzdHlsZXMuY29sb3IuYmxhY2tCcmlnaHQ7XG4gICAgICBzdHlsZXMuYmdDb2xvci5iZ0dyZXkgPSBzdHlsZXMuYmdDb2xvci5iZ0JsYWNrQnJpZ2h0O1xuICAgICAgZm9yIChjb25zdCBbZ3JvdXBOYW1lLCBncm91cF0gb2YgT2JqZWN0LmVudHJpZXMoc3R5bGVzKSkge1xuICAgICAgICBmb3IgKGNvbnN0IFtzdHlsZU5hbWUsIHN0eWxlXSBvZiBPYmplY3QuZW50cmllcyhncm91cCkpIHtcbiAgICAgICAgICBzdHlsZXNbc3R5bGVOYW1lXSA9IHtcbiAgICAgICAgICAgIG9wZW46IGBcXHgxQlske3N0eWxlWzBdfW1gLFxuICAgICAgICAgICAgY2xvc2U6IGBcXHgxQlske3N0eWxlWzFdfW1gXG4gICAgICAgICAgfTtcbiAgICAgICAgICBncm91cFtzdHlsZU5hbWVdID0gc3R5bGVzW3N0eWxlTmFtZV07XG4gICAgICAgICAgY29kZXMuc2V0KHN0eWxlWzBdLCBzdHlsZVsxXSk7XG4gICAgICAgIH1cbiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHN0eWxlcywgZ3JvdXBOYW1lLCB7XG4gICAgICAgICAgdmFsdWU6IGdyb3VwLFxuICAgICAgICAgIGVudW1lcmFibGU6IGZhbHNlXG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHN0eWxlcywgXCJjb2Rlc1wiLCB7XG4gICAgICAgIHZhbHVlOiBjb2RlcyxcbiAgICAgICAgZW51bWVyYWJsZTogZmFsc2VcbiAgICAgIH0pO1xuICAgICAgc3R5bGVzLmNvbG9yLmNsb3NlID0gXCJcXHgxQlszOW1cIjtcbiAgICAgIHN0eWxlcy5iZ0NvbG9yLmNsb3NlID0gXCJcXHgxQls0OW1cIjtcbiAgICAgIHNldExhenlQcm9wZXJ0eShzdHlsZXMuY29sb3IsIFwiYW5zaVwiLCAoKSA9PiBtYWtlRHluYW1pY1N0eWxlcyh3cmFwQW5zaTE2LCBcImFuc2kxNlwiLCBhbnNpMmFuc2ksIGZhbHNlKSk7XG4gICAgICBzZXRMYXp5UHJvcGVydHkoc3R5bGVzLmNvbG9yLCBcImFuc2kyNTZcIiwgKCkgPT4gbWFrZUR5bmFtaWNTdHlsZXMod3JhcEFuc2kyNTYsIFwiYW5zaTI1NlwiLCBhbnNpMmFuc2ksIGZhbHNlKSk7XG4gICAgICBzZXRMYXp5UHJvcGVydHkoc3R5bGVzLmNvbG9yLCBcImFuc2kxNm1cIiwgKCkgPT4gbWFrZUR5bmFtaWNTdHlsZXMod3JhcEFuc2kxNm0sIFwicmdiXCIsIHJnYjJyZ2IsIGZhbHNlKSk7XG4gICAgICBzZXRMYXp5UHJvcGVydHkoc3R5bGVzLmJnQ29sb3IsIFwiYW5zaVwiLCAoKSA9PiBtYWtlRHluYW1pY1N0eWxlcyh3cmFwQW5zaTE2LCBcImFuc2kxNlwiLCBhbnNpMmFuc2ksIHRydWUpKTtcbiAgICAgIHNldExhenlQcm9wZXJ0eShzdHlsZXMuYmdDb2xvciwgXCJhbnNpMjU2XCIsICgpID0+IG1ha2VEeW5hbWljU3R5bGVzKHdyYXBBbnNpMjU2LCBcImFuc2kyNTZcIiwgYW5zaTJhbnNpLCB0cnVlKSk7XG4gICAgICBzZXRMYXp5UHJvcGVydHkoc3R5bGVzLmJnQ29sb3IsIFwiYW5zaTE2bVwiLCAoKSA9PiBtYWtlRHluYW1pY1N0eWxlcyh3cmFwQW5zaTE2bSwgXCJyZ2JcIiwgcmdiMnJnYiwgdHJ1ZSkpO1xuICAgICAgcmV0dXJuIHN0eWxlcztcbiAgICB9XG4gICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG1vZHVsZTIsIFwiZXhwb3J0c1wiLCB7XG4gICAgICBlbnVtZXJhYmxlOiB0cnVlLFxuICAgICAgZ2V0OiBhc3NlbWJsZVN0eWxlc1xuICAgIH0pO1xuICB9XG59KTtcblxuLy8gbm9kZV9tb2R1bGVzL2NoYWxrL3NvdXJjZS91dGlsLmpzXG52YXIgcmVxdWlyZV91dGlsID0gX19jb21tb25KUyh7XG4gIFwibm9kZV9tb2R1bGVzL2NoYWxrL3NvdXJjZS91dGlsLmpzXCIoZXhwb3J0czIsIG1vZHVsZTIpIHtcbiAgICBcInVzZSBzdHJpY3RcIjtcbiAgICB2YXIgc3RyaW5nUmVwbGFjZUFsbCA9IChzdHJpbmcsIHN1YnN0cmluZywgcmVwbGFjZXIpID0+IHtcbiAgICAgIGxldCBpbmRleCA9IHN0cmluZy5pbmRleE9mKHN1YnN0cmluZyk7XG4gICAgICBpZiAoaW5kZXggPT09IC0xKSB7XG4gICAgICAgIHJldHVybiBzdHJpbmc7XG4gICAgICB9XG4gICAgICBjb25zdCBzdWJzdHJpbmdMZW5ndGggPSBzdWJzdHJpbmcubGVuZ3RoO1xuICAgICAgbGV0IGVuZEluZGV4ID0gMDtcbiAgICAgIGxldCByZXR1cm5WYWx1ZSA9IFwiXCI7XG4gICAgICBkbyB7XG4gICAgICAgIHJldHVyblZhbHVlICs9IHN0cmluZy5zdWJzdHIoZW5kSW5kZXgsIGluZGV4IC0gZW5kSW5kZXgpICsgc3Vic3RyaW5nICsgcmVwbGFjZXI7XG4gICAgICAgIGVuZEluZGV4ID0gaW5kZXggKyBzdWJzdHJpbmdMZW5ndGg7XG4gICAgICAgIGluZGV4ID0gc3RyaW5nLmluZGV4T2Yoc3Vic3RyaW5nLCBlbmRJbmRleCk7XG4gICAgICB9IHdoaWxlIChpbmRleCAhPT0gLTEpO1xuICAgICAgcmV0dXJuVmFsdWUgKz0gc3RyaW5nLnN1YnN0cihlbmRJbmRleCk7XG4gICAgICByZXR1cm4gcmV0dXJuVmFsdWU7XG4gICAgfTtcbiAgICB2YXIgc3RyaW5nRW5jYXNlQ1JMRldpdGhGaXJzdEluZGV4ID0gKHN0cmluZywgcHJlZml4LCBwb3N0Zml4LCBpbmRleCkgPT4ge1xuICAgICAgbGV0IGVuZEluZGV4ID0gMDtcbiAgICAgIGxldCByZXR1cm5WYWx1ZSA9IFwiXCI7XG4gICAgICBkbyB7XG4gICAgICAgIGNvbnN0IGdvdENSID0gc3RyaW5nW2luZGV4IC0gMV0gPT09IFwiXFxyXCI7XG4gICAgICAgIHJldHVyblZhbHVlICs9IHN0cmluZy5zdWJzdHIoZW5kSW5kZXgsIChnb3RDUiA/IGluZGV4IC0gMSA6IGluZGV4KSAtIGVuZEluZGV4KSArIHByZWZpeCArIChnb3RDUiA/IFwiXFxyXFxuXCIgOiBcIlxcblwiKSArIHBvc3RmaXg7XG4gICAgICAgIGVuZEluZGV4ID0gaW5kZXggKyAxO1xuICAgICAgICBpbmRleCA9IHN0cmluZy5pbmRleE9mKFwiXFxuXCIsIGVuZEluZGV4KTtcbiAgICAgIH0gd2hpbGUgKGluZGV4ICE9PSAtMSk7XG4gICAgICByZXR1cm5WYWx1ZSArPSBzdHJpbmcuc3Vic3RyKGVuZEluZGV4KTtcbiAgICAgIHJldHVybiByZXR1cm5WYWx1ZTtcbiAgICB9O1xuICAgIG1vZHVsZTIuZXhwb3J0cyA9IHtcbiAgICAgIHN0cmluZ1JlcGxhY2VBbGwsXG4gICAgICBzdHJpbmdFbmNhc2VDUkxGV2l0aEZpcnN0SW5kZXhcbiAgICB9O1xuICB9XG59KTtcblxuLy8gbm9kZV9tb2R1bGVzL2NoYWxrL3NvdXJjZS90ZW1wbGF0ZXMuanNcbnZhciByZXF1aXJlX3RlbXBsYXRlcyA9IF9fY29tbW9uSlMoe1xuICBcIm5vZGVfbW9kdWxlcy9jaGFsay9zb3VyY2UvdGVtcGxhdGVzLmpzXCIoZXhwb3J0czIsIG1vZHVsZTIpIHtcbiAgICBcInVzZSBzdHJpY3RcIjtcbiAgICB2YXIgVEVNUExBVEVfUkVHRVggPSAvKD86XFxcXCh1KD86W2EtZlxcZF17NH18XFx7W2EtZlxcZF17MSw2fVxcfSl8eFthLWZcXGRdezJ9fC4pKXwoPzpcXHsofik/KFxcdysoPzpcXChbXildKlxcKSk/KD86XFwuXFx3Kyg/OlxcKFteKV0qXFwpKT8pKikoPzpbIFxcdF18KD89XFxyP1xcbikpKXwoXFx9KXwoKD86LnxbXFxyXFxuXFxmXSkrPykvZ2k7XG4gICAgdmFyIFNUWUxFX1JFR0VYID0gLyg/Ol58XFwuKShcXHcrKSg/OlxcKChbXildKilcXCkpPy9nO1xuICAgIHZhciBTVFJJTkdfUkVHRVggPSAvXihbJ1wiXSkoKD86XFxcXC58KD8hXFwxKVteXFxcXF0pKilcXDEkLztcbiAgICB2YXIgRVNDQVBFX1JFR0VYID0gL1xcXFwodSg/OlthLWZcXGRdezR9fHtbYS1mXFxkXXsxLDZ9fSl8eFthLWZcXGRdezJ9fC4pfChbXlxcXFxdKS9naTtcbiAgICB2YXIgRVNDQVBFUyA9IC8qIEBfX1BVUkVfXyAqLyBuZXcgTWFwKFtcbiAgICAgIFtcIm5cIiwgXCJcXG5cIl0sXG4gICAgICBbXCJyXCIsIFwiXFxyXCJdLFxuICAgICAgW1widFwiLCBcIlx0XCJdLFxuICAgICAgW1wiYlwiLCBcIlxcYlwiXSxcbiAgICAgIFtcImZcIiwgXCJcXGZcIl0sXG4gICAgICBbXCJ2XCIsIFwiXFx2XCJdLFxuICAgICAgW1wiMFwiLCBcIlxcMFwiXSxcbiAgICAgIFtcIlxcXFxcIiwgXCJcXFxcXCJdLFxuICAgICAgW1wiZVwiLCBcIlxceDFCXCJdLFxuICAgICAgW1wiYVwiLCBcIlxceDA3XCJdXG4gICAgXSk7XG4gICAgZnVuY3Rpb24gdW5lc2NhcGUyKGMpIHtcbiAgICAgIGNvbnN0IHUgPSBjWzBdID09PSBcInVcIjtcbiAgICAgIGNvbnN0IGJyYWNrZXQgPSBjWzFdID09PSBcIntcIjtcbiAgICAgIGlmICh1ICYmICFicmFja2V0ICYmIGMubGVuZ3RoID09PSA1IHx8IGNbMF0gPT09IFwieFwiICYmIGMubGVuZ3RoID09PSAzKSB7XG4gICAgICAgIHJldHVybiBTdHJpbmcuZnJvbUNoYXJDb2RlKHBhcnNlSW50KGMuc2xpY2UoMSksIDE2KSk7XG4gICAgICB9XG4gICAgICBpZiAodSAmJiBicmFja2V0KSB7XG4gICAgICAgIHJldHVybiBTdHJpbmcuZnJvbUNvZGVQb2ludChwYXJzZUludChjLnNsaWNlKDIsIC0xKSwgMTYpKTtcbiAgICAgIH1cbiAgICAgIHJldHVybiBFU0NBUEVTLmdldChjKSB8fCBjO1xuICAgIH1cbiAgICBmdW5jdGlvbiBwYXJzZUFyZ3VtZW50cyhuYW1lLCBhcmd1bWVudHNfKSB7XG4gICAgICBjb25zdCByZXN1bHRzID0gW107XG4gICAgICBjb25zdCBjaHVua3MgPSBhcmd1bWVudHNfLnRyaW0oKS5zcGxpdCgvXFxzKixcXHMqL2cpO1xuICAgICAgbGV0IG1hdGNoZXM7XG4gICAgICBmb3IgKGNvbnN0IGNodW5rIG9mIGNodW5rcykge1xuICAgICAgICBjb25zdCBudW1iZXIgPSBOdW1iZXIoY2h1bmspO1xuICAgICAgICBpZiAoIU51bWJlci5pc05hTihudW1iZXIpKSB7XG4gICAgICAgICAgcmVzdWx0cy5wdXNoKG51bWJlcik7XG4gICAgICAgIH0gZWxzZSBpZiAobWF0Y2hlcyA9IGNodW5rLm1hdGNoKFNUUklOR19SRUdFWCkpIHtcbiAgICAgICAgICByZXN1bHRzLnB1c2gobWF0Y2hlc1syXS5yZXBsYWNlKEVTQ0FQRV9SRUdFWCwgKG0sIGVzY2FwZTIsIGNoYXJhY3RlcikgPT4gZXNjYXBlMiA/IHVuZXNjYXBlMihlc2NhcGUyKSA6IGNoYXJhY3RlcikpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBDaGFsayB0ZW1wbGF0ZSBzdHlsZSBhcmd1bWVudDogJHtjaHVua30gKGluIHN0eWxlICcke25hbWV9JylgKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgcmV0dXJuIHJlc3VsdHM7XG4gICAgfVxuICAgIGZ1bmN0aW9uIHBhcnNlU3R5bGUoc3R5bGUpIHtcbiAgICAgIFNUWUxFX1JFR0VYLmxhc3RJbmRleCA9IDA7XG4gICAgICBjb25zdCByZXN1bHRzID0gW107XG4gICAgICBsZXQgbWF0Y2hlcztcbiAgICAgIHdoaWxlICgobWF0Y2hlcyA9IFNUWUxFX1JFR0VYLmV4ZWMoc3R5bGUpKSAhPT0gbnVsbCkge1xuICAgICAgICBjb25zdCBuYW1lID0gbWF0Y2hlc1sxXTtcbiAgICAgICAgaWYgKG1hdGNoZXNbMl0pIHtcbiAgICAgICAgICBjb25zdCBhcmdzID0gcGFyc2VBcmd1bWVudHMobmFtZSwgbWF0Y2hlc1syXSk7XG4gICAgICAgICAgcmVzdWx0cy5wdXNoKFtuYW1lXS5jb25jYXQoYXJncykpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHJlc3VsdHMucHVzaChbbmFtZV0pO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICByZXR1cm4gcmVzdWx0cztcbiAgICB9XG4gICAgZnVuY3Rpb24gYnVpbGRTdHlsZShjaGFsazIsIHN0eWxlcykge1xuICAgICAgY29uc3QgZW5hYmxlZCA9IHt9O1xuICAgICAgZm9yIChjb25zdCBsYXllciBvZiBzdHlsZXMpIHtcbiAgICAgICAgZm9yIChjb25zdCBzdHlsZSBvZiBsYXllci5zdHlsZXMpIHtcbiAgICAgICAgICBlbmFibGVkW3N0eWxlWzBdXSA9IGxheWVyLmludmVyc2UgPyBudWxsIDogc3R5bGUuc2xpY2UoMSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIGxldCBjdXJyZW50ID0gY2hhbGsyO1xuICAgICAgZm9yIChjb25zdCBbc3R5bGVOYW1lLCBzdHlsZXMyXSBvZiBPYmplY3QuZW50cmllcyhlbmFibGVkKSkge1xuICAgICAgICBpZiAoIUFycmF5LmlzQXJyYXkoc3R5bGVzMikpIHtcbiAgICAgICAgICBjb250aW51ZTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoIShzdHlsZU5hbWUgaW4gY3VycmVudCkpIHtcbiAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYFVua25vd24gQ2hhbGsgc3R5bGU6ICR7c3R5bGVOYW1lfWApO1xuICAgICAgICB9XG4gICAgICAgIGN1cnJlbnQgPSBzdHlsZXMyLmxlbmd0aCA+IDAgPyBjdXJyZW50W3N0eWxlTmFtZV0oLi4uc3R5bGVzMikgOiBjdXJyZW50W3N0eWxlTmFtZV07XG4gICAgICB9XG4gICAgICByZXR1cm4gY3VycmVudDtcbiAgICB9XG4gICAgbW9kdWxlMi5leHBvcnRzID0gKGNoYWxrMiwgdGVtcG9yYXJ5KSA9PiB7XG4gICAgICBjb25zdCBzdHlsZXMgPSBbXTtcbiAgICAgIGNvbnN0IGNodW5rcyA9IFtdO1xuICAgICAgbGV0IGNodW5rID0gW107XG4gICAgICB0ZW1wb3JhcnkucmVwbGFjZShURU1QTEFURV9SRUdFWCwgKG0sIGVzY2FwZUNoYXJhY3RlciwgaW52ZXJzZSwgc3R5bGUsIGNsb3NlLCBjaGFyYWN0ZXIpID0+IHtcbiAgICAgICAgaWYgKGVzY2FwZUNoYXJhY3Rlcikge1xuICAgICAgICAgIGNodW5rLnB1c2godW5lc2NhcGUyKGVzY2FwZUNoYXJhY3RlcikpO1xuICAgICAgICB9IGVsc2UgaWYgKHN0eWxlKSB7XG4gICAgICAgICAgY29uc3Qgc3RyaW5nID0gY2h1bmsuam9pbihcIlwiKTtcbiAgICAgICAgICBjaHVuayA9IFtdO1xuICAgICAgICAgIGNodW5rcy5wdXNoKHN0eWxlcy5sZW5ndGggPT09IDAgPyBzdHJpbmcgOiBidWlsZFN0eWxlKGNoYWxrMiwgc3R5bGVzKShzdHJpbmcpKTtcbiAgICAgICAgICBzdHlsZXMucHVzaCh7IGludmVyc2UsIHN0eWxlczogcGFyc2VTdHlsZShzdHlsZSkgfSk7XG4gICAgICAgIH0gZWxzZSBpZiAoY2xvc2UpIHtcbiAgICAgICAgICBpZiAoc3R5bGVzLmxlbmd0aCA9PT0gMCkge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKFwiRm91bmQgZXh0cmFuZW91cyB9IGluIENoYWxrIHRlbXBsYXRlIGxpdGVyYWxcIik7XG4gICAgICAgICAgfVxuICAgICAgICAgIGNodW5rcy5wdXNoKGJ1aWxkU3R5bGUoY2hhbGsyLCBzdHlsZXMpKGNodW5rLmpvaW4oXCJcIikpKTtcbiAgICAgICAgICBjaHVuayA9IFtdO1xuICAgICAgICAgIHN0eWxlcy5wb3AoKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBjaHVuay5wdXNoKGNoYXJhY3Rlcik7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgICAgY2h1bmtzLnB1c2goY2h1bmsuam9pbihcIlwiKSk7XG4gICAgICBpZiAoc3R5bGVzLmxlbmd0aCA+IDApIHtcbiAgICAgICAgY29uc3QgZXJyTWVzc2FnZSA9IGBDaGFsayB0ZW1wbGF0ZSBsaXRlcmFsIGlzIG1pc3NpbmcgJHtzdHlsZXMubGVuZ3RofSBjbG9zaW5nIGJyYWNrZXQke3N0eWxlcy5sZW5ndGggPT09IDEgPyBcIlwiIDogXCJzXCJ9IChcXGB9XFxgKWA7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihlcnJNZXNzYWdlKTtcbiAgICAgIH1cbiAgICAgIHJldHVybiBjaHVua3Muam9pbihcIlwiKTtcbiAgICB9O1xuICB9XG59KTtcblxuLy8gbm9kZV9tb2R1bGVzL2NoYWxrL3NvdXJjZS9pbmRleC5qc1xudmFyIHJlcXVpcmVfc291cmNlID0gX19jb21tb25KUyh7XG4gIFwibm9kZV9tb2R1bGVzL2NoYWxrL3NvdXJjZS9pbmRleC5qc1wiKGV4cG9ydHMyLCBtb2R1bGUyKSB7XG4gICAgXCJ1c2Ugc3RyaWN0XCI7XG4gICAgdmFyIGFuc2lTdHlsZXMgPSByZXF1aXJlX2Fuc2lfc3R5bGVzKCk7XG4gICAgdmFyIHsgc3Rkb3V0OiBzdGRvdXRDb2xvciwgc3RkZXJyOiBzdGRlcnJDb2xvciB9ID0gcmVxdWlyZV9zdXBwb3J0c19jb2xvcigpO1xuICAgIHZhciB7XG4gICAgICBzdHJpbmdSZXBsYWNlQWxsLFxuICAgICAgc3RyaW5nRW5jYXNlQ1JMRldpdGhGaXJzdEluZGV4XG4gICAgfSA9IHJlcXVpcmVfdXRpbCgpO1xuICAgIHZhciB7IGlzQXJyYXkgfSA9IEFycmF5O1xuICAgIHZhciBsZXZlbE1hcHBpbmcgPSBbXG4gICAgICBcImFuc2lcIixcbiAgICAgIFwiYW5zaVwiLFxuICAgICAgXCJhbnNpMjU2XCIsXG4gICAgICBcImFuc2kxNm1cIlxuICAgIF07XG4gICAgdmFyIHN0eWxlcyA9IC8qIEBfX1BVUkVfXyAqLyBPYmplY3QuY3JlYXRlKG51bGwpO1xuICAgIHZhciBhcHBseU9wdGlvbnMgPSAob2JqZWN0LCBvcHRpb25zID0ge30pID0+IHtcbiAgICAgIGlmIChvcHRpb25zLmxldmVsICYmICEoTnVtYmVyLmlzSW50ZWdlcihvcHRpb25zLmxldmVsKSAmJiBvcHRpb25zLmxldmVsID49IDAgJiYgb3B0aW9ucy5sZXZlbCA8PSAzKSkge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXCJUaGUgYGxldmVsYCBvcHRpb24gc2hvdWxkIGJlIGFuIGludGVnZXIgZnJvbSAwIHRvIDNcIik7XG4gICAgICB9XG4gICAgICBjb25zdCBjb2xvckxldmVsID0gc3Rkb3V0Q29sb3IgPyBzdGRvdXRDb2xvci5sZXZlbCA6IDA7XG4gICAgICBvYmplY3QubGV2ZWwgPSBvcHRpb25zLmxldmVsID09PSB2b2lkIDAgPyBjb2xvckxldmVsIDogb3B0aW9ucy5sZXZlbDtcbiAgICB9O1xuICAgIHZhciBDaGFsa0NsYXNzID0gY2xhc3Mge1xuICAgICAgY29uc3RydWN0b3Iob3B0aW9ucykge1xuICAgICAgICByZXR1cm4gY2hhbGtGYWN0b3J5KG9wdGlvbnMpO1xuICAgICAgfVxuICAgIH07XG4gICAgdmFyIGNoYWxrRmFjdG9yeSA9IChvcHRpb25zKSA9PiB7XG4gICAgICBjb25zdCBjaGFsazMgPSB7fTtcbiAgICAgIGFwcGx5T3B0aW9ucyhjaGFsazMsIG9wdGlvbnMpO1xuICAgICAgY2hhbGszLnRlbXBsYXRlID0gKC4uLmFyZ3VtZW50c18pID0+IGNoYWxrVGFnKGNoYWxrMy50ZW1wbGF0ZSwgLi4uYXJndW1lbnRzXyk7XG4gICAgICBPYmplY3Quc2V0UHJvdG90eXBlT2YoY2hhbGszLCBDaGFsay5wcm90b3R5cGUpO1xuICAgICAgT2JqZWN0LnNldFByb3RvdHlwZU9mKGNoYWxrMy50ZW1wbGF0ZSwgY2hhbGszKTtcbiAgICAgIGNoYWxrMy50ZW1wbGF0ZS5jb25zdHJ1Y3RvciA9ICgpID0+IHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKFwiYGNoYWxrLmNvbnN0cnVjdG9yKClgIGlzIGRlcHJlY2F0ZWQuIFVzZSBgbmV3IGNoYWxrLkluc3RhbmNlKClgIGluc3RlYWQuXCIpO1xuICAgICAgfTtcbiAgICAgIGNoYWxrMy50ZW1wbGF0ZS5JbnN0YW5jZSA9IENoYWxrQ2xhc3M7XG4gICAgICByZXR1cm4gY2hhbGszLnRlbXBsYXRlO1xuICAgIH07XG4gICAgZnVuY3Rpb24gQ2hhbGsob3B0aW9ucykge1xuICAgICAgcmV0dXJuIGNoYWxrRmFjdG9yeShvcHRpb25zKTtcbiAgICB9XG4gICAgZm9yIChjb25zdCBbc3R5bGVOYW1lLCBzdHlsZV0gb2YgT2JqZWN0LmVudHJpZXMoYW5zaVN0eWxlcykpIHtcbiAgICAgIHN0eWxlc1tzdHlsZU5hbWVdID0ge1xuICAgICAgICBnZXQoKSB7XG4gICAgICAgICAgY29uc3QgYnVpbGRlciA9IGNyZWF0ZUJ1aWxkZXIodGhpcywgY3JlYXRlU3R5bGVyKHN0eWxlLm9wZW4sIHN0eWxlLmNsb3NlLCB0aGlzLl9zdHlsZXIpLCB0aGlzLl9pc0VtcHR5KTtcbiAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkodGhpcywgc3R5bGVOYW1lLCB7IHZhbHVlOiBidWlsZGVyIH0pO1xuICAgICAgICAgIHJldHVybiBidWlsZGVyO1xuICAgICAgICB9XG4gICAgICB9O1xuICAgIH1cbiAgICBzdHlsZXMudmlzaWJsZSA9IHtcbiAgICAgIGdldCgpIHtcbiAgICAgICAgY29uc3QgYnVpbGRlciA9IGNyZWF0ZUJ1aWxkZXIodGhpcywgdGhpcy5fc3R5bGVyLCB0cnVlKTtcbiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHRoaXMsIFwidmlzaWJsZVwiLCB7IHZhbHVlOiBidWlsZGVyIH0pO1xuICAgICAgICByZXR1cm4gYnVpbGRlcjtcbiAgICAgIH1cbiAgICB9O1xuICAgIHZhciB1c2VkTW9kZWxzID0gW1wicmdiXCIsIFwiaGV4XCIsIFwia2V5d29yZFwiLCBcImhzbFwiLCBcImhzdlwiLCBcImh3YlwiLCBcImFuc2lcIiwgXCJhbnNpMjU2XCJdO1xuICAgIGZvciAoY29uc3QgbW9kZWwgb2YgdXNlZE1vZGVscykge1xuICAgICAgc3R5bGVzW21vZGVsXSA9IHtcbiAgICAgICAgZ2V0KCkge1xuICAgICAgICAgIGNvbnN0IHsgbGV2ZWwgfSA9IHRoaXM7XG4gICAgICAgICAgcmV0dXJuIGZ1bmN0aW9uKC4uLmFyZ3VtZW50c18pIHtcbiAgICAgICAgICAgIGNvbnN0IHN0eWxlciA9IGNyZWF0ZVN0eWxlcihhbnNpU3R5bGVzLmNvbG9yW2xldmVsTWFwcGluZ1tsZXZlbF1dW21vZGVsXSguLi5hcmd1bWVudHNfKSwgYW5zaVN0eWxlcy5jb2xvci5jbG9zZSwgdGhpcy5fc3R5bGVyKTtcbiAgICAgICAgICAgIHJldHVybiBjcmVhdGVCdWlsZGVyKHRoaXMsIHN0eWxlciwgdGhpcy5faXNFbXB0eSk7XG4gICAgICAgICAgfTtcbiAgICAgICAgfVxuICAgICAgfTtcbiAgICB9XG4gICAgZm9yIChjb25zdCBtb2RlbCBvZiB1c2VkTW9kZWxzKSB7XG4gICAgICBjb25zdCBiZ01vZGVsID0gXCJiZ1wiICsgbW9kZWxbMF0udG9VcHBlckNhc2UoKSArIG1vZGVsLnNsaWNlKDEpO1xuICAgICAgc3R5bGVzW2JnTW9kZWxdID0ge1xuICAgICAgICBnZXQoKSB7XG4gICAgICAgICAgY29uc3QgeyBsZXZlbCB9ID0gdGhpcztcbiAgICAgICAgICByZXR1cm4gZnVuY3Rpb24oLi4uYXJndW1lbnRzXykge1xuICAgICAgICAgICAgY29uc3Qgc3R5bGVyID0gY3JlYXRlU3R5bGVyKGFuc2lTdHlsZXMuYmdDb2xvcltsZXZlbE1hcHBpbmdbbGV2ZWxdXVttb2RlbF0oLi4uYXJndW1lbnRzXyksIGFuc2lTdHlsZXMuYmdDb2xvci5jbG9zZSwgdGhpcy5fc3R5bGVyKTtcbiAgICAgICAgICAgIHJldHVybiBjcmVhdGVCdWlsZGVyKHRoaXMsIHN0eWxlciwgdGhpcy5faXNFbXB0eSk7XG4gICAgICAgICAgfTtcbiAgICAgICAgfVxuICAgICAgfTtcbiAgICB9XG4gICAgdmFyIHByb3RvID0gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMoKCkgPT4ge1xuICAgIH0sIHtcbiAgICAgIC4uLnN0eWxlcyxcbiAgICAgIGxldmVsOiB7XG4gICAgICAgIGVudW1lcmFibGU6IHRydWUsXG4gICAgICAgIGdldCgpIHtcbiAgICAgICAgICByZXR1cm4gdGhpcy5fZ2VuZXJhdG9yLmxldmVsO1xuICAgICAgICB9LFxuICAgICAgICBzZXQobGV2ZWwpIHtcbiAgICAgICAgICB0aGlzLl9nZW5lcmF0b3IubGV2ZWwgPSBsZXZlbDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0pO1xuICAgIHZhciBjcmVhdGVTdHlsZXIgPSAob3BlbiwgY2xvc2UsIHBhcmVudCkgPT4ge1xuICAgICAgbGV0IG9wZW5BbGw7XG4gICAgICBsZXQgY2xvc2VBbGw7XG4gICAgICBpZiAocGFyZW50ID09PSB2b2lkIDApIHtcbiAgICAgICAgb3BlbkFsbCA9IG9wZW47XG4gICAgICAgIGNsb3NlQWxsID0gY2xvc2U7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBvcGVuQWxsID0gcGFyZW50Lm9wZW5BbGwgKyBvcGVuO1xuICAgICAgICBjbG9zZUFsbCA9IGNsb3NlICsgcGFyZW50LmNsb3NlQWxsO1xuICAgICAgfVxuICAgICAgcmV0dXJuIHtcbiAgICAgICAgb3BlbixcbiAgICAgICAgY2xvc2UsXG4gICAgICAgIG9wZW5BbGwsXG4gICAgICAgIGNsb3NlQWxsLFxuICAgICAgICBwYXJlbnRcbiAgICAgIH07XG4gICAgfTtcbiAgICB2YXIgY3JlYXRlQnVpbGRlciA9IChzZWxmMiwgX3N0eWxlciwgX2lzRW1wdHkpID0+IHtcbiAgICAgIGNvbnN0IGJ1aWxkZXIgPSAoLi4uYXJndW1lbnRzXykgPT4ge1xuICAgICAgICBpZiAoaXNBcnJheShhcmd1bWVudHNfWzBdKSAmJiBpc0FycmF5KGFyZ3VtZW50c19bMF0ucmF3KSkge1xuICAgICAgICAgIHJldHVybiBhcHBseVN0eWxlKGJ1aWxkZXIsIGNoYWxrVGFnKGJ1aWxkZXIsIC4uLmFyZ3VtZW50c18pKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gYXBwbHlTdHlsZShidWlsZGVyLCBhcmd1bWVudHNfLmxlbmd0aCA9PT0gMSA/IFwiXCIgKyBhcmd1bWVudHNfWzBdIDogYXJndW1lbnRzXy5qb2luKFwiIFwiKSk7XG4gICAgICB9O1xuICAgICAgT2JqZWN0LnNldFByb3RvdHlwZU9mKGJ1aWxkZXIsIHByb3RvKTtcbiAgICAgIGJ1aWxkZXIuX2dlbmVyYXRvciA9IHNlbGYyO1xuICAgICAgYnVpbGRlci5fc3R5bGVyID0gX3N0eWxlcjtcbiAgICAgIGJ1aWxkZXIuX2lzRW1wdHkgPSBfaXNFbXB0eTtcbiAgICAgIHJldHVybiBidWlsZGVyO1xuICAgIH07XG4gICAgdmFyIGFwcGx5U3R5bGUgPSAoc2VsZjIsIHN0cmluZykgPT4ge1xuICAgICAgaWYgKHNlbGYyLmxldmVsIDw9IDAgfHwgIXN0cmluZykge1xuICAgICAgICByZXR1cm4gc2VsZjIuX2lzRW1wdHkgPyBcIlwiIDogc3RyaW5nO1xuICAgICAgfVxuICAgICAgbGV0IHN0eWxlciA9IHNlbGYyLl9zdHlsZXI7XG4gICAgICBpZiAoc3R5bGVyID09PSB2b2lkIDApIHtcbiAgICAgICAgcmV0dXJuIHN0cmluZztcbiAgICAgIH1cbiAgICAgIGNvbnN0IHsgb3BlbkFsbCwgY2xvc2VBbGwgfSA9IHN0eWxlcjtcbiAgICAgIGlmIChzdHJpbmcuaW5kZXhPZihcIlxceDFCXCIpICE9PSAtMSkge1xuICAgICAgICB3aGlsZSAoc3R5bGVyICE9PSB2b2lkIDApIHtcbiAgICAgICAgICBzdHJpbmcgPSBzdHJpbmdSZXBsYWNlQWxsKHN0cmluZywgc3R5bGVyLmNsb3NlLCBzdHlsZXIub3Blbik7XG4gICAgICAgICAgc3R5bGVyID0gc3R5bGVyLnBhcmVudDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgY29uc3QgbGZJbmRleCA9IHN0cmluZy5pbmRleE9mKFwiXFxuXCIpO1xuICAgICAgaWYgKGxmSW5kZXggIT09IC0xKSB7XG4gICAgICAgIHN0cmluZyA9IHN0cmluZ0VuY2FzZUNSTEZXaXRoRmlyc3RJbmRleChzdHJpbmcsIGNsb3NlQWxsLCBvcGVuQWxsLCBsZkluZGV4KTtcbiAgICAgIH1cbiAgICAgIHJldHVybiBvcGVuQWxsICsgc3RyaW5nICsgY2xvc2VBbGw7XG4gICAgfTtcbiAgICB2YXIgdGVtcGxhdGU7XG4gICAgdmFyIGNoYWxrVGFnID0gKGNoYWxrMywgLi4uc3RyaW5ncykgPT4ge1xuICAgICAgY29uc3QgW2ZpcnN0U3RyaW5nXSA9IHN0cmluZ3M7XG4gICAgICBpZiAoIWlzQXJyYXkoZmlyc3RTdHJpbmcpIHx8ICFpc0FycmF5KGZpcnN0U3RyaW5nLnJhdykpIHtcbiAgICAgICAgcmV0dXJuIHN0cmluZ3Muam9pbihcIiBcIik7XG4gICAgICB9XG4gICAgICBjb25zdCBhcmd1bWVudHNfID0gc3RyaW5ncy5zbGljZSgxKTtcbiAgICAgIGNvbnN0IHBhcnRzID0gW2ZpcnN0U3RyaW5nLnJhd1swXV07XG4gICAgICBmb3IgKGxldCBpID0gMTsgaSA8IGZpcnN0U3RyaW5nLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgIHBhcnRzLnB1c2goXG4gICAgICAgICAgU3RyaW5nKGFyZ3VtZW50c19baSAtIDFdKS5yZXBsYWNlKC9be31cXFxcXS9nLCBcIlxcXFwkJlwiKSxcbiAgICAgICAgICBTdHJpbmcoZmlyc3RTdHJpbmcucmF3W2ldKVxuICAgICAgICApO1xuICAgICAgfVxuICAgICAgaWYgKHRlbXBsYXRlID09PSB2b2lkIDApIHtcbiAgICAgICAgdGVtcGxhdGUgPSByZXF1aXJlX3RlbXBsYXRlcygpO1xuICAgICAgfVxuICAgICAgcmV0dXJuIHRlbXBsYXRlKGNoYWxrMywgcGFydHMuam9pbihcIlwiKSk7XG4gICAgfTtcbiAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhDaGFsay5wcm90b3R5cGUsIHN0eWxlcyk7XG4gICAgdmFyIGNoYWxrMiA9IENoYWxrKCk7XG4gICAgY2hhbGsyLnN1cHBvcnRzQ29sb3IgPSBzdGRvdXRDb2xvcjtcbiAgICBjaGFsazIuc3RkZXJyID0gQ2hhbGsoeyBsZXZlbDogc3RkZXJyQ29sb3IgPyBzdGRlcnJDb2xvci5sZXZlbCA6IDAgfSk7XG4gICAgY2hhbGsyLnN0ZGVyci5zdXBwb3J0c0NvbG9yID0gc3RkZXJyQ29sb3I7XG4gICAgbW9kdWxlMi5leHBvcnRzID0gY2hhbGsyO1xuICB9XG59KTtcblxuLy8gbm9kZV9tb2R1bGVzL29iamVjdC1hc3NpZ24vaW5kZXguanNcbnZhciByZXF1aXJlX29iamVjdF9hc3NpZ24gPSBfX2NvbW1vbkpTKHtcbiAgXCJub2RlX21vZHVsZXMvb2JqZWN0LWFzc2lnbi9pbmRleC5qc1wiKGV4cG9ydHMyLCBtb2R1bGUyKSB7XG4gICAgXCJ1c2Ugc3RyaWN0XCI7XG4gICAgdmFyIGdldE93blByb3BlcnR5U3ltYm9scyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eVN5bWJvbHM7XG4gICAgdmFyIGhhc093blByb3BlcnR5ID0gT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eTtcbiAgICB2YXIgcHJvcElzRW51bWVyYWJsZSA9IE9iamVjdC5wcm90b3R5cGUucHJvcGVydHlJc0VudW1lcmFibGU7XG4gICAgZnVuY3Rpb24gdG9PYmplY3QodmFsKSB7XG4gICAgICBpZiAodmFsID09PSBudWxsIHx8IHZhbCA9PT0gdm9pZCAwKSB7XG4gICAgICAgIHRocm93IG5ldyBUeXBlRXJyb3IoXCJPYmplY3QuYXNzaWduIGNhbm5vdCBiZSBjYWxsZWQgd2l0aCBudWxsIG9yIHVuZGVmaW5lZFwiKTtcbiAgICAgIH1cbiAgICAgIHJldHVybiBPYmplY3QodmFsKTtcbiAgICB9XG4gICAgZnVuY3Rpb24gc2hvdWxkVXNlTmF0aXZlKCkge1xuICAgICAgdHJ5IHtcbiAgICAgICAgaWYgKCFPYmplY3QuYXNzaWduKSB7XG4gICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICB9XG4gICAgICAgIHZhciB0ZXN0MSA9IG5ldyBTdHJpbmcoXCJhYmNcIik7XG4gICAgICAgIHRlc3QxWzVdID0gXCJkZVwiO1xuICAgICAgICBpZiAoT2JqZWN0LmdldE93blByb3BlcnR5TmFtZXModGVzdDEpWzBdID09PSBcIjVcIikge1xuICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgfVxuICAgICAgICB2YXIgdGVzdDIgPSB7fTtcbiAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCAxMDsgaSsrKSB7XG4gICAgICAgICAgdGVzdDJbXCJfXCIgKyBTdHJpbmcuZnJvbUNoYXJDb2RlKGkpXSA9IGk7XG4gICAgICAgIH1cbiAgICAgICAgdmFyIG9yZGVyMiA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eU5hbWVzKHRlc3QyKS5tYXAoZnVuY3Rpb24obikge1xuICAgICAgICAgIHJldHVybiB0ZXN0MltuXTtcbiAgICAgICAgfSk7XG4gICAgICAgIGlmIChvcmRlcjIuam9pbihcIlwiKSAhPT0gXCIwMTIzNDU2Nzg5XCIpIHtcbiAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgIH1cbiAgICAgICAgdmFyIHRlc3QzID0ge307XG4gICAgICAgIFwiYWJjZGVmZ2hpamtsbW5vcHFyc3RcIi5zcGxpdChcIlwiKS5mb3JFYWNoKGZ1bmN0aW9uKGxldHRlcikge1xuICAgICAgICAgIHRlc3QzW2xldHRlcl0gPSBsZXR0ZXI7XG4gICAgICAgIH0pO1xuICAgICAgICBpZiAoT2JqZWN0LmtleXMoT2JqZWN0LmFzc2lnbih7fSwgdGVzdDMpKS5qb2luKFwiXCIpICE9PSBcImFiY2RlZmdoaWprbG1ub3BxcnN0XCIpIHtcbiAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICB9IGNhdGNoIChlcnIyKSB7XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgIH1cbiAgICB9XG4gICAgbW9kdWxlMi5leHBvcnRzID0gc2hvdWxkVXNlTmF0aXZlKCkgPyBPYmplY3QuYXNzaWduIDogZnVuY3Rpb24odGFyZ2V0LCBzb3VyY2UpIHtcbiAgICAgIHZhciBmcm9tO1xuICAgICAgdmFyIHRvID0gdG9PYmplY3QodGFyZ2V0KTtcbiAgICAgIHZhciBzeW1ib2xzO1xuICAgICAgZm9yICh2YXIgcyA9IDE7IHMgPCBhcmd1bWVudHMubGVuZ3RoOyBzKyspIHtcbiAgICAgICAgZnJvbSA9IE9iamVjdChhcmd1bWVudHNbc10pO1xuICAgICAgICBmb3IgKHZhciBrZXkgaW4gZnJvbSkge1xuICAgICAgICAgIGlmIChoYXNPd25Qcm9wZXJ0eS5jYWxsKGZyb20sIGtleSkpIHtcbiAgICAgICAgICAgIHRvW2tleV0gPSBmcm9tW2tleV07XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGlmIChnZXRPd25Qcm9wZXJ0eVN5bWJvbHMpIHtcbiAgICAgICAgICBzeW1ib2xzID0gZ2V0T3duUHJvcGVydHlTeW1ib2xzKGZyb20pO1xuICAgICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgc3ltYm9scy5sZW5ndGg7IGkrKykge1xuICAgICAgICAgICAgaWYgKHByb3BJc0VudW1lcmFibGUuY2FsbChmcm9tLCBzeW1ib2xzW2ldKSkge1xuICAgICAgICAgICAgICB0b1tzeW1ib2xzW2ldXSA9IGZyb21bc3ltYm9sc1tpXV07XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgICByZXR1cm4gdG87XG4gICAgfTtcbiAgfVxufSk7XG5cbi8vIG5vZGVfbW9kdWxlcy9jb3JzL2xpYi9pbmRleC5qc1xudmFyIHJlcXVpcmVfbGliNCA9IF9fY29tbW9uSlMoe1xuICBcIm5vZGVfbW9kdWxlcy9jb3JzL2xpYi9pbmRleC5qc1wiKGV4cG9ydHMyLCBtb2R1bGUyKSB7XG4gICAgKGZ1bmN0aW9uKCkge1xuICAgICAgXCJ1c2Ugc3RyaWN0XCI7XG4gICAgICB2YXIgYXNzaWduID0gcmVxdWlyZV9vYmplY3RfYXNzaWduKCk7XG4gICAgICB2YXIgdmFyeSA9IHJlcXVpcmVfdmFyeSgpO1xuICAgICAgdmFyIGRlZmF1bHRzID0ge1xuICAgICAgICBvcmlnaW46IFwiKlwiLFxuICAgICAgICBtZXRob2RzOiBcIkdFVCxIRUFELFBVVCxQQVRDSCxQT1NULERFTEVURVwiLFxuICAgICAgICBwcmVmbGlnaHRDb250aW51ZTogZmFsc2UsXG4gICAgICAgIG9wdGlvbnNTdWNjZXNzU3RhdHVzOiAyMDRcbiAgICAgIH07XG4gICAgICBmdW5jdGlvbiBpc1N0cmluZyhzKSB7XG4gICAgICAgIHJldHVybiB0eXBlb2YgcyA9PT0gXCJzdHJpbmdcIiB8fCBzIGluc3RhbmNlb2YgU3RyaW5nO1xuICAgICAgfVxuICAgICAgZnVuY3Rpb24gaXNPcmlnaW5BbGxvd2VkKG9yaWdpbiwgYWxsb3dlZE9yaWdpbikge1xuICAgICAgICBpZiAoQXJyYXkuaXNBcnJheShhbGxvd2VkT3JpZ2luKSkge1xuICAgICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgYWxsb3dlZE9yaWdpbi5sZW5ndGg7ICsraSkge1xuICAgICAgICAgICAgaWYgKGlzT3JpZ2luQWxsb3dlZChvcmlnaW4sIGFsbG93ZWRPcmlnaW5baV0pKSB7XG4gICAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgIH0gZWxzZSBpZiAoaXNTdHJpbmcoYWxsb3dlZE9yaWdpbikpIHtcbiAgICAgICAgICByZXR1cm4gb3JpZ2luID09PSBhbGxvd2VkT3JpZ2luO1xuICAgICAgICB9IGVsc2UgaWYgKGFsbG93ZWRPcmlnaW4gaW5zdGFuY2VvZiBSZWdFeHApIHtcbiAgICAgICAgICByZXR1cm4gYWxsb3dlZE9yaWdpbi50ZXN0KG9yaWdpbik7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgcmV0dXJuICEhYWxsb3dlZE9yaWdpbjtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgZnVuY3Rpb24gY29uZmlndXJlT3JpZ2luKG9wdGlvbnMsIHJlcSkge1xuICAgICAgICB2YXIgcmVxdWVzdE9yaWdpbiA9IHJlcS5oZWFkZXJzLm9yaWdpbiwgaGVhZGVycyA9IFtdLCBpc0FsbG93ZWQ7XG4gICAgICAgIGlmICghb3B0aW9ucy5vcmlnaW4gfHwgb3B0aW9ucy5vcmlnaW4gPT09IFwiKlwiKSB7XG4gICAgICAgICAgaGVhZGVycy5wdXNoKFt7XG4gICAgICAgICAgICBrZXk6IFwiQWNjZXNzLUNvbnRyb2wtQWxsb3ctT3JpZ2luXCIsXG4gICAgICAgICAgICB2YWx1ZTogXCIqXCJcbiAgICAgICAgICB9XSk7XG4gICAgICAgIH0gZWxzZSBpZiAoaXNTdHJpbmcob3B0aW9ucy5vcmlnaW4pKSB7XG4gICAgICAgICAgaGVhZGVycy5wdXNoKFt7XG4gICAgICAgICAgICBrZXk6IFwiQWNjZXNzLUNvbnRyb2wtQWxsb3ctT3JpZ2luXCIsXG4gICAgICAgICAgICB2YWx1ZTogb3B0aW9ucy5vcmlnaW5cbiAgICAgICAgICB9XSk7XG4gICAgICAgICAgaGVhZGVycy5wdXNoKFt7XG4gICAgICAgICAgICBrZXk6IFwiVmFyeVwiLFxuICAgICAgICAgICAgdmFsdWU6IFwiT3JpZ2luXCJcbiAgICAgICAgICB9XSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgaXNBbGxvd2VkID0gaXNPcmlnaW5BbGxvd2VkKHJlcXVlc3RPcmlnaW4sIG9wdGlvbnMub3JpZ2luKTtcbiAgICAgICAgICBoZWFkZXJzLnB1c2goW3tcbiAgICAgICAgICAgIGtleTogXCJBY2Nlc3MtQ29udHJvbC1BbGxvdy1PcmlnaW5cIixcbiAgICAgICAgICAgIHZhbHVlOiBpc0FsbG93ZWQgPyByZXF1ZXN0T3JpZ2luIDogZmFsc2VcbiAgICAgICAgICB9XSk7XG4gICAgICAgICAgaGVhZGVycy5wdXNoKFt7XG4gICAgICAgICAgICBrZXk6IFwiVmFyeVwiLFxuICAgICAgICAgICAgdmFsdWU6IFwiT3JpZ2luXCJcbiAgICAgICAgICB9XSk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGhlYWRlcnM7XG4gICAgICB9XG4gICAgICBmdW5jdGlvbiBjb25maWd1cmVNZXRob2RzKG9wdGlvbnMpIHtcbiAgICAgICAgdmFyIG1ldGhvZHMgPSBvcHRpb25zLm1ldGhvZHM7XG4gICAgICAgIGlmIChtZXRob2RzLmpvaW4pIHtcbiAgICAgICAgICBtZXRob2RzID0gb3B0aW9ucy5tZXRob2RzLmpvaW4oXCIsXCIpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAga2V5OiBcIkFjY2Vzcy1Db250cm9sLUFsbG93LU1ldGhvZHNcIixcbiAgICAgICAgICB2YWx1ZTogbWV0aG9kc1xuICAgICAgICB9O1xuICAgICAgfVxuICAgICAgZnVuY3Rpb24gY29uZmlndXJlQ3JlZGVudGlhbHMob3B0aW9ucykge1xuICAgICAgICBpZiAob3B0aW9ucy5jcmVkZW50aWFscyA9PT0gdHJ1ZSkge1xuICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICBrZXk6IFwiQWNjZXNzLUNvbnRyb2wtQWxsb3ctQ3JlZGVudGlhbHNcIixcbiAgICAgICAgICAgIHZhbHVlOiBcInRydWVcIlxuICAgICAgICAgIH07XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICB9XG4gICAgICBmdW5jdGlvbiBjb25maWd1cmVBbGxvd2VkSGVhZGVycyhvcHRpb25zLCByZXEpIHtcbiAgICAgICAgdmFyIGFsbG93ZWRIZWFkZXJzID0gb3B0aW9ucy5hbGxvd2VkSGVhZGVycyB8fCBvcHRpb25zLmhlYWRlcnM7XG4gICAgICAgIHZhciBoZWFkZXJzID0gW107XG4gICAgICAgIGlmICghYWxsb3dlZEhlYWRlcnMpIHtcbiAgICAgICAgICBhbGxvd2VkSGVhZGVycyA9IHJlcS5oZWFkZXJzW1wiYWNjZXNzLWNvbnRyb2wtcmVxdWVzdC1oZWFkZXJzXCJdO1xuICAgICAgICAgIGhlYWRlcnMucHVzaChbe1xuICAgICAgICAgICAga2V5OiBcIlZhcnlcIixcbiAgICAgICAgICAgIHZhbHVlOiBcIkFjY2Vzcy1Db250cm9sLVJlcXVlc3QtSGVhZGVyc1wiXG4gICAgICAgICAgfV0pO1xuICAgICAgICB9IGVsc2UgaWYgKGFsbG93ZWRIZWFkZXJzLmpvaW4pIHtcbiAgICAgICAgICBhbGxvd2VkSGVhZGVycyA9IGFsbG93ZWRIZWFkZXJzLmpvaW4oXCIsXCIpO1xuICAgICAgICB9XG4gICAgICAgIGlmIChhbGxvd2VkSGVhZGVycyAmJiBhbGxvd2VkSGVhZGVycy5sZW5ndGgpIHtcbiAgICAgICAgICBoZWFkZXJzLnB1c2goW3tcbiAgICAgICAgICAgIGtleTogXCJBY2Nlc3MtQ29udHJvbC1BbGxvdy1IZWFkZXJzXCIsXG4gICAgICAgICAgICB2YWx1ZTogYWxsb3dlZEhlYWRlcnNcbiAgICAgICAgICB9XSk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGhlYWRlcnM7XG4gICAgICB9XG4gICAgICBmdW5jdGlvbiBjb25maWd1cmVFeHBvc2VkSGVhZGVycyhvcHRpb25zKSB7XG4gICAgICAgIHZhciBoZWFkZXJzID0gb3B0aW9ucy5leHBvc2VkSGVhZGVycztcbiAgICAgICAgaWYgKCFoZWFkZXJzKSB7XG4gICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgIH0gZWxzZSBpZiAoaGVhZGVycy5qb2luKSB7XG4gICAgICAgICAgaGVhZGVycyA9IGhlYWRlcnMuam9pbihcIixcIik7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGhlYWRlcnMgJiYgaGVhZGVycy5sZW5ndGgpIHtcbiAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAga2V5OiBcIkFjY2Vzcy1Db250cm9sLUV4cG9zZS1IZWFkZXJzXCIsXG4gICAgICAgICAgICB2YWx1ZTogaGVhZGVyc1xuICAgICAgICAgIH07XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICB9XG4gICAgICBmdW5jdGlvbiBjb25maWd1cmVNYXhBZ2Uob3B0aW9ucykge1xuICAgICAgICB2YXIgbWF4QWdlID0gKHR5cGVvZiBvcHRpb25zLm1heEFnZSA9PT0gXCJudW1iZXJcIiB8fCBvcHRpb25zLm1heEFnZSkgJiYgb3B0aW9ucy5tYXhBZ2UudG9TdHJpbmcoKTtcbiAgICAgICAgaWYgKG1heEFnZSAmJiBtYXhBZ2UubGVuZ3RoKSB7XG4gICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIGtleTogXCJBY2Nlc3MtQ29udHJvbC1NYXgtQWdlXCIsXG4gICAgICAgICAgICB2YWx1ZTogbWF4QWdlXG4gICAgICAgICAgfTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgIH1cbiAgICAgIGZ1bmN0aW9uIGFwcGx5SGVhZGVycyhoZWFkZXJzLCByZXMpIHtcbiAgICAgICAgZm9yICh2YXIgaSA9IDAsIG4gPSBoZWFkZXJzLmxlbmd0aDsgaSA8IG47IGkrKykge1xuICAgICAgICAgIHZhciBoZWFkZXIgPSBoZWFkZXJzW2ldO1xuICAgICAgICAgIGlmIChoZWFkZXIpIHtcbiAgICAgICAgICAgIGlmIChBcnJheS5pc0FycmF5KGhlYWRlcikpIHtcbiAgICAgICAgICAgICAgYXBwbHlIZWFkZXJzKGhlYWRlciwgcmVzKTtcbiAgICAgICAgICAgIH0gZWxzZSBpZiAoaGVhZGVyLmtleSA9PT0gXCJWYXJ5XCIgJiYgaGVhZGVyLnZhbHVlKSB7XG4gICAgICAgICAgICAgIHZhcnkocmVzLCBoZWFkZXIudmFsdWUpO1xuICAgICAgICAgICAgfSBlbHNlIGlmIChoZWFkZXIudmFsdWUpIHtcbiAgICAgICAgICAgICAgcmVzLnNldEhlYWRlcihoZWFkZXIua2V5LCBoZWFkZXIudmFsdWUpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgZnVuY3Rpb24gY29yczIob3B0aW9ucywgcmVxLCByZXMsIG5leHQpIHtcbiAgICAgICAgdmFyIGhlYWRlcnMgPSBbXSwgbWV0aG9kID0gcmVxLm1ldGhvZCAmJiByZXEubWV0aG9kLnRvVXBwZXJDYXNlICYmIHJlcS5tZXRob2QudG9VcHBlckNhc2UoKTtcbiAgICAgICAgaWYgKG1ldGhvZCA9PT0gXCJPUFRJT05TXCIpIHtcbiAgICAgICAgICBoZWFkZXJzLnB1c2goY29uZmlndXJlT3JpZ2luKG9wdGlvbnMsIHJlcSkpO1xuICAgICAgICAgIGhlYWRlcnMucHVzaChjb25maWd1cmVDcmVkZW50aWFscyhvcHRpb25zLCByZXEpKTtcbiAgICAgICAgICBoZWFkZXJzLnB1c2goY29uZmlndXJlTWV0aG9kcyhvcHRpb25zLCByZXEpKTtcbiAgICAgICAgICBoZWFkZXJzLnB1c2goY29uZmlndXJlQWxsb3dlZEhlYWRlcnMob3B0aW9ucywgcmVxKSk7XG4gICAgICAgICAgaGVhZGVycy5wdXNoKGNvbmZpZ3VyZU1heEFnZShvcHRpb25zLCByZXEpKTtcbiAgICAgICAgICBoZWFkZXJzLnB1c2goY29uZmlndXJlRXhwb3NlZEhlYWRlcnMob3B0aW9ucywgcmVxKSk7XG4gICAgICAgICAgYXBwbHlIZWFkZXJzKGhlYWRlcnMsIHJlcyk7XG4gICAgICAgICAgaWYgKG9wdGlvbnMucHJlZmxpZ2h0Q29udGludWUpIHtcbiAgICAgICAgICAgIG5leHQoKTtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgcmVzLnN0YXR1c0NvZGUgPSBvcHRpb25zLm9wdGlvbnNTdWNjZXNzU3RhdHVzO1xuICAgICAgICAgICAgcmVzLnNldEhlYWRlcihcIkNvbnRlbnQtTGVuZ3RoXCIsIFwiMFwiKTtcbiAgICAgICAgICAgIHJlcy5lbmQoKTtcbiAgICAgICAgICB9XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgaGVhZGVycy5wdXNoKGNvbmZpZ3VyZU9yaWdpbihvcHRpb25zLCByZXEpKTtcbiAgICAgICAgICBoZWFkZXJzLnB1c2goY29uZmlndXJlQ3JlZGVudGlhbHMob3B0aW9ucywgcmVxKSk7XG4gICAgICAgICAgaGVhZGVycy5wdXNoKGNvbmZpZ3VyZUV4cG9zZWRIZWFkZXJzKG9wdGlvbnMsIHJlcSkpO1xuICAgICAgICAgIGFwcGx5SGVhZGVycyhoZWFkZXJzLCByZXMpO1xuICAgICAgICAgIG5leHQoKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgZnVuY3Rpb24gbWlkZGxld2FyZVdyYXBwZXIobykge1xuICAgICAgICB2YXIgb3B0aW9uc0NhbGxiYWNrID0gbnVsbDtcbiAgICAgICAgaWYgKHR5cGVvZiBvID09PSBcImZ1bmN0aW9uXCIpIHtcbiAgICAgICAgICBvcHRpb25zQ2FsbGJhY2sgPSBvO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIG9wdGlvbnNDYWxsYmFjayA9IGZ1bmN0aW9uKHJlcSwgY2IpIHtcbiAgICAgICAgICAgIGNiKG51bGwsIG8pO1xuICAgICAgICAgIH07XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGZ1bmN0aW9uIGNvcnNNaWRkbGV3YXJlKHJlcSwgcmVzLCBuZXh0KSB7XG4gICAgICAgICAgb3B0aW9uc0NhbGxiYWNrKHJlcSwgZnVuY3Rpb24oZXJyMiwgb3B0aW9ucykge1xuICAgICAgICAgICAgaWYgKGVycjIpIHtcbiAgICAgICAgICAgICAgbmV4dChlcnIyKTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgIHZhciBjb3JzT3B0aW9ucyA9IGFzc2lnbih7fSwgZGVmYXVsdHMsIG9wdGlvbnMpO1xuICAgICAgICAgICAgICB2YXIgb3JpZ2luQ2FsbGJhY2sgPSBudWxsO1xuICAgICAgICAgICAgICBpZiAoY29yc09wdGlvbnMub3JpZ2luICYmIHR5cGVvZiBjb3JzT3B0aW9ucy5vcmlnaW4gPT09IFwiZnVuY3Rpb25cIikge1xuICAgICAgICAgICAgICAgIG9yaWdpbkNhbGxiYWNrID0gY29yc09wdGlvbnMub3JpZ2luO1xuICAgICAgICAgICAgICB9IGVsc2UgaWYgKGNvcnNPcHRpb25zLm9yaWdpbikge1xuICAgICAgICAgICAgICAgIG9yaWdpbkNhbGxiYWNrID0gZnVuY3Rpb24ob3JpZ2luLCBjYikge1xuICAgICAgICAgICAgICAgICAgY2IobnVsbCwgY29yc09wdGlvbnMub3JpZ2luKTtcbiAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIGlmIChvcmlnaW5DYWxsYmFjaykge1xuICAgICAgICAgICAgICAgIG9yaWdpbkNhbGxiYWNrKHJlcS5oZWFkZXJzLm9yaWdpbiwgZnVuY3Rpb24oZXJyMjIsIG9yaWdpbikge1xuICAgICAgICAgICAgICAgICAgaWYgKGVycjIyIHx8ICFvcmlnaW4pIHtcbiAgICAgICAgICAgICAgICAgICAgbmV4dChlcnIyMik7XG4gICAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICBjb3JzT3B0aW9ucy5vcmlnaW4gPSBvcmlnaW47XG4gICAgICAgICAgICAgICAgICAgIGNvcnMyKGNvcnNPcHRpb25zLCByZXEsIHJlcywgbmV4dCk7XG4gICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgbmV4dCgpO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSk7XG4gICAgICAgIH07XG4gICAgICB9XG4gICAgICBtb2R1bGUyLmV4cG9ydHMgPSBtaWRkbGV3YXJlV3JhcHBlcjtcbiAgICB9KSgpO1xuICB9XG59KTtcblxuLy8gbm9kZV9tb2R1bGVzL3pvZC9saWIvaW5kZXgubWpzXG52YXIgdXRpbDtcbihmdW5jdGlvbih1dGlsMikge1xuICB1dGlsMi5hc3NlcnRFcXVhbCA9ICh2YWwpID0+IHZhbDtcbiAgZnVuY3Rpb24gYXNzZXJ0SXMoX2FyZykge1xuICB9XG4gIHV0aWwyLmFzc2VydElzID0gYXNzZXJ0SXM7XG4gIGZ1bmN0aW9uIGFzc2VydE5ldmVyKF94KSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCk7XG4gIH1cbiAgdXRpbDIuYXNzZXJ0TmV2ZXIgPSBhc3NlcnROZXZlcjtcbiAgdXRpbDIuYXJyYXlUb0VudW0gPSAoaXRlbXMpID0+IHtcbiAgICBjb25zdCBvYmogPSB7fTtcbiAgICBmb3IgKGNvbnN0IGl0ZW0gb2YgaXRlbXMpIHtcbiAgICAgIG9ialtpdGVtXSA9IGl0ZW07XG4gICAgfVxuICAgIHJldHVybiBvYmo7XG4gIH07XG4gIHV0aWwyLmdldFZhbGlkRW51bVZhbHVlcyA9IChvYmopID0+IHtcbiAgICBjb25zdCB2YWxpZEtleXMgPSB1dGlsMi5vYmplY3RLZXlzKG9iaikuZmlsdGVyKChrKSA9PiB0eXBlb2Ygb2JqW29ialtrXV0gIT09IFwibnVtYmVyXCIpO1xuICAgIGNvbnN0IGZpbHRlcmVkID0ge307XG4gICAgZm9yIChjb25zdCBrIG9mIHZhbGlkS2V5cykge1xuICAgICAgZmlsdGVyZWRba10gPSBvYmpba107XG4gICAgfVxuICAgIHJldHVybiB1dGlsMi5vYmplY3RWYWx1ZXMoZmlsdGVyZWQpO1xuICB9O1xuICB1dGlsMi5vYmplY3RWYWx1ZXMgPSAob2JqKSA9PiB7XG4gICAgcmV0dXJuIHV0aWwyLm9iamVjdEtleXMob2JqKS5tYXAoZnVuY3Rpb24oZSkge1xuICAgICAgcmV0dXJuIG9ialtlXTtcbiAgICB9KTtcbiAgfTtcbiAgdXRpbDIub2JqZWN0S2V5cyA9IHR5cGVvZiBPYmplY3Qua2V5cyA9PT0gXCJmdW5jdGlvblwiID8gKG9iaikgPT4gT2JqZWN0LmtleXMob2JqKSA6IChvYmplY3QpID0+IHtcbiAgICBjb25zdCBrZXlzID0gW107XG4gICAgZm9yIChjb25zdCBrZXkgaW4gb2JqZWN0KSB7XG4gICAgICBpZiAoT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKG9iamVjdCwga2V5KSkge1xuICAgICAgICBrZXlzLnB1c2goa2V5KTtcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIGtleXM7XG4gIH07XG4gIHV0aWwyLmZpbmQgPSAoYXJyLCBjaGVja2VyKSA9PiB7XG4gICAgZm9yIChjb25zdCBpdGVtIG9mIGFycikge1xuICAgICAgaWYgKGNoZWNrZXIoaXRlbSkpXG4gICAgICAgIHJldHVybiBpdGVtO1xuICAgIH1cbiAgICByZXR1cm4gdm9pZCAwO1xuICB9O1xuICB1dGlsMi5pc0ludGVnZXIgPSB0eXBlb2YgTnVtYmVyLmlzSW50ZWdlciA9PT0gXCJmdW5jdGlvblwiID8gKHZhbCkgPT4gTnVtYmVyLmlzSW50ZWdlcih2YWwpIDogKHZhbCkgPT4gdHlwZW9mIHZhbCA9PT0gXCJudW1iZXJcIiAmJiBpc0Zpbml0ZSh2YWwpICYmIE1hdGguZmxvb3IodmFsKSA9PT0gdmFsO1xuICBmdW5jdGlvbiBqb2luVmFsdWVzKGFycmF5LCBzZXBhcmF0b3IgPSBcIiB8IFwiKSB7XG4gICAgcmV0dXJuIGFycmF5Lm1hcCgodmFsKSA9PiB0eXBlb2YgdmFsID09PSBcInN0cmluZ1wiID8gYCcke3ZhbH0nYCA6IHZhbCkuam9pbihzZXBhcmF0b3IpO1xuICB9XG4gIHV0aWwyLmpvaW5WYWx1ZXMgPSBqb2luVmFsdWVzO1xuICB1dGlsMi5qc29uU3RyaW5naWZ5UmVwbGFjZXIgPSAoXzIsIHZhbHVlKSA9PiB7XG4gICAgaWYgKHR5cGVvZiB2YWx1ZSA9PT0gXCJiaWdpbnRcIikge1xuICAgICAgcmV0dXJuIHZhbHVlLnRvU3RyaW5nKCk7XG4gICAgfVxuICAgIHJldHVybiB2YWx1ZTtcbiAgfTtcbn0pKHV0aWwgfHwgKHV0aWwgPSB7fSkpO1xudmFyIG9iamVjdFV0aWw7XG4oZnVuY3Rpb24ob2JqZWN0VXRpbDIpIHtcbiAgb2JqZWN0VXRpbDIubWVyZ2VTaGFwZXMgPSAoZmlyc3QsIHNlY29uZCkgPT4ge1xuICAgIHJldHVybiB7XG4gICAgICAuLi5maXJzdCxcbiAgICAgIC4uLnNlY29uZFxuICAgICAgLy8gc2Vjb25kIG92ZXJ3cml0ZXMgZmlyc3RcbiAgICB9O1xuICB9O1xufSkob2JqZWN0VXRpbCB8fCAob2JqZWN0VXRpbCA9IHt9KSk7XG52YXIgWm9kUGFyc2VkVHlwZSA9IHV0aWwuYXJyYXlUb0VudW0oW1xuICBcInN0cmluZ1wiLFxuICBcIm5hblwiLFxuICBcIm51bWJlclwiLFxuICBcImludGVnZXJcIixcbiAgXCJmbG9hdFwiLFxuICBcImJvb2xlYW5cIixcbiAgXCJkYXRlXCIsXG4gIFwiYmlnaW50XCIsXG4gIFwic3ltYm9sXCIsXG4gIFwiZnVuY3Rpb25cIixcbiAgXCJ1bmRlZmluZWRcIixcbiAgXCJudWxsXCIsXG4gIFwiYXJyYXlcIixcbiAgXCJvYmplY3RcIixcbiAgXCJ1bmtub3duXCIsXG4gIFwicHJvbWlzZVwiLFxuICBcInZvaWRcIixcbiAgXCJuZXZlclwiLFxuICBcIm1hcFwiLFxuICBcInNldFwiXG5dKTtcbnZhciBnZXRQYXJzZWRUeXBlID0gKGRhdGEpID0+IHtcbiAgY29uc3QgdCA9IHR5cGVvZiBkYXRhO1xuICBzd2l0Y2ggKHQpIHtcbiAgICBjYXNlIFwidW5kZWZpbmVkXCI6XG4gICAgICByZXR1cm4gWm9kUGFyc2VkVHlwZS51bmRlZmluZWQ7XG4gICAgY2FzZSBcInN0cmluZ1wiOlxuICAgICAgcmV0dXJuIFpvZFBhcnNlZFR5cGUuc3RyaW5nO1xuICAgIGNhc2UgXCJudW1iZXJcIjpcbiAgICAgIHJldHVybiBpc05hTihkYXRhKSA/IFpvZFBhcnNlZFR5cGUubmFuIDogWm9kUGFyc2VkVHlwZS5udW1iZXI7XG4gICAgY2FzZSBcImJvb2xlYW5cIjpcbiAgICAgIHJldHVybiBab2RQYXJzZWRUeXBlLmJvb2xlYW47XG4gICAgY2FzZSBcImZ1bmN0aW9uXCI6XG4gICAgICByZXR1cm4gWm9kUGFyc2VkVHlwZS5mdW5jdGlvbjtcbiAgICBjYXNlIFwiYmlnaW50XCI6XG4gICAgICByZXR1cm4gWm9kUGFyc2VkVHlwZS5iaWdpbnQ7XG4gICAgY2FzZSBcInN5bWJvbFwiOlxuICAgICAgcmV0dXJuIFpvZFBhcnNlZFR5cGUuc3ltYm9sO1xuICAgIGNhc2UgXCJvYmplY3RcIjpcbiAgICAgIGlmIChBcnJheS5pc0FycmF5KGRhdGEpKSB7XG4gICAgICAgIHJldHVybiBab2RQYXJzZWRUeXBlLmFycmF5O1xuICAgICAgfVxuICAgICAgaWYgKGRhdGEgPT09IG51bGwpIHtcbiAgICAgICAgcmV0dXJuIFpvZFBhcnNlZFR5cGUubnVsbDtcbiAgICAgIH1cbiAgICAgIGlmIChkYXRhLnRoZW4gJiYgdHlwZW9mIGRhdGEudGhlbiA9PT0gXCJmdW5jdGlvblwiICYmIGRhdGEuY2F0Y2ggJiYgdHlwZW9mIGRhdGEuY2F0Y2ggPT09IFwiZnVuY3Rpb25cIikge1xuICAgICAgICByZXR1cm4gWm9kUGFyc2VkVHlwZS5wcm9taXNlO1xuICAgICAgfVxuICAgICAgaWYgKHR5cGVvZiBNYXAgIT09IFwidW5kZWZpbmVkXCIgJiYgZGF0YSBpbnN0YW5jZW9mIE1hcCkge1xuICAgICAgICByZXR1cm4gWm9kUGFyc2VkVHlwZS5tYXA7XG4gICAgICB9XG4gICAgICBpZiAodHlwZW9mIFNldCAhPT0gXCJ1bmRlZmluZWRcIiAmJiBkYXRhIGluc3RhbmNlb2YgU2V0KSB7XG4gICAgICAgIHJldHVybiBab2RQYXJzZWRUeXBlLnNldDtcbiAgICAgIH1cbiAgICAgIGlmICh0eXBlb2YgRGF0ZSAhPT0gXCJ1bmRlZmluZWRcIiAmJiBkYXRhIGluc3RhbmNlb2YgRGF0ZSkge1xuICAgICAgICByZXR1cm4gWm9kUGFyc2VkVHlwZS5kYXRlO1xuICAgICAgfVxuICAgICAgcmV0dXJuIFpvZFBhcnNlZFR5cGUub2JqZWN0O1xuICAgIGRlZmF1bHQ6XG4gICAgICByZXR1cm4gWm9kUGFyc2VkVHlwZS51bmtub3duO1xuICB9XG59O1xudmFyIFpvZElzc3VlQ29kZSA9IHV0aWwuYXJyYXlUb0VudW0oW1xuICBcImludmFsaWRfdHlwZVwiLFxuICBcImludmFsaWRfbGl0ZXJhbFwiLFxuICBcImN1c3RvbVwiLFxuICBcImludmFsaWRfdW5pb25cIixcbiAgXCJpbnZhbGlkX3VuaW9uX2Rpc2NyaW1pbmF0b3JcIixcbiAgXCJpbnZhbGlkX2VudW1fdmFsdWVcIixcbiAgXCJ1bnJlY29nbml6ZWRfa2V5c1wiLFxuICBcImludmFsaWRfYXJndW1lbnRzXCIsXG4gIFwiaW52YWxpZF9yZXR1cm5fdHlwZVwiLFxuICBcImludmFsaWRfZGF0ZVwiLFxuICBcImludmFsaWRfc3RyaW5nXCIsXG4gIFwidG9vX3NtYWxsXCIsXG4gIFwidG9vX2JpZ1wiLFxuICBcImludmFsaWRfaW50ZXJzZWN0aW9uX3R5cGVzXCIsXG4gIFwibm90X211bHRpcGxlX29mXCIsXG4gIFwibm90X2Zpbml0ZVwiXG5dKTtcbnZhciBxdW90ZWxlc3NKc29uID0gKG9iaikgPT4ge1xuICBjb25zdCBqc29uID0gSlNPTi5zdHJpbmdpZnkob2JqLCBudWxsLCAyKTtcbiAgcmV0dXJuIGpzb24ucmVwbGFjZSgvXCIoW15cIl0rKVwiOi9nLCBcIiQxOlwiKTtcbn07XG52YXIgWm9kRXJyb3IgPSBjbGFzcyBfWm9kRXJyb3IgZXh0ZW5kcyBFcnJvciB7XG4gIGdldCBlcnJvcnMoKSB7XG4gICAgcmV0dXJuIHRoaXMuaXNzdWVzO1xuICB9XG4gIGNvbnN0cnVjdG9yKGlzc3Vlcykge1xuICAgIHN1cGVyKCk7XG4gICAgdGhpcy5pc3N1ZXMgPSBbXTtcbiAgICB0aGlzLmFkZElzc3VlID0gKHN1YikgPT4ge1xuICAgICAgdGhpcy5pc3N1ZXMgPSBbLi4udGhpcy5pc3N1ZXMsIHN1Yl07XG4gICAgfTtcbiAgICB0aGlzLmFkZElzc3VlcyA9IChzdWJzID0gW10pID0+IHtcbiAgICAgIHRoaXMuaXNzdWVzID0gWy4uLnRoaXMuaXNzdWVzLCAuLi5zdWJzXTtcbiAgICB9O1xuICAgIGNvbnN0IGFjdHVhbFByb3RvID0gbmV3LnRhcmdldC5wcm90b3R5cGU7XG4gICAgaWYgKE9iamVjdC5zZXRQcm90b3R5cGVPZikge1xuICAgICAgT2JqZWN0LnNldFByb3RvdHlwZU9mKHRoaXMsIGFjdHVhbFByb3RvKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5fX3Byb3RvX18gPSBhY3R1YWxQcm90bztcbiAgICB9XG4gICAgdGhpcy5uYW1lID0gXCJab2RFcnJvclwiO1xuICAgIHRoaXMuaXNzdWVzID0gaXNzdWVzO1xuICB9XG4gIGZvcm1hdChfbWFwcGVyKSB7XG4gICAgY29uc3QgbWFwcGVyID0gX21hcHBlciB8fCBmdW5jdGlvbihpc3N1ZSkge1xuICAgICAgcmV0dXJuIGlzc3VlLm1lc3NhZ2U7XG4gICAgfTtcbiAgICBjb25zdCBmaWVsZEVycm9ycyA9IHsgX2Vycm9yczogW10gfTtcbiAgICBjb25zdCBwcm9jZXNzRXJyb3IgPSAoZXJyb3IpID0+IHtcbiAgICAgIGZvciAoY29uc3QgaXNzdWUgb2YgZXJyb3IuaXNzdWVzKSB7XG4gICAgICAgIGlmIChpc3N1ZS5jb2RlID09PSBcImludmFsaWRfdW5pb25cIikge1xuICAgICAgICAgIGlzc3VlLnVuaW9uRXJyb3JzLm1hcChwcm9jZXNzRXJyb3IpO1xuICAgICAgICB9IGVsc2UgaWYgKGlzc3VlLmNvZGUgPT09IFwiaW52YWxpZF9yZXR1cm5fdHlwZVwiKSB7XG4gICAgICAgICAgcHJvY2Vzc0Vycm9yKGlzc3VlLnJldHVyblR5cGVFcnJvcik7XG4gICAgICAgIH0gZWxzZSBpZiAoaXNzdWUuY29kZSA9PT0gXCJpbnZhbGlkX2FyZ3VtZW50c1wiKSB7XG4gICAgICAgICAgcHJvY2Vzc0Vycm9yKGlzc3VlLmFyZ3VtZW50c0Vycm9yKTtcbiAgICAgICAgfSBlbHNlIGlmIChpc3N1ZS5wYXRoLmxlbmd0aCA9PT0gMCkge1xuICAgICAgICAgIGZpZWxkRXJyb3JzLl9lcnJvcnMucHVzaChtYXBwZXIoaXNzdWUpKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBsZXQgY3VyciA9IGZpZWxkRXJyb3JzO1xuICAgICAgICAgIGxldCBpID0gMDtcbiAgICAgICAgICB3aGlsZSAoaSA8IGlzc3VlLnBhdGgubGVuZ3RoKSB7XG4gICAgICAgICAgICBjb25zdCBlbCA9IGlzc3VlLnBhdGhbaV07XG4gICAgICAgICAgICBjb25zdCB0ZXJtaW5hbCA9IGkgPT09IGlzc3VlLnBhdGgubGVuZ3RoIC0gMTtcbiAgICAgICAgICAgIGlmICghdGVybWluYWwpIHtcbiAgICAgICAgICAgICAgY3VycltlbF0gPSBjdXJyW2VsXSB8fCB7IF9lcnJvcnM6IFtdIH07XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICBjdXJyW2VsXSA9IGN1cnJbZWxdIHx8IHsgX2Vycm9yczogW10gfTtcbiAgICAgICAgICAgICAgY3VycltlbF0uX2Vycm9ycy5wdXNoKG1hcHBlcihpc3N1ZSkpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgY3VyciA9IGN1cnJbZWxdO1xuICAgICAgICAgICAgaSsrO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH07XG4gICAgcHJvY2Vzc0Vycm9yKHRoaXMpO1xuICAgIHJldHVybiBmaWVsZEVycm9ycztcbiAgfVxuICBzdGF0aWMgYXNzZXJ0KHZhbHVlKSB7XG4gICAgaWYgKCEodmFsdWUgaW5zdGFuY2VvZiBfWm9kRXJyb3IpKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYE5vdCBhIFpvZEVycm9yOiAke3ZhbHVlfWApO1xuICAgIH1cbiAgfVxuICB0b1N0cmluZygpIHtcbiAgICByZXR1cm4gdGhpcy5tZXNzYWdlO1xuICB9XG4gIGdldCBtZXNzYWdlKCkge1xuICAgIHJldHVybiBKU09OLnN0cmluZ2lmeSh0aGlzLmlzc3VlcywgdXRpbC5qc29uU3RyaW5naWZ5UmVwbGFjZXIsIDIpO1xuICB9XG4gIGdldCBpc0VtcHR5KCkge1xuICAgIHJldHVybiB0aGlzLmlzc3Vlcy5sZW5ndGggPT09IDA7XG4gIH1cbiAgZmxhdHRlbihtYXBwZXIgPSAoaXNzdWUpID0+IGlzc3VlLm1lc3NhZ2UpIHtcbiAgICBjb25zdCBmaWVsZEVycm9ycyA9IHt9O1xuICAgIGNvbnN0IGZvcm1FcnJvcnMgPSBbXTtcbiAgICBmb3IgKGNvbnN0IHN1YiBvZiB0aGlzLmlzc3Vlcykge1xuICAgICAgaWYgKHN1Yi5wYXRoLmxlbmd0aCA+IDApIHtcbiAgICAgICAgZmllbGRFcnJvcnNbc3ViLnBhdGhbMF1dID0gZmllbGRFcnJvcnNbc3ViLnBhdGhbMF1dIHx8IFtdO1xuICAgICAgICBmaWVsZEVycm9yc1tzdWIucGF0aFswXV0ucHVzaChtYXBwZXIoc3ViKSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBmb3JtRXJyb3JzLnB1c2gobWFwcGVyKHN1YikpO1xuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4geyBmb3JtRXJyb3JzLCBmaWVsZEVycm9ycyB9O1xuICB9XG4gIGdldCBmb3JtRXJyb3JzKCkge1xuICAgIHJldHVybiB0aGlzLmZsYXR0ZW4oKTtcbiAgfVxufTtcblpvZEVycm9yLmNyZWF0ZSA9IChpc3N1ZXMpID0+IHtcbiAgY29uc3QgZXJyb3IgPSBuZXcgWm9kRXJyb3IoaXNzdWVzKTtcbiAgcmV0dXJuIGVycm9yO1xufTtcbnZhciBlcnJvck1hcCA9IChpc3N1ZSwgX2N0eCkgPT4ge1xuICBsZXQgbWVzc2FnZTtcbiAgc3dpdGNoIChpc3N1ZS5jb2RlKSB7XG4gICAgY2FzZSBab2RJc3N1ZUNvZGUuaW52YWxpZF90eXBlOlxuICAgICAgaWYgKGlzc3VlLnJlY2VpdmVkID09PSBab2RQYXJzZWRUeXBlLnVuZGVmaW5lZCkge1xuICAgICAgICBtZXNzYWdlID0gXCJSZXF1aXJlZFwiO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgbWVzc2FnZSA9IGBFeHBlY3RlZCAke2lzc3VlLmV4cGVjdGVkfSwgcmVjZWl2ZWQgJHtpc3N1ZS5yZWNlaXZlZH1gO1xuICAgICAgfVxuICAgICAgYnJlYWs7XG4gICAgY2FzZSBab2RJc3N1ZUNvZGUuaW52YWxpZF9saXRlcmFsOlxuICAgICAgbWVzc2FnZSA9IGBJbnZhbGlkIGxpdGVyYWwgdmFsdWUsIGV4cGVjdGVkICR7SlNPTi5zdHJpbmdpZnkoaXNzdWUuZXhwZWN0ZWQsIHV0aWwuanNvblN0cmluZ2lmeVJlcGxhY2VyKX1gO1xuICAgICAgYnJlYWs7XG4gICAgY2FzZSBab2RJc3N1ZUNvZGUudW5yZWNvZ25pemVkX2tleXM6XG4gICAgICBtZXNzYWdlID0gYFVucmVjb2duaXplZCBrZXkocykgaW4gb2JqZWN0OiAke3V0aWwuam9pblZhbHVlcyhpc3N1ZS5rZXlzLCBcIiwgXCIpfWA7XG4gICAgICBicmVhaztcbiAgICBjYXNlIFpvZElzc3VlQ29kZS5pbnZhbGlkX3VuaW9uOlxuICAgICAgbWVzc2FnZSA9IGBJbnZhbGlkIGlucHV0YDtcbiAgICAgIGJyZWFrO1xuICAgIGNhc2UgWm9kSXNzdWVDb2RlLmludmFsaWRfdW5pb25fZGlzY3JpbWluYXRvcjpcbiAgICAgIG1lc3NhZ2UgPSBgSW52YWxpZCBkaXNjcmltaW5hdG9yIHZhbHVlLiBFeHBlY3RlZCAke3V0aWwuam9pblZhbHVlcyhpc3N1ZS5vcHRpb25zKX1gO1xuICAgICAgYnJlYWs7XG4gICAgY2FzZSBab2RJc3N1ZUNvZGUuaW52YWxpZF9lbnVtX3ZhbHVlOlxuICAgICAgbWVzc2FnZSA9IGBJbnZhbGlkIGVudW0gdmFsdWUuIEV4cGVjdGVkICR7dXRpbC5qb2luVmFsdWVzKGlzc3VlLm9wdGlvbnMpfSwgcmVjZWl2ZWQgJyR7aXNzdWUucmVjZWl2ZWR9J2A7XG4gICAgICBicmVhaztcbiAgICBjYXNlIFpvZElzc3VlQ29kZS5pbnZhbGlkX2FyZ3VtZW50czpcbiAgICAgIG1lc3NhZ2UgPSBgSW52YWxpZCBmdW5jdGlvbiBhcmd1bWVudHNgO1xuICAgICAgYnJlYWs7XG4gICAgY2FzZSBab2RJc3N1ZUNvZGUuaW52YWxpZF9yZXR1cm5fdHlwZTpcbiAgICAgIG1lc3NhZ2UgPSBgSW52YWxpZCBmdW5jdGlvbiByZXR1cm4gdHlwZWA7XG4gICAgICBicmVhaztcbiAgICBjYXNlIFpvZElzc3VlQ29kZS5pbnZhbGlkX2RhdGU6XG4gICAgICBtZXNzYWdlID0gYEludmFsaWQgZGF0ZWA7XG4gICAgICBicmVhaztcbiAgICBjYXNlIFpvZElzc3VlQ29kZS5pbnZhbGlkX3N0cmluZzpcbiAgICAgIGlmICh0eXBlb2YgaXNzdWUudmFsaWRhdGlvbiA9PT0gXCJvYmplY3RcIikge1xuICAgICAgICBpZiAoXCJpbmNsdWRlc1wiIGluIGlzc3VlLnZhbGlkYXRpb24pIHtcbiAgICAgICAgICBtZXNzYWdlID0gYEludmFsaWQgaW5wdXQ6IG11c3QgaW5jbHVkZSBcIiR7aXNzdWUudmFsaWRhdGlvbi5pbmNsdWRlc31cImA7XG4gICAgICAgICAgaWYgKHR5cGVvZiBpc3N1ZS52YWxpZGF0aW9uLnBvc2l0aW9uID09PSBcIm51bWJlclwiKSB7XG4gICAgICAgICAgICBtZXNzYWdlID0gYCR7bWVzc2FnZX0gYXQgb25lIG9yIG1vcmUgcG9zaXRpb25zIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byAke2lzc3VlLnZhbGlkYXRpb24ucG9zaXRpb259YDtcbiAgICAgICAgICB9XG4gICAgICAgIH0gZWxzZSBpZiAoXCJzdGFydHNXaXRoXCIgaW4gaXNzdWUudmFsaWRhdGlvbikge1xuICAgICAgICAgIG1lc3NhZ2UgPSBgSW52YWxpZCBpbnB1dDogbXVzdCBzdGFydCB3aXRoIFwiJHtpc3N1ZS52YWxpZGF0aW9uLnN0YXJ0c1dpdGh9XCJgO1xuICAgICAgICB9IGVsc2UgaWYgKFwiZW5kc1dpdGhcIiBpbiBpc3N1ZS52YWxpZGF0aW9uKSB7XG4gICAgICAgICAgbWVzc2FnZSA9IGBJbnZhbGlkIGlucHV0OiBtdXN0IGVuZCB3aXRoIFwiJHtpc3N1ZS52YWxpZGF0aW9uLmVuZHNXaXRofVwiYDtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICB1dGlsLmFzc2VydE5ldmVyKGlzc3VlLnZhbGlkYXRpb24pO1xuICAgICAgICB9XG4gICAgICB9IGVsc2UgaWYgKGlzc3VlLnZhbGlkYXRpb24gIT09IFwicmVnZXhcIikge1xuICAgICAgICBtZXNzYWdlID0gYEludmFsaWQgJHtpc3N1ZS52YWxpZGF0aW9ufWA7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBtZXNzYWdlID0gXCJJbnZhbGlkXCI7XG4gICAgICB9XG4gICAgICBicmVhaztcbiAgICBjYXNlIFpvZElzc3VlQ29kZS50b29fc21hbGw6XG4gICAgICBpZiAoaXNzdWUudHlwZSA9PT0gXCJhcnJheVwiKVxuICAgICAgICBtZXNzYWdlID0gYEFycmF5IG11c3QgY29udGFpbiAke2lzc3VlLmV4YWN0ID8gXCJleGFjdGx5XCIgOiBpc3N1ZS5pbmNsdXNpdmUgPyBgYXQgbGVhc3RgIDogYG1vcmUgdGhhbmB9ICR7aXNzdWUubWluaW11bX0gZWxlbWVudChzKWA7XG4gICAgICBlbHNlIGlmIChpc3N1ZS50eXBlID09PSBcInN0cmluZ1wiKVxuICAgICAgICBtZXNzYWdlID0gYFN0cmluZyBtdXN0IGNvbnRhaW4gJHtpc3N1ZS5leGFjdCA/IFwiZXhhY3RseVwiIDogaXNzdWUuaW5jbHVzaXZlID8gYGF0IGxlYXN0YCA6IGBvdmVyYH0gJHtpc3N1ZS5taW5pbXVtfSBjaGFyYWN0ZXIocylgO1xuICAgICAgZWxzZSBpZiAoaXNzdWUudHlwZSA9PT0gXCJudW1iZXJcIilcbiAgICAgICAgbWVzc2FnZSA9IGBOdW1iZXIgbXVzdCBiZSAke2lzc3VlLmV4YWN0ID8gYGV4YWN0bHkgZXF1YWwgdG8gYCA6IGlzc3VlLmluY2x1c2l2ZSA/IGBncmVhdGVyIHRoYW4gb3IgZXF1YWwgdG8gYCA6IGBncmVhdGVyIHRoYW4gYH0ke2lzc3VlLm1pbmltdW19YDtcbiAgICAgIGVsc2UgaWYgKGlzc3VlLnR5cGUgPT09IFwiZGF0ZVwiKVxuICAgICAgICBtZXNzYWdlID0gYERhdGUgbXVzdCBiZSAke2lzc3VlLmV4YWN0ID8gYGV4YWN0bHkgZXF1YWwgdG8gYCA6IGlzc3VlLmluY2x1c2l2ZSA/IGBncmVhdGVyIHRoYW4gb3IgZXF1YWwgdG8gYCA6IGBncmVhdGVyIHRoYW4gYH0ke25ldyBEYXRlKE51bWJlcihpc3N1ZS5taW5pbXVtKSl9YDtcbiAgICAgIGVsc2VcbiAgICAgICAgbWVzc2FnZSA9IFwiSW52YWxpZCBpbnB1dFwiO1xuICAgICAgYnJlYWs7XG4gICAgY2FzZSBab2RJc3N1ZUNvZGUudG9vX2JpZzpcbiAgICAgIGlmIChpc3N1ZS50eXBlID09PSBcImFycmF5XCIpXG4gICAgICAgIG1lc3NhZ2UgPSBgQXJyYXkgbXVzdCBjb250YWluICR7aXNzdWUuZXhhY3QgPyBgZXhhY3RseWAgOiBpc3N1ZS5pbmNsdXNpdmUgPyBgYXQgbW9zdGAgOiBgbGVzcyB0aGFuYH0gJHtpc3N1ZS5tYXhpbXVtfSBlbGVtZW50KHMpYDtcbiAgICAgIGVsc2UgaWYgKGlzc3VlLnR5cGUgPT09IFwic3RyaW5nXCIpXG4gICAgICAgIG1lc3NhZ2UgPSBgU3RyaW5nIG11c3QgY29udGFpbiAke2lzc3VlLmV4YWN0ID8gYGV4YWN0bHlgIDogaXNzdWUuaW5jbHVzaXZlID8gYGF0IG1vc3RgIDogYHVuZGVyYH0gJHtpc3N1ZS5tYXhpbXVtfSBjaGFyYWN0ZXIocylgO1xuICAgICAgZWxzZSBpZiAoaXNzdWUudHlwZSA9PT0gXCJudW1iZXJcIilcbiAgICAgICAgbWVzc2FnZSA9IGBOdW1iZXIgbXVzdCBiZSAke2lzc3VlLmV4YWN0ID8gYGV4YWN0bHlgIDogaXNzdWUuaW5jbHVzaXZlID8gYGxlc3MgdGhhbiBvciBlcXVhbCB0b2AgOiBgbGVzcyB0aGFuYH0gJHtpc3N1ZS5tYXhpbXVtfWA7XG4gICAgICBlbHNlIGlmIChpc3N1ZS50eXBlID09PSBcImJpZ2ludFwiKVxuICAgICAgICBtZXNzYWdlID0gYEJpZ0ludCBtdXN0IGJlICR7aXNzdWUuZXhhY3QgPyBgZXhhY3RseWAgOiBpc3N1ZS5pbmNsdXNpdmUgPyBgbGVzcyB0aGFuIG9yIGVxdWFsIHRvYCA6IGBsZXNzIHRoYW5gfSAke2lzc3VlLm1heGltdW19YDtcbiAgICAgIGVsc2UgaWYgKGlzc3VlLnR5cGUgPT09IFwiZGF0ZVwiKVxuICAgICAgICBtZXNzYWdlID0gYERhdGUgbXVzdCBiZSAke2lzc3VlLmV4YWN0ID8gYGV4YWN0bHlgIDogaXNzdWUuaW5jbHVzaXZlID8gYHNtYWxsZXIgdGhhbiBvciBlcXVhbCB0b2AgOiBgc21hbGxlciB0aGFuYH0gJHtuZXcgRGF0ZShOdW1iZXIoaXNzdWUubWF4aW11bSkpfWA7XG4gICAgICBlbHNlXG4gICAgICAgIG1lc3NhZ2UgPSBcIkludmFsaWQgaW5wdXRcIjtcbiAgICAgIGJyZWFrO1xuICAgIGNhc2UgWm9kSXNzdWVDb2RlLmN1c3RvbTpcbiAgICAgIG1lc3NhZ2UgPSBgSW52YWxpZCBpbnB1dGA7XG4gICAgICBicmVhaztcbiAgICBjYXNlIFpvZElzc3VlQ29kZS5pbnZhbGlkX2ludGVyc2VjdGlvbl90eXBlczpcbiAgICAgIG1lc3NhZ2UgPSBgSW50ZXJzZWN0aW9uIHJlc3VsdHMgY291bGQgbm90IGJlIG1lcmdlZGA7XG4gICAgICBicmVhaztcbiAgICBjYXNlIFpvZElzc3VlQ29kZS5ub3RfbXVsdGlwbGVfb2Y6XG4gICAgICBtZXNzYWdlID0gYE51bWJlciBtdXN0IGJlIGEgbXVsdGlwbGUgb2YgJHtpc3N1ZS5tdWx0aXBsZU9mfWA7XG4gICAgICBicmVhaztcbiAgICBjYXNlIFpvZElzc3VlQ29kZS5ub3RfZmluaXRlOlxuICAgICAgbWVzc2FnZSA9IFwiTnVtYmVyIG11c3QgYmUgZmluaXRlXCI7XG4gICAgICBicmVhaztcbiAgICBkZWZhdWx0OlxuICAgICAgbWVzc2FnZSA9IF9jdHguZGVmYXVsdEVycm9yO1xuICAgICAgdXRpbC5hc3NlcnROZXZlcihpc3N1ZSk7XG4gIH1cbiAgcmV0dXJuIHsgbWVzc2FnZSB9O1xufTtcbnZhciBvdmVycmlkZUVycm9yTWFwID0gZXJyb3JNYXA7XG5mdW5jdGlvbiBzZXRFcnJvck1hcChtYXApIHtcbiAgb3ZlcnJpZGVFcnJvck1hcCA9IG1hcDtcbn1cbmZ1bmN0aW9uIGdldEVycm9yTWFwKCkge1xuICByZXR1cm4gb3ZlcnJpZGVFcnJvck1hcDtcbn1cbnZhciBtYWtlSXNzdWUgPSAocGFyYW1zKSA9PiB7XG4gIGNvbnN0IHsgZGF0YSwgcGF0aCwgZXJyb3JNYXBzLCBpc3N1ZURhdGEgfSA9IHBhcmFtcztcbiAgY29uc3QgZnVsbFBhdGggPSBbLi4ucGF0aCwgLi4uaXNzdWVEYXRhLnBhdGggfHwgW11dO1xuICBjb25zdCBmdWxsSXNzdWUgPSB7XG4gICAgLi4uaXNzdWVEYXRhLFxuICAgIHBhdGg6IGZ1bGxQYXRoXG4gIH07XG4gIGlmIChpc3N1ZURhdGEubWVzc2FnZSAhPT0gdm9pZCAwKSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIC4uLmlzc3VlRGF0YSxcbiAgICAgIHBhdGg6IGZ1bGxQYXRoLFxuICAgICAgbWVzc2FnZTogaXNzdWVEYXRhLm1lc3NhZ2VcbiAgICB9O1xuICB9XG4gIGxldCBlcnJvck1lc3NhZ2UgPSBcIlwiO1xuICBjb25zdCBtYXBzID0gZXJyb3JNYXBzLmZpbHRlcigobSkgPT4gISFtKS5zbGljZSgpLnJldmVyc2UoKTtcbiAgZm9yIChjb25zdCBtYXAgb2YgbWFwcykge1xuICAgIGVycm9yTWVzc2FnZSA9IG1hcChmdWxsSXNzdWUsIHsgZGF0YSwgZGVmYXVsdEVycm9yOiBlcnJvck1lc3NhZ2UgfSkubWVzc2FnZTtcbiAgfVxuICByZXR1cm4ge1xuICAgIC4uLmlzc3VlRGF0YSxcbiAgICBwYXRoOiBmdWxsUGF0aCxcbiAgICBtZXNzYWdlOiBlcnJvck1lc3NhZ2VcbiAgfTtcbn07XG52YXIgRU1QVFlfUEFUSCA9IFtdO1xuZnVuY3Rpb24gYWRkSXNzdWVUb0NvbnRleHQoY3R4LCBpc3N1ZURhdGEpIHtcbiAgY29uc3Qgb3ZlcnJpZGVNYXAgPSBnZXRFcnJvck1hcCgpO1xuICBjb25zdCBpc3N1ZSA9IG1ha2VJc3N1ZSh7XG4gICAgaXNzdWVEYXRhLFxuICAgIGRhdGE6IGN0eC5kYXRhLFxuICAgIHBhdGg6IGN0eC5wYXRoLFxuICAgIGVycm9yTWFwczogW1xuICAgICAgY3R4LmNvbW1vbi5jb250ZXh0dWFsRXJyb3JNYXAsXG4gICAgICAvLyBjb250ZXh0dWFsIGVycm9yIG1hcCBpcyBmaXJzdCBwcmlvcml0eVxuICAgICAgY3R4LnNjaGVtYUVycm9yTWFwLFxuICAgICAgLy8gdGhlbiBzY2hlbWEtYm91bmQgbWFwIGlmIGF2YWlsYWJsZVxuICAgICAgb3ZlcnJpZGVNYXAsXG4gICAgICAvLyB0aGVuIGdsb2JhbCBvdmVycmlkZSBtYXBcbiAgICAgIG92ZXJyaWRlTWFwID09PSBlcnJvck1hcCA/IHZvaWQgMCA6IGVycm9yTWFwXG4gICAgICAvLyB0aGVuIGdsb2JhbCBkZWZhdWx0IG1hcFxuICAgIF0uZmlsdGVyKCh4KSA9PiAhIXgpXG4gIH0pO1xuICBjdHguY29tbW9uLmlzc3Vlcy5wdXNoKGlzc3VlKTtcbn1cbnZhciBQYXJzZVN0YXR1cyA9IGNsYXNzIF9QYXJzZVN0YXR1cyB7XG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIHRoaXMudmFsdWUgPSBcInZhbGlkXCI7XG4gIH1cbiAgZGlydHkoKSB7XG4gICAgaWYgKHRoaXMudmFsdWUgPT09IFwidmFsaWRcIilcbiAgICAgIHRoaXMudmFsdWUgPSBcImRpcnR5XCI7XG4gIH1cbiAgYWJvcnQoKSB7XG4gICAgaWYgKHRoaXMudmFsdWUgIT09IFwiYWJvcnRlZFwiKVxuICAgICAgdGhpcy52YWx1ZSA9IFwiYWJvcnRlZFwiO1xuICB9XG4gIHN0YXRpYyBtZXJnZUFycmF5KHN0YXR1cywgcmVzdWx0cykge1xuICAgIGNvbnN0IGFycmF5VmFsdWUgPSBbXTtcbiAgICBmb3IgKGNvbnN0IHMgb2YgcmVzdWx0cykge1xuICAgICAgaWYgKHMuc3RhdHVzID09PSBcImFib3J0ZWRcIilcbiAgICAgICAgcmV0dXJuIElOVkFMSUQ7XG4gICAgICBpZiAocy5zdGF0dXMgPT09IFwiZGlydHlcIilcbiAgICAgICAgc3RhdHVzLmRpcnR5KCk7XG4gICAgICBhcnJheVZhbHVlLnB1c2gocy52YWx1ZSk7XG4gICAgfVxuICAgIHJldHVybiB7IHN0YXR1czogc3RhdHVzLnZhbHVlLCB2YWx1ZTogYXJyYXlWYWx1ZSB9O1xuICB9XG4gIHN0YXRpYyBhc3luYyBtZXJnZU9iamVjdEFzeW5jKHN0YXR1cywgcGFpcnMpIHtcbiAgICBjb25zdCBzeW5jUGFpcnMgPSBbXTtcbiAgICBmb3IgKGNvbnN0IHBhaXIgb2YgcGFpcnMpIHtcbiAgICAgIGNvbnN0IGtleSA9IGF3YWl0IHBhaXIua2V5O1xuICAgICAgY29uc3QgdmFsdWUgPSBhd2FpdCBwYWlyLnZhbHVlO1xuICAgICAgc3luY1BhaXJzLnB1c2goe1xuICAgICAgICBrZXksXG4gICAgICAgIHZhbHVlXG4gICAgICB9KTtcbiAgICB9XG4gICAgcmV0dXJuIF9QYXJzZVN0YXR1cy5tZXJnZU9iamVjdFN5bmMoc3RhdHVzLCBzeW5jUGFpcnMpO1xuICB9XG4gIHN0YXRpYyBtZXJnZU9iamVjdFN5bmMoc3RhdHVzLCBwYWlycykge1xuICAgIGNvbnN0IGZpbmFsT2JqZWN0ID0ge307XG4gICAgZm9yIChjb25zdCBwYWlyIG9mIHBhaXJzKSB7XG4gICAgICBjb25zdCB7IGtleSwgdmFsdWUgfSA9IHBhaXI7XG4gICAgICBpZiAoa2V5LnN0YXR1cyA9PT0gXCJhYm9ydGVkXCIpXG4gICAgICAgIHJldHVybiBJTlZBTElEO1xuICAgICAgaWYgKHZhbHVlLnN0YXR1cyA9PT0gXCJhYm9ydGVkXCIpXG4gICAgICAgIHJldHVybiBJTlZBTElEO1xuICAgICAgaWYgKGtleS5zdGF0dXMgPT09IFwiZGlydHlcIilcbiAgICAgICAgc3RhdHVzLmRpcnR5KCk7XG4gICAgICBpZiAodmFsdWUuc3RhdHVzID09PSBcImRpcnR5XCIpXG4gICAgICAgIHN0YXR1cy5kaXJ0eSgpO1xuICAgICAgaWYgKGtleS52YWx1ZSAhPT0gXCJfX3Byb3RvX19cIiAmJiAodHlwZW9mIHZhbHVlLnZhbHVlICE9PSBcInVuZGVmaW5lZFwiIHx8IHBhaXIuYWx3YXlzU2V0KSkge1xuICAgICAgICBmaW5hbE9iamVjdFtrZXkudmFsdWVdID0gdmFsdWUudmFsdWU7XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiB7IHN0YXR1czogc3RhdHVzLnZhbHVlLCB2YWx1ZTogZmluYWxPYmplY3QgfTtcbiAgfVxufTtcbnZhciBJTlZBTElEID0gT2JqZWN0LmZyZWV6ZSh7XG4gIHN0YXR1czogXCJhYm9ydGVkXCJcbn0pO1xudmFyIERJUlRZID0gKHZhbHVlKSA9PiAoeyBzdGF0dXM6IFwiZGlydHlcIiwgdmFsdWUgfSk7XG52YXIgT0sgPSAodmFsdWUpID0+ICh7IHN0YXR1czogXCJ2YWxpZFwiLCB2YWx1ZSB9KTtcbnZhciBpc0Fib3J0ZWQgPSAoeCkgPT4geC5zdGF0dXMgPT09IFwiYWJvcnRlZFwiO1xudmFyIGlzRGlydHkgPSAoeCkgPT4geC5zdGF0dXMgPT09IFwiZGlydHlcIjtcbnZhciBpc1ZhbGlkID0gKHgpID0+IHguc3RhdHVzID09PSBcInZhbGlkXCI7XG52YXIgaXNBc3luYyA9ICh4KSA9PiB0eXBlb2YgUHJvbWlzZSAhPT0gXCJ1bmRlZmluZWRcIiAmJiB4IGluc3RhbmNlb2YgUHJvbWlzZTtcbmZ1bmN0aW9uIF9fY2xhc3NQcml2YXRlRmllbGRHZXQocmVjZWl2ZXIsIHN0YXRlLCBraW5kLCBmKSB7XG4gIGlmIChraW5kID09PSBcImFcIiAmJiAhZikgdGhyb3cgbmV3IFR5cGVFcnJvcihcIlByaXZhdGUgYWNjZXNzb3Igd2FzIGRlZmluZWQgd2l0aG91dCBhIGdldHRlclwiKTtcbiAgaWYgKHR5cGVvZiBzdGF0ZSA9PT0gXCJmdW5jdGlvblwiID8gcmVjZWl2ZXIgIT09IHN0YXRlIHx8ICFmIDogIXN0YXRlLmhhcyhyZWNlaXZlcikpIHRocm93IG5ldyBUeXBlRXJyb3IoXCJDYW5ub3QgcmVhZCBwcml2YXRlIG1lbWJlciBmcm9tIGFuIG9iamVjdCB3aG9zZSBjbGFzcyBkaWQgbm90IGRlY2xhcmUgaXRcIik7XG4gIHJldHVybiBraW5kID09PSBcIm1cIiA/IGYgOiBraW5kID09PSBcImFcIiA/IGYuY2FsbChyZWNlaXZlcikgOiBmID8gZi52YWx1ZSA6IHN0YXRlLmdldChyZWNlaXZlcik7XG59XG5mdW5jdGlvbiBfX2NsYXNzUHJpdmF0ZUZpZWxkU2V0KHJlY2VpdmVyLCBzdGF0ZSwgdmFsdWUsIGtpbmQsIGYpIHtcbiAgaWYgKGtpbmQgPT09IFwibVwiKSB0aHJvdyBuZXcgVHlwZUVycm9yKFwiUHJpdmF0ZSBtZXRob2QgaXMgbm90IHdyaXRhYmxlXCIpO1xuICBpZiAoa2luZCA9PT0gXCJhXCIgJiYgIWYpIHRocm93IG5ldyBUeXBlRXJyb3IoXCJQcml2YXRlIGFjY2Vzc29yIHdhcyBkZWZpbmVkIHdpdGhvdXQgYSBzZXR0ZXJcIik7XG4gIGlmICh0eXBlb2Ygc3RhdGUgPT09IFwiZnVuY3Rpb25cIiA/IHJlY2VpdmVyICE9PSBzdGF0ZSB8fCAhZiA6ICFzdGF0ZS5oYXMocmVjZWl2ZXIpKSB0aHJvdyBuZXcgVHlwZUVycm9yKFwiQ2Fubm90IHdyaXRlIHByaXZhdGUgbWVtYmVyIHRvIGFuIG9iamVjdCB3aG9zZSBjbGFzcyBkaWQgbm90IGRlY2xhcmUgaXRcIik7XG4gIHJldHVybiBraW5kID09PSBcImFcIiA/IGYuY2FsbChyZWNlaXZlciwgdmFsdWUpIDogZiA/IGYudmFsdWUgPSB2YWx1ZSA6IHN0YXRlLnNldChyZWNlaXZlciwgdmFsdWUpLCB2YWx1ZTtcbn1cbnZhciBlcnJvclV0aWw7XG4oZnVuY3Rpb24oZXJyb3JVdGlsMikge1xuICBlcnJvclV0aWwyLmVyclRvT2JqID0gKG1lc3NhZ2UpID0+IHR5cGVvZiBtZXNzYWdlID09PSBcInN0cmluZ1wiID8geyBtZXNzYWdlIH0gOiBtZXNzYWdlIHx8IHt9O1xuICBlcnJvclV0aWwyLnRvU3RyaW5nID0gKG1lc3NhZ2UpID0+IHR5cGVvZiBtZXNzYWdlID09PSBcInN0cmluZ1wiID8gbWVzc2FnZSA6IG1lc3NhZ2UgPT09IG51bGwgfHwgbWVzc2FnZSA9PT0gdm9pZCAwID8gdm9pZCAwIDogbWVzc2FnZS5tZXNzYWdlO1xufSkoZXJyb3JVdGlsIHx8IChlcnJvclV0aWwgPSB7fSkpO1xudmFyIF9ab2RFbnVtX2NhY2hlO1xudmFyIF9ab2ROYXRpdmVFbnVtX2NhY2hlO1xudmFyIFBhcnNlSW5wdXRMYXp5UGF0aCA9IGNsYXNzIHtcbiAgY29uc3RydWN0b3IocGFyZW50LCB2YWx1ZSwgcGF0aCwga2V5KSB7XG4gICAgdGhpcy5fY2FjaGVkUGF0aCA9IFtdO1xuICAgIHRoaXMucGFyZW50ID0gcGFyZW50O1xuICAgIHRoaXMuZGF0YSA9IHZhbHVlO1xuICAgIHRoaXMuX3BhdGggPSBwYXRoO1xuICAgIHRoaXMuX2tleSA9IGtleTtcbiAgfVxuICBnZXQgcGF0aCgpIHtcbiAgICBpZiAoIXRoaXMuX2NhY2hlZFBhdGgubGVuZ3RoKSB7XG4gICAgICBpZiAodGhpcy5fa2V5IGluc3RhbmNlb2YgQXJyYXkpIHtcbiAgICAgICAgdGhpcy5fY2FjaGVkUGF0aC5wdXNoKC4uLnRoaXMuX3BhdGgsIC4uLnRoaXMuX2tleSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLl9jYWNoZWRQYXRoLnB1c2goLi4udGhpcy5fcGF0aCwgdGhpcy5fa2V5KTtcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIHRoaXMuX2NhY2hlZFBhdGg7XG4gIH1cbn07XG52YXIgaGFuZGxlUmVzdWx0ID0gKGN0eCwgcmVzdWx0KSA9PiB7XG4gIGlmIChpc1ZhbGlkKHJlc3VsdCkpIHtcbiAgICByZXR1cm4geyBzdWNjZXNzOiB0cnVlLCBkYXRhOiByZXN1bHQudmFsdWUgfTtcbiAgfSBlbHNlIHtcbiAgICBpZiAoIWN0eC5jb21tb24uaXNzdWVzLmxlbmd0aCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKFwiVmFsaWRhdGlvbiBmYWlsZWQgYnV0IG5vIGlzc3VlcyBkZXRlY3RlZC5cIik7XG4gICAgfVxuICAgIHJldHVybiB7XG4gICAgICBzdWNjZXNzOiBmYWxzZSxcbiAgICAgIGdldCBlcnJvcigpIHtcbiAgICAgICAgaWYgKHRoaXMuX2Vycm9yKVxuICAgICAgICAgIHJldHVybiB0aGlzLl9lcnJvcjtcbiAgICAgICAgY29uc3QgZXJyb3IgPSBuZXcgWm9kRXJyb3IoY3R4LmNvbW1vbi5pc3N1ZXMpO1xuICAgICAgICB0aGlzLl9lcnJvciA9IGVycm9yO1xuICAgICAgICByZXR1cm4gdGhpcy5fZXJyb3I7XG4gICAgICB9XG4gICAgfTtcbiAgfVxufTtcbmZ1bmN0aW9uIHByb2Nlc3NDcmVhdGVQYXJhbXMocGFyYW1zKSB7XG4gIGlmICghcGFyYW1zKVxuICAgIHJldHVybiB7fTtcbiAgY29uc3QgeyBlcnJvck1hcDogZXJyb3JNYXAyLCBpbnZhbGlkX3R5cGVfZXJyb3IsIHJlcXVpcmVkX2Vycm9yLCBkZXNjcmlwdGlvbiB9ID0gcGFyYW1zO1xuICBpZiAoZXJyb3JNYXAyICYmIChpbnZhbGlkX3R5cGVfZXJyb3IgfHwgcmVxdWlyZWRfZXJyb3IpKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKGBDYW4ndCB1c2UgXCJpbnZhbGlkX3R5cGVfZXJyb3JcIiBvciBcInJlcXVpcmVkX2Vycm9yXCIgaW4gY29uanVuY3Rpb24gd2l0aCBjdXN0b20gZXJyb3IgbWFwLmApO1xuICB9XG4gIGlmIChlcnJvck1hcDIpXG4gICAgcmV0dXJuIHsgZXJyb3JNYXA6IGVycm9yTWFwMiwgZGVzY3JpcHRpb24gfTtcbiAgY29uc3QgY3VzdG9tTWFwID0gKGlzcywgY3R4KSA9PiB7XG4gICAgdmFyIF9hLCBfYjtcbiAgICBjb25zdCB7IG1lc3NhZ2UgfSA9IHBhcmFtcztcbiAgICBpZiAoaXNzLmNvZGUgPT09IFwiaW52YWxpZF9lbnVtX3ZhbHVlXCIpIHtcbiAgICAgIHJldHVybiB7IG1lc3NhZ2U6IG1lc3NhZ2UgIT09IG51bGwgJiYgbWVzc2FnZSAhPT0gdm9pZCAwID8gbWVzc2FnZSA6IGN0eC5kZWZhdWx0RXJyb3IgfTtcbiAgICB9XG4gICAgaWYgKHR5cGVvZiBjdHguZGF0YSA9PT0gXCJ1bmRlZmluZWRcIikge1xuICAgICAgcmV0dXJuIHsgbWVzc2FnZTogKF9hID0gbWVzc2FnZSAhPT0gbnVsbCAmJiBtZXNzYWdlICE9PSB2b2lkIDAgPyBtZXNzYWdlIDogcmVxdWlyZWRfZXJyb3IpICE9PSBudWxsICYmIF9hICE9PSB2b2lkIDAgPyBfYSA6IGN0eC5kZWZhdWx0RXJyb3IgfTtcbiAgICB9XG4gICAgaWYgKGlzcy5jb2RlICE9PSBcImludmFsaWRfdHlwZVwiKVxuICAgICAgcmV0dXJuIHsgbWVzc2FnZTogY3R4LmRlZmF1bHRFcnJvciB9O1xuICAgIHJldHVybiB7IG1lc3NhZ2U6IChfYiA9IG1lc3NhZ2UgIT09IG51bGwgJiYgbWVzc2FnZSAhPT0gdm9pZCAwID8gbWVzc2FnZSA6IGludmFsaWRfdHlwZV9lcnJvcikgIT09IG51bGwgJiYgX2IgIT09IHZvaWQgMCA/IF9iIDogY3R4LmRlZmF1bHRFcnJvciB9O1xuICB9O1xuICByZXR1cm4geyBlcnJvck1hcDogY3VzdG9tTWFwLCBkZXNjcmlwdGlvbiB9O1xufVxudmFyIFpvZFR5cGUgPSBjbGFzcyB7XG4gIGdldCBkZXNjcmlwdGlvbigpIHtcbiAgICByZXR1cm4gdGhpcy5fZGVmLmRlc2NyaXB0aW9uO1xuICB9XG4gIF9nZXRUeXBlKGlucHV0KSB7XG4gICAgcmV0dXJuIGdldFBhcnNlZFR5cGUoaW5wdXQuZGF0YSk7XG4gIH1cbiAgX2dldE9yUmV0dXJuQ3R4KGlucHV0LCBjdHgpIHtcbiAgICByZXR1cm4gY3R4IHx8IHtcbiAgICAgIGNvbW1vbjogaW5wdXQucGFyZW50LmNvbW1vbixcbiAgICAgIGRhdGE6IGlucHV0LmRhdGEsXG4gICAgICBwYXJzZWRUeXBlOiBnZXRQYXJzZWRUeXBlKGlucHV0LmRhdGEpLFxuICAgICAgc2NoZW1hRXJyb3JNYXA6IHRoaXMuX2RlZi5lcnJvck1hcCxcbiAgICAgIHBhdGg6IGlucHV0LnBhdGgsXG4gICAgICBwYXJlbnQ6IGlucHV0LnBhcmVudFxuICAgIH07XG4gIH1cbiAgX3Byb2Nlc3NJbnB1dFBhcmFtcyhpbnB1dCkge1xuICAgIHJldHVybiB7XG4gICAgICBzdGF0dXM6IG5ldyBQYXJzZVN0YXR1cygpLFxuICAgICAgY3R4OiB7XG4gICAgICAgIGNvbW1vbjogaW5wdXQucGFyZW50LmNvbW1vbixcbiAgICAgICAgZGF0YTogaW5wdXQuZGF0YSxcbiAgICAgICAgcGFyc2VkVHlwZTogZ2V0UGFyc2VkVHlwZShpbnB1dC5kYXRhKSxcbiAgICAgICAgc2NoZW1hRXJyb3JNYXA6IHRoaXMuX2RlZi5lcnJvck1hcCxcbiAgICAgICAgcGF0aDogaW5wdXQucGF0aCxcbiAgICAgICAgcGFyZW50OiBpbnB1dC5wYXJlbnRcbiAgICAgIH1cbiAgICB9O1xuICB9XG4gIF9wYXJzZVN5bmMoaW5wdXQpIHtcbiAgICBjb25zdCByZXN1bHQgPSB0aGlzLl9wYXJzZShpbnB1dCk7XG4gICAgaWYgKGlzQXN5bmMocmVzdWx0KSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKFwiU3luY2hyb25vdXMgcGFyc2UgZW5jb3VudGVyZWQgcHJvbWlzZS5cIik7XG4gICAgfVxuICAgIHJldHVybiByZXN1bHQ7XG4gIH1cbiAgX3BhcnNlQXN5bmMoaW5wdXQpIHtcbiAgICBjb25zdCByZXN1bHQgPSB0aGlzLl9wYXJzZShpbnB1dCk7XG4gICAgcmV0dXJuIFByb21pc2UucmVzb2x2ZShyZXN1bHQpO1xuICB9XG4gIHBhcnNlKGRhdGEsIHBhcmFtcykge1xuICAgIGNvbnN0IHJlc3VsdCA9IHRoaXMuc2FmZVBhcnNlKGRhdGEsIHBhcmFtcyk7XG4gICAgaWYgKHJlc3VsdC5zdWNjZXNzKVxuICAgICAgcmV0dXJuIHJlc3VsdC5kYXRhO1xuICAgIHRocm93IHJlc3VsdC5lcnJvcjtcbiAgfVxuICBzYWZlUGFyc2UoZGF0YSwgcGFyYW1zKSB7XG4gICAgdmFyIF9hO1xuICAgIGNvbnN0IGN0eCA9IHtcbiAgICAgIGNvbW1vbjoge1xuICAgICAgICBpc3N1ZXM6IFtdLFxuICAgICAgICBhc3luYzogKF9hID0gcGFyYW1zID09PSBudWxsIHx8IHBhcmFtcyA9PT0gdm9pZCAwID8gdm9pZCAwIDogcGFyYW1zLmFzeW5jKSAhPT0gbnVsbCAmJiBfYSAhPT0gdm9pZCAwID8gX2EgOiBmYWxzZSxcbiAgICAgICAgY29udGV4dHVhbEVycm9yTWFwOiBwYXJhbXMgPT09IG51bGwgfHwgcGFyYW1zID09PSB2b2lkIDAgPyB2b2lkIDAgOiBwYXJhbXMuZXJyb3JNYXBcbiAgICAgIH0sXG4gICAgICBwYXRoOiAocGFyYW1zID09PSBudWxsIHx8IHBhcmFtcyA9PT0gdm9pZCAwID8gdm9pZCAwIDogcGFyYW1zLnBhdGgpIHx8IFtdLFxuICAgICAgc2NoZW1hRXJyb3JNYXA6IHRoaXMuX2RlZi5lcnJvck1hcCxcbiAgICAgIHBhcmVudDogbnVsbCxcbiAgICAgIGRhdGEsXG4gICAgICBwYXJzZWRUeXBlOiBnZXRQYXJzZWRUeXBlKGRhdGEpXG4gICAgfTtcbiAgICBjb25zdCByZXN1bHQgPSB0aGlzLl9wYXJzZVN5bmMoeyBkYXRhLCBwYXRoOiBjdHgucGF0aCwgcGFyZW50OiBjdHggfSk7XG4gICAgcmV0dXJuIGhhbmRsZVJlc3VsdChjdHgsIHJlc3VsdCk7XG4gIH1cbiAgXCJ+dmFsaWRhdGVcIihkYXRhKSB7XG4gICAgdmFyIF9hLCBfYjtcbiAgICBjb25zdCBjdHggPSB7XG4gICAgICBjb21tb246IHtcbiAgICAgICAgaXNzdWVzOiBbXSxcbiAgICAgICAgYXN5bmM6ICEhdGhpc1tcIn5zdGFuZGFyZFwiXS5hc3luY1xuICAgICAgfSxcbiAgICAgIHBhdGg6IFtdLFxuICAgICAgc2NoZW1hRXJyb3JNYXA6IHRoaXMuX2RlZi5lcnJvck1hcCxcbiAgICAgIHBhcmVudDogbnVsbCxcbiAgICAgIGRhdGEsXG4gICAgICBwYXJzZWRUeXBlOiBnZXRQYXJzZWRUeXBlKGRhdGEpXG4gICAgfTtcbiAgICBpZiAoIXRoaXNbXCJ+c3RhbmRhcmRcIl0uYXN5bmMpIHtcbiAgICAgIHRyeSB7XG4gICAgICAgIGNvbnN0IHJlc3VsdCA9IHRoaXMuX3BhcnNlU3luYyh7IGRhdGEsIHBhdGg6IFtdLCBwYXJlbnQ6IGN0eCB9KTtcbiAgICAgICAgcmV0dXJuIGlzVmFsaWQocmVzdWx0KSA/IHtcbiAgICAgICAgICB2YWx1ZTogcmVzdWx0LnZhbHVlXG4gICAgICAgIH0gOiB7XG4gICAgICAgICAgaXNzdWVzOiBjdHguY29tbW9uLmlzc3Vlc1xuICAgICAgICB9O1xuICAgICAgfSBjYXRjaCAoZXJyMikge1xuICAgICAgICBpZiAoKF9iID0gKF9hID0gZXJyMiA9PT0gbnVsbCB8fCBlcnIyID09PSB2b2lkIDAgPyB2b2lkIDAgOiBlcnIyLm1lc3NhZ2UpID09PSBudWxsIHx8IF9hID09PSB2b2lkIDAgPyB2b2lkIDAgOiBfYS50b0xvd2VyQ2FzZSgpKSA9PT0gbnVsbCB8fCBfYiA9PT0gdm9pZCAwID8gdm9pZCAwIDogX2IuaW5jbHVkZXMoXCJlbmNvdW50ZXJlZFwiKSkge1xuICAgICAgICAgIHRoaXNbXCJ+c3RhbmRhcmRcIl0uYXN5bmMgPSB0cnVlO1xuICAgICAgICB9XG4gICAgICAgIGN0eC5jb21tb24gPSB7XG4gICAgICAgICAgaXNzdWVzOiBbXSxcbiAgICAgICAgICBhc3luYzogdHJ1ZVxuICAgICAgICB9O1xuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gdGhpcy5fcGFyc2VBc3luYyh7IGRhdGEsIHBhdGg6IFtdLCBwYXJlbnQ6IGN0eCB9KS50aGVuKChyZXN1bHQpID0+IGlzVmFsaWQocmVzdWx0KSA/IHtcbiAgICAgIHZhbHVlOiByZXN1bHQudmFsdWVcbiAgICB9IDoge1xuICAgICAgaXNzdWVzOiBjdHguY29tbW9uLmlzc3Vlc1xuICAgIH0pO1xuICB9XG4gIGFzeW5jIHBhcnNlQXN5bmMoZGF0YSwgcGFyYW1zKSB7XG4gICAgY29uc3QgcmVzdWx0ID0gYXdhaXQgdGhpcy5zYWZlUGFyc2VBc3luYyhkYXRhLCBwYXJhbXMpO1xuICAgIGlmIChyZXN1bHQuc3VjY2VzcylcbiAgICAgIHJldHVybiByZXN1bHQuZGF0YTtcbiAgICB0aHJvdyByZXN1bHQuZXJyb3I7XG4gIH1cbiAgYXN5bmMgc2FmZVBhcnNlQXN5bmMoZGF0YSwgcGFyYW1zKSB7XG4gICAgY29uc3QgY3R4ID0ge1xuICAgICAgY29tbW9uOiB7XG4gICAgICAgIGlzc3VlczogW10sXG4gICAgICAgIGNvbnRleHR1YWxFcnJvck1hcDogcGFyYW1zID09PSBudWxsIHx8IHBhcmFtcyA9PT0gdm9pZCAwID8gdm9pZCAwIDogcGFyYW1zLmVycm9yTWFwLFxuICAgICAgICBhc3luYzogdHJ1ZVxuICAgICAgfSxcbiAgICAgIHBhdGg6IChwYXJhbXMgPT09IG51bGwgfHwgcGFyYW1zID09PSB2b2lkIDAgPyB2b2lkIDAgOiBwYXJhbXMucGF0aCkgfHwgW10sXG4gICAgICBzY2hlbWFFcnJvck1hcDogdGhpcy5fZGVmLmVycm9yTWFwLFxuICAgICAgcGFyZW50OiBudWxsLFxuICAgICAgZGF0YSxcbiAgICAgIHBhcnNlZFR5cGU6IGdldFBhcnNlZFR5cGUoZGF0YSlcbiAgICB9O1xuICAgIGNvbnN0IG1heWJlQXN5bmNSZXN1bHQgPSB0aGlzLl9wYXJzZSh7IGRhdGEsIHBhdGg6IGN0eC5wYXRoLCBwYXJlbnQ6IGN0eCB9KTtcbiAgICBjb25zdCByZXN1bHQgPSBhd2FpdCAoaXNBc3luYyhtYXliZUFzeW5jUmVzdWx0KSA/IG1heWJlQXN5bmNSZXN1bHQgOiBQcm9taXNlLnJlc29sdmUobWF5YmVBc3luY1Jlc3VsdCkpO1xuICAgIHJldHVybiBoYW5kbGVSZXN1bHQoY3R4LCByZXN1bHQpO1xuICB9XG4gIHJlZmluZShjaGVjaywgbWVzc2FnZSkge1xuICAgIGNvbnN0IGdldElzc3VlUHJvcGVydGllcyA9ICh2YWwpID0+IHtcbiAgICAgIGlmICh0eXBlb2YgbWVzc2FnZSA9PT0gXCJzdHJpbmdcIiB8fCB0eXBlb2YgbWVzc2FnZSA9PT0gXCJ1bmRlZmluZWRcIikge1xuICAgICAgICByZXR1cm4geyBtZXNzYWdlIH07XG4gICAgICB9IGVsc2UgaWYgKHR5cGVvZiBtZXNzYWdlID09PSBcImZ1bmN0aW9uXCIpIHtcbiAgICAgICAgcmV0dXJuIG1lc3NhZ2UodmFsKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHJldHVybiBtZXNzYWdlO1xuICAgICAgfVxuICAgIH07XG4gICAgcmV0dXJuIHRoaXMuX3JlZmluZW1lbnQoKHZhbCwgY3R4KSA9PiB7XG4gICAgICBjb25zdCByZXN1bHQgPSBjaGVjayh2YWwpO1xuICAgICAgY29uc3Qgc2V0RXJyb3IgPSAoKSA9PiBjdHguYWRkSXNzdWUoe1xuICAgICAgICBjb2RlOiBab2RJc3N1ZUNvZGUuY3VzdG9tLFxuICAgICAgICAuLi5nZXRJc3N1ZVByb3BlcnRpZXModmFsKVxuICAgICAgfSk7XG4gICAgICBpZiAodHlwZW9mIFByb21pc2UgIT09IFwidW5kZWZpbmVkXCIgJiYgcmVzdWx0IGluc3RhbmNlb2YgUHJvbWlzZSkge1xuICAgICAgICByZXR1cm4gcmVzdWx0LnRoZW4oKGRhdGEpID0+IHtcbiAgICAgICAgICBpZiAoIWRhdGEpIHtcbiAgICAgICAgICAgIHNldEVycm9yKCk7XG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgICBpZiAoIXJlc3VsdCkge1xuICAgICAgICBzZXRFcnJvcigpO1xuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuICByZWZpbmVtZW50KGNoZWNrLCByZWZpbmVtZW50RGF0YSkge1xuICAgIHJldHVybiB0aGlzLl9yZWZpbmVtZW50KCh2YWwsIGN0eCkgPT4ge1xuICAgICAgaWYgKCFjaGVjayh2YWwpKSB7XG4gICAgICAgIGN0eC5hZGRJc3N1ZSh0eXBlb2YgcmVmaW5lbWVudERhdGEgPT09IFwiZnVuY3Rpb25cIiA/IHJlZmluZW1lbnREYXRhKHZhbCwgY3R4KSA6IHJlZmluZW1lbnREYXRhKTtcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cbiAgX3JlZmluZW1lbnQocmVmaW5lbWVudCkge1xuICAgIHJldHVybiBuZXcgWm9kRWZmZWN0cyh7XG4gICAgICBzY2hlbWE6IHRoaXMsXG4gICAgICB0eXBlTmFtZTogWm9kRmlyc3RQYXJ0eVR5cGVLaW5kLlpvZEVmZmVjdHMsXG4gICAgICBlZmZlY3Q6IHsgdHlwZTogXCJyZWZpbmVtZW50XCIsIHJlZmluZW1lbnQgfVxuICAgIH0pO1xuICB9XG4gIHN1cGVyUmVmaW5lKHJlZmluZW1lbnQpIHtcbiAgICByZXR1cm4gdGhpcy5fcmVmaW5lbWVudChyZWZpbmVtZW50KTtcbiAgfVxuICBjb25zdHJ1Y3RvcihkZWYpIHtcbiAgICB0aGlzLnNwYSA9IHRoaXMuc2FmZVBhcnNlQXN5bmM7XG4gICAgdGhpcy5fZGVmID0gZGVmO1xuICAgIHRoaXMucGFyc2UgPSB0aGlzLnBhcnNlLmJpbmQodGhpcyk7XG4gICAgdGhpcy5zYWZlUGFyc2UgPSB0aGlzLnNhZmVQYXJzZS5iaW5kKHRoaXMpO1xuICAgIHRoaXMucGFyc2VBc3luYyA9IHRoaXMucGFyc2VBc3luYy5iaW5kKHRoaXMpO1xuICAgIHRoaXMuc2FmZVBhcnNlQXN5bmMgPSB0aGlzLnNhZmVQYXJzZUFzeW5jLmJpbmQodGhpcyk7XG4gICAgdGhpcy5zcGEgPSB0aGlzLnNwYS5iaW5kKHRoaXMpO1xuICAgIHRoaXMucmVmaW5lID0gdGhpcy5yZWZpbmUuYmluZCh0aGlzKTtcbiAgICB0aGlzLnJlZmluZW1lbnQgPSB0aGlzLnJlZmluZW1lbnQuYmluZCh0aGlzKTtcbiAgICB0aGlzLnN1cGVyUmVmaW5lID0gdGhpcy5zdXBlclJlZmluZS5iaW5kKHRoaXMpO1xuICAgIHRoaXMub3B0aW9uYWwgPSB0aGlzLm9wdGlvbmFsLmJpbmQodGhpcyk7XG4gICAgdGhpcy5udWxsYWJsZSA9IHRoaXMubnVsbGFibGUuYmluZCh0aGlzKTtcbiAgICB0aGlzLm51bGxpc2ggPSB0aGlzLm51bGxpc2guYmluZCh0aGlzKTtcbiAgICB0aGlzLmFycmF5ID0gdGhpcy5hcnJheS5iaW5kKHRoaXMpO1xuICAgIHRoaXMucHJvbWlzZSA9IHRoaXMucHJvbWlzZS5iaW5kKHRoaXMpO1xuICAgIHRoaXMub3IgPSB0aGlzLm9yLmJpbmQodGhpcyk7XG4gICAgdGhpcy5hbmQgPSB0aGlzLmFuZC5iaW5kKHRoaXMpO1xuICAgIHRoaXMudHJhbnNmb3JtID0gdGhpcy50cmFuc2Zvcm0uYmluZCh0aGlzKTtcbiAgICB0aGlzLmJyYW5kID0gdGhpcy5icmFuZC5iaW5kKHRoaXMpO1xuICAgIHRoaXMuZGVmYXVsdCA9IHRoaXMuZGVmYXVsdC5iaW5kKHRoaXMpO1xuICAgIHRoaXMuY2F0Y2ggPSB0aGlzLmNhdGNoLmJpbmQodGhpcyk7XG4gICAgdGhpcy5kZXNjcmliZSA9IHRoaXMuZGVzY3JpYmUuYmluZCh0aGlzKTtcbiAgICB0aGlzLnBpcGUgPSB0aGlzLnBpcGUuYmluZCh0aGlzKTtcbiAgICB0aGlzLnJlYWRvbmx5ID0gdGhpcy5yZWFkb25seS5iaW5kKHRoaXMpO1xuICAgIHRoaXMuaXNOdWxsYWJsZSA9IHRoaXMuaXNOdWxsYWJsZS5iaW5kKHRoaXMpO1xuICAgIHRoaXMuaXNPcHRpb25hbCA9IHRoaXMuaXNPcHRpb25hbC5iaW5kKHRoaXMpO1xuICAgIHRoaXNbXCJ+c3RhbmRhcmRcIl0gPSB7XG4gICAgICB2ZXJzaW9uOiAxLFxuICAgICAgdmVuZG9yOiBcInpvZFwiLFxuICAgICAgdmFsaWRhdGU6IChkYXRhKSA9PiB0aGlzW1wifnZhbGlkYXRlXCJdKGRhdGEpXG4gICAgfTtcbiAgfVxuICBvcHRpb25hbCgpIHtcbiAgICByZXR1cm4gWm9kT3B0aW9uYWwuY3JlYXRlKHRoaXMsIHRoaXMuX2RlZik7XG4gIH1cbiAgbnVsbGFibGUoKSB7XG4gICAgcmV0dXJuIFpvZE51bGxhYmxlLmNyZWF0ZSh0aGlzLCB0aGlzLl9kZWYpO1xuICB9XG4gIG51bGxpc2goKSB7XG4gICAgcmV0dXJuIHRoaXMubnVsbGFibGUoKS5vcHRpb25hbCgpO1xuICB9XG4gIGFycmF5KCkge1xuICAgIHJldHVybiBab2RBcnJheS5jcmVhdGUodGhpcyk7XG4gIH1cbiAgcHJvbWlzZSgpIHtcbiAgICByZXR1cm4gWm9kUHJvbWlzZS5jcmVhdGUodGhpcywgdGhpcy5fZGVmKTtcbiAgfVxuICBvcihvcHRpb24pIHtcbiAgICByZXR1cm4gWm9kVW5pb24uY3JlYXRlKFt0aGlzLCBvcHRpb25dLCB0aGlzLl9kZWYpO1xuICB9XG4gIGFuZChpbmNvbWluZykge1xuICAgIHJldHVybiBab2RJbnRlcnNlY3Rpb24uY3JlYXRlKHRoaXMsIGluY29taW5nLCB0aGlzLl9kZWYpO1xuICB9XG4gIHRyYW5zZm9ybSh0cmFuc2Zvcm0pIHtcbiAgICByZXR1cm4gbmV3IFpvZEVmZmVjdHMoe1xuICAgICAgLi4ucHJvY2Vzc0NyZWF0ZVBhcmFtcyh0aGlzLl9kZWYpLFxuICAgICAgc2NoZW1hOiB0aGlzLFxuICAgICAgdHlwZU5hbWU6IFpvZEZpcnN0UGFydHlUeXBlS2luZC5ab2RFZmZlY3RzLFxuICAgICAgZWZmZWN0OiB7IHR5cGU6IFwidHJhbnNmb3JtXCIsIHRyYW5zZm9ybSB9XG4gICAgfSk7XG4gIH1cbiAgZGVmYXVsdChkZWYpIHtcbiAgICBjb25zdCBkZWZhdWx0VmFsdWVGdW5jID0gdHlwZW9mIGRlZiA9PT0gXCJmdW5jdGlvblwiID8gZGVmIDogKCkgPT4gZGVmO1xuICAgIHJldHVybiBuZXcgWm9kRGVmYXVsdCh7XG4gICAgICAuLi5wcm9jZXNzQ3JlYXRlUGFyYW1zKHRoaXMuX2RlZiksXG4gICAgICBpbm5lclR5cGU6IHRoaXMsXG4gICAgICBkZWZhdWx0VmFsdWU6IGRlZmF1bHRWYWx1ZUZ1bmMsXG4gICAgICB0eXBlTmFtZTogWm9kRmlyc3RQYXJ0eVR5cGVLaW5kLlpvZERlZmF1bHRcbiAgICB9KTtcbiAgfVxuICBicmFuZCgpIHtcbiAgICByZXR1cm4gbmV3IFpvZEJyYW5kZWQoe1xuICAgICAgdHlwZU5hbWU6IFpvZEZpcnN0UGFydHlUeXBlS2luZC5ab2RCcmFuZGVkLFxuICAgICAgdHlwZTogdGhpcyxcbiAgICAgIC4uLnByb2Nlc3NDcmVhdGVQYXJhbXModGhpcy5fZGVmKVxuICAgIH0pO1xuICB9XG4gIGNhdGNoKGRlZikge1xuICAgIGNvbnN0IGNhdGNoVmFsdWVGdW5jID0gdHlwZW9mIGRlZiA9PT0gXCJmdW5jdGlvblwiID8gZGVmIDogKCkgPT4gZGVmO1xuICAgIHJldHVybiBuZXcgWm9kQ2F0Y2goe1xuICAgICAgLi4ucHJvY2Vzc0NyZWF0ZVBhcmFtcyh0aGlzLl9kZWYpLFxuICAgICAgaW5uZXJUeXBlOiB0aGlzLFxuICAgICAgY2F0Y2hWYWx1ZTogY2F0Y2hWYWx1ZUZ1bmMsXG4gICAgICB0eXBlTmFtZTogWm9kRmlyc3RQYXJ0eVR5cGVLaW5kLlpvZENhdGNoXG4gICAgfSk7XG4gIH1cbiAgZGVzY3JpYmUoZGVzY3JpcHRpb24pIHtcbiAgICBjb25zdCBUaGlzID0gdGhpcy5jb25zdHJ1Y3RvcjtcbiAgICByZXR1cm4gbmV3IFRoaXMoe1xuICAgICAgLi4udGhpcy5fZGVmLFxuICAgICAgZGVzY3JpcHRpb25cbiAgICB9KTtcbiAgfVxuICBwaXBlKHRhcmdldCkge1xuICAgIHJldHVybiBab2RQaXBlbGluZS5jcmVhdGUodGhpcywgdGFyZ2V0KTtcbiAgfVxuICByZWFkb25seSgpIHtcbiAgICByZXR1cm4gWm9kUmVhZG9ubHkuY3JlYXRlKHRoaXMpO1xuICB9XG4gIGlzT3B0aW9uYWwoKSB7XG4gICAgcmV0dXJuIHRoaXMuc2FmZVBhcnNlKHZvaWQgMCkuc3VjY2VzcztcbiAgfVxuICBpc051bGxhYmxlKCkge1xuICAgIHJldHVybiB0aGlzLnNhZmVQYXJzZShudWxsKS5zdWNjZXNzO1xuICB9XG59O1xudmFyIGN1aWRSZWdleCA9IC9eY1teXFxzLV17OCx9JC9pO1xudmFyIGN1aWQyUmVnZXggPSAvXlswLTlhLXpdKyQvO1xudmFyIHVsaWRSZWdleCA9IC9eWzAtOUEtSEpLTU5QLVRWLVpdezI2fSQvaTtcbnZhciB1dWlkUmVnZXggPSAvXlswLTlhLWZBLUZdezh9XFxiLVswLTlhLWZBLUZdezR9XFxiLVswLTlhLWZBLUZdezR9XFxiLVswLTlhLWZBLUZdezR9XFxiLVswLTlhLWZBLUZdezEyfSQvaTtcbnZhciBuYW5vaWRSZWdleCA9IC9eW2EtejAtOV8tXXsyMX0kL2k7XG52YXIgand0UmVnZXggPSAvXltBLVphLXowLTktX10rXFwuW0EtWmEtejAtOS1fXStcXC5bQS1aYS16MC05LV9dKiQvO1xudmFyIGR1cmF0aW9uUmVnZXggPSAvXlstK10/UCg/ISQpKD86KD86Wy0rXT9cXGQrWSl8KD86Wy0rXT9cXGQrWy4sXVxcZCtZJCkpPyg/Oig/OlstK10/XFxkK00pfCg/OlstK10/XFxkK1suLF1cXGQrTSQpKT8oPzooPzpbLStdP1xcZCtXKXwoPzpbLStdP1xcZCtbLixdXFxkK1ckKSk/KD86KD86Wy0rXT9cXGQrRCl8KD86Wy0rXT9cXGQrWy4sXVxcZCtEJCkpPyg/OlQoPz1bXFxkKy1dKSg/Oig/OlstK10/XFxkK0gpfCg/OlstK10/XFxkK1suLF1cXGQrSCQpKT8oPzooPzpbLStdP1xcZCtNKXwoPzpbLStdP1xcZCtbLixdXFxkK00kKSk/KD86Wy0rXT9cXGQrKD86Wy4sXVxcZCspP1MpPyk/PyQvO1xudmFyIGVtYWlsUmVnZXggPSAvXig/IVxcLikoPyEuKlxcLlxcLikoW0EtWjAtOV8nK1xcLVxcLl0qKVtBLVowLTlfKy1dQChbQS1aMC05XVtBLVowLTlcXC1dKlxcLikrW0EtWl17Mix9JC9pO1xudmFyIF9lbW9qaVJlZ2V4ID0gYF4oXFxcXHB7RXh0ZW5kZWRfUGljdG9ncmFwaGljfXxcXFxccHtFbW9qaV9Db21wb25lbnR9KSskYDtcbnZhciBlbW9qaVJlZ2V4O1xudmFyIGlwdjRSZWdleCA9IC9eKD86KD86MjVbMC01XXwyWzAtNF1bMC05XXwxWzAtOV1bMC05XXxbMS05XVswLTldfFswLTldKVxcLil7M30oPzoyNVswLTVdfDJbMC00XVswLTldfDFbMC05XVswLTldfFsxLTldWzAtOV18WzAtOV0pJC87XG52YXIgaXB2NENpZHJSZWdleCA9IC9eKD86KD86MjVbMC01XXwyWzAtNF1bMC05XXwxWzAtOV1bMC05XXxbMS05XVswLTldfFswLTldKVxcLil7M30oPzoyNVswLTVdfDJbMC00XVswLTldfDFbMC05XVswLTldfFsxLTldWzAtOV18WzAtOV0pXFwvKDNbMC0yXXxbMTJdP1swLTldKSQvO1xudmFyIGlwdjZSZWdleCA9IC9eKChbMC05YS1mQS1GXXsxLDR9Oil7Nyw3fVswLTlhLWZBLUZdezEsNH18KFswLTlhLWZBLUZdezEsNH06KXsxLDd9OnwoWzAtOWEtZkEtRl17MSw0fTopezEsNn06WzAtOWEtZkEtRl17MSw0fXwoWzAtOWEtZkEtRl17MSw0fTopezEsNX0oOlswLTlhLWZBLUZdezEsNH0pezEsMn18KFswLTlhLWZBLUZdezEsNH06KXsxLDR9KDpbMC05YS1mQS1GXXsxLDR9KXsxLDN9fChbMC05YS1mQS1GXXsxLDR9Oil7MSwzfSg6WzAtOWEtZkEtRl17MSw0fSl7MSw0fXwoWzAtOWEtZkEtRl17MSw0fTopezEsMn0oOlswLTlhLWZBLUZdezEsNH0pezEsNX18WzAtOWEtZkEtRl17MSw0fTooKDpbMC05YS1mQS1GXXsxLDR9KXsxLDZ9KXw6KCg6WzAtOWEtZkEtRl17MSw0fSl7MSw3fXw6KXxmZTgwOig6WzAtOWEtZkEtRl17MCw0fSl7MCw0fSVbMC05YS16QS1aXXsxLH18OjooZmZmZig6MHsxLDR9KXswLDF9Oil7MCwxfSgoMjVbMC01XXwoMlswLTRdfDF7MCwxfVswLTldKXswLDF9WzAtOV0pXFwuKXszLDN9KDI1WzAtNV18KDJbMC00XXwxezAsMX1bMC05XSl7MCwxfVswLTldKXwoWzAtOWEtZkEtRl17MSw0fTopezEsNH06KCgyNVswLTVdfCgyWzAtNF18MXswLDF9WzAtOV0pezAsMX1bMC05XSlcXC4pezMsM30oMjVbMC01XXwoMlswLTRdfDF7MCwxfVswLTldKXswLDF9WzAtOV0pKSQvO1xudmFyIGlwdjZDaWRyUmVnZXggPSAvXigoWzAtOWEtZkEtRl17MSw0fTopezcsN31bMC05YS1mQS1GXXsxLDR9fChbMC05YS1mQS1GXXsxLDR9Oil7MSw3fTp8KFswLTlhLWZBLUZdezEsNH06KXsxLDZ9OlswLTlhLWZBLUZdezEsNH18KFswLTlhLWZBLUZdezEsNH06KXsxLDV9KDpbMC05YS1mQS1GXXsxLDR9KXsxLDJ9fChbMC05YS1mQS1GXXsxLDR9Oil7MSw0fSg6WzAtOWEtZkEtRl17MSw0fSl7MSwzfXwoWzAtOWEtZkEtRl17MSw0fTopezEsM30oOlswLTlhLWZBLUZdezEsNH0pezEsNH18KFswLTlhLWZBLUZdezEsNH06KXsxLDJ9KDpbMC05YS1mQS1GXXsxLDR9KXsxLDV9fFswLTlhLWZBLUZdezEsNH06KCg6WzAtOWEtZkEtRl17MSw0fSl7MSw2fSl8OigoOlswLTlhLWZBLUZdezEsNH0pezEsN318Oil8ZmU4MDooOlswLTlhLWZBLUZdezAsNH0pezAsNH0lWzAtOWEtekEtWl17MSx9fDo6KGZmZmYoOjB7MSw0fSl7MCwxfTopezAsMX0oKDI1WzAtNV18KDJbMC00XXwxezAsMX1bMC05XSl7MCwxfVswLTldKVxcLil7MywzfSgyNVswLTVdfCgyWzAtNF18MXswLDF9WzAtOV0pezAsMX1bMC05XSl8KFswLTlhLWZBLUZdezEsNH06KXsxLDR9OigoMjVbMC01XXwoMlswLTRdfDF7MCwxfVswLTldKXswLDF9WzAtOV0pXFwuKXszLDN9KDI1WzAtNV18KDJbMC00XXwxezAsMX1bMC05XSl7MCwxfVswLTldKSlcXC8oMTJbMC04XXwxWzAxXVswLTldfFsxLTldP1swLTldKSQvO1xudmFyIGJhc2U2NFJlZ2V4ID0gL14oWzAtOWEtekEtWisvXXs0fSkqKChbMC05YS16QS1aKy9dezJ9PT0pfChbMC05YS16QS1aKy9dezN9PSkpPyQvO1xudmFyIGJhc2U2NHVybFJlZ2V4ID0gL14oWzAtOWEtekEtWi1fXXs0fSkqKChbMC05YS16QS1aLV9dezJ9KD09KT8pfChbMC05YS16QS1aLV9dezN9KD0pPykpPyQvO1xudmFyIGRhdGVSZWdleFNvdXJjZSA9IGAoKFxcXFxkXFxcXGRbMjQ2OF1bMDQ4XXxcXFxcZFxcXFxkWzEzNTc5XVsyNl18XFxcXGRcXFxcZDBbNDhdfFswMjQ2OF1bMDQ4XTAwfFsxMzU3OV1bMjZdMDApLTAyLTI5fFxcXFxkezR9LSgoMFsxMzU3OF18MVswMl0pLSgwWzEtOV18WzEyXVxcXFxkfDNbMDFdKXwoMFs0NjldfDExKS0oMFsxLTldfFsxMl1cXFxcZHwzMCl8KDAyKS0oMFsxLTldfDFcXFxcZHwyWzAtOF0pKSlgO1xudmFyIGRhdGVSZWdleCA9IG5ldyBSZWdFeHAoYF4ke2RhdGVSZWdleFNvdXJjZX0kYCk7XG5mdW5jdGlvbiB0aW1lUmVnZXhTb3VyY2UoYXJncykge1xuICBsZXQgcmVnZXggPSBgKFswMV1cXFxcZHwyWzAtM10pOlswLTVdXFxcXGQ6WzAtNV1cXFxcZGA7XG4gIGlmIChhcmdzLnByZWNpc2lvbikge1xuICAgIHJlZ2V4ID0gYCR7cmVnZXh9XFxcXC5cXFxcZHske2FyZ3MucHJlY2lzaW9ufX1gO1xuICB9IGVsc2UgaWYgKGFyZ3MucHJlY2lzaW9uID09IG51bGwpIHtcbiAgICByZWdleCA9IGAke3JlZ2V4fShcXFxcLlxcXFxkKyk/YDtcbiAgfVxuICByZXR1cm4gcmVnZXg7XG59XG5mdW5jdGlvbiB0aW1lUmVnZXgoYXJncykge1xuICByZXR1cm4gbmV3IFJlZ0V4cChgXiR7dGltZVJlZ2V4U291cmNlKGFyZ3MpfSRgKTtcbn1cbmZ1bmN0aW9uIGRhdGV0aW1lUmVnZXgoYXJncykge1xuICBsZXQgcmVnZXggPSBgJHtkYXRlUmVnZXhTb3VyY2V9VCR7dGltZVJlZ2V4U291cmNlKGFyZ3MpfWA7XG4gIGNvbnN0IG9wdHMgPSBbXTtcbiAgb3B0cy5wdXNoKGFyZ3MubG9jYWwgPyBgWj9gIDogYFpgKTtcbiAgaWYgKGFyZ3Mub2Zmc2V0KVxuICAgIG9wdHMucHVzaChgKFsrLV1cXFxcZHsyfTo/XFxcXGR7Mn0pYCk7XG4gIHJlZ2V4ID0gYCR7cmVnZXh9KCR7b3B0cy5qb2luKFwifFwiKX0pYDtcbiAgcmV0dXJuIG5ldyBSZWdFeHAoYF4ke3JlZ2V4fSRgKTtcbn1cbmZ1bmN0aW9uIGlzVmFsaWRJUChpcCwgdmVyc2lvbikge1xuICBpZiAoKHZlcnNpb24gPT09IFwidjRcIiB8fCAhdmVyc2lvbikgJiYgaXB2NFJlZ2V4LnRlc3QoaXApKSB7XG4gICAgcmV0dXJuIHRydWU7XG4gIH1cbiAgaWYgKCh2ZXJzaW9uID09PSBcInY2XCIgfHwgIXZlcnNpb24pICYmIGlwdjZSZWdleC50ZXN0KGlwKSkge1xuICAgIHJldHVybiB0cnVlO1xuICB9XG4gIHJldHVybiBmYWxzZTtcbn1cbmZ1bmN0aW9uIGlzVmFsaWRKV1Qoand0LCBhbGcpIHtcbiAgaWYgKCFqd3RSZWdleC50ZXN0KGp3dCkpXG4gICAgcmV0dXJuIGZhbHNlO1xuICB0cnkge1xuICAgIGNvbnN0IFtoZWFkZXJdID0gand0LnNwbGl0KFwiLlwiKTtcbiAgICBjb25zdCBiYXNlNjQgPSBoZWFkZXIucmVwbGFjZSgvLS9nLCBcIitcIikucmVwbGFjZSgvXy9nLCBcIi9cIikucGFkRW5kKGhlYWRlci5sZW5ndGggKyAoNCAtIGhlYWRlci5sZW5ndGggJSA0KSAlIDQsIFwiPVwiKTtcbiAgICBjb25zdCBkZWNvZGVkID0gSlNPTi5wYXJzZShhdG9iKGJhc2U2NCkpO1xuICAgIGlmICh0eXBlb2YgZGVjb2RlZCAhPT0gXCJvYmplY3RcIiB8fCBkZWNvZGVkID09PSBudWxsKVxuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIGlmICghZGVjb2RlZC50eXAgfHwgIWRlY29kZWQuYWxnKVxuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIGlmIChhbGcgJiYgZGVjb2RlZC5hbGcgIT09IGFsZylcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICByZXR1cm4gdHJ1ZTtcbiAgfSBjYXRjaCAoX2EpIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cbn1cbmZ1bmN0aW9uIGlzVmFsaWRDaWRyKGlwLCB2ZXJzaW9uKSB7XG4gIGlmICgodmVyc2lvbiA9PT0gXCJ2NFwiIHx8ICF2ZXJzaW9uKSAmJiBpcHY0Q2lkclJlZ2V4LnRlc3QoaXApKSB7XG4gICAgcmV0dXJuIHRydWU7XG4gIH1cbiAgaWYgKCh2ZXJzaW9uID09PSBcInY2XCIgfHwgIXZlcnNpb24pICYmIGlwdjZDaWRyUmVnZXgudGVzdChpcCkpIHtcbiAgICByZXR1cm4gdHJ1ZTtcbiAgfVxuICByZXR1cm4gZmFsc2U7XG59XG52YXIgWm9kU3RyaW5nID0gY2xhc3MgX1pvZFN0cmluZyBleHRlbmRzIFpvZFR5cGUge1xuICBfcGFyc2UoaW5wdXQpIHtcbiAgICBpZiAodGhpcy5fZGVmLmNvZXJjZSkge1xuICAgICAgaW5wdXQuZGF0YSA9IFN0cmluZyhpbnB1dC5kYXRhKTtcbiAgICB9XG4gICAgY29uc3QgcGFyc2VkVHlwZSA9IHRoaXMuX2dldFR5cGUoaW5wdXQpO1xuICAgIGlmIChwYXJzZWRUeXBlICE9PSBab2RQYXJzZWRUeXBlLnN0cmluZykge1xuICAgICAgY29uc3QgY3R4MiA9IHRoaXMuX2dldE9yUmV0dXJuQ3R4KGlucHV0KTtcbiAgICAgIGFkZElzc3VlVG9Db250ZXh0KGN0eDIsIHtcbiAgICAgICAgY29kZTogWm9kSXNzdWVDb2RlLmludmFsaWRfdHlwZSxcbiAgICAgICAgZXhwZWN0ZWQ6IFpvZFBhcnNlZFR5cGUuc3RyaW5nLFxuICAgICAgICByZWNlaXZlZDogY3R4Mi5wYXJzZWRUeXBlXG4gICAgICB9KTtcbiAgICAgIHJldHVybiBJTlZBTElEO1xuICAgIH1cbiAgICBjb25zdCBzdGF0dXMgPSBuZXcgUGFyc2VTdGF0dXMoKTtcbiAgICBsZXQgY3R4ID0gdm9pZCAwO1xuICAgIGZvciAoY29uc3QgY2hlY2sgb2YgdGhpcy5fZGVmLmNoZWNrcykge1xuICAgICAgaWYgKGNoZWNrLmtpbmQgPT09IFwibWluXCIpIHtcbiAgICAgICAgaWYgKGlucHV0LmRhdGEubGVuZ3RoIDwgY2hlY2sudmFsdWUpIHtcbiAgICAgICAgICBjdHggPSB0aGlzLl9nZXRPclJldHVybkN0eChpbnB1dCwgY3R4KTtcbiAgICAgICAgICBhZGRJc3N1ZVRvQ29udGV4dChjdHgsIHtcbiAgICAgICAgICAgIGNvZGU6IFpvZElzc3VlQ29kZS50b29fc21hbGwsXG4gICAgICAgICAgICBtaW5pbXVtOiBjaGVjay52YWx1ZSxcbiAgICAgICAgICAgIHR5cGU6IFwic3RyaW5nXCIsXG4gICAgICAgICAgICBpbmNsdXNpdmU6IHRydWUsXG4gICAgICAgICAgICBleGFjdDogZmFsc2UsXG4gICAgICAgICAgICBtZXNzYWdlOiBjaGVjay5tZXNzYWdlXG4gICAgICAgICAgfSk7XG4gICAgICAgICAgc3RhdHVzLmRpcnR5KCk7XG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSBpZiAoY2hlY2sua2luZCA9PT0gXCJtYXhcIikge1xuICAgICAgICBpZiAoaW5wdXQuZGF0YS5sZW5ndGggPiBjaGVjay52YWx1ZSkge1xuICAgICAgICAgIGN0eCA9IHRoaXMuX2dldE9yUmV0dXJuQ3R4KGlucHV0LCBjdHgpO1xuICAgICAgICAgIGFkZElzc3VlVG9Db250ZXh0KGN0eCwge1xuICAgICAgICAgICAgY29kZTogWm9kSXNzdWVDb2RlLnRvb19iaWcsXG4gICAgICAgICAgICBtYXhpbXVtOiBjaGVjay52YWx1ZSxcbiAgICAgICAgICAgIHR5cGU6IFwic3RyaW5nXCIsXG4gICAgICAgICAgICBpbmNsdXNpdmU6IHRydWUsXG4gICAgICAgICAgICBleGFjdDogZmFsc2UsXG4gICAgICAgICAgICBtZXNzYWdlOiBjaGVjay5tZXNzYWdlXG4gICAgICAgICAgfSk7XG4gICAgICAgICAgc3RhdHVzLmRpcnR5KCk7XG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSBpZiAoY2hlY2sua2luZCA9PT0gXCJsZW5ndGhcIikge1xuICAgICAgICBjb25zdCB0b29CaWcgPSBpbnB1dC5kYXRhLmxlbmd0aCA+IGNoZWNrLnZhbHVlO1xuICAgICAgICBjb25zdCB0b29TbWFsbCA9IGlucHV0LmRhdGEubGVuZ3RoIDwgY2hlY2sudmFsdWU7XG4gICAgICAgIGlmICh0b29CaWcgfHwgdG9vU21hbGwpIHtcbiAgICAgICAgICBjdHggPSB0aGlzLl9nZXRPclJldHVybkN0eChpbnB1dCwgY3R4KTtcbiAgICAgICAgICBpZiAodG9vQmlnKSB7XG4gICAgICAgICAgICBhZGRJc3N1ZVRvQ29udGV4dChjdHgsIHtcbiAgICAgICAgICAgICAgY29kZTogWm9kSXNzdWVDb2RlLnRvb19iaWcsXG4gICAgICAgICAgICAgIG1heGltdW06IGNoZWNrLnZhbHVlLFxuICAgICAgICAgICAgICB0eXBlOiBcInN0cmluZ1wiLFxuICAgICAgICAgICAgICBpbmNsdXNpdmU6IHRydWUsXG4gICAgICAgICAgICAgIGV4YWN0OiB0cnVlLFxuICAgICAgICAgICAgICBtZXNzYWdlOiBjaGVjay5tZXNzYWdlXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICB9IGVsc2UgaWYgKHRvb1NtYWxsKSB7XG4gICAgICAgICAgICBhZGRJc3N1ZVRvQ29udGV4dChjdHgsIHtcbiAgICAgICAgICAgICAgY29kZTogWm9kSXNzdWVDb2RlLnRvb19zbWFsbCxcbiAgICAgICAgICAgICAgbWluaW11bTogY2hlY2sudmFsdWUsXG4gICAgICAgICAgICAgIHR5cGU6IFwic3RyaW5nXCIsXG4gICAgICAgICAgICAgIGluY2x1c2l2ZTogdHJ1ZSxcbiAgICAgICAgICAgICAgZXhhY3Q6IHRydWUsXG4gICAgICAgICAgICAgIG1lc3NhZ2U6IGNoZWNrLm1lc3NhZ2VcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgIH1cbiAgICAgICAgICBzdGF0dXMuZGlydHkoKTtcbiAgICAgICAgfVxuICAgICAgfSBlbHNlIGlmIChjaGVjay5raW5kID09PSBcImVtYWlsXCIpIHtcbiAgICAgICAgaWYgKCFlbWFpbFJlZ2V4LnRlc3QoaW5wdXQuZGF0YSkpIHtcbiAgICAgICAgICBjdHggPSB0aGlzLl9nZXRPclJldHVybkN0eChpbnB1dCwgY3R4KTtcbiAgICAgICAgICBhZGRJc3N1ZVRvQ29udGV4dChjdHgsIHtcbiAgICAgICAgICAgIHZhbGlkYXRpb246IFwiZW1haWxcIixcbiAgICAgICAgICAgIGNvZGU6IFpvZElzc3VlQ29kZS5pbnZhbGlkX3N0cmluZyxcbiAgICAgICAgICAgIG1lc3NhZ2U6IGNoZWNrLm1lc3NhZ2VcbiAgICAgICAgICB9KTtcbiAgICAgICAgICBzdGF0dXMuZGlydHkoKTtcbiAgICAgICAgfVxuICAgICAgfSBlbHNlIGlmIChjaGVjay5raW5kID09PSBcImVtb2ppXCIpIHtcbiAgICAgICAgaWYgKCFlbW9qaVJlZ2V4KSB7XG4gICAgICAgICAgZW1vamlSZWdleCA9IG5ldyBSZWdFeHAoX2Vtb2ppUmVnZXgsIFwidVwiKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoIWVtb2ppUmVnZXgudGVzdChpbnB1dC5kYXRhKSkge1xuICAgICAgICAgIGN0eCA9IHRoaXMuX2dldE9yUmV0dXJuQ3R4KGlucHV0LCBjdHgpO1xuICAgICAgICAgIGFkZElzc3VlVG9Db250ZXh0KGN0eCwge1xuICAgICAgICAgICAgdmFsaWRhdGlvbjogXCJlbW9qaVwiLFxuICAgICAgICAgICAgY29kZTogWm9kSXNzdWVDb2RlLmludmFsaWRfc3RyaW5nLFxuICAgICAgICAgICAgbWVzc2FnZTogY2hlY2subWVzc2FnZVxuICAgICAgICAgIH0pO1xuICAgICAgICAgIHN0YXR1cy5kaXJ0eSgpO1xuICAgICAgICB9XG4gICAgICB9IGVsc2UgaWYgKGNoZWNrLmtpbmQgPT09IFwidXVpZFwiKSB7XG4gICAgICAgIGlmICghdXVpZFJlZ2V4LnRlc3QoaW5wdXQuZGF0YSkpIHtcbiAgICAgICAgICBjdHggPSB0aGlzLl9nZXRPclJldHVybkN0eChpbnB1dCwgY3R4KTtcbiAgICAgICAgICBhZGRJc3N1ZVRvQ29udGV4dChjdHgsIHtcbiAgICAgICAgICAgIHZhbGlkYXRpb246IFwidXVpZFwiLFxuICAgICAgICAgICAgY29kZTogWm9kSXNzdWVDb2RlLmludmFsaWRfc3RyaW5nLFxuICAgICAgICAgICAgbWVzc2FnZTogY2hlY2subWVzc2FnZVxuICAgICAgICAgIH0pO1xuICAgICAgICAgIHN0YXR1cy5kaXJ0eSgpO1xuICAgICAgICB9XG4gICAgICB9IGVsc2UgaWYgKGNoZWNrLmtpbmQgPT09IFwibmFub2lkXCIpIHtcbiAgICAgICAgaWYgKCFuYW5vaWRSZWdleC50ZXN0KGlucHV0LmRhdGEpKSB7XG4gICAgICAgICAgY3R4ID0gdGhpcy5fZ2V0T3JSZXR1cm5DdHgoaW5wdXQsIGN0eCk7XG4gICAgICAgICAgYWRkSXNzdWVUb0NvbnRleHQoY3R4LCB7XG4gICAgICAgICAgICB2YWxpZGF0aW9uOiBcIm5hbm9pZFwiLFxuICAgICAgICAgICAgY29kZTogWm9kSXNzdWVDb2RlLmludmFsaWRfc3RyaW5nLFxuICAgICAgICAgICAgbWVzc2FnZTogY2hlY2subWVzc2FnZVxuICAgICAgICAgIH0pO1xuICAgICAgICAgIHN0YXR1cy5kaXJ0eSgpO1xuICAgICAgICB9XG4gICAgICB9IGVsc2UgaWYgKGNoZWNrLmtpbmQgPT09IFwiY3VpZFwiKSB7XG4gICAgICAgIGlmICghY3VpZFJlZ2V4LnRlc3QoaW5wdXQuZGF0YSkpIHtcbiAgICAgICAgICBjdHggPSB0aGlzLl9nZXRPclJldHVybkN0eChpbnB1dCwgY3R4KTtcbiAgICAgICAgICBhZGRJc3N1ZVRvQ29udGV4dChjdHgsIHtcbiAgICAgICAgICAgIHZhbGlkYXRpb246IFwiY3VpZFwiLFxuICAgICAgICAgICAgY29kZTogWm9kSXNzdWVDb2RlLmludmFsaWRfc3RyaW5nLFxuICAgICAgICAgICAgbWVzc2FnZTogY2hlY2subWVzc2FnZVxuICAgICAgICAgIH0pO1xuICAgICAgICAgIHN0YXR1cy5kaXJ0eSgpO1xuICAgICAgICB9XG4gICAgICB9IGVsc2UgaWYgKGNoZWNrLmtpbmQgPT09IFwiY3VpZDJcIikge1xuICAgICAgICBpZiAoIWN1aWQyUmVnZXgudGVzdChpbnB1dC5kYXRhKSkge1xuICAgICAgICAgIGN0eCA9IHRoaXMuX2dldE9yUmV0dXJuQ3R4KGlucHV0LCBjdHgpO1xuICAgICAgICAgIGFkZElzc3VlVG9Db250ZXh0KGN0eCwge1xuICAgICAgICAgICAgdmFsaWRhdGlvbjogXCJjdWlkMlwiLFxuICAgICAgICAgICAgY29kZTogWm9kSXNzdWVDb2RlLmludmFsaWRfc3RyaW5nLFxuICAgICAgICAgICAgbWVzc2FnZTogY2hlY2subWVzc2FnZVxuICAgICAgICAgIH0pO1xuICAgICAgICAgIHN0YXR1cy5kaXJ0eSgpO1xuICAgICAgICB9XG4gICAgICB9IGVsc2UgaWYgKGNoZWNrLmtpbmQgPT09IFwidWxpZFwiKSB7XG4gICAgICAgIGlmICghdWxpZFJlZ2V4LnRlc3QoaW5wdXQuZGF0YSkpIHtcbiAgICAgICAgICBjdHggPSB0aGlzLl9nZXRPclJldHVybkN0eChpbnB1dCwgY3R4KTtcbiAgICAgICAgICBhZGRJc3N1ZVRvQ29udGV4dChjdHgsIHtcbiAgICAgICAgICAgIHZhbGlkYXRpb246IFwidWxpZFwiLFxuICAgICAgICAgICAgY29kZTogWm9kSXNzdWVDb2RlLmludmFsaWRfc3RyaW5nLFxuICAgICAgICAgICAgbWVzc2FnZTogY2hlY2subWVzc2FnZVxuICAgICAgICAgIH0pO1xuICAgICAgICAgIHN0YXR1cy5kaXJ0eSgpO1xuICAgICAgICB9XG4gICAgICB9IGVsc2UgaWYgKGNoZWNrLmtpbmQgPT09IFwidXJsXCIpIHtcbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICBuZXcgVVJMKGlucHV0LmRhdGEpO1xuICAgICAgICB9IGNhdGNoIChfYSkge1xuICAgICAgICAgIGN0eCA9IHRoaXMuX2dldE9yUmV0dXJuQ3R4KGlucHV0LCBjdHgpO1xuICAgICAgICAgIGFkZElzc3VlVG9Db250ZXh0KGN0eCwge1xuICAgICAgICAgICAgdmFsaWRhdGlvbjogXCJ1cmxcIixcbiAgICAgICAgICAgIGNvZGU6IFpvZElzc3VlQ29kZS5pbnZhbGlkX3N0cmluZyxcbiAgICAgICAgICAgIG1lc3NhZ2U6IGNoZWNrLm1lc3NhZ2VcbiAgICAgICAgICB9KTtcbiAgICAgICAgICBzdGF0dXMuZGlydHkoKTtcbiAgICAgICAgfVxuICAgICAgfSBlbHNlIGlmIChjaGVjay5raW5kID09PSBcInJlZ2V4XCIpIHtcbiAgICAgICAgY2hlY2sucmVnZXgubGFzdEluZGV4ID0gMDtcbiAgICAgICAgY29uc3QgdGVzdFJlc3VsdCA9IGNoZWNrLnJlZ2V4LnRlc3QoaW5wdXQuZGF0YSk7XG4gICAgICAgIGlmICghdGVzdFJlc3VsdCkge1xuICAgICAgICAgIGN0eCA9IHRoaXMuX2dldE9yUmV0dXJuQ3R4KGlucHV0LCBjdHgpO1xuICAgICAgICAgIGFkZElzc3VlVG9Db250ZXh0KGN0eCwge1xuICAgICAgICAgICAgdmFsaWRhdGlvbjogXCJyZWdleFwiLFxuICAgICAgICAgICAgY29kZTogWm9kSXNzdWVDb2RlLmludmFsaWRfc3RyaW5nLFxuICAgICAgICAgICAgbWVzc2FnZTogY2hlY2subWVzc2FnZVxuICAgICAgICAgIH0pO1xuICAgICAgICAgIHN0YXR1cy5kaXJ0eSgpO1xuICAgICAgICB9XG4gICAgICB9IGVsc2UgaWYgKGNoZWNrLmtpbmQgPT09IFwidHJpbVwiKSB7XG4gICAgICAgIGlucHV0LmRhdGEgPSBpbnB1dC5kYXRhLnRyaW0oKTtcbiAgICAgIH0gZWxzZSBpZiAoY2hlY2sua2luZCA9PT0gXCJpbmNsdWRlc1wiKSB7XG4gICAgICAgIGlmICghaW5wdXQuZGF0YS5pbmNsdWRlcyhjaGVjay52YWx1ZSwgY2hlY2sucG9zaXRpb24pKSB7XG4gICAgICAgICAgY3R4ID0gdGhpcy5fZ2V0T3JSZXR1cm5DdHgoaW5wdXQsIGN0eCk7XG4gICAgICAgICAgYWRkSXNzdWVUb0NvbnRleHQoY3R4LCB7XG4gICAgICAgICAgICBjb2RlOiBab2RJc3N1ZUNvZGUuaW52YWxpZF9zdHJpbmcsXG4gICAgICAgICAgICB2YWxpZGF0aW9uOiB7IGluY2x1ZGVzOiBjaGVjay52YWx1ZSwgcG9zaXRpb246IGNoZWNrLnBvc2l0aW9uIH0sXG4gICAgICAgICAgICBtZXNzYWdlOiBjaGVjay5tZXNzYWdlXG4gICAgICAgICAgfSk7XG4gICAgICAgICAgc3RhdHVzLmRpcnR5KCk7XG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSBpZiAoY2hlY2sua2luZCA9PT0gXCJ0b0xvd2VyQ2FzZVwiKSB7XG4gICAgICAgIGlucHV0LmRhdGEgPSBpbnB1dC5kYXRhLnRvTG93ZXJDYXNlKCk7XG4gICAgICB9IGVsc2UgaWYgKGNoZWNrLmtpbmQgPT09IFwidG9VcHBlckNhc2VcIikge1xuICAgICAgICBpbnB1dC5kYXRhID0gaW5wdXQuZGF0YS50b1VwcGVyQ2FzZSgpO1xuICAgICAgfSBlbHNlIGlmIChjaGVjay5raW5kID09PSBcInN0YXJ0c1dpdGhcIikge1xuICAgICAgICBpZiAoIWlucHV0LmRhdGEuc3RhcnRzV2l0aChjaGVjay52YWx1ZSkpIHtcbiAgICAgICAgICBjdHggPSB0aGlzLl9nZXRPclJldHVybkN0eChpbnB1dCwgY3R4KTtcbiAgICAgICAgICBhZGRJc3N1ZVRvQ29udGV4dChjdHgsIHtcbiAgICAgICAgICAgIGNvZGU6IFpvZElzc3VlQ29kZS5pbnZhbGlkX3N0cmluZyxcbiAgICAgICAgICAgIHZhbGlkYXRpb246IHsgc3RhcnRzV2l0aDogY2hlY2sudmFsdWUgfSxcbiAgICAgICAgICAgIG1lc3NhZ2U6IGNoZWNrLm1lc3NhZ2VcbiAgICAgICAgICB9KTtcbiAgICAgICAgICBzdGF0dXMuZGlydHkoKTtcbiAgICAgICAgfVxuICAgICAgfSBlbHNlIGlmIChjaGVjay5raW5kID09PSBcImVuZHNXaXRoXCIpIHtcbiAgICAgICAgaWYgKCFpbnB1dC5kYXRhLmVuZHNXaXRoKGNoZWNrLnZhbHVlKSkge1xuICAgICAgICAgIGN0eCA9IHRoaXMuX2dldE9yUmV0dXJuQ3R4KGlucHV0LCBjdHgpO1xuICAgICAgICAgIGFkZElzc3VlVG9Db250ZXh0KGN0eCwge1xuICAgICAgICAgICAgY29kZTogWm9kSXNzdWVDb2RlLmludmFsaWRfc3RyaW5nLFxuICAgICAgICAgICAgdmFsaWRhdGlvbjogeyBlbmRzV2l0aDogY2hlY2sudmFsdWUgfSxcbiAgICAgICAgICAgIG1lc3NhZ2U6IGNoZWNrLm1lc3NhZ2VcbiAgICAgICAgICB9KTtcbiAgICAgICAgICBzdGF0dXMuZGlydHkoKTtcbiAgICAgICAgfVxuICAgICAgfSBlbHNlIGlmIChjaGVjay5raW5kID09PSBcImRhdGV0aW1lXCIpIHtcbiAgICAgICAgY29uc3QgcmVnZXggPSBkYXRldGltZVJlZ2V4KGNoZWNrKTtcbiAgICAgICAgaWYgKCFyZWdleC50ZXN0KGlucHV0LmRhdGEpKSB7XG4gICAgICAgICAgY3R4ID0gdGhpcy5fZ2V0T3JSZXR1cm5DdHgoaW5wdXQsIGN0eCk7XG4gICAgICAgICAgYWRkSXNzdWVUb0NvbnRleHQoY3R4LCB7XG4gICAgICAgICAgICBjb2RlOiBab2RJc3N1ZUNvZGUuaW52YWxpZF9zdHJpbmcsXG4gICAgICAgICAgICB2YWxpZGF0aW9uOiBcImRhdGV0aW1lXCIsXG4gICAgICAgICAgICBtZXNzYWdlOiBjaGVjay5tZXNzYWdlXG4gICAgICAgICAgfSk7XG4gICAgICAgICAgc3RhdHVzLmRpcnR5KCk7XG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSBpZiAoY2hlY2sua2luZCA9PT0gXCJkYXRlXCIpIHtcbiAgICAgICAgY29uc3QgcmVnZXggPSBkYXRlUmVnZXg7XG4gICAgICAgIGlmICghcmVnZXgudGVzdChpbnB1dC5kYXRhKSkge1xuICAgICAgICAgIGN0eCA9IHRoaXMuX2dldE9yUmV0dXJuQ3R4KGlucHV0LCBjdHgpO1xuICAgICAgICAgIGFkZElzc3VlVG9Db250ZXh0KGN0eCwge1xuICAgICAgICAgICAgY29kZTogWm9kSXNzdWVDb2RlLmludmFsaWRfc3RyaW5nLFxuICAgICAgICAgICAgdmFsaWRhdGlvbjogXCJkYXRlXCIsXG4gICAgICAgICAgICBtZXNzYWdlOiBjaGVjay5tZXNzYWdlXG4gICAgICAgICAgfSk7XG4gICAgICAgICAgc3RhdHVzLmRpcnR5KCk7XG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSBpZiAoY2hlY2sua2luZCA9PT0gXCJ0aW1lXCIpIHtcbiAgICAgICAgY29uc3QgcmVnZXggPSB0aW1lUmVnZXgoY2hlY2spO1xuICAgICAgICBpZiAoIXJlZ2V4LnRlc3QoaW5wdXQuZGF0YSkpIHtcbiAgICAgICAgICBjdHggPSB0aGlzLl9nZXRPclJldHVybkN0eChpbnB1dCwgY3R4KTtcbiAgICAgICAgICBhZGRJc3N1ZVRvQ29udGV4dChjdHgsIHtcbiAgICAgICAgICAgIGNvZGU6IFpvZElzc3VlQ29kZS5pbnZhbGlkX3N0cmluZyxcbiAgICAgICAgICAgIHZhbGlkYXRpb246IFwidGltZVwiLFxuICAgICAgICAgICAgbWVzc2FnZTogY2hlY2subWVzc2FnZVxuICAgICAgICAgIH0pO1xuICAgICAgICAgIHN0YXR1cy5kaXJ0eSgpO1xuICAgICAgICB9XG4gICAgICB9IGVsc2UgaWYgKGNoZWNrLmtpbmQgPT09IFwiZHVyYXRpb25cIikge1xuICAgICAgICBpZiAoIWR1cmF0aW9uUmVnZXgudGVzdChpbnB1dC5kYXRhKSkge1xuICAgICAgICAgIGN0eCA9IHRoaXMuX2dldE9yUmV0dXJuQ3R4KGlucHV0LCBjdHgpO1xuICAgICAgICAgIGFkZElzc3VlVG9Db250ZXh0KGN0eCwge1xuICAgICAgICAgICAgdmFsaWRhdGlvbjogXCJkdXJhdGlvblwiLFxuICAgICAgICAgICAgY29kZTogWm9kSXNzdWVDb2RlLmludmFsaWRfc3RyaW5nLFxuICAgICAgICAgICAgbWVzc2FnZTogY2hlY2subWVzc2FnZVxuICAgICAgICAgIH0pO1xuICAgICAgICAgIHN0YXR1cy5kaXJ0eSgpO1xuICAgICAgICB9XG4gICAgICB9IGVsc2UgaWYgKGNoZWNrLmtpbmQgPT09IFwiaXBcIikge1xuICAgICAgICBpZiAoIWlzVmFsaWRJUChpbnB1dC5kYXRhLCBjaGVjay52ZXJzaW9uKSkge1xuICAgICAgICAgIGN0eCA9IHRoaXMuX2dldE9yUmV0dXJuQ3R4KGlucHV0LCBjdHgpO1xuICAgICAgICAgIGFkZElzc3VlVG9Db250ZXh0KGN0eCwge1xuICAgICAgICAgICAgdmFsaWRhdGlvbjogXCJpcFwiLFxuICAgICAgICAgICAgY29kZTogWm9kSXNzdWVDb2RlLmludmFsaWRfc3RyaW5nLFxuICAgICAgICAgICAgbWVzc2FnZTogY2hlY2subWVzc2FnZVxuICAgICAgICAgIH0pO1xuICAgICAgICAgIHN0YXR1cy5kaXJ0eSgpO1xuICAgICAgICB9XG4gICAgICB9IGVsc2UgaWYgKGNoZWNrLmtpbmQgPT09IFwiand0XCIpIHtcbiAgICAgICAgaWYgKCFpc1ZhbGlkSldUKGlucHV0LmRhdGEsIGNoZWNrLmFsZykpIHtcbiAgICAgICAgICBjdHggPSB0aGlzLl9nZXRPclJldHVybkN0eChpbnB1dCwgY3R4KTtcbiAgICAgICAgICBhZGRJc3N1ZVRvQ29udGV4dChjdHgsIHtcbiAgICAgICAgICAgIHZhbGlkYXRpb246IFwiand0XCIsXG4gICAgICAgICAgICBjb2RlOiBab2RJc3N1ZUNvZGUuaW52YWxpZF9zdHJpbmcsXG4gICAgICAgICAgICBtZXNzYWdlOiBjaGVjay5tZXNzYWdlXG4gICAgICAgICAgfSk7XG4gICAgICAgICAgc3RhdHVzLmRpcnR5KCk7XG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSBpZiAoY2hlY2sua2luZCA9PT0gXCJjaWRyXCIpIHtcbiAgICAgICAgaWYgKCFpc1ZhbGlkQ2lkcihpbnB1dC5kYXRhLCBjaGVjay52ZXJzaW9uKSkge1xuICAgICAgICAgIGN0eCA9IHRoaXMuX2dldE9yUmV0dXJuQ3R4KGlucHV0LCBjdHgpO1xuICAgICAgICAgIGFkZElzc3VlVG9Db250ZXh0KGN0eCwge1xuICAgICAgICAgICAgdmFsaWRhdGlvbjogXCJjaWRyXCIsXG4gICAgICAgICAgICBjb2RlOiBab2RJc3N1ZUNvZGUuaW52YWxpZF9zdHJpbmcsXG4gICAgICAgICAgICBtZXNzYWdlOiBjaGVjay5tZXNzYWdlXG4gICAgICAgICAgfSk7XG4gICAgICAgICAgc3RhdHVzLmRpcnR5KCk7XG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSBpZiAoY2hlY2sua2luZCA9PT0gXCJiYXNlNjRcIikge1xuICAgICAgICBpZiAoIWJhc2U2NFJlZ2V4LnRlc3QoaW5wdXQuZGF0YSkpIHtcbiAgICAgICAgICBjdHggPSB0aGlzLl9nZXRPclJldHVybkN0eChpbnB1dCwgY3R4KTtcbiAgICAgICAgICBhZGRJc3N1ZVRvQ29udGV4dChjdHgsIHtcbiAgICAgICAgICAgIHZhbGlkYXRpb246IFwiYmFzZTY0XCIsXG4gICAgICAgICAgICBjb2RlOiBab2RJc3N1ZUNvZGUuaW52YWxpZF9zdHJpbmcsXG4gICAgICAgICAgICBtZXNzYWdlOiBjaGVjay5tZXNzYWdlXG4gICAgICAgICAgfSk7XG4gICAgICAgICAgc3RhdHVzLmRpcnR5KCk7XG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSBpZiAoY2hlY2sua2luZCA9PT0gXCJiYXNlNjR1cmxcIikge1xuICAgICAgICBpZiAoIWJhc2U2NHVybFJlZ2V4LnRlc3QoaW5wdXQuZGF0YSkpIHtcbiAgICAgICAgICBjdHggPSB0aGlzLl9nZXRPclJldHVybkN0eChpbnB1dCwgY3R4KTtcbiAgICAgICAgICBhZGRJc3N1ZVRvQ29udGV4dChjdHgsIHtcbiAgICAgICAgICAgIHZhbGlkYXRpb246IFwiYmFzZTY0dXJsXCIsXG4gICAgICAgICAgICBjb2RlOiBab2RJc3N1ZUNvZGUuaW52YWxpZF9zdHJpbmcsXG4gICAgICAgICAgICBtZXNzYWdlOiBjaGVjay5tZXNzYWdlXG4gICAgICAgICAgfSk7XG4gICAgICAgICAgc3RhdHVzLmRpcnR5KCk7XG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHV0aWwuYXNzZXJ0TmV2ZXIoY2hlY2spO1xuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4geyBzdGF0dXM6IHN0YXR1cy52YWx1ZSwgdmFsdWU6IGlucHV0LmRhdGEgfTtcbiAgfVxuICBfcmVnZXgocmVnZXgsIHZhbGlkYXRpb24sIG1lc3NhZ2UpIHtcbiAgICByZXR1cm4gdGhpcy5yZWZpbmVtZW50KChkYXRhKSA9PiByZWdleC50ZXN0KGRhdGEpLCB7XG4gICAgICB2YWxpZGF0aW9uLFxuICAgICAgY29kZTogWm9kSXNzdWVDb2RlLmludmFsaWRfc3RyaW5nLFxuICAgICAgLi4uZXJyb3JVdGlsLmVyclRvT2JqKG1lc3NhZ2UpXG4gICAgfSk7XG4gIH1cbiAgX2FkZENoZWNrKGNoZWNrKSB7XG4gICAgcmV0dXJuIG5ldyBfWm9kU3RyaW5nKHtcbiAgICAgIC4uLnRoaXMuX2RlZixcbiAgICAgIGNoZWNrczogWy4uLnRoaXMuX2RlZi5jaGVja3MsIGNoZWNrXVxuICAgIH0pO1xuICB9XG4gIGVtYWlsKG1lc3NhZ2UpIHtcbiAgICByZXR1cm4gdGhpcy5fYWRkQ2hlY2soeyBraW5kOiBcImVtYWlsXCIsIC4uLmVycm9yVXRpbC5lcnJUb09iaihtZXNzYWdlKSB9KTtcbiAgfVxuICB1cmwobWVzc2FnZSkge1xuICAgIHJldHVybiB0aGlzLl9hZGRDaGVjayh7IGtpbmQ6IFwidXJsXCIsIC4uLmVycm9yVXRpbC5lcnJUb09iaihtZXNzYWdlKSB9KTtcbiAgfVxuICBlbW9qaShtZXNzYWdlKSB7XG4gICAgcmV0dXJuIHRoaXMuX2FkZENoZWNrKHsga2luZDogXCJlbW9qaVwiLCAuLi5lcnJvclV0aWwuZXJyVG9PYmoobWVzc2FnZSkgfSk7XG4gIH1cbiAgdXVpZChtZXNzYWdlKSB7XG4gICAgcmV0dXJuIHRoaXMuX2FkZENoZWNrKHsga2luZDogXCJ1dWlkXCIsIC4uLmVycm9yVXRpbC5lcnJUb09iaihtZXNzYWdlKSB9KTtcbiAgfVxuICBuYW5vaWQobWVzc2FnZSkge1xuICAgIHJldHVybiB0aGlzLl9hZGRDaGVjayh7IGtpbmQ6IFwibmFub2lkXCIsIC4uLmVycm9yVXRpbC5lcnJUb09iaihtZXNzYWdlKSB9KTtcbiAgfVxuICBjdWlkKG1lc3NhZ2UpIHtcbiAgICByZXR1cm4gdGhpcy5fYWRkQ2hlY2soeyBraW5kOiBcImN1aWRcIiwgLi4uZXJyb3JVdGlsLmVyclRvT2JqKG1lc3NhZ2UpIH0pO1xuICB9XG4gIGN1aWQyKG1lc3NhZ2UpIHtcbiAgICByZXR1cm4gdGhpcy5fYWRkQ2hlY2soeyBraW5kOiBcImN1aWQyXCIsIC4uLmVycm9yVXRpbC5lcnJUb09iaihtZXNzYWdlKSB9KTtcbiAgfVxuICB1bGlkKG1lc3NhZ2UpIHtcbiAgICByZXR1cm4gdGhpcy5fYWRkQ2hlY2soeyBraW5kOiBcInVsaWRcIiwgLi4uZXJyb3JVdGlsLmVyclRvT2JqKG1lc3NhZ2UpIH0pO1xuICB9XG4gIGJhc2U2NChtZXNzYWdlKSB7XG4gICAgcmV0dXJuIHRoaXMuX2FkZENoZWNrKHsga2luZDogXCJiYXNlNjRcIiwgLi4uZXJyb3JVdGlsLmVyclRvT2JqKG1lc3NhZ2UpIH0pO1xuICB9XG4gIGJhc2U2NHVybChtZXNzYWdlKSB7XG4gICAgcmV0dXJuIHRoaXMuX2FkZENoZWNrKHtcbiAgICAgIGtpbmQ6IFwiYmFzZTY0dXJsXCIsXG4gICAgICAuLi5lcnJvclV0aWwuZXJyVG9PYmoobWVzc2FnZSlcbiAgICB9KTtcbiAgfVxuICBqd3Qob3B0aW9ucykge1xuICAgIHJldHVybiB0aGlzLl9hZGRDaGVjayh7IGtpbmQ6IFwiand0XCIsIC4uLmVycm9yVXRpbC5lcnJUb09iaihvcHRpb25zKSB9KTtcbiAgfVxuICBpcChvcHRpb25zKSB7XG4gICAgcmV0dXJuIHRoaXMuX2FkZENoZWNrKHsga2luZDogXCJpcFwiLCAuLi5lcnJvclV0aWwuZXJyVG9PYmoob3B0aW9ucykgfSk7XG4gIH1cbiAgY2lkcihvcHRpb25zKSB7XG4gICAgcmV0dXJuIHRoaXMuX2FkZENoZWNrKHsga2luZDogXCJjaWRyXCIsIC4uLmVycm9yVXRpbC5lcnJUb09iaihvcHRpb25zKSB9KTtcbiAgfVxuICBkYXRldGltZShvcHRpb25zKSB7XG4gICAgdmFyIF9hLCBfYjtcbiAgICBpZiAodHlwZW9mIG9wdGlvbnMgPT09IFwic3RyaW5nXCIpIHtcbiAgICAgIHJldHVybiB0aGlzLl9hZGRDaGVjayh7XG4gICAgICAgIGtpbmQ6IFwiZGF0ZXRpbWVcIixcbiAgICAgICAgcHJlY2lzaW9uOiBudWxsLFxuICAgICAgICBvZmZzZXQ6IGZhbHNlLFxuICAgICAgICBsb2NhbDogZmFsc2UsXG4gICAgICAgIG1lc3NhZ2U6IG9wdGlvbnNcbiAgICAgIH0pO1xuICAgIH1cbiAgICByZXR1cm4gdGhpcy5fYWRkQ2hlY2soe1xuICAgICAga2luZDogXCJkYXRldGltZVwiLFxuICAgICAgcHJlY2lzaW9uOiB0eXBlb2YgKG9wdGlvbnMgPT09IG51bGwgfHwgb3B0aW9ucyA9PT0gdm9pZCAwID8gdm9pZCAwIDogb3B0aW9ucy5wcmVjaXNpb24pID09PSBcInVuZGVmaW5lZFwiID8gbnVsbCA6IG9wdGlvbnMgPT09IG51bGwgfHwgb3B0aW9ucyA9PT0gdm9pZCAwID8gdm9pZCAwIDogb3B0aW9ucy5wcmVjaXNpb24sXG4gICAgICBvZmZzZXQ6IChfYSA9IG9wdGlvbnMgPT09IG51bGwgfHwgb3B0aW9ucyA9PT0gdm9pZCAwID8gdm9pZCAwIDogb3B0aW9ucy5vZmZzZXQpICE9PSBudWxsICYmIF9hICE9PSB2b2lkIDAgPyBfYSA6IGZhbHNlLFxuICAgICAgbG9jYWw6IChfYiA9IG9wdGlvbnMgPT09IG51bGwgfHwgb3B0aW9ucyA9PT0gdm9pZCAwID8gdm9pZCAwIDogb3B0aW9ucy5sb2NhbCkgIT09IG51bGwgJiYgX2IgIT09IHZvaWQgMCA/IF9iIDogZmFsc2UsXG4gICAgICAuLi5lcnJvclV0aWwuZXJyVG9PYmoob3B0aW9ucyA9PT0gbnVsbCB8fCBvcHRpb25zID09PSB2b2lkIDAgPyB2b2lkIDAgOiBvcHRpb25zLm1lc3NhZ2UpXG4gICAgfSk7XG4gIH1cbiAgZGF0ZShtZXNzYWdlKSB7XG4gICAgcmV0dXJuIHRoaXMuX2FkZENoZWNrKHsga2luZDogXCJkYXRlXCIsIG1lc3NhZ2UgfSk7XG4gIH1cbiAgdGltZShvcHRpb25zKSB7XG4gICAgaWYgKHR5cGVvZiBvcHRpb25zID09PSBcInN0cmluZ1wiKSB7XG4gICAgICByZXR1cm4gdGhpcy5fYWRkQ2hlY2soe1xuICAgICAgICBraW5kOiBcInRpbWVcIixcbiAgICAgICAgcHJlY2lzaW9uOiBudWxsLFxuICAgICAgICBtZXNzYWdlOiBvcHRpb25zXG4gICAgICB9KTtcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMuX2FkZENoZWNrKHtcbiAgICAgIGtpbmQ6IFwidGltZVwiLFxuICAgICAgcHJlY2lzaW9uOiB0eXBlb2YgKG9wdGlvbnMgPT09IG51bGwgfHwgb3B0aW9ucyA9PT0gdm9pZCAwID8gdm9pZCAwIDogb3B0aW9ucy5wcmVjaXNpb24pID09PSBcInVuZGVmaW5lZFwiID8gbnVsbCA6IG9wdGlvbnMgPT09IG51bGwgfHwgb3B0aW9ucyA9PT0gdm9pZCAwID8gdm9pZCAwIDogb3B0aW9ucy5wcmVjaXNpb24sXG4gICAgICAuLi5lcnJvclV0aWwuZXJyVG9PYmoob3B0aW9ucyA9PT0gbnVsbCB8fCBvcHRpb25zID09PSB2b2lkIDAgPyB2b2lkIDAgOiBvcHRpb25zLm1lc3NhZ2UpXG4gICAgfSk7XG4gIH1cbiAgZHVyYXRpb24obWVzc2FnZSkge1xuICAgIHJldHVybiB0aGlzLl9hZGRDaGVjayh7IGtpbmQ6IFwiZHVyYXRpb25cIiwgLi4uZXJyb3JVdGlsLmVyclRvT2JqKG1lc3NhZ2UpIH0pO1xuICB9XG4gIHJlZ2V4KHJlZ2V4LCBtZXNzYWdlKSB7XG4gICAgcmV0dXJuIHRoaXMuX2FkZENoZWNrKHtcbiAgICAgIGtpbmQ6IFwicmVnZXhcIixcbiAgICAgIHJlZ2V4LFxuICAgICAgLi4uZXJyb3JVdGlsLmVyclRvT2JqKG1lc3NhZ2UpXG4gICAgfSk7XG4gIH1cbiAgaW5jbHVkZXModmFsdWUsIG9wdGlvbnMpIHtcbiAgICByZXR1cm4gdGhpcy5fYWRkQ2hlY2soe1xuICAgICAga2luZDogXCJpbmNsdWRlc1wiLFxuICAgICAgdmFsdWUsXG4gICAgICBwb3NpdGlvbjogb3B0aW9ucyA9PT0gbnVsbCB8fCBvcHRpb25zID09PSB2b2lkIDAgPyB2b2lkIDAgOiBvcHRpb25zLnBvc2l0aW9uLFxuICAgICAgLi4uZXJyb3JVdGlsLmVyclRvT2JqKG9wdGlvbnMgPT09IG51bGwgfHwgb3B0aW9ucyA9PT0gdm9pZCAwID8gdm9pZCAwIDogb3B0aW9ucy5tZXNzYWdlKVxuICAgIH0pO1xuICB9XG4gIHN0YXJ0c1dpdGgodmFsdWUsIG1lc3NhZ2UpIHtcbiAgICByZXR1cm4gdGhpcy5fYWRkQ2hlY2soe1xuICAgICAga2luZDogXCJzdGFydHNXaXRoXCIsXG4gICAgICB2YWx1ZSxcbiAgICAgIC4uLmVycm9yVXRpbC5lcnJUb09iaihtZXNzYWdlKVxuICAgIH0pO1xuICB9XG4gIGVuZHNXaXRoKHZhbHVlLCBtZXNzYWdlKSB7XG4gICAgcmV0dXJuIHRoaXMuX2FkZENoZWNrKHtcbiAgICAgIGtpbmQ6IFwiZW5kc1dpdGhcIixcbiAgICAgIHZhbHVlLFxuICAgICAgLi4uZXJyb3JVdGlsLmVyclRvT2JqKG1lc3NhZ2UpXG4gICAgfSk7XG4gIH1cbiAgbWluKG1pbkxlbmd0aCwgbWVzc2FnZSkge1xuICAgIHJldHVybiB0aGlzLl9hZGRDaGVjayh7XG4gICAgICBraW5kOiBcIm1pblwiLFxuICAgICAgdmFsdWU6IG1pbkxlbmd0aCxcbiAgICAgIC4uLmVycm9yVXRpbC5lcnJUb09iaihtZXNzYWdlKVxuICAgIH0pO1xuICB9XG4gIG1heChtYXhMZW5ndGgsIG1lc3NhZ2UpIHtcbiAgICByZXR1cm4gdGhpcy5fYWRkQ2hlY2soe1xuICAgICAga2luZDogXCJtYXhcIixcbiAgICAgIHZhbHVlOiBtYXhMZW5ndGgsXG4gICAgICAuLi5lcnJvclV0aWwuZXJyVG9PYmoobWVzc2FnZSlcbiAgICB9KTtcbiAgfVxuICBsZW5ndGgobGVuLCBtZXNzYWdlKSB7XG4gICAgcmV0dXJuIHRoaXMuX2FkZENoZWNrKHtcbiAgICAgIGtpbmQ6IFwibGVuZ3RoXCIsXG4gICAgICB2YWx1ZTogbGVuLFxuICAgICAgLi4uZXJyb3JVdGlsLmVyclRvT2JqKG1lc3NhZ2UpXG4gICAgfSk7XG4gIH1cbiAgLyoqXG4gICAqIEVxdWl2YWxlbnQgdG8gYC5taW4oMSlgXG4gICAqL1xuICBub25lbXB0eShtZXNzYWdlKSB7XG4gICAgcmV0dXJuIHRoaXMubWluKDEsIGVycm9yVXRpbC5lcnJUb09iaihtZXNzYWdlKSk7XG4gIH1cbiAgdHJpbSgpIHtcbiAgICByZXR1cm4gbmV3IF9ab2RTdHJpbmcoe1xuICAgICAgLi4udGhpcy5fZGVmLFxuICAgICAgY2hlY2tzOiBbLi4udGhpcy5fZGVmLmNoZWNrcywgeyBraW5kOiBcInRyaW1cIiB9XVxuICAgIH0pO1xuICB9XG4gIHRvTG93ZXJDYXNlKCkge1xuICAgIHJldHVybiBuZXcgX1pvZFN0cmluZyh7XG4gICAgICAuLi50aGlzLl9kZWYsXG4gICAgICBjaGVja3M6IFsuLi50aGlzLl9kZWYuY2hlY2tzLCB7IGtpbmQ6IFwidG9Mb3dlckNhc2VcIiB9XVxuICAgIH0pO1xuICB9XG4gIHRvVXBwZXJDYXNlKCkge1xuICAgIHJldHVybiBuZXcgX1pvZFN0cmluZyh7XG4gICAgICAuLi50aGlzLl9kZWYsXG4gICAgICBjaGVja3M6IFsuLi50aGlzLl9kZWYuY2hlY2tzLCB7IGtpbmQ6IFwidG9VcHBlckNhc2VcIiB9XVxuICAgIH0pO1xuICB9XG4gIGdldCBpc0RhdGV0aW1lKCkge1xuICAgIHJldHVybiAhIXRoaXMuX2RlZi5jaGVja3MuZmluZCgoY2gpID0+IGNoLmtpbmQgPT09IFwiZGF0ZXRpbWVcIik7XG4gIH1cbiAgZ2V0IGlzRGF0ZSgpIHtcbiAgICByZXR1cm4gISF0aGlzLl9kZWYuY2hlY2tzLmZpbmQoKGNoKSA9PiBjaC5raW5kID09PSBcImRhdGVcIik7XG4gIH1cbiAgZ2V0IGlzVGltZSgpIHtcbiAgICByZXR1cm4gISF0aGlzLl9kZWYuY2hlY2tzLmZpbmQoKGNoKSA9PiBjaC5raW5kID09PSBcInRpbWVcIik7XG4gIH1cbiAgZ2V0IGlzRHVyYXRpb24oKSB7XG4gICAgcmV0dXJuICEhdGhpcy5fZGVmLmNoZWNrcy5maW5kKChjaCkgPT4gY2gua2luZCA9PT0gXCJkdXJhdGlvblwiKTtcbiAgfVxuICBnZXQgaXNFbWFpbCgpIHtcbiAgICByZXR1cm4gISF0aGlzLl9kZWYuY2hlY2tzLmZpbmQoKGNoKSA9PiBjaC5raW5kID09PSBcImVtYWlsXCIpO1xuICB9XG4gIGdldCBpc1VSTCgpIHtcbiAgICByZXR1cm4gISF0aGlzLl9kZWYuY2hlY2tzLmZpbmQoKGNoKSA9PiBjaC5raW5kID09PSBcInVybFwiKTtcbiAgfVxuICBnZXQgaXNFbW9qaSgpIHtcbiAgICByZXR1cm4gISF0aGlzLl9kZWYuY2hlY2tzLmZpbmQoKGNoKSA9PiBjaC5raW5kID09PSBcImVtb2ppXCIpO1xuICB9XG4gIGdldCBpc1VVSUQoKSB7XG4gICAgcmV0dXJuICEhdGhpcy5fZGVmLmNoZWNrcy5maW5kKChjaCkgPT4gY2gua2luZCA9PT0gXCJ1dWlkXCIpO1xuICB9XG4gIGdldCBpc05BTk9JRCgpIHtcbiAgICByZXR1cm4gISF0aGlzLl9kZWYuY2hlY2tzLmZpbmQoKGNoKSA9PiBjaC5raW5kID09PSBcIm5hbm9pZFwiKTtcbiAgfVxuICBnZXQgaXNDVUlEKCkge1xuICAgIHJldHVybiAhIXRoaXMuX2RlZi5jaGVja3MuZmluZCgoY2gpID0+IGNoLmtpbmQgPT09IFwiY3VpZFwiKTtcbiAgfVxuICBnZXQgaXNDVUlEMigpIHtcbiAgICByZXR1cm4gISF0aGlzLl9kZWYuY2hlY2tzLmZpbmQoKGNoKSA9PiBjaC5raW5kID09PSBcImN1aWQyXCIpO1xuICB9XG4gIGdldCBpc1VMSUQoKSB7XG4gICAgcmV0dXJuICEhdGhpcy5fZGVmLmNoZWNrcy5maW5kKChjaCkgPT4gY2gua2luZCA9PT0gXCJ1bGlkXCIpO1xuICB9XG4gIGdldCBpc0lQKCkge1xuICAgIHJldHVybiAhIXRoaXMuX2RlZi5jaGVja3MuZmluZCgoY2gpID0+IGNoLmtpbmQgPT09IFwiaXBcIik7XG4gIH1cbiAgZ2V0IGlzQ0lEUigpIHtcbiAgICByZXR1cm4gISF0aGlzLl9kZWYuY2hlY2tzLmZpbmQoKGNoKSA9PiBjaC5raW5kID09PSBcImNpZHJcIik7XG4gIH1cbiAgZ2V0IGlzQmFzZTY0KCkge1xuICAgIHJldHVybiAhIXRoaXMuX2RlZi5jaGVja3MuZmluZCgoY2gpID0+IGNoLmtpbmQgPT09IFwiYmFzZTY0XCIpO1xuICB9XG4gIGdldCBpc0Jhc2U2NHVybCgpIHtcbiAgICByZXR1cm4gISF0aGlzLl9kZWYuY2hlY2tzLmZpbmQoKGNoKSA9PiBjaC5raW5kID09PSBcImJhc2U2NHVybFwiKTtcbiAgfVxuICBnZXQgbWluTGVuZ3RoKCkge1xuICAgIGxldCBtaW4gPSBudWxsO1xuICAgIGZvciAoY29uc3QgY2ggb2YgdGhpcy5fZGVmLmNoZWNrcykge1xuICAgICAgaWYgKGNoLmtpbmQgPT09IFwibWluXCIpIHtcbiAgICAgICAgaWYgKG1pbiA9PT0gbnVsbCB8fCBjaC52YWx1ZSA+IG1pbilcbiAgICAgICAgICBtaW4gPSBjaC52YWx1ZTtcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIG1pbjtcbiAgfVxuICBnZXQgbWF4TGVuZ3RoKCkge1xuICAgIGxldCBtYXggPSBudWxsO1xuICAgIGZvciAoY29uc3QgY2ggb2YgdGhpcy5fZGVmLmNoZWNrcykge1xuICAgICAgaWYgKGNoLmtpbmQgPT09IFwibWF4XCIpIHtcbiAgICAgICAgaWYgKG1heCA9PT0gbnVsbCB8fCBjaC52YWx1ZSA8IG1heClcbiAgICAgICAgICBtYXggPSBjaC52YWx1ZTtcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIG1heDtcbiAgfVxufTtcblpvZFN0cmluZy5jcmVhdGUgPSAocGFyYW1zKSA9PiB7XG4gIHZhciBfYTtcbiAgcmV0dXJuIG5ldyBab2RTdHJpbmcoe1xuICAgIGNoZWNrczogW10sXG4gICAgdHlwZU5hbWU6IFpvZEZpcnN0UGFydHlUeXBlS2luZC5ab2RTdHJpbmcsXG4gICAgY29lcmNlOiAoX2EgPSBwYXJhbXMgPT09IG51bGwgfHwgcGFyYW1zID09PSB2b2lkIDAgPyB2b2lkIDAgOiBwYXJhbXMuY29lcmNlKSAhPT0gbnVsbCAmJiBfYSAhPT0gdm9pZCAwID8gX2EgOiBmYWxzZSxcbiAgICAuLi5wcm9jZXNzQ3JlYXRlUGFyYW1zKHBhcmFtcylcbiAgfSk7XG59O1xuZnVuY3Rpb24gZmxvYXRTYWZlUmVtYWluZGVyKHZhbCwgc3RlcCkge1xuICBjb25zdCB2YWxEZWNDb3VudCA9ICh2YWwudG9TdHJpbmcoKS5zcGxpdChcIi5cIilbMV0gfHwgXCJcIikubGVuZ3RoO1xuICBjb25zdCBzdGVwRGVjQ291bnQgPSAoc3RlcC50b1N0cmluZygpLnNwbGl0KFwiLlwiKVsxXSB8fCBcIlwiKS5sZW5ndGg7XG4gIGNvbnN0IGRlY0NvdW50ID0gdmFsRGVjQ291bnQgPiBzdGVwRGVjQ291bnQgPyB2YWxEZWNDb3VudCA6IHN0ZXBEZWNDb3VudDtcbiAgY29uc3QgdmFsSW50ID0gcGFyc2VJbnQodmFsLnRvRml4ZWQoZGVjQ291bnQpLnJlcGxhY2UoXCIuXCIsIFwiXCIpKTtcbiAgY29uc3Qgc3RlcEludCA9IHBhcnNlSW50KHN0ZXAudG9GaXhlZChkZWNDb3VudCkucmVwbGFjZShcIi5cIiwgXCJcIikpO1xuICByZXR1cm4gdmFsSW50ICUgc3RlcEludCAvIE1hdGgucG93KDEwLCBkZWNDb3VudCk7XG59XG52YXIgWm9kTnVtYmVyID0gY2xhc3MgX1pvZE51bWJlciBleHRlbmRzIFpvZFR5cGUge1xuICBjb25zdHJ1Y3RvcigpIHtcbiAgICBzdXBlciguLi5hcmd1bWVudHMpO1xuICAgIHRoaXMubWluID0gdGhpcy5ndGU7XG4gICAgdGhpcy5tYXggPSB0aGlzLmx0ZTtcbiAgICB0aGlzLnN0ZXAgPSB0aGlzLm11bHRpcGxlT2Y7XG4gIH1cbiAgX3BhcnNlKGlucHV0KSB7XG4gICAgaWYgKHRoaXMuX2RlZi5jb2VyY2UpIHtcbiAgICAgIGlucHV0LmRhdGEgPSBOdW1iZXIoaW5wdXQuZGF0YSk7XG4gICAgfVxuICAgIGNvbnN0IHBhcnNlZFR5cGUgPSB0aGlzLl9nZXRUeXBlKGlucHV0KTtcbiAgICBpZiAocGFyc2VkVHlwZSAhPT0gWm9kUGFyc2VkVHlwZS5udW1iZXIpIHtcbiAgICAgIGNvbnN0IGN0eDIgPSB0aGlzLl9nZXRPclJldHVybkN0eChpbnB1dCk7XG4gICAgICBhZGRJc3N1ZVRvQ29udGV4dChjdHgyLCB7XG4gICAgICAgIGNvZGU6IFpvZElzc3VlQ29kZS5pbnZhbGlkX3R5cGUsXG4gICAgICAgIGV4cGVjdGVkOiBab2RQYXJzZWRUeXBlLm51bWJlcixcbiAgICAgICAgcmVjZWl2ZWQ6IGN0eDIucGFyc2VkVHlwZVxuICAgICAgfSk7XG4gICAgICByZXR1cm4gSU5WQUxJRDtcbiAgICB9XG4gICAgbGV0IGN0eCA9IHZvaWQgMDtcbiAgICBjb25zdCBzdGF0dXMgPSBuZXcgUGFyc2VTdGF0dXMoKTtcbiAgICBmb3IgKGNvbnN0IGNoZWNrIG9mIHRoaXMuX2RlZi5jaGVja3MpIHtcbiAgICAgIGlmIChjaGVjay5raW5kID09PSBcImludFwiKSB7XG4gICAgICAgIGlmICghdXRpbC5pc0ludGVnZXIoaW5wdXQuZGF0YSkpIHtcbiAgICAgICAgICBjdHggPSB0aGlzLl9nZXRPclJldHVybkN0eChpbnB1dCwgY3R4KTtcbiAgICAgICAgICBhZGRJc3N1ZVRvQ29udGV4dChjdHgsIHtcbiAgICAgICAgICAgIGNvZGU6IFpvZElzc3VlQ29kZS5pbnZhbGlkX3R5cGUsXG4gICAgICAgICAgICBleHBlY3RlZDogXCJpbnRlZ2VyXCIsXG4gICAgICAgICAgICByZWNlaXZlZDogXCJmbG9hdFwiLFxuICAgICAgICAgICAgbWVzc2FnZTogY2hlY2subWVzc2FnZVxuICAgICAgICAgIH0pO1xuICAgICAgICAgIHN0YXR1cy5kaXJ0eSgpO1xuICAgICAgICB9XG4gICAgICB9IGVsc2UgaWYgKGNoZWNrLmtpbmQgPT09IFwibWluXCIpIHtcbiAgICAgICAgY29uc3QgdG9vU21hbGwgPSBjaGVjay5pbmNsdXNpdmUgPyBpbnB1dC5kYXRhIDwgY2hlY2sudmFsdWUgOiBpbnB1dC5kYXRhIDw9IGNoZWNrLnZhbHVlO1xuICAgICAgICBpZiAodG9vU21hbGwpIHtcbiAgICAgICAgICBjdHggPSB0aGlzLl9nZXRPclJldHVybkN0eChpbnB1dCwgY3R4KTtcbiAgICAgICAgICBhZGRJc3N1ZVRvQ29udGV4dChjdHgsIHtcbiAgICAgICAgICAgIGNvZGU6IFpvZElzc3VlQ29kZS50b29fc21hbGwsXG4gICAgICAgICAgICBtaW5pbXVtOiBjaGVjay52YWx1ZSxcbiAgICAgICAgICAgIHR5cGU6IFwibnVtYmVyXCIsXG4gICAgICAgICAgICBpbmNsdXNpdmU6IGNoZWNrLmluY2x1c2l2ZSxcbiAgICAgICAgICAgIGV4YWN0OiBmYWxzZSxcbiAgICAgICAgICAgIG1lc3NhZ2U6IGNoZWNrLm1lc3NhZ2VcbiAgICAgICAgICB9KTtcbiAgICAgICAgICBzdGF0dXMuZGlydHkoKTtcbiAgICAgICAgfVxuICAgICAgfSBlbHNlIGlmIChjaGVjay5raW5kID09PSBcIm1heFwiKSB7XG4gICAgICAgIGNvbnN0IHRvb0JpZyA9IGNoZWNrLmluY2x1c2l2ZSA/IGlucHV0LmRhdGEgPiBjaGVjay52YWx1ZSA6IGlucHV0LmRhdGEgPj0gY2hlY2sudmFsdWU7XG4gICAgICAgIGlmICh0b29CaWcpIHtcbiAgICAgICAgICBjdHggPSB0aGlzLl9nZXRPclJldHVybkN0eChpbnB1dCwgY3R4KTtcbiAgICAgICAgICBhZGRJc3N1ZVRvQ29udGV4dChjdHgsIHtcbiAgICAgICAgICAgIGNvZGU6IFpvZElzc3VlQ29kZS50b29fYmlnLFxuICAgICAgICAgICAgbWF4aW11bTogY2hlY2sudmFsdWUsXG4gICAgICAgICAgICB0eXBlOiBcIm51bWJlclwiLFxuICAgICAgICAgICAgaW5jbHVzaXZlOiBjaGVjay5pbmNsdXNpdmUsXG4gICAgICAgICAgICBleGFjdDogZmFsc2UsXG4gICAgICAgICAgICBtZXNzYWdlOiBjaGVjay5tZXNzYWdlXG4gICAgICAgICAgfSk7XG4gICAgICAgICAgc3RhdHVzLmRpcnR5KCk7XG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSBpZiAoY2hlY2sua2luZCA9PT0gXCJtdWx0aXBsZU9mXCIpIHtcbiAgICAgICAgaWYgKGZsb2F0U2FmZVJlbWFpbmRlcihpbnB1dC5kYXRhLCBjaGVjay52YWx1ZSkgIT09IDApIHtcbiAgICAgICAgICBjdHggPSB0aGlzLl9nZXRPclJldHVybkN0eChpbnB1dCwgY3R4KTtcbiAgICAgICAgICBhZGRJc3N1ZVRvQ29udGV4dChjdHgsIHtcbiAgICAgICAgICAgIGNvZGU6IFpvZElzc3VlQ29kZS5ub3RfbXVsdGlwbGVfb2YsXG4gICAgICAgICAgICBtdWx0aXBsZU9mOiBjaGVjay52YWx1ZSxcbiAgICAgICAgICAgIG1lc3NhZ2U6IGNoZWNrLm1lc3NhZ2VcbiAgICAgICAgICB9KTtcbiAgICAgICAgICBzdGF0dXMuZGlydHkoKTtcbiAgICAgICAgfVxuICAgICAgfSBlbHNlIGlmIChjaGVjay5raW5kID09PSBcImZpbml0ZVwiKSB7XG4gICAgICAgIGlmICghTnVtYmVyLmlzRmluaXRlKGlucHV0LmRhdGEpKSB7XG4gICAgICAgICAgY3R4ID0gdGhpcy5fZ2V0T3JSZXR1cm5DdHgoaW5wdXQsIGN0eCk7XG4gICAgICAgICAgYWRkSXNzdWVUb0NvbnRleHQoY3R4LCB7XG4gICAgICAgICAgICBjb2RlOiBab2RJc3N1ZUNvZGUubm90X2Zpbml0ZSxcbiAgICAgICAgICAgIG1lc3NhZ2U6IGNoZWNrLm1lc3NhZ2VcbiAgICAgICAgICB9KTtcbiAgICAgICAgICBzdGF0dXMuZGlydHkoKTtcbiAgICAgICAgfVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdXRpbC5hc3NlcnROZXZlcihjaGVjayk7XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiB7IHN0YXR1czogc3RhdHVzLnZhbHVlLCB2YWx1ZTogaW5wdXQuZGF0YSB9O1xuICB9XG4gIGd0ZSh2YWx1ZSwgbWVzc2FnZSkge1xuICAgIHJldHVybiB0aGlzLnNldExpbWl0KFwibWluXCIsIHZhbHVlLCB0cnVlLCBlcnJvclV0aWwudG9TdHJpbmcobWVzc2FnZSkpO1xuICB9XG4gIGd0KHZhbHVlLCBtZXNzYWdlKSB7XG4gICAgcmV0dXJuIHRoaXMuc2V0TGltaXQoXCJtaW5cIiwgdmFsdWUsIGZhbHNlLCBlcnJvclV0aWwudG9TdHJpbmcobWVzc2FnZSkpO1xuICB9XG4gIGx0ZSh2YWx1ZSwgbWVzc2FnZSkge1xuICAgIHJldHVybiB0aGlzLnNldExpbWl0KFwibWF4XCIsIHZhbHVlLCB0cnVlLCBlcnJvclV0aWwudG9TdHJpbmcobWVzc2FnZSkpO1xuICB9XG4gIGx0KHZhbHVlLCBtZXNzYWdlKSB7XG4gICAgcmV0dXJuIHRoaXMuc2V0TGltaXQoXCJtYXhcIiwgdmFsdWUsIGZhbHNlLCBlcnJvclV0aWwudG9TdHJpbmcobWVzc2FnZSkpO1xuICB9XG4gIHNldExpbWl0KGtpbmQsIHZhbHVlLCBpbmNsdXNpdmUsIG1lc3NhZ2UpIHtcbiAgICByZXR1cm4gbmV3IF9ab2ROdW1iZXIoe1xuICAgICAgLi4udGhpcy5fZGVmLFxuICAgICAgY2hlY2tzOiBbXG4gICAgICAgIC4uLnRoaXMuX2RlZi5jaGVja3MsXG4gICAgICAgIHtcbiAgICAgICAgICBraW5kLFxuICAgICAgICAgIHZhbHVlLFxuICAgICAgICAgIGluY2x1c2l2ZSxcbiAgICAgICAgICBtZXNzYWdlOiBlcnJvclV0aWwudG9TdHJpbmcobWVzc2FnZSlcbiAgICAgICAgfVxuICAgICAgXVxuICAgIH0pO1xuICB9XG4gIF9hZGRDaGVjayhjaGVjaykge1xuICAgIHJldHVybiBuZXcgX1pvZE51bWJlcih7XG4gICAgICAuLi50aGlzLl9kZWYsXG4gICAgICBjaGVja3M6IFsuLi50aGlzLl9kZWYuY2hlY2tzLCBjaGVja11cbiAgICB9KTtcbiAgfVxuICBpbnQobWVzc2FnZSkge1xuICAgIHJldHVybiB0aGlzLl9hZGRDaGVjayh7XG4gICAgICBraW5kOiBcImludFwiLFxuICAgICAgbWVzc2FnZTogZXJyb3JVdGlsLnRvU3RyaW5nKG1lc3NhZ2UpXG4gICAgfSk7XG4gIH1cbiAgcG9zaXRpdmUobWVzc2FnZSkge1xuICAgIHJldHVybiB0aGlzLl9hZGRDaGVjayh7XG4gICAgICBraW5kOiBcIm1pblwiLFxuICAgICAgdmFsdWU6IDAsXG4gICAgICBpbmNsdXNpdmU6IGZhbHNlLFxuICAgICAgbWVzc2FnZTogZXJyb3JVdGlsLnRvU3RyaW5nKG1lc3NhZ2UpXG4gICAgfSk7XG4gIH1cbiAgbmVnYXRpdmUobWVzc2FnZSkge1xuICAgIHJldHVybiB0aGlzLl9hZGRDaGVjayh7XG4gICAgICBraW5kOiBcIm1heFwiLFxuICAgICAgdmFsdWU6IDAsXG4gICAgICBpbmNsdXNpdmU6IGZhbHNlLFxuICAgICAgbWVzc2FnZTogZXJyb3JVdGlsLnRvU3RyaW5nKG1lc3NhZ2UpXG4gICAgfSk7XG4gIH1cbiAgbm9ucG9zaXRpdmUobWVzc2FnZSkge1xuICAgIHJldHVybiB0aGlzLl9hZGRDaGVjayh7XG4gICAgICBraW5kOiBcIm1heFwiLFxuICAgICAgdmFsdWU6IDAsXG4gICAgICBpbmNsdXNpdmU6IHRydWUsXG4gICAgICBtZXNzYWdlOiBlcnJvclV0aWwudG9TdHJpbmcobWVzc2FnZSlcbiAgICB9KTtcbiAgfVxuICBub25uZWdhdGl2ZShtZXNzYWdlKSB7XG4gICAgcmV0dXJuIHRoaXMuX2FkZENoZWNrKHtcbiAgICAgIGtpbmQ6IFwibWluXCIsXG4gICAgICB2YWx1ZTogMCxcbiAgICAgIGluY2x1c2l2ZTogdHJ1ZSxcbiAgICAgIG1lc3NhZ2U6IGVycm9yVXRpbC50b1N0cmluZyhtZXNzYWdlKVxuICAgIH0pO1xuICB9XG4gIG11bHRpcGxlT2YodmFsdWUsIG1lc3NhZ2UpIHtcbiAgICByZXR1cm4gdGhpcy5fYWRkQ2hlY2soe1xuICAgICAga2luZDogXCJtdWx0aXBsZU9mXCIsXG4gICAgICB2YWx1ZSxcbiAgICAgIG1lc3NhZ2U6IGVycm9yVXRpbC50b1N0cmluZyhtZXNzYWdlKVxuICAgIH0pO1xuICB9XG4gIGZpbml0ZShtZXNzYWdlKSB7XG4gICAgcmV0dXJuIHRoaXMuX2FkZENoZWNrKHtcbiAgICAgIGtpbmQ6IFwiZmluaXRlXCIsXG4gICAgICBtZXNzYWdlOiBlcnJvclV0aWwudG9TdHJpbmcobWVzc2FnZSlcbiAgICB9KTtcbiAgfVxuICBzYWZlKG1lc3NhZ2UpIHtcbiAgICByZXR1cm4gdGhpcy5fYWRkQ2hlY2soe1xuICAgICAga2luZDogXCJtaW5cIixcbiAgICAgIGluY2x1c2l2ZTogdHJ1ZSxcbiAgICAgIHZhbHVlOiBOdW1iZXIuTUlOX1NBRkVfSU5URUdFUixcbiAgICAgIG1lc3NhZ2U6IGVycm9yVXRpbC50b1N0cmluZyhtZXNzYWdlKVxuICAgIH0pLl9hZGRDaGVjayh7XG4gICAgICBraW5kOiBcIm1heFwiLFxuICAgICAgaW5jbHVzaXZlOiB0cnVlLFxuICAgICAgdmFsdWU6IE51bWJlci5NQVhfU0FGRV9JTlRFR0VSLFxuICAgICAgbWVzc2FnZTogZXJyb3JVdGlsLnRvU3RyaW5nKG1lc3NhZ2UpXG4gICAgfSk7XG4gIH1cbiAgZ2V0IG1pblZhbHVlKCkge1xuICAgIGxldCBtaW4gPSBudWxsO1xuICAgIGZvciAoY29uc3QgY2ggb2YgdGhpcy5fZGVmLmNoZWNrcykge1xuICAgICAgaWYgKGNoLmtpbmQgPT09IFwibWluXCIpIHtcbiAgICAgICAgaWYgKG1pbiA9PT0gbnVsbCB8fCBjaC52YWx1ZSA+IG1pbilcbiAgICAgICAgICBtaW4gPSBjaC52YWx1ZTtcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIG1pbjtcbiAgfVxuICBnZXQgbWF4VmFsdWUoKSB7XG4gICAgbGV0IG1heCA9IG51bGw7XG4gICAgZm9yIChjb25zdCBjaCBvZiB0aGlzLl9kZWYuY2hlY2tzKSB7XG4gICAgICBpZiAoY2gua2luZCA9PT0gXCJtYXhcIikge1xuICAgICAgICBpZiAobWF4ID09PSBudWxsIHx8IGNoLnZhbHVlIDwgbWF4KVxuICAgICAgICAgIG1heCA9IGNoLnZhbHVlO1xuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gbWF4O1xuICB9XG4gIGdldCBpc0ludCgpIHtcbiAgICByZXR1cm4gISF0aGlzLl9kZWYuY2hlY2tzLmZpbmQoKGNoKSA9PiBjaC5raW5kID09PSBcImludFwiIHx8IGNoLmtpbmQgPT09IFwibXVsdGlwbGVPZlwiICYmIHV0aWwuaXNJbnRlZ2VyKGNoLnZhbHVlKSk7XG4gIH1cbiAgZ2V0IGlzRmluaXRlKCkge1xuICAgIGxldCBtYXggPSBudWxsLCBtaW4gPSBudWxsO1xuICAgIGZvciAoY29uc3QgY2ggb2YgdGhpcy5fZGVmLmNoZWNrcykge1xuICAgICAgaWYgKGNoLmtpbmQgPT09IFwiZmluaXRlXCIgfHwgY2gua2luZCA9PT0gXCJpbnRcIiB8fCBjaC5raW5kID09PSBcIm11bHRpcGxlT2ZcIikge1xuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgIH0gZWxzZSBpZiAoY2gua2luZCA9PT0gXCJtaW5cIikge1xuICAgICAgICBpZiAobWluID09PSBudWxsIHx8IGNoLnZhbHVlID4gbWluKVxuICAgICAgICAgIG1pbiA9IGNoLnZhbHVlO1xuICAgICAgfSBlbHNlIGlmIChjaC5raW5kID09PSBcIm1heFwiKSB7XG4gICAgICAgIGlmIChtYXggPT09IG51bGwgfHwgY2gudmFsdWUgPCBtYXgpXG4gICAgICAgICAgbWF4ID0gY2gudmFsdWU7XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiBOdW1iZXIuaXNGaW5pdGUobWluKSAmJiBOdW1iZXIuaXNGaW5pdGUobWF4KTtcbiAgfVxufTtcblpvZE51bWJlci5jcmVhdGUgPSAocGFyYW1zKSA9PiB7XG4gIHJldHVybiBuZXcgWm9kTnVtYmVyKHtcbiAgICBjaGVja3M6IFtdLFxuICAgIHR5cGVOYW1lOiBab2RGaXJzdFBhcnR5VHlwZUtpbmQuWm9kTnVtYmVyLFxuICAgIGNvZXJjZTogKHBhcmFtcyA9PT0gbnVsbCB8fCBwYXJhbXMgPT09IHZvaWQgMCA/IHZvaWQgMCA6IHBhcmFtcy5jb2VyY2UpIHx8IGZhbHNlLFxuICAgIC4uLnByb2Nlc3NDcmVhdGVQYXJhbXMocGFyYW1zKVxuICB9KTtcbn07XG52YXIgWm9kQmlnSW50ID0gY2xhc3MgX1pvZEJpZ0ludCBleHRlbmRzIFpvZFR5cGUge1xuICBjb25zdHJ1Y3RvcigpIHtcbiAgICBzdXBlciguLi5hcmd1bWVudHMpO1xuICAgIHRoaXMubWluID0gdGhpcy5ndGU7XG4gICAgdGhpcy5tYXggPSB0aGlzLmx0ZTtcbiAgfVxuICBfcGFyc2UoaW5wdXQpIHtcbiAgICBpZiAodGhpcy5fZGVmLmNvZXJjZSkge1xuICAgICAgdHJ5IHtcbiAgICAgICAgaW5wdXQuZGF0YSA9IEJpZ0ludChpbnB1dC5kYXRhKTtcbiAgICAgIH0gY2F0Y2ggKF9hKSB7XG4gICAgICAgIHJldHVybiB0aGlzLl9nZXRJbnZhbGlkSW5wdXQoaW5wdXQpO1xuICAgICAgfVxuICAgIH1cbiAgICBjb25zdCBwYXJzZWRUeXBlID0gdGhpcy5fZ2V0VHlwZShpbnB1dCk7XG4gICAgaWYgKHBhcnNlZFR5cGUgIT09IFpvZFBhcnNlZFR5cGUuYmlnaW50KSB7XG4gICAgICByZXR1cm4gdGhpcy5fZ2V0SW52YWxpZElucHV0KGlucHV0KTtcbiAgICB9XG4gICAgbGV0IGN0eCA9IHZvaWQgMDtcbiAgICBjb25zdCBzdGF0dXMgPSBuZXcgUGFyc2VTdGF0dXMoKTtcbiAgICBmb3IgKGNvbnN0IGNoZWNrIG9mIHRoaXMuX2RlZi5jaGVja3MpIHtcbiAgICAgIGlmIChjaGVjay5raW5kID09PSBcIm1pblwiKSB7XG4gICAgICAgIGNvbnN0IHRvb1NtYWxsID0gY2hlY2suaW5jbHVzaXZlID8gaW5wdXQuZGF0YSA8IGNoZWNrLnZhbHVlIDogaW5wdXQuZGF0YSA8PSBjaGVjay52YWx1ZTtcbiAgICAgICAgaWYgKHRvb1NtYWxsKSB7XG4gICAgICAgICAgY3R4ID0gdGhpcy5fZ2V0T3JSZXR1cm5DdHgoaW5wdXQsIGN0eCk7XG4gICAgICAgICAgYWRkSXNzdWVUb0NvbnRleHQoY3R4LCB7XG4gICAgICAgICAgICBjb2RlOiBab2RJc3N1ZUNvZGUudG9vX3NtYWxsLFxuICAgICAgICAgICAgdHlwZTogXCJiaWdpbnRcIixcbiAgICAgICAgICAgIG1pbmltdW06IGNoZWNrLnZhbHVlLFxuICAgICAgICAgICAgaW5jbHVzaXZlOiBjaGVjay5pbmNsdXNpdmUsXG4gICAgICAgICAgICBtZXNzYWdlOiBjaGVjay5tZXNzYWdlXG4gICAgICAgICAgfSk7XG4gICAgICAgICAgc3RhdHVzLmRpcnR5KCk7XG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSBpZiAoY2hlY2sua2luZCA9PT0gXCJtYXhcIikge1xuICAgICAgICBjb25zdCB0b29CaWcgPSBjaGVjay5pbmNsdXNpdmUgPyBpbnB1dC5kYXRhID4gY2hlY2sudmFsdWUgOiBpbnB1dC5kYXRhID49IGNoZWNrLnZhbHVlO1xuICAgICAgICBpZiAodG9vQmlnKSB7XG4gICAgICAgICAgY3R4ID0gdGhpcy5fZ2V0T3JSZXR1cm5DdHgoaW5wdXQsIGN0eCk7XG4gICAgICAgICAgYWRkSXNzdWVUb0NvbnRleHQoY3R4LCB7XG4gICAgICAgICAgICBjb2RlOiBab2RJc3N1ZUNvZGUudG9vX2JpZyxcbiAgICAgICAgICAgIHR5cGU6IFwiYmlnaW50XCIsXG4gICAgICAgICAgICBtYXhpbXVtOiBjaGVjay52YWx1ZSxcbiAgICAgICAgICAgIGluY2x1c2l2ZTogY2hlY2suaW5jbHVzaXZlLFxuICAgICAgICAgICAgbWVzc2FnZTogY2hlY2subWVzc2FnZVxuICAgICAgICAgIH0pO1xuICAgICAgICAgIHN0YXR1cy5kaXJ0eSgpO1xuICAgICAgICB9XG4gICAgICB9IGVsc2UgaWYgKGNoZWNrLmtpbmQgPT09IFwibXVsdGlwbGVPZlwiKSB7XG4gICAgICAgIGlmIChpbnB1dC5kYXRhICUgY2hlY2sudmFsdWUgIT09IEJpZ0ludCgwKSkge1xuICAgICAgICAgIGN0eCA9IHRoaXMuX2dldE9yUmV0dXJuQ3R4KGlucHV0LCBjdHgpO1xuICAgICAgICAgIGFkZElzc3VlVG9Db250ZXh0KGN0eCwge1xuICAgICAgICAgICAgY29kZTogWm9kSXNzdWVDb2RlLm5vdF9tdWx0aXBsZV9vZixcbiAgICAgICAgICAgIG11bHRpcGxlT2Y6IGNoZWNrLnZhbHVlLFxuICAgICAgICAgICAgbWVzc2FnZTogY2hlY2subWVzc2FnZVxuICAgICAgICAgIH0pO1xuICAgICAgICAgIHN0YXR1cy5kaXJ0eSgpO1xuICAgICAgICB9XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB1dGlsLmFzc2VydE5ldmVyKGNoZWNrKTtcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIHsgc3RhdHVzOiBzdGF0dXMudmFsdWUsIHZhbHVlOiBpbnB1dC5kYXRhIH07XG4gIH1cbiAgX2dldEludmFsaWRJbnB1dChpbnB1dCkge1xuICAgIGNvbnN0IGN0eCA9IHRoaXMuX2dldE9yUmV0dXJuQ3R4KGlucHV0KTtcbiAgICBhZGRJc3N1ZVRvQ29udGV4dChjdHgsIHtcbiAgICAgIGNvZGU6IFpvZElzc3VlQ29kZS5pbnZhbGlkX3R5cGUsXG4gICAgICBleHBlY3RlZDogWm9kUGFyc2VkVHlwZS5iaWdpbnQsXG4gICAgICByZWNlaXZlZDogY3R4LnBhcnNlZFR5cGVcbiAgICB9KTtcbiAgICByZXR1cm4gSU5WQUxJRDtcbiAgfVxuICBndGUodmFsdWUsIG1lc3NhZ2UpIHtcbiAgICByZXR1cm4gdGhpcy5zZXRMaW1pdChcIm1pblwiLCB2YWx1ZSwgdHJ1ZSwgZXJyb3JVdGlsLnRvU3RyaW5nKG1lc3NhZ2UpKTtcbiAgfVxuICBndCh2YWx1ZSwgbWVzc2FnZSkge1xuICAgIHJldHVybiB0aGlzLnNldExpbWl0KFwibWluXCIsIHZhbHVlLCBmYWxzZSwgZXJyb3JVdGlsLnRvU3RyaW5nKG1lc3NhZ2UpKTtcbiAgfVxuICBsdGUodmFsdWUsIG1lc3NhZ2UpIHtcbiAgICByZXR1cm4gdGhpcy5zZXRMaW1pdChcIm1heFwiLCB2YWx1ZSwgdHJ1ZSwgZXJyb3JVdGlsLnRvU3RyaW5nKG1lc3NhZ2UpKTtcbiAgfVxuICBsdCh2YWx1ZSwgbWVzc2FnZSkge1xuICAgIHJldHVybiB0aGlzLnNldExpbWl0KFwibWF4XCIsIHZhbHVlLCBmYWxzZSwgZXJyb3JVdGlsLnRvU3RyaW5nKG1lc3NhZ2UpKTtcbiAgfVxuICBzZXRMaW1pdChraW5kLCB2YWx1ZSwgaW5jbHVzaXZlLCBtZXNzYWdlKSB7XG4gICAgcmV0dXJuIG5ldyBfWm9kQmlnSW50KHtcbiAgICAgIC4uLnRoaXMuX2RlZixcbiAgICAgIGNoZWNrczogW1xuICAgICAgICAuLi50aGlzLl9kZWYuY2hlY2tzLFxuICAgICAgICB7XG4gICAgICAgICAga2luZCxcbiAgICAgICAgICB2YWx1ZSxcbiAgICAgICAgICBpbmNsdXNpdmUsXG4gICAgICAgICAgbWVzc2FnZTogZXJyb3JVdGlsLnRvU3RyaW5nKG1lc3NhZ2UpXG4gICAgICAgIH1cbiAgICAgIF1cbiAgICB9KTtcbiAgfVxuICBfYWRkQ2hlY2soY2hlY2spIHtcbiAgICByZXR1cm4gbmV3IF9ab2RCaWdJbnQoe1xuICAgICAgLi4udGhpcy5fZGVmLFxuICAgICAgY2hlY2tzOiBbLi4udGhpcy5fZGVmLmNoZWNrcywgY2hlY2tdXG4gICAgfSk7XG4gIH1cbiAgcG9zaXRpdmUobWVzc2FnZSkge1xuICAgIHJldHVybiB0aGlzLl9hZGRDaGVjayh7XG4gICAgICBraW5kOiBcIm1pblwiLFxuICAgICAgdmFsdWU6IEJpZ0ludCgwKSxcbiAgICAgIGluY2x1c2l2ZTogZmFsc2UsXG4gICAgICBtZXNzYWdlOiBlcnJvclV0aWwudG9TdHJpbmcobWVzc2FnZSlcbiAgICB9KTtcbiAgfVxuICBuZWdhdGl2ZShtZXNzYWdlKSB7XG4gICAgcmV0dXJuIHRoaXMuX2FkZENoZWNrKHtcbiAgICAgIGtpbmQ6IFwibWF4XCIsXG4gICAgICB2YWx1ZTogQmlnSW50KDApLFxuICAgICAgaW5jbHVzaXZlOiBmYWxzZSxcbiAgICAgIG1lc3NhZ2U6IGVycm9yVXRpbC50b1N0cmluZyhtZXNzYWdlKVxuICAgIH0pO1xuICB9XG4gIG5vbnBvc2l0aXZlKG1lc3NhZ2UpIHtcbiAgICByZXR1cm4gdGhpcy5fYWRkQ2hlY2soe1xuICAgICAga2luZDogXCJtYXhcIixcbiAgICAgIHZhbHVlOiBCaWdJbnQoMCksXG4gICAgICBpbmNsdXNpdmU6IHRydWUsXG4gICAgICBtZXNzYWdlOiBlcnJvclV0aWwudG9TdHJpbmcobWVzc2FnZSlcbiAgICB9KTtcbiAgfVxuICBub25uZWdhdGl2ZShtZXNzYWdlKSB7XG4gICAgcmV0dXJuIHRoaXMuX2FkZENoZWNrKHtcbiAgICAgIGtpbmQ6IFwibWluXCIsXG4gICAgICB2YWx1ZTogQmlnSW50KDApLFxuICAgICAgaW5jbHVzaXZlOiB0cnVlLFxuICAgICAgbWVzc2FnZTogZXJyb3JVdGlsLnRvU3RyaW5nKG1lc3NhZ2UpXG4gICAgfSk7XG4gIH1cbiAgbXVsdGlwbGVPZih2YWx1ZSwgbWVzc2FnZSkge1xuICAgIHJldHVybiB0aGlzLl9hZGRDaGVjayh7XG4gICAgICBraW5kOiBcIm11bHRpcGxlT2ZcIixcbiAgICAgIHZhbHVlLFxuICAgICAgbWVzc2FnZTogZXJyb3JVdGlsLnRvU3RyaW5nKG1lc3NhZ2UpXG4gICAgfSk7XG4gIH1cbiAgZ2V0IG1pblZhbHVlKCkge1xuICAgIGxldCBtaW4gPSBudWxsO1xuICAgIGZvciAoY29uc3QgY2ggb2YgdGhpcy5fZGVmLmNoZWNrcykge1xuICAgICAgaWYgKGNoLmtpbmQgPT09IFwibWluXCIpIHtcbiAgICAgICAgaWYgKG1pbiA9PT0gbnVsbCB8fCBjaC52YWx1ZSA+IG1pbilcbiAgICAgICAgICBtaW4gPSBjaC52YWx1ZTtcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIG1pbjtcbiAgfVxuICBnZXQgbWF4VmFsdWUoKSB7XG4gICAgbGV0IG1heCA9IG51bGw7XG4gICAgZm9yIChjb25zdCBjaCBvZiB0aGlzLl9kZWYuY2hlY2tzKSB7XG4gICAgICBpZiAoY2gua2luZCA9PT0gXCJtYXhcIikge1xuICAgICAgICBpZiAobWF4ID09PSBudWxsIHx8IGNoLnZhbHVlIDwgbWF4KVxuICAgICAgICAgIG1heCA9IGNoLnZhbHVlO1xuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gbWF4O1xuICB9XG59O1xuWm9kQmlnSW50LmNyZWF0ZSA9IChwYXJhbXMpID0+IHtcbiAgdmFyIF9hO1xuICByZXR1cm4gbmV3IFpvZEJpZ0ludCh7XG4gICAgY2hlY2tzOiBbXSxcbiAgICB0eXBlTmFtZTogWm9kRmlyc3RQYXJ0eVR5cGVLaW5kLlpvZEJpZ0ludCxcbiAgICBjb2VyY2U6IChfYSA9IHBhcmFtcyA9PT0gbnVsbCB8fCBwYXJhbXMgPT09IHZvaWQgMCA/IHZvaWQgMCA6IHBhcmFtcy5jb2VyY2UpICE9PSBudWxsICYmIF9hICE9PSB2b2lkIDAgPyBfYSA6IGZhbHNlLFxuICAgIC4uLnByb2Nlc3NDcmVhdGVQYXJhbXMocGFyYW1zKVxuICB9KTtcbn07XG52YXIgWm9kQm9vbGVhbiA9IGNsYXNzIGV4dGVuZHMgWm9kVHlwZSB7XG4gIF9wYXJzZShpbnB1dCkge1xuICAgIGlmICh0aGlzLl9kZWYuY29lcmNlKSB7XG4gICAgICBpbnB1dC5kYXRhID0gQm9vbGVhbihpbnB1dC5kYXRhKTtcbiAgICB9XG4gICAgY29uc3QgcGFyc2VkVHlwZSA9IHRoaXMuX2dldFR5cGUoaW5wdXQpO1xuICAgIGlmIChwYXJzZWRUeXBlICE9PSBab2RQYXJzZWRUeXBlLmJvb2xlYW4pIHtcbiAgICAgIGNvbnN0IGN0eCA9IHRoaXMuX2dldE9yUmV0dXJuQ3R4KGlucHV0KTtcbiAgICAgIGFkZElzc3VlVG9Db250ZXh0KGN0eCwge1xuICAgICAgICBjb2RlOiBab2RJc3N1ZUNvZGUuaW52YWxpZF90eXBlLFxuICAgICAgICBleHBlY3RlZDogWm9kUGFyc2VkVHlwZS5ib29sZWFuLFxuICAgICAgICByZWNlaXZlZDogY3R4LnBhcnNlZFR5cGVcbiAgICAgIH0pO1xuICAgICAgcmV0dXJuIElOVkFMSUQ7XG4gICAgfVxuICAgIHJldHVybiBPSyhpbnB1dC5kYXRhKTtcbiAgfVxufTtcblpvZEJvb2xlYW4uY3JlYXRlID0gKHBhcmFtcykgPT4ge1xuICByZXR1cm4gbmV3IFpvZEJvb2xlYW4oe1xuICAgIHR5cGVOYW1lOiBab2RGaXJzdFBhcnR5VHlwZUtpbmQuWm9kQm9vbGVhbixcbiAgICBjb2VyY2U6IChwYXJhbXMgPT09IG51bGwgfHwgcGFyYW1zID09PSB2b2lkIDAgPyB2b2lkIDAgOiBwYXJhbXMuY29lcmNlKSB8fCBmYWxzZSxcbiAgICAuLi5wcm9jZXNzQ3JlYXRlUGFyYW1zKHBhcmFtcylcbiAgfSk7XG59O1xudmFyIFpvZERhdGUgPSBjbGFzcyBfWm9kRGF0ZSBleHRlbmRzIFpvZFR5cGUge1xuICBfcGFyc2UoaW5wdXQpIHtcbiAgICBpZiAodGhpcy5fZGVmLmNvZXJjZSkge1xuICAgICAgaW5wdXQuZGF0YSA9IG5ldyBEYXRlKGlucHV0LmRhdGEpO1xuICAgIH1cbiAgICBjb25zdCBwYXJzZWRUeXBlID0gdGhpcy5fZ2V0VHlwZShpbnB1dCk7XG4gICAgaWYgKHBhcnNlZFR5cGUgIT09IFpvZFBhcnNlZFR5cGUuZGF0ZSkge1xuICAgICAgY29uc3QgY3R4MiA9IHRoaXMuX2dldE9yUmV0dXJuQ3R4KGlucHV0KTtcbiAgICAgIGFkZElzc3VlVG9Db250ZXh0KGN0eDIsIHtcbiAgICAgICAgY29kZTogWm9kSXNzdWVDb2RlLmludmFsaWRfdHlwZSxcbiAgICAgICAgZXhwZWN0ZWQ6IFpvZFBhcnNlZFR5cGUuZGF0ZSxcbiAgICAgICAgcmVjZWl2ZWQ6IGN0eDIucGFyc2VkVHlwZVxuICAgICAgfSk7XG4gICAgICByZXR1cm4gSU5WQUxJRDtcbiAgICB9XG4gICAgaWYgKGlzTmFOKGlucHV0LmRhdGEuZ2V0VGltZSgpKSkge1xuICAgICAgY29uc3QgY3R4MiA9IHRoaXMuX2dldE9yUmV0dXJuQ3R4KGlucHV0KTtcbiAgICAgIGFkZElzc3VlVG9Db250ZXh0KGN0eDIsIHtcbiAgICAgICAgY29kZTogWm9kSXNzdWVDb2RlLmludmFsaWRfZGF0ZVxuICAgICAgfSk7XG4gICAgICByZXR1cm4gSU5WQUxJRDtcbiAgICB9XG4gICAgY29uc3Qgc3RhdHVzID0gbmV3IFBhcnNlU3RhdHVzKCk7XG4gICAgbGV0IGN0eCA9IHZvaWQgMDtcbiAgICBmb3IgKGNvbnN0IGNoZWNrIG9mIHRoaXMuX2RlZi5jaGVja3MpIHtcbiAgICAgIGlmIChjaGVjay5raW5kID09PSBcIm1pblwiKSB7XG4gICAgICAgIGlmIChpbnB1dC5kYXRhLmdldFRpbWUoKSA8IGNoZWNrLnZhbHVlKSB7XG4gICAgICAgICAgY3R4ID0gdGhpcy5fZ2V0T3JSZXR1cm5DdHgoaW5wdXQsIGN0eCk7XG4gICAgICAgICAgYWRkSXNzdWVUb0NvbnRleHQoY3R4LCB7XG4gICAgICAgICAgICBjb2RlOiBab2RJc3N1ZUNvZGUudG9vX3NtYWxsLFxuICAgICAgICAgICAgbWVzc2FnZTogY2hlY2subWVzc2FnZSxcbiAgICAgICAgICAgIGluY2x1c2l2ZTogdHJ1ZSxcbiAgICAgICAgICAgIGV4YWN0OiBmYWxzZSxcbiAgICAgICAgICAgIG1pbmltdW06IGNoZWNrLnZhbHVlLFxuICAgICAgICAgICAgdHlwZTogXCJkYXRlXCJcbiAgICAgICAgICB9KTtcbiAgICAgICAgICBzdGF0dXMuZGlydHkoKTtcbiAgICAgICAgfVxuICAgICAgfSBlbHNlIGlmIChjaGVjay5raW5kID09PSBcIm1heFwiKSB7XG4gICAgICAgIGlmIChpbnB1dC5kYXRhLmdldFRpbWUoKSA+IGNoZWNrLnZhbHVlKSB7XG4gICAgICAgICAgY3R4ID0gdGhpcy5fZ2V0T3JSZXR1cm5DdHgoaW5wdXQsIGN0eCk7XG4gICAgICAgICAgYWRkSXNzdWVUb0NvbnRleHQoY3R4LCB7XG4gICAgICAgICAgICBjb2RlOiBab2RJc3N1ZUNvZGUudG9vX2JpZyxcbiAgICAgICAgICAgIG1lc3NhZ2U6IGNoZWNrLm1lc3NhZ2UsXG4gICAgICAgICAgICBpbmNsdXNpdmU6IHRydWUsXG4gICAgICAgICAgICBleGFjdDogZmFsc2UsXG4gICAgICAgICAgICBtYXhpbXVtOiBjaGVjay52YWx1ZSxcbiAgICAgICAgICAgIHR5cGU6IFwiZGF0ZVwiXG4gICAgICAgICAgfSk7XG4gICAgICAgICAgc3RhdHVzLmRpcnR5KCk7XG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHV0aWwuYXNzZXJ0TmV2ZXIoY2hlY2spO1xuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4ge1xuICAgICAgc3RhdHVzOiBzdGF0dXMudmFsdWUsXG4gICAgICB2YWx1ZTogbmV3IERhdGUoaW5wdXQuZGF0YS5nZXRUaW1lKCkpXG4gICAgfTtcbiAgfVxuICBfYWRkQ2hlY2soY2hlY2spIHtcbiAgICByZXR1cm4gbmV3IF9ab2REYXRlKHtcbiAgICAgIC4uLnRoaXMuX2RlZixcbiAgICAgIGNoZWNrczogWy4uLnRoaXMuX2RlZi5jaGVja3MsIGNoZWNrXVxuICAgIH0pO1xuICB9XG4gIG1pbihtaW5EYXRlLCBtZXNzYWdlKSB7XG4gICAgcmV0dXJuIHRoaXMuX2FkZENoZWNrKHtcbiAgICAgIGtpbmQ6IFwibWluXCIsXG4gICAgICB2YWx1ZTogbWluRGF0ZS5nZXRUaW1lKCksXG4gICAgICBtZXNzYWdlOiBlcnJvclV0aWwudG9TdHJpbmcobWVzc2FnZSlcbiAgICB9KTtcbiAgfVxuICBtYXgobWF4RGF0ZSwgbWVzc2FnZSkge1xuICAgIHJldHVybiB0aGlzLl9hZGRDaGVjayh7XG4gICAgICBraW5kOiBcIm1heFwiLFxuICAgICAgdmFsdWU6IG1heERhdGUuZ2V0VGltZSgpLFxuICAgICAgbWVzc2FnZTogZXJyb3JVdGlsLnRvU3RyaW5nKG1lc3NhZ2UpXG4gICAgfSk7XG4gIH1cbiAgZ2V0IG1pbkRhdGUoKSB7XG4gICAgbGV0IG1pbiA9IG51bGw7XG4gICAgZm9yIChjb25zdCBjaCBvZiB0aGlzLl9kZWYuY2hlY2tzKSB7XG4gICAgICBpZiAoY2gua2luZCA9PT0gXCJtaW5cIikge1xuICAgICAgICBpZiAobWluID09PSBudWxsIHx8IGNoLnZhbHVlID4gbWluKVxuICAgICAgICAgIG1pbiA9IGNoLnZhbHVlO1xuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gbWluICE9IG51bGwgPyBuZXcgRGF0ZShtaW4pIDogbnVsbDtcbiAgfVxuICBnZXQgbWF4RGF0ZSgpIHtcbiAgICBsZXQgbWF4ID0gbnVsbDtcbiAgICBmb3IgKGNvbnN0IGNoIG9mIHRoaXMuX2RlZi5jaGVja3MpIHtcbiAgICAgIGlmIChjaC5raW5kID09PSBcIm1heFwiKSB7XG4gICAgICAgIGlmIChtYXggPT09IG51bGwgfHwgY2gudmFsdWUgPCBtYXgpXG4gICAgICAgICAgbWF4ID0gY2gudmFsdWU7XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiBtYXggIT0gbnVsbCA/IG5ldyBEYXRlKG1heCkgOiBudWxsO1xuICB9XG59O1xuWm9kRGF0ZS5jcmVhdGUgPSAocGFyYW1zKSA9PiB7XG4gIHJldHVybiBuZXcgWm9kRGF0ZSh7XG4gICAgY2hlY2tzOiBbXSxcbiAgICBjb2VyY2U6IChwYXJhbXMgPT09IG51bGwgfHwgcGFyYW1zID09PSB2b2lkIDAgPyB2b2lkIDAgOiBwYXJhbXMuY29lcmNlKSB8fCBmYWxzZSxcbiAgICB0eXBlTmFtZTogWm9kRmlyc3RQYXJ0eVR5cGVLaW5kLlpvZERhdGUsXG4gICAgLi4ucHJvY2Vzc0NyZWF0ZVBhcmFtcyhwYXJhbXMpXG4gIH0pO1xufTtcbnZhciBab2RTeW1ib2wgPSBjbGFzcyBleHRlbmRzIFpvZFR5cGUge1xuICBfcGFyc2UoaW5wdXQpIHtcbiAgICBjb25zdCBwYXJzZWRUeXBlID0gdGhpcy5fZ2V0VHlwZShpbnB1dCk7XG4gICAgaWYgKHBhcnNlZFR5cGUgIT09IFpvZFBhcnNlZFR5cGUuc3ltYm9sKSB7XG4gICAgICBjb25zdCBjdHggPSB0aGlzLl9nZXRPclJldHVybkN0eChpbnB1dCk7XG4gICAgICBhZGRJc3N1ZVRvQ29udGV4dChjdHgsIHtcbiAgICAgICAgY29kZTogWm9kSXNzdWVDb2RlLmludmFsaWRfdHlwZSxcbiAgICAgICAgZXhwZWN0ZWQ6IFpvZFBhcnNlZFR5cGUuc3ltYm9sLFxuICAgICAgICByZWNlaXZlZDogY3R4LnBhcnNlZFR5cGVcbiAgICAgIH0pO1xuICAgICAgcmV0dXJuIElOVkFMSUQ7XG4gICAgfVxuICAgIHJldHVybiBPSyhpbnB1dC5kYXRhKTtcbiAgfVxufTtcblpvZFN5bWJvbC5jcmVhdGUgPSAocGFyYW1zKSA9PiB7XG4gIHJldHVybiBuZXcgWm9kU3ltYm9sKHtcbiAgICB0eXBlTmFtZTogWm9kRmlyc3RQYXJ0eVR5cGVLaW5kLlpvZFN5bWJvbCxcbiAgICAuLi5wcm9jZXNzQ3JlYXRlUGFyYW1zKHBhcmFtcylcbiAgfSk7XG59O1xudmFyIFpvZFVuZGVmaW5lZCA9IGNsYXNzIGV4dGVuZHMgWm9kVHlwZSB7XG4gIF9wYXJzZShpbnB1dCkge1xuICAgIGNvbnN0IHBhcnNlZFR5cGUgPSB0aGlzLl9nZXRUeXBlKGlucHV0KTtcbiAgICBpZiAocGFyc2VkVHlwZSAhPT0gWm9kUGFyc2VkVHlwZS51bmRlZmluZWQpIHtcbiAgICAgIGNvbnN0IGN0eCA9IHRoaXMuX2dldE9yUmV0dXJuQ3R4KGlucHV0KTtcbiAgICAgIGFkZElzc3VlVG9Db250ZXh0KGN0eCwge1xuICAgICAgICBjb2RlOiBab2RJc3N1ZUNvZGUuaW52YWxpZF90eXBlLFxuICAgICAgICBleHBlY3RlZDogWm9kUGFyc2VkVHlwZS51bmRlZmluZWQsXG4gICAgICAgIHJlY2VpdmVkOiBjdHgucGFyc2VkVHlwZVxuICAgICAgfSk7XG4gICAgICByZXR1cm4gSU5WQUxJRDtcbiAgICB9XG4gICAgcmV0dXJuIE9LKGlucHV0LmRhdGEpO1xuICB9XG59O1xuWm9kVW5kZWZpbmVkLmNyZWF0ZSA9IChwYXJhbXMpID0+IHtcbiAgcmV0dXJuIG5ldyBab2RVbmRlZmluZWQoe1xuICAgIHR5cGVOYW1lOiBab2RGaXJzdFBhcnR5VHlwZUtpbmQuWm9kVW5kZWZpbmVkLFxuICAgIC4uLnByb2Nlc3NDcmVhdGVQYXJhbXMocGFyYW1zKVxuICB9KTtcbn07XG52YXIgWm9kTnVsbCA9IGNsYXNzIGV4dGVuZHMgWm9kVHlwZSB7XG4gIF9wYXJzZShpbnB1dCkge1xuICAgIGNvbnN0IHBhcnNlZFR5cGUgPSB0aGlzLl9nZXRUeXBlKGlucHV0KTtcbiAgICBpZiAocGFyc2VkVHlwZSAhPT0gWm9kUGFyc2VkVHlwZS5udWxsKSB7XG4gICAgICBjb25zdCBjdHggPSB0aGlzLl9nZXRPclJldHVybkN0eChpbnB1dCk7XG4gICAgICBhZGRJc3N1ZVRvQ29udGV4dChjdHgsIHtcbiAgICAgICAgY29kZTogWm9kSXNzdWVDb2RlLmludmFsaWRfdHlwZSxcbiAgICAgICAgZXhwZWN0ZWQ6IFpvZFBhcnNlZFR5cGUubnVsbCxcbiAgICAgICAgcmVjZWl2ZWQ6IGN0eC5wYXJzZWRUeXBlXG4gICAgICB9KTtcbiAgICAgIHJldHVybiBJTlZBTElEO1xuICAgIH1cbiAgICByZXR1cm4gT0soaW5wdXQuZGF0YSk7XG4gIH1cbn07XG5ab2ROdWxsLmNyZWF0ZSA9IChwYXJhbXMpID0+IHtcbiAgcmV0dXJuIG5ldyBab2ROdWxsKHtcbiAgICB0eXBlTmFtZTogWm9kRmlyc3RQYXJ0eVR5cGVLaW5kLlpvZE51bGwsXG4gICAgLi4ucHJvY2Vzc0NyZWF0ZVBhcmFtcyhwYXJhbXMpXG4gIH0pO1xufTtcbnZhciBab2RBbnkgPSBjbGFzcyBleHRlbmRzIFpvZFR5cGUge1xuICBjb25zdHJ1Y3RvcigpIHtcbiAgICBzdXBlciguLi5hcmd1bWVudHMpO1xuICAgIHRoaXMuX2FueSA9IHRydWU7XG4gIH1cbiAgX3BhcnNlKGlucHV0KSB7XG4gICAgcmV0dXJuIE9LKGlucHV0LmRhdGEpO1xuICB9XG59O1xuWm9kQW55LmNyZWF0ZSA9IChwYXJhbXMpID0+IHtcbiAgcmV0dXJuIG5ldyBab2RBbnkoe1xuICAgIHR5cGVOYW1lOiBab2RGaXJzdFBhcnR5VHlwZUtpbmQuWm9kQW55LFxuICAgIC4uLnByb2Nlc3NDcmVhdGVQYXJhbXMocGFyYW1zKVxuICB9KTtcbn07XG52YXIgWm9kVW5rbm93biA9IGNsYXNzIGV4dGVuZHMgWm9kVHlwZSB7XG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIHN1cGVyKC4uLmFyZ3VtZW50cyk7XG4gICAgdGhpcy5fdW5rbm93biA9IHRydWU7XG4gIH1cbiAgX3BhcnNlKGlucHV0KSB7XG4gICAgcmV0dXJuIE9LKGlucHV0LmRhdGEpO1xuICB9XG59O1xuWm9kVW5rbm93bi5jcmVhdGUgPSAocGFyYW1zKSA9PiB7XG4gIHJldHVybiBuZXcgWm9kVW5rbm93bih7XG4gICAgdHlwZU5hbWU6IFpvZEZpcnN0UGFydHlUeXBlS2luZC5ab2RVbmtub3duLFxuICAgIC4uLnByb2Nlc3NDcmVhdGVQYXJhbXMocGFyYW1zKVxuICB9KTtcbn07XG52YXIgWm9kTmV2ZXIgPSBjbGFzcyBleHRlbmRzIFpvZFR5cGUge1xuICBfcGFyc2UoaW5wdXQpIHtcbiAgICBjb25zdCBjdHggPSB0aGlzLl9nZXRPclJldHVybkN0eChpbnB1dCk7XG4gICAgYWRkSXNzdWVUb0NvbnRleHQoY3R4LCB7XG4gICAgICBjb2RlOiBab2RJc3N1ZUNvZGUuaW52YWxpZF90eXBlLFxuICAgICAgZXhwZWN0ZWQ6IFpvZFBhcnNlZFR5cGUubmV2ZXIsXG4gICAgICByZWNlaXZlZDogY3R4LnBhcnNlZFR5cGVcbiAgICB9KTtcbiAgICByZXR1cm4gSU5WQUxJRDtcbiAgfVxufTtcblpvZE5ldmVyLmNyZWF0ZSA9IChwYXJhbXMpID0+IHtcbiAgcmV0dXJuIG5ldyBab2ROZXZlcih7XG4gICAgdHlwZU5hbWU6IFpvZEZpcnN0UGFydHlUeXBlS2luZC5ab2ROZXZlcixcbiAgICAuLi5wcm9jZXNzQ3JlYXRlUGFyYW1zKHBhcmFtcylcbiAgfSk7XG59O1xudmFyIFpvZFZvaWQgPSBjbGFzcyBleHRlbmRzIFpvZFR5cGUge1xuICBfcGFyc2UoaW5wdXQpIHtcbiAgICBjb25zdCBwYXJzZWRUeXBlID0gdGhpcy5fZ2V0VHlwZShpbnB1dCk7XG4gICAgaWYgKHBhcnNlZFR5cGUgIT09IFpvZFBhcnNlZFR5cGUudW5kZWZpbmVkKSB7XG4gICAgICBjb25zdCBjdHggPSB0aGlzLl9nZXRPclJldHVybkN0eChpbnB1dCk7XG4gICAgICBhZGRJc3N1ZVRvQ29udGV4dChjdHgsIHtcbiAgICAgICAgY29kZTogWm9kSXNzdWVDb2RlLmludmFsaWRfdHlwZSxcbiAgICAgICAgZXhwZWN0ZWQ6IFpvZFBhcnNlZFR5cGUudm9pZCxcbiAgICAgICAgcmVjZWl2ZWQ6IGN0eC5wYXJzZWRUeXBlXG4gICAgICB9KTtcbiAgICAgIHJldHVybiBJTlZBTElEO1xuICAgIH1cbiAgICByZXR1cm4gT0soaW5wdXQuZGF0YSk7XG4gIH1cbn07XG5ab2RWb2lkLmNyZWF0ZSA9IChwYXJhbXMpID0+IHtcbiAgcmV0dXJuIG5ldyBab2RWb2lkKHtcbiAgICB0eXBlTmFtZTogWm9kRmlyc3RQYXJ0eVR5cGVLaW5kLlpvZFZvaWQsXG4gICAgLi4ucHJvY2Vzc0NyZWF0ZVBhcmFtcyhwYXJhbXMpXG4gIH0pO1xufTtcbnZhciBab2RBcnJheSA9IGNsYXNzIF9ab2RBcnJheSBleHRlbmRzIFpvZFR5cGUge1xuICBfcGFyc2UoaW5wdXQpIHtcbiAgICBjb25zdCB7IGN0eCwgc3RhdHVzIH0gPSB0aGlzLl9wcm9jZXNzSW5wdXRQYXJhbXMoaW5wdXQpO1xuICAgIGNvbnN0IGRlZiA9IHRoaXMuX2RlZjtcbiAgICBpZiAoY3R4LnBhcnNlZFR5cGUgIT09IFpvZFBhcnNlZFR5cGUuYXJyYXkpIHtcbiAgICAgIGFkZElzc3VlVG9Db250ZXh0KGN0eCwge1xuICAgICAgICBjb2RlOiBab2RJc3N1ZUNvZGUuaW52YWxpZF90eXBlLFxuICAgICAgICBleHBlY3RlZDogWm9kUGFyc2VkVHlwZS5hcnJheSxcbiAgICAgICAgcmVjZWl2ZWQ6IGN0eC5wYXJzZWRUeXBlXG4gICAgICB9KTtcbiAgICAgIHJldHVybiBJTlZBTElEO1xuICAgIH1cbiAgICBpZiAoZGVmLmV4YWN0TGVuZ3RoICE9PSBudWxsKSB7XG4gICAgICBjb25zdCB0b29CaWcgPSBjdHguZGF0YS5sZW5ndGggPiBkZWYuZXhhY3RMZW5ndGgudmFsdWU7XG4gICAgICBjb25zdCB0b29TbWFsbCA9IGN0eC5kYXRhLmxlbmd0aCA8IGRlZi5leGFjdExlbmd0aC52YWx1ZTtcbiAgICAgIGlmICh0b29CaWcgfHwgdG9vU21hbGwpIHtcbiAgICAgICAgYWRkSXNzdWVUb0NvbnRleHQoY3R4LCB7XG4gICAgICAgICAgY29kZTogdG9vQmlnID8gWm9kSXNzdWVDb2RlLnRvb19iaWcgOiBab2RJc3N1ZUNvZGUudG9vX3NtYWxsLFxuICAgICAgICAgIG1pbmltdW06IHRvb1NtYWxsID8gZGVmLmV4YWN0TGVuZ3RoLnZhbHVlIDogdm9pZCAwLFxuICAgICAgICAgIG1heGltdW06IHRvb0JpZyA/IGRlZi5leGFjdExlbmd0aC52YWx1ZSA6IHZvaWQgMCxcbiAgICAgICAgICB0eXBlOiBcImFycmF5XCIsXG4gICAgICAgICAgaW5jbHVzaXZlOiB0cnVlLFxuICAgICAgICAgIGV4YWN0OiB0cnVlLFxuICAgICAgICAgIG1lc3NhZ2U6IGRlZi5leGFjdExlbmd0aC5tZXNzYWdlXG4gICAgICAgIH0pO1xuICAgICAgICBzdGF0dXMuZGlydHkoKTtcbiAgICAgIH1cbiAgICB9XG4gICAgaWYgKGRlZi5taW5MZW5ndGggIT09IG51bGwpIHtcbiAgICAgIGlmIChjdHguZGF0YS5sZW5ndGggPCBkZWYubWluTGVuZ3RoLnZhbHVlKSB7XG4gICAgICAgIGFkZElzc3VlVG9Db250ZXh0KGN0eCwge1xuICAgICAgICAgIGNvZGU6IFpvZElzc3VlQ29kZS50b29fc21hbGwsXG4gICAgICAgICAgbWluaW11bTogZGVmLm1pbkxlbmd0aC52YWx1ZSxcbiAgICAgICAgICB0eXBlOiBcImFycmF5XCIsXG4gICAgICAgICAgaW5jbHVzaXZlOiB0cnVlLFxuICAgICAgICAgIGV4YWN0OiBmYWxzZSxcbiAgICAgICAgICBtZXNzYWdlOiBkZWYubWluTGVuZ3RoLm1lc3NhZ2VcbiAgICAgICAgfSk7XG4gICAgICAgIHN0YXR1cy5kaXJ0eSgpO1xuICAgICAgfVxuICAgIH1cbiAgICBpZiAoZGVmLm1heExlbmd0aCAhPT0gbnVsbCkge1xuICAgICAgaWYgKGN0eC5kYXRhLmxlbmd0aCA+IGRlZi5tYXhMZW5ndGgudmFsdWUpIHtcbiAgICAgICAgYWRkSXNzdWVUb0NvbnRleHQoY3R4LCB7XG4gICAgICAgICAgY29kZTogWm9kSXNzdWVDb2RlLnRvb19iaWcsXG4gICAgICAgICAgbWF4aW11bTogZGVmLm1heExlbmd0aC52YWx1ZSxcbiAgICAgICAgICB0eXBlOiBcImFycmF5XCIsXG4gICAgICAgICAgaW5jbHVzaXZlOiB0cnVlLFxuICAgICAgICAgIGV4YWN0OiBmYWxzZSxcbiAgICAgICAgICBtZXNzYWdlOiBkZWYubWF4TGVuZ3RoLm1lc3NhZ2VcbiAgICAgICAgfSk7XG4gICAgICAgIHN0YXR1cy5kaXJ0eSgpO1xuICAgICAgfVxuICAgIH1cbiAgICBpZiAoY3R4LmNvbW1vbi5hc3luYykge1xuICAgICAgcmV0dXJuIFByb21pc2UuYWxsKFsuLi5jdHguZGF0YV0ubWFwKChpdGVtLCBpKSA9PiB7XG4gICAgICAgIHJldHVybiBkZWYudHlwZS5fcGFyc2VBc3luYyhuZXcgUGFyc2VJbnB1dExhenlQYXRoKGN0eCwgaXRlbSwgY3R4LnBhdGgsIGkpKTtcbiAgICAgIH0pKS50aGVuKChyZXN1bHQyKSA9PiB7XG4gICAgICAgIHJldHVybiBQYXJzZVN0YXR1cy5tZXJnZUFycmF5KHN0YXR1cywgcmVzdWx0Mik7XG4gICAgICB9KTtcbiAgICB9XG4gICAgY29uc3QgcmVzdWx0ID0gWy4uLmN0eC5kYXRhXS5tYXAoKGl0ZW0sIGkpID0+IHtcbiAgICAgIHJldHVybiBkZWYudHlwZS5fcGFyc2VTeW5jKG5ldyBQYXJzZUlucHV0TGF6eVBhdGgoY3R4LCBpdGVtLCBjdHgucGF0aCwgaSkpO1xuICAgIH0pO1xuICAgIHJldHVybiBQYXJzZVN0YXR1cy5tZXJnZUFycmF5KHN0YXR1cywgcmVzdWx0KTtcbiAgfVxuICBnZXQgZWxlbWVudCgpIHtcbiAgICByZXR1cm4gdGhpcy5fZGVmLnR5cGU7XG4gIH1cbiAgbWluKG1pbkxlbmd0aCwgbWVzc2FnZSkge1xuICAgIHJldHVybiBuZXcgX1pvZEFycmF5KHtcbiAgICAgIC4uLnRoaXMuX2RlZixcbiAgICAgIG1pbkxlbmd0aDogeyB2YWx1ZTogbWluTGVuZ3RoLCBtZXNzYWdlOiBlcnJvclV0aWwudG9TdHJpbmcobWVzc2FnZSkgfVxuICAgIH0pO1xuICB9XG4gIG1heChtYXhMZW5ndGgsIG1lc3NhZ2UpIHtcbiAgICByZXR1cm4gbmV3IF9ab2RBcnJheSh7XG4gICAgICAuLi50aGlzLl9kZWYsXG4gICAgICBtYXhMZW5ndGg6IHsgdmFsdWU6IG1heExlbmd0aCwgbWVzc2FnZTogZXJyb3JVdGlsLnRvU3RyaW5nKG1lc3NhZ2UpIH1cbiAgICB9KTtcbiAgfVxuICBsZW5ndGgobGVuLCBtZXNzYWdlKSB7XG4gICAgcmV0dXJuIG5ldyBfWm9kQXJyYXkoe1xuICAgICAgLi4udGhpcy5fZGVmLFxuICAgICAgZXhhY3RMZW5ndGg6IHsgdmFsdWU6IGxlbiwgbWVzc2FnZTogZXJyb3JVdGlsLnRvU3RyaW5nKG1lc3NhZ2UpIH1cbiAgICB9KTtcbiAgfVxuICBub25lbXB0eShtZXNzYWdlKSB7XG4gICAgcmV0dXJuIHRoaXMubWluKDEsIG1lc3NhZ2UpO1xuICB9XG59O1xuWm9kQXJyYXkuY3JlYXRlID0gKHNjaGVtYSwgcGFyYW1zKSA9PiB7XG4gIHJldHVybiBuZXcgWm9kQXJyYXkoe1xuICAgIHR5cGU6IHNjaGVtYSxcbiAgICBtaW5MZW5ndGg6IG51bGwsXG4gICAgbWF4TGVuZ3RoOiBudWxsLFxuICAgIGV4YWN0TGVuZ3RoOiBudWxsLFxuICAgIHR5cGVOYW1lOiBab2RGaXJzdFBhcnR5VHlwZUtpbmQuWm9kQXJyYXksXG4gICAgLi4ucHJvY2Vzc0NyZWF0ZVBhcmFtcyhwYXJhbXMpXG4gIH0pO1xufTtcbmZ1bmN0aW9uIGRlZXBQYXJ0aWFsaWZ5KHNjaGVtYSkge1xuICBpZiAoc2NoZW1hIGluc3RhbmNlb2YgWm9kT2JqZWN0KSB7XG4gICAgY29uc3QgbmV3U2hhcGUgPSB7fTtcbiAgICBmb3IgKGNvbnN0IGtleSBpbiBzY2hlbWEuc2hhcGUpIHtcbiAgICAgIGNvbnN0IGZpZWxkU2NoZW1hID0gc2NoZW1hLnNoYXBlW2tleV07XG4gICAgICBuZXdTaGFwZVtrZXldID0gWm9kT3B0aW9uYWwuY3JlYXRlKGRlZXBQYXJ0aWFsaWZ5KGZpZWxkU2NoZW1hKSk7XG4gICAgfVxuICAgIHJldHVybiBuZXcgWm9kT2JqZWN0KHtcbiAgICAgIC4uLnNjaGVtYS5fZGVmLFxuICAgICAgc2hhcGU6ICgpID0+IG5ld1NoYXBlXG4gICAgfSk7XG4gIH0gZWxzZSBpZiAoc2NoZW1hIGluc3RhbmNlb2YgWm9kQXJyYXkpIHtcbiAgICByZXR1cm4gbmV3IFpvZEFycmF5KHtcbiAgICAgIC4uLnNjaGVtYS5fZGVmLFxuICAgICAgdHlwZTogZGVlcFBhcnRpYWxpZnkoc2NoZW1hLmVsZW1lbnQpXG4gICAgfSk7XG4gIH0gZWxzZSBpZiAoc2NoZW1hIGluc3RhbmNlb2YgWm9kT3B0aW9uYWwpIHtcbiAgICByZXR1cm4gWm9kT3B0aW9uYWwuY3JlYXRlKGRlZXBQYXJ0aWFsaWZ5KHNjaGVtYS51bndyYXAoKSkpO1xuICB9IGVsc2UgaWYgKHNjaGVtYSBpbnN0YW5jZW9mIFpvZE51bGxhYmxlKSB7XG4gICAgcmV0dXJuIFpvZE51bGxhYmxlLmNyZWF0ZShkZWVwUGFydGlhbGlmeShzY2hlbWEudW53cmFwKCkpKTtcbiAgfSBlbHNlIGlmIChzY2hlbWEgaW5zdGFuY2VvZiBab2RUdXBsZSkge1xuICAgIHJldHVybiBab2RUdXBsZS5jcmVhdGUoc2NoZW1hLml0ZW1zLm1hcCgoaXRlbSkgPT4gZGVlcFBhcnRpYWxpZnkoaXRlbSkpKTtcbiAgfSBlbHNlIHtcbiAgICByZXR1cm4gc2NoZW1hO1xuICB9XG59XG52YXIgWm9kT2JqZWN0ID0gY2xhc3MgX1pvZE9iamVjdCBleHRlbmRzIFpvZFR5cGUge1xuICBjb25zdHJ1Y3RvcigpIHtcbiAgICBzdXBlciguLi5hcmd1bWVudHMpO1xuICAgIHRoaXMuX2NhY2hlZCA9IG51bGw7XG4gICAgdGhpcy5ub25zdHJpY3QgPSB0aGlzLnBhc3N0aHJvdWdoO1xuICAgIHRoaXMuYXVnbWVudCA9IHRoaXMuZXh0ZW5kO1xuICB9XG4gIF9nZXRDYWNoZWQoKSB7XG4gICAgaWYgKHRoaXMuX2NhY2hlZCAhPT0gbnVsbClcbiAgICAgIHJldHVybiB0aGlzLl9jYWNoZWQ7XG4gICAgY29uc3Qgc2hhcGUgPSB0aGlzLl9kZWYuc2hhcGUoKTtcbiAgICBjb25zdCBrZXlzID0gdXRpbC5vYmplY3RLZXlzKHNoYXBlKTtcbiAgICByZXR1cm4gdGhpcy5fY2FjaGVkID0geyBzaGFwZSwga2V5cyB9O1xuICB9XG4gIF9wYXJzZShpbnB1dCkge1xuICAgIGNvbnN0IHBhcnNlZFR5cGUgPSB0aGlzLl9nZXRUeXBlKGlucHV0KTtcbiAgICBpZiAocGFyc2VkVHlwZSAhPT0gWm9kUGFyc2VkVHlwZS5vYmplY3QpIHtcbiAgICAgIGNvbnN0IGN0eDIgPSB0aGlzLl9nZXRPclJldHVybkN0eChpbnB1dCk7XG4gICAgICBhZGRJc3N1ZVRvQ29udGV4dChjdHgyLCB7XG4gICAgICAgIGNvZGU6IFpvZElzc3VlQ29kZS5pbnZhbGlkX3R5cGUsXG4gICAgICAgIGV4cGVjdGVkOiBab2RQYXJzZWRUeXBlLm9iamVjdCxcbiAgICAgICAgcmVjZWl2ZWQ6IGN0eDIucGFyc2VkVHlwZVxuICAgICAgfSk7XG4gICAgICByZXR1cm4gSU5WQUxJRDtcbiAgICB9XG4gICAgY29uc3QgeyBzdGF0dXMsIGN0eCB9ID0gdGhpcy5fcHJvY2Vzc0lucHV0UGFyYW1zKGlucHV0KTtcbiAgICBjb25zdCB7IHNoYXBlLCBrZXlzOiBzaGFwZUtleXMgfSA9IHRoaXMuX2dldENhY2hlZCgpO1xuICAgIGNvbnN0IGV4dHJhS2V5cyA9IFtdO1xuICAgIGlmICghKHRoaXMuX2RlZi5jYXRjaGFsbCBpbnN0YW5jZW9mIFpvZE5ldmVyICYmIHRoaXMuX2RlZi51bmtub3duS2V5cyA9PT0gXCJzdHJpcFwiKSkge1xuICAgICAgZm9yIChjb25zdCBrZXkgaW4gY3R4LmRhdGEpIHtcbiAgICAgICAgaWYgKCFzaGFwZUtleXMuaW5jbHVkZXMoa2V5KSkge1xuICAgICAgICAgIGV4dHJhS2V5cy5wdXNoKGtleSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgY29uc3QgcGFpcnMgPSBbXTtcbiAgICBmb3IgKGNvbnN0IGtleSBvZiBzaGFwZUtleXMpIHtcbiAgICAgIGNvbnN0IGtleVZhbGlkYXRvciA9IHNoYXBlW2tleV07XG4gICAgICBjb25zdCB2YWx1ZSA9IGN0eC5kYXRhW2tleV07XG4gICAgICBwYWlycy5wdXNoKHtcbiAgICAgICAga2V5OiB7IHN0YXR1czogXCJ2YWxpZFwiLCB2YWx1ZToga2V5IH0sXG4gICAgICAgIHZhbHVlOiBrZXlWYWxpZGF0b3IuX3BhcnNlKG5ldyBQYXJzZUlucHV0TGF6eVBhdGgoY3R4LCB2YWx1ZSwgY3R4LnBhdGgsIGtleSkpLFxuICAgICAgICBhbHdheXNTZXQ6IGtleSBpbiBjdHguZGF0YVxuICAgICAgfSk7XG4gICAgfVxuICAgIGlmICh0aGlzLl9kZWYuY2F0Y2hhbGwgaW5zdGFuY2VvZiBab2ROZXZlcikge1xuICAgICAgY29uc3QgdW5rbm93bktleXMgPSB0aGlzLl9kZWYudW5rbm93bktleXM7XG4gICAgICBpZiAodW5rbm93bktleXMgPT09IFwicGFzc3Rocm91Z2hcIikge1xuICAgICAgICBmb3IgKGNvbnN0IGtleSBvZiBleHRyYUtleXMpIHtcbiAgICAgICAgICBwYWlycy5wdXNoKHtcbiAgICAgICAgICAgIGtleTogeyBzdGF0dXM6IFwidmFsaWRcIiwgdmFsdWU6IGtleSB9LFxuICAgICAgICAgICAgdmFsdWU6IHsgc3RhdHVzOiBcInZhbGlkXCIsIHZhbHVlOiBjdHguZGF0YVtrZXldIH1cbiAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgICAgfSBlbHNlIGlmICh1bmtub3duS2V5cyA9PT0gXCJzdHJpY3RcIikge1xuICAgICAgICBpZiAoZXh0cmFLZXlzLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICBhZGRJc3N1ZVRvQ29udGV4dChjdHgsIHtcbiAgICAgICAgICAgIGNvZGU6IFpvZElzc3VlQ29kZS51bnJlY29nbml6ZWRfa2V5cyxcbiAgICAgICAgICAgIGtleXM6IGV4dHJhS2V5c1xuICAgICAgICAgIH0pO1xuICAgICAgICAgIHN0YXR1cy5kaXJ0eSgpO1xuICAgICAgICB9XG4gICAgICB9IGVsc2UgaWYgKHVua25vd25LZXlzID09PSBcInN0cmlwXCIpIDtcbiAgICAgIGVsc2Uge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYEludGVybmFsIFpvZE9iamVjdCBlcnJvcjogaW52YWxpZCB1bmtub3duS2V5cyB2YWx1ZS5gKTtcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgY29uc3QgY2F0Y2hhbGwgPSB0aGlzLl9kZWYuY2F0Y2hhbGw7XG4gICAgICBmb3IgKGNvbnN0IGtleSBvZiBleHRyYUtleXMpIHtcbiAgICAgICAgY29uc3QgdmFsdWUgPSBjdHguZGF0YVtrZXldO1xuICAgICAgICBwYWlycy5wdXNoKHtcbiAgICAgICAgICBrZXk6IHsgc3RhdHVzOiBcInZhbGlkXCIsIHZhbHVlOiBrZXkgfSxcbiAgICAgICAgICB2YWx1ZTogY2F0Y2hhbGwuX3BhcnNlKFxuICAgICAgICAgICAgbmV3IFBhcnNlSW5wdXRMYXp5UGF0aChjdHgsIHZhbHVlLCBjdHgucGF0aCwga2V5KVxuICAgICAgICAgICAgLy8sIGN0eC5jaGlsZChrZXkpLCB2YWx1ZSwgZ2V0UGFyc2VkVHlwZSh2YWx1ZSlcbiAgICAgICAgICApLFxuICAgICAgICAgIGFsd2F5c1NldDoga2V5IGluIGN0eC5kYXRhXG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgIH1cbiAgICBpZiAoY3R4LmNvbW1vbi5hc3luYykge1xuICAgICAgcmV0dXJuIFByb21pc2UucmVzb2x2ZSgpLnRoZW4oYXN5bmMgKCkgPT4ge1xuICAgICAgICBjb25zdCBzeW5jUGFpcnMgPSBbXTtcbiAgICAgICAgZm9yIChjb25zdCBwYWlyIG9mIHBhaXJzKSB7XG4gICAgICAgICAgY29uc3Qga2V5ID0gYXdhaXQgcGFpci5rZXk7XG4gICAgICAgICAgY29uc3QgdmFsdWUgPSBhd2FpdCBwYWlyLnZhbHVlO1xuICAgICAgICAgIHN5bmNQYWlycy5wdXNoKHtcbiAgICAgICAgICAgIGtleSxcbiAgICAgICAgICAgIHZhbHVlLFxuICAgICAgICAgICAgYWx3YXlzU2V0OiBwYWlyLmFsd2F5c1NldFxuICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBzeW5jUGFpcnM7XG4gICAgICB9KS50aGVuKChzeW5jUGFpcnMpID0+IHtcbiAgICAgICAgcmV0dXJuIFBhcnNlU3RhdHVzLm1lcmdlT2JqZWN0U3luYyhzdGF0dXMsIHN5bmNQYWlycyk7XG4gICAgICB9KTtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIFBhcnNlU3RhdHVzLm1lcmdlT2JqZWN0U3luYyhzdGF0dXMsIHBhaXJzKTtcbiAgICB9XG4gIH1cbiAgZ2V0IHNoYXBlKCkge1xuICAgIHJldHVybiB0aGlzLl9kZWYuc2hhcGUoKTtcbiAgfVxuICBzdHJpY3QobWVzc2FnZSkge1xuICAgIGVycm9yVXRpbC5lcnJUb09iajtcbiAgICByZXR1cm4gbmV3IF9ab2RPYmplY3Qoe1xuICAgICAgLi4udGhpcy5fZGVmLFxuICAgICAgdW5rbm93bktleXM6IFwic3RyaWN0XCIsXG4gICAgICAuLi5tZXNzYWdlICE9PSB2b2lkIDAgPyB7XG4gICAgICAgIGVycm9yTWFwOiAoaXNzdWUsIGN0eCkgPT4ge1xuICAgICAgICAgIHZhciBfYSwgX2IsIF9jLCBfZDtcbiAgICAgICAgICBjb25zdCBkZWZhdWx0RXJyb3IgPSAoX2MgPSAoX2IgPSAoX2EgPSB0aGlzLl9kZWYpLmVycm9yTWFwKSA9PT0gbnVsbCB8fCBfYiA9PT0gdm9pZCAwID8gdm9pZCAwIDogX2IuY2FsbChfYSwgaXNzdWUsIGN0eCkubWVzc2FnZSkgIT09IG51bGwgJiYgX2MgIT09IHZvaWQgMCA/IF9jIDogY3R4LmRlZmF1bHRFcnJvcjtcbiAgICAgICAgICBpZiAoaXNzdWUuY29kZSA9PT0gXCJ1bnJlY29nbml6ZWRfa2V5c1wiKVxuICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgbWVzc2FnZTogKF9kID0gZXJyb3JVdGlsLmVyclRvT2JqKG1lc3NhZ2UpLm1lc3NhZ2UpICE9PSBudWxsICYmIF9kICE9PSB2b2lkIDAgPyBfZCA6IGRlZmF1bHRFcnJvclxuICAgICAgICAgICAgfTtcbiAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgbWVzc2FnZTogZGVmYXVsdEVycm9yXG4gICAgICAgICAgfTtcbiAgICAgICAgfVxuICAgICAgfSA6IHt9XG4gICAgfSk7XG4gIH1cbiAgc3RyaXAoKSB7XG4gICAgcmV0dXJuIG5ldyBfWm9kT2JqZWN0KHtcbiAgICAgIC4uLnRoaXMuX2RlZixcbiAgICAgIHVua25vd25LZXlzOiBcInN0cmlwXCJcbiAgICB9KTtcbiAgfVxuICBwYXNzdGhyb3VnaCgpIHtcbiAgICByZXR1cm4gbmV3IF9ab2RPYmplY3Qoe1xuICAgICAgLi4udGhpcy5fZGVmLFxuICAgICAgdW5rbm93bktleXM6IFwicGFzc3Rocm91Z2hcIlxuICAgIH0pO1xuICB9XG4gIC8vIGNvbnN0IEF1Z21lbnRGYWN0b3J5ID1cbiAgLy8gICA8RGVmIGV4dGVuZHMgWm9kT2JqZWN0RGVmPihkZWY6IERlZikgPT5cbiAgLy8gICA8QXVnbWVudGF0aW9uIGV4dGVuZHMgWm9kUmF3U2hhcGU+KFxuICAvLyAgICAgYXVnbWVudGF0aW9uOiBBdWdtZW50YXRpb25cbiAgLy8gICApOiBab2RPYmplY3Q8XG4gIC8vICAgICBleHRlbmRTaGFwZTxSZXR1cm5UeXBlPERlZltcInNoYXBlXCJdPiwgQXVnbWVudGF0aW9uPixcbiAgLy8gICAgIERlZltcInVua25vd25LZXlzXCJdLFxuICAvLyAgICAgRGVmW1wiY2F0Y2hhbGxcIl1cbiAgLy8gICA+ID0+IHtcbiAgLy8gICAgIHJldHVybiBuZXcgWm9kT2JqZWN0KHtcbiAgLy8gICAgICAgLi4uZGVmLFxuICAvLyAgICAgICBzaGFwZTogKCkgPT4gKHtcbiAgLy8gICAgICAgICAuLi5kZWYuc2hhcGUoKSxcbiAgLy8gICAgICAgICAuLi5hdWdtZW50YXRpb24sXG4gIC8vICAgICAgIH0pLFxuICAvLyAgICAgfSkgYXMgYW55O1xuICAvLyAgIH07XG4gIGV4dGVuZChhdWdtZW50YXRpb24pIHtcbiAgICByZXR1cm4gbmV3IF9ab2RPYmplY3Qoe1xuICAgICAgLi4udGhpcy5fZGVmLFxuICAgICAgc2hhcGU6ICgpID0+ICh7XG4gICAgICAgIC4uLnRoaXMuX2RlZi5zaGFwZSgpLFxuICAgICAgICAuLi5hdWdtZW50YXRpb25cbiAgICAgIH0pXG4gICAgfSk7XG4gIH1cbiAgLyoqXG4gICAqIFByaW9yIHRvIHpvZEAxLjAuMTIgdGhlcmUgd2FzIGEgYnVnIGluIHRoZVxuICAgKiBpbmZlcnJlZCB0eXBlIG9mIG1lcmdlZCBvYmplY3RzLiBQbGVhc2VcbiAgICogdXBncmFkZSBpZiB5b3UgYXJlIGV4cGVyaWVuY2luZyBpc3N1ZXMuXG4gICAqL1xuICBtZXJnZShtZXJnaW5nKSB7XG4gICAgY29uc3QgbWVyZ2VkID0gbmV3IF9ab2RPYmplY3Qoe1xuICAgICAgdW5rbm93bktleXM6IG1lcmdpbmcuX2RlZi51bmtub3duS2V5cyxcbiAgICAgIGNhdGNoYWxsOiBtZXJnaW5nLl9kZWYuY2F0Y2hhbGwsXG4gICAgICBzaGFwZTogKCkgPT4gKHtcbiAgICAgICAgLi4udGhpcy5fZGVmLnNoYXBlKCksXG4gICAgICAgIC4uLm1lcmdpbmcuX2RlZi5zaGFwZSgpXG4gICAgICB9KSxcbiAgICAgIHR5cGVOYW1lOiBab2RGaXJzdFBhcnR5VHlwZUtpbmQuWm9kT2JqZWN0XG4gICAgfSk7XG4gICAgcmV0dXJuIG1lcmdlZDtcbiAgfVxuICAvLyBtZXJnZTxcbiAgLy8gICBJbmNvbWluZyBleHRlbmRzIEFueVpvZE9iamVjdCxcbiAgLy8gICBBdWdtZW50YXRpb24gZXh0ZW5kcyBJbmNvbWluZ1tcInNoYXBlXCJdLFxuICAvLyAgIE5ld091dHB1dCBleHRlbmRzIHtcbiAgLy8gICAgIFtrIGluIGtleW9mIEF1Z21lbnRhdGlvbiB8IGtleW9mIE91dHB1dF06IGsgZXh0ZW5kcyBrZXlvZiBBdWdtZW50YXRpb25cbiAgLy8gICAgICAgPyBBdWdtZW50YXRpb25ba11bXCJfb3V0cHV0XCJdXG4gIC8vICAgICAgIDogayBleHRlbmRzIGtleW9mIE91dHB1dFxuICAvLyAgICAgICA/IE91dHB1dFtrXVxuICAvLyAgICAgICA6IG5ldmVyO1xuICAvLyAgIH0sXG4gIC8vICAgTmV3SW5wdXQgZXh0ZW5kcyB7XG4gIC8vICAgICBbayBpbiBrZXlvZiBBdWdtZW50YXRpb24gfCBrZXlvZiBJbnB1dF06IGsgZXh0ZW5kcyBrZXlvZiBBdWdtZW50YXRpb25cbiAgLy8gICAgICAgPyBBdWdtZW50YXRpb25ba11bXCJfaW5wdXRcIl1cbiAgLy8gICAgICAgOiBrIGV4dGVuZHMga2V5b2YgSW5wdXRcbiAgLy8gICAgICAgPyBJbnB1dFtrXVxuICAvLyAgICAgICA6IG5ldmVyO1xuICAvLyAgIH1cbiAgLy8gPihcbiAgLy8gICBtZXJnaW5nOiBJbmNvbWluZ1xuICAvLyApOiBab2RPYmplY3Q8XG4gIC8vICAgZXh0ZW5kU2hhcGU8VCwgUmV0dXJuVHlwZTxJbmNvbWluZ1tcIl9kZWZcIl1bXCJzaGFwZVwiXT4+LFxuICAvLyAgIEluY29taW5nW1wiX2RlZlwiXVtcInVua25vd25LZXlzXCJdLFxuICAvLyAgIEluY29taW5nW1wiX2RlZlwiXVtcImNhdGNoYWxsXCJdLFxuICAvLyAgIE5ld091dHB1dCxcbiAgLy8gICBOZXdJbnB1dFxuICAvLyA+IHtcbiAgLy8gICBjb25zdCBtZXJnZWQ6IGFueSA9IG5ldyBab2RPYmplY3Qoe1xuICAvLyAgICAgdW5rbm93bktleXM6IG1lcmdpbmcuX2RlZi51bmtub3duS2V5cyxcbiAgLy8gICAgIGNhdGNoYWxsOiBtZXJnaW5nLl9kZWYuY2F0Y2hhbGwsXG4gIC8vICAgICBzaGFwZTogKCkgPT5cbiAgLy8gICAgICAgb2JqZWN0VXRpbC5tZXJnZVNoYXBlcyh0aGlzLl9kZWYuc2hhcGUoKSwgbWVyZ2luZy5fZGVmLnNoYXBlKCkpLFxuICAvLyAgICAgdHlwZU5hbWU6IFpvZEZpcnN0UGFydHlUeXBlS2luZC5ab2RPYmplY3QsXG4gIC8vICAgfSkgYXMgYW55O1xuICAvLyAgIHJldHVybiBtZXJnZWQ7XG4gIC8vIH1cbiAgc2V0S2V5KGtleSwgc2NoZW1hKSB7XG4gICAgcmV0dXJuIHRoaXMuYXVnbWVudCh7IFtrZXldOiBzY2hlbWEgfSk7XG4gIH1cbiAgLy8gbWVyZ2U8SW5jb21pbmcgZXh0ZW5kcyBBbnlab2RPYmplY3Q+KFxuICAvLyAgIG1lcmdpbmc6IEluY29taW5nXG4gIC8vICk6IC8vWm9kT2JqZWN0PFQgJiBJbmNvbWluZ1tcIl9zaGFwZVwiXSwgVW5rbm93bktleXMsIENhdGNoYWxsPiA9IChtZXJnaW5nKSA9PiB7XG4gIC8vIFpvZE9iamVjdDxcbiAgLy8gICBleHRlbmRTaGFwZTxULCBSZXR1cm5UeXBlPEluY29taW5nW1wiX2RlZlwiXVtcInNoYXBlXCJdPj4sXG4gIC8vICAgSW5jb21pbmdbXCJfZGVmXCJdW1widW5rbm93bktleXNcIl0sXG4gIC8vICAgSW5jb21pbmdbXCJfZGVmXCJdW1wiY2F0Y2hhbGxcIl1cbiAgLy8gPiB7XG4gIC8vICAgLy8gY29uc3QgbWVyZ2VkU2hhcGUgPSBvYmplY3RVdGlsLm1lcmdlU2hhcGVzKFxuICAvLyAgIC8vICAgdGhpcy5fZGVmLnNoYXBlKCksXG4gIC8vICAgLy8gICBtZXJnaW5nLl9kZWYuc2hhcGUoKVxuICAvLyAgIC8vICk7XG4gIC8vICAgY29uc3QgbWVyZ2VkOiBhbnkgPSBuZXcgWm9kT2JqZWN0KHtcbiAgLy8gICAgIHVua25vd25LZXlzOiBtZXJnaW5nLl9kZWYudW5rbm93bktleXMsXG4gIC8vICAgICBjYXRjaGFsbDogbWVyZ2luZy5fZGVmLmNhdGNoYWxsLFxuICAvLyAgICAgc2hhcGU6ICgpID0+XG4gIC8vICAgICAgIG9iamVjdFV0aWwubWVyZ2VTaGFwZXModGhpcy5fZGVmLnNoYXBlKCksIG1lcmdpbmcuX2RlZi5zaGFwZSgpKSxcbiAgLy8gICAgIHR5cGVOYW1lOiBab2RGaXJzdFBhcnR5VHlwZUtpbmQuWm9kT2JqZWN0LFxuICAvLyAgIH0pIGFzIGFueTtcbiAgLy8gICByZXR1cm4gbWVyZ2VkO1xuICAvLyB9XG4gIGNhdGNoYWxsKGluZGV4KSB7XG4gICAgcmV0dXJuIG5ldyBfWm9kT2JqZWN0KHtcbiAgICAgIC4uLnRoaXMuX2RlZixcbiAgICAgIGNhdGNoYWxsOiBpbmRleFxuICAgIH0pO1xuICB9XG4gIHBpY2sobWFzaykge1xuICAgIGNvbnN0IHNoYXBlID0ge307XG4gICAgdXRpbC5vYmplY3RLZXlzKG1hc2spLmZvckVhY2goKGtleSkgPT4ge1xuICAgICAgaWYgKG1hc2tba2V5XSAmJiB0aGlzLnNoYXBlW2tleV0pIHtcbiAgICAgICAgc2hhcGVba2V5XSA9IHRoaXMuc2hhcGVba2V5XTtcbiAgICAgIH1cbiAgICB9KTtcbiAgICByZXR1cm4gbmV3IF9ab2RPYmplY3Qoe1xuICAgICAgLi4udGhpcy5fZGVmLFxuICAgICAgc2hhcGU6ICgpID0+IHNoYXBlXG4gICAgfSk7XG4gIH1cbiAgb21pdChtYXNrKSB7XG4gICAgY29uc3Qgc2hhcGUgPSB7fTtcbiAgICB1dGlsLm9iamVjdEtleXModGhpcy5zaGFwZSkuZm9yRWFjaCgoa2V5KSA9PiB7XG4gICAgICBpZiAoIW1hc2tba2V5XSkge1xuICAgICAgICBzaGFwZVtrZXldID0gdGhpcy5zaGFwZVtrZXldO1xuICAgICAgfVxuICAgIH0pO1xuICAgIHJldHVybiBuZXcgX1pvZE9iamVjdCh7XG4gICAgICAuLi50aGlzLl9kZWYsXG4gICAgICBzaGFwZTogKCkgPT4gc2hhcGVcbiAgICB9KTtcbiAgfVxuICAvKipcbiAgICogQGRlcHJlY2F0ZWRcbiAgICovXG4gIGRlZXBQYXJ0aWFsKCkge1xuICAgIHJldHVybiBkZWVwUGFydGlhbGlmeSh0aGlzKTtcbiAgfVxuICBwYXJ0aWFsKG1hc2spIHtcbiAgICBjb25zdCBuZXdTaGFwZSA9IHt9O1xuICAgIHV0aWwub2JqZWN0S2V5cyh0aGlzLnNoYXBlKS5mb3JFYWNoKChrZXkpID0+IHtcbiAgICAgIGNvbnN0IGZpZWxkU2NoZW1hID0gdGhpcy5zaGFwZVtrZXldO1xuICAgICAgaWYgKG1hc2sgJiYgIW1hc2tba2V5XSkge1xuICAgICAgICBuZXdTaGFwZVtrZXldID0gZmllbGRTY2hlbWE7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBuZXdTaGFwZVtrZXldID0gZmllbGRTY2hlbWEub3B0aW9uYWwoKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgICByZXR1cm4gbmV3IF9ab2RPYmplY3Qoe1xuICAgICAgLi4udGhpcy5fZGVmLFxuICAgICAgc2hhcGU6ICgpID0+IG5ld1NoYXBlXG4gICAgfSk7XG4gIH1cbiAgcmVxdWlyZWQobWFzaykge1xuICAgIGNvbnN0IG5ld1NoYXBlID0ge307XG4gICAgdXRpbC5vYmplY3RLZXlzKHRoaXMuc2hhcGUpLmZvckVhY2goKGtleSkgPT4ge1xuICAgICAgaWYgKG1hc2sgJiYgIW1hc2tba2V5XSkge1xuICAgICAgICBuZXdTaGFwZVtrZXldID0gdGhpcy5zaGFwZVtrZXldO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgY29uc3QgZmllbGRTY2hlbWEgPSB0aGlzLnNoYXBlW2tleV07XG4gICAgICAgIGxldCBuZXdGaWVsZCA9IGZpZWxkU2NoZW1hO1xuICAgICAgICB3aGlsZSAobmV3RmllbGQgaW5zdGFuY2VvZiBab2RPcHRpb25hbCkge1xuICAgICAgICAgIG5ld0ZpZWxkID0gbmV3RmllbGQuX2RlZi5pbm5lclR5cGU7XG4gICAgICAgIH1cbiAgICAgICAgbmV3U2hhcGVba2V5XSA9IG5ld0ZpZWxkO1xuICAgICAgfVxuICAgIH0pO1xuICAgIHJldHVybiBuZXcgX1pvZE9iamVjdCh7XG4gICAgICAuLi50aGlzLl9kZWYsXG4gICAgICBzaGFwZTogKCkgPT4gbmV3U2hhcGVcbiAgICB9KTtcbiAgfVxuICBrZXlvZigpIHtcbiAgICByZXR1cm4gY3JlYXRlWm9kRW51bSh1dGlsLm9iamVjdEtleXModGhpcy5zaGFwZSkpO1xuICB9XG59O1xuWm9kT2JqZWN0LmNyZWF0ZSA9IChzaGFwZSwgcGFyYW1zKSA9PiB7XG4gIHJldHVybiBuZXcgWm9kT2JqZWN0KHtcbiAgICBzaGFwZTogKCkgPT4gc2hhcGUsXG4gICAgdW5rbm93bktleXM6IFwic3RyaXBcIixcbiAgICBjYXRjaGFsbDogWm9kTmV2ZXIuY3JlYXRlKCksXG4gICAgdHlwZU5hbWU6IFpvZEZpcnN0UGFydHlUeXBlS2luZC5ab2RPYmplY3QsXG4gICAgLi4ucHJvY2Vzc0NyZWF0ZVBhcmFtcyhwYXJhbXMpXG4gIH0pO1xufTtcblpvZE9iamVjdC5zdHJpY3RDcmVhdGUgPSAoc2hhcGUsIHBhcmFtcykgPT4ge1xuICByZXR1cm4gbmV3IFpvZE9iamVjdCh7XG4gICAgc2hhcGU6ICgpID0+IHNoYXBlLFxuICAgIHVua25vd25LZXlzOiBcInN0cmljdFwiLFxuICAgIGNhdGNoYWxsOiBab2ROZXZlci5jcmVhdGUoKSxcbiAgICB0eXBlTmFtZTogWm9kRmlyc3RQYXJ0eVR5cGVLaW5kLlpvZE9iamVjdCxcbiAgICAuLi5wcm9jZXNzQ3JlYXRlUGFyYW1zKHBhcmFtcylcbiAgfSk7XG59O1xuWm9kT2JqZWN0LmxhenljcmVhdGUgPSAoc2hhcGUsIHBhcmFtcykgPT4ge1xuICByZXR1cm4gbmV3IFpvZE9iamVjdCh7XG4gICAgc2hhcGUsXG4gICAgdW5rbm93bktleXM6IFwic3RyaXBcIixcbiAgICBjYXRjaGFsbDogWm9kTmV2ZXIuY3JlYXRlKCksXG4gICAgdHlwZU5hbWU6IFpvZEZpcnN0UGFydHlUeXBlS2luZC5ab2RPYmplY3QsXG4gICAgLi4ucHJvY2Vzc0NyZWF0ZVBhcmFtcyhwYXJhbXMpXG4gIH0pO1xufTtcbnZhciBab2RVbmlvbiA9IGNsYXNzIGV4dGVuZHMgWm9kVHlwZSB7XG4gIF9wYXJzZShpbnB1dCkge1xuICAgIGNvbnN0IHsgY3R4IH0gPSB0aGlzLl9wcm9jZXNzSW5wdXRQYXJhbXMoaW5wdXQpO1xuICAgIGNvbnN0IG9wdGlvbnMgPSB0aGlzLl9kZWYub3B0aW9ucztcbiAgICBmdW5jdGlvbiBoYW5kbGVSZXN1bHRzKHJlc3VsdHMpIHtcbiAgICAgIGZvciAoY29uc3QgcmVzdWx0IG9mIHJlc3VsdHMpIHtcbiAgICAgICAgaWYgKHJlc3VsdC5yZXN1bHQuc3RhdHVzID09PSBcInZhbGlkXCIpIHtcbiAgICAgICAgICByZXR1cm4gcmVzdWx0LnJlc3VsdDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgZm9yIChjb25zdCByZXN1bHQgb2YgcmVzdWx0cykge1xuICAgICAgICBpZiAocmVzdWx0LnJlc3VsdC5zdGF0dXMgPT09IFwiZGlydHlcIikge1xuICAgICAgICAgIGN0eC5jb21tb24uaXNzdWVzLnB1c2goLi4ucmVzdWx0LmN0eC5jb21tb24uaXNzdWVzKTtcbiAgICAgICAgICByZXR1cm4gcmVzdWx0LnJlc3VsdDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgY29uc3QgdW5pb25FcnJvcnMgPSByZXN1bHRzLm1hcCgocmVzdWx0KSA9PiBuZXcgWm9kRXJyb3IocmVzdWx0LmN0eC5jb21tb24uaXNzdWVzKSk7XG4gICAgICBhZGRJc3N1ZVRvQ29udGV4dChjdHgsIHtcbiAgICAgICAgY29kZTogWm9kSXNzdWVDb2RlLmludmFsaWRfdW5pb24sXG4gICAgICAgIHVuaW9uRXJyb3JzXG4gICAgICB9KTtcbiAgICAgIHJldHVybiBJTlZBTElEO1xuICAgIH1cbiAgICBpZiAoY3R4LmNvbW1vbi5hc3luYykge1xuICAgICAgcmV0dXJuIFByb21pc2UuYWxsKG9wdGlvbnMubWFwKGFzeW5jIChvcHRpb24pID0+IHtcbiAgICAgICAgY29uc3QgY2hpbGRDdHggPSB7XG4gICAgICAgICAgLi4uY3R4LFxuICAgICAgICAgIGNvbW1vbjoge1xuICAgICAgICAgICAgLi4uY3R4LmNvbW1vbixcbiAgICAgICAgICAgIGlzc3VlczogW11cbiAgICAgICAgICB9LFxuICAgICAgICAgIHBhcmVudDogbnVsbFxuICAgICAgICB9O1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgIHJlc3VsdDogYXdhaXQgb3B0aW9uLl9wYXJzZUFzeW5jKHtcbiAgICAgICAgICAgIGRhdGE6IGN0eC5kYXRhLFxuICAgICAgICAgICAgcGF0aDogY3R4LnBhdGgsXG4gICAgICAgICAgICBwYXJlbnQ6IGNoaWxkQ3R4XG4gICAgICAgICAgfSksXG4gICAgICAgICAgY3R4OiBjaGlsZEN0eFxuICAgICAgICB9O1xuICAgICAgfSkpLnRoZW4oaGFuZGxlUmVzdWx0cyk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGxldCBkaXJ0eSA9IHZvaWQgMDtcbiAgICAgIGNvbnN0IGlzc3VlcyA9IFtdO1xuICAgICAgZm9yIChjb25zdCBvcHRpb24gb2Ygb3B0aW9ucykge1xuICAgICAgICBjb25zdCBjaGlsZEN0eCA9IHtcbiAgICAgICAgICAuLi5jdHgsXG4gICAgICAgICAgY29tbW9uOiB7XG4gICAgICAgICAgICAuLi5jdHguY29tbW9uLFxuICAgICAgICAgICAgaXNzdWVzOiBbXVxuICAgICAgICAgIH0sXG4gICAgICAgICAgcGFyZW50OiBudWxsXG4gICAgICAgIH07XG4gICAgICAgIGNvbnN0IHJlc3VsdCA9IG9wdGlvbi5fcGFyc2VTeW5jKHtcbiAgICAgICAgICBkYXRhOiBjdHguZGF0YSxcbiAgICAgICAgICBwYXRoOiBjdHgucGF0aCxcbiAgICAgICAgICBwYXJlbnQ6IGNoaWxkQ3R4XG4gICAgICAgIH0pO1xuICAgICAgICBpZiAocmVzdWx0LnN0YXR1cyA9PT0gXCJ2YWxpZFwiKSB7XG4gICAgICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICAgICAgfSBlbHNlIGlmIChyZXN1bHQuc3RhdHVzID09PSBcImRpcnR5XCIgJiYgIWRpcnR5KSB7XG4gICAgICAgICAgZGlydHkgPSB7IHJlc3VsdCwgY3R4OiBjaGlsZEN0eCB9O1xuICAgICAgICB9XG4gICAgICAgIGlmIChjaGlsZEN0eC5jb21tb24uaXNzdWVzLmxlbmd0aCkge1xuICAgICAgICAgIGlzc3Vlcy5wdXNoKGNoaWxkQ3R4LmNvbW1vbi5pc3N1ZXMpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICBpZiAoZGlydHkpIHtcbiAgICAgICAgY3R4LmNvbW1vbi5pc3N1ZXMucHVzaCguLi5kaXJ0eS5jdHguY29tbW9uLmlzc3Vlcyk7XG4gICAgICAgIHJldHVybiBkaXJ0eS5yZXN1bHQ7XG4gICAgICB9XG4gICAgICBjb25zdCB1bmlvbkVycm9ycyA9IGlzc3Vlcy5tYXAoKGlzc3VlczIpID0+IG5ldyBab2RFcnJvcihpc3N1ZXMyKSk7XG4gICAgICBhZGRJc3N1ZVRvQ29udGV4dChjdHgsIHtcbiAgICAgICAgY29kZTogWm9kSXNzdWVDb2RlLmludmFsaWRfdW5pb24sXG4gICAgICAgIHVuaW9uRXJyb3JzXG4gICAgICB9KTtcbiAgICAgIHJldHVybiBJTlZBTElEO1xuICAgIH1cbiAgfVxuICBnZXQgb3B0aW9ucygpIHtcbiAgICByZXR1cm4gdGhpcy5fZGVmLm9wdGlvbnM7XG4gIH1cbn07XG5ab2RVbmlvbi5jcmVhdGUgPSAodHlwZXMsIHBhcmFtcykgPT4ge1xuICByZXR1cm4gbmV3IFpvZFVuaW9uKHtcbiAgICBvcHRpb25zOiB0eXBlcyxcbiAgICB0eXBlTmFtZTogWm9kRmlyc3RQYXJ0eVR5cGVLaW5kLlpvZFVuaW9uLFxuICAgIC4uLnByb2Nlc3NDcmVhdGVQYXJhbXMocGFyYW1zKVxuICB9KTtcbn07XG52YXIgZ2V0RGlzY3JpbWluYXRvciA9ICh0eXBlKSA9PiB7XG4gIGlmICh0eXBlIGluc3RhbmNlb2YgWm9kTGF6eSkge1xuICAgIHJldHVybiBnZXREaXNjcmltaW5hdG9yKHR5cGUuc2NoZW1hKTtcbiAgfSBlbHNlIGlmICh0eXBlIGluc3RhbmNlb2YgWm9kRWZmZWN0cykge1xuICAgIHJldHVybiBnZXREaXNjcmltaW5hdG9yKHR5cGUuaW5uZXJUeXBlKCkpO1xuICB9IGVsc2UgaWYgKHR5cGUgaW5zdGFuY2VvZiBab2RMaXRlcmFsKSB7XG4gICAgcmV0dXJuIFt0eXBlLnZhbHVlXTtcbiAgfSBlbHNlIGlmICh0eXBlIGluc3RhbmNlb2YgWm9kRW51bSkge1xuICAgIHJldHVybiB0eXBlLm9wdGlvbnM7XG4gIH0gZWxzZSBpZiAodHlwZSBpbnN0YW5jZW9mIFpvZE5hdGl2ZUVudW0pIHtcbiAgICByZXR1cm4gdXRpbC5vYmplY3RWYWx1ZXModHlwZS5lbnVtKTtcbiAgfSBlbHNlIGlmICh0eXBlIGluc3RhbmNlb2YgWm9kRGVmYXVsdCkge1xuICAgIHJldHVybiBnZXREaXNjcmltaW5hdG9yKHR5cGUuX2RlZi5pbm5lclR5cGUpO1xuICB9IGVsc2UgaWYgKHR5cGUgaW5zdGFuY2VvZiBab2RVbmRlZmluZWQpIHtcbiAgICByZXR1cm4gW3ZvaWQgMF07XG4gIH0gZWxzZSBpZiAodHlwZSBpbnN0YW5jZW9mIFpvZE51bGwpIHtcbiAgICByZXR1cm4gW251bGxdO1xuICB9IGVsc2UgaWYgKHR5cGUgaW5zdGFuY2VvZiBab2RPcHRpb25hbCkge1xuICAgIHJldHVybiBbdm9pZCAwLCAuLi5nZXREaXNjcmltaW5hdG9yKHR5cGUudW53cmFwKCkpXTtcbiAgfSBlbHNlIGlmICh0eXBlIGluc3RhbmNlb2YgWm9kTnVsbGFibGUpIHtcbiAgICByZXR1cm4gW251bGwsIC4uLmdldERpc2NyaW1pbmF0b3IodHlwZS51bndyYXAoKSldO1xuICB9IGVsc2UgaWYgKHR5cGUgaW5zdGFuY2VvZiBab2RCcmFuZGVkKSB7XG4gICAgcmV0dXJuIGdldERpc2NyaW1pbmF0b3IodHlwZS51bndyYXAoKSk7XG4gIH0gZWxzZSBpZiAodHlwZSBpbnN0YW5jZW9mIFpvZFJlYWRvbmx5KSB7XG4gICAgcmV0dXJuIGdldERpc2NyaW1pbmF0b3IodHlwZS51bndyYXAoKSk7XG4gIH0gZWxzZSBpZiAodHlwZSBpbnN0YW5jZW9mIFpvZENhdGNoKSB7XG4gICAgcmV0dXJuIGdldERpc2NyaW1pbmF0b3IodHlwZS5fZGVmLmlubmVyVHlwZSk7XG4gIH0gZWxzZSB7XG4gICAgcmV0dXJuIFtdO1xuICB9XG59O1xudmFyIFpvZERpc2NyaW1pbmF0ZWRVbmlvbiA9IGNsYXNzIF9ab2REaXNjcmltaW5hdGVkVW5pb24gZXh0ZW5kcyBab2RUeXBlIHtcbiAgX3BhcnNlKGlucHV0KSB7XG4gICAgY29uc3QgeyBjdHggfSA9IHRoaXMuX3Byb2Nlc3NJbnB1dFBhcmFtcyhpbnB1dCk7XG4gICAgaWYgKGN0eC5wYXJzZWRUeXBlICE9PSBab2RQYXJzZWRUeXBlLm9iamVjdCkge1xuICAgICAgYWRkSXNzdWVUb0NvbnRleHQoY3R4LCB7XG4gICAgICAgIGNvZGU6IFpvZElzc3VlQ29kZS5pbnZhbGlkX3R5cGUsXG4gICAgICAgIGV4cGVjdGVkOiBab2RQYXJzZWRUeXBlLm9iamVjdCxcbiAgICAgICAgcmVjZWl2ZWQ6IGN0eC5wYXJzZWRUeXBlXG4gICAgICB9KTtcbiAgICAgIHJldHVybiBJTlZBTElEO1xuICAgIH1cbiAgICBjb25zdCBkaXNjcmltaW5hdG9yID0gdGhpcy5kaXNjcmltaW5hdG9yO1xuICAgIGNvbnN0IGRpc2NyaW1pbmF0b3JWYWx1ZSA9IGN0eC5kYXRhW2Rpc2NyaW1pbmF0b3JdO1xuICAgIGNvbnN0IG9wdGlvbiA9IHRoaXMub3B0aW9uc01hcC5nZXQoZGlzY3JpbWluYXRvclZhbHVlKTtcbiAgICBpZiAoIW9wdGlvbikge1xuICAgICAgYWRkSXNzdWVUb0NvbnRleHQoY3R4LCB7XG4gICAgICAgIGNvZGU6IFpvZElzc3VlQ29kZS5pbnZhbGlkX3VuaW9uX2Rpc2NyaW1pbmF0b3IsXG4gICAgICAgIG9wdGlvbnM6IEFycmF5LmZyb20odGhpcy5vcHRpb25zTWFwLmtleXMoKSksXG4gICAgICAgIHBhdGg6IFtkaXNjcmltaW5hdG9yXVxuICAgICAgfSk7XG4gICAgICByZXR1cm4gSU5WQUxJRDtcbiAgICB9XG4gICAgaWYgKGN0eC5jb21tb24uYXN5bmMpIHtcbiAgICAgIHJldHVybiBvcHRpb24uX3BhcnNlQXN5bmMoe1xuICAgICAgICBkYXRhOiBjdHguZGF0YSxcbiAgICAgICAgcGF0aDogY3R4LnBhdGgsXG4gICAgICAgIHBhcmVudDogY3R4XG4gICAgICB9KTtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIG9wdGlvbi5fcGFyc2VTeW5jKHtcbiAgICAgICAgZGF0YTogY3R4LmRhdGEsXG4gICAgICAgIHBhdGg6IGN0eC5wYXRoLFxuICAgICAgICBwYXJlbnQ6IGN0eFxuICAgICAgfSk7XG4gICAgfVxuICB9XG4gIGdldCBkaXNjcmltaW5hdG9yKCkge1xuICAgIHJldHVybiB0aGlzLl9kZWYuZGlzY3JpbWluYXRvcjtcbiAgfVxuICBnZXQgb3B0aW9ucygpIHtcbiAgICByZXR1cm4gdGhpcy5fZGVmLm9wdGlvbnM7XG4gIH1cbiAgZ2V0IG9wdGlvbnNNYXAoKSB7XG4gICAgcmV0dXJuIHRoaXMuX2RlZi5vcHRpb25zTWFwO1xuICB9XG4gIC8qKlxuICAgKiBUaGUgY29uc3RydWN0b3Igb2YgdGhlIGRpc2NyaW1pbmF0ZWQgdW5pb24gc2NoZW1hLiBJdHMgYmVoYXZpb3VyIGlzIHZlcnkgc2ltaWxhciB0byB0aGF0IG9mIHRoZSBub3JtYWwgei51bmlvbigpIGNvbnN0cnVjdG9yLlxuICAgKiBIb3dldmVyLCBpdCBvbmx5IGFsbG93cyBhIHVuaW9uIG9mIG9iamVjdHMsIGFsbCBvZiB3aGljaCBuZWVkIHRvIHNoYXJlIGEgZGlzY3JpbWluYXRvciBwcm9wZXJ0eS4gVGhpcyBwcm9wZXJ0eSBtdXN0XG4gICAqIGhhdmUgYSBkaWZmZXJlbnQgdmFsdWUgZm9yIGVhY2ggb2JqZWN0IGluIHRoZSB1bmlvbi5cbiAgICogQHBhcmFtIGRpc2NyaW1pbmF0b3IgdGhlIG5hbWUgb2YgdGhlIGRpc2NyaW1pbmF0b3IgcHJvcGVydHlcbiAgICogQHBhcmFtIHR5cGVzIGFuIGFycmF5IG9mIG9iamVjdCBzY2hlbWFzXG4gICAqIEBwYXJhbSBwYXJhbXNcbiAgICovXG4gIHN0YXRpYyBjcmVhdGUoZGlzY3JpbWluYXRvciwgb3B0aW9ucywgcGFyYW1zKSB7XG4gICAgY29uc3Qgb3B0aW9uc01hcCA9IC8qIEBfX1BVUkVfXyAqLyBuZXcgTWFwKCk7XG4gICAgZm9yIChjb25zdCB0eXBlIG9mIG9wdGlvbnMpIHtcbiAgICAgIGNvbnN0IGRpc2NyaW1pbmF0b3JWYWx1ZXMgPSBnZXREaXNjcmltaW5hdG9yKHR5cGUuc2hhcGVbZGlzY3JpbWluYXRvcl0pO1xuICAgICAgaWYgKCFkaXNjcmltaW5hdG9yVmFsdWVzLmxlbmd0aCkge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYEEgZGlzY3JpbWluYXRvciB2YWx1ZSBmb3Iga2V5IFxcYCR7ZGlzY3JpbWluYXRvcn1cXGAgY291bGQgbm90IGJlIGV4dHJhY3RlZCBmcm9tIGFsbCBzY2hlbWEgb3B0aW9uc2ApO1xuICAgICAgfVxuICAgICAgZm9yIChjb25zdCB2YWx1ZSBvZiBkaXNjcmltaW5hdG9yVmFsdWVzKSB7XG4gICAgICAgIGlmIChvcHRpb25zTWFwLmhhcyh2YWx1ZSkpIHtcbiAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYERpc2NyaW1pbmF0b3IgcHJvcGVydHkgJHtTdHJpbmcoZGlzY3JpbWluYXRvcil9IGhhcyBkdXBsaWNhdGUgdmFsdWUgJHtTdHJpbmcodmFsdWUpfWApO1xuICAgICAgICB9XG4gICAgICAgIG9wdGlvbnNNYXAuc2V0KHZhbHVlLCB0eXBlKTtcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIG5ldyBfWm9kRGlzY3JpbWluYXRlZFVuaW9uKHtcbiAgICAgIHR5cGVOYW1lOiBab2RGaXJzdFBhcnR5VHlwZUtpbmQuWm9kRGlzY3JpbWluYXRlZFVuaW9uLFxuICAgICAgZGlzY3JpbWluYXRvcixcbiAgICAgIG9wdGlvbnMsXG4gICAgICBvcHRpb25zTWFwLFxuICAgICAgLi4ucHJvY2Vzc0NyZWF0ZVBhcmFtcyhwYXJhbXMpXG4gICAgfSk7XG4gIH1cbn07XG5mdW5jdGlvbiBtZXJnZVZhbHVlcyhhLCBiKSB7XG4gIGNvbnN0IGFUeXBlID0gZ2V0UGFyc2VkVHlwZShhKTtcbiAgY29uc3QgYlR5cGUgPSBnZXRQYXJzZWRUeXBlKGIpO1xuICBpZiAoYSA9PT0gYikge1xuICAgIHJldHVybiB7IHZhbGlkOiB0cnVlLCBkYXRhOiBhIH07XG4gIH0gZWxzZSBpZiAoYVR5cGUgPT09IFpvZFBhcnNlZFR5cGUub2JqZWN0ICYmIGJUeXBlID09PSBab2RQYXJzZWRUeXBlLm9iamVjdCkge1xuICAgIGNvbnN0IGJLZXlzID0gdXRpbC5vYmplY3RLZXlzKGIpO1xuICAgIGNvbnN0IHNoYXJlZEtleXMgPSB1dGlsLm9iamVjdEtleXMoYSkuZmlsdGVyKChrZXkpID0+IGJLZXlzLmluZGV4T2Yoa2V5KSAhPT0gLTEpO1xuICAgIGNvbnN0IG5ld09iaiA9IHsgLi4uYSwgLi4uYiB9O1xuICAgIGZvciAoY29uc3Qga2V5IG9mIHNoYXJlZEtleXMpIHtcbiAgICAgIGNvbnN0IHNoYXJlZFZhbHVlID0gbWVyZ2VWYWx1ZXMoYVtrZXldLCBiW2tleV0pO1xuICAgICAgaWYgKCFzaGFyZWRWYWx1ZS52YWxpZCkge1xuICAgICAgICByZXR1cm4geyB2YWxpZDogZmFsc2UgfTtcbiAgICAgIH1cbiAgICAgIG5ld09ialtrZXldID0gc2hhcmVkVmFsdWUuZGF0YTtcbiAgICB9XG4gICAgcmV0dXJuIHsgdmFsaWQ6IHRydWUsIGRhdGE6IG5ld09iaiB9O1xuICB9IGVsc2UgaWYgKGFUeXBlID09PSBab2RQYXJzZWRUeXBlLmFycmF5ICYmIGJUeXBlID09PSBab2RQYXJzZWRUeXBlLmFycmF5KSB7XG4gICAgaWYgKGEubGVuZ3RoICE9PSBiLmxlbmd0aCkge1xuICAgICAgcmV0dXJuIHsgdmFsaWQ6IGZhbHNlIH07XG4gICAgfVxuICAgIGNvbnN0IG5ld0FycmF5ID0gW107XG4gICAgZm9yIChsZXQgaW5kZXggPSAwOyBpbmRleCA8IGEubGVuZ3RoOyBpbmRleCsrKSB7XG4gICAgICBjb25zdCBpdGVtQSA9IGFbaW5kZXhdO1xuICAgICAgY29uc3QgaXRlbUIgPSBiW2luZGV4XTtcbiAgICAgIGNvbnN0IHNoYXJlZFZhbHVlID0gbWVyZ2VWYWx1ZXMoaXRlbUEsIGl0ZW1CKTtcbiAgICAgIGlmICghc2hhcmVkVmFsdWUudmFsaWQpIHtcbiAgICAgICAgcmV0dXJuIHsgdmFsaWQ6IGZhbHNlIH07XG4gICAgICB9XG4gICAgICBuZXdBcnJheS5wdXNoKHNoYXJlZFZhbHVlLmRhdGEpO1xuICAgIH1cbiAgICByZXR1cm4geyB2YWxpZDogdHJ1ZSwgZGF0YTogbmV3QXJyYXkgfTtcbiAgfSBlbHNlIGlmIChhVHlwZSA9PT0gWm9kUGFyc2VkVHlwZS5kYXRlICYmIGJUeXBlID09PSBab2RQYXJzZWRUeXBlLmRhdGUgJiYgK2EgPT09ICtiKSB7XG4gICAgcmV0dXJuIHsgdmFsaWQ6IHRydWUsIGRhdGE6IGEgfTtcbiAgfSBlbHNlIHtcbiAgICByZXR1cm4geyB2YWxpZDogZmFsc2UgfTtcbiAgfVxufVxudmFyIFpvZEludGVyc2VjdGlvbiA9IGNsYXNzIGV4dGVuZHMgWm9kVHlwZSB7XG4gIF9wYXJzZShpbnB1dCkge1xuICAgIGNvbnN0IHsgc3RhdHVzLCBjdHggfSA9IHRoaXMuX3Byb2Nlc3NJbnB1dFBhcmFtcyhpbnB1dCk7XG4gICAgY29uc3QgaGFuZGxlUGFyc2VkID0gKHBhcnNlZExlZnQsIHBhcnNlZFJpZ2h0KSA9PiB7XG4gICAgICBpZiAoaXNBYm9ydGVkKHBhcnNlZExlZnQpIHx8IGlzQWJvcnRlZChwYXJzZWRSaWdodCkpIHtcbiAgICAgICAgcmV0dXJuIElOVkFMSUQ7XG4gICAgICB9XG4gICAgICBjb25zdCBtZXJnZWQgPSBtZXJnZVZhbHVlcyhwYXJzZWRMZWZ0LnZhbHVlLCBwYXJzZWRSaWdodC52YWx1ZSk7XG4gICAgICBpZiAoIW1lcmdlZC52YWxpZCkge1xuICAgICAgICBhZGRJc3N1ZVRvQ29udGV4dChjdHgsIHtcbiAgICAgICAgICBjb2RlOiBab2RJc3N1ZUNvZGUuaW52YWxpZF9pbnRlcnNlY3Rpb25fdHlwZXNcbiAgICAgICAgfSk7XG4gICAgICAgIHJldHVybiBJTlZBTElEO1xuICAgICAgfVxuICAgICAgaWYgKGlzRGlydHkocGFyc2VkTGVmdCkgfHwgaXNEaXJ0eShwYXJzZWRSaWdodCkpIHtcbiAgICAgICAgc3RhdHVzLmRpcnR5KCk7XG4gICAgICB9XG4gICAgICByZXR1cm4geyBzdGF0dXM6IHN0YXR1cy52YWx1ZSwgdmFsdWU6IG1lcmdlZC5kYXRhIH07XG4gICAgfTtcbiAgICBpZiAoY3R4LmNvbW1vbi5hc3luYykge1xuICAgICAgcmV0dXJuIFByb21pc2UuYWxsKFtcbiAgICAgICAgdGhpcy5fZGVmLmxlZnQuX3BhcnNlQXN5bmMoe1xuICAgICAgICAgIGRhdGE6IGN0eC5kYXRhLFxuICAgICAgICAgIHBhdGg6IGN0eC5wYXRoLFxuICAgICAgICAgIHBhcmVudDogY3R4XG4gICAgICAgIH0pLFxuICAgICAgICB0aGlzLl9kZWYucmlnaHQuX3BhcnNlQXN5bmMoe1xuICAgICAgICAgIGRhdGE6IGN0eC5kYXRhLFxuICAgICAgICAgIHBhdGg6IGN0eC5wYXRoLFxuICAgICAgICAgIHBhcmVudDogY3R4XG4gICAgICAgIH0pXG4gICAgICBdKS50aGVuKChbbGVmdCwgcmlnaHRdKSA9PiBoYW5kbGVQYXJzZWQobGVmdCwgcmlnaHQpKTtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIGhhbmRsZVBhcnNlZCh0aGlzLl9kZWYubGVmdC5fcGFyc2VTeW5jKHtcbiAgICAgICAgZGF0YTogY3R4LmRhdGEsXG4gICAgICAgIHBhdGg6IGN0eC5wYXRoLFxuICAgICAgICBwYXJlbnQ6IGN0eFxuICAgICAgfSksIHRoaXMuX2RlZi5yaWdodC5fcGFyc2VTeW5jKHtcbiAgICAgICAgZGF0YTogY3R4LmRhdGEsXG4gICAgICAgIHBhdGg6IGN0eC5wYXRoLFxuICAgICAgICBwYXJlbnQ6IGN0eFxuICAgICAgfSkpO1xuICAgIH1cbiAgfVxufTtcblpvZEludGVyc2VjdGlvbi5jcmVhdGUgPSAobGVmdCwgcmlnaHQsIHBhcmFtcykgPT4ge1xuICByZXR1cm4gbmV3IFpvZEludGVyc2VjdGlvbih7XG4gICAgbGVmdCxcbiAgICByaWdodCxcbiAgICB0eXBlTmFtZTogWm9kRmlyc3RQYXJ0eVR5cGVLaW5kLlpvZEludGVyc2VjdGlvbixcbiAgICAuLi5wcm9jZXNzQ3JlYXRlUGFyYW1zKHBhcmFtcylcbiAgfSk7XG59O1xudmFyIFpvZFR1cGxlID0gY2xhc3MgX1pvZFR1cGxlIGV4dGVuZHMgWm9kVHlwZSB7XG4gIF9wYXJzZShpbnB1dCkge1xuICAgIGNvbnN0IHsgc3RhdHVzLCBjdHggfSA9IHRoaXMuX3Byb2Nlc3NJbnB1dFBhcmFtcyhpbnB1dCk7XG4gICAgaWYgKGN0eC5wYXJzZWRUeXBlICE9PSBab2RQYXJzZWRUeXBlLmFycmF5KSB7XG4gICAgICBhZGRJc3N1ZVRvQ29udGV4dChjdHgsIHtcbiAgICAgICAgY29kZTogWm9kSXNzdWVDb2RlLmludmFsaWRfdHlwZSxcbiAgICAgICAgZXhwZWN0ZWQ6IFpvZFBhcnNlZFR5cGUuYXJyYXksXG4gICAgICAgIHJlY2VpdmVkOiBjdHgucGFyc2VkVHlwZVxuICAgICAgfSk7XG4gICAgICByZXR1cm4gSU5WQUxJRDtcbiAgICB9XG4gICAgaWYgKGN0eC5kYXRhLmxlbmd0aCA8IHRoaXMuX2RlZi5pdGVtcy5sZW5ndGgpIHtcbiAgICAgIGFkZElzc3VlVG9Db250ZXh0KGN0eCwge1xuICAgICAgICBjb2RlOiBab2RJc3N1ZUNvZGUudG9vX3NtYWxsLFxuICAgICAgICBtaW5pbXVtOiB0aGlzLl9kZWYuaXRlbXMubGVuZ3RoLFxuICAgICAgICBpbmNsdXNpdmU6IHRydWUsXG4gICAgICAgIGV4YWN0OiBmYWxzZSxcbiAgICAgICAgdHlwZTogXCJhcnJheVwiXG4gICAgICB9KTtcbiAgICAgIHJldHVybiBJTlZBTElEO1xuICAgIH1cbiAgICBjb25zdCByZXN0ID0gdGhpcy5fZGVmLnJlc3Q7XG4gICAgaWYgKCFyZXN0ICYmIGN0eC5kYXRhLmxlbmd0aCA+IHRoaXMuX2RlZi5pdGVtcy5sZW5ndGgpIHtcbiAgICAgIGFkZElzc3VlVG9Db250ZXh0KGN0eCwge1xuICAgICAgICBjb2RlOiBab2RJc3N1ZUNvZGUudG9vX2JpZyxcbiAgICAgICAgbWF4aW11bTogdGhpcy5fZGVmLml0ZW1zLmxlbmd0aCxcbiAgICAgICAgaW5jbHVzaXZlOiB0cnVlLFxuICAgICAgICBleGFjdDogZmFsc2UsXG4gICAgICAgIHR5cGU6IFwiYXJyYXlcIlxuICAgICAgfSk7XG4gICAgICBzdGF0dXMuZGlydHkoKTtcbiAgICB9XG4gICAgY29uc3QgaXRlbXMgPSBbLi4uY3R4LmRhdGFdLm1hcCgoaXRlbSwgaXRlbUluZGV4KSA9PiB7XG4gICAgICBjb25zdCBzY2hlbWEgPSB0aGlzLl9kZWYuaXRlbXNbaXRlbUluZGV4XSB8fCB0aGlzLl9kZWYucmVzdDtcbiAgICAgIGlmICghc2NoZW1hKVxuICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgIHJldHVybiBzY2hlbWEuX3BhcnNlKG5ldyBQYXJzZUlucHV0TGF6eVBhdGgoY3R4LCBpdGVtLCBjdHgucGF0aCwgaXRlbUluZGV4KSk7XG4gICAgfSkuZmlsdGVyKCh4KSA9PiAhIXgpO1xuICAgIGlmIChjdHguY29tbW9uLmFzeW5jKSB7XG4gICAgICByZXR1cm4gUHJvbWlzZS5hbGwoaXRlbXMpLnRoZW4oKHJlc3VsdHMpID0+IHtcbiAgICAgICAgcmV0dXJuIFBhcnNlU3RhdHVzLm1lcmdlQXJyYXkoc3RhdHVzLCByZXN1bHRzKTtcbiAgICAgIH0pO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gUGFyc2VTdGF0dXMubWVyZ2VBcnJheShzdGF0dXMsIGl0ZW1zKTtcbiAgICB9XG4gIH1cbiAgZ2V0IGl0ZW1zKCkge1xuICAgIHJldHVybiB0aGlzLl9kZWYuaXRlbXM7XG4gIH1cbiAgcmVzdChyZXN0KSB7XG4gICAgcmV0dXJuIG5ldyBfWm9kVHVwbGUoe1xuICAgICAgLi4udGhpcy5fZGVmLFxuICAgICAgcmVzdFxuICAgIH0pO1xuICB9XG59O1xuWm9kVHVwbGUuY3JlYXRlID0gKHNjaGVtYXMsIHBhcmFtcykgPT4ge1xuICBpZiAoIUFycmF5LmlzQXJyYXkoc2NoZW1hcykpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoXCJZb3UgbXVzdCBwYXNzIGFuIGFycmF5IG9mIHNjaGVtYXMgdG8gei50dXBsZShbIC4uLiBdKVwiKTtcbiAgfVxuICByZXR1cm4gbmV3IFpvZFR1cGxlKHtcbiAgICBpdGVtczogc2NoZW1hcyxcbiAgICB0eXBlTmFtZTogWm9kRmlyc3RQYXJ0eVR5cGVLaW5kLlpvZFR1cGxlLFxuICAgIHJlc3Q6IG51bGwsXG4gICAgLi4ucHJvY2Vzc0NyZWF0ZVBhcmFtcyhwYXJhbXMpXG4gIH0pO1xufTtcbnZhciBab2RSZWNvcmQgPSBjbGFzcyBfWm9kUmVjb3JkIGV4dGVuZHMgWm9kVHlwZSB7XG4gIGdldCBrZXlTY2hlbWEoKSB7XG4gICAgcmV0dXJuIHRoaXMuX2RlZi5rZXlUeXBlO1xuICB9XG4gIGdldCB2YWx1ZVNjaGVtYSgpIHtcbiAgICByZXR1cm4gdGhpcy5fZGVmLnZhbHVlVHlwZTtcbiAgfVxuICBfcGFyc2UoaW5wdXQpIHtcbiAgICBjb25zdCB7IHN0YXR1cywgY3R4IH0gPSB0aGlzLl9wcm9jZXNzSW5wdXRQYXJhbXMoaW5wdXQpO1xuICAgIGlmIChjdHgucGFyc2VkVHlwZSAhPT0gWm9kUGFyc2VkVHlwZS5vYmplY3QpIHtcbiAgICAgIGFkZElzc3VlVG9Db250ZXh0KGN0eCwge1xuICAgICAgICBjb2RlOiBab2RJc3N1ZUNvZGUuaW52YWxpZF90eXBlLFxuICAgICAgICBleHBlY3RlZDogWm9kUGFyc2VkVHlwZS5vYmplY3QsXG4gICAgICAgIHJlY2VpdmVkOiBjdHgucGFyc2VkVHlwZVxuICAgICAgfSk7XG4gICAgICByZXR1cm4gSU5WQUxJRDtcbiAgICB9XG4gICAgY29uc3QgcGFpcnMgPSBbXTtcbiAgICBjb25zdCBrZXlUeXBlID0gdGhpcy5fZGVmLmtleVR5cGU7XG4gICAgY29uc3QgdmFsdWVUeXBlID0gdGhpcy5fZGVmLnZhbHVlVHlwZTtcbiAgICBmb3IgKGNvbnN0IGtleSBpbiBjdHguZGF0YSkge1xuICAgICAgcGFpcnMucHVzaCh7XG4gICAgICAgIGtleToga2V5VHlwZS5fcGFyc2UobmV3IFBhcnNlSW5wdXRMYXp5UGF0aChjdHgsIGtleSwgY3R4LnBhdGgsIGtleSkpLFxuICAgICAgICB2YWx1ZTogdmFsdWVUeXBlLl9wYXJzZShuZXcgUGFyc2VJbnB1dExhenlQYXRoKGN0eCwgY3R4LmRhdGFba2V5XSwgY3R4LnBhdGgsIGtleSkpLFxuICAgICAgICBhbHdheXNTZXQ6IGtleSBpbiBjdHguZGF0YVxuICAgICAgfSk7XG4gICAgfVxuICAgIGlmIChjdHguY29tbW9uLmFzeW5jKSB7XG4gICAgICByZXR1cm4gUGFyc2VTdGF0dXMubWVyZ2VPYmplY3RBc3luYyhzdGF0dXMsIHBhaXJzKTtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIFBhcnNlU3RhdHVzLm1lcmdlT2JqZWN0U3luYyhzdGF0dXMsIHBhaXJzKTtcbiAgICB9XG4gIH1cbiAgZ2V0IGVsZW1lbnQoKSB7XG4gICAgcmV0dXJuIHRoaXMuX2RlZi52YWx1ZVR5cGU7XG4gIH1cbiAgc3RhdGljIGNyZWF0ZShmaXJzdCwgc2Vjb25kLCB0aGlyZCkge1xuICAgIGlmIChzZWNvbmQgaW5zdGFuY2VvZiBab2RUeXBlKSB7XG4gICAgICByZXR1cm4gbmV3IF9ab2RSZWNvcmQoe1xuICAgICAgICBrZXlUeXBlOiBmaXJzdCxcbiAgICAgICAgdmFsdWVUeXBlOiBzZWNvbmQsXG4gICAgICAgIHR5cGVOYW1lOiBab2RGaXJzdFBhcnR5VHlwZUtpbmQuWm9kUmVjb3JkLFxuICAgICAgICAuLi5wcm9jZXNzQ3JlYXRlUGFyYW1zKHRoaXJkKVxuICAgICAgfSk7XG4gICAgfVxuICAgIHJldHVybiBuZXcgX1pvZFJlY29yZCh7XG4gICAgICBrZXlUeXBlOiBab2RTdHJpbmcuY3JlYXRlKCksXG4gICAgICB2YWx1ZVR5cGU6IGZpcnN0LFxuICAgICAgdHlwZU5hbWU6IFpvZEZpcnN0UGFydHlUeXBlS2luZC5ab2RSZWNvcmQsXG4gICAgICAuLi5wcm9jZXNzQ3JlYXRlUGFyYW1zKHNlY29uZClcbiAgICB9KTtcbiAgfVxufTtcbnZhciBab2RNYXAgPSBjbGFzcyBleHRlbmRzIFpvZFR5cGUge1xuICBnZXQga2V5U2NoZW1hKCkge1xuICAgIHJldHVybiB0aGlzLl9kZWYua2V5VHlwZTtcbiAgfVxuICBnZXQgdmFsdWVTY2hlbWEoKSB7XG4gICAgcmV0dXJuIHRoaXMuX2RlZi52YWx1ZVR5cGU7XG4gIH1cbiAgX3BhcnNlKGlucHV0KSB7XG4gICAgY29uc3QgeyBzdGF0dXMsIGN0eCB9ID0gdGhpcy5fcHJvY2Vzc0lucHV0UGFyYW1zKGlucHV0KTtcbiAgICBpZiAoY3R4LnBhcnNlZFR5cGUgIT09IFpvZFBhcnNlZFR5cGUubWFwKSB7XG4gICAgICBhZGRJc3N1ZVRvQ29udGV4dChjdHgsIHtcbiAgICAgICAgY29kZTogWm9kSXNzdWVDb2RlLmludmFsaWRfdHlwZSxcbiAgICAgICAgZXhwZWN0ZWQ6IFpvZFBhcnNlZFR5cGUubWFwLFxuICAgICAgICByZWNlaXZlZDogY3R4LnBhcnNlZFR5cGVcbiAgICAgIH0pO1xuICAgICAgcmV0dXJuIElOVkFMSUQ7XG4gICAgfVxuICAgIGNvbnN0IGtleVR5cGUgPSB0aGlzLl9kZWYua2V5VHlwZTtcbiAgICBjb25zdCB2YWx1ZVR5cGUgPSB0aGlzLl9kZWYudmFsdWVUeXBlO1xuICAgIGNvbnN0IHBhaXJzID0gWy4uLmN0eC5kYXRhLmVudHJpZXMoKV0ubWFwKChba2V5LCB2YWx1ZV0sIGluZGV4KSA9PiB7XG4gICAgICByZXR1cm4ge1xuICAgICAgICBrZXk6IGtleVR5cGUuX3BhcnNlKG5ldyBQYXJzZUlucHV0TGF6eVBhdGgoY3R4LCBrZXksIGN0eC5wYXRoLCBbaW5kZXgsIFwia2V5XCJdKSksXG4gICAgICAgIHZhbHVlOiB2YWx1ZVR5cGUuX3BhcnNlKG5ldyBQYXJzZUlucHV0TGF6eVBhdGgoY3R4LCB2YWx1ZSwgY3R4LnBhdGgsIFtpbmRleCwgXCJ2YWx1ZVwiXSkpXG4gICAgICB9O1xuICAgIH0pO1xuICAgIGlmIChjdHguY29tbW9uLmFzeW5jKSB7XG4gICAgICBjb25zdCBmaW5hbE1hcCA9IC8qIEBfX1BVUkVfXyAqLyBuZXcgTWFwKCk7XG4gICAgICByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKCkudGhlbihhc3luYyAoKSA9PiB7XG4gICAgICAgIGZvciAoY29uc3QgcGFpciBvZiBwYWlycykge1xuICAgICAgICAgIGNvbnN0IGtleSA9IGF3YWl0IHBhaXIua2V5O1xuICAgICAgICAgIGNvbnN0IHZhbHVlID0gYXdhaXQgcGFpci52YWx1ZTtcbiAgICAgICAgICBpZiAoa2V5LnN0YXR1cyA9PT0gXCJhYm9ydGVkXCIgfHwgdmFsdWUuc3RhdHVzID09PSBcImFib3J0ZWRcIikge1xuICAgICAgICAgICAgcmV0dXJuIElOVkFMSUQ7XG4gICAgICAgICAgfVxuICAgICAgICAgIGlmIChrZXkuc3RhdHVzID09PSBcImRpcnR5XCIgfHwgdmFsdWUuc3RhdHVzID09PSBcImRpcnR5XCIpIHtcbiAgICAgICAgICAgIHN0YXR1cy5kaXJ0eSgpO1xuICAgICAgICAgIH1cbiAgICAgICAgICBmaW5hbE1hcC5zZXQoa2V5LnZhbHVlLCB2YWx1ZS52YWx1ZSk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHsgc3RhdHVzOiBzdGF0dXMudmFsdWUsIHZhbHVlOiBmaW5hbE1hcCB9O1xuICAgICAgfSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGNvbnN0IGZpbmFsTWFwID0gLyogQF9fUFVSRV9fICovIG5ldyBNYXAoKTtcbiAgICAgIGZvciAoY29uc3QgcGFpciBvZiBwYWlycykge1xuICAgICAgICBjb25zdCBrZXkgPSBwYWlyLmtleTtcbiAgICAgICAgY29uc3QgdmFsdWUgPSBwYWlyLnZhbHVlO1xuICAgICAgICBpZiAoa2V5LnN0YXR1cyA9PT0gXCJhYm9ydGVkXCIgfHwgdmFsdWUuc3RhdHVzID09PSBcImFib3J0ZWRcIikge1xuICAgICAgICAgIHJldHVybiBJTlZBTElEO1xuICAgICAgICB9XG4gICAgICAgIGlmIChrZXkuc3RhdHVzID09PSBcImRpcnR5XCIgfHwgdmFsdWUuc3RhdHVzID09PSBcImRpcnR5XCIpIHtcbiAgICAgICAgICBzdGF0dXMuZGlydHkoKTtcbiAgICAgICAgfVxuICAgICAgICBmaW5hbE1hcC5zZXQoa2V5LnZhbHVlLCB2YWx1ZS52YWx1ZSk7XG4gICAgICB9XG4gICAgICByZXR1cm4geyBzdGF0dXM6IHN0YXR1cy52YWx1ZSwgdmFsdWU6IGZpbmFsTWFwIH07XG4gICAgfVxuICB9XG59O1xuWm9kTWFwLmNyZWF0ZSA9IChrZXlUeXBlLCB2YWx1ZVR5cGUsIHBhcmFtcykgPT4ge1xuICByZXR1cm4gbmV3IFpvZE1hcCh7XG4gICAgdmFsdWVUeXBlLFxuICAgIGtleVR5cGUsXG4gICAgdHlwZU5hbWU6IFpvZEZpcnN0UGFydHlUeXBlS2luZC5ab2RNYXAsXG4gICAgLi4ucHJvY2Vzc0NyZWF0ZVBhcmFtcyhwYXJhbXMpXG4gIH0pO1xufTtcbnZhciBab2RTZXQgPSBjbGFzcyBfWm9kU2V0IGV4dGVuZHMgWm9kVHlwZSB7XG4gIF9wYXJzZShpbnB1dCkge1xuICAgIGNvbnN0IHsgc3RhdHVzLCBjdHggfSA9IHRoaXMuX3Byb2Nlc3NJbnB1dFBhcmFtcyhpbnB1dCk7XG4gICAgaWYgKGN0eC5wYXJzZWRUeXBlICE9PSBab2RQYXJzZWRUeXBlLnNldCkge1xuICAgICAgYWRkSXNzdWVUb0NvbnRleHQoY3R4LCB7XG4gICAgICAgIGNvZGU6IFpvZElzc3VlQ29kZS5pbnZhbGlkX3R5cGUsXG4gICAgICAgIGV4cGVjdGVkOiBab2RQYXJzZWRUeXBlLnNldCxcbiAgICAgICAgcmVjZWl2ZWQ6IGN0eC5wYXJzZWRUeXBlXG4gICAgICB9KTtcbiAgICAgIHJldHVybiBJTlZBTElEO1xuICAgIH1cbiAgICBjb25zdCBkZWYgPSB0aGlzLl9kZWY7XG4gICAgaWYgKGRlZi5taW5TaXplICE9PSBudWxsKSB7XG4gICAgICBpZiAoY3R4LmRhdGEuc2l6ZSA8IGRlZi5taW5TaXplLnZhbHVlKSB7XG4gICAgICAgIGFkZElzc3VlVG9Db250ZXh0KGN0eCwge1xuICAgICAgICAgIGNvZGU6IFpvZElzc3VlQ29kZS50b29fc21hbGwsXG4gICAgICAgICAgbWluaW11bTogZGVmLm1pblNpemUudmFsdWUsXG4gICAgICAgICAgdHlwZTogXCJzZXRcIixcbiAgICAgICAgICBpbmNsdXNpdmU6IHRydWUsXG4gICAgICAgICAgZXhhY3Q6IGZhbHNlLFxuICAgICAgICAgIG1lc3NhZ2U6IGRlZi5taW5TaXplLm1lc3NhZ2VcbiAgICAgICAgfSk7XG4gICAgICAgIHN0YXR1cy5kaXJ0eSgpO1xuICAgICAgfVxuICAgIH1cbiAgICBpZiAoZGVmLm1heFNpemUgIT09IG51bGwpIHtcbiAgICAgIGlmIChjdHguZGF0YS5zaXplID4gZGVmLm1heFNpemUudmFsdWUpIHtcbiAgICAgICAgYWRkSXNzdWVUb0NvbnRleHQoY3R4LCB7XG4gICAgICAgICAgY29kZTogWm9kSXNzdWVDb2RlLnRvb19iaWcsXG4gICAgICAgICAgbWF4aW11bTogZGVmLm1heFNpemUudmFsdWUsXG4gICAgICAgICAgdHlwZTogXCJzZXRcIixcbiAgICAgICAgICBpbmNsdXNpdmU6IHRydWUsXG4gICAgICAgICAgZXhhY3Q6IGZhbHNlLFxuICAgICAgICAgIG1lc3NhZ2U6IGRlZi5tYXhTaXplLm1lc3NhZ2VcbiAgICAgICAgfSk7XG4gICAgICAgIHN0YXR1cy5kaXJ0eSgpO1xuICAgICAgfVxuICAgIH1cbiAgICBjb25zdCB2YWx1ZVR5cGUgPSB0aGlzLl9kZWYudmFsdWVUeXBlO1xuICAgIGZ1bmN0aW9uIGZpbmFsaXplU2V0KGVsZW1lbnRzMikge1xuICAgICAgY29uc3QgcGFyc2VkU2V0ID0gLyogQF9fUFVSRV9fICovIG5ldyBTZXQoKTtcbiAgICAgIGZvciAoY29uc3QgZWxlbWVudCBvZiBlbGVtZW50czIpIHtcbiAgICAgICAgaWYgKGVsZW1lbnQuc3RhdHVzID09PSBcImFib3J0ZWRcIilcbiAgICAgICAgICByZXR1cm4gSU5WQUxJRDtcbiAgICAgICAgaWYgKGVsZW1lbnQuc3RhdHVzID09PSBcImRpcnR5XCIpXG4gICAgICAgICAgc3RhdHVzLmRpcnR5KCk7XG4gICAgICAgIHBhcnNlZFNldC5hZGQoZWxlbWVudC52YWx1ZSk7XG4gICAgICB9XG4gICAgICByZXR1cm4geyBzdGF0dXM6IHN0YXR1cy52YWx1ZSwgdmFsdWU6IHBhcnNlZFNldCB9O1xuICAgIH1cbiAgICBjb25zdCBlbGVtZW50cyA9IFsuLi5jdHguZGF0YS52YWx1ZXMoKV0ubWFwKChpdGVtLCBpKSA9PiB2YWx1ZVR5cGUuX3BhcnNlKG5ldyBQYXJzZUlucHV0TGF6eVBhdGgoY3R4LCBpdGVtLCBjdHgucGF0aCwgaSkpKTtcbiAgICBpZiAoY3R4LmNvbW1vbi5hc3luYykge1xuICAgICAgcmV0dXJuIFByb21pc2UuYWxsKGVsZW1lbnRzKS50aGVuKChlbGVtZW50czIpID0+IGZpbmFsaXplU2V0KGVsZW1lbnRzMikpO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gZmluYWxpemVTZXQoZWxlbWVudHMpO1xuICAgIH1cbiAgfVxuICBtaW4obWluU2l6ZSwgbWVzc2FnZSkge1xuICAgIHJldHVybiBuZXcgX1pvZFNldCh7XG4gICAgICAuLi50aGlzLl9kZWYsXG4gICAgICBtaW5TaXplOiB7IHZhbHVlOiBtaW5TaXplLCBtZXNzYWdlOiBlcnJvclV0aWwudG9TdHJpbmcobWVzc2FnZSkgfVxuICAgIH0pO1xuICB9XG4gIG1heChtYXhTaXplLCBtZXNzYWdlKSB7XG4gICAgcmV0dXJuIG5ldyBfWm9kU2V0KHtcbiAgICAgIC4uLnRoaXMuX2RlZixcbiAgICAgIG1heFNpemU6IHsgdmFsdWU6IG1heFNpemUsIG1lc3NhZ2U6IGVycm9yVXRpbC50b1N0cmluZyhtZXNzYWdlKSB9XG4gICAgfSk7XG4gIH1cbiAgc2l6ZShzaXplLCBtZXNzYWdlKSB7XG4gICAgcmV0dXJuIHRoaXMubWluKHNpemUsIG1lc3NhZ2UpLm1heChzaXplLCBtZXNzYWdlKTtcbiAgfVxuICBub25lbXB0eShtZXNzYWdlKSB7XG4gICAgcmV0dXJuIHRoaXMubWluKDEsIG1lc3NhZ2UpO1xuICB9XG59O1xuWm9kU2V0LmNyZWF0ZSA9ICh2YWx1ZVR5cGUsIHBhcmFtcykgPT4ge1xuICByZXR1cm4gbmV3IFpvZFNldCh7XG4gICAgdmFsdWVUeXBlLFxuICAgIG1pblNpemU6IG51bGwsXG4gICAgbWF4U2l6ZTogbnVsbCxcbiAgICB0eXBlTmFtZTogWm9kRmlyc3RQYXJ0eVR5cGVLaW5kLlpvZFNldCxcbiAgICAuLi5wcm9jZXNzQ3JlYXRlUGFyYW1zKHBhcmFtcylcbiAgfSk7XG59O1xudmFyIFpvZEZ1bmN0aW9uID0gY2xhc3MgX1pvZEZ1bmN0aW9uIGV4dGVuZHMgWm9kVHlwZSB7XG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIHN1cGVyKC4uLmFyZ3VtZW50cyk7XG4gICAgdGhpcy52YWxpZGF0ZSA9IHRoaXMuaW1wbGVtZW50O1xuICB9XG4gIF9wYXJzZShpbnB1dCkge1xuICAgIGNvbnN0IHsgY3R4IH0gPSB0aGlzLl9wcm9jZXNzSW5wdXRQYXJhbXMoaW5wdXQpO1xuICAgIGlmIChjdHgucGFyc2VkVHlwZSAhPT0gWm9kUGFyc2VkVHlwZS5mdW5jdGlvbikge1xuICAgICAgYWRkSXNzdWVUb0NvbnRleHQoY3R4LCB7XG4gICAgICAgIGNvZGU6IFpvZElzc3VlQ29kZS5pbnZhbGlkX3R5cGUsXG4gICAgICAgIGV4cGVjdGVkOiBab2RQYXJzZWRUeXBlLmZ1bmN0aW9uLFxuICAgICAgICByZWNlaXZlZDogY3R4LnBhcnNlZFR5cGVcbiAgICAgIH0pO1xuICAgICAgcmV0dXJuIElOVkFMSUQ7XG4gICAgfVxuICAgIGZ1bmN0aW9uIG1ha2VBcmdzSXNzdWUoYXJncywgZXJyb3IpIHtcbiAgICAgIHJldHVybiBtYWtlSXNzdWUoe1xuICAgICAgICBkYXRhOiBhcmdzLFxuICAgICAgICBwYXRoOiBjdHgucGF0aCxcbiAgICAgICAgZXJyb3JNYXBzOiBbXG4gICAgICAgICAgY3R4LmNvbW1vbi5jb250ZXh0dWFsRXJyb3JNYXAsXG4gICAgICAgICAgY3R4LnNjaGVtYUVycm9yTWFwLFxuICAgICAgICAgIGdldEVycm9yTWFwKCksXG4gICAgICAgICAgZXJyb3JNYXBcbiAgICAgICAgXS5maWx0ZXIoKHgpID0+ICEheCksXG4gICAgICAgIGlzc3VlRGF0YToge1xuICAgICAgICAgIGNvZGU6IFpvZElzc3VlQ29kZS5pbnZhbGlkX2FyZ3VtZW50cyxcbiAgICAgICAgICBhcmd1bWVudHNFcnJvcjogZXJyb3JcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgfVxuICAgIGZ1bmN0aW9uIG1ha2VSZXR1cm5zSXNzdWUocmV0dXJucywgZXJyb3IpIHtcbiAgICAgIHJldHVybiBtYWtlSXNzdWUoe1xuICAgICAgICBkYXRhOiByZXR1cm5zLFxuICAgICAgICBwYXRoOiBjdHgucGF0aCxcbiAgICAgICAgZXJyb3JNYXBzOiBbXG4gICAgICAgICAgY3R4LmNvbW1vbi5jb250ZXh0dWFsRXJyb3JNYXAsXG4gICAgICAgICAgY3R4LnNjaGVtYUVycm9yTWFwLFxuICAgICAgICAgIGdldEVycm9yTWFwKCksXG4gICAgICAgICAgZXJyb3JNYXBcbiAgICAgICAgXS5maWx0ZXIoKHgpID0+ICEheCksXG4gICAgICAgIGlzc3VlRGF0YToge1xuICAgICAgICAgIGNvZGU6IFpvZElzc3VlQ29kZS5pbnZhbGlkX3JldHVybl90eXBlLFxuICAgICAgICAgIHJldHVyblR5cGVFcnJvcjogZXJyb3JcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgfVxuICAgIGNvbnN0IHBhcmFtcyA9IHsgZXJyb3JNYXA6IGN0eC5jb21tb24uY29udGV4dHVhbEVycm9yTWFwIH07XG4gICAgY29uc3QgZm4gPSBjdHguZGF0YTtcbiAgICBpZiAodGhpcy5fZGVmLnJldHVybnMgaW5zdGFuY2VvZiBab2RQcm9taXNlKSB7XG4gICAgICBjb25zdCBtZSA9IHRoaXM7XG4gICAgICByZXR1cm4gT0soYXN5bmMgZnVuY3Rpb24oLi4uYXJncykge1xuICAgICAgICBjb25zdCBlcnJvciA9IG5ldyBab2RFcnJvcihbXSk7XG4gICAgICAgIGNvbnN0IHBhcnNlZEFyZ3MgPSBhd2FpdCBtZS5fZGVmLmFyZ3MucGFyc2VBc3luYyhhcmdzLCBwYXJhbXMpLmNhdGNoKChlKSA9PiB7XG4gICAgICAgICAgZXJyb3IuYWRkSXNzdWUobWFrZUFyZ3NJc3N1ZShhcmdzLCBlKSk7XG4gICAgICAgICAgdGhyb3cgZXJyb3I7XG4gICAgICAgIH0pO1xuICAgICAgICBjb25zdCByZXN1bHQgPSBhd2FpdCBSZWZsZWN0LmFwcGx5KGZuLCB0aGlzLCBwYXJzZWRBcmdzKTtcbiAgICAgICAgY29uc3QgcGFyc2VkUmV0dXJucyA9IGF3YWl0IG1lLl9kZWYucmV0dXJucy5fZGVmLnR5cGUucGFyc2VBc3luYyhyZXN1bHQsIHBhcmFtcykuY2F0Y2goKGUpID0+IHtcbiAgICAgICAgICBlcnJvci5hZGRJc3N1ZShtYWtlUmV0dXJuc0lzc3VlKHJlc3VsdCwgZSkpO1xuICAgICAgICAgIHRocm93IGVycm9yO1xuICAgICAgICB9KTtcbiAgICAgICAgcmV0dXJuIHBhcnNlZFJldHVybnM7XG4gICAgICB9KTtcbiAgICB9IGVsc2Uge1xuICAgICAgY29uc3QgbWUgPSB0aGlzO1xuICAgICAgcmV0dXJuIE9LKGZ1bmN0aW9uKC4uLmFyZ3MpIHtcbiAgICAgICAgY29uc3QgcGFyc2VkQXJncyA9IG1lLl9kZWYuYXJncy5zYWZlUGFyc2UoYXJncywgcGFyYW1zKTtcbiAgICAgICAgaWYgKCFwYXJzZWRBcmdzLnN1Y2Nlc3MpIHtcbiAgICAgICAgICB0aHJvdyBuZXcgWm9kRXJyb3IoW21ha2VBcmdzSXNzdWUoYXJncywgcGFyc2VkQXJncy5lcnJvcildKTtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCByZXN1bHQgPSBSZWZsZWN0LmFwcGx5KGZuLCB0aGlzLCBwYXJzZWRBcmdzLmRhdGEpO1xuICAgICAgICBjb25zdCBwYXJzZWRSZXR1cm5zID0gbWUuX2RlZi5yZXR1cm5zLnNhZmVQYXJzZShyZXN1bHQsIHBhcmFtcyk7XG4gICAgICAgIGlmICghcGFyc2VkUmV0dXJucy5zdWNjZXNzKSB7XG4gICAgICAgICAgdGhyb3cgbmV3IFpvZEVycm9yKFttYWtlUmV0dXJuc0lzc3VlKHJlc3VsdCwgcGFyc2VkUmV0dXJucy5lcnJvcildKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gcGFyc2VkUmV0dXJucy5kYXRhO1xuICAgICAgfSk7XG4gICAgfVxuICB9XG4gIHBhcmFtZXRlcnMoKSB7XG4gICAgcmV0dXJuIHRoaXMuX2RlZi5hcmdzO1xuICB9XG4gIHJldHVyblR5cGUoKSB7XG4gICAgcmV0dXJuIHRoaXMuX2RlZi5yZXR1cm5zO1xuICB9XG4gIGFyZ3MoLi4uaXRlbXMpIHtcbiAgICByZXR1cm4gbmV3IF9ab2RGdW5jdGlvbih7XG4gICAgICAuLi50aGlzLl9kZWYsXG4gICAgICBhcmdzOiBab2RUdXBsZS5jcmVhdGUoaXRlbXMpLnJlc3QoWm9kVW5rbm93bi5jcmVhdGUoKSlcbiAgICB9KTtcbiAgfVxuICByZXR1cm5zKHJldHVyblR5cGUpIHtcbiAgICByZXR1cm4gbmV3IF9ab2RGdW5jdGlvbih7XG4gICAgICAuLi50aGlzLl9kZWYsXG4gICAgICByZXR1cm5zOiByZXR1cm5UeXBlXG4gICAgfSk7XG4gIH1cbiAgaW1wbGVtZW50KGZ1bmMpIHtcbiAgICBjb25zdCB2YWxpZGF0ZWRGdW5jID0gdGhpcy5wYXJzZShmdW5jKTtcbiAgICByZXR1cm4gdmFsaWRhdGVkRnVuYztcbiAgfVxuICBzdHJpY3RJbXBsZW1lbnQoZnVuYykge1xuICAgIGNvbnN0IHZhbGlkYXRlZEZ1bmMgPSB0aGlzLnBhcnNlKGZ1bmMpO1xuICAgIHJldHVybiB2YWxpZGF0ZWRGdW5jO1xuICB9XG4gIHN0YXRpYyBjcmVhdGUoYXJncywgcmV0dXJucywgcGFyYW1zKSB7XG4gICAgcmV0dXJuIG5ldyBfWm9kRnVuY3Rpb24oe1xuICAgICAgYXJnczogYXJncyA/IGFyZ3MgOiBab2RUdXBsZS5jcmVhdGUoW10pLnJlc3QoWm9kVW5rbm93bi5jcmVhdGUoKSksXG4gICAgICByZXR1cm5zOiByZXR1cm5zIHx8IFpvZFVua25vd24uY3JlYXRlKCksXG4gICAgICB0eXBlTmFtZTogWm9kRmlyc3RQYXJ0eVR5cGVLaW5kLlpvZEZ1bmN0aW9uLFxuICAgICAgLi4ucHJvY2Vzc0NyZWF0ZVBhcmFtcyhwYXJhbXMpXG4gICAgfSk7XG4gIH1cbn07XG52YXIgWm9kTGF6eSA9IGNsYXNzIGV4dGVuZHMgWm9kVHlwZSB7XG4gIGdldCBzY2hlbWEoKSB7XG4gICAgcmV0dXJuIHRoaXMuX2RlZi5nZXR0ZXIoKTtcbiAgfVxuICBfcGFyc2UoaW5wdXQpIHtcbiAgICBjb25zdCB7IGN0eCB9ID0gdGhpcy5fcHJvY2Vzc0lucHV0UGFyYW1zKGlucHV0KTtcbiAgICBjb25zdCBsYXp5U2NoZW1hID0gdGhpcy5fZGVmLmdldHRlcigpO1xuICAgIHJldHVybiBsYXp5U2NoZW1hLl9wYXJzZSh7IGRhdGE6IGN0eC5kYXRhLCBwYXRoOiBjdHgucGF0aCwgcGFyZW50OiBjdHggfSk7XG4gIH1cbn07XG5ab2RMYXp5LmNyZWF0ZSA9IChnZXR0ZXIsIHBhcmFtcykgPT4ge1xuICByZXR1cm4gbmV3IFpvZExhenkoe1xuICAgIGdldHRlcixcbiAgICB0eXBlTmFtZTogWm9kRmlyc3RQYXJ0eVR5cGVLaW5kLlpvZExhenksXG4gICAgLi4ucHJvY2Vzc0NyZWF0ZVBhcmFtcyhwYXJhbXMpXG4gIH0pO1xufTtcbnZhciBab2RMaXRlcmFsID0gY2xhc3MgZXh0ZW5kcyBab2RUeXBlIHtcbiAgX3BhcnNlKGlucHV0KSB7XG4gICAgaWYgKGlucHV0LmRhdGEgIT09IHRoaXMuX2RlZi52YWx1ZSkge1xuICAgICAgY29uc3QgY3R4ID0gdGhpcy5fZ2V0T3JSZXR1cm5DdHgoaW5wdXQpO1xuICAgICAgYWRkSXNzdWVUb0NvbnRleHQoY3R4LCB7XG4gICAgICAgIHJlY2VpdmVkOiBjdHguZGF0YSxcbiAgICAgICAgY29kZTogWm9kSXNzdWVDb2RlLmludmFsaWRfbGl0ZXJhbCxcbiAgICAgICAgZXhwZWN0ZWQ6IHRoaXMuX2RlZi52YWx1ZVxuICAgICAgfSk7XG4gICAgICByZXR1cm4gSU5WQUxJRDtcbiAgICB9XG4gICAgcmV0dXJuIHsgc3RhdHVzOiBcInZhbGlkXCIsIHZhbHVlOiBpbnB1dC5kYXRhIH07XG4gIH1cbiAgZ2V0IHZhbHVlKCkge1xuICAgIHJldHVybiB0aGlzLl9kZWYudmFsdWU7XG4gIH1cbn07XG5ab2RMaXRlcmFsLmNyZWF0ZSA9ICh2YWx1ZSwgcGFyYW1zKSA9PiB7XG4gIHJldHVybiBuZXcgWm9kTGl0ZXJhbCh7XG4gICAgdmFsdWUsXG4gICAgdHlwZU5hbWU6IFpvZEZpcnN0UGFydHlUeXBlS2luZC5ab2RMaXRlcmFsLFxuICAgIC4uLnByb2Nlc3NDcmVhdGVQYXJhbXMocGFyYW1zKVxuICB9KTtcbn07XG5mdW5jdGlvbiBjcmVhdGVab2RFbnVtKHZhbHVlcywgcGFyYW1zKSB7XG4gIHJldHVybiBuZXcgWm9kRW51bSh7XG4gICAgdmFsdWVzLFxuICAgIHR5cGVOYW1lOiBab2RGaXJzdFBhcnR5VHlwZUtpbmQuWm9kRW51bSxcbiAgICAuLi5wcm9jZXNzQ3JlYXRlUGFyYW1zKHBhcmFtcylcbiAgfSk7XG59XG52YXIgWm9kRW51bSA9IGNsYXNzIF9ab2RFbnVtIGV4dGVuZHMgWm9kVHlwZSB7XG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIHN1cGVyKC4uLmFyZ3VtZW50cyk7XG4gICAgX1pvZEVudW1fY2FjaGUuc2V0KHRoaXMsIHZvaWQgMCk7XG4gIH1cbiAgX3BhcnNlKGlucHV0KSB7XG4gICAgaWYgKHR5cGVvZiBpbnB1dC5kYXRhICE9PSBcInN0cmluZ1wiKSB7XG4gICAgICBjb25zdCBjdHggPSB0aGlzLl9nZXRPclJldHVybkN0eChpbnB1dCk7XG4gICAgICBjb25zdCBleHBlY3RlZFZhbHVlcyA9IHRoaXMuX2RlZi52YWx1ZXM7XG4gICAgICBhZGRJc3N1ZVRvQ29udGV4dChjdHgsIHtcbiAgICAgICAgZXhwZWN0ZWQ6IHV0aWwuam9pblZhbHVlcyhleHBlY3RlZFZhbHVlcyksXG4gICAgICAgIHJlY2VpdmVkOiBjdHgucGFyc2VkVHlwZSxcbiAgICAgICAgY29kZTogWm9kSXNzdWVDb2RlLmludmFsaWRfdHlwZVxuICAgICAgfSk7XG4gICAgICByZXR1cm4gSU5WQUxJRDtcbiAgICB9XG4gICAgaWYgKCFfX2NsYXNzUHJpdmF0ZUZpZWxkR2V0KHRoaXMsIF9ab2RFbnVtX2NhY2hlLCBcImZcIikpIHtcbiAgICAgIF9fY2xhc3NQcml2YXRlRmllbGRTZXQodGhpcywgX1pvZEVudW1fY2FjaGUsIG5ldyBTZXQodGhpcy5fZGVmLnZhbHVlcyksIFwiZlwiKTtcbiAgICB9XG4gICAgaWYgKCFfX2NsYXNzUHJpdmF0ZUZpZWxkR2V0KHRoaXMsIF9ab2RFbnVtX2NhY2hlLCBcImZcIikuaGFzKGlucHV0LmRhdGEpKSB7XG4gICAgICBjb25zdCBjdHggPSB0aGlzLl9nZXRPclJldHVybkN0eChpbnB1dCk7XG4gICAgICBjb25zdCBleHBlY3RlZFZhbHVlcyA9IHRoaXMuX2RlZi52YWx1ZXM7XG4gICAgICBhZGRJc3N1ZVRvQ29udGV4dChjdHgsIHtcbiAgICAgICAgcmVjZWl2ZWQ6IGN0eC5kYXRhLFxuICAgICAgICBjb2RlOiBab2RJc3N1ZUNvZGUuaW52YWxpZF9lbnVtX3ZhbHVlLFxuICAgICAgICBvcHRpb25zOiBleHBlY3RlZFZhbHVlc1xuICAgICAgfSk7XG4gICAgICByZXR1cm4gSU5WQUxJRDtcbiAgICB9XG4gICAgcmV0dXJuIE9LKGlucHV0LmRhdGEpO1xuICB9XG4gIGdldCBvcHRpb25zKCkge1xuICAgIHJldHVybiB0aGlzLl9kZWYudmFsdWVzO1xuICB9XG4gIGdldCBlbnVtKCkge1xuICAgIGNvbnN0IGVudW1WYWx1ZXMgPSB7fTtcbiAgICBmb3IgKGNvbnN0IHZhbCBvZiB0aGlzLl9kZWYudmFsdWVzKSB7XG4gICAgICBlbnVtVmFsdWVzW3ZhbF0gPSB2YWw7XG4gICAgfVxuICAgIHJldHVybiBlbnVtVmFsdWVzO1xuICB9XG4gIGdldCBWYWx1ZXMoKSB7XG4gICAgY29uc3QgZW51bVZhbHVlcyA9IHt9O1xuICAgIGZvciAoY29uc3QgdmFsIG9mIHRoaXMuX2RlZi52YWx1ZXMpIHtcbiAgICAgIGVudW1WYWx1ZXNbdmFsXSA9IHZhbDtcbiAgICB9XG4gICAgcmV0dXJuIGVudW1WYWx1ZXM7XG4gIH1cbiAgZ2V0IEVudW0oKSB7XG4gICAgY29uc3QgZW51bVZhbHVlcyA9IHt9O1xuICAgIGZvciAoY29uc3QgdmFsIG9mIHRoaXMuX2RlZi52YWx1ZXMpIHtcbiAgICAgIGVudW1WYWx1ZXNbdmFsXSA9IHZhbDtcbiAgICB9XG4gICAgcmV0dXJuIGVudW1WYWx1ZXM7XG4gIH1cbiAgZXh0cmFjdCh2YWx1ZXMsIG5ld0RlZiA9IHRoaXMuX2RlZikge1xuICAgIHJldHVybiBfWm9kRW51bS5jcmVhdGUodmFsdWVzLCB7XG4gICAgICAuLi50aGlzLl9kZWYsXG4gICAgICAuLi5uZXdEZWZcbiAgICB9KTtcbiAgfVxuICBleGNsdWRlKHZhbHVlcywgbmV3RGVmID0gdGhpcy5fZGVmKSB7XG4gICAgcmV0dXJuIF9ab2RFbnVtLmNyZWF0ZSh0aGlzLm9wdGlvbnMuZmlsdGVyKChvcHQpID0+ICF2YWx1ZXMuaW5jbHVkZXMob3B0KSksIHtcbiAgICAgIC4uLnRoaXMuX2RlZixcbiAgICAgIC4uLm5ld0RlZlxuICAgIH0pO1xuICB9XG59O1xuX1pvZEVudW1fY2FjaGUgPSAvKiBAX19QVVJFX18gKi8gbmV3IFdlYWtNYXAoKTtcblpvZEVudW0uY3JlYXRlID0gY3JlYXRlWm9kRW51bTtcbnZhciBab2ROYXRpdmVFbnVtID0gY2xhc3MgZXh0ZW5kcyBab2RUeXBlIHtcbiAgY29uc3RydWN0b3IoKSB7XG4gICAgc3VwZXIoLi4uYXJndW1lbnRzKTtcbiAgICBfWm9kTmF0aXZlRW51bV9jYWNoZS5zZXQodGhpcywgdm9pZCAwKTtcbiAgfVxuICBfcGFyc2UoaW5wdXQpIHtcbiAgICBjb25zdCBuYXRpdmVFbnVtVmFsdWVzID0gdXRpbC5nZXRWYWxpZEVudW1WYWx1ZXModGhpcy5fZGVmLnZhbHVlcyk7XG4gICAgY29uc3QgY3R4ID0gdGhpcy5fZ2V0T3JSZXR1cm5DdHgoaW5wdXQpO1xuICAgIGlmIChjdHgucGFyc2VkVHlwZSAhPT0gWm9kUGFyc2VkVHlwZS5zdHJpbmcgJiYgY3R4LnBhcnNlZFR5cGUgIT09IFpvZFBhcnNlZFR5cGUubnVtYmVyKSB7XG4gICAgICBjb25zdCBleHBlY3RlZFZhbHVlcyA9IHV0aWwub2JqZWN0VmFsdWVzKG5hdGl2ZUVudW1WYWx1ZXMpO1xuICAgICAgYWRkSXNzdWVUb0NvbnRleHQoY3R4LCB7XG4gICAgICAgIGV4cGVjdGVkOiB1dGlsLmpvaW5WYWx1ZXMoZXhwZWN0ZWRWYWx1ZXMpLFxuICAgICAgICByZWNlaXZlZDogY3R4LnBhcnNlZFR5cGUsXG4gICAgICAgIGNvZGU6IFpvZElzc3VlQ29kZS5pbnZhbGlkX3R5cGVcbiAgICAgIH0pO1xuICAgICAgcmV0dXJuIElOVkFMSUQ7XG4gICAgfVxuICAgIGlmICghX19jbGFzc1ByaXZhdGVGaWVsZEdldCh0aGlzLCBfWm9kTmF0aXZlRW51bV9jYWNoZSwgXCJmXCIpKSB7XG4gICAgICBfX2NsYXNzUHJpdmF0ZUZpZWxkU2V0KHRoaXMsIF9ab2ROYXRpdmVFbnVtX2NhY2hlLCBuZXcgU2V0KHV0aWwuZ2V0VmFsaWRFbnVtVmFsdWVzKHRoaXMuX2RlZi52YWx1ZXMpKSwgXCJmXCIpO1xuICAgIH1cbiAgICBpZiAoIV9fY2xhc3NQcml2YXRlRmllbGRHZXQodGhpcywgX1pvZE5hdGl2ZUVudW1fY2FjaGUsIFwiZlwiKS5oYXMoaW5wdXQuZGF0YSkpIHtcbiAgICAgIGNvbnN0IGV4cGVjdGVkVmFsdWVzID0gdXRpbC5vYmplY3RWYWx1ZXMobmF0aXZlRW51bVZhbHVlcyk7XG4gICAgICBhZGRJc3N1ZVRvQ29udGV4dChjdHgsIHtcbiAgICAgICAgcmVjZWl2ZWQ6IGN0eC5kYXRhLFxuICAgICAgICBjb2RlOiBab2RJc3N1ZUNvZGUuaW52YWxpZF9lbnVtX3ZhbHVlLFxuICAgICAgICBvcHRpb25zOiBleHBlY3RlZFZhbHVlc1xuICAgICAgfSk7XG4gICAgICByZXR1cm4gSU5WQUxJRDtcbiAgICB9XG4gICAgcmV0dXJuIE9LKGlucHV0LmRhdGEpO1xuICB9XG4gIGdldCBlbnVtKCkge1xuICAgIHJldHVybiB0aGlzLl9kZWYudmFsdWVzO1xuICB9XG59O1xuX1pvZE5hdGl2ZUVudW1fY2FjaGUgPSAvKiBAX19QVVJFX18gKi8gbmV3IFdlYWtNYXAoKTtcblpvZE5hdGl2ZUVudW0uY3JlYXRlID0gKHZhbHVlcywgcGFyYW1zKSA9PiB7XG4gIHJldHVybiBuZXcgWm9kTmF0aXZlRW51bSh7XG4gICAgdmFsdWVzLFxuICAgIHR5cGVOYW1lOiBab2RGaXJzdFBhcnR5VHlwZUtpbmQuWm9kTmF0aXZlRW51bSxcbiAgICAuLi5wcm9jZXNzQ3JlYXRlUGFyYW1zKHBhcmFtcylcbiAgfSk7XG59O1xudmFyIFpvZFByb21pc2UgPSBjbGFzcyBleHRlbmRzIFpvZFR5cGUge1xuICB1bndyYXAoKSB7XG4gICAgcmV0dXJuIHRoaXMuX2RlZi50eXBlO1xuICB9XG4gIF9wYXJzZShpbnB1dCkge1xuICAgIGNvbnN0IHsgY3R4IH0gPSB0aGlzLl9wcm9jZXNzSW5wdXRQYXJhbXMoaW5wdXQpO1xuICAgIGlmIChjdHgucGFyc2VkVHlwZSAhPT0gWm9kUGFyc2VkVHlwZS5wcm9taXNlICYmIGN0eC5jb21tb24uYXN5bmMgPT09IGZhbHNlKSB7XG4gICAgICBhZGRJc3N1ZVRvQ29udGV4dChjdHgsIHtcbiAgICAgICAgY29kZTogWm9kSXNzdWVDb2RlLmludmFsaWRfdHlwZSxcbiAgICAgICAgZXhwZWN0ZWQ6IFpvZFBhcnNlZFR5cGUucHJvbWlzZSxcbiAgICAgICAgcmVjZWl2ZWQ6IGN0eC5wYXJzZWRUeXBlXG4gICAgICB9KTtcbiAgICAgIHJldHVybiBJTlZBTElEO1xuICAgIH1cbiAgICBjb25zdCBwcm9taXNpZmllZCA9IGN0eC5wYXJzZWRUeXBlID09PSBab2RQYXJzZWRUeXBlLnByb21pc2UgPyBjdHguZGF0YSA6IFByb21pc2UucmVzb2x2ZShjdHguZGF0YSk7XG4gICAgcmV0dXJuIE9LKHByb21pc2lmaWVkLnRoZW4oKGRhdGEpID0+IHtcbiAgICAgIHJldHVybiB0aGlzLl9kZWYudHlwZS5wYXJzZUFzeW5jKGRhdGEsIHtcbiAgICAgICAgcGF0aDogY3R4LnBhdGgsXG4gICAgICAgIGVycm9yTWFwOiBjdHguY29tbW9uLmNvbnRleHR1YWxFcnJvck1hcFxuICAgICAgfSk7XG4gICAgfSkpO1xuICB9XG59O1xuWm9kUHJvbWlzZS5jcmVhdGUgPSAoc2NoZW1hLCBwYXJhbXMpID0+IHtcbiAgcmV0dXJuIG5ldyBab2RQcm9taXNlKHtcbiAgICB0eXBlOiBzY2hlbWEsXG4gICAgdHlwZU5hbWU6IFpvZEZpcnN0UGFydHlUeXBlS2luZC5ab2RQcm9taXNlLFxuICAgIC4uLnByb2Nlc3NDcmVhdGVQYXJhbXMocGFyYW1zKVxuICB9KTtcbn07XG52YXIgWm9kRWZmZWN0cyA9IGNsYXNzIGV4dGVuZHMgWm9kVHlwZSB7XG4gIGlubmVyVHlwZSgpIHtcbiAgICByZXR1cm4gdGhpcy5fZGVmLnNjaGVtYTtcbiAgfVxuICBzb3VyY2VUeXBlKCkge1xuICAgIHJldHVybiB0aGlzLl9kZWYuc2NoZW1hLl9kZWYudHlwZU5hbWUgPT09IFpvZEZpcnN0UGFydHlUeXBlS2luZC5ab2RFZmZlY3RzID8gdGhpcy5fZGVmLnNjaGVtYS5zb3VyY2VUeXBlKCkgOiB0aGlzLl9kZWYuc2NoZW1hO1xuICB9XG4gIF9wYXJzZShpbnB1dCkge1xuICAgIGNvbnN0IHsgc3RhdHVzLCBjdHggfSA9IHRoaXMuX3Byb2Nlc3NJbnB1dFBhcmFtcyhpbnB1dCk7XG4gICAgY29uc3QgZWZmZWN0ID0gdGhpcy5fZGVmLmVmZmVjdCB8fCBudWxsO1xuICAgIGNvbnN0IGNoZWNrQ3R4ID0ge1xuICAgICAgYWRkSXNzdWU6IChhcmcpID0+IHtcbiAgICAgICAgYWRkSXNzdWVUb0NvbnRleHQoY3R4LCBhcmcpO1xuICAgICAgICBpZiAoYXJnLmZhdGFsKSB7XG4gICAgICAgICAgc3RhdHVzLmFib3J0KCk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgc3RhdHVzLmRpcnR5KCk7XG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgICBnZXQgcGF0aCgpIHtcbiAgICAgICAgcmV0dXJuIGN0eC5wYXRoO1xuICAgICAgfVxuICAgIH07XG4gICAgY2hlY2tDdHguYWRkSXNzdWUgPSBjaGVja0N0eC5hZGRJc3N1ZS5iaW5kKGNoZWNrQ3R4KTtcbiAgICBpZiAoZWZmZWN0LnR5cGUgPT09IFwicHJlcHJvY2Vzc1wiKSB7XG4gICAgICBjb25zdCBwcm9jZXNzZWQgPSBlZmZlY3QudHJhbnNmb3JtKGN0eC5kYXRhLCBjaGVja0N0eCk7XG4gICAgICBpZiAoY3R4LmNvbW1vbi5hc3luYykge1xuICAgICAgICByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKHByb2Nlc3NlZCkudGhlbihhc3luYyAocHJvY2Vzc2VkMikgPT4ge1xuICAgICAgICAgIGlmIChzdGF0dXMudmFsdWUgPT09IFwiYWJvcnRlZFwiKVxuICAgICAgICAgICAgcmV0dXJuIElOVkFMSUQ7XG4gICAgICAgICAgY29uc3QgcmVzdWx0ID0gYXdhaXQgdGhpcy5fZGVmLnNjaGVtYS5fcGFyc2VBc3luYyh7XG4gICAgICAgICAgICBkYXRhOiBwcm9jZXNzZWQyLFxuICAgICAgICAgICAgcGF0aDogY3R4LnBhdGgsXG4gICAgICAgICAgICBwYXJlbnQ6IGN0eFxuICAgICAgICAgIH0pO1xuICAgICAgICAgIGlmIChyZXN1bHQuc3RhdHVzID09PSBcImFib3J0ZWRcIilcbiAgICAgICAgICAgIHJldHVybiBJTlZBTElEO1xuICAgICAgICAgIGlmIChyZXN1bHQuc3RhdHVzID09PSBcImRpcnR5XCIpXG4gICAgICAgICAgICByZXR1cm4gRElSVFkocmVzdWx0LnZhbHVlKTtcbiAgICAgICAgICBpZiAoc3RhdHVzLnZhbHVlID09PSBcImRpcnR5XCIpXG4gICAgICAgICAgICByZXR1cm4gRElSVFkocmVzdWx0LnZhbHVlKTtcbiAgICAgICAgICByZXR1cm4gcmVzdWx0O1xuICAgICAgICB9KTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGlmIChzdGF0dXMudmFsdWUgPT09IFwiYWJvcnRlZFwiKVxuICAgICAgICAgIHJldHVybiBJTlZBTElEO1xuICAgICAgICBjb25zdCByZXN1bHQgPSB0aGlzLl9kZWYuc2NoZW1hLl9wYXJzZVN5bmMoe1xuICAgICAgICAgIGRhdGE6IHByb2Nlc3NlZCxcbiAgICAgICAgICBwYXRoOiBjdHgucGF0aCxcbiAgICAgICAgICBwYXJlbnQ6IGN0eFxuICAgICAgICB9KTtcbiAgICAgICAgaWYgKHJlc3VsdC5zdGF0dXMgPT09IFwiYWJvcnRlZFwiKVxuICAgICAgICAgIHJldHVybiBJTlZBTElEO1xuICAgICAgICBpZiAocmVzdWx0LnN0YXR1cyA9PT0gXCJkaXJ0eVwiKVxuICAgICAgICAgIHJldHVybiBESVJUWShyZXN1bHQudmFsdWUpO1xuICAgICAgICBpZiAoc3RhdHVzLnZhbHVlID09PSBcImRpcnR5XCIpXG4gICAgICAgICAgcmV0dXJuIERJUlRZKHJlc3VsdC52YWx1ZSk7XG4gICAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgICB9XG4gICAgfVxuICAgIGlmIChlZmZlY3QudHlwZSA9PT0gXCJyZWZpbmVtZW50XCIpIHtcbiAgICAgIGNvbnN0IGV4ZWN1dGVSZWZpbmVtZW50ID0gKGFjYykgPT4ge1xuICAgICAgICBjb25zdCByZXN1bHQgPSBlZmZlY3QucmVmaW5lbWVudChhY2MsIGNoZWNrQ3R4KTtcbiAgICAgICAgaWYgKGN0eC5jb21tb24uYXN5bmMpIHtcbiAgICAgICAgICByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKHJlc3VsdCk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHJlc3VsdCBpbnN0YW5jZW9mIFByb21pc2UpIHtcbiAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXCJBc3luYyByZWZpbmVtZW50IGVuY291bnRlcmVkIGR1cmluZyBzeW5jaHJvbm91cyBwYXJzZSBvcGVyYXRpb24uIFVzZSAucGFyc2VBc3luYyBpbnN0ZWFkLlwiKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gYWNjO1xuICAgICAgfTtcbiAgICAgIGlmIChjdHguY29tbW9uLmFzeW5jID09PSBmYWxzZSkge1xuICAgICAgICBjb25zdCBpbm5lciA9IHRoaXMuX2RlZi5zY2hlbWEuX3BhcnNlU3luYyh7XG4gICAgICAgICAgZGF0YTogY3R4LmRhdGEsXG4gICAgICAgICAgcGF0aDogY3R4LnBhdGgsXG4gICAgICAgICAgcGFyZW50OiBjdHhcbiAgICAgICAgfSk7XG4gICAgICAgIGlmIChpbm5lci5zdGF0dXMgPT09IFwiYWJvcnRlZFwiKVxuICAgICAgICAgIHJldHVybiBJTlZBTElEO1xuICAgICAgICBpZiAoaW5uZXIuc3RhdHVzID09PSBcImRpcnR5XCIpXG4gICAgICAgICAgc3RhdHVzLmRpcnR5KCk7XG4gICAgICAgIGV4ZWN1dGVSZWZpbmVtZW50KGlubmVyLnZhbHVlKTtcbiAgICAgICAgcmV0dXJuIHsgc3RhdHVzOiBzdGF0dXMudmFsdWUsIHZhbHVlOiBpbm5lci52YWx1ZSB9O1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2RlZi5zY2hlbWEuX3BhcnNlQXN5bmMoeyBkYXRhOiBjdHguZGF0YSwgcGF0aDogY3R4LnBhdGgsIHBhcmVudDogY3R4IH0pLnRoZW4oKGlubmVyKSA9PiB7XG4gICAgICAgICAgaWYgKGlubmVyLnN0YXR1cyA9PT0gXCJhYm9ydGVkXCIpXG4gICAgICAgICAgICByZXR1cm4gSU5WQUxJRDtcbiAgICAgICAgICBpZiAoaW5uZXIuc3RhdHVzID09PSBcImRpcnR5XCIpXG4gICAgICAgICAgICBzdGF0dXMuZGlydHkoKTtcbiAgICAgICAgICByZXR1cm4gZXhlY3V0ZVJlZmluZW1lbnQoaW5uZXIudmFsdWUpLnRoZW4oKCkgPT4ge1xuICAgICAgICAgICAgcmV0dXJuIHsgc3RhdHVzOiBzdGF0dXMudmFsdWUsIHZhbHVlOiBpbm5lci52YWx1ZSB9O1xuICAgICAgICAgIH0pO1xuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICB9XG4gICAgaWYgKGVmZmVjdC50eXBlID09PSBcInRyYW5zZm9ybVwiKSB7XG4gICAgICBpZiAoY3R4LmNvbW1vbi5hc3luYyA9PT0gZmFsc2UpIHtcbiAgICAgICAgY29uc3QgYmFzZSA9IHRoaXMuX2RlZi5zY2hlbWEuX3BhcnNlU3luYyh7XG4gICAgICAgICAgZGF0YTogY3R4LmRhdGEsXG4gICAgICAgICAgcGF0aDogY3R4LnBhdGgsXG4gICAgICAgICAgcGFyZW50OiBjdHhcbiAgICAgICAgfSk7XG4gICAgICAgIGlmICghaXNWYWxpZChiYXNlKSlcbiAgICAgICAgICByZXR1cm4gYmFzZTtcbiAgICAgICAgY29uc3QgcmVzdWx0ID0gZWZmZWN0LnRyYW5zZm9ybShiYXNlLnZhbHVlLCBjaGVja0N0eCk7XG4gICAgICAgIGlmIChyZXN1bHQgaW5zdGFuY2VvZiBQcm9taXNlKSB7XG4gICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBBc3luY2hyb25vdXMgdHJhbnNmb3JtIGVuY291bnRlcmVkIGR1cmluZyBzeW5jaHJvbm91cyBwYXJzZSBvcGVyYXRpb24uIFVzZSAucGFyc2VBc3luYyBpbnN0ZWFkLmApO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiB7IHN0YXR1czogc3RhdHVzLnZhbHVlLCB2YWx1ZTogcmVzdWx0IH07XG4gICAgICB9IGVsc2Uge1xuICAgICAgICByZXR1cm4gdGhpcy5fZGVmLnNjaGVtYS5fcGFyc2VBc3luYyh7IGRhdGE6IGN0eC5kYXRhLCBwYXRoOiBjdHgucGF0aCwgcGFyZW50OiBjdHggfSkudGhlbigoYmFzZSkgPT4ge1xuICAgICAgICAgIGlmICghaXNWYWxpZChiYXNlKSlcbiAgICAgICAgICAgIHJldHVybiBiYXNlO1xuICAgICAgICAgIHJldHVybiBQcm9taXNlLnJlc29sdmUoZWZmZWN0LnRyYW5zZm9ybShiYXNlLnZhbHVlLCBjaGVja0N0eCkpLnRoZW4oKHJlc3VsdCkgPT4gKHsgc3RhdHVzOiBzdGF0dXMudmFsdWUsIHZhbHVlOiByZXN1bHQgfSkpO1xuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICB9XG4gICAgdXRpbC5hc3NlcnROZXZlcihlZmZlY3QpO1xuICB9XG59O1xuWm9kRWZmZWN0cy5jcmVhdGUgPSAoc2NoZW1hLCBlZmZlY3QsIHBhcmFtcykgPT4ge1xuICByZXR1cm4gbmV3IFpvZEVmZmVjdHMoe1xuICAgIHNjaGVtYSxcbiAgICB0eXBlTmFtZTogWm9kRmlyc3RQYXJ0eVR5cGVLaW5kLlpvZEVmZmVjdHMsXG4gICAgZWZmZWN0LFxuICAgIC4uLnByb2Nlc3NDcmVhdGVQYXJhbXMocGFyYW1zKVxuICB9KTtcbn07XG5ab2RFZmZlY3RzLmNyZWF0ZVdpdGhQcmVwcm9jZXNzID0gKHByZXByb2Nlc3MsIHNjaGVtYSwgcGFyYW1zKSA9PiB7XG4gIHJldHVybiBuZXcgWm9kRWZmZWN0cyh7XG4gICAgc2NoZW1hLFxuICAgIGVmZmVjdDogeyB0eXBlOiBcInByZXByb2Nlc3NcIiwgdHJhbnNmb3JtOiBwcmVwcm9jZXNzIH0sXG4gICAgdHlwZU5hbWU6IFpvZEZpcnN0UGFydHlUeXBlS2luZC5ab2RFZmZlY3RzLFxuICAgIC4uLnByb2Nlc3NDcmVhdGVQYXJhbXMocGFyYW1zKVxuICB9KTtcbn07XG52YXIgWm9kT3B0aW9uYWwgPSBjbGFzcyBleHRlbmRzIFpvZFR5cGUge1xuICBfcGFyc2UoaW5wdXQpIHtcbiAgICBjb25zdCBwYXJzZWRUeXBlID0gdGhpcy5fZ2V0VHlwZShpbnB1dCk7XG4gICAgaWYgKHBhcnNlZFR5cGUgPT09IFpvZFBhcnNlZFR5cGUudW5kZWZpbmVkKSB7XG4gICAgICByZXR1cm4gT0sodm9pZCAwKTtcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMuX2RlZi5pbm5lclR5cGUuX3BhcnNlKGlucHV0KTtcbiAgfVxuICB1bndyYXAoKSB7XG4gICAgcmV0dXJuIHRoaXMuX2RlZi5pbm5lclR5cGU7XG4gIH1cbn07XG5ab2RPcHRpb25hbC5jcmVhdGUgPSAodHlwZSwgcGFyYW1zKSA9PiB7XG4gIHJldHVybiBuZXcgWm9kT3B0aW9uYWwoe1xuICAgIGlubmVyVHlwZTogdHlwZSxcbiAgICB0eXBlTmFtZTogWm9kRmlyc3RQYXJ0eVR5cGVLaW5kLlpvZE9wdGlvbmFsLFxuICAgIC4uLnByb2Nlc3NDcmVhdGVQYXJhbXMocGFyYW1zKVxuICB9KTtcbn07XG52YXIgWm9kTnVsbGFibGUgPSBjbGFzcyBleHRlbmRzIFpvZFR5cGUge1xuICBfcGFyc2UoaW5wdXQpIHtcbiAgICBjb25zdCBwYXJzZWRUeXBlID0gdGhpcy5fZ2V0VHlwZShpbnB1dCk7XG4gICAgaWYgKHBhcnNlZFR5cGUgPT09IFpvZFBhcnNlZFR5cGUubnVsbCkge1xuICAgICAgcmV0dXJuIE9LKG51bGwpO1xuICAgIH1cbiAgICByZXR1cm4gdGhpcy5fZGVmLmlubmVyVHlwZS5fcGFyc2UoaW5wdXQpO1xuICB9XG4gIHVud3JhcCgpIHtcbiAgICByZXR1cm4gdGhpcy5fZGVmLmlubmVyVHlwZTtcbiAgfVxufTtcblpvZE51bGxhYmxlLmNyZWF0ZSA9ICh0eXBlLCBwYXJhbXMpID0+IHtcbiAgcmV0dXJuIG5ldyBab2ROdWxsYWJsZSh7XG4gICAgaW5uZXJUeXBlOiB0eXBlLFxuICAgIHR5cGVOYW1lOiBab2RGaXJzdFBhcnR5VHlwZUtpbmQuWm9kTnVsbGFibGUsXG4gICAgLi4ucHJvY2Vzc0NyZWF0ZVBhcmFtcyhwYXJhbXMpXG4gIH0pO1xufTtcbnZhciBab2REZWZhdWx0ID0gY2xhc3MgZXh0ZW5kcyBab2RUeXBlIHtcbiAgX3BhcnNlKGlucHV0KSB7XG4gICAgY29uc3QgeyBjdHggfSA9IHRoaXMuX3Byb2Nlc3NJbnB1dFBhcmFtcyhpbnB1dCk7XG4gICAgbGV0IGRhdGEgPSBjdHguZGF0YTtcbiAgICBpZiAoY3R4LnBhcnNlZFR5cGUgPT09IFpvZFBhcnNlZFR5cGUudW5kZWZpbmVkKSB7XG4gICAgICBkYXRhID0gdGhpcy5fZGVmLmRlZmF1bHRWYWx1ZSgpO1xuICAgIH1cbiAgICByZXR1cm4gdGhpcy5fZGVmLmlubmVyVHlwZS5fcGFyc2Uoe1xuICAgICAgZGF0YSxcbiAgICAgIHBhdGg6IGN0eC5wYXRoLFxuICAgICAgcGFyZW50OiBjdHhcbiAgICB9KTtcbiAgfVxuICByZW1vdmVEZWZhdWx0KCkge1xuICAgIHJldHVybiB0aGlzLl9kZWYuaW5uZXJUeXBlO1xuICB9XG59O1xuWm9kRGVmYXVsdC5jcmVhdGUgPSAodHlwZSwgcGFyYW1zKSA9PiB7XG4gIHJldHVybiBuZXcgWm9kRGVmYXVsdCh7XG4gICAgaW5uZXJUeXBlOiB0eXBlLFxuICAgIHR5cGVOYW1lOiBab2RGaXJzdFBhcnR5VHlwZUtpbmQuWm9kRGVmYXVsdCxcbiAgICBkZWZhdWx0VmFsdWU6IHR5cGVvZiBwYXJhbXMuZGVmYXVsdCA9PT0gXCJmdW5jdGlvblwiID8gcGFyYW1zLmRlZmF1bHQgOiAoKSA9PiBwYXJhbXMuZGVmYXVsdCxcbiAgICAuLi5wcm9jZXNzQ3JlYXRlUGFyYW1zKHBhcmFtcylcbiAgfSk7XG59O1xudmFyIFpvZENhdGNoID0gY2xhc3MgZXh0ZW5kcyBab2RUeXBlIHtcbiAgX3BhcnNlKGlucHV0KSB7XG4gICAgY29uc3QgeyBjdHggfSA9IHRoaXMuX3Byb2Nlc3NJbnB1dFBhcmFtcyhpbnB1dCk7XG4gICAgY29uc3QgbmV3Q3R4ID0ge1xuICAgICAgLi4uY3R4LFxuICAgICAgY29tbW9uOiB7XG4gICAgICAgIC4uLmN0eC5jb21tb24sXG4gICAgICAgIGlzc3VlczogW11cbiAgICAgIH1cbiAgICB9O1xuICAgIGNvbnN0IHJlc3VsdCA9IHRoaXMuX2RlZi5pbm5lclR5cGUuX3BhcnNlKHtcbiAgICAgIGRhdGE6IG5ld0N0eC5kYXRhLFxuICAgICAgcGF0aDogbmV3Q3R4LnBhdGgsXG4gICAgICBwYXJlbnQ6IHtcbiAgICAgICAgLi4ubmV3Q3R4XG4gICAgICB9XG4gICAgfSk7XG4gICAgaWYgKGlzQXN5bmMocmVzdWx0KSkge1xuICAgICAgcmV0dXJuIHJlc3VsdC50aGVuKChyZXN1bHQyKSA9PiB7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgc3RhdHVzOiBcInZhbGlkXCIsXG4gICAgICAgICAgdmFsdWU6IHJlc3VsdDIuc3RhdHVzID09PSBcInZhbGlkXCIgPyByZXN1bHQyLnZhbHVlIDogdGhpcy5fZGVmLmNhdGNoVmFsdWUoe1xuICAgICAgICAgICAgZ2V0IGVycm9yKCkge1xuICAgICAgICAgICAgICByZXR1cm4gbmV3IFpvZEVycm9yKG5ld0N0eC5jb21tb24uaXNzdWVzKTtcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBpbnB1dDogbmV3Q3R4LmRhdGFcbiAgICAgICAgICB9KVxuICAgICAgICB9O1xuICAgICAgfSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIHN0YXR1czogXCJ2YWxpZFwiLFxuICAgICAgICB2YWx1ZTogcmVzdWx0LnN0YXR1cyA9PT0gXCJ2YWxpZFwiID8gcmVzdWx0LnZhbHVlIDogdGhpcy5fZGVmLmNhdGNoVmFsdWUoe1xuICAgICAgICAgIGdldCBlcnJvcigpIHtcbiAgICAgICAgICAgIHJldHVybiBuZXcgWm9kRXJyb3IobmV3Q3R4LmNvbW1vbi5pc3N1ZXMpO1xuICAgICAgICAgIH0sXG4gICAgICAgICAgaW5wdXQ6IG5ld0N0eC5kYXRhXG4gICAgICAgIH0pXG4gICAgICB9O1xuICAgIH1cbiAgfVxuICByZW1vdmVDYXRjaCgpIHtcbiAgICByZXR1cm4gdGhpcy5fZGVmLmlubmVyVHlwZTtcbiAgfVxufTtcblpvZENhdGNoLmNyZWF0ZSA9ICh0eXBlLCBwYXJhbXMpID0+IHtcbiAgcmV0dXJuIG5ldyBab2RDYXRjaCh7XG4gICAgaW5uZXJUeXBlOiB0eXBlLFxuICAgIHR5cGVOYW1lOiBab2RGaXJzdFBhcnR5VHlwZUtpbmQuWm9kQ2F0Y2gsXG4gICAgY2F0Y2hWYWx1ZTogdHlwZW9mIHBhcmFtcy5jYXRjaCA9PT0gXCJmdW5jdGlvblwiID8gcGFyYW1zLmNhdGNoIDogKCkgPT4gcGFyYW1zLmNhdGNoLFxuICAgIC4uLnByb2Nlc3NDcmVhdGVQYXJhbXMocGFyYW1zKVxuICB9KTtcbn07XG52YXIgWm9kTmFOID0gY2xhc3MgZXh0ZW5kcyBab2RUeXBlIHtcbiAgX3BhcnNlKGlucHV0KSB7XG4gICAgY29uc3QgcGFyc2VkVHlwZSA9IHRoaXMuX2dldFR5cGUoaW5wdXQpO1xuICAgIGlmIChwYXJzZWRUeXBlICE9PSBab2RQYXJzZWRUeXBlLm5hbikge1xuICAgICAgY29uc3QgY3R4ID0gdGhpcy5fZ2V0T3JSZXR1cm5DdHgoaW5wdXQpO1xuICAgICAgYWRkSXNzdWVUb0NvbnRleHQoY3R4LCB7XG4gICAgICAgIGNvZGU6IFpvZElzc3VlQ29kZS5pbnZhbGlkX3R5cGUsXG4gICAgICAgIGV4cGVjdGVkOiBab2RQYXJzZWRUeXBlLm5hbixcbiAgICAgICAgcmVjZWl2ZWQ6IGN0eC5wYXJzZWRUeXBlXG4gICAgICB9KTtcbiAgICAgIHJldHVybiBJTlZBTElEO1xuICAgIH1cbiAgICByZXR1cm4geyBzdGF0dXM6IFwidmFsaWRcIiwgdmFsdWU6IGlucHV0LmRhdGEgfTtcbiAgfVxufTtcblpvZE5hTi5jcmVhdGUgPSAocGFyYW1zKSA9PiB7XG4gIHJldHVybiBuZXcgWm9kTmFOKHtcbiAgICB0eXBlTmFtZTogWm9kRmlyc3RQYXJ0eVR5cGVLaW5kLlpvZE5hTixcbiAgICAuLi5wcm9jZXNzQ3JlYXRlUGFyYW1zKHBhcmFtcylcbiAgfSk7XG59O1xudmFyIEJSQU5EID0gU3ltYm9sKFwiem9kX2JyYW5kXCIpO1xudmFyIFpvZEJyYW5kZWQgPSBjbGFzcyBleHRlbmRzIFpvZFR5cGUge1xuICBfcGFyc2UoaW5wdXQpIHtcbiAgICBjb25zdCB7IGN0eCB9ID0gdGhpcy5fcHJvY2Vzc0lucHV0UGFyYW1zKGlucHV0KTtcbiAgICBjb25zdCBkYXRhID0gY3R4LmRhdGE7XG4gICAgcmV0dXJuIHRoaXMuX2RlZi50eXBlLl9wYXJzZSh7XG4gICAgICBkYXRhLFxuICAgICAgcGF0aDogY3R4LnBhdGgsXG4gICAgICBwYXJlbnQ6IGN0eFxuICAgIH0pO1xuICB9XG4gIHVud3JhcCgpIHtcbiAgICByZXR1cm4gdGhpcy5fZGVmLnR5cGU7XG4gIH1cbn07XG52YXIgWm9kUGlwZWxpbmUgPSBjbGFzcyBfWm9kUGlwZWxpbmUgZXh0ZW5kcyBab2RUeXBlIHtcbiAgX3BhcnNlKGlucHV0KSB7XG4gICAgY29uc3QgeyBzdGF0dXMsIGN0eCB9ID0gdGhpcy5fcHJvY2Vzc0lucHV0UGFyYW1zKGlucHV0KTtcbiAgICBpZiAoY3R4LmNvbW1vbi5hc3luYykge1xuICAgICAgY29uc3QgaGFuZGxlQXN5bmMgPSBhc3luYyAoKSA9PiB7XG4gICAgICAgIGNvbnN0IGluUmVzdWx0ID0gYXdhaXQgdGhpcy5fZGVmLmluLl9wYXJzZUFzeW5jKHtcbiAgICAgICAgICBkYXRhOiBjdHguZGF0YSxcbiAgICAgICAgICBwYXRoOiBjdHgucGF0aCxcbiAgICAgICAgICBwYXJlbnQ6IGN0eFxuICAgICAgICB9KTtcbiAgICAgICAgaWYgKGluUmVzdWx0LnN0YXR1cyA9PT0gXCJhYm9ydGVkXCIpXG4gICAgICAgICAgcmV0dXJuIElOVkFMSUQ7XG4gICAgICAgIGlmIChpblJlc3VsdC5zdGF0dXMgPT09IFwiZGlydHlcIikge1xuICAgICAgICAgIHN0YXR1cy5kaXJ0eSgpO1xuICAgICAgICAgIHJldHVybiBESVJUWShpblJlc3VsdC52YWx1ZSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgcmV0dXJuIHRoaXMuX2RlZi5vdXQuX3BhcnNlQXN5bmMoe1xuICAgICAgICAgICAgZGF0YTogaW5SZXN1bHQudmFsdWUsXG4gICAgICAgICAgICBwYXRoOiBjdHgucGF0aCxcbiAgICAgICAgICAgIHBhcmVudDogY3R4XG4gICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICAgIH07XG4gICAgICByZXR1cm4gaGFuZGxlQXN5bmMoKTtcbiAgICB9IGVsc2Uge1xuICAgICAgY29uc3QgaW5SZXN1bHQgPSB0aGlzLl9kZWYuaW4uX3BhcnNlU3luYyh7XG4gICAgICAgIGRhdGE6IGN0eC5kYXRhLFxuICAgICAgICBwYXRoOiBjdHgucGF0aCxcbiAgICAgICAgcGFyZW50OiBjdHhcbiAgICAgIH0pO1xuICAgICAgaWYgKGluUmVzdWx0LnN0YXR1cyA9PT0gXCJhYm9ydGVkXCIpXG4gICAgICAgIHJldHVybiBJTlZBTElEO1xuICAgICAgaWYgKGluUmVzdWx0LnN0YXR1cyA9PT0gXCJkaXJ0eVwiKSB7XG4gICAgICAgIHN0YXR1cy5kaXJ0eSgpO1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgIHN0YXR1czogXCJkaXJ0eVwiLFxuICAgICAgICAgIHZhbHVlOiBpblJlc3VsdC52YWx1ZVxuICAgICAgICB9O1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2RlZi5vdXQuX3BhcnNlU3luYyh7XG4gICAgICAgICAgZGF0YTogaW5SZXN1bHQudmFsdWUsXG4gICAgICAgICAgcGF0aDogY3R4LnBhdGgsXG4gICAgICAgICAgcGFyZW50OiBjdHhcbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIHN0YXRpYyBjcmVhdGUoYSwgYikge1xuICAgIHJldHVybiBuZXcgX1pvZFBpcGVsaW5lKHtcbiAgICAgIGluOiBhLFxuICAgICAgb3V0OiBiLFxuICAgICAgdHlwZU5hbWU6IFpvZEZpcnN0UGFydHlUeXBlS2luZC5ab2RQaXBlbGluZVxuICAgIH0pO1xuICB9XG59O1xudmFyIFpvZFJlYWRvbmx5ID0gY2xhc3MgZXh0ZW5kcyBab2RUeXBlIHtcbiAgX3BhcnNlKGlucHV0KSB7XG4gICAgY29uc3QgcmVzdWx0ID0gdGhpcy5fZGVmLmlubmVyVHlwZS5fcGFyc2UoaW5wdXQpO1xuICAgIGNvbnN0IGZyZWV6ZSA9IChkYXRhKSA9PiB7XG4gICAgICBpZiAoaXNWYWxpZChkYXRhKSkge1xuICAgICAgICBkYXRhLnZhbHVlID0gT2JqZWN0LmZyZWV6ZShkYXRhLnZhbHVlKTtcbiAgICAgIH1cbiAgICAgIHJldHVybiBkYXRhO1xuICAgIH07XG4gICAgcmV0dXJuIGlzQXN5bmMocmVzdWx0KSA/IHJlc3VsdC50aGVuKChkYXRhKSA9PiBmcmVlemUoZGF0YSkpIDogZnJlZXplKHJlc3VsdCk7XG4gIH1cbiAgdW53cmFwKCkge1xuICAgIHJldHVybiB0aGlzLl9kZWYuaW5uZXJUeXBlO1xuICB9XG59O1xuWm9kUmVhZG9ubHkuY3JlYXRlID0gKHR5cGUsIHBhcmFtcykgPT4ge1xuICByZXR1cm4gbmV3IFpvZFJlYWRvbmx5KHtcbiAgICBpbm5lclR5cGU6IHR5cGUsXG4gICAgdHlwZU5hbWU6IFpvZEZpcnN0UGFydHlUeXBlS2luZC5ab2RSZWFkb25seSxcbiAgICAuLi5wcm9jZXNzQ3JlYXRlUGFyYW1zKHBhcmFtcylcbiAgfSk7XG59O1xuZnVuY3Rpb24gY2xlYW5QYXJhbXMocGFyYW1zLCBkYXRhKSB7XG4gIGNvbnN0IHAgPSB0eXBlb2YgcGFyYW1zID09PSBcImZ1bmN0aW9uXCIgPyBwYXJhbXMoZGF0YSkgOiB0eXBlb2YgcGFyYW1zID09PSBcInN0cmluZ1wiID8geyBtZXNzYWdlOiBwYXJhbXMgfSA6IHBhcmFtcztcbiAgY29uc3QgcDIgPSB0eXBlb2YgcCA9PT0gXCJzdHJpbmdcIiA/IHsgbWVzc2FnZTogcCB9IDogcDtcbiAgcmV0dXJuIHAyO1xufVxuZnVuY3Rpb24gY3VzdG9tKGNoZWNrLCBfcGFyYW1zID0ge30sIGZhdGFsKSB7XG4gIGlmIChjaGVjaylcbiAgICByZXR1cm4gWm9kQW55LmNyZWF0ZSgpLnN1cGVyUmVmaW5lKChkYXRhLCBjdHgpID0+IHtcbiAgICAgIHZhciBfYSwgX2I7XG4gICAgICBjb25zdCByID0gY2hlY2soZGF0YSk7XG4gICAgICBpZiAociBpbnN0YW5jZW9mIFByb21pc2UpIHtcbiAgICAgICAgcmV0dXJuIHIudGhlbigocjIpID0+IHtcbiAgICAgICAgICB2YXIgX2EyLCBfYjI7XG4gICAgICAgICAgaWYgKCFyMikge1xuICAgICAgICAgICAgY29uc3QgcGFyYW1zID0gY2xlYW5QYXJhbXMoX3BhcmFtcywgZGF0YSk7XG4gICAgICAgICAgICBjb25zdCBfZmF0YWwgPSAoX2IyID0gKF9hMiA9IHBhcmFtcy5mYXRhbCkgIT09IG51bGwgJiYgX2EyICE9PSB2b2lkIDAgPyBfYTIgOiBmYXRhbCkgIT09IG51bGwgJiYgX2IyICE9PSB2b2lkIDAgPyBfYjIgOiB0cnVlO1xuICAgICAgICAgICAgY3R4LmFkZElzc3VlKHsgY29kZTogXCJjdXN0b21cIiwgLi4ucGFyYW1zLCBmYXRhbDogX2ZhdGFsIH0pO1xuICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgICBpZiAoIXIpIHtcbiAgICAgICAgY29uc3QgcGFyYW1zID0gY2xlYW5QYXJhbXMoX3BhcmFtcywgZGF0YSk7XG4gICAgICAgIGNvbnN0IF9mYXRhbCA9IChfYiA9IChfYSA9IHBhcmFtcy5mYXRhbCkgIT09IG51bGwgJiYgX2EgIT09IHZvaWQgMCA/IF9hIDogZmF0YWwpICE9PSBudWxsICYmIF9iICE9PSB2b2lkIDAgPyBfYiA6IHRydWU7XG4gICAgICAgIGN0eC5hZGRJc3N1ZSh7IGNvZGU6IFwiY3VzdG9tXCIsIC4uLnBhcmFtcywgZmF0YWw6IF9mYXRhbCB9KTtcbiAgICAgIH1cbiAgICAgIHJldHVybjtcbiAgICB9KTtcbiAgcmV0dXJuIFpvZEFueS5jcmVhdGUoKTtcbn1cbnZhciBsYXRlID0ge1xuICBvYmplY3Q6IFpvZE9iamVjdC5sYXp5Y3JlYXRlXG59O1xudmFyIFpvZEZpcnN0UGFydHlUeXBlS2luZDtcbihmdW5jdGlvbihab2RGaXJzdFBhcnR5VHlwZUtpbmQyKSB7XG4gIFpvZEZpcnN0UGFydHlUeXBlS2luZDJbXCJab2RTdHJpbmdcIl0gPSBcIlpvZFN0cmluZ1wiO1xuICBab2RGaXJzdFBhcnR5VHlwZUtpbmQyW1wiWm9kTnVtYmVyXCJdID0gXCJab2ROdW1iZXJcIjtcbiAgWm9kRmlyc3RQYXJ0eVR5cGVLaW5kMltcIlpvZE5hTlwiXSA9IFwiWm9kTmFOXCI7XG4gIFpvZEZpcnN0UGFydHlUeXBlS2luZDJbXCJab2RCaWdJbnRcIl0gPSBcIlpvZEJpZ0ludFwiO1xuICBab2RGaXJzdFBhcnR5VHlwZUtpbmQyW1wiWm9kQm9vbGVhblwiXSA9IFwiWm9kQm9vbGVhblwiO1xuICBab2RGaXJzdFBhcnR5VHlwZUtpbmQyW1wiWm9kRGF0ZVwiXSA9IFwiWm9kRGF0ZVwiO1xuICBab2RGaXJzdFBhcnR5VHlwZUtpbmQyW1wiWm9kU3ltYm9sXCJdID0gXCJab2RTeW1ib2xcIjtcbiAgWm9kRmlyc3RQYXJ0eVR5cGVLaW5kMltcIlpvZFVuZGVmaW5lZFwiXSA9IFwiWm9kVW5kZWZpbmVkXCI7XG4gIFpvZEZpcnN0UGFydHlUeXBlS2luZDJbXCJab2ROdWxsXCJdID0gXCJab2ROdWxsXCI7XG4gIFpvZEZpcnN0UGFydHlUeXBlS2luZDJbXCJab2RBbnlcIl0gPSBcIlpvZEFueVwiO1xuICBab2RGaXJzdFBhcnR5VHlwZUtpbmQyW1wiWm9kVW5rbm93blwiXSA9IFwiWm9kVW5rbm93blwiO1xuICBab2RGaXJzdFBhcnR5VHlwZUtpbmQyW1wiWm9kTmV2ZXJcIl0gPSBcIlpvZE5ldmVyXCI7XG4gIFpvZEZpcnN0UGFydHlUeXBlS2luZDJbXCJab2RWb2lkXCJdID0gXCJab2RWb2lkXCI7XG4gIFpvZEZpcnN0UGFydHlUeXBlS2luZDJbXCJab2RBcnJheVwiXSA9IFwiWm9kQXJyYXlcIjtcbiAgWm9kRmlyc3RQYXJ0eVR5cGVLaW5kMltcIlpvZE9iamVjdFwiXSA9IFwiWm9kT2JqZWN0XCI7XG4gIFpvZEZpcnN0UGFydHlUeXBlS2luZDJbXCJab2RVbmlvblwiXSA9IFwiWm9kVW5pb25cIjtcbiAgWm9kRmlyc3RQYXJ0eVR5cGVLaW5kMltcIlpvZERpc2NyaW1pbmF0ZWRVbmlvblwiXSA9IFwiWm9kRGlzY3JpbWluYXRlZFVuaW9uXCI7XG4gIFpvZEZpcnN0UGFydHlUeXBlS2luZDJbXCJab2RJbnRlcnNlY3Rpb25cIl0gPSBcIlpvZEludGVyc2VjdGlvblwiO1xuICBab2RGaXJzdFBhcnR5VHlwZUtpbmQyW1wiWm9kVHVwbGVcIl0gPSBcIlpvZFR1cGxlXCI7XG4gIFpvZEZpcnN0UGFydHlUeXBlS2luZDJbXCJab2RSZWNvcmRcIl0gPSBcIlpvZFJlY29yZFwiO1xuICBab2RGaXJzdFBhcnR5VHlwZUtpbmQyW1wiWm9kTWFwXCJdID0gXCJab2RNYXBcIjtcbiAgWm9kRmlyc3RQYXJ0eVR5cGVLaW5kMltcIlpvZFNldFwiXSA9IFwiWm9kU2V0XCI7XG4gIFpvZEZpcnN0UGFydHlUeXBlS2luZDJbXCJab2RGdW5jdGlvblwiXSA9IFwiWm9kRnVuY3Rpb25cIjtcbiAgWm9kRmlyc3RQYXJ0eVR5cGVLaW5kMltcIlpvZExhenlcIl0gPSBcIlpvZExhenlcIjtcbiAgWm9kRmlyc3RQYXJ0eVR5cGVLaW5kMltcIlpvZExpdGVyYWxcIl0gPSBcIlpvZExpdGVyYWxcIjtcbiAgWm9kRmlyc3RQYXJ0eVR5cGVLaW5kMltcIlpvZEVudW1cIl0gPSBcIlpvZEVudW1cIjtcbiAgWm9kRmlyc3RQYXJ0eVR5cGVLaW5kMltcIlpvZEVmZmVjdHNcIl0gPSBcIlpvZEVmZmVjdHNcIjtcbiAgWm9kRmlyc3RQYXJ0eVR5cGVLaW5kMltcIlpvZE5hdGl2ZUVudW1cIl0gPSBcIlpvZE5hdGl2ZUVudW1cIjtcbiAgWm9kRmlyc3RQYXJ0eVR5cGVLaW5kMltcIlpvZE9wdGlvbmFsXCJdID0gXCJab2RPcHRpb25hbFwiO1xuICBab2RGaXJzdFBhcnR5VHlwZUtpbmQyW1wiWm9kTnVsbGFibGVcIl0gPSBcIlpvZE51bGxhYmxlXCI7XG4gIFpvZEZpcnN0UGFydHlUeXBlS2luZDJbXCJab2REZWZhdWx0XCJdID0gXCJab2REZWZhdWx0XCI7XG4gIFpvZEZpcnN0UGFydHlUeXBlS2luZDJbXCJab2RDYXRjaFwiXSA9IFwiWm9kQ2F0Y2hcIjtcbiAgWm9kRmlyc3RQYXJ0eVR5cGVLaW5kMltcIlpvZFByb21pc2VcIl0gPSBcIlpvZFByb21pc2VcIjtcbiAgWm9kRmlyc3RQYXJ0eVR5cGVLaW5kMltcIlpvZEJyYW5kZWRcIl0gPSBcIlpvZEJyYW5kZWRcIjtcbiAgWm9kRmlyc3RQYXJ0eVR5cGVLaW5kMltcIlpvZFBpcGVsaW5lXCJdID0gXCJab2RQaXBlbGluZVwiO1xuICBab2RGaXJzdFBhcnR5VHlwZUtpbmQyW1wiWm9kUmVhZG9ubHlcIl0gPSBcIlpvZFJlYWRvbmx5XCI7XG59KShab2RGaXJzdFBhcnR5VHlwZUtpbmQgfHwgKFpvZEZpcnN0UGFydHlUeXBlS2luZCA9IHt9KSk7XG52YXIgaW5zdGFuY2VPZlR5cGUgPSAoY2xzLCBwYXJhbXMgPSB7XG4gIG1lc3NhZ2U6IGBJbnB1dCBub3QgaW5zdGFuY2Ugb2YgJHtjbHMubmFtZX1gXG59KSA9PiBjdXN0b20oKGRhdGEpID0+IGRhdGEgaW5zdGFuY2VvZiBjbHMsIHBhcmFtcyk7XG52YXIgc3RyaW5nVHlwZSA9IFpvZFN0cmluZy5jcmVhdGU7XG52YXIgbnVtYmVyVHlwZSA9IFpvZE51bWJlci5jcmVhdGU7XG52YXIgbmFuVHlwZSA9IFpvZE5hTi5jcmVhdGU7XG52YXIgYmlnSW50VHlwZSA9IFpvZEJpZ0ludC5jcmVhdGU7XG52YXIgYm9vbGVhblR5cGUgPSBab2RCb29sZWFuLmNyZWF0ZTtcbnZhciBkYXRlVHlwZSA9IFpvZERhdGUuY3JlYXRlO1xudmFyIHN5bWJvbFR5cGUgPSBab2RTeW1ib2wuY3JlYXRlO1xudmFyIHVuZGVmaW5lZFR5cGUgPSBab2RVbmRlZmluZWQuY3JlYXRlO1xudmFyIG51bGxUeXBlID0gWm9kTnVsbC5jcmVhdGU7XG52YXIgYW55VHlwZSA9IFpvZEFueS5jcmVhdGU7XG52YXIgdW5rbm93blR5cGUgPSBab2RVbmtub3duLmNyZWF0ZTtcbnZhciBuZXZlclR5cGUgPSBab2ROZXZlci5jcmVhdGU7XG52YXIgdm9pZFR5cGUgPSBab2RWb2lkLmNyZWF0ZTtcbnZhciBhcnJheVR5cGUgPSBab2RBcnJheS5jcmVhdGU7XG52YXIgb2JqZWN0VHlwZSA9IFpvZE9iamVjdC5jcmVhdGU7XG52YXIgc3RyaWN0T2JqZWN0VHlwZSA9IFpvZE9iamVjdC5zdHJpY3RDcmVhdGU7XG52YXIgdW5pb25UeXBlID0gWm9kVW5pb24uY3JlYXRlO1xudmFyIGRpc2NyaW1pbmF0ZWRVbmlvblR5cGUgPSBab2REaXNjcmltaW5hdGVkVW5pb24uY3JlYXRlO1xudmFyIGludGVyc2VjdGlvblR5cGUgPSBab2RJbnRlcnNlY3Rpb24uY3JlYXRlO1xudmFyIHR1cGxlVHlwZSA9IFpvZFR1cGxlLmNyZWF0ZTtcbnZhciByZWNvcmRUeXBlID0gWm9kUmVjb3JkLmNyZWF0ZTtcbnZhciBtYXBUeXBlID0gWm9kTWFwLmNyZWF0ZTtcbnZhciBzZXRUeXBlID0gWm9kU2V0LmNyZWF0ZTtcbnZhciBmdW5jdGlvblR5cGUgPSBab2RGdW5jdGlvbi5jcmVhdGU7XG52YXIgbGF6eVR5cGUgPSBab2RMYXp5LmNyZWF0ZTtcbnZhciBsaXRlcmFsVHlwZSA9IFpvZExpdGVyYWwuY3JlYXRlO1xudmFyIGVudW1UeXBlID0gWm9kRW51bS5jcmVhdGU7XG52YXIgbmF0aXZlRW51bVR5cGUgPSBab2ROYXRpdmVFbnVtLmNyZWF0ZTtcbnZhciBwcm9taXNlVHlwZSA9IFpvZFByb21pc2UuY3JlYXRlO1xudmFyIGVmZmVjdHNUeXBlID0gWm9kRWZmZWN0cy5jcmVhdGU7XG52YXIgb3B0aW9uYWxUeXBlID0gWm9kT3B0aW9uYWwuY3JlYXRlO1xudmFyIG51bGxhYmxlVHlwZSA9IFpvZE51bGxhYmxlLmNyZWF0ZTtcbnZhciBwcmVwcm9jZXNzVHlwZSA9IFpvZEVmZmVjdHMuY3JlYXRlV2l0aFByZXByb2Nlc3M7XG52YXIgcGlwZWxpbmVUeXBlID0gWm9kUGlwZWxpbmUuY3JlYXRlO1xudmFyIG9zdHJpbmcgPSAoKSA9PiBzdHJpbmdUeXBlKCkub3B0aW9uYWwoKTtcbnZhciBvbnVtYmVyID0gKCkgPT4gbnVtYmVyVHlwZSgpLm9wdGlvbmFsKCk7XG52YXIgb2Jvb2xlYW4gPSAoKSA9PiBib29sZWFuVHlwZSgpLm9wdGlvbmFsKCk7XG52YXIgY29lcmNlID0ge1xuICBzdHJpbmc6IChhcmcpID0+IFpvZFN0cmluZy5jcmVhdGUoeyAuLi5hcmcsIGNvZXJjZTogdHJ1ZSB9KSxcbiAgbnVtYmVyOiAoYXJnKSA9PiBab2ROdW1iZXIuY3JlYXRlKHsgLi4uYXJnLCBjb2VyY2U6IHRydWUgfSksXG4gIGJvb2xlYW46IChhcmcpID0+IFpvZEJvb2xlYW4uY3JlYXRlKHtcbiAgICAuLi5hcmcsXG4gICAgY29lcmNlOiB0cnVlXG4gIH0pLFxuICBiaWdpbnQ6IChhcmcpID0+IFpvZEJpZ0ludC5jcmVhdGUoeyAuLi5hcmcsIGNvZXJjZTogdHJ1ZSB9KSxcbiAgZGF0ZTogKGFyZykgPT4gWm9kRGF0ZS5jcmVhdGUoeyAuLi5hcmcsIGNvZXJjZTogdHJ1ZSB9KVxufTtcbnZhciBORVZFUiA9IElOVkFMSUQ7XG52YXIgeiA9IC8qIEBfX1BVUkVfXyAqLyBPYmplY3QuZnJlZXplKHtcbiAgX19wcm90b19fOiBudWxsLFxuICBkZWZhdWx0RXJyb3JNYXA6IGVycm9yTWFwLFxuICBzZXRFcnJvck1hcCxcbiAgZ2V0RXJyb3JNYXAsXG4gIG1ha2VJc3N1ZSxcbiAgRU1QVFlfUEFUSCxcbiAgYWRkSXNzdWVUb0NvbnRleHQsXG4gIFBhcnNlU3RhdHVzLFxuICBJTlZBTElELFxuICBESVJUWSxcbiAgT0ssXG4gIGlzQWJvcnRlZCxcbiAgaXNEaXJ0eSxcbiAgaXNWYWxpZCxcbiAgaXNBc3luYyxcbiAgZ2V0IHV0aWwoKSB7XG4gICAgcmV0dXJuIHV0aWw7XG4gIH0sXG4gIGdldCBvYmplY3RVdGlsKCkge1xuICAgIHJldHVybiBvYmplY3RVdGlsO1xuICB9LFxuICBab2RQYXJzZWRUeXBlLFxuICBnZXRQYXJzZWRUeXBlLFxuICBab2RUeXBlLFxuICBkYXRldGltZVJlZ2V4LFxuICBab2RTdHJpbmcsXG4gIFpvZE51bWJlcixcbiAgWm9kQmlnSW50LFxuICBab2RCb29sZWFuLFxuICBab2REYXRlLFxuICBab2RTeW1ib2wsXG4gIFpvZFVuZGVmaW5lZCxcbiAgWm9kTnVsbCxcbiAgWm9kQW55LFxuICBab2RVbmtub3duLFxuICBab2ROZXZlcixcbiAgWm9kVm9pZCxcbiAgWm9kQXJyYXksXG4gIFpvZE9iamVjdCxcbiAgWm9kVW5pb24sXG4gIFpvZERpc2NyaW1pbmF0ZWRVbmlvbixcbiAgWm9kSW50ZXJzZWN0aW9uLFxuICBab2RUdXBsZSxcbiAgWm9kUmVjb3JkLFxuICBab2RNYXAsXG4gIFpvZFNldCxcbiAgWm9kRnVuY3Rpb24sXG4gIFpvZExhenksXG4gIFpvZExpdGVyYWwsXG4gIFpvZEVudW0sXG4gIFpvZE5hdGl2ZUVudW0sXG4gIFpvZFByb21pc2UsXG4gIFpvZEVmZmVjdHMsXG4gIFpvZFRyYW5zZm9ybWVyOiBab2RFZmZlY3RzLFxuICBab2RPcHRpb25hbCxcbiAgWm9kTnVsbGFibGUsXG4gIFpvZERlZmF1bHQsXG4gIFpvZENhdGNoLFxuICBab2ROYU4sXG4gIEJSQU5ELFxuICBab2RCcmFuZGVkLFxuICBab2RQaXBlbGluZSxcbiAgWm9kUmVhZG9ubHksXG4gIGN1c3RvbSxcbiAgU2NoZW1hOiBab2RUeXBlLFxuICBab2RTY2hlbWE6IFpvZFR5cGUsXG4gIGxhdGUsXG4gIGdldCBab2RGaXJzdFBhcnR5VHlwZUtpbmQoKSB7XG4gICAgcmV0dXJuIFpvZEZpcnN0UGFydHlUeXBlS2luZDtcbiAgfSxcbiAgY29lcmNlLFxuICBhbnk6IGFueVR5cGUsXG4gIGFycmF5OiBhcnJheVR5cGUsXG4gIGJpZ2ludDogYmlnSW50VHlwZSxcbiAgYm9vbGVhbjogYm9vbGVhblR5cGUsXG4gIGRhdGU6IGRhdGVUeXBlLFxuICBkaXNjcmltaW5hdGVkVW5pb246IGRpc2NyaW1pbmF0ZWRVbmlvblR5cGUsXG4gIGVmZmVjdDogZWZmZWN0c1R5cGUsXG4gIFwiZW51bVwiOiBlbnVtVHlwZSxcbiAgXCJmdW5jdGlvblwiOiBmdW5jdGlvblR5cGUsXG4gIFwiaW5zdGFuY2VvZlwiOiBpbnN0YW5jZU9mVHlwZSxcbiAgaW50ZXJzZWN0aW9uOiBpbnRlcnNlY3Rpb25UeXBlLFxuICBsYXp5OiBsYXp5VHlwZSxcbiAgbGl0ZXJhbDogbGl0ZXJhbFR5cGUsXG4gIG1hcDogbWFwVHlwZSxcbiAgbmFuOiBuYW5UeXBlLFxuICBuYXRpdmVFbnVtOiBuYXRpdmVFbnVtVHlwZSxcbiAgbmV2ZXI6IG5ldmVyVHlwZSxcbiAgXCJudWxsXCI6IG51bGxUeXBlLFxuICBudWxsYWJsZTogbnVsbGFibGVUeXBlLFxuICBudW1iZXI6IG51bWJlclR5cGUsXG4gIG9iamVjdDogb2JqZWN0VHlwZSxcbiAgb2Jvb2xlYW4sXG4gIG9udW1iZXIsXG4gIG9wdGlvbmFsOiBvcHRpb25hbFR5cGUsXG4gIG9zdHJpbmcsXG4gIHBpcGVsaW5lOiBwaXBlbGluZVR5cGUsXG4gIHByZXByb2Nlc3M6IHByZXByb2Nlc3NUeXBlLFxuICBwcm9taXNlOiBwcm9taXNlVHlwZSxcbiAgcmVjb3JkOiByZWNvcmRUeXBlLFxuICBzZXQ6IHNldFR5cGUsXG4gIHN0cmljdE9iamVjdDogc3RyaWN0T2JqZWN0VHlwZSxcbiAgc3RyaW5nOiBzdHJpbmdUeXBlLFxuICBzeW1ib2w6IHN5bWJvbFR5cGUsXG4gIHRyYW5zZm9ybWVyOiBlZmZlY3RzVHlwZSxcbiAgdHVwbGU6IHR1cGxlVHlwZSxcbiAgXCJ1bmRlZmluZWRcIjogdW5kZWZpbmVkVHlwZSxcbiAgdW5pb246IHVuaW9uVHlwZSxcbiAgdW5rbm93bjogdW5rbm93blR5cGUsXG4gIFwidm9pZFwiOiB2b2lkVHlwZSxcbiAgTkVWRVIsXG4gIFpvZElzc3VlQ29kZSxcbiAgcXVvdGVsZXNzSnNvbixcbiAgWm9kRXJyb3Jcbn0pO1xuXG4vLyBub2RlX21vZHVsZXMvQG1vZGVsY29udGV4dHByb3RvY29sL3Nkay9kaXN0L2VzbS90eXBlcy5qc1xudmFyIExBVEVTVF9QUk9UT0NPTF9WRVJTSU9OID0gXCIyMDI1LTA2LTE4XCI7XG52YXIgREVGQVVMVF9ORUdPVElBVEVEX1BST1RPQ09MX1ZFUlNJT04gPSBcIjIwMjUtMDMtMjZcIjtcbnZhciBTVVBQT1JURURfUFJPVE9DT0xfVkVSU0lPTlMgPSBbXG4gIExBVEVTVF9QUk9UT0NPTF9WRVJTSU9OLFxuICBcIjIwMjUtMDMtMjZcIixcbiAgXCIyMDI0LTExLTA1XCIsXG4gIFwiMjAyNC0xMC0wN1wiXG5dO1xudmFyIEpTT05SUENfVkVSU0lPTiA9IFwiMi4wXCI7XG52YXIgUHJvZ3Jlc3NUb2tlblNjaGVtYSA9IHoudW5pb24oW3ouc3RyaW5nKCksIHoubnVtYmVyKCkuaW50KCldKTtcbnZhciBDdXJzb3JTY2hlbWEgPSB6LnN0cmluZygpO1xudmFyIFJlcXVlc3RNZXRhU2NoZW1hID0gei5vYmplY3Qoe1xuICAvKipcbiAgICogSWYgc3BlY2lmaWVkLCB0aGUgY2FsbGVyIGlzIHJlcXVlc3Rpbmcgb3V0LW9mLWJhbmQgcHJvZ3Jlc3Mgbm90aWZpY2F0aW9ucyBmb3IgdGhpcyByZXF1ZXN0IChhcyByZXByZXNlbnRlZCBieSBub3RpZmljYXRpb25zL3Byb2dyZXNzKS4gVGhlIHZhbHVlIG9mIHRoaXMgcGFyYW1ldGVyIGlzIGFuIG9wYXF1ZSB0b2tlbiB0aGF0IHdpbGwgYmUgYXR0YWNoZWQgdG8gYW55IHN1YnNlcXVlbnQgbm90aWZpY2F0aW9ucy4gVGhlIHJlY2VpdmVyIGlzIG5vdCBvYmxpZ2F0ZWQgdG8gcHJvdmlkZSB0aGVzZSBub3RpZmljYXRpb25zLlxuICAgKi9cbiAgcHJvZ3Jlc3NUb2tlbjogei5vcHRpb25hbChQcm9ncmVzc1Rva2VuU2NoZW1hKVxufSkucGFzc3Rocm91Z2goKTtcbnZhciBCYXNlUmVxdWVzdFBhcmFtc1NjaGVtYSA9IHoub2JqZWN0KHtcbiAgX21ldGE6IHoub3B0aW9uYWwoUmVxdWVzdE1ldGFTY2hlbWEpXG59KS5wYXNzdGhyb3VnaCgpO1xudmFyIFJlcXVlc3RTY2hlbWEgPSB6Lm9iamVjdCh7XG4gIG1ldGhvZDogei5zdHJpbmcoKSxcbiAgcGFyYW1zOiB6Lm9wdGlvbmFsKEJhc2VSZXF1ZXN0UGFyYW1zU2NoZW1hKVxufSk7XG52YXIgQmFzZU5vdGlmaWNhdGlvblBhcmFtc1NjaGVtYSA9IHoub2JqZWN0KHtcbiAgLyoqXG4gICAqIFNlZSBbTUNQIHNwZWNpZmljYXRpb25dKGh0dHBzOi8vZ2l0aHViLmNvbS9tb2RlbGNvbnRleHRwcm90b2NvbC9tb2RlbGNvbnRleHRwcm90b2NvbC9ibG9iLzQ3MzM5YzAzYzE0M2JiNGVjMDFhMjZlNzIxYTFiOGZlNjY2MzRlYmUvZG9jcy9zcGVjaWZpY2F0aW9uL2RyYWZ0L2Jhc2ljL2luZGV4Lm1keCNnZW5lcmFsLWZpZWxkcylcbiAgICogZm9yIG5vdGVzIG9uIF9tZXRhIHVzYWdlLlxuICAgKi9cbiAgX21ldGE6IHoub3B0aW9uYWwoei5vYmplY3Qoe30pLnBhc3N0aHJvdWdoKCkpXG59KS5wYXNzdGhyb3VnaCgpO1xudmFyIE5vdGlmaWNhdGlvblNjaGVtYSA9IHoub2JqZWN0KHtcbiAgbWV0aG9kOiB6LnN0cmluZygpLFxuICBwYXJhbXM6IHoub3B0aW9uYWwoQmFzZU5vdGlmaWNhdGlvblBhcmFtc1NjaGVtYSlcbn0pO1xudmFyIFJlc3VsdFNjaGVtYSA9IHoub2JqZWN0KHtcbiAgLyoqXG4gICAqIFNlZSBbTUNQIHNwZWNpZmljYXRpb25dKGh0dHBzOi8vZ2l0aHViLmNvbS9tb2RlbGNvbnRleHRwcm90b2NvbC9tb2RlbGNvbnRleHRwcm90b2NvbC9ibG9iLzQ3MzM5YzAzYzE0M2JiNGVjMDFhMjZlNzIxYTFiOGZlNjY2MzRlYmUvZG9jcy9zcGVjaWZpY2F0aW9uL2RyYWZ0L2Jhc2ljL2luZGV4Lm1keCNnZW5lcmFsLWZpZWxkcylcbiAgICogZm9yIG5vdGVzIG9uIF9tZXRhIHVzYWdlLlxuICAgKi9cbiAgX21ldGE6IHoub3B0aW9uYWwoei5vYmplY3Qoe30pLnBhc3N0aHJvdWdoKCkpXG59KS5wYXNzdGhyb3VnaCgpO1xudmFyIFJlcXVlc3RJZFNjaGVtYSA9IHoudW5pb24oW3ouc3RyaW5nKCksIHoubnVtYmVyKCkuaW50KCldKTtcbnZhciBKU09OUlBDUmVxdWVzdFNjaGVtYSA9IHoub2JqZWN0KHtcbiAganNvbnJwYzogei5saXRlcmFsKEpTT05SUENfVkVSU0lPTiksXG4gIGlkOiBSZXF1ZXN0SWRTY2hlbWFcbn0pLm1lcmdlKFJlcXVlc3RTY2hlbWEpLnN0cmljdCgpO1xudmFyIGlzSlNPTlJQQ1JlcXVlc3QgPSAodmFsdWUpID0+IEpTT05SUENSZXF1ZXN0U2NoZW1hLnNhZmVQYXJzZSh2YWx1ZSkuc3VjY2VzcztcbnZhciBKU09OUlBDTm90aWZpY2F0aW9uU2NoZW1hID0gei5vYmplY3Qoe1xuICBqc29ucnBjOiB6LmxpdGVyYWwoSlNPTlJQQ19WRVJTSU9OKVxufSkubWVyZ2UoTm90aWZpY2F0aW9uU2NoZW1hKS5zdHJpY3QoKTtcbnZhciBKU09OUlBDUmVzcG9uc2VTY2hlbWEgPSB6Lm9iamVjdCh7XG4gIGpzb25ycGM6IHoubGl0ZXJhbChKU09OUlBDX1ZFUlNJT04pLFxuICBpZDogUmVxdWVzdElkU2NoZW1hLFxuICByZXN1bHQ6IFJlc3VsdFNjaGVtYVxufSkuc3RyaWN0KCk7XG52YXIgaXNKU09OUlBDUmVzcG9uc2UgPSAodmFsdWUpID0+IEpTT05SUENSZXNwb25zZVNjaGVtYS5zYWZlUGFyc2UodmFsdWUpLnN1Y2Nlc3M7XG52YXIgRXJyb3JDb2RlO1xuKGZ1bmN0aW9uKEVycm9yQ29kZTIpIHtcbiAgRXJyb3JDb2RlMltFcnJvckNvZGUyW1wiQ29ubmVjdGlvbkNsb3NlZFwiXSA9IC0zMmUzXSA9IFwiQ29ubmVjdGlvbkNsb3NlZFwiO1xuICBFcnJvckNvZGUyW0Vycm9yQ29kZTJbXCJSZXF1ZXN0VGltZW91dFwiXSA9IC0zMjAwMV0gPSBcIlJlcXVlc3RUaW1lb3V0XCI7XG4gIEVycm9yQ29kZTJbRXJyb3JDb2RlMltcIlBhcnNlRXJyb3JcIl0gPSAtMzI3MDBdID0gXCJQYXJzZUVycm9yXCI7XG4gIEVycm9yQ29kZTJbRXJyb3JDb2RlMltcIkludmFsaWRSZXF1ZXN0XCJdID0gLTMyNjAwXSA9IFwiSW52YWxpZFJlcXVlc3RcIjtcbiAgRXJyb3JDb2RlMltFcnJvckNvZGUyW1wiTWV0aG9kTm90Rm91bmRcIl0gPSAtMzI2MDFdID0gXCJNZXRob2ROb3RGb3VuZFwiO1xuICBFcnJvckNvZGUyW0Vycm9yQ29kZTJbXCJJbnZhbGlkUGFyYW1zXCJdID0gLTMyNjAyXSA9IFwiSW52YWxpZFBhcmFtc1wiO1xuICBFcnJvckNvZGUyW0Vycm9yQ29kZTJbXCJJbnRlcm5hbEVycm9yXCJdID0gLTMyNjAzXSA9IFwiSW50ZXJuYWxFcnJvclwiO1xufSkoRXJyb3JDb2RlIHx8IChFcnJvckNvZGUgPSB7fSkpO1xudmFyIEpTT05SUENFcnJvclNjaGVtYSA9IHoub2JqZWN0KHtcbiAganNvbnJwYzogei5saXRlcmFsKEpTT05SUENfVkVSU0lPTiksXG4gIGlkOiBSZXF1ZXN0SWRTY2hlbWEsXG4gIGVycm9yOiB6Lm9iamVjdCh7XG4gICAgLyoqXG4gICAgICogVGhlIGVycm9yIHR5cGUgdGhhdCBvY2N1cnJlZC5cbiAgICAgKi9cbiAgICBjb2RlOiB6Lm51bWJlcigpLmludCgpLFxuICAgIC8qKlxuICAgICAqIEEgc2hvcnQgZGVzY3JpcHRpb24gb2YgdGhlIGVycm9yLiBUaGUgbWVzc2FnZSBTSE9VTEQgYmUgbGltaXRlZCB0byBhIGNvbmNpc2Ugc2luZ2xlIHNlbnRlbmNlLlxuICAgICAqL1xuICAgIG1lc3NhZ2U6IHouc3RyaW5nKCksXG4gICAgLyoqXG4gICAgICogQWRkaXRpb25hbCBpbmZvcm1hdGlvbiBhYm91dCB0aGUgZXJyb3IuIFRoZSB2YWx1ZSBvZiB0aGlzIG1lbWJlciBpcyBkZWZpbmVkIGJ5IHRoZSBzZW5kZXIgKGUuZy4gZGV0YWlsZWQgZXJyb3IgaW5mb3JtYXRpb24sIG5lc3RlZCBlcnJvcnMgZXRjLikuXG4gICAgICovXG4gICAgZGF0YTogei5vcHRpb25hbCh6LnVua25vd24oKSlcbiAgfSlcbn0pLnN0cmljdCgpO1xudmFyIGlzSlNPTlJQQ0Vycm9yID0gKHZhbHVlKSA9PiBKU09OUlBDRXJyb3JTY2hlbWEuc2FmZVBhcnNlKHZhbHVlKS5zdWNjZXNzO1xudmFyIEpTT05SUENNZXNzYWdlU2NoZW1hID0gei51bmlvbihbXG4gIEpTT05SUENSZXF1ZXN0U2NoZW1hLFxuICBKU09OUlBDTm90aWZpY2F0aW9uU2NoZW1hLFxuICBKU09OUlBDUmVzcG9uc2VTY2hlbWEsXG4gIEpTT05SUENFcnJvclNjaGVtYVxuXSk7XG52YXIgRW1wdHlSZXN1bHRTY2hlbWEgPSBSZXN1bHRTY2hlbWEuc3RyaWN0KCk7XG52YXIgQ2FuY2VsbGVkTm90aWZpY2F0aW9uU2NoZW1hID0gTm90aWZpY2F0aW9uU2NoZW1hLmV4dGVuZCh7XG4gIG1ldGhvZDogei5saXRlcmFsKFwibm90aWZpY2F0aW9ucy9jYW5jZWxsZWRcIiksXG4gIHBhcmFtczogQmFzZU5vdGlmaWNhdGlvblBhcmFtc1NjaGVtYS5leHRlbmQoe1xuICAgIC8qKlxuICAgICAqIFRoZSBJRCBvZiB0aGUgcmVxdWVzdCB0byBjYW5jZWwuXG4gICAgICpcbiAgICAgKiBUaGlzIE1VU1QgY29ycmVzcG9uZCB0byB0aGUgSUQgb2YgYSByZXF1ZXN0IHByZXZpb3VzbHkgaXNzdWVkIGluIHRoZSBzYW1lIGRpcmVjdGlvbi5cbiAgICAgKi9cbiAgICByZXF1ZXN0SWQ6IFJlcXVlc3RJZFNjaGVtYSxcbiAgICAvKipcbiAgICAgKiBBbiBvcHRpb25hbCBzdHJpbmcgZGVzY3JpYmluZyB0aGUgcmVhc29uIGZvciB0aGUgY2FuY2VsbGF0aW9uLiBUaGlzIE1BWSBiZSBsb2dnZWQgb3IgcHJlc2VudGVkIHRvIHRoZSB1c2VyLlxuICAgICAqL1xuICAgIHJlYXNvbjogei5zdHJpbmcoKS5vcHRpb25hbCgpXG4gIH0pXG59KTtcbnZhciBCYXNlTWV0YWRhdGFTY2hlbWEgPSB6Lm9iamVjdCh7XG4gIC8qKiBJbnRlbmRlZCBmb3IgcHJvZ3JhbW1hdGljIG9yIGxvZ2ljYWwgdXNlLCBidXQgdXNlZCBhcyBhIGRpc3BsYXkgbmFtZSBpbiBwYXN0IHNwZWNzIG9yIGZhbGxiYWNrICovXG4gIG5hbWU6IHouc3RyaW5nKCksXG4gIC8qKlxuICAqIEludGVuZGVkIGZvciBVSSBhbmQgZW5kLXVzZXIgY29udGV4dHMgXHUyMDE0IG9wdGltaXplZCB0byBiZSBodW1hbi1yZWFkYWJsZSBhbmQgZWFzaWx5IHVuZGVyc3Rvb2QsXG4gICogZXZlbiBieSB0aG9zZSB1bmZhbWlsaWFyIHdpdGggZG9tYWluLXNwZWNpZmljIHRlcm1pbm9sb2d5LlxuICAqXG4gICogSWYgbm90IHByb3ZpZGVkLCB0aGUgbmFtZSBzaG91bGQgYmUgdXNlZCBmb3IgZGlzcGxheSAoZXhjZXB0IGZvciBUb29sLFxuICAqIHdoZXJlIGBhbm5vdGF0aW9ucy50aXRsZWAgc2hvdWxkIGJlIGdpdmVuIHByZWNlZGVuY2Ugb3ZlciB1c2luZyBgbmFtZWAsXG4gICogaWYgcHJlc2VudCkuXG4gICovXG4gIHRpdGxlOiB6Lm9wdGlvbmFsKHouc3RyaW5nKCkpXG59KS5wYXNzdGhyb3VnaCgpO1xudmFyIEltcGxlbWVudGF0aW9uU2NoZW1hID0gQmFzZU1ldGFkYXRhU2NoZW1hLmV4dGVuZCh7XG4gIHZlcnNpb246IHouc3RyaW5nKClcbn0pO1xudmFyIENsaWVudENhcGFiaWxpdGllc1NjaGVtYSA9IHoub2JqZWN0KHtcbiAgLyoqXG4gICAqIEV4cGVyaW1lbnRhbCwgbm9uLXN0YW5kYXJkIGNhcGFiaWxpdGllcyB0aGF0IHRoZSBjbGllbnQgc3VwcG9ydHMuXG4gICAqL1xuICBleHBlcmltZW50YWw6IHoub3B0aW9uYWwoei5vYmplY3Qoe30pLnBhc3N0aHJvdWdoKCkpLFxuICAvKipcbiAgICogUHJlc2VudCBpZiB0aGUgY2xpZW50IHN1cHBvcnRzIHNhbXBsaW5nIGZyb20gYW4gTExNLlxuICAgKi9cbiAgc2FtcGxpbmc6IHoub3B0aW9uYWwoei5vYmplY3Qoe30pLnBhc3N0aHJvdWdoKCkpLFxuICAvKipcbiAgICogUHJlc2VudCBpZiB0aGUgY2xpZW50IHN1cHBvcnRzIGVsaWNpdGluZyB1c2VyIGlucHV0LlxuICAgKi9cbiAgZWxpY2l0YXRpb246IHoub3B0aW9uYWwoei5vYmplY3Qoe30pLnBhc3N0aHJvdWdoKCkpLFxuICAvKipcbiAgICogUHJlc2VudCBpZiB0aGUgY2xpZW50IHN1cHBvcnRzIGxpc3Rpbmcgcm9vdHMuXG4gICAqL1xuICByb290czogei5vcHRpb25hbCh6Lm9iamVjdCh7XG4gICAgLyoqXG4gICAgICogV2hldGhlciB0aGUgY2xpZW50IHN1cHBvcnRzIGlzc3Vpbmcgbm90aWZpY2F0aW9ucyBmb3IgY2hhbmdlcyB0byB0aGUgcm9vdHMgbGlzdC5cbiAgICAgKi9cbiAgICBsaXN0Q2hhbmdlZDogei5vcHRpb25hbCh6LmJvb2xlYW4oKSlcbiAgfSkucGFzc3Rocm91Z2goKSlcbn0pLnBhc3N0aHJvdWdoKCk7XG52YXIgSW5pdGlhbGl6ZVJlcXVlc3RTY2hlbWEgPSBSZXF1ZXN0U2NoZW1hLmV4dGVuZCh7XG4gIG1ldGhvZDogei5saXRlcmFsKFwiaW5pdGlhbGl6ZVwiKSxcbiAgcGFyYW1zOiBCYXNlUmVxdWVzdFBhcmFtc1NjaGVtYS5leHRlbmQoe1xuICAgIC8qKlxuICAgICAqIFRoZSBsYXRlc3QgdmVyc2lvbiBvZiB0aGUgTW9kZWwgQ29udGV4dCBQcm90b2NvbCB0aGF0IHRoZSBjbGllbnQgc3VwcG9ydHMuIFRoZSBjbGllbnQgTUFZIGRlY2lkZSB0byBzdXBwb3J0IG9sZGVyIHZlcnNpb25zIGFzIHdlbGwuXG4gICAgICovXG4gICAgcHJvdG9jb2xWZXJzaW9uOiB6LnN0cmluZygpLFxuICAgIGNhcGFiaWxpdGllczogQ2xpZW50Q2FwYWJpbGl0aWVzU2NoZW1hLFxuICAgIGNsaWVudEluZm86IEltcGxlbWVudGF0aW9uU2NoZW1hXG4gIH0pXG59KTtcbnZhciBpc0luaXRpYWxpemVSZXF1ZXN0ID0gKHZhbHVlKSA9PiBJbml0aWFsaXplUmVxdWVzdFNjaGVtYS5zYWZlUGFyc2UodmFsdWUpLnN1Y2Nlc3M7XG52YXIgU2VydmVyQ2FwYWJpbGl0aWVzU2NoZW1hID0gei5vYmplY3Qoe1xuICAvKipcbiAgICogRXhwZXJpbWVudGFsLCBub24tc3RhbmRhcmQgY2FwYWJpbGl0aWVzIHRoYXQgdGhlIHNlcnZlciBzdXBwb3J0cy5cbiAgICovXG4gIGV4cGVyaW1lbnRhbDogei5vcHRpb25hbCh6Lm9iamVjdCh7fSkucGFzc3Rocm91Z2goKSksXG4gIC8qKlxuICAgKiBQcmVzZW50IGlmIHRoZSBzZXJ2ZXIgc3VwcG9ydHMgc2VuZGluZyBsb2cgbWVzc2FnZXMgdG8gdGhlIGNsaWVudC5cbiAgICovXG4gIGxvZ2dpbmc6IHoub3B0aW9uYWwoei5vYmplY3Qoe30pLnBhc3N0aHJvdWdoKCkpLFxuICAvKipcbiAgICogUHJlc2VudCBpZiB0aGUgc2VydmVyIHN1cHBvcnRzIHNlbmRpbmcgY29tcGxldGlvbnMgdG8gdGhlIGNsaWVudC5cbiAgICovXG4gIGNvbXBsZXRpb25zOiB6Lm9wdGlvbmFsKHoub2JqZWN0KHt9KS5wYXNzdGhyb3VnaCgpKSxcbiAgLyoqXG4gICAqIFByZXNlbnQgaWYgdGhlIHNlcnZlciBvZmZlcnMgYW55IHByb21wdCB0ZW1wbGF0ZXMuXG4gICAqL1xuICBwcm9tcHRzOiB6Lm9wdGlvbmFsKHoub2JqZWN0KHtcbiAgICAvKipcbiAgICAgKiBXaGV0aGVyIHRoaXMgc2VydmVyIHN1cHBvcnRzIGlzc3Vpbmcgbm90aWZpY2F0aW9ucyBmb3IgY2hhbmdlcyB0byB0aGUgcHJvbXB0IGxpc3QuXG4gICAgICovXG4gICAgbGlzdENoYW5nZWQ6IHoub3B0aW9uYWwoei5ib29sZWFuKCkpXG4gIH0pLnBhc3N0aHJvdWdoKCkpLFxuICAvKipcbiAgICogUHJlc2VudCBpZiB0aGUgc2VydmVyIG9mZmVycyBhbnkgcmVzb3VyY2VzIHRvIHJlYWQuXG4gICAqL1xuICByZXNvdXJjZXM6IHoub3B0aW9uYWwoei5vYmplY3Qoe1xuICAgIC8qKlxuICAgICAqIFdoZXRoZXIgdGhpcyBzZXJ2ZXIgc3VwcG9ydHMgY2xpZW50cyBzdWJzY3JpYmluZyB0byByZXNvdXJjZSB1cGRhdGVzLlxuICAgICAqL1xuICAgIHN1YnNjcmliZTogei5vcHRpb25hbCh6LmJvb2xlYW4oKSksXG4gICAgLyoqXG4gICAgICogV2hldGhlciB0aGlzIHNlcnZlciBzdXBwb3J0cyBpc3N1aW5nIG5vdGlmaWNhdGlvbnMgZm9yIGNoYW5nZXMgdG8gdGhlIHJlc291cmNlIGxpc3QuXG4gICAgICovXG4gICAgbGlzdENoYW5nZWQ6IHoub3B0aW9uYWwoei5ib29sZWFuKCkpXG4gIH0pLnBhc3N0aHJvdWdoKCkpLFxuICAvKipcbiAgICogUHJlc2VudCBpZiB0aGUgc2VydmVyIG9mZmVycyBhbnkgdG9vbHMgdG8gY2FsbC5cbiAgICovXG4gIHRvb2xzOiB6Lm9wdGlvbmFsKHoub2JqZWN0KHtcbiAgICAvKipcbiAgICAgKiBXaGV0aGVyIHRoaXMgc2VydmVyIHN1cHBvcnRzIGlzc3Vpbmcgbm90aWZpY2F0aW9ucyBmb3IgY2hhbmdlcyB0byB0aGUgdG9vbCBsaXN0LlxuICAgICAqL1xuICAgIGxpc3RDaGFuZ2VkOiB6Lm9wdGlvbmFsKHouYm9vbGVhbigpKVxuICB9KS5wYXNzdGhyb3VnaCgpKVxufSkucGFzc3Rocm91Z2goKTtcbnZhciBJbml0aWFsaXplUmVzdWx0U2NoZW1hID0gUmVzdWx0U2NoZW1hLmV4dGVuZCh7XG4gIC8qKlxuICAgKiBUaGUgdmVyc2lvbiBvZiB0aGUgTW9kZWwgQ29udGV4dCBQcm90b2NvbCB0aGF0IHRoZSBzZXJ2ZXIgd2FudHMgdG8gdXNlLiBUaGlzIG1heSBub3QgbWF0Y2ggdGhlIHZlcnNpb24gdGhhdCB0aGUgY2xpZW50IHJlcXVlc3RlZC4gSWYgdGhlIGNsaWVudCBjYW5ub3Qgc3VwcG9ydCB0aGlzIHZlcnNpb24sIGl0IE1VU1QgZGlzY29ubmVjdC5cbiAgICovXG4gIHByb3RvY29sVmVyc2lvbjogei5zdHJpbmcoKSxcbiAgY2FwYWJpbGl0aWVzOiBTZXJ2ZXJDYXBhYmlsaXRpZXNTY2hlbWEsXG4gIHNlcnZlckluZm86IEltcGxlbWVudGF0aW9uU2NoZW1hLFxuICAvKipcbiAgICogSW5zdHJ1Y3Rpb25zIGRlc2NyaWJpbmcgaG93IHRvIHVzZSB0aGUgc2VydmVyIGFuZCBpdHMgZmVhdHVyZXMuXG4gICAqXG4gICAqIFRoaXMgY2FuIGJlIHVzZWQgYnkgY2xpZW50cyB0byBpbXByb3ZlIHRoZSBMTE0ncyB1bmRlcnN0YW5kaW5nIG9mIGF2YWlsYWJsZSB0b29scywgcmVzb3VyY2VzLCBldGMuIEl0IGNhbiBiZSB0aG91Z2h0IG9mIGxpa2UgYSBcImhpbnRcIiB0byB0aGUgbW9kZWwuIEZvciBleGFtcGxlLCB0aGlzIGluZm9ybWF0aW9uIE1BWSBiZSBhZGRlZCB0byB0aGUgc3lzdGVtIHByb21wdC5cbiAgICovXG4gIGluc3RydWN0aW9uczogei5vcHRpb25hbCh6LnN0cmluZygpKVxufSk7XG52YXIgSW5pdGlhbGl6ZWROb3RpZmljYXRpb25TY2hlbWEgPSBOb3RpZmljYXRpb25TY2hlbWEuZXh0ZW5kKHtcbiAgbWV0aG9kOiB6LmxpdGVyYWwoXCJub3RpZmljYXRpb25zL2luaXRpYWxpemVkXCIpXG59KTtcbnZhciBQaW5nUmVxdWVzdFNjaGVtYSA9IFJlcXVlc3RTY2hlbWEuZXh0ZW5kKHtcbiAgbWV0aG9kOiB6LmxpdGVyYWwoXCJwaW5nXCIpXG59KTtcbnZhciBQcm9ncmVzc1NjaGVtYSA9IHoub2JqZWN0KHtcbiAgLyoqXG4gICAqIFRoZSBwcm9ncmVzcyB0aHVzIGZhci4gVGhpcyBzaG91bGQgaW5jcmVhc2UgZXZlcnkgdGltZSBwcm9ncmVzcyBpcyBtYWRlLCBldmVuIGlmIHRoZSB0b3RhbCBpcyB1bmtub3duLlxuICAgKi9cbiAgcHJvZ3Jlc3M6IHoubnVtYmVyKCksXG4gIC8qKlxuICAgKiBUb3RhbCBudW1iZXIgb2YgaXRlbXMgdG8gcHJvY2VzcyAob3IgdG90YWwgcHJvZ3Jlc3MgcmVxdWlyZWQpLCBpZiBrbm93bi5cbiAgICovXG4gIHRvdGFsOiB6Lm9wdGlvbmFsKHoubnVtYmVyKCkpLFxuICAvKipcbiAgICogQW4gb3B0aW9uYWwgbWVzc2FnZSBkZXNjcmliaW5nIHRoZSBjdXJyZW50IHByb2dyZXNzLlxuICAgKi9cbiAgbWVzc2FnZTogei5vcHRpb25hbCh6LnN0cmluZygpKVxufSkucGFzc3Rocm91Z2goKTtcbnZhciBQcm9ncmVzc05vdGlmaWNhdGlvblNjaGVtYSA9IE5vdGlmaWNhdGlvblNjaGVtYS5leHRlbmQoe1xuICBtZXRob2Q6IHoubGl0ZXJhbChcIm5vdGlmaWNhdGlvbnMvcHJvZ3Jlc3NcIiksXG4gIHBhcmFtczogQmFzZU5vdGlmaWNhdGlvblBhcmFtc1NjaGVtYS5tZXJnZShQcm9ncmVzc1NjaGVtYSkuZXh0ZW5kKHtcbiAgICAvKipcbiAgICAgKiBUaGUgcHJvZ3Jlc3MgdG9rZW4gd2hpY2ggd2FzIGdpdmVuIGluIHRoZSBpbml0aWFsIHJlcXVlc3QsIHVzZWQgdG8gYXNzb2NpYXRlIHRoaXMgbm90aWZpY2F0aW9uIHdpdGggdGhlIHJlcXVlc3QgdGhhdCBpcyBwcm9jZWVkaW5nLlxuICAgICAqL1xuICAgIHByb2dyZXNzVG9rZW46IFByb2dyZXNzVG9rZW5TY2hlbWFcbiAgfSlcbn0pO1xudmFyIFBhZ2luYXRlZFJlcXVlc3RTY2hlbWEgPSBSZXF1ZXN0U2NoZW1hLmV4dGVuZCh7XG4gIHBhcmFtczogQmFzZVJlcXVlc3RQYXJhbXNTY2hlbWEuZXh0ZW5kKHtcbiAgICAvKipcbiAgICAgKiBBbiBvcGFxdWUgdG9rZW4gcmVwcmVzZW50aW5nIHRoZSBjdXJyZW50IHBhZ2luYXRpb24gcG9zaXRpb24uXG4gICAgICogSWYgcHJvdmlkZWQsIHRoZSBzZXJ2ZXIgc2hvdWxkIHJldHVybiByZXN1bHRzIHN0YXJ0aW5nIGFmdGVyIHRoaXMgY3Vyc29yLlxuICAgICAqL1xuICAgIGN1cnNvcjogei5vcHRpb25hbChDdXJzb3JTY2hlbWEpXG4gIH0pLm9wdGlvbmFsKClcbn0pO1xudmFyIFBhZ2luYXRlZFJlc3VsdFNjaGVtYSA9IFJlc3VsdFNjaGVtYS5leHRlbmQoe1xuICAvKipcbiAgICogQW4gb3BhcXVlIHRva2VuIHJlcHJlc2VudGluZyB0aGUgcGFnaW5hdGlvbiBwb3NpdGlvbiBhZnRlciB0aGUgbGFzdCByZXR1cm5lZCByZXN1bHQuXG4gICAqIElmIHByZXNlbnQsIHRoZXJlIG1heSBiZSBtb3JlIHJlc3VsdHMgYXZhaWxhYmxlLlxuICAgKi9cbiAgbmV4dEN1cnNvcjogei5vcHRpb25hbChDdXJzb3JTY2hlbWEpXG59KTtcbnZhciBSZXNvdXJjZUNvbnRlbnRzU2NoZW1hID0gei5vYmplY3Qoe1xuICAvKipcbiAgICogVGhlIFVSSSBvZiB0aGlzIHJlc291cmNlLlxuICAgKi9cbiAgdXJpOiB6LnN0cmluZygpLFxuICAvKipcbiAgICogVGhlIE1JTUUgdHlwZSBvZiB0aGlzIHJlc291cmNlLCBpZiBrbm93bi5cbiAgICovXG4gIG1pbWVUeXBlOiB6Lm9wdGlvbmFsKHouc3RyaW5nKCkpLFxuICAvKipcbiAgICogU2VlIFtNQ1Agc3BlY2lmaWNhdGlvbl0oaHR0cHM6Ly9naXRodWIuY29tL21vZGVsY29udGV4dHByb3RvY29sL21vZGVsY29udGV4dHByb3RvY29sL2Jsb2IvNDczMzljMDNjMTQzYmI0ZWMwMWEyNmU3MjFhMWI4ZmU2NjYzNGViZS9kb2NzL3NwZWNpZmljYXRpb24vZHJhZnQvYmFzaWMvaW5kZXgubWR4I2dlbmVyYWwtZmllbGRzKVxuICAgKiBmb3Igbm90ZXMgb24gX21ldGEgdXNhZ2UuXG4gICAqL1xuICBfbWV0YTogei5vcHRpb25hbCh6Lm9iamVjdCh7fSkucGFzc3Rocm91Z2goKSlcbn0pLnBhc3N0aHJvdWdoKCk7XG52YXIgVGV4dFJlc291cmNlQ29udGVudHNTY2hlbWEgPSBSZXNvdXJjZUNvbnRlbnRzU2NoZW1hLmV4dGVuZCh7XG4gIC8qKlxuICAgKiBUaGUgdGV4dCBvZiB0aGUgaXRlbS4gVGhpcyBtdXN0IG9ubHkgYmUgc2V0IGlmIHRoZSBpdGVtIGNhbiBhY3R1YWxseSBiZSByZXByZXNlbnRlZCBhcyB0ZXh0IChub3QgYmluYXJ5IGRhdGEpLlxuICAgKi9cbiAgdGV4dDogei5zdHJpbmcoKVxufSk7XG52YXIgQmFzZTY0U2NoZW1hID0gei5zdHJpbmcoKS5yZWZpbmUoKHZhbCkgPT4ge1xuICB0cnkge1xuICAgIGF0b2IodmFsKTtcbiAgICByZXR1cm4gdHJ1ZTtcbiAgfSBjYXRjaCAoX2EpIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cbn0sIHsgbWVzc2FnZTogXCJJbnZhbGlkIEJhc2U2NCBzdHJpbmdcIiB9KTtcbnZhciBCbG9iUmVzb3VyY2VDb250ZW50c1NjaGVtYSA9IFJlc291cmNlQ29udGVudHNTY2hlbWEuZXh0ZW5kKHtcbiAgLyoqXG4gICAqIEEgYmFzZTY0LWVuY29kZWQgc3RyaW5nIHJlcHJlc2VudGluZyB0aGUgYmluYXJ5IGRhdGEgb2YgdGhlIGl0ZW0uXG4gICAqL1xuICBibG9iOiBCYXNlNjRTY2hlbWFcbn0pO1xudmFyIFJlc291cmNlU2NoZW1hID0gQmFzZU1ldGFkYXRhU2NoZW1hLmV4dGVuZCh7XG4gIC8qKlxuICAgKiBUaGUgVVJJIG9mIHRoaXMgcmVzb3VyY2UuXG4gICAqL1xuICB1cmk6IHouc3RyaW5nKCksXG4gIC8qKlxuICAgKiBBIGRlc2NyaXB0aW9uIG9mIHdoYXQgdGhpcyByZXNvdXJjZSByZXByZXNlbnRzLlxuICAgKlxuICAgKiBUaGlzIGNhbiBiZSB1c2VkIGJ5IGNsaWVudHMgdG8gaW1wcm92ZSB0aGUgTExNJ3MgdW5kZXJzdGFuZGluZyBvZiBhdmFpbGFibGUgcmVzb3VyY2VzLiBJdCBjYW4gYmUgdGhvdWdodCBvZiBsaWtlIGEgXCJoaW50XCIgdG8gdGhlIG1vZGVsLlxuICAgKi9cbiAgZGVzY3JpcHRpb246IHoub3B0aW9uYWwoei5zdHJpbmcoKSksXG4gIC8qKlxuICAgKiBUaGUgTUlNRSB0eXBlIG9mIHRoaXMgcmVzb3VyY2UsIGlmIGtub3duLlxuICAgKi9cbiAgbWltZVR5cGU6IHoub3B0aW9uYWwoei5zdHJpbmcoKSksXG4gIC8qKlxuICAgKiBTZWUgW01DUCBzcGVjaWZpY2F0aW9uXShodHRwczovL2dpdGh1Yi5jb20vbW9kZWxjb250ZXh0cHJvdG9jb2wvbW9kZWxjb250ZXh0cHJvdG9jb2wvYmxvYi80NzMzOWMwM2MxNDNiYjRlYzAxYTI2ZTcyMWExYjhmZTY2NjM0ZWJlL2RvY3Mvc3BlY2lmaWNhdGlvbi9kcmFmdC9iYXNpYy9pbmRleC5tZHgjZ2VuZXJhbC1maWVsZHMpXG4gICAqIGZvciBub3RlcyBvbiBfbWV0YSB1c2FnZS5cbiAgICovXG4gIF9tZXRhOiB6Lm9wdGlvbmFsKHoub2JqZWN0KHt9KS5wYXNzdGhyb3VnaCgpKVxufSk7XG52YXIgUmVzb3VyY2VUZW1wbGF0ZVNjaGVtYSA9IEJhc2VNZXRhZGF0YVNjaGVtYS5leHRlbmQoe1xuICAvKipcbiAgICogQSBVUkkgdGVtcGxhdGUgKGFjY29yZGluZyB0byBSRkMgNjU3MCkgdGhhdCBjYW4gYmUgdXNlZCB0byBjb25zdHJ1Y3QgcmVzb3VyY2UgVVJJcy5cbiAgICovXG4gIHVyaVRlbXBsYXRlOiB6LnN0cmluZygpLFxuICAvKipcbiAgICogQSBkZXNjcmlwdGlvbiBvZiB3aGF0IHRoaXMgdGVtcGxhdGUgaXMgZm9yLlxuICAgKlxuICAgKiBUaGlzIGNhbiBiZSB1c2VkIGJ5IGNsaWVudHMgdG8gaW1wcm92ZSB0aGUgTExNJ3MgdW5kZXJzdGFuZGluZyBvZiBhdmFpbGFibGUgcmVzb3VyY2VzLiBJdCBjYW4gYmUgdGhvdWdodCBvZiBsaWtlIGEgXCJoaW50XCIgdG8gdGhlIG1vZGVsLlxuICAgKi9cbiAgZGVzY3JpcHRpb246IHoub3B0aW9uYWwoei5zdHJpbmcoKSksXG4gIC8qKlxuICAgKiBUaGUgTUlNRSB0eXBlIGZvciBhbGwgcmVzb3VyY2VzIHRoYXQgbWF0Y2ggdGhpcyB0ZW1wbGF0ZS4gVGhpcyBzaG91bGQgb25seSBiZSBpbmNsdWRlZCBpZiBhbGwgcmVzb3VyY2VzIG1hdGNoaW5nIHRoaXMgdGVtcGxhdGUgaGF2ZSB0aGUgc2FtZSB0eXBlLlxuICAgKi9cbiAgbWltZVR5cGU6IHoub3B0aW9uYWwoei5zdHJpbmcoKSksXG4gIC8qKlxuICAgKiBTZWUgW01DUCBzcGVjaWZpY2F0aW9uXShodHRwczovL2dpdGh1Yi5jb20vbW9kZWxjb250ZXh0cHJvdG9jb2wvbW9kZWxjb250ZXh0cHJvdG9jb2wvYmxvYi80NzMzOWMwM2MxNDNiYjRlYzAxYTI2ZTcyMWExYjhmZTY2NjM0ZWJlL2RvY3Mvc3BlY2lmaWNhdGlvbi9kcmFmdC9iYXNpYy9pbmRleC5tZHgjZ2VuZXJhbC1maWVsZHMpXG4gICAqIGZvciBub3RlcyBvbiBfbWV0YSB1c2FnZS5cbiAgICovXG4gIF9tZXRhOiB6Lm9wdGlvbmFsKHoub2JqZWN0KHt9KS5wYXNzdGhyb3VnaCgpKVxufSk7XG52YXIgTGlzdFJlc291cmNlc1JlcXVlc3RTY2hlbWEgPSBQYWdpbmF0ZWRSZXF1ZXN0U2NoZW1hLmV4dGVuZCh7XG4gIG1ldGhvZDogei5saXRlcmFsKFwicmVzb3VyY2VzL2xpc3RcIilcbn0pO1xudmFyIExpc3RSZXNvdXJjZXNSZXN1bHRTY2hlbWEgPSBQYWdpbmF0ZWRSZXN1bHRTY2hlbWEuZXh0ZW5kKHtcbiAgcmVzb3VyY2VzOiB6LmFycmF5KFJlc291cmNlU2NoZW1hKVxufSk7XG52YXIgTGlzdFJlc291cmNlVGVtcGxhdGVzUmVxdWVzdFNjaGVtYSA9IFBhZ2luYXRlZFJlcXVlc3RTY2hlbWEuZXh0ZW5kKHtcbiAgbWV0aG9kOiB6LmxpdGVyYWwoXCJyZXNvdXJjZXMvdGVtcGxhdGVzL2xpc3RcIilcbn0pO1xudmFyIExpc3RSZXNvdXJjZVRlbXBsYXRlc1Jlc3VsdFNjaGVtYSA9IFBhZ2luYXRlZFJlc3VsdFNjaGVtYS5leHRlbmQoe1xuICByZXNvdXJjZVRlbXBsYXRlczogei5hcnJheShSZXNvdXJjZVRlbXBsYXRlU2NoZW1hKVxufSk7XG52YXIgUmVhZFJlc291cmNlUmVxdWVzdFNjaGVtYSA9IFJlcXVlc3RTY2hlbWEuZXh0ZW5kKHtcbiAgbWV0aG9kOiB6LmxpdGVyYWwoXCJyZXNvdXJjZXMvcmVhZFwiKSxcbiAgcGFyYW1zOiBCYXNlUmVxdWVzdFBhcmFtc1NjaGVtYS5leHRlbmQoe1xuICAgIC8qKlxuICAgICAqIFRoZSBVUkkgb2YgdGhlIHJlc291cmNlIHRvIHJlYWQuIFRoZSBVUkkgY2FuIHVzZSBhbnkgcHJvdG9jb2w7IGl0IGlzIHVwIHRvIHRoZSBzZXJ2ZXIgaG93IHRvIGludGVycHJldCBpdC5cbiAgICAgKi9cbiAgICB1cmk6IHouc3RyaW5nKClcbiAgfSlcbn0pO1xudmFyIFJlYWRSZXNvdXJjZVJlc3VsdFNjaGVtYSA9IFJlc3VsdFNjaGVtYS5leHRlbmQoe1xuICBjb250ZW50czogei5hcnJheSh6LnVuaW9uKFtUZXh0UmVzb3VyY2VDb250ZW50c1NjaGVtYSwgQmxvYlJlc291cmNlQ29udGVudHNTY2hlbWFdKSlcbn0pO1xudmFyIFJlc291cmNlTGlzdENoYW5nZWROb3RpZmljYXRpb25TY2hlbWEgPSBOb3RpZmljYXRpb25TY2hlbWEuZXh0ZW5kKHtcbiAgbWV0aG9kOiB6LmxpdGVyYWwoXCJub3RpZmljYXRpb25zL3Jlc291cmNlcy9saXN0X2NoYW5nZWRcIilcbn0pO1xudmFyIFN1YnNjcmliZVJlcXVlc3RTY2hlbWEgPSBSZXF1ZXN0U2NoZW1hLmV4dGVuZCh7XG4gIG1ldGhvZDogei5saXRlcmFsKFwicmVzb3VyY2VzL3N1YnNjcmliZVwiKSxcbiAgcGFyYW1zOiBCYXNlUmVxdWVzdFBhcmFtc1NjaGVtYS5leHRlbmQoe1xuICAgIC8qKlxuICAgICAqIFRoZSBVUkkgb2YgdGhlIHJlc291cmNlIHRvIHN1YnNjcmliZSB0by4gVGhlIFVSSSBjYW4gdXNlIGFueSBwcm90b2NvbDsgaXQgaXMgdXAgdG8gdGhlIHNlcnZlciBob3cgdG8gaW50ZXJwcmV0IGl0LlxuICAgICAqL1xuICAgIHVyaTogei5zdHJpbmcoKVxuICB9KVxufSk7XG52YXIgVW5zdWJzY3JpYmVSZXF1ZXN0U2NoZW1hID0gUmVxdWVzdFNjaGVtYS5leHRlbmQoe1xuICBtZXRob2Q6IHoubGl0ZXJhbChcInJlc291cmNlcy91bnN1YnNjcmliZVwiKSxcbiAgcGFyYW1zOiBCYXNlUmVxdWVzdFBhcmFtc1NjaGVtYS5leHRlbmQoe1xuICAgIC8qKlxuICAgICAqIFRoZSBVUkkgb2YgdGhlIHJlc291cmNlIHRvIHVuc3Vic2NyaWJlIGZyb20uXG4gICAgICovXG4gICAgdXJpOiB6LnN0cmluZygpXG4gIH0pXG59KTtcbnZhciBSZXNvdXJjZVVwZGF0ZWROb3RpZmljYXRpb25TY2hlbWEgPSBOb3RpZmljYXRpb25TY2hlbWEuZXh0ZW5kKHtcbiAgbWV0aG9kOiB6LmxpdGVyYWwoXCJub3RpZmljYXRpb25zL3Jlc291cmNlcy91cGRhdGVkXCIpLFxuICBwYXJhbXM6IEJhc2VOb3RpZmljYXRpb25QYXJhbXNTY2hlbWEuZXh0ZW5kKHtcbiAgICAvKipcbiAgICAgKiBUaGUgVVJJIG9mIHRoZSByZXNvdXJjZSB0aGF0IGhhcyBiZWVuIHVwZGF0ZWQuIFRoaXMgbWlnaHQgYmUgYSBzdWItcmVzb3VyY2Ugb2YgdGhlIG9uZSB0aGF0IHRoZSBjbGllbnQgYWN0dWFsbHkgc3Vic2NyaWJlZCB0by5cbiAgICAgKi9cbiAgICB1cmk6IHouc3RyaW5nKClcbiAgfSlcbn0pO1xudmFyIFByb21wdEFyZ3VtZW50U2NoZW1hID0gei5vYmplY3Qoe1xuICAvKipcbiAgICogVGhlIG5hbWUgb2YgdGhlIGFyZ3VtZW50LlxuICAgKi9cbiAgbmFtZTogei5zdHJpbmcoKSxcbiAgLyoqXG4gICAqIEEgaHVtYW4tcmVhZGFibGUgZGVzY3JpcHRpb24gb2YgdGhlIGFyZ3VtZW50LlxuICAgKi9cbiAgZGVzY3JpcHRpb246IHoub3B0aW9uYWwoei5zdHJpbmcoKSksXG4gIC8qKlxuICAgKiBXaGV0aGVyIHRoaXMgYXJndW1lbnQgbXVzdCBiZSBwcm92aWRlZC5cbiAgICovXG4gIHJlcXVpcmVkOiB6Lm9wdGlvbmFsKHouYm9vbGVhbigpKVxufSkucGFzc3Rocm91Z2goKTtcbnZhciBQcm9tcHRTY2hlbWEgPSBCYXNlTWV0YWRhdGFTY2hlbWEuZXh0ZW5kKHtcbiAgLyoqXG4gICAqIEFuIG9wdGlvbmFsIGRlc2NyaXB0aW9uIG9mIHdoYXQgdGhpcyBwcm9tcHQgcHJvdmlkZXNcbiAgICovXG4gIGRlc2NyaXB0aW9uOiB6Lm9wdGlvbmFsKHouc3RyaW5nKCkpLFxuICAvKipcbiAgICogQSBsaXN0IG9mIGFyZ3VtZW50cyB0byB1c2UgZm9yIHRlbXBsYXRpbmcgdGhlIHByb21wdC5cbiAgICovXG4gIGFyZ3VtZW50czogei5vcHRpb25hbCh6LmFycmF5KFByb21wdEFyZ3VtZW50U2NoZW1hKSksXG4gIC8qKlxuICAgKiBTZWUgW01DUCBzcGVjaWZpY2F0aW9uXShodHRwczovL2dpdGh1Yi5jb20vbW9kZWxjb250ZXh0cHJvdG9jb2wvbW9kZWxjb250ZXh0cHJvdG9jb2wvYmxvYi80NzMzOWMwM2MxNDNiYjRlYzAxYTI2ZTcyMWExYjhmZTY2NjM0ZWJlL2RvY3Mvc3BlY2lmaWNhdGlvbi9kcmFmdC9iYXNpYy9pbmRleC5tZHgjZ2VuZXJhbC1maWVsZHMpXG4gICAqIGZvciBub3RlcyBvbiBfbWV0YSB1c2FnZS5cbiAgICovXG4gIF9tZXRhOiB6Lm9wdGlvbmFsKHoub2JqZWN0KHt9KS5wYXNzdGhyb3VnaCgpKVxufSk7XG52YXIgTGlzdFByb21wdHNSZXF1ZXN0U2NoZW1hID0gUGFnaW5hdGVkUmVxdWVzdFNjaGVtYS5leHRlbmQoe1xuICBtZXRob2Q6IHoubGl0ZXJhbChcInByb21wdHMvbGlzdFwiKVxufSk7XG52YXIgTGlzdFByb21wdHNSZXN1bHRTY2hlbWEgPSBQYWdpbmF0ZWRSZXN1bHRTY2hlbWEuZXh0ZW5kKHtcbiAgcHJvbXB0czogei5hcnJheShQcm9tcHRTY2hlbWEpXG59KTtcbnZhciBHZXRQcm9tcHRSZXF1ZXN0U2NoZW1hID0gUmVxdWVzdFNjaGVtYS5leHRlbmQoe1xuICBtZXRob2Q6IHoubGl0ZXJhbChcInByb21wdHMvZ2V0XCIpLFxuICBwYXJhbXM6IEJhc2VSZXF1ZXN0UGFyYW1zU2NoZW1hLmV4dGVuZCh7XG4gICAgLyoqXG4gICAgICogVGhlIG5hbWUgb2YgdGhlIHByb21wdCBvciBwcm9tcHQgdGVtcGxhdGUuXG4gICAgICovXG4gICAgbmFtZTogei5zdHJpbmcoKSxcbiAgICAvKipcbiAgICAgKiBBcmd1bWVudHMgdG8gdXNlIGZvciB0ZW1wbGF0aW5nIHRoZSBwcm9tcHQuXG4gICAgICovXG4gICAgYXJndW1lbnRzOiB6Lm9wdGlvbmFsKHoucmVjb3JkKHouc3RyaW5nKCkpKVxuICB9KVxufSk7XG52YXIgVGV4dENvbnRlbnRTY2hlbWEgPSB6Lm9iamVjdCh7XG4gIHR5cGU6IHoubGl0ZXJhbChcInRleHRcIiksXG4gIC8qKlxuICAgKiBUaGUgdGV4dCBjb250ZW50IG9mIHRoZSBtZXNzYWdlLlxuICAgKi9cbiAgdGV4dDogei5zdHJpbmcoKSxcbiAgLyoqXG4gICAqIFNlZSBbTUNQIHNwZWNpZmljYXRpb25dKGh0dHBzOi8vZ2l0aHViLmNvbS9tb2RlbGNvbnRleHRwcm90b2NvbC9tb2RlbGNvbnRleHRwcm90b2NvbC9ibG9iLzQ3MzM5YzAzYzE0M2JiNGVjMDFhMjZlNzIxYTFiOGZlNjY2MzRlYmUvZG9jcy9zcGVjaWZpY2F0aW9uL2RyYWZ0L2Jhc2ljL2luZGV4Lm1keCNnZW5lcmFsLWZpZWxkcylcbiAgICogZm9yIG5vdGVzIG9uIF9tZXRhIHVzYWdlLlxuICAgKi9cbiAgX21ldGE6IHoub3B0aW9uYWwoei5vYmplY3Qoe30pLnBhc3N0aHJvdWdoKCkpXG59KS5wYXNzdGhyb3VnaCgpO1xudmFyIEltYWdlQ29udGVudFNjaGVtYSA9IHoub2JqZWN0KHtcbiAgdHlwZTogei5saXRlcmFsKFwiaW1hZ2VcIiksXG4gIC8qKlxuICAgKiBUaGUgYmFzZTY0LWVuY29kZWQgaW1hZ2UgZGF0YS5cbiAgICovXG4gIGRhdGE6IEJhc2U2NFNjaGVtYSxcbiAgLyoqXG4gICAqIFRoZSBNSU1FIHR5cGUgb2YgdGhlIGltYWdlLiBEaWZmZXJlbnQgcHJvdmlkZXJzIG1heSBzdXBwb3J0IGRpZmZlcmVudCBpbWFnZSB0eXBlcy5cbiAgICovXG4gIG1pbWVUeXBlOiB6LnN0cmluZygpLFxuICAvKipcbiAgICogU2VlIFtNQ1Agc3BlY2lmaWNhdGlvbl0oaHR0cHM6Ly9naXRodWIuY29tL21vZGVsY29udGV4dHByb3RvY29sL21vZGVsY29udGV4dHByb3RvY29sL2Jsb2IvNDczMzljMDNjMTQzYmI0ZWMwMWEyNmU3MjFhMWI4ZmU2NjYzNGViZS9kb2NzL3NwZWNpZmljYXRpb24vZHJhZnQvYmFzaWMvaW5kZXgubWR4I2dlbmVyYWwtZmllbGRzKVxuICAgKiBmb3Igbm90ZXMgb24gX21ldGEgdXNhZ2UuXG4gICAqL1xuICBfbWV0YTogei5vcHRpb25hbCh6Lm9iamVjdCh7fSkucGFzc3Rocm91Z2goKSlcbn0pLnBhc3N0aHJvdWdoKCk7XG52YXIgQXVkaW9Db250ZW50U2NoZW1hID0gei5vYmplY3Qoe1xuICB0eXBlOiB6LmxpdGVyYWwoXCJhdWRpb1wiKSxcbiAgLyoqXG4gICAqIFRoZSBiYXNlNjQtZW5jb2RlZCBhdWRpbyBkYXRhLlxuICAgKi9cbiAgZGF0YTogQmFzZTY0U2NoZW1hLFxuICAvKipcbiAgICogVGhlIE1JTUUgdHlwZSBvZiB0aGUgYXVkaW8uIERpZmZlcmVudCBwcm92aWRlcnMgbWF5IHN1cHBvcnQgZGlmZmVyZW50IGF1ZGlvIHR5cGVzLlxuICAgKi9cbiAgbWltZVR5cGU6IHouc3RyaW5nKCksXG4gIC8qKlxuICAgKiBTZWUgW01DUCBzcGVjaWZpY2F0aW9uXShodHRwczovL2dpdGh1Yi5jb20vbW9kZWxjb250ZXh0cHJvdG9jb2wvbW9kZWxjb250ZXh0cHJvdG9jb2wvYmxvYi80NzMzOWMwM2MxNDNiYjRlYzAxYTI2ZTcyMWExYjhmZTY2NjM0ZWJlL2RvY3Mvc3BlY2lmaWNhdGlvbi9kcmFmdC9iYXNpYy9pbmRleC5tZHgjZ2VuZXJhbC1maWVsZHMpXG4gICAqIGZvciBub3RlcyBvbiBfbWV0YSB1c2FnZS5cbiAgICovXG4gIF9tZXRhOiB6Lm9wdGlvbmFsKHoub2JqZWN0KHt9KS5wYXNzdGhyb3VnaCgpKVxufSkucGFzc3Rocm91Z2goKTtcbnZhciBFbWJlZGRlZFJlc291cmNlU2NoZW1hID0gei5vYmplY3Qoe1xuICB0eXBlOiB6LmxpdGVyYWwoXCJyZXNvdXJjZVwiKSxcbiAgcmVzb3VyY2U6IHoudW5pb24oW1RleHRSZXNvdXJjZUNvbnRlbnRzU2NoZW1hLCBCbG9iUmVzb3VyY2VDb250ZW50c1NjaGVtYV0pLFxuICAvKipcbiAgICogU2VlIFtNQ1Agc3BlY2lmaWNhdGlvbl0oaHR0cHM6Ly9naXRodWIuY29tL21vZGVsY29udGV4dHByb3RvY29sL21vZGVsY29udGV4dHByb3RvY29sL2Jsb2IvNDczMzljMDNjMTQzYmI0ZWMwMWEyNmU3MjFhMWI4ZmU2NjYzNGViZS9kb2NzL3NwZWNpZmljYXRpb24vZHJhZnQvYmFzaWMvaW5kZXgubWR4I2dlbmVyYWwtZmllbGRzKVxuICAgKiBmb3Igbm90ZXMgb24gX21ldGEgdXNhZ2UuXG4gICAqL1xuICBfbWV0YTogei5vcHRpb25hbCh6Lm9iamVjdCh7fSkucGFzc3Rocm91Z2goKSlcbn0pLnBhc3N0aHJvdWdoKCk7XG52YXIgUmVzb3VyY2VMaW5rU2NoZW1hID0gUmVzb3VyY2VTY2hlbWEuZXh0ZW5kKHtcbiAgdHlwZTogei5saXRlcmFsKFwicmVzb3VyY2VfbGlua1wiKVxufSk7XG52YXIgQ29udGVudEJsb2NrU2NoZW1hID0gei51bmlvbihbXG4gIFRleHRDb250ZW50U2NoZW1hLFxuICBJbWFnZUNvbnRlbnRTY2hlbWEsXG4gIEF1ZGlvQ29udGVudFNjaGVtYSxcbiAgUmVzb3VyY2VMaW5rU2NoZW1hLFxuICBFbWJlZGRlZFJlc291cmNlU2NoZW1hXG5dKTtcbnZhciBQcm9tcHRNZXNzYWdlU2NoZW1hID0gei5vYmplY3Qoe1xuICByb2xlOiB6LmVudW0oW1widXNlclwiLCBcImFzc2lzdGFudFwiXSksXG4gIGNvbnRlbnQ6IENvbnRlbnRCbG9ja1NjaGVtYVxufSkucGFzc3Rocm91Z2goKTtcbnZhciBHZXRQcm9tcHRSZXN1bHRTY2hlbWEgPSBSZXN1bHRTY2hlbWEuZXh0ZW5kKHtcbiAgLyoqXG4gICAqIEFuIG9wdGlvbmFsIGRlc2NyaXB0aW9uIGZvciB0aGUgcHJvbXB0LlxuICAgKi9cbiAgZGVzY3JpcHRpb246IHoub3B0aW9uYWwoei5zdHJpbmcoKSksXG4gIG1lc3NhZ2VzOiB6LmFycmF5KFByb21wdE1lc3NhZ2VTY2hlbWEpXG59KTtcbnZhciBQcm9tcHRMaXN0Q2hhbmdlZE5vdGlmaWNhdGlvblNjaGVtYSA9IE5vdGlmaWNhdGlvblNjaGVtYS5leHRlbmQoe1xuICBtZXRob2Q6IHoubGl0ZXJhbChcIm5vdGlmaWNhdGlvbnMvcHJvbXB0cy9saXN0X2NoYW5nZWRcIilcbn0pO1xudmFyIFRvb2xBbm5vdGF0aW9uc1NjaGVtYSA9IHoub2JqZWN0KHtcbiAgLyoqXG4gICAqIEEgaHVtYW4tcmVhZGFibGUgdGl0bGUgZm9yIHRoZSB0b29sLlxuICAgKi9cbiAgdGl0bGU6IHoub3B0aW9uYWwoei5zdHJpbmcoKSksXG4gIC8qKlxuICAgKiBJZiB0cnVlLCB0aGUgdG9vbCBkb2VzIG5vdCBtb2RpZnkgaXRzIGVudmlyb25tZW50LlxuICAgKlxuICAgKiBEZWZhdWx0OiBmYWxzZVxuICAgKi9cbiAgcmVhZE9ubHlIaW50OiB6Lm9wdGlvbmFsKHouYm9vbGVhbigpKSxcbiAgLyoqXG4gICAqIElmIHRydWUsIHRoZSB0b29sIG1heSBwZXJmb3JtIGRlc3RydWN0aXZlIHVwZGF0ZXMgdG8gaXRzIGVudmlyb25tZW50LlxuICAgKiBJZiBmYWxzZSwgdGhlIHRvb2wgcGVyZm9ybXMgb25seSBhZGRpdGl2ZSB1cGRhdGVzLlxuICAgKlxuICAgKiAoVGhpcyBwcm9wZXJ0eSBpcyBtZWFuaW5nZnVsIG9ubHkgd2hlbiBgcmVhZE9ubHlIaW50ID09IGZhbHNlYClcbiAgICpcbiAgICogRGVmYXVsdDogdHJ1ZVxuICAgKi9cbiAgZGVzdHJ1Y3RpdmVIaW50OiB6Lm9wdGlvbmFsKHouYm9vbGVhbigpKSxcbiAgLyoqXG4gICAqIElmIHRydWUsIGNhbGxpbmcgdGhlIHRvb2wgcmVwZWF0ZWRseSB3aXRoIHRoZSBzYW1lIGFyZ3VtZW50c1xuICAgKiB3aWxsIGhhdmUgbm8gYWRkaXRpb25hbCBlZmZlY3Qgb24gdGhlIGl0cyBlbnZpcm9ubWVudC5cbiAgICpcbiAgICogKFRoaXMgcHJvcGVydHkgaXMgbWVhbmluZ2Z1bCBvbmx5IHdoZW4gYHJlYWRPbmx5SGludCA9PSBmYWxzZWApXG4gICAqXG4gICAqIERlZmF1bHQ6IGZhbHNlXG4gICAqL1xuICBpZGVtcG90ZW50SGludDogei5vcHRpb25hbCh6LmJvb2xlYW4oKSksXG4gIC8qKlxuICAgKiBJZiB0cnVlLCB0aGlzIHRvb2wgbWF5IGludGVyYWN0IHdpdGggYW4gXCJvcGVuIHdvcmxkXCIgb2YgZXh0ZXJuYWxcbiAgICogZW50aXRpZXMuIElmIGZhbHNlLCB0aGUgdG9vbCdzIGRvbWFpbiBvZiBpbnRlcmFjdGlvbiBpcyBjbG9zZWQuXG4gICAqIEZvciBleGFtcGxlLCB0aGUgd29ybGQgb2YgYSB3ZWIgc2VhcmNoIHRvb2wgaXMgb3Blbiwgd2hlcmVhcyB0aGF0XG4gICAqIG9mIGEgbWVtb3J5IHRvb2wgaXMgbm90LlxuICAgKlxuICAgKiBEZWZhdWx0OiB0cnVlXG4gICAqL1xuICBvcGVuV29ybGRIaW50OiB6Lm9wdGlvbmFsKHouYm9vbGVhbigpKVxufSkucGFzc3Rocm91Z2goKTtcbnZhciBUb29sU2NoZW1hID0gQmFzZU1ldGFkYXRhU2NoZW1hLmV4dGVuZCh7XG4gIC8qKlxuICAgKiBBIGh1bWFuLXJlYWRhYmxlIGRlc2NyaXB0aW9uIG9mIHRoZSB0b29sLlxuICAgKi9cbiAgZGVzY3JpcHRpb246IHoub3B0aW9uYWwoei5zdHJpbmcoKSksXG4gIC8qKlxuICAgKiBBIEpTT04gU2NoZW1hIG9iamVjdCBkZWZpbmluZyB0aGUgZXhwZWN0ZWQgcGFyYW1ldGVycyBmb3IgdGhlIHRvb2wuXG4gICAqL1xuICBpbnB1dFNjaGVtYTogei5vYmplY3Qoe1xuICAgIHR5cGU6IHoubGl0ZXJhbChcIm9iamVjdFwiKSxcbiAgICBwcm9wZXJ0aWVzOiB6Lm9wdGlvbmFsKHoub2JqZWN0KHt9KS5wYXNzdGhyb3VnaCgpKSxcbiAgICByZXF1aXJlZDogei5vcHRpb25hbCh6LmFycmF5KHouc3RyaW5nKCkpKVxuICB9KS5wYXNzdGhyb3VnaCgpLFxuICAvKipcbiAgICogQW4gb3B0aW9uYWwgSlNPTiBTY2hlbWEgb2JqZWN0IGRlZmluaW5nIHRoZSBzdHJ1Y3R1cmUgb2YgdGhlIHRvb2wncyBvdXRwdXQgcmV0dXJuZWQgaW5cbiAgICogdGhlIHN0cnVjdHVyZWRDb250ZW50IGZpZWxkIG9mIGEgQ2FsbFRvb2xSZXN1bHQuXG4gICAqL1xuICBvdXRwdXRTY2hlbWE6IHoub3B0aW9uYWwoei5vYmplY3Qoe1xuICAgIHR5cGU6IHoubGl0ZXJhbChcIm9iamVjdFwiKSxcbiAgICBwcm9wZXJ0aWVzOiB6Lm9wdGlvbmFsKHoub2JqZWN0KHt9KS5wYXNzdGhyb3VnaCgpKSxcbiAgICByZXF1aXJlZDogei5vcHRpb25hbCh6LmFycmF5KHouc3RyaW5nKCkpKVxuICB9KS5wYXNzdGhyb3VnaCgpKSxcbiAgLyoqXG4gICAqIE9wdGlvbmFsIGFkZGl0aW9uYWwgdG9vbCBpbmZvcm1hdGlvbi5cbiAgICovXG4gIGFubm90YXRpb25zOiB6Lm9wdGlvbmFsKFRvb2xBbm5vdGF0aW9uc1NjaGVtYSksXG4gIC8qKlxuICAgKiBTZWUgW01DUCBzcGVjaWZpY2F0aW9uXShodHRwczovL2dpdGh1Yi5jb20vbW9kZWxjb250ZXh0cHJvdG9jb2wvbW9kZWxjb250ZXh0cHJvdG9jb2wvYmxvYi80NzMzOWMwM2MxNDNiYjRlYzAxYTI2ZTcyMWExYjhmZTY2NjM0ZWJlL2RvY3Mvc3BlY2lmaWNhdGlvbi9kcmFmdC9iYXNpYy9pbmRleC5tZHgjZ2VuZXJhbC1maWVsZHMpXG4gICAqIGZvciBub3RlcyBvbiBfbWV0YSB1c2FnZS5cbiAgICovXG4gIF9tZXRhOiB6Lm9wdGlvbmFsKHoub2JqZWN0KHt9KS5wYXNzdGhyb3VnaCgpKVxufSk7XG52YXIgTGlzdFRvb2xzUmVxdWVzdFNjaGVtYSA9IFBhZ2luYXRlZFJlcXVlc3RTY2hlbWEuZXh0ZW5kKHtcbiAgbWV0aG9kOiB6LmxpdGVyYWwoXCJ0b29scy9saXN0XCIpXG59KTtcbnZhciBMaXN0VG9vbHNSZXN1bHRTY2hlbWEgPSBQYWdpbmF0ZWRSZXN1bHRTY2hlbWEuZXh0ZW5kKHtcbiAgdG9vbHM6IHouYXJyYXkoVG9vbFNjaGVtYSlcbn0pO1xudmFyIENhbGxUb29sUmVzdWx0U2NoZW1hID0gUmVzdWx0U2NoZW1hLmV4dGVuZCh7XG4gIC8qKlxuICAgKiBBIGxpc3Qgb2YgY29udGVudCBvYmplY3RzIHRoYXQgcmVwcmVzZW50IHRoZSByZXN1bHQgb2YgdGhlIHRvb2wgY2FsbC5cbiAgICpcbiAgICogSWYgdGhlIFRvb2wgZG9lcyBub3QgZGVmaW5lIGFuIG91dHB1dFNjaGVtYSwgdGhpcyBmaWVsZCBNVVNUIGJlIHByZXNlbnQgaW4gdGhlIHJlc3VsdC5cbiAgICogRm9yIGJhY2t3YXJkcyBjb21wYXRpYmlsaXR5LCB0aGlzIGZpZWxkIGlzIGFsd2F5cyBwcmVzZW50LCBidXQgaXQgbWF5IGJlIGVtcHR5LlxuICAgKi9cbiAgY29udGVudDogei5hcnJheShDb250ZW50QmxvY2tTY2hlbWEpLmRlZmF1bHQoW10pLFxuICAvKipcbiAgICogQW4gb2JqZWN0IGNvbnRhaW5pbmcgc3RydWN0dXJlZCB0b29sIG91dHB1dC5cbiAgICpcbiAgICogSWYgdGhlIFRvb2wgZGVmaW5lcyBhbiBvdXRwdXRTY2hlbWEsIHRoaXMgZmllbGQgTVVTVCBiZSBwcmVzZW50IGluIHRoZSByZXN1bHQsIGFuZCBjb250YWluIGEgSlNPTiBvYmplY3QgdGhhdCBtYXRjaGVzIHRoZSBzY2hlbWEuXG4gICAqL1xuICBzdHJ1Y3R1cmVkQ29udGVudDogei5vYmplY3Qoe30pLnBhc3N0aHJvdWdoKCkub3B0aW9uYWwoKSxcbiAgLyoqXG4gICAqIFdoZXRoZXIgdGhlIHRvb2wgY2FsbCBlbmRlZCBpbiBhbiBlcnJvci5cbiAgICpcbiAgICogSWYgbm90IHNldCwgdGhpcyBpcyBhc3N1bWVkIHRvIGJlIGZhbHNlICh0aGUgY2FsbCB3YXMgc3VjY2Vzc2Z1bCkuXG4gICAqXG4gICAqIEFueSBlcnJvcnMgdGhhdCBvcmlnaW5hdGUgZnJvbSB0aGUgdG9vbCBTSE9VTEQgYmUgcmVwb3J0ZWQgaW5zaWRlIHRoZSByZXN1bHRcbiAgICogb2JqZWN0LCB3aXRoIGBpc0Vycm9yYCBzZXQgdG8gdHJ1ZSwgX25vdF8gYXMgYW4gTUNQIHByb3RvY29sLWxldmVsIGVycm9yXG4gICAqIHJlc3BvbnNlLiBPdGhlcndpc2UsIHRoZSBMTE0gd291bGQgbm90IGJlIGFibGUgdG8gc2VlIHRoYXQgYW4gZXJyb3Igb2NjdXJyZWRcbiAgICogYW5kIHNlbGYtY29ycmVjdC5cbiAgICpcbiAgICogSG93ZXZlciwgYW55IGVycm9ycyBpbiBfZmluZGluZ18gdGhlIHRvb2wsIGFuIGVycm9yIGluZGljYXRpbmcgdGhhdCB0aGVcbiAgICogc2VydmVyIGRvZXMgbm90IHN1cHBvcnQgdG9vbCBjYWxscywgb3IgYW55IG90aGVyIGV4Y2VwdGlvbmFsIGNvbmRpdGlvbnMsXG4gICAqIHNob3VsZCBiZSByZXBvcnRlZCBhcyBhbiBNQ1AgZXJyb3IgcmVzcG9uc2UuXG4gICAqL1xuICBpc0Vycm9yOiB6Lm9wdGlvbmFsKHouYm9vbGVhbigpKVxufSk7XG52YXIgQ29tcGF0aWJpbGl0eUNhbGxUb29sUmVzdWx0U2NoZW1hID0gQ2FsbFRvb2xSZXN1bHRTY2hlbWEub3IoUmVzdWx0U2NoZW1hLmV4dGVuZCh7XG4gIHRvb2xSZXN1bHQ6IHoudW5rbm93bigpXG59KSk7XG52YXIgQ2FsbFRvb2xSZXF1ZXN0U2NoZW1hID0gUmVxdWVzdFNjaGVtYS5leHRlbmQoe1xuICBtZXRob2Q6IHoubGl0ZXJhbChcInRvb2xzL2NhbGxcIiksXG4gIHBhcmFtczogQmFzZVJlcXVlc3RQYXJhbXNTY2hlbWEuZXh0ZW5kKHtcbiAgICBuYW1lOiB6LnN0cmluZygpLFxuICAgIGFyZ3VtZW50czogei5vcHRpb25hbCh6LnJlY29yZCh6LnVua25vd24oKSkpXG4gIH0pXG59KTtcbnZhciBUb29sTGlzdENoYW5nZWROb3RpZmljYXRpb25TY2hlbWEgPSBOb3RpZmljYXRpb25TY2hlbWEuZXh0ZW5kKHtcbiAgbWV0aG9kOiB6LmxpdGVyYWwoXCJub3RpZmljYXRpb25zL3Rvb2xzL2xpc3RfY2hhbmdlZFwiKVxufSk7XG52YXIgTG9nZ2luZ0xldmVsU2NoZW1hID0gei5lbnVtKFtcbiAgXCJkZWJ1Z1wiLFxuICBcImluZm9cIixcbiAgXCJub3RpY2VcIixcbiAgXCJ3YXJuaW5nXCIsXG4gIFwiZXJyb3JcIixcbiAgXCJjcml0aWNhbFwiLFxuICBcImFsZXJ0XCIsXG4gIFwiZW1lcmdlbmN5XCJcbl0pO1xudmFyIFNldExldmVsUmVxdWVzdFNjaGVtYSA9IFJlcXVlc3RTY2hlbWEuZXh0ZW5kKHtcbiAgbWV0aG9kOiB6LmxpdGVyYWwoXCJsb2dnaW5nL3NldExldmVsXCIpLFxuICBwYXJhbXM6IEJhc2VSZXF1ZXN0UGFyYW1zU2NoZW1hLmV4dGVuZCh7XG4gICAgLyoqXG4gICAgICogVGhlIGxldmVsIG9mIGxvZ2dpbmcgdGhhdCB0aGUgY2xpZW50IHdhbnRzIHRvIHJlY2VpdmUgZnJvbSB0aGUgc2VydmVyLiBUaGUgc2VydmVyIHNob3VsZCBzZW5kIGFsbCBsb2dzIGF0IHRoaXMgbGV2ZWwgYW5kIGhpZ2hlciAoaS5lLiwgbW9yZSBzZXZlcmUpIHRvIHRoZSBjbGllbnQgYXMgbm90aWZpY2F0aW9ucy9sb2dnaW5nL21lc3NhZ2UuXG4gICAgICovXG4gICAgbGV2ZWw6IExvZ2dpbmdMZXZlbFNjaGVtYVxuICB9KVxufSk7XG52YXIgTG9nZ2luZ01lc3NhZ2VOb3RpZmljYXRpb25TY2hlbWEgPSBOb3RpZmljYXRpb25TY2hlbWEuZXh0ZW5kKHtcbiAgbWV0aG9kOiB6LmxpdGVyYWwoXCJub3RpZmljYXRpb25zL21lc3NhZ2VcIiksXG4gIHBhcmFtczogQmFzZU5vdGlmaWNhdGlvblBhcmFtc1NjaGVtYS5leHRlbmQoe1xuICAgIC8qKlxuICAgICAqIFRoZSBzZXZlcml0eSBvZiB0aGlzIGxvZyBtZXNzYWdlLlxuICAgICAqL1xuICAgIGxldmVsOiBMb2dnaW5nTGV2ZWxTY2hlbWEsXG4gICAgLyoqXG4gICAgICogQW4gb3B0aW9uYWwgbmFtZSBvZiB0aGUgbG9nZ2VyIGlzc3VpbmcgdGhpcyBtZXNzYWdlLlxuICAgICAqL1xuICAgIGxvZ2dlcjogei5vcHRpb25hbCh6LnN0cmluZygpKSxcbiAgICAvKipcbiAgICAgKiBUaGUgZGF0YSB0byBiZSBsb2dnZWQsIHN1Y2ggYXMgYSBzdHJpbmcgbWVzc2FnZSBvciBhbiBvYmplY3QuIEFueSBKU09OIHNlcmlhbGl6YWJsZSB0eXBlIGlzIGFsbG93ZWQgaGVyZS5cbiAgICAgKi9cbiAgICBkYXRhOiB6LnVua25vd24oKVxuICB9KVxufSk7XG52YXIgTW9kZWxIaW50U2NoZW1hID0gei5vYmplY3Qoe1xuICAvKipcbiAgICogQSBoaW50IGZvciBhIG1vZGVsIG5hbWUuXG4gICAqL1xuICBuYW1lOiB6LnN0cmluZygpLm9wdGlvbmFsKClcbn0pLnBhc3N0aHJvdWdoKCk7XG52YXIgTW9kZWxQcmVmZXJlbmNlc1NjaGVtYSA9IHoub2JqZWN0KHtcbiAgLyoqXG4gICAqIE9wdGlvbmFsIGhpbnRzIHRvIHVzZSBmb3IgbW9kZWwgc2VsZWN0aW9uLlxuICAgKi9cbiAgaGludHM6IHoub3B0aW9uYWwoei5hcnJheShNb2RlbEhpbnRTY2hlbWEpKSxcbiAgLyoqXG4gICAqIEhvdyBtdWNoIHRvIHByaW9yaXRpemUgY29zdCB3aGVuIHNlbGVjdGluZyBhIG1vZGVsLlxuICAgKi9cbiAgY29zdFByaW9yaXR5OiB6Lm9wdGlvbmFsKHoubnVtYmVyKCkubWluKDApLm1heCgxKSksXG4gIC8qKlxuICAgKiBIb3cgbXVjaCB0byBwcmlvcml0aXplIHNhbXBsaW5nIHNwZWVkIChsYXRlbmN5KSB3aGVuIHNlbGVjdGluZyBhIG1vZGVsLlxuICAgKi9cbiAgc3BlZWRQcmlvcml0eTogei5vcHRpb25hbCh6Lm51bWJlcigpLm1pbigwKS5tYXgoMSkpLFxuICAvKipcbiAgICogSG93IG11Y2ggdG8gcHJpb3JpdGl6ZSBpbnRlbGxpZ2VuY2UgYW5kIGNhcGFiaWxpdGllcyB3aGVuIHNlbGVjdGluZyBhIG1vZGVsLlxuICAgKi9cbiAgaW50ZWxsaWdlbmNlUHJpb3JpdHk6IHoub3B0aW9uYWwoei5udW1iZXIoKS5taW4oMCkubWF4KDEpKVxufSkucGFzc3Rocm91Z2goKTtcbnZhciBTYW1wbGluZ01lc3NhZ2VTY2hlbWEgPSB6Lm9iamVjdCh7XG4gIHJvbGU6IHouZW51bShbXCJ1c2VyXCIsIFwiYXNzaXN0YW50XCJdKSxcbiAgY29udGVudDogei51bmlvbihbVGV4dENvbnRlbnRTY2hlbWEsIEltYWdlQ29udGVudFNjaGVtYSwgQXVkaW9Db250ZW50U2NoZW1hXSlcbn0pLnBhc3N0aHJvdWdoKCk7XG52YXIgQ3JlYXRlTWVzc2FnZVJlcXVlc3RTY2hlbWEgPSBSZXF1ZXN0U2NoZW1hLmV4dGVuZCh7XG4gIG1ldGhvZDogei5saXRlcmFsKFwic2FtcGxpbmcvY3JlYXRlTWVzc2FnZVwiKSxcbiAgcGFyYW1zOiBCYXNlUmVxdWVzdFBhcmFtc1NjaGVtYS5leHRlbmQoe1xuICAgIG1lc3NhZ2VzOiB6LmFycmF5KFNhbXBsaW5nTWVzc2FnZVNjaGVtYSksXG4gICAgLyoqXG4gICAgICogQW4gb3B0aW9uYWwgc3lzdGVtIHByb21wdCB0aGUgc2VydmVyIHdhbnRzIHRvIHVzZSBmb3Igc2FtcGxpbmcuIFRoZSBjbGllbnQgTUFZIG1vZGlmeSBvciBvbWl0IHRoaXMgcHJvbXB0LlxuICAgICAqL1xuICAgIHN5c3RlbVByb21wdDogei5vcHRpb25hbCh6LnN0cmluZygpKSxcbiAgICAvKipcbiAgICAgKiBBIHJlcXVlc3QgdG8gaW5jbHVkZSBjb250ZXh0IGZyb20gb25lIG9yIG1vcmUgTUNQIHNlcnZlcnMgKGluY2x1ZGluZyB0aGUgY2FsbGVyKSwgdG8gYmUgYXR0YWNoZWQgdG8gdGhlIHByb21wdC4gVGhlIGNsaWVudCBNQVkgaWdub3JlIHRoaXMgcmVxdWVzdC5cbiAgICAgKi9cbiAgICBpbmNsdWRlQ29udGV4dDogei5vcHRpb25hbCh6LmVudW0oW1wibm9uZVwiLCBcInRoaXNTZXJ2ZXJcIiwgXCJhbGxTZXJ2ZXJzXCJdKSksXG4gICAgdGVtcGVyYXR1cmU6IHoub3B0aW9uYWwoei5udW1iZXIoKSksXG4gICAgLyoqXG4gICAgICogVGhlIG1heGltdW0gbnVtYmVyIG9mIHRva2VucyB0byBzYW1wbGUsIGFzIHJlcXVlc3RlZCBieSB0aGUgc2VydmVyLiBUaGUgY2xpZW50IE1BWSBjaG9vc2UgdG8gc2FtcGxlIGZld2VyIHRva2VucyB0aGFuIHJlcXVlc3RlZC5cbiAgICAgKi9cbiAgICBtYXhUb2tlbnM6IHoubnVtYmVyKCkuaW50KCksXG4gICAgc3RvcFNlcXVlbmNlczogei5vcHRpb25hbCh6LmFycmF5KHouc3RyaW5nKCkpKSxcbiAgICAvKipcbiAgICAgKiBPcHRpb25hbCBtZXRhZGF0YSB0byBwYXNzIHRocm91Z2ggdG8gdGhlIExMTSBwcm92aWRlci4gVGhlIGZvcm1hdCBvZiB0aGlzIG1ldGFkYXRhIGlzIHByb3ZpZGVyLXNwZWNpZmljLlxuICAgICAqL1xuICAgIG1ldGFkYXRhOiB6Lm9wdGlvbmFsKHoub2JqZWN0KHt9KS5wYXNzdGhyb3VnaCgpKSxcbiAgICAvKipcbiAgICAgKiBUaGUgc2VydmVyJ3MgcHJlZmVyZW5jZXMgZm9yIHdoaWNoIG1vZGVsIHRvIHNlbGVjdC5cbiAgICAgKi9cbiAgICBtb2RlbFByZWZlcmVuY2VzOiB6Lm9wdGlvbmFsKE1vZGVsUHJlZmVyZW5jZXNTY2hlbWEpXG4gIH0pXG59KTtcbnZhciBDcmVhdGVNZXNzYWdlUmVzdWx0U2NoZW1hID0gUmVzdWx0U2NoZW1hLmV4dGVuZCh7XG4gIC8qKlxuICAgKiBUaGUgbmFtZSBvZiB0aGUgbW9kZWwgdGhhdCBnZW5lcmF0ZWQgdGhlIG1lc3NhZ2UuXG4gICAqL1xuICBtb2RlbDogei5zdHJpbmcoKSxcbiAgLyoqXG4gICAqIFRoZSByZWFzb24gd2h5IHNhbXBsaW5nIHN0b3BwZWQuXG4gICAqL1xuICBzdG9wUmVhc29uOiB6Lm9wdGlvbmFsKHouZW51bShbXCJlbmRUdXJuXCIsIFwic3RvcFNlcXVlbmNlXCIsIFwibWF4VG9rZW5zXCJdKS5vcih6LnN0cmluZygpKSksXG4gIHJvbGU6IHouZW51bShbXCJ1c2VyXCIsIFwiYXNzaXN0YW50XCJdKSxcbiAgY29udGVudDogei5kaXNjcmltaW5hdGVkVW5pb24oXCJ0eXBlXCIsIFtcbiAgICBUZXh0Q29udGVudFNjaGVtYSxcbiAgICBJbWFnZUNvbnRlbnRTY2hlbWEsXG4gICAgQXVkaW9Db250ZW50U2NoZW1hXG4gIF0pXG59KTtcbnZhciBCb29sZWFuU2NoZW1hU2NoZW1hID0gei5vYmplY3Qoe1xuICB0eXBlOiB6LmxpdGVyYWwoXCJib29sZWFuXCIpLFxuICB0aXRsZTogei5vcHRpb25hbCh6LnN0cmluZygpKSxcbiAgZGVzY3JpcHRpb246IHoub3B0aW9uYWwoei5zdHJpbmcoKSksXG4gIGRlZmF1bHQ6IHoub3B0aW9uYWwoei5ib29sZWFuKCkpXG59KS5wYXNzdGhyb3VnaCgpO1xudmFyIFN0cmluZ1NjaGVtYVNjaGVtYSA9IHoub2JqZWN0KHtcbiAgdHlwZTogei5saXRlcmFsKFwic3RyaW5nXCIpLFxuICB0aXRsZTogei5vcHRpb25hbCh6LnN0cmluZygpKSxcbiAgZGVzY3JpcHRpb246IHoub3B0aW9uYWwoei5zdHJpbmcoKSksXG4gIG1pbkxlbmd0aDogei5vcHRpb25hbCh6Lm51bWJlcigpKSxcbiAgbWF4TGVuZ3RoOiB6Lm9wdGlvbmFsKHoubnVtYmVyKCkpLFxuICBmb3JtYXQ6IHoub3B0aW9uYWwoei5lbnVtKFtcImVtYWlsXCIsIFwidXJpXCIsIFwiZGF0ZVwiLCBcImRhdGUtdGltZVwiXSkpXG59KS5wYXNzdGhyb3VnaCgpO1xudmFyIE51bWJlclNjaGVtYVNjaGVtYSA9IHoub2JqZWN0KHtcbiAgdHlwZTogei5lbnVtKFtcIm51bWJlclwiLCBcImludGVnZXJcIl0pLFxuICB0aXRsZTogei5vcHRpb25hbCh6LnN0cmluZygpKSxcbiAgZGVzY3JpcHRpb246IHoub3B0aW9uYWwoei5zdHJpbmcoKSksXG4gIG1pbmltdW06IHoub3B0aW9uYWwoei5udW1iZXIoKSksXG4gIG1heGltdW06IHoub3B0aW9uYWwoei5udW1iZXIoKSlcbn0pLnBhc3N0aHJvdWdoKCk7XG52YXIgRW51bVNjaGVtYVNjaGVtYSA9IHoub2JqZWN0KHtcbiAgdHlwZTogei5saXRlcmFsKFwic3RyaW5nXCIpLFxuICB0aXRsZTogei5vcHRpb25hbCh6LnN0cmluZygpKSxcbiAgZGVzY3JpcHRpb246IHoub3B0aW9uYWwoei5zdHJpbmcoKSksXG4gIGVudW06IHouYXJyYXkoei5zdHJpbmcoKSksXG4gIGVudW1OYW1lczogei5vcHRpb25hbCh6LmFycmF5KHouc3RyaW5nKCkpKVxufSkucGFzc3Rocm91Z2goKTtcbnZhciBQcmltaXRpdmVTY2hlbWFEZWZpbml0aW9uU2NoZW1hID0gei51bmlvbihbXG4gIEJvb2xlYW5TY2hlbWFTY2hlbWEsXG4gIFN0cmluZ1NjaGVtYVNjaGVtYSxcbiAgTnVtYmVyU2NoZW1hU2NoZW1hLFxuICBFbnVtU2NoZW1hU2NoZW1hXG5dKTtcbnZhciBFbGljaXRSZXF1ZXN0U2NoZW1hID0gUmVxdWVzdFNjaGVtYS5leHRlbmQoe1xuICBtZXRob2Q6IHoubGl0ZXJhbChcImVsaWNpdGF0aW9uL2NyZWF0ZVwiKSxcbiAgcGFyYW1zOiBCYXNlUmVxdWVzdFBhcmFtc1NjaGVtYS5leHRlbmQoe1xuICAgIC8qKlxuICAgICAqIFRoZSBtZXNzYWdlIHRvIHByZXNlbnQgdG8gdGhlIHVzZXIuXG4gICAgICovXG4gICAgbWVzc2FnZTogei5zdHJpbmcoKSxcbiAgICAvKipcbiAgICAgKiBUaGUgc2NoZW1hIGZvciB0aGUgcmVxdWVzdGVkIHVzZXIgaW5wdXQuXG4gICAgICovXG4gICAgcmVxdWVzdGVkU2NoZW1hOiB6Lm9iamVjdCh7XG4gICAgICB0eXBlOiB6LmxpdGVyYWwoXCJvYmplY3RcIiksXG4gICAgICBwcm9wZXJ0aWVzOiB6LnJlY29yZCh6LnN0cmluZygpLCBQcmltaXRpdmVTY2hlbWFEZWZpbml0aW9uU2NoZW1hKSxcbiAgICAgIHJlcXVpcmVkOiB6Lm9wdGlvbmFsKHouYXJyYXkoei5zdHJpbmcoKSkpXG4gICAgfSkucGFzc3Rocm91Z2goKVxuICB9KVxufSk7XG52YXIgRWxpY2l0UmVzdWx0U2NoZW1hID0gUmVzdWx0U2NoZW1hLmV4dGVuZCh7XG4gIC8qKlxuICAgKiBUaGUgdXNlcidzIHJlc3BvbnNlIGFjdGlvbi5cbiAgICovXG4gIGFjdGlvbjogei5lbnVtKFtcImFjY2VwdFwiLCBcImRlY2xpbmVcIiwgXCJjYW5jZWxcIl0pLFxuICAvKipcbiAgICogVGhlIGNvbGxlY3RlZCB1c2VyIGlucHV0IGNvbnRlbnQgKG9ubHkgcHJlc2VudCBpZiBhY3Rpb24gaXMgXCJhY2NlcHRcIikuXG4gICAqL1xuICBjb250ZW50OiB6Lm9wdGlvbmFsKHoucmVjb3JkKHouc3RyaW5nKCksIHoudW5rbm93bigpKSlcbn0pO1xudmFyIFJlc291cmNlVGVtcGxhdGVSZWZlcmVuY2VTY2hlbWEgPSB6Lm9iamVjdCh7XG4gIHR5cGU6IHoubGl0ZXJhbChcInJlZi9yZXNvdXJjZVwiKSxcbiAgLyoqXG4gICAqIFRoZSBVUkkgb3IgVVJJIHRlbXBsYXRlIG9mIHRoZSByZXNvdXJjZS5cbiAgICovXG4gIHVyaTogei5zdHJpbmcoKVxufSkucGFzc3Rocm91Z2goKTtcbnZhciBQcm9tcHRSZWZlcmVuY2VTY2hlbWEgPSB6Lm9iamVjdCh7XG4gIHR5cGU6IHoubGl0ZXJhbChcInJlZi9wcm9tcHRcIiksXG4gIC8qKlxuICAgKiBUaGUgbmFtZSBvZiB0aGUgcHJvbXB0IG9yIHByb21wdCB0ZW1wbGF0ZVxuICAgKi9cbiAgbmFtZTogei5zdHJpbmcoKVxufSkucGFzc3Rocm91Z2goKTtcbnZhciBDb21wbGV0ZVJlcXVlc3RTY2hlbWEgPSBSZXF1ZXN0U2NoZW1hLmV4dGVuZCh7XG4gIG1ldGhvZDogei5saXRlcmFsKFwiY29tcGxldGlvbi9jb21wbGV0ZVwiKSxcbiAgcGFyYW1zOiBCYXNlUmVxdWVzdFBhcmFtc1NjaGVtYS5leHRlbmQoe1xuICAgIHJlZjogei51bmlvbihbUHJvbXB0UmVmZXJlbmNlU2NoZW1hLCBSZXNvdXJjZVRlbXBsYXRlUmVmZXJlbmNlU2NoZW1hXSksXG4gICAgLyoqXG4gICAgICogVGhlIGFyZ3VtZW50J3MgaW5mb3JtYXRpb25cbiAgICAgKi9cbiAgICBhcmd1bWVudDogei5vYmplY3Qoe1xuICAgICAgLyoqXG4gICAgICAgKiBUaGUgbmFtZSBvZiB0aGUgYXJndW1lbnRcbiAgICAgICAqL1xuICAgICAgbmFtZTogei5zdHJpbmcoKSxcbiAgICAgIC8qKlxuICAgICAgICogVGhlIHZhbHVlIG9mIHRoZSBhcmd1bWVudCB0byB1c2UgZm9yIGNvbXBsZXRpb24gbWF0Y2hpbmcuXG4gICAgICAgKi9cbiAgICAgIHZhbHVlOiB6LnN0cmluZygpXG4gICAgfSkucGFzc3Rocm91Z2goKSxcbiAgICBjb250ZXh0OiB6Lm9wdGlvbmFsKHoub2JqZWN0KHtcbiAgICAgIC8qKlxuICAgICAgICogUHJldmlvdXNseS1yZXNvbHZlZCB2YXJpYWJsZXMgaW4gYSBVUkkgdGVtcGxhdGUgb3IgcHJvbXB0LlxuICAgICAgICovXG4gICAgICBhcmd1bWVudHM6IHoub3B0aW9uYWwoei5yZWNvcmQoei5zdHJpbmcoKSwgei5zdHJpbmcoKSkpXG4gICAgfSkpXG4gIH0pXG59KTtcbnZhciBDb21wbGV0ZVJlc3VsdFNjaGVtYSA9IFJlc3VsdFNjaGVtYS5leHRlbmQoe1xuICBjb21wbGV0aW9uOiB6Lm9iamVjdCh7XG4gICAgLyoqXG4gICAgICogQW4gYXJyYXkgb2YgY29tcGxldGlvbiB2YWx1ZXMuIE11c3Qgbm90IGV4Y2VlZCAxMDAgaXRlbXMuXG4gICAgICovXG4gICAgdmFsdWVzOiB6LmFycmF5KHouc3RyaW5nKCkpLm1heCgxMDApLFxuICAgIC8qKlxuICAgICAqIFRoZSB0b3RhbCBudW1iZXIgb2YgY29tcGxldGlvbiBvcHRpb25zIGF2YWlsYWJsZS4gVGhpcyBjYW4gZXhjZWVkIHRoZSBudW1iZXIgb2YgdmFsdWVzIGFjdHVhbGx5IHNlbnQgaW4gdGhlIHJlc3BvbnNlLlxuICAgICAqL1xuICAgIHRvdGFsOiB6Lm9wdGlvbmFsKHoubnVtYmVyKCkuaW50KCkpLFxuICAgIC8qKlxuICAgICAqIEluZGljYXRlcyB3aGV0aGVyIHRoZXJlIGFyZSBhZGRpdGlvbmFsIGNvbXBsZXRpb24gb3B0aW9ucyBiZXlvbmQgdGhvc2UgcHJvdmlkZWQgaW4gdGhlIGN1cnJlbnQgcmVzcG9uc2UsIGV2ZW4gaWYgdGhlIGV4YWN0IHRvdGFsIGlzIHVua25vd24uXG4gICAgICovXG4gICAgaGFzTW9yZTogei5vcHRpb25hbCh6LmJvb2xlYW4oKSlcbiAgfSkucGFzc3Rocm91Z2goKVxufSk7XG52YXIgUm9vdFNjaGVtYSA9IHoub2JqZWN0KHtcbiAgLyoqXG4gICAqIFRoZSBVUkkgaWRlbnRpZnlpbmcgdGhlIHJvb3QuIFRoaXMgKm11c3QqIHN0YXJ0IHdpdGggZmlsZTovLyBmb3Igbm93LlxuICAgKi9cbiAgdXJpOiB6LnN0cmluZygpLnN0YXJ0c1dpdGgoXCJmaWxlOi8vXCIpLFxuICAvKipcbiAgICogQW4gb3B0aW9uYWwgbmFtZSBmb3IgdGhlIHJvb3QuXG4gICAqL1xuICBuYW1lOiB6Lm9wdGlvbmFsKHouc3RyaW5nKCkpLFxuICAvKipcbiAgICogU2VlIFtNQ1Agc3BlY2lmaWNhdGlvbl0oaHR0cHM6Ly9naXRodWIuY29tL21vZGVsY29udGV4dHByb3RvY29sL21vZGVsY29udGV4dHByb3RvY29sL2Jsb2IvNDczMzljMDNjMTQzYmI0ZWMwMWEyNmU3MjFhMWI4ZmU2NjYzNGViZS9kb2NzL3NwZWNpZmljYXRpb24vZHJhZnQvYmFzaWMvaW5kZXgubWR4I2dlbmVyYWwtZmllbGRzKVxuICAgKiBmb3Igbm90ZXMgb24gX21ldGEgdXNhZ2UuXG4gICAqL1xuICBfbWV0YTogei5vcHRpb25hbCh6Lm9iamVjdCh7fSkucGFzc3Rocm91Z2goKSlcbn0pLnBhc3N0aHJvdWdoKCk7XG52YXIgTGlzdFJvb3RzUmVxdWVzdFNjaGVtYSA9IFJlcXVlc3RTY2hlbWEuZXh0ZW5kKHtcbiAgbWV0aG9kOiB6LmxpdGVyYWwoXCJyb290cy9saXN0XCIpXG59KTtcbnZhciBMaXN0Um9vdHNSZXN1bHRTY2hlbWEgPSBSZXN1bHRTY2hlbWEuZXh0ZW5kKHtcbiAgcm9vdHM6IHouYXJyYXkoUm9vdFNjaGVtYSlcbn0pO1xudmFyIFJvb3RzTGlzdENoYW5nZWROb3RpZmljYXRpb25TY2hlbWEgPSBOb3RpZmljYXRpb25TY2hlbWEuZXh0ZW5kKHtcbiAgbWV0aG9kOiB6LmxpdGVyYWwoXCJub3RpZmljYXRpb25zL3Jvb3RzL2xpc3RfY2hhbmdlZFwiKVxufSk7XG52YXIgQ2xpZW50UmVxdWVzdFNjaGVtYSA9IHoudW5pb24oW1xuICBQaW5nUmVxdWVzdFNjaGVtYSxcbiAgSW5pdGlhbGl6ZVJlcXVlc3RTY2hlbWEsXG4gIENvbXBsZXRlUmVxdWVzdFNjaGVtYSxcbiAgU2V0TGV2ZWxSZXF1ZXN0U2NoZW1hLFxuICBHZXRQcm9tcHRSZXF1ZXN0U2NoZW1hLFxuICBMaXN0UHJvbXB0c1JlcXVlc3RTY2hlbWEsXG4gIExpc3RSZXNvdXJjZXNSZXF1ZXN0U2NoZW1hLFxuICBMaXN0UmVzb3VyY2VUZW1wbGF0ZXNSZXF1ZXN0U2NoZW1hLFxuICBSZWFkUmVzb3VyY2VSZXF1ZXN0U2NoZW1hLFxuICBTdWJzY3JpYmVSZXF1ZXN0U2NoZW1hLFxuICBVbnN1YnNjcmliZVJlcXVlc3RTY2hlbWEsXG4gIENhbGxUb29sUmVxdWVzdFNjaGVtYSxcbiAgTGlzdFRvb2xzUmVxdWVzdFNjaGVtYVxuXSk7XG52YXIgQ2xpZW50Tm90aWZpY2F0aW9uU2NoZW1hID0gei51bmlvbihbXG4gIENhbmNlbGxlZE5vdGlmaWNhdGlvblNjaGVtYSxcbiAgUHJvZ3Jlc3NOb3RpZmljYXRpb25TY2hlbWEsXG4gIEluaXRpYWxpemVkTm90aWZpY2F0aW9uU2NoZW1hLFxuICBSb290c0xpc3RDaGFuZ2VkTm90aWZpY2F0aW9uU2NoZW1hXG5dKTtcbnZhciBDbGllbnRSZXN1bHRTY2hlbWEgPSB6LnVuaW9uKFtcbiAgRW1wdHlSZXN1bHRTY2hlbWEsXG4gIENyZWF0ZU1lc3NhZ2VSZXN1bHRTY2hlbWEsXG4gIEVsaWNpdFJlc3VsdFNjaGVtYSxcbiAgTGlzdFJvb3RzUmVzdWx0U2NoZW1hXG5dKTtcbnZhciBTZXJ2ZXJSZXF1ZXN0U2NoZW1hID0gei51bmlvbihbXG4gIFBpbmdSZXF1ZXN0U2NoZW1hLFxuICBDcmVhdGVNZXNzYWdlUmVxdWVzdFNjaGVtYSxcbiAgRWxpY2l0UmVxdWVzdFNjaGVtYSxcbiAgTGlzdFJvb3RzUmVxdWVzdFNjaGVtYVxuXSk7XG52YXIgU2VydmVyTm90aWZpY2F0aW9uU2NoZW1hID0gei51bmlvbihbXG4gIENhbmNlbGxlZE5vdGlmaWNhdGlvblNjaGVtYSxcbiAgUHJvZ3Jlc3NOb3RpZmljYXRpb25TY2hlbWEsXG4gIExvZ2dpbmdNZXNzYWdlTm90aWZpY2F0aW9uU2NoZW1hLFxuICBSZXNvdXJjZVVwZGF0ZWROb3RpZmljYXRpb25TY2hlbWEsXG4gIFJlc291cmNlTGlzdENoYW5nZWROb3RpZmljYXRpb25TY2hlbWEsXG4gIFRvb2xMaXN0Q2hhbmdlZE5vdGlmaWNhdGlvblNjaGVtYSxcbiAgUHJvbXB0TGlzdENoYW5nZWROb3RpZmljYXRpb25TY2hlbWFcbl0pO1xudmFyIFNlcnZlclJlc3VsdFNjaGVtYSA9IHoudW5pb24oW1xuICBFbXB0eVJlc3VsdFNjaGVtYSxcbiAgSW5pdGlhbGl6ZVJlc3VsdFNjaGVtYSxcbiAgQ29tcGxldGVSZXN1bHRTY2hlbWEsXG4gIEdldFByb21wdFJlc3VsdFNjaGVtYSxcbiAgTGlzdFByb21wdHNSZXN1bHRTY2hlbWEsXG4gIExpc3RSZXNvdXJjZXNSZXN1bHRTY2hlbWEsXG4gIExpc3RSZXNvdXJjZVRlbXBsYXRlc1Jlc3VsdFNjaGVtYSxcbiAgUmVhZFJlc291cmNlUmVzdWx0U2NoZW1hLFxuICBDYWxsVG9vbFJlc3VsdFNjaGVtYSxcbiAgTGlzdFRvb2xzUmVzdWx0U2NoZW1hXG5dKTtcblxuLy8gbm9kZV9tb2R1bGVzL0Btb2RlbGNvbnRleHRwcm90b2NvbC9zZGsvZGlzdC9lc20vc2VydmVyL3N0cmVhbWFibGVIdHRwLmpzXG52YXIgaW1wb3J0X3Jhd19ib2R5ID0gX190b0VTTShyZXF1aXJlX3Jhd19ib2R5KCksIDEpO1xudmFyIGltcG9ydF9jb250ZW50X3R5cGUgPSBfX3RvRVNNKHJlcXVpcmVfY29udGVudF90eXBlKCksIDEpO1xudmFyIGltcG9ydF9ub2RlX2NyeXB0byA9IHJlcXVpcmUoXCJub2RlOmNyeXB0b1wiKTtcbnZhciBNQVhJTVVNX01FU1NBR0VfU0laRSA9IFwiNG1iXCI7XG52YXIgU3RyZWFtYWJsZUhUVFBTZXJ2ZXJUcmFuc3BvcnQgPSBjbGFzcyB7XG4gIGNvbnN0cnVjdG9yKG9wdGlvbnMpIHtcbiAgICB2YXIgX2EsIF9iO1xuICAgIHRoaXMuX3N0YXJ0ZWQgPSBmYWxzZTtcbiAgICB0aGlzLl9zdHJlYW1NYXBwaW5nID0gLyogQF9fUFVSRV9fICovIG5ldyBNYXAoKTtcbiAgICB0aGlzLl9yZXF1ZXN0VG9TdHJlYW1NYXBwaW5nID0gLyogQF9fUFVSRV9fICovIG5ldyBNYXAoKTtcbiAgICB0aGlzLl9yZXF1ZXN0UmVzcG9uc2VNYXAgPSAvKiBAX19QVVJFX18gKi8gbmV3IE1hcCgpO1xuICAgIHRoaXMuX2luaXRpYWxpemVkID0gZmFsc2U7XG4gICAgdGhpcy5fZW5hYmxlSnNvblJlc3BvbnNlID0gZmFsc2U7XG4gICAgdGhpcy5fc3RhbmRhbG9uZVNzZVN0cmVhbUlkID0gXCJfR0VUX3N0cmVhbVwiO1xuICAgIHRoaXMuc2Vzc2lvbklkR2VuZXJhdG9yID0gb3B0aW9ucy5zZXNzaW9uSWRHZW5lcmF0b3I7XG4gICAgdGhpcy5fZW5hYmxlSnNvblJlc3BvbnNlID0gKF9hID0gb3B0aW9ucy5lbmFibGVKc29uUmVzcG9uc2UpICE9PSBudWxsICYmIF9hICE9PSB2b2lkIDAgPyBfYSA6IGZhbHNlO1xuICAgIHRoaXMuX2V2ZW50U3RvcmUgPSBvcHRpb25zLmV2ZW50U3RvcmU7XG4gICAgdGhpcy5fb25zZXNzaW9uaW5pdGlhbGl6ZWQgPSBvcHRpb25zLm9uc2Vzc2lvbmluaXRpYWxpemVkO1xuICAgIHRoaXMuX29uc2Vzc2lvbmNsb3NlZCA9IG9wdGlvbnMub25zZXNzaW9uY2xvc2VkO1xuICAgIHRoaXMuX2FsbG93ZWRIb3N0cyA9IG9wdGlvbnMuYWxsb3dlZEhvc3RzO1xuICAgIHRoaXMuX2FsbG93ZWRPcmlnaW5zID0gb3B0aW9ucy5hbGxvd2VkT3JpZ2lucztcbiAgICB0aGlzLl9lbmFibGVEbnNSZWJpbmRpbmdQcm90ZWN0aW9uID0gKF9iID0gb3B0aW9ucy5lbmFibGVEbnNSZWJpbmRpbmdQcm90ZWN0aW9uKSAhPT0gbnVsbCAmJiBfYiAhPT0gdm9pZCAwID8gX2IgOiBmYWxzZTtcbiAgfVxuICAvKipcbiAgICogU3RhcnRzIHRoZSB0cmFuc3BvcnQuIFRoaXMgaXMgcmVxdWlyZWQgYnkgdGhlIFRyYW5zcG9ydCBpbnRlcmZhY2UgYnV0IGlzIGEgbm8tb3BcbiAgICogZm9yIHRoZSBTdHJlYW1hYmxlIEhUVFAgdHJhbnNwb3J0IGFzIGNvbm5lY3Rpb25zIGFyZSBtYW5hZ2VkIHBlci1yZXF1ZXN0LlxuICAgKi9cbiAgYXN5bmMgc3RhcnQoKSB7XG4gICAgaWYgKHRoaXMuX3N0YXJ0ZWQpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihcIlRyYW5zcG9ydCBhbHJlYWR5IHN0YXJ0ZWRcIik7XG4gICAgfVxuICAgIHRoaXMuX3N0YXJ0ZWQgPSB0cnVlO1xuICB9XG4gIC8qKlxuICAgKiBWYWxpZGF0ZXMgcmVxdWVzdCBoZWFkZXJzIGZvciBETlMgcmViaW5kaW5nIHByb3RlY3Rpb24uXG4gICAqIEByZXR1cm5zIEVycm9yIG1lc3NhZ2UgaWYgdmFsaWRhdGlvbiBmYWlscywgdW5kZWZpbmVkIGlmIHZhbGlkYXRpb24gcGFzc2VzLlxuICAgKi9cbiAgdmFsaWRhdGVSZXF1ZXN0SGVhZGVycyhyZXEpIHtcbiAgICBpZiAoIXRoaXMuX2VuYWJsZURuc1JlYmluZGluZ1Byb3RlY3Rpb24pIHtcbiAgICAgIHJldHVybiB2b2lkIDA7XG4gICAgfVxuICAgIGlmICh0aGlzLl9hbGxvd2VkSG9zdHMgJiYgdGhpcy5fYWxsb3dlZEhvc3RzLmxlbmd0aCA+IDApIHtcbiAgICAgIGNvbnN0IGhvc3RIZWFkZXIgPSByZXEuaGVhZGVycy5ob3N0O1xuICAgICAgaWYgKCFob3N0SGVhZGVyIHx8ICF0aGlzLl9hbGxvd2VkSG9zdHMuaW5jbHVkZXMoaG9zdEhlYWRlcikpIHtcbiAgICAgICAgcmV0dXJuIGBJbnZhbGlkIEhvc3QgaGVhZGVyOiAke2hvc3RIZWFkZXJ9YDtcbiAgICAgIH1cbiAgICB9XG4gICAgaWYgKHRoaXMuX2FsbG93ZWRPcmlnaW5zICYmIHRoaXMuX2FsbG93ZWRPcmlnaW5zLmxlbmd0aCA+IDApIHtcbiAgICAgIGNvbnN0IG9yaWdpbkhlYWRlciA9IHJlcS5oZWFkZXJzLm9yaWdpbjtcbiAgICAgIGlmICghb3JpZ2luSGVhZGVyIHx8ICF0aGlzLl9hbGxvd2VkT3JpZ2lucy5pbmNsdWRlcyhvcmlnaW5IZWFkZXIpKSB7XG4gICAgICAgIHJldHVybiBgSW52YWxpZCBPcmlnaW4gaGVhZGVyOiAke29yaWdpbkhlYWRlcn1gO1xuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gdm9pZCAwO1xuICB9XG4gIC8qKlxuICAgKiBIYW5kbGVzIGFuIGluY29taW5nIEhUVFAgcmVxdWVzdCwgd2hldGhlciBHRVQgb3IgUE9TVFxuICAgKi9cbiAgYXN5bmMgaGFuZGxlUmVxdWVzdChyZXEsIHJlcywgcGFyc2VkQm9keSkge1xuICAgIHZhciBfYTtcbiAgICBjb25zdCB2YWxpZGF0aW9uRXJyb3IgPSB0aGlzLnZhbGlkYXRlUmVxdWVzdEhlYWRlcnMocmVxKTtcbiAgICBpZiAodmFsaWRhdGlvbkVycm9yKSB7XG4gICAgICByZXMud3JpdGVIZWFkKDQwMykuZW5kKEpTT04uc3RyaW5naWZ5KHtcbiAgICAgICAganNvbnJwYzogXCIyLjBcIixcbiAgICAgICAgZXJyb3I6IHtcbiAgICAgICAgICBjb2RlOiAtMzJlMyxcbiAgICAgICAgICBtZXNzYWdlOiB2YWxpZGF0aW9uRXJyb3JcbiAgICAgICAgfSxcbiAgICAgICAgaWQ6IG51bGxcbiAgICAgIH0pKTtcbiAgICAgIChfYSA9IHRoaXMub25lcnJvcikgPT09IG51bGwgfHwgX2EgPT09IHZvaWQgMCA/IHZvaWQgMCA6IF9hLmNhbGwodGhpcywgbmV3IEVycm9yKHZhbGlkYXRpb25FcnJvcikpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBpZiAocmVxLm1ldGhvZCA9PT0gXCJQT1NUXCIpIHtcbiAgICAgIGF3YWl0IHRoaXMuaGFuZGxlUG9zdFJlcXVlc3QocmVxLCByZXMsIHBhcnNlZEJvZHkpO1xuICAgIH0gZWxzZSBpZiAocmVxLm1ldGhvZCA9PT0gXCJHRVRcIikge1xuICAgICAgYXdhaXQgdGhpcy5oYW5kbGVHZXRSZXF1ZXN0KHJlcSwgcmVzKTtcbiAgICB9IGVsc2UgaWYgKHJlcS5tZXRob2QgPT09IFwiREVMRVRFXCIpIHtcbiAgICAgIGF3YWl0IHRoaXMuaGFuZGxlRGVsZXRlUmVxdWVzdChyZXEsIHJlcyk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGF3YWl0IHRoaXMuaGFuZGxlVW5zdXBwb3J0ZWRSZXF1ZXN0KHJlcyk7XG4gICAgfVxuICB9XG4gIC8qKlxuICAgKiBIYW5kbGVzIEdFVCByZXF1ZXN0cyBmb3IgU1NFIHN0cmVhbVxuICAgKi9cbiAgYXN5bmMgaGFuZGxlR2V0UmVxdWVzdChyZXEsIHJlcykge1xuICAgIGNvbnN0IGFjY2VwdEhlYWRlciA9IHJlcS5oZWFkZXJzLmFjY2VwdDtcbiAgICBpZiAoIShhY2NlcHRIZWFkZXIgPT09IG51bGwgfHwgYWNjZXB0SGVhZGVyID09PSB2b2lkIDAgPyB2b2lkIDAgOiBhY2NlcHRIZWFkZXIuaW5jbHVkZXMoXCJ0ZXh0L2V2ZW50LXN0cmVhbVwiKSkpIHtcbiAgICAgIHJlcy53cml0ZUhlYWQoNDA2KS5lbmQoSlNPTi5zdHJpbmdpZnkoe1xuICAgICAgICBqc29ucnBjOiBcIjIuMFwiLFxuICAgICAgICBlcnJvcjoge1xuICAgICAgICAgIGNvZGU6IC0zMmUzLFxuICAgICAgICAgIG1lc3NhZ2U6IFwiTm90IEFjY2VwdGFibGU6IENsaWVudCBtdXN0IGFjY2VwdCB0ZXh0L2V2ZW50LXN0cmVhbVwiXG4gICAgICAgIH0sXG4gICAgICAgIGlkOiBudWxsXG4gICAgICB9KSk7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGlmICghdGhpcy52YWxpZGF0ZVNlc3Npb24ocmVxLCByZXMpKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGlmICghdGhpcy52YWxpZGF0ZVByb3RvY29sVmVyc2lvbihyZXEsIHJlcykpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgaWYgKHRoaXMuX2V2ZW50U3RvcmUpIHtcbiAgICAgIGNvbnN0IGxhc3RFdmVudElkID0gcmVxLmhlYWRlcnNbXCJsYXN0LWV2ZW50LWlkXCJdO1xuICAgICAgaWYgKGxhc3RFdmVudElkKSB7XG4gICAgICAgIGF3YWl0IHRoaXMucmVwbGF5RXZlbnRzKGxhc3RFdmVudElkLCByZXMpO1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG4gICAgfVxuICAgIGNvbnN0IGhlYWRlcnMgPSB7XG4gICAgICBcIkNvbnRlbnQtVHlwZVwiOiBcInRleHQvZXZlbnQtc3RyZWFtXCIsXG4gICAgICBcIkNhY2hlLUNvbnRyb2xcIjogXCJuby1jYWNoZSwgbm8tdHJhbnNmb3JtXCIsXG4gICAgICBDb25uZWN0aW9uOiBcImtlZXAtYWxpdmVcIlxuICAgIH07XG4gICAgaWYgKHRoaXMuc2Vzc2lvbklkICE9PSB2b2lkIDApIHtcbiAgICAgIGhlYWRlcnNbXCJtY3Atc2Vzc2lvbi1pZFwiXSA9IHRoaXMuc2Vzc2lvbklkO1xuICAgIH1cbiAgICBpZiAodGhpcy5fc3RyZWFtTWFwcGluZy5nZXQodGhpcy5fc3RhbmRhbG9uZVNzZVN0cmVhbUlkKSAhPT0gdm9pZCAwKSB7XG4gICAgICByZXMud3JpdGVIZWFkKDQwOSkuZW5kKEpTT04uc3RyaW5naWZ5KHtcbiAgICAgICAganNvbnJwYzogXCIyLjBcIixcbiAgICAgICAgZXJyb3I6IHtcbiAgICAgICAgICBjb2RlOiAtMzJlMyxcbiAgICAgICAgICBtZXNzYWdlOiBcIkNvbmZsaWN0OiBPbmx5IG9uZSBTU0Ugc3RyZWFtIGlzIGFsbG93ZWQgcGVyIHNlc3Npb25cIlxuICAgICAgICB9LFxuICAgICAgICBpZDogbnVsbFxuICAgICAgfSkpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICByZXMud3JpdGVIZWFkKDIwMCwgaGVhZGVycykuZmx1c2hIZWFkZXJzKCk7XG4gICAgdGhpcy5fc3RyZWFtTWFwcGluZy5zZXQodGhpcy5fc3RhbmRhbG9uZVNzZVN0cmVhbUlkLCByZXMpO1xuICAgIHJlcy5vbihcImNsb3NlXCIsICgpID0+IHtcbiAgICAgIHRoaXMuX3N0cmVhbU1hcHBpbmcuZGVsZXRlKHRoaXMuX3N0YW5kYWxvbmVTc2VTdHJlYW1JZCk7XG4gICAgfSk7XG4gIH1cbiAgLyoqXG4gICAqIFJlcGxheXMgZXZlbnRzIHRoYXQgd291bGQgaGF2ZSBiZWVuIHNlbnQgYWZ0ZXIgdGhlIHNwZWNpZmllZCBldmVudCBJRFxuICAgKiBPbmx5IHVzZWQgd2hlbiByZXN1bWFiaWxpdHkgaXMgZW5hYmxlZFxuICAgKi9cbiAgYXN5bmMgcmVwbGF5RXZlbnRzKGxhc3RFdmVudElkLCByZXMpIHtcbiAgICB2YXIgX2EsIF9iO1xuICAgIGlmICghdGhpcy5fZXZlbnRTdG9yZSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICB0cnkge1xuICAgICAgY29uc3QgaGVhZGVycyA9IHtcbiAgICAgICAgXCJDb250ZW50LVR5cGVcIjogXCJ0ZXh0L2V2ZW50LXN0cmVhbVwiLFxuICAgICAgICBcIkNhY2hlLUNvbnRyb2xcIjogXCJuby1jYWNoZSwgbm8tdHJhbnNmb3JtXCIsXG4gICAgICAgIENvbm5lY3Rpb246IFwia2VlcC1hbGl2ZVwiXG4gICAgICB9O1xuICAgICAgaWYgKHRoaXMuc2Vzc2lvbklkICE9PSB2b2lkIDApIHtcbiAgICAgICAgaGVhZGVyc1tcIm1jcC1zZXNzaW9uLWlkXCJdID0gdGhpcy5zZXNzaW9uSWQ7XG4gICAgICB9XG4gICAgICByZXMud3JpdGVIZWFkKDIwMCwgaGVhZGVycykuZmx1c2hIZWFkZXJzKCk7XG4gICAgICBjb25zdCBzdHJlYW1JZCA9IGF3YWl0ICgoX2EgPSB0aGlzLl9ldmVudFN0b3JlKSA9PT0gbnVsbCB8fCBfYSA9PT0gdm9pZCAwID8gdm9pZCAwIDogX2EucmVwbGF5RXZlbnRzQWZ0ZXIobGFzdEV2ZW50SWQsIHtcbiAgICAgICAgc2VuZDogYXN5bmMgKGV2ZW50SWQsIG1lc3NhZ2UpID0+IHtcbiAgICAgICAgICB2YXIgX2EyO1xuICAgICAgICAgIGlmICghdGhpcy53cml0ZVNTRUV2ZW50KHJlcywgbWVzc2FnZSwgZXZlbnRJZCkpIHtcbiAgICAgICAgICAgIChfYTIgPSB0aGlzLm9uZXJyb3IpID09PSBudWxsIHx8IF9hMiA9PT0gdm9pZCAwID8gdm9pZCAwIDogX2EyLmNhbGwodGhpcywgbmV3IEVycm9yKFwiRmFpbGVkIHJlcGxheSBldmVudHNcIikpO1xuICAgICAgICAgICAgcmVzLmVuZCgpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfSkpO1xuICAgICAgdGhpcy5fc3RyZWFtTWFwcGluZy5zZXQoc3RyZWFtSWQsIHJlcyk7XG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgIChfYiA9IHRoaXMub25lcnJvcikgPT09IG51bGwgfHwgX2IgPT09IHZvaWQgMCA/IHZvaWQgMCA6IF9iLmNhbGwodGhpcywgZXJyb3IpO1xuICAgIH1cbiAgfVxuICAvKipcbiAgICogV3JpdGVzIGFuIGV2ZW50IHRvIHRoZSBTU0Ugc3RyZWFtIHdpdGggcHJvcGVyIGZvcm1hdHRpbmdcbiAgICovXG4gIHdyaXRlU1NFRXZlbnQocmVzLCBtZXNzYWdlLCBldmVudElkKSB7XG4gICAgbGV0IGV2ZW50RGF0YSA9IGBldmVudDogbWVzc2FnZVxuYDtcbiAgICBpZiAoZXZlbnRJZCkge1xuICAgICAgZXZlbnREYXRhICs9IGBpZDogJHtldmVudElkfVxuYDtcbiAgICB9XG4gICAgZXZlbnREYXRhICs9IGBkYXRhOiAke0pTT04uc3RyaW5naWZ5KG1lc3NhZ2UpfVxuXG5gO1xuICAgIHJldHVybiByZXMud3JpdGUoZXZlbnREYXRhKTtcbiAgfVxuICAvKipcbiAgICogSGFuZGxlcyB1bnN1cHBvcnRlZCByZXF1ZXN0cyAoUFVULCBQQVRDSCwgZXRjLilcbiAgICovXG4gIGFzeW5jIGhhbmRsZVVuc3VwcG9ydGVkUmVxdWVzdChyZXMpIHtcbiAgICByZXMud3JpdGVIZWFkKDQwNSwge1xuICAgICAgXCJBbGxvd1wiOiBcIkdFVCwgUE9TVCwgREVMRVRFXCJcbiAgICB9KS5lbmQoSlNPTi5zdHJpbmdpZnkoe1xuICAgICAganNvbnJwYzogXCIyLjBcIixcbiAgICAgIGVycm9yOiB7XG4gICAgICAgIGNvZGU6IC0zMmUzLFxuICAgICAgICBtZXNzYWdlOiBcIk1ldGhvZCBub3QgYWxsb3dlZC5cIlxuICAgICAgfSxcbiAgICAgIGlkOiBudWxsXG4gICAgfSkpO1xuICB9XG4gIC8qKlxuICAgKiBIYW5kbGVzIFBPU1QgcmVxdWVzdHMgY29udGFpbmluZyBKU09OLVJQQyBtZXNzYWdlc1xuICAgKi9cbiAgYXN5bmMgaGFuZGxlUG9zdFJlcXVlc3QocmVxLCByZXMsIHBhcnNlZEJvZHkpIHtcbiAgICB2YXIgX2EsIF9iLCBfYywgX2QsIF9lO1xuICAgIHRyeSB7XG4gICAgICBjb25zdCBhY2NlcHRIZWFkZXIgPSByZXEuaGVhZGVycy5hY2NlcHQ7XG4gICAgICBpZiAoIShhY2NlcHRIZWFkZXIgPT09IG51bGwgfHwgYWNjZXB0SGVhZGVyID09PSB2b2lkIDAgPyB2b2lkIDAgOiBhY2NlcHRIZWFkZXIuaW5jbHVkZXMoXCJhcHBsaWNhdGlvbi9qc29uXCIpKSB8fCAhYWNjZXB0SGVhZGVyLmluY2x1ZGVzKFwidGV4dC9ldmVudC1zdHJlYW1cIikpIHtcbiAgICAgICAgcmVzLndyaXRlSGVhZCg0MDYpLmVuZChKU09OLnN0cmluZ2lmeSh7XG4gICAgICAgICAganNvbnJwYzogXCIyLjBcIixcbiAgICAgICAgICBlcnJvcjoge1xuICAgICAgICAgICAgY29kZTogLTMyZTMsXG4gICAgICAgICAgICBtZXNzYWdlOiBcIk5vdCBBY2NlcHRhYmxlOiBDbGllbnQgbXVzdCBhY2NlcHQgYm90aCBhcHBsaWNhdGlvbi9qc29uIGFuZCB0ZXh0L2V2ZW50LXN0cmVhbVwiXG4gICAgICAgICAgfSxcbiAgICAgICAgICBpZDogbnVsbFxuICAgICAgICB9KSk7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cbiAgICAgIGNvbnN0IGN0ID0gcmVxLmhlYWRlcnNbXCJjb250ZW50LXR5cGVcIl07XG4gICAgICBpZiAoIWN0IHx8ICFjdC5pbmNsdWRlcyhcImFwcGxpY2F0aW9uL2pzb25cIikpIHtcbiAgICAgICAgcmVzLndyaXRlSGVhZCg0MTUpLmVuZChKU09OLnN0cmluZ2lmeSh7XG4gICAgICAgICAganNvbnJwYzogXCIyLjBcIixcbiAgICAgICAgICBlcnJvcjoge1xuICAgICAgICAgICAgY29kZTogLTMyZTMsXG4gICAgICAgICAgICBtZXNzYWdlOiBcIlVuc3VwcG9ydGVkIE1lZGlhIFR5cGU6IENvbnRlbnQtVHlwZSBtdXN0IGJlIGFwcGxpY2F0aW9uL2pzb25cIlxuICAgICAgICAgIH0sXG4gICAgICAgICAgaWQ6IG51bGxcbiAgICAgICAgfSkpO1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG4gICAgICBjb25zdCBhdXRoSW5mbyA9IHJlcS5hdXRoO1xuICAgICAgY29uc3QgcmVxdWVzdEluZm8gPSB7IGhlYWRlcnM6IHJlcS5oZWFkZXJzIH07XG4gICAgICBsZXQgcmF3TWVzc2FnZTtcbiAgICAgIGlmIChwYXJzZWRCb2R5ICE9PSB2b2lkIDApIHtcbiAgICAgICAgcmF3TWVzc2FnZSA9IHBhcnNlZEJvZHk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBjb25zdCBwYXJzZWRDdCA9IGltcG9ydF9jb250ZW50X3R5cGUuZGVmYXVsdC5wYXJzZShjdCk7XG4gICAgICAgIGNvbnN0IGJvZHkgPSBhd2FpdCAoMCwgaW1wb3J0X3Jhd19ib2R5LmRlZmF1bHQpKHJlcSwge1xuICAgICAgICAgIGxpbWl0OiBNQVhJTVVNX01FU1NBR0VfU0laRSxcbiAgICAgICAgICBlbmNvZGluZzogKF9hID0gcGFyc2VkQ3QucGFyYW1ldGVycy5jaGFyc2V0KSAhPT0gbnVsbCAmJiBfYSAhPT0gdm9pZCAwID8gX2EgOiBcInV0Zi04XCJcbiAgICAgICAgfSk7XG4gICAgICAgIHJhd01lc3NhZ2UgPSBKU09OLnBhcnNlKGJvZHkudG9TdHJpbmcoKSk7XG4gICAgICB9XG4gICAgICBsZXQgbWVzc2FnZXM7XG4gICAgICBpZiAoQXJyYXkuaXNBcnJheShyYXdNZXNzYWdlKSkge1xuICAgICAgICBtZXNzYWdlcyA9IHJhd01lc3NhZ2UubWFwKChtc2cpID0+IEpTT05SUENNZXNzYWdlU2NoZW1hLnBhcnNlKG1zZykpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgbWVzc2FnZXMgPSBbSlNPTlJQQ01lc3NhZ2VTY2hlbWEucGFyc2UocmF3TWVzc2FnZSldO1xuICAgICAgfVxuICAgICAgY29uc3QgaXNJbml0aWFsaXphdGlvblJlcXVlc3QgPSBtZXNzYWdlcy5zb21lKGlzSW5pdGlhbGl6ZVJlcXVlc3QpO1xuICAgICAgaWYgKGlzSW5pdGlhbGl6YXRpb25SZXF1ZXN0KSB7XG4gICAgICAgIGlmICh0aGlzLl9pbml0aWFsaXplZCAmJiB0aGlzLnNlc3Npb25JZCAhPT0gdm9pZCAwKSB7XG4gICAgICAgICAgcmVzLndyaXRlSGVhZCg0MDApLmVuZChKU09OLnN0cmluZ2lmeSh7XG4gICAgICAgICAgICBqc29ucnBjOiBcIjIuMFwiLFxuICAgICAgICAgICAgZXJyb3I6IHtcbiAgICAgICAgICAgICAgY29kZTogLTMyNjAwLFxuICAgICAgICAgICAgICBtZXNzYWdlOiBcIkludmFsaWQgUmVxdWVzdDogU2VydmVyIGFscmVhZHkgaW5pdGlhbGl6ZWRcIlxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIGlkOiBudWxsXG4gICAgICAgICAgfSkpO1xuICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBpZiAobWVzc2FnZXMubGVuZ3RoID4gMSkge1xuICAgICAgICAgIHJlcy53cml0ZUhlYWQoNDAwKS5lbmQoSlNPTi5zdHJpbmdpZnkoe1xuICAgICAgICAgICAganNvbnJwYzogXCIyLjBcIixcbiAgICAgICAgICAgIGVycm9yOiB7XG4gICAgICAgICAgICAgIGNvZGU6IC0zMjYwMCxcbiAgICAgICAgICAgICAgbWVzc2FnZTogXCJJbnZhbGlkIFJlcXVlc3Q6IE9ubHkgb25lIGluaXRpYWxpemF0aW9uIHJlcXVlc3QgaXMgYWxsb3dlZFwiXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgaWQ6IG51bGxcbiAgICAgICAgICB9KSk7XG4gICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuc2Vzc2lvbklkID0gKF9iID0gdGhpcy5zZXNzaW9uSWRHZW5lcmF0b3IpID09PSBudWxsIHx8IF9iID09PSB2b2lkIDAgPyB2b2lkIDAgOiBfYi5jYWxsKHRoaXMpO1xuICAgICAgICB0aGlzLl9pbml0aWFsaXplZCA9IHRydWU7XG4gICAgICAgIGlmICh0aGlzLnNlc3Npb25JZCAmJiB0aGlzLl9vbnNlc3Npb25pbml0aWFsaXplZCkge1xuICAgICAgICAgIGF3YWl0IFByb21pc2UucmVzb2x2ZSh0aGlzLl9vbnNlc3Npb25pbml0aWFsaXplZCh0aGlzLnNlc3Npb25JZCkpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICBpZiAoIWlzSW5pdGlhbGl6YXRpb25SZXF1ZXN0KSB7XG4gICAgICAgIGlmICghdGhpcy52YWxpZGF0ZVNlc3Npb24ocmVxLCByZXMpKSB7XG4gICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIGlmICghdGhpcy52YWxpZGF0ZVByb3RvY29sVmVyc2lvbihyZXEsIHJlcykpIHtcbiAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIGNvbnN0IGhhc1JlcXVlc3RzID0gbWVzc2FnZXMuc29tZShpc0pTT05SUENSZXF1ZXN0KTtcbiAgICAgIGlmICghaGFzUmVxdWVzdHMpIHtcbiAgICAgICAgcmVzLndyaXRlSGVhZCgyMDIpLmVuZCgpO1xuICAgICAgICBmb3IgKGNvbnN0IG1lc3NhZ2Ugb2YgbWVzc2FnZXMpIHtcbiAgICAgICAgICAoX2MgPSB0aGlzLm9ubWVzc2FnZSkgPT09IG51bGwgfHwgX2MgPT09IHZvaWQgMCA/IHZvaWQgMCA6IF9jLmNhbGwodGhpcywgbWVzc2FnZSwgeyBhdXRoSW5mbywgcmVxdWVzdEluZm8gfSk7XG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSBpZiAoaGFzUmVxdWVzdHMpIHtcbiAgICAgICAgY29uc3Qgc3RyZWFtSWQgPSAoMCwgaW1wb3J0X25vZGVfY3J5cHRvLnJhbmRvbVVVSUQpKCk7XG4gICAgICAgIGlmICghdGhpcy5fZW5hYmxlSnNvblJlc3BvbnNlKSB7XG4gICAgICAgICAgY29uc3QgaGVhZGVycyA9IHtcbiAgICAgICAgICAgIFwiQ29udGVudC1UeXBlXCI6IFwidGV4dC9ldmVudC1zdHJlYW1cIixcbiAgICAgICAgICAgIFwiQ2FjaGUtQ29udHJvbFwiOiBcIm5vLWNhY2hlXCIsXG4gICAgICAgICAgICBDb25uZWN0aW9uOiBcImtlZXAtYWxpdmVcIlxuICAgICAgICAgIH07XG4gICAgICAgICAgaWYgKHRoaXMuc2Vzc2lvbklkICE9PSB2b2lkIDApIHtcbiAgICAgICAgICAgIGhlYWRlcnNbXCJtY3Atc2Vzc2lvbi1pZFwiXSA9IHRoaXMuc2Vzc2lvbklkO1xuICAgICAgICAgIH1cbiAgICAgICAgICByZXMud3JpdGVIZWFkKDIwMCwgaGVhZGVycyk7XG4gICAgICAgIH1cbiAgICAgICAgZm9yIChjb25zdCBtZXNzYWdlIG9mIG1lc3NhZ2VzKSB7XG4gICAgICAgICAgaWYgKGlzSlNPTlJQQ1JlcXVlc3QobWVzc2FnZSkpIHtcbiAgICAgICAgICAgIHRoaXMuX3N0cmVhbU1hcHBpbmcuc2V0KHN0cmVhbUlkLCByZXMpO1xuICAgICAgICAgICAgdGhpcy5fcmVxdWVzdFRvU3RyZWFtTWFwcGluZy5zZXQobWVzc2FnZS5pZCwgc3RyZWFtSWQpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICByZXMub24oXCJjbG9zZVwiLCAoKSA9PiB7XG4gICAgICAgICAgdGhpcy5fc3RyZWFtTWFwcGluZy5kZWxldGUoc3RyZWFtSWQpO1xuICAgICAgICB9KTtcbiAgICAgICAgZm9yIChjb25zdCBtZXNzYWdlIG9mIG1lc3NhZ2VzKSB7XG4gICAgICAgICAgKF9kID0gdGhpcy5vbm1lc3NhZ2UpID09PSBudWxsIHx8IF9kID09PSB2b2lkIDAgPyB2b2lkIDAgOiBfZC5jYWxsKHRoaXMsIG1lc3NhZ2UsIHsgYXV0aEluZm8sIHJlcXVlc3RJbmZvIH0pO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgIHJlcy53cml0ZUhlYWQoNDAwKS5lbmQoSlNPTi5zdHJpbmdpZnkoe1xuICAgICAgICBqc29ucnBjOiBcIjIuMFwiLFxuICAgICAgICBlcnJvcjoge1xuICAgICAgICAgIGNvZGU6IC0zMjcwMCxcbiAgICAgICAgICBtZXNzYWdlOiBcIlBhcnNlIGVycm9yXCIsXG4gICAgICAgICAgZGF0YTogU3RyaW5nKGVycm9yKVxuICAgICAgICB9LFxuICAgICAgICBpZDogbnVsbFxuICAgICAgfSkpO1xuICAgICAgKF9lID0gdGhpcy5vbmVycm9yKSA9PT0gbnVsbCB8fCBfZSA9PT0gdm9pZCAwID8gdm9pZCAwIDogX2UuY2FsbCh0aGlzLCBlcnJvcik7XG4gICAgfVxuICB9XG4gIC8qKlxuICAgKiBIYW5kbGVzIERFTEVURSByZXF1ZXN0cyB0byB0ZXJtaW5hdGUgc2Vzc2lvbnNcbiAgICovXG4gIGFzeW5jIGhhbmRsZURlbGV0ZVJlcXVlc3QocmVxLCByZXMpIHtcbiAgICB2YXIgX2E7XG4gICAgaWYgKCF0aGlzLnZhbGlkYXRlU2Vzc2lvbihyZXEsIHJlcykpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgaWYgKCF0aGlzLnZhbGlkYXRlUHJvdG9jb2xWZXJzaW9uKHJlcSwgcmVzKSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBhd2FpdCBQcm9taXNlLnJlc29sdmUoKF9hID0gdGhpcy5fb25zZXNzaW9uY2xvc2VkKSA9PT0gbnVsbCB8fCBfYSA9PT0gdm9pZCAwID8gdm9pZCAwIDogX2EuY2FsbCh0aGlzLCB0aGlzLnNlc3Npb25JZCkpO1xuICAgIGF3YWl0IHRoaXMuY2xvc2UoKTtcbiAgICByZXMud3JpdGVIZWFkKDIwMCkuZW5kKCk7XG4gIH1cbiAgLyoqXG4gICAqIFZhbGlkYXRlcyBzZXNzaW9uIElEIGZvciBub24taW5pdGlhbGl6YXRpb24gcmVxdWVzdHNcbiAgICogUmV0dXJucyB0cnVlIGlmIHRoZSBzZXNzaW9uIGlzIHZhbGlkLCBmYWxzZSBvdGhlcndpc2VcbiAgICovXG4gIHZhbGlkYXRlU2Vzc2lvbihyZXEsIHJlcykge1xuICAgIGlmICh0aGlzLnNlc3Npb25JZEdlbmVyYXRvciA9PT0gdm9pZCAwKSB7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG4gICAgaWYgKCF0aGlzLl9pbml0aWFsaXplZCkge1xuICAgICAgcmVzLndyaXRlSGVhZCg0MDApLmVuZChKU09OLnN0cmluZ2lmeSh7XG4gICAgICAgIGpzb25ycGM6IFwiMi4wXCIsXG4gICAgICAgIGVycm9yOiB7XG4gICAgICAgICAgY29kZTogLTMyZTMsXG4gICAgICAgICAgbWVzc2FnZTogXCJCYWQgUmVxdWVzdDogU2VydmVyIG5vdCBpbml0aWFsaXplZFwiXG4gICAgICAgIH0sXG4gICAgICAgIGlkOiBudWxsXG4gICAgICB9KSk7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuICAgIGNvbnN0IHNlc3Npb25JZCA9IHJlcS5oZWFkZXJzW1wibWNwLXNlc3Npb24taWRcIl07XG4gICAgaWYgKCFzZXNzaW9uSWQpIHtcbiAgICAgIHJlcy53cml0ZUhlYWQoNDAwKS5lbmQoSlNPTi5zdHJpbmdpZnkoe1xuICAgICAgICBqc29ucnBjOiBcIjIuMFwiLFxuICAgICAgICBlcnJvcjoge1xuICAgICAgICAgIGNvZGU6IC0zMmUzLFxuICAgICAgICAgIG1lc3NhZ2U6IFwiQmFkIFJlcXVlc3Q6IE1jcC1TZXNzaW9uLUlkIGhlYWRlciBpcyByZXF1aXJlZFwiXG4gICAgICAgIH0sXG4gICAgICAgIGlkOiBudWxsXG4gICAgICB9KSk7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfSBlbHNlIGlmIChBcnJheS5pc0FycmF5KHNlc3Npb25JZCkpIHtcbiAgICAgIHJlcy53cml0ZUhlYWQoNDAwKS5lbmQoSlNPTi5zdHJpbmdpZnkoe1xuICAgICAgICBqc29ucnBjOiBcIjIuMFwiLFxuICAgICAgICBlcnJvcjoge1xuICAgICAgICAgIGNvZGU6IC0zMmUzLFxuICAgICAgICAgIG1lc3NhZ2U6IFwiQmFkIFJlcXVlc3Q6IE1jcC1TZXNzaW9uLUlkIGhlYWRlciBtdXN0IGJlIGEgc2luZ2xlIHZhbHVlXCJcbiAgICAgICAgfSxcbiAgICAgICAgaWQ6IG51bGxcbiAgICAgIH0pKTtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9IGVsc2UgaWYgKHNlc3Npb25JZCAhPT0gdGhpcy5zZXNzaW9uSWQpIHtcbiAgICAgIHJlcy53cml0ZUhlYWQoNDA0KS5lbmQoSlNPTi5zdHJpbmdpZnkoe1xuICAgICAgICBqc29ucnBjOiBcIjIuMFwiLFxuICAgICAgICBlcnJvcjoge1xuICAgICAgICAgIGNvZGU6IC0zMjAwMSxcbiAgICAgICAgICBtZXNzYWdlOiBcIlNlc3Npb24gbm90IGZvdW5kXCJcbiAgICAgICAgfSxcbiAgICAgICAgaWQ6IG51bGxcbiAgICAgIH0pKTtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gICAgcmV0dXJuIHRydWU7XG4gIH1cbiAgdmFsaWRhdGVQcm90b2NvbFZlcnNpb24ocmVxLCByZXMpIHtcbiAgICB2YXIgX2E7XG4gICAgbGV0IHByb3RvY29sVmVyc2lvbiA9IChfYSA9IHJlcS5oZWFkZXJzW1wibWNwLXByb3RvY29sLXZlcnNpb25cIl0pICE9PSBudWxsICYmIF9hICE9PSB2b2lkIDAgPyBfYSA6IERFRkFVTFRfTkVHT1RJQVRFRF9QUk9UT0NPTF9WRVJTSU9OO1xuICAgIGlmIChBcnJheS5pc0FycmF5KHByb3RvY29sVmVyc2lvbikpIHtcbiAgICAgIHByb3RvY29sVmVyc2lvbiA9IHByb3RvY29sVmVyc2lvbltwcm90b2NvbFZlcnNpb24ubGVuZ3RoIC0gMV07XG4gICAgfVxuICAgIGlmICghU1VQUE9SVEVEX1BST1RPQ09MX1ZFUlNJT05TLmluY2x1ZGVzKHByb3RvY29sVmVyc2lvbikpIHtcbiAgICAgIHJlcy53cml0ZUhlYWQoNDAwKS5lbmQoSlNPTi5zdHJpbmdpZnkoe1xuICAgICAgICBqc29ucnBjOiBcIjIuMFwiLFxuICAgICAgICBlcnJvcjoge1xuICAgICAgICAgIGNvZGU6IC0zMmUzLFxuICAgICAgICAgIG1lc3NhZ2U6IGBCYWQgUmVxdWVzdDogVW5zdXBwb3J0ZWQgcHJvdG9jb2wgdmVyc2lvbiAoc3VwcG9ydGVkIHZlcnNpb25zOiAke1NVUFBPUlRFRF9QUk9UT0NPTF9WRVJTSU9OUy5qb2luKFwiLCBcIil9KWBcbiAgICAgICAgfSxcbiAgICAgICAgaWQ6IG51bGxcbiAgICAgIH0pKTtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gICAgcmV0dXJuIHRydWU7XG4gIH1cbiAgYXN5bmMgY2xvc2UoKSB7XG4gICAgdmFyIF9hO1xuICAgIHRoaXMuX3N0cmVhbU1hcHBpbmcuZm9yRWFjaCgocmVzcG9uc2UpID0+IHtcbiAgICAgIHJlc3BvbnNlLmVuZCgpO1xuICAgIH0pO1xuICAgIHRoaXMuX3N0cmVhbU1hcHBpbmcuY2xlYXIoKTtcbiAgICB0aGlzLl9yZXF1ZXN0UmVzcG9uc2VNYXAuY2xlYXIoKTtcbiAgICAoX2EgPSB0aGlzLm9uY2xvc2UpID09PSBudWxsIHx8IF9hID09PSB2b2lkIDAgPyB2b2lkIDAgOiBfYS5jYWxsKHRoaXMpO1xuICB9XG4gIGFzeW5jIHNlbmQobWVzc2FnZSwgb3B0aW9ucykge1xuICAgIGxldCByZXF1ZXN0SWQgPSBvcHRpb25zID09PSBudWxsIHx8IG9wdGlvbnMgPT09IHZvaWQgMCA/IHZvaWQgMCA6IG9wdGlvbnMucmVsYXRlZFJlcXVlc3RJZDtcbiAgICBpZiAoaXNKU09OUlBDUmVzcG9uc2UobWVzc2FnZSkgfHwgaXNKU09OUlBDRXJyb3IobWVzc2FnZSkpIHtcbiAgICAgIHJlcXVlc3RJZCA9IG1lc3NhZ2UuaWQ7XG4gICAgfVxuICAgIGlmIChyZXF1ZXN0SWQgPT09IHZvaWQgMCkge1xuICAgICAgaWYgKGlzSlNPTlJQQ1Jlc3BvbnNlKG1lc3NhZ2UpIHx8IGlzSlNPTlJQQ0Vycm9yKG1lc3NhZ2UpKSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihcIkNhbm5vdCBzZW5kIGEgcmVzcG9uc2Ugb24gYSBzdGFuZGFsb25lIFNTRSBzdHJlYW0gdW5sZXNzIHJlc3VtaW5nIGEgcHJldmlvdXMgY2xpZW50IHJlcXVlc3RcIik7XG4gICAgICB9XG4gICAgICBjb25zdCBzdGFuZGFsb25lU3NlID0gdGhpcy5fc3RyZWFtTWFwcGluZy5nZXQodGhpcy5fc3RhbmRhbG9uZVNzZVN0cmVhbUlkKTtcbiAgICAgIGlmIChzdGFuZGFsb25lU3NlID09PSB2b2lkIDApIHtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuICAgICAgbGV0IGV2ZW50SWQ7XG4gICAgICBpZiAodGhpcy5fZXZlbnRTdG9yZSkge1xuICAgICAgICBldmVudElkID0gYXdhaXQgdGhpcy5fZXZlbnRTdG9yZS5zdG9yZUV2ZW50KHRoaXMuX3N0YW5kYWxvbmVTc2VTdHJlYW1JZCwgbWVzc2FnZSk7XG4gICAgICB9XG4gICAgICB0aGlzLndyaXRlU1NFRXZlbnQoc3RhbmRhbG9uZVNzZSwgbWVzc2FnZSwgZXZlbnRJZCk7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGNvbnN0IHN0cmVhbUlkID0gdGhpcy5fcmVxdWVzdFRvU3RyZWFtTWFwcGluZy5nZXQocmVxdWVzdElkKTtcbiAgICBjb25zdCByZXNwb25zZSA9IHRoaXMuX3N0cmVhbU1hcHBpbmcuZ2V0KHN0cmVhbUlkKTtcbiAgICBpZiAoIXN0cmVhbUlkKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYE5vIGNvbm5lY3Rpb24gZXN0YWJsaXNoZWQgZm9yIHJlcXVlc3QgSUQ6ICR7U3RyaW5nKHJlcXVlc3RJZCl9YCk7XG4gICAgfVxuICAgIGlmICghdGhpcy5fZW5hYmxlSnNvblJlc3BvbnNlKSB7XG4gICAgICBsZXQgZXZlbnRJZDtcbiAgICAgIGlmICh0aGlzLl9ldmVudFN0b3JlKSB7XG4gICAgICAgIGV2ZW50SWQgPSBhd2FpdCB0aGlzLl9ldmVudFN0b3JlLnN0b3JlRXZlbnQoc3RyZWFtSWQsIG1lc3NhZ2UpO1xuICAgICAgfVxuICAgICAgaWYgKHJlc3BvbnNlKSB7XG4gICAgICAgIHRoaXMud3JpdGVTU0VFdmVudChyZXNwb25zZSwgbWVzc2FnZSwgZXZlbnRJZCk7XG4gICAgICB9XG4gICAgfVxuICAgIGlmIChpc0pTT05SUENSZXNwb25zZShtZXNzYWdlKSB8fCBpc0pTT05SUENFcnJvcihtZXNzYWdlKSkge1xuICAgICAgdGhpcy5fcmVxdWVzdFJlc3BvbnNlTWFwLnNldChyZXF1ZXN0SWQsIG1lc3NhZ2UpO1xuICAgICAgY29uc3QgcmVsYXRlZElkcyA9IEFycmF5LmZyb20odGhpcy5fcmVxdWVzdFRvU3RyZWFtTWFwcGluZy5lbnRyaWVzKCkpLmZpbHRlcigoW18yLCBzdHJlYW1JZDJdKSA9PiB0aGlzLl9zdHJlYW1NYXBwaW5nLmdldChzdHJlYW1JZDIpID09PSByZXNwb25zZSkubWFwKChbaWRdKSA9PiBpZCk7XG4gICAgICBjb25zdCBhbGxSZXNwb25zZXNSZWFkeSA9IHJlbGF0ZWRJZHMuZXZlcnkoKGlkKSA9PiB0aGlzLl9yZXF1ZXN0UmVzcG9uc2VNYXAuaGFzKGlkKSk7XG4gICAgICBpZiAoYWxsUmVzcG9uc2VzUmVhZHkpIHtcbiAgICAgICAgaWYgKCFyZXNwb25zZSkge1xuICAgICAgICAgIHRocm93IG5ldyBFcnJvcihgTm8gY29ubmVjdGlvbiBlc3RhYmxpc2hlZCBmb3IgcmVxdWVzdCBJRDogJHtTdHJpbmcocmVxdWVzdElkKX1gKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAodGhpcy5fZW5hYmxlSnNvblJlc3BvbnNlKSB7XG4gICAgICAgICAgY29uc3QgaGVhZGVycyA9IHtcbiAgICAgICAgICAgIFwiQ29udGVudC1UeXBlXCI6IFwiYXBwbGljYXRpb24vanNvblwiXG4gICAgICAgICAgfTtcbiAgICAgICAgICBpZiAodGhpcy5zZXNzaW9uSWQgIT09IHZvaWQgMCkge1xuICAgICAgICAgICAgaGVhZGVyc1tcIm1jcC1zZXNzaW9uLWlkXCJdID0gdGhpcy5zZXNzaW9uSWQ7XG4gICAgICAgICAgfVxuICAgICAgICAgIGNvbnN0IHJlc3BvbnNlcyA9IHJlbGF0ZWRJZHMubWFwKChpZCkgPT4gdGhpcy5fcmVxdWVzdFJlc3BvbnNlTWFwLmdldChpZCkpO1xuICAgICAgICAgIHJlc3BvbnNlLndyaXRlSGVhZCgyMDAsIGhlYWRlcnMpO1xuICAgICAgICAgIGlmIChyZXNwb25zZXMubGVuZ3RoID09PSAxKSB7XG4gICAgICAgICAgICByZXNwb25zZS5lbmQoSlNPTi5zdHJpbmdpZnkocmVzcG9uc2VzWzBdKSk7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHJlc3BvbnNlLmVuZChKU09OLnN0cmluZ2lmeShyZXNwb25zZXMpKTtcbiAgICAgICAgICB9XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgcmVzcG9uc2UuZW5kKCk7XG4gICAgICAgIH1cbiAgICAgICAgZm9yIChjb25zdCBpZCBvZiByZWxhdGVkSWRzKSB7XG4gICAgICAgICAgdGhpcy5fcmVxdWVzdFJlc3BvbnNlTWFwLmRlbGV0ZShpZCk7XG4gICAgICAgICAgdGhpcy5fcmVxdWVzdFRvU3RyZWFtTWFwcGluZy5kZWxldGUoaWQpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59O1xuXG4vLyBub2RlX21vZHVsZXMvQHNtaXRoZXJ5L3Nkay9kaXN0L3NlcnZlci9zdGF0ZWZ1bC5qc1xudmFyIGltcG9ydF9leHByZXNzID0gX190b0VTTShyZXF1aXJlX2V4cHJlc3MyKCksIDEpO1xudmFyIGltcG9ydF9ub2RlX2NyeXB0bzIgPSByZXF1aXJlKFwibm9kZTpjcnlwdG9cIik7XG5cbi8vIG5vZGVfbW9kdWxlcy9Ac21pdGhlcnkvc2RrL2Rpc3Qvc2hhcmVkL2NvbmZpZy5qc1xudmFyIGltcG9ydF9sb2Rhc2ggPSBfX3RvRVNNKHJlcXVpcmVfbG9kYXNoKCksIDEpO1xuXG4vLyBub2RlX21vZHVsZXMvb2theS1lcnJvci9kaXN0L2luZGV4LmpzXG5mdW5jdGlvbiBvayh2YWx1ZSkge1xuICByZXR1cm4geyBvazogdHJ1ZSwgdmFsdWUgfTtcbn1cbmZ1bmN0aW9uIGVycih0eXBlT3JQYXlsb2FkLCBwYXlsb2FkKSB7XG4gIGlmIChwYXlsb2FkICE9PSB2b2lkIDApIHtcbiAgICByZXR1cm4geyBvazogZmFsc2UsIGVycm9yOiB7IHR5cGU6IHR5cGVPclBheWxvYWQsIC4uLnBheWxvYWQgfSB9O1xuICB9XG4gIHJldHVybiB7IG9rOiBmYWxzZSwgZXJyb3I6IHR5cGVPclBheWxvYWQgfTtcbn1cblxuLy8gbm9kZV9tb2R1bGVzL3pvZC10by1qc29uLXNjaGVtYS9kaXN0L2VzbS9PcHRpb25zLmpzXG52YXIgaWdub3JlT3ZlcnJpZGUgPSBTeW1ib2woXCJMZXQgem9kVG9Kc29uU2NoZW1hIGRlY2lkZSBvbiB3aGljaCBwYXJzZXIgdG8gdXNlXCIpO1xudmFyIGRlZmF1bHRPcHRpb25zID0ge1xuICBuYW1lOiB2b2lkIDAsXG4gICRyZWZTdHJhdGVneTogXCJyb290XCIsXG4gIGJhc2VQYXRoOiBbXCIjXCJdLFxuICBlZmZlY3RTdHJhdGVneTogXCJpbnB1dFwiLFxuICBwaXBlU3RyYXRlZ3k6IFwiYWxsXCIsXG4gIGRhdGVTdHJhdGVneTogXCJmb3JtYXQ6ZGF0ZS10aW1lXCIsXG4gIG1hcFN0cmF0ZWd5OiBcImVudHJpZXNcIixcbiAgcmVtb3ZlQWRkaXRpb25hbFN0cmF0ZWd5OiBcInBhc3N0aHJvdWdoXCIsXG4gIGRlZmluaXRpb25QYXRoOiBcImRlZmluaXRpb25zXCIsXG4gIHRhcmdldDogXCJqc29uU2NoZW1hN1wiLFxuICBzdHJpY3RVbmlvbnM6IGZhbHNlLFxuICBkZWZpbml0aW9uczoge30sXG4gIGVycm9yTWVzc2FnZXM6IGZhbHNlLFxuICBtYXJrZG93bkRlc2NyaXB0aW9uOiBmYWxzZSxcbiAgcGF0dGVyblN0cmF0ZWd5OiBcImVzY2FwZVwiLFxuICBhcHBseVJlZ2V4RmxhZ3M6IGZhbHNlLFxuICBlbWFpbFN0cmF0ZWd5OiBcImZvcm1hdDplbWFpbFwiLFxuICBiYXNlNjRTdHJhdGVneTogXCJjb250ZW50RW5jb2Rpbmc6YmFzZTY0XCIsXG4gIG5hbWVTdHJhdGVneTogXCJyZWZcIlxufTtcbnZhciBnZXREZWZhdWx0T3B0aW9ucyA9IChvcHRpb25zKSA9PiB0eXBlb2Ygb3B0aW9ucyA9PT0gXCJzdHJpbmdcIiA/IHtcbiAgLi4uZGVmYXVsdE9wdGlvbnMsXG4gIG5hbWU6IG9wdGlvbnNcbn0gOiB7XG4gIC4uLmRlZmF1bHRPcHRpb25zLFxuICAuLi5vcHRpb25zXG59O1xuXG4vLyBub2RlX21vZHVsZXMvem9kLXRvLWpzb24tc2NoZW1hL2Rpc3QvZXNtL1JlZnMuanNcbnZhciBnZXRSZWZzID0gKG9wdGlvbnMpID0+IHtcbiAgY29uc3QgX29wdGlvbnMgPSBnZXREZWZhdWx0T3B0aW9ucyhvcHRpb25zKTtcbiAgY29uc3QgY3VycmVudFBhdGggPSBfb3B0aW9ucy5uYW1lICE9PSB2b2lkIDAgPyBbLi4uX29wdGlvbnMuYmFzZVBhdGgsIF9vcHRpb25zLmRlZmluaXRpb25QYXRoLCBfb3B0aW9ucy5uYW1lXSA6IF9vcHRpb25zLmJhc2VQYXRoO1xuICByZXR1cm4ge1xuICAgIC4uLl9vcHRpb25zLFxuICAgIGN1cnJlbnRQYXRoLFxuICAgIHByb3BlcnR5UGF0aDogdm9pZCAwLFxuICAgIHNlZW46IG5ldyBNYXAoT2JqZWN0LmVudHJpZXMoX29wdGlvbnMuZGVmaW5pdGlvbnMpLm1hcCgoW25hbWUsIGRlZl0pID0+IFtcbiAgICAgIGRlZi5fZGVmLFxuICAgICAge1xuICAgICAgICBkZWY6IGRlZi5fZGVmLFxuICAgICAgICBwYXRoOiBbLi4uX29wdGlvbnMuYmFzZVBhdGgsIF9vcHRpb25zLmRlZmluaXRpb25QYXRoLCBuYW1lXSxcbiAgICAgICAgLy8gUmVzb2x1dGlvbiBvZiByZWZlcmVuY2VzIHdpbGwgYmUgZm9yY2VkIGV2ZW4gdGhvdWdoIHNlZW4sIHNvIGl0J3Mgb2sgdGhhdCB0aGUgc2NoZW1hIGlzIHVuZGVmaW5lZCBoZXJlIGZvciBub3cuXG4gICAgICAgIGpzb25TY2hlbWE6IHZvaWQgMFxuICAgICAgfVxuICAgIF0pKVxuICB9O1xufTtcblxuLy8gbm9kZV9tb2R1bGVzL3pvZC10by1qc29uLXNjaGVtYS9kaXN0L2VzbS9lcnJvck1lc3NhZ2VzLmpzXG5mdW5jdGlvbiBhZGRFcnJvck1lc3NhZ2UocmVzLCBrZXksIGVycm9yTWVzc2FnZSwgcmVmcykge1xuICBpZiAoIXJlZnM/LmVycm9yTWVzc2FnZXMpXG4gICAgcmV0dXJuO1xuICBpZiAoZXJyb3JNZXNzYWdlKSB7XG4gICAgcmVzLmVycm9yTWVzc2FnZSA9IHtcbiAgICAgIC4uLnJlcy5lcnJvck1lc3NhZ2UsXG4gICAgICBba2V5XTogZXJyb3JNZXNzYWdlXG4gICAgfTtcbiAgfVxufVxuZnVuY3Rpb24gc2V0UmVzcG9uc2VWYWx1ZUFuZEVycm9ycyhyZXMsIGtleSwgdmFsdWUsIGVycm9yTWVzc2FnZSwgcmVmcykge1xuICByZXNba2V5XSA9IHZhbHVlO1xuICBhZGRFcnJvck1lc3NhZ2UocmVzLCBrZXksIGVycm9yTWVzc2FnZSwgcmVmcyk7XG59XG5cbi8vIG5vZGVfbW9kdWxlcy96b2QtdG8tanNvbi1zY2hlbWEvZGlzdC9lc20vcGFyc2Vycy9hbnkuanNcbmZ1bmN0aW9uIHBhcnNlQW55RGVmKCkge1xuICByZXR1cm4ge307XG59XG5cbi8vIG5vZGVfbW9kdWxlcy96b2QtdG8tanNvbi1zY2hlbWEvZGlzdC9lc20vcGFyc2Vycy9hcnJheS5qc1xuZnVuY3Rpb24gcGFyc2VBcnJheURlZihkZWYsIHJlZnMpIHtcbiAgY29uc3QgcmVzID0ge1xuICAgIHR5cGU6IFwiYXJyYXlcIlxuICB9O1xuICBpZiAoZGVmLnR5cGU/Ll9kZWYgJiYgZGVmLnR5cGU/Ll9kZWY/LnR5cGVOYW1lICE9PSBab2RGaXJzdFBhcnR5VHlwZUtpbmQuWm9kQW55KSB7XG4gICAgcmVzLml0ZW1zID0gcGFyc2VEZWYoZGVmLnR5cGUuX2RlZiwge1xuICAgICAgLi4ucmVmcyxcbiAgICAgIGN1cnJlbnRQYXRoOiBbLi4ucmVmcy5jdXJyZW50UGF0aCwgXCJpdGVtc1wiXVxuICAgIH0pO1xuICB9XG4gIGlmIChkZWYubWluTGVuZ3RoKSB7XG4gICAgc2V0UmVzcG9uc2VWYWx1ZUFuZEVycm9ycyhyZXMsIFwibWluSXRlbXNcIiwgZGVmLm1pbkxlbmd0aC52YWx1ZSwgZGVmLm1pbkxlbmd0aC5tZXNzYWdlLCByZWZzKTtcbiAgfVxuICBpZiAoZGVmLm1heExlbmd0aCkge1xuICAgIHNldFJlc3BvbnNlVmFsdWVBbmRFcnJvcnMocmVzLCBcIm1heEl0ZW1zXCIsIGRlZi5tYXhMZW5ndGgudmFsdWUsIGRlZi5tYXhMZW5ndGgubWVzc2FnZSwgcmVmcyk7XG4gIH1cbiAgaWYgKGRlZi5leGFjdExlbmd0aCkge1xuICAgIHNldFJlc3BvbnNlVmFsdWVBbmRFcnJvcnMocmVzLCBcIm1pbkl0ZW1zXCIsIGRlZi5leGFjdExlbmd0aC52YWx1ZSwgZGVmLmV4YWN0TGVuZ3RoLm1lc3NhZ2UsIHJlZnMpO1xuICAgIHNldFJlc3BvbnNlVmFsdWVBbmRFcnJvcnMocmVzLCBcIm1heEl0ZW1zXCIsIGRlZi5leGFjdExlbmd0aC52YWx1ZSwgZGVmLmV4YWN0TGVuZ3RoLm1lc3NhZ2UsIHJlZnMpO1xuICB9XG4gIHJldHVybiByZXM7XG59XG5cbi8vIG5vZGVfbW9kdWxlcy96b2QtdG8tanNvbi1zY2hlbWEvZGlzdC9lc20vcGFyc2Vycy9iaWdpbnQuanNcbmZ1bmN0aW9uIHBhcnNlQmlnaW50RGVmKGRlZiwgcmVmcykge1xuICBjb25zdCByZXMgPSB7XG4gICAgdHlwZTogXCJpbnRlZ2VyXCIsXG4gICAgZm9ybWF0OiBcImludDY0XCJcbiAgfTtcbiAgaWYgKCFkZWYuY2hlY2tzKVxuICAgIHJldHVybiByZXM7XG4gIGZvciAoY29uc3QgY2hlY2sgb2YgZGVmLmNoZWNrcykge1xuICAgIHN3aXRjaCAoY2hlY2sua2luZCkge1xuICAgICAgY2FzZSBcIm1pblwiOlxuICAgICAgICBpZiAocmVmcy50YXJnZXQgPT09IFwianNvblNjaGVtYTdcIikge1xuICAgICAgICAgIGlmIChjaGVjay5pbmNsdXNpdmUpIHtcbiAgICAgICAgICAgIHNldFJlc3BvbnNlVmFsdWVBbmRFcnJvcnMocmVzLCBcIm1pbmltdW1cIiwgY2hlY2sudmFsdWUsIGNoZWNrLm1lc3NhZ2UsIHJlZnMpO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBzZXRSZXNwb25zZVZhbHVlQW5kRXJyb3JzKHJlcywgXCJleGNsdXNpdmVNaW5pbXVtXCIsIGNoZWNrLnZhbHVlLCBjaGVjay5tZXNzYWdlLCByZWZzKTtcbiAgICAgICAgICB9XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgaWYgKCFjaGVjay5pbmNsdXNpdmUpIHtcbiAgICAgICAgICAgIHJlcy5leGNsdXNpdmVNaW5pbXVtID0gdHJ1ZTtcbiAgICAgICAgICB9XG4gICAgICAgICAgc2V0UmVzcG9uc2VWYWx1ZUFuZEVycm9ycyhyZXMsIFwibWluaW11bVwiLCBjaGVjay52YWx1ZSwgY2hlY2subWVzc2FnZSwgcmVmcyk7XG4gICAgICAgIH1cbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlIFwibWF4XCI6XG4gICAgICAgIGlmIChyZWZzLnRhcmdldCA9PT0gXCJqc29uU2NoZW1hN1wiKSB7XG4gICAgICAgICAgaWYgKGNoZWNrLmluY2x1c2l2ZSkge1xuICAgICAgICAgICAgc2V0UmVzcG9uc2VWYWx1ZUFuZEVycm9ycyhyZXMsIFwibWF4aW11bVwiLCBjaGVjay52YWx1ZSwgY2hlY2subWVzc2FnZSwgcmVmcyk7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHNldFJlc3BvbnNlVmFsdWVBbmRFcnJvcnMocmVzLCBcImV4Y2x1c2l2ZU1heGltdW1cIiwgY2hlY2sudmFsdWUsIGNoZWNrLm1lc3NhZ2UsIHJlZnMpO1xuICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBpZiAoIWNoZWNrLmluY2x1c2l2ZSkge1xuICAgICAgICAgICAgcmVzLmV4Y2x1c2l2ZU1heGltdW0gPSB0cnVlO1xuICAgICAgICAgIH1cbiAgICAgICAgICBzZXRSZXNwb25zZVZhbHVlQW5kRXJyb3JzKHJlcywgXCJtYXhpbXVtXCIsIGNoZWNrLnZhbHVlLCBjaGVjay5tZXNzYWdlLCByZWZzKTtcbiAgICAgICAgfVxuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgXCJtdWx0aXBsZU9mXCI6XG4gICAgICAgIHNldFJlc3BvbnNlVmFsdWVBbmRFcnJvcnMocmVzLCBcIm11bHRpcGxlT2ZcIiwgY2hlY2sudmFsdWUsIGNoZWNrLm1lc3NhZ2UsIHJlZnMpO1xuICAgICAgICBicmVhaztcbiAgICB9XG4gIH1cbiAgcmV0dXJuIHJlcztcbn1cblxuLy8gbm9kZV9tb2R1bGVzL3pvZC10by1qc29uLXNjaGVtYS9kaXN0L2VzbS9wYXJzZXJzL2Jvb2xlYW4uanNcbmZ1bmN0aW9uIHBhcnNlQm9vbGVhbkRlZigpIHtcbiAgcmV0dXJuIHtcbiAgICB0eXBlOiBcImJvb2xlYW5cIlxuICB9O1xufVxuXG4vLyBub2RlX21vZHVsZXMvem9kLXRvLWpzb24tc2NoZW1hL2Rpc3QvZXNtL3BhcnNlcnMvYnJhbmRlZC5qc1xuZnVuY3Rpb24gcGFyc2VCcmFuZGVkRGVmKF9kZWYsIHJlZnMpIHtcbiAgcmV0dXJuIHBhcnNlRGVmKF9kZWYudHlwZS5fZGVmLCByZWZzKTtcbn1cblxuLy8gbm9kZV9tb2R1bGVzL3pvZC10by1qc29uLXNjaGVtYS9kaXN0L2VzbS9wYXJzZXJzL2NhdGNoLmpzXG52YXIgcGFyc2VDYXRjaERlZiA9IChkZWYsIHJlZnMpID0+IHtcbiAgcmV0dXJuIHBhcnNlRGVmKGRlZi5pbm5lclR5cGUuX2RlZiwgcmVmcyk7XG59O1xuXG4vLyBub2RlX21vZHVsZXMvem9kLXRvLWpzb24tc2NoZW1hL2Rpc3QvZXNtL3BhcnNlcnMvZGF0ZS5qc1xuZnVuY3Rpb24gcGFyc2VEYXRlRGVmKGRlZiwgcmVmcywgb3ZlcnJpZGVEYXRlU3RyYXRlZ3kpIHtcbiAgY29uc3Qgc3RyYXRlZ3kgPSBvdmVycmlkZURhdGVTdHJhdGVneSA/PyByZWZzLmRhdGVTdHJhdGVneTtcbiAgaWYgKEFycmF5LmlzQXJyYXkoc3RyYXRlZ3kpKSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIGFueU9mOiBzdHJhdGVneS5tYXAoKGl0ZW0sIGkpID0+IHBhcnNlRGF0ZURlZihkZWYsIHJlZnMsIGl0ZW0pKVxuICAgIH07XG4gIH1cbiAgc3dpdGNoIChzdHJhdGVneSkge1xuICAgIGNhc2UgXCJzdHJpbmdcIjpcbiAgICBjYXNlIFwiZm9ybWF0OmRhdGUtdGltZVwiOlxuICAgICAgcmV0dXJuIHtcbiAgICAgICAgdHlwZTogXCJzdHJpbmdcIixcbiAgICAgICAgZm9ybWF0OiBcImRhdGUtdGltZVwiXG4gICAgICB9O1xuICAgIGNhc2UgXCJmb3JtYXQ6ZGF0ZVwiOlxuICAgICAgcmV0dXJuIHtcbiAgICAgICAgdHlwZTogXCJzdHJpbmdcIixcbiAgICAgICAgZm9ybWF0OiBcImRhdGVcIlxuICAgICAgfTtcbiAgICBjYXNlIFwiaW50ZWdlclwiOlxuICAgICAgcmV0dXJuIGludGVnZXJEYXRlUGFyc2VyKGRlZiwgcmVmcyk7XG4gIH1cbn1cbnZhciBpbnRlZ2VyRGF0ZVBhcnNlciA9IChkZWYsIHJlZnMpID0+IHtcbiAgY29uc3QgcmVzID0ge1xuICAgIHR5cGU6IFwiaW50ZWdlclwiLFxuICAgIGZvcm1hdDogXCJ1bml4LXRpbWVcIlxuICB9O1xuICBpZiAocmVmcy50YXJnZXQgPT09IFwib3BlbkFwaTNcIikge1xuICAgIHJldHVybiByZXM7XG4gIH1cbiAgZm9yIChjb25zdCBjaGVjayBvZiBkZWYuY2hlY2tzKSB7XG4gICAgc3dpdGNoIChjaGVjay5raW5kKSB7XG4gICAgICBjYXNlIFwibWluXCI6XG4gICAgICAgIHNldFJlc3BvbnNlVmFsdWVBbmRFcnJvcnMoXG4gICAgICAgICAgcmVzLFxuICAgICAgICAgIFwibWluaW11bVwiLFxuICAgICAgICAgIGNoZWNrLnZhbHVlLFxuICAgICAgICAgIC8vIFRoaXMgaXMgaW4gbWlsbGlzZWNvbmRzXG4gICAgICAgICAgY2hlY2subWVzc2FnZSxcbiAgICAgICAgICByZWZzXG4gICAgICAgICk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSBcIm1heFwiOlxuICAgICAgICBzZXRSZXNwb25zZVZhbHVlQW5kRXJyb3JzKFxuICAgICAgICAgIHJlcyxcbiAgICAgICAgICBcIm1heGltdW1cIixcbiAgICAgICAgICBjaGVjay52YWx1ZSxcbiAgICAgICAgICAvLyBUaGlzIGlzIGluIG1pbGxpc2Vjb25kc1xuICAgICAgICAgIGNoZWNrLm1lc3NhZ2UsXG4gICAgICAgICAgcmVmc1xuICAgICAgICApO1xuICAgICAgICBicmVhaztcbiAgICB9XG4gIH1cbiAgcmV0dXJuIHJlcztcbn07XG5cbi8vIG5vZGVfbW9kdWxlcy96b2QtdG8tanNvbi1zY2hlbWEvZGlzdC9lc20vcGFyc2Vycy9kZWZhdWx0LmpzXG5mdW5jdGlvbiBwYXJzZURlZmF1bHREZWYoX2RlZiwgcmVmcykge1xuICByZXR1cm4ge1xuICAgIC4uLnBhcnNlRGVmKF9kZWYuaW5uZXJUeXBlLl9kZWYsIHJlZnMpLFxuICAgIGRlZmF1bHQ6IF9kZWYuZGVmYXVsdFZhbHVlKClcbiAgfTtcbn1cblxuLy8gbm9kZV9tb2R1bGVzL3pvZC10by1qc29uLXNjaGVtYS9kaXN0L2VzbS9wYXJzZXJzL2VmZmVjdHMuanNcbmZ1bmN0aW9uIHBhcnNlRWZmZWN0c0RlZihfZGVmLCByZWZzKSB7XG4gIHJldHVybiByZWZzLmVmZmVjdFN0cmF0ZWd5ID09PSBcImlucHV0XCIgPyBwYXJzZURlZihfZGVmLnNjaGVtYS5fZGVmLCByZWZzKSA6IHt9O1xufVxuXG4vLyBub2RlX21vZHVsZXMvem9kLXRvLWpzb24tc2NoZW1hL2Rpc3QvZXNtL3BhcnNlcnMvZW51bS5qc1xuZnVuY3Rpb24gcGFyc2VFbnVtRGVmKGRlZikge1xuICByZXR1cm4ge1xuICAgIHR5cGU6IFwic3RyaW5nXCIsXG4gICAgZW51bTogQXJyYXkuZnJvbShkZWYudmFsdWVzKVxuICB9O1xufVxuXG4vLyBub2RlX21vZHVsZXMvem9kLXRvLWpzb24tc2NoZW1hL2Rpc3QvZXNtL3BhcnNlcnMvaW50ZXJzZWN0aW9uLmpzXG52YXIgaXNKc29uU2NoZW1hN0FsbE9mVHlwZSA9ICh0eXBlKSA9PiB7XG4gIGlmIChcInR5cGVcIiBpbiB0eXBlICYmIHR5cGUudHlwZSA9PT0gXCJzdHJpbmdcIilcbiAgICByZXR1cm4gZmFsc2U7XG4gIHJldHVybiBcImFsbE9mXCIgaW4gdHlwZTtcbn07XG5mdW5jdGlvbiBwYXJzZUludGVyc2VjdGlvbkRlZihkZWYsIHJlZnMpIHtcbiAgY29uc3QgYWxsT2YgPSBbXG4gICAgcGFyc2VEZWYoZGVmLmxlZnQuX2RlZiwge1xuICAgICAgLi4ucmVmcyxcbiAgICAgIGN1cnJlbnRQYXRoOiBbLi4ucmVmcy5jdXJyZW50UGF0aCwgXCJhbGxPZlwiLCBcIjBcIl1cbiAgICB9KSxcbiAgICBwYXJzZURlZihkZWYucmlnaHQuX2RlZiwge1xuICAgICAgLi4ucmVmcyxcbiAgICAgIGN1cnJlbnRQYXRoOiBbLi4ucmVmcy5jdXJyZW50UGF0aCwgXCJhbGxPZlwiLCBcIjFcIl1cbiAgICB9KVxuICBdLmZpbHRlcigoeCkgPT4gISF4KTtcbiAgbGV0IHVuZXZhbHVhdGVkUHJvcGVydGllcyA9IHJlZnMudGFyZ2V0ID09PSBcImpzb25TY2hlbWEyMDE5LTA5XCIgPyB7IHVuZXZhbHVhdGVkUHJvcGVydGllczogZmFsc2UgfSA6IHZvaWQgMDtcbiAgY29uc3QgbWVyZ2VkQWxsT2YgPSBbXTtcbiAgYWxsT2YuZm9yRWFjaCgoc2NoZW1hKSA9PiB7XG4gICAgaWYgKGlzSnNvblNjaGVtYTdBbGxPZlR5cGUoc2NoZW1hKSkge1xuICAgICAgbWVyZ2VkQWxsT2YucHVzaCguLi5zY2hlbWEuYWxsT2YpO1xuICAgICAgaWYgKHNjaGVtYS51bmV2YWx1YXRlZFByb3BlcnRpZXMgPT09IHZvaWQgMCkge1xuICAgICAgICB1bmV2YWx1YXRlZFByb3BlcnRpZXMgPSB2b2lkIDA7XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIGxldCBuZXN0ZWRTY2hlbWEgPSBzY2hlbWE7XG4gICAgICBpZiAoXCJhZGRpdGlvbmFsUHJvcGVydGllc1wiIGluIHNjaGVtYSAmJiBzY2hlbWEuYWRkaXRpb25hbFByb3BlcnRpZXMgPT09IGZhbHNlKSB7XG4gICAgICAgIGNvbnN0IHsgYWRkaXRpb25hbFByb3BlcnRpZXMsIC4uLnJlc3QgfSA9IHNjaGVtYTtcbiAgICAgICAgbmVzdGVkU2NoZW1hID0gcmVzdDtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHVuZXZhbHVhdGVkUHJvcGVydGllcyA9IHZvaWQgMDtcbiAgICAgIH1cbiAgICAgIG1lcmdlZEFsbE9mLnB1c2gobmVzdGVkU2NoZW1hKTtcbiAgICB9XG4gIH0pO1xuICByZXR1cm4gbWVyZ2VkQWxsT2YubGVuZ3RoID8ge1xuICAgIGFsbE9mOiBtZXJnZWRBbGxPZixcbiAgICAuLi51bmV2YWx1YXRlZFByb3BlcnRpZXNcbiAgfSA6IHZvaWQgMDtcbn1cblxuLy8gbm9kZV9tb2R1bGVzL3pvZC10by1qc29uLXNjaGVtYS9kaXN0L2VzbS9wYXJzZXJzL2xpdGVyYWwuanNcbmZ1bmN0aW9uIHBhcnNlTGl0ZXJhbERlZihkZWYsIHJlZnMpIHtcbiAgY29uc3QgcGFyc2VkVHlwZSA9IHR5cGVvZiBkZWYudmFsdWU7XG4gIGlmIChwYXJzZWRUeXBlICE9PSBcImJpZ2ludFwiICYmIHBhcnNlZFR5cGUgIT09IFwibnVtYmVyXCIgJiYgcGFyc2VkVHlwZSAhPT0gXCJib29sZWFuXCIgJiYgcGFyc2VkVHlwZSAhPT0gXCJzdHJpbmdcIikge1xuICAgIHJldHVybiB7XG4gICAgICB0eXBlOiBBcnJheS5pc0FycmF5KGRlZi52YWx1ZSkgPyBcImFycmF5XCIgOiBcIm9iamVjdFwiXG4gICAgfTtcbiAgfVxuICBpZiAocmVmcy50YXJnZXQgPT09IFwib3BlbkFwaTNcIikge1xuICAgIHJldHVybiB7XG4gICAgICB0eXBlOiBwYXJzZWRUeXBlID09PSBcImJpZ2ludFwiID8gXCJpbnRlZ2VyXCIgOiBwYXJzZWRUeXBlLFxuICAgICAgZW51bTogW2RlZi52YWx1ZV1cbiAgICB9O1xuICB9XG4gIHJldHVybiB7XG4gICAgdHlwZTogcGFyc2VkVHlwZSA9PT0gXCJiaWdpbnRcIiA/IFwiaW50ZWdlclwiIDogcGFyc2VkVHlwZSxcbiAgICBjb25zdDogZGVmLnZhbHVlXG4gIH07XG59XG5cbi8vIG5vZGVfbW9kdWxlcy96b2QtdG8tanNvbi1zY2hlbWEvZGlzdC9lc20vcGFyc2Vycy9zdHJpbmcuanNcbnZhciBlbW9qaVJlZ2V4MiA9IHZvaWQgMDtcbnZhciB6b2RQYXR0ZXJucyA9IHtcbiAgLyoqXG4gICAqIGBjYCB3YXMgY2hhbmdlZCB0byBgW2NDXWAgdG8gcmVwbGljYXRlIC9pIGZsYWdcbiAgICovXG4gIGN1aWQ6IC9eW2NDXVteXFxzLV17OCx9JC8sXG4gIGN1aWQyOiAvXlswLTlhLXpdKyQvLFxuICB1bGlkOiAvXlswLTlBLUhKS01OUC1UVi1aXXsyNn0kLyxcbiAgLyoqXG4gICAqIGBhLXpgIHdhcyBhZGRlZCB0byByZXBsaWNhdGUgL2kgZmxhZ1xuICAgKi9cbiAgZW1haWw6IC9eKD8hXFwuKSg/IS4qXFwuXFwuKShbYS16QS1aMC05XycrXFwtXFwuXSopW2EtekEtWjAtOV8rLV1AKFthLXpBLVowLTldW2EtekEtWjAtOVxcLV0qXFwuKStbYS16QS1aXXsyLH0kLyxcbiAgLyoqXG4gICAqIENvbnN0cnVjdGVkIGEgdmFsaWQgVW5pY29kZSBSZWdFeHBcbiAgICpcbiAgICogTGF6aWx5IGluc3RhbnRpYXRlIHNpbmNlIHRoaXMgdHlwZSBvZiByZWdleCBpc24ndCBzdXBwb3J0ZWRcbiAgICogaW4gYWxsIGVudnMgKGUuZy4gUmVhY3QgTmF0aXZlKS5cbiAgICpcbiAgICogU2VlOlxuICAgKiBodHRwczovL2dpdGh1Yi5jb20vY29saW5oYWNrcy96b2QvaXNzdWVzLzI0MzNcbiAgICogRml4IGluIFpvZDpcbiAgICogaHR0cHM6Ly9naXRodWIuY29tL2NvbGluaGFja3Mvem9kL2NvbW1pdC85MzQwZmQ1MWU0ODU3NmE3NWFkYzkxOWJmZjY1ZGJjNGE1ZDRjOTliXG4gICAqL1xuICBlbW9qaTogKCkgPT4ge1xuICAgIGlmIChlbW9qaVJlZ2V4MiA9PT0gdm9pZCAwKSB7XG4gICAgICBlbW9qaVJlZ2V4MiA9IFJlZ0V4cChcIl4oXFxcXHB7RXh0ZW5kZWRfUGljdG9ncmFwaGljfXxcXFxccHtFbW9qaV9Db21wb25lbnR9KSskXCIsIFwidVwiKTtcbiAgICB9XG4gICAgcmV0dXJuIGVtb2ppUmVnZXgyO1xuICB9LFxuICAvKipcbiAgICogVW51c2VkXG4gICAqL1xuICB1dWlkOiAvXlswLTlhLWZBLUZdezh9XFxiLVswLTlhLWZBLUZdezR9XFxiLVswLTlhLWZBLUZdezR9XFxiLVswLTlhLWZBLUZdezR9XFxiLVswLTlhLWZBLUZdezEyfSQvLFxuICAvKipcbiAgICogVW51c2VkXG4gICAqL1xuICBpcHY0OiAvXig/Oig/OjI1WzAtNV18MlswLTRdWzAtOV18MVswLTldWzAtOV18WzEtOV1bMC05XXxbMC05XSlcXC4pezN9KD86MjVbMC01XXwyWzAtNF1bMC05XXwxWzAtOV1bMC05XXxbMS05XVswLTldfFswLTldKSQvLFxuICBpcHY0Q2lkcjogL14oPzooPzoyNVswLTVdfDJbMC00XVswLTldfDFbMC05XVswLTldfFsxLTldWzAtOV18WzAtOV0pXFwuKXszfSg/OjI1WzAtNV18MlswLTRdWzAtOV18MVswLTldWzAtOV18WzEtOV1bMC05XXxbMC05XSlcXC8oM1swLTJdfFsxMl0/WzAtOV0pJC8sXG4gIC8qKlxuICAgKiBVbnVzZWRcbiAgICovXG4gIGlwdjY6IC9eKChbYS1mMC05XXsxLDR9Oil7N318OjooW2EtZjAtOV17MSw0fTopezAsNn18KFthLWYwLTldezEsNH06KXsxfTooW2EtZjAtOV17MSw0fTopezAsNX18KFthLWYwLTldezEsNH06KXsyfTooW2EtZjAtOV17MSw0fTopezAsNH18KFthLWYwLTldezEsNH06KXszfTooW2EtZjAtOV17MSw0fTopezAsM318KFthLWYwLTldezEsNH06KXs0fTooW2EtZjAtOV17MSw0fTopezAsMn18KFthLWYwLTldezEsNH06KXs1fTooW2EtZjAtOV17MSw0fTopezAsMX0pKFthLWYwLTldezEsNH18KCgoMjVbMC01XSl8KDJbMC00XVswLTldKXwoMVswLTldezJ9KXwoWzAtOV17MSwyfSkpXFwuKXszfSgoMjVbMC01XSl8KDJbMC00XVswLTldKXwoMVswLTldezJ9KXwoWzAtOV17MSwyfSkpKSQvLFxuICBpcHY2Q2lkcjogL14oKFswLTlhLWZBLUZdezEsNH06KXs3LDd9WzAtOWEtZkEtRl17MSw0fXwoWzAtOWEtZkEtRl17MSw0fTopezEsN306fChbMC05YS1mQS1GXXsxLDR9Oil7MSw2fTpbMC05YS1mQS1GXXsxLDR9fChbMC05YS1mQS1GXXsxLDR9Oil7MSw1fSg6WzAtOWEtZkEtRl17MSw0fSl7MSwyfXwoWzAtOWEtZkEtRl17MSw0fTopezEsNH0oOlswLTlhLWZBLUZdezEsNH0pezEsM318KFswLTlhLWZBLUZdezEsNH06KXsxLDN9KDpbMC05YS1mQS1GXXsxLDR9KXsxLDR9fChbMC05YS1mQS1GXXsxLDR9Oil7MSwyfSg6WzAtOWEtZkEtRl17MSw0fSl7MSw1fXxbMC05YS1mQS1GXXsxLDR9OigoOlswLTlhLWZBLUZdezEsNH0pezEsNn0pfDooKDpbMC05YS1mQS1GXXsxLDR9KXsxLDd9fDopfGZlODA6KDpbMC05YS1mQS1GXXswLDR9KXswLDR9JVswLTlhLXpBLVpdezEsfXw6OihmZmZmKDowezEsNH0pezAsMX06KXswLDF9KCgyNVswLTVdfCgyWzAtNF18MXswLDF9WzAtOV0pezAsMX1bMC05XSlcXC4pezMsM30oMjVbMC01XXwoMlswLTRdfDF7MCwxfVswLTldKXswLDF9WzAtOV0pfChbMC05YS1mQS1GXXsxLDR9Oil7MSw0fTooKDI1WzAtNV18KDJbMC00XXwxezAsMX1bMC05XSl7MCwxfVswLTldKVxcLil7MywzfSgyNVswLTVdfCgyWzAtNF18MXswLDF9WzAtOV0pezAsMX1bMC05XSkpXFwvKDEyWzAtOF18MVswMV1bMC05XXxbMS05XT9bMC05XSkkLyxcbiAgYmFzZTY0OiAvXihbMC05YS16QS1aKy9dezR9KSooKFswLTlhLXpBLVorL117Mn09PSl8KFswLTlhLXpBLVorL117M309KSk/JC8sXG4gIGJhc2U2NHVybDogL14oWzAtOWEtekEtWi1fXXs0fSkqKChbMC05YS16QS1aLV9dezJ9KD09KT8pfChbMC05YS16QS1aLV9dezN9KD0pPykpPyQvLFxuICBuYW5vaWQ6IC9eW2EtekEtWjAtOV8tXXsyMX0kLyxcbiAgand0OiAvXltBLVphLXowLTktX10rXFwuW0EtWmEtejAtOS1fXStcXC5bQS1aYS16MC05LV9dKiQvXG59O1xuZnVuY3Rpb24gcGFyc2VTdHJpbmdEZWYoZGVmLCByZWZzKSB7XG4gIGNvbnN0IHJlcyA9IHtcbiAgICB0eXBlOiBcInN0cmluZ1wiXG4gIH07XG4gIGlmIChkZWYuY2hlY2tzKSB7XG4gICAgZm9yIChjb25zdCBjaGVjayBvZiBkZWYuY2hlY2tzKSB7XG4gICAgICBzd2l0Y2ggKGNoZWNrLmtpbmQpIHtcbiAgICAgICAgY2FzZSBcIm1pblwiOlxuICAgICAgICAgIHNldFJlc3BvbnNlVmFsdWVBbmRFcnJvcnMocmVzLCBcIm1pbkxlbmd0aFwiLCB0eXBlb2YgcmVzLm1pbkxlbmd0aCA9PT0gXCJudW1iZXJcIiA/IE1hdGgubWF4KHJlcy5taW5MZW5ndGgsIGNoZWNrLnZhbHVlKSA6IGNoZWNrLnZhbHVlLCBjaGVjay5tZXNzYWdlLCByZWZzKTtcbiAgICAgICAgICBicmVhaztcbiAgICAgICAgY2FzZSBcIm1heFwiOlxuICAgICAgICAgIHNldFJlc3BvbnNlVmFsdWVBbmRFcnJvcnMocmVzLCBcIm1heExlbmd0aFwiLCB0eXBlb2YgcmVzLm1heExlbmd0aCA9PT0gXCJudW1iZXJcIiA/IE1hdGgubWluKHJlcy5tYXhMZW5ndGgsIGNoZWNrLnZhbHVlKSA6IGNoZWNrLnZhbHVlLCBjaGVjay5tZXNzYWdlLCByZWZzKTtcbiAgICAgICAgICBicmVhaztcbiAgICAgICAgY2FzZSBcImVtYWlsXCI6XG4gICAgICAgICAgc3dpdGNoIChyZWZzLmVtYWlsU3RyYXRlZ3kpIHtcbiAgICAgICAgICAgIGNhc2UgXCJmb3JtYXQ6ZW1haWxcIjpcbiAgICAgICAgICAgICAgYWRkRm9ybWF0KHJlcywgXCJlbWFpbFwiLCBjaGVjay5tZXNzYWdlLCByZWZzKTtcbiAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICBjYXNlIFwiZm9ybWF0Omlkbi1lbWFpbFwiOlxuICAgICAgICAgICAgICBhZGRGb3JtYXQocmVzLCBcImlkbi1lbWFpbFwiLCBjaGVjay5tZXNzYWdlLCByZWZzKTtcbiAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICBjYXNlIFwicGF0dGVybjp6b2RcIjpcbiAgICAgICAgICAgICAgYWRkUGF0dGVybihyZXMsIHpvZFBhdHRlcm5zLmVtYWlsLCBjaGVjay5tZXNzYWdlLCByZWZzKTtcbiAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgfVxuICAgICAgICAgIGJyZWFrO1xuICAgICAgICBjYXNlIFwidXJsXCI6XG4gICAgICAgICAgYWRkRm9ybWF0KHJlcywgXCJ1cmlcIiwgY2hlY2subWVzc2FnZSwgcmVmcyk7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIGNhc2UgXCJ1dWlkXCI6XG4gICAgICAgICAgYWRkRm9ybWF0KHJlcywgXCJ1dWlkXCIsIGNoZWNrLm1lc3NhZ2UsIHJlZnMpO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgICBjYXNlIFwicmVnZXhcIjpcbiAgICAgICAgICBhZGRQYXR0ZXJuKHJlcywgY2hlY2sucmVnZXgsIGNoZWNrLm1lc3NhZ2UsIHJlZnMpO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgICBjYXNlIFwiY3VpZFwiOlxuICAgICAgICAgIGFkZFBhdHRlcm4ocmVzLCB6b2RQYXR0ZXJucy5jdWlkLCBjaGVjay5tZXNzYWdlLCByZWZzKTtcbiAgICAgICAgICBicmVhaztcbiAgICAgICAgY2FzZSBcImN1aWQyXCI6XG4gICAgICAgICAgYWRkUGF0dGVybihyZXMsIHpvZFBhdHRlcm5zLmN1aWQyLCBjaGVjay5tZXNzYWdlLCByZWZzKTtcbiAgICAgICAgICBicmVhaztcbiAgICAgICAgY2FzZSBcInN0YXJ0c1dpdGhcIjpcbiAgICAgICAgICBhZGRQYXR0ZXJuKHJlcywgUmVnRXhwKGBeJHtlc2NhcGVMaXRlcmFsQ2hlY2tWYWx1ZShjaGVjay52YWx1ZSwgcmVmcyl9YCksIGNoZWNrLm1lc3NhZ2UsIHJlZnMpO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgICBjYXNlIFwiZW5kc1dpdGhcIjpcbiAgICAgICAgICBhZGRQYXR0ZXJuKHJlcywgUmVnRXhwKGAke2VzY2FwZUxpdGVyYWxDaGVja1ZhbHVlKGNoZWNrLnZhbHVlLCByZWZzKX0kYCksIGNoZWNrLm1lc3NhZ2UsIHJlZnMpO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgICBjYXNlIFwiZGF0ZXRpbWVcIjpcbiAgICAgICAgICBhZGRGb3JtYXQocmVzLCBcImRhdGUtdGltZVwiLCBjaGVjay5tZXNzYWdlLCByZWZzKTtcbiAgICAgICAgICBicmVhaztcbiAgICAgICAgY2FzZSBcImRhdGVcIjpcbiAgICAgICAgICBhZGRGb3JtYXQocmVzLCBcImRhdGVcIiwgY2hlY2subWVzc2FnZSwgcmVmcyk7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIGNhc2UgXCJ0aW1lXCI6XG4gICAgICAgICAgYWRkRm9ybWF0KHJlcywgXCJ0aW1lXCIsIGNoZWNrLm1lc3NhZ2UsIHJlZnMpO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgICBjYXNlIFwiZHVyYXRpb25cIjpcbiAgICAgICAgICBhZGRGb3JtYXQocmVzLCBcImR1cmF0aW9uXCIsIGNoZWNrLm1lc3NhZ2UsIHJlZnMpO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgICBjYXNlIFwibGVuZ3RoXCI6XG4gICAgICAgICAgc2V0UmVzcG9uc2VWYWx1ZUFuZEVycm9ycyhyZXMsIFwibWluTGVuZ3RoXCIsIHR5cGVvZiByZXMubWluTGVuZ3RoID09PSBcIm51bWJlclwiID8gTWF0aC5tYXgocmVzLm1pbkxlbmd0aCwgY2hlY2sudmFsdWUpIDogY2hlY2sudmFsdWUsIGNoZWNrLm1lc3NhZ2UsIHJlZnMpO1xuICAgICAgICAgIHNldFJlc3BvbnNlVmFsdWVBbmRFcnJvcnMocmVzLCBcIm1heExlbmd0aFwiLCB0eXBlb2YgcmVzLm1heExlbmd0aCA9PT0gXCJudW1iZXJcIiA/IE1hdGgubWluKHJlcy5tYXhMZW5ndGgsIGNoZWNrLnZhbHVlKSA6IGNoZWNrLnZhbHVlLCBjaGVjay5tZXNzYWdlLCByZWZzKTtcbiAgICAgICAgICBicmVhaztcbiAgICAgICAgY2FzZSBcImluY2x1ZGVzXCI6IHtcbiAgICAgICAgICBhZGRQYXR0ZXJuKHJlcywgUmVnRXhwKGVzY2FwZUxpdGVyYWxDaGVja1ZhbHVlKGNoZWNrLnZhbHVlLCByZWZzKSksIGNoZWNrLm1lc3NhZ2UsIHJlZnMpO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG4gICAgICAgIGNhc2UgXCJpcFwiOiB7XG4gICAgICAgICAgaWYgKGNoZWNrLnZlcnNpb24gIT09IFwidjZcIikge1xuICAgICAgICAgICAgYWRkRm9ybWF0KHJlcywgXCJpcHY0XCIsIGNoZWNrLm1lc3NhZ2UsIHJlZnMpO1xuICAgICAgICAgIH1cbiAgICAgICAgICBpZiAoY2hlY2sudmVyc2lvbiAhPT0gXCJ2NFwiKSB7XG4gICAgICAgICAgICBhZGRGb3JtYXQocmVzLCBcImlwdjZcIiwgY2hlY2subWVzc2FnZSwgcmVmcyk7XG4gICAgICAgICAgfVxuICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG4gICAgICAgIGNhc2UgXCJiYXNlNjR1cmxcIjpcbiAgICAgICAgICBhZGRQYXR0ZXJuKHJlcywgem9kUGF0dGVybnMuYmFzZTY0dXJsLCBjaGVjay5tZXNzYWdlLCByZWZzKTtcbiAgICAgICAgICBicmVhaztcbiAgICAgICAgY2FzZSBcImp3dFwiOlxuICAgICAgICAgIGFkZFBhdHRlcm4ocmVzLCB6b2RQYXR0ZXJucy5qd3QsIGNoZWNrLm1lc3NhZ2UsIHJlZnMpO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgICBjYXNlIFwiY2lkclwiOiB7XG4gICAgICAgICAgaWYgKGNoZWNrLnZlcnNpb24gIT09IFwidjZcIikge1xuICAgICAgICAgICAgYWRkUGF0dGVybihyZXMsIHpvZFBhdHRlcm5zLmlwdjRDaWRyLCBjaGVjay5tZXNzYWdlLCByZWZzKTtcbiAgICAgICAgICB9XG4gICAgICAgICAgaWYgKGNoZWNrLnZlcnNpb24gIT09IFwidjRcIikge1xuICAgICAgICAgICAgYWRkUGF0dGVybihyZXMsIHpvZFBhdHRlcm5zLmlwdjZDaWRyLCBjaGVjay5tZXNzYWdlLCByZWZzKTtcbiAgICAgICAgICB9XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cbiAgICAgICAgY2FzZSBcImVtb2ppXCI6XG4gICAgICAgICAgYWRkUGF0dGVybihyZXMsIHpvZFBhdHRlcm5zLmVtb2ppKCksIGNoZWNrLm1lc3NhZ2UsIHJlZnMpO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgICBjYXNlIFwidWxpZFwiOiB7XG4gICAgICAgICAgYWRkUGF0dGVybihyZXMsIHpvZFBhdHRlcm5zLnVsaWQsIGNoZWNrLm1lc3NhZ2UsIHJlZnMpO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG4gICAgICAgIGNhc2UgXCJiYXNlNjRcIjoge1xuICAgICAgICAgIHN3aXRjaCAocmVmcy5iYXNlNjRTdHJhdGVneSkge1xuICAgICAgICAgICAgY2FzZSBcImZvcm1hdDpiaW5hcnlcIjoge1xuICAgICAgICAgICAgICBhZGRGb3JtYXQocmVzLCBcImJpbmFyeVwiLCBjaGVjay5tZXNzYWdlLCByZWZzKTtcbiAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBjYXNlIFwiY29udGVudEVuY29kaW5nOmJhc2U2NFwiOiB7XG4gICAgICAgICAgICAgIHNldFJlc3BvbnNlVmFsdWVBbmRFcnJvcnMocmVzLCBcImNvbnRlbnRFbmNvZGluZ1wiLCBcImJhc2U2NFwiLCBjaGVjay5tZXNzYWdlLCByZWZzKTtcbiAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBjYXNlIFwicGF0dGVybjp6b2RcIjoge1xuICAgICAgICAgICAgICBhZGRQYXR0ZXJuKHJlcywgem9kUGF0dGVybnMuYmFzZTY0LCBjaGVjay5tZXNzYWdlLCByZWZzKTtcbiAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG4gICAgICAgIGNhc2UgXCJuYW5vaWRcIjoge1xuICAgICAgICAgIGFkZFBhdHRlcm4ocmVzLCB6b2RQYXR0ZXJucy5uYW5vaWQsIGNoZWNrLm1lc3NhZ2UsIHJlZnMpO1xuICAgICAgICB9XG4gICAgICAgIGNhc2UgXCJ0b0xvd2VyQ2FzZVwiOlxuICAgICAgICBjYXNlIFwidG9VcHBlckNhc2VcIjpcbiAgICAgICAgY2FzZSBcInRyaW1cIjpcbiAgICAgICAgICBicmVhaztcbiAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAvKiBAX19QVVJFX18gKi8gKChfMikgPT4ge1xuICAgICAgICAgIH0pKGNoZWNrKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgcmV0dXJuIHJlcztcbn1cbmZ1bmN0aW9uIGVzY2FwZUxpdGVyYWxDaGVja1ZhbHVlKGxpdGVyYWwsIHJlZnMpIHtcbiAgcmV0dXJuIHJlZnMucGF0dGVyblN0cmF0ZWd5ID09PSBcImVzY2FwZVwiID8gZXNjYXBlTm9uQWxwaGFOdW1lcmljKGxpdGVyYWwpIDogbGl0ZXJhbDtcbn1cbnZhciBBTFBIQV9OVU1FUklDID0gbmV3IFNldChcIkFCQ0RFRkdISUpLTE1OT1BRUlNUVVZYWVphYmNkZWZnaGlqa2xtbm9wcXJzdHV2eHl6MDEyMzQ1Njc4OVwiKTtcbmZ1bmN0aW9uIGVzY2FwZU5vbkFscGhhTnVtZXJpYyhzb3VyY2UpIHtcbiAgbGV0IHJlc3VsdCA9IFwiXCI7XG4gIGZvciAobGV0IGkgPSAwOyBpIDwgc291cmNlLmxlbmd0aDsgaSsrKSB7XG4gICAgaWYgKCFBTFBIQV9OVU1FUklDLmhhcyhzb3VyY2VbaV0pKSB7XG4gICAgICByZXN1bHQgKz0gXCJcXFxcXCI7XG4gICAgfVxuICAgIHJlc3VsdCArPSBzb3VyY2VbaV07XG4gIH1cbiAgcmV0dXJuIHJlc3VsdDtcbn1cbmZ1bmN0aW9uIGFkZEZvcm1hdChzY2hlbWEsIHZhbHVlLCBtZXNzYWdlLCByZWZzKSB7XG4gIGlmIChzY2hlbWEuZm9ybWF0IHx8IHNjaGVtYS5hbnlPZj8uc29tZSgoeCkgPT4geC5mb3JtYXQpKSB7XG4gICAgaWYgKCFzY2hlbWEuYW55T2YpIHtcbiAgICAgIHNjaGVtYS5hbnlPZiA9IFtdO1xuICAgIH1cbiAgICBpZiAoc2NoZW1hLmZvcm1hdCkge1xuICAgICAgc2NoZW1hLmFueU9mLnB1c2goe1xuICAgICAgICBmb3JtYXQ6IHNjaGVtYS5mb3JtYXQsXG4gICAgICAgIC4uLnNjaGVtYS5lcnJvck1lc3NhZ2UgJiYgcmVmcy5lcnJvck1lc3NhZ2VzICYmIHtcbiAgICAgICAgICBlcnJvck1lc3NhZ2U6IHsgZm9ybWF0OiBzY2hlbWEuZXJyb3JNZXNzYWdlLmZvcm1hdCB9XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgICAgZGVsZXRlIHNjaGVtYS5mb3JtYXQ7XG4gICAgICBpZiAoc2NoZW1hLmVycm9yTWVzc2FnZSkge1xuICAgICAgICBkZWxldGUgc2NoZW1hLmVycm9yTWVzc2FnZS5mb3JtYXQ7XG4gICAgICAgIGlmIChPYmplY3Qua2V5cyhzY2hlbWEuZXJyb3JNZXNzYWdlKS5sZW5ndGggPT09IDApIHtcbiAgICAgICAgICBkZWxldGUgc2NoZW1hLmVycm9yTWVzc2FnZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICBzY2hlbWEuYW55T2YucHVzaCh7XG4gICAgICBmb3JtYXQ6IHZhbHVlLFxuICAgICAgLi4ubWVzc2FnZSAmJiByZWZzLmVycm9yTWVzc2FnZXMgJiYgeyBlcnJvck1lc3NhZ2U6IHsgZm9ybWF0OiBtZXNzYWdlIH0gfVxuICAgIH0pO1xuICB9IGVsc2Uge1xuICAgIHNldFJlc3BvbnNlVmFsdWVBbmRFcnJvcnMoc2NoZW1hLCBcImZvcm1hdFwiLCB2YWx1ZSwgbWVzc2FnZSwgcmVmcyk7XG4gIH1cbn1cbmZ1bmN0aW9uIGFkZFBhdHRlcm4oc2NoZW1hLCByZWdleCwgbWVzc2FnZSwgcmVmcykge1xuICBpZiAoc2NoZW1hLnBhdHRlcm4gfHwgc2NoZW1hLmFsbE9mPy5zb21lKCh4KSA9PiB4LnBhdHRlcm4pKSB7XG4gICAgaWYgKCFzY2hlbWEuYWxsT2YpIHtcbiAgICAgIHNjaGVtYS5hbGxPZiA9IFtdO1xuICAgIH1cbiAgICBpZiAoc2NoZW1hLnBhdHRlcm4pIHtcbiAgICAgIHNjaGVtYS5hbGxPZi5wdXNoKHtcbiAgICAgICAgcGF0dGVybjogc2NoZW1hLnBhdHRlcm4sXG4gICAgICAgIC4uLnNjaGVtYS5lcnJvck1lc3NhZ2UgJiYgcmVmcy5lcnJvck1lc3NhZ2VzICYmIHtcbiAgICAgICAgICBlcnJvck1lc3NhZ2U6IHsgcGF0dGVybjogc2NoZW1hLmVycm9yTWVzc2FnZS5wYXR0ZXJuIH1cbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgICBkZWxldGUgc2NoZW1hLnBhdHRlcm47XG4gICAgICBpZiAoc2NoZW1hLmVycm9yTWVzc2FnZSkge1xuICAgICAgICBkZWxldGUgc2NoZW1hLmVycm9yTWVzc2FnZS5wYXR0ZXJuO1xuICAgICAgICBpZiAoT2JqZWN0LmtleXMoc2NoZW1hLmVycm9yTWVzc2FnZSkubGVuZ3RoID09PSAwKSB7XG4gICAgICAgICAgZGVsZXRlIHNjaGVtYS5lcnJvck1lc3NhZ2U7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgc2NoZW1hLmFsbE9mLnB1c2goe1xuICAgICAgcGF0dGVybjogc3RyaW5naWZ5UmVnRXhwV2l0aEZsYWdzKHJlZ2V4LCByZWZzKSxcbiAgICAgIC4uLm1lc3NhZ2UgJiYgcmVmcy5lcnJvck1lc3NhZ2VzICYmIHsgZXJyb3JNZXNzYWdlOiB7IHBhdHRlcm46IG1lc3NhZ2UgfSB9XG4gICAgfSk7XG4gIH0gZWxzZSB7XG4gICAgc2V0UmVzcG9uc2VWYWx1ZUFuZEVycm9ycyhzY2hlbWEsIFwicGF0dGVyblwiLCBzdHJpbmdpZnlSZWdFeHBXaXRoRmxhZ3MocmVnZXgsIHJlZnMpLCBtZXNzYWdlLCByZWZzKTtcbiAgfVxufVxuZnVuY3Rpb24gc3RyaW5naWZ5UmVnRXhwV2l0aEZsYWdzKHJlZ2V4LCByZWZzKSB7XG4gIGlmICghcmVmcy5hcHBseVJlZ2V4RmxhZ3MgfHwgIXJlZ2V4LmZsYWdzKSB7XG4gICAgcmV0dXJuIHJlZ2V4LnNvdXJjZTtcbiAgfVxuICBjb25zdCBmbGFncyA9IHtcbiAgICBpOiByZWdleC5mbGFncy5pbmNsdWRlcyhcImlcIiksXG4gICAgbTogcmVnZXguZmxhZ3MuaW5jbHVkZXMoXCJtXCIpLFxuICAgIHM6IHJlZ2V4LmZsYWdzLmluY2x1ZGVzKFwic1wiKVxuICAgIC8vIGAuYCBtYXRjaGVzIG5ld2xpbmVzXG4gIH07XG4gIGNvbnN0IHNvdXJjZSA9IGZsYWdzLmkgPyByZWdleC5zb3VyY2UudG9Mb3dlckNhc2UoKSA6IHJlZ2V4LnNvdXJjZTtcbiAgbGV0IHBhdHRlcm4gPSBcIlwiO1xuICBsZXQgaXNFc2NhcGVkID0gZmFsc2U7XG4gIGxldCBpbkNoYXJHcm91cCA9IGZhbHNlO1xuICBsZXQgaW5DaGFyUmFuZ2UgPSBmYWxzZTtcbiAgZm9yIChsZXQgaSA9IDA7IGkgPCBzb3VyY2UubGVuZ3RoOyBpKyspIHtcbiAgICBpZiAoaXNFc2NhcGVkKSB7XG4gICAgICBwYXR0ZXJuICs9IHNvdXJjZVtpXTtcbiAgICAgIGlzRXNjYXBlZCA9IGZhbHNlO1xuICAgICAgY29udGludWU7XG4gICAgfVxuICAgIGlmIChmbGFncy5pKSB7XG4gICAgICBpZiAoaW5DaGFyR3JvdXApIHtcbiAgICAgICAgaWYgKHNvdXJjZVtpXS5tYXRjaCgvW2Etel0vKSkge1xuICAgICAgICAgIGlmIChpbkNoYXJSYW5nZSkge1xuICAgICAgICAgICAgcGF0dGVybiArPSBzb3VyY2VbaV07XG4gICAgICAgICAgICBwYXR0ZXJuICs9IGAke3NvdXJjZVtpIC0gMl19LSR7c291cmNlW2ldfWAudG9VcHBlckNhc2UoKTtcbiAgICAgICAgICAgIGluQ2hhclJhbmdlID0gZmFsc2U7XG4gICAgICAgICAgfSBlbHNlIGlmIChzb3VyY2VbaSArIDFdID09PSBcIi1cIiAmJiBzb3VyY2VbaSArIDJdPy5tYXRjaCgvW2Etel0vKSkge1xuICAgICAgICAgICAgcGF0dGVybiArPSBzb3VyY2VbaV07XG4gICAgICAgICAgICBpbkNoYXJSYW5nZSA9IHRydWU7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHBhdHRlcm4gKz0gYCR7c291cmNlW2ldfSR7c291cmNlW2ldLnRvVXBwZXJDYXNlKCl9YDtcbiAgICAgICAgICB9XG4gICAgICAgICAgY29udGludWU7XG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSBpZiAoc291cmNlW2ldLm1hdGNoKC9bYS16XS8pKSB7XG4gICAgICAgIHBhdHRlcm4gKz0gYFske3NvdXJjZVtpXX0ke3NvdXJjZVtpXS50b1VwcGVyQ2FzZSgpfV1gO1xuICAgICAgICBjb250aW51ZTtcbiAgICAgIH1cbiAgICB9XG4gICAgaWYgKGZsYWdzLm0pIHtcbiAgICAgIGlmIChzb3VyY2VbaV0gPT09IFwiXlwiKSB7XG4gICAgICAgIHBhdHRlcm4gKz0gYChefCg/PD1bXFxyXG5dKSlgO1xuICAgICAgICBjb250aW51ZTtcbiAgICAgIH0gZWxzZSBpZiAoc291cmNlW2ldID09PSBcIiRcIikge1xuICAgICAgICBwYXR0ZXJuICs9IGAoJHwoPz1bXFxyXG5dKSlgO1xuICAgICAgICBjb250aW51ZTtcbiAgICAgIH1cbiAgICB9XG4gICAgaWYgKGZsYWdzLnMgJiYgc291cmNlW2ldID09PSBcIi5cIikge1xuICAgICAgcGF0dGVybiArPSBpbkNoYXJHcm91cCA/IGAke3NvdXJjZVtpXX1cXHJcbmAgOiBgWyR7c291cmNlW2ldfVxcclxuXWA7XG4gICAgICBjb250aW51ZTtcbiAgICB9XG4gICAgcGF0dGVybiArPSBzb3VyY2VbaV07XG4gICAgaWYgKHNvdXJjZVtpXSA9PT0gXCJcXFxcXCIpIHtcbiAgICAgIGlzRXNjYXBlZCA9IHRydWU7XG4gICAgfSBlbHNlIGlmIChpbkNoYXJHcm91cCAmJiBzb3VyY2VbaV0gPT09IFwiXVwiKSB7XG4gICAgICBpbkNoYXJHcm91cCA9IGZhbHNlO1xuICAgIH0gZWxzZSBpZiAoIWluQ2hhckdyb3VwICYmIHNvdXJjZVtpXSA9PT0gXCJbXCIpIHtcbiAgICAgIGluQ2hhckdyb3VwID0gdHJ1ZTtcbiAgICB9XG4gIH1cbiAgdHJ5IHtcbiAgICBuZXcgUmVnRXhwKHBhdHRlcm4pO1xuICB9IGNhdGNoIHtcbiAgICBjb25zb2xlLndhcm4oYENvdWxkIG5vdCBjb252ZXJ0IHJlZ2V4IHBhdHRlcm4gYXQgJHtyZWZzLmN1cnJlbnRQYXRoLmpvaW4oXCIvXCIpfSB0byBhIGZsYWctaW5kZXBlbmRlbnQgZm9ybSEgRmFsbGluZyBiYWNrIHRvIHRoZSBmbGFnLWlnbm9yYW50IHNvdXJjZWApO1xuICAgIHJldHVybiByZWdleC5zb3VyY2U7XG4gIH1cbiAgcmV0dXJuIHBhdHRlcm47XG59XG5cbi8vIG5vZGVfbW9kdWxlcy96b2QtdG8tanNvbi1zY2hlbWEvZGlzdC9lc20vcGFyc2Vycy9yZWNvcmQuanNcbmZ1bmN0aW9uIHBhcnNlUmVjb3JkRGVmKGRlZiwgcmVmcykge1xuICBpZiAocmVmcy50YXJnZXQgPT09IFwib3BlbkFpXCIpIHtcbiAgICBjb25zb2xlLndhcm4oXCJXYXJuaW5nOiBPcGVuQUkgbWF5IG5vdCBzdXBwb3J0IHJlY29yZHMgaW4gc2NoZW1hcyEgVHJ5IGFuIGFycmF5IG9mIGtleS12YWx1ZSBwYWlycyBpbnN0ZWFkLlwiKTtcbiAgfVxuICBpZiAocmVmcy50YXJnZXQgPT09IFwib3BlbkFwaTNcIiAmJiBkZWYua2V5VHlwZT8uX2RlZi50eXBlTmFtZSA9PT0gWm9kRmlyc3RQYXJ0eVR5cGVLaW5kLlpvZEVudW0pIHtcbiAgICByZXR1cm4ge1xuICAgICAgdHlwZTogXCJvYmplY3RcIixcbiAgICAgIHJlcXVpcmVkOiBkZWYua2V5VHlwZS5fZGVmLnZhbHVlcyxcbiAgICAgIHByb3BlcnRpZXM6IGRlZi5rZXlUeXBlLl9kZWYudmFsdWVzLnJlZHVjZSgoYWNjLCBrZXkpID0+ICh7XG4gICAgICAgIC4uLmFjYyxcbiAgICAgICAgW2tleV06IHBhcnNlRGVmKGRlZi52YWx1ZVR5cGUuX2RlZiwge1xuICAgICAgICAgIC4uLnJlZnMsXG4gICAgICAgICAgY3VycmVudFBhdGg6IFsuLi5yZWZzLmN1cnJlbnRQYXRoLCBcInByb3BlcnRpZXNcIiwga2V5XVxuICAgICAgICB9KSA/PyB7fVxuICAgICAgfSksIHt9KSxcbiAgICAgIGFkZGl0aW9uYWxQcm9wZXJ0aWVzOiBmYWxzZVxuICAgIH07XG4gIH1cbiAgY29uc3Qgc2NoZW1hID0ge1xuICAgIHR5cGU6IFwib2JqZWN0XCIsXG4gICAgYWRkaXRpb25hbFByb3BlcnRpZXM6IHBhcnNlRGVmKGRlZi52YWx1ZVR5cGUuX2RlZiwge1xuICAgICAgLi4ucmVmcyxcbiAgICAgIGN1cnJlbnRQYXRoOiBbLi4ucmVmcy5jdXJyZW50UGF0aCwgXCJhZGRpdGlvbmFsUHJvcGVydGllc1wiXVxuICAgIH0pID8/IHt9XG4gIH07XG4gIGlmIChyZWZzLnRhcmdldCA9PT0gXCJvcGVuQXBpM1wiKSB7XG4gICAgcmV0dXJuIHNjaGVtYTtcbiAgfVxuICBpZiAoZGVmLmtleVR5cGU/Ll9kZWYudHlwZU5hbWUgPT09IFpvZEZpcnN0UGFydHlUeXBlS2luZC5ab2RTdHJpbmcgJiYgZGVmLmtleVR5cGUuX2RlZi5jaGVja3M/Lmxlbmd0aCkge1xuICAgIGNvbnN0IHsgdHlwZSwgLi4ua2V5VHlwZSB9ID0gcGFyc2VTdHJpbmdEZWYoZGVmLmtleVR5cGUuX2RlZiwgcmVmcyk7XG4gICAgcmV0dXJuIHtcbiAgICAgIC4uLnNjaGVtYSxcbiAgICAgIHByb3BlcnR5TmFtZXM6IGtleVR5cGVcbiAgICB9O1xuICB9IGVsc2UgaWYgKGRlZi5rZXlUeXBlPy5fZGVmLnR5cGVOYW1lID09PSBab2RGaXJzdFBhcnR5VHlwZUtpbmQuWm9kRW51bSkge1xuICAgIHJldHVybiB7XG4gICAgICAuLi5zY2hlbWEsXG4gICAgICBwcm9wZXJ0eU5hbWVzOiB7XG4gICAgICAgIGVudW06IGRlZi5rZXlUeXBlLl9kZWYudmFsdWVzXG4gICAgICB9XG4gICAgfTtcbiAgfSBlbHNlIGlmIChkZWYua2V5VHlwZT8uX2RlZi50eXBlTmFtZSA9PT0gWm9kRmlyc3RQYXJ0eVR5cGVLaW5kLlpvZEJyYW5kZWQgJiYgZGVmLmtleVR5cGUuX2RlZi50eXBlLl9kZWYudHlwZU5hbWUgPT09IFpvZEZpcnN0UGFydHlUeXBlS2luZC5ab2RTdHJpbmcgJiYgZGVmLmtleVR5cGUuX2RlZi50eXBlLl9kZWYuY2hlY2tzPy5sZW5ndGgpIHtcbiAgICBjb25zdCB7IHR5cGUsIC4uLmtleVR5cGUgfSA9IHBhcnNlQnJhbmRlZERlZihkZWYua2V5VHlwZS5fZGVmLCByZWZzKTtcbiAgICByZXR1cm4ge1xuICAgICAgLi4uc2NoZW1hLFxuICAgICAgcHJvcGVydHlOYW1lczoga2V5VHlwZVxuICAgIH07XG4gIH1cbiAgcmV0dXJuIHNjaGVtYTtcbn1cblxuLy8gbm9kZV9tb2R1bGVzL3pvZC10by1qc29uLXNjaGVtYS9kaXN0L2VzbS9wYXJzZXJzL21hcC5qc1xuZnVuY3Rpb24gcGFyc2VNYXBEZWYoZGVmLCByZWZzKSB7XG4gIGlmIChyZWZzLm1hcFN0cmF0ZWd5ID09PSBcInJlY29yZFwiKSB7XG4gICAgcmV0dXJuIHBhcnNlUmVjb3JkRGVmKGRlZiwgcmVmcyk7XG4gIH1cbiAgY29uc3Qga2V5cyA9IHBhcnNlRGVmKGRlZi5rZXlUeXBlLl9kZWYsIHtcbiAgICAuLi5yZWZzLFxuICAgIGN1cnJlbnRQYXRoOiBbLi4ucmVmcy5jdXJyZW50UGF0aCwgXCJpdGVtc1wiLCBcIml0ZW1zXCIsIFwiMFwiXVxuICB9KSB8fCB7fTtcbiAgY29uc3QgdmFsdWVzID0gcGFyc2VEZWYoZGVmLnZhbHVlVHlwZS5fZGVmLCB7XG4gICAgLi4ucmVmcyxcbiAgICBjdXJyZW50UGF0aDogWy4uLnJlZnMuY3VycmVudFBhdGgsIFwiaXRlbXNcIiwgXCJpdGVtc1wiLCBcIjFcIl1cbiAgfSkgfHwge307XG4gIHJldHVybiB7XG4gICAgdHlwZTogXCJhcnJheVwiLFxuICAgIG1heEl0ZW1zOiAxMjUsXG4gICAgaXRlbXM6IHtcbiAgICAgIHR5cGU6IFwiYXJyYXlcIixcbiAgICAgIGl0ZW1zOiBba2V5cywgdmFsdWVzXSxcbiAgICAgIG1pbkl0ZW1zOiAyLFxuICAgICAgbWF4SXRlbXM6IDJcbiAgICB9XG4gIH07XG59XG5cbi8vIG5vZGVfbW9kdWxlcy96b2QtdG8tanNvbi1zY2hlbWEvZGlzdC9lc20vcGFyc2Vycy9uYXRpdmVFbnVtLmpzXG5mdW5jdGlvbiBwYXJzZU5hdGl2ZUVudW1EZWYoZGVmKSB7XG4gIGNvbnN0IG9iamVjdCA9IGRlZi52YWx1ZXM7XG4gIGNvbnN0IGFjdHVhbEtleXMgPSBPYmplY3Qua2V5cyhkZWYudmFsdWVzKS5maWx0ZXIoKGtleSkgPT4ge1xuICAgIHJldHVybiB0eXBlb2Ygb2JqZWN0W29iamVjdFtrZXldXSAhPT0gXCJudW1iZXJcIjtcbiAgfSk7XG4gIGNvbnN0IGFjdHVhbFZhbHVlcyA9IGFjdHVhbEtleXMubWFwKChrZXkpID0+IG9iamVjdFtrZXldKTtcbiAgY29uc3QgcGFyc2VkVHlwZXMgPSBBcnJheS5mcm9tKG5ldyBTZXQoYWN0dWFsVmFsdWVzLm1hcCgodmFsdWVzKSA9PiB0eXBlb2YgdmFsdWVzKSkpO1xuICByZXR1cm4ge1xuICAgIHR5cGU6IHBhcnNlZFR5cGVzLmxlbmd0aCA9PT0gMSA/IHBhcnNlZFR5cGVzWzBdID09PSBcInN0cmluZ1wiID8gXCJzdHJpbmdcIiA6IFwibnVtYmVyXCIgOiBbXCJzdHJpbmdcIiwgXCJudW1iZXJcIl0sXG4gICAgZW51bTogYWN0dWFsVmFsdWVzXG4gIH07XG59XG5cbi8vIG5vZGVfbW9kdWxlcy96b2QtdG8tanNvbi1zY2hlbWEvZGlzdC9lc20vcGFyc2Vycy9uZXZlci5qc1xuZnVuY3Rpb24gcGFyc2VOZXZlckRlZigpIHtcbiAgcmV0dXJuIHtcbiAgICBub3Q6IHt9XG4gIH07XG59XG5cbi8vIG5vZGVfbW9kdWxlcy96b2QtdG8tanNvbi1zY2hlbWEvZGlzdC9lc20vcGFyc2Vycy9udWxsLmpzXG5mdW5jdGlvbiBwYXJzZU51bGxEZWYocmVmcykge1xuICByZXR1cm4gcmVmcy50YXJnZXQgPT09IFwib3BlbkFwaTNcIiA/IHtcbiAgICBlbnVtOiBbXCJudWxsXCJdLFxuICAgIG51bGxhYmxlOiB0cnVlXG4gIH0gOiB7XG4gICAgdHlwZTogXCJudWxsXCJcbiAgfTtcbn1cblxuLy8gbm9kZV9tb2R1bGVzL3pvZC10by1qc29uLXNjaGVtYS9kaXN0L2VzbS9wYXJzZXJzL3VuaW9uLmpzXG52YXIgcHJpbWl0aXZlTWFwcGluZ3MgPSB7XG4gIFpvZFN0cmluZzogXCJzdHJpbmdcIixcbiAgWm9kTnVtYmVyOiBcIm51bWJlclwiLFxuICBab2RCaWdJbnQ6IFwiaW50ZWdlclwiLFxuICBab2RCb29sZWFuOiBcImJvb2xlYW5cIixcbiAgWm9kTnVsbDogXCJudWxsXCJcbn07XG5mdW5jdGlvbiBwYXJzZVVuaW9uRGVmKGRlZiwgcmVmcykge1xuICBpZiAocmVmcy50YXJnZXQgPT09IFwib3BlbkFwaTNcIilcbiAgICByZXR1cm4gYXNBbnlPZihkZWYsIHJlZnMpO1xuICBjb25zdCBvcHRpb25zID0gZGVmLm9wdGlvbnMgaW5zdGFuY2VvZiBNYXAgPyBBcnJheS5mcm9tKGRlZi5vcHRpb25zLnZhbHVlcygpKSA6IGRlZi5vcHRpb25zO1xuICBpZiAob3B0aW9ucy5ldmVyeSgoeCkgPT4geC5fZGVmLnR5cGVOYW1lIGluIHByaW1pdGl2ZU1hcHBpbmdzICYmICgheC5fZGVmLmNoZWNrcyB8fCAheC5fZGVmLmNoZWNrcy5sZW5ndGgpKSkge1xuICAgIGNvbnN0IHR5cGVzID0gb3B0aW9ucy5yZWR1Y2UoKHR5cGVzMiwgeCkgPT4ge1xuICAgICAgY29uc3QgdHlwZSA9IHByaW1pdGl2ZU1hcHBpbmdzW3guX2RlZi50eXBlTmFtZV07XG4gICAgICByZXR1cm4gdHlwZSAmJiAhdHlwZXMyLmluY2x1ZGVzKHR5cGUpID8gWy4uLnR5cGVzMiwgdHlwZV0gOiB0eXBlczI7XG4gICAgfSwgW10pO1xuICAgIHJldHVybiB7XG4gICAgICB0eXBlOiB0eXBlcy5sZW5ndGggPiAxID8gdHlwZXMgOiB0eXBlc1swXVxuICAgIH07XG4gIH0gZWxzZSBpZiAob3B0aW9ucy5ldmVyeSgoeCkgPT4geC5fZGVmLnR5cGVOYW1lID09PSBcIlpvZExpdGVyYWxcIiAmJiAheC5kZXNjcmlwdGlvbikpIHtcbiAgICBjb25zdCB0eXBlcyA9IG9wdGlvbnMucmVkdWNlKChhY2MsIHgpID0+IHtcbiAgICAgIGNvbnN0IHR5cGUgPSB0eXBlb2YgeC5fZGVmLnZhbHVlO1xuICAgICAgc3dpdGNoICh0eXBlKSB7XG4gICAgICAgIGNhc2UgXCJzdHJpbmdcIjpcbiAgICAgICAgY2FzZSBcIm51bWJlclwiOlxuICAgICAgICBjYXNlIFwiYm9vbGVhblwiOlxuICAgICAgICAgIHJldHVybiBbLi4uYWNjLCB0eXBlXTtcbiAgICAgICAgY2FzZSBcImJpZ2ludFwiOlxuICAgICAgICAgIHJldHVybiBbLi4uYWNjLCBcImludGVnZXJcIl07XG4gICAgICAgIGNhc2UgXCJvYmplY3RcIjpcbiAgICAgICAgICBpZiAoeC5fZGVmLnZhbHVlID09PSBudWxsKVxuICAgICAgICAgICAgcmV0dXJuIFsuLi5hY2MsIFwibnVsbFwiXTtcbiAgICAgICAgY2FzZSBcInN5bWJvbFwiOlxuICAgICAgICBjYXNlIFwidW5kZWZpbmVkXCI6XG4gICAgICAgIGNhc2UgXCJmdW5jdGlvblwiOlxuICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgIHJldHVybiBhY2M7XG4gICAgICB9XG4gICAgfSwgW10pO1xuICAgIGlmICh0eXBlcy5sZW5ndGggPT09IG9wdGlvbnMubGVuZ3RoKSB7XG4gICAgICBjb25zdCB1bmlxdWVUeXBlcyA9IHR5cGVzLmZpbHRlcigoeCwgaSwgYSkgPT4gYS5pbmRleE9mKHgpID09PSBpKTtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIHR5cGU6IHVuaXF1ZVR5cGVzLmxlbmd0aCA+IDEgPyB1bmlxdWVUeXBlcyA6IHVuaXF1ZVR5cGVzWzBdLFxuICAgICAgICBlbnVtOiBvcHRpb25zLnJlZHVjZSgoYWNjLCB4KSA9PiB7XG4gICAgICAgICAgcmV0dXJuIGFjYy5pbmNsdWRlcyh4Ll9kZWYudmFsdWUpID8gYWNjIDogWy4uLmFjYywgeC5fZGVmLnZhbHVlXTtcbiAgICAgICAgfSwgW10pXG4gICAgICB9O1xuICAgIH1cbiAgfSBlbHNlIGlmIChvcHRpb25zLmV2ZXJ5KCh4KSA9PiB4Ll9kZWYudHlwZU5hbWUgPT09IFwiWm9kRW51bVwiKSkge1xuICAgIHJldHVybiB7XG4gICAgICB0eXBlOiBcInN0cmluZ1wiLFxuICAgICAgZW51bTogb3B0aW9ucy5yZWR1Y2UoKGFjYywgeCkgPT4gW1xuICAgICAgICAuLi5hY2MsXG4gICAgICAgIC4uLnguX2RlZi52YWx1ZXMuZmlsdGVyKCh4MikgPT4gIWFjYy5pbmNsdWRlcyh4MikpXG4gICAgICBdLCBbXSlcbiAgICB9O1xuICB9XG4gIHJldHVybiBhc0FueU9mKGRlZiwgcmVmcyk7XG59XG52YXIgYXNBbnlPZiA9IChkZWYsIHJlZnMpID0+IHtcbiAgY29uc3QgYW55T2YgPSAoZGVmLm9wdGlvbnMgaW5zdGFuY2VvZiBNYXAgPyBBcnJheS5mcm9tKGRlZi5vcHRpb25zLnZhbHVlcygpKSA6IGRlZi5vcHRpb25zKS5tYXAoKHgsIGkpID0+IHBhcnNlRGVmKHguX2RlZiwge1xuICAgIC4uLnJlZnMsXG4gICAgY3VycmVudFBhdGg6IFsuLi5yZWZzLmN1cnJlbnRQYXRoLCBcImFueU9mXCIsIGAke2l9YF1cbiAgfSkpLmZpbHRlcigoeCkgPT4gISF4ICYmICghcmVmcy5zdHJpY3RVbmlvbnMgfHwgdHlwZW9mIHggPT09IFwib2JqZWN0XCIgJiYgT2JqZWN0LmtleXMoeCkubGVuZ3RoID4gMCkpO1xuICByZXR1cm4gYW55T2YubGVuZ3RoID8geyBhbnlPZiB9IDogdm9pZCAwO1xufTtcblxuLy8gbm9kZV9tb2R1bGVzL3pvZC10by1qc29uLXNjaGVtYS9kaXN0L2VzbS9wYXJzZXJzL251bGxhYmxlLmpzXG5mdW5jdGlvbiBwYXJzZU51bGxhYmxlRGVmKGRlZiwgcmVmcykge1xuICBpZiAoW1wiWm9kU3RyaW5nXCIsIFwiWm9kTnVtYmVyXCIsIFwiWm9kQmlnSW50XCIsIFwiWm9kQm9vbGVhblwiLCBcIlpvZE51bGxcIl0uaW5jbHVkZXMoZGVmLmlubmVyVHlwZS5fZGVmLnR5cGVOYW1lKSAmJiAoIWRlZi5pbm5lclR5cGUuX2RlZi5jaGVja3MgfHwgIWRlZi5pbm5lclR5cGUuX2RlZi5jaGVja3MubGVuZ3RoKSkge1xuICAgIGlmIChyZWZzLnRhcmdldCA9PT0gXCJvcGVuQXBpM1wiKSB7XG4gICAgICByZXR1cm4ge1xuICAgICAgICB0eXBlOiBwcmltaXRpdmVNYXBwaW5nc1tkZWYuaW5uZXJUeXBlLl9kZWYudHlwZU5hbWVdLFxuICAgICAgICBudWxsYWJsZTogdHJ1ZVxuICAgICAgfTtcbiAgICB9XG4gICAgcmV0dXJuIHtcbiAgICAgIHR5cGU6IFtcbiAgICAgICAgcHJpbWl0aXZlTWFwcGluZ3NbZGVmLmlubmVyVHlwZS5fZGVmLnR5cGVOYW1lXSxcbiAgICAgICAgXCJudWxsXCJcbiAgICAgIF1cbiAgICB9O1xuICB9XG4gIGlmIChyZWZzLnRhcmdldCA9PT0gXCJvcGVuQXBpM1wiKSB7XG4gICAgY29uc3QgYmFzZTIgPSBwYXJzZURlZihkZWYuaW5uZXJUeXBlLl9kZWYsIHtcbiAgICAgIC4uLnJlZnMsXG4gICAgICBjdXJyZW50UGF0aDogWy4uLnJlZnMuY3VycmVudFBhdGhdXG4gICAgfSk7XG4gICAgaWYgKGJhc2UyICYmIFwiJHJlZlwiIGluIGJhc2UyKVxuICAgICAgcmV0dXJuIHsgYWxsT2Y6IFtiYXNlMl0sIG51bGxhYmxlOiB0cnVlIH07XG4gICAgcmV0dXJuIGJhc2UyICYmIHsgLi4uYmFzZTIsIG51bGxhYmxlOiB0cnVlIH07XG4gIH1cbiAgY29uc3QgYmFzZSA9IHBhcnNlRGVmKGRlZi5pbm5lclR5cGUuX2RlZiwge1xuICAgIC4uLnJlZnMsXG4gICAgY3VycmVudFBhdGg6IFsuLi5yZWZzLmN1cnJlbnRQYXRoLCBcImFueU9mXCIsIFwiMFwiXVxuICB9KTtcbiAgcmV0dXJuIGJhc2UgJiYgeyBhbnlPZjogW2Jhc2UsIHsgdHlwZTogXCJudWxsXCIgfV0gfTtcbn1cblxuLy8gbm9kZV9tb2R1bGVzL3pvZC10by1qc29uLXNjaGVtYS9kaXN0L2VzbS9wYXJzZXJzL251bWJlci5qc1xuZnVuY3Rpb24gcGFyc2VOdW1iZXJEZWYoZGVmLCByZWZzKSB7XG4gIGNvbnN0IHJlcyA9IHtcbiAgICB0eXBlOiBcIm51bWJlclwiXG4gIH07XG4gIGlmICghZGVmLmNoZWNrcylcbiAgICByZXR1cm4gcmVzO1xuICBmb3IgKGNvbnN0IGNoZWNrIG9mIGRlZi5jaGVja3MpIHtcbiAgICBzd2l0Y2ggKGNoZWNrLmtpbmQpIHtcbiAgICAgIGNhc2UgXCJpbnRcIjpcbiAgICAgICAgcmVzLnR5cGUgPSBcImludGVnZXJcIjtcbiAgICAgICAgYWRkRXJyb3JNZXNzYWdlKHJlcywgXCJ0eXBlXCIsIGNoZWNrLm1lc3NhZ2UsIHJlZnMpO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgXCJtaW5cIjpcbiAgICAgICAgaWYgKHJlZnMudGFyZ2V0ID09PSBcImpzb25TY2hlbWE3XCIpIHtcbiAgICAgICAgICBpZiAoY2hlY2suaW5jbHVzaXZlKSB7XG4gICAgICAgICAgICBzZXRSZXNwb25zZVZhbHVlQW5kRXJyb3JzKHJlcywgXCJtaW5pbXVtXCIsIGNoZWNrLnZhbHVlLCBjaGVjay5tZXNzYWdlLCByZWZzKTtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgc2V0UmVzcG9uc2VWYWx1ZUFuZEVycm9ycyhyZXMsIFwiZXhjbHVzaXZlTWluaW11bVwiLCBjaGVjay52YWx1ZSwgY2hlY2subWVzc2FnZSwgcmVmcyk7XG4gICAgICAgICAgfVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGlmICghY2hlY2suaW5jbHVzaXZlKSB7XG4gICAgICAgICAgICByZXMuZXhjbHVzaXZlTWluaW11bSA9IHRydWU7XG4gICAgICAgICAgfVxuICAgICAgICAgIHNldFJlc3BvbnNlVmFsdWVBbmRFcnJvcnMocmVzLCBcIm1pbmltdW1cIiwgY2hlY2sudmFsdWUsIGNoZWNrLm1lc3NhZ2UsIHJlZnMpO1xuICAgICAgICB9XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSBcIm1heFwiOlxuICAgICAgICBpZiAocmVmcy50YXJnZXQgPT09IFwianNvblNjaGVtYTdcIikge1xuICAgICAgICAgIGlmIChjaGVjay5pbmNsdXNpdmUpIHtcbiAgICAgICAgICAgIHNldFJlc3BvbnNlVmFsdWVBbmRFcnJvcnMocmVzLCBcIm1heGltdW1cIiwgY2hlY2sudmFsdWUsIGNoZWNrLm1lc3NhZ2UsIHJlZnMpO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBzZXRSZXNwb25zZVZhbHVlQW5kRXJyb3JzKHJlcywgXCJleGNsdXNpdmVNYXhpbXVtXCIsIGNoZWNrLnZhbHVlLCBjaGVjay5tZXNzYWdlLCByZWZzKTtcbiAgICAgICAgICB9XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgaWYgKCFjaGVjay5pbmNsdXNpdmUpIHtcbiAgICAgICAgICAgIHJlcy5leGNsdXNpdmVNYXhpbXVtID0gdHJ1ZTtcbiAgICAgICAgICB9XG4gICAgICAgICAgc2V0UmVzcG9uc2VWYWx1ZUFuZEVycm9ycyhyZXMsIFwibWF4aW11bVwiLCBjaGVjay52YWx1ZSwgY2hlY2subWVzc2FnZSwgcmVmcyk7XG4gICAgICAgIH1cbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlIFwibXVsdGlwbGVPZlwiOlxuICAgICAgICBzZXRSZXNwb25zZVZhbHVlQW5kRXJyb3JzKHJlcywgXCJtdWx0aXBsZU9mXCIsIGNoZWNrLnZhbHVlLCBjaGVjay5tZXNzYWdlLCByZWZzKTtcbiAgICAgICAgYnJlYWs7XG4gICAgfVxuICB9XG4gIHJldHVybiByZXM7XG59XG5cbi8vIG5vZGVfbW9kdWxlcy96b2QtdG8tanNvbi1zY2hlbWEvZGlzdC9lc20vcGFyc2Vycy9vYmplY3QuanNcbmZ1bmN0aW9uIGRlY2lkZUFkZGl0aW9uYWxQcm9wZXJ0aWVzKGRlZiwgcmVmcykge1xuICBpZiAocmVmcy5yZW1vdmVBZGRpdGlvbmFsU3RyYXRlZ3kgPT09IFwic3RyaWN0XCIpIHtcbiAgICByZXR1cm4gZGVmLmNhdGNoYWxsLl9kZWYudHlwZU5hbWUgPT09IFwiWm9kTmV2ZXJcIiA/IGRlZi51bmtub3duS2V5cyAhPT0gXCJzdHJpY3RcIiA6IHBhcnNlRGVmKGRlZi5jYXRjaGFsbC5fZGVmLCB7XG4gICAgICAuLi5yZWZzLFxuICAgICAgY3VycmVudFBhdGg6IFsuLi5yZWZzLmN1cnJlbnRQYXRoLCBcImFkZGl0aW9uYWxQcm9wZXJ0aWVzXCJdXG4gICAgfSkgPz8gdHJ1ZTtcbiAgfSBlbHNlIHtcbiAgICByZXR1cm4gZGVmLmNhdGNoYWxsLl9kZWYudHlwZU5hbWUgPT09IFwiWm9kTmV2ZXJcIiA/IGRlZi51bmtub3duS2V5cyA9PT0gXCJwYXNzdGhyb3VnaFwiIDogcGFyc2VEZWYoZGVmLmNhdGNoYWxsLl9kZWYsIHtcbiAgICAgIC4uLnJlZnMsXG4gICAgICBjdXJyZW50UGF0aDogWy4uLnJlZnMuY3VycmVudFBhdGgsIFwiYWRkaXRpb25hbFByb3BlcnRpZXNcIl1cbiAgICB9KSA/PyB0cnVlO1xuICB9XG59XG5mdW5jdGlvbiBwYXJzZU9iamVjdERlZihkZWYsIHJlZnMpIHtcbiAgY29uc3QgZm9yY2VPcHRpb25hbEludG9OdWxsYWJsZSA9IHJlZnMudGFyZ2V0ID09PSBcIm9wZW5BaVwiO1xuICBjb25zdCByZXN1bHQgPSB7XG4gICAgdHlwZTogXCJvYmplY3RcIixcbiAgICAuLi5PYmplY3QuZW50cmllcyhkZWYuc2hhcGUoKSkucmVkdWNlKChhY2MsIFtwcm9wTmFtZSwgcHJvcERlZl0pID0+IHtcbiAgICAgIGlmIChwcm9wRGVmID09PSB2b2lkIDAgfHwgcHJvcERlZi5fZGVmID09PSB2b2lkIDApXG4gICAgICAgIHJldHVybiBhY2M7XG4gICAgICBsZXQgcHJvcE9wdGlvbmFsID0gcHJvcERlZi5pc09wdGlvbmFsKCk7XG4gICAgICBpZiAocHJvcE9wdGlvbmFsICYmIGZvcmNlT3B0aW9uYWxJbnRvTnVsbGFibGUpIHtcbiAgICAgICAgaWYgKHByb3BEZWYgaW5zdGFuY2VvZiBab2RPcHRpb25hbCkge1xuICAgICAgICAgIHByb3BEZWYgPSBwcm9wRGVmLl9kZWYuaW5uZXJUeXBlO1xuICAgICAgICB9XG4gICAgICAgIGlmICghcHJvcERlZi5pc051bGxhYmxlKCkpIHtcbiAgICAgICAgICBwcm9wRGVmID0gcHJvcERlZi5udWxsYWJsZSgpO1xuICAgICAgICB9XG4gICAgICAgIHByb3BPcHRpb25hbCA9IGZhbHNlO1xuICAgICAgfVxuICAgICAgY29uc3QgcGFyc2VkRGVmID0gcGFyc2VEZWYocHJvcERlZi5fZGVmLCB7XG4gICAgICAgIC4uLnJlZnMsXG4gICAgICAgIGN1cnJlbnRQYXRoOiBbLi4ucmVmcy5jdXJyZW50UGF0aCwgXCJwcm9wZXJ0aWVzXCIsIHByb3BOYW1lXSxcbiAgICAgICAgcHJvcGVydHlQYXRoOiBbLi4ucmVmcy5jdXJyZW50UGF0aCwgXCJwcm9wZXJ0aWVzXCIsIHByb3BOYW1lXVxuICAgICAgfSk7XG4gICAgICBpZiAocGFyc2VkRGVmID09PSB2b2lkIDApXG4gICAgICAgIHJldHVybiBhY2M7XG4gICAgICByZXR1cm4ge1xuICAgICAgICBwcm9wZXJ0aWVzOiB7IC4uLmFjYy5wcm9wZXJ0aWVzLCBbcHJvcE5hbWVdOiBwYXJzZWREZWYgfSxcbiAgICAgICAgcmVxdWlyZWQ6IHByb3BPcHRpb25hbCA/IGFjYy5yZXF1aXJlZCA6IFsuLi5hY2MucmVxdWlyZWQsIHByb3BOYW1lXVxuICAgICAgfTtcbiAgICB9LCB7IHByb3BlcnRpZXM6IHt9LCByZXF1aXJlZDogW10gfSksXG4gICAgYWRkaXRpb25hbFByb3BlcnRpZXM6IGRlY2lkZUFkZGl0aW9uYWxQcm9wZXJ0aWVzKGRlZiwgcmVmcylcbiAgfTtcbiAgaWYgKCFyZXN1bHQucmVxdWlyZWQubGVuZ3RoKVxuICAgIGRlbGV0ZSByZXN1bHQucmVxdWlyZWQ7XG4gIHJldHVybiByZXN1bHQ7XG59XG5cbi8vIG5vZGVfbW9kdWxlcy96b2QtdG8tanNvbi1zY2hlbWEvZGlzdC9lc20vcGFyc2Vycy9vcHRpb25hbC5qc1xudmFyIHBhcnNlT3B0aW9uYWxEZWYgPSAoZGVmLCByZWZzKSA9PiB7XG4gIGlmIChyZWZzLmN1cnJlbnRQYXRoLnRvU3RyaW5nKCkgPT09IHJlZnMucHJvcGVydHlQYXRoPy50b1N0cmluZygpKSB7XG4gICAgcmV0dXJuIHBhcnNlRGVmKGRlZi5pbm5lclR5cGUuX2RlZiwgcmVmcyk7XG4gIH1cbiAgY29uc3QgaW5uZXJTY2hlbWEgPSBwYXJzZURlZihkZWYuaW5uZXJUeXBlLl9kZWYsIHtcbiAgICAuLi5yZWZzLFxuICAgIGN1cnJlbnRQYXRoOiBbLi4ucmVmcy5jdXJyZW50UGF0aCwgXCJhbnlPZlwiLCBcIjFcIl1cbiAgfSk7XG4gIHJldHVybiBpbm5lclNjaGVtYSA/IHtcbiAgICBhbnlPZjogW1xuICAgICAge1xuICAgICAgICBub3Q6IHt9XG4gICAgICB9LFxuICAgICAgaW5uZXJTY2hlbWFcbiAgICBdXG4gIH0gOiB7fTtcbn07XG5cbi8vIG5vZGVfbW9kdWxlcy96b2QtdG8tanNvbi1zY2hlbWEvZGlzdC9lc20vcGFyc2Vycy9waXBlbGluZS5qc1xudmFyIHBhcnNlUGlwZWxpbmVEZWYgPSAoZGVmLCByZWZzKSA9PiB7XG4gIGlmIChyZWZzLnBpcGVTdHJhdGVneSA9PT0gXCJpbnB1dFwiKSB7XG4gICAgcmV0dXJuIHBhcnNlRGVmKGRlZi5pbi5fZGVmLCByZWZzKTtcbiAgfSBlbHNlIGlmIChyZWZzLnBpcGVTdHJhdGVneSA9PT0gXCJvdXRwdXRcIikge1xuICAgIHJldHVybiBwYXJzZURlZihkZWYub3V0Ll9kZWYsIHJlZnMpO1xuICB9XG4gIGNvbnN0IGEgPSBwYXJzZURlZihkZWYuaW4uX2RlZiwge1xuICAgIC4uLnJlZnMsXG4gICAgY3VycmVudFBhdGg6IFsuLi5yZWZzLmN1cnJlbnRQYXRoLCBcImFsbE9mXCIsIFwiMFwiXVxuICB9KTtcbiAgY29uc3QgYiA9IHBhcnNlRGVmKGRlZi5vdXQuX2RlZiwge1xuICAgIC4uLnJlZnMsXG4gICAgY3VycmVudFBhdGg6IFsuLi5yZWZzLmN1cnJlbnRQYXRoLCBcImFsbE9mXCIsIGEgPyBcIjFcIiA6IFwiMFwiXVxuICB9KTtcbiAgcmV0dXJuIHtcbiAgICBhbGxPZjogW2EsIGJdLmZpbHRlcigoeCkgPT4geCAhPT0gdm9pZCAwKVxuICB9O1xufTtcblxuLy8gbm9kZV9tb2R1bGVzL3pvZC10by1qc29uLXNjaGVtYS9kaXN0L2VzbS9wYXJzZXJzL3Byb21pc2UuanNcbmZ1bmN0aW9uIHBhcnNlUHJvbWlzZURlZihkZWYsIHJlZnMpIHtcbiAgcmV0dXJuIHBhcnNlRGVmKGRlZi50eXBlLl9kZWYsIHJlZnMpO1xufVxuXG4vLyBub2RlX21vZHVsZXMvem9kLXRvLWpzb24tc2NoZW1hL2Rpc3QvZXNtL3BhcnNlcnMvc2V0LmpzXG5mdW5jdGlvbiBwYXJzZVNldERlZihkZWYsIHJlZnMpIHtcbiAgY29uc3QgaXRlbXMgPSBwYXJzZURlZihkZWYudmFsdWVUeXBlLl9kZWYsIHtcbiAgICAuLi5yZWZzLFxuICAgIGN1cnJlbnRQYXRoOiBbLi4ucmVmcy5jdXJyZW50UGF0aCwgXCJpdGVtc1wiXVxuICB9KTtcbiAgY29uc3Qgc2NoZW1hID0ge1xuICAgIHR5cGU6IFwiYXJyYXlcIixcbiAgICB1bmlxdWVJdGVtczogdHJ1ZSxcbiAgICBpdGVtc1xuICB9O1xuICBpZiAoZGVmLm1pblNpemUpIHtcbiAgICBzZXRSZXNwb25zZVZhbHVlQW5kRXJyb3JzKHNjaGVtYSwgXCJtaW5JdGVtc1wiLCBkZWYubWluU2l6ZS52YWx1ZSwgZGVmLm1pblNpemUubWVzc2FnZSwgcmVmcyk7XG4gIH1cbiAgaWYgKGRlZi5tYXhTaXplKSB7XG4gICAgc2V0UmVzcG9uc2VWYWx1ZUFuZEVycm9ycyhzY2hlbWEsIFwibWF4SXRlbXNcIiwgZGVmLm1heFNpemUudmFsdWUsIGRlZi5tYXhTaXplLm1lc3NhZ2UsIHJlZnMpO1xuICB9XG4gIHJldHVybiBzY2hlbWE7XG59XG5cbi8vIG5vZGVfbW9kdWxlcy96b2QtdG8tanNvbi1zY2hlbWEvZGlzdC9lc20vcGFyc2Vycy90dXBsZS5qc1xuZnVuY3Rpb24gcGFyc2VUdXBsZURlZihkZWYsIHJlZnMpIHtcbiAgaWYgKGRlZi5yZXN0KSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIHR5cGU6IFwiYXJyYXlcIixcbiAgICAgIG1pbkl0ZW1zOiBkZWYuaXRlbXMubGVuZ3RoLFxuICAgICAgaXRlbXM6IGRlZi5pdGVtcy5tYXAoKHgsIGkpID0+IHBhcnNlRGVmKHguX2RlZiwge1xuICAgICAgICAuLi5yZWZzLFxuICAgICAgICBjdXJyZW50UGF0aDogWy4uLnJlZnMuY3VycmVudFBhdGgsIFwiaXRlbXNcIiwgYCR7aX1gXVxuICAgICAgfSkpLnJlZHVjZSgoYWNjLCB4KSA9PiB4ID09PSB2b2lkIDAgPyBhY2MgOiBbLi4uYWNjLCB4XSwgW10pLFxuICAgICAgYWRkaXRpb25hbEl0ZW1zOiBwYXJzZURlZihkZWYucmVzdC5fZGVmLCB7XG4gICAgICAgIC4uLnJlZnMsXG4gICAgICAgIGN1cnJlbnRQYXRoOiBbLi4ucmVmcy5jdXJyZW50UGF0aCwgXCJhZGRpdGlvbmFsSXRlbXNcIl1cbiAgICAgIH0pXG4gICAgfTtcbiAgfSBlbHNlIHtcbiAgICByZXR1cm4ge1xuICAgICAgdHlwZTogXCJhcnJheVwiLFxuICAgICAgbWluSXRlbXM6IGRlZi5pdGVtcy5sZW5ndGgsXG4gICAgICBtYXhJdGVtczogZGVmLml0ZW1zLmxlbmd0aCxcbiAgICAgIGl0ZW1zOiBkZWYuaXRlbXMubWFwKCh4LCBpKSA9PiBwYXJzZURlZih4Ll9kZWYsIHtcbiAgICAgICAgLi4ucmVmcyxcbiAgICAgICAgY3VycmVudFBhdGg6IFsuLi5yZWZzLmN1cnJlbnRQYXRoLCBcIml0ZW1zXCIsIGAke2l9YF1cbiAgICAgIH0pKS5yZWR1Y2UoKGFjYywgeCkgPT4geCA9PT0gdm9pZCAwID8gYWNjIDogWy4uLmFjYywgeF0sIFtdKVxuICAgIH07XG4gIH1cbn1cblxuLy8gbm9kZV9tb2R1bGVzL3pvZC10by1qc29uLXNjaGVtYS9kaXN0L2VzbS9wYXJzZXJzL3VuZGVmaW5lZC5qc1xuZnVuY3Rpb24gcGFyc2VVbmRlZmluZWREZWYoKSB7XG4gIHJldHVybiB7XG4gICAgbm90OiB7fVxuICB9O1xufVxuXG4vLyBub2RlX21vZHVsZXMvem9kLXRvLWpzb24tc2NoZW1hL2Rpc3QvZXNtL3BhcnNlcnMvdW5rbm93bi5qc1xuZnVuY3Rpb24gcGFyc2VVbmtub3duRGVmKCkge1xuICByZXR1cm4ge307XG59XG5cbi8vIG5vZGVfbW9kdWxlcy96b2QtdG8tanNvbi1zY2hlbWEvZGlzdC9lc20vcGFyc2Vycy9yZWFkb25seS5qc1xudmFyIHBhcnNlUmVhZG9ubHlEZWYgPSAoZGVmLCByZWZzKSA9PiB7XG4gIHJldHVybiBwYXJzZURlZihkZWYuaW5uZXJUeXBlLl9kZWYsIHJlZnMpO1xufTtcblxuLy8gbm9kZV9tb2R1bGVzL3pvZC10by1qc29uLXNjaGVtYS9kaXN0L2VzbS9zZWxlY3RQYXJzZXIuanNcbnZhciBzZWxlY3RQYXJzZXIgPSAoZGVmLCB0eXBlTmFtZSwgcmVmcykgPT4ge1xuICBzd2l0Y2ggKHR5cGVOYW1lKSB7XG4gICAgY2FzZSBab2RGaXJzdFBhcnR5VHlwZUtpbmQuWm9kU3RyaW5nOlxuICAgICAgcmV0dXJuIHBhcnNlU3RyaW5nRGVmKGRlZiwgcmVmcyk7XG4gICAgY2FzZSBab2RGaXJzdFBhcnR5VHlwZUtpbmQuWm9kTnVtYmVyOlxuICAgICAgcmV0dXJuIHBhcnNlTnVtYmVyRGVmKGRlZiwgcmVmcyk7XG4gICAgY2FzZSBab2RGaXJzdFBhcnR5VHlwZUtpbmQuWm9kT2JqZWN0OlxuICAgICAgcmV0dXJuIHBhcnNlT2JqZWN0RGVmKGRlZiwgcmVmcyk7XG4gICAgY2FzZSBab2RGaXJzdFBhcnR5VHlwZUtpbmQuWm9kQmlnSW50OlxuICAgICAgcmV0dXJuIHBhcnNlQmlnaW50RGVmKGRlZiwgcmVmcyk7XG4gICAgY2FzZSBab2RGaXJzdFBhcnR5VHlwZUtpbmQuWm9kQm9vbGVhbjpcbiAgICAgIHJldHVybiBwYXJzZUJvb2xlYW5EZWYoKTtcbiAgICBjYXNlIFpvZEZpcnN0UGFydHlUeXBlS2luZC5ab2REYXRlOlxuICAgICAgcmV0dXJuIHBhcnNlRGF0ZURlZihkZWYsIHJlZnMpO1xuICAgIGNhc2UgWm9kRmlyc3RQYXJ0eVR5cGVLaW5kLlpvZFVuZGVmaW5lZDpcbiAgICAgIHJldHVybiBwYXJzZVVuZGVmaW5lZERlZigpO1xuICAgIGNhc2UgWm9kRmlyc3RQYXJ0eVR5cGVLaW5kLlpvZE51bGw6XG4gICAgICByZXR1cm4gcGFyc2VOdWxsRGVmKHJlZnMpO1xuICAgIGNhc2UgWm9kRmlyc3RQYXJ0eVR5cGVLaW5kLlpvZEFycmF5OlxuICAgICAgcmV0dXJuIHBhcnNlQXJyYXlEZWYoZGVmLCByZWZzKTtcbiAgICBjYXNlIFpvZEZpcnN0UGFydHlUeXBlS2luZC5ab2RVbmlvbjpcbiAgICBjYXNlIFpvZEZpcnN0UGFydHlUeXBlS2luZC5ab2REaXNjcmltaW5hdGVkVW5pb246XG4gICAgICByZXR1cm4gcGFyc2VVbmlvbkRlZihkZWYsIHJlZnMpO1xuICAgIGNhc2UgWm9kRmlyc3RQYXJ0eVR5cGVLaW5kLlpvZEludGVyc2VjdGlvbjpcbiAgICAgIHJldHVybiBwYXJzZUludGVyc2VjdGlvbkRlZihkZWYsIHJlZnMpO1xuICAgIGNhc2UgWm9kRmlyc3RQYXJ0eVR5cGVLaW5kLlpvZFR1cGxlOlxuICAgICAgcmV0dXJuIHBhcnNlVHVwbGVEZWYoZGVmLCByZWZzKTtcbiAgICBjYXNlIFpvZEZpcnN0UGFydHlUeXBlS2luZC5ab2RSZWNvcmQ6XG4gICAgICByZXR1cm4gcGFyc2VSZWNvcmREZWYoZGVmLCByZWZzKTtcbiAgICBjYXNlIFpvZEZpcnN0UGFydHlUeXBlS2luZC5ab2RMaXRlcmFsOlxuICAgICAgcmV0dXJuIHBhcnNlTGl0ZXJhbERlZihkZWYsIHJlZnMpO1xuICAgIGNhc2UgWm9kRmlyc3RQYXJ0eVR5cGVLaW5kLlpvZEVudW06XG4gICAgICByZXR1cm4gcGFyc2VFbnVtRGVmKGRlZik7XG4gICAgY2FzZSBab2RGaXJzdFBhcnR5VHlwZUtpbmQuWm9kTmF0aXZlRW51bTpcbiAgICAgIHJldHVybiBwYXJzZU5hdGl2ZUVudW1EZWYoZGVmKTtcbiAgICBjYXNlIFpvZEZpcnN0UGFydHlUeXBlS2luZC5ab2ROdWxsYWJsZTpcbiAgICAgIHJldHVybiBwYXJzZU51bGxhYmxlRGVmKGRlZiwgcmVmcyk7XG4gICAgY2FzZSBab2RGaXJzdFBhcnR5VHlwZUtpbmQuWm9kT3B0aW9uYWw6XG4gICAgICByZXR1cm4gcGFyc2VPcHRpb25hbERlZihkZWYsIHJlZnMpO1xuICAgIGNhc2UgWm9kRmlyc3RQYXJ0eVR5cGVLaW5kLlpvZE1hcDpcbiAgICAgIHJldHVybiBwYXJzZU1hcERlZihkZWYsIHJlZnMpO1xuICAgIGNhc2UgWm9kRmlyc3RQYXJ0eVR5cGVLaW5kLlpvZFNldDpcbiAgICAgIHJldHVybiBwYXJzZVNldERlZihkZWYsIHJlZnMpO1xuICAgIGNhc2UgWm9kRmlyc3RQYXJ0eVR5cGVLaW5kLlpvZExhenk6XG4gICAgICByZXR1cm4gKCkgPT4gZGVmLmdldHRlcigpLl9kZWY7XG4gICAgY2FzZSBab2RGaXJzdFBhcnR5VHlwZUtpbmQuWm9kUHJvbWlzZTpcbiAgICAgIHJldHVybiBwYXJzZVByb21pc2VEZWYoZGVmLCByZWZzKTtcbiAgICBjYXNlIFpvZEZpcnN0UGFydHlUeXBlS2luZC5ab2ROYU46XG4gICAgY2FzZSBab2RGaXJzdFBhcnR5VHlwZUtpbmQuWm9kTmV2ZXI6XG4gICAgICByZXR1cm4gcGFyc2VOZXZlckRlZigpO1xuICAgIGNhc2UgWm9kRmlyc3RQYXJ0eVR5cGVLaW5kLlpvZEVmZmVjdHM6XG4gICAgICByZXR1cm4gcGFyc2VFZmZlY3RzRGVmKGRlZiwgcmVmcyk7XG4gICAgY2FzZSBab2RGaXJzdFBhcnR5VHlwZUtpbmQuWm9kQW55OlxuICAgICAgcmV0dXJuIHBhcnNlQW55RGVmKCk7XG4gICAgY2FzZSBab2RGaXJzdFBhcnR5VHlwZUtpbmQuWm9kVW5rbm93bjpcbiAgICAgIHJldHVybiBwYXJzZVVua25vd25EZWYoKTtcbiAgICBjYXNlIFpvZEZpcnN0UGFydHlUeXBlS2luZC5ab2REZWZhdWx0OlxuICAgICAgcmV0dXJuIHBhcnNlRGVmYXVsdERlZihkZWYsIHJlZnMpO1xuICAgIGNhc2UgWm9kRmlyc3RQYXJ0eVR5cGVLaW5kLlpvZEJyYW5kZWQ6XG4gICAgICByZXR1cm4gcGFyc2VCcmFuZGVkRGVmKGRlZiwgcmVmcyk7XG4gICAgY2FzZSBab2RGaXJzdFBhcnR5VHlwZUtpbmQuWm9kUmVhZG9ubHk6XG4gICAgICByZXR1cm4gcGFyc2VSZWFkb25seURlZihkZWYsIHJlZnMpO1xuICAgIGNhc2UgWm9kRmlyc3RQYXJ0eVR5cGVLaW5kLlpvZENhdGNoOlxuICAgICAgcmV0dXJuIHBhcnNlQ2F0Y2hEZWYoZGVmLCByZWZzKTtcbiAgICBjYXNlIFpvZEZpcnN0UGFydHlUeXBlS2luZC5ab2RQaXBlbGluZTpcbiAgICAgIHJldHVybiBwYXJzZVBpcGVsaW5lRGVmKGRlZiwgcmVmcyk7XG4gICAgY2FzZSBab2RGaXJzdFBhcnR5VHlwZUtpbmQuWm9kRnVuY3Rpb246XG4gICAgY2FzZSBab2RGaXJzdFBhcnR5VHlwZUtpbmQuWm9kVm9pZDpcbiAgICBjYXNlIFpvZEZpcnN0UGFydHlUeXBlS2luZC5ab2RTeW1ib2w6XG4gICAgICByZXR1cm4gdm9pZCAwO1xuICAgIGRlZmF1bHQ6XG4gICAgICByZXR1cm4gLyogQF9fUFVSRV9fICovICgoXzIpID0+IHZvaWQgMCkodHlwZU5hbWUpO1xuICB9XG59O1xuXG4vLyBub2RlX21vZHVsZXMvem9kLXRvLWpzb24tc2NoZW1hL2Rpc3QvZXNtL3BhcnNlRGVmLmpzXG5mdW5jdGlvbiBwYXJzZURlZihkZWYsIHJlZnMsIGZvcmNlUmVzb2x1dGlvbiA9IGZhbHNlKSB7XG4gIGNvbnN0IHNlZW5JdGVtID0gcmVmcy5zZWVuLmdldChkZWYpO1xuICBpZiAocmVmcy5vdmVycmlkZSkge1xuICAgIGNvbnN0IG92ZXJyaWRlUmVzdWx0ID0gcmVmcy5vdmVycmlkZT8uKGRlZiwgcmVmcywgc2Vlbkl0ZW0sIGZvcmNlUmVzb2x1dGlvbik7XG4gICAgaWYgKG92ZXJyaWRlUmVzdWx0ICE9PSBpZ25vcmVPdmVycmlkZSkge1xuICAgICAgcmV0dXJuIG92ZXJyaWRlUmVzdWx0O1xuICAgIH1cbiAgfVxuICBpZiAoc2Vlbkl0ZW0gJiYgIWZvcmNlUmVzb2x1dGlvbikge1xuICAgIGNvbnN0IHNlZW5TY2hlbWEgPSBnZXQkcmVmKHNlZW5JdGVtLCByZWZzKTtcbiAgICBpZiAoc2VlblNjaGVtYSAhPT0gdm9pZCAwKSB7XG4gICAgICByZXR1cm4gc2VlblNjaGVtYTtcbiAgICB9XG4gIH1cbiAgY29uc3QgbmV3SXRlbSA9IHsgZGVmLCBwYXRoOiByZWZzLmN1cnJlbnRQYXRoLCBqc29uU2NoZW1hOiB2b2lkIDAgfTtcbiAgcmVmcy5zZWVuLnNldChkZWYsIG5ld0l0ZW0pO1xuICBjb25zdCBqc29uU2NoZW1hT3JHZXR0ZXIgPSBzZWxlY3RQYXJzZXIoZGVmLCBkZWYudHlwZU5hbWUsIHJlZnMpO1xuICBjb25zdCBqc29uU2NoZW1hID0gdHlwZW9mIGpzb25TY2hlbWFPckdldHRlciA9PT0gXCJmdW5jdGlvblwiID8gcGFyc2VEZWYoanNvblNjaGVtYU9yR2V0dGVyKCksIHJlZnMpIDoganNvblNjaGVtYU9yR2V0dGVyO1xuICBpZiAoanNvblNjaGVtYSkge1xuICAgIGFkZE1ldGEoZGVmLCByZWZzLCBqc29uU2NoZW1hKTtcbiAgfVxuICBuZXdJdGVtLmpzb25TY2hlbWEgPSBqc29uU2NoZW1hO1xuICByZXR1cm4ganNvblNjaGVtYTtcbn1cbnZhciBnZXQkcmVmID0gKGl0ZW0sIHJlZnMpID0+IHtcbiAgc3dpdGNoIChyZWZzLiRyZWZTdHJhdGVneSkge1xuICAgIGNhc2UgXCJyb290XCI6XG4gICAgICByZXR1cm4geyAkcmVmOiBpdGVtLnBhdGguam9pbihcIi9cIikgfTtcbiAgICBjYXNlIFwicmVsYXRpdmVcIjpcbiAgICAgIHJldHVybiB7ICRyZWY6IGdldFJlbGF0aXZlUGF0aChyZWZzLmN1cnJlbnRQYXRoLCBpdGVtLnBhdGgpIH07XG4gICAgY2FzZSBcIm5vbmVcIjpcbiAgICBjYXNlIFwic2VlblwiOiB7XG4gICAgICBpZiAoaXRlbS5wYXRoLmxlbmd0aCA8IHJlZnMuY3VycmVudFBhdGgubGVuZ3RoICYmIGl0ZW0ucGF0aC5ldmVyeSgodmFsdWUsIGluZGV4KSA9PiByZWZzLmN1cnJlbnRQYXRoW2luZGV4XSA9PT0gdmFsdWUpKSB7XG4gICAgICAgIGNvbnNvbGUud2FybihgUmVjdXJzaXZlIHJlZmVyZW5jZSBkZXRlY3RlZCBhdCAke3JlZnMuY3VycmVudFBhdGguam9pbihcIi9cIil9ISBEZWZhdWx0aW5nIHRvIGFueWApO1xuICAgICAgICByZXR1cm4ge307XG4gICAgICB9XG4gICAgICByZXR1cm4gcmVmcy4kcmVmU3RyYXRlZ3kgPT09IFwic2VlblwiID8ge30gOiB2b2lkIDA7XG4gICAgfVxuICB9XG59O1xudmFyIGdldFJlbGF0aXZlUGF0aCA9IChwYXRoQSwgcGF0aEIpID0+IHtcbiAgbGV0IGkgPSAwO1xuICBmb3IgKDsgaSA8IHBhdGhBLmxlbmd0aCAmJiBpIDwgcGF0aEIubGVuZ3RoOyBpKyspIHtcbiAgICBpZiAocGF0aEFbaV0gIT09IHBhdGhCW2ldKVxuICAgICAgYnJlYWs7XG4gIH1cbiAgcmV0dXJuIFsocGF0aEEubGVuZ3RoIC0gaSkudG9TdHJpbmcoKSwgLi4ucGF0aEIuc2xpY2UoaSldLmpvaW4oXCIvXCIpO1xufTtcbnZhciBhZGRNZXRhID0gKGRlZiwgcmVmcywganNvblNjaGVtYSkgPT4ge1xuICBpZiAoZGVmLmRlc2NyaXB0aW9uKSB7XG4gICAganNvblNjaGVtYS5kZXNjcmlwdGlvbiA9IGRlZi5kZXNjcmlwdGlvbjtcbiAgICBpZiAocmVmcy5tYXJrZG93bkRlc2NyaXB0aW9uKSB7XG4gICAgICBqc29uU2NoZW1hLm1hcmtkb3duRGVzY3JpcHRpb24gPSBkZWYuZGVzY3JpcHRpb247XG4gICAgfVxuICB9XG4gIHJldHVybiBqc29uU2NoZW1hO1xufTtcblxuLy8gbm9kZV9tb2R1bGVzL3pvZC10by1qc29uLXNjaGVtYS9kaXN0L2VzbS96b2RUb0pzb25TY2hlbWEuanNcbnZhciB6b2RUb0pzb25TY2hlbWEgPSAoc2NoZW1hLCBvcHRpb25zKSA9PiB7XG4gIGNvbnN0IHJlZnMgPSBnZXRSZWZzKG9wdGlvbnMpO1xuICBjb25zdCBkZWZpbml0aW9ucyA9IHR5cGVvZiBvcHRpb25zID09PSBcIm9iamVjdFwiICYmIG9wdGlvbnMuZGVmaW5pdGlvbnMgPyBPYmplY3QuZW50cmllcyhvcHRpb25zLmRlZmluaXRpb25zKS5yZWR1Y2UoKGFjYywgW25hbWUyLCBzY2hlbWEyXSkgPT4gKHtcbiAgICAuLi5hY2MsXG4gICAgW25hbWUyXTogcGFyc2VEZWYoc2NoZW1hMi5fZGVmLCB7XG4gICAgICAuLi5yZWZzLFxuICAgICAgY3VycmVudFBhdGg6IFsuLi5yZWZzLmJhc2VQYXRoLCByZWZzLmRlZmluaXRpb25QYXRoLCBuYW1lMl1cbiAgICB9LCB0cnVlKSA/PyB7fVxuICB9KSwge30pIDogdm9pZCAwO1xuICBjb25zdCBuYW1lID0gdHlwZW9mIG9wdGlvbnMgPT09IFwic3RyaW5nXCIgPyBvcHRpb25zIDogb3B0aW9ucz8ubmFtZVN0cmF0ZWd5ID09PSBcInRpdGxlXCIgPyB2b2lkIDAgOiBvcHRpb25zPy5uYW1lO1xuICBjb25zdCBtYWluID0gcGFyc2VEZWYoc2NoZW1hLl9kZWYsIG5hbWUgPT09IHZvaWQgMCA/IHJlZnMgOiB7XG4gICAgLi4ucmVmcyxcbiAgICBjdXJyZW50UGF0aDogWy4uLnJlZnMuYmFzZVBhdGgsIHJlZnMuZGVmaW5pdGlvblBhdGgsIG5hbWVdXG4gIH0sIGZhbHNlKSA/PyB7fTtcbiAgY29uc3QgdGl0bGUgPSB0eXBlb2Ygb3B0aW9ucyA9PT0gXCJvYmplY3RcIiAmJiBvcHRpb25zLm5hbWUgIT09IHZvaWQgMCAmJiBvcHRpb25zLm5hbWVTdHJhdGVneSA9PT0gXCJ0aXRsZVwiID8gb3B0aW9ucy5uYW1lIDogdm9pZCAwO1xuICBpZiAodGl0bGUgIT09IHZvaWQgMCkge1xuICAgIG1haW4udGl0bGUgPSB0aXRsZTtcbiAgfVxuICBjb25zdCBjb21iaW5lZCA9IG5hbWUgPT09IHZvaWQgMCA/IGRlZmluaXRpb25zID8ge1xuICAgIC4uLm1haW4sXG4gICAgW3JlZnMuZGVmaW5pdGlvblBhdGhdOiBkZWZpbml0aW9uc1xuICB9IDogbWFpbiA6IHtcbiAgICAkcmVmOiBbXG4gICAgICAuLi5yZWZzLiRyZWZTdHJhdGVneSA9PT0gXCJyZWxhdGl2ZVwiID8gW10gOiByZWZzLmJhc2VQYXRoLFxuICAgICAgcmVmcy5kZWZpbml0aW9uUGF0aCxcbiAgICAgIG5hbWVcbiAgICBdLmpvaW4oXCIvXCIpLFxuICAgIFtyZWZzLmRlZmluaXRpb25QYXRoXToge1xuICAgICAgLi4uZGVmaW5pdGlvbnMsXG4gICAgICBbbmFtZV06IG1haW5cbiAgICB9XG4gIH07XG4gIGlmIChyZWZzLnRhcmdldCA9PT0gXCJqc29uU2NoZW1hN1wiKSB7XG4gICAgY29tYmluZWQuJHNjaGVtYSA9IFwiaHR0cDovL2pzb24tc2NoZW1hLm9yZy9kcmFmdC0wNy9zY2hlbWEjXCI7XG4gIH0gZWxzZSBpZiAocmVmcy50YXJnZXQgPT09IFwianNvblNjaGVtYTIwMTktMDlcIiB8fCByZWZzLnRhcmdldCA9PT0gXCJvcGVuQWlcIikge1xuICAgIGNvbWJpbmVkLiRzY2hlbWEgPSBcImh0dHBzOi8vanNvbi1zY2hlbWEub3JnL2RyYWZ0LzIwMTktMDkvc2NoZW1hI1wiO1xuICB9XG4gIGlmIChyZWZzLnRhcmdldCA9PT0gXCJvcGVuQWlcIiAmJiAoXCJhbnlPZlwiIGluIGNvbWJpbmVkIHx8IFwib25lT2ZcIiBpbiBjb21iaW5lZCB8fCBcImFsbE9mXCIgaW4gY29tYmluZWQgfHwgXCJ0eXBlXCIgaW4gY29tYmluZWQgJiYgQXJyYXkuaXNBcnJheShjb21iaW5lZC50eXBlKSkpIHtcbiAgICBjb25zb2xlLndhcm4oXCJXYXJuaW5nOiBPcGVuQUkgbWF5IG5vdCBzdXBwb3J0IHNjaGVtYXMgd2l0aCB1bmlvbnMgYXMgcm9vdHMhIFRyeSB3cmFwcGluZyBpdCBpbiBhbiBvYmplY3QgcHJvcGVydHkuXCIpO1xuICB9XG4gIHJldHVybiBjb21iaW5lZDtcbn07XG5cbi8vIG5vZGVfbW9kdWxlcy9Ac21pdGhlcnkvc2RrL2Rpc3Qvc2hhcmVkL2NvbmZpZy5qc1xuZnVuY3Rpb24gcGFyc2VFeHByZXNzUmVxdWVzdENvbmZpZyhyZXEpIHtcbiAgcmV0dXJuIEpTT04ucGFyc2UoQnVmZmVyLmZyb20ocmVxLnF1ZXJ5LmNvbmZpZywgXCJiYXNlNjRcIikudG9TdHJpbmcoKSk7XG59XG5mdW5jdGlvbiBwYXJzZUFuZFZhbGlkYXRlQ29uZmlnKHJlcSwgc2NoZW1hKSB7XG4gIGxldCBjb25maWcgPSB7fTtcbiAgaWYgKHJlcS5xdWVyeS5jb25maWcpIHtcbiAgICB0cnkge1xuICAgICAgY29uZmlnID0gcGFyc2VFeHByZXNzUmVxdWVzdENvbmZpZyhyZXEpO1xuICAgIH0gY2F0Y2ggKGNvbmZpZ0Vycm9yKSB7XG4gICAgICByZXR1cm4gZXJyKHtcbiAgICAgICAgdGl0bGU6IFwiSW52YWxpZCBjb25maWcgcGFyYW1ldGVyXCIsXG4gICAgICAgIHN0YXR1czogNDAwLFxuICAgICAgICBkZXRhaWw6IFwiRmFpbGVkIHRvIHBhcnNlIGNvbmZpZyBwYXJhbWV0ZXJcIixcbiAgICAgICAgaW5zdGFuY2U6IHJlcS5vcmlnaW5hbFVybFxuICAgICAgfSk7XG4gICAgfVxuICB9XG4gIGZvciAoY29uc3QgW2tleSwgdmFsdWVdIG9mIE9iamVjdC5lbnRyaWVzKHJlcS5xdWVyeSkpIHtcbiAgICBpZiAoa2V5ID09PSBcImNvbmZpZ1wiIHx8IGtleSA9PT0gXCJhcGlfa2V5XCIgfHwga2V5ID09PSBcInByb2ZpbGVcIilcbiAgICAgIGNvbnRpbnVlO1xuICAgIGNvbnN0IHBhdGhQYXJ0cyA9IGtleS5zcGxpdChcIi5cIik7XG4gICAgY29uc3QgcmF3VmFsdWUgPSBBcnJheS5pc0FycmF5KHZhbHVlKSA/IHZhbHVlWzBdIDogdmFsdWU7XG4gICAgaWYgKHR5cGVvZiByYXdWYWx1ZSAhPT0gXCJzdHJpbmdcIilcbiAgICAgIGNvbnRpbnVlO1xuICAgIGxldCBwYXJzZWRWYWx1ZSA9IHJhd1ZhbHVlO1xuICAgIHRyeSB7XG4gICAgICBwYXJzZWRWYWx1ZSA9IEpTT04ucGFyc2UocmF3VmFsdWUpO1xuICAgIH0gY2F0Y2gge1xuICAgIH1cbiAgICBpbXBvcnRfbG9kYXNoLmRlZmF1bHQuc2V0KGNvbmZpZywgcGF0aFBhcnRzLCBwYXJzZWRWYWx1ZSk7XG4gIH1cbiAgaWYgKHNjaGVtYSkge1xuICAgIGNvbnN0IHJlc3VsdCA9IHNjaGVtYS5zYWZlUGFyc2UoY29uZmlnKTtcbiAgICBpZiAoIXJlc3VsdC5zdWNjZXNzKSB7XG4gICAgICBjb25zdCBqc29uU2NoZW1hID0gem9kVG9Kc29uU2NoZW1hKHNjaGVtYSk7XG4gICAgICBjb25zdCBlcnJvcnMgPSByZXN1bHQuZXJyb3IuaXNzdWVzLm1hcCgoaXNzdWUpID0+IHtcbiAgICAgICAgbGV0IHJlY2VpdmVkID0gY29uZmlnO1xuICAgICAgICBmb3IgKGNvbnN0IGtleSBvZiBpc3N1ZS5wYXRoKSB7XG4gICAgICAgICAgaWYgKHJlY2VpdmVkICYmIHR5cGVvZiByZWNlaXZlZCA9PT0gXCJvYmplY3RcIiAmJiBrZXkgaW4gcmVjZWl2ZWQpIHtcbiAgICAgICAgICAgIHJlY2VpdmVkID0gcmVjZWl2ZWRba2V5XTtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgcmVjZWl2ZWQgPSB2b2lkIDA7XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICBwYXJhbTogaXNzdWUucGF0aC5qb2luKFwiLlwiKSB8fCBcInJvb3RcIixcbiAgICAgICAgICBwb2ludGVyOiBgLyR7aXNzdWUucGF0aC5qb2luKFwiL1wiKX1gLFxuICAgICAgICAgIHJlYXNvbjogaXNzdWUubWVzc2FnZSxcbiAgICAgICAgICByZWNlaXZlZFxuICAgICAgICB9O1xuICAgICAgfSk7XG4gICAgICByZXR1cm4gZXJyKHtcbiAgICAgICAgdGl0bGU6IFwiSW52YWxpZCBjb25maWd1cmF0aW9uIHBhcmFtZXRlcnNcIixcbiAgICAgICAgc3RhdHVzOiA0MjIsXG4gICAgICAgIGRldGFpbDogXCJPbmUgb3IgbW9yZSBjb25maWcgcGFyYW1ldGVycyBhcmUgaW52YWxpZC5cIixcbiAgICAgICAgaW5zdGFuY2U6IHJlcS5vcmlnaW5hbFVybCxcbiAgICAgICAgY29uZmlnU2NoZW1hOiBqc29uU2NoZW1hLFxuICAgICAgICBlcnJvcnNcbiAgICAgIH0pO1xuICAgIH1cbiAgICByZXR1cm4gb2socmVzdWx0LmRhdGEpO1xuICB9XG4gIHJldHVybiBvayhjb25maWcpO1xufVxuXG4vLyBub2RlX21vZHVsZXMvQHNtaXRoZXJ5L3Nkay9kaXN0L3NlcnZlci9zZXNzaW9uLmpzXG52YXIgY3JlYXRlTFJVU3RvcmUgPSAobWF4ID0gMWUzKSA9PiB7XG4gIGNvbnN0IGNhY2hlID0gLyogQF9fUFVSRV9fICovIG5ldyBNYXAoKTtcbiAgcmV0dXJuIHtcbiAgICBnZXQ6IChpZCkgPT4ge1xuICAgICAgY29uc3QgdCA9IGNhY2hlLmdldChpZCk7XG4gICAgICBpZiAoIXQpXG4gICAgICAgIHJldHVybiB2b2lkIDA7XG4gICAgICBjYWNoZS5kZWxldGUoaWQpO1xuICAgICAgY2FjaGUuc2V0KGlkLCB0KTtcbiAgICAgIHJldHVybiB0O1xuICAgIH0sXG4gICAgc2V0OiAoaWQsIHRyYW5zcG9ydCkgPT4ge1xuICAgICAgaWYgKGNhY2hlLmhhcyhpZCkpIHtcbiAgICAgICAgY2FjaGUuZGVsZXRlKGlkKTtcbiAgICAgIH0gZWxzZSBpZiAoY2FjaGUuc2l6ZSA+PSBtYXgpIHtcbiAgICAgICAgY29uc3QgW2xydUlkLCBscnVUcmFuc3BvcnRdID0gY2FjaGUuZW50cmllcygpLm5leHQoKS52YWx1ZTtcbiAgICAgICAgbHJ1VHJhbnNwb3J0LmNsb3NlPy4oKTtcbiAgICAgICAgY2FjaGUuZGVsZXRlKGxydUlkKTtcbiAgICAgIH1cbiAgICAgIGNhY2hlLnNldChpZCwgdHJhbnNwb3J0KTtcbiAgICB9LFxuICAgIGRlbGV0ZTogKGlkKSA9PiBjYWNoZS5kZWxldGUoaWQpXG4gIH07XG59O1xuXG4vLyBub2RlX21vZHVsZXMvQHNtaXRoZXJ5L3Nkay9kaXN0L3NlcnZlci9zdGF0ZWZ1bC5qc1xuZnVuY3Rpb24gY3JlYXRlU3RhdGVmdWxTZXJ2ZXIoY3JlYXRlTWNwU2VydmVyLCBvcHRpb25zKSB7XG4gIGNvbnN0IGFwcCA9IG9wdGlvbnM/LmFwcCA/PyAoMCwgaW1wb3J0X2V4cHJlc3MuZGVmYXVsdCkoKTtcbiAgYXBwLnVzZShcIi9tY3BcIiwgaW1wb3J0X2V4cHJlc3MuZGVmYXVsdC5qc29uKCkpO1xuICBjb25zdCBzZXNzaW9uU3RvcmUgPSBvcHRpb25zPy5zZXNzaW9uU3RvcmUgPz8gY3JlYXRlTFJVU3RvcmUoKTtcbiAgYXBwLnBvc3QoXCIvbWNwXCIsIGFzeW5jIChyZXEsIHJlcykgPT4ge1xuICAgIGNvbnN0IHNlc3Npb25JZCA9IHJlcS5oZWFkZXJzW1wibWNwLXNlc3Npb24taWRcIl07XG4gICAgbGV0IHRyYW5zcG9ydDtcbiAgICBpZiAoc2Vzc2lvbklkICYmIHNlc3Npb25TdG9yZS5nZXQoc2Vzc2lvbklkKSkge1xuICAgICAgdHJhbnNwb3J0ID0gc2Vzc2lvblN0b3JlLmdldChzZXNzaW9uSWQpO1xuICAgIH0gZWxzZSBpZiAoIXNlc3Npb25JZCAmJiBpc0luaXRpYWxpemVSZXF1ZXN0KHJlcS5ib2R5KSkge1xuICAgICAgY29uc3QgbmV3U2Vzc2lvbklkID0gKDAsIGltcG9ydF9ub2RlX2NyeXB0bzIucmFuZG9tVVVJRCkoKTtcbiAgICAgIHRyYW5zcG9ydCA9IG5ldyBTdHJlYW1hYmxlSFRUUFNlcnZlclRyYW5zcG9ydCh7XG4gICAgICAgIHNlc3Npb25JZEdlbmVyYXRvcjogKCkgPT4gbmV3U2Vzc2lvbklkLFxuICAgICAgICBvbnNlc3Npb25pbml0aWFsaXplZDogKHNlc3Npb25JZDIpID0+IHtcbiAgICAgICAgICBzZXNzaW9uU3RvcmUuc2V0KHNlc3Npb25JZDIsIHRyYW5zcG9ydCk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgICAgdHJhbnNwb3J0Lm9uY2xvc2UgPSAoKSA9PiB7XG4gICAgICAgIGlmICh0cmFuc3BvcnQuc2Vzc2lvbklkKSB7XG4gICAgICAgICAgc2Vzc2lvblN0b3JlLmRlbGV0ZT8uKHRyYW5zcG9ydC5zZXNzaW9uSWQpO1xuICAgICAgICB9XG4gICAgICB9O1xuICAgICAgY29uc3QgY29uZmlnUmVzdWx0ID0gcGFyc2VBbmRWYWxpZGF0ZUNvbmZpZyhyZXEsIG9wdGlvbnM/LnNjaGVtYSk7XG4gICAgICBpZiAoIWNvbmZpZ1Jlc3VsdC5vaykge1xuICAgICAgICBjb25zdCBzdGF0dXMgPSBjb25maWdSZXN1bHQuZXJyb3Iuc3RhdHVzIHx8IDQwMDtcbiAgICAgICAgcmVzLnN0YXR1cyhzdGF0dXMpLmpzb24oY29uZmlnUmVzdWx0LmVycm9yKTtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuICAgICAgY29uc3QgY29uZmlnID0gY29uZmlnUmVzdWx0LnZhbHVlO1xuICAgICAgdHJ5IHtcbiAgICAgICAgY29uc3Qgc2VydmVyID0gY3JlYXRlTWNwU2VydmVyKHtcbiAgICAgICAgICBzZXNzaW9uSWQ6IG5ld1Nlc3Npb25JZCxcbiAgICAgICAgICBjb25maWdcbiAgICAgICAgfSk7XG4gICAgICAgIGF3YWl0IHNlcnZlci5jb25uZWN0KHRyYW5zcG9ydCk7XG4gICAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgICBjb25zb2xlLmVycm9yKFwiRXJyb3IgaW5pdGlhbGl6aW5nIHNlcnZlcjpcIiwgZXJyb3IpO1xuICAgICAgICByZXMuc3RhdHVzKDUwMCkuanNvbih7XG4gICAgICAgICAganNvbnJwYzogXCIyLjBcIixcbiAgICAgICAgICBlcnJvcjoge1xuICAgICAgICAgICAgY29kZTogLTMyNjAzLFxuICAgICAgICAgICAgbWVzc2FnZTogXCJFcnJvciBpbml0aWFsaXppbmcgc2VydmVyLlwiXG4gICAgICAgICAgfSxcbiAgICAgICAgICBpZDogbnVsbFxuICAgICAgICB9KTtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICByZXMuc3RhdHVzKDQwMCkuanNvbih7XG4gICAgICAgIGpzb25ycGM6IFwiMi4wXCIsXG4gICAgICAgIGVycm9yOiB7XG4gICAgICAgICAgY29kZTogLTMyZTMsXG4gICAgICAgICAgbWVzc2FnZTogXCJTZXNzaW9uIG5vdCBmb3VuZCBvciBleHBpcmVkXCJcbiAgICAgICAgfSxcbiAgICAgICAgaWQ6IG51bGxcbiAgICAgIH0pO1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBhd2FpdCB0cmFuc3BvcnQuaGFuZGxlUmVxdWVzdChyZXEsIHJlcywgcmVxLmJvZHkpO1xuICB9KTtcbiAgYXBwLmdldChcIi8ud2VsbC1rbm93bi9tY3AtY29uZmlnXCIsIChyZXEsIHJlcykgPT4ge1xuICAgIHJlcy5zZXQoXCJDb250ZW50LVR5cGVcIiwgXCJhcHBsaWNhdGlvbi9zY2hlbWEranNvbjsgY2hhcnNldD11dGYtOFwiKTtcbiAgICBjb25zdCBiYXNlU2NoZW1hID0gb3B0aW9ucz8uc2NoZW1hID8gem9kVG9Kc29uU2NoZW1hKG9wdGlvbnMuc2NoZW1hKSA6IHtcbiAgICAgIHR5cGU6IFwib2JqZWN0XCIsXG4gICAgICBwcm9wZXJ0aWVzOiB7fSxcbiAgICAgIHJlcXVpcmVkOiBbXVxuICAgIH07XG4gICAgY29uc3QgY29uZmlnU2NoZW1hID0ge1xuICAgICAgJHNjaGVtYTogXCJodHRwczovL2pzb24tc2NoZW1hLm9yZy9kcmFmdC8yMDIwLTEyL3NjaGVtYVwiLFxuICAgICAgJGlkOiBgJHtyZXEucHJvdG9jb2x9Oi8vJHtyZXEuZ2V0KFwiaG9zdFwiKX0vLndlbGwta25vd24vbWNwLWNvbmZpZ2AsXG4gICAgICB0aXRsZTogXCJNQ1AgU2Vzc2lvbiBDb25maWd1cmF0aW9uXCIsXG4gICAgICBkZXNjcmlwdGlvbjogXCJTY2hlbWEgZm9yIHRoZSAvbWNwIGVuZHBvaW50IGNvbmZpZ3VyYXRpb25cIixcbiAgICAgIFwieC1tY3AtdmVyc2lvblwiOiBcIjEuMFwiLFxuICAgICAgXCJ4LXF1ZXJ5LXN0eWxlXCI6IFwiZG90K2JyYWNrZXRcIixcbiAgICAgIC4uLmJhc2VTY2hlbWFcbiAgICB9O1xuICAgIHJlcy5qc29uKGNvbmZpZ1NjaGVtYSk7XG4gIH0pO1xuICBhcHAuZ2V0KFwiL21jcFwiLCBhc3luYyAocmVxLCByZXMpID0+IHtcbiAgICBjb25zdCBzZXNzaW9uSWQgPSByZXEuaGVhZGVyc1tcIm1jcC1zZXNzaW9uLWlkXCJdO1xuICAgIGlmICghc2Vzc2lvbklkIHx8ICFzZXNzaW9uU3RvcmUuZ2V0KHNlc3Npb25JZCkpIHtcbiAgICAgIHJlcy5zdGF0dXMoNDAwKS5zZW5kKFwiSW52YWxpZCBvciBleHBpcmVkIHNlc3Npb24gSURcIik7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGNvbnN0IHRyYW5zcG9ydCA9IHNlc3Npb25TdG9yZS5nZXQoc2Vzc2lvbklkKTtcbiAgICBhd2FpdCB0cmFuc3BvcnQuaGFuZGxlUmVxdWVzdChyZXEsIHJlcyk7XG4gIH0pO1xuICBhcHAuZGVsZXRlKFwiL21jcFwiLCBhc3luYyAocmVxLCByZXMpID0+IHtcbiAgICBjb25zdCBzZXNzaW9uSWQgPSByZXEuaGVhZGVyc1tcIm1jcC1zZXNzaW9uLWlkXCJdO1xuICAgIGlmICghc2Vzc2lvbklkKSB7XG4gICAgICByZXMuc3RhdHVzKDQwMCkuanNvbih7XG4gICAgICAgIGpzb25ycGM6IFwiMi4wXCIsXG4gICAgICAgIGVycm9yOiB7XG4gICAgICAgICAgY29kZTogLTMyNjAwLFxuICAgICAgICAgIG1lc3NhZ2U6IFwiTWlzc2luZyBtY3Atc2Vzc2lvbi1pZCBoZWFkZXJcIlxuICAgICAgICB9LFxuICAgICAgICBpZDogbnVsbFxuICAgICAgfSk7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGNvbnN0IHRyYW5zcG9ydCA9IHNlc3Npb25TdG9yZS5nZXQoc2Vzc2lvbklkKTtcbiAgICBpZiAoIXRyYW5zcG9ydCkge1xuICAgICAgcmVzLnN0YXR1cyg0MDQpLmpzb24oe1xuICAgICAgICBqc29ucnBjOiBcIjIuMFwiLFxuICAgICAgICBlcnJvcjoge1xuICAgICAgICAgIGNvZGU6IC0zMmUzLFxuICAgICAgICAgIG1lc3NhZ2U6IFwiU2Vzc2lvbiBub3QgZm91bmQgb3IgZXhwaXJlZFwiXG4gICAgICAgIH0sXG4gICAgICAgIGlkOiBudWxsXG4gICAgICB9KTtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgdHJhbnNwb3J0LmNsb3NlPy4oKTtcbiAgICByZXMuc3RhdHVzKDIwNCkuZW5kKCk7XG4gIH0pO1xuICByZXR1cm4geyBhcHAgfTtcbn1cblxuLy8gbm9kZV9tb2R1bGVzL0BzbWl0aGVyeS9zZGsvZGlzdC9zZXJ2ZXIvc3RhdGVsZXNzLmpzXG52YXIgaW1wb3J0X2V4cHJlc3MyID0gX190b0VTTShyZXF1aXJlX2V4cHJlc3MyKCksIDEpO1xuZnVuY3Rpb24gY3JlYXRlU3RhdGVsZXNzU2VydmVyKGNyZWF0ZU1jcFNlcnZlciwgb3B0aW9ucykge1xuICBjb25zdCBhcHAgPSBvcHRpb25zPy5hcHAgPz8gKDAsIGltcG9ydF9leHByZXNzMi5kZWZhdWx0KSgpO1xuICBhcHAudXNlKFwiL21jcFwiLCBpbXBvcnRfZXhwcmVzczIuZGVmYXVsdC5qc29uKCkpO1xuICBhcHAucG9zdChcIi9tY3BcIiwgYXN5bmMgKHJlcSwgcmVzKSA9PiB7XG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IGNvbmZpZ1Jlc3VsdCA9IHBhcnNlQW5kVmFsaWRhdGVDb25maWcocmVxLCBvcHRpb25zPy5zY2hlbWEpO1xuICAgICAgaWYgKCFjb25maWdSZXN1bHQub2spIHtcbiAgICAgICAgY29uc3Qgc3RhdHVzID0gY29uZmlnUmVzdWx0LmVycm9yLnN0YXR1cyB8fCA0MDA7XG4gICAgICAgIHJlcy5zdGF0dXMoc3RhdHVzKS5qc29uKGNvbmZpZ1Jlc3VsdC5lcnJvcik7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cbiAgICAgIGNvbnN0IGNvbmZpZyA9IGNvbmZpZ1Jlc3VsdC52YWx1ZTtcbiAgICAgIGNvbnN0IHNlcnZlciA9IGNyZWF0ZU1jcFNlcnZlcih7XG4gICAgICAgIGNvbmZpZ1xuICAgICAgfSk7XG4gICAgICBjb25zdCB0cmFuc3BvcnQgPSBuZXcgU3RyZWFtYWJsZUhUVFBTZXJ2ZXJUcmFuc3BvcnQoe1xuICAgICAgICBzZXNzaW9uSWRHZW5lcmF0b3I6IHZvaWQgMFxuICAgICAgfSk7XG4gICAgICByZXMub24oXCJjbG9zZVwiLCAoKSA9PiB7XG4gICAgICAgIHRyYW5zcG9ydC5jbG9zZSgpO1xuICAgICAgICBzZXJ2ZXIuY2xvc2UoKTtcbiAgICAgIH0pO1xuICAgICAgYXdhaXQgc2VydmVyLmNvbm5lY3QodHJhbnNwb3J0KTtcbiAgICAgIGF3YWl0IHRyYW5zcG9ydC5oYW5kbGVSZXF1ZXN0KHJlcSwgcmVzLCByZXEuYm9keSk7XG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgIGNvbnNvbGUuZXJyb3IoXCJFcnJvciBoYW5kbGluZyBNQ1AgcmVxdWVzdDpcIiwgZXJyb3IpO1xuICAgICAgaWYgKCFyZXMuaGVhZGVyc1NlbnQpIHtcbiAgICAgICAgcmVzLnN0YXR1cyg1MDApLmpzb24oe1xuICAgICAgICAgIGpzb25ycGM6IFwiMi4wXCIsXG4gICAgICAgICAgZXJyb3I6IHtcbiAgICAgICAgICAgIGNvZGU6IC0zMjYwMyxcbiAgICAgICAgICAgIG1lc3NhZ2U6IFwiSW50ZXJuYWwgc2VydmVyIGVycm9yXCJcbiAgICAgICAgICB9LFxuICAgICAgICAgIGlkOiBudWxsXG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgIH1cbiAgfSk7XG4gIGFwcC5nZXQoXCIvbWNwXCIsIGFzeW5jIChfcmVxLCByZXMpID0+IHtcbiAgICByZXMuc3RhdHVzKDQwNSkuanNvbih7XG4gICAgICBqc29ucnBjOiBcIjIuMFwiLFxuICAgICAgZXJyb3I6IHtcbiAgICAgICAgY29kZTogLTMyZTMsXG4gICAgICAgIG1lc3NhZ2U6IFwiTWV0aG9kIG5vdCBhbGxvd2VkLlwiXG4gICAgICB9LFxuICAgICAgaWQ6IG51bGxcbiAgICB9KTtcbiAgfSk7XG4gIGFwcC5kZWxldGUoXCIvbWNwXCIsIGFzeW5jIChfcmVxLCByZXMpID0+IHtcbiAgICByZXMuc3RhdHVzKDQwNSkuanNvbih7XG4gICAgICBqc29ucnBjOiBcIjIuMFwiLFxuICAgICAgZXJyb3I6IHtcbiAgICAgICAgY29kZTogLTMyZTMsXG4gICAgICAgIG1lc3NhZ2U6IFwiTWV0aG9kIG5vdCBhbGxvd2VkLlwiXG4gICAgICB9LFxuICAgICAgaWQ6IG51bGxcbiAgICB9KTtcbiAgfSk7XG4gIGFwcC5nZXQoXCIvLndlbGwta25vd24vbWNwLWNvbmZpZ1wiLCAocmVxLCByZXMpID0+IHtcbiAgICByZXMuc2V0KFwiQ29udGVudC1UeXBlXCIsIFwiYXBwbGljYXRpb24vc2NoZW1hK2pzb247IGNoYXJzZXQ9dXRmLThcIik7XG4gICAgY29uc3QgYmFzZVNjaGVtYSA9IG9wdGlvbnM/LnNjaGVtYSA/IHpvZFRvSnNvblNjaGVtYShvcHRpb25zLnNjaGVtYSkgOiB7XG4gICAgICB0eXBlOiBcIm9iamVjdFwiLFxuICAgICAgcHJvcGVydGllczoge30sXG4gICAgICByZXF1aXJlZDogW11cbiAgICB9O1xuICAgIGNvbnN0IGNvbmZpZ1NjaGVtYSA9IHtcbiAgICAgICRzY2hlbWE6IFwiaHR0cHM6Ly9qc29uLXNjaGVtYS5vcmcvZHJhZnQvMjAyMC0xMi9zY2hlbWFcIixcbiAgICAgICRpZDogYCR7cmVxLnByb3RvY29sfTovLyR7cmVxLmdldChcImhvc3RcIil9Ly53ZWxsLWtub3duL21jcC1jb25maWdgLFxuICAgICAgdGl0bGU6IFwiTUNQIFNlc3Npb24gQ29uZmlndXJhdGlvblwiLFxuICAgICAgZGVzY3JpcHRpb246IFwiU2NoZW1hIGZvciB0aGUgL21jcCBlbmRwb2ludCBjb25maWd1cmF0aW9uXCIsXG4gICAgICBcIngtbWNwLXZlcnNpb25cIjogXCIxLjBcIixcbiAgICAgIFwieC1xdWVyeS1zdHlsZVwiOiBcImRvdCticmFja2V0XCIsXG4gICAgICAuLi5iYXNlU2NoZW1hXG4gICAgfTtcbiAgICByZXMuanNvbihjb25maWdTY2hlbWEpO1xuICB9KTtcbiAgcmV0dXJuIHsgYXBwIH07XG59XG5cbi8vIHNyYy9ydW50aW1lL3NodHRwLWJvb3RzdHJhcC50c1xudmFyIGltcG9ydF9jaGFsayA9IF9fdG9FU00ocmVxdWlyZV9zb3VyY2UoKSk7XG52YXIgaW1wb3J0X2NvcnMgPSBfX3RvRVNNKHJlcXVpcmVfbGliNCgpKTtcbnZhciBpbXBvcnRfZXhwcmVzczMgPSBfX3RvRVNNKHJlcXVpcmVfZXhwcmVzczIoKSk7XG52YXIgX2VudHJ5ID0gX190b0VTTShyZXF1aXJlKFwiL1VzZXJzL2IuYy5uaW1zL2dsYXNzQmVhZC1NQVNURVIvQ2xhdWRlLUNvZGUtU3R1ZmYvYWdlbnRpYy1zY3JpcHQtZmFjdG9yeS9naXRodWItcHVibGljYXRpb24vd2FsZHplbGwtZGVwbG95bWVudC9yZXBvcy9tb2RlbC1lbmhhbmNlbWVudC1zZXJ2ZXJzL3NyYy9hbmFsb2dpY2FsLXJlYXNvbmluZy9pbmRleC50c1wiKSk7XG52YXIgZW50cnkgPSBfZW50cnk7XG5hc3luYyBmdW5jdGlvbiBzdGFydE1jcFNlcnZlcigpIHtcbiAgdHJ5IHtcbiAgICBjb25zdCBwb3J0ID0gcHJvY2Vzcy5lbnYuUE9SVCB8fCBcIjgxODFcIjtcbiAgICBjb25zb2xlLmxvZyhcbiAgICAgIGAke2ltcG9ydF9jaGFsay5kZWZhdWx0LmJsdWUoXCJbc21pdGhlcnldXCIpfSBTdGFydGluZyBNQ1Agc2VydmVyIG9uIHBvcnQgJHtwb3J0fWBcbiAgICApO1xuICAgIGxldCBzZXJ2ZXI7XG4gICAgY29uc3QgYXBwID0gKDAsIGltcG9ydF9leHByZXNzMy5kZWZhdWx0KSgpO1xuICAgIGlmIChwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gXCJwcm9kdWN0aW9uXCIpIHtcbiAgICAgIGNvbnNvbGUubG9nKGAke2ltcG9ydF9jaGFsay5kZWZhdWx0LmJsdWUoXCJbc21pdGhlcnldXCIpfSBJbmplY3RpbmcgY29ycyBtaWRkbGV3YXJlYCk7XG4gICAgICBhcHAudXNlKFxuICAgICAgICAoMCwgaW1wb3J0X2NvcnMuZGVmYXVsdCkoe1xuICAgICAgICAgIGV4cG9zZWRIZWFkZXJzOiBbXCJtY3Atc2Vzc2lvbi1pZFwiXVxuICAgICAgICB9KVxuICAgICAgKTtcbiAgICB9XG4gICAgaWYgKGVudHJ5LmRlZmF1bHQgJiYgdHlwZW9mIGVudHJ5LmRlZmF1bHQgPT09IFwiZnVuY3Rpb25cIikge1xuICAgICAgY29uc29sZS5sb2coXG4gICAgICAgIGAke2ltcG9ydF9jaGFsay5kZWZhdWx0LmJsdWUoXCJbc21pdGhlcnldXCIpfSBTZXR0aW5nIHVwICR7ZW50cnkuc3RhdGVsZXNzID8gXCJzdGF0ZWxlc3NcIiA6IFwic3RhdGVmdWxcIn0gc2VydmVyYFxuICAgICAgKTtcbiAgICAgIGlmIChlbnRyeS5zdGF0ZWxlc3MpIHtcbiAgICAgICAgc2VydmVyID0gY3JlYXRlU3RhdGVsZXNzU2VydmVyKFxuICAgICAgICAgIGVudHJ5LmRlZmF1bHQsXG4gICAgICAgICAge1xuICAgICAgICAgICAgc2NoZW1hOiBlbnRyeS5jb25maWdTY2hlbWEsXG4gICAgICAgICAgICBhcHBcbiAgICAgICAgICB9XG4gICAgICAgICk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBzZXJ2ZXIgPSBjcmVhdGVTdGF0ZWZ1bFNlcnZlcihlbnRyeS5kZWZhdWx0LCB7XG4gICAgICAgICAgc2NoZW1hOiBlbnRyeS5jb25maWdTY2hlbWEsXG4gICAgICAgICAgYXBwXG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgIFwiTm8gdmFsaWQgc2VydmVyIGV4cG9ydCBmb3VuZC4gUGxlYXNlIGV4cG9ydDpcXG4tIGV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uKHsgc2Vzc2lvbklkLCBjb25maWcgfSkgeyAuLi4gfSAoc3RhdGVmdWwpXFxuLSBleHBvcnQgZGVmYXVsdCBmdW5jdGlvbih7IGNvbmZpZyB9KSB7IC4uLiB9IChzdGF0ZWxlc3MpXCJcbiAgICAgICk7XG4gICAgfVxuICAgIHNlcnZlci5hcHAubGlzdGVuKE51bWJlci5wYXJzZUludChwb3J0KSk7XG4gICAgY29uc29sZS5sb2coXG4gICAgICBgJHtpbXBvcnRfY2hhbGsuZGVmYXVsdC5ncmVlbihcIltzbWl0aGVyeV1cIil9IE1DUCBzZXJ2ZXIgc3RhcnRlZCBzdWNjZXNzZnVsbHkgb24gcG9ydCAke3BvcnR9YFxuICAgICk7XG4gIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgY29uc29sZS5lcnJvcihcbiAgICAgIGAke2ltcG9ydF9jaGFsay5kZWZhdWx0LnJlZChcIltzbWl0aGVyeV1cIil9IEZhaWxlZCB0byBzdGFydCBNQ1Agc2VydmVyOmAsXG4gICAgICBlcnJvclxuICAgICk7XG4gICAgcHJvY2Vzcy5leGl0KDEpO1xuICB9XG59XG5zdGFydE1jcFNlcnZlcigpO1xuLyohIEJ1bmRsZWQgbGljZW5zZSBpbmZvcm1hdGlvbjpcblxuYnl0ZXMvaW5kZXguanM6XG4gICgqIVxuICAgKiBieXRlc1xuICAgKiBDb3B5cmlnaHQoYykgMjAxMi0yMDE0IFRKIEhvbG93YXljaHVrXG4gICAqIENvcHlyaWdodChjKSAyMDE1IEplZCBXYXRzb25cbiAgICogTUlUIExpY2Vuc2VkXG4gICAqKVxuXG5kZXBkL2luZGV4LmpzOlxuICAoKiFcbiAgICogZGVwZFxuICAgKiBDb3B5cmlnaHQoYykgMjAxNC0yMDE4IERvdWdsYXMgQ2hyaXN0b3BoZXIgV2lsc29uXG4gICAqIE1JVCBMaWNlbnNlZFxuICAgKilcblxuc3RhdHVzZXMvaW5kZXguanM6XG4gICgqIVxuICAgKiBzdGF0dXNlc1xuICAgKiBDb3B5cmlnaHQoYykgMjAxNCBKb25hdGhhbiBPbmdcbiAgICogQ29weXJpZ2h0KGMpIDIwMTYgRG91Z2xhcyBDaHJpc3RvcGhlciBXaWxzb25cbiAgICogTUlUIExpY2Vuc2VkXG4gICAqKVxuXG50b2lkZW50aWZpZXIvaW5kZXguanM6XG4gICgqIVxuICAgKiB0b2lkZW50aWZpZXJcbiAgICogQ29weXJpZ2h0KGMpIDIwMTYgRG91Z2xhcyBDaHJpc3RvcGhlciBXaWxzb25cbiAgICogTUlUIExpY2Vuc2VkXG4gICAqKVxuXG5odHRwLWVycm9ycy9pbmRleC5qczpcbiAgKCohXG4gICAqIGh0dHAtZXJyb3JzXG4gICAqIENvcHlyaWdodChjKSAyMDE0IEpvbmF0aGFuIE9uZ1xuICAgKiBDb3B5cmlnaHQoYykgMjAxNiBEb3VnbGFzIENocmlzdG9waGVyIFdpbHNvblxuICAgKiBNSVQgTGljZW5zZWRcbiAgICopXG5cbnVucGlwZS9pbmRleC5qczpcbiAgKCohXG4gICAqIHVucGlwZVxuICAgKiBDb3B5cmlnaHQoYykgMjAxNSBEb3VnbGFzIENocmlzdG9waGVyIFdpbHNvblxuICAgKiBNSVQgTGljZW5zZWRcbiAgICopXG5cbnJhdy1ib2R5L2luZGV4LmpzOlxuICAoKiFcbiAgICogcmF3LWJvZHlcbiAgICogQ29weXJpZ2h0KGMpIDIwMTMtMjAxNCBKb25hdGhhbiBPbmdcbiAgICogQ29weXJpZ2h0KGMpIDIwMTQtMjAyMiBEb3VnbGFzIENocmlzdG9waGVyIFdpbHNvblxuICAgKiBNSVQgTGljZW5zZWRcbiAgICopXG5cbmNvbnRlbnQtdHlwZS9pbmRleC5qczpcbiAgKCohXG4gICAqIGNvbnRlbnQtdHlwZVxuICAgKiBDb3B5cmlnaHQoYykgMjAxNSBEb3VnbGFzIENocmlzdG9waGVyIFdpbHNvblxuICAgKiBNSVQgTGljZW5zZWRcbiAgICopXG5cbmVlLWZpcnN0L2luZGV4LmpzOlxuICAoKiFcbiAgICogZWUtZmlyc3RcbiAgICogQ29weXJpZ2h0KGMpIDIwMTQgSm9uYXRoYW4gT25nXG4gICAqIE1JVCBMaWNlbnNlZFxuICAgKilcblxub24tZmluaXNoZWQvaW5kZXguanM6XG4gICgqIVxuICAgKiBvbi1maW5pc2hlZFxuICAgKiBDb3B5cmlnaHQoYykgMjAxMyBKb25hdGhhbiBPbmdcbiAgICogQ29weXJpZ2h0KGMpIDIwMTQgRG91Z2xhcyBDaHJpc3RvcGhlciBXaWxzb25cbiAgICogTUlUIExpY2Vuc2VkXG4gICAqKVxuXG5ib2R5LXBhcnNlci9saWIvcmVhZC5qczpcbmJvZHktcGFyc2VyL2xpYi90eXBlcy9yYXcuanM6XG5ib2R5LXBhcnNlci9saWIvdHlwZXMvdGV4dC5qczpcbmJvZHktcGFyc2VyL2luZGV4LmpzOlxuICAoKiFcbiAgICogYm9keS1wYXJzZXJcbiAgICogQ29weXJpZ2h0KGMpIDIwMTQtMjAxNSBEb3VnbGFzIENocmlzdG9waGVyIFdpbHNvblxuICAgKiBNSVQgTGljZW5zZWRcbiAgICopXG5cbm1pbWUtZGIvaW5kZXguanM6XG5taW1lLWRiL2luZGV4LmpzOlxubWltZS1kYi9pbmRleC5qczpcbm1pbWUtZGIvaW5kZXguanM6XG4gICgqIVxuICAgKiBtaW1lLWRiXG4gICAqIENvcHlyaWdodChjKSAyMDE0IEpvbmF0aGFuIE9uZ1xuICAgKiBDb3B5cmlnaHQoYykgMjAxNS0yMDIyIERvdWdsYXMgQ2hyaXN0b3BoZXIgV2lsc29uXG4gICAqIE1JVCBMaWNlbnNlZFxuICAgKilcblxubWltZS10eXBlcy9pbmRleC5qczpcbm1pbWUtdHlwZXMvaW5kZXguanM6XG5taW1lLXR5cGVzL2luZGV4LmpzOlxubWltZS10eXBlcy9pbmRleC5qczpcbiAgKCohXG4gICAqIG1pbWUtdHlwZXNcbiAgICogQ29weXJpZ2h0KGMpIDIwMTQgSm9uYXRoYW4gT25nXG4gICAqIENvcHlyaWdodChjKSAyMDE1IERvdWdsYXMgQ2hyaXN0b3BoZXIgV2lsc29uXG4gICAqIE1JVCBMaWNlbnNlZFxuICAgKilcblxubWVkaWEtdHlwZXIvaW5kZXguanM6XG4gICgqIVxuICAgKiBtZWRpYS10eXBlclxuICAgKiBDb3B5cmlnaHQoYykgMjAxNC0yMDE3IERvdWdsYXMgQ2hyaXN0b3BoZXIgV2lsc29uXG4gICAqIE1JVCBMaWNlbnNlZFxuICAgKilcblxudHlwZS1pcy9pbmRleC5qczpcbiAgKCohXG4gICAqIHR5cGUtaXNcbiAgICogQ29weXJpZ2h0KGMpIDIwMTQgSm9uYXRoYW4gT25nXG4gICAqIENvcHlyaWdodChjKSAyMDE0LTIwMTUgRG91Z2xhcyBDaHJpc3RvcGhlciBXaWxzb25cbiAgICogTUlUIExpY2Vuc2VkXG4gICAqKVxuXG5ib2R5LXBhcnNlci9saWIvdHlwZXMvanNvbi5qczpcbmJvZHktcGFyc2VyL2xpYi90eXBlcy91cmxlbmNvZGVkLmpzOlxuICAoKiFcbiAgICogYm9keS1wYXJzZXJcbiAgICogQ29weXJpZ2h0KGMpIDIwMTQgSm9uYXRoYW4gT25nXG4gICAqIENvcHlyaWdodChjKSAyMDE0LTIwMTUgRG91Z2xhcyBDaHJpc3RvcGhlciBXaWxzb25cbiAgICogTUlUIExpY2Vuc2VkXG4gICAqKVxuXG5lbmNvZGV1cmwvaW5kZXguanM6XG4gICgqIVxuICAgKiBlbmNvZGV1cmxcbiAgICogQ29weXJpZ2h0KGMpIDIwMTYgRG91Z2xhcyBDaHJpc3RvcGhlciBXaWxzb25cbiAgICogTUlUIExpY2Vuc2VkXG4gICAqKVxuXG5lc2NhcGUtaHRtbC9pbmRleC5qczpcbiAgKCohXG4gICAqIGVzY2FwZS1odG1sXG4gICAqIENvcHlyaWdodChjKSAyMDEyLTIwMTMgVEogSG9sb3dheWNodWtcbiAgICogQ29weXJpZ2h0KGMpIDIwMTUgQW5kcmVhcyBMdWJiZVxuICAgKiBDb3B5cmlnaHQoYykgMjAxNSBUaWFuY2hlbmcgXCJUaW1vdGh5XCIgR3VcbiAgICogTUlUIExpY2Vuc2VkXG4gICAqKVxuXG5wYXJzZXVybC9pbmRleC5qczpcbiAgKCohXG4gICAqIHBhcnNldXJsXG4gICAqIENvcHlyaWdodChjKSAyMDE0IEpvbmF0aGFuIE9uZ1xuICAgKiBDb3B5cmlnaHQoYykgMjAxNC0yMDE3IERvdWdsYXMgQ2hyaXN0b3BoZXIgV2lsc29uXG4gICAqIE1JVCBMaWNlbnNlZFxuICAgKilcblxuZmluYWxoYW5kbGVyL2luZGV4LmpzOlxuICAoKiFcbiAgICogZmluYWxoYW5kbGVyXG4gICAqIENvcHlyaWdodChjKSAyMDE0LTIwMjIgRG91Z2xhcyBDaHJpc3RvcGhlciBXaWxzb25cbiAgICogTUlUIExpY2Vuc2VkXG4gICAqKVxuXG5leHByZXNzL2xpYi92aWV3LmpzOlxuZXhwcmVzcy9saWIvYXBwbGljYXRpb24uanM6XG5leHByZXNzL2xpYi9yZXF1ZXN0LmpzOlxuZXhwcmVzcy9saWIvZXhwcmVzcy5qczpcbmV4cHJlc3MvaW5kZXguanM6XG4gICgqIVxuICAgKiBleHByZXNzXG4gICAqIENvcHlyaWdodChjKSAyMDA5LTIwMTMgVEogSG9sb3dheWNodWtcbiAgICogQ29weXJpZ2h0KGMpIDIwMTMgUm9tYW4gU2h0eWxtYW5cbiAgICogQ29weXJpZ2h0KGMpIDIwMTQtMjAxNSBEb3VnbGFzIENocmlzdG9waGVyIFdpbHNvblxuICAgKiBNSVQgTGljZW5zZWRcbiAgICopXG5cbmV0YWcvaW5kZXguanM6XG4gICgqIVxuICAgKiBldGFnXG4gICAqIENvcHlyaWdodChjKSAyMDE0LTIwMTYgRG91Z2xhcyBDaHJpc3RvcGhlciBXaWxzb25cbiAgICogTUlUIExpY2Vuc2VkXG4gICAqKVxuXG5mb3J3YXJkZWQvaW5kZXguanM6XG4gICgqIVxuICAgKiBmb3J3YXJkZWRcbiAgICogQ29weXJpZ2h0KGMpIDIwMTQtMjAxNyBEb3VnbGFzIENocmlzdG9waGVyIFdpbHNvblxuICAgKiBNSVQgTGljZW5zZWRcbiAgICopXG5cbnByb3h5LWFkZHIvaW5kZXguanM6XG4gICgqIVxuICAgKiBwcm94eS1hZGRyXG4gICAqIENvcHlyaWdodChjKSAyMDE0LTIwMTYgRG91Z2xhcyBDaHJpc3RvcGhlciBXaWxzb25cbiAgICogTUlUIExpY2Vuc2VkXG4gICAqKVxuXG5leHByZXNzL2xpYi91dGlscy5qczpcbmV4cHJlc3MvbGliL3Jlc3BvbnNlLmpzOlxuICAoKiFcbiAgICogZXhwcmVzc1xuICAgKiBDb3B5cmlnaHQoYykgMjAwOS0yMDEzIFRKIEhvbG93YXljaHVrXG4gICAqIENvcHlyaWdodChjKSAyMDE0LTIwMTUgRG91Z2xhcyBDaHJpc3RvcGhlciBXaWxzb25cbiAgICogTUlUIExpY2Vuc2VkXG4gICAqKVxuXG5yb3V0ZXIvbGliL2xheWVyLmpzOlxucm91dGVyL2xpYi9yb3V0ZS5qczpcbnJvdXRlci9pbmRleC5qczpcbiAgKCohXG4gICAqIHJvdXRlclxuICAgKiBDb3B5cmlnaHQoYykgMjAxMyBSb21hbiBTaHR5bG1hblxuICAgKiBDb3B5cmlnaHQoYykgMjAxNC0yMDIyIERvdWdsYXMgQ2hyaXN0b3BoZXIgV2lsc29uXG4gICAqIE1JVCBMaWNlbnNlZFxuICAgKilcblxubmVnb3RpYXRvci9pbmRleC5qczpcbiAgKCohXG4gICAqIG5lZ290aWF0b3JcbiAgICogQ29weXJpZ2h0KGMpIDIwMTIgRmVkZXJpY28gUm9tZXJvXG4gICAqIENvcHlyaWdodChjKSAyMDEyLTIwMTQgSXNhYWMgWi4gU2NobHVldGVyXG4gICAqIENvcHlyaWdodChjKSAyMDE1IERvdWdsYXMgQ2hyaXN0b3BoZXIgV2lsc29uXG4gICAqIE1JVCBMaWNlbnNlZFxuICAgKilcblxuYWNjZXB0cy9pbmRleC5qczpcbiAgKCohXG4gICAqIGFjY2VwdHNcbiAgICogQ29weXJpZ2h0KGMpIDIwMTQgSm9uYXRoYW4gT25nXG4gICAqIENvcHlyaWdodChjKSAyMDE1IERvdWdsYXMgQ2hyaXN0b3BoZXIgV2lsc29uXG4gICAqIE1JVCBMaWNlbnNlZFxuICAgKilcblxuZnJlc2gvaW5kZXguanM6XG4gICgqIVxuICAgKiBmcmVzaFxuICAgKiBDb3B5cmlnaHQoYykgMjAxMiBUSiBIb2xvd2F5Y2h1a1xuICAgKiBDb3B5cmlnaHQoYykgMjAxNi0yMDE3IERvdWdsYXMgQ2hyaXN0b3BoZXIgV2lsc29uXG4gICAqIE1JVCBMaWNlbnNlZFxuICAgKilcblxucmFuZ2UtcGFyc2VyL2luZGV4LmpzOlxuICAoKiFcbiAgICogcmFuZ2UtcGFyc2VyXG4gICAqIENvcHlyaWdodChjKSAyMDEyLTIwMTQgVEogSG9sb3dheWNodWtcbiAgICogQ29weXJpZ2h0KGMpIDIwMTUtMjAxNiBEb3VnbGFzIENocmlzdG9waGVyIFdpbHNvblxuICAgKiBNSVQgTGljZW5zZWRcbiAgICopXG5cbnNhZmUtYnVmZmVyL2luZGV4LmpzOlxuICAoKiEgc2FmZS1idWZmZXIuIE1JVCBMaWNlbnNlLiBGZXJvc3MgQWJvdWtoYWRpamVoIDxodHRwczovL2Zlcm9zcy5vcmcvb3BlbnNvdXJjZT4gKilcblxuY29udGVudC1kaXNwb3NpdGlvbi9pbmRleC5qczpcbiAgKCohXG4gICAqIGNvbnRlbnQtZGlzcG9zaXRpb25cbiAgICogQ29weXJpZ2h0KGMpIDIwMTQtMjAxNyBEb3VnbGFzIENocmlzdG9waGVyIFdpbHNvblxuICAgKiBNSVQgTGljZW5zZWRcbiAgICopXG5cbmNvb2tpZS9pbmRleC5qczpcbiAgKCohXG4gICAqIGNvb2tpZVxuICAgKiBDb3B5cmlnaHQoYykgMjAxMi0yMDE0IFJvbWFuIFNodHlsbWFuXG4gICAqIENvcHlyaWdodChjKSAyMDE1IERvdWdsYXMgQ2hyaXN0b3BoZXIgV2lsc29uXG4gICAqIE1JVCBMaWNlbnNlZFxuICAgKilcblxuc2VuZC9pbmRleC5qczpcbiAgKCohXG4gICAqIHNlbmRcbiAgICogQ29weXJpZ2h0KGMpIDIwMTIgVEogSG9sb3dheWNodWtcbiAgICogQ29weXJpZ2h0KGMpIDIwMTQtMjAyMiBEb3VnbGFzIENocmlzdG9waGVyIFdpbHNvblxuICAgKiBNSVQgTGljZW5zZWRcbiAgICopXG5cbnZhcnkvaW5kZXguanM6XG4gICgqIVxuICAgKiB2YXJ5XG4gICAqIENvcHlyaWdodChjKSAyMDE0LTIwMTcgRG91Z2xhcyBDaHJpc3RvcGhlciBXaWxzb25cbiAgICogTUlUIExpY2Vuc2VkXG4gICAqKVxuXG5zZXJ2ZS1zdGF0aWMvaW5kZXguanM6XG4gICgqIVxuICAgKiBzZXJ2ZS1zdGF0aWNcbiAgICogQ29weXJpZ2h0KGMpIDIwMTAgU2VuY2hhIEluYy5cbiAgICogQ29weXJpZ2h0KGMpIDIwMTEgVEogSG9sb3dheWNodWtcbiAgICogQ29weXJpZ2h0KGMpIDIwMTQtMjAxNiBEb3VnbGFzIENocmlzdG9waGVyIFdpbHNvblxuICAgKiBNSVQgTGljZW5zZWRcbiAgICopXG5cbmxvZGFzaC9sb2Rhc2guanM6XG4gICgqKlxuICAgKiBAbGljZW5zZVxuICAgKiBMb2Rhc2ggPGh0dHBzOi8vbG9kYXNoLmNvbS8+XG4gICAqIENvcHlyaWdodCBPcGVuSlMgRm91bmRhdGlvbiBhbmQgb3RoZXIgY29udHJpYnV0b3JzIDxodHRwczovL29wZW5qc2Yub3JnLz5cbiAgICogUmVsZWFzZWQgdW5kZXIgTUlUIGxpY2Vuc2UgPGh0dHBzOi8vbG9kYXNoLmNvbS9saWNlbnNlPlxuICAgKiBCYXNlZCBvbiBVbmRlcnNjb3JlLmpzIDEuOC4zIDxodHRwOi8vdW5kZXJzY29yZWpzLm9yZy9MSUNFTlNFPlxuICAgKiBDb3B5cmlnaHQgSmVyZW15IEFzaGtlbmFzLCBEb2N1bWVudENsb3VkIGFuZCBJbnZlc3RpZ2F0aXZlIFJlcG9ydGVycyAmIEVkaXRvcnNcbiAgICopXG5cbm9iamVjdC1hc3NpZ24vaW5kZXguanM6XG4gICgqXG4gIG9iamVjdC1hc3NpZ25cbiAgKGMpIFNpbmRyZSBTb3JodXNcbiAgQGxpY2Vuc2UgTUlUXG4gICopXG4qL1xuIl0sCiAgIm1hcHBpbmdzIjogIjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsSUFBVyxNQTZEQSxZQVNFLGVBc0JBO0FBNUZiO0FBQUE7QUFDQSxLQUFD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RyxTQUFTLE1BQU07QUFBQSxNQUM3RDtBQUFBLE1BQ0EsSUFBSSxhQUFhO0FBQ2IsZUFBTyxDQUFDLENBQUMsS0FBSyxLQUFLLE9BQU8sS0FBSyxDQUFDLE9BQU8sR0FBRyxTQUFTLFVBQVU7QUFBQSxNQUNqRTtBQUFBLE1BQ0EsSUFBSSxVQUFVO0FBQ1YsZUFBTyxDQUFDLENBQUMsS0FBSyxLQUFLLE9BQU8sS0FBSyxDQUFDLE9BQU8sR0FBRyxTQUFTLE9BQU87QUFBQSxNQUM5RDtBQUFBLE1BQ0EsSUFBSSxRQUFRO0FBQ1IsZUFBTyxDQUFDLENBQUMsS0FBSyxLQUFLLE9BQU8sS0FBSyxDQUFDLE9BQU8sR0FBRyxTQUFTLEtBQUs7QUFBQSxNQUM1RDtBQUFBLE1BQ0EsSUFBSSxVQUFVO0FBQ1YsZUFBTyxDQUFDLENBQUMsS0FBSyxLQUFLLE9BQU8sS0FBSyxDQUFDLE9BQU8sR0FBRyxTQUFTLE9BQU87QUFBQSxNQUM5RDtBQUFBLE1BQ0EsSUFBSSxTQUFTO0FBQ1QsZUFBTyxDQUFDLENBQUMsS0FBSyxLQUFLLE9BQU8sS0FBSyxDQUFDLE9BQU8sR0FBRyxTQUFTLE1BQU07QUFBQSxNQUM3RDtBQUFBLE1BQ0EsSUFBSSxXQUFXO0FBQ1gsZUFBTyxDQUFDLENBQUMsS0FBSyxLQUFLLE9BQU8sS0FBSyxDQUFDLE9BQU8sR0FBRyxTQUFTLFFBQVE7QUFBQSxNQUMvRDtBQUFBLE1BQ0EsSUFBSSxTQUFTO0FBQ1QsZUFBTyxDQUFDLENBQUMsS0FBSyxLQUFLLE9BQU8sS0FBSyxDQUFDLE9BQU8sR0FBRyxTQUFTLE1BQU07QUFBQSxNQUM3RDtBQUFBLE1BQ0EsSUFBSSxVQUFVO0FBQ1YsZUFBTyxDQUFDLENBQUMsS0FBSyxLQUFLLE9BQU8sS0FBSyxDQUFDLE9BQU8sR0FBRyxTQUFTLE9BQU87QUFBQSxNQUM5RDtBQUFBLE1BQ0EsSUFBSSxTQUFTO0FBQ1QsZUFBTyxDQUFDLENBQUMsS0FBSyxLQUFLLE9BQU8sS0FBSyxDQUFDLE9BQU8sR0FBRyxTQUFTLE1BQU07QUFBQSxNQUM3RDtBQUFBLE1BQ0EsSUFB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QUFBQSxNQUNYO0FBQUE7QUFBQSxNQUVBLGFBQWE7QUFBQSxNQUNiLFdBQVc7QUFBQSxNQUNYLFdBQVc7QUFBQSxNQUNYLGVBQWU7QUFBQSxNQUNmLGVBQWU7QUFBQSxNQUNmLFdBQVc7QUFBQSxNQUNYLFNBQVM7QUFBQSxNQUNULFVBQVU7QUFBQSxNQUNWLFVBQVU7QUFBQSxNQUNWLFlBQVk7QUFBQSxNQUNaLGFBQWE7QUFBQSxNQUNiLE1BQU07QUFBQSxNQUNOLFVBQVU7QUFBQSxNQUNWLFVBQVU7QUFBQSxNQUNWLFVBQVU7QUFBQSxNQUNWLFVBQVU7QUFBQSxNQUNWLFVBQVU7QUFBQSxNQUNWLFVBQVU7QUFBQSxNQUNWLFVBQVU7QUFBQSxNQUNWLFVBQVU7QUFBQSxNQUNWLFVBQVU7QUFBQSxNQUNWLFdBQVc7QUFBQSxNQUNYLGVBQWU7QUFBQSxNQUNmLGVBQWU7QUFBQSxNQUNmLGVBQWU7QUFBQSxNQUNmLGVBQWU7QUFBQSxNQUNmLHNCQUFzQjtBQUFBLE1BQ3RCLG9CQUFvQjtBQUFBLE1BQ3BCLG1CQUFtQjtBQUFBLE1BQ25CLG9CQUFvQjtBQUFBLE1BQ3BCLGVBQWU7QUFBQSxNQUNmLGVBQWU7QUFBQSxNQUNmLE1BQU07QUFBQSxNQUNOLE1BQU07QUFBQSxNQUNOLE1BQU07QUFBQSxNQUNOLE1BQU07QUFBQSxNQUNOLE1BQU07QUFBQSxNQUNOLE1BQU07QUFBQSxNQUNOLE1BQU07QUFBQSxNQUNOLE1BQU07QUFBQSxNQUNOLE1BQU07QUFBQSxNQUNOLE9BQU87QUFBQSxNQUNQLFdBQVc7QUFBQSxNQUNYLFdBQVc7QUFBQSxNQUNYLFlBQVk7QUFBQSxNQUNaLFlBQVk7QUFBQSxNQUNaLFlBQVk7QUFBQSxNQUNaLFlBQVk7QUFBQSxNQUNaLFlBQVk7QUFBQSxNQUNaLFlBQVk7QUFBQSxNQUNaLFlBQVk7QUFBQSxNQUNaLFlBQVk7QUFBQSxNQUNaLFlBQVk7QUFBQSxNQUNaLFlBQVk7QUFBQSxNQUNaLFlBQVk7QUFBQSxNQUNaLFlBQVk7QUFBQSxNQUNaLFlBQVk7QUFBQSxNQUNaLFlBQVk7QUFB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UztBQUFBLE1BQ1QsU0FBUztBQUFBLE1BQ1QsU0FBUztBQUFBLE1BQ1QsU0FBUztBQUFBLE1BQ1QsU0FBUztBQUFBLE1BQ1QsY0FBYztBQUFBLFFBQ1osUUFBUTtBQUFBLFFBQ1IsU0FBUztBQUFBLE1BQ1g7QUFBQSxNQUNBLFVBQVU7QUFBQSxNQUNWLFNBQVM7QUFBQSxNQUNULGVBQWU7QUFBQSxRQUNiLFFBQVE7QUFBQSxRQUNSLFNBQVM7QUFBQSxNQUNYO0FBQUEsTUFDQSxXQUFXO0FBQUEsTUFDWCxVQUFVO0FBQUEsTUFDVixlQUFlO0FBQUEsUUFDYixRQUFRO0FBQUEsUUFDUixTQUFTO0FBQUEsTUFDWDtBQUFBLE1BQ0EsV0FBVztBQUFBLE1BQ1gsVUFBVTtBQUFBLE1BQ1YsZUFBZTtBQUFBLFFBQ2IsUUFBUTtBQUFBLFFBQ1IsU0FBUztBQUFBLE1BQ1g7QUFBQSxNQUNBLFdBQVc7QUFBQSxNQUNYLFVBQVU7QUFBQSxNQUNWLGVBQWU7QUFBQSxRQUNiLFFBQVE7QUFBQSxRQUNSLFNBQVM7QUFBQSxNQUNYO0FBQUEsTUFDQSxXQUFXO0FBQUEsTUFDWCxVQUFVO0FBQUEsTUFDVixlQUFlO0FBQUEsUUFDYixRQUFRO0FBQUEsUUFDUixTQUFTO0FBQUEsTUFDWDtBQUFBLE1BQ0EsV0FBVztBQUFBLE1BQ1gsVUFBVTtBQUFBLE1BQ1YsZUFBZTtBQUFBLFFBQ2IsUUFBUTtBQUFBLFFBQ1IsU0FBUztBQUFBLE1BQ1g7QUFBQSxNQUNBLFdBQVc7QUFBQSxNQUNYLFVBQVU7QUFBQSxNQUNWLGVBQWU7QUFBQSxRQUNiLFFBQVE7QUFBQSxRQUNSLFNBQVM7QUFBQSxNQUNYO0FBQUEsTUFDQSxXQUFXO0FBQUEsTUFDWCxVQUFVO0FBQUEsTUFDVixlQUFlO0FBQUEsUUFDYixRQUFRO0FBQUEsUUFDUixTQUFTO0FBQUEsTUFDWDtBQUFBLE1BQ0EsV0FBVztBQUFBLE1BQ1gsVUFBVTtBQUFBLE1BQ1YsZUFBZTtBQUFBLFFBQ2IsUUFBUTtBQUFBLFFBQ1IsU0FBUztBQUFBLE1BQ1g7QUFBQSxNQUNBLFdBQVc7QUFBQSxNQUNYLFVBQVU7QUFBQSxNQUNWLFlBQVk7QUFBQSxRQUNWLFFBQVE7QUFBQSxRQUNSLFNBQVM7QUFBQSxNQUNYO0FBQUEsTUFDQSxXQUFXO0FBQUEsTUFDWCxZQUFZO0FBQUEsUUFDVixRQUFRO0FBQUEsUUFDUixTQUFTO0FBQUEsTUFDWDtBQUFBLE1BQ0EsV0FBVztBQUFBLE1BQ1gsWUFBWTtBQUFBLFFBQ1YsUUFBUTtBQUFBLFFBQ1IsU0FBUztBQUFBLE1BQ1g7QUFBQSxNQUNBLFdBQVc7QUFBQSxNQUNYLFlBQVk7QUFBQSxRQUNWLFFBQVE7QUFBQSxRQUNSLFNBQVM7QUFBQSxNQUNYO0FBQUEsTUFDQSxXQUFXO0FBQUEsTUFDWCxZQUFZO0FBQUEsUUFDVixRQUFRO0FBQUEsUUFDUixTQUFTO0FBQUEsTUFDWDtBQUFBLE1BQ0EsV0FBVztBQUFBLE1BQ1gsWUFBWTtBQUFBLFFBQ1YsUUFBUTtBQUFBLFFBQ1IsU0FBUztBQUFBLE1BQ1g7QUFBQSxNQUNBLFdBQVc7QUFBQSxNQUNYLFlBQVk7QUFBQSxRQUNWLFFBQVE7QUFBQSxRQUNSLFNBQVM7QUFBQSxNQUNYO0FBQUEsTUFDQSxXQUFXO0FBQUEsTUFDWCxZQUFZO0FBQUEsUUFDVixRQUFRO0FBQUEsUUFDUixTQUFTO0FBQUEsTUFDWDtBQUFBLE1BQ0EsV0FBVztBQUFBLE1BQ1gsWUFBWTtBQUFBLFFBQ1YsUUFBUTtBQUFBLFFBQ1IsU0FBUztBQUFBLE1BQ1g7QUFBQSxNQUNBLFdBQVc7QUFBQSxNQUNYLGFBQWE7QUFBQSxRQUNYLFFBQVE7QUFBQSxRQUNSLFNBQVM7QUFBQSxNQUNYO0FBQUEsTUFDQSxXQUFXO0FBQUEsTUFDWCxhQUFhO0FBQUEsUUFDWCxRQUFRO0FBQUEsUUFDUixTQUFTO0FBQUEsTUFDWDtBQUFBLE1BQ0EsV0FBVztBQUFBLE1BQ1gsYUFBYTtBQUFBLFFBQ1gsUUFBUTtBQUFBLFFBQ1IsU0FBUztBQUFBLE1BQ1g7QUFBQSxNQUNBLFdBQVc7QUFBQSxNQUNYLGFBQWE7QUFBQSxRQUNYLFFBQVE7QUFBQSxRQUNSLFNBQVM7QUFBQSxNQUNYO0FBQUEsTUFDQSxXQUFXO0FBQUEsTUFDWCxhQUFhO0FBQUEsUUFDWCxRQUFRO0FBQUEsUUFDUixTQUFTO0FBQUEsTUFDWDtBQUFBLE1BQ0EsV0FBVztBQUFBLE1BQ1gsYUFBYTtBQUFBLFFBQ1gsUUFBUTtBQUFBLFFBQ1IsU0FBUztBQUFBLE1BQ1g7QUFBQSxNQUNBLFdBQVc7QUFBQSxNQUNYLFNBQVM7QUFBQSxRQUNQLFFBQVE7QUFBQSxRQUNSLFNBQVM7QUFBQSxNQUNYO0FBQUEsTUFDQSxVQUFVO0FBQUEsTUFDVixZQUFZO0FBQUEsTUFDWixTQUFTO0FBQUEsUUFDUCxRQUFRO0FBQUEsUUFDUixTQUFTO0FBQUEsTUFDWDtBQUFBLE1BQ0EsVUFBVTtBQUFBLE1BQ1YsWUFBWTtBQUFBLE1BQ1osU0FBUztBQUFBLFFBQ1AsUUFBUTtBQUFBLFFBQ1IsU0FBUztBQUFBLE1BQ1g7QUFBQSxNQUNBLFVBQVU7QUFBQSxNQUNWLFlBQVk7QUFBQSxNQUNaLFNBQVM7QUFBQSxRQUNQLFFBQVE7QUFBQSxRQUNSLFNBQVM7QUFBQSxNQUNYO0FBQUEsTUFDQSxVQUFVO0FBQUEsTUFDVixZQUFZO0FBQUEsTUFDWixTQUFTO0FBQUEsUUFDUCxRQUFRO0FBQUEsUUFDUixTQUFTO0FBQUEsTUFDWDtBQUFBLE1BQ0EsVUFBVTtBQUFBLE1BQ1YsWUFBWTtBQUFBLE1BQ1osU0FBUztBQUFBLFFBQ1AsUUFBUTtBQUFBLFFBQ1IsU0FBUztBQUFBLE1BQ1g7QUFBQSxNQUNBLFVBQVU7QUFBQSxNQUNWLFlBQVk7QUFBQSxNQUNaLFNBQVM7QUFBQSxRQUNQLFFBQVE7QUFBQSxRQUNSLFNBQVM7QUFBQSxNQUNYO0FBQUEsTUFDQSxVQUFVO0FBQUEsTUFDVixZQUFZO0FBQUEsTUFDWixTQUFTO0FBQUEsUUFDUCxRQUFRO0FBQUEsUUFDUixTQUFTO0FBQUEsTUFDWDtBQUFBLE1BQ0EsVUFBVTtBQUFBLE1BQ1YsWUFBWTtBQUFBLE1BQ1osU0FBUztBQUFBLFFBQ1AsUUFBUTtBQUFBLFFBQ1IsU0FBUztBQUFBLE1BQ1g7QUFBQSxNQUNBLFVBQVU7QUFBQSxNQUNWLFlBQVk7QUFBQSxNQUNaLFNBQVM7QUFBQSxRQUNQLFFBQVE7QUFBQSxRQUNSLFNBQVM7QUFBQSxNQUNYO0FBQUEsTUFDQSxVQUFVO0FBQUEsTUFDVixZQUFZO0FBQUEsTUFDWixTQUFTO0FBQUEsUUFDUCxRQUFRO0FBQUEsUUFDUixTQUFTO0FBQUEsTUFDWDtBQUFBLE1BQ0EsVUFBVTtBQUFBLE1BQ1YsWUFBWTtBQUFBLE1BQ1osU0FBUztBQUFBLFFBQ1AsUUFBUTtBQUFBLFFBQ1IsU0FBUztBQUFBLE1BQ1g7QUFBQSxNQUNBLFVBQVU7QUFBQSxNQUNWLFlBQVk7QUFBQSxNQUNaLFNBQVM7QUFBQSxRQUNQLFFBQVE7QUFBQSxRQUNSLFNBQVM7QUFBQSxNQUNYO0FBQUEsTUFDQSxVQUFVO0FBQUEsTUFDVixZQUFZO0FBQUEsTUFDWixTQUFTO0FBQUEsUUFDUCxRQUFRO0FBQUEsUUFDUixTQUFTO0FBQUEsTUFDWDtBQUFBLE1BQ0EsVUFBVTtBQUFBLE1BQ1YsWUFBWTtBQUFBLE1BQ1osU0FBUztBQUFBLFFBQ1AsUUFBUTtBQUFBLFFBQ1IsU0FBUztBQUFBLE1BQ1g7QUFBQSxNQUNBLFVBQVU7QUFBQSxNQUNWLFlBQVk7QUFBQSxNQUNaLFNBQVM7QUFBQSxRQUNQLFFBQVE7QUFBQSxRQUNSLFNBQVM7QUFBQSxNQUNYO0FBQUEsTUFDQSxVQUFVO0FBQUEsTUFDVixZQUFZO0FBQUEsTUFDWixTQUFTO0FBQUEsUUFDUCxRQUFRO0FBQUEsUUFDUixTQUFTO0FBQUEsTUFDWDtBQUFBLE1BQ0EsVUFBVTtBQUFBLE1BQ1YsWUFBWTtBQUFBLE1BQ1osU0FBUztBQUFBLFFBQ1AsUUFBUTtBQUFBLFFBQ1IsU0FBUztBQUFBLE1BQ1g7QUFBQSxNQUNBLFVBQVU7QUFBQSxNQUNWLFlBQVk7QUFBQSxNQUNaLFVBQVU7QUFBQSxRQUNSLFFBQVE7QUFBQSxRQUNSLFNBQVM7QUFBQSxNQUNYO0FBQUEsTUFDQSxXQUFXO0FBQUEsTUFDWCxhQUFhO0FBQUEsTUFDYixVQUFVO0FBQUEsUUFDUixRQUFRO0FBQUEsUUFDUixTQUFTO0FBQUEsTUFDWDtBQUFBLE1BQ0EsV0FBVztBQUFBLE1BQ1gsYUFBYTtBQUFBLE1BQ2IsVUFBVTtBQUFBLFFBQ1IsUUFBUTtBQUFBLFFBQ1IsU0FBUztBQUFBLE1BQ1g7QUFBQSxNQUNBLFdBQVc7QUFBQSxNQUNYLGFBQWE7QUFBQSxNQUNiLFVBQVU7QUFBQSxRQUNSLFFBQVE7QUFBQSxRQUNSLFNBQVM7QUFBQSxNQUNYO0FBQUEsTUFDQSxXQUFXO0FBQUEsTUFDWCxhQUFhO0FBQUEsTUFDYixVQUFVO0FBQUEsUUFDUixRQUFRO0FBQUEsUUFDUixTQUFTO0FBQUEsTUFDWDtBQUFBLE1BQ0EsV0FBVztBQUFBLE1BQ1gsYUFBYTtBQUFBLE1BQ2IsVUFBVTtBQUFBLFFBQ1IsUUFBUTtBQUFBLFFBQ1IsU0FBUztBQUFBLE1BQ1g7QUFBQSxNQUNBLFdBQVc7QUFBQSxNQUNYLGFBQWE7QUFBQSxNQUNiLFVBQVU7QUFBQSxRQUNSLFFBQVE7QUFBQSxRQUNSLFNBQVM7QUFBQSxNQUNYO0FBQUEsTUFDQSxXQUFXO0FBQUEsTUFDWCxhQUFhO0FBQUEsTUFDYixVQUFVO0FBQUEsUUFDUixRQUFRO0FBQUEsUUFDUixTQUFTO0FBQUEsTUFDWDtBQUFBLE1BQ0EsV0FBVztBQUFBLE1BQ1gsYUFBYTtBQUFBLE1BQ2IsZUFBZTtBQUFBLFFBQ2IsUUFBUTtBQUFBLFFBQ1IsU0FBUztBQUFBLE1BQ1g7QUFBQSxNQUNBLGVBQWU7QUFBQSxRQUNiLFFBQVE7QUFBQSxRQUNSLFNBQVM7QUFBQSxNQUNYO0FBQUEsTUFDQSxZQUFZO0FBQUEsUUFDVixRQUFRO0FBQUEsUUFDUixTQUFTO0FBQUEsTUFDWDtBQUFBLE1BQ0EsY0FBYztBQUFBLFFBQ1osUUFBUTtBQUFBLFFBQ1IsU0FBUztBQUFBLE1BQ1g7QUFBQSxNQUNBLFlBQVk7QUFBQSxRQUNWLFFBQVE7QUFBQSxRQUNSLFNBQVM7QUFBQSxNQUNYO0FBQUEsTUFDQSxjQUFjO0FBQUEsUUFDWixRQUFRO0FBQUEsUUFDUixTQUFTO0FBQUEsTUFDWDtBQUFBLE1BQ0EsV0FBVztBQUFBLFFBQ1QsUUFBUTtBQUFBLFFBQ1IsU0FBUztBQUFBLE1BQ1g7QUFBQSxNQUNBLGNBQWM7QUFBQSxRQUNaLFFBQVE7QUFBQSxRQUNSLFNBQVM7QUFBQSxNQUNYO0FBQUEsTUFDQSxjQUFjO0FBQUEsUUFDWixRQUFRO0FBQUEsUUFDUixTQUFTO0FBQUEsTUFDWDtBQUFBLE1BQ0EsU0FBUztBQUFBLFFBQ1AsUUFBUTtBQUFBLFFBQ1IsU0FBUztBQUFBLE1BQ1g7QUFBQSxNQUNBLFNBQVM7QUFBQSxRQUNQLFFBQVE7QUFBQSxRQUNSLFNBQVM7QUFBQSxNQUNYO0FBQUEsTUFDQSxVQUFVO0FBQUEsUUFDUixRQUFRO0FBQUEsUUFDUixTQUFTO0FBQUEsTUFDWDtBQUFBLE1BQ0EsU0FBUztBQUFBLFFBQ1AsUUFBUTtBQUFBLFFBQ1IsU0FBUztBQUFBLE1BQ1g7QUFBQSxNQUNBLFlBQVk7QUFBQSxRQUNWLFFBQVE7QUFBQSxRQUNSLFNBQVM7QUFBQSxNQUNYO0FBQUEsTUFDQSxVQUFVO0FBQUEsUUFDUixRQUFRO0FBQUEsUUFDUixTQUFTO0FBQUEsTUFDWDtBQUFBLE1BQ0EsUUFBUTtBQUFBLFFBQ04sUUFBUTtBQUFBLFFBQ1IsU0FBUztBQUFBLE1BQ1g7QUFBQSxNQUNBLG1CQUFtQjtBQUFBLFFBQ2pCLFFBQVE7QUFBQSxRQUNSLFNBQVM7QUFBQSxNQUNYO0FBQUEsTUFDQSxjQUFjO0FBQUEsUUFDWixRQUFRO0FBQUEsUUFDUixTQUFTO0FBQUEsTUFDWDtBQUFBLE1BQ0EsU0FBUztBQUFBLFFBQ1AsUUFBUTtBQUFBLFFBQ1IsU0FBUztBQUFBLE1BQ1g7QUFBQSxNQUNBLFVBQVU7QUFBQSxRQUNSLFFBQVE7QUFBQSxRQUNSLFNBQVM7QUFBQSxNQUNYO0FBQUEsTUFDQSxZQUFZO0FBQUEsUUFDVixRQUFRO0FBQUEsUUFDUixTQUFTO0FBQUEsTUFDWDtBQUFBLE1BQ0EsWUFBWTtBQUFBLFFBQ1YsUUFBUTtBQUFBLFFBQ1IsU0FBUztBQUFBLE1BQ1g7QUFBQSxNQUNBLFlBQVk7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WDtBQUFBLE1BQ3JZLENBQUMsUUFBUSxndkJBQWd2QjtBQUFBLE1BQ3p2QixDQUFDLFFBQVEsNFhBQTRYO0FBQUEsTUFDclksQ0FBQyxRQUFRLGd2QkFBZ3ZCO0FBQUEsTUFDenZCLENBQUMsUUFBUSw0WEFBNFg7QUFBQSxNQUNyWSxDQUFDLFFBQVEsZ3ZCQUFndkI7QUFBQSxNQUN6dkIsQ0FBQyxRQUFRLDRYQUE0WDtBQUFBLE1BQ3JZLENBQUMsUUFBUSxndkJBQWd2QjtBQUFBLE1BQ3p2QixDQUFDLFFBQVEsNFhBQTRYO0FBQUEsTUFDclksQ0FBQyxRQUFRLGd2QkFBZ3ZCO0FBQUEsTUFDenZCLENBQUMsUUFBUSw0WEFBNFg7QUFBQSxNQUNyWSxDQUFDLFFBQVEsZ3ZCQUFndkI7QUFBQSxNQUN6dkIsQ0FBQyxRQUFRLDRYQUE0WDtBQUFBLE1BQ3JZLENBQUMsUUFBUSxndkJBQWd2QjtBQUFBLE1BQ3p2QixDQUFDLFFBQVEsNFhBQTRYO0FBQUEsTUFDclksQ0FBQyxRQUFRLGd2QkFBZ3ZCO0FBQUEsTUFDenZCLENBQUMsUUFBUSw0WEFBNFg7QUFBQSxNQUNyWSxDQUFDLFFBQVEsZ3ZCQUFndkI7QUFBQSxNQUN6dkIsQ0FBQyxRQUFRLDRYQUE0WDtBQUFBLE1BQ3JZLENBQUMsUUFBUSxndkJBQWd2QjtBQUFBLE1BQ3p2QixDQUFDLFFBQVEsNFhBQTRYO0FBQUEsTUFDclksQ0FBQyxRQUFRLGd2QkFBZ3ZCO0FBQUEsTUFDenZCLENBQUMsUUFBUSw0WEFBNFg7QUFBQSxNQUNyWSxDQUFDLFFBQVEsZ3ZCQUFndkI7QUFBQSxNQUN6dkIsQ0FBQyxRQUFRLDRYQUE0WDtBQUFBLE1BQ3JZLENBQUMsUUFBUSxndkJBQWd2QjtBQUFBLE1BQ3p2QixDQUFDLFFBQVEsNFhBQTRYO0FBQUEsTUFDclksQ0FBQyxRQUFRLGd2QkFBZ3ZCO0FBQUEsTUFDenZCLENBQUMsUUFBUSw0WEFBNFg7QUFBQSxNQUNyWSxDQUFDLFFBQVEsZ3ZCQUFndkI7QUFBQSxNQUN6dkIsQ0FBQyxRQUFRLDRYQUE0WDtBQUFBLE1BQ3JZLENB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O0FBQUEsTUFDL2pCLENBQUMsUUFBUSxzakJBQXNqQjtBQUFBLE1BQy9qQixDQUFDLFFBQVEsc2pCQUFzakI7QUFBQSxNQUMvakIsQ0FBQyxRQUFRLHNqQkFBc2pCO0FBQUEsTUFDL2pCLENBQUMsUUFBUSxzakJBQXNqQjtBQUFBLE1BQy9qQixDQUFDLFFBQVEsb1RBQW9UO0FBQUEsTUFDN1QsQ0FBQyxRQUFRLHNqQkFBc2pCO0FBQUEsTUFDL2pCLENBQUMsUUFBUSxzakJBQXNqQjtBQUFBLE1BQy9qQixDQUFDLFFBQVEsc2pCQUFzakI7QUFBQSxNQUMvakIsQ0FBQyxRQUFRLHNqQkFBc2pCO0FBQUEsTUFDL2pCLENBQUMsUUFBUSxzakJBQXNqQjtBQUFBLE1BQy9qQixDQUFDLFFBQVEsc2pCQUFzakI7QUFBQSxNQUMvakIsQ0FBQyxRQUFRLHNqQkFBc2pCO0FBQUEsTUFDL2pCLENBQUMsUUFBUSxzakJBQXNqQjtBQUFBLE1BQy9qQixDQUFDLFFBQVEsc2pCQUFzakI7QUFBQSxNQUMvakIsQ0FBQyxRQUFRLHNqQkFBc2pCO0FBQUEsTUFDL2pCLENBQUMsUUFBUSxzakJBQXNqQjtBQUFBLE1BQy9qQixDQUFDLFFBQVEsc2pCQUFzakI7QUFBQSxNQUMvakIsQ0FBQyxRQUFRLHNqQkFBc2pCO0FBQUEsTUFDL2pCLENBQUMsUUFBUSxzakJBQXNqQjtBQUFBLE1BQy9qQixDQUFDLFFBQVEsc2pCQUFzakI7QUFBQSxNQUMvakIsQ0FBQyxRQUFRLHNqQkFBc2pCO0FBQUEsTUFDL2pCLENBQUMsUUFBUSxzakJBQXNqQjtBQUFBLE1BQy9qQixDQUFDLFFBQVEsc2pCQUFzakI7QUFBQSxNQUMvakIsQ0FBQyxRQUFRLHNqQkFBc2pCO0FBQUEsTUFDL2pCLENBQUMsUUFBUSxzakJBQXNqQjtBQUFBLE1BQy9qQixDQUFDLFFBQVEsc2pCQUFzakI7QUFBQSxNQUMvakIsQ0FBQyxRQUFRLHNqQkFBc2pCO0FBQUEsTUFDL2pCLENBQUMsUUFBUSxzakJBQXNqQjtBQUFBLE1BQy9qQixDQUFDLFFBQVEsc2pCQUFzakI7QUFB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S0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sT0FBTyxPQUFPLE9BQU8sT0FBTyxPQUFPLE9BQU8sT0FBTyxPQUFPLE9BQU8sT0FBTyxPQUFPLE9BQU8sT0FBTyxPQUFPLE9BQU8sT0FBTyxPQUFPLE9BQU8sT0FBTyxPQUFPLE9BQU8sT0FBTyxPQUFPLE9BQU8sT0FBTyxPQUFPLE9BQU8sT0FBTyxPQUFPLE9BQU8sT0FBTyxPQUFPLE9BQU8sT0FBTyxPQUFPLE9BQU8sT0FBTyxPQUFPLE9BQU8sT0FBTyxPQUFPLE9BQU8sT0FBTyxPQUFPLE9BQU8sT0FBTyxPQUFPLE9BQU8sT0FBTyxPQUFPLE9BQU8sT0FBTyxPQUFPLE9BQU8sT0FBTyxPQUFPLE9BQU8sT0FBTyxPQUFPLE9BQU8sT0FBTyxPQUFPLE9BQU8sT0FBTyxPQUFPLE9BQU8sT0FBTyxPQUFPLE9BQU8sT0FBTyxPQUFPLE9BQU8sT0FBTyxPQUFPLE9BQU8sT0FBTyxPQUFPLE9BQU8sT0FBTyxPQUFPLE9BQU8sT0FBTyxPQUFPLE9BQU8sT0FBTyxPQUFPLE9BQU8sT0FBTyxPQUFPLE9BQU8sT0FBTyxPQUFPLE9BQU8sT0FBTyxPQUFPLE9BQU8sT0FBTyxPQUFPLE9BQU8sT0FBTyxPQUFPLE9BQU8sT0FBTyxPQUFPLE9BQU8sS0FBSyxHQUFHLFNBQVMsQ0FBQyxHQUFHLElBQUksSUFBSSxJQUFJLElBQUksSUFBSSxJQUFJLElBQUksSUFBSSxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sT0FBTyxPQUFPLE9BQU8sT0FBTyxPQUFPLE9BQU8sT0FBTyxPQUFPLE9BQU8sT0FBTyxPQUFPLE9BQU8sT0FBTyxPQUFPLE9BQU8sT0FBTyxPQUFPLE9BQU8sT0FBTyxPQUFPLE9BQU8sT0FBTyxPQUFPLE9BQU8sT0FBTyxPQUFPLE9BQU8sT0FBTyxPQUFPLE9BQU8sT0FBTyxPQUFPLE9BQU8sT0FBTyxPQUFPLE9BQU8sT0FBTyxPQUFPLE9BQU8sT0FBTyxPQUFPLE9BQU8sT0FBTyxPQUFPLE9BQU8sT0FBTyxPQUFPLE9BQU8sT0FBTyxPQUFPLE9BQU8sT0FBTyxPQUFPLE9BQU8sT0FBTyxPQUFPLE9BQU8sT0FBTyxPQUFPLE9BQU8sT0FBTyxPQUFPLE9BQU8sT0FBTyxPQUFPLE9BQU8sT0FBTyxPQUFPLE9BQU8sT0FBTyxPQUFPLE9BQU8sT0FBTyxPQUFPLE9BQU8sT0FBTyxPQUFPLE9BQU8sT0FBTyxPQUFPLE9BQU8sT0FBTyxPQUFPLE9BQU8sT0FBTyxPQUFPLE9BQU8sT0FBTyxPQUFPLE9BQU8sT0FBTyxPQUFPLE9BQU8sT0FBTyxPQUFPLE9BQU8sT0FBTyxPQUFPLE9BQU8sT0FBTyxPQUFPLE9BQU8sT0FBTyxPQUFPLE9BQU8sS0FBSyxFQUFFO0FBQUEsRUFDdmxGO0FBQ0YsQ0FBQztBQUdELElBQUksZ0JBQWdCQSxZQUFXO0FBQUEsRUFDN0IsNEVBQTRFLFVBQVUsU0FBUztBQUM3RixZQUFRLFVBQVU7QUFBQSxNQUNoQixDQUFDLEtBQUssTUFBTSxHQUFHO0FBQUEsTUFDZixDQUFDLFFBQVEsa0NBQWtDLEdBQUcsOENBQThDLEdBQUcsMEJBQTBCO0FBQUEsTUFDekgsQ0FBQyxRQUFRLDBEQUEwRCxHQUFHLGdCQUFnQixHQUFHLFFBQVE7QUFBQSxNQUNqRyxDQUFDLFFBQVEsd0NBQXdDLElBQUksd0NBQXdDLEdBQUcsZ0VBQWdFLEdBQUcsZ0JBQWdCLEdBQUcsNEJBQTRCLEdBQUcsa0ZBQWtGLEdBQUcsZ0JBQWdCLEdBQUcsc0VBQXNFLEdBQUcsOENBQThDLEdBQUcsMEJBQTBCO0FBQUEsTUFDamQsQ0FBQyxRQUFRLHNFQUFzRSxHQUFHLHNCQUFzQixDQUFDO0FBQUEsTUFDekcsQ0FBQyxRQUFRLHdDQUF3QyxHQUFHLHNCQUFzQixHQUFHLHNDQUFzQztBQUFBLE1BQ25ILENBQUMsUUFBUSxVQUFVLEdBQUcsZ0JBQWdCLEdBQUcsc0VBQXNFLEdBQUcsd0NBQXdDLElBQUksVUFBVSxHQUFHLFVBQVUsSUFBSSxVQUFVLEdBQUcsd0NBQXdDLEdBQUcsZ0JBQWdCLEdBQUcsOENBQThDLEVBQUU7QUFBQSxNQUNwVCxDQUFDLFFBQVEsa0NBQWtDLEdBQUcsc0JBQXNCLEdBQUcsVUFBVSxDQUFDO0FBQUEsTUFDbEYsQ0FBQyxRQUFRLFVBQVUsSUFBSSw0Q0FBNEM7QUFBQSxNQUNuRSxDQUFDLFFBQVEsOEZBQThGLEdBQUcsNEVBQTRFLEdBQUcsZ0JBQWdCLEdBQUcsVUFBVSxHQUFHLFVBQVUsSUFBSSxrQ0FBa0MsR0FBRyxnQkFBZ0IsR0FBRyxzQkFBc0IsQ0FBQztBQUFBLE1BQ3RULENBQUMsUUFBUSx3Q0FBd0MsR0FBRyw4Q0FBOEMsQ0FBQztBQUFBLE1BQ25HLENBQUMsUUFBUSxvREFBb0QsRUFBRTtBQUFBLE1BQy9ELENBQUMsUUFBUSxVQUFVLEdBQUcsa0NBQWtDLEdBQUcsOENBQThDLEdBQUcsVUFBVSxJQUFJLFVBQVUsR0FBRyxVQUFVLElBQUksVUFBVSxHQUFHLDhDQUE4QyxHQUFHLDRCQUE0QixHQUFHLFVBQVUsSUFBSSwwQkFBMEI7QUFBQSxNQUMxUixDQUFDLFFBQVEsZ0JBQWdCLEdBQUcsc0JBQXNCLEdBQUcsVUFBVSxHQUFHLFVBQVUsQ0FBQztBQUFBLE1BQzdFLENBQUMsUUFBUSxVQUFVLEdBQUcsVUFBVSxHQUFHLHdDQUF3QyxHQUFHLGNBQWM7QUFBQSxNQUM1RixDQUFDLFFBQVEsVUFBVSxHQUFHLDhDQUE4QyxHQUFHLFVBQVUsR0FBRyxVQUFVLElBQUksOEZBQThGLElBQUksd0NBQXdDLEdBQUcsc0JBQXNCLEdBQUcsZ0NBQWdDO0FBQUEsTUFDeFMsQ0FBQyxRQUFRLDRFQUE0RSxHQUFHLGdCQUFnQixHQUFHLFFBQVE7QUFBQSxNQUNuSCxDQUFDLFFBQVEsa0NBQWtDLEdBQUcsa0NBQWtDLEVBQUU7QUFBQSxNQUNsRixDQUFDLFFBQVEsVUFBVSxJQUFJLHNFQUFzRSxHQUFHLHdDQUF3QyxHQUFHLGdCQUFnQixHQUFHLHdDQUF3QyxHQUFHLHNFQUFzRSxJQUFJLDhDQUE4QyxHQUFHLGdGQUFnRjtBQUFBLE1BQ3BaLENBQUMsUUFBUSxVQUFVLEdBQUcsVUFBVSxFQUFFO0FBQUEsTUFDbEMsQ0FBQyxRQUFRLFVBQVUsSUFBSSw0Q0FBNEM7QUFBQSxNQUNuRSxDQUFDLFFBQVEsVUFBVSxHQUFHLGdCQUFnQixHQUFHLHdDQUF3QyxHQUFHLHNCQUFzQixHQUFHLGtDQUFrQyxHQUFHLHNCQUFzQixHQUFHLFVBQVUsSUFBSSxVQUFVLEdBQUcsVUFBVSxJQUFJLDhDQUE4QyxHQUFHLFVBQVUsQ0FBQztBQUFBLE1BQ2hSLENBQUMsUUFBUSxVQUFVLEdBQUcsVUFBVSxHQUFHLFVBQVUsR0FBRyw0QkFBNEIsQ0FBQztBQUFBLE1BQzdFLENBQUMsUUFBUSw4Q0FBOEMsR0FBRyw0RkFBNEY7QUFBQSxNQUN0SixDQUFDLFFBQVEsVUFBVSxJQUFJLDhDQUE4QyxHQUFHLDhJQUE4SSxHQUFHLGdCQUFnQixHQUFHLFVBQVUsSUFBSSxrREFBa0Q7QUFBQSxNQUM1UyxDQUFDLFFBQVEsNEVBQTRFLEdBQUcsZ0JBQWdCLEdBQUcsUUFBUTtBQUFBLE1BQ25ILENBQUMsUUFBUSx3Q0FBd0MsSUFBSSxVQUFVLEdBQUcsMEJBQTBCO0FBQUEsTUFDNUYsQ0FBQyxRQUFRLFVBQVUsSUFBSSx3SUFBd0ksSUFBSSxVQUFVLElBQUksVUFBVSxHQUFHLDhDQUE4QyxHQUFHLGdCQUFnQixHQUFHLFVBQVUsRUFBRTtBQUFBLE1BQzlRLENBQUMsUUFBUSxVQUFVLElBQUksd0NBQXdDLEdBQUcsb0JBQW9CO0FBQUEsTUFDdEYsQ0FBQyxRQUFRLFVBQVUsR0FBRyxVQUFVLElBQUksY0FBYztBQUFBLE1BQ2xELENBQUMsUUFBUSxVQUFVLEdBQUcsVUFBVSxJQUFJLFVBQVUsR0FBRyw4Q0FBOEMsR0FBRyxzQkFBc0IsR0FBRyw4Q0FBOEMsR0FBRyxrQ0FBa0MsR0FBRyx3Q0FBd0MsR0FBRyxzQkFBc0IsR0FBRyxVQUFVLElBQUksZ0NBQWdDO0FBQUEsTUFDblUsQ0FBQyxRQUFRLFVBQVUsR0FBRyxnQkFBZ0IsR0FBRyx3Q0FBd0MsR0FBRyxjQUFjO0FBQUEsTUFDbEcsQ0FBQyxRQUFRLGdFQUFnRSxHQUFHLGdCQUFnQixDQUFDO0FBQUEsTUFDN0YsQ0FBQyxRQUFRLFVBQVUsSUFBSSw0RUFBNEUsR0FBRyx3Q0FBd0MsR0FBRyxnQkFBZ0IsR0FBRyxVQUFVLElBQUksVUFBVSxFQUFFO0FBQUEsTUFDOUwsQ0FBQyxRQUFRLFVBQVUsSUFBSSx3Q0FBd0MsQ0FBQztBQUFBLE1BQ2hFLENBQUMsUUFBUSxVQUFVLEdBQUcsVUFBVSxHQUFHLFVBQVUsR0FBRyxVQUFVLENBQUM7QUFBQSxNQUMzRCxDQUFDLFFBQVEsVUFBVSxJQUFJLFVBQVUsSUFBSSw0QkFBNEIsSUFBSSx3Q0FBd0MsR0FBRyxrQ0FBa0MsRUFBRTtBQUFBLE1BQ3BKLENBQUMsUUFBUSxVQUFVLElBQUksVUFBVSxDQUFDO0FBQUEsTUFDbEMsQ0FBQyxRQUFRLFVBQVUsSUFBSSxrREFBa0Q7QUFBQSxNQUN6RSxDQUFDLFFBQVEsVUFBVSxHQUFHLDRCQUE0QixJQUFJLGtDQUFrQyxHQUFHLGdCQUFnQixHQUFHLDhDQUE4QyxHQUFHLFVBQVUsR0FBRyw4Q0FBOEMsR0FBRyxzQkFBc0IsR0FBRyx3Q0FBd0MsR0FBRyxrREFBa0Q7QUFBQSxNQUNuVixDQUFDLFFBQVEsZ0JBQWdCLEdBQUcsZ0JBQWdCLEdBQUcsc0JBQXNCLENBQUM7QUFBQSxNQUN0RSxDQUFDLFFBQVEsVUFBVSxHQUFHLGdCQUFnQixFQUFFO0FBQUEsTUFDeEMsQ0FBQyxRQUFRLFVBQVUsSUFBSSx3Q0FBd0MsR0FBRyxnQkFBZ0IsR0FBRyx3Q0FBd0MsR0FBRyxzQkFBc0IsR0FBRyx3Q0FBd0MsR0FBRyxnQkFBZ0IsR0FBRyw0QkFBNEIsSUFBSSxnQkFBZ0IsR0FBRyx3Q0FBd0MsR0FBRyxzQkFBc0IsR0FBRyw0QkFBNEIsQ0FBQztBQUFBLE1BQzNXLENBQUMsUUFBUSxVQUFVLEdBQUcsVUFBVSxFQUFFO0FBQUEsTUFDbEMsQ0FBQyxRQUFRLFVBQVUsR0FBRyxVQUFVLEdBQUcsOENBQThDLENBQUM7QUFBQSxNQUNsRixDQUFDLFFBQVEsa0NBQWtDLEdBQUcsOENBQThDLEdBQUcsc0JBQXNCLEdBQUcsd0NBQXdDLEdBQUcsc0JBQXNCLEdBQUcsVUFBVSxJQUFJLFVBQVUsR0FBRyxVQUFVLElBQUksd0NBQXdDLEdBQUcsNEJBQTRCLENBQUM7QUFBQSxNQUM3UyxDQUFDLFFBQVEsd0NBQXdDLEdBQUcsc0JBQXNCLEdBQUcsc0NBQXNDO0FBQUEsTUFDbkgsQ0FBQyxRQUFRLFVBQVUsR0FBRyxrQ0FBa0MsRUFBRTtBQUFBLE1BQzFELENBQUMsUUFBUSxVQUFVLElBQUksd0NBQXdDLEdBQUcsc0JBQXNCLEdBQUcsNEJBQTRCLEdBQUcsc0VBQXNFLEdBQUcsZ0JBQWdCLEdBQUcsVUFBVSxHQUFHLFVBQVUsSUFBSSxVQUFVLElBQUksOERBQThEO0FBQUEsTUFDN1QsQ0FBQyxRQUFRLGtGQUFrRixHQUFHLGdCQUFnQixDQUFDO0FBQUEsTUFDL0csQ0FBQyxRQUFRLHdDQUF3QyxHQUFHLHdDQUF3QyxDQUFDO0FBQUEsTUFDN0YsQ0FBQyxRQUFRLFVBQVUsSUFBSSx3Q0FBd0MsR0FBRyxzQkFBc0IsR0FBRyw0QkFBNEIsSUFBSSxVQUFVLElBQUksOENBQThDLEdBQUcsc0JBQXNCLEdBQUcsOENBQThDLENBQUM7QUFBQSxNQUNsUSxDQUFDLFFBQVEsc0JBQXNCLEdBQUcsNEJBQTRCLEdBQUcsa0RBQWtEO0FBQUEsTUFDbkgsQ0FBQyxRQUFRLGtDQUFrQyxHQUFHLGdCQUFnQixHQUFHLFVBQVUsQ0FBQztBQUFBLE1BQzVFLENBQUMsUUFBUSxVQUFVLElBQUksOENBQThDLElBQUksOENBQThDLEdBQUcsc0JBQXNCLEdBQUcsOENBQThDLEdBQUcsc0JBQXNCLElBQUksZ0NBQWdDO0FBQUEsTUFDOVAsQ0FBQyxRQUFRLFVBQVUsR0FBRyxnSUFBZ0k7QUFBQSxNQUN0SixDQUFDLFFBQVEsc0JBQXNCLEdBQUcsMERBQTBELENBQUM7QUFBQSxNQUM3RixDQUFDLFFBQVEsNEJBQTRCLElBQUksd0NBQXdDLEdBQUcsc0JBQXNCLEdBQUcsa0NBQWtDLEdBQUcsZ0JBQWdCLEdBQUcsd0NBQXdDLEdBQUcsZ0VBQWdFLElBQUksZ0NBQWdDO0FBQUEsTUFDcFQsQ0FBQyxRQUFRLFVBQVUsR0FBRyxzQkFBc0IsR0FBRyw0QkFBNEIsQ0FBQztBQUFBLE1BQzVFLENBQUMsUUFBUSxVQUFVLEdBQUcsVUFBVSxHQUFHLFVBQVUsRUFBRTtBQUFBLE1BQy9DLENBQUMsUUFBUSxVQUFVLEdBQUcsVUFBVSxHQUFHLHdDQUF3QyxHQUFHLFVBQVUsR0FBRyw0QkFBNEIsSUFBSSxrQ0FBa0MsR0FBRyw4Q0FBOEMsR0FBRyxVQUFVLElBQUksVUFBVSxHQUFHLFVBQVUsRUFBRTtBQUFBLE1BQ3hQLENBQUMsUUFBUSxvREFBb0QsSUFBSSxVQUFVLEdBQUcsUUFBUTtBQUFBLE1BQ3RGLENBQUMsUUFBUSx3Q0FBd0MsR0FBRyw0QkFBNEIsR0FBRyxnQ0FBZ0M7QUFBQSxNQUNuSCxDQUFDLFFBQVEsVUFBVSxHQUFHLGdCQUFnQixJQUFJLDhDQUE4QyxHQUFHLGtGQUFrRixHQUFHLGdCQUFnQixHQUFHLHdDQUF3QyxHQUFHLGdCQUFnQixHQUFHLFVBQVUsSUFBSSxVQUFVLEVBQUU7QUFBQSxNQUMzUixDQUFDLFFBQVEsVUFBVSxJQUFJLGNBQWM7QUFBQSxNQUNyQyxDQUFDLFFBQVEsc0JBQXNCLEdBQUcsc0JBQXNCLEdBQUcsVUFBVSxDQUFDO0FBQUEsTUFDdEUsQ0FBQyxRQUFRLFVBQVUsSUFBSSxVQUFVLEdBQUcsVUFBVSxJQUFJLGdCQUFnQixJQUFJLHdDQUF3QyxHQUFHLDRCQUE0QixFQUFFO0FBQUEsTUFDL0ksQ0FBQyxRQUFRLFVBQVUsSUFBSSxVQUFVLENBQUM7QUFBQSxNQUNsQyxDQUFDLFFBQVEsVUFBVSxJQUFJLFVBQVUsQ0FBQztBQUFBLE1BQ2xDLENBQUMsUUFBUSxVQUFVLElBQUksVUFBVSxHQUFHLHdDQUF3QyxHQUFHLDRCQUE0QixJQUFJLG9CQUFvQjtBQUFBLE1BQ25JLENBQUMsUUFBUSxVQUFVLElBQUksVUFBVSxHQUFHLG9CQUFvQjtBQUFBLE1BQ3hELENBQUMsUUFBUSw0QkFBNEIsR0FBRyxVQUFVLEVBQUU7QUFBQSxNQUNwRCxDQUFDLFFBQVEsVUFBVSxJQUFJLHdDQUF3QyxHQUFHLHNCQUFzQixHQUFHLDRCQUE0QixHQUFHLDRFQUE0RSxHQUFHLGdCQUFnQixHQUFHLHdDQUF3QyxHQUFHLHNCQUFzQixHQUFHLDhDQUE4QyxHQUFHLGtDQUFrQyxHQUFHLGtEQUFrRDtBQUFBLE1BQ3hhLENBQUMsUUFBUSxzRUFBc0UsR0FBRyxnQkFBZ0IsR0FBRyxjQUFjO0FBQUEsTUFDbkgsQ0FBQyxRQUFRLDRCQUE0QixHQUFHLGdCQUFnQixHQUFHLHdEQUF3RDtBQUFBLE1BQ25ILENBQUMsUUFBUSxVQUFVLEdBQUcsVUFBVSxHQUFHLHdDQUF3QyxHQUFHLGtGQUFrRixJQUFJLFVBQVUsR0FBRyw4Q0FBOEMsR0FBRyxzQkFBc0IsR0FBRyw4Q0FBOEMsR0FBRyxnQkFBZ0IsR0FBRyx3Q0FBd0MsR0FBRyxzQkFBc0IsR0FBRyw0Q0FBNEM7QUFBQSxNQUMvYSxDQUFDLFFBQVEsZ0VBQWdFLEVBQUU7QUFBQSxNQUMzRSxDQUFDLFFBQVEsc0JBQXNCLEdBQUcsd0NBQXdDLEdBQUcsZ0NBQWdDO0FBQUEsTUFDN0csQ0FBQyxRQUFRLFVBQVUsR0FBRyx3Q0FBd0MsR0FBRyxzQkFBc0IsR0FBRyxVQUFVLEdBQUcsVUFBVSxHQUFHLDRCQUE0QixHQUFHLHdDQUF3QyxHQUFHLHNCQUFzQixJQUFJLGtDQUFrQyxHQUFHLDRFQUE0RSxHQUFHLDBCQUEwQjtBQUFBLE1BQ3RXLENBQUMsUUFBUSwwREFBMEQsR0FBRyxzQkFBc0IsQ0FBQztBQUFBLE1BQzdGLENBQUMsUUFBUSxVQUFVLElBQUksVUFBVSxDQUFDO0FBQUEsTUFDbEMsQ0FBQyxRQUFRLFVBQVUsSUFBSSw4Q0FBOEMsR0FBRyxzQkFBc0IsR0FBRyw4Q0FBOEMsSUFBSSxVQUFVLElBQUksUUFBUTtBQUFBLE1BQ3pLLENBQUMsUUFBUSxrQ0FBa0MsR0FBRyw0QkFBNEIsR0FBRyxzQkFBc0IsQ0FBQztBQUFBLE1BQ3BHLENBQUMsUUFBUSxVQUFVLEdBQUcsVUFBVSxHQUFHLFVBQVUsQ0FBQztBQUFBLE1BQzlDLENBQUMsUUFBUSxVQUFVLEdBQUcsVUFBVSxHQUFHLDhDQUE4QyxHQUFHLFVBQVUsR0FBRyxVQUFVLElBQUksd0NBQXdDLEdBQUcsNEJBQTRCLEdBQUcsVUFBVSxJQUFJLFVBQVUsR0FBRyxVQUFVLEVBQUU7QUFBQSxNQUNoTyxDQUFDLFFBQVEsVUFBVSxJQUFJLDRCQUE0QixDQUFDO0FBQUEsTUFDcEQsQ0FBQyxRQUFRLFVBQVUsRUFBRTtBQUFBLE1BQ3JCLENBQUMsUUFBUSxVQUFVLEdBQUcsVUFBVSxHQUFHLHNFQUFzRSxHQUFHLDhDQUE4QyxHQUFHLFVBQVUsSUFBSSx3Q0FBd0MsR0FBRyxzQkFBc0IsR0FBRyxnSEFBZ0gsR0FBRyxnQkFBZ0IsR0FBRyxrR0FBa0c7QUFBQSxNQUN2ZCxDQUFDLFFBQVEsb0RBQW9ELEdBQUcsVUFBVSxHQUFHLFFBQVE7QUFBQSxNQUNyRixDQUFDLFFBQVEsc0JBQXNCLEdBQUcsMERBQTBELEdBQUcsMEJBQTBCO0FBQUEsTUFDekgsQ0FBQyxRQUFRLDhJQUE4SSxHQUFHLGdCQUFnQixHQUFHLGtJQUFrSSxHQUFHLGdCQUFnQixHQUFHLHNCQUFzQixJQUFJLDRCQUE0QixHQUFHLHdDQUF3QyxHQUFHLHNCQUFzQixHQUFHLHdDQUF3QyxHQUFHLFFBQVE7QUFBQSxNQUNyZixDQUFDLFFBQVEsZ0JBQWdCLEdBQUcsd0NBQXdDLEdBQUcsc0JBQXNCLEdBQUcsUUFBUTtBQUFBLE1BQ3hHLENBQUMsUUFBUSxrQ0FBa0MsR0FBRyxzQkFBc0IsR0FBRyw0Q0FBNEM7QUFBQSxNQUNuSCxDQUFDLFFBQVEsVUFBVSxHQUFHLDRCQUE0QixHQUFHLHdDQUF3QyxHQUFHLHNCQUFzQixHQUFHLHdDQUF3QyxHQUFHLGtGQUFrRixHQUFHLGdFQUFnRSxHQUFHLHNCQUFzQixHQUFHLHNIQUFzSCxHQUFHLGdCQUFnQixHQUFHLGtEQUFrRDtBQUFBLE1BQ25oQixDQUFDLFFBQVEsd0NBQXdDLEdBQUcsa0NBQWtDLEdBQUcsMEJBQTBCO0FBQUEsTUFDbkgsQ0FBQyxRQUFRLFVBQVUsR0FBRyw4Q0FBOEMsRUFBRTtBQUFBLE1BQ3RFLENBQUMsUUFBUSxVQUFVLEdBQUcsOENBQThDLEdBQUcsc0JBQXNCLEdBQUcsd0NBQXdDLEdBQUcsc0JBQXNCLEdBQUcsOENBQThDLEdBQUcsc0JBQXNCLEdBQUcsVUFBVSxJQUFJLDhDQUE4QyxHQUFHLHdDQUF3QyxHQUFHLFVBQVUsR0FBRyxnQ0FBZ0M7QUFBQSxNQUNyWSxDQUFDLFFBQVEsNEJBQTRCLElBQUksMEJBQTBCO0FBQUEsTUFDbkUsQ0FBQyxRQUFRLDBEQUEwRCxHQUFHLHNCQUFzQixHQUFHLG9CQUFvQjtBQUFBLE1BQ25ILENBQUMsUUFBUSxVQUFVLElBQUksVUFBVSxHQUFHLHdDQUF3QyxHQUFHLDRIQUE0SCxHQUFHLDhYQUE4WDtBQUFBLE1BQzVrQixDQUFDLFFBQVEsZ0JBQWdCLEdBQUcsVUFBVSxFQUFFO0FBQUEsTUFDeEMsQ0FBQyxRQUFRLFVBQVUsR0FBRyxVQUFVLEVBQUU7QUFBQSxNQUNsQyxDQUFDLFFBQVEsVUFBVSxHQUFHLHdDQUF3QyxHQUFHLGdCQUFnQixHQUFHLGdiQUFnYjtBQUFBLE1BQ3BnQixDQUFDLFFBQVEsNEJBQTRCLEdBQUcsVUFBVSxJQUFJLGdDQUFnQztBQUFBLE1BQ3RGLENBQUMsUUFBUSxVQUFVLEdBQUcsc0JBQXNCLEVBQUU7QUFBQSxNQUM5QyxDQUFDLFFBQVEsVUFBVSxJQUFJLHdDQUF3QyxHQUFHLHdDQUF3QyxJQUFJLGdCQUFnQixJQUFJLFFBQVE7QUFBQSxNQUMxSSxDQUFDLFFBQVEsNEVBQTRFLEdBQUcsd0RBQXdEO0FBQUEsTUFDaEosQ0FBQyxRQUFRLGtDQUFrQyxHQUFHLDRCQUE0QixFQUFFO0FBQUEsTUFDNUUsQ0FBQyxRQUFRLDRCQUE0QixJQUFJLFVBQVUsRUFBRTtBQUFBLE1BQ3JELENBQUMsUUFBUSxVQUFVLEdBQUcsd0NBQXdDLEdBQUcsZ0JBQWdCLEdBQUcsY0FBYztBQUFBLE1BQ2xHLENBQUMsUUFBUSxVQUFVLElBQUksVUFBVSxHQUFHLGNBQWM7QUFBQSxNQUNsRCxDQUFDLFFBQVEsVUFBVSxJQUFJLFVBQVUsSUFBSSxVQUFVLENBQUM7QUFBQSxNQUNoRCxDQUFDLFFBQVEsVUFBVSxDQUFDO0FBQUEsTUFDcEIsQ0FBQyxRQUFRLFVBQVUsSUFBSSxVQUFVLENBQUM7QUFBQSxNQUNsQyxDQUFDLFFBQVEsVUFBVSxJQUFJLFVBQVUsQ0FBQztBQUFBLE1BQ2xDLENBQUMsUUFBUSxVQUFVLElBQUksc0NBQXNDO0FBQUEsTUFDN0QsQ0FBQyxRQUFRLFVBQVUsR0FBRyxvREFBb0QsR0FBRyxVQUFVLENBQUM7QUFBQSxNQUN4RixDQUFDLFFBQVEsa0NBQWtDLEdBQUcsVUFBVSxJQUFJLDhYQUE4WCxDQUFDO0FBQUEsTUFDM2IsQ0FBQyxRQUFRLFVBQVUsR0FBRyw4Q0FBOEMsR0FBRyxVQUFVLENBQUM7QUFBQSxNQUNsRixDQUFDLFFBQVEsVUFBVSxJQUFJLG9CQUFvQjtBQUFBLE1BQzNDLENBQUMsUUFBUSwwREFBMEQsR0FBRyw0QkFBNEIsR0FBRyxVQUFVLEdBQUcsc0VBQXNFLEdBQUcsc0VBQXNFLEdBQUcsVUFBVSxHQUFHLFVBQVUsR0FBRyxVQUFVLEdBQUcsNElBQTRJO0FBQUEsTUFDdmIsQ0FBQyxRQUFRLFVBQVUsSUFBSSxVQUFVLEVBQUU7QUFBQSxNQUNuQyxDQUFDLFFBQVEsVUFBVSxJQUFJLFVBQVUsQ0FBQztBQUFBLE1BQ2xDLENBQUMsUUFBUSxVQUFVLElBQUksVUFBVSxJQUFJLG9CQUFvQjtBQUFBLE1BQ3pELENBQUMsUUFBUSxRQUFRO0FBQUEsTUFDakIsQ0FBQyxRQUFRLDRDQUE0QztBQUFBLE1BQ3JELENBQUMsUUFBUSxVQUFVLElBQUksVUFBVSxJQUFJLFVBQVUsSUFBSSxrREFBa0Q7QUFBQSxNQUNyRyxDQUFDLFFBQVEsVUFBVSxJQUFJLFVBQVUsRUFBRTtBQUFBLE1BQ25DLENBQUMsUUFBUSxvREFBb0QsRUFBRTtBQUFBLE1BQy9ELENBQUMsUUFBUSxVQUFVLElBQUksd0NBQXdDLEdBQUcsOEhBQThILElBQUksVUFBVSxJQUFJLFVBQVUsSUFBSSxrREFBa0Q7QUFBQSxNQUNsUixDQUFDLFFBQVEsOENBQThDLEdBQUcsZ0JBQWdCLEdBQUcsNENBQTRDO0FBQUEsTUFDekgsQ0FBQyxRQUFRLFVBQVUsR0FBRyxnQkFBZ0IsR0FBRyx3Q0FBd0MsR0FBRyxjQUFjO0FBQUEsTUFDbEcsQ0FBQyxRQUFRLHNCQUFzQixJQUFJLFVBQVUsRUFBRTtBQUFBLE1BQy9DLENBQUMsUUFBUSxnRUFBZ0UsR0FBRyxnQkFBZ0IsR0FBRyxvQkFBb0I7QUFBQSxNQUNuSCxDQUFDLFFBQVEsc0JBQXNCLEdBQUcsc0JBQXNCLEdBQUcsNEJBQTRCLENBQUM7QUFBQSxNQUN4RixDQUFDLFFBQVEsVUFBVSxHQUFHLFVBQVUsR0FBRyw0QkFBNEIsSUFBSSxVQUFVLEVBQUU7QUFBQSxNQUMvRSxDQUFDLFFBQVEsNEJBQTRCLEdBQUcsd0NBQXdDLEdBQUcsZ0NBQWdDO0FBQUEsTUFDbkgsQ0FBQyxRQUFRLGdFQUFnRSxJQUFJLFVBQVUsQ0FBQztBQUFBLE1BQ3hGLENBQUMsUUFBUSxVQUFVLElBQUksNEJBQTRCLEdBQUcsZ0JBQWdCLEVBQUU7QUFBQSxNQUN4RSxDQUFDLFFBQVEsVUFBVSxHQUFHLGdCQUFnQixFQUFFO0FBQUEsTUFDeEMsQ0FBQyxRQUFRLDRCQUE0QixHQUFHLHNCQUFzQixHQUFHLFVBQVUsQ0FBQztBQUFBLE1BQzVFLENBQUMsUUFBUSxVQUFVLEdBQUcsVUFBVSxJQUFJLGtEQUFrRDtBQUFBLE1BQ3RGLENBQUMsUUFBUSw4Q0FBOEMsR0FBRyxVQUFVLElBQUksUUFBUTtBQUFBLE1BQ2hGLENBQUMsUUFBUSxVQUFVLEdBQUcsNEJBQTRCLEVBQUU7QUFBQSxNQUNwRCxDQUFDLFFBQVEsVUFBVSxHQUFHLDhDQUE4QyxHQUFHLHNCQUFzQixDQUFDO0FBQUEsTUFDOUYsQ0FBQyxRQUFRLG9EQUFvRCxHQUFHLGtDQUFrQyxHQUFHLGtEQUFrRDtBQUFBLE1BQ3ZKLENBQUMsUUFBUSw4Q0FBOEMsRUFBRTtBQUFBLE1BQ3pELENBQUMsUUFBUSxVQUFVLElBQUksa0NBQWtDLEdBQUcsY0FBYztBQUFBLE1BQzFFLENBQUMsUUFBUSxVQUFVLEdBQUcsd0NBQXdDLEdBQUcsc0JBQXNCLEdBQUcsc0NBQXNDO0FBQUEsTUFDaEksQ0FBQyxRQUFRLFVBQVUsR0FBRyxnQkFBZ0IsR0FBRyxVQUFVLEVBQUU7QUFBQSxNQUNyRCxDQUFDLFFBQVEsVUFBVSxHQUFHLFVBQVUsRUFBRTtBQUFBLE1BQ2xDLENBQUMsUUFBUSxVQUFVLElBQUksa0NBQWtDLEdBQUcsZ0JBQWdCLEdBQUcsb0RBQW9ELEdBQUcsVUFBVSxHQUFHLDhiQUE4YjtBQUFBLE1BQ2psQixDQUFDLFFBQVEsd0NBQXdDLEdBQUcsc0JBQXNCLEdBQUcsc0NBQXNDO0FBQUEsTUFDbkgsQ0FBQyxRQUFRLFVBQVUsR0FBRyxnQkFBZ0IsR0FBRyxVQUFVLEVBQUU7QUFBQSxNQUNyRCxDQUFDLFFBQVEsVUFBVSxJQUFJLHdDQUF3QyxHQUFHLG9sQkFBb2xCO0FBQUEsTUFDdHBCLENBQUMsUUFBUSwwREFBMEQsR0FBRyxrQ0FBa0MsR0FBRyxRQUFRO0FBQUEsTUFDbkgsQ0FBQyxRQUFRLFVBQVUsSUFBSSxVQUFVLEdBQUcsUUFBUTtBQUFBLE1BQzVDLENBQUMsUUFBUSxVQUFVLEdBQUcsVUFBVSxJQUFJLFVBQVUsR0FBRyxzakJBQXNqQjtBQUFBLE1BQ3ZtQixDQUFDLFFBQVEsVUFBVSxJQUFJLHNDQUFzQztBQUFBLE1BQzdELENBQUMsUUFBUSxVQUFVLEdBQUcsc0JBQXNCLEdBQUcsOENBQThDLENBQUM7QUFBQSxNQUM5RixDQUFDLFFBQVEsVUFBVSxHQUFHLFVBQVUsR0FBRyxVQUFVLElBQUksNEhBQTRILEdBQUcsc2FBQXNhO0FBQUEsTUFDdGxCLENBQUMsUUFBUSxVQUFVLEdBQUcsd0NBQXdDLEdBQUcsc0JBQXNCLENBQUM7QUFBQSxNQUN4RixDQUFDLFFBQVEsOENBQThDLEdBQUcsVUFBVSxJQUFJLGNBQWM7QUFBQSxNQUN0RixDQUFDLFFBQVEsNEJBQTRCLEdBQUcsNEJBQTRCLElBQUksa1hBQWtYLEdBQUcsNEJBQTRCLEdBQUcsZ0lBQWdJO0FBQUEsTUFDNWxCLENBQUMsUUFBUSxVQUFVLElBQUksd0NBQXdDLENBQUM7QUFBQSxNQUNoRSxDQUFDLFFBQVEsNEJBQTRCLEdBQUcsd0NBQXdDLEdBQUcsZ0JBQWdCLENBQUM7QUFBQSxNQUNwRyxDQUFDLFFBQVEsOENBQThDLEdBQUcsZ0JBQWdCLEdBQUcsVUFBVSxJQUFJLHNqQkFBc2pCO0FBQUEsTUFDanBCLENBQUMsUUFBUSxVQUFVLEdBQUcsVUFBVSxFQUFFO0FBQUEsTUFDbEMsQ0FBQyxRQUFRLFVBQVUsSUFBSSw4REFBOEQ7QUFBQSxNQUNyRixDQUFDLFFBQVEsc0JBQXNCLEdBQUcsd0NBQXdDLEdBQUcsc0JBQXNCLEdBQUcsOGtCQUE4a0I7QUFBQSxNQUNwckIsQ0FBQyxRQUFRLFVBQVUsSUFBSSxVQUFVLEdBQUcsZ0NBQWdDO0FBQUEsTUFDcEUsQ0FBQyxRQUFRLFVBQVUsSUFBSSxnQ0FBZ0M7QUFBQSxNQUN2RCxDQUFDLFFBQVEsVUFBVSxHQUFHLHNFQUFzRSxJQUFJLHNqQkFBc2pCO0FBQUEsTUFDdHBCLENBQUMsUUFBUSxVQUFVLEdBQUcsVUFBVSxFQUFFO0FBQUEsTUFDbEMsQ0FBQyxRQUFRLFVBQVUsR0FBRyw0QkFBNEIsRUFBRTtBQUFBLE1BQ3BELENBQUMsUUFBUSxnQkFBZ0IsR0FBRyxVQUFVLElBQUksMEpBQTBKLEdBQUcsd1lBQXdZO0FBQUEsTUFDL2tCLENBQUMsUUFBUSxvREFBb0QsR0FBRyxzQkFBc0IsR0FBRywwQkFBMEI7QUFBQSxNQUNuSCxDQUFDLFFBQVEsVUFBVSxJQUFJLFVBQVUsR0FBRywwQkFBMEI7QUFBQSxNQUM5RCxDQUFDLFFBQVEsVUFBVSxJQUFJLGdaQUFnWixHQUFHLFVBQVUsR0FBRywwS0FBMEs7QUFBQSxNQUNqbUIsQ0FBQyxRQUFRLDhDQUE4QyxHQUFHLDhDQUE4QyxHQUFHLFFBQVE7QUFBQSxNQUNuSCxDQUFDLFFBQVEsNEJBQTRCLEdBQUcsd0NBQXdDLEdBQUcsZ0JBQWdCLENBQUM7QUFBQSxNQUNwRyxDQUFDLFFBQVEsMERBQTBELEdBQUcsVUFBVSxHQUFHLGdtQkFBZ21CO0FBQUEsTUFDbnJCLENBQUMsUUFBUSxVQUFVLEdBQUcsc0JBQXNCLEdBQUcsd0NBQXdDLEdBQUcsb0JBQW9CO0FBQUEsTUFDOUcsQ0FBQyxRQUFRLDBEQUEwRCxHQUFHLGdCQUFnQixHQUFHLDBCQUEwQjtBQUFBLE1BQ25ILENBQUMsUUFBUSxVQUFVLElBQUksc2pCQUFzakI7QUFBQSxNQUM3a0IsQ0FBQyxRQUFRLFVBQVUsSUFBSSxrREFBa0Q7QUFBQSxNQUN6RSxDQUFDLFFBQVEsd0NBQXdDLEdBQUcsd0NBQXdDLEdBQUcsb0JBQW9CO0FBQUEsTUFDbkgsQ0FBQyxRQUFRLFVBQVUsR0FBRyw4Q0FBOEMsR0FBRyxzQkFBc0IsR0FBRyxVQUFVLEdBQUcsa0ZBQWtGLEdBQUcsZ2RBQWdkO0FBQUEsTUFDbHBCLENBQUMsUUFBUSxnQkFBZ0IsR0FBRyxnQkFBZ0IsR0FBRyxrREFBa0Q7QUFBQSxNQUNqRyxDQUFDLFFBQVEsOENBQThDLEdBQUcsVUFBVSxFQUFFO0FBQUEsTUFDdEUsQ0FBQyxRQUFRLFVBQVUsR0FBRyxVQUFVLElBQUksc2pCQUFzakI7QUFBQSxNQUMxbEIsQ0FBQyxRQUFRLFVBQVUsR0FBRyw0QkFBNEIsRUFBRTtBQUFBLE1BQ3BELENBQUMsUUFBUSxVQUFVLEdBQUcsOENBQThDLEdBQUcsMEJBQTBCO0FBQUEsTUFDakcsQ0FBQyxRQUFRLFVBQVUsR0FBRyx3Q0FBd0MsR0FBRyxzQkFBc0IsR0FBRyxVQUFVLEdBQUcsd2dCQUF3Z0IsR0FBRyxjQUFjO0FBQUEsTUFDaG9CLENBQUMsUUFBUSxVQUFVLElBQUksVUFBVSxFQUFFO0FBQUEsTUFDbkMsQ0FBQyxRQUFRLFVBQVUsSUFBSSw0Q0FBNEM7QUFBQSxNQUNuRSxDQUFDLFFBQVEsVUFBVSxHQUFHLHNCQUFzQixHQUFHLDhDQUE4QyxHQUFHLHNIQUFzSCxHQUFHLHdiQUF3YjtBQUFBLE1BQ2pwQixDQUFDLFFBQVEsVUFBVSxHQUFHLDhDQUE4QyxHQUFHLGdCQUFnQixDQUFDO0FBQUEsTUFDeEYsQ0FBQyxRQUFRLFVBQVUsRUFBRTtBQUFBLE1BQ3JCLENBQUMsUUFBUSxnRUFBZ0UsR0FBRyxzQkFBc0IsR0FBRyxvUEFBb1AsR0FBRyw0VUFBNFU7QUFBQSxNQUN4cUIsQ0FBQyxRQUFRLHdDQUF3QyxHQUFHLHdDQUF3QyxHQUFHLG9CQUFvQjtBQUFBLE1BQ25ILENBQUMsUUFBUSxrQ0FBa0MsSUFBSSxjQUFjO0FBQUEsTUFDN0QsQ0FBQyxRQUFRLFVBQVUsSUFBSSxzakJBQXNqQjtBQUFBLE1BQzdrQixDQUFDLFFBQVEsOENBQThDLEdBQUcsc0JBQXNCLEdBQUcsNENBQTRDO0FBQUEsTUFDL0gsQ0FBQyxRQUFRLFVBQVUsR0FBRyxzQkFBc0IsR0FBRyx3Q0FBd0MsR0FBRyxRQUFRO0FBQUEsTUFDbEcsQ0FBQyxRQUFRLFVBQVUsR0FBRyw4Q0FBOEMsR0FBRyxVQUFVLEdBQUcsa2tCQUFra0I7QUFBQSxNQUN0cEIsQ0FBQyxRQUFRLHdJQUF3SSxDQUFDO0FBQUEsTUFDbEosQ0FBQyxRQUFRLFVBQVUsR0FBRyxnQkFBZ0IsR0FBRyxzQkFBc0IsRUFBRTtBQUFBLE1BQ2pFLENBQUMsUUFBUSw0QkFBNEIsR0FBRyx3Q0FBd0MsR0FBRyxzQkFBc0IsR0FBRyxra0JBQWtrQjtBQUFBLE1BQzlxQixDQUFDLFFBQVEsa0NBQWtDLEdBQUcsZ0JBQWdCLEdBQUcsZ0NBQWdDO0FBQUEsTUFDakcsQ0FBQyxRQUFRLGdFQUFnRSxHQUFHLDhDQUE4QyxDQUFDO0FBQUEsTUFDM0gsQ0FBQyxRQUFRLDhDQUE4QyxHQUFHLHdDQUF3QyxJQUFJLHdrQkFBd2tCO0FBQUEsTUFDOXFCLENBQUMsUUFBUSwwREFBMEQsR0FBRyxzQkFBc0IsR0FBRyxvQkFBb0I7QUFBQSxNQUNuSCxDQUFDLFFBQVEsc0JBQXNCLEdBQUcsNEJBQTRCLEdBQUcsNEJBQTRCLENBQUM7QUFBQSxNQUM5RixDQUFDLFFBQVEsOEZBQThGLEdBQUcsNEJBQTRCLEdBQUcsa2tCQUFra0I7QUFBQSxNQUMzc0IsQ0FBQyxRQUFRLDRCQUE0QixHQUFHLHNCQUFzQixDQUFDO0FBQUEsTUFDL0QsQ0FBQyxRQUFRLHNqQkFBc2pCO0FBQUEsTUFDL2pCLENBQUMsUUFBUSxzakJBQXNqQjtBQUFBLE1BQy9qQixDQUFDLFFBQVEsc2pCQUFzakI7QUFBQSxNQUMvakIsQ0FBQyxRQUFRLHNqQkFBc2pCO0FBQUEsTUFDL2pCLENBQUMsUUFBUSxzakJBQXNqQjtBQUFBLE1BQy9qQixDQUFDLFFBQVEsc2pCQUFzakI7QUFBQSxNQUMvakIsQ0FBQyxRQUFRLHNqQkFBc2pCO0FBQUEsTUFDL2pCLENBQUMsUUFBUSxzakJBQXNqQjtBQUFBLE1BQy9qQixDQUFDLFFBQVEsc2pCQUFzakI7QUFBQSxNQUMvakIsQ0FBQyxRQUFRLHNqQkFBc2pCO0FBQUEsTUFDL2pCLENBQUMsUUFBUSxzV0FBc1csR0FBRyxnQkFBZ0IsR0FBRyxrSkFBa0o7QUFBQSxNQUN2aEIsQ0FBQyxRQUFRLDhDQUE4QyxHQUFHLHNLQUFzSyxHQUFHLGdCQUFnQixJQUFJLGtGQUFrRixHQUFHLGtDQUFrQyxHQUFHLHdEQUF3RDtBQUFBLE1BQ3phLENBQUMsUUFBUSxzakJBQXNqQjtBQUFBLE1BQy9qQixDQUFDLFFBQVEsc2pCQUFzakI7QUFBQSxNQUMvakIsQ0FBQyxRQUFRLHNqQkFBc2pCO0FBQUEsTUFDL2pCLENBQUMsUUFBUSxzakJBQXNqQjtBQUFBLE1BQy9qQixDQUFDLFFBQVEsc2pCQUFzakI7QUFBQSxNQUMvakIsQ0FBQyxRQUFRLHNqQkFBc2pCO0FBQUEsTUFDL2pCLENBQUMsUUFBUSxzakJBQXNqQjtBQUFBLE1BQy9qQixDQUFDLFFBQVEsc2pCQUFzakI7QUFBQSxNQUMvakIsQ0FBQyxRQUFRLHNqQkFBc2pCO0FBQUEsTUFDL2pCLENBQUMsUUFBUSxzakJBQXNqQjtBQUFBLE1BQy9qQixDQUFDLFFBQVEsc2pCQUFzakI7QUFBQSxNQUMvakIsQ0FBQyxRQUFRLHNqQkFBc2pCO0FBQUEsTUFDL2pCLENBQUMsUUFBUSxzakJBQXNqQjtBQUFBLE1BQy9qQixDQUFDLFFBQVEsc2pCQUFzakI7QUFBQSxNQUMvakIsQ0FBQyxRQUFRLHNqQkFBc2pCO0FBQUEsTUFDL2pCLENBQUMsUUFBUSxzakJBQXNqQjtBQUFBLE1BQy9qQixDQUFDLFFBQVEsc2pCQUFzakI7QUFBQSxNQUMvakIsQ0FBQyxRQUFRLHNqQkFBc2pCO0FBQUEsTUFDL2pCLENBQUMsUUFBUSxzakJBQXNqQjtBQUFBLE1BQy9qQixDQUFDLFFBQVEsc2pCQUFzakI7QUFBQSxNQUMvakIsQ0FBQyxRQUFRLHNqQkFBc2pCO0FBQUEsTUFDL2pCLENBQUMsUUFBUSxzakJBQXNqQjtBQUFBLE1BQy9qQixDQUFDLFFBQVEsc2pCQUFzakI7QUFBQSxNQUMvakIsQ0FBQyxRQUFRLHNqQkFBc2pCO0FBQUEsTUFDL2pCLENBQUMsUUFBUSxzakJBQXNqQjtBQUFBLE1BQy9qQixDQUFDLFFBQVEsc2pCQUFzakI7QUFBQSxNQUMvakIsQ0FBQyxRQUFRLHNqQkFBc2pCO0FBQUEsTUFDL2pCLENBQUMsUUFBUSxzakJBQXNqQjtBQUFBLE1BQy9qQixDQUFDLFFBQVEsc2pCQUFzakI7QUFBQSxNQUMvakIsQ0FBQyxRQUFRLHNqQkFBc2pCO0FBQUEsTUFDL2pCLENBQUMsUUFBUSxzakJBQXNqQjtBQUFBLE1BQy9qQixDQUFDLFFBQVEsc2pCQUFzakI7QUFBQSxNQUMvakIsQ0FBQyxRQUFRLHNqQkFBc2pCO0FBQUEsTUFDL2pCLENBQUMsUUFBUSxzakJBQXNqQjtBQUFBLE1BQy9qQixDQUFDLFFBQVEsc2pCQUFzakI7QUFBQSxNQUMvakIsQ0FBQyxRQUFRLHNqQkFBc2pCO0FBQUEsTUFDL2pCLENBQUMsUUFBUSxzakJBQXNqQjtBQUFBLE1BQy9qQixDQUFDLFFBQVEsc2pCQUFzakI7QUFBQSxNQUMvakIsQ0FBQyxRQUFRLHNqQkFBc2pCO0FBQUEsTUFDL2pCLENBQUMsUUFBUSxzakJBQXNqQjtBQUFBLE1BQy9qQixDQUFDLFFBQVEsc2pCQUFzakI7QUFBQSxNQUMvakIsQ0FBQyxRQUFRLHNqQkFBc2pCO0FBQUEsTUFDL2pCLENBQUMsUUFBUSxzakJBQXNqQjtBQUFBLElBQ2prQjtBQUFBLEVBQ0Y7QUFDRixDQUFDO0FBR0QsSUFBSSxnQkFBZ0JBLFlBQVc7QUFBQSxFQUM3Qiw0RUFBNEUsVUFBVSxTQUFTO0FBQzdGLFlBQVEsVUFBVTtBQUFBLE1BQ2hCLENBQUMsS0FBSyxNQUFNLEdBQUc7QUFBQSxNQUNmLENBQUMsUUFBUSwwWEFBMFg7QUFBQSxNQUNuWSxDQUFDLFFBQVEsOFdBQThXLEdBQUcsMEtBQTBLO0FBQUEsTUFDcGlCLENBQUMsUUFBUSxvTkFBb04sR0FBRyxnSUFBZ0k7QUFBQSxNQUNoVyxDQUFDLFFBQVEsOEZBQThGLEdBQUcsVUFBVSxHQUFHLFVBQVUsR0FBRyw0QkFBNEIsSUFBSSxVQUFVLEVBQUU7QUFBQSxNQUNoTCxDQUFDLFFBQVEsa0NBQWtDLElBQUksVUFBVSxHQUFHLFVBQVUsSUFBSSxVQUFVLEdBQUcsVUFBVSxFQUFFO0FBQUEsTUFDbkcsQ0FBQyxRQUFRLFVBQVUsSUFBSSxnQ0FBZ0M7QUFBQSxNQUN2RCxDQUFDLFFBQVEsUUFBUTtBQUFBLE1BQ2pCLENBQUMsUUFBUSw0WEFBNFg7QUFBQSxNQUNyWSxDQUFDLFFBQVEsc2pCQUFzakI7QUFBQSxNQUMvakIsQ0FBQyxRQUFRLDRYQUE0WDtBQUFBLE1BQ3JZLENBQUMsUUFBUSxzakJBQXNqQjtBQUFBLE1BQy9qQixDQUFDLFFBQVEsNFhBQTRYO0FBQUEsTUFDclksQ0FBQyxRQUFRLHNqQkFBc2pCO0FBQUEsTUFDL2pCLENBQUMsUUFBUSw0WEFBNFg7QUFBQSxNQUNyWSxDQUFDLFFBQVEsc2pCQUFzakI7QUFBQSxNQUMvakIsQ0FBQyxRQUFRLDRYQUE0WDtBQUFBLE1BQ3JZLENBQUMsUUFBUSxzakJBQXNqQjtBQUFBLE1BQy9qQixDQUFDLFFBQVEsNFhBQTRYO0FBQUEsTUFDclksQ0FBQyxRQUFRLHNqQkFBc2pCO0FBQUEsTUFDL2pCLENBQUMsUUFBUSw0WEFBNFg7QUFBQSxNQUNyWSxDQUFDLFFBQVEsc2pCQUFzakI7QUFBQSxNQUMvakIsQ0FBQyxRQUFRLDRYQUE0WDtBQUFBLE1BQ3JZLENBQUMsUUFBUSxzakJBQXNqQjtBQUFBLE1BQy9qQixDQUFDLFFBQVEsNFhBQTRYO0FBQUEsTUFDclksQ0FBQyxRQUFRLHNqQkFBc2pCO0FBQUEsTUFDL2pCLENBQUMsUUFBUSw0WEFBNFg7QUFBQSxNQUNyWSxDQUFDLFFBQVEsc2pCQUFzakI7QUFBQSxNQUMvakIsQ0FBQyxRQUFRLDRYQUE0WDtBQUFBLE1BQ3JZLENBQUMsUUFBUSxzakJBQXNqQjtBQUFBLE1BQy9qQixDQUFDLFFBQVEsNFhBQTRYO0FBQUEsTUFDclksQ0FBQyxRQUFRLHNqQkFBc2pCO0FBQUEsTUFDL2pCLENBQUMsUUFBUSw0WEFBNFg7QUFBQSxNQUNyWSxDQUFDLFFBQVEsc2pCQUFzakI7QUFBQSxNQUMvakIsQ0FBQyxRQUFRLDRYQUE0WDtBQUFBLE1BQ3JZLENBQUMsUUFBUSxzakJBQXNqQjtBQUFBLE1BQy9qQixDQUFDLFFBQVEsNFhBQTRYO0FBQUEsTUFDclksQ0FBQyxRQUFRLHNqQkFBc2pCO0FBQUEsTUFDL2pCLENBQUMsUUFBUSw0WEFBNFg7QUFBQSxNQUNyWSxDQUFDLFFBQVEsc2pCQUFzakI7QUFBQSxNQUMvakIsQ0FBQyxRQUFRLDRYQUE0WDtBQUFBLE1BQ3JZLENBQUMsUUFBUSxzakJBQXNqQjtBQUFBLE1BQy9qQixDQUFDLFFBQVEsNFhBQTRYO0FBQUEsTUFDclksQ0FBQyxRQUFRLHNqQkFBc2pCO0FBQUEsTUFDL2pCLENBQUMsUUFBUSw0WEFBNFg7QUFBQSxNQUNyWSxDQUFDLFFBQVEsc2pCQUFzakI7QUFBQSxNQUMvakIsQ0FBQyxRQUFRLDRYQUE0WDtBQUFBLE1BQ3JZLENBQUMsUUFBUSxzakJBQXNqQjtBQUFBLE1BQy9qQixDQUFDLFFBQVEsNFhBQTRYO0FBQUEsTUFDclksQ0FBQyxRQUFRLHNqQkFBc2pCO0FBQUEsTUFDL2pCLENBQUMsUUFBUSw0WEFBNFg7QUFBQSxNQUNyWSxDQUFDLFFBQVEsc2pCQUFzakI7QUFBQSxNQUMvakIsQ0FBQyxRQUFRLDRYQUE0WDtBQUFBLE1BQ3JZLENBQUMsUUFBUSxzakJBQXNqQjtBQUFBLE1BQy9qQixDQUFDLFFBQVEsNFhBQTRYO0FBQUEsTUFDclksQ0FBQyxRQUFRLHNqQkFBc2pCO0FBQUEsTUFDL2pCLENBQUMsUUFBUSw0WEFBNFg7QUFBQSxNQUNyWSxDQUFDLFFBQVEsc2pCQUFzakI7QUFBQSxNQUMvakIsQ0FBQyxRQUFRLDRYQUE0WDtBQUFBLE1BQ3JZLENBQUMsUUFBUSxzakJBQXNqQjtBQUFBLE1BQy9qQixDQUFDLFFBQVEsNFhBQTRYO0FBQUEsTUFDclksQ0FBQyxRQUFRLHNqQkFBc2pCO0FBQUEsTUFDL2pCLENBQUMsUUFBUSw0WEFBNFg7QUFBQSxNQUNyWSxDQUFDLFFBQVEsc2pCQUFzakI7QUFBQSxNQUMvakIsQ0FBQyxRQUFRLDRYQUE0WDtBQUFBLE1BQ3JZLENBQUMsUUFBUSxzakJBQXNqQjtBQUFBLE1BQy9qQixDQUFDLFFBQVEsNFhBQTRYO0FBQUEsTUFDclksQ0FBQyxRQUFRLHNqQkFBc2pCO0FBQUEsTUFDL2pCLENBQUMsUUFBUSw0WEFBNFg7QUFBQSxNQUNyWSxDQUFDLFFBQVEsc2pCQUFzakI7QUFBQSxNQUMvakIsQ0FBQyxRQUFRLDRYQUE0WDtBQUFBLE1BQ3JZLENBQUMsUUFBUSxzakJBQXNqQjtBQUFBLE1BQy9qQixDQUFDLFFBQVEsNFhBQTRYO0FBQUEsTUFDclksQ0FBQyxRQUFRLHNqQkFBc2pCO0FBQUEsTUFDL2pCLENBQUMsUUFBUSw0WEFBNFg7QUFBQSxNQUNyWSxDQUFDLFFBQVEsc2pCQUFzakI7QUFBQSxNQUMvakIsQ0FBQyxRQUFRLDRYQUE0WDtBQUFBLE1BQ3JZLENBQUMsUUFBUSw0WEFBNFg7QUFBQSxNQUNyWSxDQUFDLFFBQVEsc2pCQUFzakI7QUFBQSxNQUMvakIsQ0FBQyxRQUFRLDRYQUE0WDtBQUFBLE1BQ3JZLENBQUMsUUFBUSxzakJBQXNqQjtBQUFBLE1BQy9qQixDQUFDLFFBQVEsNFhBQTRYO0FBQUEsTUFDclksQ0FBQyxRQUFRLHNqQkFBc2pCO0FBQUEsTUFDL2pCLENBQUMsUUFBUSw0WEFBNFg7QUFBQSxNQUNyWSxDQUFDLFFBQVEsc2pCQUFzakI7QUFBQSxNQUMvakIsQ0FBQyxRQUFRLDRYQUE0WDtBQUFBLE1BQ3JZLENBQUMsUUFBUSxzakJBQXNqQjtBQUFBLE1BQy9qQixDQUFDLFFBQVEsNFhBQTRYO0FBQUEsTUFDclksQ0FBQyxRQUFRLHNqQkFBc2pCO0FBQUEsTUFDL2pCLENBQUMsUUFBUSw0WEFBNFg7QUFBQSxNQUNyWSxDQUFDLFFBQVEsc2pCQUFzakI7QUFBQSxNQUMvakIsQ0FBQyxRQUFRLDRYQUE0WDtBQUFBLE1BQ3JZLENBQUMsUUFBUSxzakJBQXNqQjtBQUFBLE1BQy9qQixDQUFDLFFBQVEsNFhBQTRYO0FBQUEsTUFDclksQ0FBQyxRQUFRLHNqQkFBc2pCO0FBQUEsTUFDL2pCLENBQUMsUUFBUSw0WEFBNFg7QUFBQSxNQUNyWSxDQUFDLFFBQVEsc2pCQUFzakI7QUFBQSxNQUMvakIsQ0FBQyxRQUFRLDRYQUE0WDtBQUFBLE1BQ3JZLENBQUMsUUFBUSxzakJBQXNqQjtBQUFBLE1BQy9qQixDQUFDLFFBQVEsNFhBQTRYO0FBQUEsTUFDclksQ0FBQyxRQUFRLHNqQkFBc2pCO0FBQUEsTUFDL2pCLENBQUMsUUFBUSw0WEFBNFg7QUFBQSxNQUNyWSxDQUFDLFFBQVEsc2pCQUFzakI7QUFBQSxNQUMvakIsQ0FBQyxRQUFRLDRYQUE0WDtBQUFBLE1BQ3JZLENBQUMsUUFBUSxzakJBQXNqQjtBQUFBLE1BQy9qQixDQUFDLFFBQVEsNFhBQTRYO0FBQUEsTUFDclksQ0FBQyxRQUFRLHNqQkFBc2pCO0FBQUEsTUFDL2pCLENBQUMsUUFBUSw0WEFBNFg7QUFBQSxNQUNyWSxDQUFDLFFBQVEsc2pCQUFzakI7QUFBQSxNQUMvakIsQ0FBQyxRQUFRLDRYQUE0WDtBQUFBLE1BQ3JZLENBQUMsUUFBUSxzakJBQXNqQjtBQUFBLE1BQy9qQixDQUFDLFFBQVEsNFhBQTRYO0FBQUEsTUFDclksQ0FBQyxRQUFRLHNqQkFBc2pCO0FBQUEsTUFDL2pCLENBQUMsUUFBUSw0WEFBNFg7QUFBQSxNQUNyWSxDQUFDLFFBQVEsc2pCQUFzakI7QUFBQSxNQUMvakIsQ0FBQyxRQUFRLDRYQUE0WDtBQUFBLE1BQ3JZLENBQUMsUUFBUSxzakJBQXNqQjtBQUFBLE1BQy9qQixDQUFDLFFBQVEsNFhBQTRYO0FBQUEsTUFDclksQ0FBQyxRQUFRLHNqQkFBc2pCO0FBQUEsTUFDL2pCLENBQUMsUUFBUSw0WEFBNFg7QUFBQSxNQUNyWSxDQUFDLFFBQVEsc2pCQUFzakI7QUFBQSxNQUMvakIsQ0FBQyxRQUFRLDRYQUE0WDtBQUFBLE1BQ3JZLENBQUMsUUFBUSxzakJBQXNqQjtBQUFBLE1BQy9qQixDQUFDLFFBQVEsNFhBQTRYO0FBQUEsTUFDclksQ0FBQyxRQUFRLHNqQkFBc2pCO0FBQUEsTUFDL2pCLENBQUMsUUFBUSw0WEFBNFg7QUFBQSxNQUNyWSxDQUFDLFFBQVEsc2pCQUFzakI7QUFBQSxNQUMvakIsQ0FBQyxRQUFRLDRYQUE0WDtBQUFBLE1BQ3JZLENBQUMsUUFBUSxzakJBQXNqQjtBQUFBLE1BQy9qQixDQUFDLFFBQVEsNFhBQTRYO0FBQUEsTUFDclksQ0FBQyxRQUFRLHNqQkFBc2pCO0FBQUEsTUFDL2pCLENBQUMsUUFBUSw0WEFBNFg7QUFBQSxNQUNyWSxDQUFDLFFBQVEsc2pCQUFzakI7QUFBQSxNQUMvakIsQ0FBQyxRQUFRLDRYQUE0WDtBQUFBLE1BQ3JZLENBQUMsUUFBUSxzakJBQXNqQjtBQUFBLE1BQy9qQixDQUFDLFFBQVEsNFhBQTRYO0FBQUEsTUFDclksQ0FBQyxRQUFRLHNqQkFBc2pCO0FBQUEsTUFDL2pCLENBQUMsUUFBUSw0WEFBNFg7QUFBQSxNQUNyWSxDQUFDLFFBQVEsc2pCQUFzakI7QUFBQSxNQUMvakIsQ0FBQyxRQUFRLDRYQUE0WDtBQUFBLE1BQ3JZLENBQUMsUUFBUSxzakJBQXNqQjtBQUFBLE1BQy9qQixDQUFDLFFBQVEsNFhBQTRYO0FBQUEsTUFDclksQ0FBQyxRQUFRLHNqQkFBc2pCO0FBQUEsTUFDL2pCLENBQUMsUUFBUSw0WEFBNFg7QUFBQSxNQUNyWSxDQUFDLFFBQVEsc2pCQUFzakI7QUFBQSxNQUMvakIsQ0FBQyxRQUFRLDRYQUE0WDtBQUFBLE1BQ3JZLENBQUMsUUFBUSxzakJBQXNqQjtBQUFBLE1BQy9qQixDQUFDLFFBQVEsNFhBQTRYO0FBQUEsTUFDclksQ0FBQyxRQUFRLHNqQkFBc2pCO0FB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TUFFQSxRQUFRO0FBQUEsTUFDUixhQUFhO0FBQUEsUUFDWCxNQUFNO0FBQUEsUUFDTixPQUFPLFdBQVc7QUFDaEIsaUJBQU8sY0FBYyxFQUFFLE9BQU8sbUJBQW1CLENBQUM7QUFBQSxRQUNwRDtBQUFBLFFBQ0EsZ0JBQWdCO0FBQUE7QUFBQTtBQUFBO0FBQUEsVUFJZDtBQUFBLFVBQ0E7QUFBQSxVQUNBO0FBQUEsVUFDQTtBQUFBLFVBQ0E7QUFBQSxVQUNBO0FBQUEsVUFDQTtBQUFBLFVBQ0E7QUFBQSxVQUNBO0FBQUEsVUFDQTtBQUFBLFVBQ0E7QUFBQSxVQUNBO0FBQUEsVUFDQTtBQUFBLFVBQ0E7QUFBQSxVQUNBO0FBQUEsVUFDQTtBQUFBLFVBQ0E7QUFBQSxVQUNBO0FBQUEsVUFDQTtBQUFBLFVBQ0E7QUFBQSxVQUNBO0FBQUEsVUFDQTtBQUFBLFVBQ0E7QUFBQSxVQUNBO0FBQUEsVUFDQTtBQUFBLFVBQ0E7QUFBQSxVQUNBO0FBQUEsVUFDQTtBQUFBLFVBQ0E7QUFBQSxVQUNBO0FBQUEsVUFDQTtBQUFBLFVBQ0E7QUFBQSxVQUNBO0FBQUEsVUFDQTtBQUFBLFVBQ0E7QUFBQSxVQUNBO0FBQUEsVUFDQTtBQUFBLFVBQ0E7QUFBQSxVQUNBO0FBQUEsVUFDQTtBQUFBLFVBQ0E7QUFBQSxVQUNBO0FBQUEsVUFDQTtBQUFBLFVBQ0E7QUFBQSxVQUNBO0FBQUEsVUFDQTtBQUFBLFVBQ0E7QUFBQSxVQUNBO0FBQUEsVUFDQTtBQUFBLFVBQ0E7QUFBQSxVQUNBO0FBQUEsVUFDQTtBQUFBLFVBQ0E7QUFBQSxVQUNBO0FBQUEsVUFDQTtBQUFBLFVBQ0E7QUFBQSxVQUNBO0FBQUEsVUFDQTtBQUFBLFVBQ0E7QUFBQSxVQUNBO0FBQUEsVUFDQTtBQUFBO0FBQUEsVUFFQTtBQUFBLFVBQ0E7QUFBQSxVQUNBO0FBQUEsVUFDQTtBQUFBLFVBQ0E7QUFBQSxVQUNBO0FBQUEsUUFDRjtBQUFBLE1BQ0Y7QUFBQSxNQUNBLFVBQVU7QUFBQSxNQUNWLFVBQVU7QUFBQSxNQUNWLFVBQVU7QUFBQSxJQUNaO0FBQUEsRUFD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QUFBQSxRQUNSLFNBQVM7QUFBQSxNQUNYO0FBQUEsTUFDQSxTQUFTO0FBQUEsUUFDUCxRQUFRO0FBQUEsUUFDUixTQUFTO0FBQUEsTUFDWDtBQUFBO0FBQUEsTUFFQSxhQUFhO0FBQUEsTUFDYixXQUFXO0FBQUEsTUFDWCxXQUFXO0FBQUEsTUFDWCxlQUFlO0FBQUEsTUFDZixlQUFlO0FBQUEsTUFDZixXQUFXO0FBQUEsTUFDWCxTQUFTO0FBQUEsTUFDVCxVQUFVO0FBQUEsTUFDVixVQUFVO0FBQUEsTUFDVixZQUFZO0FBQUEsTUFDWixhQUFhO0FBQUEsTUFDYixNQUFNO0FBQUEsTUFDTixVQUFVO0FBQUEsTUFDVixVQUFVO0FBQUEsTUFDVixVQUFVO0FBQUEsTUFDVixVQUFVO0FBQUEsTUFDVixVQUFVO0FBQUEsTUFDVixVQUFVO0FBQUEsTUFDVixVQUFVO0FBQUEsTUFDVixVQUFVO0FBQUEsTUFDVixVQUFVO0FBQUEsTUFDVixXQUFXO0FBQUEsTUFDWCxlQUFlO0FBQUEsTUFDZixlQUFlO0FBQUEsTUFDZixlQUFlO0FBQUEsTUFDZixlQUFlO0FBQUEsTUFDZixzQkFBc0I7QUFBQSxNQUN0QixvQkFBb0I7QUFBQSxNQUNwQixtQkFBbUI7QUFBQSxNQUNuQixvQkFBb0I7QUFBQSxNQUNwQixlQUFlO0FBQUEsTUFDZixlQUFlO0FBQUEsTUFDZixNQUFNO0FBQUEsTUFDTixNQUFNO0FBQUEsTUFDTixNQUFNO0FBQUEsTUFDTixNQUFNO0FBQUEsTUFDTixNQUFNO0FBQUEsTUFDTixNQUFNO0FBQUEsTUFDTixNQUFNO0FBQUEsTUFDTixNQUFNO0FBQUEsTUFDTixNQUFNO0FBQUEsTUFDTixPQUFPO0FBQUEsTUFDUCxXQUFXO0FBQUEsTUFDWCxXQUFXO0FBQUEsTUFDWCxZQUFZO0FBQUEsTUFDWixZQUFZO0FBQUEsTUFDWixZQUFZO0FBQUEsTUFDWixZQUFZO0FBQUEsTUFDWixZQUFZO0FBQUEsTUFDWixZQUFZO0FBQUEsTUFDWixZQUFZO0FBQUEsTUFDWixZQUFZO0FBQUEsTUFDWixZQUFZO0FBQUEsTUFD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QSxNQUNULFNBQVM7QUFBQSxNQUNULFNBQVM7QUFBQSxNQUNULFNBQVM7QUFBQSxNQUNULFNBQVM7QUFBQSxNQUNULFNBQVM7QUFBQSxNQUNULFNBQVM7QUFBQSxNQUNULFNBQVM7QUFBQSxNQUNULFNBQVM7QUFBQSxNQUNULFNBQVM7QUFBQSxNQUNULGNBQWM7QUFBQSxRQUNaLFFBQVE7QUFBQSxRQUNSLFNBQVM7QUFBQSxNQUNYO0FBQUEsTUFDQSxVQUFVO0FBQUEsTUFDVixTQUFTO0FBQUEsTUFDVCxlQUFlO0FBQUEsUUFDYixRQUFRO0FBQUEsUUFDUixTQUFTO0FBQUEsTUFDWDtBQUFBLE1BQ0EsV0FBVztBQUFBLE1BQ1gsVUFBVTtBQUFBLE1BQ1YsZUFBZTtBQUFBLFFBQ2IsUUFBUTtBQUFBLFFBQ1IsU0FBUztBQUFBLE1BQ1g7QUFBQSxNQUNBLFdBQVc7QUFBQSxNQUNYLFVBQVU7QUFBQSxNQUNWLGVBQWU7QUFBQSxRQUNiLFFBQVE7QUFBQSxRQUNSLFNBQVM7QUFBQSxNQUNYO0FBQUEsTUFDQSxXQUFXO0FBQUEsTUFDWCxVQUFVO0FBQUEsTUFDVixlQUFlO0FBQUEsUUFDYixRQUFRO0FBQUEsUUFDUixTQUFTO0FBQUEsTUFDWDtBQUFBLE1BQ0EsV0FBVztBQUFBLE1BQ1gsVUFBVTtBQUFBLE1BQ1YsZUFBZTtBQUFBLFFBQ2IsUUFBUTtBQUFBLFFBQ1IsU0FBUztBQUFBLE1BQ1g7QUFBQSxNQUNBLFdBQVc7QUFBQSxNQUNYLFVBQVU7QUFBQSxNQUNWLGVBQWU7QUFBQSxRQUNiLFFBQVE7QUFBQSxRQUNSLFNBQVM7QUFBQSxNQUNYO0FBQUEsTUFDQSxXQUFXO0FBQUEsTUFDWCxVQUFVO0FBQUEsTUFDVixlQUFlO0FBQUEsUUFDYixRQUFRO0FBQUEsUUFDUixTQUFTO0FBQUEsTUFDWDtBQUFBLE1BQ0EsV0FBVztBQUFBLE1BQ1gsVUFBVTtBQUFBLE1BQ1YsZUFBZTtBQUFBLFFBQ2IsUUFBUTtBQUFBLFFBQ1IsU0FBUztBQUFBLE1BQ1g7QUFBQSxNQUNBLFdBQVc7QUFBQSxNQUNYLFVBQVU7QUFBQSxNQUNWLGVBQWU7QUFBQSxRQUNiLFFBQVE7QUFBQSxRQUNSLFNBQVM7QUFBQSxNQUNYO0FBQUEsTUFDQSxXQUFXO0FBQUEsTUFDWCxVQUFVO0FBQUEsTUFDVixZQUFZO0FBQUEsUUFDVixRQUFRO0FBQUEsUUFDUixTQUFTO0FBQUEsTUFDWDtBQUFBLE1BQ0EsV0FBVztBQUFBLE1BQ1gsWUFBWTtBQUFBLFFBQ1YsUUFBUTtBQUFBLFFBQ1IsU0FBUztBQUFBLE1BQ1g7QUFBQSxNQUNBLFdBQVc7QUFBQSxNQUNYLFlBQVk7QUFBQSxRQUNWLFFBQVE7QUFBQSxRQUNSLFNBQVM7QUFBQSxNQUNYO0FBQUEsTUFDQSxXQUFXO0FBQUEsTUFDWCxZQUFZO0FBQUEsUUFDVixRQUFRO0FBQUEsUUFDUixTQUFTO0FBQUEsTUFDWDtBQUFBLE1BQ0EsV0FBVztBQUFBLE1BQ1gsWUFBWTtBQUFBLFFBQ1YsUUFBUTtBQUFBLFFBQ1IsU0FBUztBQUFBLE1BQ1g7QUFBQSxNQUNBLFdBQVc7QUFBQSxNQUNYLFlBQVk7QUFBQSxRQUNWLFFBQVE7QUFBQSxRQUNSLFNBQVM7QUFBQSxNQUNYO0FBQUEsTUFDQSxXQUFXO0FBQUEsTUFDWCxZQUFZO0FBQUEsUUFDVixRQUFRO0FBQUEsUUFDUixTQUFTO0FBQUEsTUFDWDtBQUFBLE1BQ0EsV0FBVztBQUFBLE1BQ1gsWUFBWTtBQUFBLFFBQ1YsUUFBUTtBQUFBLFFBQ1IsU0FBUztBQUFBLE1BQ1g7QUFBQSxNQUNBLFdBQVc7QUFBQSxNQUNYLFlBQVk7QUFBQSxRQUNWLFFBQVE7QUFBQSxRQUNSLFNBQVM7QUFBQSxNQUNYO0FBQUEsTUFDQSxXQUFXO0FBQUEsTUFDWCxhQUFhO0FBQUEsUUFDWCxRQUFRO0FBQUEsUUFDUixTQUFTO0FBQUEsTUFDWDtBQUFBLE1BQ0EsV0FBVztBQUFBLE1BQ1gsYUFBYTtBQUFBLFFBQ1gsUUFBUTtBQUFBLFFBQ1IsU0FBUztBQUFBLE1BQ1g7QUFBQSxNQUNBLFdBQVc7QUFBQSxNQUNYLGFBQWE7QUFBQSxRQUNYLFFBQVE7QUFBQSxRQUNSLFNBQVM7QUFBQSxNQUNYO0FBQUEsTUFDQSxXQUFXO0FBQUEsTUFDWCxhQUFhO0FBQUEsUUFDWCxRQUFRO0FBQUEsUUFDUixTQUFTO0FBQUEsTUFDWDtBQUFBLE1BQ0EsV0FBVztBQUFBLE1BQ1gsYUFBYTtBQUFBLFFBQ1gsUUFBUTtBQUFBLFFBQ1IsU0FBUztBQUFBLE1BQ1g7QUFBQSxNQUNBLFdBQVc7QUFBQSxNQUNYLGFBQWE7QUFBQSxRQUNYLFFBQVE7QUFBQSxRQUNSLFNBQVM7QUFBQSxNQUNYO0FBQUEsTUFDQSxXQUFXO0FBQUEsTUFDWCxTQUFTO0FBQUEsUUFDUCxRQUFRO0FBQUEsUUFDUixTQUFTO0FBQUEsTUFDWDtBQUFBLE1BQ0EsVUFBVTtBQUFBLE1BQ1YsWUFBWTtBQUFBLE1BQ1osU0FBUztBQUFBLFFBQ1AsUUFBUTtBQUFBLFFBQ1IsU0FBUztBQUFBLE1BQ1g7QUFBQSxNQUNBLFVBQVU7QUFBQSxNQUNWLFlBQVk7QUFBQSxNQUNaLFNBQVM7QUFBQSxRQUNQLFFBQVE7QUFBQSxRQUNSLFNBQVM7QUFBQSxNQUNYO0FBQUEsTUFDQSxVQUFVO0FBQUEsTUFDVixZQUFZO0FBQUEsTUFDWixTQUFTO0FBQUEsUUFDUCxRQUFRO0FBQUEsUUFDUixTQUFTO0FBQUEsTUFDWDtBQUFBLE1BQ0EsVUFBVTtBQUFBLE1BQ1YsWUFBWTtBQUFBLE1BQ1osU0FBUztBQUFBLFFBQ1AsUUFBUTtBQUFBLFFBQ1IsU0FBUztBQUFBLE1BQ1g7QUFBQSxNQUNBLFVBQVU7QUFBQSxNQUNWLFlBQVk7QUFBQSxNQUNaLFNBQVM7QUFBQSxRQUNQLFFBQVE7QUFBQSxRQUNSLFNBQVM7QUFBQSxNQUNYO0FBQUEsTUFDQSxVQUFVO0FBQUEsTUFDVixZQUFZO0FBQUEsTUFDWixTQUFTO0FBQUEsUUFDUCxRQUFRO0FBQUEsUUFDUixTQUFTO0FBQUEsTUFDWDtBQUFBLE1BQ0EsVUFBVTtBQUFBLE1BQ1YsWUFBWTtBQUFBLE1BQ1osU0FBUztBQUFBLFFBQ1AsUUFBUTtBQUFBLFFBQ1IsU0FBUztBQUFBLE1BQ1g7QUFBQSxNQUNBLFVBQVU7QUFBQSxNQUNWLFlBQVk7QUFBQSxNQUNaLFNBQVM7QUFBQSxRQUNQLFFBQVE7QUFBQSxRQUNSLFNBQVM7QUFBQSxNQUNYO0FBQUEsTUFDQSxVQUFVO0FBQUEsTUFDVixZQUFZO0FBQUEsTUFDWixTQUFTO0FBQUEsUUFDUCxRQUFRO0FBQUEsUUFDUixTQUFTO0FBQUEsTUFDWDtBQUFBLE1BQ0EsVUFBVTtBQUFBLE1BQ1YsWUFBWTtBQUFBLE1BQ1osU0FBUztBQUFBLFFBQ1AsUUFBUTtBQUFBLFFBQ1IsU0FBUztBQUFBLE1BQ1g7QUFBQSxNQUNBLFVBQVU7QUFBQSxNQUNWLFlBQVk7QUFBQSxNQUNaLFNBQVM7QUFBQSxRQUNQLFFBQVE7QUFBQSxRQUNSLFNBQVM7QUFBQSxNQUNYO0FBQUEsTUFDQSxVQUFVO0FBQUEsTUFDVixZQUFZO0FBQUEsTUFDWixTQUFTO0FBQUEsUUFDUCxRQUFRO0FBQUEsUUFDUixTQUFTO0FBQUEsTUFDWDtBQUFBLE1BQ0EsVUFBVTtBQUFBLE1BQ1YsWUFBWTtBQUFBLE1BQ1osU0FBUztBQUFBLFFBQ1AsUUFBUTtBQUFBLFFBQ1IsU0FBUztBQUFBLE1BQ1g7QUFBQSxNQUNBLFVBQVU7QUFBQSxNQUNWLFlBQVk7QUFBQSxNQUNaLFNBQVM7QUFBQSxRQUNQLFFBQVE7QUFBQSxRQUNSLFNBQVM7QUFBQSxNQUNYO0FBQUEsTUFDQSxVQUFVO0FBQUEsTUFDVixZQUFZO0FBQUEsTUFDWixTQUFTO0FBQUEsUUFDUCxRQUFRO0FBQUEsUUFDUixTQUFTO0FBQUEsTUFDWDtBQUFBLE1BQ0EsVUFBVTtBQUFBLE1BQ1YsWUFBWTtBQUFBLE1BQ1osU0FBUztBQUFBLFFBQ1AsUUFBUTtBQUFBLFFBQ1IsU0FBUztBQUFBLE1BQ1g7QUFBQSxNQUNBLFVBQVU7QUFBQSxNQUNWLFlBQVk7QUFBQSxNQUNaLFNBQVM7QUFBQSxRQUNQLFFBQVE7QUFBQSxRQUNSLFNBQVM7QUFBQSxNQUNYO0FBQUEsTUFDQSxVQUFVO0FBQUEsTUFDVixZQUFZO0FBQUEsTUFDWixVQUFVO0FBQUEsUUFDUixRQUFRO0FBQUEsUUFDUixTQUFTO0FBQUEsTUFDWDtBQUFBLE1BQ0EsV0FBVztBQUFBLE1BQ1gsYUFBYTtBQUFBLE1BQ2IsVUFBVTtBQUFBLFFBQ1IsUUFBUTtBQUFBLFFBQ1IsU0FBUztBQUFBLE1BQ1g7QUFBQSxNQUNBLFdBQVc7QUFBQSxNQUNYLGFBQWE7QUFBQSxNQUNiLFVBQVU7QUFBQSxRQUNSLFFBQVE7QUFBQSxRQUNSLFNBQVM7QUFBQSxNQUNYO0FBQUEsTUFDQSxXQUFXO0FBQUEsTUFDWCxhQUFhO0FBQUEsTUFDYixVQUFVO0FBQUEsUUFDUixRQUFRO0FBQUEsUUFDUixTQUFTO0FBQUEsTUFDWDtBQUFBLE1BQ0EsV0FBVztBQUFBLE1BQ1gsYUFBYTtBQUFBLE1BQ2IsVUFBVTtBQUFBLFFBQ1IsUUFBUTtBQUFBLFFBQ1IsU0FBUztBQUFBLE1BQ1g7QUFBQSxNQUNBLFdBQVc7QUFBQSxNQUNYLGFBQWE7QUFBQSxNQUNiLFVBQVU7QUFBQSxRQUNSLFFBQVE7QUFBQSxRQUNSLFNBQVM7QUFBQSxNQUNYO0FBQUEsTUFDQSxXQUFXO0FBQUEsTUFDWCxhQUFhO0FBQUEsTUFDYixVQUFVO0FBQUEsUUFDUixRQUFRO0FBQUEsUUFDUixTQUFTO0FBQUEsTUFDWDtBQUFBLE1BQ0EsV0FBVztBQUFBLE1BQ1gsYUFBYTtBQUFBLE1BQ2IsVUFBVTtBQUFBLFFBQ1IsUUFBUTtBQUFBLFFBQ1IsU0FBUztBQUFBLE1BQ1g7QUFBQSxNQUNBLFdBQVc7QUFBQSxNQUNYLGFBQWE7QUFBQSxNQUNiLGVBQWU7QUFBQSxRQUNiLFFBQVE7QUFBQSxRQUNSLFNBQVM7QUFBQSxNQUNYO0FBQUEsTUFDQSxlQUFlO0FBQUEsUUFDYixRQUFRO0FBQUEsUUFDUixTQUFTO0FBQUEsTUFDWDtBQUFBLE1BQ0EsWUFBWTtBQUFBLFFBQ1YsUUFBUTtBQUFBLFFBQ1IsU0FBUztBQUFBLE1BQ1g7QUFBQSxNQUNBLGNBQWM7QUFBQSxRQUNaLFFBQVE7QUFBQSxRQUNSLFNBQVM7QUFBQSxNQUNYO0FBQUEsTUFDQSxZQUFZO0FBQUEsUUFDVixRQUFRO0FBQUEsUUFDUixTQUFTO0FBQUEsTUFDWDtBQUFBLE1BQ0EsY0FBYztBQUFBLFFBQ1osUUFBUTtBQUFBLFFBQ1IsU0FBUztBQUFBLE1BQ1g7QUFBQSxNQUNBLFdBQVc7QUFBQSxRQUNULFFBQVE7QUFBQSxRQUNSLFNBQVM7QUFBQSxNQUNYO0FBQUEsTUFDQSxjQUFjO0FBQUEsUUFDWixRQUFRO0FBQUEsUUFDUixTQUFTO0FBQUEsTUFDWDtBQUFBLE1BQ0EsY0FBYztBQUFBLFFBQ1osUUFBUTtBQUFBLFFBQ1IsU0FBUztBQUFBLE1BQ1g7QUFBQSxNQUNBLFNBQVM7QUFBQSxRQUNQLFFBQVE7QUFBQSxRQUNSLFNBQVM7QUFBQSxNQUNYO0FBQUEsTUFDQSxTQUFTO0FBQUEsUUFDUCxRQUFRO0FBQUEsUUFDUixTQUFTO0FBQUEsTUFDWDtBQUFBLE1BQ0EsVUFBVTtBQUFBLFFBQ1IsUUFBUTtBQUFBLFFBQ1IsU0FBUztBQUFBLE1BQ1g7QUFBQSxNQUNBLFNBQVM7QUFBQSxRQUNQLFFBQVE7QUFBQSxRQUNSLFNBQVM7QUFBQSxNQUNYO0FBQUEsTUFDQSxZQUFZO0FBQUEsUUFDVixRQUFRO0FBQUEsUUFDUixTQUFTO0FBQUEsTUFDWDtBQUFBLE1BQ0EsVUFBVTtBQUFBLFFBQ1IsUUFBUTtBQUFBLFFBQ1IsU0FBUztBQUFBLE1BQ1g7QUFBQSxNQUNBLFFBQVE7QUFBQSxRQUNOLFFBQVE7QUFBQSxRQUNSLFNBQVM7QUFBQSxNQUNYO0FBQUEsTUFDQSxtQkFBbUI7QUFBQSxRQUNqQixRQUFRO0FBQUEsUUFDUixTQUFTO0FBQUEsTUFDWDtBQUFBLE1BQ0EsY0FBYztBQUFBLFFBQ1osUUFBUTtBQUFBLFFBQ1IsU0FBUztBQUFBLE1BQ1g7QUFBQSxNQUNBLFNBQVM7QUFBQSxRQUNQLFFBQVE7QUFBQSxRQUNSLFNBQVM7QUFBQSxNQUNYO0FBQUEsTUFDQSxVQUFVO0FBQUEsUUFDUixRQUFRO0FBQUEsUUFDUixTQUFTO0FBQUEsTUFDWDtBQUFBLE1BQ0EsWUFBWTtBQUFBLFFBQ1YsUUFBUTtBQUFBLFFBQ1IsU0FBUztBQUFBLE1BQ1g7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QUFBLE1BQy9qQixDQUFDLFFBQVEsNFhBQTRYO0FBQUEsTUFDclksQ0FBQyxRQUFRLGd2QkFBZ3ZCO0FBQUEsTUFDenZCLENBQUMsUUFBUSw0WEFBNFg7QUFBQSxNQUNyWSxDQUFDLFFBQVEsZ3ZCQUFndkI7QUFBQSxNQUN6dkIsQ0FBQyxRQUFRLDRYQUE0WDtBQUFBLE1BQ3JZLENBQUMsUUFBUSxndkJBQWd2QjtBQUFBLE1BQ3p2QixDQUFDLFFBQVEsNFhBQTRYO0FBQUEsTUFDclksQ0FBQyxRQUFRLGd2QkFBZ3ZCO0FBQUEsTUFDenZCLENBQUMsUUFBUSw0WEFBNFg7QUFBQSxNQUNyWSxDQUFDLFFBQVEsZ3ZCQUFndkI7QUFBQSxNQUN6dkIsQ0FBQyxRQUFRLDRYQUE0WDtBQUFBLE1BQ3JZLENBQUMsUUFBUSxndkJBQWd2QjtBQUFBLE1BQ3p2QixDQUFDLFFBQVEsNFhBQTRYO0FBQUEsTUFDclksQ0FBQyxRQUFRLGd2QkFBZ3ZCO0FBQUEsTUFDenZCLENBQUMsUUFBUSw0WEFBNFg7QUFBQSxNQUNyWSxDQUFDLFFBQVEsZ3ZCQUFndkI7QUFBQSxNQUN6dkIsQ0FBQyxRQUFRLDRYQUE0WDtBQUFBLE1BQ3JZLENBQUMsUUFBUSxndkJBQWd2QjtBQUFBLE1BQ3p2QixDQUFDLFFBQVEsNFhBQTRYO0FBQUEsTUFDclksQ0FBQyxRQUFRLGd2QkFBZ3ZCO0FBQUEsTUFDenZCLENBQUMsUUFBUSw0WEFBNFg7QUFBQSxNQUNyWSxDQUFDLFFBQVEsZ3ZCQUFndkI7QUFBQSxNQUN6dkIsQ0FBQyxRQUFRLDRYQUE0WDtBQUFBLE1BQ3JZLENBQUMsUUFBUSxndkJBQWd2QjtBQUFBLE1BQ3p2QixDQUFDLFFBQVEsNFhBQTRYO0FBQUEsTUFDclksQ0FBQyxRQUFRLGd2QkFBZ3ZCO0FBQUEsTUFDenZCLENBQUMsUUFBUSw0WEFBNFg7QUFBQSxNQUNyWSxDQUFDLFFBQVEsZ3ZCQUFndkI7QUFBQSxNQUN6dkIsQ0FBQyxRQUFRLDRYQUE0WDtBQUFBLE1BQ3JZLENBQUMsUUFBUSxndkJBQWd2QjtBQUFBLE1BQ3p2QixDQUFD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c2pCQUFzakI7QUFBQSxNQUMvakIsQ0FBQyxRQUFRLHNqQkFBc2pCO0FBQUEsTUFDL2pCLENBQUMsUUFBUSxzakJBQXNqQjtBQUFBLE1BQy9qQixDQUFDLFFBQVEsc2pCQUFzakI7QUFBQSxNQUMvakIsQ0FBQyxRQUFRLHNqQkFBc2pCO0FBQUEsTUFDL2pCLENBQUMsUUFBUSxzakJBQXNqQjtBQUFBLE1BQy9qQixDQUFDLFFBQVEsc2pCQUFzakI7QUFBQSxNQUMvakIsQ0FBQyxRQUFRLG9UQUFvVDtBQUFBLE1BQzdULENBQUMsUUFBUSxzakJBQXNqQjtBQUFBLE1BQy9qQixDQUFDLFFBQVEsc2pCQUFzakI7QUFBQSxNQUMvakIsQ0FBQyxRQUFRLHNqQkFBc2pCO0FBQUEsTUFDL2pCLENBQUMsUUFBUSxzakJBQXNqQjtBQUFBLE1BQy9qQixDQUFDLFFBQVEsc2pCQUFzakI7QUFBQSxNQUMvakIsQ0FBQyxRQUFRLHNqQkFBc2pCO0FBQUEsTUFDL2pCLENBQUMsUUFBUSxzakJBQXNqQjtBQUFBLE1BQy9qQixDQUFDLFFBQVEsc2pCQUFzakI7QUFBQSxNQUMvakIsQ0FBQyxRQUFRLHNqQkFBc2pCO0FBQUEsTUFDL2pCLENBQUMsUUFBUSxzakJBQXNqQjtBQUFBLE1BQy9qQixDQUFDLFFBQVEsc2pCQUFzakI7QUFBQSxNQUMvakIsQ0FBQyxRQUFRLHNqQkFBc2pCO0FBQUEsTUFDL2pCLENBQUMsUUFBUSxzakJBQXNqQjtBQUFBLE1BQy9qQixDQUFDLFFBQVEsc2pCQUFzakI7QUFBQSxNQUMvakIsQ0FBQyxRQUFRLHNqQkFBc2pCO0FBQUEsTUFDL2pCLENBQUMsUUFBUSxzakJBQXNqQjtBQUFBLE1BQy9qQixDQUFDLFFBQVEsc2pCQUFzakI7QUFBQSxNQUMvakIsQ0FBQyxRQUFRLHNqQkFBc2pCO0FBQUEsTUFDL2pCLENBQUMsUUFBUSxzakJBQXNqQjtBQUFBLE1BQy9qQixDQUFDLFFBQVEsc2pCQUFzakI7QUFBQSxNQUMvakIsQ0FBQyxRQUFRLHNqQkFBc2pCO0FBQUEsTUFDL2pCLENBQUMsUUFBUSxzakJB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RUFBRSxRQUFRLENBQUMsS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE9BQU8sT0FBTyxPQUFPLE9BQU8sT0FBTyxPQUFPLE9BQU8sT0FBTyxPQUFPLE9BQU8sT0FBTyxPQUFPLE9BQU8sT0FBTyxPQUFPLE9BQU8sT0FBTyxPQUFPLE9BQU8sT0FBTyxPQUFPLE9BQU8sT0FBTyxPQUFPLE9BQU8sT0FBTyxPQUFPLE9BQU8sT0FBTyxPQUFPLE9BQU8sT0FBTyxPQUFPLE9BQU8sT0FBTyxPQUFPLE9BQU8sT0FBTyxPQUFPLE9BQU8sT0FBTyxPQUFPLE9BQU8sT0FBTyxPQUFPLE9BQU8sT0FBTyxPQUFPLE9BQU8sT0FBTyxPQUFPLE9BQU8sT0FBTyxPQUFPLE9BQU8sT0FBTyxPQUFPLE9BQU8sT0FBTyxPQUFPLE9BQU8sT0FBTyxPQUFPLE9BQU8sT0FBTyxPQUFPLE9BQU8sT0FBTyxPQUFPLE9BQU8sT0FBTyxPQUFPLE9BQU8sT0FBTyxPQUFPLE9BQU8sT0FBTyxPQUFPLE9BQU8sT0FBTyxPQUFPLE9BQU8sT0FBTyxPQUFPLE9BQU8sT0FBTyxPQUFPLE9BQU8sT0FBTyxPQUFPLE9BQU8sT0FBTyxPQUFPLE9BQU8sT0FBTyxPQUFPLE9BQU8sT0FBTyxPQUFPLE9BQU8sT0FBTyxPQUFPLE9BQU8sT0FBTyxPQUFPLEtBQUssR0FBRyxTQUFTLENBQUMsR0FBRyxJQUFJLElBQUksSUFBSSxJQUFJLElBQUksSUFBSSxJQUFJLElBQUksS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE9BQU8sT0FBTyxPQUFPLE9BQU8sT0FBTyxPQUFPLE9BQU8sT0FBTyxPQUFPLE9BQU8sT0FBTyxPQUFPLE9BQU8sT0FBTyxPQUFPLE9BQU8sT0FBTyxPQUFPLE9BQU8sT0FBTyxPQUFPLE9BQU8sT0FBTyxPQUFPLE9BQU8sT0FBTyxPQUFPLE9BQU8sT0FBTyxPQUFPLE9BQU8sT0FBTyxPQUFPLE9BQU8sT0FBTyxPQUFPLE9BQU8sT0FBTyxPQUFPLE9BQU8sT0FBTyxPQUFPLE9BQU8sT0FBTyxPQUFPLE9BQU8s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Qy9qQixDQUFDLFFBQVEsc2pCQUFzakI7QUFBQSxNQUMvakIsQ0FBQyxRQUFRLHNqQkFBc2pCO0FBQUEsTUFDL2pCLENBQUMsUUFBUSxzakJBQXNqQjtBQUFBLE1BQy9qQixDQUFDLFFBQVEsc2pCQUFzakI7QUFBQSxNQUMvakIsQ0FBQyxRQUFRLHNqQkFBc2pCO0FBQUEsTUFDL2pCLENBQUMsUUFBUSxzakJBQXNqQjtBQUFBLE1BQy9qQixDQUFDLFFBQVEsc2pCQUFzakI7QUFBQSxNQUMvakIsQ0FBQyxRQUFRLHNqQkFBc2pCO0FBQUEsTUFDL2pCLENBQUMsUUFBUSxzakJBQXNqQjtBQUFBLE1BQy9qQixDQUFDLFFBQVEsc2pCQUFzakI7QUFBQSxNQUMvakIsQ0FBQyxRQUFRLHNqQkFBc2pCO0FBQUEsTUFDL2pCLENBQUMsUUFBUSxzakJBQXNqQjtBQUFBLE1BQy9qQixDQUFDLFFBQVEsc2pCQUFzakI7QUFBQSxNQUMvakIsQ0FBQyxRQUFRLHNqQkFBc2pCO0FBQUEsTUFDL2pCLENBQUMsUUFBUSxzakJBQXNqQjtBQUFBLE1BQy9qQixDQUFDLFFBQVEsc2pCQUFzakI7QUFBQSxNQUMvakIsQ0FBQyxRQUFRLHNqQkFBc2pCO0FBQUEsTUFDL2pCLENBQUMsUUFBUSxzakJBQXNqQjtBQUFBLE1BQy9qQixDQUFDLFFBQVEsc2pCQUFzakI7QUFBQSxNQUMvakIsQ0FBQyxRQUFRLHNqQkFBc2pCO0FBQUEsTUFDL2pCLENBQUMsUUFBUSxzakJBQXNqQjtBQUFBLE1BQy9qQixDQUFDLFFBQVEsc2pCQUFzakI7QUFBQSxNQUMvakIsQ0FBQyxRQUFRLHNqQkFBc2pCO0FBQUEsTUFDL2pCLENBQUMsUUFBUSxzakJBQXNqQjtBQUFBLE1BQy9qQixDQUFDLFFBQVEsc2pCQUFzakI7QUFBQSxNQUMvakIsQ0FBQyxRQUFRLHNqQkFBc2pCO0FBQUEsTUFDL2pCLENBQUMsUUFBUSxzakJBQXNqQjtBQUFBLE1BQy9qQixDQUFDLFFBQVEsc2pCQUFzakI7QUFBQSxJQUNqa0I7QUFBQSxFQUNGO0FBQ0YsQ0FBQztBQUdELElBQUksaUJBQWlCQSxZQUFXO0FBQUEsRUFDOUIsK0VBQStFLFVBQVUsU0FBUztBQUNoRyxZQUFRLFVBQVU7QUFBQSxNQUNoQixDQUFDLEtBQUssTUFBTSxHQUFHO0FBQUEsTUFDZixDQUFDLFFBQVEsMFhBQTBYO0FBQUEsTUFDblksQ0FBQyxRQUFRLDhXQUE4VyxHQUFHLDBLQUEwSztBQUFBLE1BQ3BpQixDQUFDLFFBQVEsb05BQW9OLEdBQUcsZ0lBQWdJO0FBQUEsTUFDaFcsQ0FBQyxRQUFRLDhGQUE4RixHQUFHLFVBQVUsR0FBRyxVQUFVLEdBQUcsNEJBQTRCLElBQUksVUFBVSxFQUFFO0FBQUEsTUFDaEwsQ0FBQyxRQUFRLGtDQUFrQyxJQUFJLFVBQVUsR0FBRyxVQUFVLElBQUksVUFBVSxHQUFHLFVBQVUsRUFBRTtBQUFBLE1BQ25HLENBQUMsUUFBUSxVQUFVLElBQUksZ0NBQWdDO0FBQUEsTUFDdkQsQ0FBQyxRQUFRLFFBQVE7QUFBQSxNQUNqQixDQUFDLFFBQVEsNFhBQTRYO0FBQUEsTUFDclksQ0FBQyxRQUFRLHNqQkFBc2pCO0FBQUEsTUFDL2pCLENBQUMsUUFBUSw0WEFBNFg7QUFBQSxNQUNyWSxDQUFDLFFBQVEsc2pCQUFzakI7QUFBQSxNQUMvakIsQ0FBQyxRQUFRLDRYQUE0WDtBQUFBLE1BQ3JZLENBQUMsUUFBUSxzakJBQXNqQjtBQUFBLE1BQy9qQixDQUFDLFFBQVEsNFhBQTRYO0FBQUEsTUFDclksQ0FBQyxRQUFRLHNqQkFBc2pCO0FBQUEsTUFDL2pCLENBQUMsUUFBUSw0WEFBNFg7QUFBQSxNQUNyWSxDQUFDLFFBQVEsc2pCQUFzakI7QUFBQSxNQUMvakIsQ0FBQyxRQUFRLDRYQUE0WDtBQUFBLE1BQ3JZLENBQUMsUUFBUSxzakJBQXNqQjtBQUFBLE1BQy9qQixDQUFDLFFBQVEsNFhBQTRYO0FBQUEsTUFDclksQ0FBQyxRQUFRLHNqQkFBc2pCO0FBQUEsTUFDL2pCLENBQUMsUUFBUSw0WEFBNFg7QUFBQSxNQUNyWSxDQUFDLFFBQVEsc2pCQUFzakI7QUFBQSxNQUMvakIsQ0FBQyxRQUFRLDRYQUE0WDtBQUFBLE1BQ3JZLENBQUMsUUFBUSxzakJBQXNqQjtBQUFBLE1BQy9qQixDQUFDLFFBQVEsNFhBQTRYO0FBQUEsTUFDclksQ0FBQyxRQUFRLHNqQkFBc2pCO0FBQUEsTUFDL2pCLENBQUMsUUFBUSw0WEFBNFg7QUFBQSxNQUNyWSxDQUFDLFFBQVEsc2pCQUFzakI7QUFBQSxNQUMvakIsQ0FBQyxRQUFRLDRYQUE0WDtBQUFBLE1BQ3JZLENBQUMsUUFBUSxzakJBQXNqQjtBQUFBLE1BQy9qQixDQUFDLFFBQVEsNFhBQTRYO0FBQUEsTUFDclksQ0FBQyxRQUFRLHNqQkFBc2pCO0FBQUEsTUFDL2pCLENBQUMsUUFBUSw0WEFBNFg7QUFBQSxNQUNyWSxDQUFDLFFBQVEsc2pCQUFzakI7QUFBQSxNQUMvakIsQ0FBQyxRQUFRLDRYQUE0WDtBQUFBLE1BQ3JZLENBQUMsUUFBUSxzakJBQXNqQjtBQUFBLE1BQy9qQixDQUFDLFFBQVEsNFhBQTRYO0FBQUEsTUFDclksQ0FBQyxRQUFRLHNqQkFBc2pCO0FBQUEsTUFDL2pCLENBQUMsUUFBUSw0WEFBNFg7QUFBQSxNQUNyWSxDQUFDLFFBQVEsc2pCQUFzakI7QUFBQSxNQUMvakIsQ0FBQyxRQUFRLDRYQUE0WDtBQUFBLE1BQ3JZLENBQUMsUUFBUSxzakJBQXNqQjtBQUFBLE1BQy9qQixDQUFDLFFBQVEsNFhBQTRYO0FBQUEsTUFDclksQ0FBQyxRQUFRLHNqQkFBc2pCO0FBQUEsTUFDL2pCLENBQUMsUUFBUSw0WEFBNFg7QUFBQSxNQUNyWSxDQUFDLFFBQVEsc2pCQUFzakI7QUFBQSxNQUMvakIsQ0FBQyxRQUFRLDRYQUE0WDtBQUFBLE1BQ3JZLENBQUMsUUFBUSxzakJBQXNqQjtBQUFBLE1BQy9qQixDQUFDLFFBQVEsNFhBQTRYO0FBQUEsTUFDclksQ0FBQyxRQUFRLHNqQkFBc2pCO0FBQUEsTUFDL2pCLENBQUMsUUFBUSw0WEFBNFg7QUFBQSxNQUNyWSxDQUFDLFFBQVEsc2pCQUFzakI7QUFBQSxNQUMvakIsQ0FBQyxRQUFRLDRYQUE0WDtBQUFBLE1BQ3JZLENBQUMsUUFBUSxzakJBQXNqQjtBQUFBLE1BQy9qQixDQUFDLFFBQVEsNFhBQTRYO0FBQUEsTUFDclksQ0FBQyxRQUFRLHNqQkFBc2pCO0FBQUEsTUFDL2pCLENBQUMsUUFBUSw0WEFBNFg7QUFBQSxNQUNyWSxDQUFDLFFBQVEsc2pCQUFzakI7QUFBQSxNQUMvakIsQ0FBQyxRQUFRLDRYQUE0WDtBQUFBLE1BQ3JZLENBQUMsUUFBUSxzakJBQXNqQjtBQUFBLE1BQy9qQixDQUFDLFFBQVEsNFhBQTRYO0FBQUEsTUFDclksQ0FBQyxRQUFRLHNqQkFBc2pCO0FBQUEsTUFDL2pCLENBQUMsUUFBUSw0WEFBNFg7QUFBQSxNQUNyWSxDQUFDLFFBQVEsc2pCQUFzakI7QUFBQSxNQUMvakIsQ0FBQyxRQUFRLDRYQUE0WDtBQUFBLE1BQ3JZLENBQUMsUUFBUSxzakJBQXNqQjtBQUFBLE1BQy9qQixDQUFDLFFBQVEsNFhBQTRYO0FBQUEsTUFDclksQ0FBQyxRQUFRLHNqQkFBc2pCO0FBQUEsTUFDL2pCLENBQUMsUUFBUSw0WEFBNFg7QUFBQSxNQUNyWSxDQUFDLFFBQVEsc2pCQUFzakI7QUFBQSxNQUMvakIsQ0FBQyxRQUFRLDRYQUE0WDtBQUFBLE1BQ3JZLENBQUMsUUFBUSxzakJBQXNqQjtBQUFBLE1BQy9qQixDQUFDLFFBQVEsNFhBQTRYO0FBQUEsTUFDclksQ0FBQyxRQUFRLHNqQkFBc2pCO0FBQUEsTUFDL2pCLENBQUMsUUFBUSw0WEFBNFg7QUFBQSxNQUNyWSxDQUFDLFFBQVEsNFhBQTRYO0FBQUEsTUFDclksQ0FBQyxRQUFRLHNqQkFBc2pCO0FBQUEsTUFDL2pCLENBQUMsUUFBUSw0WEFBNFg7QUFBQSxNQUNyWSxDQUFDLFFBQVEsc2pCQUFzakI7QUFBQSxNQUMvakIsQ0FBQyxRQUFRLDRYQUE0WDtBQUFBLE1BQ3JZLENBQUMsUUFBUSxzakJBQXNqQjtBQUFBLE1BQy9qQixDQUFDLFFBQVEsNFhBQTRYO0FBQUEsTUFDclksQ0FBQyxRQUFRLHNqQkFBc2pCO0FBQUEsTUFDL2pCLENBQUMsUUFBUSw0WEFBNFg7QUFBQSxNQUNyWSxDQUFDLFFBQVEsc2pCQUFzakI7QUFBQSxNQUMvakIsQ0FBQyxRQUFRLDRYQUE0WDtBQUFBLE1BQ3JZLENBQUMsUUFBUSxzakJBQXNqQjtBQUFBLE1BQy9qQixDQUFDLFFBQVEsNFhBQTRYO0FBQUEsTUFDclksQ0FBQyxRQUFRLHNqQkFBc2pCO0FBQUEsTUFDL2pCLENBQUMsUUFBUSw0WEFBNFg7QUFBQSxNQUNyWSxDQUFDLFFBQVEsc2pCQUFzakI7QUFBQSxNQUMvakIsQ0FBQyxRQUFRLDRYQUE0WDtBQUFBLE1BQ3JZLENBQUMsUUFBUSxzakJBQXNqQjtBQUFBLE1BQy9qQixDQUFDLFFBQVEsNFhBQTRYO0FBQUEsTUFDclksQ0FBQyxRQUFRLHNqQkFBc2pCO0FBQUEsTUFDL2pCLENBQUMsUUFBUSw0WEFBNFg7QUFBQSxNQUNyWSxDQUFDLFFBQVEsc2pCQUFzakI7QUFBQSxNQUMvakIsQ0FBQyxRQUFRLDRYQUE0WDtBQUFBLE1BQ3JZLENBQUMsUUFBUSxzakJBQXNqQjtBQUFBLE1BQy9qQixDQUFDLFFBQVEsNFhBQTRYO0FBQUEsTUFDclksQ0FBQyxRQUFRLHNqQkFBc2pCO0FBQUEsTUFDL2pCLENBQUMsUUFBUSw0WEFBNFg7QUFBQSxNQUNyWSxDQUFDLFFBQVEsc2pCQUFzakI7QUFBQSxNQUMvakIsQ0FBQyxRQUFRLDRYQUE0WDtBQUFBLE1BQ3JZLENBQUMsUUFBUSxzakJBQXNqQjtBQUFBLE1BQy9qQixDQUFDLFFBQVEsNFhBQTRYO0FBQUEsTUFDclksQ0FBQyxRQUFRLHNqQkFBc2pCO0FBQUEsTUFDL2pCLENBQUMsUUFBUSw0WEFBNFg7QUFBQSxNQUNyWSxDQUFDLFFBQVEsc2pCQUFzakI7QUFBQSxNQUMvakIsQ0FBQyxRQUFRLDRYQUE0WDtBQUFBLE1BQ3JZLENBQUMsUUFBUSxzakJBQXNqQjtBQUFBLE1BQy9qQixDQUFDLFFBQVEsNFhBQTRYO0FBQUEsTUFDclksQ0FBQyxRQUFRLHNqQkFBc2pCO0FBQUEsTUFDL2pCLENBQUMsUUFBUSw0WEFBNFg7QUFBQSxNQUNyWSxDQUFDLFFBQVEsc2pCQUFzakI7QUFBQSxNQUMvakIsQ0FBQyxRQUFRLDRYQUE0WDtBQUFBLE1BQ3JZLENBQUMsUUFBUSxzakJBQXNqQjtBQUFBLE1BQy9qQixDQUFDLFFBQVEsNFhBQTRYO0FBQUEsTUFDclksQ0FBQyxRQUFRLHNqQkFBc2pCO0FBQUEsTUFDL2pCLENBQUMsUUFBUSw0WEFBNFg7QUFBQSxNQUNyWSxDQUFDLFFBQVEsc2pCQUFzakI7QUFBQSxNQUMvakIsQ0FBQyxRQUFRLDRYQUE0WDtBQUFBLE1BQ3JZLENBQUMsUUFBUSxzakJBQXNqQjtBQUFBLE1BQy9qQixDQUFDLFFBQVEsNFhBQTRYO0FBQUEsTUFDclksQ0FBQyxRQUFRLHNqQkFBc2pCO0FBQUEsTUFDL2pCLENBQUMsUUFBUSw0WEFBNFg7QUFBQSxNQUNyWSxDQUFDLFFBQVEsc2pCQUFzakI7QUFBQSxNQUMvakIsQ0FBQyxRQUFRLDRYQUE0WDtBQUFBLE1BQ3JZLENBQUMsUUFBUSxzakJBQXNqQjtBQUFBLE1BQy9qQixDQUFDLFFBQVEsNFhBQTRYO0FBQUEsTUFDclksQ0FBQyxRQUFRLHNqQkFBc2pCO0FBQUEsTUFDL2pCLENBQUMsUUFBUSw0WEFBNFg7QUFBQSxNQUNyWSxDQUFDLFFBQVEsc2pCQUFzakI7QUFBQSxNQUMvakIsQ0FBQyxRQUFRLDRYQUE0WDtBQUFBLE1BQ3JZLENBQUMsUUFBUSxzakJBQXNqQjtBQUFBLE1BQy9qQixDQUFDLFFBQVEsNFhBQTRYO0FBQUEsTUFDclksQ0FBQyxRQUFRLHNqQkFBc2pCO0FBQUEsTUFDL2pCLENBQUMsUUFBUSw0WEFBNFg7QUFBQSxNQUNyWSxDQUFDLFFBQVEsc2pCQUFzakI7QUFBQSxNQUMvakIsQ0FBQyxRQUFRLDRYQUE0WDtBQUFBLE1BQ3JZLENBQUMsUUFBUSxzakJBQXNqQjtBQUFBLE1BQy9qQixDQUFDLFFBQVEsNFhBQTRYO0FBQUEsTUFDclksQ0FBQyxRQUFRLHNqQkFBc2pCO0FBQUEsTUFDL2pCLENBQUMsUUFBUSw0WEFBNFg7QUFBQSxNQUNyWSxDQUFDLFFBQVEs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TTtBQUFBLFFBQ04sT0FBTyxXQUFXO0FBQ2hCLGlCQUFPLGVBQWU7QUFBQSxRQUN4QjtBQUFBLE1BQ0Y7QUFBQTtBQUFBLE1BRUEsUUFBUTtBQUFBLE1BQ1IsYUFBYTtBQUFBLFFBQ1gsTUFBTTtBQUFBLFFBQ04sT0FBTyxXQUFXO0FBQ2hCLGlCQUFPLGVBQWUsRUFBRSxPQUFPLG9CQUFvQixDQUFDO0FBQUEsUUFDdEQ7QUFBQSxRQUNBLGdCQUFnQjtBQUFBO0FBQUE7QUFBQTtBQUFBLFVBSWQ7QUFBQSxVQUNBO0FBQUEsVUFDQTtBQUFBLFVBQ0E7QUFBQSxVQUNBO0FBQUEsVUFDQTtBQUFBLFVBQ0E7QUFBQSxVQUNBO0FBQUEsVUFDQTtBQUFBLFVBQ0E7QUFBQSxVQUNBO0FBQUEsVUFDQTtBQUFBLFVBQ0E7QUFBQSxVQUNBO0FBQUEsVUFDQTtBQUFBLFVBQ0E7QUFBQSxVQUNBO0FBQUEsVUFDQTtBQUFBLFVBQ0E7QUFBQSxVQUNBO0FBQUEsVUFDQTtBQUFBLFVBQ0E7QUFBQSxVQUNBO0FBQUEsVUFDQTtBQUFBLFVBQ0E7QUFBQSxVQUNBO0FBQUEsVUFDQTtBQUFBLFVBQ0E7QUFBQSxVQUNBO0FBQUEsVUFDQTtBQUFBLFVBQ0E7QUFBQSxVQUNBO0FBQUEsVUFDQTtBQUFBLFVBQ0E7QUFBQSxVQUNBO0FBQUEsVUFDQTtBQUFBLFVBQ0E7QUFBQSxVQUNBO0FBQUEsVUFDQTtBQUFBLFVBQ0E7QUFBQSxVQUNBO0FBQUEsVUFDQTtBQUFBLFVBQ0E7QUFBQSxVQUNBO0FBQUEsVUFDQTtBQUFBLFVBQ0E7QUFBQSxVQUNBO0FBQUEsVUFDQTtBQUFBLFVBQ0E7QUFBQSxVQUNBO0FBQUEsVUFDQTtBQUFBLFVBQ0E7QUFBQSxVQUNBO0FBQUEsVUFDQTtBQUFBLFVBQ0E7QUFBQSxVQUNBO0FBQUEsVUFDQTtBQUFBLFVBQ0E7QUFBQSxVQUNBO0FBQUEsVUFDQTtBQUFBLFVBQ0E7QUFBQTtBQUFBLFVBRUE7QUFBQSxVQUNBO0FBQUEsVUFDQTtBQUFBLFVBQ0E7QUFBQSxVQUNBO0FBQUEsVUFDQTtBQUFBLFFBQ0Y7QUFBQSxNQUNGO0FBQUEsTUFDQSxVQUFVO0FBQUEsTUFDVixVQUFVO0FBQUEsTUFDVixVQUFVO0FBQUEsSUFDWjtBQUFBLEVBQ0Y7QUFDRixDQUFDO0FBR0QsSUFBSSxxQkFBcUJBLFlBQVc7QUFBQSxFQUNsQyxzRUFBc0UsVUFBVSxTQUFTO0FBQ3ZGO0FBQ0EsUUFBSSxVQUFVO0FBQUEsTUFDWixrQkFBa0I7QUFBQSxNQUNsQixlQUFlO0FBQUEsTUFDZixlQUFlO0FBQUEsTUFDZixjQUFjO0FBQUEsTUFDZCxvQkFBb0I7QUFBQSxNQUNwQixtQkFBbUI7QUFBQSxNQUNuQiw2QkFBNkI7QUFBQSxNQUM3QixvQkFBb0I7QUFBQSxNQUNwQixtQkFBbUI7QUFBQSxJQUNyQjtBQUNBLFNBQUssSUFBSSxHQUFHLElBQUksUUFBUSxRQUFRLEtBQUs7QUFDbkMsZ0JBQVUsUUFBUSxDQUFDO0FBQ25CLFdBQUssT0FBTztBQUNWLFlBQUksT0FBTyxVQUFVLGVBQWUsS0FBSyxTQUFTLEdBQUc7QUFDbkQsbUJBQVMsR0FBRyxJQUFJLFFBQVEsR0FBRztBQUFBLElBQ2pDO0FBQ0EsUUFBSTtBQUNKLFFBQUk7QUFDSixRQUFJO0FBQUEsRUFDTjtBQUNGLENBQUM7QUFHRCxJQUFJLG1CQUFtQkEsWUFBVztBQUFBLEVBQ2hDLGtFQUFrRSxVQUFVLFNBQVM7QUFDbkY7QUFDQSxRQUFJLFVBQVUsY0FBYyxFQUFFO0FBQzlCLFlBQVEsVUFBVSxTQUFTLGVBQWU7QUFDeEMsVUFBSSxZQUFZLGNBQWM7QUFDOUIsZUFBUyx1QkFBdUIsTUFBTSxTQUFTO0FBQzdDLGFBQUssT0FBTztBQUNaLGtCQUFVLFdBQVcsQ0FBQztBQUN0QixnQkFBUSxnQkFBZ0I7QUFDeEIsa0JBQVUsS0FBSyxNQUFNLE9BQU87QUFBQSxNQUM5QjtBQUNBLDZCQUF1QixZQUFZLE9BQU8sT0FBTyxVQUFVLFdBQVc7QUFBQSxRQUNwRSxhQUFhLEVBQUUsT0FBTyx1QkFBdUI7QUFBQSxNQUMvQyxDQUFDO0FBQ0QsNkJBQXVCLFVBQVUsYUFBYSxTQUFTLE9BQU8sVUFBVSxNQUFNO0FBQzVFLFlBQUksT0FBTyxTQUFTO0FBQ2xCLGlCQUFPLEtBQUssSUFBSSxNQUFNLG1EQUFtRCxDQUFDO0FBQzVFLFlBQUk7QUFDRixjQUFJLE1BQU0sS0FBSyxLQUFLLE1BQU0sS0FBSztBQUMvQixjQUFJLE9BQU8sSUFBSSxPQUFRLE1BQUssS0FBSyxHQUFHO0FBQ3BDLGVBQUs7QUFBQSxRQUNQLFNBQVMsR0FBRztBQUNWLGVBQUssQ0FBQztBQUFBLFFBQ1I7QUFBQSxNQUNGO0FBQ0EsNkJBQXVCLFVBQVUsU0FBUyxTQUFTLE1BQU07QUFDdkQsWUFBSTtBQUNGLGNBQUksTUFBTSxLQUFLLEtBQUssSUFBSTtBQUN4QixjQUFJLE9BQU8sSUFBSSxPQUFRLE1BQUssS0FBSyxHQUFHO0FBQ3BDLGVBQUs7QUFBQSxRQUNQLFNBQVMsR0FBRztBQUNWLGVBQUssQ0FBQztBQUFBLFFBQ1I7QUFBQSxNQUNGO0FBQ0EsNkJBQXVCLFVBQVUsVUFBVSxTQUFTLElBQUk7QUFDdEQsWUFBSSxTQUFTLENBQUM7QUFDZCxhQUFLLEdBQUcsU0FBUyxFQUFFO0FBQ25CLGFBQUssR0FBRyxRQUFRLFNBQVMsT0FBTztBQUM5QixpQkFBTyxLQUFLLEtBQUs7QUFBQSxRQUNuQixDQUFDO0FBQ0QsYUFBSyxHQUFHLE9BQU8sV0FBVztBQUN4QixhQUFHLE1BQU0sUUFBUSxPQUFPLE1BQU0sQ0FBQztBQUFBLFFBQ2pDLENBQUM7QUFDRCxlQUFPO0FBQUEsTUFDVDtBQUNBLGVBQVMsdUJBQXVCLE1BQU0sU0FBUztBQUM3QyxhQUFLLE9BQU87QUFDWixrQkFBVSxXQUFXLENBQUM7QUFDdEIsZ0JBQVEsV0FBVyxLQUFLLFdBQVc7QUFDbkMsa0JBQVUsS0FBSyxNQUFNLE9BQU87QUFBQSxNQUM5QjtBQUNBLDZCQUF1QixZQUFZLE9BQU8sT0FBTyxVQUFVLFdBQVc7QUFBQSxRQUNwRSxhQUFhLEVBQUUsT0FBTyx1QkFBdUI7QUFBQSxNQUMvQyxDQUFDO0FBQ0QsNkJBQXVCLFVBQVUsYUFBYSxTQUFTLE9BQU8sVUFBVSxNQUFNO0FBQzVFLFlBQUksQ0FBQyxRQUFRLFNBQVMsS0FBSyxLQUFLLEVBQUUsaUJBQWlCO0FBQ2pELGlCQUFPLEtBQUssSUFBSSxNQUFNLG1EQUFtRCxDQUFDO0FBQzVFLFlBQUk7QUFDRixjQUFJLE1BQU0sS0FBSyxLQUFLLE1BQU0sS0FBSztBQUMvQixjQUFJLE9BQU8sSUFBSSxPQUFRLE1BQUssS0FBSyxLQUFLLEtBQUssUUFBUTtBQUNuRCxlQUFLO0FBQUEsUUFDUCxTQUFTLEdBQUc7QUFDVixlQUFLLENBQUM7QUFBQSxRQUNSO0FBQUEsTUFDRjtBQUNBLDZCQUF1QixVQUFVLFNBQVMsU0FBUyxNQUFNO0FBQ3ZELFlBQUk7QUFDRixjQUFJLE1BQU0sS0FBSyxLQUFLLElBQUk7QUFDeEIsY0FBSSxPQUFPLElBQUksT0FBUSxNQUFLLEtBQUssS0FBSyxLQUFLLFFBQVE7QUFDbkQsZUFBSztBQUFBLFFBQ1AsU0FBUyxHQUFHO0FBQ1YsZUFBSyxDQUFDO0FBQUEsUUFDUjtBQUFBLE1BQ0Y7QUFDQSw2QkFBdUIsVUFBVSxVQUFVLFNBQVMsSUFBSTtBQUN0RCxZQUFJLE1BQU07QUFDVixhQUFLLEdBQUcsU0FBUyxFQUFFO0FBQ25CLGFBQUssR0FBRyxRQUFRLFNBQVMsT0FBTztBQUM5QixpQkFBTztBQUFBLFFBQ1QsQ0FBQztBQUNELGFBQUssR0FBRyxPQUFPLFdBQVc7QUFDeEIsYUFBRyxNQUFNLEdBQUc7QUFBQSxRQUNkLENBQUM7QUFDRCxlQUFPO0FBQUEsTUFDVDtBQUNBLGFBQU87QUFBQSxRQUNMO0FBQUEsUUFDQTtBQUFBLE1BQ0Y7QUFBQSxJQUNGO0FBQUEsRUFDRjtBQUNGLENBQUM7QUFHRCxJQUFJLGVBQWVBLFlBQVc7QUFBQSxFQUM1QixnRUFBZ0UsVUFBVSxTQUFTO0FBQ2pGO0FBQ0EsUUFBSSxVQUFVLGNBQWMsRUFBRTtBQUM5QixRQUFJLGNBQWMsc0JBQXNCO0FBQ3hDLFFBQUksUUFBUSxRQUFRO0FBQ3BCLFVBQU0sWUFBWTtBQUNsQixVQUFNLHFCQUFxQjtBQUMzQixVQUFNLHdCQUF3QjtBQUM5QixVQUFNLFNBQVMsU0FBUyxPQUFPLEtBQUssVUFBVSxTQUFTO0FBQ3JELFlBQU0sTUFBTSxPQUFPO0FBQ25CLFVBQUksVUFBVSxNQUFNLFdBQVcsVUFBVSxPQUFPO0FBQ2hELFVBQUksTUFBTSxRQUFRLE1BQU0sR0FBRztBQUMzQixVQUFJLFFBQVEsUUFBUSxJQUFJO0FBQ3hCLGFBQU8sU0FBUyxNQUFNLFNBQVMsSUFBSSxRQUFRLE9BQU8sQ0FBQyxLQUFLLEtBQUssQ0FBQyxJQUFJO0FBQUEsSUFDcEU7QUFDQSxVQUFNLFNBQVMsU0FBUyxPQUFPLEtBQUssVUFBVSxTQUFTO0FBQ3JELFVBQUksT0FBTyxRQUFRLFVBQVU7QUFDM0IsWUFBSSxDQUFDLE1BQU0sbUJBQW1CO0FBQzVCLGtCQUFRLE1BQU0sMElBQTBJO0FBQ3hKLGdCQUFNLG9CQUFvQjtBQUFBLFFBQzVCO0FBQ0EsY0FBTSxRQUFRLEtBQUssTUFBTSxPQUFPLEtBQUssUUFBUTtBQUFBLE1BQy9DO0FBQ0EsVUFBSSxVQUFVLE1BQU0sV0FBVyxVQUFVLE9BQU87QUFDaEQsVUFBSSxNQUFNLFFBQVEsTUFBTSxHQUFHO0FBQzNCLFVBQUksUUFBUSxRQUFRLElBQUk7QUFDeEIsYUFBTyxRQUFRLE1BQU0sUUFBUTtBQUFBLElBQy9CO0FBQ0EsVUFBTSxpQkFBaUIsU0FBUyxlQUFlLEtBQUs7QUFDbEQsVUFBSTtBQUNGLGNBQU0sU0FBUyxHQUFHO0FBQ2xCLGVBQU87QUFBQSxNQUNULFNBQVMsR0FBRztBQUNWLGVBQU87QUFBQSxNQUNUO0FBQUEsSUFDRjtBQUNBLFVBQU0sYUFBYSxNQUFNO0FBQ3pCLFVBQU0sZUFBZSxNQUFNO0FBQzNCLFVBQU0sa0JBQWtCLENBQUM7QUFDekIsVUFBTSxXQUFXLFNBQVMsU0FBUyxVQUFVO0FBQzNDLFVBQUksQ0FBQyxNQUFNO0FBQ1QsY0FBTSxZQUFZLG1CQUFtQjtBQUN2QyxVQUFJLE1BQU0sTUFBTSxzQkFBc0IsUUFBUTtBQUM5QyxVQUFJLGVBQWUsQ0FBQztBQUNwQixhQUFPLE1BQU07QUFDWCxZQUFJLFFBQVEsTUFBTSxnQkFBZ0IsR0FBRztBQUNyQyxZQUFJO0FBQ0YsaUJBQU87QUFDVCxZQUFJLFdBQVcsTUFBTSxVQUFVLEdBQUc7QUFDbEMsZ0JBQVEsT0FBTyxVQUFVO0FBQUEsVUFDdkIsS0FBSztBQUNILGtCQUFNO0FBQ047QUFBQSxVQUNGLEtBQUs7QUFDSCxxQkFBUyxPQUFPO0FBQ2QsMkJBQWEsR0FBRyxJQUFJLFNBQVMsR0FBRztBQUNsQyxnQkFBSSxDQUFDLGFBQWE7QUFDaEIsMkJBQWEsZUFBZTtBQUM5QixrQkFBTSxTQUFTO0FBQ2Y7QUFBQSxVQUNGLEtBQUs7QUFDSCxnQkFBSSxDQUFDLGFBQWE7QUFDaEIsMkJBQWEsZUFBZTtBQUM5QixvQkFBUSxJQUFJLFNBQVMsY0FBYyxLQUFLO0FBQ3hDLGtCQUFNLGdCQUFnQixhQUFhLFlBQVksSUFBSTtBQUNuRCxtQkFBTztBQUFBLFVBQ1Q7QUFDRSxrQkFBTSxJQUFJLE1BQU0sK0JBQStCLFdBQVcsc0JBQXNCLE1BQU0sSUFBSTtBQUFBLFFBQzlGO0FBQUEsTUFDRjtBQUFBLElBQ0Y7QUFDQSxVQUFNLHdCQUF3QixTQUFTLFVBQVU7QUFDL0MsY0FBUSxLQUFLLFVBQVUsWUFBWSxFQUFFLFFBQVEsc0JBQXNCLEVBQUU7QUFBQSxJQUN2RTtBQUNBLFVBQU0sYUFBYSxTQUFTLFdBQVcsVUFBVSxTQUFTO0FBQ3hELFVBQUksUUFBUSxNQUFNLFNBQVMsUUFBUSxHQUFHLFVBQVUsSUFBSSxNQUFNLFFBQVEsU0FBUyxLQUFLO0FBQ2hGLFVBQUksTUFBTSxZQUFZLFdBQVcsUUFBUTtBQUN2QyxrQkFBVSxJQUFJLFlBQVksV0FBVyxTQUFTLE9BQU87QUFDdkQsYUFBTztBQUFBLElBQ1Q7QUFDQSxVQUFNLGFBQWEsU0FBUyxXQUFXLFVBQVUsU0FBUztBQUN4RCxVQUFJLFFBQVEsTUFBTSxTQUFTLFFBQVEsR0FBRyxVQUFVLElBQUksTUFBTSxRQUFRLFNBQVMsS0FBSztBQUNoRixVQUFJLE1BQU0sWUFBWSxFQUFFLFdBQVcsUUFBUSxhQUFhO0FBQ3RELGtCQUFVLElBQUksWUFBWSxTQUFTLFNBQVMsT0FBTztBQUNyRCxhQUFPO0FBQUEsSUFDVDtBQUNBLFVBQU0scUJBQXFCLFNBQVMsbUJBQW1CLGdCQUFnQjtBQUNyRSxVQUFJLE1BQU07QUFDUjtBQUNGLFVBQUksVUFBVSxpQkFBaUIsRUFBRSxjQUFjO0FBQy9DLFlBQU0seUJBQXlCLFFBQVE7QUFDdkMsWUFBTSx5QkFBeUIsUUFBUTtBQUN2QyxZQUFNLGVBQWUsU0FBUyxhQUFhLFVBQVUsU0FBUztBQUM1RCxlQUFPLElBQUksTUFBTSx1QkFBdUIsTUFBTSxXQUFXLFVBQVUsT0FBTyxHQUFHLE9BQU87QUFBQSxNQUN0RjtBQUNBLFlBQU0sZUFBZSxTQUFTLGFBQWEsVUFBVSxTQUFTO0FBQzVELGVBQU8sSUFBSSxNQUFNLHVCQUF1QixNQUFNLFdBQVcsVUFBVSxPQUFPLEdBQUcsT0FBTztBQUFBLE1BQ3RGO0FBQ0EsWUFBTSxrQkFBa0I7QUFBQSxJQUMxQjtBQUNBLFFBQUk7QUFDSixRQUFJO0FBQ0Ysc0JBQWdCLFFBQVEsUUFBUTtBQUFBLElBQ2xDLFNBQVMsR0FBRztBQUFBLElBQ1o7QUFDQSxRQUFJLGlCQUFpQixjQUFjLFdBQVc7QUFDNUMsWUFBTSxtQkFBbUIsYUFBYTtBQUFBLElBQ3hDLE9BQU87QUFDTCxZQUFNLGVBQWUsTUFBTSxlQUFlLFdBQVc7QUFDbkQsY0FBTSxJQUFJLE1BQU0seUdBQXlHO0FBQUEsTUFDM0g7QUFBQSxJQUNGO0FBQ0EsUUFBSSxPQUFPO0FBQ1QsY0FBUSxNQUFNLHVKQUF1SjtBQUFBLElBQ3ZLO0FBQUEsRUFDRjtBQUNGLENBQUM7QUFHRCxJQUFJLGVBQWVBLFlBQVc7QUFBQSxFQUM1Qix1Q0FBdUMsVUFBVSxTQUFTO0FBQ3hEO0FBQ0EsUUFBSSxjQUFjLG9CQUFvQjtBQUN0QyxRQUFJLFVBQVUsaUJBQWlCO0FBQy9CLFFBQUksUUFBUSxhQUFhO0FBQ3pCLFFBQUksYUFBYSxvQkFBb0I7QUFDckMsUUFBSSxPQUFPLFFBQVEsV0FBVztBQUM5QixZQUFRLFVBQVU7QUFDbEIsYUFBUyxLQUFLLEtBQUssS0FBSyxNQUFNLE9BQU8sT0FBTyxTQUFTO0FBQ25ELFVBQUk7QUFDSixVQUFJLE9BQU87QUFDWCxVQUFJO0FBQ0osVUFBSSxXQUFXLEtBQUssYUFBYSxPQUFPLEtBQUssV0FBVztBQUN4RCxVQUFJLFNBQVMsS0FBSztBQUNsQixVQUFJO0FBQ0YsaUJBQVMsY0FBYyxLQUFLLE9BQU8sS0FBSyxPQUFPO0FBQy9DLGlCQUFTLE9BQU87QUFDaEIsZUFBTyxTQUFTO0FBQUEsTUFDbEIsU0FBUyxNQUFNO0FBQ2IsZUFBTyxLQUFLLElBQUk7QUFBQSxNQUNsQjtBQUNBLFdBQUssU0FBUztBQUNkLFdBQUssV0FBVyxTQUFTLE9BQU87QUFDaEMsVUFBSSxLQUFLLGFBQWEsUUFBUSxhQUFhLFFBQVEsQ0FBQyxNQUFNLGVBQWUsUUFBUSxHQUFHO0FBQ2xGLGVBQU8sS0FBSyxZQUFZLEtBQUssMEJBQTBCLFNBQVMsWUFBWSxJQUFJLEtBQUs7QUFBQSxVQUNuRixTQUFTLFNBQVMsWUFBWTtBQUFBLFVBQzlCLE1BQU07QUFBQSxRQUNSLENBQUMsQ0FBQztBQUFBLE1BQ0o7QUFDQSxZQUFNLFdBQVc7QUFDakIsY0FBUSxRQUFRLE1BQU0sU0FBUyxPQUFPLE1BQU07QUFDMUMsWUFBSSxPQUFPO0FBQ1QsY0FBSTtBQUNKLGNBQUksTUFBTSxTQUFTLHdCQUF3QjtBQUN6QyxxQkFBUyxZQUFZLEtBQUssMEJBQTBCLFNBQVMsWUFBWSxJQUFJLEtBQUs7QUFBQSxjQUNoRixTQUFTLFNBQVMsWUFBWTtBQUFBLGNBQzlCLE1BQU07QUFBQSxZQUNSLENBQUM7QUFBQSxVQUNILE9BQU87QUFDTCxxQkFBUyxZQUFZLEtBQUssS0FBSztBQUFBLFVBQ2pDO0FBQ0EsY0FBSSxXQUFXLEtBQUs7QUFDbEIsZ0JBQUksT0FBTztBQUNYLG1CQUFPLFFBQVE7QUFBQSxVQUNqQjtBQUNBLGVBQUssS0FBSyxTQUFTLGFBQWE7QUFDOUIsaUJBQUssWUFBWSxLQUFLLE1BQU0sQ0FBQztBQUFBLFVBQy9CLENBQUM7QUFDRDtBQUFBLFFBQ0Y7QUFDQSxZQUFJLFFBQVE7QUFDVixjQUFJO0FBQ0Ysa0JBQU0sYUFBYTtBQUNuQixtQkFBTyxLQUFLLEtBQUssTUFBTSxRQUFRO0FBQUEsVUFDakMsU0FBUyxNQUFNO0FBQ2IsaUJBQUssWUFBWSxLQUFLLE1BQU07QUFBQSxjQUMxQjtBQUFBLGNBQ0EsTUFBTSxLQUFLLFFBQVE7QUFBQSxZQUNyQixDQUFDLENBQUM7QUFDRjtBQUFBLFVBQ0Y7QUFBQSxRQUNGO0FBQ0EsWUFBSSxNQUFNO0FBQ1YsWUFBSTtBQUNGLGdCQUFNLFlBQVk7QUFDbEIsZ0JBQU0sT0FBTyxTQUFTLFlBQVksYUFBYSxPQUFPLE1BQU0sT0FBTyxNQUFNLFFBQVEsSUFBSTtBQUNyRixjQUFJLE9BQU8sTUFBTSxLQUFLLFFBQVE7QUFBQSxRQUNoQyxTQUFTLE1BQU07QUFDYixlQUFLLFlBQVksS0FBSyxNQUFNO0FBQUEsWUFDMUIsTUFBTTtBQUFBLFlBQ04sTUFBTSxLQUFLLFFBQVE7QUFBQSxVQUNyQixDQUFDLENBQUM7QUFDRjtBQUFBLFFBQ0Y7QUFDQSxhQUFLO0FBQUEsTUFDUCxDQUFDO0FBQUEsSUFDSDtBQUNBLGFBQVMsY0FBYyxLQUFLLE9BQU8sU0FBUztBQUMxQyxVQUFJLFlBQVksSUFBSSxRQUFRLGtCQUFrQixLQUFLLFlBQVksWUFBWTtBQUMzRSxVQUFJLFNBQVMsSUFBSSxRQUFRLGdCQUFnQjtBQUN6QyxZQUFNLHlCQUF5QixRQUFRO0FBQ3ZDLFVBQUksWUFBWSxTQUFTLGFBQWEsWUFBWTtBQUNoRCxjQUFNLFlBQVksS0FBSyxnQ0FBZ0M7QUFBQSxVQUNyRDtBQUFBLFVBQ0EsTUFBTTtBQUFBLFFBQ1IsQ0FBQztBQUFBLE1BQ0g7QUFDQSxVQUFJLGFBQWEsWUFBWTtBQUMzQixZQUFJLFNBQVM7QUFDYixlQUFPO0FBQUEsTUFDVDtBQUNBLFVBQUksU0FBUywwQkFBMEIsVUFBVSxLQUFLO0FBQ3RELFVBQUksS0FBSyxNQUFNO0FBQ2YsYUFBTztBQUFBLElBQ1Q7QUFDQSxhQUFTLDBCQUEwQixVQUFVLE9BQU87QUFDbEQsY0FBUSxVQUFVO0FBQUEsUUFDaEIsS0FBSztBQUNILGdCQUFNLGNBQWM7QUFDcEIsaUJBQU8sS0FBSyxjQUFjO0FBQUEsUUFDNUIsS0FBSztBQUNILGdCQUFNLGFBQWE7QUFDbkIsaUJBQU8sS0FBSyxhQUFhO0FBQUEsUUFDM0IsS0FBSztBQUNILGdCQUFNLHdCQUF3QjtBQUM5QixpQkFBTyxLQUFLLHVCQUF1QjtBQUFBLFFBQ3JDO0FBQ0UsZ0JBQU0sWUFBWSxLQUFLLG1DQUFtQyxXQUFXLEtBQUs7QUFBQSxZQUN4RTtBQUFBLFlBQ0EsTUFBTTtBQUFBLFVBQ1IsQ0FBQztBQUFBLE1BQ0w7QUFBQSxJQUNGO0FBQ0EsYUFBUyxLQUFLLEtBQUssVUFBVTtBQUMzQixVQUFJLFdBQVcsV0FBVyxHQUFHLEdBQUc7QUFDOUIsaUJBQVMsSUFBSTtBQUFBLE1BQ2YsT0FBTztBQUNMLG1CQUFXLEtBQUssUUFBUTtBQUN4QixZQUFJLE9BQU87QUFBQSxNQUNiO0FBQUEsSUFDRjtBQUFBLEVBQ0Y7QUFDRixDQUFDO0FBR0QsSUFBSSxhQUFhQSxZQUFXO0FBQUEsRUFDMUIsb0RBQW9ELFVBQVUsU0FBUztBQUNyRSxZQUFRLFVBQVU7QUFBQSxNQUNoQix3Q0FBd0M7QUFBQSxRQUN0QyxRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0Esc0NBQXNDO0FBQUEsUUFDcEMsUUFBUTtBQUFBLFFBQ1IsU0FBUztBQUFBLFFBQ1QsY0FBYztBQUFBLE1BQ2hCO0FBQUEsTUFDQSw0QkFBNEI7QUFBQSxRQUMxQixRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsTUFDaEI7QUFBQSxNQUNBLDRCQUE0QjtBQUFBLFFBQzFCLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxNQUNoQjtBQUFBLE1BQ0EsaUNBQWlDO0FBQUEsUUFDL0IsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLE1BQ2hCO0FBQUEsTUFDQSxtQkFBbUI7QUFBQSxRQUNqQixRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0Esd0JBQXdCO0FBQUEsUUFDdEIsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLHdCQUF3QjtBQUFBLFFBQ3RCLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxNQUNoQjtBQUFBLE1BQ0Esa0NBQWtDO0FBQUEsUUFDaEMsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLDRCQUE0QjtBQUFBLFFBQzFCLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSw2QkFBNkI7QUFBQSxRQUMzQixRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0EsNkJBQTZCO0FBQUEsUUFDM0IsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLE1BQ2hCO0FBQUEsTUFDQSx3QkFBd0I7QUFBQSxRQUN0QixRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0Esd0JBQXdCO0FBQUEsUUFDdEIsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLE1BQ2hCO0FBQUEsTUFDQSw4QkFBOEI7QUFBQSxRQUM1QixRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsTUFDaEI7QUFBQSxNQUNBLG9DQUFvQztBQUFBLFFBQ2xDLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxNQUNoQjtBQUFBLE1BQ0EsaUNBQWlDO0FBQUEsUUFDL0IsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLE1BQ2hCO0FBQUEsTUFDQSx1Q0FBdUM7QUFBQSxRQUNyQyxRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsTUFDaEI7QUFBQSxNQUNBLG1DQUFtQztBQUFBLFFBQ2pDLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxNQUNoQjtBQUFBLE1BQ0Esc0NBQXNDO0FBQUEsUUFDcEMsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLE1BQ2hCO0FBQUEsTUFDQSw0Q0FBNEM7QUFBQSxRQUMxQyxRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsTUFDaEI7QUFBQSxNQUNBLHNDQUFzQztBQUFBLFFBQ3BDLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxNQUNoQjtBQUFBLE1BQ0EsNENBQTRDO0FBQUEsUUFDMUMsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLE1BQ2hCO0FBQUEsTUFDQSwrQkFBK0I7QUFBQSxRQUM3QixRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsTUFDaEI7QUFBQSxNQUNBLG9DQUFvQztBQUFBLFFBQ2xDLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxNQUNoQjtBQUFBLE1BQ0EsMENBQTBDO0FBQUEsUUFDeEMsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLE1BQ2hCO0FBQUEsTUFDQSxpQ0FBaUM7QUFBQSxRQUMvQixRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsTUFDaEI7QUFBQSxNQUNBLHVDQUF1QztBQUFBLFFBQ3JDLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxNQUNoQjtBQUFBLE1BQ0EsOEJBQThCO0FBQUEsUUFDNUIsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLE1BQ2hCO0FBQUEsTUFDQSxvQ0FBb0M7QUFBQSxRQUNsQyxRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsTUFDaEI7QUFBQSxNQUNBLDZDQUE2QztBQUFBLFFBQzNDLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxNQUNoQjtBQUFBLE1BQ0EsNENBQTRDO0FBQUEsUUFDMUMsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLE1BQ2hCO0FBQUEsTUFDQSxtQkFBbUI7QUFBQSxRQUNqQixRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0EsNEJBQTRCO0FBQUEsUUFDMUIsUUFBUTtBQUFBLFFBQ1IsWUFBWSxDQUFDLElBQUk7QUFBQSxNQUNuQjtBQUFBLE1BQ0EsNEJBQTRCO0FBQUEsUUFDMUIsY0FBYztBQUFBLFFBQ2QsWUFBWSxDQUFDLGNBQWM7QUFBQSxNQUM3QjtBQUFBLE1BQ0EseUJBQXlCO0FBQUEsUUFDdkIsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLDBCQUEwQjtBQUFBLFFBQ3hCLFFBQVE7QUFBQSxRQUNSLFlBQVksQ0FBQyxJQUFJO0FBQUEsTUFDbkI7QUFBQSxNQUNBLG9CQUFvQjtBQUFBLFFBQ2xCLGNBQWM7QUFBQSxRQUNkLFlBQVksQ0FBQyxNQUFNO0FBQUEsTUFDckI7QUFBQSxNQUNBLDBCQUEwQjtBQUFBLFFBQ3hCLGNBQWM7QUFBQSxRQUNkLFlBQVksQ0FBQyxZQUFZO0FBQUEsTUFDM0I7QUFBQSxNQUNBLHNCQUFzQjtBQUFBLFFBQ3BCLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSxtQkFBbUI7QUFBQSxRQUNqQixRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0Esb0JBQW9CO0FBQUEsUUFDbEIsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLHdCQUF3QjtBQUFBLFFBQ3RCLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxRQUNkLFlBQVksQ0FBQyxNQUFNO0FBQUEsTUFDckI7QUFBQSxNQUNBLDJCQUEyQjtBQUFBLFFBQ3pCLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxRQUNkLFlBQVksQ0FBQyxTQUFTO0FBQUEsTUFDeEI7QUFBQSxNQUNBLCtCQUErQjtBQUFBLFFBQzdCLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxRQUNkLFlBQVksQ0FBQyxhQUFhO0FBQUEsTUFDNUI7QUFBQSxNQUNBLDBCQUEwQjtBQUFBLFFBQ3hCLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSwyQkFBMkI7QUFBQSxRQUN6QixRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsUUFDZCxZQUFZLENBQUMsU0FBUztBQUFBLE1BQ3hCO0FBQUEsTUFDQSw0QkFBNEI7QUFBQSxRQUMxQixRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsUUFDZCxZQUFZLENBQUMsS0FBSztBQUFBLE1BQ3BCO0FBQUEsTUFDQSwwQ0FBMEM7QUFBQSxRQUN4QyxRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0EsNkJBQTZCO0FBQUEsUUFDM0IsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLFFBQ2QsWUFBWSxDQUFDLE1BQU07QUFBQSxNQUNyQjtBQUFBLE1BQ0EsNkJBQTZCO0FBQUEsUUFDM0IsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLE1BQ2hCO0FBQUEsTUFDQSw2QkFBNkI7QUFBQSxRQUMzQixRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsUUFDZCxZQUFZLENBQUMsTUFBTTtBQUFBLE1BQ3JCO0FBQUEsTUFDQSxxQkFBcUI7QUFBQSxRQUNuQixRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0EsK0JBQStCO0FBQUEsUUFDN0IsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLE1BQ2hCO0FBQUEsTUFDQSxvQ0FBb0M7QUFBQSxRQUNsQyxRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsUUFDZCxZQUFZLENBQUMsS0FBSztBQUFBLE1BQ3BCO0FBQUEsTUFDQSxxQ0FBcUM7QUFBQSxRQUNuQyxRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsUUFDZCxZQUFZLENBQUMsTUFBTTtBQUFBLE1BQ3JCO0FBQUEsTUFDQSw4QkFBOEI7QUFBQSxRQUM1QixRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsTUFDaEI7QUFBQSxNQUNBLDBCQUEwQjtBQUFBLFFBQ3hCLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSxvQkFBb0I7QUFBQSxRQUNsQixjQUFjO0FBQUEsUUFDZCxZQUFZLENBQUMsTUFBTTtBQUFBLE1BQ3JCO0FBQUEsTUFDQSx3QkFBd0I7QUFBQSxRQUN0QixRQUFRO0FBQUEsUUFDUixTQUFTO0FBQUEsUUFDVCxjQUFjO0FBQUEsTUFDaEI7QUFBQSxNQUNBLG9CQUFvQjtBQUFBLFFBQ2xCLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSxvQkFBb0I7QUFBQSxRQUNsQixRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0EsNkJBQTZCO0FBQUEsUUFDM0IsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLE1BQ2hCO0FBQUEsTUFDQSw0QkFBNEI7QUFBQSxRQUMxQixRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsUUFDZCxZQUFZLENBQUMsS0FBSztBQUFBLE1BQ3BCO0FBQUEsTUFDQSwrQkFBK0I7QUFBQSxRQUM3QixRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0EseUJBQXlCO0FBQUEsUUFDdkIsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLDRCQUE0QjtBQUFBLFFBQzFCLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxNQUNoQjtBQUFBLE1BQ0Esb0JBQW9CO0FBQUEsUUFDbEIsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLHdCQUF3QjtBQUFBLFFBQ3RCLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSxxQkFBcUI7QUFBQSxRQUNuQixRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0Esd0JBQXdCO0FBQUEsUUFDdEIsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLE1BQ2hCO0FBQUEsTUFDQSx5QkFBeUI7QUFBQSxRQUN2QixRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsUUFDZCxZQUFZLENBQUMsT0FBTztBQUFBLE1BQ3RCO0FBQUEsTUFDQSx1QkFBdUI7QUFBQSxRQUNyQixRQUFRO0FBQUEsUUFDUixTQUFTO0FBQUEsUUFDVCxjQUFjO0FBQUEsTUFDaEI7QUFBQSxNQUNBLHdCQUF3QjtBQUFBLFFBQ3RCLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxRQUNkLFlBQVksQ0FBQyxNQUFNO0FBQUEsTUFDckI7QUFBQSxNQUNBLCtCQUErQjtBQUFBLFFBQzdCLFFBQVE7QUFBQSxRQUNSLFlBQVksQ0FBQyxPQUFPO0FBQUEsTUFDdEI7QUFBQSxNQUNBLDhCQUE4QjtBQUFBLFFBQzVCLFFBQVE7QUFBQSxRQUNSLFlBQVksQ0FBQyxPQUFPO0FBQUEsTUFDdEI7QUFBQSxNQUNBLDJCQUEyQjtBQUFBLFFBQ3pCLFFBQVE7QUFBQSxRQUNSLFlBQVksQ0FBQyxPQUFPO0FBQUEsTUFDdEI7QUFBQSxNQUNBLDJCQUEyQjtBQUFBLFFBQ3pCLFFBQVE7QUFBQSxRQUNSLFlBQVksQ0FBQyxPQUFPO0FBQUEsTUFDdEI7QUFBQSxNQUNBLDBCQUEwQjtBQUFBLFFBQ3hCLFFBQVE7QUFBQSxRQUNSLFlBQVksQ0FBQyxPQUFPO0FBQUEsTUFDdEI7QUFBQSxNQUNBLG9CQUFvQjtBQUFBLFFBQ2xCLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSx1QkFBdUI7QUFBQSxRQUNyQixRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0EsbUJBQW1CO0FBQUEsUUFDakIsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLDRCQUE0QjtBQUFBLFFBQzFCLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxNQUNoQjtBQUFBLE1BQ0EsMEJBQTBCO0FBQUEsUUFDeEIsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLE1BQ2hCO0FBQUEsTUFDQSxtQkFBbUI7QUFBQSxRQUNqQixRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0Esa0NBQWtDO0FBQUEsUUFDaEMsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLHlCQUF5QjtBQUFBLFFBQ3ZCLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxNQUNoQjtBQUFBLE1BQ0EsNkJBQTZCO0FBQUEsUUFDM0IsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLG1CQUFtQjtBQUFBLFFBQ2pCLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSx3QkFBd0I7QUFBQSxRQUN0QixRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsTUFDaEI7QUFBQSxNQUNBLDZCQUE2QjtBQUFBLFFBQzNCLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxNQUNoQjtBQUFBLE1BQ0EsbUJBQW1CO0FBQUEsUUFDakIsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLHdCQUF3QjtBQUFBLFFBQ3RCLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxNQUNoQjtBQUFBLE1BQ0Esd0JBQXdCO0FBQUEsUUFDdEIsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLCtCQUErQjtBQUFBLFFBQzdCLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxNQUNoQjtBQUFBLE1BQ0EsNEJBQTRCO0FBQUEsUUFDMUIsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLDRCQUE0QjtBQUFBLFFBQzFCLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSw0Q0FBNEM7QUFBQSxRQUMxQyxRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0EsbUNBQW1DO0FBQUEsUUFDakMsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLE1BQ2hCO0FBQUEsTUFDQSxvQkFBb0I7QUFBQSxRQUNsQixRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0Esd0JBQXdCO0FBQUEsUUFDdEIsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLDRCQUE0QjtBQUFBLFFBQzFCLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSx5QkFBeUI7QUFBQSxRQUN2QixRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0EsdUJBQXVCO0FBQUEsUUFDckIsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLFFBQ2QsWUFBWSxDQUFDLEtBQUs7QUFBQSxNQUNwQjtBQUFBLE1BQ0Esd0JBQXdCO0FBQUEsUUFDdEIsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLHdCQUF3QjtBQUFBLFFBQ3RCLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxNQUNoQjtBQUFBLE1BQ0EsNEJBQTRCO0FBQUEsUUFDMUIsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLE1BQ2hCO0FBQUEsTUFDQSx5QkFBeUI7QUFBQSxRQUN2QixRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsTUFDaEI7QUFBQSxNQUNBLHdCQUF3QjtBQUFBLFFBQ3RCLFFBQVE7QUFBQSxRQUNSLFlBQVksQ0FBQyxJQUFJO0FBQUEsTUFDbkI7QUFBQSxNQUNBLG1CQUFtQjtBQUFBLFFBQ2pCLFFBQVE7QUFBQSxRQUNSLFlBQVksQ0FBQyxLQUFLO0FBQUEsTUFDcEI7QUFBQSxNQUNBLHdCQUF3QjtBQUFBLFFBQ3RCLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxNQUNoQjtBQUFBLE1BQ0Esd0JBQXdCO0FBQUEsUUFDdEIsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLG1CQUFtQjtBQUFBLFFBQ2pCLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSx5QkFBeUI7QUFBQSxRQUN2QixRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0Esb0JBQW9CO0FBQUEsUUFDbEIsY0FBYztBQUFBLE1BQ2hCO0FBQUEsTUFDQSx3QkFBd0I7QUFBQSxRQUN0QixRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsUUFDZCxZQUFZLENBQUMsS0FBSztBQUFBLE1BQ3BCO0FBQUEsTUFDQSw4QkFBOEI7QUFBQSxRQUM1QixRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsUUFDZCxZQUFZLENBQUMsS0FBSztBQUFBLE1BQ3BCO0FBQUEsTUFDQSx5QkFBeUI7QUFBQSxRQUN2QixRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0EsNEJBQTRCO0FBQUEsUUFDMUIsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLFFBQ2QsWUFBWSxDQUFDLFVBQVU7QUFBQSxNQUN6QjtBQUFBLE1BQ0EsdUJBQXVCO0FBQUEsUUFDckIsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLG1CQUFtQjtBQUFBLFFBQ2pCLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSxzQkFBc0I7QUFBQSxRQUNwQixRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0EsK0JBQStCO0FBQUEsUUFDN0IsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLE1BQ2hCO0FBQUEsTUFDQSxxQkFBcUI7QUFBQSxRQUNuQixRQUFRO0FBQUEsUUFDUixZQUFZLENBQUMsS0FBSztBQUFBLE1BQ3BCO0FBQUEsTUFDQSwwQkFBMEI7QUFBQSxRQUN4QixRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsTUFDaEI7QUFBQSxNQUNBLHlCQUF5QjtBQUFBLFFBQ3ZCLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxNQUNoQjtBQUFBLE1BQ0EsbUJBQW1CO0FBQUEsUUFDakIsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLG1CQUFtQjtBQUFBLFFBQ2pCLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSxtQkFBbUI7QUFBQSxRQUNqQixRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0Esd0JBQXdCO0FBQUEsUUFDdEIsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLE1BQ2hCO0FBQUEsTUFDQSwyQkFBMkI7QUFBQSxRQUN6QixRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0EsMkJBQTJCO0FBQUEsUUFDekIsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLFFBQ2QsWUFBWSxDQUFDLEtBQUs7QUFBQSxNQUNwQjtBQUFBLE1BQ0EseUJBQXlCO0FBQUEsUUFDdkIsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLHdCQUF3QjtBQUFBLFFBQ3RCLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSx5QkFBeUI7QUFBQSxRQUN2QixRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsTUFDaEI7QUFBQSxNQUNBLHdCQUF3QjtBQUFBLFFBQ3RCLFFBQVE7QUFBQSxRQUNSLFlBQVksQ0FBQyxNQUFNO0FBQUEsTUFDckI7QUFBQSxNQUNBLHdCQUF3QjtBQUFBLFFBQ3RCLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxRQUNkLFlBQVksQ0FBQyxPQUFPO0FBQUEsTUFDdEI7QUFBQSxNQUNBLG9CQUFvQjtBQUFBLFFBQ2xCLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSx1QkFBdUI7QUFBQSxRQUNyQixRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0EsdUJBQXVCO0FBQUEsUUFDckIsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLDRCQUE0QjtBQUFBLFFBQzFCLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSw0QkFBNEI7QUFBQSxRQUMxQixRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsTUFDaEI7QUFBQSxNQUNBLDRCQUE0QjtBQUFBLFFBQzFCLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSw0QkFBNEI7QUFBQSxRQUMxQixRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsTUFDaEI7QUFBQSxNQUNBLDBCQUEwQjtBQUFBLFFBQ3hCLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxRQUNkLFlBQVksQ0FBQyxNQUFNO0FBQUEsTUFDckI7QUFBQSxNQUNBLDhCQUE4QjtBQUFBLFFBQzVCLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSwyQkFBMkI7QUFBQSxRQUN6QixRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0EsdUJBQXVCO0FBQUEsUUFDckIsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLE1BQ2hCO0FBQUEsTUFDQSx1QkFBdUI7QUFBQSxRQUNyQixRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsTUFDaEI7QUFBQSxNQUNBLG1CQUFtQjtBQUFBLFFBQ2pCLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSx3QkFBd0I7QUFBQSxRQUN0QixRQUFRO0FBQUEsUUFDUixTQUFTO0FBQUEsUUFDVCxjQUFjO0FBQUEsTUFDaEI7QUFBQSxNQUNBLHVCQUF1QjtBQUFBLFFBQ3JCLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxNQUNoQjtBQUFBLE1BQ0EseUNBQXlDO0FBQUEsUUFDdkMsUUFBUTtBQUFBLFFBQ1IsU0FBUztBQUFBLFFBQ1QsY0FBYztBQUFBLE1BQ2hCO0FBQUEsTUFDQSw2Q0FBNkM7QUFBQSxRQUMzQyxRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsTUFDaEI7QUFBQSxNQUNBLDZDQUE2QztBQUFBLFFBQzNDLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxNQUNoQjtBQUFBLE1BQ0EsZ0RBQWdEO0FBQUEsUUFDOUMsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLE1BQ2hCO0FBQUEsTUFDQSwyQ0FBMkM7QUFBQSxRQUN6QyxRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0EsZ0RBQWdEO0FBQUEsUUFDOUMsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLE1BQ2hCO0FBQUEsTUFDQSxrREFBa0Q7QUFBQSxRQUNoRCxRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsTUFDaEI7QUFBQSxNQUNBLGlEQUFpRDtBQUFBLFFBQy9DLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxNQUNoQjtBQUFBLE1BQ0Esb0RBQW9EO0FBQUEsUUFDbEQsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLE1BQ2hCO0FBQUEsTUFDQSwwQ0FBMEM7QUFBQSxRQUN4QyxRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsTUFDaEI7QUFBQSxNQUNBLHdCQUF3QjtBQUFBLFFBQ3RCLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxRQUNkLFlBQVksQ0FBQyxNQUFNO0FBQUEsTUFDckI7QUFBQSxNQUNBLDZCQUE2QjtBQUFBLFFBQzNCLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxRQUNkLFlBQVksQ0FBQyxXQUFXO0FBQUEsTUFDMUI7QUFBQSxNQUNBLHdCQUF3QjtBQUFBLFFBQ3RCLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSxvQ0FBb0M7QUFBQSxRQUNsQyxRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0EsdUJBQXVCO0FBQUEsUUFDckIsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLE1BQ2hCO0FBQUEsTUFDQSx3QkFBd0I7QUFBQSxRQUN0QixRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsUUFDZCxZQUFZLENBQUMsTUFBTTtBQUFBLE1BQ3JCO0FBQUEsTUFDQSxxQkFBcUI7QUFBQSxRQUNuQixRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0EsbUJBQW1CO0FBQUEsUUFDakIsUUFBUTtBQUFBLFFBQ1IsWUFBWSxDQUFDLEtBQUs7QUFBQSxNQUNwQjtBQUFBLE1BQ0EscUNBQXFDO0FBQUEsUUFDbkMsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLE1BQ2hCO0FBQUEsTUFDQSx1QkFBdUI7QUFBQSxRQUNyQixRQUFRO0FBQUEsUUFDUixZQUFZLENBQUMsS0FBSztBQUFBLE1BQ3BCO0FBQUEsTUFDQSwyQkFBMkI7QUFBQSxRQUN6QixRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0Esd0JBQXdCO0FBQUEsUUFDdEIsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLG1CQUFtQjtBQUFBLFFBQ2pCLFFBQVE7QUFBQSxRQUNSLFlBQVksQ0FBQyxLQUFLO0FBQUEsTUFDcEI7QUFBQSxNQUNBLHVCQUF1QjtBQUFBLFFBQ3JCLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxRQUNkLFlBQVksQ0FBQyxLQUFLO0FBQUEsTUFDcEI7QUFBQSxNQUNBLHlCQUF5QjtBQUFBLFFBQ3ZCLFFBQVE7QUFBQSxRQUNSLFNBQVM7QUFBQSxRQUNULGNBQWM7QUFBQSxNQUNoQjtBQUFBLE1BQ0Esd0JBQXdCO0FBQUEsUUFDdEIsUUFBUTtBQUFBLFFBQ1IsU0FBUztBQUFBLFFBQ1QsY0FBYztBQUFBLE1BQ2hCO0FBQUEsTUFDQSxzQ0FBc0M7QUFBQSxRQUNwQyxjQUFjO0FBQUEsTUFDaEI7QUFBQSxNQUNBLG9CQUFvQjtBQUFBLFFBQ2xCLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSx1QkFBdUI7QUFBQSxRQUNyQixRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0EseUJBQXlCO0FBQUEsUUFDdkIsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLDBCQUEwQjtBQUFBLFFBQ3hCLFFBQVE7QUFBQSxRQUNSLFlBQVksQ0FBQyxLQUFLO0FBQUEsTUFDcEI7QUFBQSxNQUNBLHlCQUF5QjtBQUFBLFFBQ3ZCLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxNQUNoQjtBQUFBLE1BQ0Esd0NBQXdDO0FBQUEsUUFDdEMsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLE1BQ2hCO0FBQUEsTUFDQSx3QkFBd0I7QUFBQSxRQUN0QixRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsUUFDZCxZQUFZLENBQUMsU0FBUztBQUFBLE1BQ3hCO0FBQUEsTUFDQSw0QkFBNEI7QUFBQSxRQUMxQixRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0Esa0NBQWtDO0FBQUEsUUFDaEMsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLDRCQUE0QjtBQUFBLFFBQzFCLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxNQUNoQjtBQUFBLE1BQ0EsNkJBQTZCO0FBQUEsUUFDM0IsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLE1BQ2hCO0FBQUEsTUFDQSw0QkFBNEI7QUFBQSxRQUMxQixRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsTUFDaEI7QUFBQSxNQUNBLDJCQUEyQjtBQUFBLFFBQ3pCLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSx1QkFBdUI7QUFBQSxRQUNyQixRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsUUFDZCxZQUFZLENBQUMsS0FBSztBQUFBLE1BQ3BCO0FBQUEsTUFDQSxnQ0FBZ0M7QUFBQSxRQUM5QixRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0EsaUNBQWlDO0FBQUEsUUFDL0IsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLHlDQUF5QztBQUFBLFFBQ3ZDLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSwwQ0FBMEM7QUFBQSxRQUN4QyxRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0EsdUJBQXVCO0FBQUEsUUFDckIsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLFFBQ2QsWUFBWSxDQUFDLEtBQUs7QUFBQSxNQUNwQjtBQUFBLE1BQ0Esb0JBQW9CO0FBQUEsUUFDbEIsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLG1CQUFtQjtBQUFBLFFBQ2pCLFFBQVE7QUFBQSxRQUNSLFlBQVksQ0FBQyxLQUFLO0FBQUEsTUFDcEI7QUFBQSxNQUNBLG9CQUFvQjtBQUFBLFFBQ2xCLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxRQUNkLFlBQVksQ0FBQyxJQUFJO0FBQUEsTUFDbkI7QUFBQSxNQUNBLG9CQUFvQjtBQUFBLFFBQ2xCLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSx3QkFBd0I7QUFBQSxRQUN0QixRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsTUFDaEI7QUFBQSxNQUNBLHFCQUFxQjtBQUFBLFFBQ25CLFlBQVksQ0FBQyxPQUFPO0FBQUEsTUFDdEI7QUFBQSxNQUNBLHlCQUF5QjtBQUFBLFFBQ3ZCLFFBQVE7QUFBQSxRQUNSLFNBQVM7QUFBQSxRQUNULGNBQWM7QUFBQSxNQUNoQjtBQUFBLE1BQ0Esb0JBQW9CO0FBQUEsUUFDbEIsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLDJCQUEyQjtBQUFBLFFBQ3pCLFFBQVE7QUFBQSxRQUNSLFlBQVksQ0FBQyxLQUFLO0FBQUEsTUFDcEI7QUFBQSxNQUNBLG1DQUFtQztBQUFBLFFBQ2pDLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxNQUNoQjtBQUFBLE1BQ0EsaUNBQWlDO0FBQUEsUUFDL0IsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLE1BQ2hCO0FBQUEsTUFDQSwyQkFBMkI7QUFBQSxRQUN6QixRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0Esb0JBQW9CO0FBQUEsUUFDbEIsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLGtDQUFrQztBQUFBLFFBQ2hDLFFBQVE7QUFBQSxRQUNSLFNBQVM7QUFBQSxRQUNULGNBQWM7QUFBQSxNQUNoQjtBQUFBLE1BQ0EscUJBQXFCO0FBQUEsUUFDbkIsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLHlCQUF5QjtBQUFBLFFBQ3ZCLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSx5QkFBeUI7QUFBQSxRQUN2QixRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0EsOEJBQThCO0FBQUEsUUFDNUIsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLHlCQUF5QjtBQUFBLFFBQ3ZCLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSx5QkFBeUI7QUFBQSxRQUN2QixRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsUUFDZCxZQUFZLENBQUMsT0FBTyxPQUFPO0FBQUEsTUFDN0I7QUFBQSxNQUNBLG9CQUFvQjtBQUFBLFFBQ2xCLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSxxQkFBcUI7QUFBQSxRQUNuQixRQUFRO0FBQUEsUUFDUixZQUFZLENBQUMsT0FBTztBQUFBLE1BQ3RCO0FBQUEsTUFDQSxtQkFBbUI7QUFBQSxRQUNqQixRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0Esb0JBQW9CO0FBQUEsUUFDbEIsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLHVCQUF1QjtBQUFBLFFBQ3JCLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxRQUNkLFlBQVksQ0FBQyxLQUFLO0FBQUEsTUFDcEI7QUFBQSxNQUNBLDRCQUE0QjtBQUFBLFFBQzFCLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxRQUNkLFlBQVksQ0FBQyxPQUFPLE9BQU8sS0FBSztBQUFBLE1BQ2xDO0FBQUEsTUFDQSxzQ0FBc0M7QUFBQSxRQUNwQyxRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsUUFDZCxZQUFZLENBQUMsS0FBSztBQUFBLE1BQ3BCO0FBQUEsTUFDQSx1QkFBdUI7QUFBQSxRQUNyQixRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsUUFDZCxZQUFZLENBQUMsT0FBTztBQUFBLE1BQ3RCO0FBQUEsTUFDQSwwQkFBMEI7QUFBQSxRQUN4QixRQUFRO0FBQUEsUUFDUixTQUFTO0FBQUEsUUFDVCxjQUFjO0FBQUEsUUFDZCxZQUFZLENBQUMsSUFBSTtBQUFBLE1BQ25CO0FBQUEsTUFDQSw0QkFBNEI7QUFBQSxRQUMxQixRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsTUFDaEI7QUFBQSxNQUNBLG9CQUFvQjtBQUFBLFFBQ2xCLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSx5QkFBeUI7QUFBQSxRQUN2QixRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsTUFDaEI7QUFBQSxNQUNBLHdCQUF3QjtBQUFBLFFBQ3RCLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxNQUNoQjtBQUFBLE1BQ0EsK0JBQStCO0FBQUEsUUFDN0IsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLE1BQ2hCO0FBQUEsTUFDQSw4QkFBOEI7QUFBQSxRQUM1QixRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsTUFDaEI7QUFBQSxNQUNBLG9CQUFvQjtBQUFBLFFBQ2xCLFFBQVE7QUFBQSxRQUNSLFNBQVM7QUFBQSxRQUNULGNBQWM7QUFBQSxRQUNkLFlBQVksQ0FBQyxRQUFRLEtBQUs7QUFBQSxNQUM1QjtBQUFBLE1BQ0EsK0JBQStCO0FBQUEsUUFDN0IsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLE1BQ2hCO0FBQUEsTUFDQSx3QkFBd0I7QUFBQSxRQUN0QixRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0EscUJBQXFCO0FBQUEsUUFDbkIsWUFBWSxDQUFDLE9BQU87QUFBQSxNQUN0QjtBQUFBLE1BQ0EsMkJBQTJCO0FBQUEsUUFDekIsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLFFBQ2QsWUFBWSxDQUFDLFFBQVE7QUFBQSxNQUN2QjtBQUFBLE1BQ0Esd0JBQXdCO0FBQUEsUUFDdEIsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLHdCQUF3QjtBQUFBLFFBQ3RCLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxNQUNoQjtBQUFBLE1BQ0EsNEJBQTRCO0FBQUEsUUFDMUIsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLE1BQ2hCO0FBQUEsTUFDQSwyQkFBMkI7QUFBQSxRQUN6QixRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0EsbUJBQW1CO0FBQUEsUUFDakIsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLGdDQUFnQztBQUFBLFFBQzlCLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxNQUNoQjtBQUFBLE1BQ0EsaUNBQWlDO0FBQUEsUUFDL0IsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLE1BQ2hCO0FBQUEsTUFDQSx1QkFBdUI7QUFBQSxRQUNyQixRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsUUFDZCxZQUFZLENBQUMsUUFBUTtBQUFBLE1BQ3ZCO0FBQUEsTUFDQSx1QkFBdUI7QUFBQSxRQUNyQixRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsUUFDZCxZQUFZLENBQUMsS0FBSztBQUFBLE1BQ3BCO0FBQUEsTUFDQSwyQkFBMkI7QUFBQSxRQUN6QixRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0EsdUJBQXVCO0FBQUEsUUFDckIsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLDRCQUE0QjtBQUFBLFFBQzFCLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxNQUNoQjtBQUFBLE1BQ0EsZ0NBQWdDO0FBQUEsUUFDOUIsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLE1BQ2hCO0FBQUEsTUFDQSwwQkFBMEI7QUFBQSxRQUN4QixRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0Esd0JBQXdCO0FBQUEsUUFDdEIsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLFFBQ2QsWUFBWSxDQUFDLFNBQVM7QUFBQSxNQUN4QjtBQUFBLE1BQ0EsNEJBQTRCO0FBQUEsUUFDMUIsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLE1BQ2hCO0FBQUEsTUFDQSx1QkFBdUI7QUFBQSxRQUNyQixRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsTUFDaEI7QUFBQSxNQUNBLG1CQUFtQjtBQUFBLFFBQ2pCLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSw0QkFBNEI7QUFBQSxRQUMxQixRQUFRO0FBQUEsUUFDUixZQUFZLENBQUMsS0FBSztBQUFBLE1BQ3BCO0FBQUEsTUFDQSw4QkFBOEI7QUFBQSxRQUM1QixRQUFRO0FBQUEsUUFDUixZQUFZLENBQUMsS0FBSztBQUFBLE1BQ3BCO0FBQUEsTUFDQSwwQkFBMEI7QUFBQSxRQUN4QixRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0Esd0JBQXdCO0FBQUEsUUFDdEIsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLFFBQ2QsWUFBWSxDQUFDLE1BQU07QUFBQSxNQUNyQjtBQUFBLE1BQ0EsNkJBQTZCO0FBQUEsUUFDM0IsUUFBUTtBQUFBLFFBQ1IsU0FBUztBQUFBLFFBQ1QsY0FBYztBQUFBLFFBQ2QsWUFBWSxDQUFDLGFBQWE7QUFBQSxNQUM1QjtBQUFBLE1BQ0Esb0JBQW9CO0FBQUEsUUFDbEIsUUFBUTtBQUFBLFFBQ1IsWUFBWSxDQUFDLEtBQUs7QUFBQSxNQUNwQjtBQUFBLE1BQ0EsMkJBQTJCO0FBQUEsUUFDekIsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLFFBQ2QsWUFBWSxDQUFDLE1BQU07QUFBQSxNQUNyQjtBQUFBLE1BQ0EsMkJBQTJCO0FBQUEsUUFDekIsUUFBUTtBQUFBLFFBQ1IsWUFBWSxDQUFDLE1BQU0sTUFBTSxJQUFJO0FBQUEsTUFDL0I7QUFBQSxNQUNBLDBCQUEwQjtBQUFBLFFBQ3hCLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxRQUNkLFlBQVksQ0FBQyxRQUFRO0FBQUEsTUFDdkI7QUFBQSxNQUNBLGtDQUFrQztBQUFBLFFBQ2hDLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxNQUNoQjtBQUFBLE1BQ0EsdUNBQXVDO0FBQUEsUUFDckMsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLE1BQ2hCO0FBQUEsTUFDQSx5REFBeUQ7QUFBQSxRQUN2RCxRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsTUFDaEI7QUFBQSxNQUNBLG1DQUFtQztBQUFBLFFBQ2pDLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxNQUNoQjtBQUFBLE1BQ0EsaUNBQWlDO0FBQUEsUUFDL0IsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLE1BQ2hCO0FBQUEsTUFDQSw0QkFBNEI7QUFBQSxRQUMxQixRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsTUFDaEI7QUFBQSxNQUNBLHFDQUFxQztBQUFBLFFBQ25DLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxNQUNoQjtBQUFBLE1BQ0EsK0NBQStDO0FBQUEsUUFDN0MsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLE1BQ2hCO0FBQUEsTUFDQSx5Q0FBeUM7QUFBQSxRQUN2QyxRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsTUFDaEI7QUFBQSxNQUNBLGlDQUFpQztBQUFBLFFBQy9CLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxNQUNoQjtBQUFBLE1BQ0EsMENBQTBDO0FBQUEsUUFDeEMsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLE1BQ2hCO0FBQUEsTUFDQSxpQ0FBaUM7QUFBQSxRQUMvQixRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsTUFDaEI7QUFBQSxNQUNBLGlEQUFpRDtBQUFBLFFBQy9DLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxNQUNoQjtBQUFBLE1BQ0Esb0JBQW9CO0FBQUEsUUFDbEIsUUFBUTtBQUFBLFFBQ1IsWUFBWSxDQUFDLE1BQU07QUFBQSxNQUNyQjtBQUFBLE1BQ0Esd0NBQXdDO0FBQUEsUUFDdEMsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLFFBQ2QsWUFBWSxDQUFDLEtBQUs7QUFBQSxNQUNwQjtBQUFBLE1BQ0EsaUNBQWlDO0FBQUEsUUFDL0IsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLE1BQ2hCO0FBQUEsTUFDQSxzQ0FBc0M7QUFBQSxRQUNwQyxRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsUUFDZCxZQUFZLENBQUMsT0FBTztBQUFBLE1BQ3RCO0FBQUEsTUFDQSxnQ0FBZ0M7QUFBQSxRQUM5QixRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsTUFDaEI7QUFBQSxNQUNBLDRCQUE0QjtBQUFBLFFBQzFCLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxRQUNkLFlBQVksQ0FBQyxVQUFVO0FBQUEsTUFDekI7QUFBQSxNQUNBLDZCQUE2QjtBQUFBLFFBQzNCLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxRQUNkLFlBQVksQ0FBQyxPQUFPO0FBQUEsTUFDdEI7QUFBQSxNQUNBLHdCQUF3QjtBQUFBLFFBQ3RCLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxRQUNkLFlBQVksQ0FBQyxNQUFNO0FBQUEsTUFDckI7QUFBQSxNQUNBLG1CQUFtQjtBQUFBLFFBQ2pCLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSxxQkFBcUI7QUFBQSxRQUNuQixRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0Esb0JBQW9CO0FBQUEsUUFDbEIsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLHVDQUF1QztBQUFBLFFBQ3JDLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSwyQkFBMkI7QUFBQSxRQUN6QixRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsUUFDZCxZQUFZLENBQUMsTUFBTTtBQUFBLE1BQ3JCO0FBQUEsTUFDQSwyQkFBMkI7QUFBQSxRQUN6QixRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsUUFDZCxZQUFZLENBQUMsTUFBTTtBQUFBLE1BQ3JCO0FBQUEsTUFDQSx3QkFBd0I7QUFBQSxRQUN0QixRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsUUFDZCxZQUFZLENBQUMsTUFBTTtBQUFBLE1BQ3JCO0FBQUEsTUFDQSx5QkFBeUI7QUFBQSxRQUN2QixRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0EsOEJBQThCO0FBQUEsUUFDNUIsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLDRCQUE0QjtBQUFBLFFBQzFCLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSwrQkFBK0I7QUFBQSxRQUM3QixRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0Esb0JBQW9CO0FBQUEsUUFDbEIsUUFBUTtBQUFBLFFBQ1IsWUFBWSxDQUFDLE9BQU8sTUFBTTtBQUFBLE1BQzVCO0FBQUEsTUFDQSxtQkFBbUI7QUFBQSxRQUNqQixRQUFRO0FBQUEsUUFDUixZQUFZLENBQUMsT0FBTyxRQUFRLFFBQVEsS0FBSztBQUFBLE1BQzNDO0FBQUEsTUFDQSw2QkFBNkI7QUFBQSxRQUMzQixRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0EseUJBQXlCO0FBQUEsUUFDdkIsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLDZCQUE2QjtBQUFBLFFBQzNCLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSxnQ0FBZ0M7QUFBQSxRQUM5QixRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsTUFDaEI7QUFBQSxNQUNBLCtCQUErQjtBQUFBLFFBQzdCLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxNQUNoQjtBQUFBLE1BQ0EsMkJBQTJCO0FBQUEsUUFDekIsUUFBUTtBQUFBLFFBQ1IsU0FBUztBQUFBLFFBQ1QsY0FBYztBQUFBLE1BQ2hCO0FBQUEsTUFDQSw2QkFBNkI7QUFBQSxRQUMzQixRQUFRO0FBQUEsUUFDUixTQUFTO0FBQUEsUUFDVCxjQUFjO0FBQUEsTUFDaEI7QUFBQSxNQUNBLG9CQUFvQjtBQUFBLFFBQ2xCLGNBQWM7QUFBQSxRQUNkLFlBQVksQ0FBQyxNQUFNO0FBQUEsTUFDckI7QUFBQSxNQUNBLDBCQUEwQjtBQUFBLFFBQ3hCLGNBQWM7QUFBQSxRQUNkLFlBQVksQ0FBQyxZQUFZO0FBQUEsTUFDM0I7QUFBQSxNQUNBLHNCQUFzQjtBQUFBLFFBQ3BCLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxRQUNkLFlBQVksQ0FBQyxPQUFPLEtBQUs7QUFBQSxNQUMzQjtBQUFBLE1BQ0Esd0JBQXdCO0FBQUEsUUFDdEIsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLE1BQ2hCO0FBQUEsTUFDQSw4QkFBOEI7QUFBQSxRQUM1QixRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0EsbUJBQW1CO0FBQUEsUUFDakIsUUFBUTtBQUFBLFFBQ1IsWUFBWSxDQUFDLEtBQUs7QUFBQSxNQUNwQjtBQUFBLE1BQ0EsdUJBQXVCO0FBQUEsUUFDckIsUUFBUTtBQUFBLFFBQ1IsWUFBWSxDQUFDLElBQUk7QUFBQSxNQUNuQjtBQUFBLE1BQ0EseUJBQXlCO0FBQUEsUUFDdkIsUUFBUTtBQUFBLFFBQ1IsWUFBWSxDQUFDLElBQUk7QUFBQSxNQUNuQjtBQUFBLE1BQ0EsdUJBQXVCO0FBQUEsUUFDckIsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLGdDQUFnQztBQUFBLFFBQzlCLFFBQVE7QUFBQSxRQUNSLFNBQVM7QUFBQSxNQUNYO0FBQUEsTUFDQSw4QkFBOEI7QUFBQSxRQUM1QixRQUFRO0FBQUEsUUFDUixTQUFTO0FBQUEsTUFDWDtBQUFBLE1BQ0EsaUNBQWlDO0FBQUEsUUFDL0IsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLHlCQUF5QjtBQUFBLFFBQ3ZCLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxNQUNoQjtBQUFBLE1BQ0Esb0JBQW9CO0FBQUEsUUFDbEIsUUFBUTtBQUFBLFFBQ1IsWUFBWSxDQUFDLEtBQUs7QUFBQSxNQUNwQjtBQUFBLE1BQ0EsbUJBQW1CO0FBQUEsUUFDakIsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLG1DQUFtQztBQUFBLFFBQ2pDLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSxxQ0FBcUM7QUFBQSxRQUNuQyxRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0EsNEJBQTRCO0FBQUEsUUFDMUIsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLDZCQUE2QjtBQUFBLFFBQzNCLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSw0QkFBNEI7QUFBQSxRQUMxQixRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsUUFDZCxZQUFZLENBQUMsT0FBTyxPQUFPLE9BQU8sT0FBTyxNQUFNLFFBQVEsU0FBUyxPQUFPLE9BQU8sUUFBUSxPQUFPLFVBQVUsT0FBTyxPQUFPLE9BQU8sT0FBTyxPQUFPLE9BQU8sT0FBTyxPQUFPLE9BQU8sUUFBUTtBQUFBLE1BQ2hMO0FBQUEsTUFDQSxtQkFBbUI7QUFBQSxRQUNqQixRQUFRO0FBQUEsUUFDUixZQUFZLENBQUMsS0FBSztBQUFBLE1BQ3BCO0FBQUEsTUFDQSx1QkFBdUI7QUFBQSxRQUNyQixRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsTUFDaEI7QUFBQSxNQUNBLG1CQUFtQjtBQUFBLFFBQ2pCLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSxpQ0FBaUM7QUFBQSxRQUMvQixRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsUUFDZCxZQUFZLENBQUMsS0FBSztBQUFBLE1BQ3BCO0FBQUEsTUFDQSxtQkFBbUI7QUFBQSxRQUNqQixRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsUUFDZCxZQUFZLENBQUMsS0FBSztBQUFBLE1BQ3BCO0FBQUEsTUFDQSwwQkFBMEI7QUFBQSxRQUN4QixRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0EseUJBQXlCO0FBQUEsUUFDdkIsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLFFBQ2QsWUFBWSxDQUFDLE9BQU87QUFBQSxNQUN0QjtBQUFBLE1BQ0EsdUJBQXVCO0FBQUEsUUFDckIsUUFBUTtBQUFBLFFBQ1IsWUFBWSxDQUFDLFVBQVUsV0FBVyxVQUFVLFVBQVUsT0FBTyxNQUFNO0FBQUEsTUFDckU7QUFBQSxNQUNBLCtCQUErQjtBQUFBLFFBQzdCLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxNQUNoQjtBQUFBLE1BQ0Esc0JBQXNCO0FBQUEsUUFDcEIsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLG9CQUFvQjtBQUFBLFFBQ2xCLFFBQVE7QUFBQSxRQUNSLFlBQVksQ0FBQyxNQUFNO0FBQUEsTUFDckI7QUFBQSxNQUNBLG1CQUFtQjtBQUFBLFFBQ2pCLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSx1QkFBdUI7QUFBQSxRQUNyQixRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsTUFDaEI7QUFBQSxNQUNBLCtCQUErQjtBQUFBLFFBQzdCLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxRQUNkLFlBQVksQ0FBQyxNQUFNO0FBQUEsTUFDckI7QUFBQSxNQUNBLHlCQUF5QjtBQUFBLFFBQ3ZCLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSx3QkFBd0I7QUFBQSxRQUN0QixRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0EsbUNBQW1DO0FBQUEsUUFDakMsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLFFBQ2QsWUFBWSxDQUFDLEtBQUs7QUFBQSxNQUNwQjtBQUFBLE1BQ0EsbUJBQW1CO0FBQUEsUUFDakIsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLFFBQ2QsWUFBWSxDQUFDLEtBQUs7QUFBQSxNQUNwQjtBQUFBLE1BQ0EsbUJBQW1CO0FBQUEsUUFDakIsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLHFDQUFxQztBQUFBLFFBQ25DLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSw2QkFBNkI7QUFBQSxRQUMzQixRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsUUFDZCxZQUFZLENBQUMsS0FBSztBQUFBLE1BQ3BCO0FBQUEsTUFDQSx3QkFBd0I7QUFBQSxRQUN0QixRQUFRO0FBQUEsUUFDUixZQUFZLENBQUMsS0FBSztBQUFBLE1BQ3BCO0FBQUEsTUFDQSw2QkFBNkI7QUFBQSxRQUMzQixRQUFRO0FBQUEsUUFDUixZQUFZLENBQUMsT0FBTyxLQUFLO0FBQUEsTUFDM0I7QUFBQSxNQUNBLDBCQUEwQjtBQUFBLFFBQ3hCLFFBQVE7QUFBQSxRQUNSLFlBQVksQ0FBQyxLQUFLO0FBQUEsTUFDcEI7QUFBQSxNQUNBLHdCQUF3QjtBQUFBLFFBQ3RCLFFBQVE7QUFBQSxRQUNSLFNBQVM7QUFBQSxRQUNULGNBQWM7QUFBQSxNQUNoQjtBQUFBLE1BQ0EsNkJBQTZCO0FBQUEsUUFDM0IsUUFBUTtBQUFBLFFBQ1IsU0FBUztBQUFBLFFBQ1QsY0FBYztBQUFBLE1BQ2hCO0FBQUEsTUFDQSxzQkFBc0I7QUFBQSxRQUNwQixRQUFRO0FBQUEsUUFDUixZQUFZLENBQUMsS0FBSztBQUFBLE1BQ3BCO0FBQUEsTUFDQSxzQkFBc0I7QUFBQSxRQUNwQixRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0EsMEJBQTBCO0FBQUEsUUFDeEIsUUFBUTtBQUFBLFFBQ1IsWUFBWSxDQUFDLE9BQU8sS0FBSztBQUFBLE1BQzNCO0FBQUEsTUFDQSwrQkFBK0I7QUFBQSxRQUM3QixRQUFRO0FBQUEsUUFDUixZQUFZLENBQUMsS0FBSztBQUFBLE1BQ3BCO0FBQUEsTUFDQSxxQkFBcUI7QUFBQSxRQUNuQixRQUFRO0FBQUEsUUFDUixZQUFZLENBQUMsSUFBSTtBQUFBLE1BQ25CO0FBQUEsTUFDQSwrQkFBK0I7QUFBQSxRQUM3QixRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0EsOEJBQThCO0FBQUEsUUFDNUIsUUFBUTtBQUFBLFFBQ1IsWUFBWSxDQUFDLElBQUk7QUFBQSxNQUNuQjtBQUFBLE1BQ0EseUJBQXlCO0FBQUEsUUFDdkIsUUFBUTtBQUFBLFFBQ1IsWUFBWSxDQUFDLEtBQUs7QUFBQSxNQUNwQjtBQUFBLE1BQ0Esd0JBQXdCO0FBQUEsUUFDdEIsUUFBUTtBQUFBLFFBQ1IsWUFBWSxDQUFDLEtBQUs7QUFBQSxNQUNwQjtBQUFBLE1BQ0EsNEJBQTRCO0FBQUEsUUFDMUIsUUFBUTtBQUFBLFFBQ1IsWUFBWSxDQUFDLFNBQVM7QUFBQSxNQUN4QjtBQUFBLE1BQ0EsdUJBQXVCO0FBQUEsUUFDckIsUUFBUTtBQUFBLFFBQ1IsWUFBWSxDQUFDLEtBQUs7QUFBQSxNQUNwQjtBQUFBLE1BQ0EsdUJBQXVCO0FBQUEsUUFDckIsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLFFBQ2QsWUFBWSxDQUFDLEtBQUs7QUFBQSxNQUNwQjtBQUFBLE1BQ0EsZ0NBQWdDO0FBQUEsUUFDOUIsUUFBUTtBQUFBLFFBQ1IsU0FBUztBQUFBLFFBQ1QsY0FBYztBQUFBLE1BQ2hCO0FBQUEsTUFDQSwwQkFBMEI7QUFBQSxRQUN4QixRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsUUFDZCxZQUFZLENBQUMsTUFBTSxPQUFPLElBQUk7QUFBQSxNQUNoQztBQUFBLE1BQ0EsaUNBQWlDO0FBQUEsUUFDL0IsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLE1BQ2hCO0FBQUEsTUFDQSw4Q0FBOEM7QUFBQSxRQUM1QyxRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0EscUNBQXFDO0FBQUEsUUFDbkMsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLHNDQUFzQztBQUFBLFFBQ3BDLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSw0QkFBNEI7QUFBQSxRQUMxQixRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsTUFDaEI7QUFBQSxNQUNBLDJCQUEyQjtBQUFBLFFBQ3pCLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxNQUNoQjtBQUFBLE1BQ0EsOEJBQThCO0FBQUEsUUFDNUIsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLFFBQ2QsWUFBWSxDQUFDLE9BQU87QUFBQSxNQUN0QjtBQUFBLE1BQ0EsbUNBQW1DO0FBQUEsUUFDakMsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLDJDQUEyQztBQUFBLFFBQ3pDLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSx1QkFBdUI7QUFBQSxRQUNyQixRQUFRO0FBQUEsUUFDUixZQUFZLENBQUMsS0FBSztBQUFBLE1BQ3BCO0FBQUEsTUFDQSx1QkFBdUI7QUFBQSxRQUNyQixRQUFRO0FBQUEsUUFDUixTQUFTO0FBQUEsTUFDWDtBQUFBLE1BQ0EsNEJBQTRCO0FBQUEsUUFDMUIsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLE1BQ2hCO0FBQUEsTUFDQSx3Q0FBd0M7QUFBQSxRQUN0QyxRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsTUFDaEI7QUFBQSxNQUNBLHNDQUFzQztBQUFBLFFBQ3BDLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSx1Q0FBdUM7QUFBQSxRQUNyQyxRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsTUFDaEI7QUFBQSxNQUNBLDJDQUEyQztBQUFBLFFBQ3pDLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSx1Q0FBdUM7QUFBQSxRQUNyQyxRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0EscUNBQXFDO0FBQUEsUUFDbkMsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLDJCQUEyQjtBQUFBLFFBQ3pCLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSwwQkFBMEI7QUFBQSxRQUN4QixRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0EsMkJBQTJCO0FBQUEsUUFDekIsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLGlDQUFpQztBQUFBLFFBQy9CLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSw0QkFBNEI7QUFBQSxRQUMxQixRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0EsMkJBQTJCO0FBQUEsUUFDekIsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLFFBQ2QsWUFBWSxDQUFDLEtBQUs7QUFBQSxNQUNwQjtBQUFBLE1BQ0Esd0JBQXdCO0FBQUEsUUFDdEIsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLFFBQ2QsWUFBWSxDQUFDLFNBQVM7QUFBQSxNQUN4QjtBQUFBLE1BQ0Esd0JBQXdCO0FBQUEsUUFDdEIsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLE1BQ2hCO0FBQUEsTUFDQSxvQkFBb0I7QUFBQSxRQUNsQixRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0EseUJBQXlCO0FBQUEsUUFDdkIsY0FBYztBQUFBLFFBQ2QsWUFBWSxDQUFDLE1BQU07QUFBQSxNQUNyQjtBQUFBLE1BQ0EseUJBQXlCO0FBQUEsUUFDdkIsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLHlCQUF5QjtBQUFBLFFBQ3ZCLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxNQUNoQjtBQUFBLE1BQ0EsdUJBQXVCO0FBQUEsUUFDckIsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLFFBQ2QsWUFBWSxDQUFDLE9BQU8sS0FBSztBQUFBLE1BQzNCO0FBQUEsTUFDQSwyQkFBMkI7QUFBQSxRQUN6QixRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsUUFDZCxZQUFZLENBQUMsS0FBSztBQUFBLE1BQ3BCO0FBQUEsTUFDQSx1Q0FBdUM7QUFBQSxRQUNyQyxRQUFRO0FBQUEsUUFDUixZQUFZLENBQUMsS0FBSztBQUFBLE1BQ3BCO0FBQUEsTUFDQSwrQkFBK0I7QUFBQSxRQUM3QixRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0EsNEJBQTRCO0FBQUEsUUFDMUIsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLE1BQ2hCO0FBQUEsTUFDQSxvQ0FBb0M7QUFBQSxRQUNsQyxRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0Esa0NBQWtDO0FBQUEsUUFDaEMsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLFFBQ2QsWUFBWSxDQUFDLElBQUk7QUFBQSxNQUNuQjtBQUFBLE1BQ0EsdUNBQXVDO0FBQUEsUUFDckMsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLFFBQ2QsWUFBWSxDQUFDLEtBQUs7QUFBQSxNQUNwQjtBQUFBLE1BQ0EsdUJBQXVCO0FBQUEsUUFDckIsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLE1BQ2hCO0FBQUEsTUFDQSxzQkFBc0I7QUFBQSxRQUNwQixRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0Esd0JBQXdCO0FBQUEsUUFDdEIsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLE1BQ2hCO0FBQUEsTUFDQSxnQ0FBZ0M7QUFBQSxRQUM5QixRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsUUFDZCxZQUFZLENBQUMsSUFBSTtBQUFBLE1BQ25CO0FBQUEsTUFDQSw2QkFBNkI7QUFBQSxRQUMzQixRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsUUFDZCxZQUFZLENBQUMsTUFBTTtBQUFBLE1BQ3JCO0FBQUEsTUFDQSxnQ0FBZ0M7QUFBQSxRQUM5QixRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsUUFDZCxZQUFZLENBQUMsS0FBSztBQUFBLE1BQ3BCO0FBQUEsTUFDQSw2QkFBNkI7QUFBQSxRQUMzQixRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsUUFDZCxZQUFZLENBQUMsTUFBTTtBQUFBLE1BQ3JCO0FBQUEsTUFDQSw4QkFBOEI7QUFBQSxRQUM1QixRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0EsaUNBQWlDO0FBQUEsUUFDL0IsUUFBUTtBQUFBLFFBQ1IsWUFBWSxDQUFDLEtBQUs7QUFBQSxNQUNwQjtBQUFBLE1BQ0EsNkJBQTZCO0FBQUEsUUFDM0IsUUFBUTtBQUFBLFFBQ1IsWUFBWSxDQUFDLEtBQUs7QUFBQSxNQUNwQjtBQUFBLE1BQ0EsZ0NBQWdDO0FBQUEsUUFDOUIsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLHdCQUF3QjtBQUFBLFFBQ3RCLFFBQVE7QUFBQSxRQUNSLFlBQVksQ0FBQyxLQUFLO0FBQUEsTUFDcEI7QUFBQSxNQUNBLCtCQUErQjtBQUFBLFFBQzdCLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSwyQkFBMkI7QUFBQSxRQUN6QixRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0EsdUJBQXVCO0FBQUEsUUFDckIsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLFFBQ2QsWUFBWSxDQUFDLEtBQUs7QUFBQSxNQUNwQjtBQUFBLE1BQ0EsdUJBQXVCO0FBQUEsUUFDckIsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLFFBQ2QsWUFBWSxDQUFDLEtBQUs7QUFBQSxNQUNwQjtBQUFBLE1BQ0EsbUJBQW1CO0FBQUEsUUFDakIsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLFFBQ2QsWUFBWSxDQUFDLEtBQUs7QUFBQSxNQUNwQjtBQUFBLE1BQ0EsMkJBQTJCO0FBQUEsUUFDekIsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLG1CQUFtQjtBQUFBLFFBQ2pCLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSxpQ0FBaUM7QUFBQSxRQUMvQixRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsTUFDaEI7QUFBQSxNQUNBLGdDQUFnQztBQUFBLFFBQzlCLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxNQUNoQjtBQUFBLE1BQ0EsMEJBQTBCO0FBQUEsUUFDeEIsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLE1BQ2hCO0FBQUEsTUFDQSw4Q0FBOEM7QUFBQSxRQUM1QyxRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsTUFDaEI7QUFBQSxNQUNBLG1CQUFtQjtBQUFBLFFBQ2pCLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSx3QkFBd0I7QUFBQSxRQUN0QixRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsUUFDZCxZQUFZLENBQUMsTUFBTTtBQUFBLE1BQ3JCO0FBQUEsTUFDQSx5QkFBeUI7QUFBQSxRQUN2QixRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsTUFDaEI7QUFBQSxNQUNBLHlCQUF5QjtBQUFBLFFBQ3ZCLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxNQUNoQjtBQUFBLE1BQ0EsK0JBQStCO0FBQUEsUUFDN0IsUUFBUTtBQUFBLFFBQ1IsWUFBWSxDQUFDLEtBQUs7QUFBQSxNQUNwQjtBQUFBLE1BQ0EsZ0NBQWdDO0FBQUEsUUFDOUIsUUFBUTtBQUFBLFFBQ1IsWUFBWSxDQUFDLEtBQUs7QUFBQSxNQUNwQjtBQUFBLE1BQ0EsK0JBQStCO0FBQUEsUUFDN0IsUUFBUTtBQUFBLFFBQ1IsWUFBWSxDQUFDLEtBQUs7QUFBQSxNQUNwQjtBQUFBLE1BQ0EsZ0NBQWdDO0FBQUEsUUFDOUIsUUFBUTtBQUFBLFFBQ1IsWUFBWSxDQUFDLEtBQUs7QUFBQSxNQUNwQjtBQUFBLE1BQ0EsbUJBQW1CO0FBQUEsUUFDakIsUUFBUTtBQUFBLFFBQ1IsWUFBWSxDQUFDLEtBQUs7QUFBQSxNQUNwQjtBQUFBLE1BQ0EsNEJBQTRCO0FBQUEsUUFDMUIsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLDBCQUEwQjtBQUFBLFFBQ3hCLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSwwQkFBMEI7QUFBQSxRQUN4QixRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsTUFDaEI7QUFBQSxNQUNBLHlCQUF5QjtBQUFBLFFBQ3ZCLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxRQUNkLFlBQVksQ0FBQyxRQUFRO0FBQUEsTUFDdkI7QUFBQSxNQUNBLCtCQUErQjtBQUFBLFFBQzdCLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSwrQkFBK0I7QUFBQSxRQUM3QixRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsTUFDaEI7QUFBQSxNQUNBLHlCQUF5QjtBQUFBLFFBQ3ZCLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSwyQkFBMkI7QUFBQSxRQUN6QixRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0EsMkJBQTJCO0FBQUEsUUFDekIsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLE1BQ2hCO0FBQUEsTUFDQSwwQkFBMEI7QUFBQSxRQUN4QixRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsUUFDZCxZQUFZLENBQUMsU0FBUztBQUFBLE1BQ3hCO0FBQUEsTUFDQSwwQkFBMEI7QUFBQSxRQUN4QixRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0EsdUJBQXVCO0FBQUEsUUFDckIsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLE1BQ2hCO0FBQUEsTUFDQSx1QkFBdUI7QUFBQSxRQUNyQixRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0EsNEJBQTRCO0FBQUEsUUFDMUIsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLDJCQUEyQjtBQUFBLFFBQ3pCLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSxzQ0FBc0M7QUFBQSxRQUNwQyxRQUFRO0FBQUEsUUFDUixZQUFZLENBQUMsUUFBUTtBQUFBLE1BQ3ZCO0FBQUEsTUFDQSxnQ0FBZ0M7QUFBQSxRQUM5QixRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0EsMkNBQTJDO0FBQUEsUUFDekMsUUFBUTtBQUFBLFFBQ1IsWUFBWSxDQUFDLFFBQVE7QUFBQSxNQUN2QjtBQUFBLE1BQ0Esb0JBQW9CO0FBQUEsUUFDbEIsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLGlDQUFpQztBQUFBLFFBQy9CLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSx1QkFBdUI7QUFBQSxRQUNyQixRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsUUFDZCxZQUFZLENBQUMsS0FBSztBQUFBLE1BQ3BCO0FBQUEsTUFDQSxxQkFBcUI7QUFBQSxRQUNuQixRQUFRO0FBQUEsUUFDUixZQUFZLENBQUMsT0FBTyxPQUFPO0FBQUEsTUFDN0I7QUFBQSxNQUNBLGlDQUFpQztBQUFBLFFBQy9CLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxNQUNoQjtBQUFBLE1BQ0Esc0NBQXNDO0FBQUEsUUFDcEMsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLHFDQUFxQztBQUFBLFFBQ25DLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSxvQkFBb0I7QUFBQSxRQUNsQixRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0EscUJBQXFCO0FBQUEsUUFDbkIsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLG9CQUFvQjtBQUFBLFFBQ2xCLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSx3QkFBd0I7QUFBQSxRQUN0QixRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsUUFDZCxZQUFZLENBQUMsT0FBTyxNQUFNO0FBQUEsTUFDNUI7QUFBQSxNQUNBLHlCQUF5QjtBQUFBLFFBQ3ZCLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSxnQ0FBZ0M7QUFBQSxRQUM5QixRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0Esd0JBQXdCO0FBQUEsUUFDdEIsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLE1BQ2hCO0FBQUEsTUFDQSw0QkFBNEI7QUFBQSxRQUMxQixRQUFRO0FBQUEsUUFDUixZQUFZLENBQUMsSUFBSTtBQUFBLE1BQ25CO0FBQUEsTUFDQSxrQ0FBa0M7QUFBQSxRQUNoQyxRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsUUFDZCxZQUFZLENBQUMsS0FBSztBQUFBLE1BQ3BCO0FBQUEsTUFDQSx5QkFBeUI7QUFBQSxRQUN2QixRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsTUFDaEI7QUFBQSxNQUNBLGlDQUFpQztBQUFBLFFBQy9CLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxNQUNoQjtBQUFBLE1BQ0EsbUJBQW1CO0FBQUEsUUFDakIsUUFBUTtBQUFBLFFBQ1IsWUFBWSxDQUFDLEtBQUs7QUFBQSxNQUNwQjtBQUFBLE1BQ0Esb0JBQW9CO0FBQUEsUUFDbEIsUUFBUTtBQUFBLFFBQ1IsWUFBWSxDQUFDLE1BQU07QUFBQSxNQUNyQjtBQUFBLE1BQ0Esd0JBQXdCO0FBQUEsUUFDdEIsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLFFBQ2QsWUFBWSxDQUFDLE9BQU87QUFBQSxNQUN0QjtBQUFBLE1BQ0EsdUJBQXVCO0FBQUEsUUFDckIsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLFFBQ2QsWUFBWSxDQUFDLEtBQUs7QUFBQSxNQUNwQjtBQUFBLE1BQ0Esd0JBQXdCO0FBQUEsUUFDdEIsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLFFBQ2QsWUFBWSxDQUFDLE1BQU07QUFBQSxNQUNyQjtBQUFBLE1BQ0EsNkJBQTZCO0FBQUEsUUFDM0IsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLHdCQUF3QjtBQUFBLFFBQ3RCLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxRQUNkLFlBQVksQ0FBQyxNQUFNO0FBQUEsTUFDckI7QUFBQSxNQUNBLHlCQUF5QjtBQUFBLFFBQ3ZCLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSx5QkFBeUI7QUFBQSxRQUN2QixRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsTUFDaEI7QUFBQSxNQUNBLHVCQUF1QjtBQUFBLFFBQ3JCLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSx5QkFBeUI7QUFBQSxRQUN2QixRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0Esd0JBQXdCO0FBQUEsUUFDdEIsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLFFBQ2QsWUFBWSxDQUFDLFNBQVM7QUFBQSxNQUN4QjtBQUFBLE1BQ0EsZ0NBQWdDO0FBQUEsUUFDOUIsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLHdDQUF3QztBQUFBLFFBQ3RDLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSxxQ0FBcUM7QUFBQSxRQUNuQyxRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0EsNkNBQTZDO0FBQUEsUUFDM0MsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLDBCQUEwQjtBQUFBLFFBQ3hCLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSxvQ0FBb0M7QUFBQSxRQUNsQyxRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0EsNENBQTRDO0FBQUEsUUFDMUMsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLGlDQUFpQztBQUFBLFFBQy9CLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSxvQ0FBb0M7QUFBQSxRQUNsQyxRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0EsMkJBQTJCO0FBQUEsUUFDekIsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLG1DQUFtQztBQUFBLFFBQ2pDLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSxtQkFBbUI7QUFBQSxRQUNqQixjQUFjO0FBQUEsTUFDaEI7QUFBQSxNQUNBLDBCQUEwQjtBQUFBLFFBQ3hCLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxNQUNoQjtBQUFBLE1BQ0EsdUJBQXVCO0FBQUEsUUFDckIsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLE1BQ2hCO0FBQUEsTUFDQSx1QkFBdUI7QUFBQSxRQUNyQixRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsUUFDZCxZQUFZLENBQUMsT0FBTyxXQUFXO0FBQUEsTUFDakM7QUFBQSxNQUNBLHlCQUF5QjtBQUFBLFFBQ3ZCLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSwwQkFBMEI7QUFBQSxRQUN4QixRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsUUFDZCxZQUFZLENBQUMsS0FBSztBQUFBLE1BQ3BCO0FBQUEsTUFDQSwrQkFBK0I7QUFBQSxRQUM3QixRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0EsK0JBQStCO0FBQUEsUUFDN0IsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLGdDQUFnQztBQUFBLFFBQzlCLFFBQVE7QUFBQSxRQUNSLFlBQVksQ0FBQyxLQUFLO0FBQUEsTUFDcEI7QUFBQSxNQUNBLDJCQUEyQjtBQUFBLFFBQ3pCLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSwyQkFBMkI7QUFBQSxRQUN6QixRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsTUFDaEI7QUFBQSxNQUNBLHVCQUF1QjtBQUFBLFFBQ3JCLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxNQUNoQjtBQUFBLE1BQ0EsMEJBQTBCO0FBQUEsUUFDeEIsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLHdCQUF3QjtBQUFBLFFBQ3RCLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSx1Q0FBdUM7QUFBQSxRQUNyQyxRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0Esb0JBQW9CO0FBQUEsUUFDbEIsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLFFBQ2QsWUFBWSxDQUFDLE1BQU07QUFBQSxNQUNyQjtBQUFBLE1BQ0EsbUNBQW1DO0FBQUEsUUFDakMsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLG9CQUFvQjtBQUFBLFFBQ2xCLFFBQVE7QUFBQSxRQUNSLFlBQVksQ0FBQyxNQUFNO0FBQUEsTUFDckI7QUFBQSxNQUNBLGdDQUFnQztBQUFBLFFBQzlCLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxNQUNoQjtBQUFBLE1BQ0EsOEJBQThCO0FBQUEsUUFDNUIsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLHlDQUF5QztBQUFBLFFBQ3ZDLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSx3QkFBd0I7QUFBQSxRQUN0QixRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsUUFDZCxZQUFZLENBQUMsTUFBTTtBQUFBLE1BQ3JCO0FBQUEsTUFDQSwyQkFBMkI7QUFBQSxRQUN6QixRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0Esb0JBQW9CO0FBQUEsUUFDbEIsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLHlCQUF5QjtBQUFBLFFBQ3ZCLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSxzQkFBc0I7QUFBQSxRQUNwQixjQUFjO0FBQUEsUUFDZCxZQUFZLENBQUMsS0FBSztBQUFBLE1BQ3BCO0FBQUEsTUFDQSx5QkFBeUI7QUFBQSxRQUN2QixRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0EseUJBQXlCO0FBQUEsUUFDdkIsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLE1BQ2hCO0FBQUEsTUFDQSxzQkFBc0I7QUFBQSxRQUNwQixRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0EsZ0NBQWdDO0FBQUEsUUFDOUIsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLE1BQ2hCO0FBQUEsTUFDQSxnQ0FBZ0M7QUFBQSxRQUM5QixRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsUUFDZCxZQUFZLENBQUMsUUFBUTtBQUFBLE1BQ3ZCO0FBQUEsTUFDQSxrQ0FBa0M7QUFBQSxRQUNoQyxRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsUUFDZCxZQUFZLENBQUMsSUFBSTtBQUFBLE1BQ25CO0FBQUEsTUFDQSxvQ0FBb0M7QUFBQSxRQUNsQyxRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsTUFDaEI7QUFBQSxNQUNBLGtCQUFrQjtBQUFBLFFBQ2hCLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSx1QkFBdUI7QUFBQSxRQUNyQixRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0Esc0JBQXNCO0FBQUEsUUFDcEIsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLDBCQUEwQjtBQUFBLFFBQ3hCLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxNQUNoQjtBQUFBLE1BQ0EseUJBQXlCO0FBQUEsUUFDdkIsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLE1BQ2hCO0FBQUEsTUFDQSxxQkFBcUI7QUFBQSxRQUNuQixRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0Esb0NBQW9DO0FBQUEsUUFDbEMsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLGdEQUFnRDtBQUFBLFFBQzlDLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxRQUNkLFlBQVksQ0FBQyxLQUFLO0FBQUEsTUFDcEI7QUFBQSxNQUNBLHVCQUF1QjtBQUFBLFFBQ3JCLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSxrQ0FBa0M7QUFBQSxRQUNoQyxRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsTUFDaEI7QUFBQSxNQUNBLHVDQUF1QztBQUFBLFFBQ3JDLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxNQUNoQjtBQUFBLE1BQ0EseUNBQXlDO0FBQUEsUUFDdkMsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLE1BQ2hCO0FBQUEsTUFDQSx3Q0FBd0M7QUFBQSxRQUN0QyxRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsTUFDaEI7QUFBQSxNQUNBLHNDQUFzQztBQUFBLFFBQ3BDLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxNQUNoQjtBQUFBLE1BQ0Esc0RBQXNEO0FBQUEsUUFDcEQsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLDhCQUE4QjtBQUFBLFFBQzVCLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSwrQkFBK0I7QUFBQSxRQUM3QixRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0EseURBQXlEO0FBQUEsUUFDdkQsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLCtCQUErQjtBQUFBLFFBQzdCLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSx5REFBeUQ7QUFBQSxRQUN2RCxRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0EsbURBQW1EO0FBQUEsUUFDakQsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLE1BQ2hCO0FBQUEsTUFDQSxnQ0FBZ0M7QUFBQSxRQUM5QixRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsTUFDaEI7QUFBQSxNQUNBLGdDQUFnQztBQUFBLFFBQzlCLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxNQUNoQjtBQUFBLE1BQ0EsdURBQXVEO0FBQUEsUUFDckQsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLE1BQ2hCO0FBQUEsTUFDQSxpQ0FBaUM7QUFBQSxRQUMvQixRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsTUFDaEI7QUFBQSxNQUNBLDZCQUE2QjtBQUFBLFFBQzNCLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSwwQ0FBMEM7QUFBQSxRQUN4QyxRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0EsNEJBQTRCO0FBQUEsUUFDMUIsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLDBDQUEwQztBQUFBLFFBQ3hDLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSx1REFBdUQ7QUFBQSxRQUNyRCxRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsTUFDaEI7QUFBQSxNQUNBLHdDQUF3QztBQUFBLFFBQ3RDLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxNQUNoQjtBQUFBLE1BQ0EseURBQXlEO0FBQUEsUUFDdkQsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLE1BQ2hCO0FBQUEsTUFDQSx1Q0FBdUM7QUFBQSxRQUNyQyxRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0EsMkNBQTJDO0FBQUEsUUFDekMsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLE1BQ2hCO0FBQUEsTUFDQSxrREFBa0Q7QUFBQSxRQUNoRCxRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsTUFDaEI7QUFBQSxNQUNBLDBDQUEwQztBQUFBLFFBQ3hDLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSw2Q0FBNkM7QUFBQSxRQUMzQyxRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsTUFDaEI7QUFBQSxNQUNBLGdEQUFnRDtBQUFBLFFBQzlDLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxNQUNoQjtBQUFBLE1BQ0Esc0RBQXNEO0FBQUEsUUFDcEQsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLE1BQ2hCO0FBQUEsTUFDQSxnREFBZ0Q7QUFBQSxRQUM5QyxRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsTUFDaEI7QUFBQSxNQUNBLHVDQUF1QztBQUFBLFFBQ3JDLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxNQUNoQjtBQUFBLE1BQ0EsZ0RBQWdEO0FBQUEsUUFDOUMsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLE1BQ2hCO0FBQUEsTUFDQSxrREFBa0Q7QUFBQSxRQUNoRCxRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsTUFDaEI7QUFBQSxNQUNBLDBDQUEwQztBQUFBLFFBQ3hDLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxNQUNoQjtBQUFBLE1BQ0EsaURBQWlEO0FBQUEsUUFDL0MsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLE1BQ2hCO0FBQUEsTUFDQSx5Q0FBeUM7QUFBQSxRQUN2QyxRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsTUFDaEI7QUFBQSxNQUNBLDRDQUE0QztBQUFBLFFBQzFDLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxNQUNoQjtBQUFBLE1BQ0EsaURBQWlEO0FBQUEsUUFDL0MsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLE1BQ2hCO0FBQUEsTUFDQSwrQ0FBK0M7QUFBQSxRQUM3QyxRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsTUFDaEI7QUFBQSxNQUNBLHdEQUF3RDtBQUFBLFFBQ3RELFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxNQUNoQjtBQUFBLE1BQ0EseUNBQXlDO0FBQUEsUUFDdkMsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLE1BQ2hCO0FBQUEsTUFDQSxrREFBa0Q7QUFBQSxRQUNoRCxRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsTUFDaEI7QUFBQSxNQUNBLG9EQUFvRDtBQUFBLFFBQ2xELFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxNQUNoQjtBQUFBLE1BQ0EsNENBQTRDO0FBQUEsUUFDMUMsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLE1BQ2hCO0FBQUEsTUFDQSxtREFBbUQ7QUFBQSxRQUNqRCxRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsTUFDaEI7QUFBQSxNQUNBLHlEQUF5RDtBQUFBLFFBQ3ZELFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxNQUNoQjtBQUFBLE1BQ0EsOENBQThDO0FBQUEsUUFDNUMsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLE1BQ2hCO0FBQUEsTUFDQSxpREFBaUQ7QUFBQSxRQUMvQyxRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsTUFDaEI7QUFBQSxNQUNBLHFDQUFxQztBQUFBLFFBQ25DLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxNQUNoQjtBQUFBLE1BQ0EsNkJBQTZCO0FBQUEsUUFDM0IsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLDZCQUE2QjtBQUFBLFFBQzNCLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSxxQ0FBcUM7QUFBQSxRQUNuQyxRQUFRO0FBQUEsUUFDUixZQUFZLENBQUMsS0FBSztBQUFBLE1BQ3BCO0FBQUEsTUFDQSxxQ0FBcUM7QUFBQSxRQUNuQyxRQUFRO0FBQUEsUUFDUixZQUFZLENBQUMsS0FBSztBQUFBLE1BQ3BCO0FBQUEsTUFDQSxtQ0FBbUM7QUFBQSxRQUNqQyxRQUFRO0FBQUEsUUFDUixZQUFZLENBQUMsS0FBSztBQUFBLE1BQ3BCO0FBQUEsTUFDQSx3Q0FBd0M7QUFBQSxRQUN0QyxRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsTUFDaEI7QUFBQSxNQUNBLDZCQUE2QjtBQUFBLFFBQzNCLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSwyQ0FBMkM7QUFBQSxRQUN6QyxRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsTUFDaEI7QUFBQSxNQUNBLHNDQUFzQztBQUFBLFFBQ3BDLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxNQUNoQjtBQUFBLE1BQ0EsK0NBQStDO0FBQUEsUUFDN0MsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLE1BQ2hCO0FBQUEsTUFDQSxpREFBaUQ7QUFBQSxRQUMvQyxRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsTUFDaEI7QUFBQSxNQUNBLDZEQUE2RDtBQUFBLFFBQzNELFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxNQUNoQjtBQUFBLE1BQ0EsZ0RBQWdEO0FBQUEsUUFDOUMsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLE1BQ2hCO0FBQUEsTUFDQSw4Q0FBOEM7QUFBQSxRQUM1QyxRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsTUFDaEI7QUFBQSxNQUNBLG1EQUFtRDtBQUFBLFFBQ2pELFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxNQUNoQjtBQUFBLE1BQ0EsNEJBQTRCO0FBQUEsUUFDMUIsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLGdDQUFnQztBQUFBLFFBQzlCLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxNQUNoQjtBQUFBLE1BQ0Esc0NBQXNDO0FBQUEsUUFDcEMsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLE1BQ2hCO0FBQUEsTUFDQSx1Q0FBdUM7QUFBQSxRQUNyQyxRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsTUFDaEI7QUFBQSxNQUNBLGlEQUFpRDtBQUFBLFFBQy9DLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxNQUNoQjtBQUFBLE1BQ0EsaUNBQWlDO0FBQUEsUUFDL0IsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLE1BQ2hCO0FBQUEsTUFDQSw0QkFBNEI7QUFBQSxRQUMxQixRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0EscUNBQXFDO0FBQUEsUUFDbkMsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLE1BQ2hCO0FBQUEsTUFDQSx1Q0FBdUM7QUFBQSxRQUNyQyxRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsTUFDaEI7QUFBQSxNQUNBLDZCQUE2QjtBQUFBLFFBQzNCLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSw4QkFBOEI7QUFBQSxRQUM1QixRQUFRO0FBQUEsUUFDUixZQUFZLENBQUMsTUFBTTtBQUFBLE1BQ3JCO0FBQUEsTUFDQSw2Q0FBNkM7QUFBQSxRQUMzQyxRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0Esb0NBQW9DO0FBQUEsUUFDbEMsUUFBUTtBQUFBLFFBQ1IsWUFBWSxDQUFDLEtBQUs7QUFBQSxNQUNwQjtBQUFBLE1BQ0EscUNBQXFDO0FBQUEsUUFDbkMsUUFBUTtBQUFBLFFBQ1IsWUFBWSxDQUFDLEtBQUs7QUFBQSxNQUNwQjtBQUFBLE1BQ0EscUNBQXFDO0FBQUEsUUFDbkMsUUFBUTtBQUFBLFFBQ1IsWUFBWSxDQUFDLEtBQUs7QUFBQSxNQUNwQjtBQUFBLE1BQ0Esd0NBQXdDO0FBQUEsUUFDdEMsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLE1BQ2hCO0FBQUEsTUFDQSxvQ0FBb0M7QUFBQSxRQUNsQyxRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsTUFDaEI7QUFBQSxNQUNBLDRCQUE0QjtBQUFBLFFBQzFCLFFBQVE7QUFBQSxRQUNSLFlBQVksQ0FBQyxLQUFLO0FBQUEsTUFDcEI7QUFBQSxNQUNBLDJCQUEyQjtBQUFBLFFBQ3pCLFFBQVE7QUFBQSxRQUNSLFlBQVksQ0FBQyxPQUFPLE9BQU87QUFBQSxNQUM3QjtBQUFBLE1BQ0EsK0RBQStEO0FBQUEsUUFDN0QsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLFFBQ2QsWUFBWSxDQUFDLEtBQUs7QUFBQSxNQUNwQjtBQUFBLE1BQ0EscUNBQXFDO0FBQUEsUUFDbkMsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLDJDQUEyQztBQUFBLFFBQ3pDLFFBQVE7QUFBQSxRQUNSLFlBQVksQ0FBQyxNQUFNO0FBQUEsTUFDckI7QUFBQSxNQUNBLDZCQUE2QjtBQUFBLFFBQzNCLFFBQVE7QUFBQSxRQUNSLFlBQVksQ0FBQyxPQUFPLE1BQU07QUFBQSxNQUM1QjtBQUFBLE1BQ0Esd0NBQXdDO0FBQUEsUUFDdEMsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLGlDQUFpQztBQUFBLFFBQy9CLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxRQUNkLFlBQVksQ0FBQyxLQUFLO0FBQUEsTUFDcEI7QUFBQSxNQUNBLDhCQUE4QjtBQUFBLFFBQzVCLFFBQVE7QUFBQSxRQUNSLFlBQVksQ0FBQyxNQUFNO0FBQUEsTUFDckI7QUFBQSxNQUNBLDhCQUE4QjtBQUFBLFFBQzVCLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSxvQ0FBb0M7QUFBQSxRQUNsQyxRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0EsNENBQTRDO0FBQUEsUUFDMUMsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLHlDQUF5QztBQUFBLFFBQ3ZDLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSxxQ0FBcUM7QUFBQSxRQUNuQyxRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0EsdUNBQXVDO0FBQUEsUUFDckMsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLHNDQUFzQztBQUFBLFFBQ3BDLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSw4QkFBOEI7QUFBQSxRQUM1QixRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0Esc0NBQXNDO0FBQUEsUUFDcEMsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLHNDQUFzQztBQUFBLFFBQ3BDLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSx3Q0FBd0M7QUFBQSxRQUN0QyxRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0EsOENBQThDO0FBQUEsUUFDNUMsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLHNDQUFzQztBQUFBLFFBQ3BDLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSwwQ0FBMEM7QUFBQSxRQUN4QyxRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0EsdUJBQXVCO0FBQUEsUUFDckIsUUFBUTtBQUFBLFFBQ1IsWUFBWSxDQUFDLEtBQUs7QUFBQSxNQUNwQjtBQUFBLE1BQ0EsOEJBQThCO0FBQUEsUUFDNUIsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLCtCQUErQjtBQUFBLFFBQzdCLFFBQVE7QUFBQSxRQUNSLFlBQVksQ0FBQyxPQUFPO0FBQUEsTUFDdEI7QUFBQSxNQUNBLHlDQUF5QztBQUFBLFFBQ3ZDLFFBQVE7QUFBQSxRQUNSLFlBQVksQ0FBQyxLQUFLO0FBQUEsTUFDcEI7QUFBQSxNQUNBLHlDQUF5QztBQUFBLFFBQ3ZDLFFBQVE7QUFBQSxRQUNSLFlBQVksQ0FBQyxLQUFLO0FBQUEsTUFDcEI7QUFBQSxNQUNBLGdDQUFnQztBQUFBLFFBQzlCLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxNQUNoQjtBQUFBLE1BQ0EsZ0NBQWdDO0FBQUEsUUFDOUIsUUFBUTtBQUFBLFFBQ1IsWUFBWSxDQUFDLEtBQUs7QUFBQSxNQUNwQjtBQUFBLE1BQ0Esc0NBQXNDO0FBQUEsUUFDcEMsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLHdDQUF3QztBQUFBLFFBQ3RDLFFBQVE7QUFBQSxRQUNSLFlBQVksQ0FBQyxLQUFLO0FBQUEsTUFDcEI7QUFBQSxNQUNBLDZCQUE2QjtBQUFBLFFBQzNCLFFBQVE7QUFBQSxRQUNSLFlBQVksQ0FBQyxLQUFLO0FBQUEsTUFDcEI7QUFBQSxNQUNBLHFDQUFxQztBQUFBLFFBQ25DLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxNQUNoQjtBQUFBLE1BQ0EsK0JBQStCO0FBQUEsUUFDN0IsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLDJDQUEyQztBQUFBLFFBQ3pDLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxRQUNkLFlBQVksQ0FBQyxLQUFLO0FBQUEsTUFDcEI7QUFBQSxNQUNBLHdCQUF3QjtBQUFBLFFBQ3RCLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSwwREFBMEQ7QUFBQSxRQUN4RCxRQUFRO0FBQUEsUUFDUixZQUFZLENBQUMsS0FBSztBQUFBLE1BQ3BCO0FBQUEsTUFDQSx1REFBdUQ7QUFBQSxRQUNyRCxRQUFRO0FBQUEsUUFDUixZQUFZLENBQUMsS0FBSztBQUFBLE1BQ3BCO0FBQUEsTUFDQSx3Q0FBd0M7QUFBQSxRQUN0QyxRQUFRO0FBQUEsUUFDUixZQUFZLENBQUMsS0FBSztBQUFBLE1BQ3BCO0FBQUEsTUFDQSxxQ0FBcUM7QUFBQSxRQUNuQyxRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0EsdUNBQXVDO0FBQUEsUUFDckMsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLGtDQUFrQztBQUFBLFFBQ2hDLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSx3Q0FBd0M7QUFBQSxRQUN0QyxRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0EseUNBQXlDO0FBQUEsUUFDdkMsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLHNDQUFzQztBQUFBLFFBQ3BDLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSw0QkFBNEI7QUFBQSxRQUMxQixRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0EsNEJBQTRCO0FBQUEsUUFDMUIsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLE1BQ2hCO0FBQUEsTUFDQSx1Q0FBdUM7QUFBQSxRQUNyQyxRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsTUFDaEI7QUFBQSxNQUNBLGdEQUFnRDtBQUFBLFFBQzlDLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxNQUNoQjtBQUFBLE1BQ0EsdUNBQXVDO0FBQUEsUUFDckMsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLFFBQ2QsWUFBWSxDQUFDLE1BQU07QUFBQSxNQUNyQjtBQUFBLE1BQ0EsaUNBQWlDO0FBQUEsUUFDL0IsUUFBUTtBQUFBLFFBQ1IsWUFBWSxDQUFDLEtBQUs7QUFBQSxNQUNwQjtBQUFBLE1BQ0EsaUNBQWlDO0FBQUEsUUFDL0IsUUFBUTtBQUFBLFFBQ1IsWUFBWSxDQUFDLE1BQU07QUFBQSxNQUNyQjtBQUFBLE1BQ0EsaUNBQWlDO0FBQUEsUUFDL0IsUUFBUTtBQUFBLFFBQ1IsWUFBWSxDQUFDLFNBQVM7QUFBQSxNQUN4QjtBQUFBLE1BQ0EsK0JBQStCO0FBQUEsUUFDN0IsUUFBUTtBQUFBLFFBQ1IsWUFBWSxDQUFDLE9BQU87QUFBQSxNQUN0QjtBQUFBLE1BQ0EsZ0NBQWdDO0FBQUEsUUFDOUIsY0FBYztBQUFBLFFBQ2QsWUFBWSxDQUFDLFFBQVE7QUFBQSxNQUN2QjtBQUFBLE1BQ0EsK0JBQStCO0FBQUEsUUFDN0IsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLHNDQUFzQztBQUFBLFFBQ3BDLFFBQVE7QUFBQSxRQUNSLFlBQVksQ0FBQyxLQUFLO0FBQUEsTUFDcEI7QUFBQSxNQUNBLGdDQUFnQztBQUFBLFFBQzlCLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxNQUNoQjtBQUFBLE1BQ0EsNkJBQTZCO0FBQUEsUUFDM0IsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLHlDQUF5QztBQUFBLFFBQ3ZDLFFBQVE7QUFBQSxRQUNSLFlBQVksQ0FBQyxNQUFNO0FBQUEsTUFDckI7QUFBQSxNQUNBLDhCQUE4QjtBQUFBLFFBQzVCLFFBQVE7QUFBQSxRQUNSLFlBQVksQ0FBQyxLQUFLO0FBQUEsTUFDcEI7QUFBQSxNQUNBLGdDQUFnQztBQUFBLFFBQzlCLFlBQVksQ0FBQyxLQUFLO0FBQUEsTUFDcEI7QUFBQSxNQUNBLCtCQUErQjtBQUFBLFFBQzdCLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSwrQkFBK0I7QUFBQSxRQUM3QixRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsTUFDaEI7QUFBQSxNQUNBLCtCQUErQjtBQUFBLFFBQzdCLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxNQUNoQjtBQUFBLE1BQ0EscUNBQXFDO0FBQUEsUUFDbkMsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLFFBQ2QsWUFBWSxDQUFDLE1BQU07QUFBQSxNQUNyQjtBQUFBLE1BQ0EsaUNBQWlDO0FBQUEsUUFDL0IsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLHFDQUFxQztBQUFBLFFBQ25DLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSxpQ0FBaUM7QUFBQSxRQUMvQixRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0EsK0JBQStCO0FBQUEsUUFDN0IsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLG9DQUFvQztBQUFBLFFBQ2xDLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxNQUNoQjtBQUFBLE1BQ0EsdUNBQXVDO0FBQUEsUUFDckMsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLE1BQ2hCO0FBQUEsTUFDQSx3Q0FBd0M7QUFBQSxRQUN0QyxRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsTUFDaEI7QUFBQSxNQUNBLHdDQUF3QztBQUFBLFFBQ3RDLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxNQUNoQjtBQUFBLE1BQ0Esb0NBQW9DO0FBQUEsUUFDbEMsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLGtDQUFrQztBQUFBLFFBQ2hDLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxNQUNoQjtBQUFBLE1BQ0EsMkNBQTJDO0FBQUEsUUFDekMsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLHFDQUFxQztBQUFBLFFBQ25DLFFBQVE7QUFBQSxRQUNSLFlBQVksQ0FBQyxLQUFLO0FBQUEsTUFDcEI7QUFBQSxNQUNBLG9DQUFvQztBQUFBLFFBQ2xDLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSxvQ0FBb0M7QUFBQSxRQUNsQyxRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0EsdUJBQXVCO0FBQUEsUUFDckIsUUFBUTtBQUFBLFFBQ1IsWUFBWSxDQUFDLEtBQUs7QUFBQSxNQUNwQjtBQUFBLE1BQ0EsdUJBQXVCO0FBQUEsUUFDckIsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLHdCQUF3QjtBQUFBLFFBQ3RCLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSxtQ0FBbUM7QUFBQSxRQUNqQyxRQUFRO0FBQUEsUUFDUixZQUFZLENBQUMsS0FBSztBQUFBLE1BQ3BCO0FBQUEsTUFDQSxpQ0FBaUM7QUFBQSxRQUMvQixRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsTUFDaEI7QUFBQSxNQUNBLHlCQUF5QjtBQUFBLFFBQ3ZCLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSxzQ0FBc0M7QUFBQSxRQUNwQyxRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsTUFDaEI7QUFBQSxNQUNBLCtCQUErQjtBQUFBLFFBQzdCLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSw4QkFBOEI7QUFBQSxRQUM1QixRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0EsOEJBQThCO0FBQUEsUUFDNUIsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLHVDQUF1QztBQUFBLFFBQ3JDLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxNQUNoQjtBQUFBLE1BQ0EsOENBQThDO0FBQUEsUUFDNUMsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLDhDQUE4QztBQUFBLFFBQzVDLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSxnQ0FBZ0M7QUFBQSxRQUM5QixRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsUUFDZCxZQUFZLENBQUMsT0FBTztBQUFBLE1BQ3RCO0FBQUEsTUFDQSw2QkFBNkI7QUFBQSxRQUMzQixRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0Esd0NBQXdDO0FBQUEsUUFDdEMsUUFBUTtBQUFBLFFBQ1IsWUFBWSxDQUFDLEtBQUs7QUFBQSxNQUNwQjtBQUFBLE1BQ0EseUJBQXlCO0FBQUEsUUFDdkIsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLDhCQUE4QjtBQUFBLFFBQzVCLFFBQVE7QUFBQSxRQUNSLFlBQVksQ0FBQyxLQUFLO0FBQUEsTUFDcEI7QUFBQSxNQUNBLG9DQUFvQztBQUFBLFFBQ2xDLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSw0Q0FBNEM7QUFBQSxRQUMxQyxRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsUUFDZCxZQUFZLENBQUMsS0FBSztBQUFBLE1BQ3BCO0FBQUEsTUFDQSw0QkFBNEI7QUFBQSxRQUMxQixRQUFRO0FBQUEsUUFDUixZQUFZLENBQUMsS0FBSztBQUFBLE1BQ3BCO0FBQUEsTUFDQSwrQkFBK0I7QUFBQSxRQUM3QixRQUFRO0FBQUEsUUFDUixZQUFZLENBQUMsS0FBSztBQUFBLE1BQ3BCO0FBQUEsTUFDQSxpQ0FBaUM7QUFBQSxRQUMvQixRQUFRO0FBQUEsUUFDUixZQUFZLENBQUMsT0FBTyxPQUFPLE9BQU8sT0FBTyxLQUFLO0FBQUEsTUFDaEQ7QUFBQSxNQUNBLGdEQUFnRDtBQUFBLFFBQzlDLFFBQVE7QUFBQSxRQUNSLFlBQVksQ0FBQyxRQUFRO0FBQUEsTUFDdkI7QUFBQSxNQUNBLG9EQUFvRDtBQUFBLFFBQ2xELFFBQVE7QUFBQSxRQUNSLFlBQVksQ0FBQyxRQUFRO0FBQUEsTUFDdkI7QUFBQSxNQUNBLHVEQUF1RDtBQUFBLFFBQ3JELFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSxzREFBc0Q7QUFBQSxRQUNwRCxRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0EsNENBQTRDO0FBQUEsUUFDMUMsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLE1BQ2hCO0FBQUEsTUFDQSxnQ0FBZ0M7QUFBQSxRQUM5QixRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0EsaURBQWlEO0FBQUEsUUFDL0MsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLDBEQUEwRDtBQUFBLFFBQ3hELFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSxxREFBcUQ7QUFBQSxRQUNuRCxRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0EsOERBQThEO0FBQUEsUUFDNUQsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLG9EQUFvRDtBQUFBLFFBQ2xELFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSw2REFBNkQ7QUFBQSxRQUMzRCxRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0EsbUNBQW1DO0FBQUEsUUFDakMsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLE1BQ2hCO0FBQUEsTUFDQSx1Q0FBdUM7QUFBQSxRQUNyQyxRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsTUFDaEI7QUFBQSxNQUNBLHdDQUF3QztBQUFBLFFBQ3RDLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxNQUNoQjtBQUFBLE1BQ0EsaUNBQWlDO0FBQUEsUUFDL0IsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLE1BQ2hCO0FBQUEsTUFDQSxpQ0FBaUM7QUFBQSxRQUMvQixRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0EscUNBQXFDO0FBQUEsUUFDbkMsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLCtCQUErQjtBQUFBLFFBQzdCLFFBQVE7QUFBQSxRQUNSLFlBQVksQ0FBQyxLQUFLO0FBQUEsTUFDcEI7QUFBQSxNQUNBLGdDQUFnQztBQUFBLFFBQzlCLFFBQVE7QUFBQSxRQUNSLFlBQVksQ0FBQyxTQUFTO0FBQUEsTUFDeEI7QUFBQSxNQUNBLHdDQUF3QztBQUFBLFFBQ3RDLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxNQUNoQjtBQUFBLE1BQ0EsK0JBQStCO0FBQUEsUUFDN0IsUUFBUTtBQUFBLFFBQ1IsWUFBWSxDQUFDLEtBQUs7QUFBQSxNQUNwQjtBQUFBLE1BQ0EsaUNBQWlDO0FBQUEsUUFDL0IsUUFBUTtBQUFBLFFBQ1IsWUFBWSxDQUFDLE1BQU07QUFBQSxNQUNyQjtBQUFBLE1BQ0EsMENBQTBDO0FBQUEsUUFDeEMsUUFBUTtBQUFBLFFBQ1IsWUFBWSxDQUFDLE1BQU07QUFBQSxNQUNyQjtBQUFBLE1BQ0EseUNBQXlDO0FBQUEsUUFDdkMsUUFBUTtBQUFBLFFBQ1IsWUFBWSxDQUFDLE1BQU07QUFBQSxNQUNyQjtBQUFBLE1BQ0EsMENBQTBDO0FBQUEsUUFDeEMsUUFBUTtBQUFBLFFBQ1IsWUFBWSxDQUFDLE1BQU07QUFBQSxNQUNyQjtBQUFBLE1BQ0EsMENBQTBDO0FBQUEsUUFDeEMsUUFBUTtBQUFBLFFBQ1IsWUFBWSxDQUFDLE1BQU07QUFBQSxNQUNyQjtBQUFBLE1BQ0EseUNBQXlDO0FBQUEsUUFDdkMsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLFFBQ2QsWUFBWSxDQUFDLEtBQUs7QUFBQSxNQUNwQjtBQUFBLE1BQ0EscUNBQXFDO0FBQUEsUUFDbkMsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLE1BQ2hCO0FBQUEsTUFDQSxxQ0FBcUM7QUFBQSxRQUNuQyxRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0EseUNBQXlDO0FBQUEsUUFDdkMsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLHFDQUFxQztBQUFBLFFBQ25DLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSw2QkFBNkI7QUFBQSxRQUMzQixRQUFRO0FBQUEsUUFDUixZQUFZLENBQUMsS0FBSztBQUFBLE1BQ3BCO0FBQUEsTUFDQSwrQkFBK0I7QUFBQSxRQUM3QixRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsTUFDaEI7QUFBQSxNQUNBLDRCQUE0QjtBQUFBLFFBQzFCLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSxtQ0FBbUM7QUFBQSxRQUNqQyxRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0EsNEJBQTRCO0FBQUEsUUFDMUIsUUFBUTtBQUFBLFFBQ1IsWUFBWSxDQUFDLEtBQUs7QUFBQSxNQUNwQjtBQUFBLE1BQ0EsK0JBQStCO0FBQUEsUUFDN0IsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLDRCQUE0QjtBQUFBLFFBQzFCLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSx3QkFBd0I7QUFBQSxRQUN0QixRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0EsNEJBQTRCO0FBQUEsUUFDMUIsUUFBUTtBQUFBLFFBQ1IsWUFBWSxDQUFDLEtBQUs7QUFBQSxNQUNwQjtBQUFBLE1BQ0EsOEJBQThCO0FBQUEsUUFDNUIsUUFBUTtBQUFBLFFBQ1IsWUFBWSxDQUFDLE9BQU87QUFBQSxNQUN0QjtBQUFBLE1BQ0Esc0NBQXNDO0FBQUEsUUFDcEMsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLE1BQ2hCO0FBQUEsTUFDQSwwQkFBMEI7QUFBQSxRQUN4QixRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0Esa0NBQWtDO0FBQUEsUUFDaEMsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLE1BQ2hCO0FBQUEsTUFDQSxpQ0FBaUM7QUFBQSxRQUMvQixRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsTUFDaEI7QUFBQSxNQUNBLDRDQUE0QztBQUFBLFFBQzFDLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxNQUNoQjtBQUFBLE1BQ0EsK0JBQStCO0FBQUEsUUFDN0IsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLCtCQUErQjtBQUFBLFFBQzdCLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSx3QkFBd0I7QUFBQSxRQUN0QixRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsUUFDZCxZQUFZLENBQUMsTUFBTTtBQUFBLE1BQ3JCO0FBQUEsTUFDQSxtQ0FBbUM7QUFBQSxRQUNqQyxRQUFRO0FBQUEsUUFDUixZQUFZLENBQUMsS0FBSztBQUFBLE1BQ3BCO0FBQUEsTUFDQSwyQkFBMkI7QUFBQSxRQUN6QixRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0Esb0NBQW9DO0FBQUEsUUFDbEMsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLE1BQ2hCO0FBQUEsTUFDQSxxQ0FBcUM7QUFBQSxRQUNuQyxRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsTUFDaEI7QUFBQSxNQUNBLHVCQUF1QjtBQUFBLFFBQ3JCLFFBQVE7QUFBQSxRQUNSLFlBQVksQ0FBQyxLQUFLO0FBQUEsTUFDcEI7QUFBQSxNQUNBLDRCQUE0QjtBQUFBLFFBQzFCLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxRQUNkLFlBQVksQ0FBQyxNQUFNO0FBQUEsTUFDckI7QUFBQSxNQUNBLHlDQUF5QztBQUFBLFFBQ3ZDLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSw2QkFBNkI7QUFBQSxRQUMzQixRQUFRO0FBQUEsUUFDUixZQUFZLENBQUMsT0FBTyxRQUFRLE9BQU8sTUFBTTtBQUFBLE1BQzNDO0FBQUEsTUFDQSxpQ0FBaUM7QUFBQSxRQUMvQixRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsUUFDZCxZQUFZLENBQUMsT0FBTyxNQUFNO0FBQUEsTUFDNUI7QUFBQSxNQUNBLG9DQUFvQztBQUFBLFFBQ2xDLFFBQVE7QUFBQSxRQUNSLFlBQVksQ0FBQyxPQUFPLE1BQU07QUFBQSxNQUM1QjtBQUFBLE1BQ0EsNEJBQTRCO0FBQUEsUUFDMUIsUUFBUTtBQUFBLFFBQ1IsWUFBWSxDQUFDLE9BQU8sTUFBTTtBQUFBLE1BQzVCO0FBQUEsTUFDQSwwQ0FBMEM7QUFBQSxRQUN4QyxRQUFRO0FBQUEsUUFDUixZQUFZLENBQUMsV0FBVztBQUFBLE1BQzFCO0FBQUEsTUFDQSxpQ0FBaUM7QUFBQSxRQUMvQixRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0EsNENBQTRDO0FBQUEsUUFDMUMsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLHFDQUFxQztBQUFBLFFBQ25DLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxNQUNoQjtBQUFBLE1BQ0EsdUJBQXVCO0FBQUEsUUFDckIsUUFBUTtBQUFBLFFBQ1IsWUFBWSxDQUFDLEtBQUs7QUFBQSxNQUNwQjtBQUFBLE1BQ0EsaUNBQWlDO0FBQUEsUUFDL0IsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLE1BQ2hCO0FBQUEsTUFDQSw2QkFBNkI7QUFBQSxRQUMzQixRQUFRO0FBQUEsUUFDUixZQUFZLENBQUMsS0FBSztBQUFBLE1BQ3BCO0FBQUEsTUFDQSxrQ0FBa0M7QUFBQSxRQUNoQyxRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0Esa0NBQWtDO0FBQUEsUUFDaEMsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLHNEQUFzRDtBQUFBLFFBQ3BELFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSwyQkFBMkI7QUFBQSxRQUN6QixRQUFRO0FBQUEsUUFDUixZQUFZLENBQUMsS0FBSztBQUFBLE1BQ3BCO0FBQUEsTUFDQSxnQ0FBZ0M7QUFBQSxRQUM5QixRQUFRO0FBQUEsUUFDUixZQUFZLENBQUMsTUFBTTtBQUFBLE1BQ3JCO0FBQUEsTUFDQSw4QkFBOEI7QUFBQSxRQUM1QixRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsTUFDaEI7QUFBQSxNQUNBLCtCQUErQjtBQUFBLFFBQzdCLFFBQVE7QUFBQSxRQUNSLFlBQVksQ0FBQyxNQUFNO0FBQUEsTUFDckI7QUFBQSxNQUNBLDZCQUE2QjtBQUFBLFFBQzNCLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSxtQ0FBbUM7QUFBQSxRQUNqQyxRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0Esa0NBQWtDO0FBQUEsUUFDaEMsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLDJCQUEyQjtBQUFBLFFBQ3pCLFFBQVE7QUFBQSxRQUNSLFlBQVksQ0FBQyxLQUFLO0FBQUEsTUFDcEI7QUFBQSxNQUNBLGtDQUFrQztBQUFBLFFBQ2hDLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxNQUNoQjtBQUFBLE1BQ0EsNEJBQTRCO0FBQUEsUUFDMUIsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLG9DQUFvQztBQUFBLFFBQ2xDLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSwwQ0FBMEM7QUFBQSxRQUN4QyxRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0EscUNBQXFDO0FBQUEsUUFDbkMsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLHNDQUFzQztBQUFBLFFBQ3BDLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSxrQ0FBa0M7QUFBQSxRQUNoQyxRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0EsbUNBQW1DO0FBQUEsUUFDakMsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLHVDQUF1QztBQUFBLFFBQ3JDLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSw4Q0FBOEM7QUFBQSxRQUM1QyxRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0EsZ0RBQWdEO0FBQUEsUUFDOUMsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLE1BQ2hCO0FBQUEsTUFDQSwyQ0FBMkM7QUFBQSxRQUN6QyxRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsTUFDaEI7QUFBQSxNQUNBLHlDQUF5QztBQUFBLFFBQ3ZDLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxNQUNoQjtBQUFBLE1BQ0EsNENBQTRDO0FBQUEsUUFDMUMsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLE1BQ2hCO0FBQUEsTUFDQSx5REFBeUQ7QUFBQSxRQUN2RCxRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsTUFDaEI7QUFBQSxNQUNBLDBEQUEwRDtBQUFBLFFBQ3hELFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxNQUNoQjtBQUFBLE1BQ0Esc0NBQXNDO0FBQUEsUUFDcEMsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLE1BQ2hCO0FBQUEsTUFDQSwyQkFBMkI7QUFBQSxRQUN6QixRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0EsK0JBQStCO0FBQUEsUUFDN0IsUUFBUTtBQUFBLFFBQ1IsWUFBWSxDQUFDLEtBQUs7QUFBQSxNQUNwQjtBQUFBLE1BQ0EsdUJBQXVCO0FBQUEsUUFDckIsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLDJCQUEyQjtBQUFBLFFBQ3pCLFFBQVE7QUFBQSxRQUNSLFlBQVksQ0FBQyxLQUFLO0FBQUEsTUFDcEI7QUFBQSxNQUNBLHVCQUF1QjtBQUFBLFFBQ3JCLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSwyQ0FBMkM7QUFBQSxRQUN6QyxRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0EsZ0NBQWdDO0FBQUEsUUFDOUIsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLDRCQUE0QjtBQUFBLFFBQzFCLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSxzQ0FBc0M7QUFBQSxRQUNwQyxRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsTUFDaEI7QUFBQSxNQUNBLGdDQUFnQztBQUFBLFFBQzlCLFFBQVE7QUFBQSxRQUNSLFlBQVksQ0FBQyxLQUFLO0FBQUEsTUFDcEI7QUFBQSxNQUNBLHNDQUFzQztBQUFBLFFBQ3BDLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSxxQ0FBcUM7QUFBQSxRQUNuQyxRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0EsaUNBQWlDO0FBQUEsUUFDL0IsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLHdDQUF3QztBQUFBLFFBQ3RDLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSx1Q0FBdUM7QUFBQSxRQUNyQyxRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0EsMkJBQTJCO0FBQUEsUUFDekIsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLDJCQUEyQjtBQUFBLFFBQ3pCLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSwyQkFBMkI7QUFBQSxRQUN6QixRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsTUFDaEI7QUFBQSxNQUNBLDhDQUE4QztBQUFBLFFBQzVDLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxNQUNoQjtBQUFBLE1BQ0EsMkJBQTJCO0FBQUEsUUFDekIsUUFBUTtBQUFBLFFBQ1IsWUFBWSxDQUFDLEtBQUs7QUFBQSxNQUNwQjtBQUFBLE1BQ0EsaUNBQWlDO0FBQUEsUUFDL0IsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLG9DQUFvQztBQUFBLFFBQ2xDLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxNQUNoQjtBQUFBLE1BQ0EsNkJBQTZCO0FBQUEsUUFDM0IsUUFBUTtBQUFBLFFBQ1IsWUFBWSxDQUFDLEtBQUs7QUFBQSxNQUNwQjtBQUFBLE1BQ0EsNkJBQTZCO0FBQUEsUUFDM0IsUUFBUTtBQUFBLFFBQ1IsWUFBWSxDQUFDLEtBQUs7QUFBQSxNQUNwQjtBQUFBLE1BQ0Esb0NBQW9DO0FBQUEsUUFDbEMsUUFBUTtBQUFBLFFBQ1IsWUFBWSxDQUFDLEtBQUs7QUFBQSxNQUNwQjtBQUFBLE1BQ0EsOEJBQThCO0FBQUEsUUFDNUIsUUFBUTtBQUFBLFFBQ1IsWUFBWSxDQUFDLEtBQUs7QUFBQSxNQUNwQjtBQUFBLE1BQ0EsNkJBQTZCO0FBQUEsUUFDM0IsUUFBUTtBQUFBLFFBQ1IsWUFBWSxDQUFDLEtBQUs7QUFBQSxNQUNwQjtBQUFBLE1BQ0Esc0NBQXNDO0FBQUEsUUFDcEMsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLHlCQUF5QjtBQUFBLFFBQ3ZCLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSxxQ0FBcUM7QUFBQSxRQUNuQyxRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsTUFDaEI7QUFBQSxNQUNBLGdDQUFnQztBQUFBLFFBQzlCLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxRQUNkLFlBQVksQ0FBQyxPQUFPLEtBQUs7QUFBQSxNQUMzQjtBQUFBLE1BQ0EsZ0NBQWdDO0FBQUEsUUFDOUIsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLE1BQ2hCO0FBQUEsTUFDQSxtQ0FBbUM7QUFBQSxRQUNqQyxRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsTUFDaEI7QUFBQSxNQUNBLG1DQUFtQztBQUFBLFFBQ2pDLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxNQUNoQjtBQUFBLE1BQ0EsZ0NBQWdDO0FBQUEsUUFDOUIsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLE1BQ2hCO0FBQUEsTUFDQSx3Q0FBd0M7QUFBQSxRQUN0QyxRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsTUFDaEI7QUFBQSxNQUNBLDBDQUEwQztBQUFBLFFBQ3hDLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxNQUNoQjtBQUFBLE1BQ0Esd0NBQXdDO0FBQUEsUUFDdEMsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLE1BQ2hCO0FBQUEsTUFDQSx1Q0FBdUM7QUFBQSxRQUNyQyxRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsTUFDaEI7QUFBQSxNQUNBLHdDQUF3QztBQUFBLFFBQ3RDLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxNQUNoQjtBQUFBLE1BQ0EseUNBQXlDO0FBQUEsUUFDdkMsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLE1BQ2hCO0FBQUEsTUFDQSx3Q0FBd0M7QUFBQSxRQUN0QyxRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsTUFDaEI7QUFBQSxNQUNBLHFDQUFxQztBQUFBLFFBQ25DLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxNQUNoQjtBQUFBLE1BQ0EsMENBQTBDO0FBQUEsUUFDeEMsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLE1BQ2hCO0FBQUEsTUFDQSxpQ0FBaUM7QUFBQSxRQUMvQixRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsTUFDaEI7QUFBQSxNQUNBLDhCQUE4QjtBQUFBLFFBQzVCLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSw0REFBNEQ7QUFBQSxRQUMxRCxRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsTUFDaEI7QUFBQSxNQUNBLGlDQUFpQztBQUFBLFFBQy9CLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxNQUNoQjtBQUFBLE1BQ0EsZ0NBQWdDO0FBQUEsUUFDOUIsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLE1BQ2hCO0FBQUEsTUFDQSxxQ0FBcUM7QUFBQSxRQUNuQyxRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsTUFDaEI7QUFBQSxNQUNBLHdDQUF3QztBQUFBLFFBQ3RDLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSxnQ0FBZ0M7QUFBQSxRQUM5QixRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsTUFDaEI7QUFBQSxNQUNBLGdDQUFnQztBQUFBLFFBQzlCLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSx5Q0FBeUM7QUFBQSxRQUN2QyxRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsTUFDaEI7QUFBQSxNQUNBLCtCQUErQjtBQUFBLFFBQzdCLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSxzQ0FBc0M7QUFBQSxRQUNwQyxRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0EsdUNBQXVDO0FBQUEsUUFDckMsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLG9DQUFvQztBQUFBLFFBQ2xDLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSx3Q0FBd0M7QUFBQSxRQUN0QyxRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsTUFDaEI7QUFBQSxNQUNBLG9DQUFvQztBQUFBLFFBQ2xDLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSwrQkFBK0I7QUFBQSxRQUM3QixRQUFRO0FBQUEsUUFDUixZQUFZLENBQUMsS0FBSztBQUFBLE1BQ3BCO0FBQUEsTUFDQSxpQ0FBaUM7QUFBQSxRQUMvQixRQUFRO0FBQUEsUUFDUixZQUFZLENBQUMsS0FBSztBQUFBLE1BQ3BCO0FBQUEsTUFDQSxtQ0FBbUM7QUFBQSxRQUNqQyxRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0EsMkNBQTJDO0FBQUEsUUFDekMsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLE1BQ2hCO0FBQUEsTUFDQSx1Q0FBdUM7QUFBQSxRQUNyQyxRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0EsdUJBQXVCO0FBQUEsUUFDckIsUUFBUTtBQUFBLFFBQ1IsWUFBWSxDQUFDLEtBQUs7QUFBQSxNQUNwQjtBQUFBLE1BQ0EsOEJBQThCO0FBQUEsUUFDNUIsUUFBUTtBQUFBLFFBQ1IsWUFBWSxDQUFDLE9BQU87QUFBQSxNQUN0QjtBQUFBLE1BQ0EsNkJBQTZCO0FBQUEsUUFDM0IsUUFBUTtBQUFBLFFBQ1IsWUFBWSxDQUFDLFFBQVEsVUFBVTtBQUFBLE1BQ2pDO0FBQUEsTUFDQSx1Q0FBdUM7QUFBQSxRQUNyQyxRQUFRO0FBQUEsUUFDUixTQUFTO0FBQUEsUUFDVCxjQUFjO0FBQUEsTUFDaEI7QUFBQSxNQUNBLHlCQUF5QjtBQUFBLFFBQ3ZCLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSxrQ0FBa0M7QUFBQSxRQUNoQyxRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsTUFDaEI7QUFBQSxNQUNBLDhCQUE4QjtBQUFBLFFBQzVCLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSx5QkFBeUI7QUFBQSxRQUN2QixRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0EseUNBQXlDO0FBQUEsUUFDdkMsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLDhCQUE4QjtBQUFBLFFBQzVCLFFBQVE7QUFBQSxRQUNSLFlBQVksQ0FBQyxLQUFLO0FBQUEsTUFDcEI7QUFBQSxNQUNBLGlDQUFpQztBQUFBLFFBQy9CLFFBQVE7QUFBQSxRQUNSLFlBQVksQ0FBQyxLQUFLO0FBQUEsTUFDcEI7QUFBQSxNQUNBLHNDQUFzQztBQUFBLFFBQ3BDLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSw4QkFBOEI7QUFBQSxRQUM1QixRQUFRO0FBQUEsUUFDUixZQUFZLENBQUMsTUFBTSxTQUFTLFNBQVMsTUFBTTtBQUFBLE1BQzdDO0FBQUEsTUFDQSxpQ0FBaUM7QUFBQSxRQUMvQixRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0EsK0JBQStCO0FBQUEsUUFDN0IsUUFBUTtBQUFBLFFBQ1IsWUFBWSxDQUFDLEtBQUs7QUFBQSxNQUNwQjtBQUFBLE1BQ0EsK0JBQStCO0FBQUEsUUFDN0IsUUFBUTtBQUFBLFFBQ1IsWUFBWSxDQUFDLEtBQUs7QUFBQSxNQUNwQjtBQUFBLE1BQ0EsaUNBQWlDO0FBQUEsUUFDL0IsUUFBUTtBQUFBLFFBQ1IsWUFBWSxDQUFDLEtBQUs7QUFBQSxNQUNwQjtBQUFBLE1BQ0EseUNBQXlDO0FBQUEsUUFDdkMsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLGdEQUFnRDtBQUFBLFFBQzlDLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSxtREFBbUQ7QUFBQSxRQUNqRCxRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0EsdUNBQXVDO0FBQUEsUUFDckMsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLE1BQ2hCO0FBQUEsTUFDQSxpQ0FBaUM7QUFBQSxRQUMvQixRQUFRO0FBQUEsUUFDUixZQUFZLENBQUMsS0FBSztBQUFBLE1BQ3BCO0FBQUEsTUFDQSxrQ0FBa0M7QUFBQSxRQUNoQyxRQUFRO0FBQUEsUUFDUixZQUFZLENBQUMsS0FBSztBQUFBLE1BQ3BCO0FBQUEsTUFDQSxrQ0FBa0M7QUFBQSxRQUNoQyxRQUFRO0FBQUEsUUFDUixZQUFZLENBQUMsS0FBSztBQUFBLE1BQ3BCO0FBQUEsTUFDQSxtQ0FBbUM7QUFBQSxRQUNqQyxRQUFRO0FBQUEsUUFDUixZQUFZLENBQUMsS0FBSztBQUFBLE1BQ3BCO0FBQUEsTUFDQSxvQ0FBb0M7QUFBQSxRQUNsQyxRQUFRO0FBQUEsUUFDUixZQUFZLENBQUMsS0FBSztBQUFBLE1BQ3BCO0FBQUEsTUFDQSxvQ0FBb0M7QUFBQSxRQUNsQyxRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0Esa0NBQWtDO0FBQUEsUUFDaEMsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLGlDQUFpQztBQUFBLFFBQy9CLFFBQVE7QUFBQSxRQUNSLFlBQVksQ0FBQyxLQUFLO0FBQUEsTUFDcEI7QUFBQSxNQUNBLHVDQUF1QztBQUFBLFFBQ3JDLFFBQVE7QUFBQSxRQUNSLFlBQVksQ0FBQyxLQUFLO0FBQUEsTUFDcEI7QUFBQSxNQUNBLDhDQUE4QztBQUFBLFFBQzVDLFFBQVE7QUFBQSxRQUNSLFlBQVksQ0FBQyxLQUFLO0FBQUEsTUFDcEI7QUFBQSxNQUNBLGlEQUFpRDtBQUFBLFFBQy9DLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSxrQ0FBa0M7QUFBQSxRQUNoQyxRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0EsOEJBQThCO0FBQUEsUUFDNUIsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLCtCQUErQjtBQUFBLFFBQzdCLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSwrQkFBK0I7QUFBQSxRQUM3QixRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsTUFDaEI7QUFBQSxNQUNBLDhCQUE4QjtBQUFBLFFBQzVCLFFBQVE7QUFBQSxRQUNSLFlBQVksQ0FBQyxLQUFLO0FBQUEsTUFDcEI7QUFBQSxNQUNBLHNDQUFzQztBQUFBLFFBQ3BDLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSxvQ0FBb0M7QUFBQSxRQUNsQyxRQUFRO0FBQUEsUUFDUixZQUFZLENBQUMsS0FBSztBQUFBLE1BQ3BCO0FBQUEsTUFDQSwyQkFBMkI7QUFBQSxRQUN6QixRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0Esb0NBQW9DO0FBQUEsUUFDbEMsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLE1BQ2hCO0FBQUEsTUFDQSwwQ0FBMEM7QUFBQSxRQUN4QyxRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsTUFDaEI7QUFBQSxNQUNBLGlDQUFpQztBQUFBLFFBQy9CLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSxpQ0FBaUM7QUFBQSxRQUMvQixRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0EsK0JBQStCO0FBQUEsUUFDN0IsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLG1DQUFtQztBQUFBLFFBQ2pDLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSwwQ0FBMEM7QUFBQSxRQUN4QyxRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsTUFDaEI7QUFBQSxNQUNBLCtCQUErQjtBQUFBLFFBQzdCLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSw0QkFBNEI7QUFBQSxRQUMxQixRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsTUFDaEI7QUFBQSxNQUNBLCtCQUErQjtBQUFBLFFBQzdCLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxNQUNoQjtBQUFBLE1BQ0EsaUNBQWlDO0FBQUEsUUFDL0IsUUFBUTtBQUFBLFFBQ1IsWUFBWSxDQUFDLEtBQUs7QUFBQSxNQUNwQjtBQUFBLE1BQ0EscUNBQXFDO0FBQUEsUUFDbkMsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLG1DQUFtQztBQUFBLFFBQ2pDLFFBQVE7QUFBQSxRQUNSLFlBQVksQ0FBQyxLQUFLO0FBQUEsTUFDcEI7QUFBQSxNQUNBLGlDQUFpQztBQUFBLFFBQy9CLFFBQVE7QUFBQSxRQUNSLFlBQVksQ0FBQyxLQUFLO0FBQUEsTUFDcEI7QUFBQSxNQUNBLHFDQUFxQztBQUFBLFFBQ25DLFFBQVE7QUFBQSxRQUNSLFlBQVksQ0FBQyxPQUFPLEtBQUs7QUFBQSxNQUMzQjtBQUFBLE1BQ0EsMkJBQTJCO0FBQUEsUUFDekIsUUFBUTtBQUFBLFFBQ1IsWUFBWSxDQUFDLEtBQUs7QUFBQSxNQUNwQjtBQUFBLE1BQ0EsMkJBQTJCO0FBQUEsUUFDekIsUUFBUTtBQUFBLFFBQ1IsWUFBWSxDQUFDLEtBQUs7QUFBQSxNQUNwQjtBQUFBLE1BQ0EsNEJBQTRCO0FBQUEsUUFDMUIsUUFBUTtBQUFBLFFBQ1IsWUFBWSxDQUFDLEtBQUs7QUFBQSxNQUNwQjtBQUFBLE1BQ0EsMEJBQTBCO0FBQUEsUUFDeEIsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLG1EQUFtRDtBQUFBLFFBQ2pELFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSw0REFBNEQ7QUFBQSxRQUMxRCxRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0EsdUJBQXVCO0FBQUEsUUFDckIsUUFBUTtBQUFBLFFBQ1IsWUFBWSxDQUFDLEtBQUs7QUFBQSxNQUNwQjtBQUFBLE1BQ0EsMkNBQTJDO0FBQUEsUUFDekMsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLE1BQ2hCO0FBQUEsTUFDQSwyQ0FBMkM7QUFBQSxRQUN6QyxRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsTUFDaEI7QUFBQSxNQUNBLHFDQUFxQyxDQUFDO0FBQUEsTUFDdEMsd0NBQXdDO0FBQUEsUUFDdEMsY0FBYztBQUFBLFFBQ2QsWUFBWSxDQUFDLE1BQU07QUFBQSxNQUNyQjtBQUFBLE1BQ0EsdUNBQXVDO0FBQUEsUUFDckMsY0FBYztBQUFBLFFBQ2QsWUFBWSxDQUFDLE9BQU87QUFBQSxNQUN0QjtBQUFBLE1BQ0EseUNBQXlDO0FBQUEsUUFDdkMsY0FBYztBQUFBLE1BQ2hCO0FBQUEsTUFDQSxvQ0FBb0MsQ0FBQztBQUFBLE1BQ3JDLHNDQUFzQztBQUFBLFFBQ3BDLGNBQWM7QUFBQSxNQUNoQjtBQUFBLE1BQ0Esb0NBQW9DO0FBQUEsUUFDbEMsY0FBYztBQUFBLFFBQ2QsWUFBWSxDQUFDLE9BQU87QUFBQSxNQUN0QjtBQUFBLE1BQ0EsMkNBQTJDLENBQUM7QUFBQSxNQUM1QyxtQ0FBbUM7QUFBQSxRQUNqQyxjQUFjO0FBQUEsUUFDZCxZQUFZLENBQUMsTUFBTTtBQUFBLE1BQ3JCO0FBQUEsTUFDQSwyQ0FBMkMsQ0FBQztBQUFBLE1BQzVDLG1DQUFtQztBQUFBLFFBQ2pDLGNBQWM7QUFBQSxRQUNkLFlBQVksQ0FBQyxNQUFNO0FBQUEsTUFDckI7QUFBQSxNQUNBLHFDQUFxQyxDQUFDO0FBQUEsTUFDdEMsNENBQTRDO0FBQUEsUUFDMUMsY0FBYztBQUFBLFFBQ2QsWUFBWSxDQUFDLFNBQVM7QUFBQSxNQUN4QjtBQUFBLE1BQ0Esc0NBQXNDO0FBQUEsUUFDcEMsY0FBYztBQUFBLFFBQ2QsWUFBWSxDQUFDLFNBQVM7QUFBQSxNQUN4QjtBQUFBLE1BQ0Esd0NBQXdDLENBQUM7QUFBQSxNQUN6QyxvQ0FBb0M7QUFBQSxRQUNsQyxjQUFjO0FBQUEsUUFDZCxZQUFZLENBQUMsT0FBTztBQUFBLE1BQ3RCO0FBQUEsTUFDQSwyQ0FBMkM7QUFBQSxRQUN6QyxjQUFjO0FBQUEsUUFDZCxZQUFZLENBQUMsUUFBUTtBQUFBLE1BQ3ZCO0FBQUEsTUFDQSx1Q0FBdUMsQ0FBQztBQUFBLE1BQ3hDLHFDQUFxQyxDQUFDO0FBQUEsTUFDdEMsd0NBQXdDO0FBQUEsUUFDdEMsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLFFBQ2QsWUFBWSxDQUFDLEtBQUs7QUFBQSxNQUNwQjtBQUFBLE1BQ0Esb0NBQW9DO0FBQUEsUUFDbEMsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLFFBQ2QsWUFBWSxDQUFDLEtBQUs7QUFBQSxNQUNwQjtBQUFBLE1BQ0EscUNBQXFDO0FBQUEsUUFDbkMsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLE1BQ2hCO0FBQUEsTUFDQSxxQ0FBcUM7QUFBQSxRQUNuQyxRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsTUFDaEI7QUFBQSxNQUNBLCtDQUErQztBQUFBLFFBQzdDLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxRQUNkLFlBQVksQ0FBQyxNQUFNO0FBQUEsTUFDckI7QUFBQSxNQUNBLGtDQUFrQztBQUFBLFFBQ2hDLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxNQUNoQjtBQUFBLE1BQ0EsMEJBQTBCO0FBQUEsUUFDeEIsUUFBUTtBQUFBLFFBQ1IsWUFBWSxDQUFDLE9BQU8sS0FBSztBQUFBLE1BQzNCO0FBQUEsTUFDQSwwQkFBMEI7QUFBQSxRQUN4QixRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0Esa0NBQWtDO0FBQUEsUUFDaEMsUUFBUTtBQUFBLFFBQ1IsWUFBWSxDQUFDLEtBQUs7QUFBQSxNQUNwQjtBQUFBLE1BQ0EsK0JBQStCO0FBQUEsUUFDN0IsUUFBUTtBQUFBLFFBQ1IsWUFBWSxDQUFDLEtBQUs7QUFBQSxNQUNwQjtBQUFBLE1BQ0EsMkNBQTJDO0FBQUEsUUFDekMsUUFBUTtBQUFBLFFBQ1IsWUFBWSxDQUFDLEtBQUs7QUFBQSxNQUNwQjtBQUFBLE1BQ0EsbUNBQW1DO0FBQUEsUUFDakMsUUFBUTtBQUFBLFFBQ1IsWUFBWSxDQUFDLEtBQUs7QUFBQSxNQUNwQjtBQUFBLE1BQ0EsdUNBQXVDO0FBQUEsUUFDckMsUUFBUTtBQUFBLFFBQ1IsWUFBWSxDQUFDLEtBQUs7QUFBQSxNQUNwQjtBQUFBLE1BQ0Esd0NBQXdDO0FBQUEsUUFDdEMsUUFBUTtBQUFBLFFBQ1IsWUFBWSxDQUFDLEtBQUs7QUFBQSxNQUNwQjtBQUFBLE1BQ0EsZ0NBQWdDO0FBQUEsUUFDOUIsUUFBUTtBQUFBLFFBQ1IsWUFBWSxDQUFDLEtBQUs7QUFBQSxNQUNwQjtBQUFBLE1BQ0EsNEJBQTRCO0FBQUEsUUFDMUIsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLE1BQ2hCO0FBQUEsTUFDQSwyQkFBMkI7QUFBQSxRQUN6QixRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsUUFDZCxZQUFZLENBQUMsS0FBSztBQUFBLE1BQ3BCO0FBQUEsTUFDQSw4Q0FBOEM7QUFBQSxRQUM1QyxRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsUUFDZCxZQUFZLENBQUMsS0FBSztBQUFBLE1BQ3BCO0FBQUEsTUFDQSx3QkFBd0I7QUFBQSxRQUN0QixRQUFRO0FBQUEsUUFDUixZQUFZLENBQUMsTUFBTTtBQUFBLE1BQ3JCO0FBQUEsTUFDQSwyQkFBMkI7QUFBQSxRQUN6QixRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsTUFDaEI7QUFBQSxNQUNBLGlDQUFpQztBQUFBLFFBQy9CLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSx1QkFBdUI7QUFBQSxRQUNyQixRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0EsK0JBQStCO0FBQUEsUUFDN0IsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLE1BQ2hCO0FBQUEsTUFDQSxxQ0FBcUM7QUFBQSxRQUNuQyxRQUFRO0FBQUEsUUFDUixZQUFZLENBQUMsS0FBSztBQUFBLE1BQ3BCO0FBQUEsTUFDQSwyQkFBMkI7QUFBQSxRQUN6QixRQUFRO0FBQUEsUUFDUixZQUFZLENBQUMsTUFBTTtBQUFBLE1BQ3JCO0FBQUEsTUFDQSwyQkFBMkI7QUFBQSxRQUN6QixRQUFRO0FBQUEsUUFDUixZQUFZLENBQUMsTUFBTTtBQUFBLE1BQ3JCO0FBQUEsTUFDQSwwQkFBMEI7QUFBQSxRQUN4QixRQUFRO0FBQUEsUUFDUixZQUFZLENBQUMsS0FBSztBQUFBLE1BQ3BCO0FBQUEsTUFDQSwyQkFBMkI7QUFBQSxRQUN6QixRQUFRO0FBQUEsUUFDUixZQUFZLENBQUMsS0FBSztBQUFBLE1BQ3BCO0FBQUEsTUFDQSwwQkFBMEI7QUFBQSxRQUN4QixRQUFRO0FBQUEsUUFDUixZQUFZLENBQUMsS0FBSztBQUFBLE1BQ3BCO0FBQUEsTUFDQSw0QkFBNEI7QUFBQSxRQUMxQixRQUFRO0FBQUEsUUFDUixZQUFZLENBQUMsT0FBTztBQUFBLE1BQ3RCO0FBQUEsTUFDQSx1QkFBdUI7QUFBQSxRQUNyQixRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0EsNEJBQTRCO0FBQUEsUUFDMUIsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLHdDQUF3QztBQUFBLFFBQ3RDLFFBQVE7QUFBQSxRQUNSLFlBQVksQ0FBQyxXQUFXO0FBQUEsTUFDMUI7QUFBQSxNQUNBLDhCQUE4QjtBQUFBLFFBQzVCLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxNQUNoQjtBQUFBLE1BQ0EsbUNBQW1DO0FBQUEsUUFDakMsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLE1BQ2hCO0FBQUEsTUFDQSxtQ0FBbUM7QUFBQSxRQUNqQyxRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsTUFDaEI7QUFBQSxNQUNBLG9DQUFvQztBQUFBLFFBQ2xDLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSxtQ0FBbUM7QUFBQSxRQUNqQyxRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0Esd0NBQXdDO0FBQUEsUUFDdEMsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLCtCQUErQjtBQUFBLFFBQzdCLFFBQVE7QUFBQSxRQUNSLFlBQVksQ0FBQyxLQUFLO0FBQUEsTUFDcEI7QUFBQSxNQUNBLDhCQUE4QjtBQUFBLFFBQzVCLFFBQVE7QUFBQSxRQUNSLFlBQVksQ0FBQyxPQUFPLFdBQVcsVUFBVTtBQUFBLE1BQzNDO0FBQUEsTUFDQSx5Q0FBeUM7QUFBQSxRQUN2QyxRQUFRO0FBQUEsUUFDUixZQUFZLENBQUMsS0FBSztBQUFBLE1BQ3BCO0FBQUEsTUFDQSx3Q0FBd0M7QUFBQSxRQUN0QyxRQUFRO0FBQUEsUUFDUixZQUFZLENBQUMsSUFBSTtBQUFBLE1BQ25CO0FBQUEsTUFDQSw4QkFBOEI7QUFBQSxRQUM1QixRQUFRO0FBQUEsUUFDUixZQUFZLENBQUMsT0FBTyxLQUFLO0FBQUEsTUFDM0I7QUFBQSxNQUNBLDZCQUE2QjtBQUFBLFFBQzNCLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSw0QkFBNEI7QUFBQSxRQUMxQixRQUFRO0FBQUEsUUFDUixZQUFZLENBQUMsS0FBSztBQUFBLE1BQ3BCO0FBQUEsTUFDQSx5Q0FBeUM7QUFBQSxRQUN2QyxRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsTUFDaEI7QUFBQSxNQUNBLHdDQUF3QztBQUFBLFFBQ3RDLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxNQUNoQjtBQUFBLE1BQ0EsbUNBQW1DO0FBQUEsUUFDakMsUUFBUTtBQUFBLFFBQ1IsWUFBWSxDQUFDLEtBQUs7QUFBQSxNQUNwQjtBQUFBLE1BQ0EsbUNBQW1DO0FBQUEsUUFDakMsUUFBUTtBQUFBLFFBQ1IsWUFBWSxDQUFDLEtBQUs7QUFBQSxNQUNwQjtBQUFBLE1BQ0EsaUNBQWlDO0FBQUEsUUFDL0IsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLGlDQUFpQztBQUFBLFFBQy9CLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSxpQ0FBaUM7QUFBQSxRQUMvQixRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0EsMENBQTBDO0FBQUEsUUFDeEMsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLE1BQ2hCO0FBQUEsTUFDQSx1REFBdUQ7QUFBQSxRQUNyRCxRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsTUFDaEI7QUFBQSxNQUNBLDZDQUE2QztBQUFBLFFBQzNDLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxNQUNoQjtBQUFBLE1BQ0EsZ0RBQWdEO0FBQUEsUUFDOUMsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLE1BQ2hCO0FBQUEsTUFDQSxnREFBZ0Q7QUFBQSxRQUM5QyxRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsTUFDaEI7QUFBQSxNQUNBLHVEQUF1RDtBQUFBLFFBQ3JELFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxNQUNoQjtBQUFBLE1BQ0EsMkNBQTJDO0FBQUEsUUFDekMsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLE1BQ2hCO0FBQUEsTUFDQSxzQ0FBc0M7QUFBQSxRQUNwQyxRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0Esb0NBQW9DO0FBQUEsUUFDbEMsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLHdDQUF3QztBQUFBLFFBQ3RDLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxNQUNoQjtBQUFBLE1BQ0EsOENBQThDO0FBQUEsUUFDNUMsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLDhCQUE4QjtBQUFBLFFBQzVCLFFBQVE7QUFBQSxRQUNSLFlBQVksQ0FBQyxLQUFLO0FBQUEsTUFDcEI7QUFBQSxNQUNBLG9DQUFvQztBQUFBLFFBQ2xDLFFBQVE7QUFBQSxRQUNSLFlBQVksQ0FBQyxPQUFPLEtBQUs7QUFBQSxNQUMzQjtBQUFBLE1BQ0EsNEJBQTRCO0FBQUEsUUFDMUIsUUFBUTtBQUFBLFFBQ1IsWUFBWSxDQUFDLEtBQUs7QUFBQSxNQUNwQjtBQUFBLE1BQ0Esc0NBQXNDO0FBQUEsUUFDcEMsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLG1DQUFtQztBQUFBLFFBQ2pDLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSw0QkFBNEI7QUFBQSxRQUMxQixRQUFRO0FBQUEsUUFDUixZQUFZLENBQUMsS0FBSztBQUFBLE1BQ3BCO0FBQUEsTUFDQSw0QkFBNEI7QUFBQSxRQUMxQixRQUFRO0FBQUEsUUFDUixZQUFZLENBQUMsS0FBSztBQUFBLE1BQ3BCO0FBQUEsTUFDQSxvQ0FBb0M7QUFBQSxRQUNsQyxRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0EsNEJBQTRCO0FBQUEsUUFDMUIsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLGlDQUFpQztBQUFBLFFBQy9CLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSxpQ0FBaUM7QUFBQSxRQUMvQixRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0EsNEJBQTRCO0FBQUEsUUFDMUIsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLDJDQUEyQztBQUFBLFFBQ3pDLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxNQUNoQjtBQUFBLE1BQ0EsMkNBQTJDO0FBQUEsUUFDekMsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLE1BQ2hCO0FBQUEsTUFDQSw2Q0FBNkM7QUFBQSxRQUMzQyxRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsTUFDaEI7QUFBQSxNQUNBLHdDQUF3QztBQUFBLFFBQ3RDLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxNQUNoQjtBQUFBLE1BQ0EsMkNBQTJDO0FBQUEsUUFDekMsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLE1BQ2hCO0FBQUEsTUFDQSwyQ0FBMkM7QUFBQSxRQUN6QyxRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsTUFDaEI7QUFBQSxNQUNBLDRDQUE0QztBQUFBLFFBQzFDLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxNQUNoQjtBQUFBLE1BQ0EseUNBQXlDO0FBQUEsUUFDdkMsUUFBUTtBQUFBLFFBQ1IsWUFBWSxDQUFDLFdBQVc7QUFBQSxNQUMxQjtBQUFBLE1BQ0EsMkNBQTJDO0FBQUEsUUFDekMsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLFFBQ2QsWUFBWSxDQUFDLEtBQUs7QUFBQSxNQUNwQjtBQUFBLE1BQ0EsMEJBQTBCO0FBQUEsUUFDeEIsUUFBUTtBQUFBLFFBQ1IsWUFBWSxDQUFDLEtBQUs7QUFBQSxNQUNwQjtBQUFBLE1BQ0EsNEJBQTRCO0FBQUEsUUFDMUIsUUFBUTtBQUFBLFFBQ1IsWUFBWSxDQUFDLEtBQUs7QUFBQSxNQUNwQjtBQUFBLE1BQ0EsbUNBQW1DO0FBQUEsUUFDakMsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLE1BQ2hCO0FBQUEsTUFDQSx1QkFBdUI7QUFBQSxRQUNyQixRQUFRO0FBQUEsUUFDUixZQUFZLENBQUMsS0FBSztBQUFBLE1BQ3BCO0FBQUEsTUFDQSw4Q0FBOEM7QUFBQSxRQUM1QyxRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0EsNENBQTRDO0FBQUEsUUFDMUMsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLDJDQUEyQztBQUFBLFFBQ3pDLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSx5Q0FBeUM7QUFBQSxRQUN2QyxRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0EsZ0RBQWdEO0FBQUEsUUFDOUMsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLDRDQUE0QztBQUFBLFFBQzFDLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSx5Q0FBeUM7QUFBQSxRQUN2QyxRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0EsZ0RBQWdEO0FBQUEsUUFDOUMsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLHlDQUF5QztBQUFBLFFBQ3ZDLFFBQVE7QUFBQSxRQUNSLFlBQVksQ0FBQyxLQUFLO0FBQUEsTUFDcEI7QUFBQSxNQUNBLHdCQUF3QjtBQUFBLFFBQ3RCLFFBQVE7QUFBQSxRQUNSLFlBQVksQ0FBQyxNQUFNO0FBQUEsTUFDckI7QUFBQSxNQUNBLHNDQUFzQztBQUFBLFFBQ3BDLFFBQVE7QUFBQSxRQUNSLFlBQVksQ0FBQyxNQUFNO0FBQUEsTUFDckI7QUFBQSxNQUNBLGdDQUFnQztBQUFBLFFBQzlCLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSwyQkFBMkI7QUFBQSxRQUN6QixRQUFRO0FBQUEsUUFDUixZQUFZLENBQUMsT0FBTyxLQUFLO0FBQUEsTUFDM0I7QUFBQSxNQUNBLDhCQUE4QjtBQUFBLFFBQzVCLFFBQVE7QUFBQSxRQUNSLFlBQVksQ0FBQyxRQUFRO0FBQUEsTUFDdkI7QUFBQSxNQUNBLDhCQUE4QjtBQUFBLFFBQzVCLFFBQVE7QUFBQSxRQUNSLFlBQVksQ0FBQyxNQUFNO0FBQUEsTUFDckI7QUFBQSxNQUNBLGdDQUFnQztBQUFBLFFBQzlCLFFBQVE7QUFBQSxRQUNSLFlBQVksQ0FBQyxLQUFLO0FBQUEsTUFDcEI7QUFBQSxNQUNBLDZCQUE2QjtBQUFBLFFBQzNCLFFBQVE7QUFBQSxRQUNSLFlBQVksQ0FBQyxLQUFLO0FBQUEsTUFDcEI7QUFBQSxNQUNBLCtCQUErQjtBQUFBLFFBQzdCLFFBQVE7QUFBQSxRQUNSLFlBQVksQ0FBQyxLQUFLO0FBQUEsTUFDcEI7QUFBQSxNQUNBLGtDQUFrQztBQUFBLFFBQ2hDLFFBQVE7QUFBQSxRQUNSLFlBQVksQ0FBQyxPQUFPLEtBQUs7QUFBQSxNQUMzQjtBQUFBLE1BQ0EsK0JBQStCO0FBQUEsUUFDN0IsUUFBUTtBQUFBLFFBQ1IsWUFBWSxDQUFDLEtBQUs7QUFBQSxNQUNwQjtBQUFBLE1BQ0EsNkJBQTZCO0FBQUEsUUFDM0IsUUFBUTtBQUFBLFFBQ1IsWUFBWSxDQUFDLE9BQU8sS0FBSztBQUFBLE1BQzNCO0FBQUEsTUFDQSx1QkFBdUI7QUFBQSxRQUNyQixRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0EsOEJBQThCO0FBQUEsUUFDNUIsUUFBUTtBQUFBLFFBQ1IsWUFBWSxDQUFDLE1BQU07QUFBQSxNQUNyQjtBQUFBLE1BQ0Esa0NBQWtDO0FBQUEsUUFDaEMsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLE1BQ2hCO0FBQUEsTUFDQSw4QkFBOEI7QUFBQSxRQUM1QixRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0EsZ0NBQWdDO0FBQUEsUUFDOUIsUUFBUTtBQUFBLFFBQ1IsWUFBWSxDQUFDLEtBQUs7QUFBQSxNQUNwQjtBQUFBLE1BQ0EseUJBQXlCO0FBQUEsUUFDdkIsUUFBUTtBQUFBLFFBQ1IsWUFBWSxDQUFDLE9BQU8sS0FBSztBQUFBLE1BQzNCO0FBQUEsTUFDQSx3QkFBd0I7QUFBQSxRQUN0QixRQUFRO0FBQUEsUUFDUixZQUFZLENBQUMsT0FBTyxPQUFPLE9BQU8sS0FBSztBQUFBLE1BQ3pDO0FBQUEsTUFDQSxvQ0FBb0M7QUFBQSxRQUNsQyxRQUFRO0FBQUEsUUFDUixZQUFZLENBQUMsS0FBSztBQUFBLE1BQ3BCO0FBQUEsTUFDQSx1QkFBdUI7QUFBQSxRQUNyQixRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0EsZ0NBQWdDO0FBQUEsUUFDOUIsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLE1BQ2hCO0FBQUEsTUFDQSwrQkFBK0I7QUFBQSxRQUM3QixRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsUUFDZCxZQUFZLENBQUMsUUFBUTtBQUFBLE1BQ3ZCO0FBQUEsTUFDQSwwQkFBMEI7QUFBQSxRQUN4QixRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0EseUNBQXlDO0FBQUEsUUFDdkMsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLDZCQUE2QjtBQUFBLFFBQzNCLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxNQUNoQjtBQUFBLE1BQ0EsdUNBQXVDO0FBQUEsUUFDckMsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLE1BQ2hCO0FBQUEsTUFDQSxzREFBc0Q7QUFBQSxRQUNwRCxRQUFRO0FBQUEsUUFDUixZQUFZLENBQUMsS0FBSztBQUFBLE1BQ3BCO0FBQUEsTUFDQSwyREFBMkQ7QUFBQSxRQUN6RCxRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsUUFDZCxZQUFZLENBQUMsS0FBSztBQUFBLE1BQ3BCO0FBQUEsTUFDQSx3Q0FBd0M7QUFBQSxRQUN0QyxRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsTUFDaEI7QUFBQSxNQUNBLHdCQUF3QjtBQUFBLFFBQ3RCLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSwrQkFBK0I7QUFBQSxRQUM3QixRQUFRO0FBQUEsUUFDUixZQUFZLENBQUMsS0FBSztBQUFBLE1BQ3BCO0FBQUEsTUFDQSxrQ0FBa0M7QUFBQSxRQUNoQyxRQUFRO0FBQUEsUUFDUixZQUFZLENBQUMsS0FBSztBQUFBLE1BQ3BCO0FBQUEsTUFDQSxtQ0FBbUM7QUFBQSxRQUNqQyxRQUFRO0FBQUEsUUFDUixZQUFZLENBQUMsS0FBSztBQUFBLE1BQ3BCO0FBQUEsTUFDQSwrQkFBK0I7QUFBQSxRQUM3QixRQUFRO0FBQUEsUUFDUixZQUFZLENBQUMsS0FBSztBQUFBLE1BQ3BCO0FBQUEsTUFDQSxtQ0FBbUM7QUFBQSxRQUNqQyxRQUFRO0FBQUEsUUFDUixZQUFZLENBQUMsS0FBSztBQUFBLE1BQ3BCO0FBQUEsTUFDQSxtQ0FBbUM7QUFBQSxRQUNqQyxRQUFRO0FBQUEsUUFDUixZQUFZLENBQUMsS0FBSztBQUFBLE1BQ3BCO0FBQUEsTUFDQSxpQ0FBaUM7QUFBQSxRQUMvQixRQUFRO0FBQUEsUUFDUixZQUFZLENBQUMsS0FBSztBQUFBLE1BQ3BCO0FBQUEsTUFDQSxvQ0FBb0M7QUFBQSxRQUNsQyxRQUFRO0FBQUEsUUFDUixZQUFZLENBQUMsU0FBUztBQUFBLE1BQ3hCO0FBQUEsTUFDQSxzQ0FBc0M7QUFBQSxRQUNwQyxRQUFRO0FBQUEsUUFDUixZQUFZLENBQUMsS0FBSztBQUFBLE1BQ3BCO0FBQUEsTUFDQSw4Q0FBOEM7QUFBQSxRQUM1QyxRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsTUFDaEI7QUFBQSxNQUNBLDRDQUE0QztBQUFBLFFBQzFDLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxNQUNoQjtBQUFBLE1BQ0EsMENBQTBDO0FBQUEsUUFDeEMsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLE1BQ2hCO0FBQUEsTUFDQSxtQ0FBbUM7QUFBQSxRQUNqQyxRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0EsOEJBQThCO0FBQUEsUUFDNUIsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLE1BQ2hCO0FBQUEsTUFDQSx5Q0FBeUM7QUFBQSxRQUN2QyxRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsTUFDaEI7QUFBQSxNQUNBLHNDQUFzQztBQUFBLFFBQ3BDLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSx1QkFBdUI7QUFBQSxRQUNyQixRQUFRO0FBQUEsUUFDUixZQUFZLENBQUMsS0FBSztBQUFBLE1BQ3BCO0FBQUEsTUFDQSx1QkFBdUI7QUFBQSxRQUNyQixRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0EsNkJBQTZCO0FBQUEsUUFDM0IsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLCtCQUErQjtBQUFBLFFBQzdCLFFBQVE7QUFBQSxRQUNSLFlBQVksQ0FBQyxLQUFLO0FBQUEsTUFDcEI7QUFBQSxNQUNBLHNDQUFzQztBQUFBLFFBQ3BDLFFBQVE7QUFBQSxRQUNSLFlBQVksQ0FBQyxPQUFPO0FBQUEsTUFDdEI7QUFBQSxNQUNBLDRDQUE0QztBQUFBLFFBQzFDLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSxzQ0FBc0M7QUFBQSxRQUNwQyxRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0EsMkJBQTJCO0FBQUEsUUFDekIsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLHdCQUF3QjtBQUFBLFFBQ3RCLFFBQVE7QUFBQSxRQUNSLFlBQVksQ0FBQyxLQUFLO0FBQUEsTUFDcEI7QUFBQSxNQUNBLHdCQUF3QjtBQUFBLFFBQ3RCLFFBQVE7QUFBQSxRQUNSLFlBQVksQ0FBQyxLQUFLO0FBQUEsTUFDcEI7QUFBQSxNQUNBLDhCQUE4QjtBQUFBLFFBQzVCLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxNQUNoQjtBQUFBLE1BQ0Esa0NBQWtDO0FBQUEsUUFDaEMsUUFBUTtBQUFBLFFBQ1IsWUFBWSxDQUFDLEtBQUs7QUFBQSxNQUNwQjtBQUFBLE1BQ0Esa0NBQWtDO0FBQUEsUUFDaEMsUUFBUTtBQUFBLFFBQ1IsWUFBWSxDQUFDLEtBQUs7QUFBQSxNQUNwQjtBQUFBLE1BQ0EsaURBQWlEO0FBQUEsUUFDL0MsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLHFEQUFxRDtBQUFBLFFBQ25ELFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSw4QkFBOEI7QUFBQSxRQUM1QixRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsTUFDaEI7QUFBQSxNQUNBLHVCQUF1QjtBQUFBLFFBQ3JCLFFBQVE7QUFBQSxRQUNSLFlBQVksQ0FBQyxLQUFLO0FBQUEsTUFDcEI7QUFBQSxNQUNBLHdDQUF3QztBQUFBLFFBQ3RDLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSxtREFBbUQ7QUFBQSxRQUNqRCxRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0EsOEJBQThCO0FBQUEsUUFDNUIsUUFBUTtBQUFBLFFBQ1IsWUFBWSxDQUFDLEtBQUs7QUFBQSxNQUNwQjtBQUFBLE1BQ0EsOEJBQThCO0FBQUEsUUFDNUIsUUFBUTtBQUFBLFFBQ1IsWUFBWSxDQUFDLEtBQUs7QUFBQSxNQUNwQjtBQUFBLE1BQ0EsOEJBQThCO0FBQUEsUUFDNUIsUUFBUTtBQUFBLFFBQ1IsWUFBWSxDQUFDLEtBQUs7QUFBQSxNQUNwQjtBQUFBLE1BQ0EsOEJBQThCO0FBQUEsUUFDNUIsUUFBUTtBQUFBLFFBQ1IsWUFBWSxDQUFDLEtBQUs7QUFBQSxNQUNwQjtBQUFBLE1BQ0EsOEJBQThCO0FBQUEsUUFDNUIsUUFBUTtBQUFBLFFBQ1IsWUFBWSxDQUFDLEtBQUs7QUFBQSxNQUNwQjtBQUFBLE1BQ0EsOEJBQThCO0FBQUEsUUFDNUIsUUFBUTtBQUFBLFFBQ1IsWUFBWSxDQUFDLEtBQUs7QUFBQSxNQUNwQjtBQUFBLE1BQ0EsOEJBQThCO0FBQUEsUUFDNUIsUUFBUTtBQUFBLFFBQ1IsWUFBWSxDQUFDLEtBQUs7QUFBQSxNQUNwQjtBQUFBLE1BQ0Esd0JBQXdCO0FBQUEsUUFDdEIsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLHNDQUFzQztBQUFBLFFBQ3BDLFFBQVE7QUFBQSxRQUNSLFlBQVksQ0FBQyxLQUFLO0FBQUEsTUFDcEI7QUFBQSxNQUNBLHNDQUFzQztBQUFBLFFBQ3BDLFFBQVE7QUFBQSxRQUNSLFlBQVksQ0FBQyxLQUFLO0FBQUEsTUFDcEI7QUFBQSxNQUNBLHNDQUFzQztBQUFBLFFBQ3BDLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSwyQ0FBMkM7QUFBQSxRQUN6QyxRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0EsMENBQTBDO0FBQUEsUUFDeEMsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLDRDQUE0QztBQUFBLFFBQzFDLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSwwQ0FBMEM7QUFBQSxRQUN4QyxRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0EsMENBQTBDO0FBQUEsUUFDeEMsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLDBDQUEwQztBQUFBLFFBQ3hDLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSxpQ0FBaUM7QUFBQSxRQUMvQixRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0EsbUNBQW1DO0FBQUEsUUFDakMsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLFFBQ2QsWUFBWSxDQUFDLEtBQUs7QUFBQSxNQUNwQjtBQUFBLE1BQ0Esa0NBQWtDO0FBQUEsUUFDaEMsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLCtCQUErQjtBQUFBLFFBQzdCLFFBQVE7QUFBQSxRQUNSLFlBQVksQ0FBQyxLQUFLO0FBQUEsTUFDcEI7QUFBQSxNQUNBLDBCQUEwQjtBQUFBLFFBQ3hCLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSxxQ0FBcUM7QUFBQSxRQUNuQyxRQUFRO0FBQUEsUUFDUixZQUFZLENBQUMsS0FBSztBQUFBLE1BQ3BCO0FBQUEsTUFDQSx1Q0FBdUM7QUFBQSxRQUNyQyxRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0EsNEJBQTRCO0FBQUEsUUFDMUIsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLFFBQ2QsWUFBWSxDQUFDLE9BQU8sT0FBTyxPQUFPLE9BQU8sT0FBTyxLQUFLO0FBQUEsTUFDdkQ7QUFBQSxNQUNBLGtEQUFrRDtBQUFBLFFBQ2hELFFBQVE7QUFBQSxRQUNSLFlBQVksQ0FBQyxNQUFNO0FBQUEsTUFDckI7QUFBQSxNQUNBLHlEQUF5RDtBQUFBLFFBQ3ZELFFBQVE7QUFBQSxRQUNSLFlBQVksQ0FBQyxNQUFNO0FBQUEsTUFDckI7QUFBQSxNQUNBLGtEQUFrRDtBQUFBLFFBQ2hELFFBQVE7QUFBQSxRQUNSLFlBQVksQ0FBQyxNQUFNO0FBQUEsTUFDckI7QUFBQSxNQUNBLHFEQUFxRDtBQUFBLFFBQ25ELFFBQVE7QUFBQSxRQUNSLFlBQVksQ0FBQyxNQUFNO0FBQUEsTUFDckI7QUFBQSxNQUNBLGlDQUFpQztBQUFBLFFBQy9CLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxRQUNkLFlBQVksQ0FBQyxLQUFLO0FBQUEsTUFDcEI7QUFBQSxNQUNBLCtCQUErQjtBQUFBLFFBQzdCLFFBQVE7QUFBQSxRQUNSLFlBQVksQ0FBQyxLQUFLO0FBQUEsTUFDcEI7QUFBQSxNQUNBLDBCQUEwQjtBQUFBLFFBQ3hCLFFBQVE7QUFBQSxRQUNSLFlBQVksQ0FBQyxLQUFLO0FBQUEsTUFDcEI7QUFBQSxNQUNBLDBCQUEwQjtBQUFBLFFBQ3hCLFFBQVE7QUFBQSxRQUNSLFlBQVksQ0FBQyxLQUFLO0FBQUEsTUFDcEI7QUFBQSxNQUNBLHlDQUF5QztBQUFBLFFBQ3ZDLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxNQUNoQjtBQUFBLE1BQ0Esa0NBQWtDO0FBQUEsUUFDaEMsUUFBUTtBQUFBLFFBQ1IsWUFBWSxDQUFDLE1BQU07QUFBQSxNQUNyQjtBQUFBLE1BQ0EsK0JBQStCO0FBQUEsUUFDN0IsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLE1BQ2hCO0FBQUEsTUFDQSw4QkFBOEI7QUFBQSxRQUM1QixjQUFjO0FBQUEsUUFDZCxZQUFZLENBQUMsS0FBSztBQUFBLE1BQ3BCO0FBQUEsTUFDQSxrREFBa0Q7QUFBQSxRQUNoRCxRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0EsaUNBQWlDO0FBQUEsUUFDL0IsUUFBUTtBQUFBLFFBQ1IsWUFBWSxDQUFDLEtBQUs7QUFBQSxNQUNwQjtBQUFBLE1BQ0EsOEJBQThCO0FBQUEsUUFDNUIsUUFBUTtBQUFBLFFBQ1IsWUFBWSxDQUFDLEtBQUs7QUFBQSxNQUNwQjtBQUFBLE1BQ0EsOENBQThDO0FBQUEsUUFDNUMsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLE1BQ2hCO0FBQUEsTUFDQSxpQ0FBaUM7QUFBQSxRQUMvQixRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsUUFDZCxZQUFZLENBQUMsT0FBTyxPQUFPLEtBQUs7QUFBQSxNQUNsQztBQUFBLE1BQ0EsdURBQXVEO0FBQUEsUUFDckQsUUFBUTtBQUFBLFFBQ1IsWUFBWSxDQUFDLE1BQU07QUFBQSxNQUNyQjtBQUFBLE1BQ0EsOERBQThEO0FBQUEsUUFDNUQsUUFBUTtBQUFBLFFBQ1IsWUFBWSxDQUFDLE1BQU07QUFBQSxNQUNyQjtBQUFBLE1BQ0EsdURBQXVEO0FBQUEsUUFDckQsUUFBUTtBQUFBLFFBQ1IsWUFBWSxDQUFDLE1BQU07QUFBQSxNQUNyQjtBQUFBLE1BQ0EsMkRBQTJEO0FBQUEsUUFDekQsUUFBUTtBQUFBLFFBQ1IsWUFBWSxDQUFDLE1BQU07QUFBQSxNQUNyQjtBQUFBLE1BQ0EsMERBQTBEO0FBQUEsUUFDeEQsUUFBUTtBQUFBLFFBQ1IsWUFBWSxDQUFDLE1BQU07QUFBQSxNQUNyQjtBQUFBLE1BQ0Esa0RBQWtEO0FBQUEsUUFDaEQsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLE1BQ2hCO0FBQUEsTUFDQSwrQ0FBK0M7QUFBQSxRQUM3QyxRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsTUFDaEI7QUFBQSxNQUNBLDRDQUE0QztBQUFBLFFBQzFDLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxNQUNoQjtBQUFBLE1BQ0EsOEJBQThCO0FBQUEsUUFDNUIsUUFBUTtBQUFBLFFBQ1IsWUFBWSxDQUFDLE9BQU8sS0FBSztBQUFBLE1BQzNCO0FBQUEsTUFDQSwyQkFBMkI7QUFBQSxRQUN6QixRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0EsbUNBQW1DO0FBQUEsUUFDakMsWUFBWSxDQUFDLEtBQUs7QUFBQSxNQUNwQjtBQUFBLE1BQ0EsNENBQTRDO0FBQUEsUUFDMUMsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLDZDQUE2QztBQUFBLFFBQzNDLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSw2Q0FBNkM7QUFBQSxRQUMzQyxRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0Esc0NBQXNDO0FBQUEsUUFDcEMsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLHlDQUF5QztBQUFBLFFBQ3ZDLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSxxQ0FBcUM7QUFBQSxRQUNuQyxRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0EsMkNBQTJDO0FBQUEsUUFDekMsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLHVDQUF1QztBQUFBLFFBQ3JDLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSxvREFBb0Q7QUFBQSxRQUNsRCxRQUFRO0FBQUEsUUFDUixZQUFZLENBQUMsTUFBTTtBQUFBLE1BQ3JCO0FBQUEsTUFDQSxvREFBb0Q7QUFBQSxRQUNsRCxRQUFRO0FBQUEsUUFDUixZQUFZLENBQUMsTUFBTTtBQUFBLE1BQ3JCO0FBQUEsTUFDQSw0QkFBNEI7QUFBQSxRQUMxQixRQUFRO0FBQUEsUUFDUixZQUFZLENBQUMsT0FBTyxPQUFPLE9BQU8sS0FBSztBQUFBLE1BQ3pDO0FBQUEsTUFDQSwwQkFBMEI7QUFBQSxRQUN4QixRQUFRO0FBQUEsUUFDUixZQUFZLENBQUMsS0FBSztBQUFBLE1BQ3BCO0FBQUEsTUFDQSxrQ0FBa0M7QUFBQSxRQUNoQyxRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsUUFDZCxZQUFZLENBQUMsS0FBSztBQUFBLE1BQ3BCO0FBQUEsTUFDQSxrQ0FBa0M7QUFBQSxRQUNoQyxRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0Esd0JBQXdCO0FBQUEsUUFDdEIsUUFBUTtBQUFBLFFBQ1IsWUFBWSxDQUFDLE1BQU07QUFBQSxNQUNyQjtBQUFBLE1BQ0EsMkJBQTJCO0FBQUEsUUFDekIsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLHlCQUF5QjtBQUFBLFFBQ3ZCLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSxtQ0FBbUM7QUFBQSxRQUNqQyxRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0EsdUNBQXVDO0FBQUEsUUFDckMsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLDhCQUE4QjtBQUFBLFFBQzVCLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSw0QkFBNEI7QUFBQSxRQUMxQixRQUFRO0FBQUEsUUFDUixZQUFZLENBQUMsS0FBSztBQUFBLE1BQ3BCO0FBQUEsTUFDQSwrQkFBK0I7QUFBQSxRQUM3QixRQUFRO0FBQUEsUUFDUixZQUFZLENBQUMsTUFBTTtBQUFBLE1BQ3JCO0FBQUEsTUFDQSx5QkFBeUI7QUFBQSxRQUN2QixRQUFRO0FBQUEsUUFDUixZQUFZLENBQUMsUUFBUTtBQUFBLE1BQ3ZCO0FBQUEsTUFDQSxzQ0FBc0M7QUFBQSxRQUNwQyxRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsTUFDaEI7QUFBQSxNQUNBLCtDQUErQztBQUFBLFFBQzdDLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSwrQ0FBK0M7QUFBQSxRQUM3QyxRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsTUFDaEI7QUFBQSxNQUNBLDhDQUE4QztBQUFBLFFBQzVDLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxRQUNkLFlBQVksQ0FBQyxLQUFLO0FBQUEsTUFDcEI7QUFBQSxNQUNBLHdEQUF3RDtBQUFBLFFBQ3RELFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxNQUNoQjtBQUFBLE1BQ0EsK0JBQStCO0FBQUEsUUFDN0IsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLGlDQUFpQztBQUFBLFFBQy9CLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSxtQ0FBbUM7QUFBQSxRQUNqQyxRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsTUFDaEI7QUFBQSxNQUNBLGlDQUFpQztBQUFBLFFBQy9CLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSwyQkFBMkI7QUFBQSxRQUN6QixRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0EsMEJBQTBCO0FBQUEsUUFDeEIsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLHFDQUFxQztBQUFBLFFBQ25DLFFBQVE7QUFBQSxRQUNSLFlBQVksQ0FBQyxLQUFLO0FBQUEsTUFDcEI7QUFBQSxNQUNBLHdCQUF3QjtBQUFBLFFBQ3RCLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSxzQ0FBc0M7QUFBQSxRQUNwQyxRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0EscUNBQXFDO0FBQUEsUUFDbkMsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLHdCQUF3QjtBQUFBLFFBQ3RCLFFBQVE7QUFBQSxRQUNSLFlBQVksQ0FBQyxPQUFPLE1BQU07QUFBQSxNQUM1QjtBQUFBLE1BQ0Esc0NBQXNDO0FBQUEsUUFDcEMsUUFBUTtBQUFBLFFBQ1IsWUFBWSxDQUFDLEtBQUs7QUFBQSxNQUNwQjtBQUFBLE1BQ0EsbUNBQW1DO0FBQUEsUUFDakMsUUFBUTtBQUFBLFFBQ1IsWUFBWSxDQUFDLEtBQUs7QUFBQSxNQUNwQjtBQUFBLE1BQ0EsZ0NBQWdDO0FBQUEsUUFDOUIsUUFBUTtBQUFBLFFBQ1IsWUFBWSxDQUFDLEtBQUs7QUFBQSxNQUNwQjtBQUFBLE1BQ0Esa0NBQWtDO0FBQUEsUUFDaEMsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLHFDQUFxQztBQUFBLFFBQ25DLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSxtQ0FBbUM7QUFBQSxRQUNqQyxRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsTUFDaEI7QUFBQSxNQUNBLHlDQUF5QztBQUFBLFFBQ3ZDLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxNQUNoQjtBQUFBLE1BQ0EsNENBQTRDO0FBQUEsUUFDMUMsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLHdDQUF3QztBQUFBLFFBQ3RDLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSxzQ0FBc0M7QUFBQSxRQUNwQyxRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsTUFDaEI7QUFBQSxNQUNBLGdEQUFnRDtBQUFBLFFBQzlDLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxNQUNoQjtBQUFBLE1BQ0EsdUNBQXVDO0FBQUEsUUFDckMsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLFFBQ2QsWUFBWSxDQUFDLElBQUk7QUFBQSxNQUNuQjtBQUFBLE1BQ0EscUNBQXFDO0FBQUEsUUFDbkMsUUFBUTtBQUFBLFFBQ1IsWUFBWSxDQUFDLE9BQU87QUFBQSxNQUN0QjtBQUFBLE1BQ0EsZ0RBQWdEO0FBQUEsUUFDOUMsUUFBUTtBQUFBLFFBQ1IsWUFBWSxDQUFDLFFBQVE7QUFBQSxNQUN2QjtBQUFBLE1BQ0EsNkJBQTZCO0FBQUEsUUFDM0IsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLG1DQUFtQztBQUFBLFFBQ2pDLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSxpQ0FBaUM7QUFBQSxRQUMvQixRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsTUFDaEI7QUFBQSxNQUNBLHNDQUFzQztBQUFBLFFBQ3BDLFFBQVE7QUFBQSxRQUNSLFlBQVksQ0FBQyxNQUFNO0FBQUEsTUFDckI7QUFBQSxNQUNBLHVDQUF1QztBQUFBLFFBQ3JDLFFBQVE7QUFBQSxRQUNSLFlBQVksQ0FBQyxNQUFNO0FBQUEsTUFDckI7QUFBQSxNQUNBLGdDQUFnQztBQUFBLFFBQzlCLFFBQVE7QUFBQSxRQUNSLFlBQVksQ0FBQyxLQUFLO0FBQUEsTUFDcEI7QUFBQSxNQUNBLGdDQUFnQztBQUFBLFFBQzlCLFFBQVE7QUFBQSxRQUNSLFlBQVksQ0FBQyxLQUFLO0FBQUEsTUFDcEI7QUFBQSxNQUNBLGdDQUFnQztBQUFBLFFBQzlCLFFBQVE7QUFBQSxRQUNSLFlBQVksQ0FBQyxLQUFLO0FBQUEsTUFDcEI7QUFBQSxNQUNBLDJDQUEyQztBQUFBLFFBQ3pDLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSwyQ0FBMkM7QUFBQSxRQUN6QyxRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0EsK0NBQStDO0FBQUEsUUFDN0MsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLDJDQUEyQztBQUFBLFFBQ3pDLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSwrQ0FBK0M7QUFBQSxRQUM3QyxRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0EsaUNBQWlDO0FBQUEsUUFDL0IsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLHNDQUFzQztBQUFBLFFBQ3BDLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxNQUNoQjtBQUFBLE1BQ0Esc0NBQXNDO0FBQUEsUUFDcEMsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLDJDQUEyQztBQUFBLFFBQ3pDLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSw0Q0FBNEM7QUFBQSxRQUMxQyxRQUFRO0FBQUEsUUFDUixZQUFZLENBQUMsS0FBSztBQUFBLE1BQ3BCO0FBQUEsTUFDQSxxREFBcUQ7QUFBQSxRQUNuRCxRQUFRO0FBQUEsUUFDUixZQUFZLENBQUMsS0FBSztBQUFBLE1BQ3BCO0FBQUEsTUFDQSwrQ0FBK0M7QUFBQSxRQUM3QyxRQUFRO0FBQUEsUUFDUixZQUFZLENBQUMsS0FBSztBQUFBLE1BQ3BCO0FBQUEsTUFDQSw4Q0FBOEM7QUFBQSxRQUM1QyxRQUFRO0FBQUEsUUFDUixZQUFZLENBQUMsS0FBSztBQUFBLE1BQ3BCO0FBQUEsTUFDQSx1REFBdUQ7QUFBQSxRQUNyRCxRQUFRO0FBQUEsUUFDUixZQUFZLENBQUMsTUFBTTtBQUFBLE1BQ3JCO0FBQUEsTUFDQSwrQ0FBK0M7QUFBQSxRQUM3QyxRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsUUFDZCxZQUFZLENBQUMsS0FBSztBQUFBLE1BQ3BCO0FBQUEsTUFDQSx3REFBd0Q7QUFBQSxRQUN0RCxRQUFRO0FBQUEsUUFDUixZQUFZLENBQUMsS0FBSztBQUFBLE1BQ3BCO0FBQUEsTUFDQSw0Q0FBNEM7QUFBQSxRQUMxQyxRQUFRO0FBQUEsUUFDUixZQUFZLENBQUMsS0FBSztBQUFBLE1BQ3BCO0FBQUEsTUFDQSxxREFBcUQ7QUFBQSxRQUNuRCxRQUFRO0FBQUEsUUFDUixZQUFZLENBQUMsS0FBSztBQUFBLE1BQ3BCO0FBQUEsTUFDQSxtREFBbUQ7QUFBQSxRQUNqRCxRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsUUFDZCxZQUFZLENBQUMsS0FBSztBQUFBLE1BQ3BCO0FBQUEsTUFDQSw0REFBNEQ7QUFBQSxRQUMxRCxRQUFRO0FBQUEsUUFDUixZQUFZLENBQUMsS0FBSztBQUFBLE1BQ3BCO0FBQUEsTUFDQSxrREFBa0Q7QUFBQSxRQUNoRCxRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsUUFDZCxZQUFZLENBQUMsS0FBSztBQUFBLE1BQ3BCO0FBQUEsTUFDQSwyREFBMkQ7QUFBQSxRQUN6RCxRQUFRO0FBQUEsUUFDUixZQUFZLENBQUMsS0FBSztBQUFBLE1BQ3BCO0FBQUEsTUFDQSwyQ0FBMkM7QUFBQSxRQUN6QyxRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsUUFDZCxZQUFZLENBQUMsS0FBSztBQUFBLE1BQ3BCO0FBQUEsTUFDQSxrREFBa0Q7QUFBQSxRQUNoRCxRQUFRO0FBQUEsUUFDUixZQUFZLENBQUMsS0FBSztBQUFBLE1BQ3BCO0FBQUEsTUFDQSwyREFBMkQ7QUFBQSxRQUN6RCxRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0Esb0RBQW9EO0FBQUEsUUFDbEQsUUFBUTtBQUFBLFFBQ1IsWUFBWSxDQUFDLEtBQUs7QUFBQSxNQUNwQjtBQUFBLE1BQ0EsK0NBQStDO0FBQUEsUUFDN0MsUUFBUTtBQUFBLFFBQ1IsWUFBWSxDQUFDLEtBQUs7QUFBQSxNQUNwQjtBQUFBLE1BQ0EsdUJBQXVCO0FBQUEsUUFDckIsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLDRCQUE0QjtBQUFBLFFBQzFCLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSw4Q0FBOEM7QUFBQSxRQUM1QyxRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsTUFDaEI7QUFBQSxNQUNBLGtDQUFrQztBQUFBLFFBQ2hDLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxNQUNoQjtBQUFBLE1BQ0Esa0RBQWtEO0FBQUEsUUFDaEQsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLE1BQ2hCO0FBQUEsTUFDQSxtREFBbUQ7QUFBQSxRQUNqRCxRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsTUFDaEI7QUFBQSxNQUNBLHVDQUF1QztBQUFBLFFBQ3JDLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSxvQ0FBb0M7QUFBQSxRQUNsQyxRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsTUFDaEI7QUFBQSxNQUNBLHNDQUFzQztBQUFBLFFBQ3BDLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxNQUNoQjtBQUFBLE1BQ0EsZ0RBQWdEO0FBQUEsUUFDOUMsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLE1BQ2hCO0FBQUEsTUFDQSxnQ0FBZ0M7QUFBQSxRQUM5QixRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0Esd0NBQXdDO0FBQUEsUUFDdEMsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLE1BQ2hCO0FBQUEsTUFDQSxvQ0FBb0M7QUFBQSxRQUNsQyxRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsTUFDaEI7QUFBQSxNQUNBLHNDQUFzQztBQUFBLFFBQ3BDLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxNQUNoQjtBQUFBLE1BQ0Esd0NBQXdDO0FBQUEsUUFDdEMsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLE1BQ2hCO0FBQUEsTUFDQSw4QkFBOEI7QUFBQSxRQUM1QixRQUFRO0FBQUEsUUFDUixZQUFZLENBQUMsSUFBSTtBQUFBLE1BQ25CO0FBQUEsTUFDQSxtQ0FBbUM7QUFBQSxRQUNqQyxRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0EseUNBQXlDO0FBQUEsUUFDdkMsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLDBDQUEwQztBQUFBLFFBQ3hDLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSxnRUFBZ0U7QUFBQSxRQUM5RCxRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsTUFDaEI7QUFBQSxNQUNBLDZDQUE2QztBQUFBLFFBQzNDLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxNQUNoQjtBQUFBLE1BQ0EscUNBQXFDO0FBQUEsUUFDbkMsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLE1BQ2hCO0FBQUEsTUFDQSxrQ0FBa0M7QUFBQSxRQUNoQyxRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0EsOENBQThDO0FBQUEsUUFDNUMsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLE1BQ2hCO0FBQUEsTUFDQSxpREFBaUQ7QUFBQSxRQUMvQyxRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0Esb0NBQW9DO0FBQUEsUUFDbEMsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLHNDQUFzQztBQUFBLFFBQ3BDLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxNQUNoQjtBQUFBLE1BQ0Esa0NBQWtDO0FBQUEsUUFDaEMsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLHFEQUFxRDtBQUFBLFFBQ25ELFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSxtREFBbUQ7QUFBQSxRQUNqRCxRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsTUFDaEI7QUFBQSxNQUNBLHVDQUF1QztBQUFBLFFBQ3JDLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxNQUNoQjtBQUFBLE1BQ0Esa0NBQWtDO0FBQUEsUUFDaEMsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLDRDQUE0QztBQUFBLFFBQzFDLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxNQUNoQjtBQUFBLE1BQ0EsK0NBQStDO0FBQUEsUUFDN0MsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLE1BQ2hCO0FBQUEsTUFDQSxtQ0FBbUM7QUFBQSxRQUNqQyxRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsTUFDaEI7QUFBQSxNQUNBLDJDQUEyQztBQUFBLFFBQ3pDLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxNQUNoQjtBQUFBLE1BQ0EsMENBQTBDO0FBQUEsUUFDeEMsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLE1BQ2hCO0FBQUEsTUFDQSwyQkFBMkI7QUFBQSxRQUN6QixRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0EsNEJBQTRCO0FBQUEsUUFDMUIsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLCtCQUErQjtBQUFBLFFBQzdCLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxRQUNkLFlBQVksQ0FBQyxLQUFLO0FBQUEsTUFDcEI7QUFBQSxNQUNBLG9DQUFvQztBQUFBLFFBQ2xDLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxNQUNoQjtBQUFBLE1BQ0EsNENBQTRDO0FBQUEsUUFDMUMsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLE1BQ2hCO0FBQUEsTUFDQSxrQ0FBa0M7QUFBQSxRQUNoQyxRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0Esa0NBQWtDO0FBQUEsUUFDaEMsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLE1BQ2hCO0FBQUEsTUFDQSxpQ0FBaUM7QUFBQSxRQUMvQixRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0EsK0JBQStCO0FBQUEsUUFDN0IsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLE1BQ2hCO0FBQUEsTUFDQSx3REFBd0Q7QUFBQSxRQUN0RCxRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsTUFDaEI7QUFBQSxNQUNBLDRDQUE0QztBQUFBLFFBQzFDLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxNQUNoQjtBQUFBLE1BQ0Esc0NBQXNDO0FBQUEsUUFDcEMsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLE1BQ2hCO0FBQUEsTUFDQSxxREFBcUQ7QUFBQSxRQUNuRCxRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsTUFDaEI7QUFBQSxNQUNBLHlEQUF5RDtBQUFBLFFBQ3ZELFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxNQUNoQjtBQUFBLE1BQ0EsNEJBQTRCO0FBQUEsUUFDMUIsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLDBDQUEwQztBQUFBLFFBQ3hDLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxNQUNoQjtBQUFBLE1BQ0EsMENBQTBDO0FBQUEsUUFDeEMsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLE1BQ2hCO0FBQUEsTUFDQSxtQ0FBbUM7QUFBQSxRQUNqQyxRQUFRO0FBQUEsUUFDUixTQUFTO0FBQUEsUUFDVCxjQUFjO0FBQUEsTUFDaEI7QUFBQSxNQUNBLGtDQUFrQztBQUFBLFFBQ2hDLFFBQVE7QUFBQSxRQUNSLFNBQVM7QUFBQSxRQUNULGNBQWM7QUFBQSxNQUNoQjtBQUFBLE1BQ0Esb0NBQW9DO0FBQUEsUUFDbEMsUUFBUTtBQUFBLFFBQ1IsU0FBUztBQUFBLFFBQ1QsY0FBYztBQUFBLE1BQ2hCO0FBQUEsTUFDQSxvQ0FBb0M7QUFBQSxRQUNsQyxRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0EsNEJBQTRCO0FBQUEsUUFDMUIsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLGdDQUFnQztBQUFBLFFBQzlCLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSxnQ0FBZ0M7QUFBQSxRQUM5QixRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0EsK0JBQStCO0FBQUEsUUFDN0IsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLGdDQUFnQztBQUFBLFFBQzlCLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSxnQ0FBZ0M7QUFBQSxRQUM5QixRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0Esa0NBQWtDO0FBQUEsUUFDaEMsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLHFDQUFxQztBQUFBLFFBQ25DLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxRQUNkLFlBQVksQ0FBQyxNQUFNO0FBQUEsTUFDckI7QUFBQSxNQUNBLHdDQUF3QztBQUFBLFFBQ3RDLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSwrQkFBK0I7QUFBQSxRQUM3QixRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0EsMkNBQTJDO0FBQUEsUUFDekMsUUFBUTtBQUFBLFFBQ1IsWUFBWSxDQUFDLEtBQUs7QUFBQSxNQUNwQjtBQUFBLE1BQ0EsMENBQTBDO0FBQUEsUUFDeEMsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLFFBQ2QsWUFBWSxDQUFDLEtBQUs7QUFBQSxNQUNwQjtBQUFBLE1BQ0Esc0NBQXNDO0FBQUEsUUFDcEMsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLHFDQUFxQztBQUFBLFFBQ25DLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxNQUNoQjtBQUFBLE1BQ0EsdUVBQXVFO0FBQUEsUUFDckUsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLE1BQ2hCO0FBQUEsTUFDQSx5RUFBeUU7QUFBQSxRQUN2RSxRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsTUFDaEI7QUFBQSxNQUNBLDZEQUE2RDtBQUFBLFFBQzNELFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxNQUNoQjtBQUFBLE1BQ0EscUVBQXFFO0FBQUEsUUFDbkUsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLE1BQ2hCO0FBQUEsTUFDQSwyRUFBMkU7QUFBQSxRQUN6RSxRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsTUFDaEI7QUFBQSxNQUNBLDZFQUE2RTtBQUFBLFFBQzNFLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxNQUNoQjtBQUFBLE1BQ0EsMkVBQTJFO0FBQUEsUUFDekUsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLE1BQ2hCO0FBQUEsTUFDQSw2RUFBNkU7QUFBQSxRQUMzRSxRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsTUFDaEI7QUFBQSxNQUNBLDRFQUE0RTtBQUFBLFFBQzFFLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxNQUNoQjtBQUFBLE1BQ0EseUVBQXlFO0FBQUEsUUFDdkUsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLE1BQ2hCO0FBQUEsTUFDQSxtRkFBbUY7QUFBQSxRQUNqRixRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsTUFDaEI7QUFBQSxNQUNBLDZFQUE2RTtBQUFBLFFBQzNFLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxNQUNoQjtBQUFBLE1BQ0Esa0ZBQWtGO0FBQUEsUUFDaEYsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLE1BQ2hCO0FBQUEsTUFDQSxnRkFBZ0Y7QUFBQSxRQUM5RSxRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsTUFDaEI7QUFBQSxNQUNBLCtFQUErRTtBQUFBLFFBQzdFLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxNQUNoQjtBQUFBLE1BQ0EsNkVBQTZFO0FBQUEsUUFDM0UsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLFFBQ2QsWUFBWSxDQUFDLE1BQU07QUFBQSxNQUNyQjtBQUFBLE1BQ0Esc0ZBQXNGO0FBQUEsUUFDcEYsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLE1BQ2hCO0FBQUEsTUFDQSw4RUFBOEU7QUFBQSxRQUM1RSxRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsTUFDaEI7QUFBQSxNQUNBLHNFQUFzRTtBQUFBLFFBQ3BFLFFBQVE7QUFBQSxRQUNSLFlBQVksQ0FBQyxNQUFNO0FBQUEsTUFDckI7QUFBQSxNQUNBLDBFQUEwRTtBQUFBLFFBQ3hFLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxNQUNoQjtBQUFBLE1BQ0EsZ0ZBQWdGO0FBQUEsUUFDOUUsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLE1BQ2hCO0FBQUEsTUFDQSxnRkFBZ0Y7QUFBQSxRQUM5RSxRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsTUFDaEI7QUFBQSxNQUNBLDBFQUEwRTtBQUFBLFFBQ3hFLFFBQVE7QUFBQSxRQUNSLFlBQVksQ0FBQyxNQUFNO0FBQUEsTUFDckI7QUFBQSxNQUNBLG1GQUFtRjtBQUFBLFFBQ2pGLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxNQUNoQjtBQUFBLE1BQ0Esb0ZBQW9GO0FBQUEsUUFDbEYsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLE1BQ2hCO0FBQUEsTUFDQSxnRkFBZ0Y7QUFBQSxRQUM5RSxRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsTUFDaEI7QUFBQSxNQUNBLHlFQUF5RTtBQUFBLFFBQ3ZFLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxNQUNoQjtBQUFBLE1BQ0EseUVBQXlFO0FBQUEsUUFDdkUsUUFBUTtBQUFBLFFBQ1IsWUFBWSxDQUFDLE1BQU07QUFBQSxNQUNyQjtBQUFBLE1BQ0Esa0ZBQWtGO0FBQUEsUUFDaEYsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLE1BQ2hCO0FBQUEsTUFDQSw4RUFBOEU7QUFBQSxRQUM1RSxRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsTUFDaEI7QUFBQSxNQUNBLDZFQUE2RTtBQUFBLFFBQzNFLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxNQUNoQjtBQUFBLE1BQ0EsOEVBQThFO0FBQUEsUUFDNUUsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLE1BQ2hCO0FBQUEsTUFDQSw0RUFBNEU7QUFBQSxRQUMxRSxRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsTUFDaEI7QUFBQSxNQUNBLCtFQUErRTtBQUFBLFFBQzdFLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxNQUNoQjtBQUFBLE1BQ0EsK0VBQStFO0FBQUEsUUFDN0UsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLE1BQ2hCO0FBQUEsTUFDQSxnRkFBZ0Y7QUFBQSxRQUM5RSxRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsTUFDaEI7QUFBQSxNQUNBLHdGQUF3RjtBQUFBLFFBQ3RGLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxNQUNoQjtBQUFBLE1BQ0EscUZBQXFGO0FBQUEsUUFDbkYsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLE1BQ2hCO0FBQUEsTUFDQSw4RUFBOEU7QUFBQSxRQUM1RSxRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsTUFDaEI7QUFBQSxNQUNBLDhFQUE4RTtBQUFBLFFBQzVFLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxNQUNoQjtBQUFBLE1BQ0EsbUZBQW1GO0FBQUEsUUFDakYsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLE1BQ2hCO0FBQUEsTUFDQSwrRUFBK0U7QUFBQSxRQUM3RSxRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsTUFDaEI7QUFBQSxNQUNBLGlGQUFpRjtBQUFBLFFBQy9FLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxNQUNoQjtBQUFBLE1BQ0EscUVBQXFFO0FBQUEsUUFDbkUsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLFFBQ2QsWUFBWSxDQUFDLE1BQU07QUFBQSxNQUNyQjtBQUFBLE1BQ0EsOEVBQThFO0FBQUEsUUFDNUUsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLE1BQ2hCO0FBQUEsTUFDQSxpRkFBaUY7QUFBQSxRQUMvRSxRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsTUFDaEI7QUFBQSxNQUNBLDBFQUEwRTtBQUFBLFFBQ3hFLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxNQUNoQjtBQUFBLE1BQ0EseUVBQXlFO0FBQUEsUUFDdkUsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLE1BQ2hCO0FBQUEsTUFDQSxvRkFBb0Y7QUFBQSxRQUNsRixRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsTUFDaEI7QUFBQSxNQUNBLHdFQUF3RTtBQUFBLFFBQ3RFLFFBQVE7QUFBQSxRQUNSLFlBQVksQ0FBQyxNQUFNO0FBQUEsTUFDckI7QUFBQSxNQUNBLGlGQUFpRjtBQUFBLFFBQy9FLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxNQUNoQjtBQUFBLE1BQ0EsNkVBQTZFO0FBQUEsUUFDM0UsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLE1BQ2hCO0FBQUEsTUFDQSx3RkFBd0Y7QUFBQSxRQUN0RixRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsTUFDaEI7QUFBQSxNQUNBLDZFQUE2RTtBQUFBLFFBQzNFLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxNQUNoQjtBQUFBLE1BQ0EsMkRBQTJEO0FBQUEsUUFDekQsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLE1BQ2hCO0FBQUEsTUFDQSxtRUFBbUU7QUFBQSxRQUNqRSxRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsTUFDaEI7QUFBQSxNQUNBLDREQUE0RDtBQUFBLFFBQzFELFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSwrRUFBK0U7QUFBQSxRQUM3RSxRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsTUFDaEI7QUFBQSxNQUNBLDJFQUEyRTtBQUFBLFFBQ3pFLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxRQUNkLFlBQVksQ0FBQyxNQUFNO0FBQUEsTUFDckI7QUFBQSxNQUNBLHdGQUF3RjtBQUFBLFFBQ3RGLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxNQUNoQjtBQUFBLE1BQ0Esb0ZBQW9GO0FBQUEsUUFDbEYsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLE1BQ2hCO0FBQUEsTUFDQSwrRUFBK0U7QUFBQSxRQUM3RSxRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsTUFDaEI7QUFBQSxNQUNBLGdGQUFnRjtBQUFBLFFBQzlFLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxNQUNoQjtBQUFBLE1BQ0EsNkVBQTZFO0FBQUEsUUFDM0UsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLE1BQ2hCO0FBQUEsTUFDQSxnRkFBZ0Y7QUFBQSxRQUM5RSxRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsTUFDaEI7QUFBQSxNQUNBLGdGQUFnRjtBQUFBLFFBQzlFLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxNQUNoQjtBQUFBLE1BQ0EsK0VBQStFO0FBQUEsUUFDN0UsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLE1BQ2hCO0FBQUEsTUFDQSw2RUFBNkU7QUFBQSxRQUMzRSxRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsTUFDaEI7QUFBQSxNQUNBLDJFQUEyRTtBQUFBLFFBQ3pFLFFBQVE7QUFBQSxRQUNSLFlBQVksQ0FBQyxNQUFNO0FBQUEsTUFDckI7QUFBQSxNQUNBLG9GQUFvRjtBQUFBLFFBQ2xGLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxNQUNoQjtBQUFBLE1BQ0Esa0ZBQWtGO0FBQUEsUUFDaEYsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLE1BQ2hCO0FBQUEsTUFDQSw4REFBOEQ7QUFBQSxRQUM1RCxRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsTUFDaEI7QUFBQSxNQUNBLDZFQUE2RTtBQUFBLFFBQzNFLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxNQUNoQjtBQUFBLE1BQ0EsNERBQTREO0FBQUEsUUFDMUQsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLE1BQ2hCO0FBQUEsTUFDQSx3Q0FBd0M7QUFBQSxRQUN0QyxRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsTUFDaEI7QUFBQSxNQUNBLGlDQUFpQztBQUFBLFFBQy9CLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSxpQ0FBaUM7QUFBQSxRQUMvQixRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0EsMENBQTBDO0FBQUEsUUFDeEMsUUFBUTtBQUFBLFFBQ1IsWUFBWSxDQUFDLEtBQUs7QUFBQSxNQUNwQjtBQUFBLE1BQ0EsK0JBQStCO0FBQUEsUUFDN0IsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLDJCQUEyQjtBQUFBLFFBQ3pCLFFBQVE7QUFBQSxRQUNSLFlBQVksQ0FBQyxJQUFJO0FBQUEsTUFDbkI7QUFBQSxNQUNBLGtDQUFrQztBQUFBLFFBQ2hDLFFBQVE7QUFBQSxRQUNSLFlBQVksQ0FBQyxLQUFLO0FBQUEsTUFDcEI7QUFBQSxNQUNBLG1DQUFtQztBQUFBLFFBQ2pDLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxNQUNoQjtBQUFBLE1BQ0EsbUNBQW1DO0FBQUEsUUFDakMsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLGtDQUFrQztBQUFBLFFBQ2hDLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxNQUNoQjtBQUFBLE1BQ0Esd0JBQXdCO0FBQUEsUUFDdEIsUUFBUTtBQUFBLFFBQ1IsWUFBWSxDQUFDLE9BQU8sT0FBTyxNQUFNO0FBQUEsTUFDbkM7QUFBQSxNQUNBLDJCQUEyQjtBQUFBLFFBQ3pCLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSw0QkFBNEI7QUFBQSxRQUMxQixRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0EsOEJBQThCO0FBQUEsUUFDNUIsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLG9DQUFvQztBQUFBLFFBQ2xDLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSw2QkFBNkI7QUFBQSxRQUMzQixRQUFRO0FBQUEsUUFDUixZQUFZLENBQUMsS0FBSztBQUFBLE1BQ3BCO0FBQUEsTUFDQSx3QkFBd0I7QUFBQSxRQUN0QixRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0EsNkJBQTZCO0FBQUEsUUFDM0IsUUFBUTtBQUFBLFFBQ1IsWUFBWSxDQUFDLEtBQUs7QUFBQSxNQUNwQjtBQUFBLE1BQ0EsNkJBQTZCO0FBQUEsUUFDM0IsUUFBUTtBQUFBLFFBQ1IsWUFBWSxDQUFDLEtBQUs7QUFBQSxNQUNwQjtBQUFBLE1BQ0EsZ0RBQWdEO0FBQUEsUUFDOUMsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLDBCQUEwQjtBQUFBLFFBQ3hCLFFBQVE7QUFBQSxRQUNSLFlBQVksQ0FBQyxNQUFNO0FBQUEsTUFDckI7QUFBQSxNQUNBLDhCQUE4QjtBQUFBLFFBQzVCLFFBQVE7QUFBQSxRQUNSLFlBQVksQ0FBQyxJQUFJO0FBQUEsTUFDbkI7QUFBQSxNQUNBLCtDQUErQztBQUFBLFFBQzdDLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxNQUNoQjtBQUFBLE1BQ0EsK0JBQStCO0FBQUEsUUFDN0IsUUFBUTtBQUFBLFFBQ1IsWUFBWSxDQUFDLEtBQUs7QUFBQSxNQUNwQjtBQUFBLE1BQ0EsaUNBQWlDO0FBQUEsUUFDL0IsUUFBUTtBQUFBLFFBQ1IsWUFBWSxDQUFDLEtBQUs7QUFBQSxNQUNwQjtBQUFBLE1BQ0EsbUNBQW1DO0FBQUEsUUFDakMsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLGlDQUFpQztBQUFBLFFBQy9CLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSxtQ0FBbUM7QUFBQSxRQUNqQyxRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0Esa0NBQWtDO0FBQUEsUUFDaEMsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLG9DQUFvQztBQUFBLFFBQ2xDLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSw0QkFBNEI7QUFBQSxRQUMxQixRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0Esc0NBQXNDO0FBQUEsUUFDcEMsUUFBUTtBQUFBLFFBQ1IsWUFBWSxDQUFDLEtBQUs7QUFBQSxNQUNwQjtBQUFBLE1BQ0EscUNBQXFDO0FBQUEsUUFDbkMsWUFBWSxDQUFDLFVBQVU7QUFBQSxNQUN6QjtBQUFBLE1BQ0EsbUNBQW1DO0FBQUEsUUFDakMsWUFBWSxDQUFDLE9BQU87QUFBQSxNQUN0QjtBQUFBLE1BQ0EsbUNBQW1DO0FBQUEsUUFDakMsWUFBWSxDQUFDLEtBQUs7QUFBQSxNQUNwQjtBQUFBLE1BQ0Esb0NBQW9DO0FBQUEsUUFDbEMsUUFBUTtBQUFBLFFBQ1IsWUFBWSxDQUFDLEtBQUs7QUFBQSxNQUNwQjtBQUFBLE1BQ0Esd0JBQXdCO0FBQUEsUUFDdEIsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLGtDQUFrQztBQUFBLFFBQ2hDLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSx5Q0FBeUM7QUFBQSxRQUN2QyxRQUFRO0FBQUEsUUFDUixZQUFZLENBQUMsS0FBSztBQUFBLE1BQ3BCO0FBQUEsTUFDQSw2QkFBNkI7QUFBQSxRQUMzQixRQUFRO0FBQUEsUUFDUixZQUFZLENBQUMsTUFBTTtBQUFBLE1BQ3JCO0FBQUEsTUFDQSxtQ0FBbUM7QUFBQSxRQUNqQyxRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0EsdUNBQXVDO0FBQUEsUUFDckMsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLFFBQ2QsWUFBWSxDQUFDLE1BQU07QUFBQSxNQUNyQjtBQUFBLE1BQ0EseUNBQXlDO0FBQUEsUUFDdkMsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLGtDQUFrQztBQUFBLFFBQ2hDLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSxxQ0FBcUM7QUFBQSxRQUNuQyxRQUFRO0FBQUEsUUFDUixZQUFZLENBQUMsT0FBTyxPQUFPLE9BQU8sT0FBTyxPQUFPLEtBQUs7QUFBQSxNQUN2RDtBQUFBLE1BQ0EseUNBQXlDO0FBQUEsUUFDdkMsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLG9DQUFvQztBQUFBLFFBQ2xDLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxNQUNoQjtBQUFBLE1BQ0Esb0NBQW9DO0FBQUEsUUFDbEMsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLE1BQ2hCO0FBQUEsTUFDQSwwQ0FBMEM7QUFBQSxRQUN4QyxRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsTUFDaEI7QUFBQSxNQUNBLCtDQUErQztBQUFBLFFBQzdDLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxNQUNoQjtBQUFBLE1BQ0EsK0NBQStDO0FBQUEsUUFDN0MsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLE1BQ2hCO0FBQUEsTUFDQSxpREFBaUQ7QUFBQSxRQUMvQyxRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsTUFDaEI7QUFBQSxNQUNBLGlEQUFpRDtBQUFBLFFBQy9DLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxNQUNoQjtBQUFBLE1BQ0EseUNBQXlDO0FBQUEsUUFDdkMsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLE1BQ2hCO0FBQUEsTUFDQSwyQ0FBMkM7QUFBQSxRQUN6QyxRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsTUFDaEI7QUFBQSxNQUNBLGdEQUFnRDtBQUFBLFFBQzlDLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxNQUNoQjtBQUFBLE1BQ0Esc0RBQXNEO0FBQUEsUUFDcEQsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLE1BQ2hCO0FBQUEsTUFDQSx3REFBd0Q7QUFBQSxRQUN0RCxRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsTUFDaEI7QUFBQSxNQUNBLGlEQUFpRDtBQUFBLFFBQy9DLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxNQUNoQjtBQUFBLE1BQ0Esa0RBQWtEO0FBQUEsUUFDaEQsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLE1BQ2hCO0FBQUEsTUFDQSxxREFBcUQ7QUFBQSxRQUNuRCxRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsTUFDaEI7QUFBQSxNQUNBLGlDQUFpQztBQUFBLFFBQy9CLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSx5QkFBeUI7QUFBQSxRQUN2QixRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0EsdUJBQXVCO0FBQUEsUUFDckIsUUFBUTtBQUFBLFFBQ1IsWUFBWSxDQUFDLEtBQUs7QUFBQSxNQUNwQjtBQUFBLE1BQ0EsK0JBQStCO0FBQUEsUUFDN0IsUUFBUTtBQUFBLFFBQ1IsWUFBWSxDQUFDLEtBQUs7QUFBQSxNQUNwQjtBQUFBLE1BQ0Esc0NBQXNDO0FBQUEsUUFDcEMsUUFBUTtBQUFBLFFBQ1IsWUFBWSxDQUFDLEtBQUs7QUFBQSxNQUNwQjtBQUFBLE1BQ0EsMENBQTBDO0FBQUEsUUFDeEMsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLFFBQ2QsWUFBWSxDQUFDLFVBQVU7QUFBQSxNQUN6QjtBQUFBLE1BQ0EsMkJBQTJCO0FBQUEsUUFDekIsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLG9DQUFvQztBQUFBLFFBQ2xDLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSxtQ0FBbUM7QUFBQSxRQUNqQyxRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0EsZ0NBQWdDO0FBQUEsUUFDOUIsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLE1BQ2hCO0FBQUEsTUFDQSxrQ0FBa0M7QUFBQSxRQUNoQyxRQUFRO0FBQUEsUUFDUixZQUFZLENBQUMsWUFBWTtBQUFBLE1BQzNCO0FBQUEsTUFDQSwyQkFBMkI7QUFBQSxRQUN6QixRQUFRO0FBQUEsUUFDUixZQUFZLENBQUMsS0FBSztBQUFBLE1BQ3BCO0FBQUEsTUFDQSxnQ0FBZ0M7QUFBQSxRQUM5QixRQUFRO0FBQUEsUUFDUixZQUFZLENBQUMsSUFBSTtBQUFBLE1BQ25CO0FBQUEsTUFDQSxvQ0FBb0M7QUFBQSxRQUNsQyxRQUFRO0FBQUEsUUFDUixZQUFZLENBQUMsTUFBTTtBQUFBLE1BQ3JCO0FBQUEsTUFDQSxzQ0FBc0M7QUFBQSxRQUNwQyxRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsUUFDZCxZQUFZLENBQUMsUUFBUTtBQUFBLE1BQ3ZCO0FBQUEsTUFDQSwyQkFBMkI7QUFBQSxRQUN6QixRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0EsbUNBQW1DO0FBQUEsUUFDakMsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLHlCQUF5QjtBQUFBLFFBQ3ZCLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSx3Q0FBd0M7QUFBQSxRQUN0QyxRQUFRO0FBQUEsUUFDUixZQUFZLENBQUMsSUFBSTtBQUFBLE1BQ25CO0FBQUEsTUFDQSx1QkFBdUI7QUFBQSxRQUNyQixRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0EsMkJBQTJCO0FBQUEsUUFDekIsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLDRCQUE0QjtBQUFBLFFBQzFCLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSwyQkFBMkI7QUFBQSxRQUN6QixRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0EsOEJBQThCO0FBQUEsUUFDNUIsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLDhCQUE4QjtBQUFBLFFBQzVCLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSw4QkFBOEI7QUFBQSxRQUM1QixRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0EsOEJBQThCO0FBQUEsUUFDNUIsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLDhCQUE4QjtBQUFBLFFBQzVCLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSw4QkFBOEI7QUFBQSxRQUM1QixRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0EsOEJBQThCO0FBQUEsUUFDNUIsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLCtCQUErQjtBQUFBLFFBQzdCLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSw4QkFBOEI7QUFBQSxRQUM1QixRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0EsNkNBQTZDO0FBQUEsUUFDM0MsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLDRDQUE0QztBQUFBLFFBQzFDLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSwyQkFBMkI7QUFBQSxRQUN6QixRQUFRO0FBQUEsUUFDUixZQUFZLENBQUMsS0FBSztBQUFBLE1BQ3BCO0FBQUEsTUFDQSw2QkFBNkI7QUFBQSxRQUMzQixRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsTUFDaEI7QUFBQSxNQUNBLHdCQUF3QjtBQUFBLFFBQ3RCLFFBQVE7QUFBQSxRQUNSLFlBQVksQ0FBQyxNQUFNO0FBQUEsTUFDckI7QUFBQSxNQUNBLHdCQUF3QjtBQUFBLFFBQ3RCLFFBQVE7QUFBQSxRQUNSLFlBQVksQ0FBQyxNQUFNO0FBQUEsTUFDckI7QUFBQSxNQUNBLHdCQUF3QjtBQUFBLFFBQ3RCLFFBQVE7QUFBQSxRQUNSLFlBQVksQ0FBQyxNQUFNO0FBQUEsTUFDckI7QUFBQSxNQUNBLG1DQUFtQztBQUFBLFFBQ2pDLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSwyQ0FBMkM7QUFBQSxRQUN6QyxRQUFRO0FBQUEsUUFDUixZQUFZLENBQUMsS0FBSztBQUFBLE1BQ3BCO0FBQUEsTUFDQSwrQ0FBK0M7QUFBQSxRQUM3QyxRQUFRO0FBQUEsUUFDUixZQUFZLENBQUMsS0FBSztBQUFBLE1BQ3BCO0FBQUEsTUFDQSw4Q0FBOEM7QUFBQSxRQUM1QyxRQUFRO0FBQUEsUUFDUixZQUFZLENBQUMsS0FBSztBQUFBLE1BQ3BCO0FBQUEsTUFDQSwwQ0FBMEM7QUFBQSxRQUN4QyxRQUFRO0FBQUEsUUFDUixZQUFZLENBQUMsS0FBSztBQUFBLE1BQ3BCO0FBQUEsTUFDQSxtQ0FBbUM7QUFBQSxRQUNqQyxRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsTUFDaEI7QUFBQSxNQUNBLGlDQUFpQztBQUFBLFFBQy9CLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxNQUNoQjtBQUFBLE1BQ0EsdUJBQXVCO0FBQUEsUUFDckIsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLHVCQUF1QjtBQUFBLFFBQ3JCLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSxrQ0FBa0M7QUFBQSxRQUNoQyxRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0Esc0NBQXNDO0FBQUEsUUFDcEMsUUFBUTtBQUFBLFFBQ1IsWUFBWSxDQUFDLE9BQU8sTUFBTTtBQUFBLE1BQzVCO0FBQUEsTUFDQSw4QkFBOEI7QUFBQSxRQUM1QixRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsTUFDaEI7QUFBQSxNQUNBLGdDQUFnQztBQUFBLFFBQzlCLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSx3QkFBd0I7QUFBQSxRQUN0QixRQUFRO0FBQUEsUUFDUixZQUFZLENBQUMsS0FBSztBQUFBLE1BQ3BCO0FBQUEsTUFDQSxrQ0FBa0M7QUFBQSxRQUNoQyxRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0EsaUNBQWlDO0FBQUEsUUFDL0IsUUFBUTtBQUFBLFFBQ1IsWUFBWSxDQUFDLFNBQVM7QUFBQSxNQUN4QjtBQUFBLE1BQ0EsMkNBQTJDO0FBQUEsUUFDekMsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLHNDQUFzQztBQUFBLFFBQ3BDLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSwrQ0FBK0M7QUFBQSxRQUM3QyxRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsUUFDZCxZQUFZLENBQUMsSUFBSTtBQUFBLE1BQ25CO0FBQUEsTUFDQSxtREFBbUQ7QUFBQSxRQUNqRCxRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0EsbUNBQW1DO0FBQUEsUUFDakMsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLFFBQ2QsWUFBWSxDQUFDLFFBQVEsTUFBTTtBQUFBLE1BQzdCO0FBQUEsTUFDQSxnQ0FBZ0M7QUFBQSxRQUM5QixRQUFRO0FBQUEsUUFDUixZQUFZLENBQUMsS0FBSztBQUFBLE1BQ3BCO0FBQUEsTUFDQSxnQ0FBZ0M7QUFBQSxRQUM5QixRQUFRO0FBQUEsUUFDUixZQUFZLENBQUMsS0FBSztBQUFBLE1BQ3BCO0FBQUEsTUFDQSwyQkFBMkI7QUFBQSxRQUN6QixRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0EsMkJBQTJCO0FBQUEsUUFDekIsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLDJCQUEyQjtBQUFBLFFBQ3pCLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSwyQkFBMkI7QUFBQSxRQUN6QixRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0EscUNBQXFDO0FBQUEsUUFDbkMsUUFBUTtBQUFBLFFBQ1IsWUFBWSxDQUFDLEtBQUs7QUFBQSxNQUNwQjtBQUFBLE1BQ0EscUNBQXFDO0FBQUEsUUFDbkMsUUFBUTtBQUFBLFFBQ1IsWUFBWSxDQUFDLEtBQUs7QUFBQSxNQUNwQjtBQUFBLE1BQ0Esd0NBQXdDO0FBQUEsUUFDdEMsUUFBUTtBQUFBLFFBQ1IsWUFBWSxDQUFDLEtBQUs7QUFBQSxNQUNwQjtBQUFBLE1BQ0EscUNBQXFDO0FBQUEsUUFDbkMsUUFBUTtBQUFBLFFBQ1IsWUFBWSxDQUFDLEtBQUs7QUFBQSxNQUNwQjtBQUFBLE1BQ0EsdUNBQXVDO0FBQUEsUUFDckMsUUFBUTtBQUFBLFFBQ1IsWUFBWSxDQUFDLE9BQU8sS0FBSztBQUFBLE1BQzNCO0FBQUEsTUFDQSw4Q0FBOEM7QUFBQSxRQUM1QyxRQUFRO0FBQUEsUUFDUixZQUFZLENBQUMsS0FBSztBQUFBLE1BQ3BCO0FBQUEsTUFDQSxxQ0FBcUM7QUFBQSxRQUNuQyxRQUFRO0FBQUEsUUFDUixZQUFZLENBQUMsT0FBTztBQUFBLE1BQ3RCO0FBQUEsTUFDQSx1Q0FBdUM7QUFBQSxRQUNyQyxRQUFRO0FBQUEsUUFDUixZQUFZLENBQUMsSUFBSTtBQUFBLE1BQ25CO0FBQUEsTUFDQSxpQ0FBaUM7QUFBQSxRQUMvQixRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0EsZ0NBQWdDO0FBQUEsUUFDOUIsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLFFBQ2QsWUFBWSxDQUFDLE1BQU07QUFBQSxNQUNyQjtBQUFBLE1BQ0EsZ0NBQWdDO0FBQUEsUUFDOUIsUUFBUTtBQUFBLFFBQ1IsWUFBWSxDQUFDLEtBQUs7QUFBQSxNQUNwQjtBQUFBLE1BQ0EseUNBQXlDO0FBQUEsUUFDdkMsUUFBUTtBQUFBLFFBQ1IsWUFBWSxDQUFDLEtBQUs7QUFBQSxNQUNwQjtBQUFBLE1BQ0EsZ0NBQWdDO0FBQUEsUUFDOUIsUUFBUTtBQUFBLFFBQ1IsWUFBWSxDQUFDLEtBQUs7QUFBQSxNQUNwQjtBQUFBLE1BQ0EseUNBQXlDO0FBQUEsUUFDdkMsUUFBUTtBQUFBLFFBQ1IsWUFBWSxDQUFDLEtBQUs7QUFBQSxNQUNwQjtBQUFBLE1BQ0EsbUNBQW1DO0FBQUEsUUFDakMsUUFBUTtBQUFBLFFBQ1IsWUFBWSxDQUFDLEtBQUs7QUFBQSxNQUNwQjtBQUFBLE1BQ0EsNENBQTRDO0FBQUEsUUFDMUMsUUFBUTtBQUFBLFFBQ1IsWUFBWSxDQUFDLEtBQUs7QUFBQSxNQUNwQjtBQUFBLE1BQ0EsZ0NBQWdDO0FBQUEsUUFDOUIsUUFBUTtBQUFBLFFBQ1IsWUFBWSxDQUFDLEtBQUs7QUFBQSxNQUNwQjtBQUFBLE1BQ0Esa0NBQWtDO0FBQUEsUUFDaEMsUUFBUTtBQUFBLFFBQ1IsWUFBWSxDQUFDLEtBQUs7QUFBQSxNQUNwQjtBQUFBLE1BQ0EseUNBQXlDO0FBQUEsUUFDdkMsUUFBUTtBQUFBLFFBQ1IsWUFBWSxDQUFDLEtBQUs7QUFBQSxNQUNwQjtBQUFBLE1BQ0EsMkNBQTJDO0FBQUEsUUFDekMsUUFBUTtBQUFBLFFBQ1IsWUFBWSxDQUFDLEtBQUs7QUFBQSxNQUNwQjtBQUFBLE1BQ0EsZ0NBQWdDO0FBQUEsUUFDOUIsUUFBUTtBQUFBLFFBQ1IsWUFBWSxDQUFDLE9BQU8sTUFBTTtBQUFBLE1BQzVCO0FBQUEsTUFDQSx1QkFBdUI7QUFBQSxRQUNyQixRQUFRO0FBQUEsUUFDUixZQUFZLENBQUMsS0FBSztBQUFBLE1BQ3BCO0FBQUEsTUFDQSxpQ0FBaUM7QUFBQSxRQUMvQixRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0EsOEJBQThCO0FBQUEsUUFDNUIsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLDZCQUE2QjtBQUFBLFFBQzNCLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxNQUNoQjtBQUFBLE1BQ0EsNkJBQTZCO0FBQUEsUUFDM0IsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLE1BQ2hCO0FBQUEsTUFDQSxtQ0FBbUM7QUFBQSxRQUNqQyxRQUFRO0FBQUEsUUFDUixZQUFZLENBQUMsT0FBTyxNQUFNO0FBQUEsTUFDNUI7QUFBQSxNQUNBLDhCQUE4QjtBQUFBLFFBQzVCLFFBQVE7QUFBQSxRQUNSLFNBQVM7QUFBQSxRQUNULGNBQWM7QUFBQSxRQUNkLFlBQVksQ0FBQyxLQUFLO0FBQUEsTUFDcEI7QUFBQSxNQUNBLG1DQUFtQztBQUFBLFFBQ2pDLFFBQVE7QUFBQSxRQUNSLFNBQVM7QUFBQSxRQUNULFlBQVksQ0FBQyxLQUFLO0FBQUEsTUFDcEI7QUFBQSxNQUNBLGlDQUFpQztBQUFBLFFBQy9CLFFBQVE7QUFBQSxRQUNSLFNBQVM7QUFBQSxRQUNULGNBQWM7QUFBQSxRQUNkLFlBQVksQ0FBQyxLQUFLO0FBQUEsTUFDcEI7QUFBQSxNQUNBLDBDQUEwQztBQUFBLFFBQ3hDLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSxzQ0FBc0M7QUFBQSxRQUNwQyxRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0Esb0NBQW9DO0FBQUEsUUFDbEMsUUFBUTtBQUFBLFFBQ1IsU0FBUztBQUFBLFFBQ1QsY0FBYztBQUFBLFFBQ2QsWUFBWSxDQUFDLEtBQUs7QUFBQSxNQUNwQjtBQUFBLE1BQ0EsdUNBQXVDO0FBQUEsUUFDckMsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLHFDQUFxQztBQUFBLFFBQ25DLFFBQVE7QUFBQSxRQUNSLFNBQVM7QUFBQSxRQUNULGNBQWM7QUFBQSxNQUNoQjtBQUFBLE1BQ0EsMENBQTBDO0FBQUEsUUFDeEMsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLG9DQUFvQztBQUFBLFFBQ2xDLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxNQUNoQjtBQUFBLE1BQ0EsNkNBQTZDO0FBQUEsUUFDM0MsUUFBUTtBQUFBLFFBQ1IsWUFBWSxDQUFDLEtBQUs7QUFBQSxNQUNwQjtBQUFBLE1BQ0EsZ0NBQWdDO0FBQUEsUUFDOUIsUUFBUTtBQUFBLFFBQ1IsWUFBWSxDQUFDLFFBQVEsT0FBTyxLQUFLO0FBQUEsTUFDbkM7QUFBQSxNQUNBLHlDQUF5QztBQUFBLFFBQ3ZDLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxNQUNoQjtBQUFBLE1BQ0EseUNBQXlDO0FBQUEsUUFDdkMsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLE1BQ2hCO0FBQUEsTUFDQSx1QkFBdUI7QUFBQSxRQUNyQixRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0Esa0NBQWtDO0FBQUEsUUFDaEMsUUFBUTtBQUFBLFFBQ1IsWUFBWSxDQUFDLEtBQUs7QUFBQSxNQUNwQjtBQUFBLE1BQ0EsaUNBQWlDO0FBQUEsUUFDL0IsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLDRCQUE0QjtBQUFBLFFBQzFCLFFBQVE7QUFBQSxRQUNSLFlBQVksQ0FBQyxLQUFLO0FBQUEsTUFDcEI7QUFBQSxNQUNBLGdDQUFnQztBQUFBLFFBQzlCLFFBQVE7QUFBQSxRQUNSLFlBQVksQ0FBQyxLQUFLO0FBQUEsTUFDcEI7QUFBQSxNQUNBLDJCQUEyQjtBQUFBLFFBQ3pCLFFBQVE7QUFBQSxRQUNSLFlBQVksQ0FBQyxLQUFLO0FBQUEsTUFDcEI7QUFBQSxNQUNBLDJCQUEyQjtBQUFBLFFBQ3pCLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSxxQ0FBcUM7QUFBQSxRQUNuQyxRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0Esd0JBQXdCO0FBQUEsUUFDdEIsUUFBUTtBQUFBLFFBQ1IsWUFBWSxDQUFDLE9BQU8sTUFBTTtBQUFBLE1BQzVCO0FBQUEsTUFDQSxpQ0FBaUM7QUFBQSxRQUMvQixRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsTUFDaEI7QUFBQSxNQUNBLDZCQUE2QjtBQUFBLFFBQzNCLFFBQVE7QUFBQSxRQUNSLFlBQVksQ0FBQyxLQUFLO0FBQUEsTUFDcEI7QUFBQSxNQUNBLDBCQUEwQjtBQUFBLFFBQ3hCLFFBQVE7QUFBQSxRQUNSLFlBQVksQ0FBQyxLQUFLO0FBQUEsTUFDcEI7QUFBQSxNQUNBLHlCQUF5QjtBQUFBLFFBQ3ZCLFFBQVE7QUFBQSxRQUNSLFlBQVksQ0FBQyxVQUFVO0FBQUEsTUFDekI7QUFBQSxNQUNBLDRCQUE0QjtBQUFBLFFBQzFCLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxRQUNkLFlBQVksQ0FBQyxRQUFRLElBQUk7QUFBQSxNQUMzQjtBQUFBLE1BQ0EsaUNBQWlDO0FBQUEsUUFDL0IsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLHVDQUF1QztBQUFBLFFBQ3JDLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSx5Q0FBeUM7QUFBQSxRQUN2QyxRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0EsK0NBQStDO0FBQUEsUUFDN0MsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLG1DQUFtQztBQUFBLFFBQ2pDLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSx5Q0FBeUM7QUFBQSxRQUN2QyxRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0EsbUNBQW1DO0FBQUEsUUFDakMsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLHlDQUF5QztBQUFBLFFBQ3ZDLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSxnQ0FBZ0M7QUFBQSxRQUM5QixRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0Esc0NBQXNDO0FBQUEsUUFDcEMsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLG1DQUFtQztBQUFBLFFBQ2pDLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSx5Q0FBeUM7QUFBQSxRQUN2QyxRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0Esa0NBQWtDO0FBQUEsUUFDaEMsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLDJCQUEyQjtBQUFBLFFBQ3pCLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSx5Q0FBeUM7QUFBQSxRQUN2QyxRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0EsdUJBQXVCO0FBQUEsUUFDckIsUUFBUTtBQUFBLFFBQ1IsWUFBWSxDQUFDLEtBQUs7QUFBQSxNQUNwQjtBQUFBLE1BQ0EsNEJBQTRCO0FBQUEsUUFDMUIsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLCtCQUErQjtBQUFBLFFBQzdCLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSw0QkFBNEI7QUFBQSxRQUMxQixRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsTUFDaEI7QUFBQSxNQUNBLDRDQUE0QztBQUFBLFFBQzFDLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSw0Q0FBNEM7QUFBQSxRQUMxQyxRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsTUFDaEI7QUFBQSxNQUNBLG1DQUFtQztBQUFBLFFBQ2pDLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSxzQ0FBc0M7QUFBQSxRQUNwQyxRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsTUFDaEI7QUFBQSxNQUNBLGdDQUFnQztBQUFBLFFBQzlCLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSxpQ0FBaUM7QUFBQSxRQUMvQixRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0EseUNBQXlDO0FBQUEsUUFDdkMsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLHlCQUF5QjtBQUFBLFFBQ3ZCLFFBQVE7QUFBQSxRQUNSLFlBQVksQ0FBQyxPQUFPLE9BQU8sT0FBTyxPQUFPLFFBQVEsS0FBSztBQUFBLE1BQ3hEO0FBQUEsTUFDQSw2QkFBNkI7QUFBQSxRQUMzQixRQUFRO0FBQUEsUUFDUixZQUFZLENBQUMsS0FBSztBQUFBLE1BQ3BCO0FBQUEsTUFDQSx3Q0FBd0M7QUFBQSxRQUN0QyxRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0Esb0NBQW9DO0FBQUEsUUFDbEMsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLHVCQUF1QjtBQUFBLFFBQ3JCLFFBQVE7QUFBQSxRQUNSLFlBQVksQ0FBQyxLQUFLO0FBQUEsTUFDcEI7QUFBQSxNQUNBLDJCQUEyQjtBQUFBLFFBQ3pCLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSwyQkFBMkI7QUFBQSxRQUN6QixRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0EsNkJBQTZCO0FBQUEsUUFDM0IsUUFBUTtBQUFBLFFBQ1IsU0FBUztBQUFBLFFBQ1QsWUFBWSxDQUFDLE9BQU87QUFBQSxNQUN0QjtBQUFBLE1BQ0EsNEJBQTRCO0FBQUEsUUFDMUIsUUFBUTtBQUFBLFFBQ1IsWUFBWSxDQUFDLE1BQU07QUFBQSxNQUNyQjtBQUFBLE1BQ0Esa0NBQWtDO0FBQUEsUUFDaEMsUUFBUTtBQUFBLFFBQ1IsWUFBWSxDQUFDLE9BQU87QUFBQSxNQUN0QjtBQUFBLE1BQ0EsaUNBQWlDO0FBQUEsUUFDL0IsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLDRCQUE0QjtBQUFBLFFBQzFCLFFBQVE7QUFBQSxRQUNSLFlBQVksQ0FBQyxLQUFLO0FBQUEsTUFDcEI7QUFBQSxNQUNBLDJCQUEyQjtBQUFBLFFBQ3pCLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSwyQkFBMkI7QUFBQSxRQUN6QixRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0EsMkJBQTJCO0FBQUEsUUFDekIsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLHlDQUF5QztBQUFBLFFBQ3ZDLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSx1QkFBdUI7QUFBQSxRQUNyQixRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0EsaUNBQWlDO0FBQUEsUUFDL0IsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLHVDQUF1QztBQUFBLFFBQ3JDLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSwrQ0FBK0M7QUFBQSxRQUM3QyxRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0Esa0NBQWtDO0FBQUEsUUFDaEMsUUFBUTtBQUFBLFFBQ1IsWUFBWSxDQUFDLEtBQUs7QUFBQSxNQUNwQjtBQUFBLE1BQ0EsNEJBQTRCO0FBQUEsUUFDMUIsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLCtCQUErQjtBQUFBLFFBQzdCLFFBQVE7QUFBQSxRQUNSLFlBQVksQ0FBQyxLQUFLO0FBQUEsTUFDcEI7QUFBQSxNQUNBLHVCQUF1QjtBQUFBLFFBQ3JCLFFBQVE7QUFBQSxRQUNSLFlBQVksQ0FBQyxLQUFLO0FBQUEsTUFDcEI7QUFBQSxNQUNBLHVDQUF1QztBQUFBLFFBQ3JDLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSwwQkFBMEI7QUFBQSxRQUN4QixRQUFRO0FBQUEsUUFDUixZQUFZLENBQUMsS0FBSztBQUFBLE1BQ3BCO0FBQUEsTUFDQSxnQ0FBZ0M7QUFBQSxRQUM5QixRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0EsOEJBQThCO0FBQUEsUUFDNUIsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLE1BQ2hCO0FBQUEsTUFDQSw4QkFBOEI7QUFBQSxRQUM1QixRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsTUFDaEI7QUFBQSxNQUNBLDhCQUE4QjtBQUFBLFFBQzVCLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxNQUNoQjtBQUFBLE1BQ0Esd0JBQXdCO0FBQUEsUUFDdEIsUUFBUTtBQUFBLFFBQ1IsWUFBWSxDQUFDLEtBQUs7QUFBQSxNQUNwQjtBQUFBLE1BQ0EsNkJBQTZCO0FBQUEsUUFDM0IsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLHFDQUFxQztBQUFBLFFBQ25DLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSx3QkFBd0I7QUFBQSxRQUN0QixRQUFRO0FBQUEsUUFDUixZQUFZLENBQUMsTUFBTTtBQUFBLE1BQ3JCO0FBQUEsTUFDQSxnQ0FBZ0M7QUFBQSxRQUM5QixRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0EsMkJBQTJCO0FBQUEsUUFDekIsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLE1BQ2hCO0FBQUEsTUFDQSw4QkFBOEI7QUFBQSxRQUM1QixRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0EsOEJBQThCO0FBQUEsUUFDNUIsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLDhCQUE4QjtBQUFBLFFBQzVCLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSw4QkFBOEI7QUFBQSxRQUM1QixRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0EsOEJBQThCO0FBQUEsUUFDNUIsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLGlDQUFpQztBQUFBLFFBQy9CLFFBQVE7QUFBQSxRQUNSLFlBQVksQ0FBQyxLQUFLO0FBQUEsTUFDcEI7QUFBQSxNQUNBLG9DQUFvQztBQUFBLFFBQ2xDLFFBQVE7QUFBQSxRQUNSLFlBQVksQ0FBQyxLQUFLO0FBQUEsTUFDcEI7QUFBQSxNQUNBLG1DQUFtQztBQUFBLFFBQ2pDLFFBQVE7QUFBQSxRQUNSLFlBQVksQ0FBQyxLQUFLO0FBQUEsTUFDcEI7QUFBQSxNQUNBLDBDQUEwQztBQUFBLFFBQ3hDLFFBQVE7QUFBQSxRQUNSLFlBQVksQ0FBQyxLQUFLO0FBQUEsTUFDcEI7QUFBQSxNQUNBLHFEQUFxRDtBQUFBLFFBQ25ELFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxRQUNkLFlBQVksQ0FBQyxRQUFRO0FBQUEsTUFDdkI7QUFBQSxNQUNBLHVDQUF1QztBQUFBLFFBQ3JDLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSxxQ0FBcUM7QUFBQSxRQUNuQyxRQUFRO0FBQUEsUUFDUixZQUFZLENBQUMsS0FBSztBQUFBLE1BQ3BCO0FBQUEsTUFDQSxzQ0FBc0M7QUFBQSxRQUNwQyxRQUFRO0FBQUEsUUFDUixZQUFZLENBQUMsS0FBSztBQUFBLE1BQ3BCO0FBQUEsTUFDQSxzQ0FBc0M7QUFBQSxRQUNwQyxRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0EsMENBQTBDO0FBQUEsUUFDeEMsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLDJCQUEyQjtBQUFBLFFBQ3pCLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSwyQ0FBMkM7QUFBQSxRQUN6QyxRQUFRO0FBQUEsUUFDUixZQUFZLENBQUMsS0FBSztBQUFBLE1BQ3BCO0FBQUEsTUFDQSx1QkFBdUI7QUFBQSxRQUNyQixRQUFRO0FBQUEsUUFDUixZQUFZLENBQUMsT0FBTyxNQUFNO0FBQUEsTUFDNUI7QUFBQSxNQUNBLGtDQUFrQztBQUFBLFFBQ2hDLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxRQUNkLFlBQVksQ0FBQyxLQUFLO0FBQUEsTUFDcEI7QUFBQSxNQUNBLDRCQUE0QjtBQUFBLFFBQzFCLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxRQUNkLFlBQVksQ0FBQyxNQUFNO0FBQUEsTUFDckI7QUFBQSxNQUNBLGdDQUFnQztBQUFBLFFBQzlCLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxNQUNoQjtBQUFBLE1BQ0EsZ0NBQWdDO0FBQUEsUUFDOUIsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLE1BQ2hCO0FBQUEsTUFDQSxrQkFBa0I7QUFBQSxRQUNoQixRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0EsdUJBQXVCO0FBQUEsUUFDckIsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLHNCQUFzQjtBQUFBLFFBQ3BCLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSx5QkFBeUI7QUFBQSxRQUN2QixRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0Esb0JBQW9CO0FBQUEsUUFDbEIsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLFFBQ2QsWUFBWSxDQUFDLE1BQU07QUFBQSxNQUNyQjtBQUFBLE1BQ0EsK0JBQStCO0FBQUEsUUFDN0IsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLFFBQ2QsWUFBWSxDQUFDLEtBQUs7QUFBQSxNQUNwQjtBQUFBLE1BQ0Esb0NBQW9DO0FBQUEsUUFDbEMsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLE1BQ2hCO0FBQUEsTUFDQSw2QkFBNkI7QUFBQSxRQUMzQixRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0EsZ0NBQWdDO0FBQUEsUUFDOUIsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLHNCQUFzQjtBQUFBLFFBQ3BCLFFBQVE7QUFBQSxRQUNSLFlBQVksQ0FBQyxLQUFLO0FBQUEsTUFDcEI7QUFBQSxNQUNBLHNCQUFzQjtBQUFBLFFBQ3BCLFFBQVE7QUFBQSxRQUNSLFlBQVksQ0FBQyxLQUFLO0FBQUEsTUFDcEI7QUFBQSxNQUNBLG9CQUFvQjtBQUFBLFFBQ2xCLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSw4QkFBOEI7QUFBQSxRQUM1QixRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0Esd0JBQXdCO0FBQUEsUUFDdEIsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLFFBQ2QsWUFBWSxDQUFDLE1BQU07QUFBQSxNQUNyQjtBQUFBLE1BQ0EsNEJBQTRCO0FBQUEsUUFDMUIsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLFFBQ2QsWUFBWSxDQUFDLFVBQVU7QUFBQSxNQUN6QjtBQUFBLE1BQ0EsK0JBQStCO0FBQUEsUUFDN0IsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLFFBQ2QsWUFBWSxDQUFDLElBQUk7QUFBQSxNQUNuQjtBQUFBLE1BQ0EseUJBQXlCO0FBQUEsUUFDdkIsUUFBUTtBQUFBLFFBQ1IsWUFBWSxDQUFDLEtBQUs7QUFBQSxNQUNwQjtBQUFBLE1BQ0EsZ0NBQWdDO0FBQUEsUUFDOUIsUUFBUTtBQUFBLFFBQ1IsWUFBWSxDQUFDLEtBQUs7QUFBQSxNQUNwQjtBQUFBLE1BQ0EscUJBQXFCO0FBQUEsUUFDbkIsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLGlDQUFpQztBQUFBLFFBQy9CLFFBQVE7QUFBQSxRQUNSLFlBQVksQ0FBQyxLQUFLO0FBQUEsTUFDcEI7QUFBQSxNQUNBLHFCQUFxQjtBQUFBLFFBQ25CLGNBQWM7QUFBQSxRQUNkLFlBQVksQ0FBQyxLQUFLO0FBQUEsTUFDcEI7QUFBQSxNQUNBLGdDQUFnQztBQUFBLFFBQzlCLFFBQVE7QUFBQSxRQUNSLFlBQVksQ0FBQyxPQUFPLE9BQU8sT0FBTyxLQUFLO0FBQUEsTUFDekM7QUFBQSxNQUNBLGdDQUFnQztBQUFBLFFBQzlCLFFBQVE7QUFBQSxRQUNSLFlBQVksQ0FBQyxLQUFLO0FBQUEsTUFDcEI7QUFBQSxNQUNBLGdDQUFnQztBQUFBLFFBQzlCLFFBQVE7QUFBQSxRQUNSLFlBQVksQ0FBQyxLQUFLO0FBQUEsTUFDcEI7QUFBQSxNQUNBLHVCQUF1QjtBQUFBLFFBQ3JCLFFBQVE7QUFBQSxRQUNSLFlBQVksQ0FBQyxPQUFPO0FBQUEsTUFDdEI7QUFBQSxNQUNBLHNCQUFzQjtBQUFBLFFBQ3BCLGNBQWM7QUFBQSxRQUNkLFlBQVksQ0FBQyxNQUFNO0FBQUEsTUFDckI7QUFBQSxNQUNBLDRCQUE0QjtBQUFBLFFBQzFCLFFBQVE7QUFBQSxRQUNSLFlBQVksQ0FBQyxTQUFTO0FBQUEsTUFDeEI7QUFBQSxNQUNBLHlCQUF5QjtBQUFBLFFBQ3ZCLFlBQVksQ0FBQyxPQUFPO0FBQUEsTUFDdEI7QUFBQSxNQUNBLHVCQUF1QjtBQUFBLFFBQ3JCLFFBQVE7QUFBQSxRQUNSLFlBQVksQ0FBQyxPQUFPLE9BQU87QUFBQSxNQUM3QjtBQUFBLE1BQ0Esc0JBQXNCO0FBQUEsUUFDcEIsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLFFBQ2QsWUFBWSxDQUFDLElBQUk7QUFBQSxNQUNuQjtBQUFBLE1BQ0EsdUJBQXVCO0FBQUEsUUFDckIsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLFFBQ2QsWUFBWSxDQUFDLE9BQU8sS0FBSztBQUFBLE1BQzNCO0FBQUEsTUFDQSxxQkFBcUI7QUFBQSxRQUNuQixRQUFRO0FBQUEsUUFDUixZQUFZLENBQUMsT0FBTyxPQUFPLE9BQU8sT0FBTyxLQUFLO0FBQUEsTUFDaEQ7QUFBQSxNQUNBLHdCQUF3QjtBQUFBLFFBQ3RCLFFBQVE7QUFBQSxRQUNSLFlBQVksQ0FBQyxLQUFLO0FBQUEsTUFDcEI7QUFBQSxNQUNBLGdDQUFnQztBQUFBLFFBQzlCLFFBQVE7QUFBQSxRQUNSLFlBQVksQ0FBQyxLQUFLO0FBQUEsTUFDcEI7QUFBQSxNQUNBLHNCQUFzQjtBQUFBLFFBQ3BCLFFBQVE7QUFBQSxRQUNSLFlBQVksQ0FBQyxNQUFNO0FBQUEsTUFDckI7QUFBQSxNQUNBLDJCQUEyQjtBQUFBLFFBQ3pCLFFBQVE7QUFBQSxRQUNSLFlBQVksQ0FBQyxLQUFLO0FBQUEsTUFDcEI7QUFBQSxNQUNBLGtDQUFrQztBQUFBLFFBQ2hDLFlBQVksQ0FBQyxLQUFLO0FBQUEsTUFDcEI7QUFBQSxNQUNBLHVCQUF1QjtBQUFBLFFBQ3JCLFFBQVE7QUFBQSxRQUNSLFlBQVksQ0FBQyxLQUFLO0FBQUEsTUFDcEI7QUFBQSxNQUNBLDBCQUEwQjtBQUFBLFFBQ3hCLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSw0QkFBNEI7QUFBQSxRQUMxQixZQUFZLENBQUMsS0FBSztBQUFBLE1BQ3BCO0FBQUEsTUFDQSw0QkFBNEI7QUFBQSxRQUMxQixRQUFRO0FBQUEsUUFDUixZQUFZLENBQUMsS0FBSztBQUFBLE1BQ3BCO0FBQUEsTUFDQSxzQkFBc0I7QUFBQSxRQUNwQixRQUFRO0FBQUEsUUFDUixZQUFZLENBQUMsTUFBTTtBQUFBLE1BQ3JCO0FBQUEsTUFDQSxxQkFBcUI7QUFBQSxRQUNuQixRQUFRO0FBQUEsUUFDUixZQUFZLENBQUMsS0FBSztBQUFBLE1BQ3BCO0FBQUEsTUFDQSxxQkFBcUI7QUFBQSxRQUNuQixjQUFjO0FBQUEsTUFDaEI7QUFBQSxNQUNBLGdDQUFnQztBQUFBLFFBQzlCLFFBQVE7QUFBQSxRQUNSLFlBQVksQ0FBQyxPQUFPLE1BQU07QUFBQSxNQUM1QjtBQUFBLE1BQ0EsZ0NBQWdDO0FBQUEsUUFDOUIsUUFBUTtBQUFBLFFBQ1IsWUFBWSxDQUFDLEtBQUs7QUFBQSxNQUNwQjtBQUFBLE1BQ0EsMEJBQTBCO0FBQUEsUUFDeEIsUUFBUTtBQUFBLFFBQ1IsWUFBWSxDQUFDLE9BQU8sT0FBTyxPQUFPLE9BQU8sT0FBTyxPQUFPLE9BQU8sT0FBTyxLQUFLO0FBQUEsTUFDNUU7QUFBQSxNQUNBLHNCQUFzQjtBQUFBLFFBQ3BCLFFBQVE7QUFBQSxRQUNSLFlBQVksQ0FBQyxLQUFLO0FBQUEsTUFDcEI7QUFBQSxNQUNBLDRCQUE0QjtBQUFBLFFBQzFCLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxRQUNkLFlBQVksQ0FBQyxLQUFLO0FBQUEsTUFDcEI7QUFBQSxNQUNBLDRCQUE0QjtBQUFBLFFBQzFCLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxRQUNkLFlBQVksQ0FBQyxLQUFLO0FBQUEsTUFDcEI7QUFBQSxNQUNBLGlDQUFpQztBQUFBLFFBQy9CLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxRQUNkLFlBQVksQ0FBQyxLQUFLO0FBQUEsTUFDcEI7QUFBQSxNQUNBLHFCQUFxQjtBQUFBLFFBQ25CLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxRQUNkLFlBQVksQ0FBQyxLQUFLO0FBQUEsTUFDcEI7QUFBQSxNQUNBLHVCQUF1QjtBQUFBLFFBQ3JCLFFBQVE7QUFBQSxRQUNSLFlBQVksQ0FBQyxLQUFLO0FBQUEsTUFDcEI7QUFBQSxNQUNBLHFCQUFxQjtBQUFBLFFBQ25CLFFBQVE7QUFBQSxRQUNSLFlBQVksQ0FBQyxLQUFLO0FBQUEsTUFDcEI7QUFBQSxNQUNBLDBCQUEwQjtBQUFBLFFBQ3hCLFFBQVE7QUFBQSxRQUNSLFlBQVksQ0FBQyxLQUFLO0FBQUEsTUFDcEI7QUFBQSxNQUNBLDBCQUEwQjtBQUFBLFFBQ3hCLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSxpQ0FBaUM7QUFBQSxRQUMvQixRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0Esa0NBQWtDO0FBQUEsUUFDaEMsUUFBUTtBQUFBLFFBQ1IsWUFBWSxDQUFDLEtBQUs7QUFBQSxNQUNwQjtBQUFBLE1BQ0EsNkJBQTZCO0FBQUEsUUFDM0IsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLGdDQUFnQztBQUFBLFFBQzlCLFFBQVE7QUFBQSxRQUNSLFlBQVksQ0FBQyxLQUFLO0FBQUEsTUFDcEI7QUFBQSxNQUNBLDBCQUEwQjtBQUFBLFFBQ3hCLFFBQVE7QUFBQSxRQUNSLFlBQVksQ0FBQyxLQUFLO0FBQUEsTUFDcEI7QUFBQSxNQUNBLDBCQUEwQjtBQUFBLFFBQ3hCLFFBQVE7QUFBQSxRQUNSLFlBQVksQ0FBQyxLQUFLO0FBQUEsTUFDcEI7QUFBQSxNQUNBLDZCQUE2QjtBQUFBLFFBQzNCLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSxpQ0FBaUM7QUFBQSxRQUMvQixRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0EsNEJBQTRCO0FBQUEsUUFDMUIsUUFBUTtBQUFBLFFBQ1IsWUFBWSxDQUFDLE9BQU8sT0FBTyxPQUFPLEtBQUs7QUFBQSxNQUN6QztBQUFBLE1BQ0EsNEJBQTRCO0FBQUEsUUFDMUIsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLHlCQUF5QjtBQUFBLFFBQ3ZCLFFBQVE7QUFBQSxRQUNSLFlBQVksQ0FBQyxLQUFLO0FBQUEsTUFDcEI7QUFBQSxNQUNBLDhCQUE4QjtBQUFBLFFBQzVCLFFBQVE7QUFBQSxRQUNSLFlBQVksQ0FBQyxLQUFLO0FBQUEsTUFDcEI7QUFBQSxNQUNBLGdDQUFnQztBQUFBLFFBQzlCLFFBQVE7QUFBQSxRQUNSLFlBQVksQ0FBQyxLQUFLO0FBQUEsTUFDcEI7QUFBQSxNQUNBLHVCQUF1QjtBQUFBLFFBQ3JCLFFBQVE7QUFBQSxRQUNSLFlBQVksQ0FBQyxLQUFLO0FBQUEsTUFDcEI7QUFBQSxNQUNBLDBCQUEwQjtBQUFBLFFBQ3hCLFFBQVE7QUFBQSxRQUNSLFlBQVksQ0FBQyxVQUFVO0FBQUEsTUFDekI7QUFBQSxNQUNBLDRCQUE0QjtBQUFBLFFBQzFCLFFBQVE7QUFBQSxRQUNSLFlBQVksQ0FBQyxRQUFRO0FBQUEsTUFDdkI7QUFBQSxNQUNBLHNCQUFzQjtBQUFBLFFBQ3BCLFFBQVE7QUFBQSxRQUNSLFlBQVksQ0FBQyxNQUFNO0FBQUEsTUFDckI7QUFBQSxNQUNBLHNCQUFzQjtBQUFBLFFBQ3BCLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSxxQkFBcUI7QUFBQSxRQUNuQixRQUFRO0FBQUEsUUFDUixZQUFZLENBQUMsS0FBSztBQUFBLE1BQ3BCO0FBQUEsTUFDQSwyQkFBMkI7QUFBQSxRQUN6QixjQUFjO0FBQUEsUUFDZCxZQUFZLENBQUMsS0FBSztBQUFBLE1BQ3BCO0FBQUEsTUFDQSxzQ0FBc0M7QUFBQSxRQUNwQyxRQUFRO0FBQUEsUUFDUixZQUFZLENBQUMsU0FBUztBQUFBLE1BQ3hCO0FBQUEsTUFDQSw0QkFBNEI7QUFBQSxRQUMxQixjQUFjO0FBQUEsUUFDZCxZQUFZLENBQUMsT0FBTztBQUFBLE1BQ3RCO0FBQUEsTUFDQSwrQkFBK0I7QUFBQSxRQUM3QixRQUFRO0FBQUEsUUFDUixZQUFZLENBQUMsS0FBSztBQUFBLE1BQ3BCO0FBQUEsTUFDQSxzQ0FBc0M7QUFBQSxRQUNwQyxZQUFZLENBQUMsS0FBSztBQUFBLE1BQ3BCO0FBQUEsTUFDQSwwQ0FBMEM7QUFBQSxRQUN4QyxZQUFZLENBQUMsU0FBUztBQUFBLE1BQ3hCO0FBQUEsTUFDQSxzQ0FBc0M7QUFBQSxRQUNwQyxZQUFZLENBQUMsT0FBTztBQUFBLE1BQ3RCO0FBQUEsTUFDQSxtQ0FBbUM7QUFBQSxRQUNqQyxRQUFRO0FBQUEsUUFDUixZQUFZLENBQUMsU0FBUztBQUFBLE1BQ3hCO0FBQUEsTUFDQSxnQ0FBZ0M7QUFBQSxRQUM5QixRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsUUFDZCxZQUFZLENBQUMsTUFBTTtBQUFBLE1BQ3JCO0FBQUEsTUFDQSw0QkFBNEI7QUFBQSxRQUMxQixjQUFjO0FBQUEsTUFDaEI7QUFBQSxNQUNBLDBCQUEwQjtBQUFBLFFBQ3hCLFlBQVksQ0FBQyxNQUFNO0FBQUEsTUFDckI7QUFBQSxNQUNBLHVCQUF1QjtBQUFBLFFBQ3JCLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxRQUNkLFlBQVksQ0FBQyxPQUFPO0FBQUEsTUFDdEI7QUFBQSxNQUNBLDhCQUE4QjtBQUFBLFFBQzVCLFlBQVksQ0FBQyxNQUFNO0FBQUEsTUFDckI7QUFBQSxNQUNBLGdDQUFnQztBQUFBLFFBQzlCLFFBQVE7QUFBQSxRQUNSLFlBQVksQ0FBQyxPQUFPLEtBQUs7QUFBQSxNQUMzQjtBQUFBLE1BQ0EsMEJBQTBCO0FBQUEsUUFDeEIsUUFBUTtBQUFBLFFBQ1IsWUFBWSxDQUFDLEtBQUs7QUFBQSxNQUNwQjtBQUFBLE1BQ0EscUJBQXFCO0FBQUEsUUFDbkIsUUFBUTtBQUFBLFFBQ1IsWUFBWSxDQUFDLEtBQUs7QUFBQSxNQUNwQjtBQUFBLE1BQ0Esa0NBQWtDO0FBQUEsUUFDaEMsUUFBUTtBQUFBLFFBQ1IsWUFBWSxDQUFDLE9BQU8sTUFBTTtBQUFBLE1BQzVCO0FBQUEsTUFDQSx5QkFBeUI7QUFBQSxRQUN2QixjQUFjO0FBQUEsTUFDaEI7QUFBQSxNQUNBLGdDQUFnQztBQUFBLFFBQzlCLFFBQVE7QUFBQSxRQUNSLFlBQVksQ0FBQyxhQUFhO0FBQUEsTUFDNUI7QUFBQSxNQUNBLDZCQUE2QjtBQUFBLFFBQzNCLFFBQVE7QUFBQSxRQUNSLFlBQVksQ0FBQyxLQUFLO0FBQUEsTUFDcEI7QUFBQSxNQUNBLHdCQUF3QjtBQUFBLFFBQ3RCLFFBQVE7QUFBQSxRQUNSLFlBQVksQ0FBQyxLQUFLO0FBQUEsTUFDcEI7QUFBQSxNQUNBLHdCQUF3QjtBQUFBLFFBQ3RCLFFBQVE7QUFBQSxRQUNSLFlBQVksQ0FBQyxLQUFLO0FBQUEsTUFDcEI7QUFBQSxNQUNBLHlCQUF5QjtBQUFBLFFBQ3ZCLFFBQVE7QUFBQSxRQUNSLFlBQVksQ0FBQyxNQUFNO0FBQUEsTUFDckI7QUFBQSxNQUNBLDBCQUEwQjtBQUFBLFFBQ3hCLFFBQVE7QUFBQSxRQUNSLFlBQVksQ0FBQyxLQUFLO0FBQUEsTUFDcEI7QUFBQSxNQUNBLDBCQUEwQjtBQUFBLFFBQ3hCLFFBQVE7QUFBQSxRQUNSLFlBQVksQ0FBQyxLQUFLO0FBQUEsTUFDcEI7QUFBQSxNQUNBLDRCQUE0QjtBQUFBLFFBQzFCLFFBQVE7QUFBQSxRQUNSLFlBQVksQ0FBQyxLQUFLO0FBQUEsTUFDcEI7QUFBQSxNQUNBLHdCQUF3QjtBQUFBLFFBQ3RCLFFBQVE7QUFBQSxRQUNSLFlBQVksQ0FBQyxLQUFLO0FBQUEsTUFDcEI7QUFBQSxNQUNBLCtCQUErQjtBQUFBLFFBQzdCLFlBQVksQ0FBQyxLQUFLO0FBQUEsTUFDcEI7QUFBQSxNQUNBLDRCQUE0QjtBQUFBLFFBQzFCLFFBQVE7QUFBQSxRQUNSLFlBQVksQ0FBQyxPQUFPLE9BQU8sT0FBTyxPQUFPLEtBQUs7QUFBQSxNQUNoRDtBQUFBLE1BQ0EsNkJBQTZCO0FBQUEsUUFDM0IsUUFBUTtBQUFBLFFBQ1IsWUFBWSxDQUFDLE9BQU8sT0FBTyxLQUFLO0FBQUEsTUFDbEM7QUFBQSxNQUNBLDRCQUE0QjtBQUFBLFFBQzFCLFFBQVE7QUFBQSxRQUNSLFlBQVksQ0FBQyxPQUFPLE9BQU8sT0FBTyxLQUFLO0FBQUEsTUFDekM7QUFBQSxNQUNBLHlCQUF5QjtBQUFBLFFBQ3ZCLFFBQVE7QUFBQSxRQUNSLFlBQVksQ0FBQyxLQUFLO0FBQUEsTUFDcEI7QUFBQSxNQUNBLDZCQUE2QjtBQUFBLFFBQzNCLFFBQVE7QUFBQSxRQUNSLFlBQVksQ0FBQyxLQUFLO0FBQUEsTUFDcEI7QUFBQSxNQUNBLDRCQUE0QjtBQUFBLFFBQzFCLFFBQVE7QUFBQSxRQUNSLFlBQVksQ0FBQyxLQUFLO0FBQUEsTUFDcEI7QUFBQSxNQUNBLDRCQUE0QjtBQUFBLFFBQzFCLFFBQVE7QUFBQSxRQUNSLFlBQVksQ0FBQyxLQUFLO0FBQUEsTUFDcEI7QUFBQSxNQUNBLHlCQUF5QjtBQUFBLFFBQ3ZCLFFBQVE7QUFBQSxRQUNSLFlBQVksQ0FBQyxLQUFLO0FBQUEsTUFDcEI7QUFBQSxNQUNBLHdCQUF3QjtBQUFBLFFBQ3RCLFFBQVE7QUFBQSxRQUNSLFlBQVksQ0FBQyxNQUFNLEtBQUs7QUFBQSxNQUMxQjtBQUFBLE1BQ0EscUNBQXFDO0FBQUEsUUFDbkMsY0FBYztBQUFBLFFBQ2QsWUFBWSxDQUFDLEtBQUs7QUFBQSxNQUNwQjtBQUFBLE1BQ0EscUJBQXFCO0FBQUEsUUFDbkIsUUFBUTtBQUFBLFFBQ1IsWUFBWSxDQUFDLEtBQUs7QUFBQSxNQUNwQjtBQUFBLE1BQ0Esc0JBQXNCO0FBQUEsUUFDcEIsUUFBUTtBQUFBLFFBQ1IsWUFBWSxDQUFDLE1BQU0sSUFBSTtBQUFBLE1BQ3pCO0FBQUEsTUFDQSx1QkFBdUI7QUFBQSxRQUNyQixRQUFRO0FBQUEsUUFDUixZQUFZLENBQUMsT0FBTyxLQUFLO0FBQUEsTUFDM0I7QUFBQSxNQUNBLHdCQUF3QjtBQUFBLFFBQ3RCLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxRQUNkLFlBQVksQ0FBQyxPQUFPLEtBQUs7QUFBQSxNQUMzQjtBQUFBLE1BQ0Esb0NBQW9DO0FBQUEsUUFDbEMsUUFBUTtBQUFBLFFBQ1IsWUFBWSxDQUFDLE9BQU8sS0FBSztBQUFBLE1BQzNCO0FBQUEsTUFDQSxtQ0FBbUM7QUFBQSxRQUNqQyxRQUFRO0FBQUEsUUFDUixZQUFZLENBQUMsS0FBSztBQUFBLE1BQ3BCO0FBQUEsTUFDQSw2QkFBNkI7QUFBQSxRQUMzQixRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0EsZ0NBQWdDO0FBQUEsUUFDOUIsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLFFBQ2QsWUFBWSxDQUFDLEtBQUs7QUFBQSxNQUNwQjtBQUFBLE1BQ0Esd0NBQXdDO0FBQUEsUUFDdEMsUUFBUTtBQUFBLFFBQ1IsWUFBWSxDQUFDLEtBQUs7QUFBQSxNQUNwQjtBQUFBLE1BQ0EsdUNBQXVDO0FBQUEsUUFDckMsUUFBUTtBQUFBLFFBQ1IsWUFBWSxDQUFDLEtBQUs7QUFBQSxNQUNwQjtBQUFBLE1BQ0EscUJBQXFCO0FBQUEsUUFDbkIsUUFBUTtBQUFBLFFBQ1IsWUFBWSxDQUFDLEtBQUs7QUFBQSxNQUNwQjtBQUFBLE1BQ0Esb0JBQW9CO0FBQUEsUUFDbEIsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLFFBQ2QsWUFBWSxDQUFDLElBQUk7QUFBQSxNQUNuQjtBQUFBLE1BQ0Esc0JBQXNCO0FBQUEsUUFDcEIsUUFBUTtBQUFBLFFBQ1IsWUFBWSxDQUFDLE1BQU07QUFBQSxNQUNyQjtBQUFBLE1BQ0EsaUNBQWlDO0FBQUEsUUFDL0IsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLFFBQ2QsWUFBWSxDQUFDLEtBQUs7QUFBQSxNQUNwQjtBQUFBLE1BQ0EsaUNBQWlDO0FBQUEsUUFDL0IsUUFBUTtBQUFBLFFBQ1IsWUFBWSxDQUFDLEtBQUs7QUFBQSxNQUNwQjtBQUFBLE1BQ0EscUJBQXFCO0FBQUEsUUFDbkIsUUFBUTtBQUFBLFFBQ1IsWUFBWSxDQUFDLEtBQUs7QUFBQSxNQUNwQjtBQUFBLE1BQ0EseUJBQXlCO0FBQUEsUUFDdkIsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLFFBQ2QsWUFBWSxDQUFDLEtBQUs7QUFBQSxNQUNwQjtBQUFBLE1BQ0EsMEJBQTBCO0FBQUEsUUFDeEIsUUFBUTtBQUFBLFFBQ1IsWUFBWSxDQUFDLE1BQU07QUFBQSxNQUNyQjtBQUFBLE1BQ0Esd0JBQXdCO0FBQUEsUUFDdEIsUUFBUTtBQUFBLFFBQ1IsWUFBWSxDQUFDLEtBQUs7QUFBQSxNQUNwQjtBQUFBLE1BQ0EseUJBQXlCO0FBQUEsUUFDdkIsUUFBUTtBQUFBLFFBQ1IsWUFBWSxD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QixRQUFRO0FBQUEsUUFDUixZQUFZLENBQUMsS0FBSztBQUFBLE1BQ3BCO0FBQUEsTUFDQSxZQUFZO0FBQUEsUUFDVixRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsUUFDZCxZQUFZLENBQUMsS0FBSztBQUFBLE1BQ3BCO0FBQUEsTUFDQSxhQUFhO0FBQUEsUUFDWCxRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0EsWUFBWTtBQUFBLFFBQ1YsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLFFBQ2QsWUFBWSxDQUFDLEtBQUs7QUFBQSxNQUNwQjtBQUFBLE1BQ0EsYUFBYTtBQUFBLFFBQ1gsUUFBUTtBQUFBLFFBQ1IsWUFBWSxDQUFDLE1BQU07QUFBQSxNQUNyQjtBQUFBLE1BQ0EsY0FBYztBQUFBLFFBQ1osUUFBUTtBQUFBLFFBQ1IsWUFBWSxDQUFDLE9BQU87QUFBQSxNQUN0QjtBQUFBLE1BQ0EsY0FBYztBQUFBLFFBQ1osUUFBUTtBQUFBLFFBQ1IsWUFBWSxDQUFDLEtBQUs7QUFBQSxNQUNwQjtBQUFBLE1BQ0EsY0FBYztBQUFBLFFBQ1osUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLFFBQ2QsWUFBWSxDQUFDLE1BQU07QUFBQSxNQUNyQjtBQUFBLE1BQ0EsY0FBYztBQUFBLFFBQ1osUUFBUTtBQUFBLFFBQ1IsWUFBWSxDQUFDLE1BQU07QUFBQSxNQUNyQjtBQUFBLE1BQ0EsY0FBYztBQUFBLFFBQ1osUUFBUTtBQUFBLFFBQ1IsWUFBWSxDQUFDLE1BQU07QUFBQSxNQUNyQjtBQUFBLE1BQ0EsY0FBYztBQUFBLFFBQ1osUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLFFBQ2QsWUFBWSxDQUFDLE1BQU07QUFBQSxNQUNyQjtBQUFBLE1BQ0EsYUFBYTtBQUFBLFFBQ1gsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLFFBQ2QsWUFBWSxDQUFDLE9BQU8sS0FBSztBQUFBLE1BQzNCO0FBQUEsTUFDQSxhQUFhO0FBQUEsUUFDWCxRQUFRO0FBQUEsUUFDUixZQUFZLENBQUMsS0FBSztBQUFBLE1BQ3BCO0FBQUEsTUFDQSxt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QVE7QUFBQSxNQUNWO0FBQUEsTUFDQSxpQkFBaUI7QUFBQSxRQUNmLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSxpQkFBaUI7QUFBQSxRQUNmLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSxhQUFhO0FBQUEsUUFDWCxRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0EsY0FBYztBQUFBLFFBQ1osUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLGlCQUFpQjtBQUFBLFFBQ2YsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLGdCQUFnQjtBQUFBLFFBQ2QsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLGdCQUFnQjtBQUFBLFFBQ2QsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLGNBQWM7QUFBQSxRQUNaLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSxjQUFjO0FBQUEsUUFDWixRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0EsZUFBZTtBQUFBLFFBQ2IsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLGNBQWM7QUFBQSxRQUNaLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSxpQkFBaUI7QUFBQSxRQUNmLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSxpQkFBaUI7QUFBQSxRQUNmLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSxpQkFBaUI7QUFBQSxRQUNmLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSxpQkFBaUI7QUFBQSxRQUNmLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSxjQUFjO0FBQUEsUUFDWixRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0EsY0FBYztBQUFBLFFBQ1osUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLGVBQWU7QUFBQSxRQUNiLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSxlQUFlO0FBQUEsUUFDYixRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0EsZUFBZTtBQUFBLFFBQ2IsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLGFBQWE7QUFBQSxRQUNYLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSxpQkFBaUI7QUFBQSxRQUNmLFFB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S0FBSztBQUFBLE1BQ3BCO0FBQUEsTUFDQSxjQUFjO0FBQUEsUUFDWixRQUFRO0FBQUEsUUFDUixZQUFZLENBQUMsS0FBSztBQUFBLE1BQ3BCO0FBQUEsTUFDQSxhQUFhO0FBQUEsUUFDWCxRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsUUFDZCxZQUFZLENBQUMsT0FBTyxNQUFNO0FBQUEsTUFDNUI7QUFBQSxNQUNBLGFBQWE7QUFBQSxRQUNYLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxRQUNkLFlBQVksQ0FBQyxPQUFPLEtBQUs7QUFBQSxNQUMzQjtBQUFBLE1BQ0EsYUFBYTtBQUFBLFFBQ1gsUUFBUTtBQUFBLFFBQ1IsWUFBWSxDQUFDLEtBQUs7QUFBQSxNQUNwQjtBQUFBLE1BQ0EsYUFBYTtBQUFBLFFBQ1gsUUFBUTtBQUFBLFFBQ1IsWUFBWSxDQUFDLEtBQUs7QUFBQSxNQUNwQjtBQUFBLE1BQ0EsY0FBYztBQUFBLFFBQ1osUUFBUTtBQUFBLFFBQ1IsWUFBWSxDQUFDLE1BQU07QUFBQSxNQUNyQjtBQUFBLE1BQ0EsY0FBYztBQUFBLFFBQ1osUUFBUTtBQUFBLFFBQ1IsWUFBWSxDQUFDLE1BQU07QUFBQSxNQUNyQjtBQUFBLE1BQ0EsYUFBYTtBQUFBLFFBQ1gsUUFBUTtBQUFBLFFBQ1IsWUFBWSxDQUFDLEtBQUs7QUFBQSxNQUNwQjtBQUFBLE1BQ0EsY0FBYztBQUFBLFFBQ1osUUFBUTtBQUFBLFFBQ1IsWUFBWSxDQUFDLE1BQU07QUFBQSxNQUNyQjtBQUFBLE1BQ0EsY0FBYztBQUFBLFFBQ1osUUFBUTtBQUFBLFFBQ1IsWUFBWSxDQUFDLE1BQU07QUFBQSxNQUNyQjtBQUFBLE1BQ0EsY0FBYztBQUFBLFFBQ1osUUFBUTtBQUFBLFFBQ1IsWUFBWSxDQUFDLE1BQU07QUFBQSxNQUNyQjtBQUFBLE1BQ0EsYUFBYTtBQUFBLFFBQ1gsUUFBUTtBQUFBLFFBQ1IsWUFBWSxDQUFDLEtBQUs7QUFBQSxNQUNwQjtBQUFBLE1BQ0EsY0FBYztBQUFBLFFBQ1osUUFBUTtBQUFBLFFBQ1IsWUFBWSxDQUFDLE1B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QUFDO0FBQUEsVUFDekMsV0FBVyxDQUFDLENBQUMsSUFBSSxLQUFLLENBQUMsS0FBSyxLQUFLLEdBQUcsQ0FBQyxDQUFDLEdBQUcsRUFBRSxDQUFDO0FBQUEsVUFDNUMsVUFBVSxDQUFDLENBQUMsSUFBSSxLQUFLLENBQUMsS0FBSyxHQUFHLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDO0FBQUEsVUFDeEMsaUJBQWlCLENBQUMsQ0FBQyxJQUFJLEtBQUssQ0FBQyxLQUFLLElBQUksR0FBRyxDQUFDLENBQUMsR0FBRyxFQUFFLENBQUM7QUFBQSxVQUNqRCxXQUFXLENBQUMsQ0FBQyxJQUFJLEtBQUssQ0FBQyxJQUFJLEdBQUcsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxJQUFJLEtBQUssQ0FBQyxLQUFLLElBQUksR0FBRyxDQUFDLENBQUMsR0FBRyxFQUFFLEdBQUcsQ0FBQyxJQUFJLEtBQUssQ0FBQyxLQUFLLEtBQUssR0FBRyxDQUFDLENBQUMsR0FBRyxFQUFFLENBQUM7QUFBQSxVQUMzRyxVQUFVLENBQUMsQ0FBQyxJQUFJLEtBQUssQ0FBQyxLQUFLLEdBQUcsR0FBRyxDQUFDLENBQUMsR0FBRyxFQUFFLEdBQUcsQ0FBQyxJQUFJLEtBQUssQ0FBQyxLQUFLLEdBQUcsR0FBRyxDQUFDLENBQUMsR0FBRyxFQUFFLEdBQUcsQ0FBQyxJQUFJLEtBQUssQ0FBQyxLQUFLLElBQUksSUFBSSxDQUFDLENBQUMsR0FBRyxFQUFFLEdBQUcsQ0FBQyxJQUFJLEtBQUssQ0FBQyxLQUFLLElBQUksS0FBSyxDQUFDLENBQUMsR0FBRyxFQUFFLEdBQUcsQ0FBQyxJQUFJLEtBQUssQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDLENBQUMsR0FBRyxFQUFFLEdBQUcsQ0FBQyxJQUFJLEtBQUssQ0FBQyxLQUFLLEdBQUcsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUM7QUFBQSxRQUNqTjtBQUNBLGFBQUssVUFBVSxRQUFRLFdBQVc7QUFDaEMsaUJBQU8sT0FBTyxZQUFZLE1BQU0sS0FBSyxhQUFhO0FBQUEsUUFDcEQ7QUFDQSxhQUFLLFVBQVUsc0JBQXNCLFdBQVc7QUFDOUMsaUJBQU8sT0FBTyxLQUFLLE1BQU0sWUFBWSxLQUFLLFNBQVMsQ0FBQztBQUFBLFFBQ3REO0FBQ0EsYUFBSyxVQUFVLDZCQUE2QixXQUFXO0FBQ3JELGNBQUksTUFBTSxHQUFHLEdBQUcsT0FBTyxNQUFNLE9BQU87QUFDcEMsc0JBQVk7QUFBQSxZQUNWLEdBQUc7QUFBQSxZQUNILEtBQUs7QUFBQSxZQUNMLEtBQUs7QUFBQSxZQUNMLEtBQUs7QUFBQSxZQUNMLEtBQUs7QUFBQSxZQUNMLEtBQUs7QUFBQSxZQUNMLEtBQUs7QUFBQSxZQUNMLEtBQUs7QUFBQSxZQUNMLEtBQUs7QUFBQSxVQUNQO0FBQ0EsaUJBQU87QUFDUCxpQkFBTztBQUNQLGVBQUssSUFBSSxJQUFJLEdBQUcsS0FBSyxHQUFHLElBQUksS0FBSyxJQUFJO0FBQ25DLG9CQUFRLEtBQUssT0FBTyxDQUFDO0FBQ3JCLGdCQUFJLFNBQVMsV0FBVztBQUN0QixzQkFBUSxVQUFVLEtBQUs7QUFDdkIsa0JBQUksUUFBUSxVQUFVLEdBQUc7QUFDdkIsdUJBQU87QUFBQSxjQUNUO0FBQ0Esa0JBQUksVUFBVSxHQUFHO0FBQ2YsdUJBQU87QUFBQSxjQUNUO0FBQ0Esc0JBQVE7QUFBQSxZQUNWLE9BQU87QUFDTCxxQkFBTztBQUFBLFlBQ1Q7QUFBQSxVQUNGO0FBQ0EsaUJBQU8sS0FBSztBQUFBLFFBQ2Q7QUFDQSxlQUFPO0FBQUEsTUFDVCxHQUFFO0FBQ0YsaUJBQVc7QUFDWCxvQkFBYztBQUFBLFFBQ1osV0FBVyxJQUFJLE9BQU8sTUFBTSxXQUFXLFFBQVEsV0FBVyxRQUFRLFdBQVcsUUFBUSxXQUFXLEtBQUssR0FBRztBQUFBLFFBQ3hHLFdBQVcsSUFBSSxPQUFPLE1BQU0sV0FBVyxLQUFLLEdBQUc7QUFBQSxNQUNqRDtBQUNBLGFBQU8sS0FBSyxTQUFTLFNBQVMsUUFBUTtBQUNwQyxZQUFJLE9BQU8sY0FBYyxNQUFNLE9BQU87QUFDdEMsdUJBQWUsU0FBUyxTQUFTO0FBQy9CLGNBQUksUUFBUSxDQUFDLE1BQU0sT0FBTyxRQUFRLENBQUMsTUFBTSxLQUFLO0FBQzVDLG1CQUFPLFNBQVMsU0FBUyxDQUFDO0FBQUEsVUFDNUIsT0FBTztBQUNMLG1CQUFPLFNBQVMsT0FBTztBQUFBLFVBQ3pCO0FBQUEsUUFDRjtBQUNBLFlBQUksUUFBUSxPQUFPLE1BQU0sWUFBWSxTQUFTLEdBQUc7QUFDL0Msa0JBQU8sV0FBVztBQUNoQixnQkFBSSxHQUFHLEtBQUssS0FBSztBQUNqQixrQkFBTSxNQUFNLE1BQU0sR0FBRyxDQUFDO0FBQ3RCLHNCQUFVLENBQUM7QUFDWCxpQkFBSyxJQUFJLEdBQUcsTUFBTSxJQUFJLFFBQVEsSUFBSSxLQUFLLEtBQUs7QUFDMUMscUJBQU8sSUFBSSxDQUFDO0FBQ1osc0JBQVEsS0FBSyxhQUFhLElBQUksQ0FBQztBQUFBLFlBQ2pDO0FBQ0EsbUJBQU87QUFBQSxVQUNULEdBQUU7QUFBQSxRQUNKLFdBQVcsUUFBUSxPQUFPLE1BQU0sWUFBWSxTQUFTLEdBQUc7QUFDdEQsa0JBQVEsYUFBYSxNQUFNLENBQUMsQ0FBQztBQUM3QixjQUFJLFFBQVEsY0FBYyxRQUFRLEdBQUc7QUFDbkMsa0JBQU0sSUFBSSxNQUFNLHVDQUF1QztBQUFBLFVBQ3pEO0FBQ0Esa0JBQU8sV0FBVztBQUNoQixnQkFBSSxHQUFHO0FBQ1Asc0JBQVUsQ0FBQztBQUNYLGlCQUFLLFFBQVEsSUFBSSxHQUFHLEtBQUssSUFBSSxRQUFRLEtBQUssR0FBRztBQUMzQyxzQkFBUSxLQUFLLFNBQVMsUUFBUSxHQUFHO0FBQUEsWUFDbkM7QUFDQSxtQkFBTztBQUFBLFVBQ1QsR0FBRSxFQUFFLFFBQVE7QUFBQSxRQUNkLE9BQU87QUFDTCxpQkFBTztBQUFBLFFBQ1Q7QUFBQSxNQUNGO0FBQ0EsYUFBTyxRQUFPLFdBQVc7QUFDdkIsaUJBQVMsS0FBSyxPQUFPLFFBQVE7QUFDM0IsY0FBSSxHQUFHLEdBQUcsR0FBRyxLQUFLLE1BQU07QUFDeEIsY0FBSSxNQUFNLFdBQVcsSUFBSTtBQUN2QixpQkFBSyxRQUFRLENBQUM7QUFDZCxpQkFBSyxJQUFJLElBQUksR0FBRyxLQUFLLElBQUksSUFBSSxLQUFLLEdBQUc7QUFDbkMsbUJBQUssTUFBTSxLQUFLLE1BQU0sQ0FBQyxLQUFLLElBQUksTUFBTSxJQUFJLENBQUMsQ0FBQztBQUFBLFlBQzlDO0FBQUEsVUFDRixXQUFXLE1BQU0sV0FBVyxHQUFHO0FBQzdCLGlCQUFLLFFBQVE7QUFBQSxVQUNmLE9BQU87QUFDTCxrQkFBTSxJQUFJLE1BQU0sMkNBQTJDO0FBQUEsVUFDN0Q7QUFDQSxnQkFBTSxLQUFLO0FBQ1gsZUFBSyxJQUFJLEdBQUcsTUFBTSxJQUFJLFFBQVEsSUFBSSxLQUFLLEtBQUs7QUFDMUMsbUJBQU8sSUFBSSxDQUFDO0FBQ1osZ0JBQUksRUFBRSxLQUFLLFFBQVEsUUFBUSxRQUFRO0FBQ2pDLG9CQUFNLElBQUksTUFBTSx5Q0FBeUM7QUFBQSxZQUMzRDtBQUFBLFVBQ0Y7QUFDQSxjQUFJLFFBQVE7QUFDVixpQkFBSyxTQUFTO0FBQUEsVUFDaEI7QUFBQSxRQUNGO0FBQ0EsYUFBSyxVQUFVLE9BQU8sV0FBVztBQUMvQixpQkFBTztBQUFBLFFBQ1Q7QUFDQSxhQUFLLFVBQVUsV0FBVyxXQUFXO0FBQ25DLGlCQUFPLEtBQUssbUJBQW1CLEVBQUUsUUFBUSxvQkFBb0IsSUFBSTtBQUFBLFFBQ25FO0FBQ0EsYUFBSyxVQUFVLGtCQUFrQixXQUFXO0FBQzFDLGNBQUksZ0JBQWdCLGlCQUFpQixPQUFPLE9BQU87QUFDbkQsa0JBQVE7QUFDUixtQkFBUyxLQUFLLG1CQUFtQjtBQUNqQywyQkFBaUI7QUFDakIsNEJBQWtCO0FBQ2xCLGlCQUFPLFFBQVEsTUFBTSxLQUFLLE1BQU0sR0FBRztBQUNqQyxnQkFBSSxNQUFNLENBQUMsRUFBRSxTQUFTLGlCQUFpQjtBQUNyQywrQkFBaUIsTUFBTTtBQUN2QixnQ0FBa0IsTUFBTSxDQUFDLEVBQUU7QUFBQSxZQUM3QjtBQUFBLFVBQ0Y7QUFDQSxjQUFJLGtCQUFrQixHQUFHO0FBQ3ZCLG1CQUFPO0FBQUEsVUFDVDtBQUNBLGlCQUFPLE9BQU8sVUFBVSxHQUFHLGNBQWMsSUFBSSxPQUFPLE9BQU8sVUFBVSxpQkFBaUIsZUFBZTtBQUFBLFFBQ3ZHO0FBQ0EsYUFBSyxVQUFVLGNBQWMsV0FBVztBQUN0QyxjQUFJLE9BQU8sR0FBRyxLQUFLLE1BQU07QUFDekIsa0JBQVEsQ0FBQztBQUNULGdCQUFNLEtBQUs7QUFDWCxlQUFLLElBQUksR0FBRyxNQUFNLElBQUksUUFBUSxJQUFJLEtBQUssS0FBSztBQUMxQyxtQkFBTyxJQUFJLENBQUM7QUFDWixrQkFBTSxLQUFLLFFBQVEsQ0FBQztBQUNwQixrQkFBTSxLQUFLLE9BQU8sR0FBRztBQUFBLFVBQ3ZCO0FBQ0EsaUJBQU87QUFBQSxRQUNUO0FBQ0EsYUFBSyxVQUFVLHFCQUFxQixXQUFXO0FBQzdDLGNBQUksTUFBTSxNQUFNO0FBQ2hCLGlCQUFPLFdBQVc7QUFDaEIsZ0JBQUksR0FBRyxLQUFLLEtBQUs7QUFDakIsa0JBQU0sS0FBSztBQUNYLHNCQUFVLENBQUM7QUFDWCxpQkFBSyxJQUFJLEdBQUcsTUFBTSxJQUFJLFFBQVEsSUFBSSxLQUFLLEtBQUs7QUFDMUMscUJBQU8sSUFBSSxDQUFDO0FBQ1osc0JBQVEsS0FBSyxLQUFLLFNBQVMsRUFBRSxDQUFDO0FBQUEsWUFDaEM7QUFDQSxtQkFBTztBQUFBLFVBQ1QsRUFBRSxLQUFLLElBQUksRUFBRSxLQUFLLEdBQUc7QUFDckIsbUJBQVM7QUFDVCxjQUFJLEtBQUssUUFBUTtBQUNmLHFCQUFTLE1BQU0sS0FBSztBQUFBLFVBQ3RCO0FBQ0EsaUJBQU8sT0FBTztBQUFBLFFBQ2hCO0FBQ0EsYUFBSyxVQUFVLHNCQUFzQixXQUFXO0FBQzlDLGNBQUksTUFBTSxNQUFNO0FBQ2hCLGlCQUFPLFdBQVc7QUFDaEIsZ0JBQUksR0FBRyxLQUFLLEtBQUs7QUFDakIsa0JBQU0sS0FBSztBQUNYLHNCQUFVLENBQUM7QUFDWCxpQkFBSyxJQUFJLEdBQUcsTUFBTSxJQUFJLFFBQVEsSUFBSSxLQUFLLEtBQUs7QUFDMUMscUJBQU8sSUFBSSxDQUFDO0FBQ1osc0JBQVEsS0FBSyxLQUFLLFNBQVMsRUFBRSxFQUFFLFNBQVMsR0FBRyxHQUFHLENBQUM7QUFBQSxZQUNqRDtBQUNBLG1CQUFPO0FBQUEsVUFDVCxFQUFFLEtBQUssSUFBSSxFQUFFLEtBQUssR0FBRztBQUNyQixtQkFBUztBQUNULGNBQUksS0FBSyxRQUFRO0FBQ2YscUJBQVMsTUFBTSxLQUFLO0FBQUEsVUFDdEI7QUFDQSxpQkFBTyxPQUFPO0FBQUEsUUFDaEI7QUFDQSxhQUFLLFVBQVUsUUFBUSxTQUFTLE9BQU8sV0FBVztBQUNoRCxjQUFJO0FBQ0osY0FBSSxjQUFjLFFBQVE7QUFDeEIsa0JBQU0sT0FBTyxRQUFRLElBQUksQ0FBQyxHQUFHLFlBQVksSUFBSSxDQUFDO0FBQUEsVUFDaEQ7QUFDQSxjQUFJLE1BQU0sS0FBSyxNQUFNLFFBQVE7QUFDM0Isa0JBQU0sSUFBSSxNQUFNLHFEQUFxRDtBQUFBLFVBQ3ZFO0FBQ0EsaUJBQU8sVUFBVSxLQUFLLE9BQU8sTUFBTSxPQUFPLElBQUksU0FBUztBQUFBLFFBQ3pEO0FBQ0EsYUFBSyxVQUFVLGdCQUFnQjtBQUFBLFVBQzdCLGFBQWEsQ0FBQyxJQUFJLEtBQUssQ0FBQyxHQUFHLEdBQUcsR0FBRyxHQUFHLEdBQUcsR0FBRyxHQUFHLENBQUMsQ0FBQyxHQUFHLEdBQUc7QUFBQSxVQUNyRCxXQUFXLENBQUMsSUFBSSxLQUFLLENBQUMsT0FBTyxHQUFHLEdBQUcsR0FBRyxHQUFHLEdBQUcsR0FBRyxDQUFDLENBQUMsR0FBRyxFQUFFO0FBQUEsVUFDdEQsV0FBVyxDQUFDLElBQUksS0FBSyxDQUFDLE9BQU8sR0FBRyxHQUFHLEdBQUcsR0FBRyxHQUFHLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQztBQUFBLFVBQ3JELFVBQVUsQ0FBQyxJQUFJLEtBQUssQ0FBQyxHQUFHLEdBQUcsR0FBRyxHQUFHLEdBQUcsR0FBRyxHQUFHLENBQUMsQ0FBQyxHQUFHLEdBQUc7QUFBQSxVQUNsRCxhQUFhLENBQUMsSUFBSSxLQUFLLENBQUMsT0FBTyxHQUFHLEdBQUcsR0FBRyxHQUFHLEdBQUcsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDO0FBQUEsVUFDdkQsWUFBWSxDQUFDLElBQUksS0FBSyxDQUFDLEdBQUcsR0FBRyxHQUFHLEdBQUcsR0FBRyxPQUFPLEdBQUcsQ0FBQyxDQUFDLEdBQUcsRUFBRTtBQUFBLFVBQ3ZELFNBQVMsQ0FBQyxJQUFJLEtBQUssQ0FBQyxHQUFHLEdBQUcsR0FBRyxHQUFHLE9BQU8sR0FBRyxHQUFHLENBQUMsQ0FBQyxHQUFHLEVBQUU7QUFBQSxVQUNwRCxTQUFTLENBQUMsSUFBSSxLQUFLLENBQUMsS0FBSyxPQUFPLEdBQUcsR0FBRyxHQUFHLEdBQUcsR0FBRyxDQUFDLENBQUMsR0FBRyxFQUFFO0FBQUEsVUFDdEQsUUFBUSxDQUFDLElBQUksS0FBSyxDQUFDLE1BQU0sR0FBRyxHQUFHLEdBQUcsR0FBRyxHQUFHLEdBQUcsQ0FBQyxDQUFDLEdBQUcsRUFBRTtBQUFBLFVBQ2xELFFBQVEsQ0FBQyxJQUFJLEtBQUssQ0FBQyxNQUFNLEdBQUcsR0FBRyxHQUFHLEdBQUcsR0FBRyxHQUFHLENBQUMsQ0FBQyxHQUFHLEVBQUU7QUFBQSxVQUNsRCxVQUFVLENBQUMsQ0FBQyxJQUFJLEtBQUssQ0FBQyxNQUFNLE1BQU0sR0FBRyxHQUFHLEdBQUcsR0FBRyxHQUFHLENBQUMsQ0FBQyxHQUFHLEVBQUUsQ0FBQztBQUFBLFFBQzNEO0FBQ0EsYUFBSyxVQUFVLFFBQVEsV0FBVztBQUNoQyxpQkFBTyxPQUFPLFlBQVksTUFBTSxLQUFLLGFBQWE7QUFBQSxRQUNwRDtBQUNBLGFBQUssVUFBVSxzQkFBc0IsV0FBVztBQUM5QyxpQkFBTyxLQUFLLE1BQU0sTUFBTTtBQUFBLFFBQzFCO0FBQ0EsYUFBSyxVQUFVLGdCQUFnQixXQUFXO0FBQ3hDLGNBQUksTUFBTSxLQUFLO0FBQ2YsY0FBSSxDQUFDLEtBQUssb0JBQW9CLEdBQUc7QUFDL0Isa0JBQU0sSUFBSSxNQUFNLDBEQUEwRDtBQUFBLFVBQzVFO0FBQ0EsZ0JBQU0sS0FBSyxNQUFNLE1BQU0sRUFBRSxHQUFHLE9BQU8sSUFBSSxDQUFDLEdBQUcsTUFBTSxJQUFJLENBQUM7QUFDdEQsaUJBQU8sSUFBSSxPQUFPLEtBQUssQ0FBQyxRQUFRLEdBQUcsT0FBTyxLQUFLLE9BQU8sR0FBRyxNQUFNLEdBQUcsQ0FBQztBQUFBLFFBQ3JFO0FBQ0EsYUFBSyxVQUFVLDZCQUE2QixXQUFXO0FBQ3JELGNBQUksTUFBTSxHQUFHLEdBQUcsTUFBTSxNQUFNLE9BQU87QUFDbkMsc0JBQVk7QUFBQSxZQUNWLEdBQUc7QUFBQSxZQUNILE9BQU87QUFBQSxZQUNQLE9BQU87QUFBQSxZQUNQLE9BQU87QUFBQSxZQUNQLE9BQU87QUFBQSxZQUNQLE9BQU87QUFBQSxZQUNQLE9BQU87QUFBQSxZQUNQLE9BQU87QUFBQSxZQUNQLE9BQU87QUFBQSxZQUNQLE9BQU87QUFBQSxZQUNQLE9BQU87QUFBQSxZQUNQLE9BQU87QUFBQSxZQUNQLE9BQU87QUFBQSxZQUNQLE9BQU87QUFBQSxZQUNQLE9BQU87QUFBQSxZQUNQLE9BQU87QUFBQSxZQUNQLE9BQU87QUFBQSxVQUNUO0FBQ0EsaUJBQU87QUFDUCxpQkFBTztBQUNQLGVBQUssSUFBSSxJQUFJLEdBQUcsS0FBSyxHQUFHLElBQUksS0FBSyxJQUFJO0FBQ25DLG1CQUFPLEtBQUssTUFBTSxDQUFDO0FBQ25CLGdCQUFJLFFBQVEsV0FBVztBQUNyQixzQkFBUSxVQUFVLElBQUk7QUFDdEIsa0JBQUksUUFBUSxVQUFVLEdBQUc7QUFDdkIsdUJBQU87QUFBQSxjQUNUO0FBQ0Esa0JBQUksVUFBVSxJQUFJO0FBQ2hCLHVCQUFPO0FBQUEsY0FDVDtBQUNBLHNCQUFRO0FBQUEsWUFDVixPQUFPO0FBQ0wscUJBQU87QUFBQSxZQUNUO0FBQUEsVUFDRjtBQUNBLGlCQUFPLE1BQU07QUFBQSxRQUNmO0FBQ0EsZUFBTztBQUFBLE1BQ1QsR0FBRTtBQUNGLGlCQUFXO0FBQ1gsa0JBQVk7QUFDWixvQkFBYztBQUFBLFFBQ1osV0FBVyxJQUFJLE9BQU8sV0FBVyxHQUFHO0FBQUEsUUFDcEMsVUFBVSxJQUFJLE9BQU8sWUFBWSxXQUFXLHlCQUF5QixZQUFZLE9BQU8sR0FBRztBQUFBLFFBQzNGLGNBQWMsSUFBSSxPQUFPLFVBQVUsV0FBVyxnQkFBZ0IsV0FBVyxTQUFTLFdBQVcsUUFBUSxXQUFXLFFBQVEsV0FBVyxRQUFRLGFBQWEsTUFBTSxZQUFZLFFBQVEsR0FBRztBQUFBLE1BQ3ZMO0FBQ0EsbUJBQWEsU0FBUyxRQUFRLE9BQU87QUFDbkMsWUFBSSxZQUFZLFdBQVcsTUFBTSxhQUFhLGtCQUFrQjtBQUNoRSxZQUFJLE9BQU8sUUFBUSxJQUFJLE1BQU0sT0FBTyxZQUFZLElBQUksR0FBRztBQUNyRCxpQkFBTztBQUFBLFFBQ1Q7QUFDQSxrQkFBVSxPQUFPLE1BQU0sWUFBWSxXQUFXLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQztBQUN6RCxZQUFJLFFBQVE7QUFDVixtQkFBUyxPQUFPLFVBQVUsQ0FBQztBQUMzQixtQkFBUyxPQUFPLFFBQVEsUUFBUSxFQUFFO0FBQUEsUUFDcEM7QUFDQSxxQkFBYTtBQUNiLG9CQUFZO0FBQ1osZ0JBQVEsWUFBWSxPQUFPLFFBQVEsS0FBSyxZQUFZLENBQUMsTUFBTSxHQUFHO0FBQzVEO0FBQUEsUUFDRjtBQUNBLFlBQUksT0FBTyxPQUFPLEdBQUcsQ0FBQyxNQUFNLE1BQU07QUFDaEM7QUFBQSxRQUNGO0FBQ0EsWUFBSSxPQUFPLE9BQU8sSUFBSSxDQUFDLE1BQU0sTUFBTTtBQUNqQztBQUFBLFFBQ0Y7QUFDQSxZQUFJLGFBQWEsT0FBTztBQUN0QixpQkFBTztBQUFBLFFBQ1Q7QUFDQSwyQkFBbUIsUUFBUTtBQUMzQixzQkFBYztBQUNkLGVBQU8sb0JBQW9CO0FBQ3pCLHlCQUFlO0FBQUEsUUFDakI7QUFDQSxpQkFBUyxPQUFPLFFBQVEsTUFBTSxXQUFXO0FBQ3pDLFlBQUksT0FBTyxDQUFDLE1BQU0sS0FBSztBQUNyQixtQkFBUyxPQUFPLE1BQU0sQ0FBQztBQUFBLFFBQ3pCO0FBQ0EsWUFBSSxPQUFPLE9BQU8sU0FBUyxDQUFDLE1BQU0sS0FBSztBQUNyQyxtQkFBUyxPQUFPLE1BQU0sR0FBRyxFQUFFO0FBQUEsUUFDN0I7QUFDQSxpQkFBUSxXQUFXO0FBQ2pCLGNBQUksR0FBRyxLQUFLLEtBQUs7QUFDakIsZ0JBQU0sT0FBTyxNQUFNLEdBQUc7QUFDdEIsb0JBQVUsQ0FBQztBQUNYLGVBQUssSUFBSSxHQUFHLE1BQU0sSUFBSSxRQUFRLElBQUksS0FBSyxLQUFLO0FBQzFDLG1CQUFPLElBQUksQ0FBQztBQUNaLG9CQUFRLEtBQUssU0FBUyxNQUFNLEVBQUUsQ0FBQztBQUFBLFVBQ2pDO0FBQ0EsaUJBQU87QUFBQSxRQUNULEdBQUU7QUFDRixlQUFPO0FBQUEsVUFDTDtBQUFBLFVBQ0E7QUFBQSxRQUNGO0FBQUEsTUFDRjtBQUNBLGFBQU8sS0FBSyxTQUFTLFNBQVMsUUFBUTtBQUNwQyxZQUFJLE1BQU0sR0FBRyxLQUFLLE9BQU8sT0FBTyxRQUFRO0FBQ3hDLFlBQUksWUFBWSxRQUFRLEVBQUUsS0FBSyxNQUFNLEdBQUc7QUFDdEMsaUJBQU8sV0FBVyxRQUFRLENBQUM7QUFBQSxRQUM3QixXQUFXLFFBQVEsT0FBTyxNQUFNLFlBQVksY0FBYyxDQUFDLEdBQUc7QUFDNUQsbUJBQVMsTUFBTSxDQUFDLEtBQUs7QUFDckIsaUJBQU8sV0FBVyxNQUFNLENBQUMsRUFBRSxNQUFNLEdBQUcsRUFBRSxJQUFJLFFBQVEsQ0FBQztBQUNuRCxjQUFJLEtBQUssT0FBTztBQUNkLHFCQUFTLENBQUMsU0FBUyxNQUFNLENBQUMsQ0FBQyxHQUFHLFNBQVMsTUFBTSxDQUFDLENBQUMsR0FBRyxTQUFTLE1BQU0sQ0FBQyxDQUFDLEdBQUcsU0FBUyxNQUFNLENBQUMsQ0FBQyxDQUFDO0FBQ3hGLGlCQUFLLElBQUksR0FBRyxNQUFNLE9BQU8sUUFBUSxJQUFJLEtBQUssS0FBSztBQUM3QyxzQkFBUSxPQUFPLENBQUM7QUFDaEIsa0JBQUksRUFBRSxLQUFLLFNBQVMsU0FBUyxNQUFNO0FBQ2pDLHVCQUFPO0FBQUEsY0FDVDtBQUFBLFlBQ0Y7QUFDQSxpQkFBSyxNQUFNLEtBQUssT0FBTyxDQUFDLEtBQUssSUFBSSxPQUFPLENBQUMsQ0FBQztBQUMxQyxpQkFBSyxNQUFNLEtBQUssT0FBTyxDQUFDLEtBQUssSUFBSSxPQUFPLENBQUMsQ0FBQztBQUMxQyxtQkFBTztBQUFBLGNBQ0wsT0FBTyxLQUFLO0FBQUEsY0FDWixRQUFRLEtBQUs7QUFBQSxZQUNmO0FBQUEsVUFDRjtBQUFBLFFBQ0Y7QUFDQSxlQUFPO0FBQUEsTUFDVDtBQUNBLGFBQU8sS0FBSyxTQUFTLE9BQU8sS0FBSyxTQUFTLFNBQVMsUUFBUTtBQUN6RCxlQUFPLEtBQUssT0FBTyxNQUFNLE1BQU07QUFBQSxNQUNqQztBQUNBLGFBQU8sS0FBSyxVQUFVLFNBQVMsUUFBUTtBQUNyQyxZQUFJO0FBQ0osWUFBSTtBQUNGLGNBQUksS0FBSyxLQUFLLE9BQU8sTUFBTSxDQUFDO0FBQzVCLGlCQUFPO0FBQUEsUUFDVCxTQUFTLFFBQVE7QUFDZixjQUFJO0FBQ0osaUJBQU87QUFBQSxRQUNUO0FBQUEsTUFDRjtBQUNBLGFBQU8sS0FBSyx5QkFBeUIsU0FBUyxRQUFRO0FBQ3BELFlBQUksT0FBTyxLQUFLLFFBQVEsTUFBTSxLQUFLLE9BQU8sTUFBTSxtQ0FBbUMsR0FBRztBQUNwRixpQkFBTztBQUFBLFFBQ1QsT0FBTztBQUNMLGlCQUFPO0FBQUEsUUFDVDtBQUFBLE1BQ0Y7QUFDQSxhQUFPLEtBQUssVUFBVSxTQUFTLFFBQVE7QUFDckMsWUFBSSxNQUFNO0FBQ1YsWUFBSSxPQUFPLFdBQVcsWUFBWSxPQUFPLFFBQVEsR0FBRyxNQUFNLElBQUk7QUFDNUQsaUJBQU87QUFBQSxRQUNUO0FBQ0EsWUFBSTtBQUNGLGlCQUFPLEtBQUssT0FBTyxNQUFNO0FBQ3pCLGNBQUksS0FBSyxLQUFLLE9BQU8sS0FBSyxNQUFNO0FBQ2hDLGlCQUFPO0FBQUEsUUFDVCxTQUFTLFFBQVE7QUFDZixjQUFJO0FBQ0osaUJBQU87QUFBQSxRQUNUO0FBQUEsTUFDRjtBQUNBLGFBQU8sS0FBSyxRQUFRLFNBQVMsUUFBUTtBQUNuQyxZQUFJO0FBQ0osZ0JBQVEsS0FBSyxPQUFPLE1BQU07QUFDMUIsWUFBSSxVQUFVLE1BQU07QUFDbEIsZ0JBQU0sSUFBSSxNQUFNLGlEQUFpRDtBQUFBLFFBQ25FO0FBQ0EsZUFBTyxJQUFJLEtBQUssS0FBSztBQUFBLE1BQ3ZCO0FBQ0EsYUFBTyxLQUFLLFFBQVEsU0FBUyxRQUFRO0FBQ25DLFlBQUk7QUFDSixlQUFPLEtBQUssT0FBTyxNQUFNO0FBQ3pCLFlBQUksS0FBSyxVQUFVLE1BQU07QUFDdkIsZ0JBQU0sSUFBSSxNQUFNLGlEQUFpRDtBQUFBLFFBQ25FO0FBQ0EsZUFBTyxJQUFJLEtBQUssS0FBSyxPQUFPLEtBQUssTUFBTTtBQUFBLE1BQ3pDO0FBQ0EsYUFBTyxLQUFLLFlBQVksU0FBUyxRQUFRO0FBQ3ZDLFlBQUksWUFBWSxPQUFPO0FBQ3ZCLFlBQUksUUFBUSxPQUFPLE1BQU0sZUFBZSxHQUFHO0FBQ3pDLHVCQUFhLFNBQVMsTUFBTSxDQUFDLENBQUM7QUFDOUIsY0FBSSxjQUFjLEtBQUssY0FBYyxJQUFJO0FBQ3ZDLHFCQUFTLENBQUMsS0FBSyxNQUFNLE1BQU0sQ0FBQyxDQUFDLEdBQUcsVUFBVTtBQUMxQyxtQkFBTyxlQUFlLFFBQVEsWUFBWTtBQUFBLGNBQ3hDLE9BQU8sV0FBVztBQUNoQix1QkFBTyxLQUFLLEtBQUssR0FBRztBQUFBLGNBQ3RCO0FBQUEsWUFDRixDQUFDO0FBQ0QsbUJBQU87QUFBQSxVQUNUO0FBQUEsUUFDRjtBQUNBLGNBQU0sSUFBSSxNQUFNLHlEQUF5RDtBQUFBLE1BQzNFO0FBQ0EsYUFBTyxLQUFLLDZCQUE2QixTQUFTLFFBQVE7QUFDeEQsWUFBSSxrQkFBa0IsR0FBRztBQUN6QixpQkFBUyxTQUFTLE1BQU07QUFDeEIsWUFBSSxTQUFTLEtBQUssU0FBUyxJQUFJO0FBQzdCLGdCQUFNLElBQUksTUFBTSxvQ0FBb0M7QUFBQSxRQUN0RDtBQUNBLGlCQUFTLENBQUMsR0FBRyxHQUFHLEdBQUcsQ0FBQztBQUNwQixZQUFJO0FBQ0osMkJBQW1CLEtBQUssTUFBTSxTQUFTLENBQUM7QUFDeEMsZUFBTyxJQUFJLGtCQUFrQjtBQUMzQixpQkFBTyxDQUFDLElBQUk7QUFDWjtBQUFBLFFBQ0Y7QUFDQSxZQUFJLG1CQUFtQixHQUFHO0FBQ3hCLGlCQUFPLGdCQUFnQixJQUFJLEtBQUssSUFBSSxHQUFHLFNBQVMsQ0FBQyxJQUFJLEtBQUssSUFBSSxTQUFTO0FBQUEsUUFDekU7QUFDQSxlQUFPLElBQUksS0FBSyxNQUFNO0FBQUEsTUFDeEI7QUFDQSxhQUFPLEtBQUssMkJBQTJCLFNBQVMsUUFBUTtBQUN0RCxZQUFJLE1BQU0sT0FBTyxHQUFHLG1CQUFtQixRQUFRO0FBQy9DLFlBQUk7QUFDRixpQkFBTyxLQUFLLFVBQVUsTUFBTTtBQUM1Qiw4QkFBb0IsS0FBSyxDQUFDLEVBQUUsWUFBWTtBQUN4Qyw2QkFBbUIsS0FBSywyQkFBMkIsS0FBSyxDQUFDLENBQUMsRUFBRSxZQUFZO0FBQ3hFLG1CQUFTLENBQUM7QUFDVixjQUFJO0FBQ0osaUJBQU8sSUFBSSxHQUFHO0FBQ1osbUJBQU8sS0FBSyxTQUFTLGtCQUFrQixDQUFDLEdBQUcsRUFBRSxJQUFJLFNBQVMsaUJBQWlCLENBQUMsR0FBRyxFQUFFLElBQUksR0FBRztBQUN4RjtBQUFBLFVBQ0Y7QUFDQSxpQkFBTyxJQUFJLEtBQUssTUFBTTtBQUFBLFFBQ3hCLFNBQVMsUUFBUTtBQUNmLGtCQUFRO0FBQ1IsZ0JBQU0sSUFBSSxNQUFNLG9EQUFvRDtBQUFBLFFBQ3RFO0FBQUEsTUFDRjtBQUNBLGFBQU8sS0FBSyx5QkFBeUIsU0FBUyxRQUFRO0FBQ3BELFlBQUksTUFBTSxPQUFPLEdBQUcsbUJBQW1CLFFBQVE7QUFDL0MsWUFBSTtBQUNGLGlCQUFPLEtBQUssVUFBVSxNQUFNO0FBQzVCLDhCQUFvQixLQUFLLENBQUMsRUFBRSxZQUFZO0FBQ3hDLDZCQUFtQixLQUFLLDJCQUEyQixLQUFLLENBQUMsQ0FBQyxFQUFFLFlBQVk7QUFDeEUsbUJBQVMsQ0FBQztBQUNWLGNBQUk7QUFDSixpQkFBTyxJQUFJLEdBQUc7QUFDWixtQkFBTyxLQUFLLFNBQVMsa0JBQWtCLENBQUMsR0FBRyxFQUFFLElBQUksU0FBUyxpQkFBaUIsQ0FBQyxHQUFHLEVBQUUsQ0FBQztBQUNsRjtBQUFBLFVBQ0Y7QUFDQSxpQkFBTyxJQUFJLEtBQUssTUFBTTtBQUFBLFFBQ3hCLFNBQVMsUUFBUTtBQUNmLGtCQUFRO0FBQ1IsZ0JBQU0sSUFBSSxNQUFNLG9EQUFvRDtBQUFBLFFBQ3RFO0FBQUEsTUFDRjtBQUNBLGFBQU8sS0FBSyxZQUFZLFNBQVMsUUFBUTtBQUN2QyxZQUFJLFlBQVksT0FBTztBQUN2QixZQUFJLFFBQVEsT0FBTyxNQUFNLGVBQWUsR0FBRztBQUN6Qyx1QkFBYSxTQUFTLE1BQU0sQ0FBQyxDQUFDO0FBQzlCLGNBQUksY0FBYyxLQUFLLGNBQWMsS0FBSztBQUN4QyxxQkFBUyxDQUFDLEtBQUssTUFBTSxNQUFNLENBQUMsQ0FBQyxHQUFHLFVBQVU7QUFDMUMsbUJBQU8sZUFBZSxRQUFRLFlBQVk7QUFBQSxjQUN4QyxPQUFPLFdBQVc7QUFDaEIsdUJBQU8sS0FBSyxLQUFLLEdBQUc7QUFBQSxjQUN0QjtBQUFBLFlBQ0YsQ0FBQztBQUNELG1CQUFPO0FBQUEsVUFDVDtBQUFBLFFBQ0Y7QUFDQSxjQUFNLElBQUksTUFBTSx5REFBeUQ7QUFBQSxNQUMzRTtBQUNBLGFBQU8sVUFBVSxTQUFTLFFBQVE7QUFDaEMsZUFBTyxPQUFPLEtBQUssUUFBUSxNQUFNLEtBQUssT0FBTyxLQUFLLFFBQVEsTUFBTTtBQUFBLE1BQ2xFO0FBQ0EsYUFBTyxRQUFRLFNBQVMsUUFBUTtBQUM5QixZQUFJLE9BQU8sS0FBSyxRQUFRLE1BQU0sR0FBRztBQUMvQixpQkFBTyxPQUFPLEtBQUssTUFBTSxNQUFNO0FBQUEsUUFDakMsV0FBVyxPQUFPLEtBQUssUUFBUSxNQUFNLEdBQUc7QUFDdEMsaUJBQU8sT0FBTyxLQUFLLE1BQU0sTUFBTTtBQUFBLFFBQ2pDLE9BQU87QUFDTCxnQkFBTSxJQUFJLE1BQU0sc0RBQXNEO0FBQUEsUUFDeEU7QUFBQSxNQUNGO0FBQ0EsYUFBTyxZQUFZLFNBQVMsUUFBUTtBQUNsQyxZQUFJO0FBQ0osWUFBSTtBQUNGLGlCQUFPLE9BQU8sS0FBSyxVQUFVLE1BQU07QUFBQSxRQUNyQyxTQUFTLFFBQVE7QUFDZixjQUFJO0FBQ0osY0FBSTtBQUNGLG1CQUFPLE9BQU8sS0FBSyxVQUFVLE1BQU07QUFBQSxVQUNyQyxTQUFTLFNBQVM7QUFDaEIsZ0JBQUk7QUFDSixrQkFBTSxJQUFJLE1BQU0sMkRBQTJEO0FBQUEsVUFDN0U7QUFBQSxRQUNGO0FBQUEsTUFDRjtBQUNBLGFBQU8sZ0JBQWdCLFNBQVMsT0FBTztBQUNyQyxZQUFJO0FBQ0osaUJBQVMsTUFBTTtBQUNmLFlBQUksV0FBVyxHQUFHO0FBQ2hCLGlCQUFPLElBQUksT0FBTyxLQUFLLEtBQUs7QUFBQSxRQUM5QixXQUFXLFdBQVcsSUFBSTtBQUN4QixpQkFBTyxJQUFJLE9BQU8sS0FBSyxLQUFLO0FBQUEsUUFDOUIsT0FBTztBQUNMLGdCQUFNLElBQUksTUFBTSw4REFBOEQ7QUFBQSxRQUNoRjtBQUFBLE1BQ0Y7QUFDQSxhQUFPLFVBQVUsU0FBUyxRQUFRO0FBQ2hDLFlBQUk7QUFDSixlQUFPLEtBQUssTUFBTSxNQUFNO0FBQ3hCLFlBQUksS0FBSyxLQUFLLE1BQU0sVUFBVSxLQUFLLG9CQUFvQixHQUFHO0FBQ3hELGlCQUFPLEtBQUssY0FBYztBQUFBLFFBQzVCLE9BQU87QUFDTCxpQkFBTztBQUFBLFFBQ1Q7QUFBQSxNQUNGO0FBQUEsSUFDRixHQUFHLEtBQUssUUFBUTtBQUFBLEVBQ2xCO0FBQ0YsQ0FBQztBQUdELElBQUkscUJBQXFCQSxZQUFXO0FBQUEsRUFDbEMsbUNBQW1DLFVBQVUsU0FBUztBQUNwRDtBQUNBLFlBQVEsVUFBVTtBQUNsQixZQUFRLFFBQVEsTUFBTTtBQUN0QixZQUFRLFFBQVEsVUFBVTtBQUMxQixRQUFJLFlBQVksa0JBQWtCO0FBQ2xDLFFBQUksU0FBUyxlQUFlO0FBQzVCLFFBQUksZUFBZTtBQUNuQixRQUFJLE9BQU8sT0FBTztBQUNsQixRQUFJLFVBQVUsT0FBTztBQUNyQixRQUFJLFlBQVk7QUFBQSxNQUNkLFdBQVcsQ0FBQyxrQkFBa0IsV0FBVztBQUFBLE1BQ3pDLFVBQVUsQ0FBQyxlQUFlLFNBQVM7QUFBQSxNQUNuQyxhQUFhLENBQUMsY0FBYyxpQkFBaUIsa0JBQWtCLFVBQVU7QUFBQSxJQUMzRTtBQUNBLGFBQVMsU0FBUyxLQUFLLE9BQU87QUFDNUIsVUFBSSxRQUFRLFVBQVUsR0FBRztBQUN6QixVQUFJLENBQUMsT0FBTztBQUNWLGVBQU87QUFBQSxNQUNUO0FBQ0EsVUFBSSxPQUFPLFVBQVUsWUFBWTtBQUMvQixnQkFBUSxRQUFRLEtBQUs7QUFBQSxNQUN2QjtBQUNBLGVBQVMsSUFBSSxHQUFHLElBQUksTUFBTSxTQUFTLEdBQUcsS0FBSztBQUN6QyxZQUFJLE1BQU0sTUFBTSxDQUFDLEdBQUcsQ0FBQyxFQUFHO0FBQ3hCLGNBQU0sU0FBUyxJQUFJO0FBQUEsTUFDckI7QUFDQSxhQUFPO0FBQUEsSUFDVDtBQUNBLGFBQVMsUUFBUSxLQUFLO0FBQ3BCLFVBQUksQ0FBQyxLQUFLO0FBQ1IsY0FBTSxJQUFJLFVBQVUsc0JBQXNCO0FBQUEsTUFDNUM7QUFDQSxVQUFJO0FBQ0osVUFBSSxPQUFPLFFBQVEsVUFBVTtBQUMzQixnQkFBUSxDQUFDLEdBQUc7QUFBQSxNQUNkLFdBQVcsTUFBTSxRQUFRLEdBQUcsR0FBRztBQUM3QixnQkFBUSxJQUFJLE1BQU07QUFBQSxNQUNwQixPQUFPO0FBQ0wsY0FBTSxJQUFJLFVBQVUsNEJBQTRCO0FBQUEsTUFDbEQ7QUFDQSxlQUFTLElBQUksR0FBRyxJQUFJLE1BQU0sUUFBUSxLQUFLO0FBQ3JDLGNBQU0sTUFBTSxDQUFDO0FBQ2IsWUFBSSxDQUFDLE9BQU8sVUFBVSxlQUFlLEtBQUssV0FBVyxHQUFHLEdBQUc7QUFDekQ7QUFBQSxRQUNGO0FBQ0EsY0FBTSxVQUFVLEdBQUc7QUFDbkIsY0FBTSxPQUFPLE1BQU0sT0FBTyxDQUFDLEdBQUcsQ0FBQyxFQUFFLE9BQU8sR0FBRyxDQUFDO0FBQzVDLGFBQUssSUFBSSxTQUFTO0FBQUEsTUFDcEI7QUFDQSxhQUFPLGFBQWEsb0JBQW9CLEtBQUssQ0FBQztBQUFBLElBQ2hEO0FBQ0EsYUFBUyxvQkFBb0IsS0FBSztBQUNoQyxVQUFJLGVBQWUsSUFBSSxNQUFNLElBQUksTUFBTTtBQUN2QyxlQUFTLElBQUksR0FBRyxJQUFJLElBQUksUUFBUSxLQUFLO0FBQ25DLHFCQUFhLENBQUMsSUFBSSxnQkFBZ0IsSUFBSSxDQUFDLENBQUM7QUFBQSxNQUMxQztBQUNBLGFBQU87QUFBQSxJQUNUO0FBQ0EsYUFBUyxhQUFhLGNBQWM7QUFDbEMsVUFBSSxNQUFNLGFBQWE7QUFDdkIsYUFBTyxRQUFRLElBQUksWUFBWSxRQUFRLElBQUksWUFBWSxhQUFhLENBQUMsQ0FBQyxJQUFJLFdBQVcsWUFBWTtBQUFBLElBQ25HO0FBQ0EsYUFBUyxnQkFBZ0IsTUFBTTtBQUM3QixVQUFJLE1BQU0sS0FBSyxZQUFZLEdBQUc7QUFDOUIsVUFBSSxNQUFNLFFBQVEsS0FBSyxLQUFLLFVBQVUsR0FBRyxHQUFHLElBQUk7QUFDaEQsVUFBSSxDQUFDLEtBQUssR0FBRyxHQUFHO0FBQ2QsY0FBTSxJQUFJLFVBQVUseUJBQXlCLEdBQUc7QUFBQSxNQUNsRDtBQUNBLFVBQUksS0FBSyxRQUFRLEdBQUc7QUFDcEIsVUFBSSxRQUFRLE1BQU0sR0FBRyxLQUFLLE1BQU0sVUFBVSxHQUFHLG9CQUFvQixHQUFHO0FBQ2xFLGFBQUssR0FBRyxjQUFjO0FBQUEsTUFDeEI7QUFDQSxVQUFJLE1BQU0sR0FBRyxLQUFLLE1BQU0sU0FBUyxNQUFNO0FBQ3ZDLFVBQUksUUFBUSxRQUFRLEtBQUssS0FBSyxVQUFVLE1BQU0sR0FBRyxLQUFLLE1BQU0sSUFBSTtBQUNoRSxVQUFJLFVBQVUsTUFBTTtBQUNsQixnQkFBUTtBQUFBLE1BQ1YsV0FBVyxhQUFhLEtBQUssS0FBSyxHQUFHO0FBQ25DLGdCQUFRLFNBQVMsT0FBTyxFQUFFO0FBQUEsTUFDNUIsV0FBVyxHQUFHLEtBQUssTUFBTSxVQUFVLEtBQUssS0FBSyxHQUFHO0FBQzlDLGdCQUFRLGFBQWEsS0FBSztBQUFBLE1BQzVCLE9BQU87QUFDTCxnQkFBUTtBQUFBLE1BQ1Y7QUFDQSxVQUFJLFNBQVMsS0FBSyxRQUFRLEtBQUs7QUFDN0IsY0FBTSxJQUFJLFVBQVUsK0JBQStCLElBQUk7QUFBQSxNQUN6RDtBQUNBLGFBQU8sQ0FBQyxJQUFJLEtBQUs7QUFBQSxJQUNuQjtBQUNBLGFBQVMsYUFBYSxTQUFTO0FBQzdCLFVBQUksS0FBSyxRQUFRLE9BQU87QUFDeEIsVUFBSSxPQUFPLEdBQUcsS0FBSztBQUNuQixhQUFPLFNBQVMsU0FBUyxHQUFHLDJCQUEyQixJQUFJO0FBQUEsSUFDN0Q7QUFDQSxhQUFTLFVBQVUsS0FBSyxPQUFPO0FBQzdCLFVBQUksQ0FBQyxLQUFLO0FBQ1IsY0FBTSxJQUFJLFVBQVUsMEJBQTBCO0FBQUEsTUFDaEQ7QUFDQSxVQUFJLENBQUMsT0FBTztBQUNWLGNBQU0sSUFBSSxVQUFVLDRCQUE0QjtBQUFBLE1BQ2xEO0FBQ0EsVUFBSSxRQUFRLFNBQVMsS0FBSyxLQUFLO0FBQy9CLFVBQUksT0FBTyxNQUFNLE1BQU0sU0FBUyxDQUFDO0FBQ2pDLGFBQU87QUFBQSxJQUNUO0FBQ0EsYUFBUyxZQUFZO0FBQ25CLGFBQU87QUFBQSxJQUNUO0FBQ0EsYUFBUyxXQUFXLFNBQVM7QUFDM0IsYUFBTyxTQUFTLE1BQU0sTUFBTTtBQUMxQixZQUFJLENBQUMsS0FBSyxJQUFJLEVBQUcsUUFBTztBQUN4QixZQUFJLEtBQUssUUFBUSxJQUFJO0FBQ3JCLFlBQUk7QUFDSixZQUFJLE9BQU8sR0FBRyxLQUFLO0FBQ25CLGlCQUFTLElBQUksR0FBRyxJQUFJLFFBQVEsUUFBUSxLQUFLO0FBQ3ZDLGNBQUksU0FBUyxRQUFRLENBQUM7QUFDdEIsY0FBSSxXQUFXLE9BQU8sQ0FBQztBQUN2QixjQUFJLGFBQWEsU0FBUyxLQUFLO0FBQy9CLGNBQUksY0FBYyxPQUFPLENBQUM7QUFDMUIsY0FBSSxVQUFVO0FBQ2QsY0FBSSxTQUFTLFlBQVk7QUFDdkIsZ0JBQUksZUFBZSxVQUFVLENBQUMsR0FBRyxvQkFBb0IsR0FBRztBQUN0RDtBQUFBLFlBQ0Y7QUFDQSxnQkFBSSxDQUFDLFFBQVE7QUFDWCx1QkFBUyxlQUFlLFNBQVMsR0FBRyxjQUFjLElBQUksR0FBRyxvQkFBb0I7QUFBQSxZQUMvRTtBQUNBLHNCQUFVO0FBQUEsVUFDWjtBQUNBLGNBQUksUUFBUSxNQUFNLFVBQVUsV0FBVyxHQUFHO0FBQ3hDLG1CQUFPO0FBQUEsVUFDVDtBQUFBLFFBQ0Y7QUFDQSxlQUFPO0FBQUEsTUFDVDtBQUFBLElBQ0Y7QUFDQSxhQUFTLFlBQVksUUFBUTtBQUMzQixVQUFJLFdBQVcsT0FBTyxDQUFDO0FBQ3ZCLFVBQUksYUFBYSxTQUFTLEtBQUs7QUFDL0IsVUFBSSxlQUFlLGVBQWU7QUFDbEMsVUFBSSxjQUFjLE9BQU8sQ0FBQztBQUMxQixhQUFPLFNBQVMsTUFBTSxNQUFNO0FBQzFCLFlBQUksQ0FBQyxLQUFLLElBQUksRUFBRyxRQUFPO0FBQ3hCLFlBQUksS0FBSyxRQUFRLElBQUk7QUFDckIsWUFBSSxPQUFPLEdBQUcsS0FBSztBQUNuQixZQUFJLFNBQVMsWUFBWTtBQUN2QixjQUFJLGdCQUFnQixDQUFDLEdBQUcsb0JBQW9CLEdBQUc7QUFDN0MsbUJBQU87QUFBQSxVQUNUO0FBQ0EsZUFBSyxlQUFlLEdBQUcsY0FBYyxJQUFJLEdBQUcsb0JBQW9CO0FBQUEsUUFDbEU7QUFDQSxlQUFPLEdBQUcsTUFBTSxVQUFVLFdBQVc7QUFBQSxNQUN2QztBQUFBLElBQ0Y7QUFBQSxFQUNGO0FBQ0YsQ0FBQztBQUdELElBQUksaUJBQWlCQSxZQUFXO0FBQUEsRUFDOUIsb0NBQW9DLFVBQVU7QUFDNUM7QUFDQSxRQUFJLEVBQUUsUUFBUSxJQUFJLFFBQVEsV0FBVztBQUNyQyxRQUFJLGVBQWUscUJBQXFCO0FBQ3hDLFFBQUksT0FBTyxhQUFhO0FBQ3hCLFFBQUksT0FBTyxvQkFBb0I7QUFDL0IsUUFBSSxZQUFZLG1CQUFtQjtBQUNuQyxRQUFJLEtBQUssYUFBYTtBQUN0QixRQUFJLGNBQWMsUUFBUSxhQUFhO0FBQ3ZDLGFBQVMsVUFBVSxRQUFRLElBQUksQ0FBQyxXQUFXLE9BQU8sWUFBWSxDQUFDO0FBQy9ELGFBQVMsT0FBTyxvQkFBb0IsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNuRCxhQUFTLFFBQVEsb0JBQW9CLEVBQUUsTUFBTSxLQUFLLENBQUM7QUFDbkQsYUFBUyxnQkFBZ0IsU0FBUyxNQUFNO0FBQ3RDLGFBQU8sQ0FBQyxLQUFLLFFBQVEsR0FBRyxJQUFJLGFBQWEsSUFBSSxJQUFJLEVBQUUsT0FBTyxLQUFLLE9BQU8sSUFBSSxLQUFLLDRCQUE0QixRQUFRLENBQUMsRUFBRTtBQUFBLElBQ3hIO0FBQ0EsYUFBUyxpQkFBaUIsU0FBUyxPQUFPO0FBQ3hDLGFBQU8sTUFBTSxJQUFJLFNBQVMsYUFBYTtBQUFBLElBQ3pDO0FBQ0EsYUFBUyxhQUFhLEtBQUs7QUFDekIsVUFBSSxTQUFTLElBQUk7QUFDakIsVUFBSSxhQUFhLElBQUksUUFBUSxHQUFHO0FBQ2hDLFVBQUksUUFBUSxlQUFlLEtBQUssU0FBUztBQUN6QyxVQUFJLE1BQU0sRUFBRSxPQUFPLElBQUksTUFBTSxHQUFHLEtBQUssRUFBRSxLQUFLLEdBQUcsU0FBUyxHQUFHLFFBQVEsQ0FBQyxFQUFFO0FBQ3RFLGFBQU8sUUFBUSxRQUFRO0FBQ3JCLFlBQUksYUFBYSxJQUFJLFFBQVEsS0FBSyxLQUFLO0FBQ3ZDLFlBQUksZUFBZSxHQUFJO0FBQ3ZCLFlBQUksYUFBYSxJQUFJLFFBQVEsS0FBSyxLQUFLO0FBQ3ZDLFlBQUksV0FBVyxlQUFlLEtBQUssU0FBUztBQUM1QyxZQUFJLGFBQWEsVUFBVTtBQUN6QixrQkFBUSxJQUFJLFlBQVksS0FBSyxhQUFhLENBQUMsSUFBSTtBQUMvQztBQUFBLFFBQ0Y7QUFDQSxZQUFJLE1BQU0sSUFBSSxNQUFNLE9BQU8sVUFBVSxFQUFFLEtBQUs7QUFDNUMsWUFBSSxRQUFRLElBQUksTUFBTSxhQUFhLEdBQUcsUUFBUSxFQUFFLEtBQUs7QUFDckQsWUFBSSxRQUFRLEtBQUs7QUFDZixjQUFJLFVBQVUsV0FBVyxLQUFLO0FBQUEsUUFDaEMsT0FBTztBQUNMLGNBQUksT0FBTyxHQUFHLElBQUk7QUFBQSxRQUNwQjtBQUNBLGdCQUFRLFdBQVc7QUFBQSxNQUNyQjtBQUNBLGFBQU87QUFBQSxJQUNUO0FBQ0EsYUFBUyxjQUFjLFNBQVMsS0FBSztBQUNuQyxVQUFJO0FBQ0osVUFBSSxPQUFPLFFBQVEsWUFBWTtBQUM3QixlQUFPO0FBQUEsTUFDVDtBQUNBLGNBQVEsS0FBSztBQUFBLFFBQ1gsS0FBSztBQUFBLFFBQ0wsS0FBSztBQUNILGVBQUssU0FBUztBQUNkO0FBQUEsUUFDRixLQUFLO0FBQ0g7QUFBQSxRQUNGLEtBQUs7QUFDSCxlQUFLLFNBQVM7QUFDZDtBQUFBLFFBQ0Y7QUFDRSxnQkFBTSxJQUFJLFVBQVUsc0NBQXNDLEdBQUc7QUFBQSxNQUNqRTtBQUNBLGFBQU87QUFBQSxJQUNUO0FBQ0EsYUFBUyxxQkFBcUIsU0FBUyxtQkFBbUIsS0FBSztBQUM3RCxVQUFJO0FBQ0osVUFBSSxPQUFPLFFBQVEsWUFBWTtBQUM3QixlQUFPO0FBQUEsTUFDVDtBQUNBLGNBQVEsS0FBSztBQUFBLFFBQ1gsS0FBSztBQUFBLFFBQ0wsS0FBSztBQUNILGVBQUssWUFBWTtBQUNqQjtBQUFBLFFBQ0YsS0FBSztBQUNIO0FBQUEsUUFDRixLQUFLO0FBQ0gsZUFBSztBQUNMO0FBQUEsUUFDRjtBQUNFLGdCQUFNLElBQUksVUFBVSw4Q0FBOEMsR0FBRztBQUFBLE1BQ3pFO0FBQ0EsYUFBTztBQUFBLElBQ1Q7QUFDQSxhQUFTLGVBQWUsU0FBUyxLQUFLO0FBQ3BDLFVBQUksT0FBTyxRQUFRLFdBQVksUUFBTztBQUN0QyxVQUFJLFFBQVEsTUFBTTtBQUNoQixlQUFPLFdBQVc7QUFDaEIsaUJBQU87QUFBQSxRQUNUO0FBQUEsTUFDRjtBQUNBLFVBQUksT0FBTyxRQUFRLFVBQVU7QUFDM0IsZUFBTyxTQUFTLEdBQUcsR0FBRztBQUNwQixpQkFBTyxJQUFJO0FBQUEsUUFDYjtBQUFBLE1BQ0Y7QUFDQSxVQUFJLE9BQU8sUUFBUSxVQUFVO0FBQzNCLGNBQU0sSUFBSSxNQUFNLEdBQUcsRUFBRSxJQUFJLFNBQVMsR0FBRztBQUNuQyxpQkFBTyxFQUFFLEtBQUs7QUFBQSxRQUNoQixDQUFDO0FBQUEsTUFDSDtBQUNBLGFBQU8sVUFBVSxRQUFRLE9BQU8sQ0FBQyxDQUFDO0FBQUEsSUFDcEM7QUFDQSxhQUFTLGFBQWEsU0FBUyxXQUFXLE1BQU0sU0FBUztBQUN2RCxVQUFJLENBQUMsUUFBUSxDQUFDLFNBQVM7QUFDckIsZUFBTztBQUFBLE1BQ1Q7QUFDQSxVQUFJLFNBQVMsYUFBYSxNQUFNLElBQUk7QUFDcEMsYUFBTyxXQUFXLFVBQVU7QUFDNUIsYUFBTyxhQUFhLE9BQU8sTUFBTTtBQUFBLElBQ25DO0FBQ0EsYUFBUyxvQkFBb0IsU0FBUztBQUNwQyxhQUFPLFNBQVMsYUFBYSxNQUFNLFVBQVU7QUFDM0MsWUFBSSxNQUFNLENBQUMsT0FBTyxTQUFTLElBQUksSUFBSSxPQUFPLEtBQUssTUFBTSxRQUFRLElBQUk7QUFDakUsZUFBTyxLQUFLLEtBQUssT0FBTztBQUFBLE1BQzFCO0FBQUEsSUFDRjtBQUNBLGFBQVMseUJBQXlCLEtBQUs7QUFDckMsYUFBTyxHQUFHLE1BQU0sS0FBSztBQUFBLFFBQ25CLGlCQUFpQjtBQUFBLE1BQ25CLENBQUM7QUFBQSxJQUNIO0FBQUEsRUFDRjtBQUNGLENBQUM7QUFHRCxJQUFJLGlCQUFpQkEsWUFBVztBQUFBLEVBQzlCLGdDQUFnQyxVQUFVLFNBQVM7QUFDakQsWUFBUSxVQUFVO0FBQ2xCLGFBQVMsT0FBTyxJQUFJLElBQUk7QUFDdEIsVUFBSSxNQUFNLEdBQUksUUFBTyxPQUFPLEVBQUUsRUFBRSxFQUFFO0FBQ2xDLFVBQUksT0FBTyxPQUFPO0FBQ2hCLGNBQU0sSUFBSSxVQUFVLHVCQUF1QjtBQUM3QyxhQUFPLEtBQUssRUFBRSxFQUFFLFFBQVEsU0FBUyxHQUFHO0FBQ2xDLGdCQUFRLENBQUMsSUFBSSxHQUFHLENBQUM7QUFBQSxNQUNuQixDQUFDO0FBQ0QsYUFBTztBQUNQLGVBQVMsVUFBVTtBQUNqQixZQUFJLE9BQU8sSUFBSSxNQUFNLFVBQVUsTUFBTTtBQUNyQyxpQkFBUyxJQUFJLEdBQUcsSUFBSSxLQUFLLFFBQVEsS0FBSztBQUNwQyxlQUFLLENBQUMsSUFBSSxVQUFVLENBQUM7QUFBQSxRQUN2QjtBQUNBLFlBQUksTUFBTSxHQUFHLE1BQU0sTUFBTSxJQUFJO0FBQzdCLFlBQUksTUFBTSxLQUFLLEtBQUssU0FBUyxDQUFDO0FBQzlCLFlBQUksT0FBTyxRQUFRLGNBQWMsUUFBUSxLQUFLO0FBQzVDLGlCQUFPLEtBQUssR0FBRyxFQUFFLFFBQVEsU0FBUyxHQUFHO0FBQ25DLGdCQUFJLENBQUMsSUFBSSxJQUFJLENBQUM7QUFBQSxVQUNoQixDQUFDO0FBQUEsUUFDSDtBQUNBLGVBQU87QUFBQSxNQUNUO0FBQUEsSUFDRjtBQUFBLEVBQ0Y7QUFDRixDQUFDO0FBR0QsSUFBSSxlQUFlQSxZQUFXO0FBQUEsRUFDNUIsNEJBQTRCLFVBQVUsU0FBUztBQUM3QyxRQUFJLFNBQVMsZUFBZTtBQUM1QixZQUFRLFVBQVUsT0FBTyxJQUFJO0FBQzdCLFlBQVEsUUFBUSxTQUFTLE9BQU8sVUFBVTtBQUMxQyxTQUFLLFFBQVEsS0FBSyxXQUFXO0FBQzNCLGFBQU8sZUFBZSxTQUFTLFdBQVcsUUFBUTtBQUFBLFFBQ2hELE9BQU8sV0FBVztBQUNoQixpQkFBTyxLQUFLLElBQUk7QUFBQSxRQUNsQjtBQUFBLFFBQ0EsY0FBYztBQUFBLE1BQ2hCLENBQUM7QUFDRCxhQUFPLGVBQWUsU0FBUyxXQUFXLGNBQWM7QUFBQSxRQUN0RCxPQUFPLFdBQVc7QUFDaEIsaUJBQU8sV0FBVyxJQUFJO0FBQUEsUUFDeEI7QUFBQSxRQUNBLGNBQWM7QUFBQSxNQUNoQixDQUFDO0FBQUEsSUFDSCxDQUFDO0FBQ0QsYUFBUyxLQUFLLElBQUk7QUFDaEIsVUFBSSxJQUFJLFdBQVc7QUFDakIsWUFBSSxFQUFFLE9BQVEsUUFBTyxFQUFFO0FBQ3ZCLFVBQUUsU0FBUztBQUNYLGVBQU8sRUFBRSxRQUFRLEdBQUcsTUFBTSxNQUFNLFNBQVM7QUFBQSxNQUMzQztBQUNBLFFBQUUsU0FBUztBQUNYLGFBQU87QUFBQSxJQUNUO0FBQ0EsYUFBUyxXQUFXLElBQUk7QUFDdEIsVUFBSSxJQUFJLFdBQVc7QUFDakIsWUFBSSxFQUFFO0FBQ0osZ0JBQU0sSUFBSSxNQUFNLEVBQUUsU0FBUztBQUM3QixVQUFFLFNBQVM7QUFDWCxlQUFPLEVBQUUsUUFBUSxHQUFHLE1BQU0sTUFBTSxTQUFTO0FBQUEsTUFDM0M7QUFDQSxVQUFJLE9BQU8sR0FBRyxRQUFRO0FBQ3RCLFFBQUUsWUFBWSxPQUFPO0FBQ3JCLFFBQUUsU0FBUztBQUNYLGFBQU87QUFBQSxJQUNUO0FBQUEsRUFDRjtBQUNGLENBQUM7QUFHRCxJQUFJLHFCQUFxQkEsWUFBVztBQUFBLEVBQ2xDLG1DQUFtQyxVQUFVLFNBQVM7QUFDcEQsWUFBUSxVQUFVO0FBQ2xCLFlBQVEsUUFBUSxVQUFVO0FBQzFCLGFBQVMsVUFBVSxLQUFLO0FBQ3RCLGFBQU8sQ0FBQyxDQUFDLFFBQVEsT0FBTyxRQUFRLFlBQVksT0FBTyxRQUFRLGVBQWUsT0FBTyxJQUFJLFNBQVM7QUFBQSxJQUNoRztBQUFBLEVBQ0Y7QUFDRixDQUFDO0FBR0QsSUFBSSxlQUFlQSxZQUFXO0FBQUEsRUFDNUIsNENBQTRDLFVBQVU7QUFDcEQ7QUFDQSxXQUFPLGVBQWUsVUFBVSxjQUFjLEVBQUUsT0FBTyxLQUFLLENBQUM7QUFDN0QsYUFBUyxZQUFZO0FBQ3JCLGFBQVMsUUFBUTtBQUNqQixhQUFTLFVBQVU7QUFDbkIsYUFBUyxRQUFRO0FBQ2pCLGFBQVMsZUFBZTtBQUN4QixhQUFTLFlBQVk7QUFDckIsUUFBSSxvQkFBb0I7QUFDeEIsUUFBSSxhQUFhLENBQUMsVUFBVTtBQUM1QixRQUFJLFdBQVc7QUFDZixRQUFJLGNBQWM7QUFDbEIsUUFBSSxZQUFZO0FBQ2hCLFFBQUksZ0JBQWdCO0FBQUE7QUFBQSxNQUVsQixLQUFLO0FBQUEsTUFDTCxLQUFLO0FBQUE7QUFBQSxNQUVMLEtBQUs7QUFBQSxNQUNMLEtBQUs7QUFBQSxNQUNMLEtBQUs7QUFBQSxNQUNMLEtBQUs7QUFBQSxNQUNMLEtBQUs7QUFBQSxNQUNMLEtBQUs7QUFBQSxNQUNMLEtBQUs7QUFBQSxJQUNQO0FBQ0EsYUFBUyxXQUFXLEtBQUs7QUFDdkIsYUFBTyxJQUFJLFFBQVEsb0JBQW9CLE1BQU07QUFBQSxJQUMvQztBQUNBLGFBQVMsUUFBUSxLQUFLO0FBQ3BCLGFBQU8sSUFBSSxRQUFRLHdCQUF3QixNQUFNO0FBQUEsSUFDbkQ7QUFDQSxjQUFVLE1BQU0sS0FBSztBQUNuQixZQUFNLFFBQVEsQ0FBQyxHQUFHLEdBQUc7QUFDckIsVUFBSSxJQUFJO0FBQ1IsZUFBUyxPQUFPO0FBQ2QsWUFBSSxRQUFRO0FBQ1osWUFBSSxTQUFTLEtBQUssTUFBTSxFQUFFLENBQUMsQ0FBQyxHQUFHO0FBQzdCLG1CQUFTLE1BQU0sQ0FBQztBQUNoQixpQkFBTyxZQUFZLEtBQUssTUFBTSxFQUFFLENBQUMsQ0FBQyxHQUFHO0FBQ25DLHFCQUFTLE1BQU0sQ0FBQztBQUFBLFVBQ2xCO0FBQUEsUUFDRixXQUFXLE1BQU0sQ0FBQyxNQUFNLEtBQUs7QUFDM0IsY0FBSSxNQUFNO0FBQ1YsaUJBQU8sSUFBSSxNQUFNLFFBQVE7QUFDdkIsZ0JBQUksTUFBTSxFQUFFLENBQUMsTUFBTSxLQUFLO0FBQ3RCO0FBQ0Esb0JBQU07QUFDTjtBQUFBLFlBQ0Y7QUFDQSxnQkFBSSxNQUFNLENBQUMsTUFBTSxNQUFNO0FBQ3JCLHVCQUFTLE1BQU0sRUFBRSxDQUFDO0FBQUEsWUFDcEIsT0FBTztBQUNMLHVCQUFTLE1BQU0sQ0FBQztBQUFBLFlBQ2xCO0FBQUEsVUFDRjtBQUNBLGNBQUksS0FBSztBQUNQLGtCQUFNLElBQUksVUFBVSx5QkFBeUIsR0FBRyxLQUFLLFNBQVMsRUFBRTtBQUFBLFVBQ2xFO0FBQUEsUUFDRjtBQUNBLFlBQUksQ0FBQyxPQUFPO0FBQ1YsZ0JBQU0sSUFBSSxVQUFVLDZCQUE2QixDQUFDLEtBQUssU0FBUyxFQUFFO0FBQUEsUUFDcEU7QUFDQSxlQUFPO0FBQUEsTUFDVDtBQUNBLGFBQU8sSUFBSSxNQUFNLFFBQVE7QUFDdkIsY0FBTSxRQUFRLE1BQU0sQ0FBQztBQUNyQixjQUFNLE9BQU8sY0FBYyxLQUFLO0FBQ2hDLFlBQUksTUFBTTtBQUNSLGdCQUFNLEVBQUUsTUFBTSxPQUFPLEtBQUssTUFBTTtBQUFBLFFBQ2xDLFdBQVcsVUFBVSxNQUFNO0FBQ3pCLGdCQUFNLEVBQUUsTUFBTSxXQUFXLE9BQU8sS0FBSyxPQUFPLE1BQU0sR0FBRyxFQUFFO0FBQUEsUUFDekQsV0FBVyxVQUFVLEtBQUs7QUFDeEIsZ0JBQU0sU0FBUyxLQUFLO0FBQ3BCLGdCQUFNLEVBQUUsTUFBTSxTQUFTLE9BQU8sR0FBRyxPQUFPLE9BQU87QUFBQSxRQUNqRCxXQUFXLFVBQVUsS0FBSztBQUN4QixnQkFBTSxTQUFTLEtBQUs7QUFDcEIsZ0JBQU0sRUFBRSxNQUFNLFlBQVksT0FBTyxHQUFHLE9BQU8sT0FBTztBQUFBLFFBQ3BELE9BQU87QUFDTCxnQkFBTSxFQUFFLE1BQU0sUUFBUSxPQUFPLEdBQUcsT0FBTyxNQUFNLEdBQUcsRUFBRTtBQUFBLFFBQ3BEO0FBQUEsTUFDRjtBQUNBLGFBQU8sRUFBRSxNQUFNLE9BQU8sT0FBTyxHQUFHLE9BQU8sR0FBRztBQUFBLElBQzVDO0FBQ0EsUUFBSSxPQUFPLE1BQU07QUFBQSxNQUNmLFlBQVksUUFBUTtBQUNsQixhQUFLLFNBQVM7QUFBQSxNQUNoQjtBQUFBLE1BQ0EsT0FBTztBQUNMLFlBQUksQ0FBQyxLQUFLLE9BQU87QUFDZixnQkFBTSxPQUFPLEtBQUssT0FBTyxLQUFLO0FBQzlCLGVBQUssUUFBUSxLQUFLO0FBQUEsUUFDcEI7QUFDQSxlQUFPLEtBQUs7QUFBQSxNQUNkO0FBQUEsTUFDQSxXQUFXLE1BQU07QUFDZixjQUFNLFFBQVEsS0FBSyxLQUFLO0FBQ3hCLFlBQUksTUFBTSxTQUFTO0FBQ2pCO0FBQ0YsYUFBSyxRQUFRO0FBQ2IsZUFBTyxNQUFNO0FBQUEsTUFDZjtBQUFBLE1BQ0EsUUFBUSxNQUFNO0FBQ1osY0FBTSxRQUFRLEtBQUssV0FBVyxJQUFJO0FBQ2xDLFlBQUksVUFBVTtBQUNaLGlCQUFPO0FBQ1QsY0FBTSxFQUFFLE1BQU0sVUFBVSxNQUFNLElBQUksS0FBSyxLQUFLO0FBQzVDLGNBQU0sSUFBSSxVQUFVLGNBQWMsUUFBUSxPQUFPLEtBQUssY0FBYyxJQUFJLEtBQUssU0FBUyxFQUFFO0FBQUEsTUFDMUY7QUFBQSxNQUNBLE9BQU87QUFDTCxZQUFJLFNBQVM7QUFDYixZQUFJO0FBQ0osZUFBTyxRQUFRLEtBQUssV0FBVyxNQUFNLEtBQUssS0FBSyxXQUFXLFNBQVMsR0FBRztBQUNwRSxvQkFBVTtBQUFBLFFBQ1o7QUFDQSxlQUFPO0FBQUEsTUFDVDtBQUFBLElBQ0Y7QUFDQSxRQUFJLFlBQVksTUFBTTtBQUFBLE1BQ3BCLFlBQVksUUFBUTtBQUNsQixhQUFLLFNBQVM7QUFBQSxNQUNoQjtBQUFBLElBQ0Y7QUFDQSxhQUFTLFlBQVk7QUFDckIsYUFBUyxNQUFNLEtBQUssVUFBVSxDQUFDLEdBQUc7QUFDaEMsWUFBTSxFQUFFLGFBQWEsV0FBVyxJQUFJO0FBQ3BDLFlBQU0sS0FBSyxJQUFJLEtBQUssTUFBTSxHQUFHLENBQUM7QUFDOUIsZUFBUyxRQUFRLFNBQVM7QUFDeEIsY0FBTSxVQUFVLENBQUM7QUFDakIsZUFBTyxNQUFNO0FBQ1gsZ0JBQU0sT0FBTyxHQUFHLEtBQUs7QUFDckIsY0FBSTtBQUNGLG9CQUFRLEtBQUssRUFBRSxNQUFNLFFBQVEsT0FBTyxXQUFXLElBQUksRUFBRSxDQUFDO0FBQ3hELGdCQUFNLFFBQVEsR0FBRyxXQUFXLE9BQU87QUFDbkMsY0FBSSxPQUFPO0FBQ1Qsb0JBQVEsS0FBSztBQUFBLGNBQ1gsTUFBTTtBQUFBLGNBQ04sTUFBTTtBQUFBLFlBQ1IsQ0FBQztBQUNEO0FBQUEsVUFDRjtBQUNBLGdCQUFNLFdBQVcsR0FBRyxXQUFXLFVBQVU7QUFDekMsY0FBSSxVQUFVO0FBQ1osb0JBQVEsS0FBSztBQUFBLGNBQ1gsTUFBTTtBQUFBLGNBQ04sTUFBTTtBQUFBLFlBQ1IsQ0FBQztBQUNEO0FBQUEsVUFDRjtBQUNBLGdCQUFNLE9BQU8sR0FBRyxXQUFXLEdBQUc7QUFDOUIsY0FBSSxNQUFNO0FBQ1Isb0JBQVEsS0FBSztBQUFBLGNBQ1gsTUFBTTtBQUFBLGNBQ04sUUFBUSxRQUFRLEdBQUc7QUFBQSxZQUNyQixDQUFDO0FBQ0Q7QUFBQSxVQUNGO0FBQ0EsYUFBRyxRQUFRLE9BQU87QUFDbEIsaUJBQU87QUFBQSxRQUNUO0FBQUEsTUFDRjtBQUNBLFlBQU0sU0FBUyxRQUFRLEtBQUs7QUFDNUIsYUFBTyxJQUFJLFVBQVUsTUFBTTtBQUFBLElBQzdCO0FBQ0EsYUFBUyxRQUFRLE1BQU0sVUFBVSxDQUFDLEdBQUc7QUFDbkMsWUFBTSxFQUFFLFNBQVMsb0JBQW9CLFlBQVksa0JBQWtCLElBQUk7QUFDdkUsWUFBTSxPQUFPLGdCQUFnQixZQUFZLE9BQU8sTUFBTSxNQUFNLE9BQU87QUFDbkUsWUFBTSxLQUFLLGlCQUFpQixLQUFLLFFBQVEsV0FBVyxNQUFNO0FBQzFELGFBQU8sU0FBUyxNQUFNLFFBQVEsQ0FBQyxHQUFHO0FBQ2hDLGNBQU0sQ0FBQyxPQUFPLEdBQUcsT0FBTyxJQUFJLEdBQUcsS0FBSztBQUNwQyxZQUFJLFFBQVEsUUFBUTtBQUNsQixnQkFBTSxJQUFJLFVBQVUsdUJBQXVCLFFBQVEsS0FBSyxJQUFJLENBQUMsRUFBRTtBQUFBLFFBQ2pFO0FBQ0EsZUFBTztBQUFBLE1BQ1Q7QUFBQSxJQUNGO0FBQ0EsYUFBUyxpQkFBaUIsUUFBUSxXQUFXLFFBQVE7QUFDbkQsWUFBTSxXQUFXLE9BQU8sSUFBSSxDQUFDLFVBQVUsZ0JBQWdCLE9BQU8sV0FBVyxNQUFNLENBQUM7QUFDaEYsYUFBTyxDQUFDLFNBQVM7QUFDZixjQUFNLFNBQVMsQ0FBQyxFQUFFO0FBQ2xCLG1CQUFXLFdBQVcsVUFBVTtBQUM5QixnQkFBTSxDQUFDLE9BQU8sR0FBRyxNQUFNLElBQUksUUFBUSxJQUFJO0FBQ3ZDLGlCQUFPLENBQUMsS0FBSztBQUNiLGlCQUFPLEtBQUssR0FBRyxNQUFNO0FBQUEsUUFDdkI7QUFDQSxlQUFPO0FBQUEsTUFDVDtBQUFBLElBQ0Y7QUFDQSxhQUFTLGdCQUFnQixPQUFPLFdBQVcsUUFBUTtBQUNqRCxVQUFJLE1BQU0sU0FBUztBQUNqQixlQUFPLE1BQU0sQ0FBQyxNQUFNLEtBQUs7QUFDM0IsVUFBSSxNQUFNLFNBQVMsU0FBUztBQUMxQixjQUFNLEtBQUssaUJBQWlCLE1BQU0sUUFBUSxXQUFXLE1BQU07QUFDM0QsZUFBTyxDQUFDLFNBQVM7QUFDZixnQkFBTSxDQUFDLE9BQU8sR0FBRyxPQUFPLElBQUksR0FBRyxJQUFJO0FBQ25DLGNBQUksQ0FBQyxRQUFRO0FBQ1gsbUJBQU8sQ0FBQyxLQUFLO0FBQ2YsaUJBQU8sQ0FBQyxFQUFFO0FBQUEsUUFDWjtBQUFBLE1BQ0Y7QUFDQSxZQUFNLGNBQWMsVUFBVTtBQUM5QixVQUFJLE1BQU0sU0FBUyxjQUFjLFdBQVcsT0FBTztBQUNqRCxlQUFPLENBQUMsU0FBUztBQUNmLGdCQUFNLFFBQVEsS0FBSyxNQUFNLElBQUk7QUFDN0IsY0FBSSxTQUFTO0FBQ1gsbUJBQU8sQ0FBQyxJQUFJLE1BQU0sSUFBSTtBQUN4QixjQUFJLENBQUMsTUFBTSxRQUFRLEtBQUssS0FBSyxNQUFNLFdBQVcsR0FBRztBQUMvQyxrQkFBTSxJQUFJLFVBQVUsYUFBYSxNQUFNLElBQUksMkJBQTJCO0FBQUEsVUFDeEU7QUFDQSxpQkFBTztBQUFBLFlBQ0wsTUFBTSxJQUFJLENBQUMsUUFBUSxVQUFVO0FBQzNCLGtCQUFJLE9BQU8sV0FBVyxVQUFVO0FBQzlCLHNCQUFNLElBQUksVUFBVSxhQUFhLE1BQU0sSUFBSSxJQUFJLEtBQUssa0JBQWtCO0FBQUEsY0FDeEU7QUFDQSxxQkFBTyxZQUFZLE1BQU07QUFBQSxZQUMzQixDQUFDLEVBQUUsS0FBSyxTQUFTO0FBQUEsVUFDbkI7QUFBQSxRQUNGO0FBQUEsTUFDRjtBQUNBLGFBQU8sQ0FBQyxTQUFTO0FBQ2YsY0FBTSxRQUFRLEtBQUssTUFBTSxJQUFJO0FBQzdCLFlBQUksU0FBUztBQUNYLGlCQUFPLENBQUMsSUFBSSxNQUFNLElBQUk7QUFDeEIsWUFBSSxPQUFPLFVBQVUsVUFBVTtBQUM3QixnQkFBTSxJQUFJLFVBQVUsYUFBYSxNQUFNLElBQUksa0JBQWtCO0FBQUEsUUFDL0Q7QUFDQSxlQUFPLENBQUMsWUFBWSxLQUFLLENBQUM7QUFBQSxNQUM1QjtBQUFBLElBQ0Y7QUFDQSxhQUFTLE1BQU0sTUFBTSxVQUFVLENBQUMsR0FBRztBQUNqQyxZQUFNLEVBQUUsU0FBUyxvQkFBb0IsWUFBWSxrQkFBa0IsSUFBSTtBQUN2RSxZQUFNLEVBQUUsUUFBUSxLQUFLLElBQUksYUFBYSxNQUFNLE9BQU87QUFDbkQsWUFBTSxXQUFXLEtBQUssSUFBSSxDQUFDLFFBQVE7QUFDakMsWUFBSSxXQUFXO0FBQ2IsaUJBQU87QUFDVCxZQUFJLElBQUksU0FBUztBQUNmLGlCQUFPO0FBQ1QsZUFBTyxDQUFDLFVBQVUsTUFBTSxNQUFNLFNBQVMsRUFBRSxJQUFJLE1BQU07QUFBQSxNQUNyRCxDQUFDO0FBQ0QsYUFBTyxTQUFTLE9BQU8sT0FBTztBQUM1QixjQUFNLElBQUksT0FBTyxLQUFLLEtBQUs7QUFDM0IsWUFBSSxDQUFDO0FBQ0gsaUJBQU87QUFDVCxjQUFNLFFBQVEsRUFBRSxDQUFDO0FBQ2pCLGNBQU0sU0FBeUIsdUJBQU8sT0FBTyxJQUFJO0FBQ2pELGlCQUFTLElBQUksR0FBRyxJQUFJLEVBQUUsUUFBUSxLQUFLO0FBQ2pDLGNBQUksRUFBRSxDQUFDLE1BQU07QUFDWDtBQUNGLGdCQUFNLE1BQU0sS0FBSyxJQUFJLENBQUM7QUFDdEIsZ0JBQU0sVUFBVSxTQUFTLElBQUksQ0FBQztBQUM5QixpQkFBTyxJQUFJLElBQUksSUFBSSxRQUFRLEVBQUUsQ0FBQyxDQUFDO0FBQUEsUUFDakM7QUFDQSxlQUFPLEVBQUUsTUFBTSxPQUFPLE9BQU87QUFBQSxNQUMvQjtBQUFBLElBQ0Y7QUFDQSxhQUFTLGFBQWEsTUFBTSxVQUFVLENBQUMsR0FBRztBQUN4QyxZQUFNLEVBQUUsWUFBWSxtQkFBbUIsTUFBTSxNQUFNLFlBQVksT0FBTyxXQUFXLEtBQUssSUFBSTtBQUMxRixZQUFNLE9BQU8sQ0FBQztBQUNkLFlBQU0sVUFBVSxDQUFDO0FBQ2pCLFlBQU0sUUFBUSxZQUFZLEtBQUs7QUFDL0IsWUFBTSxRQUFRLE1BQU0sUUFBUSxJQUFJLElBQUksT0FBTyxDQUFDLElBQUk7QUFDaEQsWUFBTSxRQUFRLE1BQU0sSUFBSSxDQUFDLFVBQVUsaUJBQWlCLFlBQVksUUFBUSxNQUFNLE9BQU8sT0FBTyxDQUFDO0FBQzdGLGlCQUFXLEVBQUUsT0FBTyxLQUFLLE9BQU87QUFDOUIsbUJBQVcsT0FBTyxRQUFRLFFBQVEsR0FBRyxDQUFDLENBQUMsR0FBRztBQUN4QyxnQkFBTSxVQUFVLGlCQUFpQixLQUFLLFdBQVcsSUFBSTtBQUNyRCxrQkFBUSxLQUFLLE9BQU87QUFBQSxRQUN0QjtBQUFBLE1BQ0Y7QUFDQSxVQUFJLFVBQVUsT0FBTyxRQUFRLEtBQUssR0FBRyxDQUFDO0FBQ3RDLFVBQUk7QUFDRixtQkFBVyxNQUFNLFFBQVEsU0FBUyxDQUFDO0FBQ3JDLGlCQUFXLE1BQU0sTUFBTSxNQUFNLFFBQVEsU0FBUyxDQUFDO0FBQy9DLFlBQU0sU0FBUyxJQUFJLE9BQU8sU0FBUyxLQUFLO0FBQ3hDLGFBQU8sRUFBRSxRQUFRLEtBQUs7QUFBQSxJQUN4QjtBQUNBLGNBQVUsUUFBUSxRQUFRLE9BQU8sTUFBTTtBQUNyQyxVQUFJLFVBQVUsT0FBTyxRQUFRO0FBQzNCLGVBQU8sTUFBTTtBQUFBLE1BQ2Y7QUFDQSxZQUFNLFFBQVEsT0FBTyxLQUFLO0FBQzFCLFVBQUksTUFBTSxTQUFTLFNBQVM7QUFDMUIsY0FBTSxPQUFPLEtBQUssTUFBTTtBQUN4QixtQkFBVyxPQUFPLFFBQVEsTUFBTSxRQUFRLEdBQUcsSUFBSSxHQUFHO0FBQ2hELGlCQUFPLFFBQVEsUUFBUSxRQUFRLEdBQUcsR0FBRztBQUFBLFFBQ3ZDO0FBQUEsTUFDRixPQUFPO0FBQ0wsYUFBSyxLQUFLLEtBQUs7QUFBQSxNQUNqQjtBQUNBLGFBQU8sUUFBUSxRQUFRLFFBQVEsR0FBRyxJQUFJO0FBQUEsSUFDeEM7QUFDQSxhQUFTLGlCQUFpQixRQUFRLFdBQVcsTUFBTTtBQUNqRCxVQUFJLFNBQVM7QUFDYixVQUFJLFlBQVk7QUFDaEIsVUFBSSxxQkFBcUI7QUFDekIsZUFBUyxJQUFJLEdBQUcsSUFBSSxPQUFPLFFBQVEsS0FBSztBQUN0QyxjQUFNLFFBQVEsT0FBTyxDQUFDO0FBQ3RCLFlBQUksTUFBTSxTQUFTLFFBQVE7QUFDekIsb0JBQVUsUUFBUSxNQUFNLEtBQUs7QUFDN0IsdUJBQWEsTUFBTTtBQUNuQixpQ0FBdUIscUJBQXFCLE1BQU0sTUFBTSxTQUFTLFNBQVM7QUFDMUU7QUFBQSxRQUNGO0FBQ0EsWUFBSSxNQUFNLFNBQVMsV0FBVyxNQUFNLFNBQVMsWUFBWTtBQUN2RCxjQUFJLENBQUMsc0JBQXNCLENBQUMsV0FBVztBQUNyQyxrQkFBTSxJQUFJLFVBQVUsdUJBQXVCLE1BQU0sSUFBSSxNQUFNLFNBQVMsRUFBRTtBQUFBLFVBQ3hFO0FBQ0EsY0FBSSxNQUFNLFNBQVMsU0FBUztBQUMxQixzQkFBVSxJQUFJLE9BQU8sV0FBVyxxQkFBcUIsS0FBSyxTQUFTLENBQUM7QUFBQSxVQUN0RSxPQUFPO0FBQ0wsc0JBQVU7QUFBQSxVQUNaO0FBQ0EsZUFBSyxLQUFLLEtBQUs7QUFDZixzQkFBWTtBQUNaLCtCQUFxQjtBQUNyQjtBQUFBLFFBQ0Y7QUFBQSxNQUNGO0FBQ0EsYUFBTztBQUFBLElBQ1Q7QUFDQSxhQUFTLE9BQU8sV0FBVyxXQUFXO0FBQ3BDLFVBQUksVUFBVSxTQUFTLEdBQUc7QUFDeEIsWUFBSSxVQUFVLFNBQVM7QUFDckIsaUJBQU8sS0FBSyxRQUFRLFlBQVksU0FBUyxDQUFDO0FBQzVDLGVBQU8sU0FBUyxRQUFRLFNBQVMsQ0FBQyxNQUFNLFFBQVEsU0FBUyxDQUFDO0FBQUEsTUFDNUQ7QUFDQSxVQUFJLFVBQVUsU0FBUyxHQUFHO0FBQ3hCLGVBQU8sU0FBUyxRQUFRLFNBQVMsQ0FBQyxNQUFNLFFBQVEsU0FBUyxDQUFDO0FBQUEsTUFDNUQ7QUFDQSxhQUFPLFNBQVMsUUFBUSxTQUFTLENBQUMsSUFBSSxRQUFRLFNBQVMsQ0FBQztBQUFBLElBQzFEO0FBQ0EsYUFBUyxVQUFVLE1BQU07QUFDdkIsYUFBTyxLQUFLLE9BQU8sSUFBSSxTQUFTLGVBQWUsT0FBTyxPQUFPLFFBQVE7QUFDbkUsWUFBSSxNQUFNLFNBQVM7QUFDakIsaUJBQU8sV0FBVyxNQUFNLEtBQUs7QUFDL0IsWUFBSSxNQUFNLFNBQVMsU0FBUztBQUMxQixpQkFBTyxJQUFJLE1BQU0sT0FBTyxJQUFJLGNBQWMsRUFBRSxLQUFLLEVBQUUsQ0FBQztBQUFBLFFBQ3REO0FBQ0EsY0FBTSxTQUFTLFdBQVcsTUFBTSxJQUFJLEtBQUssZUFBZSxPQUFPLFFBQVEsQ0FBQyxDQUFDO0FBQ3pFLGNBQU0sTUFBTSxTQUFTLE1BQU0sT0FBTyxLQUFLLFVBQVUsTUFBTSxJQUFJO0FBQzNELFlBQUksTUFBTSxTQUFTO0FBQ2pCLGlCQUFPLElBQUksR0FBRztBQUNoQixZQUFJLE1BQU0sU0FBUztBQUNqQixpQkFBTyxJQUFJLEdBQUc7QUFDaEIsY0FBTSxJQUFJLFVBQVUscUJBQXFCLEtBQUssRUFBRTtBQUFBLE1BQ2xELENBQUMsRUFBRSxLQUFLLEVBQUU7QUFBQSxJQUNaO0FBQ0EsYUFBUyxXQUFXLE1BQU07QUFDeEIsWUFBTSxDQUFDLE9BQU8sR0FBRyxJQUFJLElBQUk7QUFDekIsVUFBSSxDQUFDLFNBQVMsS0FBSyxLQUFLO0FBQ3RCLGVBQU87QUFDVCxhQUFPLEtBQUssTUFBTSxDQUFDLFNBQVMsWUFBWSxLQUFLLElBQUksQ0FBQztBQUFBLElBQ3BEO0FBQ0EsYUFBUyxlQUFlLE9BQU87QUFDN0IsV0FBSyxVQUFVLFFBQVEsVUFBVSxTQUFTLFNBQVMsTUFBTSxVQUFVO0FBQ2pFLGVBQU87QUFDVCxhQUFPLENBQUMsWUFBWSxLQUFLLE1BQU0sTUFBTSxDQUFDLENBQUM7QUFBQSxJQUN6QztBQUFBLEVBQ0Y7QUFDRixDQUFDO0FBR0QsSUFBSSxnQkFBZ0JBLFlBQVc7QUFBQSxFQUM3QixtQ0FBbUMsVUFBVSxTQUFTO0FBQ3BEO0FBQ0EsUUFBSSxZQUFZLG1CQUFtQjtBQUNuQyxRQUFJLGFBQWEsYUFBYTtBQUM5QixRQUFJLFFBQVEsWUFBWSxFQUFFLGNBQWM7QUFDeEMsUUFBSSxZQUFZLGFBQWEsRUFBRSxRQUFRO0FBQ3ZDLFFBQUksd0JBQXdCO0FBQzVCLFFBQUksd0JBQXdCO0FBQzVCLFlBQVEsVUFBVTtBQUNsQixhQUFTLE1BQU0sTUFBTSxTQUFTLElBQUk7QUFDaEMsVUFBSSxFQUFFLGdCQUFnQixRQUFRO0FBQzVCLGVBQU8sSUFBSSxNQUFNLE1BQU0sU0FBUyxFQUFFO0FBQUEsTUFDcEM7QUFDQSxZQUFNLFVBQVUsSUFBSTtBQUNwQixZQUFNLE9BQU8sV0FBVyxDQUFDO0FBQ3pCLFdBQUssU0FBUztBQUNkLFdBQUssT0FBTyxDQUFDO0FBQ2IsV0FBSyxPQUFPLEdBQUcsUUFBUTtBQUN2QixXQUFLLFNBQVM7QUFDZCxXQUFLLE9BQU87QUFDWixXQUFLLFFBQVEsU0FBUyxPQUFPLEtBQUssUUFBUTtBQUMxQyxlQUFTLFFBQVEsT0FBTztBQUN0QixZQUFJLGlCQUFpQixRQUFRO0FBQzNCLGdCQUFNLE9BQU8sQ0FBQztBQUNkLGNBQUksT0FBTztBQUNYLGNBQUk7QUFDSixpQkFBTyxJQUFJLHNCQUFzQixLQUFLLE1BQU0sTUFBTSxHQUFHO0FBQ25ELGlCQUFLLEtBQUs7QUFBQSxjQUNSLE1BQU0sRUFBRSxDQUFDLEtBQUs7QUFBQSxjQUNkLFFBQVEsRUFBRTtBQUFBLFlBQ1osQ0FBQztBQUFBLFVBQ0g7QUFDQSxpQkFBTyxTQUFTLGNBQWMsR0FBRztBQUMvQixrQkFBTSxRQUFRLE1BQU0sS0FBSyxDQUFDO0FBQzFCLGdCQUFJLENBQUMsT0FBTztBQUNWLHFCQUFPO0FBQUEsWUFDVDtBQUNBLGtCQUFNLFNBQVMsQ0FBQztBQUNoQixxQkFBUyxJQUFJLEdBQUcsSUFBSSxNQUFNLFFBQVEsS0FBSztBQUNyQyxvQkFBTSxNQUFNLEtBQUssSUFBSSxDQUFDO0FBQ3RCLG9CQUFNLE9BQU8sSUFBSTtBQUNqQixvQkFBTSxNQUFNLFlBQVksTUFBTSxDQUFDLENBQUM7QUFDaEMsa0JBQUksUUFBUSxRQUFRO0FBQ2xCLHVCQUFPLElBQUksSUFBSTtBQUFBLGNBQ2pCO0FBQUEsWUFDRjtBQUNBLG1CQUFPO0FBQUEsY0FDTDtBQUFBLGNBQ0EsTUFBTSxNQUFNLENBQUM7QUFBQSxZQUNmO0FBQUEsVUFDRjtBQUFBLFFBQ0Y7QUFDQSxlQUFPLFdBQVcsTUFBTSxLQUFLLFNBQVMsUUFBUSxPQUFPLEtBQUssR0FBRztBQUFBLFVBQzNELFdBQVcsS0FBSztBQUFBLFVBQ2hCLEtBQUssS0FBSztBQUFBLFVBQ1YsVUFBVSxDQUFDLEtBQUs7QUFBQSxVQUNoQixRQUFRO0FBQUEsUUFDVixDQUFDO0FBQUEsTUFDSDtBQUNBLFdBQUssV0FBVyxNQUFNLFFBQVEsSUFBSSxJQUFJLEtBQUssSUFBSSxPQUFPLElBQUksQ0FBQyxRQUFRLElBQUksQ0FBQztBQUFBLElBQzFFO0FBQ0EsVUFBTSxVQUFVLGNBQWMsU0FBUyxZQUFZLE9BQU8sS0FBSyxLQUFLLE1BQU07QUFDeEUsWUFBTSxLQUFLLEtBQUs7QUFDaEIsVUFBSSxHQUFHLFdBQVcsR0FBRztBQUNuQixlQUFPLEtBQUssS0FBSztBQUFBLE1BQ25CO0FBQ0EsVUFBSTtBQUNGLGNBQU0sTUFBTSxHQUFHLE9BQU8sS0FBSyxLQUFLLElBQUk7QUFDcEMsWUFBSSxVQUFVLEdBQUcsR0FBRztBQUNsQixjQUFJLEVBQUUsZUFBZSxVQUFVO0FBQzdCLHNCQUFVLDZFQUE2RTtBQUFBLFVBQ3pGO0FBQ0EsY0FBSSxLQUFLLE1BQU0sU0FBUyxRQUFRO0FBQzlCLGlCQUFLLFVBQVUsSUFBSSxNQUFNLGtCQUFrQixDQUFDO0FBQUEsVUFDOUMsQ0FBQztBQUFBLFFBQ0g7QUFBQSxNQUNGLFNBQVMsTUFBTTtBQUNiLGFBQUssSUFBSTtBQUFBLE1BQ1g7QUFBQSxJQUNGO0FBQ0EsVUFBTSxVQUFVLGdCQUFnQixTQUFTLGNBQWMsS0FBSyxLQUFLLE1BQU07QUFDckUsWUFBTSxLQUFLLEtBQUs7QUFDaEIsVUFBSSxHQUFHLFNBQVMsR0FBRztBQUNqQixlQUFPLEtBQUs7QUFBQSxNQUNkO0FBQ0EsVUFBSTtBQUNGLGNBQU0sTUFBTSxHQUFHLEtBQUssS0FBSyxJQUFJO0FBQzdCLFlBQUksVUFBVSxHQUFHLEdBQUc7QUFDbEIsY0FBSSxFQUFFLGVBQWUsVUFBVTtBQUM3QixzQkFBVSw2RUFBNkU7QUFBQSxVQUN6RjtBQUNBLGNBQUksS0FBSyxNQUFNLFNBQVMsT0FBTztBQUM3QixpQkFBSyxTQUFTLElBQUksTUFBTSxrQkFBa0IsQ0FBQztBQUFBLFVBQzdDLENBQUM7QUFBQSxRQUNIO0FBQUEsTUFDRixTQUFTLE1BQU07QUFDYixhQUFLLElBQUk7QUFBQSxNQUNYO0FBQUEsSUFDRjtBQUNBLFVBQU0sVUFBVSxRQUFRLFNBQVMsTUFBTSxNQUFNO0FBQzNDLFVBQUk7QUFDSixVQUFJLFFBQVEsTUFBTTtBQUNoQixZQUFJLEtBQUssT0FBTztBQUNkLGVBQUssU0FBUyxDQUFDO0FBQ2YsZUFBSyxPQUFPO0FBQ1osaUJBQU87QUFBQSxRQUNUO0FBQ0EsWUFBSSxJQUFJO0FBQ1IsZUFBTyxDQUFDLFVBQVUsSUFBSSxLQUFLLFNBQVMsUUFBUTtBQUMxQyxtQkFBUyxLQUFLLFNBQVMsQ0FBQyxFQUFFLElBQUk7QUFDOUI7QUFBQSxRQUNGO0FBQUEsTUFDRjtBQUNBLFVBQUksQ0FBQyxRQUFRO0FBQ1gsYUFBSyxTQUFTO0FBQ2QsYUFBSyxPQUFPO0FBQ1osZUFBTztBQUFBLE1BQ1Q7QUFDQSxXQUFLLFNBQVMsT0FBTztBQUNyQixXQUFLLE9BQU8sT0FBTztBQUNuQixXQUFLLE9BQU8sT0FBTyxLQUFLLE9BQU8sTUFBTTtBQUNyQyxhQUFPO0FBQUEsSUFDVDtBQUNBLGFBQVMsWUFBWSxLQUFLO0FBQ3hCLFVBQUksT0FBTyxRQUFRLFlBQVksSUFBSSxXQUFXLEdBQUc7QUFDL0MsZUFBTztBQUFBLE1BQ1Q7QUFDQSxVQUFJO0FBQ0YsZUFBTyxtQkFBbUIsR0FBRztBQUFBLE1BQy9CLFNBQVMsTUFBTTtBQUNiLFlBQUksZ0JBQWdCLFVBQVU7QUFDNUIsZUFBSyxVQUFVLDZCQUE2QixNQUFNO0FBQ2xELGVBQUssU0FBUztBQUFBLFFBQ2hCO0FBQ0EsY0FBTTtBQUFBLE1BQ1I7QUFBQSxJQUNGO0FBQ0EsYUFBUyxPQUFPLE1BQU07QUFDcEIsVUFBSSxnQkFBZ0IsVUFBVSxTQUFTLEtBQUs7QUFDMUMsZUFBTztBQUFBLE1BQ1Q7QUFDQSxhQUFPLE1BQU0sUUFBUSxJQUFJLElBQUksS0FBSyxJQUFJLFNBQVMsR0FBRztBQUNoRCxlQUFPLE9BQU8sQ0FBQztBQUFBLE1BQ2pCLENBQUMsSUFBSSxPQUFPLElBQUksRUFBRSxRQUFRLHVCQUF1QixFQUFFO0FBQUEsSUFDckQ7QUFBQSxFQUNGO0FBQ0YsQ0FBQztBQUdELElBQUksZ0JBQWdCQSxZQUFXO0FBQUEsRUFDN0IsbUNBQW1DLFVBQVUsU0FBUztBQUNwRDtBQUNBLFFBQUksUUFBUSxZQUFZLEVBQUUsY0FBYztBQUN4QyxRQUFJLFFBQVEsY0FBYztBQUMxQixRQUFJLEVBQUUsUUFBUSxJQUFJLFFBQVEsV0FBVztBQUNyQyxRQUFJLFFBQVEsTUFBTSxVQUFVO0FBQzVCLFFBQUksVUFBVSxNQUFNLFVBQVU7QUFDOUIsUUFBSSxVQUFVLFFBQVEsSUFBSSxDQUFDLFdBQVcsT0FBTyxZQUFZLENBQUM7QUFDMUQsWUFBUSxVQUFVO0FBQ2xCLGFBQVMsTUFBTSxNQUFNO0FBQ25CLFlBQU0sVUFBVSxJQUFJO0FBQ3BCLFdBQUssT0FBTztBQUNaLFdBQUssUUFBUSxDQUFDO0FBQ2QsV0FBSyxVQUEwQix1QkFBTyxPQUFPLElBQUk7QUFBQSxJQUNuRDtBQUNBLFVBQU0sVUFBVSxpQkFBaUIsU0FBUyxlQUFlLFFBQVE7QUFDL0QsVUFBSSxLQUFLLFFBQVEsTUFBTTtBQUNyQixlQUFPO0FBQUEsTUFDVDtBQUNBLFVBQUksT0FBTyxPQUFPLFdBQVcsV0FBVyxPQUFPLFlBQVksSUFBSTtBQUMvRCxVQUFJLFNBQVMsVUFBVSxDQUFDLEtBQUssUUFBUSxNQUFNO0FBQ3pDLGVBQU87QUFBQSxNQUNUO0FBQ0EsYUFBTyxRQUFRLEtBQUssUUFBUSxJQUFJLENBQUM7QUFBQSxJQUNuQztBQUNBLFVBQU0sVUFBVSxXQUFXLFNBQVMsV0FBVztBQUM3QyxZQUFNLFdBQVcsT0FBTyxLQUFLLEtBQUssT0FBTztBQUN6QyxVQUFJLEtBQUssUUFBUSxPQUFPLENBQUMsS0FBSyxRQUFRLE1BQU07QUFDMUMsaUJBQVMsS0FBSyxNQUFNO0FBQUEsTUFDdEI7QUFDQSxlQUFTLElBQUksR0FBRyxJQUFJLFNBQVMsUUFBUSxLQUFLO0FBQ3hDLGlCQUFTLENBQUMsSUFBSSxTQUFTLENBQUMsRUFBRSxZQUFZO0FBQUEsTUFDeEM7QUFDQSxhQUFPO0FBQUEsSUFDVDtBQUNBLFVBQU0sVUFBVSxXQUFXLFNBQVMsU0FBUyxLQUFLLEtBQUssTUFBTTtBQUMzRCxVQUFJLE1BQU07QUFDVixZQUFNLFFBQVEsS0FBSztBQUNuQixVQUFJLE9BQU87QUFDWCxVQUFJLE1BQU0sV0FBVyxHQUFHO0FBQ3RCLGVBQU8sS0FBSztBQUFBLE1BQ2Q7QUFDQSxVQUFJLFNBQVMsT0FBTyxJQUFJLFdBQVcsV0FBVyxJQUFJLE9BQU8sWUFBWSxJQUFJLElBQUk7QUFDN0UsVUFBSSxXQUFXLFVBQVUsQ0FBQyxLQUFLLFFBQVEsTUFBTTtBQUMzQyxpQkFBUztBQUFBLE1BQ1g7QUFDQSxVQUFJLFFBQVE7QUFDWixXQUFLO0FBQ0wsZUFBUyxLQUFLLE1BQU07QUFDbEIsWUFBSSxRQUFRLFNBQVMsU0FBUztBQUM1QixpQkFBTyxLQUFLO0FBQUEsUUFDZDtBQUNBLFlBQUksUUFBUSxTQUFTLFVBQVU7QUFDN0IsaUJBQU8sS0FBSyxJQUFJO0FBQUEsUUFDbEI7QUFDQSxZQUFJLE9BQU8sTUFBTSxRQUFRO0FBQ3ZCLGlCQUFPLEtBQUssSUFBSTtBQUFBLFFBQ2xCO0FBQ0EsWUFBSSxFQUFFLE9BQU8sS0FBSztBQUNoQixpQkFBTyxhQUFhLE1BQU0sSUFBSTtBQUFBLFFBQ2hDO0FBQ0EsWUFBSTtBQUNKLFlBQUk7QUFDSixlQUFPLFVBQVUsUUFBUSxNQUFNLE1BQU0sUUFBUTtBQUMzQyxrQkFBUSxNQUFNLEtBQUs7QUFDbkIsa0JBQVEsQ0FBQyxNQUFNLFVBQVUsTUFBTSxXQUFXO0FBQUEsUUFDNUM7QUFDQSxZQUFJLFVBQVUsTUFBTTtBQUNsQixpQkFBTyxLQUFLLElBQUk7QUFBQSxRQUNsQjtBQUNBLFlBQUksTUFBTTtBQUNSLGdCQUFNLFlBQVksTUFBTSxLQUFLLEtBQUssSUFBSTtBQUFBLFFBQ3hDLE9BQU87QUFDTCxnQkFBTSxjQUFjLEtBQUssS0FBSyxJQUFJO0FBQUEsUUFDcEM7QUFDQSxlQUFPO0FBQUEsTUFDVDtBQUFBLElBQ0Y7QUFDQSxVQUFNLFVBQVUsTUFBTSxTQUFTLElBQUksU0FBUztBQUMxQyxZQUFNLFlBQVksUUFBUSxLQUFLLE1BQU0sS0FBSyxTQUFTLEdBQUcsUUFBUTtBQUM5RCxVQUFJLFVBQVUsV0FBVyxHQUFHO0FBQzFCLGNBQU0sSUFBSSxVQUFVLDhCQUE4QjtBQUFBLE1BQ3BEO0FBQ0EsZUFBUyxJQUFJLEdBQUcsSUFBSSxVQUFVLFFBQVEsS0FBSztBQUN6QyxjQUFNLEtBQUssVUFBVSxDQUFDO0FBQ3RCLFlBQUksT0FBTyxPQUFPLFlBQVk7QUFDNUIsZ0JBQU0sSUFBSSxVQUFVLHFDQUFxQztBQUFBLFFBQzNEO0FBQ0EsY0FBTSxRQUFRLE1BQU0sS0FBSyxDQUFDLEdBQUcsRUFBRTtBQUMvQixjQUFNLFNBQVM7QUFDZixhQUFLLFFBQVEsT0FBTztBQUNwQixhQUFLLE1BQU0sS0FBSyxLQUFLO0FBQUEsTUFDdkI7QUFDQSxhQUFPO0FBQUEsSUFDVDtBQUNBLFlBQVEsUUFBUSxTQUFTLFFBQVE7QUFDL0IsWUFBTSxVQUFVLE1BQU0sSUFBSSxTQUFTLFNBQVM7QUFDMUMsY0FBTSxZQUFZLFFBQVEsS0FBSyxNQUFNLEtBQUssU0FBUyxHQUFHLFFBQVE7QUFDOUQsWUFBSSxVQUFVLFdBQVcsR0FBRztBQUMxQixnQkFBTSxJQUFJLFVBQVUsOEJBQThCO0FBQUEsUUFDcEQ7QUFDQSxpQkFBUyxJQUFJLEdBQUcsSUFBSSxVQUFVLFFBQVEsS0FBSztBQUN6QyxnQkFBTSxLQUFLLFVBQVUsQ0FBQztBQUN0QixjQUFJLE9BQU8sT0FBTyxZQUFZO0FBQzVCLGtCQUFNLElBQUksVUFBVSxxQ0FBcUM7QUFBQSxVQUMzRDtBQUNBLGdCQUFNLFNBQVMsUUFBUSxLQUFLLElBQUk7QUFDaEMsZ0JBQU0sUUFBUSxNQUFNLEtBQUssQ0FBQyxHQUFHLEVBQUU7QUFDL0IsZ0JBQU0sU0FBUztBQUNmLGVBQUssUUFBUSxNQUFNLElBQUk7QUFDdkIsZUFBSyxNQUFNLEtBQUssS0FBSztBQUFBLFFBQ3ZCO0FBQ0EsZUFBTztBQUFBLE1BQ1Q7QUFBQSxJQUNGLENBQUM7QUFBQSxFQUNIO0FBQ0YsQ0FBQztBQUdELElBQUksaUJBQWlCQSxZQUFXO0FBQUEsRUFDOUIsK0JBQStCLFVBQVUsU0FBUztBQUNoRDtBQUNBLFFBQUksWUFBWSxtQkFBbUI7QUFDbkMsUUFBSSxRQUFRLGNBQWM7QUFDMUIsUUFBSSxFQUFFLFFBQVEsSUFBSSxRQUFRLFdBQVc7QUFDckMsUUFBSSxXQUFXLGlCQUFpQjtBQUNoQyxRQUFJLFFBQVEsY0FBYztBQUMxQixRQUFJLFFBQVEsWUFBWSxFQUFFLFFBQVE7QUFDbEMsUUFBSSxZQUFZLGFBQWEsRUFBRSxRQUFRO0FBQ3ZDLFFBQUksUUFBUSxNQUFNLFVBQVU7QUFDNUIsUUFBSSxVQUFVLE1BQU0sVUFBVTtBQUM5QixRQUFJLFVBQVUsUUFBUSxJQUFJLENBQUMsV0FBVyxPQUFPLFlBQVksQ0FBQztBQUMxRCxZQUFRLFVBQVU7QUFDbEIsWUFBUSxRQUFRLFFBQVE7QUFDeEIsYUFBUyxPQUFPLFNBQVM7QUFDdkIsVUFBSSxFQUFFLGdCQUFnQixTQUFTO0FBQzdCLGVBQU8sSUFBSSxPQUFPLE9BQU87QUFBQSxNQUMzQjtBQUNBLFlBQU0sT0FBTyxXQUFXLENBQUM7QUFDekIsZUFBUyxPQUFPLEtBQUssS0FBSyxNQUFNO0FBQzlCLGVBQU8sT0FBTyxLQUFLLEtBQUssSUFBSTtBQUFBLE1BQzlCO0FBQ0EsYUFBTyxlQUFlLFFBQVEsSUFBSTtBQUNsQyxhQUFPLGdCQUFnQixLQUFLO0FBQzVCLGFBQU8sY0FBYyxLQUFLO0FBQzFCLGFBQU8sU0FBUyxDQUFDO0FBQ2pCLGFBQU8sU0FBUyxLQUFLO0FBQ3JCLGFBQU8sUUFBUSxDQUFDO0FBQ2hCLGFBQU87QUFBQSxJQUNUO0FBQ0EsV0FBTyxZQUFZLFdBQVc7QUFBQSxJQUM5QjtBQUNBLFdBQU8sVUFBVSxRQUFRLFNBQVMsTUFBTSxNQUFNLElBQUk7QUFDaEQsVUFBSSxDQUFDLE1BQU07QUFDVCxjQUFNLElBQUksVUFBVSwyQkFBMkI7QUFBQSxNQUNqRDtBQUNBLFVBQUksT0FBTyxTQUFTLFVBQVU7QUFDNUIsY0FBTSxJQUFJLFVBQVUsZ0NBQWdDO0FBQUEsTUFDdEQ7QUFDQSxVQUFJLENBQUMsSUFBSTtBQUNQLGNBQU0sSUFBSSxVQUFVLHlCQUF5QjtBQUFBLE1BQy9DO0FBQ0EsVUFBSSxPQUFPLE9BQU8sWUFBWTtBQUM1QixjQUFNLElBQUksVUFBVSxnQ0FBZ0M7QUFBQSxNQUN0RDtBQUNBLFVBQUksU0FBUyxLQUFLLE9BQU8sSUFBSTtBQUM3QixVQUFJLENBQUMsUUFBUTtBQUNYLGlCQUFTLEtBQUssT0FBTyxJQUFJLElBQUksQ0FBQztBQUFBLE1BQ2hDO0FBQ0EsYUFBTyxLQUFLLEVBQUU7QUFDZCxhQUFPO0FBQUEsSUFDVDtBQUNBLFdBQU8sVUFBVSxTQUFTLFNBQVMsT0FBTyxLQUFLLEtBQUssVUFBVTtBQUM1RCxVQUFJLENBQUMsVUFBVTtBQUNiLGNBQU0sSUFBSSxVQUFVLCtCQUErQjtBQUFBLE1BQ3JEO0FBQ0EsWUFBTSxxQkFBcUIsSUFBSSxRQUFRLElBQUksR0FBRztBQUM5QyxVQUFJLE1BQU07QUFDVixVQUFJO0FBQ0osWUFBTSxZQUFZLGFBQWEsSUFBSSxHQUFHLEtBQUs7QUFDM0MsVUFBSSxVQUFVO0FBQ2QsWUFBTSxRQUFRO0FBQ2QsVUFBSSxhQUFhO0FBQ2pCLFVBQUksT0FBTztBQUNYLFlBQU0sY0FBYyxDQUFDO0FBQ3JCLFlBQU0sUUFBUSxLQUFLO0FBQ25CLFlBQU0sZUFBZSxJQUFJO0FBQ3pCLFlBQU0sWUFBWSxJQUFJLFdBQVc7QUFDakMsVUFBSSxPQUFPLFFBQVEsVUFBVSxLQUFLLFdBQVcsUUFBUSxRQUFRO0FBQzdELFVBQUksT0FBTztBQUNYLFVBQUksSUFBSSxXQUFXLFdBQVc7QUFDNUIsbUJBQVcsQ0FBQztBQUNaLGVBQU8sS0FBSyxNQUFNLHlCQUF5QixLQUFLLFFBQVEsQ0FBQztBQUFBLE1BQzNEO0FBQ0EsVUFBSSxVQUFVO0FBQ2QsVUFBSSxjQUFjLElBQUksZUFBZSxJQUFJO0FBQ3pDLFdBQUs7QUFDTCxlQUFTLEtBQUssTUFBTTtBQUNsQixZQUFJLGFBQWEsU0FBUyxVQUFVLE9BQU87QUFDM0MsWUFBSSxZQUFZO0FBQ2QsY0FBSSxNQUFNLElBQUksSUFBSSxNQUFNLENBQUM7QUFDekIsdUJBQWE7QUFBQSxRQUNmO0FBQ0EsWUFBSSxRQUFRLFdBQVcsR0FBRztBQUN4QixjQUFJLFVBQVU7QUFDZCxjQUFJLE1BQU0sWUFBWSxVQUFVLElBQUksSUFBSSxNQUFNLFVBQVUsTUFBTTtBQUM5RCxvQkFBVTtBQUFBLFFBQ1o7QUFDQSxZQUFJLGVBQWUsVUFBVTtBQUMzQix1QkFBYSxNQUFNLElBQUk7QUFDdkI7QUFBQSxRQUNGO0FBQ0EsWUFBSSxPQUFPLE1BQU0sUUFBUTtBQUN2Qix1QkFBYSxNQUFNLFVBQVU7QUFDN0I7QUFBQSxRQUNGO0FBQ0EsWUFBSSxFQUFFLE9BQU8sS0FBSztBQUNoQixpQkFBTyxhQUFhLE1BQU0sSUFBSTtBQUFBLFFBQ2hDO0FBQ0EsY0FBTSxPQUFPLFlBQVksR0FBRztBQUM1QixZQUFJLFFBQVEsTUFBTTtBQUNoQixpQkFBTyxLQUFLLFVBQVU7QUFBQSxRQUN4QjtBQUNBLFlBQUk7QUFDSixZQUFJO0FBQ0osWUFBSTtBQUNKLGVBQU8sVUFBVSxRQUFRLE1BQU0sTUFBTSxRQUFRO0FBQzNDLGtCQUFRLE1BQU0sS0FBSztBQUNuQixrQkFBUSxXQUFXLE9BQU8sSUFBSTtBQUM5QixrQkFBUSxNQUFNO0FBQ2QsY0FBSSxPQUFPLFVBQVUsV0FBVztBQUM5Qix5QkFBYSxjQUFjO0FBQUEsVUFDN0I7QUFDQSxjQUFJLFVBQVUsTUFBTTtBQUNsQjtBQUFBLFVBQ0Y7QUFDQSxjQUFJLENBQUMsT0FBTztBQUNWO0FBQUEsVUFDRjtBQUNBLGNBQUksWUFBWTtBQUNkLG9CQUFRO0FBQ1I7QUFBQSxVQUNGO0FBQ0EsZ0JBQU0sU0FBUyxJQUFJO0FBQ25CLGdCQUFNLFlBQVksTUFBTSxlQUFlLE1BQU07QUFDN0MsY0FBSSxDQUFDLGFBQWEsV0FBVyxhQUFhLFVBQVU7QUFDbEQscUJBQVMsS0FBSyxNQUFNLFVBQVUsTUFBTSxTQUFTLENBQUM7QUFBQSxVQUNoRDtBQUNBLGNBQUksQ0FBQyxhQUFhLFdBQVcsUUFBUTtBQUNuQyxvQkFBUTtBQUFBLFVBQ1Y7QUFBQSxRQUNGO0FBQ0EsWUFBSSxVQUFVLE1BQU07QUFDbEIsaUJBQU8sS0FBSyxVQUFVO0FBQUEsUUFDeEI7QUFDQSxZQUFJLE9BQU87QUFDVCxjQUFJLFFBQVE7QUFBQSxRQUNkO0FBQ0EsWUFBSSxTQUFTLE1BQU0sY0FBYyxZQUFZLE1BQU0sUUFBUSxZQUFZLElBQUksTUFBTTtBQUNqRixjQUFNLFlBQVksTUFBTTtBQUN4QixzQkFBYyxNQUFNLFFBQVEsT0FBTyxhQUFhLEtBQUssS0FBSyxTQUFTLE1BQU07QUFDdkUsY0FBSSxNQUFNO0FBQ1IsaUJBQUssY0FBYyxJQUFJO0FBQUEsVUFDekIsV0FBVyxPQUFPO0FBQ2hCLGtCQUFNLGNBQWMsS0FBSyxLQUFLLElBQUk7QUFBQSxVQUNwQyxPQUFPO0FBQ0wsdUJBQVcsT0FBTyxZQUFZLFdBQVcsSUFBSTtBQUFBLFVBQy9DO0FBQ0EsaUJBQU87QUFBQSxRQUNULENBQUM7QUFBQSxNQUNIO0FBQ0EsZUFBUyxXQUFXLE9BQU8sWUFBWSxXQUFXLE1BQU07QUFDdEQsWUFBSSxVQUFVLFdBQVcsR0FBRztBQUMxQixjQUFJLGNBQWMsS0FBSyxVQUFVLEdBQUcsVUFBVSxNQUFNLEdBQUc7QUFDckQsaUJBQUssVUFBVTtBQUNmO0FBQUEsVUFDRjtBQUNBLGdCQUFNLElBQUksS0FBSyxVQUFVLE1BQU07QUFDL0IsY0FBSSxLQUFLLE1BQU0sS0FBSztBQUNsQixpQkFBSyxVQUFVO0FBQ2Y7QUFBQSxVQUNGO0FBQ0EsZ0JBQU0sZ0NBQWdDLFdBQVcsSUFBSSxHQUFHO0FBQ3hELG9CQUFVO0FBQ1YsY0FBSSxNQUFNLFlBQVksSUFBSSxJQUFJLE1BQU0sVUFBVSxTQUFTLFFBQVEsTUFBTTtBQUNyRSxjQUFJLENBQUMsYUFBYSxJQUFJLElBQUksQ0FBQyxNQUFNLEtBQUs7QUFDcEMsZ0JBQUksTUFBTSxNQUFNLElBQUk7QUFDcEIseUJBQWE7QUFBQSxVQUNmO0FBQ0EsY0FBSSxVQUFVLGFBQWEsUUFBUSxRQUFRLFNBQVMsQ0FBQyxNQUFNLE1BQU0sUUFBUSxVQUFVLEdBQUcsUUFBUSxTQUFTLENBQUMsSUFBSTtBQUFBLFFBQzlHO0FBQ0EsY0FBTSxjQUFjLE1BQU0sTUFBTSxXQUFXLElBQUksV0FBVztBQUMxRCxZQUFJLFlBQVk7QUFDZCxnQkFBTSxZQUFZLFlBQVksS0FBSyxLQUFLLElBQUk7QUFBQSxRQUM5QyxPQUFPO0FBQ0wsZ0JBQU0sY0FBYyxLQUFLLEtBQUssSUFBSTtBQUFBLFFBQ3BDO0FBQUEsTUFDRjtBQUFBLElBQ0Y7QUFDQSxXQUFPLFVBQVUsTUFBTSxTQUFTLElBQUksU0FBUztBQUMzQyxVQUFJLFNBQVM7QUFDYixVQUFJLE9BQU87QUFDWCxVQUFJLE9BQU8sWUFBWSxZQUFZO0FBQ2pDLFlBQUksTUFBTTtBQUNWLGVBQU8sTUFBTSxRQUFRLEdBQUcsS0FBSyxJQUFJLFdBQVcsR0FBRztBQUM3QyxnQkFBTSxJQUFJLENBQUM7QUFBQSxRQUNiO0FBQ0EsWUFBSSxPQUFPLFFBQVEsWUFBWTtBQUM3QixtQkFBUztBQUNULGlCQUFPO0FBQUEsUUFDVDtBQUFBLE1BQ0Y7QUFDQSxZQUFNLFlBQVksUUFBUSxLQUFLLE1BQU0sS0FBSyxXQUFXLE1BQU0sR0FBRyxRQUFRO0FBQ3RFLFVBQUksVUFBVSxXQUFXLEdBQUc7QUFDMUIsY0FBTSxJQUFJLFVBQVUsOEJBQThCO0FBQUEsTUFDcEQ7QUFDQSxlQUFTLElBQUksR0FBRyxJQUFJLFVBQVUsUUFBUSxLQUFLO0FBQ3pDLGNBQU0sS0FBSyxVQUFVLENBQUM7QUFDdEIsWUFBSSxPQUFPLE9BQU8sWUFBWTtBQUM1QixnQkFBTSxJQUFJLFVBQVUscUNBQXFDO0FBQUEsUUFDM0Q7QUFDQSxjQUFNLGFBQWEsTUFBTSxHQUFHLFFBQVEsYUFBYTtBQUNqRCxjQUFNLFFBQVEsSUFBSSxNQUFNLE1BQU07QUFBQSxVQUM1QixXQUFXLEtBQUs7QUFBQSxVQUNoQixRQUFRO0FBQUEsVUFDUixLQUFLO0FBQUEsUUFDUCxHQUFHLEVBQUU7QUFDTCxjQUFNLFFBQVE7QUFDZCxhQUFLLE1BQU0sS0FBSyxLQUFLO0FBQUEsTUFDdkI7QUFDQSxhQUFPO0FBQUEsSUFDVDtBQUNBLFdBQU8sVUFBVSxRQUFRLFNBQVMsTUFBTSxNQUFNO0FBQzVDLFlBQU0sU0FBUyxJQUFJLE1BQU0sSUFBSTtBQUM3QixZQUFNLFFBQVEsSUFBSSxNQUFNLE1BQU07QUFBQSxRQUM1QixXQUFXLEtBQUs7QUFBQSxRQUNoQixRQUFRLEtBQUs7QUFBQSxRQUNiLEtBQUs7QUFBQSxNQUNQLEdBQUcsTUFBTTtBQUNULGVBQVMsT0FBTyxLQUFLLEtBQUssTUFBTTtBQUM5QixlQUFPLFNBQVMsS0FBSyxLQUFLLElBQUk7QUFBQSxNQUNoQztBQUNBLFlBQU0sUUFBUTtBQUNkLFdBQUssTUFBTSxLQUFLLEtBQUs7QUFDckIsYUFBTztBQUFBLElBQ1Q7QUFDQSxZQUFRLE9BQU8sS0FBSyxFQUFFLFFBQVEsU0FBUyxRQUFRO0FBQzdDLGFBQU8sVUFBVSxNQUFNLElBQUksU0FBUyxNQUFNO0FBQ3hDLGNBQU0sUUFBUSxLQUFLLE1BQU0sSUFBSTtBQUM3QixjQUFNLE1BQU0sRUFBRSxNQUFNLE9BQU8sTUFBTSxLQUFLLFdBQVcsQ0FBQyxDQUFDO0FBQ25ELGVBQU87QUFBQSxNQUNUO0FBQUEsSUFDRixDQUFDO0FBQ0QsYUFBUyx5QkFBeUIsS0FBSyxVQUFVO0FBQy9DLGFBQU8sU0FBUyxPQUFPLElBQUksTUFBTTtBQUMvQixZQUFJLFFBQVEsU0FBUyxXQUFXLEdBQUc7QUFDakMsaUJBQU8sR0FBRyxJQUFJO0FBQUEsUUFDaEI7QUFDQSwrQkFBdUIsS0FBSyxVQUFVLEVBQUU7QUFBQSxNQUMxQztBQUFBLElBQ0Y7QUFDQSxhQUFTLFlBQVksS0FBSztBQUN4QixVQUFJO0FBQ0YsZUFBTyxTQUFTLEdBQUcsRUFBRTtBQUFBLE1BQ3ZCLFNBQVMsTUFBTTtBQUNiLGVBQU87QUFBQSxNQUNUO0FBQUEsSUFDRjtBQUNBLGFBQVMsYUFBYSxLQUFLO0FBQ3pCLFVBQUksT0FBTyxRQUFRLFlBQVksSUFBSSxXQUFXLEtBQUssSUFBSSxDQUFDLE1BQU0sS0FBSztBQUNqRSxlQUFPO0FBQUEsTUFDVDtBQUNBLFlBQU0sY0FBYyxJQUFJLFFBQVEsR0FBRztBQUNuQyxZQUFNLGFBQWEsZ0JBQWdCLEtBQUssY0FBYyxJQUFJO0FBQzFELFlBQU0sWUFBWSxJQUFJLFVBQVUsR0FBRyxVQUFVLEVBQUUsUUFBUSxLQUFLO0FBQzVELGFBQU8sY0FBYyxLQUFLLElBQUksVUFBVSxHQUFHLElBQUksUUFBUSxLQUFLLElBQUksU0FBUyxDQUFDLElBQUk7QUFBQSxJQUNoRjtBQUNBLGFBQVMsV0FBVyxPQUFPLE1BQU07QUFDL0IsVUFBSTtBQUNGLGVBQU8sTUFBTSxNQUFNLElBQUk7QUFBQSxNQUN6QixTQUFTLE1BQU07QUFDYixlQUFPO0FBQUEsTUFDVDtBQUFBLElBQ0Y7QUFDQSxhQUFTLFlBQVksUUFBUSxRQUFRO0FBQ25DLFVBQUksT0FBTyxXQUFXLFlBQVksQ0FBQyxRQUFRO0FBQ3pDLGVBQU87QUFBQSxNQUNUO0FBQ0EsWUFBTSxNQUFNLE9BQU8sT0FBTyxDQUFDLEdBQUcsTUFBTTtBQUNwQyxVQUFJLEVBQUUsS0FBSyxXQUFXLEVBQUUsS0FBSyxTQUFTO0FBQ3BDLGVBQU8sT0FBTyxPQUFPLEtBQUssTUFBTTtBQUFBLE1BQ2xDO0FBQ0EsVUFBSSxJQUFJO0FBQ1IsVUFBSSxJQUFJO0FBQ1IsYUFBTyxLQUFLLFFBQVE7QUFDbEI7QUFBQSxNQUNGO0FBQ0EsYUFBTyxLQUFLLFFBQVE7QUFDbEI7QUFBQSxNQUNGO0FBQ0EsV0FBSyxLQUFLLEtBQUssR0FBRyxLQUFLO0FBQ3JCLGVBQU8sSUFBSSxDQUFDLElBQUksT0FBTyxDQUFDO0FBQ3hCLFlBQUksSUFBSSxHQUFHO0FBQ1QsaUJBQU8sT0FBTyxDQUFDO0FBQUEsUUFDakI7QUFBQSxNQUNGO0FBQ0EsYUFBTyxPQUFPLE9BQU8sS0FBSyxNQUFNO0FBQUEsSUFDbEM7QUFDQSxhQUFTLGNBQWMsUUFBUSxPQUFPLFFBQVEsS0FBSyxLQUFLLE1BQU07QUFDNUQsWUFBTSxPQUFPLE1BQU07QUFDbkIsVUFBSSxDQUFDLFFBQVEsS0FBSyxXQUFXLEdBQUc7QUFDOUIsZUFBTyxLQUFLO0FBQUEsTUFDZDtBQUNBLFVBQUksSUFBSTtBQUNSLFVBQUksYUFBYTtBQUNqQixVQUFJO0FBQ0osVUFBSTtBQUNKLFVBQUk7QUFDSixVQUFJO0FBQ0osZUFBUyxNQUFNLE1BQU07QUFDbkIsWUFBSSxNQUFNO0FBQ1IsaUJBQU8sS0FBSyxJQUFJO0FBQUEsUUFDbEI7QUFDQSxZQUFJLEtBQUssS0FBSyxRQUFRO0FBQ3BCLGlCQUFPLEtBQUs7QUFBQSxRQUNkO0FBQ0EscUJBQWE7QUFDYixjQUFNLEtBQUssR0FBRztBQUNkLG1CQUFXLElBQUksT0FBTyxHQUFHO0FBQ3pCLHlCQUFpQixPQUFPLEdBQUc7QUFDM0Isc0JBQWMsT0FBTyxHQUFHO0FBQ3hCLFlBQUksYUFBYSxVQUFVLENBQUMsZ0JBQWdCO0FBQzFDLGlCQUFPLE1BQU07QUFBQSxRQUNmO0FBQ0EsWUFBSSxnQkFBZ0IsWUFBWSxVQUFVLFlBQVksWUFBWSxTQUFTLFlBQVksVUFBVSxVQUFVO0FBQ3pHLGNBQUksT0FBTyxHQUFHLElBQUksWUFBWTtBQUM5QixpQkFBTyxNQUFNLFlBQVksS0FBSztBQUFBLFFBQ2hDO0FBQ0EsZUFBTyxHQUFHLElBQUksY0FBYztBQUFBLFVBQzFCLE9BQU87QUFBQSxVQUNQLE9BQU87QUFBQSxVQUNQLE9BQU87QUFBQSxRQUNUO0FBQ0Esc0JBQWM7QUFBQSxNQUNoQjtBQUNBLGVBQVMsY0FBYyxNQUFNO0FBQzNCLGNBQU0sS0FBSyxlQUFlLFlBQVk7QUFDdEMsb0JBQVksUUFBUSxJQUFJLE9BQU8sR0FBRztBQUNsQyxZQUFJLE1BQU07QUFDUixzQkFBWSxRQUFRO0FBQ3BCLGdCQUFNLElBQUk7QUFDVjtBQUFBLFFBQ0Y7QUFDQSxZQUFJLENBQUMsR0FBSSxRQUFPLE1BQU07QUFDdEIsWUFBSTtBQUNGLGdCQUFNLE1BQU0sR0FBRyxLQUFLLEtBQUssZUFBZSxVQUFVLEdBQUc7QUFDckQsY0FBSSxVQUFVLEdBQUcsR0FBRztBQUNsQixnQkFBSSxFQUFFLGVBQWUsVUFBVTtBQUM3Qix3QkFBVSwrRUFBK0U7QUFBQSxZQUMzRjtBQUNBLGdCQUFJLEtBQUssTUFBTSxTQUFTLE9BQU87QUFDN0IsNEJBQWMsU0FBUyxJQUFJLE1BQU0sa0JBQWtCLENBQUM7QUFBQSxZQUN0RCxDQUFDO0FBQUEsVUFDSDtBQUFBLFFBQ0YsU0FBUyxHQUFHO0FBQ1Ysd0JBQWMsQ0FBQztBQUFBLFFBQ2pCO0FBQUEsTUFDRjtBQUNBLFlBQU07QUFBQSxJQUNSO0FBQ0EsYUFBUyxRQUFRLElBQUksS0FBSztBQUN4QixZQUFNLFFBQVEsSUFBSSxNQUFNLFVBQVUsU0FBUyxDQUFDO0FBQzVDLFlBQU0sT0FBTyxJQUFJLE1BQU0sVUFBVSxTQUFTLENBQUM7QUFDM0MsZUFBUyxJQUFJLEdBQUcsSUFBSSxNQUFNLFFBQVEsS0FBSztBQUNyQyxjQUFNLENBQUMsSUFBSSxVQUFVLElBQUksQ0FBQztBQUMxQixhQUFLLENBQUMsSUFBSSxJQUFJLE1BQU0sQ0FBQyxDQUFDO0FBQUEsTUFDeEI7QUFDQSxhQUFPLFdBQVc7QUFDaEIsaUJBQVMsSUFBSSxHQUFHLElBQUksTUFBTSxRQUFRLEtBQUs7QUFDckMsY0FBSSxNQUFNLENBQUMsQ0FBQyxJQUFJLEtBQUssQ0FBQztBQUFBLFFBQ3hCO0FBQ0EsZUFBTyxHQUFHLE1BQU0sTUFBTSxTQUFTO0FBQUEsTUFDakM7QUFBQSxJQUNGO0FBQ0EsYUFBUyxvQkFBb0IsS0FBSyxVQUFVO0FBQzFDLFlBQU0sVUFBMEIsdUJBQU8sT0FBTyxJQUFJO0FBQ2xELGVBQVMsSUFBSSxHQUFHLElBQUksU0FBUyxRQUFRLEtBQUs7QUFDeEMsZ0JBQVEsU0FBUyxDQUFDLENBQUMsSUFBSTtBQUFBLE1BQ3pCO0FBQ0EsWUFBTSxRQUFRLE9BQU8sS0FBSyxPQUFPLEVBQUUsS0FBSyxFQUFFLEtBQUssSUFBSTtBQUNuRCxVQUFJLFVBQVUsU0FBUyxLQUFLO0FBQzVCLFVBQUksVUFBVSxrQkFBa0IsT0FBTyxXQUFXLEtBQUssQ0FBQztBQUN4RCxVQUFJLFVBQVUsZ0JBQWdCLFlBQVk7QUFDMUMsVUFBSSxVQUFVLDBCQUEwQixTQUFTO0FBQ2pELFVBQUksSUFBSSxLQUFLO0FBQUEsSUFDZjtBQUNBLGFBQVMsdUJBQXVCLEtBQUssVUFBVSxNQUFNO0FBQ25ELFVBQUk7QUFDRiw0QkFBb0IsS0FBSyxRQUFRO0FBQUEsTUFDbkMsU0FBUyxNQUFNO0FBQ2IsYUFBSyxJQUFJO0FBQUEsTUFDWDtBQUFBLElBQ0Y7QUFDQSxhQUFTLEtBQUssS0FBSyxJQUFJO0FBQ3JCLGFBQU8sU0FBUyxRQUFRO0FBQ3RCLGNBQU0sT0FBTyxJQUFJLE1BQU0sVUFBVSxTQUFTLENBQUM7QUFDM0MsYUFBSyxDQUFDLElBQUk7QUFDVixpQkFBUyxJQUFJLEdBQUcsTUFBTSxVQUFVLFFBQVEsSUFBSSxLQUFLLEtBQUs7QUFDcEQsZUFBSyxJQUFJLENBQUMsSUFBSSxVQUFVLENBQUM7QUFBQSxRQUMzQjtBQUNBLFdBQUcsTUFBTSxNQUFNLElBQUk7QUFBQSxNQUNyQjtBQUFBLElBQ0Y7QUFBQSxFQUNGO0FBQ0YsQ0FBQztBQUdELElBQUksc0JBQXNCQSxZQUFXO0FBQUEsRUFDbkMsMENBQTBDLFVBQVUsU0FBUztBQUMzRDtBQUNBLFFBQUksZUFBZSxxQkFBcUI7QUFDeEMsUUFBSSxRQUFRLFlBQVksRUFBRSxxQkFBcUI7QUFDL0MsUUFBSSxPQUFPLGFBQWE7QUFDeEIsUUFBSSxPQUFPLFFBQVEsV0FBVztBQUM5QixRQUFJLFVBQVUsZUFBZSxFQUFFO0FBQy9CLFFBQUksY0FBYyxlQUFlLEVBQUU7QUFDbkMsUUFBSSxxQkFBcUIsZUFBZSxFQUFFO0FBQzFDLFFBQUksZUFBZSxlQUFlLEVBQUU7QUFDcEMsUUFBSSxVQUFVLFFBQVEsV0FBVyxFQUFFO0FBQ25DLFFBQUksT0FBTyxhQUFhO0FBQ3hCLFFBQUksU0FBUyxlQUFlO0FBQzVCLFFBQUksUUFBUSxNQUFNLFVBQVU7QUFDNUIsUUFBSSxVQUFVLE1BQU0sVUFBVTtBQUM5QixRQUFJLE1BQU0sV0FBVyxRQUFRLFVBQVUsQ0FBQztBQUN4QyxRQUFJLDBCQUEwQjtBQUM5QixRQUFJLE9BQU8sU0FBUyxPQUFPO0FBQ3pCLFVBQUksU0FBUztBQUNiLFdBQUssUUFBd0IsdUJBQU8sT0FBTyxJQUFJO0FBQy9DLFdBQUssVUFBMEIsdUJBQU8sT0FBTyxJQUFJO0FBQ2pELFdBQUssV0FBMkIsdUJBQU8sT0FBTyxJQUFJO0FBQ2xELFdBQUsscUJBQXFCO0FBQzFCLGFBQU8sZUFBZSxNQUFNLFVBQVU7QUFBQSxRQUNwQyxjQUFjO0FBQUEsUUFDZCxZQUFZO0FBQUEsUUFDWixLQUFLLFNBQVMsWUFBWTtBQUN4QixjQUFJLFdBQVcsTUFBTTtBQUNuQixxQkFBUyxJQUFJLE9BQU87QUFBQSxjQUNsQixlQUFlLEtBQUssUUFBUSx3QkFBd0I7QUFBQSxjQUNwRCxRQUFRLEtBQUssUUFBUSxnQkFBZ0I7QUFBQSxZQUN2QyxDQUFDO0FBQUEsVUFDSDtBQUNBLGlCQUFPO0FBQUEsUUFDVDtBQUFBLE1BQ0YsQ0FBQztBQUFBLElBQ0g7QUFDQSxRQUFJLHVCQUF1QixTQUFTLHVCQUF1QjtBQUN6RCxVQUFJTSxPQUFNO0FBQ1YsV0FBSyxPQUFPLGNBQWM7QUFDMUIsV0FBSyxJQUFJLFFBQVEsTUFBTTtBQUN2QixXQUFLLElBQUksT0FBT0EsSUFBRztBQUNuQixXQUFLLElBQUksZ0JBQWdCLFFBQVE7QUFDakMsV0FBSyxJQUFJLG9CQUFvQixDQUFDO0FBQzlCLFdBQUssSUFBSSxlQUFlLEtBQUs7QUFDN0IsYUFBTyxlQUFlLEtBQUssVUFBVSx5QkFBeUI7QUFBQSxRQUM1RCxjQUFjO0FBQUEsUUFDZCxPQUFPO0FBQUEsTUFDVCxDQUFDO0FBQ0QsWUFBTSxzQkFBc0JBLElBQUc7QUFDL0IsV0FBSyxHQUFHLFNBQVMsU0FBUyxRQUFRLFFBQVE7QUFDeEMsWUFBSSxLQUFLLFNBQVMsdUJBQXVCLE1BQU0sUUFBUSxPQUFPLE9BQU8sU0FBUyxnQkFBZ0IsTUFBTSxZQUFZO0FBQzlHLGlCQUFPLEtBQUssU0FBUyxhQUFhO0FBQ2xDLGlCQUFPLEtBQUssU0FBUyxnQkFBZ0I7QUFBQSxRQUN2QztBQUNBLGVBQU8sZUFBZSxLQUFLLFNBQVMsT0FBTyxPQUFPO0FBQ2xELGVBQU8sZUFBZSxLQUFLLFVBQVUsT0FBTyxRQUFRO0FBQ3BELGVBQU8sZUFBZSxLQUFLLFNBQVMsT0FBTyxPQUFPO0FBQ2xELGVBQU8sZUFBZSxLQUFLLFVBQVUsT0FBTyxRQUFRO0FBQUEsTUFDdEQsQ0FBQztBQUNELFdBQUssU0FBeUIsdUJBQU8sT0FBTyxJQUFJO0FBQ2hELFdBQUssWUFBWTtBQUNqQixXQUFLLE9BQU8sV0FBVyxLQUFLO0FBQzVCLFdBQUssSUFBSSxRQUFRLElBQUk7QUFDckIsV0FBSyxJQUFJLFNBQVMsUUFBUSxPQUFPLENBQUM7QUFDbEMsV0FBSyxJQUFJLHVCQUF1QixVQUFVO0FBQzFDLFVBQUlBLFNBQVEsY0FBYztBQUN4QixhQUFLLE9BQU8sWUFBWTtBQUFBLE1BQzFCO0FBQUEsSUFDRjtBQUNBLFFBQUksU0FBUyxTQUFTLE9BQU8sS0FBSyxLQUFLLFVBQVU7QUFDL0MsVUFBSSxPQUFPLFlBQVksYUFBYSxLQUFLLEtBQUs7QUFBQSxRQUM1QyxLQUFLLEtBQUssSUFBSSxLQUFLO0FBQUEsUUFDbkIsU0FBUyxTQUFTLEtBQUssSUFBSTtBQUFBLE1BQzdCLENBQUM7QUFDRCxVQUFJLEtBQUssUUFBUSxjQUFjLEdBQUc7QUFDaEMsWUFBSSxVQUFVLGdCQUFnQixTQUFTO0FBQUEsTUFDekM7QUFDQSxVQUFJLE1BQU07QUFDVixVQUFJLE1BQU07QUFDVixhQUFPLGVBQWUsS0FBSyxLQUFLLE9BQU87QUFDdkMsYUFBTyxlQUFlLEtBQUssS0FBSyxRQUFRO0FBQ3hDLFVBQUksQ0FBQyxJQUFJLFFBQVE7QUFDZixZQUFJLFNBQXlCLHVCQUFPLE9BQU8sSUFBSTtBQUFBLE1BQ2pEO0FBQ0EsV0FBSyxPQUFPLE9BQU8sS0FBSyxLQUFLLElBQUk7QUFBQSxJQUNuQztBQUNBLFFBQUksTUFBTSxTQUFTLElBQUksSUFBSTtBQUN6QixVQUFJLFNBQVM7QUFDYixVQUFJLE9BQU87QUFDWCxVQUFJLE9BQU8sT0FBTyxZQUFZO0FBQzVCLFlBQUksTUFBTTtBQUNWLGVBQU8sTUFBTSxRQUFRLEdBQUcsS0FBSyxJQUFJLFdBQVcsR0FBRztBQUM3QyxnQkFBTSxJQUFJLENBQUM7QUFBQSxRQUNiO0FBQ0EsWUFBSSxPQUFPLFFBQVEsWUFBWTtBQUM3QixtQkFBUztBQUNULGlCQUFPO0FBQUEsUUFDVDtBQUFBLE1BQ0Y7QUFDQSxVQUFJLE1BQU0sUUFBUSxLQUFLLE1BQU0sS0FBSyxXQUFXLE1BQU0sR0FBRyxRQUFRO0FBQzlELFVBQUksSUFBSSxXQUFXLEdBQUc7QUFDcEIsY0FBTSxJQUFJLFVBQVUsMENBQTBDO0FBQUEsTUFDaEU7QUFDQSxVQUFJLFNBQVMsS0FBSztBQUNsQixVQUFJLFFBQVEsU0FBUyxLQUFLO0FBQ3hCLFlBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxVQUFVLENBQUMsSUFBSSxLQUFLO0FBQ25DLGlCQUFPLE9BQU8sSUFBSSxNQUFNLEdBQUc7QUFBQSxRQUM3QjtBQUNBLGNBQU0scUJBQXFCLElBQUk7QUFDL0IsWUFBSSxZQUFZO0FBQ2hCLFlBQUksU0FBUztBQUNiLGVBQU8sSUFBSSxNQUFNLFNBQVMsWUFBWSxLQUFLLEtBQUssTUFBTTtBQUNwRCxjQUFJLE9BQU8sSUFBSTtBQUNmLGNBQUksT0FBTyxLQUFLLEtBQUssU0FBUyxNQUFNO0FBQ2xDLG1CQUFPLGVBQWUsS0FBSyxLQUFLLE9BQU87QUFDdkMsbUJBQU8sZUFBZSxLQUFLLEtBQUssUUFBUTtBQUN4QyxpQkFBSyxJQUFJO0FBQUEsVUFDWCxDQUFDO0FBQUEsUUFDSCxDQUFDO0FBQ0QsWUFBSSxLQUFLLFNBQVMsSUFBSTtBQUFBLE1BQ3hCLEdBQUcsSUFBSTtBQUNQLGFBQU87QUFBQSxJQUNUO0FBQ0EsUUFBSSxRQUFRLFNBQVMsTUFBTSxNQUFNO0FBQy9CLGFBQU8sS0FBSyxPQUFPLE1BQU0sSUFBSTtBQUFBLElBQy9CO0FBQ0EsUUFBSSxTQUFTLFNBQVMsT0FBTyxLQUFLLElBQUk7QUFDcEMsVUFBSSxPQUFPLE9BQU8sWUFBWTtBQUM1QixjQUFNLElBQUksTUFBTSw0QkFBNEI7QUFBQSxNQUM5QztBQUNBLFVBQUksWUFBWSxJQUFJLENBQUMsTUFBTSxNQUFNLE1BQU0sTUFBTTtBQUM3QyxXQUFLLFFBQVEsU0FBUyxJQUFJO0FBQzFCLGFBQU87QUFBQSxJQUNUO0FBQ0EsUUFBSSxRQUFRLFNBQVMsTUFBTSxNQUFNLElBQUk7QUFDbkMsVUFBSSxNQUFNLFFBQVEsSUFBSSxHQUFHO0FBQ3ZCLGlCQUFTLElBQUksR0FBRyxJQUFJLEtBQUssUUFBUSxLQUFLO0FBQ3BDLGVBQUssTUFBTSxLQUFLLENBQUMsR0FBRyxFQUFFO0FBQUEsUUFDeEI7QUFDQSxlQUFPO0FBQUEsTUFDVDtBQUNBLFdBQUssT0FBTyxNQUFNLE1BQU0sRUFBRTtBQUMxQixhQUFPO0FBQUEsSUFDVDtBQUNBLFFBQUksTUFBTSxTQUFTLElBQUksU0FBUyxLQUFLO0FBQ25DLFVBQUksVUFBVSxXQUFXLEdBQUc7QUFDMUIsZUFBTyxLQUFLLFNBQVMsT0FBTztBQUFBLE1BQzlCO0FBQ0EsWUFBTSxrQkFBa0IsU0FBUyxHQUFHO0FBQ3BDLFdBQUssU0FBUyxPQUFPLElBQUk7QUFDekIsY0FBUSxTQUFTO0FBQUEsUUFDZixLQUFLO0FBQ0gsZUFBSyxJQUFJLFdBQVcsWUFBWSxHQUFHLENBQUM7QUFDcEM7QUFBQSxRQUNGLEtBQUs7QUFDSCxlQUFLLElBQUksbUJBQW1CLG1CQUFtQixHQUFHLENBQUM7QUFDbkQ7QUFBQSxRQUNGLEtBQUs7QUFDSCxlQUFLLElBQUksa0JBQWtCLGFBQWEsR0FBRyxDQUFDO0FBQzVDLGlCQUFPLGVBQWUsS0FBSyxVQUFVLHlCQUF5QjtBQUFBLFlBQzVELGNBQWM7QUFBQSxZQUNkLE9BQU87QUFBQSxVQUNULENBQUM7QUFDRDtBQUFBLE1BQ0o7QUFDQSxhQUFPO0FBQUEsSUFDVDtBQUNBLFFBQUksT0FBTyxTQUFTLE9BQU87QUFDekIsYUFBTyxLQUFLLFNBQVMsS0FBSyxPQUFPLEtBQUssSUFBSSxLQUFLLFlBQVk7QUFBQSxJQUM3RDtBQUNBLFFBQUksVUFBVSxTQUFTLFFBQVEsU0FBUztBQUN0QyxhQUFPLFFBQVEsS0FBSyxJQUFJLE9BQU8sQ0FBQztBQUFBLElBQ2xDO0FBQ0EsUUFBSSxXQUFXLFNBQVMsU0FBUyxTQUFTO0FBQ3hDLGFBQU8sQ0FBQyxLQUFLLElBQUksT0FBTztBQUFBLElBQzFCO0FBQ0EsUUFBSSxTQUFTLFNBQVMsT0FBTyxTQUFTO0FBQ3BDLGFBQU8sS0FBSyxJQUFJLFNBQVMsSUFBSTtBQUFBLElBQy9CO0FBQ0EsUUFBSSxVQUFVLFNBQVMsUUFBUSxTQUFTO0FBQ3RDLGFBQU8sS0FBSyxJQUFJLFNBQVMsS0FBSztBQUFBLElBQ2hDO0FBQ0EsWUFBUSxRQUFRLFNBQVMsUUFBUTtBQUMvQixVQUFJLE1BQU0sSUFBSSxTQUFTLE1BQU07QUFDM0IsWUFBSSxXQUFXLFNBQVMsVUFBVSxXQUFXLEdBQUc7QUFDOUMsaUJBQU8sS0FBSyxJQUFJLElBQUk7QUFBQSxRQUN0QjtBQUNBLFlBQUksUUFBUSxLQUFLLE1BQU0sSUFBSTtBQUMzQixjQUFNLE1BQU0sRUFBRSxNQUFNLE9BQU8sTUFBTSxLQUFLLFdBQVcsQ0FBQyxDQUFDO0FBQ25ELGVBQU87QUFBQSxNQUNUO0FBQUEsSUFDRixDQUFDO0FBQ0QsUUFBSSxNQUFNLFNBQVMsSUFBSSxNQUFNO0FBQzNCLFVBQUksUUFBUSxLQUFLLE1BQU0sSUFBSTtBQUMzQixVQUFJLE9BQU8sTUFBTSxLQUFLLFdBQVcsQ0FBQztBQUNsQyxlQUFTLElBQUksR0FBRyxJQUFJLFFBQVEsUUFBUSxLQUFLO0FBQ3ZDLGNBQU0sUUFBUSxDQUFDLENBQUMsRUFBRSxNQUFNLE9BQU8sSUFBSTtBQUFBLE1BQ3JDO0FBQ0EsYUFBTztBQUFBLElBQ1Q7QUFDQSxRQUFJLFNBQVMsU0FBUyxPQUFPLE1BQU0sU0FBUyxVQUFVO0FBQ3BELFVBQUksUUFBUSxLQUFLO0FBQ2pCLFVBQUksT0FBTztBQUNYLFVBQUksVUFBVSxLQUFLO0FBQ25CLFVBQUksT0FBTztBQUNYLFVBQUk7QUFDSixVQUFJLE9BQU8sWUFBWSxZQUFZO0FBQ2pDLGVBQU87QUFDUCxlQUFPLENBQUM7QUFBQSxNQUNWO0FBQ0EsVUFBSSxnQkFBZ0IsRUFBRSxHQUFHLEtBQUssUUFBUSxHQUFHLEtBQUssU0FBUyxHQUFHLEtBQUs7QUFDL0QsVUFBSSxjQUFjLFNBQVMsTUFBTTtBQUMvQixzQkFBYyxRQUFRLEtBQUssUUFBUSxZQUFZO0FBQUEsTUFDakQ7QUFDQSxVQUFJLGNBQWMsT0FBTztBQUN2QixlQUFPLE1BQU0sSUFBSTtBQUFBLE1BQ25CO0FBQ0EsVUFBSSxDQUFDLE1BQU07QUFDVCxZQUFJLFFBQVEsS0FBSyxJQUFJLE1BQU07QUFDM0IsZUFBTyxJQUFJLE1BQU0sTUFBTTtBQUFBLFVBQ3JCLGVBQWUsS0FBSyxJQUFJLGFBQWE7QUFBQSxVQUNyQyxNQUFNLEtBQUssSUFBSSxPQUFPO0FBQUEsVUFDdEI7QUFBQSxRQUNGLENBQUM7QUFDRCxZQUFJLENBQUMsS0FBSyxNQUFNO0FBQ2QsY0FBSSxPQUFPLE1BQU0sUUFBUSxLQUFLLElBQUksS0FBSyxLQUFLLEtBQUssU0FBUyxJQUFJLGtCQUFrQixLQUFLLEtBQUssTUFBTSxHQUFHLEVBQUUsRUFBRSxLQUFLLE1BQU0sSUFBSSxXQUFXLEtBQUssS0FBSyxLQUFLLEtBQUssU0FBUyxDQUFDLElBQUksTUFBTSxnQkFBZ0IsS0FBSyxPQUFPO0FBQ3JNLGNBQUksT0FBTyxJQUFJLE1BQU0sNEJBQTRCLE9BQU8sZ0JBQWdCLElBQUk7QUFDNUUsZUFBSyxPQUFPO0FBQ1osaUJBQU8sS0FBSyxJQUFJO0FBQUEsUUFDbEI7QUFDQSxZQUFJLGNBQWMsT0FBTztBQUN2QixnQkFBTSxJQUFJLElBQUk7QUFBQSxRQUNoQjtBQUFBLE1BQ0Y7QUFDQSxnQkFBVSxNQUFNLGVBQWUsSUFBSTtBQUFBLElBQ3JDO0FBQ0EsUUFBSSxTQUFTLFNBQVMsU0FBUztBQUM3QixVQUFJLFNBQVMsS0FBSyxhQUFhLElBQUk7QUFDbkMsVUFBSSxPQUFPLE1BQU0sVUFBVSxNQUFNLEtBQUssU0FBUztBQUMvQyxVQUFJLE9BQU8sS0FBSyxLQUFLLFNBQVMsQ0FBQyxNQUFNLFlBQVk7QUFDL0MsWUFBSSxPQUFPLEtBQUssS0FBSyxTQUFTLENBQUMsSUFBSSxLQUFLLEtBQUssS0FBSyxTQUFTLENBQUMsQ0FBQztBQUM3RCxlQUFPLEtBQUssU0FBUyxJQUFJO0FBQUEsTUFDM0I7QUFDQSxhQUFPLE9BQU8sT0FBTyxNQUFNLFFBQVEsSUFBSTtBQUFBLElBQ3pDO0FBQ0EsYUFBUyxTQUFTLE1BQU07QUFDdEIsVUFBSSxLQUFLLElBQUksS0FBSyxNQUFNLE9BQVEsU0FBUSxNQUFNLEtBQUssU0FBUyxLQUFLLFNBQVMsQ0FBQztBQUFBLElBQzdFO0FBQ0EsYUFBUyxVQUFVLE1BQU0sU0FBUyxVQUFVO0FBQzFDLFVBQUk7QUFDRixhQUFLLE9BQU8sU0FBUyxRQUFRO0FBQUEsTUFDL0IsU0FBUyxNQUFNO0FBQ2IsaUJBQVMsSUFBSTtBQUFBLE1BQ2Y7QUFBQSxJQUNGO0FBQUEsRUFDRjtBQUNGLENBQUM7QUFHRCxJQUFJLGtCQUFrQk4sWUFBVztBQUFBLEVBQy9CLHlDQUF5QyxVQUFVLFNBQVM7QUFDMUQ7QUFDQSxZQUFRLFVBQVU7QUFDbEIsWUFBUSxRQUFRLG9CQUFvQjtBQUNwQyxRQUFJLHNCQUFzQjtBQUMxQixhQUFTLG1CQUFtQixRQUFRO0FBQ2xDLFVBQUksVUFBVSxPQUFPLE1BQU0sR0FBRztBQUM5QixlQUFTLElBQUksR0FBRyxJQUFJLEdBQUcsSUFBSSxRQUFRLFFBQVEsS0FBSztBQUM5QyxZQUFJLFVBQVUsYUFBYSxRQUFRLENBQUMsRUFBRSxLQUFLLEdBQUcsQ0FBQztBQUMvQyxZQUFJLFNBQVM7QUFDWCxrQkFBUSxHQUFHLElBQUk7QUFBQSxRQUNqQjtBQUFBLE1BQ0Y7QUFDQSxjQUFRLFNBQVM7QUFDakIsYUFBTztBQUFBLElBQ1Q7QUFDQSxhQUFTLGFBQWEsS0FBSyxHQUFHO0FBQzVCLFVBQUksUUFBUSxvQkFBb0IsS0FBSyxHQUFHO0FBQ3hDLFVBQUksQ0FBQyxNQUFPLFFBQU87QUFDbkIsVUFBSSxVQUFVLE1BQU0sQ0FBQztBQUNyQixVQUFJLElBQUk7QUFDUixVQUFJLE1BQU0sQ0FBQyxHQUFHO0FBQ1osWUFBSSxTQUFTLE1BQU0sQ0FBQyxFQUFFLE1BQU0sR0FBRztBQUMvQixpQkFBUyxJQUFJLEdBQUcsSUFBSSxPQUFPLFFBQVEsS0FBSztBQUN0QyxjQUFJLElBQUksT0FBTyxDQUFDLEVBQUUsS0FBSyxFQUFFLE1BQU0sR0FBRztBQUNsQyxjQUFJLEVBQUUsQ0FBQyxNQUFNLEtBQUs7QUFDaEIsZ0JBQUksV0FBVyxFQUFFLENBQUMsQ0FBQztBQUNuQjtBQUFBLFVBQ0Y7QUFBQSxRQUNGO0FBQUEsTUFDRjtBQUNBLGFBQU87QUFBQSxRQUNMO0FBQUEsUUFDQTtBQUFBLFFBQ0E7QUFBQSxNQUNGO0FBQUEsSUFDRjtBQUNBLGFBQVMsbUJBQW1CLFNBQVMsVUFBVSxPQUFPO0FBQ3BELFVBQUksV0FBVyxFQUFFLEdBQUcsSUFBSSxHQUFHLEdBQUcsR0FBRyxFQUFFO0FBQ25DLGVBQVMsSUFBSSxHQUFHLElBQUksU0FBUyxRQUFRLEtBQUs7QUFDeEMsWUFBSSxPQUFPLFFBQVEsU0FBUyxTQUFTLENBQUMsR0FBRyxLQUFLO0FBQzlDLFlBQUksU0FBUyxTQUFTLElBQUksS0FBSyxLQUFLLFNBQVMsSUFBSSxLQUFLLEtBQUssU0FBUyxJQUFJLEtBQUssS0FBSyxHQUFHO0FBQ25GLHFCQUFXO0FBQUEsUUFDYjtBQUFBLE1BQ0Y7QUFDQSxhQUFPO0FBQUEsSUFDVDtBQUNBLGFBQVMsUUFBUSxTQUFTLE1BQU0sT0FBTztBQUNyQyxVQUFJLElBQUk7QUFDUixVQUFJLEtBQUssUUFBUSxZQUFZLE1BQU0sUUFBUSxZQUFZLEdBQUc7QUFDeEQsYUFBSztBQUFBLE1BQ1AsV0FBVyxLQUFLLFlBQVksS0FBSztBQUMvQixlQUFPO0FBQUEsTUFDVDtBQUNBLGFBQU87QUFBQSxRQUNMLEdBQUc7QUFBQSxRQUNILEdBQUcsS0FBSztBQUFBLFFBQ1IsR0FBRyxLQUFLO0FBQUEsUUFDUjtBQUFBLE1BQ0Y7QUFBQSxJQUNGO0FBQ0EsYUFBUyxrQkFBa0IsUUFBUSxVQUFVO0FBQzNDLFVBQUksVUFBVSxtQkFBbUIsV0FBVyxTQUFTLE1BQU0sVUFBVSxFQUFFO0FBQ3ZFLFVBQUksQ0FBQyxVQUFVO0FBQ2IsZUFBTyxRQUFRLE9BQU8sU0FBUyxFQUFFLEtBQUssWUFBWSxFQUFFLElBQUksY0FBYztBQUFBLE1BQ3hFO0FBQ0EsVUFBSSxhQUFhLFNBQVMsSUFBSSxTQUFTLFlBQVksTUFBTSxPQUFPO0FBQzlELGVBQU8sbUJBQW1CLE1BQU0sU0FBUyxLQUFLO0FBQUEsTUFDaEQsQ0FBQztBQUNELGFBQU8sV0FBVyxPQUFPLFNBQVMsRUFBRSxLQUFLLFlBQVksRUFBRSxJQUFJLFNBQVMsV0FBVyxVQUFVO0FBQ3ZGLGVBQU8sU0FBUyxXQUFXLFFBQVEsUUFBUSxDQUFDO0FBQUEsTUFDOUMsQ0FBQztBQUFBLElBQ0g7QUFDQSxhQUFTLGFBQWEsR0FBRyxHQUFHO0FBQzFCLGFBQU8sRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsS0FBSztBQUFBLElBQzdEO0FBQ0EsYUFBUyxlQUFlLE1BQU07QUFDNUIsYUFBTyxLQUFLO0FBQUEsSUFDZDtBQUNBLGFBQVMsVUFBVSxNQUFNO0FBQ3ZCLGFBQU8sS0FBSyxJQUFJO0FBQUEsSUFDbEI7QUFBQSxFQUNGO0FBQ0YsQ0FBQztBQUdELElBQUksbUJBQW1CQSxZQUFXO0FBQUEsRUFDaEMsMENBQTBDLFVBQVUsU0FBUztBQUMzRDtBQUNBLFlBQVEsVUFBVTtBQUNsQixZQUFRLFFBQVEscUJBQXFCO0FBQ3JDLFFBQUksdUJBQXVCO0FBQzNCLGFBQVMsb0JBQW9CLFFBQVE7QUFDbkMsVUFBSSxVQUFVLE9BQU8sTUFBTSxHQUFHO0FBQzlCLFVBQUksY0FBYztBQUNsQixVQUFJLGFBQWE7QUFDakIsZUFBUyxJQUFJLEdBQUcsSUFBSSxHQUFHLElBQUksUUFBUSxRQUFRLEtBQUs7QUFDOUMsWUFBSSxXQUFXLGNBQWMsUUFBUSxDQUFDLEVBQUUsS0FBSyxHQUFHLENBQUM7QUFDakQsWUFBSSxVQUFVO0FBQ1osa0JBQVEsR0FBRyxJQUFJO0FBQ2Ysd0JBQWMsZUFBZSxRQUFRLFlBQVksUUFBUTtBQUN6RCx1QkFBYSxLQUFLLElBQUksWUFBWSxTQUFTLEtBQUssQ0FBQztBQUFBLFFBQ25EO0FBQUEsTUFDRjtBQUNBLFVBQUksQ0FBQyxhQUFhO0FBQ2hCLGdCQUFRLEdBQUcsSUFBSTtBQUFBLFVBQ2IsVUFBVTtBQUFBLFVBQ1YsR0FBRztBQUFBLFVBQ0g7QUFBQSxRQUNGO0FBQUEsTUFDRjtBQUNBLGNBQVEsU0FBUztBQUNqQixhQUFPO0FBQUEsSUFDVDtBQUNBLGFBQVMsY0FBYyxLQUFLLEdBQUc7QUFDN0IsVUFBSSxRQUFRLHFCQUFxQixLQUFLLEdBQUc7QUFDekMsVUFBSSxDQUFDLE1BQU8sUUFBTztBQUNuQixVQUFJLFdBQVcsTUFBTSxDQUFDO0FBQ3RCLFVBQUksSUFBSTtBQUNSLFVBQUksTUFBTSxDQUFDLEdBQUc7QUFDWixZQUFJLFNBQVMsTUFBTSxDQUFDLEVBQUUsTUFBTSxHQUFHO0FBQy9CLGlCQUFTLElBQUksR0FBRyxJQUFJLE9BQU8sUUFBUSxLQUFLO0FBQ3RDLGNBQUksSUFBSSxPQUFPLENBQUMsRUFBRSxLQUFLLEVBQUUsTUFBTSxHQUFHO0FBQ2xDLGNBQUksRUFBRSxDQUFDLE1BQU0sS0FBSztBQUNoQixnQkFBSSxXQUFXLEVBQUUsQ0FBQyxDQUFDO0FBQ25CO0FBQUEsVUFDRjtBQUFBLFFBQ0Y7QUFBQSxNQUNGO0FBQ0EsYUFBTztBQUFBLFFBQ0w7QUFBQSxRQUNBO0FBQUEsUUFDQTtBQUFBLE1BQ0Y7QUFBQSxJQUNGO0FBQ0EsYUFBUyxvQkFBb0IsVUFBVSxVQUFVLE9BQU87QUFDdEQsVUFBSSxXQUFXLEVBQUUsVUFBVSxHQUFHLElBQUksR0FBRyxHQUFHLEdBQUcsRUFBRTtBQUM3QyxlQUFTLElBQUksR0FBRyxJQUFJLFNBQVMsUUFBUSxLQUFLO0FBQ3hDLFlBQUksT0FBTyxRQUFRLFVBQVUsU0FBUyxDQUFDLEdBQUcsS0FBSztBQUMvQyxZQUFJLFNBQVMsU0FBUyxJQUFJLEtBQUssS0FBSyxTQUFTLElBQUksS0FBSyxLQUFLLFNBQVMsSUFBSSxLQUFLLEtBQUssR0FBRztBQUNuRixxQkFBVztBQUFBLFFBQ2I7QUFBQSxNQUNGO0FBQ0EsYUFBTztBQUFBLElBQ1Q7QUFDQSxhQUFTLFFBQVEsVUFBVSxNQUFNLE9BQU87QUFDdEMsVUFBSSxJQUFJO0FBQ1IsVUFBSSxLQUFLLFNBQVMsWUFBWSxNQUFNLFNBQVMsWUFBWSxHQUFHO0FBQzFELGFBQUs7QUFBQSxNQUNQLFdBQVcsS0FBSyxhQUFhLEtBQUs7QUFDaEMsZUFBTztBQUFBLE1BQ1Q7QUFDQSxhQUFPO0FBQUEsUUFDTDtBQUFBLFFBQ0EsR0FBRztBQUFBLFFBQ0gsR0FBRyxLQUFLO0FBQUEsUUFDUixHQUFHLEtBQUs7QUFBQSxRQUNSO0FBQUEsTUFDRjtBQUFBLElBQ0Y7QUFDQSxhQUFTLG1CQUFtQixRQUFRLFVBQVUsV0FBVztBQUN2RCxVQUFJLFVBQVUsb0JBQW9CLFVBQVUsRUFBRTtBQUM5QyxVQUFJLGFBQWEsWUFBWSxTQUFTLFlBQVksR0FBRyxHQUFHO0FBQ3RELFlBQUksRUFBRSxNQUFNLEVBQUUsR0FBRztBQUNmLGlCQUFPLEVBQUUsSUFBSSxFQUFFO0FBQUEsUUFDakI7QUFDQSxZQUFJLGFBQWEsVUFBVSxRQUFRLEVBQUUsUUFBUTtBQUM3QyxZQUFJLGFBQWEsVUFBVSxRQUFRLEVBQUUsUUFBUTtBQUM3QyxZQUFJLGVBQWUsTUFBTSxlQUFlLElBQUk7QUFDMUMsaUJBQU8sRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFO0FBQUEsUUFDM0M7QUFDQSxZQUFJLGVBQWUsTUFBTSxlQUFlLElBQUk7QUFDMUMsaUJBQU8sYUFBYTtBQUFBLFFBQ3RCO0FBQ0EsZUFBTyxlQUFlLEtBQUssSUFBSTtBQUFBLE1BQ2pDLElBQUk7QUFDSixVQUFJLENBQUMsVUFBVTtBQUNiLGVBQU8sUUFBUSxPQUFPLFNBQVMsRUFBRSxLQUFLLFVBQVUsRUFBRSxJQUFJLGVBQWU7QUFBQSxNQUN2RTtBQUNBLFVBQUksYUFBYSxTQUFTLElBQUksU0FBUyxZQUFZLE1BQU0sT0FBTztBQUM5RCxlQUFPLG9CQUFvQixNQUFNLFNBQVMsS0FBSztBQUFBLE1BQ2pELENBQUM7QUFDRCxhQUFPLFdBQVcsT0FBTyxTQUFTLEVBQUUsS0FBSyxVQUFVLEVBQUUsSUFBSSxTQUFTLFlBQVksVUFBVTtBQUN0RixlQUFPLFNBQVMsV0FBVyxRQUFRLFFBQVEsQ0FBQztBQUFBLE1BQzlDLENBQUM7QUFBQSxJQUNIO0FBQ0EsYUFBUyxhQUFhLEdBQUcsR0FBRztBQUMxQixhQUFPLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFO0FBQUEsSUFDeEQ7QUFDQSxhQUFTLGdCQUFnQixNQUFNO0FBQzdCLGFBQU8sS0FBSztBQUFBLElBQ2Q7QUFDQSxhQUFTLFVBQVUsTUFBTTtBQUN2QixhQUFPLEtBQUssSUFBSTtBQUFBLElBQ2xCO0FBQUEsRUFDRjtBQUNGLENBQUM7QUFHRCxJQUFJLG1CQUFtQkEsWUFBVztBQUFBLEVBQ2hDLDBDQUEwQyxVQUFVLFNBQVM7QUFDM0Q7QUFDQSxZQUFRLFVBQVU7QUFDbEIsWUFBUSxRQUFRLHFCQUFxQjtBQUNyQyxRQUFJLHVCQUF1QjtBQUMzQixhQUFTLG9CQUFvQixRQUFRO0FBQ25DLFVBQUksVUFBVSxPQUFPLE1BQU0sR0FBRztBQUM5QixlQUFTLElBQUksR0FBRyxJQUFJLEdBQUcsSUFBSSxRQUFRLFFBQVEsS0FBSztBQUM5QyxZQUFJLFdBQVcsY0FBYyxRQUFRLENBQUMsRUFBRSxLQUFLLEdBQUcsQ0FBQztBQUNqRCxZQUFJLFVBQVU7QUFDWixrQkFBUSxHQUFHLElBQUk7QUFBQSxRQUNqQjtBQUFBLE1BQ0Y7QUFDQSxjQUFRLFNBQVM7QUFDakIsYUFBTztBQUFBLElBQ1Q7QUFDQSxhQUFTLGNBQWMsS0FBSyxHQUFHO0FBQzdCLFVBQUksUUFBUSxxQkFBcUIsS0FBSyxHQUFHO0FBQ3pDLFVBQUksQ0FBQyxNQUFPLFFBQU87QUFDbkIsVUFBSSxTQUFTLE1BQU0sQ0FBQztBQUNwQixVQUFJLFNBQVMsTUFBTSxDQUFDO0FBQ3BCLFVBQUksT0FBTztBQUNYLFVBQUksT0FBUSxTQUFRLE1BQU07QUFDMUIsVUFBSSxJQUFJO0FBQ1IsVUFBSSxNQUFNLENBQUMsR0FBRztBQUNaLFlBQUksU0FBUyxNQUFNLENBQUMsRUFBRSxNQUFNLEdBQUc7QUFDL0IsaUJBQVMsSUFBSSxHQUFHLElBQUksT0FBTyxRQUFRLEtBQUs7QUFDdEMsY0FBSSxJQUFJLE9BQU8sQ0FBQyxFQUFFLE1BQU0sR0FBRztBQUMzQixjQUFJLEVBQUUsQ0FBQyxNQUFNLElBQUssS0FBSSxXQUFXLEVBQUUsQ0FBQyxDQUFDO0FBQUEsUUFDdkM7QUFBQSxNQUNGO0FBQ0EsYUFBTztBQUFBLFFBQ0w7QUFBQSxRQUNBO0FBQUEsUUFDQTtBQUFBLFFBQ0E7QUFBQSxRQUNBO0FBQUEsTUFDRjtBQUFBLElBQ0Y7QUFDQSxhQUFTLG9CQUFvQixVQUFVLFVBQVUsT0FBTztBQUN0RCxVQUFJLFdBQVcsRUFBRSxHQUFHLElBQUksR0FBRyxHQUFHLEdBQUcsRUFBRTtBQUNuQyxlQUFTLElBQUksR0FBRyxJQUFJLFNBQVMsUUFBUSxLQUFLO0FBQ3hDLFlBQUksT0FBTyxRQUFRLFVBQVUsU0FBUyxDQUFDLEdBQUcsS0FBSztBQUMvQyxZQUFJLFNBQVMsU0FBUyxJQUFJLEtBQUssS0FBSyxTQUFTLElBQUksS0FBSyxLQUFLLFNBQVMsSUFBSSxLQUFLLEtBQUssR0FBRztBQUNuRixxQkFBVztBQUFBLFFBQ2I7QUFBQSxNQUNGO0FBQ0EsYUFBTztBQUFBLElBQ1Q7QUFDQSxhQUFTLFFBQVEsVUFBVSxNQUFNLE9BQU87QUFDdEMsVUFBSSxJQUFJLGNBQWMsUUFBUTtBQUM5QixVQUFJLENBQUMsRUFBRyxRQUFPO0FBQ2YsVUFBSSxJQUFJO0FBQ1IsVUFBSSxLQUFLLEtBQUssWUFBWSxNQUFNLEVBQUUsS0FBSyxZQUFZLEdBQUc7QUFDcEQsYUFBSztBQUFBLE1BQ1AsV0FBVyxLQUFLLE9BQU8sWUFBWSxNQUFNLEVBQUUsS0FBSyxZQUFZLEdBQUc7QUFDN0QsYUFBSztBQUFBLE1BQ1AsV0FBVyxLQUFLLEtBQUssWUFBWSxNQUFNLEVBQUUsT0FBTyxZQUFZLEdBQUc7QUFDN0QsYUFBSztBQUFBLE1BQ1AsV0FBVyxLQUFLLFNBQVMsS0FBSztBQUM1QixlQUFPO0FBQUEsTUFDVDtBQUNBLGFBQU87QUFBQSxRQUNMLEdBQUc7QUFBQSxRQUNILEdBQUcsS0FBSztBQUFBLFFBQ1IsR0FBRyxLQUFLO0FBQUEsUUFDUjtBQUFBLE1BQ0Y7QUFBQSxJQUNGO0FBQ0EsYUFBUyxtQkFBbUIsUUFBUSxVQUFVO0FBQzVDLFVBQUksVUFBVSxvQkFBb0IsV0FBVyxTQUFTLE1BQU0sVUFBVSxFQUFFO0FBQ3hFLFVBQUksQ0FBQyxVQUFVO0FBQ2IsZUFBTyxRQUFRLE9BQU8sU0FBUyxFQUFFLEtBQUssWUFBWSxFQUFFLElBQUksZUFBZTtBQUFBLE1BQ3pFO0FBQ0EsVUFBSSxhQUFhLFNBQVMsSUFBSSxTQUFTLFlBQVksTUFBTSxPQUFPO0FBQzlELGVBQU8sb0JBQW9CLE1BQU0sU0FBUyxLQUFLO0FBQUEsTUFDakQsQ0FBQztBQUNELGFBQU8sV0FBVyxPQUFPLFNBQVMsRUFBRSxLQUFLLFlBQVksRUFBRSxJQUFJLFNBQVMsWUFBWSxVQUFVO0FBQ3hGLGVBQU8sU0FBUyxXQUFXLFFBQVEsUUFBUSxDQUFDO0FBQUEsTUFDOUMsQ0FBQztBQUFBLElBQ0g7QUFDQSxhQUFTLGFBQWEsR0FBRyxHQUFHO0FBQzFCLGFBQU8sRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsS0FBSztBQUFBLElBQzdEO0FBQ0EsYUFBUyxnQkFBZ0IsTUFBTTtBQUM3QixhQUFPLEtBQUs7QUFBQSxJQUNkO0FBQ0EsYUFBUyxVQUFVLE1BQU07QUFDdkIsYUFBTyxLQUFLLElBQUk7QUFBQSxJQUNsQjtBQUFBLEVBQ0Y7QUFDRixDQUFDO0FBR0QsSUFBSSxvQkFBb0JBLFlBQVc7QUFBQSxFQUNqQywyQ0FBMkMsVUFBVSxTQUFTO0FBQzVEO0FBQ0EsWUFBUSxVQUFVO0FBQ2xCLFlBQVEsUUFBUSxzQkFBc0I7QUFDdEMsUUFBSSx3QkFBd0I7QUFDNUIsYUFBUyxZQUFZLFFBQVE7QUFDM0IsVUFBSSxVQUFVLGdCQUFnQixNQUFNO0FBQ3BDLGVBQVMsSUFBSSxHQUFHLElBQUksR0FBRyxJQUFJLFFBQVEsUUFBUSxLQUFLO0FBQzlDLFlBQUksWUFBWSxlQUFlLFFBQVEsQ0FBQyxFQUFFLEtBQUssR0FBRyxDQUFDO0FBQ25ELFlBQUksV0FBVztBQUNiLGtCQUFRLEdBQUcsSUFBSTtBQUFBLFFBQ2pCO0FBQUEsTUFDRjtBQUNBLGNBQVEsU0FBUztBQUNqQixhQUFPO0FBQUEsSUFDVDtBQUNBLGFBQVMsZUFBZSxLQUFLLEdBQUc7QUFDOUIsVUFBSSxRQUFRLHNCQUFzQixLQUFLLEdBQUc7QUFDMUMsVUFBSSxDQUFDLE1BQU8sUUFBTztBQUNuQixVQUFJLFNBQXlCLHVCQUFPLE9BQU8sSUFBSTtBQUMvQyxVQUFJLElBQUk7QUFDUixVQUFJLFVBQVUsTUFBTSxDQUFDO0FBQ3JCLFVBQUksT0FBTyxNQUFNLENBQUM7QUFDbEIsVUFBSSxNQUFNLENBQUMsR0FBRztBQUNaLFlBQUksT0FBTyxnQkFBZ0IsTUFBTSxDQUFDLENBQUMsRUFBRSxJQUFJLGlCQUFpQjtBQUMxRCxpQkFBUyxJQUFJLEdBQUcsSUFBSSxLQUFLLFFBQVEsS0FBSztBQUNwQyxjQUFJLE9BQU8sS0FBSyxDQUFDO0FBQ2pCLGNBQUksTUFBTSxLQUFLLENBQUMsRUFBRSxZQUFZO0FBQzlCLGNBQUksTUFBTSxLQUFLLENBQUM7QUFDaEIsY0FBSSxRQUFRLE9BQU8sSUFBSSxDQUFDLE1BQU0sT0FBTyxJQUFJLElBQUksU0FBUyxDQUFDLE1BQU0sTUFBTSxJQUFJLE1BQU0sR0FBRyxFQUFFLElBQUk7QUFDdEYsY0FBSSxRQUFRLEtBQUs7QUFDZixnQkFBSSxXQUFXLEtBQUs7QUFDcEI7QUFBQSxVQUNGO0FBQ0EsaUJBQU8sR0FBRyxJQUFJO0FBQUEsUUFDaEI7QUFBQSxNQUNGO0FBQ0EsYUFBTztBQUFBLFFBQ0w7QUFBQSxRQUNBO0FBQUEsUUFDQTtBQUFBLFFBQ0E7QUFBQSxRQUNBO0FBQUEsTUFDRjtBQUFBLElBQ0Y7QUFDQSxhQUFTLHFCQUFxQixNQUFNLFVBQVUsT0FBTztBQUNuRCxVQUFJLFdBQVcsRUFBRSxHQUFHLElBQUksR0FBRyxHQUFHLEdBQUcsRUFBRTtBQUNuQyxlQUFTLElBQUksR0FBRyxJQUFJLFNBQVMsUUFBUSxLQUFLO0FBQ3hDLFlBQUksT0FBTyxRQUFRLE1BQU0sU0FBUyxDQUFDLEdBQUcsS0FBSztBQUMzQyxZQUFJLFNBQVMsU0FBUyxJQUFJLEtBQUssS0FBSyxTQUFTLElBQUksS0FBSyxLQUFLLFNBQVMsSUFBSSxLQUFLLEtBQUssR0FBRztBQUNuRixxQkFBVztBQUFBLFFBQ2I7QUFBQSxNQUNGO0FBQ0EsYUFBTztBQUFBLElBQ1Q7QUFDQSxhQUFTLFFBQVEsTUFBTSxNQUFNLE9BQU87QUFDbEMsVUFBSSxJQUFJLGVBQWUsSUFBSTtBQUMzQixVQUFJLElBQUk7QUFDUixVQUFJLENBQUMsR0FBRztBQUNOLGVBQU87QUFBQSxNQUNUO0FBQ0EsVUFBSSxLQUFLLEtBQUssWUFBWSxLQUFLLEVBQUUsS0FBSyxZQUFZLEdBQUc7QUFDbkQsYUFBSztBQUFBLE1BQ1AsV0FBVyxLQUFLLFFBQVEsS0FBSztBQUMzQixlQUFPO0FBQUEsTUFDVDtBQUNBLFVBQUksS0FBSyxRQUFRLFlBQVksS0FBSyxFQUFFLFFBQVEsWUFBWSxHQUFHO0FBQ3pELGFBQUs7QUFBQSxNQUNQLFdBQVcsS0FBSyxXQUFXLEtBQUs7QUFDOUIsZUFBTztBQUFBLE1BQ1Q7QUFDQSxVQUFJLE9BQU8sT0FBTyxLQUFLLEtBQUssTUFBTTtBQUNsQyxVQUFJLEtBQUssU0FBUyxHQUFHO0FBQ25CLFlBQUksS0FBSyxNQUFNLFNBQVMsR0FBRztBQUN6QixpQkFBTyxLQUFLLE9BQU8sQ0FBQyxLQUFLLFFBQVEsS0FBSyxPQUFPLENBQUMsS0FBSyxJQUFJLFlBQVksTUFBTSxFQUFFLE9BQU8sQ0FBQyxLQUFLLElBQUksWUFBWTtBQUFBLFFBQzFHLENBQUMsR0FBRztBQUNGLGVBQUs7QUFBQSxRQUNQLE9BQU87QUFDTCxpQkFBTztBQUFBLFFBQ1Q7QUFBQSxNQUNGO0FBQ0EsYUFBTztBQUFBLFFBQ0wsR0FBRztBQUFBLFFBQ0gsR0FBRyxLQUFLO0FBQUEsUUFDUixHQUFHLEtBQUs7QUFBQSxRQUNSO0FBQUEsTUFDRjtBQUFBLElBQ0Y7QUFDQSxhQUFTLG9CQUFvQixRQUFRLFVBQVU7QUFDN0MsVUFBSSxVQUFVLFlBQVksV0FBVyxTQUFTLFFBQVEsVUFBVSxFQUFFO0FBQ2xFLFVBQUksQ0FBQyxVQUFVO0FBQ2IsZUFBTyxRQUFRLE9BQU8sU0FBUyxFQUFFLEtBQUssWUFBWSxFQUFFLElBQUksV0FBVztBQUFBLE1BQ3JFO0FBQ0EsVUFBSSxhQUFhLFNBQVMsSUFBSSxTQUFTLFlBQVksTUFBTSxPQUFPO0FBQzlELGVBQU8scUJBQXFCLE1BQU0sU0FBUyxLQUFLO0FBQUEsTUFDbEQsQ0FBQztBQUNELGFBQU8sV0FBVyxPQUFPLFNBQVMsRUFBRSxLQUFLLFlBQVksRUFBRSxJQUFJLFNBQVMsUUFBUSxVQUFVO0FBQ3BGLGVBQU8sU0FBUyxXQUFXLFFBQVEsUUFBUSxDQUFDO0FBQUEsTUFDOUMsQ0FBQztBQUFBLElBQ0g7QUFDQSxhQUFTLGFBQWEsR0FBRyxHQUFHO0FBQzFCLGFBQU8sRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsS0FBSztBQUFBLElBQzdEO0FBQ0EsYUFBUyxZQUFZLE1BQU07QUFDekIsYUFBTyxLQUFLLE9BQU8sTUFBTSxLQUFLO0FBQUEsSUFDaEM7QUFDQSxhQUFTLFVBQVUsTUFBTTtBQUN2QixhQUFPLEtBQUssSUFBSTtBQUFBLElBQ2xCO0FBQ0EsYUFBUyxXQUFXLFFBQVE7QUFDMUIsVUFBSSxRQUFRO0FBQ1osVUFBSSxRQUFRO0FBQ1osY0FBUSxRQUFRLE9BQU8sUUFBUSxLQUFLLEtBQUssT0FBTyxJQUFJO0FBQ2xEO0FBQ0E7QUFBQSxNQUNGO0FBQ0EsYUFBTztBQUFBLElBQ1Q7QUFDQSxhQUFTLGtCQUFrQixLQUFLO0FBQzlCLFVBQUksUUFBUSxJQUFJLFFBQVEsR0FBRztBQUMzQixVQUFJO0FBQ0osVUFBSTtBQUNKLFVBQUksVUFBVSxJQUFJO0FBQ2hCLGNBQU07QUFBQSxNQUNSLE9BQU87QUFDTCxjQUFNLElBQUksTUFBTSxHQUFHLEtBQUs7QUFDeEIsY0FBTSxJQUFJLE1BQU0sUUFBUSxDQUFDO0FBQUEsTUFDM0I7QUFDQSxhQUFPLENBQUMsS0FBSyxHQUFHO0FBQUEsSUFDbEI7QUFDQSxhQUFTLGdCQUFnQixRQUFRO0FBQy9CLFVBQUksVUFBVSxPQUFPLE1BQU0sR0FBRztBQUM5QixlQUFTLElBQUksR0FBRyxJQUFJLEdBQUcsSUFBSSxRQUFRLFFBQVEsS0FBSztBQUM5QyxZQUFJLFdBQVcsUUFBUSxDQUFDLENBQUMsSUFBSSxLQUFLLEdBQUc7QUFDbkMsa0JBQVEsRUFBRSxDQUFDLElBQUksUUFBUSxDQUFDO0FBQUEsUUFDMUIsT0FBTztBQUNMLGtCQUFRLENBQUMsS0FBSyxNQUFNLFFBQVEsQ0FBQztBQUFBLFFBQy9CO0FBQUEsTUFDRjtBQUNBLGNBQVEsU0FBUyxJQUFJO0FBQ3JCLGFBQU87QUFBQSxJQUNUO0FBQ0EsYUFBUyxnQkFBZ0IsS0FBSztBQUM1QixVQUFJLGFBQWEsSUFBSSxNQUFNLEdBQUc7QUFDOUIsZUFBUyxJQUFJLEdBQUcsSUFBSSxHQUFHLElBQUksV0FBVyxRQUFRLEtBQUs7QUFDakQsWUFBSSxXQUFXLFdBQVcsQ0FBQyxDQUFDLElBQUksS0FBSyxHQUFHO0FBQ3RDLHFCQUFXLEVBQUUsQ0FBQyxJQUFJLFdBQVcsQ0FBQztBQUFBLFFBQ2hDLE9BQU87QUFDTCxxQkFBVyxDQUFDLEtBQUssTUFBTSxXQUFXLENBQUM7QUFBQSxRQUNyQztBQUFBLE1BQ0Y7QUFDQSxpQkFBVyxTQUFTLElBQUk7QUFDeEIsZUFBUyxJQUFJLEdBQUcsSUFBSSxXQUFXLFFBQVEsS0FBSztBQUMxQyxtQkFBVyxDQUFDLElBQUksV0FBVyxDQUFDLEVBQUUsS0FBSztBQUFBLE1BQ3JDO0FBQ0EsYUFBTztBQUFBLElBQ1Q7QUFBQSxFQUNGO0FBQ0YsQ0FBQztBQUdELElBQUkscUJBQXFCQSxZQUFXO0FBQUEsRUFDbEMsbUNBQW1DLFVBQVUsU0FBUztBQUNwRDtBQUNBLFFBQUksb0JBQW9CLGdCQUFnQjtBQUN4QyxRQUFJLHFCQUFxQixpQkFBaUI7QUFDMUMsUUFBSSxxQkFBcUIsaUJBQWlCO0FBQzFDLFFBQUksc0JBQXNCLGtCQUFrQjtBQUM1QyxZQUFRLFVBQVU7QUFDbEIsWUFBUSxRQUFRLGFBQWE7QUFDN0IsYUFBUyxXQUFXLFNBQVM7QUFDM0IsVUFBSSxFQUFFLGdCQUFnQixhQUFhO0FBQ2pDLGVBQU8sSUFBSSxXQUFXLE9BQU87QUFBQSxNQUMvQjtBQUNBLFdBQUssVUFBVTtBQUFBLElBQ2pCO0FBQ0EsZUFBVyxVQUFVLFVBQVUsU0FBUyxRQUFRLFdBQVc7QUFDekQsVUFBSSxNQUFNLEtBQUssU0FBUyxTQUFTO0FBQ2pDLGFBQU8sT0FBTyxJQUFJLENBQUM7QUFBQSxJQUNyQjtBQUNBLGVBQVcsVUFBVSxXQUFXLFNBQVMsU0FBUyxXQUFXO0FBQzNELGFBQU8sa0JBQWtCLEtBQUssUUFBUSxRQUFRLGdCQUFnQixHQUFHLFNBQVM7QUFBQSxJQUM1RTtBQUNBLGVBQVcsVUFBVSxXQUFXLFNBQVMsU0FBUyxXQUFXLE1BQU07QUFDakUsVUFBSSxNQUFNLEtBQUssVUFBVSxXQUFXLElBQUk7QUFDeEMsYUFBTyxPQUFPLElBQUksQ0FBQztBQUFBLElBQ3JCO0FBQ0EsZUFBVyxVQUFVLFlBQVksU0FBUyxVQUFVLFdBQVcsU0FBUztBQUN0RSxVQUFJLE9BQU8sV0FBVyxDQUFDO0FBQ3ZCLGFBQU8sbUJBQW1CLEtBQUssUUFBUSxRQUFRLGlCQUFpQixHQUFHLFdBQVcsS0FBSyxTQUFTO0FBQUEsSUFDOUY7QUFDQSxlQUFXLFVBQVUsV0FBVyxTQUFTLFNBQVMsV0FBVztBQUMzRCxVQUFJLE1BQU0sS0FBSyxVQUFVLFNBQVM7QUFDbEMsYUFBTyxPQUFPLElBQUksQ0FBQztBQUFBLElBQ3JCO0FBQ0EsZUFBVyxVQUFVLFlBQVksU0FBUyxVQUFVLFdBQVc7QUFDN0QsYUFBTyxtQkFBbUIsS0FBSyxRQUFRLFFBQVEsaUJBQWlCLEdBQUcsU0FBUztBQUFBLElBQzlFO0FBQ0EsZUFBVyxVQUFVLFlBQVksU0FBUyxVQUFVLFdBQVc7QUFDN0QsVUFBSSxNQUFNLEtBQUssV0FBVyxTQUFTO0FBQ25DLGFBQU8sT0FBTyxJQUFJLENBQUM7QUFBQSxJQUNyQjtBQUNBLGVBQVcsVUFBVSxhQUFhLFNBQVMsV0FBVyxXQUFXO0FBQy9ELGFBQU8sb0JBQW9CLEtBQUssUUFBUSxRQUFRLFFBQVEsU0FBUztBQUFBLElBQ25FO0FBQ0EsZUFBVyxVQUFVLG1CQUFtQixXQUFXLFVBQVU7QUFDN0QsZUFBVyxVQUFVLG9CQUFvQixXQUFXLFVBQVU7QUFDOUQsZUFBVyxVQUFVLG9CQUFvQixXQUFXLFVBQVU7QUFDOUQsZUFBVyxVQUFVLHFCQUFxQixXQUFXLFVBQVU7QUFDL0QsZUFBVyxVQUFVLG9CQUFvQixXQUFXLFVBQVU7QUFDOUQsZUFBVyxVQUFVLHFCQUFxQixXQUFXLFVBQVU7QUFDL0QsZUFBVyxVQUFVLHFCQUFxQixXQUFXLFVBQVU7QUFDL0QsZUFBVyxVQUFVLHNCQUFzQixXQUFXLFVBQVU7QUFBQSxFQUNsRTtBQUNGLENBQUM7QUFHRCxJQUFJLGNBQWNBLFlBQVc7QUFBQSxFQUMzQixvREFBb0QsVUFBVSxTQUFTO0FBQ3JFLFlBQVEsVUFBVTtBQUFBLE1BQ2hCLHdDQUF3QztBQUFBLFFBQ3RDLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSxzQ0FBc0M7QUFBQSxRQUNwQyxRQUFRO0FBQUEsUUFDUixTQUFTO0FBQUEsUUFDVCxjQUFjO0FBQUEsTUFDaEI7QUFBQSxNQUNBLDRCQUE0QjtBQUFBLFFBQzFCLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxNQUNoQjtBQUFBLE1BQ0EsNEJBQTRCO0FBQUEsUUFDMUIsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLE1BQ2hCO0FBQUEsTUFDQSxpQ0FBaUM7QUFBQSxRQUMvQixRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsTUFDaEI7QUFBQSxNQUNBLG1CQUFtQjtBQUFBLFFBQ2pCLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSx3QkFBd0I7QUFBQSxRQUN0QixRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0Esd0JBQXdCO0FBQUEsUUFDdEIsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLE1BQ2hCO0FBQUEsTUFDQSxrQ0FBa0M7QUFBQSxRQUNoQyxRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0EsNEJBQTRCO0FBQUEsUUFDMUIsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLDZCQUE2QjtBQUFBLFFBQzNCLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSw2QkFBNkI7QUFBQSxRQUMzQixRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsTUFDaEI7QUFBQSxNQUNBLHdCQUF3QjtBQUFBLFFBQ3RCLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSx3QkFBd0I7QUFBQSxRQUN0QixRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsTUFDaEI7QUFBQSxNQUNBLDhCQUE4QjtBQUFBLFFBQzVCLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxNQUNoQjtBQUFBLE1BQ0Esb0NBQW9DO0FBQUEsUUFDbEMsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLE1BQ2hCO0FBQUEsTUFDQSxpQ0FBaUM7QUFBQSxRQUMvQixRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsTUFDaEI7QUFBQSxNQUNBLHVDQUF1QztBQUFBLFFBQ3JDLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxNQUNoQjtBQUFBLE1BQ0EsbUNBQW1DO0FBQUEsUUFDakMsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLE1BQ2hCO0FBQUEsTUFDQSxzQ0FBc0M7QUFBQSxRQUNwQyxRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsTUFDaEI7QUFBQSxNQUNBLDRDQUE0QztBQUFBLFFBQzFDLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxNQUNoQjtBQUFBLE1BQ0Esc0NBQXNDO0FBQUEsUUFDcEMsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLE1BQ2hCO0FBQUEsTUFDQSw0Q0FBNEM7QUFBQSxRQUMxQyxRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsTUFDaEI7QUFBQSxNQUNBLCtCQUErQjtBQUFBLFFBQzdCLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxNQUNoQjtBQUFBLE1BQ0Esb0NBQW9DO0FBQUEsUUFDbEMsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLE1BQ2hCO0FBQUEsTUFDQSwwQ0FBMEM7QUFBQSxRQUN4QyxRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsTUFDaEI7QUFBQSxNQUNBLGlDQUFpQztBQUFBLFFBQy9CLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxNQUNoQjtBQUFBLE1BQ0EsdUNBQXVDO0FBQUEsUUFDckMsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLE1BQ2hCO0FBQUEsTUFDQSw4QkFBOEI7QUFBQSxRQUM1QixRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsTUFDaEI7QUFBQSxNQUNBLG9DQUFvQztBQUFBLFFBQ2xDLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxNQUNoQjtBQUFBLE1BQ0EsNkNBQTZDO0FBQUEsUUFDM0MsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLE1BQ2hCO0FBQUEsTUFDQSw0Q0FBNEM7QUFBQSxRQUMxQyxRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsTUFDaEI7QUFBQSxNQUNBLG1CQUFtQjtBQUFBLFFBQ2pCLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSw0QkFBNEI7QUFBQSxRQUMxQixRQUFRO0FBQUEsUUFDUixZQUFZLENBQUMsSUFBSTtBQUFBLE1BQ25CO0FBQUEsTUFDQSw0QkFBNEI7QUFBQSxRQUMxQixjQUFjO0FBQUEsUUFDZCxZQUFZLENBQUMsY0FBYztBQUFBLE1BQzdCO0FBQUEsTUFDQSx5QkFBeUI7QUFBQSxRQUN2QixRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0EsMEJBQTBCO0FBQUEsUUFDeEIsUUFBUTtBQUFBLFFBQ1IsWUFBWSxDQUFDLElBQUk7QUFBQSxNQUNuQjtBQUFBLE1BQ0Esb0JBQW9CO0FBQUEsUUFDbEIsY0FBYztBQUFBLFFBQ2QsWUFBWSxDQUFDLE1BQU07QUFBQSxNQUNyQjtBQUFBLE1BQ0EsMEJBQTBCO0FBQUEsUUFDeEIsY0FBYztBQUFBLFFBQ2QsWUFBWSxDQUFDLFlBQVk7QUFBQSxNQUMzQjtBQUFBLE1BQ0Esc0JBQXNCO0FBQUEsUUFDcEIsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLG1CQUFtQjtBQUFBLFFBQ2pCLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSxvQkFBb0I7QUFBQSxRQUNsQixRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0Esd0JBQXdCO0FBQUEsUUFDdEIsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLFFBQ2QsWUFBWSxDQUFDLE1BQU07QUFBQSxNQUNyQjtBQUFBLE1BQ0EsMkJBQTJCO0FBQUEsUUFDekIsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLFFBQ2QsWUFBWSxDQUFDLFNBQVM7QUFBQSxNQUN4QjtBQUFBLE1BQ0EsK0JBQStCO0FBQUEsUUFDN0IsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLFFBQ2QsWUFBWSxDQUFDLGFBQWE7QUFBQSxNQUM1QjtBQUFBLE1BQ0EsMEJBQTBCO0FBQUEsUUFDeEIsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLDJCQUEyQjtBQUFBLFFBQ3pCLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxRQUNkLFlBQVksQ0FBQyxTQUFTO0FBQUEsTUFDeEI7QUFBQSxNQUNBLDRCQUE0QjtBQUFBLFFBQzFCLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxRQUNkLFlBQVksQ0FBQyxLQUFLO0FBQUEsTUFDcEI7QUFBQSxNQUNBLDBDQUEwQztBQUFBLFFBQ3hDLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSw2QkFBNkI7QUFBQSxRQUMzQixRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsUUFDZCxZQUFZLENBQUMsTUFBTTtBQUFBLE1BQ3JCO0FBQUEsTUFDQSw2QkFBNkI7QUFBQSxRQUMzQixRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsTUFDaEI7QUFBQSxNQUNBLDZCQUE2QjtBQUFBLFFBQzNCLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxRQUNkLFlBQVksQ0FBQyxNQUFNO0FBQUEsTUFDckI7QUFBQSxNQUNBLHFCQUFxQjtBQUFBLFFBQ25CLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSwrQkFBK0I7QUFBQSxRQUM3QixRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsTUFDaEI7QUFBQSxNQUNBLG9DQUFvQztBQUFBLFFBQ2xDLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxRQUNkLFlBQVksQ0FBQyxLQUFLO0FBQUEsTUFDcEI7QUFBQSxNQUNBLHFDQUFxQztBQUFBLFFBQ25DLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxRQUNkLFlBQVksQ0FBQyxNQUFNO0FBQUEsTUFDckI7QUFBQSxNQUNBLDhCQUE4QjtBQUFBLFFBQzVCLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxNQUNoQjtBQUFBLE1BQ0EsMEJBQTBCO0FBQUEsUUFDeEIsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLG9CQUFvQjtBQUFBLFFBQ2xCLGNBQWM7QUFBQSxRQUNkLFlBQVksQ0FBQyxNQUFNO0FBQUEsTUFDckI7QUFBQSxNQUNBLHdCQUF3QjtBQUFBLFFBQ3RCLFFBQVE7QUFBQSxRQUNSLFNBQVM7QUFBQSxRQUNULGNBQWM7QUFBQSxNQUNoQjtBQUFBLE1BQ0Esb0JBQW9CO0FBQUEsUUFDbEIsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLG9CQUFvQjtBQUFBLFFBQ2xCLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSw2QkFBNkI7QUFBQSxRQUMzQixRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsTUFDaEI7QUFBQSxNQUNBLDRCQUE0QjtBQUFBLFFBQzFCLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxRQUNkLFlBQVksQ0FBQyxLQUFLO0FBQUEsTUFDcEI7QUFBQSxNQUNBLCtCQUErQjtBQUFBLFFBQzdCLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSx5QkFBeUI7QUFBQSxRQUN2QixRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0EsNEJBQTRCO0FBQUEsUUFDMUIsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLE1BQ2hCO0FBQUEsTUFDQSxvQkFBb0I7QUFBQSxRQUNsQixRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0Esd0JBQXdCO0FBQUEsUUFDdEIsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLHFCQUFxQjtBQUFBLFFBQ25CLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSx3QkFBd0I7QUFBQSxRQUN0QixRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsTUFDaEI7QUFBQSxNQUNBLHlCQUF5QjtBQUFBLFFBQ3ZCLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxRQUNkLFlBQVksQ0FBQyxPQUFPO0FBQUEsTUFDdEI7QUFBQSxNQUNBLHVCQUF1QjtBQUFBLFFBQ3JCLFFBQVE7QUFBQSxRQUNSLFNBQVM7QUFBQSxRQUNULGNBQWM7QUFBQSxNQUNoQjtBQUFBLE1BQ0Esd0JBQXdCO0FBQUEsUUFDdEIsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLFFBQ2QsWUFBWSxDQUFDLE1BQU07QUFBQSxNQUNyQjtBQUFBLE1BQ0EsK0JBQStCO0FBQUEsUUFDN0IsUUFBUTtBQUFBLFFBQ1IsWUFBWSxDQUFDLE9BQU87QUFBQSxNQUN0QjtBQUFBLE1BQ0EsOEJBQThCO0FBQUEsUUFDNUIsUUFBUTtBQUFBLFFBQ1IsWUFBWSxDQUFDLE9BQU87QUFBQSxNQUN0QjtBQUFBLE1BQ0EsMkJBQTJCO0FBQUEsUUFDekIsUUFBUTtBQUFBLFFBQ1IsWUFBWSxDQUFDLE9BQU87QUFBQSxNQUN0QjtBQUFBLE1BQ0EsMkJBQTJCO0FBQUEsUUFDekIsUUFBUTtBQUFBLFFBQ1IsWUFBWSxDQUFDLE9BQU87QUFBQSxNQUN0QjtBQUFBLE1BQ0EsMEJBQTBCO0FBQUEsUUFDeEIsUUFBUTtBQUFBLFFBQ1IsWUFBWSxDQUFDLE9BQU87QUFBQSxNQUN0QjtBQUFBLE1BQ0Esb0JBQW9CO0FBQUEsUUFDbEIsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLHVCQUF1QjtBQUFBLFFBQ3JCLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSxtQkFBbUI7QUFBQSxRQUNqQixRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0EsNEJBQTRCO0FBQUEsUUFDMUIsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLE1BQ2hCO0FBQUEsTUFDQSwwQkFBMEI7QUFBQSxRQUN4QixRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsTUFDaEI7QUFBQSxNQUNBLG1CQUFtQjtBQUFBLFFBQ2pCLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSxrQ0FBa0M7QUFBQSxRQUNoQyxRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0EseUJBQXlCO0FBQUEsUUFDdkIsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLE1BQ2hCO0FBQUEsTUFDQSw2QkFBNkI7QUFBQSxRQUMzQixRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0EsbUJBQW1CO0FBQUEsUUFDakIsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLHdCQUF3QjtBQUFBLFFBQ3RCLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxNQUNoQjtBQUFBLE1BQ0EsNkJBQTZCO0FBQUEsUUFDM0IsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLE1BQ2hCO0FBQUEsTUFDQSxtQkFBbUI7QUFBQSxRQUNqQixRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0Esd0JBQXdCO0FBQUEsUUFDdEIsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLE1BQ2hCO0FBQUEsTUFDQSx3QkFBd0I7QUFBQSxRQUN0QixRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0EsK0JBQStCO0FBQUEsUUFDN0IsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLE1BQ2hCO0FBQUEsTUFDQSw0QkFBNEI7QUFBQSxRQUMxQixRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0EsNEJBQTRCO0FBQUEsUUFDMUIsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLDRDQUE0QztBQUFBLFFBQzFDLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSxtQ0FBbUM7QUFBQSxRQUNqQyxRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsTUFDaEI7QUFBQSxNQUNBLG9CQUFvQjtBQUFBLFFBQ2xCLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSx3QkFBd0I7QUFBQSxRQUN0QixRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0EsNEJBQTRCO0FBQUEsUUFDMUIsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLHlCQUF5QjtBQUFBLFFBQ3ZCLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSx1QkFBdUI7QUFBQSxRQUNyQixRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsUUFDZCxZQUFZLENBQUMsS0FBSztBQUFBLE1BQ3BCO0FBQUEsTUFDQSx3QkFBd0I7QUFBQSxRQUN0QixRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0Esd0JBQXdCO0FBQUEsUUFDdEIsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLE1BQ2hCO0FBQUEsTUFDQSw0QkFBNEI7QUFBQSxRQUMxQixRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsTUFDaEI7QUFBQSxNQUNBLHlCQUF5QjtBQUFBLFFBQ3ZCLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxNQUNoQjtBQUFBLE1BQ0Esd0JBQXdCO0FBQUEsUUFDdEIsUUFBUTtBQUFBLFFBQ1IsWUFBWSxDQUFDLElBQUk7QUFBQSxNQUNuQjtBQUFBLE1BQ0EsbUJBQW1CO0FBQUEsUUFDakIsUUFBUTtBQUFBLFFBQ1IsWUFBWSxDQUFDLEtBQUs7QUFBQSxNQUNwQjtBQUFBLE1BQ0Esd0JBQXdCO0FBQUEsUUFDdEIsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLE1BQ2hCO0FBQUEsTUFDQSx3QkFBd0I7QUFBQSxRQUN0QixRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0EsbUJBQW1CO0FBQUEsUUFDakIsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLHlCQUF5QjtBQUFBLFFBQ3ZCLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSxvQkFBb0I7QUFBQSxRQUNsQixjQUFjO0FBQUEsTUFDaEI7QUFBQSxNQUNBLHdCQUF3QjtBQUFBLFFBQ3RCLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxRQUNkLFlBQVksQ0FBQyxLQUFLO0FBQUEsTUFDcEI7QUFBQSxNQUNBLDhCQUE4QjtBQUFBLFFBQzVCLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxRQUNkLFlBQVksQ0FBQyxLQUFLO0FBQUEsTUFDcEI7QUFBQSxNQUNBLHlCQUF5QjtBQUFBLFFBQ3ZCLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSw0QkFBNEI7QUFBQSxRQUMxQixRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsUUFDZCxZQUFZLENBQUMsVUFBVTtBQUFBLE1BQ3pCO0FBQUEsTUFDQSx1QkFBdUI7QUFBQSxRQUNyQixRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0EsbUJBQW1CO0FBQUEsUUFDakIsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLHNCQUFzQjtBQUFBLFFBQ3BCLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSwrQkFBK0I7QUFBQSxRQUM3QixRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsTUFDaEI7QUFBQSxNQUNBLHFCQUFxQjtBQUFBLFFBQ25CLFFBQVE7QUFBQSxRQUNSLFlBQVksQ0FBQyxLQUFLO0FBQUEsTUFDcEI7QUFBQSxNQUNBLDBCQUEwQjtBQUFBLFFBQ3hCLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxNQUNoQjtBQUFBLE1BQ0EseUJBQXlCO0FBQUEsUUFDdkIsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLE1BQ2hCO0FBQUEsTUFDQSxtQkFBbUI7QUFBQSxRQUNqQixRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0EsbUJBQW1CO0FBQUEsUUFDakIsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLG1CQUFtQjtBQUFBLFFBQ2pCLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSx3QkFBd0I7QUFBQSxRQUN0QixRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsTUFDaEI7QUFBQSxNQUNBLDJCQUEyQjtBQUFBLFFBQ3pCLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSwyQkFBMkI7QUFBQSxRQUN6QixRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsUUFDZCxZQUFZLENBQUMsS0FBSztBQUFBLE1BQ3BCO0FBQUEsTUFDQSx5QkFBeUI7QUFBQSxRQUN2QixRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0Esd0JBQXdCO0FBQUEsUUFDdEIsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLHlCQUF5QjtBQUFBLFFBQ3ZCLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxNQUNoQjtBQUFBLE1BQ0Esd0JBQXdCO0FBQUEsUUFDdEIsUUFBUTtBQUFBLFFBQ1IsWUFBWSxDQUFDLE1BQU07QUFBQSxNQUNyQjtBQUFBLE1BQ0Esd0JBQXdCO0FBQUEsUUFDdEIsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLFFBQ2QsWUFBWSxDQUFDLE9BQU87QUFBQSxNQUN0QjtBQUFBLE1BQ0Esb0JBQW9CO0FBQUEsUUFDbEIsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLHVCQUF1QjtBQUFBLFFBQ3JCLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSx1QkFBdUI7QUFBQSxRQUNyQixRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0EsNEJBQTRCO0FBQUEsUUFDMUIsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLDRCQUE0QjtBQUFBLFFBQzFCLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxNQUNoQjtBQUFBLE1BQ0EsNEJBQTRCO0FBQUEsUUFDMUIsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLDRCQUE0QjtBQUFBLFFBQzFCLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxNQUNoQjtBQUFBLE1BQ0EsMEJBQTBCO0FBQUEsUUFDeEIsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLFFBQ2QsWUFBWSxDQUFDLE1BQU07QUFBQSxNQUNyQjtBQUFBLE1BQ0EsOEJBQThCO0FBQUEsUUFDNUIsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLDJCQUEyQjtBQUFBLFFBQ3pCLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSx1QkFBdUI7QUFBQSxRQUNyQixRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsTUFDaEI7QUFBQSxNQUNBLHVCQUF1QjtBQUFBLFFBQ3JCLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxNQUNoQjtBQUFBLE1BQ0EsbUJBQW1CO0FBQUEsUUFDakIsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLHdCQUF3QjtBQUFBLFFBQ3RCLFFBQVE7QUFBQSxRQUNSLFNBQVM7QUFBQSxRQUNULGNBQWM7QUFBQSxNQUNoQjtBQUFBLE1BQ0EsdUJBQXVCO0FBQUEsUUFDckIsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLE1BQ2hCO0FBQUEsTUFDQSx5Q0FBeUM7QUFBQSxRQUN2QyxRQUFRO0FBQUEsUUFDUixTQUFTO0FBQUEsUUFDVCxjQUFjO0FBQUEsTUFDaEI7QUFBQSxNQUNBLDZDQUE2QztBQUFBLFFBQzNDLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxNQUNoQjtBQUFBLE1BQ0EsNkNBQTZDO0FBQUEsUUFDM0MsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLE1BQ2hCO0FBQUEsTUFDQSxnREFBZ0Q7QUFBQSxRQUM5QyxRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsTUFDaEI7QUFBQSxNQUNBLDJDQUEyQztBQUFBLFFBQ3pDLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSxnREFBZ0Q7QUFBQSxRQUM5QyxRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsTUFDaEI7QUFBQSxNQUNBLGtEQUFrRDtBQUFBLFFBQ2hELFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxNQUNoQjtBQUFBLE1BQ0EsaURBQWlEO0FBQUEsUUFDL0MsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLE1BQ2hCO0FBQUEsTUFDQSxvREFBb0Q7QUFBQSxRQUNsRCxRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsTUFDaEI7QUFBQSxNQUNBLDBDQUEwQztBQUFBLFFBQ3hDLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxNQUNoQjtBQUFBLE1BQ0Esd0JBQXdCO0FBQUEsUUFDdEIsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLFFBQ2QsWUFBWSxDQUFDLE1BQU07QUFBQSxNQUNyQjtBQUFBLE1BQ0EsNkJBQTZCO0FBQUEsUUFDM0IsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLFFBQ2QsWUFBWSxDQUFDLFdBQVc7QUFBQSxNQUMxQjtBQUFBLE1BQ0Esd0JBQXdCO0FBQUEsUUFDdEIsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLG9DQUFvQztBQUFBLFFBQ2xDLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSx1QkFBdUI7QUFBQSxRQUNyQixRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsTUFDaEI7QUFBQSxNQUNBLHdCQUF3QjtBQUFBLFFBQ3RCLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxRQUNkLFlBQVksQ0FBQyxNQUFNO0FBQUEsTUFDckI7QUFBQSxNQUNBLHFCQUFxQjtBQUFBLFFBQ25CLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSxtQkFBbUI7QUFBQSxRQUNqQixRQUFRO0FBQUEsUUFDUixZQUFZLENBQUMsS0FBSztBQUFBLE1BQ3BCO0FBQUEsTUFDQSxxQ0FBcUM7QUFBQSxRQUNuQyxRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsTUFDaEI7QUFBQSxNQUNBLHVCQUF1QjtBQUFBLFFBQ3JCLFFBQVE7QUFBQSxRQUNSLFlBQVksQ0FBQyxLQUFLO0FBQUEsTUFDcEI7QUFBQSxNQUNBLDJCQUEyQjtBQUFBLFFBQ3pCLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSx3QkFBd0I7QUFBQSxRQUN0QixRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0EsbUJBQW1CO0FBQUEsUUFDakIsUUFBUTtBQUFBLFFBQ1IsWUFBWSxDQUFDLEtBQUs7QUFBQSxNQUNwQjtBQUFBLE1BQ0EsdUJBQXVCO0FBQUEsUUFDckIsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLFFBQ2QsWUFBWSxDQUFDLEtBQUs7QUFBQSxNQUNwQjtBQUFBLE1BQ0EseUJBQXlCO0FBQUEsUUFDdkIsUUFBUTtBQUFBLFFBQ1IsU0FBUztBQUFBLFFBQ1QsY0FBYztBQUFBLE1BQ2hCO0FBQUEsTUFDQSx3QkFBd0I7QUFBQSxRQUN0QixRQUFRO0FBQUEsUUFDUixTQUFTO0FBQUEsUUFDVCxjQUFjO0FBQUEsTUFDaEI7QUFBQSxNQUNBLHNDQUFzQztBQUFBLFFBQ3BDLGNBQWM7QUFBQSxNQUNoQjtBQUFBLE1BQ0Esb0JBQW9CO0FBQUEsUUFDbEIsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLHVCQUF1QjtBQUFBLFFBQ3JCLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSx5QkFBeUI7QUFBQSxRQUN2QixRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0EsMEJBQTBCO0FBQUEsUUFDeEIsUUFBUTtBQUFBLFFBQ1IsWUFBWSxDQUFDLEtBQUs7QUFBQSxNQUNwQjtBQUFBLE1BQ0EseUJBQXlCO0FBQUEsUUFDdkIsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLE1BQ2hCO0FBQUEsTUFDQSx3Q0FBd0M7QUFBQSxRQUN0QyxRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsTUFDaEI7QUFBQSxNQUNBLHdCQUF3QjtBQUFBLFFBQ3RCLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxRQUNkLFlBQVksQ0FBQyxTQUFTO0FBQUEsTUFDeEI7QUFBQSxNQUNBLDRCQUE0QjtBQUFBLFFBQzFCLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSxrQ0FBa0M7QUFBQSxRQUNoQyxRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0EsNEJBQTRCO0FBQUEsUUFDMUIsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLE1BQ2hCO0FBQUEsTUFDQSw2QkFBNkI7QUFBQSxRQUMzQixRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsTUFDaEI7QUFBQSxNQUNBLDRCQUE0QjtBQUFBLFFBQzFCLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxNQUNoQjtBQUFBLE1BQ0EsMkJBQTJCO0FBQUEsUUFDekIsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLHVCQUF1QjtBQUFBLFFBQ3JCLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxRQUNkLFlBQVksQ0FBQyxLQUFLO0FBQUEsTUFDcEI7QUFBQSxNQUNBLGdDQUFnQztBQUFBLFFBQzlCLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSxpQ0FBaUM7QUFBQSxRQUMvQixRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0EseUNBQXlDO0FBQUEsUUFDdkMsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLDBDQUEwQztBQUFBLFFBQ3hDLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSx1QkFBdUI7QUFBQSxRQUNyQixRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsUUFDZCxZQUFZLENBQUMsS0FBSztBQUFBLE1BQ3BCO0FBQUEsTUFDQSxvQkFBb0I7QUFBQSxRQUNsQixRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0EsbUJBQW1CO0FBQUEsUUFDakIsUUFBUTtBQUFBLFFBQ1IsWUFBWSxDQUFDLEtBQUs7QUFBQSxNQUNwQjtBQUFBLE1BQ0Esb0JBQW9CO0FBQUEsUUFDbEIsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLFFBQ2QsWUFBWSxDQUFDLElBQUk7QUFBQSxNQUNuQjtBQUFBLE1BQ0Esb0JBQW9CO0FBQUEsUUFDbEIsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLHdCQUF3QjtBQUFBLFFBQ3RCLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxNQUNoQjtBQUFBLE1BQ0EscUJBQXFCO0FBQUEsUUFDbkIsWUFBWSxDQUFDLE9BQU87QUFBQSxNQUN0QjtBQUFBLE1BQ0EseUJBQXlCO0FBQUEsUUFDdkIsUUFBUTtBQUFBLFFBQ1IsU0FBUztBQUFBLFFBQ1QsY0FBYztBQUFBLE1BQ2hCO0FBQUEsTUFDQSxvQkFBb0I7QUFBQSxRQUNsQixRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0EsMkJBQTJCO0FBQUEsUUFDekIsUUFBUTtBQUFBLFFBQ1IsWUFBWSxDQUFDLEtBQUs7QUFBQSxNQUNwQjtBQUFBLE1BQ0EsbUNBQW1DO0FBQUEsUUFDakMsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLE1BQ2hCO0FBQUEsTUFDQSxpQ0FBaUM7QUFBQSxRQUMvQixRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsTUFDaEI7QUFBQSxNQUNBLDJCQUEyQjtBQUFBLFFBQ3pCLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSxvQkFBb0I7QUFBQSxRQUNsQixRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0Esa0NBQWtDO0FBQUEsUUFDaEMsUUFBUTtBQUFBLFFBQ1IsU0FBUztBQUFBLFFBQ1QsY0FBYztBQUFBLE1BQ2hCO0FBQUEsTUFDQSxxQkFBcUI7QUFBQSxRQUNuQixRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0EseUJBQXlCO0FBQUEsUUFDdkIsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLHlCQUF5QjtBQUFBLFFBQ3ZCLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSw4QkFBOEI7QUFBQSxRQUM1QixRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0EseUJBQXlCO0FBQUEsUUFDdkIsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLHlCQUF5QjtBQUFBLFFBQ3ZCLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxRQUNkLFlBQVksQ0FBQyxPQUFPLE9BQU87QUFBQSxNQUM3QjtBQUFBLE1BQ0Esb0JBQW9CO0FBQUEsUUFDbEIsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLHFCQUFxQjtBQUFBLFFBQ25CLFFBQVE7QUFBQSxRQUNSLFlBQVksQ0FBQyxPQUFPO0FBQUEsTUFDdEI7QUFBQSxNQUNBLG1CQUFtQjtBQUFBLFFBQ2pCLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSxvQkFBb0I7QUFBQSxRQUNsQixRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0EsdUJBQXVCO0FBQUEsUUFDckIsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLFFBQ2QsWUFBWSxDQUFDLEtBQUs7QUFBQSxNQUNwQjtBQUFBLE1BQ0EsNEJBQTRCO0FBQUEsUUFDMUIsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLFFBQ2QsWUFBWSxDQUFDLE9BQU8sT0FBTyxLQUFLO0FBQUEsTUFDbEM7QUFBQSxNQUNBLHNDQUFzQztBQUFBLFFBQ3BDLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxRQUNkLFlBQVksQ0FBQyxLQUFLO0FBQUEsTUFDcEI7QUFBQSxNQUNBLHVCQUF1QjtBQUFBLFFBQ3JCLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxRQUNkLFlBQVksQ0FBQyxPQUFPO0FBQUEsTUFDdEI7QUFBQSxNQUNBLDBCQUEwQjtBQUFBLFFBQ3hCLFFBQVE7QUFBQSxRQUNSLFNBQVM7QUFBQSxRQUNULGNBQWM7QUFBQSxRQUNkLFlBQVksQ0FBQyxJQUFJO0FBQUEsTUFDbkI7QUFBQSxNQUNBLDRCQUE0QjtBQUFBLFFBQzFCLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxNQUNoQjtBQUFBLE1BQ0Esb0JBQW9CO0FBQUEsUUFDbEIsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLHlCQUF5QjtBQUFBLFFBQ3ZCLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxNQUNoQjtBQUFBLE1BQ0Esd0JBQXdCO0FBQUEsUUFDdEIsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLE1BQ2hCO0FBQUEsTUFDQSwrQkFBK0I7QUFBQSxRQUM3QixRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsTUFDaEI7QUFBQSxNQUNBLDhCQUE4QjtBQUFBLFFBQzVCLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxNQUNoQjtBQUFBLE1BQ0Esb0JBQW9CO0FBQUEsUUFDbEIsUUFBUTtBQUFBLFFBQ1IsU0FBUztBQUFBLFFBQ1QsY0FBYztBQUFBLFFBQ2QsWUFBWSxDQUFDLFFBQVEsS0FBSztBQUFBLE1BQzVCO0FBQUEsTUFDQSwrQkFBK0I7QUFBQSxRQUM3QixRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsTUFDaEI7QUFBQSxNQUNBLHdCQUF3QjtBQUFBLFFBQ3RCLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSxxQkFBcUI7QUFBQSxRQUNuQixZQUFZLENBQUMsT0FBTztBQUFBLE1BQ3RCO0FBQUEsTUFDQSwyQkFBMkI7QUFBQSxRQUN6QixRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsUUFDZCxZQUFZLENBQUMsUUFBUTtBQUFBLE1BQ3ZCO0FBQUEsTUFDQSx3QkFBd0I7QUFBQSxRQUN0QixRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0Esd0JBQXdCO0FBQUEsUUFDdEIsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLE1BQ2hCO0FBQUEsTUFDQSw0QkFBNEI7QUFBQSxRQUMxQixRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsTUFDaEI7QUFBQSxNQUNBLDJCQUEyQjtBQUFBLFFBQ3pCLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSxtQkFBbUI7QUFBQSxRQUNqQixRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0EsZ0NBQWdDO0FBQUEsUUFDOUIsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLE1BQ2hCO0FBQUEsTUFDQSxpQ0FBaUM7QUFBQSxRQUMvQixRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsTUFDaEI7QUFBQSxNQUNBLHVCQUF1QjtBQUFBLFFBQ3JCLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxRQUNkLFlBQVksQ0FBQyxRQUFRO0FBQUEsTUFDdkI7QUFBQSxNQUNBLHVCQUF1QjtBQUFBLFFBQ3JCLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxRQUNkLFlBQVksQ0FBQyxLQUFLO0FBQUEsTUFDcEI7QUFBQSxNQUNBLDJCQUEyQjtBQUFBLFFBQ3pCLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSx1QkFBdUI7QUFBQSxRQUNyQixRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0EsNEJBQTRCO0FBQUEsUUFDMUIsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLE1BQ2hCO0FBQUEsTUFDQSxnQ0FBZ0M7QUFBQSxRQUM5QixRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsTUFDaEI7QUFBQSxNQUNBLDBCQUEwQjtBQUFBLFFBQ3hCLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSx3QkFBd0I7QUFBQSxRQUN0QixRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsUUFDZCxZQUFZLENBQUMsU0FBUztBQUFBLE1BQ3hCO0FBQUEsTUFDQSw0QkFBNEI7QUFBQSxRQUMxQixRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsTUFDaEI7QUFBQSxNQUNBLHVCQUF1QjtBQUFBLFFBQ3JCLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxNQUNoQjtBQUFBLE1BQ0EsbUJBQW1CO0FBQUEsUUFDakIsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLDRCQUE0QjtBQUFBLFFBQzFCLFFBQVE7QUFBQSxRQUNSLFlBQVksQ0FBQyxLQUFLO0FBQUEsTUFDcEI7QUFBQSxNQUNBLDhCQUE4QjtBQUFBLFFBQzVCLFFBQVE7QUFBQSxRQUNSLFlBQVksQ0FBQyxLQUFLO0FBQUEsTUFDcEI7QUFBQSxNQUNBLDBCQUEwQjtBQUFBLFFBQ3hCLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSx3QkFBd0I7QUFBQSxRQUN0QixRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsUUFDZCxZQUFZLENBQUMsTUFBTTtBQUFBLE1BQ3JCO0FBQUEsTUFDQSw2QkFBNkI7QUFBQSxRQUMzQixRQUFRO0FBQUEsUUFDUixTQUFTO0FBQUEsUUFDVCxjQUFjO0FBQUEsUUFDZCxZQUFZLENBQUMsYUFBYTtBQUFBLE1BQzVCO0FBQUEsTUFDQSxvQkFBb0I7QUFBQSxRQUNsQixRQUFRO0FBQUEsUUFDUixZQUFZLENBQUMsS0FBSztBQUFBLE1BQ3BCO0FBQUEsTUFDQSwyQkFBMkI7QUFBQSxRQUN6QixRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsUUFDZCxZQUFZLENBQUMsTUFBTTtBQUFBLE1BQ3JCO0FBQUEsTUFDQSwyQkFBMkI7QUFBQSxRQUN6QixRQUFRO0FBQUEsUUFDUixZQUFZLENBQUMsTUFBTSxNQUFNLElBQUk7QUFBQSxNQUMvQjtBQUFBLE1BQ0EsMEJBQTBCO0FBQUEsUUFDeEIsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLFFBQ2QsWUFBWSxDQUFDLFFBQVE7QUFBQSxNQUN2QjtBQUFBLE1BQ0Esa0NBQWtDO0FBQUEsUUFDaEMsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLE1BQ2hCO0FBQUEsTUFDQSx1Q0FBdUM7QUFBQSxRQUNyQyxRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsTUFDaEI7QUFBQSxNQUNBLHlEQUF5RDtBQUFBLFFBQ3ZELFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxNQUNoQjtBQUFBLE1BQ0EsbUNBQW1DO0FBQUEsUUFDakMsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLE1BQ2hCO0FBQUEsTUFDQSxpQ0FBaUM7QUFBQSxRQUMvQixRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsTUFDaEI7QUFBQSxNQUNBLDRCQUE0QjtBQUFBLFFBQzFCLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxNQUNoQjtBQUFBLE1BQ0EscUNBQXFDO0FBQUEsUUFDbkMsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLE1BQ2hCO0FBQUEsTUFDQSwrQ0FBK0M7QUFBQSxRQUM3QyxRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsTUFDaEI7QUFBQSxNQUNBLHlDQUF5QztBQUFBLFFBQ3ZDLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxNQUNoQjtBQUFBLE1BQ0EsaUNBQWlDO0FBQUEsUUFDL0IsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLE1BQ2hCO0FBQUEsTUFDQSwwQ0FBMEM7QUFBQSxRQUN4QyxRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsTUFDaEI7QUFBQSxNQUNBLGlDQUFpQztBQUFBLFFBQy9CLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxNQUNoQjtBQUFBLE1BQ0EsaURBQWlEO0FBQUEsUUFDL0MsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLE1BQ2hCO0FBQUEsTUFDQSxvQkFBb0I7QUFBQSxRQUNsQixRQUFRO0FBQUEsUUFDUixZQUFZLENBQUMsTUFBTTtBQUFBLE1BQ3JCO0FBQUEsTUFDQSx3Q0FBd0M7QUFBQSxRQUN0QyxRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsUUFDZCxZQUFZLENBQUMsS0FBSztBQUFBLE1BQ3BCO0FBQUEsTUFDQSxpQ0FBaUM7QUFBQSxRQUMvQixRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsTUFDaEI7QUFBQSxNQUNBLHNDQUFzQztBQUFBLFFBQ3BDLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxRQUNkLFlBQVksQ0FBQyxPQUFPO0FBQUEsTUFDdEI7QUFBQSxNQUNBLGdDQUFnQztBQUFBLFFBQzlCLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxNQUNoQjtBQUFBLE1BQ0EsNEJBQTRCO0FBQUEsUUFDMUIsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLFFBQ2QsWUFBWSxDQUFDLFVBQVU7QUFBQSxNQUN6QjtBQUFBLE1BQ0EsNkJBQTZCO0FBQUEsUUFDM0IsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLFFBQ2QsWUFBWSxDQUFDLE9BQU87QUFBQSxNQUN0QjtBQUFBLE1BQ0Esd0JBQXdCO0FBQUEsUUFDdEIsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLFFBQ2QsWUFBWSxDQUFDLE1BQU07QUFBQSxNQUNyQjtBQUFBLE1BQ0EsbUJBQW1CO0FBQUEsUUFDakIsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLHFCQUFxQjtBQUFBLFFBQ25CLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSxvQkFBb0I7QUFBQSxRQUNsQixRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0EsdUNBQXVDO0FBQUEsUUFDckMsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLDJCQUEyQjtBQUFBLFFBQ3pCLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxRQUNkLFlBQVksQ0FBQyxNQUFNO0FBQUEsTUFDckI7QUFBQSxNQUNBLDJCQUEyQjtBQUFBLFFBQ3pCLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxRQUNkLFlBQVksQ0FBQyxNQUFNO0FBQUEsTUFDckI7QUFBQSxNQUNBLHdCQUF3QjtBQUFBLFFBQ3RCLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxRQUNkLFlBQVksQ0FBQyxNQUFNO0FBQUEsTUFDckI7QUFBQSxNQUNBLHlCQUF5QjtBQUFBLFFBQ3ZCLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSw4QkFBOEI7QUFBQSxRQUM1QixRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0EsNEJBQTRCO0FBQUEsUUFDMUIsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLCtCQUErQjtBQUFBLFFBQzdCLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSxvQkFBb0I7QUFBQSxRQUNsQixRQUFRO0FBQUEsUUFDUixZQUFZLENBQUMsT0FBTyxNQUFNO0FBQUEsTUFDNUI7QUFBQSxNQUNBLG1CQUFtQjtBQUFBLFFBQ2pCLFFBQVE7QUFBQSxRQUNSLFlBQVksQ0FBQyxPQUFPLFFBQVEsUUFBUSxLQUFLO0FBQUEsTUFDM0M7QUFBQSxNQUNBLDZCQUE2QjtBQUFBLFFBQzNCLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSx5QkFBeUI7QUFBQSxRQUN2QixRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0EsNkJBQTZCO0FBQUEsUUFDM0IsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLGdDQUFnQztBQUFBLFFBQzlCLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxNQUNoQjtBQUFBLE1BQ0EsK0JBQStCO0FBQUEsUUFDN0IsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLE1BQ2hCO0FBQUEsTUFDQSwyQkFBMkI7QUFBQSxRQUN6QixRQUFRO0FBQUEsUUFDUixTQUFTO0FBQUEsUUFDVCxjQUFjO0FBQUEsTUFDaEI7QUFBQSxNQUNBLDZCQUE2QjtBQUFBLFFBQzNCLFFBQVE7QUFBQSxRQUNSLFNBQVM7QUFBQSxRQUNULGNBQWM7QUFBQSxNQUNoQjtBQUFBLE1BQ0Esb0JBQW9CO0FBQUEsUUFDbEIsY0FBYztBQUFBLFFBQ2QsWUFBWSxDQUFDLE1BQU07QUFBQSxNQUNyQjtBQUFBLE1BQ0EsMEJBQTBCO0FBQUEsUUFDeEIsY0FBYztBQUFBLFFBQ2QsWUFBWSxDQUFDLFlBQVk7QUFBQSxNQUMzQjtBQUFBLE1BQ0Esc0JBQXNCO0FBQUEsUUFDcEIsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLFFBQ2QsWUFBWSxDQUFDLE9BQU8sS0FBSztBQUFBLE1BQzNCO0FBQUEsTUFDQSx3QkFBd0I7QUFBQSxRQUN0QixRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsTUFDaEI7QUFBQSxNQUNBLDhCQUE4QjtBQUFBLFFBQzVCLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSxtQkFBbUI7QUFBQSxRQUNqQixRQUFRO0FBQUEsUUFDUixZQUFZLENBQUMsS0FBSztBQUFBLE1BQ3BCO0FBQUEsTUFDQSx1QkFBdUI7QUFBQSxRQUNyQixRQUFRO0FBQUEsUUFDUixZQUFZLENBQUMsSUFBSTtBQUFBLE1BQ25CO0FBQUEsTUFDQSx5QkFBeUI7QUFBQSxRQUN2QixRQUFRO0FBQUEsUUFDUixZQUFZLENBQUMsSUFBSTtBQUFBLE1BQ25CO0FBQUEsTUFDQSx1QkFBdUI7QUFBQSxRQUNyQixRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0EsZ0NBQWdDO0FBQUEsUUFDOUIsUUFBUTtBQUFBLFFBQ1IsU0FBUztBQUFBLE1BQ1g7QUFBQSxNQUNBLDhCQUE4QjtBQUFBLFFBQzVCLFFBQVE7QUFBQSxRQUNSLFNBQVM7QUFBQSxNQUNYO0FBQUEsTUFDQSxpQ0FBaUM7QUFBQSxRQUMvQixRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0EseUJBQXlCO0FBQUEsUUFDdkIsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLE1BQ2hCO0FBQUEsTUFDQSxvQkFBb0I7QUFBQSxRQUNsQixRQUFRO0FBQUEsUUFDUixZQUFZLENBQUMsS0FBSztBQUFBLE1BQ3BCO0FBQUEsTUFDQSxtQkFBbUI7QUFBQSxRQUNqQixRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0EsbUNBQW1DO0FBQUEsUUFDakMsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLHFDQUFxQztBQUFBLFFBQ25DLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSw0QkFBNEI7QUFBQSxRQUMxQixRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0EsNkJBQTZCO0FBQUEsUUFDM0IsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLDRCQUE0QjtBQUFBLFFBQzFCLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxRQUNkLFlBQVksQ0FBQyxPQUFPLE9BQU8sT0FBTyxPQUFPLE1BQU0sUUFBUSxTQUFTLE9BQU8sT0FBTyxRQUFRLE9BQU8sVUFBVSxPQUFPLE9BQU8sT0FBTyxPQUFPLE9BQU8sT0FBTyxPQUFPLE9BQU8sT0FBTyxRQUFRO0FBQUEsTUFDaEw7QUFBQSxNQUNBLG1CQUFtQjtBQUFBLFFBQ2pCLFFBQVE7QUFBQSxRQUNSLFlBQVksQ0FBQyxLQUFLO0FBQUEsTUFDcEI7QUFBQSxNQUNBLHVCQUF1QjtBQUFBLFFBQ3JCLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxNQUNoQjtBQUFBLE1BQ0EsbUJBQW1CO0FBQUEsUUFDakIsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLGlDQUFpQztBQUFBLFFBQy9CLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxRQUNkLFlBQVksQ0FBQyxLQUFLO0FBQUEsTUFDcEI7QUFBQSxNQUNBLG1CQUFtQjtBQUFBLFFBQ2pCLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxRQUNkLFlBQVksQ0FBQyxLQUFLO0FBQUEsTUFDcEI7QUFBQSxNQUNBLDBCQUEwQjtBQUFBLFFBQ3hCLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSx5QkFBeUI7QUFBQSxRQUN2QixRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsUUFDZCxZQUFZLENBQUMsT0FBTztBQUFBLE1BQ3RCO0FBQUEsTUFDQSx1QkFBdUI7QUFBQSxRQUNyQixRQUFRO0FBQUEsUUFDUixZQUFZLENBQUMsVUFBVSxXQUFXLFVBQVUsVUFBVSxPQUFPLE1BQU07QUFBQSxNQUNyRTtBQUFBLE1BQ0EsK0JBQStCO0FBQUEsUUFDN0IsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLE1BQ2hCO0FBQUEsTUFDQSxzQkFBc0I7QUFBQSxRQUNwQixRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0Esb0JBQW9CO0FBQUEsUUFDbEIsUUFBUTtBQUFBLFFBQ1IsWUFBWSxDQUFDLE1BQU07QUFBQSxNQUNyQjtBQUFBLE1BQ0EsbUJBQW1CO0FBQUEsUUFDakIsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLHVCQUF1QjtBQUFBLFFBQ3JCLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxNQUNoQjtBQUFBLE1BQ0EsK0JBQStCO0FBQUEsUUFDN0IsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLFFBQ2QsWUFBWSxDQUFDLE1BQU07QUFBQSxNQUNyQjtBQUFBLE1BQ0EseUJBQXlCO0FBQUEsUUFDdkIsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLHdCQUF3QjtBQUFBLFFBQ3RCLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSxtQ0FBbUM7QUFBQSxRQUNqQyxRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsUUFDZCxZQUFZLENBQUMsS0FBSztBQUFBLE1BQ3BCO0FBQUEsTUFDQSxtQkFBbUI7QUFBQSxRQUNqQixRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsUUFDZCxZQUFZLENBQUMsS0FBSztBQUFBLE1BQ3BCO0FBQUEsTUFDQSxtQkFBbUI7QUFBQSxRQUNqQixRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0EscUNBQXFDO0FBQUEsUUFDbkMsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLDZCQUE2QjtBQUFBLFFBQzNCLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxRQUNkLFlBQVksQ0FBQyxLQUFLO0FBQUEsTUFDcEI7QUFBQSxNQUNBLHdCQUF3QjtBQUFBLFFBQ3RCLFFBQVE7QUFBQSxRQUNSLFlBQVksQ0FBQyxLQUFLO0FBQUEsTUFDcEI7QUFBQSxNQUNBLDZCQUE2QjtBQUFBLFFBQzNCLFFBQVE7QUFBQSxRQUNSLFlBQVksQ0FBQyxPQUFPLEtBQUs7QUFBQSxNQUMzQjtBQUFBLE1BQ0EsMEJBQTBCO0FBQUEsUUFDeEIsUUFBUTtBQUFBLFFBQ1IsWUFBWSxDQUFDLEtBQUs7QUFBQSxNQUNwQjtBQUFBLE1BQ0Esd0JBQXdCO0FBQUEsUUFDdEIsUUFBUTtBQUFBLFFBQ1IsU0FBUztBQUFBLFFBQ1QsY0FBYztBQUFBLE1BQ2hCO0FBQUEsTUFDQSw2QkFBNkI7QUFBQSxRQUMzQixRQUFRO0FBQUEsUUFDUixTQUFTO0FBQUEsUUFDVCxjQUFjO0FBQUEsTUFDaEI7QUFBQSxNQUNBLHNCQUFzQjtBQUFBLFFBQ3BCLFFBQVE7QUFBQSxRQUNSLFlBQVksQ0FBQyxLQUFLO0FBQUEsTUFDcEI7QUFBQSxNQUNBLHNCQUFzQjtBQUFBLFFBQ3BCLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSwwQkFBMEI7QUFBQSxRQUN4QixRQUFRO0FBQUEsUUFDUixZQUFZLENBQUMsT0FBTyxLQUFLO0FBQUEsTUFDM0I7QUFBQSxNQUNBLCtCQUErQjtBQUFBLFFBQzdCLFFBQVE7QUFBQSxRQUNSLFlBQVksQ0FBQyxLQUFLO0FBQUEsTUFDcEI7QUFBQSxNQUNBLHFCQUFxQjtBQUFBLFFBQ25CLFFBQVE7QUFBQSxRQUNSLFlBQVksQ0FBQyxJQUFJO0FBQUEsTUFDbkI7QUFBQSxNQUNBLCtCQUErQjtBQUFBLFFBQzdCLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSw4QkFBOEI7QUFBQSxRQUM1QixRQUFRO0FBQUEsUUFDUixZQUFZLENBQUMsSUFBSTtBQUFBLE1BQ25CO0FBQUEsTUFDQSx5QkFBeUI7QUFBQSxRQUN2QixRQUFRO0FBQUEsUUFDUixZQUFZLENBQUMsS0FBSztBQUFBLE1BQ3BCO0FBQUEsTUFDQSx3QkFBd0I7QUFBQSxRQUN0QixRQUFRO0FBQUEsUUFDUixZQUFZLENBQUMsS0FBSztBQUFBLE1BQ3BCO0FBQUEsTUFDQSw0QkFBNEI7QUFBQSxRQUMxQixRQUFRO0FBQUEsUUFDUixZQUFZLENBQUMsU0FBUztBQUFBLE1BQ3hCO0FBQUEsTUFDQSx1QkFBdUI7QUFBQSxRQUNyQixRQUFRO0FBQUEsUUFDUixZQUFZLENBQUMsS0FBSztBQUFBLE1BQ3BCO0FBQUEsTUFDQSx1QkFBdUI7QUFBQSxRQUNyQixRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsUUFDZCxZQUFZLENBQUMsS0FBSztBQUFBLE1BQ3BCO0FBQUEsTUFDQSxnQ0FBZ0M7QUFBQSxRQUM5QixRQUFRO0FBQUEsUUFDUixTQUFTO0FBQUEsUUFDVCxjQUFjO0FBQUEsTUFDaEI7QUFBQSxNQUNBLDBCQUEwQjtBQUFBLFFBQ3hCLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxRQUNkLFlBQVksQ0FBQyxNQUFNLE9BQU8sSUFBSTtBQUFBLE1BQ2hDO0FBQUEsTUFDQSxpQ0FBaUM7QUFBQSxRQUMvQixRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsTUFDaEI7QUFBQSxNQUNBLDhDQUE4QztBQUFBLFFBQzVDLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSxxQ0FBcUM7QUFBQSxRQUNuQyxRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0Esc0NBQXNDO0FBQUEsUUFDcEMsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLDRCQUE0QjtBQUFBLFFBQzFCLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxNQUNoQjtBQUFBLE1BQ0EsMkJBQTJCO0FBQUEsUUFDekIsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLE1BQ2hCO0FBQUEsTUFDQSw4QkFBOEI7QUFBQSxRQUM1QixRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsUUFDZCxZQUFZLENBQUMsT0FBTztBQUFBLE1BQ3RCO0FBQUEsTUFDQSxtQ0FBbUM7QUFBQSxRQUNqQyxRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0EsMkNBQTJDO0FBQUEsUUFDekMsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLHVCQUF1QjtBQUFBLFFBQ3JCLFFBQVE7QUFBQSxRQUNSLFlBQVksQ0FBQyxLQUFLO0FBQUEsTUFDcEI7QUFBQSxNQUNBLHVCQUF1QjtBQUFBLFFBQ3JCLFFBQVE7QUFBQSxRQUNSLFNBQVM7QUFBQSxNQUNYO0FBQUEsTUFDQSw0QkFBNEI7QUFBQSxRQUMxQixRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsTUFDaEI7QUFBQSxNQUNBLHdDQUF3QztBQUFBLFFBQ3RDLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxNQUNoQjtBQUFBLE1BQ0Esc0NBQXNDO0FBQUEsUUFDcEMsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLHVDQUF1QztBQUFBLFFBQ3JDLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxNQUNoQjtBQUFBLE1BQ0EsMkNBQTJDO0FBQUEsUUFDekMsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLHVDQUF1QztBQUFBLFFBQ3JDLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSxxQ0FBcUM7QUFBQSxRQUNuQyxRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0EsMkJBQTJCO0FBQUEsUUFDekIsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLDBCQUEwQjtBQUFBLFFBQ3hCLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSwyQkFBMkI7QUFBQSxRQUN6QixRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0EsaUNBQWlDO0FBQUEsUUFDL0IsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLDRCQUE0QjtBQUFBLFFBQzFCLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSwyQkFBMkI7QUFBQSxRQUN6QixRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsUUFDZCxZQUFZLENBQUMsS0FBSztBQUFBLE1BQ3BCO0FBQUEsTUFDQSx3QkFBd0I7QUFBQSxRQUN0QixRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsUUFDZCxZQUFZLENBQUMsU0FBUztBQUFBLE1BQ3hCO0FBQUEsTUFDQSx3QkFBd0I7QUFBQSxRQUN0QixRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsTUFDaEI7QUFBQSxNQUNBLG9CQUFvQjtBQUFBLFFBQ2xCLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSx5QkFBeUI7QUFBQSxRQUN2QixjQUFjO0FBQUEsUUFDZCxZQUFZLENBQUMsTUFBTTtBQUFBLE1BQ3JCO0FBQUEsTUFDQSx5QkFBeUI7QUFBQSxRQUN2QixRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0EseUJBQXlCO0FBQUEsUUFDdkIsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLE1BQ2hCO0FBQUEsTUFDQSx1QkFBdUI7QUFBQSxRQUNyQixRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsUUFDZCxZQUFZLENBQUMsT0FBTyxLQUFLO0FBQUEsTUFDM0I7QUFBQSxNQUNBLDJCQUEyQjtBQUFBLFFBQ3pCLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxRQUNkLFlBQVksQ0FBQyxLQUFLO0FBQUEsTUFDcEI7QUFBQSxNQUNBLHVDQUF1QztBQUFBLFFBQ3JDLFFBQVE7QUFBQSxRQUNSLFlBQVksQ0FBQyxLQUFLO0FBQUEsTUFDcEI7QUFBQSxNQUNBLCtCQUErQjtBQUFBLFFBQzdCLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSw0QkFBNEI7QUFBQSxRQUMxQixRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsTUFDaEI7QUFBQSxNQUNBLG9DQUFvQztBQUFBLFFBQ2xDLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSxrQ0FBa0M7QUFBQSxRQUNoQyxRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsUUFDZCxZQUFZLENBQUMsSUFBSTtBQUFBLE1BQ25CO0FBQUEsTUFDQSx1Q0FBdUM7QUFBQSxRQUNyQyxRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsUUFDZCxZQUFZLENBQUMsS0FBSztBQUFBLE1BQ3BCO0FBQUEsTUFDQSx1QkFBdUI7QUFBQSxRQUNyQixRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsTUFDaEI7QUFBQSxNQUNBLHNCQUFzQjtBQUFBLFFBQ3BCLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSx3QkFBd0I7QUFBQSxRQUN0QixRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsTUFDaEI7QUFBQSxNQUNBLGdDQUFnQztBQUFBLFFBQzlCLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxRQUNkLFlBQVksQ0FBQyxJQUFJO0FBQUEsTUFDbkI7QUFBQSxNQUNBLDZCQUE2QjtBQUFBLFFBQzNCLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxRQUNkLFlBQVksQ0FBQyxNQUFNO0FBQUEsTUFDckI7QUFBQSxNQUNBLGdDQUFnQztBQUFBLFFBQzlCLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxRQUNkLFlBQVksQ0FBQyxLQUFLO0FBQUEsTUFDcEI7QUFBQSxNQUNBLDZCQUE2QjtBQUFBLFFBQzNCLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxRQUNkLFlBQVksQ0FBQyxNQUFNO0FBQUEsTUFDckI7QUFBQSxNQUNBLDhCQUE4QjtBQUFBLFFBQzVCLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSxpQ0FBaUM7QUFBQSxRQUMvQixRQUFRO0FBQUEsUUFDUixZQUFZLENBQUMsS0FBSztBQUFBLE1BQ3BCO0FBQUEsTUFDQSw2QkFBNkI7QUFBQSxRQUMzQixRQUFRO0FBQUEsUUFDUixZQUFZLENBQUMsS0FBSztBQUFBLE1BQ3BCO0FBQUEsTUFDQSxnQ0FBZ0M7QUFBQSxRQUM5QixRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0Esd0JBQXdCO0FBQUEsUUFDdEIsUUFBUTtBQUFBLFFBQ1IsWUFBWSxDQUFDLEtBQUs7QUFBQSxNQUNwQjtBQUFBLE1BQ0EsK0JBQStCO0FBQUEsUUFDN0IsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLDJCQUEyQjtBQUFBLFFBQ3pCLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSx1QkFBdUI7QUFBQSxRQUNyQixRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsUUFDZCxZQUFZLENBQUMsS0FBSztBQUFBLE1BQ3BCO0FBQUEsTUFDQSx1QkFBdUI7QUFBQSxRQUNyQixRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsUUFDZCxZQUFZLENBQUMsS0FBSztBQUFBLE1BQ3BCO0FBQUEsTUFDQSxtQkFBbUI7QUFBQSxRQUNqQixRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsUUFDZCxZQUFZLENBQUMsS0FBSztBQUFBLE1BQ3BCO0FBQUEsTUFDQSwyQkFBMkI7QUFBQSxRQUN6QixRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0EsbUJBQW1CO0FBQUEsUUFDakIsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLGlDQUFpQztBQUFBLFFBQy9CLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxNQUNoQjtBQUFBLE1BQ0EsZ0NBQWdDO0FBQUEsUUFDOUIsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLE1BQ2hCO0FBQUEsTUFDQSwwQkFBMEI7QUFBQSxRQUN4QixRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsTUFDaEI7QUFBQSxNQUNBLDhDQUE4QztBQUFBLFFBQzVDLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxNQUNoQjtBQUFBLE1BQ0EsbUJBQW1CO0FBQUEsUUFDakIsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLHdCQUF3QjtBQUFBLFFBQ3RCLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxRQUNkLFlBQVksQ0FBQyxNQUFNO0FBQUEsTUFDckI7QUFBQSxNQUNBLHlCQUF5QjtBQUFBLFFBQ3ZCLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxNQUNoQjtBQUFBLE1BQ0EseUJBQXlCO0FBQUEsUUFDdkIsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLE1BQ2hCO0FBQUEsTUFDQSwrQkFBK0I7QUFBQSxRQUM3QixRQUFRO0FBQUEsUUFDUixZQUFZLENBQUMsS0FBSztBQUFBLE1BQ3BCO0FBQUEsTUFDQSxnQ0FBZ0M7QUFBQSxRQUM5QixRQUFRO0FBQUEsUUFDUixZQUFZLENBQUMsS0FBSztBQUFBLE1BQ3BCO0FBQUEsTUFDQSwrQkFBK0I7QUFBQSxRQUM3QixRQUFRO0FBQUEsUUFDUixZQUFZLENBQUMsS0FBSztBQUFBLE1BQ3BCO0FBQUEsTUFDQSxnQ0FBZ0M7QUFBQSxRQUM5QixRQUFRO0FBQUEsUUFDUixZQUFZLENBQUMsS0FBSztBQUFBLE1BQ3BCO0FBQUEsTUFDQSxtQkFBbUI7QUFBQSxRQUNqQixRQUFRO0FBQUEsUUFDUixZQUFZLENBQUMsS0FBSztBQUFBLE1BQ3BCO0FBQUEsTUFDQSw0QkFBNEI7QUFBQSxRQUMxQixRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0EsMEJBQTBCO0FBQUEsUUFDeEIsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLDBCQUEwQjtBQUFBLFFBQ3hCLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxNQUNoQjtBQUFBLE1BQ0EseUJBQXlCO0FBQUEsUUFDdkIsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLFFBQ2QsWUFBWSxDQUFDLFFBQVE7QUFBQSxNQUN2QjtBQUFBLE1BQ0EsK0JBQStCO0FBQUEsUUFDN0IsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLCtCQUErQjtBQUFBLFFBQzdCLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxNQUNoQjtBQUFBLE1BQ0EseUJBQXlCO0FBQUEsUUFDdkIsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLDJCQUEyQjtBQUFBLFFBQ3pCLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSwyQkFBMkI7QUFBQSxRQUN6QixRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsTUFDaEI7QUFBQSxNQUNBLDBCQUEwQjtBQUFBLFFBQ3hCLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxRQUNkLFlBQVksQ0FBQyxTQUFTO0FBQUEsTUFDeEI7QUFBQSxNQUNBLDBCQUEwQjtBQUFBLFFBQ3hCLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSx1QkFBdUI7QUFBQSxRQUNyQixRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsTUFDaEI7QUFBQSxNQUNBLHVCQUF1QjtBQUFBLFFBQ3JCLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSw0QkFBNEI7QUFBQSxRQUMxQixRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0EsMkJBQTJCO0FBQUEsUUFDekIsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLHNDQUFzQztBQUFBLFFBQ3BDLFFBQVE7QUFBQSxRQUNSLFlBQVksQ0FBQyxRQUFRO0FBQUEsTUFDdkI7QUFBQSxNQUNBLGdDQUFnQztBQUFBLFFBQzlCLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSwyQ0FBMkM7QUFBQSxRQUN6QyxRQUFRO0FBQUEsUUFDUixZQUFZLENBQUMsUUFBUTtBQUFBLE1BQ3ZCO0FBQUEsTUFDQSxvQkFBb0I7QUFBQSxRQUNsQixRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0EsaUNBQWlDO0FBQUEsUUFDL0IsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLHVCQUF1QjtBQUFBLFFBQ3JCLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxRQUNkLFlBQVksQ0FBQyxLQUFLO0FBQUEsTUFDcEI7QUFBQSxNQUNBLHFCQUFxQjtBQUFBLFFBQ25CLFFBQVE7QUFBQSxRQUNSLFlBQVksQ0FBQyxPQUFPLE9BQU87QUFBQSxNQUM3QjtBQUFBLE1BQ0EsaUNBQWlDO0FBQUEsUUFDL0IsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLE1BQ2hCO0FBQUEsTUFDQSxzQ0FBc0M7QUFBQSxRQUNwQyxRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0EscUNBQXFDO0FBQUEsUUFDbkMsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLG9CQUFvQjtBQUFBLFFBQ2xCLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSxxQkFBcUI7QUFBQSxRQUNuQixRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0Esb0JBQW9CO0FBQUEsUUFDbEIsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLHdCQUF3QjtBQUFBLFFBQ3RCLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxRQUNkLFlBQVksQ0FBQyxPQUFPLE1BQU07QUFBQSxNQUM1QjtBQUFBLE1BQ0EseUJBQXlCO0FBQUEsUUFDdkIsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLGdDQUFnQztBQUFBLFFBQzlCLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSx3QkFBd0I7QUFBQSxRQUN0QixRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsTUFDaEI7QUFBQSxNQUNBLDRCQUE0QjtBQUFBLFFBQzFCLFFBQVE7QUFBQSxRQUNSLFlBQVksQ0FBQyxJQUFJO0FBQUEsTUFDbkI7QUFBQSxNQUNBLGtDQUFrQztBQUFBLFFBQ2hDLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxRQUNkLFlBQVksQ0FBQyxLQUFLO0FBQUEsTUFDcEI7QUFBQSxNQUNBLHlCQUF5QjtBQUFBLFFBQ3ZCLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxNQUNoQjtBQUFBLE1BQ0EsaUNBQWlDO0FBQUEsUUFDL0IsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLE1BQ2hCO0FBQUEsTUFDQSxtQkFBbUI7QUFBQSxRQUNqQixRQUFRO0FBQUEsUUFDUixZQUFZLENBQUMsS0FBSztBQUFBLE1BQ3BCO0FBQUEsTUFDQSxvQkFBb0I7QUFBQSxRQUNsQixRQUFRO0FBQUEsUUFDUixZQUFZLENBQUMsTUFBTTtBQUFBLE1BQ3JCO0FBQUEsTUFDQSx3QkFBd0I7QUFBQSxRQUN0QixRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsUUFDZCxZQUFZLENBQUMsT0FBTztBQUFBLE1BQ3RCO0FBQUEsTUFDQSx1QkFBdUI7QUFBQSxRQUNyQixRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsUUFDZCxZQUFZLENBQUMsS0FBSztBQUFBLE1BQ3BCO0FBQUEsTUFDQSx3QkFBd0I7QUFBQSxRQUN0QixRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsUUFDZCxZQUFZLENBQUMsTUFBTTtBQUFBLE1BQ3JCO0FBQUEsTUFDQSw2QkFBNkI7QUFBQSxRQUMzQixRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0Esd0JBQXdCO0FBQUEsUUFDdEIsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLFFBQ2QsWUFBWSxDQUFDLE1BQU07QUFBQSxNQUNyQjtBQUFBLE1BQ0EseUJBQXlCO0FBQUEsUUFDdkIsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLHlCQUF5QjtBQUFBLFFBQ3ZCLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxNQUNoQjtBQUFBLE1BQ0EsdUJBQXVCO0FBQUEsUUFDckIsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLHlCQUF5QjtBQUFBLFFBQ3ZCLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSx3QkFBd0I7QUFBQSxRQUN0QixRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsUUFDZCxZQUFZLENBQUMsU0FBUztBQUFBLE1BQ3hCO0FBQUEsTUFDQSxnQ0FBZ0M7QUFBQSxRQUM5QixRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0Esd0NBQXdDO0FBQUEsUUFDdEMsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLHFDQUFxQztBQUFBLFFBQ25DLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSw2Q0FBNkM7QUFBQSxRQUMzQyxRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0EsMEJBQTBCO0FBQUEsUUFDeEIsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLG9DQUFvQztBQUFBLFFBQ2xDLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSw0Q0FBNEM7QUFBQSxRQUMxQyxRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0EsaUNBQWlDO0FBQUEsUUFDL0IsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLG9DQUFvQztBQUFBLFFBQ2xDLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSwyQkFBMkI7QUFBQSxRQUN6QixRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0EsbUNBQW1DO0FBQUEsUUFDakMsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLG1CQUFtQjtBQUFBLFFBQ2pCLGNBQWM7QUFBQSxNQUNoQjtBQUFBLE1BQ0EsMEJBQTBCO0FBQUEsUUFDeEIsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLE1BQ2hCO0FBQUEsTUFDQSx1QkFBdUI7QUFBQSxRQUNyQixRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsTUFDaEI7QUFBQSxNQUNBLHVCQUF1QjtBQUFBLFFBQ3JCLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxRQUNkLFlBQVksQ0FBQyxPQUFPLFdBQVc7QUFBQSxNQUNqQztBQUFBLE1BQ0EseUJBQXlCO0FBQUEsUUFDdkIsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLDBCQUEwQjtBQUFBLFFBQ3hCLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxRQUNkLFlBQVksQ0FBQyxLQUFLO0FBQUEsTUFDcEI7QUFBQSxNQUNBLCtCQUErQjtBQUFBLFFBQzdCLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSwrQkFBK0I7QUFBQSxRQUM3QixRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0EsZ0NBQWdDO0FBQUEsUUFDOUIsUUFBUTtBQUFBLFFBQ1IsWUFBWSxDQUFDLEtBQUs7QUFBQSxNQUNwQjtBQUFBLE1BQ0EsMkJBQTJCO0FBQUEsUUFDekIsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLDJCQUEyQjtBQUFBLFFBQ3pCLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxNQUNoQjtBQUFBLE1BQ0EsdUJBQXVCO0FBQUEsUUFDckIsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLE1BQ2hCO0FBQUEsTUFDQSwwQkFBMEI7QUFBQSxRQUN4QixRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0Esd0JBQXdCO0FBQUEsUUFDdEIsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLHVDQUF1QztBQUFBLFFBQ3JDLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSxvQkFBb0I7QUFBQSxRQUNsQixRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsUUFDZCxZQUFZLENBQUMsTUFBTTtBQUFBLE1BQ3JCO0FBQUEsTUFDQSxtQ0FBbUM7QUFBQSxRQUNqQyxRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0Esb0JBQW9CO0FBQUEsUUFDbEIsUUFBUTtBQUFBLFFBQ1IsWUFBWSxDQUFDLE1BQU07QUFBQSxNQUNyQjtBQUFBLE1BQ0EsZ0NBQWdDO0FBQUEsUUFDOUIsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLE1BQ2hCO0FBQUEsTUFDQSw4QkFBOEI7QUFBQSxRQUM1QixRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0EseUNBQXlDO0FBQUEsUUFDdkMsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLHdCQUF3QjtBQUFBLFFBQ3RCLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxRQUNkLFlBQVksQ0FBQyxNQUFNO0FBQUEsTUFDckI7QUFBQSxNQUNBLDJCQUEyQjtBQUFBLFFBQ3pCLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSxvQkFBb0I7QUFBQSxRQUNsQixRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0EseUJBQXlCO0FBQUEsUUFDdkIsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLHNCQUFzQjtBQUFBLFFBQ3BCLGNBQWM7QUFBQSxRQUNkLFlBQVksQ0FBQyxLQUFLO0FBQUEsTUFDcEI7QUFBQSxNQUNBLHlCQUF5QjtBQUFBLFFBQ3ZCLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSx5QkFBeUI7QUFBQSxRQUN2QixRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsTUFDaEI7QUFBQSxNQUNBLHNCQUFzQjtBQUFBLFFBQ3BCLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSxnQ0FBZ0M7QUFBQSxRQUM5QixRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsTUFDaEI7QUFBQSxNQUNBLGdDQUFnQztBQUFBLFFBQzlCLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxRQUNkLFlBQVksQ0FBQyxRQUFRO0FBQUEsTUFDdkI7QUFBQSxNQUNBLGtDQUFrQztBQUFBLFFBQ2hDLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxRQUNkLFlBQVksQ0FBQyxJQUFJO0FBQUEsTUFDbkI7QUFBQSxNQUNBLG9DQUFvQztBQUFBLFFBQ2xDLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxNQUNoQjtBQUFBLE1BQ0Esa0JBQWtCO0FBQUEsUUFDaEIsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLHVCQUF1QjtBQUFBLFFBQ3JCLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSxzQkFBc0I7QUFBQSxRQUNwQixRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0EsMEJBQTBCO0FBQUEsUUFDeEIsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLE1BQ2hCO0FBQUEsTUFDQSx5QkFBeUI7QUFBQSxRQUN2QixRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsTUFDaEI7QUFBQSxNQUNBLHFCQUFxQjtBQUFBLFFBQ25CLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSxvQ0FBb0M7QUFBQSxRQUNsQyxRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0EsZ0RBQWdEO0FBQUEsUUFDOUMsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLFFBQ2QsWUFBWSxDQUFDLEtBQUs7QUFBQSxNQUNwQjtBQUFBLE1BQ0EsdUJBQXVCO0FBQUEsUUFDckIsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLGtDQUFrQztBQUFBLFFBQ2hDLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxNQUNoQjtBQUFBLE1BQ0EsdUNBQXVDO0FBQUEsUUFDckMsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLE1BQ2hCO0FBQUEsTUFDQSx5Q0FBeUM7QUFBQSxRQUN2QyxRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsTUFDaEI7QUFBQSxNQUNBLHdDQUF3QztBQUFBLFFBQ3RDLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxNQUNoQjtBQUFBLE1BQ0Esc0NBQXNDO0FBQUEsUUFDcEMsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLE1BQ2hCO0FBQUEsTUFDQSxzREFBc0Q7QUFBQSxRQUNwRCxRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0EsOEJBQThCO0FBQUEsUUFDNUIsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLCtCQUErQjtBQUFBLFFBQzdCLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSx5REFBeUQ7QUFBQSxRQUN2RCxRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0EsK0JBQStCO0FBQUEsUUFDN0IsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLHlEQUF5RDtBQUFBLFFBQ3ZELFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSxtREFBbUQ7QUFBQSxRQUNqRCxRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsTUFDaEI7QUFBQSxNQUNBLGdDQUFnQztBQUFBLFFBQzlCLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxNQUNoQjtBQUFBLE1BQ0EsZ0NBQWdDO0FBQUEsUUFDOUIsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLE1BQ2hCO0FBQUEsTUFDQSx1REFBdUQ7QUFBQSxRQUNyRCxRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsTUFDaEI7QUFBQSxNQUNBLGlDQUFpQztBQUFBLFFBQy9CLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxNQUNoQjtBQUFBLE1BQ0EsNkJBQTZCO0FBQUEsUUFDM0IsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLDBDQUEwQztBQUFBLFFBQ3hDLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSw0QkFBNEI7QUFBQSxRQUMxQixRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0EsMENBQTBDO0FBQUEsUUFDeEMsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLHVEQUF1RDtBQUFBLFFBQ3JELFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxNQUNoQjtBQUFBLE1BQ0Esd0NBQXdDO0FBQUEsUUFDdEMsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLE1BQ2hCO0FBQUEsTUFDQSx5REFBeUQ7QUFBQSxRQUN2RCxRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsTUFDaEI7QUFBQSxNQUNBLHVDQUF1QztBQUFBLFFBQ3JDLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSwyQ0FBMkM7QUFBQSxRQUN6QyxRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsTUFDaEI7QUFBQSxNQUNBLGtEQUFrRDtBQUFBLFFBQ2hELFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxNQUNoQjtBQUFBLE1BQ0EsMENBQTBDO0FBQUEsUUFDeEMsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLDZDQUE2QztBQUFBLFFBQzNDLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxNQUNoQjtBQUFBLE1BQ0EsZ0RBQWdEO0FBQUEsUUFDOUMsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLE1BQ2hCO0FBQUEsTUFDQSxzREFBc0Q7QUFBQSxRQUNwRCxRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsTUFDaEI7QUFBQSxNQUNBLGdEQUFnRDtBQUFBLFFBQzlDLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxNQUNoQjtBQUFBLE1BQ0EsdUNBQXVDO0FBQUEsUUFDckMsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLE1BQ2hCO0FBQUEsTUFDQSxnREFBZ0Q7QUFBQSxRQUM5QyxRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsTUFDaEI7QUFBQSxNQUNBLGtEQUFrRDtBQUFBLFFBQ2hELFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxNQUNoQjtBQUFBLE1BQ0EsMENBQTBDO0FBQUEsUUFDeEMsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLE1BQ2hCO0FBQUEsTUFDQSxpREFBaUQ7QUFBQSxRQUMvQyxRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsTUFDaEI7QUFBQSxNQUNBLHlDQUF5QztBQUFBLFFBQ3ZDLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxNQUNoQjtBQUFBLE1BQ0EsNENBQTRDO0FBQUEsUUFDMUMsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLE1BQ2hCO0FBQUEsTUFDQSxpREFBaUQ7QUFBQSxRQUMvQyxRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsTUFDaEI7QUFBQSxNQUNBLCtDQUErQztBQUFBLFFBQzdDLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxNQUNoQjtBQUFBLE1BQ0Esd0RBQXdEO0FBQUEsUUFDdEQsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLE1BQ2hCO0FBQUEsTUFDQSx5Q0FBeUM7QUFBQSxRQUN2QyxRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsTUFDaEI7QUFBQSxNQUNBLGtEQUFrRDtBQUFBLFFBQ2hELFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxNQUNoQjtBQUFBLE1BQ0Esb0RBQW9EO0FBQUEsUUFDbEQsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLE1BQ2hCO0FBQUEsTUFDQSw0Q0FBNEM7QUFBQSxRQUMxQyxRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsTUFDaEI7QUFBQSxNQUNBLG1EQUFtRDtBQUFBLFFBQ2pELFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxNQUNoQjtBQUFBLE1BQ0EseURBQXlEO0FBQUEsUUFDdkQsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLE1BQ2hCO0FBQUEsTUFDQSw4Q0FBOEM7QUFBQSxRQUM1QyxRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsTUFDaEI7QUFBQSxNQUNBLGlEQUFpRDtBQUFBLFFBQy9DLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxNQUNoQjtBQUFBLE1BQ0EscUNBQXFDO0FBQUEsUUFDbkMsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLE1BQ2hCO0FBQUEsTUFDQSw2QkFBNkI7QUFBQSxRQUMzQixRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0EsNkJBQTZCO0FBQUEsUUFDM0IsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLHFDQUFxQztBQUFBLFFBQ25DLFFBQVE7QUFBQSxRQUNSLFlBQVksQ0FBQyxLQUFLO0FBQUEsTUFDcEI7QUFBQSxNQUNBLHFDQUFxQztBQUFBLFFBQ25DLFFBQVE7QUFBQSxRQUNSLFlBQVksQ0FBQyxLQUFLO0FBQUEsTUFDcEI7QUFBQSxNQUNBLG1DQUFtQztBQUFBLFFBQ2pDLFFBQVE7QUFBQSxRQUNSLFlBQVksQ0FBQyxLQUFLO0FBQUEsTUFDcEI7QUFBQSxNQUNBLHdDQUF3QztBQUFBLFFBQ3RDLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxNQUNoQjtBQUFBLE1BQ0EsNkJBQTZCO0FBQUEsUUFDM0IsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLDJDQUEyQztBQUFBLFFBQ3pDLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxNQUNoQjtBQUFBLE1BQ0Esc0NBQXNDO0FBQUEsUUFDcEMsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLE1BQ2hCO0FBQUEsTUFDQSwrQ0FBK0M7QUFBQSxRQUM3QyxRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsTUFDaEI7QUFBQSxNQUNBLGlEQUFpRDtBQUFBLFFBQy9DLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxNQUNoQjtBQUFBLE1BQ0EsNkRBQTZEO0FBQUEsUUFDM0QsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLE1BQ2hCO0FBQUEsTUFDQSxnREFBZ0Q7QUFBQSxRQUM5QyxRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsTUFDaEI7QUFBQSxNQUNBLDhDQUE4QztBQUFBLFFBQzVDLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxNQUNoQjtBQUFBLE1BQ0EsbURBQW1EO0FBQUEsUUFDakQsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLE1BQ2hCO0FBQUEsTUFDQSw0QkFBNEI7QUFBQSxRQUMxQixRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0EsZ0NBQWdDO0FBQUEsUUFDOUIsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLE1BQ2hCO0FBQUEsTUFDQSxzQ0FBc0M7QUFBQSxRQUNwQyxRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsTUFDaEI7QUFBQSxNQUNBLHVDQUF1QztBQUFBLFFBQ3JDLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxNQUNoQjtBQUFBLE1BQ0EsaURBQWlEO0FBQUEsUUFDL0MsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLE1BQ2hCO0FBQUEsTUFDQSxpQ0FBaUM7QUFBQSxRQUMvQixRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsTUFDaEI7QUFBQSxNQUNBLDRCQUE0QjtBQUFBLFFBQzFCLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSxxQ0FBcUM7QUFBQSxRQUNuQyxRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsTUFDaEI7QUFBQSxNQUNBLHVDQUF1QztBQUFBLFFBQ3JDLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxNQUNoQjtBQUFBLE1BQ0EsNkJBQTZCO0FBQUEsUUFDM0IsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLDhCQUE4QjtBQUFBLFFBQzVCLFFBQVE7QUFBQSxRQUNSLFlBQVksQ0FBQyxNQUFNO0FBQUEsTUFDckI7QUFBQSxNQUNBLDZDQUE2QztBQUFBLFFBQzNDLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSxvQ0FBb0M7QUFBQSxRQUNsQyxRQUFRO0FBQUEsUUFDUixZQUFZLENBQUMsS0FBSztBQUFBLE1BQ3BCO0FBQUEsTUFDQSxxQ0FBcUM7QUFBQSxRQUNuQyxRQUFRO0FBQUEsUUFDUixZQUFZLENBQUMsS0FBSztBQUFBLE1BQ3BCO0FBQUEsTUFDQSxxQ0FBcUM7QUFBQSxRQUNuQyxRQUFRO0FBQUEsUUFDUixZQUFZLENBQUMsS0FBSztBQUFBLE1BQ3BCO0FBQUEsTUFDQSx3Q0FBd0M7QUFBQSxRQUN0QyxRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsTUFDaEI7QUFBQSxNQUNBLG9DQUFvQztBQUFBLFFBQ2xDLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxNQUNoQjtBQUFBLE1BQ0EsNEJBQTRCO0FBQUEsUUFDMUIsUUFBUTtBQUFBLFFBQ1IsWUFBWSxDQUFDLEtBQUs7QUFBQSxNQUNwQjtBQUFBLE1BQ0EsMkJBQTJCO0FBQUEsUUFDekIsUUFBUTtBQUFBLFFBQ1IsWUFBWSxDQUFDLE9BQU8sT0FBTztBQUFBLE1BQzdCO0FBQUEsTUFDQSwrREFBK0Q7QUFBQSxRQUM3RCxRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsUUFDZCxZQUFZLENBQUMsS0FBSztBQUFBLE1BQ3BCO0FBQUEsTUFDQSxxQ0FBcUM7QUFBQSxRQUNuQyxRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0EsMkNBQTJDO0FBQUEsUUFDekMsUUFBUTtBQUFBLFFBQ1IsWUFBWSxDQUFDLE1BQU07QUFBQSxNQUNyQjtBQUFBLE1BQ0EsNkJBQTZCO0FBQUEsUUFDM0IsUUFBUTtBQUFBLFFBQ1IsWUFBWSxDQUFDLE9BQU8sTUFBTTtBQUFBLE1BQzVCO0FBQUEsTUFDQSx3Q0FBd0M7QUFBQSxRQUN0QyxRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0EsaUNBQWlDO0FBQUEsUUFDL0IsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLFFBQ2QsWUFBWSxDQUFDLEtBQUs7QUFBQSxNQUNwQjtBQUFBLE1BQ0EsOEJBQThCO0FBQUEsUUFDNUIsUUFBUTtBQUFBLFFBQ1IsWUFBWSxDQUFDLE1BQU07QUFBQSxNQUNyQjtBQUFBLE1BQ0EsOEJBQThCO0FBQUEsUUFDNUIsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLG9DQUFvQztBQUFBLFFBQ2xDLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSw0Q0FBNEM7QUFBQSxRQUMxQyxRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0EseUNBQXlDO0FBQUEsUUFDdkMsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLHFDQUFxQztBQUFBLFFBQ25DLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSx1Q0FBdUM7QUFBQSxRQUNyQyxRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0Esc0NBQXNDO0FBQUEsUUFDcEMsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLDhCQUE4QjtBQUFBLFFBQzVCLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSxzQ0FBc0M7QUFBQSxRQUNwQyxRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0Esc0NBQXNDO0FBQUEsUUFDcEMsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLHdDQUF3QztBQUFBLFFBQ3RDLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSw4Q0FBOEM7QUFBQSxRQUM1QyxRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0Esc0NBQXNDO0FBQUEsUUFDcEMsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLDBDQUEwQztBQUFBLFFBQ3hDLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSx1QkFBdUI7QUFBQSxRQUNyQixRQUFRO0FBQUEsUUFDUixZQUFZLENBQUMsS0FBSztBQUFBLE1BQ3BCO0FBQUEsTUFDQSw4QkFBOEI7QUFBQSxRQUM1QixRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0EsK0JBQStCO0FBQUEsUUFDN0IsUUFBUTtBQUFBLFFBQ1IsWUFBWSxDQUFDLE9BQU87QUFBQSxNQUN0QjtBQUFBLE1BQ0EseUNBQXlDO0FBQUEsUUFDdkMsUUFBUTtBQUFBLFFBQ1IsWUFBWSxDQUFDLEtBQUs7QUFBQSxNQUNwQjtBQUFBLE1BQ0EseUNBQXlDO0FBQUEsUUFDdkMsUUFBUTtBQUFBLFFBQ1IsWUFBWSxDQUFDLEtBQUs7QUFBQSxNQUNwQjtBQUFBLE1BQ0EsZ0NBQWdDO0FBQUEsUUFDOUIsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLE1BQ2hCO0FBQUEsTUFDQSxnQ0FBZ0M7QUFBQSxRQUM5QixRQUFRO0FBQUEsUUFDUixZQUFZLENBQUMsS0FBSztBQUFBLE1BQ3BCO0FBQUEsTUFDQSxzQ0FBc0M7QUFBQSxRQUNwQyxRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0Esd0NBQXdDO0FBQUEsUUFDdEMsUUFBUTtBQUFBLFFBQ1IsWUFBWSxDQUFDLEtBQUs7QUFBQSxNQUNwQjtBQUFBLE1BQ0EsNkJBQTZCO0FBQUEsUUFDM0IsUUFBUTtBQUFBLFFBQ1IsWUFBWSxDQUFDLEtBQUs7QUFBQSxNQUNwQjtBQUFBLE1BQ0EscUNBQXFDO0FBQUEsUUFDbkMsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLE1BQ2hCO0FBQUEsTUFDQSwrQkFBK0I7QUFBQSxRQUM3QixRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0EsMkNBQTJDO0FBQUEsUUFDekMsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLFFBQ2QsWUFBWSxDQUFDLEtBQUs7QUFBQSxNQUNwQjtBQUFBLE1BQ0Esd0JBQXdCO0FBQUEsUUFDdEIsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLDBEQUEwRDtBQUFBLFFBQ3hELFFBQVE7QUFBQSxRQUNSLFlBQVksQ0FBQyxLQUFLO0FBQUEsTUFDcEI7QUFBQSxNQUNBLHVEQUF1RDtBQUFBLFFBQ3JELFFBQVE7QUFBQSxRQUNSLFlBQVksQ0FBQyxLQUFLO0FBQUEsTUFDcEI7QUFBQSxNQUNBLHdDQUF3QztBQUFBLFFBQ3RDLFFBQVE7QUFBQSxRQUNSLFlBQVksQ0FBQyxLQUFLO0FBQUEsTUFDcEI7QUFBQSxNQUNBLHFDQUFxQztBQUFBLFFBQ25DLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSx1Q0FBdUM7QUFBQSxRQUNyQyxRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0Esa0NBQWtDO0FBQUEsUUFDaEMsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLHdDQUF3QztBQUFBLFFBQ3RDLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSx5Q0FBeUM7QUFBQSxRQUN2QyxRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0Esc0NBQXNDO0FBQUEsUUFDcEMsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLDRCQUE0QjtBQUFBLFFBQzFCLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSw0QkFBNEI7QUFBQSxRQUMxQixRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsTUFDaEI7QUFBQSxNQUNBLHVDQUF1QztBQUFBLFFBQ3JDLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxNQUNoQjtBQUFBLE1BQ0EsZ0RBQWdEO0FBQUEsUUFDOUMsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLE1BQ2hCO0FBQUEsTUFDQSx1Q0FBdUM7QUFBQSxRQUNyQyxRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsUUFDZCxZQUFZLENBQUMsTUFBTTtBQUFBLE1BQ3JCO0FBQUEsTUFDQSxpQ0FBaUM7QUFBQSxRQUMvQixRQUFRO0FBQUEsUUFDUixZQUFZLENBQUMsS0FBSztBQUFBLE1BQ3BCO0FBQUEsTUFDQSxpQ0FBaUM7QUFBQSxRQUMvQixRQUFRO0FBQUEsUUFDUixZQUFZLENBQUMsTUFBTTtBQUFBLE1BQ3JCO0FBQUEsTUFDQSxpQ0FBaUM7QUFBQSxRQUMvQixRQUFRO0FBQUEsUUFDUixZQUFZLENBQUMsU0FBUztBQUFBLE1BQ3hCO0FBQUEsTUFDQSwrQkFBK0I7QUFBQSxRQUM3QixRQUFRO0FBQUEsUUFDUixZQUFZLENBQUMsT0FBTztBQUFBLE1BQ3RCO0FBQUEsTUFDQSxnQ0FBZ0M7QUFBQSxRQUM5QixjQUFjO0FBQUEsUUFDZCxZQUFZLENBQUMsUUFBUTtBQUFBLE1BQ3ZCO0FBQUEsTUFDQSwrQkFBK0I7QUFBQSxRQUM3QixRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0Esc0NBQXNDO0FBQUEsUUFDcEMsUUFBUTtBQUFBLFFBQ1IsWUFBWSxDQUFDLEtBQUs7QUFBQSxNQUNwQjtBQUFBLE1BQ0EsZ0NBQWdDO0FBQUEsUUFDOUIsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLE1BQ2hCO0FBQUEsTUFDQSw2QkFBNkI7QUFBQSxRQUMzQixRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0EseUNBQXlDO0FBQUEsUUFDdkMsUUFBUTtBQUFBLFFBQ1IsWUFBWSxDQUFDLE1BQU07QUFBQSxNQUNyQjtBQUFBLE1BQ0EsOEJBQThCO0FBQUEsUUFDNUIsUUFBUTtBQUFBLFFBQ1IsWUFBWSxDQUFDLEtBQUs7QUFBQSxNQUNwQjtBQUFBLE1BQ0EsZ0NBQWdDO0FBQUEsUUFDOUIsWUFBWSxDQUFDLEtBQUs7QUFBQSxNQUNwQjtBQUFBLE1BQ0EsK0JBQStCO0FBQUEsUUFDN0IsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLCtCQUErQjtBQUFBLFFBQzdCLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxNQUNoQjtBQUFBLE1BQ0EsK0JBQStCO0FBQUEsUUFDN0IsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLE1BQ2hCO0FBQUEsTUFDQSxxQ0FBcUM7QUFBQSxRQUNuQyxRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsUUFDZCxZQUFZLENBQUMsTUFBTTtBQUFBLE1BQ3JCO0FBQUEsTUFDQSxpQ0FBaUM7QUFBQSxRQUMvQixRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0EscUNBQXFDO0FBQUEsUUFDbkMsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLGlDQUFpQztBQUFBLFFBQy9CLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSwrQkFBK0I7QUFBQSxRQUM3QixRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0Esb0NBQW9DO0FBQUEsUUFDbEMsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLE1BQ2hCO0FBQUEsTUFDQSx1Q0FBdUM7QUFBQSxRQUNyQyxRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsTUFDaEI7QUFBQSxNQUNBLHdDQUF3QztBQUFBLFFBQ3RDLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxNQUNoQjtBQUFBLE1BQ0Esd0NBQXdDO0FBQUEsUUFDdEMsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLE1BQ2hCO0FBQUEsTUFDQSxvQ0FBb0M7QUFBQSxRQUNsQyxRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0Esa0NBQWtDO0FBQUEsUUFDaEMsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLE1BQ2hCO0FBQUEsTUFDQSwyQ0FBMkM7QUFBQSxRQUN6QyxRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0EscUNBQXFDO0FBQUEsUUFDbkMsUUFBUTtBQUFBLFFBQ1IsWUFBWSxDQUFDLEtBQUs7QUFBQSxNQUNwQjtBQUFBLE1BQ0Esb0NBQW9DO0FBQUEsUUFDbEMsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLG9DQUFvQztBQUFBLFFBQ2xDLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSx1QkFBdUI7QUFBQSxRQUNyQixRQUFRO0FBQUEsUUFDUixZQUFZLENBQUMsS0FBSztBQUFBLE1BQ3BCO0FBQUEsTUFDQSx1QkFBdUI7QUFBQSxRQUNyQixRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0Esd0JBQXdCO0FBQUEsUUFDdEIsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLG1DQUFtQztBQUFBLFFBQ2pDLFFBQVE7QUFBQSxRQUNSLFlBQVksQ0FBQyxLQUFLO0FBQUEsTUFDcEI7QUFBQSxNQUNBLGlDQUFpQztBQUFBLFFBQy9CLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxNQUNoQjtBQUFBLE1BQ0EseUJBQXlCO0FBQUEsUUFDdkIsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLHNDQUFzQztBQUFBLFFBQ3BDLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxNQUNoQjtBQUFBLE1BQ0EsK0JBQStCO0FBQUEsUUFDN0IsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLDhCQUE4QjtBQUFBLFFBQzVCLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSw4QkFBOEI7QUFBQSxRQUM1QixRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0EsdUNBQXVDO0FBQUEsUUFDckMsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLE1BQ2hCO0FBQUEsTUFDQSw4Q0FBOEM7QUFBQSxRQUM1QyxRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0EsOENBQThDO0FBQUEsUUFDNUMsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLGdDQUFnQztBQUFBLFFBQzlCLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxRQUNkLFlBQVksQ0FBQyxPQUFPO0FBQUEsTUFDdEI7QUFBQSxNQUNBLDZCQUE2QjtBQUFBLFFBQzNCLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSx3Q0FBd0M7QUFBQSxRQUN0QyxRQUFRO0FBQUEsUUFDUixZQUFZLENBQUMsS0FBSztBQUFBLE1BQ3BCO0FBQUEsTUFDQSx5QkFBeUI7QUFBQSxRQUN2QixRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0EsOEJBQThCO0FBQUEsUUFDNUIsUUFBUTtBQUFBLFFBQ1IsWUFBWSxDQUFDLEtBQUs7QUFBQSxNQUNwQjtBQUFBLE1BQ0Esb0NBQW9DO0FBQUEsUUFDbEMsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLDRDQUE0QztBQUFBLFFBQzFDLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxRQUNkLFlBQVksQ0FBQyxLQUFLO0FBQUEsTUFDcEI7QUFBQSxNQUNBLDRCQUE0QjtBQUFBLFFBQzFCLFFBQVE7QUFBQSxRQUNSLFlBQVksQ0FBQyxLQUFLO0FBQUEsTUFDcEI7QUFBQSxNQUNBLCtCQUErQjtBQUFBLFFBQzdCLFFBQVE7QUFBQSxRQUNSLFlBQVksQ0FBQyxLQUFLO0FBQUEsTUFDcEI7QUFBQSxNQUNBLGlDQUFpQztBQUFBLFFBQy9CLFFBQVE7QUFBQSxRQUNSLFlBQVksQ0FBQyxPQUFPLE9BQU8sT0FBTyxPQUFPLEtBQUs7QUFBQSxNQUNoRDtBQUFBLE1BQ0EsZ0RBQWdEO0FBQUEsUUFDOUMsUUFBUTtBQUFBLFFBQ1IsWUFBWSxDQUFDLFFBQVE7QUFBQSxNQUN2QjtBQUFBLE1BQ0Esb0RBQW9EO0FBQUEsUUFDbEQsUUFBUTtBQUFBLFFBQ1IsWUFBWSxDQUFDLFFBQVE7QUFBQSxNQUN2QjtBQUFBLE1BQ0EsdURBQXVEO0FBQUEsUUFDckQsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLHNEQUFzRDtBQUFBLFFBQ3BELFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSw0Q0FBNEM7QUFBQSxRQUMxQyxRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsTUFDaEI7QUFBQSxNQUNBLGdDQUFnQztBQUFBLFFBQzlCLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSxpREFBaUQ7QUFBQSxRQUMvQyxRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0EsMERBQTBEO0FBQUEsUUFDeEQsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLHFEQUFxRDtBQUFBLFFBQ25ELFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSw4REFBOEQ7QUFBQSxRQUM1RCxRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0Esb0RBQW9EO0FBQUEsUUFDbEQsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLDZEQUE2RDtBQUFBLFFBQzNELFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSxtQ0FBbUM7QUFBQSxRQUNqQyxRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsTUFDaEI7QUFBQSxNQUNBLHVDQUF1QztBQUFBLFFBQ3JDLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxNQUNoQjtBQUFBLE1BQ0Esd0NBQXdDO0FBQUEsUUFDdEMsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLE1BQ2hCO0FBQUEsTUFDQSxpQ0FBaUM7QUFBQSxRQUMvQixRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsTUFDaEI7QUFBQSxNQUNBLGlDQUFpQztBQUFBLFFBQy9CLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSxxQ0FBcUM7QUFBQSxRQUNuQyxRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0EsK0JBQStCO0FBQUEsUUFDN0IsUUFBUTtBQUFBLFFBQ1IsWUFBWSxDQUFDLEtBQUs7QUFBQSxNQUNwQjtBQUFBLE1BQ0EsZ0NBQWdDO0FBQUEsUUFDOUIsUUFBUTtBQUFBLFFBQ1IsWUFBWSxDQUFDLFNBQVM7QUFBQSxNQUN4QjtBQUFBLE1BQ0Esd0NBQXdDO0FBQUEsUUFDdEMsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLE1BQ2hCO0FBQUEsTUFDQSwrQkFBK0I7QUFBQSxRQUM3QixRQUFRO0FBQUEsUUFDUixZQUFZLENBQUMsS0FBSztBQUFBLE1BQ3BCO0FBQUEsTUFDQSxpQ0FBaUM7QUFBQSxRQUMvQixRQUFRO0FBQUEsUUFDUixZQUFZLENBQUMsTUFBTTtBQUFBLE1BQ3JCO0FBQUEsTUFDQSwwQ0FBMEM7QUFBQSxRQUN4QyxRQUFRO0FBQUEsUUFDUixZQUFZLENBQUMsTUFBTTtBQUFBLE1BQ3JCO0FBQUEsTUFDQSx5Q0FBeUM7QUFBQSxRQUN2QyxRQUFRO0FBQUEsUUFDUixZQUFZLENBQUMsTUFBTTtBQUFBLE1BQ3JCO0FBQUEsTUFDQSwwQ0FBMEM7QUFBQSxRQUN4QyxRQUFRO0FBQUEsUUFDUixZQUFZLENBQUMsTUFBTTtBQUFBLE1BQ3JCO0FBQUEsTUFDQSwwQ0FBMEM7QUFBQSxRQUN4QyxRQUFRO0FBQUEsUUFDUixZQUFZLENBQUMsTUFBTTtBQUFBLE1BQ3JCO0FBQUEsTUFDQSx5Q0FBeUM7QUFBQSxRQUN2QyxRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsUUFDZCxZQUFZLENBQUMsS0FBSztBQUFBLE1BQ3BCO0FBQUEsTUFDQSxxQ0FBcUM7QUFBQSxRQUNuQyxRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsTUFDaEI7QUFBQSxNQUNBLHFDQUFxQztBQUFBLFFBQ25DLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSx5Q0FBeUM7QUFBQSxRQUN2QyxRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0EscUNBQXFDO0FBQUEsUUFDbkMsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLDZCQUE2QjtBQUFBLFFBQzNCLFFBQVE7QUFBQSxRQUNSLFlBQVksQ0FBQyxLQUFLO0FBQUEsTUFDcEI7QUFBQSxNQUNBLCtCQUErQjtBQUFBLFFBQzdCLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxNQUNoQjtBQUFBLE1BQ0EsNEJBQTRCO0FBQUEsUUFDMUIsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLG1DQUFtQztBQUFBLFFBQ2pDLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSw0QkFBNEI7QUFBQSxRQUMxQixRQUFRO0FBQUEsUUFDUixZQUFZLENBQUMsS0FBSztBQUFBLE1BQ3BCO0FBQUEsTUFDQSwrQkFBK0I7QUFBQSxRQUM3QixRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0EsNEJBQTRCO0FBQUEsUUFDMUIsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLHdCQUF3QjtBQUFBLFFBQ3RCLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSw0QkFBNEI7QUFBQSxRQUMxQixRQUFRO0FBQUEsUUFDUixZQUFZLENBQUMsS0FBSztBQUFBLE1BQ3BCO0FBQUEsTUFDQSw4QkFBOEI7QUFBQSxRQUM1QixRQUFRO0FBQUEsUUFDUixZQUFZLENBQUMsT0FBTztBQUFBLE1BQ3RCO0FBQUEsTUFDQSxzQ0FBc0M7QUFBQSxRQUNwQyxRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsTUFDaEI7QUFBQSxNQUNBLDBCQUEwQjtBQUFBLFFBQ3hCLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSxrQ0FBa0M7QUFBQSxRQUNoQyxRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsTUFDaEI7QUFBQSxNQUNBLGlDQUFpQztBQUFBLFFBQy9CLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxNQUNoQjtBQUFBLE1BQ0EsNENBQTRDO0FBQUEsUUFDMUMsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLE1BQ2hCO0FBQUEsTUFDQSwrQkFBK0I7QUFBQSxRQUM3QixRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0EsK0JBQStCO0FBQUEsUUFDN0IsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLHdCQUF3QjtBQUFBLFFBQ3RCLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxRQUNkLFlBQVksQ0FBQyxNQUFNO0FBQUEsTUFDckI7QUFBQSxNQUNBLG1DQUFtQztBQUFBLFFBQ2pDLFFBQVE7QUFBQSxRQUNSLFlBQVksQ0FBQyxLQUFLO0FBQUEsTUFDcEI7QUFBQSxNQUNBLDJCQUEyQjtBQUFBLFFBQ3pCLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSxvQ0FBb0M7QUFBQSxRQUNsQyxRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsTUFDaEI7QUFBQSxNQUNBLHFDQUFxQztBQUFBLFFBQ25DLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxNQUNoQjtBQUFBLE1BQ0EsdUJBQXVCO0FBQUEsUUFDckIsUUFBUTtBQUFBLFFBQ1IsWUFBWSxDQUFDLEtBQUs7QUFBQSxNQUNwQjtBQUFBLE1BQ0EsNEJBQTRCO0FBQUEsUUFDMUIsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLFFBQ2QsWUFBWSxDQUFDLE1BQU07QUFBQSxNQUNyQjtBQUFBLE1BQ0EseUNBQXlDO0FBQUEsUUFDdkMsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLDZCQUE2QjtBQUFBLFFBQzNCLFFBQVE7QUFBQSxRQUNSLFlBQVksQ0FBQyxPQUFPLFFBQVEsT0FBTyxNQUFNO0FBQUEsTUFDM0M7QUFBQSxNQUNBLGlDQUFpQztBQUFBLFFBQy9CLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxRQUNkLFlBQVksQ0FBQyxPQUFPLE1BQU07QUFBQSxNQUM1QjtBQUFBLE1BQ0Esb0NBQW9DO0FBQUEsUUFDbEMsUUFBUTtBQUFBLFFBQ1IsWUFBWSxDQUFDLE9BQU8sTUFBTTtBQUFBLE1BQzVCO0FBQUEsTUFDQSw0QkFBNEI7QUFBQSxRQUMxQixRQUFRO0FBQUEsUUFDUixZQUFZLENBQUMsT0FBTyxNQUFNO0FBQUEsTUFDNUI7QUFBQSxNQUNBLDBDQUEwQztBQUFBLFFBQ3hDLFFBQVE7QUFBQSxRQUNSLFlBQVksQ0FBQyxXQUFXO0FBQUEsTUFDMUI7QUFBQSxNQUNBLGlDQUFpQztBQUFBLFFBQy9CLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSw0Q0FBNEM7QUFBQSxRQUMxQyxRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0EscUNBQXFDO0FBQUEsUUFDbkMsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLE1BQ2hCO0FBQUEsTUFDQSx1QkFBdUI7QUFBQSxRQUNyQixRQUFRO0FBQUEsUUFDUixZQUFZLENBQUMsS0FBSztBQUFBLE1BQ3BCO0FBQUEsTUFDQSxpQ0FBaUM7QUFBQSxRQUMvQixRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsTUFDaEI7QUFBQSxNQUNBLDZCQUE2QjtBQUFBLFFBQzNCLFFBQVE7QUFBQSxRQUNSLFlBQVksQ0FBQyxLQUFLO0FBQUEsTUFDcEI7QUFBQSxNQUNBLGtDQUFrQztBQUFBLFFBQ2hDLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSxrQ0FBa0M7QUFBQSxRQUNoQyxRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0Esc0RBQXNEO0FBQUEsUUFDcEQsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLDJCQUEyQjtBQUFBLFFBQ3pCLFFBQVE7QUFBQSxRQUNSLFlBQVksQ0FBQyxLQUFLO0FBQUEsTUFDcEI7QUFBQSxNQUNBLGdDQUFnQztBQUFBLFFBQzlCLFFBQVE7QUFBQSxRQUNSLFlBQVksQ0FBQyxNQUFNO0FBQUEsTUFDckI7QUFBQSxNQUNBLDhCQUE4QjtBQUFBLFFBQzVCLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxNQUNoQjtBQUFBLE1BQ0EsK0JBQStCO0FBQUEsUUFDN0IsUUFBUTtBQUFBLFFBQ1IsWUFBWSxDQUFDLE1BQU07QUFBQSxNQUNyQjtBQUFBLE1BQ0EsNkJBQTZCO0FBQUEsUUFDM0IsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLG1DQUFtQztBQUFBLFFBQ2pDLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSxrQ0FBa0M7QUFBQSxRQUNoQyxRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0EsMkJBQTJCO0FBQUEsUUFDekIsUUFBUTtBQUFBLFFBQ1IsWUFBWSxDQUFDLEtBQUs7QUFBQSxNQUNwQjtBQUFBLE1BQ0Esa0NBQWtDO0FBQUEsUUFDaEMsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLE1BQ2hCO0FBQUEsTUFDQSw0QkFBNEI7QUFBQSxRQUMxQixRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0Esb0NBQW9DO0FBQUEsUUFDbEMsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLDBDQUEwQztBQUFBLFFBQ3hDLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSxxQ0FBcUM7QUFBQSxRQUNuQyxRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0Esc0NBQXNDO0FBQUEsUUFDcEMsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLGtDQUFrQztBQUFBLFFBQ2hDLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSxtQ0FBbUM7QUFBQSxRQUNqQyxRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0EsdUNBQXVDO0FBQUEsUUFDckMsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLDhDQUE4QztBQUFBLFFBQzVDLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSxnREFBZ0Q7QUFBQSxRQUM5QyxRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsTUFDaEI7QUFBQSxNQUNBLDJDQUEyQztBQUFBLFFBQ3pDLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxNQUNoQjtBQUFBLE1BQ0EseUNBQXlDO0FBQUEsUUFDdkMsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLE1BQ2hCO0FBQUEsTUFDQSw0Q0FBNEM7QUFBQSxRQUMxQyxRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsTUFDaEI7QUFBQSxNQUNBLHlEQUF5RDtBQUFBLFFBQ3ZELFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxNQUNoQjtBQUFBLE1BQ0EsMERBQTBEO0FBQUEsUUFDeEQsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLE1BQ2hCO0FBQUEsTUFDQSxzQ0FBc0M7QUFBQSxRQUNwQyxRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsTUFDaEI7QUFBQSxNQUNBLDJCQUEyQjtBQUFBLFFBQ3pCLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSwrQkFBK0I7QUFBQSxRQUM3QixRQUFRO0FBQUEsUUFDUixZQUFZLENBQUMsS0FBSztBQUFBLE1BQ3BCO0FBQUEsTUFDQSx1QkFBdUI7QUFBQSxRQUNyQixRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0EsMkJBQTJCO0FBQUEsUUFDekIsUUFBUTtBQUFBLFFBQ1IsWUFBWSxDQUFDLEtBQUs7QUFBQSxNQUNwQjtBQUFBLE1BQ0EsdUJBQXVCO0FBQUEsUUFDckIsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLDJDQUEyQztBQUFBLFFBQ3pDLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSxnQ0FBZ0M7QUFBQSxRQUM5QixRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0EsNEJBQTRCO0FBQUEsUUFDMUIsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLHNDQUFzQztBQUFBLFFBQ3BDLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxNQUNoQjtBQUFBLE1BQ0EsZ0NBQWdDO0FBQUEsUUFDOUIsUUFBUTtBQUFBLFFBQ1IsWUFBWSxDQUFDLEtBQUs7QUFBQSxNQUNwQjtBQUFBLE1BQ0Esc0NBQXNDO0FBQUEsUUFDcEMsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLHFDQUFxQztBQUFBLFFBQ25DLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSxpQ0FBaUM7QUFBQSxRQUMvQixRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0Esd0NBQXdDO0FBQUEsUUFDdEMsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLHVDQUF1QztBQUFBLFFBQ3JDLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSwyQkFBMkI7QUFBQSxRQUN6QixRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0EsMkJBQTJCO0FBQUEsUUFDekIsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLDJCQUEyQjtBQUFBLFFBQ3pCLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxNQUNoQjtBQUFBLE1BQ0EsOENBQThDO0FBQUEsUUFDNUMsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLE1BQ2hCO0FBQUEsTUFDQSwyQkFBMkI7QUFBQSxRQUN6QixRQUFRO0FBQUEsUUFDUixZQUFZLENBQUMsS0FBSztBQUFBLE1BQ3BCO0FBQUEsTUFDQSxpQ0FBaUM7QUFBQSxRQUMvQixRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0Esb0NBQW9DO0FBQUEsUUFDbEMsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLE1BQ2hCO0FBQUEsTUFDQSw2QkFBNkI7QUFBQSxRQUMzQixRQUFRO0FBQUEsUUFDUixZQUFZLENBQUMsS0FBSztBQUFBLE1BQ3BCO0FBQUEsTUFDQSw2QkFBNkI7QUFBQSxRQUMzQixRQUFRO0FBQUEsUUFDUixZQUFZLENBQUMsS0FBSztBQUFBLE1BQ3BCO0FBQUEsTUFDQSxvQ0FBb0M7QUFBQSxRQUNsQyxRQUFRO0FBQUEsUUFDUixZQUFZLENBQUMsS0FBSztBQUFBLE1BQ3BCO0FBQUEsTUFDQSw4QkFBOEI7QUFBQSxRQUM1QixRQUFRO0FBQUEsUUFDUixZQUFZLENBQUMsS0FBSztBQUFBLE1BQ3BCO0FBQUEsTUFDQSw2QkFBNkI7QUFBQSxRQUMzQixRQUFRO0FBQUEsUUFDUixZQUFZLENBQUMsS0FBSztBQUFBLE1BQ3BCO0FBQUEsTUFDQSxzQ0FBc0M7QUFBQSxRQUNwQyxRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0EseUJBQXlCO0FBQUEsUUFDdkIsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLHFDQUFxQztBQUFBLFFBQ25DLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxNQUNoQjtBQUFBLE1BQ0EsZ0NBQWdDO0FBQUEsUUFDOUIsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLFFBQ2QsWUFBWSxDQUFDLE9BQU8sS0FBSztBQUFBLE1BQzNCO0FBQUEsTUFDQSxnQ0FBZ0M7QUFBQSxRQUM5QixRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsTUFDaEI7QUFBQSxNQUNBLG1DQUFtQztBQUFBLFFBQ2pDLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxNQUNoQjtBQUFBLE1BQ0EsbUNBQW1DO0FBQUEsUUFDakMsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLE1BQ2hCO0FBQUEsTUFDQSxnQ0FBZ0M7QUFBQSxRQUM5QixRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsTUFDaEI7QUFBQSxNQUNBLHdDQUF3QztBQUFBLFFBQ3RDLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxNQUNoQjtBQUFBLE1BQ0EsMENBQTBDO0FBQUEsUUFDeEMsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLE1BQ2hCO0FBQUEsTUFDQSx3Q0FBd0M7QUFBQSxRQUN0QyxRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsTUFDaEI7QUFBQSxNQUNBLHVDQUF1QztBQUFBLFFBQ3JDLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxNQUNoQjtBQUFBLE1BQ0Esd0NBQXdDO0FBQUEsUUFDdEMsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLE1BQ2hCO0FBQUEsTUFDQSx5Q0FBeUM7QUFBQSxRQUN2QyxRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsTUFDaEI7QUFBQSxNQUNBLHdDQUF3QztBQUFBLFFBQ3RDLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxNQUNoQjtBQUFBLE1BQ0EscUNBQXFDO0FBQUEsUUFDbkMsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLE1BQ2hCO0FBQUEsTUFDQSwwQ0FBMEM7QUFBQSxRQUN4QyxRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsTUFDaEI7QUFBQSxNQUNBLGlDQUFpQztBQUFBLFFBQy9CLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxNQUNoQjtBQUFBLE1BQ0EsOEJBQThCO0FBQUEsUUFDNUIsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLDREQUE0RDtBQUFBLFFBQzFELFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxNQUNoQjtBQUFBLE1BQ0EsaUNBQWlDO0FBQUEsUUFDL0IsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLE1BQ2hCO0FBQUEsTUFDQSxnQ0FBZ0M7QUFBQSxRQUM5QixRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsTUFDaEI7QUFBQSxNQUNBLHFDQUFxQztBQUFBLFFBQ25DLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxNQUNoQjtBQUFBLE1BQ0Esd0NBQXdDO0FBQUEsUUFDdEMsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLGdDQUFnQztBQUFBLFFBQzlCLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxNQUNoQjtBQUFBLE1BQ0EsZ0NBQWdDO0FBQUEsUUFDOUIsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLHlDQUF5QztBQUFBLFFBQ3ZDLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxNQUNoQjtBQUFBLE1BQ0EsK0JBQStCO0FBQUEsUUFDN0IsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLHNDQUFzQztBQUFBLFFBQ3BDLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSx1Q0FBdUM7QUFBQSxRQUNyQyxRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0Esb0NBQW9DO0FBQUEsUUFDbEMsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLHdDQUF3QztBQUFBLFFBQ3RDLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxNQUNoQjtBQUFBLE1BQ0Esb0NBQW9DO0FBQUEsUUFDbEMsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLCtCQUErQjtBQUFBLFFBQzdCLFFBQVE7QUFBQSxRQUNSLFlBQVksQ0FBQyxLQUFLO0FBQUEsTUFDcEI7QUFBQSxNQUNBLGlDQUFpQztBQUFBLFFBQy9CLFFBQVE7QUFBQSxRQUNSLFlBQVksQ0FBQyxLQUFLO0FBQUEsTUFDcEI7QUFBQSxNQUNBLG1DQUFtQztBQUFBLFFBQ2pDLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSwyQ0FBMkM7QUFBQSxRQUN6QyxRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsTUFDaEI7QUFBQSxNQUNBLHVDQUF1QztBQUFBLFFBQ3JDLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSx1QkFBdUI7QUFBQSxRQUNyQixRQUFRO0FBQUEsUUFDUixZQUFZLENBQUMsS0FBSztBQUFBLE1BQ3BCO0FBQUEsTUFDQSw4QkFBOEI7QUFBQSxRQUM1QixRQUFRO0FBQUEsUUFDUixZQUFZLENBQUMsT0FBTztBQUFBLE1BQ3RCO0FBQUEsTUFDQSw2QkFBNkI7QUFBQSxRQUMzQixRQUFRO0FBQUEsUUFDUixZQUFZLENBQUMsUUFBUSxVQUFVO0FBQUEsTUFDakM7QUFBQSxNQUNBLHVDQUF1QztBQUFBLFFBQ3JDLFFBQVE7QUFBQSxRQUNSLFNBQVM7QUFBQSxRQUNULGNBQWM7QUFBQSxNQUNoQjtBQUFBLE1BQ0EseUJBQXlCO0FBQUEsUUFDdkIsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLGtDQUFrQztBQUFBLFFBQ2hDLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxNQUNoQjtBQUFBLE1BQ0EsOEJBQThCO0FBQUEsUUFDNUIsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLHlCQUF5QjtBQUFBLFFBQ3ZCLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSx5Q0FBeUM7QUFBQSxRQUN2QyxRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0EsOEJBQThCO0FBQUEsUUFDNUIsUUFBUTtBQUFBLFFBQ1IsWUFBWSxDQUFDLEtBQUs7QUFBQSxNQUNwQjtBQUFBLE1BQ0EsaUNBQWlDO0FBQUEsUUFDL0IsUUFBUTtBQUFBLFFBQ1IsWUFBWSxDQUFDLEtBQUs7QUFBQSxNQUNwQjtBQUFBLE1BQ0Esc0NBQXNDO0FBQUEsUUFDcEMsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLDhCQUE4QjtBQUFBLFFBQzVCLFFBQVE7QUFBQSxRQUNSLFlBQVksQ0FBQyxNQUFNLFNBQVMsU0FBUyxNQUFNO0FBQUEsTUFDN0M7QUFBQSxNQUNBLGlDQUFpQztBQUFBLFFBQy9CLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSwrQkFBK0I7QUFBQSxRQUM3QixRQUFRO0FBQUEsUUFDUixZQUFZLENBQUMsS0FBSztBQUFBLE1BQ3BCO0FBQUEsTUFDQSwrQkFBK0I7QUFBQSxRQUM3QixRQUFRO0FBQUEsUUFDUixZQUFZLENBQUMsS0FBSztBQUFBLE1BQ3BCO0FBQUEsTUFDQSxpQ0FBaUM7QUFBQSxRQUMvQixRQUFRO0FBQUEsUUFDUixZQUFZLENBQUMsS0FBSztBQUFBLE1BQ3BCO0FBQUEsTUFDQSx5Q0FBeUM7QUFBQSxRQUN2QyxRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0EsZ0RBQWdEO0FBQUEsUUFDOUMsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLG1EQUFtRDtBQUFBLFFBQ2pELFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSx1Q0FBdUM7QUFBQSxRQUNyQyxRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsTUFDaEI7QUFBQSxNQUNBLGlDQUFpQztBQUFBLFFBQy9CLFFBQVE7QUFBQSxRQUNSLFlBQVksQ0FBQyxLQUFLO0FBQUEsTUFDcEI7QUFBQSxNQUNBLGtDQUFrQztBQUFBLFFBQ2hDLFFBQVE7QUFBQSxRQUNSLFlBQVksQ0FBQyxLQUFLO0FBQUEsTUFDcEI7QUFBQSxNQUNBLGtDQUFrQztBQUFBLFFBQ2hDLFFBQVE7QUFBQSxRQUNSLFlBQVksQ0FBQyxLQUFLO0FBQUEsTUFDcEI7QUFBQSxNQUNBLG1DQUFtQztBQUFBLFFBQ2pDLFFBQVE7QUFBQSxRQUNSLFlBQVksQ0FBQyxLQUFLO0FBQUEsTUFDcEI7QUFBQSxNQUNBLG9DQUFvQztBQUFBLFFBQ2xDLFFBQVE7QUFBQSxRQUNSLFlBQVksQ0FBQyxLQUFLO0FBQUEsTUFDcEI7QUFBQSxNQUNBLG9DQUFvQztBQUFBLFFBQ2xDLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSxrQ0FBa0M7QUFBQSxRQUNoQyxRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0EsaUNBQWlDO0FBQUEsUUFDL0IsUUFBUTtBQUFBLFFBQ1IsWUFBWSxDQUFDLEtBQUs7QUFBQSxNQUNwQjtBQUFBLE1BQ0EsdUNBQXVDO0FBQUEsUUFDckMsUUFBUTtBQUFBLFFBQ1IsWUFBWSxDQUFDLEtBQUs7QUFBQSxNQUNwQjtBQUFBLE1BQ0EsOENBQThDO0FBQUEsUUFDNUMsUUFBUTtBQUFBLFFBQ1IsWUFBWSxDQUFDLEtBQUs7QUFBQSxNQUNwQjtBQUFBLE1BQ0EsaURBQWlEO0FBQUEsUUFDL0MsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLGtDQUFrQztBQUFBLFFBQ2hDLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSw4QkFBOEI7QUFBQSxRQUM1QixRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0EsK0JBQStCO0FBQUEsUUFDN0IsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLCtCQUErQjtBQUFBLFFBQzdCLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxNQUNoQjtBQUFBLE1BQ0EsOEJBQThCO0FBQUEsUUFDNUIsUUFBUTtBQUFBLFFBQ1IsWUFBWSxDQUFDLEtBQUs7QUFBQSxNQUNwQjtBQUFBLE1BQ0Esc0NBQXNDO0FBQUEsUUFDcEMsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLG9DQUFvQztBQUFBLFFBQ2xDLFFBQVE7QUFBQSxRQUNSLFlBQVksQ0FBQyxLQUFLO0FBQUEsTUFDcEI7QUFBQSxNQUNBLDJCQUEyQjtBQUFBLFFBQ3pCLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSxvQ0FBb0M7QUFBQSxRQUNsQyxRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsTUFDaEI7QUFBQSxNQUNBLDBDQUEwQztBQUFBLFFBQ3hDLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxNQUNoQjtBQUFBLE1BQ0EsaUNBQWlDO0FBQUEsUUFDL0IsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLGlDQUFpQztBQUFBLFFBQy9CLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSwrQkFBK0I7QUFBQSxRQUM3QixRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0EsbUNBQW1DO0FBQUEsUUFDakMsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLDBDQUEwQztBQUFBLFFBQ3hDLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxNQUNoQjtBQUFBLE1BQ0EsK0JBQStCO0FBQUEsUUFDN0IsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLDRCQUE0QjtBQUFBLFFBQzFCLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxNQUNoQjtBQUFBLE1BQ0EsK0JBQStCO0FBQUEsUUFDN0IsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLE1BQ2hCO0FBQUEsTUFDQSxpQ0FBaUM7QUFBQSxRQUMvQixRQUFRO0FBQUEsUUFDUixZQUFZLENBQUMsS0FBSztBQUFBLE1BQ3BCO0FBQUEsTUFDQSxxQ0FBcUM7QUFBQSxRQUNuQyxRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0EsbUNBQW1DO0FBQUEsUUFDakMsUUFBUTtBQUFBLFFBQ1IsWUFBWSxDQUFDLEtBQUs7QUFBQSxNQUNwQjtBQUFBLE1BQ0EsaUNBQWlDO0FBQUEsUUFDL0IsUUFBUTtBQUFBLFFBQ1IsWUFBWSxDQUFDLEtBQUs7QUFBQSxNQUNwQjtBQUFBLE1BQ0EscUNBQXFDO0FBQUEsUUFDbkMsUUFBUTtBQUFBLFFBQ1IsWUFBWSxDQUFDLE9BQU8sS0FBSztBQUFBLE1BQzNCO0FBQUEsTUFDQSwyQkFBMkI7QUFBQSxRQUN6QixRQUFRO0FBQUEsUUFDUixZQUFZLENBQUMsS0FBSztBQUFBLE1BQ3BCO0FBQUEsTUFDQSwyQkFBMkI7QUFBQSxRQUN6QixRQUFRO0FBQUEsUUFDUixZQUFZLENBQUMsS0FBSztBQUFBLE1BQ3BCO0FBQUEsTUFDQSw0QkFBNEI7QUFBQSxRQUMxQixRQUFRO0FBQUEsUUFDUixZQUFZLENBQUMsS0FBSztBQUFBLE1BQ3BCO0FBQUEsTUFDQSwwQkFBMEI7QUFBQSxRQUN4QixRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0EsbURBQW1EO0FBQUEsUUFDakQsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLDREQUE0RDtBQUFBLFFBQzFELFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSx1QkFBdUI7QUFBQSxRQUNyQixRQUFRO0FBQUEsUUFDUixZQUFZLENBQUMsS0FBSztBQUFBLE1BQ3BCO0FBQUEsTUFDQSwyQ0FBMkM7QUFBQSxRQUN6QyxRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsTUFDaEI7QUFBQSxNQUNBLDJDQUEyQztBQUFBLFFBQ3pDLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxNQUNoQjtBQUFBLE1BQ0EscUNBQXFDLENBQUM7QUFBQSxNQUN0Qyx3Q0FBd0M7QUFBQSxRQUN0QyxjQUFjO0FBQUEsUUFDZCxZQUFZLENBQUMsTUFBTTtBQUFBLE1BQ3JCO0FBQUEsTUFDQSx1Q0FBdUM7QUFBQSxRQUNyQyxjQUFjO0FBQUEsUUFDZCxZQUFZLENBQUMsT0FBTztBQUFBLE1BQ3RCO0FBQUEsTUFDQSx5Q0FBeUM7QUFBQSxRQUN2QyxjQUFjO0FBQUEsTUFDaEI7QUFBQSxNQUNBLG9DQUFvQyxDQUFDO0FBQUEsTUFDckMsc0NBQXNDO0FBQUEsUUFDcEMsY0FBYztBQUFBLE1BQ2hCO0FBQUEsTUFDQSxvQ0FBb0M7QUFBQSxRQUNsQyxjQUFjO0FBQUEsUUFDZCxZQUFZLENBQUMsT0FBTztBQUFBLE1BQ3RCO0FBQUEsTUFDQSwyQ0FBMkMsQ0FBQztBQUFBLE1BQzVDLG1DQUFtQztBQUFBLFFBQ2pDLGNBQWM7QUFBQSxRQUNkLFlBQVksQ0FBQyxNQUFNO0FBQUEsTUFDckI7QUFBQSxNQUNBLDJDQUEyQyxDQUFDO0FBQUEsTUFDNUMsbUNBQW1DO0FBQUEsUUFDakMsY0FBYztBQUFBLFFBQ2QsWUFBWSxDQUFDLE1BQU07QUFBQSxNQUNyQjtBQUFBLE1BQ0EscUNBQXFDLENBQUM7QUFBQSxNQUN0Qyw0Q0FBNEM7QUFBQSxRQUMxQyxjQUFjO0FBQUEsUUFDZCxZQUFZLENBQUMsU0FBUztBQUFBLE1BQ3hCO0FBQUEsTUFDQSxzQ0FBc0M7QUFBQSxRQUNwQyxjQUFjO0FBQUEsUUFDZCxZQUFZLENBQUMsU0FBUztBQUFBLE1BQ3hCO0FBQUEsTUFDQSx3Q0FBd0MsQ0FBQztBQUFBLE1BQ3pDLG9DQUFvQztBQUFBLFFBQ2xDLGNBQWM7QUFBQSxRQUNkLFlBQVksQ0FBQyxPQUFPO0FBQUEsTUFDdEI7QUFBQSxNQUNBLDJDQUEyQztBQUFBLFFBQ3pDLGNBQWM7QUFBQSxRQUNkLFlBQVksQ0FBQyxRQUFRO0FBQUEsTUFDdkI7QUFBQSxNQUNBLHVDQUF1QyxDQUFDO0FBQUEsTUFDeEMscUNBQXFDLENBQUM7QUFBQSxNQUN0Qyx3Q0FBd0M7QUFBQSxRQUN0QyxRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsUUFDZCxZQUFZLENBQUMsS0FBSztBQUFBLE1BQ3BCO0FBQUEsTUFDQSxvQ0FBb0M7QUFBQSxRQUNsQyxRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsUUFDZCxZQUFZLENBQUMsS0FBSztBQUFBLE1BQ3BCO0FBQUEsTUFDQSxxQ0FBcUM7QUFBQSxRQUNuQyxRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsTUFDaEI7QUFBQSxNQUNBLHFDQUFxQztBQUFBLFFBQ25DLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxNQUNoQjtBQUFBLE1BQ0EsK0NBQStDO0FBQUEsUUFDN0MsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLFFBQ2QsWUFBWSxDQUFDLE1BQU07QUFBQSxNQUNyQjtBQUFBLE1BQ0Esa0NBQWtDO0FBQUEsUUFDaEMsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLE1BQ2hCO0FBQUEsTUFDQSwwQkFBMEI7QUFBQSxRQUN4QixRQUFRO0FBQUEsUUFDUixZQUFZLENBQUMsT0FBTyxLQUFLO0FBQUEsTUFDM0I7QUFBQSxNQUNBLDBCQUEwQjtBQUFBLFFBQ3hCLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSxrQ0FBa0M7QUFBQSxRQUNoQyxRQUFRO0FBQUEsUUFDUixZQUFZLENBQUMsS0FBSztBQUFBLE1BQ3BCO0FBQUEsTUFDQSwrQkFBK0I7QUFBQSxRQUM3QixRQUFRO0FBQUEsUUFDUixZQUFZLENBQUMsS0FBSztBQUFBLE1BQ3BCO0FBQUEsTUFDQSwyQ0FBMkM7QUFBQSxRQUN6QyxRQUFRO0FBQUEsUUFDUixZQUFZLENBQUMsS0FBSztBQUFBLE1BQ3BCO0FBQUEsTUFDQSxtQ0FBbUM7QUFBQSxRQUNqQyxRQUFRO0FBQUEsUUFDUixZQUFZLENBQUMsS0FBSztBQUFBLE1BQ3BCO0FBQUEsTUFDQSx1Q0FBdUM7QUFBQSxRQUNyQyxRQUFRO0FBQUEsUUFDUixZQUFZLENBQUMsS0FBSztBQUFBLE1BQ3BCO0FBQUEsTUFDQSx3Q0FBd0M7QUFBQSxRQUN0QyxRQUFRO0FBQUEsUUFDUixZQUFZLENBQUMsS0FBSztBQUFBLE1BQ3BCO0FBQUEsTUFDQSxnQ0FBZ0M7QUFBQSxRQUM5QixRQUFRO0FBQUEsUUFDUixZQUFZLENBQUMsS0FBSztBQUFBLE1BQ3BCO0FBQUEsTUFDQSw0QkFBNEI7QUFBQSxRQUMxQixRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsTUFDaEI7QUFBQSxNQUNBLDJCQUEyQjtBQUFBLFFBQ3pCLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxRQUNkLFlBQVksQ0FBQyxLQUFLO0FBQUEsTUFDcEI7QUFBQSxNQUNBLDhDQUE4QztBQUFBLFFBQzVDLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxRQUNkLFlBQVksQ0FBQyxLQUFLO0FBQUEsTUFDcEI7QUFBQSxNQUNBLHdCQUF3QjtBQUFBLFFBQ3RCLFFBQVE7QUFBQSxRQUNSLFlBQVksQ0FBQyxNQUFNO0FBQUEsTUFDckI7QUFBQSxNQUNBLDJCQUEyQjtBQUFBLFFBQ3pCLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxNQUNoQjtBQUFBLE1BQ0EsaUNBQWlDO0FBQUEsUUFDL0IsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLHVCQUF1QjtBQUFBLFFBQ3JCLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSwrQkFBK0I7QUFBQSxRQUM3QixRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsTUFDaEI7QUFBQSxNQUNBLHFDQUFxQztBQUFBLFFBQ25DLFFBQVE7QUFBQSxRQUNSLFlBQVksQ0FBQyxLQUFLO0FBQUEsTUFDcEI7QUFBQSxNQUNBLDJCQUEyQjtBQUFBLFFBQ3pCLFFBQVE7QUFBQSxRQUNSLFlBQVksQ0FBQyxNQUFNO0FBQUEsTUFDckI7QUFBQSxNQUNBLDJCQUEyQjtBQUFBLFFBQ3pCLFFBQVE7QUFBQSxRQUNSLFlBQVksQ0FBQyxNQUFNO0FBQUEsTUFDckI7QUFBQSxNQUNBLDBCQUEwQjtBQUFBLFFBQ3hCLFFBQVE7QUFBQSxRQUNSLFlBQVksQ0FBQyxLQUFLO0FBQUEsTUFDcEI7QUFBQSxNQUNBLDJCQUEyQjtBQUFBLFFBQ3pCLFFBQVE7QUFBQSxRQUNSLFlBQVksQ0FBQyxLQUFLO0FBQUEsTUFDcEI7QUFBQSxNQUNBLDBCQUEwQjtBQUFBLFFBQ3hCLFFBQVE7QUFBQSxRQUNSLFlBQVksQ0FBQyxLQUFLO0FBQUEsTUFDcEI7QUFBQSxNQUNBLDRCQUE0QjtBQUFBLFFBQzFCLFFBQVE7QUFBQSxRQUNSLFlBQVksQ0FBQyxPQUFPO0FBQUEsTUFDdEI7QUFBQSxNQUNBLHVCQUF1QjtBQUFBLFFBQ3JCLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSw0QkFBNEI7QUFBQSxRQUMxQixRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0Esd0NBQXdDO0FBQUEsUUFDdEMsUUFBUTtBQUFBLFFBQ1IsWUFBWSxDQUFDLFdBQVc7QUFBQSxNQUMxQjtBQUFBLE1BQ0EsOEJBQThCO0FBQUEsUUFDNUIsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLE1BQ2hCO0FBQUEsTUFDQSxtQ0FBbUM7QUFBQSxRQUNqQyxRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsTUFDaEI7QUFBQSxNQUNBLG1DQUFtQztBQUFBLFFBQ2pDLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxNQUNoQjtBQUFBLE1BQ0Esb0NBQW9DO0FBQUEsUUFDbEMsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLG1DQUFtQztBQUFBLFFBQ2pDLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSx3Q0FBd0M7QUFBQSxRQUN0QyxRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0EsK0JBQStCO0FBQUEsUUFDN0IsUUFBUTtBQUFBLFFBQ1IsWUFBWSxDQUFDLEtBQUs7QUFBQSxNQUNwQjtBQUFBLE1BQ0EsOEJBQThCO0FBQUEsUUFDNUIsUUFBUTtBQUFBLFFBQ1IsWUFBWSxDQUFDLE9BQU8sV0FBVyxVQUFVO0FBQUEsTUFDM0M7QUFBQSxNQUNBLHlDQUF5QztBQUFBLFFBQ3ZDLFFBQVE7QUFBQSxRQUNSLFlBQVksQ0FBQyxLQUFLO0FBQUEsTUFDcEI7QUFBQSxNQUNBLHdDQUF3QztBQUFBLFFBQ3RDLFFBQVE7QUFBQSxRQUNSLFlBQVksQ0FBQyxJQUFJO0FBQUEsTUFDbkI7QUFBQSxNQUNBLDhCQUE4QjtBQUFBLFFBQzVCLFFBQVE7QUFBQSxRQUNSLFlBQVksQ0FBQyxPQUFPLEtBQUs7QUFBQSxNQUMzQjtBQUFBLE1BQ0EsNkJBQTZCO0FBQUEsUUFDM0IsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLDRCQUE0QjtBQUFBLFFBQzFCLFFBQVE7QUFBQSxRQUNSLFlBQVksQ0FBQyxLQUFLO0FBQUEsTUFDcEI7QUFBQSxNQUNBLHlDQUF5QztBQUFBLFFBQ3ZDLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxNQUNoQjtBQUFBLE1BQ0Esd0NBQXdDO0FBQUEsUUFDdEMsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLE1BQ2hCO0FBQUEsTUFDQSxtQ0FBbUM7QUFBQSxRQUNqQyxRQUFRO0FBQUEsUUFDUixZQUFZLENBQUMsS0FBSztBQUFBLE1BQ3BCO0FBQUEsTUFDQSxtQ0FBbUM7QUFBQSxRQUNqQyxRQUFRO0FBQUEsUUFDUixZQUFZLENBQUMsS0FBSztBQUFBLE1BQ3BCO0FBQUEsTUFDQSxpQ0FBaUM7QUFBQSxRQUMvQixRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0EsaUNBQWlDO0FBQUEsUUFDL0IsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLGlDQUFpQztBQUFBLFFBQy9CLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSwwQ0FBMEM7QUFBQSxRQUN4QyxRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsTUFDaEI7QUFBQSxNQUNBLHVEQUF1RDtBQUFBLFFBQ3JELFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxNQUNoQjtBQUFBLE1BQ0EsNkNBQTZDO0FBQUEsUUFDM0MsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLE1BQ2hCO0FBQUEsTUFDQSxnREFBZ0Q7QUFBQSxRQUM5QyxRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsTUFDaEI7QUFBQSxNQUNBLGdEQUFnRDtBQUFBLFFBQzlDLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxNQUNoQjtBQUFBLE1BQ0EsdURBQXVEO0FBQUEsUUFDckQsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLE1BQ2hCO0FBQUEsTUFDQSwyQ0FBMkM7QUFBQSxRQUN6QyxRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsTUFDaEI7QUFBQSxNQUNBLHNDQUFzQztBQUFBLFFBQ3BDLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSxvQ0FBb0M7QUFBQSxRQUNsQyxRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0Esd0NBQXdDO0FBQUEsUUFDdEMsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLE1BQ2hCO0FBQUEsTUFDQSw4Q0FBOEM7QUFBQSxRQUM1QyxRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0EsOEJBQThCO0FBQUEsUUFDNUIsUUFBUTtBQUFBLFFBQ1IsWUFBWSxDQUFDLEtBQUs7QUFBQSxNQUNwQjtBQUFBLE1BQ0Esb0NBQW9DO0FBQUEsUUFDbEMsUUFBUTtBQUFBLFFBQ1IsWUFBWSxDQUFDLE9BQU8sS0FBSztBQUFBLE1BQzNCO0FBQUEsTUFDQSw0QkFBNEI7QUFBQSxRQUMxQixRQUFRO0FBQUEsUUFDUixZQUFZLENBQUMsS0FBSztBQUFBLE1BQ3BCO0FBQUEsTUFDQSxzQ0FBc0M7QUFBQSxRQUNwQyxRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0EsbUNBQW1DO0FBQUEsUUFDakMsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLDRCQUE0QjtBQUFBLFFBQzFCLFFBQVE7QUFBQSxRQUNSLFlBQVksQ0FBQyxLQUFLO0FBQUEsTUFDcEI7QUFBQSxNQUNBLDRCQUE0QjtBQUFBLFFBQzFCLFFBQVE7QUFBQSxRQUNSLFlBQVksQ0FBQyxLQUFLO0FBQUEsTUFDcEI7QUFBQSxNQUNBLG9DQUFvQztBQUFBLFFBQ2xDLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSw0QkFBNEI7QUFBQSxRQUMxQixRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0EsaUNBQWlDO0FBQUEsUUFDL0IsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLGlDQUFpQztBQUFBLFFBQy9CLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSw0QkFBNEI7QUFBQSxRQUMxQixRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0EsMkNBQTJDO0FBQUEsUUFDekMsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLE1BQ2hCO0FBQUEsTUFDQSwyQ0FBMkM7QUFBQSxRQUN6QyxRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsTUFDaEI7QUFBQSxNQUNBLDZDQUE2QztBQUFBLFFBQzNDLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxNQUNoQjtBQUFBLE1BQ0Esd0NBQXdDO0FBQUEsUUFDdEMsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLE1BQ2hCO0FBQUEsTUFDQSwyQ0FBMkM7QUFBQSxRQUN6QyxRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsTUFDaEI7QUFBQSxNQUNBLDJDQUEyQztBQUFBLFFBQ3pDLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxNQUNoQjtBQUFBLE1BQ0EsNENBQTRDO0FBQUEsUUFDMUMsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLE1BQ2hCO0FBQUEsTUFDQSx5Q0FBeUM7QUFBQSxRQUN2QyxRQUFRO0FBQUEsUUFDUixZQUFZLENBQUMsV0FBVztBQUFBLE1BQzFCO0FBQUEsTUFDQSwyQ0FBMkM7QUFBQSxRQUN6QyxRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsUUFDZCxZQUFZLENBQUMsS0FBSztBQUFBLE1BQ3BCO0FBQUEsTUFDQSwwQkFBMEI7QUFBQSxRQUN4QixRQUFRO0FBQUEsUUFDUixZQUFZLENBQUMsS0FBSztBQUFBLE1BQ3BCO0FBQUEsTUFDQSw0QkFBNEI7QUFBQSxRQUMxQixRQUFRO0FBQUEsUUFDUixZQUFZLENBQUMsS0FBSztBQUFBLE1BQ3BCO0FBQUEsTUFDQSxtQ0FBbUM7QUFBQSxRQUNqQyxRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsTUFDaEI7QUFBQSxNQUNBLHVCQUF1QjtBQUFBLFFBQ3JCLFFBQVE7QUFBQSxRQUNSLFlBQVksQ0FBQyxLQUFLO0FBQUEsTUFDcEI7QUFBQSxNQUNBLDhDQUE4QztBQUFBLFFBQzVDLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSw0Q0FBNEM7QUFBQSxRQUMxQyxRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0EsMkNBQTJDO0FBQUEsUUFDekMsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLHlDQUF5QztBQUFBLFFBQ3ZDLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSxnREFBZ0Q7QUFBQSxRQUM5QyxRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0EsNENBQTRDO0FBQUEsUUFDMUMsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLHlDQUF5QztBQUFBLFFBQ3ZDLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSxnREFBZ0Q7QUFBQSxRQUM5QyxRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0EseUNBQXlDO0FBQUEsUUFDdkMsUUFBUTtBQUFBLFFBQ1IsWUFBWSxDQUFDLEtBQUs7QUFBQSxNQUNwQjtBQUFBLE1BQ0Esd0JBQXdCO0FBQUEsUUFDdEIsUUFBUTtBQUFBLFFBQ1IsWUFBWSxDQUFDLE1BQU07QUFBQSxNQUNyQjtBQUFBLE1BQ0Esc0NBQXNDO0FBQUEsUUFDcEMsUUFBUTtBQUFBLFFBQ1IsWUFBWSxDQUFDLE1BQU07QUFBQSxNQUNyQjtBQUFBLE1BQ0EsZ0NBQWdDO0FBQUEsUUFDOUIsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLDJCQUEyQjtBQUFBLFFBQ3pCLFFBQVE7QUFBQSxRQUNSLFlBQVksQ0FBQyxPQUFPLEtBQUs7QUFBQSxNQUMzQjtBQUFBLE1BQ0EsOEJBQThCO0FBQUEsUUFDNUIsUUFBUTtBQUFBLFFBQ1IsWUFBWSxDQUFDLFFBQVE7QUFBQSxNQUN2QjtBQUFBLE1BQ0EsOEJBQThCO0FBQUEsUUFDNUIsUUFBUTtBQUFBLFFBQ1IsWUFBWSxDQUFDLE1BQU07QUFBQSxNQUNyQjtBQUFBLE1BQ0EsZ0NBQWdDO0FBQUEsUUFDOUIsUUFBUTtBQUFBLFFBQ1IsWUFBWSxDQUFDLEtBQUs7QUFBQSxNQUNwQjtBQUFBLE1BQ0EsNkJBQTZCO0FBQUEsUUFDM0IsUUFBUTtBQUFBLFFBQ1IsWUFBWSxDQUFDLEtBQUs7QUFBQSxNQUNwQjtBQUFBLE1BQ0EsK0JBQStCO0FBQUEsUUFDN0IsUUFBUTtBQUFBLFFBQ1IsWUFBWSxDQUFDLEtBQUs7QUFBQSxNQUNwQjtBQUFBLE1BQ0Esa0NBQWtDO0FBQUEsUUFDaEMsUUFBUTtBQUFBLFFBQ1IsWUFBWSxDQUFDLE9BQU8sS0FBSztBQUFBLE1BQzNCO0FBQUEsTUFDQSwrQkFBK0I7QUFBQSxRQUM3QixRQUFRO0FBQUEsUUFDUixZQUFZLENBQUMsS0FBSztBQUFBLE1BQ3BCO0FBQUEsTUFDQSw2QkFBNkI7QUFBQSxRQUMzQixRQUFRO0FBQUEsUUFDUixZQUFZLENBQUMsT0FBTyxLQUFLO0FBQUEsTUFDM0I7QUFBQSxNQUNBLHVCQUF1QjtBQUFBLFFBQ3JCLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSw4QkFBOEI7QUFBQSxRQUM1QixRQUFRO0FBQUEsUUFDUixZQUFZLENBQUMsTUFBTTtBQUFBLE1BQ3JCO0FBQUEsTUFDQSxrQ0FBa0M7QUFBQSxRQUNoQyxRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsTUFDaEI7QUFBQSxNQUNBLDhCQUE4QjtBQUFBLFFBQzVCLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSxnQ0FBZ0M7QUFBQSxRQUM5QixRQUFRO0FBQUEsUUFDUixZQUFZLENBQUMsS0FBSztBQUFBLE1BQ3BCO0FBQUEsTUFDQSx5QkFBeUI7QUFBQSxRQUN2QixRQUFRO0FBQUEsUUFDUixZQUFZLENBQUMsT0FBTyxLQUFLO0FBQUEsTUFDM0I7QUFBQSxNQUNBLHdCQUF3QjtBQUFBLFFBQ3RCLFFBQVE7QUFBQSxRQUNSLFlBQVksQ0FBQyxPQUFPLE9BQU8sT0FBTyxLQUFLO0FBQUEsTUFDekM7QUFBQSxNQUNBLG9DQUFvQztBQUFBLFFBQ2xDLFFBQVE7QUFBQSxRQUNSLFlBQVksQ0FBQyxLQUFLO0FBQUEsTUFDcEI7QUFBQSxNQUNBLHVCQUF1QjtBQUFBLFFBQ3JCLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSxnQ0FBZ0M7QUFBQSxRQUM5QixRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsTUFDaEI7QUFBQSxNQUNBLCtCQUErQjtBQUFBLFFBQzdCLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxRQUNkLFlBQVksQ0FBQyxRQUFRO0FBQUEsTUFDdkI7QUFBQSxNQUNBLDBCQUEwQjtBQUFBLFFBQ3hCLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSx5Q0FBeUM7QUFBQSxRQUN2QyxRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0EsNkJBQTZCO0FBQUEsUUFDM0IsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLE1BQ2hCO0FBQUEsTUFDQSx1Q0FBdUM7QUFBQSxRQUNyQyxRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsTUFDaEI7QUFBQSxNQUNBLHNEQUFzRDtBQUFBLFFBQ3BELFFBQVE7QUFBQSxRQUNSLFlBQVksQ0FBQyxLQUFLO0FBQUEsTUFDcEI7QUFBQSxNQUNBLDJEQUEyRDtBQUFBLFFBQ3pELFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxRQUNkLFlBQVksQ0FBQyxLQUFLO0FBQUEsTUFDcEI7QUFBQSxNQUNBLHdDQUF3QztBQUFBLFFBQ3RDLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxNQUNoQjtBQUFBLE1BQ0Esd0JBQXdCO0FBQUEsUUFDdEIsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLCtCQUErQjtBQUFBLFFBQzdCLFFBQVE7QUFBQSxRQUNSLFlBQVksQ0FBQyxLQUFLO0FBQUEsTUFDcEI7QUFBQSxNQUNBLGtDQUFrQztBQUFBLFFBQ2hDLFFBQVE7QUFBQSxRQUNSLFlBQVksQ0FBQyxLQUFLO0FBQUEsTUFDcEI7QUFBQSxNQUNBLG1DQUFtQztBQUFBLFFBQ2pDLFFBQVE7QUFBQSxRQUNSLFlBQVksQ0FBQyxLQUFLO0FBQUEsTUFDcEI7QUFBQSxNQUNBLCtCQUErQjtBQUFBLFFBQzdCLFFBQVE7QUFBQSxRQUNSLFlBQVksQ0FBQyxLQUFLO0FBQUEsTUFDcEI7QUFBQSxNQUNBLG1DQUFtQztBQUFBLFFBQ2pDLFFBQVE7QUFBQSxRQUNSLFlBQVksQ0FBQyxLQUFLO0FBQUEsTUFDcEI7QUFBQSxNQUNBLG1DQUFtQztBQUFBLFFBQ2pDLFFBQVE7QUFBQSxRQUNSLFlBQVksQ0FBQyxLQUFLO0FBQUEsTUFDcEI7QUFBQSxNQUNBLGlDQUFpQztBQUFBLFFBQy9CLFFBQVE7QUFBQSxRQUNSLFlBQVksQ0FBQyxLQUFLO0FBQUEsTUFDcEI7QUFBQSxNQUNBLG9DQUFvQztBQUFBLFFBQ2xDLFFBQVE7QUFBQSxRQUNSLFlBQVksQ0FBQyxTQUFTO0FBQUEsTUFDeEI7QUFBQSxNQUNBLHNDQUFzQztBQUFBLFFBQ3BDLFFBQVE7QUFBQSxRQUNSLFlBQVksQ0FBQyxLQUFLO0FBQUEsTUFDcEI7QUFBQSxNQUNBLDhDQUE4QztBQUFBLFFBQzVDLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxNQUNoQjtBQUFBLE1BQ0EsNENBQTRDO0FBQUEsUUFDMUMsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLE1BQ2hCO0FBQUEsTUFDQSwwQ0FBMEM7QUFBQSxRQUN4QyxRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsTUFDaEI7QUFBQSxNQUNBLG1DQUFtQztBQUFBLFFBQ2pDLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSw4QkFBOEI7QUFBQSxRQUM1QixRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsTUFDaEI7QUFBQSxNQUNBLHlDQUF5QztBQUFBLFFBQ3ZDLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxNQUNoQjtBQUFBLE1BQ0Esc0NBQXNDO0FBQUEsUUFDcEMsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLHVCQUF1QjtBQUFBLFFBQ3JCLFFBQVE7QUFBQSxRQUNSLFlBQVksQ0FBQyxLQUFLO0FBQUEsTUFDcEI7QUFBQSxNQUNBLHVCQUF1QjtBQUFBLFFBQ3JCLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSw2QkFBNkI7QUFBQSxRQUMzQixRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0EsK0JBQStCO0FBQUEsUUFDN0IsUUFBUTtBQUFBLFFBQ1IsWUFBWSxDQUFDLEtBQUs7QUFBQSxNQUNwQjtBQUFBLE1BQ0Esc0NBQXNDO0FBQUEsUUFDcEMsUUFBUTtBQUFBLFFBQ1IsWUFBWSxDQUFDLE9BQU87QUFBQSxNQUN0QjtBQUFBLE1BQ0EsNENBQTRDO0FBQUEsUUFDMUMsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLHNDQUFzQztBQUFBLFFBQ3BDLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSwyQkFBMkI7QUFBQSxRQUN6QixRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0Esd0JBQXdCO0FBQUEsUUFDdEIsUUFBUTtBQUFBLFFBQ1IsWUFBWSxDQUFDLEtBQUs7QUFBQSxNQUNwQjtBQUFBLE1BQ0Esd0JBQXdCO0FBQUEsUUFDdEIsUUFBUTtBQUFBLFFBQ1IsWUFBWSxDQUFDLEtBQUs7QUFBQSxNQUNwQjtBQUFBLE1BQ0EsOEJBQThCO0FBQUEsUUFDNUIsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLE1BQ2hCO0FBQUEsTUFDQSxrQ0FBa0M7QUFBQSxRQUNoQyxRQUFRO0FBQUEsUUFDUixZQUFZLENBQUMsS0FBSztBQUFBLE1BQ3BCO0FBQUEsTUFDQSxrQ0FBa0M7QUFBQSxRQUNoQyxRQUFRO0FBQUEsUUFDUixZQUFZLENBQUMsS0FBSztBQUFBLE1BQ3BCO0FBQUEsTUFDQSxpREFBaUQ7QUFBQSxRQUMvQyxRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0EscURBQXFEO0FBQUEsUUFDbkQsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLDhCQUE4QjtBQUFBLFFBQzVCLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxNQUNoQjtBQUFBLE1BQ0EsdUJBQXVCO0FBQUEsUUFDckIsUUFBUTtBQUFBLFFBQ1IsWUFBWSxDQUFDLEtBQUs7QUFBQSxNQUNwQjtBQUFBLE1BQ0Esd0NBQXdDO0FBQUEsUUFDdEMsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLG1EQUFtRDtBQUFBLFFBQ2pELFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSw4QkFBOEI7QUFBQSxRQUM1QixRQUFRO0FBQUEsUUFDUixZQUFZLENBQUMsS0FBSztBQUFBLE1BQ3BCO0FBQUEsTUFDQSw4QkFBOEI7QUFBQSxRQUM1QixRQUFRO0FBQUEsUUFDUixZQUFZLENBQUMsS0FBSztBQUFBLE1BQ3BCO0FBQUEsTUFDQSw4QkFBOEI7QUFBQSxRQUM1QixRQUFRO0FBQUEsUUFDUixZQUFZLENBQUMsS0FBSztBQUFBLE1BQ3BCO0FBQUEsTUFDQSw4QkFBOEI7QUFBQSxRQUM1QixRQUFRO0FBQUEsUUFDUixZQUFZLENBQUMsS0FBSztBQUFBLE1BQ3BCO0FBQUEsTUFDQSw4QkFBOEI7QUFBQSxRQUM1QixRQUFRO0FBQUEsUUFDUixZQUFZLENBQUMsS0FBSztBQUFBLE1BQ3BCO0FBQUEsTUFDQSw4QkFBOEI7QUFBQSxRQUM1QixRQUFRO0FBQUEsUUFDUixZQUFZLENBQUMsS0FBSztBQUFBLE1BQ3BCO0FBQUEsTUFDQSw4QkFBOEI7QUFBQSxRQUM1QixRQUFRO0FBQUEsUUFDUixZQUFZLENBQUMsS0FBSztBQUFBLE1BQ3BCO0FBQUEsTUFDQSx3QkFBd0I7QUFBQSxRQUN0QixRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0Esc0NBQXNDO0FBQUEsUUFDcEMsUUFBUTtBQUFBLFFBQ1IsWUFBWSxDQUFDLEtBQUs7QUFBQSxNQUNwQjtBQUFBLE1BQ0Esc0NBQXNDO0FBQUEsUUFDcEMsUUFBUTtBQUFBLFFBQ1IsWUFBWSxDQUFDLEtBQUs7QUFBQSxNQUNwQjtBQUFBLE1BQ0Esc0NBQXNDO0FBQUEsUUFDcEMsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLDJDQUEyQztBQUFBLFFBQ3pDLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSwwQ0FBMEM7QUFBQSxRQUN4QyxRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0EsNENBQTRDO0FBQUEsUUFDMUMsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLDBDQUEwQztBQUFBLFFBQ3hDLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSwwQ0FBMEM7QUFBQSxR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QyxLQUFLO0FBQUEsTUFDcEI7QUFBQSxNQUNBLHFEQUFxRDtBQUFBLFFBQ25ELFFBQVE7QUFBQSxRQUNSLFlBQVksQ0FBQyxLQUFLO0FBQUEsTUFDcEI7QUFBQSxNQUNBLCtDQUErQztBQUFBLFFBQzdDLFFBQVE7QUFBQSxRQUNSLFlBQVksQ0FBQyxLQUFLO0FBQUEsTUFDcEI7QUFBQSxNQUNBLDhDQUE4QztBQUFBLFFBQzVDLFFBQVE7QUFBQSxRQUNSLFlBQVksQ0FBQyxLQUFLO0FBQUEsTUFDcEI7QUFBQSxNQUNBLHVEQUF1RDtBQUFBLFFBQ3JELFFBQVE7QUFBQSxRQUNSLFlBQVksQ0FBQyxNQUFNO0FBQUEsTUFDckI7QUFBQSxNQUNBLCtDQUErQztBQUFBLFFBQzdDLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxRQUNkLFlBQVksQ0FBQyxLQUFLO0FBQUEsTUFDcEI7QUFBQSxNQUNBLHdEQUF3RDtBQUFBLFFBQ3RELFFBQVE7QUFBQSxRQUNSLFlBQVksQ0FBQyxLQUFLO0FBQUEsTUFDcEI7QUFBQSxNQUNBLDRDQUE0QztBQUFBLFFBQzFDLFFBQVE7QUFBQSxRQUNSLFlBQVksQ0FBQyxLQUFLO0FBQUEsTUFDcEI7QUFBQSxNQUNBLHFEQUFxRDtBQUFBLFFBQ25ELFFBQVE7QUFBQSxRQUNSLFlBQVksQ0FBQyxLQUFLO0FBQUEsTUFDcEI7QUFBQSxNQUNBLG1EQUFtRDtBQUFBLFFBQ2pELFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxRQUNkLFlBQVksQ0FBQyxLQUFLO0FBQUEsTUFDcEI7QUFBQSxNQUNBLDREQUE0RDtBQUFBLFFBQzFELFFBQVE7QUFBQSxRQUNSLFlBQVksQ0FBQyxLQUFLO0FBQUEsTUFDcEI7QUFBQSxNQUNBLGtEQUFrRDtBQUFBLFFBQ2hELFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxRQUNkLFlBQVksQ0FBQyxLQUFLO0FBQUEsTUFDcEI7QUFBQSxNQUNBLDJEQUEyRDtBQUFBLFFBQ3pELFFBQVE7QUFBQSxRQUNSLFlBQVksQ0FBQyxLQUFLO0FBQUEsTUFDcEI7QUFBQSxNQUNB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O0FBQUEsTUFDQSxjQUFjO0FBQUEsUUFDWixRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsUUFDZCxZQUFZLENBQUMsTUFBTTtBQUFBLE1BQ3JCO0FBQUEsTUFDQSxjQUFjO0FBQUEsUUFDWixRQUFRO0FBQUEsUUFDUixZQUFZLENBQUMsTUFBTTtBQUFBLE1BQ3JCO0FBQUEsTUFDQSxjQUFjO0FBQUEsUUFDWixRQUFRO0FBQUEsUUFDUixZQUFZLENBQUMsTUFBTTtBQUFBLE1BQ3JCO0FBQUEsTUFDQSxjQUFjO0FBQUEsUUFDWixRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsUUFDZCxZQUFZLENBQUMsTUFBTTtBQUFBLE1BQ3JCO0FBQUEsTUFDQSxhQUFhO0FBQUEsUUFDWCxRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsUUFDZCxZQUFZLENBQUMsT0FBTyxLQUFLO0FBQUEsTUFDM0I7QUFBQSxNQUNBLGFBQWE7QUFBQSxRQUNYLFFBQVE7QUFBQSxRQUNSLFlBQVksQ0FBQyxLQUFLO0FBQUEsTUFDcEI7QUFBQSxNQUNBLG1CQUFtQjtBQUFBLFFBQ2pCLFFBQVE7QUFBQSxRQUNSLFlBQVksQ0FBQyxNQUFNO0FBQUEsTUFDckI7QUFBQSxNQUNBLGFBQWE7QUFBQSxRQUNYLFFBQVE7QUFBQSxRQUNSLFlBQVksQ0FBQyxLQUFLO0FBQUEsTUFDcEI7QUFBQSxNQUNBLGFBQWE7QUFBQSxRQUNYLFFBQVE7QUFBQSxRQUNSLFlBQVksQ0FBQyxLQUFLO0FBQUEsTUFDcEI7QUFBQSxNQUNBLGNBQWM7QUFBQSxRQUNaLFFBQVE7QUFBQSxRQUNSLFlBQVksQ0FBQyxNQUFNO0FBQUEsTUFDckI7QUFBQSxNQUNBLGVBQWU7QUFBQSxRQUNiLFFBQVE7QUFBQSxRQUNSLFlBQVksQ0FBQyxJQUFJO0FBQUEsTUFDbkI7QUFBQSxNQUNBLGFBQWE7QUFBQSxRQUNYLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxRQUNkLFlBQVksQ0FBQyxLQUFLO0FBQUEsTUFDcEI7QUFBQSxNQUNBLGNBQWM7QUFBQSxRQUNaLFFBQVE7QUFBQSxRQUNSLFlBQVksQ0FBQyxNQUFNO0FBQUEsTUFDckI7QUFBQSxNQUNBLHVCQUF1QjtBQUFBLFFBQ3JCLFFBQVE7QUFBQSxRQUNSLFlBQVksQ0FBQyxPQUFPO0FBQUEsTUFDdEI7QUFBQSxNQUNBLGNBQWM7QUFBQSxRQUNaLFFBQVE7QUFBQSxRQUNSLFlBQVksQ0FBQyxNQUFNO0FBQUEsTUFDckI7QUFBQSxNQUNBLHVCQUF1QjtBQUFBLFFBQ3JCLFFBQVE7QUFBQSxRQUNSLFlBQVksQ0FBQyxPQUFPO0FBQUEsTUFDdEI7QUFBQSxNQUNBLGVBQWU7QUFBQSxRQUNiLFFBQVE7QUFBQSxRQUNSLFlBQVksQ0FBQyxNQUFNO0FBQUEsTUFDckI7QUFBQSxNQUNBLGFBQWE7QUFBQSxRQUNYLFFBQVE7QUFBQSxRQUNSLFlBQVksQ0FBQyxLQUFLO0FBQUEsTUFDcEI7QUFBQSxNQUNBLGFBQWE7QUFBQSxRQUNYLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSxjQUFjO0FBQUEsUUFDWixRQUFRO0FBQUEsUUFDUixZQUFZLENBQUMsTUFBTTtBQUFBLE1BQ3JCO0FBQUEsTUFDQSxjQUFjO0FBQUEsUUFDWixRQUFRO0FBQUEsUUFDUixZQUFZLENBQUMsTUFBTTtBQUFBLE1BQ3JCO0FBQUEsTUFDQSxhQUFhO0FBQUEsUUFDWCxRQUFRO0FBQUEsUUFDUixZQUFZLENBQUMsS0FBSztBQUFBLE1BQ3BCO0FBQUEsTUFDQSxhQUFhO0FBQUEsUUFDWCxRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsUUFDZCxZQUFZLENBQUMsT0FBTyxNQUFNO0FBQUEsTUFDNUI7QUFBQSxNQUNBLGNBQWM7QUFBQSxRQUNaLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxRQUNkLFlBQVksQ0FBQyxPQUFPLFFBQVEsS0FBSztBQUFBLE1BQ25DO0FBQUEsTUFDQSxhQUFhO0FBQUEsUUFDWCxRQUFRO0FBQUEsUUFDUixZQUFZLENBQUMsS0FBSztBQUFBLE1BQ3BCO0FBQUEsTUFDQSxjQUFjO0FBQUEsUUFDWixRQUFRO0FBQUEsUUFDUixZQUFZLENBQUMsS0FBSztBQUFBLE1BQ3BCO0FBQUEsTUFDQSxhQUFhO0FBQUEsUUFDWCxRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsUUFDZCxZQUFZLENBQUMsT0FBTyxNQUFNO0FBQUEsTUFDNUI7QUFBQSxNQUNBLGFBQWE7QUFBQSxRQUNYLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxRQUNkLFlBQVksQ0FBQyxPQUFPLEtBQUs7QUFBQSxNQUMzQjtBQUFBLE1BQ0EsYUFBYTtBQUFBLFFBQ1gsUUFBUTtBQUFBLFFBQ1IsWUFBWSxDQUFDLEtBQUs7QUFBQSxNQUNwQjtBQUFBLE1BQ0EsYUFBYTtBQUFBLFFBQ1gsUUFBUTtBQUFBLFFBQ1IsWUFBWSxDQUFDLEtBQUs7QUFBQSxNQUNwQjtBQUFBLE1BQ0EsY0FBYztBQUFBLFFBQ1osUUFBUTtBQUFBLFFBQ1IsWUFBWSxDQUFDLE1BQU07QUFBQSxNQUNyQjtBQUFBLE1BQ0EsY0FBYztBQUFBLFFBQ1osUUFBUTtBQUFBLFFBQ1IsWUFBWSxDQUFDLE1BQU07QUFBQSxNQUNyQjtBQUFBLE1BQ0EsYUFBYTtBQUFBLFFBQ1gsUUFBUTtBQUFBLFFBQ1IsWUFBWSxDQUFDLEtBQUs7QUFBQSxNQUNwQjtBQUFBLE1BQ0EsY0FBYztBQUFBLFFBQ1osUUFBUTtBQUFBLFFBQ1IsWUFBWSxDQUFDLE1BQU07QUFBQSxNQUNyQjtBQUFBLE1BQ0EsY0FBYztBQUFBLFFBQ1osUUFBUTtBQUFBLFFBQ1IsWUFBWSxDQUFDLE1BQU07QUFBQSxNQUNyQjtBQUFBLE1BQ0EsY0FBYztBQUFBLFFBQ1osUUFBUTtBQUFBLFFBQ1IsWUFBWSxDQUFDLE1BQU07QUFBQSxNQUNyQjtBQUFBLE1BQ0EsYUFBYTtBQUFBLFFBQ1gsUUFBUTtBQUFBLFFBQ1IsWUFBWSxDQUFDLEtBQUs7QUFBQSxNQUNwQjtBQUFBLE1BQ0EsY0FBYztBQUFBLFFBQ1osUUFBUTtBQUFBLFFBQ1IsWUFBWSxDQUFDLE1BQU07QUFBQSxNQUNyQjtBQUFBLE1BQ0EsZ0JBQWdCO0FBQUEsUUFDZCxRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0EsZUFBZTtBQUFBLFFBQ2IsY0FBYztBQUFBLFFBQ2QsWUFBWSxDQUFDLE1BQU07QUFBQSxNQUNyQjtBQUFBLE1BQ0EsYUFBYTtBQUFBLFFBQ1gsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLFFBQ2QsWUFBWSxDQUFDLEtBQUs7QUFBQSxNQUNwQjtBQUFBLE1BQ0Esa0JBQWtCO0FBQUEsUUFDaEIsUUFBUTtBQUFBLFFBQ1IsWUFBWSxDQUFDLFFBQVEsS0FBSztBQUFBLE1BQzVCO0FBQUEsTUFDQSxpQkFBaUI7QUFBQSxRQUNmLFFBQVE7QUFBQSxRQUNSLFlBQVksQ0FBQyxLQUFLO0FBQUEsTUFDcEI7QUFBQSxNQUNBLG9CQUFvQjtBQUFBLFFBQ2xCLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSxhQUFhO0FBQUEsUUFDWCxRQUFRO0FBQUEsUUFDUixZQUFZLENBQUMsS0FBSztBQUFBLE1BQ3BCO0FBQUEsTUFDQSxpQkFBaUI7QUFBQSxRQUNmLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxRQUNkLFlBQVksQ0FBQyxPQUFPLE1BQU07QUFBQSxNQUM1QjtBQUFBLE1BQ0EsYUFBYTtBQUFBLFFBQ1gsUUFBUTtBQUFBLFFBQ1IsWUFBWSxDQUFDLEtBQUs7QUFBQSxNQUNwQjtBQUFBLE1BQ0EsY0FBYztBQUFBLFFBQ1osUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLFFBQ2QsWUFBWSxDQUFDLE9BQU8sTUFBTTtBQUFBLE1BQzVCO0FBQUEsTUFDQSxpQkFBaUI7QUFBQSxRQUNmLFFBQVE7QUFBQSxRQUNSLFlBQVksQ0FBQyxLQUFLO0FBQUEsTUFDcEI7QUFBQSxNQUNBLDZCQUE2QjtBQUFBLFFBQzNCLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxRQUNkLFlBQVksQ0FBQyxLQUFLO0FBQUEsTUFDcEI7QUFBQSxNQUNBLG9DQUFvQztBQUFBLFFBQ2xDLFFBQVE7QUFBQSxRQUNSLFlBQVksQ0FBQyxLQUFLO0FBQUEsTUFDcEI7QUFBQSxNQUNBLGtCQUFrQjtBQUFBLFFBQ2hCLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSxzQkFBc0I7QUFBQSxRQUNwQixRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0EsMEJBQTBCO0FBQUEsUUFDeEIsUUFBUTtBQUFBLFFBQ1IsWUFBWSxDQUFDLE9BQU8sUUFBUSxPQUFPLE1BQU07QUFBQSxNQUMzQztBQUFBLE1BQ0Esa0JBQWtCO0FBQUEsUUFDaEIsUUFBUTtBQUFBLFFBQ1IsWUFBWSxDQUFDLFFBQVEsS0FBSztBQUFBLE1BQzVCO0FBQUEsTUFDQSwwQkFBMEI7QUFBQSxRQUN4QixRQUFRO0FBQUEsUUFDUixZQUFZLENBQUMsS0FBSztBQUFBLE1BQ3BCO0FBQUEsTUFDQSxpQkFBaUI7QUFBQSxRQUNmLFFBQVE7QUFBQSxRQUNSLFlBQVksQ0FBQyxLQUFLO0FBQUEsTUFDcEI7QUFBQSxNQUNBLGlCQUFpQjtBQUFBLFFBQ2YsUUFBUTtBQUFBLFFBQ1IsWUFBWSxDQUFDLEtBQUs7QUFBQSxNQUNwQjtBQUFBLE1BQ0EsMEJBQTBCO0FBQUEsUUFDeEIsUUFBUTtBQUFBLFFBQ1IsWUFBWSxDQUFDLEtBQUs7QUFBQSxNQUNwQjtBQUFBLE1BQ0EsaUJBQWlCO0FBQUEsUUFDZixRQUFRO0FBQUEsUUFDUixZQUFZLENBQUMsS0FBSztBQUFBLE1BQ3BCO0FBQUEsTUFDQSxpQkFBaUI7QUFBQSxRQUNmLFFBQVE7QUFBQSxRQUNSLFlBQVksQ0FBQyxLQUFLO0FBQUEsTUFDcEI7QUFBQSxNQUNBLGtDQUFrQztBQUFBLFFBQ2hDLFFBQVE7QUFBQSxRQUNSLFlBQVksQ0FBQyxLQUFLO0FBQUEsTUFDcEI7QUFBQSxNQUNBLGtDQUFrQztBQUFBLFFBQ2hDLFFBQVE7QUFBQSxRQUNSLFlBQVksQ0FBQyxLQUFLO0FBQUEsTUFDcEI7QUFBQSxNQUNBLGdDQUFnQztBQUFBLFFBQzlCLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSw0QkFBNEI7QUFBQSxRQUMxQixRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsUUFDZCxZQUFZLENBQUMsS0FBSztBQUFBLE1BQ3BCO0FBQUEsTUFDQSxpQkFBaUI7QUFBQSxRQUNmLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSwwQkFBMEI7QUFBQSxRQUN4QixRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0Esb0JBQW9CO0FBQUEsUUFDbEIsY0FBYztBQUFBLFFBQ2QsWUFBWSxDQUFDLEtBQUs7QUFBQSxNQUNwQjtBQUFBLE1BQ0EscUJBQXFCO0FBQUEsUUFDbkIsUUFBUTtBQUFBLFFBQ1IsWUFBWSxDQUFDLEtBQUs7QUFBQSxNQUNwQjtBQUFBLE1BQ0Esc0JBQXNCO0FBQUEsUUFDcEIsUUFBUTtBQUFBLFFBQ1IsWUFBWSxDQUFDLEtBQUs7QUFBQSxNQUNwQjtBQUFBLE1BQ0EscUJBQXFCO0FBQUEsUUFDbkIsUUFBUTtBQUFBLFFBQ1IsWUFBWSxDQUFDLEtBQUs7QUFBQSxNQUNwQjtBQUFBLE1BQ0EscUJBQXFCO0FBQUEsUUFDbkIsUUFBUTtBQUFBLFFBQ1IsWUFBWSxDQUFDLEtBQUs7QUFBQSxNQUNwQjtBQUFBLE1BQ0Esc0JBQXNCO0FBQUEsUUFDcEIsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLHdCQUF3QjtBQUFBLFFBQ3RCLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSxzQ0FBc0M7QUFBQSxRQUNwQyxRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0Esc0NBQXNDO0FBQUEsUUFDcEMsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLGlCQUFpQjtBQUFBLFFBQ2YsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLHlCQUF5QjtBQUFBLFFBQ3ZCLFFBQVE7QUFBQSxRQUNSLFlBQVksQ0FBQyxLQUFLO0FBQUEsTUFDcEI7QUFBQSxNQUNBLGtDQUFrQztBQUFBLFFBQ2hDLFFBQVE7QUFBQSxRQUNSLFlBQVksQ0FBQyxLQUFLO0FBQUEsTUFDcEI7QUFBQSxNQUNBLHNCQUFzQjtBQUFBLFFBQ3BCLFFBQVE7QUFBQSxRQUNSLFlBQVksQ0FBQyxNQUFNO0FBQUEsTUFDckI7QUFBQSxNQUNBLGtCQUFrQjtBQUFBLFFBQ2hCLFFBQVE7QUFBQSxRQUNSLFlBQVksQ0FBQyxLQUFLO0FBQUEsTUFDcEI7QUFBQSxNQUNBLHdCQUF3QjtBQUFBLFFBQ3RCLFFBQVE7QUFBQSxRQUNSLFlBQVksQ0FBQyxLQUFLO0FBQUEsTUFDcEI7QUFBQSxNQUNBLGNBQWM7QUFBQSxRQUNaLFFBQVE7QUFBQSxRQUNSLFlBQVksQ0FBQyxNQUFNO0FBQUEsTUFDckI7QUFBQSxNQUNBLGFBQWE7QUFBQSxRQUNYLFFBQVE7QUFBQSxRQUNSLFlBQVksQ0FBQyxLQUFLO0FBQUEsTUFDcEI7QUFBQSxNQUNBLGVBQWU7QUFBQSxRQUNiLFFBQVE7QUFBQSxRQUNSLFlBQVksQ0FBQyxLQUFLO0FBQUEsTUFDcEI7QUFBQSxNQUNBLHFCQUFxQjtBQUFBLFFBQ25CLFlBQVksQ0FBQyxLQUFLO0FBQUEsTUFDcEI7QUFBQSxNQUNBLHNCQUFzQjtBQUFBLFFBQ3BCLFFBQVE7QUFBQSxRQUNSLFlBQVksQ0FBQyxLQUFLO0FBQUEsTUFDcEI7QUFBQSxNQUNBLGVBQWU7QUFBQSxRQUNiLFFBQVE7QUFBQSxRQUNSLFlBQVksQ0FBQyxLQUFLO0FBQUEsTUFDcEI7QUFBQSxNQUNBLGVBQWU7QUFBQSxRQUNiLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSxvQkFBb0I7QUFBQSxRQUNsQixRQUFRO0FBQUEsUUFDUixZQUFZLENBQUMsTUFBTSxPQUFPLE9BQU8sT0FBTyxLQUFLO0FBQUEsTUFDL0M7QUFBQSxNQUNBLGdCQUFnQjtBQUFBLFFBQ2QsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLFFBQ2QsWUFBWSxDQUFDLEtBQUs7QUFBQSxNQUNwQjtBQUFBLE1BQ0EsZUFBZTtBQUFBLFFBQ2IsUUFBUTtBQUFBLFFBQ1IsWUFBWSxDQUFDLEtBQUs7QUFBQSxNQUNwQjtBQUFBLE1BQ0EsdUJBQXVCO0FBQUEsUUFDckIsUUFBUTtBQUFBLFFBQ1IsWUFBWSxDQUFDLEtBQUs7QUFBQSxNQUNwQjtBQUFBLE1BQ0Esa0JBQWtCO0FBQUEsUUFDaEIsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLFFBQ2QsWUFBWSxDQUFDLEtBQUs7QUFBQSxNQUNwQjtBQUFBLE1BQ0EsZUFBZTtBQUFBLFFBQ2IsUUFBUTtBQUFBLFFBQ1IsWUFBWSxDQUFDLEtBQUs7QUFBQSxNQUNwQjtBQUFBLE1BQ0EsZ0JBQWdCO0FBQUEsUUFDZCxRQUFRO0FBQUEsUUFDUixZQUFZLENBQUMsT0FBTyxLQUFLO0FBQUEsTUFDM0I7QUFBQSxNQUNBLDJCQUEyQjtBQUFBLFFBQ3pCLFFBQVE7QUFBQSxRQUNSLFlBQVksQ0FBQyxLQUFLO0FBQUEsTUFDcEI7QUFBQSxNQUNBLDJCQUEyQjtBQUFBLFFBQ3pCLFFBQVE7QUFBQSxRQUNSLFlBQVksQ0FBQyxLQUFLO0FBQUEsTUFDcEI7QUFBQSxNQUNBLDRCQUE0QjtBQUFBLFFBQzFCLFFBQVE7QUFBQSxRQUNSLFlBQVksQ0FBQyxLQUFLO0FBQUEsTUFDcEI7QUFBQSxNQUNBLDJCQUEyQjtBQUFBLFFBQ3pCLFFBQVE7QUFBQSxRQUNSLFlBQVksQ0FBQyxLQUFLO0FBQUEsTUFDcEI7QUFBQSxNQUNBLGVBQWU7QUFBQSxRQUNiLFFBQVE7QUFBQSxRQUNSLFlBQVksQ0FBQyxLQUFLO0FBQUEsTUFDcEI7QUFBQSxNQUNBLGVBQWU7QUFBQSxRQUNiLFFBQVE7QUFBQSxRQUNSLFlBQVksQ0FBQyxLQUFLO0FBQUEsTUFDcEI7QUFBQSxNQUNBLGVBQWU7QUFBQSxRQUNiLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSxtQkFBbUI7QUFBQSxRQUNqQixRQUFRO0FBQUEsUUFDUixZQUFZLENBQUMsS0FBSztBQUFBLE1BQ3BCO0FBQUEsTUFDQSxlQUFlO0FBQUEsUUFDYixjQUFjO0FBQUEsTUFDaEI7QUFBQSxNQUNBLG1CQUFtQjtBQUFBLFFBQ2pCLFFBQVE7QUFBQSxRQUNSLFlBQVksQ0FBQyxLQUFLO0FBQUEsTUFDcEI7QUFBQSxNQUNBLHVCQUF1QjtBQUFBLFFBQ3JCLFFBQVE7QUFBQSxRQUNSLFlBQVksQ0FBQyxLQUFLO0FBQUEsTUFDcEI7QUFBQSxNQUNBLGlCQUFpQjtBQUFBLFFBQ2YsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLGdCQUFnQjtBQUFBLFFBQ2QsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLDJCQUEyQjtBQUFBLFFBQ3pCLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSxvQ0FBb0M7QUFBQSxRQUNsQyxRQUFRO0FBQUEsUUFDUixZQUFZO0FBQUEsVUFDVjtBQUFBLFFBQ0Y7QUFBQSxNQUNGO0FBQUEsTUFDQSx5QkFBeUI7QUFBQSxRQUN2QixRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0EsMkJBQTJCO0FBQUEsUUFDekIsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLGtCQUFrQjtBQUFBLFFBQ2hCLFFBQVE7QUFBQSxRQUNSLFlBQVksQ0FBQyxPQUFPO0FBQUEsTUFDdEI7QUFBQSxNQUNBLGtDQUFrQztBQUFBLFFBQ2hDLFFBQVE7QUFBQSxRQUNSLFlBQVksQ0FBQyxPQUFPO0FBQUEsTUFDdEI7QUFBQSxNQUNBLDJDQUEyQztBQUFBLFFBQ3pDLFFBQVE7QUFBQSxRQUNSLFlBQVksQ0FBQyxPQUFPO0FBQUEsTUFDdEI7QUFBQSxNQUNBLDBCQUEwQjtBQUFBLFFBQ3hCLFFBQVE7QUFBQSxRQUNSLFlBQVksQ0FBQyxPQUFPO0FBQUEsTUFDdEI7QUFBQSxNQUNBLGdCQUFnQjtBQUFBLFFBQ2QsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLE1BQ2hCO0FBQUEsTUFDQSxvQkFBb0I7QUFBQSxRQUNsQixRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsTUFDaEI7QUFBQSxNQUNBLGVBQWU7QUFBQSxRQUNiLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSxnQkFBZ0I7QUFBQSxRQUNkLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSxxQkFBcUI7QUFBQSxRQUNuQixRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0EscUJBQXFCO0FBQUEsUUFDbkIsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLG1CQUFtQjtBQUFBLFFBQ2pCLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxNQUNoQjtBQUFBLE1BQ0Esa0JBQWtCO0FBQUEsUUFDaEIsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLFFBQ2QsWUFBWSxDQUFDLE9BQU8sUUFBUSxPQUFPLE9BQU87QUFBQSxNQUM1QztBQUFBLE1BQ0Esa0JBQWtCO0FBQUEsUUFDaEIsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLGVBQWU7QUFBQSxRQUNiLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSxtQkFBbUI7QUFBQSxRQUNqQixRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0EsMkJBQTJCO0FBQUEsUUFDekIsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLHVCQUF1QjtBQUFBLFFBQ3JCLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSx1QkFBdUI7QUFBQSxRQUNyQixRQUFRO0FBQUEsUUFDUixZQUFZLENBQUMsS0FBSztBQUFBLE1BQ3BCO0FBQUEsTUFDQSxhQUFhO0FBQUEsUUFDWCxRQUFRO0FBQUEsUUFDUixZQUFZLENBQUMsS0FBSztBQUFBLE1BQ3BCO0FBQUEsTUFDQSxhQUFhO0FBQUEsUUFDWCxRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0EsbUJBQW1CO0FBQUEsUUFDakIsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLFFBQ2QsWUFBWSxDQUFDLE1BQU07QUFBQSxNQUNyQjtBQUFBLE1BQ0EscUJBQXFCO0FBQUEsUUFDbkIsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLFFBQ2QsWUFBWSxDQUFDLEtBQUs7QUFBQSxNQUNwQjtBQUFBLE1BQ0EsY0FBYztBQUFBLFFBQ1osUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLFFBQ2QsWUFBWSxDQUFDLE9BQU8sTUFBTTtBQUFBLE1BQzVCO0FBQUEsTUFDQSxZQUFZO0FBQUEsUUFDVixRQUFRO0FBQUEsUUFDUixZQUFZLENBQUMsSUFBSTtBQUFBLE1BQ25CO0FBQUEsTUFDQSxjQUFjO0FBQUEsUUFDWixRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsUUFDZCxZQUFZLENBQUMsT0FBTyxRQUFRLE1BQU07QUFBQSxNQUNwQztBQUFBLE1BQ0EsYUFBYTtBQUFBLFFBQ1gsUUFBUTtBQUFBLFFBQ1IsWUFBWSxDQUFDLEtBQUs7QUFBQSxNQUNwQjtBQUFBLE1BQ0EsYUFBYTtBQUFBLFFBQ1gsUUFBUTtBQUFBLFFBQ1IsWUFBWSxDQUFDLEtBQUs7QUFBQSxNQUNwQjtBQUFBLE1BQ0EsYUFBYTtBQUFBLFFBQ1gsUUFBUTtBQUFBLFFBQ1IsWUFBWSxDQUFDLEtBQUs7QUFBQSxNQUNwQjtBQUFBLE1BQ0EsY0FBYztBQUFBLFFBQ1osUUFBUTtBQUFBLFFBQ1IsWUFBWSxDQUFDLFFBQVEsT0FBTyxTQUFTLE9BQU8sS0FBSztBQUFBLE1BQ25EO0FBQUEsTUFDQSxrQkFBa0I7QUFBQSxRQUNoQixRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsUUFDZCxZQUFZLENBQUMsTUFBTTtBQUFBLE1BQ3JCO0FBQUEsTUFDQSxrQkFBa0I7QUFBQSxRQUNoQixRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsUUFDZCxZQUFZLENBQUMsTUFBTTtBQUFBLE1BQ3JCO0FBQUEsTUFDQSxzQkFBc0I7QUFBQSxRQUNwQixRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsUUFDZCxZQUFZLENBQUMsT0FBTztBQUFBLE1BQ3RCO0FBQUEsTUFDQSxhQUFhO0FBQUEsUUFDWCxRQUFRO0FBQUEsUUFDUixZQUFZLENBQUMsS0FBSztBQUFBLE1BQ3BCO0FBQUEsTUFDQSxhQUFhO0FBQUEsUUFDWCxRQUFRO0FBQUEsUUFDUixZQUFZLENBQUMsS0FBSztBQUFBLE1BQ3BCO0FBQUEsTUFDQSxrQkFBa0I7QUFBQSxRQUNoQixRQUFRO0FBQUEsUUFDUixZQUFZLENBQUMsTUFBTTtBQUFBLE1BQ3JCO0FBQUEsTUFDQSxpQkFBaUI7QUFBQSxRQUNmLFFBQVE7QUFBQSxRQUNSLFlBQVksQ0FBQyxLQUFLO0FBQUEsTUFDcEI7QUFBQSxNQUNBLHlCQUF5QjtBQUFBLFFBQ3ZCLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxRQUNkLFlBQVksQ0FBQyxLQUFLO0FBQUEsTUFDcEI7QUFBQSxNQUNBLGlCQUFpQjtBQUFBLFFBQ2YsUUFBUTtBQUFBLFFBQ1IsWUFBWSxDQUFDLEtBQUs7QUFBQSxNQUNwQjtBQUFBLE1BQ0EsMkJBQTJCO0FBQUEsUUFDekIsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLGlCQUFpQjtBQUFBLFFBQ2YsUUFBUTtBQUFBLFFBQ1IsWUFBWSxDQUFDLEtBQUs7QUFBQSxNQUNwQjtBQUFBLE1BQ0Esb0JBQW9CO0FBQUEsUUFDbEIsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLG9CQUFvQjtBQUFBLFFBQ2xCLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSxpQkFBaUI7QUFBQSxRQUNmLFFBQVE7QUFBQSxRQUNSLFlBQVksQ0FBQyxLQUFLO0FBQUEsTUFDcEI7QUFBQSxNQUNBLHNCQUFzQjtBQUFBLFFBQ3BCLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxNQUNoQjtBQUFBLE1BQ0EsaUJBQWlCO0FBQUEsUUFDZixRQUFRO0FBQUEsUUFDUixZQUFZLENBQUMsS0FBSztBQUFBLE1BQ3BCO0FBQUEsTUFDQSxxQkFBcUI7QUFBQSxRQUNuQixRQUFRO0FBQUEsUUFDUixZQUFZLENBQUMsTUFBTTtBQUFBLE1BQ3JCO0FBQUEsTUFDQSx1Q0FBdUM7QUFBQSxRQUNyQyxRQUFRO0FBQUEsUUFDUixZQUFZLENBQUMsS0FBSztBQUFBLE1BQ3BCO0FBQUEsTUFDQSxxQ0FBcUM7QUFBQSxRQUNuQyxRQUFRO0FBQUEsUUFDUixZQUFZLENBQUMsS0FBSztBQUFBLE1BQ3BCO0FBQUEsTUFDQSx3QkFBd0I7QUFBQSxRQUN0QixRQUFRO0FBQUEsUUFDUixZQUFZLENBQUMsT0FBTyxNQUFNO0FBQUEsTUFDNUI7QUFBQSxNQUNBLDBDQUEwQztBQUFBLFFBQ3hDLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSxxQkFBcUI7QUFBQSxRQUNuQixRQUFRO0FBQUEsUUFDUixZQUFZLENBQUMsS0FBSztBQUFBLE1BQ3BCO0FBQUEsTUFDQSxrQkFBa0I7QUFBQSxRQUNoQixRQUFRO0FBQUEsUUFDUixZQUFZLENBQUMsTUFBTTtBQUFBLE1BQ3JCO0FBQUEsTUFDQSxzQkFBc0I7QUFBQSxRQUNwQixRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsUUFDZCxZQUFZLENBQUMsTUFBTTtBQUFBLE1BQ3JCO0FBQUEsTUFDQSx1Q0FBdUM7QUFBQSxRQUNyQyxRQUFRO0FBQUEsUUFDUixZQUFZLENBQUMsS0FBSztBQUFBLE1BQ3BCO0FBQUEsTUFDQSxpQkFBaUI7QUFBQSxRQUNmLFFBQVE7QUFBQSxRQUNSLFlBQVksQ0FBQyxLQUFLO0FBQUEsTUFDcEI7QUFBQSxNQUNBLGNBQWM7QUFBQSxRQUNaLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxRQUNkLFlBQVksQ0FBQyxPQUFPLE1BQU07QUFBQSxNQUM1QjtBQUFBLE1BQ0Esb0JBQW9CO0FBQUEsUUFDbEIsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLFFBQ2QsWUFBWSxDQUFDLFFBQVEsT0FBTztBQUFBLE1BQzlCO0FBQUEsTUFDQSx5QkFBeUI7QUFBQSxRQUN2QixRQUFRO0FBQUEsUUFDUixZQUFZLENBQUMsTUFBTTtBQUFBLE1BQ3JCO0FBQUEsTUFDQSxrQkFBa0I7QUFBQSxRQUNoQixRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsUUFDZCxZQUFZLENBQUMsUUFBUSxPQUFPO0FBQUEsTUFDOUI7QUFBQSxNQUNBLGlCQUFpQjtBQUFBLFFBQ2YsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLFFBQ2QsWUFBWSxDQUFDLE9BQU8sTUFBTTtBQUFBLE1BQzVCO0FBQUEsTUFDQSxrQkFBa0I7QUFBQSxRQUNoQixRQUFRO0FBQUEsUUFDUixZQUFZLENBQUMsTUFBTTtBQUFBLE1BQ3JCO0FBQUEsTUFDQSx5QkFBeUI7QUFBQSxRQUN2QixRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsTUFDaEI7QUFBQSxNQUNBLHlCQUF5QjtBQUFBLFFBQ3ZCLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSx3QkFBd0I7QUFBQSxRQUN0QixRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0Esb0JBQW9CO0FBQUEsUUFDbEIsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLHVCQUF1QjtBQUFBLFFBQ3JCLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxNQUNoQjtBQUFBLE1BQ0EsdUJBQXVCO0FBQUEsUUFDckIsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLE1BQ2hCO0FBQUEsTUFDQSx3QkFBd0I7QUFBQSxRQUN0QixRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0EsbUJBQW1CO0FBQUEsUUFDakIsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLDBCQUEwQjtBQUFBLFFBQ3hCLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSxzQkFBc0I7QUFBQSxRQUNwQixRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0EscUJBQXFCO0FBQUEsUUFDbkIsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLE1BQ2hCO0FBQUEsTUFDQSxvQkFBb0I7QUFBQSxRQUNsQixRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0Esb0JBQW9CO0FBQUEsUUFDbEIsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLE1BQ2hCO0FBQUEsTUFDQSwrQkFBK0I7QUFBQSxRQUM3QixRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0EsMkJBQTJCO0FBQUEsUUFDekIsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLDZCQUE2QjtBQUFBLFFBQzNCLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSxpQ0FBaUM7QUFBQSxRQUMvQixRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0EsdUJBQXVCO0FBQUEsUUFDckIsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLFFBQ2QsWUFBWSxDQUFDLFlBQVksVUFBVTtBQUFBLE1BQ3JDO0FBQUEsTUFDQSxpQkFBaUI7QUFBQSxRQUNmLFFBQVE7QUFBQSxRQUNSLFlBQVksQ0FBQyxPQUFPLEtBQUs7QUFBQSxNQUMzQjtBQUFBLE1BQ0EsaUJBQWlCO0FBQUEsUUFDZixjQUFjO0FBQUEsTUFDaEI7QUFBQSxNQUNBLFlBQVk7QUFBQSxRQUNWLGNBQWM7QUFBQSxNQUNoQjtBQUFBLE1BQ0EscUJBQXFCO0FBQUEsUUFDbkIsWUFBWSxDQUFDLFVBQVUsV0FBVztBQUFBLE1BQ3BDO0FBQUEsTUFDQSxZQUFZO0FBQUEsUUFDVixRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0EsdUJBQXVCO0FBQUEsUUFDckIsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLHVCQUF1QjtBQUFBLFFBQ3JCLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSxZQUFZO0FBQUEsUUFDVixRQUFRO0FBQUEsUUFDUixTQUFTO0FBQUEsUUFDVCxjQUFjO0FBQUEsUUFDZCxZQUFZLENBQUMsS0FBSztBQUFBLE1BQ3BCO0FBQUEsTUFDQSxZQUFZO0FBQUEsUUFDVixRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsUUFDZCxZQUFZLENBQUMsS0FBSztBQUFBLE1BQ3BCO0FBQUEsTUFDQSxtQkFBbUI7QUFBQSxRQUNqQixRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0Esa0JBQWtCO0FBQUEsUUFDaEIsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLFlBQVk7QUFBQSxRQUNWLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSxtQkFBbUI7QUFBQSxRQUNqQixRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0EsaUJBQWlCO0FBQUEsUUFDZixRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0EsaUJBQWlCO0FBQUEsUUFDZixRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0EsaUJBQWlCO0FBQUEsUUFDZixRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0EsZ0JBQWdCO0FBQUEsUUFDZCxRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0EsZUFBZTtBQUFBLFFBQ2IsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLGFBQWE7QUFBQSxRQUNYLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSx5QkFBeUI7QUFBQSxRQUN2QixRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0EsY0FBYztBQUFBLFFBQ1osUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLGFBQWE7QUFBQSxRQUNYLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxRQUNkLFlBQVksQ0FBQyxRQUFRLE9BQU8sT0FBTztBQUFBLE1BQ3JDO0FBQUEsTUFDQSxhQUFhO0FBQUEsUUFDWCxZQUFZLENBQUMsTUFBTTtBQUFBLE1BQ3JCO0FBQUEsTUFDQSxtQkFBbUI7QUFBQSxRQUNqQixRQUFRO0FBQUEsUUFDUixTQUFTO0FBQUEsUUFDVCxjQUFjO0FBQUEsUUFDZCxZQUFZLENBQUMsTUFBTSxLQUFLO0FBQUEsTUFDMUI7QUFBQSxNQUNBLGdCQUFnQjtBQUFBLFFBQ2QsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLFlBQVk7QUFBQSxRQUNWLGNBQWM7QUFBQSxRQUNkLFlBQVksQ0FBQyxLQUFLO0FBQUEsTUFDcEI7QUFBQSxNQUNBLGFBQWE7QUFBQSxRQUNYLGNBQWM7QUFBQSxRQUNkLFlBQVksQ0FBQyxNQUFNO0FBQUEsTUFDckI7QUFBQSxNQUNBLGlCQUFpQjtBQUFBLFFBQ2YsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLFFBQ2QsWUFBWSxDQUFDLE1BQU0sVUFBVTtBQUFBLE1BQy9CO0FBQUEsTUFDQSxlQUFlO0FBQUEsUUFDYixRQUFRO0FBQUEsUUFDUixZQUFZLENBQUMsS0FBSztBQUFBLE1BQ3BCO0FBQUEsTUFDQSxZQUFZO0FBQUEsUUFDVixjQUFjO0FBQUEsUUFDZCxZQUFZLENBQUMsS0FBSztBQUFBLE1BQ3BCO0FBQUEsTUFDQSxjQUFjO0FBQUEsUUFDWixRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0EsV0FBVztBQUFBLFFBQ1QsUUFBUTtBQUFBLFFBQ1IsU0FBUztBQUFBLFFBQ1QsY0FBYztBQUFBLFFBQ2QsWUFBWSxDQUFDLElBQUk7QUFBQSxNQUNuQjtBQUFBLE1BQ0EsbUJBQW1CO0FBQUEsUUFDakIsUUFBUTtBQUFBLFFBQ1IsU0FBUztBQUFBLE1BQ1g7QUFBQSxNQUNBLGtCQUFrQjtBQUFBLFFBQ2hCLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSxjQUFjO0FBQUEsUUFDWixRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsUUFDZCxZQUFZLENBQUMsT0FBTyxRQUFRLFFBQVEsT0FBTyxRQUFRLE9BQU8sTUFBTSxLQUFLO0FBQUEsTUFDdkU7QUFBQSxNQUNBLDRCQUE0QjtBQUFBLFFBQzFCLFFBQVE7QUFBQSxRQUNSLFNBQVM7QUFBQSxNQUNYO0FBQUEsTUFDQSw0QkFBNEI7QUFBQSxRQUMxQixRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0Esc0JBQXNCO0FBQUEsUUFDcEIsUUFBUTtBQUFBLFFBQ1IsWUFBWSxDQUFDLEtBQUs7QUFBQSxNQUNwQjtBQUFBLE1BQ0EsdUJBQXVCO0FBQUEsUUFDckIsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLGlCQUFpQjtBQUFBLFFBQ2YsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLGtCQUFrQjtBQUFBLFFBQ2hCLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSxZQUFZO0FBQUEsUUFDVixRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0EsdUJBQXVCO0FBQUEsUUFDckIsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLGlCQUFpQjtBQUFBLFFBQ2YsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLFFBQ2QsWUFBWSxDQUFDLEtBQUs7QUFBQSxNQUNwQjtBQUFBLE1BQ0EsWUFBWTtBQUFBLFFBQ1YsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLFFBQ2QsWUFBWSxDQUFDLEtBQUs7QUFBQSxNQUNwQjtBQUFBLE1BQ0EseUJBQXlCO0FBQUEsUUFDdkIsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLG9CQUFvQjtBQUFBLFFBQ2xCLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSxZQUFZO0FBQUEsUUFDVixRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0EsYUFBYTtBQUFBLFFBQ1gsUUFBUTtBQUFBLFFBQ1IsWUFBWSxDQUFDLFFBQVEsS0FBSztBQUFBLE1BQzVCO0FBQUEsTUFDQSxlQUFlO0FBQUEsUUFDYixRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0EsYUFBYTtBQUFBLFFBQ1gsUUFBUTtBQUFBLFFBQ1IsWUFBWSxDQUFDLE1BQU07QUFBQSxNQUNyQjtBQUFBLE1BQ0EsYUFBYTtBQUFBLFFBQ1gsWUFBWSxDQUFDLFFBQVEsS0FBSztBQUFBLE1BQzVCO0FBQUEsTUFDQSxhQUFhO0FBQUEsUUFDWCxRQUFRO0FBQUEsUUFDUixZQUFZLENBQUMsTUFBTTtBQUFBLE1BQ3JCO0FBQUEsTUFDQSxnQkFBZ0I7QUFBQSxRQUNkLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSxlQUFlO0FBQUEsUUFDYixZQUFZLENBQUMsVUFBVSxNQUFNO0FBQUEsTUFDL0I7QUFBQSxNQUNBLGFBQWE7QUFBQSxRQUNYLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSw2QkFBNkI7QUFBQSxRQUMzQixRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsUUFDZCxZQUFZLENBQUMsS0FBSztBQUFBLE1BQ3BCO0FBQUEsTUFDQSxjQUFjO0FBQUEsUUFDWixRQUFRO0FBQUEsUUFDUixZQUFZLENBQUMsS0FBSyxNQUFNLFFBQVEsT0FBTyxNQUFNLElBQUk7QUFBQSxNQUNuRDtBQUFBLE1BQ0EsZUFBZTtBQUFBLFFBQ2IsUUFBUTtBQUFBLFFBQ1IsU0FBUztBQUFBLFFBQ1QsWUFBWSxDQUFDLEtBQUs7QUFBQSxNQUNwQjtBQUFBLE1BQ0EsZUFBZTtBQUFBLFFBQ2IsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLGlCQUFpQjtBQUFBLFFBQ2YsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLFFBQ2QsWUFBWSxDQUFDLE9BQU8sUUFBUSxNQUFNO0FBQUEsTUFDcEM7QUFBQSxNQUNBLGNBQWM7QUFBQSxRQUNaLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxRQUNkLFlBQVksQ0FBQyxPQUFPO0FBQUEsTUFDdEI7QUFBQSxNQUNBLGNBQWM7QUFBQSxRQUNaLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSxnQkFBZ0I7QUFBQSxRQUNkLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSxzQkFBc0I7QUFBQSxRQUNwQixRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0EsaUJBQWlCO0FBQUEsUUFDZixRQUFRO0FBQUEsUUFDUixZQUFZLENBQUMsTUFBTTtBQUFBLE1BQ3JCO0FBQUEsTUFDQSx1QkFBdUI7QUFBQSxRQUNyQixRQUFRO0FBQUEsUUFDUixZQUFZLENBQUMsT0FBTztBQUFBLE1BQ3RCO0FBQUEsTUFDQSx1QkFBdUI7QUFBQSxRQUNyQixRQUFRO0FBQUEsUUFDUixZQUFZLENBQUMsT0FBTztBQUFBLE1BQ3RCO0FBQUEsTUFDQSx1QkFBdUI7QUFBQSxRQUNyQixRQUFRO0FBQUEsUUFDUixZQUFZLENBQUMsT0FBTztBQUFBLE1BQ3RCO0FBQUEsTUFDQSw2QkFBNkI7QUFBQSxRQUMzQixRQUFRO0FBQUEsUUFDUixTQUFTO0FBQUEsTUFDWDtBQUFBLE1BQ0EsMkJBQTJCO0FBQUEsUUFDekIsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLHlCQUF5QjtBQUFBLFFBQ3ZCLFFBQVE7QUFBQSxRQUNSLFlBQVksQ0FBQyxLQUFLO0FBQUEsTUFDcEI7QUFBQSxNQUNBLHNDQUFzQztBQUFBLFFBQ3BDLFFBQVE7QUFBQSxRQUNSLFNBQVM7QUFBQSxNQUNYO0FBQUEsTUFDQSx5QkFBeUI7QUFBQSxRQUN2QixRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0EsZ0NBQWdDO0FBQUEsUUFDOUIsUUFBUTtBQUFBLFFBQ1IsWUFBWSxDQUFDLEtBQUs7QUFBQSxNQUNwQjtBQUFBLE1BQ0EsdUJBQXVCO0FBQUEsUUFDckIsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLGdCQUFnQjtBQUFBLFFBQ2QsUUFBUTtBQUFBLFFBQ1IsWUFBWSxDQUFDLEtBQUs7QUFBQSxNQUNwQjtBQUFBLE1BQ0EseUJBQXlCO0FBQUEsUUFDdkIsUUFBUTtBQUFBLFFBQ1IsWUFBWSxDQUFDLEtBQUs7QUFBQSxNQUNwQjtBQUFBLE1BQ0EsZ0JBQWdCO0FBQUEsUUFDZCxRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0EscUJBQXFCO0FBQUEsUUFDbkIsUUFBUTtBQUFBLFFBQ1IsWUFBWSxDQUFDLElBQUk7QUFBQSxNQUNuQjtBQUFBLE1BQ0EsaUJBQWlCO0FBQUEsUUFDZixRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0EsZ0JBQWdCO0FBQUEsUUFDZCxRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0Esc0JBQXNCO0FBQUEsUUFDcEIsUUFBUTtBQUFBLFFBQ1IsWUFBWSxDQUFDLE1BQU07QUFBQSxNQUNyQjtBQUFBLE1BQ0Esc0JBQXNCO0FBQUEsUUFDcEIsUUFBUTtBQUFBLFFBQ1IsWUFBWSxDQUFDLE1BQU07QUFBQSxNQUNyQjtBQUFBLE1BQ0Esd0JBQXdCO0FBQUEsUUFDdEIsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLHNCQUFzQjtBQUFBLFFBQ3BCLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSxvQkFBb0I7QUFBQSxRQUNsQixRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0EsNEJBQTRCO0FBQUEsUUFDMUIsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLDRCQUE0QjtBQUFBLFFBQzFCLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSx5Q0FBeUM7QUFBQSxRQUN2QyxRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0Esc0NBQXNDO0FBQUEsUUFDcEMsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLDRCQUE0QjtBQUFBLFFBQzFCLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSw0QkFBNEI7QUFBQSxRQUMxQixRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0EsaUJBQWlCO0FBQUEsUUFDZixRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0Esb0NBQW9DO0FBQUEsUUFDbEMsUUFBUTtBQUFBLFFBQ1IsU0FBUztBQUFBLFFBQ1QsWUFBWSxDQUFDLEtBQUs7QUFBQSxNQUNwQjtBQUFBLE1BQ0EsK0JBQStCO0FBQUEsUUFDN0IsUUFBUTtBQUFBLFFBQ1IsU0FBUztBQUFBLE1BQ1g7QUFBQSxNQUNBLGdCQUFnQjtBQUFBLFFBQ2QsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLG1CQUFtQjtBQUFBLFFBQ2pCLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSxtQkFBbUI7QUFBQSxRQUNqQixRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0Esb0JBQW9CO0FBQUEsUUFDbEIsUUFBUTtBQUFBLFFBQ1IsWUFBWSxDQUFDLEtBQUs7QUFBQSxNQUNwQjtBQUFBLE1BQ0EsMEJBQTBCO0FBQUEsUUFDeEIsUUFBUTtBQUFBLFFBQ1IsWUFBWSxDQUFDLE1BQU07QUFBQSxNQUNyQjtBQUFBLE1BQ0Esb0JBQW9CO0FBQUEsUUFDbEIsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLFlBQVk7QUFBQSxRQUNWLFFBQVE7QUFBQSxRQUNSLFNBQVM7QUFBQSxRQUNULGNBQWM7QUFBQSxRQUNkLFlBQVksQ0FBQyxLQUFLO0FBQUEsTUFDcEI7QUFBQSxNQUNBLGFBQWE7QUFBQSxRQUNYLFFBQVE7QUFBQSxRQUNSLFlBQVksQ0FBQyxNQUFNO0FBQUEsTUFDckI7QUFBQSxNQUNBLGNBQWM7QUFBQSxRQUNaLFFBQVE7QUFBQSxRQUNSLFlBQVksQ0FBQyxLQUFLLEtBQUs7QUFBQSxNQUN6QjtBQUFBLE1BQ0EsWUFBWTtBQUFBLFFBQ1YsUUFBUTtBQUFBLFFBQ1IsWUFBWSxDQUFDLEtBQUssTUFBTSxPQUFPLE9BQU8sS0FBSyxNQUFNLEtBQUs7QUFBQSxNQUN4RDtBQUFBLE1BQ0Esb0JBQW9CO0FBQUEsUUFDbEIsUUFBUTtBQUFBLFFBQ1IsWUFBWSxDQUFDLEtBQUs7QUFBQSxNQUNwQjtBQUFBLE1BQ0Esa0JBQWtCO0FBQUEsUUFDaEIsUUFBUTtBQUFBLFFBQ1IsWUFBWSxDQUFDLEtBQUssT0FBTyxPQUFPLEtBQUs7QUFBQSxNQUN2QztBQUFBLE1BQ0Esa0JBQWtCO0FBQUEsUUFDaEIsY0FBYztBQUFBLE1BQ2hCO0FBQUEsTUFDQSw4QkFBOEI7QUFBQSxRQUM1QixZQUFZLENBQUMsS0FBSztBQUFBLE1BQ3BCO0FBQUEsTUFDQSxzQkFBc0I7QUFBQSxRQUNwQixRQUFRO0FBQUEsUUFDUixZQUFZLENBQUMsTUFBTTtBQUFBLE1BQ3JCO0FBQUEsTUFDQSxzQkFBc0I7QUFBQSxRQUNwQixjQUFjO0FBQUEsTUFDaEI7QUFBQSxNQUNBLGNBQWM7QUFBQSxRQUNaLFlBQVksQ0FBQyxLQUFLO0FBQUEsTUFDcEI7QUFBQSxNQUNBLG1CQUFtQjtBQUFBLFFBQ2pCLGNBQWM7QUFBQSxRQUNkLFlBQVksQ0FBQyxLQUFLO0FBQUEsTUFDcEI7QUFBQSxNQUNBLGNBQWM7QUFBQSxRQUNaLFFBQVE7QUFBQSxRQUNSLFlBQVksQ0FBQyxLQUFLO0FBQUEsTUFDcEI7QUFBQSxNQUNBLGVBQWU7QUFBQSxRQUNiLFFBQVE7QUFBQSxRQUNSLFlBQVksQ0FBQyxNQUFNO0FBQUEsTUFDckI7QUFBQSxNQUNBLGNBQWM7QUFBQSxRQUNaLGNBQWM7QUFBQSxRQUNkLFlBQVksQ0FBQyxLQUFLO0FBQUEsTUFDcEI7QUFBQSxNQUNBLGlCQUFpQjtBQUFBLFFBQ2YsUUFBUTtBQUFBLFFBQ1IsWUFBWSxDQUFDLEtBQUssS0FBSztBQUFBLE1BQ3pCO0FBQUEsTUFDQSxxQkFBcUI7QUFBQSxRQUNuQixjQUFjO0FBQUEsUUFDZCxZQUFZLENBQUMsS0FBSztBQUFBLE1BQ3BCO0FBQUEsTUFDQSxlQUFlO0FBQUEsUUFDYixZQUFZLENBQUMsTUFBTTtBQUFBLE1BQ3JCO0FBQUEsTUFDQSxlQUFlO0FBQUEsUUFDYixZQUFZLENBQUMsTUFBTTtBQUFBLE1BQ3JCO0FBQUEsTUFDQSxpQkFBaUI7QUFBQSxRQUNmLFFBQVE7QUFBQSxRQUNSLFlBQVksQ0FBQyxLQUFLO0FBQUEsTUFDcEI7QUFBQSxNQUNBLGNBQWM7QUFBQSxRQUNaLFFBQVE7QUFBQSxRQUNSLFlBQVksQ0FBQyxLQUFLO0FBQUEsTUFDcEI7QUFBQSxNQUNBLG1CQUFtQjtBQUFBLFFBQ2pCLGNBQWM7QUFBQSxRQUNkLFlBQVksQ0FBQyxLQUFLO0FBQUEsTUFDcEI7QUFBQSxNQUNBLG1CQUFtQjtBQUFBLFFBQ2pCLFFBQVE7QUFBQSxRQUNSLFlBQVksQ0FBQyxJQUFJO0FBQUEsTUFDbkI7QUFBQSxNQUNBLG9CQUFvQjtBQUFBLFFBQ2xCLFFBQVE7QUFBQSxRQUNSLFlBQVksQ0FBQyxLQUFLO0FBQUEsTUFDcEI7QUFBQSxNQUNBLGdCQUFnQjtBQUFBLFFBQ2QsUUFBUTtBQUFBLFFBQ1IsWUFBWSxDQUFDLEtBQUs7QUFBQSxNQUNwQjtBQUFBLE1BQ0EsWUFBWTtBQUFBLFFBQ1YsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLFFBQ2QsWUFBWSxDQUFDLEtBQUs7QUFBQSxNQUNwQjtBQUFBLE1BQ0EsbUNBQW1DO0FBQUEsUUFDakMsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLGFBQWE7QUFBQSxRQUNYLGNBQWM7QUFBQSxRQUNkLFlBQVksQ0FBQyxRQUFRLEtBQUs7QUFBQSxNQUM1QjtBQUFBLE1BQ0Esa0NBQWtDO0FBQUEsUUFDaEMsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLGNBQWM7QUFBQSxRQUNaLFFBQVE7QUFBQSxRQUNSLFlBQVksQ0FBQyxPQUFPLE1BQU07QUFBQSxNQUM1QjtBQUFBLE1BQ0EsaUJBQWlCO0FBQUEsUUFDZixRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0EsZUFBZTtBQUFBLFFBQ2IsUUFBUTtBQUFBLFFBQ1IsWUFBWSxDQUFDLEtBQUs7QUFBQSxNQUNwQjtBQUFBLE1BQ0EsYUFBYTtBQUFBLFFBQ1gsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLGVBQWU7QUFBQSxRQUNiLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSxlQUFlO0FBQUEsUUFDYixRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0EsY0FBYztBQUFBLFFBQ1osUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLFlBQVk7QUFBQSxRQUNWLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSxrQkFBa0I7QUFBQSxRQUNoQixRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0EsYUFBYTtBQUFBLFFBQ1gsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLGNBQWM7QUFBQSxRQUNaLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSxpQkFBaUI7QUFBQSxRQUNmLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSxjQUFjO0FBQUEsUUFDWixRQUFRO0FBQUEsUUFDUixZQUFZLENBQUMsTUFBTTtBQUFBLE1BQ3JCO0FBQUEsTUFDQSxjQUFjO0FBQUEsUUFDWixRQUFRO0FBQUEsUUFDUixZQUFZLENBQUMsTUFBTTtBQUFBLE1BQ3JCO0FBQUEsTUFDQSxtQkFBbUI7QUFBQSxRQUNqQixRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0EsbUJBQW1CO0FBQUEsUUFDakIsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLGNBQWM7QUFBQSxRQUNaLFFBQVE7QUFBQSxRQUNSLFlBQVksQ0FBQyxNQUFNO0FBQUEsTUFDckI7QUFBQSxNQUNBLG1CQUFtQjtBQUFBLFFBQ2pCLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSxrQkFBa0I7QUFBQSxRQUNoQixRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0EsY0FBYztBQUFBLFFBQ1osUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLGNBQWM7QUFBQSxRQUNaLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSxxQkFBcUI7QUFBQSxRQUNuQixRQUFRO0FBQUEsUUFDUixZQUFZLENBQUMsS0FBSztBQUFBLE1BQ3BCO0FBQUEsTUFDQSxjQUFjO0FBQUEsUUFDWixRQUFRO0FBQUEsUUFDUixZQUFZLENBQUMsTUFBTTtBQUFBLE1BQ3JCO0FBQUEsTUFDQSxrQkFBa0I7QUFBQSxRQUNoQixRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0EsYUFBYTtBQUFBLFFBQ1gsUUFBUTtBQUFBLFFBQ1IsWUFBWSxDQUFDLE9BQU8sTUFBTTtBQUFBLE1BQzVCO0FBQUEsTUFDQSxjQUFjO0FBQUEsUUFDWixRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0EscUJBQXFCO0FBQUEsUUFDbkIsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLE1BQ2hCO0FBQUEsTUFDQSxrQkFBa0I7QUFBQSxRQUNoQixRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0EscUJBQXFCO0FBQUEsUUFDbkIsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLGFBQWE7QUFBQSxRQUNYLFFBQVE7QUFBQSxRQUNSLFlBQVksQ0FBQyxPQUFPLE1BQU07QUFBQSxNQUM1QjtBQUFBLE1BQ0EsY0FBYztBQUFBLFFBQ1osUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLGNBQWM7QUFBQSxRQUNaLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSxjQUFjO0FBQUEsUUFDWixRQUFRO0FBQUEsUUFDUixZQUFZLENBQUMsTUFBTSxPQUFPLFFBQVEsS0FBSztBQUFBLE1BQ3pDO0FBQUEsTUFDQSxhQUFhO0FBQUEsUUFDWCxRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsUUFDZCxZQUFZLENBQUMsT0FBTyxRQUFRLE1BQU07QUFBQSxNQUNwQztBQUFBLE1BQ0EsaUJBQWlCO0FBQUEsUUFDZixRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0EsY0FBYztBQUFBLFFBQ1osUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLFFBQ2QsWUFBWSxDQUFDLFFBQVEsT0FBTyxPQUFPLE9BQU8sS0FBSztBQUFBLE1BQ2pEO0FBQUEsTUFDQSx1QkFBdUI7QUFBQSxRQUNyQixRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0EsYUFBYTtBQUFBLFFBQ1gsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLFlBQVk7QUFBQSxRQUNWLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSxhQUFhO0FBQUEsUUFDWCxRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsUUFDZCxZQUFZLENBQUMsS0FBSztBQUFBLE1BQ3BCO0FBQUEsTUFDQSxtQkFBbUI7QUFBQSxRQUNqQixRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0EsaUJBQWlCO0FBQUEsUUFDZixRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0EsbUJBQW1CO0FBQUEsUUFDakIsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLFFBQ2QsWUFBWSxDQUFDLE1BQU0sS0FBSztBQUFBLE1BQzFCO0FBQUEsTUFDQSxtQkFBbUI7QUFBQSxRQUNqQixRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0EsYUFBYTtBQUFBLFFBQ1gsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLDBCQUEwQjtBQUFBLFFBQ3hCLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSxxQkFBcUI7QUFBQSxRQUNuQixRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0EsYUFBYTtBQUFBLFFBQ1gsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLGNBQWM7QUFBQSxRQUNaLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSxrQkFBa0I7QUFBQSxRQUNoQixRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0EsbUJBQW1CO0FBQUEsUUFDakIsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLGdCQUFnQjtBQUFBLFFBQ2QsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLGFBQWE7QUFBQSxRQUNYLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSxhQUFhO0FBQUEsUUFDWCxRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0Esa0JBQWtCO0FBQUEsUUFDaEIsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLHFCQUFxQjtBQUFBLFFBQ25CLFFBQVE7QUFBQSxRQUNSLFlBQVksQ0FBQyxPQUFPLE1BQU07QUFBQSxNQUM1QjtBQUFBLE1BQ0EseUJBQXlCO0FBQUEsUUFDdkIsUUFBUTtBQUFBLFFBQ1IsWUFBWSxDQUFDLE9BQU8sTUFBTTtBQUFBLE1BQzVCO0FBQUEsTUFDQSxzQkFBc0I7QUFBQSxRQUNwQixRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0EscUJBQXFCO0FBQUEsUUFDbkIsUUFBUTtBQUFBLFFBQ1IsWUFBWSxDQUFDLE9BQU8sTUFBTTtBQUFBLE1BQzVCO0FBQUEsTUFDQSxxQkFBcUI7QUFBQSxRQUNuQixRQUFRO0FBQUEsUUFDUixZQUFZLENBQUMsT0FBTyxNQUFNO0FBQUEsTUFDNUI7QUFBQSxNQUNBLHdCQUF3QjtBQUFBLFFBQ3RCLFFBQVE7QUFBQSxRQUNSLFlBQVksQ0FBQyxPQUFPLE1BQU07QUFBQSxNQUM1QjtBQUFBLE1BQ0EsMEJBQTBCO0FBQUEsUUFDeEIsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLDhCQUE4QjtBQUFBLFFBQzVCLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSwyQkFBMkI7QUFBQSxRQUN6QixRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0Esc0JBQXNCO0FBQUEsUUFDcEIsUUFBUTtBQUFBLFFBQ1IsWUFBWSxDQUFDLEtBQUs7QUFBQSxNQUNwQjtBQUFBLE1BQ0EsaUJBQWlCO0FBQUEsUUFDZixRQUFRO0FBQUEsUUFDUixZQUFZLENBQUMsS0FBSztBQUFBLE1BQ3BCO0FBQUEsTUFDQSx1QkFBdUI7QUFBQSxRQUNyQixRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0Esd0NBQXdDO0FBQUEsUUFDdEMsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLHdDQUF3QztBQUFBLFFBQ3RDLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSx3Q0FBd0M7QUFBQSxRQUN0QyxRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0Esd0NBQXdDO0FBQUEsUUFDdEMsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLDhCQUE4QjtBQUFBLFFBQzVCLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSxnQ0FBZ0M7QUFBQSxRQUM5QixRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0EsNEJBQTRCO0FBQUEsUUFDMUIsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLDZCQUE2QjtBQUFBLFFBQzNCLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSxxQkFBcUI7QUFBQSxRQUNuQixRQUFRO0FBQUEsUUFDUixZQUFZLENBQUMsT0FBTyxLQUFLO0FBQUEsTUFDM0I7QUFBQSxNQUNBLG9DQUFvQztBQUFBLFFBQ2xDLFFBQVE7QUFBQSxRQUNSLFlBQVksQ0FBQyxLQUFLO0FBQUEsTUFDcEI7QUFBQSxNQUNBLDBDQUEwQztBQUFBLFFBQ3hDLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSx5QkFBeUI7QUFBQSxRQUN2QixRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0EsNkJBQTZCO0FBQUEsUUFDM0IsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLHlCQUF5QjtBQUFBLFFBQ3ZCLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSxvQkFBb0I7QUFBQSxRQUNsQixRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0EsZ0NBQWdDO0FBQUEsUUFDOUIsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLG1DQUFtQztBQUFBLFFBQ2pDLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSwwQkFBMEI7QUFBQSxRQUN4QixRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0EsMEJBQTBCO0FBQUEsUUFDeEIsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLHdCQUF3QjtBQUFBLFFBQ3RCLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSxzQ0FBc0M7QUFBQSxRQUNwQyxRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0Esc0JBQXNCO0FBQUEsUUFDcEIsUUFBUTtBQUFBLFFBQ1IsWUFBWSxDQUFDLE9BQU8sTUFBTTtBQUFBLE1BQzVCO0FBQUEsTUFDQSxrQkFBa0I7QUFBQSxRQUNoQixRQUFRO0FBQUEsUUFDUixZQUFZLENBQUMsS0FBSztBQUFBLE1BQ3BCO0FBQUEsTUFDQSx3QkFBd0I7QUFBQSxRQUN0QixRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0EsYUFBYTtBQUFBLFFBQ1gsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLGFBQWE7QUFBQSxRQUNYLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSxjQUFjO0FBQUEsUUFDWixRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsUUFDZCxZQUFZLENBQUMsTUFBTTtBQUFBLE1BQ3JCO0FBQUEsTUFDQSxlQUFlO0FBQUEsUUFDYixRQUFRO0FBQUEsUUFDUixZQUFZLENBQUMsS0FBSztBQUFBLE1BQ3BCO0FBQUEsTUFDQSxlQUFlO0FBQUEsUUFDYixRQUFRO0FBQUEsUUFDUixZQUFZLENBQUMsS0FBSztBQUFBLE1BQ3BCO0FBQUEsTUFDQSxlQUFlO0FBQUEsUUFDYixRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsUUFDZCxZQUFZLENBQUMsS0FBSztBQUFBLE1BQ3BCO0FBQUEsTUFDQSxlQUFlO0FBQUEsUUFDYixRQUFRO0FBQUEsUUFDUixZQUFZLENBQUMsS0FBSztBQUFBLE1BQ3BCO0FBQUEsTUFDQSxvQkFBb0I7QUFBQSxRQUNsQixRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsUUFDZCxZQUFZLENBQUMsT0FBTyxRQUFRLEtBQUs7QUFBQSxNQUNuQztBQUFBLE1BQ0EsZUFBZTtBQUFBLFFBQ2IsUUFBUTtBQUFBLFFBQ1IsWUFBWSxDQUFDLEtBQUs7QUFBQSxNQUNwQjtBQUFBLE1BQ0Esa0JBQWtCO0FBQUEsUUFDaEIsUUFBUTtBQUFBLFFBQ1IsWUFBWSxDQUFDLE9BQU8sS0FBSztBQUFBLE1BQzNCO0FBQUEsTUFDQSxrQkFBa0I7QUFBQSxRQUNoQixRQUFRO0FBQUEsUUFDUixZQUFZLENBQUMsS0FBSztBQUFBLE1BQ3BCO0FBQUEsTUFDQSxpQkFBaUI7QUFBQSxRQUNmLFFBQVE7QUFBQSxRQUNSLFlBQVksQ0FBQyxJQUFJO0FBQUEsTUFDbkI7QUFBQSxNQUNBLGtCQUFrQjtBQUFBLFFBQ2hCLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxRQUNkLFlBQVksQ0FBQyxLQUFLO0FBQUEsTUFDcEI7QUFBQSxNQUNBLGtCQUFrQjtBQUFBLFFBQ2hCLFFBQVE7QUFBQSxRQUNSLFlBQVksQ0FBQyxLQUFLO0FBQUEsTUFDcEI7QUFBQSxNQUNBLGtCQUFrQjtBQUFBLFFBQ2hCLFFBQVE7QUFBQSxRQUNSLFlBQVksQ0FBQyxLQUFLO0FBQUEsTUFDcEI7QUFBQSxNQUNBLG1CQUFtQjtBQUFBLFFBQ2pCLFFBQVE7QUFBQSxRQUNSLFlBQVksQ0FBQyxLQUFLO0FBQUEsTUFDcEI7QUFBQSxNQUNBLHFCQUFxQjtBQUFBLFFBQ25CLFFBQVE7QUFBQSxRQUNSLFlBQVksQ0FBQyxPQUFPO0FBQUEsTUFDdEI7QUFBQSxNQUNBLGVBQWU7QUFBQSxRQUNiLFFBQVE7QUFBQSxRQUNSLFlBQVksQ0FBQyxLQUFLO0FBQUEsTUFDcEI7QUFBQSxNQUNBLDJCQUEyQjtBQUFBLFFBQ3pCLFFBQVE7QUFBQSxRQUNSLFlBQVksQ0FBQyxLQUFLO0FBQUEsTUFDcEI7QUFBQSxNQUNBLHVCQUF1QjtBQUFBLFFBQ3JCLGNBQWM7QUFBQSxNQUNoQjtBQUFBLE1BQ0EscUJBQXFCO0FBQUEsUUFDbkIsY0FBYztBQUFBLE1BQ2hCO0FBQUEsSUFDRjtBQUFBLEVBQ0Y7QUFDRixDQUFDO0FBR0QsSUFBSSxtQkFBbUJBLFlBQVc7QUFBQSxFQUNoQyxxREFBcUQsVUFBVSxTQUFTO0FBQ3RFLFlBQVEsVUFBVSxZQUFZO0FBQUEsRUFDaEM7QUFDRixDQUFDO0FBR0QsSUFBSSxxQkFBcUJBLFlBQVc7QUFBQSxFQUNsQyw0REFBNEQsVUFBVSxTQUFTO0FBQzdFLFFBQUksZUFBZTtBQUFBLE1BQ2pCLFFBQVE7QUFBQSxNQUNSLE1BQU07QUFBQSxNQUNOLE1BQU07QUFBQSxNQUNOLFFBQVE7QUFBQSxNQUNSLFNBQVM7QUFBQSxJQUNYO0FBQ0EsUUFBSSxnQkFBZ0I7QUFBQSxNQUNsQixPQUFPO0FBQUEsTUFDUCxRQUFRO0FBQUEsTUFDUixNQUFNO0FBQUEsTUFDTixTQUFTO0FBQUE7QUFBQSxJQUVYO0FBQ0EsUUFBSSxjQUFjO0FBQUE7QUFBQTtBQUFBLE1BR2hCLGFBQWE7QUFBQTtBQUFBLE1BRWIsTUFBTTtBQUFBLE1BQ04sU0FBUztBQUFBLElBQ1g7QUFDQSxZQUFRLFVBQVUsU0FBUyxVQUFVLFVBQVUsU0FBUyxXQUFXO0FBQ2pFLFVBQUksYUFBYSw0QkFBNEI7QUFDM0MsZUFBTztBQUFBLE1BQ1Q7QUFDQSxZQUFNLENBQUMsTUFBTSxPQUFPLElBQUksU0FBUyxNQUFNLEdBQUc7QUFDMUMsWUFBTSxRQUFRLFFBQVEsUUFBUSxhQUFhLElBQUk7QUFDL0MsWUFBTSxhQUFhLGFBQWEsS0FBSyxLQUFLLGFBQWE7QUFDdkQsWUFBTSxjQUFjLGNBQWMsTUFBTSxLQUFLLGNBQWM7QUFDM0QsWUFBTSxZQUFZLFlBQVksSUFBSSxLQUFLLFlBQVk7QUFDbkQsWUFBTSxjQUFjLElBQUksU0FBUyxTQUFTO0FBQzFDLGFBQU8sYUFBYSxjQUFjLFlBQVk7QUFBQSxJQUNoRDtBQUFBLEVBQ0Y7QUFDRixDQUFDO0FBR0QsSUFBSSxzQkFBc0JBLFlBQVc7QUFBQSxFQUNuQyx3REFBd0QsVUFBVTtBQUNoRTtBQUNBLFFBQUksS0FBSyxpQkFBaUI7QUFDMUIsUUFBSSxVQUFVLFFBQVEsTUFBTSxFQUFFO0FBQzlCLFFBQUksWUFBWSxtQkFBbUI7QUFDbkMsUUFBSSxzQkFBc0I7QUFDMUIsUUFBSSxtQkFBbUI7QUFDdkIsYUFBUyxVQUFVO0FBQ25CLGFBQVMsV0FBVyxFQUFFLFFBQVEsUUFBUTtBQUN0QyxhQUFTLGNBQWM7QUFDdkIsYUFBUyxZQUFZO0FBQ3JCLGFBQVMsYUFBNkIsdUJBQU8sT0FBTyxJQUFJO0FBQ3hELGFBQVMsU0FBUztBQUNsQixhQUFTLFFBQXdCLHVCQUFPLE9BQU8sSUFBSTtBQUNuRCxhQUFTLHNCQUFzQixDQUFDO0FBQ2hDLGlCQUFhLFNBQVMsWUFBWSxTQUFTLEtBQUs7QUFDaEQsYUFBUyxRQUFRLE1BQU07QUFDckIsVUFBSSxDQUFDLFFBQVEsT0FBTyxTQUFTLFVBQVU7QUFDckMsZUFBTztBQUFBLE1BQ1Q7QUFDQSxVQUFJLFFBQVEsb0JBQW9CLEtBQUssSUFBSTtBQUN6QyxVQUFJLE9BQU8sU0FBUyxHQUFHLE1BQU0sQ0FBQyxFQUFFLFlBQVksQ0FBQztBQUM3QyxVQUFJLFFBQVEsS0FBSyxTQUFTO0FBQ3hCLGVBQU8sS0FBSztBQUFBLE1BQ2Q7QUFDQSxVQUFJLFNBQVMsaUJBQWlCLEtBQUssTUFBTSxDQUFDLENBQUMsR0FBRztBQUM1QyxlQUFPO0FBQUEsTUFDVDtBQUNBLGFBQU87QUFBQSxJQUNUO0FBQ0EsYUFBUyxhQUFhLEtBQUs7QUFDekIsVUFBSSxDQUFDLE9BQU8sT0FBTyxRQUFRLFVBQVU7QUFDbkMsZUFBTztBQUFBLE1BQ1Q7QUFDQSxVQUFJLE9BQU8sSUFBSSxRQUFRLEdBQUcsTUFBTSxLQUFLLFNBQVMsT0FBTyxHQUFHLElBQUk7QUFDNUQsVUFBSSxDQUFDLE1BQU07QUFDVCxlQUFPO0FBQUEsTUFDVDtBQUNBLFVBQUksS0FBSyxRQUFRLFNBQVMsTUFBTSxJQUFJO0FBQ2xDLFlBQUksV0FBVyxTQUFTLFFBQVEsSUFBSTtBQUNwQyxZQUFJLFNBQVUsU0FBUSxlQUFlLFNBQVMsWUFBWTtBQUFBLE1BQzVEO0FBQ0EsYUFBTztBQUFBLElBQ1Q7QUFDQSxhQUFTLFVBQVUsTUFBTTtBQUN2QixVQUFJLENBQUMsUUFBUSxPQUFPLFNBQVMsVUFBVTtBQUNyQyxlQUFPO0FBQUEsTUFDVDtBQUNBLFVBQUksUUFBUSxvQkFBb0IsS0FBSyxJQUFJO0FBQ3pDLFVBQUksT0FBTyxTQUFTLFNBQVMsV0FBVyxNQUFNLENBQUMsRUFBRSxZQUFZLENBQUM7QUFDOUQsVUFBSSxDQUFDLFFBQVEsQ0FBQyxLQUFLLFFBQVE7QUFDekIsZUFBTztBQUFBLE1BQ1Q7QUFDQSxhQUFPLEtBQUssQ0FBQztBQUFBLElBQ2Y7QUFDQSxhQUFTLE9BQU8sTUFBTTtBQUNwQixVQUFJLENBQUMsUUFBUSxPQUFPLFNBQVMsVUFBVTtBQUNyQyxlQUFPO0FBQUEsTUFDVDtBQUNBLFVBQUksYUFBYSxRQUFRLE9BQU8sSUFBSSxFQUFFLFlBQVksRUFBRSxNQUFNLENBQUM7QUFDM0QsVUFBSSxDQUFDLFlBQVk7QUFDZixlQUFPO0FBQUEsTUFDVDtBQUNBLGFBQU8sU0FBUyxNQUFNLFVBQVUsS0FBSztBQUFBLElBQ3ZDO0FBQ0EsYUFBUyxhQUFhLFlBQVksT0FBTztBQUN2QyxhQUFPLEtBQUssRUFBRSxFQUFFLFFBQVEsU0FBUyxnQkFBZ0IsTUFBTTtBQUNyRCxZQUFJLE9BQU8sR0FBRyxJQUFJO0FBQ2xCLFlBQUksT0FBTyxLQUFLO0FBQ2hCLFlBQUksQ0FBQyxRQUFRLENBQUMsS0FBSyxRQUFRO0FBQ3pCO0FBQUEsUUFDRjtBQUNBLG1CQUFXLElBQUksSUFBSTtBQUNuQixpQkFBUyxJQUFJLEdBQUcsSUFBSSxLQUFLLFFBQVEsS0FBSztBQUNwQyxjQUFJLGFBQWEsS0FBSyxDQUFDO0FBQ3ZCLGdCQUFNLFVBQVUsSUFBSSxlQUFlLFlBQVksTUFBTSxVQUFVLEdBQUcsSUFBSTtBQUN0RSxnQkFBTSxhQUFhO0FBQUEsWUFDakI7QUFBQSxZQUNBLE1BQU0sVUFBVTtBQUFBLFlBQ2hCO0FBQUEsVUFDRjtBQUNBLGNBQUksZUFBZSxNQUFNLFVBQVUsR0FBRztBQUNwQyxxQkFBUyxvQkFBb0IsS0FBSyxDQUFDLFlBQVksWUFBWSxNQUFNLFVBQVUsQ0FBQyxDQUFDO0FBQUEsVUFDL0U7QUFBQSxRQUNGO0FBQUEsTUFDRixDQUFDO0FBQUEsSUFDSDtBQUNBLGFBQVMsZUFBZSxLQUFLLE9BQU8sT0FBTztBQUN6QyxVQUFJLFNBQVMsUUFBUSxVQUFVLE9BQU8sR0FBRyxLQUFLLEVBQUUsTUFBTSxJQUFJO0FBQzFELFVBQUksU0FBUyxRQUFRLFVBQVUsT0FBTyxHQUFHLEtBQUssRUFBRSxNQUFNLElBQUk7QUFDMUQsYUFBTyxTQUFTLFNBQVMsUUFBUTtBQUFBLElBQ25DO0FBQ0EsYUFBUyxxQkFBcUIsS0FBSyxPQUFPLE9BQU87QUFDL0MsVUFBSSxjQUFjLENBQUMsU0FBUyxVQUFVLFFBQVEsTUFBTTtBQUNwRCxVQUFJLFNBQVMsUUFBUSxZQUFZLFFBQVEsR0FBRyxLQUFLLEVBQUUsTUFBTSxJQUFJO0FBQzdELFVBQUksU0FBUyxRQUFRLFlBQVksUUFBUSxHQUFHLEtBQUssRUFBRSxNQUFNLElBQUk7QUFDN0QsVUFBSSxTQUFTLE1BQU0sU0FBUyxNQUFNLCtCQUErQixTQUFTLFVBQVUsV0FBVyxVQUFVLFNBQVMsTUFBTSxTQUFTLEdBQUcsTUFBTSxHQUFHLEVBQUUsTUFBTSxpQkFBaUI7QUFDcEssZUFBTztBQUFBLE1BQ1Q7QUFDQSxhQUFPLFNBQVMsU0FBUyxRQUFRO0FBQUEsSUFDbkM7QUFBQSxFQUNGO0FBQ0YsQ0FBQztBQUdELElBQUksa0JBQWtCQSxZQUFXO0FBQUEsRUFDL0IsZ0NBQWdDLFVBQVUsU0FBUztBQUNqRDtBQUNBLFFBQUksYUFBYSxtQkFBbUI7QUFDcEMsUUFBSSxPQUFPLG9CQUFvQjtBQUMvQixZQUFRLFVBQVU7QUFDbEIsYUFBUyxRQUFRLEtBQUs7QUFDcEIsVUFBSSxFQUFFLGdCQUFnQixVQUFVO0FBQzlCLGVBQU8sSUFBSSxRQUFRLEdBQUc7QUFBQSxNQUN4QjtBQUNBLFdBQUssVUFBVSxJQUFJO0FBQ25CLFdBQUssYUFBYSxJQUFJLFdBQVcsR0FBRztBQUFBLElBQ3RDO0FBQ0EsWUFBUSxVQUFVLE9BQU8sUUFBUSxVQUFVLFFBQVEsU0FBUyxRQUFRO0FBQ2xFLFVBQUksUUFBUTtBQUNaLFVBQUksU0FBUyxDQUFDLE1BQU0sUUFBUSxLQUFLLEdBQUc7QUFDbEMsZ0JBQVEsSUFBSSxNQUFNLFVBQVUsTUFBTTtBQUNsQyxpQkFBUyxJQUFJLEdBQUcsSUFBSSxNQUFNLFFBQVEsS0FBSztBQUNyQyxnQkFBTSxDQUFDLElBQUksVUFBVSxDQUFDO0FBQUEsUUFDeEI7QUFBQSxNQUNGO0FBQ0EsVUFBSSxDQUFDLFNBQVMsTUFBTSxXQUFXLEdBQUc7QUFDaEMsZUFBTyxLQUFLLFdBQVcsV0FBVztBQUFBLE1BQ3BDO0FBQ0EsVUFBSSxDQUFDLEtBQUssUUFBUSxRQUFRO0FBQ3hCLGVBQU8sTUFBTSxDQUFDO0FBQUEsTUFDaEI7QUFDQSxVQUFJLFFBQVEsTUFBTSxJQUFJLFNBQVM7QUFDL0IsVUFBSSxVQUFVLEtBQUssV0FBVyxXQUFXLE1BQU0sT0FBTyxTQUFTLENBQUM7QUFDaEUsVUFBSSxRQUFRLFFBQVEsQ0FBQztBQUNyQixhQUFPLFFBQVEsTUFBTSxNQUFNLFFBQVEsS0FBSyxDQUFDLElBQUk7QUFBQSxJQUMvQztBQUNBLFlBQVEsVUFBVSxXQUFXLFFBQVEsVUFBVSxZQUFZLFNBQVMsWUFBWTtBQUM5RSxVQUFJLFlBQVk7QUFDaEIsVUFBSSxhQUFhLENBQUMsTUFBTSxRQUFRLFNBQVMsR0FBRztBQUMxQyxvQkFBWSxJQUFJLE1BQU0sVUFBVSxNQUFNO0FBQ3RDLGlCQUFTLElBQUksR0FBRyxJQUFJLFVBQVUsUUFBUSxLQUFLO0FBQ3pDLG9CQUFVLENBQUMsSUFBSSxVQUFVLENBQUM7QUFBQSxRQUM1QjtBQUFBLE1BQ0Y7QUFDQSxVQUFJLENBQUMsYUFBYSxVQUFVLFdBQVcsR0FBRztBQUN4QyxlQUFPLEtBQUssV0FBVyxVQUFVO0FBQUEsTUFDbkM7QUFDQSxhQUFPLEtBQUssV0FBVyxVQUFVLFNBQVMsRUFBRSxDQUFDLEtBQUs7QUFBQSxJQUNwRDtBQUNBLFlBQVEsVUFBVSxVQUFVLFFBQVEsVUFBVSxXQUFXLFNBQVMsV0FBVztBQUMzRSxVQUFJLFdBQVc7QUFDZixVQUFJLFlBQVksQ0FBQyxNQUFNLFFBQVEsUUFBUSxHQUFHO0FBQ3hDLG1CQUFXLElBQUksTUFBTSxVQUFVLE1BQU07QUFDckMsaUJBQVMsSUFBSSxHQUFHLElBQUksU0FBUyxRQUFRLEtBQUs7QUFDeEMsbUJBQVMsQ0FBQyxJQUFJLFVBQVUsQ0FBQztBQUFBLFFBQzNCO0FBQUEsTUFDRjtBQUNBLFVBQUksQ0FBQyxZQUFZLFNBQVMsV0FBVyxHQUFHO0FBQ3RDLGVBQU8sS0FBSyxXQUFXLFNBQVM7QUFBQSxNQUNsQztBQUNBLGFBQU8sS0FBSyxXQUFXLFNBQVMsUUFBUSxFQUFFLENBQUMsS0FBSztBQUFBLElBQ2xEO0FBQ0EsWUFBUSxVQUFVLE9BQU8sUUFBUSxVQUFVLFFBQVEsUUFBUSxVQUFVLFdBQVcsUUFBUSxVQUFVLFlBQVksU0FBUyxZQUFZO0FBQ2pJLFVBQUksWUFBWTtBQUNoQixVQUFJLGFBQWEsQ0FBQyxNQUFNLFFBQVEsU0FBUyxHQUFHO0FBQzFDLG9CQUFZLElBQUksTUFBTSxVQUFVLE1BQU07QUFDdEMsaUJBQVMsSUFBSSxHQUFHLElBQUksVUFBVSxRQUFRLEtBQUs7QUFDekMsb0JBQVUsQ0FBQyxJQUFJLFVBQVUsQ0FBQztBQUFBLFFBQzVCO0FBQUEsTUFDRjtBQUNBLFVBQUksQ0FBQyxhQUFhLFVBQVUsV0FBVyxHQUFHO0FBQ3hDLGVBQU8sS0FBSyxXQUFXLFVBQVU7QUFBQSxNQUNuQztBQUNBLGFBQU8sS0FBSyxXQUFXLFVBQVUsU0FBUyxFQUFFLENBQUMsS0FBSztBQUFBLElBQ3BEO0FBQ0EsYUFBUyxVQUFVLE1BQU07QUFDdkIsYUFBTyxLQUFLLFFBQVEsR0FBRyxNQUFNLEtBQUssS0FBSyxPQUFPLElBQUksSUFBSTtBQUFBLElBQ3hEO0FBQ0EsYUFBUyxVQUFVLE1BQU07QUFDdkIsYUFBTyxPQUFPLFNBQVM7QUFBQSxJQUN6QjtBQUFBLEVBQ0Y7QUFDRixDQUFDO0FBR0QsSUFBSSxnQkFBZ0JBLFlBQVc7QUFBQSxFQUM3Qiw4QkFBOEIsVUFBVSxTQUFTO0FBQy9DO0FBQ0EsUUFBSSxnQ0FBZ0M7QUFDcEMsWUFBUSxVQUFVO0FBQ2xCLGFBQVMsTUFBTSxZQUFZLFlBQVk7QUFDckMsVUFBSSxnQkFBZ0IsV0FBVyxtQkFBbUI7QUFDbEQsVUFBSSxZQUFZLFdBQVcsZUFBZTtBQUMxQyxVQUFJLENBQUMsaUJBQWlCLENBQUMsV0FBVztBQUNoQyxlQUFPO0FBQUEsTUFDVDtBQUNBLFVBQUksZUFBZSxXQUFXLGVBQWU7QUFDN0MsVUFBSSxnQkFBZ0IsOEJBQThCLEtBQUssWUFBWSxHQUFHO0FBQ3BFLGVBQU87QUFBQSxNQUNUO0FBQ0EsVUFBSSxXQUFXO0FBQ2IsWUFBSSxjQUFjLEtBQUs7QUFDckIsaUJBQU87QUFBQSxRQUNUO0FBQ0EsWUFBSSxPQUFPLFdBQVc7QUFDdEIsWUFBSSxDQUFDLE1BQU07QUFDVCxpQkFBTztBQUFBLFFBQ1Q7QUFDQSxZQUFJLFVBQVUsZUFBZSxTQUFTO0FBQ3RDLGlCQUFTLElBQUksR0FBRyxJQUFJLFFBQVEsUUFBUSxLQUFLO0FBQ3ZDLGNBQUksUUFBUSxRQUFRLENBQUM7QUFDckIsY0FBSSxVQUFVLFFBQVEsVUFBVSxPQUFPLFFBQVEsT0FBTyxVQUFVLE1BQU07QUFDcEUsbUJBQU87QUFBQSxVQUNUO0FBQUEsUUFDRjtBQUNBLGVBQU87QUFBQSxNQUNUO0FBQ0EsVUFBSSxlQUFlO0FBQ2pCLFlBQUksZUFBZSxXQUFXLGVBQWU7QUFDN0MsWUFBSSxnQkFBZ0IsQ0FBQyxnQkFBZ0IsRUFBRSxjQUFjLFlBQVksS0FBSyxjQUFjLGFBQWE7QUFDakcsWUFBSSxlQUFlO0FBQ2pCLGlCQUFPO0FBQUEsUUFDVDtBQUFBLE1BQ0Y7QUFDQSxhQUFPO0FBQUEsSUFDVDtBQUNBLGFBQVMsY0FBYyxNQUFNO0FBQzNCLFVBQUksWUFBWSxRQUFRLEtBQUssTUFBTSxJQUFJO0FBQ3ZDLGFBQU8sT0FBTyxjQUFjLFdBQVcsWUFBWTtBQUFBLElBQ3JEO0FBQ0EsYUFBUyxlQUFlLEtBQUs7QUFDM0IsVUFBSSxNQUFNO0FBQ1YsVUFBSSxPQUFPLENBQUM7QUFDWixVQUFJLFFBQVE7QUFDWixlQUFTLElBQUksR0FBRyxNQUFNLElBQUksUUFBUSxJQUFJLEtBQUssS0FBSztBQUM5QyxnQkFBUSxJQUFJLFdBQVcsQ0FBQyxHQUFHO0FBQUEsVUFDekIsS0FBSztBQUNILGdCQUFJLFVBQVUsS0FBSztBQUNqQixzQkFBUSxNQUFNLElBQUk7QUFBQSxZQUNwQjtBQUNBO0FBQUEsVUFDRixLQUFLO0FBQ0gsaUJBQUssS0FBSyxJQUFJLFVBQVUsT0FBTyxHQUFHLENBQUM7QUFDbkMsb0JBQVEsTUFBTSxJQUFJO0FBQ2xCO0FBQUEsVUFDRjtBQUNFLGtCQUFNLElBQUk7QUFDVjtBQUFBLFFBQ0o7QUFBQSxNQUNGO0FBQ0EsV0FBSyxLQUFLLElBQUksVUFBVSxPQUFPLEdBQUcsQ0FBQztBQUNuQyxhQUFPO0FBQUEsSUFDVDtBQUFBLEVBQ0Y7QUFDRixDQUFDO0FBR0QsSUFBSSx1QkFBdUJBLFlBQVc7QUFBQSxFQUNwQyxxQ0FBcUMsVUFBVSxTQUFTO0FBQ3REO0FBQ0EsWUFBUSxVQUFVO0FBQ2xCLGFBQVMsWUFBWSxNQUFNLEtBQUssU0FBUztBQUN2QyxVQUFJLE9BQU8sUUFBUSxVQUFVO0FBQzNCLGNBQU0sSUFBSSxVQUFVLCtCQUErQjtBQUFBLE1BQ3JEO0FBQ0EsVUFBSSxRQUFRLElBQUksUUFBUSxHQUFHO0FBQzNCLFVBQUksVUFBVSxJQUFJO0FBQ2hCLGVBQU87QUFBQSxNQUNUO0FBQ0EsVUFBSSxNQUFNLElBQUksTUFBTSxRQUFRLENBQUMsRUFBRSxNQUFNLEdBQUc7QUFDeEMsVUFBSSxTQUFTLENBQUM7QUFDZCxhQUFPLE9BQU8sSUFBSSxNQUFNLEdBQUcsS0FBSztBQUNoQyxlQUFTLElBQUksR0FBRyxJQUFJLElBQUksUUFBUSxLQUFLO0FBQ25DLFlBQUksUUFBUSxJQUFJLENBQUMsRUFBRSxNQUFNLEdBQUc7QUFDNUIsWUFBSSxRQUFRLFNBQVMsTUFBTSxDQUFDLEdBQUcsRUFBRTtBQUNqQyxZQUFJLE1BQU0sU0FBUyxNQUFNLENBQUMsR0FBRyxFQUFFO0FBQy9CLFlBQUksTUFBTSxLQUFLLEdBQUc7QUFDaEIsa0JBQVEsT0FBTztBQUNmLGdCQUFNLE9BQU87QUFBQSxRQUNmLFdBQVcsTUFBTSxHQUFHLEdBQUc7QUFDckIsZ0JBQU0sT0FBTztBQUFBLFFBQ2Y7QUFDQSxZQUFJLE1BQU0sT0FBTyxHQUFHO0FBQ2xCLGdCQUFNLE9BQU87QUFBQSxRQUNmO0FBQ0EsWUFBSSxNQUFNLEtBQUssS0FBSyxNQUFNLEdBQUcsS0FBSyxRQUFRLE9BQU8sUUFBUSxHQUFHO0FBQzFEO0FBQUEsUUFDRjtBQUNBLGVBQU8sS0FBSztBQUFBLFVBQ1Y7QUFBQSxVQUNBO0FBQUEsUUFDRixDQUFDO0FBQUEsTUFDSDtBQUNBLFVBQUksT0FBTyxTQUFTLEdBQUc7QUFDckIsZUFBTztBQUFBLE1BQ1Q7QUFDQSxhQUFPLFdBQVcsUUFBUSxVQUFVLGNBQWMsTUFBTSxJQUFJO0FBQUEsSUFDOUQ7QUFDQSxhQUFTLGNBQWMsUUFBUTtBQUM3QixVQUFJLFVBQVUsT0FBTyxJQUFJLFlBQVksRUFBRSxLQUFLLGdCQUFnQjtBQUM1RCxlQUFTLElBQUksR0FBRyxJQUFJLEdBQUcsSUFBSSxRQUFRLFFBQVEsS0FBSztBQUM5QyxZQUFJLFFBQVEsUUFBUSxDQUFDO0FBQ3JCLFlBQUksVUFBVSxRQUFRLENBQUM7QUFDdkIsWUFBSSxNQUFNLFFBQVEsUUFBUSxNQUFNLEdBQUc7QUFDakMsa0JBQVEsRUFBRSxDQUFDLElBQUk7QUFBQSxRQUNqQixXQUFXLE1BQU0sTUFBTSxRQUFRLEtBQUs7QUFDbEMsa0JBQVEsTUFBTSxNQUFNO0FBQ3BCLGtCQUFRLFFBQVEsS0FBSyxJQUFJLFFBQVEsT0FBTyxNQUFNLEtBQUs7QUFBQSxRQUNyRDtBQUFBLE1BQ0Y7QUFDQSxjQUFRLFNBQVMsSUFBSTtBQUNyQixVQUFJLFdBQVcsUUFBUSxLQUFLLGdCQUFnQixFQUFFLElBQUksZUFBZTtBQUNqRSxlQUFTLE9BQU8sT0FBTztBQUN2QixhQUFPO0FBQUEsSUFDVDtBQUNBLGFBQVMsYUFBYSxPQUFPLE9BQU87QUFDbEMsYUFBTztBQUFBLFFBQ0wsT0FBTyxNQUFNO0FBQUEsUUFDYixLQUFLLE1BQU07QUFBQSxRQUNYO0FBQUEsTUFDRjtBQUFBLElBQ0Y7QUFDQSxhQUFTLGdCQUFnQixPQUFPO0FBQzlCLGFBQU87QUFBQSxRQUNMLE9BQU8sTUFBTTtBQUFBLFFBQ2IsS0FBSyxNQUFNO0FBQUEsTUFDYjtBQUFBLElBQ0Y7QUFDQSxhQUFTLGlCQUFpQixHQUFHLEdBQUc7QUFDOUIsYUFBTyxFQUFFLFFBQVEsRUFBRTtBQUFBLElBQ3JCO0FBQ0EsYUFBUyxpQkFBaUIsR0FBRyxHQUFHO0FBQzlCLGFBQU8sRUFBRSxRQUFRLEVBQUU7QUFBQSxJQUNyQjtBQUFBLEVBQ0Y7QUFDRixDQUFDO0FBR0QsSUFBSSxrQkFBa0JBLFlBQVc7QUFBQSxFQUMvQixzQ0FBc0MsVUFBVSxTQUFTO0FBQ3ZEO0FBQ0EsUUFBSSxVQUFVLGdCQUFnQjtBQUM5QixRQUFJLE9BQU8sUUFBUSxVQUFVLEVBQUU7QUFDL0IsUUFBSSxTQUFTLGdCQUFnQjtBQUM3QixRQUFJLE9BQU8sUUFBUSxXQUFXO0FBQzlCLFFBQUksUUFBUSxjQUFjO0FBQzFCLFFBQUksYUFBYSxxQkFBcUI7QUFDdEMsUUFBSSxRQUFRLGlCQUFpQjtBQUM3QixRQUFJLFlBQVksbUJBQW1CO0FBQ25DLFFBQUksTUFBTSxPQUFPLE9BQU8sS0FBSyxnQkFBZ0IsU0FBUztBQUN0RCxZQUFRLFVBQVU7QUFDbEIsUUFBSSxNQUFNLElBQUksU0FBUyxTQUFTLE9BQU8sTUFBTTtBQUMzQyxVQUFJLENBQUMsTUFBTTtBQUNULGNBQU0sSUFBSSxVQUFVLHNDQUFzQztBQUFBLE1BQzVEO0FBQ0EsVUFBSSxPQUFPLFNBQVMsVUFBVTtBQUM1QixjQUFNLElBQUksVUFBVSxrQ0FBa0M7QUFBQSxNQUN4RDtBQUNBLFVBQUksS0FBSyxLQUFLLFlBQVk7QUFDMUIsY0FBUSxJQUFJO0FBQUEsUUFDVixLQUFLO0FBQUEsUUFDTCxLQUFLO0FBQ0gsaUJBQU8sS0FBSyxRQUFRLFlBQVksS0FBSyxRQUFRO0FBQUEsUUFDL0M7QUFDRSxpQkFBTyxLQUFLLFFBQVEsRUFBRTtBQUFBLE1BQzFCO0FBQUEsSUFDRjtBQUNBLFFBQUksVUFBVSxXQUFXO0FBQ3ZCLFVBQUksU0FBUyxRQUFRLElBQUk7QUFDekIsYUFBTyxPQUFPLE1BQU0sTUFBTSxRQUFRLFNBQVM7QUFBQSxJQUM3QztBQUNBLFFBQUksbUJBQW1CLFdBQVc7QUFDaEMsVUFBSSxTQUFTLFFBQVEsSUFBSTtBQUN6QixhQUFPLE9BQU8sVUFBVSxNQUFNLFFBQVEsU0FBUztBQUFBLElBQ2pEO0FBQ0EsUUFBSSxrQkFBa0IsV0FBVztBQUMvQixVQUFJLFNBQVMsUUFBUSxJQUFJO0FBQ3pCLGFBQU8sT0FBTyxTQUFTLE1BQU0sUUFBUSxTQUFTO0FBQUEsSUFDaEQ7QUFDQSxRQUFJLG1CQUFtQixXQUFXO0FBQ2hDLFVBQUksU0FBUyxRQUFRLElBQUk7QUFDekIsYUFBTyxPQUFPLFVBQVUsTUFBTSxRQUFRLFNBQVM7QUFBQSxJQUNqRDtBQUNBLFFBQUksUUFBUSxTQUFTLE1BQU0sTUFBTSxTQUFTO0FBQ3hDLFVBQUksU0FBUyxLQUFLLElBQUksT0FBTztBQUM3QixVQUFJLENBQUMsT0FBUTtBQUNiLGFBQU8sV0FBVyxNQUFNLFFBQVEsT0FBTztBQUFBLElBQ3pDO0FBQ0EsaUJBQWEsS0FBSyxTQUFTLFNBQVMsUUFBUTtBQUMxQyxVQUFJLGFBQWEsS0FBSyxJQUFJLElBQUksaUJBQWlCO0FBQy9DLFVBQUksQ0FBQyxZQUFZO0FBQ2YsZUFBdUIsdUJBQU8sT0FBTyxJQUFJO0FBQUEsTUFDM0M7QUFDQSxVQUFJLGNBQWMsTUFBTSxJQUFJLEVBQUU7QUFDOUIsYUFBTyxXQUFXLFdBQVc7QUFBQSxJQUMvQixDQUFDO0FBQ0QsUUFBSSxLQUFLLFNBQVMsR0FBRyxPQUFPO0FBQzFCLFVBQUksTUFBTTtBQUNWLFVBQUksQ0FBQyxNQUFNLFFBQVEsS0FBSyxHQUFHO0FBQ3pCLGNBQU0sSUFBSSxNQUFNLFVBQVUsTUFBTTtBQUNoQyxpQkFBUyxJQUFJLEdBQUcsSUFBSSxJQUFJLFFBQVEsS0FBSztBQUNuQyxjQUFJLENBQUMsSUFBSSxVQUFVLENBQUM7QUFBQSxRQUN0QjtBQUFBLE1BQ0Y7QUFDQSxhQUFPLE9BQU8sTUFBTSxHQUFHO0FBQUEsSUFDekI7QUFDQSxpQkFBYSxLQUFLLFlBQVksU0FBUyxXQUFXO0FBQ2hELFVBQUlHLFNBQVEsS0FBSyxXQUFXLFlBQVksVUFBVTtBQUNsRCxVQUFJLFFBQVEsS0FBSyxJQUFJLElBQUksZ0JBQWdCO0FBQ3pDLFVBQUksQ0FBQyxNQUFNLEtBQUssV0FBVyxlQUFlLENBQUMsR0FBRztBQUM1QyxlQUFPQTtBQUFBLE1BQ1Q7QUFDQSxVQUFJLFNBQVMsS0FBSyxJQUFJLG1CQUFtQixLQUFLQTtBQUM5QyxVQUFJLFFBQVEsT0FBTyxRQUFRLEdBQUc7QUFDOUIsYUFBTyxVQUFVLEtBQUssT0FBTyxVQUFVLEdBQUcsS0FBSyxFQUFFLEtBQUssSUFBSSxPQUFPLEtBQUs7QUFBQSxJQUN4RSxDQUFDO0FBQ0QsaUJBQWEsS0FBSyxVQUFVLFNBQVMsU0FBUztBQUM1QyxhQUFPLEtBQUssYUFBYTtBQUFBLElBQzNCLENBQUM7QUFDRCxpQkFBYSxLQUFLLE1BQU0sU0FBUyxLQUFLO0FBQ3BDLFVBQUksUUFBUSxLQUFLLElBQUksSUFBSSxnQkFBZ0I7QUFDekMsYUFBTyxVQUFVLE1BQU0sS0FBSztBQUFBLElBQzlCLENBQUM7QUFDRCxpQkFBYSxLQUFLLE9BQU8sU0FBUyxNQUFNO0FBQ3RDLFVBQUksUUFBUSxLQUFLLElBQUksSUFBSSxnQkFBZ0I7QUFDekMsVUFBSSxRQUFRLFVBQVUsSUFBSSxNQUFNLEtBQUs7QUFDckMsWUFBTSxRQUFRLEVBQUUsSUFBSTtBQUNwQixhQUFPO0FBQUEsSUFDVCxDQUFDO0FBQ0QsaUJBQWEsS0FBSyxjQUFjLFNBQVMsYUFBYTtBQUNwRCxVQUFJLFdBQVcsS0FBSztBQUNwQixVQUFJLENBQUMsU0FBVSxRQUFPLENBQUM7QUFDdkIsVUFBSSxTQUFTLEtBQUssSUFBSSxJQUFJLGtCQUFrQjtBQUM1QyxVQUFJLGNBQWMsQ0FBQyxLQUFLLFFBQVEsSUFBSSxTQUFTLE1BQU0sR0FBRyxFQUFFLFFBQVEsSUFBSSxDQUFDLFFBQVE7QUFDN0UsYUFBTyxZQUFZLE1BQU0sTUFBTTtBQUFBLElBQ2pDLENBQUM7QUFDRCxpQkFBYSxLQUFLLFFBQVEsU0FBUyxPQUFPO0FBQ3hDLGFBQU8sTUFBTSxJQUFJLEVBQUU7QUFBQSxJQUNyQixDQUFDO0FBQ0QsaUJBQWEsS0FBSyxRQUFRLFNBQVMsT0FBTztBQUN4QyxVQUFJLFFBQVEsS0FBSyxJQUFJLElBQUksZ0JBQWdCO0FBQ3pDLFVBQUksTUFBTSxLQUFLLElBQUksa0JBQWtCO0FBQ3JDLFVBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxLQUFLLFdBQVcsZUFBZSxDQUFDLEdBQUc7QUFDcEQsY0FBTSxLQUFLLElBQUksTUFBTTtBQUFBLE1BQ3ZCLFdBQVcsSUFBSSxRQUFRLEdBQUcsTUFBTSxJQUFJO0FBQ2xDLGNBQU0sSUFBSSxVQUFVLEdBQUcsSUFBSSxRQUFRLEdBQUcsQ0FBQyxFQUFFLFVBQVU7QUFBQSxNQUNyRDtBQUNBLGFBQU8sT0FBTztBQUFBLElBQ2hCLENBQUM7QUFDRCxpQkFBYSxLQUFLLFlBQVksU0FBUyxXQUFXO0FBQ2hELFVBQUksT0FBTyxLQUFLO0FBQ2hCLFVBQUksQ0FBQyxLQUFNO0FBQ1gsVUFBSSxTQUFTLEtBQUssQ0FBQyxNQUFNLE1BQU0sS0FBSyxRQUFRLEdBQUcsSUFBSSxJQUFJO0FBQ3ZELFVBQUksUUFBUSxLQUFLLFFBQVEsS0FBSyxNQUFNO0FBQ3BDLGFBQU8sVUFBVSxLQUFLLEtBQUssVUFBVSxHQUFHLEtBQUssSUFBSTtBQUFBLElBQ25ELENBQUM7QUFDRCxpQkFBYSxLQUFLLFNBQVMsV0FBVztBQUNwQyxVQUFJLFNBQVMsS0FBSztBQUNsQixVQUFJLE1BQU0sS0FBSztBQUNmLFVBQUksU0FBUyxJQUFJO0FBQ2pCLFVBQUksVUFBVSxVQUFVLFdBQVcsT0FBUSxRQUFPO0FBQ2xELFVBQUksVUFBVSxPQUFPLFNBQVMsT0FBTyxRQUFRLFFBQVE7QUFDbkQsZUFBTyxNQUFNLEtBQUssU0FBUztBQUFBLFVBQ3pCLFFBQVEsSUFBSSxJQUFJLE1BQU07QUFBQSxVQUN0QixpQkFBaUIsSUFBSSxJQUFJLGVBQWU7QUFBQSxRQUMxQyxDQUFDO0FBQUEsTUFDSDtBQUNBLGFBQU87QUFBQSxJQUNULENBQUM7QUFDRCxpQkFBYSxLQUFLLFNBQVMsU0FBUyxRQUFRO0FBQzFDLGFBQU8sQ0FBQyxLQUFLO0FBQUEsSUFDZixDQUFDO0FBQ0QsaUJBQWEsS0FBSyxPQUFPLFNBQVMsTUFBTTtBQUN0QyxVQUFJLE1BQU0sS0FBSyxJQUFJLGtCQUFrQixLQUFLO0FBQzFDLGFBQU8sSUFBSSxZQUFZLE1BQU07QUFBQSxJQUMvQixDQUFDO0FBQ0QsYUFBUyxhQUFhLEtBQUssTUFBTSxRQUFRO0FBQ3ZDLGFBQU8sZUFBZSxLQUFLLE1BQU07QUFBQSxRQUMvQixjQUFjO0FBQUEsUUFDZCxZQUFZO0FBQUEsUUFDWixLQUFLO0FBQUEsTUFDUCxDQUFDO0FBQUEsSUFDSDtBQUFBLEVBQ0Y7QUFDRixDQUFDO0FBR0QsSUFBSSxzQkFBc0JILFlBQVc7QUFBQSxFQUNuQyxvQ0FBb0MsVUFBVSxTQUFTO0FBQ3JELFFBQUksU0FBUyxRQUFRLFFBQVE7QUFDN0IsUUFBSSxVQUFVLE9BQU87QUFDckIsYUFBUyxVQUFVLEtBQUssS0FBSztBQUMzQixlQUFTLE9BQU8sS0FBSztBQUNuQixZQUFJLEdBQUcsSUFBSSxJQUFJLEdBQUc7QUFBQSxNQUNwQjtBQUFBLElBQ0Y7QUFDQSxRQUFJLFFBQVEsUUFBUSxRQUFRLFNBQVMsUUFBUSxlQUFlLFFBQVEsaUJBQWlCO0FBQ25GLGNBQVEsVUFBVTtBQUFBLElBQ3BCLE9BQU87QUFDTCxnQkFBVSxRQUFRLFFBQVE7QUFDMUIsZUFBUyxTQUFTO0FBQUEsSUFDcEI7QUFDQSxhQUFTLFdBQVcsS0FBSyxrQkFBa0IsUUFBUTtBQUNqRCxhQUFPLFFBQVEsS0FBSyxrQkFBa0IsTUFBTTtBQUFBLElBQzlDO0FBQ0EsZUFBVyxZQUFZLE9BQU8sT0FBTyxRQUFRLFNBQVM7QUFDdEQsY0FBVSxTQUFTLFVBQVU7QUFDN0IsZUFBVyxPQUFPLFNBQVMsS0FBSyxrQkFBa0IsUUFBUTtBQUN4RCxVQUFJLE9BQU8sUUFBUSxVQUFVO0FBQzNCLGNBQU0sSUFBSSxVQUFVLCtCQUErQjtBQUFBLE1BQ3JEO0FBQ0EsYUFBTyxRQUFRLEtBQUssa0JBQWtCLE1BQU07QUFBQSxJQUM5QztBQUNBLGVBQVcsUUFBUSxTQUFTLE1BQU0sTUFBTSxVQUFVO0FBQ2hELFVBQUksT0FBTyxTQUFTLFVBQVU7QUFDNUIsY0FBTSxJQUFJLFVBQVUsMkJBQTJCO0FBQUEsTUFDakQ7QUFDQSxVQUFJLE1BQU0sUUFBUSxJQUFJO0FBQ3RCLFVBQUksU0FBUyxRQUFRO0FBQ25CLFlBQUksT0FBTyxhQUFhLFVBQVU7QUFDaEMsY0FBSSxLQUFLLE1BQU0sUUFBUTtBQUFBLFFBQ3pCLE9BQU87QUFDTCxjQUFJLEtBQUssSUFBSTtBQUFBLFFBQ2Y7QUFBQSxNQUNGLE9BQU87QUFDTCxZQUFJLEtBQUssQ0FBQztBQUFBLE1BQ1o7QUFDQSxhQUFPO0FBQUEsSUFDVDtBQUNBLGVBQVcsY0FBYyxTQUFTLE1BQU07QUFDdEMsVUFBSSxPQUFPLFNBQVMsVUFBVTtBQUM1QixjQUFNLElBQUksVUFBVSwyQkFBMkI7QUFBQSxNQUNqRDtBQUNBLGFBQU8sUUFBUSxJQUFJO0FBQUEsSUFDckI7QUFDQSxlQUFXLGtCQUFrQixTQUFTLE1BQU07QUFDMUMsVUFBSSxPQUFPLFNBQVMsVUFBVTtBQUM1QixjQUFNLElBQUksVUFBVSwyQkFBMkI7QUFBQSxNQUNqRDtBQUNBLGFBQU8sT0FBTyxXQUFXLElBQUk7QUFBQSxJQUMvQjtBQUFBLEVBQ0Y7QUFDRixDQUFDO0FBR0QsSUFBSSw4QkFBOEJBLFlBQVc7QUFBQSxFQUMzQyw0Q0FBNEMsVUFBVSxTQUFTO0FBQzdEO0FBQ0EsWUFBUSxVQUFVO0FBQ2xCLFlBQVEsUUFBUSxRQUFRO0FBQ3hCLFFBQUksV0FBVyxRQUFRLE1BQU0sRUFBRTtBQUMvQixRQUFJLFVBQVUsb0JBQW9CLEVBQUU7QUFDcEMsUUFBSSw4QkFBOEI7QUFDbEMsUUFBSSxvQkFBb0I7QUFDeEIsUUFBSSw0QkFBNEI7QUFDaEMsUUFBSSxvQkFBb0I7QUFDeEIsUUFBSSxjQUFjO0FBQ2xCLFFBQUksZUFBZTtBQUNuQixRQUFJLGVBQWU7QUFDbkIsUUFBSSxjQUFjO0FBQ2xCLFFBQUksZUFBZTtBQUNuQixRQUFJLG1CQUFtQjtBQUN2QixRQUFJLDBCQUEwQjtBQUM5QixhQUFTLG1CQUFtQixVQUFVLFNBQVM7QUFDN0MsVUFBSSxPQUFPLFdBQVcsQ0FBQztBQUN2QixVQUFJLE9BQU8sS0FBSyxRQUFRO0FBQ3hCLFVBQUksU0FBUyxhQUFhLFVBQVUsS0FBSyxRQUFRO0FBQ2pELGFBQU8sT0FBTyxJQUFJLG1CQUFtQixNQUFNLE1BQU0sQ0FBQztBQUFBLElBQ3BEO0FBQ0EsYUFBUyxhQUFhLFVBQVUsVUFBVTtBQUN4QyxVQUFJLGFBQWEsUUFBUTtBQUN2QjtBQUFBLE1BQ0Y7QUFDQSxVQUFJLFNBQVMsQ0FBQztBQUNkLFVBQUksT0FBTyxhQUFhLFVBQVU7QUFDaEMsY0FBTSxJQUFJLFVBQVUsMkJBQTJCO0FBQUEsTUFDakQ7QUFDQSxVQUFJLGFBQWEsUUFBUTtBQUN2QixtQkFBVztBQUFBLE1BQ2I7QUFDQSxVQUFJLE9BQU8sYUFBYSxZQUFZLE9BQU8sYUFBYSxXQUFXO0FBQ2pFLGNBQU0sSUFBSSxVQUFVLHNDQUFzQztBQUFBLE1BQzVEO0FBQ0EsVUFBSSxPQUFPLGFBQWEsWUFBWSxrQkFBa0IsS0FBSyxRQUFRLEdBQUc7QUFDcEUsY0FBTSxJQUFJLFVBQVUsb0NBQW9DO0FBQUEsTUFDMUQ7QUFDQSxVQUFJLE9BQU8sU0FBUyxRQUFRO0FBQzVCLFVBQUksaUJBQWlCLFlBQVksS0FBSyxJQUFJO0FBQzFDLFVBQUksZUFBZSxPQUFPLGFBQWEsV0FBVyxZQUFZLFVBQVUsSUFBSSxJQUFJLFNBQVMsUUFBUTtBQUNqRyxVQUFJLGNBQWMsT0FBTyxpQkFBaUIsWUFBWSxpQkFBaUI7QUFDdkUsVUFBSSxlQUFlLENBQUMsa0JBQWtCLGtCQUFrQixLQUFLLElBQUksR0FBRztBQUNsRSxlQUFPLFdBQVcsSUFBSTtBQUFBLE1BQ3hCO0FBQ0EsVUFBSSxrQkFBa0IsYUFBYTtBQUNqQyxlQUFPLFdBQVcsY0FBYyxlQUFlO0FBQUEsTUFDakQ7QUFDQSxhQUFPO0FBQUEsSUFDVDtBQUNBLGFBQVMsT0FBTyxLQUFLO0FBQ25CLFVBQUksYUFBYSxJQUFJO0FBQ3JCLFVBQUksT0FBTyxJQUFJO0FBQ2YsVUFBSSxDQUFDLFFBQVEsT0FBTyxTQUFTLFlBQVksQ0FBQyxhQUFhLEtBQUssSUFBSSxHQUFHO0FBQ2pFLGNBQU0sSUFBSSxVQUFVLGNBQWM7QUFBQSxNQUNwQztBQUNBLFVBQUksU0FBUyxPQUFPLElBQUksRUFBRSxZQUFZO0FBQ3RDLFVBQUksY0FBYyxPQUFPLGVBQWUsVUFBVTtBQUNoRCxZQUFJO0FBQ0osWUFBSSxTQUFTLE9BQU8sS0FBSyxVQUFVLEVBQUUsS0FBSztBQUMxQyxpQkFBUyxJQUFJLEdBQUcsSUFBSSxPQUFPLFFBQVEsS0FBSztBQUN0QyxrQkFBUSxPQUFPLENBQUM7QUFDaEIsY0FBSSxNQUFNLE1BQU0sTUFBTSxFQUFFLE1BQU0sTUFBTSxRQUFRLFdBQVcsS0FBSyxDQUFDLElBQUksUUFBUSxXQUFXLEtBQUssQ0FBQztBQUMxRixvQkFBVSxPQUFPLFFBQVEsTUFBTTtBQUFBLFFBQ2pDO0FBQUEsTUFDRjtBQUNBLGFBQU87QUFBQSxJQUNUO0FBQ0EsYUFBUyxZQUFZLEtBQUs7QUFDeEIsVUFBSSxRQUFRLGlCQUFpQixLQUFLLEdBQUc7QUFDckMsVUFBSSxDQUFDLE9BQU87QUFDVixjQUFNLElBQUksVUFBVSw4QkFBOEI7QUFBQSxNQUNwRDtBQUNBLFVBQUksVUFBVSxNQUFNLENBQUMsRUFBRSxZQUFZO0FBQ25DLFVBQUksVUFBVSxNQUFNLENBQUM7QUFDckIsVUFBSTtBQUNKLFVBQUksU0FBUyxRQUFRLFFBQVEsMkJBQTJCLE9BQU87QUFDL0QsY0FBUSxTQUFTO0FBQUEsUUFDZixLQUFLO0FBQ0gsa0JBQVEsVUFBVSxNQUFNO0FBQ3hCO0FBQUEsUUFDRixLQUFLO0FBQUEsUUFDTCxLQUFLO0FBQ0gsa0JBQVEsUUFBUSxLQUFLLFFBQVEsUUFBUSxFQUFFLFNBQVMsTUFBTTtBQUN0RDtBQUFBLFFBQ0Y7QUFDRSxnQkFBTSxJQUFJLFVBQVUsdUNBQXVDO0FBQUEsTUFDL0Q7QUFDQSxhQUFPO0FBQUEsSUFDVDtBQUNBLGFBQVMsVUFBVSxLQUFLO0FBQ3RCLGFBQU8sT0FBTyxHQUFHLEVBQUUsUUFBUSxtQkFBbUIsR0FBRztBQUFBLElBQ25EO0FBQ0EsYUFBUyxNQUFNLFFBQVE7QUFDckIsVUFBSSxDQUFDLFVBQVUsT0FBTyxXQUFXLFVBQVU7QUFDekMsY0FBTSxJQUFJLFVBQVUsNkJBQTZCO0FBQUEsTUFDbkQ7QUFDQSxVQUFJLFFBQVEsd0JBQXdCLEtBQUssTUFBTTtBQUMvQyxVQUFJLENBQUMsT0FBTztBQUNWLGNBQU0sSUFBSSxVQUFVLHFCQUFxQjtBQUFBLE1BQzNDO0FBQ0EsVUFBSSxRQUFRLE1BQU0sQ0FBQyxFQUFFO0FBQ3JCLFVBQUksT0FBTyxNQUFNLENBQUMsRUFBRSxZQUFZO0FBQ2hDLFVBQUk7QUFDSixVQUFJLFFBQVEsQ0FBQztBQUNiLFVBQUksU0FBUyxDQUFDO0FBQ2QsVUFBSTtBQUNKLGNBQVEsYUFBYSxZQUFZLE1BQU0sQ0FBQyxFQUFFLE1BQU0sRUFBRSxNQUFNLE1BQU0sUUFBUSxJQUFJO0FBQzFFLGFBQU8sUUFBUSxhQUFhLEtBQUssTUFBTSxHQUFHO0FBQ3hDLFlBQUksTUFBTSxVQUFVLE9BQU87QUFDekIsZ0JBQU0sSUFBSSxVQUFVLDBCQUEwQjtBQUFBLFFBQ2hEO0FBQ0EsaUJBQVMsTUFBTSxDQUFDLEVBQUU7QUFDbEIsY0FBTSxNQUFNLENBQUMsRUFBRSxZQUFZO0FBQzNCLGdCQUFRLE1BQU0sQ0FBQztBQUNmLFlBQUksTUFBTSxRQUFRLEdBQUcsTUFBTSxJQUFJO0FBQzdCLGdCQUFNLElBQUksVUFBVSw2QkFBNkI7QUFBQSxRQUNuRDtBQUNBLGNBQU0sS0FBSyxHQUFHO0FBQ2QsWUFBSSxJQUFJLFFBQVEsR0FBRyxJQUFJLE1BQU0sSUFBSSxRQUFRO0FBQ3ZDLGdCQUFNLElBQUksTUFBTSxHQUFHLEVBQUU7QUFDckIsa0JBQVEsWUFBWSxLQUFLO0FBQ3pCLGlCQUFPLEdBQUcsSUFBSTtBQUNkO0FBQUEsUUFDRjtBQUNBLFlBQUksT0FBTyxPQUFPLEdBQUcsTUFBTSxVQUFVO0FBQ25DO0FBQUEsUUFDRjtBQUNBLFlBQUksTUFBTSxDQUFDLE1BQU0sS0FBSztBQUNwQixrQkFBUSxNQUFNLE1BQU0sR0FBRyxFQUFFLEVBQUUsUUFBUSxhQUFhLElBQUk7QUFBQSxRQUN0RDtBQUNBLGVBQU8sR0FBRyxJQUFJO0FBQUEsTUFDaEI7QUFDQSxVQUFJLFVBQVUsTUFBTSxVQUFVLE9BQU8sUUFBUTtBQUMzQyxjQUFNLElBQUksVUFBVSwwQkFBMEI7QUFBQSxNQUNoRDtBQUNBLGFBQU8sSUFBSSxtQkFBbUIsTUFBTSxNQUFNO0FBQUEsSUFDNUM7QUFDQSxhQUFTLFFBQVEsS0FBSyxLQUFLO0FBQ3pCLGFBQU8sT0FBTyxhQUFhLFNBQVMsS0FBSyxFQUFFLENBQUM7QUFBQSxJQUM5QztBQUNBLGFBQVMsUUFBUSxNQUFNO0FBQ3JCLGFBQU8sTUFBTSxPQUFPLElBQUksRUFBRSxXQUFXLENBQUMsRUFBRSxTQUFTLEVBQUUsRUFBRSxZQUFZO0FBQUEsSUFDbkU7QUFDQSxhQUFTLFFBQVEsS0FBSztBQUNwQixVQUFJLE1BQU0sT0FBTyxHQUFHO0FBQ3BCLGFBQU8sTUFBTSxJQUFJLFFBQVEsY0FBYyxNQUFNLElBQUk7QUFBQSxJQUNuRDtBQUNBLGFBQVMsUUFBUSxLQUFLO0FBQ3BCLFVBQUksTUFBTSxPQUFPLEdBQUc7QUFDcEIsVUFBSSxVQUFVLG1CQUFtQixHQUFHLEVBQUUsUUFBUSw2QkFBNkIsT0FBTztBQUNsRixhQUFPLFlBQVk7QUFBQSxJQUNyQjtBQUNBLGFBQVMsbUJBQW1CLE1BQU0sWUFBWTtBQUM1QyxXQUFLLE9BQU87QUFDWixXQUFLLGFBQWE7QUFBQSxJQUNwQjtBQUFBLEVBQ0Y7QUFDRixDQUFDO0FBR0QsSUFBSSwyQkFBMkJBLFlBQVc7QUFBQSxFQUN4Qyx5Q0FBeUMsVUFBVTtBQUNqRCxRQUFJLFNBQVMsUUFBUSxRQUFRO0FBQzdCLGFBQVMsT0FBTyxTQUFTLEtBQUssUUFBUTtBQUNwQyxVQUFJLFlBQVksT0FBTyxJQUFLLE9BQU0sSUFBSSxVQUFVLDRDQUE0QztBQUM1RixVQUFJLFFBQVEsT0FBUSxPQUFNLElBQUksVUFBVSw4QkFBOEI7QUFDdEUsYUFBTyxNQUFNLE1BQU0sT0FBTyxXQUFXLFVBQVUsTUFBTSxFQUFFLE9BQU8sR0FBRyxFQUFFLE9BQU8sUUFBUSxFQUFFLFFBQVEsUUFBUSxFQUFFO0FBQUEsSUFDeEc7QUFDQSxhQUFTLFNBQVMsU0FBUyxPQUFPLFFBQVE7QUFDeEMsVUFBSSxZQUFZLE9BQU8sTUFBTyxPQUFNLElBQUksVUFBVSx3Q0FBd0M7QUFDMUYsVUFBSSxRQUFRLE9BQVEsT0FBTSxJQUFJLFVBQVUsOEJBQThCO0FBQ3RFLFVBQUksaUJBQWlCLE1BQU0sTUFBTSxHQUFHLE1BQU0sWUFBWSxHQUFHLENBQUMsR0FBRyxnQkFBZ0IsU0FBUyxLQUFLLGdCQUFnQixNQUFNLEdBQUcsaUJBQWlCLE9BQU8sS0FBSyxhQUFhLEdBQUcsY0FBYyxPQUFPLEtBQUssS0FBSztBQUNoTSxhQUFPLGVBQWUsV0FBVyxZQUFZLFVBQVUsT0FBTyxnQkFBZ0IsZ0JBQWdCLFdBQVcsSUFBSSxpQkFBaUI7QUFBQSxJQUNoSTtBQUFBLEVBQ0Y7QUFDRixDQUFDO0FBR0QsSUFBSSxpQkFBaUJBLFlBQVc7QUFBQSxFQUM5QiwrQkFBK0IsVUFBVTtBQUN2QztBQUNBLGFBQVMsUUFBUTtBQUNqQixhQUFTLFlBQVk7QUFDckIsUUFBSSxhQUFhLE9BQU8sVUFBVTtBQUNsQyxRQUFJLG1CQUFtQjtBQUN2QixRQUFJLG9CQUFvQjtBQUN4QixRQUFJLG9CQUFvQjtBQUN4QixRQUFJLGtCQUFrQjtBQUN0QixhQUFTLE1BQU0sS0FBSyxLQUFLO0FBQ3ZCLFVBQUksT0FBTyxRQUFRLFVBQVU7QUFDM0IsY0FBTSxJQUFJLFVBQVUsK0JBQStCO0FBQUEsTUFDckQ7QUFDQSxVQUFJLE1BQU0sQ0FBQztBQUNYLFVBQUksTUFBTSxJQUFJO0FBQ2QsVUFBSSxNQUFNLEVBQUcsUUFBTztBQUNwQixVQUFJLE1BQU0sT0FBTyxJQUFJLFVBQVU7QUFDL0IsVUFBSSxRQUFRO0FBQ1osVUFBSSxRQUFRO0FBQ1osVUFBSSxTQUFTO0FBQ2IsU0FBRztBQUNELGdCQUFRLElBQUksUUFBUSxLQUFLLEtBQUs7QUFDOUIsWUFBSSxVQUFVLEdBQUk7QUFDbEIsaUJBQVMsSUFBSSxRQUFRLEtBQUssS0FBSztBQUMvQixZQUFJLFdBQVcsSUFBSTtBQUNqQixtQkFBUztBQUFBLFFBQ1gsV0FBVyxRQUFRLFFBQVE7QUFDekIsa0JBQVEsSUFBSSxZQUFZLEtBQUssUUFBUSxDQUFDLElBQUk7QUFDMUM7QUFBQSxRQUNGO0FBQ0EsWUFBSSxjQUFjLFdBQVcsS0FBSyxPQUFPLEtBQUs7QUFDOUMsWUFBSSxZQUFZLFNBQVMsS0FBSyxPQUFPLFdBQVc7QUFDaEQsWUFBSSxNQUFNLElBQUksTUFBTSxhQUFhLFNBQVM7QUFDMUMsWUFBSSxDQUFDLElBQUksZUFBZSxHQUFHLEdBQUc7QUFDNUIsY0FBSSxjQUFjLFdBQVcsS0FBSyxRQUFRLEdBQUcsTUFBTTtBQUNuRCxjQUFJLFlBQVksU0FBUyxLQUFLLFFBQVEsV0FBVztBQUNqRCxjQUFJLElBQUksV0FBVyxXQUFXLE1BQU0sTUFBTSxJQUFJLFdBQVcsWUFBWSxDQUFDLE1BQU0sSUFBSTtBQUM5RTtBQUNBO0FBQUEsVUFDRjtBQUNBLGNBQUksTUFBTSxJQUFJLE1BQU0sYUFBYSxTQUFTO0FBQzFDLGNBQUksR0FBRyxJQUFJLFVBQVUsS0FBSyxHQUFHO0FBQUEsUUFDL0I7QUFDQSxnQkFBUSxTQUFTO0FBQUEsTUFDbkIsU0FBUyxRQUFRO0FBQ2pCLGFBQU87QUFBQSxJQUNUO0FBQ0EsYUFBUyxXQUFXLEtBQUssT0FBTyxLQUFLO0FBQ25DLFNBQUc7QUFDRCxZQUFJLE9BQU8sSUFBSSxXQUFXLEtBQUs7QUFDL0IsWUFBSSxTQUFTLE1BQU0sU0FBUyxFQUFHLFFBQU87QUFBQSxNQUN4QyxTQUFTLEVBQUUsUUFBUTtBQUNuQixhQUFPO0FBQUEsSUFDVDtBQUNBLGFBQVMsU0FBUyxLQUFLLE9BQU8sS0FBSztBQUNqQyxhQUFPLFFBQVEsS0FBSztBQUNsQixZQUFJLE9BQU8sSUFBSSxXQUFXLEVBQUUsS0FBSztBQUNqQyxZQUFJLFNBQVMsTUFBTSxTQUFTLEVBQUcsUUFBTyxRQUFRO0FBQUEsTUFDaEQ7QUFDQSxhQUFPO0FBQUEsSUFDVDtBQUNBLGFBQVMsVUFBVSxNQUFNLEtBQUssS0FBSztBQUNqQyxVQUFJLE1BQU0sT0FBTyxJQUFJLFVBQVU7QUFDL0IsVUFBSSxPQUFPLFFBQVEsWUFBWTtBQUM3QixjQUFNLElBQUksVUFBVSwwQkFBMEI7QUFBQSxNQUNoRDtBQUNBLFVBQUksQ0FBQyxpQkFBaUIsS0FBSyxJQUFJLEdBQUc7QUFDaEMsY0FBTSxJQUFJLFVBQVUsMEJBQTBCO0FBQUEsTUFDaEQ7QUFDQSxVQUFJLFFBQVEsSUFBSSxHQUFHO0FBQ25CLFVBQUksQ0FBQyxrQkFBa0IsS0FBSyxLQUFLLEdBQUc7QUFDbEMsY0FBTSxJQUFJLFVBQVUseUJBQXlCO0FBQUEsTUFDL0M7QUFDQSxVQUFJLE1BQU0sT0FBTyxNQUFNO0FBQ3ZCLFVBQUksQ0FBQyxJQUFLLFFBQU87QUFDakIsVUFBSSxRQUFRLElBQUksUUFBUTtBQUN0QixZQUFJLFNBQVMsS0FBSyxNQUFNLElBQUksTUFBTTtBQUNsQyxZQUFJLENBQUMsU0FBUyxNQUFNLEdBQUc7QUFDckIsZ0JBQU0sSUFBSSxVQUFVLDBCQUEwQjtBQUFBLFFBQ2hEO0FBQ0EsZUFBTyxlQUFlO0FBQUEsTUFDeEI7QUFDQSxVQUFJLElBQUksUUFBUTtBQUNkLFlBQUksQ0FBQyxrQkFBa0IsS0FBSyxJQUFJLE1BQU0sR0FBRztBQUN2QyxnQkFBTSxJQUFJLFVBQVUsMEJBQTBCO0FBQUEsUUFDaEQ7QUFDQSxlQUFPLGNBQWMsSUFBSTtBQUFBLE1BQzNCO0FBQ0EsVUFBSSxJQUFJLE1BQU07QUFDWixZQUFJLENBQUMsZ0JBQWdCLEtBQUssSUFBSSxJQUFJLEdBQUc7QUFDbkMsZ0JBQU0sSUFBSSxVQUFVLHdCQUF3QjtBQUFBLFFBQzlDO0FBQ0EsZUFBTyxZQUFZLElBQUk7QUFBQSxNQUN6QjtBQUNBLFVBQUksSUFBSSxTQUFTO0FBQ2YsWUFBSSxVQUFVLElBQUk7QUFDbEIsWUFBSSxDQUFDLE9BQU8sT0FBTyxLQUFLLE1BQU0sUUFBUSxRQUFRLENBQUMsR0FBRztBQUNoRCxnQkFBTSxJQUFJLFVBQVUsMkJBQTJCO0FBQUEsUUFDakQ7QUFDQSxlQUFPLGVBQWUsUUFBUSxZQUFZO0FBQUEsTUFDNUM7QUFDQSxVQUFJLElBQUksVUFBVTtBQUNoQixlQUFPO0FBQUEsTUFDVDtBQUNBLFVBQUksSUFBSSxRQUFRO0FBQ2QsZUFBTztBQUFBLE1BQ1Q7QUFDQSxVQUFJLElBQUksYUFBYTtBQUNuQixlQUFPO0FBQUEsTUFDVDtBQUNBLFVBQUksSUFBSSxVQUFVO0FBQ2hCLFlBQUksV0FBVyxPQUFPLElBQUksYUFBYSxXQUFXLElBQUksU0FBUyxZQUFZLElBQUksSUFBSTtBQUNuRixnQkFBUSxVQUFVO0FBQUEsVUFDaEIsS0FBSztBQUNILG1CQUFPO0FBQ1A7QUFBQSxVQUNGLEtBQUs7QUFDSCxtQkFBTztBQUNQO0FBQUEsVUFDRixLQUFLO0FBQ0gsbUJBQU87QUFDUDtBQUFBLFVBQ0Y7QUFDRSxrQkFBTSxJQUFJLFVBQVUsNEJBQTRCO0FBQUEsUUFDcEQ7QUFBQSxNQUNGO0FBQ0EsVUFBSSxJQUFJLFVBQVU7QUFDaEIsWUFBSSxXQUFXLE9BQU8sSUFBSSxhQUFhLFdBQVcsSUFBSSxTQUFTLFlBQVksSUFBSSxJQUFJO0FBQ25GLGdCQUFRLFVBQVU7QUFBQSxVQUNoQixLQUFLO0FBQ0gsbUJBQU87QUFDUDtBQUFBLFVBQ0YsS0FBSztBQUNILG1CQUFPO0FBQ1A7QUFBQSxVQUNGLEtBQUs7QUFDSCxtQkFBTztBQUNQO0FBQUEsVUFDRixLQUFLO0FBQ0gsbUJBQU87QUFDUDtBQUFBLFVBQ0Y7QUFDRSxrQkFBTSxJQUFJLFVBQVUsNEJBQTRCO0FBQUEsUUFDcEQ7QUFBQSxNQUNGO0FBQ0EsYUFBTztBQUFBLElBQ1Q7QUFDQSxhQUFTLE9BQU8sS0FBSztBQUNuQixhQUFPLElBQUksUUFBUSxHQUFHLE1BQU0sS0FBSyxtQkFBbUIsR0FBRyxJQUFJO0FBQUEsSUFDN0Q7QUFDQSxhQUFTLE9BQU8sS0FBSztBQUNuQixhQUFPLFdBQVcsS0FBSyxHQUFHLE1BQU07QUFBQSxJQUNsQztBQUNBLGFBQVMsVUFBVSxLQUFLLFNBQVM7QUFDL0IsVUFBSTtBQUNGLGVBQU8sUUFBUSxHQUFHO0FBQUEsTUFDcEIsU0FBUyxHQUFHO0FBQ1YsZUFBTztBQUFBLE1BQ1Q7QUFBQSxJQUNGO0FBQUEsRUFDRjtBQUNGLENBQUM7QUFHRCxJQUFJLGNBQWNBLFlBQVc7QUFBQSxFQUMzQixpREFBaUQsVUFBVSxTQUFTO0FBQ2xFLFlBQVEsVUFBVTtBQUFBLE1BQ2hCLHdDQUF3QztBQUFBLFFBQ3RDLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSxzQ0FBc0M7QUFBQSxRQUNwQyxRQUFRO0FBQUEsUUFDUixTQUFTO0FBQUEsUUFDVCxjQUFjO0FBQUEsTUFDaEI7QUFBQSxNQUNBLDRCQUE0QjtBQUFBLFFBQzFCLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxNQUNoQjtBQUFBLE1BQ0EsNEJBQTRCO0FBQUEsUUFDMUIsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLE1BQ2hCO0FBQUEsTUFDQSxpQ0FBaUM7QUFBQSxRQUMvQixRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsTUFDaEI7QUFBQSxNQUNBLG1CQUFtQjtBQUFBLFFBQ2pCLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSx3QkFBd0I7QUFBQSxRQUN0QixRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0Esd0JBQXdCO0FBQUEsUUFDdEIsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLE1BQ2hCO0FBQUEsTUFDQSxrQ0FBa0M7QUFBQSxRQUNoQyxRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0EsNEJBQTRCO0FBQUEsUUFDMUIsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLDZCQUE2QjtBQUFBLFFBQzNCLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSw2QkFBNkI7QUFBQSxRQUMzQixRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsTUFDaEI7QUFBQSxNQUNBLHdCQUF3QjtBQUFBLFFBQ3RCLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSx3QkFBd0I7QUFBQSxRQUN0QixRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsTUFDaEI7QUFBQSxNQUNBLDhCQUE4QjtBQUFBLFFBQzVCLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxNQUNoQjtBQUFBLE1BQ0Esb0NBQW9DO0FBQUEsUUFDbEMsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLE1BQ2hCO0FBQUEsTUFDQSxpQ0FBaUM7QUFBQSxRQUMvQixRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsTUFDaEI7QUFBQSxNQUNBLHVDQUF1QztBQUFBLFFBQ3JDLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxNQUNoQjtBQUFBLE1BQ0EsbUNBQW1DO0FBQUEsUUFDakMsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLE1BQ2hCO0FBQUEsTUFDQSxzQ0FBc0M7QUFBQSxRQUNwQyxRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsTUFDaEI7QUFBQSxNQUNBLDRDQUE0QztBQUFBLFFBQzFDLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxNQUNoQjtBQUFBLE1BQ0Esc0NBQXNDO0FBQUEsUUFDcEMsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLE1BQ2hCO0FBQUEsTUFDQSw0Q0FBNEM7QUFBQSxRQUMxQyxRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsTUFDaEI7QUFBQSxNQUNBLCtCQUErQjtBQUFBLFFBQzdCLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxNQUNoQjtBQUFBLE1BQ0Esb0NBQW9DO0FBQUEsUUFDbEMsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLE1BQ2hCO0FBQUEsTUFDQSwwQ0FBMEM7QUFBQSxRQUN4QyxRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsTUFDaEI7QUFBQSxNQUNBLGlDQUFpQztBQUFBLFFBQy9CLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxNQUNoQjtBQUFBLE1BQ0EsdUNBQXVDO0FBQUEsUUFDckMsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLE1BQ2hCO0FBQUEsTUFDQSw4QkFBOEI7QUFBQSxRQUM1QixRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsTUFDaEI7QUFBQSxNQUNBLG9DQUFvQztBQUFBLFFBQ2xDLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxNQUNoQjtBQUFBLE1BQ0EsNkNBQTZDO0FBQUEsUUFDM0MsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLE1BQ2hCO0FBQUEsTUFDQSw0Q0FBNEM7QUFBQSxRQUMxQyxRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsTUFDaEI7QUFBQSxNQUNBLG1CQUFtQjtBQUFBLFFBQ2pCLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSw0QkFBNEI7QUFBQSxRQUMxQixRQUFRO0FBQUEsUUFDUixZQUFZLENBQUMsSUFBSTtBQUFBLE1BQ25CO0FBQUEsTUFDQSw0QkFBNEI7QUFBQSxRQUMxQixjQUFjO0FBQUEsUUFDZCxZQUFZLENBQUMsY0FBYztBQUFBLE1BQzdCO0FBQUEsTUFDQSx5QkFBeUI7QUFBQSxRQUN2QixRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0EsMEJBQTBCO0FBQUEsUUFDeEIsUUFBUTtBQUFBLFFBQ1IsWUFBWSxDQUFDLElBQUk7QUFBQSxNQUNuQjtBQUFBLE1BQ0Esb0JBQW9CO0FBQUEsUUFDbEIsY0FBYztBQUFBLFFBQ2QsWUFBWSxDQUFDLE1BQU07QUFBQSxNQUNyQjtBQUFBLE1BQ0EsMEJBQTBCO0FBQUEsUUFDeEIsY0FBYztBQUFBLFFBQ2QsWUFBWSxDQUFDLFlBQVk7QUFBQSxNQUMzQjtBQUFBLE1BQ0Esc0JBQXNCO0FBQUEsUUFDcEIsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLG1CQUFtQjtBQUFBLFFBQ2pCLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSxvQkFBb0I7QUFBQSxRQUNsQixRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0Esd0JBQXdCO0FBQUEsUUFDdEIsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLFFBQ2QsWUFBWSxDQUFDLE1BQU07QUFBQSxNQUNyQjtBQUFBLE1BQ0EsMkJBQTJCO0FBQUEsUUFDekIsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLFFBQ2QsWUFBWSxDQUFDLFNBQVM7QUFBQSxNQUN4QjtBQUFBLE1BQ0EsK0JBQStCO0FBQUEsUUFDN0IsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLFFBQ2QsWUFBWSxDQUFDLGFBQWE7QUFBQSxNQUM1QjtBQUFBLE1BQ0EsMEJBQTBCO0FBQUEsUUFDeEIsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLDJCQUEyQjtBQUFBLFFBQ3pCLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxRQUNkLFlBQVksQ0FBQyxTQUFTO0FBQUEsTUFDeEI7QUFBQSxNQUNBLDRCQUE0QjtBQUFBLFFBQzFCLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxRQUNkLFlBQVksQ0FBQyxLQUFLO0FBQUEsTUFDcEI7QUFBQSxNQUNBLDBDQUEwQztBQUFBLFFBQ3hDLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSw2QkFBNkI7QUFBQSxRQUMzQixRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsUUFDZCxZQUFZLENBQUMsTUFBTTtBQUFBLE1BQ3JCO0FBQUEsTUFDQSw2QkFBNkI7QUFBQSxRQUMzQixRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsTUFDaEI7QUFBQSxNQUNBLDZCQUE2QjtBQUFBLFFBQzNCLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxRQUNkLFlBQVksQ0FBQyxNQUFNO0FBQUEsTUFDckI7QUFBQSxNQUNBLHFCQUFxQjtBQUFBLFFBQ25CLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSwrQkFBK0I7QUFBQSxRQUM3QixRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsTUFDaEI7QUFBQSxNQUNBLG9DQUFvQztBQUFBLFFBQ2xDLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxRQUNkLFlBQVksQ0FBQyxLQUFLO0FBQUEsTUFDcEI7QUFBQSxNQUNBLHFDQUFxQztBQUFBLFFBQ25DLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxRQUNkLFlBQVksQ0FBQyxNQUFNO0FBQUEsTUFDckI7QUFBQSxNQUNBLDhCQUE4QjtBQUFBLFFBQzVCLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxNQUNoQjtBQUFBLE1BQ0EsMEJBQTBCO0FBQUEsUUFDeEIsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLG9CQUFvQjtBQUFBLFFBQ2xCLGNBQWM7QUFBQSxRQUNkLFlBQVksQ0FBQyxNQUFNO0FBQUEsTUFDckI7QUFBQSxNQUNBLHdCQUF3QjtBQUFBLFFBQ3RCLFFBQVE7QUFBQSxRQUNSLFNBQVM7QUFBQSxRQUNULGNBQWM7QUFBQSxNQUNoQjtBQUFBLE1BQ0Esb0JBQW9CO0FBQUEsUUFDbEIsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLG9CQUFvQjtBQUFBLFFBQ2xCLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSw2QkFBNkI7QUFBQSxRQUMzQixRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsTUFDaEI7QUFBQSxNQUNBLDRCQUE0QjtBQUFBLFFBQzFCLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxRQUNkLFlBQVksQ0FBQyxLQUFLO0FBQUEsTUFDcEI7QUFBQSxNQUNBLCtCQUErQjtBQUFBLFFBQzdCLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSx5QkFBeUI7QUFBQSxRQUN2QixRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0EsNEJBQTRCO0FBQUEsUUFDMUIsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLE1BQ2hCO0FBQUEsTUFDQSxvQkFBb0I7QUFBQSxRQUNsQixRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0Esd0JBQXdCO0FBQUEsUUFDdEIsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLHFCQUFxQjtBQUFBLFFBQ25CLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSx3QkFBd0I7QUFBQSxRQUN0QixRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsTUFDaEI7QUFBQSxNQUNBLHlCQUF5QjtBQUFBLFFBQ3ZCLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxRQUNkLFlBQVksQ0FBQyxPQUFPO0FBQUEsTUFDdEI7QUFBQSxNQUNBLHVCQUF1QjtBQUFBLFFBQ3JCLFFBQVE7QUFBQSxRQUNSLFNBQVM7QUFBQSxRQUNULGNBQWM7QUFBQSxNQUNoQjtBQUFBLE1BQ0Esd0JBQXdCO0FBQUEsUUFDdEIsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLFFBQ2QsWUFBWSxDQUFDLE1BQU07QUFBQSxNQUNyQjtBQUFBLE1BQ0EsK0JBQStCO0FBQUEsUUFDN0IsUUFBUTtBQUFBLFFBQ1IsWUFBWSxDQUFDLE9BQU87QUFBQSxNQUN0QjtBQUFBLE1BQ0EsOEJBQThCO0FBQUEsUUFDNUIsUUFBUTtBQUFBLFFBQ1IsWUFBWSxDQUFDLE9BQU87QUFBQSxNQUN0QjtBQUFBLE1BQ0EsMkJBQTJCO0FBQUEsUUFDekIsUUFBUTtBQUFBLFFBQ1IsWUFBWSxDQUFDLE9BQU87QUFBQSxNQUN0QjtBQUFBLE1BQ0EsMkJBQTJCO0FBQUEsUUFDekIsUUFBUTtBQUFBLFFBQ1IsWUFBWSxDQUFDLE9BQU87QUFBQSxNQUN0QjtBQUFBLE1BQ0EsMEJBQTBCO0FBQUEsUUFDeEIsUUFBUTtBQUFBLFFBQ1IsWUFBWSxDQUFDLE9BQU87QUFBQSxNQUN0QjtBQUFBLE1BQ0Esb0JBQW9CO0FBQUEsUUFDbEIsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLHVCQUF1QjtBQUFBLFFBQ3JCLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSxtQkFBbUI7QUFBQSxRQUNqQixRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0EsNEJBQTRCO0FBQUEsUUFDMUIsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLE1BQ2hCO0FBQUEsTUFDQSwwQkFBMEI7QUFBQSxRQUN4QixRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsTUFDaEI7QUFBQSxNQUNBLG1CQUFtQjtBQUFBLFFBQ2pCLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSxrQ0FBa0M7QUFBQSxRQUNoQyxRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0EseUJBQXlCO0FBQUEsUUFDdkIsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLE1BQ2hCO0FBQUEsTUFDQSw2QkFBNkI7QUFBQSxRQUMzQixRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0EsbUJBQW1CO0FBQUEsUUFDakIsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLHdCQUF3QjtBQUFBLFFBQ3RCLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxNQUNoQjtBQUFBLE1BQ0EsNkJBQTZCO0FBQUEsUUFDM0IsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLE1BQ2hCO0FBQUEsTUFDQSxtQkFBbUI7QUFBQSxRQUNqQixRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0Esd0JBQXdCO0FBQUEsUUFDdEIsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLE1BQ2hCO0FBQUEsTUFDQSx3QkFBd0I7QUFBQSxRQUN0QixRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0EsK0JBQStCO0FBQUEsUUFDN0IsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLE1BQ2hCO0FBQUEsTUFDQSw0QkFBNEI7QUFBQSxRQUMxQixRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0EsNEJBQTRCO0FBQUEsUUFDMUIsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLDRDQUE0QztBQUFBLFFBQzFDLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSxtQ0FBbUM7QUFBQSxRQUNqQyxRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsTUFDaEI7QUFBQSxNQUNBLG9CQUFvQjtBQUFBLFFBQ2xCLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSx3QkFBd0I7QUFBQSxRQUN0QixRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0EsNEJBQTRCO0FBQUEsUUFDMUIsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLHlCQUF5QjtBQUFBLFFBQ3ZCLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSx1QkFBdUI7QUFBQSxRQUNyQixRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsUUFDZCxZQUFZLENBQUMsS0FBSztBQUFBLE1BQ3BCO0FBQUEsTUFDQSx3QkFBd0I7QUFBQSxRQUN0QixRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0Esd0JBQXdCO0FBQUEsUUFDdEIsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLE1BQ2hCO0FBQUEsTUFDQSw0QkFBNEI7QUFBQSxRQUMxQixRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsTUFDaEI7QUFBQSxNQUNBLHlCQUF5QjtBQUFBLFFBQ3ZCLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxNQUNoQjtBQUFBLE1BQ0Esd0JBQXdCO0FBQUEsUUFDdEIsUUFBUTtBQUFBLFFBQ1IsWUFBWSxDQUFDLElBQUk7QUFBQSxNQUNuQjtBQUFBLE1BQ0EsbUJBQW1CO0FBQUEsUUFDakIsUUFBUTtBQUFBLFFBQ1IsWUFBWSxDQUFDLEtBQUs7QUFBQSxNQUNwQjtBQUFBLE1BQ0Esd0JBQXdCO0FBQUEsUUFDdEIsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLE1BQ2hCO0FBQUEsTUFDQSx3QkFBd0I7QUFBQSxRQUN0QixRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0EsbUJBQW1CO0FBQUEsUUFDakIsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLHlCQUF5QjtBQUFBLFFBQ3ZCLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSxvQkFBb0I7QUFBQSxRQUNsQixjQUFjO0FBQUEsTUFDaEI7QUFBQSxNQUNBLHdCQUF3QjtBQUFBLFFBQ3RCLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxRQUNkLFlBQVksQ0FBQyxLQUFLO0FBQUEsTUFDcEI7QUFBQSxNQUNBLDhCQUE4QjtBQUFBLFFBQzVCLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxRQUNkLFlBQVksQ0FBQyxLQUFLO0FBQUEsTUFDcEI7QUFBQSxNQUNBLHlCQUF5QjtBQUFBLFFBQ3ZCLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSw0QkFBNEI7QUFBQSxRQUMxQixRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsUUFDZCxZQUFZLENBQUMsVUFBVTtBQUFBLE1BQ3pCO0FBQUEsTUFDQSx1QkFBdUI7QUFBQSxRQUNyQixRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0EsbUJBQW1CO0FBQUEsUUFDakIsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLHNCQUFzQjtBQUFBLFFBQ3BCLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSwrQkFBK0I7QUFBQSxRQUM3QixRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsTUFDaEI7QUFBQSxNQUNBLHFCQUFxQjtBQUFBLFFBQ25CLFFBQVE7QUFBQSxRQUNSLFlBQVksQ0FBQyxLQUFLO0FBQUEsTUFDcEI7QUFBQSxNQUNBLDBCQUEwQjtBQUFBLFFBQ3hCLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxNQUNoQjtBQUFBLE1BQ0EseUJBQXlCO0FBQUEsUUFDdkIsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLE1BQ2hCO0FBQUEsTUFDQSxtQkFBbUI7QUFBQSxRQUNqQixRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0EsbUJBQW1CO0FBQUEsUUFDakIsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLG1CQUFtQjtBQUFBLFFBQ2pCLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSx3QkFBd0I7QUFBQSxRQUN0QixRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsTUFDaEI7QUFBQSxNQUNBLDJCQUEyQjtBQUFBLFFBQ3pCLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSwyQkFBMkI7QUFBQSxRQUN6QixRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsUUFDZCxZQUFZLENBQUMsS0FBSztBQUFBLE1BQ3BCO0FBQUEsTUFDQSx5QkFBeUI7QUFBQSxRQUN2QixRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0Esd0JBQXdCO0FBQUEsUUFDdEIsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLHlCQUF5QjtBQUFBLFFBQ3ZCLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxNQUNoQjtBQUFBLE1BQ0Esd0JBQXdCO0FBQUEsUUFDdEIsUUFBUTtBQUFBLFFBQ1IsWUFBWSxDQUFDLE1BQU07QUFBQSxNQUNyQjtBQUFBLE1BQ0Esd0JBQXdCO0FBQUEsUUFDdEIsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLFFBQ2QsWUFBWSxDQUFDLE9BQU87QUFBQSxNQUN0QjtBQUFBLE1BQ0Esb0JBQW9CO0FBQUEsUUFDbEIsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLHVCQUF1QjtBQUFBLFFBQ3JCLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSx1QkFBdUI7QUFBQSxRQUNyQixRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0EsNEJBQTRCO0FBQUEsUUFDMUIsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLDRCQUE0QjtBQUFBLFFBQzFCLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxNQUNoQjtBQUFBLE1BQ0EsNEJBQTRCO0FBQUEsUUFDMUIsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLDRCQUE0QjtBQUFBLFFBQzFCLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxNQUNoQjtBQUFBLE1BQ0EsMEJBQTBCO0FBQUEsUUFDeEIsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLFFBQ2QsWUFBWSxDQUFDLE1BQU07QUFBQSxNQUNyQjtBQUFBLE1BQ0EsOEJBQThCO0FBQUEsUUFDNUIsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLDJCQUEyQjtBQUFBLFFBQ3pCLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSx1QkFBdUI7QUFBQSxRQUNyQixRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsTUFDaEI7QUFBQSxNQUNBLHVCQUF1QjtBQUFBLFFBQ3JCLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxNQUNoQjtBQUFBLE1BQ0EsbUJBQW1CO0FBQUEsUUFDakIsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLHdCQUF3QjtBQUFBLFFBQ3RCLFFBQVE7QUFBQSxRQUNSLFNBQVM7QUFBQSxRQUNULGNBQWM7QUFBQSxNQUNoQjtBQUFBLE1BQ0EsdUJBQXVCO0FBQUEsUUFDckIsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLE1BQ2hCO0FBQUEsTUFDQSx5Q0FBeUM7QUFBQSxRQUN2QyxRQUFRO0FBQUEsUUFDUixTQUFTO0FBQUEsUUFDVCxjQUFjO0FBQUEsTUFDaEI7QUFBQSxNQUNBLDZDQUE2QztBQUFBLFFBQzNDLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxNQUNoQjtBQUFBLE1BQ0EsNkNBQTZDO0FBQUEsUUFDM0MsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLE1BQ2hCO0FBQUEsTUFDQSxnREFBZ0Q7QUFBQSxRQUM5QyxRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsTUFDaEI7QUFBQSxNQUNBLDJDQUEyQztBQUFBLFFBQ3pDLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSxnREFBZ0Q7QUFBQSxRQUM5QyxRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsTUFDaEI7QUFBQSxNQUNBLGtEQUFrRDtBQUFBLFFBQ2hELFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxNQUNoQjtBQUFBLE1BQ0EsaURBQWlEO0FBQUEsUUFDL0MsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLE1BQ2hCO0FBQUEsTUFDQSxvREFBb0Q7QUFBQSxRQUNsRCxRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsTUFDaEI7QUFBQSxNQUNBLDBDQUEwQztBQUFBLFFBQ3hDLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxNQUNoQjtBQUFBLE1BQ0Esd0JBQXdCO0FBQUEsUUFDdEIsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLFFBQ2QsWUFBWSxDQUFDLE1BQU07QUFBQSxNQUNyQjtBQUFBLE1BQ0EsNkJBQTZCO0FBQUEsUUFDM0IsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLFFBQ2QsWUFBWSxDQUFDLFdBQVc7QUFBQSxNQUMxQjtBQUFBLE1BQ0Esd0JBQXdCO0FBQUEsUUFDdEIsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLG9DQUFvQztBQUFBLFFBQ2xDLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSx1QkFBdUI7QUFBQSxRQUNyQixRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsTUFDaEI7QUFBQSxNQUNBLHdCQUF3QjtBQUFBLFFBQ3RCLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxRQUNkLFlBQVksQ0FBQyxNQUFNO0FBQUEsTUFDckI7QUFBQSxNQUNBLHFCQUFxQjtBQUFBLFFBQ25CLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSxtQkFBbUI7QUFBQSxRQUNqQixRQUFRO0FBQUEsUUFDUixZQUFZLENBQUMsS0FBSztBQUFBLE1BQ3BCO0FBQUEsTUFDQSxxQ0FBcUM7QUFBQSxRQUNuQyxRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsTUFDaEI7QUFBQSxNQUNBLHVCQUF1QjtBQUFBLFFBQ3JCLFFBQVE7QUFBQSxRQUNSLFlBQVksQ0FBQyxLQUFLO0FBQUEsTUFDcEI7QUFBQSxNQUNBLDJCQUEyQjtBQUFBLFFBQ3pCLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSx3QkFBd0I7QUFBQSxRQUN0QixRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0EsbUJBQW1CO0FBQUEsUUFDakIsUUFBUTtBQUFBLFFBQ1IsWUFBWSxDQUFDLEtBQUs7QUFBQSxNQUNwQjtBQUFBLE1BQ0EsdUJBQXVCO0FBQUEsUUFDckIsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLFFBQ2QsWUFBWSxDQUFDLEtBQUs7QUFBQSxNQUNwQjtBQUFBLE1BQ0EseUJBQXlCO0FBQUEsUUFDdkIsUUFBUTtBQUFBLFFBQ1IsU0FBUztBQUFBLFFBQ1QsY0FBYztBQUFBLE1BQ2hCO0FBQUEsTUFDQSx3QkFBd0I7QUFBQSxRQUN0QixRQUFRO0FBQUEsUUFDUixTQUFTO0FBQUEsUUFDVCxjQUFjO0FBQUEsTUFDaEI7QUFBQSxNQUNBLHNDQUFzQztBQUFBLFFBQ3BDLGNBQWM7QUFBQSxNQUNoQjtBQUFBLE1BQ0Esb0JBQW9CO0FBQUEsUUFDbEIsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLHVCQUF1QjtBQUFBLFFBQ3JCLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSx5QkFBeUI7QUFBQSxRQUN2QixRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0EsMEJBQTBCO0FBQUEsUUFDeEIsUUFBUTtBQUFBLFFBQ1IsWUFBWSxDQUFDLEtBQUs7QUFBQSxNQUNwQjtBQUFBLE1BQ0EseUJBQXlCO0FBQUEsUUFDdkIsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLE1BQ2hCO0FBQUEsTUFDQSx3Q0FBd0M7QUFBQSxRQUN0QyxRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsTUFDaEI7QUFBQSxNQUNBLHdCQUF3QjtBQUFBLFFBQ3RCLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxRQUNkLFlBQVksQ0FBQyxTQUFTO0FBQUEsTUFDeEI7QUFBQSxNQUNBLDRCQUE0QjtBQUFBLFFBQzFCLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSxrQ0FBa0M7QUFBQSxRQUNoQyxRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0EsNEJBQTRCO0FBQUEsUUFDMUIsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLE1BQ2hCO0FBQUEsTUFDQSw2QkFBNkI7QUFBQSxRQUMzQixRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsTUFDaEI7QUFBQSxNQUNBLDRCQUE0QjtBQUFBLFFBQzFCLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxNQUNoQjtBQUFBLE1BQ0EsMkJBQTJCO0FBQUEsUUFDekIsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLHVCQUF1QjtBQUFBLFFBQ3JCLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxRQUNkLFlBQVksQ0FBQyxLQUFLO0FBQUEsTUFDcEI7QUFBQSxNQUNBLGdDQUFnQztBQUFBLFFBQzlCLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSxpQ0FBaUM7QUFBQSxRQUMvQixRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0EseUNBQXlDO0FBQUEsUUFDdkMsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLDBDQUEwQztBQUFBLFFBQ3hDLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSx1QkFBdUI7QUFBQSxRQUNyQixRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsUUFDZCxZQUFZLENBQUMsS0FBSztBQUFBLE1BQ3BCO0FBQUEsTUFDQSxvQkFBb0I7QUFBQSxRQUNsQixRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0EsbUJBQW1CO0FBQUEsUUFDakIsUUFBUTtBQUFBLFFBQ1IsWUFBWSxDQUFDLEtBQUs7QUFBQSxNQUNwQjtBQUFBLE1BQ0Esb0JBQW9CO0FBQUEsUUFDbEIsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLFFBQ2QsWUFBWSxDQUFDLElBQUk7QUFBQSxNQUNuQjtBQUFBLE1BQ0Esb0JBQW9CO0FBQUEsUUFDbEIsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLHdCQUF3QjtBQUFBLFFBQ3RCLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxNQUNoQjtBQUFBLE1BQ0EscUJBQXFCO0FBQUEsUUFDbkIsWUFBWSxDQUFDLE9BQU87QUFBQSxNQUN0QjtBQUFBLE1BQ0EseUJBQXlCO0FBQUEsUUFDdkIsUUFBUTtBQUFBLFFBQ1IsU0FBUztBQUFBLFFBQ1QsY0FBYztBQUFBLE1BQ2hCO0FBQUEsTUFDQSxvQkFBb0I7QUFBQSxRQUNsQixRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0EsMkJBQTJCO0FBQUEsUUFDekIsUUFBUTtBQUFBLFFBQ1IsWUFBWSxDQUFDLEtBQUs7QUFBQSxNQUNwQjtBQUFBLE1BQ0EsbUNBQW1DO0FBQUEsUUFDakMsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLE1BQ2hCO0FBQUEsTUFDQSxpQ0FBaUM7QUFBQSxRQUMvQixRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsTUFDaEI7QUFBQSxNQUNBLDJCQUEyQjtBQUFBLFFBQ3pCLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSxvQkFBb0I7QUFBQSxRQUNsQixRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0Esa0NBQWtDO0FBQUEsUUFDaEMsUUFBUTtBQUFBLFFBQ1IsU0FBUztBQUFBLFFBQ1QsY0FBYztBQUFBLE1BQ2hCO0FBQUEsTUFDQSxxQkFBcUI7QUFBQSxRQUNuQixRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0EseUJBQXlCO0FBQUEsUUFDdkIsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLHlCQUF5QjtBQUFBLFFBQ3ZCLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSw4QkFBOEI7QUFBQSxRQUM1QixRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0EseUJBQXlCO0FBQUEsUUFDdkIsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLHlCQUF5QjtBQUFBLFFBQ3ZCLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxRQUNkLFlBQVksQ0FBQyxPQUFPLE9BQU87QUFBQSxNQUM3QjtBQUFBLE1BQ0Esb0JBQW9CO0FBQUEsUUFDbEIsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLHFCQUFxQjtBQUFBLFFBQ25CLFFBQVE7QUFBQSxRQUNSLFlBQVksQ0FBQyxPQUFPO0FBQUEsTUFDdEI7QUFBQSxNQUNBLG1CQUFtQjtBQUFBLFFBQ2pCLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSxvQkFBb0I7QUFBQSxRQUNsQixRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0EsdUJBQXVCO0FBQUEsUUFDckIsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLFFBQ2QsWUFBWSxDQUFDLEtBQUs7QUFBQSxNQUNwQjtBQUFBLE1BQ0EsNEJBQTRCO0FBQUEsUUFDMUIsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLFFBQ2QsWUFBWSxDQUFDLE9BQU8sT0FBTyxLQUFLO0FBQUEsTUFDbEM7QUFBQSxNQUNBLHNDQUFzQztBQUFBLFFBQ3BDLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxRQUNkLFlBQVksQ0FBQyxLQUFLO0FBQUEsTUFDcEI7QUFBQSxNQUNBLHVCQUF1QjtBQUFBLFFBQ3JCLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxRQUNkLFlBQVksQ0FBQyxPQUFPO0FBQUEsTUFDdEI7QUFBQSxNQUNBLDBCQUEwQjtBQUFBLFFBQ3hCLFFBQVE7QUFBQSxRQUNSLFNBQVM7QUFBQSxRQUNULGNBQWM7QUFBQSxRQUNkLFlBQVksQ0FBQyxJQUFJO0FBQUEsTUFDbkI7QUFBQSxNQUNBLDRCQUE0QjtBQUFBLFFBQzFCLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxNQUNoQjtBQUFBLE1BQ0Esb0JBQW9CO0FBQUEsUUFDbEIsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLHlCQUF5QjtBQUFBLFFBQ3ZCLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxNQUNoQjtBQUFBLE1BQ0Esd0JBQXdCO0FBQUEsUUFDdEIsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLE1BQ2hCO0FBQUEsTUFDQSwrQkFBK0I7QUFBQSxRQUM3QixRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsTUFDaEI7QUFBQSxNQUNBLDhCQUE4QjtBQUFBLFFBQzVCLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxNQUNoQjtBQUFBLE1BQ0Esb0JBQW9CO0FBQUEsUUFDbEIsUUFBUTtBQUFBLFFBQ1IsU0FBUztBQUFBLFFBQ1QsY0FBYztBQUFBLFFBQ2QsWUFBWSxDQUFDLFFBQVEsS0FBSztBQUFBLE1BQzVCO0FBQUEsTUFDQSwrQkFBK0I7QUFBQSxRQUM3QixRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsTUFDaEI7QUFBQSxNQUNBLHdCQUF3QjtBQUFBLFFBQ3RCLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSxxQkFBcUI7QUFBQSxRQUNuQixZQUFZLENBQUMsT0FBTztBQUFBLE1BQ3RCO0FBQUEsTUFDQSwyQkFBMkI7QUFBQSxRQUN6QixRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsUUFDZCxZQUFZLENBQUMsUUFBUTtBQUFBLE1BQ3ZCO0FBQUEsTUFDQSx3QkFBd0I7QUFBQSxRQUN0QixRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0Esd0JBQXdCO0FBQUEsUUFDdEIsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLE1BQ2hCO0FBQUEsTUFDQSw0QkFBNEI7QUFBQSxRQUMxQixRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsTUFDaEI7QUFBQSxNQUNBLDJCQUEyQjtBQUFBLFFBQ3pCLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSxtQkFBbUI7QUFBQSxRQUNqQixRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0EsZ0NBQWdDO0FBQUEsUUFDOUIsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLE1BQ2hCO0FBQUEsTUFDQSxpQ0FBaUM7QUFBQSxRQUMvQixRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsTUFDaEI7QUFBQSxNQUNBLHVCQUF1QjtBQUFBLFFBQ3JCLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxRQUNkLFlBQVksQ0FBQyxRQUFRO0FBQUEsTUFDdkI7QUFBQSxNQUNBLHVCQUF1QjtBQUFBLFFBQ3JCLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxRQUNkLFlBQVksQ0FBQyxLQUFLO0FBQUEsTUFDcEI7QUFBQSxNQUNBLDJCQUEyQjtBQUFBLFFBQ3pCLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSx1QkFBdUI7QUFBQSxRQUNyQixRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0EsNEJBQTRCO0FBQUEsUUFDMUIsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLE1BQ2hCO0FBQUEsTUFDQSxnQ0FBZ0M7QUFBQSxRQUM5QixRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsTUFDaEI7QUFBQSxNQUNBLDBCQUEwQjtBQUFBLFFBQ3hCLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSx3QkFBd0I7QUFBQSxRQUN0QixRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsUUFDZCxZQUFZLENBQUMsU0FBUztBQUFBLE1BQ3hCO0FBQUEsTUFDQSw0QkFBNEI7QUFBQSxRQUMxQixRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsTUFDaEI7QUFBQSxNQUNBLHVCQUF1QjtBQUFBLFFBQ3JCLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxNQUNoQjtBQUFBLE1BQ0EsbUJBQW1CO0FBQUEsUUFDakIsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLDRCQUE0QjtBQUFBLFFBQzFCLFFBQVE7QUFBQSxRQUNSLFlBQVksQ0FBQyxLQUFLO0FBQUEsTUFDcEI7QUFBQSxNQUNBLDhCQUE4QjtBQUFBLFFBQzVCLFFBQVE7QUFBQSxRQUNSLFlBQVksQ0FBQyxLQUFLO0FBQUEsTUFDcEI7QUFBQSxNQUNBLDBCQUEwQjtBQUFBLFFBQ3hCLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSx3QkFBd0I7QUFBQSxRQUN0QixRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsUUFDZCxZQUFZLENBQUMsTUFBTTtBQUFBLE1BQ3JCO0FBQUEsTUFDQSw2QkFBNkI7QUFBQSxRQUMzQixRQUFRO0FBQUEsUUFDUixTQUFTO0FBQUEsUUFDVCxjQUFjO0FBQUEsUUFDZCxZQUFZLENBQUMsYUFBYTtBQUFBLE1BQzVCO0FBQUEsTUFDQSxvQkFBb0I7QUFBQSxRQUNsQixRQUFRO0FBQUEsUUFDUixZQUFZLENBQUMsS0FBSztBQUFBLE1BQ3BCO0FBQUEsTUFDQSwyQkFBMkI7QUFBQSxRQUN6QixRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsUUFDZCxZQUFZLENBQUMsTUFBTTtBQUFBLE1BQ3JCO0FBQUEsTUFDQSwyQkFBMkI7QUFBQSxRQUN6QixRQUFRO0FBQUEsUUFDUixZQUFZLENBQUMsTUFBTSxNQUFNLElBQUk7QUFBQSxNQUMvQjtBQUFBLE1BQ0EsMEJBQTBCO0FBQUEsUUFDeEIsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLFFBQ2QsWUFBWSxDQUFDLFFBQVE7QUFBQSxNQUN2QjtBQUFBLE1BQ0Esa0NBQWtDO0FBQUEsUUFDaEMsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLE1BQ2hCO0FBQUEsTUFDQSx1Q0FBdUM7QUFBQSxRQUNyQyxRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsTUFDaEI7QUFBQSxNQUNBLHlEQUF5RDtBQUFBLFFBQ3ZELFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxNQUNoQjtBQUFBLE1BQ0EsbUNBQW1DO0FBQUEsUUFDakMsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLE1BQ2hCO0FBQUEsTUFDQSxpQ0FBaUM7QUFBQSxRQUMvQixRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsTUFDaEI7QUFBQSxNQUNBLDRCQUE0QjtBQUFBLFFBQzFCLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxNQUNoQjtBQUFBLE1BQ0EscUNBQXFDO0FBQUEsUUFDbkMsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLE1BQ2hCO0FBQUEsTUFDQSwrQ0FBK0M7QUFBQSxRQUM3QyxRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsTUFDaEI7QUFBQSxNQUNBLHlDQUF5QztBQUFBLFFBQ3ZDLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxNQUNoQjtBQUFBLE1BQ0EsaUNBQWlDO0FBQUEsUUFDL0IsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLE1BQ2hCO0FBQUEsTUFDQSwwQ0FBMEM7QUFBQSxRQUN4QyxRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsTUFDaEI7QUFBQSxNQUNBLGlDQUFpQztBQUFBLFFBQy9CLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxNQUNoQjtBQUFBLE1BQ0EsaURBQWlEO0FBQUEsUUFDL0MsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLE1BQ2hCO0FBQUEsTUFDQSxvQkFBb0I7QUFBQSxRQUNsQixRQUFRO0FBQUEsUUFDUixZQUFZLENBQUMsTUFBTTtBQUFBLE1BQ3JCO0FBQUEsTUFDQSx3Q0FBd0M7QUFBQSxRQUN0QyxRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsUUFDZCxZQUFZLENBQUMsS0FBSztBQUFBLE1BQ3BCO0FBQUEsTUFDQSxpQ0FBaUM7QUFBQSxRQUMvQixRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsTUFDaEI7QUFBQSxNQUNBLHNDQUFzQztBQUFBLFFBQ3BDLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxRQUNkLFlBQVksQ0FBQyxPQUFPO0FBQUEsTUFDdEI7QUFBQSxNQUNBLGdDQUFnQztBQUFBLFFBQzlCLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxNQUNoQjtBQUFBLE1BQ0EsNEJBQTRCO0FBQUEsUUFDMUIsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLFFBQ2QsWUFBWSxDQUFDLFVBQVU7QUFBQSxNQUN6QjtBQUFBLE1BQ0EsNkJBQTZCO0FBQUEsUUFDM0IsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLFFBQ2QsWUFBWSxDQUFDLE9BQU87QUFBQSxNQUN0QjtBQUFBLE1BQ0Esd0JBQXdCO0FBQUEsUUFDdEIsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLFFBQ2QsWUFBWSxDQUFDLE1BQU07QUFBQSxNQUNyQjtBQUFBLE1BQ0EsbUJBQW1CO0FBQUEsUUFDakIsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLHFCQUFxQjtBQUFBLFFBQ25CLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSxvQkFBb0I7QUFBQSxRQUNsQixRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0EsdUNBQXVDO0FBQUEsUUFDckMsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLDJCQUEyQjtBQUFBLFFBQ3pCLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxRQUNkLFlBQVksQ0FBQyxNQUFNO0FBQUEsTUFDckI7QUFBQSxNQUNBLDJCQUEyQjtBQUFBLFFBQ3pCLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxRQUNkLFlBQVksQ0FBQyxNQUFNO0FBQUEsTUFDckI7QUFBQSxNQUNBLHdCQUF3QjtBQUFBLFFBQ3RCLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxRQUNkLFlBQVksQ0FBQyxNQUFNO0FBQUEsTUFDckI7QUFBQSxNQUNBLHlCQUF5QjtBQUFBLFFBQ3ZCLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSw4QkFBOEI7QUFBQSxRQUM1QixRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0EsNEJBQTRCO0FBQUEsUUFDMUIsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLCtCQUErQjtBQUFBLFFBQzdCLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSxvQkFBb0I7QUFBQSxRQUNsQixRQUFRO0FBQUEsUUFDUixZQUFZLENBQUMsT0FBTyxNQUFNO0FBQUEsTUFDNUI7QUFBQSxNQUNBLG1CQUFtQjtBQUFBLFFBQ2pCLFFBQVE7QUFBQSxRQUNSLFlBQVksQ0FBQyxPQUFPLFFBQVEsUUFBUSxLQUFLO0FBQUEsTUFDM0M7QUFBQSxNQUNBLDZCQUE2QjtBQUFBLFFBQzNCLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSx5QkFBeUI7QUFBQSxRQUN2QixRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0EsNkJBQTZCO0FBQUEsUUFDM0IsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLGdDQUFnQztBQUFBLFFBQzlCLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxNQUNoQjtBQUFBLE1BQ0EsK0JBQStCO0FBQUEsUUFDN0IsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLE1BQ2hCO0FBQUEsTUFDQSwyQkFBMkI7QUFBQSxRQUN6QixRQUFRO0FBQUEsUUFDUixTQUFTO0FBQUEsUUFDVCxjQUFjO0FBQUEsTUFDaEI7QUFBQSxNQUNBLDZCQUE2QjtBQUFBLFFBQzNCLFFBQVE7QUFBQSxRQUNSLFNBQVM7QUFBQSxRQUNULGNBQWM7QUFBQSxNQUNoQjtBQUFBLE1BQ0Esb0JBQW9CO0FBQUEsUUFDbEIsY0FBYztBQUFBLFFBQ2QsWUFBWSxDQUFDLE1BQU07QUFBQSxNQUNyQjtBQUFBLE1BQ0EsMEJBQTBCO0FBQUEsUUFDeEIsY0FBYztBQUFBLFFBQ2QsWUFBWSxDQUFDLFlBQVk7QUFBQSxNQUMzQjtBQUFBLE1BQ0Esc0JBQXNCO0FBQUEsUUFDcEIsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLFFBQ2QsWUFBWSxDQUFDLE9BQU8sS0FBSztBQUFBLE1BQzNCO0FBQUEsTUFDQSx3QkFBd0I7QUFBQSxRQUN0QixRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsTUFDaEI7QUFBQSxNQUNBLDhCQUE4QjtBQUFBLFFBQzVCLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSxtQkFBbUI7QUFBQSxRQUNqQixRQUFRO0FBQUEsUUFDUixZQUFZLENBQUMsS0FBSztBQUFBLE1BQ3BCO0FBQUEsTUFDQSx1QkFBdUI7QUFBQSxRQUNyQixRQUFRO0FBQUEsUUFDUixZQUFZLENBQUMsSUFBSTtBQUFBLE1BQ25CO0FBQUEsTUFDQSx5QkFBeUI7QUFBQSxRQUN2QixRQUFRO0FBQUEsUUFDUixZQUFZLENBQUMsSUFBSTtBQUFBLE1BQ25CO0FBQUEsTUFDQSx1QkFBdUI7QUFBQSxRQUNyQixRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0EsZ0NBQWdDO0FBQUEsUUFDOUIsUUFBUTtBQUFBLFFBQ1IsU0FBUztBQUFBLE1BQ1g7QUFBQSxNQUNBLDhCQUE4QjtBQUFBLFFBQzVCLFFBQVE7QUFBQSxRQUNSLFNBQVM7QUFBQSxNQUNYO0FBQUEsTUFDQSxpQ0FBaUM7QUFBQSxRQUMvQixRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0EseUJBQXlCO0FBQUEsUUFDdkIsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLE1BQ2hCO0FBQUEsTUFDQSxvQkFBb0I7QUFBQSxRQUNsQixRQUFRO0FBQUEsUUFDUixZQUFZLENBQUMsS0FBSztBQUFBLE1BQ3BCO0FBQUEsTUFDQSxtQkFBbUI7QUFBQSxRQUNqQixRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0EsbUNBQW1DO0FBQUEsUUFDakMsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLHFDQUFxQztBQUFBLFFBQ25DLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSw0QkFBNEI7QUFBQSxRQUMxQixRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0EsNkJBQTZCO0FBQUEsUUFDM0IsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLDRCQUE0QjtBQUFBLFFBQzFCLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxRQUNkLFlBQVksQ0FBQyxPQUFPLE9BQU8sT0FBTyxPQUFPLE1BQU0sUUFBUSxTQUFTLE9BQU8sT0FBTyxRQUFRLE9BQU8sVUFBVSxPQUFPLE9BQU8sT0FBTyxPQUFPLE9BQU8sT0FBTyxPQUFPLE9BQU8sT0FBTyxRQUFRO0FBQUEsTUFDaEw7QUFBQSxNQUNBLG1CQUFtQjtBQUFBLFFBQ2pCLFFBQVE7QUFBQSxRQUNSLFlBQVksQ0FBQyxLQUFLO0FBQUEsTUFDcEI7QUFBQSxNQUNBLHVCQUF1QjtBQUFBLFFBQ3JCLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxNQUNoQjtBQUFBLE1BQ0EsbUJBQW1CO0FBQUEsUUFDakIsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLGlDQUFpQztBQUFBLFFBQy9CLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxRQUNkLFlBQVksQ0FBQyxLQUFLO0FBQUEsTUFDcEI7QUFBQSxNQUNBLG1CQUFtQjtBQUFBLFFBQ2pCLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxRQUNkLFlBQVksQ0FBQyxLQUFLO0FBQUEsTUFDcEI7QUFBQSxNQUNBLDBCQUEwQjtBQUFBLFFBQ3hCLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSx5QkFBeUI7QUFBQSxRQUN2QixRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsUUFDZCxZQUFZLENBQUMsT0FBTztBQUFBLE1BQ3RCO0FBQUEsTUFDQSx1QkFBdUI7QUFBQSxRQUNyQixRQUFRO0FBQUEsUUFDUixZQUFZLENBQUMsVUFBVSxXQUFXLFVBQVUsVUFBVSxPQUFPLE1BQU07QUFBQSxNQUNyRTtBQUFBLE1BQ0EsK0JBQStCO0FBQUEsUUFDN0IsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLE1BQ2hCO0FBQUEsTUFDQSxzQkFBc0I7QUFBQSxRQUNwQixRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0Esb0JBQW9CO0FBQUEsUUFDbEIsUUFBUTtBQUFBLFFBQ1IsWUFBWSxDQUFDLE1BQU07QUFBQSxNQUNyQjtBQUFBLE1BQ0EsbUJBQW1CO0FBQUEsUUFDakIsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLHVCQUF1QjtBQUFBLFFBQ3JCLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxNQUNoQjtBQUFBLE1BQ0EsK0JBQStCO0FBQUEsUUFDN0IsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLFFBQ2QsWUFBWSxDQUFDLE1BQU07QUFBQSxNQUNyQjtBQUFBLE1BQ0EseUJBQXlCO0FBQUEsUUFDdkIsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLHdCQUF3QjtBQUFBLFFBQ3RCLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSxtQ0FBbUM7QUFBQSxRQUNqQyxRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsUUFDZCxZQUFZLENBQUMsS0FBSztBQUFBLE1BQ3BCO0FBQUEsTUFDQSxtQkFBbUI7QUFBQSxRQUNqQixRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsUUFDZCxZQUFZLENBQUMsS0FBSztBQUFBLE1BQ3BCO0FBQUEsTUFDQSxtQkFBbUI7QUFBQSxRQUNqQixRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0EscUNBQXFDO0FBQUEsUUFDbkMsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLDZCQUE2QjtBQUFBLFFBQzNCLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxRQUNkLFlBQVksQ0FBQyxLQUFLO0FBQUEsTUFDcEI7QUFBQSxNQUNBLHdCQUF3QjtBQUFBLFFBQ3RCLFFBQVE7QUFBQSxRQUNSLFlBQVksQ0FBQyxLQUFLO0FBQUEsTUFDcEI7QUFBQSxNQUNBLDZCQUE2QjtBQUFBLFFBQzNCLFFBQVE7QUFBQSxRQUNSLFlBQVksQ0FBQyxPQUFPLEtBQUs7QUFBQSxNQUMzQjtBQUFBLE1BQ0EsMEJBQTBCO0FBQUEsUUFDeEIsUUFBUTtBQUFBLFFBQ1IsWUFBWSxDQUFDLEtBQUs7QUFBQSxNQUNwQjtBQUFBLE1BQ0Esd0JBQXdCO0FBQUEsUUFDdEIsUUFBUTtBQUFBLFFBQ1IsU0FBUztBQUFBLFFBQ1QsY0FBYztBQUFBLE1BQ2hCO0FBQUEsTUFDQSw2QkFBNkI7QUFBQSxRQUMzQixRQUFRO0FBQUEsUUFDUixTQUFTO0FBQUEsUUFDVCxjQUFjO0FBQUEsTUFDaEI7QUFBQSxNQUNBLHNCQUFzQjtBQUFBLFFBQ3BCLFFBQVE7QUFBQSxRQUNSLFlBQVksQ0FBQyxLQUFLO0FBQUEsTUFDcEI7QUFBQSxNQUNBLHNCQUFzQjtBQUFBLFFBQ3BCLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSwwQkFBMEI7QUFBQSxRQUN4QixRQUFRO0FBQUEsUUFDUixZQUFZLENBQUMsT0FBTyxLQUFLO0FBQUEsTUFDM0I7QUFBQSxNQUNBLCtCQUErQjtBQUFBLFFBQzdCLFFBQVE7QUFBQSxRQUNSLFlBQVksQ0FBQyxLQUFLO0FBQUEsTUFDcEI7QUFBQSxNQUNBLHFCQUFxQjtBQUFBLFFBQ25CLFFBQVE7QUFBQSxRQUNSLFlBQVksQ0FBQyxJQUFJO0FBQUEsTUFDbkI7QUFBQSxNQUNBLCtCQUErQjtBQUFBLFFBQzdCLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSw4QkFBOEI7QUFBQSxRQUM1QixRQUFRO0FBQUEsUUFDUixZQUFZLENBQUMsSUFBSTtBQUFBLE1BQ25CO0FBQUEsTUFDQSx5QkFBeUI7QUFBQSxRQUN2QixRQUFRO0FBQUEsUUFDUixZQUFZLENBQUMsS0FBSztBQUFBLE1BQ3BCO0FBQUEsTUFDQSx3QkFBd0I7QUFBQSxRQUN0QixRQUFRO0FBQUEsUUFDUixZQUFZLENBQUMsS0FBSztBQUFBLE1BQ3BCO0FBQUEsTUFDQSw0QkFBNEI7QUFBQSxRQUMxQixRQUFRO0FBQUEsUUFDUixZQUFZLENBQUMsU0FBUztBQUFBLE1BQ3hCO0FBQUEsTUFDQSx1QkFBdUI7QUFBQSxRQUNyQixRQUFRO0FBQUEsUUFDUixZQUFZLENBQUMsS0FBSztBQUFBLE1BQ3BCO0FBQUEsTUFDQSx1QkFBdUI7QUFBQSxRQUNyQixRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsUUFDZCxZQUFZLENBQUMsS0FBSztBQUFBLE1BQ3BCO0FBQUEsTUFDQSxnQ0FBZ0M7QUFBQSxRQUM5QixRQUFRO0FBQUEsUUFDUixTQUFTO0FBQUEsUUFDVCxjQUFjO0FBQUEsTUFDaEI7QUFBQSxNQUNBLDBCQUEwQjtBQUFBLFFBQ3hCLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxRQUNkLFlBQVksQ0FBQyxNQUFNLE9BQU8sSUFBSTtBQUFBLE1BQ2hDO0FBQUEsTUFDQSxpQ0FBaUM7QUFBQSxRQUMvQixRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsTUFDaEI7QUFBQSxNQUNBLDhDQUE4QztBQUFBLFFBQzVDLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSxxQ0FBcUM7QUFBQSxRQUNuQyxRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0Esc0NBQXNDO0FBQUEsUUFDcEMsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLDRCQUE0QjtBQUFBLFFBQzFCLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxNQUNoQjtBQUFBLE1BQ0EsMkJBQTJCO0FBQUEsUUFDekIsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLE1BQ2hCO0FBQUEsTUFDQSw4QkFBOEI7QUFBQSxRQUM1QixRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsUUFDZCxZQUFZLENBQUMsT0FBTztBQUFBLE1BQ3RCO0FBQUEsTUFDQSxtQ0FBbUM7QUFBQSxRQUNqQyxRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0EsMkNBQTJDO0FBQUEsUUFDekMsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLHVCQUF1QjtBQUFBLFFBQ3JCLFFBQVE7QUFBQSxRQUNSLFlBQVksQ0FBQyxLQUFLO0FBQUEsTUFDcEI7QUFBQSxNQUNBLHVCQUF1QjtBQUFBLFFBQ3JCLFFBQVE7QUFBQSxRQUNSLFNBQVM7QUFBQSxNQUNYO0FBQUEsTUFDQSw0QkFBNEI7QUFBQSxRQUMxQixRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsTUFDaEI7QUFBQSxNQUNBLHdDQUF3QztBQUFBLFFBQ3RDLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxNQUNoQjtBQUFBLE1BQ0Esc0NBQXNDO0FBQUEsUUFDcEMsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLHVDQUF1QztBQUFBLFFBQ3JDLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxNQUNoQjtBQUFBLE1BQ0EsMkNBQTJDO0FBQUEsUUFDekMsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLHVDQUF1QztBQUFBLFFBQ3JDLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSxxQ0FBcUM7QUFBQSxRQUNuQyxRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0EsMkJBQTJCO0FBQUEsUUFDekIsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLDBCQUEwQjtBQUFBLFFBQ3hCLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSwyQkFBMkI7QUFBQSxRQUN6QixRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0EsaUNBQWlDO0FBQUEsUUFDL0IsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLDRCQUE0QjtBQUFBLFFBQzFCLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSwyQkFBMkI7QUFBQSxRQUN6QixRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsUUFDZCxZQUFZLENBQUMsS0FBSztBQUFBLE1BQ3BCO0FBQUEsTUFDQSx3QkFBd0I7QUFBQSxRQUN0QixRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsUUFDZCxZQUFZLENBQUMsU0FBUztBQUFBLE1BQ3hCO0FBQUEsTUFDQSx3QkFBd0I7QUFBQSxRQUN0QixRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsTUFDaEI7QUFBQSxNQUNBLG9CQUFvQjtBQUFBLFFBQ2xCLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSx5QkFBeUI7QUFBQSxRQUN2QixjQUFjO0FBQUEsUUFDZCxZQUFZLENBQUMsTUFBTTtBQUFBLE1BQ3JCO0FBQUEsTUFDQSx5QkFBeUI7QUFBQSxRQUN2QixRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0EseUJBQXlCO0FBQUEsUUFDdkIsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLE1BQ2hCO0FBQUEsTUFDQSx1QkFBdUI7QUFBQSxRQUNyQixRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsUUFDZCxZQUFZLENBQUMsT0FBTyxLQUFLO0FBQUEsTUFDM0I7QUFBQSxNQUNBLDJCQUEyQjtBQUFBLFFBQ3pCLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxRQUNkLFlBQVksQ0FBQyxLQUFLO0FBQUEsTUFDcEI7QUFBQSxNQUNBLHVDQUF1QztBQUFBLFFBQ3JDLFFBQVE7QUFBQSxRQUNSLFlBQVksQ0FBQyxLQUFLO0FBQUEsTUFDcEI7QUFBQSxNQUNBLCtCQUErQjtBQUFBLFFBQzdCLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSw0QkFBNEI7QUFBQSxRQUMxQixRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsTUFDaEI7QUFBQSxNQUNBLG9DQUFvQztBQUFBLFFBQ2xDLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSxrQ0FBa0M7QUFBQSxRQUNoQyxRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsUUFDZCxZQUFZLENBQUMsSUFBSTtBQUFBLE1BQ25CO0FBQUEsTUFDQSx1Q0FBdUM7QUFBQSxRQUNyQyxRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsUUFDZCxZQUFZLENBQUMsS0FBSztBQUFBLE1BQ3BCO0FBQUEsTUFDQSx1QkFBdUI7QUFBQSxRQUNyQixRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsTUFDaEI7QUFBQSxNQUNBLHNCQUFzQjtBQUFBLFFBQ3BCLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSx3QkFBd0I7QUFBQSxRQUN0QixRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsTUFDaEI7QUFBQSxNQUNBLGdDQUFnQztBQUFBLFFBQzlCLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxRQUNkLFlBQVksQ0FBQyxJQUFJO0FBQUEsTUFDbkI7QUFBQSxNQUNBLDZCQUE2QjtBQUFBLFFBQzNCLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxRQUNkLFlBQVksQ0FBQyxNQUFNO0FBQUEsTUFDckI7QUFBQSxNQUNBLGdDQUFnQztBQUFBLFFBQzlCLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxRQUNkLFlBQVksQ0FBQyxLQUFLO0FBQUEsTUFDcEI7QUFBQSxNQUNBLDZCQUE2QjtBQUFBLFFBQzNCLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxRQUNkLFlBQVksQ0FBQyxNQUFNO0FBQUEsTUFDckI7QUFBQSxNQUNBLDhCQUE4QjtBQUFBLFFBQzVCLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSxpQ0FBaUM7QUFBQSxRQUMvQixRQUFRO0FBQUEsUUFDUixZQUFZLENBQUMsS0FBSztBQUFBLE1BQ3BCO0FBQUEsTUFDQSw2QkFBNkI7QUFBQSxRQUMzQixRQUFRO0FBQUEsUUFDUixZQUFZLENBQUMsS0FBSztBQUFBLE1BQ3BCO0FBQUEsTUFDQSxnQ0FBZ0M7QUFBQSxRQUM5QixRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0Esd0JBQXdCO0FBQUEsUUFDdEIsUUFBUTtBQUFBLFFBQ1IsWUFBWSxDQUFDLEtBQUs7QUFBQSxNQUNwQjtBQUFBLE1BQ0EsK0JBQStCO0FBQUEsUUFDN0IsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLDJCQUEyQjtBQUFBLFFBQ3pCLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSx1QkFBdUI7QUFBQSxRQUNyQixRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsUUFDZCxZQUFZLENBQUMsS0FBSztBQUFBLE1BQ3BCO0FBQUEsTUFDQSx1QkFBdUI7QUFBQSxRQUNyQixRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsUUFDZCxZQUFZLENBQUMsS0FBSztBQUFBLE1BQ3BCO0FBQUEsTUFDQSxtQkFBbUI7QUFBQSxRQUNqQixRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsUUFDZCxZQUFZLENBQUMsS0FBSztBQUFBLE1BQ3BCO0FBQUEsTUFDQSwyQkFBMkI7QUFBQSxRQUN6QixRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0EsbUJBQW1CO0FBQUEsUUFDakIsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLGlDQUFpQztBQUFBLFFBQy9CLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxNQUNoQjtBQUFBLE1BQ0EsZ0NBQWdDO0FBQUEsUUFDOUIsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLE1BQ2hCO0FBQUEsTUFDQSwwQkFBMEI7QUFBQSxRQUN4QixRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsTUFDaEI7QUFBQSxNQUNBLDhDQUE4QztBQUFBLFFBQzVDLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxNQUNoQjtBQUFBLE1BQ0EsbUJBQW1CO0FBQUEsUUFDakIsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLHdCQUF3QjtBQUFBLFFBQ3RCLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxRQUNkLFlBQVksQ0FBQyxNQUFNO0FBQUEsTUFDckI7QUFBQSxNQUNBLHlCQUF5QjtBQUFBLFFBQ3ZCLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxNQUNoQjtBQUFBLE1BQ0EseUJBQXlCO0FBQUEsUUFDdkIsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLE1BQ2hCO0FBQUEsTUFDQSwrQkFBK0I7QUFBQSxRQUM3QixRQUFRO0FBQUEsUUFDUixZQUFZLENBQUMsS0FBSztBQUFBLE1BQ3BCO0FBQUEsTUFDQSxnQ0FBZ0M7QUFBQSxRQUM5QixRQUFRO0FBQUEsUUFDUixZQUFZLENBQUMsS0FBSztBQUFBLE1BQ3BCO0FBQUEsTUFDQSwrQkFBK0I7QUFBQSxRQUM3QixRQUFRO0FBQUEsUUFDUixZQUFZLENBQUMsS0FBSztBQUFBLE1BQ3BCO0FBQUEsTUFDQSxnQ0FBZ0M7QUFBQSxRQUM5QixRQUFRO0FBQUEsUUFDUixZQUFZLENBQUMsS0FBSztBQUFBLE1BQ3BCO0FBQUEsTUFDQSxtQkFBbUI7QUFBQSxRQUNqQixRQUFRO0FBQUEsUUFDUixZQUFZLENBQUMsS0FBSztBQUFBLE1BQ3BCO0FBQUEsTUFDQSw0QkFBNEI7QUFBQSxRQUMxQixRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0EsMEJBQTBCO0FBQUEsUUFDeEIsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLDBCQUEwQjtBQUFBLFFBQ3hCLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxNQUNoQjtBQUFBLE1BQ0EseUJBQXlCO0FBQUEsUUFDdkIsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLFFBQ2QsWUFBWSxDQUFDLFFBQVE7QUFBQSxNQUN2QjtBQUFBLE1BQ0EsK0JBQStCO0FBQUEsUUFDN0IsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLCtCQUErQjtBQUFBLFFBQzdCLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxNQUNoQjtBQUFBLE1BQ0EseUJBQXlCO0FBQUEsUUFDdkIsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLDJCQUEyQjtBQUFBLFFBQ3pCLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSwyQkFBMkI7QUFBQSxRQUN6QixRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsTUFDaEI7QUFBQSxNQUNBLDBCQUEwQjtBQUFBLFFBQ3hCLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxRQUNkLFlBQVksQ0FBQyxTQUFTO0FBQUEsTUFDeEI7QUFBQSxNQUNBLDBCQUEwQjtBQUFBLFFBQ3hCLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSx1QkFBdUI7QUFBQSxRQUNyQixRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsTUFDaEI7QUFBQSxNQUNBLHVCQUF1QjtBQUFBLFFBQ3JCLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSw0QkFBNEI7QUFBQSxRQUMxQixRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0EsMkJBQTJCO0FBQUEsUUFDekIsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLHNDQUFzQztBQUFBLFFBQ3BDLFFBQVE7QUFBQSxRQUNSLFlBQVksQ0FBQyxRQUFRO0FBQUEsTUFDdkI7QUFBQSxNQUNBLGdDQUFnQztBQUFBLFFBQzlCLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSwyQ0FBMkM7QUFBQSxRQUN6QyxRQUFRO0FBQUEsUUFDUixZQUFZLENBQUMsUUFBUTtBQUFBLE1BQ3ZCO0FBQUEsTUFDQSxvQkFBb0I7QUFBQSxRQUNsQixRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0EsaUNBQWlDO0FBQUEsUUFDL0IsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLHVCQUF1QjtBQUFBLFFBQ3JCLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxRQUNkLFlBQVksQ0FBQyxLQUFLO0FBQUEsTUFDcEI7QUFBQSxNQUNBLHFCQUFxQjtBQUFBLFFBQ25CLFFBQVE7QUFBQSxRQUNSLFlBQVksQ0FBQyxPQUFPLE9BQU87QUFBQSxNQUM3QjtBQUFBLE1BQ0EsaUNBQWlDO0FBQUEsUUFDL0IsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLE1BQ2hCO0FBQUEsTUFDQSxzQ0FBc0M7QUFBQSxRQUNwQyxRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0EscUNBQXFDO0FBQUEsUUFDbkMsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLG9CQUFvQjtBQUFBLFFBQ2xCLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSxxQkFBcUI7QUFBQSxRQUNuQixRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0Esb0JBQW9CO0FBQUEsUUFDbEIsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLHdCQUF3QjtBQUFBLFFBQ3RCLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxRQUNkLFlBQVksQ0FBQyxPQUFPLE1BQU07QUFBQSxNQUM1QjtBQUFBLE1BQ0EseUJBQXlCO0FBQUEsUUFDdkIsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLGdDQUFnQztBQUFBLFFBQzlCLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSx3QkFBd0I7QUFBQSxRQUN0QixRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsTUFDaEI7QUFBQSxNQUNBLDRCQUE0QjtBQUFBLFFBQzFCLFFBQVE7QUFBQSxRQUNSLFlBQVksQ0FBQyxJQUFJO0FBQUEsTUFDbkI7QUFBQSxNQUNBLGtDQUFrQztBQUFBLFFBQ2hDLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxRQUNkLFlBQVksQ0FBQyxLQUFLO0FBQUEsTUFDcEI7QUFBQSxNQUNBLHlCQUF5QjtBQUFBLFFBQ3ZCLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxNQUNoQjtBQUFBLE1BQ0EsaUNBQWlDO0FBQUEsUUFDL0IsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLE1BQ2hCO0FBQUEsTUFDQSxtQkFBbUI7QUFBQSxRQUNqQixRQUFRO0FBQUEsUUFDUixZQUFZLENBQUMsS0FBSztBQUFBLE1BQ3BCO0FBQUEsTUFDQSxvQkFBb0I7QUFBQSxRQUNsQixRQUFRO0FBQUEsUUFDUixZQUFZLENBQUMsTUFBTTtBQUFBLE1BQ3JCO0FBQUEsTUFDQSx3QkFBd0I7QUFBQSxRQUN0QixRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsUUFDZCxZQUFZLENBQUMsT0FBTztBQUFBLE1BQ3RCO0FBQUEsTUFDQSx1QkFBdUI7QUFBQSxRQUNyQixRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsUUFDZCxZQUFZLENBQUMsS0FBSztBQUFBLE1BQ3BCO0FBQUEsTUFDQSx3QkFBd0I7QUFBQSxRQUN0QixRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsUUFDZCxZQUFZLENBQUMsTUFBTTtBQUFBLE1BQ3JCO0FBQUEsTUFDQSw2QkFBNkI7QUFBQSxRQUMzQixRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0Esd0JBQXdCO0FBQUEsUUFDdEIsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLFFBQ2QsWUFBWSxDQUFDLE1BQU07QUFBQSxNQUNyQjtBQUFBLE1BQ0EseUJBQXlCO0FBQUEsUUFDdkIsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLHlCQUF5QjtBQUFBLFFBQ3ZCLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxNQUNoQjtBQUFBLE1BQ0EsdUJBQXVCO0FBQUEsUUFDckIsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLHlCQUF5QjtBQUFBLFFBQ3ZCLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSx3QkFBd0I7QUFBQSxRQUN0QixRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsUUFDZCxZQUFZLENBQUMsU0FBUztBQUFBLE1BQ3hCO0FBQUEsTUFDQSxnQ0FBZ0M7QUFBQSxRQUM5QixRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0Esd0NBQXdDO0FBQUEsUUFDdEMsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLHFDQUFxQztBQUFBLFFBQ25DLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSw2Q0FBNkM7QUFBQSxRQUMzQyxRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0EsMEJBQTBCO0FBQUEsUUFDeEIsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLG9DQUFvQztBQUFBLFFBQ2xDLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSw0Q0FBNEM7QUFBQSxRQUMxQyxRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0EsaUNBQWlDO0FBQUEsUUFDL0IsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLG9DQUFvQztBQUFBLFFBQ2xDLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSwyQkFBMkI7QUFBQSxRQUN6QixRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0EsbUNBQW1DO0FBQUEsUUFDakMsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLG1CQUFtQjtBQUFBLFFBQ2pCLGNBQWM7QUFBQSxNQUNoQjtBQUFBLE1BQ0EsMEJBQTBCO0FBQUEsUUFDeEIsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLE1BQ2hCO0FBQUEsTUFDQSx1QkFBdUI7QUFBQSxRQUNyQixRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsTUFDaEI7QUFBQSxNQUNBLHVCQUF1QjtBQUFBLFFBQ3JCLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxRQUNkLFlBQVksQ0FBQyxPQUFPLFdBQVc7QUFBQSxNQUNqQztBQUFBLE1BQ0EseUJBQXlCO0FBQUEsUUFDdkIsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLDBCQUEwQjtBQUFBLFFBQ3hCLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxRQUNkLFlBQVksQ0FBQyxLQUFLO0FBQUEsTUFDcEI7QUFBQSxNQUNBLCtCQUErQjtBQUFBLFFBQzdCLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSwrQkFBK0I7QUFBQSxRQUM3QixRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0EsZ0NBQWdDO0FBQUEsUUFDOUIsUUFBUTtBQUFBLFFBQ1IsWUFBWSxDQUFDLEtBQUs7QUFBQSxNQUNwQjtBQUFBLE1BQ0EsMkJBQTJCO0FBQUEsUUFDekIsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLDJCQUEyQjtBQUFBLFFBQ3pCLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxNQUNoQjtBQUFBLE1BQ0EsdUJBQXVCO0FBQUEsUUFDckIsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLE1BQ2hCO0FBQUEsTUFDQSwwQkFBMEI7QUFBQSxRQUN4QixRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0Esd0JBQXdCO0FBQUEsUUFDdEIsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLHVDQUF1QztBQUFBLFFBQ3JDLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSxvQkFBb0I7QUFBQSxRQUNsQixRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsUUFDZCxZQUFZLENBQUMsTUFBTTtBQUFBLE1BQ3JCO0FBQUEsTUFDQSxtQ0FBbUM7QUFBQSxRQUNqQyxRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0Esb0JBQW9CO0FBQUEsUUFDbEIsUUFBUTtBQUFBLFFBQ1IsWUFBWSxDQUFDLE1BQU07QUFBQSxNQUNyQjtBQUFBLE1BQ0EsZ0NBQWdDO0FBQUEsUUFDOUIsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLE1BQ2hCO0FBQUEsTUFDQSw4QkFBOEI7QUFBQSxRQUM1QixRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0EseUNBQXlDO0FBQUEsUUFDdkMsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLHdCQUF3QjtBQUFBLFFBQ3RCLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxRQUNkLFlBQVksQ0FBQyxNQUFNO0FBQUEsTUFDckI7QUFBQSxNQUNBLDJCQUEyQjtBQUFBLFFBQ3pCLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSxvQkFBb0I7QUFBQSxRQUNsQixRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0EseUJBQXlCO0FBQUEsUUFDdkIsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLHNCQUFzQjtBQUFBLFFBQ3BCLGNBQWM7QUFBQSxRQUNkLFlBQVksQ0FBQyxLQUFLO0FBQUEsTUFDcEI7QUFBQSxNQUNBLHlCQUF5QjtBQUFBLFFBQ3ZCLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSx5QkFBeUI7QUFBQSxRQUN2QixRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsTUFDaEI7QUFBQSxNQUNBLHNCQUFzQjtBQUFBLFFBQ3BCLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSxnQ0FBZ0M7QUFBQSxRQUM5QixRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsTUFDaEI7QUFBQSxNQUNBLGdDQUFnQztBQUFBLFFBQzlCLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxRQUNkLFlBQVksQ0FBQyxRQUFRO0FBQUEsTUFDdkI7QUFBQSxNQUNBLGtDQUFrQztBQUFBLFFBQ2hDLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxRQUNkLFlBQVksQ0FBQyxJQUFJO0FBQUEsTUFDbkI7QUFBQSxNQUNBLG9DQUFvQztBQUFBLFFBQ2xDLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxNQUNoQjtBQUFBLE1BQ0Esa0JBQWtCO0FBQUEsUUFDaEIsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLHVCQUF1QjtBQUFBLFFBQ3JCLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSxzQkFBc0I7QUFBQSxRQUNwQixRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0EsMEJBQTBCO0FBQUEsUUFDeEIsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLE1BQ2hCO0FBQUEsTUFDQSx5QkFBeUI7QUFBQSxRQUN2QixRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsTUFDaEI7QUFBQSxNQUNBLHFCQUFxQjtBQUFBLFFBQ25CLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSxvQ0FBb0M7QUFBQSxRQUNsQyxRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0EsZ0RBQWdEO0FBQUEsUUFDOUMsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLFFBQ2QsWUFBWSxDQUFDLEtBQUs7QUFBQSxNQUNwQjtBQUFBLE1BQ0EsdUJBQXVCO0FBQUEsUUFDckIsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLGtDQUFrQztBQUFBLFFBQ2hDLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxNQUNoQjtBQUFBLE1BQ0EsdUNBQXVDO0FBQUEsUUFDckMsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLE1BQ2hCO0FBQUEsTUFDQSx5Q0FBeUM7QUFBQSxRQUN2QyxRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsTUFDaEI7QUFBQSxNQUNBLHdDQUF3QztBQUFBLFFBQ3RDLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxNQUNoQjtBQUFBLE1BQ0Esc0NBQXNDO0FBQUEsUUFDcEMsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLE1BQ2hCO0FBQUEsTUFDQSxzREFBc0Q7QUFBQSxRQUNwRCxRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0EsOEJBQThCO0FBQUEsUUFDNUIsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLCtCQUErQjtBQUFBLFFBQzdCLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSx5REFBeUQ7QUFBQSxRQUN2RCxRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0EsK0JBQStCO0FBQUEsUUFDN0IsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLHlEQUF5RDtBQUFBLFFBQ3ZELFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSxtREFBbUQ7QUFBQSxRQUNqRCxRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsTUFDaEI7QUFBQSxNQUNBLGdDQUFnQztBQUFBLFFBQzlCLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxNQUNoQjtBQUFBLE1BQ0EsZ0NBQWdDO0FBQUEsUUFDOUIsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLE1BQ2hCO0FBQUEsTUFDQSx1REFBdUQ7QUFBQSxRQUNyRCxRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsTUFDaEI7QUFBQSxNQUNBLGlDQUFpQztBQUFBLFFBQy9CLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxNQUNoQjtBQUFBLE1BQ0EsNkJBQTZCO0FBQUEsUUFDM0IsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLDBDQUEwQztBQUFBLFFBQ3hDLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSw0QkFBNEI7QUFBQSxRQUMxQixRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0EsMENBQTBDO0FBQUEsUUFDeEMsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLHVEQUF1RDtBQUFBLFFBQ3JELFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxNQUNoQjtBQUFBLE1BQ0Esd0NBQXdDO0FBQUEsUUFDdEMsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLE1BQ2hCO0FBQUEsTUFDQSx5REFBeUQ7QUFBQSxRQUN2RCxRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsTUFDaEI7QUFBQSxNQUNBLHVDQUF1QztBQUFBLFFBQ3JDLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSwyQ0FBMkM7QUFBQSxRQUN6QyxRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsTUFDaEI7QUFBQSxNQUNBLGtEQUFrRDtBQUFBLFFBQ2hELFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxNQUNoQjtBQUFBLE1BQ0EsMENBQTBDO0FBQUEsUUFDeEMsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLDZDQUE2QztBQUFBLFFBQzNDLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxNQUNoQjtBQUFBLE1BQ0EsZ0RBQWdEO0FBQUEsUUFDOUMsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLE1BQ2hCO0FBQUEsTUFDQSxzREFBc0Q7QUFBQSxRQUNwRCxRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsTUFDaEI7QUFBQSxNQUNBLGdEQUFnRDtBQUFBLFFBQzlDLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxNQUNoQjtBQUFBLE1BQ0EsdUNBQXVDO0FBQUEsUUFDckMsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLE1BQ2hCO0FBQUEsTUFDQSxnREFBZ0Q7QUFBQSxRQUM5QyxRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsTUFDaEI7QUFBQSxNQUNBLGtEQUFrRDtBQUFBLFFBQ2hELFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxNQUNoQjtBQUFBLE1BQ0EsMENBQTBDO0FBQUEsUUFDeEMsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLE1BQ2hCO0FBQUEsTUFDQSxpREFBaUQ7QUFBQSxRQUMvQyxRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsTUFDaEI7QUFBQSxNQUNBLHlDQUF5QztBQUFBLFFBQ3ZDLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxNQUNoQjtBQUFBLE1BQ0EsNENBQTRDO0FBQUEsUUFDMUMsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLE1BQ2hCO0FBQUEsTUFDQSxpREFBaUQ7QUFBQSxRQUMvQyxRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsTUFDaEI7QUFBQSxNQUNBLCtDQUErQztBQUFBLFFBQzdDLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxNQUNoQjtBQUFBLE1BQ0Esd0RBQXdEO0FBQUEsUUFDdEQsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLE1BQ2hCO0FBQUEsTUFDQSx5Q0FBeUM7QUFBQSxRQUN2QyxRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsTUFDaEI7QUFBQSxNQUNBLGtEQUFrRDtBQUFBLFFBQ2hELFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxNQUNoQjtBQUFBLE1BQ0Esb0RBQW9EO0FBQUEsUUFDbEQsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLE1BQ2hCO0FBQUEsTUFDQSw0Q0FBNEM7QUFBQSxRQUMxQyxRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsTUFDaEI7QUFBQSxNQUNBLG1EQUFtRDtBQUFBLFFBQ2pELFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxNQUNoQjtBQUFBLE1BQ0EseURBQXlEO0FBQUEsUUFDdkQsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLE1BQ2hCO0FBQUEsTUFDQSw4Q0FBOEM7QUFBQSxRQUM1QyxRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsTUFDaEI7QUFBQSxNQUNBLGlEQUFpRDtBQUFBLFFBQy9DLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxNQUNoQjtBQUFBLE1BQ0EscUNBQXFDO0FBQUEsUUFDbkMsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLE1BQ2hCO0FBQUEsTUFDQSw2QkFBNkI7QUFBQSxRQUMzQixRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0EsNkJBQTZCO0FBQUEsUUFDM0IsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLHFDQUFxQztBQUFBLFFBQ25DLFFBQVE7QUFBQSxRQUNSLFlBQVksQ0FBQyxLQUFLO0FBQUEsTUFDcEI7QUFBQSxNQUNBLHFDQUFxQztBQUFBLFFBQ25DLFFBQVE7QUFBQSxRQUNSLFlBQVksQ0FBQyxLQUFLO0FBQUEsTUFDcEI7QUFBQSxNQUNBLG1DQUFtQztBQUFBLFFBQ2pDLFFBQVE7QUFBQSxRQUNSLFlBQVksQ0FBQyxLQUFLO0FBQUEsTUFDcEI7QUFBQSxNQUNBLHdDQUF3QztBQUFBLFFBQ3RDLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxNQUNoQjtBQUFBLE1BQ0EsNkJBQTZCO0FBQUEsUUFDM0IsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLDJDQUEyQztBQUFBLFFBQ3pDLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxNQUNoQjtBQUFBLE1BQ0Esc0NBQXNDO0FBQUEsUUFDcEMsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLE1BQ2hCO0FBQUEsTUFDQSwrQ0FBK0M7QUFBQSxRQUM3QyxRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsTUFDaEI7QUFBQSxNQUNBLGlEQUFpRDtBQUFBLFFBQy9DLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxNQUNoQjtBQUFBLE1BQ0EsNkRBQTZEO0FBQUEsUUFDM0QsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLE1BQ2hCO0FBQUEsTUFDQSxnREFBZ0Q7QUFBQSxRQUM5QyxRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsTUFDaEI7QUFBQSxNQUNBLDhDQUE4QztBQUFBLFFBQzVDLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxNQUNoQjtBQUFBLE1BQ0EsbURBQW1EO0FBQUEsUUFDakQsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLE1BQ2hCO0FBQUEsTUFDQSw0QkFBNEI7QUFBQSxRQUMxQixRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0EsZ0NBQWdDO0FBQUEsUUFDOUIsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLE1BQ2hCO0FBQUEsTUFDQSxzQ0FBc0M7QUFBQSxRQUNwQyxRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsTUFDaEI7QUFBQSxNQUNBLHVDQUF1QztBQUFBLFFBQ3JDLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxNQUNoQjtBQUFBLE1BQ0EsaURBQWlEO0FBQUEsUUFDL0MsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLE1BQ2hCO0FBQUEsTUFDQSxpQ0FBaUM7QUFBQSxRQUMvQixRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsTUFDaEI7QUFBQSxNQUNBLDRCQUE0QjtBQUFBLFFBQzFCLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSxxQ0FBcUM7QUFBQSxRQUNuQyxRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsTUFDaEI7QUFBQSxNQUNBLHVDQUF1QztBQUFBLFFBQ3JDLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxNQUNoQjtBQUFBLE1BQ0EsNkJBQTZCO0FBQUEsUUFDM0IsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLDhCQUE4QjtBQUFBLFFBQzVCLFFBQVE7QUFBQSxRQUNSLFlBQVksQ0FBQyxNQUFNO0FBQUEsTUFDckI7QUFBQSxNQUNBLDZDQUE2QztBQUFBLFFBQzNDLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSxvQ0FBb0M7QUFBQSxRQUNsQyxRQUFRO0FBQUEsUUFDUixZQUFZLENBQUMsS0FBSztBQUFBLE1BQ3BCO0FBQUEsTUFDQSxxQ0FBcUM7QUFBQSxRQUNuQyxRQUFRO0FBQUEsUUFDUixZQUFZLENBQUMsS0FBSztBQUFBLE1BQ3BCO0FBQUEsTUFDQSxxQ0FBcUM7QUFBQSxRQUNuQyxRQUFRO0FBQUEsUUFDUixZQUFZLENBQUMsS0FBSztBQUFBLE1BQ3BCO0FBQUEsTUFDQSx3Q0FBd0M7QUFBQSxRQUN0QyxRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsTUFDaEI7QUFBQSxNQUNBLG9DQUFvQztBQUFBLFFBQ2xDLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxNQUNoQjtBQUFBLE1BQ0EsNEJBQTRCO0FBQUEsUUFDMUIsUUFBUTtBQUFBLFFBQ1IsWUFBWSxDQUFDLEtBQUs7QUFBQSxNQUNwQjtBQUFBLE1BQ0EsMkJBQTJCO0FBQUEsUUFDekIsUUFBUTtBQUFBLFFBQ1IsWUFBWSxDQUFDLE9BQU8sT0FBTztBQUFBLE1BQzdCO0FBQUEsTUFDQSwrREFBK0Q7QUFBQSxRQUM3RCxRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsUUFDZCxZQUFZLENBQUMsS0FBSztBQUFBLE1BQ3BCO0FBQUEsTUFDQSxxQ0FBcUM7QUFBQSxRQUNuQyxRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0EsMkNBQTJDO0FBQUEsUUFDekMsUUFBUTtBQUFBLFFBQ1IsWUFBWSxDQUFDLE1BQU07QUFBQSxNQUNyQjtBQUFBLE1BQ0EsNkJBQTZCO0FBQUEsUUFDM0IsUUFBUTtBQUFBLFFBQ1IsWUFBWSxDQUFDLE9BQU8sTUFBTTtBQUFBLE1BQzVCO0FBQUEsTUFDQSx3Q0FBd0M7QUFBQSxRQUN0QyxRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0EsaUNBQWlDO0FBQUEsUUFDL0IsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLFFBQ2QsWUFBWSxDQUFDLEtBQUs7QUFBQSxNQUNwQjtBQUFBLE1BQ0EsOEJBQThCO0FBQUEsUUFDNUIsUUFBUTtBQUFBLFFBQ1IsWUFBWSxDQUFDLE1BQU07QUFBQSxNQUNyQjtBQUFBLE1BQ0EsOEJBQThCO0FBQUEsUUFDNUIsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLG9DQUFvQztBQUFBLFFBQ2xDLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSw0Q0FBNEM7QUFBQSxRQUMxQyxRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0EseUNBQXlDO0FBQUEsUUFDdkMsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLHFDQUFxQztBQUFBLFFBQ25DLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSx1Q0FBdUM7QUFBQSxRQUNyQyxRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0Esc0NBQXNDO0FBQUEsUUFDcEMsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLDhCQUE4QjtBQUFBLFFBQzVCLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSxzQ0FBc0M7QUFBQSxRQUNwQyxRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0Esc0NBQXNDO0FBQUEsUUFDcEMsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLHdDQUF3QztBQUFBLFFBQ3RDLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSw4Q0FBOEM7QUFBQSxRQUM1QyxRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0Esc0NBQXNDO0FBQUEsUUFDcEMsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLDBDQUEwQztBQUFBLFFBQ3hDLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSx1QkFBdUI7QUFBQSxRQUNyQixRQUFRO0FBQUEsUUFDUixZQUFZLENBQUMsS0FBSztBQUFBLE1BQ3BCO0FBQUEsTUFDQSw4QkFBOEI7QUFBQSxRQUM1QixRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0EsK0JBQStCO0FBQUEsUUFDN0IsUUFBUTtBQUFBLFFBQ1IsWUFBWSxDQUFDLE9BQU87QUFBQSxNQUN0QjtBQUFBLE1BQ0EseUNBQXlDO0FBQUEsUUFDdkMsUUFBUTtBQUFBLFFBQ1IsWUFBWSxDQUFDLEtBQUs7QUFBQSxNQUNwQjtBQUFBLE1BQ0EseUNBQXlDO0FBQUEsUUFDdkMsUUFBUTtBQUFBLFFBQ1IsWUFBWSxDQUFDLEtBQUs7QUFBQSxNQUNwQjtBQUFBLE1BQ0EsZ0NBQWdDO0FBQUEsUUFDOUIsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLE1BQ2hCO0FBQUEsTUFDQSxnQ0FBZ0M7QUFBQSxRQUM5QixRQUFRO0FBQUEsUUFDUixZQUFZLENBQUMsS0FBSztBQUFBLE1BQ3BCO0FBQUEsTUFDQSxzQ0FBc0M7QUFBQSxRQUNwQyxRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0Esd0NBQXdDO0FBQUEsUUFDdEMsUUFBUTtBQUFBLFFBQ1IsWUFBWSxDQUFDLEtBQUs7QUFBQSxNQUNwQjtBQUFBLE1BQ0EsNkJBQTZCO0FBQUEsUUFDM0IsUUFBUTtBQUFBLFFBQ1IsWUFBWSxDQUFDLEtBQUs7QUFBQSxNQUNwQjtBQUFBLE1BQ0EscUNBQXFDO0FBQUEsUUFDbkMsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLE1BQ2hCO0FBQUEsTUFDQSwrQkFBK0I7QUFBQSxRQUM3QixRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0EsMkNBQTJDO0FBQUEsUUFDekMsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLFFBQ2QsWUFBWSxDQUFDLEtBQUs7QUFBQSxNQUNwQjtBQUFBLE1BQ0Esd0JBQXdCO0FBQUEsUUFDdEIsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLDBEQUEwRDtBQUFBLFFBQ3hELFFBQVE7QUFBQSxRQUNSLFlBQVksQ0FBQyxLQUFLO0FBQUEsTUFDcEI7QUFBQSxNQUNBLHVEQUF1RDtBQUFBLFFBQ3JELFFBQVE7QUFBQSxRQUNSLFlBQVksQ0FBQyxLQUFLO0FBQUEsTUFDcEI7QUFBQSxNQUNBLHdDQUF3QztBQUFBLFFBQ3RDLFFBQVE7QUFBQSxRQUNSLFlBQVksQ0FBQyxLQUFLO0FBQUEsTUFDcEI7QUFBQSxNQUNBLHFDQUFxQztBQUFBLFFBQ25DLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSx1Q0FBdUM7QUFBQSxRQUNyQyxRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0Esa0NBQWtDO0FBQUEsUUFDaEMsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLHdDQUF3QztBQUFBLFFBQ3RDLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSx5Q0FBeUM7QUFBQSxRQUN2QyxRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0Esc0NBQXNDO0FBQUEsUUFDcEMsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLDRCQUE0QjtBQUFBLFFBQzFCLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSw0QkFBNEI7QUFBQSxRQUMxQixRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsTUFDaEI7QUFBQSxNQUNBLHVDQUF1QztBQUFBLFFBQ3JDLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxNQUNoQjtBQUFBLE1BQ0EsZ0RBQWdEO0FBQUEsUUFDOUMsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLE1BQ2hCO0FBQUEsTUFDQSx1Q0FBdUM7QUFBQSxRQUNyQyxRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsUUFDZCxZQUFZLENBQUMsTUFBTTtBQUFBLE1BQ3JCO0FBQUEsTUFDQSxpQ0FBaUM7QUFBQSxRQUMvQixRQUFRO0FBQUEsUUFDUixZQUFZLENBQUMsS0FBSztBQUFBLE1BQ3BCO0FBQUEsTUFDQSxpQ0FBaUM7QUFBQSxRQUMvQixRQUFRO0FBQUEsUUFDUixZQUFZLENBQUMsTUFBTTtBQUFBLE1BQ3JCO0FBQUEsTUFDQSxpQ0FBaUM7QUFBQSxRQUMvQixRQUFRO0FBQUEsUUFDUixZQUFZLENBQUMsU0FBUztBQUFBLE1BQ3hCO0FBQUEsTUFDQSwrQkFBK0I7QUFBQSxRQUM3QixRQUFRO0FBQUEsUUFDUixZQUFZLENBQUMsT0FBTztBQUFBLE1BQ3RCO0FBQUEsTUFDQSxnQ0FBZ0M7QUFBQSxRQUM5QixjQUFjO0FBQUEsUUFDZCxZQUFZLENBQUMsUUFBUTtBQUFBLE1BQ3ZCO0FBQUEsTUFDQSwrQkFBK0I7QUFBQSxRQUM3QixRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0Esc0NBQXNDO0FBQUEsUUFDcEMsUUFBUTtBQUFBLFFBQ1IsWUFBWSxDQUFDLEtBQUs7QUFBQSxNQUNwQjtBQUFBLE1BQ0EsZ0NBQWdDO0FBQUEsUUFDOUIsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLE1BQ2hCO0FBQUEsTUFDQSw2QkFBNkI7QUFBQSxRQUMzQixRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0EseUNBQXlDO0FBQUEsUUFDdkMsUUFBUTtBQUFBLFFBQ1IsWUFBWSxDQUFDLE1BQU07QUFBQSxNQUNyQjtBQUFBLE1BQ0EsOEJBQThCO0FBQUEsUUFDNUIsUUFBUTtBQUFBLFFBQ1IsWUFBWSxDQUFDLEtBQUs7QUFBQSxNQUNwQjtBQUFBLE1BQ0EsZ0NBQWdDO0FBQUEsUUFDOUIsWUFBWSxDQUFDLEtBQUs7QUFBQSxNQUNwQjtBQUFBLE1BQ0EsK0JBQStCO0FBQUEsUUFDN0IsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLCtCQUErQjtBQUFBLFFBQzdCLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxNQUNoQjtBQUFBLE1BQ0EsK0JBQStCO0FBQUEsUUFDN0IsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLE1BQ2hCO0FBQUEsTUFDQSxxQ0FBcUM7QUFBQSxRQUNuQyxRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsUUFDZCxZQUFZLENBQUMsTUFBTTtBQUFBLE1BQ3JCO0FBQUEsTUFDQSxpQ0FBaUM7QUFBQSxRQUMvQixRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0EscUNBQXFDO0FBQUEsUUFDbkMsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLGlDQUFpQztBQUFBLFFBQy9CLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSwrQkFBK0I7QUFBQSxRQUM3QixRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0Esb0NBQW9DO0FBQUEsUUFDbEMsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLE1BQ2hCO0FBQUEsTUFDQSx1Q0FBdUM7QUFBQSxRQUNyQyxRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsTUFDaEI7QUFBQSxNQUNBLHdDQUF3QztBQUFBLFFBQ3RDLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxNQUNoQjtBQUFBLE1BQ0Esd0NBQXdDO0FBQUEsUUFDdEMsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLE1BQ2hCO0FBQUEsTUFDQSxvQ0FBb0M7QUFBQSxRQUNsQyxRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0Esa0NBQWtDO0FBQUEsUUFDaEMsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLE1BQ2hCO0FBQUEsTUFDQSwyQ0FBMkM7QUFBQSxRQUN6QyxRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0EscUNBQXFDO0FBQUEsUUFDbkMsUUFBUTtBQUFBLFFBQ1IsWUFBWSxDQUFDLEtBQUs7QUFBQSxNQUNwQjtBQUFBLE1BQ0Esb0NBQW9DO0FBQUEsUUFDbEMsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLG9DQUFvQztBQUFBLFFBQ2xDLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSx1QkFBdUI7QUFBQSxRQUNyQixRQUFRO0FBQUEsUUFDUixZQUFZLENBQUMsS0FBSztBQUFBLE1BQ3BCO0FBQUEsTUFDQSx1QkFBdUI7QUFBQSxRQUNyQixRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0Esd0JBQXdCO0FBQUEsUUFDdEIsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLG1DQUFtQztBQUFBLFFBQ2pDLFFBQVE7QUFBQSxRQUNSLFlBQVksQ0FBQyxLQUFLO0FBQUEsTUFDcEI7QUFBQSxNQUNBLGlDQUFpQztBQUFBLFFBQy9CLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxNQUNoQjtBQUFBLE1BQ0EseUJBQXlCO0FBQUEsUUFDdkIsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLHNDQUFzQztBQUFBLFFBQ3BDLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxNQUNoQjtBQUFBLE1BQ0EsK0JBQStCO0FBQUEsUUFDN0IsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLDhCQUE4QjtBQUFBLFFBQzVCLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSw4QkFBOEI7QUFBQSxRQUM1QixRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0EsdUNBQXVDO0FBQUEsUUFDckMsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLE1BQ2hCO0FBQUEsTUFDQSw4Q0FBOEM7QUFBQSxRQUM1QyxRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0EsOENBQThDO0FBQUEsUUFDNUMsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLGdDQUFnQztBQUFBLFFBQzlCLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxRQUNkLFlBQVksQ0FBQyxPQUFPO0FBQUEsTUFDdEI7QUFBQSxNQUNBLDZCQUE2QjtBQUFBLFFBQzNCLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSx3Q0FBd0M7QUFBQSxRQUN0QyxRQUFRO0FBQUEsUUFDUixZQUFZLENBQUMsS0FBSztBQUFBLE1BQ3BCO0FBQUEsTUFDQSx5QkFBeUI7QUFBQSxRQUN2QixRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0EsOEJBQThCO0FBQUEsUUFDNUIsUUFBUTtBQUFBLFFBQ1IsWUFBWSxDQUFDLEtBQUs7QUFBQSxNQUNwQjtBQUFBLE1BQ0Esb0NBQW9DO0FBQUEsUUFDbEMsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLDRDQUE0QztBQUFBLFFBQzFDLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxRQUNkLFlBQVksQ0FBQyxLQUFLO0FBQUEsTUFDcEI7QUFBQSxNQUNBLDRCQUE0QjtBQUFBLFFBQzFCLFFBQVE7QUFBQSxRQUNSLFlBQVksQ0FBQyxLQUFLO0FBQUEsTUFDcEI7QUFBQSxNQUNBLCtCQUErQjtBQUFBLFFBQzdCLFFBQVE7QUFBQSxRQUNSLFlBQVksQ0FBQyxLQUFLO0FBQUEsTUFDcEI7QUFBQSxNQUNBLGlDQUFpQztBQUFBLFFBQy9CLFFBQVE7QUFBQSxRQUNSLFlBQVksQ0FBQyxPQUFPLE9BQU8sT0FBTyxPQUFPLEtBQUs7QUFBQSxNQUNoRDtBQUFBLE1BQ0EsZ0RBQWdEO0FBQUEsUUFDOUMsUUFBUTtBQUFBLFFBQ1IsWUFBWSxDQUFDLFFBQVE7QUFBQSxNQUN2QjtBQUFBLE1BQ0Esb0RBQW9EO0FBQUEsUUFDbEQsUUFBUTtBQUFBLFFBQ1IsWUFBWSxDQUFDLFFBQVE7QUFBQSxNQUN2QjtBQUFBLE1BQ0EsdURBQXVEO0FBQUEsUUFDckQsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLHNEQUFzRDtBQUFBLFFBQ3BELFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSw0Q0FBNEM7QUFBQSxRQUMxQyxRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsTUFDaEI7QUFBQSxNQUNBLGdDQUFnQztBQUFBLFFBQzlCLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSxpREFBaUQ7QUFBQSxRQUMvQyxRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0EsMERBQTBEO0FBQUEsUUFDeEQsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLHFEQUFxRDtBQUFBLFFBQ25ELFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSw4REFBOEQ7QUFBQSxRQUM1RCxRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0Esb0RBQW9EO0FBQUEsUUFDbEQsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLDZEQUE2RDtBQUFBLFFBQzNELFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSxtQ0FBbUM7QUFBQSxRQUNqQyxRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsTUFDaEI7QUFBQSxNQUNBLHVDQUF1QztBQUFBLFFBQ3JDLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxNQUNoQjtBQUFBLE1BQ0Esd0NBQXdDO0FBQUEsUUFDdEMsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLE1BQ2hCO0FBQUEsTUFDQSxpQ0FBaUM7QUFBQSxRQUMvQixRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsTUFDaEI7QUFBQSxNQUNBLGlDQUFpQztBQUFBLFFBQy9CLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSxxQ0FBcUM7QUFBQSxRQUNuQyxRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0EsK0JBQStCO0FBQUEsUUFDN0IsUUFBUTtBQUFBLFFBQ1IsWUFBWSxDQUFDLEtBQUs7QUFBQSxNQUNwQjtBQUFBLE1BQ0EsZ0NBQWdDO0FBQUEsUUFDOUIsUUFBUTtBQUFBLFFBQ1IsWUFBWSxDQUFDLFNBQVM7QUFBQSxNQUN4QjtBQUFBLE1BQ0Esd0NBQXdDO0FBQUEsUUFDdEMsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLE1BQ2hCO0FBQUEsTUFDQSwrQkFBK0I7QUFBQSxRQUM3QixRQUFRO0FBQUEsUUFDUixZQUFZLENBQUMsS0FBSztBQUFBLE1BQ3BCO0FBQUEsTUFDQSxpQ0FBaUM7QUFBQSxRQUMvQixRQUFRO0FBQUEsUUFDUixZQUFZLENBQUMsTUFBTTtBQUFBLE1BQ3JCO0FBQUEsTUFDQSwwQ0FBMEM7QUFBQSxRQUN4QyxRQUFRO0FBQUEsUUFDUixZQUFZLENBQUMsTUFBTTtBQUFBLE1BQ3JCO0FBQUEsTUFDQSx5Q0FBeUM7QUFBQSxRQUN2QyxRQUFRO0FBQUEsUUFDUixZQUFZLENBQUMsTUFBTTtBQUFBLE1BQ3JCO0FBQUEsTUFDQSwwQ0FBMEM7QUFBQSxRQUN4QyxRQUFRO0FBQUEsUUFDUixZQUFZLENBQUMsTUFBTTtBQUFBLE1BQ3JCO0FBQUEsTUFDQSwwQ0FBMEM7QUFBQSxRQUN4QyxRQUFRO0FBQUEsUUFDUixZQUFZLENBQUMsTUFBTTtBQUFBLE1BQ3JCO0FBQUEsTUFDQSx5Q0FBeUM7QUFBQSxRQUN2QyxRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsUUFDZCxZQUFZLENBQUMsS0FBSztBQUFBLE1BQ3BCO0FBQUEsTUFDQSxxQ0FBcUM7QUFBQSxRQUNuQyxRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsTUFDaEI7QUFBQSxNQUNBLHFDQUFxQztBQUFBLFFBQ25DLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSx5Q0FBeUM7QUFBQSxRQUN2QyxRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0EscUNBQXFDO0FBQUEsUUFDbkMsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLDZCQUE2QjtBQUFBLFFBQzNCLFFBQVE7QUFBQSxRQUNSLFlBQVksQ0FBQyxLQUFLO0FBQUEsTUFDcEI7QUFBQSxNQUNBLCtCQUErQjtBQUFBLFFBQzdCLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxNQUNoQjtBQUFBLE1BQ0EsNEJBQTRCO0FBQUEsUUFDMUIsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLG1DQUFtQztBQUFBLFFBQ2pDLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSw0QkFBNEI7QUFBQSxRQUMxQixRQUFRO0FBQUEsUUFDUixZQUFZLENBQUMsS0FBSztBQUFBLE1BQ3BCO0FBQUEsTUFDQSwrQkFBK0I7QUFBQSxRQUM3QixRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0EsNEJBQTRCO0FBQUEsUUFDMUIsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLHdCQUF3QjtBQUFBLFFBQ3RCLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSw0QkFBNEI7QUFBQSxRQUMxQixRQUFRO0FBQUEsUUFDUixZQUFZLENBQUMsS0FBSztBQUFBLE1BQ3BCO0FBQUEsTUFDQSw4QkFBOEI7QUFBQSxRQUM1QixRQUFRO0FBQUEsUUFDUixZQUFZLENBQUMsT0FBTztBQUFBLE1BQ3RCO0FBQUEsTUFDQSxzQ0FBc0M7QUFBQSxRQUNwQyxRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsTUFDaEI7QUFBQSxNQUNBLDBCQUEwQjtBQUFBLFFBQ3hCLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSxrQ0FBa0M7QUFBQSxRQUNoQyxRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsTUFDaEI7QUFBQSxNQUNBLGlDQUFpQztBQUFBLFFBQy9CLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxNQUNoQjtBQUFBLE1BQ0EsNENBQTRDO0FBQUEsUUFDMUMsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLE1BQ2hCO0FBQUEsTUFDQSwrQkFBK0I7QUFBQSxRQUM3QixRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0EsK0JBQStCO0FBQUEsUUFDN0IsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLHdCQUF3QjtBQUFBLFFBQ3RCLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxRQUNkLFlBQVksQ0FBQyxNQUFNO0FBQUEsTUFDckI7QUFBQSxNQUNBLG1DQUFtQztBQUFBLFFBQ2pDLFFBQVE7QUFBQSxRQUNSLFlBQVksQ0FBQyxLQUFLO0FBQUEsTUFDcEI7QUFBQSxNQUNBLDJCQUEyQjtBQUFBLFFBQ3pCLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSxvQ0FBb0M7QUFBQSxRQUNsQyxRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsTUFDaEI7QUFBQSxNQUNBLHFDQUFxQztBQUFBLFFBQ25DLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxNQUNoQjtBQUFBLE1BQ0EsdUJBQXVCO0FBQUEsUUFDckIsUUFBUTtBQUFBLFFBQ1IsWUFBWSxDQUFDLEtBQUs7QUFBQSxNQUNwQjtBQUFBLE1BQ0EsNEJBQTRCO0FBQUEsUUFDMUIsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLFFBQ2QsWUFBWSxDQUFDLE1BQU07QUFBQSxNQUNyQjtBQUFBLE1BQ0EseUNBQXlDO0FBQUEsUUFDdkMsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLDZCQUE2QjtBQUFBLFFBQzNCLFFBQVE7QUFBQSxRQUNSLFlBQVksQ0FBQyxPQUFPLFFBQVEsT0FBTyxNQUFNO0FBQUEsTUFDM0M7QUFBQSxNQUNBLGlDQUFpQztBQUFBLFFBQy9CLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxRQUNkLFlBQVksQ0FBQyxPQUFPLE1BQU07QUFBQSxNQUM1QjtBQUFBLE1BQ0Esb0NBQW9DO0FBQUEsUUFDbEMsUUFBUTtBQUFBLFFBQ1IsWUFBWSxDQUFDLE9BQU8sTUFBTTtBQUFBLE1BQzVCO0FBQUEsTUFDQSw0QkFBNEI7QUFBQSxRQUMxQixRQUFRO0FBQUEsUUFDUixZQUFZLENBQUMsT0FBTyxNQUFNO0FBQUEsTUFDNUI7QUFBQSxNQUNBLDBDQUEwQztBQUFBLFFBQ3hDLFFBQVE7QUFBQSxRQUNSLFlBQVksQ0FBQyxXQUFXO0FBQUEsTUFDMUI7QUFBQSxNQUNBLGlDQUFpQztBQUFBLFFBQy9CLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSw0Q0FBNEM7QUFBQSxRQUMxQyxRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0EscUNBQXFDO0FBQUEsUUFDbkMsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLE1BQ2hCO0FBQUEsTUFDQSx1QkFBdUI7QUFBQSxRQUNyQixRQUFRO0FBQUEsUUFDUixZQUFZLENBQUMsS0FBSztBQUFBLE1BQ3BCO0FBQUEsTUFDQSxpQ0FBaUM7QUFBQSxRQUMvQixRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsTUFDaEI7QUFBQSxNQUNBLDZCQUE2QjtBQUFBLFFBQzNCLFFBQVE7QUFBQSxRQUNSLFlBQVksQ0FBQyxLQUFLO0FBQUEsTUFDcEI7QUFBQSxNQUNBLGtDQUFrQztBQUFBLFFBQ2hDLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSxrQ0FBa0M7QUFBQSxRQUNoQyxRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0Esc0RBQXNEO0FBQUEsUUFDcEQsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLDJCQUEyQjtBQUFBLFFBQ3pCLFFBQVE7QUFBQSxRQUNSLFlBQVksQ0FBQyxLQUFLO0FBQUEsTUFDcEI7QUFBQSxNQUNBLGdDQUFnQztBQUFBLFFBQzlCLFFBQVE7QUFBQSxRQUNSLFlBQVksQ0FBQyxNQUFNO0FBQUEsTUFDckI7QUFBQSxNQUNBLDhCQUE4QjtBQUFBLFFBQzVCLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxNQUNoQjtBQUFBLE1BQ0EsK0JBQStCO0FBQUEsUUFDN0IsUUFBUTtBQUFBLFFBQ1IsWUFBWSxDQUFDLE1BQU07QUFBQSxNQUNyQjtBQUFBLE1BQ0EsNkJBQTZCO0FBQUEsUUFDM0IsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLG1DQUFtQztBQUFBLFFBQ2pDLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSxrQ0FBa0M7QUFBQSxRQUNoQyxRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0EsMkJBQTJCO0FBQUEsUUFDekIsUUFBUTtBQUFBLFFBQ1IsWUFBWSxDQUFDLEtBQUs7QUFBQSxNQUNwQjtBQUFBLE1BQ0Esa0NBQWtDO0FBQUEsUUFDaEMsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLE1BQ2hCO0FBQUEsTUFDQSw0QkFBNEI7QUFBQSxRQUMxQixRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0Esb0NBQW9DO0FBQUEsUUFDbEMsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLDBDQUEwQztBQUFBLFFBQ3hDLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSxxQ0FBcUM7QUFBQSxRQUNuQyxRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0Esc0NBQXNDO0FBQUEsUUFDcEMsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLGtDQUFrQztBQUFBLFFBQ2hDLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSxtQ0FBbUM7QUFBQSxRQUNqQyxRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0EsdUNBQXVDO0FBQUEsUUFDckMsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLDhDQUE4QztBQUFBLFFBQzVDLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSxnREFBZ0Q7QUFBQSxRQUM5QyxRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsTUFDaEI7QUFBQSxNQUNBLDJDQUEyQztBQUFBLFFBQ3pDLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxNQUNoQjtBQUFBLE1BQ0EseUNBQXlDO0FBQUEsUUFDdkMsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLE1BQ2hCO0FBQUEsTUFDQSw0Q0FBNEM7QUFBQSxRQUMxQyxRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsTUFDaEI7QUFBQSxNQUNBLHlEQUF5RDtBQUFBLFFBQ3ZELFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxNQUNoQjtBQUFBLE1BQ0EsMERBQTBEO0FBQUEsUUFDeEQsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLE1BQ2hCO0FBQUEsTUFDQSxzQ0FBc0M7QUFBQSxRQUNwQyxRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsTUFDaEI7QUFBQSxNQUNBLDJCQUEyQjtBQUFBLFFBQ3pCLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSwrQkFBK0I7QUFBQSxRQUM3QixRQUFRO0FBQUEsUUFDUixZQUFZLENBQUMsS0FBSztBQUFBLE1BQ3BCO0FBQUEsTUFDQSx1QkFBdUI7QUFBQSxRQUNyQixRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0EsMkJBQTJCO0FBQUEsUUFDekIsUUFBUTtBQUFBLFFBQ1IsWUFBWSxDQUFDLEtBQUs7QUFBQSxNQUNwQjtBQUFBLE1BQ0EsdUJBQXVCO0FBQUEsUUFDckIsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLDJDQUEyQztBQUFBLFFBQ3pDLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSxnQ0FBZ0M7QUFBQSxRQUM5QixRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0EsNEJBQTRCO0FBQUEsUUFDMUIsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLHNDQUFzQztBQUFBLFFBQ3BDLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxNQUNoQjtBQUFBLE1BQ0EsZ0NBQWdDO0FBQUEsUUFDOUIsUUFBUTtBQUFBLFFBQ1IsWUFBWSxDQUFDLEtBQUs7QUFBQSxNQUNwQjtBQUFBLE1BQ0Esc0NBQXNDO0FBQUEsUUFDcEMsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLHFDQUFxQztBQUFBLFFBQ25DLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSxpQ0FBaUM7QUFBQSxRQUMvQixRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0Esd0NBQXdDO0FBQUEsUUFDdEMsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLHVDQUF1QztBQUFBLFFBQ3JDLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSwyQkFBMkI7QUFBQSxRQUN6QixRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0EsMkJBQTJCO0FBQUEsUUFDekIsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLDJCQUEyQjtBQUFBLFFBQ3pCLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxNQUNoQjtBQUFBLE1BQ0EsOENBQThDO0FBQUEsUUFDNUMsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLE1BQ2hCO0FBQUEsTUFDQSwyQkFBMkI7QUFBQSxRQUN6QixRQUFRO0FBQUEsUUFDUixZQUFZLENBQUMsS0FBSztBQUFBLE1BQ3BCO0FBQUEsTUFDQSxpQ0FBaUM7QUFBQSxRQUMvQixRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0Esb0NBQW9DO0FBQUEsUUFDbEMsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLE1BQ2hCO0FBQUEsTUFDQSw2QkFBNkI7QUFBQSxRQUMzQixRQUFRO0FBQUEsUUFDUixZQUFZLENBQUMsS0FBSztBQUFBLE1BQ3BCO0FBQUEsTUFDQSw2QkFBNkI7QUFBQSxRQUMzQixRQUFRO0FBQUEsUUFDUixZQUFZLENBQUMsS0FBSztBQUFBLE1BQ3BCO0FBQUEsTUFDQSxvQ0FBb0M7QUFBQSxRQUNsQyxRQUFRO0FBQUEsUUFDUixZQUFZLENBQUMsS0FBSztBQUFBLE1BQ3BCO0FBQUEsTUFDQSw4QkFBOEI7QUFBQSxRQUM1QixRQUFRO0FBQUEsUUFDUixZQUFZLENBQUMsS0FBSztBQUFBLE1BQ3BCO0FBQUEsTUFDQSw2QkFBNkI7QUFBQSxRQUMzQixRQUFRO0FBQUEsUUFDUixZQUFZLENBQUMsS0FBSztBQUFBLE1BQ3BCO0FBQUEsTUFDQSxzQ0FBc0M7QUFBQSxRQUNwQyxRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0EseUJBQXlCO0FBQUEsUUFDdkIsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLHFDQUFxQztBQUFBLFFBQ25DLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxNQUNoQjtBQUFBLE1BQ0EsZ0NBQWdDO0FBQUEsUUFDOUIsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLFFBQ2QsWUFBWSxDQUFDLE9BQU8sS0FBSztBQUFBLE1BQzNCO0FBQUEsTUFDQSxnQ0FBZ0M7QUFBQSxRQUM5QixRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsTUFDaEI7QUFBQSxNQUNBLG1DQUFtQztBQUFBLFFBQ2pDLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxNQUNoQjtBQUFBLE1BQ0EsbUNBQW1DO0FBQUEsUUFDakMsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLE1BQ2hCO0FBQUEsTUFDQSxnQ0FBZ0M7QUFBQSxRQUM5QixRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsTUFDaEI7QUFBQSxNQUNBLHdDQUF3QztBQUFBLFFBQ3RDLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxNQUNoQjtBQUFBLE1BQ0EsMENBQTBDO0FBQUEsUUFDeEMsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLE1BQ2hCO0FBQUEsTUFDQSx3Q0FBd0M7QUFBQSxRQUN0QyxRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsTUFDaEI7QUFBQSxNQUNBLHVDQUF1QztBQUFBLFFBQ3JDLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxNQUNoQjtBQUFBLE1BQ0Esd0NBQXdDO0FBQUEsUUFDdEMsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLE1BQ2hCO0FBQUEsTUFDQSx5Q0FBeUM7QUFBQSxRQUN2QyxRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsTUFDaEI7QUFBQSxNQUNBLHdDQUF3QztBQUFBLFFBQ3RDLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxNQUNoQjtBQUFBLE1BQ0EscUNBQXFDO0FBQUEsUUFDbkMsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLE1BQ2hCO0FBQUEsTUFDQSwwQ0FBMEM7QUFBQSxRQUN4QyxRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsTUFDaEI7QUFBQSxNQUNBLGlDQUFpQztBQUFBLFFBQy9CLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxNQUNoQjtBQUFBLE1BQ0EsOEJBQThCO0FBQUEsUUFDNUIsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLDREQUE0RDtBQUFBLFFBQzFELFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxNQUNoQjtBQUFBLE1BQ0EsaUNBQWlDO0FBQUEsUUFDL0IsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLE1BQ2hCO0FBQUEsTUFDQSxnQ0FBZ0M7QUFBQSxRQUM5QixRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsTUFDaEI7QUFBQSxNQUNBLHFDQUFxQztBQUFBLFFBQ25DLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxNQUNoQjtBQUFBLE1BQ0Esd0NBQXdDO0FBQUEsUUFDdEMsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLGdDQUFnQztBQUFBLFFBQzlCLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxNQUNoQjtBQUFBLE1BQ0EsZ0NBQWdDO0FBQUEsUUFDOUIsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLHlDQUF5QztBQUFBLFFBQ3ZDLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxNQUNoQjtBQUFBLE1BQ0EsK0JBQStCO0FBQUEsUUFDN0IsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLHNDQUFzQztBQUFBLFFBQ3BDLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSx1Q0FBdUM7QUFBQSxRQUNyQyxRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0Esb0NBQW9DO0FBQUEsUUFDbEMsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLHdDQUF3QztBQUFBLFFBQ3RDLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxNQUNoQjtBQUFBLE1BQ0Esb0NBQW9DO0FBQUEsUUFDbEMsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLCtCQUErQjtBQUFBLFFBQzdCLFFBQVE7QUFBQSxRQUNSLFlBQVksQ0FBQyxLQUFLO0FBQUEsTUFDcEI7QUFBQSxNQUNBLGlDQUFpQztBQUFBLFFBQy9CLFFBQVE7QUFBQSxRQUNSLFlBQVksQ0FBQyxLQUFLO0FBQUEsTUFDcEI7QUFBQSxNQUNBLG1DQUFtQztBQUFBLFFBQ2pDLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSwyQ0FBMkM7QUFBQSxRQUN6QyxRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsTUFDaEI7QUFBQSxNQUNBLHVDQUF1QztBQUFBLFFBQ3JDLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSx1QkFBdUI7QUFBQSxRQUNyQixRQUFRO0FBQUEsUUFDUixZQUFZLENBQUMsS0FBSztBQUFBLE1BQ3BCO0FBQUEsTUFDQSw4QkFBOEI7QUFBQSxRQUM1QixRQUFRO0FBQUEsUUFDUixZQUFZLENBQUMsT0FBTztBQUFBLE1BQ3RCO0FBQUEsTUFDQSw2QkFBNkI7QUFBQSxRQUMzQixRQUFRO0FBQUEsUUFDUixZQUFZLENBQUMsUUFBUSxVQUFVO0FBQUEsTUFDakM7QUFBQSxNQUNBLHVDQUF1QztBQUFBLFFBQ3JDLFFBQVE7QUFBQSxRQUNSLFNBQVM7QUFBQSxRQUNULGNBQWM7QUFBQSxNQUNoQjtBQUFBLE1BQ0EseUJBQXlCO0FBQUEsUUFDdkIsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLGtDQUFrQztBQUFBLFFBQ2hDLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxNQUNoQjtBQUFBLE1BQ0EsOEJBQThCO0FBQUEsUUFDNUIsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLHlCQUF5QjtBQUFBLFFBQ3ZCLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSx5Q0FBeUM7QUFBQSxRQUN2QyxRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0EsOEJBQThCO0FBQUEsUUFDNUIsUUFBUTtBQUFBLFFBQ1IsWUFBWSxDQUFDLEtBQUs7QUFBQSxNQUNwQjtBQUFBLE1BQ0EsaUNBQWlDO0FBQUEsUUFDL0IsUUFBUTtBQUFBLFFBQ1IsWUFBWSxDQUFDLEtBQUs7QUFBQSxNQUNwQjtBQUFBLE1BQ0Esc0NBQXNDO0FBQUEsUUFDcEMsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLDhCQUE4QjtBQUFBLFFBQzVCLFFBQVE7QUFBQSxRQUNSLFlBQVksQ0FBQyxNQUFNLFNBQVMsU0FBUyxNQUFNO0FBQUEsTUFDN0M7QUFBQSxNQUNBLGlDQUFpQztBQUFBLFFBQy9CLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSwrQkFBK0I7QUFBQSxRQUM3QixRQUFRO0FBQUEsUUFDUixZQUFZLENBQUMsS0FBSztBQUFBLE1BQ3BCO0FBQUEsTUFDQSwrQkFBK0I7QUFBQSxRQUM3QixRQUFRO0FBQUEsUUFDUixZQUFZLENBQUMsS0FBSztBQUFBLE1BQ3BCO0FBQUEsTUFDQSxpQ0FBaUM7QUFBQSxRQUMvQixRQUFRO0FBQUEsUUFDUixZQUFZLENBQUMsS0FBSztBQUFBLE1BQ3BCO0FBQUEsTUFDQSx5Q0FBeUM7QUFBQSxRQUN2QyxRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0EsZ0RBQWdEO0FBQUEsUUFDOUMsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLG1EQUFtRDtBQUFBLFFBQ2pELFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSx1Q0FBdUM7QUFBQSxRQUNyQyxRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsTUFDaEI7QUFBQSxNQUNBLGlDQUFpQztBQUFBLFFBQy9CLFFBQVE7QUFBQSxRQUNSLFlBQVksQ0FBQyxLQUFLO0FBQUEsTUFDcEI7QUFBQSxNQUNBLGtDQUFrQztBQUFBLFFBQ2hDLFFBQVE7QUFBQSxRQUNSLFlBQVksQ0FBQyxLQUFLO0FBQUEsTUFDcEI7QUFBQSxNQUNBLGtDQUFrQztBQUFBLFFBQ2hDLFFBQVE7QUFBQSxRQUNSLFlBQVksQ0FBQyxLQUFLO0FBQUEsTUFDcEI7QUFBQSxNQUNBLG1DQUFtQztBQUFBLFFBQ2pDLFFBQVE7QUFBQSxRQUNSLFlBQVksQ0FBQyxLQUFLO0FBQUEsTUFDcEI7QUFBQSxNQUNBLG9DQUFvQztBQUFBLFFBQ2xDLFFBQVE7QUFBQSxRQUNSLFlBQVksQ0FBQyxLQUFLO0FBQUEsTUFDcEI7QUFBQSxNQUNBLG9DQUFvQztBQUFBLFFBQ2xDLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSxrQ0FBa0M7QUFBQSxRQUNoQyxRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0EsaUNBQWlDO0FBQUEsUUFDL0IsUUFBUTtBQUFBLFFBQ1IsWUFBWSxDQUFDLEtBQUs7QUFBQSxNQUNwQjtBQUFBLE1BQ0EsdUNBQXVDO0FBQUEsUUFDckMsUUFBUTtBQUFBLFFBQ1IsWUFBWSxDQUFDLEtBQUs7QUFBQSxNQUNwQjtBQUFBLE1BQ0EsOENBQThDO0FBQUEsUUFDNUMsUUFBUTtBQUFBLFFBQ1IsWUFBWSxDQUFDLEtBQUs7QUFBQSxNQUNwQjtBQUFBLE1BQ0EsaURBQWlEO0FBQUEsUUFDL0MsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLGtDQUFrQztBQUFBLFFBQ2hDLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSw4QkFBOEI7QUFBQSxRQUM1QixRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0EsK0JBQStCO0FBQUEsUUFDN0IsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLCtCQUErQjtBQUFBLFFBQzdCLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxNQUNoQjtBQUFBLE1BQ0EsOEJBQThCO0FBQUEsUUFDNUIsUUFBUTtBQUFBLFFBQ1IsWUFBWSxDQUFDLEtBQUs7QUFBQSxNQUNwQjtBQUFBLE1BQ0Esc0NBQXNDO0FBQUEsUUFDcEMsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLG9DQUFvQztBQUFBLFFBQ2xDLFFBQVE7QUFBQSxRQUNSLFlBQVksQ0FBQyxLQUFLO0FBQUEsTUFDcEI7QUFBQSxNQUNBLDJCQUEyQjtBQUFBLFFBQ3pCLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSxvQ0FBb0M7QUFBQSxRQUNsQyxRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsTUFDaEI7QUFBQSxNQUNBLDBDQUEwQztBQUFBLFFBQ3hDLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxNQUNoQjtBQUFBLE1BQ0EsaUNBQWlDO0FBQUEsUUFDL0IsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLGlDQUFpQztBQUFBLFFBQy9CLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSwrQkFBK0I7QUFBQSxRQUM3QixRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0EsbUNBQW1DO0FBQUEsUUFDakMsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLDBDQUEwQztBQUFBLFFBQ3hDLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxNQUNoQjtBQUFBLE1BQ0EsK0JBQStCO0FBQUEsUUFDN0IsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLDRCQUE0QjtBQUFBLFFBQzFCLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxNQUNoQjtBQUFBLE1BQ0EsK0JBQStCO0FBQUEsUUFDN0IsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLE1BQ2hCO0FBQUEsTUFDQSxpQ0FBaUM7QUFBQSxRQUMvQixRQUFRO0FBQUEsUUFDUixZQUFZLENBQUMsS0FBSztBQUFBLE1BQ3BCO0FBQUEsTUFDQSxxQ0FBcUM7QUFBQSxRQUNuQyxRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0EsbUNBQW1DO0FBQUEsUUFDakMsUUFBUTtBQUFBLFFBQ1IsWUFBWSxDQUFDLEtBQUs7QUFBQSxNQUNwQjtBQUFBLE1BQ0EsaUNBQWlDO0FBQUEsUUFDL0IsUUFBUTtBQUFBLFFBQ1IsWUFBWSxDQUFDLEtBQUs7QUFBQSxNQUNwQjtBQUFBLE1BQ0EscUNBQXFDO0FBQUEsUUFDbkMsUUFBUTtBQUFBLFFBQ1IsWUFBWSxDQUFDLE9BQU8sS0FBSztBQUFBLE1BQzNCO0FBQUEsTUFDQSwyQkFBMkI7QUFBQSxRQUN6QixRQUFRO0FBQUEsUUFDUixZQUFZLENBQUMsS0FBSztBQUFBLE1BQ3BCO0FBQUEsTUFDQSwyQkFBMkI7QUFBQSxRQUN6QixRQUFRO0FBQUEsUUFDUixZQUFZLENBQUMsS0FBSztBQUFBLE1BQ3BCO0FBQUEsTUFDQSw0QkFBNEI7QUFBQSxRQUMxQixRQUFRO0FBQUEsUUFDUixZQUFZLENBQUMsS0FBSztBQUFBLE1BQ3BCO0FBQUEsTUFDQSwwQkFBMEI7QUFBQSxRQUN4QixRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0EsbURBQW1EO0FBQUEsUUFDakQsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLDREQUE0RDtBQUFBLFFBQzFELFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSx1QkFBdUI7QUFBQSxRQUNyQixRQUFRO0FBQUEsUUFDUixZQUFZLENBQUMsS0FBSztBQUFBLE1BQ3BCO0FBQUEsTUFDQSwyQ0FBMkM7QUFBQSxRQUN6QyxRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsTUFDaEI7QUFBQSxNQUNBLDJDQUEyQztBQUFBLFFBQ3pDLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxNQUNoQjtBQUFBLE1BQ0EscUNBQXFDLENBQUM7QUFBQSxNQUN0Qyx3Q0FBd0M7QUFBQSxRQUN0QyxjQUFjO0FBQUEsUUFDZCxZQUFZLENBQUMsTUFBTTtBQUFBLE1BQ3JCO0FBQUEsTUFDQSx1Q0FBdUM7QUFBQSxRQUNyQyxjQUFjO0FBQUEsUUFDZCxZQUFZLENBQUMsT0FBTztBQUFBLE1BQ3RCO0FBQUEsTUFDQSx5Q0FBeUM7QUFBQSxRQUN2QyxjQUFjO0FBQUEsTUFDaEI7QUFBQSxNQUNBLG9DQUFvQyxDQUFDO0FBQUEsTUFDckMsc0NBQXNDO0FBQUEsUUFDcEMsY0FBYztBQUFBLE1BQ2hCO0FBQUEsTUFDQSxvQ0FBb0M7QUFBQSxRQUNsQyxjQUFjO0FBQUEsUUFDZCxZQUFZLENBQUMsT0FBTztBQUFBLE1BQ3RCO0FBQUEsTUFDQSwyQ0FBMkMsQ0FBQztBQUFBLE1BQzVDLG1DQUFtQztBQUFBLFFBQ2pDLGNBQWM7QUFBQSxRQUNkLFlBQVksQ0FBQyxNQUFNO0FBQUEsTUFDckI7QUFBQSxNQUNBLDJDQUEyQyxDQUFDO0FBQUEsTUFDNUMsbUNBQW1DO0FBQUEsUUFDakMsY0FBYztBQUFBLFFBQ2QsWUFBWSxDQUFDLE1BQU07QUFBQSxNQUNyQjtBQUFBLE1BQ0EscUNBQXFDLENBQUM7QUFBQSxNQUN0Qyw0Q0FBNEM7QUFBQSxRQUMxQyxjQUFjO0FBQUEsUUFDZCxZQUFZLENBQUMsU0FBUztBQUFBLE1BQ3hCO0FBQUEsTUFDQSxzQ0FBc0M7QUFBQSxRQUNwQyxjQUFjO0FBQUEsUUFDZCxZQUFZLENBQUMsU0FBUztBQUFBLE1BQ3hCO0FBQUEsTUFDQSx3Q0FBd0MsQ0FBQztBQUFBLE1BQ3pDLG9DQUFvQztBQUFBLFFBQ2xDLGNBQWM7QUFBQSxRQUNkLFlBQVksQ0FBQyxPQUFPO0FBQUEsTUFDdEI7QUFBQSxNQUNBLDJDQUEyQztBQUFBLFFBQ3pDLGNBQWM7QUFBQSxRQUNkLFlBQVksQ0FBQyxRQUFRO0FBQUEsTUFDdkI7QUFBQSxNQUNBLHVDQUF1QyxDQUFDO0FBQUEsTUFDeEMscUNBQXFDLENBQUM7QUFBQSxNQUN0Qyx3Q0FBd0M7QUFBQSxRQUN0QyxRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsUUFDZCxZQUFZLENBQUMsS0FBSztBQUFBLE1BQ3BCO0FBQUEsTUFDQSxvQ0FBb0M7QUFBQSxRQUNsQyxRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsUUFDZCxZQUFZLENBQUMsS0FBSztBQUFBLE1BQ3BCO0FBQUEsTUFDQSxxQ0FBcUM7QUFBQSxRQUNuQyxRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsTUFDaEI7QUFBQSxNQUNBLHFDQUFxQztBQUFBLFFBQ25DLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxNQUNoQjtBQUFBLE1BQ0EsK0NBQStDO0FBQUEsUUFDN0MsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLFFBQ2QsWUFBWSxDQUFDLE1BQU07QUFBQSxNQUNyQjtBQUFBLE1BQ0Esa0NBQWtDO0FBQUEsUUFDaEMsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLE1BQ2hCO0FBQUEsTUFDQSwwQkFBMEI7QUFBQSxRQUN4QixRQUFRO0FBQUEsUUFDUixZQUFZLENBQUMsT0FBTyxLQUFLO0FBQUEsTUFDM0I7QUFBQSxNQUNBLDBCQUEwQjtBQUFBLFFBQ3hCLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSxrQ0FBa0M7QUFBQSxRQUNoQyxRQUFRO0FBQUEsUUFDUixZQUFZLENBQUMsS0FBSztBQUFBLE1BQ3BCO0FBQUEsTUFDQSwrQkFBK0I7QUFBQSxRQUM3QixRQUFRO0FBQUEsUUFDUixZQUFZLENBQUMsS0FBSztBQUFBLE1BQ3BCO0FBQUEsTUFDQSwyQ0FBMkM7QUFBQSxRQUN6QyxRQUFRO0FBQUEsUUFDUixZQUFZLENBQUMsS0FBSztBQUFBLE1BQ3BCO0FBQUEsTUFDQSxtQ0FBbUM7QUFBQSxRQUNqQyxRQUFRO0FBQUEsUUFDUixZQUFZLENBQUMsS0FBSztBQUFBLE1BQ3BCO0FBQUEsTUFDQSx1Q0FBdUM7QUFBQSxRQUNyQyxRQUFRO0FBQUEsUUFDUixZQUFZLENBQUMsS0FBSztBQUFBLE1BQ3BCO0FBQUEsTUFDQSx3Q0FBd0M7QUFBQSxRQUN0QyxRQUFRO0FBQUEsUUFDUixZQUFZLENBQUMsS0FBSztBQUFBLE1BQ3BCO0FBQUEsTUFDQSxnQ0FBZ0M7QUFBQSxRQUM5QixRQUFRO0FBQUEsUUFDUixZQUFZLENBQUMsS0FBSztBQUFBLE1BQ3BCO0FBQUEsTUFDQSw0QkFBNEI7QUFBQSxRQUMxQixRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsTUFDaEI7QUFBQSxNQUNBLDJCQUEyQjtBQUFBLFFBQ3pCLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxRQUNkLFlBQVksQ0FBQyxLQUFLO0FBQUEsTUFDcEI7QUFBQSxNQUNBLDhDQUE4QztBQUFBLFFBQzVDLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxRQUNkLFlBQVksQ0FBQyxLQUFLO0FBQUEsTUFDcEI7QUFBQSxNQUNBLHdCQUF3QjtBQUFBLFFBQ3RCLFFBQVE7QUFBQSxRQUNSLFlBQVksQ0FBQyxNQUFNO0FBQUEsTUFDckI7QUFBQSxNQUNBLDJCQUEyQjtBQUFBLFFBQ3pCLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxNQUNoQjtBQUFBLE1BQ0EsaUNBQWlDO0FBQUEsUUFDL0IsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLHVCQUF1QjtBQUFBLFFBQ3JCLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSwrQkFBK0I7QUFBQSxRQUM3QixRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsTUFDaEI7QUFBQSxNQUNBLHFDQUFxQztBQUFBLFFBQ25DLFFBQVE7QUFBQSxRQUNSLFlBQVksQ0FBQyxLQUFLO0FBQUEsTUFDcEI7QUFBQSxNQUNBLDJCQUEyQjtBQUFBLFFBQ3pCLFFBQVE7QUFBQSxRQUNSLFlBQVksQ0FBQyxNQUFNO0FBQUEsTUFDckI7QUFBQSxNQUNBLDJCQUEyQjtBQUFBLFFBQ3pCLFFBQVE7QUFBQSxRQUNSLFlBQVksQ0FBQyxNQUFNO0FBQUEsTUFDckI7QUFBQSxNQUNBLDBCQUEwQjtBQUFBLFFBQ3hCLFFBQVE7QUFBQSxRQUNSLFlBQVksQ0FBQyxLQUFLO0FBQUEsTUFDcEI7QUFBQSxNQUNBLDJCQUEyQjtBQUFBLFFBQ3pCLFFBQVE7QUFBQSxRQUNSLFlBQVksQ0FBQyxLQUFLO0FBQUEsTUFDcEI7QUFBQSxNQUNBLDBCQUEwQjtBQUFBLFFBQ3hCLFFBQVE7QUFBQSxRQUNSLFlBQVksQ0FBQyxLQUFLO0FBQUEsTUFDcEI7QUFBQSxNQUNBLDRCQUE0QjtBQUFBLFFBQzFCLFFBQVE7QUFBQSxRQUNSLFlBQVksQ0FBQyxPQUFPO0FBQUEsTUFDdEI7QUFBQSxNQUNBLHVCQUF1QjtBQUFBLFFBQ3JCLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSw0QkFBNEI7QUFBQSxRQUMxQixRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0Esd0NBQXdDO0FBQUEsUUFDdEMsUUFBUTtBQUFBLFFBQ1IsWUFBWSxDQUFDLFdBQVc7QUFBQSxNQUMxQjtBQUFBLE1BQ0EsOEJBQThCO0FBQUEsUUFDNUIsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLE1BQ2hCO0FBQUEsTUFDQSxtQ0FBbUM7QUFBQSxRQUNqQyxRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsTUFDaEI7QUFBQSxNQUNBLG1DQUFtQztBQUFBLFFBQ2pDLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxNQUNoQjtBQUFBLE1BQ0Esb0NBQW9DO0FBQUEsUUFDbEMsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLG1DQUFtQztBQUFBLFFBQ2pDLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSx3Q0FBd0M7QUFBQSxRQUN0QyxRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0EsK0JBQStCO0FBQUEsUUFDN0IsUUFBUTtBQUFBLFFBQ1IsWUFBWSxDQUFDLEtBQUs7QUFBQSxNQUNwQjtBQUFBLE1BQ0EsOEJBQThCO0FBQUEsUUFDNUIsUUFBUTtBQUFBLFFBQ1IsWUFBWSxDQUFDLE9BQU8sV0FBVyxVQUFVO0FBQUEsTUFDM0M7QUFBQSxNQUNBLHlDQUF5QztBQUFBLFFBQ3ZDLFFBQVE7QUFBQSxRQUNSLFlBQVksQ0FBQyxLQUFLO0FBQUEsTUFDcEI7QUFBQSxNQUNBLHdDQUF3QztBQUFBLFFBQ3RDLFFBQVE7QUFBQSxRQUNSLFlBQVksQ0FBQyxJQUFJO0FBQUEsTUFDbkI7QUFBQSxNQUNBLDhCQUE4QjtBQUFBLFFBQzVCLFFBQVE7QUFBQSxRQUNSLFlBQVksQ0FBQyxPQUFPLEtBQUs7QUFBQSxNQUMzQjtBQUFBLE1BQ0EsNkJBQTZCO0FBQUEsUUFDM0IsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLDRCQUE0QjtBQUFBLFFBQzFCLFFBQVE7QUFBQSxRQUNSLFlBQVksQ0FBQyxLQUFLO0FBQUEsTUFDcEI7QUFBQSxNQUNBLHlDQUF5QztBQUFBLFFBQ3ZDLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxNQUNoQjtBQUFBLE1BQ0Esd0NBQXdDO0FBQUEsUUFDdEMsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLE1BQ2hCO0FBQUEsTUFDQSxtQ0FBbUM7QUFBQSxRQUNqQyxRQUFRO0FBQUEsUUFDUixZQUFZLENBQUMsS0FBSztBQUFBLE1BQ3BCO0FBQUEsTUFDQSxtQ0FBbUM7QUFBQSxRQUNqQyxRQUFRO0FBQUEsUUFDUixZQUFZLENBQUMsS0FBSztBQUFBLE1BQ3BCO0FBQUEsTUFDQSxpQ0FBaUM7QUFBQSxRQUMvQixRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0EsaUNBQWlDO0FBQUEsUUFDL0IsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLGlDQUFpQztBQUFBLFFBQy9CLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSwwQ0FBMEM7QUFBQSxRQUN4QyxRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsTUFDaEI7QUFBQSxNQUNBLHVEQUF1RDtBQUFBLFFBQ3JELFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxNQUNoQjtBQUFBLE1BQ0EsNkNBQTZDO0FBQUEsUUFDM0MsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLE1BQ2hCO0FBQUEsTUFDQSxnREFBZ0Q7QUFBQSxRQUM5QyxRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsTUFDaEI7QUFBQSxNQUNBLGdEQUFnRDtBQUFBLFFBQzlDLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxNQUNoQjtBQUFBLE1BQ0EsdURBQXVEO0FBQUEsUUFDckQsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLE1BQ2hCO0FBQUEsTUFDQSwyQ0FBMkM7QUFBQSxRQUN6QyxRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsTUFDaEI7QUFBQSxNQUNBLHNDQUFzQztBQUFBLFFBQ3BDLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSxvQ0FBb0M7QUFBQSxRQUNsQyxRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0Esd0NBQXdDO0FBQUEsUUFDdEMsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLE1BQ2hCO0FBQUEsTUFDQSw4Q0FBOEM7QUFBQSxRQUM1QyxRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0EsOEJBQThCO0FBQUEsUUFDNUIsUUFBUTtBQUFBLFFBQ1IsWUFBWSxDQUFDLEtBQUs7QUFBQSxNQUNwQjtBQUFBLE1BQ0Esb0NBQW9DO0FBQUEsUUFDbEMsUUFBUTtBQUFBLFFBQ1IsWUFBWSxDQUFDLE9BQU8sS0FBSztBQUFBLE1BQzNCO0FBQUEsTUFDQSw0QkFBNEI7QUFBQSxRQUMxQixRQUFRO0FBQUEsUUFDUixZQUFZLENBQUMsS0FBSztBQUFBLE1BQ3BCO0FBQUEsTUFDQSxzQ0FBc0M7QUFBQSxRQUNwQyxRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0EsbUNBQW1DO0FBQUEsUUFDakMsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLDRCQUE0QjtBQUFBLFFBQzFCLFFBQVE7QUFBQSxRQUNSLFlBQVksQ0FBQyxLQUFLO0FBQUEsTUFDcEI7QUFBQSxNQUNBLDRCQUE0QjtBQUFBLFFBQzFCLFFBQVE7QUFBQSxRQUNSLFlBQVksQ0FBQyxLQUFLO0FBQUEsTUFDcEI7QUFBQSxNQUNBLG9DQUFvQztBQUFBLFFBQ2xDLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSw0QkFBNEI7QUFBQSxRQUMxQixRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0EsaUNBQWlDO0FBQUEsUUFDL0IsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLGlDQUFpQztBQUFBLFFBQy9CLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSw0QkFBNEI7QUFBQSxRQUMxQixRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0EsMkNBQTJDO0FBQUEsUUFDekMsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLE1BQ2hCO0FBQUEsTUFDQSwyQ0FBMkM7QUFBQSxRQUN6QyxRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsTUFDaEI7QUFBQSxNQUNBLDZDQUE2QztBQUFBLFFBQzNDLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxNQUNoQjtBQUFBLE1BQ0Esd0NBQXdDO0FBQUEsUUFDdEMsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLE1BQ2hCO0FBQUEsTUFDQSwyQ0FBMkM7QUFBQSxRQUN6QyxRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsTUFDaEI7QUFBQSxNQUNBLDJDQUEyQztBQUFBLFFBQ3pDLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxNQUNoQjtBQUFBLE1BQ0EsNENBQTRDO0FBQUEsUUFDMUMsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLE1BQ2hCO0FBQUEsTUFDQSx5Q0FBeUM7QUFBQSxRQUN2QyxRQUFRO0FBQUEsUUFDUixZQUFZLENBQUMsV0FBVztBQUFBLE1BQzFCO0FBQUEsTUFDQSwyQ0FBMkM7QUFBQSxRQUN6QyxRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsUUFDZCxZQUFZLENBQUMsS0FBSztBQUFBLE1BQ3BCO0FBQUEsTUFDQSwwQkFBMEI7QUFBQSxRQUN4QixRQUFRO0FBQUEsUUFDUixZQUFZLENBQUMsS0FBSztBQUFBLE1BQ3BCO0FBQUEsTUFDQSw0QkFBNEI7QUFBQSxRQUMxQixRQUFRO0FBQUEsUUFDUixZQUFZLENBQUMsS0FBSztBQUFBLE1BQ3BCO0FBQUEsTUFDQSxtQ0FBbUM7QUFBQSxRQUNqQyxRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsTUFDaEI7QUFBQSxNQUNBLHVCQUF1QjtBQUFBLFFBQ3JCLFFBQVE7QUFBQSxRQUNSLFlBQVksQ0FBQyxLQUFLO0FBQUEsTUFDcEI7QUFBQSxNQUNBLDhDQUE4QztBQUFBLFFBQzVDLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSw0Q0FBNEM7QUFBQSxRQUMxQyxRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0EsMkNBQTJDO0FBQUEsUUFDekMsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLHlDQUF5QztBQUFBLFFBQ3ZDLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSxnREFBZ0Q7QUFBQSxRQUM5QyxRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0EsNENBQTRDO0FBQUEsUUFDMUMsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLHlDQUF5QztBQUFBLFFBQ3ZDLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSxnREFBZ0Q7QUFBQSxRQUM5QyxRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0EseUNBQXlDO0FBQUEsUUFDdkMsUUFBUTtBQUFBLFFBQ1IsWUFBWSxDQUFDLEtBQUs7QUFBQSxNQUNwQjtBQUFBLE1BQ0Esd0JBQXdCO0FBQUEsUUFDdEIsUUFBUTtBQUFBLFFBQ1IsWUFBWSxDQUFDLE1BQU07QUFBQSxNQUNyQjtBQUFBLE1BQ0Esc0NBQXNDO0FBQUEsUUFDcEMsUUFBUTtBQUFBLFFBQ1IsWUFBWSxDQUFDLE1BQU07QUFBQSxNQUNyQjtBQUFBLE1BQ0EsZ0NBQWdDO0FBQUEsUUFDOUIsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLDJCQUEyQjtBQUFBLFFBQ3pCLFFBQVE7QUFBQSxRQUNSLFlBQVksQ0FBQyxPQUFPLEtBQUs7QUFBQSxNQUMzQjtBQUFBLE1BQ0EsOEJBQThCO0FBQUEsUUFDNUIsUUFBUTtBQUFBLFFBQ1IsWUFBWSxDQUFDLFFBQVE7QUFBQSxNQUN2QjtBQUFBLE1BQ0EsOEJBQThCO0FBQUEsUUFDNUIsUUFBUTtBQUFBLFFBQ1IsWUFBWSxDQUFDLE1BQU07QUFBQSxNQUNyQjtBQUFBLE1BQ0EsZ0NBQWdDO0FBQUEsUUFDOUIsUUFBUTtBQUFBLFFBQ1IsWUFBWSxDQUFDLEtBQUs7QUFBQSxNQUNwQjtBQUFBLE1BQ0EsNkJBQTZCO0FBQUEsUUFDM0IsUUFBUTtBQUFBLFFBQ1IsWUFBWSxDQUFDLEtBQUs7QUFBQSxNQUNwQjtBQUFBLE1BQ0EsK0JBQStCO0FBQUEsUUFDN0IsUUFBUTtBQUFBLFFBQ1IsWUFBWSxDQUFDLEtBQUs7QUFBQSxNQUNwQjtBQUFBLE1BQ0Esa0NBQWtDO0FBQUEsUUFDaEMsUUFBUTtBQUFBLFFBQ1IsWUFBWSxDQUFDLE9BQU8sS0FBSztBQUFBLE1BQzNCO0FBQUEsTUFDQSwrQkFBK0I7QUFBQSxRQUM3QixRQUFRO0FBQUEsUUFDUixZQUFZLENBQUMsS0FBSztBQUFBLE1BQ3BCO0FBQUEsTUFDQSw2QkFBNkI7QUFBQSxRQUMzQixRQUFRO0FBQUEsUUFDUixZQUFZLENBQUMsT0FBTyxLQUFLO0FBQUEsTUFDM0I7QUFBQSxNQUNBLHVCQUF1QjtBQUFBLFFBQ3JCLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSw4QkFBOEI7QUFBQSxRQUM1QixRQUFRO0FBQUEsUUFDUixZQUFZLENBQUMsTUFBTTtBQUFBLE1BQ3JCO0FBQUEsTUFDQSxrQ0FBa0M7QUFBQSxRQUNoQyxRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsTUFDaEI7QUFBQSxNQUNBLDhCQUE4QjtBQUFBLFFBQzVCLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSxnQ0FBZ0M7QUFBQSxRQUM5QixRQUFRO0FBQUEsUUFDUixZQUFZLENBQUMsS0FBSztBQUFBLE1BQ3BCO0FBQUEsTUFDQSx5QkFBeUI7QUFBQSxRQUN2QixRQUFRO0FBQUEsUUFDUixZQUFZLENBQUMsT0FBTyxLQUFLO0FBQUEsTUFDM0I7QUFBQSxNQUNBLHdCQUF3QjtBQUFBLFFBQ3RCLFFBQVE7QUFBQSxRQUNSLFlBQVksQ0FBQyxPQUFPLE9BQU8sT0FBTyxLQUFLO0FBQUEsTUFDekM7QUFBQSxNQUNBLG9DQUFvQztBQUFBLFFBQ2xDLFFBQVE7QUFBQSxRQUNSLFlBQVksQ0FBQyxLQUFLO0FBQUEsTUFDcEI7QUFBQSxNQUNBLHVCQUF1QjtBQUFBLFFBQ3JCLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSxnQ0FBZ0M7QUFBQSxRQUM5QixRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsTUFDaEI7QUFBQSxNQUNBLCtCQUErQjtBQUFBLFFBQzdCLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxRQUNkLFlBQVksQ0FBQyxRQUFRO0FBQUEsTUFDdkI7QUFBQSxNQUNBLDBCQUEwQjtBQUFBLFFBQ3hCLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSx5Q0FBeUM7QUFBQSxRQUN2QyxRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0EsNkJBQTZCO0FBQUEsUUFDM0IsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLE1BQ2hCO0FBQUEsTUFDQSx1Q0FBdUM7QUFBQSxRQUNyQyxRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsTUFDaEI7QUFBQSxNQUNBLHNEQUFzRDtBQUFBLFFBQ3BELFFBQVE7QUFBQSxRQUNSLFlBQVksQ0FBQyxLQUFLO0FBQUEsTUFDcEI7QUFBQSxNQUNBLDJEQUEyRDtBQUFBLFFBQ3pELFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxRQUNkLFlBQVksQ0FBQyxLQUFLO0FBQUEsTUFDcEI7QUFBQSxNQUNBLHdDQUF3QztBQUFBLFFBQ3RDLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxNQUNoQjtBQUFBLE1BQ0Esd0JBQXdCO0FBQUEsUUFDdEIsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLCtCQUErQjtBQUFBLFFBQzdCLFFBQVE7QUFBQSxRQUNSLFlBQVksQ0FBQyxLQUFLO0FBQUEsTUFDcEI7QUFBQSxNQUNBLGtDQUFrQztBQUFBLFFBQ2hDLFFBQVE7QUFBQSxRQUNSLFlBQVksQ0FBQyxLQUFLO0FBQUEsTUFDcEI7QUFBQSxNQUNBLG1DQUFtQztBQUFBLFFBQ2pDLFFBQVE7QUFBQSxRQUNSLFlBQVksQ0FBQyxLQUFLO0FBQUEsTUFDcEI7QUFBQSxNQUNBLCtCQUErQjtBQUFBLFFBQzdCLFFBQVE7QUFBQSxRQUNSLFlBQVksQ0FBQyxLQUFLO0FBQUEsTUFDcEI7QUFBQSxNQUNBLG1DQUFtQztBQUFBLFFBQ2pDLFFBQVE7QUFBQSxRQUNSLFlBQVksQ0FBQyxLQUFLO0FBQUEsTUFDcEI7QUFBQSxNQUNBLG1DQUFtQztBQUFBLFFBQ2pDLFFBQVE7QUFBQSxRQUNSLFlBQVksQ0FBQyxLQUFLO0FBQUEsTUFDcEI7QUFBQSxNQUNBLGlDQUFpQztBQUFBLFFBQy9CLFFBQVE7QUFBQSxRQUNSLFlBQVksQ0FBQyxLQUFLO0FBQUEsTUFDcEI7QUFBQSxNQUNBLG9DQUFvQztBQUFBLFFBQ2xDLFFBQVE7QUFBQSxRQUNSLFlBQVksQ0FBQyxTQUFTO0FBQUEsTUFDeEI7QUFBQSxNQUNBLHNDQUFzQztBQUFBLFFBQ3BDLFFBQVE7QUFBQSxRQUNSLFlBQVksQ0FBQyxLQUFLO0FBQUEsTUFDcEI7QUFBQSxNQUNBLDhDQUE4QztBQUFBLFFBQzVDLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxNQUNoQjtBQUFBLE1BQ0EsNENBQTRDO0FBQUEsUUFDMUMsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLE1BQ2hCO0FBQUEsTUFDQSwwQ0FBMEM7QUFBQSxRQUN4QyxRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsTUFDaEI7QUFBQSxNQUNBLG1DQUFtQztBQUFBLFFBQ2pDLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSw4QkFBOEI7QUFBQSxRQUM1QixRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsTUFDaEI7QUFBQSxNQUNBLHlDQUF5QztBQUFBLFFBQ3ZDLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxNQUNoQjtBQUFBLE1BQ0Esc0NBQXNDO0FBQUEsUUFDcEMsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLHVCQUF1QjtBQUFBLFFBQ3JCLFFBQVE7QUFBQSxRQUNSLFlBQVksQ0FBQyxLQUFLO0FBQUEsTUFDcEI7QUFBQSxNQUNBLHVCQUF1QjtBQUFBLFFBQ3JCLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSw2QkFBNkI7QUFBQSxRQUMzQixRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0EsK0JBQStCO0FBQUEsUUFDN0IsUUFBUTtBQUFBLFFBQ1IsWUFBWSxDQUFDLEtBQUs7QUFBQSxNQUNwQjtBQUFBLE1BQ0Esc0NBQXNDO0FBQUEsUUFDcEMsUUFBUTtBQUFBLFFBQ1IsWUFBWSxDQUFDLE9BQU87QUFBQSxNQUN0QjtBQUFBLE1BQ0EsNENBQTRDO0FBQUEsUUFDMUMsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLHNDQUFzQztBQUFBLFFBQ3BDLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSwyQkFBMkI7QUFBQSxRQUN6QixRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0Esd0JBQXdCO0FBQUEsUUFDdEIsUUFBUTtBQUFBLFFBQ1IsWUFBWSxDQUFDLEtBQUs7QUFBQSxNQUNwQjtBQUFBLE1BQ0Esd0JBQXdCO0FBQUEsUUFDdEIsUUFBUTtBQUFBLFFBQ1IsWUFBWSxDQUFDLEtBQUs7QUFBQSxNQUNwQjtBQUFBLE1BQ0EsOEJBQThCO0FBQUEsUUFDNUIsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLE1BQ2hCO0FBQUEsTUFDQSxrQ0FBa0M7QUFBQSxRQUNoQyxRQUFRO0FBQUEsUUFDUixZQUFZLENBQUMsS0FBSztBQUFBLE1BQ3BCO0FBQUEsTUFDQSxrQ0FBa0M7QUFBQSxRQUNoQyxRQUFRO0FBQUEsUUFDUixZQUFZLENBQUMsS0FBSztBQUFBLE1BQ3BCO0FBQUEsTUFDQSxpREFBaUQ7QUFBQSxRQUMvQyxRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0EscURBQXFEO0FBQUEsUUFDbkQsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLDhCQUE4QjtBQUFBLFFBQzVCLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxNQUNoQjtBQUFBLE1BQ0EsdUJBQXVCO0FBQUEsUUFDckIsUUFBUTtBQUFBLFFBQ1IsWUFBWSxDQUFDLEtBQUs7QUFBQSxNQUNwQjtBQUFBLE1BQ0Esd0NBQXdDO0FBQUEsUUFDdEMsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLG1EQUFtRDtBQUFBLFFBQ2pELFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSw4QkFBOEI7QUFBQSxRQUM1QixRQUFRO0FBQUEsUUFDUixZQUFZLENBQUMsS0FBSztBQUFBLE1BQ3BCO0FBQUEsTUFDQSw4QkFBOEI7QUFBQSxRQUM1QixRQUFRO0FBQUEsUUFDUixZQUFZLENBQUMsS0FBSztBQUFBLE1BQ3BCO0FBQUEsTUFDQSw4QkFBOEI7QUFBQSxRQUM1QixRQUFRO0FBQUEsUUFDUixZQUFZLENBQUMsS0FBSztBQUFBLE1BQ3BCO0FBQUEsTUFDQSw4QkFBOEI7QUFBQSxRQUM1QixRQUFRO0FBQUEsUUFDUixZQUFZLENBQUMsS0FBSztBQUFBLE1BQ3BCO0FBQUEsTUFDQSw4QkFBOEI7QUFBQSxRQUM1QixRQUFRO0FBQUEsUUFDUixZQUFZLENBQUMsS0FBSztBQUFBLE1BQ3BCO0FBQUEsTUFDQSw4QkFBOEI7QUFBQSxRQUM1QixRQUFRO0FBQUEsUUFDUixZQUFZLENBQUMsS0FBSztBQUFBLE1BQ3BCO0FBQUEsTUFDQSw4QkFBOEI7QUFBQSxRQUM1QixRQUFRO0FBQUEsUUFDUixZQUFZLENBQUMsS0FBSztBQUFBLE1BQ3BCO0FBQUEsTUFDQSx3QkFBd0I7QUFBQSxRQUN0QixRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0Esc0NBQXNDO0FBQUEsUUFDcEMsUUFBUTtBQUFBLFFBQ1IsWUFBWSxDQUFDLEtBQUs7QUFBQSxNQUNwQjtBQUFBLE1BQ0Esc0NBQXNDO0FBQUEsUUFDcEMsUUFBUTtBQUFBLFFBQ1IsWUFBWSxDQUFDLEtBQUs7QUFBQSxNQUNwQjtBQUFBLE1BQ0Esc0NBQXNDO0FBQUEsUUFDcEMsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLDJDQUEyQztBQUFBLFFBQ3pDLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSwwQ0FBMEM7QUFBQSxRQUN4QyxRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0EsNENBQTRDO0FBQUEsUUFDMUMsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLDBDQUEwQztBQUFBLFFBQ3hDLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSwwQ0FBMEM7QUFBQSxRQUN4QyxRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0EsMENBQTBDO0FBQUEsUUFDeEMsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLGlDQUFpQztBQUFBLFFBQy9CLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSxtQ0FBbUM7QUFBQSxRQUNqQyxRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsUUFDZCxZQUFZLENBQUMsS0FBSztBQUFBLE1BQ3BCO0FBQUEsTUFDQSxrQ0FBa0M7QUFBQSxRQUNoQyxRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0EsK0JBQStCO0FBQUEsUUFDN0IsUUFBUTtBQUFBLFFBQ1IsWUFBWSxDQUFDLEtBQUs7QUFBQSxNQUNwQjtBQUFBLE1BQ0EsMEJBQTBCO0FBQUEsUUFDeEIsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLHFDQUFxQztBQUFBLFFBQ25DLFFBQVE7QUFBQSxRQUNSLFlBQVksQ0FBQyxLQUFLO0FBQUEsTUFDcEI7QUFBQSxNQUNBLHVDQUF1QztBQUFBLFFBQ3JDLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSw0QkFBNEI7QUFBQSxRQUMxQixRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsUUFDZCxZQUFZLENBQUMsT0FBTyxPQUFPLE9BQU8sT0FBTyxPQUFPLEtBQUs7QUFBQSxNQUN2RDtBQUFBLE1BQ0Esa0RBQWtEO0FBQUEsUUFDaEQsUUFBUTtBQUFBLFFBQ1IsWUFBWSxDQUFDLE1BQU07QUFBQSxNQUNyQjtBQUFBLE1BQ0EseURBQXlEO0FBQUEsUUFDdkQsUUFBUTtBQUFBLFFBQ1IsWUFBWSxDQUFDLE1BQU07QUFBQSxNQUNyQjtBQUFBLE1BQ0Esa0RBQWtEO0FBQUEsUUFDaEQsUUFBUTtBQUFBLFFBQ1IsWUFBWSxDQUFDLE1BQU07QUFBQSxNQUNyQjtBQUFBLE1BQ0EscURBQXFEO0FBQUEsUUFDbkQsUUFBUTtBQUFBLFFBQ1IsWUFBWSxDQUFDLE1BQU07QUFBQSxNQUNyQjtBQUFBLE1BQ0EsaUNBQWlDO0FBQUEsUUFDL0IsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLFFBQ2QsWUFBWSxDQUFDLEtBQUs7QUFBQSxNQUNwQjtBQUFBLE1BQ0EsK0JBQStCO0FBQUEsUUFDN0IsUUFBUTtBQUFBLFFBQ1IsWUFBWSxDQUFDLEtBQUs7QUFBQSxNQUNwQjtBQUFBLE1BQ0EsMEJBQTBCO0FBQUEsUUFDeEIsUUFBUTtBQUFBLFFBQ1IsWUFBWSxDQUFDLEtBQUs7QUFBQSxNQUNwQjtBQUFBLE1BQ0EsMEJBQTBCO0FBQUEsUUFDeEIsUUFBUTtBQUFBLFFBQ1IsWUFBWSxDQUFDLEtBQUs7QUFBQSxNQUNwQjtBQUFBLE1BQ0EseUNBQXlDO0FBQUEsUUFDdkMsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLE1BQ2hCO0FBQUEsTUFDQSxrQ0FBa0M7QUFBQSxRQUNoQyxRQUFRO0FBQUEsUUFDUixZQUFZLENBQUMsTUFBTTtBQUFBLE1BQ3JCO0FBQUEsTUFDQSwrQkFBK0I7QUFBQSxRQUM3QixRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsTUFDaEI7QUFBQSxNQUNBLDhCQUE4QjtBQUFBLFFBQzVCLGNBQWM7QUFBQSxRQUNkLFlBQVksQ0FBQyxLQUFLO0FBQUEsTUFDcEI7QUFBQSxNQUNBLGtEQUFrRDtBQUFBLFFBQ2hELFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSxpQ0FBaUM7QUFBQSxRQUMvQixRQUFRO0FBQUEsUUFDUixZQUFZLENBQUMsS0FBSztBQUFBLE1BQ3BCO0FBQUEsTUFDQSw4QkFBOEI7QUFBQSxRQUM1QixRQUFRO0FBQUEsUUFDUixZQUFZLENBQUMsS0FBSztBQUFBLE1BQ3BCO0FBQUEsTUFDQSw4Q0FBOEM7QUFBQSxRQUM1QyxRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsTUFDaEI7QUFBQSxNQUNBLGlDQUFpQztBQUFBLFFBQy9CLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxRQUNkLFlBQVksQ0FBQyxPQUFPLE9BQU8sS0FBSztBQUFBLE1BQ2xDO0FBQUEsTUFDQSx1REFBdUQ7QUFBQSxRQUNyRCxRQUFRO0FBQUEsUUFDUixZQUFZLENBQUMsTUFBTTtBQUFBLE1BQ3JCO0FBQUEsTUFDQSw4REFBOEQ7QUFBQSxRQUM1RCxRQUFRO0FBQUEsUUFDUixZQUFZLENBQUMsTUFBTTtBQUFBLE1BQ3JCO0FBQUEsTUFDQSx1REFBdUQ7QUFBQSxRQUNyRCxRQUFRO0FBQUEsUUFDUixZQUFZLENBQUMsTUFBTTtBQUFBLE1BQ3JCO0FBQUEsTUFDQSwyREFBMkQ7QUFBQSxRQUN6RCxRQUFRO0FBQUEsUUFDUixZQUFZLENBQUMsTUFBTTtBQUFBLE1BQ3JCO0FBQUEsTUFDQSwwREFBMEQ7QUFBQSxRQUN4RCxRQUFRO0FBQUEsUUFDUixZQUFZLENBQUMsTUFBTTtBQUFBLE1BQ3JCO0FBQUEsTUFDQSxrREFBa0Q7QUFBQSxRQUNoRCxRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsTUFDaEI7QUFBQSxNQUNBLCtDQUErQztBQUFBLFFBQzdDLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxNQUNoQjtBQUFBLE1BQ0EsNENBQTRDO0FBQUEsUUFDMUMsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLE1BQ2hCO0FBQUEsTUFDQSw4QkFBOEI7QUFBQSxRQUM1QixRQUFRO0FBQUEsUUFDUixZQUFZLENBQUMsT0FBTyxLQUFLO0FBQUEsTUFDM0I7QUFBQSxNQUNBLDJCQUEyQjtBQUFBLFFBQ3pCLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSxtQ0FBbUM7QUFBQSxRQUNqQyxZQUFZLENBQUMsS0FBSztBQUFBLE1BQ3BCO0FBQUEsTUFDQSw0Q0FBNEM7QUFBQSxRQUMxQyxRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0EsNkNBQTZDO0FBQUEsUUFDM0MsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLDZDQUE2QztBQUFBLFFBQzNDLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSxzQ0FBc0M7QUFBQSxRQUNwQyxRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0EseUNBQXlDO0FBQUEsUUFDdkMsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLHFDQUFxQztBQUFBLFFBQ25DLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSwyQ0FBMkM7QUFBQSxRQUN6QyxRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0EsdUNBQXVDO0FBQUEsUUFDckMsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLG9EQUFvRDtBQUFBLFFBQ2xELFFBQVE7QUFBQSxRQUNSLFlBQVksQ0FBQyxNQUFNO0FBQUEsTUFDckI7QUFBQSxNQUNBLG9EQUFvRDtBQUFBLFFBQ2xELFFBQVE7QUFBQSxRQUNSLFlBQVksQ0FBQyxNQUFNO0FBQUEsTUFDckI7QUFBQSxNQUNBLDRCQUE0QjtBQUFBLFFBQzFCLFFBQVE7QUFBQSxRQUNSLFlBQVksQ0FBQyxPQUFPLE9BQU8sT0FBTyxLQUFLO0FBQUEsTUFDekM7QUFBQSxNQUNBLDBCQUEwQjtBQUFBLFFBQ3hCLFFBQVE7QUFBQSxRQUNSLFlBQVksQ0FBQyxLQUFLO0FBQUEsTUFDcEI7QUFBQSxNQUNBLGtDQUFrQztBQUFBLFFBQ2hDLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxRQUNkLFlBQVksQ0FBQyxLQUFLO0FBQUEsTUFDcEI7QUFBQSxNQUNBLGtDQUFrQztBQUFBLFFBQ2hDLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSx3QkFBd0I7QUFBQSxRQUN0QixRQUFRO0FBQUEsUUFDUixZQUFZLENBQUMsTUFBTTtBQUFBLE1BQ3JCO0FBQUEsTUFDQSwyQkFBMkI7QUFBQSxRQUN6QixRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0EseUJBQXlCO0FBQUEsUUFDdkIsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLG1DQUFtQztBQUFBLFFBQ2pDLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSx1Q0FBdUM7QUFBQSxRQUNyQyxRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0EsOEJBQThCO0FBQUEsUUFDNUIsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLDRCQUE0QjtBQUFBLFFBQzFCLFFBQVE7QUFBQSxRQUNSLFlBQVksQ0FBQyxLQUFLO0FBQUEsTUFDcEI7QUFBQSxNQUNBLCtCQUErQjtBQUFBLFFBQzdCLFFBQVE7QUFBQSxRQUNSLFlBQVksQ0FBQyxNQUFNO0FBQUEsTUFDckI7QUFBQSxNQUNBLHlCQUF5QjtBQUFBLFFBQ3ZCLFFBQVE7QUFBQSxRQUNSLFlBQVksQ0FBQyxRQUFRO0FBQUEsTUFDdkI7QUFBQSxNQUNBLHNDQUFzQztBQUFBLFFBQ3BDLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxNQUNoQjtBQUFBLE1BQ0EsK0NBQStDO0FBQUEsUUFDN0MsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLCtDQUErQztBQUFBLFFBQzdDLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxNQUNoQjtBQUFBLE1BQ0EsOENBQThDO0FBQUEsUUFDNUMsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLFFBQ2QsWUFBWSxDQUFDLEtBQUs7QUFBQSxNQUNwQjtBQUFBLE1BQ0Esd0RBQXdEO0FBQUEsUUFDdEQsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLE1BQ2hCO0FBQUEsTUFDQSwrQkFBK0I7QUFBQSxRQUM3QixRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0EsaUNBQWlDO0FBQUEsUUFDL0IsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLG1DQUFtQztBQUFBLFFBQ2pDLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxNQUNoQjtBQUFBLE1BQ0EsaUNBQWlDO0FBQUEsUUFDL0IsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLDJCQUEyQjtBQUFBLFFBQ3pCLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSwwQkFBMEI7QUFBQSxRQUN4QixRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0EscUNBQXFDO0FBQUEsUUFDbkMsUUFBUTtBQUFBLFFBQ1IsWUFBWSxDQUFDLEtBQUs7QUFBQSxNQUNwQjtBQUFBLE1BQ0Esd0JBQXdCO0FBQUEsUUFDdEIsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLHNDQUFzQztBQUFBLFFBQ3BDLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSxxQ0FBcUM7QUFBQSxRQUNuQyxRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0Esd0JBQXdCO0FBQUEsUUFDdEIsUUFBUTtBQUFBLFFBQ1IsWUFBWSxDQUFDLE9BQU8sTUFBTTtBQUFBLE1BQzVCO0FBQUEsTUFDQSxzQ0FBc0M7QUFBQSxRQUNwQyxRQUFRO0FBQUEsUUFDUixZQUFZLENBQUMsS0FBSztBQUFBLE1BQ3BCO0FBQUEsTUFDQSxtQ0FBbUM7QUFBQSxRQUNqQyxRQUFRO0FBQUEsUUFDUixZQUFZLENBQUMsS0FBSztBQUFBLE1BQ3BCO0FBQUEsTUFDQSxnQ0FBZ0M7QUFBQSxRQUM5QixRQUFRO0FBQUEsUUFDUixZQUFZLENBQUMsS0FBSztBQUFBLE1BQ3BCO0FBQUEsTUFDQSxrQ0FBa0M7QUFBQSxRQUNoQyxRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0EscUNBQXFDO0FBQUEsUUFDbkMsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLG1DQUFtQztBQUFBLFFBQ2pDLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxNQUNoQjtBQUFBLE1BQ0EseUNBQXlDO0FBQUEsUUFDdkMsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLE1BQ2hCO0FBQUEsTUFDQSw0Q0FBNEM7QUFBQSxRQUMxQyxRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0Esd0NBQXdDO0FBQUEsUUFDdEMsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLHNDQUFzQztBQUFBLFFBQ3BDLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxNQUNoQjtBQUFBLE1BQ0EsZ0RBQWdEO0FBQUEsUUFDOUMsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLE1BQ2hCO0FBQUEsTUFDQSx1Q0FBdUM7QUFBQSxRQUNyQyxRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsUUFDZCxZQUFZLENBQUMsSUFBSTtBQUFBLE1BQ25CO0FBQUEsTUFDQSxxQ0FBcUM7QUFBQSxRQUNuQyxRQUFRO0FBQUEsUUFDUixZQUFZLENBQUMsT0FBTztBQUFBLE1BQ3RCO0FBQUEsTUFDQSxnREFBZ0Q7QUFBQSxRQUM5QyxRQUFRO0FBQUEsUUFDUixZQUFZLENBQUMsUUFBUTtBQUFBLE1BQ3ZCO0FBQUEsTUFDQSw2QkFBNkI7QUFBQSxRQUMzQixRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0EsbUNBQW1DO0FBQUEsUUFDakMsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLGlDQUFpQztBQUFBLFFBQy9CLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxNQUNoQjtBQUFBLE1BQ0Esc0NBQXNDO0FBQUEsUUFDcEMsUUFBUTtBQUFBLFFBQ1IsWUFBWSxDQUFDLE1BQU07QUFBQSxNQUNyQjtBQUFBLE1BQ0EsdUNBQXVDO0FBQUEsUUFDckMsUUFBUTtBQUFBLFFBQ1IsWUFBWSxDQUFDLE1BQU07QUFBQSxNQUNyQjtBQUFBLE1BQ0EsZ0NBQWdDO0FBQUEsUUFDOUIsUUFBUTtBQUFBLFFBQ1IsWUFBWSxDQUFDLEtBQUs7QUFBQSxNQUNwQjtBQUFBLE1BQ0EsZ0NBQWdDO0FBQUEsUUFDOUIsUUFBUTtBQUFBLFFBQ1IsWUFBWSxDQUFDLEtBQUs7QUFBQSxNQUNwQjtBQUFBLE1BQ0EsZ0NBQWdDO0FBQUEsUUFDOUIsUUFBUTtBQUFBLFFBQ1IsWUFBWSxDQUFDLEtBQUs7QUFBQSxNQUNwQjtBQUFBLE1BQ0EsMkNBQTJDO0FBQUEsUUFDekMsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLDJDQUEyQztBQUFBLFFBQ3pDLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSwrQ0FBK0M7QUFBQSxRQUM3QyxRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0EsMkNBQTJDO0FBQUEsUUFDekMsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLCtDQUErQztBQUFBLFFBQzdDLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSxpQ0FBaUM7QUFBQSxRQUMvQixRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0Esc0NBQXNDO0FBQUEsUUFDcEMsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLE1BQ2hCO0FBQUEsTUFDQSxzQ0FBc0M7QUFBQSxRQUNwQyxRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0EsMkNBQTJDO0FBQUEsUUFDekMsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLDRDQUE0QztBQUFBLFFBQzFDLFFBQVE7QUFBQSxRQUNSLFlBQVksQ0FBQyxLQUFLO0FBQUEsTUFDcEI7QUFBQSxNQUNBLHFEQUFxRDtBQUFBLFFBQ25ELFFBQVE7QUFBQSxRQUNSLFlBQVksQ0FBQyxLQUFLO0FBQUEsTUFDcEI7QUFBQSxNQUNBLCtDQUErQztBQUFBLFFBQzdDLFFBQVE7QUFBQSxRQUNSLFlBQVksQ0FBQyxLQUFLO0FBQUEsTUFDcEI7QUFBQSxNQUNBLDhDQUE4QztBQUFBLFFBQzVDLFFBQVE7QUFBQSxRQUNSLFlBQVksQ0FBQyxLQUFLO0FBQUEsTUFDcEI7QUFBQSxNQUNBLHVEQUF1RDtBQUFBLFFBQ3JELFFBQVE7QUFBQSxRQUNSLFlBQVksQ0FBQyxNQUFNO0FBQUEsTUFDckI7QUFBQSxNQUNBLCtDQUErQztBQUFBLFFBQzdDLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxRQUNkLFlBQVksQ0FBQyxLQUFLO0FBQUEsTUFDcEI7QUFBQSxNQUNBLHdEQUF3RDtBQUFBLFFBQ3RELFFBQVE7QUFBQSxRQUNSLFlBQVksQ0FBQyxLQUFLO0FBQUEsTUFDcEI7QUFBQSxNQUNBLDRDQUE0QztBQUFBLFFBQzFDLFFBQVE7QUFBQSxRQUNSLFlBQVksQ0FBQyxLQUFLO0FBQUEsTUFDcEI7QUFBQSxNQUNBLHFEQUFxRDtBQUFBLFFBQ25ELFFBQVE7QUFBQSxRQUNSLFlBQVksQ0FBQyxLQUFLO0FBQUEsTUFDcEI7QUFBQSxNQUNBLG1EQUFtRDtBQUFBLFFBQ2pELFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxRQUNkLFlBQVksQ0FBQyxLQUFLO0FBQUEsTUFDcEI7QUFBQSxNQUNBLDREQUE0RDtBQUFBLFFBQzFELFFBQVE7QUFBQSxRQUNSLFlBQVksQ0FBQyxLQUFLO0FBQUEsTUFDcEI7QUFBQSxNQUNBLGtEQUFrRDtBQUFBLFFBQ2hELFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxRQUNkLFlBQVksQ0FBQyxLQUFLO0FBQUEsTUFDcEI7QUFBQSxNQUNBLDJEQUEyRDtBQUFBLFFBQ3pELFFBQVE7QUFBQSxRQUNSLFlBQVksQ0FBQyxLQUFLO0FBQUEsTUFDcEI7QUFBQSxNQUNBLDJDQUEyQztBQUFBLFFBQ3pDLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxRQUNkLFlBQVksQ0FBQyxLQUFLO0FBQUEsTUFDcEI7QUFBQSxNQUNBLGtEQUFrRDtBQUFBLFFBQ2hELFFBQVE7QUFBQSxRQUNSLFlBQVksQ0FBQyxLQUFLO0FBQUEsTUFDcEI7QUFBQSxNQUNBLDJEQUEyRDtBQUFBLFFBQ3pELFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSxvREFBb0Q7QUFBQSxRQUNsRCxRQUFRO0FBQUEsUUFDUixZQUFZLENBQUMsS0FBSztBQUFBLE1BQ3BCO0FBQUEsTUFDQSwrQ0FBK0M7QUFBQSxRQUM3QyxRQUFRO0FBQUEsUUFDUixZQUFZLENBQUMsS0FBSztBQUFBLE1BQ3BCO0FBQUEsTUFDQSx1QkFBdUI7QUFBQSxRQUNyQixRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0EsNEJBQTRCO0FBQUEsUUFDMUIsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLDhDQUE4QztBQUFBLFFBQzVDLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxNQUNoQjtBQUFBLE1BQ0Esa0NBQWtDO0FBQUEsUUFDaEMsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLE1BQ2hCO0FBQUEsTUFDQSxrREFBa0Q7QUFBQSxRQUNoRCxRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsTUFDaEI7QUFBQSxNQUNBLG1EQUFtRDtBQUFBLFFBQ2pELFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxNQUNoQjtBQUFBLE1BQ0EsdUNBQXVDO0FBQUEsUUFDckMsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLG9DQUFvQztBQUFBLFFBQ2xDLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxNQUNoQjtBQUFBLE1BQ0Esc0NBQXNDO0FBQUEsUUFDcEMsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLE1BQ2hCO0FBQUEsTUFDQSxnREFBZ0Q7QUFBQSxRQUM5QyxRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsTUFDaEI7QUFBQSxNQUNBLGdDQUFnQztBQUFBLFFBQzlCLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSx3Q0FBd0M7QUFBQSxRQUN0QyxRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsTUFDaEI7QUFBQSxNQUNBLG9DQUFvQztBQUFBLFFBQ2xDLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxNQUNoQjtBQUFBLE1BQ0Esc0NBQXNDO0FBQUEsUUFDcEMsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLE1BQ2hCO0FBQUEsTUFDQSx3Q0FBd0M7QUFBQSxRQUN0QyxRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsTUFDaEI7QUFBQSxNQUNBLDhCQUE4QjtBQUFBLFFBQzVCLFFBQVE7QUFBQSxRQUNSLFlBQVksQ0FBQyxJQUFJO0FBQUEsTUFDbkI7QUFBQSxNQUNBLG1DQUFtQztBQUFBLFFBQ2pDLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSx5Q0FBeUM7QUFBQSxRQUN2QyxRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0EsMENBQTBDO0FBQUEsUUFDeEMsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLGdFQUFnRTtBQUFBLFFBQzlELFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxNQUNoQjtBQUFBLE1BQ0EsNkNBQTZDO0FBQUEsUUFDM0MsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLE1BQ2hCO0FBQUEsTUFDQSxxQ0FBcUM7QUFBQSxRQUNuQyxRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsTUFDaEI7QUFBQSxNQUNBLGtDQUFrQztBQUFBLFFBQ2hDLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSw4Q0FBOEM7QUFBQSxRQUM1QyxRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsTUFDaEI7QUFBQSxNQUNBLGlEQUFpRDtBQUFBLFFBQy9DLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSxvQ0FBb0M7QUFBQSxRQUNsQyxRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0Esc0NBQXNDO0FBQUEsUUFDcEMsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLE1BQ2hCO0FBQUEsTUFDQSxrQ0FBa0M7QUFBQSxRQUNoQyxRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0EscURBQXFEO0FBQUEsUUFDbkQsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLG1EQUFtRDtBQUFBLFFBQ2pELFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxNQUNoQjtBQUFBLE1BQ0EsdUNBQXVDO0FBQUEsUUFDckMsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLE1BQ2hCO0FBQUEsTUFDQSxrQ0FBa0M7QUFBQSxRQUNoQyxRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0EsNENBQTRDO0FBQUEsUUFDMUMsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLE1BQ2hCO0FBQUEsTUFDQSwrQ0FBK0M7QUFBQSxRQUM3QyxRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsTUFDaEI7QUFBQSxNQUNBLG1DQUFtQztBQUFBLFFBQ2pDLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxNQUNoQjtBQUFBLE1BQ0EsMkNBQTJDO0FBQUEsUUFDekMsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLE1BQ2hCO0FBQUEsTUFDQSwwQ0FBMEM7QUFBQSxRQUN4QyxRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsTUFDaEI7QUFBQSxNQUNBLDJCQUEyQjtBQUFBLFFBQ3pCLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSw0QkFBNEI7QUFBQSxRQUMxQixRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0EsK0JBQStCO0FBQUEsUUFDN0IsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLFFBQ2QsWUFBWSxDQUFDLEtBQUs7QUFBQSxNQUNwQjtBQUFBLE1BQ0Esb0NBQW9DO0FBQUEsUUFDbEMsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLE1BQ2hCO0FBQUEsTUFDQSw0Q0FBNEM7QUFBQSxRQUMxQyxRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsTUFDaEI7QUFBQSxNQUNBLGtDQUFrQztBQUFBLFFBQ2hDLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSxrQ0FBa0M7QUFBQSxRQUNoQyxRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsTUFDaEI7QUFBQSxNQUNBLGlDQUFpQztBQUFBLFFBQy9CLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSwrQkFBK0I7QUFBQSxRQUM3QixRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsTUFDaEI7QUFBQSxNQUNBLHdEQUF3RDtBQUFBLFFBQ3RELFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxNQUNoQjtBQUFBLE1BQ0EsNENBQTRDO0FBQUEsUUFDMUMsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLE1BQ2hCO0FBQUEsTUFDQSxzQ0FBc0M7QUFBQSxRQUNwQyxRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsTUFDaEI7QUFBQSxNQUNBLHFEQUFxRDtBQUFBLFFBQ25ELFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxNQUNoQjtBQUFBLE1BQ0EseURBQXlEO0FBQUEsUUFDdkQsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLE1BQ2hCO0FBQUEsTUFDQSw0QkFBNEI7QUFBQSxRQUMxQixRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0EsMENBQTBDO0FBQUEsUUFDeEMsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLE1BQ2hCO0FBQUEsTUFDQSwwQ0FBMEM7QUFBQSxRQUN4QyxRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsTUFDaEI7QUFBQSxNQUNBLG1DQUFtQztBQUFBLFFBQ2pDLFFBQVE7QUFBQSxRQUNSLFNBQVM7QUFBQSxRQUNULGNBQWM7QUFBQSxNQUNoQjtBQUFBLE1BQ0Esa0NBQWtDO0FBQUEsUUFDaEMsUUFBUTtBQUFBLFFBQ1IsU0FBUztBQUFBLFFBQ1QsY0FBYztBQUFBLE1BQ2hCO0FBQUEsTUFDQSxvQ0FBb0M7QUFBQSxRQUNsQyxRQUFRO0FBQUEsUUFDUixTQUFTO0FBQUEsUUFDVCxjQUFjO0FBQUEsTUFDaEI7QUFBQSxNQUNBLG9DQUFvQztBQUFBLFFBQ2xDLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSw0QkFBNEI7QUFBQSxRQUMxQixRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0EsZ0NBQWdDO0FBQUEsUUFDOUIsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLGdDQUFnQztBQUFBLFFBQzlCLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSwrQkFBK0I7QUFBQSxRQUM3QixRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0EsZ0NBQWdDO0FBQUEsUUFDOUIsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLGdDQUFnQztBQUFBLFFBQzlCLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSxrQ0FBa0M7QUFBQSxRQUNoQyxRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0EscUNBQXFDO0FBQUEsUUFDbkMsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLFFBQ2QsWUFBWSxDQUFDLE1BQU07QUFBQSxNQUNyQjtBQUFBLE1BQ0Esd0NBQXdDO0FBQUEsUUFDdEMsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLCtCQUErQjtBQUFBLFFBQzdCLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSwyQ0FBMkM7QUFBQSxRQUN6QyxRQUFRO0FBQUEsUUFDUixZQUFZLENBQUMsS0FBSztBQUFBLE1BQ3BCO0FBQUEsTUFDQSwwQ0FBMEM7QUFBQSxRQUN4QyxRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsUUFDZCxZQUFZLENBQUMsS0FBSztBQUFBLE1BQ3BCO0FBQUEsTUFDQSxzQ0FBc0M7QUFBQSxRQUNwQyxRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0EscUNBQXFDO0FBQUEsUUFDbkMsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLE1BQ2hCO0FBQUEsTUFDQSx1RUFBdUU7QUFBQSxRQUNyRSxRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsTUFDaEI7QUFBQSxNQUNBLHlFQUF5RTtBQUFBLFFBQ3ZFLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxNQUNoQjtBQUFBLE1BQ0EsNkRBQTZEO0FBQUEsUUFDM0QsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLE1BQ2hCO0FBQUEsTUFDQSxxRUFBcUU7QUFBQSxRQUNuRSxRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsTUFDaEI7QUFBQSxNQUNBLDJFQUEyRTtBQUFBLFFBQ3pFLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxNQUNoQjtBQUFBLE1BQ0EsNkVBQTZFO0FBQUEsUUFDM0UsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLE1BQ2hCO0FBQUEsTUFDQSwyRUFBMkU7QUFBQSxRQUN6RSxRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsTUFDaEI7QUFBQSxNQUNBLDZFQUE2RTtBQUFBLFFBQzNFLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxNQUNoQjtBQUFBLE1BQ0EsNEVBQTRFO0FBQUEsUUFDMUUsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLE1BQ2hCO0FBQUEsTUFDQSx5RUFBeUU7QUFBQSxRQUN2RSxRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsTUFDaEI7QUFBQSxNQUNBLG1GQUFtRjtBQUFBLFFBQ2pGLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxNQUNoQjtBQUFBLE1BQ0EsNkVBQTZFO0FBQUEsUUFDM0UsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLE1BQ2hCO0FBQUEsTUFDQSxrRkFBa0Y7QUFBQSxRQUNoRixRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsTUFDaEI7QUFBQSxNQUNBLGdGQUFnRjtBQUFBLFFBQzlFLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxNQUNoQjtBQUFBLE1BQ0EsK0VBQStFO0FBQUEsUUFDN0UsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLE1BQ2hCO0FBQUEsTUFDQSw2RUFBNkU7QUFBQSxRQUMzRSxRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsUUFDZCxZQUFZLENBQUMsTUFBTTtBQUFBLE1BQ3JCO0FBQUEsTUFDQSxzRkFBc0Y7QUFBQSxRQUNwRixRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsTUFDaEI7QUFBQSxNQUNBLDhFQUE4RTtBQUFBLFFBQzVFLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxNQUNoQjtBQUFBLE1BQ0Esc0VBQXNFO0FBQUEsUUFDcEUsUUFBUTtBQUFBLFFBQ1IsWUFBWSxDQUFDLE1BQU07QUFBQSxNQUNyQjtBQUFBLE1BQ0EsMEVBQTBFO0FBQUEsUUFDeEUsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLE1BQ2hCO0FBQUEsTUFDQSxnRkFBZ0Y7QUFBQSxRQUM5RSxRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsTUFDaEI7QUFBQSxNQUNBLGdGQUFnRjtBQUFBLFFBQzlFLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxNQUNoQjtBQUFBLE1BQ0EsMEVBQTBFO0FBQUEsUUFDeEUsUUFBUTtBQUFBLFFBQ1IsWUFBWSxDQUFDLE1BQU07QUFBQSxNQUNyQjtBQUFBLE1BQ0EsbUZBQW1GO0FBQUEsUUFDakYsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLE1BQ2hCO0FBQUEsTUFDQSxvRkFBb0Y7QUFBQSxRQUNsRixRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsTUFDaEI7QUFBQSxNQUNBLGdGQUFnRjtBQUFBLFFBQzlFLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxNQUNoQjtBQUFBLE1BQ0EseUVBQXlFO0FBQUEsUUFDdkUsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLE1BQ2hCO0FBQUEsTUFDQSx5RUFBeUU7QUFBQSxRQUN2RSxRQUFRO0FBQUEsUUFDUixZQUFZLENBQUMsTUFBTTtBQUFBLE1BQ3JCO0FBQUEsTUFDQSxrRkFBa0Y7QUFBQSxRQUNoRixRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsTUFDaEI7QUFBQSxNQUNBLDhFQUE4RTtBQUFBLFFBQzVFLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxNQUNoQjtBQUFBLE1BQ0EsNkVBQTZFO0FBQUEsUUFDM0UsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLE1BQ2hCO0FBQUEsTUFDQSw4RUFBOEU7QUFBQSxRQUM1RSxRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsTUFDaEI7QUFBQSxNQUNBLDRFQUE0RTtBQUFBLFFBQzFFLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxNQUNoQjtBQUFBLE1BQ0EsK0VBQStFO0FBQUEsUUFDN0UsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLE1BQ2hCO0FBQUEsTUFDQSwrRUFBK0U7QUFBQSxRQUM3RSxRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsTUFDaEI7QUFBQSxNQUNBLGdGQUFnRjtBQUFBLFFBQzlFLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxNQUNoQjtBQUFBLE1BQ0Esd0ZBQXdGO0FBQUEsUUFDdEYsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLE1BQ2hCO0FBQUEsTUFDQSxxRkFBcUY7QUFBQSxRQUNuRixRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsTUFDaEI7QUFBQSxNQUNBLDhFQUE4RTtBQUFBLFFBQzVFLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxNQUNoQjtBQUFBLE1BQ0EsOEVBQThFO0FBQUEsUUFDNUUsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLE1BQ2hCO0FBQUEsTUFDQSxtRkFBbUY7QUFBQSxRQUNqRixRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsTUFDaEI7QUFBQSxNQUNBLCtFQUErRTtBQUFBLFFBQzdFLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxNQUNoQjtBQUFBLE1BQ0EsaUZBQWlGO0FBQUEsUUFDL0UsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLE1BQ2hCO0FBQUEsTUFDQSxxRUFBcUU7QUFBQSxRQUNuRSxRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsUUFDZCxZQUFZLENBQUMsTUFBTTtBQUFBLE1BQ3JCO0FBQUEsTUFDQSw4RUFBOEU7QUFBQSxRQUM1RSxRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsTUFDaEI7QUFBQSxNQUNBLGlGQUFpRjtBQUFBLFFBQy9FLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxNQUNoQjtBQUFBLE1BQ0EsMEVBQTBFO0FBQUEsUUFDeEUsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLE1BQ2hCO0FBQUEsTUFDQSx5RUFBeUU7QUFBQSxRQUN2RSxRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsTUFDaEI7QUFBQSxNQUNBLG9GQUFvRjtBQUFBLFFBQ2xGLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxNQUNoQjtBQUFBLE1BQ0Esd0VBQXdFO0FBQUEsUUFDdEUsUUFBUTtBQUFBLFFBQ1IsWUFBWSxDQUFDLE1BQU07QUFBQSxNQUNyQjtBQUFBLE1BQ0EsaUZBQWlGO0FBQUEsUUFDL0UsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLE1BQ2hCO0FBQUEsTUFDQSw2RUFBNkU7QUFBQSxRQUMzRSxRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsTUFDaEI7QUFBQSxNQUNBLHdGQUF3RjtBQUFBLFFBQ3RGLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxNQUNoQjtBQUFBLE1BQ0EsNkVBQTZFO0FBQUEsUUFDM0UsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLE1BQ2hCO0FBQUEsTUFDQSwyREFBMkQ7QUFBQSxRQUN6RCxRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsTUFDaEI7QUFBQSxNQUNBLG1FQUFtRTtBQUFBLFFBQ2pFLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxNQUNoQjtBQUFBLE1BQ0EsNERBQTREO0FBQUEsUUFDMUQsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLCtFQUErRTtBQUFBLFFBQzdFLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxNQUNoQjtBQUFBLE1BQ0EsMkVBQTJFO0FBQUEsUUFDekUsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLFFBQ2QsWUFBWSxDQUFDLE1BQU07QUFBQSxNQUNyQjtBQUFBLE1BQ0Esd0ZBQXdGO0FBQUEsUUFDdEYsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLE1BQ2hCO0FBQUEsTUFDQSxvRkFBb0Y7QUFBQSxRQUNsRixRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsTUFDaEI7QUFBQSxNQUNBLCtFQUErRTtBQUFBLFFBQzdFLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxNQUNoQjtBQUFBLE1BQ0EsZ0ZBQWdGO0FBQUEsUUFDOUUsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLE1BQ2hCO0FBQUEsTUFDQSw2RUFBNkU7QUFBQSxRQUMzRSxRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsTUFDaEI7QUFBQSxNQUNBLGdGQUFnRjtBQUFBLFFBQzlFLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxNQUNoQjtBQUFBLE1BQ0EsZ0ZBQWdGO0FBQUEsUUFDOUUsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLE1BQ2hCO0FBQUEsTUFDQSwrRUFBK0U7QUFBQSxRQUM3RSxRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsTUFDaEI7QUFBQSxNQUNBLDZFQUE2RTtBQUFBLFFBQzNFLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxNQUNoQjtBQUFBLE1BQ0EsMkVBQTJFO0FBQUEsUUFDekUsUUFBUTtBQUFBLFFBQ1IsWUFBWSxDQUFDLE1BQU07QUFBQSxNQUNyQjtBQUFBLE1BQ0Esb0ZBQW9GO0FBQUEsUUFDbEYsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLE1BQ2hCO0FBQUEsTUFDQSxrRkFBa0Y7QUFBQSxRQUNoRixRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsTUFDaEI7QUFBQSxNQUNBLDhEQUE4RDtBQUFBLFFBQzVELFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxNQUNoQjtBQUFBLE1BQ0EsNkVBQTZFO0FBQUEsUUFDM0UsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLE1BQ2hCO0FBQUEsTUFDQSw0REFBNEQ7QUFBQSxRQUMxRCxRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsTUFDaEI7QUFBQSxNQUNBLHdDQUF3QztBQUFBLFFBQ3RDLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxNQUNoQjtBQUFBLE1BQ0EsaUNBQWlDO0FBQUEsUUFDL0IsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLGlDQUFpQztBQUFBLFFBQy9CLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSwwQ0FBMEM7QUFBQSxRQUN4QyxRQUFRO0FBQUEsUUFDUixZQUFZLENBQUMsS0FBSztBQUFBLE1BQ3BCO0FBQUEsTUFDQSwrQkFBK0I7QUFBQSxRQUM3QixRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0EsMkJBQTJCO0FBQUEsUUFDekIsUUFBUTtBQUFBLFFBQ1IsWUFBWSxDQUFDLElBQUk7QUFBQSxNQUNuQjtBQUFBLE1BQ0Esa0NBQWtDO0FBQUEsUUFDaEMsUUFBUTtBQUFBLFFBQ1IsWUFBWSxDQUFDLEtBQUs7QUFBQSxNQUNwQjtBQUFBLE1BQ0EsbUNBQW1DO0FBQUEsUUFDakMsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLE1BQ2hCO0FBQUEsTUFDQSxtQ0FBbUM7QUFBQSxRQUNqQyxRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0Esa0NBQWtDO0FBQUEsUUFDaEMsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLE1BQ2hCO0FBQUEsTUFDQSx3QkFBd0I7QUFBQSxRQUN0QixRQUFRO0FBQUEsUUFDUixZQUFZLENBQUMsT0FBTyxPQUFPLE1BQU07QUFBQSxNQUNuQztBQUFBLE1BQ0EsMkJBQTJCO0FBQUEsUUFDekIsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLDRCQUE0QjtBQUFBLFFBQzFCLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSw4QkFBOEI7QUFBQSxRQUM1QixRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0Esb0NBQW9DO0FBQUEsUUFDbEMsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLDZCQUE2QjtBQUFBLFFBQzNCLFFBQVE7QUFBQSxRQUNSLFlBQVksQ0FBQyxLQUFLO0FBQUEsTUFDcEI7QUFBQSxNQUNBLHdCQUF3QjtBQUFBLFFBQ3RCLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSw2QkFBNkI7QUFBQSxRQUMzQixRQUFRO0FBQUEsUUFDUixZQUFZLENBQUMsS0FBSztBQUFBLE1BQ3BCO0FBQUEsTUFDQSw2QkFBNkI7QUFBQSxRQUMzQixRQUFRO0FBQUEsUUFDUixZQUFZLENBQUMsS0FBSztBQUFBLE1BQ3BCO0FBQUEsTUFDQSxnREFBZ0Q7QUFBQSxRQUM5QyxRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0EsMEJBQTBCO0FBQUEsUUFDeEIsUUFBUTtBQUFBLFFBQ1IsWUFBWSxDQUFDLE1BQU07QUFBQSxNQUNyQjtBQUFBLE1BQ0EsOEJBQThCO0FBQUEsUUFDNUIsUUFBUTtBQUFBLFFBQ1IsWUFBWSxDQUFDLElBQUk7QUFBQSxNQUNuQjtBQUFBLE1BQ0EsK0NBQStDO0FBQUEsUUFDN0MsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLE1BQ2hCO0FBQUEsTUFDQSwrQkFBK0I7QUFBQSxRQUM3QixRQUFRO0FBQUEsUUFDUixZQUFZLENBQUMsS0FBSztBQUFBLE1BQ3BCO0FBQUEsTUFDQSxpQ0FBaUM7QUFBQSxRQUMvQixRQUFRO0FBQUEsUUFDUixZQUFZLENBQUMsS0FBSztBQUFBLE1BQ3BCO0FBQUEsTUFDQSxtQ0FBbUM7QUFBQSxRQUNqQyxRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0EsaUNBQWlDO0FBQUEsUUFDL0IsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLG1DQUFtQztBQUFBLFFBQ2pDLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSxrQ0FBa0M7QUFBQSxRQUNoQyxRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0Esb0NBQW9DO0FBQUEsUUFDbEMsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLDRCQUE0QjtBQUFBLFFBQzFCLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSxzQ0FBc0M7QUFBQSxRQUNwQyxRQUFRO0FBQUEsUUFDUixZQUFZLENBQUMsS0FBSztBQUFBLE1BQ3BCO0FBQUEsTUFDQSxxQ0FBcUM7QUFBQSxRQUNuQyxZQUFZLENBQUMsVUFBVTtBQUFBLE1BQ3pCO0FBQUEsTUFDQSxtQ0FBbUM7QUFBQSxRQUNqQyxZQUFZLENBQUMsT0FBTztBQUFBLE1BQ3RCO0FBQUEsTUFDQSxtQ0FBbUM7QUFBQSxRQUNqQyxZQUFZLENBQUMsS0FBSztBQUFBLE1BQ3BCO0FBQUEsTUFDQSxvQ0FBb0M7QUFBQSxRQUNsQyxRQUFRO0FBQUEsUUFDUixZQUFZLENBQUMsS0FBSztBQUFBLE1BQ3BCO0FBQUEsTUFDQSx3QkFBd0I7QUFBQSxRQUN0QixRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0Esa0NBQWtDO0FBQUEsUUFDaEMsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLHlDQUF5QztBQUFBLFFBQ3ZDLFFBQVE7QUFBQSxRQUNSLFlBQVksQ0FBQyxLQUFLO0FBQUEsTUFDcEI7QUFBQSxNQUNBLDZCQUE2QjtBQUFBLFFBQzNCLFFBQVE7QUFBQSxRQUNSLFlBQVksQ0FBQyxNQUFNO0FBQUEsTUFDckI7QUFBQSxNQUNBLG1DQUFtQztBQUFBLFFBQ2pDLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSx1Q0FBdUM7QUFBQSxRQUNyQyxRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsUUFDZCxZQUFZLENBQUMsTUFBTTtBQUFBLE1BQ3JCO0FBQUEsTUFDQSx5Q0FBeUM7QUFBQSxRQUN2QyxRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0Esa0NBQWtDO0FBQUEsUUFDaEMsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLHFDQUFxQztBQUFBLFFBQ25DLFFBQVE7QUFBQSxRQUNSLFlBQVksQ0FBQyxPQUFPLE9BQU8sT0FBTyxPQUFPLE9BQU8sS0FBSztBQUFBLE1BQ3ZEO0FBQUEsTUFDQSx5Q0FBeUM7QUFBQSxRQUN2QyxRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0Esb0NBQW9DO0FBQUEsUUFDbEMsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLE1BQ2hCO0FBQUEsTUFDQSxvQ0FBb0M7QUFBQSxRQUNsQyxRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsTUFDaEI7QUFBQSxNQUNBLDBDQUEwQztBQUFBLFFBQ3hDLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxNQUNoQjtBQUFBLE1BQ0EsK0NBQStDO0FBQUEsUUFDN0MsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLE1BQ2hCO0FBQUEsTUFDQSwrQ0FBK0M7QUFBQSxRQUM3QyxRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsTUFDaEI7QUFBQSxNQUNBLGlEQUFpRDtBQUFBLFFBQy9DLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxNQUNoQjtBQUFBLE1BQ0EsaURBQWlEO0FBQUEsUUFDL0MsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLE1BQ2hCO0FBQUEsTUFDQSx5Q0FBeUM7QUFBQSxRQUN2QyxRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsTUFDaEI7QUFBQSxNQUNBLDJDQUEyQztBQUFBLFFBQ3pDLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxNQUNoQjtBQUFBLE1BQ0EsZ0RBQWdEO0FBQUEsUUFDOUMsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLE1BQ2hCO0FBQUEsTUFDQSxzREFBc0Q7QUFBQSxRQUNwRCxRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsTUFDaEI7QUFBQSxNQUNBLHdEQUF3RDtBQUFBLFFBQ3RELFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxNQUNoQjtBQUFBLE1BQ0EsaURBQWlEO0FBQUEsUUFDL0MsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLE1BQ2hCO0FBQUEsTUFDQSxrREFBa0Q7QUFBQSxRQUNoRCxRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsTUFDaEI7QUFBQSxNQUNBLHFEQUFxRDtBQUFBLFFBQ25ELFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxNQUNoQjtBQUFBLE1BQ0EsaUNBQWlDO0FBQUEsUUFDL0IsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLHlCQUF5QjtBQUFBLFFBQ3ZCLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSx1QkFBdUI7QUFBQSxRQUNyQixRQUFRO0FBQUEsUUFDUixZQUFZLENBQUMsS0FBSztBQUFBLE1BQ3BCO0FBQUEsTUFDQSwrQkFBK0I7QUFBQSxRQUM3QixRQUFRO0FBQUEsUUFDUixZQUFZLENBQUMsS0FBSztBQUFBLE1BQ3BCO0FBQUEsTUFDQSxzQ0FBc0M7QUFBQSxRQUNwQyxRQUFRO0FBQUEsUUFDUixZQUFZLENBQUMsS0FBSztBQUFBLE1BQ3BCO0FBQUEsTUFDQSwwQ0FBMEM7QUFBQSxRQUN4QyxRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsUUFDZCxZQUFZLENBQUMsVUFBVTtBQUFBLE1BQ3pCO0FBQUEsTUFDQSwyQkFBMkI7QUFBQSxRQUN6QixRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0Esb0NBQW9DO0FBQUEsUUFDbEMsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLG1DQUFtQztBQUFBLFFBQ2pDLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSxnQ0FBZ0M7QUFBQSxRQUM5QixRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsTUFDaEI7QUFBQSxNQUNBLGtDQUFrQztBQUFBLFFBQ2hDLFFBQVE7QUFBQSxRQUNSLFlBQVksQ0FBQyxZQUFZO0FBQUEsTUFDM0I7QUFBQSxNQUNBLDJCQUEyQjtBQUFBLFFBQ3pCLFFBQVE7QUFBQSxRQUNSLFlBQVksQ0FBQyxLQUFLO0FBQUEsTUFDcEI7QUFBQSxNQUNBLGdDQUFnQztBQUFBLFFBQzlCLFFBQVE7QUFBQSxRQUNSLFlBQVksQ0FBQyxJQUFJO0FBQUEsTUFDbkI7QUFBQSxNQUNBLG9DQUFvQztBQUFBLFFBQ2xDLFFBQVE7QUFBQSxRQUNSLFlBQVksQ0FBQyxNQUFNO0FBQUEsTUFDckI7QUFBQSxNQUNBLHNDQUFzQztBQUFBLFFBQ3BDLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxRQUNkLFlBQVksQ0FBQyxRQUFRO0FBQUEsTUFDdkI7QUFBQSxNQUNBLDJCQUEyQjtBQUFBLFFBQ3pCLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSxtQ0FBbUM7QUFBQSxRQUNqQyxRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0EseUJBQXlCO0FBQUEsUUFDdkIsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLHdDQUF3QztBQUFBLFFBQ3RDLFFBQVE7QUFBQSxRQUNSLFlBQVksQ0FBQyxJQUFJO0FBQUEsTUFDbkI7QUFBQSxNQUNBLHVCQUF1QjtBQUFBLFFBQ3JCLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSwyQkFBMkI7QUFBQSxRQUN6QixRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0EsNEJBQTRCO0FBQUEsUUFDMUIsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLDJCQUEyQjtBQUFBLFFBQ3pCLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSw4QkFBOEI7QUFBQSxRQUM1QixRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0EsOEJBQThCO0FBQUEsUUFDNUIsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLDhCQUE4QjtBQUFBLFFBQzVCLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSw4QkFBOEI7QUFBQSxRQUM1QixRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0EsOEJBQThCO0FBQUEsUUFDNUIsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLDhCQUE4QjtBQUFBLFFBQzVCLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSw4QkFBOEI7QUFBQSxRQUM1QixRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0EsK0JBQStCO0FBQUEsUUFDN0IsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLDhCQUE4QjtBQUFBLFFBQzVCLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSw2Q0FBNkM7QUFBQSxRQUMzQyxRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0EsNENBQTRDO0FBQUEsUUFDMUMsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLDJCQUEyQjtBQUFBLFFBQ3pCLFFBQVE7QUFBQSxRQUNSLFlBQVksQ0FBQyxLQUFLO0FBQUEsTUFDcEI7QUFBQSxNQUNBLDZCQUE2QjtBQUFBLFFBQzNCLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxNQUNoQjtBQUFBLE1BQ0Esd0JBQXdCO0FBQUEsUUFDdEIsUUFBUTtBQUFBLFFBQ1IsWUFBWSxDQUFDLE1BQU07QUFBQSxNQUNyQjtBQUFBLE1BQ0Esd0JBQXdCO0FBQUEsUUFDdEIsUUFBUTtBQUFBLFFBQ1IsWUFBWSxDQUFDLE1BQU07QUFBQSxNQUNyQjtBQUFBLE1BQ0Esd0JBQXdCO0FBQUEsUUFDdEIsUUFBUTtBQUFBLFFBQ1IsWUFBWSxDQUFDLE1BQU07QUFBQSxNQUNyQjtBQUFBLE1BQ0EsbUNBQW1DO0FBQUEsUUFDakMsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLDJDQUEyQztBQUFBLFFBQ3pDLFFBQVE7QUFBQSxRQUNSLFlBQVksQ0FBQyxLQUFLO0FBQUEsTUFDcEI7QUFBQSxNQUNBLCtDQUErQztBQUFBLFFBQzdDLFFBQVE7QUFBQSxRQUNSLFlBQVksQ0FBQyxLQUFLO0FBQUEsTUFDcEI7QUFBQSxNQUNBLDhDQUE4QztBQUFBLFFBQzVDLFFBQVE7QUFBQSxRQUNSLFlBQVksQ0FBQyxLQUFLO0FBQUEsTUFDcEI7QUFBQSxNQUNBLDBDQUEwQztBQUFBLFFBQ3hDLFFBQVE7QUFBQSxRQUNSLFlBQVksQ0FBQyxLQUFLO0FBQUEsTUFDcEI7QUFBQSxNQUNBLG1DQUFtQztBQUFBLFFBQ2pDLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxNQUNoQjtBQUFBLE1BQ0EsaUNBQWlDO0FBQUEsUUFDL0IsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLE1BQ2hCO0FBQUEsTUFDQSx1QkFBdUI7QUFBQSxRQUNyQixRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0EsdUJBQXVCO0FBQUEsUUFDckIsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLGtDQUFrQztBQUFBLFFBQ2hDLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSxzQ0FBc0M7QUFBQSxRQUNwQyxRQUFRO0FBQUEsUUFDUixZQUFZLENBQUMsT0FBTyxNQUFNO0FBQUEsTUFDNUI7QUFBQSxNQUNBLDhCQUE4QjtBQUFBLFFBQzVCLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxNQUNoQjtBQUFBLE1BQ0EsZ0NBQWdDO0FBQUEsUUFDOUIsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLHdCQUF3QjtBQUFBLFFBQ3RCLFFBQVE7QUFBQSxRQUNSLFlBQVksQ0FBQyxLQUFLO0FBQUEsTUFDcEI7QUFBQSxNQUNBLGtDQUFrQztBQUFBLFFBQ2hDLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSxpQ0FBaUM7QUFBQSxRQUMvQixRQUFRO0FBQUEsUUFDUixZQUFZLENBQUMsU0FBUztBQUFBLE1BQ3hCO0FBQUEsTUFDQSwyQ0FBMkM7QUFBQSxRQUN6QyxRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0Esc0NBQXNDO0FBQUEsUUFDcEMsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLCtDQUErQztBQUFBLFFBQzdDLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxRQUNkLFlBQVksQ0FBQyxJQUFJO0FBQUEsTUFDbkI7QUFBQSxNQUNBLG1EQUFtRDtBQUFBLFFBQ2pELFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSxtQ0FBbUM7QUFBQSxRQUNqQyxRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsUUFDZCxZQUFZLENBQUMsUUFBUSxNQUFNO0FBQUEsTUFDN0I7QUFBQSxNQUNBLGdDQUFnQztBQUFBLFFBQzlCLFFBQVE7QUFBQSxRQUNSLFlBQVksQ0FBQyxLQUFLO0FBQUEsTUFDcEI7QUFBQSxNQUNBLGdDQUFnQztBQUFBLFFBQzlCLFFBQVE7QUFBQSxRQUNSLFlBQVksQ0FBQyxLQUFLO0FBQUEsTUFDcEI7QUFBQSxNQUNBLDJCQUEyQjtBQUFBLFFBQ3pCLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSwyQkFBMkI7QUFBQSxRQUN6QixRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0EsMkJBQTJCO0FBQUEsUUFDekIsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLDJCQUEyQjtBQUFBLFFBQ3pCLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSxxQ0FBcUM7QUFBQSxRQUNuQyxRQUFRO0FBQUEsUUFDUixZQUFZLENBQUMsS0FBSztBQUFBLE1BQ3BCO0FBQUEsTUFDQSxxQ0FBcUM7QUFBQSxRQUNuQyxRQUFRO0FBQUEsUUFDUixZQUFZLENBQUMsS0FBSztBQUFBLE1BQ3BCO0FBQUEsTUFDQSx3Q0FBd0M7QUFBQSxRQUN0QyxRQUFRO0FBQUEsUUFDUixZQUFZLENBQUMsS0FBSztBQUFBLE1BQ3BCO0FBQUEsTUFDQSxxQ0FBcUM7QUFBQSxRQUNuQyxRQUFRO0FBQUEsUUFDUixZQUFZLENBQUMsS0FBSztBQUFBLE1BQ3BCO0FBQUEsTUFDQSx1Q0FBdUM7QUFBQSxRQUNyQyxRQUFRO0FBQUEsUUFDUixZQUFZLENBQUMsT0FBTyxLQUFLO0FBQUEsTUFDM0I7QUFBQSxNQUNBLDhDQUE4QztBQUFBLFFBQzVDLFFBQVE7QUFBQSxRQUNSLFlBQVksQ0FBQyxLQUFLO0FBQUEsTUFDcEI7QUFBQSxNQUNBLHFDQUFxQztBQUFBLFFBQ25DLFFBQVE7QUFBQSxRQUNSLFlBQVksQ0FBQyxPQUFPO0FBQUEsTUFDdEI7QUFBQSxNQUNBLHVDQUF1QztBQUFBLFFBQ3JDLFFBQVE7QUFBQSxRQUNSLFlBQVksQ0FBQyxJQUFJO0FBQUEsTUFDbkI7QUFBQSxNQUNBLGlDQUFpQztBQUFBLFFBQy9CLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSxnQ0FBZ0M7QUFBQSxRQUM5QixRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsUUFDZCxZQUFZLENBQUMsTUFBTTtBQUFBLE1BQ3JCO0FBQUEsTUFDQSxnQ0FBZ0M7QUFBQSxRQUM5QixRQUFRO0FBQUEsUUFDUixZQUFZLENBQUMsS0FBSztBQUFBLE1BQ3BCO0FBQUEsTUFDQSx5Q0FBeUM7QUFBQSxRQUN2QyxRQUFRO0FBQUEsUUFDUixZQUFZLENBQUMsS0FBSztBQUFBLE1BQ3BCO0FBQUEsTUFDQSxnQ0FBZ0M7QUFBQSxRQUM5QixRQUFRO0FBQUEsUUFDUixZQUFZLENBQUMsS0FBSztBQUFBLE1BQ3BCO0FBQUEsTUFDQSx5Q0FBeUM7QUFBQSxRQUN2QyxRQUFRO0FBQUEsUUFDUixZQUFZLENBQUMsS0FBSztBQUFBLE1BQ3BCO0FBQUEsTUFDQSxtQ0FBbUM7QUFBQSxRQUNqQyxRQUFRO0FBQUEsUUFDUixZQUFZLENBQUMsS0FBSztBQUFBLE1BQ3BCO0FBQUEsTUFDQSw0Q0FBNEM7QUFBQSxRQUMxQyxRQUFRO0FBQUEsUUFDUixZQUFZLENBQUMsS0FBSztBQUFBLE1BQ3BCO0FBQUEsTUFDQSxnQ0FBZ0M7QUFBQSxRQUM5QixRQUFRO0FBQUEsUUFDUixZQUFZLENBQUMsS0FBSztBQUFBLE1BQ3BCO0FBQUEsTUFDQSxrQ0FBa0M7QUFBQSxRQUNoQyxRQUFRO0FBQUEsUUFDUixZQUFZLENBQUMsS0FBSztBQUFBLE1BQ3BCO0FBQUEsTUFDQSx5Q0FBeUM7QUFBQSxRQUN2QyxRQUFRO0FBQUEsUUFDUixZQUFZLENBQUMsS0FBSztBQUFBLE1BQ3BCO0FBQUEsTUFDQSwyQ0FBMkM7QUFBQSxRQUN6QyxRQUFRO0FBQUEsUUFDUixZQUFZLENBQUMsS0FBSztBQUFBLE1BQ3BCO0FBQUEsTUFDQSxnQ0FBZ0M7QUFBQSxRQUM5QixRQUFRO0FBQUEsUUFDUixZQUFZLENBQUMsT0FBTyxNQUFNO0FBQUEsTUFDNUI7QUFBQSxNQUNBLHVCQUF1QjtBQUFBLFFBQ3JCLFFBQVE7QUFBQSxRQUNSLFlBQVksQ0FBQyxLQUFLO0FBQUEsTUFDcEI7QUFBQSxNQUNBLGlDQUFpQztBQUFBLFFBQy9CLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSw4QkFBOEI7QUFBQSxRQUM1QixRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0EsNkJBQTZCO0FBQUEsUUFDM0IsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLE1BQ2hCO0FBQUEsTUFDQSw2QkFBNkI7QUFBQSxRQUMzQixRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsTUFDaEI7QUFBQSxNQUNBLG1DQUFtQztBQUFBLFFBQ2pDLFFBQVE7QUFBQSxRQUNSLFlBQVksQ0FBQyxPQUFPLE1BQU07QUFBQSxNQUM1QjtBQUFBLE1BQ0EsOEJBQThCO0FBQUEsUUFDNUIsUUFBUTtBQUFBLFFBQ1IsU0FBUztBQUFBLFFBQ1QsY0FBYztBQUFBLFFBQ2QsWUFBWSxDQUFDLEtBQUs7QUFBQSxNQUNwQjtBQUFBLE1BQ0EsbUNBQW1DO0FBQUEsUUFDakMsUUFBUTtBQUFBLFFBQ1IsU0FBUztBQUFBLFFBQ1QsWUFBWSxDQUFDLEtBQUs7QUFBQSxNQUNwQjtBQUFBLE1BQ0EsaUNBQWlDO0FBQUEsUUFDL0IsUUFBUTtBQUFBLFFBQ1IsU0FBUztBQUFBLFFBQ1QsY0FBYztBQUFBLFFBQ2QsWUFBWSxDQUFDLEtBQUs7QUFBQSxNQUNwQjtBQUFBLE1BQ0EsMENBQTBDO0FBQUEsUUFDeEMsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLHNDQUFzQztBQUFBLFFBQ3BDLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSxvQ0FBb0M7QUFBQSxRQUNsQyxRQUFRO0FBQUEsUUFDUixTQUFTO0FBQUEsUUFDVCxjQUFjO0FBQUEsUUFDZCxZQUFZLENBQUMsS0FBSztBQUFBLE1BQ3BCO0FBQUEsTUFDQSx1Q0FBdUM7QUFBQSxRQUNyQyxRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0EscUNBQXFDO0FBQUEsUUFDbkMsUUFBUTtBQUFBLFFBQ1IsU0FBUztBQUFBLFFBQ1QsY0FBYztBQUFBLE1BQ2hCO0FBQUEsTUFDQSwwQ0FBMEM7QUFBQSxRQUN4QyxRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0Esb0NBQW9DO0FBQUEsUUFDbEMsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLE1BQ2hCO0FBQUEsTUFDQSw2Q0FBNkM7QUFBQSxRQUMzQyxRQUFRO0FBQUEsUUFDUixZQUFZLENBQUMsS0FBSztBQUFBLE1BQ3BCO0FBQUEsTUFDQSxnQ0FBZ0M7QUFBQSxRQUM5QixRQUFRO0FBQUEsUUFDUixZQUFZLENBQUMsUUFBUSxPQUFPLEtBQUs7QUFBQSxNQUNuQztBQUFBLE1BQ0EseUNBQXlDO0FBQUEsUUFDdkMsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLE1BQ2hCO0FBQUEsTUFDQSx5Q0FBeUM7QUFBQSxRQUN2QyxRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsTUFDaEI7QUFBQSxNQUNBLHVCQUF1QjtBQUFBLFFBQ3JCLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSxrQ0FBa0M7QUFBQSxRQUNoQyxRQUFRO0FBQUEsUUFDUixZQUFZLENBQUMsS0FBSztBQUFBLE1BQ3BCO0FBQUEsTUFDQSxpQ0FBaUM7QUFBQSxRQUMvQixRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0EsNEJBQTRCO0FBQUEsUUFDMUIsUUFBUTtBQUFBLFFBQ1IsWUFBWSxDQUFDLEtBQUs7QUFBQSxNQUNwQjtBQUFBLE1BQ0EsZ0NBQWdDO0FBQUEsUUFDOUIsUUFBUTtBQUFBLFFBQ1IsWUFBWSxDQUFDLEtBQUs7QUFBQSxNQUNwQjtBQUFBLE1BQ0EsMkJBQTJCO0FBQUEsUUFDekIsUUFBUTtBQUFBLFFBQ1IsWUFBWSxDQUFDLEtBQUs7QUFBQSxNQUNwQjtBQUFBLE1BQ0EsMkJBQTJCO0FBQUEsUUFDekIsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLHFDQUFxQztBQUFBLFFBQ25DLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSx3QkFBd0I7QUFBQSxRQUN0QixRQUFRO0FBQUEsUUFDUixZQUFZLENBQUMsT0FBTyxNQUFNO0FBQUEsTUFDNUI7QUFBQSxNQUNBLGlDQUFpQztBQUFBLFFBQy9CLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxNQUNoQjtBQUFBLE1BQ0EsNkJBQTZCO0FBQUEsUUFDM0IsUUFBUTtBQUFBLFFBQ1IsWUFBWSxDQUFDLEtBQUs7QUFBQSxNQUNwQjtBQUFBLE1BQ0EsMEJBQTBCO0FBQUEsUUFDeEIsUUFBUTtBQUFBLFFBQ1IsWUFBWSxDQUFDLEtBQUs7QUFBQSxNQUNwQjtBQUFBLE1BQ0EseUJBQXlCO0FBQUEsUUFDdkIsUUFBUTtBQUFBLFFBQ1IsWUFBWSxDQUFDLFVBQVU7QUFBQSxNQUN6QjtBQUFBLE1BQ0EsNEJBQTRCO0FBQUEsUUFDMUIsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLFFBQ2QsWUFBWSxDQUFDLFFBQVEsSUFBSTtBQUFBLE1BQzNCO0FBQUEsTUFDQSxpQ0FBaUM7QUFBQSxRQUMvQixRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0EsdUNBQXVDO0FBQUEsUUFDckMsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLHlDQUF5QztBQUFBLFFBQ3ZDLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSwrQ0FBK0M7QUFBQSxRQUM3QyxRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0EsbUNBQW1DO0FBQUEsUUFDakMsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLHlDQUF5QztBQUFBLFFBQ3ZDLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSxtQ0FBbUM7QUFBQSxRQUNqQyxRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0EseUNBQXlDO0FBQUEsUUFDdkMsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLGdDQUFnQztBQUFBLFFBQzlCLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSxzQ0FBc0M7QUFBQSxRQUNwQyxRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0EsbUNBQW1DO0FBQUEsUUFDakMsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLHlDQUF5QztBQUFBLFFBQ3ZDLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSxrQ0FBa0M7QUFBQSxRQUNoQyxRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0EsMkJBQTJCO0FBQUEsUUFDekIsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLHlDQUF5QztBQUFBLFFBQ3ZDLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSx1QkFBdUI7QUFBQSxRQUNyQixRQUFRO0FBQUEsUUFDUixZQUFZLENBQUMsS0FBSztBQUFBLE1BQ3BCO0FBQUEsTUFDQSw0QkFBNEI7QUFBQSxRQUMxQixRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0EsK0JBQStCO0FBQUEsUUFDN0IsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLDRCQUE0QjtBQUFBLFFBQzFCLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxNQUNoQjtBQUFBLE1BQ0EsNENBQTRDO0FBQUEsUUFDMUMsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLDRDQUE0QztBQUFBLFFBQzFDLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxNQUNoQjtBQUFBLE1BQ0EsbUNBQW1DO0FBQUEsUUFDakMsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLHNDQUFzQztBQUFBLFFBQ3BDLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxNQUNoQjtBQUFBLE1BQ0EsZ0NBQWdDO0FBQUEsUUFDOUIsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLGlDQUFpQztBQUFBLFFBQy9CLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSx5Q0FBeUM7QUFBQSxRQUN2QyxRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0EseUJBQXlCO0FBQUEsUUFDdkIsUUFBUTtBQUFBLFFBQ1IsWUFBWSxDQUFDLE9BQU8sT0FBTyxPQUFPLE9BQU8sUUFBUSxLQUFLO0FBQUEsTUFDeEQ7QUFBQSxNQUNBLDZCQUE2QjtBQUFBLFFBQzNCLFFBQVE7QUFBQSxRQUNSLFlBQVksQ0FBQyxLQUFLO0FBQUEsTUFDcEI7QUFBQSxNQUNBLHdDQUF3QztBQUFBLFFBQ3RDLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSxvQ0FBb0M7QUFBQSxRQUNsQyxRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0EsdUJBQXVCO0FBQUEsUUFDckIsUUFBUTtBQUFBLFFBQ1IsWUFBWSxDQUFDLEtBQUs7QUFBQSxNQUNwQjtBQUFBLE1BQ0EsMkJBQTJCO0FBQUEsUUFDekIsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLDJCQUEyQjtBQUFBLFFBQ3pCLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSw2QkFBNkI7QUFBQSxRQUMzQixRQUFRO0FBQUEsUUFDUixTQUFTO0FBQUEsUUFDVCxZQUFZLENBQUMsT0FBTztBQUFBLE1BQ3RCO0FBQUEsTUFDQSw0QkFBNEI7QUFBQSxRQUMxQixRQUFRO0FBQUEsUUFDUixZQUFZLENBQUMsTUFBTTtBQUFBLE1BQ3JCO0FBQUEsTUFDQSxrQ0FBa0M7QUFBQSxRQUNoQyxRQUFRO0FBQUEsUUFDUixZQUFZLENBQUMsT0FBTztBQUFBLE1BQ3RCO0FBQUEsTUFDQSxpQ0FBaUM7QUFBQSxRQUMvQixRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0EsNEJBQTRCO0FBQUEsUUFDMUIsUUFBUTtBQUFBLFFBQ1IsWUFBWSxDQUFDLEtBQUs7QUFBQSxNQUNwQjtBQUFBLE1BQ0EsMkJBQTJCO0FBQUEsUUFDekIsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLDJCQUEyQjtBQUFBLFFBQ3pCLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSwyQkFBMkI7QUFBQSxRQUN6QixRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0EseUNBQXlDO0FBQUEsUUFDdkMsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLHVCQUF1QjtBQUFBLFFBQ3JCLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSxpQ0FBaUM7QUFBQSxRQUMvQixRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0EsdUNBQXVDO0FBQUEsUUFDckMsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLCtDQUErQztBQUFBLFFBQzdDLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSxrQ0FBa0M7QUFBQSxRQUNoQyxRQUFRO0FBQUEsUUFDUixZQUFZLENBQUMsS0FBSztBQUFBLE1BQ3BCO0FBQUEsTUFDQSw0QkFBNEI7QUFBQSxRQUMxQixRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0EsK0JBQStCO0FBQUEsUUFDN0IsUUFBUTtBQUFBLFFBQ1IsWUFBWSxDQUFDLEtBQUs7QUFBQSxNQUNwQjtBQUFBLE1BQ0EsdUJBQXVCO0FBQUEsUUFDckIsUUFBUTtBQUFBLFFBQ1IsWUFBWSxDQUFDLEtBQUs7QUFBQSxNQUNwQjtBQUFBLE1BQ0EsdUNBQXVDO0FBQUEsUUFDckMsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLDBCQUEwQjtBQUFBLFFBQ3hCLFFBQVE7QUFBQSxRQUNSLFlBQVksQ0FBQyxLQUFLO0FBQUEsTUFDcEI7QUFBQSxNQUNBLGdDQUFnQztBQUFBLFFBQzlCLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSw4QkFBOEI7QUFBQSxRQUM1QixRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsTUFDaEI7QUFBQSxNQUNBLDhCQUE4QjtBQUFBLFFBQzVCLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxNQUNoQjtBQUFBLE1BQ0EsOEJBQThCO0FBQUEsUUFDNUIsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLE1BQ2hCO0FBQUEsTUFDQSx3QkFBd0I7QUFBQSxRQUN0QixRQUFRO0FBQUEsUUFDUixZQUFZLENBQUMsS0FBSztBQUFBLE1BQ3BCO0FBQUEsTUFDQSw2QkFBNkI7QUFBQSxRQUMzQixRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0EscUNBQXFDO0FBQUEsUUFDbkMsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLHdCQUF3QjtBQUFBLFFBQ3RCLFFBQVE7QUFBQSxRQUNSLFlBQVksQ0FBQyxNQUFNO0FBQUEsTUFDckI7QUFBQSxNQUNBLGdDQUFnQztBQUFBLFFBQzlCLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSwyQkFBMkI7QUFBQSxRQUN6QixRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsTUFDaEI7QUFBQSxNQUNBLDhCQUE4QjtBQUFBLFFBQzVCLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSw4QkFBOEI7QUFBQSxRQUM1QixRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0EsOEJBQThCO0FBQUEsUUFDNUIsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLDhCQUE4QjtBQUFBLFFBQzVCLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSw4QkFBOEI7QUFBQSxRQUM1QixRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0EsaUNBQWlDO0FBQUEsUUFDL0IsUUFBUTtBQUFBLFFBQ1IsWUFBWSxDQUFDLEtBQUs7QUFBQSxNQUNwQjtBQUFBLE1BQ0Esb0NBQW9DO0FBQUEsUUFDbEMsUUFBUTtBQUFBLFFBQ1IsWUFBWSxDQUFDLEtBQUs7QUFBQSxNQUNwQjtBQUFBLE1BQ0EsbUNBQW1DO0FBQUEsUUFDakMsUUFBUTtBQUFBLFFBQ1IsWUFBWSxDQUFDLEtBQUs7QUFBQSxNQUNwQjtBQUFBLE1BQ0EsMENBQTBDO0FBQUEsUUFDeEMsUUFBUTtBQUFBLFFBQ1IsWUFBWSxDQUFDLEtBQUs7QUFBQSxNQUNwQjtBQUFBLE1BQ0EscURBQXFEO0FBQUEsUUFDbkQsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLFFBQ2QsWUFBWSxDQUFDLFFBQVE7QUFBQSxNQUN2QjtBQUFBLE1BQ0EsdUNBQXVDO0FBQUEsUUFDckMsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLHFDQUFxQztBQUFBLFFBQ25DLFFBQVE7QUFBQSxRQUNSLFlBQVksQ0FBQyxLQUFLO0FBQUEsTUFDcEI7QUFBQSxNQUNBLHNDQUFzQztBQUFBLFFBQ3BDLFFBQVE7QUFBQSxRQUNSLFlBQVksQ0FBQyxLQUFLO0FBQUEsTUFDcEI7QUFBQSxNQUNBLHNDQUFzQztBQUFBLFFBQ3BDLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSwwQ0FBMEM7QUFBQSxRQUN4QyxRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0EsMkJBQTJCO0FBQUEsUUFDekIsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLDJDQUEyQztBQUFBLFFBQ3pDLFFBQVE7QUFBQSxRQUNSLFlBQVksQ0FBQyxLQUFLO0FBQUEsTUFDcEI7QUFBQSxNQUNBLHVCQUF1QjtBQUFBLFFBQ3JCLFFBQVE7QUFBQSxRQUNSLFlBQVksQ0FBQyxPQUFPLE1BQU07QUFBQSxNQUM1QjtBQUFBLE1BQ0Esa0NBQWtDO0FBQUEsUUFDaEMsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLFFBQ2QsWUFBWSxDQUFDLEtBQUs7QUFBQSxNQUNwQjtBQUFBLE1BQ0EsNEJBQTRCO0FBQUEsUUFDMUIsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLFFBQ2QsWUFBWSxDQUFDLE1BQU07QUFBQSxNQUNyQjtBQUFBLE1BQ0EsZ0NBQWdDO0FBQUEsUUFDOUIsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLE1BQ2hCO0FBQUEsTUFDQSxnQ0FBZ0M7QUFBQSxRQUM5QixRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsTUFDaEI7QUFBQSxNQUNBLGtCQUFrQjtBQUFBLFFBQ2hCLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSx1QkFBdUI7QUFBQSxRQUNyQixRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0Esc0JBQXNCO0FBQUEsUUFDcEIsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLHlCQUF5QjtBQUFBLFFBQ3ZCLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSxvQkFBb0I7QUFBQSxRQUNsQixRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsUUFDZCxZQUFZLENBQUMsTUFBTTtBQUFBLE1BQ3JCO0FBQUEsTUFDQSwrQkFBK0I7QUFBQSxRQUM3QixRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsUUFDZCxZQUFZLENBQUMsS0FBSztBQUFBLE1BQ3BCO0FBQUEsTUFDQSxvQ0FBb0M7QUFBQSxRQUNsQyxRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsTUFDaEI7QUFBQSxNQUNBLDZCQUE2QjtBQUFBLFFBQzNCLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSxnQ0FBZ0M7QUFBQSxRQUM5QixRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0Esc0JBQXNCO0FBQUEsUUFDcEIsUUFBUTtBQUFBLFFBQ1IsWUFBWSxDQUFDLEtBQUs7QUFBQSxNQUNwQjtBQUFBLE1BQ0Esc0JBQXNCO0FBQUEsUUFDcEIsUUFBUTtBQUFBLFFBQ1IsWUFBWSxDQUFDLEtBQUs7QUFBQSxNQUNwQjtBQUFBLE1BQ0Esb0JBQW9CO0FBQUEsUUFDbEIsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLDhCQUE4QjtBQUFBLFFBQzVCLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSx3QkFBd0I7QUFBQSxRQUN0QixRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsUUFDZCxZQUFZLENBQUMsTUFBTTtBQUFBLE1BQ3JCO0FBQUEsTUFDQSw0QkFBNEI7QUFBQSxRQUMxQixRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsUUFDZCxZQUFZLENBQUMsVUFBVTtBQUFBLE1BQ3pCO0FBQUEsTUFDQSwrQkFBK0I7QUFBQSxRQUM3QixRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsUUFDZCxZQUFZLENBQUMsSUFBSTtBQUFBLE1BQ25CO0FBQUEsTUFDQSx5QkFBeUI7QUFBQSxRQUN2QixRQUFRO0FBQUEsUUFDUixZQUFZLENBQUMsS0FBSztBQUFBLE1BQ3BCO0FBQUEsTUFDQSxnQ0FBZ0M7QUFBQSxRQUM5QixRQUFRO0FBQUEsUUFDUixZQUFZLENBQUMsS0FBSztBQUFBLE1BQ3BCO0FBQUEsTUFDQSxxQkFBcUI7QUFBQSxRQUNuQixRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0EsaUNBQWlDO0FBQUEsUUFDL0IsUUFBUTtBQUFBLFFBQ1IsWUFBWSxDQUFDLEtBQUs7QUFBQSxNQUNwQjtBQUFBLE1BQ0EscUJBQXFCO0FBQUEsUUFDbkIsY0FBYztBQUFBLFFBQ2QsWUFBWSxDQUFDLEtBQUs7QUFBQSxNQUNwQjtBQUFBLE1BQ0EsZ0NBQWdDO0FBQUEsUUFDOUIsUUFBUTtBQUFBLFFBQ1IsWUFBWSxDQUFDLE9BQU8sT0FBTyxPQUFPLEtBQUs7QUFBQSxNQUN6QztBQUFBLE1BQ0EsZ0NBQWdDO0FBQUEsUUFDOUIsUUFBUTtBQUFBLFFBQ1IsWUFBWSxDQUFDLEtBQUs7QUFBQSxNQUNwQjtBQUFBLE1BQ0EsZ0NBQWdDO0FBQUEsUUFDOUIsUUFBUTtBQUFBLFFBQ1IsWUFBWSxDQUFDLEtBQUs7QUFBQSxNQUNwQjtBQUFBLE1BQ0EsdUJBQXVCO0FBQUEsUUFDckIsUUFBUTtBQUFBLFFBQ1IsWUFBWSxDQUFDLE9BQU87QUFBQSxNQUN0QjtBQUFBLE1BQ0Esc0JBQXNCO0FBQUEsUUFDcEIsY0FBYztBQUFBLFFBQ2QsWUFBWSxDQUFDLE1BQU07QUFBQSxNQUNyQjtBQUFBLE1BQ0EsNEJBQTRCO0FBQUEsUUFDMUIsUUFBUTtBQUFBLFFBQ1IsWUFBWSxDQUFDLFNBQVM7QUFBQSxNQUN4QjtBQUFBLE1BQ0EseUJBQXlCO0FBQUEsUUFDdkIsWUFBWSxDQUFDLE9BQU87QUFBQSxNQUN0QjtBQUFBLE1BQ0EsdUJBQXVCO0FBQUEsUUFDckIsUUFBUTtBQUFBLFFBQ1IsWUFBWSxDQUFDLE9BQU8sT0FBTztBQUFBLE1BQzdCO0FBQUEsTUFDQSxzQkFBc0I7QUFBQSxRQUNwQixRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsUUFDZCxZQUFZLENBQUMsSUFBSTtBQUFBLE1BQ25CO0FBQUEsTUFDQSx1QkFBdUI7QUFBQSxRQUNyQixRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsUUFDZCxZQUFZLENBQUMsT0FBTyxLQUFLO0FBQUEsTUFDM0I7QUFBQSxNQUNBLHFCQUFxQjtBQUFBLFFBQ25CLFFBQVE7QUFBQSxRQUNSLFlBQVksQ0FBQyxPQUFPLE9BQU8sT0FBTyxPQUFPLEtBQUs7QUFBQSxNQUNoRDtBQUFBLE1BQ0Esd0JBQXdCO0FBQUEsUUFDdEIsUUFBUTtBQUFBLFFBQ1IsWUFBWSxDQUFDLEtBQUs7QUFBQSxNQUNwQjtBQUFBLE1BQ0EsZ0NBQWdDO0FBQUEsUUFDOUIsUUFBUTtBQUFBLFFBQ1IsWUFBWSxDQUFDLEtBQUs7QUFBQSxNQUNwQjtBQUFBLE1BQ0Esc0JBQXNCO0FBQUEsUUFDcEIsUUFBUTtBQUFBLFFBQ1IsWUFBWSxDQUFDLE1BQU07QUFBQSxNQUNyQjtBQUFBLE1BQ0EsMkJBQTJCO0FBQUEsUUFDekIsUUFBUTtBQUFBLFFBQ1IsWUFBWSxDQUFDLEtBQUs7QUFBQSxNQUNwQjtBQUFBLE1BQ0Esa0NBQWtDO0FBQUEsUUFDaEMsWUFBWSxDQUFDLEtBQUs7QUFBQSxNQUNwQjtBQUFBLE1BQ0EsdUJBQXVCO0FBQUEsUUFDckIsUUFBUTtBQUFBLFFBQ1IsWUFBWSxDQUFDLEtBQUs7QUFBQSxNQUNwQjtBQUFBLE1BQ0EsMEJBQTBCO0FBQUEsUUFDeEIsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLDRCQUE0QjtBQUFBLFFBQzFCLFlBQVksQ0FBQyxLQUFLO0FBQUEsTUFDcEI7QUFBQSxNQUNBLDRCQUE0QjtBQUFBLFFBQzFCLFFBQVE7QUFBQSxRQUNSLFlBQVksQ0FBQyxLQUFLO0FBQUEsTUFDcEI7QUFBQSxNQUNBLHNCQUFzQjtBQUFBLFFBQ3BCLFFBQVE7QUFBQSxRQUNSLFlBQVksQ0FBQyxNQUFNO0FBQUEsTUFDckI7QUFBQSxNQUNBLHFCQUFxQjtBQUFBLFFBQ25CLFFBQVE7QUFBQSxRQUNSLFlBQVksQ0FBQyxLQUFLO0FBQUEsTUFDcEI7QUFBQSxNQUNBLHFCQUFxQjtBQUFBLFFBQ25CLGNBQWM7QUFBQSxNQUNoQjtBQUFBLE1BQ0EsZ0NBQWdDO0FBQUEsUUFDOUIsUUFBUTtBQUFBLFFBQ1IsWUFBWSxDQUFDLE9BQU8sTUFBTTtBQUFBLE1BQzVCO0FBQUEsTUFDQSxnQ0FBZ0M7QUFBQSxRQUM5QixRQUFRO0FBQUEsUUFDUixZQUFZLENBQUMsS0FBSztBQUFBLE1BQ3BCO0FBQUEsTUFDQSwwQkFBMEI7QUFBQSxRQUN4QixRQUFRO0FBQUEsUUFDUixZQUFZLENBQUMsT0FBTyxPQUFPLE9BQU8sT0FBTyxPQUFPLE9BQU8sT0FBTyxPQUFPLEtBQUs7QUFBQSxNQUM1RTtBQUFBLE1BQ0Esc0JBQXNCO0FBQUEsUUFDcEIsUUFBUTtBQUFBLFFBQ1IsWUFBWSxDQUFDLEtBQUs7QUFBQSxNQUNwQjtBQUFBLE1BQ0EsNEJBQTRCO0FBQUEsUUFDMUIsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLFFBQ2QsWUFBWSxDQUFDLEtBQUs7QUFBQSxNQUNwQjtBQUFBLE1BQ0EsNEJBQTRCO0FBQUEsUUFDMUIsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLFFBQ2QsWUFBWSxDQUFDLEtBQUs7QUFBQSxNQUNwQjtBQUFBLE1BQ0EsaUNBQWlDO0FBQUEsUUFDL0IsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLFFBQ2QsWUFBWSxDQUFDLEtBQUs7QUFBQSxNQUNwQjtBQUFBLE1BQ0EscUJBQXFCO0FBQUEsUUFDbkIsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLFFBQ2QsWUFBWSxDQUFDLEtBQUs7QUFBQSxNQUNwQjtBQUFBLE1BQ0EsdUJBQXVCO0FBQUEsUUFDckIsUUFBUTtBQUFBLFFBQ1IsWUFBWSxDQUFDLEtBQUs7QUFBQSxNQUNwQjtBQUFBLE1BQ0EscUJBQXFCO0FBQUEsUUFDbkIsUUFBUTtBQUFBLFFBQ1IsWUFBWSxDQUFDLEtBQUs7QUFBQSxNQUNwQjtBQUFBLE1BQ0EsMEJBQTBCO0FBQUEsUUFDeEIsUUFBUTtBQUFBLFFBQ1IsWUFBWSxDQUFDLEtBQUs7QUFBQSxNQUNwQjtBQUFBLE1BQ0EsMEJBQTBCO0FBQUEsUUFDeEIsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLGlDQUFpQztBQUFBLFFBQy9CLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSxrQ0FBa0M7QUFBQSxRQUNoQyxRQUFRO0FBQUEsUUFDUixZQUFZLENBQUMsS0FBSztBQUFBLE1BQ3BCO0FBQUEsTUFDQSw2QkFBNkI7QUFBQSxRQUMzQixRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0EsZ0NBQWdDO0FBQUEsUUFDOUIsUUFBUTtBQUFBLFFBQ1IsWUFBWSxDQUFDLEtBQUs7QUFBQSxNQUNwQjtBQUFBLE1BQ0EsMEJBQTBCO0FBQUEsUUFDeEIsUUFBUTtBQUFBLFFBQ1IsWUFBWSxDQUFDLEtBQUs7QUFBQSxNQUNwQjtBQUFBLE1BQ0EsMEJBQTBCO0FBQUEsUUFDeEIsUUFBUTtBQUFBLFFBQ1IsWUFBWSxDQUFDLEtBQUs7QUFBQSxNQUNwQjtBQUFBLE1BQ0EsNkJBQTZCO0FBQUEsUUFDM0IsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLGlDQUFpQztBQUFBLFFBQy9CLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSw0QkFBNEI7QUFBQSxRQUMxQixRQUFRO0FBQUEsUUFDUixZQUFZLENBQUMsT0FBTyxPQUFPLE9BQU8sS0FBSztBQUFBLE1BQ3pDO0FBQUEsTUFDQSw0QkFBNEI7QUFBQSxRQUMxQixRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0EseUJBQXlCO0FBQUEsUUFDdkIsUUFBUTtBQUFBLFFBQ1IsWUFBWSxDQUFDLEtBQUs7QUFBQSxNQUNwQjtBQUFBLE1BQ0EsOEJBQThCO0FBQUEsUUFDNUIsUUFBUTtBQUFBLFFBQ1IsWUFBWSxDQUFDLEtBQUs7QUFBQSxNQUNwQjtBQUFBLE1BQ0EsZ0NBQWdDO0FBQUEsUUFDOUIsUUFBUTtBQUFBLFFBQ1IsWUFBWSxDQUFDLEtBQUs7QUFBQSxNQUNwQjtBQUFBLE1BQ0EsdUJBQXVCO0FBQUEsUUFDckIsUUFBUTtBQUFBLFFBQ1IsWUFBWSxDQUFDLEtBQUs7QUFBQSxNQUNwQjtBQUFBLE1BQ0EsMEJBQTBCO0FBQUEsUUFDeEIsUUFBUTtBQUFBLFFBQ1IsWUFBWSxDQUFDLFVBQVU7QUFBQSxNQUN6QjtBQUFBLE1BQ0EsNEJBQTRCO0FBQUEsUUFDMUIsUUFBUTtBQUFBLFFBQ1IsWUFBWSxDQUFDLFFBQVE7QUFBQSxNQUN2QjtBQUFBLE1BQ0Esc0JBQXNCO0FBQUEsUUFDcEIsUUFBUTtBQUFBLFFBQ1IsWUFBWSxDQUFDLE1BQU07QUFBQSxNQUNyQjtBQUFBLE1BQ0Esc0JBQXNCO0FBQUEsUUFDcEIsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLHFCQUFxQjtBQUFBLFFBQ25CLFFBQVE7QUFBQSxRQUNSLFlBQVksQ0FBQyxLQUFLO0FBQUEsTUFDcEI7QUFBQSxNQUNBLDJCQUEyQjtBQUFBLFFBQ3pCLGNBQWM7QUFBQSxRQUNkLFlBQVksQ0FBQyxLQUFLO0FBQUEsTUFDcEI7QUFBQSxNQUNBLHNDQUFzQztBQUFBLFFBQ3BDLFFBQVE7QUFBQSxRQUNSLFlBQVksQ0FBQyxTQUFTO0FBQUEsTUFDeEI7QUFBQSxNQUNBLDRCQUE0QjtBQUFBLFFBQzFCLGNBQWM7QUFBQSxRQUNkLFlBQVksQ0FBQyxPQUFPO0FBQUEsTUFDdEI7QUFBQSxNQUNBLCtCQUErQjtBQUFBLFFBQzdCLFFBQVE7QUFBQSxRQUNSLFlBQVksQ0FBQyxLQUFLO0FBQUEsTUFDcEI7QUFBQSxNQUNBLHNDQUFzQztBQUFBLFFBQ3BDLFlBQVksQ0FBQyxLQUFLO0FBQUEsTUFDcEI7QUFBQSxNQUNBLDBDQUEwQztBQUFBLFFBQ3hDLFlBQVksQ0FBQyxTQUFTO0FBQUEsTUFDeEI7QUFBQSxNQUNBLHNDQUFzQztBQUFBLFFBQ3BDLFlBQVksQ0FBQyxPQUFPO0FBQUEsTUFDdEI7QUFBQSxNQUNBLG1DQUFtQztBQUFBLFFBQ2pDLFFBQVE7QUFBQSxRQUNSLFlBQVksQ0FBQyxTQUFTO0FBQUEsTUFDeEI7QUFBQSxNQUNBLGdDQUFnQztBQUFBLFFBQzlCLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxRQUNkLFlBQVksQ0FBQyxNQUFNO0FBQUEsTUFDckI7QUFBQSxNQUNBLDRCQUE0QjtBQUFBLFFBQzFCLGNBQWM7QUFBQSxNQUNoQjtBQUFBLE1BQ0EsMEJBQTBCO0FBQUEsUUFDeEIsWUFBWSxDQUFDLE1BQU07QUFBQSxNQUNyQjtBQUFBLE1BQ0EsdUJBQXVCO0FBQUEsUUFDckIsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLFFBQ2QsWUFBWSxDQUFDLE9BQU87QUFBQSxNQUN0QjtBQUFBLE1BQ0EsOEJBQThCO0FBQUEsUUFDNUIsWUFBWSxDQUFDLE1BQU07QUFBQSxNQUNyQjtBQUFBLE1BQ0EsZ0NBQWdDO0FBQUEsUUFDOUIsUUFBUTtBQUFBLFFBQ1IsWUFBWSxDQUFDLE9BQU8sS0FBSztBQUFBLE1BQzNCO0FBQUEsTUFDQSwwQkFBMEI7QUFBQSxRQUN4QixRQUFRO0FBQUEsUUFDUixZQUFZLENBQUMsS0FBSztBQUFBLE1BQ3BCO0FBQUEsTUFDQSxxQkFBcUI7QUFBQSxRQUNuQixRQUFRO0FBQUEsUUFDUixZQUFZLENBQUMsS0FBSztBQUFBLE1BQ3BCO0FBQUEsTUFDQSxrQ0FBa0M7QUFBQSxRQUNoQyxRQUFRO0FBQUEsUUFDUixZQUFZLENBQUMsT0FBTyxNQUFNO0FBQUEsTUFDNUI7QUFBQSxNQUNBLHlCQUF5QjtBQUFBLFFBQ3ZCLGNBQWM7QUFBQSxNQUNoQjtBQUFBLE1BQ0EsZ0NBQWdDO0FBQUEsUUFDOUIsUUFBUTtBQUFBLFFBQ1IsWUFBWSxDQUFDLGFBQWE7QUFBQSxNQUM1QjtBQUFBLE1BQ0EsNkJBQTZCO0FBQUEsUUFDM0IsUUFBUTtBQUFBLFFBQ1IsWUFBWSxDQUFDLEtBQUs7QUFBQSxNQUNwQjtBQUFBLE1BQ0Esd0JBQXdCO0FBQUEsUUFDdEIsUUFBUTtBQUFBLFFBQ1IsWUFBWSxDQUFDLEtBQUs7QUFBQSxNQUNwQjtBQUFBLE1BQ0Esd0JBQXdCO0FBQUEsUUFDdEIsUUFBUTtBQUFBLFFBQ1IsWUFBWSxDQUFDLEtBQUs7QUFBQSxNQUNwQjtBQUFBLE1BQ0EseUJBQXlCO0FBQUEsUUFDdkIsUUFBUTtBQUFBLFFBQ1IsWUFBWSxDQUFDLE1BQU07QUFBQSxNQUNyQjtBQUFBLE1BQ0EsMEJBQTBCO0FBQUEsUUFDeEIsUUFBUTtBQUFBLFFBQ1IsWUFBWSxDQUFDLEtBQUs7QUFBQSxNQUNwQjtBQUFBLE1BQ0EsMEJBQTBCO0FBQUEsUUFDeEIsUUFBUTtBQUFBLFFBQ1IsWUFBWSxDQUFDLEtBQUs7QUFBQSxNQUNwQjtBQUFBLE1BQ0EsNEJBQTRCO0FBQUEsUUFDMUIsUUFBUTtBQUFBLFFBQ1IsWUFBWSxDQUFDLEtBQUs7QUFBQSxNQUNwQjtBQUFBLE1BQ0Esd0JBQXdCO0FBQUEsUUFDdEIsUUFBUTtBQUFBLFFBQ1IsWUFBWSxDQUFDLEtBQUs7QUFBQSxNQUNwQjtBQUFBLE1BQ0EsK0JBQStCO0FBQUEsUUFDN0IsWUFBWSxDQUFDLEtBQUs7QUFBQSxNQUNwQjtBQUFBLE1BQ0EsNEJBQTRCO0FBQUEsUUFDMUIsUUFBUTtBQUFBLFFBQ1IsWUFBWSxDQUFDLE9BQU8sT0FBTyxPQUFPLE9BQU8sS0FBSztBQUFBLE1BQ2hEO0FBQUEsTUFDQSw2QkFBNkI7QUFBQSxRQUMzQixRQUFRO0FBQUEsUUFDUixZQUFZLENBQUMsT0FBTyxPQUFPLEtBQUs7QUFBQSxNQUNsQztBQUFBLE1BQ0EsNEJBQTRCO0FBQUEsUUFDMUIsUUFBUTtBQUFBLFFBQ1IsWUFBWSxDQUFDLE9BQU8sT0FBTyxPQUFPLEtBQUs7QUFBQSxNQUN6QztBQUFBLE1BQ0EseUJBQXlCO0FBQUEsUUFDdkIsUUFBUTtBQUFBLFFBQ1IsWUFBWSxDQUFDLEtBQUs7QUFBQSxNQUNwQjtBQUFBLE1BQ0EsNkJBQTZCO0FBQUEsUUFDM0IsUUFBUTtBQUFBLFFBQ1IsWUFBWSxDQUFDLEtBQUs7QUFBQSxNQUNwQjtBQUFBLE1BQ0EsNEJBQTRCO0FBQUEsUUFDMUIsUUFBUTtBQUFBLFFBQ1IsWUFBWSxDQUFDLEtBQUs7QUFBQSxNQUNwQjtBQUFBLE1BQ0EsNEJBQTRCO0FBQUEsUUFDMUIsUUFBUTtBQUFBLFFBQ1IsWUFBWSxDQUFDLEtBQUs7QUFBQSxNQUNwQjtBQUFBLE1BQ0EseUJBQXlCO0FBQUEsUUFDdkIsUUFBUTtBQUFBLFFBQ1IsWUFBWSxDQUFDLEtBQUs7QUFBQSxNQUNwQjtBQUFBLE1BQ0Esd0JBQXdCO0FBQUEsUUFDdEIsUUFBUTtBQUFBLFFBQ1IsWUFBWSxDQUFDLE1BQU0sS0FBSztBQUFBLE1BQzFCO0FBQUEsTUFDQSxxQ0FBcUM7QUFBQSxRQUNuQyxjQUFjO0FBQUEsUUFDZCxZQUFZLENBQUMsS0FBSztBQUFBLE1BQ3BCO0FBQUEsTUFDQSxxQkFBcUI7QUFBQSxRQUNuQixRQUFRO0FBQUEsUUFDUixZQUFZLENBQUMsS0FBSztBQUFBLE1BQ3BCO0FBQUEsTUFDQSxzQkFBc0I7QUFBQSxRQUNwQixRQUFRO0FBQUEsUUFDUixZQUFZLENBQUMsTUFBTSxJQUFJO0FBQUEsTUFDekI7QUFBQSxNQUNBLHVCQUF1QjtBQUFBLFFBQ3JCLFFBQVE7QUFBQSxRQUNSLFlBQVksQ0FBQyxPQUFPLEtBQUs7QUFBQSxNQUMzQjtBQUFBLE1BQ0Esd0JBQXdCO0FBQUEsUUFDdEIsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLFFBQ2QsWUFBWSxDQUFDLE9BQU8sS0FBSztBQUFBLE1BQzNCO0FBQUEsTUFDQSxvQ0FBb0M7QUFBQSxRQUNsQyxRQUFRO0FBQUEsUUFDUixZQUFZLENBQUMsT0FBTyxLQUFLO0FBQUEsTUFDM0I7QUFBQSxNQUNBLG1DQUFtQztBQUFBLFFBQ2pDLFFBQVE7QUFBQSxRQUNSLFlBQVksQ0FBQyxLQUFLO0FBQUEsTUFDcEI7QUFBQSxNQUNBLDZCQUE2QjtBQUFBLFFBQzNCLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSxnQ0FBZ0M7QUFBQSxRQUM5QixRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsUUFDZCxZQUFZLENBQUMsS0FBSztBQUFBLE1BQ3BCO0FBQUEsTUFDQSx3Q0FBd0M7QUFBQSxRQUN0QyxRQUFRO0FBQUEsUUFDUixZQUFZLENBQUMsS0FBSztBQUFBLE1BQ3BCO0FBQUEsTUFDQSx1Q0FBdUM7QUFBQSxRQUNyQyxRQUFRO0FBQUEsUUFDUixZQUFZLENBQUMsS0FBSztBQUFBLE1BQ3BCO0FBQUEsTUFDQSxxQkFBcUI7QUFBQSxRQUNuQixRQUFRO0FBQUEsUUFDUixZQUFZLENBQUMsS0FBSztBQUFBLE1BQ3BCO0FBQUEsTUFDQSxvQkFBb0I7QUFBQSxRQUNsQixRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsUUFDZCxZQUFZLENBQUMsSUFBSTtBQUFBLE1BQ25CO0FBQUEsTUFDQSxzQkFBc0I7QUFBQSxRQUNwQixRQUFRO0FBQUEsUUFDUixZQUFZLENBQUMsTUFBTTtBQUFBLE1BQ3JCO0FBQUEsTUFDQSxpQ0FBaUM7QUFBQSxRQUMvQixRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsUUFDZCxZQUFZLENBQUMsS0FBSztBQUFBLE1BQ3BCO0FBQUEsTUFDQSxpQ0FBaUM7QUFBQSxRQUMvQixRQUFRO0FBQUEsUUFDUixZQUFZLENBQUMsS0FBSztBQUFBLE1BQ3BCO0FBQUEsTUFDQSxxQkFBcUI7QUFBQSxRQUNuQixRQUFRO0FBQUEsUUFDUixZQUFZLENBQUMsS0FBSztBQUFBLE1BQ3BCO0FBQUEsTUFDQSx5QkFBeUI7QUFBQSxRQUN2QixRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsUUFDZCxZQUFZLENBQUMsS0FBSztBQUFBLE1BQ3BCO0FBQUEsTUFDQSwwQkFBMEI7QUFBQSxRQUN4QixRQUFRO0FBQUEsUUFDUixZQUFZLENBQUMsTUFBTTtBQUFBLE1BQ3JCO0FBQUEsTUFDQSx3QkFBd0I7QUFBQSxRQUN0QixRQUFRO0FBQUEsUUFDUixZQUFZLENBQUMsS0FBSztBQUFBLE1BQ3BCO0FBQUEsTUFDQSx5QkFBeUI7QUFBQSxRQUN2QixRQUFRO0FBQUEsUUFDUixZQUFZLENBQUMsU0FBUztBQUFBLE1BQ3hCO0FBQUEsTUFDQSx3QkFBd0I7QUFBQSxRQUN0QixRQUFRO0FBQUEsUUFDUixZQUFZLENBQUMsUUFBUTtBQUFBLE1BQ3ZCO0FBQUEsTUFDQSw0QkFBNEI7QUFBQSxRQUMxQixRQUFRO0FBQUEsUUFDUixZQUFZLENBQUMsSUFBSTtBQUFBLE1BQ25CO0FBQUEsTUFDQSxzQkFBc0I7QUFBQSxRQUNwQixRQUFRO0FBQUEsUUFDUixZQUFZLENBQUMsS0FBSztBQUFBLE1BQ3BCO0FBQUEsTUFDQSxxQkFBcUI7QUFBQSxRQUNuQixRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsUUFDZCxZQUFZLENBQUMsS0FBSztBQUFBLE1BQ3BCO0FBQUEsTUFDQSxxQkFBcUI7QUFBQSxRQUNuQixRQUFRO0FBQUEsUUFDUixZQUFZLENBQUMsT0FBTyxJQUFJO0FBQUEsTUFDMUI7QUFBQSxNQUNBLHFCQUFxQjtBQUFBLFFBQ25CLFFBQVE7QUFBQSxRQUNSLFlBQVksQ0FBQyxLQUFLO0FBQUEsTUFDcEI7QUFBQSxNQUNBLHlCQUF5QjtBQUFBLFFBQ3ZCLFFBQVE7QUFBQSxRQUNSLFlBQVksQ0FBQyxLQUFLO0FBQUEsTUFDcEI7QUFBQSxNQUNBLHlCQUF5QjtBQUFBLFFBQ3ZCLFFBQVE7QUFBQSxRQUNSLFlBQVksQ0FBQyxXQUFXLE1BQU07QUFBQSxNQUNoQztBQUFBLE1BQ0Esc0JBQXNCO0FBQUEsUUFDcEIsUUFBUTtBQUFBLFFBQ1IsWUFBWSxDQUFDLEtBQUs7QUFBQSxNQUNwQjtBQUFBLE1BQ0EsdUJBQXVCO0FBQUEsUUFDckIsUUFBUTtBQUFBLFFBQ1IsWUFBWSxDQUFDLE9BQU87QUFBQSxNQUN0QjtBQUFBLE1BQ0EsZ0NBQWdDO0FBQUEsUUFDOUIsY0FBYztBQUFBLFFBQ2QsWUFBWSxDQUFDLEtBQUs7QUFBQSxNQUNwQjtBQUFBLE1BQ0EsZ0NBQWdDO0FBQUEsUUFDOUIsY0FBYztBQUFBLFFBQ2QsWUFBWSxDQUFDLEtBQUs7QUFBQSxNQUNwQjtBQUFBLE1BQ0EsZ0NBQWdDO0FBQUEsUUFDOUIsY0FBYztBQUFBLFFBQ2QsWUFBWSxDQUFDLEtBQUs7QUFBQSxNQUNwQjtBQUFBLE1BQ0EsaUNBQWlDO0FBQUEsUUFDL0IsY0FBYztBQUFBLFFBQ2QsWUFBWSxDQUFDLE1BQU07QUFBQSxNQUNyQjtBQUFBLE1BQ0EseUNBQXlDO0FBQUEsUUFDdkMsY0FBYztBQUFBLFFBQ2QsWUFBWSxDQUFDLGNBQWM7QUFBQSxNQUM3QjtBQUFBLE1BQ0EsZ0NBQWdDO0FBQUEsUUFDOUIsY0FBYztBQUFBLFFBQ2QsWUFBWSxDQUFDLEtBQUs7QUFBQSxNQUNwQjtBQUFBLE1BQ0EsZ0NBQWdDO0FBQUEsUUFDOUIsY0FBYztBQUFBLFFBQ2QsWUFBWSxDQUFDLEtBQUs7QUFBQSxNQUNwQjtBQUFBLE1BQ0EsaUNBQWlDO0FBQUEsUUFDL0IsY0FBYztBQUFBLFFBQ2QsWUFBWSxDQUFDLE1BQU07QUFBQSxNQUNyQjtBQUFBLE1BQ0EsNkJBQTZCO0FBQUEsUUFDM0IsUUFBUTtBQUFBLFFBQ1IsWUFBWSxDQUFDLEtBQUs7QUFBQSxNQUNwQjtBQUFBLE1BQ0EsdUNBQXVDO0FBQUEsUUFDckMsY0FBYztBQUFBLFFBQ2QsWUFBWSxDQUFDLFFBQVE7QUFBQSxNQUN2QjtBQUFBLE1BQ0EscUNBQXFDO0FBQUEsUUFDbkMsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLE1BQ2hCO0FBQUEsTUFDQSw4QkFBOEI7QUFBQSxRQUM1QixRQUFRO0FBQUEsUUFDUixZQUFZLENBQUMsT0FBTyxPQUFPLEtBQUs7QUFBQSxNQUNsQztBQUFBLE1BQ0EsaUNBQWlDO0FBQUEsUUFDL0IsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLG1DQUFtQztBQUFBLFFBQ2pDLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSxzQkFBc0I7QUFBQSxRQUNwQixRQUFRO0FBQUEsUUFDUixZQUFZLENBQUMsS0FBSztBQUFBLE1BQ3BCO0FBQUEsTUFDQSwyQkFBMkI7QUFBQSxRQUN6QixRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsUUFDZCxZQUFZLENBQUMsS0FBSztBQUFBLE1BQ3BCO0FBQUEsTUFDQSwyQkFBMkI7QUFBQSxRQUN6QixRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsUUFDZCxZQUFZLENBQUMsS0FBSztBQUFBLE1BQ3BCO0FBQUEsTUFDQSxvQkFBb0I7QUFBQSxRQUNsQixRQUFRO0FBQUEsUUFDUixZQUFZLENBQUMsSUFBSTtBQUFBLE1BQ25CO0FBQUEsTUFDQSxnQ0FBZ0M7QUFBQSxRQUM5QixZQUFZLENBQUMsS0FBSztBQUFBLE1BQ3BCO0FBQUEsTUFDQSwwQkFBMEI7QUFBQSxRQUN4QixRQUFRO0FBQUEsUUFDUixZQUFZLENBQUMsTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxJQUFJO0FBQUEsTUFDN0Q7QUFBQSxNQUNBLHVCQUF1QjtBQUFBLFFBQ3JCLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSx5QkFBeUI7QUFBQSxRQUN2QixRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsTUFDaEI7QUFBQSxNQUNBLHdCQUF3QjtBQUFBLFFBQ3RCLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxRQUNkLFlBQVksQ0FBQyxNQUFNO0FBQUEsTUFDckI7QUFBQSxNQUNBLDRCQUE0QjtBQUFBLFFBQzFCLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxRQUNkLFlBQVksQ0FBQyxLQUFLO0FBQUEsTUFDcEI7QUFBQSxNQUNBLDZCQUE2QjtBQUFBLFFBQzNCLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxRQUNkLFlBQVksQ0FBQyxLQUFLO0FBQUEsTUFDcEI7QUFBQSxNQUNBLDZCQUE2QjtBQUFBLFFBQzNCLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxRQUNkLFlBQVksQ0FBQyxLQUFLO0FBQUEsTUFDcEI7QUFBQSxNQUNBLDJCQUEyQjtBQUFBLFFBQ3pCLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxRQUNkLFlBQVksQ0FBQyxLQUFLO0FBQUEsTUFDcEI7QUFBQSxNQUNBLDhCQUE4QjtBQUFBLFFBQzVCLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxNQUNoQjtBQUFBLE1BQ0EsMkJBQTJCO0FBQUEsUUFDekIsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLFFBQ2QsWUFBWSxDQUFDLEtBQUs7QUFBQSxNQUNwQjtBQUFBLE1BQ0Esd0NBQXdDO0FBQUEsUUFDdEMsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLE1BQ2hCO0FBQUEsTUFDQSw2Q0FBNkM7QUFBQSxRQUMzQyxRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsTUFDaEI7QUFBQSxNQUNBLHdCQUF3QjtBQUFBLFFBQ3RCLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxRQUNkLFlBQVksQ0FBQyxNQUFNO0FBQUEsTUFDckI7QUFBQSxNQUNBLG9CQUFvQjtBQUFBLFFBQ2xCLFFBQVE7QUFBQSxRQUNSLFlBQVksQ0FBQyxNQUFNO0FBQUEsTUFDckI7QUFBQSxNQUNBLHlCQUF5QjtBQUFBLFFBQ3ZCLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxRQUNkLFlBQVksQ0FBQyxTQUFTLEtBQUs7QUFBQSxNQUM3QjtBQUFBLE1BQ0EsK0JBQStCO0FBQUEsUUFDN0IsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLE1BQ2hCO0FBQUEsTUFDQSx5QkFBeUI7QUFBQSxRQUN2QixRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsUUFDZCxZQUFZLENBQUMsS0FBSztBQUFBLE1BQ3BCO0FBQUEsTUFDQSxtQkFBbUI7QUFBQSxRQUNqQixRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsUUFDZCxZQUFZLENBQUMsT0FBTyxPQUFPLE9BQU8sS0FBSztBQUFBLE1BQ3pDO0FBQUEsTUFDQSx1QkFBdUI7QUFBQSxRQUNyQixRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsUUFDZCxZQUFZLENBQUMsS0FBSztBQUFBLE1BQ3BCO0FBQUEsTUFDQSwwQ0FBMEM7QUFBQSxRQUN4QyxRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0EsNkJBQTZCO0FBQUEsUUFDM0IsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLE1BQ2hCO0FBQUEsTUFDQSx3QkFBd0I7QUFBQSxRQUN0QixRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsTUFDaEI7QUFBQSxNQUNBLHVCQUF1QjtBQUFBLFFBQ3JCLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxRQUNkLFlBQVksQ0FBQyxLQUFLO0FBQUEsTUFDcEI7QUFBQSxNQUNBLHlCQUF5QjtBQUFBLFFBQ3ZCLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxRQUNkLFlBQVksQ0FBQyxLQUFLO0FBQUEsTUFDcEI7QUFBQSxNQUNBLHdCQUF3QjtBQUFBLFFBQ3RCLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxRQUNkLFlBQVksQ0FBQyxPQUFPLE1BQU07QUFBQSxNQUM1QjtBQUFBLE1BQ0Esd0JBQXdCO0FBQUEsUUFDdEIsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLFFBQ2QsWUFBWSxDQUFDLE1BQU07QUFBQSxNQUNyQjtBQUFBLE1BQ0Esc0JBQXNCO0FBQUEsUUFDcEIsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLFFBQ2QsWUFBWSxDQUFDLFFBQVEsU0FBUyxRQUFRLEtBQUs7QUFBQSxNQUM3QztBQUFBLE1BQ0Esb0JBQW9CO0FBQUEsUUFDbEIsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLG9CQUFvQjtBQUFBLFFBQ2xCLFFBQVE7QUFBQSxRQUNSLFlBQVksQ0FBQyxNQUFNO0FBQUEsTUFDckI7QUFBQSxNQUNBLDhCQUE4QjtBQUFBLFFBQzVCLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSw4QkFBOEI7QUFBQSxRQUM1QixRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsTUFDaEI7QUFBQSxNQUNBLDZCQUE2QjtBQUFBLFFBQzNCLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxNQUNoQjtBQUFBLE1BQ0EsK0JBQStCO0FBQUEsUUFDN0IsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLE1BQ2hCO0FBQUEsTUFDQSw4QkFBOEI7QUFBQSxRQUM1QixRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsTUFDaEI7QUFBQSxNQUNBLDZCQUE2QjtBQUFBLFFBQzNCLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxNQUNoQjtBQUFBLE1BQ0EsdUJBQXVCO0FBQUEsUUFDckIsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLFFBQ2QsWUFBWSxDQUFDLEtBQUs7QUFBQSxNQUNwQjtBQUFBLE1BQ0EsbUJBQW1CO0FBQUEsUUFDakIsUUFBUTtBQUFBLFFBQ1IsY0FBYztBQUFBLFFBQ2QsWUFBWSxDQUFDLEtBQUs7QUFBQSxNQUNwQjtBQUFBLE1BQ0EsNkJBQTZCO0FBQUEsUUFDM0IsWUFBWSxDQUFDLFFBQVE7QUFBQSxNQUN2QjtBQUFBLE1BQ0Esb0JBQW9CO0FBQUEsUUFDbEIsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLG9CQUFvQjtBQUFBLFFBQ2xCLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSxrQ0FBa0M7QUFBQSxRQUNoQyxRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0Esa0JBQWtCO0FBQUEsUUFDaEIsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLGNBQWM7QUFBQSxRQUNaLFFBQVE7QUFBQSxRQUNSLGNBQWM7QUFBQSxRQUNkLFlBQVksQ0FBQyxNQUFNO0FBQUEsTUFDckI7QUFBQSxNQUNBLGVBQWU7QUFBQSxRQUNiLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSxhQUFhO0FBQUEsUUFDWCxRQUFRO0FBQUEsUUFDUixZQUFZLENBQUMsUUFBUSxLQUFLO0FBQUEsTUFDNUI7QUFBQSxNQUNBLGFBQWE7QUFBQSxRQUNYLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSxlQUFlO0FBQUEsUUFDYixRQUFRO0FBQUEsUUFDUixZQUFZLENBQUMsS0FBSztBQUFBLE1BQ3BCO0FBQUEsTUFDQSxhQUFhO0FBQUEsUUFDWCxRQUFRO0FBQUEsUUFDUixZQUFZLENBQUMsS0FBSztBQUFBLE1BQ3BCO0FBQUEsTUFDQSxnQkFBZ0I7QUFBQSxRQUNkLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSxpQkFBaUI7QUFBQSxRQUNmLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSxjQUFjO0FBQUEsUUFDWixRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0EsYUFBYTtBQUFBLFFBQ1gsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLGlDQUFpQztBQUFBLFFBQy9CLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSxpQkFBaUI7QUFBQSxRQUNmLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSxnQkFBZ0I7QUFBQSxRQUNkLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSxlQUFlO0FBQUEsUUFDYixRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsUUFDZCxZQUFZLENBQUMsTUFBTSxLQUFLO0FBQUEsTUFDMUI7QUFBQSxNQUNBLGNBQWM7QUFBQSxRQUNaLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSxjQUFjO0FBQUEsUUFDWixRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0EsbUJBQW1CO0FBQUEsUUFDakIsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLFlBQVk7QUFBQSxRQUNWLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSxlQUFlO0FBQUEsUUFDYixRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0EsYUFBYTtBQUFBLFFBQ1gsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLHNCQUFzQjtBQUFBLFFBQ3BCLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSxzQkFBc0I7QUFBQSxRQUNwQixRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0Esc0JBQXNCO0FBQUEsUUFDcEIsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLHNCQUFzQjtBQUFBLFFBQ3BCLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSxZQUFZO0FBQUEsUUFDVixRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0EsY0FBYztBQUFBLFFBQ1osUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLGNBQWM7QUFBQSxRQUNaLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSxrQkFBa0I7QUFBQSxRQUNoQixRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0EsY0FBYztBQUFBLFFBQ1osUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLGtCQUFrQjtBQUFBLFFBQ2hCLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSxlQUFlO0FBQUEsUUFDYixRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0EsZUFBZTtBQUFBLFFBQ2IsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLGVBQWU7QUFBQSxRQUNiLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSxnQkFBZ0I7QUFBQSxRQUNkLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSxnQkFBZ0I7QUFBQSxRQUNkLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSxnQkFBZ0I7QUFBQSxRQUNkLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSxpQkFBaUI7QUFBQSxRQUNmLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSxpQkFBaUI7QUFBQSxRQUNmLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSxnQkFBZ0I7QUFBQSxRQUNkLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSxpQkFBaUI7QUFBQSxRQUNmLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSxpQkFBaUI7QUFBQSxRQUNmLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSxhQUFhO0FBQUEsUUFDWCxRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0EsY0FBYztBQUFBLFFBQ1osUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLGlCQUFpQjtBQUFBLFFBQ2YsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLGdCQUFnQjtBQUFBLFFBQ2QsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLGdCQUFnQjtBQUFBLFFBQ2QsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLGNBQWM7QUFBQSxRQUNaLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSxjQUFjO0FBQUEsUUFDWixRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0EsZUFBZTtBQUFBLFFBQ2IsUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLGNBQWM7QUFBQSxRQUNaLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSxpQkFBaUI7QUFBQSxRQUNmLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSxpQkFBaUI7QUFBQSxRQUNmLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSxpQkFBaUI7QUFBQSxRQUNmLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSxpQkFBaUI7QUFBQSxRQUNmLFFBQVE7QUFBQSxNQUNWO0FBQUEsTUFDQSxjQUFjO0FBQUEsUUFDWixRQUFRO0FBQUEsTUFDVjtBQUFBLE1BQ0EsY0FBYztBQUFBLFFBQ1osUUFBUTtBQUFBLE1BQ1Y7QUFBQSxNQUNBLGVBQWU7QUFBQSxRQUNi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QUFjO0FBQUEsUUFDZCxZQUFZLENBQUMsS0FBSztBQUFBLE1BQ3BCO0FBQUEsTUFDQSxhQUFhO0FBQUEsUUFDWCxRQUFRO0FBQUEsUUFDUixZQUFZLENBQUMsTUFBTTtBQUFBLE1BQ3JCO0FBQUEsTUFDQSxjQUFjO0FBQUEsUUFDWixRQUFRO0FBQUEsUUFDUixZQUFZLENBQUMsT0FBTztBQUFBLE1BQ3RCO0FBQUEsTUFDQSxjQUFjO0FBQUEsUUFDWixRQUFRO0FBQUEsUUFDUixZQUFZLENBQUMsS0FBSztBQUFBLE1BQ3BCO0FBQUEsTUFDQSxjQUFjO0FBQUEsUUFDWixRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsUUFDZCxZQUFZLENBQUMsTUFBTTtBQUFBLE1BQ3JCO0FBQUEsTUFDQSxjQUFjO0FBQUEsUUFDWixRQUFRO0FBQUEsUUFDUixZQUFZLENBQUMsTUFBTTtBQUFBLE1BQ3JCO0FBQUEsTUFDQSxjQUFjO0FBQUEsUUFDWixRQUFRO0FBQUEsUUFDUixZQUFZLENBQUMsTUFBTTtBQUFBLE1BQ3JCO0FBQUEsTUFDQSxjQUFjO0FBQUEsUUFDWixRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsUUFDZCxZQUFZLENBQUMsTUFBTTtBQUFBLE1BQ3JCO0FBQUEsTUFDQSxhQUFhO0FBQUEsUUFDWCxRQUFRO0FBQUEsUUFDUixjQUFjO0FBQUEsUUFDZCxZQUFZLENBQUMsT0FBTyxLQUFLO0FBQUEsTUFDM0I7QUFBQSxNQUNBLGFBQWE7QUFBQSxRQUNYLFFBQVE7QUFBQSxRQUNSLFlBQVksQ0FBQyxLQUFLO0FBQUEsTUFDcEI7QUFBQSxNQUNBLG1CQUFtQjtBQUFBLFFBQ2pCLFFBQVE7QUFBQSxRQUNSLFlBQVksQ0FBQyxNQUFNO0FBQUEsTUFDckI7QUFBQSxNQUNBLGFBQWE7QUFBQSxRQUNYLFFBQVE7QUFBQSxRQUNSLFlBQVksQ0FBQyxLQUFLO0FBQUEsTUFDcEI7QUFBQSxNQUNBLGFBQWE7QUFBQSxRQUNYLFFBQVE7QUFBQSxRQUNSLFlBQVksQ0FBQyxLQUFLO0FBQUEsTUFDcEI7QUFBQSxNQUNBLGNBQWM7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UUFDUixRQUFRO0FBQUEsUUFDUixRQUFRO0FBQUEsUUFDUixRQUFRO0FBQUEsUUFDUixRQUFRO0FBQUEsUUFDUixRQUFRO0FBQUEsUUFDUixRQUFRO0FBQUEsUUFDUixRQUFRO0FBQUEsUUFDUixRQUFRO0FBQUEsUUFDUixRQUFRO0FBQUEsUUFDUixRQUFRO0FBQUEsUUFDUixRQUFRO0FBQUEsUUFDUixRQUFRO0FBQUEsUUFDUixRQUFRO0FBQUEsUUFDUixRQUFRO0FBQUEsUUFDUixRQUFRO0FBQUEsUUFDUixRQUFRO0FBQUEsUUFDUixRQUFRO0FBQUEsUUFDUixRQUFRO0FBQUEsUUFDUixRQUFRO0FBQUEsUUFDUixRQUFRO0FBQUEsUUFDUixRQUFRO0FBQUEsUUFDUixRQUFRO0FBQUEsUUFDUixRQUFRO0FBQUEsUUFDUixRQUFRO0FBQUEsUUFDUixRQUFRO0FBQUEsUUFDUixRQUFRO0FBQUEsUUFDUixRQUFRO0FBQUEsUUFDUixRQUFRO0FBQUEsUUFDUixRQUFRO0FBQUEsUUFDUixRQUFRO0FBQUEsUUFDUixRQUFRO0FBQUEsUUFDUixRQUFRO0FBQUEsUUFDUixRQUFRO0FBQUEsUUFDUixRQUFRO0FBQUEsUUFDUixRQUFRO0FBQUEsUUFDUixRQUFRO0FBQUEsUUFDUixRQUFRO0FBQUE7QUFBQSxRQUVSLFVBQVU7QUFBQSxRQUNWLFVBQVU7QUFBQSxRQUNWLFVBQVU7QUFBQSxRQUNWLFVBQVU7QUFBQSxRQUNWLFVBQVU7QUFBQSxRQUNWLFVBQVU7QUFBQSxRQUNWLFVBQVU7QUFBQSxRQUNWLFVBQVU7QUFBQSxRQUNWLFVBQVU7QUFBQSxRQUNWLFVBQVU7QUFBQSxRQUNWLFVBQVU7QUFBQSxRQUNWLFVBQVU7QUFBQSxRQUNWLFVBQVU7QUFBQSxRQUNWLFVBQVU7QUFBQSxRQUNWLFVBQVU7QUFBQSxRQUNWLFVBQVU7QUFBQSxRQUNWLFVBQVU7QUFBQSxRQUNWLFVBQVU7QUFBQSxRQUNWLFVBQVU7QUFBQSxRQUNWLFVBQVU7QUFBQSxRQUNWLFVBQVU7QUFBQSxRQUNWLFVBQVU7QUFBQSxRQUNWLFVBQVU7QUFBQSxRQUNWLFVBQVU7QUFBQSxRQUNWLFVBQVU7QUFBQSxRQUNWLFVBQVU7QUFBQSxRQUNWLFVBQVU7QUFBQSxRQUNWLFVBQVU7QUFBQSxRQUNWLFVBQVU7QUFBQSxRQUNWLFVBQVU7QUFBQSxRQUNWLFVBQVU7QUFBQSxRQUNWLFVBQVU7QUFBQSxRQUNWLFVBQVU7QUFBQSxRQUNWLFVBQVU7QUFBQSxRQUNWLFVBQVU7QUFBQSxRQUNWLFVBQVU7QUFBQSxRQUNWLFVBQVU7QUFBQSxRQUNWLFVBQVU7QUFBQSxRQUNWLFVBQVU7QUFBQSxRQUNWLFVBQVU7QUFBQSxRQUNWLFVBQVU7QUFBQSxRQUNWLFVBQVU7QUFBQSxRQUNWLFVBQVU7QUFBQSxRQUNWLFVBQVU7QUFBQSxRQUNWLFVBQVU7QUFBQSxRQUNWLFVBQVU7QUFBQSxRQUNWLFVBQVU7QUFBQSxRQUNWLFVBQVU7QUFBQSxRQUNWLFVBQVU7QUFBQSxRQUNWLFVBQVU7QUFBQSxRQUNWLFVBQVU7QUFBQSxRQUNWLFVBQVU7QUFBQSxRQUNWLFVBQVU7QUFBQSxRQUNWLFVBQVU7QUFBQSxRQUNWLFVBQVU7QUFBQSxRQUNWLFVBQVU7QUFBQSxRQUNWLFVBQVU7QUFBQSxRQUNWLFVBQVU7QUFBQSxRQUNWLFVBQVU7QUFBQSxRQUNWLFVBQVU7QUFBQSxRQUNWLFVBQVU7QUFBQSxRQUNWLFVBQVU7QUFBQSxRQUNWLFVBQVU7QUFBQSxRQUNWLFVBQVU7QUFBQSxRQUNWLFVBQVU7QUFBQSxRQUNWLFVBQVU7QUFBQSxRQUNWLFVBQVU7QUFBQSxRQUNWLFVBQVU7QUFBQSxRQUNWLFVBQVU7QUFBQSxRQUNWLFVBQVU7QUFBQSxRQUNWLFVBQVU7QUFBQSxRQUNWLFVBQVU7QUFBQSxRQUNWLFVBQVU7QUFBQSxRQUNWLFVBQVU7QUFBQSxRQUNWLFVBQVU7QUFBQSxRQUNWLFVBQVU7QUFBQSxRQUNWLFVBQVU7QUFBQSxRQUNWLFVBQVU7QUFBQSxRQUNWLFVBQVU7QUFBQSxRQUNWLFVBQVU7QUFBQSxRQUNWLFVBQVU7QUFBQSxRQUNWLFVBQVU7QUFBQSxRQUNWLFVBQVU7QUFBQSxRQUNWLFVBQVU7QUFBQSxRQUNWLFVBQVU7QUFBQSxRQUNWLFVBQVU7QUFBQSxRQUNWLFVBQVU7QUFBQSxRQUNWLFVBQVU7QUFBQSxRQUNWLFVBQVU7QUFBQSxRQUNWLFVBQVU7QUFBQSxRQUNWLFVBQVU7QUFBQSxRQUNWLFVBQVU7QUFBQSxRQUNWLFVBQVU7QUFBQSxRQUNWLFVBQVU7QUFBQSxRQUNWLFVBQVU7QUFBQSxRQUNWLFVBQVU7QUFBQSxRQUNWLFVBQVU7QUFBQSxRQUNWLFVBQVU7QUFBQSxRQUNWLFVBQVU7QUFBQSxRQUNWLFVBQVU7QUFBQSxRQUNWLFVBQVU7QUFBQSxRQUNWLFVBQVU7QUFBQSxRQUNWLFVBQVU7QUFBQSxRQUNWLFVBQVU7QUFBQSxRQUNWLFVBQVU7QUFBQSxRQUNWLFVBQVU7QUFBQSxRQUNWLFVBQVU7QUFBQSxRQUNWLFVBQVU7QUFBQSxRQUNWLFVBQVU7QUFBQSxRQUNWLFVBQVU7QUFBQSxRQUNWLFVBQVU7QUFBQSxRQUNWLFVBQVU7QUFBQSxRQUNWLFVBQVU7QUFBQSxRQUNWLFVBQVU7QUFBQSxRQUNWLFVBQVU7QUFBQSxRQUNWLFVBQVU7QUFBQSxRQUNWLFVBQVU7QUFBQSxRQUNWLFVBQVU7QUFBQSxRQUNWLFVBQVU7QUFBQSxRQUNWLFVBQVU7QUFBQSxRQUNWLFVBQVU7QUFBQSxRQUNWLFVBQVU7QUFBQSxRQUNWLFVBQVU7QUFBQSxRQUNWLFVBQVU7QUFBQSxRQUNWLFVBQVU7QUFBQSxRQUNWLFVBQVU7QUFBQSxRQUNWLFVBQVU7QUFBQSxRQUNWLFVBQVU7QUFBQSxNQUNaO0FBQ0EsVUFBSSxjQUFjO0FBQUEsUUFDaEIsS0FBSztBQUFBLFFBQ0wsS0FBSztBQUFBLFFBQ0wsS0FBSztBQUFBLFFBQ0wsS0FBSztBQUFBLFFBQ0wsS0FBSztBQUFBLE1BQ1A7QUFDQSxVQUFJLGdCQUFnQjtBQUFBLFFBQ2xCLFNBQVM7QUFBQSxRQUNULFFBQVE7QUFBQSxRQUNSLFFBQVE7QUFBQSxRQUNSLFVBQVU7QUFBQSxRQUNWLFNBQVM7QUFBQSxNQUNYO0FBQ0EsVUFBSSxn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S0FBSyxHQUFHLEdBQUc7QUFBQSxNQUN0QixpQkFBaUIsQ0FBQyxLQUFLLElBQUksR0FBRztBQUFBLE1BQzlCLE9BQU8sQ0FBQyxLQUFLLEdBQUcsQ0FBQztBQUFBLE1BQ2pCLGFBQWEsQ0FBQyxLQUFLLEtBQUssR0FBRztBQUFBLE1BQzNCLGFBQWEsQ0FBQyxJQUFJLEtBQUssR0FBRztBQUFBLE1BQzFCLGVBQWUsQ0FBQyxLQUFLLElBQUksRUFBRTtBQUFBLE1BQzNCLFVBQVUsQ0FBQyxLQUFLLEtBQUssR0FBRztBQUFBLE1BQ3hCLGNBQWMsQ0FBQyxLQUFLLEtBQUssRUFBRTtBQUFBLE1BQzNCLFlBQVksQ0FBQyxJQUFJLEtBQUssRUFBRTtBQUFBLE1BQ3hCLFlBQVksQ0FBQyxLQUFLLEtBQUssR0FBRztBQUFBLE1BQzFCLFVBQVUsQ0FBQyxLQUFLLElBQUksRUFBRTtBQUFBLE1BQ3RCLFVBQVUsQ0FBQyxLQUFLLEtBQUssR0FBRztBQUFBLE1BQ3hCLFdBQVcsQ0FBQyxLQUFLLEtBQUssR0FBRztBQUFBLE1BQ3pCLGFBQWEsQ0FBQyxLQUFLLElBQUksR0FBRztBQUFBLE1BQzFCLGFBQWEsQ0FBQyxLQUFLLEtBQUssR0FBRztBQUFBLE1BQzNCLGFBQWEsQ0FBQyxLQUFLLEtBQUssR0FBRztBQUFBLE1BQzNCLFFBQVEsQ0FBQyxLQUFLLEtBQUssR0FBRztBQUFBLE1BQ3RCLGVBQWUsQ0FBQyxHQUFHLEtBQUssR0FBRztBQUFBLE1BQzNCLGFBQWEsQ0FBQyxJQUFJLEtBQUssR0FBRztBQUFBLE1BQzFCLE9BQU8sQ0FBQyxLQUFLLEtBQUssR0FBRztBQUFBLE1BQ3JCLFFBQVEsQ0FBQyxHQUFHLEtBQUssR0FBRztBQUFBLE1BQ3BCLFdBQVcsQ0FBQyxLQUFLLEtBQUssR0FBRztBQUFBLE1BQ3pCLFVBQVUsQ0FBQyxLQUFLLElBQUksRUFBRTtBQUFBLE1BQ3RCLGFBQWEsQ0FBQyxJQUFJLEtBQUssR0FBRztBQUFBLE1BQzFCLFVBQVUsQ0FBQyxLQUFLLEtBQUssR0FBRztBQUFBLE1BQ3hCLFNBQVMsQ0FB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LENBQUMsS0FBSyxLQUFLLE9BQU8sS0FBSyxDQUFDLE9BQU8sR0FBRyxTQUFTLEtBQUs7QUFBQSxFQUMxRDtBQUFBLEVBQ0EsSUFBSSxVQUFVO0FBQ1osV0FBTyxDQUFDLENBQUMsS0FBSyxLQUFLLE9BQU8sS0FBSyxDQUFDLE9BQU8sR0FBRyxTQUFTLE9BQU87QUFBQSxFQUM1RDtBQUFBLEVBQ0EsSUFBSSxTQUFTO0FBQ1gsV0FBTyxDQUFDLENBQUMsS0FBSyxLQUFLLE9BQU8sS0FBSyxDQUFDLE9BQU8sR0FBRyxTQUFTLE1BQU07QUFBQSxFQUMzRDtBQUFBLEVBQ0EsSUFBSSxXQUFXO0FBQ2IsV0FBTyxDQUFDLENBQUMsS0FBSyxLQUFLLE9BQU8sS0FBSyxDQUFDLE9BQU8sR0FBRyxTQUFTLFFBQVE7QUFBQSxFQUM3RDtBQUFBLEVBQ0EsSUFBSSxTQUFTO0FBQ1gsV0FBTyxDQUFDLENBQUMsS0FBSyxLQUFLLE9BQU8sS0FBSyxDQUFDLE9BQU8sR0FBRyxTQUFTLE1BQU07QUFBQSxFQUMzRDtBQUFBLEVBQ0EsSUFBSSxVQUFVO0FBQ1osV0FBTyxDQUFDLENBQUMsS0FBSyxLQUFLLE9BQU8sS0FBSyxDQUFDLE9BQU8sR0FBRyxTQUFTLE9BQU87QUFBQSxFQUM1RDtBQUFBLEVBQ0EsSUFBSSxTQUFTO0FBQ1gsV0FBTyxDQUFDLENBQUMsS0FBSyxLQUFLLE9BQU8sS0FBSyxDQUFDLE9BQU8sR0FBRyxTQUFTLE1BQU07QUFBQSxFQUMzRDtBQUFBLEVBQ0EsSUFBSSxPQUFPO0FBQ1QsV0FBTyxDQUFDLENBQUMsS0FBSyxLQUFLLE9BQU8sS0FBSyxDQUFDLE9BQU8sR0FBRyxTQUFTLElBQUk7QUFBQSxFQUN6RDtBQUFBLEVBQ0EsSUFBSSxTQUFTO0FBQ1gsV0FBTyxDQUFDLENBQUMsS0FBSyxLQUFLLE9BQU8sS0FBSyxDQUFDLE9BQU8sR0FBRyxTQUFTLE1BQU07QUFBQSxFQUMzRDtBQUFBLEVBQ0EsSUFBSSxXQUFXO0FBQ2IsV0FBTyxDQUFDLENBQUMsS0FBSyxLQUFLLE9BQU8sS0FBSyxDQUFDLE9BQU8s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UTtBQUFBLE1BQ04sR0FBR0EsY0FBYSxRQUFRLElBQUksWUFBWSxDQUFDO0FBQUEsTUFDekM7QUFBQSxJQUNGO0FBQ0EsWUFBUSxLQUFLLENBQUM7QUFBQSxFQUNoQjtBQUNGO0FBQ0EsZUFBZTsiLAogICJuYW1lcyI6IFsidXRpbCIsICJvYmplY3RVdGlsIiwgIl9ab2RFcnJvciIsICJfUGFyc2VTdGF0dXMiLCAiZXJyb3JVdGlsIiwgImVycm9yTWFwIiwgInIiLCAiZXJyIiwgIl9ab2RTdHJpbmciLCAiY3R4IiwgIl9ab2ROdW1iZXIiLCAiX1pvZEJpZ0ludCIsICJfWm9kRGF0ZSIsICJfWm9kQXJyYXkiLCAicmVzdWx0IiwgIl9ab2RPYmplY3QiLCAiaXNzdWVzIiwgIl9ab2REaXNjcmltaW5hdGVkVW5pb24iLCAiX1pvZFR1cGxlIiwgIl9ab2RSZWNvcmQiLCAiX1pvZFNldCIsICJlbGVtZW50cyIsICJfWm9kRnVuY3Rpb24iLCAiX1pvZEVudW0iLCAicHJvY2Vzc2VkIiwgIl9ab2RQaXBlbGluZSIsICJab2RGaXJzdFBhcnR5VHlwZUtpbmQiLCAiaW5pdF90eXBlcyIsICJFcnJvckNvZGUiLCAiaW5pdF90eXBlcyIsICJfYSIsICJqc29ucnBjTm90aWZpY2F0aW9uIiwgIm1lcmdlIiwgInNldHMiLCAibGVuZ3RoIiwgInNsaWNlIiwgInhsIiwgIngiLCAiam9pbiIsICJzdWJleHAiLCAic3RyIiwgInR5cGVPZiIsICJvIiwgInVuZGVmaW5lZCIsICJPYmplY3QiLCAicHJvdG90eXBlIiwgInRvU3RyaW5nIiwgImNhbGwiLCAic3BsaXQiLCAicG9wIiwgInNoaWZ0IiwgInRvTG93ZXJDYXNlIiwgInRvVXBwZXJDYXNlIiwgInRvQXJyYXkiLCAib2JqIiwgIkFycmF5IiwgInNldEludGVydmFsIiwgImFzc2lnbiIsICJ0YXJnZXQiLCAic291cmNlIiwgImtleSIsICJidWlsZEV4cHMiLCAiaXNJUkkiLCAiQUxQSEEkJCIsICJDUiQiLCAiRElHSVQkJCIsICJEUVVPVEUkJCIsICJIRVhESUckJCIsICJTUCQkIiwgIlBDVF9FTkNPREVEJCIsICJTVUJfREVMSU1TJCQiLCAiUkVTRVJWRUQkJCIsICJHRU5fREVMSU1TJCQiLCAiVUNTQ0hBUiQkIiwgIlNDSEVNRSQiLCAiVVNFUklORk8kIiwgIlVOUkVTRVJWRUQkJCIsICJERUNfT0NURVQkIiwgIkRFQ19PQ1RFVF9SRUxBWEVEJCIsICJIMTYkIiwgIkxTMzIkIiwgIklQVjRBRERSRVNTJCIsICJJUFY2QUREUkVTUzEkIiwgIklQVjZBRERSRVNTMiQiLCAiSVBWNkFERFJFU1MzJCIsICJJUFY2QUREUkVTUzQkIiwgIklQVjZBRERSRVNTNSQiLCAiSVBWNkFERFJFU1M2JCIsICJJUFY2QUREUkVTUzckIiwgIklQVjZBRERSRVNTOCQiLCAiSVBWNkFERFJFU1M5JCIsICJaT05FSUQkIiwgIklQVjZBRERSRVNTJCIsICJJUF9MSVRFUkFMJCIsICJJUFY2QUREUlpfUkVMQVhFRCQiLCAiSVBWRlVUVVJFJCIsICJIT1NUJCIsICJSRUdfTkFNRSQiLCAiUE9SVCQiLCAiQVVUSE9SSVRZJCIsICJQQ0hBUiQiLCAiU0VHTUVOVCQiLCAiU0VHTUVOVF9OWiQiLCAiU0VHTUVOVF9OWl9OQyQiLCAiUEFUSF9BQkVNUFRZJCIsICJQQVRIX0FCU09MVVRFJCIsICJQQVRIJCIsICJQQVRIX05PU0NIRU1FJCIsICJQQVRIX1JPT1RMRVNTJCIsICJQQVRIX0VNUFRZJCIsICJRVUVSWSQiLCAiSVBSSVZBVEUkJCIsICJGUkFHTUVOVCQiLCAiSElFUl9QQVJUJCIsICJVUkkkIiwgIlJFTEFUSVZFX1BBUlQkIiwgIlJFTEFUSVZFJCIsICJVUklfUkVGRVJFTkNFJCIsICJBQlNPTFVURV9VUkkkIiwgIkdFTkVSSUNfUkVGJCIsICJSRUxBVElWRV9SRUYkIiwgIkFCU09MVVRFX1JFRiQiLCAiU0FNRURPQ19SRUYkIiwgIkFVVEhPUklUWV9SRUYkIiwgIlJlZ0V4cCIsICJtYXhJbnQiLCAiYmFzZSIsICJ0TWluIiwgInRNYXgiLCAic2tldyIsICJkYW1wIiwgImluaXRpYWxCaWFzIiwgImluaXRpYWxOIiwgImRlbGltaXRlciIsICJyZWdleFB1bnljb2RlIiwgInJlZ2V4Tm9uQVNDSUkiLCAicmVnZXhTZXBhcmF0b3JzIiwgImVycm9ycyIsICJiYXNlTWludXNUTWluIiwgImZsb29yIiwgIk1hdGgiLCAic3RyaW5nRnJvbUNoYXJDb2RlIiwgIlN0cmluZyIsICJmcm9tQ2hhckNvZGUiLCAiZXJyb3IiLCAidHlwZSIsICJSYW5nZUVycm9yIiwgIm1hcCIsICJhcnJheSIsICJmbiIsICJyZXN1bHQiLCAibWFwRG9tYWluIiwgInN0cmluZyIsICJwYXJ0cyIsICJyZXBsYWNlIiwgImxhYmVscyIsICJlbmNvZGVkIiwgInVjczJkZWNvZGUiLCAib3V0cHV0IiwgImNvdW50ZXIiLCAidmFsdWUiLCAiY2hhckNvZGVBdCIsICJleHRyYSIsICJwdXNoIiwgInVjczJlbmNvZGUiLCAiZnJvbUNvZGVQb2ludCIsICJiYXNpY1RvRGlnaXQiLCAiY29kZVBvaW50IiwgImRpZ2l0VG9CYXNpYyIsICJkaWdpdCIsICJmbGFnIiwgImFkYXB0IiwgImRlbHRhIiwgIm51bVBvaW50cyIsICJmaXJzdFRpbWUiLCAiayIsICJkZWNvZGUiLCAiaW5wdXQiLCAiaW5wdXRMZW5ndGgiLCAiaSIsICJuIiwgImJpYXMiLCAiYmFzaWMiLCAibGFzdEluZGV4T2YiLCAiaiIsICJpbmRleCIsICJvbGRpIiwgInciLCAidCIsICJiYXNlTWludXNUIiwgIm91dCIsICJzcGxpY2UiLCAiZW5jb2RlIiwgImN1cnJlbnRWYWx1ZSIsICJiYXNpY0xlbmd0aCIsICJoYW5kbGVkQ1BDb3VudCIsICJtIiwgImhhbmRsZWRDUENvdW50UGx1c09uZSIsICJxIiwgInFNaW51c1QiLCAidG9Vbmljb2RlIiwgInRlc3QiLCAidG9BU0NJSSIsICJwdW55Y29kZSIsICJTQ0hFTUVTIiwgInBjdEVuY0NoYXIiLCAiY2hyIiwgImMiLCAiZSIsICJwY3REZWNDaGFycyIsICJuZXdTdHIiLCAiaWwiLCAicGFyc2VJbnQiLCAic3Vic3RyIiwgImMyIiwgImMzIiwgIl9ub3JtYWxpemVDb21wb25lbnRFbmNvZGluZyIsICJjb21wb25lbnRzIiwgInByb3RvY29sIiwgImRlY29kZVVucmVzZXJ2ZWQiLCAiZGVjU3RyIiwgIm1hdGNoIiwgIlVOUkVTRVJWRUQiLCAic2NoZW1lIiwgIlBDVF9FTkNPREVEIiwgIk5PVF9TQ0hFTUUiLCAidXNlcmluZm8iLCAiTk9UX1VTRVJJTkZPIiwgImhvc3QiLCAiTk9UX0hPU1QiLCAicGF0aCIsICJOT1RfUEFUSCIsICJOT1RfUEFUSF9OT1NDSEVNRSIsICJxdWVyeSIsICJOT1RfUVVFUlkiLCAiZnJhZ21lbnQiLCAiTk9UX0ZSQUdNRU5UIiwgIl9zdHJpcExlYWRpbmdaZXJvcyIsICJfbm9ybWFsaXplSVB2NCIsICJtYXRjaGVzIiwgIklQVjRBRERSRVNTIiwgImFkZHJlc3MiLCAiX25vcm1hbGl6ZUlQdjYiLCAiSVBWNkFERFJFU1MiLCAiem9uZSIsICJyZXZlcnNlIiwgImxhc3QiLCAiZmlyc3QiLCAiZmlyc3RGaWVsZHMiLCAibGFzdEZpZWxkcyIsICJpc0xhc3RGaWVsZElQdjRBZGRyZXNzIiwgImZpZWxkQ291bnQiLCAibGFzdEZpZWxkc1N0YXJ0IiwgImZpZWxkcyIsICJhbGxaZXJvRmllbGRzIiwgInJlZHVjZSIsICJhY2MiLCAiZmllbGQiLCAibGFzdExvbmdlc3QiLCAibG9uZ2VzdFplcm9GaWVsZHMiLCAic29ydCIsICJhIiwgImIiLCAibmV3SG9zdCIsICJuZXdGaXJzdCIsICJuZXdMYXN0IiwgIlVSSV9QQVJTRSIsICJOT19NQVRDSF9JU19VTkRFRklORUQiLCAicGFyc2UiLCAidXJpU3RyaW5nIiwgIm9wdGlvbnMiLCAiaXJpIiwgIklSSV9QUk9UT0NPTCIsICJVUklfUFJPVE9DT0wiLCAicmVmZXJlbmNlIiwgInBvcnQiLCAiaXNOYU4iLCAiaW5kZXhPZiIsICJzY2hlbWVIYW5kbGVyIiwgInVuaWNvZGVTdXBwb3J0IiwgImRvbWFpbkhvc3QiLCAiX3JlY29tcG9zZUF1dGhvcml0eSIsICJ1cmlUb2tlbnMiLCAiXyIsICIkMSIsICIkMiIsICJSRFMxIiwgIlJEUzIiLCAiUkRTMyIsICJSRFM1IiwgInJlbW92ZURvdFNlZ21lbnRzIiwgImltIiwgInMiLCAiRXJyb3IiLCAic2VyaWFsaXplIiwgImF1dGhvcml0eSIsICJjaGFyQXQiLCAiYWJzb2x1dGVQYXRoIiwgInJlc29sdmVDb21wb25lbnRzIiwgInJlbGF0aXZlIiwgInNraXBOb3JtYWxpemF0aW9uIiwgInRvbGVyYW50IiwgInJlc29sdmUiLCAiYmFzZVVSSSIsICJyZWxhdGl2ZVVSSSIsICJzY2hlbWVsZXNzT3B0aW9ucyIsICJub3JtYWxpemUiLCAidXJpIiwgImVxdWFsIiwgInVyaUEiLCAidXJpQiIsICJlc2NhcGVDb21wb25lbnQiLCAiRVNDQVBFIiwgInVuZXNjYXBlQ29tcG9uZW50IiwgImhhbmRsZXIiLCAic2VjdXJlIiwgImh0dHAiLCAiaXNTZWN1cmUiLCAid3NDb21wb25lbnRzIiwgInJlc291cmNlTmFtZSIsICJ3cyIsICJPIiwgIkFURVhUJCQiLCAiUVRFWFQkJCIsICJWQ0hBUiQkIiwgIlNPTUVfREVMSU1TJCQiLCAiTk9UX0xPQ0FMX1BBUlQiLCAiTk9UX0hGTkFNRSIsICJOT1RfSEZWQUxVRSIsICJtYWlsdG9Db21wb25lbnRzIiwgInRvIiwgInVua25vd25IZWFkZXJzIiwgImhlYWRlcnMiLCAiaGZpZWxkcyIsICJoZmllbGQiLCAidG9BZGRycyIsICJzdWJqZWN0IiwgImJvZHkiLCAiYWRkciIsICJ0b0FkZHIiLCAiYXRJZHgiLCAibG9jYWxQYXJ0IiwgImRvbWFpbiIsICJuYW1lIiwgIlVSTl9QQVJTRSIsICJ1cm5Db21wb25lbnRzIiwgIm5pZCIsICJuc3MiLCAidXJuU2NoZW1lIiwgInVyaUNvbXBvbmVudHMiLCAiVVVJRCIsICJ1dWlkQ29tcG9uZW50cyIsICJ1dWlkIiwgImh0dHBzIiwgIndzcyIsICJtYWlsdG8iLCAidXJuIiwgImV4cG9ydHMiLCAibW9kdWxlIiwgImV4cG9ydHMiLCAibW9kdWxlIiwgImV4cG9ydHMiLCAibW9kdWxlIiwgIk9LIiwgImV4cG9ydHMiLCAibW9kdWxlIiwgInV0aWwiLCAiZXhwb3J0cyIsICJtb2R1bGUiLCAiZXhwb3J0cyIsICJtb2R1bGUiLCAidXRpbCIsICJzZWxmIiwgImV4cG9ydHMiLCAibW9kdWxlIiwgImV4cG9ydHMiLCAibW9kdWxlIiwgImV4cG9ydHMiLCAibW9kdWxlIiwgIiRydWxlc0dyb3VwIiwgIiRydWxlIiwgImV4cG9ydHMiLCAibW9kdWxlIiwgInV0aWwiLCAic2VsZiIsICJsb2NhbFJlZnMiLCAiYmFzZUlkIiwgInYiLCAicmVmVmFsIiwgInNjaGVtYSIsICJjb21waWxlIiwgImV4cG9ydHMiLCAibW9kdWxlIiwgIkNhY2hlIiwgImV4cG9ydHMiLCAibW9kdWxlIiwgInV0aWwiLCAiVVJMIiwgImV4cG9ydHMiLCAibW9kdWxlIiwgImV4cG9ydHMiLCAibW9kdWxlIiwgImV4cG9ydHMiLCAibW9kdWxlIiwgIiRzY2giLCAiZXhwb3J0cyIsICJtb2R1bGUiLCAiZXhwb3J0cyIsICJtb2R1bGUiLCAiZXhwb3J0cyIsICJtb2R1bGUiLCAiZXhwb3J0cyIsICJtb2R1bGUiLCAiZXhwb3J0cyIsICJtb2R1bGUiLCAiZXhwb3J0cyIsICJtb2R1bGUiLCAiZXhwb3J0cyIsICJtb2R1bGUiLCAiZXhwb3J0cyIsICJtb2R1bGUiLCAiZXhwb3J0cyIsICJtb2R1bGUiLCAiZXhwb3J0cyIsICJtb2R1bGUiLCAiZXhwb3J0cyIsICJtb2R1bGUiLCAiZXhwb3J0cyIsICJtb2R1bGUiLCAiZXhwb3J0cyIsICJtb2R1bGUiLCAiZXhwb3J0cyIsICJtb2R1bGUiLCAiZXhwb3J0cyIsICJtb2R1bGUiLCAiZXhwb3J0cyIsICJtb2R1bGUiLCAiZXhwb3J0cyIsICJtb2R1bGUiLCAiZXhwb3J0cyIsICJtb2R1bGUiLCAiZXhwb3J0cyIsICJtb2R1bGUiLCAiZXhwb3J0cyIsICJtb2R1bGUiLCAiZXhwb3J0cyIsICJtb2R1bGUiLCAiZXhwb3J0cyIsICJtb2R1bGUiLCAiZXhwb3J0cyIsICJtb2R1bGUiLCAiZXhwb3J0cyIsICJtb2R1bGUiLCAic2VsZiIsICJyZWYiLCAiZXhwb3J0cyIsICJtb2R1bGUiLCAiZXhwb3J0cyIsICJtb2R1bGUiLCAiZXhwb3J0cyIsICJtb2R1bGUiLCAiZXhwb3J0cyIsICJtb2R1bGUiLCAia2V5d29yZCIsICJkYXRhVHlwZSIsICJkZWZpbml0aW9uIiwgImkiLCAicmVxdWlyZV9kYXRhIiwgImV4cG9ydHMiLCAibW9kdWxlIiwgImV4cG9ydHMiLCAibW9kdWxlIiwgInV0aWwiLCAiQWp2IiwgImFkZEZvcm1hdCIsICJzZWxmIiwgImluaXRfdHlwZXMiLCAiX2EiLCAiQWp2IiwgImlzVmFsaWQiLCAiZW1vamlSZWdleCIsICJ0eXBlcyIsICJ4IiwgImJhc2UiLCAibmFtZSIsICJzY2hlbWEiLCAicHJvY2VzcyIsICJvcyIsICJ0dHkiLCAic3R5bGVzIiwgImNoYWxrIiwgInNlbGYiLCAiaW5pdF90eXBlcyIsICJsaW1pdGF0aW9ucyIsICJfX2NyZWF0ZSIsICJfX2RlZlByb3AiLCAiX19nZXRPd25Qcm9wRGVzYyIsICJfX2dldE93blByb3BOYW1lcyIsICJfX2dldFByb3RvT2YiLCAiX19oYXNPd25Qcm9wIiwgIl9fY29tbW9uSlMiLCAiX19jb3B5UHJvcHMiLCAiX190b0VTTSIsICJwcm90byIsICJ1dGlsMiIsICJiYXNlNjRSZWdleDIiLCAiZW52IiwgImNvZXJjZTIiLCAib3MiLCAidHR5IiwgImhhc0ZsYWciLCAidHJhbnNsYXRlTGV2ZWwiLCAic3VwcG9ydHNDb2xvciIsICJyZXF1aXJlX3JlZiIsICJyZXF1aXJlX2Zvcm1hdHMiLCAic2V0VGltZW91dCIsICJjbGVhclRpbWVvdXQiLCAid3JhcEFuc2kxNiIsICJ3cmFwQW5zaTI1NiIsICJ3cmFwQW5zaTE2bSIsICJzdHlsZXMiLCAiYXNzZW1ibGVTdHlsZXMiLCAicmVxdWlyZV91dGlsIiwgInN0cmluZ1JlcGxhY2VBbGwiLCAic3RyaW5nRW5jYXNlQ1JMRldpdGhGaXJzdEluZGV4IiwgInN0eWxlczIiLCAiYW5zaVN0eWxlcyIsICJzdGRvdXRDb2xvciIsICJzdGRlcnJDb2xvciIsICJsZXZlbE1hcHBpbmciLCAiYXBwbHlPcHRpb25zIiwgImNoYWxrRmFjdG9yeSIsICJjcmVhdGVCdWlsZGVyIiwgImNyZWF0ZVN0eWxlciIsICJ1c2VkTW9kZWxzIiwgImFwcGx5U3R5bGUiLCAidXRpbCIsICJvYmplY3RVdGlsIiwgIm9iamVjdFV0aWwyIiwgIlpvZFBhcnNlZFR5cGUiLCAiZ2V0UGFyc2VkVHlwZSIsICJab2RJc3N1ZUNvZGUiLCAicXVvdGVsZXNzSnNvbiIsICJab2RFcnJvciIsICJlcnJvck1hcCIsICJvdmVycmlkZUVycm9yTWFwIiwgInNldEVycm9yTWFwIiwgImdldEVycm9yTWFwIiwgIm1ha2VJc3N1ZSIsICJFTVBUWV9QQVRIIiwgImFkZElzc3VlVG9Db250ZXh0IiwgIlBhcnNlU3RhdHVzIiwgIklOVkFMSUQiLCAiRElSVFkiLCAiT0siLCAiaXNBYm9ydGVkIiwgImlzRGlydHkiLCAiaXNWYWxpZCIsICJpc0FzeW5jIiwgImVycm9yVXRpbCIsICJlcnJvclV0aWwyIiwgIlBhcnNlSW5wdXRMYXp5UGF0aCIsICJoYW5kbGVSZXN1bHQiLCAicHJvY2Vzc0NyZWF0ZVBhcmFtcyIsICJlcnJvck1hcDIiLCAiWm9kVHlwZSIsICJab2RFZmZlY3RzIiwgIlpvZEZpcnN0UGFydHlUeXBlS2luZCIsICJab2RPcHRpb25hbCIsICJab2ROdWxsYWJsZSIsICJab2RBcnJheSIsICJab2RQcm9taXNlIiwgIlpvZFVuaW9uIiwgIlpvZEludGVyc2VjdGlvbiIsICJab2REZWZhdWx0IiwgIlpvZEJyYW5kZWQiLCAiWm9kQ2F0Y2giLCAiWm9kUGlwZWxpbmUiLCAiWm9kUmVhZG9ubHkiLCAiY3VpZFJlZ2V4IiwgImN1aWQyUmVnZXgiLCAidWxpZFJlZ2V4IiwgInV1aWRSZWdleCIsICJuYW5vaWRSZWdleCIsICJqd3RSZWdleCIsICJkdXJhdGlvblJlZ2V4IiwgImVtYWlsUmVnZXgiLCAiX2Vtb2ppUmVnZXgiLCAiZW1vamlSZWdleCIsICJpcHY0UmVnZXgiLCAiaXB2NENpZHJSZWdleCIsICJpcHY2UmVnZXgiLCAiaXB2NkNpZHJSZWdleCIsICJiYXNlNjRSZWdleCIsICJiYXNlNjR1cmxSZWdleCIsICJkYXRlUmVnZXhTb3VyY2UiLCAiZGF0ZVJlZ2V4IiwgInRpbWVSZWdleFNvdXJjZSIsICJ0aW1lUmVnZXgiLCAiZGF0ZXRpbWVSZWdleCIsICJpc1ZhbGlkSVAiLCAiaXNWYWxpZEpXVCIsICJpc1ZhbGlkQ2lkciIsICJab2RTdHJpbmciLCAiZmxvYXRTYWZlUmVtYWluZGVyIiwgIlpvZE51bWJlciIsICJab2RCaWdJbnQiLCAiWm9kQm9vbGVhbiIsICJab2REYXRlIiwgIlpvZFN5bWJvbCIsICJab2RVbmRlZmluZWQiLCAiWm9kTnVsbCIsICJab2RBbnkiLCAiWm9kVW5rbm93biIsICJab2ROZXZlciIsICJab2RWb2lkIiwgImRlZXBQYXJ0aWFsaWZ5IiwgIlpvZE9iamVjdCIsICJab2RUdXBsZSIsICJjcmVhdGVab2RFbnVtIiwgImdldERpc2NyaW1pbmF0b3IiLCAiWm9kTGF6eSIsICJab2RMaXRlcmFsIiwgIlpvZEVudW0iLCAiWm9kTmF0aXZlRW51bSIsICJab2REaXNjcmltaW5hdGVkVW5pb24iLCAibWVyZ2VWYWx1ZXMiLCAiWm9kUmVjb3JkIiwgIlpvZE1hcCIsICJab2RTZXQiLCAiWm9kRnVuY3Rpb24iLCAiWm9kTmFOIiwgIkJSQU5EIiwgImNsZWFuUGFyYW1zIiwgImN1c3RvbSIsICJsYXRlIiwgIlpvZEZpcnN0UGFydHlUeXBlS2luZDIiLCAiaW5zdGFuY2VPZlR5cGUiLCAic3RyaW5nVHlwZSIsICJudW1iZXJUeXBlIiwgIm5hblR5cGUiLCAiYmlnSW50VHlwZSIsICJib29sZWFuVHlwZSIsICJkYXRlVHlwZSIsICJzeW1ib2xUeXBlIiwgInVuZGVmaW5lZFR5cGUiLCAibnVsbFR5cGUiLCAiYW55VHlwZSIsICJ1bmtub3duVHlwZSIsICJuZXZlclR5cGUiLCAidm9pZFR5cGUiLCAiYXJyYXlUeXBlIiwgIm9iamVjdFR5cGUiLCAic3RyaWN0T2JqZWN0VHlwZSIsICJ1bmlvblR5cGUiLCAiZGlzY3JpbWluYXRlZFVuaW9uVHlwZSIsICJpbnRlcnNlY3Rpb25UeXBlIiwgInR1cGxlVHlwZSIsICJyZWNvcmRUeXBlIiwgIm1hcFR5cGUiLCAic2V0VHlwZSIsICJmdW5jdGlvblR5cGUiLCAibGF6eVR5cGUiLCAibGl0ZXJhbFR5cGUiLCAiZW51bVR5cGUiLCAibmF0aXZlRW51bVR5cGUiLCAicHJvbWlzZVR5cGUiLCAiZWZmZWN0c1R5cGUiLCAib3B0aW9uYWxUeXBlIiwgIm51bGxhYmxlVHlwZSIsICJwcmVwcm9jZXNzVHlwZSIsICJwaXBlbGluZVR5cGUiLCAib3N0cmluZyIsICJvbnVtYmVyIiwgIm9ib29sZWFuIiwgImNvZXJjZSIsICJORVZFUiIsICJMQVRFU1RfUFJPVE9DT0xfVkVSU0lPTiIsICJTVVBQT1JURURfUFJPVE9DT0xfVkVSU0lPTlMiLCAiSlNPTlJQQ19WRVJTSU9OIiwgIlByb2dyZXNzVG9rZW5TY2hlbWEiLCAiQ3Vyc29yU2NoZW1hIiwgIlJlcXVlc3RNZXRhU2NoZW1hIiwgIkJhc2VSZXF1ZXN0UGFyYW1zU2NoZW1hIiwgIlJlcXVlc3RTY2hlbWEiLCAiQmFzZU5vdGlmaWNhdGlvblBhcmFtc1NjaGVtYSIsICJOb3RpZmljYXRpb25TY2hlbWEiLCAiUmVzdWx0U2NoZW1hIiwgIlJlcXVlc3RJZFNjaGVtYSIsICJKU09OUlBDUmVxdWVzdFNjaGVtYSIsICJpc0pTT05SUENSZXF1ZXN0IiwgIkpTT05SUENOb3RpZmljYXRpb25TY2hlbWEiLCAiSlNPTlJQQ1Jlc3BvbnNlU2NoZW1hIiwgImlzSlNPTlJQQ1Jlc3BvbnNlIiwgIkVycm9yQ29kZSIsICJFcnJvckNvZGUyIiwgIkpTT05SUENFcnJvclNjaGVtYSIsICJpc0pTT05SUENFcnJvciIsICJKU09OUlBDTWVzc2FnZVNjaGVtYSIsICJFbXB0eVJlc3VsdFNjaGVtYSIsICJDYW5jZWxsZWROb3RpZmljYXRpb25TY2hlbWEiLCAiQmFzZU1ldGFkYXRhU2NoZW1hIiwgIkltcGxlbWVudGF0aW9uU2NoZW1hIiwgIkNsaWVudENhcGFiaWxpdGllc1NjaGVtYSIsICJJbml0aWFsaXplUmVxdWVzdFNjaGVtYSIsICJTZXJ2ZXJDYXBhYmlsaXRpZXNTY2hlbWEiLCAiSW5pdGlhbGl6ZVJlc3VsdFNjaGVtYSIsICJJbml0aWFsaXplZE5vdGlmaWNhdGlvblNjaGVtYSIsICJQaW5nUmVxdWVzdFNjaGVtYSIsICJQcm9ncmVzc1NjaGVtYSIsICJQcm9ncmVzc05vdGlmaWNhdGlvblNjaGVtYSIsICJQYWdpbmF0ZWRSZXF1ZXN0U2NoZW1hIiwgIlBhZ2luYXRlZFJlc3VsdFNjaGVtYSIsICJSZXNvdXJjZUNvbnRlbnRzU2NoZW1hIiwgIlRleHRSZXNvdXJjZUNvbnRlbnRzU2NoZW1hIiwgIkJhc2U2NFNjaGVtYSIsICJCbG9iUmVzb3VyY2VDb250ZW50c1NjaGVtYSIsICJSZXNvdXJjZVNjaGVtYSIsICJSZXNvdXJjZVRlbXBsYXRlU2NoZW1hIiwgIkxpc3RSZXNvdXJjZXNSZXF1ZXN0U2NoZW1hIiwgIkxpc3RSZXNvdXJjZXNSZXN1bHRTY2hlbWEiLCAiTGlzdFJlc291cmNlVGVtcGxhdGVzUmVxdWVzdFNjaGVtYSIsICJMaXN0UmVzb3VyY2VUZW1wbGF0ZXNSZXN1bHRTY2hlbWEiLCAiUmVhZFJlc291cmNlUmVxdWVzdFNjaGVtYSIsICJSZWFkUmVzb3VyY2VSZXN1bHRTY2hlbWEiLCAiUmVzb3VyY2VMaXN0Q2hhbmdlZE5vdGlmaWNhdGlvblNjaGVtYSIsICJTdWJzY3JpYmVSZXF1ZXN0U2NoZW1hIiwgIlVuc3Vic2NyaWJlUmVxdWVzdFNjaGVtYSIsICJSZXNvdXJjZVVwZGF0ZWROb3RpZmljYXRpb25TY2hlbWEiLCAiUHJvbXB0QXJndW1lbnRTY2hlbWEiLCAiUHJvbXB0U2NoZW1hIiwgIkxpc3RQcm9tcHRzUmVxdWVzdFNjaGVtYSIsICJMaXN0UHJvbXB0c1Jlc3VsdFNjaGVtYSIsICJHZXRQcm9tcHRSZXF1ZXN0U2NoZW1hIiwgIlRleHRDb250ZW50U2NoZW1hIiwgIkltYWdlQ29udGVudFNjaGVtYSIsICJBdWRpb0NvbnRlbnRTY2hlbWEiLCAiRW1iZWRkZWRSZXNvdXJjZVNjaGVtYSIsICJSZXNvdXJjZUxpbmtTY2hlbWEiLCAiQ29udGVudEJsb2NrU2NoZW1hIiwgIlByb21wdE1lc3NhZ2VTY2hlbWEiLCAiR2V0UHJvbXB0UmVzdWx0U2NoZW1hIiwgIlByb21wdExpc3RDaGFuZ2VkTm90aWZpY2F0aW9uU2NoZW1hIiwgIlRvb2xBbm5vdGF0aW9uc1NjaGVtYSIsICJUb29sU2NoZW1hIiwgIkxpc3RUb29sc1JlcXVlc3RTY2hlbWEiLCAiTGlzdFRvb2xzUmVzdWx0U2NoZW1hIiwgIkNhbGxUb29sUmVzdWx0U2NoZW1hIiwgIkNvbXBhdGliaWxpdHlDYWxsVG9vbFJlc3VsdFNjaGVtYSIsICJDYWxsVG9vbFJlcXVlc3RTY2hlbWEiLCAiVG9vbExpc3RDaGFuZ2VkTm90aWZpY2F0aW9uU2NoZW1hIiwgIkxvZ2dpbmdMZXZlbFNjaGVtYSIsICJTZXRMZXZlbFJlcXVlc3RTY2hlbWEiLCAiTG9nZ2luZ01lc3NhZ2VOb3RpZmljYXRpb25TY2hlbWEiLCAiTW9kZWxIaW50U2NoZW1hIiwgIk1vZGVsUHJlZmVyZW5jZXNTY2hlbWEiLCAiU2FtcGxpbmdNZXNzYWdlU2NoZW1hIiwgIkNyZWF0ZU1lc3NhZ2VSZXF1ZXN0U2NoZW1hIiwgIkNyZWF0ZU1lc3NhZ2VSZXN1bHRTY2hlbWEiLCAiQm9vbGVhblNjaGVtYVNjaGVtYSIsICJTdHJpbmdTY2hlbWFTY2hlbWEiLCAiTnVtYmVyU2NoZW1hU2NoZW1hIiwgIkVudW1TY2hlbWFTY2hlbWEiLCAiUHJpbWl0aXZlU2NoZW1hRGVmaW5pdGlvblNjaGVtYSIsICJFbGljaXRSZXF1ZXN0U2NoZW1hIiwgIkVsaWNpdFJlc3VsdFNjaGVtYSIsICJSZXNvdXJjZVRlbXBsYXRlUmVmZXJlbmNlU2NoZW1hIiwgIlByb21wdFJlZmVyZW5jZVNjaGVtYSIsICJDb21wbGV0ZVJlcXVlc3RTY2hlbWEiLCAiQ29tcGxldGVSZXN1bHRTY2hlbWEiLCAiUm9vdFNjaGVtYSIsICJMaXN0Um9vdHNSZXF1ZXN0U2NoZW1hIiwgIkxpc3RSb290c1Jlc3VsdFNjaGVtYSIsICJSb290c0xpc3RDaGFuZ2VkTm90aWZpY2F0aW9uU2NoZW1hIiwgIkNsaWVudFJlcXVlc3RTY2hlbWEiLCAiQ2xpZW50Tm90aWZpY2F0aW9uU2NoZW1hIiwgIkNsaWVudFJlc3VsdFNjaGVtYSIsICJTZXJ2ZXJSZXF1ZXN0U2NoZW1hIiwgIlNlcnZlck5vdGlmaWNhdGlvblNjaGVtYSIsICJTZXJ2ZXJSZXN1bHRTY2hlbWEiLCAiaWdub3JlT3ZlcnJpZGUiLCAiZGVmYXVsdE9wdGlvbnMiLCAiZ2V0RGVmYXVsdE9wdGlvbnMiLCAiZ2V0UmVmcyIsICJhZGRFcnJvck1lc3NhZ2UiLCAic2V0UmVzcG9uc2VWYWx1ZUFuZEVycm9ycyIsICJwYXJzZUFueURlZiIsICJwYXJzZUFycmF5RGVmIiwgInBhcnNlRGVmIiwgInBhcnNlQmlnaW50RGVmIiwgInBhcnNlQm9vbGVhbkRlZiIsICJwYXJzZUJyYW5kZWREZWYiLCAicGFyc2VDYXRjaERlZiIsICJwYXJzZURhdGVEZWYiLCAiaW50ZWdlckRhdGVQYXJzZXIiLCAicGFyc2VEZWZhdWx0RGVmIiwgInBhcnNlRWZmZWN0c0RlZiIsICJwYXJzZUVudW1EZWYiLCAiaXNKc29uU2NoZW1hN0FsbE9mVHlwZSIsICJwYXJzZUludGVyc2VjdGlvbkRlZiIsICJwYXJzZUxpdGVyYWxEZWYiLCAiZW1vamlSZWdleDIiLCAiem9kUGF0dGVybnMiLCAicGFyc2VTdHJpbmdEZWYiLCAiYWRkRm9ybWF0IiwgImFkZFBhdHRlcm4iLCAiZXNjYXBlTGl0ZXJhbENoZWNrVmFsdWUiLCAiZXNjYXBlTm9uQWxwaGFOdW1lcmljIiwgIkFMUEhBX05VTUVSSUMiLCAic3RyaW5naWZ5UmVnRXhwV2l0aEZsYWdzIiwgInBhcnNlUmVjb3JkRGVmIiwgInBhcnNlTWFwRGVmIiwgInBhcnNlTmF0aXZlRW51bURlZiIsICJwYXJzZU5ldmVyRGVmIiwgInBhcnNlTnVsbERlZiIsICJwcmltaXRpdmVNYXBwaW5ncyIsICJwYXJzZVVuaW9uRGVmIiwgImFzQW55T2YiLCAicGFyc2VOdWxsYWJsZURlZiIsICJwYXJzZU51bWJlckRlZiIsICJkZWNpZGVBZGRpdGlvbmFsUHJvcGVydGllcyIsICJwYXJzZU9iamVjdERlZiIsICJwYXJzZU9wdGlvbmFsRGVmIiwgInBhcnNlUGlwZWxpbmVEZWYiLCAicGFyc2VQcm9taXNlRGVmIiwgInBhcnNlU2V0RGVmIiwgInBhcnNlVHVwbGVEZWYiLCAicGFyc2VVbmRlZmluZWREZWYiLCAicGFyc2VVbmtub3duRGVmIiwgInBhcnNlUmVhZG9ubHlEZWYiLCAic2VsZWN0UGFyc2VyIiwgImdldCRyZWYiLCAiYWRkTWV0YSIsICJnZXRSZWxhdGl2ZVBhdGgiLCAiem9kVG9Kc29uU2NoZW1hIiwgImNvbmZpZ1NjaGVtYSIsICJpbXBvcnRfY2hhbGsiXQp9Cg== diff --git a/src/analogical-reasoning/dist/index.d.ts b/src/analogical-reasoning/dist/index.d.ts index b798801..b419838 100644 --- a/src/analogical-reasoning/dist/index.d.ts +++ b/src/analogical-reasoning/dist/index.d.ts @@ -1,2 +1,28 @@ #!/usr/bin/env node -export {}; +import { z } from "zod"; +export declare const configSchema: z.ZodObject<{}, "strip", z.ZodTypeAny, {}, {}>; +export default function createServer({ config, }: { + config: z.infer; +}): import("@modelcontextprotocol/sdk/server").Server<{ + method: string; + params?: { + [x: string]: unknown; + _meta?: { + [x: string]: unknown; + progressToken?: string | number | undefined; + } | undefined; + } | undefined; +}, { + method: string; + params?: { + [x: string]: unknown; + _meta?: { + [x: string]: unknown; + } | undefined; + } | undefined; +}, { + [x: string]: unknown; + _meta?: { + [x: string]: unknown; + } | undefined; +}>; diff --git a/src/analogical-reasoning/dist/index.js b/src/analogical-reasoning/dist/index.js index 544ed27..3b42e29 100755 --- a/src/analogical-reasoning/dist/index.js +++ b/src/analogical-reasoning/dist/index.js @@ -1,8 +1,10 @@ #!/usr/bin/env node -import { Server } from "@modelcontextprotocol/sdk/server/index.js"; +import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js"; import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio.js"; -import { CallToolRequestSchema, ListToolsRequestSchema } from "@modelcontextprotocol/sdk/types.js"; +import { z } from "zod"; import chalk from 'chalk'; +// Define session configuration schema (optional - this server doesn't need config) +export const configSchema = z.object({}); // Type guard for DomainElement type const allowedElementTypes = ["entity", "attribute", "relation", "process"]; function isValidElementType(type) { @@ -368,247 +370,91 @@ class AnalogicalReasoningServer { } } } -const ANALOGICAL_REASONING_TOOL = { - name: "analogicalReasoning", - description: `A detailed tool for analogical thinking between source and target domains. +// Tool input schema using Zod +const analogicalReasoningInputSchema = z.object({ + sourceDomain: z.object({ + name: z.string().describe("Name of the source domain"), + elements: z.array(z.object({ + id: z.string().optional(), + name: z.string(), + type: z.enum(["entity", "attribute", "relation", "process"]), + description: z.string() + })) + }), + targetDomain: z.object({ + name: z.string().describe("Name of the target domain"), + elements: z.array(z.object({ + id: z.string().optional(), + name: z.string(), + type: z.enum(["entity", "attribute", "relation", "process"]), + description: z.string() + })) + }), + mappings: z.array(z.object({ + sourceElement: z.string(), + targetElement: z.string(), + mappingStrength: z.number().min(0).max(1), + justification: z.string(), + limitations: z.array(z.string()).optional() + })), + analogyId: z.string(), + purpose: z.enum(["explanation", "prediction", "problem-solving", "creative-generation"]), + confidence: z.number().min(0).max(1), + iteration: z.number().int().min(0), + strengths: z.array(z.string()), + limitations: z.array(z.string()), + inferences: z.array(z.object({ + statement: z.string(), + confidence: z.number().min(0).max(1), + basedOnMappings: z.array(z.string()) + })), + nextOperationNeeded: z.boolean(), + suggestedOperations: z.array(z.enum(["add-mapping", "revise-mapping", "draw-inference", "evaluate-limitation", "try-new-source"])).optional() +}); +// Export createServer function for Smithery CLI +export default function createServer({ config, }) { + const server = new McpServer({ + name: "analogical-reasoning-server", + version: "0.1.3", + }); + const analogicalReasoningServer = new AnalogicalReasoningServer(); + // Register the analogical reasoning tool + server.registerTool("analogicalReasoning", { + title: "Analogical Reasoning", + description: `A detailed tool for analogical thinking between source and target domains. This tool helps models structure analogies systematically to improve understanding and reasoning. It facilitates explicit mapping between domains, inference generation, and analogy evaluation. -When to use this tool: -- Understanding new concepts through analogies to familiar domains -- Problem-solving by transferring insights between domains -- Creative thinking by establishing connections between different fields -- Explaining complex concepts through structured comparisons -- Evaluating analogies for their strengths and limitations - -Key features: -- Explicit domain structure representation -- Systematic mapping between domains -- Inference generation and evaluation -- Visual representation of analogical mappings -- Tracking of analogy strengths and limitations`, - inputSchema: { - type: "object", - properties: { - sourceDomain: { - type: "object", - description: "The familiar domain used as the basis for the analogy", - properties: { - name: { - type: "string", - description: "The name of the source domain" - }, - elements: { - type: "array", - description: "Elements in the source domain", - items: { - type: "object", - properties: { - id: { - type: "string", - description: "Unique identifier for the element" - }, - name: { - type: "string", - description: "Name of the element" - }, - type: { - type: "string", - enum: ["entity", "attribute", "relation", "process"], - description: "Type of element" - }, - description: { - type: "string", - description: "Description of the element" - } - }, - required: ["name", "type", "description"] - } - } - }, - required: ["name", "elements"] - }, - targetDomain: { - type: "object", - description: "The domain being understood through the analogy", - properties: { - name: { - type: "string", - description: "The name of the target domain" - }, - elements: { - type: "array", - description: "Elements in the target domain", - items: { - type: "object", - properties: { - id: { - type: "string", - description: "Unique identifier for the element" - }, - name: { - type: "string", - description: "Name of the element" - }, - type: { - type: "string", - enum: ["entity", "attribute", "relation", "process"], - description: "Type of element" - }, - description: { - type: "string", - description: "Description of the element" - } - }, - required: ["name", "type", "description"] - } - } - }, - required: ["name", "elements"] - }, - mappings: { - type: "array", - description: "Mappings between source and target domain elements", - items: { - type: "object", - properties: { - sourceElement: { - type: "string", - description: "ID of the source domain element" - }, - targetElement: { - type: "string", - description: "ID of the target domain element" - }, - mappingStrength: { - type: "number", - minimum: 0, - maximum: 1, - description: "Strength of the mapping (0.0-1.0)" - }, - justification: { - type: "string", - description: "Justification for the mapping" - }, - limitations: { - type: "array", - description: "Limitations of this specific mapping", - items: { - type: "string" - } - } - }, - required: ["sourceElement", "targetElement", "mappingStrength", "justification"] - } - }, - analogyId: { - type: "string", - description: "Unique identifier for this analogy" - }, - purpose: { - type: "string", - enum: ["explanation", "prediction", "problem-solving", "creative-generation"], - description: "The purpose of the analogy" - }, - confidence: { - type: "number", - minimum: 0, - maximum: 1, - description: "Confidence in the overall analogy (0.0-1.0)" - }, - iteration: { - type: "number", - minimum: 0, - description: "Current iteration of the analogy" - }, - strengths: { - type: "array", - description: "Strengths of the analogy", - items: { - type: "string" - } - }, - limitations: { - type: "array", - description: "Limitations of the analogy", - items: { - type: "string" - } - }, - inferences: { - type: "array", - description: "Inferences drawn from the analogy", - items: { - type: "object", - properties: { - statement: { - type: "string", - description: "The inference statement" - }, - confidence: { - type: "number", - minimum: 0, - maximum: 1, - description: "Confidence in the inference (0.0-1.0)" - }, - basedOnMappings: { - type: "array", - description: "IDs of mappings supporting this inference", - items: { - type: "string" - } - } - }, - required: ["statement", "confidence", "basedOnMappings"] - } - }, - nextOperationNeeded: { - type: "boolean", - description: "Whether another operation is needed" - }, - suggestedOperations: { - type: "array", - description: "Suggested next operations", - items: { - type: "string", - enum: ["add-mapping", "revise-mapping", "draw-inference", "evaluate-limitation", "try-new-source"] - } - } +Use this tool to: +- Map concepts between familiar and unfamiliar domains +- Draw insights through structural alignment +- Generate predictions based on analogical transfer +- Solve problems by applying known solutions to new contexts`, + inputSchema: { + data: analogicalReasoningInputSchema }, - required: ["sourceDomain", "targetDomain", "analogyId", "purpose", "confidence", "iteration", "nextOperationNeeded"] - } -}; -const server = new Server({ - name: "analogical-reasoning-server", - version: "0.1.2", -}, { - capabilities: { - tools: {}, - }, -}); -const analogicalReasoningServer = new AnalogicalReasoningServer(); -server.setRequestHandler(ListToolsRequestSchema, async () => ({ - tools: [ANALOGICAL_REASONING_TOOL], -})); -server.setRequestHandler(CallToolRequestSchema, async (request) => { - if (request.params.name === "analogicalReasoning") { - return analogicalReasoningServer.processAnalogicalReasoning(request.params.arguments); - } - return { - content: [{ - type: "text", - text: `Unknown tool: ${request.params.name}` - }], - isError: true - }; -}); -async function runServer() { + }, async ({ data }) => { + // Validate and process the input + const result = await analogicalReasoningServer.processAnalogicalReasoning(data); + return result; + }); + return server.server; +} +// Maintain STDIO compatibility for backward compatibility +async function main() { + // Create server with empty configuration (no config needed for this server) + const server = createServer({ + config: {}, + }); const transport = new StdioServerTransport(); await server.connect(transport); - console.error("Analogical Reasoning MCP Server running on stdio"); + console.error("Analogical Reasoning MCP Server running in stdio mode"); +} +// Only run main if this file is executed directly (not imported) +if (import.meta.url === `file://${process.argv[1]}`) { + main().catch((error) => { + console.error("Fatal error running server:", error); + process.exit(1); + }); } -runServer().catch((error) => { - console.error("Fatal error running server:", error); - process.exit(1); -}); //# sourceMappingURL=index.js.map \ No newline at end of file diff --git a/src/analogical-reasoning/dist/index.js.map b/src/analogical-reasoning/dist/index.js.map index c46520e..dbcb247 100644 --- a/src/analogical-reasoning/dist/index.js.map +++ b/src/analogical-reasoning/dist/index.js.map @@ -1 +1 @@ -{"version":3,"file":"index.js","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":";AAEA,OAAO,EAAE,MAAM,EAAE,MAAM,2CAA2C,CAAC;AACnE,OAAO,EAAE,oBAAoB,EAAE,MAAM,2CAA2C,CAAC;AACjF,OAAO,EACL,qBAAqB,EACrB,sBAAsB,EAGvB,MAAM,oCAAoC,CAAC;AAC5C,OAAO,KAAK,MAAM,OAAO,CAAC;AAkD1B,oCAAoC;AACpC,MAAM,mBAAmB,GAAG,CAAC,QAAQ,EAAE,WAAW,EAAE,UAAU,EAAE,SAAS,CAAU,CAAC;AAGpF,SAAS,kBAAkB,CAAC,IAAa;IACvC,OAAO,OAAO,IAAI,KAAK,QAAQ,IAAI,mBAAmB,CAAC,QAAQ,CAAC,IAAyB,CAAC,CAAC;AAC7F,CAAC;AAED,MAAM,yBAAyB;IACrB,cAAc,GAA8C,EAAE,CAAC;IAC/D,cAAc,GAGjB,EAAE,CAAC;IACA,aAAa,GAAG,CAAC,CAAC;IAElB,+BAA+B,CAAC,KAAc;QACpD,MAAM,IAAI,GAAG,KAAgC,CAAC;QAE9C,2BAA2B;QAC3B,IAAI,CAAC,IAAI,CAAC,SAAS,IAAI,OAAO,IAAI,CAAC,SAAS,KAAK,QAAQ,EAAE,CAAC;YAC1D,MAAM,IAAI,KAAK,CAAC,qCAAqC,CAAC,CAAC;QACzD,CAAC;QAED,IAAI,CAAC,IAAI,CAAC,OAAO,IAAI,OAAO,IAAI,CAAC,OAAO,KAAK,QAAQ,EAAE,CAAC;YACtD,MAAM,IAAI,KAAK,CAAC,mCAAmC,CAAC,CAAC;QACvD,CAAC;QAED,IAAI,OAAO,IAAI,CAAC,UAAU,KAAK,QAAQ,IAAI,IAAI,CAAC,UAAU,GAAG,CAAC,IAAI,IAAI,CAAC,UAAU,GAAG,CAAC,EAAE,CAAC;YACtF,MAAM,IAAI,KAAK,CAAC,sDAAsD,CAAC,CAAC;QAC1E,CAAC;QAED,IAAI,OAAO,IAAI,CAAC,SAAS,KAAK,QAAQ,IAAI,IAAI,CAAC,SAAS,GAAG,CAAC,EAAE,CAAC;YAC7D,MAAM,IAAI,KAAK,CAAC,kDAAkD,CAAC,CAAC;QACtE,CAAC;QAED,IAAI,OAAO,IAAI,CAAC,mBAAmB,KAAK,SAAS,EAAE,CAAC;YAClD,MAAM,IAAI,KAAK,CAAC,gDAAgD,CAAC,CAAC;QACpE,CAAC;QAED,mBAAmB;QACnB,MAAM,YAAY,GAAG,IAAI,CAAC,YAAuC,CAAC;QAClE,MAAM,YAAY,GAAG,IAAI,CAAC,YAAuC,CAAC;QAElE,IAAI,CAAC,YAAY,IAAI,OAAO,YAAY,KAAK,QAAQ,EAAE,CAAC;YACtD,MAAM,IAAI,KAAK,CAAC,yCAAyC,CAAC,CAAC;QAC7D,CAAC;QAED,IAAI,CAAC,YAAY,IAAI,OAAO,YAAY,KAAK,QAAQ,EAAE,CAAC;YACtD,MAAM,IAAI,KAAK,CAAC,yCAAyC,CAAC,CAAC;QAC7D,CAAC;QAED,IAAI,CAAC,YAAY,CAAC,IAAI,IAAI,OAAO,YAAY,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YAChE,MAAM,IAAI,KAAK,CAAC,6CAA6C,CAAC,CAAC;QACjE,CAAC;QAED,IAAI,CAAC,YAAY,CAAC,IAAI,IAAI,OAAO,YAAY,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YAChE,MAAM,IAAI,KAAK,CAAC,6CAA6C,CAAC,CAAC;QACjE,CAAC;QAED,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,YAAY,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC1C,MAAM,IAAI,KAAK,CAAC,iDAAiD,CAAC,CAAC;QACrE,CAAC;QAED,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,YAAY,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC1C,MAAM,IAAI,KAAK,CAAC,iDAAiD,CAAC,CAAC;QACrE,CAAC;QAED,oBAAoB;QACpB,MAAM,cAAc,GAAoB,EAAE,CAAC;QAC3C,KAAK,MAAM,OAAO,IAAI,YAAY,CAAC,QAA0C,EAAE,CAAC;YAC9E,IAAI,CAAC,OAAO,CAAC,EAAE,IAAI,OAAO,OAAO,CAAC,EAAE,KAAK,QAAQ,EAAE,CAAC;gBAClD,OAAO,CAAC,EAAE,GAAG,QAAQ,IAAI,CAAC,aAAa,EAAE,EAAE,CAAC;YAC9C,CAAC;YAED,IAAI,CAAC,OAAO,CAAC,IAAI,IAAI,OAAO,OAAO,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;gBACtD,MAAM,IAAI,KAAK,CAAC,oCAAoC,OAAO,CAAC,EAAE,oBAAoB,CAAC,CAAC;YACtF,CAAC;YAED,IAAI,CAAC,OAAO,CAAC,IAAI,IAAI,OAAO,OAAO,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;gBACtD,MAAM,IAAI,KAAK,CAAC,oCAAoC,OAAO,CAAC,EAAE,oBAAoB,CAAC,CAAC;YACtF,CAAC;YAED,IAAI,CAAC,kBAAkB,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;gBACtC,MAAM,IAAI,KAAK,CAAC,oCAAoC,OAAO,CAAC,EAAE,oBAAoB,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACtH,CAAC;YAED,IAAI,CAAC,OAAO,CAAC,WAAW,IAAI,OAAO,OAAO,CAAC,WAAW,KAAK,QAAQ,EAAE,CAAC;gBACpE,MAAM,IAAI,KAAK,CAAC,2CAA2C,OAAO,CAAC,EAAE,oBAAoB,CAAC,CAAC;YAC7F,CAAC;YAED,cAAc,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,OAAO,CAAC,EAAY,EAAE,IAAI,EAAE,OAAO,CAAC,IAAc,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,WAAW,EAAE,OAAO,CAAC,WAAqB,EAAE,CAAC,CAAC;QAClJ,CAAC;QAED,MAAM,cAAc,GAAoB,EAAE,CAAC;QAC3C,KAAK,MAAM,OAAO,IAAI,YAAY,CAAC,QAA0C,EAAE,CAAC;YAC9E,IAAI,CAAC,OAAO,CAAC,EAAE,IAAI,OAAO,OAAO,CAAC,EAAE,KAAK,QAAQ,EAAE,CAAC;gBAClD,OAAO,CAAC,EAAE,GAAG,QAAQ,IAAI,CAAC,aAAa,EAAE,EAAE,CAAC;YAC9C,CAAC;YAED,IAAI,CAAC,OAAO,CAAC,IAAI,IAAI,OAAO,OAAO,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;gBACtD,MAAM,IAAI,KAAK,CAAC,oCAAoC,OAAO,CAAC,EAAE,oBAAoB,CAAC,CAAC;YACtF,CAAC;YAED,IAAI,CAAC,OAAO,CAAC,IAAI,IAAI,OAAO,OAAO,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;gBACtD,MAAM,IAAI,KAAK,CAAC,oCAAoC,OAAO,CAAC,EAAE,oBAAoB,CAAC,CAAC;YACtF,CAAC;YAED,IAAI,CAAC,kBAAkB,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;gBACtC,MAAM,IAAI,KAAK,CAAC,oCAAoC,OAAO,CAAC,EAAE,oBAAoB,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACtH,CAAC;YAED,IAAI,CAAC,OAAO,CAAC,WAAW,IAAI,OAAO,OAAO,CAAC,WAAW,KAAK,QAAQ,EAAE,CAAC;gBACpE,MAAM,IAAI,KAAK,CAAC,2CAA2C,OAAO,CAAC,EAAE,oBAAoB,CAAC,CAAC;YAC7F,CAAC;YAED,cAAc,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,OAAO,CAAC,EAAY,EAAE,IAAI,EAAE,OAAO,CAAC,IAAc,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,WAAW,EAAE,OAAO,CAAC,WAAqB,EAAE,CAAC,CAAC;QAClJ,CAAC;QAED,oBAAoB;QACpB,MAAM,QAAQ,GAAwB,EAAE,CAAC;QACzC,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC;YACjC,KAAK,MAAM,OAAO,IAAI,IAAI,CAAC,QAA0C,EAAE,CAAC;gBACtE,IAAI,CAAC,OAAO,CAAC,aAAa,IAAI,OAAO,OAAO,CAAC,aAAa,KAAK,QAAQ,EAAE,CAAC;oBACxE,MAAM,IAAI,KAAK,CAAC,iDAAiD,CAAC,CAAC;gBACrE,CAAC;gBAED,IAAI,CAAC,OAAO,CAAC,aAAa,IAAI,OAAO,OAAO,CAAC,aAAa,KAAK,QAAQ,EAAE,CAAC;oBACxE,MAAM,IAAI,KAAK,CAAC,iDAAiD,CAAC,CAAC;gBACrE,CAAC;gBAED,IAAI,OAAO,OAAO,CAAC,eAAe,KAAK,QAAQ,IAAI,OAAO,CAAC,eAAe,GAAG,CAAC,IAAI,OAAO,CAAC,eAAe,GAAG,CAAC,EAAE,CAAC;oBAC9G,MAAM,IAAI,KAAK,CAAC,2DAA2D,CAAC,CAAC;gBAC/E,CAAC;gBAED,IAAI,CAAC,OAAO,CAAC,aAAa,IAAI,OAAO,OAAO,CAAC,aAAa,KAAK,QAAQ,EAAE,CAAC;oBACxE,MAAM,IAAI,KAAK,CAAC,iDAAiD,CAAC,CAAC;gBACrE,CAAC;gBAED,MAAM,WAAW,GAAa,EAAE,CAAC;gBACjC,IAAI,OAAO,CAAC,WAAW,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE,CAAC;oBAC9D,KAAK,MAAM,UAAU,IAAI,OAAO,CAAC,WAAW,EAAE,CAAC;wBAC7C,IAAI,OAAO,UAAU,KAAK,QAAQ,EAAE,CAAC;4BACnC,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;wBAC/B,CAAC;oBACH,CAAC;gBACH,CAAC;gBAED,MAAM,WAAW,GAAsB;oBACrC,aAAa,EAAE,OAAO,CAAC,aAAuB;oBAC9C,aAAa,EAAE,OAAO,CAAC,aAAuB;oBAC9C,eAAe,EAAE,OAAO,CAAC,eAAyB;oBAClD,aAAa,EAAE,OAAO,CAAC,aAAuB;oBAC9C,2CAA2C;iBAC5C,CAAC;gBACF,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBACzB,WAAW,CAAC,WAAW,GAAG,WAAW,CAAC;gBAC1C,CAAC;gBACD,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;YAC7B,CAAC;QACH,CAAC;QAED,kBAAkB;QAClB,MAAM,SAAS,GAAa,EAAE,CAAC;QAC/B,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC;YAClC,KAAK,MAAM,QAAQ,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;gBACtC,IAAI,OAAO,QAAQ,KAAK,QAAQ,EAAE,CAAC;oBACjC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;gBAC3B,CAAC;YACH,CAAC;QACH,CAAC;QAED,MAAM,WAAW,GAAa,EAAE,CAAC;QACjC,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC;YACpC,KAAK,MAAM,UAAU,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;gBAC1C,IAAI,OAAO,UAAU,KAAK,QAAQ,EAAE,CAAC;oBACnC,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;gBAC/B,CAAC;YACH,CAAC;QACH,CAAC;QAED,MAAM,UAAU,GAA0C,EAAE,CAAC;QAC7D,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC;YACnC,KAAK,MAAM,SAAS,IAAI,IAAI,CAAC,UAA4C,EAAE,CAAC;gBAC1E,IAAI,CAAC,SAAS,CAAC,SAAS,IAAI,OAAO,SAAS,CAAC,SAAS,KAAK,QAAQ,EAAE,CAAC;oBACpE,MAAM,IAAI,KAAK,CAAC,+CAA+C,CAAC,CAAC;gBACnE,CAAC;gBAED,IAAI,OAAO,SAAS,CAAC,UAAU,KAAK,QAAQ,IAAI,SAAS,CAAC,UAAU,GAAG,CAAC,IAAI,SAAS,CAAC,UAAU,GAAG,CAAC,EAAE,CAAC;oBACrG,MAAM,IAAI,KAAK,CAAC,gEAAgE,CAAC,CAAC;gBACpF,CAAC;gBAED,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,eAAe,CAAC,EAAE,CAAC;oBAC9C,MAAM,IAAI,KAAK,CAAC,oEAAoE,CAAC,CAAC;gBACxF,CAAC;gBAED,MAAM,eAAe,GAAa,EAAE,CAAC;gBACrC,KAAK,MAAM,SAAS,IAAI,SAAS,CAAC,eAAe,EAAE,CAAC;oBAClD,IAAI,OAAO,SAAS,KAAK,QAAQ,EAAE,CAAC;wBAClC,eAAe,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;oBAClC,CAAC;gBACH,CAAC;gBAED,UAAU,CAAC,IAAI,CAAC;oBACd,SAAS,EAAE,SAAS,CAAC,SAAmB;oBACxC,UAAU,EAAE,SAAS,CAAC,UAAoB;oBAC1C,eAAe;iBAChB,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QAED,MAAM,mBAAmB,GAAmD,EAAE,CAAC;QAC/E,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,mBAAmB,CAAC,EAAE,CAAC;YAC5C,KAAK,MAAM,SAAS,IAAI,IAAI,CAAC,mBAAmB,EAAE,CAAC;gBACjD,IAAI,OAAO,SAAS,KAAK,QAAQ,IAAI;oBACnC,aAAa,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,qBAAqB,EAAE,gBAAgB;iBAC3F,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;oBACtB,mBAAmB,CAAC,IAAI,CAAC,SAAgB,CAAC,CAAC;gBAC7C,CAAC;YACH,CAAC;QACH,CAAC;QAED,oEAAoE;QACpE,MAAM,aAAa,GAA4B;YAC7C,YAAY,EAAE;gBACZ,IAAI,EAAE,YAAY,CAAC,IAAc;gBACjC,QAAQ,EAAE,cAAc;aACzB;YACD,YAAY,EAAE;gBACZ,IAAI,EAAE,YAAY,CAAC,IAAc;gBACjC,QAAQ,EAAE,cAAc;aACzB;YACD,QAAQ;YACR,SAAS,EAAE,IAAI,CAAC,SAAmB;YACnC,OAAO,EAAE,IAAI,CAAC,OAA6C;YAC3D,UAAU,EAAE,IAAI,CAAC,UAAoB;YACrC,SAAS,EAAE,IAAI,CAAC,SAAmB;YACnC,SAAS;YACT,WAAW;YACX,UAAU;YACV,mBAAmB,EAAE,IAAI,CAAC,mBAA8B;YACxD,mDAAmD;SACpD,CAAC;QAEF,IAAI,mBAAmB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACnC,aAAa,CAAC,mBAAmB,GAAG,mBAAmB,CAAC;QAC1D,CAAC;QAED,OAAO,aAAa,CAAC;IACvB,CAAC;IAEO,oBAAoB,CAAC,MAAmD;QAC9E,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG;YACjC,IAAI,EAAE,MAAM,CAAC,IAAI;YACjB,QAAQ,EAAE,CAAC,GAAG,MAAM,CAAC,QAAQ,CAAC;SAC/B,CAAC;IACJ,CAAC;IAEO,yBAAyB,CAAC,IAA6B;QAC7D,IAAI,YAAY,GAAG,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,sBAAsB;QAC9E,IAAI,CAAC,YAAY,EAAE,CAAC,CAAC,qBAAqB;YACxC,YAAY,GAAG,EAAE,CAAC,CAAC,0BAA0B;YAC7C,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,YAAY,CAAC,CAAC,+BAA+B;QACrF,CAAC;QACD,kEAAkE;QAClE,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAExB,yBAAyB;QACzB,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QAC7C,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;IAC/C,CAAC;IAEO,gBAAgB,CAAC,IAA6B;QACpD,MAAM,EAAE,YAAY,EAAE,YAAY,EAAE,QAAQ,EAAE,GAAG,IAAI,CAAC;QAEtD,IAAI,MAAM,GAAG,KAAK,KAAK,CAAC,IAAI,CAAC,YAAY,YAAY,CAAC,IAAI,MAAM,YAAY,CAAC,IAAI,EAAE,CAAC,SAAS,IAAI,CAAC,SAAS,OAAO,CAAC;QAEnH,yBAAyB;QACzB,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,IAAI,CAAC,OAAO,IAAI,CAAC;QACxD,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,GAAG,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC;QAClF,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,IAAI,CAAC,SAAS,MAAM,CAAC;QAE9D,+BAA+B;QAC/B,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,sBAAsB,CAAC,MAAM,CAAC;QAEtD,MAAM,oBAAoB,GAAG,IAAI,GAAG,EAA+B,CAAC;QAEpE,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;YAC/B,MAAM,aAAa,GAAG,YAAY,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,OAAO,CAAC,aAAa,CAAC,CAAC;YACtF,IAAI,CAAC,aAAa;gBAAE,SAAS;YAE7B,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE,CAAC;gBAClD,oBAAoB,CAAC,GAAG,CAAC,aAAa,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;YACnD,CAAC;YAED,oBAAoB,CAAC,GAAG,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;QAC9D,CAAC;QAED,2CAA2C;QAC3C,KAAK,MAAM,CAAC,IAAI,EAAE,YAAY,CAAC,IAAI,oBAAoB,CAAC,OAAO,EAAE,EAAE,CAAC;YAClE,MAAM,IAAI,GAAG,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,cAAc,CAAC;YAE5D,KAAK,MAAM,OAAO,IAAI,YAAY,EAAE,CAAC;gBACnC,MAAM,aAAa,GAAG,YAAY,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,OAAO,CAAC,aAAa,CAAC,CAAC;gBACtF,MAAM,aAAa,GAAG,YAAY,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,OAAO,CAAC,aAAa,CAAC,CAAC;gBAEtF,IAAI,CAAC,aAAa,IAAI,CAAC,aAAa;oBAAE,SAAS;gBAE/C,uCAAuC;gBACvC,IAAI,iBAAyB,CAAC;gBAC9B,IAAI,OAAO,CAAC,eAAe,IAAI,GAAG,EAAE,CAAC;oBACnC,iBAAiB,GAAG,KAAK,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;gBAC5C,CAAC;qBAAM,IAAI,OAAO,CAAC,eAAe,IAAI,GAAG,EAAE,CAAC;oBAC1C,iBAAiB,GAAG,KAAK,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;gBAC/C,CAAC;qBAAM,CAAC;oBACN,iBAAiB,GAAG,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;gBACxC,CAAC;gBAED,MAAM,IAAI,KAAK,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,UAAU,iBAAiB,UAAU,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC;gBACrH,MAAM,IAAI,OAAO,KAAK,CAAC,GAAG,CAAC,gBAAgB,CAAC,IAAI,OAAO,CAAC,aAAa,IAAI,CAAC;gBAE1E,IAAI,OAAO,CAAC,WAAW,IAAI,OAAO,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBAC1D,MAAM,IAAI,OAAO,KAAK,CAAC,GAAG,CAAC,cAAc,CAAC,IAAI,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;gBACnF,CAAC;gBAED,MAAM,IAAI,IAAI,CAAC;YACjB,CAAC;QACH,CAAC;QAED,yBAAyB;QACzB,MAAM,eAAe,GAAG,IAAI,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC;QACpE,MAAM,eAAe,GAAG,IAAI,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC;QAEpE,MAAM,sBAAsB,GAAG,YAAY,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QAC7F,MAAM,sBAAsB,GAAG,YAAY,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QAE7F,IAAI,sBAAsB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACtC,MAAM,IAAI,GAAG,KAAK,CAAC,GAAG,CAAC,2BAA2B,CAAC,IAAI,CAAC;YACxD,KAAK,MAAM,OAAO,IAAI,sBAAsB,EAAE,CAAC;gBAC7C,MAAM,IAAI,OAAO,OAAO,CAAC,IAAI,KAAK,OAAO,CAAC,IAAI,MAAM,OAAO,CAAC,WAAW,IAAI,CAAC;YAC9E,CAAC;YACD,MAAM,IAAI,IAAI,CAAC;QACjB,CAAC;QAED,IAAI,sBAAsB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACtC,MAAM,IAAI,GAAG,KAAK,CAAC,GAAG,CAAC,2BAA2B,CAAC,IAAI,CAAC;YACxD,KAAK,MAAM,OAAO,IAAI,sBAAsB,EAAE,CAAC;gBAC7C,MAAM,IAAI,OAAO,OAAO,CAAC,IAAI,KAAK,OAAO,CAAC,IAAI,MAAM,OAAO,CAAC,WAAW,IAAI,CAAC;YAC9E,CAAC;YACD,MAAM,IAAI,IAAI,CAAC;QACjB,CAAC;QAED,kBAAkB;QAClB,IAAI,IAAI,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC/B,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC;YAC3C,KAAK,MAAM,SAAS,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;gBACxC,MAAM,mBAAmB,GAAG,SAAS,CAAC,UAAU,IAAI,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC;gBACpE,MAAM,IAAI,KAAK,mBAAmB,IAAI,SAAS,CAAC,SAAS,IAAI,CAAC;gBAC9D,MAAM,IAAI,OAAO,KAAK,CAAC,GAAG,CAAC,eAAe,CAAC,SAAS,CAAC,UAAU,GAAG,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC;gBAC1F,MAAM,IAAI,IAAI,CAAC;YACjB,CAAC;QACH,CAAC;QAED,iCAAiC;QACjC,IAAI,IAAI,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC9B,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,CAAC;YAC3C,KAAK,MAAM,QAAQ,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;gBACtC,MAAM,IAAI,OAAO,QAAQ,IAAI,CAAC;YAChC,CAAC;YACD,MAAM,IAAI,IAAI,CAAC;QACjB,CAAC;QAED,IAAI,IAAI,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAChC,MAAM,IAAI,GAAG,KAAK,CAAC,GAAG,CAAC,cAAc,CAAC,IAAI,CAAC;YAC3C,KAAK,MAAM,UAAU,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;gBAC1C,MAAM,IAAI,OAAO,UAAU,IAAI,CAAC;YAClC,CAAC;YACD,MAAM,IAAI,IAAI,CAAC;QACjB,CAAC;QAED,aAAa;QACb,IAAI,IAAI,CAAC,mBAAmB,EAAE,CAAC;YAC7B,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,4BAA4B,CAAC,IAAI,CAAC;YAC1D,MAAM,UAAU,GAAG,IAAI,CAAC,mBAAmB,IAAI,EAAE,CAAC;YAClD,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC1B,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE,CAAC;oBACnC,MAAM,IAAI,OAAO,SAAS,IAAI,CAAC;gBACjC,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,MAAM,IAAI,qCAAqC,CAAC;YAClD,CAAC;QACH,CAAC;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;IAEM,0BAA0B,CAAC,KAAc;QAC9C,IAAI,CAAC;YACH,MAAM,cAAc,GAAG,IAAI,CAAC,+BAA+B,CAAC,KAAK,CAAC,CAAC;YAEnE,uBAAuB;YACvB,IAAI,CAAC,yBAAyB,CAAC,cAAc,CAAC,CAAC;YAE/C,yBAAyB;YACzB,MAAM,aAAa,GAAG,IAAI,CAAC,gBAAgB,CAAC,cAAc,CAAC,CAAC;YAC5D,OAAO,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;YAE7B,6BAA6B;YAC7B,OAAO;gBACL,OAAO,EAAE,CAAC;wBACR,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;4BACnB,SAAS,EAAE,cAAc,CAAC,SAAS;4BACnC,OAAO,EAAE,cAAc,CAAC,OAAO;4BAC/B,SAAS,EAAE,cAAc,CAAC,SAAS;4BACnC,YAAY,EAAE,cAAc,CAAC,YAAY,CAAC,IAAI;4BAC9C,YAAY,EAAE,cAAc,CAAC,YAAY,CAAC,IAAI;4BAC9C,YAAY,EAAE,cAAc,CAAC,QAAQ,CAAC,MAAM;4BAC5C,cAAc,EAAE,cAAc,CAAC,UAAU,CAAC,MAAM;4BAChD,mBAAmB,EAAE,cAAc,CAAC,mBAAmB;4BACvD,mBAAmB,EAAE,cAAc,CAAC,mBAAmB;yBACxD,EAAE,IAAI,EAAE,CAAC,CAAC;qBACZ,CAAC;aACH,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO;gBACL,OAAO,EAAE,CAAC;wBACR,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;4BACnB,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;4BAC7D,MAAM,EAAE,QAAQ;yBACjB,EAAE,IAAI,EAAE,CAAC,CAAC;qBACZ,CAAC;gBACF,OAAO,EAAE,IAAI;aACd,CAAC;QACJ,CAAC;IACH,CAAC;CACF;AAED,MAAM,yBAAyB,GAAS;IACtC,IAAI,EAAE,qBAAqB;IAC3B,WAAW,EAAE;;;;;;;;;;;;;;;;gDAgBiC;IAE9C,WAAW,EAAE;QACX,IAAI,EAAE,QAAQ;QACd,UAAU,EAAE;YACV,YAAY,EAAE;gBACZ,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,uDAAuD;gBACpE,UAAU,EAAE;oBACV,IAAI,EAAE;wBACJ,IAAI,EAAE,QAAQ;wBACd,WAAW,EAAE,+BAA+B;qBAC7C;oBACD,QAAQ,EAAE;wBACR,IAAI,EAAE,OAAO;wBACb,WAAW,EAAE,+BAA+B;wBAC5C,KAAK,EAAE;4BACL,IAAI,EAAE,QAAQ;4BACd,UAAU,EAAE;gCACV,EAAE,EAAE;oCACF,IAAI,EAAE,QAAQ;oCACd,WAAW,EAAE,mCAAmC;iCACjD;gCACD,IAAI,EAAE;oCACJ,IAAI,EAAE,QAAQ;oCACd,WAAW,EAAE,qBAAqB;iCACnC;gCACD,IAAI,EAAE;oCACJ,IAAI,EAAE,QAAQ;oCACd,IAAI,EAAE,CAAC,QAAQ,EAAE,WAAW,EAAE,UAAU,EAAE,SAAS,CAAC;oCACpD,WAAW,EAAE,iBAAiB;iCAC/B;gCACD,WAAW,EAAE;oCACX,IAAI,EAAE,QAAQ;oCACd,WAAW,EAAE,4BAA4B;iCAC1C;6BACF;4BACD,QAAQ,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,aAAa,CAAC;yBAC1C;qBACF;iBACF;gBACD,QAAQ,EAAE,CAAC,MAAM,EAAE,UAAU,CAAC;aAC/B;YACD,YAAY,EAAE;gBACZ,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,iDAAiD;gBAC9D,UAAU,EAAE;oBACV,IAAI,EAAE;wBACJ,IAAI,EAAE,QAAQ;wBACd,WAAW,EAAE,+BAA+B;qBAC7C;oBACD,QAAQ,EAAE;wBACR,IAAI,EAAE,OAAO;wBACb,WAAW,EAAE,+BAA+B;wBAC5C,KAAK,EAAE;4BACL,IAAI,EAAE,QAAQ;4BACd,UAAU,EAAE;gCACV,EAAE,EAAE;oCACF,IAAI,EAAE,QAAQ;oCACd,WAAW,EAAE,mCAAmC;iCACjD;gCACD,IAAI,EAAE;oCACJ,IAAI,EAAE,QAAQ;oCACd,WAAW,EAAE,qBAAqB;iCACnC;gCACD,IAAI,EAAE;oCACJ,IAAI,EAAE,QAAQ;oCACd,IAAI,EAAE,CAAC,QAAQ,EAAE,WAAW,EAAE,UAAU,EAAE,SAAS,CAAC;oCACpD,WAAW,EAAE,iBAAiB;iCAC/B;gCACD,WAAW,EAAE;oCACX,IAAI,EAAE,QAAQ;oCACd,WAAW,EAAE,4BAA4B;iCAC1C;6BACF;4BACD,QAAQ,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,aAAa,CAAC;yBAC1C;qBACF;iBACF;gBACD,QAAQ,EAAE,CAAC,MAAM,EAAE,UAAU,CAAC;aAC/B;YACD,QAAQ,EAAE;gBACR,IAAI,EAAE,OAAO;gBACb,WAAW,EAAE,oDAAoD;gBACjE,KAAK,EAAE;oBACL,IAAI,EAAE,QAAQ;oBACd,UAAU,EAAE;wBACV,aAAa,EAAE;4BACb,IAAI,EAAE,QAAQ;4BACd,WAAW,EAAE,iCAAiC;yBAC/C;wBACD,aAAa,EAAE;4BACb,IAAI,EAAE,QAAQ;4BACd,WAAW,EAAE,iCAAiC;yBAC/C;wBACD,eAAe,EAAE;4BACf,IAAI,EAAE,QAAQ;4BACd,OAAO,EAAE,CAAC;4BACV,OAAO,EAAE,CAAC;4BACV,WAAW,EAAE,mCAAmC;yBACjD;wBACD,aAAa,EAAE;4BACb,IAAI,EAAE,QAAQ;4BACd,WAAW,EAAE,+BAA+B;yBAC7C;wBACD,WAAW,EAAE;4BACX,IAAI,EAAE,OAAO;4BACb,WAAW,EAAE,sCAAsC;4BACnD,KAAK,EAAE;gCACL,IAAI,EAAE,QAAQ;6BACf;yBACF;qBACF;oBACD,QAAQ,EAAE,CAAC,eAAe,EAAE,eAAe,EAAE,iBAAiB,EAAE,eAAe,CAAC;iBACjF;aACF;YACD,SAAS,EAAE;gBACT,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,oCAAoC;aAClD;YACD,OAAO,EAAE;gBACP,IAAI,EAAE,QAAQ;gBACd,IAAI,EAAE,CAAC,aAAa,EAAE,YAAY,EAAE,iBAAiB,EAAE,qBAAqB,CAAC;gBAC7E,WAAW,EAAE,4BAA4B;aAC1C;YACD,UAAU,EAAE;gBACV,IAAI,EAAE,QAAQ;gBACd,OAAO,EAAE,CAAC;gBACV,OAAO,EAAE,CAAC;gBACV,WAAW,EAAE,6CAA6C;aAC3D;YACD,SAAS,EAAE;gBACT,IAAI,EAAE,QAAQ;gBACd,OAAO,EAAE,CAAC;gBACV,WAAW,EAAE,kCAAkC;aAChD;YACD,SAAS,EAAE;gBACT,IAAI,EAAE,OAAO;gBACb,WAAW,EAAE,0BAA0B;gBACvC,KAAK,EAAE;oBACL,IAAI,EAAE,QAAQ;iBACf;aACF;YACD,WAAW,EAAE;gBACX,IAAI,EAAE,OAAO;gBACb,WAAW,EAAE,4BAA4B;gBACzC,KAAK,EAAE;oBACL,IAAI,EAAE,QAAQ;iBACf;aACF;YACD,UAAU,EAAE;gBACV,IAAI,EAAE,OAAO;gBACb,WAAW,EAAE,mCAAmC;gBAChD,KAAK,EAAE;oBACL,IAAI,EAAE,QAAQ;oBACd,UAAU,EAAE;wBACV,SAAS,EAAE;4BACT,IAAI,EAAE,QAAQ;4BACd,WAAW,EAAE,yBAAyB;yBACvC;wBACD,UAAU,EAAE;4BACV,IAAI,EAAE,QAAQ;4BACd,OAAO,EAAE,CAAC;4BACV,OAAO,EAAE,CAAC;4BACV,WAAW,EAAE,uCAAuC;yBACrD;wBACD,eAAe,EAAE;4BACf,IAAI,EAAE,OAAO;4BACb,WAAW,EAAE,2CAA2C;4BACxD,KAAK,EAAE;gCACL,IAAI,EAAE,QAAQ;6BACf;yBACF;qBACF;oBACD,QAAQ,EAAE,CAAC,WAAW,EAAE,YAAY,EAAE,iBAAiB,CAAC;iBACzD;aACF;YACD,mBAAmB,EAAE;gBACnB,IAAI,EAAE,SAAS;gBACf,WAAW,EAAE,qCAAqC;aACnD;YACD,mBAAmB,EAAE;gBACnB,IAAI,EAAE,OAAO;gBACb,WAAW,EAAE,2BAA2B;gBACxC,KAAK,EAAE;oBACL,IAAI,EAAE,QAAQ;oBACd,IAAI,EAAE,CAAC,aAAa,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,qBAAqB,EAAE,gBAAgB,CAAC;iBACnG;aACF;SACF;QACD,QAAQ,EAAE,CAAC,cAAc,EAAE,cAAc,EAAE,WAAW,EAAE,SAAS,EAAE,YAAY,EAAE,WAAW,EAAE,qBAAqB,CAAC;KACrH;CACF,CAAC;AAEF,MAAM,MAAM,GAAG,IAAI,MAAM,CACvB;IACE,IAAI,EAAE,6BAA6B;IACnC,OAAO,EAAE,OAAO;CACjB,EACD;IACE,YAAY,EAAE;QACZ,KAAK,EAAE,EAAE;KACV;CACF,CACF,CAAC;AAEF,MAAM,yBAAyB,GAAG,IAAI,yBAAyB,EAAE,CAAC;AAElE,MAAM,CAAC,iBAAiB,CAAC,sBAAsB,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC;IAC5D,KAAK,EAAE,CAAC,yBAAyB,CAAC;CACnC,CAAC,CAAC,CAAC;AAEJ,MAAM,CAAC,iBAAiB,CAAC,qBAAqB,EAAE,KAAK,EAAE,OAAwB,EAAE,EAAE;IACjF,IAAI,OAAO,CAAC,MAAM,CAAC,IAAI,KAAK,qBAAqB,EAAE,CAAC;QAClD,OAAO,yBAAyB,CAAC,0BAA0B,CAAC,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;IACxF,CAAC;IAED,OAAO;QACL,OAAO,EAAE,CAAC;gBACR,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE,iBAAiB,OAAO,CAAC,MAAM,CAAC,IAAI,EAAE;aAC7C,CAAC;QACF,OAAO,EAAE,IAAI;KACd,CAAC;AACJ,CAAC,CAAC,CAAC;AAEH,KAAK,UAAU,SAAS;IACtB,MAAM,SAAS,GAAG,IAAI,oBAAoB,EAAE,CAAC;IAC7C,MAAM,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IAChC,OAAO,CAAC,KAAK,CAAC,kDAAkD,CAAC,CAAC;AACpE,CAAC;AAED,SAAS,EAAE,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;IAC1B,OAAO,CAAC,KAAK,CAAC,6BAA6B,EAAE,KAAK,CAAC,CAAC;IACpD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC,CAAC"} \ No newline at end of file +{"version":3,"file":"index.js","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/src/analogical-reasoning/index.ts b/src/analogical-reasoning/index.ts index 324fec4..450564b 100644 --- a/src/analogical-reasoning/index.ts +++ b/src/analogical-reasoning/index.ts @@ -1,15 +1,17 @@ -#!/usr/bin/env node - import { Server } from "@modelcontextprotocol/sdk/server/index.js"; -import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio.js"; import { CallToolRequestSchema, ListToolsRequestSchema, - Tool, - CallToolRequest + McpError, + ErrorCode } from "@modelcontextprotocol/sdk/types.js"; +import { z } from "zod"; +import { zodToJsonSchema } from "zod-to-json-schema"; import chalk from 'chalk'; +// Define session configuration schema (optional - this server doesn't need config) +export const configSchema = z.object({}); + // Types interface DomainElement { id: string; @@ -454,7 +456,7 @@ class AnalogicalReasoningServer { return output; } - public processAnalogicalReasoning(input: unknown): { content: Array<{ type: string; text: string }>; isError?: boolean } { + public processAnalogicalReasoning(input: unknown): { content: Array<{ type: "text"; text: string }>; isError?: boolean } { try { const validatedInput = this.validateAnalogicalReasoningData(input); @@ -468,7 +470,7 @@ class AnalogicalReasoningServer { // Return the analysis result return { content: [{ - type: "text", + type: "text" as const, text: JSON.stringify({ analogyId: validatedInput.analogyId, purpose: validatedInput.purpose, @@ -485,7 +487,7 @@ class AnalogicalReasoningServer { } catch (error) { return { content: [{ - type: "text", + type: "text" as const, text: JSON.stringify({ error: error instanceof Error ? error.message : String(error), status: 'failed' @@ -497,257 +499,109 @@ class AnalogicalReasoningServer { } } -const ANALOGICAL_REASONING_TOOL: Tool = { - name: "analogicalReasoning", - description: `A detailed tool for analogical thinking between source and target domains. -This tool helps models structure analogies systematically to improve understanding and reasoning. -It facilitates explicit mapping between domains, inference generation, and analogy evaluation. - -When to use this tool: -- Understanding new concepts through analogies to familiar domains -- Problem-solving by transferring insights between domains -- Creative thinking by establishing connections between different fields -- Explaining complex concepts through structured comparisons -- Evaluating analogies for their strengths and limitations - -Key features: -- Explicit domain structure representation -- Systematic mapping between domains -- Inference generation and evaluation -- Visual representation of analogical mappings -- Tracking of analogy strengths and limitations`, +// Tool input schema using Zod +const AnalogicalReasoningSchema = z.object({ + sourceDomain: z.object({ + name: z.string(), + elements: z.array(z.object({ + id: z.string().optional(), + name: z.string(), + type: z.enum(["entity", "attribute", "relation", "process"]), + description: z.string() + })) + }), + targetDomain: z.object({ + name: z.string(), + elements: z.array(z.object({ + id: z.string().optional(), + name: z.string(), + type: z.enum(["entity", "attribute", "relation", "process"]), + description: z.string() + })) + }), + mappings: z.array(z.object({ + sourceElement: z.string(), + targetElement: z.string(), + mappingStrength: z.number().min(0).max(1), + justification: z.string(), + limitations: z.array(z.string()).optional() + })), + analogyId: z.string(), + purpose: z.enum(["explanation", "prediction", "problem-solving", "creative-generation"]), + confidence: z.number().min(0).max(1), + iteration: z.number().int().min(0), + strengths: z.array(z.string()), + limitations: z.array(z.string()), + inferences: z.array(z.object({ + statement: z.string(), + confidence: z.number().min(0).max(1), + basedOnMappings: z.array(z.string()) + })), + nextOperationNeeded: z.boolean(), + suggestedOperations: z.array( + z.enum(["add-mapping", "revise-mapping", "draw-inference", "evaluate-limitation", "try-new-source"]) + ).optional() +}); - inputSchema: { - type: "object", - properties: { - sourceDomain: { - type: "object", - description: "The familiar domain used as the basis for the analogy", - properties: { - name: { - type: "string", - description: "The name of the source domain" - }, - elements: { - type: "array", - description: "Elements in the source domain", - items: { - type: "object", - properties: { - id: { - type: "string", - description: "Unique identifier for the element" - }, - name: { - type: "string", - description: "Name of the element" - }, - type: { - type: "string", - enum: ["entity", "attribute", "relation", "process"], - description: "Type of element" - }, - description: { - type: "string", - description: "Description of the element" - } - }, - required: ["name", "type", "description"] - } - } - }, - required: ["name", "elements"] - }, - targetDomain: { - type: "object", - description: "The domain being understood through the analogy", - properties: { - name: { - type: "string", - description: "The name of the target domain" - }, - elements: { - type: "array", - description: "Elements in the target domain", - items: { - type: "object", - properties: { - id: { - type: "string", - description: "Unique identifier for the element" - }, - name: { - type: "string", - description: "Name of the element" - }, - type: { - type: "string", - enum: ["entity", "attribute", "relation", "process"], - description: "Type of element" - }, - description: { - type: "string", - description: "Description of the element" - } - }, - required: ["name", "type", "description"] - } - } - }, - required: ["name", "elements"] - }, - mappings: { - type: "array", - description: "Mappings between source and target domain elements", - items: { - type: "object", - properties: { - sourceElement: { - type: "string", - description: "ID of the source domain element" - }, - targetElement: { - type: "string", - description: "ID of the target domain element" - }, - mappingStrength: { - type: "number", - minimum: 0, - maximum: 1, - description: "Strength of the mapping (0.0-1.0)" - }, - justification: { - type: "string", - description: "Justification for the mapping" - }, - limitations: { - type: "array", - description: "Limitations of this specific mapping", - items: { - type: "string" - } - } - }, - required: ["sourceElement", "targetElement", "mappingStrength", "justification"] - } - }, - analogyId: { - type: "string", - description: "Unique identifier for this analogy" - }, - purpose: { - type: "string", - enum: ["explanation", "prediction", "problem-solving", "creative-generation"], - description: "The purpose of the analogy" - }, - confidence: { - type: "number", - minimum: 0, - maximum: 1, - description: "Confidence in the overall analogy (0.0-1.0)" - }, - iteration: { - type: "number", - minimum: 0, - description: "Current iteration of the analogy" - }, - strengths: { - type: "array", - description: "Strengths of the analogy", - items: { - type: "string" - } - }, - limitations: { - type: "array", - description: "Limitations of the analogy", - items: { - type: "string" - } - }, - inferences: { - type: "array", - description: "Inferences drawn from the analogy", - items: { - type: "object", - properties: { - statement: { - type: "string", - description: "The inference statement" - }, - confidence: { - type: "number", - minimum: 0, - maximum: 1, - description: "Confidence in the inference (0.0-1.0)" - }, - basedOnMappings: { - type: "array", - description: "IDs of mappings supporting this inference", - items: { - type: "string" - } - } - }, - required: ["statement", "confidence", "basedOnMappings"] - } - }, - nextOperationNeeded: { - type: "boolean", - description: "Whether another operation is needed" - }, - suggestedOperations: { - type: "array", - description: "Suggested next operations", - items: { - type: "string", - enum: ["add-mapping", "revise-mapping", "draw-inference", "evaluate-limitation", "try-new-source"] - } - } +// Export createServer function for Smithery CLI +export default function createServer({ + config, +}: { + config: z.infer; +}): Server { + // Create a low-level Server instance + const server = new Server( + { + name: "analogical-reasoning-server", + version: "0.1.3", }, - required: ["sourceDomain", "targetDomain", "analogyId", "purpose", "confidence", "iteration", "nextOperationNeeded"] - } -}; + { + capabilities: { + tools: {}, + }, + } + ); -const server = new Server( - { - name: "analogical-reasoning-server", - version: "0.1.2", - }, - { - capabilities: { - tools: {}, - }, - } -); + const analogicalReasoningServer = new AnalogicalReasoningServer(); -const analogicalReasoningServer = new AnalogicalReasoningServer(); + // Register handlers + server.setRequestHandler(ListToolsRequestSchema, async () => ({ + tools: [ + { + name: "analogicalReasoning", + title: "Analogical Reasoning", + description: `A detailed tool for analogical thinking between source and target domains. +This tool helps models structure analogies systematically to improve understanding and reasoning. +It facilitates explicit mapping between domains, inference generation, and analogy evaluation. -server.setRequestHandler(ListToolsRequestSchema, async () => ({ - tools: [ANALOGICAL_REASONING_TOOL], -})); +Use this tool to: +- Map concepts between familiar and unfamiliar domains +- Draw insights through structural alignment +- Generate predictions based on analogical transfer +- Solve problems by applying known solutions to new contexts`, + inputSchema: zodToJsonSchema(AnalogicalReasoningSchema) as any, + }, + ], + })); -server.setRequestHandler(CallToolRequestSchema, async (request: CallToolRequest) => { - if (request.params.name === "analogicalReasoning") { - return analogicalReasoningServer.processAnalogicalReasoning(request.params.arguments); - } + server.setRequestHandler(CallToolRequestSchema, async (request) => { + const { name, arguments: toolArgs } = request.params; - return { - content: [{ - type: "text", - text: `Unknown tool: ${request.params.name}` - }], - isError: true - }; -}); + if (name === "analogicalReasoning") { + const parsed = AnalogicalReasoningSchema.safeParse(toolArgs); + if (!parsed.success) { + throw new McpError( + ErrorCode.InvalidParams, + `Invalid arguments: ${parsed.error.message}` + ); + } -async function runServer() { - const transport = new StdioServerTransport(); - await server.connect(transport); - console.error("Analogical Reasoning MCP Server running on stdio"); -} + const result = await analogicalReasoningServer.processAnalogicalReasoning(parsed.data); + return result; + } + + throw new McpError(ErrorCode.InvalidParams, `Unknown tool: ${name}`); + }); -runServer().catch((error) => { - console.error("Fatal error running server:", error); - process.exit(1); -}); \ No newline at end of file + return server; +} \ No newline at end of file diff --git a/src/analogical-reasoning/package-lock.json b/src/analogical-reasoning/package-lock.json new file mode 100644 index 0000000..a6ceee5 --- /dev/null +++ b/src/analogical-reasoning/package-lock.json @@ -0,0 +1,2056 @@ +{ + "name": "@waldzellai/analogical-reasoning", + "version": "0.1.3", + "lockfileVersion": 3, + "requires": true, + "packages": { + "": { + "name": "@waldzellai/analogical-reasoning", + "version": "0.1.3", + "license": "MIT", + "dependencies": { + "@modelcontextprotocol/sdk": "^1.10.2", + "chalk": "^5.3.0", + "yargs": "^17.7.2", + "zod": "^3.25.76", + "zod-to-json-schema": "^3.24.6" + }, + "bin": { + "mcp-server-analogical-reasoning": "dist/index.js" + }, + "devDependencies": { + "@types/node": "^22", + "@types/yargs": "^17.0.32", + "shx": "^0.3.4", + "tsx": "^4.20.5", + "typescript": "^5.3.3" + } + }, + "node_modules/@esbuild/aix-ppc64": { + "version": "0.25.9", + "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.25.9.tgz", + "integrity": "sha512-OaGtL73Jck6pBKjNIe24BnFE6agGl+6KxDtTfHhy1HmhthfKouEcOhqpSL64K4/0WCtbKFLOdzD/44cJ4k9opA==", + "cpu": [ + "ppc64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "aix" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/android-arm": { + "version": "0.25.9", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.25.9.tgz", + "integrity": "sha512-5WNI1DaMtxQ7t7B6xa572XMXpHAaI/9Hnhk8lcxF4zVN4xstUgTlvuGDorBguKEnZO70qwEcLpfifMLoxiPqHQ==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/android-arm64": { + "version": "0.25.9", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.25.9.tgz", + "integrity": "sha512-IDrddSmpSv51ftWslJMvl3Q2ZT98fUSL2/rlUXuVqRXHCs5EUF1/f+jbjF5+NG9UffUDMCiTyh8iec7u8RlTLg==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/android-x64": { + "version": "0.25.9", + "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.25.9.tgz", + "integrity": "sha512-I853iMZ1hWZdNllhVZKm34f4wErd4lMyeV7BLzEExGEIZYsOzqDWDf+y082izYUE8gtJnYHdeDpN/6tUdwvfiw==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/darwin-arm64": { + "version": "0.25.9", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.25.9.tgz", + "integrity": "sha512-XIpIDMAjOELi/9PB30vEbVMs3GV1v2zkkPnuyRRURbhqjyzIINwj+nbQATh4H9GxUgH1kFsEyQMxwiLFKUS6Rg==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/darwin-x64": { + "version": "0.25.9", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.25.9.tgz", + "integrity": "sha512-jhHfBzjYTA1IQu8VyrjCX4ApJDnH+ez+IYVEoJHeqJm9VhG9Dh2BYaJritkYK3vMaXrf7Ogr/0MQ8/MeIefsPQ==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/freebsd-arm64": { + "version": "0.25.9", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.25.9.tgz", + "integrity": "sha512-z93DmbnY6fX9+KdD4Ue/H6sYs+bhFQJNCPZsi4XWJoYblUqT06MQUdBCpcSfuiN72AbqeBFu5LVQTjfXDE2A6Q==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/freebsd-x64": { + "version": "0.25.9", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.25.9.tgz", + "integrity": "sha512-mrKX6H/vOyo5v71YfXWJxLVxgy1kyt1MQaD8wZJgJfG4gq4DpQGpgTB74e5yBeQdyMTbgxp0YtNj7NuHN0PoZg==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-arm": { + "version": "0.25.9", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.25.9.tgz", + "integrity": "sha512-HBU2Xv78SMgaydBmdor38lg8YDnFKSARg1Q6AT0/y2ezUAKiZvc211RDFHlEZRFNRVhcMamiToo7bDx3VEOYQw==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-arm64": { + "version": "0.25.9", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.25.9.tgz", + "integrity": "sha512-BlB7bIcLT3G26urh5Dmse7fiLmLXnRlopw4s8DalgZ8ef79Jj4aUcYbk90g8iCa2467HX8SAIidbL7gsqXHdRw==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-ia32": { + "version": "0.25.9", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.25.9.tgz", + "integrity": "sha512-e7S3MOJPZGp2QW6AK6+Ly81rC7oOSerQ+P8L0ta4FhVi+/j/v2yZzx5CqqDaWjtPFfYz21Vi1S0auHrap3Ma3A==", + "cpu": [ + "ia32" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-loong64": { + "version": "0.25.9", + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.25.9.tgz", + "integrity": "sha512-Sbe10Bnn0oUAB2AalYztvGcK+o6YFFA/9829PhOCUS9vkJElXGdphz0A3DbMdP8gmKkqPmPcMJmJOrI3VYB1JQ==", + "cpu": [ + "loong64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-mips64el": { + "version": "0.25.9", + "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.25.9.tgz", + "integrity": "sha512-YcM5br0mVyZw2jcQeLIkhWtKPeVfAerES5PvOzaDxVtIyZ2NUBZKNLjC5z3/fUlDgT6w89VsxP2qzNipOaaDyA==", + "cpu": [ + "mips64el" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-ppc64": { + "version": "0.25.9", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.25.9.tgz", + "integrity": "sha512-++0HQvasdo20JytyDpFvQtNrEsAgNG2CY1CLMwGXfFTKGBGQT3bOeLSYE2l1fYdvML5KUuwn9Z8L1EWe2tzs1w==", + "cpu": [ + "ppc64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-riscv64": { + "version": "0.25.9", + "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.25.9.tgz", + "integrity": "sha512-uNIBa279Y3fkjV+2cUjx36xkx7eSjb8IvnL01eXUKXez/CBHNRw5ekCGMPM0BcmqBxBcdgUWuUXmVWwm4CH9kg==", + "cpu": [ + "riscv64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-s390x": { + "version": "0.25.9", + "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.25.9.tgz", + "integrity": "sha512-Mfiphvp3MjC/lctb+7D287Xw1DGzqJPb/J2aHHcHxflUo+8tmN/6d4k6I2yFR7BVo5/g7x2Monq4+Yew0EHRIA==", + "cpu": [ + "s390x" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-x64": { + "version": "0.25.9", + "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.25.9.tgz", + "integrity": "sha512-iSwByxzRe48YVkmpbgoxVzn76BXjlYFXC7NvLYq+b+kDjyyk30J0JY47DIn8z1MO3K0oSl9fZoRmZPQI4Hklzg==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/netbsd-arm64": { + "version": "0.25.9", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-arm64/-/netbsd-arm64-0.25.9.tgz", + "integrity": "sha512-9jNJl6FqaUG+COdQMjSCGW4QiMHH88xWbvZ+kRVblZsWrkXlABuGdFJ1E9L7HK+T0Yqd4akKNa/lO0+jDxQD4Q==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "netbsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/netbsd-x64": { + "version": "0.25.9", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.25.9.tgz", + "integrity": "sha512-RLLdkflmqRG8KanPGOU7Rpg829ZHu8nFy5Pqdi9U01VYtG9Y0zOG6Vr2z4/S+/3zIyOxiK6cCeYNWOFR9QP87g==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "netbsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/openbsd-arm64": { + "version": "0.25.9", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-arm64/-/openbsd-arm64-0.25.9.tgz", + "integrity": "sha512-YaFBlPGeDasft5IIM+CQAhJAqS3St3nJzDEgsgFixcfZeyGPCd6eJBWzke5piZuZ7CtL656eOSYKk4Ls2C0FRQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "openbsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/openbsd-x64": { + "version": "0.25.9", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.25.9.tgz", + "integrity": "sha512-1MkgTCuvMGWuqVtAvkpkXFmtL8XhWy+j4jaSO2wxfJtilVCi0ZE37b8uOdMItIHz4I6z1bWWtEX4CJwcKYLcuA==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "openbsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/openharmony-arm64": { + "version": "0.25.9", + "resolved": "https://registry.npmjs.org/@esbuild/openharmony-arm64/-/openharmony-arm64-0.25.9.tgz", + "integrity": "sha512-4Xd0xNiMVXKh6Fa7HEJQbrpP3m3DDn43jKxMjxLLRjWnRsfxjORYJlXPO4JNcXtOyfajXorRKY9NkOpTHptErg==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "openharmony" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/sunos-x64": { + "version": "0.25.9", + "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.25.9.tgz", + "integrity": "sha512-WjH4s6hzo00nNezhp3wFIAfmGZ8U7KtrJNlFMRKxiI9mxEK1scOMAaa9i4crUtu+tBr+0IN6JCuAcSBJZfnphw==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "sunos" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/win32-arm64": { + "version": "0.25.9", + "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.25.9.tgz", + "integrity": "sha512-mGFrVJHmZiRqmP8xFOc6b84/7xa5y5YvR1x8djzXpJBSv/UsNK6aqec+6JDjConTgvvQefdGhFDAs2DLAds6gQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/win32-ia32": { + "version": "0.25.9", + "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.25.9.tgz", + "integrity": "sha512-b33gLVU2k11nVx1OhX3C8QQP6UHQK4ZtN56oFWvVXvz2VkDoe6fbG8TOgHFxEvqeqohmRnIHe5A1+HADk4OQww==", + "cpu": [ + "ia32" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/win32-x64": { + "version": "0.25.9", + "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.25.9.tgz", + "integrity": "sha512-PPOl1mi6lpLNQxnGoyAfschAodRFYXJ+9fs6WHXz7CSWKbOqiMZsubC+BQsVKuul+3vKLuwTHsS2c2y9EoKwxQ==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@modelcontextprotocol/sdk": { + "version": "1.17.5", + "resolved": "https://registry.npmjs.org/@modelcontextprotocol/sdk/-/sdk-1.17.5.tgz", + "integrity": "sha512-QakrKIGniGuRVfWBdMsDea/dx1PNE739QJ7gCM41s9q+qaCYTHCdsIBXQVVXry3mfWAiaM9kT22Hyz53Uw8mfg==", + "license": "MIT", + "dependencies": { + "ajv": "^6.12.6", + "content-type": "^1.0.5", + "cors": "^2.8.5", + "cross-spawn": "^7.0.5", + "eventsource": "^3.0.2", + "eventsource-parser": "^3.0.0", + "express": "^5.0.1", + "express-rate-limit": "^7.5.0", + "pkce-challenge": "^5.0.0", + "raw-body": "^3.0.0", + "zod": "^3.23.8", + "zod-to-json-schema": "^3.24.1" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/@types/node": { + "version": "22.18.0", + "resolved": "https://registry.npmjs.org/@types/node/-/node-22.18.0.tgz", + "integrity": "sha512-m5ObIqwsUp6BZzyiy4RdZpzWGub9bqLJMvZDD0QMXhxjqMHMENlj+SqF5QxoUwaQNFe+8kz8XM8ZQhqkQPTgMQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "undici-types": "~6.21.0" + } + }, + "node_modules/@types/yargs": { + "version": "17.0.33", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.33.tgz", + "integrity": "sha512-WpxBCKWPLr4xSsHgz511rFJAM+wS28w2zEO1QDNY5zM/S8ok70NNfztH0xwhqKyaK0OHCbN98LDAZuy1ctxDkA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/yargs-parser": "*" + } + }, + "node_modules/@types/yargs-parser": { + "version": "21.0.3", + "resolved": "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-21.0.3.tgz", + "integrity": "sha512-I4q9QU9MQv4oEOz4tAHJtNz1cwuLxn2F3xcc2iV5WdqLPpUnj30aUuxt1mAxYTG+oe8CZMV/+6rU4S4gRDzqtQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/accepts": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/accepts/-/accepts-2.0.0.tgz", + "integrity": "sha512-5cvg6CtKwfgdmVqY1WIiXKc3Q1bkRqGLi+2W/6ao+6Y7gu/RCwRuAhGEzh5B4KlszSuTLgZYuqFqo5bImjNKng==", + "license": "MIT", + "dependencies": { + "mime-types": "^3.0.0", + "negotiator": "^1.0.0" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "license": "MIT", + "dependencies": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", + "dev": true, + "license": "MIT" + }, + "node_modules/body-parser": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-2.2.0.tgz", + "integrity": "sha512-02qvAaxv8tp7fBa/mw1ga98OGm+eCbqzJOKoRt70sLmfEEi+jyBYVTDGfCL/k06/4EMk/z01gCe7HoCH/f2LTg==", + "license": "MIT", + "dependencies": { + "bytes": "^3.1.2", + "content-type": "^1.0.5", + "debug": "^4.4.0", + "http-errors": "^2.0.0", + "iconv-lite": "^0.6.3", + "on-finished": "^2.4.1", + "qs": "^6.14.0", + "raw-body": "^3.0.0", + "type-is": "^2.0.0" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/brace-expansion": { + "version": "1.1.12", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.12.tgz", + "integrity": "sha512-9T9UjW3r0UW5c1Q7GTwllptXwhvYmEzFhzMfZ9H7FQWt+uZePjZPjBP/W1ZEyZ1twGWom5/56TF4lPcqjnDHcg==", + "dev": true, + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/bytes": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", + "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==", + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/call-bind-apply-helpers": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/call-bind-apply-helpers/-/call-bind-apply-helpers-1.0.2.tgz", + "integrity": "sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ==", + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "function-bind": "^1.1.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/call-bound": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/call-bound/-/call-bound-1.0.4.tgz", + "integrity": "sha512-+ys997U96po4Kx/ABpBCqhA9EuxJaQWDQg7295H4hBphv3IZg0boBKuwYpt4YXp6MZ5AmZQnU/tyMTlRpaSejg==", + "license": "MIT", + "dependencies": { + "call-bind-apply-helpers": "^1.0.2", + "get-intrinsic": "^1.3.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/chalk": { + "version": "5.6.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-5.6.0.tgz", + "integrity": "sha512-46QrSQFyVSEyYAgQ22hQ+zDa60YHA4fBstHmtSApj1Y5vKtG27fWowW03jCk5KcbXEWPZUIR894aARCA/G1kfQ==", + "license": "MIT", + "engines": { + "node": "^12.17.0 || ^14.13 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/cliui": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz", + "integrity": "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==", + "license": "ISC", + "dependencies": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.1", + "wrap-ansi": "^7.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "license": "MIT", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "license": "MIT" + }, + "node_modules/concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", + "dev": true, + "license": "MIT" + }, + "node_modules/content-disposition": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-1.0.0.tgz", + "integrity": "sha512-Au9nRL8VNUut/XSzbQA38+M78dzP4D+eqg3gfJHMIHHYa3bg067xj1KxMUWj+VULbiZMowKngFFbKczUrNJ1mg==", + "license": "MIT", + "dependencies": { + "safe-buffer": "5.2.1" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/content-type": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.5.tgz", + "integrity": "sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/cookie": { + "version": "0.7.2", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.7.2.tgz", + "integrity": "sha512-yki5XnKuf750l50uGTllt6kKILY4nQ1eNIQatoXEByZ5dWgnKqbnqmTrBE5B4N7lrMJKQ2ytWMiTO2o0v6Ew/w==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/cookie-signature": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.2.2.tgz", + "integrity": "sha512-D76uU73ulSXrD1UXF4KE2TMxVVwhsnCgfAyTg9k8P6KGZjlXKrOLe4dJQKI3Bxi5wjesZoFXJWElNWBjPZMbhg==", + "license": "MIT", + "engines": { + "node": ">=6.6.0" + } + }, + "node_modules/cors": { + "version": "2.8.5", + "resolved": "https://registry.npmjs.org/cors/-/cors-2.8.5.tgz", + "integrity": "sha512-KIHbLJqu73RGr/hnbrO9uBeixNGuvSQjul/jdFvS/KFSIH1hWVd1ng7zOHx+YrEfInLG7q4n6GHQ9cDtxv/P6g==", + "license": "MIT", + "dependencies": { + "object-assign": "^4", + "vary": "^1" + }, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/cross-spawn": { + "version": "7.0.6", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz", + "integrity": "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==", + "license": "MIT", + "dependencies": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/debug": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.1.tgz", + "integrity": "sha512-KcKCqiftBJcZr++7ykoDIEwSa3XWowTfNPo92BYxjXiyYEVrUQh2aLyhxBCwww+heortUFxEJYcRzosstTEBYQ==", + "license": "MIT", + "dependencies": { + "ms": "^2.1.3" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/depd": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", + "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==", + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/dunder-proto": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/dunder-proto/-/dunder-proto-1.0.1.tgz", + "integrity": "sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==", + "license": "MIT", + "dependencies": { + "call-bind-apply-helpers": "^1.0.1", + "es-errors": "^1.3.0", + "gopd": "^1.2.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/ee-first": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", + "integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==", + "license": "MIT" + }, + "node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "license": "MIT" + }, + "node_modules/encodeurl": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-2.0.0.tgz", + "integrity": "sha512-Q0n9HRi4m6JuGIV1eFlmvJB7ZEVxu93IrMyiMsGC0lrMJMWzRgx6WGquyfQgZVb31vhGgXnfmPNNXmxnOkRBrg==", + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/es-define-property": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.1.tgz", + "integrity": "sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-errors": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz", + "integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-object-atoms": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/es-object-atoms/-/es-object-atoms-1.1.1.tgz", + "integrity": "sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA==", + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/esbuild": { + "version": "0.25.9", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.25.9.tgz", + "integrity": "sha512-CRbODhYyQx3qp7ZEwzxOk4JBqmD/seJrzPa/cGjY1VtIn5E09Oi9/dB4JwctnfZ8Q8iT7rioVv5k/FNT/uf54g==", + "dev": true, + "hasInstallScript": true, + "license": "MIT", + "bin": { + "esbuild": "bin/esbuild" + }, + "engines": { + "node": ">=18" + }, + "optionalDependencies": { + "@esbuild/aix-ppc64": "0.25.9", + "@esbuild/android-arm": "0.25.9", + "@esbuild/android-arm64": "0.25.9", + "@esbuild/android-x64": "0.25.9", + "@esbuild/darwin-arm64": "0.25.9", + "@esbuild/darwin-x64": "0.25.9", + "@esbuild/freebsd-arm64": "0.25.9", + "@esbuild/freebsd-x64": "0.25.9", + "@esbuild/linux-arm": "0.25.9", + "@esbuild/linux-arm64": "0.25.9", + "@esbuild/linux-ia32": "0.25.9", + "@esbuild/linux-loong64": "0.25.9", + "@esbuild/linux-mips64el": "0.25.9", + "@esbuild/linux-ppc64": "0.25.9", + "@esbuild/linux-riscv64": "0.25.9", + "@esbuild/linux-s390x": "0.25.9", + "@esbuild/linux-x64": "0.25.9", + "@esbuild/netbsd-arm64": "0.25.9", + "@esbuild/netbsd-x64": "0.25.9", + "@esbuild/openbsd-arm64": "0.25.9", + "@esbuild/openbsd-x64": "0.25.9", + "@esbuild/openharmony-arm64": "0.25.9", + "@esbuild/sunos-x64": "0.25.9", + "@esbuild/win32-arm64": "0.25.9", + "@esbuild/win32-ia32": "0.25.9", + "@esbuild/win32-x64": "0.25.9" + } + }, + "node_modules/escalade": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.2.0.tgz", + "integrity": "sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/escape-html": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", + "integrity": "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==", + "license": "MIT" + }, + "node_modules/etag": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", + "integrity": "sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/eventsource": { + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/eventsource/-/eventsource-3.0.7.tgz", + "integrity": "sha512-CRT1WTyuQoD771GW56XEZFQ/ZoSfWid1alKGDYMmkt2yl8UXrVR4pspqWNEcqKvVIzg6PAltWjxcSSPrboA4iA==", + "license": "MIT", + "dependencies": { + "eventsource-parser": "^3.0.1" + }, + "engines": { + "node": ">=18.0.0" + } + }, + "node_modules/eventsource-parser": { + "version": "3.0.6", + "resolved": "https://registry.npmjs.org/eventsource-parser/-/eventsource-parser-3.0.6.tgz", + "integrity": "sha512-Vo1ab+QXPzZ4tCa8SwIHJFaSzy4R6SHf7BY79rFBDf0idraZWAkYrDjDj8uWaSm3S2TK+hJ7/t1CEmZ7jXw+pg==", + "license": "MIT", + "engines": { + "node": ">=18.0.0" + } + }, + "node_modules/express": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/express/-/express-5.1.0.tgz", + "integrity": "sha512-DT9ck5YIRU+8GYzzU5kT3eHGA5iL+1Zd0EutOmTE9Dtk+Tvuzd23VBU+ec7HPNSTxXYO55gPV/hq4pSBJDjFpA==", + "license": "MIT", + "dependencies": { + "accepts": "^2.0.0", + "body-parser": "^2.2.0", + "content-disposition": "^1.0.0", + "content-type": "^1.0.5", + "cookie": "^0.7.1", + "cookie-signature": "^1.2.1", + "debug": "^4.4.0", + "encodeurl": "^2.0.0", + "escape-html": "^1.0.3", + "etag": "^1.8.1", + "finalhandler": "^2.1.0", + "fresh": "^2.0.0", + "http-errors": "^2.0.0", + "merge-descriptors": "^2.0.0", + "mime-types": "^3.0.0", + "on-finished": "^2.4.1", + "once": "^1.4.0", + "parseurl": "^1.3.3", + "proxy-addr": "^2.0.7", + "qs": "^6.14.0", + "range-parser": "^1.2.1", + "router": "^2.2.0", + "send": "^1.1.0", + "serve-static": "^2.2.0", + "statuses": "^2.0.1", + "type-is": "^2.0.1", + "vary": "^1.1.2" + }, + "engines": { + "node": ">= 18" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" + } + }, + "node_modules/express-rate-limit": { + "version": "7.5.1", + "resolved": "https://registry.npmjs.org/express-rate-limit/-/express-rate-limit-7.5.1.tgz", + "integrity": "sha512-7iN8iPMDzOMHPUYllBEsQdWVB6fPDMPqwjBaFrgr4Jgr/+okjvzAy+UHlYYL/Vs0OsOrMkwS6PJDkFlJwoxUnw==", + "license": "MIT", + "engines": { + "node": ">= 16" + }, + "funding": { + "url": "https://github.com/sponsors/express-rate-limit" + }, + "peerDependencies": { + "express": ">= 4.11" + } + }, + "node_modules/fast-deep-equal": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", + "license": "MIT" + }, + "node_modules/fast-json-stable-stringify": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", + "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", + "license": "MIT" + }, + "node_modules/finalhandler": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-2.1.0.tgz", + "integrity": "sha512-/t88Ty3d5JWQbWYgaOGCCYfXRwV1+be02WqYYlL6h0lEiUAMPM8o8qKGO01YIkOHzka2up08wvgYD0mDiI+q3Q==", + "license": "MIT", + "dependencies": { + "debug": "^4.4.0", + "encodeurl": "^2.0.0", + "escape-html": "^1.0.3", + "on-finished": "^2.4.1", + "parseurl": "^1.3.3", + "statuses": "^2.0.1" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/forwarded": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz", + "integrity": "sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/fresh": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/fresh/-/fresh-2.0.0.tgz", + "integrity": "sha512-Rx/WycZ60HOaqLKAi6cHRKKI7zxWbJ31MhntmtwMoaTeF7XFH9hhBp8vITaMidfljRQ6eYWCKkaTK+ykVJHP2A==", + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==", + "dev": true, + "license": "ISC" + }, + "node_modules/fsevents": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", + "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", + "dev": true, + "hasInstallScript": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" + } + }, + "node_modules/function-bind": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", + "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==", + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/get-caller-file": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", + "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", + "license": "ISC", + "engines": { + "node": "6.* || 8.* || >= 10.*" + } + }, + "node_modules/get-intrinsic": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.3.0.tgz", + "integrity": "sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ==", + "license": "MIT", + "dependencies": { + "call-bind-apply-helpers": "^1.0.2", + "es-define-property": "^1.0.1", + "es-errors": "^1.3.0", + "es-object-atoms": "^1.1.1", + "function-bind": "^1.1.2", + "get-proto": "^1.0.1", + "gopd": "^1.2.0", + "has-symbols": "^1.1.0", + "hasown": "^2.0.2", + "math-intrinsics": "^1.1.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/get-proto": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/get-proto/-/get-proto-1.0.1.tgz", + "integrity": "sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==", + "license": "MIT", + "dependencies": { + "dunder-proto": "^1.0.1", + "es-object-atoms": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/get-tsconfig": { + "version": "4.10.1", + "resolved": "https://registry.npmjs.org/get-tsconfig/-/get-tsconfig-4.10.1.tgz", + "integrity": "sha512-auHyJ4AgMz7vgS8Hp3N6HXSmlMdUyhSUrfBF16w153rxtLIEOE+HGqaBppczZvnHLqQJfiHotCYpNhl0lUROFQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "resolve-pkg-maps": "^1.0.0" + }, + "funding": { + "url": "https://github.com/privatenumber/get-tsconfig?sponsor=1" + } + }, + "node_modules/glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "deprecated": "Glob versions prior to v9 are no longer supported", + "dev": true, + "license": "ISC", + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/gopd": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.2.0.tgz", + "integrity": "sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-symbols": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.1.0.tgz", + "integrity": "sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/hasown": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz", + "integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==", + "license": "MIT", + "dependencies": { + "function-bind": "^1.1.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/http-errors": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz", + "integrity": "sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==", + "license": "MIT", + "dependencies": { + "depd": "2.0.0", + "inherits": "2.0.4", + "setprototypeof": "1.2.0", + "statuses": "2.0.1", + "toidentifier": "1.0.1" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/http-errors/node_modules/statuses": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", + "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==", + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/iconv-lite": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", + "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", + "license": "MIT", + "dependencies": { + "safer-buffer": ">= 2.1.2 < 3.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", + "deprecated": "This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful.", + "dev": true, + "license": "ISC", + "dependencies": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "node_modules/inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", + "license": "ISC" + }, + "node_modules/interpret": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/interpret/-/interpret-1.4.0.tgz", + "integrity": "sha512-agE4QfB2Lkp9uICn7BAqoscw4SZP9kTE2hxiFI3jBPmXJfdqiahTbUuKGsMoN2GtqL9AxhYioAcVvgsb1HvRbA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/ipaddr.js": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz", + "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==", + "license": "MIT", + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/is-core-module": { + "version": "2.16.1", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.16.1.tgz", + "integrity": "sha512-UfoeMA6fIJ8wTYFEUjelnaGI67v6+N7qXJEvQuIGa99l4xsCruSYOVSQ0uPANn4dAzm8lkYPaKLrrijLq7x23w==", + "dev": true, + "license": "MIT", + "dependencies": { + "hasown": "^2.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/is-promise": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/is-promise/-/is-promise-4.0.0.tgz", + "integrity": "sha512-hvpoI6korhJMnej285dSg6nu1+e6uxs7zG3BYAm5byqDsgJNWwxzM6z6iZiAgQR4TJ30JmBTOwqZUw3WlyH3AQ==", + "license": "MIT" + }, + "node_modules/isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", + "license": "ISC" + }, + "node_modules/json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", + "license": "MIT" + }, + "node_modules/math-intrinsics": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/math-intrinsics/-/math-intrinsics-1.1.0.tgz", + "integrity": "sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/media-typer": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-1.1.0.tgz", + "integrity": "sha512-aisnrDP4GNe06UcKFnV5bfMNPBUw4jsLGaWwWfnH3v02GnBuXX2MCVn5RbrWo0j3pczUilYblq7fQ7Nw2t5XKw==", + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/merge-descriptors": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-2.0.0.tgz", + "integrity": "sha512-Snk314V5ayFLhp3fkUREub6WtjBfPdCPY1Ln8/8munuLuiYhsABgBVWsozAG+MWMbVEvcdcpbi9R7ww22l9Q3g==", + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/mime-db": { + "version": "1.54.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.54.0.tgz", + "integrity": "sha512-aU5EJuIN2WDemCcAp2vFBfp/m4EAhWJnUNSSw0ixs7/kXbd6Pg64EmwJkNdFhB8aWt1sH2CTXrLxo/iAGV3oPQ==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mime-types": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-3.0.1.tgz", + "integrity": "sha512-xRc4oEhT6eaBpU1XF7AjpOFD+xQmXNB5OVKwp4tqCuBpHLS/ZbBDrc07mYTDqVMg6PfxUjjNp85O6Cd2Z/5HWA==", + "license": "MIT", + "dependencies": { + "mime-db": "^1.54.0" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/minimist": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz", + "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==", + "dev": true, + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "license": "MIT" + }, + "node_modules/negotiator": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-1.0.0.tgz", + "integrity": "sha512-8Ofs/AUQh8MaEcrlq5xOX0CQ9ypTF5dl78mjlMNfOK08fzpgTHQRQPBxcPlEtIw0yRpws+Zo/3r+5WRby7u3Gg==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/object-assign": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object-inspect": { + "version": "1.13.4", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.4.tgz", + "integrity": "sha512-W67iLl4J2EXEGTbfeHCffrjDfitvLANg0UlX3wFUUSTx92KXRFegMHUVgSqE+wvhAbi4WqjGg9czysTV2Epbew==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/on-finished": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz", + "integrity": "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==", + "license": "MIT", + "dependencies": { + "ee-first": "1.1.1" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", + "license": "ISC", + "dependencies": { + "wrappy": "1" + } + }, + "node_modules/parseurl": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", + "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==", + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/path-key": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/path-parse": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", + "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", + "dev": true, + "license": "MIT" + }, + "node_modules/path-to-regexp": { + "version": "8.2.0", + "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-8.2.0.tgz", + "integrity": "sha512-TdrF7fW9Rphjq4RjrW0Kp2AW0Ahwu9sRGTkS6bvDi0SCwZlEZYmcfDbEsTz8RVk0EHIS/Vd1bv3JhG+1xZuAyQ==", + "license": "MIT", + "engines": { + "node": ">=16" + } + }, + "node_modules/pkce-challenge": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/pkce-challenge/-/pkce-challenge-5.0.0.tgz", + "integrity": "sha512-ueGLflrrnvwB3xuo/uGob5pd5FN7l0MsLf0Z87o/UQmRtwjvfylfc9MurIxRAWywCYTgrvpXBcqjV4OfCYGCIQ==", + "license": "MIT", + "engines": { + "node": ">=16.20.0" + } + }, + "node_modules/proxy-addr": { + "version": "2.0.7", + "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz", + "integrity": "sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==", + "license": "MIT", + "dependencies": { + "forwarded": "0.2.0", + "ipaddr.js": "1.9.1" + }, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/punycode": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz", + "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/qs": { + "version": "6.14.0", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.14.0.tgz", + "integrity": "sha512-YWWTjgABSKcvs/nWBi9PycY/JiPJqOD4JA6o9Sej2AtvSGarXxKC3OQSk4pAarbdQlKAh5D4FCQkJNkW+GAn3w==", + "license": "BSD-3-Clause", + "dependencies": { + "side-channel": "^1.1.0" + }, + "engines": { + "node": ">=0.6" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/range-parser": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", + "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/raw-body": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-3.0.0.tgz", + "integrity": "sha512-RmkhL8CAyCRPXCE28MMH0z2PNWQBNk2Q09ZdxM9IOOXwxwZbN+qbWaatPkdkWIKL2ZVDImrN/pK5HTRz2PcS4g==", + "license": "MIT", + "dependencies": { + "bytes": "3.1.2", + "http-errors": "2.0.0", + "iconv-lite": "0.6.3", + "unpipe": "1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/rechoir": { + "version": "0.6.2", + "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.6.2.tgz", + "integrity": "sha512-HFM8rkZ+i3zrV+4LQjwQ0W+ez98pApMGM3HUrN04j3CqzPOzl9nmP15Y8YXNm8QHGv/eacOVEjqhmWpkRV0NAw==", + "dev": true, + "dependencies": { + "resolve": "^1.1.6" + }, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/require-directory": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", + "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/resolve": { + "version": "1.22.10", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.10.tgz", + "integrity": "sha512-NPRy+/ncIMeDlTAsuqwKIiferiawhefFJtkNSW0qZJEqMEb+qBt/77B/jGeeek+F0uOeN05CDa6HXbbIgtVX4w==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-core-module": "^2.16.0", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" + }, + "bin": { + "resolve": "bin/resolve" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/resolve-pkg-maps": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/resolve-pkg-maps/-/resolve-pkg-maps-1.0.0.tgz", + "integrity": "sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw==", + "dev": true, + "license": "MIT", + "funding": { + "url": "https://github.com/privatenumber/resolve-pkg-maps?sponsor=1" + } + }, + "node_modules/router": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/router/-/router-2.2.0.tgz", + "integrity": "sha512-nLTrUKm2UyiL7rlhapu/Zl45FwNgkZGaCpZbIHajDYgwlJCOzLSk+cIPAnsEqV955GjILJnKbdQC1nVPz+gAYQ==", + "license": "MIT", + "dependencies": { + "debug": "^4.4.0", + "depd": "^2.0.0", + "is-promise": "^4.0.0", + "parseurl": "^1.3.3", + "path-to-regexp": "^8.0.0" + }, + "engines": { + "node": ">= 18" + } + }, + "node_modules/safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT" + }, + "node_modules/safer-buffer": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", + "license": "MIT" + }, + "node_modules/send": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/send/-/send-1.2.0.tgz", + "integrity": "sha512-uaW0WwXKpL9blXE2o0bRhoL2EGXIrZxQ2ZQ4mgcfoBxdFmQold+qWsD2jLrfZ0trjKL6vOw0j//eAwcALFjKSw==", + "license": "MIT", + "dependencies": { + "debug": "^4.3.5", + "encodeurl": "^2.0.0", + "escape-html": "^1.0.3", + "etag": "^1.8.1", + "fresh": "^2.0.0", + "http-errors": "^2.0.0", + "mime-types": "^3.0.1", + "ms": "^2.1.3", + "on-finished": "^2.4.1", + "range-parser": "^1.2.1", + "statuses": "^2.0.1" + }, + "engines": { + "node": ">= 18" + } + }, + "node_modules/serve-static": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-2.2.0.tgz", + "integrity": "sha512-61g9pCh0Vnh7IutZjtLGGpTA355+OPn2TyDv/6ivP2h/AdAVX9azsoxmg2/M6nZeQZNYBEwIcsne1mJd9oQItQ==", + "license": "MIT", + "dependencies": { + "encodeurl": "^2.0.0", + "escape-html": "^1.0.3", + "parseurl": "^1.3.3", + "send": "^1.2.0" + }, + "engines": { + "node": ">= 18" + } + }, + "node_modules/setprototypeof": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz", + "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==", + "license": "ISC" + }, + "node_modules/shebang-command": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", + "license": "MIT", + "dependencies": { + "shebang-regex": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/shebang-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/shelljs": { + "version": "0.8.5", + "resolved": "https://registry.npmjs.org/shelljs/-/shelljs-0.8.5.tgz", + "integrity": "sha512-TiwcRcrkhHvbrZbnRcFYMLl30Dfov3HKqzp5tO5b4pt6G/SezKcYhmDg15zXVBswHmctSAQKznqNW2LO5tTDow==", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "glob": "^7.0.0", + "interpret": "^1.0.0", + "rechoir": "^0.6.2" + }, + "bin": { + "shjs": "bin/shjs" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/shx": { + "version": "0.3.4", + "resolved": "https://registry.npmjs.org/shx/-/shx-0.3.4.tgz", + "integrity": "sha512-N6A9MLVqjxZYcVn8hLmtneQWIJtp8IKzMP4eMnx+nqkvXoqinUPCbUFLp2UcWTEIUONhlk0ewxr/jaVGlc+J+g==", + "dev": true, + "license": "MIT", + "dependencies": { + "minimist": "^1.2.3", + "shelljs": "^0.8.5" + }, + "bin": { + "shx": "lib/cli.js" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/side-channel": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.1.0.tgz", + "integrity": "sha512-ZX99e6tRweoUXqR+VBrslhda51Nh5MTQwou5tnUDgbtyM0dBgmhEDtWGP/xbKn6hqfPRHujUNwz5fy/wbbhnpw==", + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "object-inspect": "^1.13.3", + "side-channel-list": "^1.0.0", + "side-channel-map": "^1.0.1", + "side-channel-weakmap": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/side-channel-list": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/side-channel-list/-/side-channel-list-1.0.0.tgz", + "integrity": "sha512-FCLHtRD/gnpCiCHEiJLOwdmFP+wzCmDEkc9y7NsYxeF4u7Btsn1ZuwgwJGxImImHicJArLP4R0yX4c2KCrMrTA==", + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "object-inspect": "^1.13.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/side-channel-map": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/side-channel-map/-/side-channel-map-1.0.1.tgz", + "integrity": "sha512-VCjCNfgMsby3tTdo02nbjtM/ewra6jPHmpThenkTYh8pG9ucZ/1P8So4u4FGBek/BjpOVsDCMoLA/iuBKIFXRA==", + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.2", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.5", + "object-inspect": "^1.13.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/side-channel-weakmap": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/side-channel-weakmap/-/side-channel-weakmap-1.0.2.tgz", + "integrity": "sha512-WPS/HvHQTYnHisLo9McqBHOJk2FkHO/tlpvldyrnem4aeQp4hai3gythswg6p01oSoTl58rcpiFAjF2br2Ak2A==", + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.2", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.5", + "object-inspect": "^1.13.3", + "side-channel-map": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/statuses": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.2.tgz", + "integrity": "sha512-DvEy55V3DB7uknRo+4iOGT5fP1slR8wQohVdknigZPMpMstaKJQWhwiYBACJE3Ul2pTnATihhBYnRhZQHGBiRw==", + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "license": "MIT", + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "license": "MIT", + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/supports-preserve-symlinks-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", + "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/toidentifier": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz", + "integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==", + "license": "MIT", + "engines": { + "node": ">=0.6" + } + }, + "node_modules/tsx": { + "version": "4.20.5", + "resolved": "https://registry.npmjs.org/tsx/-/tsx-4.20.5.tgz", + "integrity": "sha512-+wKjMNU9w/EaQayHXb7WA7ZaHY6hN8WgfvHNQ3t1PnU91/7O8TcTnIhCDYTZwnt8JsO9IBqZ30Ln1r7pPF52Aw==", + "dev": true, + "license": "MIT", + "dependencies": { + "esbuild": "~0.25.0", + "get-tsconfig": "^4.7.5" + }, + "bin": { + "tsx": "dist/cli.mjs" + }, + "engines": { + "node": ">=18.0.0" + }, + "optionalDependencies": { + "fsevents": "~2.3.3" + } + }, + "node_modules/type-is": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/type-is/-/type-is-2.0.1.tgz", + "integrity": "sha512-OZs6gsjF4vMp32qrCbiVSkrFmXtG/AZhY3t0iAMrMBiAZyV9oALtXO8hsrHbMXF9x6L3grlFuwW2oAz7cav+Gw==", + "license": "MIT", + "dependencies": { + "content-type": "^1.0.5", + "media-typer": "^1.1.0", + "mime-types": "^3.0.0" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/typescript": { + "version": "5.9.2", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.9.2.tgz", + "integrity": "sha512-CWBzXQrc/qOkhidw1OzBTQuYRbfyxDXJMVJ1XNwUHGROVmuaeiEm3OslpZ1RV96d7SKKjZKrSJu3+t/xlw3R9A==", + "dev": true, + "license": "Apache-2.0", + "bin": { + "tsc": "bin/tsc", + "tsserver": "bin/tsserver" + }, + "engines": { + "node": ">=14.17" + } + }, + "node_modules/undici-types": { + "version": "6.21.0", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.21.0.tgz", + "integrity": "sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/unpipe": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", + "integrity": "sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==", + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/uri-js": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", + "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", + "license": "BSD-2-Clause", + "dependencies": { + "punycode": "^2.1.0" + } + }, + "node_modules/vary": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", + "integrity": "sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==", + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "license": "ISC", + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "node-which": "bin/node-which" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/wrap-ansi": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "node_modules/wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", + "license": "ISC" + }, + "node_modules/y18n": { + "version": "5.0.8", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", + "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", + "license": "ISC", + "engines": { + "node": ">=10" + } + }, + "node_modules/yargs": { + "version": "17.7.2", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz", + "integrity": "sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==", + "license": "MIT", + "dependencies": { + "cliui": "^8.0.1", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.3", + "y18n": "^5.0.5", + "yargs-parser": "^21.1.1" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/yargs-parser": { + "version": "21.1.1", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz", + "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==", + "license": "ISC", + "engines": { + "node": ">=12" + } + }, + "node_modules/zod": { + "version": "3.25.76", + "resolved": "https://registry.npmjs.org/zod/-/zod-3.25.76.tgz", + "integrity": "sha512-gzUt/qt81nXsFGKIFcC3YnfEAx5NkunCfnDlvuBSSFS02bcXu4Lmea0AFIUwbLWxWPx3d9p8S5QoaujKcNQxcQ==", + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/colinhacks" + } + }, + "node_modules/zod-to-json-schema": { + "version": "3.24.6", + "resolved": "https://registry.npmjs.org/zod-to-json-schema/-/zod-to-json-schema-3.24.6.tgz", + "integrity": "sha512-h/z3PKvcTcTetyjl1fkj79MHNEjm+HpD6NXheWjzOekY7kV+lwDYnHw+ivHkijnCSMz1yJaWBD9vu/Fcmk+vEg==", + "license": "ISC", + "peerDependencies": { + "zod": "^3.24.1" + } + } + } +} diff --git a/src/analogical-reasoning/package.json b/src/analogical-reasoning/package.json index 193330c..1e59c66 100644 --- a/src/analogical-reasoning/package.json +++ b/src/analogical-reasoning/package.json @@ -4,6 +4,7 @@ "description": "MCP server for diagrammatic thinking and spatial representation", "license": "MIT", "type": "module", + "module": "index.ts", "repository": { "type": "git", "url": "https://github.com/waldzellai/model-enhancement-servers.git", @@ -27,19 +28,22 @@ "dist" ], "scripts": { - "build": "tsc && shx chmod +x dist/*.js", - "prepare": "npm run build", - "watch": "tsc --watch" + "dev": "npx @smithery/cli dev", + "build": "npx @smithery/cli build", + "start": "node .smithery/index.cjs" }, "dependencies": { "@modelcontextprotocol/sdk": "^1.10.2", "chalk": "^5.3.0", - "yargs": "^17.7.2" + "yargs": "^17.7.2", + "zod": "^3.25.76", + "zod-to-json-schema": "^3.24.6" }, "devDependencies": { "@types/node": "^22", "@types/yargs": "^17.0.32", "shx": "^0.3.4", + "tsx": "^4.20.5", "typescript": "^5.3.3" } } diff --git a/src/analogical-reasoning/smithery.yaml b/src/analogical-reasoning/smithery.yaml index 6f2c0c5..ebede50 100644 --- a/src/analogical-reasoning/smithery.yaml +++ b/src/analogical-reasoning/smithery.yaml @@ -1,14 +1 @@ -build: - dockerBuildPath: ../../ - dockerfile: src/analogical-reasoning/Dockerfile -startCommand: - type: stdio - configSchema: - type: object - properties: {} - commandFunction: | - (config) => ({ - command: 'node', - args: ['dist/index.js'], - env: {} - }) \ No newline at end of file +runtime: typescript \ No newline at end of file diff --git a/src/focus-group/Dockerfile b/src/focus-group/Dockerfile deleted file mode 100644 index 720e229..0000000 --- a/src/focus-group/Dockerfile +++ /dev/null @@ -1,20 +0,0 @@ -FROM node:18-alpine - -WORKDIR /app - -# Copy package files and install dependencies -COPY package*.json ./ -RUN npm ci --omit=dev - -# Copy tsconfig.json and source code -COPY tsconfig.json ./ -COPY *.ts ./ - -# Build TypeScript code -RUN npm run build - -# Set user to non-root -USER node - -# Set entrypoint to the server -ENTRYPOINT ["node", "dist/index.js"] \ No newline at end of file diff --git a/src/focus-group/README.md b/src/focus-group/README.md deleted file mode 100644 index fe88463..0000000 --- a/src/focus-group/README.md +++ /dev/null @@ -1,88 +0,0 @@ -# Focus Group MCP Server - -An MCP server for simulating focus groups with different LLM user personas to evaluate and critique other MCP servers. - -## Overview - -The Focus Group MCP server allows language models to: - -- Simulate multiple LLM user personas with different needs and expectations -- Provide structured feedback on MCP servers from diverse perspectives -- Analyze specific focus areas like API design, usability, and documentation -- Generate actionable recommendations for server improvements -- Prioritize enhancements based on user impact - -This server is particularly valuable during the development process of MCP servers to ensure they meet the needs of various types of LLM users. - -## Installation - -```bash -npm install -npm run build -``` - -## Usage - -The Focus Group server can be run using: - -```bash -node dist/index.js -``` - -As an MCP server, it communicates using stdin/stdout according to the MCP protocol. - -## Key Features - -- Multi-persona simulation for diverse user perspectives -- Structured feedback collection process -- Focus area analysis for targeted improvements -- Feedback categorization to make input actionable -- Recommendation generation and prioritization - -For complete documentation, see [focus-group-server.md](./docs/focus-group-server.md). - -## Example - -Here's a simplified example of invoking the Focus Group tool: - -```json -{ - "targetServer": "scientific-method-server", - "personas": [ - { - "id": "novice-llm", - "name": "Novice LLM", - "userType": "beginner", - "usageScenario": "First-time use of MCP tools", - "expectations": ["Clear instructions", "Simple API"], - "priorities": ["Ease of use", "Good error messages"], - "constraints": ["Limited tool experience", "Needs guidance"], - "communication": { - "style": "direct", - "tone": "casual" - } - }, - { - "id": "expert-llm", - "name": "Expert LLM", - "userType": "advanced", - "usageScenario": "Complex reasoning tasks", - "expectations": ["Flexible API", "Advanced features"], - "priorities": ["Power", "Efficiency"], - "constraints": ["Needs optimal workflows"], - "communication": { - "style": "analytical", - "tone": "professional" - } - } - ], - "feedback": [], - "stage": "introduction", - "activePersonaId": "novice-llm", - "sessionId": "session-123", - "iteration": 0, - "nextFeedbackNeeded": true -} -``` - -The Focus Group server would process this data, set up the participants, and begin the evaluation process, managing the turn-taking and feedback integration to produce useful insights for improving the target server. \ No newline at end of file diff --git a/src/focus-group/dist/index.d.ts b/src/focus-group/dist/index.d.ts deleted file mode 100644 index dc1ec89..0000000 --- a/src/focus-group/dist/index.d.ts +++ /dev/null @@ -1,3 +0,0 @@ -#!/usr/bin/env node -export {}; -//# sourceMappingURL=index.d.ts.map \ No newline at end of file diff --git a/src/focus-group/dist/index.d.ts.map b/src/focus-group/dist/index.d.ts.map deleted file mode 100644 index 1be7a7a..0000000 --- a/src/focus-group/dist/index.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":""} \ No newline at end of file diff --git a/src/focus-group/dist/index.js b/src/focus-group/dist/index.js deleted file mode 100644 index 0f30db1..0000000 --- a/src/focus-group/dist/index.js +++ /dev/null @@ -1,603 +0,0 @@ -#!/usr/bin/env node -import { Server } from "@modelcontextprotocol/sdk/server/index.js"; -import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio.js"; -import { CallToolRequestSchema, ListToolsRequestSchema, } from "@modelcontextprotocol/sdk/types.js"; -import chalk from 'chalk'; -class FocusGroupServer { - constructor() { - this.personaRegistry = {}; - this.feedbackHistory = {}; - this.focusAreaTracker = {}; - this.sessionHistory = {}; - } - validateFocusGroupData(input) { - const data = input; - // Validate required fields - if (!data.targetServer || typeof data.targetServer !== 'string') { - throw new Error('Invalid targetServer: must be a string'); - } - if (!Array.isArray(data.personas)) { - throw new Error('Invalid personas: must be an array'); - } - if (!Array.isArray(data.feedback)) { - throw new Error('Invalid feedback: must be an array'); - } - if (!data.stage || typeof data.stage !== 'string') { - throw new Error('Invalid stage: must be a string'); - } - if (!data.activePersonaId || typeof data.activePersonaId !== 'string') { - throw new Error('Invalid activePersonaId: must be a string'); - } - if (!data.sessionId || typeof data.sessionId !== 'string') { - throw new Error('Invalid sessionId: must be a string'); - } - if (typeof data.iteration !== 'number' || data.iteration < 0) { - throw new Error('Invalid iteration: must be a non-negative number'); - } - if (typeof data.nextFeedbackNeeded !== 'boolean') { - throw new Error('Invalid nextFeedbackNeeded: must be a boolean'); - } - // TODO: Add detailed validation for personas, feedback, and focusAreaAnalyses - // similar to the collaborative-reasoning server - // For now, return the data with minimal validation - return data; - } - updateRegistries(data) { - const sessionId = data.sessionId; - // Update persona registry - if (!this.personaRegistry[sessionId]) { - this.personaRegistry[sessionId] = {}; - } - for (const persona of data.personas) { - this.personaRegistry[sessionId][persona.id] = persona; - } - // Update feedback history - if (!this.feedbackHistory[sessionId]) { - this.feedbackHistory[sessionId] = []; - } - for (const feedback of data.feedback) { - // Only add new feedback - const exists = this.feedbackHistory[sessionId].some(f => f.personaId === feedback.personaId && f.content === feedback.content); - if (!exists) { - this.feedbackHistory[sessionId].push(feedback); - } - } - // Update focus area tracker - if (data.focusAreaAnalyses && data.focusAreaAnalyses.length > 0) { - if (!this.focusAreaTracker[sessionId]) { - this.focusAreaTracker[sessionId] = []; - } - for (const analysis of data.focusAreaAnalyses) { - // Check if this focus area already exists - const existingIndex = this.focusAreaTracker[sessionId].findIndex(a => a.area === analysis.area); - if (existingIndex >= 0) { - // Update existing analysis - this.focusAreaTracker[sessionId][existingIndex] = analysis; - } - else { - // Add new analysis - this.focusAreaTracker[sessionId].push(analysis); - } - } - } - } - updateSessionHistory(data) { - let historyEntry = this.sessionHistory[data.sessionId]; - if (!historyEntry) { - historyEntry = []; - this.sessionHistory[data.sessionId] = historyEntry; - } - historyEntry.push(data); - this.updateRegistries(data); - } - selectNextPersona(data) { - // If nextPersonaId is already set, use it - if (data.nextPersonaId) { - return data.nextPersonaId; - } - // Otherwise, select the next persona in rotation - if (!data.personas || data.personas.length === 0) { - throw new Error("Cannot determine next persona: No personas defined in session."); - } - const personaIds = data.personas.map(p => p.id); - const currentIndex = personaIds.indexOf(data.activePersonaId); - // If active persona not found (shouldn't happen ideally), default to first - const nextIndex = currentIndex === -1 ? 0 : (currentIndex + 1) % personaIds.length; - return personaIds[nextIndex]; - } - getPersonaColor(index) { - const colors = [ - chalk.blue, - chalk.green, - chalk.yellow, - chalk.magenta, - chalk.cyan, - chalk.red - ]; - return colors[index % colors.length]; - } - getFeedbackTypeColor(type) { - switch (type) { - case 'praise': return chalk.green; - case 'confusion': return chalk.yellow; - case 'suggestion': return chalk.blue; - case 'usability': return chalk.magenta; - case 'feature': return chalk.cyan; - case 'bug': return chalk.red; - case 'summary': return chalk.white; - default: return chalk.white; - } - } - getSeverityBar(severity) { - const barLength = 20; - const filledLength = Math.round(severity * barLength); - const emptyLength = barLength - filledLength; - let bar = '['; - // Choose color based on severity level - let color; - if (severity >= 0.8) { - color = chalk.red; - } - else if (severity >= 0.5) { - color = chalk.yellow; - } - else { - color = chalk.green; - } - bar += color('='.repeat(filledLength)); - bar += ' '.repeat(emptyLength); - bar += `] ${(severity * 100).toFixed(0)}%`; - return bar; - } - visualizeFocusGroup(data) { - let output = `\n${chalk.bold(`FOCUS GROUP: ${data.targetServer}`)} (ID: ${data.sessionId})\n\n`; - // Stage and iteration - output += `${chalk.cyan('Stage:')} ${data.stage}\n`; - output += `${chalk.cyan('Iteration:')} ${data.iteration}\n\n`; - // Personas - output += `${chalk.bold('PERSONAS:')}\n`; - for (let i = 0; i < data.personas.length; i++) { - const persona = data.personas[i]; - const color = this.getPersonaColor(i); - output += `${color(`${persona.name} (${persona.id})`)}\n`; - output += ` User Type: ${persona.userType}\n`; - output += ` Scenario: ${persona.usageScenario}\n`; - output += ` Priorities: ${persona.priorities.join(', ')}\n`; - // Highlight active persona - if (persona.id === data.activePersonaId) { - output += ` ${chalk.bgGreen(chalk.black(' ACTIVE '))}\n`; - } - output += '\n'; - } - // Feedback - if (data.feedback.length > 0) { - output += `${chalk.bold('FEEDBACK:')}\n\n`; - for (const feedback of data.feedback) { - // Find persona - const persona = data.personas.find(p => p.id === feedback.personaId); - if (!persona) - continue; - // Get persona color - const personaIndex = data.personas.findIndex(p => p.id === feedback.personaId); - const personaColor = this.getPersonaColor(personaIndex); - // Get feedback type color - const typeColor = this.getFeedbackTypeColor(feedback.type); - output += `${personaColor(`[${persona.name}]`)} ${typeColor(`[${feedback.type}]`)}${feedback.targetComponent ? ` on ${feedback.targetComponent}` : ''}\n`; - output += `${feedback.content}\n`; - output += `Severity: ${this.getSeverityBar(feedback.severity)}\n`; - if (feedback.referenceIds && feedback.referenceIds.length > 0) { - output += `References: ${feedback.referenceIds.join(', ')}\n`; - } - output += '\n'; - } - } - // Focus Area Analyses - if (data.focusAreaAnalyses && data.focusAreaAnalyses.length > 0) { - output += `${chalk.bold('FOCUS AREA ANALYSES:')}\n\n`; - for (const analysis of data.focusAreaAnalyses) { - output += `${chalk.cyan('Area:')} ${analysis.area}\n\n`; - for (const finding of analysis.findings) { - // Find persona - const persona = data.personas.find(p => p.id === finding.personaId); - if (!persona) - continue; - // Get persona color - const personaIndex = data.personas.findIndex(p => p.id === finding.personaId); - const personaColor = this.getPersonaColor(personaIndex); - output += `${personaColor(`[${persona.name}]`)} Finding: ${finding.finding}\n`; - output += ` Impact: ${finding.impact}\n`; - if (finding.suggestion) { - output += ` Suggestion: ${finding.suggestion}\n`; - } - output += '\n'; - } - if (analysis.resolution) { - output += `${chalk.green('Resolution:')} ${analysis.resolution.type}\n`; - output += `${analysis.resolution.description}\n\n`; - } - else { - output += `${chalk.yellow('Status:')} Unresolved\n\n`; - } - } - } - // Analysis output - if (data.keyStrengths && data.keyStrengths.length > 0) { - output += `${chalk.bold('KEY STRENGTHS:')}\n`; - for (const strength of data.keyStrengths) { - output += ` - ${strength}\n`; - } - output += '\n'; - } - if (data.keyWeaknesses && data.keyWeaknesses.length > 0) { - output += `${chalk.bold('KEY WEAKNESSES:')}\n`; - for (const weakness of data.keyWeaknesses) { - output += ` - ${weakness}\n`; - } - output += '\n'; - } - if (data.topRecommendations && data.topRecommendations.length > 0) { - output += `${chalk.bold('TOP RECOMMENDATIONS:')}\n`; - for (const recommendation of data.topRecommendations) { - output += ` - ${recommendation}\n`; - } - output += '\n'; - } - if (data.unanimousPoints && data.unanimousPoints.length > 0) { - output += `${chalk.bold('UNANIMOUS POINTS:')}\n`; - for (const point of data.unanimousPoints) { - output += ` - ${point}\n`; - } - output += '\n'; - } - // Next steps - if (data.nextFeedbackNeeded) { - const nextPersonaId = this.selectNextPersona(data); - const nextPersona = data.personas.find(p => p.id === nextPersonaId); - if (nextPersona) { - output += `${chalk.blue('NEXT FEEDBACK:')}\n`; - output += ` Next persona: ${nextPersona.name}\n`; - if (data.suggestedFeedbackTypes && data.suggestedFeedbackTypes.length > 0) { - output += ` Suggested feedback types: ${data.suggestedFeedbackTypes.join(', ')}\n`; - } - if (data.suggestedFocusArea) { - output += ` Suggested focus area: ${data.suggestedFocusArea}\n`; - } - } - } - return output; - } - processFocusGroup(input) { - try { - const validatedInput = this.validateFocusGroupData(input); - // Update the next persona if not specified - if (!validatedInput.nextPersonaId && validatedInput.nextFeedbackNeeded) { - validatedInput.nextPersonaId = this.selectNextPersona(validatedInput); - } - // Update session state - this.updateSessionHistory(validatedInput); - // Generate visualization - const visualization = this.visualizeFocusGroup(validatedInput); - console.error(visualization); - // Return the focus group result - return { - content: [{ - type: "text", - text: JSON.stringify({ - sessionId: validatedInput.sessionId, - targetServer: validatedInput.targetServer, - stage: validatedInput.stage, - iteration: validatedInput.iteration, - personaCount: validatedInput.personas.length, - feedbackCount: validatedInput.feedback.length, - focusAreaCount: validatedInput.focusAreaAnalyses?.length || 0, - activePersonaId: validatedInput.activePersonaId, - nextPersonaId: validatedInput.nextPersonaId, - nextFeedbackNeeded: validatedInput.nextFeedbackNeeded, - suggestedFeedbackTypes: validatedInput.suggestedFeedbackTypes, - suggestedFocusArea: validatedInput.suggestedFocusArea - }, null, 2) - }] - }; - } - catch (error) { - return { - content: [{ - type: "text", - text: JSON.stringify({ - error: error instanceof Error ? error.message : String(error), - status: 'failed' - }, null, 2) - }], - isError: true - }; - } - } -} -const FOCUS_GROUP_TOOL = { - name: "focusGroup", - description: `A specialized tool for conducting LLM-based focus groups to evaluate MCP servers. -This tool helps models analyze MCP servers from multiple user perspectives. -It provides a framework for structured evaluation, feedback collection, and recommendation generation. - -When to use this tool: -- When evaluating a new or updated MCP server -- To identify usability issues from different LLM user perspectives -- To gather diverse feedback on API design and functionality -- To prioritize improvements based on user needs -- When seeking to understand how different types of users might interact with your MCP server - -Key features: -- Multi-persona simulation of different LLM users -- Structured feedback collection process -- Focus area analysis for targeted improvements -- Synthesis of findings across user types -- Actionable recommendation generation`, - inputSchema: { - type: "object", - properties: { - targetServer: { - type: "string", - description: "The name of the MCP server being evaluated" - }, - personas: { - type: "array", - description: "The user personas participating in the focus group", - items: { - type: "object", - properties: { - id: { - type: "string", - description: "Unique identifier for the persona" - }, - name: { - type: "string", - description: "Name of the persona" - }, - userType: { - type: "string", - description: "Type of LLM user (e.g., novice, expert, enterprise, developer)" - }, - usageScenario: { - type: "string", - description: "Typical use case scenario for this user type" - }, - expectations: { - type: "array", - description: "What this user expects from an MCP server", - items: { - type: "string" - } - }, - priorities: { - type: "array", - description: "What aspects of the server are most important to this user", - items: { - type: "string" - } - }, - constraints: { - type: "array", - description: "Limitations or constraints this user operates under", - items: { - type: "string" - } - }, - communication: { - type: "object", - description: "Communication style of the persona", - properties: { - style: { - type: "string", - description: "Communication style (e.g., direct, analytical, narrative)" - }, - tone: { - type: "string", - description: "Tone of communication (e.g., formal, casual, enthusiastic)" - } - }, - required: ["style", "tone"] - } - }, - required: ["id", "name", "userType", "usageScenario", "expectations", "priorities", "constraints", "communication"] - } - }, - feedback: { - type: "array", - description: "Feedback from the personas", - items: { - type: "object", - properties: { - personaId: { - type: "string", - description: "ID of the providing persona" - }, - content: { - type: "string", - description: "Content of the feedback" - }, - type: { - type: "string", - enum: ["praise", "confusion", "suggestion", "usability", "feature", "bug", "summary"], - description: "Type of feedback" - }, - targetComponent: { - type: "string", - description: "The component or aspect of the server this feedback relates to" - }, - severity: { - type: "number", - minimum: 0, - maximum: 1, - description: "Severity or importance of this feedback (0.0-1.0)" - }, - referenceIds: { - type: "array", - description: "IDs of previous feedback this builds upon", - items: { - type: "string" - } - } - }, - required: ["personaId", "content", "type", "severity"] - } - }, - focusAreaAnalyses: { - type: "array", - description: "Analysis of specific focus areas", - items: { - type: "object", - properties: { - area: { - type: "string", - description: "Focus area being analyzed" - }, - findings: { - type: "array", - description: "Findings about this focus area", - items: { - type: "object", - properties: { - personaId: { - type: "string", - description: "ID of the persona making this finding" - }, - finding: { - type: "string", - description: "Description of the finding" - }, - impact: { - type: "string", - description: "Impact of this finding on users" - }, - suggestion: { - type: "string", - description: "Suggested improvement" - } - }, - required: ["personaId", "finding", "impact"] - } - }, - resolution: { - type: "object", - description: "Resolution of the findings, if any", - properties: { - type: { - type: "string", - enum: ["implemented", "considered", "rejected", "deferred"], - description: "Type of resolution" - }, - description: { - type: "string", - description: "Description of the resolution" - } - }, - required: ["type", "description"] - } - }, - required: ["area", "findings"] - } - }, - stage: { - type: "string", - enum: ["introduction", "initial-impressions", "deep-dive", "synthesis", "recommendations", "prioritization"], - description: "Current stage of the focus group process" - }, - activePersonaId: { - type: "string", - description: "ID of the currently active persona" - }, - nextPersonaId: { - type: "string", - description: "ID of the persona that should provide feedback next" - }, - keyStrengths: { - type: "array", - description: "Key strengths identified in the server", - items: { - type: "string" - } - }, - keyWeaknesses: { - type: "array", - description: "Key weaknesses or pain points identified", - items: { - type: "string" - } - }, - topRecommendations: { - type: "array", - description: "Top recommendations for improvement", - items: { - type: "string" - } - }, - unanimousPoints: { - type: "array", - description: "Points on which all personas agree", - items: { - type: "string" - } - }, - sessionId: { - type: "string", - description: "Unique identifier for this focus group session" - }, - iteration: { - type: "number", - minimum: 0, - description: "Current iteration of the focus group" - }, - nextFeedbackNeeded: { - type: "boolean", - description: "Whether another round of feedback is needed" - }, - suggestedFeedbackTypes: { - type: "array", - description: "Suggested types for the next feedback", - items: { - type: "string", - enum: ["praise", "confusion", "suggestion", "usability", "feature", "bug", "summary"] - } - }, - suggestedFocusArea: { - type: "string", - description: "Suggested focus area for the next round of feedback" - } - }, - required: ["targetServer", "personas", "feedback", "stage", "activePersonaId", "sessionId", "iteration", "nextFeedbackNeeded"] - } -}; -const server = new Server({ - name: "focus-group-server", - version: "0.1.0", -}, { - capabilities: { - tools: {}, - }, -}); -const focusGroupServer = new FocusGroupServer(); -server.setRequestHandler(ListToolsRequestSchema, async () => ({ - tools: [FOCUS_GROUP_TOOL], -})); -server.setRequestHandler(CallToolRequestSchema, async (request) => { - if (request.params.name === "focusGroup") { - return focusGroupServer.processFocusGroup(request.params.arguments); - } - return { - content: [{ - type: "text", - text: `Unknown tool: ${request.params.name}` - }], - isError: true - }; -}); -async function runServer() { - const transport = new StdioServerTransport(); - await server.connect(transport); - console.error("Focus Group MCP Server running on stdio"); -} -runServer().catch((error) => { - console.error("Fatal error running server:", error); - process.exit(1); -}); -//# sourceMappingURL=index.js.map \ No newline at end of file diff --git a/src/focus-group/dist/index.js.map b/src/focus-group/dist/index.js.map deleted file mode 100644 index abdcc18..0000000 --- a/src/focus-group/dist/index.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"index.js","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/src/focus-group/docs/focus-group-server.md b/src/focus-group/docs/focus-group-server.md deleted file mode 100644 index ebdad71..0000000 --- a/src/focus-group/docs/focus-group-server.md +++ /dev/null @@ -1,232 +0,0 @@ -# Focus Group MCP Server - -## Motivation - -When developing MCP servers for use by large language models (LLMs), it can be challenging to anticipate how different types of LLM users might interact with, perceive, and experience your server. While developers may have a clear understanding of their API design, actual LLM users might: - -1. Find the server's API confusing or unintuitive -2. Miss opportunities for more effective interaction patterns -3. Experience usability issues that weren't apparent during development -4. Have needs that weren't considered in the original design -5. Use the server in ways the developers hadn't anticipated - -The Focus Group Server addresses these challenges by creating a structured environment for simulating multiple LLM user personas to evaluate and critique MCP servers. By externalizing the evaluation process, models can systematically analyze servers from diverse user perspectives and provide structured, actionable feedback. - -## Technical Specification - -### Tool Interface - -```typescript -interface FocusGroupPersona { - id: string; - name: string; - userType: string; // e.g., novice, expert, enterprise, developer - usageScenario: string; // typical use case scenario - expectations: string[]; - priorities: string[]; - constraints: string[]; - communication: { - style: string; - tone: string; - }; -} - -interface Feedback { - personaId: string; - content: string; - type: "praise" | "confusion" | "suggestion" | "usability" | "feature" | "bug" | "summary"; - targetComponent?: string; // which aspect of the server this feedback relates to - severity: number; // 0.0-1.0, how important this feedback is - referenceIds?: string[]; // IDs of previous feedback this builds upon -} - -interface FocusAreaAnalysis { - area: string; // e.g., "API Design", "Documentation", "Error Handling" - findings: Array<{ - personaId: string; - finding: string; - impact: string; - suggestion?: string; - }>; - resolution?: { - type: "implemented" | "considered" | "rejected" | "deferred"; - description: string; - }; -} - -interface FocusGroupData { - // Core focus group components - targetServer: string; // The MCP server being analyzed - personas: FocusGroupPersona[]; - feedback: Feedback[]; - focusAreaAnalyses?: FocusAreaAnalysis[]; - - // Process structure - stage: "introduction" | "initial-impressions" | "deep-dive" | "synthesis" | "recommendations" | "prioritization"; - activePersonaId: string; - nextPersonaId?: string; - - // Analysis output - keyStrengths?: string[]; - keyWeaknesses?: string[]; - topRecommendations?: string[]; - unanimousPoints?: string[]; - - // Process metadata - sessionId: string; - iteration: number; - - // Next steps - nextFeedbackNeeded: boolean; - suggestedFeedbackTypes?: string[]; - suggestedFocusArea?: string; -} -``` - -### Server Implementation - -The server maintains: - -1. A `personaRegistry` storing defined LLM user personas -2. A `feedbackHistory` tracking all feedback across sessions -3. A `focusAreaTracker` for documenting focused analyses of server aspects -4. Facilitation logic to manage the focus group process - -For each focus group operation, the server: - -1. Validates the input data structure -2. Updates the focus group state -3. Manages persona transitions and facilitation -4. Returns the updated state with suggested next steps - -### Process Flow - -```mermaid -sequenceDiagram - participant Model - participant FocusServer as Focus Group Server - participant State as Focus Group State - - Model->>FocusServer: Define target server and user personas - FocusServer->>State: Initialize focus group with personas - FocusServer-->>Model: Return initial state with first active persona - - Model->>FocusServer: Submit feedback as Persona A - FocusServer->>State: Store feedback - FocusServer-->>Model: Return updated state with next persona prompt - - Model->>FocusServer: Submit feedback as Persona B - FocusServer->>State: Store feedback, identify focus areas - FocusServer-->>Model: Return updated state highlighting focus areas - - Model->>FocusServer: Submit deep-dive analysis on specific focus area - FocusServer->>State: Store analysis, update focus area tracker - FocusServer-->>Model: Return updated state - - Model->>FocusServer: Submit synthesis of all feedback - FocusServer->>State: Store synthesis, update key findings - FocusServer-->>Model: Return updated state - - Model->>FocusServer: Generate prioritized recommendations - FocusServer->>State: Store recommendations with multi-perspective justification - FocusServer-->>Model: Return final focus group output -``` - -## Key Features - -### 1. Multi-Persona Simulation - -The server enables creation and management of diverse LLM user personas: -- **User types**: Different LLM user profiles (novice, expert, enterprise, developer) -- **Usage scenarios**: Typical use cases for each user type -- **Expectations and priorities**: What each user type values most -- **Constraints**: Limitations each user type operates under -- **Communication styles**: Consistent voice for each persona - -### 2. Structured Evaluation Process - -The server guides a systematic evaluation process: -- **Introduction**: Framing the server's purpose and target audience -- **Initial impressions**: First reactions from different user types -- **Deep-dive**: Detailed exploration of specific aspects -- **Synthesis**: Integrating diverse feedback -- **Recommendations**: Generating actionable improvements -- **Prioritization**: Ranking recommendations by impact and effort - -### 3. Focus Area Analysis - -The server provides mechanisms for targeted evaluation: -- **Focus area tracking**: Explicitly documenting server aspects needing attention -- **Impact assessment**: Evaluating how issues affect different user types -- **Resolution tracking**: Methods for addressing identified issues -- **Suggestion management**: Tracking improvement ideas - -### 4. Feedback Categorization - -The server classifies feedback to make it more actionable: -- **Praise**: Positive aspects worth preserving or expanding -- **Confusion**: Areas that are unclear or counterintuitive -- **Suggestion**: Ideas for improvements -- **Usability**: How the server feels to use -- **Feature**: New capabilities to consider -- **Bug**: Problems that need fixing -- **Summary**: High-level observations - -### 5. Visual Representation - -The server visualizes the focus group process: -- Persona profiles showing diverse user perspectives -- Feedback streams showing reactions by feedback type -- Focus area analyses highlighting priorities -- Strength/weakness assessments showing consensus views - -## Usage Examples - -### New Server Evaluation -When developing a new MCP server, use the focus group server to simulate how different LLM users would experience your API design and functionality. - -### Server Refinement -For existing servers, use the focus group server to identify pain points and opportunities for improvement across different user types. - -### Competitive Analysis -Compare multiple server approaches by running separate focus groups and analyzing which designs work best for which user types. - -### Documentation Improvement -Identify gaps in documentation by examining where confusion arises among different user personas. - -## Implementation Notes - -The server is implemented using TypeScript with: -- A core FocusGroupServer class -- Persona management system -- Feedback and focus area tracking -- Visualization capabilities for the evaluation process -- Standard MCP server connection via stdin/stdout - -This server enhances the development process for MCP servers by providing diverse user perspectives, structured feedback, and actionable recommendations, allowing for more user-centered design and improved usability. - -## Example Persona Types - -Here are some example persona types to consider including in your focus groups: - -1. **Novice LLM**: New to using tools, learning how to integrate external capabilities -2. **Expert LLM**: Sophisticated in tool use, needs efficient APIs -3. **Enterprise LLM**: Concerned with security, reliability, and scale -4. **Developer-focused LLM**: Building applications integrating with tools -5. **Specialized-domain LLM**: Focused on specific industry needs -6. **Multi-step Reasoning LLM**: Needs tools that support complex workflows -7. **Educational LLM**: Using tools to enhance learning experiences -8. **Creative LLM**: Focused on tools for creative tasks - -## Recommended Focus Areas - -Common focus areas to analyze for MCP servers: - -1. **API Design**: Clarity, consistency, and intuitiveness of the API -2. **Documentation**: Completeness, clarity, and helpfulness -3. **Error Handling**: Quality of error messages and recovery options -4. **Performance**: Speed and efficiency of operations -5. **Flexibility**: Adaptability to different use cases -6. **Integration**: Ease of incorporating into workflows -7. **Input/Output Format**: Clarity and usefulness of data formats -8. **Feedback Mechanisms**: How the server communicates its state and results \ No newline at end of file diff --git a/src/focus-group/index.ts b/src/focus-group/index.ts deleted file mode 100644 index 6307cc5..0000000 --- a/src/focus-group/index.ts +++ /dev/null @@ -1,750 +0,0 @@ -#!/usr/bin/env node - -import { Server } from "@modelcontextprotocol/sdk/server/index.js"; -import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio.js"; -import { - CallToolRequestSchema, - ListToolsRequestSchema, - Tool, -} from "@modelcontextprotocol/sdk/types.js"; -import chalk from 'chalk'; - -// Types -interface FocusGroupPersona { - id: string; - name: string; - userType: string; // e.g., novice, expert, enterprise, developer - usageScenario: string; // typical use case scenario - expectations: string[]; - priorities: string[]; - constraints: string[]; - communication: { - style: string; - tone: string; - }; -} - -interface Feedback { - personaId: string; - content: string; - type: "praise" | "confusion" | "suggestion" | "usability" | "feature" | "bug" | "summary"; - targetComponent?: string; // which aspect of the server this feedback relates to - severity: number; // 0.0-1.0, how important this feedback is - referenceIds?: string[]; // IDs of previous feedback this builds upon -} - -interface FocusAreaAnalysis { - area: string; // e.g., "API Design", "Documentation", "Error Handling" - findings: Array<{ - personaId: string; - finding: string; - impact: string; - suggestion?: string; - }>; - resolution?: { - type: "implemented" | "considered" | "rejected" | "deferred"; - description: string; - }; -} - -interface FocusGroupData { - // Core focus group components - targetServer: string; // The MCP server being analyzed - personas: FocusGroupPersona[]; - feedback: Feedback[]; - focusAreaAnalyses?: FocusAreaAnalysis[]; - - // Process structure - stage: "introduction" | "initial-impressions" | "deep-dive" | "synthesis" | "recommendations" | "prioritization"; - activePersonaId: string; - nextPersonaId?: string; - - // Analysis output - keyStrengths?: string[]; - keyWeaknesses?: string[]; - topRecommendations?: string[]; - unanimousPoints?: string[]; - - // Process metadata - sessionId: string; - iteration: number; - - // Next steps - nextFeedbackNeeded: boolean; - suggestedFeedbackTypes?: string[]; - suggestedFocusArea?: string; -} - -class FocusGroupServer { - private personaRegistry: Record> = {}; - private feedbackHistory: Record = {}; - private focusAreaTracker: Record = {}; - private sessionHistory: Record = {}; - - private validateFocusGroupData(input: unknown): FocusGroupData { - const data = input as Record; - - // Validate required fields - if (!data.targetServer || typeof data.targetServer !== 'string') { - throw new Error('Invalid targetServer: must be a string'); - } - - if (!Array.isArray(data.personas)) { - throw new Error('Invalid personas: must be an array'); - } - - if (!Array.isArray(data.feedback)) { - throw new Error('Invalid feedback: must be an array'); - } - - if (!data.stage || typeof data.stage !== 'string') { - throw new Error('Invalid stage: must be a string'); - } - - if (!data.activePersonaId || typeof data.activePersonaId !== 'string') { - throw new Error('Invalid activePersonaId: must be a string'); - } - - if (!data.sessionId || typeof data.sessionId !== 'string') { - throw new Error('Invalid sessionId: must be a string'); - } - - if (typeof data.iteration !== 'number' || data.iteration < 0) { - throw new Error('Invalid iteration: must be a non-negative number'); - } - - if (typeof data.nextFeedbackNeeded !== 'boolean') { - throw new Error('Invalid nextFeedbackNeeded: must be a boolean'); - } - - // TODO: Add detailed validation for personas, feedback, and focusAreaAnalyses - // similar to the collaborative-reasoning server - - // For now, return the data with minimal validation - return data as unknown as FocusGroupData; - } - - private updateRegistries(data: FocusGroupData): void { - const sessionId = data.sessionId; - - // Update persona registry - if (!this.personaRegistry[sessionId]) { - this.personaRegistry[sessionId] = {}; - } - - for (const persona of data.personas) { - this.personaRegistry[sessionId][persona.id] = persona; - } - - // Update feedback history - if (!this.feedbackHistory[sessionId]) { - this.feedbackHistory[sessionId] = []; - } - - for (const feedback of data.feedback) { - // Only add new feedback - const exists = this.feedbackHistory[sessionId].some( - f => f.personaId === feedback.personaId && f.content === feedback.content - ); - - if (!exists) { - this.feedbackHistory[sessionId].push(feedback); - } - } - - // Update focus area tracker - if (data.focusAreaAnalyses && data.focusAreaAnalyses.length > 0) { - if (!this.focusAreaTracker[sessionId]) { - this.focusAreaTracker[sessionId] = []; - } - - for (const analysis of data.focusAreaAnalyses) { - // Check if this focus area already exists - const existingIndex = this.focusAreaTracker[sessionId].findIndex( - a => a.area === analysis.area - ); - - if (existingIndex >= 0) { - // Update existing analysis - this.focusAreaTracker[sessionId][existingIndex] = analysis; - } else { - // Add new analysis - this.focusAreaTracker[sessionId].push(analysis); - } - } - } - } - - private updateSessionHistory(data: FocusGroupData): void { - let historyEntry = this.sessionHistory[data.sessionId]; - if (!historyEntry) { - historyEntry = []; - this.sessionHistory[data.sessionId] = historyEntry; - } - - historyEntry.push(data); - this.updateRegistries(data); - } - - private selectNextPersona(data: FocusGroupData): string { - // If nextPersonaId is already set, use it - if (data.nextPersonaId) { - return data.nextPersonaId; - } - - // Otherwise, select the next persona in rotation - if (!data.personas || data.personas.length === 0) { - throw new Error("Cannot determine next persona: No personas defined in session."); - } - - const personaIds = data.personas.map(p => p.id); - const currentIndex = personaIds.indexOf(data.activePersonaId); - // If active persona not found (shouldn't happen ideally), default to first - const nextIndex = currentIndex === -1 ? 0 : (currentIndex + 1) % personaIds.length; - - return personaIds[nextIndex]; - } - - private getPersonaColor(index: number): (text: string) => string { - const colors = [ - chalk.blue, - chalk.green, - chalk.yellow, - chalk.magenta, - chalk.cyan, - chalk.red - ]; - - return colors[index % colors.length]; - } - - private getFeedbackTypeColor(type: string): (text: string) => string { - switch (type) { - case 'praise': return chalk.green; - case 'confusion': return chalk.yellow; - case 'suggestion': return chalk.blue; - case 'usability': return chalk.magenta; - case 'feature': return chalk.cyan; - case 'bug': return chalk.red; - case 'summary': return chalk.white; - default: return chalk.white; - } - } - - private getSeverityBar(severity: number): string { - const barLength = 20; - const filledLength = Math.round(severity * barLength); - const emptyLength = barLength - filledLength; - - let bar = '['; - - // Choose color based on severity level - let color: (text: string) => string; - if (severity >= 0.8) { - color = chalk.red; - } else if (severity >= 0.5) { - color = chalk.yellow; - } else { - color = chalk.green; - } - - bar += color('='.repeat(filledLength)); - bar += ' '.repeat(emptyLength); - bar += `] ${(severity * 100).toFixed(0)}%`; - - return bar; - } - - private visualizeFocusGroup(data: FocusGroupData): string { - let output = `\n${chalk.bold(`FOCUS GROUP: ${data.targetServer}`)} (ID: ${data.sessionId})\n\n`; - - // Stage and iteration - output += `${chalk.cyan('Stage:')} ${data.stage}\n`; - output += `${chalk.cyan('Iteration:')} ${data.iteration}\n\n`; - - // Personas - output += `${chalk.bold('PERSONAS:')}\n`; - for (let i = 0; i < data.personas.length; i++) { - const persona = data.personas[i]; - const color = this.getPersonaColor(i); - - output += `${color(`${persona.name} (${persona.id})`)}\n`; - output += ` User Type: ${persona.userType}\n`; - output += ` Scenario: ${persona.usageScenario}\n`; - output += ` Priorities: ${persona.priorities.join(', ')}\n`; - - // Highlight active persona - if (persona.id === data.activePersonaId) { - output += ` ${chalk.bgGreen(chalk.black(' ACTIVE '))}\n`; - } - - output += '\n'; - } - - // Feedback - if (data.feedback.length > 0) { - output += `${chalk.bold('FEEDBACK:')}\n\n`; - - for (const feedback of data.feedback) { - // Find persona - const persona = data.personas.find(p => p.id === feedback.personaId); - if (!persona) continue; - - // Get persona color - const personaIndex = data.personas.findIndex(p => p.id === feedback.personaId); - const personaColor = this.getPersonaColor(personaIndex); - - // Get feedback type color - const typeColor = this.getFeedbackTypeColor(feedback.type); - - output += `${personaColor(`[${persona.name}]`)} ${typeColor(`[${feedback.type}]`)}${ - feedback.targetComponent ? ` on ${feedback.targetComponent}` : '' - }\n`; - output += `${feedback.content}\n`; - output += `Severity: ${this.getSeverityBar(feedback.severity)}\n`; - - if (feedback.referenceIds && feedback.referenceIds.length > 0) { - output += `References: ${feedback.referenceIds.join(', ')}\n`; - } - - output += '\n'; - } - } - - // Focus Area Analyses - if (data.focusAreaAnalyses && data.focusAreaAnalyses.length > 0) { - output += `${chalk.bold('FOCUS AREA ANALYSES:')}\n\n`; - - for (const analysis of data.focusAreaAnalyses) { - output += `${chalk.cyan('Area:')} ${analysis.area}\n\n`; - - for (const finding of analysis.findings) { - // Find persona - const persona = data.personas.find(p => p.id === finding.personaId); - if (!persona) continue; - - // Get persona color - const personaIndex = data.personas.findIndex(p => p.id === finding.personaId); - const personaColor = this.getPersonaColor(personaIndex); - - output += `${personaColor(`[${persona.name}]`)} Finding: ${finding.finding}\n`; - output += ` Impact: ${finding.impact}\n`; - if (finding.suggestion) { - output += ` Suggestion: ${finding.suggestion}\n`; - } - output += '\n'; - } - - if (analysis.resolution) { - output += `${chalk.green('Resolution:')} ${analysis.resolution.type}\n`; - output += `${analysis.resolution.description}\n\n`; - } else { - output += `${chalk.yellow('Status:')} Unresolved\n\n`; - } - } - } - - // Analysis output - if (data.keyStrengths && data.keyStrengths.length > 0) { - output += `${chalk.bold('KEY STRENGTHS:')}\n`; - for (const strength of data.keyStrengths) { - output += ` - ${strength}\n`; - } - output += '\n'; - } - - if (data.keyWeaknesses && data.keyWeaknesses.length > 0) { - output += `${chalk.bold('KEY WEAKNESSES:')}\n`; - for (const weakness of data.keyWeaknesses) { - output += ` - ${weakness}\n`; - } - output += '\n'; - } - - if (data.topRecommendations && data.topRecommendations.length > 0) { - output += `${chalk.bold('TOP RECOMMENDATIONS:')}\n`; - for (const recommendation of data.topRecommendations) { - output += ` - ${recommendation}\n`; - } - output += '\n'; - } - - if (data.unanimousPoints && data.unanimousPoints.length > 0) { - output += `${chalk.bold('UNANIMOUS POINTS:')}\n`; - for (const point of data.unanimousPoints) { - output += ` - ${point}\n`; - } - output += '\n'; - } - - // Next steps - if (data.nextFeedbackNeeded) { - const nextPersonaId = this.selectNextPersona(data); - const nextPersona = data.personas.find(p => p.id === nextPersonaId); - - if (nextPersona) { - output += `${chalk.blue('NEXT FEEDBACK:')}\n`; - output += ` Next persona: ${nextPersona.name}\n`; - - if (data.suggestedFeedbackTypes && data.suggestedFeedbackTypes.length > 0) { - output += ` Suggested feedback types: ${data.suggestedFeedbackTypes.join(', ')}\n`; - } - - if (data.suggestedFocusArea) { - output += ` Suggested focus area: ${data.suggestedFocusArea}\n`; - } - } - } - - return output; - } - - public processFocusGroup(input: unknown): { content: Array<{ type: string; text: string }>; isError?: boolean } { - try { - const validatedInput = this.validateFocusGroupData(input); - - // Update the next persona if not specified - if (!validatedInput.nextPersonaId && validatedInput.nextFeedbackNeeded) { - validatedInput.nextPersonaId = this.selectNextPersona(validatedInput); - } - - // Update session state - this.updateSessionHistory(validatedInput); - - // Generate visualization - const visualization = this.visualizeFocusGroup(validatedInput); - console.error(visualization); - - // Return the focus group result - return { - content: [{ - type: "text", - text: JSON.stringify({ - sessionId: validatedInput.sessionId, - targetServer: validatedInput.targetServer, - stage: validatedInput.stage, - iteration: validatedInput.iteration, - personaCount: validatedInput.personas.length, - feedbackCount: validatedInput.feedback.length, - focusAreaCount: validatedInput.focusAreaAnalyses?.length || 0, - activePersonaId: validatedInput.activePersonaId, - nextPersonaId: validatedInput.nextPersonaId, - nextFeedbackNeeded: validatedInput.nextFeedbackNeeded, - suggestedFeedbackTypes: validatedInput.suggestedFeedbackTypes, - suggestedFocusArea: validatedInput.suggestedFocusArea - }, null, 2) - }] - }; - } catch (error) { - return { - content: [{ - type: "text", - text: JSON.stringify({ - error: error instanceof Error ? error.message : String(error), - status: 'failed' - }, null, 2) - }], - isError: true - }; - } - } -} - -const FOCUS_GROUP_TOOL: Tool = { - name: "focusGroup", - description: `A specialized tool for conducting LLM-based focus groups to evaluate MCP servers. -This tool helps models analyze MCP servers from multiple user perspectives. -It provides a framework for structured evaluation, feedback collection, and recommendation generation. - -When to use this tool: -- When evaluating a new or updated MCP server -- To identify usability issues from different LLM user perspectives -- To gather diverse feedback on API design and functionality -- To prioritize improvements based on user needs -- When seeking to understand how different types of users might interact with your MCP server - -Key features: -- Multi-persona simulation of different LLM users -- Structured feedback collection process -- Focus area analysis for targeted improvements -- Synthesis of findings across user types -- Actionable recommendation generation`, - - inputSchema: { - type: "object", - properties: { - targetServer: { - type: "string", - description: "The name of the MCP server being evaluated" - }, - personas: { - type: "array", - description: "The user personas participating in the focus group", - items: { - type: "object", - properties: { - id: { - type: "string", - description: "Unique identifier for the persona" - }, - name: { - type: "string", - description: "Name of the persona" - }, - userType: { - type: "string", - description: "Type of LLM user (e.g., novice, expert, enterprise, developer)" - }, - usageScenario: { - type: "string", - description: "Typical use case scenario for this user type" - }, - expectations: { - type: "array", - description: "What this user expects from an MCP server", - items: { - type: "string" - } - }, - priorities: { - type: "array", - description: "What aspects of the server are most important to this user", - items: { - type: "string" - } - }, - constraints: { - type: "array", - description: "Limitations or constraints this user operates under", - items: { - type: "string" - } - }, - communication: { - type: "object", - description: "Communication style of the persona", - properties: { - style: { - type: "string", - description: "Communication style (e.g., direct, analytical, narrative)" - }, - tone: { - type: "string", - description: "Tone of communication (e.g., formal, casual, enthusiastic)" - } - }, - required: ["style", "tone"] - } - }, - required: ["id", "name", "userType", "usageScenario", "expectations", "priorities", "constraints", "communication"] - } - }, - feedback: { - type: "array", - description: "Feedback from the personas", - items: { - type: "object", - properties: { - personaId: { - type: "string", - description: "ID of the providing persona" - }, - content: { - type: "string", - description: "Content of the feedback" - }, - type: { - type: "string", - enum: ["praise", "confusion", "suggestion", "usability", "feature", "bug", "summary"], - description: "Type of feedback" - }, - targetComponent: { - type: "string", - description: "The component or aspect of the server this feedback relates to" - }, - severity: { - type: "number", - minimum: 0, - maximum: 1, - description: "Severity or importance of this feedback (0.0-1.0)" - }, - referenceIds: { - type: "array", - description: "IDs of previous feedback this builds upon", - items: { - type: "string" - } - } - }, - required: ["personaId", "content", "type", "severity"] - } - }, - focusAreaAnalyses: { - type: "array", - description: "Analysis of specific focus areas", - items: { - type: "object", - properties: { - area: { - type: "string", - description: "Focus area being analyzed" - }, - findings: { - type: "array", - description: "Findings about this focus area", - items: { - type: "object", - properties: { - personaId: { - type: "string", - description: "ID of the persona making this finding" - }, - finding: { - type: "string", - description: "Description of the finding" - }, - impact: { - type: "string", - description: "Impact of this finding on users" - }, - suggestion: { - type: "string", - description: "Suggested improvement" - } - }, - required: ["personaId", "finding", "impact"] - } - }, - resolution: { - type: "object", - description: "Resolution of the findings, if any", - properties: { - type: { - type: "string", - enum: ["implemented", "considered", "rejected", "deferred"], - description: "Type of resolution" - }, - description: { - type: "string", - description: "Description of the resolution" - } - }, - required: ["type", "description"] - } - }, - required: ["area", "findings"] - } - }, - stage: { - type: "string", - enum: ["introduction", "initial-impressions", "deep-dive", "synthesis", "recommendations", "prioritization"], - description: "Current stage of the focus group process" - }, - activePersonaId: { - type: "string", - description: "ID of the currently active persona" - }, - nextPersonaId: { - type: "string", - description: "ID of the persona that should provide feedback next" - }, - keyStrengths: { - type: "array", - description: "Key strengths identified in the server", - items: { - type: "string" - } - }, - keyWeaknesses: { - type: "array", - description: "Key weaknesses or pain points identified", - items: { - type: "string" - } - }, - topRecommendations: { - type: "array", - description: "Top recommendations for improvement", - items: { - type: "string" - } - }, - unanimousPoints: { - type: "array", - description: "Points on which all personas agree", - items: { - type: "string" - } - }, - sessionId: { - type: "string", - description: "Unique identifier for this focus group session" - }, - iteration: { - type: "number", - minimum: 0, - description: "Current iteration of the focus group" - }, - nextFeedbackNeeded: { - type: "boolean", - description: "Whether another round of feedback is needed" - }, - suggestedFeedbackTypes: { - type: "array", - description: "Suggested types for the next feedback", - items: { - type: "string", - enum: ["praise", "confusion", "suggestion", "usability", "feature", "bug", "summary"] - } - }, - suggestedFocusArea: { - type: "string", - description: "Suggested focus area for the next round of feedback" - } - }, - required: ["targetServer", "personas", "feedback", "stage", "activePersonaId", "sessionId", "iteration", "nextFeedbackNeeded"] - } -}; - -const server = new Server( - { - name: "focus-group-server", - version: "0.1.0", - }, - { - capabilities: { - tools: {}, - }, - } -); - -const focusGroupServer = new FocusGroupServer(); - -server.setRequestHandler(ListToolsRequestSchema, async () => ({ - tools: [FOCUS_GROUP_TOOL], -})); - -server.setRequestHandler(CallToolRequestSchema, async (request) => { - if (request.params.name === "focusGroup") { - return focusGroupServer.processFocusGroup(request.params.arguments); - } - - return { - content: [{ - type: "text", - text: `Unknown tool: ${request.params.name}` - }], - isError: true - }; -}); - -async function runServer() { - const transport = new StdioServerTransport(); - await server.connect(transport); - console.error("Focus Group MCP Server running on stdio"); -} - -runServer().catch((error) => { - console.error("Fatal error running server:", error); - process.exit(1); -}); \ No newline at end of file diff --git a/src/focus-group/package.json b/src/focus-group/package.json deleted file mode 100644 index d14a0d8..0000000 --- a/src/focus-group/package.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "name": "focus-group-server", - "version": "0.1.0", - "description": "MCP server for LLM focus groups to analyze and critique other MCP servers", - "main": "index.js", - "type": "module", - "scripts": { - "build": "tsc", - "start": "node dist/index.js", - "prepare": "tsc", - "watch": "tsc -w" - }, - "keywords": [ - "mcp", - "focus-group", - "server-analysis", - "llm-evaluation" - ], - "dependencies": { - "@modelcontextprotocol/sdk": "^1.0.6", - "chalk": "^5.2.0" - }, - "devDependencies": { - "typescript": "^5.0.2", - "@types/node": "^18.15.5" - } -} diff --git a/src/focus-group/smithery.yaml b/src/focus-group/smithery.yaml deleted file mode 100644 index 3eaaa9d..0000000 --- a/src/focus-group/smithery.yaml +++ /dev/null @@ -1,61 +0,0 @@ -schema: 1 -name: focus-group -version: 0.1.0 -description: MCP server for LLM focus groups to analyze and critique other MCP servers -license: MIT -repository: https://github.com/your-username/focus-group-server -tools: - - name: focusGroup - description: A specialized tool for conducting LLM-based focus groups to evaluate MCP servers - type: custom - inputSchema: - type: object - properties: - targetServer: - type: string - description: The name of the MCP server being evaluated - personas: - type: array - description: The user personas participating in the focus group - items: - type: object - feedback: - type: array - description: Feedback from the personas - items: - type: object - stage: - type: string - enum: - - introduction - - initial-impressions - - deep-dive - - synthesis - - recommendations - - prioritization - description: Current stage of the focus group process - activePersonaId: - type: string - description: ID of the currently active persona - sessionId: - type: string - description: Unique identifier for this focus group session - iteration: - type: number - description: Current iteration of the focus group - nextFeedbackNeeded: - type: boolean - description: Whether another round of feedback is needed - required: - - targetServer - - personas - - feedback - - stage - - activePersonaId - - sessionId - - iteration - - nextFeedbackNeeded -mcp: - server: - type: stdio - path: dist/index.js \ No newline at end of file diff --git a/src/focus-group/tsconfig.json b/src/focus-group/tsconfig.json deleted file mode 100644 index e9fe16c..0000000 --- a/src/focus-group/tsconfig.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "compilerOptions": { - "target": "ES2020", - "module": "NodeNext", - "moduleResolution": "NodeNext", - "esModuleInterop": true, - "strict": true, - "skipLibCheck": true, - "outDir": "dist", - "sourceMap": true, - "declaration": true, - "declarationMap": true - }, - "include": [ - "*.ts" - ], - "exclude": [ - "node_modules", - "dist" - ] -} diff --git a/src/transaction-manager/Dockerfile b/src/transaction-manager/Dockerfile deleted file mode 100644 index 3697149..0000000 --- a/src/transaction-manager/Dockerfile +++ /dev/null @@ -1,36 +0,0 @@ -FROM node:20-alpine AS build - -WORKDIR /app - -# Copy root package.json for workspace context during install -COPY package.json ./ - -# Copy server-specific files needed for install/build -COPY src/transaction-manager/package.json ./src/transaction-manager/ -COPY src/transaction-manager/tsconfig.json ./src/transaction-manager/ -COPY src/transaction-manager/*.ts ./src/transaction-manager/ - -# Install dependencies (needs root package.json) -RUN npm install - -# Copy root tsconfig.json *just before* build command needs it -COPY tsconfig.json ./ - -# Build the server (needs root tsconfig.json) -RUN npm run build --workspace=@waldzellai/transaction-manager - -FROM node:20-alpine AS runtime - -WORKDIR /app - -# Copy built artifacts and package information -COPY --from=build /app/src/transaction-manager/dist ./dist -COPY --from=build /app/src/transaction-manager/package.json ./ - -ENV NODE_ENV=production - -# Install only production dependencies -RUN npm ci --omit=dev --ignore-scripts - -# Set up entrypoint -ENTRYPOINT ["node", "dist/index.js"] diff --git a/src/transaction-manager/README.md b/src/transaction-manager/README.md deleted file mode 100644 index bb9288d..0000000 --- a/src/transaction-manager/README.md +++ /dev/null @@ -1,208 +0,0 @@ -# Transaction MCP Server - -## Motivation - -Language models fundamentally operate on text, which limits their ability to reason through problems that humans typically solve using spatial, diagrammatic, or visual thinking. Current models struggle with: - -1. Maintaining and manipulating complex spatial relationships -2. Visualizing multi-step transformations or processes -3. Creating and updating visual representations of abstract concepts -4. Reasoning about systems with many interconnected components -5. Identifying patterns that are obvious in visual form but obscure in text - -The Visual Reasoning Server provides models with the ability to create, manipulate, and reason with explicit visual representations. By externalizing visual thinking, models can solve complex problems that benefit from diagrammatic reasoning, much like how mathematical notation extends human calculation abilities beyond plain text. - -## Technical Specification - -### Tool Interface - -```typescript -interface VisualElement { - id: string; - type: "node" | "edge" | "container" | "annotation"; - label?: string; - properties: { - [key: string]: any; // Position, size, color, etc. - }; - // For edges - source?: string; // ID of source element - target?: string; // ID of target element - // For containers - contains?: string[]; // IDs of contained elements -} - -interface VisualOperationData { - // Operation details - operation: "create" | "update" | "delete" | "transform" | "observe"; - elements?: VisualElement[]; - transformationType?: "rotate" | "move" | "resize" | "recolor" | "regroup"; - - // Visual diagram metadata - diagramId: string; - diagramType: "graph" | "flowchart" | "stateDiagram" | "conceptMap" | "treeDiagram" | "custom"; - iteration: number; - - // Reasoning about the diagram - observation?: string; - insight?: string; - hypothesis?: string; - - // Next steps - nextOperationNeeded: boolean; -} -``` - -### Process Flow - -```mermaid -sequenceDiagram - participant Model - participant VisServer as Visual Reasoning Server - participant State as Visual State - - Model->>VisServer: Create initial nodes (operation=create) - VisServer->>State: Initialize visual representation - VisServer-->>Model: Return visual rendering + state - - Model->>VisServer: Add connections (operation=create, type=edge) - VisServer->>State: Update with new edges - VisServer-->>Model: Return updated visual + state - - Model->>VisServer: Group related elements (operation=transform, type=regroup) - VisServer->>State: Update with new grouping - VisServer-->>Model: Return updated visual + state - - Model->>VisServer: Make observation about pattern (operation=observe) - VisServer->>State: Record observation with current state - VisServer-->>Model: Return visual with observation - - Model->>VisServer: Update based on insight (operation=update) - VisServer->>State: Modify visual elements - VisServer-->>Model: Return final visual + state -``` - -## Key Features - -### 1. Multi-Modal Representation System - -The server supports different visual representation types: -- **Graphs**: For relationship networks and connection patterns -- **Flowcharts**: For processes and sequential operations -- **State Diagrams**: For system states and transitions -- **Concept Maps**: For knowledge organization and relationships -- **Tree Diagrams**: For hierarchical structures - -### 2. Abstract Visual Element Manipulation - -Models can manipulate visual elements through operations: -- **Create**: Add new elements to the visual space -- **Update**: Modify existing elements -- **Delete**: Remove elements -- **Transform**: Apply operations to multiple elements (regrouping, restructuring) -- **Observe**: Make and record observations about visual patterns - -### 3. Iterative Refinement - -The server tracks iteration history, allowing models to: -- See how their visual representation evolved -- Revert to previous states if needed -- Compare different visualization approaches - -### 4. Visual-Verbal Integration - -The server enables bidirectional translation between: -- Verbal descriptions and visual representations -- Visual patterns and verbal insights -- Diagrammatic reasoning and textual conclusions - -### 5. Visual Output - -The server provides multiple representations: -- ASCII art for terminal-based visualization -- SVG or DOT format for more complex diagrams -- Textual descriptions of the visual state for accessibility - -## Usage Examples - -### System Architecture Design -Models can create and manipulate component diagrams showing data flow, dependencies, and interactions between system components. - -### Algorithm Visualization -When designing or explaining algorithms, models can create flowcharts, state diagrams, or visual traces of execution. - -### Concept Mapping -For organizing complex domains of knowledge, models can create and refine concept maps showing relationships between ideas. - -### Pattern Recognition -When analyzing data, models can create visual representations to identify patterns that might be difficult to detect in text. - -## Implementation - -The server is implemented using TypeScript with: -- A core VisualReasoningServer class -- A flexible visual element representation system -- Multiple rendering backends (ASCII, SVG, DOT) -- State history tracking for iterative refinement -- Standard MCP server connection via stdin/stdout - -The implementation leverages existing graph visualization libraries (like Graphviz for DOT output or custom ASCII art generation) to provide rich visual feedback within the constraints of text-based interfaces. - -This server significantly enhances model capabilities for domains where visual or spatial thinking provides a natural advantage over purely textual reasoning. - -## Tool - -### visualReasoning - -Facilitates visual thinking through creating and manipulating diagram elements. - -## Configuration - -### Usage with Claude Desktop - -Add this to your `claude_desktop_config.json`: - -#### npx - -```json -{ - "mcpServers": { - "visual-reasoning": { - "command": "npx", - "args": [ - "-y", - "@waldzellai/visual-reasoning" - ] - } - } -} -``` - -#### docker - -```json -{ - "mcpServers": { - "visual-reasoning": { - "command": "docker", - "args": [ - "run", - "--rm", - "-i", - "cognitive-enhancement-mcp/visual-reasoning" - ] - } - } -} -``` - -## Building - -Docker: - -```bash -docker build -t cognitive-enhancement-mcp/visual-reasoning -f packages/visual-reasoning/Dockerfile . -``` - -## License - -This MCP server is licensed under the MIT License. \ No newline at end of file diff --git a/src/transaction-manager/dist/index.d.ts b/src/transaction-manager/dist/index.d.ts deleted file mode 100644 index b798801..0000000 --- a/src/transaction-manager/dist/index.d.ts +++ /dev/null @@ -1,2 +0,0 @@ -#!/usr/bin/env node -export {}; diff --git a/src/transaction-manager/dist/index.js b/src/transaction-manager/dist/index.js deleted file mode 100755 index 2f0d960..0000000 --- a/src/transaction-manager/dist/index.js +++ /dev/null @@ -1,25 +0,0 @@ -#!/usr/bin/env node -import yargs from 'yargs'; -import { hideBin } from 'yargs/helpers'; -import { runServer } from './server.js'; -const argv = yargs(hideBin(process.argv)) - .option('port', { - alias: 'p', - type: 'number', - description: 'Port number for the server to listen on', - default: 3000, // Default port -}) - .option('verbose', { - alias: 'v', - type: 'boolean', - description: 'Run with verbose logging', - default: false, -}) - .help() - .alias('help', 'h') - .parseSync(); -runServer().catch((error) => { - console.error('Failed to start server:', error); - process.exit(1); -}); -//# sourceMappingURL=index.js.map \ No newline at end of file diff --git a/src/transaction-manager/dist/index.js.map b/src/transaction-manager/dist/index.js.map deleted file mode 100644 index 89a0939..0000000 --- a/src/transaction-manager/dist/index.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"index.js","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":";AAEA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AACxC,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAExC,MAAM,IAAI,GAAG,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;KACtC,MAAM,CAAC,MAAM,EAAE;IACd,KAAK,EAAE,GAAG;IACV,IAAI,EAAE,QAAQ;IACd,WAAW,EAAE,yCAAyC;IACtD,OAAO,EAAE,IAAI,EAAE,eAAe;CAC/B,CAAC;KACD,MAAM,CAAC,SAAS,EAAE;IACjB,KAAK,EAAE,GAAG;IACV,IAAI,EAAE,SAAS;IACf,WAAW,EAAE,0BAA0B;IACvC,OAAO,EAAE,KAAK;CACf,CAAC;KACD,IAAI,EAAE;KACN,KAAK,CAAC,MAAM,EAAE,GAAG,CAAC;KAClB,SAAS,EAAE,CAAC;AAEf,SAAS,EAAE,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;IACxB,OAAO,CAAC,KAAK,CAAC,yBAAyB,EAAE,KAAK,CAAC,CAAC;IAChD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AACpB,CAAC,CAAC,CAAC"} \ No newline at end of file diff --git a/src/transaction-manager/dist/lib/redis-helper.d.ts b/src/transaction-manager/dist/lib/redis-helper.d.ts deleted file mode 100644 index 6e2f103..0000000 --- a/src/transaction-manager/dist/lib/redis-helper.d.ts +++ /dev/null @@ -1,21 +0,0 @@ -import { Redis } from 'ioredis'; -export declare const redisClient: Redis; -/** - * Set a key with a value and an expiry time (TTL) in seconds. - * Handles JSON serialization. - */ -export declare function setWithTTL(key: string, value: unknown, ttlSeconds: number): Promise; -/** - * Get the value of a key. Handles JSON deserialization. - * Returns null if key doesn't exist or on error. - */ -export declare function get(key: string): Promise; -/** - * Delete a key. - * Returns the number of keys deleted (0 or 1). - */ -export declare function del(key: string): Promise; -/** - * Set the expiry time (TTL) in seconds for an existing key. - */ -export declare function expire(key: string, ttlSeconds: number): Promise; diff --git a/src/transaction-manager/dist/lib/redis-helper.js b/src/transaction-manager/dist/lib/redis-helper.js deleted file mode 100644 index 335cac4..0000000 --- a/src/transaction-manager/dist/lib/redis-helper.js +++ /dev/null @@ -1,111 +0,0 @@ -import { Redis } from 'ioredis'; -import chalk from 'chalk'; -const REDIS_URL = process.env.REDIS_URL; -if (!REDIS_URL) { - console.error(chalk.red('Error: REDIS_URL environment variable is not set.')); - process.exit(1); -} -const redisOptions = { - maxRetriesPerRequest: 3, - enableReadyCheck: true, - retryStrategy(times) { - const delay = Math.min(times * 50, 2000); // Exponential backoff capped at 2s - console.warn(chalk.yellow(`Redis connection lost. Retrying in ${delay}ms... (Attempt ${times})`)); - return delay; - }, -}; -export const redisClient = new Redis(REDIS_URL, redisOptions); -redisClient.on('connect', () => { - console.log(chalk.green('Connected to Redis server.')); -}); -redisClient.on('ready', () => { - console.log(chalk.cyan('Redis client is ready.')); -}); -redisClient.on('error', (err) => { - console.error(chalk.red('Redis client error:'), err); - // Depending on the error, you might want to implement more specific handling - // For critical errors (like auth failure), you might want to exit. - // if (err.message.includes('AUTH')) { process.exit(1); } -}); -redisClient.on('close', () => { - console.log(chalk.magenta('Redis connection closed.')); -}); -redisClient.on('reconnecting', (timeToReconnect) => { - console.log(chalk.yellow(`Redis reconnecting in ${timeToReconnect}ms...`)); -}); -redisClient.on('end', () => { - console.log(chalk.gray('Redis client connection has ended. (No more reconnections will be attempted)')); -}); -// Wrapper functions for common operations with error handling -/** - * Set a key with a value and an expiry time (TTL) in seconds. - * Handles JSON serialization. - */ -export async function setWithTTL(key, value, ttlSeconds) { - try { - const serializedValue = JSON.stringify(value); - const result = await redisClient.set(key, serializedValue, 'EX', ttlSeconds); - return result === 'OK'; - } - catch (error) { // Catch Redis errors and serialization errors - console.error(chalk.red(`Error setting key ${key} with TTL ${ttlSeconds}s:`), error); - return false; - } -} -/** - * Get the value of a key. Handles JSON deserialization. - * Returns null if key doesn't exist or on error. - */ -export async function get(key) { - try { - const result = await redisClient.get(key); - if (result === null) { - return null; // Key doesn't exist or expired - } - return JSON.parse(result); - } - catch (error) { // Catch Redis errors and deserialization errors - console.error(chalk.red(`Error getting key ${key}:`), error); - return null; - } -} -/** - * Delete a key. - * Returns the number of keys deleted (0 or 1). - */ -export async function del(key) { - try { - return await redisClient.del(key); - } - catch (error) { - console.error(chalk.red(`Error deleting key ${key}:`), error); - return 0; // Indicate failure - } -} -/** - * Set the expiry time (TTL) in seconds for an existing key. - */ -export async function expire(key, ttlSeconds) { - try { - const result = await redisClient.expire(key, ttlSeconds); - return result === 1; - } - catch (error) { - console.error(chalk.red(`Error setting expiry for key ${key}:`), error); - return false; - } -} -// Graceful shutdown -process.on('SIGINT', async () => { - console.log(chalk.blue('\nGracefully shutting down Redis client...')); - await redisClient.quit(); - console.log(chalk.blue('Redis client disconnected.')); - process.exit(0); -}); -process.on('SIGTERM', async () => { - console.log(chalk.blue('Received SIGTERM. Gracefully shutting down Redis client...')); - await redisClient.quit(); - console.log(chalk.blue('Redis client disconnected.')); - process.exit(0); -}); -//# sourceMappingURL=redis-helper.js.map \ No newline at end of file diff --git a/src/transaction-manager/dist/lib/redis-helper.js.map b/src/transaction-manager/dist/lib/redis-helper.js.map deleted file mode 100644 index 62d3f0b..0000000 --- a/src/transaction-manager/dist/lib/redis-helper.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"redis-helper.js","sourceRoot":"","sources":["../../lib/redis-helper.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/src/transaction-manager/dist/server.d.ts b/src/transaction-manager/dist/server.d.ts deleted file mode 100644 index 0608796..0000000 --- a/src/transaction-manager/dist/server.d.ts +++ /dev/null @@ -1,9 +0,0 @@ -export type TxnAction = 'start' | 'resume' | 'close'; -export type TxnResponse = { - status: 'pending' | 'complete' | 'closed' | 'error'; - token: string; - payload?: unknown; - expiresAt?: string | null; - error?: string; -}; -export declare function runServer(): Promise; diff --git a/src/transaction-manager/dist/server.js b/src/transaction-manager/dist/server.js deleted file mode 100755 index ee8d2a1..0000000 --- a/src/transaction-manager/dist/server.js +++ /dev/null @@ -1,159 +0,0 @@ -import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js"; -import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio.js"; -import { McpError, ErrorCode } from "@modelcontextprotocol/sdk/types.js"; -import { z } from 'zod'; -import chalk from 'chalk'; -import { v4 as uuidv4 } from 'uuid'; -import { setWithTTL, get, del, expire } from './lib/redis-helper.js'; -// -- Zod Schema for Input Validation -- -const TxnRequestSchema = z.object({ - action: z.enum(['start', 'resume', 'close']), - token: z.string().optional(), - payload: z.any().optional(), // Keep as any for flexibility - ttlSeconds: z.number().int().positive().optional(), -}); -// -- Constants (unchanged) -- -const DEFAULT_TTL_SECONDS = 3600; // 1 hour -const MAX_TTL_SECONDS = 86400; // 24 hours -const TOKEN_PREFIX = 'txn:'; -// -- Helper Functions (unchanged) -- -function generateToken() { - return TOKEN_PREFIX + uuidv4(); -} -function calculateExpiry(ttlSeconds) { - return new Date(Date.now() + ttlSeconds * 1000).toISOString(); -} -// -- Main Handler Logic (Refactored) -- -async function handleTransactionCallback(args) { - const { action, token: requestToken, payload, ttlSeconds: requestTtl } = args; - let effectiveTtl = Math.min(requestTtl ?? DEFAULT_TTL_SECONDS, MAX_TTL_SECONDS); - if (effectiveTtl <= 0) - effectiveTtl = DEFAULT_TTL_SECONDS; - try { - let responsePayload; - switch (action) { - case 'start': { - // Validation (moved from generic handler) - if (requestToken) { - throw new McpError(ErrorCode.InvalidParams, 'Token should not be provided for the "start" action.'); - } - const newToken = generateToken(); - const setResult = await setWithTTL(newToken, payload ?? {}, effectiveTtl); - if (!setResult) - throw new Error('Failed to set initial state in Redis.'); - responsePayload = { - status: 'pending', - token: newToken, - payload: payload ?? {}, - expiresAt: calculateExpiry(effectiveTtl), - }; - break; - } - case 'resume': { - if (!requestToken) { - // This validation is technically covered by McpServer if schema requires it, - // but explicit check remains useful if schema makes token optional. - throw new McpError(ErrorCode.InvalidParams, 'Token is required for the "resume" action.'); - } - const currentPayload = await get(requestToken); - if (currentPayload === null) { - throw new McpError(ErrorCode.InvalidParams, `Transaction token "${requestToken}" not found or expired.`); - } - let finalPayload = currentPayload; - if (payload !== undefined) { - await setWithTTL(requestToken, payload, effectiveTtl); - finalPayload = payload; - } - else { - await expire(requestToken, effectiveTtl); - } - responsePayload = { - status: 'pending', - token: requestToken, - payload: finalPayload, - expiresAt: calculateExpiry(effectiveTtl), - }; - break; - } - case 'close': { - if (!requestToken) { - throw new McpError(ErrorCode.InvalidParams, 'Token is required for the "close" action.'); - } - const deleteResult = await del(requestToken); - if (deleteResult === 0) { - console.warn(chalk.yellow(`Attempted to close non-existent or already closed token: ${requestToken}`)); - } - responsePayload = { - status: 'closed', - token: requestToken, - payload: undefined, - expiresAt: null, - }; - break; - } - // No default needed as zod schema handles invalid actions - } - // Return successful result - return { - content: [{ type: 'text', text: JSON.stringify(responsePayload) }] - }; - } - catch (error) { - console.error(chalk.red('Error handling transaction:'), error); - // Return error result - const errorPayload = { - status: 'error', - token: requestToken ?? 'unknown', - error: error instanceof McpError ? error.message : (error.message || 'An unexpected server error occurred.'), - expiresAt: null, - }; - const errorMessage = errorPayload.error; - return { - content: [{ - type: 'text', - text: JSON.stringify(errorPayload) - }, { - type: 'text', // Also include plain text error - text: errorMessage ?? 'Unknown error' // Ensure text is always string - }], - isError: true, - }; - } -} -// -- Server Initialization (Refactored) -- -export async function runServer() { - const mcpServer = new McpServer({ - name: 'transaction-manager', - version: '0.1.1', // Updated version - }); - // Register the single tool - mcpServer.tool("transaction", "Manages simple stateful transactions (start, resume, close)", TxnRequestSchema.shape, // Pass the shape for Zod validation - handleTransactionCallback); - // Connect using stdio - const transport = new StdioServerTransport(); - try { - await mcpServer.connect(transport); - console.error(chalk.green('Transaction Manager MCP Server running on stdio.')); // Use console.error for logs - } - catch (error) { - console.error(chalk.red('Failed to connect Transaction Manager server:'), error); - process.exit(1); - } -} -// Optional: Add main execution block if this file is run directly -// Example using yargs (ensure yargs is installed and imported) -/* -import yargs from 'yargs'; -import { hideBin } from 'yargs/helpers'; - -if (require.main === module) { // Check if running as main script - const argv = yargs(hideBin(process.argv)) - .parseSync(); - - runServer().catch((error) => { - console.error(chalk.red("Fatal error running server:"), error); - process.exit(1); - }); -} -*/ -//# sourceMappingURL=server.js.map \ No newline at end of file diff --git a/src/transaction-manager/dist/server.js.map b/src/transaction-manager/dist/server.js.map deleted file mode 100644 index 1ad76d7..0000000 --- a/src/transaction-manager/dist/server.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"server.js","sourceRoot":"","sources":["../server.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/src/transaction-manager/index.ts b/src/transaction-manager/index.ts deleted file mode 100644 index a8552b8..0000000 --- a/src/transaction-manager/index.ts +++ /dev/null @@ -1,27 +0,0 @@ -#!/usr/bin/env node - -import yargs from 'yargs'; -import { hideBin } from 'yargs/helpers'; -import { runServer } from './server.js'; - -const argv = yargs(hideBin(process.argv)) - .option('port', { - alias: 'p', - type: 'number', - description: 'Port number for the server to listen on', - default: 3000, // Default port - }) - .option('verbose', { - alias: 'v', - type: 'boolean', - description: 'Run with verbose logging', - default: false, - }) - .help() - .alias('help', 'h') - .parseSync(); - -runServer().catch((error) => { - console.error('Failed to start server:', error); - process.exit(1); -}); diff --git a/src/transaction-manager/lib/redis-helper.ts b/src/transaction-manager/lib/redis-helper.ts deleted file mode 100644 index 8b15d8c..0000000 --- a/src/transaction-manager/lib/redis-helper.ts +++ /dev/null @@ -1,123 +0,0 @@ -import { Redis, RedisOptions } from 'ioredis'; -import chalk from 'chalk'; - -const REDIS_URL = process.env.REDIS_URL; - -if (!REDIS_URL) { - console.error(chalk.red('Error: REDIS_URL environment variable is not set.')); - process.exit(1); -} - -const redisOptions: RedisOptions = { - maxRetriesPerRequest: 3, - enableReadyCheck: true, - retryStrategy(times: number): number | null { - const delay = Math.min(times * 50, 2000); // Exponential backoff capped at 2s - console.warn(chalk.yellow(`Redis connection lost. Retrying in ${delay}ms... (Attempt ${times})`)); - return delay; - }, -}; - -export const redisClient = new Redis(REDIS_URL, redisOptions); - -redisClient.on('connect', () => { - console.log(chalk.green('Connected to Redis server.')); -}); - -redisClient.on('ready', () => { - console.log(chalk.cyan('Redis client is ready.')); -}); - -redisClient.on('error', (err: Error) => { - console.error(chalk.red('Redis client error:'), err); - // Depending on the error, you might want to implement more specific handling - // For critical errors (like auth failure), you might want to exit. - // if (err.message.includes('AUTH')) { process.exit(1); } -}); - -redisClient.on('close', () => { - console.log(chalk.magenta('Redis connection closed.')); -}); - -redisClient.on('reconnecting', (timeToReconnect: number) => { - console.log(chalk.yellow(`Redis reconnecting in ${timeToReconnect}ms...`)); -}); - -redisClient.on('end', () => { - console.log(chalk.gray('Redis client connection has ended. (No more reconnections will be attempted)')); -}); - -// Wrapper functions for common operations with error handling - -/** - * Set a key with a value and an expiry time (TTL) in seconds. - * Handles JSON serialization. - */ -export async function setWithTTL(key: string, value: unknown, ttlSeconds: number): Promise { - try { - const serializedValue = JSON.stringify(value); - const result = await redisClient.set(key, serializedValue, 'EX', ttlSeconds); - return result === 'OK'; - } catch (error) { // Catch Redis errors and serialization errors - console.error(chalk.red(`Error setting key ${key} with TTL ${ttlSeconds}s:`), error); - return false; - } -} - -/** - * Get the value of a key. Handles JSON deserialization. - * Returns null if key doesn't exist or on error. - */ -export async function get(key: string): Promise { - try { - const result = await redisClient.get(key); - if (result === null) { - return null; // Key doesn't exist or expired - } - return JSON.parse(result); - } catch (error) { // Catch Redis errors and deserialization errors - console.error(chalk.red(`Error getting key ${key}:`), error); - return null; - } -} - -/** - * Delete a key. - * Returns the number of keys deleted (0 or 1). - */ -export async function del(key: string): Promise { - try { - return await redisClient.del(key); - } catch (error) { - console.error(chalk.red(`Error deleting key ${key}:`), error); - return 0; // Indicate failure - } -} - -/** - * Set the expiry time (TTL) in seconds for an existing key. - */ -export async function expire(key: string, ttlSeconds: number): Promise { - try { - const result = await redisClient.expire(key, ttlSeconds); - return result === 1; - } catch (error) { - console.error(chalk.red(`Error setting expiry for key ${key}:`), error); - return false; - } -} - -// Graceful shutdown -process.on('SIGINT', async () => { - console.log(chalk.blue('\nGracefully shutting down Redis client...')); - await redisClient.quit(); - console.log(chalk.blue('Redis client disconnected.')); - process.exit(0); -}); - -process.on('SIGTERM', async () => { - console.log(chalk.blue('Received SIGTERM. Gracefully shutting down Redis client...')); - await redisClient.quit(); - console.log(chalk.blue('Redis client disconnected.')); - process.exit(0); -}); diff --git a/src/transaction-manager/package.json b/src/transaction-manager/package.json deleted file mode 100644 index 36d12ff..0000000 --- a/src/transaction-manager/package.json +++ /dev/null @@ -1,49 +0,0 @@ -{ - "name": "@waldzellai/transaction-manager", - "version": "0.1.0", - "description": "MCP meta-server for managing stateful interactions via transaction tokens", - "license": "MIT", - "type": "module", - "repository": { - "type": "git", - "url": "https://github.com/waldzellai/model-enhancement-servers.git", - "directory": "src/transaction-manager" - }, - "publishConfig": { - "access": "public" - }, - "homepage": "https://github.com/waldzellai/model-enhancement-servers/tree/main/src/transaction-manager", - "author": "glassBead", - "keywords": [ - "mcp", - "model-context-protocol", - "transaction-manager", - "stateful", - "redis" - ], - "bin": { - "mcp-server-transaction-manager": "dist/index.js" - }, - "files": [ - "dist" - ], - "scripts": { - "build": "tsc && shx chmod +x dist/*.js", - "watch": "tsc --watch" - }, - "dependencies": { - "@modelcontextprotocol/sdk": "^1.10.2", - "chalk": "^5.3.0", - "ioredis": "^5.4.1", - "redis-server": "^1.2.2", - "uuid": "^9.0.1", - "yargs": "^17.7.2" - }, - "devDependencies": { - "@types/node": "^22", - "@types/uuid": "^9.0.8", - "@types/yargs": "^17.0.32", - "shx": "^0.3.4", - "typescript": "^5.3.3" - } -} diff --git a/src/transaction-manager/server.ts b/src/transaction-manager/server.ts deleted file mode 100644 index 38a4adf..0000000 --- a/src/transaction-manager/server.ts +++ /dev/null @@ -1,196 +0,0 @@ -import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js"; -import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio.js"; -import { CallToolResult, McpError, ErrorCode } from "@modelcontextprotocol/sdk/types.js"; -import { z } from 'zod'; -import chalk from 'chalk'; -import { v4 as uuidv4 } from 'uuid'; -import { redisClient, setWithTTL, get, del, expire } from './lib/redis-helper.js'; - -// -- Zod Schema for Input Validation -- -const TxnRequestSchema = z.object({ - action: z.enum(['start', 'resume', 'close']), - token: z.string().optional(), - payload: z.any().optional(), // Keep as any for flexibility - ttlSeconds: z.number().int().positive().optional(), -}); - -// Infer the type from the Zod schema -type TxnRequestArgs = z.infer; - -// -- Types for Response Payload (unchanged) -- - -export type TxnAction = 'start' | 'resume' | 'close'; // Keep for clarity if used elsewhere - -export type TxnResponse = { - status: 'pending' | 'complete' | 'closed' | 'error'; - token: string; - payload?: unknown; - expiresAt?: string | null; - error?: string; -}; - -// -- Constants (unchanged) -- - -const DEFAULT_TTL_SECONDS = 3600; // 1 hour -const MAX_TTL_SECONDS = 86400; // 24 hours -const TOKEN_PREFIX = 'txn:'; - -// -- Helper Functions (unchanged) -- - -function generateToken(): string { - return TOKEN_PREFIX + uuidv4(); -} - -function calculateExpiry(ttlSeconds: number): string { - return new Date(Date.now() + ttlSeconds * 1000).toISOString(); -} - -// -- Main Handler Logic (Refactored) -- - -async function handleTransactionCallback(args: TxnRequestArgs): Promise { - const { action, token: requestToken, payload, ttlSeconds: requestTtl } = args; - let effectiveTtl = Math.min(requestTtl ?? DEFAULT_TTL_SECONDS, MAX_TTL_SECONDS); - if (effectiveTtl <= 0) effectiveTtl = DEFAULT_TTL_SECONDS; - - try { - let responsePayload: TxnResponse; - - switch (action) { - case 'start': { - // Validation (moved from generic handler) - if (requestToken) { - throw new McpError(ErrorCode.InvalidParams, 'Token should not be provided for the "start" action.'); - } - const newToken = generateToken(); - const setResult = await setWithTTL(newToken, payload ?? {}, effectiveTtl); - if (!setResult) throw new Error('Failed to set initial state in Redis.'); - responsePayload = { - status: 'pending', - token: newToken, - payload: payload ?? {}, - expiresAt: calculateExpiry(effectiveTtl), - }; - break; - } - - case 'resume': { - if (!requestToken) { - // This validation is technically covered by McpServer if schema requires it, - // but explicit check remains useful if schema makes token optional. - throw new McpError(ErrorCode.InvalidParams, 'Token is required for the "resume" action.'); - } - const currentPayload = await get(requestToken); - if (currentPayload === null) { - throw new McpError(ErrorCode.InvalidParams, `Transaction token "${requestToken}" not found or expired.`); - } - - let finalPayload = currentPayload; - if (payload !== undefined) { - await setWithTTL(requestToken, payload, effectiveTtl); - finalPayload = payload; - } else { - await expire(requestToken, effectiveTtl); - } - - responsePayload = { - status: 'pending', - token: requestToken, - payload: finalPayload, - expiresAt: calculateExpiry(effectiveTtl), - }; - break; - } - - case 'close': { - if (!requestToken) { - throw new McpError(ErrorCode.InvalidParams, 'Token is required for the "close" action.'); - } - const deleteResult = await del(requestToken); - if (deleteResult === 0) { - console.warn(chalk.yellow(`Attempted to close non-existent or already closed token: ${requestToken}`)); - } - responsePayload = { - status: 'closed', - token: requestToken, - payload: undefined, - expiresAt: null, - }; - break; - } - - // No default needed as zod schema handles invalid actions - } - - // Return successful result - return { - content: [{ type: 'text', text: JSON.stringify(responsePayload) }] - }; - - } catch (error: any) { - console.error(chalk.red('Error handling transaction:'), error); - // Return error result - const errorPayload: TxnResponse = { - status: 'error', - token: requestToken ?? 'unknown', - error: error instanceof McpError ? error.message : (error.message || 'An unexpected server error occurred.'), - expiresAt: null, - }; - const errorMessage = errorPayload.error; - return { - content: [{ - type: 'text', - text: JSON.stringify(errorPayload) - }, { - type: 'text', // Also include plain text error - text: errorMessage ?? 'Unknown error' // Ensure text is always string - }], - isError: true, - }; - } -} - -// -- Server Initialization (Refactored) -- - -export async function runServer(): Promise { - const mcpServer = new McpServer( - { - name: 'transaction-manager', - version: '0.1.1', // Updated version - } - ); - - // Register the single tool - mcpServer.tool( - "transaction", - "Manages simple stateful transactions (start, resume, close)", - TxnRequestSchema.shape, // Pass the shape for Zod validation - handleTransactionCallback - ); - - // Connect using stdio - const transport = new StdioServerTransport(); - try { - await mcpServer.connect(transport); - console.error(chalk.green('Transaction Manager MCP Server running on stdio.')); // Use console.error for logs - } catch (error) { - console.error(chalk.red('Failed to connect Transaction Manager server:'), error); - process.exit(1); - } -} - -// Optional: Add main execution block if this file is run directly -// Example using yargs (ensure yargs is installed and imported) -/* -import yargs from 'yargs'; -import { hideBin } from 'yargs/helpers'; - -if (require.main === module) { // Check if running as main script - const argv = yargs(hideBin(process.argv)) - .parseSync(); - - runServer().catch((error) => { - console.error(chalk.red("Fatal error running server:"), error); - process.exit(1); - }); -} -*/ diff --git a/src/transaction-manager/tsconfig.json b/src/transaction-manager/tsconfig.json deleted file mode 100644 index 4f34a90..0000000 --- a/src/transaction-manager/tsconfig.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "extends": "../../tsconfig.json", - "compilerOptions": { - "baseUrl": "../..", - "paths": { - "@modelcontextprotocol/sdk": [ - "node_modules/@modelcontextprotocol/sdk/dist/index.d.ts" - ], - "@modelcontextprotocol/sdk/*": [ - "node_modules/@modelcontextprotocol/sdk/dist/*" - ] - }, - // "moduleResolution": "Node", // Removed override - "outDir": "./dist", - "rootDir": ".", - "skipLibCheck": true - }, - "include": [ - "index.ts", - "server.ts", - "lib/**/*.ts" - ], - "exclude": [ - "node_modules", - "dist" - ] -} diff --git a/ulysses-protocol-walkthrough.md b/ulysses-protocol-walkthrough.md new file mode 100644 index 0000000..c426e31 --- /dev/null +++ b/ulysses-protocol-walkthrough.md @@ -0,0 +1,38 @@ +### Ulysses Protocol walkthrough + +State Step 0 + + - Make a plan for State Step 1 and State Step 2 + - Set an expectation for each state step's outcomes + - if State Step 1 goes how we expect, the codebase state we would expect is...[] + - if State Step 1 does not go how we expect, and we move to Step 2, the codebase state we would expect is...[] + +State Step 1 + + - Put SS1 plan into action --> + - Evaluate our outcome + - if State Step 1 outcome == expectation --> SS1 = SS0 + - if State Step 1 outcome != expectation --> SS2 + +State Step 2 + + - Put SS2 plan into action --> + - Evaluate our outcome + - if SS2 outcome == expectation --> SS2 = SS0 + - if SS2 outcome != expectation --> PAUSE -> ORIGINAL SS0 + +PAUSE + + - CONSIDERATION (reasoning about why our outcomes did not match expectation) + - theorize about why previous turn of 2 steps was not successful + - add an entry to state documenting the 2 steps that did not work + - make a new plan for State Step 1 and State Step 2 + - if State Step 1 goes how we expect, the codebase state we would expect is...[] + - if State Step 1 does not go how we expect, and we move to Step 2, the codebase state we would expect is...[] + +CHECKPOINTS + + - are spots in the stepwise Ulysses workflow that human user/agent infer are good places to come back to if failure happens later in the workflow. + - example: after a full subtask is completed, after a stubborn bug is overcome, etc. + - these are stored in JSON state object + - agent/user can come back to these points at any time if a PAUSE is reached \ No newline at end of file